@nice2dev/icons 1.0.8 → 1.0.11

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 (221) hide show
  1. package/dist/cjs/NiceDesktopIconExporter.js +20 -10
  2. package/dist/cjs/NiceDesktopIconExporter.js.map +1 -1
  3. package/dist/cjs/NiceFaviconGenerator.js.map +1 -1
  4. package/dist/cjs/NiceIconEditor.js +26 -13
  5. package/dist/cjs/NiceIconEditor.js.map +1 -1
  6. package/dist/cjs/NiceIconPicker.js +49 -24
  7. package/dist/cjs/NiceIconPicker.js.map +1 -1
  8. package/dist/cjs/NiceIconPreview.js.map +1 -1
  9. package/dist/cjs/NiceIconSetCreator.js +6 -3
  10. package/dist/cjs/NiceIconSetCreator.js.map +1 -1
  11. package/dist/cjs/NtdIconBadge.js +20 -12
  12. package/dist/cjs/NtdIconBadge.js.map +1 -1
  13. package/dist/cjs/NtdIconMorph.js +29 -19
  14. package/dist/cjs/NtdIconMorph.js.map +1 -1
  15. package/dist/cjs/NtdStateMorph.js +13 -12
  16. package/dist/cjs/NtdStateMorph.js.map +1 -1
  17. package/dist/cjs/advancedIconSearch.js +62 -31
  18. package/dist/cjs/advancedIconSearch.js.map +1 -1
  19. package/dist/cjs/animationControls.js +108 -105
  20. package/dist/cjs/animationControls.js.map +1 -1
  21. package/dist/cjs/createIcon.js +63 -30
  22. package/dist/cjs/createIcon.js.map +1 -1
  23. package/dist/cjs/figmaExport.js +1 -1
  24. package/dist/cjs/figmaExport.js.map +1 -1
  25. package/dist/cjs/figmaSync.js +46 -11
  26. package/dist/cjs/figmaSync.js.map +1 -1
  27. package/dist/cjs/iconAnalytics.js +6 -3
  28. package/dist/cjs/iconAnalytics.js.map +1 -1
  29. package/dist/cjs/iconMetadata.js +8 -3
  30. package/dist/cjs/iconMetadata.js.map +1 -1
  31. package/dist/cjs/iconStyles.js +100 -52
  32. package/dist/cjs/iconStyles.js.map +1 -1
  33. package/dist/cjs/icons/accessibility.js +13 -0
  34. package/dist/cjs/icons/accessibility.js.map +1 -1
  35. package/dist/cjs/icons/actions.js +26 -1
  36. package/dist/cjs/icons/actions.js.map +1 -1
  37. package/dist/cjs/icons/ai.js +15 -0
  38. package/dist/cjs/icons/ai.js.map +1 -1
  39. package/dist/cjs/icons/brand.js +13 -6
  40. package/dist/cjs/icons/brand.js.map +1 -1
  41. package/dist/cjs/icons/business.js +73 -25
  42. package/dist/cjs/icons/business.js.map +1 -1
  43. package/dist/cjs/icons/devtech.js +88 -32
  44. package/dist/cjs/icons/devtech.js.map +1 -1
  45. package/dist/cjs/icons/ecommerce.js +16 -0
  46. package/dist/cjs/icons/ecommerce.js.map +1 -1
  47. package/dist/cjs/icons/education.js +17 -0
  48. package/dist/cjs/icons/education.js.map +1 -1
  49. package/dist/cjs/icons/files.js +93 -31
  50. package/dist/cjs/icons/files.js.map +1 -1
  51. package/dist/cjs/icons/fintech.js +14 -0
  52. package/dist/cjs/icons/fintech.js.map +1 -1
  53. package/dist/cjs/icons/food.js +16 -0
  54. package/dist/cjs/icons/food.js.map +1 -1
  55. package/dist/cjs/icons/fun.js +40 -14
  56. package/dist/cjs/icons/fun.js.map +1 -1
  57. package/dist/cjs/icons/gaming.js +21 -6
  58. package/dist/cjs/icons/gaming.js.map +1 -1
  59. package/dist/cjs/icons/health.js +42 -14
  60. package/dist/cjs/icons/health.js.map +1 -1
  61. package/dist/cjs/icons/index.js +1 -1
  62. package/dist/cjs/icons/legal.js +13 -0
  63. package/dist/cjs/icons/legal.js.map +1 -1
  64. package/dist/cjs/icons/media.js +69 -27
  65. package/dist/cjs/icons/media.js.map +1 -1
  66. package/dist/cjs/icons/navigation.js +22 -8
  67. package/dist/cjs/icons/navigation.js.map +1 -1
  68. package/dist/cjs/icons/realestate.js +17 -0
  69. package/dist/cjs/icons/realestate.js.map +1 -1
  70. package/dist/cjs/icons/saas.js +13 -0
  71. package/dist/cjs/icons/saas.js.map +1 -1
  72. package/dist/cjs/icons/science.js +16 -0
  73. package/dist/cjs/icons/science.js.map +1 -1
  74. package/dist/cjs/icons/shapes.js +67 -23
  75. package/dist/cjs/icons/shapes.js.map +1 -1
  76. package/dist/cjs/icons/smarthome.js +13 -0
  77. package/dist/cjs/icons/smarthome.js.map +1 -1
  78. package/dist/cjs/icons/social.js +54 -18
  79. package/dist/cjs/icons/social.js.map +1 -1
  80. package/dist/cjs/icons/sports.js +14 -0
  81. package/dist/cjs/icons/sports.js.map +1 -1
  82. package/dist/cjs/icons/sustainability.js +15 -0
  83. package/dist/cjs/icons/sustainability.js.map +1 -1
  84. package/dist/cjs/icons/travel.js +15 -0
  85. package/dist/cjs/icons/travel.js.map +1 -1
  86. package/dist/cjs/icons/ui.js +82 -28
  87. package/dist/cjs/icons/ui.js.map +1 -1
  88. package/dist/cjs/icons/weather.js +60 -20
  89. package/dist/cjs/icons/weather.js.map +1 -1
  90. package/dist/cjs/index.js +3 -1
  91. package/dist/cjs/index.js.map +1 -1
  92. package/dist/cjs/lottieIntegration.js +13 -6
  93. package/dist/cjs/lottieIntegration.js.map +1 -1
  94. package/dist/cjs/particleEffects.js +31 -12
  95. package/dist/cjs/particleEffects.js.map +1 -1
  96. package/dist/cjs/resolver.js +115 -104
  97. package/dist/cjs/resolver.js.map +1 -1
  98. package/dist/cjs/smilAnimations.js +6 -4
  99. package/dist/cjs/smilAnimations.js.map +1 -1
  100. package/dist/cjs/tailwind-plugin.js +6 -3
  101. package/dist/cjs/tailwind-plugin.js.map +1 -1
  102. package/dist/cjs/types.js.map +1 -1
  103. package/dist/cjs/variantProps.js +11 -1
  104. package/dist/cjs/variantProps.js.map +1 -1
  105. package/dist/esm/NiceDesktopIconExporter.js +20 -10
  106. package/dist/esm/NiceDesktopIconExporter.js.map +1 -1
  107. package/dist/esm/NiceFaviconGenerator.js.map +1 -1
  108. package/dist/esm/NiceIconEditor.js +26 -13
  109. package/dist/esm/NiceIconEditor.js.map +1 -1
  110. package/dist/esm/NiceIconPicker.js +49 -24
  111. package/dist/esm/NiceIconPicker.js.map +1 -1
  112. package/dist/esm/NiceIconPreview.js.map +1 -1
  113. package/dist/esm/NiceIconSetCreator.js +6 -3
  114. package/dist/esm/NiceIconSetCreator.js.map +1 -1
  115. package/dist/esm/NtdIconBadge.js +20 -12
  116. package/dist/esm/NtdIconBadge.js.map +1 -1
  117. package/dist/esm/NtdIconMorph.js +29 -19
  118. package/dist/esm/NtdIconMorph.js.map +1 -1
  119. package/dist/esm/NtdStateMorph.js +13 -12
  120. package/dist/esm/NtdStateMorph.js.map +1 -1
  121. package/dist/esm/advancedIconSearch.js +62 -31
  122. package/dist/esm/advancedIconSearch.js.map +1 -1
  123. package/dist/esm/animationControls.js +108 -105
  124. package/dist/esm/animationControls.js.map +1 -1
  125. package/dist/esm/createIcon.js +63 -30
  126. package/dist/esm/createIcon.js.map +1 -1
  127. package/dist/esm/figmaExport.js +1 -1
  128. package/dist/esm/figmaExport.js.map +1 -1
  129. package/dist/esm/figmaSync.js +46 -11
  130. package/dist/esm/figmaSync.js.map +1 -1
  131. package/dist/esm/iconAnalytics.js +6 -3
  132. package/dist/esm/iconAnalytics.js.map +1 -1
  133. package/dist/esm/iconMetadata.js +8 -3
  134. package/dist/esm/iconMetadata.js.map +1 -1
  135. package/dist/esm/iconStyles.js +100 -52
  136. package/dist/esm/iconStyles.js.map +1 -1
  137. package/dist/esm/icons/accessibility.js +13 -0
  138. package/dist/esm/icons/accessibility.js.map +1 -1
  139. package/dist/esm/icons/actions.js +27 -2
  140. package/dist/esm/icons/actions.js.map +1 -1
  141. package/dist/esm/icons/ai.js +15 -0
  142. package/dist/esm/icons/ai.js.map +1 -1
  143. package/dist/esm/icons/brand.js +13 -6
  144. package/dist/esm/icons/brand.js.map +1 -1
  145. package/dist/esm/icons/business.js +73 -25
  146. package/dist/esm/icons/business.js.map +1 -1
  147. package/dist/esm/icons/devtech.js +88 -32
  148. package/dist/esm/icons/devtech.js.map +1 -1
  149. package/dist/esm/icons/ecommerce.js +16 -0
  150. package/dist/esm/icons/ecommerce.js.map +1 -1
  151. package/dist/esm/icons/education.js +17 -0
  152. package/dist/esm/icons/education.js.map +1 -1
  153. package/dist/esm/icons/files.js +93 -31
  154. package/dist/esm/icons/files.js.map +1 -1
  155. package/dist/esm/icons/fintech.js +14 -0
  156. package/dist/esm/icons/fintech.js.map +1 -1
  157. package/dist/esm/icons/food.js +16 -0
  158. package/dist/esm/icons/food.js.map +1 -1
  159. package/dist/esm/icons/fun.js +40 -14
  160. package/dist/esm/icons/fun.js.map +1 -1
  161. package/dist/esm/icons/gaming.js +21 -6
  162. package/dist/esm/icons/gaming.js.map +1 -1
  163. package/dist/esm/icons/health.js +42 -14
  164. package/dist/esm/icons/health.js.map +1 -1
  165. package/dist/esm/icons/index.js +1 -1
  166. package/dist/esm/icons/legal.js +13 -0
  167. package/dist/esm/icons/legal.js.map +1 -1
  168. package/dist/esm/icons/media.js +69 -27
  169. package/dist/esm/icons/media.js.map +1 -1
  170. package/dist/esm/icons/navigation.js +22 -8
  171. package/dist/esm/icons/navigation.js.map +1 -1
  172. package/dist/esm/icons/realestate.js +17 -0
  173. package/dist/esm/icons/realestate.js.map +1 -1
  174. package/dist/esm/icons/saas.js +13 -0
  175. package/dist/esm/icons/saas.js.map +1 -1
  176. package/dist/esm/icons/science.js +16 -0
  177. package/dist/esm/icons/science.js.map +1 -1
  178. package/dist/esm/icons/shapes.js +67 -23
  179. package/dist/esm/icons/shapes.js.map +1 -1
  180. package/dist/esm/icons/smarthome.js +13 -0
  181. package/dist/esm/icons/smarthome.js.map +1 -1
  182. package/dist/esm/icons/social.js +54 -18
  183. package/dist/esm/icons/social.js.map +1 -1
  184. package/dist/esm/icons/sports.js +14 -0
  185. package/dist/esm/icons/sports.js.map +1 -1
  186. package/dist/esm/icons/sustainability.js +15 -0
  187. package/dist/esm/icons/sustainability.js.map +1 -1
  188. package/dist/esm/icons/travel.js +15 -0
  189. package/dist/esm/icons/travel.js.map +1 -1
  190. package/dist/esm/icons/ui.js +82 -28
  191. package/dist/esm/icons/ui.js.map +1 -1
  192. package/dist/esm/icons/weather.js +60 -20
  193. package/dist/esm/icons/weather.js.map +1 -1
  194. package/dist/esm/index.js +2 -2
  195. package/dist/esm/lottieIntegration.js +13 -6
  196. package/dist/esm/lottieIntegration.js.map +1 -1
  197. package/dist/esm/particleEffects.js +31 -12
  198. package/dist/esm/particleEffects.js.map +1 -1
  199. package/dist/esm/resolver.js +115 -104
  200. package/dist/esm/resolver.js.map +1 -1
  201. package/dist/esm/smilAnimations.js +6 -4
  202. package/dist/esm/smilAnimations.js.map +1 -1
  203. package/dist/esm/tailwind-plugin.js +6 -3
  204. package/dist/esm/tailwind-plugin.js.map +1 -1
  205. package/dist/esm/types.js.map +1 -1
  206. package/dist/esm/variantProps.js +10 -2
  207. package/dist/esm/variantProps.js.map +1 -1
  208. package/dist/types/NiceIconSetCreator.d.ts +1 -1
  209. package/dist/types/advancedIconSearch.d.ts +1 -1
  210. package/dist/types/animationControls.d.ts +6 -6
  211. package/dist/types/createIcon.d.ts +8 -4
  212. package/dist/types/figmaExport.d.ts +1 -1
  213. package/dist/types/headless-ui.d.ts +4 -4
  214. package/dist/types/icons/gaming.d.ts +2 -2
  215. package/dist/types/icons/index.d.ts +1 -1
  216. package/dist/types/index.d.ts +3 -3
  217. package/dist/types/microInteractions.d.ts +3 -3
  218. package/dist/types/rsc.d.ts +7 -3
  219. package/dist/types/types.d.ts +27 -2
  220. package/dist/types/variantProps.d.ts +21 -4
  221. package/package.json +3 -3
