@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,6 +1,6 @@
1
1
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
2
  import { createIcon } from '../createIcon.js';
3
- import { bellIcon, within } from '../iconParts.js';
3
+ import { bellIcon, swapDuotone, within } from '../iconParts.js';
4
4
 
5
5
  // NtdHome: walls 9 high under a 7.5 roof (they were 10.5 and read as a tower). The corners are
6
6
  // square in every variant: the outline strokes join with miters, since the default round joins
@@ -14,7 +14,7 @@ const NtdHome = /* @__PURE__ */ createIcon({
14
14
  solid: ({ primaryColor }) => jsx("path", { d: HOME_HOUSE, fill: primaryColor }),
15
15
  rounded: ({ primaryColor }) => jsx("path", { d: HOME_HOUSE_ROUND, fill: primaryColor }),
16
16
  outline: ({ primaryColor, strokeWidth }) => (jsx("path", { d: `${HOME_HOUSE}${HOME_DOOR}`, stroke: primaryColor, strokeWidth: strokeWidth, strokeLinejoin: "miter", fill: "none" })),
17
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: HOME_HOUSE, fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: HOME_HOUSE, stroke: primaryColor, strokeWidth: strokeWidth, strokeLinejoin: "miter", fill: "none" }), jsx("path", { d: HOME_DOOR, stroke: primaryColor, strokeWidth: strokeWidth, strokeLinejoin: "miter", fill: primaryColor })] })),
17
+ duotone: swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: HOME_HOUSE, fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: HOME_HOUSE, stroke: primaryColor, strokeWidth: strokeWidth, strokeLinejoin: "miter", fill: "none" }), jsx("path", { d: HOME_DOOR, stroke: primaryColor, strokeWidth: strokeWidth, strokeLinejoin: "miter", fill: primaryColor })] }))),
18
18
  vivid: ({ primaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: HOME_HOUSE, fill: primaryColor }), jsx("path", { d: HOME_HOUSE, fill: "white", opacity: "0.1" })] })),
19
19
  },
20
20
  });
@@ -27,16 +27,17 @@ const NtdUser = /* @__PURE__ */ createIcon({
27
27
  paths: {
28
28
  solid: ({ primaryColor, strokeWidth: _strokeWidth }) => (jsxs(Fragment, { children: [jsx("circle", { cx: "12", cy: "7.6", r: "4.4", fill: primaryColor }), 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 })] })),
29
29
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("circle", { cx: "12", cy: "7.6", r: "4.4", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), 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" })] })),
30
- // fills only, like vivid: the head primary, the shoulders secondary
31
- duotone: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("circle", { cx: "12", cy: "7.6", r: "4.4", fill: primaryColor }), 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 })] })),
30
+ // fills only: the shoulders primary, the head secondary (swapped in 1.3.8: the larger part
31
+ // primary)
32
+ duotone: swapDuotone(({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("circle", { cx: "12", cy: "7.6", r: "4.4", fill: primaryColor }), 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
33
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("circle", { cx: "12", cy: "7.6", r: "4.4", fill: primaryColor }), 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 })] })),
33
34
  },
34
35
  });
35
36
  // NtdAdmin: NtdUser in a tie — the same head and shoulders, a knot at the collar and a blade that
36
37
  // runs down the chest to the bottom edge, cut off there (a whole short tie with its tip read
37
- // comic).
38
+ // comic). The tie is twice as wide as it was, knot and blade: 5.2 at the collar, 6.8 at the edge.
38
39
  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';
39
- const ADMIN_TIE = 'M10.7 15.3h2.6l-.65 1.8 1.05 4.8h-3.4l1.05-4.8z';
40
+ const ADMIN_TIE = 'M9.4 15.3h5.2l-1.3 1.8 2.1 4.8H8.6l2.1-4.8z';
40
41
  const NtdAdmin = /* @__PURE__ */ createIcon({
41
42
  displayName: 'NtdAdmin',
42
43
  paths: {
@@ -52,7 +53,7 @@ const NtdUsers = /* @__PURE__ */ createIcon({
52
53
  paths: {
53
54
  solid: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("circle", { cx: "9", cy: "7", r: "4", fill: primaryColor }), jsx("path", { d: "M17 21v-2a4 4 0 00-4-4H5a4 4 0 00-4 4v2", fill: primaryColor }), 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" })] })),
54
55
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("circle", { cx: "9", cy: "7", r: "4", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M17 21v-2a4 4 0 00-4-4H5a4 4 0 00-4 4v2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), 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" })] })),
55
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M17 21v-2a4 4 0 00-4-4H5a4 4 0 00-4 4v2", fill: secondaryColor, opacity: secondaryOpacity }), jsx("circle", { cx: "9", cy: "7", r: "4", fill: primaryColor }), jsx("path", { d: "M17 21v-2a4 4 0 00-4-4H5a4 4 0 00-4 4v2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), 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 })] })),
56
+ duotone: swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M17 21v-2a4 4 0 00-4-4H5a4 4 0 00-4 4v2", fill: secondaryColor, opacity: secondaryOpacity }), jsx("circle", { cx: "9", cy: "7", r: "4", fill: primaryColor }), jsx("path", { d: "M17 21v-2a4 4 0 00-4-4H5a4 4 0 00-4 4v2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), 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 })] }))),
56
57
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("circle", { cx: "9", cy: "7", r: "4", fill: primaryColor }), jsx("circle", { cx: "9", cy: "7", r: "4", fill: "white", opacity: "0.08" }), jsx("path", { d: "M17 21v-2a4 4 0 00-4-4H5a4 4 0 00-4 4v2", fill: secondaryColor }), 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" })] })),
57
58
  },
58
59
  });
@@ -78,7 +79,7 @@ const NtdStar = /* @__PURE__ */ createIcon({
78
79
  paths: {
79
80
  solid: ({ primaryColor, strokeWidth: _strokeWidth }) => (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 })),
80
81
  outline: ({ primaryColor, strokeWidth }) => (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" })),
81
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [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 }), 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" })] })),
82
+ duotone: swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [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 }), 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" })] }))),
82
83
  vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxs(Fragment, { children: [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 }), 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" })] })),
83
84
  },
84
85
  });
@@ -101,7 +102,7 @@ const NtdEyeOff = /* @__PURE__ */ createIcon({
101
102
  paths: {
102
103
  solid: ({ primaryColor, strokeWidth }) => (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 })),
103
104
  outline: ({ primaryColor, strokeWidth }) => (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 })),
104
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [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 }), 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
+ duotone: swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [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 }), 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
  vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsx(Fragment, { children: 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" }) })),
106
107
  },
107
108
  });
@@ -110,7 +111,6 @@ const NtdInfo = /* @__PURE__ */ createIcon({
110
111
  paths: {
111
112
  solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("circle", { cx: "12", cy: "12", r: "10", fill: primaryColor }), jsx("line", { x1: "12", y1: "16", x2: "12", y2: "12", stroke: accentColor, strokeWidth: strokeWidth, opacity: accentOpacity }), jsx("circle", { cx: "12", cy: "8", r: "1", fill: accentColor, opacity: accentOpacity })] })),
