@activecollab/components 2.0.209 → 2.0.211
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/Autocomplete/Autocomplete.js +216 -79
- package/dist/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/dist/cjs/components/ComboBox/ComboBox.js +4 -2
- package/dist/cjs/components/ComboBox/ComboBox.js.map +1 -1
- package/dist/cjs/components/Input/InputPhone.js +10 -6
- package/dist/cjs/components/Input/InputPhone.js.map +1 -1
- package/dist/cjs/components/Input/InputSelect.js +4 -2
- package/dist/cjs/components/Input/InputSelect.js.map +1 -1
- package/dist/cjs/components/Input/InputTime.js +4 -2
- package/dist/cjs/components/Input/InputTime.js.map +1 -1
- package/dist/cjs/components/Input/Styles.js +14 -3
- package/dist/cjs/components/Input/Styles.js.map +1 -1
- package/dist/cjs/components/Select/OptionGroup/OptionGroup.js +5 -16
- package/dist/cjs/components/Select/OptionGroup/OptionGroup.js.map +1 -1
- package/dist/cjs/components/Select/OptionGroup/Styles.js +1 -1
- package/dist/cjs/components/Select/OptionGroup/Styles.js.map +1 -1
- package/dist/cjs/components/Select/Select.js +4 -2
- package/dist/cjs/components/Select/Select.js.map +1 -1
- package/dist/cjs/hooks/useHighlightText.js +1 -0
- package/dist/cjs/hooks/useHighlightText.js.map +1 -1
- package/dist/esm/components/Autocomplete/Autocomplete.d.ts +6 -3
- package/dist/esm/components/Autocomplete/Autocomplete.d.ts.map +1 -1
- package/dist/esm/components/Autocomplete/Autocomplete.js +189 -58
- package/dist/esm/components/Autocomplete/Autocomplete.js.map +1 -1
- package/dist/esm/components/ComboBox/ComboBox.d.ts.map +1 -1
- package/dist/esm/components/ComboBox/ComboBox.js +3 -1
- package/dist/esm/components/ComboBox/ComboBox.js.map +1 -1
- package/dist/esm/components/Input/InputPhone.d.ts.map +1 -1
- package/dist/esm/components/Input/InputPhone.js +11 -7
- package/dist/esm/components/Input/InputPhone.js.map +1 -1
- package/dist/esm/components/Input/InputSelect.d.ts +2 -0
- package/dist/esm/components/Input/InputSelect.d.ts.map +1 -1
- package/dist/esm/components/Input/InputSelect.js +4 -2
- package/dist/esm/components/Input/InputSelect.js.map +1 -1
- package/dist/esm/components/Input/InputTime.d.ts +1 -0
- package/dist/esm/components/Input/InputTime.d.ts.map +1 -1
- package/dist/esm/components/Input/InputTime.js +3 -1
- package/dist/esm/components/Input/InputTime.js.map +1 -1
- package/dist/esm/components/Input/Styles.d.ts +4 -1
- package/dist/esm/components/Input/Styles.d.ts.map +1 -1
- package/dist/esm/components/Input/Styles.js +13 -2
- package/dist/esm/components/Input/Styles.js.map +1 -1
- package/dist/esm/components/Select/OptionGroup/OptionGroup.d.ts.map +1 -1
- package/dist/esm/components/Select/OptionGroup/OptionGroup.js +5 -10
- package/dist/esm/components/Select/OptionGroup/OptionGroup.js.map +1 -1
- package/dist/esm/components/Select/OptionGroup/Styles.d.ts.map +1 -1
- package/dist/esm/components/Select/OptionGroup/Styles.js +1 -1
- package/dist/esm/components/Select/OptionGroup/Styles.js.map +1 -1
- package/dist/esm/components/Select/Select.d.ts +1 -0
- package/dist/esm/components/Select/Select.d.ts.map +1 -1
- package/dist/esm/components/Select/Select.js +3 -1
- package/dist/esm/components/Select/Select.js.map +1 -1
- package/dist/esm/hooks/useHighlightText.d.ts.map +1 -1
- package/dist/esm/hooks/useHighlightText.js +1 -0
- package/dist/esm/hooks/useHighlightText.js.map +1 -1
- package/dist/index.js +264 -114
- 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 +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboBox.js","names":["React","useCallback","useState","useEffect","useRef","useMemo","Fragment","RemoveScroll","classNames","StyledComboBoxCloseSmallIcon","StyledComboBoxCollapseExpandSingleIcon","StyledComboBoxInput","StyledComboBoxList","StyledChipWrapper","Portal","ConditionalWrapper","useIsFirstRender","useOnClickOutside","useForkRef","Autocomplete","isOptionGroup","Avatar","Checkbox","Chip","IconButton","InputAdornment","StyledInput","StyledInputWrapper","SpinnerLoader","MultiAvatar","Popper","RadioButton","OptionContent","Trigger","Typography","sizeMap","small","regular","big","biggest","ComboBox","_ref","_comboBoxRef$current2","_comboBoxRef$current3","options","selected","loading","loadingText","onChange","onInputChange","placeholder","handleEmptyAction","disabled","size","invalid","type","renderChip","forceCloseMenu","renderOption","limitChips","hiddenNumberText","inPortal","inputWrapperClassName","scrollWrapper","onClose","onClear","onDeselect","defaultValue","open","defaultOpen","onOpen","triggerMode","noResultText","emptyValue","prop","selectedName","value","map","v","find","q","id","name","setValue","focused","setFocused","handleOnChange","e","target","childNode","elementRef","handleRef","wrapperRef","chipWrapper","comboBoxRef","setOpen","isFirstRender","_comboBoxRef$current","current","contains","handleOnKeyDown","key","stopPropagation","_childNode$current","_childNode$current2","focus","blur","emptyAction","handleChange","selectedValue","handleOpen","handleRenderOption","option","props","createElement","imageUrl","image","color","textColor","handleDeselect","handleMouseDown","preventDefault","handleBlur","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","onKeyDown","$loading","style","display","flex","alignSelf","width","_StyledTrigger","onMouseDown","wrapperClick","mode","wrapRef","endAdornment","disablePointerEvents","condition","wrap","children","anchorEl","placement","zIndex","clientWidth","strategy","noIsolation","allowPinchZoom","$width","$hide","inputEl","displayName","_styled","withConfig","componentId","p"],"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} from \"./Styles\";\nimport { Portal } 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 { 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 /** 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 /** 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 onDeselect?: () => void;\n open?: boolean;\n triggerMode?: InputMode;\n}\n\nexport const ComboBox: FC<IComboBoxProps> = ({\n options = [],\n selected,\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 scrollWrapper,\n onClose,\n onClear,\n onDeselect,\n defaultValue,\n open: defaultOpen = false,\n onOpen,\n triggerMode,\n noResultText,\n emptyValue,\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\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 setOpen(false);\n });\n\n const handleOnKeyDown = useCallback(\n (e) => {\n if (e.key === \"Escape\" && open) {\n setOpen(false);\n setValue(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, onOpen, open, selectedName, type]\n );\n\n useEffect(() => {\n open && childNode?.current?.focus();\n !open && childNode?.current?.blur();\n }, [childNode, open]);\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 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 setValue(selectedName);\n setFocused(!focused);\n }, [focused, selectedName]);\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) && type === \"multiple\" && selected.length > 0;\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\n const isValueInOptions = options?.some((option) =>\n isOptionGroup(option)\n ? option.options.some(valueExists)\n : valueExists(option)\n );\n\n return (\n (hasOptions && (!!defaultValue || !value)) ||\n (value && (isValueInOptions || emptyValue || noResultText))\n );\n }, [defaultValue, emptyValue, noResultText, options, value]);\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={() => {\n setFocused(!focused);\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 css={`\n display: flex;\n justify-content: center;\n `}\n >\n <StyledComboBoxCloseSmallIcon />\n </Trigger>\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={() => {\n setFocused(!focused);\n handleOpen();\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 ? (\n <SpinnerLoader />\n ) : selected ? (\n <IconButton\n onMouseDown={handleMouseDown}\n onClick={handleDeselect}\n variant=\"text gray\"\n size=\"small\"\n >\n <StyledComboBoxCloseSmallIcon />\n </IconButton>\n ) : null}\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=\"bottom\"\n style={{\n zIndex: 10,\n width: 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 />\n </StyledComboBoxList>\n </RemoveScroll>\n </Popper>\n </ConditionalWrapper>\n ) : null}\n </div>\n );\n};\n\nComboBox.displayName = \"ComboBox\";\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ComboBox.js","names":["React","useCallback","useState","useEffect","useRef","useMemo","Fragment","RemoveScroll","classNames","StyledComboBoxCloseSmallIcon","StyledComboBoxCollapseExpandSingleIcon","StyledComboBoxInput","StyledComboBoxList","StyledChipWrapper","Portal","ConditionalWrapper","useIsFirstRender","useOnClickOutside","useForkRef","Autocomplete","isOptionGroup","Avatar","Checkbox","Chip","IconButton","InputAdornment","StyledInput","StyledInputWrapper","SpinnerLoader","MultiAvatar","Popper","RadioButton","OptionContent","Trigger","Typography","sizeMap","small","regular","big","biggest","ComboBox","_ref","_comboBoxRef$current2","_comboBoxRef$current3","options","selected","loading","loadingText","onChange","onInputChange","placeholder","handleEmptyAction","disabled","size","invalid","type","renderChip","forceCloseMenu","renderOption","limitChips","hiddenNumberText","inPortal","inputWrapperClassName","scrollWrapper","onClose","onClear","onDeselect","defaultValue","open","defaultOpen","onOpen","triggerMode","noResultText","emptyValue","disableVirtualization","prop","selectedName","value","map","v","find","q","id","name","setValue","focused","setFocused","handleOnChange","e","target","childNode","elementRef","handleRef","wrapperRef","chipWrapper","comboBoxRef","setOpen","isFirstRender","_comboBoxRef$current","current","contains","handleOnKeyDown","key","stopPropagation","_childNode$current","_childNode$current2","focus","blur","emptyAction","handleChange","selectedValue","handleOpen","handleRenderOption","option","props","createElement","imageUrl","image","color","textColor","handleDeselect","handleMouseDown","preventDefault","handleBlur","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","onKeyDown","$loading","style","display","flex","alignSelf","width","_StyledTrigger","onMouseDown","wrapperClick","mode","wrapRef","endAdornment","disablePointerEvents","condition","wrap","children","anchorEl","placement","zIndex","clientWidth","strategy","noIsolation","allowPinchZoom","$width","$hide","inputEl","displayName","_styled","withConfig","componentId","p"],"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} from \"./Styles\";\nimport { Portal } 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 { 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 /** 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 /** 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 onDeselect?: () => void;\n open?: boolean;\n triggerMode?: InputMode;\n}\n\nexport const ComboBox: FC<IComboBoxProps> = ({\n options = [],\n selected,\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 scrollWrapper,\n onClose,\n onClear,\n onDeselect,\n defaultValue,\n open: defaultOpen = false,\n onOpen,\n triggerMode,\n noResultText,\n emptyValue,\n disableVirtualization,\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\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 setOpen(false);\n });\n\n const handleOnKeyDown = useCallback(\n (e) => {\n if (e.key === \"Escape\" && open) {\n setOpen(false);\n setValue(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, onOpen, open, selectedName, type]\n );\n\n useEffect(() => {\n open && childNode?.current?.focus();\n !open && childNode?.current?.blur();\n }, [childNode, open]);\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 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 setValue(selectedName);\n setFocused(!focused);\n }, [focused, selectedName]);\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) && type === \"multiple\" && selected.length > 0;\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\n const isValueInOptions = options?.some((option) =>\n isOptionGroup(option)\n ? option.options.some(valueExists)\n : valueExists(option)\n );\n\n return (\n (hasOptions && (!!defaultValue || !value)) ||\n (value && (isValueInOptions || emptyValue || noResultText))\n );\n }, [defaultValue, emptyValue, noResultText, options, value]);\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={() => {\n setFocused(!focused);\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 css={`\n display: flex;\n justify-content: center;\n `}\n >\n <StyledComboBoxCloseSmallIcon />\n </Trigger>\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={() => {\n setFocused(!focused);\n handleOpen();\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 ? (\n <SpinnerLoader />\n ) : selected ? (\n <IconButton\n onMouseDown={handleMouseDown}\n onClick={handleDeselect}\n variant=\"text gray\"\n size=\"small\"\n >\n <StyledComboBoxCloseSmallIcon />\n </IconButton>\n ) : null}\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=\"bottom\"\n style={{\n zIndex: 10,\n width: 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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputPhone.d.ts","sourceRoot":"","sources":["../../../../src/components/Input/InputPhone.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AAUf,OAAO,EAAS,UAAU,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"InputPhone.d.ts","sourceRoot":"","sources":["../../../../src/components/Input/InputPhone.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AAUf,OAAO,EAAS,UAAU,EAAE,MAAM,SAAS,CAAC;AAa5C,MAAM,WAAW,eACf,SAAQ,IAAI,CACV,UAAU,EACV,MAAM,GAAG,gBAAgB,GAAG,UAAU,GAAG,OAAO,GAAG,MAAM,CAC1D;IACD,kBAAkB;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,iBAAiB;IACjB,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,KAAK,CAAC;CACpC;AAqBD,eAAO,MAAM,UAAU,0FAiJtB,CAAC"}
|
|
@@ -3,13 +3,13 @@ import React, { forwardRef, useCallback, useEffect, useRef, useState } from "rea
|
|
|
3
3
|
import { callingCodeToCountryCodeMap, countriesArraySortedByName, getCountryCallingCode, getCountryFlag } from "country-explorer";
|
|
4
4
|
import { Input } from "./Input";
|
|
5
5
|
import { InputSelect } from "./InputSelect";
|
|
6
|
-
import { StyledFlagTriggerLabel, StyledOptionFlag, StyledOptionName, StyledOptionWrapper } from "./Styles";
|
|
6
|
+
import { StyledFlagTriggerLabel, StyledOptionCode, StyledOptionFlag, StyledOptionName, StyledOptionRowEnd, StyledOptionWrapper } from "./Styles";
|
|
7
7
|
import { useForkRef } from "../../utils";
|
|
8
8
|
import { RadioButton } from "../RadioButton";
|
|
9
|
-
const renderOption = (option, data) => /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(StyledOptionWrapper, null, /*#__PURE__*/React.createElement(StyledOptionFlag, null, getCountryFlag(option.id)), /*#__PURE__*/React.createElement(StyledOptionName, null, option.name)), /*#__PURE__*/React.createElement(RadioButton, {
|
|
9
|
+
const renderOption = (option, data) => /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(StyledOptionWrapper, null, /*#__PURE__*/React.createElement(StyledOptionFlag, null, getCountryFlag(option.id)), /*#__PURE__*/React.createElement(StyledOptionName, null, option.name)), /*#__PURE__*/React.createElement(StyledOptionRowEnd, null, /*#__PURE__*/React.createElement(StyledOptionCode, null, option.additionalInfo), /*#__PURE__*/React.createElement(RadioButton, {
|
|
10
10
|
checked: data.checked,
|
|
11
11
|
onChange: data.onChange
|
|
12
|
-
}));
|
|
12
|
+
})));
|
|
13
13
|
export const InputPhone = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
14
14
|
let {
|
|
15
15
|
size = "regular",
|
|
@@ -25,7 +25,8 @@ export const InputPhone = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
|
25
25
|
const [value, setValue] = useState("");
|
|
26
26
|
const options = countriesArraySortedByName.map(country => ({
|
|
27
27
|
id: country.countryCode,
|
|
28
|
-
name:
|
|
28
|
+
name: country.name,
|
|
29
|
+
additionalInfo: "+" + country.callingCode
|
|
29
30
|
}));
|
|
30
31
|
const separatePrefixFromValue = fullValue => {
|
|
31
32
|
let newPrefix = prefix;
|
|
@@ -37,12 +38,11 @@ export const InputPhone = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
|
37
38
|
const code = digits.slice(0, i);
|
|
38
39
|
if (callingCodeToCountryCodeMap[code]) {
|
|
39
40
|
newPrefix = callingCodeToCountryCodeMap[code];
|
|
40
|
-
|
|
41
|
+
const dialCode = getCountryCallingCode(newPrefix);
|
|
42
|
+
newValue = fullValue.slice(prefixLength + dialCode.length);
|
|
41
43
|
break;
|
|
42
44
|
}
|
|
43
45
|
}
|
|
44
|
-
} else if (fullValue.startsWith(prefix)) {
|
|
45
|
-
newValue = fullValue.slice(prefix.length);
|
|
46
46
|
}
|
|
47
47
|
return {
|
|
48
48
|
newPrefix,
|
|
@@ -118,6 +118,10 @@ export const InputPhone = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
|
118
118
|
onChange: handleSelectChange,
|
|
119
119
|
options: options,
|
|
120
120
|
selected: prefix,
|
|
121
|
+
filterCriteria: (option, filter) => {
|
|
122
|
+
var _option$additionalInf;
|
|
123
|
+
return !!(option != null && (_option$additionalInf = option.additionalInfo) != null && _option$additionalInf.toLowerCase().includes(filter));
|
|
124
|
+
},
|
|
121
125
|
selectedLabel: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(StyledFlagTriggerLabel, {
|
|
122
126
|
$size: size
|
|
123
127
|
}, getCountryFlag(prefix)), "+", getCountryCallingCode(prefix)),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputPhone.js","names":["React","forwardRef","useCallback","useEffect","useRef","useState","callingCodeToCountryCodeMap","countriesArraySortedByName","getCountryCallingCode","getCountryFlag","Input","InputSelect","StyledFlagTriggerLabel","StyledOptionFlag","StyledOptionName","StyledOptionWrapper","useForkRef","RadioButton","renderOption","option","data","createElement","Fragment","id","name","checked","onChange","InputPhone","_ref","ref","size","disabled","value","defaultValue","defaultCountry","rest","inputRef","handleRef","prefix","setPrefix","setValue","options","map","country","countryCode","callingCode","separatePrefixFromValue","fullValue","newPrefix","newValue","startsWith","prefixLength","digits","slice","i","length","code","handleChange","e","inputValue","target","test","handleSelectChange","val","setTimeout","_inputRef$current","current","focus","handlePaste","preventDefault","paste","clipboardData","getData","filteredPaste","replace","inputElement","currentTarget","selectionStart","selectionEnd","currentValue","beforeSelection","afterSelection","newValueAfterPaste","_extends","type","onPaste","startAdornment","selected","selectedLabel","$size","keepSameOptionsOrder","search","displayName"],"sources":["../../../../src/components/Input/InputPhone.tsx"],"sourcesContent":["import React, {\n ChangeEventHandler,\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\n\nimport {\n callingCodeToCountryCodeMap,\n countriesArraySortedByName,\n getCountryCallingCode,\n getCountryFlag,\n Country,\n} from \"country-explorer\";\n\nimport { Input, InputProps } from \"./Input\";\nimport { InputSelect } from \"./InputSelect\";\nimport {\n StyledFlagTriggerLabel,\n StyledOptionFlag,\n StyledOptionName,\n StyledOptionWrapper,\n} from \"./Styles\";\nimport { useForkRef } from \"../../utils\";\nimport { RadioButton } from \"../RadioButton\";\n\nexport interface InputPhoneProps\n extends Omit<\n InputProps,\n \"type\" | \"startAdornment\" | \"onChange\" | \"value\" | \"size\"\n > {\n /** Input value */\n value?: string;\n /** Default country code to be selected */\n defaultCountry?: string;\n /** onChange function */\n onChange?: (val: string) => void;\n /** Input size */\n size?: \"small\" | \"regular\" | \"big\";\n}\n\nconst renderOption = (\n option: Record<string, React.ReactNode>,\n data: Record<string, unknown>\n): React.ReactElement => (\n <>\n <StyledOptionWrapper>\n <StyledOptionFlag>{getCountryFlag(option.id)}</StyledOptionFlag>\n <StyledOptionName>{option.name}</StyledOptionName>\n </StyledOptionWrapper>\n <RadioButton\n checked={data.checked as boolean}\n onChange={data.onChange as ChangeEventHandler<HTMLInputElement>}\n />\n </>\n);\n\nexport const InputPhone = forwardRef<HTMLInputElement, InputPhoneProps>(\n (\n {\n size = \"regular\",\n disabled,\n value: defaultValue = \"\",\n onChange,\n defaultCountry = \"US\",\n ...rest\n },\n ref\n ) => {\n const inputRef = useRef<HTMLInputElement | null>(null);\n const handleRef = useForkRef(ref, inputRef);\n const [prefix, setPrefix] = useState(defaultCountry);\n const [value, setValue] = useState<string>(\"\");\n\n const options = countriesArraySortedByName.map((country: Country) => ({\n id: country.countryCode,\n name: `+${country.callingCode} ${country.name}`,\n }));\n\n const separatePrefixFromValue = (\n fullValue: string\n ): { newPrefix: string; newValue: string } => {\n let newPrefix = prefix;\n let newValue = fullValue;\n\n if (fullValue.startsWith(\"+\") || fullValue.startsWith(\"00\")) {\n const prefixLength = fullValue.startsWith(\"+\") ? 1 : 2;\n const digits = fullValue.slice(prefixLength);\n\n for (let i = digits.length; i >= 1; i--) {\n const code = digits.slice(0, i);\n if (callingCodeToCountryCodeMap[code]) {\n newPrefix = callingCodeToCountryCodeMap[code];\n newValue = fullValue.slice(\n prefixLength + getCountryCallingCode(newPrefix).length\n );\n break;\n }\n }\n } else if (fullValue.startsWith(prefix)) {\n newValue = fullValue.slice(prefix.length);\n }\n\n return { newPrefix, newValue };\n };\n\n useEffect(() => {\n const { newPrefix, newValue } = separatePrefixFromValue(defaultValue);\n setPrefix(newPrefix);\n setValue(newValue);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [defaultValue]);\n\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const inputValue = e.target.value;\n if (/[^0-9+]/.test(inputValue)) {\n return;\n }\n\n const { newPrefix, newValue } = separatePrefixFromValue(inputValue);\n setPrefix(newPrefix);\n setValue(newValue);\n\n typeof onChange === \"function\" &&\n onChange(`+${getCountryCallingCode(newPrefix)}${newValue}`);\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [onChange, prefix]\n );\n\n const handleSelectChange = (val: string | number | (string | number)[]) => {\n setPrefix(val as string);\n setTimeout(() => {\n inputRef.current?.focus();\n }, 200);\n typeof onChange === \"function\" &&\n onChange(`+${getCountryCallingCode(val)}${value}`);\n };\n\n const handlePaste = (e: React.ClipboardEvent) => {\n e.preventDefault();\n\n const paste = e.clipboardData.getData(\"text\");\n const filteredPaste = paste.replace(/[^0-9+]/g, \"\");\n\n const inputElement = e.currentTarget as HTMLInputElement;\n const { selectionStart, selectionEnd } = inputElement;\n\n if (selectionStart !== null && selectionEnd !== null) {\n const currentValue = inputElement.value;\n const beforeSelection = currentValue.slice(0, selectionStart);\n const afterSelection = currentValue.slice(selectionEnd);\n\n const newValueAfterPaste =\n beforeSelection + filteredPaste + afterSelection;\n const { newPrefix, newValue } =\n separatePrefixFromValue(newValueAfterPaste);\n\n setPrefix(newPrefix);\n setValue(newValue);\n\n typeof onChange === \"function\" &&\n onChange(`+${getCountryCallingCode(newPrefix)}${newValue}`);\n }\n };\n\n return (\n <Input\n {...rest}\n ref={handleRef}\n size={size}\n value={value}\n disabled={disabled}\n type=\"text\"\n onPaste={handlePaste}\n onChange={handleChange}\n data-testid=\"InputPhone\"\n startAdornment={\n <InputSelect\n size={size}\n onChange={handleSelectChange}\n options={options}\n selected={prefix}\n selectedLabel={\n <>\n <StyledFlagTriggerLabel $size={size}>\n {getCountryFlag(prefix)}\n </StyledFlagTriggerLabel>\n +{getCountryCallingCode(prefix)}\n </>\n }\n disabled={disabled}\n keepSameOptionsOrder={false}\n search\n renderOption={renderOption}\n />\n }\n />\n );\n }\n);\n\nInputPhone.displayName = \"InputPhone\";\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"InputPhone.js","names":["React","forwardRef","useCallback","useEffect","useRef","useState","callingCodeToCountryCodeMap","countriesArraySortedByName","getCountryCallingCode","getCountryFlag","Input","InputSelect","StyledFlagTriggerLabel","StyledOptionCode","StyledOptionFlag","StyledOptionName","StyledOptionRowEnd","StyledOptionWrapper","useForkRef","RadioButton","renderOption","option","data","createElement","Fragment","id","name","additionalInfo","checked","onChange","InputPhone","_ref","ref","size","disabled","value","defaultValue","defaultCountry","rest","inputRef","handleRef","prefix","setPrefix","setValue","options","map","country","countryCode","callingCode","separatePrefixFromValue","fullValue","newPrefix","newValue","startsWith","prefixLength","digits","slice","i","length","code","dialCode","handleChange","e","inputValue","target","test","handleSelectChange","val","setTimeout","_inputRef$current","current","focus","handlePaste","preventDefault","paste","clipboardData","getData","filteredPaste","replace","inputElement","currentTarget","selectionStart","selectionEnd","currentValue","beforeSelection","afterSelection","newValueAfterPaste","_extends","type","onPaste","startAdornment","selected","filterCriteria","filter","_option$additionalInf","toLowerCase","includes","selectedLabel","$size","keepSameOptionsOrder","search","displayName"],"sources":["../../../../src/components/Input/InputPhone.tsx"],"sourcesContent":["import React, {\n ChangeEventHandler,\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\n\nimport {\n callingCodeToCountryCodeMap,\n countriesArraySortedByName,\n getCountryCallingCode,\n getCountryFlag,\n Country,\n} from \"country-explorer\";\n\nimport { Input, InputProps } from \"./Input\";\nimport { InputSelect } from \"./InputSelect\";\nimport {\n StyledFlagTriggerLabel,\n StyledOptionCode,\n StyledOptionFlag,\n StyledOptionName,\n StyledOptionRowEnd,\n StyledOptionWrapper,\n} from \"./Styles\";\nimport { useForkRef } from \"../../utils\";\nimport { RadioButton } from \"../RadioButton\";\n\nexport interface InputPhoneProps\n extends Omit<\n InputProps,\n \"type\" | \"startAdornment\" | \"onChange\" | \"value\" | \"size\"\n > {\n /** Input value */\n value?: string;\n /** Default country code to be selected */\n defaultCountry?: string;\n /** onChange function */\n onChange?: (val: string) => void;\n /** Input size */\n size?: \"small\" | \"regular\" | \"big\";\n}\n\nconst renderOption = (\n option: Record<string, React.ReactNode>,\n data: Record<string, unknown>\n): React.ReactElement => (\n <>\n <StyledOptionWrapper>\n <StyledOptionFlag>{getCountryFlag(option.id)}</StyledOptionFlag>\n <StyledOptionName>{option.name}</StyledOptionName>\n </StyledOptionWrapper>\n <StyledOptionRowEnd>\n <StyledOptionCode>{option.additionalInfo}</StyledOptionCode>\n <RadioButton\n checked={data.checked as boolean}\n onChange={data.onChange as ChangeEventHandler<HTMLInputElement>}\n />\n </StyledOptionRowEnd>\n </>\n);\n\nexport const InputPhone = forwardRef<HTMLInputElement, InputPhoneProps>(\n (\n {\n size = \"regular\",\n disabled,\n value: defaultValue = \"\",\n onChange,\n defaultCountry = \"US\",\n ...rest\n },\n ref\n ) => {\n const inputRef = useRef<HTMLInputElement | null>(null);\n const handleRef = useForkRef(ref, inputRef);\n const [prefix, setPrefix] = useState(defaultCountry);\n const [value, setValue] = useState<string>(\"\");\n\n const options = countriesArraySortedByName.map((country: Country) => ({\n id: country.countryCode,\n name: country.name,\n additionalInfo: `+${country.callingCode}`,\n }));\n\n const separatePrefixFromValue = (\n fullValue: string\n ): { newPrefix: string; newValue: string } => {\n let newPrefix = prefix;\n let newValue = fullValue;\n\n if (fullValue.startsWith(\"+\") || fullValue.startsWith(\"00\")) {\n const prefixLength = fullValue.startsWith(\"+\") ? 1 : 2;\n const digits = fullValue.slice(prefixLength);\n\n for (let i = digits.length; i >= 1; i--) {\n const code = digits.slice(0, i);\n if (callingCodeToCountryCodeMap[code]) {\n newPrefix = callingCodeToCountryCodeMap[code];\n const dialCode = getCountryCallingCode(newPrefix);\n newValue = fullValue.slice(prefixLength + dialCode.length);\n break;\n }\n }\n }\n\n return { newPrefix, newValue };\n };\n\n useEffect(() => {\n const { newPrefix, newValue } = separatePrefixFromValue(defaultValue);\n setPrefix(newPrefix);\n setValue(newValue);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [defaultValue]);\n\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const inputValue = e.target.value;\n if (/[^0-9+]/.test(inputValue)) {\n return;\n }\n\n const { newPrefix, newValue } = separatePrefixFromValue(inputValue);\n setPrefix(newPrefix);\n setValue(newValue);\n\n typeof onChange === \"function\" &&\n onChange(`+${getCountryCallingCode(newPrefix)}${newValue}`);\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [onChange, prefix]\n );\n\n const handleSelectChange = (val: string | number | (string | number)[]) => {\n setPrefix(val as string);\n setTimeout(() => {\n inputRef.current?.focus();\n }, 200);\n typeof onChange === \"function\" &&\n onChange(`+${getCountryCallingCode(val)}${value}`);\n };\n\n const handlePaste = (e: React.ClipboardEvent) => {\n e.preventDefault();\n\n const paste = e.clipboardData.getData(\"text\");\n const filteredPaste = paste.replace(/[^0-9+]/g, \"\");\n\n const inputElement = e.currentTarget as HTMLInputElement;\n const { selectionStart, selectionEnd } = inputElement;\n\n if (selectionStart !== null && selectionEnd !== null) {\n const currentValue = inputElement.value;\n const beforeSelection = currentValue.slice(0, selectionStart);\n const afterSelection = currentValue.slice(selectionEnd);\n\n const newValueAfterPaste =\n beforeSelection + filteredPaste + afterSelection;\n const { newPrefix, newValue } =\n separatePrefixFromValue(newValueAfterPaste);\n\n setPrefix(newPrefix);\n setValue(newValue);\n\n typeof onChange === \"function\" &&\n onChange(`+${getCountryCallingCode(newPrefix)}${newValue}`);\n }\n };\n\n return (\n <Input\n {...rest}\n ref={handleRef}\n size={size}\n value={value}\n disabled={disabled}\n type=\"text\"\n onPaste={handlePaste}\n onChange={handleChange}\n data-testid=\"InputPhone\"\n startAdornment={\n <InputSelect\n size={size}\n onChange={handleSelectChange}\n options={options}\n selected={prefix}\n filterCriteria={(option, filter) => {\n return !!option?.additionalInfo?.toLowerCase().includes(filter);\n }}\n selectedLabel={\n <>\n <StyledFlagTriggerLabel $size={size}>\n {getCountryFlag(prefix)}\n </StyledFlagTriggerLabel>\n +{getCountryCallingCode(prefix)}\n </>\n }\n disabled={disabled}\n keepSameOptionsOrder={false}\n search\n renderOption={renderOption}\n />\n }\n />\n );\n }\n);\n\nInputPhone.displayName = \"InputPhone\";\n"],"mappings":"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"}
|
|
@@ -14,6 +14,8 @@ export interface InputSelectProps {
|
|
|
14
14
|
target?: ElementWithRef<Element>;
|
|
15
15
|
/** Render option */
|
|
16
16
|
renderOption?: (option: Record<string, ReactNode>, data: Record<string, unknown>) => string | ReactElement;
|
|
17
|
+
/** Custom filter function for additional filtering criteria */
|
|
18
|
+
filterCriteria?: (option: IOptionItemProps, filter: string) => boolean;
|
|
17
19
|
}
|
|
18
20
|
export declare const InputSelect: React.FC<InputSelectProps>;
|
|
19
21
|
//# sourceMappingURL=InputSelect.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputSelect.d.ts","sourceRoot":"","sources":["../../../../src/components/Input/InputSelect.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAU,MAAM,WAAW,CAAC;AAGrE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,gCAAgC;IAChC,MAAM,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IACjC,oBAAoB;IACpB,YAAY,CAAC,EAAE,CACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,EACjC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC1B,MAAM,GAAG,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"InputSelect.d.ts","sourceRoot":"","sources":["../../../../src/components/Input/InputSelect.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAU,MAAM,WAAW,CAAC;AAGrE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,gCAAgC;IAChC,MAAM,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IACjC,oBAAoB;IACpB,YAAY,CAAC,EAAE,CACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,EACjC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC1B,MAAM,GAAG,YAAY,CAAC;IAC3B,+DAA+D;IAC/D,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;CACxE;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAsClD,CAAC"}
|
|
@@ -15,7 +15,8 @@ export const InputSelect = _ref => {
|
|
|
15
15
|
disabledInternalSort = true,
|
|
16
16
|
keepSameOptionsOrder = true,
|
|
17
17
|
selectedLabel,
|
|
18
|
-
renderOption
|
|
18
|
+
renderOption,
|
|
19
|
+
filterCriteria
|
|
19
20
|
} = _ref;
|
|
20
21
|
return /*#__PURE__*/React.createElement(Select, {
|
|
21
22
|
onChange: onChange,
|
|
@@ -33,7 +34,8 @@ export const InputSelect = _ref => {
|
|
|
33
34
|
disabledInternalSort: disabledInternalSort,
|
|
34
35
|
keepSameOptionsOrder: keepSameOptionsOrder,
|
|
35
36
|
selected: selected,
|
|
36
|
-
renderOption: renderOption
|
|
37
|
+
renderOption: renderOption,
|
|
38
|
+
filterCriteria: filterCriteria
|
|
37
39
|
});
|
|
38
40
|
};
|
|
39
41
|
var _StyledStyledButton = _styled(StyledButton).withConfig({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputSelect.js","names":["React","StyledInputSelectTrigger","ArrowDownIcon","ArrowDownSmallIcon","Select","StyledButton","InputSelect","_ref","onChange","size","selected","options","search","disabled","disabledInternalSort","keepSameOptionsOrder","selectedLabel","renderOption","createElement","forceCloseMenu","disableSearch","target","_StyledStyledButton","$disabled","$size","fill","_styled","withConfig","displayName","componentId"],"sources":["../../../../src/components/Input/InputSelect.tsx"],"sourcesContent":["import React, { ReactElement, ReactNode } from \"react\";\n\nimport { StyledInputSelectTrigger } from \"./Styles\";\nimport { ArrowDownIcon, ArrowDownSmallIcon } from \"../Icons\";\nimport { ElementWithRef, IOptionItemProps, Select } from \"../Select\";\nimport { StyledButton } from \"../Trigger/Styles\";\n\nexport interface InputSelectProps {\n onChange: (val: string | number | (string | number)[]) => void;\n size: string;\n selected: string;\n options: IOptionItemProps[];\n disabled?: boolean;\n search?: boolean;\n // @ToDo: Fix this\n disabledInternalSort?: boolean;\n keepSameOptionsOrder?: boolean;\n selectedLabel?: ReactNode;\n /** Set select target element */\n target?: ElementWithRef<Element>;\n /** Render option */\n renderOption?: (\n option: Record<string, ReactNode>,\n data: Record<string, unknown>\n ) => string | ReactElement;\n}\n\nexport const InputSelect: React.FC<InputSelectProps> = ({\n onChange,\n size,\n selected,\n options,\n search = false,\n disabled = false,\n disabledInternalSort = true,\n keepSameOptionsOrder = true,\n selectedLabel,\n renderOption,\n}) => {\n return (\n <Select\n onChange={onChange}\n forceCloseMenu\n disableSearch={!search}\n target={\n <StyledButton css=\"flex-shrink:0\">\n <StyledInputSelectTrigger $disabled={disabled} $size={size}>\n {selectedLabel ? selectedLabel : selected}\n {size === \"big\" ? (\n <ArrowDownIcon fill=\"var(--color-theme-700)\" />\n ) : (\n <ArrowDownSmallIcon fill=\"var(--color-theme-700)\" />\n )}\n </StyledInputSelectTrigger>\n </StyledButton>\n }\n options={options}\n disabledInternalSort={disabledInternalSort}\n keepSameOptionsOrder={keepSameOptionsOrder}\n selected={selected}\n renderOption={renderOption}\n />\n );\n};\n"],"mappings":";AAAA,OAAOA,KAAK,MAAmC,OAAO;AAEtD,SAASC,wBAAwB,QAAQ,UAAU;AACnD,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,UAAU;AAC5D,SAA2CC,MAAM,QAAQ,WAAW;AACpE,SAASC,YAAY,QAAQ,mBAAmB;
|
|
1
|
+
{"version":3,"file":"InputSelect.js","names":["React","StyledInputSelectTrigger","ArrowDownIcon","ArrowDownSmallIcon","Select","StyledButton","InputSelect","_ref","onChange","size","selected","options","search","disabled","disabledInternalSort","keepSameOptionsOrder","selectedLabel","renderOption","filterCriteria","createElement","forceCloseMenu","disableSearch","target","_StyledStyledButton","$disabled","$size","fill","_styled","withConfig","displayName","componentId"],"sources":["../../../../src/components/Input/InputSelect.tsx"],"sourcesContent":["import React, { ReactElement, ReactNode } from \"react\";\n\nimport { StyledInputSelectTrigger } from \"./Styles\";\nimport { ArrowDownIcon, ArrowDownSmallIcon } from \"../Icons\";\nimport { ElementWithRef, IOptionItemProps, Select } from \"../Select\";\nimport { StyledButton } from \"../Trigger/Styles\";\n\nexport interface InputSelectProps {\n onChange: (val: string | number | (string | number)[]) => void;\n size: string;\n selected: string;\n options: IOptionItemProps[];\n disabled?: boolean;\n search?: boolean;\n // @ToDo: Fix this\n disabledInternalSort?: boolean;\n keepSameOptionsOrder?: boolean;\n selectedLabel?: ReactNode;\n /** Set select target element */\n target?: ElementWithRef<Element>;\n /** Render option */\n renderOption?: (\n option: Record<string, ReactNode>,\n data: Record<string, unknown>\n ) => string | ReactElement;\n /** Custom filter function for additional filtering criteria */\n filterCriteria?: (option: IOptionItemProps, filter: string) => boolean;\n}\n\nexport const InputSelect: React.FC<InputSelectProps> = ({\n onChange,\n size,\n selected,\n options,\n search = false,\n disabled = false,\n disabledInternalSort = true,\n keepSameOptionsOrder = true,\n selectedLabel,\n renderOption,\n filterCriteria,\n}) => {\n return (\n <Select\n onChange={onChange}\n forceCloseMenu\n disableSearch={!search}\n target={\n <StyledButton css=\"flex-shrink:0\">\n <StyledInputSelectTrigger $disabled={disabled} $size={size}>\n {selectedLabel ? selectedLabel : selected}\n {size === \"big\" ? (\n <ArrowDownIcon fill=\"var(--color-theme-700)\" />\n ) : (\n <ArrowDownSmallIcon fill=\"var(--color-theme-700)\" />\n )}\n </StyledInputSelectTrigger>\n </StyledButton>\n }\n options={options}\n disabledInternalSort={disabledInternalSort}\n keepSameOptionsOrder={keepSameOptionsOrder}\n selected={selected}\n renderOption={renderOption}\n filterCriteria={filterCriteria}\n />\n );\n};\n"],"mappings":";AAAA,OAAOA,KAAK,MAAmC,OAAO;AAEtD,SAASC,wBAAwB,QAAQ,UAAU;AACnD,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,UAAU;AAC5D,SAA2CC,MAAM,QAAQ,WAAW;AACpE,SAASC,YAAY,QAAQ,mBAAmB;AAwBhD,OAAO,MAAMC,WAAuC,GAAGC,IAAA,IAYjD;EAAA,IAZkD;IACtDC,QAAQ;IACRC,IAAI;IACJC,QAAQ;IACRC,OAAO;IACPC,MAAM,GAAG,KAAK;IACdC,QAAQ,GAAG,KAAK;IAChBC,oBAAoB,GAAG,IAAI;IAC3BC,oBAAoB,GAAG,IAAI;IAC3BC,aAAa;IACbC,YAAY;IACZC;EACF,CAAC,GAAAX,IAAA;EACC,oBACEP,KAAA,CAAAmB,aAAA,CAACf,MAAM;IACLI,QAAQ,EAAEA,QAAS;IACnBY,cAAc;IACdC,aAAa,EAAE,CAACT,MAAO;IACvBU,MAAM,eACJtB,KAAA,CAAAmB,aAAA,CAAAI,mBAAA,qBACEvB,KAAA,CAAAmB,aAAA,CAAClB,wBAAwB;MAACuB,SAAS,EAAEX,QAAS;MAACY,KAAK,EAAEhB;IAAK,GACxDO,aAAa,GAAGA,aAAa,GAAGN,QAAQ,EACxCD,IAAI,KAAK,KAAK,gBACbT,KAAA,CAAAmB,aAAA,CAACjB,aAAa;MAACwB,IAAI,EAAC;IAAwB,CAAE,CAAC,gBAE/C1B,KAAA,CAAAmB,aAAA,CAAChB,kBAAkB;MAACuB,IAAI,EAAC;IAAwB,CAAE,CAE7B,CACd,CACf;IACDf,OAAO,EAAEA,OAAQ;IACjBG,oBAAoB,EAAEA,oBAAqB;IAC3CC,oBAAoB,EAAEA,oBAAqB;IAC3CL,QAAQ,EAAEA,QAAS;IACnBO,YAAY,EAAEA,YAAa;IAC3BC,cAAc,EAAEA;EAAe,CAChC,CAAC;AAEN,CAAC;AAAC,IAAAK,mBAAA,GAAAI,OAAA,CAAAtB,YAAA,EAAAuB,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputTime.d.ts","sourceRoot":"","sources":["../../../../src/components/Input/InputTime.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAQhE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAI/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAIjD,eAAO,MAAM,sBAAsB,oEAOlC,CAAC;AAEF,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,GAAG,CAAC,EAAE,gBAAgB,CAAC;IACvB,GAAG,CAAC,EAAE,gBAAgB,CAAC;IACvB,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"InputTime.d.ts","sourceRoot":"","sources":["../../../../src/components/Input/InputTime.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAQhE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAI/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAIjD,eAAO,MAAM,sBAAsB,oEAOlC,CAAC;AAEF,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,GAAG,CAAC,EAAE,gBAAgB,CAAC;IACvB,GAAG,CAAC,EAAE,gBAAgB,CAAC;IACvB,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAMD,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CA2H9C,CAAC"}
|
|
@@ -31,6 +31,7 @@ export const InputTime = _ref => {
|
|
|
31
31
|
triggerMode,
|
|
32
32
|
disabled,
|
|
33
33
|
invalid,
|
|
34
|
+
disableVirtualization,
|
|
34
35
|
...rest
|
|
35
36
|
} = _ref;
|
|
36
37
|
const [isOpen, setIsOpen] = useState(false);
|
|
@@ -109,7 +110,8 @@ export const InputTime = _ref => {
|
|
|
109
110
|
onOpen: handleOpen,
|
|
110
111
|
triggerMode: triggerMode,
|
|
111
112
|
disabled: disabled,
|
|
112
|
-
invalid: invalid
|
|
113
|
+
invalid: invalid,
|
|
114
|
+
disableVirtualization: disableVirtualization
|
|
113
115
|
})));
|
|
114
116
|
};
|
|
115
117
|
//# sourceMappingURL=InputTime.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputTime.js","names":["React","useCallback","useEffect","useState","classNames","nlp","plg","moment","styled","isValidTime","ComboBox","plugin","StyledInputTimeWrapper","div","withConfig","displayName","componentId","renderOption","option","createElement","id","name","InputTime","_ref","mode","selected","defaultSelected","min","max","onChange","step","size","className","placeholder","triggerMode","disabled","invalid","rest","isOpen","setIsOpen","generateTimeOptions","minTime","maxTime","allOptions","currentTime","isBefore","push","format","add","filter","isSameOrAfter","isSameOrBefore","timeOptions","isValidDefaultSelected","some","opt","setSelected","undefined","handleInputChange","text","test","trim","doc","parsed","times","get","value","handleChange","e","handleOpen","handleClose","_document$getElementB","selectedItem","document","getElementById","parentElement","scrollIntoView","behavior","block","_extends","options","open","disabledInternalSort","keepSameOptionsOrder","onInputChange","forceCloseMenu","autoHeightMax","onClose","onOpen"],"sources":["../../../../src/components/Input/InputTime.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport nlp from \"compromise\";\nimport plg, { DatesMethods } from \"compromise-dates\";\nimport moment from \"moment\";\nimport styled from \"styled-components\";\n\nimport { InputMode, InputSize } from \"./types\";\nimport { isValidTime } from \"../../utils/timeUtils\";\nimport { ComboBox } from \"../ComboBox/ComboBox\";\nimport { IOptionItemProps } from \"../Select/Option\";\nimport { Time24HourFormat } from \"../SelectTime\";\n\nnlp.plugin(plg);\n\nexport const StyledInputTimeWrapper = styled.div`\n max-width: 176px;\n flex: 1;\n\n & .c-combo-box--list {\n min-width: 176px;\n }\n`;\n\nexport interface InputTimeProps {\n mode?: \"12\" | \"24\";\n selected?: Time24HourFormat;\n min?: Time24HourFormat;\n max?: Time24HourFormat;\n onChange?: (val: Time24HourFormat) => void;\n className?: string;\n placeholder?: string;\n size?: InputSize;\n step?: 1 | 5 | 15 | 30 | 60;\n triggerMode?: InputMode;\n disabled?: boolean;\n invalid?: boolean;\n}\n\nconst renderOption = (option) => {\n return <div id={option.id}>{option.name}</div>;\n};\n\nexport const InputTime: React.FC<InputTimeProps> = ({\n mode = \"24\",\n selected: defaultSelected,\n min = \"00:00\",\n max = \"23:45\",\n onChange,\n step = 15,\n size,\n className,\n placeholder,\n triggerMode,\n disabled,\n invalid,\n ...rest\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n\n const generateTimeOptions = (): IOptionItemProps[] => {\n const minTime = moment(isValidTime(min) ? min : \"00:00\", \"HH:mm\");\n const maxTime = moment(isValidTime(max) ? max : \"23:45\", \"HH:mm\");\n const allOptions: IOptionItemProps[] = [];\n\n const currentTime = moment(\"00:00\", \"HH:mm\");\n\n while (currentTime.isBefore(moment(\"24:00\", \"HH:mm\"))) {\n allOptions.push({\n id: currentTime.format(\"HH:mm\"),\n name: currentTime.format(mode === \"12\" ? \"hh:mm A\" : \"HH:mm\"),\n });\n currentTime.add(step, \"minutes\");\n }\n\n return allOptions.filter(\n (option) =>\n moment(option.id, \"HH:mm\").isSameOrAfter(minTime) &&\n moment(option.id, \"HH:mm\").isSameOrBefore(maxTime)\n );\n };\n\n const timeOptions = generateTimeOptions();\n\n const isValidDefaultSelected = defaultSelected\n ? timeOptions.some((opt) => opt.id === defaultSelected)\n : false;\n\n const [selected, setSelected] = useState<Time24HourFormat | undefined>(\n isValidDefaultSelected ? defaultSelected : undefined\n );\n\n const handleInputChange = useCallback(\n (text: string) => {\n if (/\\d{1,2}:\\d{2}/.test(text.trim())) {\n return;\n }\n const doc = nlp<DatesMethods>(text);\n const parsed = doc.times().get()[0];\n if (parsed && parsed[\"24h\"] && parsed[\"24h\"] !== selected) {\n const value = moment(parsed).format(\"HH:mm\") as Time24HourFormat;\n if (timeOptions.some((option) => option.id === value)) {\n setSelected(value);\n onChange?.(value);\n setIsOpen(false);\n }\n }\n },\n [onChange, selected, timeOptions]\n );\n\n const handleChange = (e) => {\n setSelected(e);\n onChange?.(e);\n };\n\n const handleOpen = () => {\n setIsOpen(true);\n };\n\n const handleClose = () => {\n setIsOpen(false);\n };\n\n useEffect(() => {\n if (isOpen && selected) {\n const selectedItem = document.getElementById(selected)?.parentElement;\n selectedItem?.scrollIntoView({ behavior: \"smooth\", block: \"center\" });\n }\n }, [isOpen, selected]);\n\n useEffect(() => {\n if (\n defaultSelected !== selected &&\n timeOptions.some((opt) => opt.id === defaultSelected)\n )\n setSelected(defaultSelected);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [defaultSelected, timeOptions]);\n\n return (\n <StyledInputTimeWrapper className={classNames(\"c-input-time\", className)}>\n <ComboBox\n {...rest}\n options={timeOptions}\n open={isOpen}\n disabledInternalSort\n selected={selected}\n keepSameOptionsOrder\n onInputChange={handleInputChange}\n onChange={handleChange}\n forceCloseMenu\n placeholder={placeholder}\n renderOption={renderOption}\n autoHeightMax={226}\n size={size}\n onClose={handleClose}\n onOpen={handleOpen}\n triggerMode={triggerMode}\n disabled={disabled}\n invalid={invalid}\n />\n </StyledInputTimeWrapper>\n );\n};\n"],"mappings":";AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAE/D,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,GAAG,MAAM,YAAY;AAC5B,OAAOC,GAAG,MAAwB,kBAAkB;AACpD,OAAOC,MAAM,MAAM,QAAQ;AAC3B,OAAOC,MAAM,MAAM,mBAAmB;AAGtC,SAASC,WAAW,QAAQ,uBAAuB;AACnD,SAASC,QAAQ,QAAQ,sBAAsB;AAI/CL,GAAG,CAACM,MAAM,CAACL,GAAG,CAAC;AAEf,OAAO,MAAMM,sBAAsB,GAAGJ,MAAM,CAACK,GAAG,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,qEAO/C;
|
|
1
|
+
{"version":3,"file":"InputTime.js","names":["React","useCallback","useEffect","useState","classNames","nlp","plg","moment","styled","isValidTime","ComboBox","plugin","StyledInputTimeWrapper","div","withConfig","displayName","componentId","renderOption","option","createElement","id","name","InputTime","_ref","mode","selected","defaultSelected","min","max","onChange","step","size","className","placeholder","triggerMode","disabled","invalid","disableVirtualization","rest","isOpen","setIsOpen","generateTimeOptions","minTime","maxTime","allOptions","currentTime","isBefore","push","format","add","filter","isSameOrAfter","isSameOrBefore","timeOptions","isValidDefaultSelected","some","opt","setSelected","undefined","handleInputChange","text","test","trim","doc","parsed","times","get","value","handleChange","e","handleOpen","handleClose","_document$getElementB","selectedItem","document","getElementById","parentElement","scrollIntoView","behavior","block","_extends","options","open","disabledInternalSort","keepSameOptionsOrder","onInputChange","forceCloseMenu","autoHeightMax","onClose","onOpen"],"sources":["../../../../src/components/Input/InputTime.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport nlp from \"compromise\";\nimport plg, { DatesMethods } from \"compromise-dates\";\nimport moment from \"moment\";\nimport styled from \"styled-components\";\n\nimport { InputMode, InputSize } from \"./types\";\nimport { isValidTime } from \"../../utils/timeUtils\";\nimport { ComboBox } from \"../ComboBox/ComboBox\";\nimport { IOptionItemProps } from \"../Select/Option\";\nimport { Time24HourFormat } from \"../SelectTime\";\n\nnlp.plugin(plg);\n\nexport const StyledInputTimeWrapper = styled.div`\n max-width: 176px;\n flex: 1;\n\n & .c-combo-box--list {\n min-width: 176px;\n }\n`;\n\nexport interface InputTimeProps {\n mode?: \"12\" | \"24\";\n selected?: Time24HourFormat;\n min?: Time24HourFormat;\n max?: Time24HourFormat;\n onChange?: (val: Time24HourFormat) => void;\n className?: string;\n placeholder?: string;\n size?: InputSize;\n step?: 1 | 5 | 15 | 30 | 60;\n triggerMode?: InputMode;\n disabled?: boolean;\n invalid?: boolean;\n disableVirtualization?: boolean;\n}\n\nconst renderOption = (option) => {\n return <div id={option.id}>{option.name}</div>;\n};\n\nexport const InputTime: React.FC<InputTimeProps> = ({\n mode = \"24\",\n selected: defaultSelected,\n min = \"00:00\",\n max = \"23:45\",\n onChange,\n step = 15,\n size,\n className,\n placeholder,\n triggerMode,\n disabled,\n invalid,\n disableVirtualization,\n ...rest\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n\n const generateTimeOptions = (): IOptionItemProps[] => {\n const minTime = moment(isValidTime(min) ? min : \"00:00\", \"HH:mm\");\n const maxTime = moment(isValidTime(max) ? max : \"23:45\", \"HH:mm\");\n const allOptions: IOptionItemProps[] = [];\n\n const currentTime = moment(\"00:00\", \"HH:mm\");\n\n while (currentTime.isBefore(moment(\"24:00\", \"HH:mm\"))) {\n allOptions.push({\n id: currentTime.format(\"HH:mm\"),\n name: currentTime.format(mode === \"12\" ? \"hh:mm A\" : \"HH:mm\"),\n });\n currentTime.add(step, \"minutes\");\n }\n\n return allOptions.filter(\n (option) =>\n moment(option.id, \"HH:mm\").isSameOrAfter(minTime) &&\n moment(option.id, \"HH:mm\").isSameOrBefore(maxTime)\n );\n };\n\n const timeOptions = generateTimeOptions();\n\n const isValidDefaultSelected = defaultSelected\n ? timeOptions.some((opt) => opt.id === defaultSelected)\n : false;\n\n const [selected, setSelected] = useState<Time24HourFormat | undefined>(\n isValidDefaultSelected ? defaultSelected : undefined\n );\n\n const handleInputChange = useCallback(\n (text: string) => {\n if (/\\d{1,2}:\\d{2}/.test(text.trim())) {\n return;\n }\n const doc = nlp<DatesMethods>(text);\n const parsed = doc.times().get()[0];\n if (parsed && parsed[\"24h\"] && parsed[\"24h\"] !== selected) {\n const value = moment(parsed).format(\"HH:mm\") as Time24HourFormat;\n if (timeOptions.some((option) => option.id === value)) {\n setSelected(value);\n onChange?.(value);\n setIsOpen(false);\n }\n }\n },\n [onChange, selected, timeOptions]\n );\n\n const handleChange = (e) => {\n setSelected(e);\n onChange?.(e);\n };\n\n const handleOpen = () => {\n setIsOpen(true);\n };\n\n const handleClose = () => {\n setIsOpen(false);\n };\n\n useEffect(() => {\n if (isOpen && selected) {\n const selectedItem = document.getElementById(selected)?.parentElement;\n selectedItem?.scrollIntoView({ behavior: \"smooth\", block: \"center\" });\n }\n }, [isOpen, selected]);\n\n useEffect(() => {\n if (\n defaultSelected !== selected &&\n timeOptions.some((opt) => opt.id === defaultSelected)\n )\n setSelected(defaultSelected);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [defaultSelected, timeOptions]);\n\n return (\n <StyledInputTimeWrapper className={classNames(\"c-input-time\", className)}>\n <ComboBox\n {...rest}\n options={timeOptions}\n open={isOpen}\n disabledInternalSort\n selected={selected}\n keepSameOptionsOrder\n onInputChange={handleInputChange}\n onChange={handleChange}\n forceCloseMenu\n placeholder={placeholder}\n renderOption={renderOption}\n autoHeightMax={226}\n size={size}\n onClose={handleClose}\n onOpen={handleOpen}\n triggerMode={triggerMode}\n disabled={disabled}\n invalid={invalid}\n disableVirtualization={disableVirtualization}\n />\n </StyledInputTimeWrapper>\n );\n};\n"],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
1
2
|
import { InputProps } from "./Input";
|
|
2
3
|
import { InputMode, InputSize } from "./types";
|
|
3
4
|
interface StyledInputWrapperProps {
|
|
@@ -27,7 +28,9 @@ export declare const StyledFlagTriggerLabel: import("styled-components").StyledC
|
|
|
27
28
|
$size: "small" | "regular" | "big";
|
|
28
29
|
}, never>;
|
|
29
30
|
export declare const StyledOptionFlag: import("styled-components").StyledComponent<"span", any, {}, never>;
|
|
30
|
-
export declare const StyledOptionName: import("styled-components").StyledComponent<"
|
|
31
|
+
export declare const StyledOptionName: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("../Typography").IBodyProps & Omit<import("../Typography/Typography").ITypographyProps, "variant" | "weight"> & import("react").RefAttributes<HTMLDivElement>>, any, {}, never>;
|
|
32
|
+
export declare const StyledOptionCode: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("../Typography").IBodyProps & Omit<import("../Typography/Typography").ITypographyProps, "variant" | "weight"> & import("react").RefAttributes<HTMLDivElement>>, any, {}, never>;
|
|
33
|
+
export declare const StyledOptionRowEnd: import("styled-components").StyledComponent<"span", any, {}, never>;
|
|
31
34
|
export declare const StyledOptionWrapper: import("styled-components").StyledComponent<"span", any, {}, never>;
|
|
32
35
|
export {};
|
|
33
36
|
//# sourceMappingURL=Styles.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/Input/Styles.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/Input/Styles.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAM/C,UAAU,uBAAuB;IAC/B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,eAAO,MAAM,kBAAkB,yFAuE9B,CAAC;AAIF,UAAU,gBAAiB,SAAQ,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC;IAC1D,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,WAAW,oFA+DvB,CAAC;AAIF,eAAO,MAAM,8BAA8B,oEAK1C,CAAC;AAIF,eAAO,MAAM,uBAAuB;eACvB,MAAM;YACT,MAAM;SAoBf,CAAC;AAIF,eAAO,MAAM,wBAAwB;WAC5B,MAAM;;SAgCd,CAAC;AAIF,eAAO,MAAM,sBAAsB;WAC1B,OAAO,GAAG,SAAS,GAAG,KAAK;SAGnC,CAAC;AAIF,eAAO,MAAM,gBAAgB,qEAG5B,CAAC;AAIF,eAAO,MAAM,gBAAgB,8QAI5B,CAAC;AAIF,eAAO,MAAM,gBAAgB,8QAO5B,CAAC;AAIF,eAAO,MAAM,kBAAkB,qEAI9B,CAAC;AAIF,eAAO,MAAM,mBAAmB,qEAQ/B,CAAC"}
|
|
@@ -2,6 +2,7 @@ import styled, { css } from "styled-components";
|
|
|
2
2
|
import { BoxSizingStyle } from "../BoxSizingStyle";
|
|
3
3
|
import { FontStyle } from "../FontStyle";
|
|
4
4
|
import { InputResetStyle } from "../InputResetStyle";
|
|
5
|
+
import { Body2 } from "../Typography";
|
|
5
6
|
export const StyledInputWrapper = styled.div.withConfig({
|
|
6
7
|
displayName: "Styles__StyledInputWrapper",
|
|
7
8
|
componentId: "sc-ce8kcp-0"
|
|
@@ -68,14 +69,24 @@ export const StyledOptionFlag = styled.span.withConfig({
|
|
|
68
69
|
componentId: "sc-ce8kcp-6"
|
|
69
70
|
})(["font-size:24px;margin-right:4px;"]);
|
|
70
71
|
StyledFlagTriggerLabel.displayName = "StyledOptionFlag";
|
|
71
|
-
export const StyledOptionName = styled.
|
|
72
|
+
export const StyledOptionName = styled(Body2).withConfig({
|
|
72
73
|
displayName: "Styles__StyledOptionName",
|
|
73
74
|
componentId: "sc-ce8kcp-7"
|
|
74
75
|
})(["overflow:hidden;text-overflow:ellipsis;white-space:nowrap;"]);
|
|
75
76
|
StyledOptionName.displayName = "StyledOptionName";
|
|
77
|
+
export const StyledOptionCode = styled(Body2).withConfig({
|
|
78
|
+
displayName: "Styles__StyledOptionCode",
|
|
79
|
+
componentId: "sc-ce8kcp-8"
|
|
80
|
+
})(["overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-left:auto;color:var(--color-theme-600);flex-shrink:0;"]);
|
|
81
|
+
StyledOptionCode.displayName = "StyledOptionCode";
|
|
82
|
+
export const StyledOptionRowEnd = styled.span.withConfig({
|
|
83
|
+
displayName: "Styles__StyledOptionRowEnd",
|
|
84
|
+
componentId: "sc-ce8kcp-9"
|
|
85
|
+
})(["display:flex;align-items:center;gap:8px;"]);
|
|
86
|
+
StyledOptionRowEnd.displayName = "StyledOptionRowEnd";
|
|
76
87
|
export const StyledOptionWrapper = styled.span.withConfig({
|
|
77
88
|
displayName: "Styles__StyledOptionWrapper",
|
|
78
|
-
componentId: "sc-ce8kcp-
|
|
89
|
+
componentId: "sc-ce8kcp-10"
|
|
79
90
|
})(["overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:8px;display:flex;justify-items:center;align-items:center;"]);
|
|
80
91
|
StyledOptionWrapper.displayName = "StyledOptionWrapper";
|
|
81
92
|
//# sourceMappingURL=Styles.js.map
|