@@ -91,7 +91,7 @@ export declare const Slot: React.ForwardRefExoticComponent<Omit<SlotProps & Reco
91
91
  * </DropdownMenu.Trigger>
92
92
  * ```
93
93
  */
94
- export declare function forwardRefIcon(IconComponent: ComponentType<any>, displayName?: string): ForwardRefIcon;
94
+ export declare function forwardRefIcon(IconComponent: ComponentType<IconProps>, displayName?: string): ForwardRefIcon;
95
95
  /**
96
96
  * shadcn/ui icon size presets matching their button sizes
97
97
  */
@@ -176,7 +176,7 @@ export declare const shadcnIconClasses: {
176
176
  * </DropdownMenu.Trigger>
177
177
  * ```
178
178
  */
179
- export declare function createRadixIcon(IconComponent: ComponentType<any>, defaultProps?: Partial<IconProps>): ForwardRefIcon;
179
+ export declare function createRadixIcon(IconComponent: ComponentType<IconProps>, defaultProps?: Partial<IconProps>): ForwardRefIcon;
180
180
  /**
181
181
  * HOC that adds Radix UI state-based styling to icons.
182
182
  * Supports data-state attributes for open/closed states.
@@ -194,7 +194,7 @@ export declare function createRadixIcon(IconComponent: ComponentType<any>, defau
194
194
  * </Collapsible.Trigger>
195
195
  * ```
196
196
  */
