@useloops/design-system
Version:
The official React based Loops design system
2 lines (1 loc) • 5.35 kB
JavaScript
import{jsxs as e,jsx as r}from"react/jsx-runtime";import{useTheme as o,Box as t}from"@mui/material";import{memo as i,useRef as a,useState as s,useEffect as p,useMemo as m}from"react";import"../../../../../utils/formValidation/misc.js";import"../../../../BrandCore/Icon/Icon.js";import"../../../../BrandCore/primitiveVariables.js";import"../../../../WebCore/utils/typography.util.js";import"../../../../WebCore/AnnualController/AnnualController.js";import"../../../../WebCore/Accordion/Accordion.js";import n from"../../../../WebCore/Typography/Typography.js";import"merge-sx";import"../../../../WebCore/Badge/Badge.js";import"../../../../WebCore/Breadcrumb/Breadcrumb.js";import"../../../../WebCore/Button/Button.js";import"../../../../WebCore/ButtonBase/ButtonBase.js";import"../../../../WebCore/Checkbox/StyledCheckbox.js";import"../../../../WebCore/InputFieldBase/InputFieldBase.js";import"../../../../WebCore/CreatableAutocomplete/CreatableAutocomplete.js";import"@mui/icons-material";import"../../../../WebCore/InputLabelBase/StyledInputLabelBase.js";import"../../../../WebCore/Differential/DifferentialContainer.js";import"../../../../WebCore/Differential/DifferentialRadio.js";import"../../../../WebCore/DropdownMenu/StyledMenu.js";import"../../../../WebCore/ExpandableTypographyClamp/ExpandableTypographyClamp.js";import"../../../../WebCore/FormGenerator/FormGenerator.js";import"../../../../WebCore/GridOverlay/GridOverlay.js";import"html-react-parser";import"../../../../WebCore/IconButton/IconButton.js";import"../../../../WebCore/IconButtonBase/IconButtonBase.js";import"../../../../WebCore/IconButtonGroup/IconButtonGroup.js";import"../../../../WebCore/Image/Image.js";import"../../../../WebCore/Label/Label.js";import"../../../../WebCore/Likert/LikertContainer.js";import"../../../../WebCore/Likert/LikertLabel.js";import"../../../../WebCore/Likert/LikertRadio.js";import"../../../../WebCore/Link/StyledLink.js";import"@lottiefiles/dotlottie-react";import"../../../../WebCore/LoopsAiButton/LoopsAiButton.js";import"markdown-to-jsx";import"material-ui-popup-state/hooks";import"../../../../WebCore/Surface/Surface.js";import"../../../../WebCore/Menu/MenuItem.js";import"../../../../WebCore/ModalLayout/_partials/ModalActionsWrapper.js";import"../../../../WebCore/ModalLayout/_partials/ModalContentWrapper.js";import"../../../../WebCore/NavigationButton/NavigationButton.js";import"../../../../WebCore/Nudge/NudgeButton.js";import"../../../../WebCore/NumberField/NumberField.js";import"../../../../BrandCore/colorRamps.js";import"../../../../BrandCore/semanticColor.js";import"../../../../BrandCore/types.js";import"../../../../BrandCore/typography.js";import"../../../../WebCore/Progress/Progress.js";import"../../../../WebCore/Pill/StyledPill.js";import"../../../../WebCore/ProgressBar/ProgressBar.js";import"../../../../WebCore/Radio/StyledRadio.js";import"../../../../WebCore/utils/autocomplete.styles.js";import"../../../../WebCore/Select/AutocompleteListbox.js";import"../../../../WebCore/Select/StyledAutocomplete.js";import"../../../../WebCore/Select/SelectItem.js";import"../../../../WebCore/Select/StyledSelect.js";import"../../../../WebCore/RankItem/RankItemContainer.js";import"../../../../WebCore/RankItem/RankItemLabel.js";import"../../../../WebCore/SortableList/SortableList.js";import"../../../../WebCore/SortableList/components/SortableItem/SortableItem.js";import"../../../../WebCore/SortableList/components/SortableOverlay/SortableOverlay.js";import"@tiptap/extension-placeholder";import"@tiptap/starter-kit";import"mui-tiptap";import"../../../../WebCore/RichTextField/StyledRichTextEditor.js";import l from"../../../../WebCore/Skeleton/Skeleton.js";import"../../../../WebCore/Slider/StyledSlider.js";import"../../../../WebCore/StarRating/StarRating.js";import"../../../../WebCore/Switch/StyledSwitch.js";import"../../../../WebCore/Textarea/Textarea.js";import"../../../../WebCore/TrialCard/TrialCardContainers.js";import"../../../../WebCore/TrialCard/TrialPill.js";import"../../../../WebCore/UserMenu/UserMenuButton.js";import"../../../../WebCore/VideoModal/VideoModal.js";import{createYAxisIntervalTicks as b}from"../../utils/createYAxisIntervalTicks.js";import{Axis as d,Spacer as C,AxisSegmentWrapper as c,AxisSegment as j}from"../StyledComponents.js";const u=i(({yAxisMax:i,rounding:u,tickInterval:W,loading:h,yAxisTickData:y,hideLabel:B,showGraphLines:S,hideCheckbox:x,disabled:g,slotProps:L,graphMaxHeight:f,responsive:I})=>{const k=o(),v=a(null),[M,A]=s(void 0);p(()=>{if(I&&v.current){const e=()=>{const e=v.current?.parentElement?.offsetWidth;e&&A(e-50)};return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)}},[I]);const T=m(()=>u?Math.ceil(i/u)*u:i,[i,u]),R=y||b(W,T).reverse(),{onChange:w,...D}=L?.root||{};return e(d,{maxHeight:f,ref:v,children:[e(t,{sx:{display:"flex",flexDirection:"column",alignItems:"center"},children:[B&&r(C,{}),x&&r(C,{})]}),r(c,{...D,hideLabel:B,hideCheckbox:x,maxHeight:f,children:R.map((e,o)=>r(j,{showGraphLines:S,graphWidth:M,children:h?r(l,{width:20,height:20}):r(n,{component:"p",variation:"xs",monospaced:!0,sx:{color:g?k.custom.palette.text.disabled:k.custom.palette.text.primary},children:e})},o))}),e(t,{sx:{display:"flex",flexDirection:"column",alignItems:"center"},children:[!B&&r(C,{}),!x&&r(C,{})]})]})});export{u as default};