@digi-frontend/dgate-api-documentation 1.0.5 → 1.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- import{__require as r}from"../node_modules/property-expr/index.js";var e=r();export{e as p};
1
+ import{getDefaultExportFromCjs as o}from"./_commonjsHelpers.js";import{__require as r}from"../node_modules/toposort/index.js";var e=o(r());export{e as default};
2
2
  //# sourceMappingURL=index4.js.map
@@ -1,2 +1,2 @@
1
- import{getDefaultExportFromCjs as o}from"./_commonjsHelpers.js";import{__require as r}from"../node_modules/toposort/index.js";var e=o(r());export{e as default};
1
+ var e={exports:{}};export{e as __module};
2
2
  //# sourceMappingURL=index5.js.map
@@ -1,2 +1,2 @@
1
- var e={exports:{}};export{e as __module};
1
+ import{__require as r}from"../node_modules/property-expr/index.js";var e=r();export{e as p};
2
2
  //# sourceMappingURL=index6.js.map
@@ -1,2 +1,2 @@
1
- import{__module as r}from"../../_virtual/index6.js";var e;function n(){if(e)return r.exports;function n(r,e){var n=r.length,t=new Array(n),o={},a=n,i=function(r){for(var e=new Map,n=0,t=r.length;n<t;n++){var o=r[n];e.has(o[0])||e.set(o[0],new Set),e.has(o[1])||e.set(o[1],new Set),e.get(o[0]).add(o[1])}return e}(e),d=function(r){for(var e=new Map,n=0,t=r.length;n<t;n++)e.set(r[n],n);return e}(r);for(e.forEach((function(r){if(!d.has(r[0])||!d.has(r[1]))throw new Error("Unknown node. There is an unknown node in the supplied edges.")}));a--;)o[a]||f(r[a],a,new Set);return t;function f(r,e,a){if(a.has(r)){var s;try{s=", node was:"+JSON.stringify(r)}catch(r){s=""}throw new Error("Cyclic dependency"+s)}if(!d.has(r))throw new Error("Found unknown node. Make sure to provided all involved nodes. Unknown node: "+JSON.stringify(r));if(!o[e]){o[e]=!0;var u=i.get(r)||new Set;if(e=(u=Array.from(u)).length){a.add(r);do{var w=u[--e];f(w,d.get(w),a)}while(e);a.delete(r)}t[--n]=r}}}return e=1,r.exports=function(r){return n(function(r){for(var e=new Set,n=0,t=r.length;n<t;n++){var o=r[n];e.add(o[0]),e.add(o[1])}return Array.from(e)}(r),r)},r.exports.array=n,r.exports}export{n as __require};
1
+ import{__module as r}from"../../_virtual/index5.js";var e;function n(){if(e)return r.exports;function n(r,e){var n=r.length,t=new Array(n),o={},a=n,i=function(r){for(var e=new Map,n=0,t=r.length;n<t;n++){var o=r[n];e.has(o[0])||e.set(o[0],new Set),e.has(o[1])||e.set(o[1],new Set),e.get(o[0]).add(o[1])}return e}(e),d=function(r){for(var e=new Map,n=0,t=r.length;n<t;n++)e.set(r[n],n);return e}(r);for(e.forEach((function(r){if(!d.has(r[0])||!d.has(r[1]))throw new Error("Unknown node. There is an unknown node in the supplied edges.")}));a--;)o[a]||f(r[a],a,new Set);return t;function f(r,e,a){if(a.has(r)){var s;try{s=", node was:"+JSON.stringify(r)}catch(r){s=""}throw new Error("Cyclic dependency"+s)}if(!d.has(r))throw new Error("Found unknown node. Make sure to provided all involved nodes. Unknown node: "+JSON.stringify(r));if(!o[e]){o[e]=!0;var u=i.get(r)||new Set;if(e=(u=Array.from(u)).length){a.add(r);do{var w=u[--e];f(w,d.get(w),a)}while(e);a.delete(r)}t[--n]=r}}}return e=1,r.exports=function(r){return n(function(r){for(var e=new Set,n=0,t=r.length;n<t;n++){var o=r[n];e.add(o[0]),e.add(o[1])}return Array.from(e)}(r),r)},r.exports.array=n,r.exports}export{n as __require};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- import{p as e}from"../../_virtual/index4.js";import{t}from"../../_virtual/index3.js";import s from"../../_virtual/index5.js";const r=Object.prototype.toString,n=Error.prototype.toString,i=RegExp.prototype.toString,a="undefined"!=typeof Symbol?Symbol.prototype.toString:()=>"",o=/^Symbol\((.*)\)(.*)$/;function l(e,t=!1){if(null==e||!0===e||!1===e)return""+e;const s=typeof e;if("number"===s)return function(e){return e!=+e?"NaN":0===e&&1/e<0?"-0":""+e}(e);if("string"===s)return t?`"${e}"`:e;if("function"===s)return"[Function "+(e.name||"anonymous")+"]";if("symbol"===s)return a.call(e).replace(o,"Symbol($1)");const l=r.call(e).slice(8,-1);return"Date"===l?isNaN(e.getTime())?""+e:e.toISOString(e):"Error"===l||e instanceof Error?"["+n.call(e)+"]":"RegExp"===l?i.call(e):null}function u(e,t){let s=l(e,t);return null!==s?s:JSON.stringify(e,(function(e,s){let r=l(this[e],t);return null!==r?r:s}),2)}function c(e){return null==e?[]:[].concat(e)}let h,p,d,f=/\$\{\s*(\w+)\s*\}/g;h=Symbol.toStringTag;class m{constructor(e,t,s,r){this.name=void 0,this.message=void 0,this.value=void 0,this.path=void 0,this.type=void 0,this.params=void 0,this.errors=void 0,this.inner=void 0,this[h]="Error",this.name="ValidationError",this.value=t,this.path=s,this.type=r,this.errors=[],this.inner=[],c(e).forEach((e=>{if(y.isError(e)){this.errors.push(...e.errors);const t=e.inner.length?e.inner:[e];this.inner.push(...t)}else this.errors.push(e)})),this.message=this.errors.length>1?`${this.errors.length} errors occurred`:this.errors[0]}}p=Symbol.hasInstance,d=Symbol.toStringTag;class y extends Error{static formatError(e,t){const s=t.label||t.path||"this";return t=Object.assign({},t,{path:s,originalPath:t.path}),"string"==typeof e?e.replace(f,((e,s)=>u(t[s]))):"function"==typeof e?e(t):e}static isError(e){return e&&"ValidationError"===e.name}constructor(e,t,s,r,n){const i=new m(e,t,s,r);if(n)return i;super(),this.value=void 0,this.path=void 0,this.type=void 0,this.params=void 0,this.errors=[],this.inner=[],this[d]="Error",this.name=i.name,this.message=i.message,this.type=i.type,this.value=i.value,this.path=i.path,this.errors=i.errors,this.inner=i.inner,Error.captureStackTrace&&Error.captureStackTrace(this,y)}static[p](e){return m[Symbol.hasInstance](e)||super[Symbol.hasInstance](e)}}let v={default:"${path} is invalid",required:"${path} is a required field",defined:"${path} must be defined",notNull:"${path} cannot be null",oneOf:"${path} must be one of the following values: ${values}",notOneOf:"${path} must not be one of the following values: ${values}",notType:({path:e,type:t,value:s,originalValue:r})=>{const n=null!=r&&r!==s?` (cast from the value \`${u(r,!0)}\`).`:".";return"mixed"!==t?`${e} must be a \`${t}\` type, but the final value was: \`${u(s,!0)}\``+n:`${e} must match the configured type. The validated value was: \`${u(s,!0)}\``+n}},g={length:"${path} must be exactly ${length} characters",min:"${path} must be at least ${min} characters",max:"${path} must be at most ${max} characters",matches:'${path} must match the following: "${regex}"',email:"${path} must be a valid email",url:"${path} must be a valid URL",uuid:"${path} must be a valid UUID",datetime:"${path} must be a valid ISO date-time",datetime_precision:"${path} must be a valid ISO date-time with a sub-second precision of exactly ${precision} digits",datetime_offset:'${path} must be a valid ISO date-time with UTC "Z" timezone',trim:"${path} must be a trimmed string",lowercase:"${path} must be a lowercase string",uppercase:"${path} must be a upper case string"},b={min:"${path} field must be later than ${min}",max:"${path} field must be at earlier than ${max}"},F={isValue:"${path} field must be ${value}"},_={noUnknown:"${path} field has unspecified keys: ${unknown}",exact:"${path} object contains unknown properties: ${properties}"},w={min:"${path} field must have at least ${min} items",max:"${path} field must have less than or equal to ${max} items",length:"${path} must have ${length} items"},x={notType:e=>{const{path:t,value:s,spec:r}=e,n=r.types.length;if(Array.isArray(s)){if(s.length<n)return`${t} tuple value has too few items, expected a length of ${n} but got ${s.length} for value: \`${u(s,!0)}\``;if(s.length>n)return`${t} tuple value has too many items, expected a length of ${n} but got ${s.length} for value: \`${u(s,!0)}\``}return y.formatError(v.notType,e)}};Object.assign(Object.create(null),{mixed:v,string:g,number:{min:"${path} must be greater than or equal to ${min}",max:"${path} must be less than or equal to ${max}",lessThan:"${path} must be less than ${less}",moreThan:"${path} must be greater than ${more}",positive:"${path} must be a positive number",negative:"${path} must be a negative number",integer:"${path} must be an integer"},date:b,object:_,array:w,boolean:F,tuple:x});const T=e=>e&&e.__isYupSchema__;class ${static fromOptions(e,t){if(!t.then&&!t.otherwise)throw new TypeError("either `then:` or `otherwise:` is required for `when()` conditions");let{is:s,then:r,otherwise:n}=t,i="function"==typeof s?s:(...e)=>e.every((e=>e===s));return new $(e,((e,t)=>{var s;let a=i(...e)?r:n;return null!=(s=null==a?void 0:a(t))?s:t}))}constructor(e,t){this.fn=void 0,this.refs=e,this.refs=e,this.fn=t}resolve(e,t){let s=this.refs.map((e=>e.getValue(null==t?void 0:t.value,null==t?void 0:t.parent,null==t?void 0:t.context))),r=this.fn(s,e,t);if(void 0===r||r===e)return e;if(!T(r))throw new TypeError("conditions must return a schema object");return r.resolve(t)}}const O="$",k=".";class E{constructor(t,s={}){if(this.key=void 0,this.isContext=void 0,this.isValue=void 0,this.isSibling=void 0,this.path=void 0,this.getter=void 0,this.map=void 0,"string"!=typeof t)throw new TypeError("ref must be a string, got: "+t);if(this.key=t.trim(),""===t)throw new TypeError("ref must be a non-empty string");this.isContext=this.key[0]===O,this.isValue=this.key[0]===k,this.isSibling=!this.isContext&&!this.isValue;let r=this.isContext?O:this.isValue?k:"";this.path=this.key.slice(r.length),this.getter=this.path&&e.getter(this.path,!0),this.map=s.map}getValue(e,t,s){let r=this.isContext?s:this.isValue?e:t;return this.getter&&(r=this.getter(r||{})),this.map&&(r=this.map(r)),r}cast(e,t){return this.getValue(e,null==t?void 0:t.parent,null==t?void 0:t.context)}resolve(){return this}describe(){return{type:"ref",key:this.key}}toString(){return`Ref(${this.key})`}static isRef(e){return e&&e.__isYupRef}}E.prototype.__isYupRef=!0;const S=e=>null==e;function j(e){function t({value:t,path:s="",options:r,originalValue:n,schema:i},a,o){const{name:l,test:u,params:c,message:h,skipAbsent:p}=e;let{parent:d,context:f,abortEarly:m=i.spec.abortEarly,disableStackTrace:v=i.spec.disableStackTrace}=r;function g(e){return E.isRef(e)?e.getValue(t,d,f):e}function b(e={}){const r=Object.assign({value:t,originalValue:n,label:i.spec.label,path:e.path||s,spec:i.spec,disableStackTrace:e.disableStackTrace||v},c,e.params);for(const e of Object.keys(r))r[e]=g(r[e]);const a=new y(y.formatError(e.message||h,r),t,r.path,e.type||l,r.disableStackTrace);return a.params=r,a}const F=m?a:o;let _={path:s,parent:d,type:l,from:r.from,createError:b,resolve:g,options:r,originalValue:n,schema:i};const w=e=>{y.isError(e)?F(e):e?o(null):F(b())},x=e=>{y.isError(e)?F(e):a(e)};if(p&&S(t))return w(!0);let T;try{var $;if(T=u.call(_,t,_),"function"==typeof(null==($=T)?void 0:$.then)){if(r.sync)throw new Error(`Validation test of type: "${_.type}" returned a Promise during a synchronous validate. This test will finish after the validate call has returned`);return Promise.resolve(T).then(w,x)}}catch(e){return void x(e)}w(T)}return t.OPTIONS=e,t}function A(t,s,r,n=r){let i,a,o;return s?(e.forEach(s,((e,l,u)=>{let c=l?e.slice(1,e.length-1):e,h="tuple"===(t=t.resolve({context:n,parent:i,value:r})).type,p=u?parseInt(c,10):0;if(t.innerType||h){if(h&&!u)throw new Error(`Yup.reach cannot implicitly index into a tuple type. the path part "${o}" must contain an index to the tuple element, e.g. "${o}[0]"`);if(r&&p>=r.length)throw new Error(`Yup.reach cannot resolve an array item at index: ${e}, in the path: ${s}. because there is no value at that index. `);i=r,r=r&&r[p],t=h?t.spec.types[p]:t.innerType}if(!u){if(!t.fields||!t.fields[c])throw new Error(`The schema does not contain the path: ${s}. (failed at: ${o} which is a type: "${t.type}")`);i=r,r=r&&r[c],t=t.fields[c]}a=c,o=l?"["+e+"]":"."+e})),{schema:t,parent:i,parentPath:a}):{parent:i,parentPath:s,schema:t}}class D extends Set{describe(){const e=[];for(const t of this.values())e.push(E.isRef(t)?t.describe():t);return e}resolveAll(e){let t=[];for(const s of this.values())t.push(e(s));return t}clone(){return new D(this.values())}merge(e,t){const s=this.clone();return e.forEach((e=>s.add(e))),t.forEach((e=>s.delete(e))),s}}function C(e,t=new Map){if(T(e)||!e||"object"!=typeof e)return e;if(t.has(e))return t.get(e);let s;if(e instanceof Date)s=new Date(e.getTime()),t.set(e,s);else if(e instanceof RegExp)s=new RegExp(e),t.set(e,s);else if(Array.isArray(e)){s=new Array(e.length),t.set(e,s);for(let r=0;r<e.length;r++)s[r]=C(e[r],t)}else if(e instanceof Map){s=new Map,t.set(e,s);for(const[r,n]of e.entries())s.set(r,C(n,t))}else if(e instanceof Set){s=new Set,t.set(e,s);for(const r of e)s.add(C(r,t))}else{if(!(e instanceof Object))throw Error(`Unable to clone ${e}`);s={},t.set(e,s);for(const[r,n]of Object.entries(e))s[r]=C(n,t)}return s}class V{constructor(e){this.type=void 0,this.deps=[],this.tests=void 0,this.transforms=void 0,this.conditions=[],this._mutate=void 0,this.internalTests={},this._whitelist=new D,this._blacklist=new D,this.exclusiveTests=Object.create(null),this._typeCheck=void 0,this.spec=void 0,this.tests=[],this.transforms=[],this.withMutation((()=>{this.typeError(v.notType)})),this.type=e.type,this._typeCheck=e.check,this.spec=Object.assign({strip:!1,strict:!1,abortEarly:!0,recursive:!0,disableStackTrace:!1,nullable:!1,optional:!0,coerce:!0},null==e?void 0:e.spec),this.withMutation((e=>{e.nonNullable()}))}get _type(){return this.type}clone(e){if(this._mutate)return e&&Object.assign(this.spec,e),this;const t=Object.create(Object.getPrototypeOf(this));return t.type=this.type,t._typeCheck=this._typeCheck,t._whitelist=this._whitelist.clone(),t._blacklist=this._blacklist.clone(),t.internalTests=Object.assign({},this.internalTests),t.exclusiveTests=Object.assign({},this.exclusiveTests),t.deps=[...this.deps],t.conditions=[...this.conditions],t.tests=[...this.tests],t.transforms=[...this.transforms],t.spec=C(Object.assign({},this.spec,e)),t}label(e){let t=this.clone();return t.spec.label=e,t}meta(...e){if(0===e.length)return this.spec.meta;let t=this.clone();return t.spec.meta=Object.assign(t.spec.meta||{},e[0]),t}withMutation(e){let t=this._mutate;this._mutate=!0;let s=e(this);return this._mutate=t,s}concat(e){if(!e||e===this)return this;if(e.type!==this.type&&"mixed"!==this.type)throw new TypeError(`You cannot \`concat()\` schema's of different types: ${this.type} and ${e.type}`);let t=this,s=e.clone();const r=Object.assign({},t.spec,s.spec);return s.spec=r,s.internalTests=Object.assign({},t.internalTests,s.internalTests),s._whitelist=t._whitelist.merge(e._whitelist,e._blacklist),s._blacklist=t._blacklist.merge(e._blacklist,e._whitelist),s.tests=t.tests,s.exclusiveTests=t.exclusiveTests,s.withMutation((t=>{e.tests.forEach((e=>{t.test(e.OPTIONS)}))})),s.transforms=[...t.transforms,...s.transforms],s}isType(e){return null==e?!(!this.spec.nullable||null!==e)||!(!this.spec.optional||void 0!==e):this._typeCheck(e)}resolve(e){let t=this;if(t.conditions.length){let s=t.conditions;t=t.clone(),t.conditions=[],t=s.reduce(((t,s)=>s.resolve(t,e)),t),t=t.resolve(e)}return t}resolveOptions(e){var t,s,r,n;return Object.assign({},e,{from:e.from||[],strict:null!=(t=e.strict)?t:this.spec.strict,abortEarly:null!=(s=e.abortEarly)?s:this.spec.abortEarly,recursive:null!=(r=e.recursive)?r:this.spec.recursive,disableStackTrace:null!=(n=e.disableStackTrace)?n:this.spec.disableStackTrace})}cast(e,t={}){let s=this.resolve(Object.assign({value:e},t)),r="ignore-optionality"===t.assert,n=s._cast(e,t);if(!1!==t.assert&&!s.isType(n)){if(r&&S(n))return n;let i=u(e),a=u(n);throw new TypeError(`The value of ${t.path||"field"} could not be cast to a value that satisfies the schema type: "${s.type}". \n\nattempted value: ${i} \n`+(a!==i?`result of cast: ${a}`:""))}return n}_cast(e,t){let s=void 0===e?e:this.transforms.reduce(((t,s)=>s.call(this,t,e,this)),e);return void 0===s&&(s=this.getDefault(t)),s}_validate(e,t={},s,r){let{path:n,originalValue:i=e,strict:a=this.spec.strict}=t,o=e;a||(o=this._cast(o,Object.assign({assert:!1},t)));let l=[];for(let e of Object.values(this.internalTests))e&&l.push(e);this.runTests({path:n,value:o,originalValue:i,options:t,tests:l},s,(e=>{if(e.length)return r(e,o);this.runTests({path:n,value:o,originalValue:i,options:t,tests:this.tests},s,r)}))}runTests(e,t,s){let r=!1,{tests:n,value:i,originalValue:a,path:o,options:l}=e,u=e=>{r||(r=!0,t(e,i))},c=e=>{r||(r=!0,s(e,i))},h=n.length,p=[];if(!h)return c([]);let d={value:i,originalValue:a,path:o,options:l,schema:this};for(let e=0;e<n.length;e++){(0,n[e])(d,u,(function(e){e&&(Array.isArray(e)?p.push(...e):p.push(e)),--h<=0&&c(p)}))}}asNestedTest({key:e,index:t,parent:s,parentPath:r,originalParent:n,options:i}){const a=null!=e?e:t;if(null==a)throw TypeError("Must include `key` or `index` for nested validations");const o="number"==typeof a;let l=s[a];const u=Object.assign({},i,{strict:!0,parent:s,value:l,originalValue:n[a],key:void 0,[o?"index":"key"]:a,path:o||a.includes(".")?`${r||""}[${o?a:`"${a}"`}]`:(r?`${r}.`:"")+e});return(e,t,s)=>this.resolve(u)._validate(l,u,t,s)}validate(e,t){var s;let r=this.resolve(Object.assign({},t,{value:e})),n=null!=(s=null==t?void 0:t.disableStackTrace)?s:r.spec.disableStackTrace;return new Promise(((s,i)=>r._validate(e,t,((e,t)=>{y.isError(e)&&(e.value=t),i(e)}),((e,t)=>{e.length?i(new y(e,t,void 0,void 0,n)):s(t)}))))}validateSync(e,t){var s;let r,n=this.resolve(Object.assign({},t,{value:e})),i=null!=(s=null==t?void 0:t.disableStackTrace)?s:n.spec.disableStackTrace;return n._validate(e,Object.assign({},t,{sync:!0}),((e,t)=>{throw y.isError(e)&&(e.value=t),e}),((t,s)=>{if(t.length)throw new y(t,e,void 0,void 0,i);r=s})),r}isValid(e,t){return this.validate(e,t).then((()=>!0),(e=>{if(y.isError(e))return!1;throw e}))}isValidSync(e,t){try{return this.validateSync(e,t),!0}catch(e){if(y.isError(e))return!1;throw e}}_getDefault(e){let t=this.spec.default;return null==t?t:"function"==typeof t?t.call(this,e):C(t)}getDefault(e){return this.resolve(e||{})._getDefault(e)}default(e){if(0===arguments.length)return this._getDefault();return this.clone({default:e})}strict(e=!0){return this.clone({strict:e})}nullability(e,t){const s=this.clone({nullable:e});return s.internalTests.nullable=j({message:t,name:"nullable",test(e){return null!==e||this.schema.spec.nullable}}),s}optionality(e,t){const s=this.clone({optional:e});return s.internalTests.optionality=j({message:t,name:"optionality",test(e){return void 0!==e||this.schema.spec.optional}}),s}optional(){return this.optionality(!0)}defined(e=v.defined){return this.optionality(!1,e)}nullable(){return this.nullability(!0)}nonNullable(e=v.notNull){return this.nullability(!1,e)}required(e=v.required){return this.clone().withMutation((t=>t.nonNullable(e).defined(e)))}notRequired(){return this.clone().withMutation((e=>e.nullable().optional()))}transform(e){let t=this.clone();return t.transforms.push(e),t}test(...e){let t;if(t=1===e.length?"function"==typeof e[0]?{test:e[0]}:e[0]:2===e.length?{name:e[0],test:e[1]}:{name:e[0],message:e[1],test:e[2]},void 0===t.message&&(t.message=v.default),"function"!=typeof t.test)throw new TypeError("`test` is a required parameters");let s=this.clone(),r=j(t),n=t.exclusive||t.name&&!0===s.exclusiveTests[t.name];if(t.exclusive&&!t.name)throw new TypeError("Exclusive tests must provide a unique `name` identifying the test");return t.name&&(s.exclusiveTests[t.name]=!!t.exclusive),s.tests=s.tests.filter((e=>{if(e.OPTIONS.name===t.name){if(n)return!1;if(e.OPTIONS.test===r.OPTIONS.test)return!1}return!0})),s.tests.push(r),s}when(e,t){Array.isArray(e)||"string"==typeof e||(t=e,e=".");let s=this.clone(),r=c(e).map((e=>new E(e)));return r.forEach((e=>{e.isSibling&&s.deps.push(e.key)})),s.conditions.push("function"==typeof t?new $(r,t):$.fromOptions(r,t)),s}typeError(e){let t=this.clone();return t.internalTests.typeError=j({message:e,name:"typeError",skipAbsent:!0,test(e){return!!this.schema._typeCheck(e)||this.createError({params:{type:this.schema.type}})}}),t}oneOf(e,t=v.oneOf){let s=this.clone();return e.forEach((e=>{s._whitelist.add(e),s._blacklist.delete(e)})),s.internalTests.whiteList=j({message:t,name:"oneOf",skipAbsent:!0,test(e){let t=this.schema._whitelist,s=t.resolveAll(this.resolve);return!!s.includes(e)||this.createError({params:{values:Array.from(t).join(", "),resolved:s}})}}),s}notOneOf(e,t=v.notOneOf){let s=this.clone();return e.forEach((e=>{s._blacklist.add(e),s._whitelist.delete(e)})),s.internalTests.blacklist=j({message:t,name:"notOneOf",test(e){let t=this.schema._blacklist,s=t.resolveAll(this.resolve);return!s.includes(e)||this.createError({params:{values:Array.from(t).join(", "),resolved:s}})}}),s}strip(e=!0){let t=this.clone();return t.spec.strip=e,t}describe(e){const t=(e?this.resolve(e):this).clone(),{label:s,meta:r,optional:n,nullable:i}=t.spec;return{meta:r,label:s,optional:n,nullable:i,default:t.getDefault(e),type:t.type,oneOf:t._whitelist.describe(),notOneOf:t._blacklist.describe(),tests:t.tests.map((e=>({name:e.OPTIONS.name,params:e.OPTIONS.params}))).filter(((e,t,s)=>s.findIndex((t=>t.name===e.name))===t))}}}V.prototype.__isYupSchema__=!0;for(const e of["validate","validateSync"])V.prototype[`${e}At`]=function(t,s,r={}){const{parent:n,parentPath:i,schema:a}=A(this,t,s,r.context);return a[e](n&&n[i],Object.assign({},r,{parent:n,path:t}))};for(const e of["equals","is"])V.prototype[e]=V.prototype.oneOf;for(const e of["not","nope"])V.prototype[e]=V.prototype.notOneOf;const N=()=>!0;function z(e){return new P(e)}class P extends V{constructor(e){super("function"==typeof e?{type:"mixed",check:e}:Object.assign({type:"mixed",check:N},e))}}function q(){return new I}z.prototype=P.prototype;class I extends V{constructor(){super({type:"boolean",check:e=>(e instanceof Boolean&&(e=e.valueOf()),"boolean"==typeof e)}),this.withMutation((()=>{this.transform(((e,t,s)=>{if(s.spec.coerce&&!s.isType(e)){if(/^(true|1)$/i.test(String(e)))return!0;if(/^(false|0)$/i.test(String(e)))return!1}return e}))}))}isTrue(e=F.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"true"},test:e=>S(e)||!0===e})}isFalse(e=F.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"false"},test:e=>S(e)||!1===e})}default(e){return super.default(e)}defined(e){return super.defined(e)}optional(){return super.optional()}required(e){return super.required(e)}notRequired(){return super.notRequired()}nullable(){return super.nullable()}nonNullable(e){return super.nonNullable(e)}strip(e){return super.strip(e)}}q.prototype=I.prototype;const M=/^(\d{4}|[+-]\d{6})(?:-?(\d{2})(?:-?(\d{2}))?)?(?:[ T]?(\d{2}):?(\d{2})(?::?(\d{2})(?:[,.](\d{1,}))?)?(?:(Z)|([+-])(\d{2})(?::?(\d{2}))?)?)?$/;function R(e){var t,s;const r=M.exec(e);return r?{year:U(r[1]),month:U(r[2],1)-1,day:U(r[3],1),hour:U(r[4]),minute:U(r[5]),second:U(r[6]),millisecond:r[7]?U(r[7].substring(0,3)):0,precision:null!=(t=null==(s=r[7])?void 0:s.length)?t:void 0,z:r[8]||void 0,plusMinus:r[9]||void 0,hourOffset:U(r[10]),minuteOffset:U(r[11])}:null}function U(e,t=0){return Number(e)||t}let Z=/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,Y=/^((https?|ftp):)?\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,L=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,K=new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(([+-]\\d{2}(:?\\d{2})?)|Z)$"),J=e=>S(e)||e===e.trim(),B={}.toString();function G(){return new H}class H extends V{constructor(){super({type:"string",check:e=>(e instanceof String&&(e=e.valueOf()),"string"==typeof e)}),this.withMutation((()=>{this.transform(((e,t,s)=>{if(!s.spec.coerce||s.isType(e))return e;if(Array.isArray(e))return e;const r=null!=e&&e.toString?e.toString():e;return r===B?e:r}))}))}required(e){return super.required(e).withMutation((t=>t.test({message:e||v.required,name:"required",skipAbsent:!0,test:e=>!!e.length})))}notRequired(){return super.notRequired().withMutation((e=>(e.tests=e.tests.filter((e=>"required"!==e.OPTIONS.name)),e)))}length(e,t=g.length){return this.test({message:t,name:"length",exclusive:!0,params:{length:e},skipAbsent:!0,test(t){return t.length===this.resolve(e)}})}min(e,t=g.min){return this.test({message:t,name:"min",exclusive:!0,params:{min:e},skipAbsent:!0,test(t){return t.length>=this.resolve(e)}})}max(e,t=g.max){return this.test({name:"max",exclusive:!0,message:t,params:{max:e},skipAbsent:!0,test(t){return t.length<=this.resolve(e)}})}matches(e,t){let s,r,n=!1;return t&&("object"==typeof t?({excludeEmptyString:n=!1,message:s,name:r}=t):s=t),this.test({name:r||"matches",message:s||g.matches,params:{regex:e},skipAbsent:!0,test:t=>""===t&&n||-1!==t.search(e)})}email(e=g.email){return this.matches(Z,{name:"email",message:e,excludeEmptyString:!0})}url(e=g.url){return this.matches(Y,{name:"url",message:e,excludeEmptyString:!0})}uuid(e=g.uuid){return this.matches(L,{name:"uuid",message:e,excludeEmptyString:!1})}datetime(e){let t,s,r="";return e&&("object"==typeof e?({message:r="",allowOffset:t=!1,precision:s}=e):r=e),this.matches(K,{name:"datetime",message:r||g.datetime,excludeEmptyString:!0}).test({name:"datetime_offset",message:r||g.datetime_offset,params:{allowOffset:t},skipAbsent:!0,test:e=>{if(!e||t)return!0;const s=R(e);return!!s&&!!s.z}}).test({name:"datetime_precision",message:r||g.datetime_precision,params:{precision:s},skipAbsent:!0,test:e=>{if(!e||null==s)return!0;const t=R(e);return!!t&&t.precision===s}})}ensure(){return this.default("").transform((e=>null===e?"":e))}trim(e=g.trim){return this.transform((e=>null!=e?e.trim():e)).test({message:e,name:"trim",test:J})}lowercase(e=g.lowercase){return this.transform((e=>S(e)?e:e.toLowerCase())).test({message:e,name:"string_case",exclusive:!0,skipAbsent:!0,test:e=>S(e)||e===e.toLowerCase()})}uppercase(e=g.uppercase){return this.transform((e=>S(e)?e:e.toUpperCase())).test({message:e,name:"string_case",exclusive:!0,skipAbsent:!0,test:e=>S(e)||e===e.toUpperCase()})}}G.prototype=H.prototype;let Q=new Date("");class W extends V{constructor(){super({type:"date",check(e){return t=e,"[object Date]"===Object.prototype.toString.call(t)&&!isNaN(e.getTime());var t}}),this.withMutation((()=>{this.transform(((e,t,s)=>!s.spec.coerce||s.isType(e)||null===e?e:(e=function(e){const t=R(e);if(!t)return Date.parse?Date.parse(e):Number.NaN;if(void 0===t.z&&void 0===t.plusMinus)return new Date(t.year,t.month,t.day,t.hour,t.minute,t.second,t.millisecond).valueOf();let s=0;return"Z"!==t.z&&void 0!==t.plusMinus&&(s=60*t.hourOffset+t.minuteOffset,"+"===t.plusMinus&&(s=0-s)),Date.UTC(t.year,t.month,t.day,t.hour,t.minute+s,t.second,t.millisecond)}(e),isNaN(e)?W.INVALID_DATE:new Date(e))))}))}prepareParam(e,t){let s;if(E.isRef(e))s=e;else{let r=this.cast(e);if(!this._typeCheck(r))throw new TypeError(`\`${t}\` must be a Date or a value that can be \`cast()\` to a Date`);s=r}return s}min(e,t=b.min){let s=this.prepareParam(e,"min");return this.test({message:t,name:"min",exclusive:!0,params:{min:e},skipAbsent:!0,test(e){return e>=this.resolve(s)}})}max(e,t=b.max){let s=this.prepareParam(e,"max");return this.test({message:t,name:"max",exclusive:!0,params:{max:e},skipAbsent:!0,test(e){return e<=this.resolve(s)}})}}function X(e,t){let s=1/0;return e.some(((e,r)=>{var n;if(null!=(n=t.path)&&n.includes(e))return s=r,!0})),s}function ee(e){return(t,s)=>X(e,t)-X(e,s)}W.INVALID_DATE=Q,W.prototype;const te=(e,t,s)=>{if("string"!=typeof e)return e;let r=e;try{r=JSON.parse(e)}catch(e){}return s.isType(r)?r:e};function se(e){if("fields"in e){const t={};for(const[s,r]of Object.entries(e.fields))t[s]=se(r);return e.setFields(t)}if("array"===e.type){const t=e.optional();return t.innerType&&(t.innerType=se(t.innerType)),t}return"tuple"===e.type?e.optional().clone({types:e.spec.types.map(se)}):"optional"in e?e.optional():e}let re=e=>"[object Object]"===Object.prototype.toString.call(e);function ne(e,t){let s=Object.keys(e.fields);return Object.keys(t).filter((e=>-1===s.indexOf(e)))}const ie=ee([]);function ae(e){return new oe(e)}class oe extends V{constructor(e){super({type:"object",check:e=>re(e)||"function"==typeof e}),this.fields=Object.create(null),this._sortErrors=ie,this._nodes=[],this._excludedEdges=[],this.withMutation((()=>{e&&this.shape(e)}))}_cast(e,t={}){var s;let r=super._cast(e,t);if(void 0===r)return this.getDefault(t);if(!this._typeCheck(r))return r;let n=this.fields,i=null!=(s=t.stripUnknown)?s:this.spec.noUnknown,a=[].concat(this._nodes,Object.keys(r).filter((e=>!this._nodes.includes(e)))),o={},l=Object.assign({},t,{parent:o,__validating:t.__validating||!1}),u=!1;for(const e of a){let s=n[e],a=e in r;if(s){let n,i=r[e];l.path=(t.path?`${t.path}.`:"")+e,s=s.resolve({value:i,context:t.context,parent:o});let a=s instanceof V?s.spec:void 0,c=null==a?void 0:a.strict;if(null!=a&&a.strip){u=u||e in r;continue}n=t.__validating&&c?r[e]:s.cast(r[e],l),void 0!==n&&(o[e]=n)}else a&&!i&&(o[e]=r[e]);a===e in o&&o[e]===r[e]||(u=!0)}return u?o:r}_validate(e,t={},s,r){let{from:n=[],originalValue:i=e,recursive:a=this.spec.recursive}=t;t.from=[{schema:this,value:i},...n],t.__validating=!0,t.originalValue=i,super._validate(e,t,s,((e,n)=>{if(!a||!re(n))return void r(e,n);i=i||n;let o=[];for(let e of this._nodes){let s=this.fields[e];s&&!E.isRef(s)&&o.push(s.asNestedTest({options:t,key:e,parent:n,parentPath:t.path,originalParent:i}))}this.runTests({tests:o,value:n,originalValue:i,options:t},s,(t=>{r(t.sort(this._sortErrors).concat(e),n)}))}))}clone(e){const t=super.clone(e);return t.fields=Object.assign({},this.fields),t._nodes=this._nodes,t._excludedEdges=this._excludedEdges,t._sortErrors=this._sortErrors,t}concat(e){let t=super.concat(e),s=t.fields;for(let[e,t]of Object.entries(this.fields)){const r=s[e];s[e]=void 0===r?t:r}return t.withMutation((t=>t.setFields(s,[...this._excludedEdges,...e._excludedEdges])))}_getDefault(e){if("default"in this.spec)return super._getDefault(e);if(!this._nodes.length)return;let t={};return this._nodes.forEach((s=>{var r;const n=this.fields[s];let i=e;null!=(r=i)&&r.value&&(i=Object.assign({},i,{parent:i.value,value:i.value[s]})),t[s]=n&&"getDefault"in n?n.getDefault(i):void 0})),t}setFields(t,r){let n=this.clone();return n.fields=t,n._nodes=function(t,r=[]){let n=[],i=new Set,a=new Set(r.map((([e,t])=>`${e}-${t}`)));function o(t,s){let r=e.split(t)[0];i.add(r),a.has(`${s}-${r}`)||n.push([s,r])}for(const e of Object.keys(t)){let s=t[e];i.add(e),E.isRef(s)&&s.isSibling?o(s.path,e):T(s)&&"deps"in s&&s.deps.forEach((t=>o(t,e)))}return s.array(Array.from(i),n).reverse()}(t,r),n._sortErrors=ee(Object.keys(t)),r&&(n._excludedEdges=r),n}shape(e,t=[]){return this.clone().withMutation((s=>{let r=s._excludedEdges;return t.length&&(Array.isArray(t[0])||(t=[t]),r=[...s._excludedEdges,...t]),s.setFields(Object.assign(s.fields,e),r)}))}partial(){const e={};for(const[t,s]of Object.entries(this.fields))e[t]="optional"in s&&s.optional instanceof Function?s.optional():s;return this.setFields(e)}deepPartial(){return se(this)}pick(e){const t={};for(const s of e)this.fields[s]&&(t[s]=this.fields[s]);return this.setFields(t,this._excludedEdges.filter((([t,s])=>e.includes(t)&&e.includes(s))))}omit(e){const t=[];for(const s of Object.keys(this.fields))e.includes(s)||t.push(s);return this.pick(t)}from(t,s,r){let n=e.getter(t,!0);return this.transform((i=>{if(!i)return i;let a=i;return((t,s)=>{const r=[...e.normalizePath(s)];if(1===r.length)return r[0]in t;let n=r.pop(),i=e.getter(e.join(r),!0)(t);return!(!i||!(n in i))})(i,t)&&(a=Object.assign({},i),r||delete a[t],a[s]=n(i)),a}))}json(){return this.transform(te)}exact(e){return this.test({name:"exact",exclusive:!0,message:e||_.exact,test(e){if(null==e)return!0;const t=ne(this.schema,e);return 0===t.length||this.createError({params:{properties:t.join(", ")}})}})}stripUnknown(){return this.clone({noUnknown:!0})}noUnknown(e=!0,t=_.noUnknown){"boolean"!=typeof e&&(t=e,e=!0);let s=this.test({name:"noUnknown",exclusive:!0,message:t,test(t){if(null==t)return!0;const s=ne(this.schema,t);return!e||0===s.length||this.createError({params:{unknown:s.join(", ")}})}});return s.spec.noUnknown=e,s}unknown(e=!0,t=_.noUnknown){return this.noUnknown(!e,t)}transformKeys(e){return this.transform((t=>{if(!t)return t;const s={};for(const r of Object.keys(t))s[e(r)]=t[r];return s}))}camelCase(){return this.transformKeys(t.camelCase)}snakeCase(){return this.transformKeys(t.snakeCase)}constantCase(){return this.transformKeys((e=>t.snakeCase(e).toUpperCase()))}describe(e){const t=(e?this.resolve(e):this).clone(),s=super.describe(e);s.fields={};for(const[n,i]of Object.entries(t.fields)){var r;let t=e;null!=(r=t)&&r.value&&(t=Object.assign({},t,{parent:t.value,value:t.value[n]})),s.fields[n]=i.describe(t)}return s}}function le(e){return new ue(e)}ae.prototype=oe.prototype;class ue extends V{constructor(e){super({type:"array",spec:{types:e},check:e=>Array.isArray(e)}),this.innerType=void 0,this.innerType=e}_cast(e,t){const s=super._cast(e,t);if(!this._typeCheck(s)||!this.innerType)return s;let r=!1;const n=s.map(((e,s)=>{const n=this.innerType.cast(e,Object.assign({},t,{path:`${t.path||""}[${s}]`}));return n!==e&&(r=!0),n}));return r?n:s}_validate(e,t={},s,r){var n;let i=this.innerType,a=null!=(n=t.recursive)?n:this.spec.recursive;null!=t.originalValue&&t.originalValue,super._validate(e,t,s,((n,o)=>{var l;if(!a||!i||!this._typeCheck(o))return void r(n,o);let u=new Array(o.length);for(let s=0;s<o.length;s++){var c;u[s]=i.asNestedTest({options:t,index:s,parent:o,parentPath:t.path,originalParent:null!=(c=t.originalValue)?c:e})}this.runTests({value:o,tests:u,originalValue:null!=(l=t.originalValue)?l:e,options:t},s,(e=>r(e.concat(n),o)))}))}clone(e){const t=super.clone(e);return t.innerType=this.innerType,t}json(){return this.transform(te)}concat(e){let t=super.concat(e);return t.innerType=this.innerType,e.innerType&&(t.innerType=t.innerType?t.innerType.concat(e.innerType):e.innerType),t}of(e){let t=this.clone();if(!T(e))throw new TypeError("`array.of()` sub-schema must be a valid yup schema not: "+u(e));return t.innerType=e,t.spec=Object.assign({},t.spec,{types:e}),t}length(e,t=w.length){return this.test({message:t,name:"length",exclusive:!0,params:{length:e},skipAbsent:!0,test(t){return t.length===this.resolve(e)}})}min(e,t){return t=t||w.min,this.test({message:t,name:"min",exclusive:!0,params:{min:e},skipAbsent:!0,test(t){return t.length>=this.resolve(e)}})}max(e,t){return t=t||w.max,this.test({message:t,name:"max",exclusive:!0,params:{max:e},skipAbsent:!0,test(t){return t.length<=this.resolve(e)}})}ensure(){return this.default((()=>[])).transform(((e,t)=>this._typeCheck(e)?e:null==t?[]:[].concat(t)))}compact(e){let t=e?(t,s,r)=>!e(t,s,r):e=>!!e;return this.transform((e=>null!=e?e.filter(t):e))}describe(e){const t=(e?this.resolve(e):this).clone(),s=super.describe(e);if(t.innerType){var r;let n=e;null!=(r=n)&&r.value&&(n=Object.assign({},n,{parent:n.value,value:n.value[0]})),s.innerType=t.innerType.describe(n)}return s}}function ce(e){return new pe(e)}function he(e){try{return e()}catch(e){if(y.isError(e))return Promise.reject(e);throw e}}le.prototype=ue.prototype;class pe{constructor(e){this.type="lazy",this.__isYupSchema__=!0,this.spec=void 0,this._resolve=(e,t={})=>{let s=this.builder(e,t);if(!T(s))throw new TypeError("lazy() functions must return a valid schema");return this.spec.optional&&(s=s.optional()),s.resolve(t)},this.builder=e,this.spec={meta:void 0,optional:!1}}clone(e){const t=new pe(this.builder);return t.spec=Object.assign({},this.spec,e),t}optionality(e){return this.clone({optional:e})}optional(){return this.optionality(!0)}resolve(e){return this._resolve(e.value,e)}cast(e,t){return this._resolve(e,t).cast(e,t)}asNestedTest(e){let{key:t,index:s,parent:r,options:n}=e,i=r[null!=s?s:t];return this._resolve(i,Object.assign({},n,{value:i,parent:r})).asNestedTest(e)}validate(e,t){return he((()=>this._resolve(e,t).validate(e,t)))}validateSync(e,t){return this._resolve(e,t).validateSync(e,t)}validateAt(e,t,s){return he((()=>this._resolve(t,s).validateAt(e,t,s)))}validateSyncAt(e,t,s){return this._resolve(t,s).validateSyncAt(e,t,s)}isValid(e,t){try{return this._resolve(e,t).isValid(e,t)}catch(e){if(y.isError(e))return Promise.resolve(!1);throw e}}isValidSync(e,t){return this._resolve(e,t).isValidSync(e,t)}describe(e){return e?this.resolve(e).describe(e):{type:"lazy",meta:this.spec.meta,label:void 0}}meta(...e){if(0===e.length)return this.spec.meta;let t=this.clone();return t.spec.meta=Object.assign(t.spec.meta||{},e[0]),t}}export{ue as ArraySchema,I as BooleanSchema,W as DateSchema,pe as LazySchema,P as MixedSchema,oe as ObjectSchema,V as Schema,H as StringSchema,y as ValidationError,le as array,q as bool,q as boolean,A as getIn,T as isSchema,ce as lazy,z as mixed,ae as object,u as printValue,G as string};
1
+ import{p as e}from"../../_virtual/index6.js";import{t}from"../../_virtual/index3.js";import s from"../../_virtual/index4.js";const r=Object.prototype.toString,n=Error.prototype.toString,i=RegExp.prototype.toString,a="undefined"!=typeof Symbol?Symbol.prototype.toString:()=>"",o=/^Symbol\((.*)\)(.*)$/;function l(e,t=!1){if(null==e||!0===e||!1===e)return""+e;const s=typeof e;if("number"===s)return function(e){return e!=+e?"NaN":0===e&&1/e<0?"-0":""+e}(e);if("string"===s)return t?`"${e}"`:e;if("function"===s)return"[Function "+(e.name||"anonymous")+"]";if("symbol"===s)return a.call(e).replace(o,"Symbol($1)");const l=r.call(e).slice(8,-1);return"Date"===l?isNaN(e.getTime())?""+e:e.toISOString(e):"Error"===l||e instanceof Error?"["+n.call(e)+"]":"RegExp"===l?i.call(e):null}function u(e,t){let s=l(e,t);return null!==s?s:JSON.stringify(e,(function(e,s){let r=l(this[e],t);return null!==r?r:s}),2)}function c(e){return null==e?[]:[].concat(e)}let h,p,d,f=/\$\{\s*(\w+)\s*\}/g;h=Symbol.toStringTag;class m{constructor(e,t,s,r){this.name=void 0,this.message=void 0,this.value=void 0,this.path=void 0,this.type=void 0,this.params=void 0,this.errors=void 0,this.inner=void 0,this[h]="Error",this.name="ValidationError",this.value=t,this.path=s,this.type=r,this.errors=[],this.inner=[],c(e).forEach((e=>{if(y.isError(e)){this.errors.push(...e.errors);const t=e.inner.length?e.inner:[e];this.inner.push(...t)}else this.errors.push(e)})),this.message=this.errors.length>1?`${this.errors.length} errors occurred`:this.errors[0]}}p=Symbol.hasInstance,d=Symbol.toStringTag;class y extends Error{static formatError(e,t){const s=t.label||t.path||"this";return t=Object.assign({},t,{path:s,originalPath:t.path}),"string"==typeof e?e.replace(f,((e,s)=>u(t[s]))):"function"==typeof e?e(t):e}static isError(e){return e&&"ValidationError"===e.name}constructor(e,t,s,r,n){const i=new m(e,t,s,r);if(n)return i;super(),this.value=void 0,this.path=void 0,this.type=void 0,this.params=void 0,this.errors=[],this.inner=[],this[d]="Error",this.name=i.name,this.message=i.message,this.type=i.type,this.value=i.value,this.path=i.path,this.errors=i.errors,this.inner=i.inner,Error.captureStackTrace&&Error.captureStackTrace(this,y)}static[p](e){return m[Symbol.hasInstance](e)||super[Symbol.hasInstance](e)}}let v={default:"${path} is invalid",required:"${path} is a required field",defined:"${path} must be defined",notNull:"${path} cannot be null",oneOf:"${path} must be one of the following values: ${values}",notOneOf:"${path} must not be one of the following values: ${values}",notType:({path:e,type:t,value:s,originalValue:r})=>{const n=null!=r&&r!==s?` (cast from the value \`${u(r,!0)}\`).`:".";return"mixed"!==t?`${e} must be a \`${t}\` type, but the final value was: \`${u(s,!0)}\``+n:`${e} must match the configured type. The validated value was: \`${u(s,!0)}\``+n}},g={length:"${path} must be exactly ${length} characters",min:"${path} must be at least ${min} characters",max:"${path} must be at most ${max} characters",matches:'${path} must match the following: "${regex}"',email:"${path} must be a valid email",url:"${path} must be a valid URL",uuid:"${path} must be a valid UUID",datetime:"${path} must be a valid ISO date-time",datetime_precision:"${path} must be a valid ISO date-time with a sub-second precision of exactly ${precision} digits",datetime_offset:'${path} must be a valid ISO date-time with UTC "Z" timezone',trim:"${path} must be a trimmed string",lowercase:"${path} must be a lowercase string",uppercase:"${path} must be a upper case string"},b={min:"${path} field must be later than ${min}",max:"${path} field must be at earlier than ${max}"},F={isValue:"${path} field must be ${value}"},_={noUnknown:"${path} field has unspecified keys: ${unknown}",exact:"${path} object contains unknown properties: ${properties}"},w={min:"${path} field must have at least ${min} items",max:"${path} field must have less than or equal to ${max} items",length:"${path} must have ${length} items"},x={notType:e=>{const{path:t,value:s,spec:r}=e,n=r.types.length;if(Array.isArray(s)){if(s.length<n)return`${t} tuple value has too few items, expected a length of ${n} but got ${s.length} for value: \`${u(s,!0)}\``;if(s.length>n)return`${t} tuple value has too many items, expected a length of ${n} but got ${s.length} for value: \`${u(s,!0)}\``}return y.formatError(v.notType,e)}};Object.assign(Object.create(null),{mixed:v,string:g,number:{min:"${path} must be greater than or equal to ${min}",max:"${path} must be less than or equal to ${max}",lessThan:"${path} must be less than ${less}",moreThan:"${path} must be greater than ${more}",positive:"${path} must be a positive number",negative:"${path} must be a negative number",integer:"${path} must be an integer"},date:b,object:_,array:w,boolean:F,tuple:x});const T=e=>e&&e.__isYupSchema__;class ${static fromOptions(e,t){if(!t.then&&!t.otherwise)throw new TypeError("either `then:` or `otherwise:` is required for `when()` conditions");let{is:s,then:r,otherwise:n}=t,i="function"==typeof s?s:(...e)=>e.every((e=>e===s));return new $(e,((e,t)=>{var s;let a=i(...e)?r:n;return null!=(s=null==a?void 0:a(t))?s:t}))}constructor(e,t){this.fn=void 0,this.refs=e,this.refs=e,this.fn=t}resolve(e,t){let s=this.refs.map((e=>e.getValue(null==t?void 0:t.value,null==t?void 0:t.parent,null==t?void 0:t.context))),r=this.fn(s,e,t);if(void 0===r||r===e)return e;if(!T(r))throw new TypeError("conditions must return a schema object");return r.resolve(t)}}const O="$",k=".";class E{constructor(t,s={}){if(this.key=void 0,this.isContext=void 0,this.isValue=void 0,this.isSibling=void 0,this.path=void 0,this.getter=void 0,this.map=void 0,"string"!=typeof t)throw new TypeError("ref must be a string, got: "+t);if(this.key=t.trim(),""===t)throw new TypeError("ref must be a non-empty string");this.isContext=this.key[0]===O,this.isValue=this.key[0]===k,this.isSibling=!this.isContext&&!this.isValue;let r=this.isContext?O:this.isValue?k:"";this.path=this.key.slice(r.length),this.getter=this.path&&e.getter(this.path,!0),this.map=s.map}getValue(e,t,s){let r=this.isContext?s:this.isValue?e:t;return this.getter&&(r=this.getter(r||{})),this.map&&(r=this.map(r)),r}cast(e,t){return this.getValue(e,null==t?void 0:t.parent,null==t?void 0:t.context)}resolve(){return this}describe(){return{type:"ref",key:this.key}}toString(){return`Ref(${this.key})`}static isRef(e){return e&&e.__isYupRef}}E.prototype.__isYupRef=!0;const S=e=>null==e;function j(e){function t({value:t,path:s="",options:r,originalValue:n,schema:i},a,o){const{name:l,test:u,params:c,message:h,skipAbsent:p}=e;let{parent:d,context:f,abortEarly:m=i.spec.abortEarly,disableStackTrace:v=i.spec.disableStackTrace}=r;function g(e){return E.isRef(e)?e.getValue(t,d,f):e}function b(e={}){const r=Object.assign({value:t,originalValue:n,label:i.spec.label,path:e.path||s,spec:i.spec,disableStackTrace:e.disableStackTrace||v},c,e.params);for(const e of Object.keys(r))r[e]=g(r[e]);const a=new y(y.formatError(e.message||h,r),t,r.path,e.type||l,r.disableStackTrace);return a.params=r,a}const F=m?a:o;let _={path:s,parent:d,type:l,from:r.from,createError:b,resolve:g,options:r,originalValue:n,schema:i};const w=e=>{y.isError(e)?F(e):e?o(null):F(b())},x=e=>{y.isError(e)?F(e):a(e)};if(p&&S(t))return w(!0);let T;try{var $;if(T=u.call(_,t,_),"function"==typeof(null==($=T)?void 0:$.then)){if(r.sync)throw new Error(`Validation test of type: "${_.type}" returned a Promise during a synchronous validate. This test will finish after the validate call has returned`);return Promise.resolve(T).then(w,x)}}catch(e){return void x(e)}w(T)}return t.OPTIONS=e,t}function A(t,s,r,n=r){let i,a,o;return s?(e.forEach(s,((e,l,u)=>{let c=l?e.slice(1,e.length-1):e,h="tuple"===(t=t.resolve({context:n,parent:i,value:r})).type,p=u?parseInt(c,10):0;if(t.innerType||h){if(h&&!u)throw new Error(`Yup.reach cannot implicitly index into a tuple type. the path part "${o}" must contain an index to the tuple element, e.g. "${o}[0]"`);if(r&&p>=r.length)throw new Error(`Yup.reach cannot resolve an array item at index: ${e}, in the path: ${s}. because there is no value at that index. `);i=r,r=r&&r[p],t=h?t.spec.types[p]:t.innerType}if(!u){if(!t.fields||!t.fields[c])throw new Error(`The schema does not contain the path: ${s}. (failed at: ${o} which is a type: "${t.type}")`);i=r,r=r&&r[c],t=t.fields[c]}a=c,o=l?"["+e+"]":"."+e})),{schema:t,parent:i,parentPath:a}):{parent:i,parentPath:s,schema:t}}class D extends Set{describe(){const e=[];for(const t of this.values())e.push(E.isRef(t)?t.describe():t);return e}resolveAll(e){let t=[];for(const s of this.values())t.push(e(s));return t}clone(){return new D(this.values())}merge(e,t){const s=this.clone();return e.forEach((e=>s.add(e))),t.forEach((e=>s.delete(e))),s}}function C(e,t=new Map){if(T(e)||!e||"object"!=typeof e)return e;if(t.has(e))return t.get(e);let s;if(e instanceof Date)s=new Date(e.getTime()),t.set(e,s);else if(e instanceof RegExp)s=new RegExp(e),t.set(e,s);else if(Array.isArray(e)){s=new Array(e.length),t.set(e,s);for(let r=0;r<e.length;r++)s[r]=C(e[r],t)}else if(e instanceof Map){s=new Map,t.set(e,s);for(const[r,n]of e.entries())s.set(r,C(n,t))}else if(e instanceof Set){s=new Set,t.set(e,s);for(const r of e)s.add(C(r,t))}else{if(!(e instanceof Object))throw Error(`Unable to clone ${e}`);s={},t.set(e,s);for(const[r,n]of Object.entries(e))s[r]=C(n,t)}return s}class V{constructor(e){this.type=void 0,this.deps=[],this.tests=void 0,this.transforms=void 0,this.conditions=[],this._mutate=void 0,this.internalTests={},this._whitelist=new D,this._blacklist=new D,this.exclusiveTests=Object.create(null),this._typeCheck=void 0,this.spec=void 0,this.tests=[],this.transforms=[],this.withMutation((()=>{this.typeError(v.notType)})),this.type=e.type,this._typeCheck=e.check,this.spec=Object.assign({strip:!1,strict:!1,abortEarly:!0,recursive:!0,disableStackTrace:!1,nullable:!1,optional:!0,coerce:!0},null==e?void 0:e.spec),this.withMutation((e=>{e.nonNullable()}))}get _type(){return this.type}clone(e){if(this._mutate)return e&&Object.assign(this.spec,e),this;const t=Object.create(Object.getPrototypeOf(this));return t.type=this.type,t._typeCheck=this._typeCheck,t._whitelist=this._whitelist.clone(),t._blacklist=this._blacklist.clone(),t.internalTests=Object.assign({},this.internalTests),t.exclusiveTests=Object.assign({},this.exclusiveTests),t.deps=[...this.deps],t.conditions=[...this.conditions],t.tests=[...this.tests],t.transforms=[...this.transforms],t.spec=C(Object.assign({},this.spec,e)),t}label(e){let t=this.clone();return t.spec.label=e,t}meta(...e){if(0===e.length)return this.spec.meta;let t=this.clone();return t.spec.meta=Object.assign(t.spec.meta||{},e[0]),t}withMutation(e){let t=this._mutate;this._mutate=!0;let s=e(this);return this._mutate=t,s}concat(e){if(!e||e===this)return this;if(e.type!==this.type&&"mixed"!==this.type)throw new TypeError(`You cannot \`concat()\` schema's of different types: ${this.type} and ${e.type}`);let t=this,s=e.clone();const r=Object.assign({},t.spec,s.spec);return s.spec=r,s.internalTests=Object.assign({},t.internalTests,s.internalTests),s._whitelist=t._whitelist.merge(e._whitelist,e._blacklist),s._blacklist=t._blacklist.merge(e._blacklist,e._whitelist),s.tests=t.tests,s.exclusiveTests=t.exclusiveTests,s.withMutation((t=>{e.tests.forEach((e=>{t.test(e.OPTIONS)}))})),s.transforms=[...t.transforms,...s.transforms],s}isType(e){return null==e?!(!this.spec.nullable||null!==e)||!(!this.spec.optional||void 0!==e):this._typeCheck(e)}resolve(e){let t=this;if(t.conditions.length){let s=t.conditions;t=t.clone(),t.conditions=[],t=s.reduce(((t,s)=>s.resolve(t,e)),t),t=t.resolve(e)}return t}resolveOptions(e){var t,s,r,n;return Object.assign({},e,{from:e.from||[],strict:null!=(t=e.strict)?t:this.spec.strict,abortEarly:null!=(s=e.abortEarly)?s:this.spec.abortEarly,recursive:null!=(r=e.recursive)?r:this.spec.recursive,disableStackTrace:null!=(n=e.disableStackTrace)?n:this.spec.disableStackTrace})}cast(e,t={}){let s=this.resolve(Object.assign({value:e},t)),r="ignore-optionality"===t.assert,n=s._cast(e,t);if(!1!==t.assert&&!s.isType(n)){if(r&&S(n))return n;let i=u(e),a=u(n);throw new TypeError(`The value of ${t.path||"field"} could not be cast to a value that satisfies the schema type: "${s.type}". \n\nattempted value: ${i} \n`+(a!==i?`result of cast: ${a}`:""))}return n}_cast(e,t){let s=void 0===e?e:this.transforms.reduce(((t,s)=>s.call(this,t,e,this)),e);return void 0===s&&(s=this.getDefault(t)),s}_validate(e,t={},s,r){let{path:n,originalValue:i=e,strict:a=this.spec.strict}=t,o=e;a||(o=this._cast(o,Object.assign({assert:!1},t)));let l=[];for(let e of Object.values(this.internalTests))e&&l.push(e);this.runTests({path:n,value:o,originalValue:i,options:t,tests:l},s,(e=>{if(e.length)return r(e,o);this.runTests({path:n,value:o,originalValue:i,options:t,tests:this.tests},s,r)}))}runTests(e,t,s){let r=!1,{tests:n,value:i,originalValue:a,path:o,options:l}=e,u=e=>{r||(r=!0,t(e,i))},c=e=>{r||(r=!0,s(e,i))},h=n.length,p=[];if(!h)return c([]);let d={value:i,originalValue:a,path:o,options:l,schema:this};for(let e=0;e<n.length;e++){(0,n[e])(d,u,(function(e){e&&(Array.isArray(e)?p.push(...e):p.push(e)),--h<=0&&c(p)}))}}asNestedTest({key:e,index:t,parent:s,parentPath:r,originalParent:n,options:i}){const a=null!=e?e:t;if(null==a)throw TypeError("Must include `key` or `index` for nested validations");const o="number"==typeof a;let l=s[a];const u=Object.assign({},i,{strict:!0,parent:s,value:l,originalValue:n[a],key:void 0,[o?"index":"key"]:a,path:o||a.includes(".")?`${r||""}[${o?a:`"${a}"`}]`:(r?`${r}.`:"")+e});return(e,t,s)=>this.resolve(u)._validate(l,u,t,s)}validate(e,t){var s;let r=this.resolve(Object.assign({},t,{value:e})),n=null!=(s=null==t?void 0:t.disableStackTrace)?s:r.spec.disableStackTrace;return new Promise(((s,i)=>r._validate(e,t,((e,t)=>{y.isError(e)&&(e.value=t),i(e)}),((e,t)=>{e.length?i(new y(e,t,void 0,void 0,n)):s(t)}))))}validateSync(e,t){var s;let r,n=this.resolve(Object.assign({},t,{value:e})),i=null!=(s=null==t?void 0:t.disableStackTrace)?s:n.spec.disableStackTrace;return n._validate(e,Object.assign({},t,{sync:!0}),((e,t)=>{throw y.isError(e)&&(e.value=t),e}),((t,s)=>{if(t.length)throw new y(t,e,void 0,void 0,i);r=s})),r}isValid(e,t){return this.validate(e,t).then((()=>!0),(e=>{if(y.isError(e))return!1;throw e}))}isValidSync(e,t){try{return this.validateSync(e,t),!0}catch(e){if(y.isError(e))return!1;throw e}}_getDefault(e){let t=this.spec.default;return null==t?t:"function"==typeof t?t.call(this,e):C(t)}getDefault(e){return this.resolve(e||{})._getDefault(e)}default(e){if(0===arguments.length)return this._getDefault();return this.clone({default:e})}strict(e=!0){return this.clone({strict:e})}nullability(e,t){const s=this.clone({nullable:e});return s.internalTests.nullable=j({message:t,name:"nullable",test(e){return null!==e||this.schema.spec.nullable}}),s}optionality(e,t){const s=this.clone({optional:e});return s.internalTests.optionality=j({message:t,name:"optionality",test(e){return void 0!==e||this.schema.spec.optional}}),s}optional(){return this.optionality(!0)}defined(e=v.defined){return this.optionality(!1,e)}nullable(){return this.nullability(!0)}nonNullable(e=v.notNull){return this.nullability(!1,e)}required(e=v.required){return this.clone().withMutation((t=>t.nonNullable(e).defined(e)))}notRequired(){return this.clone().withMutation((e=>e.nullable().optional()))}transform(e){let t=this.clone();return t.transforms.push(e),t}test(...e){let t;if(t=1===e.length?"function"==typeof e[0]?{test:e[0]}:e[0]:2===e.length?{name:e[0],test:e[1]}:{name:e[0],message:e[1],test:e[2]},void 0===t.message&&(t.message=v.default),"function"!=typeof t.test)throw new TypeError("`test` is a required parameters");let s=this.clone(),r=j(t),n=t.exclusive||t.name&&!0===s.exclusiveTests[t.name];if(t.exclusive&&!t.name)throw new TypeError("Exclusive tests must provide a unique `name` identifying the test");return t.name&&(s.exclusiveTests[t.name]=!!t.exclusive),s.tests=s.tests.filter((e=>{if(e.OPTIONS.name===t.name){if(n)return!1;if(e.OPTIONS.test===r.OPTIONS.test)return!1}return!0})),s.tests.push(r),s}when(e,t){Array.isArray(e)||"string"==typeof e||(t=e,e=".");let s=this.clone(),r=c(e).map((e=>new E(e)));return r.forEach((e=>{e.isSibling&&s.deps.push(e.key)})),s.conditions.push("function"==typeof t?new $(r,t):$.fromOptions(r,t)),s}typeError(e){let t=this.clone();return t.internalTests.typeError=j({message:e,name:"typeError",skipAbsent:!0,test(e){return!!this.schema._typeCheck(e)||this.createError({params:{type:this.schema.type}})}}),t}oneOf(e,t=v.oneOf){let s=this.clone();return e.forEach((e=>{s._whitelist.add(e),s._blacklist.delete(e)})),s.internalTests.whiteList=j({message:t,name:"oneOf",skipAbsent:!0,test(e){let t=this.schema._whitelist,s=t.resolveAll(this.resolve);return!!s.includes(e)||this.createError({params:{values:Array.from(t).join(", "),resolved:s}})}}),s}notOneOf(e,t=v.notOneOf){let s=this.clone();return e.forEach((e=>{s._blacklist.add(e),s._whitelist.delete(e)})),s.internalTests.blacklist=j({message:t,name:"notOneOf",test(e){let t=this.schema._blacklist,s=t.resolveAll(this.resolve);return!s.includes(e)||this.createError({params:{values:Array.from(t).join(", "),resolved:s}})}}),s}strip(e=!0){let t=this.clone();return t.spec.strip=e,t}describe(e){const t=(e?this.resolve(e):this).clone(),{label:s,meta:r,optional:n,nullable:i}=t.spec;return{meta:r,label:s,optional:n,nullable:i,default:t.getDefault(e),type:t.type,oneOf:t._whitelist.describe(),notOneOf:t._blacklist.describe(),tests:t.tests.map((e=>({name:e.OPTIONS.name,params:e.OPTIONS.params}))).filter(((e,t,s)=>s.findIndex((t=>t.name===e.name))===t))}}}V.prototype.__isYupSchema__=!0;for(const e of["validate","validateSync"])V.prototype[`${e}At`]=function(t,s,r={}){const{parent:n,parentPath:i,schema:a}=A(this,t,s,r.context);return a[e](n&&n[i],Object.assign({},r,{parent:n,path:t}))};for(const e of["equals","is"])V.prototype[e]=V.prototype.oneOf;for(const e of["not","nope"])V.prototype[e]=V.prototype.notOneOf;const N=()=>!0;function z(e){return new P(e)}class P extends V{constructor(e){super("function"==typeof e?{type:"mixed",check:e}:Object.assign({type:"mixed",check:N},e))}}function q(){return new I}z.prototype=P.prototype;class I extends V{constructor(){super({type:"boolean",check:e=>(e instanceof Boolean&&(e=e.valueOf()),"boolean"==typeof e)}),this.withMutation((()=>{this.transform(((e,t,s)=>{if(s.spec.coerce&&!s.isType(e)){if(/^(true|1)$/i.test(String(e)))return!0;if(/^(false|0)$/i.test(String(e)))return!1}return e}))}))}isTrue(e=F.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"true"},test:e=>S(e)||!0===e})}isFalse(e=F.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"false"},test:e=>S(e)||!1===e})}default(e){return super.default(e)}defined(e){return super.defined(e)}optional(){return super.optional()}required(e){return super.required(e)}notRequired(){return super.notRequired()}nullable(){return super.nullable()}nonNullable(e){return super.nonNullable(e)}strip(e){return super.strip(e)}}q.prototype=I.prototype;const M=/^(\d{4}|[+-]\d{6})(?:-?(\d{2})(?:-?(\d{2}))?)?(?:[ T]?(\d{2}):?(\d{2})(?::?(\d{2})(?:[,.](\d{1,}))?)?(?:(Z)|([+-])(\d{2})(?::?(\d{2}))?)?)?$/;function R(e){var t,s;const r=M.exec(e);return r?{year:U(r[1]),month:U(r[2],1)-1,day:U(r[3],1),hour:U(r[4]),minute:U(r[5]),second:U(r[6]),millisecond:r[7]?U(r[7].substring(0,3)):0,precision:null!=(t=null==(s=r[7])?void 0:s.length)?t:void 0,z:r[8]||void 0,plusMinus:r[9]||void 0,hourOffset:U(r[10]),minuteOffset:U(r[11])}:null}function U(e,t=0){return Number(e)||t}let Z=/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,Y=/^((https?|ftp):)?\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,L=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,K=new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(([+-]\\d{2}(:?\\d{2})?)|Z)$"),J=e=>S(e)||e===e.trim(),B={}.toString();function G(){return new H}class H extends V{constructor(){super({type:"string",check:e=>(e instanceof String&&(e=e.valueOf()),"string"==typeof e)}),this.withMutation((()=>{this.transform(((e,t,s)=>{if(!s.spec.coerce||s.isType(e))return e;if(Array.isArray(e))return e;const r=null!=e&&e.toString?e.toString():e;return r===B?e:r}))}))}required(e){return super.required(e).withMutation((t=>t.test({message:e||v.required,name:"required",skipAbsent:!0,test:e=>!!e.length})))}notRequired(){return super.notRequired().withMutation((e=>(e.tests=e.tests.filter((e=>"required"!==e.OPTIONS.name)),e)))}length(e,t=g.length){return this.test({message:t,name:"length",exclusive:!0,params:{length:e},skipAbsent:!0,test(t){return t.length===this.resolve(e)}})}min(e,t=g.min){return this.test({message:t,name:"min",exclusive:!0,params:{min:e},skipAbsent:!0,test(t){return t.length>=this.resolve(e)}})}max(e,t=g.max){return this.test({name:"max",exclusive:!0,message:t,params:{max:e},skipAbsent:!0,test(t){return t.length<=this.resolve(e)}})}matches(e,t){let s,r,n=!1;return t&&("object"==typeof t?({excludeEmptyString:n=!1,message:s,name:r}=t):s=t),this.test({name:r||"matches",message:s||g.matches,params:{regex:e},skipAbsent:!0,test:t=>""===t&&n||-1!==t.search(e)})}email(e=g.email){return this.matches(Z,{name:"email",message:e,excludeEmptyString:!0})}url(e=g.url){return this.matches(Y,{name:"url",message:e,excludeEmptyString:!0})}uuid(e=g.uuid){return this.matches(L,{name:"uuid",message:e,excludeEmptyString:!1})}datetime(e){let t,s,r="";return e&&("object"==typeof e?({message:r="",allowOffset:t=!1,precision:s}=e):r=e),this.matches(K,{name:"datetime",message:r||g.datetime,excludeEmptyString:!0}).test({name:"datetime_offset",message:r||g.datetime_offset,params:{allowOffset:t},skipAbsent:!0,test:e=>{if(!e||t)return!0;const s=R(e);return!!s&&!!s.z}}).test({name:"datetime_precision",message:r||g.datetime_precision,params:{precision:s},skipAbsent:!0,test:e=>{if(!e||null==s)return!0;const t=R(e);return!!t&&t.precision===s}})}ensure(){return this.default("").transform((e=>null===e?"":e))}trim(e=g.trim){return this.transform((e=>null!=e?e.trim():e)).test({message:e,name:"trim",test:J})}lowercase(e=g.lowercase){return this.transform((e=>S(e)?e:e.toLowerCase())).test({message:e,name:"string_case",exclusive:!0,skipAbsent:!0,test:e=>S(e)||e===e.toLowerCase()})}uppercase(e=g.uppercase){return this.transform((e=>S(e)?e:e.toUpperCase())).test({message:e,name:"string_case",exclusive:!0,skipAbsent:!0,test:e=>S(e)||e===e.toUpperCase()})}}G.prototype=H.prototype;let Q=new Date("");class W extends V{constructor(){super({type:"date",check(e){return t=e,"[object Date]"===Object.prototype.toString.call(t)&&!isNaN(e.getTime());var t}}),this.withMutation((()=>{this.transform(((e,t,s)=>!s.spec.coerce||s.isType(e)||null===e?e:(e=function(e){const t=R(e);if(!t)return Date.parse?Date.parse(e):Number.NaN;if(void 0===t.z&&void 0===t.plusMinus)return new Date(t.year,t.month,t.day,t.hour,t.minute,t.second,t.millisecond).valueOf();let s=0;return"Z"!==t.z&&void 0!==t.plusMinus&&(s=60*t.hourOffset+t.minuteOffset,"+"===t.plusMinus&&(s=0-s)),Date.UTC(t.year,t.month,t.day,t.hour,t.minute+s,t.second,t.millisecond)}(e),isNaN(e)?W.INVALID_DATE:new Date(e))))}))}prepareParam(e,t){let s;if(E.isRef(e))s=e;else{let r=this.cast(e);if(!this._typeCheck(r))throw new TypeError(`\`${t}\` must be a Date or a value that can be \`cast()\` to a Date`);s=r}return s}min(e,t=b.min){let s=this.prepareParam(e,"min");return this.test({message:t,name:"min",exclusive:!0,params:{min:e},skipAbsent:!0,test(e){return e>=this.resolve(s)}})}max(e,t=b.max){let s=this.prepareParam(e,"max");return this.test({message:t,name:"max",exclusive:!0,params:{max:e},skipAbsent:!0,test(e){return e<=this.resolve(s)}})}}function X(e,t){let s=1/0;return e.some(((e,r)=>{var n;if(null!=(n=t.path)&&n.includes(e))return s=r,!0})),s}function ee(e){return(t,s)=>X(e,t)-X(e,s)}W.INVALID_DATE=Q,W.prototype;const te=(e,t,s)=>{if("string"!=typeof e)return e;let r=e;try{r=JSON.parse(e)}catch(e){}return s.isType(r)?r:e};function se(e){if("fields"in e){const t={};for(const[s,r]of Object.entries(e.fields))t[s]=se(r);return e.setFields(t)}if("array"===e.type){const t=e.optional();return t.innerType&&(t.innerType=se(t.innerType)),t}return"tuple"===e.type?e.optional().clone({types:e.spec.types.map(se)}):"optional"in e?e.optional():e}let re=e=>"[object Object]"===Object.prototype.toString.call(e);function ne(e,t){let s=Object.keys(e.fields);return Object.keys(t).filter((e=>-1===s.indexOf(e)))}const ie=ee([]);function ae(e){return new oe(e)}class oe extends V{constructor(e){super({type:"object",check:e=>re(e)||"function"==typeof e}),this.fields=Object.create(null),this._sortErrors=ie,this._nodes=[],this._excludedEdges=[],this.withMutation((()=>{e&&this.shape(e)}))}_cast(e,t={}){var s;let r=super._cast(e,t);if(void 0===r)return this.getDefault(t);if(!this._typeCheck(r))return r;let n=this.fields,i=null!=(s=t.stripUnknown)?s:this.spec.noUnknown,a=[].concat(this._nodes,Object.keys(r).filter((e=>!this._nodes.includes(e)))),o={},l=Object.assign({},t,{parent:o,__validating:t.__validating||!1}),u=!1;for(const e of a){let s=n[e],a=e in r;if(s){let n,i=r[e];l.path=(t.path?`${t.path}.`:"")+e,s=s.resolve({value:i,context:t.context,parent:o});let a=s instanceof V?s.spec:void 0,c=null==a?void 0:a.strict;if(null!=a&&a.strip){u=u||e in r;continue}n=t.__validating&&c?r[e]:s.cast(r[e],l),void 0!==n&&(o[e]=n)}else a&&!i&&(o[e]=r[e]);a===e in o&&o[e]===r[e]||(u=!0)}return u?o:r}_validate(e,t={},s,r){let{from:n=[],originalValue:i=e,recursive:a=this.spec.recursive}=t;t.from=[{schema:this,value:i},...n],t.__validating=!0,t.originalValue=i,super._validate(e,t,s,((e,n)=>{if(!a||!re(n))return void r(e,n);i=i||n;let o=[];for(let e of this._nodes){let s=this.fields[e];s&&!E.isRef(s)&&o.push(s.asNestedTest({options:t,key:e,parent:n,parentPath:t.path,originalParent:i}))}this.runTests({tests:o,value:n,originalValue:i,options:t},s,(t=>{r(t.sort(this._sortErrors).concat(e),n)}))}))}clone(e){const t=super.clone(e);return t.fields=Object.assign({},this.fields),t._nodes=this._nodes,t._excludedEdges=this._excludedEdges,t._sortErrors=this._sortErrors,t}concat(e){let t=super.concat(e),s=t.fields;for(let[e,t]of Object.entries(this.fields)){const r=s[e];s[e]=void 0===r?t:r}return t.withMutation((t=>t.setFields(s,[...this._excludedEdges,...e._excludedEdges])))}_getDefault(e){if("default"in this.spec)return super._getDefault(e);if(!this._nodes.length)return;let t={};return this._nodes.forEach((s=>{var r;const n=this.fields[s];let i=e;null!=(r=i)&&r.value&&(i=Object.assign({},i,{parent:i.value,value:i.value[s]})),t[s]=n&&"getDefault"in n?n.getDefault(i):void 0})),t}setFields(t,r){let n=this.clone();return n.fields=t,n._nodes=function(t,r=[]){let n=[],i=new Set,a=new Set(r.map((([e,t])=>`${e}-${t}`)));function o(t,s){let r=e.split(t)[0];i.add(r),a.has(`${s}-${r}`)||n.push([s,r])}for(const e of Object.keys(t)){let s=t[e];i.add(e),E.isRef(s)&&s.isSibling?o(s.path,e):T(s)&&"deps"in s&&s.deps.forEach((t=>o(t,e)))}return s.array(Array.from(i),n).reverse()}(t,r),n._sortErrors=ee(Object.keys(t)),r&&(n._excludedEdges=r),n}shape(e,t=[]){return this.clone().withMutation((s=>{let r=s._excludedEdges;return t.length&&(Array.isArray(t[0])||(t=[t]),r=[...s._excludedEdges,...t]),s.setFields(Object.assign(s.fields,e),r)}))}partial(){const e={};for(const[t,s]of Object.entries(this.fields))e[t]="optional"in s&&s.optional instanceof Function?s.optional():s;return this.setFields(e)}deepPartial(){return se(this)}pick(e){const t={};for(const s of e)this.fields[s]&&(t[s]=this.fields[s]);return this.setFields(t,this._excludedEdges.filter((([t,s])=>e.includes(t)&&e.includes(s))))}omit(e){const t=[];for(const s of Object.keys(this.fields))e.includes(s)||t.push(s);return this.pick(t)}from(t,s,r){let n=e.getter(t,!0);return this.transform((i=>{if(!i)return i;let a=i;return((t,s)=>{const r=[...e.normalizePath(s)];if(1===r.length)return r[0]in t;let n=r.pop(),i=e.getter(e.join(r),!0)(t);return!(!i||!(n in i))})(i,t)&&(a=Object.assign({},i),r||delete a[t],a[s]=n(i)),a}))}json(){return this.transform(te)}exact(e){return this.test({name:"exact",exclusive:!0,message:e||_.exact,test(e){if(null==e)return!0;const t=ne(this.schema,e);return 0===t.length||this.createError({params:{properties:t.join(", ")}})}})}stripUnknown(){return this.clone({noUnknown:!0})}noUnknown(e=!0,t=_.noUnknown){"boolean"!=typeof e&&(t=e,e=!0);let s=this.test({name:"noUnknown",exclusive:!0,message:t,test(t){if(null==t)return!0;const s=ne(this.schema,t);return!e||0===s.length||this.createError({params:{unknown:s.join(", ")}})}});return s.spec.noUnknown=e,s}unknown(e=!0,t=_.noUnknown){return this.noUnknown(!e,t)}transformKeys(e){return this.transform((t=>{if(!t)return t;const s={};for(const r of Object.keys(t))s[e(r)]=t[r];return s}))}camelCase(){return this.transformKeys(t.camelCase)}snakeCase(){return this.transformKeys(t.snakeCase)}constantCase(){return this.transformKeys((e=>t.snakeCase(e).toUpperCase()))}describe(e){const t=(e?this.resolve(e):this).clone(),s=super.describe(e);s.fields={};for(const[n,i]of Object.entries(t.fields)){var r;let t=e;null!=(r=t)&&r.value&&(t=Object.assign({},t,{parent:t.value,value:t.value[n]})),s.fields[n]=i.describe(t)}return s}}function le(e){return new ue(e)}ae.prototype=oe.prototype;class ue extends V{constructor(e){super({type:"array",spec:{types:e},check:e=>Array.isArray(e)}),this.innerType=void 0,this.innerType=e}_cast(e,t){const s=super._cast(e,t);if(!this._typeCheck(s)||!this.innerType)return s;let r=!1;const n=s.map(((e,s)=>{const n=this.innerType.cast(e,Object.assign({},t,{path:`${t.path||""}[${s}]`}));return n!==e&&(r=!0),n}));return r?n:s}_validate(e,t={},s,r){var n;let i=this.innerType,a=null!=(n=t.recursive)?n:this.spec.recursive;null!=t.originalValue&&t.originalValue,super._validate(e,t,s,((n,o)=>{var l;if(!a||!i||!this._typeCheck(o))return void r(n,o);let u=new Array(o.length);for(let s=0;s<o.length;s++){var c;u[s]=i.asNestedTest({options:t,index:s,parent:o,parentPath:t.path,originalParent:null!=(c=t.originalValue)?c:e})}this.runTests({value:o,tests:u,originalValue:null!=(l=t.originalValue)?l:e,options:t},s,(e=>r(e.concat(n),o)))}))}clone(e){const t=super.clone(e);return t.innerType=this.innerType,t}json(){return this.transform(te)}concat(e){let t=super.concat(e);return t.innerType=this.innerType,e.innerType&&(t.innerType=t.innerType?t.innerType.concat(e.innerType):e.innerType),t}of(e){let t=this.clone();if(!T(e))throw new TypeError("`array.of()` sub-schema must be a valid yup schema not: "+u(e));return t.innerType=e,t.spec=Object.assign({},t.spec,{types:e}),t}length(e,t=w.length){return this.test({message:t,name:"length",exclusive:!0,params:{length:e},skipAbsent:!0,test(t){return t.length===this.resolve(e)}})}min(e,t){return t=t||w.min,this.test({message:t,name:"min",exclusive:!0,params:{min:e},skipAbsent:!0,test(t){return t.length>=this.resolve(e)}})}max(e,t){return t=t||w.max,this.test({message:t,name:"max",exclusive:!0,params:{max:e},skipAbsent:!0,test(t){return t.length<=this.resolve(e)}})}ensure(){return this.default((()=>[])).transform(((e,t)=>this._typeCheck(e)?e:null==t?[]:[].concat(t)))}compact(e){let t=e?(t,s,r)=>!e(t,s,r):e=>!!e;return this.transform((e=>null!=e?e.filter(t):e))}describe(e){const t=(e?this.resolve(e):this).clone(),s=super.describe(e);if(t.innerType){var r;let n=e;null!=(r=n)&&r.value&&(n=Object.assign({},n,{parent:n.value,value:n.value[0]})),s.innerType=t.innerType.describe(n)}return s}}function ce(e){return new pe(e)}function he(e){try{return e()}catch(e){if(y.isError(e))return Promise.reject(e);throw e}}le.prototype=ue.prototype;class pe{constructor(e){this.type="lazy",this.__isYupSchema__=!0,this.spec=void 0,this._resolve=(e,t={})=>{let s=this.builder(e,t);if(!T(s))throw new TypeError("lazy() functions must return a valid schema");return this.spec.optional&&(s=s.optional()),s.resolve(t)},this.builder=e,this.spec={meta:void 0,optional:!1}}clone(e){const t=new pe(this.builder);return t.spec=Object.assign({},this.spec,e),t}optionality(e){return this.clone({optional:e})}optional(){return this.optionality(!0)}resolve(e){return this._resolve(e.value,e)}cast(e,t){return this._resolve(e,t).cast(e,t)}asNestedTest(e){let{key:t,index:s,parent:r,options:n}=e,i=r[null!=s?s:t];return this._resolve(i,Object.assign({},n,{value:i,parent:r})).asNestedTest(e)}validate(e,t){return he((()=>this._resolve(e,t).validate(e,t)))}validateSync(e,t){return this._resolve(e,t).validateSync(e,t)}validateAt(e,t,s){return he((()=>this._resolve(t,s).validateAt(e,t,s)))}validateSyncAt(e,t,s){return this._resolve(t,s).validateSyncAt(e,t,s)}isValid(e,t){try{return this._resolve(e,t).isValid(e,t)}catch(e){if(y.isError(e))return Promise.resolve(!1);throw e}}isValidSync(e,t){return this._resolve(e,t).isValidSync(e,t)}describe(e){return e?this.resolve(e).describe(e):{type:"lazy",meta:this.spec.meta,label:void 0}}meta(...e){if(0===e.length)return this.spec.meta;let t=this.clone();return t.spec.meta=Object.assign(t.spec.meta||{},e[0]),t}}export{ue as ArraySchema,I as BooleanSchema,W as DateSchema,pe as LazySchema,P as MixedSchema,oe as ObjectSchema,V as Schema,H as StringSchema,y as ValidationError,le as array,q as bool,q as boolean,A as getIn,T as isSchema,ce as lazy,z as mixed,ae as object,u as printValue,G as string};
2
2
  //# sourceMappingURL=index.esm.js.map
