(function(z,G){typeof exports=="object"&&typeof module<"u"?G(exports,require("@graphiql/react"),require("react"),require("graphql")):typeof define=="function"&&define.amd?define(["exports","@graphiql/react","react","graphql"],G):(z=typeof globalThis<"u"?globalThis:z||self,G(z.GraphiQLPluginExplorer={},z.GraphiQL.React,z.React,z.GraphiQL.GraphQL))})(this,function(z,G,N,De){"use strict";function ve(i){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(i){for(const s in i)if(s!=="default"){const n=Object.getOwnPropertyDescriptor(i,s);Object.defineProperty(t,s,n.get?n:{enumerable:!0,get:()=>i[s]})}}return t.default=i,Object.freeze(t)}const Te=ve(N),Ne=ve(De);function ge(i){return i&&Object.prototype.hasOwnProperty.call(i,"default")&&Object.keys(i).length===1?i.default:i}var re={},ie={};const Le=ge(Te),Me=ge(Ne);Object.defineProperty(ie,"__esModule",{value:!0});var je=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(i){return typeof i}:function(i){return i&&typeof Symbol=="function"&&i.constructor===Symbol&&i!==Symbol.prototype?"symbol":typeof i},ye=function(){function i(t,s){var n=[],e=!0,l=!1,c=void 0;try{for(var f=t[Symbol.iterator](),u;!(e=(u=f.next()).done)&&(n.push(u.value),!(s&&n.length===s));e=!0);}catch(r){l=!0,c=r}finally{try{!e&&f.return&&f.return()}finally{if(l)throw c}}return n}return function(t,s){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return i(t,s);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),k=Object.assign||function(i){for(var t=1;t"u"?p=!0:typeof r.kind=="string"&&(h=!0)}catch{}var F=e.props.selection,d=e._getArgSelection();if(!d){console.error("missing arg selection when setting arg value");return}var b=Q(e.props.arg.type),g=(0,v.isLeafType)(b)||m||p||h;if(!g){console.warn("Unable to handle non leaf types in InputArgView.setArgValue",r);return}var C=void 0,_=void 0;r===null||typeof r>"u"?_=null:!r.target&&r.kind&&r.kind==="VariableDefinition"?(C=r,_=C.variable):typeof r.kind=="string"?_=r:r.target&&typeof r.target.value=="string"&&(C=r.target.value,_=ke(b,C));var A=e.props.modifyFields((F.fields||[]).map(function(D){var B=D===d,j=B?k({},D,{value:_}):D;return j}),o);return A},e._modifyChildFields=function(r){return e.props.modifyFields(e.props.selection.fields.map(function(o){return o.name.value===e.props.arg.name?k({},o,{value:{kind:"ObjectValue",fields:r}}):o}),!0)},n),w(e,l)}return P(t,[{key:"render",value:function(){var n=this.props,e=n.arg,l=n.parentField,c=this._getArgSelection();return a.createElement(Ee,{argValue:c?c.value:null,arg:e,parentField:l,addArg:this._addArg,removeArg:this._removeArg,setArgFields:this._modifyChildFields,setArgValue:this._setArgValue,getDefaultScalarArgValue:this.props.getDefaultScalarArgValue,makeDefaultArg:this.props.makeDefaultArg,onRunOperation:this.props.onRunOperation,styleConfig:this.props.styleConfig,onCommit:this.props.onCommit,definition:this.props.definition})}}]),t}(a.PureComponent);function ue(i){if((0,v.isEnumType)(i))return{kind:"EnumValue",value:i.getValues()[0].name};switch(i.name){case"String":return{kind:"StringValue",value:""};case"Float":return{kind:"FloatValue",value:"1.5"};case"Int":return{kind:"IntValue",value:"10"};case"Boolean":return{kind:"BooleanValue",value:!1};default:return{kind:"StringValue",value:""}}}function Ce(i,t,s){return ue(s)}var We=function(i){R(t,i);function t(){var s,n,e,l;q(this,t);for(var c=arguments.length,f=Array(c),u=0;u"u"?p=!0:typeof r.kind=="string"&&(h=!0)}catch{}var F=e.props.selection,d=e._getArgSelection();if(!d&&!m){console.error("missing arg selection when setting arg value");return}var b=Q(e.props.arg.type),g=(0,v.isLeafType)(b)||m||p||h;if(!g){console.warn("Unable to handle non leaf types in ArgView._setArgValue");return}var C=void 0,_=void 0;return r===null||typeof r>"u"?_=null:r.target&&typeof r.target.value=="string"?(C=r.target.value,_=ke(b,C)):!r.target&&r.kind==="VariableDefinition"?(C=r,_=C.variable):typeof r.kind=="string"&&(_=r),e.props.modifyArguments((F.arguments||[]).map(function(A){return A===d?k({},A,{value:_}):A}),o)},e._setArgFields=function(r,o){var p=e.props.selection,m=e._getArgSelection();if(!m){console.error("missing arg selection when setting arg value");return}return e.props.modifyArguments((p.arguments||[]).map(function(h){return h===m?k({},h,{value:{kind:"ObjectValue",fields:r}}):h}),o)},n),w(e,l)}return P(t,[{key:"render",value:function(){var n=this.props,e=n.arg,l=n.parentField,c=this._getArgSelection();return a.createElement(Ee,{argValue:c?c.value:null,arg:e,parentField:l,addArg:this._addArg,removeArg:this._removeArg,setArgFields:this._setArgFields,setArgValue:this._setArgValue,getDefaultScalarArgValue:this.props.getDefaultScalarArgValue,makeDefaultArg:this.props.makeDefaultArg,onRunOperation:this.props.onRunOperation,styleConfig:this.props.styleConfig,onCommit:this.props.onCommit,definition:this.props.definition})}}]),t}(a.PureComponent);function Qe(i){return i.ctrlKey&&i.key==="Enter"}function Ze(i){return i!=="FragmentDefinition"}var Ke=function(i){R(t,i);function t(){var s,n,e,l;q(this,t);for(var c=arguments.length,f=Array(c),u=0;u0?C=""+b+g:C=b;var _=c.type.toString(),A=(0,v.parseType)(_),D={kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:C}},type:A,directives:[]},B=function(x){return(n.props.definition.variableDefinitions||[]).find(function(T){return T.variable.name.value===x})},j=void 0,W={};if(typeof l<"u"&&l!==null){var U=(0,v.visit)(l,{Variable:function(x){var T=x.name.value,J=B(T);if(W[T]=W[T]+1||1,!!J)return J.defaultValue}}),K=D.type.kind==="NonNullType",M=K?k({},D,{type:D.type.type}):D;j=k({},M,{defaultValue:U})}else j=D;var $=Object.entries(W).filter(function(E){var x=ye(E,2);x[0];var T=x[1];return T<2}).map(function(E){var x=ye(E,2),T=x[0];return x[1],T});if(j){var X=n.props.setArgValue(j,!1);if(X){var ee=X.definitions.find(function(E){return E.operation&&E.name&&E.name.value&&n.props.definition.name&&n.props.definition.name.value?E.name.value===n.props.definition.name.value:!1}),y=[].concat(I(ee.variableDefinitions||[]),[j]).filter(function(E){return $.indexOf(E.variable.name.value)===-1}),S=k({},ee,{variableDefinitions:y}),O=X.definitions,V=O.map(function(E){return ee===E?S:E}),L=k({},X,{definitions:V});n.props.onCommit(L)}}},m=function(){if(!(!l||!l.name||!l.name.value)){var b=l.name.value,g=(n.props.definition.variableDefinitions||[]).find(function(M){return M.variable.name.value===b});if(g){var C=g.defaultValue,_=n.props.setArgValue(C,{commit:!1});if(_){var A=_.definitions.find(function(M){return M.name.value===n.props.definition.name.value});if(!A)return;var D=0;(0,v.visit)(A,{Variable:function($){$.name.value===b&&(D=D+1)}});var B=A.variableDefinitions||[];D<2&&(B=B.filter(function(M){return M.variable.name.value!==b}));var j=k({},A,{variableDefinitions:B}),W=_.definitions,U=W.map(function(M){return A===M?j:M}),K=k({},_,{definitions:U});n.props.onCommit(K)}}}},h=l&&l.kind==="Variable",F=this.state.displayArgActions?a.createElement("button",{type:"submit",className:"toolbar-button",title:h?"Remove the variable":"Extract the current value into a GraphQL variable",onClick:function(b){b.preventDefault(),b.stopPropagation(),h?m():p()},style:f.styles.actionButtonStyle},a.createElement("span",{style:{color:f.colors.variable}},"$")):null;return a.createElement("div",{style:{cursor:"pointer",minHeight:"16px",WebkitUserSelect:"none",userSelect:"none"},"data-arg-name":c.name,"data-arg-type":u.name,className:"graphiql-explorer-"+c.name},a.createElement("span",{style:{cursor:"pointer"},onClick:function(b){var g=!l;g?n.props.addArg(!0):n.props.removeArg(!0),n.setState({displayArgActions:g})}},(0,v.isInputObjectType)(u)?a.createElement("span",null,l?this.props.styleConfig.arrowOpen:this.props.styleConfig.arrowClosed):a.createElement(ae,{checked:!!l,styleConfig:this.props.styleConfig}),a.createElement("span",{style:{color:f.colors.attribute},title:c.description,onMouseEnter:function(){l!==null&&typeof l<"u"&&n.setState({displayArgActions:!0})},onMouseLeave:function(){return n.setState({displayArgActions:!1})}},c.name,Se(c)?"*":"",": ",F," ")," "),r||a.createElement("span",null)," ")}}]),t}(a.PureComponent),Je=function(i){R(t,i);function t(){var s,n,e,l;q(this,t);for(var c=arguments.length,f=Array(c),u=0;u0;C&&n.setState({displayFieldActions:!0})},onMouseLeave:function(){return n.setState({displayFieldActions:!1})}},(0,v.isObjectType)(o)?a.createElement("span",null,r?this.props.styleConfig.arrowOpen:this.props.styleConfig.arrowClosed):null,(0,v.isObjectType)(o)?null:a.createElement(ae,{checked:!!r,styleConfig:this.props.styleConfig}),a.createElement("span",{style:{color:u.colors.property},className:"graphiql-explorer-field-view"},l.name),this.state.displayFieldActions?a.createElement("button",{type:"submit",className:"toolbar-button",title:"Extract selections into a new reusable fragment",onClick:function(C){C.preventDefault(),C.stopPropagation();var _=o.name,A=_+"Fragment",D=(h||[]).filter(function(M){return M.name.value.startsWith(A)}).length;D>0&&(A=""+A+D);var B=r?r.selectionSet?r.selectionSet.selections:[]:[],j=[{kind:"FragmentSpread",name:{kind:"Name",value:A},directives:[]}],W={kind:"FragmentDefinition",name:{kind:"Name",value:A},typeCondition:{kind:"NamedType",name:{kind:"Name",value:o.name}},directives:[],selectionSet:{kind:"SelectionSet",selections:B}},U=n._modifyChildSelections(j,!1);if(U){var K=k({},U,{definitions:[].concat(I(U.definitions),[W])});n.props.onCommit(K)}else console.warn("Unable to complete extractFragment operation")},style:k({},u.styles.actionButtonStyle)},a.createElement("span",null,"…")):null),r&&p.length?a.createElement("div",{style:{marginLeft:16},className:"graphiql-explorer-graphql-arguments"},p.map(function(g){return a.createElement(We,{key:g.name,parentField:l,arg:g,selection:r,modifyArguments:n._setArguments,getDefaultScalarArgValue:n.props.getDefaultScalarArgValue,makeDefaultArg:n.props.makeDefaultArg,onRunOperation:n.props.onRunOperation,styleConfig:n.props.styleConfig,onCommit:n.props.onCommit,definition:n.props.definition})})):null);if(r&&((0,v.isObjectType)(o)||(0,v.isInterfaceType)(o)||(0,v.isUnionType)(o))){var d=(0,v.isUnionType)(o)?{}:o.getFields(),b=r?r.selectionSet?r.selectionSet.selections:[]:[];return a.createElement("div",{className:"graphiql-explorer-"+l.name},F,a.createElement("div",{style:{marginLeft:16}},h?h.map(function(g){var C=c.getType(g.typeCondition.name.value),_=g.name.value;return C?a.createElement(Ye,{key:_,fragment:g,selections:b,modifySelections:n._modifyChildSelections,schema:c,styleConfig:n.props.styleConfig,onCommit:n.props.onCommit}):null}):null,Object.keys(d).sort().map(function(g){return a.createElement(t,{key:g,field:d[g],selections:b,modifySelections:n._modifyChildSelections,schema:c,getDefaultFieldNames:f,getDefaultScalarArgValue:n.props.getDefaultScalarArgValue,makeDefaultArg:n.props.makeDefaultArg,onRunOperation:n.props.onRunOperation,styleConfig:n.props.styleConfig,onCommit:n.props.onCommit,definition:n.props.definition,availableFragments:n.props.availableFragments})}),(0,v.isInterfaceType)(o)||(0,v.isUnionType)(o)?c.getPossibleTypes(o).map(function(g){return a.createElement(Je,{key:g.name,implementingType:g,selections:b,modifySelections:n._modifyChildSelections,schema:c,getDefaultFieldNames:f,getDefaultScalarArgValue:n.props.getDefaultScalarArgValue,makeDefaultArg:n.props.makeDefaultArg,onRunOperation:n.props.onRunOperation,styleConfig:n.props.styleConfig,onCommit:n.props.onCommit,definition:n.props.definition})}):null))}return F}}]),t}(a.PureComponent);function Xe(i){try{return i.trim()?(0,v.parse)(i,{noLocation:!0}):null}catch(t){return new Error(t)}}var $e={kind:"OperationDefinition",operation:"query",variableDefinitions:[],name:{kind:"Name",value:"MyQuery"},directives:[],selectionSet:{kind:"SelectionSet",selections:[]}},le={kind:"Document",definitions:[$e]},Y=null;function et(i){if(Y&&Y[0]===i)return Y[1];var t=Xe(i);return t?t instanceof Error?Y?Y[1]:le:(Y=[i,t],t):le}var Oe={buttonStyle:{fontSize:"1.2em",padding:"0px",backgroundColor:"white",border:"none",margin:"5px 0px",height:"40px",width:"100%",display:"block",maxWidth:"none"},actionButtonStyle:{padding:"0px",backgroundColor:"white",border:"none",margin:"0px",maxWidth:"none",height:"15px",width:"15px",display:"inline-block",fontSize:"smaller"},explorerActionsStyle:{margin:"4px -8px -8px",paddingLeft:"8px",bottom:"0px",width:"100%",textAlign:"center",background:"none",borderTop:"none",borderBottom:"none"}},tt=function(i){R(t,i);function t(){var s,n,e,l;q(this,t);for(var c=arguments.length,f=Array(c),u=0;u"u"?"undefined":je(Z))==="object"&&typeof Z.commit<"u"?me=Z.commit:me=!0,H){var de=k({},d,{definitions:d.definitions.map(function(Ve){return Ve===y?H:Ve})});return me&&te(de),de}else return d},schema:l,getDefaultFieldNames:b,getDefaultScalarArgValue:g,makeDefaultArg:f,onRunOperation:function(){n.props.onRunOperation&&n.props.onRunOperation(O)},styleConfig:u,availableFragments:X})}),ee),K)}}]),t}(a.PureComponent);we.defaultProps={getDefaultFieldNames:be,getDefaultScalarArgValue:Ce};var rt=function(i){R(t,i);function t(){var s,n,e,l;q(this,t);for(var c=arguments.length,f=Array(c),u=0;u{f&&t(f),n()},[n,t]),[l,c]=G.useOptimisticState(G.useOperationsEditorState());return N.createElement(Fe,{schema:s,onRunOperation:e,explorerIsOpen:!0,colors:ot,arrowOpen:lt,arrowClosed:st,checkboxUnchecked:ut,checkboxChecked:pt,styles:ct,query:l,onEdit:c,...i})}function mt(i){return{title:"GraphiQL Explorer",icon:()=>N.createElement("svg",{height:"1em",strokeWidth:"1.5",viewBox:"0 0 24 24",fill:"none"},N.createElement("path",{d:"M18 6H20M22 6H20M20 6V4M20 6V8",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),N.createElement("path",{d:"M21.4 20H2.6C2.26863 20 2 19.7314 2 19.4V11H21.4C21.7314 11 22 11.2686 22 11.6V19.4C22 19.7314 21.7314 20 21.4 20Z",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),N.createElement("path",{d:"M2 11V4.6C2 4.26863 2.26863 4 2.6 4H8.77805C8.92127 4 9.05977 4.05124 9.16852 4.14445L12.3315 6.85555C12.4402 6.94876 12.5787 7 12.722 7H14",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"})),content:()=>N.createElement(ft,{...i})}}z.explorerPlugin=mt,Object.defineProperty(z,Symbol.toStringTag,{value:"Module"})});