@servantcdh/ez-planet-labeling 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
+ .lc-workspace-8csim{display:grid;grid-template-rows:auto 1fr;grid-template-columns:1fr;width:100%;height:100%;overflow:hidden;font-family:var(--lc-font-family, system-ui, -apple-system, sans-serif);color:var(--lc-text, #1e293b);background:var(--lc-background, #fff)}.lc-workspace-8csim[data-layout=with-nav-left]{grid-template-columns:auto 1fr}.lc-workspace-8csim[data-layout=with-nav-bottom]{grid-template-rows:auto 1fr auto}.lc-mainSection-uZv5Q{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr;min-height:0;overflow:hidden}.lc-controls-VGubk{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;border-bottom:1px solid var(--lc-border, #e2e8f0);background:var(--lc-surface, #fff);gap:.5rem}.lc-controlsLeft-2Cdhh,.lc-controlsRight-sbdSx{display:flex;align-items:center;gap:.5rem}.lc-information-QSmIv{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#64748b}.lc-information-QSmIv em{padding-right:.25rem;font-style:normal;font-weight:600}.lc-colorPreview-ZYC0D{width:.875rem;aspect-ratio:1;border-radius:.125rem}.lc-zoomController-xFwx3 input{width:4rem;text-align:center}.lc-canvasArea-zoUW1{position:relative;overflow:hidden;background:#334155}.lc-canvasSection-aUKNP{position:relative;width:100%;height:100%;overflow:hidden;user-select:none;-webkit-user-select:none}.lc-canvasSection-aUKNP>*{position:absolute;top:50%;left:50%;display:flex;align-items:center;justify-content:center;transform:translate(-50%,-50%)}.lc-imagePanel-ghGQ6{position:relative;display:grid;place-items:center}.lc-imagePanel-ghGQ6 .canvas-container{position:absolute!important;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.lc-className-GhJTe{position:absolute;padding:.25rem;border-radius:.25rem;font-weight:500;font-size:.75rem;cursor:pointer;pointer-events:auto}.lc-sidePanel-3s3Nv{width:280px;border-left:1px solid var(--lc-border, #e2e8f0);background:var(--lc-surface, #fff);overflow-y:auto}.lc-contentWrapper-zIKFt{position:relative;display:flex;flex-direction:column;min-height:0;overflow:hidden;border:2px solid transparent}.lc-contentWrapper-zIKFt[data-classified=true]{border-radius:.5rem;border-color:var(--record-classification-color, var(--lc-primary, #3b82f6));box-shadow:inset 0 0 0 1px var(--record-classification-color, var(--lc-primary, #3b82f6))}.lc-classificationBadges-5MzaC{position:absolute;left:.75rem;top:.75rem;display:flex;align-items:center;gap:.5rem;z-index:10}.lc-classificationBadge-GoNEw{display:inline-flex;align-items:center;padding:.25rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:600;box-shadow:0 1px 2px #0000000d;border:1px solid rgb(255 255 255 / .4);background:var(--record-classification-color, var(--lc-primary, #3b82f6));color:#0f172a}.lc-floatingPanel-fP4dN{position:absolute;padding:.75rem;background:#fff;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;border-radius:.5rem}.lc-floatingPanelIssue-jC26g{right:.75rem;top:.75rem;width:24rem}.lc-floatingPanelBody-kRsu-{margin-top:1.5rem;max-height:60%}.lc-floatingPanelBody-kRsu->*+*{margin-top:1rem}.lc-floatingPanelFooter-uIZa4{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;margin-top:1.5rem}.lc-navigationWrapper-3oNp8{display:flex;flex-direction:column;background:var(--lc-surface, #fff);overflow:hidden}.lc-navigationWrapper-3oNp8[data-position=left]{width:280px;border-right:1px solid var(--lc-border, #e2e8f0);height:100%}.lc-navigationWrapper-3oNp8[data-position=bottom]{width:100%;height:240px;border-top:1px solid var(--lc-border, #e2e8f0)}.lc-navigationWrapper-3oNp8[data-hidden=true]{display:none}.lc-title-ozM0E{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;border-bottom:1px solid var(--lc-border, #e2e8f0)}.lc-title-ozM0E p{font-size:.875rem;font-weight:600;color:var(--lc-text, #1e293b)}.lc-titleUtil-V4RV4{display:flex;gap:.25rem}.lc-directionButton-GOUn-{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;border:none;border-radius:.25rem;background:transparent;color:var(--lc-text-secondary, #64748b);cursor:pointer}.lc-directionButton-GOUn-:hover{background:var(--lc-hover, #f1f5f9)}.lc-directionButton-GOUn-[data-active=true]{background:var(--lc-hover, #f1f5f9);color:var(--lc-primary, #3b82f6)}.lc-content-fBa8N{flex:1;overflow-y:auto;padding:.5rem}.lc-recordList-kWbe2{display:flex;flex-direction:column;gap:.125rem}.lc-recordItem-qutOX{display:flex;align-items:center;gap:.5rem;padding:.375rem .5rem;border:1px solid transparent;border-radius:.25rem;cursor:pointer;font-size:.8125rem;color:var(--lc-text, #1e293b);transition:background .1s}.lc-recordItem-qutOX:hover{background:var(--lc-hover, #f1f5f9)}.lc-recordItem-qutOX[data-active=true]{background:var(--lc-hover, #f1f5f9);border-color:var(--lc-primary, #3b82f6)}.lc-recordThumbnail-s2bPH{width:2rem;height:2rem;border-radius:.25rem;object-fit:cover;background:#e2e8f0;flex-shrink:0}.lc-recordTitle-BtPW7{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lc-recordStatus--HJxg{flex-shrink:0;width:.5rem;height:.5rem;border-radius:9999px}.lc-recordStatus--HJxg[data-status=unlabeled]{background:#cbd5e1}.lc-recordStatus--HJxg[data-status=labeled]{background:#3b82f6}.lc-recordStatus--HJxg[data-status=validated]{background:#22c55e}.lc-recordStatus--HJxg[data-status=issue]{background:#ef4444}.lc-childrenList-i9Ow3{padding-left:1.5rem}.lc-searchInput-RI4GW{width:100%;padding:.375rem .5rem;margin-bottom:.5rem;border:1px solid var(--lc-border, #e2e8f0);border-radius:.25rem;font-size:.8125rem;outline:none;background:var(--lc-surface, #fff);color:var(--lc-text, #1e293b)}.lc-searchInput-RI4GW:focus{border-color:var(--lc-primary, #3b82f6)}.lc-empty-olthD{display:flex;align-items:center;justify-content:center;height:4rem;color:var(--lc-text-secondary, #64748b);font-size:.8125rem}.lc-infoPanel-mqfKy{display:flex;flex-direction:column;height:100%;overflow:hidden}.lc-section-sMcXk{display:flex;flex-direction:column}.lc-section-sMcXk+.lc-section-sMcXk{border-top:1px solid var(--lc-border, #e2e8f0)}.lc-sectionTitle-XfGbz{display:flex;align-items:center;padding:.5rem .75rem;border-bottom:1px solid var(--lc-border, #e2e8f0)}.lc-sectionContent-xsoVh{padding:.5rem .75rem;overflow-y:auto}.lc-tabs-huI9o{display:flex;gap:0;font-size:.8125rem}.lc-tab-jbpRb{padding:.375rem .75rem;border:none;background:transparent;font-weight:500;color:var(--lc-text-secondary, #64748b);cursor:pointer;border-bottom:2px solid transparent;transition:color .15s,border-color .15s}.lc-tab-jbpRb:hover{color:var(--lc-text, #1e293b)}.lc-tab-jbpRb[data-active=true]{color:var(--lc-primary, #3b82f6);border-bottom-color:var(--lc-primary, #3b82f6)}.lc-tab-jbpRb:disabled{opacity:.4;cursor:not-allowed}.lc-classList-mtPXc{display:flex;flex-direction:column;gap:.25rem}.lc-classButton-Cdd6v{display:flex;align-items:center;gap:.5rem;width:100%;padding:.375rem .5rem;border:1px solid var(--lc-border, #e2e8f0);border-radius:.25rem;background:transparent;font-size:.8125rem;text-align:left;cursor:pointer;color:var(--lc-text, #1e293b);transition:background .1s,border-color .15s}.lc-classButton-Cdd6v:hover{background:var(--lc-hover, #f1f5f9)}.lc-classButton-Cdd6v[data-active=true]{background:var(--lc-hover, #f1f5f9);border-color:var(--lc-primary, #3b82f6)}.lc-classButton-Cdd6v:disabled{opacity:.5;cursor:not-allowed}.lc-classColorDot-Ravod{width:.875rem;height:.875rem;border-radius:.125rem;flex-shrink:0}.lc-className-yQWn-{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lc-classHotkey-deQqu{flex-shrink:0;width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center;border-radius:.25rem;background:var(--lc-hover, #f1f5f9);font-size:.6875rem;font-weight:600;color:var(--lc-text-secondary, #64748b)}.lc-labelList-iJvDs{display:flex;flex-direction:column;gap:.25rem}.lc-labelItem-ws-sn{display:flex;align-items:center;gap:.5rem;padding:.25rem;border:1px solid transparent;border-radius:.25rem;cursor:pointer;font-size:.8125rem}.lc-labelItem-ws-sn:hover{background:var(--lc-hover, #f1f5f9)}.lc-labelItem-ws-sn[data-selected=true]{background:var(--lc-hover, #f1f5f9);border-color:var(--lc-primary, #3b82f6)}.lc-labelItem-ws-sn p{font-size:.8125rem}.lc-indicator-6JWmk{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--lc-text-secondary, #64748b)}.lc-indicatorProgress-5iZVD{color:var(--lc-text, #1e293b);font-weight:500}.lc-actionsFooter-YBdQ2{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding:.75rem;border-top:1px solid var(--lc-border, #e2e8f0);margin-top:auto}.lc-automatedButton-cZ39h{width:100%;padding:.5rem;border:1px solid var(--lc-border, #e2e8f0);border-radius:.375rem;background:var(--lc-surface, #fff);font-size:.8125rem;cursor:pointer;color:var(--lc-text, #1e293b);transition:background .1s}.lc-automatedButton-cZ39h:hover{background:var(--lc-hover, #f1f5f9)}.lc-stickyWrapper-vurRe{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);height:fit-content;width:fit-content;z-index:50;pointer-events:none}.lc-stickyWrapper-vurRe[data-vertical-nav=true]{bottom:13rem}.lc-toolbarWrapper-YBEn0{display:flex;width:fit-content;gap:.25rem;padding:.5rem;background:#0f172a;border-radius:.75rem;box-shadow:0 4px 6px -1px #0000001a;user-select:none;-webkit-user-select:none;z-index:50;pointer-events:auto}.lc-divider-lifqe{width:1px;height:2rem;background:#334155}.lc-toolButton-G2Yss{position:relative;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:.375rem;background:transparent;color:#fff;cursor:pointer;transition:background .15s}.lc-toolButton-G2Yss:hover{background:#fff;color:#0f172a}.lc-toolButton-G2Yss:hover svg{fill:#0f172a}.lc-toolButton-G2Yss svg{width:1.25rem;height:1.25rem;fill:#fff}.lc-toolButton-G2Yss:disabled{opacity:.5;pointer-events:none}.lc-toolButton-G2Yss[data-active=true]{background:#fff;color:#0f172a}.lc-toolButton-G2Yss[data-active=true] svg{fill:#0f172a}.lc-toolButtonSlim-AHST8{width:1.25rem}.lc-toolButtonSlim-AHST8 svg{width:.75rem;height:.75rem}.lc-buttonWithSub-ZjS34{position:relative}.lc-subToolbar-c1-nf{position:absolute;bottom:3rem;right:0;height:fit-content;display:flex;flex-direction:column;gap:.25rem;padding:.5rem;background:#0f172a;border-radius:.75rem;box-shadow:0 4px 6px -1px #0000001a}.lc-toolButton-G2Yss[title]:after{content:attr(title);position:absolute;bottom:calc(100% + .5rem);left:50%;transform:translate(-50%);padding:.25rem .5rem;background:#1e293b;color:#fff;font-size:.75rem;white-space:nowrap;border-radius:.25rem;opacity:0;pointer-events:none;transition:opacity .15s}.lc-toolButton-G2Yss[title]:hover:after{opacity:1}.lc-issuePanel-Ji1Oq{display:flex;flex-direction:column;gap:.5rem}.lc-issuePanelTitle-MnKUa{display:flex;align-items:center;justify-content:space-between;font-size:.875rem;font-weight:600;color:var(--lc-text, #1e293b)}.lc-issueCount-xtlWy{font-size:.75rem;font-weight:500;padding:.125rem .5rem;border-radius:9999px;background:#fef2f2;color:#dc2626}.lc-issueItem-CL2Qq{display:flex;flex-direction:column;gap:.25rem;padding:.5rem;border:1px solid var(--lc-border, #e2e8f0);border-radius:.375rem;cursor:pointer;transition:background .1s,border-color .15s}.lc-issueItem-CL2Qq:hover{background:var(--lc-hover, #f1f5f9)}.lc-issueItem-CL2Qq[data-selected=true]{border-color:var(--lc-primary, #3b82f6);background:#eff6ff}.lc-issueItem-CL2Qq[data-result=pass]{border-left:3px solid #22c55e}.lc-issueItem-CL2Qq[data-result=fail]{border-left:3px solid #ef4444}.lc-issueHeader-YSNcb{display:flex;align-items:center;justify-content:space-between}.lc-issueLabel-K-Klr{font-size:.8125rem;font-weight:500;color:var(--lc-text, #1e293b)}.lc-issueBadge-oMlCN{font-size:.6875rem;font-weight:600;padding:.125rem .375rem;border-radius:.25rem}.lc-issueBadge-oMlCN[data-result=pass]{background:#dcfce7;color:#15803d}.lc-issueBadge-oMlCN[data-result=fail]{background:#fef2f2;color:#dc2626}.lc-issueReason-Pof-O{font-size:.75rem;color:var(--lc-text-secondary, #64748b);line-height:1.5}.lc-issueDate-PZH2G{font-size:.6875rem;color:#94a3b8}.lc-validationActions-qtvXO{display:flex;align-items:center;gap:.5rem;padding-top:.5rem;border-top:1px solid var(--lc-border, #e2e8f0)}.lc-validateButton-mhzNq{flex:1;padding:.375rem .75rem;border:1px solid transparent;border-radius:.375rem;font-size:.8125rem;font-weight:500;cursor:pointer;transition:background .15s}.lc-validateButton-mhzNq[data-variant=approve]{background:#22c55e;color:#fff}.lc-validateButton-mhzNq[data-variant=approve]:hover{background:#16a34a}.lc-validateButton-mhzNq[data-variant=reject]{background:#ef4444;color:#fff}.lc-validateButton-mhzNq[data-variant=reject]:hover{background:#dc2626}.lc-validateButton-mhzNq[data-variant=secondary]{background:transparent;border-color:var(--lc-border, #e2e8f0);color:var(--lc-text, #1e293b)}.lc-validateButton-mhzNq[data-variant=secondary]:hover{background:var(--lc-hover, #f1f5f9)}.lc-validateButton-mhzNq:disabled{opacity:.5;cursor:not-allowed}.lc-reasonInput-WGZ6m{width:100%;padding:.375rem .5rem;border:1px solid var(--lc-border, #e2e8f0);border-radius:.25rem;font-size:.8125rem;resize:vertical;min-height:3rem;outline:none;background:var(--lc-surface, #fff);color:var(--lc-text, #1e293b);font-family:inherit}.lc-reasonInput-WGZ6m:focus{border-color:var(--lc-primary, #3b82f6)}.lc-emptyState-4wJWu{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2rem 1rem;text-align:center;color:var(--lc-text-secondary, #64748b);font-size:.8125rem}
package/package.json ADDED
@@ -0,0 +1,52 @@
1
+ {
2
+ "name": "@servantcdh/ez-planet-labeling",
3
+ "version": "0.1.0",
4
+ "type": "module",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "files": [
8
+ "dist"
9
+ ],
10
+ "exports": {
11
+ ".": {
12
+ "import": "./dist/index.js",
13
+ "types": "./dist/index.d.ts"
14
+ }
15
+ },
16
+ "repository": {
17
+ "type": "git",
18
+ "url": "https://github.com/servantcdh/ez-planet.git",
19
+ "directory": "packages/labeling-canvas"
20
+ },
21
+ "publishConfig": {
22
+ "registry": "https://registry.npmjs.org",
23
+ "access": "public"
24
+ },
25
+ "license": "MIT",
26
+ "scripts": {
27
+ "build": "vite build",
28
+ "dev": "vite build --watch",
29
+ "typecheck": "tsc --noEmit"
30
+ },
31
+ "peerDependencies": {
32
+ "fabric": "^6.0.0",
33
+ "react": "^18.0.0",
34
+ "react-dom": "^18.0.0"
35
+ },
36
+ "dependencies": {
37
+ "@erase2d/fabric": "^1.2.0",
38
+ "zundo": "^2.1.0",
39
+ "zustand": "^5.0.0"
40
+ },
41
+ "devDependencies": {
42
+ "@types/react": "^18.3.0",
43
+ "@types/react-dom": "^18.3.0",
44
+ "@vitejs/plugin-react": "^4.3.0",
45
+ "fabric": "^6.5.0",
46
+ "react": "^18.3.0",
47
+ "react-dom": "^18.3.0",
48
+ "typescript": "^5.6.0",
49
+ "vite": "^5.4.0",
50
+ "vite-plugin-dts": "^4.0.0"
51
+ }
52
+ }