@@ -1,2 +1,2 @@
1
- import{j as e}from"../../../_virtual/jsx-runtime.js";import{useState as a,useEffect as t}from"react";import r from"../../../node_modules/js-yaml/dist/js-yaml.mjs.js";import s from"./style.module.scss.js";const l=({placeholder:l,label:i,value:o,onValidation:n,onChange:d,dataId:c,className:m="",errorMessage:u,acceptType:j="BOTH",fieldIsDisabled:p})=>{const[N,h]=a(),[f,y]=a(!0),O=e=>{if(""!==o){e.preventDefault();try{let e;"BOTH"!==j&&"JSON"!==j||!v(o)?"BOTH"!==j&&"YML"!==j||(e=r.dump(r.load(o),{indent:0})):e=JSON.stringify(JSON.parse(o),null,2),d(e),h(!0)}catch(e){console.error(e),h(!1)}}},v=e=>{try{return JSON.parse(e),!0}catch(e){return!1}},T=()=>{if("BOTH"===j||"JSON"===j)return v(o);if("BOTH"===j||"YML"===j)try{return r.load(o),!0}catch(e){return console.error(e),!1}};return t((()=>{try{O(o)}catch(e){}}),[]),e.jsxs("div",{className:`${s["json-editor-container"]} ${m}`,children:[i&&e.jsx("p",{className:`${s["json-editor-label"]}`,children:i}),e.jsxs("div",{className:`${s["json-editor"]} ${""!==o&&!1===N?s.invalid:""}`,children:[e.jsx("textarea",{"data-id":c,value:o,onChange:e=>{p||(h(void 0),y(!0),d(e.target.value))},min:"1",placeholder:l}),e.jsxs("div",{className:`${s["actions-container"]}`,children:[e.jsx("button",{type:"button",className:s.validate,onClick:()=>{const e=T();h(e),n(e),y(!T())},"data-id":`${c}-VALIDATE-BUTTON`,disabled:""===o,children:"Validate"}),e.jsx("button",{type:"button",disabled:""===o||f,"data-id":`${c}-BEAUTIFY-BUTTON`,className:s.beautify,onClick:O,children:"Beautify"})]})]}),(u||""!==o&&!1===N)&&e.jsx("p",{className:s["error-message"],children:u||"Invalid JSON or YAML format"})]})};export{l as default};
1
+ import{j as e}from"../../../_virtual/jsx-runtime.js";import{useState as a,useEffect as t}from"react";import r from"../../../node_modules/js-yaml/dist/js-yaml.mjs.js";import s from"./style.module.scss.js";const l=({placeholder:l,label:o,value:i,onValidation:n,onChange:d,dataId:c,className:m="",errorMessage:u,acceptType:j="BOTH",fieldIsDisabled:p})=>{const[N,h]=a(),[f,v]=a(!0),y=e=>{if(""!==i){e.preventDefault();try{let e;"BOTH"!==j&&"JSON"!==j||!O(i)?"BOTH"!==j&&"YML"!==j||(e=r.dump(r.load(i),{indent:0})):e=JSON.stringify(JSON.parse(i),null,2),d(e),h(!0)}catch(e){console.error(e),h(!1)}}},O=e=>{try{return JSON.parse(e),!0}catch(e){return!1}},T=()=>{if("BOTH"===j||"JSON"===j)return O(i);if("BOTH"===j||"YML"===j)try{return r.load(i),!0}catch(e){return console.error(e),!1}};return t((()=>{try{y(i)}catch(e){}}),[]),e.jsxs("div",{className:`${s["json-editor-container"]} ${m}`,children:[o&&e.jsx("p",{className:`${s["json-editor-label"]}`,children:o}),e.jsxs("div",{className:`${s["json-editor"]} ${""!==i&&!1===N?s.invalid:""}`,children:[e.jsx("textarea",{"data-id":c,value:i,onChange:e=>{p||(h(void 0),v(!0),d(e.target.value))},onPaste:e=>{p||(h(void 0),v(!0),d(e.target.value))},min:"1",placeholder:l}),e.jsxs("div",{className:`${s["actions-container"]}`,children:[e.jsx("button",{type:"button",className:s.validate,onClick:()=>{const e=T();h(e),n(e),v(!T())},"data-id":`${c}-VALIDATE-BUTTON`,disabled:""===i,children:"Validate"}),e.jsx("button",{type:"button",disabled:""===i||f,"data-id":`${c}-BEAUTIFY-BUTTON`,className:s.beautify,onClick:y,children:"Beautify"})]})]}),(u||""!==i&&!1===N)&&e.jsx("p",{className:s["error-message"],children:u||"Invalid JSON or YAML format"})]})};export{l as default};
2
2
  //# sourceMappingURL=JsonInput.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"JsonInput.js","sources":["../../../../src/components/JsonInput/JsonInput.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react'\r\nimport yaml from 'js-yaml'\r\nimport styles from './style.module.scss'\r\n\r\nconst JsonInput = ({\r\n placeholder,\r\n label,\r\n value,\r\n onValidation,\r\n onChange,\r\n dataId,\r\n className = '',\r\n errorMessage,\r\n acceptType = 'BOTH',\r\n fieldIsDisabled,\r\n}) => {\r\n const [isValid, setIsValid] = useState()\r\n const [disabledBeautify, setDisabledBeautify] = useState(true)\r\n\r\n const handlePrettify = (e) => {\r\n if (value === '') return\r\n e.preventDefault()\r\n try {\r\n let prettifiedData\r\n if ((acceptType === 'BOTH' || acceptType === 'JSON') && isValidJson(value)) {\r\n // If it's valid JSON, prettify JSON\r\n prettifiedData = JSON.stringify(JSON.parse(value), null, 2)\r\n } else if (acceptType === 'BOTH' || acceptType === 'YML') {\r\n // If it's not valid JSON, prettify YAML\r\n prettifiedData = yaml.dump(yaml.load(value), { indent: 0 })\r\n }\r\n onChange(prettifiedData)\r\n setIsValid(true) // Reset validity status\r\n } catch (error) {\r\n console.error(error)\r\n setIsValid(false)\r\n }\r\n }\r\n\r\n // Function to check if input is valid JSON\r\n const isValidJson = (str) => {\r\n try {\r\n JSON.parse(str)\r\n return true\r\n } catch (error) {\r\n return false\r\n }\r\n }\r\n\r\n const checkIsValid = () => {\r\n if (acceptType === 'BOTH' || acceptType === 'JSON') {\r\n return isValidJson(value)\r\n } else if (acceptType === 'BOTH' || acceptType === 'YML') {\r\n try {\r\n // Try parsing as YAML\r\n yaml.load(value)\r\n return true\r\n } catch (error) {\r\n console.error(error)\r\n return false\r\n }\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n try {\r\n handlePrettify(value)\r\n } catch {}\r\n }, [])\r\n\r\n return (\r\n <div className={`${styles['json-editor-container']} ${className}`}>\r\n {label && <p className={`${styles['json-editor-label']}`}>{label}</p>}\r\n <div\r\n className={`${styles['json-editor']} ${\r\n value !== '' && isValid === false ? styles.invalid : ''\r\n }`}\r\n >\r\n <textarea\r\n data-id={dataId}\r\n value={value}\r\n onChange={(e) => {\r\n if (fieldIsDisabled) return\r\n setIsValid(undefined)\r\n setDisabledBeautify(true)\r\n onChange(e.target.value)\r\n }}\r\n min=\"1\"\r\n placeholder={placeholder}\r\n />\r\n <div className={`${styles['actions-container']}`}>\r\n <button\r\n type=\"button\"\r\n className={styles.validate}\r\n onClick={() => {\r\n const valid = checkIsValid()\r\n setIsValid(valid)\r\n onValidation(valid)\r\n setDisabledBeautify(!checkIsValid())\r\n }}\r\n data-id={`${dataId}-VALIDATE-BUTTON`}\r\n disabled={value === ''}\r\n >\r\n Validate\r\n </button>\r\n <button\r\n type=\"button\"\r\n disabled={value === '' || disabledBeautify}\r\n data-id={`${dataId}-BEAUTIFY-BUTTON`}\r\n className={styles.beautify}\r\n onClick={handlePrettify}\r\n >\r\n Beautify\r\n </button>\r\n </div>\r\n </div>\r\n {(errorMessage || (value !== '' && isValid === false)) && (\r\n <p className={styles['error-message']}>{errorMessage || 'Invalid JSON or YAML format'}</p>\r\n )}\r\n </div>\r\n )\r\n}\r\n\r\nexport default JsonInput\r\n"],"names":["JsonInput","placeholder","label","value","onValidation","onChange","dataId","className","errorMessage","acceptType","fieldIsDisabled","isValid","setIsValid","useState","disabledBeautify","setDisabledBeautify","handlePrettify","e","preventDefault","prettifiedData","isValidJson","yaml","dump","load","indent","JSON","stringify","parse","error","console","str","checkIsValid","useEffect","_a","_jsxs","styles","children","_jsx","jsxs","invalid","jsx","undefined","target","min","type","validate","onClick","valid","disabled","beautify"],"mappings":"4MAIA,MAAMA,EAAY,EAChBC,cACAC,QACAC,QACAC,eACAC,WACAC,SACAC,YAAY,GACZC,eACAC,aAAa,OACbC,sBAEA,MAAOC,EAASC,GAAcC,KACvBC,EAAkBC,GAAuBF,GAAS,GAEnDG,EAAkBC,IACtB,GAAc,KAAVd,EAAJ,CACAc,EAAEC,iBACF,IACE,IAAIC,EACgB,SAAfV,GAAwC,SAAfA,IAA0BW,EAAYjB,GAG1C,SAAfM,GAAwC,QAAfA,IAElCU,EAAiBE,EAAKC,KAAKD,EAAKE,KAAKpB,GAAQ,CAAEqB,OAAQ,KAHvDL,EAAiBM,KAAKC,UAAUD,KAAKE,MAAMxB,GAAQ,KAAM,GAK3DE,EAASc,GACTP,GAAW,EACZ,CAAC,MAAOgB,GACPC,QAAQD,MAAMA,GACdhB,GAAW,EACZ,CAhBuB,CAgBvB,EAIGQ,EAAeU,IACnB,IAEE,OADAL,KAAKE,MAAMG,IACJ,CACR,CAAC,MAAOF,GACP,OAAO,CACR,GAGGG,EAAe,KACnB,GAAmB,SAAftB,GAAwC,SAAfA,EAC3B,OAAOW,EAAYjB,GACd,GAAmB,SAAfM,GAAwC,QAAfA,EAClC,IAGE,OADAY,EAAKE,KAAKpB,IACH,CACR,CAAC,MAAOyB,GAEP,OADAC,QAAQD,MAAMA,IACP,CACR,CACF,EASH,OANAI,GAAU,KACR,IACEhB,EAAeb,EAChB,CAAC,MAAM8B,GAAE,IACT,IAGDC,OAAA,MAAA,CAAK3B,UAAW,GAAG4B,EAAO,4BAA4B5B,IAAW6B,SAAA,CAC9DlC,GAASmC,EAAAA,IAAA,IAAA,CAAG9B,UAAW,GAAG4B,EAAO,uBAAsBC,SAAGlC,IAC3DgC,EAAAI,KAAA,MAAA,CACE/B,UAAW,GAAG4B,EAAO,kBACT,KAAVhC,IAA4B,IAAZQ,EAAoBwB,EAAOI,QAAU,KACrDH,SAAA,CAEFC,EACWG,IAAA,WAAA,CAAA,UAAAlC,EACTH,MAAOA,EACPE,SAAWY,IACLP,IACJE,OAAW6B,GACX1B,GAAoB,GACpBV,EAASY,EAAEyB,OAAOvC,OAAM,EAE1BwC,IAAI,IACJ1C,YAAaA,IAEfiC,EAAKI,KAAA,MAAA,CAAA/B,UAAW,GAAG4B,EAAO,uBACxBC,SAAA,CAAAC,EAAAG,IAAA,SAAA,CACEI,KAAK,SACLrC,UAAW4B,EAAOU,SAClBC,QAAS,KACP,MAAMC,EAAQhB,IACdnB,EAAWmC,GACX3C,EAAa2C,GACbhC,GAAqBgB,IAAe,EAE7B,UAAA,GAAGzB,oBACZ0C,SAAoB,KAAV7C,EAGHiC,SAAA,aACTC,EAAAA,IACE,SAAA,CAAAO,KAAK,SACLI,SAAoB,KAAV7C,GAAgBW,EACjB,UAAA,GAAGR,oBACZC,UAAW4B,EAAOc,SAClBH,QAAS9B,EAGFoB,SAAA,oBAGX5B,GAA2B,KAAVL,IAA4B,IAAZQ,IACjC0B,EAAGG,IAAA,IAAA,CAAAjC,UAAW4B,EAAO,iBAAmBC,SAAA5B,GAAgB,kCAG7D"}
