@useloops/design-system
Version:
The official React based Loops design system
2 lines (1 loc) • 5.86 kB
JavaScript
import{jsxs as e,Fragment as t,jsx as o}from"react/jsx-runtime";import{styled as r,Box as i,Container as a,Grid as n}from"@mui/material";import{mergeSx as s}from"merge-sx";import l from"../../BrandCore/Icon/Icon.js";import"../../../utils/formValidation/misc.js";import"../../BrandCore/primitiveVariables.js";import{fontSizemap as p}from"../../WebCore/utils/typography.util.js";import"../../WebCore/AnnualController/AnnualController.js";import"../../WebCore/Accordion/Accordion.js";import m from"../../WebCore/Typography/Typography.js";import"../../WebCore/Badge/Badge.js";import c from"../../WebCore/Breadcrumb/Breadcrumb.js";import"../../WebCore/Button/Button.js";import"../../WebCore/ButtonBase/ButtonBase.js";import"../../WebCore/Checkbox/StyledCheckbox.js";import"../../WebCore/InputFieldBase/InputFieldBase.js";import"../../WebCore/CreatableAutocomplete/CreatableAutocomplete.js";import"@mui/icons-material";import"../../WebCore/InputLabelBase/StyledInputLabelBase.js";import"../../WebCore/Differential/DifferentialContainer.js";import"../../WebCore/Differential/DifferentialRadio.js";import"../../WebCore/DropdownMenu/StyledMenu.js";import"react";import"../../WebCore/ExpandableTypographyClamp/ExpandableTypographyClamp.js";import"../../WebCore/FormGenerator/FormGenerator.js";import"../../WebCore/GridOverlay/GridOverlay.js";import"html-react-parser";import d from"../../WebCore/IconButton/IconButton.js";import"../../WebCore/IconButtonBase/IconButtonBase.js";import"../../WebCore/IconButtonGroup/IconButtonGroup.js";import"../../WebCore/Image/Image.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/utils/autocomplete.styles.js";import"../../WebCore/Select/AutocompleteListbox.js";import"../../WebCore/Select/StyledAutocomplete.js";import"../../WebCore/Select/SelectItem.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 b 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=({backAction:r,title:C,showEditTitleOnlyOnHover:y=!0,breadcrumbLinks:B,buttons:f,controlBar:x,sx:S,slotProps:I,loading:k})=>{const L={...I,container:{maxWidth:!1,...I?.container}};return e(t,{children:[o(u,{sx:s({justifyContent:"space-between",position:"sticky",top:"0",zIndex:999},S),children:o(a,{...L.container,children:o(n,{container:!0,spacing:2,children:o(n,{size:12,children:e(h,{sx:{justifyContent:"space-between",py:1,height:61},children:[e(h,{children:[void 0!==r&&o(d,{sizing:"lg",icon:o(l,{name:"arrow-left",size:20}),sx:{color:e=>e.custom.palette.icon.primary},onClick:r}),e(h,{sx:{alignItems:"flex-start",flexDirection:"column",gap:0},children:[C&&e(i,{sx:{display:"flex",alignItems:"center",gap:1,...y&&{":hover .Header__TitleIconButton":{opacity:1}}},children:[k?o(b,{width:256,sx:{fontSize:p.lg,lineHeight:1.4}}):o(m,{variation:"lg",component:"p",weight:"bold",children:C}),void 0!==L?.titleIconButton?.onClick&&o(d,{icon:o(l,{name:"edit"}),sizing:"md",sx:{my:"-4px",...y&&{opacity:0,transition:"opacity 0.3s ease"}},className:"Header__TitleIconButton",...L?.titleIconButton})]}),B&&o(t,{children:k?o(b,{width:200,height:17,sx:{fontSize:p.lg,lineHeight:1.4,mt:.5}}):o(c,{links:B})})]})]}),f&&o(h,{children:f})]})})})})}),x&&o(j,{children:o(a,{...L.container,children:o(n,{container:!0,spacing:2,children:o(n,{size:12,children:o(W,{children:o(g,{children:x})})})})})})]})},u=r(i)(({theme:e})=>({alignItems:"center",backgroundColor:e.custom.palette.surface.default,borderBottom:`1px solid ${e.custom.palette.stroke.light}`,display:"flex",gap:e.spacing(1),justifyContent:"space-between",padding:1,height:61})),j=r(i)(({theme:e})=>({borderBottom:`1px solid ${e.custom.palette.stroke.light}`,width:"100%"})),W=r(i)(({theme:e})=>({display:"flex",justifyContent:"flex-end",padding:`${e.spacing(1)} 0`})),g=r(i)(({theme:e})=>({backgroundColor:e.custom.palette.surface.sunken,borderRadius:e.spacing(e.custom.radius.lg),display:"flex",gap:e.spacing(.5),justifyContent:"flex-end",padding:e.spacing(1)})),h=r(i)(({theme:e})=>({alignItems:"center",display:"flex",gap:e.spacing(1)}));export{C as default};