@gbmtech/aurora-ui 0.2.31 → 0.2.32
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components\\autocomplete.cjs","sources":["webpack://@gbmtech/aurora-ui/./src/components/autocomplete.tsx"],"sourcesContent":["import { cn } from '@/lib'\nimport { Check } from '@phosphor-icons/react'\nimport { Command as CommandPrimitive } from 'cmdk'\nimport { type KeyboardEvent, useCallback, useRef, useState } from 'react'\nimport { CommandGroup, CommandInput, CommandItem, CommandList } from './command'\nimport { Skeleton } from './skeleton'\n\ntype Option = Record<'value' | 'label', string> & Record<string, string>\n\ntype AutoCompleteProps = {\n options: Option[]\n emptyMessage: string\n value?: Option\n onValueChange?: (value: Option) => void\n isLoading?: boolean\n disabled?: boolean\n placeholder?: string\n}\n\nfunction AutoComplete({\n options,\n placeholder,\n emptyMessage,\n value,\n onValueChange,\n disabled,\n isLoading = false,\n}: AutoCompleteProps) {\n const inputRef = useRef<HTMLInputElement>(null)\n\n const [isOpen, setOpen] = useState(false)\n const [selected, setSelected] = useState<Option>(value as Option)\n const [inputValue, setInputValue] = useState<string>(value?.label || '')\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n const input = inputRef.current\n if (!input) {\n return\n }\n\n // Keep the options displayed when the user is typing\n if (!isOpen) {\n setOpen(true)\n }\n\n // This is not a default behaviour of the <input /> field\n if (event.key === 'Enter' && input.value !== '') {\n const optionToSelect = options.find(\n option => option.label === input.value\n )\n if (optionToSelect) {\n setSelected(optionToSelect)\n onValueChange?.(optionToSelect)\n }\n }\n\n if (event.key === 'Escape') {\n input.blur()\n }\n },\n [isOpen, options, onValueChange]\n )\n\n const handleBlur = useCallback(() => {\n setOpen(false)\n setInputValue(selected?.label)\n }, [selected])\n\n const handleSelectOption = useCallback(\n (selectedOption: Option) => {\n setInputValue(selectedOption.label)\n\n setSelected(selectedOption)\n onValueChange?.(selectedOption)\n\n // This is a hack to prevent the input from being focused after the user selects an option\n // We can call this hack: \"The next tick\"\n setTimeout(() => {\n inputRef?.current?.blur()\n }, 0)\n },\n [onValueChange]\n )\n\n return (\n <CommandPrimitive onKeyDown={handleKeyDown}>\n <div>\n <CommandInput\n ref={inputRef}\n value={inputValue}\n onValueChange={isLoading ? undefined : setInputValue}\n onBlur={handleBlur}\n onFocus={() => setOpen(true)}\n placeholder={placeholder}\n disabled={disabled}\n className=\"text-base\"\n />\n </div>\n <div className=\"relative mt-1\">\n <div\n className={cn(\n 'fade-in-0 zoom-in-95 absolute top-0 z-10 w-full animate-in rounded-xl bg-white outline-none',\n isOpen ? 'block' : 'hidden'\n )}\n >\n <CommandList className=\"rounded-md ring-1 ring-gray-200\">\n {isLoading ? (\n <CommandPrimitive.Loading>\n <div className=\"p-1\">\n <Skeleton className=\"h-8 w-full\" />\n </div>\n </CommandPrimitive.Loading>\n ) : null}\n {options.length > 0 && !isLoading ? (\n <CommandGroup>\n {options.map(option => {\n const isSelected = selected?.value === option.value\n return (\n <CommandItem\n key={option.value}\n value={option.label}\n onMouseDown={event => {\n event.preventDefault()\n event.stopPropagation()\n }}\n onSelect={() => handleSelectOption(option)}\n className={cn(\n 'flex w-full items-center gap-2',\n !isSelected ? 'pl-8' : null\n )}\n >\n {isSelected ? <Check className=\"w-4\" /> : null}\n {option.label}\n </CommandItem>\n )\n })}\n </CommandGroup>\n ) : null}\n {!isLoading ? (\n <CommandPrimitive.Empty className=\"select-none rounded-sm px-2 py-3 text-center text-sm\">\n {emptyMessage}\n </CommandPrimitive.Empty>\n ) : null}\n </CommandList>\n </div>\n </div>\n </CommandPrimitive>\n )\n}\n\nexport { AutoComplete }\n"],"names":["AutoComplete","options","placeholder","emptyMessage","value","onValueChange","disabled","isLoading","inputRef","useRef","isOpen","setOpen","useState","selected","setSelected","inputValue","setInputValue","handleKeyDown","useCallback","event","input","optionToSelect","option","handleBlur","handleSelectOption","selectedOption","setTimeout","CommandPrimitive","CommandInput","undefined","cn","CommandList","Skeleton","CommandGroup","isSelected","CommandItem","Check"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"components\\autocomplete.cjs","sources":["webpack://@gbmtech/aurora-ui/./src/components/autocomplete.tsx"],"sourcesContent":["import { cn } from '@/lib'\nimport { Check } from '@phosphor-icons/react'\nimport { Command as CommandPrimitive } from 'cmdk'\nimport { type KeyboardEvent, useCallback, useRef, useState } from 'react'\nimport { CommandGroup, CommandInput, CommandItem, CommandList } from './command'\nimport { Skeleton } from './skeleton'\n\ntype Option = Record<'value' | 'label', string> & Record<string, string>\n\ntype AutoCompleteProps = {\n options: Option[]\n emptyMessage: string\n value?: Option\n onValueChange?: (value: Option) => void\n isLoading?: boolean\n disabled?: boolean\n placeholder?: string\n}\n\nfunction AutoComplete({\n options,\n placeholder,\n emptyMessage,\n value,\n onValueChange,\n disabled,\n isLoading = false,\n}: AutoCompleteProps) {\n const inputRef = useRef<HTMLInputElement>(null)\n\n const [isOpen, setOpen] = useState(false)\n const [selected, setSelected] = useState<Option>(value as Option)\n const [inputValue, setInputValue] = useState<string>(value?.label || '')\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n const input = inputRef.current\n if (!input) {\n return\n }\n\n // Keep the options displayed when the user is typing\n if (!isOpen) {\n setOpen(true)\n }\n\n // This is not a default behaviour of the <input /> field\n if (event.key === 'Enter' && input.value !== '') {\n const optionToSelect = options.find(\n option => option.label === input.value\n )\n if (optionToSelect) {\n setSelected(optionToSelect)\n onValueChange?.(optionToSelect)\n }\n }\n\n if (event.key === 'Escape') {\n input.blur()\n }\n },\n [isOpen, options, onValueChange]\n )\n\n const handleBlur = useCallback(() => {\n setOpen(false)\n setInputValue(selected?.label)\n }, [selected])\n\n const handleSelectOption = useCallback(\n (selectedOption: Option) => {\n setInputValue(selectedOption.label)\n\n setSelected(selectedOption)\n onValueChange?.(selectedOption)\n\n // This is a hack to prevent the input from being focused after the user selects an option\n // We can call this hack: \"The next tick\"\n setTimeout(() => {\n inputRef?.current?.blur()\n }, 0)\n },\n [onValueChange]\n )\n\n return (\n <CommandPrimitive onKeyDown={handleKeyDown}>\n <div>\n <CommandInput\n ref={inputRef}\n value={inputValue}\n onValueChange={isLoading ? undefined : setInputValue}\n onBlur={handleBlur}\n onFocus={() => setOpen(true)}\n placeholder={placeholder}\n disabled={disabled}\n className=\"text-base\"\n />\n </div>\n <div className=\"relative mt-1\">\n <div\n className={cn(\n 'fade-in-0 zoom-in-95 absolute top-0 z-10 w-full animate-in rounded-xl bg-white outline-none',\n isOpen ? 'block' : 'hidden'\n )}\n >\n <CommandList className=\"rounded-md ring-1 ring-gray-200\">\n {isLoading ? (\n <CommandPrimitive.Loading>\n <div className=\"p-1\">\n <Skeleton className=\"h-8 w-full\" />\n </div>\n </CommandPrimitive.Loading>\n ) : null}\n {options.length > 0 && !isLoading ? (\n <CommandGroup>\n {options.map(option => {\n const isSelected = selected?.value === option.value\n return (\n <CommandItem\n key={option.value}\n value={option.label}\n onMouseDown={event => {\n event.preventDefault()\n event.stopPropagation()\n }}\n onSelect={() => handleSelectOption(option)}\n className={cn(\n 'flex w-full items-center gap-2',\n !isSelected ? 'pl-8' : null\n )}\n >\n {isSelected ? <Check className=\"w-4\" /> : null}\n {option.label}\n </CommandItem>\n )\n })}\n </CommandGroup>\n ) : null}\n {!isLoading ? (\n <CommandPrimitive.Empty className=\"select-none rounded-sm px-2 py-3 text-center text-sm\">\n {emptyMessage}\n </CommandPrimitive.Empty>\n ) : null}\n </CommandList>\n </div>\n </div>\n </CommandPrimitive>\n )\n}\n\nexport { AutoComplete, type Option as AutoCompleteOption }\n"],"names":["AutoComplete","options","placeholder","emptyMessage","value","onValueChange","disabled","isLoading","inputRef","useRef","isOpen","setOpen","useState","selected","setSelected","inputValue","setInputValue","handleKeyDown","useCallback","event","input","optionToSelect","option","handleBlur","handleSelectOption","selectedOption","setTimeout","CommandPrimitive","CommandInput","undefined","cn","CommandList","Skeleton","CommandGroup","isSelected","CommandItem","Check"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";let __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_modules__={"./data-table-action-bar":function(e){e.exports=require("./data-table-action-bar.cjs")},"./data-table-advanced-toolbar":function(e){e.exports=require("./data-table-advanced-toolbar.cjs")},"./data-table-column-header":function(e){e.exports=require("./data-table-column-header.cjs")},"
|
|
1
|
+
"use strict";let __rslib_import_meta_url__="undefined"==typeof document?new(require("url".replace("",""))).URL("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("main.js",document.baseURI).href;var __webpack_modules__={"./data-table-action-bar":function(e){e.exports=require("./data-table-action-bar.cjs")},"./data-table-advanced-toolbar":function(e){e.exports=require("./data-table-advanced-toolbar.cjs")},"./data-table-column-header":function(e){e.exports=require("./data-table-column-header.cjs")},"@/components/data-table/data-table-date-filter":function(e){e.exports=require("./data-table-date-filter.cjs")},"@/components/data-table/data-table-faceted-filter":function(e){e.exports=require("./data-table-faceted-filter.cjs")},"./data-table-filter-list":function(e){e.exports=require("./data-table-filter-list.cjs")},"./data-table-filter-menu":function(e){e.exports=require("./data-table-filter-menu.cjs")},"./data-table-pagination":function(e){e.exports=require("./data-table-pagination.cjs")},"./data-table-range-filter":function(e){e.exports=require("./data-table-range-filter.cjs")},"./data-table-skeleton":function(e){e.exports=require("./data-table-skeleton.cjs")},"@/components/data-table/data-table-slider-filter":function(e){e.exports=require("./data-table-slider-filter.cjs")},"./data-table-sort-list":function(e){e.exports=require("./data-table-sort-list.cjs")},"./data-table-toolbar":function(e){e.exports=require("./data-table-toolbar.cjs")},"@/components/data-table/data-table-view-options":function(e){e.exports=require("./data-table-view-options.cjs")},"./data-table":function(e){e.exports=require("./data-table.cjs")}},__webpack_module_cache__={};function __webpack_require__(e){var _=__webpack_module_cache__[e];if(void 0!==_)return _.exports;var a=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e](a,a.exports,__webpack_require__),a.exports}__webpack_require__.n=e=>{var _=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(_,{a:_}),_},__webpack_require__.d=(e,_)=>{for(var a in _)__webpack_require__.o(_,a)&&!__webpack_require__.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:_[a]})},__webpack_require__.o=(e,_)=>Object.prototype.hasOwnProperty.call(e,_),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var __webpack_exports__={};for(var __webpack_i__ in(()=>{__webpack_require__.r(__webpack_exports__);var e=__webpack_require__("./data-table-action-bar"),_={};for(var a in e)"default"!==a&&(_[a]=(function(_){return e[_]}).bind(0,a));__webpack_require__.d(__webpack_exports__,_);var r=__webpack_require__("./data-table-advanced-toolbar"),_={};for(var a in r)"default"!==a&&(_[a]=(function(e){return r[e]}).bind(0,a));__webpack_require__.d(__webpack_exports__,_);var t=__webpack_require__("./data-table-column-header"),_={};for(var a in t)"default"!==a&&(_[a]=(function(e){return t[e]}).bind(0,a));__webpack_require__.d(__webpack_exports__,_);var i=__webpack_require__("@/components/data-table/data-table-date-filter"),_={};for(var a in i)"default"!==a&&(_[a]=(function(e){return i[e]}).bind(0,a));__webpack_require__.d(__webpack_exports__,_);var n=__webpack_require__("@/components/data-table/data-table-faceted-filter"),_={};for(var a in n)"default"!==a&&(_[a]=(function(e){return n[e]}).bind(0,a));__webpack_require__.d(__webpack_exports__,_);var o=__webpack_require__("./data-table-filter-list"),_={};for(var a in o)"default"!==a&&(_[a]=(function(e){return o[e]}).bind(0,a));__webpack_require__.d(__webpack_exports__,_);var c=__webpack_require__("./data-table-filter-menu"),_={};for(var a in c)"default"!==a&&(_[a]=(function(e){return c[e]}).bind(0,a));__webpack_require__.d(__webpack_exports__,_);var b=__webpack_require__("./data-table-pagination"),_={};for(var a in b)"default"!==a&&(_[a]=(function(e){return b[e]}).bind(0,a));__webpack_require__.d(__webpack_exports__,_);var u=__webpack_require__("./data-table-range-filter"),_={};for(var a in u)"default"!==a&&(_[a]=(function(e){return u[e]}).bind(0,a));__webpack_require__.d(__webpack_exports__,_);var d=__webpack_require__("./data-table-skeleton"),_={};for(var a in d)"default"!==a&&(_[a]=(function(e){return d[e]}).bind(0,a));__webpack_require__.d(__webpack_exports__,_);var p=__webpack_require__("@/components/data-table/data-table-slider-filter"),_={};for(var a in p)"default"!==a&&(_[a]=(function(e){return p[e]}).bind(0,a));__webpack_require__.d(__webpack_exports__,_);var l=__webpack_require__("./data-table-sort-list"),_={};for(var a in l)"default"!==a&&(_[a]=(function(e){return l[e]}).bind(0,a));__webpack_require__.d(__webpack_exports__,_);var f=__webpack_require__("./data-table-toolbar"),_={};for(var a in f)"default"!==a&&(_[a]=(function(e){return f[e]}).bind(0,a));__webpack_require__.d(__webpack_exports__,_);var s=__webpack_require__("@/components/data-table/data-table-view-options"),_={};for(var a in s)"default"!==a&&(_[a]=(function(e){return s[e]}).bind(0,a));__webpack_require__.d(__webpack_exports__,_);var w=__webpack_require__("./data-table"),_={};for(var a in w)"default"!==a&&(_[a]=(function(e){return w[e]}).bind(0,a));__webpack_require__.d(__webpack_exports__,_)})(),__webpack_exports__)exports[__webpack_i__]=__webpack_exports__[__webpack_i__];Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -9,5 +9,5 @@ type AutoCompleteProps = {
|
|
|
9
9
|
placeholder?: string;
|
|
10
10
|
};
|
|
11
11
|
declare function AutoComplete({ options, placeholder, emptyMessage, value, onValueChange, disabled, isLoading, }: AutoCompleteProps): import("react/jsx-runtime").JSX.Element;
|
|
12
|
-
export { AutoComplete };
|
|
12
|
+
export { AutoComplete, type Option as AutoCompleteOption };
|
|
13
13
|
//# sourceMappingURL=autocomplete.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autocomplete.d.ts","sourceRoot":"","sources":["../../../src/components/autocomplete.tsx"],"names":[],"mappings":"AAOA,KAAK,MAAM,GAAG,MAAM,CAAC,OAAO,GAAG,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAExE,KAAK,iBAAiB,GAAG;IACvB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,iBAAS,YAAY,CAAC,EACpB,OAAO,EACP,WAAW,EACX,YAAY,EACZ,KAAK,EACL,aAAa,EACb,QAAQ,EACR,SAAiB,GAClB,EAAE,iBAAiB,2CA0HnB;AAED,OAAO,EAAE,YAAY,EAAE,CAAA"}
|
|
1
|
+
{"version":3,"file":"autocomplete.d.ts","sourceRoot":"","sources":["../../../src/components/autocomplete.tsx"],"names":[],"mappings":"AAOA,KAAK,MAAM,GAAG,MAAM,CAAC,OAAO,GAAG,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAExE,KAAK,iBAAiB,GAAG;IACvB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,iBAAS,YAAY,CAAC,EACpB,OAAO,EACP,WAAW,EACX,YAAY,EACZ,KAAK,EACL,aAAa,EACb,QAAQ,EACR,SAAiB,GAClB,EAAE,iBAAiB,2CA0HnB;AAED,OAAO,EAAE,YAAY,EAAE,KAAK,MAAM,IAAI,kBAAkB,EAAE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components\\autocomplete.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/autocomplete.tsx"],"sourcesContent":["import { cn } from '@/lib'\nimport { Check } from '@phosphor-icons/react'\nimport { Command as CommandPrimitive } from 'cmdk'\nimport { type KeyboardEvent, useCallback, useRef, useState } from 'react'\nimport { CommandGroup, CommandInput, CommandItem, CommandList } from './command'\nimport { Skeleton } from './skeleton'\n\ntype Option = Record<'value' | 'label', string> & Record<string, string>\n\ntype AutoCompleteProps = {\n options: Option[]\n emptyMessage: string\n value?: Option\n onValueChange?: (value: Option) => void\n isLoading?: boolean\n disabled?: boolean\n placeholder?: string\n}\n\nfunction AutoComplete({\n options,\n placeholder,\n emptyMessage,\n value,\n onValueChange,\n disabled,\n isLoading = false,\n}: AutoCompleteProps) {\n const inputRef = useRef<HTMLInputElement>(null)\n\n const [isOpen, setOpen] = useState(false)\n const [selected, setSelected] = useState<Option>(value as Option)\n const [inputValue, setInputValue] = useState<string>(value?.label || '')\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n const input = inputRef.current\n if (!input) {\n return\n }\n\n // Keep the options displayed when the user is typing\n if (!isOpen) {\n setOpen(true)\n }\n\n // This is not a default behaviour of the <input /> field\n if (event.key === 'Enter' && input.value !== '') {\n const optionToSelect = options.find(\n option => option.label === input.value\n )\n if (optionToSelect) {\n setSelected(optionToSelect)\n onValueChange?.(optionToSelect)\n }\n }\n\n if (event.key === 'Escape') {\n input.blur()\n }\n },\n [isOpen, options, onValueChange]\n )\n\n const handleBlur = useCallback(() => {\n setOpen(false)\n setInputValue(selected?.label)\n }, [selected])\n\n const handleSelectOption = useCallback(\n (selectedOption: Option) => {\n setInputValue(selectedOption.label)\n\n setSelected(selectedOption)\n onValueChange?.(selectedOption)\n\n // This is a hack to prevent the input from being focused after the user selects an option\n // We can call this hack: \"The next tick\"\n setTimeout(() => {\n inputRef?.current?.blur()\n }, 0)\n },\n [onValueChange]\n )\n\n return (\n <CommandPrimitive onKeyDown={handleKeyDown}>\n <div>\n <CommandInput\n ref={inputRef}\n value={inputValue}\n onValueChange={isLoading ? undefined : setInputValue}\n onBlur={handleBlur}\n onFocus={() => setOpen(true)}\n placeholder={placeholder}\n disabled={disabled}\n className=\"text-base\"\n />\n </div>\n <div className=\"relative mt-1\">\n <div\n className={cn(\n 'fade-in-0 zoom-in-95 absolute top-0 z-10 w-full animate-in rounded-xl bg-white outline-none',\n isOpen ? 'block' : 'hidden'\n )}\n >\n <CommandList className=\"rounded-md ring-1 ring-gray-200\">\n {isLoading ? (\n <CommandPrimitive.Loading>\n <div className=\"p-1\">\n <Skeleton className=\"h-8 w-full\" />\n </div>\n </CommandPrimitive.Loading>\n ) : null}\n {options.length > 0 && !isLoading ? (\n <CommandGroup>\n {options.map(option => {\n const isSelected = selected?.value === option.value\n return (\n <CommandItem\n key={option.value}\n value={option.label}\n onMouseDown={event => {\n event.preventDefault()\n event.stopPropagation()\n }}\n onSelect={() => handleSelectOption(option)}\n className={cn(\n 'flex w-full items-center gap-2',\n !isSelected ? 'pl-8' : null\n )}\n >\n {isSelected ? <Check className=\"w-4\" /> : null}\n {option.label}\n </CommandItem>\n )\n })}\n </CommandGroup>\n ) : null}\n {!isLoading ? (\n <CommandPrimitive.Empty className=\"select-none rounded-sm px-2 py-3 text-center text-sm\">\n {emptyMessage}\n </CommandPrimitive.Empty>\n ) : null}\n </CommandList>\n </div>\n </div>\n </CommandPrimitive>\n )\n}\n\nexport { AutoComplete }\n"],"names":["AutoComplete","options","placeholder","emptyMessage","value","onValueChange","disabled","isLoading","inputRef","useRef","isOpen","setOpen","useState","selected","setSelected","inputValue","setInputValue","handleKeyDown","useCallback","event","input","optionToSelect","option","handleBlur","handleSelectOption","selectedOption","setTimeout","CommandPrimitive","CommandInput","undefined","cn","CommandList","Skeleton","CommandGroup","isSelected","CommandItem","Check"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"components\\autocomplete.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/autocomplete.tsx"],"sourcesContent":["import { cn } from '@/lib'\nimport { Check } from '@phosphor-icons/react'\nimport { Command as CommandPrimitive } from 'cmdk'\nimport { type KeyboardEvent, useCallback, useRef, useState } from 'react'\nimport { CommandGroup, CommandInput, CommandItem, CommandList } from './command'\nimport { Skeleton } from './skeleton'\n\ntype Option = Record<'value' | 'label', string> & Record<string, string>\n\ntype AutoCompleteProps = {\n options: Option[]\n emptyMessage: string\n value?: Option\n onValueChange?: (value: Option) => void\n isLoading?: boolean\n disabled?: boolean\n placeholder?: string\n}\n\nfunction AutoComplete({\n options,\n placeholder,\n emptyMessage,\n value,\n onValueChange,\n disabled,\n isLoading = false,\n}: AutoCompleteProps) {\n const inputRef = useRef<HTMLInputElement>(null)\n\n const [isOpen, setOpen] = useState(false)\n const [selected, setSelected] = useState<Option>(value as Option)\n const [inputValue, setInputValue] = useState<string>(value?.label || '')\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n const input = inputRef.current\n if (!input) {\n return\n }\n\n // Keep the options displayed when the user is typing\n if (!isOpen) {\n setOpen(true)\n }\n\n // This is not a default behaviour of the <input /> field\n if (event.key === 'Enter' && input.value !== '') {\n const optionToSelect = options.find(\n option => option.label === input.value\n )\n if (optionToSelect) {\n setSelected(optionToSelect)\n onValueChange?.(optionToSelect)\n }\n }\n\n if (event.key === 'Escape') {\n input.blur()\n }\n },\n [isOpen, options, onValueChange]\n )\n\n const handleBlur = useCallback(() => {\n setOpen(false)\n setInputValue(selected?.label)\n }, [selected])\n\n const handleSelectOption = useCallback(\n (selectedOption: Option) => {\n setInputValue(selectedOption.label)\n\n setSelected(selectedOption)\n onValueChange?.(selectedOption)\n\n // This is a hack to prevent the input from being focused after the user selects an option\n // We can call this hack: \"The next tick\"\n setTimeout(() => {\n inputRef?.current?.blur()\n }, 0)\n },\n [onValueChange]\n )\n\n return (\n <CommandPrimitive onKeyDown={handleKeyDown}>\n <div>\n <CommandInput\n ref={inputRef}\n value={inputValue}\n onValueChange={isLoading ? undefined : setInputValue}\n onBlur={handleBlur}\n onFocus={() => setOpen(true)}\n placeholder={placeholder}\n disabled={disabled}\n className=\"text-base\"\n />\n </div>\n <div className=\"relative mt-1\">\n <div\n className={cn(\n 'fade-in-0 zoom-in-95 absolute top-0 z-10 w-full animate-in rounded-xl bg-white outline-none',\n isOpen ? 'block' : 'hidden'\n )}\n >\n <CommandList className=\"rounded-md ring-1 ring-gray-200\">\n {isLoading ? (\n <CommandPrimitive.Loading>\n <div className=\"p-1\">\n <Skeleton className=\"h-8 w-full\" />\n </div>\n </CommandPrimitive.Loading>\n ) : null}\n {options.length > 0 && !isLoading ? (\n <CommandGroup>\n {options.map(option => {\n const isSelected = selected?.value === option.value\n return (\n <CommandItem\n key={option.value}\n value={option.label}\n onMouseDown={event => {\n event.preventDefault()\n event.stopPropagation()\n }}\n onSelect={() => handleSelectOption(option)}\n className={cn(\n 'flex w-full items-center gap-2',\n !isSelected ? 'pl-8' : null\n )}\n >\n {isSelected ? <Check className=\"w-4\" /> : null}\n {option.label}\n </CommandItem>\n )\n })}\n </CommandGroup>\n ) : null}\n {!isLoading ? (\n <CommandPrimitive.Empty className=\"select-none rounded-sm px-2 py-3 text-center text-sm\">\n {emptyMessage}\n </CommandPrimitive.Empty>\n ) : null}\n </CommandList>\n </div>\n </div>\n </CommandPrimitive>\n )\n}\n\nexport { AutoComplete, type Option as AutoCompleteOption }\n"],"names":["AutoComplete","options","placeholder","emptyMessage","value","onValueChange","disabled","isLoading","inputRef","useRef","isOpen","setOpen","useState","selected","setSelected","inputValue","setInputValue","handleKeyDown","useCallback","event","input","optionToSelect","option","handleBlur","handleSelectOption","selectedOption","setTimeout","CommandPrimitive","CommandInput","undefined","cn","CommandList","Skeleton","CommandGroup","isSelected","CommandItem","Check"],"mappings":"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"}
|