@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
@@ -16,7 +16,7 @@ const NtdHome = /* @__PURE__ */ createIcon.createIcon({
16
16
  solid: ({ primaryColor }) => jsxRuntime.jsx("path", { d: HOME_HOUSE, fill: primaryColor }),
17
17
  rounded: ({ primaryColor }) => jsxRuntime.jsx("path", { d: HOME_HOUSE_ROUND, fill: primaryColor }),
18
18
  outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: `${HOME_HOUSE}${HOME_DOOR}`, stroke: primaryColor, strokeWidth: strokeWidth, strokeLinejoin: "miter", fill: "none" })),
19
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: HOME_HOUSE, fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: HOME_HOUSE, stroke: primaryColor, strokeWidth: strokeWidth, strokeLinejoin: "miter", fill: "none" }), jsxRuntime.jsx("path", { d: HOME_DOOR, stroke: primaryColor, strokeWidth: strokeWidth, strokeLinejoin: "miter", fill: primaryColor })] })),
19
+ duotone: iconParts.swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: HOME_HOUSE, fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: HOME_HOUSE, stroke: primaryColor, strokeWidth: strokeWidth, strokeLinejoin: "miter", fill: "none" }), jsxRuntime.jsx("path", { d: HOME_DOOR, stroke: primaryColor, strokeWidth: strokeWidth, strokeLinejoin: "miter", fill: primaryColor })] }))),
20
20
  vivid: ({ primaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: HOME_HOUSE, fill: primaryColor }), jsxRuntime.jsx("path", { d: HOME_HOUSE, fill: "white", opacity: "0.1" })] })),
21
21
  },
22
22
  });
@@ -29,16 +29,17 @@ const NtdUser = /* @__PURE__ */ createIcon.createIcon({
29
29
  paths: {
30
30
  solid: ({ primaryColor, strokeWidth: _strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "7.6", r: "4.4", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M20.8 21.9v-2.2a4.4 4.4 0 00-4.4-4.4H7.6a4.4 4.4 0 00-4.4 4.4v2.2", fill: primaryColor })] })),
31
31
  outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "7.6", r: "4.4", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: "M20.8 21.9v-2.2a4.4 4.4 0 00-4.4-4.4H7.6a4.4 4.4 0 00-4.4 4.4v2.2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
32
- // fills only, like vivid: the head primary, the shoulders secondary
33
- duotone: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "7.6", r: "4.4", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M20.8 21.9v-2.2a4.4 4.4 0 00-4.4-4.4H7.6a4.4 4.4 0 00-4.4 4.4v2.2", fill: secondaryColor })] })),
32
+ // fills only: the shoulders primary, the head secondary (swapped in 1.3.8: the larger part
33
+ // primary)
34
+ duotone: iconParts.swapDuotone(({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "7.6", r: "4.4", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M20.8 21.9v-2.2a4.4 4.4 0 00-4.4-4.4H7.6a4.4 4.4 0 00-4.4 4.4v2.2", fill: secondaryColor })] }))),
34
35
  vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "7.6", r: "4.4", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M20.8 21.9v-2.2a4.4 4.4 0 00-4.4-4.4H7.6a4.4 4.4 0 00-4.4 4.4v2.2", fill: secondaryColor })] })),
35
36
  },
36
37
  });
37
38
  // NtdAdmin: NtdUser in a tie — the same head and shoulders, a knot at the collar and a blade that
38
39
  // runs down the chest to the bottom edge, cut off there (a whole short tie with its tip read
39
- // comic).
40
+ // comic). The tie is twice as wide as it was, knot and blade: 5.2 at the collar, 6.8 at the edge.
40
41
  const ADMIN_BODY = 'M20.8 21.9v-2.2a4.4 4.4 0 00-4.4-4.4H7.6a4.4 4.4 0 00-4.4 4.4v2.2';
41
- const ADMIN_TIE = 'M10.7 15.3h2.6l-.65 1.8 1.05 4.8h-3.4l1.05-4.8z';
42
+ const ADMIN_TIE = 'M9.4 15.3h5.2l-1.3 1.8 2.1 4.8H8.6l2.1-4.8z';
42
43
  const NtdAdmin = /* @__PURE__ */ createIcon.createIcon({
43
44
  displayName: 'NtdAdmin',
44
45
  paths: {
@@ -54,7 +55,7 @@ const NtdUsers = /* @__PURE__ */ createIcon.createIcon({
54
55
  paths: {
55
56
  solid: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "9", cy: "7", r: "4", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M17 21v-2a4 4 0 00-4-4H5a4 4 0 00-4 4v2", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M23 21v-2a4 4 0 00-3-3.87M16 3.13a4 4 0 010 7.75", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
56
57
  outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "9", cy: "7", r: "4", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: "M17 21v-2a4 4 0 00-4-4H5a4 4 0 00-4 4v2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: "M23 21v-2a4 4 0 00-3-3.87M16 3.13a4 4 0 010 7.75", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
57
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M17 21v-2a4 4 0 00-4-4H5a4 4 0 00-4 4v2", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("circle", { cx: "9", cy: "7", r: "4", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M17 21v-2a4 4 0 00-4-4H5a4 4 0 00-4 4v2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: "M23 21v-2a4 4 0 00-3-3.87M16 3.13a4 4 0 010 7.75", stroke: secondaryColor, strokeWidth: strokeWidth, fill: "none", opacity: secondaryOpacity + 0.2 })] })),
58
+ duotone: iconParts.swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M17 21v-2a4 4 0 00-4-4H5a4 4 0 00-4 4v2", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("circle", { cx: "9", cy: "7", r: "4", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M17 21v-2a4 4 0 00-4-4H5a4 4 0 00-4 4v2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: "M23 21v-2a4 4 0 00-3-3.87M16 3.13a4 4 0 010 7.75", stroke: secondaryColor, strokeWidth: strokeWidth, fill: "none", opacity: secondaryOpacity + 0.2 })] }))),
58
59
  vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "9", cy: "7", r: "4", fill: primaryColor }), jsxRuntime.jsx("circle", { cx: "9", cy: "7", r: "4", fill: "white", opacity: "0.08" }), jsxRuntime.jsx("path", { d: "M17 21v-2a4 4 0 00-4-4H5a4 4 0 00-4 4v2", fill: secondaryColor }), jsxRuntime.jsx("path", { d: "M23 21v-2a4 4 0 00-3-3.87M16 3.13a4 4 0 010 7.75", stroke: "white", strokeWidth: "1", fill: "none" })] })),
59
60
  },
60
61
  });
@@ -80,7 +81,7 @@ const NtdStar = /* @__PURE__ */ createIcon.createIcon({
80
81
  paths: {
81
82
  solid: ({ primaryColor, strokeWidth: _strokeWidth }) => (jsxRuntime.jsx("path", { d: "M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z", fill: primaryColor })),
82
83
  outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: "M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })),
83
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: "M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
84
+ duotone: iconParts.swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: "M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] }))),
84
85
  vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z", fill: "white", opacity: "0.1" })] })),
85
86
  },
86
87
  });
@@ -103,7 +104,7 @@ const NtdEyeOff = /* @__PURE__ */ createIcon.createIcon({
103
104
  paths: {
104
105
  solid: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: "M17.94 17.94A10.07 10.07 0 0112 20c-7 0-11-8-11-8a18.45 18.45 0 015.06-5.94M9.9 4.24A9.12 9.12 0 0112 4c7 0 11 8 11 8a18.5 18.5 0 01-2.16 3.19m-6.72-1.07a3 3 0 11-4.24-4.24M1 1l22 22", stroke: primaryColor, strokeWidth: strokeWidth })),
105
106
  outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: "M17.94 17.94A10.07 10.07 0 0112 20c-7 0-11-8-11-8a18.45 18.45 0 015.06-5.94M9.9 4.24A9.12 9.12 0 0112 4c7 0 11 8 11 8a18.5 18.5 0 01-2.16 3.19m-6.72-1.07a3 3 0 11-4.24-4.24M1 1l22 22", stroke: primaryColor, strokeWidth: strokeWidth })),