1
+ {"version":3,"file":"JsonInput.js","sources":["../../../../src/components/JsonInput/JsonInput.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react'\r\nimport yaml from 'js-yaml'\r\nimport styles from './style.module.scss'\r\n\r\nconst JsonInput = ({\r\n placeholder,\r\n label,\r\n value,\r\n onValidation,\r\n onChange,\r\n dataId,\r\n className = '',\r\n errorMessage,\r\n acceptType = 'BOTH',\r\n fieldIsDisabled,\r\n}) => {\r\n const [isValid, setIsValid] = useState()\r\n const [disabledBeautify, setDisabledBeautify] = useState(true)\r\n\r\n const handlePrettify = (e) => {\r\n if (value === '') return\r\n e.preventDefault()\r\n try {\r\n let prettifiedData\r\n if ((acceptType === 'BOTH' || acceptType === 'JSON') && isValidJson(value)) {\r\n // If it's valid JSON, prettify JSON\r\n prettifiedData = JSON.stringify(JSON.parse(value), null, 2)\r\n } else if (acceptType === 'BOTH' || acceptType === 'YML') {\r\n // If it's not valid JSON, prettify YAML\r\n prettifiedData = yaml.dump(yaml.load(value), { indent: 0 })\r\n }\r\n onChange(prettifiedData)\r\n setIsValid(true) // Reset validity status\r\n } catch (error) {\r\n console.error(error)\r\n setIsValid(false)\r\n }\r\n }\r\n\r\n // Function to check if input is valid JSON\r\n const isValidJson = (str) => {\r\n try {\r\n JSON.parse(str)\r\n return true\r\n } catch (error) {\r\n return false\r\n }\r\n }\r\n\r\n const checkIsValid = () => {\r\n if (acceptType === 'BOTH' || acceptType === 'JSON') {\r\n return isValidJson(value)\r\n } else if (acceptType === 'BOTH' || acceptType === 'YML') {\r\n try {\r\n // Try parsing as YAML\r\n yaml.load(value)\r\n return true\r\n } catch (error) {\r\n console.error(error)\r\n return false\r\n }\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n try {\r\n handlePrettify(value)\r\n } catch {}\r\n }, [])\r\n\r\n return (\r\n <div className={`${styles['json-editor-container']} ${className}`}>\r\n {label && <p className={`${styles['json-editor-label']}`}>{label}</p>}\r\n <div\r\n className={`${styles['json-editor']} ${\r\n value !== '' && isValid === false ? styles.invalid : ''\r\n }`}\r\n >\r\n <textarea\r\n data-id={dataId}\r\n value={value}\r\n onChange={(e) => {\r\n if (fieldIsDisabled) return\r\n setIsValid(undefined)\r\n setDisabledBeautify(true)\r\n onChange(e.target.value)\r\n }}\r\n onPaste={(e) => {\r\n if (fieldIsDisabled) return\r\n setIsValid(undefined)\r\n setDisabledBeautify(true)\r\n onChange(e.target.value)\r\n }}\r\n min=\"1\"\r\n placeholder={placeholder}\r\n />\r\n <div className={`${styles['actions-container']}`}>\r\n <button\r\n type=\"button\"\r\n className={styles.validate}\r\n onClick={() => {\r\n const valid = checkIsValid()\r\n setIsValid(valid)\r\n onValidation(valid)\r\n setDisabledBeautify(!checkIsValid())\r\n }}\r\n data-id={`${dataId}-VALIDATE-BUTTON`}\r\n disabled={value === ''}\r\n >\r\n Validate\r\n </button>\r\n <button\r\n type=\"button\"\r\n disabled={value === '' || disabledBeautify}\r\n data-id={`${dataId}-BEAUTIFY-BUTTON`}\r\n className={styles.beautify}\r\n onClick={handlePrettify}\r\n >\r\n Beautify\r\n </button>\r\n </div>\r\n </div>\r\n {(errorMessage || (value !== '' && isValid === false)) && (\r\n <p className={styles['error-message']}>{errorMessage || 'Invalid JSON or YAML format'}</p>\r\n )}\r\n </div>\r\n )\r\n}\r\n\r\nexport default JsonInput\r\n"],"names":["JsonInput","placeholder","label","value","onValidation","onChange","dataId","className","errorMessage","acceptType","fieldIsDisabled","isValid","setIsValid","useState","disabledBeautify","setDisabledBeautify","handlePrettify","e","preventDefault","prettifiedData","isValidJson","yaml","dump","load","indent","JSON","stringify","parse","error","console","str","checkIsValid","useEffect","_a","_jsxs","styles","children","_jsx","jsxs","invalid","jsx","undefined","target","onPaste","min","type","validate","onClick","valid","disabled","beautify"],"mappings":"4MAIA,MAAMA,EAAY,EAChBC,cACAC,QACAC,QACAC,eACAC,WACAC,SACAC,YAAY,GACZC,eACAC,aAAa,OACbC,sBAEA,MAAOC,EAASC,GAAcC,KACvBC,EAAkBC,GAAuBF,GAAS,GAEnDG,EAAkBC,IACtB,GAAc,KAAVd,EAAJ,CACAc,EAAEC,iBACF,IACE,IAAIC,EACgB,SAAfV,GAAwC,SAAfA,IAA0BW,EAAYjB,GAG1C,SAAfM,GAAwC,QAAfA,IAElCU,EAAiBE,EAAKC,KAAKD,EAAKE,KAAKpB,GAAQ,CAAEqB,OAAQ,KAHvDL,EAAiBM,KAAKC,UAAUD,KAAKE,MAAMxB,GAAQ,KAAM,GAK3DE,EAASc,GACTP,GAAW,EACZ,CAAC,MAAOgB,GACPC,QAAQD,MAAMA,GACdhB,GAAW,EACZ,CAhBuB,CAgBvB,EAIGQ,EAAeU,IACnB,IAEE,OADAL,KAAKE,MAAMG,IACJ,CACR,CAAC,MAAOF,GACP,OAAO,CACR,GAGGG,EAAe,KACnB,GAAmB,SAAftB,GAAwC,SAAfA,EAC3B,OAAOW,EAAYjB,GACd,GAAmB,SAAfM,GAAwC,QAAfA,EAClC,IAGE,OADAY,EAAKE,KAAKpB,IACH,CACR,CAAC,MAAOyB,GAEP,OADAC,QAAQD,MAAMA,IACP,CACR,CACF,EASH,OANAI,GAAU,KACR,IACEhB,EAAeb,EAChB,CAAC,MAAM8B,GAAE,IACT,IAGDC,OAAA,MAAA,CAAK3B,UAAW,GAAG4B,EAAO,4BAA4B5B,IAAW6B,SAAA,CAC9DlC,GAASmC,EAAAA,IAAA,IAAA,CAAG9B,UAAW,GAAG4B,EAAO,uBAAsBC,SAAGlC,IAC3DgC,EAAAI,KAAA,MAAA,CACE/B,UAAW,GAAG4B,EAAO,kBACT,KAAVhC,IAA4B,IAAZQ,EAAoBwB,EAAOI,QAAU,KACrDH,SAAA,CAEFC,EACWG,IAAA,WAAA,CAAA,UAAAlC,EACTH,MAAOA,EACPE,SAAWY,IACLP,IACJE,OAAW6B,GACX1B,GAAoB,GACpBV,EAASY,EAAEyB,OAAOvC,OAAM,EAE1BwC,QAAU1B,IACJP,IACJE,OAAW6B,GACX1B,GAAoB,GACpBV,EAASY,EAAEyB,OAAOvC,OAAM,EAE1ByC,IAAI,IACJ3C,YAAaA,IAEfiC,EAAKI,KAAA,MAAA,CAAA/B,UAAW,GAAG4B,EAAO,uBACxBC,SAAA,CAAAC,EAAAG,IAAA,SAAA,CACEK,KAAK,SACLtC,UAAW4B,EAAOW,SAClBC,QAAS,KACP,MAAMC,EAAQjB,IACdnB,EAAWoC,GACX5C,EAAa4C,GACbjC,GAAqBgB,IAAe,EAE7B,UAAA,GAAGzB,oBACZ2C,SAAoB,KAAV9C,EAGHiC,SAAA,aACTC,EAAAA,IACE,SAAA,CAAAQ,KAAK,SACLI,SAAoB,KAAV9C,GAAgBW,EACjB,UAAA,GAAGR,oBACZC,UAAW4B,EAAOe,SAClBH,QAAS/B,EAGFoB,SAAA,oBAGX5B,GAA2B,KAAVL,IAA4B,IAAZQ,IACjC0B,EAAGG,IAAA,IAAA,CAAAjC,UAAW4B,EAAO,iBAAmBC,SAAA5B,GAAgB,kCAG7D"}
@@ -1,2 +1,2 @@
1
- import{j as e}from"../../../_virtual/jsx-runtime.js";import{useState as s,useEffect as r}from"react";import{d as o}from"../../../_virtual/index.js";import n from"../SVGLoader/SVGLoader.js";import i from"../../assets/icons/DownArrow.svg.js";import t from"../../assets/icons/DeleteIcon.svg.js";import a from"../../assets/icons/EditIcon.svg.js";import l from"../../assets/icons/deleteOutlinedIcon.svg.js";import{httpStatusCodes as d,methodColorMapping as c,paramsTableHeaders as m}from"../../constants/index.js";import p from"../Tooltip/Tooltip.js";import u from"../SimpleLabelValue/SimpleLabelValue.js";import{handleStatusColor as h,capitalize as j}from"../../helpers/methodAccordion.helper.js";import v from"../table/table.js";import x from"../dialog/index.js";import g from"../JsonInput/JsonInput.js";import b from"./MethodAccordion.module.scss.js";const N=d.map((s=>({label:e.jsxs("div",{className:b.statusCodeOptionContainer,children:[e.jsx("div",{className:b.statusCodeOptionCircle,style:{backgroundColor:h(s)}}),e.jsx("span",{children:s})]}),value:s}))),y=({method:d,path:h,setFieldValue:y,readOnly:C})=>{var f,A,q,D,O,S,w,k,T,B;const[I,V]=s({request:!1,response:!1,method:!1}),[F,_]=s(!1),[L,$]=s({}),[E,J]=s([]),[W,G]=s(!1),[P,R]=s(null),[z,M]=s(null),H=(e,s,r)=>{const o=E.map(((o,n)=>n===r?Object.assign(Object.assign({},o),{[e]:s}):o));J(o)},Y=s=>s.map(((s,r)=>{var i;return{id:r,paramName:s.name,paramType:j(s.in),schemaType:j(null===(i=s.schema)||void 0===i?void 0:i.type)||"",required:e.jsx(e.Fragment,{children:C?s.required?"True":"False":e.jsx(o.Switch,{checked:s.required,onClick:()=>{if(C)return null;H("required",!s.required,r),y(`parameters[${r}][required]`,!s.required)}})}),description:e.jsxs("div",{className:b.paramDescContainer,children:[e.jsx(p,{arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>$((s=>Object.assign(Object.assign({},s),{[r]:e}))),content:e.jsxs("div",{className:b.editDescTooltipContent,children:[e.jsx("p",{className:b.editDescTooltipContent_header,children:"Description"}),e.jsx(o.TextArea,{placeholder:"Describe parameter...",value:s.description,disabled:C,onChange:e=>H("description",e,r)}),!C&&e.jsx(o.Button,{className:b.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{var e;y(`parameters[${r}].description`,s.description),null===(e=L[r])||void 0===e||e.hide()},children:"Apply"})]}),children:C?e.jsxs(o.Button,{className:b.editDescBtn,variant:"link",color:"action",children:[s.description?s.description.substring(0,12):"-",s.description&&s.description.length>12?"...":""]}):e.jsxs(o.Button,{className:b.editDescBtn,variant:"link",color:"action",endIcon:e.jsx(n,{src:a,width:"1.5rem",height:"1.5rem"}),children:[C?"View ":"Add "," Description"]})}),!C&&e.jsx("div",{className:b.paramDescContainer_separator}),!C&&e.jsx(o.Button,{className:b.deleteParamBtn,variant:"link",color:"error",endIcon:e.jsx(n,{src:t,width:"1.125rem",height:"1.125rem"}),onClick:()=>U(r,s.name)})]})}})),[K,Q]=s(),U=(e,s)=>{R(e),M(s),G(!0)};return r((()=>{Q(Y(E))}),[E]),r((()=>{(null==d?void 0:d.parameters)&&(Q(Y(d.parameters)),J(d.parameters))}),[d,h]),e.jsxs("div",{children:[e.jsx(o.Accordion,{expanded:I.method,onChange:()=>V((e=>Object.assign(Object.assign({},e),{method:!e.method}))),className:b.methodAccordion,summary:e.jsxs("div",{className:b.methodSummaryContainer,children:[e.jsxs("div",{className:b.methodSummary,children:[e.jsx("span",{style:{backgroundColor:(null===(f=null==c?void 0:c[null==d?void 0:d.type])||void 0===f?void 0:f.color)||"#3A6CD1"},className:b.methodLabel,children:(null===(A=null==c?void 0:c[null==d?void 0:d.type])||void 0===A?void 0:A.label)||(null==d?void 0:d.type)}),e.jsx("span",{className:b.methodPath,children:h})]}),e.jsx("div",{className:`${b.methodExpandArrowContainer} ${I.method?b.expanded:""}`,children:e.jsx(n,{src:i,width:"2rem",height:"2rem"})})]}),children:e.jsxs("div",{className:b.methodAccordionContent,children:[C?e.jsx(u,{label:"Description: ",value:(null==d?void 0:d.description)||"-"},"description"):e.jsx(o.TextArea,{className:b.methodDesc,label:"Description",placeholder:"Describe the endpoint's purpose and functionality...",value:null==d?void 0:d.description,onChange:e=>y("description",e)}),e.jsx("div",{className:b.paramsTable,children:e.jsx(v,{id:"paramter-table",data:K,headCells:m,isFormOpen:F,setIsFormOpen:_,saveNewRow:e=>{J([...E,e]),y("parameters",[...d.parameters,e])},readOnly:C})}),"get"!==(null==d?void 0:d.type)&&e.jsx(o.Accordion,{expanded:I.request,onChange:()=>null,className:b.requestAccordion,summary:e.jsx("span",{className:b.requestAccordionSummary,children:e.jsxs("div",{className:b.requestAccordionSummary_title,onClick:()=>V((e=>Object.assign(Object.assign({},e),{request:!e.request}))),children:[e.jsx(n,{className:I.request?b.expanded:"",src:i,width:"2rem",height:"2rem"}),"Request","delete"!==(null==d?void 0:d.type)&&e.jsx("span",{style:{color:"red"},children:"*"})]})}),children:e.jsx(g,{className:"jsonField",placeholder:"Enter your request body as a JSON object....",fieldIsDisabled:C,value:(null===(S=null===(O=null===(D=null===(q=null==d?void 0:d.requestBody)||void 0===q?void 0:q.at(0))||void 0===D?void 0:D.content)||void 0===O?void 0:O.schema)||void 0===S?void 0:S.properties)||"{}",onChange:e=>{y("requestBody[0].content.schema.properties",e)},onValidation:()=>null})}),e.jsx(o.Accordion,{expanded:I.response,onChange:()=>null,className:b.responseAccordion,summary:e.jsxs("span",{className:b.responseAccordionSummary,children:[e.jsxs("div",{className:b.responseAccordionSummary_title,onClick:()=>V((e=>Object.assign(Object.assign({},e),{response:!e.response}))),children:[e.jsx(n,{className:I.response?b.expanded:"",src:i,width:"2rem",height:"2rem"}),"Response",e.jsx("span",{style:{color:"red"},children:"*"})]}),e.jsx(o.SelectGroup,{withSearch:!1,isMultiple:!1,placeholder:"200",disabled:!0,options:[{list:N}],value:N[4]})]}),children:e.jsx(g,{className:"jsonField",placeholder:"Enter your response as a JSON object...",fieldIsDisabled:C,value:(null===(B=null===(T=null===(k=null===(w=d.responses)||void 0===w?void 0:w.at(0))||void 0===k?void 0:k.content)||void 0===T?void 0:T.schema)||void 0===B?void 0:B.properties)||"{}",onChange:e=>{y("responses[0].content.schema.properties",e)},onValidation:()=>null})})]})}),e.jsx(x,{status:"error",content:e.jsxs("p",{style:{textAlign:"center",fontWeight:400,fontSize:"1rem",lineHeight:"1.4375rem"},className:"delete-msg-container",children:["Are you sure you want to delete",e.jsx("span",{className:"plan-name",children:` Parameter ${z} `}),"?"]}),onSubmit:{onClick:()=>{var e;null!==P&&(J((e=>e.filter(((e,s)=>s!==P)))),y("parameters",null===(e=null==d?void 0:d.parameters)||void 0===e?void 0:e.filter(((e,s)=>s!==P)))),G(!1),R(null)},text:"Yes",color:"error",fullWidth:!0},onCancel:{text:"No",color:"normal",fullWidth:!0},onClose:()=>G(!1),open:W,icon:e.jsx(n,{src:l,width:"4.0625rem",height:"4.0625rem"})})]})};export{y as default};
1
+ import{j as e}from"../../../_virtual/jsx-runtime.js";import{useState as s,useEffect as o}from"react";import{d as r}from"../../../_virtual/index.js";import n from"../SVGLoader/SVGLoader.js";import i from"../../assets/icons/DownArrow.svg.js";import t from"../../assets/icons/DeleteIcon.svg.js";import a from"../../assets/icons/EditIcon.svg.js";import l from"../../assets/icons/deleteOutlinedIcon.svg.js";import{httpStatusCodes as d,methodColorMapping as c,paramsTableHeaders as m}from"../../constants/index.js";import p from"../Tooltip/Tooltip.js";import u from"../SimpleLabelValue/SimpleLabelValue.js";import{handleStatusColor as h,capitalize as j}from"../../helpers/methodAccordion.helper.js";import v from"../table/table.js";import x from"../dialog/index.js";import g from"../JsonInput/JsonInput.js";import b from"./MethodAccordion.module.scss.js";const y=d.map((s=>({label:e.jsxs("div",{className:b.statusCodeOptionContainer,children:[e.jsx("div",{className:b.statusCodeOptionCircle,style:{backgroundColor:h(s)}}),e.jsx("span",{children:s})]}),value:s}))),N=({method:d,path:h,setFieldValue:N,readOnly:C})=>{var f,A,q,D,O,S,w;const[k,T]=s({request:!1,response:!1,method:!1}),[I,B]=s(!1),[V,F]=s({}),[_,$]=s([]),[L,E]=s(!1),[J,W]=s(null),[G,P]=s(null),[R,z]=s(y[4]),M=d.responses.find((e=>Number(e.code)===R.value))||"{}",H=(e,s,o)=>{const r=_.map(((r,n)=>n===o?Object.assign(Object.assign({},r),{[e]:s}):r));$(r)},Y=s=>s.map(((s,o)=>{var i;return{id:o,paramName:s.name,paramType:j(s.in),schemaType:j(null===(i=s.schema)||void 0===i?void 0:i.type)||"",required:e.jsx(e.Fragment,{children:C?s.required?"True":"False":e.jsx(r.Switch,{checked:s.required,onClick:()=>{if(C)return null;H("required",!s.required,o),N(`parameters[${o}][required]`,!s.required)}})}),description:e.jsxs("div",{className:b.paramDescContainer,children:[e.jsx(p,{arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>F((s=>Object.assign(Object.assign({},s),{[o]:e}))),content:e.jsxs("div",{className:b.editDescTooltipContent,children:[e.jsx("p",{className:b.editDescTooltipContent_header,children:"Description"}),e.jsx(r.TextArea,{placeholder:"Describe parameter...",value:s.description,disabled:C,onChange:e=>H("description",e,o)}),!C&&e.jsx(r.Button,{className:b.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{var e;N(`parameters[${o}].description`,s.description),null===(e=V[o])||void 0===e||e.hide()},children:"Apply"})]}),children:C?e.jsxs(r.Button,{className:b.editDescBtn,variant:"link",color:"action",children:[s.description?s.description.substring(0,12):"-",s.description&&s.description.length>12?"...":""]}):e.jsxs(r.Button,{className:b.editDescBtn,variant:"link",color:"action",endIcon:e.jsx(n,{src:a,width:"1.5rem",height:"1.5rem"}),children:[C?"View ":"Add "," Description"]})}),!C&&e.jsx("div",{className:b.paramDescContainer_separator}),!C&&e.jsx(r.Button,{className:b.deleteParamBtn,variant:"link",color:"error",endIcon:e.jsx(n,{src:t,width:"1.125rem",height:"1.125rem"}),onClick:()=>U(o,s.name)})]})}})),[K,Q]=s(),U=(e,s)=>{W(e),P(s),E(!0)};return o((()=>{Q(Y(_))}),[_]),o((()=>{(null==d?void 0:d.parameters)&&(Q(Y(d.parameters)),$(d.parameters))}),[d,h]),e.jsxs("div",{children:[e.jsx(r.Accordion,{expanded:k.method,onChange:()=>T((e=>Object.assign(Object.assign({},e),{method:!e.method}))),className:b.methodAccordion,summary:e.jsxs("div",{className:b.methodSummaryContainer,children:[e.jsxs("div",{className:b.methodSummary,children:[e.jsx("span",{style:{backgroundColor:(null===(f=null==c?void 0:c[null==d?void 0:d.type])||void 0===f?void 0:f.color)||"#3A6CD1"},className:b.methodLabel,children:(null===(A=null==c?void 0:c[null==d?void 0:d.type])||void 0===A?void 0:A.label)||(null==d?void 0:d.type)}),e.jsx("span",{className:b.methodPath,children:h})]}),e.jsx("div",{className:`${b.methodExpandArrowContainer} ${k.method?b.expanded:""}`,children:e.jsx(n,{src:i,width:"2rem",height:"2rem"})})]}),children:e.jsxs("div",{className:b.methodAccordionContent,children:[C?e.jsx(u,{label:"Description: ",value:(null==d?void 0:d.description)||"-"},"description"):e.jsx(r.TextArea,{className:b.methodDesc,label:"Description",placeholder:"Describe the endpoint's purpose and functionality...",value:null==d?void 0:d.description,onChange:e=>N("description",e)}),e.jsx("div",{className:b.paramsTable,children:e.jsx(v,{id:"paramter-table",data:K,headCells:m,isFormOpen:I,setIsFormOpen:B,saveNewRow:e=>{$([..._,e]),N("parameters",[...d.parameters,e])},readOnly:C})}),"get"!==(null==d?void 0:d.type)&&e.jsx(r.Accordion,{expanded:k.request,onChange:()=>null,className:b.requestAccordion,summary:e.jsx("span",{className:b.requestAccordionSummary,children:e.jsxs("div",{className:b.requestAccordionSummary_title,onClick:()=>T((e=>Object.assign(Object.assign({},e),{request:!e.request}))),children:[e.jsx(n,{className:k.request?b.expanded:"",src:i,width:"2rem",height:"2rem"}),"Request","delete"!==(null==d?void 0:d.type)&&e.jsx("span",{style:{color:"red"},children:"*"})]})}),children:e.jsx(g,{className:"jsonField",placeholder:"Enter your request body as a JSON object....",fieldIsDisabled:C,value:(null===(O=null===(D=null===(q=null==d?void 0:d.requestBody)||void 0===q?void 0:q.content)||void 0===D?void 0:D.schema)||void 0===O?void 0:O.properties)||"{}",onChange:e=>{N("requestBody.content.schema.properties",e)},onValidation:()=>null})}),e.jsx(r.Accordion,{expanded:k.response,onChange:()=>null,className:b.responseAccordion,summary:e.jsxs("span",{className:b.responseAccordionSummary,children:[e.jsxs("div",{className:b.responseAccordionSummary_title,onClick:()=>T((e=>Object.assign(Object.assign({},e),{response:!e.response}))),children:[e.jsx(n,{className:k.response?b.expanded:"",src:i,width:"2rem",height:"2rem"}),"Response",e.jsx("span",{style:{color:"red"},children:"*"})]}),e.jsx(r.SelectGroup,{withSearch:!1,isMultiple:!1,placeholder:"200",options:[{list:y}],value:R,onChange:e=>{z(e)}})]}),children:e.jsx(g,{className:"jsonField",placeholder:"Enter your response as a JSON object...",fieldIsDisabled:C,value:(null===(w=null===(S=null==M?void 0:M.content)||void 0===S?void 0:S.schema)||void 0===w?void 0:w.properties)||"{}",onChange:e=>{const s=d.responses.findIndex((e=>e.code===M.code));if(-1!==s)N(`responses[${s}].content.schema.properties`,e);else{const s=structuredClone(d.responses);s.push({code:R.value.toString(),content:{contentType:"application/json",schema:{type:"object",properties:e}}}),N("responses",s)}},onValidation:()=>null})})]})}),e.jsx(x,{status:"error",content:e.jsxs("p",{style:{textAlign:"center",fontWeight:400,fontSize:"1rem",lineHeight:"1.4375rem"},className:"delete-msg-container",children:["Are you sure you want to delete",e.jsx("span",{className:"plan-name",children:` Parameter ${G} `}),"?"]}),onSubmit:{onClick:()=>{var e;null!==J&&($((e=>e.filter(((e,s)=>s!==J)))),N("parameters",null===(e=null==d?void 0:d.parameters)||void 0===e?void 0:e.filter(((e,s)=>s!==J)))),E(!1),W(null)},text:"Yes",color:"error",fullWidth:!0},onCancel:{text:"No",color:"normal",fullWidth:!0},onClose:()=>E(!1),open:L,icon:e.jsx(n,{src:l,width:"4.0625rem",height:"4.0625rem"})})]})};export{N as default};
2
2
  //# sourceMappingURL=MethodAccordion.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MethodAccordion.js","sources":["../../../../src/components/MethodAccordion/MethodAccordion.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react'\r\nimport { Accordion, Button, Input, SelectGroup, Switch, TextArea } from 'digitinary-ui'\r\nimport SVGLoader from '../../components/SVGLoader/SVGLoader'\r\nimport {\r\n CheckMarkSquare,\r\n DeleteIcon,\r\n DownArrowIcon,\r\n EditIcon,\r\n deleteOutlinedIcon,\r\n} from '../../assets/icons'\r\nimport { httpStatusCodes, methodColorMapping, paramsTableHeaders } from '../../constants/index'\r\nimport Tooltip from '../../components/Tooltip/Tooltip'\r\nimport { TransformedMethod } from '../../types/layout.type'\r\nimport SimpleLabelValue from '../../components/SimpleLabelValue'\r\nimport { capitalize, handleStatusColor } from '../../helpers/methodAccordion.helper'\r\nimport ParamterTable from '../table/table'\r\nimport CommonDialog from '../../components/dialog'\r\nimport JsonInput from '../../components/JsonInput/JsonInput'\r\nimport styles from './MethodAccordion.module.scss'\r\n\r\nconst httpStatusCodeOptions = httpStatusCodes.map((code) => ({\r\n label: (\r\n <div className={styles.statusCodeOptionContainer}>\r\n <div\r\n className={styles.statusCodeOptionCircle}\r\n style={{ backgroundColor: handleStatusColor(code) }}\r\n ></div>\r\n <span>{code}</span>\r\n </div>\r\n ),\r\n value: code,\r\n}))\r\n\r\nconst MethodsAccordion = ({\r\n method,\r\n path,\r\n setFieldValue,\r\n readOnly,\r\n}: {\r\n method: TransformedMethod\r\n path: string\r\n setFieldValue: (key: string, value: string) => void\r\n readOnly?: boolean\r\n}) => {\r\n const [isExpanded, setIsExpanded] = useState({\r\n request: false,\r\n response: false,\r\n method: false,\r\n })\r\n const [isFormOpen, setIsFormOpen] = useState(false)\r\n const [tooltipRefs, setTooltipRefs] = useState<{ [key: number]: any }>({})\r\n const [tableData, setTableData] = useState([])\r\n const [openDeleteDialog, setOpenDeleteDialog] = useState(false)\r\n const [selectedParamIndex, setSelectedParamIndex] = useState<number | null>(null)\r\n const [selectedParamName, setSelectedParamName] = useState<string | null>(null)\r\n\r\n const onTableChange = (key, value, index) => {\r\n const newTableData = tableData.map((item, tIndex) => {\r\n if (tIndex === index) {\r\n return { ...item, [key]: value }\r\n } else {\r\n return item\r\n }\r\n })\r\n\r\n setTableData(newTableData)\r\n }\r\n\r\n const generateTableData = (items) => {\r\n return items.map((item, index) => {\r\n return {\r\n id: index,\r\n paramName: item.name,\r\n paramType: capitalize(item.in),\r\n schemaType: capitalize(item.schema?.type) || '',\r\n required: (\r\n <>\r\n {readOnly ? (\r\n item.required ? (\r\n 'True'\r\n ) : (\r\n 'False'\r\n )\r\n ) : (\r\n <Switch\r\n checked={item.required}\r\n onClick={() => {\r\n if (readOnly) {\r\n return null\r\n }\r\n onTableChange('required', !item.required, index)\r\n setFieldValue(`parameters[${index}][required]`, !item.required)\r\n }}\r\n />\r\n )}\r\n </>\r\n ),\r\n description: (\r\n <div className={styles.paramDescContainer}>\r\n <Tooltip\r\n arrowWithBorder\r\n placement=\"bottom-end\"\r\n type=\"function\"\r\n trigger=\"click\"\r\n delay={[0, 0]}\r\n onCreate={(instance) =>\r\n setTooltipRefs((prev) => ({\r\n ...prev,\r\n [index]: instance,\r\n }))\r\n }\r\n content={\r\n <div className={styles.editDescTooltipContent}>\r\n <p className={styles.editDescTooltipContent_header}>Description</p>\r\n <TextArea\r\n placeholder=\"Describe parameter...\"\r\n value={item.description}\r\n disabled={readOnly}\r\n onChange={(value) => onTableChange('description', value, index)}\r\n />\r\n {!readOnly && (\r\n <Button\r\n className={styles.editDescTooltipContent_btn}\r\n variant=\"outlined\"\r\n size=\"small\"\r\n onClick={() => {\r\n setFieldValue(`parameters[${index}].description`, item.description)\r\n tooltipRefs[index]?.hide()\r\n }}\r\n >\r\n Apply\r\n </Button>\r\n )}\r\n </div>\r\n }\r\n >\r\n {readOnly ? (\r\n <Button\r\n className={styles.editDescBtn}\r\n variant=\"link\"\r\n color=\"action\"\r\n // endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\r\n >\r\n {item.description ? item.description.substring(0, 12) : '-'}\r\n {item.description && item.description.length > 12 ? '...' : ''}\r\n </Button>\r\n ) : (\r\n <Button\r\n className={styles.editDescBtn}\r\n variant=\"link\"\r\n color=\"action\"\r\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\r\n >\r\n {readOnly ? 'View ' : 'Add '} Description\r\n </Button>\r\n )}\r\n </Tooltip>\r\n\r\n {!readOnly && <div className={styles.paramDescContainer_separator}></div>}\r\n\r\n {!readOnly && (\r\n <Button\r\n className={styles.deleteParamBtn}\r\n variant=\"link\"\r\n color=\"error\"\r\n endIcon={<SVGLoader src={DeleteIcon} width=\"1.125rem\" height=\"1.125rem\" />}\r\n onClick={() => handleDeleteClick(index, item.name)}\r\n ></Button>\r\n )}\r\n </div>\r\n ),\r\n }\r\n })\r\n }\r\n\r\n const [tableRecords, setTableRecords] = useState()\r\n\r\n const confirmDeleteParameter = () => {\r\n if (selectedParamIndex !== null) {\r\n setTableData((prev) => prev.filter((_, i) => i !== selectedParamIndex))\r\n setFieldValue(\r\n `parameters`,\r\n method?.parameters?.filter((_, i) => i !== selectedParamIndex)\r\n )\r\n }\r\n setOpenDeleteDialog(false)\r\n setSelectedParamIndex(null)\r\n }\r\n\r\n const handleDeleteClick = (id: number, name: string) => {\r\n setSelectedParamIndex(id)\r\n setSelectedParamName(name)\r\n\r\n setOpenDeleteDialog(true)\r\n }\r\n\r\n const saveNewRow = (values) => {\r\n setTableData([...tableData, values])\r\n setFieldValue(`parameters`, [...method.parameters, values])\r\n }\r\n\r\n useEffect(() => {\r\n setTableRecords(generateTableData(tableData))\r\n }, [tableData])\r\n\r\n useEffect(() => {\r\n if (method?.parameters) {\r\n setTableRecords(generateTableData(method.parameters))\r\n setTableData(method.parameters)\r\n }\r\n }, [method, path])\r\n\r\n return (\r\n <div>\r\n <Accordion\r\n expanded={isExpanded.method}\r\n onChange={() => setIsExpanded((prev) => ({ ...prev, method: !prev.method }))}\r\n className={styles.methodAccordion}\r\n summary={\r\n <div className={styles.methodSummaryContainer}>\r\n <div className={styles.methodSummary}>\r\n <span\r\n style={{\r\n backgroundColor: methodColorMapping?.[method?.type]?.color || '#3A6CD1',\r\n }}\r\n className={styles.methodLabel}\r\n >\r\n {methodColorMapping?.[method?.type]?.label || method?.type}\r\n </span>\r\n <span className={styles.methodPath}>{path}</span>\r\n </div>\r\n <div\r\n className={`${styles.methodExpandArrowContainer} ${\r\n isExpanded.method ? styles.expanded : ''\r\n }`}\r\n >\r\n <SVGLoader src={DownArrowIcon} width=\"2rem\" height=\"2rem\" />\r\n </div>\r\n </div>\r\n }\r\n children={\r\n <div className={styles.methodAccordionContent}>\r\n {!readOnly ? (\r\n <TextArea\r\n className={styles.methodDesc}\r\n label=\"Description\"\r\n placeholder=\"Describe the endpoint's purpose and functionality...\"\r\n value={method?.description}\r\n onChange={(value) => setFieldValue('description', value)}\r\n />\r\n ) : (\r\n <SimpleLabelValue\r\n key={'description'}\r\n label={'Description: '}\r\n value={method?.description || '-'}\r\n />\r\n )}\r\n <div className={styles.paramsTable}>\r\n <ParamterTable\r\n id=\"paramter-table\"\r\n data={tableRecords}\r\n headCells={paramsTableHeaders}\r\n isFormOpen={isFormOpen}\r\n setIsFormOpen={setIsFormOpen}\r\n saveNewRow={saveNewRow}\r\n readOnly={readOnly}\r\n />\r\n </div>\r\n\r\n {method?.type !== 'get' && (\r\n <Accordion\r\n expanded={isExpanded.request}\r\n onChange={() => null}\r\n className={styles.requestAccordion}\r\n summary={\r\n <span className={styles.requestAccordionSummary}>\r\n <div\r\n className={styles.requestAccordionSummary_title}\r\n onClick={() =>\r\n setIsExpanded((prev) => ({\r\n ...prev,\r\n request: !prev.request,\r\n }))\r\n }\r\n >\r\n <SVGLoader\r\n className={isExpanded.request ? styles.expanded : ''}\r\n src={DownArrowIcon}\r\n width=\"2rem\"\r\n height=\"2rem\"\r\n />\r\n Request\r\n {method?.type !== 'delete' && <span style={{ color: 'red' }}>*</span>}\r\n </div>\r\n </span>\r\n }\r\n children={\r\n <JsonInput\r\n className={'jsonField'}\r\n placeholder=\"Enter your request body as a JSON object....\"\r\n fieldIsDisabled={readOnly}\r\n value={method?.requestBody?.at(0)?.content?.schema?.properties || '{}'}\r\n onChange={(value: string) => {\r\n setFieldValue('requestBody[0].content.schema.properties', value)\r\n }}\r\n onValidation={() => null}\r\n />\r\n }\r\n />\r\n )}\r\n\r\n <Accordion\r\n expanded={isExpanded.response}\r\n onChange={() => null}\r\n className={styles.responseAccordion}\r\n summary={\r\n <span className={styles.responseAccordionSummary}>\r\n <div\r\n className={styles.responseAccordionSummary_title}\r\n onClick={() =>\r\n setIsExpanded((prev) => ({\r\n ...prev,\r\n response: !prev.response,\r\n }))\r\n }\r\n >\r\n <SVGLoader\r\n className={isExpanded.response ? styles.expanded : ''}\r\n src={DownArrowIcon}\r\n width=\"2rem\"\r\n height=\"2rem\"\r\n />\r\n Response<span style={{ color: 'red' }}>*</span>\r\n </div>\r\n\r\n <SelectGroup\r\n withSearch={false}\r\n isMultiple={false}\r\n placeholder=\"200\"\r\n disabled={true}\r\n options={[\r\n {\r\n list: httpStatusCodeOptions,\r\n },\r\n ]}\r\n value={httpStatusCodeOptions[4]}\r\n />\r\n </span>\r\n }\r\n children={\r\n <JsonInput\r\n className={'jsonField'}\r\n placeholder=\"Enter your response as a JSON object...\"\r\n fieldIsDisabled={readOnly}\r\n value={method.responses?.at(0)?.content?.schema?.properties || '{}'}\r\n onChange={(value) => {\r\n setFieldValue('responses[0].content.schema.properties', value)\r\n }}\r\n onValidation={() => null}\r\n />\r\n }\r\n />\r\n </div>\r\n }\r\n />\r\n <CommonDialog\r\n status=\"error\"\r\n content={\r\n <p\r\n style={{\r\n textAlign: 'center',\r\n fontWeight: 400,\r\n fontSize: '1rem',\r\n lineHeight: '1.4375rem',\r\n }}\r\n className=\"delete-msg-container\"\r\n >\r\n Are you sure you want to delete\r\n <span className=\"plan-name\">{` Parameter ${selectedParamName} `}</span>?\r\n </p>\r\n }\r\n onSubmit={{\r\n onClick: confirmDeleteParameter,\r\n text: 'Yes',\r\n color: 'error',\r\n fullWidth: true,\r\n }}\r\n onCancel={{\r\n text: 'No',\r\n color: 'normal',\r\n fullWidth: true,\r\n }}\r\n onClose={() => setOpenDeleteDialog(false)}\r\n open={openDeleteDialog}\r\n icon={<SVGLoader src={deleteOutlinedIcon} width=\"4.0625rem\" height=\"4.0625rem\" />}\r\n />\r\n </div>\r\n )\r\n}\r\n\r\nexport default MethodsAccordion\r\n"],"names":["httpStatusCodeOptions","httpStatusCodes","map","code","label","_jsxs","className","styles","statusCodeOptionContainer","children","_jsx","statusCodeOptionCircle","style","backgroundColor","handleStatusColor","value","MethodsAccordion","method","path","setFieldValue","readOnly","isExpanded","setIsExpanded","useState","request","response","isFormOpen","setIsFormOpen","tooltipRefs","setTooltipRefs","tableData","setTableData","openDeleteDialog","setOpenDeleteDialog","selectedParamIndex","setSelectedParamIndex","selectedParamName","setSelectedParamName","onTableChange","key","index","newTableData","item","tIndex","Object","assign","generateTableData","items","id","paramName","name","paramType","capitalize","in","schemaType","_a","schema","type","required","jsx","_Fragment","Switch","checked","onClick","description","paramDescContainer","Tooltip","arrowWithBorder","placement","trigger","delay","onCreate","instance","prev","content","jsxs","editDescTooltipContent","editDescTooltipContent_header","TextArea","placeholder","disabled","onChange","Button","editDescTooltipContent_btn","variant","size","hide","editDescBtn","color","substring","length","endIcon","SVGLoader","src","EditIcon","width","height","paramDescContainer_separator","deleteParamBtn","DeleteIcon","handleDeleteClick","tableRecords","setTableRecords","useEffect","parameters","Accordion","expanded","methodAccordion","summary","methodSummaryContainer","methodSummary","methodColorMapping","methodLabel","methodPath","methodExpandArrowContainer","DownArrowIcon","methodAccordionContent","SimpleLabelValue","methodDesc","paramsTable","ParamterTable","data","headCells","paramsTableHeaders","saveNewRow","values","requestAccordion","requestAccordionSummary","requestAccordionSummary_title","JsonInput","fieldIsDisabled","_e","_d","_c","requestBody","at","_f","properties","onValidation","responseAccordion","responseAccordionSummary","responseAccordionSummary_title","SelectGroup","withSearch","isMultiple","options","list","_k","_j","_h","_g","responses","CommonDialog","status","textAlign","fontWeight","fontSize","lineHeight","onSubmit","filter","_","i","text","fullWidth","onCancel","onClose","open","icon","deleteOutlinedIcon"],"mappings":"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"}
