@nikaat-crop/es-icons 0.0.7 → 0.0.9
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/.vercel/README.txt +11 -0
- package/.vercel/project.json +1 -0
- package/README.md +82 -195
- package/assets/preview.png +0 -0
- package/assets/skenas.svg +1 -0
- package/dist/index.d.ts +1 -5
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +22 -17
- package/script/svgr-convert-only-new.js +28 -0
- package/script/update-icon-exports.js +26 -0
- package/script/update-storybook.js +66 -0
- package/assets/buildix.svg +0 -38
- package/storybook-static/247.25a0be85.iframe.bundle.js +0 -87
- package/storybook-static/247.25a0be85.iframe.bundle.js.LICENSE.txt +0 -9
- package/storybook-static/247.25a0be85.iframe.bundle.js.map +0 -1
- package/storybook-static/254.e01ff6bb.iframe.bundle.js +0 -409
- package/storybook-static/254.e01ff6bb.iframe.bundle.js.LICENSE.txt +0 -9
- package/storybook-static/254.e01ff6bb.iframe.bundle.js.map +0 -1
- package/storybook-static/357.6c8d88a6.iframe.bundle.js +0 -1
- package/storybook-static/648.3e8aa4c4.iframe.bundle.js +0 -1
- package/storybook-static/735.921e2ca6.iframe.bundle.js +0 -2
- package/storybook-static/735.921e2ca6.iframe.bundle.js.LICENSE.txt +0 -19
- package/storybook-static/788.09d6734a.iframe.bundle.js +0 -1
- package/storybook-static/favicon-wrapper.svg +0 -46
- package/storybook-static/favicon.svg +0 -1
- package/storybook-static/iframe.html +0 -533
- package/storybook-static/index.html +0 -148
- package/storybook-static/index.json +0 -1
- package/storybook-static/main.99b920e4.iframe.bundle.js +0 -1
- package/storybook-static/mocker-runtime-injected.js +0 -2
- package/storybook-static/mocker-runtime-injected.js.LICENSE.txt +0 -46
- package/storybook-static/nunito-sans-bold-italic.woff2 +0 -0
- package/storybook-static/nunito-sans-bold.woff2 +0 -0
- package/storybook-static/nunito-sans-italic.woff2 +0 -0
- package/storybook-static/nunito-sans-regular.woff2 +0 -0
- package/storybook-static/project.json +0 -1
- package/storybook-static/runtime~main.d9c16a52.iframe.bundle.js +0 -1
- package/storybook-static/sb-addons/docs-1/manager-bundle.js +0 -151
- package/storybook-static/sb-addons/storybook-core-server-presets-0/common-manager-bundle.js +0 -971
- package/storybook-static/sb-common-assets/favicon-wrapper.svg +0 -46
- package/storybook-static/sb-common-assets/favicon.svg +0 -1
- package/storybook-static/sb-common-assets/nunito-sans-bold-italic.woff2 +0 -0
- package/storybook-static/sb-common-assets/nunito-sans-bold.woff2 +0 -0
- package/storybook-static/sb-common-assets/nunito-sans-italic.woff2 +0 -0
- package/storybook-static/sb-common-assets/nunito-sans-regular.woff2 +0 -0
- package/storybook-static/sb-manager/globals-module-info.js +0 -797
- package/storybook-static/sb-manager/globals-runtime.js +0 -69653
- package/storybook-static/sb-manager/globals.js +0 -34
- package/storybook-static/sb-manager/runtime.js +0 -13181
- package/storybook-static/sb-preview/globals.js +0 -25
- package/storybook-static/sb-preview/runtime.js +0 -43265
- package/storybook-static/stories-datePicker-stories.1a36012a.iframe.bundle.js +0 -2
- package/storybook-static/stories-datePicker-stories.1a36012a.iframe.bundle.js.LICENSE.txt +0 -9
package/package.json
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nikaat-crop/es-icons",
|
|
3
|
-
"version": "0.0.
|
|
4
|
-
"description": "A modern
|
|
3
|
+
"version": "0.0.9",
|
|
4
|
+
"description": "A comprehensive collection of beautiful and modern SVG icons specifically designed for Skenas (اسکناس) project, featuring 160+ carefully crafted financial and service icons with TypeScript support.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
8
8
|
"scripts": {
|
|
9
9
|
"release": "node release.js",
|
|
10
|
+
"icons:generate": "node script/svgr-convert-only-new.js && node script/update-icon-exports.js && node script/update-storybook.js",
|
|
10
11
|
"storybook": "storybook dev -p 6006",
|
|
11
12
|
"build-storybook": "storybook build"
|
|
12
13
|
},
|
|
13
|
-
"author": "
|
|
14
|
+
"author": "Skenas Team",
|
|
14
15
|
"license": "ISC",
|
|
15
16
|
"publishConfig": {
|
|
16
17
|
"access": "public"
|
|
@@ -25,7 +26,7 @@
|
|
|
25
26
|
"@storybook/jest": "^0.2.2",
|
|
26
27
|
"@storybook/react-webpack5": "^9.0.18",
|
|
27
28
|
"@storybook/testing-library": "^0.2.1",
|
|
28
|
-
"@
|
|
29
|
+
"@svgr/cli": "^8.1.0",
|
|
29
30
|
"@types/react": "^18.3.3",
|
|
30
31
|
"inquirer": "^8.2.6",
|
|
31
32
|
"react": "^18.3.1",
|
|
@@ -39,23 +40,27 @@
|
|
|
39
40
|
},
|
|
40
41
|
"repository": {
|
|
41
42
|
"type": "git",
|
|
42
|
-
"url": "https://github.com/sadegh1379/
|
|
43
|
+
"url": "https://github.com/sadegh1379/es-icons.git"
|
|
43
44
|
},
|
|
44
45
|
"keywords": [
|
|
45
46
|
"react",
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"
|
|
54
|
-
"
|
|
55
|
-
"
|
|
47
|
+
"icons",
|
|
48
|
+
"svg",
|
|
49
|
+
"skenas",
|
|
50
|
+
"اسکناس",
|
|
51
|
+
"financial-icons",
|
|
52
|
+
"banking-icons",
|
|
53
|
+
"service-icons",
|
|
54
|
+
"react-icons",
|
|
55
|
+
"svg-icons",
|
|
56
|
+
"ui-icons",
|
|
57
|
+
"icon-pack",
|
|
58
|
+
"typescript",
|
|
59
|
+
"components",
|
|
60
|
+
"es-icons"
|
|
56
61
|
],
|
|
57
62
|
"peerDependencies": {
|
|
58
|
-
"react": "
|
|
59
|
-
"react-dom": "
|
|
63
|
+
"react": ">=16.8.0",
|
|
64
|
+
"react-dom": ">=16.8.0"
|
|
60
65
|
}
|
|
61
66
|
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
const fs = require('fs');
|
|
2
|
+
const path = require('path');
|
|
3
|
+
const { execSync } = require('child_process');
|
|
4
|
+
|
|
5
|
+
const svgsDir = path.resolve('src/svgs');
|
|
6
|
+
const outputDir = path.resolve('src/icons');
|
|
7
|
+
|
|
8
|
+
const svgFiles = fs.readdirSync(svgsDir).filter(f => f.endsWith('.svg'));
|
|
9
|
+
|
|
10
|
+
svgFiles.forEach(file => {
|
|
11
|
+
const baseName = path.basename(file, '.svg');
|
|
12
|
+
const outFile = path.join(outputDir, `${baseName}.tsx`);
|
|
13
|
+
|
|
14
|
+
if (fs.existsSync(outFile)) {
|
|
15
|
+
console.log(`⏩ Skipping existing icon: ${baseName}`);
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
const inputPath = path.join(svgsDir, file);
|
|
20
|
+
const cmd = `svgr --icon --typescript --filename-case kebab --replace-attr-values "#000=currentColor" --out-dir ${outputDir} ${inputPath}`;
|
|
21
|
+
|
|
22
|
+
try {
|
|
23
|
+
execSync(cmd, { stdio: 'inherit' });
|
|
24
|
+
console.log(`✅ Generated icon: ${baseName}`);
|
|
25
|
+
} catch (error) {
|
|
26
|
+
console.error(`❌ Failed to generate ${baseName}:`, error.message);
|
|
27
|
+
}
|
|
28
|
+
});
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
const fs = require('fs');
|
|
2
|
+
const path = require('path');
|
|
3
|
+
|
|
4
|
+
const ICONS_DIR = path.resolve(__dirname, '../src/icons');
|
|
5
|
+
const INDEX_FILE = path.join(ICONS_DIR, '../index.ts');
|
|
6
|
+
|
|
7
|
+
// Get all .tsx files
|
|
8
|
+
const files = fs.readdirSync(ICONS_DIR).filter(f => f.endsWith('.tsx'));
|
|
9
|
+
|
|
10
|
+
// Generate PascalCase export statements
|
|
11
|
+
const exportLines = files.map(file => {
|
|
12
|
+
const name = path.basename(file, '.tsx');
|
|
13
|
+
const exportName = toPascalCase(name);
|
|
14
|
+
return `export { default as ${exportName} } from './icons/${name}';`;
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
// Write to index.ts
|
|
18
|
+
fs.writeFileSync(INDEX_FILE, exportLines.join('\n') + '\n');
|
|
19
|
+
console.log('✅ index.ts updated.');
|
|
20
|
+
|
|
21
|
+
function toPascalCase(str) {
|
|
22
|
+
return str
|
|
23
|
+
.split(/[-_]/)
|
|
24
|
+
.map(s => s.charAt(0).toUpperCase() + s.slice(1))
|
|
25
|
+
.join('');
|
|
26
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
const fs = require('fs');
|
|
2
|
+
const path = require('path');
|
|
3
|
+
|
|
4
|
+
const ICONS_DIR = path.resolve(__dirname, '../src/icons');
|
|
5
|
+
const STORYBOOK_FILE = path.resolve(__dirname, '../src/stories/icons.stories.tsx');
|
|
6
|
+
const INDEX_FILE = path.resolve(__dirname, '../src/index.ts');
|
|
7
|
+
|
|
8
|
+
function toPascalCase(str) {
|
|
9
|
+
return str
|
|
10
|
+
.split(/[-_]/)
|
|
11
|
+
.map(s => s.charAt(0).toUpperCase() + s.slice(1))
|
|
12
|
+
.join('');
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
function updateStorybook() {
|
|
16
|
+
console.log('🔄 Updating storybook with new icons...');
|
|
17
|
+
|
|
18
|
+
// Get all .tsx files from icons directory
|
|
19
|
+
const iconFiles = fs.readdirSync(ICONS_DIR)
|
|
20
|
+
.filter(f => f.endsWith('.tsx'))
|
|
21
|
+
.map(f => path.basename(f, '.tsx'));
|
|
22
|
+
|
|
23
|
+
// Convert to PascalCase names
|
|
24
|
+
const iconNames = iconFiles.map(toPascalCase);
|
|
25
|
+
iconNames.sort(); // Sort alphabetically
|
|
26
|
+
|
|
27
|
+
// Read current storybook file
|
|
28
|
+
let storybookContent = fs.readFileSync(STORYBOOK_FILE, 'utf8');
|
|
29
|
+
|
|
30
|
+
// Update imports section
|
|
31
|
+
const importStart = storybookContent.indexOf('import {');
|
|
32
|
+
const importEnd = storybookContent.indexOf("} from '../index';") + "} from '../index';".length;
|
|
33
|
+
|
|
34
|
+
const newImports = `import {\n ${iconNames.join(',\n ')}\n} from '../index';`;
|
|
35
|
+
|
|
36
|
+
storybookContent = storybookContent.substring(0, importStart) +
|
|
37
|
+
newImports +
|
|
38
|
+
storybookContent.substring(importEnd);
|
|
39
|
+
|
|
40
|
+
// Update icons array
|
|
41
|
+
const arrayStart = storybookContent.indexOf('const icons = [');
|
|
42
|
+
const arrayEnd = storybookContent.indexOf('];', arrayStart) + 2;
|
|
43
|
+
|
|
44
|
+
const iconEntries = iconNames.map(name =>
|
|
45
|
+
` { name: '${name}', component: ${name} }`
|
|
46
|
+
);
|
|
47
|
+
|
|
48
|
+
const newIconsArray = `const icons = [\n${iconEntries.join(',\n')}\n ];`;
|
|
49
|
+
|
|
50
|
+
storybookContent = storybookContent.substring(0, arrayStart) +
|
|
51
|
+
newIconsArray +
|
|
52
|
+
storybookContent.substring(arrayEnd);
|
|
53
|
+
|
|
54
|
+
// Write updated content back to file
|
|
55
|
+
fs.writeFileSync(STORYBOOK_FILE, storybookContent);
|
|
56
|
+
|
|
57
|
+
console.log(`✅ Storybook updated with ${iconNames.length} icons`);
|
|
58
|
+
console.log('📋 Updated icons:', iconNames.join(', '));
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
// Run if called directly
|
|
62
|
+
if (require.main === module) {
|
|
63
|
+
updateStorybook();
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
module.exports = { updateStorybook };
|
package/assets/buildix.svg
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
<svg version="1.1" id="Uploaded to svgrepo.com" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
2
|
-
width="80px" height="80px" viewBox="0 0 32 32" xml:space="preserve">
|
|
3
|
-
<style type="text/css">
|
|
4
|
-
.isometric_vijf{fill:#F29227;}
|
|
5
|
-
.isometric_zes{fill:#F28103;}
|
|
6
|
-
.isometric_zeven{fill:#FF7344;}
|
|
7
|
-
.isometric_acht{fill:#F05A28;}
|
|
8
|
-
.isometric_negen{fill:#BE1E2D;}
|
|
9
|
-
.isometric_tien{fill:#7BD6C4;}
|
|
10
|
-
.isometric_elf{fill:#72C0AB;}
|
|
11
|
-
.isometric_twaalf{fill:#569080;}
|
|
12
|
-
.st0{fill:#225B49;}
|
|
13
|
-
.st1{fill:#F8F7C5;}
|
|
14
|
-
.st2{fill:#BE1E2D;}
|
|
15
|
-
.st3{fill:#AD9A74;}
|
|
16
|
-
.st4{fill:#F2D76C;}
|
|
17
|
-
.st5{fill:#F5DF89;}
|
|
18
|
-
.st6{fill:#7BD6C4;}
|
|
19
|
-
.st7{fill:#80CCBE;}
|
|
20
|
-
</style>
|
|
21
|
-
<g>
|
|
22
|
-
<line class="isometric_twaalf" x1="10" y1="20.356" x2="16" y2="16.923"/>
|
|
23
|
-
<polygon class="isometric_acht" points="4,16.915 10,13.466 16,16.923 10,20.356 "/>
|
|
24
|
-
<polygon class="isometric_negen" points="10,28 16,24.536 16,16.923 10,20.356 "/>
|
|
25
|
-
<line class="isometric_twaalf" x1="10" y1="20.356" x2="16" y2="16.923"/>
|
|
26
|
-
<polygon class="isometric_acht" points="4,16.915 10,13.466 16,16.923 10,20.356 "/>
|
|
27
|
-
<polygon class="isometric_negen" points="10,28 16,24.536 16,16.923 10,20.356 "/>
|
|
28
|
-
<polygon class="isometric_zeven" points="10,28 4,24.536 4,16.915 10,20.356 "/>
|
|
29
|
-
<line class="isometric_twaalf" x1="22" y1="20.379" x2="27.962" y2="16.915"/>
|
|
30
|
-
<polygon class="isometric_zes" points="16,16.923 21.962,13.456 27.962,16.915 22,20.379 "/>
|
|
31
|
-
<polygon class="isometric_vijf" points="22,28 16,24.536 16,16.923 22,20.379 "/>
|
|
32
|
-
<polygon class="isometric_acht" points="22,28 27.962,24.536 27.962,16.915 22,20.379 "/>
|
|
33
|
-
<line class="isometric_twaalf" x1="16" y1="9.323" x2="21.962" y2="5.865"/>
|
|
34
|
-
<polygon class="isometric_elf" points="10,5.865 16.037,2.406 21.962,5.865 16,9.323 "/>
|
|
35
|
-
<polygon class="isometric_twaalf" points="16,16.923 21.962,13.456 21.962,5.865 16,9.323 "/>
|
|
36
|
-
<polygon class="isometric_tien" points="16,16.923 10,13.466 10,5.865 16,9.323 "/>
|
|
37
|
-
</g>
|
|
38
|
-
</svg>
|