@useloops/design-system
Version:
The official React based Loops design system
2 lines (1 loc) • 6.9 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("../../../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/SelectItem/SelectItem.js"),require("../../WebCore/Accordion/Accordion.js"),require("../../WebCore/Animations/FadeIn.js");var a=require("../../WebCore/Typography/Typography.js");require("@mui/icons-material"),require("../../WebCore/AutocompleteBaseField/_partials/AutocompleteListbox.js"),require("../../WebCore/AutocompleteBaseField/_partials/StyledPopper.js"),require("../../WebCore/AutocompleteBaseField/_partials/StyledAutocompleteField.js"),require("../../WebCore/AutocompleteBaseField/_partials/AutocompleteChip.js"),require("../../WebCore/AutocompleteBaseField/_partials/StyledAutocompleteInput.js"),require("merge-sx"),require("../../WebCore/Badge/Badge.js"),require("../../WebCore/Breadcrumb/Breadcrumb.js");var s=require("../../WebCore/Button/Button.js");require("../../WebCore/ButtonBase/ButtonBase.js"),require("../../WebCore/ButtonTabGroup/_partials/ActiveIndicator.js"),require("../../WebCore/ButtonTabGroup/_partials/ButtonTabsWrapper.js"),require("../../WebCore/ButtonTabGroup/_partials/TabButton.js"),require("../../WebCore/Checkbox/StyledCheckbox.js"),require("../../WebCore/InputFieldBase/InputFieldBase.js"),require("../../WebCore/CreatableAutocomplete/CreatableAutocomplete.js"),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/KbdGroup/Kbd.js"),require("../../WebCore/KbdGroup/KbdGroup.js"),require("../../WebCore/KeyValueLabel/KeyValueLabel.js");var u=require("../../WebCore/Label/Label.js");require("../../WebCore/Likert/LikertContainer.js"),require("../../WebCore/Likert/LikertLabel.js"),require("../../WebCore/Likert/LikertRadio.js");var n=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("../../BrandCore/colorRamps.js"),require("../../BrandCore/semanticColor.js"),require("../../BrandCore/types.js"),require("../../BrandCore/typography.js"),require("../../WebCore/Progress/Progress.js"),require("../../WebCore/Pill/StyledPill.js"),require("../../WebCore/ProgressBar/ProgressBar.js"),require("../../WebCore/Radio/StyledRadio.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 l=require("./FeatureListItem.js"),d=require("./PlanTierCardContainers.js"),b=require("./PlanTierCardSkeleton.js"),c=require("./RespondentPricingCard.js"),p=require("./SavingsPill.js");module.exports=({amount:j,billingType:C,body:q,bordered:h,ctaEvent:W=()=>{},ctaLink:m="#",ctaTarget:g="_self",ctaText:f,ctaVariation:y="primary",currencySymbol:B,currentPlan:x,featuresHeading:S,features:k=[],featuresIcon:I,heading:T,label:L,loading:v,respondentsTitle:A,respondentsFeatures:F,respondentsFeaturesIcon:R,saving:H,sectionHeights:P,updateSectionHeight:G,syncHeightsOnBreakpoints:M})=>{const _=r.useTheme(),w=i.useBreakpoint(),{width:E}=o.useScreenSize(),V=t.useRef(null),K=t.useRef(null),N=t.useRef(null),D=t.useRef(null);return v?e.jsx(b,{}):(t.useEffect(()=>{t.startTransition(()=>{if(P&&G){const e=[{ref:V,key:"headerHeight"},{ref:K,key:"bodyHeight"},{ref:N,key:"respondentCardHeight"},{ref:D,key:"bottomHeight"}];M?.includes(w)?e.forEach(({ref:e,key:r})=>{e.current?.offsetHeight&&e.current.offsetHeight>P[r]&&G(r,e.current.offsetHeight)}):e.forEach(({key:e})=>{0!==P[e]&&G(e,0)})}})},[w,M,E,G]),e.jsxs(d.default.PlanTierCard,{bordered:h,children:[e.jsxs(d.default.Top,{children:[e.jsxs(d.default.Head,{ref:V,height:P?.headerHeight,children:[e.jsxs(d.default.PlanTitle,{children:[e.jsx(a,{variation:"lg",component:"h1",weight:"bold",children:T}),L&&e.jsx(u,{body:L,weight:"heavy",sizing:"xxs",colorScheme:"purple",tone:900})]}),e.jsxs(d.default.Billing,{children:[e.jsx(d.default.Price,{children:e.jsxs(a,{variation:"xxl",component:"p",weight:"bold",children:[B,j]})}),C&&e.jsx(a,{variation:"sm",component:"p",sx:{color:_.custom.palette.text.secondary},children:C})]}),H&&e.jsx(p,{body:H,weight:"heavy"})]}),e.jsx(d.default.Body,{ref:K,height:P?.bodyHeight,children:q}),A&&e.jsx(c,{ref:N,height:P?.respondentCardHeight,respondentsTitle:A,respondentsFeatures:F,featuresIcon:R})]}),e.jsxs(d.default.Bottom,{ref:D,height:P?.bottomHeight,children:[k?.length&&e.jsxs(d.default.FeatureList,{children:[S&&e.jsx(a,{component:"p",variation:"sm",weight:"bold",mr:"auto",children:S}),k.map((r,t)=>e.jsx(l,{feature:r,featuresIcon:I},`${T}-feature-${t}`))]}),!x&&e.jsx(n,{href:m,title:f,target:g,onClick:()=>{T&&W(T)},sx:{"&:hover":{cursor:"pointer"}},children:e.jsx(s,{fullWidth:!0,variation:y,sizing:"lg",disabled:x,children:f})})]})]}))};