@nice2dev/icons 1.3.6 → 1.3.8

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 (88) hide show
  1. package/CHANGELOG.md +88 -0
  2. package/README.md +37 -17
  3. package/dist/cjs/NiceIconStacker.js +19 -5
  4. package/dist/cjs/createIcon.js +19 -6
  5. package/dist/cjs/iconParts.js +24 -2
  6. package/dist/cjs/iconStack.js +7 -5
  7. package/dist/cjs/icons/accessibility.js +9 -8
  8. package/dist/cjs/icons/actions.js +42 -32
  9. package/dist/cjs/icons/ai.js +12 -11
  10. package/dist/cjs/icons/brand.js +2 -2
  11. package/dist/cjs/icons/business.js +37 -29
  12. package/dist/cjs/icons/devtech.js +17 -15
  13. package/dist/cjs/icons/ecommerce.js +19 -14
  14. package/dist/cjs/icons/education.js +30 -25
  15. package/dist/cjs/icons/files.js +64 -32
  16. package/dist/cjs/icons/fintech.js +2 -11
  17. package/dist/cjs/icons/food.js +12 -8
  18. package/dist/cjs/icons/fun.js +11 -11
  19. package/dist/cjs/icons/gaming.js +20 -13
  20. package/dist/cjs/icons/health.js +38 -25
  21. package/dist/cjs/icons/index.js +1 -0
  22. package/dist/cjs/icons/input.js +31 -21
  23. package/dist/cjs/icons/legal.js +11 -11
  24. package/dist/cjs/icons/media.js +24 -15
  25. package/dist/cjs/icons/navigation.js +16 -13
  26. package/dist/cjs/icons/omniverk.js +2 -7
  27. package/dist/cjs/icons/realestate.js +14 -14
  28. package/dist/cjs/icons/saas.js +0 -10
  29. package/dist/cjs/icons/science.js +12 -12
  30. package/dist/cjs/icons/shapes.js +20 -17
  31. package/dist/cjs/icons/smarthome.js +0 -11
  32. package/dist/cjs/icons/social.js +7 -6
  33. package/dist/cjs/icons/sports.js +5 -6
  34. package/dist/cjs/icons/sustainability.js +12 -11
  35. package/dist/cjs/icons/travel.js +13 -13
  36. package/dist/cjs/icons/ui.js +60 -35
  37. package/dist/cjs/icons/weather.js +12 -16
  38. package/dist/cjs/index.js +1 -0
  39. package/dist/cjs/resolver.js +1 -0
  40. package/dist/cjs/rsc.js +1 -1
  41. package/dist/cjs/stacking.js +49 -11
  42. package/dist/esm/NiceIconStacker.js +22 -8
  43. package/dist/esm/createIcon.js +20 -7
  44. package/dist/esm/iconParts.js +24 -3
  45. package/dist/esm/iconStack.js +7 -5
  46. package/dist/esm/icons/accessibility.js +9 -8
  47. package/dist/esm/icons/actions.js +43 -33
  48. package/dist/esm/icons/ai.js +12 -11
  49. package/dist/esm/icons/brand.js +2 -2
  50. package/dist/esm/icons/business.js +38 -30
  51. package/dist/esm/icons/devtech.js +17 -15
  52. package/dist/esm/icons/ecommerce.js +19 -14
  53. package/dist/esm/icons/education.js +30 -25
  54. package/dist/esm/icons/files.js +65 -33
  55. package/dist/esm/icons/fintech.js +2 -11
  56. package/dist/esm/icons/food.js +12 -8
  57. package/dist/esm/icons/fun.js +11 -11
  58. package/dist/esm/icons/gaming.js +21 -14
  59. package/dist/esm/icons/health.js +38 -25
  60. package/dist/esm/icons/index.js +1 -1
  61. package/dist/esm/icons/input.js +31 -21
  62. package/dist/esm/icons/legal.js +12 -12
  63. package/dist/esm/icons/media.js +25 -16
  64. package/dist/esm/icons/navigation.js +16 -13
  65. package/dist/esm/icons/omniverk.js +2 -7
  66. package/dist/esm/icons/realestate.js +15 -15
  67. package/dist/esm/icons/saas.js +0 -10
  68. package/dist/esm/icons/science.js +12 -12
  69. package/dist/esm/icons/shapes.js +20 -17
  70. package/dist/esm/icons/smarthome.js +0 -11
  71. package/dist/esm/icons/social.js +8 -7
  72. package/dist/esm/icons/sports.js +6 -7
  73. package/dist/esm/icons/sustainability.js +12 -11
  74. package/dist/esm/icons/travel.js +14 -14
  75. package/dist/esm/icons/ui.js +61 -37
  76. package/dist/esm/icons/weather.js +13 -17
  77. package/dist/esm/index.js +1 -1
  78. package/dist/esm/resolver.js +1 -0
  79. package/dist/esm/rsc.js +1 -1
  80. package/dist/esm/stacking.js +46 -12
  81. package/dist/types/createIcon.d.ts +16 -2
  82. package/dist/types/iconParts.d.ts +8 -2
  83. package/dist/types/iconStack.d.ts +18 -3
  84. package/dist/types/icons/index.d.ts +1 -1
  85. package/dist/types/icons/ui.d.ts +1 -0
  86. package/dist/types/stacking.d.ts +30 -5
  87. package/dist/types/types.d.ts +22 -8
  88. package/package.json +2 -2
@@ -1,12 +1,12 @@
1
1
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
2
  import { createIcon } from '../createIcon.js';
3
+ import { swapDuotone } from '../iconParts.js';
3
4
 
