UNPKG

@cloudquery/plugin-config-ui-lib

Version:

Plugin configuration UI library for CloudQuery Cloud App

3 lines (2 loc) 4.82 kB
import{_ as i,a as m,C as r}from"./index-Cp5NEiRe.js";import{jsx as t,jsxs as e,Fragment as o}from"react/jsx-runtime";import{forwardRef as a,useState as l,useRef as n,useEffect as u,useCallback as p}from"react";import{loader as s,Editor as c}from"@monaco-editor/react";import{FormControl as d,FormLabel as g,FormHelperText as h,CircularProgress as b,Box as C}from"@mui/material";import f from"@mui/material/Stack";import*as v from"monaco-editor";import{configureMonacoYaml as y}from"monaco-yaml";import"@mui/material/Button";import"@mui/material/Tooltip";import"@mui/icons-material/Close";import"@mui/icons-material/ExpandMore";import"@mui/material/Accordion";import"@mui/material/AccordionSummary";import"@mui/material/Alert";import"@mui/material/AlertTitle";import"@mui/material/Card";import"@mui/material/CardContent";import"@mui/material/LinearProgress";import"@mui/material/Typography";import"@mui/material/styles";import"@mui/icons-material/Download";import"@mui/material/Box";import"@mui/material/MenuItem";import"react-dom";import"@mui/material/Backdrop";import"@mui/material/CircularProgress";import"@mui/material/IconButton";import"@mui/material/Modal";import"@mui/icons-material/Link";import"@mui/material/Divider";import"@mui/material/Link";import"@mui/icons-material/ContentCopy";import"@mui/icons-material/ContentCopyRounded";import"@mui/material/Tab";import"@mui/material/Tabs";import"yup";import"@mui/icons-material/ChevronRight";import"@mui/material/Step";import"@mui/material/StepLabel";import"@mui/material/Stepper";import"@mui/material/CardHeader";import"@mui/material/List";import"@mui/material/ListItem";import"@mui/material/FilledInput";import"@mui/material/FormLabel";import"@mui/material/InputLabel";import"@mui/material/OutlinedInput";import"@mui/material/PaginationItem";import"@mui/material/TableCell";import"@mui/material/TableRow";import"@mui/lab/themeAugmentation";import"@mui/material/colors";import"@emotion/cache";import"@emotion/react";import"@mui/material/CssBaseline";import"@mui/material/FormHelperText";import"@mui/material/TextField";import"@mui/icons-material";import"@mui/material/Skeleton";import"@mui/material/AccordionDetails";import"@mui/icons-material/Check";import"@mui/material/FormControl";import"@mui/material/Checkbox";import"@mui/material/FormControlLabel";import"@mui/material/Switch";import"@mui/material/Autocomplete";import"@mui/material/InputBase";import"@mui/x-date-pickers/AdapterDayjs";import"@mui/x-date-pickers/DateTimeField";import"@mui/x-date-pickers/LocalizationProvider";import"@mui/x-date-pickers";import"@mui/material/Radio";import"@mui/material/ToggleButton";import"@mui/material/ToggleButtonGroup";import"@mui/icons-material/FilterAlt";import"@mui/material/Menu";import"@mui/material/RadioGroup";import"@mui/icons-material/Search";const x=a(((a,x)=>{var{onMount:T,options:F={},yamlSchema:k,container:S,name:L,label:M,helperText:A}=a,I=i(a,["onMount","options","yamlSchema","container","name","label","helperText"]);const[j,B]=l(!0),[D,w]=l(!1),R=n();u((()=>{s.config({monaco:v}),w(!0)}),[]);const O=p(((i,r)=>m(void 0,void 0,void 0,(function*(){if(x&&("function"==typeof x?x(i):x.current=i),r.editor.defineTheme("custom-theme",{base:"vs-dark",colors:{"editor.background":"#15202E","editor.foreground":"#FFFFFF"},inherit:!0,rules:[]}),r.editor.setTheme("custom-theme"),"yaml"===I.language&&k){const{dispose:i}=y(r,{schemas:[{fileMatch:["*"],schema:k,uri:"inmemory://my-schema.json"}],validate:!1});R.current=i}T&&(yield T(i,r)),B(!1)}))),[T,I.language,k,x]);u((()=>()=>{var i;null===(i=R.current)||void 0===i||i.call(R)}),[]);const H=()=>t(f,{width:"100%",alignItems:"center",justifyContent:"center",padding:2,children:t(b,{})});return D?e(d,{sx:Object.assign({height:"300px",minHeight:0,border:"1px solid",borderColor:"neutral.300",borderRadius:1,paddingY:1,paddingX:1.5,bgcolor:"#15202E"},!M&&{"& .monaco-editor":{outline:"none"}}),children:[!!M&&t(g,{sx:{mb:1},children:M}),t(r,{name:L,render:({field:i,fieldState:m})=>{var r,a;return e(o,{children:[!!A&&e(h,{sx:{mb:1.5},children:[!!(null===(r=m.error)||void 0===r?void 0:r.message)&&t(C,{color:"error.main",children:null===(a=m.error)||void 0===a?void 0:a.message}),A]}),e(f,{height:"100%",minHeight:0,sx:{position:"relative",visibility:j?"hidden":"visible"},children:[j&&t(H,{}),t(c,Object.assign({},I,{loading:t(H,{}),onChange:m=>i.onChange(null!=m?m:""),onMount:O,options:Object.assign({automaticLayout:!0,minimap:{enabled:!1},quickSuggestions:!0,suggestOnTriggerCharacters:!0,lineNumbers:"off",folding:!1,lineDecorationsWidth:0,lineNumbersMinChars:0,glyphMargin:!1,scrollbar:{alwaysConsumeMouseWheel:!1},overflowWidgetsDomNode:S},F),value:i.value}))]})]})}})]}):t(H,{})}));x.displayName="ControlCodeField";export{x as ControlCodeField}; //# sourceMappingURL=controlCodeField-8vxBrWZ7.js.map