106
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z", fill: secondaryColor, opacity: secondaryOpacity * 0.5 }), jsxRuntime.jsx("path", { d: "M17.94 17.94A10.07 10.07 0 0112 20c-7 0-11-8-11-8a18.45 18.45 0 015.06-5.94M9.9 4.24A9.12 9.12 0 0112 4c7 0 11 8 11 8a18.5 18.5 0 01-2.16 3.19m-6.72-1.07a3 3 0 11-4.24-4.24M1 1l22 22", stroke: primaryColor, strokeWidth: strokeWidth })] })),
107
+ duotone: iconParts.swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z", fill: secondaryColor, opacity: secondaryOpacity * 0.5 }), jsxRuntime.jsx("path", { d: "M17.94 17.94A10.07 10.07 0 0112 20c-7 0-11-8-11-8a18.45 18.45 0 015.06-5.94M9.9 4.24A9.12 9.12 0 0112 4c7 0 11 8 11 8a18.5 18.5 0 01-2.16 3.19m-6.72-1.07a3 3 0 11-4.24-4.24M1 1l22 22", stroke: primaryColor, strokeWidth: strokeWidth })] }))),
107
108
  vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsx("path", { d: "M17.94 17.94A10.07 10.07 0 0112 20c-7 0-11-8-11-8a18.45 18.45 0 015.06-5.94M9.9 4.24A9.12 9.12 0 0112 4c7 0 11 8 11 8a18.5 18.5 0 01-2.16 3.19m-6.72-1.07a3 3 0 11-4.24-4.24M1 1l22 22", stroke: primaryColor, strokeWidth: "2.2" }) })),
108
109
  },
109
110
  });
@@ -112,7 +113,6 @@ const NtdInfo = /* @__PURE__ */ createIcon.createIcon({
112
113
  paths: {
113
114
  solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", fill: primaryColor }), jsxRuntime.jsx("line", { x1: "12", y1: "16", x2: "12", y2: "12", stroke: accentColor, strokeWidth: strokeWidth, opacity: accentOpacity }), jsxRuntime.jsx("circle", { cx: "12", cy: "8", r: "1", fill: accentColor, opacity: accentOpacity })] })),
114
115
  outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("line", { x1: "12", y1: "16", x2: "12", y2: "12", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("circle", { cx: "12", cy: "8", r: "1", fill: primaryColor })] })),
115
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("line", { x1: "12", y1: "16", x2: "12", y2: "12", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("circle", { cx: "12", cy: "8", r: "1", fill: primaryColor })] })),
116
116
  vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", fill: primaryColor }), jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", fill: "white", opacity: "0.08" }), jsxRuntime.jsx("circle", { cx: "12", cy: "8", r: "1", fill: secondaryColor }), jsxRuntime.jsx("line", { x1: "12", y1: "16", x2: "12", y2: "12", stroke: "white", strokeWidth: "1", opacity: "0.4" })] })),
117
117
  },
118
118
  });
@@ -121,7 +121,6 @@ const NtdWarning = /* @__PURE__ */ createIcon.createIcon({
121
121
  paths: {
122
122
  solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z", fill: primaryColor }), jsxRuntime.jsx("line", { x1: "12", y1: "9", x2: "12", y2: "13", stroke: accentColor, strokeWidth: strokeWidth, opacity: accentOpacity }), jsxRuntime.jsx("circle", { cx: "12", cy: "17", r: "1", fill: accentColor, opacity: accentOpacity })] })),
123
123
  outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("line", { x1: "12", y1: "9", x2: "12", y2: "13", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("circle", { cx: "12", cy: "17", r: "1", fill: primaryColor })] })),
124
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: "M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("line", { x1: "12", y1: "9", x2: "12", y2: "13", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("circle", { cx: "12", cy: "17", r: "1", fill: primaryColor })] })),
125
124
  vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z", fill: "white", opacity: "0.08" }), jsxRuntime.jsx("circle", { cx: "12", cy: "17", r: "1", fill: secondaryColor }), jsxRuntime.jsx("line", { x1: "12", y1: "9", x2: "12", y2: "13", stroke: "white", strokeWidth: "1", opacity: "0.4" })] })),
126
125
  },
127
126
  });
@@ -130,7 +129,6 @@ const NtdError = /* @__PURE__ */ createIcon.createIcon({
130
129
  paths: {
131
130
  solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", fill: primaryColor }), jsxRuntime.jsx("line", { x1: "15", y1: "9", x2: "9", y2: "15", stroke: accentColor, strokeWidth: strokeWidth, opacity: accentOpacity }), jsxRuntime.jsx("line", { x1: "9", y1: "9", x2: "15", y2: "15", stroke: accentColor, strokeWidth: strokeWidth, opacity: accentOpacity })] })),
132
131
  outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("line", { x1: "15", y1: "9", x2: "9", y2: "15", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("line", { x1: "9", y1: "9", x2: "15", y2: "15", stroke: primaryColor, strokeWidth: strokeWidth })] })),
133
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("line", { x1: "15", y1: "9", x2: "9", y2: "15", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("line", { x1: "9", y1: "9", x2: "15", y2: "15", stroke: primaryColor, strokeWidth: strokeWidth })] })),
134
132
  vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", fill: primaryColor }), jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", fill: "white", opacity: "0.1" }), jsxRuntime.jsx("line", { x1: "15", y1: "9", x2: "9", y2: "15", stroke: secondaryColor, strokeWidth: "1.8" }), jsxRuntime.jsx("line", { x1: "9", y1: "9", x2: "15", y2: "15", stroke: "#3B82F6", strokeWidth: "1.5" })] })),
135
133
  },
136
134
  });
@@ -139,7 +137,6 @@ const NtdSuccess = /* @__PURE__ */ createIcon.createIcon({
139
137
  paths: {
140
138
  solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M9 12l2 2 4-4", stroke: accentColor, strokeWidth: strokeWidth, opacity: accentOpacity })] })),
141
139
  outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: "M9 12l2 2 4-4", stroke: primaryColor, strokeWidth: strokeWidth })] })),
142
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: "M9 12l2 2 4-4", stroke: primaryColor, strokeWidth: strokeWidth })] })),
143
140
  vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", fill: primaryColor }), jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", fill: "white", opacity: "0.1" }), jsxRuntime.jsx("path", { d: "M9 12l2 2 4-4", stroke: secondaryColor, strokeWidth: "1.8" })] })),
144
141
  },
145
142
  });
@@ -148,7 +145,6 @@ const NtdHelp = /* @__PURE__ */ createIcon.createIcon({
148
145
  paths: {
149
146
  solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M9.09 9a3 3 0 015.83 1c0 2-3 3-3 3", stroke: accentColor, strokeWidth: strokeWidth, fill: "none", opacity: accentOpacity }), jsxRuntime.jsx("circle", { cx: "12", cy: "17", r: "1", fill: accentColor, opacity: accentOpacity })] })),
150
147
  outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: "M9.09 9a3 3 0 015.83 1c0 2-3 3-3 3", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("circle", { cx: "12", cy: "17", r: "1", fill: primaryColor })] })),
151
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: "M9.09 9a3 3 0 015.83 1c0 2-3 3-3 3", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("circle", { cx: "12", cy: "17", r: "1", fill: primaryColor })] })),
152
148
  vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", fill: primaryColor }), jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", fill: "white", opacity: "0.08" }), jsxRuntime.jsx("circle", { cx: "12", cy: "17", r: "1", fill: secondaryColor }), jsxRuntime.jsx("path", { d: "M9.09 9a3 3 0 015.83 1c0 2-3 3-3 3", stroke: "white", strokeWidth: "1", fill: "none", opacity: "0.4" })] })),
153
149
  },
154
150
  });
@@ -162,7 +158,6 @@ const NtdClock = /* @__PURE__ */ createIcon.createIcon({
162
158
  paths: {
163
159
  solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", fill: primaryColor }), jsxRuntime.jsx("path", { d: CLOCK_HANDS, stroke: accentColor, strokeWidth: strokeWidth * 2, opacity: accentOpacity })] })),
164
160
  outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: CLOCK_HANDS, stroke: primaryColor, strokeWidth: strokeWidth })] })),
