@activecollab/components 2.0.283 → 2.0.285
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/ComboBox/ComboBox.js +7 -4
- package/dist/cjs/components/ComboBox/ComboBox.js.map +1 -1
- package/dist/cjs/components/Steppers/DateStepper/DateStepper.js +1 -1
- package/dist/cjs/components/Steppers/DateStepper/DateStepper.js.map +1 -1
- package/dist/esm/components/ComboBox/ComboBox.d.ts.map +1 -1
- package/dist/esm/components/ComboBox/ComboBox.js +7 -4
- package/dist/esm/components/ComboBox/ComboBox.js.map +1 -1
- package/dist/esm/components/Steppers/DateStepper/DateStepper.js +1 -1
- package/dist/esm/components/Steppers/DateStepper/DateStepper.js.map +1 -1
- package/dist/index.js +8 -5
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboBox.js","names":["React","useCallback","useState","useEffect","useRef","useMemo","Fragment","RemoveScroll","classNames","StyledComboBoxCloseSmallIcon","StyledComboBoxCollapseExpandSingleIcon","StyledComboBoxInput","StyledComboBoxList","StyledChipWrapper","StyledInfoIcon","StyledInfoSmallIcon","Portal","ConditionalWrapper","useIsFirstRender","useOnClickOutside","useForkRef","Autocomplete","isOptionGroup","Avatar","Checkbox","Chip","IconButton","InputAdornment","StyledInput","StyledInputWrapper","SpinnerLoader","MultiAvatar","Popper","RadioButton","OptionContent","Tooltip","Trigger","Typography","sizeMap","small","regular","big","biggest","ComboBox","_ref","_comboBoxRef$current2","_comboBoxRef$current3","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","hideClearButton","errorMessage","onCancel","prop","_objectWithoutPropertiesLoose","_excluded","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","emptyAction","handleChange","selectedValue","handleOpen","handleRenderOption","option","props","createElement","imageUrl","image","color","textColor","handleDeselect","handleMouseDown","preventDefault","handleBlur","_wrapperRef$current","relatedTarget","renderChipAdornment","index","avatarProps","startAdornment","_StyledAvatar","_extends","url","$_css","$_css2","undefined","Array","isArray","includes","newSelected","filter","item","showOnClose","className","label","backgroundColor","chipColor","autoSize","length","elements","total","forEach","isGrouped","push","groupedOptions","o","_index","hidden","splice","_StyledTypography","variant","optionItem","child","avatarSize","showXIcon","hasSelected","showMenu","hasOptions","valueExists","toString","isValueInOptions","some","_StyledStyledInputWrapper","$disabled","$size","$invalid","ref","$mode","onClick","_elementRef$current","click","$_css3","$_css4","_StyledStyledChipWrapper","$autoSize","$open","$_css5","onBlur","onFocus","matches","onKeyDown","$loading","style","display","flex","alignSelf","width","_StyledTrigger","onMouseDown","tabIndex","title","wrapperClick","mode","wrapRef","endAdornment","disablePointerEvents","condition","wrap","children","anchorEl","placement","zIndex","clientWidth","strategy","noIsolation","allowPinchZoom","$width","$hide","inputEl","displayName","_styled","_templateObject","_taggedTemplateLiteralLoose","p","_styled2","_templateObject2","_styled3","_templateObject3","_styled4","_templateObject4","_styled5","withConfig","componentId"],"sources":["../../../../src/components/ComboBox/ComboBox.tsx"],"sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n useEffect,\n useRef,\n useMemo,\n Fragment,\n} from \"react\";\nimport { RemoveScroll } from \"react-remove-scroll\";\n\nimport classNames from \"classnames\";\nimport tw from \"twin.macro\";\n\nimport {\n StyledComboBoxCloseSmallIcon,\n StyledComboBoxCollapseExpandSingleIcon,\n StyledComboBoxInput,\n StyledComboBoxList,\n StyledChipWrapper,\n StyledInfoIcon,\n StyledInfoSmallIcon,\n} from \"./Styles\";\nimport { Portal } from \"../../helpers\";\nimport { ConditionalWrapper } from \"../../helpers/ConditionWrapper/ConditionWrapper\";\nimport { useIsFirstRender } from \"../../hooks/useIsFirstRender\";\nimport { useOnClickOutside } from \"../../hooks/useOnClickOutside\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Autocomplete } from \"../Autocomplete\";\nimport {\n IAutocompleteProps,\n isOptionGroup,\n} from \"../Autocomplete/Autocomplete\";\nimport { Avatar, AvatarProps } from \"../Avatar\";\nimport { Checkbox } from \"../Checkbox\";\nimport { Chip } from \"../Chip\";\nimport { IconButton } from \"../IconButton\";\nimport { InputAdornment } from \"../Input/InputAdornment\";\nimport { StyledInput, StyledInputWrapper } from \"../Input/Styles\";\nimport { InputMode, InputSize } from \"../Input/types\";\nimport { SpinnerLoader } from \"../Loaders/Spinner/SpinnerLoader\";\nimport { MultiAvatar } from \"../MultiAvatar\";\nimport { Popper } from \"../Popper\";\nimport { RadioButton } from \"../RadioButton\";\nimport { IOptionGroupProps, IOptionItemProps } from \"../Select\";\nimport { OptionContent } from \"../Select/OptionContent/OptionContent\";\nimport { Tooltip } from \"../Tooltip\";\nimport { Trigger } from \"../Trigger\";\nimport { Typography } from \"../Typography/Typography\";\n\nconst sizeMap = {\n small: 18,\n regular: 24,\n big: 30,\n biggest: 40,\n};\n\nexport interface IComboBoxProps\n extends Omit<\n IAutocompleteProps,\n \"handleChange\" | \"inputEl\" | \"clearInputOnSelect\"\n > {\n /** 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 onCancel?: (value?: string) => void;\n onDeselect?: () => void;\n /** Open state */\n open?: boolean;\n /** Trigger mode */\n triggerMode?: InputMode;\n /** Hide clear button */\n hideClearButton?: boolean;\n /** Error message to display */\n errorMessage?: string;\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 hideClearButton = false,\n errorMessage,\n onCancel,\n ...prop\n}) => {\n const selectedName = useMemo(() => {\n let value = \"\";\n if (!selected) {\n return value;\n }\n options.map((v) => {\n if ((v as IOptionGroupProps)?.options) {\n return (v as IOptionGroupProps).options.find((q) => {\n if (q.id === selected) {\n value = q.name;\n return;\n }\n });\n } else {\n if (v.id === selected) {\n value = v.name;\n return;\n }\n }\n });\n return value;\n }, [options, selected]);\n const [value, setValue] = useState(selectedName);\n const [focused, setFocused] = useState<boolean>(false);\n const handleOnChange = useCallback(\n (e) => {\n setValue(e.target.value);\n onInputChange?.(e.target.value);\n },\n [onInputChange]\n );\n const childNode = useRef<HTMLInputElement | null>();\n const elementRef = useRef<HTMLInputElement | null>(null);\n const handleRef = useForkRef(childNode, elementRef);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const chipWrapper = useRef<HTMLDivElement>(null);\n const comboBoxRef = useRef<HTMLDivElement | null>(null);\n\n const [open, setOpen] = useState(defaultOpen);\n const isFirstRender = useIsFirstRender();\n\n useOnClickOutside(wrapperRef, (e) => {\n if (e.target && comboBoxRef.current?.contains(e.target as Node)) {\n return;\n }\n onCancel?.(selectedName);\n setOpen(false);\n });\n\n const handleOnKeyDown = useCallback(\n (e) => {\n if (e.key === \"Tab\" && open) {\n setOpen(false);\n }\n\n if (e.key === \"Escape\" && open) {\n setOpen(false);\n setValue(selectedName);\n onCancel?.(selectedName);\n e.stopPropagation();\n }\n\n if (e.key === \"Enter\" && type === \"multiple\") {\n setValue(\"\");\n }\n\n if (e.key === \"Enter\" && !open && focused) {\n setOpen(true);\n onOpen?.();\n }\n },\n [focused, onCancel, onOpen, open, selectedName, type]\n );\n\n useEffect(() => {\n if (!open && !isFirstRender) {\n onClose?.();\n }\n }, [open, onClose, isFirstRender]);\n\n useEffect(() => {\n setValue(selectedName);\n }, [selectedName]);\n\n useEffect(() => {\n if (open !== defaultOpen) setOpen(defaultOpen);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [defaultOpen]);\n\n useEffect(() => {\n if (!open && !isFirstRender && !focused) {\n if (typeof onClose === \"function\") {\n onClose();\n }\n }\n }, [focused, isFirstRender, onClose, open]);\n\n const emptyAction = useCallback(\n (v) => {\n handleEmptyAction?.(v);\n setOpen(false);\n },\n [handleEmptyAction]\n );\n\n const handleChange = useCallback(\n (selectedValue) => {\n if (selectedValue !== selected && typeof onChange === \"function\") {\n onChange(selectedValue);\n }\n if (forceCloseMenu) {\n setOpen(false);\n }\n },\n [forceCloseMenu, onChange, selected]\n );\n\n const handleOpen = useCallback(() => {\n if (!disabled) {\n setOpen(true);\n onOpen?.();\n }\n }, [disabled, onOpen]);\n\n const handleRenderOption = useCallback(\n (option, props) => {\n if (typeof renderOption === \"function\") {\n return renderOption(option, props);\n }\n if (type === \"multiple\") {\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n />\n <Checkbox {...props} />\n </>\n );\n }\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n />\n <RadioButton {...props} />\n </>\n );\n },\n [type, renderOption]\n );\n\n const handleDeselect = useCallback(\n (e) => {\n e.stopPropagation();\n if (typeof onDeselect === \"function\") {\n onDeselect();\n } else if (type === \"multiple\") {\n onChange?.([]);\n } else {\n onChange?.(\"\");\n }\n\n onClear?.();\n setOpen(false);\n },\n [type, onChange, onClear, onDeselect]\n );\n\n const handleMouseDown = useCallback((e) => {\n e.preventDefault();\n }, []);\n\n const handleBlur = useCallback(\n (e) => {\n if (\n e.relatedTarget &&\n wrapperRef.current?.contains(e.relatedTarget as Node)\n ) {\n return;\n }\n setValue(selectedName);\n setFocused(false);\n },\n [selectedName]\n );\n\n const renderChipAdornment = useCallback(\n (option, index) => {\n if (typeof renderChip === \"function\") {\n return renderChip(option, index);\n }\n const avatarProps: Partial<AvatarProps> = {\n size: 18,\n };\n switch (size) {\n case \"big\":\n avatarProps.size = 22;\n break;\n case \"small\":\n avatarProps.size = 14;\n break;\n }\n const startAdornment = option.image ? (\n <Avatar\n css={`\n ${tw`tw-my-0.5`}\n ${tw`tw-mr-0.5`}\n `}\n url={option.image}\n {...avatarProps}\n />\n ) : undefined;\n\n const onClose = (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (Array.isArray(selected) && selected.includes(option.id)) {\n if (typeof onChange === \"function\") {\n const newSelected = selected.filter((item) => item !== option.id);\n onChange(newSelected);\n }\n }\n };\n\n let showOnClose = true;\n if (disabled) {\n showOnClose = false;\n }\n if (option.color) {\n showOnClose = false;\n }\n\n return (\n <Chip\n className=\"c-combo-box-chip\"\n startAdornment={startAdornment}\n label={option.name}\n key={index}\n backgroundColor={option.color}\n color={option.chipColor}\n onClose={showOnClose ? onClose : undefined}\n size={size}\n />\n );\n },\n [disabled, onChange, renderChip, selected, size]\n );\n\n const autoSize = useMemo(() => {\n if (\n type === \"multiple\" &&\n open &&\n Array.isArray(selected) &&\n selected.length > 1\n ) {\n return \"auto\";\n }\n return size;\n }, [open, selected, size, type]);\n\n const startAdornment = useMemo(() => {\n if (type === \"multiple\" && Array.isArray(selected) && selected.length > 0) {\n const elements: JSX.Element[] = [];\n let total = 0;\n options.forEach((option, index) => {\n const isGrouped = isOptionGroup(option);\n if (selected.includes(option.id) && !isGrouped) {\n total = total + 1;\n elements.push(renderChipAdornment(option, index));\n } else if (isGrouped) {\n const groupedOptions = option.options.filter((o) =>\n selected.includes(o.id)\n );\n total = total + groupedOptions.length;\n if (groupedOptions.length > 0) {\n groupedOptions.forEach((o, _index) => {\n elements.push(renderChipAdornment(o, `${index}_${_index}`));\n });\n }\n }\n });\n let hidden = 0;\n if (!open && limitChips > 0 && elements.length > limitChips) {\n hidden = elements.splice(\n limitChips,\n elements.length - limitChips\n ).length;\n }\n\n return (\n <Fragment>\n {elements}\n {hidden > 0 && (\n <Typography\n variant={\n size === \"small\"\n ? \"Caption 1\"\n : size === \"regular\"\n ? \"Body 2\"\n : \"Body 1\"\n }\n css={`\n display: flex;\n flex-shrink: 0;\n align-items: center;\n `}\n >\n {typeof hiddenNumberText === \"function\"\n ? hiddenNumberText(hidden)\n : `+${hidden}`}\n </Typography>\n )}\n </Fragment>\n );\n }\n if (type === \"single\" && selected) {\n let optionItem;\n options.forEach((option) => {\n if (isOptionGroup(option)) {\n optionItem = option.options.find((child) => child.id === selected);\n } else if (!optionItem && option.id === selected) {\n optionItem = option;\n }\n });\n if (optionItem && optionItem.image) {\n const avatarSize = size === \"big\" ? 22 : size === \"regular\" ? 18 : 14;\n if (Array.isArray(optionItem.image)) {\n return <MultiAvatar url={optionItem.image} size={avatarSize} />;\n }\n return <Avatar url={optionItem.image} size={avatarSize} />;\n }\n }\n\n return undefined;\n }, [\n type,\n selected,\n options,\n open,\n limitChips,\n hiddenNumberText,\n renderChipAdornment,\n size,\n ]);\n\n const showXIcon =\n Array.isArray(selected) &&\n type === \"multiple\" &&\n selected.length > 0 &&\n !hideClearButton;\n\n const hasSelected =\n type === \"multiple\" && Array.isArray(selected) && selected.length > 0;\n\n const showMenu = useMemo(() => {\n const hasOptions = options?.length > 0;\n\n const valueExists = (option: IOptionItemProps) =>\n (option.id.toString().includes(value) || option.name.includes(value)) &&\n !option?.hidden;\n\n const isValueInOptions = options?.some((option) =>\n isOptionGroup(option)\n ? option.options.some(valueExists)\n : valueExists(option)\n );\n return (\n (hasOptions && (!!defaultValue || !value)) ||\n (value &&\n (isValueInOptions ||\n (emptyValue && !!handleEmptyAction) ||\n noResultText))\n );\n }, [\n defaultValue,\n emptyValue,\n handleEmptyAction,\n noResultText,\n options,\n value,\n ]);\n\n return (\n <div className=\"c-combo-box\">\n {type === \"multiple\" ? (\n <>\n <StyledInputWrapper\n $disabled={disabled}\n $size={size}\n $invalid={invalid}\n ref={comboBoxRef}\n $mode={triggerMode}\n css={`\n display: flex;\n justify-content: space-between;\n flex: 1;\n height: ${autoSize === \"auto\" ? \"auto\" : undefined};\n overflow-y: ${autoSize === \"auto\" && scrollWrapper\n ? \"scroll\"\n : undefined};\n `}\n className={classNames(\n \"c-combo-box-input-wrapper\",\n inputWrapperClassName\n )}\n onClick={() => {\n elementRef.current?.click();\n }}\n >\n <StyledChipWrapper\n $autoSize={autoSize}\n $open={open}\n ref={chipWrapper}\n css={`\n max-height: ${autoSize === \"auto\" && scrollWrapper\n ? sizeMap[size] * 3 + 8 + \"px\"\n : undefined};\n `}\n >\n {startAdornment}\n <StyledInput\n className=\"c-combo-box-input\"\n onBlur={handleBlur}\n onFocus={(e) => {\n if (e.target.matches(\":focus-visible\")) {\n setOpen(true);\n onOpen?.();\n }\n setFocused(true);\n }}\n onClick={handleOpen}\n ref={handleRef}\n value={loading && loadingText ? loadingText : value}\n onKeyDown={handleOnKeyDown}\n onChange={handleOnChange}\n placeholder={!hasSelected ? placeholder : undefined}\n $mode={triggerMode}\n disabled={disabled}\n $size={size}\n $loading={loading}\n style={{\n display: \"flex\",\n flex: 1,\n alignSelf: \"center\",\n width: autoSize === \"auto\" ? \"auto\" : \"100%\",\n }}\n />\n </StyledChipWrapper>\n {!disabled && (\n <>\n {loading ? (\n <SpinnerLoader />\n ) : (\n <>\n {showXIcon && (\n <Trigger\n onMouseDown={handleMouseDown}\n onClick={handleDeselect}\n data-testid=\"deselect-all\"\n tabIndex={-1}\n css={`\n display: flex;\n justify-content: center;\n `}\n >\n <StyledComboBoxCloseSmallIcon />\n </Trigger>\n )}\n {invalid && errorMessage && (\n <Tooltip title={errorMessage}>\n {size === \"regular\" ? (\n <StyledInfoSmallIcon />\n ) : (\n <StyledInfoIcon />\n )}\n </Tooltip>\n )}\n {showMenu && (\n <StyledComboBoxCollapseExpandSingleIcon $open={open} />\n )}\n </>\n )}\n </>\n )}\n </StyledInputWrapper>\n </>\n ) : (\n <StyledComboBoxInput\n className={classNames(\"c-combo-box-input\", inputWrapperClassName)}\n onBlur={handleBlur}\n wrapperClick={handleOpen}\n onFocus={(e) => {\n if (e.target.matches(\":focus-visible\")) {\n setOpen(true);\n onOpen?.();\n }\n setFocused(true);\n }}\n onClick={handleOpen}\n mode={triggerMode}\n wrapRef={comboBoxRef}\n ref={handleRef}\n value={loading && loadingText ? loadingText : value}\n onKeyDown={handleOnKeyDown}\n onChange={handleOnChange}\n placeholder={placeholder}\n disabled={disabled}\n size={size}\n invalid={invalid}\n $loading={loading}\n startAdornment={startAdornment}\n endAdornment={\n !disabled ? (\n <InputAdornment disablePointerEvents={disabled}>\n {loading && <SpinnerLoader />}\n {!loading && selected && !hideClearButton ? (\n <IconButton\n onMouseDown={handleMouseDown}\n onClick={handleDeselect}\n variant=\"text gray\"\n size=\"small\"\n tabIndex={-1}\n >\n <StyledComboBoxCloseSmallIcon />\n </IconButton>\n ) : null}\n {invalid && errorMessage && (\n <Tooltip title={errorMessage}>\n {size === \"regular\" ? (\n <StyledInfoSmallIcon />\n ) : (\n <StyledInfoIcon />\n )}\n </Tooltip>\n )}\n {showMenu && (\n <StyledComboBoxCollapseExpandSingleIcon $open={open} />\n )}\n </InputAdornment>\n ) : null\n }\n />\n )}\n {!disabled ? (\n <ConditionalWrapper\n condition={inPortal}\n wrap={(children) => <Portal>{children}</Portal>}\n >\n <Popper\n anchorEl={comboBoxRef.current}\n open={open}\n placement=\"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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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ComboBox.js","names":["React","useCallback","useState","useEffect","useRef","useMemo","Fragment","RemoveScroll","classNames","StyledComboBoxCloseSmallIcon","StyledComboBoxCollapseExpandSingleIcon","StyledComboBoxInput","StyledComboBoxList","StyledChipWrapper","StyledInfoIcon","StyledInfoSmallIcon","Portal","ConditionalWrapper","useIsFirstRender","useOnClickOutside","useForkRef","Autocomplete","isOptionGroup","Avatar","Checkbox","Chip","IconButton","InputAdornment","StyledInput","StyledInputWrapper","SpinnerLoader","MultiAvatar","Popper","RadioButton","OptionContent","Tooltip","Trigger","Typography","sizeMap","small","regular","big","biggest","ComboBox","_ref","_comboBoxRef$current2","_comboBoxRef$current3","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","hideClearButton","errorMessage","onCancel","prop","_objectWithoutPropertiesLoose","_excluded","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","emptyAction","handleChange","selectedValue","handleOpen","handleRenderOption","option","props","createElement","imageUrl","image","color","textColor","handleDeselect","handleMouseDown","preventDefault","handleBlur","_wrapperRef$current","relatedTarget","renderChipAdornment","index","avatarProps","startAdornment","_StyledAvatar","_extends","url","$_css","$_css2","undefined","Array","isArray","includes","newSelected","filter","item","showOnClose","className","label","backgroundColor","chipColor","autoSize","length","elements","total","forEach","isGrouped","push","groupedOptions","o","_index","hidden","splice","_StyledTypography","variant","optionItem","child","avatarSize","showXIcon","hasSelected","showMenu","hasOptions","valueExists","toString","isValueInOptions","some","_StyledStyledInputWrapper","$disabled","$size","$invalid","ref","$mode","onClick","_elementRef$current","click","$_css3","$_css4","_StyledStyledChipWrapper","$autoSize","$open","$_css5","onBlur","onFocus","matches","_error","onKeyDown","$loading","style","display","flex","alignSelf","width","_StyledTrigger","onMouseDown","tabIndex","title","wrapperClick","mode","wrapRef","endAdornment","disablePointerEvents","condition","wrap","children","anchorEl","placement","zIndex","clientWidth","strategy","noIsolation","allowPinchZoom","$width","$hide","inputEl","displayName","_styled","_templateObject","_taggedTemplateLiteralLoose","p","_styled2","_templateObject2","_styled3","_templateObject3","_styled4","_templateObject4","_styled5","withConfig","componentId"],"sources":["../../../../src/components/ComboBox/ComboBox.tsx"],"sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n useEffect,\n useRef,\n useMemo,\n Fragment,\n} from \"react\";\nimport { RemoveScroll } from \"react-remove-scroll\";\n\nimport classNames from \"classnames\";\nimport tw from \"twin.macro\";\n\nimport {\n StyledComboBoxCloseSmallIcon,\n StyledComboBoxCollapseExpandSingleIcon,\n StyledComboBoxInput,\n StyledComboBoxList,\n StyledChipWrapper,\n StyledInfoIcon,\n StyledInfoSmallIcon,\n} from \"./Styles\";\nimport { Portal } from \"../../helpers\";\nimport { ConditionalWrapper } from \"../../helpers/ConditionWrapper/ConditionWrapper\";\nimport { useIsFirstRender } from \"../../hooks/useIsFirstRender\";\nimport { useOnClickOutside } from \"../../hooks/useOnClickOutside\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Autocomplete } from \"../Autocomplete\";\nimport {\n IAutocompleteProps,\n isOptionGroup,\n} from \"../Autocomplete/Autocomplete\";\nimport { Avatar, AvatarProps } from \"../Avatar\";\nimport { Checkbox } from \"../Checkbox\";\nimport { Chip } from \"../Chip\";\nimport { IconButton } from \"../IconButton\";\nimport { InputAdornment } from \"../Input/InputAdornment\";\nimport { StyledInput, StyledInputWrapper } from \"../Input/Styles\";\nimport { InputMode, InputSize } from \"../Input/types\";\nimport { SpinnerLoader } from \"../Loaders/Spinner/SpinnerLoader\";\nimport { MultiAvatar } from \"../MultiAvatar\";\nimport { Popper } from \"../Popper\";\nimport { RadioButton } from \"../RadioButton\";\nimport { IOptionGroupProps, IOptionItemProps } from \"../Select\";\nimport { OptionContent } from \"../Select/OptionContent/OptionContent\";\nimport { Tooltip } from \"../Tooltip\";\nimport { Trigger } from \"../Trigger\";\nimport { Typography } from \"../Typography/Typography\";\n\nconst sizeMap = {\n small: 18,\n regular: 24,\n big: 30,\n biggest: 40,\n};\n\nexport interface IComboBoxProps\n extends Omit<\n IAutocompleteProps,\n \"handleChange\" | \"inputEl\" | \"clearInputOnSelect\"\n > {\n /** 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 onCancel?: (value?: string) => void;\n onDeselect?: () => void;\n /** Open state */\n open?: boolean;\n /** Trigger mode */\n triggerMode?: InputMode;\n /** Hide clear button */\n hideClearButton?: boolean;\n /** Error message to display */\n errorMessage?: string;\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 hideClearButton = false,\n errorMessage,\n onCancel,\n ...prop\n}) => {\n const selectedName = useMemo(() => {\n let value = \"\";\n if (!selected) {\n return value;\n }\n options.map((v) => {\n if ((v as IOptionGroupProps)?.options) {\n return (v as IOptionGroupProps).options.find((q) => {\n if (q.id === selected) {\n value = q.name;\n return;\n }\n });\n } else {\n if (v.id === selected) {\n value = v.name;\n return;\n }\n }\n });\n return value;\n }, [options, selected]);\n const [value, setValue] = useState(selectedName);\n const [focused, setFocused] = useState<boolean>(false);\n const handleOnChange = useCallback(\n (e) => {\n setValue(e.target.value);\n onInputChange?.(e.target.value);\n },\n [onInputChange]\n );\n const childNode = useRef<HTMLInputElement | null>();\n const elementRef = useRef<HTMLInputElement | null>(null);\n const handleRef = useForkRef(childNode, elementRef);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const chipWrapper = useRef<HTMLDivElement>(null);\n const comboBoxRef = useRef<HTMLDivElement | null>(null);\n\n const [open, setOpen] = useState(defaultOpen);\n const isFirstRender = useIsFirstRender();\n\n useOnClickOutside(wrapperRef, (e) => {\n if (e.target && comboBoxRef.current?.contains(e.target as Node)) {\n return;\n }\n onCancel?.(selectedName);\n setOpen(false);\n });\n\n const handleOnKeyDown = useCallback(\n (e) => {\n if (e.key === \"Tab\" && open) {\n setOpen(false);\n }\n\n if (e.key === \"Escape\" && open) {\n setOpen(false);\n setValue(selectedName);\n onCancel?.(selectedName);\n e.stopPropagation();\n }\n\n if (e.key === \"Enter\" && type === \"multiple\") {\n setValue(\"\");\n }\n\n if (e.key === \"Enter\" && !open && focused) {\n setOpen(true);\n onOpen?.();\n }\n },\n [focused, onCancel, onOpen, open, selectedName, type]\n );\n\n useEffect(() => {\n if (!open && !isFirstRender) {\n onClose?.();\n }\n }, [open, onClose, isFirstRender]);\n\n useEffect(() => {\n setValue(selectedName);\n }, [selectedName]);\n\n useEffect(() => {\n if (open !== defaultOpen) setOpen(defaultOpen);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [defaultOpen]);\n\n useEffect(() => {\n if (!open && !isFirstRender && !focused) {\n if (typeof onClose === \"function\") {\n onClose();\n }\n }\n }, [focused, isFirstRender, onClose, open]);\n\n const emptyAction = useCallback(\n (v) => {\n handleEmptyAction?.(v);\n setOpen(false);\n },\n [handleEmptyAction]\n );\n\n const handleChange = useCallback(\n (selectedValue) => {\n if (selectedValue !== selected && typeof onChange === \"function\") {\n onChange(selectedValue);\n }\n if (forceCloseMenu) {\n setOpen(false);\n }\n },\n [forceCloseMenu, onChange, selected]\n );\n\n const handleOpen = useCallback(() => {\n if (!disabled) {\n setOpen(true);\n onOpen?.();\n }\n }, [disabled, onOpen]);\n\n const handleRenderOption = useCallback(\n (option, props) => {\n if (typeof renderOption === \"function\") {\n return renderOption(option, props);\n }\n if (type === \"multiple\") {\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n />\n <Checkbox {...props} />\n </>\n );\n }\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n />\n <RadioButton {...props} />\n </>\n );\n },\n [type, renderOption]\n );\n\n const handleDeselect = useCallback(\n (e) => {\n e.stopPropagation();\n if (typeof onDeselect === \"function\") {\n onDeselect();\n } else if (type === \"multiple\") {\n onChange?.([]);\n } else {\n onChange?.(\"\");\n }\n\n onClear?.();\n setOpen(false);\n },\n [type, onChange, onClear, onDeselect]\n );\n\n const handleMouseDown = useCallback((e) => {\n e.preventDefault();\n }, []);\n\n const handleBlur = useCallback(\n (e) => {\n if (\n e.relatedTarget &&\n wrapperRef.current?.contains(e.relatedTarget as Node)\n ) {\n return;\n }\n setValue(selectedName);\n setFocused(false);\n },\n [selectedName]\n );\n\n const renderChipAdornment = useCallback(\n (option, index) => {\n if (typeof renderChip === \"function\") {\n return renderChip(option, index);\n }\n const avatarProps: Partial<AvatarProps> = {\n size: 18,\n };\n switch (size) {\n case \"big\":\n avatarProps.size = 22;\n break;\n case \"small\":\n avatarProps.size = 14;\n break;\n }\n const startAdornment = option.image ? (\n <Avatar\n css={`\n ${tw`tw-my-0.5`}\n ${tw`tw-mr-0.5`}\n `}\n url={option.image}\n {...avatarProps}\n />\n ) : undefined;\n\n const onClose = (e) => {\n e.preventDefault();\n e.stopPropagation();\n if (Array.isArray(selected) && selected.includes(option.id)) {\n if (typeof onChange === \"function\") {\n const newSelected = selected.filter((item) => item !== option.id);\n onChange(newSelected);\n }\n }\n };\n\n let showOnClose = true;\n if (disabled) {\n showOnClose = false;\n }\n if (option.color) {\n showOnClose = false;\n }\n\n return (\n <Chip\n className=\"c-combo-box-chip\"\n startAdornment={startAdornment}\n label={option.name}\n key={index}\n backgroundColor={option.color}\n color={option.chipColor}\n onClose={showOnClose ? onClose : undefined}\n size={size}\n />\n );\n },\n [disabled, onChange, renderChip, selected, size]\n );\n\n const autoSize = useMemo(() => {\n if (\n type === \"multiple\" &&\n open &&\n Array.isArray(selected) &&\n selected.length > 1\n ) {\n return \"auto\";\n }\n return size;\n }, [open, selected, size, type]);\n\n const startAdornment = useMemo(() => {\n if (type === \"multiple\" && Array.isArray(selected) && selected.length > 0) {\n const elements: JSX.Element[] = [];\n let total = 0;\n options.forEach((option, index) => {\n const isGrouped = isOptionGroup(option);\n if (selected.includes(option.id) && !isGrouped) {\n total = total + 1;\n elements.push(renderChipAdornment(option, index));\n } else if (isGrouped) {\n const groupedOptions = option.options.filter((o) =>\n selected.includes(o.id)\n );\n total = total + groupedOptions.length;\n if (groupedOptions.length > 0) {\n groupedOptions.forEach((o, _index) => {\n elements.push(renderChipAdornment(o, `${index}_${_index}`));\n });\n }\n }\n });\n let hidden = 0;\n if (!open && limitChips > 0 && elements.length > limitChips) {\n hidden = elements.splice(\n limitChips,\n elements.length - limitChips\n ).length;\n }\n\n return (\n <Fragment>\n {elements}\n {hidden > 0 && (\n <Typography\n variant={\n size === \"small\"\n ? \"Caption 1\"\n : size === \"regular\"\n ? \"Body 2\"\n : \"Body 1\"\n }\n css={`\n display: flex;\n flex-shrink: 0;\n align-items: center;\n `}\n >\n {typeof hiddenNumberText === \"function\"\n ? hiddenNumberText(hidden)\n : `+${hidden}`}\n </Typography>\n )}\n </Fragment>\n );\n }\n if (type === \"single\" && selected) {\n let optionItem;\n options.forEach((option) => {\n if (isOptionGroup(option)) {\n optionItem = option.options.find((child) => child.id === selected);\n } else if (!optionItem && option.id === selected) {\n optionItem = option;\n }\n });\n if (optionItem && optionItem.image) {\n const avatarSize = size === \"big\" ? 22 : size === \"regular\" ? 18 : 14;\n if (Array.isArray(optionItem.image)) {\n return <MultiAvatar url={optionItem.image} size={avatarSize} />;\n }\n return <Avatar url={optionItem.image} size={avatarSize} />;\n }\n }\n\n return undefined;\n }, [\n type,\n selected,\n options,\n open,\n limitChips,\n hiddenNumberText,\n renderChipAdornment,\n size,\n ]);\n\n const showXIcon =\n Array.isArray(selected) &&\n type === \"multiple\" &&\n selected.length > 0 &&\n !hideClearButton;\n\n const hasSelected =\n type === \"multiple\" && Array.isArray(selected) && selected.length > 0;\n\n const showMenu = useMemo(() => {\n const hasOptions = options?.length > 0;\n\n const valueExists = (option: IOptionItemProps) =>\n (option.id.toString().includes(value) || option.name.includes(value)) &&\n !option?.hidden;\n\n const isValueInOptions = options?.some((option) =>\n isOptionGroup(option)\n ? option.options.some(valueExists)\n : valueExists(option)\n );\n return (\n (hasOptions && (!!defaultValue || !value)) ||\n (value &&\n (isValueInOptions ||\n (emptyValue && !!handleEmptyAction) ||\n noResultText))\n );\n }, [\n defaultValue,\n emptyValue,\n handleEmptyAction,\n noResultText,\n options,\n value,\n ]);\n\n return (\n <div className=\"c-combo-box\">\n {type === \"multiple\" ? (\n <>\n <StyledInputWrapper\n $disabled={disabled}\n $size={size}\n $invalid={invalid}\n ref={comboBoxRef}\n $mode={triggerMode}\n css={`\n display: flex;\n justify-content: space-between;\n flex: 1;\n height: ${autoSize === \"auto\" ? \"auto\" : undefined};\n overflow-y: ${autoSize === \"auto\" && scrollWrapper\n ? \"scroll\"\n : undefined};\n `}\n className={classNames(\n \"c-combo-box-input-wrapper\",\n inputWrapperClassName\n )}\n onClick={() => {\n elementRef.current?.click();\n }}\n >\n <StyledChipWrapper\n $autoSize={autoSize}\n $open={open}\n ref={chipWrapper}\n css={`\n max-height: ${autoSize === \"auto\" && scrollWrapper\n ? sizeMap[size] * 3 + 8 + \"px\"\n : undefined};\n `}\n >\n {startAdornment}\n <StyledInput\n className=\"c-combo-box-input\"\n onBlur={handleBlur}\n onFocus={(e) => {\n try {\n if (e.target.matches(\":focus-visible\")) {\n setOpen(true);\n onOpen?.();\n }\n // eslint-disable-next-line no-empty\n } catch (_error) {}\n setFocused(true);\n }}\n onClick={handleOpen}\n ref={handleRef}\n value={loading && loadingText ? loadingText : value}\n onKeyDown={handleOnKeyDown}\n onChange={handleOnChange}\n placeholder={!hasSelected ? placeholder : undefined}\n $mode={triggerMode}\n disabled={disabled}\n $size={size}\n $loading={loading}\n style={{\n display: \"flex\",\n flex: 1,\n alignSelf: \"center\",\n width: autoSize === \"auto\" ? \"auto\" : \"100%\",\n }}\n />\n </StyledChipWrapper>\n {!disabled && (\n <>\n {loading ? (\n <SpinnerLoader />\n ) : (\n <>\n {showXIcon && (\n <Trigger\n onMouseDown={handleMouseDown}\n onClick={handleDeselect}\n data-testid=\"deselect-all\"\n tabIndex={-1}\n css={`\n display: flex;\n justify-content: center;\n `}\n >\n <StyledComboBoxCloseSmallIcon />\n </Trigger>\n )}\n {invalid && errorMessage && (\n <Tooltip title={errorMessage}>\n {size === \"regular\" ? (\n <StyledInfoSmallIcon />\n ) : (\n <StyledInfoIcon />\n )}\n </Tooltip>\n )}\n {showMenu && (\n <StyledComboBoxCollapseExpandSingleIcon $open={open} />\n )}\n </>\n )}\n </>\n )}\n </StyledInputWrapper>\n </>\n ) : (\n <StyledComboBoxInput\n className={classNames(\"c-combo-box-input\", inputWrapperClassName)}\n onBlur={handleBlur}\n wrapperClick={handleOpen}\n onFocus={(e) => {\n if (e.target.matches(\":focus-visible\")) {\n setOpen(true);\n onOpen?.();\n }\n setFocused(true);\n }}\n onClick={handleOpen}\n mode={triggerMode}\n wrapRef={comboBoxRef}\n ref={handleRef}\n value={loading && loadingText ? loadingText : value}\n onKeyDown={handleOnKeyDown}\n onChange={handleOnChange}\n placeholder={placeholder}\n disabled={disabled}\n size={size}\n invalid={invalid}\n $loading={loading}\n startAdornment={startAdornment}\n endAdornment={\n !disabled ? (\n <InputAdornment disablePointerEvents={disabled}>\n {loading && <SpinnerLoader />}\n {!loading && selected && !hideClearButton ? (\n <IconButton\n onMouseDown={handleMouseDown}\n onClick={handleDeselect}\n variant=\"text gray\"\n size=\"small\"\n tabIndex={-1}\n >\n <StyledComboBoxCloseSmallIcon />\n </IconButton>\n ) : null}\n {invalid && errorMessage && (\n <Tooltip title={errorMessage}>\n {size === \"regular\" ? (\n <StyledInfoSmallIcon />\n ) : (\n <StyledInfoIcon />\n )}\n </Tooltip>\n )}\n {showMenu && (\n <StyledComboBoxCollapseExpandSingleIcon $open={open} />\n )}\n </InputAdornment>\n ) : null\n }\n />\n )}\n {!disabled ? (\n <ConditionalWrapper\n condition={inPortal}\n wrap={(children) => <Portal>{children}</Portal>}\n >\n <Popper\n anchorEl={comboBoxRef.current}\n open={open}\n placement=\"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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","ignoreList":[]}
|
|
@@ -191,7 +191,7 @@ export const DateStepper = _ref => {
|
|
|
191
191
|
minWidth: "102px"
|
|
192
192
|
};
|
|
193
193
|
}
|
|
194
|
-
if (fromDay.utc().year() !== moment.utc().year() || toDay.utc().year() !== moment.utc().year()) {
|
|
194
|
+
if (fromDay.utc().year() !== moment.utc().year() || !!toDay && (toDay == null ? void 0 : toDay.utc().year()) !== moment.utc().year()) {
|
|
195
195
|
switch (range) {
|
|
196
196
|
case "daily":
|
|
197
197
|
case "monthly":
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateStepper.js","names":["React","useCallback","useMemo","useState","useEffect","classNames","moment","StyledButton","StyledButtonGroup","StyledDiv","StyledSpan","StyledControl","DatePicker","ArrowRightIcon","ArrowLeftIcon","DateStepper","_ref","step","formatCallback","onChange","from","to","onBack","onForward","minValue","maxValue","className","period","withDatePicker","defaultMonth","enableYearPicker","position","popperClassName","mode","alwaysShowDate","disableArrows","fromDate","setFromDate","utc","toDate","setToDate","getDatesByPeriod","interval","date","add","clone","startOf","endOf","effectiveToDate","daysDiff","diff","daysToMove","newFromDate","newToDate","getDateFormatted","actualYear","year","showWeekOrCustomDateFormat","start","end","endDate","format","startDate","quarter","datePickerMode","onDatePickerChange","dates","console","log","fromDateTemp","Number","toDateTemp","isMoment","onToggleDatePicker","open","isAfterMaxDate","isSameOrBefore","isBeforeMinDate","isSameOrAfter","onRightClickHandler","newFrom","newTo","onLeftClickHandler","dateStepperWidth","fromDay","toDay","range","minWidth","isDisabled","day","dayFormat","isBefore","isAfter","modifiers","disabled","matched","title","nonWorkingDay","createElement","type","variant","onClick","$isTargetable","$isRounded","$mode","$alwaysShowDate","style","month","onCalendarToggle","target","$step","selected","unix","firstDayOfWeek","disabledDaysAfter","disabledDaysBefore","disableYearPicker","key","instant","required","displayName"],"sources":["../../../../../src/components/Steppers/DateStepper/DateStepper.tsx"],"sourcesContent":["import React, { FC, useCallback, useMemo, useState, useEffect } from \"react\";\n\nimport { Placement } from \"@popperjs/core\";\nimport classNames from \"classnames\";\nimport { Moment } from \"moment\";\nimport moment from \"moment-timezone\";\n\nimport {\n StyledButton,\n StyledButtonGroup,\n StyledDiv,\n StyledSpan,\n StyledControl,\n} from \"./Styles\";\nimport { DatePicker, TimestampDateRange } from \"../../DatePicker/DatePicker\";\nimport { ArrowRightIcon } from \"../../Icons\";\nimport ArrowLeftIcon from \"../../Icons/collection/ArrowLeft\";\nimport { InputMode } from \"../../Input/types\";\n\nexport interface IDateStepperProps {\n /** One of the possible steps for this component */\n step: \"daily\" | \"weekly\" | \"monthly\" | \"quarterly\" | \"yearly\" | \"custom\";\n /** Callback function that will be called after the changed range */\n onChange?: (from: Date, to: Date | null) => void;\n /** Start date of the range */\n from: Moment | string;\n /** End date of the range */\n to?: Moment | string;\n /** Callback function that will format the text label */\n formatCallback?: (from: string | Moment, to: string | Moment) => string;\n /** Default month */\n defaultMonth?: Moment;\n /** Callback function onBack */\n onBack?: (from: Date, to: Date) => void;\n /** Callback function onForward */\n onForward?: (from: Date, to: Date) => void;\n /** Min date */\n minValue?: Moment;\n /** Max fate */\n maxValue?: Moment;\n /** html class */\n className?: string;\n /** Period for calculating week (isoWeek) */\n period?: \"week\" | \"isoWeek\";\n /** Classes for datePicker */\n datePickerClass?: string;\n /** Show datePicker in the middle button */\n withDatePicker?: boolean;\n /** Popper class name*/\n popperClassName?: string;\n /** DatePicker menu position */\n position?: Placement;\n /** Enable year picker in DatePicker */\n enableYearPicker?: boolean;\n /** conditional border & button variant styles */\n mode?: InputMode;\n /** preserve date on smaller screens */\n alwaysShowDate?: boolean;\n /** Hide navigation arrows */\n disableArrows?: boolean;\n}\n\n/**\n * This component allow you to select date range. It accepts two parameters \"from\" and \"to\" as valid format\n * onChange and onBack and onForward it will return \"from: Date\" and \"to: Date\" as function arguments\n */\n\nexport const DateStepper: FC<IDateStepperProps> = ({\n step,\n formatCallback,\n onChange,\n from,\n to,\n onBack,\n onForward,\n minValue,\n maxValue,\n className,\n period = \"week\",\n withDatePicker = true,\n defaultMonth = moment(),\n enableYearPicker,\n position = \"bottom\",\n popperClassName,\n mode = \"outlined\",\n alwaysShowDate = false,\n disableArrows = false,\n}) => {\n const [fromDate, setFromDate] = useState<Moment>(moment.utc(from));\n const [toDate, setToDate] = useState<Moment>(to ? moment.utc(to) : null);\n\n const getDatesByPeriod = useCallback(\n (interval: number): Moment[] => {\n const date = fromDate ? fromDate : moment();\n if (step === \"daily\") {\n date.add(interval, \"days\");\n return [date, date.clone()];\n } else if (step === \"weekly\") {\n date.add(interval, \"weeks\");\n return [date.clone().startOf(period), date.clone().endOf(period)];\n } else if (step === \"monthly\") {\n date.add(interval, \"months\");\n return [date.clone().startOf(\"month\"), date.clone().endOf(\"month\")];\n } else if (step === \"quarterly\") {\n date.add(interval, \"quarters\");\n return [date.clone().startOf(\"quarter\"), date.clone().endOf(\"quarter\")];\n } else if (step === \"yearly\") {\n date.add(interval, \"years\");\n return [date.clone().startOf(\"year\"), date.clone().endOf(\"year\")];\n } else if (step === \"custom\") {\n // For range step, calculate N days based on current selection\n // Handle case where toDate is undefined\n const effectiveToDate = !toDate ? fromDate : toDate;\n\n const daysDiff = effectiveToDate.diff(fromDate, \"days\");\n\n // If same day selected (daysDiff = 0), move by 1 day\n const daysToMove = daysDiff === 0 ? 1 : daysDiff + 1;\n const newFromDate = fromDate.clone().add(interval * daysToMove, \"days\");\n const newToDate =\n daysDiff === 0\n ? newFromDate.clone()\n : effectiveToDate.clone().add(interval * daysToMove, \"days\");\n\n return [newFromDate, newToDate];\n }\n return [date, date];\n },\n [fromDate, toDate, period, step]\n );\n\n const getDateFormatted = useMemo(() => {\n if (formatCallback) {\n return formatCallback(fromDate, toDate ? toDate : fromDate);\n }\n\n const actualYear = moment().year();\n\n const showWeekOrCustomDateFormat = (start, end): string => {\n const endDate = end ? end : start;\n if (start.year() === actualYear && end.year() === actualYear) {\n return (\n start.utc().format(\"MMM DD\") + \" - \" + endDate.utc().format(\"MMM DD\")\n );\n } else {\n return (\n start.utc().format(\"MMM DD YYYY\") +\n \" - \" +\n endDate.utc().format(\"MMM DD YYYY\")\n );\n }\n };\n\n if (step === \"daily\") {\n if (fromDate.year() === actualYear) {\n return fromDate.utc().format(\"MMM DD\");\n }\n return fromDate.utc().format(\"MMM DD YYYY\");\n } else if (step === \"weekly\") {\n const startDate = fromDate.clone().utc().startOf(period);\n const endDate = startDate.clone().utc().endOf(period);\n return showWeekOrCustomDateFormat(startDate, endDate);\n } else if (step === \"monthly\") {\n return fromDate.utc().format(\"MMM YYYY\");\n } else if (step === \"quarterly\") {\n return `Q${fromDate.utc().quarter()}/${fromDate.utc().format(\"YYYY\")}`;\n } else if (step === \"yearly\") {\n return fromDate.utc().format(\"YYYY\");\n } else if (step === \"custom\") {\n if (!toDate) {\n if (fromDate.year() === actualYear) {\n return fromDate.utc().format(\"MMM DD\");\n }\n return fromDate.utc().format(\"MMM DD YYYY\");\n }\n // If from and to are the same date, show only once\n if (fromDate.format(\"YYYY-MM-DD\") === toDate.format(\"YYYY-MM-DD\")) {\n if (fromDate.year() === actualYear) {\n return fromDate.utc().format(\"MMM DD\");\n }\n return fromDate.utc().format(\"MMM DD YYYY\");\n }\n return showWeekOrCustomDateFormat(fromDate, toDate);\n }\n\n return \"\";\n }, [fromDate, toDate, step, formatCallback, period]);\n\n const datePickerMode = useMemo(() => {\n if (step === \"custom\") return \"custom\";\n if (step === \"yearly\") return \"custom\";\n return step;\n }, [step]);\n\n const onDatePickerChange = useCallback(\n (dates?: TimestampDateRange) => {\n console.log(\"dates: \", dates);\n const fromDateTemp: Moment = moment.utc(Number(dates?.from) * 1000);\n const toDateTemp: Moment = dates?.to\n ? moment.utc(Number(dates?.to) * 1000)\n : null;\n\n setFromDate(fromDateTemp);\n setToDate(toDateTemp);\n\n if (\n onChange &&\n step !== \"custom\" &&\n moment.isMoment(fromDateTemp) &&\n moment.isMoment(toDateTemp)\n ) {\n onChange(fromDateTemp.toDate(), toDateTemp.toDate());\n }\n },\n [onChange, step]\n );\n\n const onToggleDatePicker = useCallback(\n (open?: boolean) => {\n if (step === \"custom\" && !open) {\n const toDateTemp: Moment = toDate ? toDate : fromDate;\n setToDate(toDateTemp);\n onChange?.(fromDate.toDate(), toDateTemp.toDate());\n }\n },\n [fromDate, onChange, step, toDate]\n );\n\n const isAfterMaxDate = useMemo(() => {\n return (\n moment.isMoment(maxValue) &&\n toDate &&\n moment(moment.utc(maxValue).format(\"YYYY-MM-DD\")).isSameOrBefore(\n toDate.utc().format(\"YYYY-MM-DD\")\n )\n );\n }, [maxValue, toDate]);\n\n const isBeforeMinDate = useMemo(() => {\n return (\n moment.isMoment(minValue) &&\n toDate &&\n moment\n .utc(moment.utc(minValue).format(\"YYYY-MM-DD\"))\n .isSameOrAfter(toDate.utc().format(\"YYYY-MM-DD\"))\n );\n }, [minValue, toDate]);\n\n useEffect(() => {\n if (isBeforeMinDate) {\n if (step === \"daily\") {\n setFromDate(moment.utc(minValue));\n setToDate(moment.utc(minValue));\n }\n }\n if (isAfterMaxDate) {\n if (step === \"daily\") {\n setFromDate(moment.utc(maxValue));\n setToDate(moment.utc(maxValue));\n }\n }\n }, [step, minValue, maxValue, isBeforeMinDate, isAfterMaxDate]);\n\n const onRightClickHandler = useCallback(() => {\n if (isAfterMaxDate) {\n return;\n }\n\n const [newFrom, newTo] = getDatesByPeriod(1);\n setFromDate(moment.utc(newFrom));\n setToDate(moment.utc(newTo));\n\n if (onChange) {\n onChange(moment.utc(newFrom).toDate(), moment.utc(newTo).toDate());\n }\n\n if (onForward) {\n onForward(moment.utc(newFrom).toDate(), moment.utc(newTo).toDate());\n }\n }, [isAfterMaxDate, getDatesByPeriod, onChange, onForward]);\n\n const onLeftClickHandler = useCallback(() => {\n if (isBeforeMinDate) {\n return;\n }\n\n const [newFrom, newTo] = getDatesByPeriod(-1);\n setFromDate(moment.utc(newFrom));\n setToDate(moment.utc(newTo));\n\n if (onChange) {\n onChange(moment.utc(newFrom).toDate(), moment.utc(newTo).toDate());\n }\n if (onBack) {\n onBack(moment.utc(newFrom).toDate(), moment.utc(newTo).toDate());\n }\n }, [isBeforeMinDate, getDatesByPeriod, onChange, onBack]);\n\n useEffect(() => {\n setFromDate(moment.utc(from));\n setToDate(to ? moment.utc(to) : null);\n }, [from, to]);\n\n const dateStepperWidth = (\n fromDay: Moment,\n toDay: Moment,\n range: string\n ): { minWidth: string } => {\n if (range === \"range\") {\n return { minWidth: \"102px\" };\n }\n if (\n fromDay.utc().year() !== moment.utc().year() ||\n toDay.utc().year() !== moment.utc().year()\n ) {\n switch (range) {\n case \"daily\":\n case \"monthly\":\n return { minWidth: \"122px\" };\n case \"weekly\":\n case \"custom\":\n return { minWidth: \"232px\" };\n }\n }\n switch (range) {\n case \"monthly\":\n return { minWidth: \"122px\" };\n case \"weekly\":\n case \"custom\":\n return { minWidth: \"182px\" };\n }\n\n return { minWidth: \"102px\" };\n };\n const isDisabled = useCallback(\n (day: Moment): boolean => {\n const dayFormat = moment.utc(day).format(\"YYYY-MM-DD\");\n\n const isBefore =\n moment.isMoment(maxValue) &&\n moment(moment.utc(maxValue).format(\"YYYY-MM-DD\")).isBefore(dayFormat);\n const isAfter =\n moment.isMoment(minValue) &&\n moment(moment.utc(minValue).format(\"YYYY-MM-DD\")).isAfter(dayFormat);\n\n return isBefore || isAfter;\n },\n [maxValue, minValue]\n );\n\n const modifiers = useMemo(\n () => ({\n disabled: (day: Moment) => ({ matched: isDisabled(day), title: null }),\n nonWorkingDay: (day: Moment) => ({\n matched: isDisabled(day),\n title: null,\n }),\n }),\n [isDisabled]\n );\n\n return (\n <StyledButtonGroup className={classNames(\"c-date-stepper\", className)}>\n {!disableArrows ? (\n <StyledControl\n type=\"button\"\n variant={mode === \"flat\" ? \"text gray\" : \"secondary\"}\n onClick={onLeftClickHandler}\n disabled={isBeforeMinDate}\n >\n <ArrowLeftIcon />\n </StyledControl>\n ) : null}\n <StyledDiv\n $isTargetable={step === \"yearly\" || !withDatePicker}\n $isRounded={disableArrows}\n $mode={mode}\n $alwaysShowDate={alwaysShowDate}\n style={dateStepperWidth(fromDate, toDate, step)}\n >\n {withDatePicker && step !== \"yearly\" ? (\n <DatePicker\n month={defaultMonth}\n onCalendarToggle={onToggleDatePicker}\n target={\n <StyledButton $step={step} type=\"button\">\n {getDateFormatted}\n </StyledButton>\n }\n mode={datePickerMode}\n selected={{\n from: moment.utc(fromDate).unix(),\n to: toDate ? moment.utc(toDate).unix() : null,\n }}\n onChange={onDatePickerChange}\n firstDayOfWeek={period === \"week\" ? 0 : 1}\n modifiers={modifiers}\n disabledDaysAfter={maxValue}\n disabledDaysBefore={minValue}\n disableYearPicker={!enableYearPicker}\n popperClassName={popperClassName}\n position={position}\n key={datePickerMode}\n instant\n required\n />\n ) : (\n <StyledSpan>{getDateFormatted}</StyledSpan>\n )}\n </StyledDiv>\n {!disableArrows ? (\n <StyledControl\n type=\"button\"\n variant={mode === \"flat\" ? \"text gray\" : \"secondary\"}\n onClick={onRightClickHandler}\n disabled={isAfterMaxDate}\n >\n <ArrowRightIcon />\n </StyledControl>\n ) : null}\n </StyledButtonGroup>\n );\n};\n\nDateStepper.displayName = \"DateStepper\";\n"],"mappings":"AAAA,OAAOA,KAAK,IAAQC,WAAW,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,SAAS,QAAQ,OAAO;AAG5E,OAAOC,UAAU,MAAM,YAAY;AAEnC,OAAOC,MAAM,MAAM,iBAAiB;AAEpC,SACEC,YAAY,EACZC,iBAAiB,EACjBC,SAAS,EACTC,UAAU,EACVC,aAAa,QACR,UAAU;AACjB,SAASC,UAAU,QAA4B,6BAA6B;AAC5E,SAASC,cAAc,QAAQ,aAAa;AAC5C,OAAOC,aAAa,MAAM,kCAAkC;AA8C5D;AACA;AACA;AACA;;AAEA,OAAO,MAAMC,WAAkC,GAAGC,IAAA,IAoB5C;EAAA,IApB6C;IACjDC,IAAI;IACJC,cAAc;IACdC,QAAQ;IACRC,IAAI;IACJC,EAAE;IACFC,MAAM;IACNC,SAAS;IACTC,QAAQ;IACRC,QAAQ;IACRC,SAAS;IACTC,MAAM,GAAG,MAAM;IACfC,cAAc,GAAG,IAAI;IACrBC,YAAY,GAAGvB,MAAM,CAAC,CAAC;IACvBwB,gBAAgB;IAChBC,QAAQ,GAAG,QAAQ;IACnBC,eAAe;IACfC,IAAI,GAAG,UAAU;IACjBC,cAAc,GAAG,KAAK;IACtBC,aAAa,GAAG;EAClB,CAAC,GAAAnB,IAAA;EACC,MAAM,CAACoB,QAAQ,EAAEC,WAAW,CAAC,GAAGlC,QAAQ,CAASG,MAAM,CAACgC,GAAG,CAAClB,IAAI,CAAC,CAAC;EAClE,MAAM,CAACmB,MAAM,EAAEC,SAAS,CAAC,GAAGrC,QAAQ,CAASkB,EAAE,GAAGf,MAAM,CAACgC,GAAG,CAACjB,EAAE,CAAC,GAAG,IAAI,CAAC;EAExE,MAAMoB,gBAAgB,GAAGxC,WAAW,CACjCyC,QAAgB,IAAe;IAC9B,MAAMC,IAAI,GAAGP,QAAQ,GAAGA,QAAQ,GAAG9B,MAAM,CAAC,CAAC;IAC3C,IAAIW,IAAI,KAAK,OAAO,EAAE;MACpB0B,IAAI,CAACC,GAAG,CAACF,QAAQ,EAAE,MAAM,CAAC;MAC1B,OAAO,CAACC,IAAI,EAAEA,IAAI,CAACE,KAAK,CAAC,CAAC,CAAC;IAC7B,CAAC,MAAM,IAAI5B,IAAI,KAAK,QAAQ,EAAE;MAC5B0B,IAAI,CAACC,GAAG,CAACF,QAAQ,EAAE,OAAO,CAAC;MAC3B,OAAO,CAACC,IAAI,CAACE,KAAK,CAAC,CAAC,CAACC,OAAO,CAACnB,MAAM,CAAC,EAAEgB,IAAI,CAACE,KAAK,CAAC,CAAC,CAACE,KAAK,CAACpB,MAAM,CAAC,CAAC;IACnE,CAAC,MAAM,IAAIV,IAAI,KAAK,SAAS,EAAE;MAC7B0B,IAAI,CAACC,GAAG,CAACF,QAAQ,EAAE,QAAQ,CAAC;MAC5B,OAAO,CAACC,IAAI,CAACE,KAAK,CAAC,CAAC,CAACC,OAAO,CAAC,OAAO,CAAC,EAAEH,IAAI,CAACE,KAAK,CAAC,CAAC,CAACE,KAAK,CAAC,OAAO,CAAC,CAAC;IACrE,CAAC,MAAM,IAAI9B,IAAI,KAAK,WAAW,EAAE;MAC/B0B,IAAI,CAACC,GAAG,CAACF,QAAQ,EAAE,UAAU,CAAC;MAC9B,OAAO,CAACC,IAAI,CAACE,KAAK,CAAC,CAAC,CAACC,OAAO,CAAC,SAAS,CAAC,EAAEH,IAAI,CAACE,KAAK,CAAC,CAAC,CAACE,KAAK,CAAC,SAAS,CAAC,CAAC;IACzE,CAAC,MAAM,IAAI9B,IAAI,KAAK,QAAQ,EAAE;MAC5B0B,IAAI,CAACC,GAAG,CAACF,QAAQ,EAAE,OAAO,CAAC;MAC3B,OAAO,CAACC,IAAI,CAACE,KAAK,CAAC,CAAC,CAACC,OAAO,CAAC,MAAM,CAAC,EAAEH,IAAI,CAACE,KAAK,CAAC,CAAC,CAACE,KAAK,CAAC,MAAM,CAAC,CAAC;IACnE,CAAC,MAAM,IAAI9B,IAAI,KAAK,QAAQ,EAAE;MAC5B;MACA;MACA,MAAM+B,eAAe,GAAG,CAACT,MAAM,GAAGH,QAAQ,GAAGG,MAAM;MAEnD,MAAMU,QAAQ,GAAGD,eAAe,CAACE,IAAI,CAACd,QAAQ,EAAE,MAAM,CAAC;;MAEvD;MACA,MAAMe,UAAU,GAAGF,QAAQ,KAAK,CAAC,GAAG,CAAC,GAAGA,QAAQ,GAAG,CAAC;MACpD,MAAMG,WAAW,GAAGhB,QAAQ,CAACS,KAAK,CAAC,CAAC,CAACD,GAAG,CAACF,QAAQ,GAAGS,UAAU,EAAE,MAAM,CAAC;MACvE,MAAME,SAAS,GACbJ,QAAQ,KAAK,CAAC,GACVG,WAAW,CAACP,KAAK,CAAC,CAAC,GACnBG,eAAe,CAACH,KAAK,CAAC,CAAC,CAACD,GAAG,CAACF,QAAQ,GAAGS,UAAU,EAAE,MAAM,CAAC;MAEhE,OAAO,CAACC,WAAW,EAAEC,SAAS,CAAC;IACjC;IACA,OAAO,CAACV,IAAI,EAAEA,IAAI,CAAC;EACrB,CAAC,EACD,CAACP,QAAQ,EAAEG,MAAM,EAAEZ,MAAM,EAAEV,IAAI,CACjC,CAAC;EAED,MAAMqC,gBAAgB,GAAGpD,OAAO,CAAC,MAAM;IACrC,IAAIgB,cAAc,EAAE;MAClB,OAAOA,cAAc,CAACkB,QAAQ,EAAEG,MAAM,GAAGA,MAAM,GAAGH,QAAQ,CAAC;IAC7D;IAEA,MAAMmB,UAAU,GAAGjD,MAAM,CAAC,CAAC,CAACkD,IAAI,CAAC,CAAC;IAElC,MAAMC,0BAA0B,GAAGA,CAACC,KAAK,EAAEC,GAAG,KAAa;MACzD,MAAMC,OAAO,GAAGD,GAAG,GAAGA,GAAG,GAAGD,KAAK;MACjC,IAAIA,KAAK,CAACF,IAAI,CAAC,CAAC,KAAKD,UAAU,IAAII,GAAG,CAACH,IAAI,CAAC,CAAC,KAAKD,UAAU,EAAE;QAC5D,OACEG,KAAK,CAACpB,GAAG,CAAC,CAAC,CAACuB,MAAM,CAAC,QAAQ,CAAC,GAAG,KAAK,GAAGD,OAAO,CAACtB,GAAG,CAAC,CAAC,CAACuB,MAAM,CAAC,QAAQ,CAAC;MAEzE,CAAC,MAAM;QACL,OACEH,KAAK,CAACpB,GAAG,CAAC,CAAC,CAACuB,MAAM,CAAC,aAAa,CAAC,GACjC,KAAK,GACLD,OAAO,CAACtB,GAAG,CAAC,CAAC,CAACuB,MAAM,CAAC,aAAa,CAAC;MAEvC;IACF,CAAC;IAED,IAAI5C,IAAI,KAAK,OAAO,EAAE;MACpB,IAAImB,QAAQ,CAACoB,IAAI,CAAC,CAAC,KAAKD,UAAU,EAAE;QAClC,OAAOnB,QAAQ,CAACE,GAAG,CAAC,CAAC,CAACuB,MAAM,CAAC,QAAQ,CAAC;MACxC;MACA,OAAOzB,QAAQ,CAACE,GAAG,CAAC,CAAC,CAACuB,MAAM,CAAC,aAAa,CAAC;IAC7C,CAAC,MAAM,IAAI5C,IAAI,KAAK,QAAQ,EAAE;MAC5B,MAAM6C,SAAS,GAAG1B,QAAQ,CAACS,KAAK,CAAC,CAAC,CAACP,GAAG,CAAC,CAAC,CAACQ,OAAO,CAACnB,MAAM,CAAC;MACxD,MAAMiC,OAAO,GAAGE,SAAS,CAACjB,KAAK,CAAC,CAAC,CAACP,GAAG,CAAC,CAAC,CAACS,KAAK,CAACpB,MAAM,CAAC;MACrD,OAAO8B,0BAA0B,CAACK,SAAS,EAAEF,OAAO,CAAC;IACvD,CAAC,MAAM,IAAI3C,IAAI,KAAK,SAAS,EAAE;MAC7B,OAAOmB,QAAQ,CAACE,GAAG,CAAC,CAAC,CAACuB,MAAM,CAAC,UAAU,CAAC;IAC1C,CAAC,MAAM,IAAI5C,IAAI,KAAK,WAAW,EAAE;MAC/B,aAAWmB,QAAQ,CAACE,GAAG,CAAC,CAAC,CAACyB,OAAO,CAAC,CAAC,SAAI3B,QAAQ,CAACE,GAAG,CAAC,CAAC,CAACuB,MAAM,CAAC,MAAM,CAAC;IACtE,CAAC,MAAM,IAAI5C,IAAI,KAAK,QAAQ,EAAE;MAC5B,OAAOmB,QAAQ,CAACE,GAAG,CAAC,CAAC,CAACuB,MAAM,CAAC,MAAM,CAAC;IACtC,CAAC,MAAM,IAAI5C,IAAI,KAAK,QAAQ,EAAE;MAC5B,IAAI,CAACsB,MAAM,EAAE;QACX,IAAIH,QAAQ,CAACoB,IAAI,CAAC,CAAC,KAAKD,UAAU,EAAE;UAClC,OAAOnB,QAAQ,CAACE,GAAG,CAAC,CAAC,CAACuB,MAAM,CAAC,QAAQ,CAAC;QACxC;QACA,OAAOzB,QAAQ,CAACE,GAAG,CAAC,CAAC,CAACuB,MAAM,CAAC,aAAa,CAAC;MAC7C;MACA;MACA,IAAIzB,QAAQ,CAACyB,MAAM,CAAC,YAAY,CAAC,KAAKtB,MAAM,CAACsB,MAAM,CAAC,YAAY,CAAC,EAAE;QACjE,IAAIzB,QAAQ,CAACoB,IAAI,CAAC,CAAC,KAAKD,UAAU,EAAE;UAClC,OAAOnB,QAAQ,CAACE,GAAG,CAAC,CAAC,CAACuB,MAAM,CAAC,QAAQ,CAAC;QACxC;QACA,OAAOzB,QAAQ,CAACE,GAAG,CAAC,CAAC,CAACuB,MAAM,CAAC,aAAa,CAAC;MAC7C;MACA,OAAOJ,0BAA0B,CAACrB,QAAQ,EAAEG,MAAM,CAAC;IACrD;IAEA,OAAO,EAAE;EACX,CAAC,EAAE,CAACH,QAAQ,EAAEG,MAAM,EAAEtB,IAAI,EAAEC,cAAc,EAAES,MAAM,CAAC,CAAC;EAEpD,MAAMqC,cAAc,GAAG9D,OAAO,CAAC,MAAM;IACnC,IAAIe,IAAI,KAAK,QAAQ,EAAE,OAAO,QAAQ;IACtC,IAAIA,IAAI,KAAK,QAAQ,EAAE,OAAO,QAAQ;IACtC,OAAOA,IAAI;EACb,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAEV,MAAMgD,kBAAkB,GAAGhE,WAAW,CACnCiE,KAA0B,IAAK;IAC9BC,OAAO,CAACC,GAAG,CAAC,SAAS,EAAEF,KAAK,CAAC;IAC7B,MAAMG,YAAoB,GAAG/D,MAAM,CAACgC,GAAG,CAACgC,MAAM,CAACJ,KAAK,oBAALA,KAAK,CAAE9C,IAAI,CAAC,GAAG,IAAI,CAAC;IACnE,MAAMmD,UAAkB,GAAGL,KAAK,YAALA,KAAK,CAAE7C,EAAE,GAChCf,MAAM,CAACgC,GAAG,CAACgC,MAAM,CAACJ,KAAK,oBAALA,KAAK,CAAE7C,EAAE,CAAC,GAAG,IAAI,CAAC,GACpC,IAAI;IAERgB,WAAW,CAACgC,YAAY,CAAC;IACzB7B,SAAS,CAAC+B,UAAU,CAAC;IAErB,IACEpD,QAAQ,IACRF,IAAI,KAAK,QAAQ,IACjBX,MAAM,CAACkE,QAAQ,CAACH,YAAY,CAAC,IAC7B/D,MAAM,CAACkE,QAAQ,CAACD,UAAU,CAAC,EAC3B;MACApD,QAAQ,CAACkD,YAAY,CAAC9B,MAAM,CAAC,CAAC,EAAEgC,UAAU,CAAChC,MAAM,CAAC,CAAC,CAAC;IACtD;EACF,CAAC,EACD,CAACpB,QAAQ,EAAEF,IAAI,CACjB,CAAC;EAED,MAAMwD,kBAAkB,GAAGxE,WAAW,CACnCyE,IAAc,IAAK;IAClB,IAAIzD,IAAI,KAAK,QAAQ,IAAI,CAACyD,IAAI,EAAE;MAC9B,MAAMH,UAAkB,GAAGhC,MAAM,GAAGA,MAAM,GAAGH,QAAQ;MACrDI,SAAS,CAAC+B,UAAU,CAAC;MACrBpD,QAAQ,YAARA,QAAQ,CAAGiB,QAAQ,CAACG,MAAM,CAAC,CAAC,EAAEgC,UAAU,CAAChC,MAAM,CAAC,CAAC,CAAC;IACpD;EACF,CAAC,EACD,CAACH,QAAQ,EAAEjB,QAAQ,EAAEF,IAAI,EAAEsB,MAAM,CACnC,CAAC;EAED,MAAMoC,cAAc,GAAGzE,OAAO,CAAC,MAAM;IACnC,OACEI,MAAM,CAACkE,QAAQ,CAAC/C,QAAQ,CAAC,IACzBc,MAAM,IACNjC,MAAM,CAACA,MAAM,CAACgC,GAAG,CAACb,QAAQ,CAAC,CAACoC,MAAM,CAAC,YAAY,CAAC,CAAC,CAACe,cAAc,CAC9DrC,MAAM,CAACD,GAAG,CAAC,CAAC,CAACuB,MAAM,CAAC,YAAY,CAClC,CAAC;EAEL,CAAC,EAAE,CAACpC,QAAQ,EAAEc,MAAM,CAAC,CAAC;EAEtB,MAAMsC,eAAe,GAAG3E,OAAO,CAAC,MAAM;IACpC,OACEI,MAAM,CAACkE,QAAQ,CAAChD,QAAQ,CAAC,IACzBe,MAAM,IACNjC,MAAM,CACHgC,GAAG,CAAChC,MAAM,CAACgC,GAAG,CAACd,QAAQ,CAAC,CAACqC,MAAM,CAAC,YAAY,CAAC,CAAC,CAC9CiB,aAAa,CAACvC,MAAM,CAACD,GAAG,CAAC,CAAC,CAACuB,MAAM,CAAC,YAAY,CAAC,CAAC;EAEvD,CAAC,EAAE,CAACrC,QAAQ,EAAEe,MAAM,CAAC,CAAC;EAEtBnC,SAAS,CAAC,MAAM;IACd,IAAIyE,eAAe,EAAE;MACnB,IAAI5D,IAAI,KAAK,OAAO,EAAE;QACpBoB,WAAW,CAAC/B,MAAM,CAACgC,GAAG,CAACd,QAAQ,CAAC,CAAC;QACjCgB,SAAS,CAAClC,MAAM,CAACgC,GAAG,CAACd,QAAQ,CAAC,CAAC;MACjC;IACF;IACA,IAAImD,cAAc,EAAE;MAClB,IAAI1D,IAAI,KAAK,OAAO,EAAE;QACpBoB,WAAW,CAAC/B,MAAM,CAACgC,GAAG,CAACb,QAAQ,CAAC,CAAC;QACjCe,SAAS,CAAClC,MAAM,CAACgC,GAAG,CAACb,QAAQ,CAAC,CAAC;MACjC;IACF;EACF,CAAC,EAAE,CAACR,IAAI,EAAEO,QAAQ,EAAEC,QAAQ,EAAEoD,eAAe,EAAEF,cAAc,CAAC,CAAC;EAE/D,MAAMI,mBAAmB,GAAG9E,WAAW,CAAC,MAAM;IAC5C,IAAI0E,cAAc,EAAE;MAClB;IACF;IAEA,MAAM,CAACK,OAAO,EAAEC,KAAK,CAAC,GAAGxC,gBAAgB,CAAC,CAAC,CAAC;IAC5CJ,WAAW,CAAC/B,MAAM,CAACgC,GAAG,CAAC0C,OAAO,CAAC,CAAC;IAChCxC,SAAS,CAAClC,MAAM,CAACgC,GAAG,CAAC2C,KAAK,CAAC,CAAC;IAE5B,IAAI9D,QAAQ,EAAE;MACZA,QAAQ,CAACb,MAAM,CAACgC,GAAG,CAAC0C,OAAO,CAAC,CAACzC,MAAM,CAAC,CAAC,EAAEjC,MAAM,CAACgC,GAAG,CAAC2C,KAAK,CAAC,CAAC1C,MAAM,CAAC,CAAC,CAAC;IACpE;IAEA,IAAIhB,SAAS,EAAE;MACbA,SAAS,CAACjB,MAAM,CAACgC,GAAG,CAAC0C,OAAO,CAAC,CAACzC,MAAM,CAAC,CAAC,EAAEjC,MAAM,CAACgC,GAAG,CAAC2C,KAAK,CAAC,CAAC1C,MAAM,CAAC,CAAC,CAAC;IACrE;EACF,CAAC,EAAE,CAACoC,cAAc,EAAElC,gBAAgB,EAAEtB,QAAQ,EAAEI,SAAS,CAAC,CAAC;EAE3D,MAAM2D,kBAAkB,GAAGjF,WAAW,CAAC,MAAM;IAC3C,IAAI4E,eAAe,EAAE;MACnB;IACF;IAEA,MAAM,CAACG,OAAO,EAAEC,KAAK,CAAC,GAAGxC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAC7CJ,WAAW,CAAC/B,MAAM,CAACgC,GAAG,CAAC0C,OAAO,CAAC,CAAC;IAChCxC,SAAS,CAAClC,MAAM,CAACgC,GAAG,CAAC2C,KAAK,CAAC,CAAC;IAE5B,IAAI9D,QAAQ,EAAE;MACZA,QAAQ,CAACb,MAAM,CAACgC,GAAG,CAAC0C,OAAO,CAAC,CAACzC,MAAM,CAAC,CAAC,EAAEjC,MAAM,CAACgC,GAAG,CAAC2C,KAAK,CAAC,CAAC1C,MAAM,CAAC,CAAC,CAAC;IACpE;IACA,IAAIjB,MAAM,EAAE;MACVA,MAAM,CAAChB,MAAM,CAACgC,GAAG,CAAC0C,OAAO,CAAC,CAACzC,MAAM,CAAC,CAAC,EAAEjC,MAAM,CAACgC,GAAG,CAAC2C,KAAK,CAAC,CAAC1C,MAAM,CAAC,CAAC,CAAC;IAClE;EACF,CAAC,EAAE,CAACsC,eAAe,EAAEpC,gBAAgB,EAAEtB,QAAQ,EAAEG,MAAM,CAAC,CAAC;EAEzDlB,SAAS,CAAC,MAAM;IACdiC,WAAW,CAAC/B,MAAM,CAACgC,GAAG,CAAClB,IAAI,CAAC,CAAC;IAC7BoB,SAAS,CAACnB,EAAE,GAAGf,MAAM,CAACgC,GAAG,CAACjB,EAAE,CAAC,GAAG,IAAI,CAAC;EACvC,CAAC,EAAE,CAACD,IAAI,EAAEC,EAAE,CAAC,CAAC;EAEd,MAAM8D,gBAAgB,GAAGA,CACvBC,OAAe,EACfC,KAAa,EACbC,KAAa,KACY;IACzB,IAAIA,KAAK,KAAK,OAAO,EAAE;MACrB,OAAO;QAAEC,QAAQ,EAAE;MAAQ,CAAC;IAC9B;IACA,IACEH,OAAO,CAAC9C,GAAG,CAAC,CAAC,CAACkB,IAAI,CAAC,CAAC,KAAKlD,MAAM,CAACgC,GAAG,CAAC,CAAC,CAACkB,IAAI,CAAC,CAAC,IAC5C6B,KAAK,CAAC/C,GAAG,CAAC,CAAC,CAACkB,IAAI,CAAC,CAAC,KAAKlD,MAAM,CAACgC,GAAG,CAAC,CAAC,CAACkB,IAAI,CAAC,CAAC,EAC1C;MACA,QAAQ8B,KAAK;QACX,KAAK,OAAO;QACZ,KAAK,SAAS;UACZ,OAAO;YAAEC,QAAQ,EAAE;UAAQ,CAAC;QAC9B,KAAK,QAAQ;QACb,KAAK,QAAQ;UACX,OAAO;YAAEA,QAAQ,EAAE;UAAQ,CAAC;MAChC;IACF;IACA,QAAQD,KAAK;MACX,KAAK,SAAS;QACZ,OAAO;UAAEC,QAAQ,EAAE;QAAQ,CAAC;MAC9B,KAAK,QAAQ;MACb,KAAK,QAAQ;QACX,OAAO;UAAEA,QAAQ,EAAE;QAAQ,CAAC;IAChC;IAEA,OAAO;MAAEA,QAAQ,EAAE;IAAQ,CAAC;EAC9B,CAAC;EACD,MAAMC,UAAU,GAAGvF,WAAW,CAC3BwF,GAAW,IAAc;IACxB,MAAMC,SAAS,GAAGpF,MAAM,CAACgC,GAAG,CAACmD,GAAG,CAAC,CAAC5B,MAAM,CAAC,YAAY,CAAC;IAEtD,MAAM8B,QAAQ,GACZrF,MAAM,CAACkE,QAAQ,CAAC/C,QAAQ,CAAC,IACzBnB,MAAM,CAACA,MAAM,CAACgC,GAAG,CAACb,QAAQ,CAAC,CAACoC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC8B,QAAQ,CAACD,SAAS,CAAC;IACvE,MAAME,OAAO,GACXtF,MAAM,CAACkE,QAAQ,CAAChD,QAAQ,CAAC,IACzBlB,MAAM,CAACA,MAAM,CAACgC,GAAG,CAACd,QAAQ,CAAC,CAACqC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC+B,OAAO,CAACF,SAAS,CAAC;IAEtE,OAAOC,QAAQ,IAAIC,OAAO;EAC5B,CAAC,EACD,CAACnE,QAAQ,EAAED,QAAQ,CACrB,CAAC;EAED,MAAMqE,SAAS,GAAG3F,OAAO,CACvB,OAAO;IACL4F,QAAQ,EAAGL,GAAW,KAAM;MAAEM,OAAO,EAAEP,UAAU,CAACC,GAAG,CAAC;MAAEO,KAAK,EAAE;IAAK,CAAC,CAAC;IACtEC,aAAa,EAAGR,GAAW,KAAM;MAC/BM,OAAO,EAAEP,UAAU,CAACC,GAAG,CAAC;MACxBO,KAAK,EAAE;IACT,CAAC;EACH,CAAC,CAAC,EACF,CAACR,UAAU,CACb,CAAC;EAED,oBACExF,KAAA,CAAAkG,aAAA,CAAC1F,iBAAiB;IAACkB,SAAS,EAAErB,UAAU,CAAC,gBAAgB,EAAEqB,SAAS;EAAE,GACnE,CAACS,aAAa,gBACbnC,KAAA,CAAAkG,aAAA,CAACvF,aAAa;IACZwF,IAAI,EAAC,QAAQ;IACbC,OAAO,EAAEnE,IAAI,KAAK,MAAM,GAAG,WAAW,GAAG,WAAY;IACrDoE,OAAO,EAAEnB,kBAAmB;IAC5BY,QAAQ,EAAEjB;EAAgB,gBAE1B7E,KAAA,CAAAkG,aAAA,CAACpF,aAAa,MAAE,CACH,CAAC,GACd,IAAI,eACRd,KAAA,CAAAkG,aAAA,CAACzF,SAAS;IACR6F,aAAa,EAAErF,IAAI,KAAK,QAAQ,IAAI,CAACW,cAAe;IACpD2E,UAAU,EAAEpE,aAAc;IAC1BqE,KAAK,EAAEvE,IAAK;IACZwE,eAAe,EAAEvE,cAAe;IAChCwE,KAAK,EAAEvB,gBAAgB,CAAC/C,QAAQ,EAAEG,MAAM,EAAEtB,IAAI;EAAE,GAE/CW,cAAc,IAAIX,IAAI,KAAK,QAAQ,gBAClCjB,KAAA,CAAAkG,aAAA,CAACtF,UAAU;IACT+F,KAAK,EAAE9E,YAAa;IACpB+E,gBAAgB,EAAEnC,kBAAmB;IACrCoC,MAAM,eACJ7G,KAAA,CAAAkG,aAAA,CAAC3F,YAAY;MAACuG,KAAK,EAAE7F,IAAK;MAACkF,IAAI,EAAC;IAAQ,GACrC7C,gBACW,CACf;IACDrB,IAAI,EAAE+B,cAAe;IACrB+C,QAAQ,EAAE;MACR3F,IAAI,EAAEd,MAAM,CAACgC,GAAG,CAACF,QAAQ,CAAC,CAAC4E,IAAI,CAAC,CAAC;MACjC3F,EAAE,EAAEkB,MAAM,GAAGjC,MAAM,CAACgC,GAAG,CAACC,MAAM,CAAC,CAACyE,IAAI,CAAC,CAAC,GAAG;IAC3C,CAAE;IACF7F,QAAQ,EAAE8C,kBAAmB;IAC7BgD,cAAc,EAAEtF,MAAM,KAAK,MAAM,GAAG,CAAC,GAAG,CAAE;IAC1CkE,SAAS,EAAEA,SAAU;IACrBqB,iBAAiB,EAAEzF,QAAS;IAC5B0F,kBAAkB,EAAE3F,QAAS;IAC7B4F,iBAAiB,EAAE,CAACtF,gBAAiB;IACrCE,eAAe,EAAEA,eAAgB;IACjCD,QAAQ,EAAEA,QAAS;IACnBsF,GAAG,EAAErD,cAAe;IACpBsD,OAAO;IACPC,QAAQ;EAAA,CACT,CAAC,gBAEFvH,KAAA,CAAAkG,aAAA,CAACxF,UAAU,QAAE4C,gBAA6B,CAEnC,CAAC,EACX,CAACnB,aAAa,gBACbnC,KAAA,CAAAkG,aAAA,CAACvF,aAAa;IACZwF,IAAI,EAAC,QAAQ;IACbC,OAAO,EAAEnE,IAAI,KAAK,MAAM,GAAG,WAAW,GAAG,WAAY;IACrDoE,OAAO,EAAEtB,mBAAoB;IAC7Be,QAAQ,EAAEnB;EAAe,gBAEzB3E,KAAA,CAAAkG,aAAA,CAACrF,cAAc,MAAE,CACJ,CAAC,GACd,IACa,CAAC;AAExB,CAAC;AAEDE,WAAW,CAACyG,WAAW,GAAG,aAAa","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"DateStepper.js","names":["React","useCallback","useMemo","useState","useEffect","classNames","moment","StyledButton","StyledButtonGroup","StyledDiv","StyledSpan","StyledControl","DatePicker","ArrowRightIcon","ArrowLeftIcon","DateStepper","_ref","step","formatCallback","onChange","from","to","onBack","onForward","minValue","maxValue","className","period","withDatePicker","defaultMonth","enableYearPicker","position","popperClassName","mode","alwaysShowDate","disableArrows","fromDate","setFromDate","utc","toDate","setToDate","getDatesByPeriod","interval","date","add","clone","startOf","endOf","effectiveToDate","daysDiff","diff","daysToMove","newFromDate","newToDate","getDateFormatted","actualYear","year","showWeekOrCustomDateFormat","start","end","endDate","format","startDate","quarter","datePickerMode","onDatePickerChange","dates","console","log","fromDateTemp","Number","toDateTemp","isMoment","onToggleDatePicker","open","isAfterMaxDate","isSameOrBefore","isBeforeMinDate","isSameOrAfter","onRightClickHandler","newFrom","newTo","onLeftClickHandler","dateStepperWidth","fromDay","toDay","range","minWidth","isDisabled","day","dayFormat","isBefore","isAfter","modifiers","disabled","matched","title","nonWorkingDay","createElement","type","variant","onClick","$isTargetable","$isRounded","$mode","$alwaysShowDate","style","month","onCalendarToggle","target","$step","selected","unix","firstDayOfWeek","disabledDaysAfter","disabledDaysBefore","disableYearPicker","key","instant","required","displayName"],"sources":["../../../../../src/components/Steppers/DateStepper/DateStepper.tsx"],"sourcesContent":["import React, { FC, useCallback, useMemo, useState, useEffect } from \"react\";\n\nimport { Placement } from \"@popperjs/core\";\nimport classNames from \"classnames\";\nimport { Moment } from \"moment\";\nimport moment from \"moment-timezone\";\n\nimport {\n StyledButton,\n StyledButtonGroup,\n StyledDiv,\n StyledSpan,\n StyledControl,\n} from \"./Styles\";\nimport { DatePicker, TimestampDateRange } from \"../../DatePicker/DatePicker\";\nimport { ArrowRightIcon } from \"../../Icons\";\nimport ArrowLeftIcon from \"../../Icons/collection/ArrowLeft\";\nimport { InputMode } from \"../../Input/types\";\n\nexport interface IDateStepperProps {\n /** One of the possible steps for this component */\n step: \"daily\" | \"weekly\" | \"monthly\" | \"quarterly\" | \"yearly\" | \"custom\";\n /** Callback function that will be called after the changed range */\n onChange?: (from: Date, to: Date | null) => void;\n /** Start date of the range */\n from: Moment | string;\n /** End date of the range */\n to?: Moment | string;\n /** Callback function that will format the text label */\n formatCallback?: (from: string | Moment, to: string | Moment) => string;\n /** Default month */\n defaultMonth?: Moment;\n /** Callback function onBack */\n onBack?: (from: Date, to: Date) => void;\n /** Callback function onForward */\n onForward?: (from: Date, to: Date) => void;\n /** Min date */\n minValue?: Moment;\n /** Max fate */\n maxValue?: Moment;\n /** html class */\n className?: string;\n /** Period for calculating week (isoWeek) */\n period?: \"week\" | \"isoWeek\";\n /** Classes for datePicker */\n datePickerClass?: string;\n /** Show datePicker in the middle button */\n withDatePicker?: boolean;\n /** Popper class name*/\n popperClassName?: string;\n /** DatePicker menu position */\n position?: Placement;\n /** Enable year picker in DatePicker */\n enableYearPicker?: boolean;\n /** conditional border & button variant styles */\n mode?: InputMode;\n /** preserve date on smaller screens */\n alwaysShowDate?: boolean;\n /** Hide navigation arrows */\n disableArrows?: boolean;\n}\n\n/**\n * This component allow you to select date range. It accepts two parameters \"from\" and \"to\" as valid format\n * onChange and onBack and onForward it will return \"from: Date\" and \"to: Date\" as function arguments\n */\n\nexport const DateStepper: FC<IDateStepperProps> = ({\n step,\n formatCallback,\n onChange,\n from,\n to,\n onBack,\n onForward,\n minValue,\n maxValue,\n className,\n period = \"week\",\n withDatePicker = true,\n defaultMonth = moment(),\n enableYearPicker,\n position = \"bottom\",\n popperClassName,\n mode = \"outlined\",\n alwaysShowDate = false,\n disableArrows = false,\n}) => {\n const [fromDate, setFromDate] = useState<Moment>(moment.utc(from));\n const [toDate, setToDate] = useState<Moment>(to ? moment.utc(to) : null);\n\n const getDatesByPeriod = useCallback(\n (interval: number): Moment[] => {\n const date = fromDate ? fromDate : moment();\n if (step === \"daily\") {\n date.add(interval, \"days\");\n return [date, date.clone()];\n } else if (step === \"weekly\") {\n date.add(interval, \"weeks\");\n return [date.clone().startOf(period), date.clone().endOf(period)];\n } else if (step === \"monthly\") {\n date.add(interval, \"months\");\n return [date.clone().startOf(\"month\"), date.clone().endOf(\"month\")];\n } else if (step === \"quarterly\") {\n date.add(interval, \"quarters\");\n return [date.clone().startOf(\"quarter\"), date.clone().endOf(\"quarter\")];\n } else if (step === \"yearly\") {\n date.add(interval, \"years\");\n return [date.clone().startOf(\"year\"), date.clone().endOf(\"year\")];\n } else if (step === \"custom\") {\n // For range step, calculate N days based on current selection\n // Handle case where toDate is undefined\n const effectiveToDate = !toDate ? fromDate : toDate;\n\n const daysDiff = effectiveToDate.diff(fromDate, \"days\");\n\n // If same day selected (daysDiff = 0), move by 1 day\n const daysToMove = daysDiff === 0 ? 1 : daysDiff + 1;\n const newFromDate = fromDate.clone().add(interval * daysToMove, \"days\");\n const newToDate =\n daysDiff === 0\n ? newFromDate.clone()\n : effectiveToDate.clone().add(interval * daysToMove, \"days\");\n\n return [newFromDate, newToDate];\n }\n return [date, date];\n },\n [fromDate, toDate, period, step]\n );\n\n const getDateFormatted = useMemo(() => {\n if (formatCallback) {\n return formatCallback(fromDate, toDate ? toDate : fromDate);\n }\n\n const actualYear = moment().year();\n\n const showWeekOrCustomDateFormat = (start, end): string => {\n const endDate = end ? end : start;\n if (start.year() === actualYear && end.year() === actualYear) {\n return (\n start.utc().format(\"MMM DD\") + \" - \" + endDate.utc().format(\"MMM DD\")\n );\n } else {\n return (\n start.utc().format(\"MMM DD YYYY\") +\n \" - \" +\n endDate.utc().format(\"MMM DD YYYY\")\n );\n }\n };\n\n if (step === \"daily\") {\n if (fromDate.year() === actualYear) {\n return fromDate.utc().format(\"MMM DD\");\n }\n return fromDate.utc().format(\"MMM DD YYYY\");\n } else if (step === \"weekly\") {\n const startDate = fromDate.clone().utc().startOf(period);\n const endDate = startDate.clone().utc().endOf(period);\n return showWeekOrCustomDateFormat(startDate, endDate);\n } else if (step === \"monthly\") {\n return fromDate.utc().format(\"MMM YYYY\");\n } else if (step === \"quarterly\") {\n return `Q${fromDate.utc().quarter()}/${fromDate.utc().format(\"YYYY\")}`;\n } else if (step === \"yearly\") {\n return fromDate.utc().format(\"YYYY\");\n } else if (step === \"custom\") {\n if (!toDate) {\n if (fromDate.year() === actualYear) {\n return fromDate.utc().format(\"MMM DD\");\n }\n return fromDate.utc().format(\"MMM DD YYYY\");\n }\n // If from and to are the same date, show only once\n if (fromDate.format(\"YYYY-MM-DD\") === toDate.format(\"YYYY-MM-DD\")) {\n if (fromDate.year() === actualYear) {\n return fromDate.utc().format(\"MMM DD\");\n }\n return fromDate.utc().format(\"MMM DD YYYY\");\n }\n return showWeekOrCustomDateFormat(fromDate, toDate);\n }\n\n return \"\";\n }, [fromDate, toDate, step, formatCallback, period]);\n\n const datePickerMode = useMemo(() => {\n if (step === \"custom\") return \"custom\";\n if (step === \"yearly\") return \"custom\";\n return step;\n }, [step]);\n\n const onDatePickerChange = useCallback(\n (dates?: TimestampDateRange) => {\n console.log(\"dates: \", dates);\n const fromDateTemp: Moment = moment.utc(Number(dates?.from) * 1000);\n const toDateTemp: Moment = dates?.to\n ? moment.utc(Number(dates?.to) * 1000)\n : null;\n\n setFromDate(fromDateTemp);\n setToDate(toDateTemp);\n\n if (\n onChange &&\n step !== \"custom\" &&\n moment.isMoment(fromDateTemp) &&\n moment.isMoment(toDateTemp)\n ) {\n onChange(fromDateTemp.toDate(), toDateTemp.toDate());\n }\n },\n [onChange, step]\n );\n\n const onToggleDatePicker = useCallback(\n (open?: boolean) => {\n if (step === \"custom\" && !open) {\n const toDateTemp: Moment = toDate ? toDate : fromDate;\n setToDate(toDateTemp);\n onChange?.(fromDate.toDate(), toDateTemp.toDate());\n }\n },\n [fromDate, onChange, step, toDate]\n );\n\n const isAfterMaxDate = useMemo(() => {\n return (\n moment.isMoment(maxValue) &&\n toDate &&\n moment(moment.utc(maxValue).format(\"YYYY-MM-DD\")).isSameOrBefore(\n toDate.utc().format(\"YYYY-MM-DD\")\n )\n );\n }, [maxValue, toDate]);\n\n const isBeforeMinDate = useMemo(() => {\n return (\n moment.isMoment(minValue) &&\n toDate &&\n moment\n .utc(moment.utc(minValue).format(\"YYYY-MM-DD\"))\n .isSameOrAfter(toDate.utc().format(\"YYYY-MM-DD\"))\n );\n }, [minValue, toDate]);\n\n useEffect(() => {\n if (isBeforeMinDate) {\n if (step === \"daily\") {\n setFromDate(moment.utc(minValue));\n setToDate(moment.utc(minValue));\n }\n }\n if (isAfterMaxDate) {\n if (step === \"daily\") {\n setFromDate(moment.utc(maxValue));\n setToDate(moment.utc(maxValue));\n }\n }\n }, [step, minValue, maxValue, isBeforeMinDate, isAfterMaxDate]);\n\n const onRightClickHandler = useCallback(() => {\n if (isAfterMaxDate) {\n return;\n }\n\n const [newFrom, newTo] = getDatesByPeriod(1);\n setFromDate(moment.utc(newFrom));\n setToDate(moment.utc(newTo));\n\n if (onChange) {\n onChange(moment.utc(newFrom).toDate(), moment.utc(newTo).toDate());\n }\n\n if (onForward) {\n onForward(moment.utc(newFrom).toDate(), moment.utc(newTo).toDate());\n }\n }, [isAfterMaxDate, getDatesByPeriod, onChange, onForward]);\n\n const onLeftClickHandler = useCallback(() => {\n if (isBeforeMinDate) {\n return;\n }\n\n const [newFrom, newTo] = getDatesByPeriod(-1);\n setFromDate(moment.utc(newFrom));\n setToDate(moment.utc(newTo));\n\n if (onChange) {\n onChange(moment.utc(newFrom).toDate(), moment.utc(newTo).toDate());\n }\n if (onBack) {\n onBack(moment.utc(newFrom).toDate(), moment.utc(newTo).toDate());\n }\n }, [isBeforeMinDate, getDatesByPeriod, onChange, onBack]);\n\n useEffect(() => {\n setFromDate(moment.utc(from));\n setToDate(to ? moment.utc(to) : null);\n }, [from, to]);\n\n const dateStepperWidth = (\n fromDay: Moment,\n toDay: Moment | undefined,\n range: string\n ): { minWidth: string } => {\n if (range === \"range\") {\n return { minWidth: \"102px\" };\n }\n if (\n fromDay.utc().year() !== moment.utc().year() ||\n (!!toDay && toDay?.utc().year() !== moment.utc().year())\n ) {\n switch (range) {\n case \"daily\":\n case \"monthly\":\n return { minWidth: \"122px\" };\n case \"weekly\":\n case \"custom\":\n return { minWidth: \"232px\" };\n }\n }\n switch (range) {\n case \"monthly\":\n return { minWidth: \"122px\" };\n case \"weekly\":\n case \"custom\":\n return { minWidth: \"182px\" };\n }\n\n return { minWidth: \"102px\" };\n };\n const isDisabled = useCallback(\n (day: Moment): boolean => {\n const dayFormat = moment.utc(day).format(\"YYYY-MM-DD\");\n\n const isBefore =\n moment.isMoment(maxValue) &&\n moment(moment.utc(maxValue).format(\"YYYY-MM-DD\")).isBefore(dayFormat);\n const isAfter =\n moment.isMoment(minValue) &&\n moment(moment.utc(minValue).format(\"YYYY-MM-DD\")).isAfter(dayFormat);\n\n return isBefore || isAfter;\n },\n [maxValue, minValue]\n );\n\n const modifiers = useMemo(\n () => ({\n disabled: (day: Moment) => ({ matched: isDisabled(day), title: null }),\n nonWorkingDay: (day: Moment) => ({\n matched: isDisabled(day),\n title: null,\n }),\n }),\n [isDisabled]\n );\n\n return (\n <StyledButtonGroup className={classNames(\"c-date-stepper\", className)}>\n {!disableArrows ? (\n <StyledControl\n type=\"button\"\n variant={mode === \"flat\" ? \"text gray\" : \"secondary\"}\n onClick={onLeftClickHandler}\n disabled={isBeforeMinDate}\n >\n <ArrowLeftIcon />\n </StyledControl>\n ) : null}\n <StyledDiv\n $isTargetable={step === \"yearly\" || !withDatePicker}\n $isRounded={disableArrows}\n $mode={mode}\n $alwaysShowDate={alwaysShowDate}\n style={dateStepperWidth(fromDate, toDate, step)}\n >\n {withDatePicker && step !== \"yearly\" ? (\n <DatePicker\n month={defaultMonth}\n onCalendarToggle={onToggleDatePicker}\n target={\n <StyledButton $step={step} type=\"button\">\n {getDateFormatted}\n </StyledButton>\n }\n mode={datePickerMode}\n selected={{\n from: moment.utc(fromDate).unix(),\n to: toDate ? moment.utc(toDate).unix() : null,\n }}\n onChange={onDatePickerChange}\n firstDayOfWeek={period === \"week\" ? 0 : 1}\n modifiers={modifiers}\n disabledDaysAfter={maxValue}\n disabledDaysBefore={minValue}\n disableYearPicker={!enableYearPicker}\n popperClassName={popperClassName}\n position={position}\n key={datePickerMode}\n instant\n required\n />\n ) : (\n <StyledSpan>{getDateFormatted}</StyledSpan>\n )}\n </StyledDiv>\n {!disableArrows ? (\n <StyledControl\n type=\"button\"\n variant={mode === \"flat\" ? \"text gray\" : \"secondary\"}\n onClick={onRightClickHandler}\n disabled={isAfterMaxDate}\n >\n <ArrowRightIcon />\n </StyledControl>\n ) : null}\n </StyledButtonGroup>\n );\n};\n\nDateStepper.displayName = \"DateStepper\";\n"],"mappings":"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","ignoreList":[]}
|
package/dist/index.js
CHANGED
|
@@ -14471,7 +14471,7 @@
|
|
|
14471
14471
|
minWidth: "102px"
|
|
14472
14472
|
};
|
|
14473
14473
|
}
|
|
14474
|
-
if (fromDay.utc().year() !== moment__default["default"].utc().year() || toDay.utc().year() !== moment__default["default"].utc().year()) {
|
|
14474
|
+
if (fromDay.utc().year() !== moment__default["default"].utc().year() || !!toDay && (toDay === null || toDay === void 0 ? void 0 : toDay.utc().year()) !== moment__default["default"].utc().year()) {
|
|
14475
14475
|
switch (range) {
|
|
14476
14476
|
case "daily":
|
|
14477
14477
|
case "monthly":
|
|
@@ -19922,10 +19922,13 @@
|
|
|
19922
19922
|
className: "c-combo-box-input",
|
|
19923
19923
|
onBlur: handleBlur,
|
|
19924
19924
|
onFocus: function onFocus(e) {
|
|
19925
|
-
|
|
19926
|
-
|
|
19927
|
-
|
|
19928
|
-
|
|
19925
|
+
try {
|
|
19926
|
+
if (e.target.matches(":focus-visible")) {
|
|
19927
|
+
setOpen(true);
|
|
19928
|
+
onOpen === null || onOpen === void 0 || onOpen();
|
|
19929
|
+
}
|
|
19930
|
+
// eslint-disable-next-line no-empty
|
|
19931
|
+
} catch (_error) {}
|
|
19929
19932
|
setFocused(true);
|
|
19930
19933
|
},
|
|
19931
19934
|
onClick: handleOpen,
|