@activecollab/components 1.0.227 → 1.0.229

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.
Files changed (32) hide show
  1. package/dist/cjs/components/Chip/Chip.js.map +1 -1
  2. package/dist/cjs/components/ComboBox/ComboBox.js.map +1 -1
  3. package/dist/cjs/components/CounterButton/CounterButton.js.map +1 -1
  4. package/dist/cjs/components/DatePicker/DatePicker.js.map +1 -1
  5. package/dist/cjs/components/EntityCard/EntityCard.js.map +1 -1
  6. package/dist/cjs/components/Header/Header.js.map +1 -1
  7. package/dist/cjs/components/Menu/Menu.js +0 -9
  8. package/dist/cjs/components/Menu/Menu.js.map +1 -1
  9. package/dist/cjs/components/Nav/Nav.js.map +1 -1
  10. package/dist/cjs/components/ProgressBar/ProgressBar.js.map +1 -1
  11. package/dist/cjs/components/Sheet/Sheet.js.map +1 -1
  12. package/dist/cjs/components/Signifier/Signifier.js.map +1 -1
  13. package/dist/cjs/components/ValueButton/ValueButton.js.map +1 -1
  14. package/dist/esm/components/Chip/Chip.js.map +1 -1
  15. package/dist/esm/components/ComboBox/ComboBox.js.map +1 -1
  16. package/dist/esm/components/CounterButton/CounterButton.js.map +1 -1
  17. package/dist/esm/components/DatePicker/DatePicker.js.map +1 -1
  18. package/dist/esm/components/EntityCard/EntityCard.js.map +1 -1
  19. package/dist/esm/components/Header/Header.js.map +1 -1
  20. package/dist/esm/components/Menu/Menu.d.ts.map +1 -1
  21. package/dist/esm/components/Menu/Menu.js +0 -9
  22. package/dist/esm/components/Menu/Menu.js.map +1 -1
  23. package/dist/esm/components/Nav/Nav.js.map +1 -1
  24. package/dist/esm/components/ProgressBar/ProgressBar.js.map +1 -1
  25. package/dist/esm/components/Sheet/Sheet.js.map +1 -1
  26. package/dist/esm/components/Signifier/Signifier.js.map +1 -1
  27. package/dist/esm/components/ValueButton/ValueButton.js.map +1 -1
  28. package/dist/index.js +0 -9
  29. package/dist/index.js.map +1 -1
  30. package/dist/index.min.js +1 -1
  31. package/dist/index.min.js.map +1 -1
  32. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Sheet.js","names":["Sheet","forwardRef","ref","children","onClose","controls","open","defaultOpen","animation","position","mode","disableFocusLock","disableScrollLock","disableBackgroundColor","bodyStyle","bodyClassName","disableBackgroundClick","rest","useState","setOpen","exited","setExited","innerRef","useRef","handleRef","useForkRef","useEffect","handleEnter","useCallback","handleExited","handleClose","handleBackgroundClick","event","preventDefault","classnames","length","map","item","index","maxDurationIn","maxDurationOut","control","durationOut","durationIn","state","displayName"],"sources":["../../../../src/components/Sheet/Sheet.tsx"],"sourcesContent":["import React, {\n useRef,\n useCallback,\n useEffect,\n forwardRef,\n HTMLAttributes,\n useState,\n CSSProperties,\n ReactElement,\n MouseEvent,\n} from \"react\";\n\nimport { Transition } from \"react-transition-group\";\nimport { Window } from \"../Window\";\nimport classnames from \"classnames\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport {\n StyledAnimatedSpan,\n StyledCssTransition,\n StyledSheetIcons,\n StyledSheetWrapper,\n StyledSheetWrapperPaper,\n} from \"./Styles\";\nimport { Overlay } from \"../Overlay\";\n\ninterface ISheet {\n onClose?: () => void;\n controls?: JSX.Element[];\n open?: boolean;\n animation?: \"top\" | \"bottom\" | \"left\" | \"right\";\n position?: \"center\" | \"left\" | \"right\";\n mode?: \"normal\" | \"stretch\";\n disableFocusLock?: boolean;\n disableScrollLock?: boolean;\n disableBackgroundColor?: boolean;\n bodyStyle?: CSSProperties;\n bodyClassName?: string;\n disableBackgroundClick?: boolean;\n}\n\nexport const Sheet = forwardRef<\n HTMLDivElement,\n ISheet & HTMLAttributes<HTMLDivElement>\n>(\n (\n {\n children,\n onClose,\n controls = [],\n open: defaultOpen = false,\n animation = \"top\",\n position = \"center\",\n mode = \"normal\",\n disableFocusLock = false,\n disableScrollLock = false,\n disableBackgroundColor = false,\n bodyStyle,\n bodyClassName,\n disableBackgroundClick = false,\n ...rest\n },\n ref\n ) => {\n const [open, setOpen] = useState(defaultOpen);\n const [exited, setExited] = useState(true);\n const innerRef = useRef<HTMLDivElement>(null);\n\n const handleRef = useForkRef(innerRef, ref);\n\n useEffect(() => {\n setOpen(defaultOpen);\n }, [defaultOpen]);\n\n const handleEnter = useCallback(() => {\n setExited(false);\n }, []);\n\n const handleExited = useCallback(() => {\n setExited(true);\n typeof onClose === \"function\" && onClose();\n }, [onClose]);\n\n const handleClose = useCallback(() => {\n setOpen(false);\n }, []);\n\n const handleBackgroundClick = useCallback(\n (event: MouseEvent<HTMLDivElement>) => {\n if (!disableBackgroundClick) {\n event.preventDefault();\n handleClose();\n }\n },\n [disableBackgroundClick, handleClose]\n );\n\n if (!open && exited) {\n return null;\n }\n\n return (\n <Window\n {...rest}\n ref={handleRef}\n onClose={handleClose}\n disableFocusLock={disableFocusLock}\n disableScrollLock={disableScrollLock}\n >\n {open ? (\n <Overlay\n onClick={handleBackgroundClick}\n disableBackgroundColor={disableBackgroundColor}\n />\n ) : null}\n <StyledSheetWrapper\n className={classnames(\"c-sheet__wrapper\", bodyClassName)}\n style={bodyStyle}\n $position={position}\n $mode={mode}\n >\n {controls.length ? (\n <StyledSheetIcons>\n {controls.map((item, index) => {\n const maxDurationIn = 4; // max duration 4 for 400ms, shorten .4s\n const maxDurationOut = 2; // max duration 2 for 200ms, shorten .2s\n const control = index + 1;\n const durationOut =\n controls.length > maxDurationOut\n ? maxDurationOut\n : maxDurationOut - control;\n const durationIn = control >= maxDurationIn ? 1 : control;\n return (\n <Transition\n appear\n in={open}\n timeout={maxDurationIn * 100}\n key={`c-sheet-control-${index}`}\n >\n {(state): ReactElement => (\n <StyledAnimatedSpan\n $state={state}\n $mode={mode}\n $maxDurationIn={maxDurationIn / 10}\n $maxDurationOut={maxDurationOut / 10}\n $durationOut={durationOut / 10}\n $durationIn={durationIn / 10}\n >\n {item}\n </StyledAnimatedSpan>\n )}\n </Transition>\n );\n })}\n </StyledSheetIcons>\n ) : null}\n <StyledCssTransition\n appear\n in={open}\n timeout={400}\n classNames={\"c-sheet__animation\"}\n $direction={animation}\n onEnter={handleEnter}\n onExited={handleExited}\n >\n <StyledSheetWrapperPaper className=\"c-sheet__wrapper__paper\">\n {children}\n </StyledSheetWrapperPaper>\n </StyledCssTransition>\n </StyledSheetWrapper>\n </Window>\n );\n }\n);\n\nSheet.displayName = \"Sheet\";\n"],"mappings":"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"}
