UNPKG

@useloops/design-system

Version:

The official React based Loops design system

2 lines (1 loc) 5.78 kB
import{jsx as e,jsxs as o,Fragment as t}from"react/jsx-runtime";import{useTheme as r,Stack as i,Box as a}from"@mui/material";import{mergeSx as s}from"merge-sx";import{useRef as p,useCallback as l}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 m from"../../../../WebCore/Typography/Typography.js";import"../../../../WebCore/Badge/Badge.js";import"../../../../WebCore/Breadcrumb/Breadcrumb.js";import"../../../../WebCore/Button/Button.js";import"../../../../WebCore/ButtonBase/ButtonBase.js";import n from"../../../../WebCore/Checkbox/Checkbox.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 b from"../../../../WebCore/Tooltip/Tooltip.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 c 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{getTextColor as d}from"../../utils/getIndicatorColor.js";import{LikertActionControllerWrapper as C,SwatchIndicator as j,LikertGraphLabel as u}from"../StyledComponents.js";const W=({disabled:W,checked:h,label:g,toolTipContent:S,id:x,onChange:B,color:y,loading:k,slotProps:f={},hideCheckboxes:L,hideLabels:I,hideColorIndicators:T,disableTooltips:R})=>{const w=r(),A=p(null),M=l(()=>{!W&&B&&B(x,!h)},[W,B,h]),v=L&&I&&T;return!v&&e(C,{disabled:W||k,onClick:M,children:e(b,{followCursor:!0,message:S,disableHoverListener:W||k||R||!S||v,...f?.actionsTooltip,slotProps:{wrapper:{sx:{width:"100%",height:"100%",padding:v?0:`${w.spacing(w.custom.margin.sm)} ${w.spacing(w.custom.margin.xs)}`,flexDirection:"column",display:"flex",alignItems:"center",justifyContent:"space-between",gap:w.spacing(w.custom.margin.md),...f?.actionsTooltip?.slotProps?.wrapper?.sx}}},children:o(t,{children:[o(i,{gap:w.spacing(w.custom.margin.xs),sx:{width:1,alignItems:"center"},children:[!T&&e(j,{sx:{...f?.actionsSwatchIndicator?.sx},color:W||k?w.custom.palette.interaction.disabled:h?y:w.custom.palette.neutral[100]}),!I&&e(u,{children:k?e(c,{width:50,height:20}):e(m,{variation:"sm",component:"p",textAlign:"center",...f?.actionsLabel,sx:s({color:W||!h?w.custom.palette.text.disabled:d(y,w)},f?.actionsLabel?.sx),children:g})})]}),!L&&e(a,{children:k?e(c,{width:24,height:24}):e(n,{id:`${x}-checkbox`,variant:"secondary",checked:!W&&h,disabled:W,checkboxLabel:void 0,inputRef:A,...f?.actionsCheckbox,sx:s({mr:0},f?.actionsCheckbox?.sx)})})]})})})};export{W as default};