4
5
  const NtdDumpsterFire = /* @__PURE__ */ createIcon({
5
6
  displayName: 'NtdDumpsterFire',
6
7
  paths: {
7
8
  solid: ({ primaryColor, secondaryColor, accentColor, accentOpacity, strokeWidth: _strokeWidth, }) => (jsxs(Fragment, { children: [jsx("path", { d: "M8.5 1.5c0 0-1.5 2.5-1 4.5s2 2.5 2 4c0 1-0.5 2-1.5 2.5", fill: secondaryColor, opacity: 0.9 }), jsx("path", { d: "M7 2c0 0-2 3-1.5 5.5S8 10 7.5 12c-0.3 1.2-1 1.8-1.5 2", fill: accentColor, opacity: accentOpacity * 0.7 }), jsx("path", { d: "M12 0.5c0 0-2 3-1.5 5.5s2.5 3 2 5c-0.3 1.2-1.2 2-2 2.5", fill: secondaryColor }), jsx("path", { d: "M11 1.5c0 0-2.5 3.5-2 6s3 3.5 2.5 5.5c-0.2 0.8-0.8 1.5-1.5 2", fill: accentColor, opacity: accentOpacity * 0.8 }), jsx("path", { d: "M15.5 2c0 0-1.5 2.5-1 4.5s2 2.5 1.5 4.5c-0.3 1-0.8 1.8-1.5 2", fill: secondaryColor, opacity: 0.85 }), jsx("path", { d: "M15 3c0 0-2 3-1.5 5s2 2.5 1.5 4.5c-0.2 0.8-0.7 1.3-1 1.5", fill: accentColor, opacity: accentOpacity * 0.6 }), jsx("path", { d: "M3 13h18l-1.5 9H4.5L3 13z", fill: primaryColor }), jsx("rect", { x: "2", y: "12", width: "20", height: "2.5", rx: "0.5", fill: primaryColor }), jsx("line", { x1: "8.5", y1: "14.5", x2: "8", y2: "22", stroke: accentColor, strokeWidth: "0.8", opacity: accentOpacity * 0.4 }), jsx("line", { x1: "15.5", y1: "14.5", x2: "16", y2: "22", stroke: accentColor, strokeWidth: "0.8", opacity: accentOpacity * 0.4 }), jsx("circle", { cx: "7", cy: "23", r: "1", fill: primaryColor }), jsx("circle", { cx: "17", cy: "23", r: "1", fill: primaryColor })] })),
8
9
  outline: ({ primaryColor, secondaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M8.5 2c0 0-1.5 2.5-1 4.5s2 2.5 2 4c0 1-0.5 2-1.5 2.5", stroke: secondaryColor, strokeWidth: "1.5", fill: "none" }), jsx("path", { d: "M12 1c0 0-2 3-1.5 5.5s2.5 3 2 5c-0.3 1.2-1.2 2-2 2.5", stroke: secondaryColor, strokeWidth: "1.5", fill: "none" }), jsx("path", { d: "M15.5 2.5c0 0-1.5 2.5-1 4.5s2 2.5 1.5 4.5c-0.3 1-0.8 1.8-1.5 2", stroke: secondaryColor, strokeWidth: "1.5", fill: "none" }), jsx("path", { d: "M3 13h18l-1.5 9H4.5L3 13z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("line", { x1: "2", y1: "13", x2: "22", y2: "13", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("circle", { cx: "7", cy: "23", r: "1", stroke: primaryColor, strokeWidth: "1.5", fill: "none" }), jsx("circle", { cx: "17", cy: "23", r: "1", stroke: primaryColor, strokeWidth: "1.5", fill: "none" })] })),
9
- duotone: ({ primaryColor, secondaryColor, accentColor, secondaryOpacity, accentOpacity, strokeWidth, }) => (jsxs(Fragment, { children: [jsx("path", { d: "M8.5 2c0 0-1.5 2.5-1 4.5s2 2.5 2 4c0 1-0.5 2-1.5 2.5", fill: secondaryColor, opacity: secondaryOpacity + 0.3 }), jsx("path", { d: "M7 2.5c0 0-2 3-1.5 5.5S8 10.5 7.5 12.5c-0.3 1-1 1.5-1.5 1.5", fill: accentColor, opacity: accentOpacity * 0.5 }), jsx("path", { d: "M12 1c0 0-2 3-1.5 5.5s2.5 3 2 5c-0.3 1.2-1.2 2-2 2.5", fill: secondaryColor, opacity: secondaryOpacity + 0.4 }), jsx("path", { d: "M11 2c0 0-2.5 3.5-2 6s3 3.5 2.5 5.5c-0.2 0.8-0.8 1.5-1.5 2", fill: accentColor, opacity: accentOpacity * 0.6 }), jsx("path", { d: "M15.5 2.5c0 0-1.5 2.5-1 4.5s2 2.5 1.5 4.5c-0.3 1-0.8 1.8-1.5 2", fill: secondaryColor, opacity: secondaryOpacity + 0.3 }), jsx("path", { d: "M15 3.5c0 0-2 3-1.5 5s2 2.5 1.5 4c-0.2 0.6-0.5 1-0.8 1.2", fill: accentColor, opacity: accentOpacity * 0.4 }), jsx("path", { d: "M3 13h18l-1.5 9H4.5L3 13z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M3 13h18l-1.5 9H4.5L3 13z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("rect", { x: "2", y: "12", width: "20", height: "2.5", rx: "0.5", fill: primaryColor }), jsx("circle", { cx: "7", cy: "23", r: "1", fill: primaryColor }), jsx("circle", { cx: "17", cy: "23", r: "1", fill: primaryColor })] })),
10
10
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M8.5 1.5c0 0-1.5 2.5-1 4.5s2 2.5 2 4c0 1-0.5 2-1.5 2.5", fill: primaryColor }), jsx("path", { d: "M8.5 1.5c0 0-1.5 2.5-1 4.5s2 2.5 2 4c0 1-0.5 2-1.5 2.5", fill: "white", opacity: "0.08" }), jsx("path", { d: "M7 2c0 0-2 3-1.5 5.5S8 10 7.5 12c-0.3 1.2-1 1.8-1.5 2", fill: secondaryColor }), jsx("path", { d: "M12 0.5c0 0-2 3-1.5 5.5s2.5 3 2 5c-0.3 1.2-1.2 2-2 2.5", fill: "#F59E0B" }), jsx("path", { d: "M11 1.5c0 0-2.5 3.5-2 6s3 3.5 2.5 5.5c-0.2 0.8-0.8 1.5-1.5 2", fill: "#EF4444" }), jsx("path", { d: "M15.5 2c0 0-1.5 2.5-1 4.5s2 2.5 1.5 4.5c-0.3 1-0.8 1.8-1.5 2", fill: "#8B5CF6" }), jsx("path", { d: "M15 3c0 0-2 3-1.5 5s2 2.5 1.5 4.5c-0.2 0.8-0.7 1.3-1 1.5", fill: "#8B5CF6" }), jsx("path", { d: "M3 13h18l-1.5 9H4.5L3 13z", fill: "#8B5CF6" }), jsx("rect", { x: "2", y: "12", width: "20", height: "2.5", rx: "0.5", fill: "#8B5CF6" }), jsx("circle", { cx: "7", cy: "23", r: "1", fill: "#8B5CF6" }), jsx("circle", { cx: "17", cy: "23", r: "1", fill: "#8B5CF6" }), jsx("line", { x1: "8.5", y1: "14.5", x2: "8", y2: "22", stroke: "white", strokeWidth: "1", opacity: "0.35" }), jsx("line", { x1: "15.5", y1: "14.5", x2: "16", y2: "22", stroke: "white", strokeWidth: "1", opacity: "0.35" })] })),
11
11
  },
12
12
  });
@@ -25,7 +25,6 @@ const NtdGamepadOldschool = /* @__PURE__ */ createIcon({
25
25
  paths: {
26
26
  solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M6 11h4M8 9v4", stroke: accentColor, strokeWidth: strokeWidth, opacity: accentOpacity }), jsx("path", { d: "M2 12a4 4 0 014-4h12a4 4 0 014 4v2a4 4 0 01-4 4H6a4 4 0 01-4-4v-2z", fill: primaryColor }), jsx("path", { d: "M6 11h4M8 9v4", stroke: accentColor, strokeWidth: strokeWidth, opacity: accentOpacity }), jsx("circle", { cx: "15", cy: "10", r: "1", fill: accentColor, opacity: accentOpacity }), jsx("circle", { cx: "18", cy: "13", r: "1", fill: accentColor, opacity: accentOpacity })] })),
27
27
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M2 12a4 4 0 014-4h12a4 4 0 014 4v2a4 4 0 01-4 4H6a4 4 0 01-4-4v-2z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M6 11h4M8 9v4", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("circle", { cx: "15", cy: "10", r: "1", fill: primaryColor }), jsx("circle", { cx: "18", cy: "13", r: "1", fill: primaryColor })] })),
28
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M2 12a4 4 0 014-4h12a4 4 0 014 4v2a4 4 0 01-4 4H6a4 4 0 01-4-4v-2z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M2 12a4 4 0 014-4h12a4 4 0 014 4v2a4 4 0 01-4 4H6a4 4 0 01-4-4v-2z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M6 11h4M8 9v4", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("circle", { cx: "15", cy: "10", r: "1", fill: primaryColor }), jsx("circle", { cx: "18", cy: "13", r: "1", fill: primaryColor })] })),
29
28
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M2 12a4 4 0 014-4h12a4 4 0 014 4v2a4 4 0 01-4 4H6a4 4 0 01-4-4v-2z", fill: primaryColor }), jsx("path", { d: "M2 12a4 4 0 014-4h12a4 4 0 014 4v2a4 4 0 01-4 4H6a4 4 0 01-4-4v-2z", fill: "white", opacity: "0.08" }), jsx("circle", { cx: "15", cy: "10", r: "1", fill: secondaryColor }), jsx("circle", { cx: "18", cy: "13", r: "1", fill: "#F59E0B" }), jsx("path", { d: "M6 11h4M8 9v4", stroke: "white", strokeWidth: "1", opacity: "0.35" }), jsx("path", { d: "M6 11h4M8 9v4", stroke: "white", strokeWidth: "1", opacity: "0.35" })] })),
30
29
  },
31
30
  });
@@ -34,7 +33,7 @@ const NtdPuzzle = /* @__PURE__ */ createIcon({
34
33
  paths: {
35
34
  solid: ({ primaryColor, strokeWidth: _strokeWidth }) => (jsx("path", { d: "M19.439 7.85c-.049.322.059.648.289.878l1.568 1.568c.47.47.706 1.087.706 1.704s-.235 1.233-.706 1.704l-1.611 1.611a.98.98 0 01-.837.276c-.47-.07-.802-.48-.968-.925a2.501 2.501 0 10-3.214 3.214c.446.166.855.497.925.968a.979.979 0 01-.276.837l-1.61 1.61a2.404 2.404 0 01-1.705.707 2.402 2.402 0 01-1.704-.706l-1.568-1.568a1.026 1.026 0 00-.877-.29c-.493.074-.84.504-1.02.968a2.5 2.5 0 11-3.237-3.237c.464-.18.894-.527.967-1.02a1.026 1.026 0 00-.289-.877l-1.568-1.568A2.402 2.402 0 011.998 12c0-.617.236-1.234.706-1.704L4.315 8.685a.977.977 0 01.836-.276c.47.07.802.48.968.925a2.501 2.501 0 103.214-3.214c-.446-.166-.855-.497-.925-.968a.98.98 0 01.276-.837L10.296 2.704A2.402 2.402 0 0112 1.998c.617 0 1.234.236 1.704.706l1.568 1.568c.23.23.556.338.877.29.493-.074.84-.504 1.02-.968a2.5 2.5 0 113.237 3.237c-.464.18-.894.527-.967 1.02z", fill: primaryColor })),
36
35
  outline: ({ primaryColor, strokeWidth }) => (jsx("path", { d: "M19.439 7.85c-.049.322.059.648.289.878l1.568 1.568c.47.47.706 1.087.706 1.704s-.235 1.233-.706 1.704l-1.611 1.611a.98.98 0 01-.837.276c-.47-.07-.802-.48-.968-.925a2.501 2.501 0 10-3.214 3.214c.446.166.855.497.925.968a.979.979 0 01-.276.837l-1.61 1.61a2.404 2.404 0 01-1.705.707 2.402 2.402 0 01-1.704-.706l-1.568-1.568a1.026 1.026 0 00-.877-.29c-.493.074-.84.504-1.02.968a2.5 2.5 0 11-3.237-3.237c.464-.18.894-.527.967-1.02a1.026 1.026 0 00-.289-.877l-1.568-1.568A2.402 2.402 0 011.998 12c0-.617.236-1.234.706-1.704L4.315 8.685a.977.977 0 01.836-.276c.47.07.802.48.968.925a2.501 2.501 0 103.214-3.214c-.446-.166-.855-.497-.925-.968a.98.98 0 01.276-.837L10.296 2.704A2.402 2.402 0 0112 1.998c.617 0 1.234.236 1.704.706l1.568 1.568c.23.23.556.338.877.29.493-.074.84-.504 1.02-.968a2.5 2.5 0 113.237 3.237c-.464.18-.894.527-.967 1.02z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })),
37
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M19.439 7.85c-.049.322.059.648.289.878l1.568 1.568c.47.47.706 1.087.706 1.704s-.235 1.233-.706 1.704l-1.611 1.611a.98.98 0 01-.837.276c-.47-.07-.802-.48-.968-.925a2.501 2.501 0 10-3.214 3.214c.446.166.855.497.925.968a.979.979 0 01-.276.837l-1.61 1.61a2.404 2.404 0 01-1.705.707 2.402 2.402 0 01-1.704-.706l-1.568-1.568a1.026 1.026 0 00-.877-.29c-.493.074-.84.504-1.02.968a2.5 2.5 0 11-3.237-3.237c.464-.18.894-.527.967-1.02a1.026 1.026 0 00-.289-.877l-1.568-1.568A2.402 2.402 0 011.998 12c0-.617.236-1.234.706-1.704L4.315 8.685a.977.977 0 01.836-.276c.47.07.802.48.968.925a2.501 2.501 0 103.214-3.214c-.446-.166-.855-.497-.925-.968a.98.98 0 01.276-.837L10.296 2.704A2.402 2.402 0 0112 1.998c.617 0 1.234.236 1.704.706l1.568 1.568c.23.23.556.338.877.29.493-.074.84-.504 1.02-.968a2.5 2.5 0 113.237 3.237c-.464.18-.894.527-.967 1.02z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M19.439 7.85c-.049.322.059.648.289.878l1.568 1.568c.47.47.706 1.087.706 1.704s-.235 1.233-.706 1.704l-1.611 1.611a.98.98 0 01-.837.276c-.47-.07-.802-.48-.968-.925a2.501 2.501 0 10-3.214 3.214c.446.166.855.497.925.968a.979.979 0 01-.276.837l-1.61 1.61a2.404 2.404 0 01-1.705.707 2.402 2.402 0 01-1.704-.706l-1.568-1.568a1.026 1.026 0 00-.877-.29c-.493.074-.84.504-1.02.968a2.5 2.5 0 11-3.237-3.237c.464-.18.894-.527.967-1.02a1.026 1.026 0 00-.289-.877l-1.568-1.568A2.402 2.402 0 011.998 12c0-.617.236-1.234.706-1.704L4.315 8.685a.977.977 0 01.836-.276c.47.07.802.48.968.925a2.501 2.501 0 103.214-3.214c-.446-.166-.855-.497-.925-.968a.98.98 0 01.276-.837L10.296 2.704A2.402 2.402 0 0112 1.998c.617 0 1.234.236 1.704.706l1.568 1.568c.23.23.556.338.877.29.493-.074.84-.504 1.02-.968a2.5 2.5 0 113.237 3.237c-.464.18-.894.527-.967 1.02z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
36
+ duotone: swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M19.439 7.85c-.049.322.059.648.289.878l1.568 1.568c.47.47.706 1.087.706 1.704s-.235 1.233-.706 1.704l-1.611 1.611a.98.98 0 01-.837.276c-.47-.07-.802-.48-.968-.925a2.501 2.501 0 10-3.214 3.214c.446.166.855.497.925.968a.979.979 0 01-.276.837l-1.61 1.61a2.404 2.404 0 01-1.705.707 2.402 2.402 0 01-1.704-.706l-1.568-1.568a1.026 1.026 0 00-.877-.29c-.493.074-.84.504-1.02.968a2.5 2.5 0 11-3.237-3.237c.464-.18.894-.527.967-1.02a1.026 1.026 0 00-.289-.877l-1.568-1.568A2.402 2.402 0 011.998 12c0-.617.236-1.234.706-1.704L4.315 8.685a.977.977 0 01.836-.276c.47.07.802.48.968.925a2.501 2.501 0 103.214-3.214c-.446-.166-.855-.497-.925-.968a.98.98 0 01.276-.837L10.296 2.704A2.402 2.402 0 0112 1.998c.617 0 1.234.236 1.704.706l1.568 1.568c.23.23.556.338.877.29.493-.074.84-.504 1.02-.968a2.5 2.5 0 113.237 3.237c-.464.18-.894.527-.967 1.02z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M19.439 7.85c-.049.322.059.648.289.878l1.568 1.568c.47.47.706 1.087.706 1.704s-.235 1.233-.706 1.704l-1.611 1.611a.98.98 0 01-.837.276c-.47-.07-.802-.48-.968-.925a2.501 2.501 0 10-3.214 3.214c.446.166.855.497.925.968a.979.979 0 01-.276.837l-1.61 1.61a2.404 2.404 0 01-1.705.707 2.402 2.402 0 01-1.704-.706l-1.568-1.568a1.026 1.026 0 00-.877-.29c-.493.074-.84.504-1.02.968a2.5 2.5 0 11-3.237-3.237c.464-.18.894-.527.967-1.02a1.026 1.026 0 00-.289-.877l-1.568-1.568A2.402 2.402 0 011.998 12c0-.617.236-1.234.706-1.704L4.315 8.685a.977.977 0 01.836-.276c.47.07.802.48.968.925a2.501 2.501 0 103.214-3.214c-.446-.166-.855-.497-.925-.968a.98.98 0 01.276-.837L10.296 2.704A2.402 2.402 0 0112 1.998c.617 0 1.234.236 1.704.706l1.568 1.568c.23.23.556.338.877.29.493-.074.84-.504 1.02-.968a2.5 2.5 0 113.237 3.237c-.464.18-.894.527-.967 1.02z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] }))),
38
37
  vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M19.439 7.85c-.049.322.059.648.289.878l1.568 1.568c.47.47.706 1.087.706 1.704s-.235 1.233-.706 1.704l-1.611 1.611a.98.98 0 01-.837.276c-.47-.07-.802-.48-.968-.925a2.501 2.501 0 10-3.214 3.214c.446.166.855.497.925.968a.979.979 0 01-.276.837l-1.61 1.61a2.404 2.404 0 01-1.705.707 2.402 2.402 0 01-1.704-.706l-1.568-1.568a1.026 1.026 0 00-.877-.29c-.493.074-.84.504-1.02.968a2.5 2.5 0 11-3.237-3.237c.464-.18.894-.527.967-1.02a1.026 1.026 0 00-.289-.877l-1.568-1.568A2.402 2.402 0 011.998 12c0-.617.236-1.234.706-1.704L4.315 8.685a.977.977 0 01.836-.276c.47.07.802.48.968.925a2.501 2.501 0 103.214-3.214c-.446-.166-.855-.497-.925-.968a.98.98 0 01.276-.837L10.296 2.704A2.402 2.402 0 0112 1.998c.617 0 1.234.236 1.704.706l1.568 1.568c.23.23.556.338.877.29.493-.074.84-.504 1.02-.968a2.5 2.5 0 113.237 3.237c-.464.18-.894.527-.967 1.02z", fill: primaryColor }), jsx("path", { d: "M19.439 7.85c-.049.322.059.648.289.878l1.568 1.568c.47.47.706 1.087.706 1.704s-.235 1.233-.706 1.704l-1.611 1.611a.98.98 0 01-.837.276c-.47-.07-.802-.48-.968-.925a2.501 2.501 0 10-3.214 3.214c.446.166.855.497.925.968a.979.979 0 01-.276.837l-1.61 1.61a2.404 2.404 0 01-1.705.707 2.402 2.402 0 01-1.704-.706l-1.568-1.568a1.026 1.026 0 00-.877-.29c-.493.074-.84.504-1.02.968a2.5 2.5 0 11-3.237-3.237c.464-.18.894-.527.967-1.02a1.026 1.026 0 00-.289-.877l-1.568-1.568A2.402 2.402 0 011.998 12c0-.617.236-1.234.706-1.704L4.315 8.685a.977.977 0 01.836-.276c.47.07.802.48.968.925a2.501 2.501 0 103.214-3.214c-.446-.166-.855-.497-.925-.968a.98.98 0 01.276-.837L10.296 2.704A2.402 2.402 0 0112 1.998c.617 0 1.234.236 1.704.706l1.568 1.568c.23.23.556.338.877.29.493-.074.84-.504 1.02-.968a2.5 2.5 0 113.237 3.237c-.464.18-.894.527-.967 1.02z", fill: "white", opacity: "0.1" })] })),
39
38
  },
40
39
  });
@@ -49,10 +48,12 @@ const NtdPartyPopper = /* @__PURE__ */ createIcon({
49
48
  });
50
49
  const NtdTrophy = /* @__PURE__ */ createIcon({
51
50
  displayName: 'NtdTrophy',
51
+ perfectStackX: 12,
52
+ perfectStackY: 8,
53
+ perfectStackSize: 0.35,
52
54
  paths: {
53
55
  solid: ({ primaryColor, secondaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M6 2h12v6a6 6 0 01-12 0V2z", fill: primaryColor }), jsx("path", { d: "M6 4H4a2 2 0 00-2 2v1a3 3 0 003 3h1", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M18 4h2a2 2 0 012 2v1a3 3 0 01-3 3h-1", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("line", { x1: "12", y1: "14", x2: "12", y2: "18", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("rect", { x: "8", y: "18", width: "8", height: "3", rx: "1", fill: secondaryColor })] })),
54
56
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M6 2h12v6a6 6 0 01-12 0V2z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M6 4H4a2 2 0 00-2 2v1a3 3 0 003 3h1", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M18 4h2a2 2 0 012 2v1a3 3 0 01-3 3h-1", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("line", { x1: "12", y1: "14", x2: "12", y2: "18", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("rect", { x: "8", y: "18", width: "8", height: "3", rx: "1", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
55
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M6 2h12v6a6 6 0 01-12 0V2z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M6 2h12v6a6 6 0 01-12 0V2z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M6 4H4a2 2 0 00-2 2v1a3 3 0 003 3h1", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M18 4h2a2 2 0 012 2v1a3 3 0 01-3 3h-1", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("line", { x1: "12", y1: "14", x2: "12", y2: "18", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("rect", { x: "8", y: "18", width: "8", height: "3", rx: "1", fill: secondaryColor, opacity: secondaryOpacity + 0.2 })] })),
56
57
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M6 2h12v6a6 6 0 01-12 0V2z", fill: primaryColor }), jsx("path", { d: "M6 2h12v6a6 6 0 01-12 0V2z", fill: "white", opacity: "0.08" }), jsx("rect", { x: "8", y: "18", width: "8", height: "3", rx: "1", fill: secondaryColor }), jsx("path", { d: "M6 4H4a2 2 0 00-2 2v1a3 3 0 003 3h1", stroke: "white", strokeWidth: "1", fill: "none" }), jsx("path", { d: "M18 4h2a2 2 0 012 2v1a3 3 0 01-3 3h-1", stroke: "white", strokeWidth: "1", fill: "none" }), jsx("line", { x1: "12", y1: "14", x2: "12", y2: "18", stroke: "white", strokeWidth: "1" })] })),
57
58
  },
58
59
  });
@@ -61,7 +62,7 @@ const NtdCrown = /* @__PURE__ */ createIcon({
61
62
  paths: {
62
63
  solid: ({ primaryColor, strokeWidth: _strokeWidth }) => (jsxs(Fragment, { children: [jsx("polygon", { points: "2,20 4,8 9,13 12,4 15,13 20,8 22,20", fill: primaryColor }), jsx("circle", { cx: "4", cy: "7", r: "1.5", fill: primaryColor }), jsx("circle", { cx: "12", cy: "3", r: "1.5", fill: primaryColor }), jsx("circle", { cx: "20", cy: "7", r: "1.5", fill: primaryColor })] })),
63
64
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("polygon", { points: "2,20 4,8 9,13 12,4 15,13 20,8 22,20", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("circle", { cx: "4", cy: "7", r: "1.5", stroke: primaryColor, strokeWidth: "1.5", fill: "none" }), jsx("circle", { cx: "12", cy: "3", r: "1.5", stroke: primaryColor, strokeWidth: "1.5", fill: "none" }), jsx("circle", { cx: "20", cy: "7", r: "1.5", stroke: primaryColor, strokeWidth: "1.5", fill: "none" })] })),
64
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("polygon", { points: "2,20 4,8 9,13 12,4 15,13 20,8 22,20", fill: secondaryColor, opacity: secondaryOpacity }), jsx("polygon", { points: "2,20 4,8 9,13 12,4 15,13 20,8 22,20", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("circle", { cx: "4", cy: "7", r: "1.5", fill: primaryColor }), jsx("circle", { cx: "12", cy: "3", r: "1.5", fill: primaryColor }), jsx("circle", { cx: "20", cy: "7", r: "1.5", fill: primaryColor })] })),
65
+ duotone: swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("polygon", { points: "2,20 4,8 9,13 12,4 15,13 20,8 22,20", fill: secondaryColor, opacity: secondaryOpacity }), jsx("polygon", { points: "2,20 4,8 9,13 12,4 15,13 20,8 22,20", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("circle", { cx: "4", cy: "7", r: "1.5", fill: primaryColor }), jsx("circle", { cx: "12", cy: "3", r: "1.5", fill: primaryColor }), jsx("circle", { cx: "20", cy: "7", r: "1.5", fill: primaryColor })] }))),
65
66
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("polygon", { points: "2,20 4,8 9,13 12,4 15,13 20,8 22,20", fill: primaryColor }), jsx("polygon", { points: "2,20 4,8 9,13 12,4 15,13 20,8 22,20", fill: "white", opacity: "0.08" }), jsx("circle", { cx: "4", cy: "7", r: "1.5", fill: secondaryColor }), jsx("circle", { cx: "12", cy: "3", r: "1.5", fill: "#F59E0B" }), jsx("circle", { cx: "20", cy: "7", r: "1.5", fill: "#EF4444" })] })),
66
67
  },
