@nice2dev/icons 1.0.0 → 1.0.3

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 (152) hide show
  1. package/CHANGELOG.md +169 -7
  2. package/README.md +247 -2
  3. package/bin/ntd-icons.mjs +732 -0
  4. package/dist/cjs/NtdIconBadge.js +375 -0
  5. package/dist/cjs/NtdIconBadge.js.map +1 -0
  6. package/dist/cjs/NtdIconMorph.js +386 -0
  7. package/dist/cjs/NtdIconMorph.js.map +1 -0
  8. package/dist/cjs/NtdStateMorph.js +177 -0
  9. package/dist/cjs/NtdStateMorph.js.map +1 -0
  10. package/dist/cjs/createIcon.js +51 -4
  11. package/dist/cjs/createIcon.js.map +1 -1
  12. package/dist/cjs/figmaSync.js +308 -0
  13. package/dist/cjs/figmaSync.js.map +1 -0
  14. package/dist/cjs/iconAnalytics.js +189 -0
  15. package/dist/cjs/iconAnalytics.js.map +1 -0
  16. package/dist/cjs/iconMetadata.js +523 -0
  17. package/dist/cjs/iconMetadata.js.map +1 -0
  18. package/dist/cjs/iconStyles.js +597 -0
  19. package/dist/cjs/iconStyles.js.map +1 -0
  20. package/dist/cjs/icons/accessibility.js +168 -0
  21. package/dist/cjs/icons/accessibility.js.map +1 -0
  22. package/dist/cjs/icons/ai.js +191 -0
  23. package/dist/cjs/icons/ai.js.map +1 -0
  24. package/dist/cjs/icons/brand.js +70 -0
  25. package/dist/cjs/icons/brand.js.map +1 -1
  26. package/dist/cjs/icons/education.js +212 -0
  27. package/dist/cjs/icons/education.js.map +1 -0
  28. package/dist/cjs/icons/food.js +198 -0
  29. package/dist/cjs/icons/food.js.map +1 -0
  30. package/dist/cjs/icons/gaming.js +191 -0
  31. package/dist/cjs/icons/gaming.js.map +1 -0
  32. package/dist/cjs/icons/index.js +520 -0
  33. package/dist/cjs/icons/index.js.map +1 -0
  34. package/dist/cjs/icons/legal.js +168 -0
  35. package/dist/cjs/icons/legal.js.map +1 -0
  36. package/dist/cjs/icons/realestate.js +212 -0
  37. package/dist/cjs/icons/realestate.js.map +1 -0
  38. package/dist/cjs/icons/science.js +201 -0
  39. package/dist/cjs/icons/science.js.map +1 -0
  40. package/dist/cjs/icons/sports.js +176 -0
  41. package/dist/cjs/icons/sports.js.map +1 -0
  42. package/dist/cjs/icons/sustainability.js +193 -0
  43. package/dist/cjs/icons/sustainability.js.map +1 -0
  44. package/dist/cjs/icons/travel.js +184 -0
  45. package/dist/cjs/icons/travel.js.map +1 -0
  46. package/dist/cjs/index.js +265 -2
  47. package/dist/cjs/index.js.map +1 -1
  48. package/dist/cjs/lottieIntegration.js +286 -0
  49. package/dist/cjs/lottieIntegration.js.map +1 -0
  50. package/dist/cjs/nicetodev-icons.css +1 -1
  51. package/dist/cjs/particleEffects.js +259 -0
  52. package/dist/cjs/particleEffects.js.map +1 -0
  53. package/dist/cjs/resolver.js +224 -0
  54. package/dist/cjs/resolver.js.map +1 -0
  55. package/dist/cjs/tailwind-plugin.js +340 -0
  56. package/dist/cjs/tailwind-plugin.js.map +1 -0
  57. package/dist/cjs/types.js +38 -0
  58. package/dist/cjs/types.js.map +1 -1
  59. package/dist/cjs/variantProps.js +78 -0
  60. package/dist/cjs/variantProps.js.map +1 -0
  61. package/dist/esm/NtdIconBadge.js +370 -0
  62. package/dist/esm/NtdIconBadge.js.map +1 -0
  63. package/dist/esm/NtdIconMorph.js +381 -0
  64. package/dist/esm/NtdIconMorph.js.map +1 -0
  65. package/dist/esm/NtdStateMorph.js +174 -0
  66. package/dist/esm/NtdStateMorph.js.map +1 -0
  67. package/dist/esm/createIcon.js +53 -6
  68. package/dist/esm/createIcon.js.map +1 -1
  69. package/dist/esm/figmaSync.js +304 -0
  70. package/dist/esm/figmaSync.js.map +1 -0
  71. package/dist/esm/iconAnalytics.js +185 -0
  72. package/dist/esm/iconAnalytics.js.map +1 -0
  73. package/dist/esm/iconMetadata.js +510 -0
  74. package/dist/esm/iconMetadata.js.map +1 -0
  75. package/dist/esm/iconStyles.js +585 -0
  76. package/dist/esm/iconStyles.js.map +1 -0
  77. package/dist/esm/icons/accessibility.js +153 -0
  78. package/dist/esm/icons/accessibility.js.map +1 -0
  79. package/dist/esm/icons/ai.js +174 -0
  80. package/dist/esm/icons/ai.js.map +1 -0
  81. package/dist/esm/icons/brand.js +67 -1
  82. package/dist/esm/icons/brand.js.map +1 -1
  83. package/dist/esm/icons/education.js +193 -0
  84. package/dist/esm/icons/education.js.map +1 -0
  85. package/dist/esm/icons/food.js +180 -0
  86. package/dist/esm/icons/food.js.map +1 -0
  87. package/dist/esm/icons/gaming.js +174 -0
  88. package/dist/esm/icons/gaming.js.map +1 -0
  89. package/dist/esm/icons/index.js +31 -0
  90. package/dist/esm/icons/index.js.map +1 -0
  91. package/dist/esm/icons/legal.js +153 -0
  92. package/dist/esm/icons/legal.js.map +1 -0
  93. package/dist/esm/icons/realestate.js +193 -0
  94. package/dist/esm/icons/realestate.js.map +1 -0
  95. package/dist/esm/icons/science.js +183 -0
  96. package/dist/esm/icons/science.js.map +1 -0
  97. package/dist/esm/icons/sports.js +160 -0
  98. package/dist/esm/icons/sports.js.map +1 -0
  99. package/dist/esm/icons/sustainability.js +176 -0
  100. package/dist/esm/icons/sustainability.js.map +1 -0
  101. package/dist/esm/icons/travel.js +167 -0
  102. package/dist/esm/icons/travel.js.map +1 -0
  103. package/dist/esm/index.js +27 -5
  104. package/dist/esm/index.js.map +1 -1
  105. package/dist/esm/lottieIntegration.js +282 -0
  106. package/dist/esm/lottieIntegration.js.map +1 -0
  107. package/dist/esm/nicetodev-icons.css +1 -1
  108. package/dist/esm/particleEffects.js +257 -0
  109. package/dist/esm/particleEffects.js.map +1 -0
  110. package/dist/esm/resolver.js +221 -0
  111. package/dist/esm/resolver.js.map +1 -0
  112. package/dist/esm/tailwind-plugin.js +337 -0
  113. package/dist/esm/tailwind-plugin.js.map +1 -0
  114. package/dist/esm/types.js +37 -1
  115. package/dist/esm/types.js.map +1 -1
  116. package/dist/esm/variantProps.js +68 -0
  117. package/dist/esm/variantProps.js.map +1 -0
  118. package/dist/types/NtdIconBadge.d.ts +209 -0
  119. package/dist/types/NtdIconMorph.d.ts +183 -0
  120. package/dist/types/NtdStateMorph.d.ts +100 -0
  121. package/dist/types/client.d.ts +27 -0
  122. package/dist/types/design-tokens.d.ts +281 -0
  123. package/dist/types/figmaSync.d.ts +135 -0
  124. package/dist/types/headless-ui.d.ts +462 -0
  125. package/dist/types/iconAnalytics.d.ts +131 -0
  126. package/dist/types/iconMetadata.d.ts +123 -0
  127. package/dist/types/iconStyles.d.ts +104 -0
  128. package/dist/types/icons/accessibility.d.ts +39 -0
  129. package/dist/types/icons/ai.d.ts +43 -0
  130. package/dist/types/icons/brand.d.ts +4 -0
  131. package/dist/types/icons/education.d.ts +47 -0
  132. package/dist/types/icons/food.d.ts +45 -0
  133. package/dist/types/icons/gaming.d.ts +42 -0
  134. package/dist/types/icons/index.d.ts +12 -1
  135. package/dist/types/icons/legal.d.ts +39 -0
  136. package/dist/types/icons/realestate.d.ts +47 -0
  137. package/dist/types/icons/science.d.ts +45 -0
  138. package/dist/types/icons/sports.d.ts +41 -0
  139. package/dist/types/icons/sustainability.d.ts +43 -0
  140. package/dist/types/icons/travel.d.ts +43 -0
  141. package/dist/types/index.d.ts +28 -6
  142. package/dist/types/lottieIntegration.d.ts +173 -0
  143. package/dist/types/micro-interactions.d.ts +146 -0
  144. package/dist/types/microInteractions.d.ts +174 -0
  145. package/dist/types/particleEffects.d.ts +69 -0
  146. package/dist/types/resolver.d.ts +58 -0
  147. package/dist/types/rsc.d.ts +159 -0
  148. package/dist/types/tailwind-plugin.d.ts +100 -0
  149. package/dist/types/types.d.ts +100 -0
  150. package/dist/types/utilities.d.ts +221 -0
  151. package/dist/types/variantProps.d.ts +122 -0
  152. package/package.json +58 -5
