diff --git a/.changeset/cold-drinks-breathe.md b/.changeset/cold-drinks-breathe.md
new file mode 100644
index 000000000..2601f9c39
--- /dev/null
+++ b/.changeset/cold-drinks-breathe.md
@@ -0,0 +1,5 @@
+---
+'@cube-dev/ui-kit': patch
+---
+
+Add DatabaseIcon.
diff --git a/.eslintrc.js b/.eslintrc.js
index 12b7f2085..f77902af9 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -107,4 +107,5 @@ module.exports = /** @type {import('eslint').Linter.Config} */ ({
},
},
],
+ ignorePatterns: ['*.js'],
});
diff --git a/src/icons/DatabaseIcon.tsx b/src/icons/DatabaseIcon.tsx
new file mode 100644
index 000000000..1b5e9193a
--- /dev/null
+++ b/src/icons/DatabaseIcon.tsx
@@ -0,0 +1,19 @@
+import { wrapIcon } from './wrap-icon';
+
+export const DatabaseIcon = wrapIcon(
+ 'DatabaseIcon',
+ ,
+);
diff --git a/src/icons/add-new-icon.js b/src/icons/add-new-icon.js
new file mode 100644
index 000000000..00e2af166
--- /dev/null
+++ b/src/icons/add-new-icon.js
@@ -0,0 +1,144 @@
+#!/usr/bin/env node
+
+const { execSync } = require('child_process');
+const fs = require('fs');
+const path = require('path');
+const prettier = require('prettier');
+
+(async function main() {
+ // Run svgo on all svg files in this folder
+ try {
+ console.log('Optimizing SVGs with svgo...');
+ execSync('svgo *.svg', { stdio: 'inherit' });
+ } catch (err) {
+ console.error('Error running svgo:', err);
+ process.exit(1);
+ }
+
+ // Get all .svg files in the current directory
+ const allFiles = fs.readdirSync(process.cwd());
+ const svgFiles = allFiles.filter((file) => file.endsWith('.svg'));
+
+ for (const svgFile of svgFiles) {
+ const name = path.basename(svgFile, '.svg');
+ const tsxFileName = `${name}Icon.tsx`;
+
+ // Read the original SVG file
+ let svgContent = fs.readFileSync(svgFile, 'utf8');
+
+ // Replace '#43436B' with 'currentColor'
+ svgContent = svgContent.replace(/#43436B/g, 'currentColor');
+
+ // Ensure the