67
68
  });
@@ -70,7 +71,6 @@ const NtdDice = /* @__PURE__ */ createIcon({
70
71
  paths: {
71
72
  solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth: _strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "3", y: "3", width: "18", height: "18", rx: "3", fill: primaryColor }), jsx("circle", { cx: "8", cy: "8", r: "1.5", fill: accentColor, opacity: accentOpacity }), jsx("circle", { cx: "16", cy: "8", r: "1.5", fill: accentColor, opacity: accentOpacity }), jsx("circle", { cx: "12", cy: "12", r: "1.5", fill: accentColor, opacity: accentOpacity }), jsx("circle", { cx: "8", cy: "16", r: "1.5", fill: accentColor, opacity: accentOpacity }), jsx("circle", { cx: "16", cy: "16", r: "1.5", fill: accentColor, opacity: accentOpacity })] })),
72
73
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "3", y: "3", width: "18", height: "18", rx: "3", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("circle", { cx: "8", cy: "8", r: "1.5", fill: primaryColor }), jsx("circle", { cx: "16", cy: "8", r: "1.5", fill: primaryColor }), jsx("circle", { cx: "12", cy: "12", r: "1.5", fill: primaryColor }), jsx("circle", { cx: "8", cy: "16", r: "1.5", fill: primaryColor }), jsx("circle", { cx: "16", cy: "16", r: "1.5", fill: primaryColor })] })),
73
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "3", y: "3", width: "18", height: "18", rx: "3", fill: secondaryColor, opacity: secondaryOpacity }), jsx("rect", { x: "3", y: "3", width: "18", height: "18", rx: "3", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("circle", { cx: "8", cy: "8", r: "1.5", fill: primaryColor }), jsx("circle", { cx: "16", cy: "8", r: "1.5", fill: primaryColor }), jsx("circle", { cx: "12", cy: "12", r: "1.5", fill: primaryColor }), jsx("circle", { cx: "8", cy: "16", r: "1.5", fill: primaryColor }), jsx("circle", { cx: "16", cy: "16", r: "1.5", fill: primaryColor })] })),
74
74
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("rect", { x: "3", y: "3", width: "18", height: "18", rx: "3", fill: primaryColor }), jsx("rect", { x: "3", y: "3", width: "18", height: "18", rx: "3", fill: "white", opacity: "0.08" }), jsx("circle", { cx: "8", cy: "8", r: "1.5", fill: secondaryColor }), jsx("circle", { cx: "16", cy: "8", r: "1.5", fill: "#F59E0B" }), jsx("circle", { cx: "12", cy: "12", r: "1.5", fill: "#EF4444" }), jsx("circle", { cx: "8", cy: "16", r: "1.5", fill: "#8B5CF6" }), jsx("circle", { cx: "16", cy: "16", r: "1.5", fill: "#8B5CF6" })] })),
75
75
  },
76
76
  });
@@ -87,8 +87,7 @@ function faceIcon(displayName, mouth) {
87
87
  paths: {
88
88
  solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("circle", { cx: "12", cy: "12", r: "10", fill: primaryColor }), jsx("path", { d: FACE_EYES, fill: accentColor, opacity: accentOpacity }), jsx("path", { d: mouth, stroke: accentColor, strokeOpacity: accentOpacity, strokeWidth: strokeWidth, strokeLinecap: "round", fill: "none" })] })),
89
89
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("circle", { cx: "12", cy: "12", r: "10", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: FACE_EYES, fill: primaryColor }), jsx("path", { d: mouth, stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round", fill: "none" })] })),
90
- // Fills only: the tinted head, the face on it in primary — no ring around the head.
91
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("circle", { cx: "12", cy: "12", r: "10", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: FACE_EYES, fill: primaryColor }), jsx("path", { d: mouth, stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round", fill: "none" })] })),
90
+ // duotone (1.3.8): createIcon's default — the solid head, the face on it in secondary
92
91
  vivid: ({ primaryColor, accentColor }) => (jsxs(Fragment, { children: [jsx("circle", { cx: "12", cy: "12", r: "10", fill: primaryColor }), jsx("path", { d: "M5.4 7.6a8 8 0 016.6-3.6", stroke: "white", strokeWidth: "1.6", strokeLinecap: "round", opacity: "0.35", fill: "none" }), jsx("path", { d: FACE_EYES, fill: accentColor }), jsx("path", { d: mouth, stroke: accentColor, strokeWidth: "2.2", strokeLinecap: "round", fill: "none" })] })),
93
92
  },
94
93
  });
@@ -102,16 +101,17 @@ const NtdSkull = /* @__PURE__ */ createIcon({
102
101
  paths: {
103
102
  solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth: _strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M12 2C7 2 3 6 3 10.5c0 3 1.5 5.5 4 7V20a2 2 0 002 2h6a2 2 0 002-2v-2.5c2.5-1.5 4-4 4-7C21 6 17 2 12 2z", fill: primaryColor }), jsx("circle", { cx: "9", cy: "10", r: "2", fill: accentColor, opacity: accentOpacity }), jsx("circle", { cx: "15", cy: "10", r: "2", fill: accentColor, opacity: accentOpacity }), jsx("path", { d: "M9 16v2M12 16v2M15 16v2", stroke: accentColor, strokeWidth: "1.5", opacity: accentOpacity })] })),
104
103
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M12 2C7 2 3 6 3 10.5c0 3 1.5 5.5 4 7V20a2 2 0 002 2h6a2 2 0 002-2v-2.5c2.5-1.5 4-4 4-7C21 6 17 2 12 2z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("circle", { cx: "9", cy: "10", r: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("circle", { cx: "15", cy: "10", r: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M9 16v2M12 16v2M15 16v2", stroke: primaryColor, strokeWidth: "1.5" })] })),
105
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M12 2C7 2 3 6 3 10.5c0 3 1.5 5.5 4 7V20a2 2 0 002 2h6a2 2 0 002-2v-2.5c2.5-1.5 4-4 4-7C21 6 17 2 12 2z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M12 2C7 2 3 6 3 10.5c0 3 1.5 5.5 4 7V20a2 2 0 002 2h6a2 2 0 002-2v-2.5c2.5-1.5 4-4 4-7C21 6 17 2 12 2z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("circle", { cx: "9", cy: "10", r: "2", fill: primaryColor }), jsx("circle", { cx: "15", cy: "10", r: "2", fill: primaryColor }), jsx("path", { d: "M9 16v2M12 16v2M15 16v2", stroke: primaryColor, strokeWidth: "1.5" })] })),
106
104
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M12 2C7 2 3 6 3 10.5c0 3 1.5 5.5 4 7V20a2 2 0 002 2h6a2 2 0 002-2v-2.5c2.5-1.5 4-4 4-7C21 6 17 2 12 2z", fill: primaryColor }), jsx("path", { d: "M12 2C7 2 3 6 3 10.5c0 3 1.5 5.5 4 7V20a2 2 0 002 2h6a2 2 0 002-2v-2.5c2.5-1.5 4-4 4-7C21 6 17 2 12 2z", fill: "white", opacity: "0.08" }), jsx("circle", { cx: "9", cy: "10", r: "2", fill: secondaryColor }), jsx("circle", { cx: "15", cy: "10", r: "2", fill: "#F59E0B" }), jsx("path", { d: "M9 16v2M12 16v2M15 16v2", stroke: "white", strokeWidth: "1", opacity: "0.35" })] })),
107
105
  },
108
106
  });
109
107
  const NtdGhost = /* @__PURE__ */ createIcon({
110
108
  displayName: 'NtdGhost',
109
+ perfectStackX: 12,
110
+ perfectStackY: 11.5,
111
+ perfectStackSize: 0.5,
111
112
  paths: {
112
113
  solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth: _strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M12 2a8 8 0 00-8 8v12l3-3 3 3 2-2 2 2 3-3 3 3V10a8 8 0 00-8-8z", fill: primaryColor }), jsx("circle", { cx: "9", cy: "10", r: "1.5", fill: accentColor, opacity: accentOpacity }), jsx("circle", { cx: "15", cy: "10", r: "1.5", fill: accentColor, opacity: accentOpacity })] })),
113
114
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M12 2a8 8 0 00-8 8v12l3-3 3 3 2-2 2 2 3-3 3 3V10a8 8 0 00-8-8z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("circle", { cx: "9", cy: "10", r: "1.5", fill: primaryColor }), jsx("circle", { cx: "15", cy: "10", r: "1.5", fill: primaryColor })] })),
114
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M12 2a8 8 0 00-8 8v12l3-3 3 3 2-2 2 2 3-3 3 3V10a8 8 0 00-8-8z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M12 2a8 8 0 00-8 8v12l3-3 3 3 2-2 2 2 3-3 3 3V10a8 8 0 00-8-8z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("circle", { cx: "9", cy: "10", r: "1.5", fill: primaryColor }), jsx("circle", { cx: "15", cy: "10", r: "1.5", fill: primaryColor })] })),
115
115
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M12 2a8 8 0 00-8 8v12l3-3 3 3 2-2 2 2 3-3 3 3V10a8 8 0 00-8-8z", fill: primaryColor }), jsx("path", { d: "M12 2a8 8 0 00-8 8v12l3-3 3 3 2-2 2 2 3-3 3 3V10a8 8 0 00-8-8z", fill: "white", opacity: "0.08" }), jsx("circle", { cx: "9", cy: "10", r: "1.5", fill: secondaryColor }), jsx("circle", { cx: "15", cy: "10", r: "1.5", fill: "#F59E0B" })] })),
116
116
  },
117
117
  });
@@ -124,7 +124,7 @@ const NtdLightning = /* @__PURE__ */ createIcon({
124
124
  solid: ({ primaryColor }) => jsx("polygon", { points: LIGHTNING, fill: primaryColor }),
125
125
  outline: ({ primaryColor, strokeWidth }) => (jsx("polygon", { points: LIGHTNING, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })),
126
126
  // the bolt's two triangles, a colour each, meeting along the slanted step — no outline
127
- duotone: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("polygon", { points: "14,2 3,13.5 10.4,13.5 13.6,10.5", fill: primaryColor }), jsx("polygon", { points: "13.6,10.5 21,10.5 10,22 10.4,13.5", fill: secondaryColor })] })),
127
+ duotone: swapDuotone(({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("polygon", { points: "14,2 3,13.5 10.4,13.5 13.6,10.5", fill: primaryColor }), jsx("polygon", { points: "13.6,10.5 21,10.5 10,22 10.4,13.5", fill: secondaryColor })] }))),
128
128
  vivid: ({ primaryColor }) => (jsxs(Fragment, { children: [jsx("polygon", { points: LIGHTNING, fill: primaryColor }), jsx("polygon", { points: LIGHTNING, fill: "white", opacity: "0.1" })] })),
129
129
  },
130
130
  });
@@ -1,6 +1,6 @@
1
1
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
2
  import { createIcon } from '../createIcon.js';
