UNPKG

@useloops/design-system

Version:

The official React based Loops design system

2 lines (1 loc) 5.96 kB
import{jsxs as e,jsx as o}from"react/jsx-runtime";import{useTheme as t,Box as r,List as i,ListItem as a,ListItemText as p}from"@mui/material";import{useState as n,useRef as s,useEffect as m,cloneElement as l}from"react";import"../../../utils/formValidation/misc.js";import"../../BrandCore/Icon/Icon.js";import"../../BrandCore/primitiveVariables.js";import"../../WebCore/utils/typography.util.js";import"../../WebCore/AnnualController/AnnualController.js";import"../../WebCore/SelectItem/SelectItem.js";import"../../WebCore/Accordion/Accordion.js";import"../../WebCore/Animations/FadeIn.js";import d from"../../WebCore/Typography/Typography.js";import"@mui/icons-material";import"../../WebCore/AutocompleteBaseField/_partials/AutocompleteListbox.js";import"../../WebCore/AutocompleteBaseField/_partials/StyledPopper.js";import"../../WebCore/AutocompleteBaseField/_partials/StyledAutocompleteField.js";import"../../WebCore/AutocompleteBaseField/_partials/AutocompleteChip.js";import"../../WebCore/AutocompleteBaseField/_partials/StyledAutocompleteInput.js";import"merge-sx";import"../../WebCore/Badge/Badge.js";import"../../WebCore/Breadcrumb/Breadcrumb.js";import"../../WebCore/Button/Button.js";import"../../WebCore/ButtonBase/ButtonBase.js";import"../../WebCore/ButtonTabGroup/_partials/ActiveIndicator.js";import"../../WebCore/ButtonTabGroup/_partials/ButtonTabsWrapper.js";import"../../WebCore/ButtonTabGroup/_partials/TabButton.js";import"../../WebCore/Checkbox/StyledCheckbox.js";import"../../WebCore/InputFieldBase/InputFieldBase.js";import"../../WebCore/CreatableAutocomplete/CreatableAutocomplete.js";import"../../WebCore/InputLabelBase/StyledInputLabelBase.js";import"../../WebCore/Differential/DifferentialContainer.js";import"../../WebCore/Differential/DifferentialRadio.js";import"../../WebCore/DropdownMenu/StyledMenu.js";import"../../WebCore/ExpandableTypographyClamp/ExpandableTypographyClamp.js";import"../../WebCore/FormGenerator/FormGenerator.js";import"../../WebCore/GridOverlay/GridOverlay.js";import"html-react-parser";import"../../WebCore/IconButton/IconButton.js";import"../../WebCore/IconButtonBase/IconButtonBase.js";import"../../WebCore/IconButtonGroup/IconButtonGroup.js";import"../../WebCore/Image/Image.js";import"../../WebCore/KbdGroup/Kbd.js";import"../../WebCore/KbdGroup/KbdGroup.js";import"../../WebCore/KeyValueLabel/KeyValueLabel.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"../../BrandCore/colorRamps.js";import"../../BrandCore/semanticColor.js";import"../../BrandCore/types.js";import"../../BrandCore/typography.js";import"../../WebCore/Progress/Progress.js";import"../../WebCore/Pill/StyledPill.js";import"../../WebCore/ProgressBar/ProgressBar.js";import"../../WebCore/Radio/StyledRadio.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"../AiContentContainer/AiContentContainer.js";import C from"../PaginationControl/PaginationControl.js";const c=({comments:c,themeDescription:u,slotProps:j,suggestions:W,activeCommentIndex:g,onActiveCommentIndexChange:h})=>{const[B,y]=n(0),S=t(),I=s(null),[L,f]=n("auto"),x=g??B,A=e=>{h&&h(e),void 0===g&&y(e)};m(()=>{if(!I.current)return;const e=I.current.scrollHeight;f(e)},[x]);const k=c?.length?c[x]:void 0,v=k?l(k,{ref:I}):void 0;return e(b,{slotProps:{childrenContainer:{display:"flex",flexDirection:"column",gap:S.spacing(S.custom.padding.md)}},withLockUp:!0,...j?.aiContentContainer,children:[o(d,{component:"p",variation:"sm",children:u}),!!c?.length&&o(r,{children:o(C,{items:Array.from({length:c?.length},(e,o)=>o.toString()),activeItem:x.toString(),onClickNext:()=>{x+1===c.length?A(0):A(x+1)},onClickPrevious:()=>{A(0===x?c.length-1:x-1)},renderTitle:o(d,{component:"p",variation:"sm",weight:"bold",children:"Key comments"}),children:o(r,{sx:{overflow:"hidden",height:"auto"===L?"auto":`${L}px`,transition:"height 0.1s ease-in-out",boxShadow:S.custom.elevation.raised,borderRadius:S.spacing(S.custom.radius.md),width:"100%"},children:v})})}),!!W?.length&&e(r,{children:[o(d,{component:"p",variation:"sm",weight:"bold",children:"Ideas to consider"}),o(i,{sx:{listStyleType:"disc",padding:`${S.spacing(S.custom.padding.sm)} 0 0 ${S.spacing(S.custom.padding.md+S.custom.padding.sm)}`},children:W.map((e,t)=>o(a,{sx:{display:"list-item",padding:0},children:o(p,{disableTypography:!0,primary:o(d,{component:"p",variation:"sm",children:e})})},`${t}-suggestion`))})]})]})};export{c as default};