1
+ {"version":3,"file":"MethodAccordion.js","sources":["../../../../src/components/MethodAccordion/MethodAccordion.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react'\r\nimport { Accordion, Button, SelectGroup, Switch, TextArea } from 'digitinary-ui'\r\nimport SVGLoader from '../../components/SVGLoader/SVGLoader'\r\nimport {\r\n CheckMarkSquare,\r\n DeleteIcon,\r\n DownArrowIcon,\r\n EditIcon,\r\n deleteOutlinedIcon,\r\n} from '../../assets/icons'\r\nimport { httpStatusCodes, methodColorMapping, paramsTableHeaders } from '../../constants/index'\r\nimport Tooltip from '../../components/Tooltip/Tooltip'\r\nimport { TransformedMethod } from '../../types/layout.type'\r\nimport SimpleLabelValue from '../../components/SimpleLabelValue'\r\nimport { capitalize, handleStatusColor } from '../../helpers/methodAccordion.helper'\r\nimport ParamterTable from '../table/table'\r\nimport CommonDialog from '../../components/dialog'\r\nimport JsonInput from '../../components/JsonInput/JsonInput'\r\nimport styles from './MethodAccordion.module.scss'\r\n\r\nconst httpStatusCodeOptions = httpStatusCodes.map((code) => ({\r\n label: (\r\n <div className={styles.statusCodeOptionContainer}>\r\n <div\r\n className={styles.statusCodeOptionCircle}\r\n style={{ backgroundColor: handleStatusColor(code) }}\r\n ></div>\r\n <span>{code}</span>\r\n </div>\r\n ),\r\n value: code,\r\n}))\r\n\r\nconst MethodsAccordion = ({\r\n method,\r\n path,\r\n setFieldValue,\r\n readOnly,\r\n}: {\r\n method: TransformedMethod\r\n path: string\r\n setFieldValue: (key: string, value: string) => void\r\n readOnly?: boolean\r\n}) => {\r\n const [isExpanded, setIsExpanded] = useState({\r\n request: false,\r\n response: false,\r\n method: false,\r\n })\r\n const [isFormOpen, setIsFormOpen] = useState(false)\r\n const [tooltipRefs, setTooltipRefs] = useState<{ [key: number]: any }>({})\r\n const [tableData, setTableData] = useState([])\r\n const [openDeleteDialog, setOpenDeleteDialog] = useState(false)\r\n const [selectedParamIndex, setSelectedParamIndex] = useState<number | null>(null)\r\n const [selectedParamName, setSelectedParamName] = useState<string | null>(null)\r\n const [selectedStatusCode, setSelectedStatusCode] = useState(httpStatusCodeOptions[4])\r\n const currentResponse =\r\n method.responses.find((res) => Number(res.code) === selectedStatusCode.value) || '{}'\r\n\r\n const onTableChange = (key, value, index) => {\r\n const newTableData = tableData.map((item, tIndex) => {\r\n if (tIndex === index) {\r\n return { ...item, [key]: value }\r\n } else {\r\n return item\r\n }\r\n })\r\n\r\n setTableData(newTableData)\r\n }\r\n\r\n const generateTableData = (items) => {\r\n return items.map((item, index) => {\r\n return {\r\n id: index,\r\n paramName: item.name,\r\n paramType: capitalize(item.in),\r\n schemaType: capitalize(item.schema?.type) || '',\r\n required: (\r\n <>\r\n {readOnly ? (\r\n item.required ? (\r\n 'True'\r\n ) : (\r\n 'False'\r\n )\r\n ) : (\r\n <Switch\r\n checked={item.required}\r\n onClick={() => {\r\n if (readOnly) {\r\n return null\r\n }\r\n onTableChange('required', !item.required, index)\r\n setFieldValue(`parameters[${index}][required]`, !item.required)\r\n }}\r\n />\r\n )}\r\n </>\r\n ),\r\n description: (\r\n <div className={styles.paramDescContainer}>\r\n <Tooltip\r\n arrowWithBorder\r\n placement=\"bottom-end\"\r\n type=\"function\"\r\n trigger=\"click\"\r\n delay={[0, 0]}\r\n onCreate={(instance) =>\r\n setTooltipRefs((prev) => ({\r\n ...prev,\r\n [index]: instance,\r\n }))\r\n }\r\n content={\r\n <div className={styles.editDescTooltipContent}>\r\n <p className={styles.editDescTooltipContent_header}>Description</p>\r\n <TextArea\r\n placeholder=\"Describe parameter...\"\r\n value={item.description}\r\n disabled={readOnly}\r\n onChange={(value) => onTableChange('description', value, index)}\r\n />\r\n {!readOnly && (\r\n <Button\r\n className={styles.editDescTooltipContent_btn}\r\n variant=\"outlined\"\r\n size=\"small\"\r\n onClick={() => {\r\n setFieldValue(`parameters[${index}].description`, item.description)\r\n tooltipRefs[index]?.hide()\r\n }}\r\n >\r\n Apply\r\n </Button>\r\n )}\r\n </div>\r\n }\r\n >\r\n {readOnly ? (\r\n <Button\r\n className={styles.editDescBtn}\r\n variant=\"link\"\r\n color=\"action\"\r\n // endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\r\n >\r\n {item.description ? item.description.substring(0, 12) : '-'}\r\n {item.description && item.description.length > 12 ? '...' : ''}\r\n </Button>\r\n ) : (\r\n <Button\r\n className={styles.editDescBtn}\r\n variant=\"link\"\r\n color=\"action\"\r\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\r\n >\r\n {readOnly ? 'View ' : 'Add '} Description\r\n </Button>\r\n )}\r\n </Tooltip>\r\n\r\n {!readOnly && <div className={styles.paramDescContainer_separator}></div>}\r\n\r\n {!readOnly && (\r\n <Button\r\n className={styles.deleteParamBtn}\r\n variant=\"link\"\r\n color=\"error\"\r\n endIcon={<SVGLoader src={DeleteIcon} width=\"1.125rem\" height=\"1.125rem\" />}\r\n onClick={() => handleDeleteClick(index, item.name)}\r\n ></Button>\r\n )}\r\n </div>\r\n ),\r\n }\r\n })\r\n }\r\n\r\n const [tableRecords, setTableRecords] = useState()\r\n\r\n const confirmDeleteParameter = () => {\r\n if (selectedParamIndex !== null) {\r\n setTableData((prev) => prev.filter((_, i) => i !== selectedParamIndex))\r\n setFieldValue(\r\n `parameters`,\r\n method?.parameters?.filter((_, i) => i !== selectedParamIndex)\r\n )\r\n }\r\n setOpenDeleteDialog(false)\r\n setSelectedParamIndex(null)\r\n }\r\n\r\n const handleDeleteClick = (id: number, name: string) => {\r\n setSelectedParamIndex(id)\r\n setSelectedParamName(name)\r\n\r\n setOpenDeleteDialog(true)\r\n }\r\n\r\n const saveNewRow = (values) => {\r\n setTableData([...tableData, values])\r\n setFieldValue(`parameters`, [...method.parameters, values])\r\n }\r\n\r\n useEffect(() => {\r\n setTableRecords(generateTableData(tableData))\r\n }, [tableData])\r\n\r\n useEffect(() => {\r\n if (method?.parameters) {\r\n setTableRecords(generateTableData(method.parameters))\r\n setTableData(method.parameters)\r\n }\r\n }, [method, path])\r\n\r\n return (\r\n <div>\r\n <Accordion\r\n expanded={isExpanded.method}\r\n onChange={() => setIsExpanded((prev) => ({ ...prev, method: !prev.method }))}\r\n className={styles.methodAccordion}\r\n summary={\r\n <div className={styles.methodSummaryContainer}>\r\n <div className={styles.methodSummary}>\r\n <span\r\n style={{\r\n backgroundColor: methodColorMapping?.[method?.type]?.color || '#3A6CD1',\r\n }}\r\n className={styles.methodLabel}\r\n >\r\n {methodColorMapping?.[method?.type]?.label || method?.type}\r\n </span>\r\n <span className={styles.methodPath}>{path}</span>\r\n </div>\r\n <div\r\n className={`${styles.methodExpandArrowContainer} ${\r\n isExpanded.method ? styles.expanded : ''\r\n }`}\r\n >\r\n <SVGLoader src={DownArrowIcon} width=\"2rem\" height=\"2rem\" />\r\n </div>\r\n </div>\r\n }\r\n children={\r\n <div className={styles.methodAccordionContent}>\r\n {!readOnly ? (\r\n <TextArea\r\n className={styles.methodDesc}\r\n label=\"Description\"\r\n placeholder=\"Describe the endpoint's purpose and functionality...\"\r\n value={method?.description}\r\n onChange={(value) => setFieldValue('description', value)}\r\n />\r\n ) : (\r\n <SimpleLabelValue\r\n key={'description'}\r\n label={'Description: '}\r\n value={method?.description || '-'}\r\n />\r\n )}\r\n <div className={styles.paramsTable}>\r\n <ParamterTable\r\n id=\"paramter-table\"\r\n data={tableRecords}\r\n headCells={paramsTableHeaders}\r\n isFormOpen={isFormOpen}\r\n setIsFormOpen={setIsFormOpen}\r\n saveNewRow={saveNewRow}\r\n readOnly={readOnly}\r\n />\r\n </div>\r\n\r\n {method?.type !== 'get' && (\r\n <Accordion\r\n expanded={isExpanded.request}\r\n onChange={() => null}\r\n className={styles.requestAccordion}\r\n summary={\r\n <span className={styles.requestAccordionSummary}>\r\n <div\r\n className={styles.requestAccordionSummary_title}\r\n onClick={() =>\r\n setIsExpanded((prev) => ({\r\n ...prev,\r\n request: !prev.request,\r\n }))\r\n }\r\n >\r\n <SVGLoader\r\n className={isExpanded.request ? styles.expanded : ''}\r\n src={DownArrowIcon}\r\n width=\"2rem\"\r\n height=\"2rem\"\r\n />\r\n Request\r\n {method?.type !== 'delete' && <span style={{ color: 'red' }}>*</span>}\r\n </div>\r\n </span>\r\n }\r\n children={\r\n <JsonInput\r\n className={'jsonField'}\r\n placeholder=\"Enter your request body as a JSON object....\"\r\n fieldIsDisabled={readOnly}\r\n value={method?.requestBody?.content?.schema?.properties || '{}'}\r\n onChange={(value: string) => {\r\n setFieldValue('requestBody.content.schema.properties', value)\r\n }}\r\n onValidation={() => null}\r\n />\r\n }\r\n />\r\n )}\r\n\r\n <Accordion\r\n expanded={isExpanded.response}\r\n onChange={() => null}\r\n className={styles.responseAccordion}\r\n summary={\r\n <span className={styles.responseAccordionSummary}>\r\n <div\r\n className={styles.responseAccordionSummary_title}\r\n onClick={() =>\r\n setIsExpanded((prev) => ({\r\n ...prev,\r\n response: !prev.response,\r\n }))\r\n }\r\n >\r\n <SVGLoader\r\n className={isExpanded.response ? styles.expanded : ''}\r\n src={DownArrowIcon}\r\n width=\"2rem\"\r\n height=\"2rem\"\r\n />\r\n Response<span style={{ color: 'red' }}>*</span>\r\n </div>\r\n\r\n <SelectGroup\r\n withSearch={false}\r\n isMultiple={false}\r\n placeholder=\"200\"\r\n options={[\r\n {\r\n list: httpStatusCodeOptions,\r\n },\r\n ]}\r\n value={selectedStatusCode}\r\n onChange={(value) => {\r\n setSelectedStatusCode(value)\r\n }}\r\n />\r\n </span>\r\n }\r\n children={\r\n <JsonInput\r\n className={'jsonField'}\r\n placeholder=\"Enter your response as a JSON object...\"\r\n fieldIsDisabled={readOnly}\r\n value={currentResponse?.content?.schema?.properties || '{}'}\r\n onChange={(value) => {\r\n const currentResIndex = method.responses.findIndex(\r\n (res) => res.code === currentResponse.code\r\n )\r\n\r\n if (currentResIndex !== -1) {\r\n setFieldValue(\r\n `responses[${currentResIndex}].content.schema.properties`,\r\n value\r\n )\r\n } else {\r\n const clonedResponses = structuredClone(method.responses)\r\n\r\n clonedResponses.push({\r\n code: selectedStatusCode.value.toString(),\r\n content: {\r\n contentType: 'application/json',\r\n schema: {\r\n type: 'object',\r\n properties: value,\r\n },\r\n },\r\n })\r\n\r\n setFieldValue('responses', clonedResponses)\r\n }\r\n }}\r\n onValidation={() => null}\r\n />\r\n }\r\n />\r\n </div>\r\n }\r\n />\r\n <CommonDialog\r\n status=\"error\"\r\n content={\r\n <p\r\n style={{\r\n textAlign: 'center',\r\n fontWeight: 400,\r\n fontSize: '1rem',\r\n lineHeight: '1.4375rem',\r\n }}\r\n className=\"delete-msg-container\"\r\n >\r\n Are you sure you want to delete\r\n <span className=\"plan-name\">{` Parameter ${selectedParamName} `}</span>?\r\n </p>\r\n }\r\n onSubmit={{\r\n onClick: confirmDeleteParameter,\r\n text: 'Yes',\r\n color: 'error',\r\n fullWidth: true,\r\n }}\r\n onCancel={{\r\n text: 'No',\r\n color: 'normal',\r\n fullWidth: true,\r\n }}\r\n onClose={() => setOpenDeleteDialog(false)}\r\n open={openDeleteDialog}\r\n icon={<SVGLoader src={deleteOutlinedIcon} width=\"4.0625rem\" height=\"4.0625rem\" />}\r\n />\r\n </div>\r\n )\r\n}\r\n\r\nexport default MethodsAccordion\r\n"],"names":["httpStatusCodeOptions","httpStatusCodes","map","code","label","_jsxs","className","styles","statusCodeOptionContainer","children","_jsx","statusCodeOptionCircle","style","backgroundColor","handleStatusColor","value","MethodsAccordion","method","path","setFieldValue","readOnly","isExpanded","setIsExpanded","useState","request","response","isFormOpen","setIsFormOpen","tooltipRefs","setTooltipRefs","tableData","setTableData","openDeleteDialog","setOpenDeleteDialog","selectedParamIndex","setSelectedParamIndex","selectedParamName","setSelectedParamName","selectedStatusCode","setSelectedStatusCode","currentResponse","responses","find","res","Number","onTableChange","key","index","newTableData","item","tIndex","Object","assign","generateTableData","items","id","paramName","name","paramType","capitalize","in","schemaType","_a","schema","type","required","jsx","_Fragment","Switch","checked","onClick","description","paramDescContainer","Tooltip","arrowWithBorder","placement","trigger","delay","onCreate","instance","prev","content","jsxs","editDescTooltipContent","editDescTooltipContent_header","TextArea","placeholder","disabled","onChange","Button","editDescTooltipContent_btn","variant","size","hide","editDescBtn","color","substring","length","endIcon","SVGLoader","src","EditIcon","width","height","paramDescContainer_separator","deleteParamBtn","DeleteIcon","handleDeleteClick","tableRecords","setTableRecords","useEffect","parameters","Accordion","expanded","methodAccordion","summary","methodSummaryContainer","methodSummary","methodColorMapping","methodLabel","methodPath","methodExpandArrowContainer","DownArrowIcon","methodAccordionContent","SimpleLabelValue","methodDesc","paramsTable","ParamterTable","data","headCells","paramsTableHeaders","saveNewRow","values","requestAccordion","requestAccordionSummary","requestAccordionSummary_title","JsonInput","fieldIsDisabled","_e","_c","requestBody","_d","properties","onValidation","responseAccordion","responseAccordionSummary","responseAccordionSummary_title","SelectGroup","withSearch","isMultiple","options","list","_g","_f","currentResIndex","findIndex","clonedResponses","structuredClone","push","toString","contentType","CommonDialog","status","textAlign","fontWeight","fontSize","lineHeight","onSubmit","filter","_","i","text","fullWidth","onCancel","onClose","open","icon","deleteOutlinedIcon"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{__rest as e}from"../../node_modules/tslib/tslib.es6.js";const t=e=>{var t,s,n,c,i;if(e.components&&e.components.securitySchemes){const o=null===(t=Object.keys(e.components.securitySchemes))||void 0===t?void 0:t.at(0);o&&(e.components.securitySchemes[o].type=null===(i=null===(c=null===(n=null===(s=null==e?void 0:e.components)||void 0===s?void 0:s.securitySchemes)||void 0===n?void 0:n[o])||void 0===c?void 0:c.type)||void 0===i?void 0:i.toUpperCase())}return Object.assign(Object.assign({},e),{paths:o(e.paths)})},s=e=>{var t,s,o,c,i;const r=Object.assign(Object.assign({},e),{paths:n(e.paths)});if(r.components&&r.components.securitySchemes){const e=null===(t=Object.keys(r.components.securitySchemes))||void 0===t?void 0:t.at(0);e&&(r.components.securitySchemes[e].type.toLowerCase()=="APIKEY".toLowerCase()&&(r.components.securitySchemes[e].in=r.components.securitySchemes[e].in.toUpperCase()),r.components.securitySchemes[e].type=null===(i=null===(c=null===(o=null===(s=null==r?void 0:r.components)||void 0===s?void 0:s.securitySchemes)||void 0===o?void 0:o[e])||void 0===c?void 0:c.type)||void 0===i?void 0:i.toUpperCase())}return r},o=e=>Object.entries(e).map((([e,t])=>({path:e,methods:Object.entries(t).map((([e,t])=>{const s=Object.assign(Object.assign({},t),{type:e,tags:t.tags,responses:Object.entries(t.responses).map((([e,t])=>{var s,o,n,c,i;const r=Object.keys(t.content||{})[0];return{code:e,content:{contentType:r,schema:Object.assign(Object.assign({},null===(o=null===(s=t.content)||void 0===s?void 0:s[r])||void 0===o?void 0:o.schema),{properties:JSON.stringify(null===(i=null===(c=null===(n=t.content)||void 0===n?void 0:n[r])||void 0===c?void 0:c.schema)||void 0===i?void 0:i.properties)})}}}))});return"get"!=e.toLowerCase()&&(s.requestBody=t.requestBody?Object.entries(t.requestBody).map((([e,t])=>{var s,o,n,c,i;const r=Object.keys(t.content||{})[0];return{content:{contentType:r,schema:Object.assign(Object.assign({},null===(o=null===(s=t.content)||void 0===s?void 0:s[r])||void 0===o?void 0:o.schema),{properties:JSON.stringify(null===(i=null===(c=null===(n=t.content)||void 0===n?void 0:n[r])||void 0===c?void 0:c.schema)||void 0===i?void 0:i.properties)})}}})):[{content:{contentType:"application/json",schema:{properties:"{}",type:"object"}}}]),s}))}))),n=t=>t.reduce(((t,{path:s,methods:o})=>(t[s]=o.reduce(((t,s)=>{var{type:o,tags:n,responses:c,requestBody:i}=s,r=e(s,["type","tags","responses","requestBody"]);t[o]=Object.assign(Object.assign({},r),{tags:n,responses:c.reduce(((e,{code:t,content:s})=>{var o;return e[t]={description:"Success",content:s.contentType?{[s.contentType]:{schema:Object.assign(Object.assign({},s.schema),{properties:JSON.parse(null===(o=null==s?void 0:s.schema)||void 0===o?void 0:o.properties)})}}:{}},e}),{})});const p="get"!==o?JSON.parse(i[0].content.schema.properties):{};return"get"!==o&&(t[o].requestBody={content:{[i[0].content.contentType]:{schema:Object.assign(Object.assign({},i[0].content.schema),{properties:p})}}}),t}),{}),t)),{});export{t as transformOpenApiObject,s as transformOpenApiObjectToOrigin,n as transformPathsArrayToOrigin,o as transformPathsToArray};
1
+ import{__rest as e}from"../../node_modules/tslib/tslib.es6.js";const t=e=>{var t,s,n,c,i;if(e.components&&e.components.securitySchemes){const o=null===(t=Object.keys(e.components.securitySchemes))||void 0===t?void 0:t.at(0);o&&(e.components.securitySchemes[o].type=null===(i=null===(c=null===(n=null===(s=null==e?void 0:e.components)||void 0===s?void 0:s.securitySchemes)||void 0===n?void 0:n[o])||void 0===c?void 0:c.type)||void 0===i?void 0:i.toUpperCase())}return Object.assign(Object.assign({},e),{paths:o(e.paths)})},s=e=>{var t,s,o,c,i;const r=Object.assign(Object.assign({},e),{paths:n(e.paths)});if(r.components&&r.components.securitySchemes){const e=null===(t=Object.keys(r.components.securitySchemes))||void 0===t?void 0:t.at(0);e&&(r.components.securitySchemes[e].type.toLowerCase()=="APIKEY".toLowerCase()&&(r.components.securitySchemes[e].in=r.components.securitySchemes[e].in.toUpperCase()),r.components.securitySchemes[e].type=null===(i=null===(c=null===(o=null===(s=null==r?void 0:r.components)||void 0===s?void 0:s.securitySchemes)||void 0===o?void 0:o[e])||void 0===c?void 0:c.type)||void 0===i?void 0:i.toUpperCase())}return r},o=e=>Object.entries(e).map((([e,t])=>({path:e,methods:Object.entries(t).map((([e,t])=>{var s,o,n,c,i,r;const p=Object.assign(Object.assign({},t),{type:e,tags:t.tags,responses:Object.entries(t.responses).map((([e,t])=>{var s,o,n,c,i;const r=Object.keys(t.content||{})[0];return{code:e,content:{contentType:r,schema:Object.assign(Object.assign({},null===(o=null===(s=t.content)||void 0===s?void 0:s[r])||void 0===o?void 0:o.schema),{properties:JSON.stringify(null===(i=null===(c=null===(n=t.content)||void 0===n?void 0:n[r])||void 0===c?void 0:c.schema)||void 0===i?void 0:i.properties)})}}}))});if("get"!=e.toLowerCase()){const e=Object.keys((null===(s=null==t?void 0:t.requestBody)||void 0===s?void 0:s.content)||{})[0],d=null===(n=null===(o=null==t?void 0:t.requestBody)||void 0===o?void 0:o.content)||void 0===n?void 0:n.schema,l=(null===(r=null===(i=null===(c=null==t?void 0:t.requestBody)||void 0===c?void 0:c.content)||void 0===i?void 0:i.schema)||void 0===r?void 0:r.properties)?{content:{contentType:e,schema:Object.assign(Object.assign({},d),{properties:(null==d?void 0:d.properties)?JSON.stringify(null==d?void 0:d.properties):"{}"})}}:{content:{contentType:"application/json",schema:{properties:"{}",type:"object"}}};p.requestBody=l}return p}))}))),n=t=>t.reduce(((t,{path:s,methods:o})=>(t[s]=o.reduce(((t,s)=>{var{type:o,tags:n,responses:c,requestBody:i}=s,r=e(s,["type","tags","responses","requestBody"]);t[o]=Object.assign(Object.assign({},r),{tags:n,responses:c.reduce(((e,{code:t,content:s})=>{var o;return e[t]={description:"Success",content:s.contentType?{[s.contentType]:{schema:Object.assign(Object.assign({},s.schema),{properties:JSON.parse(null===(o=null==s?void 0:s.schema)||void 0===o?void 0:o.properties)})}}:{}},e}),{})});const p="get"!==o?JSON.parse(i.content.schema.properties):{};return"get"!==o&&(t[o].requestBody={content:{[i.content.contentType]:{schema:Object.assign(Object.assign({},i.content.schema),{properties:p})}}}),t}),{}),t)),{});export{t as transformOpenApiObject,s as transformOpenApiObjectToOrigin,n as transformPathsArrayToOrigin,o as transformPathsToArray};
2
2
  //# sourceMappingURL=layout.helper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"layout.helper.js","sources":["../../../src/helpers/layout.helper.ts"],"sourcesContent":["import { TransformedPathsArray } from '@entities/layout.type'\r\nimport { OpenAPIFile, SecurityScheme } from '@entities/openApi'\r\nimport { TransformedOpenApi } from '@entities/transformedOpenApi'\r\n\r\nexport const transformOpenApiObject = (openApiJson: OpenAPIFile): TransformedOpenApi => {\r\n if (openApiJson.components && openApiJson.components.securitySchemes) {\r\n const authKey = Object.keys(openApiJson.components.securitySchemes)?.at(0)\r\n\r\n if (authKey) {\r\n openApiJson.components.securitySchemes[authKey].type =\r\n openApiJson?.components?.securitySchemes?.[\r\n authKey\r\n ]?.type?.toUpperCase() as SecurityScheme['type']\r\n }\r\n }\r\n\r\n return {\r\n ...openApiJson,\r\n paths: transformPathsToArray(openApiJson.paths),\r\n } as TransformedOpenApi\r\n}\r\n\r\nexport const transformOpenApiObjectToOrigin = (values: TransformedOpenApi): OpenAPIFile => {\r\n const object = {\r\n ...values,\r\n paths: transformPathsArrayToOrigin(values.paths),\r\n }\r\n if (object.components && object.components.securitySchemes) {\r\n const authKey = Object.keys(object.components.securitySchemes)?.at(0)\r\n if (authKey) {\r\n if (object.components.securitySchemes[authKey].type.toLowerCase() == 'APIKEY'.toLowerCase()) {\r\n object.components.securitySchemes[authKey].in = object.components.securitySchemes[\r\n authKey\r\n ].in.toUpperCase() as SecurityScheme['in']\r\n }\r\n object.components.securitySchemes[authKey].type = object?.components?.securitySchemes?.[\r\n authKey\r\n ]?.type?.toUpperCase() as SecurityScheme['type']\r\n }\r\n }\r\n return object\r\n}\r\n\r\nexport const transformPathsToArray = (paths: OpenAPIFile['paths']): TransformedPathsArray | any => {\r\n const transformedPaths = Object.entries(paths).map(([path, methods]) => ({\r\n path,\r\n methods: Object.entries(methods).map(([method, methodProps]) => {\r\n const obj: any = {\r\n ...methodProps,\r\n type: method,\r\n tags: methodProps.tags,\r\n responses: Object.entries(methodProps.responses).map(([code, codeProps]) => {\r\n const contentType = Object.keys(codeProps.content || {})[0]\r\n return {\r\n code,\r\n content: {\r\n contentType,\r\n schema: {\r\n ...codeProps.content?.[contentType]?.schema,\r\n properties: JSON.stringify(codeProps.content?.[contentType]?.schema?.properties),\r\n },\r\n },\r\n }\r\n }),\r\n }\r\n\r\n if (method.toLowerCase() != 'get') {\r\n obj['requestBody'] = methodProps.requestBody\r\n ? Object.entries(methodProps.requestBody).map(([_, codeProps]) => {\r\n const contentType = Object.keys(codeProps.content || {})[0]\r\n return {\r\n content: {\r\n contentType,\r\n schema: {\r\n ...codeProps.content?.[contentType]?.schema,\r\n properties: JSON.stringify(\r\n codeProps.content?.[contentType]?.schema?.properties\r\n ),\r\n },\r\n },\r\n }\r\n })\r\n : [\r\n {\r\n content: {\r\n contentType: 'application/json',\r\n schema: {\r\n properties: '{}',\r\n type: 'object',\r\n },\r\n },\r\n },\r\n ]\r\n }\r\n return obj\r\n }),\r\n }))\r\n return transformedPaths\r\n}\r\n\r\nexport const transformPathsArrayToOrigin = (paths: TransformedPathsArray): OpenAPIFile['paths'] => {\r\n return paths.reduce((acc, { path, methods }) => {\r\n acc[path] = methods.reduce((methodAcc, { type, tags, responses, requestBody, ...rest }) => {\r\n // Initialize the method object\r\n methodAcc[type] = {\r\n ...rest,\r\n tags,\r\n responses: responses.reduce((respAcc, { code, content }) => {\r\n respAcc[code] = {\r\n description: 'Success', // Assuming this is static from the original data\r\n content: content.contentType\r\n ? {\r\n [content.contentType]: {\r\n schema: {\r\n ...(content.schema as object),\r\n properties: JSON.parse((content?.schema as any)?.properties as string),\r\n },\r\n },\r\n }\r\n : {},\r\n }\r\n return respAcc\r\n }, {} as Record<string, any>),\r\n }\r\n\r\n const parsedRequestBodyProps =\r\n type !== 'get' ? JSON.parse(requestBody[0].content.schema.properties) : {}\r\n // Add requestBody for non-GET methods\r\n if (type !== 'get') {\r\n methodAcc[type].requestBody = {\r\n content: {\r\n [requestBody[0].content.contentType]: {\r\n schema: {\r\n ...requestBody[0].content.schema,\r\n properties: parsedRequestBodyProps,\r\n },\r\n },\r\n },\r\n }\r\n }\r\n\r\n return methodAcc\r\n }, {} as Record<string, any>)\r\n\r\n return acc\r\n }, {} as OpenAPIFile['paths'])\r\n}\r\n"],"names":["transformOpenApiObject","openApiJson","components","securitySchemes","authKey","_a","Object","keys","at","type","_e","_d","_b","_c","toUpperCase","assign","paths","transformPathsToArray","transformOpenApiObjectToOrigin","values","object","transformPathsArrayToOrigin","toLowerCase","in","entries","map","path","methods","method","methodProps","obj","tags","responses","code","codeProps","contentType","content","schema","properties","JSON","stringify","requestBody","_","reduce","acc","methodAcc","rest","__rest","respAcc","description","parse","parsedRequestBodyProps"],"mappings":"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"}
1
+ {"version":3,"file":"layout.helper.js","sources":["../../../src/helpers/layout.helper.ts"],"sourcesContent":["import { TransformedPathsArray } from '@entities/layout.type'\r\nimport { OpenAPIFile, SecurityScheme } from '@entities/openApi'\r\nimport { TransformedOpenApi } from '@entities/transformedOpenApi'\r\n\r\nexport const transformOpenApiObject = (openApiJson: OpenAPIFile): TransformedOpenApi => {\r\n if (openApiJson.components && openApiJson.components.securitySchemes) {\r\n const authKey = Object.keys(openApiJson.components.securitySchemes)?.at(0)\r\n\r\n if (authKey) {\r\n openApiJson.components.securitySchemes[authKey].type =\r\n openApiJson?.components?.securitySchemes?.[\r\n authKey\r\n ]?.type?.toUpperCase() as SecurityScheme['type']\r\n }\r\n }\r\n\r\n return {\r\n ...openApiJson,\r\n paths: transformPathsToArray(openApiJson.paths),\r\n } as TransformedOpenApi\r\n}\r\n\r\nexport const transformOpenApiObjectToOrigin = (values: TransformedOpenApi): OpenAPIFile => {\r\n const object = {\r\n ...values,\r\n paths: transformPathsArrayToOrigin(values.paths),\r\n }\r\n if (object.components && object.components.securitySchemes) {\r\n const authKey = Object.keys(object.components.securitySchemes)?.at(0)\r\n if (authKey) {\r\n if (object.components.securitySchemes[authKey].type.toLowerCase() == 'APIKEY'.toLowerCase()) {\r\n object.components.securitySchemes[authKey].in = object.components.securitySchemes[\r\n authKey\r\n ].in.toUpperCase() as SecurityScheme['in']\r\n }\r\n object.components.securitySchemes[authKey].type = object?.components?.securitySchemes?.[\r\n authKey\r\n ]?.type?.toUpperCase() as SecurityScheme['type']\r\n }\r\n }\r\n return object\r\n}\r\n\r\nexport const transformPathsToArray = (paths: OpenAPIFile['paths']): TransformedPathsArray | any => {\r\n const transformedPaths = Object.entries(paths).map(([path, methods]) => ({\r\n path,\r\n methods: Object.entries(methods).map(([method, methodProps]) => {\r\n const obj: any = {\r\n ...methodProps,\r\n type: method,\r\n tags: methodProps.tags,\r\n responses: Object.entries(methodProps.responses).map(([code, codeProps]) => {\r\n const contentType = Object.keys(codeProps.content || {})[0]\r\n return {\r\n code,\r\n content: {\r\n contentType,\r\n schema: {\r\n ...codeProps.content?.[contentType]?.schema,\r\n properties: JSON.stringify(codeProps.content?.[contentType]?.schema?.properties),\r\n },\r\n },\r\n }\r\n }),\r\n }\r\n\r\n if (method.toLowerCase() != 'get') {\r\n const contentType = Object.keys(methodProps?.requestBody?.content || {})[0]\r\n const reqSchema = methodProps?.requestBody?.content?.schema\r\n const requestBodyData = methodProps?.requestBody?.content?.schema?.properties\r\n ? {\r\n content: {\r\n contentType,\r\n schema: {\r\n ...reqSchema,\r\n properties: reqSchema?.properties ? JSON.stringify(reqSchema?.properties) : '{}',\r\n },\r\n },\r\n }\r\n : {\r\n content: {\r\n contentType: 'application/json',\r\n schema: {\r\n properties: '{}',\r\n type: 'object',\r\n },\r\n },\r\n }\r\n\r\n obj['requestBody'] = requestBodyData\r\n }\r\n\r\n return obj\r\n }),\r\n }))\r\n return transformedPaths\r\n}\r\n\r\nexport const transformPathsArrayToOrigin = (paths: TransformedPathsArray): OpenAPIFile['paths'] => {\r\n return paths.reduce((acc, { path, methods }) => {\r\n acc[path] = methods.reduce((methodAcc, { type, tags, responses, requestBody, ...rest }) => {\r\n // Initialize the method object\r\n methodAcc[type] = {\r\n ...rest,\r\n tags,\r\n responses: responses.reduce((respAcc, { code, content }) => {\r\n respAcc[code] = {\r\n description: 'Success', // Assuming this is static from the original data\r\n content: content.contentType\r\n ? {\r\n [content.contentType]: {\r\n schema: {\r\n ...(content.schema as object),\r\n properties: JSON.parse((content?.schema as any)?.properties as string),\r\n },\r\n },\r\n }\r\n : {},\r\n }\r\n return respAcc\r\n }, {} as Record<string, any>),\r\n }\r\n\r\n const parsedRequestBodyProps =\r\n type !== 'get' ? JSON.parse(requestBody.content.schema.properties) : {}\r\n // Add requestBody for non-GET methods\r\n if (type !== 'get') {\r\n methodAcc[type].requestBody = {\r\n content: {\r\n [requestBody.content.contentType]: {\r\n schema: {\r\n ...requestBody.content.schema,\r\n properties: parsedRequestBodyProps,\r\n },\r\n },\r\n },\r\n }\r\n }\r\n\r\n return methodAcc\r\n }, {} as Record<string, any>)\r\n\r\n return acc\r\n }, {} as OpenAPIFile['paths'])\r\n}\r\n"],"names":["transformOpenApiObject","openApiJson","components","securitySchemes","authKey","_a","Object","keys","at","type","_e","_d","_b","_c","toUpperCase","assign","paths","transformPathsToArray","transformOpenApiObjectToOrigin","values","object","transformPathsArrayToOrigin","toLowerCase","in","entries","map","path","methods","method","methodProps","obj","tags","responses","code","codeProps","contentType","content","schema","properties","JSON","stringify","requestBody","reqSchema","requestBodyData","reduce","acc","methodAcc","rest","__rest","respAcc","description","parse","parsedRequestBodyProps"],"mappings":"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"}
package/dist/styles.css CHANGED
@@ -1,20 +1,4 @@
1
- p.apiName {
2
- font-size: 40px;
3
- line-height: 30px;
4
- font-weight: 500;
5
- }.apiInfoForm {
6
- display: grid;
7
- padding: 1.25rem 1.875rem;
8
- gap: 1.25rem;
9
- }
10
- .apiInfoForm .apiDocRow {
11
- display: grid;
12
- grid-template-columns: 1fr 1fr;
13
- gap: 1.25rem;
14
- }
15
- .apiInfoForm .apiInfoForm_tagsChips {
16
- margin-top: -1.25rem;
17
- }.methodAccordion {
1
+ .methodAccordion {
18
2
  border: none !important;
19
3
  box-shadow: none !important;
20
4
  margin-bottom: 0 !important;
@@ -254,6 +238,22 @@ p.apiName {
254
238
  width: 0.625rem;
255
239
  aspect-ratio: 1/1;
256
240
  border-radius: 100%;
241
+ }.apiInfoForm {
242
+ display: grid;
243
+ padding: 1.25rem 1.875rem;
244
+ gap: 1.25rem;
245
+ }
246
+ .apiInfoForm .apiDocRow {
247
+ display: grid;
248
+ grid-template-columns: 1fr 1fr;
249
+ gap: 1.25rem;
250
+ }
251
+ .apiInfoForm .apiInfoForm_tagsChips {
252
+ margin-top: -1.25rem;
253
+ }p.apiName {
254
+ font-size: 40px;
255
+ line-height: 30px;
256
+ font-weight: 500;
257
257
  }.tooltip-custom-wrapper {
258
258
  display: flex;
259
259
  }
@@ -344,29 +344,6 @@ p.apiName {
344
344
  z-index: 20000000000;
345
345
  top: -0.6rem;
346
346
  transform-origin: center !important;
347
- }.containerTitleDrawer {
348
- height: 64px;
349
- min-height: 64px;
350
- display: flex;
351
- flex-direction: row;
352
- justify-content: space-between;
353
- align-items: center;
354
- background-color: #f1f2f6;
355
- padding: 0 30px 0 30px;
356
- width: 100%;
357
- }
358
- .containerTitleDrawer span {
359
- color: #12131a;
360
- font-weight: 600;
361
- font-size: 18px;
362
- line-height: 25px;
363
- letter-spacing: 0em;
364
- }
365
- .containerTitleDrawer svg path {
366
- stroke: #000 !important;
367
- }
368
- .containerTitleDrawer .closeIcon {
369
- cursor: pointer;
370
347
  }:root {
371
348
  --white: #fff;
372
349
  --Gray-5: #f1f2f6;
@@ -596,6 +573,211 @@ p.apiName {
596
573
  .tableSectionContainer .descArrow path,
597
574
  .tableSectionContainer .defaultSortArrow path {
598
575
  fill: var(--Gray-50);
576
+ }.containerTitleDrawer {
577
+ height: 64px;
578
+ min-height: 64px;
579
+ display: flex;
580
+ flex-direction: row;
581
+ justify-content: space-between;
582
+ align-items: center;
583
+ background-color: #f1f2f6;
584
+ padding: 0 30px 0 30px;
585
+ width: 100%;
586
+ }
587
+ .containerTitleDrawer span {
588
+ color: #12131a;
589
+ font-weight: 600;
590
+ font-size: 18px;
591
+ line-height: 25px;
592
+ letter-spacing: 0em;
593
+ }
594
+ .containerTitleDrawer svg path {
595
+ stroke: #000 !important;
596
+ }
597
+ .containerTitleDrawer .closeIcon {
598
+ cursor: pointer;
599
+ }#common-dialog.dialog-content-wrapper {
600
+ overflow: visible !important;
601
+ max-height: 100%;
602
+ width: 22.1875rem;
603
+ }
604
+ #common-dialog.dialog-content-wrapper .dialog-content-root {
605
+ overflow: visible !important;
606
+ border-radius: 0.625rem;
607
+ max-height: 100%;
608
+ }
609
+ #common-dialog.dialog-content-wrapper .dialog-content-root .dialog-content {
610
+ padding: 0 1.875rem !important;
611
+ overflow: visible !important;
612
+ max-height: 100%;
613
+ }
614
+ #common-dialog.dialog-content-wrapper .dialog-content-root .dialog-content .common-dialog {
615
+ position: relative;
616
+ }
617
+ #common-dialog.dialog-content-wrapper .dialog-content-root .dialog-content .common-dialog .close-icon {
618
+ position: absolute;
619
+ z-index: 1;
620
+ top: 1.5rem;
621
+ right: 0;
622
+ transform: translate(0.625rem, -0.625rem);
623
+ cursor: pointer;
624
+ }
625
+ #common-dialog.dialog-content-wrapper .dialog-content-root .dialog-content .common-dialog .confirmation-dialog-header {
626
+ display: flex;
627
+ padding-top: 0.5rem;
628
+ position: relative;
629
+ }
630
+ #common-dialog.dialog-content-wrapper .dialog-content-root .dialog-content .common-dialog .confirmation-dialog-header .icon {
631
+ margin-top: 1rem;
632
+ margin-bottom: 1.5rem;
633
+ margin-inline: auto;
634
+ }
635
+ #common-dialog.dialog-content-wrapper .dialog-content-root .dialog-content .common-dialog .confirmation-dialog-header .icon.info path {
636
+ stroke: #12131a;
637
+ }
638
+ #common-dialog.dialog-content-wrapper .dialog-content-root .dialog-content .common-dialog .confirmation-dialog-header .icon.info line {
639
+ stroke: #12131a;
640
+ }
641
+ #common-dialog.dialog-content-wrapper .dialog-content-root .dialog-content .common-dialog .confirmation-dialog-header .icon.info line + path {
642
+ fill: #12131a;
643
+ }
644
+ #common-dialog.dialog-content-wrapper .dialog-content-root .dialog-content .common-dialog .confirmation-dialog-header .icon.warning path {
645
+ stroke: #faad14;
646
+ }
647
+ #common-dialog.dialog-content-wrapper .dialog-content-root .dialog-content .common-dialog .confirmation-dialog-header .icon.warning line {
648
+ stroke: #faad14;
649
+ }
650
+ #common-dialog.dialog-content-wrapper .dialog-content-root .dialog-content .common-dialog .confirmation-dialog-header .icon.error path {
651
+ stroke: #da3f3f;
652
+ }
653
+ #common-dialog.dialog-content-wrapper .dialog-content-root .dialog-content .common-dialog .confirmation-dialog-header .icon.error line {
654
+ stroke: #da3f3f;
655
+ }
656
+ #common-dialog.dialog-content-wrapper .dialog-content-root .dialog-content .common-dialog .confirmation-dialog-header .icon.error line + path {
657
+ fill: #da3f3f;
658
+ }
659
+ #common-dialog.dialog-content-wrapper .dialog-content-root .dialog-content .common-dialog .confirmation-title {
660
+ font-size: 1.5rem;
661
+ font-weight: 500;
662
+ line-height: 1.875rem;
663
+ text-align: center;
664
+ margin-bottom: 0.625rem;
665
+ }
666
+ #common-dialog.dialog-content-wrapper .dialog-content-root .dialog-content .common-dialog .confirmation-title.error-title {
667
+ color: #da3f3f;
668
+ }
669
+ #common-dialog.dialog-content-wrapper .dialog-content-root .dialog-content .common-dialog .confirmation-title.warning-title {
670
+ color: #faad14;
671
+ }
672
+ #common-dialog.dialog-content-wrapper .dialog-content-root .dialog-content .common-dialog .confirmation-dialog-footer {
673
+ display: flex;
674
+ gap: 1.25rem;
675
+ margin-top: 1.875rem;
676
+ }.json-editor-container .json-editor-label {
677
+ font-size: 0.875rem;
678
+ font-weight: 600;
679
+ line-height: 1.25rem;
680
+ margin-bottom: 0.3125rem;
681
+ }
682
+ .json-editor-container .json-editor {
683
+ display: flex;
684
+ flex-direction: column;
685
+ background-color: #142452;
686
+ width: 100%;
687
+ border-radius: 0.3125rem;
688
+ margin-bottom: -0.5rem;
689
+ outline: 1px solid transparent;
690
+ position: relative;
691
+ }
692
+ .json-editor-container .json-editor .actions-container {
693
+ width: 100%;
694
+ height: 5rem;
695
+ padding: 1.25rem;
696
+ border-radius: 0 0 0.3125rem 0.3125rem;
697
+ background: #101e47;
698
+ display: flex;
699
+ flex-direction: row;
700
+ gap: 1.25rem;
701
+ align-items: center;
702
+ }
703
+ .json-editor-container .json-editor .actions-container .validate {
704
+ color: #fff;
705
+ text-align: center;
706
+ font-size: 1rem;
707
+ font-style: normal;
708
+ font-weight: 600;
709
+ line-height: 1.25rem;
710
+ width: 8.75rem;
711
+ padding: 0.625rem 2.25rem;
712
+ background-color: rgba(240, 248, 255, 0);
713
+ border-radius: 0.3125rem;
714
+ border: 0.0625rem solid #4d75d8;
715
+ cursor: pointer;
716
+ }
717
+ .json-editor-container .json-editor .actions-container .validate:disabled {
718
+ color: #babdcc;
719
+ border-color: #a2a5b6;
720
+ }
721
+ .json-editor-container .json-editor .actions-container .beautify {
722
+ color: #fff;
723
+ text-align: center;
724
+ font-size: 1rem;
725
+ font-style: normal;
726
+ font-weight: 600;
727
+ line-height: 1.25rem;
728
+ width: 8.75rem;
729
+ padding: 0.625rem 2.25rem;
730
+ background-color: rgba(240, 248, 255, 0);
731
+ border-radius: 0.3125rem;
732
+ border: 1px solid #babdcc;
733
+ cursor: pointer;
734
+ }
735
+ .json-editor-container .json-editor .actions-container .beautify:disabled {
736
+ color: #a2a5b6;
737
+ border-color: #a2a5b6;
738
+ }
739
+ .json-editor-container .json-editor textarea {
740
+ width: 100%;
741
+ padding: 1.25rem;
742
+ font-size: 0.875rem;
743
+ font-style: normal;
744
+ font-weight: 400;
745
+ line-height: 1.25rem;
746
+ color: white;
747
+ height: 25rem;
748
+ background-color: #142452;
749
+ border: none;
750
+ resize: none;
751
+ border-radius: 0.3125rem;
752
+ }
753
+ .json-editor-container .json-editor textarea:focus, .json-editor-container .json-editor textarea:focus-within, .json-editor-container .json-editor textarea:focus-visible .json-editor-container .json-editor textarea:active {
754
+ outline: none;
755
+ border: none;
756
+ }
757
+ .json-editor-container .json-editor textarea::-webkit-scrollbar {
758
+ width: 0.5rem;
759
+ }
760
+ .json-editor-container .json-editor textarea::-webkit-scrollbar-track {
761
+ background-color: #828699;
762
+ border: none;
763
+ border-color: transparent;
764
+ border-top-right-radius: 0.25rem;
765
+ border-top-left-radius: 0;
766
+ }
767
+ .json-editor-container .json-editor textarea::-webkit-scrollbar-thumb {
768
+ background-color: #d8dae5;
769
+ border: none;
770
+ border-color: transparent;
771
+ border-radius: 0;
772
+ }
773
+ .json-editor-container .json-editor.invalid {
774
+ outline: 1px solid #ce2828 !important;
775
+ }
776
+ .json-editor-container .error-message {
777
+ color: #ce2828;
778
+ font-size: 0.75rem;
779
+ line-height: 1.25rem;
780
+ margin-top: 0.625rem;
599
781
  }.chips-container {
600
782
  width: 100%;
601
783
  }
