@useloops/design-system
Version:
The official React based Loops design system
2 lines (1 loc) • 6.43 kB
JavaScript
"use strict";var e=require("react/jsx-runtime"),r=require("@mui/material"),t=require("react"),i=require("../../../utils/breakpoint.hook.js"),o=require("../../../utils/screen.hook.js");require("../../BrandCore/colorRamps.js");var a=require("../../BrandCore/primitiveVariables.js");require("../../BrandCore/semanticColor.js"),require("../../BrandCore/types.js"),require("../../BrandCore/typography.js"),require("../../BrandCore/Icon/Icon.js"),require("../../../utils/formValidation/misc.js");var s=require("../../WebCore/utils/typography.util.js");require("../../WebCore/AnnualController/AnnualController.js"),require("../../WebCore/Accordion/Accordion.js");var u=require("../../WebCore/Typography/Typography.js");require("merge-sx"),require("../../WebCore/Badge/Badge.js"),require("../../WebCore/Breadcrumb/Breadcrumb.js");var n=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"),require("../../WebCore/IconButton/IconButton.js"),require("../../WebCore/IconButtonBase/IconButtonBase.js"),require("../../WebCore/IconButtonGroup/IconButtonGroup.js"),require("../../WebCore/Image/Image.js");var l=require("../../WebCore/Label/Label.js");require("../../WebCore/Likert/LikertContainer.js"),require("../../WebCore/Likert/LikertLabel.js"),require("../../WebCore/Likert/LikertRadio.js");var d=require("../../WebCore/Link/Link.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("../../WebCore/Progress/Progress.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 b=require("./FeatureListItem.js"),c=require("./PlanTierCardContainers.js"),j=require("./PlanTierCardSkeleton.js"),C=require("./RespondentPricingCard.js"),p=require("./SavingsPill.js");module.exports=({amount:q,billingType:h,body:g,bordered:m,ctaEvent:W=()=>{},ctaLink:f="#",ctaTarget:y="_self",ctaText:x,ctaVariation:B="primary",currencySymbol:S,currentPlan:k,featuresHeading:I,features:v=[],featuresIcon:L,heading:T,label:R,loading:H,respondentsTitle:P,respondentsFeatures:M,respondentsFeaturesIcon:F,saving:A,sectionHeights:w,updateSectionHeight:E,syncHeightsOnBreakpoints:G})=>{const N=r.useTheme(),V=i.useBreakpoint(),{width:D}=o.useScreenSize(),O=t.useRef(null),z=t.useRef(null),$=t.useRef(null),_=t.useRef(null);return H?e.jsx(j,{}):(t.useEffect(()=>{t.startTransition(()=>{if(w&&E){const e=[{ref:O,key:"headerHeight"},{ref:z,key:"bodyHeight"},{ref:$,key:"respondentCardHeight"},{ref:_,key:"bottomHeight"}];G?.includes(V)?e.forEach(({ref:e,key:r})=>{e.current?.offsetHeight&&e.current.offsetHeight>w[r]&&E(r,e.current.offsetHeight)}):e.forEach(({key:e})=>{0!==w[e]&&E(e,0)})}})},[V,G,D,E]),e.jsxs(c.default.PlanTierCard,{bordered:m,children:[e.jsxs(c.default.Top,{children:[e.jsxs(c.default.Head,{ref:O,height:w?.headerHeight,children:[e.jsxs(c.default.PlanTitle,{children:[e.jsx(u,{variation:"lg",component:"h1",weight:"bold",children:T}),R&&e.jsx(l,{body:R,weight:"heavy",sx:{height:3*a.base,backgroundColor:e=>e.custom.palette.icon.primary,color:e=>e.custom.palette.text.primaryInverted,"& .MuiChip-label":{fontSize:`${s.typographyVariantMap.lg.body.xxs}`}}})]}),e.jsxs(c.default.Billing,{children:[e.jsx(c.default.Price,{children:e.jsxs(u,{variation:"xxl",component:"p",weight:"bold",children:[S,q]})}),h&&e.jsx(u,{variation:"sm",component:"p",sx:{color:N.custom.palette.text.secondary},children:h})]}),A&&e.jsx(p,{body:A,weight:"heavy"})]}),e.jsx(c.default.Body,{ref:z,height:w?.bodyHeight,children:g}),P&&e.jsx(C,{ref:$,height:w?.respondentCardHeight,respondentsTitle:P,respondentsFeatures:M,featuresIcon:F})]}),e.jsxs(c.default.Bottom,{ref:_,height:w?.bottomHeight,children:[v?.length&&e.jsxs(c.default.FeatureList,{children:[I&&e.jsx(u,{component:"p",variation:"sm",weight:"bold",mr:"auto",children:I}),v.map((r,t)=>e.jsx(b,{feature:r,featuresIcon:L},`${T}-feature-${t}`))]}),!k&&e.jsx(d,{href:f,title:x,target:y,onClick:()=>{T&&W(T)},sx:{"&:hover":{cursor:"pointer"}},children:e.jsx(n,{fullWidth:!0,variation:B,sizing:"lg",disabled:k,children:x})})]})]}))};