1
+ {"version":3,"file":"Sheet.js","names":["Sheet","forwardRef","ref","children","onClose","controls","open","defaultOpen","animation","position","mode","disableFocusLock","disableScrollLock","disableBackgroundColor","bodyStyle","bodyClassName","disableBackgroundClick","rest","useState","setOpen","exited","setExited","innerRef","useRef","handleRef","useForkRef","useEffect","handleEnter","useCallback","handleExited","handleClose","handleBackgroundClick","event","preventDefault","classnames","length","map","item","index","maxDurationIn","maxDurationOut","control","durationOut","durationIn","state","displayName"],"sources":["../../../../src/components/Sheet/Sheet.tsx"],"sourcesContent":["import React, {\n useRef,\n useCallback,\n useEffect,\n forwardRef,\n HTMLAttributes,\n useState,\n CSSProperties,\n ReactElement,\n MouseEvent,\n} from \"react\";\n\nimport { Transition } from \"react-transition-group\";\nimport { Window } from \"../Window\";\nimport classnames from \"classnames\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport {\n StyledAnimatedSpan,\n StyledCssTransition,\n StyledSheetIcons,\n StyledSheetWrapper,\n StyledSheetWrapperPaper,\n} from \"./Styles\";\nimport { Overlay } from \"../Overlay\";\n\ninterface ISheet {\n onClose?: () => void;\n controls?: JSX.Element[];\n open?: boolean;\n animation?: \"top\" | \"bottom\" | \"left\" | \"right\";\n position?: \"center\" | \"left\" | \"right\";\n mode?: \"normal\" | \"stretch\";\n disableFocusLock?: boolean;\n disableScrollLock?: boolean;\n disableBackgroundColor?: boolean;\n bodyStyle?: CSSProperties;\n bodyClassName?: string;\n disableBackgroundClick?: boolean;\n}\n\nexport const Sheet = forwardRef<\n HTMLDivElement,\n ISheet & HTMLAttributes<HTMLDivElement>\n>(\n (\n {\n children,\n onClose,\n controls = [],\n open: defaultOpen = false,\n animation = \"top\",\n position = \"center\",\n mode = \"normal\",\n disableFocusLock = false,\n disableScrollLock = false,\n disableBackgroundColor = false,\n bodyStyle,\n bodyClassName,\n disableBackgroundClick = false,\n ...rest\n },\n ref\n ) => {\n const [open, setOpen] = useState(defaultOpen);\n const [exited, setExited] = useState(true);\n const innerRef = useRef<HTMLDivElement>(null);\n\n const handleRef = useForkRef(innerRef, ref);\n\n useEffect(() => {\n setOpen(defaultOpen);\n }, [defaultOpen]);\n\n const handleEnter = useCallback(() => {\n setExited(false);\n }, []);\n\n const handleExited = useCallback(() => {\n setExited(true);\n typeof onClose === \"function\" && onClose();\n }, [onClose]);\n\n const handleClose = useCallback(() => {\n setOpen(false);\n }, []);\n\n const handleBackgroundClick = useCallback(\n (event: MouseEvent<HTMLDivElement>) => {\n if (!disableBackgroundClick) {\n event.preventDefault();\n handleClose();\n }\n },\n [disableBackgroundClick, handleClose]\n );\n\n if (!open && exited) {\n return null;\n }\n\n return (\n <Window\n {...rest}\n ref={handleRef}\n onClose={handleClose}\n disableFocusLock={disableFocusLock}\n disableScrollLock={disableScrollLock}\n >\n {open ? (\n <Overlay\n onClick={handleBackgroundClick}\n disableBackgroundColor={disableBackgroundColor}\n />\n ) : null}\n <StyledSheetWrapper\n className={classnames(\"c-sheet__wrapper\", bodyClassName)}\n style={bodyStyle}\n $position={position}\n $mode={mode}\n >\n {controls.length ? (\n <StyledSheetIcons>\n {controls.map((item, index) => {\n const maxDurationIn = 4; // max duration 4 for 400ms, shorten .4s\n const maxDurationOut = 2; // max duration 2 for 200ms, shorten .2s\n const control = index + 1;\n const durationOut =\n controls.length > maxDurationOut\n ? maxDurationOut\n : maxDurationOut - control;\n const durationIn = control >= maxDurationIn ? 1 : control;\n return (\n <Transition\n appear\n in={open}\n timeout={maxDurationIn * 100}\n key={`c-sheet-control-${index}`}\n >\n {(state): ReactElement => (\n <StyledAnimatedSpan\n $state={state}\n $mode={mode}\n $maxDurationIn={maxDurationIn / 10}\n $maxDurationOut={maxDurationOut / 10}\n $durationOut={durationOut / 10}\n $durationIn={durationIn / 10}\n >\n {item}\n </StyledAnimatedSpan>\n )}\n </Transition>\n );\n })}\n </StyledSheetIcons>\n ) : null}\n <StyledCssTransition\n appear\n in={open}\n timeout={400}\n classNames=\"c-sheet__animation\"\n $direction={animation}\n onEnter={handleEnter}\n onExited={handleExited}\n >\n <StyledSheetWrapperPaper className=\"c-sheet__wrapper__paper\">\n {children}\n </StyledSheetWrapperPaper>\n </StyledCssTransition>\n </StyledSheetWrapper>\n </Window>\n );\n }\n);\n\nSheet.displayName = \"Sheet\";\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Signifier.js","names":["signifierTypes","Signifier","Component","type","value","className","tooltipText","tooltipClassName","indexOf","displayName","console","warn","useState","direction","setDirection","setPrevValue","label","useMemo","max","newValue","Math","floor","useEffect","v","renderSignifier","classnames","includes"],"sources":["../../../../src/components/Signifier/Signifier.tsx"],"sourcesContent":["import React, { FC, useMemo, ElementType, useState, useEffect } from \"react\";\nimport classnames from \"classnames\";\nimport { SwitchTransition } from \"react-transition-group\";\nimport { Tooltip } from \"../Tooltip\";\nimport { Body1, Caption1 } from \"../Typography\";\nimport {\n StyledIcon,\n StyledSignifier,\n StyledSignifierTransition,\n} from \"./Styles\";\n\ninterface ISignifierProps {\n /** One of icon types */\n type: ElementType;\n /** Number that represent total value */\n value?: number;\n /** Value that represent class names */\n className?: string;\n /** The text that will be displayed on hover in tooltip */\n tooltipText?: string;\n /** ClassName for tooltip if there is one */\n tooltipClassName?: string;\n}\n\nexport const signifierTypes = [\n \"EyeIcon\",\n \"EyeSmallIcon\",\n \"PencilIcon\",\n \"PencilSmallIcon\",\n \"EyeOffIcon\",\n \"EyeOffSmallIcon\",\n \"ChecklistIcon\",\n \"ChecklistSmallIcon\",\n \"WarningTriangleIcon\",\n \"WarningTriangleSmallIcon\",\n \"DependencyIcon\",\n \"DependencySmallIcon\",\n \"MessageIcon\",\n \"MessageSmallIcon\",\n \"ClockStopwatchIcon\",\n \"ClockStopwatchSmallIcon\",\n \"ClockIcon\",\n \"ClockSmallIcon\",\n \"DollarOffIcon\",\n \"DollarOffSmallIcon\",\n \"DollarIcon\",\n \"DollarSmallIcon\",\n \"DollarCheckmarkIcon\",\n \"DollarCheckmarkSmallIcon\",\n \"DollarClockIcon\",\n \"DollarClockSmallIcon\",\n \"BellOffIcon\",\n \"BellOffSmallIcon\",\n \"LockIcon\",\n \"LockSmallIcon\",\n \"RecurringCheckmarkIcon\",\n \"RecurringCheckmarkSmallIcon\",\n];\n\nexport const Signifier: FC<ISignifierProps> = ({\n type: Component,\n value = null,\n className,\n tooltipText,\n tooltipClassName,\n}) => {\n if (\n signifierTypes.indexOf(\n (Component as { displayName: string }).displayName\n ) === -1\n ) {\n console.warn(\"You are using unsupported Signifier icon\");\n }\n\n const [direction, setDirection] = useState(\"c-signifier--top\");\n const [, setPrevValue] = useState(value);\n\n const label: string | null = useMemo(() => {\n if (!value || value < 1) return null;\n\n const max = 1_000_000_000;\n let newValue = value;\n\n if (newValue > max) {\n newValue = max;\n }\n\n if (newValue === max) {\n return `${Math.floor(newValue / 1_000_000_000)}B+`;\n } else if (newValue > 999_999) {\n return `${Math.floor(newValue / 1_000_000)}M`;\n } else if (newValue > 999) {\n return `${Math.floor(newValue / 1000)}k`;\n }\n\n return `${newValue}`;\n }, [value]);\n\n useEffect(() => {\n value &&\n setPrevValue((v) => {\n v &&\n setDirection(\n v - value > 0 ? \"c-signifier--top\" : \"c-signifier--bottom\"\n );\n return value;\n });\n }, [value]);\n\n const renderSignifier = useMemo(\n () => (\n <StyledSignifier\n className={classnames(\"c-signifier\", className)}\n $direction={direction}\n >\n <StyledIcon as={Component} />\n {value !== null && (\n <SwitchTransition mode={\"out-in\"}>\n <StyledSignifierTransition\n key={label}\n timeout={300}\n classNames=\"c-signifier--animate\"\n >\n {(Component as { displayName: string }).displayName.includes(\n \"SmallIcon\"\n ) ? (\n <Caption1 color=\"secondary\">{label}</Caption1>\n ) : (\n <Body1 color=\"secondary\">{label}</Body1>\n )}\n </StyledSignifierTransition>\n </SwitchTransition>\n )}\n </StyledSignifier>\n ),\n [className, direction, Component, value, label]\n );\n\n return (\n <Tooltip\n title={tooltipText ?? \"\"}\n disable={!tooltipText}\n popperTooltipClassName={tooltipClassName}\n >\n {renderSignifier}\n </Tooltip>\n );\n};\n\nSignifier.displayName = \"Signifier\";\n"],"mappings":"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"}
1
+ {"version":3,"file":"Signifier.js","names":["signifierTypes","Signifier","Component","type","value","className","tooltipText","tooltipClassName","indexOf","displayName","console","warn","useState","direction","setDirection","setPrevValue","label","useMemo","max","newValue","Math","floor","useEffect","v","renderSignifier","classnames","includes"],"sources":["../../../../src/components/Signifier/Signifier.tsx"],"sourcesContent":["import React, { FC, useMemo, ElementType, useState, useEffect } from \"react\";\nimport classnames from \"classnames\";\nimport { SwitchTransition } from \"react-transition-group\";\nimport { Tooltip } from \"../Tooltip\";\nimport { Body1, Caption1 } from \"../Typography\";\nimport {\n StyledIcon,\n StyledSignifier,\n StyledSignifierTransition,\n} from \"./Styles\";\n\ninterface ISignifierProps {\n /** One of icon types */\n type: ElementType;\n /** Number that represent total value */\n value?: number;\n /** Value that represent class names */\n className?: string;\n /** The text that will be displayed on hover in tooltip */\n tooltipText?: string;\n /** ClassName for tooltip if there is one */\n tooltipClassName?: string;\n}\n\nexport const signifierTypes = [\n \"EyeIcon\",\n \"EyeSmallIcon\",\n \"PencilIcon\",\n \"PencilSmallIcon\",\n \"EyeOffIcon\",\n \"EyeOffSmallIcon\",\n \"ChecklistIcon\",\n \"ChecklistSmallIcon\",\n \"WarningTriangleIcon\",\n \"WarningTriangleSmallIcon\",\n \"DependencyIcon\",\n \"DependencySmallIcon\",\n \"MessageIcon\",\n \"MessageSmallIcon\",\n \"ClockStopwatchIcon\",\n \"ClockStopwatchSmallIcon\",\n \"ClockIcon\",\n \"ClockSmallIcon\",\n \"DollarOffIcon\",\n \"DollarOffSmallIcon\",\n \"DollarIcon\",\n \"DollarSmallIcon\",\n \"DollarCheckmarkIcon\",\n \"DollarCheckmarkSmallIcon\",\n \"DollarClockIcon\",\n \"DollarClockSmallIcon\",\n \"BellOffIcon\",\n \"BellOffSmallIcon\",\n \"LockIcon\",\n \"LockSmallIcon\",\n \"RecurringCheckmarkIcon\",\n \"RecurringCheckmarkSmallIcon\",\n];\n\nexport const Signifier: FC<ISignifierProps> = ({\n type: Component,\n value = null,\n className,\n tooltipText,\n tooltipClassName,\n}) => {\n if (\n signifierTypes.indexOf(\n (Component as { displayName: string }).displayName\n ) === -1\n ) {\n console.warn(\"You are using unsupported Signifier icon\");\n }\n\n const [direction, setDirection] = useState(\"c-signifier--top\");\n const [, setPrevValue] = useState(value);\n\n const label: string | null = useMemo(() => {\n if (!value || value < 1) return null;\n\n const max = 1_000_000_000;\n let newValue = value;\n\n if (newValue > max) {\n newValue = max;\n }\n\n if (newValue === max) {\n return `${Math.floor(newValue / 1_000_000_000)}B+`;\n } else if (newValue > 999_999) {\n return `${Math.floor(newValue / 1_000_000)}M`;\n } else if (newValue > 999) {\n return `${Math.floor(newValue / 1000)}k`;\n }\n\n return `${newValue}`;\n }, [value]);\n\n useEffect(() => {\n value &&\n setPrevValue((v) => {\n v &&\n setDirection(\n v - value > 0 ? \"c-signifier--top\" : \"c-signifier--bottom\"\n );\n return value;\n });\n }, [value]);\n\n const renderSignifier = useMemo(\n () => (\n <StyledSignifier\n className={classnames(\"c-signifier\", className)}\n $direction={direction}\n >\n <StyledIcon as={Component} />\n {value !== null && (\n <SwitchTransition mode=\"out-in\">\n <StyledSignifierTransition\n key={label}\n timeout={300}\n classNames=\"c-signifier--animate\"\n >\n {(Component as { displayName: string }).displayName.includes(\n \"SmallIcon\"\n ) ? (\n <Caption1 color=\"secondary\">{label}</Caption1>\n ) : (\n <Body1 color=\"secondary\">{label}</Body1>\n )}\n </StyledSignifierTransition>\n </SwitchTransition>\n )}\n </StyledSignifier>\n ),\n [className, direction, Component, value, label]\n );\n\n return (\n <Tooltip\n title={tooltipText ?? \"\"}\n disable={!tooltipText}\n popperTooltipClassName={tooltipClassName}\n >\n {renderSignifier}\n </Tooltip>\n );\n};\n\nSignifier.displayName = \"Signifier\";\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ValueButton.js","names":["ValueButton","forwardRef","ref","active","alwaysShowIcon","icon","label","value","args","React","cloneElement","style","display","displayName"],"sources":["../../../../src/components/ValueButton/ValueButton.tsx"],"sourcesContent":["import React, { forwardRef, ReactElement } from \"react\";\nimport {\n StyledValueButton,\n StyledValueButtonLabel,\n StyledValueButtonValue,\n} from \"./Styles\";\n\ninterface IValueButtonProps {\n /** Set active state */\n active?: boolean;\n /** Label for value */\n label?: string;\n /** Value */\n value: string;\n /** Icon */\n icon?: ReactElement;\n /** Always show icon */\n alwaysShowIcon?: boolean;\n}\n\nexport const ValueButton = forwardRef<HTMLButtonElement, IValueButtonProps>(\n (\n { active = false, alwaysShowIcon = false, icon, label, value, ...args },\n ref\n ) => {\n return (\n <StyledValueButton\n className={\"c-value-button\"}\n {...args}\n ref={ref}\n variant={\"text gray\"}\n $active={active}\n >\n {icon && alwaysShowIcon\n ? React.cloneElement(icon, {\n style: { display: \"inline-block\" },\n })\n : null}\n {label ? (\n <StyledValueButtonLabel\n color={\"secondary\"}\n weight={\"medium\"}\n className={\"c-value-button__label\"}\n >\n {label}:\n </StyledValueButtonLabel>\n ) : null}\n <StyledValueButtonValue\n color={\"secondary\"}\n weight={\"medium\"}\n className={\"c-value-button__value\"}\n >\n {value}\n </StyledValueButtonValue>\n </StyledValueButton>\n );\n }\n);\n\nValueButton.displayName = \"ValueButton\";\n"],"mappings":";;;;;;;AAAA;AACA;AAIkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAeX,IAAMA,WAAW,gBAAG,IAAAC,iBAAU,EACnC,gBAEEC,GAAG,EACA;EAAA,uBAFDC,MAAM;IAANA,MAAM,4BAAG,KAAK;IAAA,2BAAEC,cAAc;IAAdA,cAAc,oCAAG,KAAK;IAAEC,IAAI,QAAJA,IAAI;IAAEC,KAAK,QAALA,KAAK;IAAEC,KAAK,QAALA,KAAK;IAAKC,IAAI;EAGrE,oBACE,6BAAC,yBAAiB;IAChB,SAAS,EAAE;EAAiB,GACxBA,IAAI;IACR,GAAG,EAAEN,GAAI;IACT,OAAO,EAAE,WAAY;IACrB,OAAO,EAAEC;EAAO,IAEfE,IAAI,IAAID,cAAc,gBACnBK,cAAK,CAACC,YAAY,CAACL,IAAI,EAAE;IACvBM,KAAK,EAAE;MAAEC,OAAO,EAAE;IAAe;EACnC,CAAC,CAAC,GACF,IAAI,EACPN,KAAK,gBACJ,6BAAC,8BAAsB;IACrB,KAAK,EAAE,WAAY;IACnB,MAAM,EAAE,QAAS;IACjB,SAAS,EAAE;EAAwB,GAElCA,KAAK,MACiB,GACvB,IAAI,eACR,6BAAC,8BAAsB;IACrB,KAAK,EAAE,WAAY;IACnB,MAAM,EAAE,QAAS;IACjB,SAAS,EAAE;EAAwB,GAElCC,KAAK,CACiB,CACP;AAExB,CAAC,CACF;AAAC;AAEFP,WAAW,CAACa,WAAW,GAAG,aAAa"}
1
+ {"version":3,"file":"ValueButton.js","names":["ValueButton","forwardRef","ref","active","alwaysShowIcon","icon","label","value","args","React","cloneElement","style","display","displayName"],"sources":["../../../../src/components/ValueButton/ValueButton.tsx"],"sourcesContent":["import React, { forwardRef, ReactElement } from \"react\";\nimport {\n StyledValueButton,\n StyledValueButtonLabel,\n StyledValueButtonValue,\n} from \"./Styles\";\n\ninterface IValueButtonProps {\n /** Set active state */\n active?: boolean;\n /** Label for value */\n label?: string;\n /** Value */\n value: string;\n /** Icon */\n icon?: ReactElement;\n /** Always show icon */\n alwaysShowIcon?: boolean;\n}\n\nexport const ValueButton = forwardRef<HTMLButtonElement, IValueButtonProps>(\n (\n { active = false, alwaysShowIcon = false, icon, label, value, ...args },\n ref\n ) => {\n return (\n <StyledValueButton\n className=\"c-value-button\"\n {...args}\n ref={ref}\n variant=\"text gray\"\n $active={active}\n >\n {icon && alwaysShowIcon\n ? React.cloneElement(icon, {\n style: { display: \"inline-block\" },\n })\n : null}\n {label ? (\n <StyledValueButtonLabel\n color=\"secondary\"\n weight=\"medium\"\n className=\"c-value-button__label\"\n >\n {label}:\n </StyledValueButtonLabel>\n ) : null}\n <StyledValueButtonValue\n color=\"secondary\"\n weight=\"medium\"\n className=\"c-value-button__value\"\n >\n {value}\n </StyledValueButtonValue>\n </StyledValueButton>\n );\n }\n);\n\nValueButton.displayName = \"ValueButton\";\n"],"mappings":";;;;;;;AAAA;AACA;AAIkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAeX,IAAMA,WAAW,gBAAG,IAAAC,iBAAU,EACnC,gBAEEC,GAAG,EACA;EAAA,uBAFDC,MAAM;IAANA,MAAM,4BAAG,KAAK;IAAA,2BAAEC,cAAc;IAAdA,cAAc,oCAAG,KAAK;IAAEC,IAAI,QAAJA,IAAI;IAAEC,KAAK,QAALA,KAAK;IAAEC,KAAK,QAALA,KAAK;IAAKC,IAAI;EAGrE,oBACE,6BAAC,yBAAiB;IAChB,SAAS,EAAC;EAAgB,GACtBA,IAAI;IACR,GAAG,EAAEN,GAAI;IACT,OAAO,EAAC,WAAW;IACnB,OAAO,EAAEC;EAAO,IAEfE,IAAI,IAAID,cAAc,gBACnBK,cAAK,CAACC,YAAY,CAACL,IAAI,EAAE;IACvBM,KAAK,EAAE;MAAEC,OAAO,EAAE;IAAe;EACnC,CAAC,CAAC,GACF,IAAI,EACPN,KAAK,gBACJ,6BAAC,8BAAsB;IACrB,KAAK,EAAC,WAAW;IACjB,MAAM,EAAC,QAAQ;IACf,SAAS,EAAC;EAAuB,GAEhCA,KAAK,MACiB,GACvB,IAAI,eACR,6BAAC,8BAAsB;IACrB,KAAK,EAAC,WAAW;IACjB,MAAM,EAAC,QAAQ;IACf,SAAS,EAAC;EAAuB,GAEhCC,KAAK,CACiB,CACP;AAExB,CAAC,CACF;AAAC;AAEFP,WAAW,CAACa,WAAW,GAAG,aAAa"}
@@ -1 +1 @@
1
- {"version":3,"file":"Chip.js","names":["React","useMemo","ChipCloseIcon","ChipContainer","ChipTrigger","Typography","Chip","forwardRef","ref","leftAdornment","label","onClose","size","color","backgroundColor","closeClassName","variant","typographyProps","rest","showClose","_variant","displayName"],"sources":["../../../../src/components/Chip/Chip.tsx"],"sourcesContent":["import React, { ReactNode, useMemo } from \"react\";\nimport { ChipCloseIcon, ChipContainer, ChipTrigger } from \"./Styles\";\nimport { InputSize } from \"../Input/types\";\nimport {\n Typography,\n Variant,\n ITypographyProps,\n} from \"../Typography/Typography\";\n\nexport interface ChipProps {\n label: string;\n onClose?: React.MouseEventHandler<HTMLButtonElement>;\n leftAdornment?: ReactNode;\n size?: InputSize;\n color?: string;\n backgroundColor?: string;\n closeClassName?: string;\n variant?: Variant;\n typographyProps?: ITypographyProps;\n}\n\nexport const Chip = React.forwardRef<\n HTMLDivElement,\n ChipProps & Omit<React.ComponentPropsWithoutRef<\"div\">, keyof ChipProps>\n>(\n (\n {\n leftAdornment,\n label,\n onClose,\n size = \"regular\",\n color,\n backgroundColor,\n closeClassName,\n variant,\n typographyProps,\n ...rest\n },\n ref\n ) => {\n const showClose = typeof onClose === \"function\";\n const _variant = useMemo(() => {\n if (typeof variant !== \"undefined\") {\n return variant;\n }\n switch (size) {\n case \"regular\":\n return \"Body 2\";\n case \"big\":\n return \"Body 1\";\n default:\n return \"Caption 1\";\n }\n }, [variant, size]);\n return (\n <ChipContainer\n {...rest}\n ref={ref}\n $size={size}\n $showClose={showClose}\n $color={color}\n $backgroundColor={backgroundColor}\n data-testid={\"chip-container\"}\n >\n {leftAdornment}\n <Typography\n variant={_variant}\n data-testid={\"chip-typography\"}\n {...typographyProps}\n >\n {label}\n </Typography>\n {showClose ? (\n <ChipTrigger\n $size={size}\n onClick={onClose}\n className={closeClassName}\n >\n <ChipCloseIcon fill={color ? color : \"currentColor\"} />\n </ChipTrigger>\n ) : null}\n </ChipContainer>\n );\n }\n);\n\nChip.displayName = \"Chip\";\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAeC,OAAO,QAAQ,OAAO;AACjD,SAASC,aAAa,EAAEC,aAAa,EAAEC,WAAW,QAAQ,UAAU;AAEpE,SACEC,UAAU,QAGL,0BAA0B;AAcjC,OAAO,IAAMC,IAAI,gBAAGN,KAAK,CAACO,UAAU,CAIlC,gBAaEC,GAAG,EACA;EAAA,IAZDC,aAAa,QAAbA,aAAa;IACbC,KAAK,QAALA,KAAK;IACLC,OAAO,QAAPA,OAAO;IAAA,iBACPC,IAAI;IAAJA,IAAI,0BAAG,SAAS;IAChBC,KAAK,QAALA,KAAK;IACLC,eAAe,QAAfA,eAAe;IACfC,cAAc,QAAdA,cAAc;IACdC,OAAO,QAAPA,OAAO;IACPC,eAAe,QAAfA,eAAe;IACZC,IAAI;EAIT,IAAMC,SAAS,GAAG,OAAOR,OAAO,KAAK,UAAU;EAC/C,IAAMS,QAAQ,GAAGnB,OAAO,CAAC,YAAM;IAC7B,IAAI,OAAOe,OAAO,KAAK,WAAW,EAAE;MAClC,OAAOA,OAAO;IAChB;IACA,QAAQJ,IAAI;MACV,KAAK,SAAS;QACZ,OAAO,QAAQ;MACjB,KAAK,KAAK;QACR,OAAO,QAAQ;MACjB;QACE,OAAO,WAAW;IAAC;EAEzB,CAAC,EAAE,CAACI,OAAO,EAAEJ,IAAI,CAAC,CAAC;EACnB,oBACE,oBAAC,aAAa,eACRM,IAAI;IACR,GAAG,EAAEV,GAAI;IACT,KAAK,EAAEI,IAAK;IACZ,UAAU,EAAEO,SAAU;IACtB,MAAM,EAAEN,KAAM;IACd,gBAAgB,EAAEC,eAAgB;IAClC,eAAa;EAAiB,IAE7BL,aAAa,eACd,oBAAC,UAAU;IACT,OAAO,EAAEW,QAAS;IAClB,eAAa;EAAkB,GAC3BH,eAAe,GAElBP,KAAK,CACK,EACZS,SAAS,gBACR,oBAAC,WAAW;IACV,KAAK,EAAEP,IAAK;IACZ,OAAO,EAAED,OAAQ;IACjB,SAAS,EAAEI;EAAe,gBAE1B,oBAAC,aAAa;IAAC,IAAI,EAAEF,KAAK,GAAGA,KAAK,GAAG;EAAe,EAAG,CAC3C,GACZ,IAAI,CACM;AAEpB,CAAC,CACF;AAEDP,IAAI,CAACe,WAAW,GAAG,MAAM"}
1
+ {"version":3,"file":"Chip.js","names":["React","useMemo","ChipCloseIcon","ChipContainer","ChipTrigger","Typography","Chip","forwardRef","ref","leftAdornment","label","onClose","size","color","backgroundColor","closeClassName","variant","typographyProps","rest","showClose","_variant","displayName"],"sources":["../../../../src/components/Chip/Chip.tsx"],"sourcesContent":["import React, { ReactNode, useMemo } from \"react\";\nimport { ChipCloseIcon, ChipContainer, ChipTrigger } from \"./Styles\";\nimport { InputSize } from \"../Input/types\";\nimport {\n Typography,\n Variant,\n ITypographyProps,\n} from \"../Typography/Typography\";\n\nexport interface ChipProps {\n label: string;\n onClose?: React.MouseEventHandler<HTMLButtonElement>;\n leftAdornment?: ReactNode;\n size?: InputSize;\n color?: string;\n backgroundColor?: string;\n closeClassName?: string;\n variant?: Variant;\n typographyProps?: ITypographyProps;\n}\n\nexport const Chip = React.forwardRef<\n HTMLDivElement,\n ChipProps & Omit<React.ComponentPropsWithoutRef<\"div\">, keyof ChipProps>\n>(\n (\n {\n leftAdornment,\n label,\n onClose,\n size = \"regular\",\n color,\n backgroundColor,\n closeClassName,\n variant,\n typographyProps,\n ...rest\n },\n ref\n ) => {\n const showClose = typeof onClose === \"function\";\n const _variant = useMemo(() => {\n if (typeof variant !== \"undefined\") {\n return variant;\n }\n switch (size) {\n case \"regular\":\n return \"Body 2\";\n case \"big\":\n return \"Body 1\";\n default:\n return \"Caption 1\";\n }\n }, [variant, size]);\n return (\n <ChipContainer\n {...rest}\n ref={ref}\n $size={size}\n $showClose={showClose}\n $color={color}\n $backgroundColor={backgroundColor}\n data-testid=\"chip-container\"\n >\n {leftAdornment}\n <Typography\n variant={_variant}\n data-testid=\"chip-typography\"\n {...typographyProps}\n >\n {label}\n </Typography>\n {showClose ? (\n <ChipTrigger\n $size={size}\n onClick={onClose}\n className={closeClassName}\n >\n <ChipCloseIcon fill={color ? color : \"currentColor\"} />\n </ChipTrigger>\n ) : null}\n </ChipContainer>\n );\n }\n);\n\nChip.displayName = \"Chip\";\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAeC,OAAO,QAAQ,OAAO;AACjD,SAASC,aAAa,EAAEC,aAAa,EAAEC,WAAW,QAAQ,UAAU;AAEpE,SACEC,UAAU,QAGL,0BAA0B;AAcjC,OAAO,IAAMC,IAAI,gBAAGN,KAAK,CAACO,UAAU,CAIlC,gBAaEC,GAAG,EACA;EAAA,IAZDC,aAAa,QAAbA,aAAa;IACbC,KAAK,QAALA,KAAK;IACLC,OAAO,QAAPA,OAAO;IAAA,iBACPC,IAAI;IAAJA,IAAI,0BAAG,SAAS;IAChBC,KAAK,QAALA,KAAK;IACLC,eAAe,QAAfA,eAAe;IACfC,cAAc,QAAdA,cAAc;IACdC,OAAO,QAAPA,OAAO;IACPC,eAAe,QAAfA,eAAe;IACZC,IAAI;EAIT,IAAMC,SAAS,GAAG,OAAOR,OAAO,KAAK,UAAU;EAC/C,IAAMS,QAAQ,GAAGnB,OAAO,CAAC,YAAM;IAC7B,IAAI,OAAOe,OAAO,KAAK,WAAW,EAAE;MAClC,OAAOA,OAAO;IAChB;IACA,QAAQJ,IAAI;MACV,KAAK,SAAS;QACZ,OAAO,QAAQ;MACjB,KAAK,KAAK;QACR,OAAO,QAAQ;MACjB;QACE,OAAO,WAAW;IAAC;EAEzB,CAAC,EAAE,CAACI,OAAO,EAAEJ,IAAI,CAAC,CAAC;EACnB,oBACE,oBAAC,aAAa,eACRM,IAAI;IACR,GAAG,EAAEV,GAAI;IACT,KAAK,EAAEI,IAAK;IACZ,UAAU,EAAEO,SAAU;IACtB,MAAM,EAAEN,KAAM;IACd,gBAAgB,EAAEC,eAAgB;IAClC,eAAY;EAAgB,IAE3BL,aAAa,eACd,oBAAC,UAAU;IACT,OAAO,EAAEW,QAAS;IAClB,eAAY;EAAiB,GACzBH,eAAe,GAElBP,KAAK,CACK,EACZS,SAAS,gBACR,oBAAC,WAAW;IACV,KAAK,EAAEP,IAAK;IACZ,OAAO,EAAED,OAAQ;IACjB,SAAS,EAAEI;EAAe,gBAE1B,oBAAC,aAAa;IAAC,IAAI,EAAEF,KAAK,GAAGA,KAAK,GAAG;EAAe,EAAG,CAC3C,GACZ,IAAI,CACM;AAEpB,CAAC,CACF;AAEDP,IAAI,CAACe,WAAW,GAAG,MAAM"}
@@ -1 +1 @@
1
- {"version":3,"file":"ComboBox.js","names":["React","useCallback","useState","useEffect","useRef","useMemo","Fragment","RadioButton","Autocomplete","IconButton","isOptionGroup","useForkRef","Popper","RemoveScroll","SpinnerLoader","OptionContent","StyledComboBoxCloseSmallIcon","StyledComboBoxCollapseExpandSingleIcon","StyledComboBoxInput","StyledComboBoxList","StyledChipWrapper","InputAdornment","Checkbox","Chip","StyledInput","StyledInputWrapper","useOnClickOutside","Avatar","Trigger","Typography","Portal","ConditionalWrapper","classNames","ComboBox","options","selected","loading","loadingText","onChange","placeholder","handleEmptyAction","disabled","size","invalid","type","renderChip","forceCloseMenu","renderOption","limitChips","hiddenNumberText","inPortal","inputWrapperClassName","scrollWrapper","prop","selectedName","value","map","v","find","q","id","name","setValue","handleOnChange","e","target","childNode","setChildNode","elementRef","handleRef","wrapperRef","chipWrapper","comboBoxRef","open","setOpen","current","contains","handleOnKeyDown","key","stopPropagation","focus","blur","emptyAction","handleChange","selectedValue","onOpen","handleRenderOption","option","props","image","color","textColor","handleDeselect","handleMouseDown","preventDefault","handleBlur","renderChipAdornment","index","avatarProps","leftAdornment","undefined","onClose","Array","isArray","includes","newSelected","filter","item","showOnClose","autoSize","length","startAdornment","elements","total","forEach","isGrouped","push","groupedOptions","o","_index","hidden","splice","showXIcon","hasSelected","display","flex","alignSelf","width","children","zIndex","clientWidth","displayName"],"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 { RadioButton } from \"../RadioButton\";\nimport { Autocomplete } from \"../Autocomplete\";\nimport { IconButton } from \"../IconButton\";\nimport {\n IAutocompleteProps,\n isOptionGroup,\n} from \"../Autocomplete/Autocomplete\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Popper } from \"../Popper\";\nimport { IOptionGroupProps, IOptionItemProps } from \"../Select\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { SpinnerLoader } from \"../Loaders/Spinner/SpinnerLoader\";\nimport { OptionContent } from \"../Select/OptionContent/OptionContent\";\nimport {\n StyledComboBoxCloseSmallIcon,\n StyledComboBoxCollapseExpandSingleIcon,\n StyledComboBoxInput,\n StyledComboBoxList,\n StyledChipWrapper,\n} from \"./Styles\";\nimport { InputSize } from \"../Input/types\";\nimport { InputAdornment } from \"../Input/InputAdornment\";\nimport { Checkbox } from \"../Checkbox\";\nimport { Chip } from \"../Chip\";\nimport { StyledInput, StyledInputWrapper } from \"../Input/Styles\";\nimport { useOnClickOutside } from \"../../hooks/useOnClickOutside\";\nimport { Avatar, IAvatar } from \"../Avatar\";\nimport { Trigger } from \"../Trigger\";\nimport { Typography } from \"../Typography/Typography\";\nimport tw from \"twin.macro\";\nimport { Portal } from \"../../helpers\";\nimport { ConditionalWrapper } from \"../../helpers/ConditionWrapper/ConditionWrapper\";\nimport classNames from \"classnames\";\n\nexport interface IComboBoxProps\n extends Omit<IAutocompleteProps, \"handleChange\" | \"inputEl\"> {\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}\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 ...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 handleOnChange = useCallback((e) => setValue(e.target.value), []);\n const [childNode, setChildNode] = useState<HTMLInputElement | null>();\n const elementRef = useRef<HTMLInputElement | null>(null);\n const handleRef = useForkRef(setChildNode, 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\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 if (e.key === \"Enter\" && type === \"multiple\") {\n setValue(\"\");\n }\n },\n [open, selectedName, type]\n );\n\n useEffect(() => {\n open && childNode?.focus();\n !open && childNode?.blur();\n }, [childNode, open]);\n\n useEffect(() => {\n setValue(selectedName);\n }, [selectedName]);\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 onChange?.(selectedValue);\n if (forceCloseMenu) {\n setOpen(false);\n }\n },\n [forceCloseMenu, onChange]\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 (type === \"multiple\") {\n onChange?.([]);\n } else {\n onChange?.(\"\");\n }\n\n setOpen(false);\n },\n [type, onChange]\n );\n\n const handleMouseDown = useCallback((e) => {\n e.preventDefault();\n }, []);\n\n const handleBlur = useCallback(() => {\n setValue(selectedName);\n }, [selectedName]);\n\n const renderChipAdornment = useCallback(\n (option, index) => {\n if (typeof renderChip === \"function\") {\n return renderChip(option, index);\n }\n const avatarProps: Partial<IAvatar> = {\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 leftAdornment = 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 leftAdornment={leftAdornment}\n label={option.name}\n key={index}\n backgroundColor={option.color}\n color={\"#303037\"}\n onClose={showOnClose ? onClose : undefined}\n size={size}\n variant={\"Caption 2\"}\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 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 return (\n <div className=\"c-combo-box\">\n {type === \"multiple\" ? (\n <>\n <StyledInputWrapper\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 max-height: ${autoSize === \"auto\" && scrollWrapper\n ? \"80px\"\n : undefined};\n `}\n className={classNames(\n \"c-combo-box-input-wrapper\",\n inputWrapperClassName\n )}\n onClick={() => {\n elementRef.current?.focus();\n }}\n >\n <StyledChipWrapper\n $autoSize={autoSize}\n $open={open}\n ref={chipWrapper}\n >\n {startAdornment}\n <StyledInput\n className={\"c-combo-box-input\"}\n onBlur={handleBlur}\n onFocus={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 <StyledComboBoxCollapseExpandSingleIcon $open={open} />\n </>\n )}\n </>\n )}\n </StyledInputWrapper>\n </>\n ) : (\n <StyledComboBoxInput\n className={classNames(\"c-combo-box-input\", inputWrapperClassName)}\n onBlur={handleBlur}\n onFocus={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 <StyledComboBoxCollapseExpandSingleIcon $open={open} />\n </InputAdornment>\n ) : null\n }\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 $width={comboBoxRef.current?.clientWidth}>\n <Autocomplete\n {...prop}\n inputEl={childNode}\n selected={selected}\n handleChange={handleChange}\n renderOption={handleRenderOption}\n options={options}\n type={type}\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","RadioButton","Autocomplete","IconButton","isOptionGroup","useForkRef","Popper","RemoveScroll","SpinnerLoader","OptionContent","StyledComboBoxCloseSmallIcon","StyledComboBoxCollapseExpandSingleIcon","StyledComboBoxInput","StyledComboBoxList","StyledChipWrapper","InputAdornment","Checkbox","Chip","StyledInput","StyledInputWrapper","useOnClickOutside","Avatar","Trigger","Typography","Portal","ConditionalWrapper","classNames","ComboBox","options","selected","loading","loadingText","onChange","placeholder","handleEmptyAction","disabled","size","invalid","type","renderChip","forceCloseMenu","renderOption","limitChips","hiddenNumberText","inPortal","inputWrapperClassName","scrollWrapper","prop","selectedName","value","map","v","find","q","id","name","setValue","handleOnChange","e","target","childNode","setChildNode","elementRef","handleRef","wrapperRef","chipWrapper","comboBoxRef","open","setOpen","current","contains","handleOnKeyDown","key","stopPropagation","focus","blur","emptyAction","handleChange","selectedValue","onOpen","handleRenderOption","option","props","image","color","textColor","handleDeselect","handleMouseDown","preventDefault","handleBlur","renderChipAdornment","index","avatarProps","leftAdornment","undefined","onClose","Array","isArray","includes","newSelected","filter","item","showOnClose","autoSize","length","startAdornment","elements","total","forEach","isGrouped","push","groupedOptions","o","_index","hidden","splice","showXIcon","hasSelected","display","flex","alignSelf","width","children","zIndex","clientWidth","displayName"],"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 { RadioButton } from \"../RadioButton\";\nimport { Autocomplete } from \"../Autocomplete\";\nimport { IconButton } from \"../IconButton\";\nimport {\n IAutocompleteProps,\n isOptionGroup,\n} from \"../Autocomplete/Autocomplete\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Popper } from \"../Popper\";\nimport { IOptionGroupProps, IOptionItemProps } from \"../Select\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { SpinnerLoader } from \"../Loaders/Spinner/SpinnerLoader\";\nimport { OptionContent } from \"../Select/OptionContent/OptionContent\";\nimport {\n StyledComboBoxCloseSmallIcon,\n StyledComboBoxCollapseExpandSingleIcon,\n StyledComboBoxInput,\n StyledComboBoxList,\n StyledChipWrapper,\n} from \"./Styles\";\nimport { InputSize } from \"../Input/types\";\nimport { InputAdornment } from \"../Input/InputAdornment\";\nimport { Checkbox } from \"../Checkbox\";\nimport { Chip } from \"../Chip\";\nimport { StyledInput, StyledInputWrapper } from \"../Input/Styles\";\nimport { useOnClickOutside } from \"../../hooks/useOnClickOutside\";\nimport { Avatar, IAvatar } from \"../Avatar\";\nimport { Trigger } from \"../Trigger\";\nimport { Typography } from \"../Typography/Typography\";\nimport tw from \"twin.macro\";\nimport { Portal } from \"../../helpers\";\nimport { ConditionalWrapper } from \"../../helpers/ConditionWrapper/ConditionWrapper\";\nimport classNames from \"classnames\";\n\nexport interface IComboBoxProps\n extends Omit<IAutocompleteProps, \"handleChange\" | \"inputEl\"> {\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}\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 ...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 handleOnChange = useCallback((e) => setValue(e.target.value), []);\n const [childNode, setChildNode] = useState<HTMLInputElement | null>();\n const elementRef = useRef<HTMLInputElement | null>(null);\n const handleRef = useForkRef(setChildNode, 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\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 if (e.key === \"Enter\" && type === \"multiple\") {\n setValue(\"\");\n }\n },\n [open, selectedName, type]\n );\n\n useEffect(() => {\n open && childNode?.focus();\n !open && childNode?.blur();\n }, [childNode, open]);\n\n useEffect(() => {\n setValue(selectedName);\n }, [selectedName]);\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 onChange?.(selectedValue);\n if (forceCloseMenu) {\n setOpen(false);\n }\n },\n [forceCloseMenu, onChange]\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 (type === \"multiple\") {\n onChange?.([]);\n } else {\n onChange?.(\"\");\n }\n\n setOpen(false);\n },\n [type, onChange]\n );\n\n const handleMouseDown = useCallback((e) => {\n e.preventDefault();\n }, []);\n\n const handleBlur = useCallback(() => {\n setValue(selectedName);\n }, [selectedName]);\n\n const renderChipAdornment = useCallback(\n (option, index) => {\n if (typeof renderChip === \"function\") {\n return renderChip(option, index);\n }\n const avatarProps: Partial<IAvatar> = {\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 leftAdornment = 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 leftAdornment={leftAdornment}\n label={option.name}\n key={index}\n backgroundColor={option.color}\n color=\"#303037\"\n onClose={showOnClose ? onClose : undefined}\n size={size}\n variant=\"Caption 2\"\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 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 return (\n <div className=\"c-combo-box\">\n {type === \"multiple\" ? (\n <>\n <StyledInputWrapper\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 max-height: ${autoSize === \"auto\" && scrollWrapper\n ? \"80px\"\n : undefined};\n `}\n className={classNames(\n \"c-combo-box-input-wrapper\",\n inputWrapperClassName\n )}\n onClick={() => {\n elementRef.current?.focus();\n }}\n >\n <StyledChipWrapper\n $autoSize={autoSize}\n $open={open}\n ref={chipWrapper}\n >\n {startAdornment}\n <StyledInput\n className=\"c-combo-box-input\"\n onBlur={handleBlur}\n onFocus={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 <StyledComboBoxCollapseExpandSingleIcon $open={open} />\n </>\n )}\n </>\n )}\n </StyledInputWrapper>\n </>\n ) : (\n <StyledComboBoxInput\n className={classNames(\"c-combo-box-input\", inputWrapperClassName)}\n onBlur={handleBlur}\n onFocus={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 <StyledComboBoxCollapseExpandSingleIcon $open={open} />\n </InputAdornment>\n ) : null\n }\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 $width={comboBoxRef.current?.clientWidth}>\n <Autocomplete\n {...prop}\n inputEl={childNode}\n selected={selected}\n handleChange={handleChange}\n renderOption={handleRenderOption}\n options={options}\n type={type}\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 +1 @@
1
- {"version":3,"file":"CounterButton.js","names":["React","forwardRef","classNames","Tooltip","CloseSmallIcon","StyledCounterButton","StyledCounterButtonCounter","StyledCounterButtonLabel","StyledCounterButtonReset","StyledCounterButtonWrapper","CounterButton","ref","label","icon","active","counter","tooltipText","onClearAll","className","args","cloneElement","displayName"],"sources":["../../../../src/components/CounterButton/CounterButton.tsx"],"sourcesContent":["import React, { forwardRef, ReactElement } from \"react\";\nimport classNames from \"classnames\";\nimport { Tooltip } from \"../Tooltip/Tooltip\";\nimport CloseSmallIcon from \"../Icons/collection/CloseSmall\";\nimport {\n StyledCounterButton,\n StyledCounterButtonCounter,\n StyledCounterButtonLabel,\n StyledCounterButtonReset,\n StyledCounterButtonWrapper,\n} from \"./Styles\";\n\nexport interface ICounterButtonProps {\n /** Set active state */\n active?: boolean;\n /** Label for value */\n label?: string;\n /** Icon */\n icon?: ReactElement;\n /** Number of applied filters */\n counter?: number;\n /** OnClearAll callback */\n onClearAll: (event?) => void;\n /** Tooltip content */\n tooltipText?: string;\n /** Applies passed classes */\n className?: string;\n}\n\nexport const CounterButton = forwardRef<HTMLDivElement, ICounterButtonProps>(\n (\n {\n label,\n icon,\n active,\n counter = 0,\n tooltipText,\n onClearAll,\n className,\n ...args\n },\n ref\n ) => {\n return (\n <StyledCounterButtonWrapper ref={ref} className={className}>\n <StyledCounterButton\n className={classNames(\"c-counter-button\", {\n \"c-counter-button__selected\": counter,\n })}\n {...args}\n variant={\"text gray\"}\n $active={counter > 0 || active}\n $selected={counter > 0}\n >\n {icon &&\n React.cloneElement(icon, {\n className: classNames(\"c-counter-button__icon\"),\n })}\n {label && (\n <StyledCounterButtonLabel\n color=\"secondary\"\n weight=\"medium\"\n className={\"c-counter-button__label\"}\n $active={counter > 0 || active}\n >\n {label}\n </StyledCounterButtonLabel>\n )}\n {counter > 0 ? (\n <StyledCounterButtonCounter className={\"c-counter-button__counter\"}>\n {counter}\n </StyledCounterButtonCounter>\n ) : null}\n </StyledCounterButton>\n {counter > 0 ? (\n <Tooltip\n title={`${tooltipText}`}\n popperTooltipClassName=\"z-index-1300\"\n >\n <StyledCounterButtonReset\n variant=\"text colored\"\n className=\"c-counter-button__reset\"\n onClick={onClearAll}\n >\n <CloseSmallIcon />\n </StyledCounterButtonReset>\n </Tooltip>\n ) : null}\n </StyledCounterButtonWrapper>\n );\n }\n);\n\nCounterButton.displayName = \"CounterButton\";\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAsB,OAAO;AACvD,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,OAAO,QAAQ,oBAAoB;AAC5C,OAAOC,cAAc,MAAM,gCAAgC;AAC3D,SACEC,mBAAmB,EACnBC,0BAA0B,EAC1BC,wBAAwB,EACxBC,wBAAwB,EACxBC,0BAA0B,QACrB,UAAU;AAmBjB,OAAO,IAAMC,aAAa,gBAAGT,UAAU,CACrC,gBAWEU,GAAG,EACA;EAAA,IAVDC,KAAK,QAALA,KAAK;IACLC,IAAI,QAAJA,IAAI;IACJC,MAAM,QAANA,MAAM;IAAA,oBACNC,OAAO;IAAPA,OAAO,6BAAG,CAAC;IACXC,WAAW,QAAXA,WAAW;IACXC,UAAU,QAAVA,UAAU;IACVC,SAAS,QAATA,SAAS;IACNC,IAAI;EAIT,oBACE,oBAAC,0BAA0B;IAAC,GAAG,EAAER,GAAI;IAAC,SAAS,EAAEO;EAAU,gBACzD,oBAAC,mBAAmB;IAClB,SAAS,EAAEhB,UAAU,CAAC,kBAAkB,EAAE;MACxC,4BAA4B,EAAEa;IAChC,CAAC;EAAE,GACCI,IAAI;IACR,OAAO,EAAE,WAAY;IACrB,OAAO,EAAEJ,OAAO,GAAG,CAAC,IAAID,MAAO;IAC/B,SAAS,EAAEC,OAAO,GAAG;EAAE,IAEtBF,IAAI,iBACHb,KAAK,CAACoB,YAAY,CAACP,IAAI,EAAE;IACvBK,SAAS,EAAEhB,UAAU,CAAC,wBAAwB;EAChD,CAAC,CAAC,EACHU,KAAK,iBACJ,oBAAC,wBAAwB;IACvB,KAAK,EAAC,WAAW;IACjB,MAAM,EAAC,QAAQ;IACf,SAAS,EAAE,yBAA0B;IACrC,OAAO,EAAEG,OAAO,GAAG,CAAC,IAAID;EAAO,GAE9BF,KAAK,CAET,EACAG,OAAO,GAAG,CAAC,gBACV,oBAAC,0BAA0B;IAAC,SAAS,EAAE;EAA4B,GAChEA,OAAO,CACmB,GAC3B,IAAI,CACY,EACrBA,OAAO,GAAG,CAAC,gBACV,oBAAC,OAAO;IACN,KAAK,OAAKC,WAAc;IACxB,sBAAsB,EAAC;EAAc,gBAErC,oBAAC,wBAAwB;IACvB,OAAO,EAAC,cAAc;IACtB,SAAS,EAAC,yBAAyB;IACnC,OAAO,EAAEC;EAAW,gBAEpB,oBAAC,cAAc,OAAG,CACO,CACnB,GACR,IAAI,CACmB;AAEjC,CAAC,CACF;AAEDP,aAAa,CAACW,WAAW,GAAG,eAAe"}
1
+ {"version":3,"file":"CounterButton.js","names":["React","forwardRef","classNames","Tooltip","CloseSmallIcon","StyledCounterButton","StyledCounterButtonCounter","StyledCounterButtonLabel","StyledCounterButtonReset","StyledCounterButtonWrapper","CounterButton","ref","label","icon","active","counter","tooltipText","onClearAll","className","args","cloneElement","displayName"],"sources":["../../../../src/components/CounterButton/CounterButton.tsx"],"sourcesContent":["import React, { forwardRef, ReactElement } from \"react\";\nimport classNames from \"classnames\";\nimport { Tooltip } from \"../Tooltip/Tooltip\";\nimport CloseSmallIcon from \"../Icons/collection/CloseSmall\";\nimport {\n StyledCounterButton,\n StyledCounterButtonCounter,\n StyledCounterButtonLabel,\n StyledCounterButtonReset,\n StyledCounterButtonWrapper,\n} from \"./Styles\";\n\nexport interface ICounterButtonProps {\n /** Set active state */\n active?: boolean;\n /** Label for value */\n label?: string;\n /** Icon */\n icon?: ReactElement;\n /** Number of applied filters */\n counter?: number;\n /** OnClearAll callback */\n onClearAll: (event?) => void;\n /** Tooltip content */\n tooltipText?: string;\n /** Applies passed classes */\n className?: string;\n}\n\nexport const CounterButton = forwardRef<HTMLDivElement, ICounterButtonProps>(\n (\n {\n label,\n icon,\n active,\n counter = 0,\n tooltipText,\n onClearAll,\n className,\n ...args\n },\n ref\n ) => {\n return (\n <StyledCounterButtonWrapper ref={ref} className={className}>\n <StyledCounterButton\n className={classNames(\"c-counter-button\", {\n \"c-counter-button__selected\": counter,\n })}\n {...args}\n variant=\"text gray\"\n $active={counter > 0 || active}\n $selected={counter > 0}\n >\n {icon &&\n React.cloneElement(icon, {\n className: classNames(\"c-counter-button__icon\"),\n })}\n {label && (\n <StyledCounterButtonLabel\n color=\"secondary\"\n weight=\"medium\"\n className=\"c-counter-button__label\"\n $active={counter > 0 || active}\n >\n {label}\n </StyledCounterButtonLabel>\n )}\n {counter > 0 ? (\n <StyledCounterButtonCounter className=\"c-counter-button__counter\">\n {counter}\n </StyledCounterButtonCounter>\n ) : null}\n </StyledCounterButton>\n {counter > 0 ? (\n <Tooltip\n title={`${tooltipText}`}\n popperTooltipClassName=\"z-index-1300\"\n >\n <StyledCounterButtonReset\n variant=\"text colored\"\n className=\"c-counter-button__reset\"\n onClick={onClearAll}\n >\n <CloseSmallIcon />\n </StyledCounterButtonReset>\n </Tooltip>\n ) : null}\n </StyledCounterButtonWrapper>\n );\n }\n);\n\nCounterButton.displayName = \"CounterButton\";\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAsB,OAAO;AACvD,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,OAAO,QAAQ,oBAAoB;AAC5C,OAAOC,cAAc,MAAM,gCAAgC;AAC3D,SACEC,mBAAmB,EACnBC,0BAA0B,EAC1BC,wBAAwB,EACxBC,wBAAwB,EACxBC,0BAA0B,QACrB,UAAU;AAmBjB,OAAO,IAAMC,aAAa,gBAAGT,UAAU,CACrC,gBAWEU,GAAG,EACA;EAAA,IAVDC,KAAK,QAALA,KAAK;IACLC,IAAI,QAAJA,IAAI;IACJC,MAAM,QAANA,MAAM;IAAA,oBACNC,OAAO;IAAPA,OAAO,6BAAG,CAAC;IACXC,WAAW,QAAXA,WAAW;IACXC,UAAU,QAAVA,UAAU;IACVC,SAAS,QAATA,SAAS;IACNC,IAAI;EAIT,oBACE,oBAAC,0BAA0B;IAAC,GAAG,EAAER,GAAI;IAAC,SAAS,EAAEO;EAAU,gBACzD,oBAAC,mBAAmB;IAClB,SAAS,EAAEhB,UAAU,CAAC,kBAAkB,EAAE;MACxC,4BAA4B,EAAEa;IAChC,CAAC;EAAE,GACCI,IAAI;IACR,OAAO,EAAC,WAAW;IACnB,OAAO,EAAEJ,OAAO,GAAG,CAAC,IAAID,MAAO;IAC/B,SAAS,EAAEC,OAAO,GAAG;EAAE,IAEtBF,IAAI,iBACHb,KAAK,CAACoB,YAAY,CAACP,IAAI,EAAE;IACvBK,SAAS,EAAEhB,UAAU,CAAC,wBAAwB;EAChD,CAAC,CAAC,EACHU,KAAK,iBACJ,oBAAC,wBAAwB;IACvB,KAAK,EAAC,WAAW;IACjB,MAAM,EAAC,QAAQ;IACf,SAAS,EAAC,yBAAyB;IACnC,OAAO,EAAEG,OAAO,GAAG,CAAC,IAAID;EAAO,GAE9BF,KAAK,CAET,EACAG,OAAO,GAAG,CAAC,gBACV,oBAAC,0BAA0B;IAAC,SAAS,EAAC;EAA2B,GAC9DA,OAAO,CACmB,GAC3B,IAAI,CACY,EACrBA,OAAO,GAAG,CAAC,gBACV,oBAAC,OAAO;IACN,KAAK,OAAKC,WAAc;IACxB,sBAAsB,EAAC;EAAc,gBAErC,oBAAC,wBAAwB;IACvB,OAAO,EAAC,cAAc;IACtB,SAAS,EAAC,yBAAyB;IACnC,OAAO,EAAEC;EAAW,gBAEpB,oBAAC,cAAc,OAAG,CACO,CACnB,GACR,IAAI,CACmB;AAEjC,CAAC,CACF;AAEDP,aAAa,CAACW,WAAW,GAAG,eAAe"}
@@ -1 +1 @@
1
- {"version":3,"file":"DatePicker.js","names":["React","useState","useCallback","useMemo","useEffect","DateUtils","customClassNames","SwitchTransition","moment","YearMonthPicker","CustomNavBarElement","StyledDatePicker","StyledDatePickerCSSTransition","StyledDayPicker","DatePicker","className","onChange","onDayClick","selectedDays","disabledDays","selectionMode","month","Date","onMonthChange","dateRequired","firstDayOfWeek","fixedWeeks","defaultModifiers","modifiers","rest","enteredTo","setEnteredTo","enteredFrom","setEnteredFrom","stopScroll","setStopScroll","direction","setDirection","from","to","isPreselected","setIsPreselected","showMonthPicker","setShowMonthPicker","setModifiers","week","prev","hovered","handleDayClick","day","getMonth","isSame","undefined","startOf","toDate","endOf","isBetween","isDayAfter","isSelectedFirstDay","handleDayMouseEnter","onDayMouseLeave","onWheel","e","getTime","nextMonth","addMonths","previousMonth","deltaY","togglePicker","customNavBarElement","props","handleYearMonthChange","m","text","getFullYear","format","handleYearMonthForm","onKeyDownCallback","key","document","addEventListener","removeEventListener","displayName"],"sources":["../../../../src/components/DatePicker/DatePicker.tsx"],"sourcesContent":["import React, { FC, useState, useCallback, useMemo, useEffect } from \"react\";\nimport {\n DayPickerProps,\n DateUtils,\n RangeModifier,\n Modifiers,\n DayModifiers,\n} from \"react-day-picker\";\nimport { customClassNames } from \"./ClassNames\";\nimport { SwitchTransition } from \"react-transition-group\";\nimport moment from \"moment\";\nimport { YearMonthPicker } from \"../Pickers/YearMonthPicker\";\nimport { CustomNavBarElement } from \"./CustomNavBarElement\";\nimport {\n StyledDatePicker,\n StyledDatePickerCSSTransition,\n StyledDayPicker,\n} from \"./Styles\";\n\nexport interface IDatePicker extends DayPickerProps {\n /** Calls when value is picked */\n onChange?: (dates?: { from: Date; to: Date }) => void;\n /** Called when day is clicked */\n onDayClick?: (day: Date, modifiers: DayModifiers) => void;\n /** Set selected day or days */\n selectedDays?: RangeModifier;\n /** Set selection range */\n selectionMode?: string;\n /** Set is date required */\n dateRequired?: boolean;\n /** Set first day of week */\n firstDayOfWeek?: number;\n /** Set fixed number of weeks in month */\n fixedWeeks?: boolean;\n}\n\nexport const DatePicker: FC<IDatePicker> = ({\n className,\n onChange,\n onDayClick,\n selectedDays,\n disabledDays,\n selectionMode = \"daily\",\n month = new Date(),\n onMonthChange = (): null => null,\n dateRequired = false,\n firstDayOfWeek = 0,\n fixedWeeks = true,\n modifiers: defaultModifiers,\n ...rest\n}) => {\n const [enteredTo, setEnteredTo] = useState<Date>();\n const [enteredFrom, setEnteredFrom] = useState<Date>();\n const [stopScroll, setStopScroll] = useState<Date>();\n const [direction, setDirection] = useState(true);\n const [isPreselected, setIsPreselected] = useState(() => {\n return (\n selectedDays?.from instanceof Date && selectedDays?.to instanceof Date\n );\n });\n const [showMonthPicker, setShowMonthPicker] = useState(\n selectionMode === \"quarterly\" || selectionMode === \"monthly\"\n );\n const [modifiers, setModifiers] = useState<Partial<Modifiers> | undefined>(\n defaultModifiers\n );\n const week = firstDayOfWeek === 0 ? \"week\" : \"isoWeek\";\n\n useEffect(() => {\n if (enteredFrom instanceof Date && enteredTo instanceof Date) {\n setModifiers((prev) => {\n return { ...prev, hovered: { from: enteredFrom, to: enteredTo } };\n });\n } else {\n setModifiers(defaultModifiers);\n }\n }, [enteredTo, enteredFrom, defaultModifiers]);\n\n const handleDayClick = useCallback(\n (day: Date, modifiers: DayModifiers) => {\n if (onDayClick) {\n onDayClick(day, modifiers);\n }\n if (!onChange) {\n return;\n }\n if (month.getMonth() !== day.getMonth()) {\n onMonthChange(day);\n }\n if (modifiers[\"c-DayPicker-Day--disabled\"] || selectionMode === \"none\") {\n return;\n }\n // reset the selectedDays if the user clicks on the same day\n if (\n !dateRequired &&\n ((selectedDays?.from &&\n moment(day).isSame(moment(selectedDays.from), \"day\")) ||\n (selectedDays?.to &&\n moment(day).isSame(moment(selectedDays.to), \"day\")))\n ) {\n setEnteredTo(undefined);\n setEnteredFrom(undefined);\n\n return onChange(undefined);\n }\n\n if (selectionMode === \"daily\") {\n return onChange({ from: day, to: day });\n }\n\n if (selectionMode === \"weekly\") {\n if (\n !dateRequired &&\n selectedDays?.from &&\n moment(day).isSame(moment(selectedDays.from), week)\n ) {\n return onChange(undefined);\n }\n return onChange({\n from: moment(day).startOf(week).toDate(),\n to: moment(day).endOf(week).toDate(),\n });\n }\n\n if (selectionMode === \"custom\") {\n if (isPreselected) {\n setIsPreselected(false);\n return onChange({ from: day, to: day });\n }\n if (\n !selectedDays ||\n (selectedDays?.from &&\n selectedDays?.to &&\n !moment(selectedDays.from).isSame(moment(selectedDays.to)))\n ) {\n if (\n !dateRequired &&\n selectedDays?.from &&\n selectedDays?.to &&\n moment(day).isBetween(\n moment(selectedDays.from),\n moment(selectedDays.to)\n )\n ) {\n setEnteredTo(day);\n setEnteredFrom(day);\n return onChange(undefined);\n }\n setEnteredFrom(day);\n return onChange({ from: day, to: day });\n }\n if (\n selectedDays?.from &&\n DateUtils.isDayAfter(day, selectedDays.from)\n ) {\n setEnteredTo(undefined);\n setEnteredFrom(undefined);\n return onChange({ from: selectedDays.from, to: day });\n }\n if (selectedDays?.to) {\n setEnteredTo(undefined);\n setEnteredFrom(undefined);\n return onChange({ from: day, to: selectedDays.to });\n }\n }\n },\n [\n onDayClick,\n onChange,\n month,\n selectionMode,\n dateRequired,\n selectedDays,\n onMonthChange,\n week,\n isPreselected,\n ]\n );\n\n const isSelectedFirstDay = useCallback(() => {\n if (selectionMode !== \"custom\") {\n return false;\n }\n if (selectedDays?.from && selectedDays?.to) {\n return moment(selectedDays.from).isSame(selectedDays.to);\n }\n }, [selectionMode, selectedDays]);\n\n const handleDayMouseEnter = useCallback(\n (day: Date) => {\n if (isPreselected && selectionMode !== \"weekly\") {\n setEnteredTo(day);\n setEnteredFrom(day);\n return;\n }\n if (selectionMode === \"daily\") {\n setEnteredTo(day);\n setEnteredFrom(day);\n }\n if (selectionMode === \"weekly\") {\n setEnteredFrom(moment(day).startOf(week).toDate());\n setEnteredTo(moment(day).endOf(week).toDate());\n }\n\n if (\n selectionMode !== \"weekly\" &&\n (!selectedDays ||\n (selectedDays?.from &&\n selectedDays?.to &&\n !moment(selectedDays.from).isSame(moment(selectedDays.to))))\n ) {\n setEnteredTo(day);\n setEnteredFrom(day);\n }\n\n if (isSelectedFirstDay() && selectedDays?.from) {\n setEnteredFrom(selectedDays.from);\n setEnteredTo(day);\n }\n },\n [selectionMode, isSelectedFirstDay, selectedDays, week, isPreselected]\n );\n\n const onDayMouseLeave = useCallback(() => {\n if (\n selectionMode === \"weekly\" ||\n selectionMode === \"daily\" ||\n selectionMode === \"custom\"\n ) {\n setEnteredFrom(undefined);\n setEnteredTo(undefined);\n }\n }, [setEnteredFrom, setEnteredTo, selectionMode]);\n\n const onWheel = useCallback(\n (e: { deltaY: number }) => {\n if (\n stopScroll &&\n (new Date().getTime() - stopScroll.getTime()) / 1000 < 0.9\n ) {\n return;\n }\n const nextMonth = showMonthPicker\n ? DateUtils.addMonths(month, 12)\n : DateUtils.addMonths(month, 1);\n const previousMonth = showMonthPicker\n ? DateUtils.addMonths(month, -12)\n : DateUtils.addMonths(month, -1);\n if (e.deltaY > 0.9) {\n setDirection(true);\n onMonthChange(nextMonth);\n setStopScroll(new Date());\n }\n if (e.deltaY < -0.9) {\n setDirection(false);\n onMonthChange(previousMonth);\n setStopScroll(new Date());\n }\n },\n [stopScroll, showMonthPicker, month, onMonthChange]\n );\n\n const togglePicker = useCallback(() => {\n if (selectionMode !== \"monthly\" && selectionMode !== \"quarterly\") {\n return setShowMonthPicker(!showMonthPicker);\n }\n setShowMonthPicker(true);\n }, [showMonthPicker, selectionMode]);\n\n const customNavBarElement = useCallback(\n (props) => {\n return (\n <CustomNavBarElement\n {...props}\n showMonthPicker={showMonthPicker}\n month={month}\n onChangeDirection={setDirection}\n onMonthChange={onMonthChange}\n onClick={togglePicker}\n />\n );\n },\n [showMonthPicker, month, onMonthChange, togglePicker]\n );\n\n const handleYearMonthChange = useCallback(\n (m: Date) => {\n if (onChange) {\n if (selectionMode === \"monthly\") {\n if (\n !dateRequired &&\n selectedDays?.from &&\n moment(m).isSame(moment(selectedDays.from), \"month\")\n ) {\n return onChange(undefined);\n }\n onChange({\n from: moment(m).startOf(\"month\").toDate(),\n to: moment(m).endOf(\"month\").toDate(),\n });\n }\n if (selectionMode === \"quarterly\") {\n if (\n !dateRequired &&\n selectedDays?.from &&\n moment(m).isSame(\n moment(selectedDays.from).startOf(\"quarter\"),\n \"quarter\"\n )\n ) {\n return onChange(undefined);\n }\n onChange({\n from: moment(m).startOf(\"quarter\").toDate(),\n to: moment(m).endOf(\"quarter\").toDate(),\n });\n }\n }\n onMonthChange(m);\n },\n [onMonthChange, onChange, selectedDays, selectionMode, dateRequired]\n );\n\n const text = useMemo(() => {\n if (showMonthPicker) {\n return `${month.getFullYear()}`;\n }\n return `${moment(month).format(\"MMMM\")} ${\n moment(month).isSame(moment(), \"year\") ? \"\" : month.getFullYear()\n }`;\n }, [showMonthPicker, month]);\n\n const handleYearMonthForm = useCallback(\n (props) => {\n return (\n <YearMonthPicker\n {...props}\n text={text}\n selectedDays={selectedDays}\n onChange={handleYearMonthChange}\n isShown={showMonthPicker}\n selectionMode={selectionMode}\n />\n );\n },\n [text, selectedDays, handleYearMonthChange, showMonthPicker, selectionMode]\n );\n\n const onKeyDownCallback = useCallback(\n (e: KeyboardEvent) => {\n // Right Arrow\n if (e.key === \"ArrowRight\") {\n setDirection(true);\n if (showMonthPicker) {\n onMonthChange(new Date(month.getFullYear() + 1, month.getMonth()));\n } else {\n onMonthChange(new Date(month.getFullYear(), month.getMonth() + 1));\n }\n }\n // Left Arrow\n if (e.key === \"ArrowLeft\") {\n setDirection(false);\n if (showMonthPicker) {\n onMonthChange(new Date(month.getFullYear() - 1, month.getMonth()));\n } else {\n onMonthChange(new Date(month.getFullYear(), month.getMonth() - 1));\n }\n }\n // Up Arrow\n if (e.key === \"ArrowUp\") {\n setDirection(true);\n onMonthChange(new Date(month.getFullYear() + 1, month.getMonth()));\n }\n // Down Arrow\n if (e.key === \"ArrowDown\") {\n setDirection(false);\n onMonthChange(new Date(month.getFullYear() - 1, month.getMonth()));\n }\n },\n [showMonthPicker, onMonthChange, month]\n );\n\n useEffect(() => {\n document.addEventListener(\"keydown\", onKeyDownCallback);\n return (): void => {\n document.removeEventListener(\"keydown\", onKeyDownCallback);\n };\n }, [month, onMonthChange, showMonthPicker, onKeyDownCallback]);\n\n return (\n <StyledDatePicker className=\"c-date-picker-wrapper\" onWheel={onWheel}>\n <SwitchTransition mode=\"out-in\">\n <StyledDatePickerCSSTransition\n key={showMonthPicker ? month.getFullYear() : month.getMonth()}\n timeout={300}\n classNames={\"c-date-picker__animation\"}\n $direction={direction}\n >\n <StyledDayPicker\n {...rest}\n disabledDays={disabledDays}\n selectedDays={selectedDays}\n onDayClick={handleDayClick}\n modifiers={modifiers}\n onDayMouseEnter={handleDayMouseEnter}\n onDayMouseLeave={onDayMouseLeave}\n className={className}\n $isYearlyView={showMonthPicker}\n month={month}\n navbarElement={customNavBarElement}\n onCaptionClick={togglePicker}\n captionElement={handleYearMonthForm}\n classNames={customClassNames}\n fixedWeeks={fixedWeeks}\n firstDayOfWeek={firstDayOfWeek}\n />\n </StyledDatePickerCSSTransition>\n </SwitchTransition>\n </StyledDatePicker>\n );\n};\n\nDatePicker.displayName = \"DatePicker\";\n"],"mappings":"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"}
1
+ {"version":3,"file":"DatePicker.js","names":["React","useState","useCallback","useMemo","useEffect","DateUtils","customClassNames","SwitchTransition","moment","YearMonthPicker","CustomNavBarElement","StyledDatePicker","StyledDatePickerCSSTransition","StyledDayPicker","DatePicker","className","onChange","onDayClick","selectedDays","disabledDays","selectionMode","month","Date","onMonthChange","dateRequired","firstDayOfWeek","fixedWeeks","defaultModifiers","modifiers","rest","enteredTo","setEnteredTo","enteredFrom","setEnteredFrom","stopScroll","setStopScroll","direction","setDirection","from","to","isPreselected","setIsPreselected","showMonthPicker","setShowMonthPicker","setModifiers","week","prev","hovered","handleDayClick","day","getMonth","isSame","undefined","startOf","toDate","endOf","isBetween","isDayAfter","isSelectedFirstDay","handleDayMouseEnter","onDayMouseLeave","onWheel","e","getTime","nextMonth","addMonths","previousMonth","deltaY","togglePicker","customNavBarElement","props","handleYearMonthChange","m","text","getFullYear","format","handleYearMonthForm","onKeyDownCallback","key","document","addEventListener","removeEventListener","displayName"],"sources":["../../../../src/components/DatePicker/DatePicker.tsx"],"sourcesContent":["import React, { FC, useState, useCallback, useMemo, useEffect } from \"react\";\nimport {\n DayPickerProps,\n DateUtils,\n RangeModifier,\n Modifiers,\n DayModifiers,\n} from \"react-day-picker\";\nimport { customClassNames } from \"./ClassNames\";\nimport { SwitchTransition } from \"react-transition-group\";\nimport moment from \"moment\";\nimport { YearMonthPicker } from \"../Pickers/YearMonthPicker\";\nimport { CustomNavBarElement } from \"./CustomNavBarElement\";\nimport {\n StyledDatePicker,\n StyledDatePickerCSSTransition,\n StyledDayPicker,\n} from \"./Styles\";\n\nexport interface IDatePicker extends DayPickerProps {\n /** Calls when value is picked */\n onChange?: (dates?: { from: Date; to: Date }) => void;\n /** Called when day is clicked */\n onDayClick?: (day: Date, modifiers: DayModifiers) => void;\n /** Set selected day or days */\n selectedDays?: RangeModifier;\n /** Set selection range */\n selectionMode?: string;\n /** Set is date required */\n dateRequired?: boolean;\n /** Set first day of week */\n firstDayOfWeek?: number;\n /** Set fixed number of weeks in month */\n fixedWeeks?: boolean;\n}\n\nexport const DatePicker: FC<IDatePicker> = ({\n className,\n onChange,\n onDayClick,\n selectedDays,\n disabledDays,\n selectionMode = \"daily\",\n month = new Date(),\n onMonthChange = (): null => null,\n dateRequired = false,\n firstDayOfWeek = 0,\n fixedWeeks = true,\n modifiers: defaultModifiers,\n ...rest\n}) => {\n const [enteredTo, setEnteredTo] = useState<Date>();\n const [enteredFrom, setEnteredFrom] = useState<Date>();\n const [stopScroll, setStopScroll] = useState<Date>();\n const [direction, setDirection] = useState(true);\n const [isPreselected, setIsPreselected] = useState(() => {\n return (\n selectedDays?.from instanceof Date && selectedDays?.to instanceof Date\n );\n });\n const [showMonthPicker, setShowMonthPicker] = useState(\n selectionMode === \"quarterly\" || selectionMode === \"monthly\"\n );\n const [modifiers, setModifiers] = useState<Partial<Modifiers> | undefined>(\n defaultModifiers\n );\n const week = firstDayOfWeek === 0 ? \"week\" : \"isoWeek\";\n\n useEffect(() => {\n if (enteredFrom instanceof Date && enteredTo instanceof Date) {\n setModifiers((prev) => {\n return { ...prev, hovered: { from: enteredFrom, to: enteredTo } };\n });\n } else {\n setModifiers(defaultModifiers);\n }\n }, [enteredTo, enteredFrom, defaultModifiers]);\n\n const handleDayClick = useCallback(\n (day: Date, modifiers: DayModifiers) => {\n if (onDayClick) {\n onDayClick(day, modifiers);\n }\n if (!onChange) {\n return;\n }\n if (month.getMonth() !== day.getMonth()) {\n onMonthChange(day);\n }\n if (modifiers[\"c-DayPicker-Day--disabled\"] || selectionMode === \"none\") {\n return;\n }\n // reset the selectedDays if the user clicks on the same day\n if (\n !dateRequired &&\n ((selectedDays?.from &&\n moment(day).isSame(moment(selectedDays.from), \"day\")) ||\n (selectedDays?.to &&\n moment(day).isSame(moment(selectedDays.to), \"day\")))\n ) {\n setEnteredTo(undefined);\n setEnteredFrom(undefined);\n\n return onChange(undefined);\n }\n\n if (selectionMode === \"daily\") {\n return onChange({ from: day, to: day });\n }\n\n if (selectionMode === \"weekly\") {\n if (\n !dateRequired &&\n selectedDays?.from &&\n moment(day).isSame(moment(selectedDays.from), week)\n ) {\n return onChange(undefined);\n }\n return onChange({\n from: moment(day).startOf(week).toDate(),\n to: moment(day).endOf(week).toDate(),\n });\n }\n\n if (selectionMode === \"custom\") {\n if (isPreselected) {\n setIsPreselected(false);\n return onChange({ from: day, to: day });\n }\n if (\n !selectedDays ||\n (selectedDays?.from &&\n selectedDays?.to &&\n !moment(selectedDays.from).isSame(moment(selectedDays.to)))\n ) {\n if (\n !dateRequired &&\n selectedDays?.from &&\n selectedDays?.to &&\n moment(day).isBetween(\n moment(selectedDays.from),\n moment(selectedDays.to)\n )\n ) {\n setEnteredTo(day);\n setEnteredFrom(day);\n return onChange(undefined);\n }\n setEnteredFrom(day);\n return onChange({ from: day, to: day });\n }\n if (\n selectedDays?.from &&\n DateUtils.isDayAfter(day, selectedDays.from)\n ) {\n setEnteredTo(undefined);\n setEnteredFrom(undefined);\n return onChange({ from: selectedDays.from, to: day });\n }\n if (selectedDays?.to) {\n setEnteredTo(undefined);\n setEnteredFrom(undefined);\n return onChange({ from: day, to: selectedDays.to });\n }\n }\n },\n [\n onDayClick,\n onChange,\n month,\n selectionMode,\n dateRequired,\n selectedDays,\n onMonthChange,\n week,\n isPreselected,\n ]\n );\n\n const isSelectedFirstDay = useCallback(() => {\n if (selectionMode !== \"custom\") {\n return false;\n }\n if (selectedDays?.from && selectedDays?.to) {\n return moment(selectedDays.from).isSame(selectedDays.to);\n }\n }, [selectionMode, selectedDays]);\n\n const handleDayMouseEnter = useCallback(\n (day: Date) => {\n if (isPreselected && selectionMode !== \"weekly\") {\n setEnteredTo(day);\n setEnteredFrom(day);\n return;\n }\n if (selectionMode === \"daily\") {\n setEnteredTo(day);\n setEnteredFrom(day);\n }\n if (selectionMode === \"weekly\") {\n setEnteredFrom(moment(day).startOf(week).toDate());\n setEnteredTo(moment(day).endOf(week).toDate());\n }\n\n if (\n selectionMode !== \"weekly\" &&\n (!selectedDays ||\n (selectedDays?.from &&\n selectedDays?.to &&\n !moment(selectedDays.from).isSame(moment(selectedDays.to))))\n ) {\n setEnteredTo(day);\n setEnteredFrom(day);\n }\n\n if (isSelectedFirstDay() && selectedDays?.from) {\n setEnteredFrom(selectedDays.from);\n setEnteredTo(day);\n }\n },\n [selectionMode, isSelectedFirstDay, selectedDays, week, isPreselected]\n );\n\n const onDayMouseLeave = useCallback(() => {\n if (\n selectionMode === \"weekly\" ||\n selectionMode === \"daily\" ||\n selectionMode === \"custom\"\n ) {\n setEnteredFrom(undefined);\n setEnteredTo(undefined);\n }\n }, [setEnteredFrom, setEnteredTo, selectionMode]);\n\n const onWheel = useCallback(\n (e: { deltaY: number }) => {\n if (\n stopScroll &&\n (new Date().getTime() - stopScroll.getTime()) / 1000 < 0.9\n ) {\n return;\n }\n const nextMonth = showMonthPicker\n ? DateUtils.addMonths(month, 12)\n : DateUtils.addMonths(month, 1);\n const previousMonth = showMonthPicker\n ? DateUtils.addMonths(month, -12)\n : DateUtils.addMonths(month, -1);\n if (e.deltaY > 0.9) {\n setDirection(true);\n onMonthChange(nextMonth);\n setStopScroll(new Date());\n }\n if (e.deltaY < -0.9) {\n setDirection(false);\n onMonthChange(previousMonth);\n setStopScroll(new Date());\n }\n },\n [stopScroll, showMonthPicker, month, onMonthChange]\n );\n\n const togglePicker = useCallback(() => {\n if (selectionMode !== \"monthly\" && selectionMode !== \"quarterly\") {\n return setShowMonthPicker(!showMonthPicker);\n }\n setShowMonthPicker(true);\n }, [showMonthPicker, selectionMode]);\n\n const customNavBarElement = useCallback(\n (props) => {\n return (\n <CustomNavBarElement\n {...props}\n showMonthPicker={showMonthPicker}\n month={month}\n onChangeDirection={setDirection}\n onMonthChange={onMonthChange}\n onClick={togglePicker}\n />\n );\n },\n [showMonthPicker, month, onMonthChange, togglePicker]\n );\n\n const handleYearMonthChange = useCallback(\n (m: Date) => {\n if (onChange) {\n if (selectionMode === \"monthly\") {\n if (\n !dateRequired &&\n selectedDays?.from &&\n moment(m).isSame(moment(selectedDays.from), \"month\")\n ) {\n return onChange(undefined);\n }\n onChange({\n from: moment(m).startOf(\"month\").toDate(),\n to: moment(m).endOf(\"month\").toDate(),\n });\n }\n if (selectionMode === \"quarterly\") {\n if (\n !dateRequired &&\n selectedDays?.from &&\n moment(m).isSame(\n moment(selectedDays.from).startOf(\"quarter\"),\n \"quarter\"\n )\n ) {\n return onChange(undefined);\n }\n onChange({\n from: moment(m).startOf(\"quarter\").toDate(),\n to: moment(m).endOf(\"quarter\").toDate(),\n });\n }\n }\n onMonthChange(m);\n },\n [onMonthChange, onChange, selectedDays, selectionMode, dateRequired]\n );\n\n const text = useMemo(() => {\n if (showMonthPicker) {\n return `${month.getFullYear()}`;\n }\n return `${moment(month).format(\"MMMM\")} ${\n moment(month).isSame(moment(), \"year\") ? \"\" : month.getFullYear()\n }`;\n }, [showMonthPicker, month]);\n\n const handleYearMonthForm = useCallback(\n (props) => {\n return (\n <YearMonthPicker\n {...props}\n text={text}\n selectedDays={selectedDays}\n onChange={handleYearMonthChange}\n isShown={showMonthPicker}\n selectionMode={selectionMode}\n />\n );\n },\n [text, selectedDays, handleYearMonthChange, showMonthPicker, selectionMode]\n );\n\n const onKeyDownCallback = useCallback(\n (e: KeyboardEvent) => {\n // Right Arrow\n if (e.key === \"ArrowRight\") {\n setDirection(true);\n if (showMonthPicker) {\n onMonthChange(new Date(month.getFullYear() + 1, month.getMonth()));\n } else {\n onMonthChange(new Date(month.getFullYear(), month.getMonth() + 1));\n }\n }\n // Left Arrow\n if (e.key === \"ArrowLeft\") {\n setDirection(false);\n if (showMonthPicker) {\n onMonthChange(new Date(month.getFullYear() - 1, month.getMonth()));\n } else {\n onMonthChange(new Date(month.getFullYear(), month.getMonth() - 1));\n }\n }\n // Up Arrow\n if (e.key === \"ArrowUp\") {\n setDirection(true);\n onMonthChange(new Date(month.getFullYear() + 1, month.getMonth()));\n }\n // Down Arrow\n if (e.key === \"ArrowDown\") {\n setDirection(false);\n onMonthChange(new Date(month.getFullYear() - 1, month.getMonth()));\n }\n },\n [showMonthPicker, onMonthChange, month]\n );\n\n useEffect(() => {\n document.addEventListener(\"keydown\", onKeyDownCallback);\n return (): void => {\n document.removeEventListener(\"keydown\", onKeyDownCallback);\n };\n }, [month, onMonthChange, showMonthPicker, onKeyDownCallback]);\n\n return (\n <StyledDatePicker className=\"c-date-picker-wrapper\" onWheel={onWheel}>\n <SwitchTransition mode=\"out-in\">\n <StyledDatePickerCSSTransition\n key={showMonthPicker ? month.getFullYear() : month.getMonth()}\n timeout={300}\n classNames=\"c-date-picker__animation\"\n $direction={direction}\n >\n <StyledDayPicker\n {...rest}\n disabledDays={disabledDays}\n selectedDays={selectedDays}\n onDayClick={handleDayClick}\n modifiers={modifiers}\n onDayMouseEnter={handleDayMouseEnter}\n onDayMouseLeave={onDayMouseLeave}\n className={className}\n $isYearlyView={showMonthPicker}\n month={month}\n navbarElement={customNavBarElement}\n onCaptionClick={togglePicker}\n captionElement={handleYearMonthForm}\n classNames={customClassNames}\n fixedWeeks={fixedWeeks}\n firstDayOfWeek={firstDayOfWeek}\n />\n </StyledDatePickerCSSTransition>\n </SwitchTransition>\n </StyledDatePicker>\n );\n};\n\nDatePicker.displayName = \"DatePicker\";\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"EntityCard.js","names":["React","forwardRef","useCallback","classnames","StyledEntityCard","EntityCard","ref","renderAs","properties","className","renderAsListItem","filter","p","showInList","map","name","render","renderAsGridItem","headerSection","cardSection","bodySection","footerSection","renderProperty","displayName"],"sources":["../../../../src/components/EntityCard/EntityCard.tsx"],"sourcesContent":["import React, {\n Ref,\n HTMLAttributes,\n forwardRef,\n ReactNode,\n useCallback,\n} from \"react\";\nimport classnames from \"classnames\";\nimport { StyledEntityCard } from \"./Styles\";\n\nexport type cardSection = \"header\" | \"body\" | \"footer\";\n\nexport interface IEntityProperties {\n name: string;\n render: () => ReactNode;\n showInList?: boolean;\n cardSection: cardSection;\n className?: string;\n}\n\nexport interface IEntityCardProps {\n renderAs?: \"list-item\" | \"grid-item\";\n properties: IEntityProperties[];\n ref?: Ref<HTMLDivElement>;\n link?: string;\n className?: string;\n}\n\nexport const EntityCard = forwardRef(\n (\n {\n renderAs = \"list-item\",\n properties,\n className,\n }: HTMLAttributes<HTMLDivElement> & IEntityCardProps,\n ref: Ref<HTMLDivElement> | null | undefined\n ) => {\n const renderAsListItem = useCallback((properties: IEntityProperties[]) => {\n return properties\n .filter((p) => p.showInList)\n .map((p) => {\n return (\n <div key={p.name} className={`entity-property-${p.name}`}>\n {p.render()}\n </div>\n );\n });\n }, []);\n\n const renderAsGridItem = useCallback((properties: IEntityProperties[]) => {\n const headerSection = properties.filter(\n (p: IEntityProperties) => p.cardSection === \"header\"\n );\n const bodySection = properties.filter(\n (p: IEntityProperties) => p.cardSection === \"body\"\n );\n const footerSection = properties.filter(\n (p) => p.cardSection === \"footer\"\n );\n const renderProperty = (p: IEntityProperties): ReactNode => (\n <div key={p.name} className={`entity-property-${p.name}`}>\n {p.render()}\n </div>\n );\n return (\n <>\n <div className={\"card-header\"}>\n {headerSection.map((p) => renderProperty(p))}\n </div>\n <div className={\"card-body\"}>\n {bodySection.map((p) => renderProperty(p))}\n </div>\n <div className={\"card-footer\"}>\n {footerSection.map((p) => renderProperty(p))}\n </div>\n </>\n );\n }, []);\n\n return (\n <StyledEntityCard\n ref={ref}\n hoverable\n className={classnames(\n \"entity-card-wrapper\",\n {\n \"grid-item\": renderAs === \"grid-item\",\n \"list-item\": renderAs === \"list-item\",\n },\n className\n )}\n paperType={renderAs === \"grid-item\" ? \"paper-1\" : \"paper-2\"}\n $renderAs={renderAs}\n >\n {renderAs === \"list-item\" ? renderAsListItem(properties) : null}\n {renderAs === \"grid-item\" ? renderAsGridItem(properties) : null}\n </StyledEntityCard>\n );\n }\n);\n\nEntityCard.displayName = \"EntityCard\";\n"],"mappings":"AAAA,OAAOA,KAAK,IAGVC,UAAU,EAEVC,WAAW,QACN,OAAO;AACd,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,gBAAgB,QAAQ,UAAU;AAoB3C,OAAO,IAAMC,UAAU,gBAAGJ,UAAU,CAClC,gBAMEK,GAA2C,EACxC;EAAA,yBALDC,QAAQ;IAARA,QAAQ,8BAAG,WAAW;IACtBC,UAAU,QAAVA,UAAU;IACVC,SAAS,QAATA,SAAS;EAIX,IAAMC,gBAAgB,GAAGR,WAAW,CAAC,UAACM,UAA+B,EAAK;IACxE,OAAOA,UAAU,CACdG,MAAM,CAAC,UAACC,CAAC;MAAA,OAAKA,CAAC,CAACC,UAAU;IAAA,EAAC,CAC3BC,GAAG,CAAC,UAACF,CAAC,EAAK;MACV,oBACE;QAAK,GAAG,EAAEA,CAAC,CAACG,IAAK;QAAC,SAAS,uBAAqBH,CAAC,CAACG;MAAO,GACtDH,CAAC,CAACI,MAAM,EAAE,CACP;IAEV,CAAC,CAAC;EACN,CAAC,EAAE,EAAE,CAAC;EAEN,IAAMC,gBAAgB,GAAGf,WAAW,CAAC,UAACM,UAA+B,EAAK;IACxE,IAAMU,aAAa,GAAGV,UAAU,CAACG,MAAM,CACrC,UAACC,CAAoB;MAAA,OAAKA,CAAC,CAACO,WAAW,KAAK,QAAQ;IAAA,EACrD;IACD,IAAMC,WAAW,GAAGZ,UAAU,CAACG,MAAM,CACnC,UAACC,CAAoB;MAAA,OAAKA,CAAC,CAACO,WAAW,KAAK,MAAM;IAAA,EACnD;IACD,IAAME,aAAa,GAAGb,UAAU,CAACG,MAAM,CACrC,UAACC,CAAC;MAAA,OAAKA,CAAC,CAACO,WAAW,KAAK,QAAQ;IAAA,EAClC;IACD,IAAMG,cAAc,GAAG,SAAjBA,cAAc,CAAIV,CAAoB;MAAA,oBAC1C;QAAK,GAAG,EAAEA,CAAC,CAACG,IAAK;QAAC,SAAS,uBAAqBH,CAAC,CAACG;MAAO,GACtDH,CAAC,CAACI,MAAM,EAAE,CACP;IAAA,CACP;IACD,oBACE,uDACE;MAAK,SAAS,EAAE;IAAc,GAC3BE,aAAa,CAACJ,GAAG,CAAC,UAACF,CAAC;MAAA,OAAKU,cAAc,CAACV,CAAC,CAAC;IAAA,EAAC,CACxC,eACN;MAAK,SAAS,EAAE;IAAY,GACzBQ,WAAW,CAACN,GAAG,CAAC,UAACF,CAAC;MAAA,OAAKU,cAAc,CAACV,CAAC,CAAC;IAAA,EAAC,CACtC,eACN;MAAK,SAAS,EAAE;IAAc,GAC3BS,aAAa,CAACP,GAAG,CAAC,UAACF,CAAC;MAAA,OAAKU,cAAc,CAACV,CAAC,CAAC;IAAA,EAAC,CACxC,CACL;EAEP,CAAC,EAAE,EAAE,CAAC;EAEN,oBACE,oBAAC,gBAAgB;IACf,GAAG,EAAEN,GAAI;IACT,SAAS;IACT,SAAS,EAAEH,UAAU,CACnB,qBAAqB,EACrB;MACE,WAAW,EAAEI,QAAQ,KAAK,WAAW;MACrC,WAAW,EAAEA,QAAQ,KAAK;IAC5B,CAAC,EACDE,SAAS,CACT;IACF,SAAS,EAAEF,QAAQ,KAAK,WAAW,GAAG,SAAS,GAAG,SAAU;IAC5D,SAAS,EAAEA;EAAS,GAEnBA,QAAQ,KAAK,WAAW,GAAGG,gBAAgB,CAACF,UAAU,CAAC,GAAG,IAAI,EAC9DD,QAAQ,KAAK,WAAW,GAAGU,gBAAgB,CAACT,UAAU,CAAC,GAAG,IAAI,CAC9C;AAEvB,CAAC,CACF;AAEDH,UAAU,CAACkB,WAAW,GAAG,YAAY"}
1
+ {"version":3,"file":"EntityCard.js","names":["React","forwardRef","useCallback","classnames","StyledEntityCard","EntityCard","ref","renderAs","properties","className","renderAsListItem","filter","p","showInList","map","name","render","renderAsGridItem","headerSection","cardSection","bodySection","footerSection","renderProperty","displayName"],"sources":["../../../../src/components/EntityCard/EntityCard.tsx"],"sourcesContent":["import React, {\n Ref,\n HTMLAttributes,\n forwardRef,\n ReactNode,\n useCallback,\n} from \"react\";\nimport classnames from \"classnames\";\nimport { StyledEntityCard } from \"./Styles\";\n\nexport type cardSection = \"header\" | \"body\" | \"footer\";\n\nexport interface IEntityProperties {\n name: string;\n render: () => ReactNode;\n showInList?: boolean;\n cardSection: cardSection;\n className?: string;\n}\n\nexport interface IEntityCardProps {\n renderAs?: \"list-item\" | \"grid-item\";\n properties: IEntityProperties[];\n ref?: Ref<HTMLDivElement>;\n link?: string;\n className?: string;\n}\n\nexport const EntityCard = forwardRef(\n (\n {\n renderAs = \"list-item\",\n properties,\n className,\n }: HTMLAttributes<HTMLDivElement> & IEntityCardProps,\n ref: Ref<HTMLDivElement> | null | undefined\n ) => {\n const renderAsListItem = useCallback((properties: IEntityProperties[]) => {\n return properties\n .filter((p) => p.showInList)\n .map((p) => {\n return (\n <div key={p.name} className={`entity-property-${p.name}`}>\n {p.render()}\n </div>\n );\n });\n }, []);\n\n const renderAsGridItem = useCallback((properties: IEntityProperties[]) => {\n const headerSection = properties.filter(\n (p: IEntityProperties) => p.cardSection === \"header\"\n );\n const bodySection = properties.filter(\n (p: IEntityProperties) => p.cardSection === \"body\"\n );\n const footerSection = properties.filter(\n (p) => p.cardSection === \"footer\"\n );\n const renderProperty = (p: IEntityProperties): ReactNode => (\n <div key={p.name} className={`entity-property-${p.name}`}>\n {p.render()}\n </div>\n );\n return (\n <>\n <div className=\"card-header\">\n {headerSection.map((p) => renderProperty(p))}\n </div>\n <div className=\"card-body\">\n {bodySection.map((p) => renderProperty(p))}\n </div>\n <div className=\"card-footer\">\n {footerSection.map((p) => renderProperty(p))}\n </div>\n </>\n );\n }, []);\n\n return (\n <StyledEntityCard\n ref={ref}\n hoverable\n className={classnames(\n \"entity-card-wrapper\",\n {\n \"grid-item\": renderAs === \"grid-item\",\n \"list-item\": renderAs === \"list-item\",\n },\n className\n )}\n paperType={renderAs === \"grid-item\" ? \"paper-1\" : \"paper-2\"}\n $renderAs={renderAs}\n >\n {renderAs === \"list-item\" ? renderAsListItem(properties) : null}\n {renderAs === \"grid-item\" ? renderAsGridItem(properties) : null}\n </StyledEntityCard>\n );\n }\n);\n\nEntityCard.displayName = \"EntityCard\";\n"],"mappings":"AAAA,OAAOA,KAAK,IAGVC,UAAU,EAEVC,WAAW,QACN,OAAO;AACd,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,gBAAgB,QAAQ,UAAU;AAoB3C,OAAO,IAAMC,UAAU,gBAAGJ,UAAU,CAClC,gBAMEK,GAA2C,EACxC;EAAA,yBALDC,QAAQ;IAARA,QAAQ,8BAAG,WAAW;IACtBC,UAAU,QAAVA,UAAU;IACVC,SAAS,QAATA,SAAS;EAIX,IAAMC,gBAAgB,GAAGR,WAAW,CAAC,UAACM,UAA+B,EAAK;IACxE,OAAOA,UAAU,CACdG,MAAM,CAAC,UAACC,CAAC;MAAA,OAAKA,CAAC,CAACC,UAAU;IAAA,EAAC,CAC3BC,GAAG,CAAC,UAACF,CAAC,EAAK;MACV,oBACE;QAAK,GAAG,EAAEA,CAAC,CAACG,IAAK;QAAC,SAAS,uBAAqBH,CAAC,CAACG;MAAO,GACtDH,CAAC,CAACI,MAAM,EAAE,CACP;IAEV,CAAC,CAAC;EACN,CAAC,EAAE,EAAE,CAAC;EAEN,IAAMC,gBAAgB,GAAGf,WAAW,CAAC,UAACM,UAA+B,EAAK;IACxE,IAAMU,aAAa,GAAGV,UAAU,CAACG,MAAM,CACrC,UAACC,CAAoB;MAAA,OAAKA,CAAC,CAACO,WAAW,KAAK,QAAQ;IAAA,EACrD;IACD,IAAMC,WAAW,GAAGZ,UAAU,CAACG,MAAM,CACnC,UAACC,CAAoB;MAAA,OAAKA,CAAC,CAACO,WAAW,KAAK,MAAM;IAAA,EACnD;IACD,IAAME,aAAa,GAAGb,UAAU,CAACG,MAAM,CACrC,UAACC,CAAC;MAAA,OAAKA,CAAC,CAACO,WAAW,KAAK,QAAQ;IAAA,EAClC;IACD,IAAMG,cAAc,GAAG,SAAjBA,cAAc,CAAIV,CAAoB;MAAA,oBAC1C;QAAK,GAAG,EAAEA,CAAC,CAACG,IAAK;QAAC,SAAS,uBAAqBH,CAAC,CAACG;MAAO,GACtDH,CAAC,CAACI,MAAM,EAAE,CACP;IAAA,CACP;IACD,oBACE,uDACE;MAAK,SAAS,EAAC;IAAa,GACzBE,aAAa,CAACJ,GAAG,CAAC,UAACF,CAAC;MAAA,OAAKU,cAAc,CAACV,CAAC,CAAC;IAAA,EAAC,CACxC,eACN;MAAK,SAAS,EAAC;IAAW,GACvBQ,WAAW,CAACN,GAAG,CAAC,UAACF,CAAC;MAAA,OAAKU,cAAc,CAACV,CAAC,CAAC;IAAA,EAAC,CACtC,eACN;MAAK,SAAS,EAAC;IAAa,GACzBS,aAAa,CAACP,GAAG,CAAC,UAACF,CAAC;MAAA,OAAKU,cAAc,CAACV,CAAC,CAAC;IAAA,EAAC,CACxC,CACL;EAEP,CAAC,EAAE,EAAE,CAAC;EAEN,oBACE,oBAAC,gBAAgB;IACf,GAAG,EAAEN,GAAI;IACT,SAAS;IACT,SAAS,EAAEH,UAAU,CACnB,qBAAqB,EACrB;MACE,WAAW,EAAEI,QAAQ,KAAK,WAAW;MACrC,WAAW,EAAEA,QAAQ,KAAK;IAC5B,CAAC,EACDE,SAAS,CACT;IACF,SAAS,EAAEF,QAAQ,KAAK,WAAW,GAAG,SAAS,GAAG,SAAU;IAC5D,SAAS,EAAEA;EAAS,GAEnBA,QAAQ,KAAK,WAAW,GAAGG,gBAAgB,CAACF,UAAU,CAAC,GAAG,IAAI,EAC9DD,QAAQ,KAAK,WAAW,GAAGU,gBAAgB,CAACT,UAAU,CAAC,GAAG,IAAI,CAC9C;AAEvB,CAAC,CACF;AAEDH,UAAU,CAACkB,WAAW,GAAG,YAAY"}
@@ -1 +1 @@
1
- {"version":3,"file":"Header.js","names":["React","forwardRef","classNames","StyledHeader","Header","ref","className","size","children","rest","displayName"],"sources":["../../../../src/components/Header/Header.tsx"],"sourcesContent":["import React, { forwardRef, HTMLAttributes, ReactNode, Ref } from \"react\";\nimport classNames from \"classnames\";\nimport { StyledHeader } from \"./Styles\";\n\ninterface IHeaderProps {\n /** CSS classes. */\n className?: string;\n /** Size */\n size?: \"small\" | \"big\";\n /** Children */\n children: ReactNode;\n}\n\nexport const Header = forwardRef(\n (\n {\n className,\n size = \"small\",\n children,\n ...rest\n }: HTMLAttributes<HTMLDivElement> & IHeaderProps,\n ref: Ref<HTMLDivElement> | null | undefined\n ) => {\n return (\n <StyledHeader\n type={\"paper-2\"}\n className={classNames(\"c-header\", className)}\n size={size}\n ref={ref}\n {...rest}\n >\n {children}\n </StyledHeader>\n );\n }\n);\n\nHeader.displayName = \"Header\";\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAwC,OAAO;AACzE,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,YAAY,QAAQ,UAAU;AAWvC,OAAO,IAAMC,MAAM,gBAAGH,UAAU,CAC9B,gBAOEI,GAA2C,EACxC;EAAA,IANDC,SAAS,QAATA,SAAS;IAAA,iBACTC,IAAI;IAAJA,IAAI,0BAAG,OAAO;IACdC,QAAQ,QAARA,QAAQ;IACLC,IAAI;EAIT,oBACE,oBAAC,YAAY;IACX,IAAI,EAAE,SAAU;IAChB,SAAS,EAAEP,UAAU,CAAC,UAAU,EAAEI,SAAS,CAAE;IAC7C,IAAI,EAAEC,IAAK;IACX,GAAG,EAAEF;EAAI,GACLI,IAAI,GAEPD,QAAQ,CACI;AAEnB,CAAC,CACF;AAEDJ,MAAM,CAACM,WAAW,GAAG,QAAQ"}
1
+ {"version":3,"file":"Header.js","names":["React","forwardRef","classNames","StyledHeader","Header","ref","className","size","children","rest","displayName"],"sources":["../../../../src/components/Header/Header.tsx"],"sourcesContent":["import React, { forwardRef, HTMLAttributes, ReactNode, Ref } from \"react\";\nimport classNames from \"classnames\";\nimport { StyledHeader } from \"./Styles\";\n\ninterface IHeaderProps {\n /** CSS classes. */\n className?: string;\n /** Size */\n size?: \"small\" | \"big\";\n /** Children */\n children: ReactNode;\n}\n\nexport const Header = forwardRef(\n (\n {\n className,\n size = \"small\",\n children,\n ...rest\n }: HTMLAttributes<HTMLDivElement> & IHeaderProps,\n ref: Ref<HTMLDivElement> | null | undefined\n ) => {\n return (\n <StyledHeader\n type=\"paper-2\"\n className={classNames(\"c-header\", className)}\n size={size}\n ref={ref}\n {...rest}\n >\n {children}\n </StyledHeader>\n );\n }\n);\n\nHeader.displayName = \"Header\";\n"],"mappings":";;;AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAwC,OAAO;AACzE,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,YAAY,QAAQ,UAAU;AAWvC,OAAO,IAAMC,MAAM,gBAAGH,UAAU,CAC9B,gBAOEI,GAA2C,EACxC;EAAA,IANDC,SAAS,QAATA,SAAS;IAAA,iBACTC,IAAI;IAAJA,IAAI,0BAAG,OAAO;IACdC,QAAQ,QAARA,QAAQ;IACLC,IAAI;EAIT,oBACE,oBAAC,YAAY;IACX,IAAI,EAAC,SAAS;IACd,SAAS,EAAEP,UAAU,CAAC,UAAU,EAAEI,SAAS,CAAE;IAC7C,IAAI,EAAEC,IAAK;IACX,GAAG,EAAEF;EAAI,GACLI,IAAI,GAEPD,QAAQ,CACI;AAEnB,CAAC,CACF;AAEDJ,MAAM,CAACM,WAAW,GAAG,QAAQ"}
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../../../src/components/Menu/Menu.tsx"],"names":[],"mappings":"AAAA,OAAc,EAEZ,EAAE,EACF,SAAS,EACT,UAAU,EAIV,YAAY,EACZ,GAAG,EACJ,MAAM,OAAO,CAAC;AAMf,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAI3C,UAAU,cAAc,CAAC,CAAC,CAAE,SAAQ,YAAY;IAC9C,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;CACd;AAED,oBAAY,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;AAEnD,MAAM,WAAW,KAAK;IAEpB,QAAQ,EAAE,SAAS,CAAC;IAEpB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAEvD,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,IAAI,CAAC,EAAE,QAAQ,CAAC;IAEhB,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IAEpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAErB,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC;IAE9B,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB,MAAM,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC,0BAA0B,CAAC,EAAE,OAAO,CAAC;CACtC;AAED,eAAO,MAAM,IAAI,EAAE,EAAE,CAAC,KAAK,CAuH1B,CAAC"}
1
+ {"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../../../src/components/Menu/Menu.tsx"],"names":[],"mappings":"AAAA,OAAc,EAEZ,EAAE,EACF,SAAS,EACT,UAAU,EAIV,YAAY,EACZ,GAAG,EACJ,MAAM,OAAO,CAAC;AAMf,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAI3C,UAAU,cAAc,CAAC,CAAC,CAAE,SAAQ,YAAY;IAC9C,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;CACd;AAED,oBAAY,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;AAEnD,MAAM,WAAW,KAAK;IAEpB,QAAQ,EAAE,SAAS,CAAC;IAEpB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAEvD,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,IAAI,CAAC,EAAE,QAAQ,CAAC;IAEhB,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IAEpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAErB,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC;IAE9B,QAAQ,CAAC,EAAE,SAAS,CAAC;IAErB,MAAM,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC,0BAA0B,CAAC,EAAE,OAAO,CAAC;CACtC;AAED,eAAO,MAAM,IAAI,EAAE,EAAE,CAAC,KAAK,CA8G1B,CAAC"}
@@ -36,7 +36,6 @@ export var Menu = function Menu(_ref) {
36
36
  childNode = _useState2[0],
37
37
  setChildNode = _useState2[1];
38
38
  var elementRef = useRef(null);
39
- var isOpenAtLeastOnce = useRef(false);
40
39
  useEffect(function () {
41
40
  setOpen(defaultOpen);
42
41
  }, [defaultOpen]);
@@ -65,14 +64,6 @@ export var Menu = function Menu(_ref) {
65
64
  ref: handleRef,
66
65
  onClick: handleOpen
67
66
  };
68
- useEffect(function () {
69
- if (open) {
70
- isOpenAtLeastOnce.current = true;
71
- } else if (!open && isOpenAtLeastOnce.current) {
72
- var _elementRef$current;
73
- (_elementRef$current = elementRef.current) == null ? void 0 : _elementRef$current.focus();
74
- }
75
- }, [open]);
76
67
  return /*#__PURE__*/React.createElement(React.Fragment, null, target && /*#__PURE__*/React.cloneElement(target, targetProps), open ? /*#__PURE__*/React.createElement(Window, {
77
68
  onClose: handleClose,
78
69
  disableScrollLock: !handleScroll,
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.js","names":["React","useRef","useState","useCallback","useEffect","classnames","Popper","useForkRef","Overlay","Window","MenuContextProvider","StyledMenu","Menu","children","disableFocusLock","onMenuClick","handleScroll","mode","open","defaultOpen","onOpen","onClose","onBeforeClose","position","target","className","menuClassName","popperClassName","backgroundElementClass","windowAbsolutelyPositioned","setOpen","childNode","setChildNode","elementRef","isOpenAtLeastOnce","handleRefRef","ref","undefined","handleRef","handleOpen","event","preventDefault","stopPropagation","props","onClick","handleClose","childProps","forceClose","targetProps","current","focus","cloneElement","displayName"],"sources":["../../../../src/components/Menu/Menu.tsx"],"sourcesContent":["import React, {\n useRef,\n FC,\n ReactNode,\n MouseEvent,\n useState,\n useCallback,\n useEffect,\n ReactElement,\n Ref,\n} from \"react\";\nimport classnames from \"classnames\";\nimport { Popper } from \"../Popper\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Overlay } from \"../Overlay\";\nimport { Window } from \"../Window\";\nimport { Placement } from \"@popperjs/core\";\nimport { MenuContextProvider } from \"./context\";\nimport { StyledMenu } from \"./Styles\";\n\ninterface ElementWithRef<T> extends ReactElement {\n ref?: Ref<T>;\n}\n\nexport type MenuMode = \"normal\" | \"wider\" | \"tiny\";\n\nexport interface IMenu {\n /** Menu content */\n children: ReactNode;\n /** On menu element click */\n onMenuClick?: (event: MouseEvent<HTMLElement>) => void;\n /** Handle scroll bar */\n handleScroll?: boolean;\n /** Disable Focus Lock */\n disableFocusLock?: boolean;\n /** Menu width mode */\n mode?: MenuMode;\n /** Should menu be open when it's mounted */\n open?: boolean;\n /** Callback triggered when modal has been opened */\n onOpen?: () => void;\n /** Callback triggered when modal has been closed */\n onClose?: () => void;\n /** Before close callback */\n onBeforeClose?: () => boolean;\n /** Position Menu */\n position?: Placement;\n /** Target element */\n target?: ElementWithRef<Element>;\n className?: string;\n /** Menu classes */\n menuClassName?: string;\n /** Popper class name*/\n popperClassName?: string;\n /** Background style for clickable element after the menu is open (opacity, color, etc...) */\n backgroundElementClass?: string;\n /** Should Window be positioned absolutely */\n windowAbsolutelyPositioned?: boolean;\n}\n\nexport const Menu: FC<IMenu> = ({\n children,\n disableFocusLock = false,\n onMenuClick,\n handleScroll = true,\n mode = \"normal\",\n open: defaultOpen = false,\n onOpen,\n onClose,\n onBeforeClose,\n position = \"bottom-start\",\n target,\n className,\n menuClassName,\n popperClassName,\n backgroundElementClass,\n windowAbsolutelyPositioned = false,\n}) => {\n const [open, setOpen] = useState(defaultOpen);\n const [childNode, setChildNode] = useState<Element | null>();\n const elementRef = useRef<HTMLElement | null>(null);\n const isOpenAtLeastOnce = useRef(false);\n\n useEffect(() => {\n setOpen(defaultOpen);\n }, [defaultOpen]);\n\n const handleRefRef = useForkRef(\n target ? target.ref : undefined,\n setChildNode\n );\n const handleRef = useForkRef(handleRefRef, elementRef);\n\n const handleOpen = useCallback(\n (\n event: Pick<MouseEvent<Element>, \"preventDefault\" | \"stopPropagation\">\n ) => {\n event?.preventDefault();\n event?.stopPropagation();\n setOpen(true);\n typeof onOpen === \"function\" && onOpen();\n typeof target?.props?.onClick === \"function\" &&\n target.props.onClick(event);\n },\n [onOpen, target?.props]\n );\n\n const handleClose = useCallback(() => {\n if (typeof onBeforeClose === \"function\" && !onBeforeClose()) {\n return;\n }\n setOpen(false);\n typeof onClose === \"function\" && onClose();\n }, [onClose, onBeforeClose]);\n\n const childProps = {\n forceClose: handleClose,\n };\n\n const targetProps = {\n open,\n ref: handleRef,\n onClick: handleOpen,\n };\n\n useEffect(() => {\n if (open) {\n isOpenAtLeastOnce.current = true;\n } else if (!open && isOpenAtLeastOnce.current) {\n elementRef.current?.focus();\n }\n }, [open]);\n\n return (\n <>\n {target && React.cloneElement(target, targetProps)}\n {open ? (\n <Window\n onClose={handleClose}\n disableScrollLock={!handleScroll}\n disableFocusLock={disableFocusLock}\n style={{\n position: windowAbsolutelyPositioned ? \"absolute\" : \"fixed\",\n }}\n >\n <Overlay\n className={backgroundElementClass}\n onClick={handleClose}\n tabIndex={-1}\n disableBackgroundColor\n />\n <Popper\n anchorEl={childNode}\n open={childNode ? open : false}\n placement={position}\n className={popperClassName}\n tabIndex={-1}\n >\n <StyledMenu\n className={classnames(\n \"c-simple-menu__paper\",\n `c-simple-menu__${mode}`,\n menuClassName,\n className\n )}\n $mode={mode}\n onMouseDown={onMenuClick}\n >\n <MenuContextProvider value={{ open, setOpen }}>\n {typeof children === \"function\"\n ? children(childProps)\n : children}\n </MenuContextProvider>\n </StyledMenu>\n </Popper>\n </Window>\n ) : null}\n </>\n );\n};\n\nMenu.displayName = \"Menu\";\n"],"mappings":"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"}
1
+ {"version":3,"file":"Menu.js","names":["React","useRef","useState","useCallback","useEffect","classnames","Popper","useForkRef","Overlay","Window","MenuContextProvider","StyledMenu","Menu","children","disableFocusLock","onMenuClick","handleScroll","mode","open","defaultOpen","onOpen","onClose","onBeforeClose","position","target","className","menuClassName","popperClassName","backgroundElementClass","windowAbsolutelyPositioned","setOpen","childNode","setChildNode","elementRef","handleRefRef","ref","undefined","handleRef","handleOpen","event","preventDefault","stopPropagation","props","onClick","handleClose","childProps","forceClose","targetProps","cloneElement","displayName"],"sources":["../../../../src/components/Menu/Menu.tsx"],"sourcesContent":["import React, {\n useRef,\n FC,\n ReactNode,\n MouseEvent,\n useState,\n useCallback,\n useEffect,\n ReactElement,\n Ref,\n} from \"react\";\nimport classnames from \"classnames\";\nimport { Popper } from \"../Popper\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Overlay } from \"../Overlay\";\nimport { Window } from \"../Window\";\nimport { Placement } from \"@popperjs/core\";\nimport { MenuContextProvider } from \"./context\";\nimport { StyledMenu } from \"./Styles\";\n\ninterface ElementWithRef<T> extends ReactElement {\n ref?: Ref<T>;\n}\n\nexport type MenuMode = \"normal\" | \"wider\" | \"tiny\";\n\nexport interface IMenu {\n /** Menu content */\n children: ReactNode;\n /** On menu element click */\n onMenuClick?: (event: MouseEvent<HTMLElement>) => void;\n /** Handle scroll bar */\n handleScroll?: boolean;\n /** Disable Focus Lock */\n disableFocusLock?: boolean;\n /** Menu width mode */\n mode?: MenuMode;\n /** Should menu be open when it's mounted */\n open?: boolean;\n /** Callback triggered when modal has been opened */\n onOpen?: () => void;\n /** Callback triggered when modal has been closed */\n onClose?: () => void;\n /** Before close callback */\n onBeforeClose?: () => boolean;\n /** Position Menu */\n position?: Placement;\n /** Target element */\n target?: ElementWithRef<Element>;\n className?: string;\n /** Menu classes */\n menuClassName?: string;\n /** Popper class name*/\n popperClassName?: string;\n /** Background style for clickable element after the menu is open (opacity, color, etc...) */\n backgroundElementClass?: string;\n /** Should Window be positioned absolutely */\n windowAbsolutelyPositioned?: boolean;\n}\n\nexport const Menu: FC<IMenu> = ({\n children,\n disableFocusLock = false,\n onMenuClick,\n handleScroll = true,\n mode = \"normal\",\n open: defaultOpen = false,\n onOpen,\n onClose,\n onBeforeClose,\n position = \"bottom-start\",\n target,\n className,\n menuClassName,\n popperClassName,\n backgroundElementClass,\n windowAbsolutelyPositioned = false,\n}) => {\n const [open, setOpen] = useState(defaultOpen);\n const [childNode, setChildNode] = useState<Element | null>();\n const elementRef = useRef<HTMLElement | null>(null);\n\n useEffect(() => {\n setOpen(defaultOpen);\n }, [defaultOpen]);\n\n const handleRefRef = useForkRef(\n target ? target.ref : undefined,\n setChildNode\n );\n const handleRef = useForkRef(handleRefRef, elementRef);\n\n const handleOpen = useCallback(\n (\n event: Pick<MouseEvent<Element>, \"preventDefault\" | \"stopPropagation\">\n ) => {\n event?.preventDefault();\n event?.stopPropagation();\n setOpen(true);\n typeof onOpen === \"function\" && onOpen();\n typeof target?.props?.onClick === \"function\" &&\n target.props.onClick(event);\n },\n [onOpen, target?.props]\n );\n\n const handleClose = useCallback(() => {\n if (typeof onBeforeClose === \"function\" && !onBeforeClose()) {\n return;\n }\n setOpen(false);\n typeof onClose === \"function\" && onClose();\n }, [onClose, onBeforeClose]);\n\n const childProps = {\n forceClose: handleClose,\n };\n\n const targetProps = {\n open,\n ref: handleRef,\n onClick: handleOpen,\n };\n\n return (\n <>\n {target && React.cloneElement(target, targetProps)}\n {open ? (\n <Window\n onClose={handleClose}\n disableScrollLock={!handleScroll}\n disableFocusLock={disableFocusLock}\n style={{\n position: windowAbsolutelyPositioned ? \"absolute\" : \"fixed\",\n }}\n >\n <Overlay\n className={backgroundElementClass}\n onClick={handleClose}\n tabIndex={-1}\n disableBackgroundColor\n />\n <Popper\n anchorEl={childNode}\n open={childNode ? open : false}\n placement={position}\n className={popperClassName}\n tabIndex={-1}\n >\n <StyledMenu\n className={classnames(\n \"c-simple-menu__paper\",\n `c-simple-menu__${mode}`,\n menuClassName,\n className\n )}\n $mode={mode}\n onMouseDown={onMenuClick}\n >\n <MenuContextProvider value={{ open, setOpen }}>\n {typeof children === \"function\"\n ? children(childProps)\n : children}\n </MenuContextProvider>\n </StyledMenu>\n </Popper>\n </Window>\n ) : null}\n </>\n );\n};\n\nMenu.displayName = \"Menu\";\n"],"mappings":"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"}