@@ -711,83 +893,6 @@ p.apiName {
711
893
  }
712
894
  .chips-container .show-btn:active .show-btn-icon-container .show-btn-icon path {
713
895
  fill: #2c4fa4;
714
- }#common-dialog.dialog-content-wrapper {
715
- overflow: visible !important;
716
- max-height: 100%;
717
- width: 22.1875rem;
718
- }
719
- #common-dialog.dialog-content-wrapper .dialog-content-root {
720
- overflow: visible !important;
721
- border-radius: 0.625rem;
722
- max-height: 100%;
723
- }
724
- #common-dialog.dialog-content-wrapper .dialog-content-root .dialog-content {
725
- padding: 0 1.875rem !important;
726
- overflow: visible !important;
727
- max-height: 100%;
728
- }
729
- #common-dialog.dialog-content-wrapper .dialog-content-root .dialog-content .common-dialog {
730
- position: relative;
731
- }
732
- #common-dialog.dialog-content-wrapper .dialog-content-root .dialog-content .common-dialog .close-icon {
733
- position: absolute;
734
- z-index: 1;
735
- top: 1.5rem;
736
- right: 0;
737
- transform: translate(0.625rem, -0.625rem);
738
- cursor: pointer;
739
- }
740
- #common-dialog.dialog-content-wrapper .dialog-content-root .dialog-content .common-dialog .confirmation-dialog-header {
741
- display: flex;
742
- padding-top: 0.5rem;
743
- position: relative;
744
- }
745
- #common-dialog.dialog-content-wrapper .dialog-content-root .dialog-content .common-dialog .confirmation-dialog-header .icon {
746
- margin-top: 1rem;
747
- margin-bottom: 1.5rem;
748
- margin-inline: auto;
749
- }
750
- #common-dialog.dialog-content-wrapper .dialog-content-root .dialog-content .common-dialog .confirmation-dialog-header .icon.info path {
751
- stroke: #12131a;
752
- }
753
- #common-dialog.dialog-content-wrapper .dialog-content-root .dialog-content .common-dialog .confirmation-dialog-header .icon.info line {
754
- stroke: #12131a;
755
- }
756
- #common-dialog.dialog-content-wrapper .dialog-content-root .dialog-content .common-dialog .confirmation-dialog-header .icon.info line + path {
757
- fill: #12131a;
758
- }
759
- #common-dialog.dialog-content-wrapper .dialog-content-root .dialog-content .common-dialog .confirmation-dialog-header .icon.warning path {
760
- stroke: #faad14;
761
- }
762
- #common-dialog.dialog-content-wrapper .dialog-content-root .dialog-content .common-dialog .confirmation-dialog-header .icon.warning line {
763
- stroke: #faad14;
764
- }
765
- #common-dialog.dialog-content-wrapper .dialog-content-root .dialog-content .common-dialog .confirmation-dialog-header .icon.error path {
766
- stroke: #da3f3f;
767
- }
768
- #common-dialog.dialog-content-wrapper .dialog-content-root .dialog-content .common-dialog .confirmation-dialog-header .icon.error line {
769
- stroke: #da3f3f;
770
- }
771
- #common-dialog.dialog-content-wrapper .dialog-content-root .dialog-content .common-dialog .confirmation-dialog-header .icon.error line + path {
772
- fill: #da3f3f;
773
- }
774
- #common-dialog.dialog-content-wrapper .dialog-content-root .dialog-content .common-dialog .confirmation-title {
775
- font-size: 1.5rem;
776
- font-weight: 500;
777
- line-height: 1.875rem;
778
- text-align: center;
779
- margin-bottom: 0.625rem;
780
- }
781
- #common-dialog.dialog-content-wrapper .dialog-content-root .dialog-content .common-dialog .confirmation-title.error-title {
782
- color: #da3f3f;
783
- }
784
- #common-dialog.dialog-content-wrapper .dialog-content-root .dialog-content .common-dialog .confirmation-title.warning-title {
785
- color: #faad14;
786
- }
787
- #common-dialog.dialog-content-wrapper .dialog-content-root .dialog-content .common-dialog .confirmation-dialog-footer {
788
- display: flex;
789
- gap: 1.25rem;
790
- margin-top: 1.875rem;
791
896
  }:root {
792
897
  --white: #fff;
793
898
  --Gray-5: #f1f2f6;
@@ -893,109 +998,4 @@ p.apiName {
893
998
  }
894
999
  .drawerItemContainer .color-red {
895
1000
  color: var(--color-error);
896
- }.json-editor-container .json-editor-label {
897
- font-size: 0.875rem;
898
- font-weight: 600;
899
- line-height: 1.25rem;
900
- margin-bottom: 0.3125rem;
901
- }
902
- .json-editor-container .json-editor {
903
- display: flex;
904
- flex-direction: column;
905
- background-color: #142452;
906
- width: 100%;
907
- border-radius: 0.3125rem;
908
- margin-bottom: -0.5rem;
909
- outline: 1px solid transparent;
910
- position: relative;
911
- }
912
- .json-editor-container .json-editor .actions-container {
913
- width: 100%;
914
- height: 5rem;
915
- padding: 1.25rem;
916
- border-radius: 0 0 0.3125rem 0.3125rem;
917
- background: #101e47;
918
- display: flex;
919
- flex-direction: row;
920
- gap: 1.25rem;
921
- align-items: center;
922
- }
923
- .json-editor-container .json-editor .actions-container .validate {
924
- color: #fff;
925
- text-align: center;
926
- font-size: 1rem;
927
- font-style: normal;
928
- font-weight: 600;
929
- line-height: 1.25rem;
930
- width: 8.75rem;
931
- padding: 0.625rem 2.25rem;
932
- background-color: rgba(240, 248, 255, 0);
933
- border-radius: 0.3125rem;
934
- border: 0.0625rem solid #4d75d8;
935
- cursor: pointer;
936
- }
937
- .json-editor-container .json-editor .actions-container .validate:disabled {
938
- color: #babdcc;
939
- border-color: #a2a5b6;
940
- }
941
- .json-editor-container .json-editor .actions-container .beautify {
942
- color: #fff;
943
- text-align: center;
944
- font-size: 1rem;
945
- font-style: normal;
946
- font-weight: 600;
947
- line-height: 1.25rem;
948
- width: 8.75rem;
949
- padding: 0.625rem 2.25rem;
950
- background-color: rgba(240, 248, 255, 0);
951
- border-radius: 0.3125rem;
952
- border: 1px solid #babdcc;
953
- cursor: pointer;
954
- }
955
- .json-editor-container .json-editor .actions-container .beautify:disabled {
956
- color: #a2a5b6;
957
- border-color: #a2a5b6;
958
- }
959
- .json-editor-container .json-editor textarea {
960
- width: 100%;
961
- padding: 1.25rem;
962
- font-size: 0.875rem;
963
- font-style: normal;
964
- font-weight: 400;
965
- line-height: 1.25rem;
966
- color: white;
967
- height: 25rem;
968
- background-color: #142452;
969
- border: none;
970
- resize: none;
971
- border-radius: 0.3125rem;
972
- }
973
- .json-editor-container .json-editor textarea:focus, .json-editor-container .json-editor textarea:focus-within, .json-editor-container .json-editor textarea:focus-visible .json-editor-container .json-editor textarea:active {
974
- outline: none;
975
- border: none;
976
- }
977
- .json-editor-container .json-editor textarea::-webkit-scrollbar {
978
- width: 0.5rem;
979
- }
980
- .json-editor-container .json-editor textarea::-webkit-scrollbar-track {
981
- background-color: #828699;
982
- border: none;
983
- border-color: transparent;
984
- border-top-right-radius: 0.25rem;
985
- border-top-left-radius: 0;
986
- }
987
- .json-editor-container .json-editor textarea::-webkit-scrollbar-thumb {
988
- background-color: #d8dae5;
989
- border: none;
990
- border-color: transparent;
991
- border-radius: 0;
992
- }
993
- .json-editor-container .json-editor.invalid {
994
- outline: 1px solid #ce2828 !important;
995
- }
996
- .json-editor-container .error-message {
997
- color: #ce2828;
998
- font-size: 0.75rem;
999
- line-height: 1.25rem;
1000
- margin-top: 0.625rem;
1001
1001
  }
@@ -11,7 +11,7 @@ export type TransformedMethod = {
11
11
  type: string;
12
12
  };
13
13
  };