3
- import { within } from '../iconParts.js';
3
+ import { swapDuotone, within } from '../iconParts.js';
4
4
 
5
5
  /* ────────────────────────────────────────────────────────────────────────────
6
6
  CONTROLLERS & INPUT
@@ -30,8 +30,6 @@ const NtdGamepad = /* @__PURE__ */ createIcon({
30
30
  paths: {
31
31
  solid: ({ primaryColor, accentColor, accentOpacity, uid }) => (jsxs(Fragment, { children: [jsx("path", { d: PAD_BODY, fill: primaryColor }), jsxs("g", { fill: accentColor, opacity: accentOpacity, children: [within(uid, 'b', jsx("path", { d: PAD_BODY }), jsx("path", { d: PAD_BUMPERS, stroke: accentColor, strokeWidth: "0.7", strokeLinecap: "round", fill: "none", transform: "translate(0 0.9)" })), jsx("circle", { cx: "6.2", cy: "9.4", r: "2.1" }), jsx("circle", { cx: "14.9", cy: "12.6", r: "1.9" }), jsx("path", { d: PAD_DPAD }), PAD_FACE.map(([cx, cy]) => (jsx("circle", { cx: cx, cy: cy, r: "0.78" }, `${cx},${cy}`))), jsx("circle", { cx: "12", cy: "8.3", r: "1.15" }), jsx("circle", { cx: "11.1", cy: "10.4", r: "0.5" }), jsx("circle", { cx: "12.9", cy: "10.4", r: "0.5" })] })] })),
32
32
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: PAD_BODY, stroke: primaryColor, strokeWidth: strokeWidth, strokeLinejoin: "round", fill: "none" }), jsxs("g", { stroke: primaryColor, strokeWidth: strokeWidth * 0.6, fill: "none", children: [jsx("circle", { cx: "6.2", cy: "9.4", r: "1.7" }), jsx("circle", { cx: "14.9", cy: "12.6", r: "1.5" }), jsx("path", { d: "M9.1 11.15v2.9M7.65 12.6h2.9", strokeLinecap: "round" })] }), jsxs("g", { fill: primaryColor, children: [PAD_FACE.map(([cx, cy]) => (jsx("circle", { cx: cx, cy: cy, r: "0.7" }, `${cx},${cy}`))), jsx("circle", { cx: "12", cy: "8.5", r: "0.9" })] })] })),
33
- // Fills only: the tinted body, the bumpers and every control in primary.
34
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, uid }) => (jsxs(Fragment, { children: [jsx("path", { d: PAD_BODY, fill: secondaryColor, opacity: secondaryOpacity }), jsxs("g", { fill: primaryColor, children: [within(uid, 'b', jsx("path", { d: PAD_BODY }), jsx("path", { d: PAD_BUMPERS, stroke: primaryColor, strokeWidth: "2.6", fill: "none" })), jsx("circle", { cx: "6.2", cy: "9.4", r: "2.1" }), jsx("circle", { cx: "14.9", cy: "12.6", r: "1.9" }), jsx("path", { d: PAD_DPAD }), PAD_FACE.map(([cx, cy]) => (jsx("circle", { cx: cx, cy: cy, r: "0.78" }, `${cx},${cy}`))), jsx("circle", { cx: "12", cy: "8.3", r: "1.15" })] })] })),
35
33
  vivid: ({ primaryColor, secondaryColor, uid }) => (jsxs(Fragment, { children: [jsx("path", { d: PAD_BODY, fill: primaryColor }), within(uid, 'b', jsx("path", { d: PAD_BODY }), jsx("path", { d: PAD_BUMPERS, stroke: secondaryColor, strokeWidth: "2.6", fill: "none" })), jsxs("g", { fill: secondaryColor, children: [jsx("circle", { cx: "6.2", cy: "9.4", r: "2.1" }), jsx("circle", { cx: "14.9", cy: "12.6", r: "1.9" }), jsx("path", { d: PAD_DPAD })] }), PAD_FACE.map(([cx, cy], i) => (jsx("circle", { cx: cx, cy: cy, r: "0.78", fill: PAD_FACE_VIVID[i] }, `${cx},${cy}`))), jsx("circle", { cx: "12", cy: "8.3", r: "1.15", fill: "white" }), jsx("circle", { cx: "11.1", cy: "10.4", r: "0.5", fill: "white", opacity: "0.8" }), jsx("circle", { cx: "12.9", cy: "10.4", r: "0.5", fill: "white", opacity: "0.8" })] })),
36
34
  },
37
35
  });
@@ -42,7 +40,7 @@ const NtdJoystick = /* @__PURE__ */ createIcon({
42
40
  paths: {
43
41
  solid: ({ primaryColor }) => (jsx("path", { d: "M12 2a4 4 0 00-4 4v5.17A3 3 0 006 14v2a4 4 0 004 4h4a4 4 0 004-4v-2a3 3 0 00-2-2.83V6a4 4 0 00-4-4zm0 2a2 2 0 012 2v5h-4V6a2 2 0 012-2z", fill: primaryColor })),
44
42
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("circle", { cx: "12", cy: "6", r: "4", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M12 10v3M6 14v2a4 4 0 004 4h4a4 4 0 004-4v-2a3 3 0 00-3-3h-6a3 3 0 00-3 3z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
45
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M6 14v2a4 4 0 004 4h4a4 4 0 004-4v-2a3 3 0 00-3-3h-6a3 3 0 00-3 3z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("circle", { cx: "12", cy: "6", r: "4", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M12 10v3", stroke: primaryColor, strokeWidth: strokeWidth })] })),
43
+ duotone: swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M6 14v2a4 4 0 004 4h4a4 4 0 004-4v-2a3 3 0 00-3-3h-6a3 3 0 00-3 3z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("circle", { cx: "12", cy: "6", r: "4", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M12 10v3", stroke: primaryColor, strokeWidth: strokeWidth })] }))),
46
44
  vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M12 2a4 4 0 00-4 4v5.17A3 3 0 006 14v2a4 4 0 004 4h4a4 4 0 004-4v-2a3 3 0 00-2-2.83V6a4 4 0 00-4-4zm0 2a2 2 0 012 2v5h-4V6a2 2 0 012-2z", fill: primaryColor }), jsx("path", { d: "M12 2a4 4 0 00-4 4v5.17A3 3 0 006 14v2a4 4 0 004 4h4a4 4 0 004-4v-2a3 3 0 00-2-2.83V6a4 4 0 00-4-4zm0 2a2 2 0 012 2v5h-4V6a2 2 0 012-2z", fill: "white", opacity: "0.1" })] })),
47
45
  },
48
46
  });
@@ -51,7 +49,7 @@ const NtdVrHeadset = /* @__PURE__ */ createIcon({
51
49
  paths: {
52
50
  solid: ({ primaryColor }) => (jsx("path", { d: "M3 10a4 4 0 014-4h10a4 4 0 014 4v4a4 4 0 01-4 4H7a4 4 0 01-4-4v-4zm4 0a2 2 0 00-2 2v0a2 2 0 002 2h2.5a1 1 0 00.9-.55l.6-1.2a1 1 0 01.9-.55h.2a1 1 0 01.9.55l.6 1.2a1 1 0 00.9.55H17a2 2 0 002-2v0a2 2 0 00-2-2H7z", fill: primaryColor })),
53
51
  outline: ({ primaryColor, strokeWidth }) => (jsx("path", { d: "M3 10a4 4 0 014-4h10a4 4 0 014 4v4a4 4 0 01-4 4H7a4 4 0 01-4-4v-4zM7 10a2 2 0 00-2 2v0a2 2 0 002 2h2.5a1 1 0 00.9-.55l.6-1.2a1 1 0 01.9-.55h.2a1 1 0 01.9.55l.6 1.2a1 1 0 00.9.55H17a2 2 0 002-2v0a2 2 0 00-2-2H7z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })),
54
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M3 10a4 4 0 014-4h10a4 4 0 014 4v4a4 4 0 01-4 4H7a4 4 0 01-4-4v-4z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M7 10a2 2 0 00-2 2v0a2 2 0 002 2h2.5a1 1 0 00.9-.55l.6-1.2a1 1 0 01.9-.55h.2a1 1 0 01.9.55l.6 1.2a1 1 0 00.9.55H17a2 2 0 002-2v0a2 2 0 00-2-2H7z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
52
+ duotone: swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M3 10a4 4 0 014-4h10a4 4 0 014 4v4a4 4 0 01-4 4H7a4 4 0 01-4-4v-4z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M7 10a2 2 0 00-2 2v0a2 2 0 002 2h2.5a1 1 0 00.9-.55l.6-1.2a1 1 0 01.9-.55h.2a1 1 0 01.9.55l.6 1.2a1 1 0 00.9.55H17a2 2 0 002-2v0a2 2 0 00-2-2H7z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] }))),
55
53
  vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M3 10a4 4 0 014-4h10a4 4 0 014 4v4a4 4 0 01-4 4H7a4 4 0 01-4-4v-4zm4 0a2 2 0 00-2 2v0a2 2 0 002 2h2.5a1 1 0 00.9-.55l.6-1.2a1 1 0 01.9-.55h.2a1 1 0 01.9.55l.6 1.2a1 1 0 00.9.55H17a2 2 0 002-2v0a2 2 0 00-2-2H7z", fill: primaryColor }), jsx("path", { d: "M3 10a4 4 0 014-4h10a4 4 0 014 4v4a4 4 0 01-4 4H7a4 4 0 01-4-4v-4zm4 0a2 2 0 00-2 2v0a2 2 0 002 2h2.5a1 1 0 00.9-.55l.6-1.2a1 1 0 01.9-.55h.2a1 1 0 01.9.55l.6 1.2a1 1 0 00.9.55H17a2 2 0 002-2v0a2 2 0 00-2-2H7z", fill: "white", opacity: "0.1" })] })),
56
54
  },
57
55
  });
@@ -60,10 +58,13 @@ const NtdVrHeadset = /* @__PURE__ */ createIcon({
60
58
  ───────────────────────────────────────────────────────────────────────────── */
61
59
  const NtdTrophy = /* @__PURE__ */ createIcon({
62
60
  displayName: 'NtdTrophy',
61
+ perfectStackX: 12,
62
+ perfectStackY: 8,
63
+ perfectStackSize: 0.35,
63
64
  paths: {
64
65
  solid: ({ primaryColor }) => (jsx("path", { d: "M6 2h12v6a6 6 0 01-12 0V2zM4 4H2a2 2 0 00-2 2v2a4 4 0 004 4h.5A7.96 7.96 0 016 10.17V4zm16 0h-2v6.17A7.96 7.96 0 0019.5 12H20a4 4 0 004-4V6a2 2 0 00-2-2h-2zM9 14h6v2H9v-2zm-1 4h8v2a2 2 0 01-2 2h-4a2 2 0 01-2-2v-2z", fill: primaryColor })),
65
66
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M6 2h12v6a6 6 0 01-12 0V2z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M6 4H4a2 2 0 00-2 2v2a4 4 0 004 4M18 4h2a2 2 0 012 2v2a4 4 0 01-4 4", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M9 14h6M8 18h8v2a2 2 0 01-2 2h-4a2 2 0 01-2-2v-2z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
66
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M6 2h12v6a6 6 0 01-12 0V2z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M6 2h12v6a6 6 0 01-12 0V2z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M6 4H4a2 2 0 00-2 2v2a4 4 0 004 4M18 4h2a2 2 0 012 2v2a4 4 0 01-4 4M9 14h6M8 18h8v2a2 2 0 01-2 2h-4a2 2 0 01-2-2v-2z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
67
+ duotone: swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M6 2h12v6a6 6 0 01-12 0V2z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M6 2h12v6a6 6 0 01-12 0V2z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M6 4H4a2 2 0 00-2 2v2a4 4 0 004 4M18 4h2a2 2 0 012 2v2a4 4 0 01-4 4M9 14h6M8 18h8v2a2 2 0 01-2 2h-4a2 2 0 01-2-2v-2z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] }))),
67
68
  vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M6 2h12v6a6 6 0 01-12 0V2zM4 4H2a2 2 0 00-2 2v2a4 4 0 004 4h.5A7.96 7.96 0 016 10.17V4zm16 0h-2v6.17A7.96 7.96 0 0019.5 12H20a4 4 0 004-4V6a2 2 0 00-2-2h-2zM9 14h6v2H9v-2zm-1 4h8v2a2 2 0 01-2 2h-4a2 2 0 01-2-2v-2z", fill: primaryColor }), jsx("path", { d: "M6 2h12v6a6 6 0 01-12 0V2zM4 4H2a2 2 0 00-2 2v2a4 4 0 004 4h.5A7.96 7.96 0 016 10.17V4zm16 0h-2v6.17A7.96 7.96 0 0019.5 12H20a4 4 0 004-4V6a2 2 0 00-2-2h-2zM9 14h6v2H9v-2zm-1 4h8v2a2 2 0 01-2 2h-4a2 2 0 01-2-2v-2z", fill: "white", opacity: "0.1" })] })),
68
69
  },
69
70
  });
@@ -81,7 +82,7 @@ const NtdHealthBar = /* @__PURE__ */ createIcon({
81
82
  paths: {
82
83
  solid: ({ primaryColor }) => (jsxs(Fragment, { children: [jsx("rect", { x: "2", y: "8", width: "20", height: "8", rx: "2", fill: primaryColor }), jsx("rect", { x: "4", y: "10", width: "12", height: "4", rx: "1", fill: "white", fillOpacity: "0.9" })] })),
83
84
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "2", y: "8", width: "20", height: "8", rx: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("rect", { x: "4", y: "10", width: "12", height: "4", rx: "1", fill: primaryColor })] })),
84
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity }) => (jsxs(Fragment, { children: [jsx("rect", { x: "2", y: "8", width: "20", height: "8", rx: "2", fill: secondaryColor, opacity: secondaryOpacity }), jsx("rect", { x: "4", y: "10", width: "12", height: "4", rx: "1", fill: primaryColor })] })),
85
+ duotone: swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity }) => (jsxs(Fragment, { children: [jsx("rect", { x: "2", y: "8", width: "20", height: "8", rx: "2", fill: secondaryColor, opacity: secondaryOpacity }), jsx("rect", { x: "4", y: "10", width: "12", height: "4", rx: "1", fill: primaryColor })] }))),
85
86
  vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxs(Fragment, { children: [jsx("rect", { x: "2", y: "8", width: "20", height: "8", rx: "2", fill: primaryColor }), jsx("rect", { x: "2", y: "8", width: "20", height: "8", rx: "2", fill: "white", opacity: "0.08" }), jsx("rect", { x: "4", y: "10", width: "12", height: "4", rx: "1", fill: "white", fillOpacity: "0.9" })] })),
