This is an automated email from the ASF dual-hosted git repository.

marat pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-karavan.git

commit c8369132260ccdefba6e1bd3846547e1e436590e
Author: Marat Gubaidullin <[email protected]>
AuthorDate: Fri Feb 27 16:24:25 2026 -0500

    Front-end Configs for 4.18.0
---
 karavan-app/src/main/webui/eslint.config.mjs   |  8 +++
 karavan-app/src/main/webui/{src => }/index.css | 90 +++++++++++++++++++++++---
 karavan-app/src/main/webui/index.tsx           | 38 +++++++++++
 karavan-app/src/main/webui/package-lock.json   | 36 ++++++++++-
 karavan-app/src/main/webui/src/index.css       | 90 +++++++++++++++++++++++---
 5 files changed, 243 insertions(+), 19 deletions(-)

diff --git a/karavan-app/src/main/webui/eslint.config.mjs 
b/karavan-app/src/main/webui/eslint.config.mjs
new file mode 100644
index 00000000..d0fdedb3
--- /dev/null
+++ b/karavan-app/src/main/webui/eslint.config.mjs
@@ -0,0 +1,8 @@
+// @ts-check
+
+import eslint from '@eslint/js';
+import tseslint from 'typescript-eslint';
+
+export default tseslint.config(
+    eslint.configs.recommended
+);
\ No newline at end of file
diff --git a/karavan-app/src/main/webui/src/index.css 
b/karavan-app/src/main/webui/index.css
similarity index 76%
copy from karavan-app/src/main/webui/src/index.css
copy to karavan-app/src/main/webui/index.css
index 1cdde350..70a1cae5 100644
--- a/karavan-app/src/main/webui/src/index.css
+++ b/karavan-app/src/main/webui/index.css
@@ -16,6 +16,7 @@
  */
 
 :root {
+    --pf-t--global--border--radius--300: 10px;
     .pf-v6-c-text-input-group__text-input {
         --pf-v6-c-text-input-group__text-input--OutlineOffset: -2px;
     }
@@ -29,15 +30,53 @@
     .pf-v6-c-table.pf-m-compact {
         --pf-v6-c-table__thead--cell--FontSize: 
var(--pf-t--global--font--size--sm);
         --pf-v6-c-table--cell--FontSize: 
var(--pf-v6-c-table__thead--cell--FontSize);
+        /*--pf-v6-c-table--BackgroundColor: transparent;*/
+
+        .pf-v6-c-table__td {
+            --pf-v6-c-table--cell--PaddingInlineStart: 
var(--pf-t--global--spacer--sm);
+            --pf-v6-c-table--cell--PaddingInlineEnd: 
var(--pf-t--global--spacer--sm);
+        }
     }
 
     .pf-v6-c-form-control > :is(input, select, textarea) {
         padding-inline-start: var(--pf-t--global--spacer--sm);
         padding-inline-end: var(--pf-t--global--spacer--sm);
     }
+
+    .pf-v6-c-form.pf-m-horizontal .pf-v6-c-form__group-label {
+        align-self: center;
+        padding: 0;
+    }
+    --get-color: #61affe;
+    --post-color: #49cc90;
+    --put-color: #fca130;
+    --delete-color: #f93e3e;
+    --patch-color: #ff5ca7;
+    --options-color: #0d5aa7;
+    --head-color: #9012fe;
+    --trace-color: #7f8c8d;
+
+    --pf-t--color--blue--5: #f0f8ff;
+    --pf-t--color--blue--10: #e0f0ff;
+    --pf-t--color--blue--20: #b9dafc;
+    --pf-t--color--blue--30: #92c5f9;
+    --pf-t--color--blue--40: #4394e5;
+    --pf-t--color--blue--50: #0066cc;
+    --pf-t--color--blue--60: #004d99;
+    --pf-t--color--blue--70: #003366;
+    --pf-t--color--blue--75: #022a54;
+    --pf-t--color--blue--80: #032142;
+    --pf-t--color--blue--950: #011021;
 }
 
 .karavan {
+    .text-field-with-prefix {
+        align-items: center;
+        gap: 0;
+        .pf-v6-c-text-input-group__text-input {
+            padding-left: 1px;
+        }
+    }
     --pf-v6-c-content--MarginBlockEnd: 0;
 
     .pf-v6-c-content--h1,
@@ -81,6 +120,7 @@ html, body, #root {
 .karavan .pf-v6-c-button {
     padding-inline-start: var(--pf-t--global--spacer--300);
     padding-inline-end: var(--pf-t--global--spacer--300);
+    gap: var(--pf-t--global--spacer--xs);
 }
 
 .karavan {
@@ -94,6 +134,7 @@ html, body, #root {
             padding-inline-start: var(--pf-t--global--spacer--lg);
             padding-inline-end: var(--pf-t--global--spacer--sm);
         }
+
         .pf-v6-c-text-input-group__icon {
             inset-inline-start: var(--pf-t--global--spacer--sm);
         }
@@ -108,6 +149,7 @@ html, body, #root {
 .karavan .pf-v6-c-log-viewer__header {
     margin: 0;
 }
+
 .karavan .pf-v6-c-log-viewer__main {
     border: none;
 }
@@ -218,6 +260,7 @@ svg.carbon {
         transform: rotate(360deg);
     }
 }
