@activecollab/components 2.0.500 → 2.0.502
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/ComboBox/ComboBox.js +2 -0
- package/dist/cjs/components/ComboBox/ComboBox.js.map +1 -1
- package/dist/cjs/components/Window/Window.js +19 -0
- package/dist/cjs/components/Window/Window.js.map +1 -1
- package/dist/esm/components/ComboBox/ComboBox.d.ts.map +1 -1
- package/dist/esm/components/ComboBox/ComboBox.js +2 -0
- package/dist/esm/components/ComboBox/ComboBox.js.map +1 -1
- package/dist/esm/components/Window/Window.d.ts.map +1 -1
- package/dist/esm/components/Window/Window.js +18 -1
- package/dist/esm/components/Window/Window.js.map +1 -1
- package/dist/index.js +21 -0
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboBox.js","names":["React","useCallback","useState","useEffect","useRef","useMemo","Fragment","RemoveScroll","classNames","StyledComboBoxCloseSmallIcon","StyledComboBoxCollapseExpandSingleIcon","StyledComboBoxInput","StyledComboBoxList","StyledChipWrapper","StyledInfoIcon","StyledInfoSmallIcon","Portal","useLayerContext","ConditionalWrapper","useIsFirstRender","useOnClickOutside","useForkRef","Autocomplete","isOptionGroup","Avatar","Checkbox","Chip","IconButton","InputAdornment","StyledInput","StyledInputWrapper","SpinnerLoader","MultiAvatar","Popper","RadioButton","OptionContent","Tooltip","Trigger","Typography","sizeMap","small","regular","big","biggest","ComboBox","_ref","_comboBoxRef$current2","_comboBoxRef$current3","_ref$options","options","selected","_ref$keepFilterOnClos","keepFilterOnClose","_ref$loading","loading","loadingText","onChange","onInputChange","placeholder","handleEmptyAction","_ref$disabled","disabled","_ref$size","size","_ref$invalid","invalid","_ref$type","type","renderChip","_ref$forceCloseMenu","forceCloseMenu","renderOption","_ref$limitChips","limitChips","hiddenNumberText","_ref$inPortal","inPortal","inputWrapperClassName","listWidth","_ref$listPlacement","listPlacement","scrollWrapper","onClose","onClear","onDeselect","defaultValue","_ref$open","open","defaultOpen","onOpen","triggerMode","noResultText","emptyValue","disableVirtualization","_ref$hideClearButton","hideClearButton","clearButtonLabel","errorMessage","onCancel","prop","_objectWithoutPropertiesLoose","_excluded","selectedName","value","map","v","find","q","id","name","_useState","setValue","_useState2","focused","setFocused","handleOnChange","e","target","childNode","elementRef","handleRef","wrapperRef","chipWrapper","comboBoxRef","_useLayerContext","_useLayerContext$zInd","zIndex","_useState3","setOpen","isFirstRender","_comboBoxRef$current","current","contains","handleOnKeyDown","key","stopPropagation","emptyAction","handleChange","selectedValue","handleOpen","handleRenderOption","option","props","createElement","imageUrl","image","color","textColor","handleDeselect","handleMouseDown","preventDefault","handleBlur","_wrapperRef$current","relatedTarget","renderChipAdornment","index","avatarProps","startAdornment","_StyledAvatar","_extends","url","$_css","$_css2","undefined","Array","isArray","includes","newSelected","filter","item","showOnClose","className","label","backgroundColor","chipColor","autoSize","length","elements","total","forEach","isGrouped","push","groupedOptions","o","_index","hidden","splice","_StyledTypography","variant","optionItem","child","avatarSize","showXIcon","hasSelected","showMenu","hasOptions","valueExists","toString","isValueInOptions","some","_StyledStyledInputWrapper","$disabled","$size","$invalid","ref","$mode","onClick","_elementRef$current","click","$_css3","$_css4","_StyledStyledChipWrapper","$autoSize","$open","$_css5","onBlur","onFocus","matches","_error","onKeyDown","$loading","style","display","flex","alignSelf","width","_StyledTrigger","onMouseDown","tabIndex","title","wrapperClick","mode","wrapRef","endAdornment","disablePointerEvents","condition","wrap","children","anchorEl","placement","clientWidth","strategy","noIsolation","allowPinchZoom","$width","$hide","inputEl","displayName","_styled","_templateObject","_taggedTemplateLiteralLoose","p","_styled2","_templateObject2","_styled3","_templateObject3","_styled4","_templateObject4","_styled5","withConfig","componentId"],"sources":["../../../../src/components/ComboBox/ComboBox.tsx"],"sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n useEffect,\n useRef,\n useMemo,\n Fragment,\n} from \"react\";\nimport { RemoveScroll } from \"react-remove-scroll\";\n\nimport classNames from \"classnames\";\nimport tw from \"twin.macro\";\n\nimport {\n StyledComboBoxCloseSmallIcon,\n StyledComboBoxCollapseExpandSingleIcon,\n StyledComboBoxInput,\n StyledComboBoxList,\n StyledChipWrapper,\n StyledInfoIcon,\n StyledInfoSmallIcon,\n} from \"./Styles\";\nimport { Portal, useLayerContext } from \"../../helpers\";\nimport { ConditionalWrapper } from \"../../helpers/ConditionWrapper/ConditionWrapper\";\nimport { useIsFirstRender } from \"../../hooks/useIsFirstRender\";\nimport { useOnClickOutside } from \"../../hooks/useOnClickOutside\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Autocomplete } from \"../Autocomplete\";\nimport {\n IAutocompleteProps,\n isOptionGroup,\n} from \"../Autocomplete/Autocomplete\";\nimport { Avatar, AvatarProps } from \"../Avatar\";\nimport { Checkbox } from \"../Checkbox\";\nimport { Chip } from \"../Chip\";\nimport { IconButton } from \"../IconButton\";\nimport { InputAdornment } from \"../Input/InputAdornment\";\nimport { StyledInput, StyledInputWrapper } from \"../Input/Styles\";\nimport { InputMode, InputSize } from \"../Input/types\";\nimport { SpinnerLoader } from \"../Loaders/Spinner/SpinnerLoader\";\nimport { MultiAvatar } from \"../MultiAvatar\";\nimport { Popper } from \"../Popper\";\nimport { RadioButton } from \"../RadioButton\";\nimport { IOptionGroupProps, IOptionItemProps } from \"../Select\";\nimport { OptionContent } from \"../Select/OptionContent/OptionContent\";\nimport { Tooltip } from \"../Tooltip\";\nimport { Trigger } from \"../Trigger\";\nimport { Typography } from \"../Typography/Typography\";\n\nconst sizeMap = {\n small: 18,\n regular: 24,\n big: 30,\n biggest: 40,\n};\n\nexport interface IComboBoxProps\n extends Omit<\n IAutocompleteProps,\n \"handleChange\" | \"inputEl\" | \"clearInputOnSelect\"\n > {\n /**\n * The input holds a query, not the name of the selection, so closing the list keeps what was typed\n * and focusing the field again brings the same answers back. For a search, not a picker.\n */\n keepFilterOnClose?: boolean;\n /** Set combobox in to loading state */\n loading?: boolean;\n /** Text to display while in loading state */\n loadingText?: string;\n /** onChange callback */\n onChange?: (\n e: (string | number)[] | string | number | null | undefined\n ) => void;\n /** onInputChange callback */\n onInputChange?: (text: string) => void;\n /** Placeholder for Select input */\n placeholder?: string;\n /** disable Input element */\n disabled?: boolean;\n /** Combobox size */\n size?: InputSize;\n /** Invalid state */\n invalid?: boolean;\n /** Render Chip */\n renderChip?: <T extends IOptionItemProps>(\n item: T,\n key?: string | number\n ) => JSX.Element;\n /** Close menu on change */\n forceCloseMenu?: boolean;\n /** Limit chips */\n limitChips?: number;\n /** Hidden number text */\n hiddenNumberText?: (hidden: number) => string;\n /** Render Autocomplete in <Portal> */\n inPortal?: boolean;\n /** inputWrapperClassName */\n inputWrapperClassName?: string;\n /** Width of the list. Defaults to the width of the field. */\n listWidth?: number;\n /** Where the list sits against the field. Centered by default, which shifts a wider list both ways. */\n listPlacement?: \"bottom\" | \"bottom-start\" | \"bottom-end\";\n /** scrollWrapper */\n scrollWrapper?: boolean;\n /** onClose (f) will be called when Popper closes */\n onClose?: () => void;\n /** onOpen (f) will be called when Popper opens */\n onOpen?: () => void;\n /** onClear (f) will be called when user clear input on X icon*/\n onClear?: () => void;\n onCancel?: (value?: string) => void;\n onDeselect?: () => void;\n /** Open state */\n open?: boolean;\n /** Trigger mode */\n triggerMode?: InputMode;\n /** Hide clear button */\n hideClearButton?: boolean;\n /** Accessible name for the clear button */\n clearButtonLabel?: string;\n /** Error message to display */\n errorMessage?: string;\n}\n\nexport const ComboBox: FC<IComboBoxProps> = ({\n options = [],\n selected,\n keepFilterOnClose = false,\n loading = false,\n loadingText,\n onChange,\n onInputChange,\n placeholder,\n handleEmptyAction,\n disabled = false,\n size = \"regular\",\n invalid = false,\n type = \"single\",\n renderChip,\n forceCloseMenu = type === \"single\",\n renderOption,\n limitChips = 2,\n hiddenNumberText,\n inPortal = false,\n inputWrapperClassName,\n listWidth,\n listPlacement = \"bottom\",\n scrollWrapper,\n onClose,\n onClear,\n onDeselect,\n defaultValue,\n open: defaultOpen = false,\n onOpen,\n triggerMode,\n noResultText,\n emptyValue,\n disableVirtualization,\n hideClearButton = false,\n clearButtonLabel,\n errorMessage,\n onCancel,\n ...prop\n}) => {\n const selectedName = useMemo(() => {\n let value = \"\";\n if (!selected) {\n return value;\n }\n options.map((v) => {\n if ((v as IOptionGroupProps)?.options) {\n return (v as IOptionGroupProps).options.find((q) => {\n if (q.id === selected) {\n value = q.name;\n return;\n }\n });\n } else {\n if (v.id === selected) {\n value = v.name;\n return;\n }\n }\n });\n return value;\n }, [options, selected]);\n const [value, setValue] = useState(selectedName);\n const [focused, setFocused] = useState<boolean>(false);\n const handleOnChange = useCallback(\n (e) => {\n setValue(e.target.value);\n onInputChange?.(e.target.value);\n },\n [onInputChange]\n );\n const childNode = useRef<HTMLInputElement | null>();\n const elementRef = useRef<HTMLInputElement | null>(null);\n const handleRef = useForkRef(childNode, elementRef);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const chipWrapper = useRef<HTMLDivElement>(null);\n const comboBoxRef = useRef<HTMLDivElement | null>(null);\n // Inside a dialog the list has to sit on the dialog's layer, not under it.\n const { zIndex = 10 } = useLayerContext();\n\n const [open, setOpen] = useState(defaultOpen);\n const isFirstRender = useIsFirstRender();\n\n useOnClickOutside(wrapperRef, (e) => {\n if (e.target && comboBoxRef.current?.contains(e.target as Node)) {\n return;\n }\n onCancel?.(selectedName);\n setOpen(false);\n });\n\n const handleOnKeyDown = useCallback(\n (e) => {\n if (e.key === \"Tab\" && open) {\n setOpen(false);\n }\n\n if (e.key === \"Escape\" && open) {\n setOpen(false);\n if (!keepFilterOnClose) {\n setValue(selectedName);\n }\n onCancel?.(selectedName);\n e.stopPropagation();\n }\n\n if (e.key === \"Enter\" && type === \"multiple\") {\n setValue(\"\");\n }\n\n if (e.key === \"Enter\" && !open && focused) {\n setOpen(true);\n onOpen?.();\n }\n },\n [focused, keepFilterOnClose, onCancel, onOpen, open, selectedName, type]\n );\n\n useEffect(() => {\n if (!open && !isFirstRender) {\n onClose?.();\n }\n }, [open, onClose, isFirstRender]);\n\n useEffect(() => {\n setValue(selectedName);\n }, [selectedName]);\n\n useEffect(() => {\n if (open !== defaultOpen) setOpen(defaultOpen);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [defaultOpen]);\n\n useEffect(() => {\n if (!open && !isFirstRender && !focused) {\n if (typeof onClose === \"function\") {\n onClose();\n }\n }\n }, [focused, isFirstRender, onClose, open]);\n\n const emptyAction = useCallback(\n (v) => {\n handleEmptyAction?.(v);\n setOpen(false);\n },\n [handleEmptyAction]\n );\n\n const handleChange = useCallback(\n (selectedValue) => {\n if (selectedValue !== selected && typeof onChange === \"function\") {\n onChange(selectedValue);\n }\n setValue(\"\");\n if (forceCloseMenu) {\n setOpen(false);\n }\n },\n [forceCloseMenu, onChange, selected]\n );\n\n const handleOpen = useCallback(() => {\n if (!disabled) {\n setOpen(true);\n onOpen?.();\n }\n }, [disabled, onOpen]);\n\n const handleRenderOption = useCallback(\n (option, props) => {\n if (typeof renderOption === \"function\") {\n return renderOption(option, props);\n }\n if (type === \"multiple\") {\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n />\n <Checkbox {...props} />\n </>\n );\n }\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n />\n <RadioButton {...props} />\n </>\n );\n },\n [type, renderOption]\n );\n\n const handleDeselect = useCallback(\n (e) => {\n e.stopPropagation();\n if (typeof onDeselect === \"function\") {\n onDeselect();\n } else if (type === \"multiple\") {\n onChange?.([]);\n } else {\n onChange?.(\"\");\n }\n\n onClear?.();\n setOpen(false);\n },\n [type, onChange, onClear, onDeselect]\n );\n\n const handleMouseDown = useCallback((e) => {\n e.preventDefault();\n }, []);\n\n const handleBlur = useCallback(\n (e) => {\n if (\n e.relatedTarget &&\n wrapperRef.current?.contains(e.relatedTarget as Node)\n ) {\n return;\n }\n if (!keepFilterOnClose) {\n setValue(selectedName);\n }\n setFocused(false);\n },\n [keepFilterOnClose, selectedName]\n );\n\n const renderChipAdornment = useCallback(\n (option, index) => {\n if (typeof renderChip === \"function\") {\n return renderChip(option, index);\n }\n const avatarProps: Partial<AvatarProps> = {\n size: 18,\n };\n switch (size) {\n case \"big\":\n avatarProps.size = 22;\n break;\n case \"small\":\n avatarProps.size = 14;\n break;\n }\n const startAdornment = option.image ? (\n <Avatar\n css={`\n ${tw`tw-my-0.5`}\n ${tw`tw-mr-0.5`}\n `}\n url={option.image}\n {...avatarProps}\n />\n ) : undefined;\n\n const onClose = (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (Array.isArray(selected) && selected.includes(option.id)) {\n if (typeof onChange === \"function\") {\n const newSelected = selected.filter((item) => item !== option.id);\n onChange(newSelected);\n }\n }\n };\n\n let showOnClose = true;\n if (disabled) {\n showOnClose = false;\n }\n if (option.color) {\n showOnClose = false;\n }\n\n return (\n <Chip\n className=\"c-combo-box-chip\"\n startAdornment={startAdornment}\n label={option.name}\n key={index}\n backgroundColor={option.color}\n color={option.chipColor}\n onClose={showOnClose ? onClose : undefined}\n size={size}\n />\n );\n },\n [disabled, onChange, renderChip, selected, size]\n );\n\n const autoSize = useMemo(() => {\n if (\n type === \"multiple\" &&\n open &&\n Array.isArray(selected) &&\n selected.length > 1\n ) {\n return \"auto\";\n }\n return size;\n }, [open, selected, size, type]);\n\n const startAdornment = useMemo(() => {\n if (type === \"multiple\" && Array.isArray(selected) && selected.length > 0) {\n const elements: JSX.Element[] = [];\n let total = 0;\n options.forEach((option, index) => {\n const isGrouped = isOptionGroup(option);\n if (selected.includes(option.id) && !isGrouped) {\n total = total + 1;\n elements.push(renderChipAdornment(option, index));\n } else if (isGrouped) {\n const groupedOptions = option.options.filter((o) =>\n selected.includes(o.id)\n );\n total = total + groupedOptions.length;\n if (groupedOptions.length > 0) {\n groupedOptions.forEach((o, _index) => {\n elements.push(renderChipAdornment(o, `${index}_${_index}`));\n });\n }\n }\n });\n let hidden = 0;\n if (!open && limitChips > 0 && elements.length > limitChips) {\n hidden = elements.splice(\n limitChips,\n elements.length - limitChips\n ).length;\n }\n\n return (\n <Fragment>\n {elements}\n {hidden > 0 && (\n <Typography\n variant={\n size === \"small\"\n ? \"Caption 1\"\n : size === \"regular\"\n ? \"Body 2\"\n : \"Body 1\"\n }\n css={`\n display: flex;\n flex-shrink: 0;\n align-items: center;\n `}\n >\n {typeof hiddenNumberText === \"function\"\n ? hiddenNumberText(hidden)\n : `+${hidden}`}\n </Typography>\n )}\n </Fragment>\n );\n }\n if (type === \"single\" && selected) {\n let optionItem;\n options.forEach((option) => {\n if (isOptionGroup(option)) {\n optionItem = option.options.find((child) => child.id === selected);\n } else if (!optionItem && option.id === selected) {\n optionItem = option;\n }\n });\n if (optionItem && optionItem.image) {\n const avatarSize = size === \"big\" ? 22 : size === \"regular\" ? 18 : 14;\n if (Array.isArray(optionItem.image)) {\n return <MultiAvatar url={optionItem.image} size={avatarSize} />;\n }\n return <Avatar url={optionItem.image} size={avatarSize} />;\n }\n }\n\n return undefined;\n }, [\n type,\n selected,\n options,\n open,\n limitChips,\n hiddenNumberText,\n renderChipAdornment,\n size,\n ]);\n\n const showXIcon =\n Array.isArray(selected) &&\n type === \"multiple\" &&\n selected.length > 0 &&\n !hideClearButton;\n\n const hasSelected =\n type === \"multiple\" && Array.isArray(selected) && selected.length > 0;\n\n const showMenu = useMemo(() => {\n const hasOptions = options?.length > 0;\n\n const valueExists = (option: IOptionItemProps) =>\n (option.id.toString().includes(value) || option.name.includes(value)) &&\n !option?.hidden;\n\n const isValueInOptions = options?.some((option) =>\n isOptionGroup(option)\n ? option.options.some(valueExists)\n : valueExists(option)\n );\n return (\n (hasOptions && (!!defaultValue || !value)) ||\n (value &&\n (isValueInOptions ||\n (emptyValue && !!handleEmptyAction) ||\n noResultText))\n );\n }, [\n defaultValue,\n emptyValue,\n handleEmptyAction,\n noResultText,\n options,\n value,\n ]);\n\n return (\n <div className=\"c-combo-box\">\n {type === \"multiple\" ? (\n <>\n <StyledInputWrapper\n $disabled={disabled}\n $size={size}\n $invalid={invalid}\n ref={comboBoxRef}\n $mode={triggerMode}\n css={`\n display: flex;\n justify-content: space-between;\n flex: 1;\n height: ${autoSize === \"auto\" ? \"auto\" : undefined};\n overflow-y: ${autoSize === \"auto\" && scrollWrapper\n ? \"scroll\"\n : undefined};\n `}\n className={classNames(\n \"c-combo-box-input-wrapper\",\n inputWrapperClassName\n )}\n onClick={() => {\n elementRef.current?.click();\n }}\n >\n <StyledChipWrapper\n $autoSize={autoSize}\n $open={open}\n ref={chipWrapper}\n css={`\n max-height: ${autoSize === \"auto\" && scrollWrapper\n ? sizeMap[size] * 3 + 8 + \"px\"\n : undefined};\n `}\n >\n {startAdornment}\n <StyledInput\n className=\"c-combo-box-input\"\n onBlur={handleBlur}\n onFocus={(e) => {\n try {\n if (e.target.matches(\":focus-visible\")) {\n setOpen(true);\n onOpen?.();\n }\n // eslint-disable-next-line no-empty\n } catch (_error) {}\n setFocused(true);\n }}\n onClick={handleOpen}\n ref={handleRef}\n value={loading && loadingText ? loadingText : value}\n onKeyDown={handleOnKeyDown}\n onChange={handleOnChange}\n placeholder={!hasSelected ? placeholder : undefined}\n $mode={triggerMode}\n disabled={disabled}\n $size={size}\n $loading={loading}\n style={{\n display: \"flex\",\n flex: 1,\n alignSelf: \"center\",\n width: autoSize === \"auto\" ? \"auto\" : \"100%\",\n }}\n />\n </StyledChipWrapper>\n {!disabled && (\n <>\n {loading ? (\n <SpinnerLoader />\n ) : (\n <>\n {showXIcon && (\n <Trigger\n onMouseDown={handleMouseDown}\n onClick={handleDeselect}\n data-testid=\"deselect-all\"\n aria-label={clearButtonLabel}\n tabIndex={-1}\n css={`\n display: flex;\n justify-content: center;\n `}\n >\n <StyledComboBoxCloseSmallIcon />\n </Trigger>\n )}\n {invalid && errorMessage && (\n <Tooltip title={errorMessage}>\n {size === \"regular\" ? (\n <StyledInfoSmallIcon />\n ) : (\n <StyledInfoIcon />\n )}\n </Tooltip>\n )}\n {showMenu && (\n <StyledComboBoxCollapseExpandSingleIcon $open={open} />\n )}\n </>\n )}\n </>\n )}\n </StyledInputWrapper>\n </>\n ) : (\n <StyledComboBoxInput\n className={classNames(\"c-combo-box-input\", inputWrapperClassName)}\n onBlur={handleBlur}\n wrapperClick={handleOpen}\n onFocus={(e) => {\n if (e.target.matches(\":focus-visible\")) {\n setOpen(true);\n onOpen?.();\n }\n setFocused(true);\n }}\n onClick={handleOpen}\n mode={triggerMode}\n wrapRef={comboBoxRef}\n ref={handleRef}\n value={loading && loadingText ? loadingText : value}\n onKeyDown={handleOnKeyDown}\n onChange={handleOnChange}\n placeholder={placeholder}\n disabled={disabled}\n size={size}\n invalid={invalid}\n $loading={loading}\n startAdornment={startAdornment}\n endAdornment={\n !disabled ? (\n <InputAdornment disablePointerEvents={disabled}>\n {loading && <SpinnerLoader />}\n {!loading && selected && !hideClearButton ? (\n <IconButton\n onMouseDown={handleMouseDown}\n onClick={handleDeselect}\n variant=\"text gray\"\n size=\"small\"\n tabIndex={-1}\n aria-label={clearButtonLabel}\n >\n <StyledComboBoxCloseSmallIcon />\n </IconButton>\n ) : null}\n {invalid && errorMessage && (\n <Tooltip title={errorMessage}>\n {size === \"regular\" ? (\n <StyledInfoSmallIcon />\n ) : (\n <StyledInfoIcon />\n )}\n </Tooltip>\n )}\n {showMenu && (\n <StyledComboBoxCollapseExpandSingleIcon $open={open} />\n )}\n </InputAdornment>\n ) : null\n }\n />\n )}\n {!disabled ? (\n <ConditionalWrapper\n condition={inPortal}\n wrap={(children) => <Portal>{children}</Portal>}\n >\n <Popper\n anchorEl={comboBoxRef.current}\n open={open}\n placement={listPlacement}\n style={{\n zIndex,\n width: listWidth ?? comboBoxRef.current?.clientWidth,\n }}\n ref={wrapperRef}\n strategy=\"fixed\"\n >\n <RemoveScroll noIsolation allowPinchZoom>\n <StyledComboBoxList\n className=\"c-combo-box--list\"\n $width={comboBoxRef.current?.clientWidth}\n $hide={!showMenu}\n >\n <Autocomplete\n {...prop}\n emptyValue={emptyValue}\n noResultText={noResultText}\n inputEl={childNode}\n selected={selected}\n handleChange={handleChange}\n renderOption={handleRenderOption}\n options={options}\n type={type}\n defaultValue={defaultValue}\n handleEmptyAction={emptyAction}\n disableVirtualization={disableVirtualization}\n />\n </StyledComboBoxList>\n </RemoveScroll>\n </Popper>\n </ConditionalWrapper>\n ) : null}\n </div>\n );\n};\n\nComboBox.displayName = \"ComboBox\";\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ComboBox.js","names":["React","useCallback","useState","useEffect","useRef","useMemo","Fragment","RemoveScroll","classNames","StyledComboBoxCloseSmallIcon","StyledComboBoxCollapseExpandSingleIcon","StyledComboBoxInput","StyledComboBoxList","StyledChipWrapper","StyledInfoIcon","StyledInfoSmallIcon","Portal","useLayerContext","ConditionalWrapper","useIsFirstRender","useOnClickOutside","useForkRef","Autocomplete","isOptionGroup","Avatar","Checkbox","Chip","IconButton","InputAdornment","StyledInput","StyledInputWrapper","SpinnerLoader","MultiAvatar","Popper","RadioButton","OptionContent","Tooltip","Trigger","Typography","sizeMap","small","regular","big","biggest","ComboBox","_ref","_comboBoxRef$current2","_comboBoxRef$current3","_ref$options","options","selected","_ref$keepFilterOnClos","keepFilterOnClose","_ref$loading","loading","loadingText","onChange","onInputChange","placeholder","handleEmptyAction","_ref$disabled","disabled","_ref$size","size","_ref$invalid","invalid","_ref$type","type","renderChip","_ref$forceCloseMenu","forceCloseMenu","renderOption","_ref$limitChips","limitChips","hiddenNumberText","_ref$inPortal","inPortal","inputWrapperClassName","listWidth","_ref$listPlacement","listPlacement","scrollWrapper","onClose","onClear","onDeselect","defaultValue","_ref$open","open","defaultOpen","onOpen","triggerMode","noResultText","emptyValue","disableVirtualization","_ref$hideClearButton","hideClearButton","clearButtonLabel","errorMessage","onCancel","prop","_objectWithoutPropertiesLoose","_excluded","selectedName","value","map","v","find","q","id","name","_useState","setValue","_useState2","focused","setFocused","handleOnChange","e","target","childNode","elementRef","handleRef","wrapperRef","chipWrapper","comboBoxRef","_useLayerContext","_useLayerContext$zInd","zIndex","_useState3","setOpen","isFirstRender","_comboBoxRef$current","current","contains","handleOnKeyDown","key","stopPropagation","emptyAction","handleChange","selectedValue","handleOpen","handleRenderOption","option","props","createElement","imageUrl","image","color","textColor","handleDeselect","handleMouseDown","preventDefault","handleBlur","_wrapperRef$current","relatedTarget","renderChipAdornment","index","avatarProps","startAdornment","_StyledAvatar","_extends","url","$_css","$_css2","undefined","Array","isArray","includes","newSelected","filter","item","showOnClose","className","label","backgroundColor","chipColor","autoSize","length","elements","total","forEach","isGrouped","push","groupedOptions","o","_index","hidden","splice","_StyledTypography","variant","optionItem","child","avatarSize","showXIcon","hasSelected","showMenu","hasOptions","valueExists","toString","isValueInOptions","some","_StyledStyledInputWrapper","$disabled","$size","$invalid","ref","$mode","onClick","_elementRef$current","click","$_css3","$_css4","_StyledStyledChipWrapper","$autoSize","$open","$_css5","onBlur","onFocus","matches","_error","onKeyDown","autoComplete","$loading","style","display","flex","alignSelf","width","_StyledTrigger","onMouseDown","tabIndex","title","wrapperClick","mode","wrapRef","endAdornment","disablePointerEvents","condition","wrap","children","anchorEl","placement","clientWidth","strategy","noIsolation","allowPinchZoom","$width","$hide","inputEl","displayName","_styled","_templateObject","_taggedTemplateLiteralLoose","p","_styled2","_templateObject2","_styled3","_templateObject3","_styled4","_templateObject4","_styled5","withConfig","componentId"],"sources":["../../../../src/components/ComboBox/ComboBox.tsx"],"sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n useEffect,\n useRef,\n useMemo,\n Fragment,\n} from \"react\";\nimport { RemoveScroll } from \"react-remove-scroll\";\n\nimport classNames from \"classnames\";\nimport tw from \"twin.macro\";\n\nimport {\n StyledComboBoxCloseSmallIcon,\n StyledComboBoxCollapseExpandSingleIcon,\n StyledComboBoxInput,\n StyledComboBoxList,\n StyledChipWrapper,\n StyledInfoIcon,\n StyledInfoSmallIcon,\n} from \"./Styles\";\nimport { Portal, useLayerContext } from \"../../helpers\";\nimport { ConditionalWrapper } from \"../../helpers/ConditionWrapper/ConditionWrapper\";\nimport { useIsFirstRender } from \"../../hooks/useIsFirstRender\";\nimport { useOnClickOutside } from \"../../hooks/useOnClickOutside\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Autocomplete } from \"../Autocomplete\";\nimport {\n IAutocompleteProps,\n isOptionGroup,\n} from \"../Autocomplete/Autocomplete\";\nimport { Avatar, AvatarProps } from \"../Avatar\";\nimport { Checkbox } from \"../Checkbox\";\nimport { Chip } from \"../Chip\";\nimport { IconButton } from \"../IconButton\";\nimport { InputAdornment } from \"../Input/InputAdornment\";\nimport { StyledInput, StyledInputWrapper } from \"../Input/Styles\";\nimport { InputMode, InputSize } from \"../Input/types\";\nimport { SpinnerLoader } from \"../Loaders/Spinner/SpinnerLoader\";\nimport { MultiAvatar } from \"../MultiAvatar\";\nimport { Popper } from \"../Popper\";\nimport { RadioButton } from \"../RadioButton\";\nimport { IOptionGroupProps, IOptionItemProps } from \"../Select\";\nimport { OptionContent } from \"../Select/OptionContent/OptionContent\";\nimport { Tooltip } from \"../Tooltip\";\nimport { Trigger } from \"../Trigger\";\nimport { Typography } from \"../Typography/Typography\";\n\nconst sizeMap = {\n small: 18,\n regular: 24,\n big: 30,\n biggest: 40,\n};\n\nexport interface IComboBoxProps\n extends Omit<\n IAutocompleteProps,\n \"handleChange\" | \"inputEl\" | \"clearInputOnSelect\"\n > {\n /**\n * The input holds a query, not the name of the selection, so closing the list keeps what was typed\n * and focusing the field again brings the same answers back. For a search, not a picker.\n */\n keepFilterOnClose?: boolean;\n /** Set combobox in to loading state */\n loading?: boolean;\n /** Text to display while in loading state */\n loadingText?: string;\n /** onChange callback */\n onChange?: (\n e: (string | number)[] | string | number | null | undefined\n ) => void;\n /** onInputChange callback */\n onInputChange?: (text: string) => void;\n /** Placeholder for Select input */\n placeholder?: string;\n /** disable Input element */\n disabled?: boolean;\n /** Combobox size */\n size?: InputSize;\n /** Invalid state */\n invalid?: boolean;\n /** Render Chip */\n renderChip?: <T extends IOptionItemProps>(\n item: T,\n key?: string | number\n ) => JSX.Element;\n /** Close menu on change */\n forceCloseMenu?: boolean;\n /** Limit chips */\n limitChips?: number;\n /** Hidden number text */\n hiddenNumberText?: (hidden: number) => string;\n /** Render Autocomplete in <Portal> */\n inPortal?: boolean;\n /** inputWrapperClassName */\n inputWrapperClassName?: string;\n /** Width of the list. Defaults to the width of the field. */\n listWidth?: number;\n /** Where the list sits against the field. Centered by default, which shifts a wider list both ways. */\n listPlacement?: \"bottom\" | \"bottom-start\" | \"bottom-end\";\n /** scrollWrapper */\n scrollWrapper?: boolean;\n /** onClose (f) will be called when Popper closes */\n onClose?: () => void;\n /** onOpen (f) will be called when Popper opens */\n onOpen?: () => void;\n /** onClear (f) will be called when user clear input on X icon*/\n onClear?: () => void;\n onCancel?: (value?: string) => void;\n onDeselect?: () => void;\n /** Open state */\n open?: boolean;\n /** Trigger mode */\n triggerMode?: InputMode;\n /** Hide clear button */\n hideClearButton?: boolean;\n /** Accessible name for the clear button */\n clearButtonLabel?: string;\n /** Error message to display */\n errorMessage?: string;\n}\n\nexport const ComboBox: FC<IComboBoxProps> = ({\n options = [],\n selected,\n keepFilterOnClose = false,\n loading = false,\n loadingText,\n onChange,\n onInputChange,\n placeholder,\n handleEmptyAction,\n disabled = false,\n size = \"regular\",\n invalid = false,\n type = \"single\",\n renderChip,\n forceCloseMenu = type === \"single\",\n renderOption,\n limitChips = 2,\n hiddenNumberText,\n inPortal = false,\n inputWrapperClassName,\n listWidth,\n listPlacement = \"bottom\",\n scrollWrapper,\n onClose,\n onClear,\n onDeselect,\n defaultValue,\n open: defaultOpen = false,\n onOpen,\n triggerMode,\n noResultText,\n emptyValue,\n disableVirtualization,\n hideClearButton = false,\n clearButtonLabel,\n errorMessage,\n onCancel,\n ...prop\n}) => {\n const selectedName = useMemo(() => {\n let value = \"\";\n if (!selected) {\n return value;\n }\n options.map((v) => {\n if ((v as IOptionGroupProps)?.options) {\n return (v as IOptionGroupProps).options.find((q) => {\n if (q.id === selected) {\n value = q.name;\n return;\n }\n });\n } else {\n if (v.id === selected) {\n value = v.name;\n return;\n }\n }\n });\n return value;\n }, [options, selected]);\n const [value, setValue] = useState(selectedName);\n const [focused, setFocused] = useState<boolean>(false);\n const handleOnChange = useCallback(\n (e) => {\n setValue(e.target.value);\n onInputChange?.(e.target.value);\n },\n [onInputChange]\n );\n const childNode = useRef<HTMLInputElement | null>();\n const elementRef = useRef<HTMLInputElement | null>(null);\n const handleRef = useForkRef(childNode, elementRef);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const chipWrapper = useRef<HTMLDivElement>(null);\n const comboBoxRef = useRef<HTMLDivElement | null>(null);\n // Inside a dialog the list has to sit on the dialog's layer, not under it.\n const { zIndex = 10 } = useLayerContext();\n\n const [open, setOpen] = useState(defaultOpen);\n const isFirstRender = useIsFirstRender();\n\n useOnClickOutside(wrapperRef, (e) => {\n if (e.target && comboBoxRef.current?.contains(e.target as Node)) {\n return;\n }\n onCancel?.(selectedName);\n setOpen(false);\n });\n\n const handleOnKeyDown = useCallback(\n (e) => {\n if (e.key === \"Tab\" && open) {\n setOpen(false);\n }\n\n if (e.key === \"Escape\" && open) {\n setOpen(false);\n if (!keepFilterOnClose) {\n setValue(selectedName);\n }\n onCancel?.(selectedName);\n e.stopPropagation();\n }\n\n if (e.key === \"Enter\" && type === \"multiple\") {\n setValue(\"\");\n }\n\n if (e.key === \"Enter\" && !open && focused) {\n setOpen(true);\n onOpen?.();\n }\n },\n [focused, keepFilterOnClose, onCancel, onOpen, open, selectedName, type]\n );\n\n useEffect(() => {\n if (!open && !isFirstRender) {\n onClose?.();\n }\n }, [open, onClose, isFirstRender]);\n\n useEffect(() => {\n setValue(selectedName);\n }, [selectedName]);\n\n useEffect(() => {\n if (open !== defaultOpen) setOpen(defaultOpen);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [defaultOpen]);\n\n useEffect(() => {\n if (!open && !isFirstRender && !focused) {\n if (typeof onClose === \"function\") {\n onClose();\n }\n }\n }, [focused, isFirstRender, onClose, open]);\n\n const emptyAction = useCallback(\n (v) => {\n handleEmptyAction?.(v);\n setOpen(false);\n },\n [handleEmptyAction]\n );\n\n const handleChange = useCallback(\n (selectedValue) => {\n if (selectedValue !== selected && typeof onChange === \"function\") {\n onChange(selectedValue);\n }\n setValue(\"\");\n if (forceCloseMenu) {\n setOpen(false);\n }\n },\n [forceCloseMenu, onChange, selected]\n );\n\n const handleOpen = useCallback(() => {\n if (!disabled) {\n setOpen(true);\n onOpen?.();\n }\n }, [disabled, onOpen]);\n\n const handleRenderOption = useCallback(\n (option, props) => {\n if (typeof renderOption === \"function\") {\n return renderOption(option, props);\n }\n if (type === \"multiple\") {\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n />\n <Checkbox {...props} />\n </>\n );\n }\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n />\n <RadioButton {...props} />\n </>\n );\n },\n [type, renderOption]\n );\n\n const handleDeselect = useCallback(\n (e) => {\n e.stopPropagation();\n if (typeof onDeselect === \"function\") {\n onDeselect();\n } else if (type === \"multiple\") {\n onChange?.([]);\n } else {\n onChange?.(\"\");\n }\n\n onClear?.();\n setOpen(false);\n },\n [type, onChange, onClear, onDeselect]\n );\n\n const handleMouseDown = useCallback((e) => {\n e.preventDefault();\n }, []);\n\n const handleBlur = useCallback(\n (e) => {\n if (\n e.relatedTarget &&\n wrapperRef.current?.contains(e.relatedTarget as Node)\n ) {\n return;\n }\n if (!keepFilterOnClose) {\n setValue(selectedName);\n }\n setFocused(false);\n },\n [keepFilterOnClose, selectedName]\n );\n\n const renderChipAdornment = useCallback(\n (option, index) => {\n if (typeof renderChip === \"function\") {\n return renderChip(option, index);\n }\n const avatarProps: Partial<AvatarProps> = {\n size: 18,\n };\n switch (size) {\n case \"big\":\n avatarProps.size = 22;\n break;\n case \"small\":\n avatarProps.size = 14;\n break;\n }\n const startAdornment = option.image ? (\n <Avatar\n css={`\n ${tw`tw-my-0.5`}\n ${tw`tw-mr-0.5`}\n `}\n url={option.image}\n {...avatarProps}\n />\n ) : undefined;\n\n const onClose = (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (Array.isArray(selected) && selected.includes(option.id)) {\n if (typeof onChange === \"function\") {\n const newSelected = selected.filter((item) => item !== option.id);\n onChange(newSelected);\n }\n }\n };\n\n let showOnClose = true;\n if (disabled) {\n showOnClose = false;\n }\n if (option.color) {\n showOnClose = false;\n }\n\n return (\n <Chip\n className=\"c-combo-box-chip\"\n startAdornment={startAdornment}\n label={option.name}\n key={index}\n backgroundColor={option.color}\n color={option.chipColor}\n onClose={showOnClose ? onClose : undefined}\n size={size}\n />\n );\n },\n [disabled, onChange, renderChip, selected, size]\n );\n\n const autoSize = useMemo(() => {\n if (\n type === \"multiple\" &&\n open &&\n Array.isArray(selected) &&\n selected.length > 1\n ) {\n return \"auto\";\n }\n return size;\n }, [open, selected, size, type]);\n\n const startAdornment = useMemo(() => {\n if (type === \"multiple\" && Array.isArray(selected) && selected.length > 0) {\n const elements: JSX.Element[] = [];\n let total = 0;\n options.forEach((option, index) => {\n const isGrouped = isOptionGroup(option);\n if (selected.includes(option.id) && !isGrouped) {\n total = total + 1;\n elements.push(renderChipAdornment(option, index));\n } else if (isGrouped) {\n const groupedOptions = option.options.filter((o) =>\n selected.includes(o.id)\n );\n total = total + groupedOptions.length;\n if (groupedOptions.length > 0) {\n groupedOptions.forEach((o, _index) => {\n elements.push(renderChipAdornment(o, `${index}_${_index}`));\n });\n }\n }\n });\n let hidden = 0;\n if (!open && limitChips > 0 && elements.length > limitChips) {\n hidden = elements.splice(\n limitChips,\n elements.length - limitChips\n ).length;\n }\n\n return (\n <Fragment>\n {elements}\n {hidden > 0 && (\n <Typography\n variant={\n size === \"small\"\n ? \"Caption 1\"\n : size === \"regular\"\n ? \"Body 2\"\n : \"Body 1\"\n }\n css={`\n display: flex;\n flex-shrink: 0;\n align-items: center;\n `}\n >\n {typeof hiddenNumberText === \"function\"\n ? hiddenNumberText(hidden)\n : `+${hidden}`}\n </Typography>\n )}\n </Fragment>\n );\n }\n if (type === \"single\" && selected) {\n let optionItem;\n options.forEach((option) => {\n if (isOptionGroup(option)) {\n optionItem = option.options.find((child) => child.id === selected);\n } else if (!optionItem && option.id === selected) {\n optionItem = option;\n }\n });\n if (optionItem && optionItem.image) {\n const avatarSize = size === \"big\" ? 22 : size === \"regular\" ? 18 : 14;\n if (Array.isArray(optionItem.image)) {\n return <MultiAvatar url={optionItem.image} size={avatarSize} />;\n }\n return <Avatar url={optionItem.image} size={avatarSize} />;\n }\n }\n\n return undefined;\n }, [\n type,\n selected,\n options,\n open,\n limitChips,\n hiddenNumberText,\n renderChipAdornment,\n size,\n ]);\n\n const showXIcon =\n Array.isArray(selected) &&\n type === \"multiple\" &&\n selected.length > 0 &&\n !hideClearButton;\n\n const hasSelected =\n type === \"multiple\" && Array.isArray(selected) && selected.length > 0;\n\n const showMenu = useMemo(() => {\n const hasOptions = options?.length > 0;\n\n const valueExists = (option: IOptionItemProps) =>\n (option.id.toString().includes(value) || option.name.includes(value)) &&\n !option?.hidden;\n\n const isValueInOptions = options?.some((option) =>\n isOptionGroup(option)\n ? option.options.some(valueExists)\n : valueExists(option)\n );\n return (\n (hasOptions && (!!defaultValue || !value)) ||\n (value &&\n (isValueInOptions ||\n (emptyValue && !!handleEmptyAction) ||\n noResultText))\n );\n }, [\n defaultValue,\n emptyValue,\n handleEmptyAction,\n noResultText,\n options,\n value,\n ]);\n\n return (\n <div className=\"c-combo-box\">\n {type === \"multiple\" ? (\n <>\n <StyledInputWrapper\n $disabled={disabled}\n $size={size}\n $invalid={invalid}\n ref={comboBoxRef}\n $mode={triggerMode}\n css={`\n display: flex;\n justify-content: space-between;\n flex: 1;\n height: ${autoSize === \"auto\" ? \"auto\" : undefined};\n overflow-y: ${autoSize === \"auto\" && scrollWrapper\n ? \"scroll\"\n : undefined};\n `}\n className={classNames(\n \"c-combo-box-input-wrapper\",\n inputWrapperClassName\n )}\n onClick={() => {\n elementRef.current?.click();\n }}\n >\n <StyledChipWrapper\n $autoSize={autoSize}\n $open={open}\n ref={chipWrapper}\n css={`\n max-height: ${autoSize === \"auto\" && scrollWrapper\n ? sizeMap[size] * 3 + 8 + \"px\"\n : undefined};\n `}\n >\n {startAdornment}\n <StyledInput\n className=\"c-combo-box-input\"\n onBlur={handleBlur}\n onFocus={(e) => {\n try {\n if (e.target.matches(\":focus-visible\")) {\n setOpen(true);\n onOpen?.();\n }\n // eslint-disable-next-line no-empty\n } catch (_error) {}\n setFocused(true);\n }}\n onClick={handleOpen}\n ref={handleRef}\n value={loading && loadingText ? loadingText : value}\n onKeyDown={handleOnKeyDown}\n onChange={handleOnChange}\n placeholder={!hasSelected ? placeholder : undefined}\n autoComplete=\"off\"\n $mode={triggerMode}\n disabled={disabled}\n $size={size}\n $loading={loading}\n style={{\n display: \"flex\",\n flex: 1,\n alignSelf: \"center\",\n width: autoSize === \"auto\" ? \"auto\" : \"100%\",\n }}\n />\n </StyledChipWrapper>\n {!disabled && (\n <>\n {loading ? (\n <SpinnerLoader />\n ) : (\n <>\n {showXIcon && (\n <Trigger\n onMouseDown={handleMouseDown}\n onClick={handleDeselect}\n data-testid=\"deselect-all\"\n aria-label={clearButtonLabel}\n tabIndex={-1}\n css={`\n display: flex;\n justify-content: center;\n `}\n >\n <StyledComboBoxCloseSmallIcon />\n </Trigger>\n )}\n {invalid && errorMessage && (\n <Tooltip title={errorMessage}>\n {size === \"regular\" ? (\n <StyledInfoSmallIcon />\n ) : (\n <StyledInfoIcon />\n )}\n </Tooltip>\n )}\n {showMenu && (\n <StyledComboBoxCollapseExpandSingleIcon $open={open} />\n )}\n </>\n )}\n </>\n )}\n </StyledInputWrapper>\n </>\n ) : (\n <StyledComboBoxInput\n className={classNames(\"c-combo-box-input\", inputWrapperClassName)}\n onBlur={handleBlur}\n wrapperClick={handleOpen}\n onFocus={(e) => {\n if (e.target.matches(\":focus-visible\")) {\n setOpen(true);\n onOpen?.();\n }\n setFocused(true);\n }}\n onClick={handleOpen}\n mode={triggerMode}\n wrapRef={comboBoxRef}\n ref={handleRef}\n value={loading && loadingText ? loadingText : value}\n onKeyDown={handleOnKeyDown}\n onChange={handleOnChange}\n placeholder={placeholder}\n autoComplete=\"off\"\n disabled={disabled}\n size={size}\n invalid={invalid}\n $loading={loading}\n startAdornment={startAdornment}\n endAdornment={\n !disabled ? (\n <InputAdornment disablePointerEvents={disabled}>\n {loading && <SpinnerLoader />}\n {!loading && selected && !hideClearButton ? (\n <IconButton\n onMouseDown={handleMouseDown}\n onClick={handleDeselect}\n variant=\"text gray\"\n size=\"small\"\n tabIndex={-1}\n aria-label={clearButtonLabel}\n >\n <StyledComboBoxCloseSmallIcon />\n </IconButton>\n ) : null}\n {invalid && errorMessage && (\n <Tooltip title={errorMessage}>\n {size === \"regular\" ? (\n <StyledInfoSmallIcon />\n ) : (\n <StyledInfoIcon />\n )}\n </Tooltip>\n )}\n {showMenu && (\n <StyledComboBoxCollapseExpandSingleIcon $open={open} />\n )}\n </InputAdornment>\n ) : null\n }\n />\n )}\n {!disabled ? (\n <ConditionalWrapper\n condition={inPortal}\n wrap={(children) => <Portal>{children}</Portal>}\n >\n <Popper\n anchorEl={comboBoxRef.current}\n open={open}\n placement={listPlacement}\n style={{\n zIndex,\n width: listWidth ?? comboBoxRef.current?.clientWidth,\n }}\n ref={wrapperRef}\n strategy=\"fixed\"\n >\n <RemoveScroll noIsolation allowPinchZoom>\n <StyledComboBoxList\n className=\"c-combo-box--list\"\n $width={comboBoxRef.current?.clientWidth}\n $hide={!showMenu}\n >\n <Autocomplete\n {...prop}\n emptyValue={emptyValue}\n noResultText={noResultText}\n inputEl={childNode}\n selected={selected}\n handleChange={handleChange}\n renderOption={handleRenderOption}\n options={options}\n type={type}\n defaultValue={defaultValue}\n handleEmptyAction={emptyAction}\n disableVirtualization={disableVirtualization}\n />\n </StyledComboBoxList>\n </RemoveScroll>\n </Popper>\n </ConditionalWrapper>\n ) : null}\n </div>\n );\n};\n\nComboBox.displayName = \"ComboBox\";\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Window.d.ts","sourceRoot":"","sources":["../../../../src/components/Window/Window.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Window.d.ts","sourceRoot":"","sources":["../../../../src/components/Window/Window.tsx"],"names":[],"mappings":"AAAA,OAAO,KAMN,MAAM,OAAO,CAAC;AAWf,MAAM,WAAW,OAAO;IACtB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,gEAAgE;IAChE,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,mFAAmF;IACnF,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAID,eAAO,MAAM,MAAM,kMA0GlB,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
3
|
const _excluded = ["children", "onClose", "className", "style", "onKeyDown", "disableFocusLock", "disableScrollLock", "disableCloseOnEsc", "disableReturnFocus", "isolateScroll", "onClick"];
|
|
4
|
-
import React, { useCallback, useRef, forwardRef } from "react";
|
|
4
|
+
import React, { useCallback, useEffect, useRef, forwardRef } from "react";
|
|
5
5
|
import FocusLock from "react-focus-lock";
|
|
6
6
|
import { RemoveScroll } from "react-remove-scroll";
|
|
7
7
|
import classnames from "classnames";
|
|
@@ -47,6 +47,23 @@ export const Window = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
|
47
47
|
onKeyDown(event);
|
|
48
48
|
}
|
|
49
49
|
}, [disableCloseOnEsc, onClose, onKeyDown]);
|
|
50
|
+
|
|
51
|
+
// Focus that falls to the body, when the focused node unmounts, sends no key to the window.
|
|
52
|
+
useEffect(() => {
|
|
53
|
+
if (disableCloseOnEsc || !onClose) {
|
|
54
|
+
return undefined;
|
|
55
|
+
}
|
|
56
|
+
const handleBodyKeyDown = event => {
|
|
57
|
+
const windows = document.querySelectorAll(".c-window");
|
|
58
|
+
const isTopWindow = windows[windows.length - 1] === innerRef.current;
|
|
59
|
+
if (event.target === document.body && !event.defaultPrevented && (event.key === "Esc" || event.key === "Escape") && isTopWindow) {
|
|
60
|
+
event.preventDefault();
|
|
61
|
+
onClose();
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
document.addEventListener("keydown", handleBodyKeyDown);
|
|
65
|
+
return () => document.removeEventListener("keydown", handleBodyKeyDown);
|
|
66
|
+
}, [disableCloseOnEsc, onClose]);
|
|
50
67
|
const handleClick = useCallback(event => {
|
|
51
68
|
event == null || event.stopPropagation();
|
|
52
69
|
typeof onClick === "function" && onClick(event);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Window.js","names":["React","useCallback","useRef","forwardRef","FocusLock","RemoveScroll","classnames","StyledWindow","Portal","useLayerContext","layers","useForkRef","returnFocus","preventScroll","Window","_ref","ref","children","onClose","className","style","onKeyDown","_ref$disableFocusLock","disableFocusLock","_ref$disableScrollLoc","disableScrollLock","_ref$disableCloseOnEs","disableCloseOnEsc","_ref$disableReturnFoc","disableReturnFocus","_ref$isolateScroll","isolateScroll","onClick","rest","_objectWithoutPropertiesLoose","_excluded","innerRef","handleRef","_useLayerContext","_useLayerContext$zInd","zIndex","skyscraper","handleKeyDown","event","defaultPrevented","key","preventDefault","stopPropagation","handleClick","createElement","disabled","forwardProps","enabled","noIsolation","_extends","tabIndex","displayName"],"sources":["../../../../src/components/Window/Window.tsx"],"sourcesContent":["import React, {
|
|
1
|
+
{"version":3,"file":"Window.js","names":["React","useCallback","useEffect","useRef","forwardRef","FocusLock","RemoveScroll","classnames","StyledWindow","Portal","useLayerContext","layers","useForkRef","returnFocus","preventScroll","Window","_ref","ref","children","onClose","className","style","onKeyDown","_ref$disableFocusLock","disableFocusLock","_ref$disableScrollLoc","disableScrollLock","_ref$disableCloseOnEs","disableCloseOnEsc","_ref$disableReturnFoc","disableReturnFocus","_ref$isolateScroll","isolateScroll","onClick","rest","_objectWithoutPropertiesLoose","_excluded","innerRef","handleRef","_useLayerContext","_useLayerContext$zInd","zIndex","skyscraper","handleKeyDown","event","defaultPrevented","key","preventDefault","stopPropagation","undefined","handleBodyKeyDown","windows","document","querySelectorAll","isTopWindow","length","current","target","body","addEventListener","removeEventListener","handleClick","createElement","disabled","forwardProps","enabled","noIsolation","_extends","tabIndex","displayName"],"sources":["../../../../src/components/Window/Window.tsx"],"sourcesContent":["import React, {\n useCallback,\n useEffect,\n useRef,\n forwardRef,\n KeyboardEvent,\n} from \"react\";\nimport FocusLock from \"react-focus-lock\";\nimport { RemoveScroll } from \"react-remove-scroll\";\n\nimport classnames from \"classnames\";\n\nimport { StyledWindow } from \"./Style\";\nimport { Portal, useLayerContext } from \"../../helpers\";\nimport { layers } from \"../../utils\";\nimport useForkRef from \"../../utils/useForkRef\";\n\nexport interface IWindow {\n onClose?: () => void;\n disableFocusLock?: boolean;\n disableScrollLock?: boolean;\n disableCloseOnEsc?: boolean;\n /** Leave the focus where it is when the focus lock turns off */\n disableReturnFocus?: boolean;\n /** With the scroll lock on, also stop the scroll that starts outside the window */\n isolateScroll?: boolean;\n}\n\nconst returnFocus = { preventScroll: true };\n\nexport const Window = forwardRef<\n HTMLDivElement,\n IWindow & Omit<React.ComponentPropsWithoutRef<\"div\">, keyof IWindow>\n>(\n (\n {\n children,\n onClose,\n className,\n style,\n onKeyDown,\n disableFocusLock = false,\n disableScrollLock = false,\n disableCloseOnEsc = false,\n disableReturnFocus = false,\n isolateScroll = false,\n onClick,\n ...rest\n },\n ref\n ) => {\n const innerRef = useRef<HTMLDivElement>(null);\n const handleRef = useForkRef(innerRef, ref);\n const { zIndex = layers.skyscraper } = useLayerContext();\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n if (\n !event.defaultPrevented &&\n (event.key === \"Esc\" || event.key === \"Escape\") &&\n !disableCloseOnEsc\n ) {\n event.preventDefault();\n event.stopPropagation();\n if (onClose) {\n onClose();\n }\n }\n if (typeof onKeyDown === \"function\") {\n onKeyDown(event);\n }\n },\n [disableCloseOnEsc, onClose, onKeyDown]\n );\n\n // Focus that falls to the body, when the focused node unmounts, sends no key to the window.\n useEffect(() => {\n if (disableCloseOnEsc || !onClose) {\n return undefined;\n }\n\n const handleBodyKeyDown = (event: globalThis.KeyboardEvent) => {\n const windows = document.querySelectorAll(\".c-window\");\n const isTopWindow = windows[windows.length - 1] === innerRef.current;\n\n if (\n event.target === document.body &&\n !event.defaultPrevented &&\n (event.key === \"Esc\" || event.key === \"Escape\") &&\n isTopWindow\n ) {\n event.preventDefault();\n onClose();\n }\n };\n\n document.addEventListener(\"keydown\", handleBodyKeyDown);\n\n return () => document.removeEventListener(\"keydown\", handleBodyKeyDown);\n }, [disableCloseOnEsc, onClose]);\n\n const handleClick = useCallback(\n (event) => {\n event?.stopPropagation();\n typeof onClick === \"function\" && onClick(event);\n },\n [onClick]\n );\n\n return (\n <Portal>\n <FocusLock\n returnFocus={disableReturnFocus ? false : returnFocus}\n disabled={disableFocusLock}\n >\n <RemoveScroll\n forwardProps\n ref={handleRef}\n enabled={!disableScrollLock}\n noIsolation={!isolateScroll}\n >\n <StyledWindow\n {...rest}\n style={{ zIndex, ...style }}\n onKeyDown={handleKeyDown}\n tabIndex={0}\n className={classnames(\"c-window\", className)}\n onClick={handleClick}\n >\n {children}\n </StyledWindow>\n </RemoveScroll>\n </FocusLock>\n </Portal>\n );\n }\n);\n\nWindow.displayName = \"Window\";\n"],"mappings":"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","ignoreList":[]}
|
package/dist/index.js
CHANGED
|
@@ -16809,6 +16809,25 @@
|
|
|
16809
16809
|
onKeyDown(event);
|
|
16810
16810
|
}
|
|
16811
16811
|
}, [disableCloseOnEsc, onClose, onKeyDown]);
|
|
16812
|
+
|
|
16813
|
+
// Focus that falls to the body, when the focused node unmounts, sends no key to the window.
|
|
16814
|
+
React.useEffect(function () {
|
|
16815
|
+
if (disableCloseOnEsc || !onClose) {
|
|
16816
|
+
return undefined;
|
|
16817
|
+
}
|
|
16818
|
+
var handleBodyKeyDown = function handleBodyKeyDown(event) {
|
|
16819
|
+
var windows = document.querySelectorAll(".c-window");
|
|
16820
|
+
var isTopWindow = windows[windows.length - 1] === innerRef.current;
|
|
16821
|
+
if (event.target === document.body && !event.defaultPrevented && (event.key === "Esc" || event.key === "Escape") && isTopWindow) {
|
|
16822
|
+
event.preventDefault();
|
|
16823
|
+
onClose();
|
|
16824
|
+
}
|
|
16825
|
+
};
|
|
16826
|
+
document.addEventListener("keydown", handleBodyKeyDown);
|
|
16827
|
+
return function () {
|
|
16828
|
+
return document.removeEventListener("keydown", handleBodyKeyDown);
|
|
16829
|
+
};
|
|
16830
|
+
}, [disableCloseOnEsc, onClose]);
|
|
16812
16831
|
var handleClick = React.useCallback(function (event) {
|
|
16813
16832
|
event === null || event === void 0 || event.stopPropagation();
|
|
16814
16833
|
typeof onClick === "function" && onClick(event);
|
|
@@ -26166,6 +26185,7 @@
|
|
|
26166
26185
|
onKeyDown: handleOnKeyDown,
|
|
26167
26186
|
onChange: handleOnChange,
|
|
26168
26187
|
placeholder: !hasSelected ? placeholder : undefined,
|
|
26188
|
+
autoComplete: "off",
|
|
26169
26189
|
$mode: triggerMode,
|
|
26170
26190
|
disabled: disabled,
|
|
26171
26191
|
$size: size,
|
|
@@ -26205,6 +26225,7 @@
|
|
|
26205
26225
|
onKeyDown: handleOnKeyDown,
|
|
26206
26226
|
onChange: handleOnChange,
|
|
26207
26227
|
placeholder: placeholder,
|
|
26228
|
+
autoComplete: "off",
|
|
26208
26229
|
disabled: disabled,
|
|
26209
26230
|
size: size,
|
|
26210
26231
|
invalid: invalid,
|