@@ -0,0 +1,224 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var index = require('./icons/index.js');
5
+
6
+ /**
7
+ * resolver.ts — Integration with @nice2dev/ui NiceIconProvider.
8
+ *
9
+ * Creates a resolver function that maps NiceIcon name strings
10
+ * to @nice2dev/icons React components.
11
+ *
12
+ * Usage:
13
+ * ```tsx
14
+ * import { NiceIconProvider } from '@nice2dev/ui';
15
+ * import { createNiceIconResolver } from '@nice2dev/icons';
16
+ *
17
+ * <NiceIconProvider resolver={createNiceIconResolver()}>
18
+ * <App />
19
+ * </NiceIconProvider>
20
+ * ```
21
+ */
22
+ /* ═══════════════════════════════════════════
23
+ Name Mapping
24
+ ═══════════════════════════════════════════ */
25
+ /**
26
+ * Map from NiceIcon names (kebab-case) to Ntd component names.
27
+ * Covers all 78 built-in NiceIcon names + common aliases.
28
+ */
29
+ const NAME_MAP = {
30
+ // Navigation
31
+ 'chevron-up': 'NtdChevronUp',
32
+ 'chevron-down': 'NtdChevronDown',
33
+ 'chevron-left': 'NtdChevronLeft',
34
+ 'chevron-right': 'NtdChevronRight',
35
+ 'arrow-up': 'NtdArrowUp',
36
+ 'arrow-down': 'NtdArrowDown',
37
+ 'arrow-left': 'NtdArrowLeft',
38
+ 'arrow-right': 'NtdArrowRight',
39
+ 'menu': 'NtdMenu',
40
+ 'more-horizontal': 'NtdMoreHorizontal',
41
+ 'more-vertical': 'NtdMoreVertical',
42
+ 'external-link': 'NtdExternalLink',
43
+ 'refresh': 'NtdRefresh',
44
+ // Actions
45
+ 'close': 'NtdClose',
46
+ 'plus': 'NtdPlus',
47
+ 'minus': 'NtdMinus',
48
+ 'check': 'NtdCheck',
49
+ 'edit': 'NtdEdit',
50
+ 'trash': 'NtdTrash',
51
+ 'copy': 'NtdCopy',
52
+ 'download': 'NtdDownload',
53
+ 'upload': 'NtdUpload',
54
+ 'search': 'NtdSearch',
55
+ 'filter': 'NtdFilter',
56
+ 'sort': 'NtdSort',
57
+ 'sort-asc': 'NtdSort',
58
+ 'sort-desc': 'NtdSort',
59
+ 'settings': 'NtdSettings',
60
+ 'eye': 'NtdEye',
61
+ 'eye-off': 'NtdEyeOff',
62
+ 'lock': 'NtdLock',
63
+ 'unlock': 'NtdUnlock',
64
+ 'save': 'NtdSave',
65
+ 'share': 'NtdShare',
66
+ 'clipboard': 'NtdClipboard',
67
+ 'print': 'NtdPrint',
68
+ 'zoom-in': 'NtdZoomIn',
69
+ 'zoom-out': 'NtdZoomOut',
70
+ 'undo': 'NtdUndo',
71
+ 'redo': 'NtdRedo',
72
+ 'link': 'NtdLink',
73
+ 'login': 'NtdLogIn',
74
+ 'logout': 'NtdLogOut',
75
+ // Status
76
+ 'info': 'NtdInfo',
77
+ 'warning': 'NtdWarning',
78
+ 'error': 'NtdError',
79
+ 'success': 'NtdSuccess',
80
+ 'help': 'NtdHelp',
81
+ // Content
82
+ 'calendar': 'NtdCalendar',
83
+ 'clock': 'NtdClock',
84
+ 'file': 'NtdFile',
85
+ 'file-text': 'NtdFileText',
86
+ 'folder': 'NtdFolder',
87
+ 'folder-open': 'NtdFolderOpen',
88
+ 'image': 'NtdImage',
89
+ 'link-2': 'NtdLink',
90
+ 'mail': 'NtdMail',
91
+ 'phone': 'NtdPhone',
92
+ 'user': 'NtdUser',
93
+ 'users': 'NtdUsers',
94
+ 'home': 'NtdHome',
95
+ 'star': 'NtdStar',
96
+ 'heart': 'NtdHeart',
97
+ 'bell': 'NtdBell',
98
+ 'grip': 'NtdGrid',
99
+ 'tag': 'NtdTag',
100
+ 'bookmark': 'NtdBookmark',
101
+ 'flag': 'NtdFlag',
102
+ 'globe': 'NtdGlobe',
103
+ 'map': 'NtdMap',
104
+ 'pin': 'NtdPin',
105
+ 'shield': 'NtdShield',
106
+ // Media
107
+ 'play': 'NtdPlay',
108
+ 'pause': 'NtdPause',
109
+ 'stop': 'NtdStop',
110
+ 'skip-forward': 'NtdSkipForward',
111
+ 'skip-back': 'NtdSkipBack',
112
+ 'volume': 'NtdVolume',
113
+ 'volume-mute': 'NtdVolumeMute',
114
+ 'camera': 'NtdCamera',
115
+ 'video': 'NtdVideo',
116
+ 'microphone': 'NtdMicrophone',
117
+ 'music': 'NtdMusic',
118
+ 'palette': 'NtdPalette',
119
+ // Misc
120
+ 'expand': 'NtdMaximize',
121
+ 'collapse': 'NtdMinimize',
122
+ 'database': 'NtdDatabase',
123
+ 'cloud': 'NtdCloud',
124
+ 'terminal': 'NtdTerminal',
125
+ 'code': 'NtdCode',
126
+ 'git': 'NtdGit',
127
+ 'package': 'NtdPackage',
128
+ 'layers': 'NtdLayers',
129
+ 'grid': 'NtdGrid',
130
+ 'list': 'NtdList',
131
+ 'table': 'NtdTable',
132
+ 'monitor': 'NtdMonitor',
133
+ 'cpu': 'NtdCpu',
134
+ 'zap': 'NtdZap',
135
+ 'key': 'NtdKey',
136
+ 'award': 'NtdAward',
137
+ 'coffee': 'NtdCoffee',
138
+ 'cart': 'NtdCart',
139
+ 'credit-card': 'NtdCreditCard',
140
+ 'pie-chart': 'NtdPieChart',
141
+ 'bar-chart': 'NtdBarChart',
142
+ 'activity': 'NtdActivity',
143
+ 'target': 'NtdTarget',
144
+ 'sun': 'NtdSun',
145
+ 'moon': 'NtdMoon',
146
+ 'cursor': 'NtdCursor',
147
+ // Common aliases
148
+ 'delete': 'NtdTrash',
149
+ 'remove': 'NtdClose',
150
+ 'add': 'NtdPlus',
151
+ 'x': 'NtdClose',
152
+ 'pencil': 'NtdEdit',
153
+ 'cog': 'NtdSettings',
154
+ 'gear': 'NtdSettings',
155
+ 'magnify': 'NtdSearch',
156
+ 'bell-ring': 'NtdBellRing',
157
+ 'chat': 'NtdChat',
158
+ 'send': 'NtdSend',
159
+ 'notification': 'NtdNotification',
160
+ 'dashboard': 'NtdDashboard',
161
+ 'analytics': 'NtdAnalytics',
162
+ 'rocket': 'NtdRocket',
163
+ };
164
+ /** Build lookup of component references keyed by component name */
165
+ const iconComponents = index;
166
+ /* ═══════════════════════════════════════════
167
+ Resolver Factory
168
+ ═══════════════════════════════════════════ */
169
+ /**
170
+ * Creates a resolver function compatible with NiceIconProvider from @nice2dev/ui.
171
+ *
172
+ * @example
173
+ * ```tsx
174
+ * import { NiceIconProvider } from '@nice2dev/ui';
175
+ * import { createNiceIconResolver } from '@nice2dev/icons';
176
+ *
177
+ * // Basic usage
178
+ * <NiceIconProvider resolver={createNiceIconResolver()}>
179
+ * <NiceIcon name="home" size="lg" />
180
+ * </NiceIconProvider>
181
+ *
182
+ * // With options
183
+ * <NiceIconProvider resolver={createNiceIconResolver({
184
+ * variant: 'duotone',
185
+ * primaryColor: '#3b82f6',
186
+ * secondaryColor: '#e0e7ff',
187
+ * })}>
188
+ * <App />
189
+ * </NiceIconProvider>
190
+ * ```
191
+ */
192
+ function createNiceIconResolver(options = {}) {
193
+ const { variant = 'outline', primaryColor, secondaryColor, customMappings = {}, fallback, } = options;
194
+ const mergedMap = { ...NAME_MAP, ...customMappings };
195
+ return (name, size) => {
196
+ // 1. Try direct name mapping
197
+ const componentName = mergedMap[name];
198
+ // 2. Try PascalCase conversion: "arrow-up" → "NtdArrowUp"
199
+ const pascalized = componentName !== null && componentName !== void 0 ? componentName : `Ntd${name.split('-').map((s) => s.charAt(0).toUpperCase() + s.slice(1)).join('')}`;
200
+ const IconComponent = iconComponents[pascalized];
201
+ if (!IconComponent) {
202
+ if (fallback) {
203
+ return React.createElement(fallback, { size, variant, primaryColor, secondaryColor });
204
+ }
205
+ return undefined;
206
+ }
207
+ const props = { size, variant };
208
+ if (primaryColor)
209
+ props.primaryColor = primaryColor;
210
+ if (secondaryColor)
211
+ props.secondaryColor = secondaryColor;
212
+ return React.createElement(IconComponent, props);
213
+ };
214
+ }
215
+ /**
216
+ * Get a list of all available icon names that can be resolved.
217
+ */
218
+ function getResolverIconNames() {
219
+ return Object.keys(NAME_MAP);
220
+ }
221
+
222
+ exports.createNiceIconResolver = createNiceIconResolver;
223
+ exports.getResolverIconNames = getResolverIconNames;
224
+ //# sourceMappingURL=resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolver.js","sources":["../../src/resolver.ts"],"sourcesContent":[null],"names":["allIcons"],"mappings":"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"}
@@ -0,0 +1,340 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * @file tailwind-plugin.ts
5
+ * @description Tailwind CSS Plugin for @nice2dev/icons
6
+ *
7
+ * Enables Tailwind CSS utility classes directly on NiceToDev icons:
8
+ * <NtdHome className="text-blue-500 w-6 h-6 hover:text-blue-700" />
9
+ *
10
+ * @version 1.0.0
11
+ * @since 2026-03
12
+ * @license MIT
13
+ */
14
+ const defaultSizes = {
15
+ xs: '0.75rem',
16
+ sm: '1rem',
17
+ md: '1.5rem',
18
+ lg: '2rem',
19
+ xl: '3rem',
20
+ '2xl': '4rem',
21
+ };
22
+ /**
23
+ * Tailwind CSS Plugin for NiceToDev Icons
24
+ *
25
+ * @example
26
+ * // tailwind.config.js
27
+ * import { ntdIconPlugin } from '@nice2dev/icons/tailwind';
28
+ *
29
+ * export default {
30
+ * plugins: [
31
+ * ntdIconPlugin({
32
+ * prefix: 'ntd-icon',
33
+ * animations: true,
34
+ * }),
35
+ * ],
36
+ * };
37
+ *
38
+ * @example
39
+ * // Usage in components
40
+ * <NtdHome className="ntd-icon-md text-blue-500 hover:ntd-icon-bounce" />
41
+ * <NtdStar className="ntd-icon-lg ntd-icon-spin text-yellow-400" />
42
+ */
43
+ const ntdIconPlugin = (options = {}) => {
44
+ const { prefix = 'ntd-icon', sizes = defaultSizes, animations = true, variantUtilities = true, } = options;
45
+ return function ({ addUtilities, addComponents, theme, matchUtilities }) {
46
+ // ─────────────────────────────────────────────────────────────────────
47
+ // SIZE UTILITIES
48
+ // ─────────────────────────────────────────────────────────────────────
49
+ const sizeUtilities = {};
50
+ Object.entries(sizes).forEach(([key, value]) => {
51
+ sizeUtilities[`.${prefix}-${key}`] = {
52
+ width: value,
53
+ height: value,
54
+ };
55
+ });
56
+ addUtilities(sizeUtilities);
57
+ // Dynamic sizing using Tailwind's spacing scale
58
+ matchUtilities({
59
+ [`${prefix}-size`]: (value) => ({
60
+ width: value,
61
+ height: value,
62
+ }),
63
+ }, { values: theme('spacing') });
64
+ // ─────────────────────────────────────────────────────────────────────
65
+ // COLOR UTILITIES (for SVG icons)
66
+ // ─────────────────────────────────────────────────────────────────────
67
+ const colorUtilities = {
68
+ // Primary color (main icon color)
69
+ [`.${prefix}-current`]: {
70
+ color: 'currentColor',
71
+ '--ntd-primary-color': 'currentColor',
72
+ },
73
+ // For duotone: secondary color
74
+ [`.${prefix}-secondary-current`]: {
75
+ '--ntd-secondary-color': 'currentColor',
76
+ },
77
+ // Opacity for secondary color in duotone
78
+ [`.${prefix}-secondary-opacity-25`]: {
79
+ '--ntd-secondary-opacity': '0.25',
80
+ },
81
+ [`.${prefix}-secondary-opacity-50`]: {
82
+ '--ntd-secondary-opacity': '0.5',
83
+ },
84
+ [`.${prefix}-secondary-opacity-75`]: {
85
+ '--ntd-secondary-opacity': '0.75',
86
+ },
87
+ };
88
+ addUtilities(colorUtilities);
89
+ // Dynamic color matching using Tailwind's color palette
90
+ matchUtilities({
91
+ [`${prefix}-primary`]: (value) => ({
92
+ '--ntd-primary-color': value,
93
+ }),
94
+ [`${prefix}-secondary`]: (value) => ({
95
+ '--ntd-secondary-color': value,
96
+ }),
97
+ }, { values: flattenColorPalette(theme('colors')) });
98
+ // ─────────────────────────────────────────────────────────────────────
99
+ // STROKE WIDTH UTILITIES
100
+ // ─────────────────────────────────────────────────────────────────────
101
+ const strokeUtilities = {
102
+ [`.${prefix}-stroke-thin`]: {
103
+ '--ntd-stroke-width': '1',
104
+ },
105
+ [`.${prefix}-stroke-normal`]: {
106
+ '--ntd-stroke-width': '1.5',
107
+ },
108
+ [`.${prefix}-stroke-medium`]: {
109
+ '--ntd-stroke-width': '2',
110
+ },
111
+ [`.${prefix}-stroke-thick`]: {
112
+ '--ntd-stroke-width': '2.5',
113
+ },
114
+ [`.${prefix}-stroke-bold`]: {
115
+ '--ntd-stroke-width': '3',
116
+ },
117
+ };
118
+ addUtilities(strokeUtilities);
119
+ matchUtilities({
120
+ [`${prefix}-stroke`]: (value) => ({
121
+ '--ntd-stroke-width': value,
122
+ }),
123
+ }, { values: { '0.5': '0.5', '1': '1', '1.5': '1.5', '2': '2', '2.5': '2.5', '3': '3' } });
124
+ // ─────────────────────────────────────────────────────────────────────
125
+ // VARIANT UTILITIES
126
+ // ─────────────────────────────────────────────────────────────────────
127
+ if (variantUtilities) {
128
+ const variantClasses = {
129
+ [`.${prefix}-solid`]: {
130
+ '--ntd-variant': 'solid',
131
+ },
132
+ [`.${prefix}-outline`]: {
133
+ '--ntd-variant': 'outline',
134
+ },
135
+ [`.${prefix}-duotone`]: {
136
+ '--ntd-variant': 'duotone',
137
+ },
138
+ [`.${prefix}-flat`]: {
139
+ '--ntd-variant': 'flat',
140
+ },
141
+ };
142
+ addUtilities(variantClasses);
143
+ }
144
+ // ─────────────────────────────────────────────────────────────────────
145
+ // ANIMATION UTILITIES
146
+ // ─────────────────────────────────────────────────────────────────────
147
+ if (animations) {
148
+ const animationUtilities = {
149
+ // Spin animation
150
+ [`.${prefix}-spin`]: {
151
+ animation: `${prefix}-spin 1s linear infinite`,
152
+ },
153
+ [`.${prefix}-spin-slow`]: {
154
+ animation: `${prefix}-spin 2s linear infinite`,
155
+ },
156
+ [`.${prefix}-spin-fast`]: {
157
+ animation: `${prefix}-spin 0.5s linear infinite`,
158
+ },
159
+ // Pulse animation
160
+ [`.${prefix}-pulse`]: {
161
+ animation: `${prefix}-pulse 2s ease-in-out infinite`,
162
+ },
163
+ // Bounce animation
164
+ [`.${prefix}-bounce`]: {
165
+ animation: `${prefix}-bounce 1s ease-in-out infinite`,
166
+ },
167
+ // Shake animation (for errors/alerts)
168
+ [`.${prefix}-shake`]: {
169
+ animation: `${prefix}-shake 0.5s ease-in-out`,
170
+ },
171
+ // Fade in
172
+ [`.${prefix}-fade-in`]: {
173
+ animation: `${prefix}-fade-in 0.3s ease-out`,
174
+ },
175
+ // Scale up
176
+ [`.${prefix}-scale-in`]: {
177
+ animation: `${prefix}-scale-in 0.2s ease-out`,
178
+ },
179
+ // Wiggle (for attention)
180
+ [`.${prefix}-wiggle`]: {
181
+ animation: `${prefix}-wiggle 0.5s ease-in-out`,
182
+ },
183
+ // Float (subtle up/down)
184
+ [`.${prefix}-float`]: {
185
+ animation: `${prefix}-float 3s ease-in-out infinite`,
186
+ },
187
+ // Glow effect
188
+ [`.${prefix}-glow`]: {
189
+ filter: 'drop-shadow(0 0 8px currentColor)',
190
+ animation: `${prefix}-glow 2s ease-in-out infinite alternate`,
191
+ },
192
+ };
193
+ addUtilities(animationUtilities);
194
+ // Keyframes for animations
195
+ addComponents({
196
+ [`@keyframes ${prefix}-spin`]: {
197
+ from: { transform: 'rotate(0deg)' },
198
+ to: { transform: 'rotate(360deg)' },
199
+ },
200
+ [`@keyframes ${prefix}-pulse`]: {
201
+ '0%, 100%': { opacity: '1' },
202
+ '50%': { opacity: '0.5' },
203
+ },
204
+ [`@keyframes ${prefix}-bounce`]: {
205
+ '0%, 100%': { transform: 'translateY(0)' },
206
+ '50%': { transform: 'translateY(-25%)' },
207
+ },
208
+ [`@keyframes ${prefix}-shake`]: {
209
+ '0%, 100%': { transform: 'translateX(0)' },
210
+ '10%, 30%, 50%, 70%, 90%': { transform: 'translateX(-4px)' },
211
+ '20%, 40%, 60%, 80%': { transform: 'translateX(4px)' },
212
+ },
213
+ [`@keyframes ${prefix}-fade-in`]: {
214
+ from: { opacity: '0' },
215
+ to: { opacity: '1' },
216
+ },
217
+ [`@keyframes ${prefix}-scale-in`]: {
218
+ from: { transform: 'scale(0.8)', opacity: '0' },
219
+ to: { transform: 'scale(1)', opacity: '1' },
220
+ },
221
+ [`@keyframes ${prefix}-wiggle`]: {
222
+ '0%, 100%': { transform: 'rotate(0deg)' },
223
+ '25%': { transform: 'rotate(-5deg)' },
224
+ '75%': { transform: 'rotate(5deg)' },
225
+ },
226
+ [`@keyframes ${prefix}-float`]: {
227
+ '0%, 100%': { transform: 'translateY(0)' },
228
+ '50%': { transform: 'translateY(-10%)' },
229
+ },
230
+ [`@keyframes ${prefix}-glow`]: {
231
+ from: { filter: 'drop-shadow(0 0 4px currentColor)' },
232
+ to: { filter: 'drop-shadow(0 0 12px currentColor)' },
233
+ },
234
+ });
235
+ // Hover animations
236
+ const hoverAnimations = {
237
+ [`.hover\\:${prefix}-bounce:hover`]: {
238
+ animation: `${prefix}-bounce 0.5s ease-in-out`,
239
+ },
240
+ [`.hover\\:${prefix}-shake:hover`]: {
241
+ animation: `${prefix}-shake 0.5s ease-in-out`,
242
+ },
243
+ [`.hover\\:${prefix}-wiggle:hover`]: {
244
+ animation: `${prefix}-wiggle 0.5s ease-in-out`,
245
+ },
246
+ [`.hover\\:${prefix}-scale:hover`]: {
247
+ transform: 'scale(1.1)',
248
+ transition: 'transform 0.2s ease-out',
249
+ },
250
+ [`.hover\\:${prefix}-glow:hover`]: {
251
+ filter: 'drop-shadow(0 0 8px currentColor)',
252
+ },
253
+ };
254
+ addUtilities(hoverAnimations);
255
+ }
256
+ // ─────────────────────────────────────────────────────────────────────
257
+ // TRANSITION UTILITIES
258
+ // ─────────────────────────────────────────────────────────────────────
259
+ const transitionUtilities = {
260
+ [`.${prefix}-transition`]: {
261
+ transition: 'all 0.2s ease-out',
262
+ },
263
+ [`.${prefix}-transition-fast`]: {
264
+ transition: 'all 0.1s ease-out',
265
+ },
266
+ [`.${prefix}-transition-slow`]: {
267
+ transition: 'all 0.3s ease-out',
268
+ },
269
+ [`.${prefix}-transition-colors`]: {
270
+ transition: 'color 0.2s ease-out, fill 0.2s ease-out, stroke 0.2s ease-out',
271
+ },
272
+ };
273
+ addUtilities(transitionUtilities);
274
+ // ─────────────────────────────────────────────────────────────────────
275
+ // ACCESSIBILITY UTILITIES
276
+ // ─────────────────────────────────────────────────────────────────────
277
+ const a11yUtilities = {
278
+ // Reduced motion support
279
+ [`@media (prefers-reduced-motion: reduce)`]: {
280
+ [`.${prefix}-spin, .${prefix}-spin-slow, .${prefix}-spin-fast, .${prefix}-pulse, .${prefix}-bounce, .${prefix}-shake, .${prefix}-wiggle, .${prefix}-float, .${prefix}-glow`]: {
281
+ animation: 'none !important',
282
+ },
283
+ },
284
+ // Focus visible outline
285
+ [`.${prefix}-focus-visible:focus-visible`]: {
286
+ outline: '2px solid currentColor',
287
+ outlineOffset: '2px',
288
+ },
289
+ // High contrast mode
290
+ [`@media (forced-colors: active)`]: {
291
+ [`.${prefix}-high-contrast`]: {
292
+ forcedColorAdjust: 'auto',
293
+ },
294
+ },
295
+ };
296
+ addComponents(a11yUtilities);
297
+ };
298
+ };
299
+ /**
300
+ * Helper to flatten color palette for matchUtilities
301
+ */
302
+ function flattenColorPalette(colors) {
303
+ const result = {};
304
+ function flatten(obj, prefix = '') {
305
+ for (const [key, value] of Object.entries(obj)) {
306
+ if (typeof value === 'string') {
307
+ result[prefix ? `${prefix}-${key}` : key] = value;
308
+ }
309
+ else if (typeof value === 'object' && value !== null) {
310
+ flatten(value, prefix ? `${prefix}-${key}` : key);
311
+ }
312
+ }
313
+ }
314
+ flatten(colors);
315
+ return result;
316
+ }
317
+ /**
318
+ * Preset for common icon configurations
319
+ */
320
+ const ntdIconPreset = {
321
+ theme: {
322
+ extend: {
323
+ colors: {
324
+ 'ntd': {
325
+ primary: '#3B82F6',
326
+ secondary: '#64748B',
327
+ accent: '#8B5CF6',
328
+ success: '#22C55E',
329
+ warning: '#F59E0B',
330
+ error: '#EF4444',
331
+ info: '#06B6D4',
332
+ },
333
+ },
334
+ },
335
+ },
336
+ };
337
+
338
+ exports.ntdIconPlugin = ntdIconPlugin;
339
+ exports.ntdIconPreset = ntdIconPreset;
340
+ //# sourceMappingURL=tailwind-plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tailwind-plugin.js","sources":["../../src/tailwind-plugin.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
package/dist/cjs/types.js CHANGED
@@ -1,5 +1,41 @@
1
1
  'use strict';