14
- }[];
14
+ };
15
15
  responses: {
16
16
  code: string;
17
17
  content: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@digi-frontend/dgate-api-documentation",
3
- "version": "1.0.5",
3
+ "version": "1.0.6",
4
4
  "main": "dist/src/index.js",
5
5
  "module": "dist/src/index.js",
6
6
  "types": "dist/types/index.d.ts",
@@ -85,6 +85,12 @@ const JsonInput = ({
85
85
  setDisabledBeautify(true)
86
86
  onChange(e.target.value)
87
87
  }}
88
+ onPaste={(e) => {
89
+ if (fieldIsDisabled) return
90
+ setIsValid(undefined)
91
+ setDisabledBeautify(true)
92
+ onChange(e.target.value)
93
+ }}
88
94
  min="1"
89
95
  placeholder={placeholder}
90
96
  />
@@ -1,5 +1,5 @@
1
1
  import React, { useEffect, useState } from 'react'
2
- import { Accordion, Button, Input, SelectGroup, Switch, TextArea } from 'digitinary-ui'
2
+ import { Accordion, Button, SelectGroup, Switch, TextArea } from 'digitinary-ui'
3
3
  import SVGLoader from '../../components/SVGLoader/SVGLoader'
4
4
  import {
5
5
  CheckMarkSquare,
@@ -53,6 +53,9 @@ const MethodsAccordion = ({
53
53
  const [openDeleteDialog, setOpenDeleteDialog] = useState(false)
54
54
  const [selectedParamIndex, setSelectedParamIndex] = useState<number | null>(null)
55
55
  const [selectedParamName, setSelectedParamName] = useState<string | null>(null)
56
+ const [selectedStatusCode, setSelectedStatusCode] = useState(httpStatusCodeOptions[4])
57
+ const currentResponse =
58
+ method.responses.find((res) => Number(res.code) === selectedStatusCode.value) || '{}'
56
59
 
57
60
  const onTableChange = (key, value, index) => {
58
61
  const newTableData = tableData.map((item, tIndex) => {
@@ -299,9 +302,9 @@ const MethodsAccordion = ({
299
302
  className={'jsonField'}
300
303
  placeholder="Enter your request body as a JSON object...."
301
304
  fieldIsDisabled={readOnly}
302
- value={method?.requestBody?.at(0)?.content?.schema?.properties || '{}'}
305
+ value={method?.requestBody?.content?.schema?.properties || '{}'}
303
306
  onChange={(value: string) => {
304
- setFieldValue('requestBody[0].content.schema.properties', value)
307
+ setFieldValue('requestBody.content.schema.properties', value)
305
308
  }}
306
309
  onValidation={() => null}
307
310
  />
@@ -337,13 +340,15 @@ const MethodsAccordion = ({
337
340
  withSearch={false}
338
341
  isMultiple={false}
339
342
  placeholder="200"
340
- disabled={true}
341
343
  options={[
342
344
  {
343
345
  list: httpStatusCodeOptions,
344
346
  },
345
347
  ]}
346
- value={httpStatusCodeOptions[4]}
348
+ value={selectedStatusCode}
349
+ onChange={(value) => {
350
+ setSelectedStatusCode(value)
351
+ }}
347
352
  />
348
353
  </span>
349
354
  }
@@ -352,9 +357,33 @@ const MethodsAccordion = ({
352
357
  className={'jsonField'}
353
358
  placeholder="Enter your response as a JSON object..."
354
359
  fieldIsDisabled={readOnly}
355
- value={method.responses?.at(0)?.content?.schema?.properties || '{}'}
360
+ value={currentResponse?.content?.schema?.properties || '{}'}
356
361
  onChange={(value) => {
357
- setFieldValue('responses[0].content.schema.properties', value)
362
+ const currentResIndex = method.responses.findIndex(
363
+ (res) => res.code === currentResponse.code
364
+ )
365
+
366
+ if (currentResIndex !== -1) {
367
+ setFieldValue(
368
+ `responses[${currentResIndex}].content.schema.properties`,
369
+ value
370
+ )
371
+ } else {
372
+ const clonedResponses = structuredClone(method.responses)
373
+
374
+ clonedResponses.push({
375
+ code: selectedStatusCode.value.toString(),
376
+ content: {
377
+ contentType: 'application/json',
378
+ schema: {
379
+ type: 'object',
380
+ properties: value,
381
+ },
382
+ },
383
+ })
384
+
385
+ setFieldValue('responses', clonedResponses)
386
+ }
358
387
  }}
359
388
  onValidation={() => null}
360
389
  />
@@ -65,33 +65,31 @@ export const transformPathsToArray = (paths: OpenAPIFile['paths']): TransformedP
65
65
  }
66
66
 
67
67
  if (method.toLowerCase() != 'get') {
68
- obj['requestBody'] = methodProps.requestBody
69
- ? Object.entries(methodProps.requestBody).map(([_, codeProps]) => {
70
- const contentType = Object.keys(codeProps.content || {})[0]
71
- return {
72
- content: {
73
- contentType,
74
- schema: {
75
- ...codeProps.content?.[contentType]?.schema,
76
- properties: JSON.stringify(
77
- codeProps.content?.[contentType]?.schema?.properties
78
- ),
79
- },
68
+ const contentType = Object.keys(methodProps?.requestBody?.content || {})[0]
69
+ const reqSchema = methodProps?.requestBody?.content?.schema
70
+ const requestBodyData = methodProps?.requestBody?.content?.schema?.properties
71
+ ? {
72
+ content: {
73
+ contentType,
74
+ schema: {
75
+ ...reqSchema,
76
+ properties: reqSchema?.properties ? JSON.stringify(reqSchema?.properties) : '{}',
80
77
  },
81
- }
82
- })
83
- : [
84
- {
85
- content: {
86
- contentType: 'application/json',
87
- schema: {
88
- properties: '{}',
89
- type: 'object',
90
- },
78
+ },
79
+ }
80
+ : {
81
+ content: {
82
+ contentType: 'application/json',
83
+ schema: {
84
+ properties: '{}',
85
+ type: 'object',
91
86
  },
92
87
  },
93
- ]
88
+ }
89
+
90
+ obj['requestBody'] = requestBodyData
94
91
  }
92
+
95
93
  return obj
96
94
  }),
97
95
  }))
@@ -124,14 +122,14 @@ export const transformPathsArrayToOrigin = (paths: TransformedPathsArray): OpenA
124
122
  }
125
123
 
126
124
  const parsedRequestBodyProps =
127
- type !== 'get' ? JSON.parse(requestBody[0].content.schema.properties) : {}
125
+ type !== 'get' ? JSON.parse(requestBody.content.schema.properties) : {}
128
126
  // Add requestBody for non-GET methods
129
127
  if (type !== 'get') {
130
128
  methodAcc[type].requestBody = {
131
129
  content: {
132
- [requestBody[0].content.contentType]: {
130
+ [requestBody.content.contentType]: {
133
131
  schema: {
134
- ...requestBody[0].content.schema,
132
+ ...requestBody.content.schema,
135
133
  properties: parsedRequestBodyProps,
136
134
  },
137
135
  },
@@ -12,7 +12,7 @@ export type TransformedMethod = {
12
12
  type: string
13
13
  }
14
14
  }
15
- }[]
15
+ }
16
16
  responses: {
17
17
  code: string
18
18
  content: {