+
 @keyframes rotate-icon-backward {
     from {
         transform: rotate(360deg);
@@ -228,10 +271,20 @@ svg.carbon {
 }
 
 @keyframes logline {
-    0%   { opacity: 0; transform: translateX(-2px); }
-    20%  { opacity: 1; transform: translateX(0); }
-    80%  { opacity: 1; }
-    100% { opacity: 0; }
+    0% {
+        opacity: 0;
+        transform: translateX(-2px);
+    }
+    20% {
+        opacity: 1;
+        transform: translateX(0);
+    }
+    80% {
+        opacity: 1;
+    }
+    100% {
+        opacity: 0;
+    }
 }
 
 @keyframes steam-movement {
@@ -253,9 +306,28 @@ svg.carbon {
 }
 
 @keyframes steam-opacity {
-    0% { opacity: 0.7; }
-    25% { opacity: 1; }
-    50% { opacity: 0.85; }
-    75% { opacity: 1; }
-    100% { opacity: 0.7; }
+    0% {
+        opacity: 0.7;
+    }
+    25% {
+        opacity: 1;
+    }
+    50% {
+        opacity: 0.85;
+    }
+    75% {
+        opacity: 1;
+    }
+    100% {
+        opacity: 0.7;
+    }
+}
+
+@keyframes heartbeat-pulse {
+    0% { transform: scale(1); }
+    14% { transform: scale(1.25); }
+    28% { transform: scale(1); }
+    42% { transform: scale(1.25); }
+    70% { transform: scale(1); }
+    100% { transform: scale(1); }
 }
diff --git a/karavan-app/src/main/webui/index.tsx 
b/karavan-app/src/main/webui/index.tsx
new file mode 100644
index 00000000..920f0f25
--- /dev/null
+++ b/karavan-app/src/main/webui/index.tsx
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import React from 'react';
+import ReactDOM from 'react-dom/client';
+import "@patternfly/patternfly/patternfly.css";
+import "@patternfly/patternfly/patternfly-charts.css";
+import './index.css';
+import {App} from "@app/App";
+import {BrowserRouter} from "react-router-dom";
+import {ThemeProvider} from "@app/theme/ThemeContext";
+import {AuthProvider} from "@api/auth/AuthProvider";
+
+ReactDOM.createRoot(document.getElementById("root")!).render(
+    <React.StrictMode>
+        <BrowserRouter>
+            <ThemeProvider>
+                <AuthProvider>
+                    <App />
+                </AuthProvider>
+            </ThemeProvider>
+        </BrowserRouter>
+    </React.StrictMode>
+);
diff --git a/karavan-app/src/main/webui/package-lock.json 
b/karavan-app/src/main/webui/package-lock.json
index 656e9568..d7873994 100644
--- a/karavan-app/src/main/webui/package-lock.json
+++ b/karavan-app/src/main/webui/package-lock.json
@@ -92,6 +92,7 @@
       "integrity": 
"sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==",
       "dev": true,
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "@babel/code-frame": "^7.29.0",
         "@babel/generator": "^7.29.0",
@@ -1877,6 +1878,7 @@
       "integrity": 
"sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==",
       "dev": true,
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "@babel/core": "^7.21.3",
         "@svgr/babel-preset": "8.1.0",
@@ -2346,6 +2348,7 @@
       "integrity": 
"sha512-zWW5KPngR/yvakJgGOmZ5vTBemDoSqF3AcV/LrO5u5wTWyEAVVh+IT39G4gtyAkh3CtTZs8aX/yRM82OfzHJRg==",
       "dev": true,
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "undici-types": "~7.16.0"
       }
@@ -2367,6 +2370,7 @@
       "resolved": 
"https://registry.npmjs.org/@types/react/-/react-18.3.28.tgz";,
       "integrity": 
"sha512-z9VXpC7MWrhfWipitjNdgCauoMLRdIILQsAEV+ZesIzBq/oUlxk0m3ApZuMFCXdnS4U7KrI+l3WRUEGQ8K1QKw==",
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "@types/prop-types": "*",
         "csstype": "^3.2.2"
@@ -2444,6 +2448,7 @@
       "integrity": 
"sha512-klQbnPAAiGYFyI02+znpBRLyjL4/BrBd0nyWkdC0s/6xFLkXYQ8OoRrSkqacS1ddVxf/LDyODIKbQ5TgKAf/Fg==",
       "dev": true,
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "@typescript-eslint/scope-manager": "8.56.1",
         "@typescript-eslint/types": "8.56.1",
@@ -2712,6 +2717,7 @@
       "integrity": 
"sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==",
       "dev": true,
       "license": "MIT",
+      "peer": true,
       "bin": {
         "acorn": "bin/acorn"
       },
@@ -2881,6 +2887,7 @@
         }
       ],
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "baseline-browser-mapping": "^2.9.0",
         "caniuse-lite": "^1.0.30001759",