112
113
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("circle", { cx: "12", cy: "12", r: "10", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("line", { x1: "12", y1: "16", x2: "12", y2: "12", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("circle", { cx: "12", cy: "8", r: "1", fill: primaryColor })] })),
113
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("circle", { cx: "12", cy: "12", r: "10", fill: secondaryColor, opacity: secondaryOpacity }), jsx("circle", { cx: "12", cy: "12", r: "10", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("line", { x1: "12", y1: "16", x2: "12", y2: "12", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("circle", { cx: "12", cy: "8", r: "1", fill: primaryColor })] })),
114
114
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("circle", { cx: "12", cy: "12", r: "10", fill: primaryColor }), jsx("circle", { cx: "12", cy: "12", r: "10", fill: "white", opacity: "0.08" }), jsx("circle", { cx: "12", cy: "8", r: "1", fill: secondaryColor }), jsx("line", { x1: "12", y1: "16", x2: "12", y2: "12", stroke: "white", strokeWidth: "1", opacity: "0.4" })] })),
115
115
  },
116
116
  });
@@ -119,7 +119,6 @@ const NtdWarning = /* @__PURE__ */ createIcon({
119
119
  paths: {
120
120
  solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth }) => (jsxs(Fragment, { children: [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 }), jsx("line", { x1: "12", y1: "9", x2: "12", y2: "13", stroke: accentColor, strokeWidth: strokeWidth, opacity: accentOpacity }), jsx("circle", { cx: "12", cy: "17", r: "1", fill: accentColor, opacity: accentOpacity })] })),
121
121
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [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" }), jsx("line", { x1: "12", y1: "9", x2: "12", y2: "13", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("circle", { cx: "12", cy: "17", r: "1", fill: primaryColor })] })),
122
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [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 }), 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" }), jsx("line", { x1: "12", y1: "9", x2: "12", y2: "13", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("circle", { cx: "12", cy: "17", r: "1", fill: primaryColor })] })),
123
122
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [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 }), 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" }), jsx("circle", { cx: "12", cy: "17", r: "1", fill: secondaryColor }), jsx("line", { x1: "12", y1: "9", x2: "12", y2: "13", stroke: "white", strokeWidth: "1", opacity: "0.4" })] })),
124
123
  },
125
124
  });
@@ -128,7 +127,6 @@ const NtdError = /* @__PURE__ */ createIcon({
128
127
  paths: {
129
128
  solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("circle", { cx: "12", cy: "12", r: "10", fill: primaryColor }), jsx("line", { x1: "15", y1: "9", x2: "9", y2: "15", stroke: accentColor, strokeWidth: strokeWidth, opacity: accentOpacity }), jsx("line", { x1: "9", y1: "9", x2: "15", y2: "15", stroke: accentColor, strokeWidth: strokeWidth, opacity: accentOpacity })] })),
130
129
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("circle", { cx: "12", cy: "12", r: "10", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("line", { x1: "15", y1: "9", x2: "9", y2: "15", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "9", y1: "9", x2: "15", y2: "15", stroke: primaryColor, strokeWidth: strokeWidth })] })),
131
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("circle", { cx: "12", cy: "12", r: "10", fill: secondaryColor, opacity: secondaryOpacity }), jsx("circle", { cx: "12", cy: "12", r: "10", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("line", { x1: "15", y1: "9", x2: "9", y2: "15", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "9", y1: "9", x2: "15", y2: "15", stroke: primaryColor, strokeWidth: strokeWidth })] })),
132
130
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("circle", { cx: "12", cy: "12", r: "10", fill: primaryColor }), jsx("circle", { cx: "12", cy: "12", r: "10", fill: "white", opacity: "0.1" }), jsx("line", { x1: "15", y1: "9", x2: "9", y2: "15", stroke: secondaryColor, strokeWidth: "1.8" }), jsx("line", { x1: "9", y1: "9", x2: "15", y2: "15", stroke: "#3B82F6", strokeWidth: "1.5" })] })),
133
131
  },
134
132
  });
@@ -137,7 +135,6 @@ const NtdSuccess = /* @__PURE__ */ createIcon({
137
135
  paths: {
138
136
  solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("circle", { cx: "12", cy: "12", r: "10", fill: primaryColor }), jsx("path", { d: "M9 12l2 2 4-4", stroke: accentColor, strokeWidth: strokeWidth, opacity: accentOpacity })] })),
139
137
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("circle", { cx: "12", cy: "12", r: "10", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M9 12l2 2 4-4", stroke: primaryColor, strokeWidth: strokeWidth })] })),
140
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("circle", { cx: "12", cy: "12", r: "10", fill: secondaryColor, opacity: secondaryOpacity }), jsx("circle", { cx: "12", cy: "12", r: "10", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M9 12l2 2 4-4", stroke: primaryColor, strokeWidth: strokeWidth })] })),
141
138
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("circle", { cx: "12", cy: "12", r: "10", fill: primaryColor }), jsx("circle", { cx: "12", cy: "12", r: "10", fill: "white", opacity: "0.1" }), jsx("path", { d: "M9 12l2 2 4-4", stroke: secondaryColor, strokeWidth: "1.8" })] })),
142
139
  },
143
140
  });
@@ -146,7 +143,6 @@ const NtdHelp = /* @__PURE__ */ createIcon({
146
143
  paths: {
147
144
  solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("circle", { cx: "12", cy: "12", r: "10", fill: primaryColor }), jsx("path", { d: "M9.09 9a3 3 0 015.83 1c0 2-3 3-3 3", stroke: accentColor, strokeWidth: strokeWidth, fill: "none", opacity: accentOpacity }), jsx("circle", { cx: "12", cy: "17", r: "1", fill: accentColor, opacity: accentOpacity })] })),
148
145
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("circle", { cx: "12", cy: "12", r: "10", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M9.09 9a3 3 0 015.83 1c0 2-3 3-3 3", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("circle", { cx: "12", cy: "17", r: "1", fill: primaryColor })] })),
149
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("circle", { cx: "12", cy: "12", r: "10", fill: secondaryColor, opacity: secondaryOpacity }), jsx("circle", { cx: "12", cy: "12", r: "10", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M9.09 9a3 3 0 015.83 1c0 2-3 3-3 3", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("circle", { cx: "12", cy: "17", r: "1", fill: primaryColor })] })),
150
146
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("circle", { cx: "12", cy: "12", r: "10", fill: primaryColor }), jsx("circle", { cx: "12", cy: "12", r: "10", fill: "white", opacity: "0.08" }), jsx("circle", { cx: "12", cy: "17", r: "1", fill: secondaryColor }), 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" })] })),
151
147
  },
152
148
  });
@@ -160,7 +156,6 @@ const NtdClock = /* @__PURE__ */ createIcon({
160
156
  paths: {
161
157
  solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("circle", { cx: "12", cy: "12", r: "10", fill: primaryColor }), jsx("path", { d: CLOCK_HANDS, stroke: accentColor, strokeWidth: strokeWidth * 2, opacity: accentOpacity })] })),
