@openapi-studio/core 0.2.0 → 0.3.1
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.
- package/dist/.vite/ssr-manifest.json +151 -69
- package/dist/assets/Main-BD4o1zjI.js +17 -0
- package/dist/assets/Main-Cy83ExML.css +1 -0
- package/dist/assets/NotFound-DFzjKBQu.css +1 -0
- package/dist/assets/{NotFound-COIg6CS4.js → NotFound-DhLLhllS.js} +1 -1
- package/dist/assets/app-DBSHy7TS.js +21 -0
- package/dist/assets/{styles-handler-N75IOYWX.js → styles-handler-DHj8ZE-S.js} +1 -1
- package/dist/assets/{vanilla-jsoneditor-DhKpF9_o.js → vanilla-jsoneditor-DjSpfPXn.js} +1 -1
- package/dist/index.html +172 -210
- package/dist/openapi-studio-build.json +1 -0
- package/package.json +1 -1
- package/dist/assets/Main-B4YDXfN4.css +0 -1
- package/dist/assets/Main-CWVVijRK.js +0 -29
- package/dist/assets/NotFound-DMon75y1.css +0 -1
- package/dist/assets/app-jfWpanfK.js +0 -9
- package/dist/build.json +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.card{border-radius:var(--radius);border:1px solid hsl(var(--border));background-color:hsl(var(--card));color:hsl(var(--card-foreground));box-shadow:0 1px 3px #0000004d,0 1px 2px -1px #0000004d}.card-header{display:flex;flex-direction:column;padding:1.5rem;border-bottom:1px solid hsl(var(--border))}.card-title{font-size:1.5rem;font-weight:600;line-height:1.2}.card-description{font-size:.875rem;color:hsl(var(--muted-foreground));margin-top:.5rem}.card-content{padding:1.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:calc(var(--radius) - 2px);font-size:.875rem;font-weight:500;transition:all .2s;cursor:pointer;border:none;padding:.5rem 1rem}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.btn-primary{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.btn.btn-primary:hover:not(:disabled){opacity:.9}.btn.btn-destructive{background-color:hsl(var(--destructive));color:hsl(var(--destructive-foreground))}.btn.btn-destructive:hover:not(:disabled){opacity:.9}.btn.btn-outline{border:1px solid hsl(var(--border));background-color:transparent;color:hsl(var(--foreground))}.btn.btn-outline:hover:not(:disabled){background-color:hsl(var(--accent));color:hsl(var(--accent-foreground))}.btn.btn-ghost{background-color:transparent;color:hsl(var(--foreground))}.btn.btn-ghost:hover:not(:disabled){background-color:hsl(var(--accent));color:hsl(var(--accent-foreground))}.btn.btn-sm{padding:.375rem .75rem;font-size:.8125rem}.text-muted{color:hsl(var(--muted-foreground))}.dialog-overlay{position:fixed;inset:0;background-color:#000c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;display:flex;align-items:center;justify-content:center}.dialog-content{background-color:hsl(var(--card));border-radius:var(--radius);border:1px solid hsl(var(--border));box-shadow:0 20px 25px -5px #00000080,0 8px 10px -6px #00000080;max-width:32rem;width:100%;max-height:90vh;overflow-y:auto;z-index:51;margin:1rem}.dialog-header{padding:1.5rem;border-bottom:1px solid hsl(var(--border))}.dialog-title{font-size:1.25rem;font-weight:600;margin:0}.dialog-body{padding:1.5rem}.dialog-footer{padding:1.5rem;border-top:1px solid hsl(var(--border));display:flex;justify-content:flex-end;gap:.5rem}.openapi-test{height:100vh;display:flex;flex-direction:column;background:hsl(var(--background));color:hsl(var(--foreground));overflow:hidden}.test-header{border-bottom:1px solid hsl(var(--border));background:hsl(var(--card));flex-shrink:0;z-index:100}.app-footer{margin-top:auto;text-align:center}.app-footer p{margin:0;font-size:.875rem;color:hsl(var(--muted-foreground))}.header-content{max-width:100%;margin:0 auto;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap}.header-title-section{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:0}.title-row{display:flex;align-items:baseline;gap:.75rem}.logo{font-size:1.5rem;font-weight:700;margin:0;line-height:1.2}.api-version{font-size:.875rem;color:hsl(var(--muted-foreground));font-weight:500}.api-description{font-size:.75rem;color:hsl(var(--muted-foreground));margin:0;line-height:1.4;max-width:600px}.header-actions{display:flex;align-items:center;gap:1.5rem}.openapi-spec-link,.github-link{display:flex;align-items:center;justify-content:center;color:hsl(var(--foreground));text-decoration:none;transition:color .2s,opacity .2s;padding:.5rem;border-radius:calc(var(--radius) - 2px)}.openapi-spec-link:hover,.github-link:hover{color:hsl(var(--primary));opacity:.8}.openapi-spec-link:focus,.github-link:focus{outline:none;color:hsl(var(--primary))}.api-key-section{display:flex;align-items:center;gap:.5rem}.api-key-input{padding:.5rem .75rem;background:hsl(var(--input));color:hsl(var(--foreground));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);font-size:.875rem;width:200px;transition:border-color .2s}.api-key-input:focus{outline:none;border-color:hsl(var(--ring))}.api-key-input::placeholder{color:hsl(var(--muted-foreground))}.clear-api-key-btn{padding:.25rem .5rem;background:hsl(var(--muted));color:hsl(var(--foreground));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);cursor:pointer;font-size:1.25rem;line-height:1;width:1.75rem;height:1.75rem;display:flex;align-items:center;justify-content:center;transition:all .2s}.clear-api-key-btn:hover{background:hsl(var(--accent));opacity:.9}.auth-toggle{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem}.auth-toggle input[type=checkbox]{cursor:pointer;width:1.25rem;height:1.25rem}.auth-toggle input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}.auth-section{display:flex;align-items:center}.sign-in-btn{padding:.5rem 1rem;background:hsl(var(--primary));color:hsl(var(--primary-foreground));border:none;border-radius:calc(var(--radius) - 2px);cursor:pointer;font-weight:500;transition:opacity .2s}.sign-in-btn:hover{opacity:.9}.user-section{display:flex;align-items:center}.auth-menu-toggle{padding:.5rem 1rem;background:hsl(var(--muted));color:hsl(var(--foreground));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);cursor:pointer;font-weight:500;font-size:.875rem;transition:all .2s;display:flex;align-items:center;gap:.5rem}.auth-menu-toggle:hover{background:hsl(var(--accent));opacity:.9}.auth-menu-toggle.active{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.auth-menu-toggle.has-selection{background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsla(var(--primary)/.2)}.auth-menu-toggle.has-selection svg{color:hsl(var(--primary-foreground))}.auth-side-menu{position:fixed;top:0;right:0;width:400px;height:100vh;background:hsl(var(--card));border-left:1px solid hsl(var(--border));z-index:1000;display:flex;flex-direction:column;box-shadow:-2px 0 8px #0000004d}.auth-menu-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid hsl(var(--border))}.auth-menu-header h2{margin:0;font-size:1.25rem;font-weight:600;color:hsl(var(--foreground))}.close-auth-menu{background:none;border:none;color:hsl(var(--muted-foreground));cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;transition:color .2s}.close-auth-menu:hover{color:hsl(var(--foreground))}.auth-menu-content{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.auth-scheme{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:1.25rem;transition:all .2s;box-shadow:0 1px 2px #0000001a;cursor:pointer;position:relative}.auth-scheme:hover{box-shadow:0 2px 4px #00000026;border-color:hsl(var(--ring))}.auth-scheme.selected{border-color:hsl(var(--primary));background:hsla(var(--primary)/.1);box-shadow:0 0 0 2px hsla(var(--primary)/.2)}.auth-scheme.selected .auth-scheme-header{border-bottom-color:hsla(var(--primary)/.3)}.auth-scheme.selected .auth-scheme-header h3{color:hsl(var(--primary))}.auth-scheme.selected .auth-scheme-type{background:hsl(var(--primary));color:hsl(var(--primary-foreground));box-shadow:0 0 0 1px hsla(var(--primary-foreground)/.2)}.auth-scheme.selected .auth-scheme-description{color:hsl(var(--muted-foreground))}.auth-scheme.selected:before{content:"";position:absolute;top:.75rem;right:.75rem;width:8px;height:8px;background:hsl(var(--primary));border-radius:50%}.auth-scheme-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid hsl(var(--border))}.auth-scheme-header h3{font-size:1rem;font-weight:600;margin:0;color:hsl(var(--foreground))}.auth-scheme-type{font-size:.75rem;padding:.375rem .625rem;background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-radius:calc(var(--radius) - 4px);text-transform:uppercase;font-weight:600;letter-spacing:.025em}.auth-scheme-description{font-size:.875rem;color:hsl(var(--muted-foreground));margin-bottom:1rem;margin-top:.5rem;line-height:1.5}.auth-scheme-fields{display:flex;flex-direction:column;gap:1rem;margin-top:.5rem}.auth-scheme-fields label{display:flex;flex-direction:column;gap:.5rem}.auth-scheme-fields label span{font-size:.875rem;font-weight:500;color:hsl(var(--foreground))}.auth-scheme-fields label .field-location{font-size:.75rem;color:hsl(var(--muted-foreground));font-weight:400}.clerk-toggle-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-size:.875rem;margin-bottom:.75rem;padding:.5rem 0;-webkit-user-select:none;user-select:none}.clerk-toggle-label input[type=checkbox]{cursor:pointer;width:1rem;height:1rem;appearance:none;background-color:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s;position:relative}.clerk-toggle-label input[type=checkbox]:hover:not(:disabled){border-color:hsl(var(--ring))}.clerk-toggle-label input[type=checkbox]:focus-visible{outline:none;box-shadow:0 0 0 2px hsl(var(--background)),0 0 0 4px hsl(var(--ring))}.clerk-toggle-label input[type=checkbox]:checked{background-color:hsl(var(--primary));border-color:hsl(var(--primary))}.clerk-toggle-label input[type=checkbox]:checked:after{content:"";position:absolute;width:.25rem;height:.5rem;border:solid hsl(var(--primary-foreground));border-width:0 2px 2px 0;transform:rotate(45deg);top:.125rem}.clerk-toggle-label input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed;background-color:hsl(var(--muted))}.clerk-toggle-label span:not(.sign-in-hint){color:hsl(var(--foreground));font-weight:500;line-height:1.5}.clerk-toggle-label .sign-in-hint{font-size:.75rem;color:hsl(var(--muted-foreground));font-style:italic}.auth-input{padding:.5rem .75rem;background:hsl(var(--input));color:hsl(var(--foreground));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);font-size:.875rem;transition:border-color .2s}.auth-input:focus{outline:none;border-color:hsl(var(--ring))}.auth-input::placeholder{color:hsl(var(--muted-foreground))}.clear-credential-btn{padding:.5rem 1rem;background:hsl(var(--muted));color:hsl(var(--foreground));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s;align-self:flex-start;margin-top:.25rem}.clear-credential-btn:hover{background:hsl(var(--accent));opacity:.9}.save-button{padding:.75rem 1.5rem;background:hsl(var(--primary));color:hsl(var(--primary-foreground));border:none;border-radius:calc(var(--radius) - 2px);font-weight:500;cursor:pointer;transition:opacity .2s;align-self:flex-start;margin-top:.25rem}.save-button:hover{opacity:.9}.clerk-key-card{background:hsl(var(--muted));border:1px solid hsl(var(--border));border-radius:var(--radius);padding:1.25rem;margin-top:auto;border-top:2px solid hsl(var(--border));border-top-left-radius:0;border-top-right-radius:0;box-shadow:none}.clerk-key-card:hover{box-shadow:none;border-color:hsl(var(--border))}.clerk-key-header{margin-bottom:.5rem}.clerk-key-header h3{font-size:.875rem;font-weight:600;margin:0;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em}.clerk-key-description{font-size:.8125rem;color:hsl(var(--muted-foreground));margin-bottom:1rem;line-height:1.4}.clerk-key-fields{display:flex;flex-direction:column;gap:.75rem}.clerk-key-fields label{display:flex;flex-direction:column;gap:.375rem}.clerk-key-fields label span{font-size:.8125rem;color:hsl(var(--muted-foreground));font-weight:500}.clerk-key-input{width:100%;padding:.5rem .75rem;background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);color:hsl(var(--foreground));font-family:Chivo Mono Variable,monospace;font-size:.8125rem;transition:all .2s}.clerk-key-input:focus:not(:disabled){outline:none;border-color:hsl(var(--ring));box-shadow:0 0 0 2px hsla(var(--ring)/.2)}.clerk-key-input:disabled{background:hsl(var(--muted));color:hsl(var(--muted-foreground));cursor:not-allowed;opacity:.7}.clerk-key-input::placeholder{color:hsl(var(--muted-foreground))}.anonymous-option .auth-scheme-header h3{display:flex;align-items:center;gap:.5rem}.test-container{display:flex;flex:1;overflow:hidden;min-height:0}.endpoints-sidebar{background:hsl(var(--card));display:flex;flex-direction:column;flex-shrink:0;overflow:hidden;transition:width .3s ease}.endpoints-sidebar.resizing{transition:none}.endpoints-sidebar .sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;flex-shrink:0}.endpoints-sidebar .sidebar-header h2{font-size:1rem;margin:0;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.endpoints-sidebar.collapsed .sidebar-header{flex-direction:column;gap:.5rem;padding:1rem .5rem}.endpoints-sidebar.collapsed .sidebar-header h2{writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg)}.sidebar-toggle{padding:.25rem .5rem;background:hsl(var(--muted));color:hsl(var(--foreground));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);cursor:pointer;line-height:1;transition:all .2s;flex-shrink:0;display:flex;align-items:center;justify-content:center}.sidebar-toggle:hover{background:hsl(var(--accent));opacity:.9}.sidebar-toggle:active{transform:scale(.95)}.sidebar-content{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0;padding-left:1rem;padding-bottom:1rem}.resize-handle{width:8px;background:hsl(var(--card));cursor:col-resize;flex-shrink:0;position:relative;-webkit-user-select:none;user-select:none;display:flex;justify-content:center;align-items:stretch}.resize-handle:before{content:"";position:absolute;left:50%;transform:translate(-50%);width:8px;top:0;bottom:0;cursor:col-resize;transition:background-color .2s}.resize-handle:hover:before{background:hsl(var(--accent))}.resize-handle.resizing:before{background:hsl(var(--accent))}.resize-handle-endpoints{border-right:1px solid hsl(var(--border))}.resize-handle-examples{border-left:1px solid hsl(var(--border))}.loading,.error{padding:.75rem;text-align:center;color:hsl(var(--muted-foreground));font-size:.875rem}.error{color:hsl(var(--destructive))}.endpoints-groups{display:flex;flex-direction:column;gap:.5rem;padding-right:1rem}.endpoint-group{border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);overflow:hidden}.group-header{padding:.5rem .75rem;background:hsl(var(--muted));cursor:pointer;display:flex;align-items:center;gap:.375rem;transition:background .2s;-webkit-user-select:none;user-select:none}.group-header:hover{background:hsl(var(--accent))}.group-name{font-weight:600;font-size:.8125rem;color:hsl(var(--foreground));flex:1}.group-count{font-size:.6875rem;color:hsl(var(--muted-foreground))}.group-toggle{color:hsl(var(--muted-foreground));width:.875rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.group-endpoints{display:flex;flex-direction:column;gap:.25rem;padding:.375rem;background:hsl(var(--card));min-width:0}.endpoint-item{padding:.375rem .5rem;border-radius:calc(var(--radius) - 2px);cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.endpoint-item:hover,.endpoint-item.active{background:hsl(var(--accent))}.security-indicator{color:hsl(var(--muted-foreground));flex-shrink:0;opacity:.7}.security-indicator-large{color:hsl(var(--muted-foreground));flex-shrink:0;opacity:.8}.method-badge{display:inline-flex;align-items:center;justify-content:center;padding:.125rem .375rem;border-radius:3px;color:#fff;font-weight:600;font-size:.625rem;text-transform:uppercase;flex-shrink:0;line-height:1.2;width:3.5rem;min-width:3.5rem;max-width:3.5rem;text-align:center;box-sizing:border-box}.method-badge.large{font-size:.875rem;padding:.375rem .75rem;width:auto;min-width:auto;max-width:none}.endpoint-path{font-family:Chivo Mono Variable,monospace;font-size:.75rem;color:hsl(var(--foreground));font-weight:500;flex:1 1 auto;min-width:0;line-height:1.3;word-break:break-all;overflow-wrap:break-word}.endpoint-meta{display:flex;align-items:center;gap:.5rem;flex-shrink:0;margin-left:auto;justify-content:flex-end;min-width:fit-content}.endpoint-summary{font-size:.6875rem;color:hsl(var(--muted-foreground));line-height:1.3;flex-shrink:0;text-align:right}.endpoint-content{display:flex;flex:1;overflow:hidden;min-height:0}.endpoint-tester{flex:1;padding:1.5rem;overflow-y:auto;overflow-x:hidden;min-height:0;background-color:hsl(var(--background));background-image:linear-gradient(hsl(var(--border)/.3) 1px,transparent 1px),linear-gradient(90deg,hsl(var(--border)/.3) 1px,transparent 1px);background-size:50px 50px;background-position:0 0,0 0;border-right:1px solid hsl(var(--border));display:flex;flex-direction:column}.endpoint-tester.empty{align-items:center;justify-content:center}.examples-sidebar{border-right:1px solid hsl(var(--border));background:hsl(var(--card));padding:1.5rem;display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto;overflow-x:hidden;min-height:0;transition:width .3s ease}.examples-sidebar.resizing{transition:none}.examples-sidebar.collapsed{padding:1.5rem .5rem}.examples-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-shrink:0}.examples-header h3{font-size:1rem;margin-bottom:0;margin-top:0;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.examples-sidebar.collapsed .examples-header{flex-direction:column;gap:.5rem;margin-bottom:0}.examples-sidebar.collapsed .examples-header h3{writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg)}.examples-toggle{padding:.25rem .5rem;background:hsl(var(--muted));color:hsl(var(--foreground));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);cursor:pointer;line-height:1;transition:all .2s;flex-shrink:0;display:flex;align-items:center;justify-content:center}.examples-toggle:hover{background:hsl(var(--accent));opacity:.9}.examples-toggle:active{transform:scale(.95)}.examples-content{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0}.view-toggle{display:flex;gap:.25rem;background:hsl(var(--muted));border-radius:calc(var(--radius) - 2px);padding:.125rem}.toggle-btn{padding:.375rem .75rem;background:transparent;border:none;border-radius:calc(var(--radius) - 2px);cursor:pointer;font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground));transition:all .2s;white-space:nowrap}.toggle-btn:hover{color:hsl(var(--foreground))}.toggle-btn.active{background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 1px 2px #0000001a}.toggle-btn.small{padding:.25rem .5rem;font-size:.6875rem}.example-section{margin-bottom:1.5rem;flex-shrink:0}.example-section:last-child{margin-bottom:0}.example-section h4{font-size:.75rem;margin-bottom:.75rem;margin-top:0;font-weight:600;color:hsl(var(--foreground));text-transform:uppercase;letter-spacing:.05em}.example-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.example-section-header h4{margin-bottom:0}.example-content{border:none;border-radius:var(--radius);overflow:hidden;background:hsl(var(--input));box-shadow:none}.example-content pre{margin:0;padding:1rem;font-family:Chivo Mono Variable,monospace;font-size:.875rem;white-space:pre-wrap;word-wrap:break-word;overflow-x:auto;max-height:400px;overflow-y:auto}.example-content .json-editor-wrapper{border-top-left-radius:0;border-top-right-radius:0;border:none;box-shadow:none}.example-content .schema-display{border:none;box-shadow:none;max-height:400px;min-height:150px;overflow-y:auto;overflow-x:auto;background:hsl(var(--input))}.example-content .schema-text{margin:0;padding:1rem;font-family:Chivo Mono Variable,monospace;font-size:.8125rem;line-height:1.8;color:hsl(var(--foreground));white-space:pre;overflow-x:auto;background:hsl(var(--input));border-radius:calc(var(--radius) - 2px)}.no-examples{padding:1.5rem;text-align:center;color:hsl(var(--muted-foreground));border:1px dashed hsl(var(--border));border-radius:var(--radius);font-size:.875rem}.response-codes-list{display:flex;flex-direction:column;gap:1rem}.response-code-item{border:1px solid hsl(var(--border));border-radius:var(--radius);overflow:hidden;background:hsl(var(--card))}.response-code-item .example-content{border:none;border-radius:0;box-shadow:none;margin-top:0}.response-code-item .example-content pre{max-height:300px}.response-code-item .example-content .json-editor-wrapper{border:none;box-shadow:none}.response-code-item .example-content .schema-display{border:none;box-shadow:none;max-height:300px;min-height:100px;overflow-y:auto;overflow-x:auto;background:hsl(var(--input))}.response-code-item .example-content .schema-text{margin:0;padding:.875rem;font-family:Chivo Mono Variable,monospace;font-size:.75rem;line-height:1.7;color:hsl(var(--foreground));white-space:pre;overflow-x:auto;background:hsl(var(--input))}.response-code-header{padding:.75rem 1rem;background:hsl(var(--muted));border-bottom:none;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.response-code-header.success{background:#49cc901a}.response-code-header.error{background:#f93e3e1a}.response-code-number{font-weight:700;font-size:.875rem;font-family:Chivo Mono Variable,monospace;min-width:3rem;text-align:center;padding:.25rem .5rem;border-radius:calc(var(--radius) - 2px);background:hsl(var(--background));color:hsl(var(--foreground))}.response-code-header.success .response-code-number{background:#49cc9033;color:#49cc90}.response-code-header.error .response-code-number{background:#f93e3e33;color:#f93e3e}.response-code-description{font-size:.875rem;color:hsl(var(--foreground));flex:1;min-width:0}.response-code-header .view-toggle{margin-left:auto;flex-shrink:0}.no-example{padding:1rem;text-align:center;color:hsl(var(--muted-foreground));font-size:.8125rem;font-style:italic}.schema-references-list{display:flex;flex-direction:column;gap:1rem}.schema-reference-item{border:1px solid hsl(var(--border));border-radius:var(--radius);overflow:hidden;background:hsl(var(--card))}.schema-reference-item .example-content{border:none;border-radius:0;box-shadow:none;margin-top:0}.schema-reference-item .example-content .schema-display{border:none;box-shadow:none;max-height:300px;min-height:100px;overflow-y:auto;overflow-x:auto;background:hsl(var(--input))}.schema-reference-item .example-content .schema-text{margin:0;padding:.875rem;font-family:Chivo Mono Variable,monospace;font-size:.75rem;line-height:1.7;color:hsl(var(--foreground));white-space:pre;overflow-x:auto;background:hsl(var(--input))}.schema-reference-header{padding:.75rem 1rem;background:hsl(var(--muted));border-bottom:1px solid hsl(var(--border));display:flex;align-items:center;gap:.75rem;cursor:pointer;transition:background .2s;-webkit-user-select:none;user-select:none}.schema-reference-header:hover{background:hsl(var(--accent))}.schema-reference-toggle{color:hsl(var(--muted-foreground));width:.875rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.schema-reference-name{font-weight:700;font-size:.875rem;font-family:Chivo Mono Variable,monospace;color:hsl(var(--foreground));flex:1}.empty-state{display:flex;align-items:center;justify-content:center;padding:3rem 2rem}.welcome-content{max-width:600px;text-align:center;animation:fadeIn .5s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.welcome-icon{margin-bottom:1.5rem;display:flex;justify-content:center;color:hsl(var(--foreground));opacity:.9}.welcome-title{font-size:2rem;font-weight:600;color:hsl(var(--foreground));margin:0 0 1rem;letter-spacing:-.02em}.welcome-description{font-size:1.125rem;color:hsl(var(--muted-foreground));margin:0 0 2.5rem;line-height:1.6}.welcome-tips{display:flex;flex-direction:column;gap:1rem;margin-top:2rem;text-align:left}.tip-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:6px;color:hsl(var(--foreground));font-size:.9375rem;cursor:default;-webkit-user-select:none;user-select:none}.tip-icon{flex-shrink:0;color:hsl(var(--muted-foreground))}.endpoint-header{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid hsl(var(--border))}.endpoint-title{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem;flex-wrap:wrap}.security-schemes-wrapper{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid hsl(var(--border))}.security-schemes-title{font-size:.875rem;font-weight:600;color:hsl(var(--foreground));margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.05em}.security-schemes-section{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.security-scheme-card{display:flex;align-items:center;gap:.375rem;padding:.375rem .625rem;background-color:hsl(var(--muted)/.5);border:1px solid hsl(var(--muted-foreground)/.2);border-radius:calc(var(--radius) - 2px);font-size:.6875rem;transition:all .2s ease;cursor:pointer}.security-scheme-card:hover{background-color:hsl(var(--muted)/.7);border-color:hsl(var(--muted-foreground)/.3)}.security-scheme-card.selected{border-color:hsl(var(--primary));background-color:hsla(var(--primary)/.1);box-shadow:0 0 0 2px hsla(var(--primary)/.2)}.security-scheme-card.selected .security-card-icon{color:hsl(var(--primary));opacity:1}.security-scheme-card.selected .scheme-name{color:hsl(var(--primary))}.security-card-icon{color:hsl(var(--muted-foreground));flex-shrink:0;opacity:.8;transition:all .2s ease}.scheme-name{font-weight:500;color:hsl(var(--foreground));font-family:Chivo Mono Variable,monospace;font-size:.6875rem;transition:color .2s ease}.endpoint-info{margin-top:.75rem}.endpoint-summary-text{color:hsl(var(--foreground));margin-top:0;margin-bottom:.5rem;line-height:1.5;font-size:1rem;font-weight:500}.endpoint-description{color:hsl(var(--muted-foreground));margin-top:0;margin-bottom:0;line-height:1.6;font-size:.9375rem}.auth-selection-section{margin-bottom:1.25rem}.auth-label{display:flex;align-items:center;gap:.75rem;font-size:.875rem;font-weight:500;color:hsl(var(--foreground))}.auth-label span{min-width:fit-content}.auth-select{flex:1;padding:.5rem 2rem .5rem .75rem;background:hsl(var(--input));color:hsl(var(--foreground));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);font-size:.875rem;cursor:pointer;transition:all .2s;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='hsl(0%2C 0%25%2C 98%25)' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center}.auth-select:focus{outline:none;border-color:hsl(var(--ring));box-shadow:0 0 0 2px hsl(var(--ring)/.2)}.auth-select:hover{border-color:hsl(var(--ring))}.auth-select option{background:hsl(var(--input));color:hsl(var(--foreground))}.request-section{margin-bottom:1.5rem;border:1px solid hsl(var(--border));border-radius:var(--radius);padding:1.25rem;background:hsl(var(--card));box-shadow:0 1px 2px #0000001a}.request-section h3{font-size:1.125rem;margin-bottom:1.25rem;margin-top:0;font-weight:600;color:hsl(var(--foreground))}.request-section:last-child{margin-bottom:0}.response-section{margin-bottom:1.5rem}.response-section h3{font-size:1.125rem;margin-bottom:1.25rem;margin-top:0;font-weight:600;color:hsl(var(--foreground))}.response-section:last-child{margin-bottom:0}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.section-header h3{margin-bottom:0}.clear-history-btn{padding:.375rem .75rem;background:hsl(var(--muted));color:hsl(var(--foreground));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);cursor:pointer;font-size:.8125rem;font-weight:500;transition:all .2s}.clear-history-btn:hover{background:hsl(var(--accent));border-color:hsl(var(--accent))}.request-history-list{display:flex;flex-direction:column;gap:1rem}.history-item{border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--card));padding:1rem;margin-bottom:1rem;box-shadow:0 1px 2px #0000001a}.history-item:last-child{margin-bottom:0}.history-item-header{padding:0;display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;border-bottom:1px solid hsl(var(--border));padding-bottom:.75rem;flex-wrap:wrap}.history-item-title{display:flex;align-items:center;gap:.75rem;flex:1 1 0;min-width:200px;flex-wrap:nowrap}.method-badge.small{font-size:.625rem;padding:.125rem .375rem;width:auto;min-width:3rem;max-width:3rem;flex-shrink:0}.history-url{font-family:Chivo Mono Variable,monospace;font-size:.8125rem;color:hsl(var(--foreground));flex:1 1 auto;min-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-meta-group{display:flex;align-items:center;gap:0;flex:0 0 auto;flex-wrap:wrap;min-width:fit-content}@media(max-width:640px){.history-meta-group{width:100%;flex-direction:column;align-items:flex-start;gap:.5rem}}.history-auth-scheme{display:inline-flex;align-items:center;gap:.375rem;font-size:.75rem;color:hsl(var(--muted-foreground));white-space:nowrap;flex-shrink:0;padding-right:.75rem}@media(max-width:640px){.history-auth-scheme{padding-right:0;padding-bottom:.5rem;border-bottom:1px solid hsl(var(--border));width:100%}}.history-timestamp{font-size:.75rem;color:hsl(var(--muted-foreground));white-space:nowrap;flex-shrink:0;padding:0 .75rem;border-left:1px solid hsl(var(--border))}@media(max-width:640px){.history-timestamp{padding:0;padding-bottom:.5rem;border-left:none;border-bottom:1px solid hsl(var(--border));width:100%}}.history-curl-section{margin-bottom:1rem;padding:.75rem;background:hsl(var(--input));border-radius:calc(var(--radius) - 2px)}.history-curl-section .curl-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:.25rem;border-radius:calc(var(--radius) - 2px);transition:background-color .2s}.history-curl-section .curl-header:hover{background:hsl(var(--muted))}.history-curl-section .curl-header .curl-header-left{display:flex;align-items:center;gap:.5rem}.history-curl-section .curl-header .curl-toggle-icon{color:hsl(var(--muted-foreground));flex-shrink:0}.history-curl-section .curl-header h5{font-size:.875rem;font-weight:600;margin:0}.history-curl-section .copy-curl-btn{display:flex;align-items:center;gap:.5rem;padding:.375rem .75rem;background:hsl(var(--muted));color:hsl(var(--foreground));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);cursor:pointer;font-size:.875rem;transition:all .2s}.history-curl-section .copy-curl-btn:hover{background:hsl(var(--accent));opacity:.9}.history-curl-section .curl-command{padding:.75rem 0;overflow-x:auto}.history-curl-section .curl-command pre{margin:0;font-family:Chivo Mono Variable,monospace;font-size:.8125rem;line-height:1.6;color:hsl(var(--foreground));white-space:pre-wrap;word-break:break-all}.history-request-body,.history-response,.history-error{padding:.75rem 0;margin-bottom:1rem}.history-request-body:last-child,.history-response:last-child,.history-error:last-child{margin-bottom:0}.history-request-body h5,.history-response h5,.history-error h5{font-size:.75rem;font-weight:600;margin-bottom:.625rem;margin-top:0;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em}.history-request-body .json-editor-wrapper,.history-response .json-editor-wrapper,.history-error .json-editor-wrapper{border:1px solid hsl(var(--border));max-height:60vh;background:hsl(var(--input));overflow:auto}.history-error .error-message{color:hsl(var(--destructive));font-size:.875rem;padding:.5rem 0;margin:0}.params-section{margin-bottom:1.25rem}.params-section:last-child{margin-bottom:0}.params-section h4{font-size:.75rem;margin-bottom:.75rem;margin-top:0;font-weight:600;color:hsl(var(--foreground));text-transform:uppercase;letter-spacing:.05em}.params-list{display:flex;flex-direction:column;gap:.75rem}.param-item{display:flex;flex-direction:row;align-items:center;gap:.75rem}.param-item dt{font-size:.875rem;color:hsl(var(--foreground));margin:0;flex:1}.param-item dd{margin:0;flex:1}.param-item .param-name{font-weight:500;font-family:Chivo Mono Variable,monospace}.param-item .required{color:hsl(var(--destructive));margin-left:.25rem}.param-item .param-desc{color:hsl(var(--muted-foreground));font-weight:400}.param-item input{width:100%;padding:.5rem;border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);background:hsl(var(--input));color:hsl(var(--foreground));font-family:Chivo Mono Variable,monospace;font-size:.875rem}.param-item input:focus{outline:none;border-color:hsl(var(--ring))}.body-section{margin-bottom:1.25rem}.body-section:last-child{margin-bottom:0}.body-section h4{font-size:.75rem;margin-bottom:.75rem;margin-top:0;font-weight:600;color:hsl(var(--foreground));text-transform:uppercase;letter-spacing:.05em}.request-body{width:100%;padding:.75rem;border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);background:hsl(var(--input));color:hsl(var(--foreground));font-family:Chivo Mono Variable,monospace;font-size:.875rem;resize:vertical}.request-body:focus{outline:none;border-color:hsl(var(--ring))}.json-editor-wrapper{width:100%;border:1px solid hsl(var(--border));border-radius:var(--radius);overflow:auto;background:hsl(var(--input))}.json-editor-wrapper :deep(.jsoneditor){border:none;background:hsl(var(--input))}.json-editor-wrapper :deep(.jsoneditor-menu){background:hsl(var(--muted));border-bottom:none}.json-editor-wrapper :deep(.jsoneditor-outer){background:hsl(var(--input))}.json-editor-wrapper :deep(.ace_editor){background:hsl(var(--input))!important;color:hsl(var(--foreground))!important}.json-editor-wrapper :deep(.ace_gutter){background:hsl(var(--muted))!important}.send-button{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;background:hsl(var(--primary)/.9);color:hsl(var(--primary-foreground));border:1px solid hsl(var(--primary)/.3);border-radius:var(--radius);cursor:pointer;font-weight:600;font-size:.8125rem;letter-spacing:.025em;margin:1.5rem auto 0;box-shadow:0 4px 6px -1px #0000004d,0 2px 4px -1px #0003}.send-button:hover:not(:disabled){background:hsl(var(--primary)/1);border-color:hsl(var(--primary)/.5);box-shadow:0 6px 12px -2px #0006,0 4px 6px -1px #0000004d}.send-button:active:not(:disabled){box-shadow:0 2px 4px -1px #0000004d,0 1px 2px -1px #0003}.send-button:disabled{opacity:.6;cursor:not-allowed}.send-button-icon{flex-shrink:0}.response-content{border:1px solid hsl(var(--border));border-radius:var(--radius);overflow:hidden;background:hsl(var(--input));box-shadow:0 1px 2px #0000001a}.response-status{padding:.75rem 1rem;background:hsl(var(--muted));border-bottom:1px solid hsl(var(--border))}.status-code{display:inline-flex;align-items:center;justify-content:center;padding:.25rem .5rem;border-radius:calc(var(--radius) - 2px);font-weight:600;font-size:.75rem;white-space:nowrap;flex-shrink:0}.status-code.success{background-color:#49cc901a;color:#49cc90;border:1px solid rgba(73,204,144,.2)}.status-code.error{background-color:#f93e3e1a;color:#f93e3e;border:1px solid rgba(249,62,62,.2)}.status-code.redirect{background-color:#ffc1071a;color:#ffc107;border:1px solid rgba(255,193,7,.2)}.status-code:not(.success):not(.error):not(.redirect){background-color:hsl(var(--muted));color:hsl(var(--muted-foreground));border:1px solid hsl(var(--border))}.response-body{padding:1rem;background:hsl(var(--input));overflow-x:auto}.response-body pre{margin:0;font-family:Chivo Mono Variable,monospace;font-size:.875rem;white-space:pre-wrap;word-wrap:break-word}.example-response{border:1px solid hsl(var(--border));border-radius:var(--radius);overflow:hidden;background:hsl(var(--input));border-color:hsl(var(--accent));box-shadow:0 1px 2px #0000001a}.example-header{padding:.75rem 1rem;background:hsl(var(--muted));border-bottom:1px solid hsl(var(--border))}.example-label{font-weight:600;font-size:.875rem;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.05em}.no-response{padding:1.5rem;text-align:center;color:hsl(var(--muted-foreground));border:1px dashed hsl(var(--border));border-radius:var(--radius)}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/vanilla-jsoneditor-DhKpF9_o.js","assets/app-jfWpanfK.js","assets/app-Dzrp8B7R.css","assets/styles-handler-N75IOYWX.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{d as gt,c as d,o as i,r as Tt,a as b,w as ve,n as xe,b as W,i as Rt,e as B,f as C,g as zt,h as le,_ as oe,j as kt,k as We,l as Mt,m as Ge,p as Pt,q as It,u as Vt,s as Nt,t as Dt,v as Ut,x as Ft,y as Ht,z as s,A as k,B as _,C as D,D as Z,E as Kt,S as Jt,U as Qt,F as ue,G as ce,H as we,I as Ke,J as dt,K as Wt,L as pt}from"./app-jfWpanfK.js";const Gt=["selection","mainMenuBar","navigationBar","statusBar","askToFormat","readOnly","indentation","tabSize","escapeControlCharacters","escapeUnicodeCharacters","flattenColumns","validator","onClassName","onRenderValue","onRenderMenu"],Xt=["selection","mode","mainMenuBar","navigationBar","statusBar","askToFormat","readOnly","indentation","tabSize","escapeControlCharacters","escapeUnicodeCharacters","flattenColumns","validator","parser","validationParser","pathParser","onClassName","onRenderValue","onRenderMenu"],Zt=(r={},A)=>{const S={};for(const g of Xt){const m=A[g]!==void 0?A[g]:r[g];m!==void 0&&(S[g]=m)}return S},Yt=`
|
|
3
|
-
<svg
|
|
4
|
-
class="fa-icon svelte-1dof0an"
|
|
5
|
-
viewBox="0 0 1024 1024"
|
|
6
|
-
version="1.1"
|
|
7
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
8
|
-
p-id="1927" xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
9
|
-
width="24"
|
|
10
|
-
height="24"
|
|
11
|
-
>
|
|
12
|
-
<path d="M63.989383 105.442494l0 268.396843c0 18.935258 15.368012 34.304294 34.304294 34.304294 18.936281 0 34.304294-15.369036 34.304294-34.304294L132.597971 180.156126l218.107483 218.176045c12.82919 12.830213 33.618679 12.830213 46.515407 0 12.830213-12.897751 12.830213-33.686217 0-46.51643l-218.176045-218.107483 193.683211 0c18.935258 0 34.304294-15.369036 34.304294-34.304294 0-18.935258-15.369036-34.304294-34.304294-34.304294L104.331183 65.09967C79.288834 65.09967 63.989383 77.999468 63.989383 105.442494L63.989383 105.442494z" p-id="1928" fill="#e6e6e6"></path><path d="M917.688719 65.09967 649.290853 65.09967c-18.935258 0-34.304294 15.369036-34.304294 34.304294 0 18.936281 15.369036 34.304294 34.304294 34.304294l193.683211 0-218.176045 218.107483c-12.830213 12.82919-12.830213 33.618679 0 46.51643 12.897751 12.830213 33.686217 12.830213 46.515407 0L889.420909 180.156126l0 193.683211c0 18.935258 15.369036 34.304294 34.304294 34.304294 18.936281 0 34.304294-15.369036 34.304294-34.304294L958.029496 105.442494C958.029496 77.999468 942.79963 65.09967 917.688719 65.09967L917.688719 65.09967z" p-id="1929" fill="#e6e6e6"></path>
|
|
13
|
-
<path d="M104.331183 957.013353l268.397866 0c18.935258 0 34.304294-15.368012 34.304294-34.304294 0-18.936281-15.369036-34.304294-34.304294-34.304294L179.045839 888.404766l218.176045-218.107483c12.830213-12.82919 12.830213-33.618679 0-46.515407-12.897751-12.830213-33.686217-12.830213-46.515407 0l-218.107483 218.176045L132.598994 648.27471c0-18.935258-15.368012-34.304294-34.304294-34.304294-18.936281 0-34.304294 15.369036-34.304294 34.304294l0 268.397866C63.989383 944.115602 79.288834 957.013353 104.331183 957.013353L104.331183 957.013353z" p-id="1930" fill="#e6e6e6"></path>
|
|
14
|
-
<path d="M958.029496 916.671553 958.029496 648.27471c0-18.935258-15.368012-34.304294-34.304294-34.304294-18.935258 0-34.304294 15.369036-34.304294 34.304294l0 193.683211L671.313425 623.781876c-12.82919-12.830213-33.618679-12.830213-46.515407 0-12.830213 12.897751-12.830213 33.686217 0 46.515407l218.176045 218.107483L649.290853 888.404766c-18.935258 0-34.304294 15.368012-34.304294 34.304294 0 18.936281 15.369036 34.304294 34.304294 34.304294l268.397866 0C942.79963 957.013353 958.029496 944.115602 958.029496 916.671553L958.029496 916.671553z" p-id="1931" fill="#e6e6e6"></path>
|
|
15
|
-
</svg>
|
|
16
|
-
`,_e=(r,A,S=!1)=>{const g=r&&typeof r[A]<"u";return!g&&S&&console.warn("Typeguard warn!!! The object has no property: ",A),g},en=gt({name:"JsonEditor",props:{modelValue:[Object,Array,Number,String,Boolean,String,null],value:{type:[Object,Array,Number,String,Boolean,String,null],default:void 0},json:{type:[Object,Array,Number,String,Boolean,null],default:void 0},text:String,jsonString:String,selection:{type:Object,default:void 0},mode:{type:String,default:"tree"},mainMenuBar:{type:Boolean,default:void 0},navigationBar:{type:Boolean,default:void 0},statusBar:{type:Boolean,default:void 0},askToFormat:{type:Boolean,default:void 0},readOnly:{type:Boolean,default:void 0},indentation:[String,Number],tabSize:Number,escapeControlCharacters:{type:Boolean,default:void 0},escapeUnicodeCharacters:{type:Boolean,default:void 0},flattenColumns:{type:Boolean,default:void 0},validator:Function,parser:Object,validationParser:Object,pathParser:Object,queryLanguagesIds:Array,queryLanguageId:String,onClassName:Function,onRenderValue:Function,onRenderMenu:Function,height:[String,Number],fullWidthButton:{type:Boolean,default:void 0},darkTheme:{type:Boolean,default:void 0}},emits:["update:modelValue","update:json","update:text","update:jsonString","update:selection","change","error","change-mode","update:mode","change-query-language","focus","blur"],setup(r,{expose:A,emit:S}){const g=Rt("jsonEditorOptions",{}),m=B(),j=B(null),H=B(!1),I=B(!1),Y=B("tree"),O=B(null),G=C(()=>{const o=r.height||g?.height;return o&&!H.value?{height:o+"px"}:{}}),K=C(()=>r.darkTheme||g?.darkTheme),J=C(()=>r.queryLanguagesIds||g?.queryLanguagesIds),ee=C(()=>r.queryLanguageId||g?.queryLanguageId),$=zt({}),R=async()=>{if(typeof window>"u"||typeof J.value>"u"||!J.value?.length)return;for(const w of J.value)if(!$[w])switch(w){case"javascript":{const{javascriptQueryLanguage:q}=await oe(async()=>{const{javascriptQueryLanguage:E}=await import("./vanilla-jsoneditor-DhKpF9_o.js");return{javascriptQueryLanguage:E}},__vite__mapDeps([0,1,2]));$[w]=q;break}case"lodash":{const{lodashQueryLanguage:q}=await oe(async()=>{const{lodashQueryLanguage:E}=await import("./vanilla-jsoneditor-DhKpF9_o.js");return{lodashQueryLanguage:E}},__vite__mapDeps([0,1,2]));$[w]=q;break}case"jmespath":{const{jmespathQueryLanguage:q}=await oe(async()=>{const{jmespathQueryLanguage:E}=await import("./vanilla-jsoneditor-DhKpF9_o.js");return{jmespathQueryLanguage:E}},__vite__mapDeps([0,1,2]));$[w]=q;break}case"jsonquery":{const{jsonQueryLanguage:q}=await oe(async()=>{const{jsonQueryLanguage:E}=await import("./vanilla-jsoneditor-DhKpF9_o.js");return{jsonQueryLanguage:E}},__vite__mapDeps([0,1,2]));$[w]=q;break}case"jsonpath":{const{jsonpathQueryLanguage:q}=await oe(async()=>{const{jsonpathQueryLanguage:E}=await import("./vanilla-jsoneditor-DhKpF9_o.js");return{jsonpathQueryLanguage:E}},__vite__mapDeps([0,1,2]));$[w]=q;break}}const o=Object.values($);if(o.length!==0)return o},T=()=>{j.value&&(j.value.removeEventListener("click",U),j.value=null)},X=async()=>{if(typeof window>"u")return;const{getElement:o,createElement:w}=await oe(async()=>{const{getElement:he,createElement:Re}=await import("./full-width-button-handler-oqK5S8oj.js");return{getElement:he,createElement:Re}},[]),{setFullWidthButtonStyle:q}=await oe(async()=>{const{setFullWidthButtonStyle:he}=await import("./styles-handler-N75IOYWX.js");return{setFullWidthButtonStyle:he}},__vite__mapDeps([3,1,2]));await q();const E=o(m.value,".jse-full-width"),L=g?.fullWidthButton!==void 0?g?.fullWidthButton:!0;if(!(r.fullWidthButton!==void 0?r.fullWidthButton:L)||E)return;j.value&&T();const ie=o(m.value,".jse-menu"),Te=Array.from(ie.classList).find(he=>he.startsWith("svelte-"));j.value=w("button"),j.value.classList.add("jse-full-width"),H.value&&j.value.classList.add("jse-full-width--active"),j.value.classList.add("jse-button"),j.value.classList.add(Te),j.value.innerHTML+=Yt,ie.appendChild(j.value),j.value.addEventListener("click",U)},U=()=>{H.value=!H.value,H.value?j.value?.classList.add("jse-full-width--active"):(j.value?.classList.remove("jse-full-width--active"),j.value?.blur())},fe=(o,w,q)=>{if(I.value){setTimeout(()=>{I.value=!1});return}I.value=!0,_e(o,"json")&&(S("update:json",o.json),S("update:modelValue",o.json)),_e(o,"text")&&(S("update:text",o.text),S("update:jsonString",o.text),S("update:modelValue",o.text)),S("change",o,w,q),setTimeout(()=>{I.value=!1})},de=o=>{S("error",o)},re=o=>{Y.value=o,S("change-mode",o),S("update:mode",o)},me=o=>{S("change-query-language",o)},ge=()=>{S("focus")},t=()=>{S("blur")},c=o=>{S("update:selection",o)},u=(o,w)=>(We(()=>{X()}),typeof r.onRenderMenu=="function"?r.onRenderMenu(o,w):o),p=async()=>{const o={fullWidthButton:!0,...g||{}},w=await R();return{...Zt(o,r),queryLanguages:w,queryLanguageId:ee.value,onChange:fe,onError:de,onChangeMode:re,onChangeQueryLanguage:me,onFocus:ge,onBlur:t,onRenderMenu:u,onSelect:c}},l=B(!0),v=()=>{const o=(E={})=>E===null||typeof E>"u"||typeof E=="number"||typeof E=="bigint"||typeof E=="string"||typeof E=="boolean"?{json:E}:Array.isArray(E)?{json:[...E]}:{json:{...E}},w=(E="")=>({text:E||""}),q=r.modelValue||r.value;return q?Y.value==="text"&&typeof q=="string"?w(q):o(q):typeof r.json<"u"?o(r.json):typeof r.text<"u"?w(r.text):typeof r.jsonString<"u"?w(r.jsonString):w()},h=async()=>{if(!(typeof window>"u")){if(!O.value){const o=await p(),{createJSONEditor:w}=await oe(async()=>{const{createJSONEditor:E}=await import("./vanilla-jsoneditor-DhKpF9_o.js");return{createJSONEditor:E}},__vite__mapDeps([0,1,2]));l.value=!1,O.value=w({target:m.value,props:o});const q=v();O.value.set(q),setTimeout(()=>{I.value=!1},0)}O.value.focus()}},P=async()=>{const o=await p();O.value?.updateProps(o)},Q=()=>{if(I.value)return;const o=v(),w=O.value?.get();let q=!1;if(_e(o,"text")&&_e(w,"text"))q=o.text===w.text;else if(_e(o,"json")&&_e(w,"json"))q=JSON.stringify(o.json)===JSON.stringify(w.json);else{const E=JSON.stringify(o),L=JSON.stringify(w);q=E===L}q||(I.value=!0,O.value?.update(o),setTimeout(()=>{I.value=!1}))},te=()=>{O.value&&(O.value.destroy(),O.value=null),T()};le([...Gt.map(o=>()=>r[o])],P,{deep:!0});const y=()=>{I.value&&setTimeout(()=>{I.value=!1},10)};return le([()=>r.modelValue,()=>r.value,()=>r.json,()=>r.text,()=>r.jsonString],()=>{Q(),y()},{deep:!0}),le(()=>r.mode,o=>{o!==Y.value&&(Y.value=o,P())}),le(()=>K.value,async o=>{if(o){const{setDarkThemeStyle:w}=await oe(async()=>{const{setDarkThemeStyle:q}=await import("./styles-handler-N75IOYWX.js");return{setDarkThemeStyle:q}},__vite__mapDeps([3,1,2]));await w()}},{immediate:!0}),kt(()=>{We(()=>{h()})}),Mt(()=>{te()}),A({$collapseAll(){Y.value==="tree"&&O.value?.collapse([],!0)},$expandAll(){Y.value==="tree"&&O.value?.expand([])},$expand(o,w){typeof o=="function"?(O.value?.expand([],o),console.warn("In new API you must pass the path before the callback!!! Backwards compatibility is deprecated and will be discontinued in the future")):O.value?.expand(o,w)},$get(){return O.value?.get()},$set(o){O.value?.set(o)},$update(o){O.value?.update(o)},$updateProps(o){O.value?.updateProps(o)},async $refresh(){await O.value?.refresh()},$focus(){O.value?.focus()},async $destroy(){await O.value?.destroy()},$patch(o){return O.value?.patch(o)},$transform(o){O.value?.transform(o)},async $scrollTo(o){await O.value?.scrollTo(o)},$findElement(o){return O.value?.findElement(o)},$acceptAutoRepair(){return O.value?.acceptAutoRepair()},$validate(){return O.value?.validate()}}),{max:H,getHeight:G,container:m,darkThemeStyle:K,fallbackSlot:l}}}),tn=(r,A)=>{const S=r.__vccOpts||r;for(const[g,m]of A)S[g]=m;return S};function nn(r,A,S,g,m,j){return i(),d("div",{class:W(["vue-ts-json-editor",{"vue-ts-json-editor--max-box":r.max,"jse-theme-dark":r.darkThemeStyle}]),style:xe(r.getHeight),ref:"container",onKeydown:A[0]||(A[0]=ve(()=>{},["stop"]))},[r.fallbackSlot?Tt(r.$slots,"default",{key:0}):b("",!0)],38)}const be=tn(en,[["render",nn]]);be.install=()=>{console.error(`Default import not working!!! Use "import {JsonEditorPlugin} from 'vue3-ts-jsoneditor';"`)};const _t=r=>new Proxy(()=>{},{apply:async(A,S,g)=>{if(typeof window>"u")throw new Error(`${r} is not available on server side. Please use it only in client-side code.`);return(await oe(()=>import("./vanilla-jsoneditor-DhKpF9_o.js"),__vite__mapDeps([0,1,2])))[r](...g)}});_t("renderValue");_t("renderJSONSchemaEnum");const vt=r=>r.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),sn=r=>r.replace(/^([A-Z])|[\s-_]+(\w)/g,(A,S,g)=>g?g.toUpperCase():S.toLowerCase()),an=r=>{const A=sn(r);return A.charAt(0).toUpperCase()+A.slice(1)},on=(...r)=>r.filter((A,S,g)=>!!A&&A.trim()!==""&&g.indexOf(A)===S).join(" ").trim(),ft=r=>r==="";var Ce={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round"};const ln=({name:r,iconNode:A,absoluteStrokeWidth:S,"absolute-stroke-width":g,strokeWidth:m,"stroke-width":j,size:H=Ce.width,color:I=Ce.stroke,...Y},{slots:O})=>Ge("svg",{...Ce,...Y,width:H,height:H,stroke:I,"stroke-width":ft(S)||ft(g)||S===!0||g===!0?Number(m||j||Ce["stroke-width"])*24/Number(H):m||j||Ce["stroke-width"],class:on("lucide",Y.class,...r?[`lucide-${vt(an(r))}-icon`,`lucide-${vt(r)}`]:["lucide-icon"])},[...A.map(G=>Ge(...G)),...O.default?[O.default()]:[]]);const se=(r,A)=>(S,{slots:g,attrs:m})=>Ge(ln,{...m,...S,iconNode:A,name:r},g);const rn=se("chart-no-axes-column-increasing",[["path",{d:"M5 21v-6",key:"1hz6c0"}],["path",{d:"M12 21V9",key:"uvy0l4"}],["path",{d:"M19 21V3",key:"11j9sm"}]]);const Je=se("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);const ht=se("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);const $e=se("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);const un=se("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);const yt=se("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);const cn=se("github",[["path",{d:"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4",key:"tonef"}],["path",{d:"M9 18c-4.51 2-5-2-7-2",key:"9comsn"}]]);const Qe=se("lock-open",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 9.9-1",key:"1mm8w8"}]]);const ye=se("lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);const mt=se("rocket",[["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z",key:"m3kijz"}],["path",{d:"m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z",key:"1fmvmk"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0",key:"1f8sc4"}],["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}]]);const dn=se("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);const pn=se("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),vn=Pt("openapi",()=>{const r=B(null),A=B(!0),S=B(null),g=C(()=>It()),m=C(()=>{if(!r.value)return[];const t=[];for(const[c,u]of Object.entries(r.value.paths))if(u)for(const p of["get","post","put","patch","delete"]){const l=u[p];l&&t.push({path:c,method:p.toUpperCase(),operation:l})}return t.sort((c,u)=>c.path!==u.path?c.path.localeCompare(u.path):c.method.localeCompare(u.method))}),j=C(()=>{if(!r.value?.components?.securitySchemes)return[];const t=[];for(const[c,u]of Object.entries(r.value.components.securitySchemes))u&&typeof u=="object"&&!("$ref"in u)&&t.push({name:c,scheme:u});return t}),H=C(()=>r.value?.info?.title||"OpenAPI Studio"),I=C(()=>r.value?.info?.description||null),Y=C(()=>r.value?.info?.version||null);async function O(t){A.value=!0,S.value=null;try{const c=t||g.value,u=await fetch(c);if(!u.ok)throw new Error(`Failed to fetch OpenAPI spec: ${u.statusText}`);r.value=await u.json()}catch(c){S.value=c instanceof Error?c.message:"Failed to load OpenAPI spec"}finally{A.value=!1}}function G(t,c){const u=(typeof t=="string"?t:t.$ref).replace("#/","").split("/");let p=c;for(const l of u)if(p&&typeof p=="object"&&l in p)p=p[l];else return null;return p}function K(t){if(!t||typeof t!="object")return null;if("$ref"in t&&t.$ref){if(!r.value)return null;const c=G(t.$ref,r.value);return c&&typeof c=="object"&&"name"in c&&"in"in c?c:null}return"name"in t&&"in"in t?t:null}function J(t,c){if(!t||typeof t!="object")return null;if("$ref"in t&&t.$ref){const l=G(t.$ref,c);return!l||typeof l!="object"?null:J(l,c)}if("example"in t&&t.example!==void 0)return t.example;if("enum"in t&&t.enum&&t.enum.length>0)return t.enum[0];const u=t,p=u.type||(u.anyOf?"anyOf":u.oneOf?"oneOf":u.allOf?"allOf":"object");switch(p){case"string":if("format"in u)switch(u.format){case"date":return"2024-01-01";case"date-time":return"2024-01-01T00:00:00Z";case"email":return"example@example.com";case"uri":return"https://example.com";case"uuid":return"123e4567-e89b-12d3-a456-426614174000"}return"default"in u&&u.default!==void 0?u.default:"string";case"number":case"integer":return"default"in u&&u.default!==void 0?u.default:0;case"boolean":return"default"in u&&u.default!==void 0?u.default:!1;case"array":if("items"in t&&t.items){const v=J(t.items,c);return t.minItems&&t.minItems>0?Array(t.minItems).fill(v):[v]}return[];case"object":const l={};if("properties"in t&&t.properties)for(const[v,h]of Object.entries(t.properties))"required"in t&&t.required&&t.required.includes(v)?l[v]=J(h,c):"required"in t||(l[v]=J(h,c));return l;case"anyOf":return"anyOf"in t&&t.anyOf&&t.anyOf.length>0?J(t.anyOf[0],c):{};case"oneOf":return"oneOf"in t&&t.oneOf&&t.oneOf.length>0?J(t.oneOf[0],c):{};case"allOf":if("allOf"in t&&t.allOf){const v={};for(const h of t.allOf){const P=J(h,c);typeof P=="object"&&P!==null&&!Array.isArray(P)&&Object.assign(v,P)}return v}return{};default:return null}}function ee(t,c,u=new Set,p=0,l){if(!t||typeof t!="object")return"";const v=" ".repeat(p);let h="";if("$ref"in t&&t.$ref){if(u.has(t.$ref))return`${v}${l||""} → ${t.$ref.split("/").pop()} ⚠ circular
|
|
17
|
-
`;u.add(t.$ref);const y=G(t.$ref,c);if(!y||typeof y!="object")return u.delete(t.$ref),`${v}${l||""} → ${t.$ref.split("/").pop()} (invalid)
|
|
18
|
-
`;const o=t.$ref.split("/").pop()||"Unknown";return l!==void 0?(h+=`${v}${l} → ${o}
|
|
19
|
-
`,h+=ee(y,c,u,p,void 0)):(h+=`${v}→ ${o}
|
|
20
|
-
`,h+=ee(y,c,u,p,void 0)),u.delete(t.$ref),h}const P=y=>{if(y.type==="array"&&y.items)return`Array<${P(y.items)}>`;if(y.type){let o=y.type;return y.format&&(o=`${y.type}(${y.format})`),y.enum&&(o=`${o} | ${y.enum.map(w=>JSON.stringify(w)).join(" | ")}`),o}return y.allOf?"allOf":y.anyOf?"anyOf":y.oneOf?"oneOf":"object"},Q=P(t),te=l&&"required"in t&&t.required&&Array.isArray(t.required)&&t.required.includes(l);if(l!==void 0?(h+=`${v}${l}${te?"*":""}: ${Q}`,"description"in t&&t.description&&(h+=` // ${t.description}`),h+=`
|
|
21
|
-
`):p===0&&"properties"in t&&(h+=`${v}{
|
|
22
|
-
`),"properties"in t&&t.properties){for(const[y,o]of Object.entries(t.properties))h+=ee(o,c,u,p+1,y);p===0&&"type"in t&&t.type==="object"&&(h+=`${v}}
|
|
23
|
-
`)}if("items"in t&&t.items&&"type"in t&&t.type==="array"&&("properties"in t.items||"$ref"in t.items)&&(h+=`${v} items:
|
|
24
|
-
`,h+=ee(t.items,c,u,p+2)),"allOf"in t&&t.allOf&&t.allOf.forEach((y,o)=>{h+=`${v} allOf[${o}]:
|
|
25
|
-
`,h+=ee(y,c,u,p+2)}),"anyOf"in t&&t.anyOf&&t.anyOf.forEach((y,o)=>{h+=`${v} anyOf[${o}]:
|
|
26
|
-
`,h+=ee(y,c,u,p+2)}),"oneOf"in t&&t.oneOf&&t.oneOf.forEach((y,o)=>{h+=`${v} oneOf[${o}]:
|
|
27
|
-
`,h+=ee(y,c,u,p+2)}),l){const y=[];"pattern"in t&&t.pattern&&y.push(`pattern: ${t.pattern}`),"default"in t&&t.default!==void 0&&y.push(`default: ${JSON.stringify(t.default)}`),"minLength"in t&&t.minLength!==void 0&&y.push(`minLength: ${t.minLength}`),"maxLength"in t&&t.maxLength!==void 0&&y.push(`maxLength: ${t.maxLength}`),"minimum"in t&&t.minimum!==void 0&&y.push(`min: ${t.minimum}`),"maximum"in t&&t.maximum!==void 0&&y.push(`max: ${t.maximum}`),y.length>0&&(h+=`${v} (${y.join(", ")})
|
|
28
|
-
`)}return h}function $(t,c,u,p=new Set){if(!(!t||typeof t!="object")){if("$ref"in t&&t.$ref){if(p.has(t.$ref))return;p.add(t.$ref);const l=G(t.$ref,c);if(!l||typeof l!="object"){p.delete(t.$ref);return}const v=t.$ref.split("/").pop()||"Unknown";u.has(t.$ref)||u.set(t.$ref,{name:v,schema:l}),$(l,c,u,p),p.delete(t.$ref);return}if("properties"in t&&t.properties)for(const l of Object.values(t.properties))$(l,c,u,p);"items"in t&&t.items&&$(t.items,c,u,p),"allOf"in t&&t.allOf&&t.allOf.forEach(l=>$(l,c,u,p)),"anyOf"in t&&t.anyOf&&t.anyOf.forEach(l=>$(l,c,u,p)),"oneOf"in t&&t.oneOf&&t.oneOf.forEach(l=>$(l,c,u,p))}}function R(t,c){if(!r.value||!t||!c)return null;const u=r.value.paths[t];if(!u)return null;const p=c.toLowerCase();return u[p]||null}function T(t){if(!t||!r.value)return null;let c=t.requestBody;if(!c||typeof c!="object")return null;if("$ref"in c&&c.$ref){const p=G(c.$ref,r.value);if(!p||typeof p!="object")return null;c=p}if(!c||!("content"in c)||!c.content)return null;const u=c.content["application/json"];return!u||!u.schema?null:u.schema}function X(t){if(!t||!r.value)return null;const c=T(t);return c?J(c,r.value):null}function U(t,c=!0){if(!t||!r.value)return null;const u=t.responses;if(!u||typeof u!="object")return null;const p=["200","201","202","204"];let l;if(c){for(const h of p)if(u&&h in u){l=u[h];break}}if(!l&&u){const h=Object.keys(u)[0];h&&(l=u[h])}if(!l||typeof l!="object")return null;if("$ref"in l&&l.$ref){const h=G(l.$ref,r.value);if(!h||typeof h!="object")return null;l=h}if(!l||typeof l!="object"||!("content"in l)||!l.content)return null;const v=l.content["application/json"];return!v||!v.schema?null:J(v.schema,r.value)}function fe(t){if(!t||!r.value)return[];const c=t.responses;if(!c||typeof c!="object")return[];const u=[];for(const[p,l]of Object.entries(c)){let v=l;if(v&&typeof v=="object"&&"$ref"in v&&v.$ref){const o=G(v.$ref,r.value);if(!o||typeof o!="object")continue;v=o}if(!v||typeof v!="object")continue;const h="description"in v&&v.description||"No description";let P=null,Q;if("content"in v&&v.content){const o=v.content["application/json"];o&&o.schema&&(Q=o.schema,P=J(o.schema,r.value))}const te=parseInt(p),y=!isNaN(te)&&te>=200&&te<300;u.push({code:p,description:h,example:P,schema:Q,isSuccess:y})}return u.sort((p,l)=>{if(p.isSuccess!==l.isSuccess)return p.isSuccess?-1:1;const v=parseInt(p.code),h=parseInt(l.code);return!isNaN(v)&&!isNaN(h)?v-h:p.code.localeCompare(l.code)})}function de(t){if(!t||!r.value)return[];const c=new Map,u=T(t);if(u&&$(u,r.value,c),t.responses)for(const p of Object.values(t.responses)){let l=p;if(l&&typeof l=="object"&&"$ref"in l&&l.$ref){const v=G(l.$ref,r.value);v&&typeof v=="object"&&(l=v)}if(l&&typeof l=="object"&&"content"in l&&l.content){const v=l.content["application/json"];v&&v.schema&&$(v.schema,r.value,c)}}if(t.parameters)for(const p of t.parameters){const l=K(p);l&&l.schema&&$(l.schema,r.value,c)}return Array.from(c.values()).sort((p,l)=>p.name.localeCompare(l.name))}function re(t){return r.value?!!(t.security&&t.security.length>0||r.value.security&&r.value.security.length>0):!1}function me(t){if(!r.value?.components?.securitySchemes)return[];const c=new Set,u=[];if(t.security&&t.security.length>0){for(const p of t.security)for(const l in p)if(!c.has(l)){c.add(l);const v=j.value.find(h=>h.name===l);v&&u.push(v)}}else if(r.value.security&&r.value.security.length>0){for(const p of r.value.security)for(const l in p)if(!c.has(l)){c.add(l);const v=j.value.find(h=>h.name===l);v&&u.push(v)}}return u}function ge(t){if(!t||!r.value?.components?.securitySchemes)return[];const c=new Set,u=[];if(t.security&&t.security.length>0){for(const p of t.security)for(const l in p)if(!c.has(l)){c.add(l);const v=j.value.find(h=>h.name===l);v&&u.push(v)}return u}if(r.value.security&&r.value.security.length>0){for(const p of r.value.security)for(const l in p)if(!c.has(l)){c.add(l);const v=j.value.find(h=>h.name===l);v&&u.push(v)}}return u}return{openApiSpec:r,loading:A,error:S,openApiSpecUrl:g,endpoints:m,securitySchemes:j,openApiTitle:H,openApiDescription:I,openApiVersion:Y,loadSpec:O,resolveReference:G,resolveParameter:K,generateExampleFromSchema:J,formatSchemaForDisplay:ee,getSelectedEndpoint:R,getRequestBodySchema:T,getExampleFromRequestBody:X,getExampleFromResponse:U,getAllResponseExamples:fe,getEndpointSchemaReferences:de,endpointRequiresSecurity:re,getRequiredSecuritySchemes:me,getAvailableSecuritySchemes:ge}}),fn={class:"openapi-test"},hn={class:"test-header"},yn={class:"header-content"},mn={class:"header-title-section"},gn={class:"title-row"},kn={class:"logo"},_n={key:0,class:"api-version"},bn={key:0,class:"api-description"},Sn={class:"header-actions"},wn=["href"],Cn={href:"https://github.com/gamja-labs/openapi-studio",target:"_blank",rel:"noopener noreferrer",class:"github-link",title:"View on GitHub"},$n={key:0,class:"auth-section"},xn={key:1,class:"user-section"},jn={key:0,class:"auth-side-menu"},On={class:"auth-menu-header"},En={class:"auth-menu-content"},qn={class:"auth-scheme-header"},Bn={style:{display:"flex","align-items":"center",gap:"0.5rem"}},An={class:"auth-scheme-header"},Ln={style:{display:"flex","align-items":"center",gap:"0.5rem"}},Tn=["onClick"],Rn={class:"auth-scheme-header"},zn={style:{display:"flex","align-items":"center",gap:"0.5rem"}},Mn={class:"auth-scheme-type"},Pn={key:0,class:"auth-scheme-description"},In={class:"field-location"},Vn=["value","onInput","placeholder"],Nn=["onClick"],Dn=["value","onInput"],Un=["value","onInput"],Fn=["onClick"],Hn=["value","onInput"],Kn=["onClick"],Jn=["value","onInput"],Qn=["onClick"],Wn=["value","onInput"],Gn=["onClick"],Xn={class:"clerk-key-card"},Zn={class:"clerk-key-description"},Yn={key:0},es={key:1},ts={class:"clerk-key-fields"},ns=["disabled"],ss={class:"test-container"},as={class:"sidebar-header"},os=["title"],ls={class:"sidebar-content"},rs={key:0,class:"loading"},is={key:1,class:"error"},us={key:2,class:"endpoints-groups"},cs=["onClick"],ds={class:"group-name"},ps={class:"group-count"},vs={class:"group-toggle"},fs={key:0,class:"group-endpoints"},hs=["onClick"],ys={class:"endpoint-path"},ms={class:"endpoint-meta"},gs={key:0,class:"endpoint-summary"},ks={key:1,class:"endpoint-content"},_s={class:"endpoint-tester"},bs={class:"endpoint-header"},Ss={class:"endpoint-title"},ws={class:"endpoint-path"},Cs={key:0,class:"endpoint-info"},$s={key:0,class:"endpoint-summary-text"},xs={key:1,class:"endpoint-description"},js={key:0,class:"security-schemes-wrapper"},Os={class:"security-schemes-section"},Es=["onClick"],qs={class:"scheme-name"},Bs={class:"request-section"},As={key:0,class:"params-section"},Ls={class:"params-list"},Ts={class:"param-name"},Rs={key:0,class:"required"},zs={key:1,class:"param-desc"},Ms=["onUpdate:modelValue","placeholder"],Ps={key:1,class:"params-section"},Is={class:"params-list"},Vs={class:"param-name"},Ns={key:0,class:"required"},Ds={key:1,class:"param-desc"},Us=["onUpdate:modelValue","placeholder"],Fs={key:2,class:"body-section"},Hs={class:"json-editor-wrapper"},Ks=["disabled"],Js={class:"response-section"},Qs={class:"section-header"},Ws={key:0,class:"no-response"},Gs={key:1,class:"no-response"},Xs={key:2,class:"request-history-list"},Zs={class:"history-item-header"},Ys={class:"history-item-title"},ea={class:"history-url"},ta={class:"history-meta-group"},na={key:0,class:"history-auth-scheme"},sa={key:1,class:"history-auth-scheme"},aa={class:"history-timestamp"},oa={class:"history-curl-section"},la=["onClick"],ra={class:"curl-header-left"},ia=["onClick"],ua={key:0,class:"curl-command"},ca={key:0,class:"history-request-body"},da={class:"json-editor-wrapper"},pa={key:1,class:"history-error"},va={class:"error-message"},fa={key:2,class:"history-response"},ha={class:"json-editor-wrapper"},ya={class:"app-footer"},ma={class:"examples-header"},ga=["title"],ka={class:"examples-content"},_a={key:0,class:"example-section"},ba={class:"example-section-header"},Sa={class:"view-toggle"},wa={class:"example-content"},Ca={key:0,class:"schema-display"},$a={class:"schema-text"},xa={key:1,class:"json-editor-wrapper"},ja={key:1,class:"example-section"},Oa={class:"response-codes-list"},Ea={class:"response-code-number"},qa={class:"response-code-description"},Ba={class:"view-toggle"},Aa=["onClick"],La=["onClick"],Ta={key:0,class:"example-content"},Ra={key:0,class:"schema-display"},za={class:"schema-text"},Ma={key:1,class:"json-editor-wrapper"},Pa={key:1,class:"no-example"},Ia={key:2,class:"no-examples"},Va={key:3,class:"example-section"},Na={class:"schema-references-list"},Da=["onClick"],Ua={class:"schema-reference-toggle"},Fa={class:"schema-reference-name"},Ha={key:0,class:"example-content"},Ka={class:"schema-display"},Ja={class:"schema-text"},Qa={key:2,class:"endpoint-tester empty"},Wa={class:"empty-state"},Ga={class:"welcome-content"},Xa={class:"welcome-icon"},Za={class:"welcome-tips"},Ya={class:"tip-item"},eo={class:"tip-item"},to={class:"tip-item"},no={class:"app-footer"},pe="__clerk_bearer__",ao=gt({__name:"Main",setup(r){const A=Vt(),S=Nt(),g=Dt(),m=vn(),j=Ut();let H=g.hasClerkKey,I=null;if(H)try{I=Ft()}catch(a){console.warn("Failed to initialize Clerk auth:",a),H=!1,I=null}const Y=C(()=>{if(!I)return!1;try{return I.isSignedIn.value??!1}catch{return!1}}),O=I?.getToken?.value??(()=>Promise.resolve(null)),G=C(()=>{if(!I)return!1;try{return I.isLoaded.value??!1}catch{return!1}}),K=C(()=>m.openApiSpec),J=C(()=>m.loading),ee=C(()=>m.error),$=B(null),R=B(null),T=B(null),X=B({}),U=B(""),fe=B(null),de=B(null),re=B(!1),me=B(new Map),ge=(a,n)=>!a||!n?null:`${n}:${a}`,t=()=>{const a=ge($.value,T.value);a&&me.value.set(a,{requestParams:{...X.value},requestBody:U.value,selectedAuthScheme:R.value})},c=(a,n)=>{const e=ge(a,n);if(!e)return!1;const f=me.value.get(e);return f?(X.value={...f.requestParams},U.value=f.requestBody,R.value=f.selectedAuthScheme,!0):!1};le([X,U,R],()=>{$.value&&T.value&&t()},{deep:!0});const u=B(new Set),p=B(new Set),l=B(new Map),v=B(!1),h=B({}),P=B(!1),Q=B(!1),te=B(new Set),y=B(500),o=B(400),w=B(!1),q=B(!1),E=B([]),L=C(()=>m.getSelectedEndpoint($.value,T.value)),ie=C(()=>m.endpoints),Te=C(()=>{if(ie.value.length===0)return[];const a=new Map;for(const n of ie.value){const e=n.operation.tags||[];if(e.length>0){const f=e[0];f&&(a.has(f)||a.set(f,{name:f,endpoints:[]}),a.get(f).endpoints.push(n))}else{const f=n.path.split("/").filter(x=>x),z=f.length>0?`/${f[0]}`:"Other";a.has(z)||a.set(z,{name:z,endpoints:[]}),a.get(z).endpoints.push(n)}}return u.value.size===0&&a.forEach((n,e)=>u.value.add(e)),Array.from(a.values()).sort((n,e)=>n.name.localeCompare(e.name))}),he=a=>{u.value.has(a)?u.value.delete(a):u.value.add(a)},Re=a=>{p.value.has(a)?p.value.delete(a):p.value.add(a)},je=a=>{const n=l.value.get(a)||!1;l.value.set(a,!n)},ae=a=>l.value.get(a)||!1,Oe=new Map;async function ze(a,n){const e=`${n}:${a}`;if(Oe.has(e))return Oe.get(e);const z=new TextEncoder().encode(e),x=await crypto.subtle.digest("SHA-256",z),F=Array.from(new Uint8Array(x)).map(Fe=>Fe.toString(16).padStart(2,"0")).join("").slice(0,16);return Oe.set(e,F),F}function bt(a,n){const e=`${n}:${a}`;return Oe.get(e)||""}async function Xe(){const a=S.query.endpoint;if(!a)return null;for(const n of ie.value)if(await ze(n.path,n.method)===a)return{path:n.path,method:n.method};return null}kt(async()=>{j.initialize(),g.loadClerkKey(),P.value=j.loadSidebarCollapsed(),Q.value=j.loadExamplesSidebarCollapsed(),y.value=j.loadEndpointsSidebarWidth(),o.value=j.loadExamplesSidebarWidth(),await m.loadSpec();for(const n of ie.value)await ze(n.path,n.method);const a=await Xe();a&&(await We(),await Me(a.path,a.method,!1)),le(()=>S.query.endpoint,async n=>{if(n){const e=await Xe();e&&($.value!==e.path||T.value!==e.method)&&await Me(e.path,e.method,!1)}else($.value||T.value)&&($.value=null,T.value=null)}),le(P,n=>{j.saveSidebarCollapsed(n)}),le(Q,n=>{j.saveExamplesSidebarCollapsed(n)}),le(y,n=>{j.saveEndpointsSidebarWidth(n)}),le(o,n=>{j.saveExamplesSidebarWidth(n)})});const St=a=>{w.value=!0;const n=a.clientX,e=y.value,f=x=>{const V=x.clientX-n,F=Math.max(200,Math.min(800,e+V));y.value=F},z=()=>{w.value=!1,document.removeEventListener("mousemove",f),document.removeEventListener("mouseup",z)};document.addEventListener("mousemove",f),document.addEventListener("mouseup",z)},wt=a=>{q.value=!0;const n=a.clientX,e=o.value,f=x=>{const V=n-x.clientX,F=Math.max(200,Math.min(800,e+V));o.value=F},z=()=>{q.value=!1,document.removeEventListener("mousemove",f),document.removeEventListener("mouseup",z)};document.addEventListener("mousemove",f),document.addEventListener("mouseup",z)},ke=(a,n,e)=>{h.value[a]||(h.value[a]={}),h.value[a][n]=e},Se=a=>{delete h.value[a]},Ct=()=>{g.saveClerkKey()},$t=()=>{g.clearClerkKey()},Me=async(a,n,e=!0)=>{if(t(),$.value=a,T.value=n,fe.value=null,de.value=null,p.value.clear(),l.value.clear(),e){const x=bt(a,n)||await ze(a,n);S.query.endpoint!==x&&await A.replace({query:{...S.query,endpoint:x}})}const f=ie.value.find(x=>x.path===a&&x.method===n),z=c(a,n);if(f?.operation.parameters)for(const x of f.operation.parameters){const V=m.resolveParameter(x);V&&(V.in==="query"||V.in==="path")&&(!z||!(V.name in X.value))&&(X.value[V.name]="")}else z||(X.value={});if(f?.operation.requestBody){if(!z){let x=f.operation.requestBody;if(x&&typeof x=="object"&&"$ref"in x&&x.$ref&&K.value){const V=m.resolveReference(x.$ref,K.value);V&&typeof V=="object"&&(x=V)}if(x&&typeof x=="object"&&"content"in x&&x.content){const V=x.content["application/json"];if(V?.schema&&K.value){const F=m.generateExampleFromSchema(V.schema,K.value);U.value=JSON.stringify(F||{},null,2)}else U.value=JSON.stringify({},null,2)}}}else z||(U.value="")},xt=async()=>{if(!$.value||!T.value)return;re.value=!0,fe.value=null,de.value=null;const a={id:Date.now().toString()+Math.random().toString(36).substr(2,9),timestamp:new Date,method:T.value,path:$.value||"",url:"",requestBody:U.value.trim()?(()=>{try{return JSON.parse(U.value)}catch{return U.value}})():null,requestParams:{...X.value},headers:{},response:null,responseError:null,authScheme:R.value};try{let e=`${Wt()}${$.value}`;const f={},z=new URLSearchParams;for(const[N,M]of Object.entries(X.value))if(M!==""&&M!=null){const ne=ie.value.find(Le=>Le.path===$.value&&Le.method===T.value);let Ae=!1;if(ne?.operation.parameters)for(const Le of ne.operation.parameters){const He=m.resolveParameter(Le);if(He&&He.name===N){Ae=He.in==="path";break}}Ae?f[N]=String(M):z.append(N,String(M))}for(const[N,M]of Object.entries(f))e=e.replace(`{${N}}`,encodeURIComponent(M));const x={"Content-Type":"application/json"};if(R.value===pe){if(Y.value){G.value||await new Promise(M=>{const ne=setInterval(()=>{G.value&&(clearInterval(ne),M(void 0))},100)});const N=await O();N&&(x.Authorization=`Bearer ${N}`)}}else if(R.value&&K.value?.components?.securitySchemes){const N=K.value.components.securitySchemes[R.value];if(N&&typeof N=="object"&&!("$ref"in N)){const M=h.value[R.value];if(N.type==="apiKey"){const ne=N;M?.value&&(ne.in==="header"?x[ne.name]=M.value:ne.in==="query"?z.append(ne.name,M.value):ne.in)}else if(N.type==="http"){const ne=N;if(ne.scheme==="basic"){if(M?.username&&M?.password){const Ae=`${M.username}:${M.password}`;x.Authorization=`Basic ${btoa(Ae)}`}}else ne.scheme==="bearer"&&M?.token&&(x.Authorization=`Bearer ${M.token}`)}else N.type==="oauth2"?M?.accessToken&&(x.Authorization=`Bearer ${M.accessToken}`):N.type==="openIdConnect"&&M?.idToken&&(x.Authorization=`Bearer ${M.idToken}`)}}z.toString()&&(e+=`?${z.toString()}`),a.url=e,a.headers={...x};const V={method:T.value,headers:x};if(["POST","PUT","PATCH"].includes(T.value)&&U.value.trim())try{console.log(U.value),V.body=JSON.stringify(JSON.parse(U.value)),console.log(V.body)}catch{const M="Invalid JSON in request body";de.value=M,a.responseError=M,E.value.unshift(a),re.value=!1;return}const F=await fetch(e,V),Fe=F.headers.get("content-type");let Be;if(Fe?.includes("application/json"))Be={status:F.status,statusText:F.statusText,headers:Object.fromEntries(F.headers.entries()),body:await F.json()};else{const N=await F.text();Be={status:F.status,statusText:F.statusText,headers:Object.fromEntries(F.headers.entries()),body:N}}fe.value=Be,a.response=Be,a.status=F.status,a.statusText=F.statusText}catch(n){const e=n instanceof Error?n.message:"Request failed";de.value=e,a.responseError=e}finally{re.value=!1,E.value.unshift(a)}},Ze=a=>{const n=["curl"];a.method!=="GET"&&n.push(`-X ${a.method}`);for(const[e,f]of Object.entries(a.headers||{})){const z=f.replace(/"/g,'\\"');n.push(`-H "${e}: ${z}"`)}if(["POST","PUT","PATCH"].includes(a.method)&&a.requestBody){const f=(typeof a.requestBody=="string"?a.requestBody:JSON.stringify(a.requestBody,null,2)).replace(/'/g,"'\\''").replace(/\n/g,"\\n");n.push(`-d '${f}'`)}return n.push(`"${a.url}"`),n.join(` \\
|
|
29
|
-
`)},jt=async a=>{const n=Ze(a);try{await navigator.clipboard.writeText(n)}catch(e){console.error("Failed to copy to clipboard:",e)}},Ye=a=>({GET:"#61affe",POST:"#49cc90",PUT:"#fca130",PATCH:"#50e3c2",DELETE:"#f93e3e"})[a]||"#999",et=C(()=>!L.value||!L.value.parameters?[]:L.value.parameters.map(m.resolveParameter).filter(a=>a!==null&&a.in==="path")),tt=C(()=>!L.value||!L.value.parameters?[]:L.value.parameters.map(m.resolveParameter).filter(a=>a!==null&&a.in==="query")),nt=C({get:()=>{if(!U.value.trim())return"{}";try{return U.value}catch{return"{}"}},set:a=>{U.value=a}}),Pe=C(()=>L.value?m.getExampleFromRequestBody(L.value):null),Ie=C(()=>L.value?m.getRequestBodySchema(L.value):null),st=C(()=>!Ie.value||!K.value?null:m.formatSchemaForDisplay(Ie.value,K.value)),Ot=a=>!a||!K.value?null:m.formatSchemaForDisplay(a,K.value),Ve=C(()=>L.value?m.getAllResponseExamples(L.value):[]),at=C(()=>L.value?m.getEndpointSchemaReferences(L.value):[]),Ee=C(()=>m.securitySchemes),ot=a=>m.endpointRequiresSecurity(a),lt=C(()=>L.value?m.getAvailableSecuritySchemes(L.value):[]),Et=C(()=>(L.value?lt.value:Ee.value).some(n=>n.scheme.type==="http"&&n.scheme.scheme==="bearer")),rt=C(()=>{const a=L.value?[...lt.value]:[...Ee.value];return Et.value&&H&&(a.some(e=>e.name===pe)||a.push({name:pe,scheme:{type:"http",scheme:"bearer",description:"Clerk Bearer Authentication"}})),a}),qt=C(()=>m.openApiTitle),it=C(()=>m.openApiDescription),ut=C(()=>m.openApiVersion),Ne=C(()=>g.hasSavedClerkKey),De=C(()=>g.isClerkKeyReadOnly),Bt=C(()=>g.clerkKeySource),ct=C(()=>{const a=Bt.value;return a==="config.json"?`Key loaded from ${Ht()}`:a==="env"?"Key loaded from environment variable":null}),At=C(()=>{if(!R.value)return"Anonymous";if(R.value===pe)return"Clerk Bearer";const a=Ee.value.find(n=>n.name===R.value);return a?a.name:"Anonymous"}),qe=a=>{a===null||R.value===a?R.value=null:R.value=a},Ue=C(()=>!$.value||!T.value?[]:E.value.filter(a=>a.path===$.value&&a.method===T.value)),Lt=()=>{!$.value||!T.value||(E.value=E.value.filter(a=>!(a.path===$.value&&a.method===T.value)))};return(a,n)=>(i(),d("div",fn,[s("header",hn,[s("div",yn,[s("div",mn,[s("div",gn,[s("h1",kn,k(qt.value),1),ut.value?(i(),d("div",_n,"v"+k(ut.value),1)):b("",!0)]),it.value?(i(),d("p",bn,k(it.value),1)):b("",!0)]),s("div",Sn,[s("a",{href:_(m).openApiSpecUrl,target:"_blank",rel:"noopener noreferrer",class:"openapi-spec-link",title:"View OpenAPI Spec JSON"},[D(_(yt),{size:20})],8,wn),s("a",Cn,[D(_(cn),{size:20})]),s("button",{onClick:n[0]||(n[0]=e=>v.value=!v.value),class:W(["auth-menu-toggle",{active:v.value,"has-selection":R.value}]),title:"Security Scheme"},[R.value?(i(),Z(_(ye),{key:1,size:16})):(i(),Z(_(Qe),{key:0,size:16})),s("span",null,k(R.value?At.value:"Security"),1)],2),_(H)?(i(),d("div",$n,[Y.value?(i(),d("div",xn,[D(_(Qt))])):(i(),Z(_(Jt),{key:0,mode:"modal"},{default:Kt(()=>[...n[15]||(n[15]=[s("button",{class:"sign-in-btn"},"Sign In",-1)])]),_:1}))])):b("",!0)])])]),v.value?(i(),d("aside",jn,[s("div",On,[n[16]||(n[16]=s("h2",null,"Security Scheme",-1)),s("button",{onClick:n[1]||(n[1]=e=>v.value=!1),class:"close-auth-menu",title:"Close"},[D(_(dn),{size:20})])]),s("div",En,[s("div",{class:W(["auth-scheme anonymous-option",{selected:R.value===null}]),onClick:n[2]||(n[2]=e=>qe(null))},[s("div",qn,[s("div",Bn,[D(_(Qe),{size:18}),n[17]||(n[17]=s("h3",null,"Anonymous",-1))]),n[18]||(n[18]=s("span",{class:"auth-scheme-type"},"NONE",-1))]),n[19]||(n[19]=s("div",{class:"auth-scheme-description"}," Make requests without authentication ",-1))],2),_(H)?(i(),d("div",{key:0,class:W(["auth-scheme clerk-bearer-option",{selected:R.value===pe}]),onClick:n[3]||(n[3]=e=>qe(pe))},[s("div",An,[s("div",Ln,[D(_(ye),{size:18}),n[20]||(n[20]=s("h3",null,"Clerk Bearer",-1))]),n[21]||(n[21]=s("span",{class:"auth-scheme-type"},"CLERK",-1))]),n[22]||(n[22]=s("div",{class:"auth-scheme-description"}," Use Clerk authentication token for bearer authentication ",-1))],2)):b("",!0),(i(!0),d(ue,null,ce(Ee.value,e=>(i(),d("div",{key:e.name,class:W(["auth-scheme",{selected:R.value===e.name}]),onClick:f=>qe(e.name)},[s("div",Rn,[s("div",zn,[D(_(ye),{size:18}),s("h3",null,k(e.name),1)]),s("span",Mn,k(e.scheme.type),1)]),e.scheme.description?(i(),d("div",Pn,k(e.scheme.description),1)):b("",!0),e.scheme.type==="apiKey"?(i(),d("div",{key:1,class:"auth-scheme-fields",onClick:n[4]||(n[4]=ve(()=>{},["stop"]))},[s("label",null,[s("span",null,k(e.scheme.name),1),s("span",In,"("+k(e.scheme.in)+")",1),s("input",{type:"text",value:h.value[e.name]?.value||"",onInput:f=>ke(e.name,"value",f.target.value),placeholder:`Enter ${e.scheme.name}`,class:"auth-input"},null,40,Vn)]),h.value[e.name]?.value?(i(),d("button",{key:0,onClick:f=>Se(e.name),class:"clear-credential-btn"}," Clear ",8,Nn)):b("",!0)])):e.scheme.type==="http"&&e.scheme.scheme==="basic"?(i(),d("div",{key:2,class:"auth-scheme-fields",onClick:n[5]||(n[5]=ve(()=>{},["stop"]))},[s("label",null,[n[23]||(n[23]=s("span",null,"Username",-1)),s("input",{type:"text",value:h.value[e.name]?.username||"",onInput:f=>ke(e.name,"username",f.target.value),placeholder:"Enter username",class:"auth-input"},null,40,Dn)]),s("label",null,[n[24]||(n[24]=s("span",null,"Password",-1)),s("input",{type:"text",value:h.value[e.name]?.password||"",onInput:f=>ke(e.name,"password",f.target.value),placeholder:"Enter password",class:"auth-input"},null,40,Un)]),h.value[e.name]?.username||h.value[e.name]?.password?(i(),d("button",{key:0,onClick:f=>Se(e.name),class:"clear-credential-btn"}," Clear ",8,Fn)):b("",!0)])):e.scheme.type==="http"&&e.scheme.scheme==="bearer"?(i(),d("div",{key:3,class:"auth-scheme-fields",onClick:n[6]||(n[6]=ve(()=>{},["stop"]))},[s("label",null,[n[25]||(n[25]=s("span",null,"Bearer Token",-1)),s("input",{type:"text",value:h.value[e.name]?.token||"",onInput:f=>ke(e.name,"token",f.target.value),placeholder:"Enter bearer token",class:"auth-input"},null,40,Hn)]),h.value[e.name]?.token?(i(),d("button",{key:0,onClick:f=>Se(e.name),class:"clear-credential-btn"}," Clear ",8,Kn)):b("",!0)])):e.scheme.type==="oauth2"?(i(),d("div",{key:4,class:"auth-scheme-fields",onClick:n[7]||(n[7]=ve(()=>{},["stop"]))},[s("label",null,[n[26]||(n[26]=s("span",null,"Access Token",-1)),s("input",{type:"text",value:h.value[e.name]?.accessToken||"",onInput:f=>ke(e.name,"accessToken",f.target.value),placeholder:"Enter OAuth2 access token",class:"auth-input"},null,40,Jn)]),h.value[e.name]?.accessToken?(i(),d("button",{key:0,onClick:f=>Se(e.name),class:"clear-credential-btn"}," Clear ",8,Qn)):b("",!0)])):e.scheme.type==="openIdConnect"?(i(),d("div",{key:5,class:"auth-scheme-fields",onClick:n[8]||(n[8]=ve(()=>{},["stop"]))},[s("label",null,[n[27]||(n[27]=s("span",null,"ID Token",-1)),s("input",{type:"text",value:h.value[e.name]?.idToken||"",onInput:f=>ke(e.name,"idToken",f.target.value),placeholder:"Enter OpenID Connect ID token",class:"auth-input"},null,40,Wn)]),h.value[e.name]?.idToken?(i(),d("button",{key:0,onClick:f=>Se(e.name),class:"clear-credential-btn"}," Clear ",8,Gn)):b("",!0)])):b("",!0)],10,Tn))),128)),s("div",Xn,[n[29]||(n[29]=s("div",{class:"clerk-key-header"},[s("h3",null,"Clerk Publishable Key")],-1)),s("div",Zn,[ct.value?(i(),d("span",Yn,k(ct.value),1)):(i(),d("span",es," Enter your Clerk publishable key to enable authentication. This will be stored locally in your browser. "))]),s("div",ts,[s("label",null,[n[28]||(n[28]=s("span",null,"Publishable Key",-1)),we(s("input",{"onUpdate:modelValue":n[9]||(n[9]=e=>_(g).clerkKey=e),type:"text",placeholder:"pk_test_...",class:"clerk-key-input",disabled:Ne.value||De.value},null,8,ns),[[Ke,_(g).clerkKey]])]),!Ne.value&&!De.value?(i(),d("button",{key:0,onClick:Ct,class:"save-button"}," Save and reload ")):Ne.value&&!De.value?(i(),d("button",{key:1,onClick:$t,class:"save-button"}," Clear and reload ")):b("",!0)])])])])):b("",!0),s("div",ss,[s("aside",{class:W(["endpoints-sidebar",{collapsed:P.value,resizing:w.value}]),style:xe({width:P.value?"60px":`${y.value}px`})},[s("div",as,[n[30]||(n[30]=s("h2",null,"Endpoints",-1)),s("button",{onClick:n[10]||(n[10]=e=>P.value=!P.value),class:"sidebar-toggle",title:P.value?"Expand sidebar":"Collapse sidebar"},[P.value?(i(),Z(_($e),{key:0,size:16})):(i(),Z(_(ht),{key:1,size:16}))],8,os)]),we(s("div",ls,[J.value?(i(),d("div",rs,"Loading OpenAPI spec...")):ee.value?(i(),d("div",is,k(ee.value),1)):(i(),d("div",us,[(i(!0),d(ue,null,ce(Te.value,e=>(i(),d("div",{key:e.name,class:"endpoint-group"},[s("div",{class:"group-header",onClick:f=>he(e.name)},[s("span",ds,k(e.name),1),s("span",ps,"("+k(e.endpoints.length)+")",1),s("span",vs,[u.value.has(e.name)?(i(),Z(_(Je),{key:0,size:14})):(i(),Z(_($e),{key:1,size:14}))])],8,cs),u.value.has(e.name)?(i(),d("div",fs,[(i(!0),d(ue,null,ce(e.endpoints,f=>(i(),d("div",{key:`${f.method}-${f.path}`,class:W(["endpoint-item",{active:$.value===f.path&&T.value===f.method}]),onClick:ve(z=>Me(f.path,f.method),["stop"])},[s("span",{class:"method-badge",style:xe({backgroundColor:Ye(f.method)})},k(f.method),5),s("span",ys,k(f.path),1),s("div",ms,[f.operation.summary?(i(),d("span",gs,k(f.operation.summary),1)):b("",!0),ot(f.operation)?(i(),Z(_(ye),{key:1,size:14,class:"security-indicator",title:"Requires authentication"})):b("",!0)])],10,hs))),128))])):b("",!0)]))),128))]))],512),[[dt,!P.value]])],6),P.value?b("",!0):(i(),d("div",{key:0,class:W(["resize-handle resize-handle-endpoints",{resizing:w.value}]),onMousedown:St},null,34)),L.value?(i(),d("div",ks,[s("main",_s,[s("div",bs,[s("div",Ss,[s("span",{class:"method-badge large",style:xe({backgroundColor:Ye(T.value||"")})},k(T.value),5),s("span",ws,k($.value),1),ot(L.value)?(i(),Z(_(ye),{key:0,size:18,class:"security-indicator-large",title:"Requires authentication"})):b("",!0)]),L.value.summary||L.value.description?(i(),d("div",Cs,[L.value.summary?(i(),d("p",$s,k(L.value.summary),1)):b("",!0),L.value.description?(i(),d("p",xs,k(L.value.description),1)):b("",!0)])):b("",!0)]),rt.value.length>0?(i(),d("div",js,[n[31]||(n[31]=s("h4",{class:"security-schemes-title"},"Security Schemes",-1)),s("div",Os,[(i(!0),d(ue,null,ce(rt.value,e=>(i(),d("div",{key:e.name,class:W(["security-scheme-card",{selected:R.value===e.name}]),onClick:f=>qe(e.name)},[D(_(ye),{size:12,class:"security-card-icon"}),s("span",qs,k(e.name===pe?"Clerk Bearer":e.name),1)],10,Es))),128))])])):b("",!0),s("div",Bs,[n[35]||(n[35]=s("h3",null,"Request",-1)),et.value.length>0?(i(),d("div",As,[n[32]||(n[32]=s("h4",null,"Path Parameters",-1)),s("dl",Ls,[(i(!0),d(ue,null,ce(et.value,e=>(i(),d("div",{key:e.name,class:"param-item"},[s("dt",null,[s("span",Ts,k(e.name),1),e.required?(i(),d("span",Rs,"*")):b("",!0),e.description?(i(),d("span",zs," - "+k(e.description),1)):b("",!0)]),s("dd",null,[we(s("input",{"onUpdate:modelValue":f=>X.value[e.name]=f,type:"text",placeholder:e.schema&&"default"in e.schema?String(e.schema.default):""},null,8,Ms),[[Ke,X.value[e.name]]])])]))),128))])])):b("",!0),tt.value.length>0?(i(),d("div",Ps,[n[33]||(n[33]=s("h4",null,"Query Parameters",-1)),s("dl",Is,[(i(!0),d(ue,null,ce(tt.value,e=>(i(),d("div",{key:e.name,class:"param-item"},[s("dt",null,[s("span",Vs,k(e.name),1),e.required?(i(),d("span",Ns,"*")):b("",!0),e.description?(i(),d("span",Ds," - "+k(e.description),1)):b("",!0)]),s("dd",null,[we(s("input",{"onUpdate:modelValue":f=>X.value[e.name]=f,type:"text",placeholder:e.schema&&"default"in e.schema?String(e.schema.default):""},null,8,Us),[[Ke,X.value[e.name]]])])]))),128))])])):b("",!0),L.value.requestBody?(i(),d("div",Fs,[n[34]||(n[34]=s("h4",null,"Request Body",-1)),s("div",Hs,[D(_(be),{text:nt.value,"onUpdate:text":n[11]||(n[11]=e=>nt.value=e),mode:"text",mainMenuBar:!1,navigationBar:!1,statusBar:!1,darkTheme:!0},null,8,["text"])])])):b("",!0),s("button",{onClick:xt,class:"send-button",disabled:re.value},[D(_(mt),{size:16,class:"send-button-icon"}),s("span",null,k(re.value?"Sending...":"Send Request"),1)],8,Ks)]),s("div",Js,[s("div",Qs,[n[36]||(n[36]=s("h3",null,"Request History",-1)),Ue.value.length>0?(i(),d("button",{key:0,onClick:Lt,class:"clear-history-btn"}," Clear History ")):b("",!0)]),!$.value||!T.value?(i(),d("div",Ws," Select an endpoint to view request history. ")):Ue.value.length===0?(i(),d("div",Gs,' No requests sent yet. Click "Send Request" to test the endpoint. ')):(i(),d("div",Xs,[(i(!0),d(ue,null,ce(Ue.value,e=>(i(),d("div",{key:e.id,class:"history-item"},[s("div",Zs,[s("div",Ys,[s("span",{class:W(["status-code",{success:e.status&&e.status>=200&&e.status<300,error:e.status&&e.status>=400,redirect:e.status&&e.status>=300&&e.status<400}])},k(e.status||"N/A"),3),s("span",ea,k(e.url),1)]),s("div",ta,[e.authScheme?(i(),d("span",na,[D(_(ye),{size:12}),pt(" "+k(e.authScheme===pe?"Clerk Bearer":e.authScheme),1)])):(i(),d("span",sa,[D(_(Qe),{size:12}),n[37]||(n[37]=pt(" Anonymous ",-1))])),s("span",aa,k(new Date(e.timestamp).toLocaleTimeString()),1)])]),s("div",oa,[s("div",{class:"curl-header",onClick:f=>te.value.has(e.id)?te.value.delete(e.id):te.value.add(e.id)},[s("div",ra,[te.value.has(e.id)?(i(),Z(_(Je),{key:0,size:16,class:"curl-toggle-icon"})):(i(),Z(_($e),{key:1,size:16,class:"curl-toggle-icon"})),n[38]||(n[38]=s("h5",null,"cURL Command",-1))]),s("button",{onClick:ve(f=>jt(e),["stop"]),class:"copy-curl-btn",title:"Copy cURL command"},[D(_(un),{size:16}),n[39]||(n[39]=s("span",null,"Copy",-1))],8,ia)],8,la),te.value.has(e.id)?(i(),d("div",ua,[s("pre",null,k(Ze(e)),1)])):b("",!0)]),e.requestBody?(i(),d("div",ca,[n[40]||(n[40]=s("h5",null,"Request Body",-1)),s("div",da,[D(_(be),{"model-value":e.requestBody,mode:"text",readOnly:!0,mainMenuBar:!1,navigationBar:!1,statusBar:!1,darkTheme:!0},null,8,["model-value"])])])):b("",!0),e.responseError?(i(),d("div",pa,[n[41]||(n[41]=s("h5",null,"Error",-1)),s("div",va,k(e.responseError),1)])):e.response?(i(),d("div",fa,[n[42]||(n[42]=s("h5",null,"Response",-1)),s("div",ha,[D(_(be),{"model-value":(()=>{if(typeof e.response.body=="string")try{return JSON.parse(e.response.body)}catch{return{text:e.response.body}}return e.response.body||{}})(),mode:"text",readOnly:!0,mainMenuBar:!1,navigationBar:!1,statusBar:!1,darkTheme:!0},null,8,["model-value"])])])):b("",!0)]))),128))]))]),s("footer",ya,[s("p",null,"© "+k(new Date().getFullYear())+" Gamja Labs",1)])]),Q.value?b("",!0):(i(),d("div",{key:0,class:W(["resize-handle resize-handle-examples",{resizing:q.value}]),onMousedown:wt},null,34)),s("aside",{class:W(["examples-sidebar",{collapsed:Q.value,resizing:q.value}]),style:xe({width:Q.value?"60px":`${o.value}px`})},[s("div",ma,[n[43]||(n[43]=s("h3",null,"Examples",-1)),s("button",{onClick:n[12]||(n[12]=e=>Q.value=!Q.value),class:"examples-toggle",title:Q.value?"Expand examples":"Collapse examples"},[Q.value?(i(),Z(_(ht),{key:0,size:16})):(i(),Z(_($e),{key:1,size:16}))],8,ga)]),we(s("div",ka,[Pe.value||Ie.value?(i(),d("div",_a,[s("div",ba,[s("h4",null,k(ae("request-body")?"Request Body Schema":"Example Request Body"),1),s("div",Sa,[s("button",{onClick:n[13]||(n[13]=e=>je("request-body")),class:W([{active:!ae("request-body")},"toggle-btn"])}," Example ",2),s("button",{onClick:n[14]||(n[14]=e=>je("request-body")),class:W([{active:ae("request-body")},"toggle-btn"])}," Schema ",2)])]),s("div",wa,[ae("request-body")&&st.value?(i(),d("div",Ca,[s("pre",$a,k(st.value),1)])):ae("request-body")?b("",!0):(i(),d("div",xa,[D(_(be),{"model-value":Pe.value,mode:"text",readOnly:!0,mainMenuBar:!1,navigationBar:!1,statusBar:!1,darkTheme:!0},null,8,["model-value"])]))])])):b("",!0),Ve.value.length>0?(i(),d("div",ja,[n[44]||(n[44]=s("h4",null,"Response Codes",-1)),s("div",Oa,[(i(!0),d(ue,null,ce(Ve.value,e=>(i(),d("div",{key:e.code,class:"response-code-item"},[s("div",{class:W(["response-code-header",{success:e.isSuccess,error:!e.isSuccess}])},[s("span",Ea,k(e.code),1),s("span",qa,k(e.description),1),s("div",Ba,[s("button",{onClick:f=>je(`response-${e.code}`),class:W([{active:!ae(`response-${e.code}`)},"toggle-btn small"])}," Example ",10,Aa),s("button",{onClick:f=>je(`response-${e.code}`),class:W([{active:ae(`response-${e.code}`)},"toggle-btn small"])}," Schema ",10,La)])],2),(ae(`response-${e.code}`)?e.schema:e.example)?(i(),d("div",Ta,[ae(`response-${e.code}`)&&e.schema?(i(),d("div",Ra,[s("pre",za,k(Ot(e.schema)),1)])):ae(`response-${e.code}`)?b("",!0):(i(),d("div",Ma,[D(_(be),{"model-value":e.example,mode:"text",readOnly:!0,mainMenuBar:!1,navigationBar:!1,statusBar:!1,darkTheme:!0},null,8,["model-value"])]))])):(i(),d("div",Pa," No "+k(ae(`response-${e.code}`)?"schema":"example")+" available ",1))]))),128))])])):b("",!0),!Pe.value&&Ve.value.length===0?(i(),d("div",Ia," No examples available for this endpoint. ")):b("",!0),at.value.length>0?(i(),d("div",Va,[n[45]||(n[45]=s("h4",null,"Referenced Schemas",-1)),s("div",Na,[(i(!0),d(ue,null,ce(at.value,e=>(i(),d("div",{key:e.name,class:"schema-reference-item"},[s("div",{class:"schema-reference-header",onClick:f=>Re(e.name)},[s("span",Ua,[p.value.has(e.name)?(i(),Z(_(Je),{key:0,size:14})):(i(),Z(_($e),{key:1,size:14}))]),s("span",Fa,k(e.name),1)],8,Da),p.value.has(e.name)?(i(),d("div",Ha,[s("div",Ka,[s("pre",Ja,k(_(m).formatSchemaForDisplay(e.schema,K.value)),1)])])):b("",!0)]))),128))])])):b("",!0)],512),[[dt,!Q.value]])],6)])):(i(),d("main",Qa,[s("div",Wa,[s("div",Ga,[s("div",Xa,[D(_(mt),{size:64})]),n[49]||(n[49]=s("h1",{class:"welcome-title"},"Welcome to OpenAPI Studio",-1)),n[50]||(n[50]=s("p",{class:"welcome-description"}," Select an endpoint from the sidebar to start testing your API endpoints. ",-1)),s("div",Za,[s("div",Ya,[D(_(yt),{size:20,class:"tip-icon"}),n[46]||(n[46]=s("span",null,"Browse available endpoints in the sidebar",-1))]),s("div",eo,[D(_(pn),{size:20,class:"tip-icon"}),n[47]||(n[47]=s("span",null,"Test requests with custom parameters",-1))]),s("div",to,[D(_(rn),{size:20,class:"tip-icon"}),n[48]||(n[48]=s("span",null,"View responses and schema documentation",-1))])])])]),s("footer",no,[s("p",null,"© "+k(new Date().getFullYear())+" Gamja Labs",1)])]))])]))}});export{ao as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.not-found-container[data-v-e14f8179]{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background-color:hsl(var(--background));background-image:linear-gradient(hsl(var(--border)/.3) 1px,transparent 1px),linear-gradient(90deg,hsl(var(--border)/.3) 1px,transparent 1px);background-size:50px 50px;background-position:0 0,0 0}.not-found-content[data-v-e14f8179]{text-align:center;max-width:600px}.error-code[data-v-e14f8179]{font-size:8rem;font-weight:900;line-height:1;color:hsl(var(--muted-foreground));margin-bottom:1rem}.error-title[data-v-e14f8179]{font-size:2rem;font-weight:700;margin-bottom:1rem;color:hsl(var(--foreground))}.error-description[data-v-e14f8179]{font-size:1.125rem;color:hsl(var(--muted-foreground));margin-bottom:2rem}.error-actions[data-v-e14f8179]{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.btn[data-v-e14f8179]{padding:.75rem 1.5rem;border-radius:.5rem;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid transparent}.btn-primary[data-v-e14f8179]{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.btn-primary[data-v-e14f8179]:hover{background-color:hsl(var(--primary)/.9)}.btn-outline[data-v-e14f8179]{background-color:transparent;color:hsl(var(--foreground));border-color:hsl(var(--border))}.btn-outline[data-v-e14f8179]:hover{background-color:hsl(var(--muted))}
|