@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.
Files changed (56) hide show
  1. package/.vercel/README.txt +11 -0
  2. package/.vercel/project.json +1 -0
  3. package/README.md +82 -195
  4. package/assets/preview.png +0 -0
  5. package/assets/skenas.svg +1 -0
  6. package/dist/index.d.ts +1 -5
  7. package/dist/index.js +1 -1
  8. package/dist/index.js.map +1 -1
  9. package/dist/index.mjs +1 -1
  10. package/dist/index.mjs.map +1 -1
  11. package/package.json +22 -17
  12. package/script/svgr-convert-only-new.js +28 -0
  13. package/script/update-icon-exports.js +26 -0
  14. package/script/update-storybook.js +66 -0
  15. package/assets/buildix.svg +0 -38
  16. package/storybook-static/247.25a0be85.iframe.bundle.js +0 -87
  17. package/storybook-static/247.25a0be85.iframe.bundle.js.LICENSE.txt +0 -9
  18. package/storybook-static/247.25a0be85.iframe.bundle.js.map +0 -1
  19. package/storybook-static/254.e01ff6bb.iframe.bundle.js +0 -409
  20. package/storybook-static/254.e01ff6bb.iframe.bundle.js.LICENSE.txt +0 -9
  21. package/storybook-static/254.e01ff6bb.iframe.bundle.js.map +0 -1
  22. package/storybook-static/357.6c8d88a6.iframe.bundle.js +0 -1
  23. package/storybook-static/648.3e8aa4c4.iframe.bundle.js +0 -1
  24. package/storybook-static/735.921e2ca6.iframe.bundle.js +0 -2
  25. package/storybook-static/735.921e2ca6.iframe.bundle.js.LICENSE.txt +0 -19
  26. package/storybook-static/788.09d6734a.iframe.bundle.js +0 -1
  27. package/storybook-static/favicon-wrapper.svg +0 -46
  28. package/storybook-static/favicon.svg +0 -1
  29. package/storybook-static/iframe.html +0 -533
  30. package/storybook-static/index.html +0 -148
  31. package/storybook-static/index.json +0 -1
  32. package/storybook-static/main.99b920e4.iframe.bundle.js +0 -1
  33. package/storybook-static/mocker-runtime-injected.js +0 -2
  34. package/storybook-static/mocker-runtime-injected.js.LICENSE.txt +0 -46
  35. package/storybook-static/nunito-sans-bold-italic.woff2 +0 -0
  36. package/storybook-static/nunito-sans-bold.woff2 +0 -0
  37. package/storybook-static/nunito-sans-italic.woff2 +0 -0
  38. package/storybook-static/nunito-sans-regular.woff2 +0 -0
  39. package/storybook-static/project.json +0 -1
  40. package/storybook-static/runtime~main.d9c16a52.iframe.bundle.js +0 -1
  41. package/storybook-static/sb-addons/docs-1/manager-bundle.js +0 -151
  42. package/storybook-static/sb-addons/storybook-core-server-presets-0/common-manager-bundle.js +0 -971
  43. package/storybook-static/sb-common-assets/favicon-wrapper.svg +0 -46
  44. package/storybook-static/sb-common-assets/favicon.svg +0 -1
  45. package/storybook-static/sb-common-assets/nunito-sans-bold-italic.woff2 +0 -0
  46. package/storybook-static/sb-common-assets/nunito-sans-bold.woff2 +0 -0
  47. package/storybook-static/sb-common-assets/nunito-sans-italic.woff2 +0 -0
  48. package/storybook-static/sb-common-assets/nunito-sans-regular.woff2 +0 -0
  49. package/storybook-static/sb-manager/globals-module-info.js +0 -797
  50. package/storybook-static/sb-manager/globals-runtime.js +0 -69653
  51. package/storybook-static/sb-manager/globals.js +0 -34
  52. package/storybook-static/sb-manager/runtime.js +0 -13181
  53. package/storybook-static/sb-preview/globals.js +0 -25
  54. package/storybook-static/sb-preview/runtime.js +0 -43265
  55. package/storybook-static/stories-datePicker-stories.1a36012a.iframe.bundle.js +0 -2
  56. 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.7",
4
- "description": "A modern, customizable wheel datepicker component for React applications, offering intuitive date selection with a smooth scrolling interface.",
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": "Buildix Team",
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
- "@types/moment-jalaali": "^0.7.9",
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/wheel-datepicker.git"
43
+ "url": "https://github.com/sadegh1379/es-icons.git"
43
44
  },
44
45
  "keywords": [
45
46
  "react",
46
- "datepicker",
47
- "wheel",
48
- "date-picker",
49
- "persian-wheel-picker",
50
- "persian-datepicker",
51
- "jalali-datepicker",
52
- "wheel-datepicker",
53
- "date",
54
- "picker",
55
- "scroll-picker"
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": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
59
- "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
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 };
@@ -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>