162
158
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("circle", { cx: "12", cy: "12", r: "10", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: CLOCK_HANDS, stroke: primaryColor, strokeWidth: strokeWidth })] })),
163
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("circle", { cx: "12", cy: "12", r: "10", fill: secondaryColor, opacity: secondaryOpacity }), jsx("circle", { cx: "12", cy: "12", r: "10", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: CLOCK_HANDS, stroke: primaryColor, strokeWidth: strokeWidth * 2 })] })),
164
159
  vivid: ({ primaryColor, secondaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("circle", { cx: "12", cy: "12", r: "10", fill: primaryColor }), jsx("circle", { cx: "12", cy: "12", r: "10", fill: "white", opacity: "0.1" }), jsx("path", { d: CLOCK_HANDS, stroke: secondaryColor, strokeWidth: strokeWidth * 2 })] })),
165
160
  },
166
161
  });
@@ -207,6 +202,9 @@ function calendarFilled({ primaryColor, secondaryColor, accentColor, accentOpaci
207
202
  }
208
203
  const NtdCalendar = /* @__PURE__ */ createIcon({
209
204
  displayName: 'NtdCalendar',
205
+ perfectStackX: 12,
206
+ perfectStackY: 13,
207
+ perfectStackSize: 0.55,
210
208
  paths: {
211
209
  solid: calendarFilled,
212
210
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "3", y: "4", width: "18", height: "18", rx: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: CALENDAR_RINGS, stroke: primaryColor, strokeWidth: strokeWidth * 1.6 }), jsx("path", { d: "M3 9.5h18", stroke: primaryColor, strokeWidth: strokeWidth })] })),
@@ -214,31 +212,41 @@ const NtdCalendar = /* @__PURE__ */ createIcon({
214
212
  vivid: calendarFilled,
215
213
  },
216
214
  });
215
+ // NtdTag: the hole sits on the tag's axis close to the point (5.5, 5.5; it was 7, 7). Stacked icons
216
+ // and text go past the hole, along the tag (1.3.8).
217
217
  const NtdTag = /* @__PURE__ */ createIcon({
218
218
  displayName: 'NtdTag',
219
+ perfectStackX: 12.5,
220
+ perfectStackY: 12.5,
221
+ perfectStackRotation: 45,
222
+ perfectStackSize: 0.4,
219
223
  paths: {
220
- solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth: _strokeWidth }) => (jsxs(Fragment, { children: [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 }), jsx("circle", { cx: "7", cy: "7", r: "1.5", fill: accentColor, opacity: accentOpacity })] })),
221
- outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [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" }), jsx("circle", { cx: "7", cy: "7", r: "1", fill: primaryColor })] })),
222
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [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 }), 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" }), jsx("circle", { cx: "7", cy: "7", r: "1.5", fill: primaryColor })] })),
223
- vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [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 }), 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" }), jsx("circle", { cx: "7", cy: "7", r: "1.5", fill: secondaryColor })] })),
224
+ solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth: _strokeWidth }) => (jsxs(Fragment, { children: [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 }), jsx("circle", { cx: "5.5", cy: "5.5", r: "1.5", fill: accentColor, opacity: accentOpacity })] })),
225
+ outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [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" }), jsx("circle", { cx: "5.5", cy: "5.5", r: "1", fill: primaryColor })] })),
226
+ vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [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 }), 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" }), jsx("circle", { cx: "5.5", cy: "5.5", r: "1.5", fill: secondaryColor })] })),
224
227
  },
225
228
  });
226
229
  /** The backspace key: a key shape pointing left with a cross inside (delete the last character). */
227
230
  const NtdBackspace = /* @__PURE__ */ createIcon({
228
231
  displayName: 'NtdBackspace',
232
+ perfectStackX: 13.5,
233
+ perfectStackY: 12,
234
+ perfectStackSize: 0.5,
229
235
  paths: {
230
236
  solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M21 4H8l-7 8 7 8h13a2 2 0 002-2V6a2 2 0 00-2-2z", fill: primaryColor }), jsx("line", { x1: "18", y1: "9", x2: "12", y2: "15", stroke: accentColor, strokeOpacity: accentOpacity, strokeWidth: strokeWidth, strokeLinecap: "round" }), jsx("line", { x1: "12", y1: "9", x2: "18", y2: "15", stroke: accentColor, strokeOpacity: accentOpacity, strokeWidth: strokeWidth, strokeLinecap: "round" })] })),
231
237
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [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" }), jsx("line", { x1: "18", y1: "9", x2: "12", y2: "15", stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round" }), jsx("line", { x1: "12", y1: "9", x2: "18", y2: "15", stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round" })] })),
232
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M21 4H8l-7 8 7 8h13a2 2 0 002-2V6a2 2 0 00-2-2z", fill: secondaryColor, opacity: secondaryOpacity }), 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" }), jsx("line", { x1: "18", y1: "9", x2: "12", y2: "15", stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round" }), jsx("line", { x1: "12", y1: "9", x2: "18", y2: "15", stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round" })] })),
233
238
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M21 4H8l-7 8 7 8h13a2 2 0 002-2V6a2 2 0 00-2-2z", fill: primaryColor }), jsx("line", { x1: "18", y1: "9", x2: "12", y2: "15", stroke: secondaryColor, strokeWidth: "1.8", strokeLinecap: "round" }), jsx("line", { x1: "12", y1: "9", x2: "18", y2: "15", stroke: secondaryColor, strokeWidth: "1.8", strokeLinecap: "round" })] })),
234
239
  },
235
240
  });
236
241
  const NtdBookmark = /* @__PURE__ */ createIcon({
237
242
  displayName: 'NtdBookmark',
243
+ perfectStackX: 12,
244
+ perfectStackY: 9.5,
245
+ perfectStackSize: 0.4,
238
246
  paths: {
239
247
  solid: ({ primaryColor, strokeWidth: _strokeWidth }) => (jsx("path", { d: "M19 21l-7-5-7 5V5a2 2 0 012-2h10a2 2 0 012 2v16z", fill: primaryColor })),
240
248
  outline: ({ primaryColor, strokeWidth }) => (jsx("path", { d: "M19 21l-7-5-7 5V5a2 2 0 012-2h10a2 2 0 012 2v16z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })),
241
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M19 21l-7-5-7 5V5a2 2 0 012-2h10a2 2 0 012 2v16z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M19 21l-7-5-7 5V5a2 2 0 012-2h10a2 2 0 012 2v16z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
249
+ duotone: swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M19 21l-7-5-7 5V5a2 2 0 012-2h10a2 2 0 012 2v16z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M19 21l-7-5-7 5V5a2 2 0 012-2h10a2 2 0 012 2v16z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] }))),
242
250
  vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M19 21l-7-5-7 5V5a2 2 0 012-2h10a2 2 0 012 2v16z", fill: primaryColor }), jsx("path", { d: "M19 21l-7-5-7 5V5a2 2 0 012-2h10a2 2 0 012 2v16z", fill: "white", opacity: "0.1" })] })),
243
251
  // square top corners: the derived `sharp` only re-caps strokes, the arcs of a path stay round
244
252
  sharp: ({ primaryColor }) => jsx("path", { d: "M19 21l-7-5-7 5V3h14v18z", fill: primaryColor }),
@@ -251,10 +259,13 @@ const NtdBookmark = /* @__PURE__ */ createIcon({
251
259
  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';
252
260
  const NtdFlag = /* @__PURE__ */ createIcon({
253
261
  displayName: 'NtdFlag',
262
+ perfectStackX: 12,
263
+ perfectStackY: 10,
264
+ perfectStackSize: 0.35,
254
265
  paths: {
255
266
  solid: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: FLAG_CLOTH, fill: primaryColor }), jsx("path", { d: `M${4 + strokeWidth / 2} 3v17.5`, stroke: primaryColor, strokeWidth: strokeWidth })] })),
256
267
  outline: ({ primaryColor, strokeWidth }) => (jsx("path", { d: `${FLAG_CLOTH}M4 3v17.5`, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })),
257
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: FLAG_CLOTH, fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: `${FLAG_CLOTH}M4 3v17.5`, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
268
+ duotone: swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: FLAG_CLOTH, fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: `${FLAG_CLOTH}M4 3v17.5`, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] }))),
258
269
  vivid: ({ primaryColor, secondaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: FLAG_CLOTH, fill: primaryColor }), jsx("path", { d: FLAG_CLOTH, fill: "white", opacity: "0.1" }), jsx("path", { d: `M${4 + strokeWidth / 2} 3v17.5`, stroke: secondaryColor, strokeWidth: strokeWidth })] })),
259
270
  },
260
271
  });
@@ -283,7 +294,7 @@ const NtdShield = /* @__PURE__ */ createIcon({
283
294
  paths: {
284
295
  solid: ({ primaryColor, strokeWidth: _strokeWidth }) => (jsx("path", { d: "M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z", fill: primaryColor })),
285
296
  outline: ({ primaryColor, strokeWidth }) => (jsx("path", { d: "M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })),
286
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M9 12l2 2 4-4", stroke: primaryColor, strokeWidth: strokeWidth })] })),
297
+ duotone: swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M9 12l2 2 4-4", stroke: primaryColor, strokeWidth: strokeWidth })] }))),
287
298
  vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z", fill: primaryColor }), jsx("path", { d: "M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z", fill: "white", opacity: "0.1" })] })),
288
299
  },
289
300
  });
@@ -296,7 +307,6 @@ const NtdGlobe = /* @__PURE__ */ createIcon({
296
307
  // at 0.75x in the cutout, which is drawn from this layer too.
297
308
  solid: ({ variant, primaryColor, accentColor, accentOpacity, strokeWidth, uid }) => (jsxs(Fragment, { children: [jsx("circle", { cx: "12", cy: "12", r: "10", fill: primaryColor }), within(uid, 'grid', jsx("circle", { cx: "12", cy: "12", r: "10" }), jsx("path", { d: GLOBE_GRID, stroke: accentColor, strokeWidth: strokeWidth * (variant === 'cutout' ? 0.75 : 1.5), opacity: accentOpacity, fill: "none" }))] })),
298
309
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("circle", { cx: "12", cy: "12", r: "10", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), 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" })] })),
299
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("circle", { cx: "12", cy: "12", r: "10", fill: secondaryColor, opacity: secondaryOpacity }), jsx("circle", { cx: "12", cy: "12", r: "10", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), 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" })] })),
300
310
  vivid: ({ primaryColor, secondaryColor, strokeWidth, uid }) => (jsxs(Fragment, { children: [jsx("circle", { cx: "12", cy: "12", r: "10", fill: primaryColor }), within(uid, 'grid', jsx("circle", { cx: "12", cy: "12", r: "10" }), jsx("path", { d: GLOBE_GRID, stroke: secondaryColor, strokeWidth: strokeWidth * 1.5, fill: "none" }))] })),
301
311
  },
302
312
  });
@@ -309,15 +319,30 @@ const NtdMap = /* @__PURE__ */ createIcon({
309
319
  vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsx(Fragment, { children: 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" }) })),
310
320
  },
311
321
  });
312
- const NtdPin = /* @__PURE__ */ createIcon({
313
- displayName: 'NtdPin',
314
- paths: {
315
- solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth: _strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0118 0z", fill: primaryColor }), jsx("circle", { cx: "12", cy: "10", r: "3", fill: accentColor, opacity: accentOpacity })] })),
316
- outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0118 0z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("circle", { cx: "12", cy: "10", r: "3", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
317
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0118 0z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0118 0z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("circle", { cx: "12", cy: "10", r: "3", fill: primaryColor })] })),
318
- vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0118 0z", fill: primaryColor }), jsx("path", { d: "M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0118 0z", fill: "white", opacity: "0.08" }), jsx("circle", { cx: "12", cy: "10", r: "3", fill: secondaryColor })] })),
319
- },
320
- });
322
+ // NtdPin / NtdMapPin: one map pin, plain and with the dot in its head (NtdPin had the dot until
323
+ // 1.3.8). The head is the spot stacked icons and text go to: its centre (12, 10), half the pin's
324
+ // size — the head is 18 across. The outline's point is sharp (miter join). Duotone and vivid are
325
+ // fills only: the plain pin split down the middle, primary left and secondary right; the map pin
326
+ // primary with a secondary dot (vivid had a white sheen).
327
+ const PIN_BODY = 'M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0118 0z';
328
+ const PIN_DOT = { cx: 12, cy: 10, r: 3 };
329
+ function pinIcon(displayName, dot) {
330
+ const filled = ({ primaryColor, secondaryColor, uid }) => dot ? (jsxs(Fragment, { children: [jsx("path", { d: PIN_BODY, fill: primaryColor }), jsx("circle", { ...PIN_DOT, fill: secondaryColor })] })) : (jsxs(Fragment, { children: [jsx("path", { d: PIN_BODY, fill: secondaryColor }), within(uid, 'left', jsx("rect", { x: "0", y: "0", width: "12", height: "24" }), jsx("path", { d: PIN_BODY, fill: primaryColor }))] }));
331
+ return createIcon({
332
+ displayName,
333
+ perfectStackX: 12,
334
+ perfectStackY: 10,
335
+ perfectStackSize: 0.5,
336
+ paths: {
337
+ solid: ({ primaryColor, accentColor, accentOpacity }) => (jsxs(Fragment, { children: [jsx("path", { d: PIN_BODY, fill: primaryColor }), dot && jsx("circle", { ...PIN_DOT, fill: accentColor, opacity: accentOpacity })] })),
338
+ outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: PIN_BODY, stroke: primaryColor, strokeWidth: strokeWidth, strokeLinejoin: "miter", fill: "none" }), dot && (jsx("circle", { ...PIN_DOT, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }))] })),
339
+ duotone: filled,
340
+ vivid: filled,
341
+ },
342
+ });
343
+ }
344
+ const NtdPin = /* @__PURE__ */ pinIcon('NtdPin', false);
345
+ const NtdMapPin = /* @__PURE__ */ pinIcon('NtdMapPin', true);
321
346
  const NtdSun = /* @__PURE__ */ createIcon({
322
347
  displayName: 'NtdSun',
323
348
  paths: {
@@ -332,7 +357,7 @@ const NtdMoon = /* @__PURE__ */ createIcon({
332
357
  paths: {
333
358
  solid: ({ primaryColor, strokeWidth: _strokeWidth }) => (jsx("path", { d: "M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z", fill: primaryColor })),
334
359
  outline: ({ primaryColor, strokeWidth }) => (jsx("path", { d: "M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })),
335
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
360
+ duotone: swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] }))),
336
361
  vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z", fill: primaryColor }), jsx("path", { d: "M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z", fill: "white", opacity: "0.1" })] })),
337
362
  },
338
363
  });
@@ -342,7 +367,6 @@ const NtdCursor = /* @__PURE__ */ createIcon({
342
367
  paths: {
343
368
  solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M5 3l12 8-5 1.5L14 20l-3 1-2-7-4 2z", fill: primaryColor }), jsx("line", { x1: "16", y1: "5", x2: "20", y2: "3", stroke: accentColor, strokeWidth: strokeWidth, opacity: accentOpacity })] })),
344
369
  outline: ({ primaryColor, strokeWidth }) => (jsx("path", { d: "M5 3l12 8-5 1.5L14 20l-3 1-2-7-4 2z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })),
345
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M5 3l12 8-5 1.5L14 20l-3 1-2-7-4 2z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M5 3l12 8-5 1.5L14 20l-3 1-2-7-4 2z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
346
370
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M5 3l12 8-5 1.5L14 20l-3 1-2-7-4 2z", fill: primaryColor }), jsx("path", { d: "M5 3l12 8-5 1.5L14 20l-3 1-2-7-4 2z", fill: "white", opacity: "0.1" }), jsx("line", { x1: "16", y1: "5", x2: "20", y2: "3", stroke: secondaryColor, strokeWidth: "1.8" })] })),
347
371
  },
348
372
  });
@@ -351,9 +375,9 @@ const NtdWireframe = /* @__PURE__ */ createIcon({
351
375
  paths: {
352
376
  solid: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "3", y: "4", width: "18", height: "16", rx: "2", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M3 9h18M8 9v11M14 9v11", stroke: primaryColor, strokeWidth: strokeWidth })] })),
353
377
  outline: ({ primaryColor, strokeWidth }) => (jsx("path", { d: "M3 4h18v16H3zM3 9h18M8 9v11M14 9v11", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })),
354
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "3", y: "4", width: "18", height: "16", rx: "2", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M3 4h18v16H3zM3 9h18M8 9v11M14 9v11", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
378
+ duotone: swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "3", y: "4", width: "18", height: "16", rx: "2", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M3 4h18v16H3zM3 9h18M8 9v11M14 9v11", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] }))),
355
379
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("rect", { x: "3", y: "4", width: "18", height: "16", rx: "2", fill: primaryColor }), jsx("rect", { x: "3", y: "4", width: "18", height: "16", rx: "2", fill: "white", opacity: "0.1" }), jsx("path", { d: "M3 9h18M8 9v11M14 9v11", stroke: secondaryColor, strokeWidth: "1.8" })] })),
356
380
  },
357
381
  });
358
382
 
359
- 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 };
383
+ 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 };
@@ -1,6 +1,6 @@
1
1
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
2
  import { createIcon } from '../createIcon.js';
3
- import { detailColor } from '../iconParts.js';
3
+ import { swapDuotone, within } from '../iconParts.js';
4
4
 
5
5
  const NtdSunrise = /* @__PURE__ */ createIcon({
6
6
  displayName: 'NtdSunrise',
@@ -25,7 +25,6 @@ const NtdRain = /* @__PURE__ */ createIcon({
25
25
  paths: {
26
26
  solid: ({ primaryColor, secondaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M20 17.58A5 5 0 0018 8h-1.26A8 8 0 104 16.25", fill: primaryColor }), jsx("line", { x1: "16", y1: "16", x2: "16", y2: "20", stroke: secondaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "8", y1: "16", x2: "8", y2: "20", stroke: secondaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "12", y1: "18", x2: "12", y2: "22", stroke: secondaryColor, strokeWidth: strokeWidth })] })),
27
27
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M20 17.58A5 5 0 0018 8h-1.26A8 8 0 104 16.25", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("line", { x1: "16", y1: "16", x2: "16", y2: "20", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "8", y1: "16", x2: "8", y2: "20", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "12", y1: "18", x2: "12", y2: "22", stroke: primaryColor, strokeWidth: strokeWidth })] })),
28
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M20 17.58A5 5 0 0018 8h-1.26A8 8 0 104 16.25", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M20 17.58A5 5 0 0018 8h-1.26A8 8 0 104 16.25", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("line", { x1: "16", y1: "16", x2: "16", y2: "20", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "8", y1: "16", x2: "8", y2: "20", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "12", y1: "18", x2: "12", y2: "22", stroke: primaryColor, strokeWidth: strokeWidth })] })),
29
28
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M20 17.58A5 5 0 0018 8h-1.26A8 8 0 104 16.25", fill: primaryColor }), jsx("path", { d: "M20 17.58A5 5 0 0018 8h-1.26A8 8 0 104 16.25", fill: "white", opacity: "0.1" }), jsx("line", { x1: "16", y1: "16", x2: "16", y2: "20", stroke: secondaryColor, strokeWidth: "1.8" }), jsx("line", { x1: "8", y1: "16", x2: "8", y2: "20", stroke: "#F59E0B", strokeWidth: "1.5" }), jsx("line", { x1: "12", y1: "18", x2: "12", y2: "22", stroke: "#F59E0B", strokeWidth: "1.5" })] })),
30
29
  },
31
30
  });
@@ -34,7 +33,6 @@ const NtdSnow = /* @__PURE__ */ createIcon({
34
33
  paths: {
35
34
  solid: ({ primaryColor, secondaryColor, strokeWidth: _strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M20 17.58A5 5 0 0018 8h-1.26A8 8 0 104 16.25", fill: primaryColor }), jsx("circle", { cx: "8", cy: "19", r: "1", fill: secondaryColor }), jsx("circle", { cx: "12", cy: "21", r: "1", fill: secondaryColor }), jsx("circle", { cx: "16", cy: "19", r: "1", fill: secondaryColor })] })),
36
35
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M20 17.58A5 5 0 0018 8h-1.26A8 8 0 104 16.25", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("line", { x1: "8", y1: "16", x2: "8", y2: "20", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "12", y1: "18", x2: "12", y2: "22", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "16", y1: "16", x2: "16", y2: "20", stroke: primaryColor, strokeWidth: strokeWidth })] })),
37
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M20 17.58A5 5 0 0018 8h-1.26A8 8 0 104 16.25", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M20 17.58A5 5 0 0018 8h-1.26A8 8 0 104 16.25", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("circle", { cx: "8", cy: "19", r: "1", fill: primaryColor }), jsx("circle", { cx: "12", cy: "21", r: "1", fill: primaryColor }), jsx("circle", { cx: "16", cy: "19", r: "1", fill: primaryColor })] })),
38
36
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M20 17.58A5 5 0 0018 8h-1.26A8 8 0 104 16.25", fill: primaryColor }), jsx("path", { d: "M20 17.58A5 5 0 0018 8h-1.26A8 8 0 104 16.25", fill: "white", opacity: "0.08" }), jsx("circle", { cx: "8", cy: "19", r: "1", fill: secondaryColor }), jsx("circle", { cx: "12", cy: "21", r: "1", fill: "#F59E0B" }), jsx("circle", { cx: "16", cy: "19", r: "1", fill: "#60A5FA" })] })),
39
37
  },
40
38
  });
@@ -43,7 +41,6 @@ const NtdThunderstorm = /* @__PURE__ */ createIcon({
43
41
  paths: {
44
42
  solid: ({ primaryColor, secondaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M19 16.9A5 5 0 0018 7h-1.26a8 8 0 10-11.62 9", fill: primaryColor }), jsx("polyline", { points: "13,11 9,17 13,17 11,21", fill: "none", stroke: secondaryColor, strokeWidth: strokeWidth })] })),
45
43
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M19 16.9A5 5 0 0018 7h-1.26a8 8 0 10-11.62 9", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("polyline", { points: "13,11 9,17 13,17 11,21", fill: "none", stroke: primaryColor, strokeWidth: strokeWidth })] })),
46
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M19 16.9A5 5 0 0018 7h-1.26a8 8 0 10-11.62 9", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M19 16.9A5 5 0 0018 7h-1.26a8 8 0 10-11.62 9", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("polyline", { points: "13,11 9,17 13,17 11,21", fill: "none", stroke: primaryColor, strokeWidth: strokeWidth })] })),
47
44
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M19 16.9A5 5 0 0018 7h-1.26a8 8 0 10-11.62 9", fill: primaryColor }), jsx("path", { d: "M19 16.9A5 5 0 0018 7h-1.26a8 8 0 10-11.62 9", fill: "white", opacity: "0.1" }), jsx("polyline", { points: "13,11 9,17 13,17 11,21", fill: "none", stroke: secondaryColor, strokeWidth: "1.8" })] })),
48
45
  },
49
46
  });
@@ -65,10 +62,13 @@ const NtdWind = /* @__PURE__ */ createIcon({
65
62
  */
66
63
  const NtdDroplet = /* @__PURE__ */ createIcon({
67
64
  displayName: 'NtdDroplet',
65
+ perfectStackX: 12,
66
+ perfectStackY: 14,
67
+ perfectStackSize: 0.4,
68
68
  paths: {
69
69
  solid: ({ primaryColor, strokeWidth: _strokeWidth }) => (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 })),
70
70
  outline: ({ primaryColor, strokeWidth }) => (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" })),
71
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [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 }), 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" })] })),
71
+ duotone: swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [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 }), 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" })] }))),
72
72
  vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxs(Fragment, { children: [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 }), 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" })] })),
73
73
  },
74
74
  });
@@ -79,7 +79,6 @@ const NtdThermometer = /* @__PURE__ */ createIcon({
79
79
  paths: {
80
80
  solid: ({ primaryColor, secondaryColor, strokeWidth: _strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M14 14.76V3.5a2.5 2.5 0 00-5 0v11.26a4.5 4.5 0 105 0z", fill: primaryColor }), jsx("circle", { cx: "11.5", cy: "17.5", r: "2", fill: secondaryColor })] })),
81
81
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [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" }), jsx("circle", { cx: "11.5", cy: "17.5", r: "2", fill: primaryColor })] })),
82
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [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 }), 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" }), jsx("circle", { cx: "11.5", cy: "17.5", r: "2", fill: primaryColor })] })),
83
82
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M14 14.76V3.5a2.5 2.5 0 00-5 0v11.26a4.5 4.5 0 105 0z", fill: primaryColor }), 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" }), jsx("circle", { cx: "11.5", cy: "17.5", r: "2", fill: secondaryColor })] })),
84
83
  },
85
84
  });
@@ -88,7 +87,7 @@ const NtdUmbrella = /* @__PURE__ */ createIcon({
88
87
  paths: {
89
88
  solid: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M23 12a11 11 0 00-22 0", fill: primaryColor }), jsx("path", { d: "M12 12v8a2 2 0 004 0", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
90
89
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M23 12a11 11 0 00-22 0", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M12 12v8a2 2 0 004 0", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
91
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M23 12a11 11 0 00-22 0", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M23 12a11 11 0 00-22 0", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M12 12v8a2 2 0 004 0", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
90
+ duotone: swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M23 12a11 11 0 00-22 0", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M23 12a11 11 0 00-22 0", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M12 12v8a2 2 0 004 0", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] }))),
92
91
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M23 12a11 11 0 00-22 0", fill: primaryColor }), jsx("path", { d: "M23 12a11 11 0 00-22 0", fill: "white", opacity: "0.1" }), jsx("path", { d: "M12 12v8a2 2 0 004 0", stroke: secondaryColor, strokeWidth: "1.8", fill: "none" })] })),
93
92
  },
94
93
  });
@@ -97,7 +96,7 @@ const NtdLeaf = /* @__PURE__ */ createIcon({
97
96
  paths: {
98
97
  solid: ({ primaryColor, strokeWidth: _strokeWidth }) => (jsx(Fragment, { children: 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 }) })),
99
98
  outline: ({ primaryColor, strokeWidth }) => (jsx(Fragment, { children: 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" }) })),
100
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [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 }), 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" })] })),
99
+ duotone: swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [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 }), 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
100
  vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxs(Fragment, { children: [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 }), 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" })] })),
102
101
  },
103
102
  });
@@ -106,7 +105,6 @@ const NtdFlower = /* @__PURE__ */ createIcon({
106
105
  paths: {
107
106
  solid: ({ primaryColor, secondaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("circle", { cx: "12", cy: "8", r: "3", fill: primaryColor }), jsx("circle", { cx: "8", cy: "11", r: "3", fill: primaryColor, opacity: 0.8 }), jsx("circle", { cx: "16", cy: "11", r: "3", fill: primaryColor, opacity: 0.8 }), jsx("circle", { cx: "9", cy: "15", r: "3", fill: primaryColor, opacity: 0.6 }), jsx("circle", { cx: "15", cy: "15", r: "3", fill: primaryColor, opacity: 0.6 }), jsx("circle", { cx: "12", cy: "12", r: "2.5", fill: secondaryColor }), jsx("line", { x1: "12", y1: "14.5", x2: "12", y2: "22", stroke: primaryColor, strokeWidth: strokeWidth })] })),
108
107
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("circle", { cx: "12", cy: "8", r: "3", stroke: primaryColor, strokeWidth: "1.5", fill: "none" }), jsx("circle", { cx: "8", cy: "11", r: "3", stroke: primaryColor, strokeWidth: "1.5", fill: "none" }), jsx("circle", { cx: "16", cy: "11", r: "3", stroke: primaryColor, strokeWidth: "1.5", fill: "none" }), jsx("circle", { cx: "9", cy: "15", r: "3", stroke: primaryColor, strokeWidth: "1.5", fill: "none" }), jsx("circle", { cx: "15", cy: "15", r: "3", stroke: primaryColor, strokeWidth: "1.5", fill: "none" }), jsx("circle", { cx: "12", cy: "12", r: "2", fill: primaryColor }), jsx("line", { x1: "12", y1: "14.5", x2: "12", y2: "22", stroke: primaryColor, strokeWidth: strokeWidth })] })),
109
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("circle", { cx: "12", cy: "8", r: "3", fill: secondaryColor, opacity: secondaryOpacity }), jsx("circle", { cx: "8", cy: "11", r: "3", fill: secondaryColor, opacity: secondaryOpacity }), jsx("circle", { cx: "16", cy: "11", r: "3", fill: secondaryColor, opacity: secondaryOpacity }), jsx("circle", { cx: "9", cy: "15", r: "3", fill: secondaryColor, opacity: secondaryOpacity }), jsx("circle", { cx: "15", cy: "15", r: "3", fill: secondaryColor, opacity: secondaryOpacity }), jsx("circle", { cx: "12", cy: "12", r: "2.5", fill: primaryColor }), jsx("line", { x1: "12", y1: "14.5", x2: "12", y2: "22", stroke: primaryColor, strokeWidth: strokeWidth })] })),
110
108
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("circle", { cx: "12", cy: "8", r: "3", fill: primaryColor }), jsx("circle", { cx: "12", cy: "8", r: "3", fill: "white", opacity: "0.08" }), jsx("circle", { cx: "8", cy: "11", r: "3", fill: secondaryColor }), jsx("circle", { cx: "16", cy: "11", r: "3", fill: "#F59E0B" }), jsx("circle", { cx: "9", cy: "15", r: "3", fill: "#60A5FA" }), jsx("circle", { cx: "15", cy: "15", r: "3", fill: "#E2E8F0" }), jsx("circle", { cx: "12", cy: "12", r: "2.5", fill: "#E2E8F0" }), jsx("line", { x1: "12", y1: "14.5", x2: "12", y2: "22", stroke: "white", strokeWidth: "1" })] })),
111
109
  },
112
110
  });
@@ -115,20 +113,20 @@ const NtdTree = /* @__PURE__ */ createIcon({
115
113
  paths: {
116
114
  solid: ({ primaryColor, secondaryColor, strokeWidth: _strokeWidth }) => (jsxs(Fragment, { children: [jsx("polygon", { points: "12,2 4,14 8,14 5,22 19,22 16,14 20,14", fill: primaryColor }), jsx("rect", { x: "10", y: "19", width: "4", height: "4", fill: secondaryColor })] })),
117
115
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("polygon", { points: "12,2 4,14 8,14 5,22 19,22 16,14 20,14", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("line", { x1: "12", y1: "22", x2: "12", y2: "18", stroke: primaryColor, strokeWidth: strokeWidth })] })),
118
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("polygon", { points: "12,2 4,14 8,14 5,22 19,22 16,14 20,14", fill: secondaryColor, opacity: secondaryOpacity }), jsx("polygon", { points: "12,2 4,14 8,14 5,22 19,22 16,14 20,14", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
119
116
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("polygon", { points: "12,2 4,14 8,14 5,22 19,22 16,14 20,14", fill: primaryColor }), jsx("polygon", { points: "12,2 4,14 8,14 5,22 19,22 16,14 20,14", fill: "white", opacity: "0.08" }), jsx("rect", { x: "10", y: "19", width: "4", height: "4", fill: secondaryColor })] })),
120
117
  },
121
118
  });
122
119
  // NtdMountain: a snowcap that follows the slopes down to an edge with three uneven notches, like a
123
- // price chart (it had two even ones). The snow is secondary — in the accent colour, which is the
124
- // page colour by default, it did not show; the outline draws the snow line too.
120
+ // price chart (it had two even ones). In solid (and the variants drawn from it) the whole mountain
121
+ // is primary and the snow line is a cut in the accent colour, clipped to the slopes; duotone and
122
+ // vivid keep the snow secondary. The outline draws the snow line too.
125
123
  const MOUNTAIN = 'M12 2L2 22h20L12 2z';
126
124
  const MOUNTAIN_SNOW = 'M12 2L15 8L14 10.2L13.1 9.4L11.9 11L10.6 9.1L9.5 10.4L8.4 9.2Z';
127
125
  const MOUNTAIN_SNOW_LINE = 'M8.4 9.2L9.5 10.4L10.6 9.1L11.9 11L13.1 9.4L14 10.2L15 8';
128
126
  const NtdMountain = /* @__PURE__ */ createIcon({
129
127
  displayName: 'NtdMountain',
130
128
  paths: {
131
- solid: (props) => (jsxs(Fragment, { children: [jsx("path", { d: MOUNTAIN, fill: props.primaryColor }), jsx("path", { d: MOUNTAIN_SNOW, fill: detailColor(props) })] })),
129
+ solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth, uid }) => (jsxs(Fragment, { children: [jsx("path", { d: MOUNTAIN, fill: primaryColor }), within(uid, 'snow', jsx("path", { d: MOUNTAIN }), jsx("path", { d: MOUNTAIN_SNOW_LINE, stroke: accentColor, strokeOpacity: accentOpacity, strokeWidth: strokeWidth, strokeLinejoin: "miter", fill: "none" }))] })),
132
130
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: MOUNTAIN, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: MOUNTAIN_SNOW_LINE, stroke: primaryColor, strokeWidth: strokeWidth * 0.8, fill: "none" })] })),
133
131
  duotone: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: MOUNTAIN, fill: primaryColor }), jsx("path", { d: MOUNTAIN_SNOW, fill: secondaryColor })] })),
134
132
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: MOUNTAIN, fill: primaryColor }), jsx("path", { d: MOUNTAIN_SNOW, fill: secondaryColor })] })),
@@ -152,7 +150,6 @@ const NtdFire = /* @__PURE__ */ createIcon({
152
150
  paths: {
153
151
  solid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: FIRE, fill: primaryColor }), jsx("path", { d: FIRE_CORE, fill: secondaryColor })] })),
154
152
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: FIRE, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: FIRE_CORE, stroke: primaryColor, strokeWidth: "1.5", fill: "none" })] })),
155
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: FIRE, fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: FIRE, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: FIRE_CORE, fill: primaryColor, opacity: 0.6 })] })),
156
153
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: FIRE, fill: primaryColor }), jsx("path", { d: FIRE, fill: "white", opacity: "0.08" }), jsx("path", { d: FIRE_CORE, fill: secondaryColor })] })),
157
154
  },
158
155
  });
@@ -176,7 +173,6 @@ const NtdCompass = /* @__PURE__ */ createIcon({
176
173
  paths: {
177
174
  solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth: _strokeWidth }) => (jsxs(Fragment, { children: [jsx("circle", { cx: "12", cy: "12", r: "10", fill: primaryColor }), jsx("polygon", { points: "16.24,7.76 14.12,14.12 7.76,16.24 9.88,9.88", fill: accentColor, opacity: accentOpacity })] })),
178
175
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("circle", { cx: "12", cy: "12", r: "10", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), 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" })] })),
179
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("circle", { cx: "12", cy: "12", r: "10", fill: secondaryColor, opacity: secondaryOpacity }), jsx("circle", { cx: "12", cy: "12", r: "10", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("polygon", { points: "16.24,7.76 14.12,14.12 7.76,16.24 9.88,9.88", fill: primaryColor })] })),
180
176
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("circle", { cx: "12", cy: "12", r: "10", fill: primaryColor }), jsx("circle", { cx: "12", cy: "12", r: "10", fill: "white", opacity: "0.08" }), jsx("polygon", { points: "16.24,7.76 14.12,14.12 7.76,16.24 9.88,9.88", fill: secondaryColor })] })),
181
177
  },
182
178
  });
@@ -185,7 +181,7 @@ const NtdAnchor = /* @__PURE__ */ createIcon({
185
181
  paths: {
186
182
  solid: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("circle", { cx: "12", cy: "5", r: "3", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("line", { x1: "12", y1: "8", x2: "12", y2: "21", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("path", { d: "M5 12H2a10 10 0 0020 0h-3", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
187
183
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("circle", { cx: "12", cy: "5", r: "3", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("line", { x1: "12", y1: "8", x2: "12", y2: "21", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("path", { d: "M5 12H2a10 10 0 0020 0h-3", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
188
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M5 12H2a10 10 0 0020 0h-3", stroke: secondaryColor, strokeWidth: strokeWidth, fill: "none", opacity: secondaryOpacity + 0.2 }), jsx("circle", { cx: "12", cy: "5", r: "3", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("line", { x1: "12", y1: "8", x2: "12", y2: "21", stroke: primaryColor, strokeWidth: strokeWidth })] })),
184
+ duotone: swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M5 12H2a10 10 0 0020 0h-3", stroke: secondaryColor, strokeWidth: strokeWidth, fill: "none", opacity: secondaryOpacity + 0.2 }), jsx("circle", { cx: "12", cy: "5", r: "3", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("line", { x1: "12", y1: "8", x2: "12", y2: "21", stroke: primaryColor, strokeWidth: strokeWidth })] }))),
189
185
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("circle", { cx: "12", cy: "5", r: "3", stroke: primaryColor, strokeWidth: "2", fill: "none" }), jsx("line", { x1: "12", y1: "8", x2: "12", y2: "21", stroke: secondaryColor, strokeWidth: "1.8" }), jsx("path", { d: "M5 12H2a10 10 0 0020 0h-3", stroke: "#F59E0B", strokeWidth: "1.5", fill: "none" })] })),
190
186
  },
191
187
  });
@@ -194,7 +190,7 @@ const NtdFeather = /* @__PURE__ */ createIcon({
194
190
  paths: {
195
191
  solid: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M20.24 12.24a6 6 0 00-8.49-8.49L5 10.5V19h8.5z", fill: primaryColor }), jsx("line", { x1: "16", y1: "8", x2: "2", y2: "22", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "17.5", y1: "15", x2: "9", y2: "15", stroke: primaryColor, strokeWidth: strokeWidth })] })),
196
192
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M20.24 12.24a6 6 0 00-8.49-8.49L5 10.5V19h8.5z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("line", { x1: "16", y1: "8", x2: "2", y2: "22", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "17.5", y1: "15", x2: "9", y2: "15", stroke: primaryColor, strokeWidth: strokeWidth })] })),
197
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M20.24 12.24a6 6 0 00-8.49-8.49L5 10.5V19h8.5z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M20.24 12.24a6 6 0 00-8.49-8.49L5 10.5V19h8.5z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("line", { x1: "16", y1: "8", x2: "2", y2: "22", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "17.5", y1: "15", x2: "9", y2: "15", stroke: primaryColor, strokeWidth: strokeWidth })] })),
193
+ duotone: swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M20.24 12.24a6 6 0 00-8.49-8.49L5 10.5V19h8.5z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M20.24 12.24a6 6 0 00-8.49-8.49L5 10.5V19h8.5z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("line", { x1: "16", y1: "8", x2: "2", y2: "22", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "17.5", y1: "15", x2: "9", y2: "15", stroke: primaryColor, strokeWidth: strokeWidth })] }))),
198
194
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M20.24 12.24a6 6 0 00-8.49-8.49L5 10.5V19h8.5z", fill: primaryColor }), jsx("path", { d: "M20.24 12.24a6 6 0 00-8.49-8.49L5 10.5V19h8.5z", fill: "white", opacity: "0.1" }), jsx("line", { x1: "16", y1: "8", x2: "2", y2: "22", stroke: secondaryColor, strokeWidth: "1.8" }), jsx("line", { x1: "17.5", y1: "15", x2: "9", y2: "15", stroke: "#F59E0B", strokeWidth: "1.5" })] })),
199
195
  },
200
196
  });
package/dist/esm/index.js CHANGED
@@ -8,7 +8,7 @@ export { AnimationController, InteractiveIcon, AnimationController as NiceAnimat
8
8
  export { batchExportIcons, copyIconToClipboard, downloadIconAsPng, downloadIconAsSvg, exportIconToDataUrl, exportIconToFigmaNode, exportIconToSvgString, generateFigmaPluginManifest } from './figmaExport.js';
9
9
  export { NtdArrowDown, NtdArrowLeft, NtdArrowRight, NtdArrowUp, NtdChevronDown, NtdChevronLeft, NtdChevronRight, NtdChevronUp, NtdClose, NtdExternalLink, NtdMenu, NtdMoreHorizontal, NtdMoreVertical, NtdRefresh } from './icons/navigation.js';
10
10
  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 './icons/actions.js';
11
- 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 './icons/ui.js';
11
+ 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 './icons/ui.js';
12
12
  export { NtdBiodegradable, NtdCarbonFootprint, NtdCo2, NtdCompost, NtdEcoFriendly, NtdEvCharger, NtdNetZero, NtdOrganic, NtdPlantTree, NtdRecycle, NtdSolarPanel, NtdTrashSort, NtdWildlife, NtdWindTurbine, sustainabilityIcons } from './icons/sustainability.js';
13
13
  export { NtdAccessibility, NtdAssistiveTech, NtdAudioDescription, NtdBlind, NtdBraille, NtdClosedCaptions, NtdDeaf, NtdDyslexia, NtdEasyRead, NtdHearingAid, NtdScreenReader, NtdSignLanguage, NtdWheelchair, accessibilityIcons } from './icons/accessibility.js';
14
14
  export { NtdAudit, NtdCcpa, NtdCertified, NtdCompliance, NtdContract, NtdCookieConsent, NtdCopyright, NtdGdpr, NtdLegalDocument, NtdPatent, NtdPrivacyPolicy, NtdTermsOfService, NtdTrademark, legalIcons } from './icons/legal.js';
@@ -104,6 +104,7 @@ const NAME_MAP = {
104
104
  globe: 'NtdGlobe',
105
105
  map: 'NtdMap',
106
106
  pin: 'NtdPin',
107
+ 'map-pin': 'NtdMapPin',
107
108
  shield: 'NtdShield',
108
109
  // Media
109
110
  play: 'NtdPlay',
package/dist/esm/rsc.js CHANGED
@@ -33,7 +33,7 @@ function createIconRSC(options) {
33
33
  const { displayName, viewBox = '0 0 24 24', paths } = options;
34
34
  function IconRSC(props) {
35
35
  var _a;
36
- 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;
36
+ 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;
37
37
  // Resolve size
38
38
  const resolvedSize = typeof size === 'number' ? size : SIZE_MAP[size] || SIZE_MAP.md;
39
39
  // Resolve colors with semantic color support