165
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: CLOCK_HANDS, stroke: primaryColor, strokeWidth: strokeWidth * 2 })] })),
166
161
  vivid: ({ primaryColor, secondaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", fill: primaryColor }), jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", fill: "white", opacity: "0.1" }), jsxRuntime.jsx("path", { d: CLOCK_HANDS, stroke: secondaryColor, strokeWidth: strokeWidth * 2 })] })),
167
162
  },
168
163
  });
@@ -209,6 +204,9 @@ function calendarFilled({ primaryColor, secondaryColor, accentColor, accentOpaci
209
204
  }
210
205
  const NtdCalendar = /* @__PURE__ */ createIcon.createIcon({
211
206
  displayName: 'NtdCalendar',
207
+ perfectStackX: 12,
208
+ perfectStackY: 13,
209
+ perfectStackSize: 0.55,
212
210
  paths: {
213
211
  solid: calendarFilled,
214
212
  outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("rect", { x: "3", y: "4", width: "18", height: "18", rx: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: CALENDAR_RINGS, stroke: primaryColor, strokeWidth: strokeWidth * 1.6 }), jsxRuntime.jsx("path", { d: "M3 9.5h18", stroke: primaryColor, strokeWidth: strokeWidth })] })),
@@ -216,31 +214,41 @@ const NtdCalendar = /* @__PURE__ */ createIcon.createIcon({
216
214
  vivid: calendarFilled,
217
215
  },
218
216
  });
217
+ // NtdTag: the hole sits on the tag's axis close to the point (5.5, 5.5; it was 7, 7). Stacked icons
218
+ // and text go past the hole, along the tag (1.3.8).
219
219
  const NtdTag = /* @__PURE__ */ createIcon.createIcon({
220
220
  displayName: 'NtdTag',
221
+ perfectStackX: 12.5,
222
+ perfectStackY: 12.5,
223
+ perfectStackRotation: 45,
224
+ perfectStackSize: 0.4,
221
225
  paths: {
222
- solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth: _strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M20.59 13.41l-7.17 7.17a2 2 0 01-2.83 0L2 12V2h10l8.59 8.59a2 2 0 010 2.82z", fill: primaryColor }), jsxRuntime.jsx("circle", { cx: "7", cy: "7", r: "1.5", fill: accentColor, opacity: accentOpacity })] })),
223
- outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M20.59 13.41l-7.17 7.17a2 2 0 01-2.83 0L2 12V2h10l8.59 8.59a2 2 0 010 2.82z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("circle", { cx: "7", cy: "7", r: "1", fill: primaryColor })] })),
224
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M20.59 13.41l-7.17 7.17a2 2 0 01-2.83 0L2 12V2h10l8.59 8.59a2 2 0 010 2.82z", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: "M20.59 13.41l-7.17 7.17a2 2 0 01-2.83 0L2 12V2h10l8.59 8.59a2 2 0 010 2.82z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("circle", { cx: "7", cy: "7", r: "1.5", fill: primaryColor })] })),
225
- vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M20.59 13.41l-7.17 7.17a2 2 0 01-2.83 0L2 12V2h10l8.59 8.59a2 2 0 010 2.82z", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M20.59 13.41l-7.17 7.17a2 2 0 01-2.83 0L2 12V2h10l8.59 8.59a2 2 0 010 2.82z", fill: "white", opacity: "0.08" }), jsxRuntime.jsx("circle", { cx: "7", cy: "7", r: "1.5", fill: secondaryColor })] })),
226
+ solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth: _strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M20.59 13.41l-7.17 7.17a2 2 0 01-2.83 0L2 12V2h10l8.59 8.59a2 2 0 010 2.82z", fill: primaryColor }), jsxRuntime.jsx("circle", { cx: "5.5", cy: "5.5", r: "1.5", fill: accentColor, opacity: accentOpacity })] })),
227
+ outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M20.59 13.41l-7.17 7.17a2 2 0 01-2.83 0L2 12V2h10l8.59 8.59a2 2 0 010 2.82z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("circle", { cx: "5.5", cy: "5.5", r: "1", fill: primaryColor })] })),
228
+ vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M20.59 13.41l-7.17 7.17a2 2 0 01-2.83 0L2 12V2h10l8.59 8.59a2 2 0 010 2.82z", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M20.59 13.41l-7.17 7.17a2 2 0 01-2.83 0L2 12V2h10l8.59 8.59a2 2 0 010 2.82z", fill: "white", opacity: "0.08" }), jsxRuntime.jsx("circle", { cx: "5.5", cy: "5.5", r: "1.5", fill: secondaryColor })] })),
226
229
  },
227
230
  });
228
231
  /** The backspace key: a key shape pointing left with a cross inside (delete the last character). */
229
232
  const NtdBackspace = /* @__PURE__ */ createIcon.createIcon({
230
233
  displayName: 'NtdBackspace',
234
+ perfectStackX: 13.5,
235
+ perfectStackY: 12,
236
+ perfectStackSize: 0.5,
231
237
  paths: {
232
238
  solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M21 4H8l-7 8 7 8h13a2 2 0 002-2V6a2 2 0 00-2-2z", fill: primaryColor }), jsxRuntime.jsx("line", { x1: "18", y1: "9", x2: "12", y2: "15", stroke: accentColor, strokeOpacity: accentOpacity, strokeWidth: strokeWidth, strokeLinecap: "round" }), jsxRuntime.jsx("line", { x1: "12", y1: "9", x2: "18", y2: "15", stroke: accentColor, strokeOpacity: accentOpacity, strokeWidth: strokeWidth, strokeLinecap: "round" })] })),
233
239
  outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M21 4H8l-7 8 7 8h13a2 2 0 002-2V6a2 2 0 00-2-2z", stroke: primaryColor, strokeWidth: strokeWidth, strokeLinejoin: "round", fill: "none" }), jsxRuntime.jsx("line", { x1: "18", y1: "9", x2: "12", y2: "15", stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round" }), jsxRuntime.jsx("line", { x1: "12", y1: "9", x2: "18", y2: "15", stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round" })] })),
234
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M21 4H8l-7 8 7 8h13a2 2 0 002-2V6a2 2 0 00-2-2z", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: "M21 4H8l-7 8 7 8h13a2 2 0 002-2V6a2 2 0 00-2-2z", stroke: primaryColor, strokeWidth: strokeWidth, strokeLinejoin: "round", fill: "none" }), jsxRuntime.jsx("line", { x1: "18", y1: "9", x2: "12", y2: "15", stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round" }), jsxRuntime.jsx("line", { x1: "12", y1: "9", x2: "18", y2: "15", stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round" })] })),
235
240
  vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M21 4H8l-7 8 7 8h13a2 2 0 002-2V6a2 2 0 00-2-2z", fill: primaryColor }), jsxRuntime.jsx("line", { x1: "18", y1: "9", x2: "12", y2: "15", stroke: secondaryColor, strokeWidth: "1.8", strokeLinecap: "round" }), jsxRuntime.jsx("line", { x1: "12", y1: "9", x2: "18", y2: "15", stroke: secondaryColor, strokeWidth: "1.8", strokeLinecap: "round" })] })),
236
241
  },
237
242
  });
238
243
  const NtdBookmark = /* @__PURE__ */ createIcon.createIcon({
239
244
  displayName: 'NtdBookmark',
245
+ perfectStackX: 12,
246
+ perfectStackY: 9.5,
247
+ perfectStackSize: 0.4,
240
248
  paths: {
241
249
  solid: ({ primaryColor, strokeWidth: _strokeWidth }) => (jsxRuntime.jsx("path", { d: "M19 21l-7-5-7 5V5a2 2 0 012-2h10a2 2 0 012 2v16z", fill: primaryColor })),
242
250
  outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: "M19 21l-7-5-7 5V5a2 2 0 012-2h10a2 2 0 012 2v16z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })),
243
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M19 21l-7-5-7 5V5a2 2 0 012-2h10a2 2 0 012 2v16z", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: "M19 21l-7-5-7 5V5a2 2 0 012-2h10a2 2 0 012 2v16z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
251
+ duotone: iconParts.swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M19 21l-7-5-7 5V5a2 2 0 012-2h10a2 2 0 012 2v16z", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: "M19 21l-7-5-7 5V5a2 2 0 012-2h10a2 2 0 012 2v16z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] }))),
244
252
  vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M19 21l-7-5-7 5V5a2 2 0 012-2h10a2 2 0 012 2v16z", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M19 21l-7-5-7 5V5a2 2 0 012-2h10a2 2 0 012 2v16z", fill: "white", opacity: "0.1" })] })),
