@zze/mock-server 0.5.0 → 0.6.0

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.
@@ -18,8 +18,8 @@
18
18
  color: #333;
19
19
  }
20
20
  </style>
21
- <script type="module" crossorigin src="/mock-admin/assets/index-DY4CS66u.js"></script>
22
- <link rel="stylesheet" crossorigin href="/mock-admin/assets/index-C5BZSa2z.css">
21
+ <script type="module" crossorigin src="/mock-admin/assets/index-D8nVOwBC.js"></script>
22
+ <link rel="stylesheet" crossorigin href="/mock-admin/assets/index-C2lhc6Pd.css">
23
23
  </head>
24
24
 
25
25
  <body>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zze/mock-server",
3
- "version": "0.5.0",
3
+ "version": "0.6.0",
4
4
  "description": "A reusable Node.js mock server for microfrontend development",
5
5
  "type": "commonjs",
6
6
  "main": "dist/index.js",
@@ -57,4 +57,4 @@
57
57
  "vite": "^7.3.1",
58
58
  "vitest": "^1.0.0"
59
59
  }
60
- }
60
+ }
@@ -1 +0,0 @@
1
- :root{--primary: #4f46e5;--primary-hover: #4338ca;--success: #10b981;--warning: #f59e0b;--error: #ef4444;--bg: #f5f5f5;--card-bg: #ffffff;--border: #e5e7eb;--text: #1f2937;--text-muted: #6b7280}*{box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:var(--bg);color:var(--text);margin:0;padding:0}.app{max-width:1200px;margin:0 auto;padding:20px}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border)}.header h1{font-size:24px;font-weight:600;color:var(--text)}.header-actions{display:flex;gap:12px}.btn{padding:8px 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-secondary{background:var(--card-bg);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg)}.btn-danger{background:var(--error);color:#fff}.btn-danger:hover{background:#dc2626}.btn-sm{padding:4px 10px;font-size:12px}.grid{display:grid;grid-template-columns:1fr 300px;gap:24px}.main-content{display:flex;flex-direction:column;gap:24px}.card{background:var(--card-bg);border-radius:8px;border:1px solid var(--border);overflow:hidden}.card-header{padding:16px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.card-header h2{font-size:16px;font-weight:600}.card-body{padding:16px}.endpoint-list{display:flex;flex-direction:column;gap:12px}.endpoint-item{border:1px solid var(--border);border-radius:6px;overflow:hidden}.endpoint-header{padding:12px 16px;background:var(--bg);display:flex;justify-content:space-between;align-items:center;cursor:pointer}.endpoint-header:hover{background:#e5e7eb}.endpoint-info{display:flex;align-items:center;gap:12px}.method-badge{padding:2px 8px;border-radius:4px;font-size:12px;font-weight:600;text-transform:uppercase}.method-GET{background:#dbeafe;color:#1d4ed8}.method-POST{background:#dcfce7;color:#16a34a}.method-PUT{background:#fef3c7;color:#d97706}.method-DELETE{background:#fee2e2;color:#dc2626}.method-PATCH{background:#f3e8ff;color:#9333ea}.endpoint-path{font-family:SF Mono,Monaco,monospace;font-size:13px}.endpoint-id{font-size:12px;color:var(--text-muted)}.scenarios-list{padding:12px 16px;border-top:1px solid var(--border)}.scenario-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border)}.scenario-item:last-child{border-bottom:none}.scenario-info{display:flex;align-items:center;gap:8px}.scenario-name{font-size:14px}.badge{padding:2px 6px;border-radius:4px;font-size:10px;font-weight:600;text-transform:uppercase}.badge-default{background:#dbeafe;color:#1d4ed8}.badge-active{background:#dcfce7;color:#16a34a}.sidebar{display:flex;flex-direction:column;gap:24px}.state-panel .state-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border)}.state-panel .state-item:last-child{border-bottom:none}.state-label{font-size:13px;color:var(--text-muted)}.state-value{font-size:13px;font-weight:500}.flow-list{display:flex;flex-direction:column;gap:8px}.flow-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:all .15s ease}.flow-item:hover{border-color:var(--primary)}.flow-item.active{border-color:var(--success);background:#f0fdf4}.flow-name{font-size:14px;font-weight:500}.flow-description{font-size:12px;color:var(--text-muted);margin-top:2px}.flows-card{display:flex;flex-direction:column;max-height:600px}.flows-body{flex:1;overflow-y:auto;min-height:0}.active-flow-banner{padding:8px 12px;background:#f0fdf4;border-bottom:1px solid #bbf7d0;display:flex;align-items:center;gap:8px;font-size:13px}.active-flow-label{color:var(--success);font-weight:600}.active-flow-name{font-weight:500}.active-flow-category{color:var(--text-muted)}.flows-search{padding:8px 12px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px;position:relative}.flows-search-input{flex:1;padding:6px 28px 6px 10px;border:1px solid var(--border);border-radius:4px;font-size:13px}.flows-search-input:focus{outline:none;border-color:var(--primary)}.flows-search-clear{position:absolute;right:20px;background:none;border:none;font-size:18px;color:var(--text-muted);cursor:pointer;padding:0 4px;line-height:1}.flows-search-clear:hover{color:var(--text)}.flow-groups{display:flex;flex-direction:column}.flow-group{border-bottom:1px solid var(--border)}.flow-group:last-child{border-bottom:none}.flow-group-header{display:flex;align-items:center;gap:8px;padding:10px 12px;cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--bg-primary);transition:background .15s ease}.flow-group-header:hover{background:var(--bg-secondary)}.flow-group-header.has-active{background:#f0fdf4}.flow-group-toggle{font-size:10px;color:var(--text-muted);width:12px}.flow-group-name{flex:1;font-weight:600;font-size:13px}.flow-group-count{background:var(--bg-secondary);color:var(--text-muted);font-size:11px;padding:2px 6px;border-radius:10px;font-weight:500}.flow-group-items{display:flex;flex-direction:column;gap:4px;padding:8px 12px;background:var(--bg-secondary)}.flow-group-items .flow-item{background:var(--bg-primary);padding:8px 10px}.flow-item-content{flex:1;min-width:0}.flow-meta{display:flex;gap:8px;margin-top:4px}.flow-endpoints{font-size:11px;color:var(--text-muted)}.loading{display:flex;justify-content:center;align-items:center;padding:40px;color:var(--text-muted)}.error{padding:16px;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:var(--error)}.empty{padding:24px;text-align:center;color:var(--text-muted)}@media(max-width:900px){.grid{grid-template-columns:1fr}.sidebar{order:-1}}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-success{background:var(--success);color:#fff}.btn-success:hover:not(:disabled){background:#059669}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.modal{background:var(--card-bg);border-radius:12px;box-shadow:0 20px 40px #0003;width:100%;max-width:700px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.modal-header{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.modal-header h2{font-size:18px;font-weight:600;margin:0}.modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:var(--text-muted);padding:0;line-height:1}.modal-close:hover{color:var(--text)}.modal-body{padding:20px;overflow-y:auto;flex:1}.modal-footer{padding:16px 20px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:12px}.modal-error{margin-top:12px;padding:10px 12px;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:var(--error);font-size:13px}.endpoint-actions{display:flex;gap:6px;margin-left:auto}.btn-icon{padding:4px 8px;font-size:12px;background:transparent;border:1px solid var(--border);border-radius:4px;cursor:pointer;color:var(--text-muted)}.btn-icon:hover{background:var(--bg);color:var(--text)}.btn-icon.btn-danger{border-color:transparent}.btn-icon.btn-danger:hover{background:#fef2f2;color:var(--error);border-color:#fecaca}.confirm-dialog{text-align:center}.confirm-dialog p{margin:0 0 20px;font-size:15px;color:var(--text)}.confirm-dialog .btn-group{display:flex;justify-content:center;gap:12px}.flow-item.has-actions{cursor:default}.flow-item.has-actions .flow-item-content{cursor:pointer}.flow-item-actions{display:flex;align-items:center;gap:8px}.flow-action-buttons{display:flex;gap:4px;opacity:0;transition:opacity .15s ease}.flow-item:hover .flow-action-buttons{opacity:1}.btn-danger-icon:hover{color:var(--error)}.card-header-actions{display:flex;gap:8px}.modal-large{max-width:900px}.flow-editor-modal .modal-body{display:flex;flex-direction:column;gap:20px}.flow-editor-fields{display:flex;flex-direction:column;gap:16px}.form-row{display:flex;gap:16px}.form-group{flex:1;display:flex;flex-direction:column;gap:6px}.form-group-wide{flex:2}.form-group label{font-size:13px;font-weight:500;color:var(--text)}.form-group input{width:100%;padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;transition:border-color .15s ease;box-sizing:border-box}.form-group input:focus{outline:none;border-color:var(--primary)}.form-group input.disabled{background:var(--bg-secondary);color:var(--text-muted);cursor:not-allowed}.form-hint{font-size:11px;color:var(--text-muted)}.required{color:var(--error)}.category-input,.category-input-wrapper{position:relative}.category-input-wrapper input{width:100%}.category-suggestions{position:absolute;top:100%;left:0;right:0;background:var(--card-bg);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 12px #0000001a;z-index:10;max-height:150px;overflow-y:auto;margin-top:4px}.category-suggestion{display:block;width:100%;text-align:left;padding:8px 12px;background:none;border:none;font-size:13px;cursor:pointer}.category-suggestion:hover{background:var(--bg-secondary)}.flow-editor-picker{border-top:1px solid var(--border);padding-top:20px}.flow-editor-picker h4{margin:0 0 4px;font-size:15px;font-weight:600}.picker-description{font-size:13px;color:var(--text-muted);margin:0 0 12px}.endpoint-scenario-picker{border:1px solid var(--border);border-radius:8px;overflow:hidden}.picker-header{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.picker-stats{font-size:13px;color:var(--text-muted)}.picker-actions{display:flex;gap:8px}.picker-search{padding:8px 12px;border-bottom:1px solid var(--border);position:relative}.picker-search-input{width:100%;padding:6px 28px 6px 10px;border:1px solid var(--border);border-radius:4px;font-size:13px}.picker-search-input:focus{outline:none;border-color:var(--primary)}.picker-search-clear{position:absolute;right:20px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:18px;color:var(--text-muted);cursor:pointer;padding:0 4px;line-height:1}.picker-list{max-height:300px;overflow-y:auto}.picker-empty{padding:24px;text-align:center;color:var(--text-muted)}.picker-endpoint{border-bottom:1px solid var(--border)}.picker-endpoint:last-child{border-bottom:none}.picker-endpoint.has-selection{background:#f0fdf4}.picker-endpoint-header{display:flex;align-items:center;gap:8px;padding:10px 12px;cursor:pointer;-webkit-user-select:none;user-select:none}.picker-endpoint-header:hover{background:var(--bg-secondary)}.picker-toggle{font-size:10px;color:var(--text-muted);width:12px}.picker-endpoint-path{font-family:SF Mono,Monaco,monospace;font-size:13px;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker-selected-badge{font-size:11px;padding:2px 6px;background:var(--success);color:#fff;border-radius:4px}.picker-scenarios{padding:8px 12px 8px 32px;background:var(--bg-secondary);display:flex;flex-direction:column;gap:6px}.picker-scenario{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--card-bg);border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:all .15s ease}.picker-scenario:hover{border-color:var(--primary)}.picker-scenario.selected{border-color:var(--success);background:#f0fdf4}.picker-scenario input[type=radio]{margin:0}.picker-scenario-name{font-size:13px;font-weight:500}.picker-scenario-id{font-size:11px;color:var(--text-muted);font-family:SF Mono,Monaco,monospace}.picker-scenario-default{font-size:10px;padding:1px 4px;background:var(--primary);color:#fff;border-radius:3px;margin-left:auto}.picker-remove{padding:4px 8px;color:var(--text-muted);font-size:12px}.btn-link{background:none;border:none;color:var(--primary);cursor:pointer;text-decoration:none}.btn-link:hover{text-decoration:underline}