@nice2dev/icons 1.1.10 → 1.2.1

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 (117) hide show
  1. package/CHANGELOG.md +173 -0
  2. package/dist/cjs/NiceDesktopIconExporter.js +2 -6
  3. package/dist/cjs/NiceFaviconGenerator.js +2 -1
  4. package/dist/cjs/NiceIconPicker.js +15 -20
  5. package/dist/cjs/NiceIconSetCreator.js +6 -29
  6. package/dist/cjs/NtdIconBadge.js +12 -12
  7. package/dist/cjs/NtdIconMorph.js +21 -11
  8. package/dist/cjs/NtdStateMorph.js +3 -3
  9. package/dist/cjs/animationControls.js +10 -3
  10. package/dist/cjs/createIcon.js +6 -10
  11. package/dist/cjs/headless-ui.js +3 -3
  12. package/dist/cjs/iconStyles.js +36 -34
  13. package/dist/cjs/icons/accessibility.js +13 -26
  14. package/dist/cjs/icons/actions.js +37 -50
  15. package/dist/cjs/icons/ai.js +15 -30
  16. package/dist/cjs/icons/brand.js +7 -18
  17. package/dist/cjs/icons/business.js +18 -106
  18. package/dist/cjs/icons/devtech.js +31 -142
  19. package/dist/cjs/icons/ecommerce.js +16 -32
  20. package/dist/cjs/icons/education.js +17 -34
  21. package/dist/cjs/icons/files.js +31 -62
  22. package/dist/cjs/icons/fintech.js +14 -28
  23. package/dist/cjs/icons/food.js +16 -32
  24. package/dist/cjs/icons/fun.js +13 -26
  25. package/dist/cjs/icons/gaming.js +15 -30
  26. package/dist/cjs/icons/health.js +13 -36
  27. package/dist/cjs/icons/index.js +4 -0
  28. package/dist/cjs/icons/legal.js +13 -26
  29. package/dist/cjs/icons/media.js +46 -46
  30. package/dist/cjs/icons/navigation.js +14 -28
  31. package/dist/cjs/icons/omniverk.js +10 -10
  32. package/dist/cjs/icons/realestate.js +17 -34
  33. package/dist/cjs/icons/saas.js +13 -26
  34. package/dist/cjs/icons/science.js +17 -34
  35. package/dist/cjs/icons/shapes.js +22 -44
  36. package/dist/cjs/icons/smarthome.js +13 -26
  37. package/dist/cjs/icons/social.js +8 -116
  38. package/dist/cjs/icons/sports.js +14 -28
  39. package/dist/cjs/icons/sustainability.js +15 -30
  40. package/dist/cjs/icons/travel.js +15 -30
  41. package/dist/cjs/icons/ui.js +39 -56
  42. package/dist/cjs/icons/weather.js +20 -40
  43. package/dist/cjs/index.js +4 -4
  44. package/dist/cjs/lottieIntegration.js +3 -3
  45. package/dist/cjs/nicetodev-icons.css +1 -1
  46. package/dist/cjs/particleEffects.js +11 -4
  47. package/dist/cjs/resolver.js +4 -0
  48. package/dist/cjs/rsc.js +1 -1
  49. package/dist/cjs/variantProps.js +2 -7
  50. package/dist/esm/NiceDesktopIconExporter.js +2 -6
  51. package/dist/esm/NiceFaviconGenerator.js +2 -1
  52. package/dist/esm/NiceIconPicker.js +16 -21
  53. package/dist/esm/NiceIconSetCreator.js +6 -29
  54. package/dist/esm/NtdIconBadge.js +12 -12
  55. package/dist/esm/NtdIconMorph.js +21 -11
  56. package/dist/esm/NtdStateMorph.js +3 -3
  57. package/dist/esm/animationControls.js +11 -4
  58. package/dist/esm/createIcon.js +7 -11
  59. package/dist/esm/headless-ui.js +3 -3
  60. package/dist/esm/iconStyles.js +36 -34
  61. package/dist/esm/icons/accessibility.js +13 -26
  62. package/dist/esm/icons/actions.js +37 -51
  63. package/dist/esm/icons/ai.js +15 -30
  64. package/dist/esm/icons/brand.js +7 -18
  65. package/dist/esm/icons/business.js +18 -106
  66. package/dist/esm/icons/devtech.js +31 -142
  67. package/dist/esm/icons/ecommerce.js +16 -32
  68. package/dist/esm/icons/education.js +17 -34
  69. package/dist/esm/icons/files.js +31 -62
  70. package/dist/esm/icons/fintech.js +14 -28
  71. package/dist/esm/icons/food.js +16 -32
  72. package/dist/esm/icons/fun.js +13 -26
  73. package/dist/esm/icons/gaming.js +15 -30
  74. package/dist/esm/icons/health.js +13 -36
  75. package/dist/esm/icons/index.js +3 -3
  76. package/dist/esm/icons/legal.js +13 -26
  77. package/dist/esm/icons/media.js +45 -47
  78. package/dist/esm/icons/navigation.js +14 -28
  79. package/dist/esm/icons/omniverk.js +10 -10
  80. package/dist/esm/icons/realestate.js +17 -34
  81. package/dist/esm/icons/saas.js +13 -26
  82. package/dist/esm/icons/science.js +17 -34
  83. package/dist/esm/icons/shapes.js +22 -44
  84. package/dist/esm/icons/smarthome.js +13 -26
  85. package/dist/esm/icons/social.js +8 -116
  86. package/dist/esm/icons/sports.js +14 -28
  87. package/dist/esm/icons/sustainability.js +15 -30
  88. package/dist/esm/icons/travel.js +15 -30
  89. package/dist/esm/icons/ui.js +39 -57
  90. package/dist/esm/icons/weather.js +20 -40
  91. package/dist/esm/index.js +4 -5
  92. package/dist/esm/lottieIntegration.js +3 -3
  93. package/dist/esm/nicetodev-icons.css +1 -1
  94. package/dist/esm/particleEffects.js +11 -4
  95. package/dist/esm/resolver.js +4 -0
  96. package/dist/esm/rsc.js +1 -1
  97. package/dist/esm/smilAnimations.js +1 -1
  98. package/dist/esm/variantProps.js +3 -7
  99. package/dist/types/NiceDesktopIconExporter.d.ts +1 -0
  100. package/dist/types/NtdIconBadge.d.ts +12 -4
  101. package/dist/types/NtdIconMorph.d.ts +10 -4
  102. package/dist/types/NtdStateMorph.d.ts +3 -1
  103. package/dist/types/createIcon.d.ts +1 -9
  104. package/dist/types/headless-ui.d.ts +6 -2
  105. package/dist/types/iconStyles.d.ts +33 -11
  106. package/dist/types/icons/actions.d.ts +1 -0
  107. package/dist/types/icons/index.d.ts +3 -3
  108. package/dist/types/icons/media.d.ts +3 -0
  109. package/dist/types/icons/ui.d.ts +2 -0
  110. package/dist/types/index.d.ts +2 -12
  111. package/dist/types/lottieIntegration.d.ts +3 -1
  112. package/dist/types/particleEffects.d.ts +3 -1
  113. package/dist/types/rsc.d.ts +1 -3
  114. package/dist/types/tailwind-plugin.d.ts +1 -1
  115. package/dist/types/types.d.ts +1 -2
  116. package/dist/types/variantProps.d.ts +3 -11
  117. package/package.json +1 -1
