@nice2dev/icons 1.3.15 → 1.3.16

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 (140) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/cjs/NiceDesktopIconExporter.js +688 -599
  3. package/dist/cjs/NiceFaviconGenerator.js +603 -417
  4. package/dist/cjs/NiceIconPicker.js +788 -508
  5. package/dist/cjs/NiceIconPreview.js +246 -188
  6. package/dist/cjs/NiceIconSetCreator.js +683 -552
  7. package/dist/cjs/NiceIconStacker.js +547 -171
  8. package/dist/cjs/NiceIconValue.js +27 -35
  9. package/dist/cjs/NtdIconBadge.js +384 -360
  10. package/dist/cjs/NtdIconMorph.js +419 -354
  11. package/dist/cjs/NtdStateMorph.js +150 -147
  12. package/dist/cjs/advancedIconSearch.js +373 -510
  13. package/dist/cjs/animationControls.js +518 -642
  14. package/dist/cjs/client.js +12 -15
  15. package/dist/cjs/createIcon.js +349 -251
  16. package/dist/cjs/design-tokens.js +324 -390
  17. package/dist/cjs/figmaExport.js +162 -257
  18. package/dist/cjs/figmaSync.js +234 -316
  19. package/dist/cjs/headless-ui.js +240 -368
  20. package/dist/cjs/iconAnalytics.js +337 -393
  21. package/dist/cjs/iconHtml.js +64 -86
  22. package/dist/cjs/iconMetadata.js +392 -472
  23. package/dist/cjs/iconParts.js +120 -90
  24. package/dist/cjs/iconStack.js +136 -155
  25. package/dist/cjs/iconStyles.js +1609 -504
  26. package/dist/cjs/iconValue.js +359 -430
  27. package/dist/cjs/icons/accessibility.js +1119 -134
  28. package/dist/cjs/icons/actions.js +1290 -330
  29. package/dist/cjs/icons/ai.js +1424 -144
  30. package/dist/cjs/icons/brand.js +1344 -172
  31. package/dist/cjs/icons/business.js +903 -193
  32. package/dist/cjs/icons/devtech.js +1656 -227
  33. package/dist/cjs/icons/ecommerce.js +802 -111
  34. package/dist/cjs/icons/education.js +1345 -199
  35. package/dist/cjs/icons/files.js +1597 -328
  36. package/dist/cjs/icons/fintech.js +793 -104
  37. package/dist/cjs/icons/food.js +1507 -153
  38. package/dist/cjs/icons/fun.js +786 -109
  39. package/dist/cjs/icons/gaming.js +916 -170
  40. package/dist/cjs/icons/health.js +623 -112
  41. package/dist/cjs/icons/index.js +32 -35
  42. package/dist/cjs/icons/input.js +282 -83
  43. package/dist/cjs/icons/legal.js +1065 -122
  44. package/dist/cjs/icons/media.js +1061 -267
  45. package/dist/cjs/icons/navigation.js +387 -122
  46. package/dist/cjs/icons/omniverk.js +747 -90
  47. package/dist/cjs/icons/realestate.js +1520 -193
  48. package/dist/cjs/icons/saas.js +867 -98
  49. package/dist/cjs/icons/science.js +1451 -202
  50. package/dist/cjs/icons/shapes.js +1316 -308
  51. package/dist/cjs/icons/smarthome.js +786 -90
  52. package/dist/cjs/icons/social.js +591 -59
  53. package/dist/cjs/icons/sports.js +1225 -133
  54. package/dist/cjs/icons/sustainability.js +1211 -139
  55. package/dist/cjs/icons/travel.js +1470 -148
  56. package/dist/cjs/icons/ui.js +1508 -315
  57. package/dist/cjs/icons/weather.js +1160 -173
  58. package/dist/cjs/index.js +566 -568
  59. package/dist/cjs/lottieIntegration.js +261 -266
  60. package/dist/cjs/nicetodev-icons.css +1 -1
  61. package/dist/cjs/particleEffects.js +270 -251
  62. package/dist/cjs/resolver.js +229 -284
  63. package/dist/cjs/rsc.js +175 -193
  64. package/dist/cjs/sharpen.js +73 -130
  65. package/dist/cjs/smilAnimations.js +371 -165
  66. package/dist/cjs/stacking.js +87 -122
  67. package/dist/cjs/tailwind-plugin.js +280 -320
  68. package/dist/cjs/types.js +46 -72
  69. package/dist/cjs/utilities.js +163 -324
  70. package/dist/cjs/variantProps.js +12 -52
  71. package/dist/esm/NiceDesktopIconExporter.js +671 -598
  72. package/dist/esm/NiceFaviconGenerator.js +583 -416
  73. package/dist/esm/NiceIconPicker.js +789 -507
  74. package/dist/esm/NiceIconPreview.js +247 -187
  75. package/dist/esm/NiceIconSetCreator.js +685 -551
  76. package/dist/esm/NiceIconStacker.js +549 -170
  77. package/dist/esm/NiceIconValue.js +29 -34
  78. package/dist/esm/NtdIconBadge.js +388 -359
  79. package/dist/esm/NtdIconMorph.js +423 -353
  80. package/dist/esm/NtdStateMorph.js +152 -146
  81. package/dist/esm/advancedIconSearch.js +391 -509
  82. package/dist/esm/animationControls.js +527 -641
  83. package/dist/esm/client.js +48 -10
  84. package/dist/esm/createIcon.js +350 -250
  85. package/dist/esm/design-tokens.js +334 -387
  86. package/dist/esm/figmaExport.js +170 -256
  87. package/dist/esm/figmaSync.js +237 -315
  88. package/dist/esm/headless-ui.js +254 -365
  89. package/dist/esm/iconAnalytics.js +342 -392
  90. package/dist/esm/iconHtml.js +67 -85
  91. package/dist/esm/iconMetadata.js +404 -471
  92. package/dist/esm/iconParts.js +125 -89
  93. package/dist/esm/iconStack.js +145 -154
  94. package/dist/esm/iconStyles.js +1620 -503
  95. package/dist/esm/iconValue.js +361 -429
  96. package/dist/esm/icons/accessibility.js +1133 -133
  97. package/dist/esm/icons/actions.js +1320 -329
  98. package/dist/esm/icons/ai.js +1441 -143
  99. package/dist/esm/icons/brand.js +1351 -171
  100. package/dist/esm/icons/business.js +931 -201
  101. package/dist/esm/icons/devtech.js +1687 -226
  102. package/dist/esm/icons/ecommerce.js +816 -110
  103. package/dist/esm/icons/education.js +1364 -198
  104. package/dist/esm/icons/files.js +1628 -327
  105. package/dist/esm/icons/fintech.js +807 -103
  106. package/dist/esm/icons/food.js +1524 -152
  107. package/dist/esm/icons/fun.js +801 -108
  108. package/dist/esm/icons/gaming.js +933 -169
  109. package/dist/esm/icons/health.js +636 -111
  110. package/dist/esm/icons/index.js +596 -32
  111. package/dist/esm/icons/input.js +326 -82
  112. package/dist/esm/icons/legal.js +1079 -121
  113. package/dist/esm/icons/media.js +1086 -266
  114. package/dist/esm/icons/navigation.js +401 -121
  115. package/dist/esm/icons/omniverk.js +759 -89
  116. package/dist/esm/icons/realestate.js +1544 -198
  117. package/dist/esm/icons/saas.js +880 -97
  118. package/dist/esm/icons/science.js +1477 -208
  119. package/dist/esm/icons/shapes.js +1343 -307
  120. package/dist/esm/icons/smarthome.js +799 -89
  121. package/dist/esm/icons/social.js +599 -58
  122. package/dist/esm/icons/sports.js +1240 -132
  123. package/dist/esm/icons/sustainability.js +1226 -138
  124. package/dist/esm/icons/travel.js +1486 -147
  125. package/dist/esm/icons/ui.js +1540 -314
  126. package/dist/esm/icons/weather.js +1181 -172
  127. package/dist/esm/index.js +756 -58
  128. package/dist/esm/lottieIntegration.js +264 -265
  129. package/dist/esm/nicetodev-icons.css +1 -1
  130. package/dist/esm/particleEffects.js +271 -250
  131. package/dist/esm/resolver.js +231 -283
  132. package/dist/esm/rsc.js +182 -192
  133. package/dist/esm/sharpen.js +78 -129
  134. package/dist/esm/smilAnimations.js +376 -164
  135. package/dist/esm/stacking.js +99 -121
  136. package/dist/esm/tailwind-plugin.js +282 -319
  137. package/dist/esm/types.js +50 -71
  138. package/dist/esm/utilities.js +177 -321
  139. package/dist/esm/variantProps.js +23 -52
  140. package/package.json +15 -22
