UNPKG

@useloops/design-system

Version:

The official React based Loops design system

2 lines (1 loc) 7.34 kB
"use strict";var e=require("react/jsx-runtime"),r=require("@mui/material"),t=require("material-ui-popup-state/hooks"),o=require("react"),i=require("../../../utils/isButton.js");require("../../BrandCore/colorRamps.js"),require("../../BrandCore/primitiveVariables.js"),require("../../BrandCore/semanticColor.js"),require("../../BrandCore/types.js"),require("../../BrandCore/typography.js");var a=require("../../BrandCore/Icon/Icon.js");require("../../../utils/formValidation/misc.js"),require("../../WebCore/utils/typography.util.js"),require("../../WebCore/AnnualController/AnnualController.js"),require("../../WebCore/Accordion/Accordion.js");var s=require("../../WebCore/Typography/Typography.js"),n=require("../../WebCore/Avatar/Avatar.js");require("../../WebCore/Badge/Badge.js"),require("merge-sx"),require("../../WebCore/Breadcrumb/Breadcrumb.js");var l=require("../../WebCore/Button/Button.js");require("../../WebCore/ButtonBase/ButtonBase.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");var u=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");var c=require("../../WebCore/Menu/Menu.js");require("../../WebCore/ModalLayout/_partials/ModalActionsWrapper.js"),require("../../WebCore/ModalLayout/_partials/ModalContentWrapper.js"),require("../../WebCore/Surface/Surface.js"),require("../../WebCore/NavigationButton/NavigationButton.js"),require("../../WebCore/Nudge/NudgeButton.js"),require("../../WebCore/NumberField/NumberField.js"),require("../../WebCore/Progress/Progress.js");var p=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"),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("../ClipboardCopyingOverlay/ClipboardCopyingOverlay.js"),m=require("../SentimentArrow/SentimentArrow.js"),C=require("./_partials/Containers.js");const j=e=>{const t=r.useTheme();if(!e)return t.custom.palette.neutral[200];return`hsl(${(e=>{let r=0;for(let t=0;t<e.length;t++)r=e.charCodeAt(t)+((r<<5)-r);return Math.abs(r)%360})(e)}, 100%, 75%)`},b=o.forwardRef(({author:b,authorId:q,timeStamp:x,onTimeStampClick:g,copyLoading:W,favouriteLoading:y,isActive:S,isHovered:h,isStarred:B,moreMenuItems:f,moreMenuState:v,onClick:k,onFavouritePress:I,onMorePress:L,original:M,sentimentScore:A,translation:T,translationError:w,slotProps:R,demographicString:P,onClickSeeMore:F},G)=>{const O=r.useTheme(),[z,N]=o.useState(!T),D=matchMedia("(hover: none)").matches,[E,V]=o.useState(h||D),H=t.usePopupState({variant:"popper"});return o.useEffect(()=>{H.close()},[E]),e.jsxs(C.CommentCardContainer,{ref:G,onMouseOver:()=>V(!0),onMouseOut:()=>V(!1),isActive:S,isHovered:h,onClick:e=>{i.isButton(e.target)||k?.()},children:[W&&e.jsx(d,{}),e.jsxs(r.Box,{sx:{alignItems:"start",display:"flex",gap:O.spacing(O.custom.padding.md),justifyContent:"space-between"},children:[b&&e.jsxs(r.Box,{sx:{alignItems:"flex-start",display:"flex",gap:O.spacing(O.custom.padding.sm)},children:[e.jsx(n,{sizing:"xs",sx:{backgroundColor:j(q??b),color:O.custom.palette.text.primary},children:e.jsx(s,{component:"p",weight:"bold",sx:{lineHeight:1,fontSize:"16px",position:"relative",top:"-1px"},children:b?.substring(0,1)})}),e.jsxs(r.Box,{sx:{alignItems:"center",display:"flex",flexWrap:"wrap",columnGap:O.spacing(O.custom.padding.sm),rowGap:O.spacing(O.custom.padding.xs)},children:[e.jsx(s,{component:"p",variation:"xs",color:O.custom.palette.text.primary,fontWeight:500,children:b}),e.jsx(m,{sentimentScore:A,commentCard:!0}),x&&e.jsx(l,{sizing:"xs",variation:"subtle",onClick:g,sx:{color:O.custom.palette.text.secondary},children:`at ${x}`})]})]}),e.jsxs(C.CommentActions,{children:[P&&F?e.jsx(p,{message:P,children:e.jsx(u,{icon:e.jsx(a.default,{name:"info",color:O.custom.palette.icon.primary}),sizing:"xs",sx:{opacity:E?1:0},onClick:F})}):null,!w&&T?e.jsx(u,{variation:z?"default":"toggle",icon:e.jsx(a.default,{name:"translate",color:O.custom.palette.icon.primary}),sizing:"xs",onClick:()=>N(!z),sx:{opacity:E?1:0,backgroundColor:"red"}}):null,!!I&&e.jsx(u,{loading:y,sizing:"xs",icon:B?e.jsx(a.default,{name:"star-filled",color:O.custom.palette.yellow[300]}):e.jsx(a.default,{name:"star",color:O.custom.palette.icon.primary}),onClick:e=>{e.stopPropagation(),I?.()},sx:{opacity:B||E?1:0}}),f&&f.length>0&&e.jsx(c.default,{...v&&{state:v},state:H,trigger:e.jsx(u,{sizing:"xs",icon:e.jsx(a.default,{name:"more-vertical",color:O.custom.palette.icon.primary}),onClick:()=>L?.(),sx:{opacity:E?1:0}}),menuItems:f,width:128,offset:[0,-8],placement:"bottom-end",slotProps:{...R?.menu}})]})]}),e.jsx(r.Box,{sx:{alignItems:"start",display:"flex",gap:O.spacing(O.custom.padding.sm),justifyContent:"space-between"},children:e.jsxs(r.Stack,{sx:{alignItems:"start",gap:O.spacing(O.custom.padding.xs),pl:O.spacing(4),pr:O.spacing(3)},children:[e.jsx(s,{component:"p",variation:"sm",color:O.custom.palette.text.primary,className:"message",children:!T||z?M:T}),w?e.jsx(s,{component:"p",variation:"xs",color:O.custom.palette.text.disabled,children:w}):null]})})]})});module.exports=b;