UNPKG

@useloops/design-system

Version:

The official React based Loops design system

2 lines (1 loc) 6.22 kB
"use strict";var e=require("react/jsx-runtime"),r=require("@mui/material"),o=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/SelectItem/SelectItem.js"),require("../../WebCore/Accordion/Accordion.js"),require("../../WebCore/Animations/FadeIn.js");var t=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"),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"),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"),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 i=require("../AiContentContainer/AiContentContainer.js"),a=require("../PaginationControl/PaginationControl.js");module.exports=({comments:s,themeDescription:n,slotProps:u,suggestions:l,activeCommentIndex:d,onActiveCommentIndexChange:b})=>{const[p,C]=o.useState(0),c=r.useTheme(),j=o.useRef(null),[q,m]=o.useState("auto"),W=d??p,g=e=>{b&&b(e),void 0===d&&C(e)};o.useEffect(()=>{if(!j.current)return;const e=j.current.scrollHeight;m(e)},[W]);const h=s?.length?s[W]:void 0,B=h?o.cloneElement(h,{ref:j}):void 0;return e.jsxs(i.default,{slotProps:{childrenContainer:{display:"flex",flexDirection:"column",gap:c.spacing(c.custom.padding.md)}},withLockUp:!0,...u?.aiContentContainer,children:[e.jsx(t,{component:"p",variation:"sm",children:n}),!!s?.length&&e.jsx(r.Box,{children:e.jsx(a,{items:Array.from({length:s?.length},(e,r)=>r.toString()),activeItem:W.toString(),onClickNext:()=>{W+1===s.length?g(0):g(W+1)},onClickPrevious:()=>{g(0===W?s.length-1:W-1)},renderTitle:e.jsx(t,{component:"p",variation:"sm",weight:"bold",children:"Key comments"}),children:e.jsx(r.Box,{sx:{overflow:"hidden",height:"auto"===q?"auto":`${q}px`,transition:"height 0.1s ease-in-out",boxShadow:c.custom.elevation.raised,borderRadius:c.spacing(c.custom.radius.md),width:"100%"},children:B})})}),!!l?.length&&e.jsxs(r.Box,{children:[e.jsx(t,{component:"p",variation:"sm",weight:"bold",children:"Ideas to consider"}),e.jsx(r.List,{sx:{listStyleType:"disc",padding:`${c.spacing(c.custom.padding.sm)} 0 0 ${c.spacing(c.custom.padding.md+c.custom.padding.sm)}`},children:l.map((o,i)=>e.jsx(r.ListItem,{sx:{display:"list-item",padding:0},children:e.jsx(r.ListItemText,{disableTypography:!0,primary:e.jsx(t,{component:"p",variation:"sm",children:o})})},`${i}-suggestion`))})]})]})};