86
87
  },
87
88
  });
@@ -96,10 +97,13 @@ const NtdXpBar = /* @__PURE__ */ createIcon({
96
97
  });
97
98
  const NtdStar = /* @__PURE__ */ createIcon({
98
99
  displayName: 'NtdStar',
100
+ perfectStackX: 12,
101
+ perfectStackY: 12.5,
102
+ perfectStackSize: 0.35,
99
103
  paths: {
100
104
  solid: ({ primaryColor }) => (jsx("path", { d: "M12 2L9.19 8.62 2 9.24l5.46 4.73L5.82 21 12 17.27 18.18 21l-1.64-7.03L22 9.24l-7.19-.62L12 2z", fill: primaryColor })),
101
105
  outline: ({ primaryColor, strokeWidth }) => (jsx("path", { d: "M12 2L9.19 8.62 2 9.24l5.46 4.73L5.82 21 12 17.27 18.18 21l-1.64-7.03L22 9.24l-7.19-.62L12 2z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none", strokeLinejoin: "round" })),
102
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M12 2L9.19 8.62 2 9.24l5.46 4.73L5.82 21 12 17.27 18.18 21l-1.64-7.03L22 9.24l-7.19-.62L12 2z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M12 2L9.19 8.62 2 9.24l5.46 4.73L5.82 21 12 17.27 18.18 21l-1.64-7.03L22 9.24l-7.19-.62L12 2z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
106
+ duotone: swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M12 2L9.19 8.62 2 9.24l5.46 4.73L5.82 21 12 17.27 18.18 21l-1.64-7.03L22 9.24l-7.19-.62L12 2z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M12 2L9.19 8.62 2 9.24l5.46 4.73L5.82 21 12 17.27 18.18 21l-1.64-7.03L22 9.24l-7.19-.62L12 2z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] }))),
103
107
  vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M12 2L9.19 8.62 2 9.24l5.46 4.73L5.82 21 12 17.27 18.18 21l-1.64-7.03L22 9.24l-7.19-.62L12 2z", fill: primaryColor }), jsx("path", { d: "M12 2L9.19 8.62 2 9.24l5.46 4.73L5.82 21 12 17.27 18.18 21l-1.64-7.03L22 9.24l-7.19-.62L12 2z", fill: "white", opacity: "0.1" })] })),
104
108
  },
105
109
  });
@@ -111,7 +115,7 @@ const NtdTwitch = /* @__PURE__ */ createIcon({
111
115
  paths: {
112
116
  solid: ({ primaryColor }) => (jsx("path", { d: "M4 2L2 6v14h5v3h3l3-3h4l5-5V2H4zm15 11l-3 3h-4l-3 3v-3H5V4h14v9z", fill: primaryColor })),
113
117
  outline: ({ primaryColor, strokeWidth }) => (jsx("path", { d: "M4 2L2 6v14h5v3h3l3-3h4l5-5V2H4zm15 11l-3 3h-4l-3 3v-3H5V4h14v9zM11 7v5M15 7v5", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })),
114
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M4 2L2 6v14h5v3h3l3-3h4l5-5V2H4z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M19 13l-3 3h-4l-3 3v-3H5V4h14v9zM11 7v5M15 7v5", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
118
+ duotone: swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M4 2L2 6v14h5v3h3l3-3h4l5-5V2H4z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M19 13l-3 3h-4l-3 3v-3H5V4h14v9zM11 7v5M15 7v5", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] }))),
115
119
  vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M4 2L2 6v14h5v3h3l3-3h4l5-5V2H4zm15 11l-3 3h-4l-3 3v-3H5V4h14v9z", fill: primaryColor }), jsx("path", { d: "M4 2L2 6v14h5v3h3l3-3h4l5-5V2H4zm15 11l-3 3h-4l-3 3v-3H5V4h14v9z", fill: "white", opacity: "0.1" })] })),
116
120
  },
117
121
  });
@@ -120,7 +124,7 @@ const NtdYoutubeLive = /* @__PURE__ */ createIcon({
120
124
  paths: {
121
125
  solid: ({ primaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M22.54 6.42a2.78 2.78 0 00-1.95-1.97C18.88 4 12 4 12 4s-6.88 0-8.59.45a2.78 2.78 0 00-1.95 1.97A29 29 0 001 12a29 29 0 00.46 5.58 2.78 2.78 0 001.95 1.97C5.12 20 12 20 12 20s6.88 0 8.59-.46a2.78 2.78 0 001.95-1.97A29 29 0 0023 12a29 29 0 00-.46-5.58z", fill: primaryColor }), jsx("path", { d: "M10 15l5-3-5-3v6z", fill: "white" }), jsx("circle", { cx: "18", cy: "6", r: "3", fill: "#ef4444" })] })),
122
126
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M22.54 6.42a2.78 2.78 0 00-1.95-1.97C18.88 4 12 4 12 4s-6.88 0-8.59.45a2.78 2.78 0 00-1.95 1.97A29 29 0 001 12a29 29 0 00.46 5.58 2.78 2.78 0 001.95 1.97C5.12 20 12 20 12 20s6.88 0 8.59-.46a2.78 2.78 0 001.95-1.97A29 29 0 0023 12a29 29 0 00-.46-5.58z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M10 15l5-3-5-3v6z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("circle", { cx: "18", cy: "6", r: "2", fill: "#ef4444" })] })),
123
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth: _strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M22.54 6.42a2.78 2.78 0 00-1.95-1.97C18.88 4 12 4 12 4s-6.88 0-8.59.45a2.78 2.78 0 00-1.95 1.97A29 29 0 001 12a29 29 0 00.46 5.58 2.78 2.78 0 001.95 1.97C5.12 20 12 20 12 20s6.88 0 8.59-.46a2.78 2.78 0 001.95-1.97A29 29 0 0023 12a29 29 0 00-.46-5.58z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M10 15l5-3-5-3v6z", fill: primaryColor }), jsx("circle", { cx: "18", cy: "6", r: "3", fill: "#ef4444" })] })),
127
+ duotone: swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth: _strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M22.54 6.42a2.78 2.78 0 00-1.95-1.97C18.88 4 12 4 12 4s-6.88 0-8.59.45a2.78 2.78 0 00-1.95 1.97A29 29 0 001 12a29 29 0 00.46 5.58 2.78 2.78 0 001.95 1.97C5.12 20 12 20 12 20s6.88 0 8.59-.46a2.78 2.78 0 001.95-1.97A29 29 0 0023 12a29 29 0 00-.46-5.58z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M10 15l5-3-5-3v6z", fill: primaryColor }), jsx("circle", { cx: "18", cy: "6", r: "3", fill: "#ef4444" })] }))),
124
128
  vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M22.54 6.42a2.78 2.78 0 00-1.95-1.97C18.88 4 12 4 12 4s-6.88 0-8.59.45a2.78 2.78 0 00-1.95 1.97A29 29 0 001 12a29 29 0 00.46 5.58 2.78 2.78 0 001.95 1.97C5.12 20 12 20 12 20s6.88 0 8.59-.46a2.78 2.78 0 001.95-1.97A29 29 0 0023 12a29 29 0 00-.46-5.58z", fill: primaryColor }), jsx("path", { d: "M22.54 6.42a2.78 2.78 0 00-1.95-1.97C18.88 4 12 4 12 4s-6.88 0-8.59.45a2.78 2.78 0 00-1.95 1.97A29 29 0 001 12a29 29 0 00.46 5.58 2.78 2.78 0 001.95 1.97C5.12 20 12 20 12 20s6.88 0 8.59-.46a2.78 2.78 0 001.95-1.97A29 29 0 0023 12a29 29 0 00-.46-5.58z", fill: "white", opacity: "0.08" }), jsx("path", { d: "M10 15l5-3-5-3v6z", fill: "white" }), jsx("circle", { cx: "18", cy: "6", r: "3", fill: "#ef4444" })] })),
125
129
  },
126
130
  });
