diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 8ae9b6af..c584fcc4 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -19,7 +19,10 @@ "@angular/platform-browser-dynamic": "^21.2.17", "@angular/router": "^21.2.17", "@ng-util/monaco-editor": "^18.0.0", - "@primeuix/themes": "^1.2.3", + "@openng/icons": "^1.0.0", + "@openng/optimus-ui": "^1.0.2", + "@openng/optimus-ui-tailwindcss": "^1.0.2", + "@openng/optimus-ui-themes": "^1.0.2", "@tailwindcss/language-server": "^0.14.26", "@tailwindcss/postcss": "^4.1.18", "d3": "^7.9.0", @@ -28,11 +31,8 @@ "ngx-vflow": "^2.6.0", "postcss": "^8.5.6", "pretty-print-json": "^3.0.6", - "primeicons": "^7.0.0", - "primeng": "^21.1.9", "rxjs": "~7.8.0", "tailwindcss": "^4.1.18", - "tailwindcss-primeui": "^0.6.1", "tslib": "^2.3.0", "zone.js": "~0.15.0" }, @@ -343,6 +343,38 @@ } } }, + "node_modules/@angular-devkit/architect/node_modules/chokidar": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz", + "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "readdirp": "^5.0.0" + }, + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@angular-devkit/architect/node_modules/readdirp": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.1.1.tgz", + "integrity": "sha512-Kko+Y5XQ6fM+Ce3dq3m9YGxnacYZYl9cA1wZjaF3Vbry2L3i1qVg8+CAgNPsXRArPMUMCaOR7oa9Nqntc43JKA==", + "dev": true, + "optional": true, + "peer": true, + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/@angular-devkit/schematics": { "version": "21.2.17", "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-21.2.17.tgz", @@ -390,6 +422,38 @@ } } }, + "node_modules/@angular-devkit/schematics/node_modules/chokidar": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz", + "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "readdirp": "^5.0.0" + }, + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@angular-devkit/schematics/node_modules/readdirp": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.1.1.tgz", + "integrity": "sha512-Kko+Y5XQ6fM+Ce3dq3m9YGxnacYZYl9cA1wZjaF3Vbry2L3i1qVg8+CAgNPsXRArPMUMCaOR7oa9Nqntc43JKA==", + "dev": true, + "optional": true, + "peer": true, + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/@angular-eslint/builder": { "version": "21.4.0", "resolved": "https://registry.npmjs.org/@angular-eslint/builder/-/builder-21.4.0.tgz", @@ -434,6 +498,38 @@ } } }, + "node_modules/@angular-eslint/builder/node_modules/chokidar": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz", + "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "readdirp": "^5.0.0" + }, + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@angular-eslint/builder/node_modules/readdirp": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.1.1.tgz", + "integrity": "sha512-Kko+Y5XQ6fM+Ce3dq3m9YGxnacYZYl9cA1wZjaF3Vbry2L3i1qVg8+CAgNPsXRArPMUMCaOR7oa9Nqntc43JKA==", + "dev": true, + "optional": true, + "peer": true, + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/@angular-eslint/bundled-angular-compiler": { "version": "21.4.0", "resolved": "https://registry.npmjs.org/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-21.4.0.tgz", @@ -525,6 +621,38 @@ } } }, + "node_modules/@angular-eslint/schematics/node_modules/chokidar": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz", + "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "readdirp": "^5.0.0" + }, + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@angular-eslint/schematics/node_modules/readdirp": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.1.1.tgz", + "integrity": "sha512-Kko+Y5XQ6fM+Ce3dq3m9YGxnacYZYl9cA1wZjaF3Vbry2L3i1qVg8+CAgNPsXRArPMUMCaOR7oa9Nqntc43JKA==", + "dev": true, + "optional": true, + "peer": true, + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/@angular-eslint/template-parser": { "version": "21.4.0", "resolved": "https://registry.npmjs.org/@angular-eslint/template-parser/-/template-parser-21.4.0.tgz", @@ -817,6 +945,38 @@ } } }, + "node_modules/@angular/cli/node_modules/chokidar": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz", + "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "readdirp": "^5.0.0" + }, + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@angular/cli/node_modules/readdirp": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.1.1.tgz", + "integrity": "sha512-Kko+Y5XQ6fM+Ce3dq3m9YGxnacYZYl9cA1wZjaF3Vbry2L3i1qVg8+CAgNPsXRArPMUMCaOR7oa9Nqntc43JKA==", + "dev": true, + "optional": true, + "peer": true, + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/@angular/common": { "version": "21.2.17", "resolved": "https://registry.npmjs.org/@angular/common/-/common-21.2.17.tgz", @@ -2902,9 +3062,6 @@ "arm64" ], "dev": true, - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -2922,9 +3079,6 @@ "arm64" ], "dev": true, - "libc": [ - "musl" - ], "license": "MIT", "optional": true, "os": [ @@ -2942,9 +3096,6 @@ "ppc64" ], "dev": true, - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -2962,9 +3113,6 @@ "riscv64" ], "dev": true, - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -2982,9 +3130,6 @@ "s390x" ], "dev": true, - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -3002,9 +3147,6 @@ "x64" ], "dev": true, - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -3022,9 +3164,6 @@ "x64" ], "dev": true, - "libc": [ - "musl" - ], "license": "MIT", "optional": true, "os": [ @@ -3432,6 +3571,86 @@ "node": "^20.17.0 || >=22.9.0" } }, + "node_modules/@openng/icons": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@openng/icons/-/icons-1.0.0.tgz", + "integrity": "sha512-BdTSHu74S3WRfbmfoT2WfmvaM3Ei32K3WiZBJTw7nVTlCvQbpCNsBqzrD5rAe4nb5IoTPjeuRb5WTG2gzrTQtw==" + }, + "node_modules/@openng/optimus-ui": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@openng/optimus-ui/-/optimus-ui-1.0.2.tgz", + "integrity": "sha512-dEYxyaB3fyrIf3yE1PlWOM6Bh5G+ALbvhqd+mDXo0+H4nmys47fbZqdG/+R79utQOX1L5xqx6KPRE7EfgDNEFQ==", + "dependencies": { + "@openng/optimus-ui-motion": "1.0.2", + "@openng/optimus-ui-styled": "1.0.2", + "@openng/optimus-ui-styles": "1.0.2", + "@openng/optimus-ui-utils": "1.0.2", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@angular/cdk": "^21.0.0", + "@angular/common": "^21.0.0", + "@angular/core": "^21.0.0", + "@angular/forms": "^21.0.0", + "@angular/platform-browser": "^21.0.0", + "@angular/router": "^21.0.0", + "rxjs": "^6.0.0 || ^7.8.1" + } + }, + "node_modules/@openng/optimus-ui-motion": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@openng/optimus-ui-motion/-/optimus-ui-motion-1.0.2.tgz", + "integrity": "sha512-9GhUqCneZRNhXTIeDwvEcaear8xh+8Tx6eO8p2CyvEWwCH6HNd31R/uKFXNbuk4yn3IQiSr8Lr7saFCvyjy4+g==", + "dependencies": { + "@openng/optimus-ui-utils": "1.0.2" + }, + "engines": { + "node": ">=12.11.0" + } + }, + "node_modules/@openng/optimus-ui-styled": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@openng/optimus-ui-styled/-/optimus-ui-styled-1.0.2.tgz", + "integrity": "sha512-8CUDZDNX9QEbG/5oI9wogb2yF4pE6bYp5KGjbNe2DfmTksPY2WVP06Km0ePZy4XYKbFXt4C4l2JErtQvuaHPtA==", + "dependencies": { + "@openng/optimus-ui-utils": "1.0.2" + }, + "engines": { + "node": ">=12.11.0" + } + }, + "node_modules/@openng/optimus-ui-styles": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@openng/optimus-ui-styles/-/optimus-ui-styles-1.0.2.tgz", + "integrity": "sha512-5bBMT1bu8mLirQOXOKaDgFrQ9GWV75Nt1t8XHK8ypWm2aZQNonLuPNqzZRn2SJlSJfhDukMj2bkYJ9+swUoWag==", + "dependencies": { + "@openng/optimus-ui-styled": "1.0.2" + } + }, + "node_modules/@openng/optimus-ui-tailwindcss": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@openng/optimus-ui-tailwindcss/-/optimus-ui-tailwindcss-1.0.2.tgz", + "integrity": "sha512-VdntmSAn7iA8DGF1ohfGut0pDve8isijDgL0OTZH4POHCr6oa6uHmwGO6i2xwysGVrwyMVB1QpgMgFMY9jkJqA==", + "peerDependencies": { + "tailwindcss": ">=3.1.0" + } + }, + "node_modules/@openng/optimus-ui-themes": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@openng/optimus-ui-themes/-/optimus-ui-themes-1.0.2.tgz", + "integrity": "sha512-fvWNqtLYE6cCOY15P+8xCq1oyYmsqKg+yLbLNwFmPwIdgQpJq6cRbP263hTrLECXbYvfucjOhT8U52EteZCUSQ==", + "dependencies": { + "@openng/optimus-ui-styled": "1.0.2" + } + }, + "node_modules/@openng/optimus-ui-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@openng/optimus-ui-utils/-/optimus-ui-utils-1.0.2.tgz", + "integrity": "sha512-5mSuNIxuCdnR4eE1wtdKX6Dv50qSVdrWCucTig71CqGFg36zDHclgwZwoGFToSkIw1Mm1u2qe59doCoLR75JWA==", + "engines": { + "node": ">=12.11.0" + } + }, "node_modules/@oxc-project/types": { "version": "0.113.0", "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.113.0.tgz", @@ -3571,9 +3790,6 @@ "arm" ], "dev": true, - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -3595,9 +3811,6 @@ "arm" ], "dev": true, - "libc": [ - "musl" - ], "license": "MIT", "optional": true, "os": [ @@ -3619,9 +3832,6 @@ "arm64" ], "dev": true, - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -3643,9 +3853,6 @@ "arm64" ], "dev": true, - "libc": [ - "musl" - ], "license": "MIT", "optional": true, "os": [ @@ -3667,9 +3874,6 @@ "x64" ], "dev": true, - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -3691,9 +3895,6 @@ "x64" ], "dev": true, - "libc": [ - "musl" - ], "license": "MIT", "optional": true, "os": [ @@ -3778,57 +3979,6 @@ "license": "MIT", "optional": true }, - "node_modules/@primeuix/motion": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/@primeuix/motion/-/motion-0.0.10.tgz", - "integrity": "sha512-PsZwOPq79Scp7/ionshRcQ5xKVf9+zuLcyY5mf6onK8chHT5C9JGphmcIZ4CzcqxuGEpsm8AIbTGy+zS3RtzLA==", - "license": "MIT", - "dependencies": { - "@primeuix/utils": "^0.6.3" - }, - "engines": { - "node": ">=12.11.0" - } - }, - "node_modules/@primeuix/styled": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/@primeuix/styled/-/styled-0.7.4.tgz", - "integrity": "sha512-QSO/NpOQg8e9BONWRBx9y8VGMCMYz0J/uKfNJEya/RGEu7ARx0oYW0ugI1N3/KB1AAvyGxzKBzGImbwg0KUiOQ==", - "license": "MIT", - "dependencies": { - "@primeuix/utils": "^0.6.1" - }, - "engines": { - "node": ">=12.11.0" - } - }, - "node_modules/@primeuix/styles": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@primeuix/styles/-/styles-2.0.3.tgz", - "integrity": "sha512-2ykAB6BaHzR/6TwF8ShpJTsZrid6cVIEBVlookSdvOdmlWuevGu5vWOScgIwqWwlZcvkFYAGR/SUV3OHCTBMdw==", - "license": "MIT", - "dependencies": { - "@primeuix/styled": "^0.7.4" - } - }, - "node_modules/@primeuix/themes": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/@primeuix/themes/-/themes-1.2.5.tgz", - "integrity": "sha512-n3YkwJrHQaEESc/D/A/iD815sxp8cKnmzscA6a8Tm8YvMtYU32eCahwLLe6h5rywghVwxASWuG36XBgISYOIjQ==", - "license": "MIT", - "dependencies": { - "@primeuix/styled": "^0.7.3" - } - }, - "node_modules/@primeuix/utils": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@primeuix/utils/-/utils-0.6.4.tgz", - "integrity": "sha512-pZ5f+vj7wSzRhC7KoEQRU5fvYAe+RP9+m39CTscZ3UywCD1Y2o6Fe1rRgklMPSkzUcty2jzkA0zMYkiJBD1hgg==", - "license": "MIT", - "engines": { - "node": ">=12.11.0" - } - }, "node_modules/@rolldown/binding-android-arm64": { "version": "1.0.0-rc.4", "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-rc.4.tgz", @@ -3922,9 +4072,6 @@ "arm64" ], "dev": true, - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -3942,9 +4089,6 @@ "arm64" ], "dev": true, - "libc": [ - "musl" - ], "license": "MIT", "optional": true, "os": [ @@ -3962,9 +4106,6 @@ "x64" ], "dev": true, - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -3982,9 +4123,6 @@ "x64" ], "dev": true, - "libc": [ - "musl" - ], "license": "MIT", "optional": true, "os": [ @@ -4161,9 +4299,6 @@ "arm" ], "dev": true, - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -4178,9 +4313,6 @@ "arm" ], "dev": true, - "libc": [ - "musl" - ], "license": "MIT", "optional": true, "os": [ @@ -4195,9 +4327,6 @@ "arm64" ], "dev": true, - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -4212,9 +4341,6 @@ "arm64" ], "dev": true, - "libc": [ - "musl" - ], "license": "MIT", "optional": true, "os": [ @@ -4229,9 +4355,6 @@ "loong64" ], "dev": true, - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -4246,9 +4369,6 @@ "loong64" ], "dev": true, - "libc": [ - "musl" - ], "license": "MIT", "optional": true, "os": [ @@ -4263,9 +4383,6 @@ "ppc64" ], "dev": true, - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -4280,9 +4397,6 @@ "ppc64" ], "dev": true, - "libc": [ - "musl" - ], "license": "MIT", "optional": true, "os": [ @@ -4297,9 +4411,6 @@ "riscv64" ], "dev": true, - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -4314,9 +4425,6 @@ "riscv64" ], "dev": true, - "libc": [ - "musl" - ], "license": "MIT", "optional": true, "os": [ @@ -4331,9 +4439,6 @@ "s390x" ], "dev": true, - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -4348,9 +4453,6 @@ "x64" ], "dev": true, - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -4365,9 +4467,6 @@ "x64" ], "dev": true, - "libc": [ - "musl" - ], "license": "MIT", "optional": true, "os": [ @@ -4503,6 +4602,38 @@ } } }, + "node_modules/@schematics/angular/node_modules/chokidar": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz", + "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "readdirp": "^5.0.0" + }, + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@schematics/angular/node_modules/readdirp": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.1.1.tgz", + "integrity": "sha512-Kko+Y5XQ6fM+Ce3dq3m9YGxnacYZYl9cA1wZjaF3Vbry2L3i1qVg8+CAgNPsXRArPMUMCaOR7oa9Nqntc43JKA==", + "dev": true, + "optional": true, + "peer": true, + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/@sigstore/bundle": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-4.0.0.tgz", @@ -11360,43 +11491,6 @@ "integrity": "sha512-wboR7e5Vqim2giCXJouicwrfB/+whrJuVByBB2/ItHOmEgIEkqKfRiqLR9Rr297cJjplfAyEjwxJ2DJmiPk1yA==", "license": "MIT" }, - "node_modules/primeicons": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/primeicons/-/primeicons-7.0.0.tgz", - "integrity": "sha512-jK3Et9UzwzTsd6tzl2RmwrVY/b8raJ3QZLzoDACj+oTJ0oX7L9Hy+XnVwgo4QVKlKpnP/Ur13SXV/pVh4LzaDw==", - "license": "MIT" - }, - "node_modules/primeng": { - "version": "21.1.9", - "resolved": "https://registry.npmjs.org/primeng/-/primeng-21.1.9.tgz", - "integrity": "sha512-Z76PtF08X0PNSTCNMobao8Qm71vC56mtZSdUtX/gsn4+q4x0NbUUtkeK1pc33a+kxVm2zkmOwzUIEGmb9VdoIA==", - "license": "SEE LICENSE IN LICENSE.md", - "dependencies": { - "@primeuix/motion": "^0.0.10", - "@primeuix/styled": "^0.7.4", - "@primeuix/styles": "^2.0.3", - "@primeuix/utils": "^0.7.2", - "tslib": "^2.3.0" - }, - "peerDependencies": { - "@angular/cdk": "^21.0.0", - "@angular/common": "^21.0.0", - "@angular/core": "^21.0.7", - "@angular/forms": "^21.0.0", - "@angular/platform-browser": "^21.0.0", - "@angular/router": "^21.0.0", - "rxjs": "^6.0.0 || ^7.8.1" - } - }, - "node_modules/primeng/node_modules/@primeuix/utils": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/@primeuix/utils/-/utils-0.7.2.tgz", - "integrity": "sha512-pmEbSfP0Phf9W9RweiM66zXnkn73ZeKyYINElbX3uZ2+stzzaba2svLAl3B1pHVcRw5t43O0VciaGe4ye2EXKw==", - "license": "MIT", - "engines": { - "node": ">=12.11.0" - } - }, "node_modules/proc-log": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-6.1.0.tgz", @@ -12336,15 +12430,6 @@ "integrity": "sha512-4+Z+0yiYyEtUVCScyfHCxOYP06L5Ne+JiHhY2IjR2KWMIWhJOYZKLSGZaP5HkZ8+bY0cxfzwDE5uOmzFXyIwxw==", "license": "MIT" }, - "node_modules/tailwindcss-primeui": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/tailwindcss-primeui/-/tailwindcss-primeui-0.6.1.tgz", - "integrity": "sha512-T69Rylcrmnt8zy9ik+qZvsLuRIrS9/k6rYJSIgZ1trnbEzGDDQSCIdmfyZknevqiHwpSJHSmQ9XT2C+S/hJY4A==", - "license": "MIT", - "peerDependencies": { - "tailwindcss": ">=3.1.0" - } - }, "node_modules/tapable": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", diff --git a/frontend/package.json b/frontend/package.json index d08c9036..ec9e13c3 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -22,7 +22,7 @@ "@angular/platform-browser-dynamic": "^21.2.17", "@angular/router": "^21.2.17", "@ng-util/monaco-editor": "^18.0.0", - "@primeuix/themes": "^1.2.3", + "@openng/optimus-ui": "^1.0.2", "@tailwindcss/language-server": "^0.14.26", "@tailwindcss/postcss": "^4.1.18", "d3": "^7.9.0", @@ -31,13 +31,13 @@ "ngx-vflow": "^2.6.0", "postcss": "^8.5.6", "pretty-print-json": "^3.0.6", - "primeicons": "^7.0.0", - "primeng": "^21.1.9", "rxjs": "~7.8.0", "tailwindcss": "^4.1.18", - "tailwindcss-primeui": "^0.6.1", "tslib": "^2.3.0", - "zone.js": "~0.15.0" + "zone.js": "~0.15.0", + "@openng/icons": "^1.0.0", + "@openng/optimus-ui-themes": "^1.0.2", + "@openng/optimus-ui-tailwindcss": "^1.0.2" }, "devDependencies": { "@angular-eslint/builder": "^21.4.0", diff --git a/frontend/src/app/app.component.ts b/frontend/src/app/app.component.ts index 02076f87..2332c999 100644 --- a/frontend/src/app/app.component.ts +++ b/frontend/src/app/app.component.ts @@ -11,17 +11,17 @@ import { ProjectService } from "./services/project/project.service"; import { NetworkJobService } from "./services/tree/network/network-job.service"; import { CreateProjectDialogComponent } from "./components/project-explorer/create-project-dialog/create-project-dialog.component"; import { first } from "rxjs"; -import { Toolbar } from "primeng/toolbar"; -import { Button } from "primeng/button"; -import { InputIcon } from "primeng/inputicon"; -import { IconField } from "primeng/iconfield"; -import { DialogService } from "primeng/dynamicdialog"; +import { Toolbar } from "@openng/optimus-ui/toolbar"; +import { Button } from "@openng/optimus-ui/button"; +import { InputIcon } from "@openng/optimus-ui/inputicon"; +import { IconField } from "@openng/optimus-ui/iconfield"; +import { DialogService } from "@openng/optimus-ui/dynamicdialog"; import { SettingsButtonComponent } from "./components/settings/settings-button/settings-button.component"; -import { Toast } from "primeng/toast"; -import { MessageService, ConfirmationService } from "primeng/api"; -import { InputText } from "primeng/inputtext"; +import { Toast } from "@openng/optimus-ui/toast"; +import { MessageService, ConfirmationService } from "@openng/optimus-ui/api"; +import { InputText } from "@openng/optimus-ui/inputtext"; import { GlobalSettingsService } from "./services/global-settings.service"; -import { ConfirmDialog } from "primeng/confirmdialog"; +import { ConfirmDialog } from "@openng/optimus-ui/confirmdialog"; /** * Top Component of this application, diff --git a/frontend/src/app/app.config.ts b/frontend/src/app/app.config.ts index 63ce819f..188d61ca 100644 --- a/frontend/src/app/app.config.ts +++ b/frontend/src/app/app.config.ts @@ -4,7 +4,7 @@ import { provideRouter, withComponentInputBinding } from "@angular/router"; import { routes } from "./app.routes"; import { provideAnimations } from "@angular/platform-browser/animations"; import { provideHttpClient, withFetch } from "@angular/common/http"; -import { providePrimeNG } from "primeng/config"; +import { provideOptimus } from "@openng/optimus-ui/config"; import { provideAnimationsAsync } from "@angular/platform-browser/animations/async"; import { Noir } from "./style"; @@ -17,14 +17,14 @@ export const appConfig: ApplicationConfig = { provideHttpClient(withFetch()), provideAnimations(), provideAnimationsAsync(), - providePrimeNG({ + provideOptimus({ theme: { preset: Noir, options: { darkModeSelector: ".dark-mode", cssLayer: { - name: "primeng", - order: "theme, base, primeng", + name: "optimus", + order: "theme, base, optimus", }, }, }, diff --git a/frontend/src/app/components/ai-chat/ai-chat.component.ts b/frontend/src/app/components/ai-chat/ai-chat.component.ts index ed51ad76..ffe7439b 100644 --- a/frontend/src/app/components/ai-chat/ai-chat.component.ts +++ b/frontend/src/app/components/ai-chat/ai-chat.component.ts @@ -27,12 +27,12 @@ import { ReactiveFormsModule, } from "@angular/forms"; import { MatTooltipModule } from "@angular/material/tooltip"; -import { Message } from "primeng/message"; -import { Toolbar } from "primeng/toolbar"; -import { Button } from "primeng/button"; -import { Textarea } from "primeng/textarea"; -import { Menu } from "primeng/menu"; -import { MenuItem } from "primeng/api"; +import { Message } from "@openng/optimus-ui/message"; +import { Toolbar } from "@openng/optimus-ui/toolbar"; +import { Button } from "@openng/optimus-ui/button"; +import { Textarea } from "@openng/optimus-ui/textarea"; +import { Menu } from "@openng/optimus-ui/menu"; +import { MenuItem } from "@openng/optimus-ui/api"; /** * Component for showing a dialog between user and the llm chat defined in the backend. diff --git a/frontend/src/app/components/console/console.component.ts b/frontend/src/app/components/console/console.component.ts index 1dff1085..5a8c6890 100644 --- a/frontend/src/app/components/console/console.component.ts +++ b/frontend/src/app/components/console/console.component.ts @@ -11,9 +11,9 @@ import { isInfo, } from "../../services/console/log"; import { HttpErrorResponse } from "@angular/common/http"; -import { Button } from "primeng/button"; -import { ProgressSpinner } from "primeng/progressspinner"; -import { ProgressBar } from "primeng/progressbar"; +import { Button } from "@openng/optimus-ui/button"; +import { ProgressSpinner } from "@openng/optimus-ui/progressspinner"; +import { ProgressBar } from "@openng/optimus-ui/progressbar"; /** * Visual representation of the errors in the application diff --git a/frontend/src/app/components/editor/condition/condition-editor/condition-editor.component.ts b/frontend/src/app/components/editor/condition/condition-editor/condition-editor.component.ts index 37d9c953..1504b0b9 100644 --- a/frontend/src/app/components/editor/condition/condition-editor/condition-editor.component.ts +++ b/frontend/src/app/components/editor/condition/condition-editor/condition-editor.component.ts @@ -1,18 +1,18 @@ import { Component, EventEmitter, Input, Output, inject } from "@angular/core"; import { Condition, ICondition } from "../../../../types/condition/condition"; import { AiChatService } from "../../../../services/ai-chat/ai-chat.service"; -import { Textarea } from "primeng/textarea"; -import { FloatLabelModule } from "primeng/floatlabel"; +import { Textarea } from "@openng/optimus-ui/textarea"; +import { FloatLabelModule } from "@openng/optimus-ui/floatlabel"; import { GREEN_COLOURED_CONDITIONS, RED_COLOURED_CONDITIONS, } from "../../editor.component"; -import { $dt } from "@primeuix/themes"; +import { $dt } from "@openng/optimus-ui-themes"; import { FormsModule } from "@angular/forms"; import { BehaviorSubject } from "rxjs"; import { AsyncPipe } from "@angular/common"; -import { Button } from "primeng/button"; -import { Dialog } from "primeng/dialog"; +import { Button } from "@openng/optimus-ui/button"; +import { Dialog } from "@openng/optimus-ui/dialog"; /** * Editor in the statements for the {@link Condition} @@ -20,11 +20,11 @@ import { Dialog } from "primeng/dialog"; * @link https://angular.dev/guide/forms/reactive-forms */ @Component({ - selector: 'app-condition-editor', - imports: [Textarea, FloatLabelModule, FormsModule, AsyncPipe, Button, Dialog], - templateUrl: './condition-editor.component.html', - standalone: true, - styleUrl: './condition-editor.component.css', + selector: "app-condition-editor", + imports: [Textarea, FloatLabelModule, FormsModule, AsyncPipe, Button, Dialog], + templateUrl: "./condition-editor.component.html", + standalone: true, + styleUrl: "./condition-editor.component.css", }) export class ConditionEditorComponent { private _aiChatService = inject(AiChatService); @@ -36,22 +36,23 @@ export class ConditionEditorComponent { */ @Input() public condition!: BehaviorSubject; - /** - * Flag to allow editing the condition content - */ - @Input() public placeholder: string = 'Type here'; - @Input() public editable: boolean | null = true; - @Input() public inline = false; - @Input() public showAiButton = false; - - /** - * Emitter to emit the condition - */ - @Output() public conditionEditingFinished: EventEmitter = - new EventEmitter(); - @Output() public textChanged: EventEmitter = new EventEmitter(); - @Output() public synthesizeRequested: EventEmitter = new EventEmitter(); - protected dialogConditionText: string = ""; + /** + * Flag to allow editing the condition content + */ + @Input() public placeholder: string = "Type here"; + @Input() public editable: boolean | null = true; + @Input() public inline = false; + @Input() public showAiButton = false; + + /** + * Emitter to emit the condition + */ + @Output() public conditionEditingFinished: EventEmitter = + new EventEmitter(); + @Output() public textChanged: EventEmitter = new EventEmitter(); + @Output() public synthesizeRequested: EventEmitter = + new EventEmitter(); + protected dialogConditionText: string = ""; /** Inserted by Angular inject() migration for backwards compatibility */ constructor(...args: unknown[]); @@ -72,13 +73,13 @@ export class ConditionEditorComponent { this.askAi(); } - public synthesizeWithAi(): void { - this.synthesizeRequested.emit(); - } + public synthesizeWithAi(): void { + this.synthesizeRequested.emit(); + } - public get aiButtonClass(): string { - return 'cursor-pointer pi pi-sparkles'; - } + public get aiButtonClass(): string { + return "cursor-pointer pi pi-sparkles"; + } public onConditionChange(newConditionString: string): void { const currentCondition = this.condition.getValue(); diff --git a/frontend/src/app/components/editor/condition/condition-selector/condition-selector.component.ts b/frontend/src/app/components/editor/condition/condition-selector/condition-selector.component.ts index c6ba6b14..ee1dea04 100644 --- a/frontend/src/app/components/editor/condition/condition-selector/condition-selector.component.ts +++ b/frontend/src/app/components/editor/condition/condition-selector/condition-selector.component.ts @@ -9,7 +9,7 @@ import { import { ConditionEditorComponent } from "../condition-editor/condition-editor.component"; import { AbstractStatementNode } from "../../../../types/statements/nodes/abstract-statement-node"; import { ICondition } from "../../../../types/condition/condition"; -import { Button } from "primeng/button"; +import { Button } from "@openng/optimus-ui/button"; import { GREEN_COLOURED_CONDITIONS, RED_COLOURED_CONDITIONS, diff --git a/frontend/src/app/components/editor/editor-bottommenu/editor-bottommenu.component.ts b/frontend/src/app/components/editor/editor-bottommenu/editor-bottommenu.component.ts index ba38d6fe..59e84e2e 100644 --- a/frontend/src/app/components/editor/editor-bottommenu/editor-bottommenu.component.ts +++ b/frontend/src/app/components/editor/editor-bottommenu/editor-bottommenu.component.ts @@ -1,8 +1,14 @@ -import {Component, signal} from '@angular/core'; -import {Tab, TabList, TabPanel, TabPanels, Tabs} from "primeng/tabs"; -import {Button} from "primeng/button"; -import {ConsoleComponent} from "../../console/console.component"; -import {AiChatComponent} from "../../ai-chat/ai-chat.component"; +import { Component, signal } from "@angular/core"; +import { + Tab, + TabList, + TabPanel, + TabPanels, + Tabs, +} from "@openng/optimus-ui/tabs"; +import { Button } from "@openng/optimus-ui/button"; +import { ConsoleComponent } from "../../console/console.component"; +import { AiChatComponent } from "../../ai-chat/ai-chat.component"; import { PredicateManagerComponent } from "../predicate-manager/predicate-manager.component"; @Component({ diff --git a/frontend/src/app/components/editor/editor-sidemenu/editor-sidemenu.component.ts b/frontend/src/app/components/editor/editor-sidemenu/editor-sidemenu.component.ts index f2dd7c73..a118e03c 100644 --- a/frontend/src/app/components/editor/editor-sidemenu/editor-sidemenu.component.ts +++ b/frontend/src/app/components/editor/editor-sidemenu/editor-sidemenu.component.ts @@ -1,74 +1,80 @@ -import {Component, EventEmitter, Output, signal, ViewChild} from "@angular/core"; -import {TabPanel, TabPanels, Tabs} from "primeng/tabs"; -import {Button} from "primeng/button"; -import {OptionsComponent} from "../options/options.component"; -import {RenamingComponent} from "../renaming/renaming.component"; -import {GlobalConditionsComponent} from "../global-conditions/global-conditions.component"; -import {VariablesComponent} from "../variables/variables.component"; import { + Component, + EventEmitter, + Output, + signal, + ViewChild, +} from "@angular/core"; +import { TabPanel, TabPanels, Tabs } from "@openng/optimus-ui/tabs"; +import { Button } from "@openng/optimus-ui/button"; +import { OptionsComponent } from "../options/options.component"; +import { RenamingComponent } from "../renaming/renaming.component"; +import { GlobalConditionsComponent } from "../global-conditions/global-conditions.component"; +import { VariablesComponent } from "../variables/variables.component"; +import { + Accordion, + AccordionContent, + AccordionHeader, + AccordionPanel, +} from "@openng/optimus-ui/accordion"; +import { AiChatComponent } from "../../ai-chat/ai-chat.component"; +import { ConsoleComponent } from "../../console/console.component"; +import { PredicateManagerComponent } from "../predicate-manager/predicate-manager.component"; +@Component({ + selector: "app-editor-sidemenu", + imports: [ + Tabs, + TabPanels, + TabPanel, + Button, + OptionsComponent, + RenamingComponent, + GlobalConditionsComponent, + VariablesComponent, Accordion, - AccordionContent, - AccordionHeader, AccordionPanel, -} from "primeng/accordion"; -import {AiChatComponent} from "../../ai-chat/ai-chat.component"; -import {ConsoleComponent} from "../../console/console.component"; -import {PredicateManagerComponent} from "../predicate-manager/predicate-manager.component"; -@Component({ - selector: "app-editor-sidemenu", - imports: [ - Tabs, - TabPanels, - TabPanel, - Button, - OptionsComponent, - RenamingComponent, - GlobalConditionsComponent, - VariablesComponent, - Accordion, - AccordionPanel, - AccordionHeader, - AccordionContent, - AiChatComponent, - ConsoleComponent, - PredicateManagerComponent, - ], - templateUrl: "./editor-sidemenu.component.html", - standalone: true, - styleUrl: "./editor-sidemenu.component.css", + AccordionHeader, + AccordionContent, + AiChatComponent, + ConsoleComponent, + PredicateManagerComponent, + ], + templateUrl: "./editor-sidemenu.component.html", + standalone: true, + styleUrl: "./editor-sidemenu.component.css", }) export class EditorSidemenuComponent { - @ViewChild("variables") public variables!: VariablesComponent; - @ViewChild("conditions") public conditions!: GlobalConditionsComponent; - @ViewChild("renaming") public renaming!: RenamingComponent; - @Output() tabOpened = new EventEmitter(); + @ViewChild("variables") public variables!: VariablesComponent; + @ViewChild("conditions") public conditions!: GlobalConditionsComponent; + @ViewChild("renaming") public renaming!: RenamingComponent; + @Output() tabOpened = new EventEmitter(); - tabValue = signal(0); + tabValue = signal(0); - setTab(value: number): void { - if (this.tabValue() == value) { - this.tabOpened.emit(false); - this.tabValue.set(0); - } else { - this.tabOpened.emit(true) - this.tabValue.set(value); - } + setTab(value: number): void { + if (this.tabValue() == value) { + this.tabOpened.emit(false); + this.tabValue.set(0); + } else { + this.tabOpened.emit(true); + this.tabValue.set(value); } + } - compactButton = { - root: { - sm: { - paddingX: "0.2rem", - }, - paddingX: "0px", - }, - button: { - paddingX: "0px", - root: { - sm: { - paddingX: "0px", - }, - }, + compactButton = { + root: { + sm: { + paddingX: "0.2rem", + }, + paddingX: "0px", + }, + button: { + paddingX: "0px", + root: { + sm: { + paddingX: "0px", }, - }; + }, + }, + }; } diff --git a/frontend/src/app/components/editor/editor.component.ts b/frontend/src/app/components/editor/editor.component.ts index 856c2200..f5539f9e 100644 --- a/frontend/src/app/components/editor/editor.component.ts +++ b/frontend/src/app/components/editor/editor.component.ts @@ -41,8 +41,8 @@ import { EditorSidemenuComponent } from "./editor-sidemenu/editor-sidemenu.compo import { EditorBottommenuComponent } from "./editor-bottommenu/editor-bottommenu.component"; import { GlobalSettingsService } from "../../services/global-settings.service"; import { fromEvent, Subscription } from "rxjs"; -import { Button } from "primeng/button"; -import { Popover } from "primeng/popover"; +import { Button } from "@openng/optimus-ui/button"; +import { Popover } from "@openng/optimus-ui/popover"; import { ConditionSelectorComponent } from "./condition/condition-selector/condition-selector.component"; import { ICondition } from "../../types/condition/condition"; import { disconnectNodes } from "../../types/statements/nodes/statement-node-utils"; diff --git a/frontend/src/app/components/editor/predicate-manager/predicate-manager.component.ts b/frontend/src/app/components/editor/predicate-manager/predicate-manager.component.ts index 365aba74..d8f51dd1 100644 --- a/frontend/src/app/components/editor/predicate-manager/predicate-manager.component.ts +++ b/frontend/src/app/components/editor/predicate-manager/predicate-manager.component.ts @@ -1,15 +1,15 @@ import { Component, OnInit, inject } from "@angular/core"; -import { Fluid } from "primeng/fluid"; -import { Select } from "primeng/select"; -import { Button } from "primeng/button"; -import { InputGroup } from "primeng/inputgroup"; -import { FloatLabel } from "primeng/floatlabel"; -import { InputText } from "primeng/inputtext"; -import { Textarea } from "primeng/textarea"; +import { Fluid } from "@openng/optimus-ui/fluid"; +import { Select } from "@openng/optimus-ui/select"; +import { Button } from "@openng/optimus-ui/button"; +import { InputGroup } from "@openng/optimus-ui/inputgroup"; +import { FloatLabel } from "@openng/optimus-ui/floatlabel"; +import { InputText } from "@openng/optimus-ui/inputtext"; +import { Textarea } from "@openng/optimus-ui/textarea"; import { PredicateService } from "../../../services/predicates/predicate.service"; import { FormsModule } from "@angular/forms"; import { ProjectPredicate } from "../../../types/ProjectPredicate"; -import { Message } from "primeng/message"; +import { Message } from "@openng/optimus-ui/message"; @Component({ selector: "app-predicate-manager", diff --git a/frontend/src/app/components/editor/statements/selection-statement/selection-statement.component.ts b/frontend/src/app/components/editor/statements/selection-statement/selection-statement.component.ts index 3fe1d4cb..22e97166 100644 --- a/frontend/src/app/components/editor/statements/selection-statement/selection-statement.component.ts +++ b/frontend/src/app/components/editor/statements/selection-statement/selection-statement.component.ts @@ -19,7 +19,7 @@ import { import { Position } from "../../../../types/position"; import { SelectionStatementNode } from "../../../../types/statements/nodes/selection-statement-node"; import { HandleComponent } from "ngx-vflow"; -import {Button} from "primeng/button"; +import { Button } from "@openng/optimus-ui/button"; /** * Component in the graphical editor to represent the {@link SelectionStatement} diff --git a/frontend/src/app/components/editor/statements/statement/statement.component.ts b/frontend/src/app/components/editor/statements/statement/statement.component.ts index dbb06538..5b41198b 100644 --- a/frontend/src/app/components/editor/statements/statement/statement.component.ts +++ b/frontend/src/app/components/editor/statements/statement/statement.component.ts @@ -24,14 +24,14 @@ import { MatListModule } from "@angular/material/list"; import { AbstractStatementNode } from "../../../../types/statements/nodes/abstract-statement-node"; import { HandleComponent } from "ngx-vflow"; import { GridTileBorderDirective } from "../../../../directives/grid-tile-border.directive"; -import { Card } from "primeng/card"; +import { Card } from "@openng/optimus-ui/card"; import { Button, ButtonDirective, ButtonIcon, ButtonLabel, -} from "primeng/button"; -import { Toolbar } from "primeng/toolbar"; +} from "@openng/optimus-ui/button"; +import { Toolbar } from "@openng/optimus-ui/toolbar"; import { GlobalSettingsService } from "../../../../services/global-settings.service"; import { NetworkJobService } from "../../../../services/tree/network/network-job.service"; import { ProjectService } from "../../../../services/project/project.service"; diff --git a/frontend/src/app/components/editor/variables/variables.component.ts b/frontend/src/app/components/editor/variables/variables.component.ts index a0b89f54..52e1aca9 100644 --- a/frontend/src/app/components/editor/variables/variables.component.ts +++ b/frontend/src/app/components/editor/variables/variables.component.ts @@ -18,11 +18,11 @@ import { MatFormFieldModule } from "@angular/material/form-field"; import { MatListModule } from "@angular/material/list"; import { MatTooltipModule } from "@angular/material/tooltip"; import { IJavaVariable, JavaVariable } from "../../../types/JavaVariable"; -import { FloatLabel } from "primeng/floatlabel"; -import { IconField } from "primeng/iconfield"; -import { InputIcon } from "primeng/inputicon"; -import { $dt } from "@primeuix/themes"; -import { InputText } from "primeng/inputtext"; +import { FloatLabel } from "@openng/optimus-ui/floatlabel"; +import { IconField } from "@openng/optimus-ui/iconfield"; +import { InputIcon } from "@openng/optimus-ui/inputicon"; +import { $dt } from "@openng/optimus-ui-themes"; +import { InputText } from "@openng/optimus-ui/inputtext"; import { Subscription } from "rxjs"; /** diff --git a/frontend/src/app/components/landing-page/import-project-dialog/import-project-dialog.component.ts b/frontend/src/app/components/landing-page/import-project-dialog/import-project-dialog.component.ts index d5fe90a8..76200680 100644 --- a/frontend/src/app/components/landing-page/import-project-dialog/import-project-dialog.component.ts +++ b/frontend/src/app/components/landing-page/import-project-dialog/import-project-dialog.component.ts @@ -6,9 +6,12 @@ import { LocalDirectory, } from "../../../services/project/types/api-elements"; import { ConsoleService } from "../../../services/console/console.service"; -import { DynamicDialogConfig, DynamicDialogRef } from "primeng/dynamicdialog"; -import { FileSelectEvent, FileUpload } from "primeng/fileupload"; -import { Button } from "primeng/button"; +import { + DynamicDialogConfig, + DynamicDialogRef, +} from "@openng/optimus-ui/dynamicdialog"; +import { FileSelectEvent, FileUpload } from "@openng/optimus-ui/fileupload"; +import { Button } from "@openng/optimus-ui/button"; /** * Dialog for importing a project created with this editor diff --git a/frontend/src/app/components/landing-page/landing-page.component.ts b/frontend/src/app/components/landing-page/landing-page.component.ts index 6ad3a9d0..88b5c89a 100644 --- a/frontend/src/app/components/landing-page/landing-page.component.ts +++ b/frontend/src/app/components/landing-page/landing-page.component.ts @@ -9,12 +9,19 @@ import { OpenProjectDialogComponent } from "./open-project-dialog/open-project-d import { ImportProjectDialogComponent } from "./import-project-dialog/import-project-dialog.component"; import { LoadExampleDialogComponent } from "./load-example-dialog/load-example-dialog.component"; import { ImportFileDialogComponent } from "../project-explorer/import-file-dialog/import-file-dialog"; -import { Card } from "primeng/card"; -import { MenuItem } from "primeng/api"; -import { Divider } from "primeng/divider"; -import { ButtonDirective, ButtonIcon, ButtonLabel } from "primeng/button"; -import { Menubar } from "primeng/menubar"; -import { DialogService, DynamicDialogRef } from "primeng/dynamicdialog"; +import { Card } from "@openng/optimus-ui/card"; +import { MenuItem } from "@openng/optimus-ui/api"; +import { Divider } from "@openng/optimus-ui/divider"; +import { + ButtonDirective, + ButtonIcon, + ButtonLabel, +} from "@openng/optimus-ui/button"; +import { Menubar } from "@openng/optimus-ui/menubar"; +import { + DialogService, + DynamicDialogRef, +} from "@openng/optimus-ui/dynamicdialog"; import { LocalDirectory } from "../../services/project/types/api-elements"; @Component({ diff --git a/frontend/src/app/components/landing-page/load-example-dialog/load-example-dialog.component.ts b/frontend/src/app/components/landing-page/load-example-dialog/load-example-dialog.component.ts index 58af73bb..69099aee 100644 --- a/frontend/src/app/components/landing-page/load-example-dialog/load-example-dialog.component.ts +++ b/frontend/src/app/components/landing-page/load-example-dialog/load-example-dialog.component.ts @@ -4,9 +4,12 @@ import { LocalDirectory, LocalTextFile, } from "../../../services/project/types/api-elements"; -import { Listbox } from "primeng/listbox"; -import { Button } from "primeng/button"; -import { DynamicDialogConfig, DynamicDialogRef } from "primeng/dynamicdialog"; +import { Listbox } from "@openng/optimus-ui/listbox"; +import { Button } from "@openng/optimus-ui/button"; +import { + DynamicDialogConfig, + DynamicDialogRef, +} from "@openng/optimus-ui/dynamicdialog"; import { Condition } from "../../../types/condition/condition"; import { LocalCBCFormula } from "../../../types/CBCFormula"; import { Position } from "../../../types/position"; diff --git a/frontend/src/app/components/landing-page/open-project-dialog/open-project-dialog.component.ts b/frontend/src/app/components/landing-page/open-project-dialog/open-project-dialog.component.ts index 40283672..2c9eb166 100644 --- a/frontend/src/app/components/landing-page/open-project-dialog/open-project-dialog.component.ts +++ b/frontend/src/app/components/landing-page/open-project-dialog/open-project-dialog.component.ts @@ -2,10 +2,13 @@ import { Component, inject } from "@angular/core"; import { FormsModule } from "@angular/forms"; import { Router } from "@angular/router"; import { ProjectService } from "../../../services/project/project.service"; -import { DynamicDialogConfig, DynamicDialogRef } from "primeng/dynamicdialog"; -import { Button } from "primeng/button"; -import { FloatLabel } from "primeng/floatlabel"; -import { InputText } from "primeng/inputtext"; +import { + DynamicDialogConfig, + DynamicDialogRef, +} from "@openng/optimus-ui/dynamicdialog"; +import { Button } from "@openng/optimus-ui/button"; +import { FloatLabel } from "@openng/optimus-ui/floatlabel"; +import { InputText } from "@openng/optimus-ui/inputtext"; /** * Dialog for opening a project based on the project id diff --git a/frontend/src/app/components/project-explorer/create-project-dialog/create-project-dialog.component.ts b/frontend/src/app/components/project-explorer/create-project-dialog/create-project-dialog.component.ts index f62ed8eb..7ef9b356 100644 --- a/frontend/src/app/components/project-explorer/create-project-dialog/create-project-dialog.component.ts +++ b/frontend/src/app/components/project-explorer/create-project-dialog/create-project-dialog.component.ts @@ -1,10 +1,13 @@ import { Component, inject } from "@angular/core"; import { ProjectService } from "../../../services/project/project.service"; import { FormsModule } from "@angular/forms"; -import { DynamicDialogConfig, DynamicDialogRef } from "primeng/dynamicdialog"; -import { Button } from "primeng/button"; -import { InputText } from "primeng/inputtext"; -import { FloatLabel } from "primeng/floatlabel"; +import { + DynamicDialogConfig, + DynamicDialogRef, +} from "@openng/optimus-ui/dynamicdialog"; +import { Button } from "@openng/optimus-ui/button"; +import { InputText } from "@openng/optimus-ui/inputtext"; +import { FloatLabel } from "@openng/optimus-ui/floatlabel"; /** * Dialog for creating a new project, when pressing the save button in the project explorer without a known projectId diff --git a/frontend/src/app/components/project-explorer/import-file-dialog/import-file-dialog.ts b/frontend/src/app/components/project-explorer/import-file-dialog/import-file-dialog.ts index 6c38355b..1b2c1c6e 100644 --- a/frontend/src/app/components/project-explorer/import-file-dialog/import-file-dialog.ts +++ b/frontend/src/app/components/project-explorer/import-file-dialog/import-file-dialog.ts @@ -5,9 +5,12 @@ import { ProjectService } from "../../../services/project/project.service"; import { ApiFileType } from "../../../services/project/types/api-elements"; import { FormsModule } from "@angular/forms"; import { ConsoleService } from "../../../services/console/console.service"; -import { DynamicDialogConfig, DynamicDialogRef } from "primeng/dynamicdialog"; -import { Button } from "primeng/button"; -import { FileUpload } from "primeng/fileupload"; +import { + DynamicDialogConfig, + DynamicDialogRef, +} from "@openng/optimus-ui/dynamicdialog"; +import { Button } from "@openng/optimus-ui/button"; +import { FileUpload } from "@openng/optimus-ui/fileupload"; /** * Dialog for importing files created with this editor or cbcmodels created with the corc editor diff --git a/frontend/src/app/components/project-explorer/project-explorer.component.ts b/frontend/src/app/components/project-explorer/project-explorer.component.ts index 6a812b4c..014e77a8 100644 --- a/frontend/src/app/components/project-explorer/project-explorer.component.ts +++ b/frontend/src/app/components/project-explorer/project-explorer.component.ts @@ -19,25 +19,29 @@ import { import { ImportFileDialogComponent } from "./import-file-dialog/import-file-dialog"; import { MatMenuModule } from "@angular/material/menu"; import { ImportProjectDialogComponent } from "../landing-page/import-project-dialog/import-project-dialog.component"; -import { Menubar } from "primeng/menubar"; +import { Menubar } from "@openng/optimus-ui/menubar"; import { MenuItem, MessageService, PrimeTemplate, TreeDragDropService, TreeNode, -} from "primeng/api"; -import { Tree, TreeNodeCollapseEvent, TreeNodeDropEvent } from "primeng/tree"; -import { Button } from "primeng/button"; -import { InputText } from "primeng/inputtext"; -import { FloatLabel } from "primeng/floatlabel"; -import { IconField } from "primeng/iconfield"; -import { InputIcon } from "primeng/inputicon"; -import { DialogService } from "primeng/dynamicdialog"; +} from "@openng/optimus-ui/api"; +import { + Tree, + TreeNodeCollapseEvent, + TreeNodeDropEvent, +} from "@openng/optimus-ui/tree"; +import { Button } from "@openng/optimus-ui/button"; +import { InputText } from "@openng/optimus-ui/inputtext"; +import { FloatLabel } from "@openng/optimus-ui/floatlabel"; +import { IconField } from "@openng/optimus-ui/iconfield"; +import { InputIcon } from "@openng/optimus-ui/inputicon"; +import { DialogService } from "@openng/optimus-ui/dynamicdialog"; import { TreeService } from "../../services/tree/tree.service"; import { PredicateService } from "../../services/predicates/predicate.service"; -import { Tag } from "primeng/tag"; -import { Tooltip } from "primeng/tooltip"; +import { Tag } from "@openng/optimus-ui/tag"; +import { Tooltip } from "@openng/optimus-ui/tooltip"; /** * Component for the file management and navigating between the files, diff --git a/frontend/src/app/components/settings/settings-button/settings-button.component.ts b/frontend/src/app/components/settings/settings-button/settings-button.component.ts index 1ca9ddc7..80ea3db8 100644 --- a/frontend/src/app/components/settings/settings-button/settings-button.component.ts +++ b/frontend/src/app/components/settings/settings-button/settings-button.component.ts @@ -1,6 +1,6 @@ import { Component, inject } from "@angular/core"; -import { Button } from "primeng/button"; -import { DialogService } from "primeng/dynamicdialog"; +import { Button } from "@openng/optimus-ui/button"; +import { DialogService } from "@openng/optimus-ui/dynamicdialog"; import { SettingsComponent } from "../settings/settings.component"; @Component({ diff --git a/frontend/src/app/components/settings/settings/settings.component.ts b/frontend/src/app/components/settings/settings/settings.component.ts index 74c5460a..5e4641dc 100644 --- a/frontend/src/app/components/settings/settings/settings.component.ts +++ b/frontend/src/app/components/settings/settings/settings.component.ts @@ -1,13 +1,16 @@ import { Component, inject } from "@angular/core"; -import { DynamicDialogConfig, DynamicDialogRef } from "primeng/dynamicdialog"; -import { ToggleSwitch } from "primeng/toggleswitch"; -import { Fieldset } from "primeng/fieldset"; -import { Button } from "primeng/button"; +import { + DynamicDialogConfig, + DynamicDialogRef, +} from "@openng/optimus-ui/dynamicdialog"; +import { ToggleSwitch } from "@openng/optimus-ui/toggleswitch"; +import { Fieldset } from "@openng/optimus-ui/fieldset"; +import { Button } from "@openng/optimus-ui/button"; import { FormsModule } from "@angular/forms"; import { GlobalSettingsService } from "../../../services/global-settings.service"; import { NetworkProjectService } from "../../../services/project/network/network-project.service"; import { ProjectService } from "../../../services/project/project.service"; -import { Dialog } from "primeng/dialog"; +import { Dialog } from "@openng/optimus-ui/dialog"; import { prettyPrintJson } from "pretty-print-json"; import { TreeService } from "../../../services/tree/tree.service"; import { ResetVariant } from "../../../types/ResetVariant"; diff --git a/frontend/src/app/style.ts b/frontend/src/app/style.ts index 2691828b..879386ea 100644 --- a/frontend/src/app/style.ts +++ b/frontend/src/app/style.ts @@ -1,5 +1,5 @@ -import { definePreset } from "@primeuix/themes"; -import Aura from "@primeuix/themes/aura"; +import { definePreset } from "@openng/optimus-ui-themes"; +import Aura from "@openng/optimus-ui-themes/aura"; export const Noir = definePreset(Aura, { semantic: { diff --git a/frontend/src/app/widgets/refinement-widget/refinement-widget.component.ts b/frontend/src/app/widgets/refinement-widget/refinement-widget.component.ts index 3e2aba18..fe204042 100644 --- a/frontend/src/app/widgets/refinement-widget/refinement-widget.component.ts +++ b/frontend/src/app/widgets/refinement-widget/refinement-widget.component.ts @@ -1,8 +1,8 @@ import { Component, Input, output } from "@angular/core"; import { MatIconModule } from "@angular/material/icon"; -import { SpeedDial } from "primeng/speeddial"; -import { MenuItem } from "primeng/api"; +import { SpeedDial } from "@openng/optimus-ui/speeddial"; +import { MenuItem } from "@openng/optimus-ui/api"; import { StatementType } from "../../types/statements/abstract-statement"; /** diff --git a/frontend/src/global.scss b/frontend/src/global.scss index 6c64d7d2..ce1f3094 100644 --- a/frontend/src/global.scss +++ b/frontend/src/global.scss @@ -1,6 +1,6 @@ // Custom Theming for Angular Material // For more information: https://material.angular.io/guide/theming -@use '@angular/material' as mat; +@use "@angular/material" as mat; // Plus imports for other components in your app. // Include the common styles for Angular Material. We include this here so that you only @@ -8,14 +8,12 @@ // Be sure that you only ever include this mixin once! @include mat.elevation-classes(); @include mat.app-background(); -@import "primeicons/primeicons.css"; - +@import "@openng/icons/openng-icons.css"; // Define the palettes for your theme using the Material Design palettes available in palette.scss // (imported above). For each palette, you can optionally specify a default, lighter, and darker // hue. Available color palettes: https://material.io/design/color/ - $dark-primary-text: rgba(black, 0.87); $dark-secondary-text: rgba(black, 0.54); $dark-disabled-text: rgba(black, 0.38); @@ -64,7 +62,7 @@ $kit-green: ( A200: $dark-primary-text, A400: $dark-primary-text, A700: $dark-primary-text, - ) + ), ); $kit-blue: ( @@ -97,7 +95,7 @@ $kit-blue: ( A200: $dark-primary-text, A400: $dark-primary-text, A700: $dark-primary-text, - ) + ), ); $kit-red: ( @@ -130,12 +128,9 @@ $kit-red: ( A200: $dark-primary-text, A400: $dark-primary-text, A700: $dark-primary-text, - ) + ), ); - - - $qbc_frontend-primary: mat.m2-define-palette($kit-blue); $qbc_frontend-accent: mat.m2-define-palette($kit-green); @@ -144,13 +139,15 @@ $qbc_frontend-warn: mat.m2-define-palette($kit-red); // Create the theme object. A theme consists of configurations for individual // theming systems such as "color" or "typography". -$qbc_frontend-theme: mat.m2-define-light-theme(( - color: ( - primary: $qbc_frontend-primary, - accent: $qbc_frontend-accent, - warn: $qbc_frontend-warn, +$qbc_frontend-theme: mat.m2-define-light-theme( + ( + color: ( + primary: $qbc_frontend-primary, + accent: $qbc_frontend-accent, + warn: $qbc_frontend-warn, + ), ) -)); +); // Include theme styles for core and each component used in your app. // Alternatively, you can import and @include the theme mixins for each component @@ -160,12 +157,22 @@ $qbc_frontend-theme: mat.m2-define-light-theme(( /* You can add global styles to this file, and also import other style files */ h1 { - font-family: "Inter Tight", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, - Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", -"Segoe UI Symbol"; + font-family: + "Inter Tight", + -apple-system, + BlinkMacSystemFont, + "Segoe UI", + Roboto, + Helvetica, + Arial, + sans-serif, + "Apple Color Emoji", + "Segoe UI Emoji", + "Segoe UI Symbol"; } -html, body { +html, +body { width: 100%; height: 100%; margin: 0; @@ -174,9 +181,18 @@ html, body { body { overflow: hidden; margin: 0; - font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, - Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", -"Segoe UI Symbol"; + font-family: + "Inter", + -apple-system, + BlinkMacSystemFont, + "Segoe UI", + Roboto, + Helvetica, + Arial, + sans-serif, + "Apple Color Emoji", + "Segoe UI Emoji", + "Segoe UI Symbol"; box-sizing: border-box; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; @@ -186,11 +202,15 @@ body { width: 270px; } -app-statement-base, app-seq-refinement, app-unit-refinement, app-init-refinement, app-skip-refinement { +app-statement-base, +app-seq-refinement, +app-unit-refinement, +app-init-refinement, +app-skip-refinement { display: block; width: fit-content; } -.material-icons{ - font-family: 'Material Icons' !important; -} \ No newline at end of file +.material-icons { + font-family: "Material Icons" !important; +} diff --git a/frontend/src/styles.css b/frontend/src/styles.css index c3c8f115..bc1913be 100644 --- a/frontend/src/styles.css +++ b/frontend/src/styles.css @@ -1,6 +1,6 @@ @import "tailwindcss"; -@import "tailwindcss-primeui"; -@import "primeicons/primeicons.css"; +@import "@openng/optimus-ui-tailwindcss"; +@import "@openng/icons/openng-icons.css"; h1 { font-family: