@jsonschema-editor/vue 0.1.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.
package/dist/style.css ADDED
@@ -0,0 +1 @@
1
+ .jse-form,.jse-editor,.jse-field,.jse-group,.jse-layout{font-family:system-ui,-apple-system,sans-serif;color:#1f2937}.jse-field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}.jse-field__label{font-weight:600;font-size:.9rem}.jse-field__hint{display:block;font-weight:400;color:#6b7280;font-size:.8rem}.jse-field__input{padding:.5rem .65rem;border:1px solid #d1d5db;border-radius:.375rem;font:inherit}.jse-field__checkbox{width:1.1rem;height:1.1rem}.jse-group{border:1px solid #e5e7eb;border-radius:.5rem;padding:1rem;margin-bottom:1rem}.jse-layout{display:flex;flex-direction:column;gap:.75rem}.jse-layout--horizontal{flex-direction:row;flex-wrap:wrap}.jse-label{margin:0 0 .75rem;font-weight:600}.jse-editor{display:block}.jse-editor__panel{border:1px solid #e5e7eb;border-radius:.75rem;padding:1rem;background:#fff}.jse-editor__panel h2{margin:0 0 1rem;font-size:1.1rem}.jse-editor__property{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.jse-editor__json{display:flex;flex-direction:column;gap:.35rem;margin-top:1rem;font-weight:600;font-size:.85rem}.jse-editor__json textarea{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:400;font-size:.8rem;padding:.75rem;border:1px solid #d1d5db;border-radius:.375rem;resize:vertical}.jse-editor__output{margin-top:1rem;padding:.75rem;background:#f9fafb;border-radius:.375rem;font-size:.8rem;overflow:auto}.jse-editor__composition-actions{display:flex;gap:.5rem;flex-wrap:wrap}.jse-editor button:not(.jse-icon-btn){cursor:pointer;border:1px solid #d1d5db;background:#f9fafb;border-radius:.375rem;padding:.35rem .65rem}.jse-editor button:not(.jse-icon-btn):hover{background:#f3f4f6}.jse-attribute-control{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.75rem}.jse-attribute-control--boolean{flex-direction:row;align-items:center;gap:.5rem}.jse-tabs{display:flex;gap:.35rem;border-bottom:1px solid #e5e7eb;padding-bottom:.35rem}.jse-tabs-wrap{margin-bottom:.75rem}.jse-tabs__description{margin:.5rem 0 0;font-size:.82rem;color:#6b7280;line-height:1.45}.jse-tabs__tab{border:1px solid transparent;background:transparent;padding:.45rem .85rem;border-radius:.375rem .375rem 0 0;cursor:pointer;font:inherit;color:#6b7280}.jse-tabs__tab:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.jse-tabs__tab--active{background:#fff;border-color:#e5e7eb;border-bottom-color:#fff;color:#111827;font-weight:600;margin-bottom:-1px}.jse-categorization{margin-bottom:1rem}.jse-categorization__panel{padding-top:.25rem}.jse-category__title,.jse-step__title{margin:0 0 .75rem;font-size:.95rem;font-weight:600;color:#374151}.jse-stepper{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.jse-stepper__steps{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0}.jse-stepper__step-indicator{flex:1 1 8rem;min-width:0}.jse-stepper__step-button{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .65rem;border:1px solid #d1d5db;border-radius:.5rem;background:#fff;cursor:pointer;font:inherit;color:#6b7280;text-align:left}.jse-stepper__step-indicator--active .jse-stepper__step-button{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8;font-weight:600}.jse-stepper__step-indicator--done .jse-stepper__step-button{border-color:#86efac;background:#f0fdf4;color:#15803d}.jse-stepper__step-number{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:999px;background:#e5e7eb;font-size:.8rem;font-weight:700;flex-shrink:0}.jse-stepper__step-indicator--active .jse-stepper__step-number{background:#1d4ed8;color:#fff}.jse-stepper__step-indicator--done .jse-stepper__step-number{background:#16a34a;color:#fff}.jse-stepper__step-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jse-stepper__panel{border:1px solid #e5e7eb;border-radius:.5rem;padding:1rem;background:#fff}.jse-stepper__nav{display:flex;justify-content:space-between;gap:.5rem}.jse-editor__tab-panel{display:flex;flex-direction:column;gap:1rem}.jse-editor__panel--main{min-height:28rem}.jse-editor__banner{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:#eff6ff;border:1px solid #bfdbfe;border-radius:.375rem;font-size:.85rem}.jse-editor__advanced{margin-top:1rem;font-size:.85rem}.jse-editor__advanced summary{cursor:pointer;font-weight:600;color:#4b5563}.jse-structure-editor__tree{border:1px solid #e5e7eb;border-radius:.5rem;padding:.5rem;min-height:18rem;max-height:min(36rem,55vh);overflow:auto;background:#fafafa}.jse-structure-editor__status{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;margin-top:.65rem;padding:.45rem .65rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.375rem;font-size:.82rem}.jse-structure-editor__status-label{color:#6b7280}.jse-structure-editor__status-name{font-weight:600;color:#111827}.jse-structure-editor__toolbar{border:1px solid #e5e7eb;border-radius:.5rem;padding:.75rem;background:#fff}.jse-structure-editor__heading,.jse-attributes-panel__heading{margin:0 0 .65rem;font-size:.95rem}.jse-structure-editor__actions{margin-top:.75rem}.jse-structure-editor__hint{display:block;font-size:.8rem;color:#6b7280;margin-bottom:.35rem}.jse-structure-editor__hint--top{margin-bottom:.5rem}.jse-structure-editor__buttons{display:flex;flex-wrap:wrap;gap:.35rem}.jse-structure-editor__note{margin:.5rem 0 0;font-size:.8rem;color:#6b7280}.jse-attributes-panel{border:1px solid #e5e7eb;border-radius:.5rem;padding:.75rem;background:#fff}.jse-attributes-panel--inline{margin-top:.75rem;border:none;padding:0}.jse-tree-node__row{display:flex;align-items:center;gap:.35rem;padding:.3rem .35rem;border-radius:.25rem;cursor:pointer;font-size:.85rem}.jse-tree-node__row:hover{background:#f3f4f6}.jse-tree-node__row--selected{background:#dbeafe;outline:1px solid #93c5fd}.jse-tree-node__row:focus-visible{outline:2px solid #2563eb;outline-offset:-2px}.jse-tree-node__row--drag-over{background:#fef3c7}.jse-tree-node__actions{display:flex;gap:.2rem;margin-left:auto;flex-shrink:0;opacity:.72}.jse-tree-node__row:hover .jse-tree-node__actions,.jse-tree-node__row--selected .jse-tree-node__actions,.jse-tree-node__row:focus-within .jse-tree-node__actions{opacity:1}.jse-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;min-width:1.5rem;min-height:1.5rem;padding:0;border:1px solid #d1d5db;border-radius:.3rem;background:#fff;color:#374151;cursor:pointer;font-size:.95rem;line-height:1;flex-shrink:0}.jse-icon-btn:hover:not(:disabled){background:#f3f4f6}.jse-icon-btn:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.jse-icon-btn--primary{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8}.jse-icon-btn--danger{border-color:#fca5a5;background:#fef2f2;color:#b91c1c}.jse-icon-btn:disabled{opacity:.4;cursor:not-allowed}.jse-icon-btn__svg{display:block;width:.85rem;height:.85rem;flex-shrink:0}.jse-floating-panel{position:fixed;z-index:1000;display:flex;flex-direction:column;border:1px solid #cbd5e1;border-radius:.5rem;background:#fff;box-shadow:0 12px 32px #0f172a2e;overflow:hidden;min-width:260px;min-height:42px}.jse-floating-panel__header{display:flex;align-items:center;gap:.5rem;padding:.45rem .55rem;background:#f8fafc;border-bottom:1px solid #e2e8f0;cursor:grab;-webkit-user-select:none;user-select:none}.jse-floating-panel__header:active{cursor:grabbing}.jse-floating-panel__title{flex:1;font-size:.85rem;font-weight:600}.jse-floating-panel__controls{display:flex;gap:.25rem}.jse-floating-panel__control{width:1.4rem;height:1.4rem;border:1px solid #d1d5db;border-radius:.25rem;background:#fff;cursor:pointer;font-size:.85rem;line-height:1}.jse-floating-panel__body{flex:1;overflow:auto;padding:.75rem}.jse-floating-panel__resize{position:absolute;right:0;bottom:0;width:14px;height:14px;cursor:nwse-resize;background:linear-gradient(135deg,transparent 50%,#94a3b8 50%)}.jse-element-actions__target{margin:0 0 .75rem;font-size:.85rem}.jse-element-actions__kind{color:#6b7280;margin-left:.25rem}.jse-element-actions__section{margin-bottom:.75rem}.jse-element-actions__error{margin:.35rem 0 .5rem;font-size:.8rem;color:#b91c1c}.jse-tree-node__toggle{width:1.25rem;border:none;background:transparent;cursor:pointer;padding:0;font-size:.65rem}.jse-tree-node__spacer{display:inline-block;width:1.25rem}.jse-tree-node__kind{font-family:ui-monospace,monospace;font-size:.75rem;color:#7c3aed;background:#f3e8ff;padding:.1rem .35rem;border-radius:.25rem}.jse-tree-node__label{font-weight:600}.jse-tree-node__title,.jse-tree-node__meta{color:#6b7280;font-size:.78rem}.jse-btn{cursor:pointer;border:1px solid #d1d5db;background:#f9fafb;border-radius:.375rem;padding:.35rem .65rem;font:inherit;font-size:.82rem}.jse-btn:hover{background:#f3f4f6}.jse-btn:focus-visible,.jse-editor button:not(.jse-icon-btn):focus-visible{outline:2px solid #2563eb;outline-offset:2px}.jse-btn--danger{border-color:#fca5a5;background:#fef2f2;color:#b91c1c}.jse-btn--active{border-color:#2563eb;background:#dbeafe;color:#1d4ed8;font-weight:600}.jse-array-items-type__current{margin:0 0 .5rem;font-size:.85rem}.jse-array-items-type__current--empty{color:#6b7280}.jse-array-items-type__group{margin-bottom:.5rem}.jse-array-items-type code{font-size:.8rem}.jse-input,.jse-select,.jse-checkbox,.jse-textarea{padding:.45rem .6rem;border:1px solid #d1d5db;border-radius:.375rem;font:inherit}
package/package.json ADDED
@@ -0,0 +1,66 @@
1
+ {
2
+ "name": "@jsonschema-editor/vue",
3
+ "version": "0.1.0",
4
+ "description": "JSON-Schema Form-Editor und ausfüllbares Formular für Vue 3",
5
+ "type": "module",
6
+ "license": "MIT",
7
+ "author": "JSON Schema Editor Contributors",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "git+https://github.com/eumicro/jsonschema-editor.git",
11
+ "directory": "jsonschema-editor-vue"
12
+ },
13
+ "homepage": "https://github.com/eumicro/jsonschema-editor/tree/main/jsonschema-editor-vue#readme",
14
+ "bugs": "https://github.com/eumicro/jsonschema-editor/issues",
15
+ "keywords": [
16
+ "vue",
17
+ "vue3",
18
+ "json-schema",
19
+ "ui-schema",
20
+ "form-editor",
21
+ "form"
22
+ ],
23
+ "publishConfig": {
24
+ "access": "public"
25
+ },
26
+ "engines": {
27
+ "node": ">=20"
28
+ },
29
+ "main": "./dist/jsonschema-editor-vue.js",
30
+ "module": "./dist/jsonschema-editor-vue.js",
31
+ "types": "./dist/index.d.ts",
32
+ "exports": {
33
+ ".": {
34
+ "types": "./dist/index.d.ts",
35
+ "import": "./dist/jsonschema-editor-vue.js"
36
+ },
37
+ "./style.css": "./dist/style.css"
38
+ },
39
+ "files": [
40
+ "dist",
41
+ "README.md"
42
+ ],
43
+ "sideEffects": [
44
+ "**/*.css"
45
+ ],
46
+ "peerDependencies": {
47
+ "vue": "^3.5.0"
48
+ },
49
+ "dependencies": {
50
+ "@jsonschema-editor/json-schema": "0.1.0",
51
+ "@jsonschema-editor/ui-schema": "0.1.0"
52
+ },
53
+ "devDependencies": {
54
+ "@vitejs/plugin-vue": "^5.2.4",
55
+ "typescript": "^5.8.3",
56
+ "vite": "^6.3.5",
57
+ "vite-plugin-dts": "^4.5.4",
58
+ "vue": "^3.5.16",
59
+ "vue-tsc": "^2.2.10"
60
+ },
61
+ "scripts": {
62
+ "prebuild": "node --input-type=module -e \"import fs from 'node:fs'; fs.rmSync('dist',{recursive:true,force:true})\"",
63
+ "build": "vue-tsc -p tsconfig.json --noEmit && vite build",
64
+ "typecheck": "vue-tsc -p tsconfig.json --noEmit"
65
+ }
66
+ }