@@ -129,7 +133,7 @@ const NtdDiscord = /* @__PURE__ */ createIcon({
129
133
  paths: {
130
134
  solid: ({ primaryColor }) => (jsx("path", { d: "M20.32 4.37a19.8 19.8 0 00-4.93-1.52 14.5 14.5 0 00-.64 1.31 18.3 18.3 0 00-5.5 0 14.3 14.3 0 00-.64-1.31A19.73 19.73 0 003.68 4.37 20.33 20.33 0 00.1 16.9a19.88 19.88 0 006.03 3.04 14.6 14.6 0 001.28-2.08 12.9 12.9 0 01-2.02-.97c.17-.12.33-.25.49-.38a14.14 14.14 0 0012.24 0c.16.13.32.26.49.38-.65.38-1.32.71-2.02.97.36.73.78 1.42 1.28 2.08a19.83 19.83 0 006.03-3.04 20.27 20.27 0 00-3.58-12.53zM8.02 14.06c-1.09 0-2-.99-2-2.22 0-1.22.89-2.22 2-2.22 1.12 0 2.02 1 2 2.22 0 1.23-.89 2.22-2 2.22zm7.96 0c-1.1 0-2-.99-2-2.22 0-1.22.89-2.22 2-2.22 1.11 0 2.01 1 2 2.22-.01 1.23-.9 2.22-2 2.22z", fill: primaryColor })),
131
135
  outline: ({ primaryColor, strokeWidth }) => (jsx("path", { d: "M20.32 4.37a19.8 19.8 0 00-4.93-1.52 14.5 14.5 0 00-.64 1.31 18.3 18.3 0 00-5.5 0 14.3 14.3 0 00-.64-1.31A19.73 19.73 0 003.68 4.37 20.33 20.33 0 00.1 16.9a19.88 19.88 0 006.03 3.04 14.6 14.6 0 001.28-2.08 12.9 12.9 0 01-2.02-.97c.17-.12.33-.25.49-.38a14.14 14.14 0 0012.24 0c.16.13.32.26.49.38-.65.38-1.32.71-2.02.97.36.73.78 1.42 1.28 2.08a19.83 19.83 0 006.03-3.04 20.27 20.27 0 00-3.58-12.53zM8.02 14.06c-1.09 0-2-.99-2-2.22 0-1.22.89-2.22 2-2.22 1.12 0 2.02 1 2 2.22 0 1.23-.89 2.22-2 2.22zm7.96 0c-1.1 0-2-.99-2-2.22 0-1.22.89-2.22 2-2.22 1.11 0 2.01 1 2 2.22-.01 1.23-.9 2.22-2 2.22z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })),
132
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity }) => (jsxs(Fragment, { children: [jsx("path", { d: "M20.32 4.37a19.8 19.8 0 00-4.93-1.52 14.5 14.5 0 00-.64 1.31 18.3 18.3 0 00-5.5 0 14.3 14.3 0 00-.64-1.31A19.73 19.73 0 003.68 4.37 20.33 20.33 0 00.1 16.9a19.88 19.88 0 006.03 3.04 14.6 14.6 0 001.28-2.08 12.9 12.9 0 01-2.02-.97c.17-.12.33-.25.49-.38a14.14 14.14 0 0012.24 0c.16.13.32.26.49.38-.65.38-1.32.71-2.02.97.36.73.78 1.42 1.28 2.08a19.83 19.83 0 006.03-3.04 20.27 20.27 0 00-3.58-12.53z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("ellipse", { cx: "8.02", cy: "11.84", rx: "2", ry: "2.22", fill: primaryColor }), jsx("ellipse", { cx: "15.98", cy: "11.84", rx: "2", ry: "2.22", fill: primaryColor })] })),
136
+ duotone: swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity }) => (jsxs(Fragment, { children: [jsx("path", { d: "M20.32 4.37a19.8 19.8 0 00-4.93-1.52 14.5 14.5 0 00-.64 1.31 18.3 18.3 0 00-5.5 0 14.3 14.3 0 00-.64-1.31A19.73 19.73 0 003.68 4.37 20.33 20.33 0 00.1 16.9a19.88 19.88 0 006.03 3.04 14.6 14.6 0 001.28-2.08 12.9 12.9 0 01-2.02-.97c.17-.12.33-.25.49-.38a14.14 14.14 0 0012.24 0c.16.13.32.26.49.38-.65.38-1.32.71-2.02.97.36.73.78 1.42 1.28 2.08a19.83 19.83 0 006.03-3.04 20.27 20.27 0 00-3.58-12.53z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("ellipse", { cx: "8.02", cy: "11.84", rx: "2", ry: "2.22", fill: primaryColor }), jsx("ellipse", { cx: "15.98", cy: "11.84", rx: "2", ry: "2.22", fill: primaryColor })] }))),
133
137
  vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M20.32 4.37a19.8 19.8 0 00-4.93-1.52 14.5 14.5 0 00-.64 1.31 18.3 18.3 0 00-5.5 0 14.3 14.3 0 00-.64-1.31A19.73 19.73 0 003.68 4.37 20.33 20.33 0 00.1 16.9a19.88 19.88 0 006.03 3.04 14.6 14.6 0 001.28-2.08 12.9 12.9 0 01-2.02-.97c.17-.12.33-.25.49-.38a14.14 14.14 0 0012.24 0c.16.13.32.26.49.38-.65.38-1.32.71-2.02.97.36.73.78 1.42 1.28 2.08a19.83 19.83 0 006.03-3.04 20.27 20.27 0 00-3.58-12.53zM8.02 14.06c-1.09 0-2-.99-2-2.22 0-1.22.89-2.22 2-2.22 1.12 0 2.02 1 2 2.22 0 1.23-.89 2.22-2 2.22zm7.96 0c-1.1 0-2-.99-2-2.22 0-1.22.89-2.22 2-2.22 1.11 0 2.01 1 2 2.22-.01 1.23-.9 2.22-2 2.22z", fill: primaryColor }), jsx("path", { d: "M20.32 4.37a19.8 19.8 0 00-4.93-1.52 14.5 14.5 0 00-.64 1.31 18.3 18.3 0 00-5.5 0 14.3 14.3 0 00-.64-1.31A19.73 19.73 0 003.68 4.37 20.33 20.33 0 00.1 16.9a19.88 19.88 0 006.03 3.04 14.6 14.6 0 001.28-2.08 12.9 12.9 0 01-2.02-.97c.17-.12.33-.25.49-.38a14.14 14.14 0 0012.24 0c.16.13.32.26.49.38-.65.38-1.32.71-2.02.97.36.73.78 1.42 1.28 2.08a19.83 19.83 0 006.03-3.04 20.27 20.27 0 00-3.58-12.53zM8.02 14.06c-1.09 0-2-.99-2-2.22 0-1.22.89-2.22 2-2.22 1.12 0 2.02 1 2 2.22 0 1.23-.89 2.22-2 2.22zm7.96 0c-1.1 0-2-.99-2-2.22 0-1.22.89-2.22 2-2.22 1.11 0 2.01 1 2 2.22-.01 1.23-.9 2.22-2 2.22z", fill: "white", opacity: "0.1" })] })),
134
138
  },
135
139
  });
@@ -141,7 +145,7 @@ const NtdDice = /* @__PURE__ */ createIcon({
141
145
  paths: {
142
146
  solid: ({ primaryColor }) => (jsxs(Fragment, { children: [jsx("rect", { x: "3", y: "3", width: "18", height: "18", rx: "3", fill: primaryColor }), jsx("circle", { cx: "7.5", cy: "7.5", r: "1.5", fill: "white" }), jsx("circle", { cx: "12", cy: "12", r: "1.5", fill: "white" }), jsx("circle", { cx: "16.5", cy: "16.5", r: "1.5", fill: "white" }), jsx("circle", { cx: "7.5", cy: "16.5", r: "1.5", fill: "white" }), jsx("circle", { cx: "16.5", cy: "7.5", r: "1.5", fill: "white" })] })),
143
147
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "3", y: "3", width: "18", height: "18", rx: "3", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("circle", { cx: "7.5", cy: "7.5", r: "1.5", fill: primaryColor }), jsx("circle", { cx: "12", cy: "12", r: "1.5", fill: primaryColor }), jsx("circle", { cx: "16.5", cy: "16.5", r: "1.5", fill: primaryColor }), jsx("circle", { cx: "7.5", cy: "16.5", r: "1.5", fill: primaryColor }), jsx("circle", { cx: "16.5", cy: "7.5", r: "1.5", fill: primaryColor })] })),
144
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity }) => (jsxs(Fragment, { children: [jsx("rect", { x: "3", y: "3", width: "18", height: "18", rx: "3", fill: secondaryColor, opacity: secondaryOpacity }), jsx("circle", { cx: "7.5", cy: "7.5", r: "1.5", fill: primaryColor }), jsx("circle", { cx: "12", cy: "12", r: "1.5", fill: primaryColor }), jsx("circle", { cx: "16.5", cy: "16.5", r: "1.5", fill: primaryColor }), jsx("circle", { cx: "7.5", cy: "16.5", r: "1.5", fill: primaryColor }), jsx("circle", { cx: "16.5", cy: "7.5", r: "1.5", fill: primaryColor })] })),
148
+ duotone: swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity }) => (jsxs(Fragment, { children: [jsx("rect", { x: "3", y: "3", width: "18", height: "18", rx: "3", fill: secondaryColor, opacity: secondaryOpacity }), jsx("circle", { cx: "7.5", cy: "7.5", r: "1.5", fill: primaryColor }), jsx("circle", { cx: "12", cy: "12", r: "1.5", fill: primaryColor }), jsx("circle", { cx: "16.5", cy: "16.5", r: "1.5", fill: primaryColor }), jsx("circle", { cx: "7.5", cy: "16.5", r: "1.5", fill: primaryColor }), jsx("circle", { cx: "16.5", cy: "7.5", r: "1.5", fill: primaryColor })] }))),
145
149
  vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxs(Fragment, { children: [jsx("rect", { x: "3", y: "3", width: "18", height: "18", rx: "3", fill: primaryColor }), jsx("rect", { x: "3", y: "3", width: "18", height: "18", rx: "3", fill: "white", opacity: "0.08" }), jsx("circle", { cx: "7.5", cy: "7.5", r: "1.5", fill: "white" }), jsx("circle", { cx: "12", cy: "12", r: "1.5", fill: "white" }), jsx("circle", { cx: "16.5", cy: "16.5", r: "1.5", fill: "white" }), jsx("circle", { cx: "7.5", cy: "16.5", r: "1.5", fill: "white" }), jsx("circle", { cx: "16.5", cy: "7.5", r: "1.5", fill: "white" })] })),
146
150
  },
147
151
  });
@@ -156,10 +160,13 @@ const NtdSword = /* @__PURE__ */ createIcon({
156
160
  });
157
161
  const NtdShield = /* @__PURE__ */ createIcon({
158
162
  displayName: 'NtdShield',
163
+ perfectStackX: 12,
164
+ perfectStackY: 11,
165
+ perfectStackSize: 0.5,
159
166
  paths: {
160
167
  solid: ({ primaryColor }) => (jsx("path", { d: "M12 2L4 5v6.09c0 5.05 3.41 9.76 8 10.91 4.59-1.15 8-5.86 8-10.91V5l-8-3z", fill: primaryColor })),
161
168
  outline: ({ primaryColor, strokeWidth }) => (jsx("path", { d: "M12 2L4 5v6.09c0 5.05 3.41 9.76 8 10.91 4.59-1.15 8-5.86 8-10.91V5l-8-3z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })),
162
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M12 2L4 5v6.09c0 5.05 3.41 9.76 8 10.91 4.59-1.15 8-5.86 8-10.91V5l-8-3z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M12 2L4 5v6.09c0 5.05 3.41 9.76 8 10.91 4.59-1.15 8-5.86 8-10.91V5l-8-3z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M9 12l2 2 4-4", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none", strokeLinecap: "round", strokeLinejoin: "round" })] })),
169
+ duotone: swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M12 2L4 5v6.09c0 5.05 3.41 9.76 8 10.91 4.59-1.15 8-5.86 8-10.91V5l-8-3z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M12 2L4 5v6.09c0 5.05 3.41 9.76 8 10.91 4.59-1.15 8-5.86 8-10.91V5l-8-3z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M9 12l2 2 4-4", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none", strokeLinecap: "round", strokeLinejoin: "round" })] }))),
163
170
  vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M12 2L4 5v6.09c0 5.05 3.41 9.76 8 10.91 4.59-1.15 8-5.86 8-10.91V5l-8-3z", fill: primaryColor }), jsx("path", { d: "M12 2L4 5v6.09c0 5.05 3.41 9.76 8 10.91 4.59-1.15 8-5.86 8-10.91V5l-8-3z", fill: "white", opacity: "0.1" })] })),
164
171
  },
165
172
  });
@@ -168,7 +175,7 @@ const NtdPotion = /* @__PURE__ */ createIcon({
168
175
  paths: {
169
176
  solid: ({ primaryColor }) => (jsx("path", { d: "M9 2v4H7v2l-4 8a4 4 0 004 4h10a4 4 0 004-4l-4-8V6h-2V2H9zm1 14a2 2 0 11-4 0 2 2 0 014 0zm6-2a1 1 0 11-2 0 1 1 0 012 0z", fill: primaryColor })),
170
177
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M9 2v4H7v2l-4 8a4 4 0 004 4h10a4 4 0 004-4l-4-8V6h-2V2H9z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("circle", { cx: "8", cy: "16", r: "2", fill: primaryColor }), jsx("circle", { cx: "15", cy: "14", r: "1", fill: primaryColor })] })),
171
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M7 8l-4 8a4 4 0 004 4h10a4 4 0 004-4l-4-8H7z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M9 2v4H7v2l-4 8a4 4 0 004 4h10a4 4 0 004-4l-4-8V6h-2V2H9z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("circle", { cx: "8", cy: "16", r: "2", fill: primaryColor }), jsx("circle", { cx: "15", cy: "14", r: "1", fill: primaryColor })] })),
178
+ duotone: swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M7 8l-4 8a4 4 0 004 4h10a4 4 0 004-4l-4-8H7z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M9 2v4H7v2l-4 8a4 4 0 004 4h10a4 4 0 004-4l-4-8V6h-2V2H9z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("circle", { cx: "8", cy: "16", r: "2", fill: primaryColor }), jsx("circle", { cx: "15", cy: "14", r: "1", fill: primaryColor })] }))),
172
179
  vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M9 2v4H7v2l-4 8a4 4 0 004 4h10a4 4 0 004-4l-4-8V6h-2V2H9zm1 14a2 2 0 11-4 0 2 2 0 014 0zm6-2a1 1 0 11-2 0 1 1 0 012 0z", fill: primaryColor }), jsx("path", { d: "M9 2v4H7v2l-4 8a4 4 0 004 4h10a4 4 0 004-4l-4-8V6h-2V2H9zm1 14a2 2 0 11-4 0 2 2 0 014 0zm6-2a1 1 0 11-2 0 1 1 0 012 0z", fill: "white", opacity: "0.1" })] })),
173
180
  },
174
181
  });
@@ -1,12 +1,12 @@
1
1
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
2
  import { createIcon } from '../createIcon.js';
3
+ import { swapDuotone } from '../iconParts.js';
3
4
 
4
5
  const NtdApple = /* @__PURE__ */ createIcon({
5
6
  displayName: 'NtdApple',
6
7
  paths: {
7
8
  solid: ({ primaryColor, secondaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M12 3c-1-2-4-1-4-1s-5 1-5 7c0 5 3 10 5 12h2c.5-.5 1.5-1 2-1s1.5.5 2 1h2c2-2 5-7 5-12 0-6-5-7-5-7s-3-1-4 1z", fill: primaryColor }), jsx("path", { d: "M12 1c1.5-.5 3 .5 3 2", stroke: secondaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
8
9
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M12 3c-1-2-4-1-4-1s-5 1-5 7c0 5 3 10 5 12h2c.5-.5 1.5-1 2-1s1.5.5 2 1h2c2-2 5-7 5-12 0-6-5-7-5-7s-3-1-4 1z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M12 1c1.5-.5 3 .5 3 2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
9
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M12 3c-1-2-4-1-4-1s-5 1-5 7c0 5 3 10 5 12h2c.5-.5 1.5-1 2-1s1.5.5 2 1h2c2-2 5-7 5-12 0-6-5-7-5-7s-3-1-4 1z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M12 3c-1-2-4-1-4-1s-5 1-5 7c0 5 3 10 5 12h2c.5-.5 1.5-1 2-1s1.5.5 2 1h2c2-2 5-7 5-12 0-6-5-7-5-7s-3-1-4 1z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M12 1c1.5-.5 3 .5 3 2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
10
10
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M12 3c-1-2-4-1-4-1s-5 1-5 7c0 5 3 10 5 12h2c.5-.5 1.5-1 2-1s1.5.5 2 1h2c2-2 5-7 5-12 0-6-5-7-5-7s-3-1-4 1z", fill: primaryColor }), jsx("path", { d: "M12 3c-1-2-4-1-4-1s-5 1-5 7c0 5 3 10 5 12h2c.5-.5 1.5-1 2-1s1.5.5 2 1h2c2-2 5-7 5-12 0-6-5-7-5-7s-3-1-4 1z", fill: "white", opacity: "0.1" }), jsx("path", { d: "M12 1c1.5-.5 3 .5 3 2", stroke: secondaryColor, strokeWidth: "1.8", fill: "none" })] })),
11
11
  },
12
12
  });
@@ -15,7 +15,6 @@ const NtdPizza = /* @__PURE__ */ createIcon({
15
15
  paths: {
16
16
  solid: ({ primaryColor, secondaryColor, strokeWidth: _strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M12 2L2 19.5Q12 24 22 19.5L12 2z", fill: primaryColor }), jsx("circle", { cx: "10", cy: "12", r: "1.5", fill: secondaryColor }), jsx("circle", { cx: "14", cy: "15", r: "1.5", fill: secondaryColor }), jsx("circle", { cx: "11", cy: "17", r: "1", fill: secondaryColor })] })),
17
17
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M12 2L2 19.5Q12 24 22 19.5L12 2z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("circle", { cx: "10", cy: "12", r: "1.5", stroke: primaryColor, strokeWidth: "1.5", fill: "none" }), jsx("circle", { cx: "14", cy: "15", r: "1.5", stroke: primaryColor, strokeWidth: "1.5", fill: "none" }), jsx("circle", { cx: "11", cy: "17", r: "1", stroke: primaryColor, strokeWidth: "1.5", fill: "none" })] })),
18
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M12 2L2 19.5Q12 24 22 19.5L12 2z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M12 2L2 19.5Q12 24 22 19.5L12 2z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("circle", { cx: "10", cy: "12", r: "1.5", fill: primaryColor }), jsx("circle", { cx: "14", cy: "15", r: "1.5", fill: primaryColor }), jsx("circle", { cx: "11", cy: "17", r: "1", fill: primaryColor })] })),
19
18
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M12 2L2 19.5Q12 24 22 19.5L12 2z", fill: primaryColor }), jsx("path", { d: "M12 2L2 19.5Q12 24 22 19.5L12 2z", fill: "white", opacity: "0.08" }), jsx("circle", { cx: "10", cy: "12", r: "1.5", fill: secondaryColor }), jsx("circle", { cx: "14", cy: "15", r: "1.5", fill: "#EF4444" }), jsx("circle", { cx: "11", cy: "17", r: "1", fill: "#10B981" })] })),
20
19
  },
21
20
  });
@@ -24,7 +23,6 @@ const NtdGlass = /* @__PURE__ */ createIcon({
24
23
  paths: {
25
24
  solid: ({ primaryColor, secondaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M8 2h8l-2 10c0 2-1 3-2 3S10 14 10 12L8 2z", fill: primaryColor }), jsx("rect", { x: "8", y: "2", width: "8", height: "4", rx: "0.5", fill: secondaryColor, opacity: 0.3 }), jsx("line", { x1: "12", y1: "15", x2: "12", y2: "20", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "8", y1: "20", x2: "16", y2: "20", stroke: primaryColor, strokeWidth: strokeWidth })] })),
26
25
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M8 2h8l-2 10c0 2-1 3-2 3S10 14 10 12L8 2z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("line", { x1: "12", y1: "15", x2: "12", y2: "20", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "8", y1: "20", x2: "16", y2: "20", stroke: primaryColor, strokeWidth: strokeWidth })] })),
27
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M8 2h8l-2 10c0 2-1 3-2 3S10 14 10 12L8 2z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M8 2h8l-2 10c0 2-1 3-2 3S10 14 10 12L8 2z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("line", { x1: "12", y1: "15", x2: "12", y2: "20", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "8", y1: "20", x2: "16", y2: "20", stroke: primaryColor, strokeWidth: strokeWidth })] })),
28
26
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M8 2h8l-2 10c0 2-1 3-2 3S10 14 10 12L8 2z", fill: primaryColor }), jsx("path", { d: "M8 2h8l-2 10c0 2-1 3-2 3S10 14 10 12L8 2z", fill: "white", opacity: "0.08" }), jsx("rect", { x: "8", y: "2", width: "8", height: "4", rx: "0.5", fill: secondaryColor }), jsx("line", { x1: "12", y1: "15", x2: "12", y2: "20", stroke: "white", strokeWidth: "1" }), jsx("line", { x1: "8", y1: "20", x2: "16", y2: "20", stroke: "white", strokeWidth: "1" })] })),
29
27
  },
30
28
  });
@@ -33,7 +31,6 @@ const NtdHeartPulse = /* @__PURE__ */ createIcon({
33
31
  paths: {
34
32
  solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth: _strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M20.84 4.61a5.5 5.5 0 00-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 00-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 000-7.78z", fill: primaryColor }), jsx("polyline", { points: "3,12 8,12 10,9 12,15 14,12 21,12", stroke: accentColor, strokeWidth: "1.5", fill: "none", opacity: accentOpacity })] })),
35
33
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M20.84 4.61a5.5 5.5 0 00-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 00-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 000-7.78z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("polyline", { points: "3,12 8,12 10,9 12,15 14,12 21,12", stroke: primaryColor, strokeWidth: "1.5", fill: "none" })] })),
36
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M20.84 4.61a5.5 5.5 0 00-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 00-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 000-7.78z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M20.84 4.61a5.5 5.5 0 00-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 00-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 000-7.78z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("polyline", { points: "3,12 8,12 10,9 12,15 14,12 21,12", stroke: primaryColor, strokeWidth: "1.5", fill: "none" })] })),
37
34
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M20.84 4.61a5.5 5.5 0 00-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 00-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 000-7.78z", fill: primaryColor }), jsx("path", { d: "M20.84 4.61a5.5 5.5 0 00-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 00-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 000-7.78z", fill: "white", opacity: "0.1" }), jsx("polyline", { points: "3,12 8,12 10,9 12,15 14,12 21,12", stroke: secondaryColor, strokeWidth: "1.8", fill: "none" })] })),
38
35
  },
39
36
  });
@@ -42,7 +39,6 @@ const NtdPill = /* @__PURE__ */ createIcon({
42
39
  paths: {
43
40
  solid: ({ primaryColor, secondaryColor, strokeWidth: _strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M10.83 2.83a5.002 5.002 0 010 7.08L4.58 16.17a5.002 5.002 0 01-7.08 0 5.002 5.002 0 010-7.08L3.75 2.83a5.002 5.002 0 017.08 0z", fill: primaryColor, transform: "translate(5,2)" }), jsx("line", { x1: "8.5", y1: "8.5", x2: "15.5", y2: "15.5", stroke: secondaryColor, strokeWidth: "1.5", opacity: 0.5 })] })),
44
41
  outline: ({ primaryColor, strokeWidth }) => (jsx("path", { d: "M16.24 7.76a6 6 0 01-8.49 8.49L4.93 13.4a6 6 0 018.49-8.49l2.83 2.83z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })),
45
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M16.24 7.76a6 6 0 01-8.49 8.49L4.93 13.4a6 6 0 018.49-8.49l2.83 2.83z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M16.24 7.76a6 6 0 01-8.49 8.49L4.93 13.4a6 6 0 018.49-8.49l2.83 2.83z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("line", { x1: "8.5", y1: "8.5", x2: "15.5", y2: "15.5", stroke: primaryColor, strokeWidth: "1.5" })] })),
46
42
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M10.83 2.83a5.002 5.002 0 010 7.08L4.58 16.17a5.002 5.002 0 01-7.08 0 5.002 5.002 0 010-7.08L3.75 2.83a5.002 5.002 0 017.08 0z", fill: primaryColor, transform: "translate(5,2)" }), jsx("path", { d: "M10.83 2.83a5.002 5.002 0 010 7.08L4.58 16.17a5.002 5.002 0 01-7.08 0 5.002 5.002 0 010-7.08L3.75 2.83a5.002 5.002 0 017.08 0z", fill: "white", transform: "translate(5,2)", opacity: "0.1" }), jsx("line", { x1: "8.5", y1: "8.5", x2: "15.5", y2: "15.5", stroke: secondaryColor, strokeWidth: "1.8" })] })),
47
43
  },
48
44
  });
@@ -51,7 +47,7 @@ const NtdSyringe = /* @__PURE__ */ createIcon({
51
47
  paths: {
52
48
  solid: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M18 2l4 4-2 2-1-1-7 7-2 4-2-2 1-3 6-6-1-1-2-2L18 2z", fill: primaryColor }), jsx("line", { x1: "2", y1: "22", x2: "8", y2: "16", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "10", y1: "10", x2: "14", y2: "14", stroke: primaryColor, strokeWidth: "1", opacity: 0.3 })] })),
53
49
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M18 2l4 4-6 6 2 2-7 7-4-4 7-7-2-2 6-6z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("line", { x1: "2", y1: "22", x2: "8", y2: "16", stroke: primaryColor, strokeWidth: strokeWidth })] })),
54
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M18 2l4 4-6 6 2 2-7 7-4-4 7-7-2-2 6-6z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M18 2l4 4-6 6 2 2-7 7-4-4 7-7-2-2 6-6z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("line", { x1: "2", y1: "22", x2: "8", y2: "16", stroke: primaryColor, strokeWidth: strokeWidth })] })),
50
+ duotone: swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M18 2l4 4-6 6 2 2-7 7-4-4 7-7-2-2 6-6z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M18 2l4 4-6 6 2 2-7 7-4-4 7-7-2-2 6-6z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("line", { x1: "2", y1: "22", x2: "8", y2: "16", stroke: primaryColor, strokeWidth: strokeWidth })] }))),
55
51
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M18 2l4 4-2 2-1-1-7 7-2 4-2-2 1-3 6-6-1-1-2-2L18 2z", fill: primaryColor }), jsx("path", { d: "M18 2l4 4-2 2-1-1-7 7-2 4-2-2 1-3 6-6-1-1-2-2L18 2z", fill: "white", opacity: "0.1" }), jsx("line", { x1: "2", y1: "22", x2: "8", y2: "16", stroke: secondaryColor, strokeWidth: "1.8" }), jsx("line", { x1: "10", y1: "10", x2: "14", y2: "14", stroke: "#EF4444", strokeWidth: "1.5" })] })),
56
52
  },
57
53
  });
@@ -69,7 +65,6 @@ const NtdWeight = /* @__PURE__ */ createIcon({
69
65
  paths: {
70
66
  solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth: _strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M6 4h12l2 16H4L6 4z", fill: primaryColor }), jsx("circle", { cx: "12", cy: "4", r: "3", fill: primaryColor }), jsx("circle", { cx: "12", cy: "4", r: "1.5", fill: accentColor, opacity: accentOpacity }), jsx("text", { x: "12", y: "16", textAnchor: "middle", fill: accentColor, opacity: accentOpacity, fontSize: "6", fontWeight: "bold", children: "KG" })] })),
71
67
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M6 4h12l2 16H4L6 4z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("circle", { cx: "12", cy: "4", r: "3", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
72
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M6 4h12l2 16H4L6 4z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M6 4h12l2 16H4L6 4z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("circle", { cx: "12", cy: "4", r: "3", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
73
68
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M6 4h12l2 16H4L6 4z", fill: primaryColor }), jsx("path", { d: "M6 4h12l2 16H4L6 4z", fill: "white", opacity: "0.08" }), jsx("circle", { cx: "12", cy: "4", r: "3", fill: secondaryColor }), jsx("circle", { cx: "12", cy: "4", r: "1.5", fill: "#EF4444" })] })),
74
69
  },
75
70
  });
@@ -78,7 +73,6 @@ const NtdBandaid = /* @__PURE__ */ createIcon({
78
73
  paths: {
79
74
  solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth: _strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M18.36 5.64a3 3 0 00-4.24 0L5.64 14.12a3 3 0 004.24 4.24l8.48-8.48a3 3 0 000-4.24z", fill: primaryColor }), jsx("path", { d: "M14.12 5.64a3 3 0 00-4.24 0L1.4 14.12a3 3 0 004.24 4.24l8.48-8.48a3 3 0 000-4.24z", fill: primaryColor, opacity: 0.7 }), jsx("circle", { cx: "12", cy: "12", r: "1", fill: accentColor, opacity: accentOpacity }), jsx("circle", { cx: "10", cy: "10", r: "0.5", fill: accentColor, opacity: accentOpacity }), jsx("circle", { cx: "14", cy: "14", r: "0.5", fill: accentColor, opacity: accentOpacity }), jsx("circle", { cx: "10", cy: "14", r: "0.5", fill: accentColor, opacity: accentOpacity }), jsx("circle", { cx: "14", cy: "10", r: "0.5", fill: accentColor, opacity: accentOpacity })] })),
80
75
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M18.36 5.64a3 3 0 00-4.24 0L5.64 14.12a3 3 0 004.24 4.24l8.48-8.48a3 3 0 000-4.24z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M9.88 14.12l4.24-4.24", stroke: primaryColor, strokeWidth: strokeWidth })] })),
81
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M18.36 5.64a3 3 0 00-4.24 0L5.64 14.12a3 3 0 004.24 4.24l8.48-8.48a3 3 0 000-4.24z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M18.36 5.64a3 3 0 00-4.24 0L5.64 14.12a3 3 0 004.24 4.24l8.48-8.48a3 3 0 000-4.24z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
82
76
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M18.36 5.64a3 3 0 00-4.24 0L5.64 14.12a3 3 0 004.24 4.24l8.48-8.48a3 3 0 000-4.24z", fill: primaryColor }), jsx("path", { d: "M18.36 5.64a3 3 0 00-4.24 0L5.64 14.12a3 3 0 004.24 4.24l8.48-8.48a3 3 0 000-4.24z", fill: "white", opacity: "0.08" }), jsx("path", { d: "M14.12 5.64a3 3 0 00-4.24 0L1.4 14.12a3 3 0 004.24 4.24l8.48-8.48a3 3 0 000-4.24z", fill: secondaryColor }), jsx("circle", { cx: "12", cy: "12", r: "1", fill: "#EF4444" }), jsx("circle", { cx: "10", cy: "10", r: "0.5", fill: "#10B981" }), jsx("circle", { cx: "14", cy: "14", r: "0.5", fill: "#F472B6" }), jsx("circle", { cx: "10", cy: "14", r: "0.5", fill: "#F472B6" }), jsx("circle", { cx: "14", cy: "10", r: "0.5", fill: "#F472B6" })] })),
83
77
  },
84
78
  });
@@ -87,42 +81,61 @@ const NtdCake = /* @__PURE__ */ createIcon({
87
81
  paths: {
88
82
  solid: ({ primaryColor, secondaryColor, accentColor, strokeWidth: _strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "2", y: "12", width: "20", height: "10", rx: "2", fill: primaryColor }), jsx("path", { d: "M2 17c2 0 3-1 4-1s2 1 4 1 3-1 4-1 2 1 4 1 3-1 4-1", stroke: secondaryColor, strokeWidth: "1.5", fill: "none", opacity: 0.5 }), jsx("rect", { x: "5", y: "8", width: "14", height: "4", rx: "1", fill: primaryColor, opacity: 0.9 }), jsx("line", { x1: "8", y1: "4", x2: "8", y2: "8", stroke: accentColor, strokeWidth: "1.5" }), jsx("line", { x1: "12", y1: "4", x2: "12", y2: "8", stroke: accentColor, strokeWidth: "1.5" }), jsx("line", { x1: "16", y1: "4", x2: "16", y2: "8", stroke: accentColor, strokeWidth: "1.5" }), jsx("circle", { cx: "8", cy: "3", r: "1", fill: accentColor }), jsx("circle", { cx: "12", cy: "3", r: "1", fill: accentColor }), jsx("circle", { cx: "16", cy: "3", r: "1", fill: accentColor })] })),
89
83
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "2", y: "12", width: "20", height: "10", rx: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("rect", { x: "5", y: "8", width: "14", height: "4", rx: "1", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("line", { x1: "8", y1: "4", x2: "8", y2: "8", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "12", y1: "4", x2: "12", y2: "8", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "16", y1: "4", x2: "16", y2: "8", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("circle", { cx: "8", cy: "3", r: "1", fill: primaryColor }), jsx("circle", { cx: "12", cy: "3", r: "1", fill: primaryColor }), jsx("circle", { cx: "16", cy: "3", r: "1", fill: primaryColor })] })),
90
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "2", y: "12", width: "20", height: "10", rx: "2", fill: secondaryColor, opacity: secondaryOpacity }), jsx("rect", { x: "2", y: "12", width: "20", height: "10", rx: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("rect", { x: "5", y: "8", width: "14", height: "4", rx: "1", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("line", { x1: "8", y1: "4", x2: "8", y2: "8", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "12", y1: "4", x2: "12", y2: "8", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "16", y1: "4", x2: "16", y2: "8", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("circle", { cx: "8", cy: "3", r: "1", fill: primaryColor }), jsx("circle", { cx: "12", cy: "3", r: "1", fill: primaryColor }), jsx("circle", { cx: "16", cy: "3", r: "1", fill: primaryColor })] })),
91
84
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("rect", { x: "2", y: "12", width: "20", height: "10", rx: "2", fill: primaryColor }), jsx("rect", { x: "2", y: "12", width: "20", height: "10", rx: "2", fill: "white", opacity: "0.08" }), jsx("rect", { x: "5", y: "8", width: "14", height: "4", rx: "1", fill: secondaryColor }), jsx("circle", { cx: "8", cy: "3", r: "1", fill: "#EF4444" }), jsx("circle", { cx: "12", cy: "3", r: "1", fill: "#10B981" }), jsx("circle", { cx: "16", cy: "3", r: "1", fill: "#F472B6" }), jsx("path", { d: "M2 17c2 0 3-1 4-1s2 1 4 1 3-1 4-1 2 1 4 1 3-1 4-1", stroke: "white", strokeWidth: "1", fill: "none", opacity: "0.35" }), jsx("line", { x1: "8", y1: "4", x2: "8", y2: "8", stroke: "white", strokeWidth: "1" }), jsx("line", { x1: "12", y1: "4", x2: "12", y2: "8", stroke: "white", strokeWidth: "1" }), jsx("line", { x1: "16", y1: "4", x2: "16", y2: "8", stroke: "white", strokeWidth: "1" })] })),
92
85
  },
