UNPKG

@useloops/design-system

Version:

The official React based Loops design system

2 lines (1 loc) 6.35 kB
import{jsxs as e,jsx as o}from"react/jsx-runtime";import{styled as r,Box as t,useTheme as i,Stack as a,boxClasses as s}from"@mui/material";import p from"@number-flow/react";import"../../BrandCore/colorRamps.js";import{base as m}from"../../BrandCore/primitiveVariables.js";import"../../BrandCore/semanticColor.js";import"../../BrandCore/types.js";import"../../BrandCore/typography.js";import n from"../../BrandCore/Icon/Icon.js";import"../../../utils/formValidation/misc.js";import"../../WebCore/utils/typography.util.js";import"../../WebCore/AnnualController/AnnualController.js";import"../../WebCore/Accordion/Accordion.js";import l from"../../WebCore/Typography/Typography.js";import"merge-sx";import"../../WebCore/Badge/Badge.js";import"../../WebCore/Breadcrumb/Breadcrumb.js";import d from"../../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"react";import"../../WebCore/ExpandableTypographyClamp/ExpandableTypographyClamp.js";import"../../WebCore/FormGenerator/FormGenerator.js";import"../../WebCore/GridOverlay/GridOverlay.js";import c from"../../WebCore/HtmlParser/HtmlParser.js";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"../../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"../../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 b from"../AssetItem/AssetItem.js";import{mapQuestionTypeToLabel as u}from"../utils/mapQuestionTypeToLabel.js";const C=({cardNumber:r,testTitle:m,question:C,questionType:h,subCopy:g,assetThumbnail:x,assetType:y,statTitle:f,statValue:S,onClickAsset:B,resultGraph:k,onClickShowMore:I})=>{const L=i(),{icon:T,label:v}=u(h);return e(j,{children:[e(W,{children:[o(a,{sx:{height:"22px",borderRadius:L.r.md,backgroundColor:L.custom.palette.icon.primary,paddingX:L.p.sm,justifyContent:"center"},children:o(l,{component:"p",variation:"sm",monospaced:!0,textColor:L.custom.palette.text.primaryInverted,children:r})}),o(l,{component:"p",variation:"md",children:m})]}),e(a,{sx:{flexDirection:"row",gap:L.m.xs,borderRadius:L.r.round,border:`1px solid ${L.custom.palette.stroke.light}`,placeSelf:"center",padding:`2px ${L.p.sm}`,alignItems:"center"},children:[o(n,{name:T,size:16}),o(l,{variation:"sm",component:"p",sx:{px:L.p.xs},children:v})]}),e(a,{sx:{gap:L.m.sm,flexDirection:"row",justifyContent:"space-between",paddingX:L.p.md},children:[e(a,{sx:{gap:L.m.sm},children:[o(l,{component:"p",variation:"lg",weight:"bold",clamp:4,children:C}),g&&o(c,{typographyProps:{secondary:!0,variation:"sm",component:"p",clamp:3},children:g})]}),o(t,{sx:{minWidth:"92px",width:"92px",height:"92px",overflow:"hidden",borderRadius:L.r.xs,border:`1px solid ${L.custom.palette.stroke.light}`,boxShadow:L.custom.elevation.raised,[`> .${s.root}`]:{display:"flex",height:"100%"}},children:o(b,{mediaType:y,thumbnail:x,onClick:B})})]}),e(a,{sx:{gap:L.m.xs},children:[e(a,{sx:{placeSelf:"center",alignItems:"center",flexDirection:"row",gap:L.m.sm,height:"18px"},children:[o(l,{component:"p",variation:"xs",children:f}),S&&e(l,{component:"p",variation:"xs",weight:"bold",monospaced:!0,children:[o(p,{value:S,animated:!0,format:{minimumFractionDigits:2,maximumFractionDigits:2}}),"likert"===h&&"%"]})]}),o(t,{sx:{display:"flex",flexDirection:"column",justifyContent:"center",height:"96px",paddingX:L.p.md},children:k})]}),I&&o(d,{sizing:"sm",sx:{placeSelf:"center"},variation:"outlined",endIcon:o(n,{name:"open-in-new"}),onClick:I,children:"View full result"})]})},j=r(t)(({theme:e})=>({backgroundColor:e.custom.palette.surface.default,borderRadius:e.r.lg,boxShadow:e.custom.elevation.raised,minWidth:32*m+"px",maxWidth:64*m+"px",paddingBottom:e.p.md,display:"grid",gridTemplateRows:"auto auto 1fr 118px auto",gap:e.m.md})),W=r(t)(({theme:e})=>({backgroundColor:e.custom.palette.surface.sunken,display:"flex",alignItems:"start",gap:e.m.sm,padding:e.p.md,borderRadius:`${e.r.lg} ${e.r.lg} 0 0`}));export{C as default};