UNPKG

@useloops/design-system

Version:

The official React based Loops design system

2 lines (1 loc) 7.89 kB
"use strict";var e=require("react/jsx-runtime"),r=require("@mui/material"),i=require("@mui/material/Box"),o=require("@mui/material/Stack"),t=require("merge-sx"),a=require("react");require("../../../../../utils/formValidation/misc.js"),require("../../../../BrandCore/Icon/Icon.js"),require("../../../../BrandCore/primitiveVariables.js"),require("../../../../WebCore/utils/typography.util.js"),require("../../../../WebCore/AnnualController/AnnualController.js"),require("../../../../WebCore/SelectItem/SelectItem.js"),require("../../../../WebCore/Accordion/Accordion.js"),require("../../../../WebCore/Animations/FadeIn.js");var s=require("../../../../WebCore/Typography/Typography.js");require("@mui/icons-material"),require("../../../../WebCore/AutocompleteBaseField/_partials/AutocompleteListbox.js"),require("../../../../WebCore/AutocompleteBaseField/_partials/StyledPopper.js"),require("../../../../WebCore/AutocompleteBaseField/_partials/StyledAutocompleteField.js"),require("../../../../WebCore/AutocompleteBaseField/_partials/AutocompleteChip.js"),require("../../../../WebCore/AutocompleteBaseField/_partials/StyledAutocompleteInput.js"),require("../../../../WebCore/Badge/Badge.js"),require("../../../../WebCore/Breadcrumb/Breadcrumb.js"),require("../../../../WebCore/Button/Button.js"),require("../../../../WebCore/ButtonBase/ButtonBase.js"),require("../../../../WebCore/ButtonTabGroup/_partials/ActiveIndicator.js"),require("../../../../WebCore/ButtonTabGroup/_partials/ButtonTabsWrapper.js"),require("../../../../WebCore/ButtonTabGroup/_partials/TabButton.js");var l=require("../../../../WebCore/Checkbox/Checkbox.js");require("../../../../WebCore/Checkbox/StyledCheckbox.js"),require("../../../../WebCore/InputFieldBase/InputFieldBase.js"),require("../../../../WebCore/CreatableAutocomplete/CreatableAutocomplete.js"),require("../../../../WebCore/InputLabelBase/StyledInputLabelBase.js"),require("../../../../WebCore/Differential/DifferentialContainer.js"),require("../../../../WebCore/Differential/DifferentialRadio.js"),require("../../../../WebCore/DropdownMenu/StyledMenu.js"),require("../../../../WebCore/ExpandableTypographyClamp/ExpandableTypographyClamp.js"),require("../../../../WebCore/FormGenerator/FormGenerator.js"),require("../../../../WebCore/GridOverlay/GridOverlay.js"),require("html-react-parser"),require("../../../../WebCore/IconButton/IconButton.js"),require("../../../../WebCore/IconButtonBase/IconButtonBase.js"),require("../../../../WebCore/IconButtonGroup/IconButtonGroup.js"),require("../../../../WebCore/Image/Image.js"),require("../../../../WebCore/KbdGroup/Kbd.js"),require("../../../../WebCore/KbdGroup/KbdGroup.js"),require("../../../../WebCore/KeyValueLabel/KeyValueLabel.js"),require("../../../../WebCore/Label/Label.js"),require("../../../../WebCore/Likert/LikertContainer.js"),require("../../../../WebCore/Likert/LikertLabel.js"),require("../../../../WebCore/Likert/LikertRadio.js"),require("../../../../WebCore/Link/StyledLink.js"),require("@lottiefiles/dotlottie-react"),require("../../../../WebCore/LoopsAiButton/LoopsAiButton.js"),require("markdown-to-jsx"),require("material-ui-popup-state/hooks"),require("../../../../WebCore/Surface/Surface.js"),require("../../../../WebCore/Menu/MenuItem.js"),require("../../../../WebCore/ModalLayout/_partials/ModalActionsWrapper.js"),require("../../../../WebCore/ModalLayout/_partials/ModalContentWrapper.js"),require("../../../../WebCore/NavigationButton/NavigationButton.js"),require("../../../../WebCore/Nudge/NudgeButton.js"),require("../../../../WebCore/NumberField/NumberField.js"),require("../../../../BrandCore/colorRamps.js"),require("../../../../BrandCore/semanticColor.js"),require("../../../../BrandCore/types.js"),require("../../../../BrandCore/typography.js"),require("../../../../WebCore/Progress/Progress.js");var u=require("../../../../WebCore/Tooltip/Tooltip.js");require("../../../../WebCore/Pill/StyledPill.js"),require("../../../../WebCore/ProgressBar/ProgressBar.js"),require("../../../../WebCore/Radio/StyledRadio.js"),require("../../../../WebCore/Select/StyledSelect.js"),require("../../../../WebCore/RankItem/RankItemContainer.js"),require("../../../../WebCore/RankItem/RankItemLabel.js"),require("../../../../WebCore/SortableList/SortableList.js"),require("../../../../WebCore/SortableList/components/SortableItem/SortableItem.js"),require("../../../../WebCore/SortableList/components/SortableOverlay/SortableOverlay.js"),require("@tiptap/extension-placeholder"),require("@tiptap/starter-kit"),require("mui-tiptap"),require("../../../../WebCore/RichTextField/StyledRichTextEditor.js");var n=require("../../../../WebCore/Skeleton/Skeleton.js");require("../../../../WebCore/Slider/StyledSlider.js"),require("../../../../WebCore/StarRating/StarRating.js"),require("../../../../WebCore/Switch/StyledSwitch.js"),require("../../../../WebCore/Textarea/Textarea.js"),require("../../../../WebCore/TrialCard/TrialCardContainers.js"),require("../../../../WebCore/TrialCard/TrialPill.js"),require("../../../../WebCore/UserMenu/UserMenuButton.js"),require("../../../../WebCore/VideoModal/VideoModal.js");var d=require("../../utils/heightBasedOnPercentage.js"),b=require("../StyledComponents.js");function c(e){return e&&e.__esModule?e:{default:e}}var p=c(i),C=c(o);module.exports=({percentage:i,label:o,checked:c,totalBars:j,tooltipContent:m,hideTopValueSection:q,hideTopAmountValueSection:h,hideTopPercentageValueSection:W,hideLabel:x,hideCheckbox:B,hidePercentageSymbol:g,disableTooltip:S,animateBar:y,slotProps:k,tickInterval:v,amount:L,onChange:f,maxDataValue:I,disabled:A,loading:T,value:w,id:F,className:V,graphMaxHeight:M,responsive:R})=>{const P=r.useTheme(),[G,_]=a.useState(0),N=a.useRef(null);a.useEffect(()=>{const e=d.heightBasedOnPercentage(i,v,I,M,{hideLabel:x,hideCheckbox:B,hideTopValueSection:q}),r=y?G:e,o=performance.now(),t=i=>{const a=i-o,s=Math.min(a/250,1);_(r+(e-r)*(s*(2-s))),s<1&&requestAnimationFrame(t)},a=requestAnimationFrame(t);return()=>cancelAnimationFrame(a)},[w]);const O=a.useCallback(()=>{!A&&f&&f(F,!c)},[A,f,c]),D=a.useMemo(()=>j>6,[j]);return e.jsx(u,{message:m||null,disableHoverListener:S||!m,followCursor:!0,slotProps:{wrapper:{sx:{height:"fill-available",width:1,minWidth:0,...k?.tooltip?.slotProps?.wrapper?.sx}}},children:e.jsxs(b.VeticalBarWrapper,{maxHeight:M,disabled:A,...k?.barWrapper,id:F,className:V,onClick:O,responsive:R,children:[!q&&e.jsx(b.VerticalBarValue,{...k?.value,children:T?e.jsx(n,{width:25,height:25,sx:{mb:1/3}}):e.jsxs(C.default,{children:[!W&&e.jsx(p.default,{sx:{height:D?18:20},children:e.jsxs(s,{variation:D?"xxs":"sm",component:"p",monospaced:!0,disabled:A||!c,align:"center",noWrap:!0,weight:"bold",sx:{...D&&{fontSize:10,lineHeight:"12px"},minWidth:0,px:.2},children:[i,!g&&e.jsx(p.default,{component:"span",children:"%"})]})}),!h&&e.jsx(p.default,{sx:{height:D?18:20},children:e.jsx(s,{variation:j>5?"xxs":"sm",component:"p",monospaced:!0,secondary:!0,disabled:A||!c,align:"center",sx:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",width:"100%",minWidth:0,px:.2,height:22},children:L})})]})}),T?e.jsx(n,{width:"fill-available",height:G}):e.jsx(b.VerticalBar,{checked:c,value:G,maxHeight:M,disabled:A,sx:t.mergeSx(k?.bar?.sx||{},{backgroundColor:A||!c?P.custom.palette.interaction.disabled:k?.bar?.sx?.backgroundColor||P.custom.palette.purple[500]})}),e.jsxs(b.VerticalBarActions,{children:[!x&&e.jsx(b.VerticalBarLabel,{...k?.label,children:T?e.jsx(n,{width:20,height:20}):e.jsx(s,{variation:"xs",component:"p",weight:"bold",sx:{color:e=>A||!c?e.custom.palette.text.disabled:e.custom.palette.text.primary},children:o})}),!B&&e.jsx(e.Fragment,{children:T?e.jsx(n,{width:24,height:24,sx:{borderRadius:.5}}):e.jsx(l,{id:`${F}-checkbox`,variant:"secondary",checked:!A&&c,disabled:A,checkboxLabel:void 0,inputRef:N,onChange:O,...k?.checkbox,sx:t.mergeSx({mr:0,mt:1},k?.checkbox?.sx)})})]})]})})};