245
253
  // square top corners: the derived `sharp` only re-caps strokes, the arcs of a path stay round
246
254
  sharp: ({ primaryColor }) => jsxRuntime.jsx("path", { d: "M19 21l-7-5-7 5V3h14v18z", fill: primaryColor }),
@@ -253,10 +261,13 @@ const NtdBookmark = /* @__PURE__ */ createIcon.createIcon({
253
261
  const FLAG_CLOTH = 'M4 4.5s1-1 4-1 5 2 8 2 4-1 4-1v11s-1 1-4 1-5-2-8-2-4 1-4 1z';
254
262
  const NtdFlag = /* @__PURE__ */ createIcon.createIcon({
255
263
  displayName: 'NtdFlag',
264
+ perfectStackX: 12,
265
+ perfectStackY: 10,
266
+ perfectStackSize: 0.35,
256
267
  paths: {
257
268
  solid: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: FLAG_CLOTH, fill: primaryColor }), jsxRuntime.jsx("path", { d: `M${4 + strokeWidth / 2} 3v17.5`, stroke: primaryColor, strokeWidth: strokeWidth })] })),
258
269
  outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: `${FLAG_CLOTH}M4 3v17.5`, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })),
259
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: FLAG_CLOTH, fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: `${FLAG_CLOTH}M4 3v17.5`, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
270
+ duotone: iconParts.swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: FLAG_CLOTH, fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: `${FLAG_CLOTH}M4 3v17.5`, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] }))),
260
271
  vivid: ({ primaryColor, secondaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: FLAG_CLOTH, fill: primaryColor }), jsxRuntime.jsx("path", { d: FLAG_CLOTH, fill: "white", opacity: "0.1" }), jsxRuntime.jsx("path", { d: `M${4 + strokeWidth / 2} 3v17.5`, stroke: secondaryColor, strokeWidth: strokeWidth })] })),
261
272
  },
262
273
  });
@@ -285,7 +296,7 @@ const NtdShield = /* @__PURE__ */ createIcon.createIcon({
285
296
  paths: {
286
297
  solid: ({ primaryColor, strokeWidth: _strokeWidth }) => (jsxRuntime.jsx("path", { d: "M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z", fill: primaryColor })),
287
298
  outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: "M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })),
288
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: "M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: "M9 12l2 2 4-4", stroke: primaryColor, strokeWidth: strokeWidth })] })),
299
+ duotone: iconParts.swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: "M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: "M9 12l2 2 4-4", stroke: primaryColor, strokeWidth: strokeWidth })] }))),
289
300
  vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z", fill: "white", opacity: "0.1" })] })),
290
301
  },
291
302
  });
@@ -298,7 +309,6 @@ const NtdGlobe = /* @__PURE__ */ createIcon.createIcon({
298
309
  // at 0.75x in the cutout, which is drawn from this layer too.
299
310
  solid: ({ variant, primaryColor, accentColor, accentOpacity, strokeWidth, uid }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", fill: primaryColor }), iconParts.within(uid, 'grid', jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10" }), jsxRuntime.jsx("path", { d: GLOBE_GRID, stroke: accentColor, strokeWidth: strokeWidth * (variant === 'cutout' ? 0.75 : 1.5), opacity: accentOpacity, fill: "none" }))] })),
300
311
  outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: "M2 12h20M12 2a15.3 15.3 0 014 10 15.3 15.3 0 01-4 10 15.3 15.3 0 01-4-10A15.3 15.3 0 0112 2z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
301
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: "M2 12h20M12 2a15.3 15.3 0 014 10 15.3 15.3 0 01-4 10 15.3 15.3 0 01-4-10A15.3 15.3 0 0112 2z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
302
312
  vivid: ({ primaryColor, secondaryColor, strokeWidth, uid }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", fill: primaryColor }), iconParts.within(uid, 'grid', jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10" }), jsxRuntime.jsx("path", { d: GLOBE_GRID, stroke: secondaryColor, strokeWidth: strokeWidth * 1.5, fill: "none" }))] })),
303
313
  },
304
314
  });
@@ -311,15 +321,30 @@ const NtdMap = /* @__PURE__ */ createIcon.createIcon({
311
321
  vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsx("path", { d: "M1 6v16l7-4 8 4 7-4V2l-7 4-8-4-7 4zM8 2v16M16 6v16", stroke: primaryColor, strokeWidth: "2.2", fill: "none" }) })),
312
322
  },
313
323
  });
314
- const NtdPin = /* @__PURE__ */ createIcon.createIcon({
315
- displayName: 'NtdPin',
316
- paths: {
317
- solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth: _strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0118 0z", fill: primaryColor }), jsxRuntime.jsx("circle", { cx: "12", cy: "10", r: "3", fill: accentColor, opacity: accentOpacity })] })),
318
- outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0118 0z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("circle", { cx: "12", cy: "10", r: "3", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
319
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0118 0z", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: "M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0118 0z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("circle", { cx: "12", cy: "10", r: "3", fill: primaryColor })] })),
320
- vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0118 0z", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0118 0z", fill: "white", opacity: "0.08" }), jsxRuntime.jsx("circle", { cx: "12", cy: "10", r: "3", fill: secondaryColor })] })),
321
- },
322
- });
324
+ // NtdPin / NtdMapPin: one map pin, plain and with the dot in its head (NtdPin had the dot until
325
+ // 1.3.8). The head is the spot stacked icons and text go to: its centre (12, 10), half the pin's
326
+ // size — the head is 18 across. The outline's point is sharp (miter join). Duotone and vivid are
327
+ // fills only: the plain pin split down the middle, primary left and secondary right; the map pin
328
+ // primary with a secondary dot (vivid had a white sheen).
329
+ const PIN_BODY = 'M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0118 0z';
330
+ const PIN_DOT = { cx: 12, cy: 10, r: 3 };
331
+ function pinIcon(displayName, dot) {
332
+ const filled = ({ primaryColor, secondaryColor, uid }) => dot ? (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: PIN_BODY, fill: primaryColor }), jsxRuntime.jsx("circle", { ...PIN_DOT, fill: secondaryColor })] })) : (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: PIN_BODY, fill: secondaryColor }), iconParts.within(uid, 'left', jsxRuntime.jsx("rect", { x: "0", y: "0", width: "12", height: "24" }), jsxRuntime.jsx("path", { d: PIN_BODY, fill: primaryColor }))] }));
333
+ return createIcon.createIcon({
334
+ displayName,
335
+ perfectStackX: 12,
336
+ perfectStackY: 10,
337
+ perfectStackSize: 0.5,
338
+ paths: {
339
+ solid: ({ primaryColor, accentColor, accentOpacity }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: PIN_BODY, fill: primaryColor }), dot && jsxRuntime.jsx("circle", { ...PIN_DOT, fill: accentColor, opacity: accentOpacity })] })),
340
+ outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: PIN_BODY, stroke: primaryColor, strokeWidth: strokeWidth, strokeLinejoin: "miter", fill: "none" }), dot && (jsxRuntime.jsx("circle", { ...PIN_DOT, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }))] })),
341
+ duotone: filled,
342
+ vivid: filled,
343
+ },
344
+ });
345
+ }
346
+ const NtdPin = /* @__PURE__ */ pinIcon('NtdPin', false);
347
+ const NtdMapPin = /* @__PURE__ */ pinIcon('NtdMapPin', true);
323
348
  const NtdSun = /* @__PURE__ */ createIcon.createIcon({
324
349
  displayName: 'NtdSun',
325
350
  paths: {
@@ -334,7 +359,7 @@ const NtdMoon = /* @__PURE__ */ createIcon.createIcon({
334
359
  paths: {
335
360
  solid: ({ primaryColor, strokeWidth: _strokeWidth }) => (jsxRuntime.jsx("path", { d: "M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z", fill: primaryColor })),
336
361
  outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: "M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })),
337
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: "M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
362
+ duotone: iconParts.swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: "M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] }))),
338
363
  vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z", fill: "white", opacity: "0.1" })] })),
339
364
  },
340
365
  });
@@ -344,7 +369,6 @@ const NtdCursor = /* @__PURE__ */ createIcon.createIcon({
344
369
  paths: {
345
370
  solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M5 3l12 8-5 1.5L14 20l-3 1-2-7-4 2z", fill: primaryColor }), jsxRuntime.jsx("line", { x1: "16", y1: "5", x2: "20", y2: "3", stroke: accentColor, strokeWidth: strokeWidth, opacity: accentOpacity })] })),
346
371
  outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: "M5 3l12 8-5 1.5L14 20l-3 1-2-7-4 2z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })),
347
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M5 3l12 8-5 1.5L14 20l-3 1-2-7-4 2z", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: "M5 3l12 8-5 1.5L14 20l-3 1-2-7-4 2z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
348
372
  vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M5 3l12 8-5 1.5L14 20l-3 1-2-7-4 2z", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M5 3l12 8-5 1.5L14 20l-3 1-2-7-4 2z", fill: "white", opacity: "0.1" }), jsxRuntime.jsx("line", { x1: "16", y1: "5", x2: "20", y2: "3", stroke: secondaryColor, strokeWidth: "1.8" })] })),
