@useloops/design-system
Version:
The official React based Loops design system
2 lines (1 loc) • 5.99 kB
JavaScript
"use strict";var e=require("react/jsx-runtime"),r=require("@mui/material"),o=require("merge-sx"),i=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/Accordion/Accordion.js");var t=require("../../../../WebCore/Typography/Typography.js");require("../../../../WebCore/Badge/Badge.js"),require("../../../../WebCore/Breadcrumb/Breadcrumb.js"),require("../../../../WebCore/Button/Button.js"),require("../../../../WebCore/ButtonBase/ButtonBase.js");var a=require("../../../../WebCore/Checkbox/Checkbox.js");require("../../../../WebCore/Checkbox/StyledCheckbox.js"),require("../../../../WebCore/InputFieldBase/InputFieldBase.js"),require("../../../../WebCore/CreatableAutocomplete/CreatableAutocomplete.js"),require("@mui/icons-material"),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/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 s=require("../../../../WebCore/Tooltip/Tooltip.js");require("../../../../WebCore/Pill/StyledPill.js"),require("../../../../WebCore/ProgressBar/ProgressBar.js"),require("../../../../WebCore/Radio/StyledRadio.js"),require("../../../../WebCore/utils/autocomplete.styles.js"),require("../../../../WebCore/Select/AutocompleteListbox.js"),require("../../../../WebCore/Select/StyledAutocomplete.js"),require("../../../../WebCore/Select/SelectItem.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 l=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 u=require("../../utils/getIndicatorColor.js"),n=require("../StyledComponents.js");module.exports=({disabled:b,checked:c,label:d,toolTipContent:C,id:p,onChange:j,color:q,loading:m,slotProps:W={},hideCheckboxes:x,hideLabels:h,hideColorIndicators:g,disableTooltips:S})=>{const B=r.useTheme(),y=i.useRef(null),k=i.useCallback(()=>{!b&&j&&j(p,!c)},[b,j,c]),L=x&&h&&g,I=b||m||S||!C;return!L&&e.jsx(n.LikertActionControllerWrapper,{disabled:b||m,onClick:k,children:e.jsx(s,{followCursor:!0,message:C,disableHoverListener:I||L,...W?.actionsTooltip,slotProps:{wrapper:{sx:{width:"100%",height:"100%",padding:L?0:`${B.spacing(B.custom.margin.sm)} ${B.spacing(B.custom.margin.xs)}`,flexDirection:"column",display:"flex",alignItems:"center",justifyContent:"space-between",gap:B.spacing(B.custom.margin.md),...W?.actionsTooltip?.slotProps?.wrapper?.sx}}},children:e.jsxs(e.Fragment,{children:[e.jsxs(r.Stack,{gap:B.spacing(B.custom.margin.xs),sx:{width:1,alignItems:"center"},children:[!g&&e.jsx(n.SwatchIndicator,{sx:{...W?.actionsSwatchIndicator?.sx},color:b||m?B.custom.palette.interaction.disabled:c?q:B.custom.palette.neutral[100]}),!h&&e.jsx(n.LikertGraphLabel,{children:m?e.jsx(l,{width:50,height:20}):e.jsx(t,{variation:"sm",component:"p",textAlign:"center",...W?.actionsLabel,sx:o.mergeSx({color:b||!c?B.custom.palette.text.disabled:u.getTextColor(q,B)},W?.actionsLabel?.sx),children:d})})]}),!x&&e.jsx(r.Box,{children:m?e.jsx(l,{width:24,height:24}):e.jsx(a,{id:`${p}-checkbox`,variant:"secondary",checked:!b&&c,disabled:b,checkboxLabel:void 0,inputRef:y,...W?.actionsCheckbox,sx:o.mergeSx({mr:0},W?.actionsCheckbox?.sx)})})]})})})};