@@ -1,197 +1,257 @@
1
- import { jsx, jsxs } from 'react/jsx-runtime';
2
- import { useNiceTranslation } from '@nice2dev/ui-core';
3
- import { useState, useMemo } from 'react';
4
-
5
- /* ══════════════════════════════════════════════════════════════════════════════
6
- Constants
7
- ══════════════════════════════════════════════════════════════════════════════ */
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { useNiceTranslation } from "@nice2dev/ui-core";
3
+ import { useState, useMemo } from "react";
8
4
  const DEFAULT_SIZES = [
9
- { label: '12px', size: 12 },
10
- { label: '16px', size: 16 },
11
- { label: '20px', size: 20 },
12
- { label: '24px', size: 24 },
13
- { label: '32px', size: 32 },
14
- { label: '48px', size: 48 },
15
- { label: '64px', size: 64 },
16
- { label: '96px', size: 96 },
5
+ { label: "12px", size: 12 },
6
+ { label: "16px", size: 16 },
7
+ { label: "20px", size: 20 },
8
+ { label: "24px", size: 24 },
9
+ { label: "32px", size: 32 },
10
+ { label: "48px", size: 48 },
11
+ { label: "64px", size: 64 },
12
+ { label: "96px", size: 96 }
17
13
  ];
18
14
  const DEFAULT_ANIMATIONS = [
19
- { name: 'Spin', className: 'nice-icon-spin' },
20
- { name: 'Pulse', className: 'nice-icon-pulse' },
21
- { name: 'Bounce', className: 'nice-icon-bounce' },
22
- { name: 'Shake', className: 'nice-icon-shake' },
23
- { name: 'Fade', className: 'nice-icon-fade' },
15
+ { name: "Spin", className: "nice-icon-spin" },
16
+ { name: "Pulse", className: "nice-icon-pulse" },
17
+ { name: "Bounce", className: "nice-icon-bounce" },
18
+ { name: "Shake", className: "nice-icon-shake" },
19
+ { name: "Fade", className: "nice-icon-fade" }
24
20
  ];