2
2
 
3
+ /**
4
+ * Default colors for semantic color variants.
5
+ * These are used when CSS variables are not defined.
6
+ */
7
+ const SEMANTIC_COLOR_DEFAULTS = {
8
+ success: '#22c55e', // Green 500
9
+ warning: '#f59e0b', // Amber 500
10
+ error: '#ef4444', // Red 500
11
+ info: '#3b82f6', // Blue 500
12
+ muted: '#6b7280', // Gray 500
13
+ primary: '#6366f1', // Indigo 500
14
+ secondary: '#8b5cf6', // Violet 500
15
+ accent: '#ec4899', // Pink 500
16
+ };
17
+ /**
18
+ * CSS variable names for semantic colors.
19
+ * Define these in your CSS to customize icon colors globally.
20
+ *
21
+ * @example
22
+ * ```css
23
+ * :root {
24
+ * --ntd-icon-success: #10b981;
25
+ * --ntd-icon-error: #dc2626;
26
+ * }
27
+ * ```
28
+ */
29
+ const SEMANTIC_COLOR_VARS = {
30
+ success: '--ntd-icon-success',
31
+ warning: '--ntd-icon-warning',
32
+ error: '--ntd-icon-error',
33
+ info: '--ntd-icon-info',
34
+ muted: '--ntd-icon-muted',
35
+ primary: '--ntd-icon-primary',
36
+ secondary: '--ntd-icon-secondary',
37
+ accent: '--ntd-icon-accent',
38
+ };
3
39
  /** Gradient preset color stops. */