197
- export declare function withRadixState(IconComponent: ComponentType<any>): ForwardRefIcon;
197
+ export declare function withRadixState(IconComponent: ComponentType<IconProps>): ForwardRefIcon;
198
198
  /**
199
199
  * Transition presets for Headless UI Transition component with icons.
200
200
  */
@@ -243,7 +243,7 @@ export declare const headlessTransitions: {
243
243
  * @param transition - Transition preset name
244
244
  * @returns Icon component with transition classes
245
245
  */
246
- export declare function createHeadlessIcon(IconComponent: ComponentType<any>, transition?: keyof typeof headlessTransitions): ComponentType<IconProps & {
246
+ export declare function createHeadlessIcon(IconComponent: ComponentType<IconProps>, transition?: keyof typeof headlessTransitions): ComponentType<IconProps & {
247
247
  show?: boolean;
248
248
  }>;
249
249
  /**
@@ -15,7 +15,7 @@ export declare const NtdTrophy: import("react").ForwardRefExoticComponent<import
15
15
  export declare const NtdLeaderboard: import("react").ForwardRefExoticComponent<import("..").NtdIconProps & import("react").RefAttributes<SVGSVGElement>>;
16
16
  export declare const NtdHealthBar: import("react").ForwardRefExoticComponent<import("..").NtdIconProps & import("react").RefAttributes<SVGSVGElement>>;
17
17
  export declare const NtdXpBar: import("react").ForwardRefExoticComponent<import("..").NtdIconProps & import("react").RefAttributes<SVGSVGElement>>;
18
- export declare const NtdAchievement: import("react").ForwardRefExoticComponent<import("..").NtdIconProps & import("react").RefAttributes<SVGSVGElement>>;
18
+ export declare const NtdStar: import("react").ForwardRefExoticComponent<import("..").NtdIconProps & import("react").RefAttributes<SVGSVGElement>>;
19
19
  export declare const NtdTwitch: import("react").ForwardRefExoticComponent<import("..").NtdIconProps & import("react").RefAttributes<SVGSVGElement>>;
20
20
  export declare const NtdYoutubeLive: import("react").ForwardRefExoticComponent<import("..").NtdIconProps & import("react").RefAttributes<SVGSVGElement>>;
21
21
  export declare const NtdDiscord: import("react").ForwardRefExoticComponent<import("..").NtdIconProps & import("react").RefAttributes<SVGSVGElement>>;
@@ -31,7 +31,7 @@ export declare const gamingIcons: {
31
31
  NtdLeaderboard: import("react").ForwardRefExoticComponent<import("..").NtdIconProps & import("react").RefAttributes<SVGSVGElement>>;
32
32
  NtdHealthBar: import("react").ForwardRefExoticComponent<import("..").NtdIconProps & import("react").RefAttributes<SVGSVGElement>>;
33
33
  NtdXpBar: import("react").ForwardRefExoticComponent<import("..").NtdIconProps & import("react").RefAttributes<SVGSVGElement>>;
34
- NtdAchievement: import("react").ForwardRefExoticComponent<import("..").NtdIconProps & import("react").RefAttributes<SVGSVGElement>>;
34
+ NtdStar: import("react").ForwardRefExoticComponent<import("..").NtdIconProps & import("react").RefAttributes<SVGSVGElement>>;
35
35
  NtdTwitch: import("react").ForwardRefExoticComponent<import("..").NtdIconProps & import("react").RefAttributes<SVGSVGElement>>;
36
36
  NtdYoutubeLive: import("react").ForwardRefExoticComponent<import("..").NtdIconProps & import("react").RefAttributes<SVGSVGElement>>;
37
37
  NtdDiscord: import("react").ForwardRefExoticComponent<import("..").NtdIconProps & import("react").RefAttributes<SVGSVGElement>>;
@@ -18,7 +18,7 @@ export { NtdDashboard, NtdAnalytics, NtdIntegration, NtdAPI, NtdWebhook, NtdMetr
18
18
  export { NtdSmartBulb, NtdThermostat, NtdSmartCamera, NtdDoorbell, NtdMotionSensor, NtdSmartLock, NtdSmartHub, NtdVoiceAssistant, NtdSmartPlug, NtdTemperatureSensor, NtdSmartSwitch, NtdRouter, NtdSmartSpeaker, } from './smarthome';
19
19
  export { NtdApple, NtdPizza, NtdGlass, NtdHeartPulse, NtdPill, NtdSyringe, NtdStethoscope, NtdWeight, NtdBandaid, NtdCake, NtdEgg, NtdHamburger, NtdDna, } from './health';
20
20
  export { NtdNiceToDev, NtdOmniVerk, NtdOmniVerkLogo, NtdOmniVerkSpinner, NtdOmniVerkBadge, NtdOmniVerkWatermark, NtdOmniVerkAnimated, } from './brand';
21
- export { NtdGamepad as NtdGamepadController, NtdJoystick, NtdVrHeadset, NtdTrophy as NtdTrophyGaming, NtdLeaderboard, NtdHealthBar, NtdXpBar, NtdAchievement, NtdTwitch, NtdYoutubeLive, NtdDiscord, NtdDice as NtdDiceGaming, NtdSword, NtdShield as NtdShieldGaming, NtdPotion, gamingIcons, } from './gaming';
21
+ export { NtdGamepad as NtdGamepadController, NtdJoystick, NtdVrHeadset, NtdTrophy as NtdTrophyGaming, NtdLeaderboard, NtdHealthBar, NtdXpBar, NtdStar as NtdStarGaming, NtdTwitch, NtdYoutubeLive, NtdDiscord, NtdDice as NtdDiceGaming, NtdSword, NtdShield as NtdShieldGaming, NtdPotion, gamingIcons, } from './gaming';
22
22
  export { NtdNeuralNetwork, NtdBrain, NtdDeepLearning, NtdChatbot, NtdRobot, NtdVoiceAssistant as NtdAIAssistant, NtdTensor, NtdGradient, NtdDataset, NtdModel, NtdTraining, NtdInference, NtdSparkle, NtdMagicWand, NtdPrompt, aiIcons, } from './ai';
23
23
  export { NtdGraduationCap, NtdDiploma, NtdSchool, NtdUniversity, NtdBook, NtdOpenBook, NtdNotebook, NtdPencil, NtdPen, NtdOnlineCourse, NtdWebinar, NtdCertificate, NtdQuiz, NtdExam, NtdFlashcard, NtdBackpack, NtdCalculator as NtdCalculatorEdu, educationIcons, } from './education';
24
24
  export { NtdBeaker, NtdFlask, NtdTestTube, NtdPetriDish, NtdMicroscope, NtdDna as NtdDnaScience, NtdAtom, NtdMolecule, NtdPeriodictable, NtdMagnet, NtdTelescope, NtdPlanet, NtdRocket as NtdRocketScience, NtdResearch, NtdHypothesis, NtdExperiment, scienceIcons, } from './science';
@@ -53,7 +53,7 @@
53
53
  * @module @nicetodev/icons
54
54
  */
55
55
  import './animations.css';
56
- export type { IconSize, IconVariant, IconAnimation, GradientPreset, GradientType, GradientAnimation, SemanticColor, NtdIconProps, IconRenderProps, } from './types';
56
+ export type { IconSize, IconVariant, IconAnimation, CutoutShape, GradientPreset, GradientType, GradientAnimation, SemanticColor, NtdIconProps, IconRenderProps, } from './types';
57
57
  export { SIZE_MAP, GRADIENT_PRESETS, SEMANTIC_COLOR_DEFAULTS, SEMANTIC_COLOR_VARS } from './types';
58
58
  export { createIcon } from './createIcon';
59
59
  export { generateSmilAnimation, SmilAnimationWrapper as NiceSmilAnimationWrapper, SmilAnimationWrapper, createSmilAnimationDef, isSmilSupported, SMIL_ANIMATION_TYPES, } from './smilAnimations';
@@ -89,8 +89,8 @@ export { createNiceIconResolver, getResolverIconNames } from './resolver';
89
89
  export type { NiceIconResolverOptions } from './resolver';
90
90
  export { ntdIconPlugin, ntdIconPreset } from './tailwind-plugin';
91
91
  export type { NtdTailwindPluginOptions } from './tailwind-plugin';
92
- export { isSolidProps, isOutlineProps, isDuotoneProps, isFlatProps, isSharpProps, isRoundedProps, isMiniProps, isThreeDProps, toIconProps, } from './variantProps';
93
- export type { VariantIconProps, SolidIconProps, OutlineIconProps, DuotoneIconProps, FlatIconProps, SharpIconProps, RoundedIconProps, MiniIconProps, ThreeDIconProps, } from './variantProps';
92
+ export { isSolidProps, isOutlineProps, isDuotoneProps, isCutoutProps, isFlatProps, isSharpProps, isRoundedProps, isMiniProps, isThreeDProps, isVividProps, toIconProps, } from './variantProps';
93
+ export type { VariantIconProps, SolidIconProps, OutlineIconProps, DuotoneIconProps, CutoutIconProps, FlatIconProps, SharpIconProps, RoundedIconProps, MiniIconProps, ThreeDIconProps, VividIconProps, } from './variantProps';
94
94
  export { NtdStateMorph, useStateMorph } from './NtdStateMorph';
95
95
  export type { NtdStateMorphProps, MorphStateMap, StateMorphHandle } from './NtdStateMorph';
96
96
  export { NtdLottieIcon, lottieToIcon, exportToLottie } from './lottieIntegration';
@@ -158,15 +158,15 @@ interface QuickEffectProps {
158
158
  /**
159
159
  * Quick hover lift effect wrapper
160
160
  */
161
- export declare function HoverLift({ children, duration, disabled, className, style }: QuickEffectProps): import("react/jsx-runtime").JSX.Element;
161
+ export declare function HoverLift({ children, duration, disabled, className, style, }: QuickEffectProps): import("react/jsx-runtime").JSX.Element;
162
162
  /**
163
163
  * Quick click pop effect wrapper
164
164
  */
165
- export declare function ClickPop({ children, duration, disabled, className, style }: QuickEffectProps): import("react/jsx-runtime").JSX.Element;
165
+ export declare function ClickPop({ children, duration, disabled, className, style, }: QuickEffectProps): import("react/jsx-runtime").JSX.Element;
166
166
  /**
167
167
  * Quick ripple effect wrapper
168
168
  */
169
- export declare function ClickRipple({ children, duration, disabled, className, style }: QuickEffectProps): import("react/jsx-runtime").JSX.Element;
169
+ export declare function ClickRipple({ children, duration, disabled, className, style, }: QuickEffectProps): import("react/jsx-runtime").JSX.Element;
170
170
  /**
171
171
  * Quick focus glow effect wrapper
172
172
  */
@@ -20,7 +20,7 @@
20
20
  * @since 2026-03
21
21
  * @license MIT
22
22
  */
23
- import type { IconVariant, GradientPreset, SemanticColor } from './types';
23
+ import type { IconVariant, GradientPreset, SemanticColor, CutoutShape } from './types';
24
24
  import { SIZE_MAP, GRADIENT_PRESETS, SEMANTIC_COLOR_DEFAULTS } from './types';
25
25
  /**
26
26
  * Props for RSC-compatible icons (subset of full NtdIconProps).
@@ -31,6 +31,8 @@ export interface NtdIconRSCProps {
31
31
  size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | number;
32
32
  /** Icon rendering variant */
33
33
  variant?: IconVariant;
34
+ /** Background shape for cutout variant. @defaultValue 'rounded-square' */
35
+ cutoutShape?: CutoutShape;
34
36
  /** Primary icon color */
35
37
  primaryColor?: string;
36
38
  /** Secondary color (for duotone/flat variants) */
@@ -94,11 +96,14 @@ export interface CreateIconRSCOptions {
94
96
  solid: IconPathRendererRSC;
95
97
  outline: IconPathRendererRSC;
96
98
  duotone: IconPathRendererRSC;
97
- flat: IconPathRendererRSC;
99
+ /** @deprecated Use cutout variant instead. */
100
+ flat?: IconPathRendererRSC;
101
+ cutout?: IconPathRendererRSC;
98
102
  sharp?: IconPathRendererRSC;
99
103
  rounded?: IconPathRendererRSC;
100
104
  mini?: IconPathRendererRSC;
101
105
  '3d'?: IconPathRendererRSC;
106
+ vivid?: IconPathRendererRSC;
102
107
  };
103
108
  }
104
109
  /**
@@ -121,7 +126,6 @@ export interface CreateIconRSCOptions {
121
126
  * solid: ({ primaryColor }) => <path d="..." fill={primaryColor} />,
122
127
  * outline: ({ primaryColor, strokeWidth }) => <path d="..." stroke={primaryColor} />,
123
128
  * duotone: ({ primaryColor, secondaryColor }) => <path d="..." />,
124
- * flat: ({ primaryColor, secondaryColor }) => <path d="..." />,
125
129
  * },
126
130
  * });
127
131
  * ```
@@ -27,21 +27,44 @@ export type IconSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | 'xxl' | 'xxxl'
27
27
  * - `'solid'` — Filled icon shapes.
28
28
  * - `'outline'` — Stroked paths only, no fill.
29
29
  * - `'duotone'` — Two-tone rendering with a filled background layer at reduced opacity.
30
- * - `'flat'` — Badge-style: colored rounded-rect background with solid content on top.
30
+ * - `'cutout'` — Knockout/cutout: colored background shape with icon silhouette cut out.
31
+ * - `'flat'` — Deprecated alias for `'cutout'`.
31
32
  * - `'sharp'` — Solid variant with sharp corners (no rounded edges).
32
33
  * - `'rounded'` — Solid variant with extra-rounded corners.
33
34
  * - `'mini'` — Compact variant optimized for small sizes (12-16px).
34
35
  * - `'3d'` — Pseudo-3D with highlights and shadows for depth effect.
36
+ * - `'vivid'` — Colorful multi-fill rendering using primaryColor & secondaryColor as dominant hues.
35
37
  *
36
38
  * @example
37
39
  * ```tsx
38
40
  * <NtdHeart variant="duotone" primaryColor="#e74c3c" secondaryColor="#fca5a5" />
41
+ * <NtdHome variant="cutout" cutoutShape="circle" />
39
42
  * <NtdHome variant="sharp" /> // Sharp corners
40
43
  * <NtdStar variant="rounded" /> // Extra rounded
41
44
  * <NtdBox variant="3d" /> // 3D effect with shadows
45
+ * <NtdHeart variant="vivid" primaryColor="#e74c3c" secondaryColor="#f472b6" /> // Colorful
42
46
  * ```
43
47
  */
44
- export type IconVariant = 'solid' | 'outline' | 'duotone' | 'flat' | 'sharp' | 'rounded' | 'mini' | '3d';
48
+ export type IconVariant = 'solid' | 'outline' | 'duotone' | 'cutout' | 'flat' | 'sharp' | 'rounded' | 'mini' | '3d' | 'vivid';
49
+ /**
50
+ * Shape of the background for the `'cutout'` variant.
51
+ *
52
+ * - `'rounded-square'` — Rounded-corner rectangle (default).
53
+ * - `'circle'` — Circular background.
54
+ * - `'square'` — Sharp-corner square.
55
+ * - `'hexagon'` — Hexagonal background.
56
+ * - `'diamond'` — Rotated square (diamond).
57
+ * - `'shield'` — Shield / badge shape.
58
+ * - `'squircle'` — iOS-style super-ellipse.
59
+ *
60
+ * @example
61
+ * ```tsx
62
+ * <NtdHome variant="cutout" cutoutShape="circle" />
63
+ * <NtdStar variant="cutout" cutoutShape="hexagon" />
64
+ * <NtdHeart variant="cutout" cutoutShape="shield" />
65
+ * ```
66
+ */
67
+ export type CutoutShape = 'rounded-square' | 'circle' | 'square' | 'hexagon' | 'diamond' | 'shield' | 'squircle';
45
68
  /**
46
69
  * All supported CSS animation names.
47
70
  *
@@ -131,6 +154,8 @@ export interface NtdIconProps extends Omit<SVGProps<SVGSVGElement>, 'ref'> {
131
154
  size?: IconSize;
132
155
  /** Rendering variant */
133
156
  variant?: IconVariant;
157
+ /** Background shape for the cutout variant. @defaultValue `'rounded-square'` */
158
+ cutoutShape?: CutoutShape;
134
159
  /**
135
160
  * Semantic color for the icon.
136
161
  * Uses CSS variables with fallback to defaults.
@@ -21,7 +21,7 @@
21
21
  * }
22
22
  * ```
23
23
  */
24
- import type { NtdIconProps, IconSize, IconAnimation, GradientPreset, SemanticColor } from './types';
24
+ import type { NtdIconProps, IconSize, IconAnimation, GradientPreset, SemanticColor, CutoutShape } from './types';
25
25
  interface SharedIconProps {
26
26
  size?: IconSize;
27
27
  color?: SemanticColor;
@@ -55,10 +55,17 @@ export interface DuotoneIconProps extends SharedIconProps {
55
55
  secondaryOpacity?: number;
56
56
  strokeWidth?: number;
57
57
  }
58
- /** Props for `variant="flat"` — badge-style with background color. */
58
+ /** Props for `variant="cutout"` — knockout/cutout with configurable background shape. */
59
+ export interface CutoutIconProps extends SharedIconProps {
60
+ variant: 'cutout';
61
+ secondaryColor?: string;
62
+ cutoutShape?: CutoutShape;
63
+ }
64
+ /** @deprecated Use `CutoutIconProps` with `variant="cutout"` instead. */
59
65
  export interface FlatIconProps extends SharedIconProps {
60
66
  variant: 'flat';
61
67
  secondaryColor?: string;
68
+ cutoutShape?: CutoutShape;
62
69
  }
63
70
  /** Props for `variant="sharp"` — solid with sharp corners. */
64
71
  export interface SharpIconProps extends SharedIconProps {
@@ -78,6 +85,12 @@ export interface ThreeDIconProps extends SharedIconProps {
78
85
  accentColor?: string;
79
86
  accentOpacity?: number;
80
87
  }
88
+ /** Props for `variant="vivid"` — colorful multi-fill rendering. */
89
+ export interface VividIconProps extends SharedIconProps {
90
+ variant: 'vivid';
91
+ secondaryColor?: string;
92
+ accentColor?: string;
93
+ }
81
94
  /**
82
95
  * Discriminated union of all variant-specific prop types.
83
96
  *
@@ -97,14 +110,16 @@ export interface ThreeDIconProps extends SharedIconProps {
97
110
  * }
98
111
  * ```
99
112
  */
100
- export type VariantIconProps = SolidIconProps | OutlineIconProps | DuotoneIconProps | FlatIconProps | SharpIconProps | RoundedIconProps | MiniIconProps | ThreeDIconProps;
113
+ export type VariantIconProps = SolidIconProps | OutlineIconProps | DuotoneIconProps | CutoutIconProps | FlatIconProps | SharpIconProps | RoundedIconProps | MiniIconProps | ThreeDIconProps | VividIconProps;
101
114
  /** Narrows to `SolidIconProps` when `variant === 'solid'`. */
102
115
  export declare function isSolidProps(props: VariantIconProps): props is SolidIconProps;
103
116
  /** Narrows to `OutlineIconProps` when `variant === 'outline'`. */
104
117
  export declare function isOutlineProps(props: VariantIconProps): props is OutlineIconProps;
105
118
  /** Narrows to `DuotoneIconProps` when `variant === 'duotone'`. */
106
119
  export declare function isDuotoneProps(props: VariantIconProps): props is DuotoneIconProps;
107
- /** Narrows to `FlatIconProps` when `variant === 'flat'`. */
120
+ /** Narrows to `CutoutIconProps` when `variant === 'cutout'`. */
121
+ export declare function isCutoutProps(props: VariantIconProps): props is CutoutIconProps;
122
+ /** @deprecated Use `isCutoutProps` instead. Narrows to `FlatIconProps` when `variant === 'flat'`. */
108
123
  export declare function isFlatProps(props: VariantIconProps): props is FlatIconProps;
109
124
  /** Narrows to `SharpIconProps` when `variant === 'sharp'`. */
110
125
  export declare function isSharpProps(props: VariantIconProps): props is SharpIconProps;
@@ -114,6 +129,8 @@ export declare function isRoundedProps(props: VariantIconProps): props is Rounde
114
129
  export declare function isMiniProps(props: VariantIconProps): props is MiniIconProps;
115
130
  /** Narrows to `ThreeDIconProps` when `variant === '3d'`. */
116
131
  export declare function isThreeDProps(props: VariantIconProps): props is ThreeDIconProps;
132
+ /** Narrows to `VividIconProps` when `variant === 'vivid'`. */
133
+ export declare function isVividProps(props: VariantIconProps): props is VividIconProps;
117
134
  /**
118
135
  * Converts a discriminated `VariantIconProps` into the general `NtdIconProps`.
119
136
  * Useful when passing narrowed props to actual icon components.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nice2dev/icons",
3
- "version": "1.0.8",
3
+ "version": "1.0.11",
4
4
  "description": "Beautiful, lightweight, multi-color SVG icon library for React with animations",
5
5
  "author": "NiceToDev <contact@nicetodev.com>",
6
6
  "license": "SEE LICENSE IN LICENSE",
@@ -79,7 +79,7 @@
79
79
  "demo": "vite demo",
80
80
  "demo:build": "vite build demo",
81
81
  "lint": "eslint src/",
82
- "test": "vitest run --config vitest.config.ts",
82
+ "test": "vitest run --config vitest.config.ts --passWithNoTests",
83
83
  "test:watch": "vitest --config vitest.config.ts",
84
84
  "test:coverage": "vitest run --config vitest.config.ts --coverage",
85
85
  "prepublishOnly": "npm run build",
@@ -89,7 +89,7 @@
89
89
  "test:visual:ci": "npx chromatic --auto-accept-changes=main",
90
90
  "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s",
91
91
  "changelog:first": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0",
92
- "version": "1.0.8"
92
+ "version": "1.0.9"
93
93
  },
94
94
  "keywords": [
95
95
  "icons",