93
86
  });
94
87
  const NtdEgg = /* @__PURE__ */ createIcon({
95
88
  displayName: 'NtdEgg',
89
+ perfectStackX: 12,
90
+ perfectStackY: 14,
91
+ perfectStackSize: 0.45,
96
92
  paths: {
97
93
  solid: ({ primaryColor, strokeWidth: _strokeWidth }) => (jsx("ellipse", { cx: "12", cy: "14", rx: "7", ry: "8", fill: primaryColor })),
98
94
  outline: ({ primaryColor, strokeWidth }) => (jsx("path", { d: "M12 22c-4.42 0-8-3-8-7.5C4 8.5 8 2 12 2s8 6.5 8 12.5c0 4.5-3.58 7.5-8 7.5z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })),
99
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M12 22c-4.42 0-8-3-8-7.5C4 8.5 8 2 12 2s8 6.5 8 12.5c0 4.5-3.58 7.5-8 7.5z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M12 22c-4.42 0-8-3-8-7.5C4 8.5 8 2 12 2s8 6.5 8 12.5c0 4.5-3.58 7.5-8 7.5z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
95
+ duotone: swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M12 22c-4.42 0-8-3-8-7.5C4 8.5 8 2 12 2s8 6.5 8 12.5c0 4.5-3.58 7.5-8 7.5z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M12 22c-4.42 0-8-3-8-7.5C4 8.5 8 2 12 2s8 6.5 8 12.5c0 4.5-3.58 7.5-8 7.5z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] }))),
100
96
  vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxs(Fragment, { children: [jsx("ellipse", { cx: "12", cy: "14", rx: "7", ry: "8", fill: primaryColor }), jsx("ellipse", { cx: "12", cy: "14", rx: "7", ry: "8", fill: "white", opacity: "0.1" })] })),
101
97
  },
102
98
  });
103
- // NtdHamburger: even layers of one width — a low domed top bun, a thin wavy band of sauce, the
104
- // patty and the bottom bun — each standing apart. (The top was a tall half circle and the bottom
105
- // bun wider than everything above it.) The bun is plain and the sauce half as tall as before.
106
- const BURGER_TOP = 'M3 9.4C3 6.4 7 4 12 4s9 2.4 9 5.4a1 1 0 01-1 1H4a1 1 0 01-1-1z';
107
- const BURGER_SAUCE = 'M3 12c1.5-.5 3-.5 4.5 0s3 .5 4.5 0 3-.5 4.5 0 3 .5 4.5 0';
108
- const BURGER_PATTY = { x: 2.5, y: 13.6, width: 19, height: 2.9, rx: 1.45 };
109
- const BURGER_BOTTOM = 'M3 17.6h18v1.4a2 2 0 01-2 2H5a2 2 0 01-2-2z';
99
+ // NtdHamburger: three even layers of one width — a low domed top bun, the patty and the bottom bun
100
+ // — each standing apart by the same gap. (The top was a tall half circle and the bottom bun wider
101
+ // than everything above it; the wavy band of sauce between the bun and the patty is gone.)
102
+ // Duotone and vivid, fills only: the buns primary, the patty secondary (duotone had it the other
103
+ // way round until 1.3.8).
104
+ const BURGER_TOP = 'M3 10C3 6.7 7 4 12 4s9 2.7 9 6a1 1 0 01-1 1H4a1 1 0 01-1-1z';
105
+ const BURGER_PATTY = { x: 2.5, y: 12.3, width: 19, height: 3.4, rx: 1.7 };
106
+ const BURGER_BOTTOM = 'M3 17h18v2a2 2 0 01-2 2H5a2 2 0 01-2-2z';
107
+ function burgerFilled(buns, patty) {
108
+ return (jsxs(Fragment, { children: [jsx("path", { d: BURGER_TOP, fill: buns }), jsx("rect", { ...BURGER_PATTY, fill: patty }), jsx("path", { d: BURGER_BOTTOM, fill: buns })] }));
109
+ }
110
110
  const NtdHamburger = /* @__PURE__ */ createIcon({
111
111
  displayName: 'NtdHamburger',
112
112
  paths: {
113
- solid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: BURGER_TOP, fill: primaryColor }), jsx("path", { d: BURGER_SAUCE, stroke: secondaryColor, strokeWidth: "1.1", fill: "none" }), jsx("rect", { ...BURGER_PATTY, fill: primaryColor }), jsx("path", { d: BURGER_BOTTOM, fill: primaryColor })] })),
114
- outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: BURGER_TOP, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: BURGER_SAUCE, stroke: primaryColor, strokeWidth: strokeWidth * 0.55, fill: "none" }), jsx("rect", { ...BURGER_PATTY, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: BURGER_BOTTOM, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
115
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: BURGER_TOP, fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: BURGER_TOP, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: BURGER_SAUCE, stroke: primaryColor, strokeWidth: strokeWidth * 0.55, fill: "none" }), jsx("rect", { ...BURGER_PATTY, fill: primaryColor }), jsx("path", { d: BURGER_BOTTOM, fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: BURGER_BOTTOM, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
116
- vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: BURGER_TOP, fill: primaryColor }), jsx("path", { d: BURGER_TOP, fill: "white", opacity: "0.12" }), jsx("path", { d: BURGER_SAUCE, stroke: secondaryColor, strokeWidth: "1.1", fill: "none" }), jsx("rect", { ...BURGER_PATTY, fill: primaryColor }), jsx("rect", { ...BURGER_PATTY, fill: "black", opacity: "0.2" }), jsx("path", { d: BURGER_BOTTOM, fill: primaryColor })] })),
113
+ solid: ({ primaryColor }) => burgerFilled(primaryColor, primaryColor),
114
+ outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: BURGER_TOP, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("rect", { ...BURGER_PATTY, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: BURGER_BOTTOM, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
115
+ duotone: swapDuotone(({ primaryColor, secondaryColor }) => burgerFilled(secondaryColor, primaryColor)),
116
+ vivid: ({ primaryColor, secondaryColor }) => burgerFilled(primaryColor, secondaryColor),
117
117
  },
118
118
  });
119
+ // NtdDna: a double helix inside the box (the strands ran out of it, down to y 26) — two strands,
120
+ // x = 12 ± 6·cos(π(y − 2)/10), crossing at y 7 and 17, apart at the ends and in the middle; eight
121
+ // base pairs (it had three of odd lengths), two units apart and none near a crossing, each running
122
+ // exactly from strand to strand. Line glyph: the strands twice the stroke width in every variant
123
+ // but `outline`, the pairs at the stroke width, drawn under the strands so their ends hide in them.
124
+ const DNA_STRAND_A = 'M18 2C18 3.67 15.14 5.33 12 7S6 10.33 6 12S8.86 15.33 12 17S18 20.33 18 22';
125
+ const DNA_STRAND_B = 'M6 2C6 3.67 8.86 5.33 12 7S18 10.33 18 12S15.14 15.33 12 17S6 20.33 6 22';
126
+ const DNA_PAIRS = 'M6.29 3h11.42M8.47 5h7.06M8.47 9h7.06M6.29 11h11.42M6.29 13h11.42M8.47 15h7.06M8.47 19h7.06M6.29 21h11.42';
127
+ function dnaHelix(strandA, strandB, pairs, strand, pair) {
128
+ return (jsxs(Fragment, { children: [jsx("path", { d: DNA_PAIRS, stroke: pairs, strokeWidth: pair }), jsx("path", { d: DNA_STRAND_B, stroke: strandB, strokeWidth: strand, fill: "none" }), jsx("path", { d: DNA_STRAND_A, stroke: strandA, strokeWidth: strand, fill: "none" })] }));
129
+ }
119
130
  const NtdDna = /* @__PURE__ */ createIcon({
120
131
  displayName: 'NtdDna',
121
132
  paths: {
122
- solid: ({ primaryColor, secondaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M6 2c0 5 12 7 12 12s-12 7-12 12", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M18 2c0 5-12 7-12 12s12 7 12 12", stroke: secondaryColor, strokeWidth: strokeWidth, fill: "none", opacity: 0.6 }), jsx("line", { x1: "7", y1: "7", x2: "17", y2: "7", stroke: primaryColor, strokeWidth: "1.5" }), jsx("line", { x1: "7", y1: "17", x2: "17", y2: "17", stroke: primaryColor, strokeWidth: "1.5" }), jsx("line", { x1: "6", y1: "12", x2: "18", y2: "12", stroke: primaryColor, strokeWidth: "1.5" })] })),
123
- outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M6 2c0 5 12 7 12 12s-12 7-12 12", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M18 2c0 5-12 7-12 12s12 7 12 12", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("line", { x1: "7", y1: "7", x2: "17", y2: "7", stroke: primaryColor, strokeWidth: "1.5" }), jsx("line", { x1: "7", y1: "17", x2: "17", y2: "17", stroke: primaryColor, strokeWidth: "1.5" })] })),
124
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M18 2c0 5-12 7-12 12s12 7 12 12", stroke: secondaryColor, strokeWidth: strokeWidth, fill: "none", opacity: secondaryOpacity + 0.2 }), jsx("path", { d: "M6 2c0 5 12 7 12 12s-12 7-12 12", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("line", { x1: "7", y1: "7", x2: "17", y2: "7", stroke: primaryColor, strokeWidth: "1.5" }), jsx("line", { x1: "7", y1: "17", x2: "17", y2: "17", stroke: primaryColor, strokeWidth: "1.5" })] })),
125
- vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M6 2c0 5 12 7 12 12s-12 7-12 12", stroke: primaryColor, strokeWidth: "2", fill: "none" }), jsx("path", { d: "M18 2c0 5-12 7-12 12s12 7 12 12", stroke: secondaryColor, strokeWidth: "1.8", fill: "none" }), jsx("line", { x1: "7", y1: "7", x2: "17", y2: "7", stroke: "#EF4444", strokeWidth: "1.5" }), jsx("line", { x1: "7", y1: "17", x2: "17", y2: "17", stroke: secondaryColor, strokeWidth: "1.5" }), jsx("line", { x1: "6", y1: "12", x2: "18", y2: "12", stroke: secondaryColor, strokeWidth: "1.5" })] })),
133
+ solid: ({ primaryColor, strokeWidth }) => dnaHelix(primaryColor, primaryColor, primaryColor, strokeWidth * 2, strokeWidth),
134
+ outline: ({ primaryColor, strokeWidth }) => dnaHelix(primaryColor, primaryColor, primaryColor, strokeWidth, strokeWidth),
135
+ // the strands primary, the pairs secondary
136
+ duotone: ({ primaryColor, secondaryColor, strokeWidth }) => dnaHelix(primaryColor, primaryColor, secondaryColor, strokeWidth * 2, strokeWidth),
137
+ // one strand primary, the other and the pairs secondary
138
+ vivid: ({ primaryColor, secondaryColor, strokeWidth }) => dnaHelix(primaryColor, secondaryColor, secondaryColor, strokeWidth * 2, strokeWidth),
126
139
  },
127
140
  });
128
141
 
@@ -1,6 +1,6 @@
1
1
  export { NtdArrowDown, NtdArrowLeft, NtdArrowRight, NtdArrowUp, NtdChevronDown, NtdChevronLeft, NtdChevronRight, NtdChevronUp, NtdClose, NtdExternalLink, NtdMenu, NtdMoreHorizontal, NtdMoreVertical, NtdRefresh } from './navigation.js';
2
2
  export { NtdCheck, NtdClipboard, NtdCopy, NtdDownload, NtdEdit, NtdEditDetail, NtdFilter, NtdGroup, NtdLink, NtdLock, NtdLogIn, NtdLogOut, NtdMinus, NtdPlus, NtdPrint, NtdRedo, NtdReply, NtdSave, NtdSearch, NtdSettings, NtdShare, NtdSort, NtdTrash, NtdUndo, NtdUngroup, NtdUnlock, NtdUpload, NtdZoomIn, NtdZoomOut } from './actions.js';
3
- export { NtdAdmin, NtdBackspace, NtdBell, NtdBookmark, NtdCalendar, NtdClock, NtdCursor, NtdError, NtdEye, NtdEyeOff, NtdFlag, NtdGlobe, NtdHeart, NtdHelp, NtdHome, NtdHourglass, NtdInfo, NtdMap, NtdMoon, NtdPin, NtdShield, NtdStar, NtdSuccess, NtdSun, NtdTag, NtdThumbDown, NtdThumbUp, NtdUser, NtdUsers, NtdWarning, NtdWireframe } from './ui.js';
3
+ export { NtdAdmin, NtdBackspace, NtdBell, NtdBookmark, NtdCalendar, NtdClock, NtdCursor, NtdError, NtdEye, NtdEyeOff, NtdFlag, NtdGlobe, NtdHeart, NtdHelp, NtdHome, NtdHourglass, NtdInfo, NtdMap, NtdMapPin, NtdMoon, NtdPin, NtdShield, NtdStar, NtdSuccess, NtdSun, NtdTag, NtdThumbDown, NtdThumbUp, NtdUser, NtdUsers, NtdWarning, NtdWireframe } from './ui.js';
4
4
  export { NtdBiodegradable, NtdCarbonFootprint, NtdCo2, NtdCompost, NtdEcoFriendly, NtdEvCharger, NtdNetZero, NtdOrganic, NtdPlantTree, NtdRecycle, NtdSolarPanel, NtdTrashSort, NtdWildlife, NtdWindTurbine, sustainabilityIcons } from './sustainability.js';
5
5
  export { NtdAccessibility, NtdAssistiveTech, NtdAudioDescription, NtdBlind, NtdBraille, NtdClosedCaptions, NtdDeaf, NtdDyslexia, NtdEasyRead, NtdHearingAid, NtdScreenReader, NtdSignLanguage, NtdWheelchair, accessibilityIcons } from './accessibility.js';
6
6
  export { NtdAudit, NtdCcpa, NtdCertified, NtdCompliance, NtdContract, NtdCookieConsent, NtdCopyright, NtdGdpr, NtdLegalDocument, NtdPatent, NtdPrivacyPolicy, NtdTermsOfService, NtdTrademark, legalIcons } from './legal.js';