4
40
  const GRADIENT_PRESETS = {
5
41
  sunset: ['#ff6b6b', '#feca57', '#ff9ff3'],
@@ -43,5 +79,7 @@ const SIZE_MAP = {
43
79
  };
44
80
 
45
81
  exports.GRADIENT_PRESETS = GRADIENT_PRESETS;
82
+ exports.SEMANTIC_COLOR_DEFAULTS = SEMANTIC_COLOR_DEFAULTS;
83
+ exports.SEMANTIC_COLOR_VARS = SEMANTIC_COLOR_VARS;
46
84
  exports.SIZE_MAP = SIZE_MAP;
47
85
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sources":["../../src/types.ts"],"sourcesContent":[null],"names":[],"mappings":";;AA2LA;AACO,MAAM,gBAAgB,GAA8C;AACzE,IAAA,MAAM,EAAS,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;AAChD,IAAA,KAAK,EAAU,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;AAChD,IAAA,MAAM,EAAS,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;AAChD,IAAA,IAAI,EAAW,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;AAChD,IAAA,GAAG,EAAY,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;AAChD,IAAA,IAAI,EAAW,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;AAChD,IAAA,IAAI,EAAW,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;AAChD,IAAA,aAAa,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;IAChD,MAAM,EAAS,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;AAC3D,IAAA,QAAQ,EAAO,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;AAChD,IAAA,KAAK,EAAU,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;AAChD,IAAA,KAAK,EAAU,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;;AAgGlD;;;;;;;;;;;;;;;AAeG;AACI,MAAM,QAAQ,GAA2B;AAC9C,IAAA,EAAE,EAAE,EAAE;AACN,IAAA,EAAE,EAAE,EAAE;AACN,IAAA,EAAE,EAAE,EAAE;AACN,IAAA,EAAE,EAAE,EAAE;AACN,IAAA,EAAE,EAAE,EAAE;AACN,IAAA,KAAK,EAAE,EAAE;AACT,IAAA,GAAG,EAAE,EAAE;AACP,IAAA,IAAI,EAAE,GAAG;;;;;;"}
1
+ {"version":3,"file":"types.js","sources":["../../src/types.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAkNA;;;AAGG;AACI,MAAM,uBAAuB,GAAkC;IACpE,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,SAAS;IAChB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,SAAS;IACpB,MAAM,EAAE,SAAS;;AAGnB;;;;;;;;;;;AAWG;AACI,MAAM,mBAAmB,GAAkC;AAChE,IAAA,OAAO,EAAE,oBAAoB;AAC7B,IAAA,OAAO,EAAE,oBAAoB;AAC7B,IAAA,KAAK,EAAE,kBAAkB;AACzB,IAAA,IAAI,EAAE,iBAAiB;AACvB,IAAA,KAAK,EAAE,kBAAkB;AACzB,IAAA,OAAO,EAAE,oBAAoB;AAC7B,IAAA,SAAS,EAAE,sBAAsB;AACjC,IAAA,MAAM,EAAE,mBAAmB;;AAG7B;AACO,MAAM,gBAAgB,GAA8C;AACzE,IAAA,MAAM,EAAS,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;AAChD,IAAA,KAAK,EAAU,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;AAChD,IAAA,MAAM,EAAS,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;AAChD,IAAA,IAAI,EAAW,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;AAChD,IAAA,GAAG,EAAY,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;AAChD,IAAA,IAAI,EAAW,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;AAChD,IAAA,IAAI,EAAW,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;AAChD,IAAA,aAAa,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;IAChD,MAAM,EAAS,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;AAC3D,IAAA,QAAQ,EAAO,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;AAChD,IAAA,KAAK,EAAU,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;AAChD,IAAA,KAAK,EAAU,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;;AAoLlD;;;;;;;;;;;;;;;AAeG;AACI,MAAM,QAAQ,GAA2B;AAC9C,IAAA,EAAE,EAAE,EAAE;AACN,IAAA,EAAE,EAAE,EAAE;AACN,IAAA,EAAE,EAAE,EAAE;AACN,IAAA,EAAE,EAAE,EAAE;AACN,IAAA,EAAE,EAAE,EAAE;AACN,IAAA,KAAK,EAAE,EAAE;AACT,IAAA,GAAG,EAAE,EAAE;AACP,IAAA,IAAI,EAAE,GAAG;;;;;;;;"}