UNPKG

@useloops/design-system

Version:

The official React based Loops design system

2 lines (1 loc) 6.46 kB
import{jsx as e,jsxs as o}from"react/jsx-runtime";import{useTheme as t,Box as r,Stack as i}from"@mui/material";import{usePopupState as a}from"material-ui-popup-state/hooks";import{mergeSx as p}from"merge-sx";import{memo as s}from"react";import n from"@number-flow/react";import"../../BrandCore/colorRamps.js";import"../../BrandCore/primitiveVariables.js";import"../../BrandCore/semanticColor.js";import"../../BrandCore/types.js";import"../../BrandCore/typography.js";import l from"../../BrandCore/Icon/Icon.js";import"../../../utils/formValidation/misc.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 m 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"../../WebCore/Badge/Badge.js";import"../../WebCore/Breadcrumb/Breadcrumb.js";import d from"../../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 u from"../../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 b from"../../WebCore/Menu/Menu.js";import"../../WebCore/ModalLayout/_partials/ModalActionsWrapper.js";import"../../WebCore/ModalLayout/_partials/ModalContentWrapper.js";import"../../WebCore/Surface/Surface.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/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 c from"../../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";const C=s(({handleNavigateRegion:s,questionMenuItems:C,questionTitle:j,currentRegionIndex:W=0,loading:g,popperState:h,slotProps:B})=>{const f=t(),y=h||a({variant:"popper"});return g?e(c,{width:"30%",height:32,sx:{borderRadius:f.spacing(f.custom.radius.md)}}):o(r,{sx:{width:"100%",display:"flex",alignItems:"center",justifyContent:"space-between",gap:f.custom.padding.md},children:[e(r,{sx:{minWidth:0},children:e(b,{showItemNumbers:!0,width:300,offset:[0,8],placement:"bottom-start",state:y,slotProps:{surface:{sx:p({overflowY:"auto",paddingRight:0,"& .MuiButton-root":{height:40,borderRadius:0},"& .MuiTypography-root":{px:f.spacing(f.custom.padding.xs)}},B?.surface?.sx)}},trigger:e(d,{sx:{overflow:"hidden",flex:1,">div":{flex:"0 1 auto",textWrap:"nowrap",overflow:"hidden",minWidth:0,textOverflow:"ellipsis",whiteSpace:"nowrap"},">span":{flex:"0 0 auto"},fontVariantNumeric:"tabular-nums"},sizing:"lg",variation:"secondary",endIcon:y.isOpen?e(l,{name:"chevron-up"}):e(l,{name:"chevron-down"}),children:j}),menuItems:C})}),o(i,{direction:"row",alignItems:"center",gap:f.spacing(f.custom.margin.md),sx:{flex:"0 0 auto",minWidth:0},children:[e(r,{children:o(m,{monospaced:!0,component:"p",variation:"xs",color:f.custom.palette.text.secondary,sx:{"& strong":{color:f.custom.palette.text.primary,fontWeight:500}},children:[e("strong",{children:e(n,{value:(W||0)+1})})," ","of ",C?.length||0]})}),e(r,{sx:{display:"flex",alignItems:"center"},children:o(i,{direction:"row",spacing:.5,children:[e(u,{icon:e(l,{name:"arrow-left"}),shape:"round",variation:"toggle",sizing:"lg",disabled:W+1===1,onClick:()=>s(-1),sx:{"&.MuiIconButton-root.MuiButtonBase-root":{backgroundColor:f.custom.palette.purple[0],"&:hover:before":{backgroundColor:f.custom.palette.interaction.hover}}}}),e(u,{icon:e(l,{name:"arrow-right"}),shape:"round",variation:"toggle",sizing:"lg",disabled:W+1===C?.length,onClick:()=>s(1),sx:{"&.MuiIconButton-root.MuiButtonBase-root":{backgroundColor:f.custom.palette.purple[0],"&:hover:before":{backgroundColor:f.custom.palette.interaction.hover}}}})]})})]})]})});export{C as default};