25
21
  const BACKGROUND_COLORS = {
26
- light: '#ffffff',
27
- dark: '#1e1e1e',
28
- gradient: 'linear-gradient(135deg, #667eea 0%, #764ba2 100%)',
22
+ light: "#ffffff",
23
+ dark: "#1e1e1e",
24
+ gradient: "linear-gradient(135deg, #667eea 0%, #764ba2 100%)"
29
25
  };
30
- /* ══════════════════════════════════════════════════════════════════════════════
31
- Animation Styles (inline CSS)
32
- ══════════════════════════════════════════════════════════════════════════════ */
33
- const animationCSS = `
34
- @keyframes nice-spin {
35
- from { transform: rotate(0deg); }
36
- to { transform: rotate(360deg); }
37
- }
38
- @keyframes nice-pulse {
39
- 0%, 100% { opacity: 1; }
40
- 50% { opacity: 0.5; }
41
- }
42
- @keyframes nice-bounce {
43
- 0%, 100% { transform: translateY(0); }
44
- 50% { transform: translateY(-25%); }
45
- }
46
- @keyframes nice-shake {
47
- 0%, 100% { transform: translateX(0); }
48
- 25% { transform: translateX(-5px); }
49
- 75% { transform: translateX(5px); }
50
- }
51
- @keyframes nice-fade {
52
- 0%, 100% { opacity: 1; }
53
- 50% { opacity: 0.3; }
54
- }
55
- .nice-icon-spin { animation: nice-spin 1s linear infinite; }
56
- .nice-icon-pulse { animation: nice-pulse 2s ease-in-out infinite; }
57
- .nice-icon-bounce { animation: nice-bounce 1s ease-in-out infinite; }
58
- .nice-icon-shake { animation: nice-shake 0.5s ease-in-out infinite; }
59
- .nice-icon-fade { animation: nice-fade 2s ease-in-out infinite; }
26
+ const animationCSS = `
27
+ @keyframes nice-spin {
28
+ from { transform: rotate(0deg); }
29
+ to { transform: rotate(360deg); }
30
+ }
31
+ @keyframes nice-pulse {
32
+ 0%, 100% { opacity: 1; }
33
+ 50% { opacity: 0.5; }
34
+ }
35
+ @keyframes nice-bounce {
36
+ 0%, 100% { transform: translateY(0); }
37
+ 50% { transform: translateY(-25%); }
38
+ }
39
+ @keyframes nice-shake {
40
+ 0%, 100% { transform: translateX(0); }
41
+ 25% { transform: translateX(-5px); }
42
+ 75% { transform: translateX(5px); }
43
+ }
44
+ @keyframes nice-fade {
45
+ 0%, 100% { opacity: 1; }
46
+ 50% { opacity: 0.3; }
47
+ }
48
+ .nice-icon-spin { animation: nice-spin 1s linear infinite; }
49
+ .nice-icon-pulse { animation: nice-pulse 2s ease-in-out infinite; }
50
+ .nice-icon-bounce { animation: nice-bounce 1s ease-in-out infinite; }
51
+ .nice-icon-shake { animation: nice-shake 0.5s ease-in-out infinite; }
52
+ .nice-icon-fade { animation: nice-fade 2s ease-in-out infinite; }
60
53
  `;
61
- /* ══════════════════════════════════════════════════════════════════════════════
62
- Component
63
- ══════════════════════════════════════════════════════════════════════════════ */
64
- /**
65
- * Icon preview component with multiple modes and sizes.
66
- */
67
- function NiceIconPreview({ icon: Icon, iconName = 'Icon', mode = 'both', layout = 'grid', sizes = DEFAULT_SIZES, showAnimation = true, animations = DEFAULT_ANIMATIONS, fill, className = '', }) {
68
- const { t } = useNiceTranslation();
69
- const [selectedAnimation, setSelectedAnimation] = useState(null);
70
- // Inject animation styles
71
- const styleSheet = useMemo(() => jsx("style", { dangerouslySetInnerHTML: { __html: animationCSS } }), []);
72
- // Render icon with settings
73
- const renderIcon = (size, bgMode, customFill) => {
74
- const iconFill = customFill || (bgMode === 'dark' ? '#ffffff' : '#1e1e1e');
75
- return (jsx("div", { style: {
76
- ...styles.previewCell,
77
- background: BACKGROUND_COLORS[bgMode],
78
- }, children: jsx(Icon, { size: size, fill: iconFill, className: selectedAnimation || undefined }) }));
79
- };
80
- return (jsxs("div", { className: `nice-icon-preview ${className}`, style: styles.container, children: [styleSheet, jsxs("div", { style: styles.header, children: [jsx("h3", { style: styles.title, children: iconName }), showAnimation && (jsxs("div", { style: styles.animationControls, children: [jsx("span", { style: styles.animationLabel, children: t('iconPreview.animation', 'Animation:') }), jsxs("select", { value: selectedAnimation || '', onChange: (e) => setSelectedAnimation(e.target.value || null), style: styles.select, children: [jsx("option", { value: "", children: t('iconPreview.none', 'None') }), animations.map((a) => (jsx("option", { value: a.className, children: a.name }, a.className)))] })] }))] }), layout === 'grid' && (jsxs("div", { style: styles.gridContainer, children: [(mode === 'light' || mode === 'both') && (jsxs("div", { style: styles.section, children: [jsx("h4", { style: styles.sectionTitle, children: t('iconPreview.lightMode', 'Light Mode') }), jsx("div", { style: styles.sizeGrid, children: sizes.map((s) => (jsxs("div", { style: styles.sizeItem, children: [renderIcon(s.size, 'light', fill), jsx("span", { style: styles.sizeLabel, children: s.label })] }, s.size))) })] })), (mode === 'dark' || mode === 'both') && (jsxs("div", { style: styles.section, children: [jsx("h4", { style: styles.sectionTitle, children: t('iconPreview.darkMode', 'Dark Mode') }), jsx("div", { style: styles.sizeGrid, children: sizes.map((s) => (jsxs("div", { style: styles.sizeItem, children: [renderIcon(s.size, 'dark', fill), jsx("span", { style: styles.sizeLabel, children: s.label })] }, s.size))) })] })), mode === 'gradient' && (jsxs("div", { style: styles.section, children: [jsx("h4", { style: styles.sectionTitle, children: t('iconPreview.gradientBackground', 'Gradient Background') }), jsx("div", { style: styles.sizeGrid, children: sizes.map((s) => (jsxs("div", { style: styles.sizeItem, children: [renderIcon(s.size, 'gradient', '#ffffff'), jsx("span", { style: styles.sizeLabel, children: s.label })] }, s.size))) })] }))] })), layout === 'list' && (jsx("div", { style: styles.listContainer, children: sizes.map((s) => (jsxs("div", { style: styles.listRow, children: [jsx("span", { style: styles.listLabel, children: s.label }), renderIcon(s.size, 'light', fill), renderIcon(s.size, 'dark', fill)] }, s.size))) })), layout === 'comparison' && (jsxs("div", { style: styles.comparisonContainer, children: [jsxs("div", { style: styles.comparisonSide, children: [jsx("h4", { style: styles.sectionTitle, children: t('iconPreview.light', 'Light') }), jsx("div", { style: { ...styles.comparisonBox, background: BACKGROUND_COLORS.light }, children: jsx(Icon, { size: 96, fill: fill || '#1e1e1e', className: selectedAnimation || undefined }) })] }), jsxs("div", { style: styles.comparisonSide, children: [jsx("h4", { style: styles.sectionTitle, children: t('iconPreview.dark', 'Dark') }), jsx("div", { style: { ...styles.comparisonBox, background: BACKGROUND_COLORS.dark }, children: jsx(Icon, { size: 96, fill: fill || '#ffffff', className: selectedAnimation || undefined }) })] })] }))] }));
54
+ function NiceIconPreview({
55
+ icon: Icon,
56
+ iconName = "Icon",
57
+ mode = "both",
58
+ layout = "grid",
59
+ sizes = DEFAULT_SIZES,
60
+ showAnimation = true,
61
+ animations = DEFAULT_ANIMATIONS,
62
+ fill,
63
+ className = ""
64
+ }) {
65
+ const { t } = useNiceTranslation();
66
+ const [selectedAnimation, setSelectedAnimation] = useState(null);
67
+ const styleSheet = useMemo(
68
+ () => /* @__PURE__ */ jsx("style", { dangerouslySetInnerHTML: { __html: animationCSS } }),
69
+ []
70
+ );
71
+ const renderIcon = (size, bgMode, customFill) => {
72
+ const iconFill = customFill || (bgMode === "dark" ? "#ffffff" : "#1e1e1e");
73
+ return /* @__PURE__ */ jsx(
74
+ "div",
75
+ {
76
+ style: {
77
+ ...styles.previewCell,
78
+ background: BACKGROUND_COLORS[bgMode]
79
+ },
80
+ children: /* @__PURE__ */ jsx(Icon, { size, fill: iconFill, className: selectedAnimation || void 0 })
81
+ }
82
+ );
83
+ };
84
+ return /* @__PURE__ */ jsxs("div", { className: `nice-icon-preview ${className}`, style: styles.container, children: [
85
+ styleSheet,
86
+ /* @__PURE__ */ jsxs("div", { style: styles.header, children: [
87
+ /* @__PURE__ */ jsx("h3", { style: styles.title, children: iconName }),
88
+ showAnimation && /* @__PURE__ */ jsxs("div", { style: styles.animationControls, children: [
89
+ /* @__PURE__ */ jsx("span", { style: styles.animationLabel, children: t("iconPreview.animation", "Animation:") }),
90
+ /* @__PURE__ */ jsxs(
91
+ "select",
92
+ {
93
+ value: selectedAnimation || "",
94
+ onChange: (e) => setSelectedAnimation(e.target.value || null),
95
+ style: styles.select,
96
+ children: [
97
+ /* @__PURE__ */ jsx("option", { value: "", children: t("iconPreview.none", "None") }),
98
+ animations.map((a) => /* @__PURE__ */ jsx("option", { value: a.className, children: a.name }, a.className))
99
+ ]
100
+ }
101
+ )
102
+ ] })
103
+ ] }),
104
+ layout === "grid" && /* @__PURE__ */ jsxs("div", { style: styles.gridContainer, children: [
105
+ (mode === "light" || mode === "both") && /* @__PURE__ */ jsxs("div", { style: styles.section, children: [
106
+ /* @__PURE__ */ jsx("h4", { style: styles.sectionTitle, children: t("iconPreview.lightMode", "Light Mode") }),
107
+ /* @__PURE__ */ jsx("div", { style: styles.sizeGrid, children: sizes.map((s) => /* @__PURE__ */ jsxs("div", { style: styles.sizeItem, children: [
108
+ renderIcon(s.size, "light", fill),
109
+ /* @__PURE__ */ jsx("span", { style: styles.sizeLabel, children: s.label })
110
+ ] }, s.size)) })
111
+ ] }),
112
+ (mode === "dark" || mode === "both") && /* @__PURE__ */ jsxs("div", { style: styles.section, children: [
113
+ /* @__PURE__ */ jsx("h4", { style: styles.sectionTitle, children: t("iconPreview.darkMode", "Dark Mode") }),
114
+ /* @__PURE__ */ jsx("div", { style: styles.sizeGrid, children: sizes.map((s) => /* @__PURE__ */ jsxs("div", { style: styles.sizeItem, children: [
115
+ renderIcon(s.size, "dark", fill),
116
+ /* @__PURE__ */ jsx("span", { style: styles.sizeLabel, children: s.label })
117
+ ] }, s.size)) })
118
+ ] }),
119
+ mode === "gradient" && /* @__PURE__ */ jsxs("div", { style: styles.section, children: [
120
+ /* @__PURE__ */ jsx("h4", { style: styles.sectionTitle, children: t("iconPreview.gradientBackground", "Gradient Background") }),
121
+ /* @__PURE__ */ jsx("div", { style: styles.sizeGrid, children: sizes.map((s) => /* @__PURE__ */ jsxs("div", { style: styles.sizeItem, children: [
122
+ renderIcon(s.size, "gradient", "#ffffff"),
123
+ /* @__PURE__ */ jsx("span", { style: styles.sizeLabel, children: s.label })
124
+ ] }, s.size)) })
125
+ ] })
126
+ ] }),
127
+ layout === "list" && /* @__PURE__ */ jsx("div", { style: styles.listContainer, children: sizes.map((s) => /* @__PURE__ */ jsxs("div", { style: styles.listRow, children: [
128
+ /* @__PURE__ */ jsx("span", { style: styles.listLabel, children: s.label }),
129
+ renderIcon(s.size, "light", fill),
130
+ renderIcon(s.size, "dark", fill)
131
+ ] }, s.size)) }),
132
+ layout === "comparison" && /* @__PURE__ */ jsxs("div", { style: styles.comparisonContainer, children: [
133
+ /* @__PURE__ */ jsxs("div", { style: styles.comparisonSide, children: [
134
+ /* @__PURE__ */ jsx("h4", { style: styles.sectionTitle, children: t("iconPreview.light", "Light") }),
135
+ /* @__PURE__ */ jsx("div", { style: { ...styles.comparisonBox, background: BACKGROUND_COLORS.light }, children: /* @__PURE__ */ jsx(Icon, { size: 96, fill: fill || "#1e1e1e", className: selectedAnimation || void 0 }) })
136
+ ] }),
137
+ /* @__PURE__ */ jsxs("div", { style: styles.comparisonSide, children: [
138
+ /* @__PURE__ */ jsx("h4", { style: styles.sectionTitle, children: t("iconPreview.dark", "Dark") }),
139
+ /* @__PURE__ */ jsx("div", { style: { ...styles.comparisonBox, background: BACKGROUND_COLORS.dark }, children: /* @__PURE__ */ jsx(Icon, { size: 96, fill: fill || "#ffffff", className: selectedAnimation || void 0 }) })
140
+ ] })
141
+ ] })
142
+ ] });
81
143
  }
82
- /* ══════════════════════════════════════════════════════════════════════════════
83
- Styles
84
- ══════════════════════════════════════════════════════════════════════════════ */
85
144
  const styles = {
86
- container: {
87
- fontFamily: 'system-ui, -apple-system, sans-serif',
88
- fontSize: '14px',
89
- border: '1px solid #e5e7eb',
90
- borderRadius: '8px',
91
- overflow: 'hidden',
92
- },
93
- header: {
94
- display: 'flex',
95
- justifyContent: 'space-between',
96
- alignItems: 'center',
97
- padding: '12px 16px',
98
- borderBottom: '1px solid #e5e7eb',
99
- backgroundColor: '#f9fafb',
100
- },
101
- title: {
102
- margin: 0,
103
- fontSize: '16px',
104
- fontWeight: 600,
105
- },
106
- animationControls: {
107
- display: 'flex',
108
- alignItems: 'center',
109
- gap: '8px',
110
- },
111
- animationLabel: {
112
- fontSize: '12px',
113
- color: '#6b7280',
114
- },
115
- select: {
116
- padding: '4px 8px',
117
- borderRadius: '4px',
118
- border: '1px solid #d1d5db',
119
- fontSize: '12px',
120
- },
121
- gridContainer: {
122
- padding: '16px',
123
- },
124
- section: {
125
- marginBottom: '20px',
126
- },
127
- sectionTitle: {
128
- margin: '0 0 12px 0',
129
- fontSize: '13px',
130
- fontWeight: 600,
131
- color: '#6b7280',
132
- textTransform: 'uppercase',
133
- letterSpacing: '0.5px',
134
- },
135
- sizeGrid: {
136
- display: 'flex',
137
- flexWrap: 'wrap',
138
- gap: '12px',
139
- },
140
- sizeItem: {
141
- display: 'flex',
142
- flexDirection: 'column',
143
- alignItems: 'center',
144
- gap: '6px',
145
- },
146
- previewCell: {
147
- display: 'flex',
148
- alignItems: 'center',
149
- justifyContent: 'center',
150
- padding: '12px',
151
- borderRadius: '8px',
152
- minWidth: '48px',
153
- minHeight: '48px',
154
- border: '1px solid #e5e7eb',
155
- },
156
- sizeLabel: {
157
- fontSize: '11px',
158
- color: '#9ca3af',
159
- },
160
- listContainer: {
161
- padding: '16px',
162
- },
163
- listRow: {
164
- display: 'flex',
165
- alignItems: 'center',
166
- gap: '16px',
167
- padding: '8px 0',
168
- borderBottom: '1px solid #f3f4f6',
169
- },
170
- listLabel: {
171
- width: '60px',
172
- fontSize: '12px',
173
- color: '#6b7280',
174
- },
175
- comparisonContainer: {
176
- display: 'flex',
177
- padding: '16px',
178
- gap: '16px',
179
- },
180
- comparisonSide: {
181
- flex: 1,
182
- display: 'flex',
183
- flexDirection: 'column',
184
- alignItems: 'center',
185
- },
186
- comparisonBox: {
187
- display: 'flex',
188
- alignItems: 'center',
189
- justifyContent: 'center',
190
- width: '100%',
191
- padding: '32px',
192
- borderRadius: '8px',
193
- border: '1px solid #e5e7eb',
194
- },
145
+ container: {
146
+ fontFamily: "system-ui, -apple-system, sans-serif",
147
+ fontSize: "14px",
148
+ border: "1px solid #e5e7eb",
149
+ borderRadius: "8px",
150
+ overflow: "hidden"
151
+ },
152
+ header: {
153
+ display: "flex",
154
+ justifyContent: "space-between",
155
+ alignItems: "center",
156
+ padding: "12px 16px",
157
+ borderBottom: "1px solid #e5e7eb",
158
+ backgroundColor: "#f9fafb"
159
+ },
160
+ title: {
161
+ margin: 0,
162
+ fontSize: "16px",
163
+ fontWeight: 600
164
+ },
165
+ animationControls: {
166
+ display: "flex",
167
+ alignItems: "center",
168
+ gap: "8px"
169
+ },
170
+ animationLabel: {
171
+ fontSize: "12px",
172
+ color: "#6b7280"
173
+ },
174
+ select: {
175
+ padding: "4px 8px",
176
+ borderRadius: "4px",
177
+ border: "1px solid #d1d5db",
178
+ fontSize: "12px"
179
+ },
180
+ gridContainer: {
181
+ padding: "16px"
182
+ },
183
+ section: {
184
+ marginBottom: "20px"
185
+ },
186
+ sectionTitle: {
187
+ margin: "0 0 12px 0",
188
+ fontSize: "13px",
189
+ fontWeight: 600,
190
+ color: "#6b7280",
191
+ textTransform: "uppercase",
192
+ letterSpacing: "0.5px"
193
+ },
194
+ sizeGrid: {
195
+ display: "flex",
196
+ flexWrap: "wrap",
197
+ gap: "12px"
198
+ },
199
+ sizeItem: {
200
+ display: "flex",
201
+ flexDirection: "column",
202
+ alignItems: "center",
203
+ gap: "6px"
204
+ },
205
+ previewCell: {
206
+ display: "flex",
207
+ alignItems: "center",
208
+ justifyContent: "center",
209
+ padding: "12px",
210
+ borderRadius: "8px",
211
+ minWidth: "48px",
212
+ minHeight: "48px",
213
+ border: "1px solid #e5e7eb"
214
+ },
215
+ sizeLabel: {
216
+ fontSize: "11px",
217
+ color: "#9ca3af"
218
+ },
219
+ listContainer: {
220
+ padding: "16px"
221
+ },
222
+ listRow: {
223
+ display: "flex",
224
+ alignItems: "center",
225
+ gap: "16px",
226
+ padding: "8px 0",
227
+ borderBottom: "1px solid #f3f4f6"
228
+ },
229
+ listLabel: {
230
+ width: "60px",
231
+ fontSize: "12px",
232
+ color: "#6b7280"
233
+ },
234
+ comparisonContainer: {
235
+ display: "flex",
236
+ padding: "16px",
237
+ gap: "16px"
238
+ },
239
+ comparisonSide: {
240
+ flex: 1,
241
+ display: "flex",
242
+ flexDirection: "column",
243
+ alignItems: "center"
244
+ },
245
+ comparisonBox: {
246
+ display: "flex",
247
+ alignItems: "center",
248
+ justifyContent: "center",
249
+ width: "100%",
250
+ padding: "32px",
251
+ borderRadius: "8px",
252
+ border: "1px solid #e5e7eb"
253
+ }
254
+ };
255
+ export {
256
+ NiceIconPreview
195
257
  };
196
-
197
- export { NiceIconPreview };