@@ -3464,6 +3471,7 @@
       "resolved": 
"https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz";,
       "integrity": 
"sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==",
       "license": "ISC",
+      "peer": true,
       "engines": {
         "node": ">=12"
       }
@@ -3835,6 +3843,7 @@
       "integrity": 
"sha512-20MV9SUdeN6Jd84xESsKhRly+/vxI+hwvpBMA93s+9dAcjdCuCojn4IqUGS3lvVaqjVYGYHSRMCpeFtF2rQYxQ==",
       "dev": true,
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "@eslint-community/eslint-utils": "^4.8.0",
         "@eslint-community/regexpp": "^4.12.2",
@@ -5922,6 +5931,7 @@
       "resolved": "https://registry.npmjs.org/mobx/-/mobx-6.15.0.tgz";,
       "integrity": 
"sha512-UczzB+0nnwGotYSgllfARAqWCJ5e/skuV2K/l+Zyck/H6pJIhLXuBnz+6vn2i211o7DtbE78HQtsYEKICHGI+g==",
       "license": "MIT",
+      "peer": true,
       "funding": {
         "type": "opencollective",
         "url": "https://opencollective.com/mobx";
@@ -5978,7 +5988,8 @@
       "version": "0.52.2",
       "resolved": 
"https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.52.2.tgz";,
       "integrity": 
"sha512-GEQWEZmfkOGLdd3XK8ryrfWz3AIP8YymVXiPHEdewrUq7mh0qrKrfHLNCXcbB6sTnMLnOZ3ztSiKcciFUkIJwQ==",
-      "license": "MIT"
+      "license": "MIT",
+      "peer": true
     },
     "node_modules/ms": {
       "version": "2.1.3",
@@ -6327,6 +6338,7 @@
       "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz";,
       "integrity": 
"sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==",
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "loose-envify": "^1.1.0"
       },
@@ -6339,6 +6351,7 @@
       "resolved": 
"https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz";,
       "integrity": 
"sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==",
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "loose-envify": "^1.1.0",
         "scheduler": "^0.23.2"
@@ -6760,6 +6773,7 @@
       "integrity": 
"sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg==",
       "dev": true,
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "@types/estree": "1.0.8"
       },
@@ -7046,6 +7060,7 @@
       "integrity": 
"sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
       "dev": true,
       "license": "Apache-2.0",