349
373
  },
350
374
  });
@@ -353,7 +377,7 @@ const NtdWireframe = /* @__PURE__ */ createIcon.createIcon({
353
377
  paths: {
354
378
  solid: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("rect", { x: "3", y: "4", width: "18", height: "16", rx: "2", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: "M3 9h18M8 9v11M14 9v11", stroke: primaryColor, strokeWidth: strokeWidth })] })),
355
379
  outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: "M3 4h18v16H3zM3 9h18M8 9v11M14 9v11", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })),
356
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("rect", { x: "3", y: "4", width: "18", height: "16", rx: "2", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: "M3 4h18v16H3zM3 9h18M8 9v11M14 9v11", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
380
+ duotone: iconParts.swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("rect", { x: "3", y: "4", width: "18", height: "16", rx: "2", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: "M3 4h18v16H3zM3 9h18M8 9v11M14 9v11", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] }))),
357
381
  vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("rect", { x: "3", y: "4", width: "18", height: "16", rx: "2", fill: primaryColor }), jsxRuntime.jsx("rect", { x: "3", y: "4", width: "18", height: "16", rx: "2", fill: "white", opacity: "0.1" }), jsxRuntime.jsx("path", { d: "M3 9h18M8 9v11M14 9v11", stroke: secondaryColor, strokeWidth: "1.8" })] })),
358
382
  },
359
383
  });
@@ -376,6 +400,7 @@ exports.NtdHome = NtdHome;
376
400
  exports.NtdHourglass = NtdHourglass;
377
401
  exports.NtdInfo = NtdInfo;
378
402
  exports.NtdMap = NtdMap;
403
+ exports.NtdMapPin = NtdMapPin;
379
404
  exports.NtdMoon = NtdMoon;
380
405
  exports.NtdPin = NtdPin;
381
406
  exports.NtdShield = NtdShield;
@@ -27,7 +27,6 @@ const NtdRain = /* @__PURE__ */ createIcon.createIcon({
27
27
  paths: {
28
28
  solid: ({ primaryColor, secondaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M20 17.58A5 5 0 0018 8h-1.26A8 8 0 104 16.25", fill: primaryColor }), jsxRuntime.jsx("line", { x1: "16", y1: "16", x2: "16", y2: "20", stroke: secondaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("line", { x1: "8", y1: "16", x2: "8", y2: "20", stroke: secondaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("line", { x1: "12", y1: "18", x2: "12", y2: "22", stroke: secondaryColor, strokeWidth: strokeWidth })] })),
29
29
  outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M20 17.58A5 5 0 0018 8h-1.26A8 8 0 104 16.25", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("line", { x1: "16", y1: "16", x2: "16", y2: "20", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("line", { x1: "8", y1: "16", x2: "8", y2: "20", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("line", { x1: "12", y1: "18", x2: "12", y2: "22", stroke: primaryColor, strokeWidth: strokeWidth })] })),
30
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M20 17.58A5 5 0 0018 8h-1.26A8 8 0 104 16.25", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: "M20 17.58A5 5 0 0018 8h-1.26A8 8 0 104 16.25", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("line", { x1: "16", y1: "16", x2: "16", y2: "20", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("line", { x1: "8", y1: "16", x2: "8", y2: "20", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("line", { x1: "12", y1: "18", x2: "12", y2: "22", stroke: primaryColor, strokeWidth: strokeWidth })] })),
31
30
  vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M20 17.58A5 5 0 0018 8h-1.26A8 8 0 104 16.25", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M20 17.58A5 5 0 0018 8h-1.26A8 8 0 104 16.25", fill: "white", opacity: "0.1" }), jsxRuntime.jsx("line", { x1: "16", y1: "16", x2: "16", y2: "20", stroke: secondaryColor, strokeWidth: "1.8" }), jsxRuntime.jsx("line", { x1: "8", y1: "16", x2: "8", y2: "20", stroke: "#F59E0B", strokeWidth: "1.5" }), jsxRuntime.jsx("line", { x1: "12", y1: "18", x2: "12", y2: "22", stroke: "#F59E0B", strokeWidth: "1.5" })] })),
32
31
  },
33
32
  });
@@ -36,7 +35,6 @@ const NtdSnow = /* @__PURE__ */ createIcon.createIcon({
36
35
  paths: {
37
36
  solid: ({ primaryColor, secondaryColor, strokeWidth: _strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M20 17.58A5 5 0 0018 8h-1.26A8 8 0 104 16.25", fill: primaryColor }), jsxRuntime.jsx("circle", { cx: "8", cy: "19", r: "1", fill: secondaryColor }), jsxRuntime.jsx("circle", { cx: "12", cy: "21", r: "1", fill: secondaryColor }), jsxRuntime.jsx("circle", { cx: "16", cy: "19", r: "1", fill: secondaryColor })] })),
38
37
  outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M20 17.58A5 5 0 0018 8h-1.26A8 8 0 104 16.25", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("line", { x1: "8", y1: "16", x2: "8", y2: "20", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("line", { x1: "12", y1: "18", x2: "12", y2: "22", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("line", { x1: "16", y1: "16", x2: "16", y2: "20", stroke: primaryColor, strokeWidth: strokeWidth })] })),
39
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M20 17.58A5 5 0 0018 8h-1.26A8 8 0 104 16.25", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: "M20 17.58A5 5 0 0018 8h-1.26A8 8 0 104 16.25", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("circle", { cx: "8", cy: "19", r: "1", fill: primaryColor }), jsxRuntime.jsx("circle", { cx: "12", cy: "21", r: "1", fill: primaryColor }), jsxRuntime.jsx("circle", { cx: "16", cy: "19", r: "1", fill: primaryColor })] })),
40
38
  vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M20 17.58A5 5 0 0018 8h-1.26A8 8 0 104 16.25", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M20 17.58A5 5 0 0018 8h-1.26A8 8 0 104 16.25", fill: "white", opacity: "0.08" }), jsxRuntime.jsx("circle", { cx: "8", cy: "19", r: "1", fill: secondaryColor }), jsxRuntime.jsx("circle", { cx: "12", cy: "21", r: "1", fill: "#F59E0B" }), jsxRuntime.jsx("circle", { cx: "16", cy: "19", r: "1", fill: "#60A5FA" })] })),
41
39
  },
42
40
  });
@@ -45,7 +43,6 @@ const NtdThunderstorm = /* @__PURE__ */ createIcon.createIcon({
45
43
  paths: {
46
44
  solid: ({ primaryColor, secondaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M19 16.9A5 5 0 0018 7h-1.26a8 8 0 10-11.62 9", fill: primaryColor }), jsxRuntime.jsx("polyline", { points: "13,11 9,17 13,17 11,21", fill: "none", stroke: secondaryColor, strokeWidth: strokeWidth })] })),
47
45
  outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M19 16.9A5 5 0 0018 7h-1.26a8 8 0 10-11.62 9", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("polyline", { points: "13,11 9,17 13,17 11,21", fill: "none", stroke: primaryColor, strokeWidth: strokeWidth })] })),
48
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M19 16.9A5 5 0 0018 7h-1.26a8 8 0 10-11.62 9", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: "M19 16.9A5 5 0 0018 7h-1.26a8 8 0 10-11.62 9", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("polyline", { points: "13,11 9,17 13,17 11,21", fill: "none", stroke: primaryColor, strokeWidth: strokeWidth })] })),
49
46
  vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M19 16.9A5 5 0 0018 7h-1.26a8 8 0 10-11.62 9", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M19 16.9A5 5 0 0018 7h-1.26a8 8 0 10-11.62 9", fill: "white", opacity: "0.1" }), jsxRuntime.jsx("polyline", { points: "13,11 9,17 13,17 11,21", fill: "none", stroke: secondaryColor, strokeWidth: "1.8" })] })),
50
47
  },
51
48
  });
@@ -67,10 +64,13 @@ const NtdWind = /* @__PURE__ */ createIcon.createIcon({
67
64
  */
68
65
  const NtdDroplet = /* @__PURE__ */ createIcon.createIcon({
69
66
  displayName: 'NtdDroplet',
67
+ perfectStackX: 12,
68
+ perfectStackY: 14,
69
+ perfectStackSize: 0.4,
70
70
  paths: {
71
71
  solid: ({ primaryColor, strokeWidth: _strokeWidth }) => (jsxRuntime.jsx("path", { d: "M12 2.5C13.1 6.2 17.6 9.4 17.6 14.4a5.6 6.2 0 1 1-11.2 0C6.4 9.4 10.9 6.2 12 2.5z", fill: primaryColor })),
72
72
  outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: "M12 2.5C13.1 6.2 17.6 9.4 17.6 14.4a5.6 6.2 0 1 1-11.2 0C6.4 9.4 10.9 6.2 12 2.5z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })),
73
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M12 2.5C13.1 6.2 17.6 9.4 17.6 14.4a5.6 6.2 0 1 1-11.2 0C6.4 9.4 10.9 6.2 12 2.5z", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: "M12 2.5C13.1 6.2 17.6 9.4 17.6 14.4a5.6 6.2 0 1 1-11.2 0C6.4 9.4 10.9 6.2 12 2.5z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
73
+ duotone: iconParts.swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M12 2.5C13.1 6.2 17.6 9.4 17.6 14.4a5.6 6.2 0 1 1-11.2 0C6.4 9.4 10.9 6.2 12 2.5z", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: "M12 2.5C13.1 6.2 17.6 9.4 17.6 14.4a5.6 6.2 0 1 1-11.2 0C6.4 9.4 10.9 6.2 12 2.5z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] }))),
74
74
  vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M12 2.5C13.1 6.2 17.6 9.4 17.6 14.4a5.6 6.2 0 1 1-11.2 0C6.4 9.4 10.9 6.2 12 2.5z", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M12 2.5C13.1 6.2 17.6 9.4 17.6 14.4a5.6 6.2 0 1 1-11.2 0C6.4 9.4 10.9 6.2 12 2.5z", fill: "white", opacity: "0.1" })] })),
75
75
  },
76
76
  });
@@ -81,7 +81,6 @@ const NtdThermometer = /* @__PURE__ */ createIcon.createIcon({
81
81
  paths: {
82
82
  solid: ({ primaryColor, secondaryColor, strokeWidth: _strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M14 14.76V3.5a2.5 2.5 0 00-5 0v11.26a4.5 4.5 0 105 0z", fill: primaryColor }), jsxRuntime.jsx("circle", { cx: "11.5", cy: "17.5", r: "2", fill: secondaryColor })] })),
83
83
  outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M14 14.76V3.5a2.5 2.5 0 00-5 0v11.26a4.5 4.5 0 105 0z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("circle", { cx: "11.5", cy: "17.5", r: "2", fill: primaryColor })] })),
84
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M14 14.76V3.5a2.5 2.5 0 00-5 0v11.26a4.5 4.5 0 105 0z", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: "M14 14.76V3.5a2.5 2.5 0 00-5 0v11.26a4.5 4.5 0 105 0z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("circle", { cx: "11.5", cy: "17.5", r: "2", fill: primaryColor })] })),
85
84
  vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M14 14.76V3.5a2.5 2.5 0 00-5 0v11.26a4.5 4.5 0 105 0z", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M14 14.76V3.5a2.5 2.5 0 00-5 0v11.26a4.5 4.5 0 105 0z", fill: "white", opacity: "0.08" }), jsxRuntime.jsx("circle", { cx: "11.5", cy: "17.5", r: "2", fill: secondaryColor })] })),
86
85
  },
87
86
  });
@@ -90,7 +89,7 @@ const NtdUmbrella = /* @__PURE__ */ createIcon.createIcon({
90
89
  paths: {
91
90
  solid: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M23 12a11 11 0 00-22 0", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M12 12v8a2 2 0 004 0", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
92
91
  outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M23 12a11 11 0 00-22 0", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: "M12 12v8a2 2 0 004 0", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
93
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M23 12a11 11 0 00-22 0", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: "M23 12a11 11 0 00-22 0", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: "M12 12v8a2 2 0 004 0", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
92
+ duotone: iconParts.swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M23 12a11 11 0 00-22 0", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: "M23 12a11 11 0 00-22 0", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: "M12 12v8a2 2 0 004 0", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] }))),
94
93
  vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M23 12a11 11 0 00-22 0", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M23 12a11 11 0 00-22 0", fill: "white", opacity: "0.1" }), jsxRuntime.jsx("path", { d: "M12 12v8a2 2 0 004 0", stroke: secondaryColor, strokeWidth: "1.8", fill: "none" })] })),
95
94
  },
96
95
  });
@@ -99,7 +98,7 @@ const NtdLeaf = /* @__PURE__ */ createIcon.createIcon({
99
98
  paths: {
100
99
  solid: ({ primaryColor, strokeWidth: _strokeWidth }) => (jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsx("path", { d: "M17 8C8 10 5.9 16.17 3.82 21.34l1.89.66.95-2.3c.48.17.98.3 1.34.3C19 20 22 3 22 3c-1 2-8 2.25-13 3.25S2 11.5 2 13.5s1.75 3.75 1.75 3.75", fill: primaryColor }) })),
101
100
  outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsx("path", { d: "M17 8C8 10 5.9 16.17 3.82 21.34l1.89.66.95-2.3c.48.17.98.3 1.34.3C19 20 22 3 22 3c-1 2-8 2.25-13 3.25S2 11.5 2 13.5s1.75 3.75 1.75 3.75", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }) })),
102
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M17 8C8 10 5.9 16.17 3.82 21.34l1.89.66.95-2.3c.48.17.98.3 1.34.3C19 20 22 3 22 3c-1 2-8 2.25-13 3.25S2 11.5 2 13.5s1.75 3.75 1.75 3.75", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: "M17 8C8 10 5.9 16.17 3.82 21.34l1.89.66.95-2.3c.48.17.98.3 1.34.3C19 20 22 3 22 3c-1 2-8 2.25-13 3.25S2 11.5 2 13.5s1.75 3.75 1.75 3.75", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
101
+ duotone: iconParts.swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M17 8C8 10 5.9 16.17 3.82 21.34l1.89.66.95-2.3c.48.17.98.3 1.34.3C19 20 22 3 22 3c-1 2-8 2.25-13 3.25S2 11.5 2 13.5s1.75 3.75 1.75 3.75", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: "M17 8C8 10 5.9 16.17 3.82 21.34l1.89.66.95-2.3c.48.17.98.3 1.34.3C19 20 22 3 22 3c-1 2-8 2.25-13 3.25S2 11.5 2 13.5s1.75 3.75 1.75 3.75", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] }))),
103
102
  vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M17 8C8 10 5.9 16.17 3.82 21.34l1.89.66.95-2.3c.48.17.98.3 1.34.3C19 20 22 3 22 3c-1 2-8 2.25-13 3.25S2 11.5 2 13.5s1.75 3.75 1.75 3.75", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M17 8C8 10 5.9 16.17 3.82 21.34l1.89.66.95-2.3c.48.17.98.3 1.34.3C19 20 22 3 22 3c-1 2-8 2.25-13 3.25S2 11.5 2 13.5s1.75 3.75 1.75 3.75", fill: "white", opacity: "0.1" })] })),
104
103
  },
105
104
  });
@@ -108,7 +107,6 @@ const NtdFlower = /* @__PURE__ */ createIcon.createIcon({
108
107
  paths: {
109
108
  solid: ({ primaryColor, secondaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "8", r: "3", fill: primaryColor }), jsxRuntime.jsx("circle", { cx: "8", cy: "11", r: "3", fill: primaryColor, opacity: 0.8 }), jsxRuntime.jsx("circle", { cx: "16", cy: "11", r: "3", fill: primaryColor, opacity: 0.8 }), jsxRuntime.jsx("circle", { cx: "9", cy: "15", r: "3", fill: primaryColor, opacity: 0.6 }), jsxRuntime.jsx("circle", { cx: "15", cy: "15", r: "3", fill: primaryColor, opacity: 0.6 }), jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "2.5", fill: secondaryColor }), jsxRuntime.jsx("line", { x1: "12", y1: "14.5", x2: "12", y2: "22", stroke: primaryColor, strokeWidth: strokeWidth })] })),
110
109
  outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "8", r: "3", stroke: primaryColor, strokeWidth: "1.5", fill: "none" }), jsxRuntime.jsx("circle", { cx: "8", cy: "11", r: "3", stroke: primaryColor, strokeWidth: "1.5", fill: "none" }), jsxRuntime.jsx("circle", { cx: "16", cy: "11", r: "3", stroke: primaryColor, strokeWidth: "1.5", fill: "none" }), jsxRuntime.jsx("circle", { cx: "9", cy: "15", r: "3", stroke: primaryColor, strokeWidth: "1.5", fill: "none" }), jsxRuntime.jsx("circle", { cx: "15", cy: "15", r: "3", stroke: primaryColor, strokeWidth: "1.5", fill: "none" }), jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "2", fill: primaryColor }), jsxRuntime.jsx("line", { x1: "12", y1: "14.5", x2: "12", y2: "22", stroke: primaryColor, strokeWidth: strokeWidth })] })),
111
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "8", r: "3", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("circle", { cx: "8", cy: "11", r: "3", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("circle", { cx: "16", cy: "11", r: "3", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("circle", { cx: "9", cy: "15", r: "3", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("circle", { cx: "15", cy: "15", r: "3", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "2.5", fill: primaryColor }), jsxRuntime.jsx("line", { x1: "12", y1: "14.5", x2: "12", y2: "22", stroke: primaryColor, strokeWidth: strokeWidth })] })),
112
110
  vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "8", r: "3", fill: primaryColor }), jsxRuntime.jsx("circle", { cx: "12", cy: "8", r: "3", fill: "white", opacity: "0.08" }), jsxRuntime.jsx("circle", { cx: "8", cy: "11", r: "3", fill: secondaryColor }), jsxRuntime.jsx("circle", { cx: "16", cy: "11", r: "3", fill: "#F59E0B" }), jsxRuntime.jsx("circle", { cx: "9", cy: "15", r: "3", fill: "#60A5FA" }), jsxRuntime.jsx("circle", { cx: "15", cy: "15", r: "3", fill: "#E2E8F0" }), jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "2.5", fill: "#E2E8F0" }), jsxRuntime.jsx("line", { x1: "12", y1: "14.5", x2: "12", y2: "22", stroke: "white", strokeWidth: "1" })] })),
113
111
  },
114
112
  });
@@ -117,20 +115,20 @@ const NtdTree = /* @__PURE__ */ createIcon.createIcon({
117
115
  paths: {
118
116
  solid: ({ primaryColor, secondaryColor, strokeWidth: _strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("polygon", { points: "12,2 4,14 8,14 5,22 19,22 16,14 20,14", fill: primaryColor }), jsxRuntime.jsx("rect", { x: "10", y: "19", width: "4", height: "4", fill: secondaryColor })] })),
119
117
  outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("polygon", { points: "12,2 4,14 8,14 5,22 19,22 16,14 20,14", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("line", { x1: "12", y1: "22", x2: "12", y2: "18", stroke: primaryColor, strokeWidth: strokeWidth })] })),
120
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("polygon", { points: "12,2 4,14 8,14 5,22 19,22 16,14 20,14", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("polygon", { points: "12,2 4,14 8,14 5,22 19,22 16,14 20,14", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
121
118
  vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("polygon", { points: "12,2 4,14 8,14 5,22 19,22 16,14 20,14", fill: primaryColor }), jsxRuntime.jsx("polygon", { points: "12,2 4,14 8,14 5,22 19,22 16,14 20,14", fill: "white", opacity: "0.08" }), jsxRuntime.jsx("rect", { x: "10", y: "19", width: "4", height: "4", fill: secondaryColor })] })),
122
119
  },
123
120
  });
124
121
  // NtdMountain: a snowcap that follows the slopes down to an edge with three uneven notches, like a
125
- // price chart (it had two even ones). The snow is secondary — in the accent colour, which is the
126
- // page colour by default, it did not show; the outline draws the snow line too.
122
+ // price chart (it had two even ones). In solid (and the variants drawn from it) the whole mountain
123
+ // is primary and the snow line is a cut in the accent colour, clipped to the slopes; duotone and
124
+ // vivid keep the snow secondary. The outline draws the snow line too.
127
125
  const MOUNTAIN = 'M12 2L2 22h20L12 2z';
128
126
  const MOUNTAIN_SNOW = 'M12 2L15 8L14 10.2L13.1 9.4L11.9 11L10.6 9.1L9.5 10.4L8.4 9.2Z';
129
127
  const MOUNTAIN_SNOW_LINE = 'M8.4 9.2L9.5 10.4L10.6 9.1L11.9 11L13.1 9.4L14 10.2L15 8';
130
128
  const NtdMountain = /* @__PURE__ */ createIcon.createIcon({
131
129
  displayName: 'NtdMountain',
132
130
  paths: {
133
- solid: (props) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: MOUNTAIN, fill: props.primaryColor }), jsxRuntime.jsx("path", { d: MOUNTAIN_SNOW, fill: iconParts.detailColor(props) })] })),
131
+ solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth, uid }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: MOUNTAIN, fill: primaryColor }), iconParts.within(uid, 'snow', jsxRuntime.jsx("path", { d: MOUNTAIN }), jsxRuntime.jsx("path", { d: MOUNTAIN_SNOW_LINE, stroke: accentColor, strokeOpacity: accentOpacity, strokeWidth: strokeWidth, strokeLinejoin: "miter", fill: "none" }))] })),
134
132
  outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: MOUNTAIN, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: MOUNTAIN_SNOW_LINE, stroke: primaryColor, strokeWidth: strokeWidth * 0.8, fill: "none" })] })),
135
133
  duotone: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: MOUNTAIN, fill: primaryColor }), jsxRuntime.jsx("path", { d: MOUNTAIN_SNOW, fill: secondaryColor })] })),
136
134
  vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: MOUNTAIN, fill: primaryColor }), jsxRuntime.jsx("path", { d: MOUNTAIN_SNOW, fill: secondaryColor })] })),
@@ -154,7 +152,6 @@ const NtdFire = /* @__PURE__ */ createIcon.createIcon({
154
152
  paths: {
155
153
  solid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: FIRE, fill: primaryColor }), jsxRuntime.jsx("path", { d: FIRE_CORE, fill: secondaryColor })] })),
156
154
  outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: FIRE, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: FIRE_CORE, stroke: primaryColor, strokeWidth: "1.5", fill: "none" })] })),