@@ -172,7 +172,8 @@ function drawParticle(ctx, p) {
172
172
  /* ────────────────────────────────────────────────────────────────────────────
173
173
  COMPONENT
174
174
  ───────────────────────────────────────────────────────────────────────────── */
175
- const NtdParticleIcon = forwardRef(({ icon: Icon, particle, trigger = 'click', active, size = 'md', iconProps, className, style, onEffectEnd, }, ref) => {
175
+ const NtdParticleIcon = /* @__PURE__ */ Object.assign(
176
+ /* @__PURE__ */ forwardRef(({ icon: Icon, particle, trigger = 'click', active, size = 'md', iconProps, className, style, onEffectEnd, }, ref) => {
176
177
  var _a;
177
178
  const containerRef = useRef(null);
178
179
  const canvasRef = useRef(null);
@@ -261,7 +262,14 @@ const NtdParticleIcon = forwardRef(({ icon: Icon, particle, trigger = 'click', a
261
262
  height: resolvedSize,
262
263
  cursor: trigger === 'click' || trigger === 'hover' ? 'pointer' : undefined,
263
264
  ...style,
264
- }, onClick: trigger === 'click' ? emit : undefined, onMouseEnter: trigger === 'hover' ? emit : undefined, children: [jsx(Icon, { size: size, ...iconProps }), jsx("canvas", { ref: canvasRef, width: canvasSize, height: canvasSize, style: {
265
+ }, onClick: trigger === 'click' ? emit : undefined, onKeyDown: trigger === 'click'
266
+ ? (e) => {
267
+ if (e.key === 'Enter' || e.key === ' ') {
268
+ e.preventDefault();
269
+ emit();
270
+ }
271
+ }
272
+ : undefined, role: trigger === 'click' ? 'button' : undefined, tabIndex: trigger === 'click' ? 0 : undefined, onMouseEnter: trigger === 'hover' ? emit : undefined, children: [jsx(Icon, { size: size, ...iconProps }), jsx("canvas", { ref: canvasRef, width: canvasSize, height: canvasSize, style: {
265
273
  position: 'absolute',
266
274
  top: -canvasOffset,
267
275
  left: -canvasOffset,
@@ -269,7 +277,6 @@ const NtdParticleIcon = forwardRef(({ icon: Icon, particle, trigger = 'click', a
269
277
  height: canvasSize,
270
278
  pointerEvents: 'none',
271
279
  } })] }));
272
- });
273
- NtdParticleIcon.displayName = 'NtdParticleIcon';
280
+ }), { displayName: 'NtdParticleIcon' });
274
281
 
275
282
  export { NtdParticleIcon };
@@ -68,6 +68,7 @@ const NAME_MAP = {
68
68
  'zoom-out': 'NtdZoomOut',
69
69
  undo: 'NtdUndo',
70
70
  redo: 'NtdRedo',
71
+ reply: 'NtdReply',
71
72
  link: 'NtdLink',
72
73
  login: 'NtdLogIn',
73
74
  logout: 'NtdLogOut',
@@ -87,6 +88,7 @@ const NAME_MAP = {
87
88
  image: 'NtdImage',
88
89
  'link-2': 'NtdLink',
89
90
  mail: 'NtdMail',
91
+ inbox: 'NtdInbox',
90
92
  phone: 'NtdPhone',
91
93
  user: 'NtdUser',
92
94
  users: 'NtdUsers',
@@ -96,6 +98,7 @@ const NAME_MAP = {
96
98
  bell: 'NtdBell',
97
99
  grip: 'NtdGrid',
98
100
  tag: 'NtdTag',
101
+ backspace: 'NtdBackspace',
99
102
  bookmark: 'NtdBookmark',
100
103
  flag: 'NtdFlag',
101
104
  globe: 'NtdGlobe',
@@ -113,6 +116,7 @@ const NAME_MAP = {
113
116
  camera: 'NtdCamera',
114
117
  video: 'NtdVideo',
115
118
  microphone: 'NtdMicrophone',
119
+ 'microphone-off': 'NtdMicrophoneOff',
116
120
  music: 'NtdMusic',
117
121
  palette: 'NtdPalette',
118
122
  // Misc
package/dist/esm/rsc.js CHANGED
@@ -47,7 +47,7 @@ function createIconRSC(options) {
47
47
  }
48
48
  // Resolve variant with fallback. `wireframe` always starts from `solid`
49
49
  // (the full construction) — it is re-drawn mechanically, not authored.
50
- const isCutout = variant === 'cutout' || variant === 'flat';
50
+ const isCutout = variant === 'cutout';
51
51
  const pathRenderer = isCutout || variant === 'wireframe' ? paths.solid : ((_a = paths[variant]) !== null && _a !== void 0 ? _a : paths.solid);
52
52
  // Build render props
53
53
  const renderProps = {
@@ -1,4 +1,4 @@
1
- import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
1
+ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
2
 
3
3
  /**
4
4
  * Default animation configurations.
@@ -2,8 +2,8 @@
2
2
  * @file variantProps.ts
3
3
  * @description Discriminated unions and strict prop validation per icon variant.
4
4
  *
5
- * Provides narrowed prop types for each icon variant (solid, outline, duotone, flat,
6
- * sharp, rounded, mini, 3d) with variant-specific required/optional props.
5
+ * Provides narrowed prop types for each icon variant (solid, outline, duotone, cutout,
6
+ * sharp, rounded, mini, 3d, vivid) with variant-specific required/optional props.
7
7
  *
8
8
  * @example
9
9
  * ```tsx
@@ -40,10 +40,6 @@ function isDuotoneProps(props) {
40
40
  function isCutoutProps(props) {
41
41
  return props.variant === 'cutout';
42
42
  }
43
- /** @deprecated Use `isCutoutProps` instead. Narrows to `FlatIconProps` when `variant === 'flat'`. */
44
- function isFlatProps(props) {
45
- return props.variant === 'flat';
46
- }
47
43
  /** Narrows to `SharpIconProps` when `variant === 'sharp'`. */
48
44
  function isSharpProps(props) {
49
45
  return props.variant === 'sharp';
@@ -72,4 +68,4 @@ function toIconProps(props) {
72
68
  return props;
73
69
  }
74
70
 
75
- export { isCutoutProps, isDuotoneProps, isFlatProps, isMiniProps, isOutlineProps, isRoundedProps, isSharpProps, isSolidProps, isThreeDProps, isVividProps, toIconProps };
71
+ export { isCutoutProps, isDuotoneProps, isMiniProps, isOutlineProps, isRoundedProps, isSharpProps, isSolidProps, isThreeDProps, isVividProps, toIconProps };
@@ -13,6 +13,7 @@
13
13
  */
14
14
  import React, { type ComponentType } from 'react';
15
15
  import type { NtdIconProps } from './types';
16
+ import './NiceDesktopIconExporter.css';
16
17
  export interface DesktopIconSize {
17
18
  size: number;
18
19
  label: string;
@@ -125,7 +125,9 @@ export interface NtdIconOverlayProps {
125
125
  * />
126
126
  * ```
127
127
  */
128
- export declare const NtdBadge: React.ForwardRefExoticComponent<NtdBadgeProps & React.RefAttributes<HTMLDivElement>>;
128
+ export declare const NtdBadge: React.ForwardRefExoticComponent<NtdBadgeProps & React.RefAttributes<HTMLDivElement>> & {
129
+ displayName: string;
130
+ };
129
131
  /**
130
132
  * Status indicator dot overlay for icons.
131
133
  *
@@ -141,7 +143,9 @@ export declare const NtdBadge: React.ForwardRefExoticComponent<NtdBadgeProps & R
141
143
  * <NtdStatusDot icon={NtdUser} status="away" position="bottom-right" />
142
144
  * ```
143
145
  */
144
- export declare const NtdStatusDot: React.ForwardRefExoticComponent<NtdStatusDotProps & React.RefAttributes<HTMLDivElement>>;
146
+ export declare const NtdStatusDot: React.ForwardRefExoticComponent<NtdStatusDotProps & React.RefAttributes<HTMLDivElement>> & {
147
+ displayName: string;
148
+ };
145
149
  /**
146
150
  * Generic overlay component for composing icons.
147
151
  *
@@ -163,7 +167,9 @@ export declare const NtdStatusDot: React.ForwardRefExoticComponent<NtdStatusDotP
163
167
  * />
164
168
  * ```
165
169
  */
166
- export declare const NtdIconOverlay: React.ForwardRefExoticComponent<NtdIconOverlayProps & React.RefAttributes<HTMLDivElement>>;
170
+ export declare const NtdIconOverlay: React.ForwardRefExoticComponent<NtdIconOverlayProps & React.RefAttributes<HTMLDivElement>> & {
171
+ displayName: string;
172
+ };
167
173
  export interface NtdIconStackProps {
168
174
  /** Base (background) icon */
169
175
  base: ComponentType<NtdIconProps>;
@@ -205,5 +211,7 @@ export interface NtdIconStackProps {
205
211
  * />
206
212
  * ```
207
213
  */
208
- export declare const NtdIconStack: React.ForwardRefExoticComponent<NtdIconStackProps & React.RefAttributes<HTMLDivElement>>;
214
+ export declare const NtdIconStack: React.ForwardRefExoticComponent<NtdIconStackProps & React.RefAttributes<HTMLDivElement>> & {
215
+ displayName: string;
216
+ };
209
217
  export default NtdBadge;
@@ -48,7 +48,7 @@ export interface NtdIconMorphProps {
48
48
  variant?: IconVariant;
49
49
  /** Primary color */
50
50
  primaryColor?: string;
51
- /** Secondary color (for duotone/flat) */
51
+ /** Secondary color (for duotone/cutout) */
52
52
  secondaryColor?: string;
53
53
  /** Callback when morph starts */
54
54
  onMorphStart?: (toMorphed: boolean) => void;
@@ -87,7 +87,9 @@ export type MorphPairName = 'menu-close' | 'play-pause' | 'plus-minus' | 'check-
87
87
  * />
88
88
  * ```
89
89
  */
90
- export declare const NtdIconMorph: React.ForwardRefExoticComponent<NtdIconMorphProps & React.RefAttributes<HTMLDivElement>>;
90
+ export declare const NtdIconMorph: React.ForwardRefExoticComponent<NtdIconMorphProps & React.RefAttributes<HTMLDivElement>> & {
91
+ displayName: string;
92
+ };
91
93
  export interface NtdPathMorphProps {
92
94
  /** Predefined morph pair name */
93
95
  pair: MorphPairName;
@@ -132,7 +134,9 @@ export interface NtdPathMorphProps {
132
134
  * />
133
135
  * ```
134
136
  */
135
- export declare const NtdPathMorph: React.ForwardRefExoticComponent<NtdPathMorphProps & React.RefAttributes<SVGSVGElement>>;
137
+ export declare const NtdPathMorph: React.ForwardRefExoticComponent<NtdPathMorphProps & React.RefAttributes<SVGSVGElement>> & {
138
+ displayName: string;
139
+ };
136
140
  /**
137
141
  * Convenience component for predefined icon morph pairs.
138
142
  *
@@ -142,7 +146,9 @@ export declare const NtdPathMorph: React.ForwardRefExoticComponent<NtdPathMorphP
142
146
  * <NtdMorphPair pair="sun-moon" trigger="click" />
143
147
  * ```
144
148
  */
145
- export declare const NtdMorphPair: React.ForwardRefExoticComponent<NtdMorphPairProps & React.RefAttributes<HTMLDivElement>>;
149
+ export declare const NtdMorphPair: React.ForwardRefExoticComponent<NtdMorphPairProps & React.RefAttributes<HTMLDivElement>> & {
150
+ displayName: string;
151
+ };
146
152
  export interface UseMorphStateOptions {
147
153
  /** Initial morphed state */
148
154
  initial?: boolean;
@@ -71,7 +71,9 @@ export interface StateMorphHandle {
71
71
  /** Get SVG element ref */
72
72
  getSvgElement: () => SVGSVGElement | null;
73
73
  }
74
- export declare const NtdStateMorph: React.ForwardRefExoticComponent<NtdStateMorphProps & React.RefAttributes<StateMorphHandle>>;
74
+ export declare const NtdStateMorph: React.ForwardRefExoticComponent<NtdStateMorphProps & React.RefAttributes<StateMorphHandle>> & {
75
+ displayName: string;
76
+ };
75
77
  /**
76
78
  * Hook for managing morph state transitions.
77
79
  *
@@ -33,12 +33,6 @@ export type IconPathRenderer = (props: IconRenderProps) => React.ReactNode;
33
33
  * <path d="..." stroke={primaryColor} fill="none" />
34
34
  * </>
35
35
  * ),
36
- * flat: ({ primaryColor, secondaryColor }) => (
37
- * <>
38
- * <rect x="2" y="2" width="20" height="20" rx="4" fill={secondaryColor} />
39
- * <path d="..." fill={primaryColor} />
40
- * </>
41
- * ),
42
36
  * },
43
37
  * };
44
38
  * ```
@@ -52,7 +46,7 @@ export interface CreateIconOptions {
52
46
  * Renderer functions for each variant.
53
47
  *
54
48
  * Required variants: solid, outline, duotone
55
- * Optional variants: cutout, flat (deprecated alias), sharp, rounded, mini, 3d (fall back to solid if not provided)
49
+ * Optional variants: cutout, sharp, rounded, mini, 3d, vivid (fall back to solid if not provided)
56
50
  */
57
51
  paths: {
58
52
  /** Filled variant — shapes use `fill`. */
@@ -61,8 +55,6 @@ export interface CreateIconOptions {
61
55
  outline: IconPathRenderer;
62
56
  /** Two-tone variant — background fill at reduced opacity + foreground stroke. */
63
57
  duotone: IconPathRenderer;
64
- /** @deprecated Use cutout variant instead. Kept for backward compatibility. */
65
- flat?: IconPathRenderer;
66
58
  /** Cutout variant — knockout/cutout: colored background with icon shape cut out. Auto-generated from solid. */
67
59
  cutout?: IconPathRenderer;
68
60
  /** Sharp variant — solid with sharp corners. Falls back to solid if not defined. */
@@ -67,7 +67,9 @@ export type ForwardRefIcon = ForwardRefExoticComponent<PropsWithoutRef<HeadlessI
67
67
  * Simple Slot implementation for asChild pattern.
68
68
  * Compatible with Radix UI's Slot component behavior.
69
69
  */
70
- export declare const Slot: React.ForwardRefExoticComponent<Omit<SlotProps & Record<string, unknown>, "ref"> & React.RefAttributes<Element>>;
70
+ export declare const Slot: React.ForwardRefExoticComponent<Omit<SlotProps & Record<string, unknown>, "ref"> & React.RefAttributes<Element>> & {
71
+ displayName: string;
72
+ };
71
73
  /**
72
74
  * Wraps a NtdIcon component with forwardRef for Headless UI / Radix compatibility.
73
75
  * Supports the asChild pattern used by shadcn/ui and Radix primitives.
@@ -333,7 +335,9 @@ declare const _default: {
333
335
  getShadcnIconProps: typeof getShadcnIconProps;
334
336
  mergeIconProps: typeof mergeIconProps;
335
337
  getIconClassName: typeof getIconClassName;
336
- Slot: React.ForwardRefExoticComponent<Omit<SlotProps & Record<string, unknown>, "ref"> & React.RefAttributes<Element>>;
338
+ Slot: React.ForwardRefExoticComponent<Omit<SlotProps & Record<string, unknown>, "ref"> & React.RefAttributes<Element>> & {
339
+ displayName: string;
340
+ };
337
341
  SHADCN_ICON_SIZES: {
338
342
  readonly default: "1rem";
339
343
  readonly sm: "0.875rem";
@@ -91,14 +91,36 @@ export interface NtdIconGeometricProps extends IconStyleBaseProps {
91
91
  /** Corner diamond accent color. @default '#a78bfa' */
92
92
  accentColor?: string;
93
93
  }
94
- export declare const NtdIconFloral: React.ForwardRefExoticComponent<NtdIconFloralProps & React.RefAttributes<HTMLSpanElement>>;
95
- export declare const NtdIconFestive: React.ForwardRefExoticComponent<NtdIconFestiveProps & React.RefAttributes<HTMLSpanElement>>;
96
- export declare const NtdIconNeon: React.ForwardRefExoticComponent<NtdIconNeonProps & React.RefAttributes<HTMLSpanElement>>;
97
- export declare const NtdIconSketch: React.ForwardRefExoticComponent<NtdIconSketchProps & React.RefAttributes<HTMLSpanElement>>;
98
- export declare const NtdIconWatercolor: React.ForwardRefExoticComponent<NtdIconWatercolorProps & React.RefAttributes<HTMLSpanElement>>;
99
- export declare const NtdIconCosmic: React.ForwardRefExoticComponent<NtdIconCosmicProps & React.RefAttributes<HTMLSpanElement>>;
100
- export declare const NtdIconSteampunk: React.ForwardRefExoticComponent<NtdIconSteampunkProps & React.RefAttributes<HTMLSpanElement>>;
101
- export declare const NtdIconFrost: React.ForwardRefExoticComponent<NtdIconFrostProps & React.RefAttributes<HTMLSpanElement>>;
102
- export declare const NtdIconPixel: React.ForwardRefExoticComponent<NtdIconPixelProps & React.RefAttributes<HTMLSpanElement>>;
103
- export declare const NtdIconOrganic: React.ForwardRefExoticComponent<NtdIconOrganicProps & React.RefAttributes<HTMLSpanElement>>;
104
- export declare const NtdIconGeometric: React.ForwardRefExoticComponent<NtdIconGeometricProps & React.RefAttributes<HTMLSpanElement>>;
94
+ export declare const NtdIconFloral: React.ForwardRefExoticComponent<NtdIconFloralProps & React.RefAttributes<HTMLSpanElement>> & {
95
+ displayName: string;
96
+ };
97
+ export declare const NtdIconFestive: React.ForwardRefExoticComponent<NtdIconFestiveProps & React.RefAttributes<HTMLSpanElement>> & {
98
+ displayName: string;
99
+ };
100
+ export declare const NtdIconNeon: React.ForwardRefExoticComponent<NtdIconNeonProps & React.RefAttributes<HTMLSpanElement>> & {
101
+ displayName: string;
102
+ };
103
+ export declare const NtdIconSketch: React.ForwardRefExoticComponent<NtdIconSketchProps & React.RefAttributes<HTMLSpanElement>> & {
104
+ displayName: string;
105
+ };
106
+ export declare const NtdIconWatercolor: React.ForwardRefExoticComponent<NtdIconWatercolorProps & React.RefAttributes<HTMLSpanElement>> & {
107
+ displayName: string;
108
+ };
109
+ export declare const NtdIconCosmic: React.ForwardRefExoticComponent<NtdIconCosmicProps & React.RefAttributes<HTMLSpanElement>> & {
110
+ displayName: string;
111
+ };
112
+ export declare const NtdIconSteampunk: React.ForwardRefExoticComponent<NtdIconSteampunkProps & React.RefAttributes<HTMLSpanElement>> & {
113
+ displayName: string;
114
+ };
115
+ export declare const NtdIconFrost: React.ForwardRefExoticComponent<NtdIconFrostProps & React.RefAttributes<HTMLSpanElement>> & {
116
+ displayName: string;
117
+ };
118
+ export declare const NtdIconPixel: React.ForwardRefExoticComponent<NtdIconPixelProps & React.RefAttributes<HTMLSpanElement>> & {
119
+ displayName: string;
120
+ };
121
+ export declare const NtdIconOrganic: React.ForwardRefExoticComponent<NtdIconOrganicProps & React.RefAttributes<HTMLSpanElement>> & {
122
+ displayName: string;
123
+ };
124
+ export declare const NtdIconGeometric: React.ForwardRefExoticComponent<NtdIconGeometricProps & React.RefAttributes<HTMLSpanElement>> & {
125
+ displayName: string;
126
+ };
@@ -17,6 +17,7 @@ export declare const NtdZoomIn: import("react").ForwardRefExoticComponent<import
17
17
  export declare const NtdZoomOut: import("react").ForwardRefExoticComponent<import("..").NtdIconProps & import("react").RefAttributes<SVGSVGElement>>;
18
18
  export declare const NtdUndo: import("react").ForwardRefExoticComponent<import("..").NtdIconProps & import("react").RefAttributes<SVGSVGElement>>;
19
19
  export declare const NtdRedo: import("react").ForwardRefExoticComponent<import("..").NtdIconProps & import("react").RefAttributes<SVGSVGElement>>;
20
+ export declare const NtdReply: import("react").ForwardRefExoticComponent<import("..").NtdIconProps & import("react").RefAttributes<SVGSVGElement>>;
20
21
  export declare const NtdLink: import("react").ForwardRefExoticComponent<import("..").NtdIconProps & import("react").RefAttributes<SVGSVGElement>>;
21
22
  export declare const NtdSettings: import("react").ForwardRefExoticComponent<import("..").NtdIconProps & import("react").RefAttributes<SVGSVGElement>>;
22
23
  export declare const NtdLogIn: import("react").ForwardRefExoticComponent<import("..").NtdIconProps & import("react").RefAttributes<SVGSVGElement>>;
@@ -1,10 +1,10 @@
1
1
  export { NtdArrowUp, NtdArrowDown, NtdArrowLeft, NtdArrowRight, NtdChevronUp, NtdChevronDown, NtdChevronLeft, NtdChevronRight, NtdMenu, NtdClose, NtdMoreHorizontal, NtdMoreVertical, NtdExternalLink, NtdRefresh, } from './navigation';
2
- export { NtdSearch, NtdEdit, NtdTrash, NtdSave, NtdDownload, NtdUpload, NtdShare, NtdCopy, NtdClipboard, NtdPlus, NtdMinus, NtdCheck, NtdFilter, NtdSort, NtdPrint, NtdZoomIn, NtdZoomOut, NtdUndo, NtdRedo, NtdLink, NtdSettings, NtdLogIn, NtdLogOut, NtdLock, NtdUnlock, } from './actions';
3
- export { NtdHome, NtdUser, NtdUsers, NtdHeart, NtdStar, NtdBell, NtdEye, NtdEyeOff, NtdInfo, NtdWarning, NtdError, NtdSuccess, NtdHelp, NtdClock, NtdCalendar, NtdTag, NtdBookmark, NtdFlag, NtdThumbUp, NtdThumbDown, NtdShield, NtdGlobe, NtdMap, NtdPin, NtdSun, NtdMoon, NtdCursor, NtdWireframe, } from './ui';
2
+ export { NtdSearch, NtdEdit, NtdTrash, NtdSave, NtdDownload, NtdUpload, NtdShare, NtdCopy, NtdClipboard, NtdPlus, NtdMinus, NtdCheck, NtdFilter, NtdSort, NtdPrint, NtdZoomIn, NtdZoomOut, NtdUndo, NtdRedo, NtdReply, NtdLink, NtdSettings, NtdLogIn, NtdLogOut, NtdLock, NtdUnlock, } from './actions';
3
+ export { NtdHome, NtdUser, NtdUsers, NtdHeart, NtdStar, NtdBell, NtdEye, NtdEyeOff, NtdInfo, NtdWarning, NtdError, NtdSuccess, NtdHelp, NtdClock, NtdCalendar, NtdTag, NtdBackspace, NtdBookmark, NtdFlag, NtdThumbUp, NtdThumbDown, NtdShield, NtdGlobe, NtdMap, NtdPin, NtdSun, NtdMoon, NtdCursor, NtdWireframe, } from './ui';
4
4
  export { NtdRecycle, NtdCompost, NtdTrashSort, NtdSolarPanel, NtdWindTurbine, NtdEvCharger, NtdHydropower, NtdCarbonFootprint, NtdCo2, NtdNetZero, NtdEcoFriendly, NtdOrganic, NtdBiodegradable, NtdPlantTree, NtdWildlife, sustainabilityIcons, } from './sustainability';
5
5
  export { NtdAccessibility, NtdWheelchair, NtdBlind, NtdDeaf, NtdSignLanguage, NtdBraille, NtdAudioDescription, NtdClosedCaptions, NtdDyslexia, NtdEasyRead, NtdScreenReader, NtdHearingAid, NtdAssistiveTech, accessibilityIcons, } from './accessibility';
6
6
  export { NtdContract, NtdLegalDocument, NtdTermsOfService, NtdPrivacyPolicy, NtdGdpr, NtdCcpa, NtdCookieConsent, NtdCopyright, NtdTrademark, NtdPatent, NtdCompliance, NtdCertified, NtdAudit, legalIcons, } from './legal';
7
- export { NtdPlay, NtdPause, NtdStop, NtdSkipForward, NtdSkipBack, NtdVolume, NtdVolumeMute, NtdImage, NtdCamera, NtdVideo, NtdMicrophone, NtdMusic, NtdMail, NtdPhone, NtdChat, NtdSend, NtdNotification, NtdWifi, NtdBluetooth, NtdPalette, NtdBrush, NtdPenTool, NtdSpline, } from './media';
7
+ export { NtdPlay, NtdPause, NtdStop, NtdSkipForward, NtdSkipBack, NtdVolume, NtdVolumeMute, NtdImage, NtdCamera, NtdVideo, NtdMicrophone, NtdMicrophoneOff, NtdMusic, NtdMail, NtdInbox, NtdPhone, NtdChat, NtdSend, NtdNotification, NtdWifi, NtdBluetooth, NtdPalette, NtdBrush, NtdPenTool, NtdSpline, } from './media';
8
8
  export { NtdFile, NtdFileText, NtdFolder, NtdFolderOpen, NtdArchive, NtdDatabase, NtdCloud, NtdCloudUpload, NtdCloudDownload, NtdTerminal, NtdCode, NtdGit, NtdPackage, NtdLayers, NtdGrid, NtdList, NtdTable, NtdSmartphone, NtdMonitor, NtdCpu, NtdZap, NtdKey, NtdAward, NtdCoffee, NtdCart, NtdCreditCard, NtdPieChart, NtdBarChart, NtdActivity, NtdTarget, NtdTruck, } from './files';
9
9
  export { NtdDumpsterFire, NtdRocket, NtdGamepad, NtdPuzzle, NtdPartyPopper, NtdTrophy, NtdCrown, NtdDice, NtdSmiley, NtdSad, NtdSkull, NtdGhost, NtdLightning, } from './fun';
10
10
  export { NtdSunrise, NtdSunset, NtdRain, NtdSnow, NtdThunderstorm, NtdWind, NtdDroplet, NtdThermometer, NtdUmbrella, NtdLeaf, NtdFlower, NtdTree, NtdMountain, NtdWave, NtdFire, NtdSnowflake, NtdCompass, NtdAnchor, NtdFeather, NtdBug, } from './weather';
@@ -9,8 +9,11 @@ export declare const NtdImage: import("react").ForwardRefExoticComponent<import(
9
9
  export declare const NtdCamera: import("react").ForwardRefExoticComponent<import("..").NtdIconProps & import("react").RefAttributes<SVGSVGElement>>;
10
10
  export declare const NtdVideo: import("react").ForwardRefExoticComponent<import("..").NtdIconProps & import("react").RefAttributes<SVGSVGElement>>;
11
11
  export declare const NtdMicrophone: import("react").ForwardRefExoticComponent<import("..").NtdIconProps & import("react").RefAttributes<SVGSVGElement>>;
12
+ /** A muted microphone: the microphone with a slash across it. */
13
+ export declare const NtdMicrophoneOff: import("react").ForwardRefExoticComponent<import("..").NtdIconProps & import("react").RefAttributes<SVGSVGElement>>;
12
14
  export declare const NtdMusic: import("react").ForwardRefExoticComponent<import("..").NtdIconProps & import("react").RefAttributes<SVGSVGElement>>;
13
15
  export declare const NtdMail: import("react").ForwardRefExoticComponent<import("..").NtdIconProps & import("react").RefAttributes<SVGSVGElement>>;
16
+ export declare const NtdInbox: import("react").ForwardRefExoticComponent<import("..").NtdIconProps & import("react").RefAttributes<SVGSVGElement>>;
14
17
  export declare const NtdPhone: import("react").ForwardRefExoticComponent<import("..").NtdIconProps & import("react").RefAttributes<SVGSVGElement>>;
15
18
  export declare const NtdChat: import("react").ForwardRefExoticComponent<import("..").NtdIconProps & import("react").RefAttributes<SVGSVGElement>>;
16
19
  export declare const NtdSend: import("react").ForwardRefExoticComponent<import("..").NtdIconProps & import("react").RefAttributes<SVGSVGElement>>;
@@ -14,6 +14,8 @@ export declare const NtdHelp: import("react").ForwardRefExoticComponent<import("
14
14
  export declare const NtdClock: import("react").ForwardRefExoticComponent<import("..").NtdIconProps & import("react").RefAttributes<SVGSVGElement>>;
15
15
  export declare const NtdCalendar: import("react").ForwardRefExoticComponent<import("..").NtdIconProps & import("react").RefAttributes<SVGSVGElement>>;
16
16
  export declare const NtdTag: import("react").ForwardRefExoticComponent<import("..").NtdIconProps & import("react").RefAttributes<SVGSVGElement>>;
17
+ /** The backspace key: a key shape pointing left with a cross inside (delete the last character). */
18
+ export declare const NtdBackspace: import("react").ForwardRefExoticComponent<import("..").NtdIconProps & import("react").RefAttributes<SVGSVGElement>>;
17
19
  export declare const NtdBookmark: import("react").ForwardRefExoticComponent<import("..").NtdIconProps & import("react").RefAttributes<SVGSVGElement>>;
18
20
  export declare const NtdFlag: import("react").ForwardRefExoticComponent<import("..").NtdIconProps & import("react").RefAttributes<SVGSVGElement>>;
19
21
  export declare const NtdThumbUp: import("react").ForwardRefExoticComponent<import("..").NtdIconProps & import("react").RefAttributes<SVGSVGElement>>;
@@ -32,12 +32,6 @@
32
32
  * <path d="..." stroke={primaryColor} fill="none" />
33
33
  * </>
34
34
  * ),
35
- * flat: ({ primaryColor, secondaryColor }) => (
36
- * <>
37
- * <rect x="2" y="2" width="20" height="20" rx="4" fill={secondaryColor} />
38
- * <path d="..." fill={primaryColor} />
39
- * </>
40
- * ),
41
35
  * },
42
36
  * });
43
37
  * ```
@@ -71,10 +65,6 @@ export { NtdBadge, NtdStatusDot, NtdIconOverlay, NtdIconStack } from './NtdIconB
71
65
  export type { NtdBadgeProps, NtdStatusDotProps, NtdIconOverlayProps, NtdIconStackProps, BadgePosition, StatusType, } from './NtdIconBadge';
72
66
  export { registerIcon, searchIcons, getIcon, getIconMetadata, getIconsByCategory, getAllIcons, getCategoryCounts, getSearchSuggestions, initializeIconMetadata, CATEGORY_INFO, UI_ICON_METADATA, ACTION_ICON_METADATA, } from './iconMetadata';
73
67
  export type { IconMetadata, IconSearchResult, IconCategory, SearchMatch, SearchOptions, } from './iconMetadata';
74
- /** @deprecated Use NiceVectorEditor from @nice2dev/ui-graphics — it supports initialIcon, library, animation timeline, snippet export. */
75
- export { NiceIconEditor, useIconEditor } from './NiceIconEditor';
76
- /** @deprecated Use NiceVectorEditor from @nice2dev/ui-graphics. */
77
- export type { NiceIconEditorProps, IconEditorState } from './NiceIconEditor';
78
68
  export { NiceIconSetCreator, useIconSetCreator } from './NiceIconSetCreator';
79
69
  export type { NiceIconSetCreatorProps, IconSetConfig, IconSetItem } from './NiceIconSetCreator';
80
70
  export { NiceIconPreview } from './NiceIconPreview';
@@ -91,8 +81,8 @@ export { createNiceIconResolver, getResolverIconNames } from './resolver';
91
81
  export type { NiceIconResolverOptions } from './resolver';
92
82
  export { ntdIconPlugin, ntdIconPreset } from './tailwind-plugin';
93
83
  export type { NtdTailwindPluginOptions } from './tailwind-plugin';
94
- export { isSolidProps, isOutlineProps, isDuotoneProps, isCutoutProps, isFlatProps, isSharpProps, isRoundedProps, isMiniProps, isThreeDProps, isVividProps, toIconProps, } from './variantProps';
95
- export type { VariantIconProps, SolidIconProps, OutlineIconProps, DuotoneIconProps, CutoutIconProps, FlatIconProps, SharpIconProps, RoundedIconProps, MiniIconProps, ThreeDIconProps, VividIconProps, } from './variantProps';
84
+ export { isSolidProps, isOutlineProps, isDuotoneProps, isCutoutProps, isSharpProps, isRoundedProps, isMiniProps, isThreeDProps, isVividProps, toIconProps, } from './variantProps';
85
+ export type { VariantIconProps, SolidIconProps, OutlineIconProps, DuotoneIconProps, CutoutIconProps, SharpIconProps, RoundedIconProps, MiniIconProps, ThreeDIconProps, VividIconProps, } from './variantProps';
96
86
  export { NtdStateMorph, useStateMorph } from './NtdStateMorph';
97
87
  export type { NtdStateMorphProps, MorphStateMap, StateMorphHandle } from './NtdStateMorph';
98
88
  export { NtdLottieIcon, lottieToIcon, exportToLottie } from './lottieIntegration';
@@ -143,7 +143,9 @@ export interface NtdLottieIconProps {
143
143
  * Uses a lightweight built-in renderer for static frames.
144
144
  * For animated playback, renders the first frame as a static fallback.
145
145
  */
146
- export declare const NtdLottieIcon: React.ForwardRefExoticComponent<NtdLottieIconProps & React.RefAttributes<SVGSVGElement>>;
146
+ export declare const NtdLottieIcon: React.ForwardRefExoticComponent<NtdLottieIconProps & React.RefAttributes<SVGSVGElement>> & {
147
+ displayName: string;
148
+ };
147
149
  /**
148
150
  * Converts a Lottie animation to a static React icon component.
149
151
  * Extracts SVG paths from the first frame.
@@ -66,4 +66,6 @@ export interface NtdParticleIconProps {
66
66
  /** Callback when effect completes */
67
67
  onEffectEnd?: () => void;
68
68
  }
69
- export declare const NtdParticleIcon: React.ForwardRefExoticComponent<NtdParticleIconProps & React.RefAttributes<HTMLDivElement>>;
69
+ export declare const NtdParticleIcon: React.ForwardRefExoticComponent<NtdParticleIconProps & React.RefAttributes<HTMLDivElement>> & {
70
+ displayName: string;
71
+ };
@@ -35,7 +35,7 @@ export interface NtdIconRSCProps {
35
35
  cutoutShape?: CutoutShape;
36
36
  /** Primary icon color */
37
37
  primaryColor?: string;
38
- /** Secondary color (for duotone/flat variants) */
38
+ /** Secondary color (for duotone/cutout variants) */
39
39
  secondaryColor?: string;
40
40
  /** Accent color (for complex icons) */
41
41
  accentColor?: string;
@@ -96,8 +96,6 @@ export interface CreateIconRSCOptions {
96
96
  solid: IconPathRendererRSC;
97
97
  outline: IconPathRendererRSC;
98
98
  duotone: IconPathRendererRSC;
99
- /** @deprecated Use cutout variant instead. */
100
- flat?: IconPathRendererRSC;
101
99
  cutout?: IconPathRendererRSC;
102
100
  sharp?: IconPathRendererRSC;
103
101
  rounded?: IconPathRendererRSC;
@@ -34,7 +34,7 @@ export interface NtdTailwindPluginOptions {
34
34
  */
35
35
  animations?: boolean;
36
36
  /**
37
- * Enable variant-specific utilities (solid, outline, duotone, flat)
37
+ * Enable variant-specific utilities (solid, outline, duotone, cutout)
38
38
  * @default true
39
39
  */
40
40
  variantUtilities?: boolean;
@@ -29,7 +29,6 @@ export type IconSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | 'xxl' | 'xxxl'
29
29
  * - `'wireframe'` — Thin uniform construction lines: every shape, including interior detail `outline` drops.
30
30
  * - `'duotone'` — Two-tone rendering with a filled background layer at reduced opacity.
31
31
  * - `'cutout'` — Knockout/cutout: colored background shape with icon silhouette cut out.
32
- * - `'flat'` — Deprecated alias for `'cutout'`.
33
32
  * - `'sharp'` — Solid variant with sharp corners (no rounded edges).
34
33
  * - `'rounded'` — Solid variant with extra-rounded corners.
35
34
  * - `'mini'` — Compact variant optimized for small sizes (12-16px).
@@ -46,7 +45,7 @@ export type IconSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | 'xxl' | 'xxxl'
46
45
  * <NtdHeart variant="vivid" primaryColor="#e74c3c" secondaryColor="#f472b6" /> // Colorful
47
46
  * ```
48
47
  */
49
- export type IconVariant = 'solid' | 'outline' | 'wireframe' | 'duotone' | 'cutout' | 'flat' | 'sharp' | 'rounded' | 'mini' | '3d' | 'vivid';
48
+ export type IconVariant = 'solid' | 'outline' | 'wireframe' | 'duotone' | 'cutout' | 'sharp' | 'rounded' | 'mini' | '3d' | 'vivid';
50
49
  /**
51
50
  * Shape of the background for the `'cutout'` variant.
52
51
  *
@@ -2,8 +2,8 @@
2
2
  * @file variantProps.ts
3
3
  * @description Discriminated unions and strict prop validation per icon variant.
4
4
  *
5
- * Provides narrowed prop types for each icon variant (solid, outline, duotone, flat,
6
- * sharp, rounded, mini, 3d) with variant-specific required/optional props.
5
+ * Provides narrowed prop types for each icon variant (solid, outline, duotone, cutout,
6
+ * sharp, rounded, mini, 3d, vivid) with variant-specific required/optional props.
7
7
  *
8
8
  * @example
9
9
  * ```tsx
@@ -61,12 +61,6 @@ export interface CutoutIconProps extends SharedIconProps {
61
61
  secondaryColor?: string;
62
62
  cutoutShape?: CutoutShape;
63
63
  }
64
- /** @deprecated Use `CutoutIconProps` with `variant="cutout"` instead. */
65
- export interface FlatIconProps extends SharedIconProps {
66
- variant: 'flat';
67
- secondaryColor?: string;
68
- cutoutShape?: CutoutShape;
69
- }
70
64
  /** Props for `variant="sharp"` — solid with sharp corners. */
71
65
  export interface SharpIconProps extends SharedIconProps {
72
66
  variant: 'sharp';
@@ -110,7 +104,7 @@ export interface VividIconProps extends SharedIconProps {
110
104
  * }
111
105
  * ```
112
106
  */
113
- export type VariantIconProps = SolidIconProps | OutlineIconProps | DuotoneIconProps | CutoutIconProps | FlatIconProps | SharpIconProps | RoundedIconProps | MiniIconProps | ThreeDIconProps | VividIconProps;
107
+ export type VariantIconProps = SolidIconProps | OutlineIconProps | DuotoneIconProps | CutoutIconProps | SharpIconProps | RoundedIconProps | MiniIconProps | ThreeDIconProps | VividIconProps;
114
108
  /** Narrows to `SolidIconProps` when `variant === 'solid'`. */
115
109
  export declare function isSolidProps(props: VariantIconProps): props is SolidIconProps;
116
110
  /** Narrows to `OutlineIconProps` when `variant === 'outline'`. */
@@ -119,8 +113,6 @@ export declare function isOutlineProps(props: VariantIconProps): props is Outlin
119
113
  export declare function isDuotoneProps(props: VariantIconProps): props is DuotoneIconProps;
120
114
  /** Narrows to `CutoutIconProps` when `variant === 'cutout'`. */
121
115
  export declare function isCutoutProps(props: VariantIconProps): props is CutoutIconProps;
122
- /** @deprecated Use `isCutoutProps` instead. Narrows to `FlatIconProps` when `variant === 'flat'`. */
123
- export declare function isFlatProps(props: VariantIconProps): props is FlatIconProps;
124
116
  /** Narrows to `SharpIconProps` when `variant === 'sharp'`. */
125
117
  export declare function isSharpProps(props: VariantIconProps): props is SharpIconProps;
126
118
  /** Narrows to `RoundedIconProps` when `variant === 'rounded'`. */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nice2dev/icons",
3
- "version": "1.1.10",
3
+ "version": "1.2.1",
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",