+      "peer": true,
       "bin": {
         "tsc": "bin/tsc",
         "tsserver": "bin/tsserver"
@@ -7229,6 +7244,7 @@
       "resolved": 
"https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz";,
       "integrity": 
"sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==",
       "license": "MIT",
+      "peer": true,
       "peerDependencies": {
         "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
       }
@@ -7349,6 +7365,7 @@
       "resolved": 
"https://registry.npmjs.org/victory-area/-/victory-area-37.3.6.tgz";,
       "integrity": 
"sha512-wVC8LKrZJLiSySNuJLRCB449qZTsPiRyzLlNoJwe21y+XA/a2HJbmJSeywmo8P153aX8viKe1H8ygDsTFXQhHw==",
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "lodash": "^4.17.19",
         "victory-core": "37.3.6",
@@ -7366,6 +7383,7 @@
       "resolved": 
"https://registry.npmjs.org/victory-axis/-/victory-axis-37.3.6.tgz";,
       "integrity": 
"sha512-Vi0dZvgmXmnCdoqc49WckeG5cMXnl7FTtqVhXu9JweA9cgCnkZabBd5mRvAjblb3Lo4j0HZCSPKHYWUPW70qZg==",
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "lodash": "^4.17.19",
         "victory-core": "37.3.6"
@@ -7382,6 +7400,7 @@
       "resolved": 
"https://registry.npmjs.org/victory-bar/-/victory-bar-37.3.6.tgz";,
       "integrity": 
"sha512-jdATFRWL1LUW/yEpKWx/aId2BiU2o1pPF9+Kh1TFISBduJoI4ZqvZD90H1QK4f/z50PikqiqiDECaKoKM1jfOQ==",
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "lodash": "^4.17.19",
         "victory-core": "37.3.6",
@@ -7399,6 +7418,7 @@
       "resolved": 
"https://registry.npmjs.org/victory-box-plot/-/victory-box-plot-37.3.6.tgz";,
       "integrity": 
"sha512-GOucnD63h14ScBuISC/nd1GBTEx6gIZfLE+0P0gyeH1poBKq0trTTvpQDvAMuGR8zICfEETG3ltmUMCwRrFyUg==",
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "lodash": "^4.17.19",
         "victory-core": "37.3.6",
@@ -7483,6 +7503,7 @@
       "resolved": 
"https://registry.npmjs.org/victory-chart/-/victory-chart-37.3.6.tgz";,
       "integrity": 
"sha512-IkPo/W4AJ7bPu902TGER09OseR9ODm+FQAKfOBw4JsdEhZZ7BiG9zgd/25+x0r5EsTLu81CYGQVkBa+ZazcOlA==",
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "lodash": "^4.17.19",
         "react-fast-compare": "^3.2.0",
@@ -7503,6 +7524,7 @@
       "resolved": 
"https://registry.npmjs.org/victory-core/-/victory-core-37.3.6.tgz";,
       "integrity": 
"sha512-aFgO6KokxPbUCPznZP5UPhOdI22pMuwDXKDt6eoQOnkVim66Ia+K95TQar2nwVKGYV5j26aKVf/n9blwphGJRw==",
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "lodash": "^4.17.21",
         "react-fast-compare": "^3.2.0",
@@ -7520,6 +7542,7 @@
       "resolved": 
"https://registry.npmjs.org/victory-create-container/-/victory-create-container-37.3.6.tgz";,
       "integrity": 
"sha512-Uf5bFQvqUsXCjqpvBW4LhrdrHkM6dBqxYgub6FCsBb86f84xZQ3vY7jFkg/JfvF0oGKMoWXYYrYLC1sk+fcWVA==",
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "lodash": "^4.17.19",
         "victory-brush-container": "37.3.6",
@@ -7541,6 +7564,7 @@
       "resolved": 
"https://registry.npmjs.org/victory-cursor-container/-/victory-cursor-container-37.3.6.tgz";,
       "integrity": 
"sha512-+Oiw57d5nE+iq8As8RvepknzmNtKq1Gsc50u1X3IRd4jXtX8zqZrgXGlVZ+BP/tkLsWnGYVjKulwKBf2oaEUuw==",
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "lodash": "^4.17.19",
         "victory-core": "37.3.6"
@@ -7573,6 +7597,7 @@
       "resolved": 
"https://registry.npmjs.org/victory-group/-/victory-group-37.3.6.tgz";,
       "integrity": 
"sha512-kgy/Azl5BxwlJAV0KDPGypv35TMrOD1J2ZxnJW2Wyyq+e8i0GGBIv5MoBzou64BRsDlS9V0CYRIjnkHgrBpB5w==",
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "lodash": "^4.17.19",
         "react-fast-compare": "^3.2.0",
@@ -7610,6 +7635,7 @@
       "resolved": 
"https://registry.npmjs.org/victory-legend/-/victory-legend-37.3.6.tgz";,
       "integrity": 
"sha512-vRRrhj3/ENqKVLdaBMzEmR83N6BOjox1bthYT1eJjN2H5SIK35bxn30IkiV/Pz3y627EqZe4TAWaxc0jiJlCiA==",
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "lodash": "^4.17.19",
         "victory-core": "37.3.6"
@@ -7626,6 +7652,7 @@
       "resolved": 
"https://registry.npmjs.org/victory-line/-/victory-line-37.3.6.tgz";,
       "integrity": 
"sha512-Ke817uf/qFbN9jU7Dba7CrcHXYO5wAZuKKnyeHJmLDeQeFST0773xejnIuC+dBgZipjFr4KIbSd+VcUafFNE1g==",
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "lodash": "^4.17.19",
         "victory-core": "37.3.6",
@@ -7643,6 +7670,7 @@
       "resolved": 
"https://registry.npmjs.org/victory-pie/-/victory-pie-37.3.6.tgz";,
       "integrity": 
"sha512-tvdgAZ/HQWlo3KDDe0XAVbizHuaNMbgkkiF7zfA7Ww+3bHSs+0P9dsDtK2xP365D8gBCOv8pWmuzvKRhzNbqeA==",
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "lodash": "^4.17.19",
         "victory-core": "37.3.6",
@@ -7676,6 +7704,7 @@
       "resolved": 
"https://registry.npmjs.org/victory-scatter/-/victory-scatter-37.3.6.tgz";,
       "integrity": 
"sha512-fp95zMTPXgW1cmTowzDXhn+KxePMVDrzU0lotsHQMdBV7eB+ioXdu9hORlx4VHmMYg2ihsGwRTF+VAZ7rGxphA==",
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "lodash": "^4.17.19",
         "victory-core": "37.3.6"
@@ -7726,6 +7755,7 @@
       "resolved": 
"https://registry.npmjs.org/victory-stack/-/victory-stack-37.3.6.tgz";,
       "integrity": 
"sha512-ldod04RdqGJGH5p5eWXCofdTkbhZqIp3iwW7NpxSbMDLs8zPQIVvDFVtuJgMwQiC5vnIpbhMmxVeFbr8m64ZKA==",
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "lodash": "^4.17.19",
         "react-fast-compare": "^3.2.0",
@@ -7744,6 +7774,7 @@
       "resolved": 
"https://registry.npmjs.org/victory-tooltip/-/victory-tooltip-37.3.6.tgz";,
       "integrity": 
"sha512-vqaJS9noauOqDDBBAV9Ln9duOY/i17h1DCfCPAqhwPFyvFbwKvAub9zPTeYWAm/14VvWX5O/0yekFCVbcC7hjg==",
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "lodash": "^4.17.19",
         "victory-core": "37.3.6"
@@ -7799,6 +7830,7 @@
       "resolved": 
"https://registry.npmjs.org/victory-voronoi-container/-/victory-voronoi-container-37.3.6.tgz";,
       "integrity": 
"sha512-qAAG0rMuK7A4EoJ4cyUk5wNdOW+HuCXNKPOko+hYK6wWOYXJvFhiglYyA85a695YyAXECc6JyJS/crm4IOEFag==",
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "delaunay-find": "0.0.6",
         "lodash": "^4.17.19",
@@ -7818,6 +7850,7 @@
       "resolved": 
"https://registry.npmjs.org/victory-zoom-container/-/victory-zoom-container-37.3.6.tgz";,
       "integrity": 
"sha512-AGL+k20mI44OL5b0VgIxlmnNSefIoFmbbim5NraPmIxbtns9qQW/56ivIncJcYomBungIx99gUpsEpcQaMNHgQ==",
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "lodash": "^4.17.19",
         "victory-core": "37.3.6"
@@ -7835,6 +7868,7 @@
       "integrity": 
"sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==",
       "dev": true,
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "esbuild": "^0.27.0",
         "fdir": "^6.5.0",
diff --git a/karavan-app/src/main/webui/src/index.css 
b/karavan-app/src/main/webui/src/index.css
index 1cdde350..70a1cae5 100644
--- a/karavan-app/src/main/webui/src/index.css
+++ b/karavan-app/src/main/webui/src/index.css
@@ -16,6 +16,7 @@
  */
 
 :root {
+    --pf-t--global--border--radius--300: 10px;
     .pf-v6-c-text-input-group__text-input {
         --pf-v6-c-text-input-group__text-input--OutlineOffset: -2px;
     }
@@ -29,15 +30,53 @@
     .pf-v6-c-table.pf-m-compact {
         --pf-v6-c-table__thead--cell--FontSize: 
var(--pf-t--global--font--size--sm);
         --pf-v6-c-table--cell--FontSize: 
var(--pf-v6-c-table__thead--cell--FontSize);
+        /*--pf-v6-c-table--BackgroundColor: transparent;*/
+
+        .pf-v6-c-table__td {
+            --pf-v6-c-table--cell--PaddingInlineStart: 
var(--pf-t--global--spacer--sm);
+            --pf-v6-c-table--cell--PaddingInlineEnd: 
var(--pf-t--global--spacer--sm);
+        }
     }
 
     .pf-v6-c-form-control > :is(input, select, textarea) {
         padding-inline-start: var(--pf-t--global--spacer--sm);
         padding-inline-end: var(--pf-t--global--spacer--sm);
     }
+
+    .pf-v6-c-form.pf-m-horizontal .pf-v6-c-form__group-label {
+        align-self: center;
+        padding: 0;
+    }
+    --get-color: #61affe;
+    --post-color: #49cc90;
+    --put-color: #fca130;
+    --delete-color: #f93e3e;
+    --patch-color: #ff5ca7;
+    --options-color: #0d5aa7;
+    --head-color: #9012fe;
+    --trace-color: #7f8c8d;
+
+    --pf-t--color--blue--5: #f0f8ff;
+    --pf-t--color--blue--10: #e0f0ff;
+    --pf-t--color--blue--20: #b9dafc;
+    --pf-t--color--blue--30: #92c5f9;
+    --pf-t--color--blue--40: #4394e5;
+    --pf-t--color--blue--50: #0066cc;
+    --pf-t--color--blue--60: #004d99;
+    --pf-t--color--blue--70: #003366;
+    --pf-t--color--blue--75: #022a54;
+    --pf-t--color--blue--80: #032142;
+    --pf-t--color--blue--950: #011021;
 }
 
 .karavan {
+    .text-field-with-prefix {
+        align-items: center;
+        gap: 0;
+        .pf-v6-c-text-input-group__text-input {
+            padding-left: 1px;
+        }
+    }
     --pf-v6-c-content--MarginBlockEnd: 0;
 
     .pf-v6-c-content--h1,
@@ -81,6 +120,7 @@ html, body, #root {
 .karavan .pf-v6-c-button {
     padding-inline-start: var(--pf-t--global--spacer--300);
     padding-inline-end: var(--pf-t--global--spacer--300);
+    gap: var(--pf-t--global--spacer--xs);
 }
 
 .karavan {
@@ -94,6 +134,7 @@ html, body, #root {
             padding-inline-start: var(--pf-t--global--spacer--lg);
             padding-inline-end: var(--pf-t--global--spacer--sm);
         }
+
         .pf-v6-c-text-input-group__icon {
             inset-inline-start: var(--pf-t--global--spacer--sm);
         }
@@ -108,6 +149,7 @@ html, body, #root {
 .karavan .pf-v6-c-log-viewer__header {
     margin: 0;
 }
+
 .karavan .pf-v6-c-log-viewer__main {
     border: none;
 }
@@ -218,6 +260,7 @@ svg.carbon {
         transform: rotate(360deg);
     }
 }
+
 @keyframes rotate-icon-backward {
     from {
         transform: rotate(360deg);
@@ -228,10 +271,20 @@ svg.carbon {
 }
 
 @keyframes logline {
-    0%   { opacity: 0; transform: translateX(-2px); }
-    20%  { opacity: 1; transform: translateX(0); }
-    80%  { opacity: 1; }
-    100% { opacity: 0; }
+    0% {
+        opacity: 0;
+        transform: translateX(-2px);
+    }
+    20% {
+        opacity: 1;
+        transform: translateX(0);
+    }
+    80% {
+        opacity: 1;
+    }
+    100% {
+        opacity: 0;
+    }
 }
 
 @keyframes steam-movement {
@@ -253,9 +306,28 @@ svg.carbon {
 }
 
 @keyframes steam-opacity {
-    0% { opacity: 0.7; }
-    25% { opacity: 1; }
-    50% { opacity: 0.85; }
-    75% { opacity: 1; }
-    100% { opacity: 0.7; }
+    0% {
+        opacity: 0.7;
+    }
+    25% {
+        opacity: 1;
+    }
+    50% {
+        opacity: 0.85;
+    }
+    75% {
+        opacity: 1;
+    }
+    100% {
+        opacity: 0.7;
+    }
+}
+
+@keyframes heartbeat-pulse {
+    0% { transform: scale(1); }
+    14% { transform: scale(1.25); }
+    28% { transform: scale(1); }
+    42% { transform: scale(1.25); }
+    70% { transform: scale(1); }
+    100% { transform: scale(1); }
 }

Reply via email to