157
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: FIRE, fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: FIRE, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: FIRE_CORE, fill: primaryColor, opacity: 0.6 })] })),
158
155
  vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: FIRE, fill: primaryColor }), jsxRuntime.jsx("path", { d: FIRE, fill: "white", opacity: "0.08" }), jsxRuntime.jsx("path", { d: FIRE_CORE, fill: secondaryColor })] })),
159
156
  },
160
157
  });
@@ -178,7 +175,6 @@ const NtdCompass = /* @__PURE__ */ createIcon.createIcon({
178
175
  paths: {
179
176
  solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth: _strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", fill: primaryColor }), jsxRuntime.jsx("polygon", { points: "16.24,7.76 14.12,14.12 7.76,16.24 9.88,9.88", fill: accentColor, opacity: accentOpacity })] })),
180
177
  outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("polygon", { points: "16.24,7.76 14.12,14.12 7.76,16.24 9.88,9.88", stroke: primaryColor, strokeWidth: "1.5", fill: "none" })] })),
181
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("polygon", { points: "16.24,7.76 14.12,14.12 7.76,16.24 9.88,9.88", fill: primaryColor })] })),
182
178
  vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", fill: primaryColor }), jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", fill: "white", opacity: "0.08" }), jsxRuntime.jsx("polygon", { points: "16.24,7.76 14.12,14.12 7.76,16.24 9.88,9.88", fill: secondaryColor })] })),
183
179
  },
184
180
  });
@@ -187,7 +183,7 @@ const NtdAnchor = /* @__PURE__ */ createIcon.createIcon({
187
183
  paths: {
188
184
  solid: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "5", r: "3", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("line", { x1: "12", y1: "8", x2: "12", y2: "21", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("path", { d: "M5 12H2a10 10 0 0020 0h-3", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
189
185
  outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "5", r: "3", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("line", { x1: "12", y1: "8", x2: "12", y2: "21", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("path", { d: "M5 12H2a10 10 0 0020 0h-3", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
190
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M5 12H2a10 10 0 0020 0h-3", stroke: secondaryColor, strokeWidth: strokeWidth, fill: "none", opacity: secondaryOpacity + 0.2 }), jsxRuntime.jsx("circle", { cx: "12", cy: "5", r: "3", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("line", { x1: "12", y1: "8", x2: "12", y2: "21", stroke: primaryColor, strokeWidth: strokeWidth })] })),
186
+ duotone: iconParts.swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M5 12H2a10 10 0 0020 0h-3", stroke: secondaryColor, strokeWidth: strokeWidth, fill: "none", opacity: secondaryOpacity + 0.2 }), jsxRuntime.jsx("circle", { cx: "12", cy: "5", r: "3", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("line", { x1: "12", y1: "8", x2: "12", y2: "21", stroke: primaryColor, strokeWidth: strokeWidth })] }))),
191
187
  vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "5", r: "3", stroke: primaryColor, strokeWidth: "2", fill: "none" }), jsxRuntime.jsx("line", { x1: "12", y1: "8", x2: "12", y2: "21", stroke: secondaryColor, strokeWidth: "1.8" }), jsxRuntime.jsx("path", { d: "M5 12H2a10 10 0 0020 0h-3", stroke: "#F59E0B", strokeWidth: "1.5", fill: "none" })] })),
192
188
  },
193
189
  });
@@ -196,7 +192,7 @@ const NtdFeather = /* @__PURE__ */ createIcon.createIcon({
196
192
  paths: {
197
193
  solid: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M20.24 12.24a6 6 0 00-8.49-8.49L5 10.5V19h8.5z", fill: primaryColor }), jsxRuntime.jsx("line", { x1: "16", y1: "8", x2: "2", y2: "22", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("line", { x1: "17.5", y1: "15", x2: "9", y2: "15", stroke: primaryColor, strokeWidth: strokeWidth })] })),
198
194
  outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M20.24 12.24a6 6 0 00-8.49-8.49L5 10.5V19h8.5z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("line", { x1: "16", y1: "8", x2: "2", y2: "22", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("line", { x1: "17.5", y1: "15", x2: "9", y2: "15", stroke: primaryColor, strokeWidth: strokeWidth })] })),
199
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M20.24 12.24a6 6 0 00-8.49-8.49L5 10.5V19h8.5z", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: "M20.24 12.24a6 6 0 00-8.49-8.49L5 10.5V19h8.5z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("line", { x1: "16", y1: "8", x2: "2", y2: "22", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("line", { x1: "17.5", y1: "15", x2: "9", y2: "15", stroke: primaryColor, strokeWidth: strokeWidth })] })),
195
+ duotone: iconParts.swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M20.24 12.24a6 6 0 00-8.49-8.49L5 10.5V19h8.5z", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: "M20.24 12.24a6 6 0 00-8.49-8.49L5 10.5V19h8.5z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("line", { x1: "16", y1: "8", x2: "2", y2: "22", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("line", { x1: "17.5", y1: "15", x2: "9", y2: "15", stroke: primaryColor, strokeWidth: strokeWidth })] }))),
200
196
  vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M20.24 12.24a6 6 0 00-8.49-8.49L5 10.5V19h8.5z", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M20.24 12.24a6 6 0 00-8.49-8.49L5 10.5V19h8.5z", fill: "white", opacity: "0.1" }), jsxRuntime.jsx("line", { x1: "16", y1: "8", x2: "2", y2: "22", stroke: secondaryColor, strokeWidth: "1.8" }), jsxRuntime.jsx("line", { x1: "17.5", y1: "15", x2: "9", y2: "15", stroke: "#F59E0B", strokeWidth: "1.5" })] })),
201
197
  },
202
198
  });
package/dist/cjs/index.js CHANGED
@@ -155,6 +155,7 @@ exports.NtdHome = ui.NtdHome;
155
155
  exports.NtdHourglass = ui.NtdHourglass;
156
156
  exports.NtdInfo = ui.NtdInfo;
157
157
  exports.NtdMap = ui.NtdMap;
158
+ exports.NtdMapPin = ui.NtdMapPin;
158
159
  exports.NtdMoon = ui.NtdMoon;
159
160
  exports.NtdPin = ui.NtdPin;
160
161
  exports.NtdShield = ui.NtdShield;
@@ -106,6 +106,7 @@ const NAME_MAP = {
106
106
  globe: 'NtdGlobe',
107
107
  map: 'NtdMap',
108
108
  pin: 'NtdPin',
109
+ 'map-pin': 'NtdMapPin',
109
110
  shield: 'NtdShield',
110
111
  // Media
111
112
  play: 'NtdPlay',
package/dist/cjs/rsc.js CHANGED
@@ -35,7 +35,7 @@ function createIconRSC(options) {
35
35
  const { displayName, viewBox = '0 0 24 24', paths } = options;
36
36
  function IconRSC(props) {
37
37
  var _a;
38
- const { size = 'md', variant = 'solid', cutoutShape = 'rounded-square', primaryColor: primaryColorProp, secondaryColor: secondaryColorProp, accentColor: accentColorProp, secondaryOpacity = 0.35, strokeWidth = 1.5, gradient, gradientDirection = 135, color, rotate, flipX, flipY, scale, className, style, 'aria-label': ariaLabel, 'aria-hidden': ariaHidden, title, role = ariaLabel ? 'img' : 'presentation', 'data-testid': testId, } = props;
38
+ const { size = 'md', variant = 'solid', cutoutShape = 'rounded-square', primaryColor: primaryColorProp, secondaryColor: secondaryColorProp, accentColor: accentColorProp, secondaryOpacity = 0.35, strokeWidth = 1, gradient, gradientDirection = 135, color, rotate, flipX, flipY, scale, className, style, 'aria-label': ariaLabel, 'aria-hidden': ariaHidden, title, role = ariaLabel ? 'img' : 'presentation', 'data-testid': testId, } = props;
39
39
  // Resolve size
40
40
  const resolvedSize = typeof size === 'number' ? size : types.SIZE_MAP[size] || types.SIZE_MAP.md;
41
41
  // Resolve colors with semantic color support