@activecollab/components 2.0.166 → 2.0.168
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/ButtonGroup/ButtonGroup.js +4 -2
- package/dist/cjs/components/ButtonGroup/ButtonGroup.js.map +1 -1
- package/dist/cjs/components/ButtonGroup/Styles.js +10 -3
- package/dist/cjs/components/ButtonGroup/Styles.js.map +1 -1
- package/dist/cjs/components/ComboBox/ComboBox.js +39 -13
- package/dist/cjs/components/ComboBox/ComboBox.js.map +1 -1
- package/dist/cjs/components/ComboBox/Styles.js +1 -1
- package/dist/cjs/components/ComboBox/Styles.js.map +1 -1
- package/dist/cjs/components/Input/InputTime.js +130 -0
- package/dist/cjs/components/Input/InputTime.js.map +1 -0
- package/dist/cjs/components/Input/index.js +11 -0
- package/dist/cjs/components/Input/index.js.map +1 -1
- package/dist/cjs/components/SelectTime/SelectTime.js +25 -9
- package/dist/cjs/components/SelectTime/SelectTime.js.map +1 -1
- package/dist/esm/components/ButtonGroup/ButtonGroup.d.ts +3 -1
- package/dist/esm/components/ButtonGroup/ButtonGroup.d.ts.map +1 -1
- package/dist/esm/components/ButtonGroup/ButtonGroup.js +3 -1
- package/dist/esm/components/ButtonGroup/ButtonGroup.js.map +1 -1
- package/dist/esm/components/ButtonGroup/Styles.d.ts +3 -1
- package/dist/esm/components/ButtonGroup/Styles.d.ts.map +1 -1
- package/dist/esm/components/ButtonGroup/Styles.js +5 -5
- package/dist/esm/components/ButtonGroup/Styles.js.map +1 -1
- package/dist/esm/components/ComboBox/ComboBox.d.ts +8 -2
- package/dist/esm/components/ComboBox/ComboBox.d.ts.map +1 -1
- package/dist/esm/components/ComboBox/ComboBox.js +35 -10
- package/dist/esm/components/ComboBox/ComboBox.js.map +1 -1
- package/dist/esm/components/ComboBox/Styles.d.ts +1 -1
- package/dist/esm/components/ComboBox/Styles.js +1 -1
- package/dist/esm/components/ComboBox/Styles.js.map +1 -1
- package/dist/esm/components/Input/InputTime.d.ts +20 -0
- package/dist/esm/components/Input/InputTime.d.ts.map +1 -0
- package/dist/esm/components/Input/InputTime.js +105 -0
- package/dist/esm/components/Input/InputTime.js.map +1 -0
- package/dist/esm/components/Input/index.d.ts +1 -0
- package/dist/esm/components/Input/index.d.ts.map +1 -1
- package/dist/esm/components/Input/index.js +1 -0
- package/dist/esm/components/Input/index.js.map +1 -1
- package/dist/esm/components/SelectTime/SelectTime.d.ts +1 -1
- package/dist/esm/components/SelectTime/SelectTime.d.ts.map +1 -1
- package/dist/esm/components/SelectTime/SelectTime.js +23 -10
- package/dist/esm/components/SelectTime/SelectTime.js.map +1 -1
- package/dist/esm/components/Steppers/DateStepper/Styles.d.ts +3 -1
- package/dist/esm/components/Steppers/DateStepper/Styles.d.ts.map +1 -1
- package/dist/index.js +2675 -2514
- 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 +3 -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","placeholder","handleEmptyAction","disabled","size","invalid","type","renderChip","forceCloseMenu","renderOption","limitChips","hiddenNumberText","inPortal","inputWrapperClassName","scrollWrapper","onClose","onClear","onDeselect","defaultValue","prop","selectedName","value","map","v","find","q","id","name","setValue","focused","setFocused","handleOnChange","e","target","childNode","elementRef","handleRef","wrapperRef","chipWrapper","comboBoxRef","open","setOpen","isFirstRender","_comboBoxRef$current","current","contains","handleOnKeyDown","key","stopPropagation","_childNode$current","_childNode$current2","focus","blur","emptyAction","handleChange","selectedValue","onOpen","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","Boolean","Number","_StyledStyledInputWrapper","$disabled","$size","$invalid","ref","onClick","_elementRef$current","click","$_css3","$_css4","_StyledStyledChipWrapper","$autoSize","$open","$_css5","onBlur","onFocus","onKeyDown","$loading","style","display","flex","alignSelf","width","_StyledTrigger","onMouseDown","wrapperClick","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 { 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 /** 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 close */\n onClose?: () => void;\n /** onClear (f) will be called when user clear input on X icon*/\n onClear?: () => void;\n onDeselect?: () => void;\n}\n\nexport const ComboBox: FC<IComboBoxProps> = ({\n options = [],\n selected,\n loading = false,\n loadingText,\n onChange,\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 ...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((e) => setValue(e.target.value), []);\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(false);\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 }\n },\n [focused, 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 && !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 onOpen = useCallback(() => {\n if (!disabled) {\n setOpen(true);\n }\n }, [disabled]);\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 () => Boolean(options.length || defaultValue || Number(value.length) > 0),\n [defaultValue, options.length, 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 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={onOpen}\n ref={handleRef}\n value={loading && loadingText ? loadingText : value}\n onKeyDown={handleOnKeyDown}\n onChange={handleOnChange}\n placeholder={!hasSelected ? placeholder : undefined}\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={onOpen}\n onFocus={() => {\n setFocused(!focused);\n onOpen();\n }}\n onClick={onOpen}\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 $width={comboBoxRef.current?.clientWidth}\n $hide={!showMenu}\n >\n <Autocomplete\n {...prop}\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","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","onClick","_elementRef$current","click","$_css3","$_css4","_StyledStyledChipWrapper","$autoSize","$open","$_css5","onBlur","onFocus","onKeyDown","$mode","$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 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,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
export declare const StyledComboBoxInput: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("../Input").InputProps & import("react").RefAttributes<HTMLInputElement>>, any, {
|
|
2
|
+
export declare const StyledComboBoxInput: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("../Input/Input").InputProps & import("react").RefAttributes<HTMLInputElement>>, any, {
|
|
3
3
|
$loading?: boolean | undefined;
|
|
4
4
|
}, never>;
|
|
5
5
|
export declare const StyledComboBoxCollapseExpandSingleIcon: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<Omit<import("react").SVGProps<SVGSVGElement>, "ref"> & import("react").RefAttributes<SVGSVGElement>>, any, {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import styled, { css } from "styled-components";
|
|
2
2
|
import { CollapseExpandSingleIcon, CloseSmallIcon } from "../Icons/collection";
|
|
3
|
-
import { Input } from "../Input";
|
|
3
|
+
import { Input } from "../Input/Input";
|
|
4
4
|
import { StyledInputWrapper } from "../Input/Styles";
|
|
5
5
|
export const StyledComboBoxInput = styled(Input).withConfig({
|
|
6
6
|
displayName: "Styles__StyledComboBoxInput",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Styles.js","names":["styled","css","CollapseExpandSingleIcon","CloseSmallIcon","Input","StyledInputWrapper","StyledComboBoxInput","withConfig","displayName","componentId","StyledIconDefaults","StyledComboBoxCollapseExpandSingleIcon","props","$open","StyledComboBoxCloseSmallIcon","StyledComboBoxList","div","$width","_ref","$hide","StyledChipWrapper","_ref2","_ref3","$autoSize","_ref4"],"sources":["../../../../src/components/ComboBox/Styles.ts"],"sourcesContent":["import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\n\nimport { CollapseExpandSingleIcon, CloseSmallIcon } from \"../Icons/collection\";\nimport { Input } from \"../Input\";\nimport { StyledInputWrapper } from \"../Input/Styles\";\n\nexport const StyledComboBoxInput = styled(Input)<{ $loading?: boolean }>`\n overflow: hidden;\n text-overflow: ellipsis;\n width: 100%;\n`;\n\nStyledComboBoxInput.displayName = \"StyledComboBoxInput\";\n\nconst StyledIconDefaults = css`\n flex-shrink: 0;\n cursor: pointer;\n`;\n\nexport const StyledComboBoxCollapseExpandSingleIcon = styled(\n CollapseExpandSingleIcon\n)<{ $open?: boolean }>`\n ${StyledIconDefaults};\n color: var(--color-theme-600);\n transform: rotate(180deg);\n\n ${(props) =>\n props.$open &&\n css`\n transform: rotate(0deg);\n `}\n`;\n\nStyledComboBoxCollapseExpandSingleIcon.displayName =\n \"StyledComboBoxCollapseExpandSingleIcon\";\n\nexport const StyledComboBoxCloseSmallIcon = styled(CloseSmallIcon)`\n ${StyledIconDefaults};\n opacity: 0;\n transition-property: all;\n transition-duration: 0.2s;\n transition-delay: 0.5s;\n\n ${StyledComboBoxInput}:hover, ${StyledInputWrapper}:hover & {\n opacity: 1;\n transition-delay: 0s;\n }\n`;\n\nStyledComboBoxCloseSmallIcon.displayName = \"StyledComboBoxCloseSmallIcon\";\n\nexport const StyledComboBoxList = styled.div<{\n $width?: number;\n $hide: boolean;\n}>`\n min-width: 260px;\n background-color: var(--page-paper-main);\n border-radius: 8px;\n border: 1px solid var(--border-primary);\n box-shadow: var(--shadow-tertiary);\n margin: 8px 0;\n width: ${(props) => `${props.$width}px`};\n\n ${({ $hide }) =>\n $hide === true &&\n css`\n display: none;\n `}\n`;\n\nStyledComboBoxList.displayName = \"StyledComboBoxList\";\n\nexport const StyledChipWrapper = styled.div<{\n $autoSize: string;\n $open?: boolean;\n}>`\n ${tw`tw-flex`};\n ${tw`tw-gap-1`};\n ${tw`tw-flex-1`};\n\n ${({ $open }) =>\n !$open &&\n css`\n overflow: hidden;\n `}\n\n ${({ $autoSize }) =>\n $autoSize === \"auto\" &&\n css`\n ${tw`tw-flex-wrap`};\n ${tw`tw-w-full`};\n `}\n\n ${({ $autoSize }) =>\n $autoSize !== \"auto\" &&\n css`\n align-items: center;\n `}\n`;\nStyledChipWrapper.displayName = \"StyledChipWrapper\";\n"],"mappings":"AAAA,OAAOA,MAAM,IAAIC,GAAG,QAAQ,mBAAmB;AAG/C,SAASC,wBAAwB,EAAEC,cAAc,QAAQ,qBAAqB;AAC9E,SAASC,KAAK,QAAQ,
|
|
1
|
+
{"version":3,"file":"Styles.js","names":["styled","css","CollapseExpandSingleIcon","CloseSmallIcon","Input","StyledInputWrapper","StyledComboBoxInput","withConfig","displayName","componentId","StyledIconDefaults","StyledComboBoxCollapseExpandSingleIcon","props","$open","StyledComboBoxCloseSmallIcon","StyledComboBoxList","div","$width","_ref","$hide","StyledChipWrapper","_ref2","_ref3","$autoSize","_ref4"],"sources":["../../../../src/components/ComboBox/Styles.ts"],"sourcesContent":["import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\n\nimport { CollapseExpandSingleIcon, CloseSmallIcon } from \"../Icons/collection\";\nimport { Input } from \"../Input/Input\";\nimport { StyledInputWrapper } from \"../Input/Styles\";\n\nexport const StyledComboBoxInput = styled(Input)<{ $loading?: boolean }>`\n overflow: hidden;\n text-overflow: ellipsis;\n width: 100%;\n`;\n\nStyledComboBoxInput.displayName = \"StyledComboBoxInput\";\n\nconst StyledIconDefaults = css`\n flex-shrink: 0;\n cursor: pointer;\n`;\n\nexport const StyledComboBoxCollapseExpandSingleIcon = styled(\n CollapseExpandSingleIcon\n)<{ $open?: boolean }>`\n ${StyledIconDefaults};\n color: var(--color-theme-600);\n transform: rotate(180deg);\n\n ${(props) =>\n props.$open &&\n css`\n transform: rotate(0deg);\n `}\n`;\n\nStyledComboBoxCollapseExpandSingleIcon.displayName =\n \"StyledComboBoxCollapseExpandSingleIcon\";\n\nexport const StyledComboBoxCloseSmallIcon = styled(CloseSmallIcon)`\n ${StyledIconDefaults};\n opacity: 0;\n transition-property: all;\n transition-duration: 0.2s;\n transition-delay: 0.5s;\n\n ${StyledComboBoxInput}:hover, ${StyledInputWrapper}:hover & {\n opacity: 1;\n transition-delay: 0s;\n }\n`;\n\nStyledComboBoxCloseSmallIcon.displayName = \"StyledComboBoxCloseSmallIcon\";\n\nexport const StyledComboBoxList = styled.div<{\n $width?: number;\n $hide: boolean;\n}>`\n min-width: 260px;\n background-color: var(--page-paper-main);\n border-radius: 8px;\n border: 1px solid var(--border-primary);\n box-shadow: var(--shadow-tertiary);\n margin: 8px 0;\n width: ${(props) => `${props.$width}px`};\n\n ${({ $hide }) =>\n $hide === true &&\n css`\n display: none;\n `}\n`;\n\nStyledComboBoxList.displayName = \"StyledComboBoxList\";\n\nexport const StyledChipWrapper = styled.div<{\n $autoSize: string;\n $open?: boolean;\n}>`\n ${tw`tw-flex`};\n ${tw`tw-gap-1`};\n ${tw`tw-flex-1`};\n\n ${({ $open }) =>\n !$open &&\n css`\n overflow: hidden;\n `}\n\n ${({ $autoSize }) =>\n $autoSize === \"auto\" &&\n css`\n ${tw`tw-flex-wrap`};\n ${tw`tw-w-full`};\n `}\n\n ${({ $autoSize }) =>\n $autoSize !== \"auto\" &&\n css`\n align-items: center;\n `}\n`;\nStyledChipWrapper.displayName = \"StyledChipWrapper\";\n"],"mappings":"AAAA,OAAOA,MAAM,IAAIC,GAAG,QAAQ,mBAAmB;AAG/C,SAASC,wBAAwB,EAAEC,cAAc,QAAQ,qBAAqB;AAC9E,SAASC,KAAK,QAAQ,gBAAgB;AACtC,SAASC,kBAAkB,QAAQ,iBAAiB;AAEpD,OAAO,MAAMC,mBAAmB,GAAGN,MAAM,CAACI,KAAK,CAAC,CAAAG,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,0DAI/C;AAEDH,mBAAmB,CAACE,WAAW,GAAG,qBAAqB;AAEvD,MAAME,kBAAkB,GAAGT,GAAG,mCAG7B;AAED,OAAO,MAAMU,sCAAsC,GAAGX,MAAM,CAC1DE,wBACF,CAAC,CAAAK,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,wEACGC,kBAAkB,EAIjBE,KAAK,IACNA,KAAK,CAACC,KAAK,IACXZ,GAAG,6BAEF,CACJ;AAEDU,sCAAsC,CAACH,WAAW,GAChD,wCAAwC;AAE1C,OAAO,MAAMM,4BAA4B,GAAGd,MAAM,CAACG,cAAc,CAAC,CAAAI,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,sJAC9DC,kBAAkB,EAMlBJ,mBAAmB,EAAWD,kBAAkB,CAInD;AAEDS,4BAA4B,CAACN,WAAW,GAAG,8BAA8B;AAEzE,OAAO,MAAMO,kBAAkB,GAAGf,MAAM,CAACgB,GAAG,CAAAT,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,wLAUhCG,KAAK,IAAQA,KAAK,CAACK,MAAM,OAAI,EAErCC,IAAA;EAAA,IAAC;IAAEC;EAAM,CAAC,GAAAD,IAAA;EAAA,OACVC,KAAK,KAAK,IAAI,IACdlB,GAAG,mBAEF;AAAA,EACJ;AAEDc,kBAAkB,CAACP,WAAW,GAAG,oBAAoB;AAErD,OAAO,MAAMY,iBAAiB,GAAGpB,MAAM,CAACgB,GAAG,CAAAT,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,sCAIrC;EAAA;AAAQ,CAAC,EACT;EAAA;AAAS,CAAC,EACV;EAAA;AAAU,CAAC,EAEbY,KAAA;EAAA,IAAC;IAAER;EAAM,CAAC,GAAAQ,KAAA;EAAA,OACV,CAACR,KAAK,IACNZ,GAAG,sBAEF;AAAA,GAEDqB,KAAA;EAAA,IAAC;IAAEC;EAAU,CAAC,GAAAD,KAAA;EAAA,OACdC,SAAS,KAAK,MAAM,IACpBtB,GAAG,iBACG;IAAA;EAAa,CAAC,EACd;IAAA;EAAU,CAAC,CAChB;AAAA,GAEDuB,KAAA;EAAA,IAAC;IAAED;EAAU,CAAC,GAAAC,KAAA;EAAA,OACdD,SAAS,KAAK,MAAM,IACpBtB,GAAG,yBAEF;AAAA,EACJ;AACDmB,iBAAiB,CAACZ,WAAW,GAAG,mBAAmB"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { InputMode, InputSize } from "./types";
|
|
3
|
+
import { Time24HourFormat } from "../SelectTime";
|
|
4
|
+
export declare const StyledInputTimeWrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
5
|
+
export interface InputTimeProps {
|
|
6
|
+
mode?: "12" | "24";
|
|
7
|
+
selected?: Time24HourFormat;
|
|
8
|
+
min?: Time24HourFormat;
|
|
9
|
+
max?: Time24HourFormat;
|
|
10
|
+
onChange?: (val: string) => void;
|
|
11
|
+
className?: string;
|
|
12
|
+
placeholder?: string;
|
|
13
|
+
size?: InputSize;
|
|
14
|
+
step?: 1 | 5 | 15 | 30 | 60;
|
|
15
|
+
triggerMode?: InputMode;
|
|
16
|
+
disabled?: boolean;
|
|
17
|
+
invalid?: boolean;
|
|
18
|
+
}
|
|
19
|
+
export declare const InputTime: React.FC<InputTimeProps>;
|
|
20
|
+
//# sourceMappingURL=InputTime.d.ts.map
|
|
@@ -0,0 +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,MAAM,KAAK,IAAI,CAAC;IACjC,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;CACnB;AAMD,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CA+F9C,CAAC"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import React, { useCallback, useEffect, useState } from "react";
|
|
2
|
+
import classNames from "classnames";
|
|
3
|
+
import nlp from "compromise";
|
|
4
|
+
import plg from "compromise-dates";
|
|
5
|
+
import moment from "moment";
|
|
6
|
+
import styled from "styled-components";
|
|
7
|
+
import { isValidTime } from "../../utils/timeUtils";
|
|
8
|
+
import { ComboBox } from "../ComboBox/ComboBox";
|
|
9
|
+
nlp.plugin(plg);
|
|
10
|
+
export const StyledInputTimeWrapper = styled.div.withConfig({
|
|
11
|
+
displayName: "InputTime__StyledInputTimeWrapper",
|
|
12
|
+
componentId: "sc-71akdh-0"
|
|
13
|
+
})(["max-width:176px;flex:1;& .c-combo-box--list{min-width:176px;}"]);
|
|
14
|
+
const renderOption = option => {
|
|
15
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
16
|
+
id: option.id
|
|
17
|
+
}, option.name);
|
|
18
|
+
};
|
|
19
|
+
export const InputTime = _ref => {
|
|
20
|
+
let {
|
|
21
|
+
mode = "24",
|
|
22
|
+
selected: defaultSelected,
|
|
23
|
+
min = "00:00",
|
|
24
|
+
max = "23:45",
|
|
25
|
+
onChange,
|
|
26
|
+
step = 15,
|
|
27
|
+
size,
|
|
28
|
+
className,
|
|
29
|
+
placeholder,
|
|
30
|
+
triggerMode,
|
|
31
|
+
disabled,
|
|
32
|
+
invalid
|
|
33
|
+
} = _ref;
|
|
34
|
+
const [selected, setSelected] = useState(defaultSelected || "");
|
|
35
|
+
const [isOpen, setIsOpen] = useState(false);
|
|
36
|
+
const generateTimeOptions = () => {
|
|
37
|
+
const minTime = moment(isValidTime(min) ? min : "00:00", "HH:mm");
|
|
38
|
+
const maxTime = moment(isValidTime(max) ? max : "23:45", "HH:mm");
|
|
39
|
+
const options = [];
|
|
40
|
+
const currentTime = minTime.clone();
|
|
41
|
+
while (currentTime.isSameOrBefore(maxTime)) {
|
|
42
|
+
options.push({
|
|
43
|
+
id: currentTime.format("HH:mm"),
|
|
44
|
+
name: currentTime.format(mode === "12" ? "hh:mm A" : "HH:mm")
|
|
45
|
+
});
|
|
46
|
+
currentTime.add(step, "minutes");
|
|
47
|
+
}
|
|
48
|
+
return options;
|
|
49
|
+
};
|
|
50
|
+
const timeOptions = generateTimeOptions();
|
|
51
|
+
const handleInputChange = useCallback(text => {
|
|
52
|
+
const doc = nlp(text);
|
|
53
|
+
const parsed = doc.times().get()[0];
|
|
54
|
+
if (parsed && parsed["24h"] && parsed["24h"] !== selected) {
|
|
55
|
+
const value = moment(parsed).format("HH:mm");
|
|
56
|
+
if (timeOptions.some(option => option.id === value)) {
|
|
57
|
+
setSelected(value);
|
|
58
|
+
onChange == null || onChange(value);
|
|
59
|
+
setIsOpen(false);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}, [onChange, selected, timeOptions]);
|
|
63
|
+
const handleChange = e => {
|
|
64
|
+
setSelected(e);
|
|
65
|
+
onChange == null || onChange(e);
|
|
66
|
+
};
|
|
67
|
+
const handleOpen = () => {
|
|
68
|
+
setIsOpen(true);
|
|
69
|
+
};
|
|
70
|
+
const handleClose = () => {
|
|
71
|
+
setIsOpen(false);
|
|
72
|
+
};
|
|
73
|
+
useEffect(() => {
|
|
74
|
+
if (isOpen && selected) {
|
|
75
|
+
var _document$getElementB;
|
|
76
|
+
const selectedItem = (_document$getElementB = document.getElementById(selected)) == null ? void 0 : _document$getElementB.parentElement;
|
|
77
|
+
selectedItem == null || selectedItem.scrollIntoView({
|
|
78
|
+
behavior: "smooth",
|
|
79
|
+
block: "center"
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
}, [isOpen, selected]);
|
|
83
|
+
return /*#__PURE__*/React.createElement(StyledInputTimeWrapper, {
|
|
84
|
+
className: classNames("c-input-time", className)
|
|
85
|
+
}, /*#__PURE__*/React.createElement(ComboBox, {
|
|
86
|
+
options: timeOptions,
|
|
87
|
+
open: isOpen,
|
|
88
|
+
disabledInternalSort: true,
|
|
89
|
+
selected: selected,
|
|
90
|
+
keepSameOptionsOrder: true,
|
|
91
|
+
onInputChange: handleInputChange,
|
|
92
|
+
onChange: handleChange,
|
|
93
|
+
forceCloseMenu: true,
|
|
94
|
+
placeholder: placeholder,
|
|
95
|
+
renderOption: renderOption,
|
|
96
|
+
autoHeightMax: 226,
|
|
97
|
+
size: size,
|
|
98
|
+
onClose: handleClose,
|
|
99
|
+
onOpen: handleOpen,
|
|
100
|
+
triggerMode: triggerMode,
|
|
101
|
+
disabled: disabled,
|
|
102
|
+
invalid: invalid
|
|
103
|
+
}));
|
|
104
|
+
};
|
|
105
|
+
//# sourceMappingURL=InputTime.js.map
|
|
@@ -0,0 +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","setSelected","isOpen","setIsOpen","generateTimeOptions","minTime","maxTime","options","currentTime","clone","isSameOrBefore","push","format","add","timeOptions","handleInputChange","text","doc","parsed","times","get","value","some","handleChange","e","handleOpen","handleClose","_document$getElementB","selectedItem","document","getElementById","parentElement","scrollIntoView","behavior","block","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: string) => 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}) => {\n const [selected, setSelected] = useState<string>(defaultSelected || \"\");\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 options: IOptionItemProps[] = [];\n\n const currentTime = minTime.clone();\n while (currentTime.isSameOrBefore(maxTime)) {\n options.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 options;\n };\n\n const timeOptions = generateTimeOptions();\n\n const handleInputChange = useCallback(\n (text: string) => {\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\");\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 return (\n <StyledInputTimeWrapper className={classNames(\"c-input-time\", className)}>\n <ComboBox\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":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Input/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Input/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/Input/index.ts"],"sourcesContent":["export * from \"./Input\";\nexport * from \"./InputAdornment\";\nexport * from \"./InputHours\";\nexport * from \"./InputCurrency\";\nexport * from \"./InputNumber\";\nexport * from \"./InputPassword\";\nexport * from \"./InputUrl\";\nexport * from \"./InputPhone\";\n"],"mappings":"AAAA,cAAc,SAAS;AACvB,cAAc,kBAAkB;AAChC,cAAc,cAAc;AAC5B,cAAc,iBAAiB;AAC/B,cAAc,eAAe;AAC7B,cAAc,iBAAiB;AAC/B,cAAc,YAAY;AAC1B,cAAc,cAAc"}
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/Input/index.ts"],"sourcesContent":["export * from \"./Input\";\nexport * from \"./InputAdornment\";\nexport * from \"./InputHours\";\nexport * from \"./InputCurrency\";\nexport * from \"./InputNumber\";\nexport * from \"./InputPassword\";\nexport * from \"./InputUrl\";\nexport * from \"./InputPhone\";\nexport * from \"./InputTime\";\n"],"mappings":"AAAA,cAAc,SAAS;AACvB,cAAc,kBAAkB;AAChC,cAAc,cAAc;AAC5B,cAAc,iBAAiB;AAC/B,cAAc,eAAe;AAC7B,cAAc,iBAAiB;AAC/B,cAAc,YAAY;AAC1B,cAAc,cAAc;AAC5B,cAAc,aAAa"}
|
|
@@ -14,7 +14,7 @@ export interface SelectTimeProps extends Omit<SelectTriggerProps, "mode"> {
|
|
|
14
14
|
triggerMode?: InputMode;
|
|
15
15
|
locale?: string;
|
|
16
16
|
trigger?: string;
|
|
17
|
-
step?:
|
|
17
|
+
step?: 1 | 5 | 15 | 30 | 60;
|
|
18
18
|
}
|
|
19
19
|
export declare const SelectTime: React.FC<SelectTimeProps>;
|
|
20
20
|
//# sourceMappingURL=SelectTime.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectTime.d.ts","sourceRoot":"","sources":["../../../../src/components/SelectTime/SelectTime.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,cAAc,EAAU,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAiB,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAErE,MAAM,MAAM,gBAAgB,GAAG,GAAG,MAAM,IAAI,MAAM,EAAE,GAAG,SAAS,CAAC;AAEjE,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACvE,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,MAAM,IAAI,CAAC;IACtB,MAAM,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"SelectTime.d.ts","sourceRoot":"","sources":["../../../../src/components/SelectTime/SelectTime.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,cAAc,EAAU,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAiB,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAErE,MAAM,MAAM,gBAAgB,GAAG,GAAG,MAAM,IAAI,MAAM,EAAE,GAAG,SAAS,CAAC;AAEjE,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACvE,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,MAAM,IAAI,CAAC;IACtB,MAAM,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;CAC7B;AAMD,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAkEhD,CAAC"}
|
|
@@ -4,12 +4,17 @@ import moment from "moment";
|
|
|
4
4
|
import { isValidTime } from "../../utils/timeUtils";
|
|
5
5
|
import { Select } from "../Select/Select";
|
|
6
6
|
import { SelectTrigger } from "../SelectTrigger";
|
|
7
|
+
const renderOption = option => {
|
|
8
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
9
|
+
id: option.id
|
|
10
|
+
}, option.name);
|
|
11
|
+
};
|
|
7
12
|
export const SelectTime = _ref => {
|
|
8
13
|
let {
|
|
9
14
|
mode = "24",
|
|
10
|
-
selected
|
|
11
|
-
min,
|
|
12
|
-
max,
|
|
15
|
+
selected,
|
|
16
|
+
min = "00:00",
|
|
17
|
+
max = "23:45",
|
|
13
18
|
onChange,
|
|
14
19
|
target,
|
|
15
20
|
triggerMode,
|
|
@@ -32,6 +37,18 @@ export const SelectTime = _ref => {
|
|
|
32
37
|
};
|
|
33
38
|
const timeOptions = generateTimeOptions();
|
|
34
39
|
const displaySelectedTime = moment(selected, "HH:mm").format(mode === "12" ? "hh:mm A" : "HH:mm");
|
|
40
|
+
const handleScrollToSelected = () => {
|
|
41
|
+
if (selected) {
|
|
42
|
+
setTimeout(() => {
|
|
43
|
+
var _document$getElementB;
|
|
44
|
+
const selectedItem = (_document$getElementB = document.getElementById(selected)) == null ? void 0 : _document$getElementB.parentElement;
|
|
45
|
+
selectedItem == null || selectedItem.scrollIntoView({
|
|
46
|
+
behavior: "smooth",
|
|
47
|
+
block: "center"
|
|
48
|
+
});
|
|
49
|
+
}, 50);
|
|
50
|
+
}
|
|
51
|
+
};
|
|
35
52
|
return /*#__PURE__*/React.createElement(Select, {
|
|
36
53
|
options: timeOptions,
|
|
37
54
|
disabledInternalSort: true,
|
|
@@ -42,14 +59,10 @@ export const SelectTime = _ref => {
|
|
|
42
59
|
mode: triggerMode
|
|
43
60
|
}, rest), displaySelectedTime),
|
|
44
61
|
mode: "tiny",
|
|
45
|
-
renderOption:
|
|
46
|
-
let {
|
|
47
|
-
name
|
|
48
|
-
} = _ref2;
|
|
49
|
-
return /*#__PURE__*/React.createElement("div", null, name);
|
|
50
|
-
},
|
|
62
|
+
renderOption: renderOption,
|
|
51
63
|
onChange: onChange,
|
|
52
|
-
forceCloseMenu: true
|
|
64
|
+
forceCloseMenu: true,
|
|
65
|
+
onSelectOpen: handleScrollToSelected
|
|
53
66
|
});
|
|
54
67
|
};
|
|
55
68
|
//# sourceMappingURL=SelectTime.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectTime.js","names":["React","moment","isValidTime","Select","SelectTrigger","SelectTime","_ref","mode","selected","min","max","onChange","target","triggerMode","step","rest","generateTimeOptions","minTime","maxTime","options","currentTime","clone","isSameOrBefore","push","
|
|
1
|
+
{"version":3,"file":"SelectTime.js","names":["React","moment","isValidTime","Select","SelectTrigger","renderOption","option","createElement","id","name","SelectTime","_ref","mode","selected","min","max","onChange","target","triggerMode","step","rest","generateTimeOptions","minTime","maxTime","options","currentTime","clone","isSameOrBefore","push","format","add","timeOptions","displaySelectedTime","handleScrollToSelected","setTimeout","_document$getElementB","selectedItem","document","getElementById","parentElement","scrollIntoView","behavior","block","disabledInternalSort","disableSearch","keepSameOptionsOrder","_extends","forceCloseMenu","onSelectOpen"],"sources":["../../../../src/components/SelectTime/SelectTime.tsx"],"sourcesContent":["import React from \"react\";\n\nimport moment from \"moment\";\n\nimport { isValidTime } from \"../../utils/timeUtils\";\nimport { InputMode } from \"../Input/types\";\nimport { IOptionItemProps } from \"../Select/Option\";\nimport { ElementWithRef, Select } from \"../Select/Select\";\nimport { SelectTrigger, SelectTriggerProps } from \"../SelectTrigger\";\n\nexport type Time24HourFormat = `${string}:${string}` | undefined;\n\nexport interface SelectTimeProps extends Omit<SelectTriggerProps, \"mode\"> {\n mode?: \"12\" | \"24\";\n selected?: Time24HourFormat;\n min?: Time24HourFormat;\n max?: Time24HourFormat;\n onChange?: () => void;\n target?: ElementWithRef<Element>;\n className?: string;\n triggerMode?: InputMode;\n locale?: string;\n trigger?: string;\n step?: 1 | 5 | 15 | 30 | 60;\n}\n\nconst renderOption = (option) => {\n return <div id={option.id}>{option.name}</div>;\n};\n\nexport const SelectTime: React.FC<SelectTimeProps> = ({\n mode = \"24\",\n selected,\n min = \"00:00\",\n max = \"23:45\",\n onChange,\n target,\n triggerMode,\n step = 15,\n ...rest\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 options: IOptionItemProps[] = [];\n\n const currentTime = minTime.clone();\n while (currentTime.isSameOrBefore(maxTime)) {\n options.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 options;\n };\n\n const timeOptions = generateTimeOptions();\n\n const displaySelectedTime = moment(selected, \"HH:mm\").format(\n mode === \"12\" ? \"hh:mm A\" : \"HH:mm\"\n );\n\n const handleScrollToSelected = () => {\n if (selected) {\n setTimeout(() => {\n const selectedItem = document.getElementById(selected)?.parentElement;\n selectedItem?.scrollIntoView({ behavior: \"smooth\", block: \"center\" });\n }, 50);\n }\n };\n\n return (\n <Select\n options={timeOptions}\n disabledInternalSort\n selected={selected}\n disableSearch\n keepSameOptionsOrder\n target={\n target ? (\n target\n ) : (\n <SelectTrigger mode={triggerMode} {...rest}>\n {displaySelectedTime}\n </SelectTrigger>\n )\n }\n mode=\"tiny\"\n renderOption={renderOption}\n onChange={onChange}\n forceCloseMenu\n onSelectOpen={handleScrollToSelected}\n />\n );\n};\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,OAAOC,MAAM,MAAM,QAAQ;AAE3B,SAASC,WAAW,QAAQ,uBAAuB;AAGnD,SAAyBC,MAAM,QAAQ,kBAAkB;AACzD,SAASC,aAAa,QAA4B,kBAAkB;AAkBpE,MAAMC,YAAY,GAAIC,MAAM,IAAK;EAC/B,oBAAON,KAAA,CAAAO,aAAA;IAAKC,EAAE,EAAEF,MAAM,CAACE;EAAG,GAAEF,MAAM,CAACG,IAAU,CAAC;AAChD,CAAC;AAED,OAAO,MAAMC,UAAqC,GAAGC,IAAA,IAU/C;EAAA,IAVgD;IACpDC,IAAI,GAAG,IAAI;IACXC,QAAQ;IACRC,GAAG,GAAG,OAAO;IACbC,GAAG,GAAG,OAAO;IACbC,QAAQ;IACRC,MAAM;IACNC,WAAW;IACXC,IAAI,GAAG,EAAE;IACT,GAAGC;EACL,CAAC,GAAAT,IAAA;EACC,MAAMU,mBAAmB,GAAGA,CAAA,KAA0B;IACpD,MAAMC,OAAO,GAAGrB,MAAM,CAACC,WAAW,CAACY,GAAG,CAAC,GAAGA,GAAG,GAAG,OAAO,EAAE,OAAO,CAAC;IACjE,MAAMS,OAAO,GAAGtB,MAAM,CAACC,WAAW,CAACa,GAAG,CAAC,GAAGA,GAAG,GAAG,OAAO,EAAE,OAAO,CAAC;IACjE,MAAMS,OAA2B,GAAG,EAAE;IAEtC,MAAMC,WAAW,GAAGH,OAAO,CAACI,KAAK,CAAC,CAAC;IACnC,OAAOD,WAAW,CAACE,cAAc,CAACJ,OAAO,CAAC,EAAE;MAC1CC,OAAO,CAACI,IAAI,CAAC;QACXpB,EAAE,EAAEiB,WAAW,CAACI,MAAM,CAAC,OAAO,CAAC;QAC/BpB,IAAI,EAAEgB,WAAW,CAACI,MAAM,CAACjB,IAAI,KAAK,IAAI,GAAG,SAAS,GAAG,OAAO;MAC9D,CAAC,CAAC;MACFa,WAAW,CAACK,GAAG,CAACX,IAAI,EAAE,SAAS,CAAC;IAClC;IAEA,OAAOK,OAAO;EAChB,CAAC;EAED,MAAMO,WAAW,GAAGV,mBAAmB,CAAC,CAAC;EAEzC,MAAMW,mBAAmB,GAAG/B,MAAM,CAACY,QAAQ,EAAE,OAAO,CAAC,CAACgB,MAAM,CAC1DjB,IAAI,KAAK,IAAI,GAAG,SAAS,GAAG,OAC9B,CAAC;EAED,MAAMqB,sBAAsB,GAAGA,CAAA,KAAM;IACnC,IAAIpB,QAAQ,EAAE;MACZqB,UAAU,CAAC,MAAM;QAAA,IAAAC,qBAAA;QACf,MAAMC,YAAY,IAAAD,qBAAA,GAAGE,QAAQ,CAACC,cAAc,CAACzB,QAAQ,CAAC,qBAAjCsB,qBAAA,CAAmCI,aAAa;QACrEH,YAAY,YAAZA,YAAY,CAAEI,cAAc,CAAC;UAAEC,QAAQ,EAAE,QAAQ;UAAEC,KAAK,EAAE;QAAS,CAAC,CAAC;MACvE,CAAC,EAAE,EAAE,CAAC;IACR;EACF,CAAC;EAED,oBACE1C,KAAA,CAAAO,aAAA,CAACJ,MAAM;IACLqB,OAAO,EAAEO,WAAY;IACrBY,oBAAoB;IACpB9B,QAAQ,EAAEA,QAAS;IACnB+B,aAAa;IACbC,oBAAoB;IACpB5B,MAAM,EACJA,MAAM,GACJA,MAAM,gBAENjB,KAAA,CAAAO,aAAA,CAACH,aAAa,EAAA0C,QAAA;MAAClC,IAAI,EAAEM;IAAY,GAAKE,IAAI,GACvCY,mBACY,CAElB;IACDpB,IAAI,EAAC,MAAM;IACXP,YAAY,EAAEA,YAAa;IAC3BW,QAAQ,EAAEA,QAAS;IACnB+B,cAAc;IACdC,YAAY,EAAEf;EAAuB,CACtC,CAAC;AAEN,CAAC"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
export declare const StyledButton: import("styled-components").StyledComponent<"button", any, {}, never>;
|
|
3
3
|
export declare const StyledMenu: import("styled-components").StyledComponent<import("react").FC<import("../../Menu").IMenu>, any, {}, never>;
|
|
4
|
-
export declare const StyledButtonGroup: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> &
|
|
4
|
+
export declare const StyledButtonGroup: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
|
|
5
|
+
invalid?: boolean | undefined;
|
|
6
|
+
} & import("react").RefAttributes<HTMLDivElement>>, any, {}, never>;
|
|
5
7
|
export declare const StyledSpan: import("styled-components").StyledComponent<"span", any, {}, never>;
|
|
6
8
|
interface StyledDiv {
|
|
7
9
|
$isTargetable: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../../src/components/Steppers/DateStepper/Styles.ts"],"names":[],"mappings":";AASA,eAAO,MAAM,YAAY,uEAmDxB,CAAC;AAEF,eAAO,MAAM,UAAU,6GAOtB,CAAC;AAEF,eAAO,MAAM,iBAAiB,
|
|
1
|
+
{"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../../src/components/Steppers/DateStepper/Styles.ts"],"names":[],"mappings":";AASA,eAAO,MAAM,YAAY,uEAmDxB,CAAC;AAEF,eAAO,MAAM,UAAU,6GAOtB,CAAC;AAEF,eAAO,MAAM,iBAAiB;;mEAQ7B,CAAC;AAEF,eAAO,MAAM,UAAU,qEAGtB,CAAC;AAEF,UAAU,SAAS;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,SAAS,2EAwErB,CAAC;AAEF,eAAO,MAAM,aAAa;;sEAEzB,CAAC"}
|