@nice2dev/icons 1.3.7 → 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 +44 -0
  2. package/README.md +33 -16
  3. package/dist/cjs/NiceIconStacker.js +16 -4
  4. package/dist/cjs/createIcon.js +17 -4
  5. package/dist/cjs/iconParts.js +24 -2
  6. package/dist/cjs/iconStack.js +5 -5
  7. package/dist/cjs/icons/accessibility.js +9 -8
  8. package/dist/cjs/icons/actions.js +38 -35
  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 +14 -16
  12. package/dist/cjs/icons/devtech.js +17 -15
  13. package/dist/cjs/icons/ecommerce.js +7 -12
  14. package/dist/cjs/icons/education.js +14 -16
  15. package/dist/cjs/icons/files.js +46 -22
  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 +9 -12
  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 +9 -9
  36. package/dist/cjs/icons/ui.js +55 -31
  37. package/dist/cjs/icons/weather.js +8 -13
  38. package/dist/cjs/index.js +1 -0
  39. package/dist/cjs/nicetodev-icons.css +1 -1
  40. package/dist/cjs/resolver.js +1 -0
  41. package/dist/cjs/stacking.js +38 -11
  42. package/dist/esm/NiceIconStacker.js +18 -6
  43. package/dist/esm/createIcon.js +18 -5
  44. package/dist/esm/iconParts.js +24 -3
  45. package/dist/esm/iconStack.js +5 -5
  46. package/dist/esm/icons/accessibility.js +9 -8
  47. package/dist/esm/icons/actions.js +39 -36
  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 +15 -17
  51. package/dist/esm/icons/devtech.js +17 -15
  52. package/dist/esm/icons/ecommerce.js +7 -12
  53. package/dist/esm/icons/education.js +14 -16
  54. package/dist/esm/icons/files.js +47 -23
  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 +9 -12
  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 +10 -10
  75. package/dist/esm/icons/ui.js +56 -33
  76. package/dist/esm/icons/weather.js +9 -14
  77. package/dist/esm/index.js +1 -1
  78. package/dist/esm/nicetodev-icons.css +1 -1
  79. package/dist/esm/resolver.js +1 -0
  80. package/dist/esm/stacking.js +36 -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 +12 -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 +25 -5
  87. package/dist/types/types.d.ts +11 -7
  88. package/package.json +2 -2
@@ -1,5 +1,6 @@
1
1
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
2
  import { createIcon } from '../createIcon.js';
3
+ import { swapDuotone } from '../iconParts.js';
3
4
 
4
5
  /* ────────────────────────────────────────────────────────────────────────────
5
6
  ACADEMIC
@@ -18,7 +19,7 @@ const NtdDiploma = /* @__PURE__ */ createIcon({
18
19
  paths: {
19
20
  solid: ({ primaryColor }) => (jsxs(Fragment, { children: [jsx("rect", { x: "3", y: "4", width: "18", height: "14", rx: "2", fill: primaryColor }), jsx("path", { d: "M7 8h10M7 11h10M7 14h6", stroke: "white", strokeWidth: "1.5", strokeLinecap: "round" }), jsx("circle", { cx: "17", cy: "14", r: "2", fill: "white" }), jsx("path", { d: "M16 16l-1 4 2-1 2 1-1-4", fill: primaryColor })] })),
20
21
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "3", y: "4", width: "18", height: "14", rx: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M7 8h10M7 11h10M7 14h6", stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round" }), jsx("circle", { cx: "17", cy: "14", r: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M16 16l-1 4 2-1 2 1-1-4", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
21
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "3", y: "4", width: "18", height: "14", rx: "2", fill: secondaryColor, opacity: secondaryOpacity }), jsx("rect", { x: "3", y: "4", width: "18", height: "14", rx: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M7 8h10M7 11h10M7 14h6", stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round" }), jsx("circle", { cx: "17", cy: "14", r: "2", fill: primaryColor }), jsx("path", { d: "M16 16l-1 4 2-1 2 1-1-4", fill: primaryColor })] })),
22
+ duotone: swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "3", y: "4", width: "18", height: "14", rx: "2", fill: secondaryColor, opacity: secondaryOpacity }), jsx("rect", { x: "3", y: "4", width: "18", height: "14", rx: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M7 8h10M7 11h10M7 14h6", stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round" }), jsx("circle", { cx: "17", cy: "14", r: "2", fill: primaryColor }), jsx("path", { d: "M16 16l-1 4 2-1 2 1-1-4", fill: primaryColor })] }))),
22
23
  vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxs(Fragment, { children: [jsx("rect", { x: "3", y: "4", width: "18", height: "14", rx: "2", fill: primaryColor }), jsx("rect", { x: "3", y: "4", width: "18", height: "14", rx: "2", fill: "white", opacity: "0.08" }), jsx("circle", { cx: "17", cy: "14", r: "2", fill: "white" }), jsx("path", { d: "M16 16l-1 4 2-1 2 1-1-4", fill: "#F59E0B" }), jsx("path", { d: "M7 8h10M7 11h10M7 14h6", stroke: "white", strokeWidth: "1", strokeLinecap: "round" })] })),
23
24
  },
24
25
  });
@@ -27,7 +28,7 @@ const NtdSchool = /* @__PURE__ */ createIcon({
27
28
  paths: {
28
29
  solid: ({ primaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M12 3L2 9v12h8v-6h4v6h8V9L12 3z", fill: primaryColor }), jsx("rect", { x: "10", y: "9", width: "4", height: "5", rx: "0.5", fill: "white" }), jsx("path", { d: "M12 5v4", stroke: primaryColor, strokeWidth: "2", strokeLinecap: "round" })] })),
29
30
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M12 3L2 9v12h8v-6h4v6h8V9L12 3z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none", strokeLinejoin: "round" }), jsx("rect", { x: "10", y: "9", width: "4", height: "5", rx: "0.5", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
30
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M12 3L2 9v12h8v-6h4v6h8V9L12 3z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M12 3L2 9v12h8v-6h4v6h8V9L12 3z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none", strokeLinejoin: "round" }), jsx("rect", { x: "10", y: "9", width: "4", height: "5", rx: "0.5", fill: primaryColor })] })),
31
+ duotone: swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M12 3L2 9v12h8v-6h4v6h8V9L12 3z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M12 3L2 9v12h8v-6h4v6h8V9L12 3z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none", strokeLinejoin: "round" }), jsx("rect", { x: "10", y: "9", width: "4", height: "5", rx: "0.5", fill: primaryColor })] }))),
31
32
  vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M12 3L2 9v12h8v-6h4v6h8V9L12 3z", fill: primaryColor }), jsx("path", { d: "M12 3L2 9v12h8v-6h4v6h8V9L12 3z", fill: "white", opacity: "0.08" }), jsx("rect", { x: "10", y: "9", width: "4", height: "5", rx: "0.5", fill: "white" }), jsx("path", { d: "M12 5v4", stroke: "white", strokeWidth: "1", strokeLinecap: "round" })] })),
32
33
  },
33
34
  });
@@ -59,8 +60,6 @@ const BOOK_TITLE = 'M9.5 6.75h6.5';
59
60
  /** The title below NtdBookBookmark's ribbon. */
60
61
  const BOOK_TITLE_LOW = 'M9.5 10h6.5';
61
62
  const BOOK_OUTLINE = 'M4.5 17.5V6A2.5 2.5 0 017 3.5h12a1 1 0 011 1v10H7.5a3 3 0 000 6H20M18.7 14.5v6';
62
- /** The inside of the outline, for duotone's fill under it. */
63
- const BOOK_OUTLINE_FILL = 'M7 3.5h12a1 1 0 011 1v10h-1.3v6H7.5a3 3 0 01-3-3V6A2.5 2.5 0 017 3.5z';
64
63
  /** The book, with the ribbon bookmark or without it. */
65
64
  function bookIcon(displayName, ribbon) {
66
65
  const title = ribbon ? BOOK_TITLE_LOW : BOOK_TITLE;
@@ -69,7 +68,7 @@ function bookIcon(displayName, ribbon) {
69
68
  paths: {
70
69
  solid: ({ primaryColor, accentColor, accentOpacity }) => (jsxs(Fragment, { children: [jsx("path", { d: BOOK_SILHOUETTE, fill: primaryColor }), jsxs("g", { fill: accentColor, opacity: accentOpacity, children: [jsx("path", { d: BOOK_PAGES }), ribbon && jsx("path", { d: BOOK_RIBBON }), jsx("path", { d: title, stroke: accentColor, strokeWidth: "1.5", fill: "none" })] })] })),
71
70
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: `${BOOK_OUTLINE}${title}`, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), ribbon && (jsx("path", { d: "M9.5 4v4l1.75-1.3L13 8V4", stroke: primaryColor, strokeWidth: strokeWidth * 0.75, fill: "none" }))] })),
72
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: BOOK_OUTLINE_FILL, fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: `${BOOK_OUTLINE}${title}`, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), ribbon && jsx("path", { d: BOOK_RIBBON, fill: primaryColor })] })),
71
+ // duotone (1.3.8): createIcon's default — the solid book, pages, ribbon and title secondary
73
72
  vivid: ({ primaryColor, secondaryColor, accentColor, accentOpacity }) => (jsxs(Fragment, { children: [jsx("path", { d: BOOK_SILHOUETTE, fill: primaryColor }), jsxs("g", { fill: accentColor, opacity: accentOpacity, children: [jsx("path", { d: BOOK_PAGES }), jsx("path", { d: title, stroke: accentColor, strokeWidth: "1.5", fill: "none" })] }), ribbon && jsx("path", { d: BOOK_RIBBON, fill: secondaryColor })] })),
74
73
  },
75
74
  });
@@ -81,7 +80,7 @@ const NtdOpenBook = /* @__PURE__ */ createIcon({
81
80
  paths: {
82
81
  solid: ({ primaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M2 4a2 2 0 012-2h6a2 2 0 012 2v16l-1-1-3 2-3-2-1 1V4z", fill: primaryColor }), jsx("path", { d: "M22 4a2 2 0 00-2-2h-6a2 2 0 00-2 2v16l1-1 3 2 3-2 1 1V4z", fill: primaryColor, opacity: "0.6" })] })),
83
82
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M2 4a2 2 0 012-2h6a2 2 0 012 2v16l-1-1-3 2-3-2-1 1V4z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M22 4a2 2 0 00-2-2h-6a2 2 0 00-2 2v16l1-1 3 2 3-2 1 1V4z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
84
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M2 4a2 2 0 012-2h6a2 2 0 012 2v16l-1-1-3 2-3-2-1 1V4z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M22 4a2 2 0 00-2-2h-6a2 2 0 00-2 2v16l1-1 3 2 3-2 1 1V4z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M2 4a2 2 0 012-2h6a2 2 0 012 2v16l-1-1-3 2-3-2-1 1V4z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M22 4a2 2 0 00-2-2h-6a2 2 0 00-2 2v16l1-1 3 2 3-2 1 1V4z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
83
+ duotone: swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M2 4a2 2 0 012-2h6a2 2 0 012 2v16l-1-1-3 2-3-2-1 1V4z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M22 4a2 2 0 00-2-2h-6a2 2 0 00-2 2v16l1-1 3 2 3-2 1 1V4z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M2 4a2 2 0 012-2h6a2 2 0 012 2v16l-1-1-3 2-3-2-1 1V4z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M22 4a2 2 0 00-2-2h-6a2 2 0 00-2 2v16l1-1 3 2 3-2 1 1V4z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] }))),
85
84
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M2 4a2 2 0 012-2h6a2 2 0 012 2v16l-1-1-3 2-3-2-1 1V4z", fill: primaryColor }), jsx("path", { d: "M2 4a2 2 0 012-2h6a2 2 0 012 2v16l-1-1-3 2-3-2-1 1V4z", fill: "white", opacity: "0.08" }), jsx("path", { d: "M22 4a2 2 0 00-2-2h-6a2 2 0 00-2 2v16l1-1 3 2 3-2 1 1V4z", fill: secondaryColor, opacity: "0.6" })] })),
86
85
  },
87
86
  });
@@ -107,7 +106,7 @@ const NtdPencil = /* @__PURE__ */ createIcon({
107
106
  paths: {
108
107
  solid: ({ primaryColor }) => (jsx("path", { d: "M21.17 2.83a2.83 2.83 0 00-4 0L3 17l-1 5 5-1L21.17 6.83a2.83 2.83 0 000-4zM17 7l-3-3", fill: primaryColor })),
109
108
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M21.17 2.83a2.83 2.83 0 00-4 0L3 17l-1 5 5-1L21.17 6.83a2.83 2.83 0 000-4z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none", strokeLinejoin: "round" }), jsx("path", { d: "M14 4l6 6", stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round" })] })),
110
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M21.17 2.83a2.83 2.83 0 00-4 0L3 17l-1 5 5-1L21.17 6.83a2.83 2.83 0 000-4z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M21.17 2.83a2.83 2.83 0 00-4 0L3 17l-1 5 5-1L21.17 6.83a2.83 2.83 0 000-4z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none", strokeLinejoin: "round" }), jsx("path", { d: "M14 4l6 6", stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round" })] })),
109
+ duotone: swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M21.17 2.83a2.83 2.83 0 00-4 0L3 17l-1 5 5-1L21.17 6.83a2.83 2.83 0 000-4z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M21.17 2.83a2.83 2.83 0 00-4 0L3 17l-1 5 5-1L21.17 6.83a2.83 2.83 0 000-4z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none", strokeLinejoin: "round" }), jsx("path", { d: "M14 4l6 6", stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round" })] }))),
111
110
  vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M21.17 2.83a2.83 2.83 0 00-4 0L3 17l-1 5 5-1L21.17 6.83a2.83 2.83 0 000-4zM17 7l-3-3", fill: primaryColor }), jsx("path", { d: "M21.17 2.83a2.83 2.83 0 00-4 0L3 17l-1 5 5-1L21.17 6.83a2.83 2.83 0 000-4zM17 7l-3-3", fill: "white", opacity: "0.1" })] })),
112
111
  },
113
112
  });
@@ -116,7 +115,7 @@ const NtdPen = /* @__PURE__ */ createIcon({
116
115
  paths: {
117
116
  solid: ({ primaryColor }) => (jsx("path", { d: "M12 2l10 10-8 8-2-2V8l-2 2v10l-8-8L12 2z", fill: primaryColor })),
118
117
  outline: ({ primaryColor, strokeWidth }) => (jsx("path", { d: "M12 2l10 10-8 8-2-2V8l-2 2v10l-8-8L12 2z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none", strokeLinejoin: "round" })),
119
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M12 2l10 10-8 8-2-2V8l-2 2v10l-8-8L12 2z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M12 2l10 10-8 8-2-2V8l-2 2v10l-8-8L12 2z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none", strokeLinejoin: "round" })] })),
118
+ duotone: swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M12 2l10 10-8 8-2-2V8l-2 2v10l-8-8L12 2z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M12 2l10 10-8 8-2-2V8l-2 2v10l-8-8L12 2z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none", strokeLinejoin: "round" })] }))),
120
119
  vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M12 2l10 10-8 8-2-2V8l-2 2v10l-8-8L12 2z", fill: primaryColor }), jsx("path", { d: "M12 2l10 10-8 8-2-2V8l-2 2v10l-8-8L12 2z", fill: "white", opacity: "0.1" })] })),
121
120
  },
122
121
  });
@@ -128,7 +127,7 @@ const NtdOnlineCourse = /* @__PURE__ */ createIcon({
128
127
  paths: {
129
128
  solid: ({ primaryColor }) => (jsxs(Fragment, { children: [jsx("rect", { x: "2", y: "3", width: "20", height: "14", rx: "2", fill: primaryColor }), jsx("path", { d: "M8 19h8M12 17v2", stroke: primaryColor, strokeWidth: "2", strokeLinecap: "round" }), jsx("path", { d: "M10 8l4 2-4 2V8z", fill: "white" })] })),
130
129
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "2", y: "3", width: "20", height: "14", rx: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M8 19h8M12 17v2", stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round" }), jsx("path", { d: "M10 8l4 2-4 2V8z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none", strokeLinejoin: "round" })] })),
131
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "2", y: "3", width: "20", height: "14", rx: "2", fill: secondaryColor, opacity: secondaryOpacity }), jsx("rect", { x: "2", y: "3", width: "20", height: "14", rx: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M8 19h8M12 17v2", stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round" }), jsx("path", { d: "M10 8l4 2-4 2V8z", fill: primaryColor })] })),
130
+ duotone: swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "2", y: "3", width: "20", height: "14", rx: "2", fill: secondaryColor, opacity: secondaryOpacity }), jsx("rect", { x: "2", y: "3", width: "20", height: "14", rx: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M8 19h8M12 17v2", stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round" }), jsx("path", { d: "M10 8l4 2-4 2V8z", fill: primaryColor })] }))),
132
131
  vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxs(Fragment, { children: [jsx("rect", { x: "2", y: "3", width: "20", height: "14", rx: "2", fill: primaryColor }), jsx("rect", { x: "2", y: "3", width: "20", height: "14", rx: "2", fill: "white", opacity: "0.08" }), jsx("path", { d: "M10 8l4 2-4 2V8z", fill: "white" }), jsx("path", { d: "M8 19h8M12 17v2", stroke: "white", strokeWidth: "1", strokeLinecap: "round" })] })),
133
132
  },
134
133
  });
@@ -137,7 +136,7 @@ const NtdWebinar = /* @__PURE__ */ createIcon({
137
136
  paths: {
138
137
  solid: ({ primaryColor }) => (jsxs(Fragment, { children: [jsx("rect", { x: "2", y: "4", width: "20", height: "13", rx: "2", fill: primaryColor }), jsx("circle", { cx: "12", cy: "10", r: "3", fill: "white" }), jsx("path", { d: "M6 14c0-2 2.5-3 6-3s6 1 6 3", stroke: "white", strokeWidth: "1.5", fill: "none" }), jsx("path", { d: "M8 19h8M10 17v2M14 17v2", stroke: primaryColor, strokeWidth: "2", strokeLinecap: "round" })] })),
139
138
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "2", y: "4", width: "20", height: "13", rx: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("circle", { cx: "12", cy: "10", r: "3", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M8 19h8M10 17v2M14 17v2", stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round" })] })),
140
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "2", y: "4", width: "20", height: "13", rx: "2", fill: secondaryColor, opacity: secondaryOpacity }), jsx("rect", { x: "2", y: "4", width: "20", height: "13", rx: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("circle", { cx: "12", cy: "10", r: "3", fill: primaryColor }), jsx("path", { d: "M8 19h8M10 17v2M14 17v2", stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round" })] })),
139
+ duotone: swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "2", y: "4", width: "20", height: "13", rx: "2", fill: secondaryColor, opacity: secondaryOpacity }), jsx("rect", { x: "2", y: "4", width: "20", height: "13", rx: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("circle", { cx: "12", cy: "10", r: "3", fill: primaryColor }), jsx("path", { d: "M8 19h8M10 17v2M14 17v2", stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round" })] }))),
141
140
  vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxs(Fragment, { children: [jsx("rect", { x: "2", y: "4", width: "20", height: "13", rx: "2", fill: primaryColor }), jsx("rect", { x: "2", y: "4", width: "20", height: "13", rx: "2", fill: "white", opacity: "0.08" }), jsx("circle", { cx: "12", cy: "10", r: "3", fill: "white" }), jsx("path", { d: "M6 14c0-2 2.5-3 6-3s6 1 6 3", stroke: "white", strokeWidth: "1", fill: "none" }), jsx("path", { d: "M8 19h8M10 17v2M14 17v2", stroke: "white", strokeWidth: "1", strokeLinecap: "round" })] })),
142
141
  },
143
142
  });
@@ -146,7 +145,7 @@ const NtdCertificate = /* @__PURE__ */ createIcon({
146
145
  paths: {
147
146
  solid: ({ primaryColor }) => (jsxs(Fragment, { children: [jsx("rect", { x: "2", y: "4", width: "20", height: "14", rx: "2", fill: primaryColor }), jsx("path", { d: "M6 8h12M6 11h8", stroke: "white", strokeWidth: "1.5", strokeLinecap: "round" }), jsx("circle", { cx: "17", cy: "14", r: "3", fill: "white" }), jsx("path", { d: "M17 17v4l-1.5-1-1.5 1v-4M17 17v4l1.5-1 1.5 1v-4", stroke: primaryColor, strokeWidth: "1.5" }), jsx("path", { d: "M16 13l1 1 2-2", stroke: primaryColor, strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" })] })),
148
147
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "2", y: "4", width: "20", height: "14", rx: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M6 8h12M6 11h8", stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round" }), jsx("circle", { cx: "17", cy: "14", r: "3", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M15.5 17v4l1.5-1 1.5 1v-4", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M16 13l1 1 2-2", stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round", strokeLinejoin: "round" })] })),
149
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "2", y: "4", width: "20", height: "14", rx: "2", fill: secondaryColor, opacity: secondaryOpacity }), jsx("rect", { x: "2", y: "4", width: "20", height: "14", rx: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M6 8h12M6 11h8", stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round" }), jsx("circle", { cx: "17", cy: "14", r: "3", fill: primaryColor }), jsx("path", { d: "M15.5 17v4l1.5-1 1.5 1v-4", fill: primaryColor }), jsx("path", { d: "M16 13l1 1 2-2", stroke: "white", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" })] })),
148
+ duotone: swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "2", y: "4", width: "20", height: "14", rx: "2", fill: secondaryColor, opacity: secondaryOpacity }), jsx("rect", { x: "2", y: "4", width: "20", height: "14", rx: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M6 8h12M6 11h8", stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round" }), jsx("circle", { cx: "17", cy: "14", r: "3", fill: primaryColor }), jsx("path", { d: "M15.5 17v4l1.5-1 1.5 1v-4", fill: primaryColor }), jsx("path", { d: "M16 13l1 1 2-2", stroke: "white", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" })] }))),
150
149
  vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxs(Fragment, { children: [jsx("rect", { x: "2", y: "4", width: "20", height: "14", rx: "2", fill: primaryColor }), jsx("rect", { x: "2", y: "4", width: "20", height: "14", rx: "2", fill: "white", opacity: "0.08" }), jsx("circle", { cx: "17", cy: "14", r: "3", fill: "white" }), jsx("path", { d: "M6 8h12M6 11h8", stroke: "white", strokeWidth: "1", strokeLinecap: "round" }), jsx("path", { d: "M17 17v4l-1.5-1-1.5 1v-4M17 17v4l1.5-1 1.5 1v-4", stroke: "white", strokeWidth: "1" }), jsx("path", { d: "M16 13l1 1 2-2", stroke: "white", strokeWidth: "1", strokeLinecap: "round", strokeLinejoin: "round" })] })),
151
150
  },
152
151
  });
@@ -155,7 +154,7 @@ const NtdQuiz = /* @__PURE__ */ createIcon({
155
154
  paths: {
156
155
  solid: ({ primaryColor }) => (jsxs(Fragment, { children: [jsx("rect", { x: "3", y: "2", width: "18", height: "20", rx: "2", fill: primaryColor }), jsx("circle", { cx: "7", cy: "7", r: "1.5", fill: "white" }), jsx("circle", { cx: "7", cy: "12", r: "1.5", fill: "white" }), jsx("circle", { cx: "7", cy: "17", r: "1.5", fill: "white" }), jsx("path", { d: "M11 7h7M11 12h7M11 17h5", stroke: "white", strokeWidth: "1.5", strokeLinecap: "round" }), jsx("path", { d: "M6.5 6.5l1 1M6.5 7.5l1-1", stroke: primaryColor, strokeWidth: "1", strokeLinecap: "round" })] })),
157
156
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "3", y: "2", width: "18", height: "20", rx: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("circle", { cx: "7", cy: "7", r: "1.5", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("circle", { cx: "7", cy: "12", r: "1.5", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("circle", { cx: "7", cy: "17", r: "1.5", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M11 7h7M11 12h7M11 17h5", stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round" })] })),
158
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "3", y: "2", width: "18", height: "20", rx: "2", fill: secondaryColor, opacity: secondaryOpacity }), jsx("rect", { x: "3", y: "2", width: "18", height: "20", rx: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("circle", { cx: "7", cy: "7", r: "1.5", fill: primaryColor }), jsx("circle", { cx: "7", cy: "12", r: "1.5", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("circle", { cx: "7", cy: "17", r: "1.5", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M11 7h7M11 12h7M11 17h5", stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round" })] })),
157
+ duotone: swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "3", y: "2", width: "18", height: "20", rx: "2", fill: secondaryColor, opacity: secondaryOpacity }), jsx("rect", { x: "3", y: "2", width: "18", height: "20", rx: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("circle", { cx: "7", cy: "7", r: "1.5", fill: primaryColor }), jsx("circle", { cx: "7", cy: "12", r: "1.5", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("circle", { cx: "7", cy: "17", r: "1.5", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M11 7h7M11 12h7M11 17h5", stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round" })] }))),
159
158
  vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxs(Fragment, { children: [jsx("rect", { x: "3", y: "2", width: "18", height: "20", rx: "2", fill: primaryColor }), jsx("rect", { x: "3", y: "2", width: "18", height: "20", rx: "2", fill: "white", opacity: "0.08" }), jsx("circle", { cx: "7", cy: "7", r: "1.5", fill: "white" }), jsx("circle", { cx: "7", cy: "12", r: "1.5", fill: "white" }), jsx("circle", { cx: "7", cy: "17", r: "1.5", fill: "white" }), jsx("path", { d: "M11 7h7M11 12h7M11 17h5", stroke: "white", strokeWidth: "1", strokeLinecap: "round" }), jsx("path", { d: "M6.5 6.5l1 1M6.5 7.5l1-1", stroke: "white", strokeWidth: "1", strokeLinecap: "round" })] })),
160
159
  },
161
160
  });
@@ -164,7 +163,7 @@ const NtdExam = /* @__PURE__ */ createIcon({
164
163
  paths: {
165
164
  solid: ({ primaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M4 4a2 2 0 012-2h8l6 6v14a2 2 0 01-2 2H6a2 2 0 01-2-2V4z", fill: primaryColor }), jsx("path", { d: "M14 2v6h6", fill: "white", opacity: "0.3" }), jsx("path", { d: "M8 12h8M8 15h8M8 18h5", stroke: "white", strokeWidth: "1.5", strokeLinecap: "round" }), jsx("text", { x: "12", y: "10", textAnchor: "middle", fill: "white", fontSize: "5", fontWeight: "bold", children: "A+" })] })),
166
165
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M4 4a2 2 0 012-2h8l6 6v14a2 2 0 01-2 2H6a2 2 0 01-2-2V4z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M14 2v6h6", stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round", strokeLinejoin: "round" }), jsx("path", { d: "M8 12h8M8 15h8M8 18h5", stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round" }), jsx("text", { x: "12", y: "10", textAnchor: "middle", fill: primaryColor, fontSize: "5", fontWeight: "bold", children: "A+" })] })),
167
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M4 4a2 2 0 012-2h8l6 6v14a2 2 0 01-2 2H6a2 2 0 01-2-2V4z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M14 2v6h6", fill: primaryColor, opacity: "0.3" }), jsx("path", { d: "M4 4a2 2 0 012-2h8l6 6v14a2 2 0 01-2 2H6a2 2 0 01-2-2V4z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M14 2v6h6", stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round", strokeLinejoin: "round" }), jsx("path", { d: "M8 12h8M8 15h8M8 18h5", stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round" })] })),
166
+ duotone: swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M4 4a2 2 0 012-2h8l6 6v14a2 2 0 01-2 2H6a2 2 0 01-2-2V4z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M14 2v6h6", fill: primaryColor, opacity: "0.3" }), jsx("path", { d: "M4 4a2 2 0 012-2h8l6 6v14a2 2 0 01-2 2H6a2 2 0 01-2-2V4z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M14 2v6h6", stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round", strokeLinejoin: "round" }), jsx("path", { d: "M8 12h8M8 15h8M8 18h5", stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round" })] }))),
168
167
  vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M4 4a2 2 0 012-2h8l6 6v14a2 2 0 01-2 2H6a2 2 0 01-2-2V4z", fill: primaryColor }), jsx("path", { d: "M4 4a2 2 0 012-2h8l6 6v14a2 2 0 01-2 2H6a2 2 0 01-2-2V4z", fill: "white", opacity: "0.08" }), jsx("path", { d: "M14 2v6h6", fill: "white", opacity: "0.3" }), jsx("path", { d: "M8 12h8M8 15h8M8 18h5", stroke: "white", strokeWidth: "1", strokeLinecap: "round" })] })),
169
168
  },
170
169
  });
@@ -176,7 +175,7 @@ const NtdFlashcard = /* @__PURE__ */ createIcon({
176
175
  paths: {
177
176
  solid: ({ primaryColor }) => (jsxs(Fragment, { children: [jsx("rect", { x: "4", y: "6", width: "16", height: "12", rx: "2", fill: primaryColor }), jsx("rect", { x: "2", y: "4", width: "16", height: "12", rx: "2", fill: primaryColor, opacity: "0.5" }), jsx("path", { d: "M8 10h8M8 14h4", stroke: "white", strokeWidth: "1.5", strokeLinecap: "round" })] })),
178
177
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "4", y: "6", width: "16", height: "12", rx: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("rect", { x: "2", y: "4", width: "16", height: "12", rx: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none", opacity: "0.5" }), jsx("path", { d: "M8 10h8M8 14h4", stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round" })] })),
179
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "2", y: "4", width: "16", height: "12", rx: "2", fill: secondaryColor, opacity: secondaryOpacity }), jsx("rect", { x: "4", y: "6", width: "16", height: "12", rx: "2", fill: secondaryColor, opacity: secondaryOpacity }), jsx("rect", { x: "4", y: "6", width: "16", height: "12", rx: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("rect", { x: "2", y: "4", width: "16", height: "12", rx: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M8 10h8M8 14h4", stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round" })] })),
178
+ duotone: swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "2", y: "4", width: "16", height: "12", rx: "2", fill: secondaryColor, opacity: secondaryOpacity }), jsx("rect", { x: "4", y: "6", width: "16", height: "12", rx: "2", fill: secondaryColor, opacity: secondaryOpacity }), jsx("rect", { x: "4", y: "6", width: "16", height: "12", rx: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("rect", { x: "2", y: "4", width: "16", height: "12", rx: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M8 10h8M8 14h4", stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round" })] }))),
180
179
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("rect", { x: "4", y: "6", width: "16", height: "12", rx: "2", fill: primaryColor }), jsx("rect", { x: "4", y: "6", width: "16", height: "12", rx: "2", fill: "white", opacity: "0.08" }), jsx("rect", { x: "2", y: "4", width: "16", height: "12", rx: "2", fill: secondaryColor, opacity: "0.5" }), jsx("path", { d: "M8 10h8M8 14h4", stroke: "white", strokeWidth: "1", strokeLinecap: "round" })] })),
181
180
  },
182
181
  });
@@ -185,7 +184,7 @@ const NtdBackpack = /* @__PURE__ */ createIcon({
185
184
  paths: {
186
185
  solid: ({ primaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M6 8a4 4 0 014-4h4a4 4 0 014 4v12a2 2 0 01-2 2H8a2 2 0 01-2-2V8z", fill: primaryColor }), jsx("path", { d: "M9 4V3a3 3 0 016 0v1", stroke: primaryColor, strokeWidth: "2" }), jsx("rect", { x: "8", y: "12", width: "8", height: "5", rx: "1", fill: "white" }), jsx("path", { d: "M10 14h4", stroke: primaryColor, strokeWidth: "1.5", strokeLinecap: "round" })] })),
187
186
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M6 8a4 4 0 014-4h4a4 4 0 014 4v12a2 2 0 01-2 2H8a2 2 0 01-2-2V8z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M9 4V3a3 3 0 016 0v1", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("rect", { x: "8", y: "12", width: "8", height: "5", rx: "1", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M10 14h4", stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round" })] })),
188
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M6 8a4 4 0 014-4h4a4 4 0 014 4v12a2 2 0 01-2 2H8a2 2 0 01-2-2V8z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M6 8a4 4 0 014-4h4a4 4 0 014 4v12a2 2 0 01-2 2H8a2 2 0 01-2-2V8z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M9 4V3a3 3 0 016 0v1", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("rect", { x: "8", y: "12", width: "8", height: "5", rx: "1", fill: primaryColor })] })),
187
+ duotone: swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M6 8a4 4 0 014-4h4a4 4 0 014 4v12a2 2 0 01-2 2H8a2 2 0 01-2-2V8z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M6 8a4 4 0 014-4h4a4 4 0 014 4v12a2 2 0 01-2 2H8a2 2 0 01-2-2V8z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M9 4V3a3 3 0 016 0v1", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("rect", { x: "8", y: "12", width: "8", height: "5", rx: "1", fill: primaryColor })] }))),
189
188
  vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M6 8a4 4 0 014-4h4a4 4 0 014 4v12a2 2 0 01-2 2H8a2 2 0 01-2-2V8z", fill: primaryColor }), jsx("path", { d: "M6 8a4 4 0 014-4h4a4 4 0 014 4v12a2 2 0 01-2 2H8a2 2 0 01-2-2V8z", fill: "white", opacity: "0.08" }), jsx("rect", { x: "8", y: "12", width: "8", height: "5", rx: "1", fill: "white" }), jsx("path", { d: "M9 4V3a3 3 0 016 0v1", stroke: "white", strokeWidth: "1" }), jsx("path", { d: "M10 14h4", stroke: "white", strokeWidth: "1", strokeLinecap: "round" })] })),
190
189
  },
191
190
  });
@@ -205,7 +204,6 @@ const NtdCalculator = /* @__PURE__ */ createIcon({
205
204
  paths: {
206
205
  solid: (props) => calculatorFilled(props, props.accentColor, props.accentOpacity),
207
206
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "4", y: "2", width: "16", height: "20", rx: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("rect", { x: "6", y: "4", width: "12", height: "5", rx: "1", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("circle", { cx: "8", cy: "12", r: "1", fill: primaryColor }), jsx("circle", { cx: "12", cy: "12", r: "1", fill: primaryColor }), jsx("circle", { cx: "16", cy: "12", r: "1", fill: primaryColor }), jsx("circle", { cx: "8", cy: "16", r: "1", fill: primaryColor }), jsx("circle", { cx: "12", cy: "16", r: "1", fill: primaryColor }), jsx("circle", { cx: "16", cy: "16", r: "1", fill: primaryColor }), jsx("circle", { cx: "8", cy: "20", r: "1", fill: primaryColor }), jsx("rect", { x: "11", y: "19", width: "6", height: "2", rx: "0.5", fill: primaryColor })] })),
208
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "4", y: "2", width: "16", height: "20", rx: "2", fill: secondaryColor, opacity: secondaryOpacity }), jsx("rect", { x: "4", y: "2", width: "16", height: "20", rx: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("rect", { x: "6", y: "4", width: "12", height: "5", rx: "1", fill: primaryColor }), jsx("circle", { cx: "8", cy: "12", r: "1", fill: primaryColor }), jsx("circle", { cx: "12", cy: "12", r: "1", fill: primaryColor }), jsx("circle", { cx: "16", cy: "12", r: "1", fill: primaryColor }), jsx("circle", { cx: "8", cy: "16", r: "1", fill: primaryColor }), jsx("circle", { cx: "12", cy: "16", r: "1", fill: primaryColor }), jsx("circle", { cx: "16", cy: "16", r: "1", fill: primaryColor })] })),
209
207
  vivid: (props) => calculatorFilled(props, props.secondaryColor, 1),
210
208
  },
211
209
  });
@@ -1,6 +1,6 @@
1
1
  import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
2
2
  import { createIcon } from '../createIcon.js';
3
- import { within, paperIcon } from '../iconParts.js';
3
+ import { swapDuotone, within, paperIcon } from '../iconParts.js';
4
4
 
5
5
  // NtdFile is the page every paper icon is drawn on (`paperIcon` in iconParts.tsx): the fold is
6
6
  // 8 now (7 before — the duotone's stroked fold looked the largest), secondary when the page is
@@ -12,6 +12,9 @@ const FOLDER_TAB = 'M2 7V5a2 2 0 012-2h7l2.67 4z';
12
12
  const FOLDER_FRONT = 'M2 6h18a2 2 0 012 2v11a2 2 0 01-2 2H4a2 2 0 01-2-2z';
13
13
  const NtdFolder = /* @__PURE__ */ createIcon({
14
14
  displayName: 'NtdFolder',
15
+ perfectStackX: 12,
16
+ perfectStackY: 13.5,
17
+ perfectStackSize: 0.5,
15
18
  paths: {
16
19
  solid: ({ primaryColor, strokeWidth: _strokeWidth }) => (jsx("path", { d: "M22 19a2 2 0 01-2 2H4a2 2 0 01-2-2V5a2 2 0 012-2h7l2 3h7a2 2 0 012 2v11z", fill: primaryColor })),
17
20
  outline: ({ primaryColor, strokeWidth }) => (jsx("path", { d: "M22 19a2 2 0 01-2 2H4a2 2 0 01-2-2V5a2 2 0 012-2h7l2 3h7a2 2 0 012 2v11z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })),
@@ -23,10 +26,13 @@ const NtdFolder = /* @__PURE__ */ createIcon({
23
26
  });
24
27
  const NtdFolderOpen = /* @__PURE__ */ createIcon({
25
28
  displayName: 'NtdFolderOpen',
29
+ perfectStackX: 13,
30
+ perfectStackY: 15.5,
31
+ perfectStackSize: 0.4,
26
32
  paths: {
27
33
  solid: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M22 19a2 2 0 01-2 2H4a2 2 0 01-2-2V5a2 2 0 012-2h7l2 3h7a2 2 0 012 2v11z", fill: primaryColor, opacity: "0.3" }), jsx("path", { d: "M2 10h20M4 21l2-11h16l-2 11H4z", stroke: primaryColor, strokeWidth: strokeWidth, fill: primaryColor })] })),
28
34
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M22 19a2 2 0 01-2 2H4a2 2 0 01-2-2V5a2 2 0 012-2h7l2 3h7a2 2 0 012 2v11z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M2 10h20", stroke: primaryColor, strokeWidth: strokeWidth })] })),
29
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M22 19a2 2 0 01-2 2H4a2 2 0 01-2-2V5a2 2 0 012-2h7l2 3h7a2 2 0 012 2v11z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M22 19a2 2 0 01-2 2H4a2 2 0 01-2-2V5a2 2 0 012-2h7l2 3h7a2 2 0 012 2v11z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M2 10h20", stroke: primaryColor, strokeWidth: strokeWidth })] })),
35
+ duotone: swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M22 19a2 2 0 01-2 2H4a2 2 0 01-2-2V5a2 2 0 012-2h7l2 3h7a2 2 0 012 2v11z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M22 19a2 2 0 01-2 2H4a2 2 0 01-2-2V5a2 2 0 012-2h7l2 3h7a2 2 0 012 2v11z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M2 10h20", stroke: primaryColor, strokeWidth: strokeWidth })] }))),
30
36
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M22 19a2 2 0 01-2 2H4a2 2 0 01-2-2V5a2 2 0 012-2h7l2 3h7a2 2 0 012 2v11z", fill: primaryColor, opacity: "0.3" }), jsx("path", { d: "M22 19a2 2 0 01-2 2H4a2 2 0 01-2-2V5a2 2 0 012-2h7l2 3h7a2 2 0 012 2v11z", fill: "white", opacity: "0.08" }), jsx("path", { d: "M2 10h20M4 21l2-11h16l-2 11H4z", stroke: secondaryColor, strokeWidth: "2", fill: secondaryColor })] })),
31
37
  },
32
38
  });
@@ -35,7 +41,6 @@ const NtdArchive = /* @__PURE__ */ createIcon({
35
41
  paths: {
36
42
  solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "2", y: "3", width: "20", height: "5", rx: "1", fill: primaryColor }), jsx("path", { d: "M4 8v11a2 2 0 002 2h12a2 2 0 002-2V8", fill: primaryColor, opacity: "0.7" }), jsx("line", { x1: "10", y1: "12", x2: "14", y2: "12", stroke: accentColor, strokeWidth: strokeWidth, opacity: accentOpacity })] })),
37
43
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "2", y: "3", width: "20", height: "5", rx: "1", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M4 8v11a2 2 0 002 2h12a2 2 0 002-2V8", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("line", { x1: "10", y1: "12", x2: "14", y2: "12", stroke: primaryColor, strokeWidth: strokeWidth })] })),
38
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M4 8v11a2 2 0 002 2h12a2 2 0 002-2V8H4z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("rect", { x: "2", y: "3", width: "20", height: "5", rx: "1", fill: primaryColor, opacity: secondaryOpacity + 0.1, stroke: primaryColor, strokeWidth: strokeWidth }), jsx("path", { d: "M4 8v11a2 2 0 002 2h12a2 2 0 002-2V8", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("line", { x1: "10", y1: "12", x2: "14", y2: "12", stroke: primaryColor, strokeWidth: strokeWidth })] })),
39
44
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("rect", { x: "2", y: "3", width: "20", height: "5", rx: "1", fill: primaryColor }), jsx("rect", { x: "2", y: "3", width: "20", height: "5", rx: "1", fill: "white", opacity: "0.08" }), jsx("path", { d: "M4 8v11a2 2 0 002 2h12a2 2 0 002-2V8", fill: secondaryColor, opacity: "0.7" }), jsx("line", { x1: "10", y1: "12", x2: "14", y2: "12", stroke: "white", strokeWidth: "1", opacity: "0.4" })] })),
40
45
  },
41
46
  });
@@ -58,17 +63,18 @@ const NtdDatabase = /* @__PURE__ */ createIcon({
58
63
  // and lost the cap's front edge, so it gets the outline's construction instead
59
64
  solid: (props) => props.variant === 'wireframe' ? (databaseLines(props)) : (jsxs(Fragment, { children: [jsx("path", { d: DB_SILHOUETTE, fill: props.primaryColor }), jsx("path", { d: DB_GAPS, fill: props.accentColor, opacity: props.accentOpacity })] })),
60
65
  outline: databaseLines,
61
- // one tint for the cap and the body: the cap in full secondary read as a separate disc
62
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: DB_SILHOUETTE, fill: secondaryColor, opacity: secondaryOpacity }), jsx("ellipse", { cx: "12", cy: "5.5", rx: "8", ry: "2.6", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M4 5.5v13a8 2.6 0 0016 0v-13M4 9.83a8 2.6 0 0016 0M4 14.17a8 2.6 0 0016 0", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
63
66
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: DB_SILHOUETTE, fill: primaryColor }), jsx("ellipse", { cx: "12", cy: "5.5", rx: "8", ry: "2.6", fill: "white", opacity: "0.25" }), jsx("path", { d: DB_GAPS, fill: secondaryColor })] })),
64
67
  },
65
68
  });
66
69
  const NtdCloud = /* @__PURE__ */ createIcon({
67
70
  displayName: 'NtdCloud',
71
+ perfectStackX: 11,
72
+ perfectStackY: 13.5,
73
+ perfectStackSize: 0.5,
68
74
  paths: {
69
75
  solid: ({ primaryColor, strokeWidth: _strokeWidth }) => (jsx("path", { d: "M18 10h-1.26A8 8 0 109 20h9a5 5 0 000-10z", fill: primaryColor })),
70
76
  outline: ({ primaryColor, strokeWidth }) => (jsx("path", { d: "M18 10h-1.26A8 8 0 109 20h9a5 5 0 000-10z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })),
71
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M18 10h-1.26A8 8 0 109 20h9a5 5 0 000-10z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M18 10h-1.26A8 8 0 109 20h9a5 5 0 000-10z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
77
+ duotone: swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M18 10h-1.26A8 8 0 109 20h9a5 5 0 000-10z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M18 10h-1.26A8 8 0 109 20h9a5 5 0 000-10z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] }))),
72
78
  vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M18 10h-1.26A8 8 0 109 20h9a5 5 0 000-10z", fill: primaryColor }), jsx("path", { d: "M18 10h-1.26A8 8 0 109 20h9a5 5 0 000-10z", fill: "white", opacity: "0.1" })] })),
73
79
  },
74
80
  });
@@ -77,7 +83,7 @@ const NtdCloudUpload = /* @__PURE__ */ createIcon({
77
83
  paths: {
78
84
  solid: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M18 10h-1.26A8 8 0 109 20h9a5 5 0 000-10z", fill: primaryColor, opacity: "0.2", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("path", { d: "M16 16l-4-4-4 4M12 12v9", stroke: primaryColor, strokeWidth: strokeWidth })] })),
79
85
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M18 10h-1.26A8 8 0 109 20h9a5 5 0 000-10z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M16 16l-4-4-4 4M12 12v9", stroke: primaryColor, strokeWidth: strokeWidth })] })),
80
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M18 10h-1.26A8 8 0 109 20h9a5 5 0 000-10z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M18 10h-1.26A8 8 0 109 20h9a5 5 0 000-10z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M16 16l-4-4-4 4M12 12v9", stroke: primaryColor, strokeWidth: strokeWidth })] })),
86
+ duotone: swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M18 10h-1.26A8 8 0 109 20h9a5 5 0 000-10z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M18 10h-1.26A8 8 0 109 20h9a5 5 0 000-10z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M16 16l-4-4-4 4M12 12v9", stroke: primaryColor, strokeWidth: strokeWidth })] }))),
81
87
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M18 10h-1.26A8 8 0 109 20h9a5 5 0 000-10z", fill: primaryColor, opacity: "0.2", stroke: primaryColor, strokeWidth: "2" }), jsx("path", { d: "M18 10h-1.26A8 8 0 109 20h9a5 5 0 000-10z", fill: "white", opacity: "0.1" }), jsx("path", { d: "M16 16l-4-4-4 4M12 12v9", stroke: secondaryColor, strokeWidth: "1.8" })] })),
82
88
  },
83
89
  });
@@ -86,7 +92,7 @@ const NtdCloudDownload = /* @__PURE__ */ createIcon({
86
92
  paths: {
87
93
  solid: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M18 10h-1.26A8 8 0 109 20h9a5 5 0 000-10z", fill: primaryColor, opacity: "0.2", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("path", { d: "M8 17l4 4 4-4M12 12v9", stroke: primaryColor, strokeWidth: strokeWidth })] })),
88
94
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M18 10h-1.26A8 8 0 109 20h9a5 5 0 000-10z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M8 17l4 4 4-4M12 12v9", stroke: primaryColor, strokeWidth: strokeWidth })] })),
89
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M18 10h-1.26A8 8 0 109 20h9a5 5 0 000-10z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M18 10h-1.26A8 8 0 109 20h9a5 5 0 000-10z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M8 17l4 4 4-4M12 12v9", stroke: primaryColor, strokeWidth: strokeWidth })] })),
95
+ duotone: swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M18 10h-1.26A8 8 0 109 20h9a5 5 0 000-10z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M18 10h-1.26A8 8 0 109 20h9a5 5 0 000-10z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M8 17l4 4 4-4M12 12v9", stroke: primaryColor, strokeWidth: strokeWidth })] }))),
90
96
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M18 10h-1.26A8 8 0 109 20h9a5 5 0 000-10z", fill: primaryColor, opacity: "0.2", stroke: primaryColor, strokeWidth: "2" }), jsx("path", { d: "M18 10h-1.26A8 8 0 109 20h9a5 5 0 000-10z", fill: "white", opacity: "0.1" }), jsx("path", { d: "M8 17l4 4 4-4M12 12v9", stroke: secondaryColor, strokeWidth: "1.8" })] })),
91
97
  },
92
98
  });
@@ -98,17 +104,25 @@ const NtdTerminal = /* @__PURE__ */ createIcon({
98
104
  paths: {
99
105
  solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "2", y: "3", width: "20", height: "18", rx: "2", fill: primaryColor }), jsx("path", { d: TERMINAL_PROMPT, stroke: accentColor, strokeWidth: strokeWidth * 2, opacity: accentOpacity, fill: "none" })] })),
100
106
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "2", y: "3", width: "20", height: "18", rx: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: TERMINAL_PROMPT, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
101
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "2", y: "3", width: "20", height: "18", rx: "2", fill: secondaryColor, opacity: secondaryOpacity }), jsx("rect", { x: "2", y: "3", width: "20", height: "18", rx: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: TERMINAL_PROMPT, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
102
107
  vivid: ({ primaryColor, secondaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "2", y: "3", width: "20", height: "18", rx: "2", fill: primaryColor }), jsx("rect", { x: "2", y: "3", width: "20", height: "18", rx: "2", fill: "white", opacity: "0.1" }), jsx("path", { d: TERMINAL_PROMPT, stroke: secondaryColor, strokeWidth: strokeWidth * 2, fill: "none" })] })),
103
108
  },
104
109
  });
110
+ // NtdCode: a line glyph, twice the stroke width in every variant but `outline` (vivid had a fixed
111
+ // 2.2), with sharp points (miter joins). Duotone is vivid's split: the right bracket primary, the
112
+ // left secondary (duotone drew the left one twice). The points sit 2.5 in from the sides, so
113
+ // their miters stay inside the box at that width.
114
+ const CODE_RIGHT = 'M15.5 18l6-6-6-6';
115
+ const CODE_LEFT = 'M8.5 6l-6 6 6 6';
116
+ function codeSplit({ primaryColor, secondaryColor, strokeWidth }) {
117
+ return (jsxs(Fragment, { children: [jsx("path", { d: CODE_RIGHT, stroke: primaryColor, strokeWidth: strokeWidth * 2, strokeLinejoin: "miter", fill: "none" }), jsx("path", { d: CODE_LEFT, stroke: secondaryColor, strokeWidth: strokeWidth * 2, strokeLinejoin: "miter", fill: "none" })] }));
118
+ }
105
119
  const NtdCode = /* @__PURE__ */ createIcon({
106
120
  displayName: 'NtdCode',
107
121
  paths: {
108
- solid: ({ primaryColor, strokeWidth }) => (jsx("path", { d: "M16 18l6-6-6-6M8 6l-6 6 6 6", stroke: primaryColor, strokeWidth: strokeWidth })),
109
- outline: ({ primaryColor, strokeWidth }) => (jsx("path", { d: "M16 18l6-6-6-6M8 6l-6 6 6 6", stroke: primaryColor, strokeWidth: strokeWidth })),
110
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M8 6l-6 6 6 6", stroke: secondaryColor, strokeWidth: strokeWidth, opacity: secondaryOpacity + 0.2 }), jsx("path", { d: "M16 18l6-6-6-6M8 6l-6 6 6 6", stroke: primaryColor, strokeWidth: strokeWidth })] })),
111
- vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsx(Fragment, { children: jsx("path", { d: "M16 18l6-6-6-6M8 6l-6 6 6 6", stroke: primaryColor, strokeWidth: "2.2" }) })),
122
+ solid: ({ primaryColor, strokeWidth }) => (jsx("path", { d: `${CODE_RIGHT}${CODE_LEFT}`, stroke: primaryColor, strokeWidth: strokeWidth * 2, strokeLinejoin: "miter", fill: "none" })),
123
+ outline: ({ primaryColor, strokeWidth }) => (jsx("path", { d: "M16 18l6-6-6-6M8 6l-6 6 6 6", stroke: primaryColor, strokeWidth: strokeWidth, strokeLinejoin: "miter", fill: "none" })),
124
+ duotone: codeSplit,
125
+ vivid: codeSplit,
112
126
  },
113
127
  });
114
128
  const NtdGit = /* @__PURE__ */ createIcon({
@@ -172,7 +186,7 @@ const NtdTable = /* @__PURE__ */ createIcon({
172
186
  paths: {
173
187
  solid: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "3", y: "3", width: "18", height: "18", rx: "2", fill: primaryColor, opacity: "0.15", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "3", y1: "9", x2: "21", y2: "9", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "3", y1: "15", x2: "21", y2: "15", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "9", y1: "3", x2: "9", y2: "21", stroke: primaryColor, strokeWidth: strokeWidth })] })),
174
188
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "3", y: "3", width: "18", height: "18", rx: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("line", { x1: "3", y1: "9", x2: "21", y2: "9", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "3", y1: "15", x2: "21", y2: "15", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "9", y1: "3", x2: "9", y2: "21", stroke: primaryColor, strokeWidth: strokeWidth })] })),
175
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "3", y: "3", width: "18", height: "18", rx: "2", fill: secondaryColor, opacity: secondaryOpacity }), jsx("rect", { x: "3", y: "3", width: "18", height: "18", rx: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("line", { x1: "3", y1: "9", x2: "21", y2: "9", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "3", y1: "15", x2: "21", y2: "15", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "9", y1: "3", x2: "9", y2: "21", stroke: primaryColor, strokeWidth: strokeWidth })] })),
189
+ duotone: swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "3", y: "3", width: "18", height: "18", rx: "2", fill: secondaryColor, opacity: secondaryOpacity }), jsx("rect", { x: "3", y: "3", width: "18", height: "18", rx: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("line", { x1: "3", y1: "9", x2: "21", y2: "9", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "3", y1: "15", x2: "21", y2: "15", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "9", y1: "3", x2: "9", y2: "21", stroke: primaryColor, strokeWidth: strokeWidth })] }))),
176
190
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("rect", { x: "3", y: "3", width: "18", height: "18", rx: "2", fill: primaryColor, opacity: "0.15", stroke: primaryColor, strokeWidth: "2" }), jsx("rect", { x: "3", y: "3", width: "18", height: "18", rx: "2", fill: "white", opacity: "0.1" }), jsx("line", { x1: "3", y1: "9", x2: "21", y2: "9", stroke: secondaryColor, strokeWidth: "1.8" }), jsx("line", { x1: "3", y1: "15", x2: "21", y2: "15", stroke: "#3B82F6", strokeWidth: "1.5" }), jsx("line", { x1: "9", y1: "3", x2: "9", y2: "21", stroke: "#3B82F6", strokeWidth: "1.5" })] })),
177
191
  },
178
192
  });
@@ -183,7 +197,7 @@ const NtdSmartphone = /* @__PURE__ */ createIcon({
183
197
  paths: {
184
198
  solid: ({ primaryColor, accentColor, accentOpacity }) => (jsxs(Fragment, { children: [jsx("rect", { x: "5", y: "2", width: "14", height: "20", rx: "2", fill: primaryColor }), jsx("rect", { x: "6.5", y: "3.5", width: "11", height: "17", rx: "0.75", fill: accentColor, opacity: accentOpacity }), jsx("circle", { cx: "12", cy: "18.4", r: "1.25", fill: primaryColor })] })),
185
199
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "5", y: "2", width: "14", height: "20", rx: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("line", { x1: "12", y1: "18", x2: "12.01", y2: "18", stroke: primaryColor, strokeWidth: strokeWidth })] })),
186
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "5", y: "2", width: "14", height: "20", rx: "2", fill: secondaryColor, opacity: secondaryOpacity }), jsx("rect", { x: "5", y: "2", width: "14", height: "20", rx: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("line", { x1: "12", y1: "18", x2: "12.01", y2: "18", stroke: primaryColor, strokeWidth: strokeWidth })] })),
200
+ duotone: swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "5", y: "2", width: "14", height: "20", rx: "2", fill: secondaryColor, opacity: secondaryOpacity }), jsx("rect", { x: "5", y: "2", width: "14", height: "20", rx: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("line", { x1: "12", y1: "18", x2: "12.01", y2: "18", stroke: primaryColor, strokeWidth: strokeWidth })] }))),
187
201
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("rect", { x: "5", y: "2", width: "14", height: "20", rx: "2", fill: primaryColor }), jsx("rect", { x: "5", y: "2", width: "14", height: "20", rx: "2", fill: "white", opacity: "0.1" }), jsx("line", { x1: "12", y1: "18", x2: "12.01", y2: "18", stroke: secondaryColor, strokeWidth: "1.8" })] })),
188
202
  },
189
203
  });
@@ -203,16 +217,20 @@ function monitorStand(uid, d, color, width) {
203
217
  }
204
218
  const NtdMonitor = /* @__PURE__ */ createIcon({
205
219
  displayName: 'NtdMonitor',
220
+ perfectStackX: 12,
221
+ perfectStackY: 10,
222
+ perfectStackSize: 0.45,
206
223
  paths: {
207
224
  solid: ({ primaryColor, strokeWidth, uid }) => (jsxs(Fragment, { children: [jsx("rect", { ...MONITOR_SCREEN, fill: primaryColor }), monitorStand(uid, MONITOR_STAND, primaryColor, strokeWidth * 2)] })),
208
225
  outline: ({ primaryColor, strokeWidth, uid }) => (jsxs(Fragment, { children: [jsx("rect", { ...MONITOR_SCREEN, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), monitorStand(uid, MONITOR_STAND_LINE, primaryColor, strokeWidth)] })),
209
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth, uid }) => (jsxs(Fragment, { children: [jsx("rect", { ...MONITOR_SCREEN, fill: secondaryColor, opacity: secondaryOpacity }), jsx("rect", { ...MONITOR_SCREEN, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), monitorStand(uid, MONITOR_STAND, primaryColor, strokeWidth * 2)] })),
226
+ duotone: swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth, uid }) => (jsxs(Fragment, { children: [jsx("rect", { ...MONITOR_SCREEN, fill: secondaryColor, opacity: secondaryOpacity }), jsx("rect", { ...MONITOR_SCREEN, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), monitorStand(uid, MONITOR_STAND, primaryColor, strokeWidth * 2)] }))),
210
227
  vivid: ({ primaryColor, secondaryColor, strokeWidth, uid }) => (jsxs(Fragment, { children: [jsx("rect", { ...MONITOR_SCREEN, fill: primaryColor }), monitorStand(uid, MONITOR_STAND, secondaryColor, strokeWidth * 2)] })),
211
228
  },
212
229
  });
213
230
  // NtdCpu: filled, the body and its pins primary and the die in the accent colour (the body was a
214
231
  // fixed 15% tint). The pins are twice the stroke width and short (2.5 → 4 at the top, and so on)
215
- // so their caps stay in the box. Duotone: the body secondary, the pins and the die primary; vivid:
232
+ // so their caps stay in the box. Duotone: the body primary, the pins and the die secondary (the
233
+ // other way round until 1.3.8); vivid:
216
234
  // the pins and the die secondary around an accent core.
217
235
  const CPU_BODY = { x: 4, y: 4, width: 16, height: 16, rx: 2 };
218
236
  const CPU_DIE = { x: 8.5, y: 8.5, width: 7, height: 7, rx: 1.2 };
@@ -222,7 +240,7 @@ const NtdCpu = /* @__PURE__ */ createIcon({
222
240
  paths: {
223
241
  solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: CPU_PINS, stroke: primaryColor, strokeWidth: strokeWidth * 2 }), jsx("rect", { ...CPU_BODY, fill: primaryColor }), jsx("rect", { ...CPU_DIE, fill: accentColor, opacity: accentOpacity })] })),
224
242
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { ...CPU_BODY, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("rect", { x: "9", y: "9", width: "6", height: "6", rx: "1", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M9 1v3M15 1v3M9 20v3M15 20v3M20 9h3M20 15h3M1 9h3M1 15h3", stroke: primaryColor, strokeWidth: strokeWidth })] })),
225
- duotone: ({ primaryColor, secondaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: CPU_PINS, stroke: primaryColor, strokeWidth: strokeWidth * 2 }), jsx("rect", { ...CPU_BODY, fill: secondaryColor }), jsx("rect", { ...CPU_DIE, fill: primaryColor })] })),
243
+ duotone: swapDuotone(({ primaryColor, secondaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: CPU_PINS, stroke: primaryColor, strokeWidth: strokeWidth * 2 }), jsx("rect", { ...CPU_BODY, fill: secondaryColor }), jsx("rect", { ...CPU_DIE, fill: primaryColor })] }))),
226
244
  vivid: ({ primaryColor, secondaryColor, accentColor, accentOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: CPU_PINS, stroke: secondaryColor, strokeWidth: strokeWidth * 2 }), jsx("rect", { ...CPU_BODY, fill: primaryColor }), jsx("rect", { ...CPU_DIE, fill: secondaryColor }), jsx("rect", { x: "10.5", y: "10.5", width: "3", height: "3", rx: "0.6", fill: accentColor, opacity: accentOpacity })] })),
227
245
  },
228
246
  });
@@ -254,6 +272,9 @@ function awardFilled({ primaryColor, secondaryColor, strokeWidth }, ribbonEdge)
254
272
  }
255
273
  const NtdAward = /* @__PURE__ */ createIcon({
256
274
  displayName: 'NtdAward',
275
+ perfectStackX: 12,
276
+ perfectStackY: 8,
277
+ perfectStackSize: 0.4,
257
278
  paths: {
258
279
  solid: (props) => awardFilled(props, props.primaryColor),
259
280
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("circle", { cx: "12", cy: "8", r: "7", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M8.21 13.89L7 23l5-3 5 3-1.21-9.12", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
@@ -263,10 +284,13 @@ const NtdAward = /* @__PURE__ */ createIcon({
263
284
  });
264
285
  const NtdCoffee = /* @__PURE__ */ createIcon({
265
286
  displayName: 'NtdCoffee',
287
+ perfectStackX: 10,
288
+ perfectStackY: 14.5,
289
+ perfectStackSize: 0.4,
266
290
  paths: {
267
291
  solid: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M18 8h1a4 4 0 010 8h-1M2 8h16v9a4 4 0 01-4 4H6a4 4 0 01-4-4V8z", fill: primaryColor }), jsx("line", { x1: "6", y1: "1", x2: "6", y2: "4", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "10", y1: "1", x2: "10", y2: "4", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "14", y1: "1", x2: "14", y2: "4", stroke: primaryColor, strokeWidth: strokeWidth })] })),
268
292
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M18 8h1a4 4 0 010 8h-1M2 8h16v9a4 4 0 01-4 4H6a4 4 0 01-4-4V8z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("line", { x1: "6", y1: "1", x2: "6", y2: "4", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "10", y1: "1", x2: "10", y2: "4", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "14", y1: "1", x2: "14", y2: "4", stroke: primaryColor, strokeWidth: strokeWidth })] })),
269
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M2 8h16v9a4 4 0 01-4 4H6a4 4 0 01-4-4V8z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M18 8h1a4 4 0 010 8h-1M2 8h16v9a4 4 0 01-4 4H6a4 4 0 01-4-4V8z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("line", { x1: "6", y1: "1", x2: "6", y2: "4", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "10", y1: "1", x2: "10", y2: "4", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "14", y1: "1", x2: "14", y2: "4", stroke: primaryColor, strokeWidth: strokeWidth })] })),
293
+ duotone: swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M2 8h16v9a4 4 0 01-4 4H6a4 4 0 01-4-4V8z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M18 8h1a4 4 0 010 8h-1M2 8h16v9a4 4 0 01-4 4H6a4 4 0 01-4-4V8z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("line", { x1: "6", y1: "1", x2: "6", y2: "4", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "10", y1: "1", x2: "10", y2: "4", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "14", y1: "1", x2: "14", y2: "4", stroke: primaryColor, strokeWidth: strokeWidth })] }))),
270
294
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M18 8h1a4 4 0 010 8h-1M2 8h16v9a4 4 0 01-4 4H6a4 4 0 01-4-4V8z", fill: primaryColor }), jsx("path", { d: "M18 8h1a4 4 0 010 8h-1M2 8h16v9a4 4 0 01-4 4H6a4 4 0 01-4-4V8z", fill: "white", opacity: "0.1" }), jsx("line", { x1: "6", y1: "1", x2: "6", y2: "4", stroke: secondaryColor, strokeWidth: "1.8" }), jsx("line", { x1: "10", y1: "1", x2: "10", y2: "4", stroke: "#3B82F6", strokeWidth: "1.5" }), jsx("line", { x1: "14", y1: "1", x2: "14", y2: "4", stroke: "#3B82F6", strokeWidth: "1.5" })] })),
271
295
  },
272
296
  });
@@ -307,7 +331,8 @@ const NtdCreditCard = /* @__PURE__ */ createIcon({
307
331
  // — a gap between them. The larger is the three-quarter sector from the centre; it was a segment
308
332
  // cut off by a chord, which read as an odd shape. The whole chart is turned 45° clockwise, so the
309
333
  // slice points right (it filled the top-right quarter). The outline keeps its open arc and the
310
- // slice, turned the same way. Duotone, fills only: the larger sector secondary, the slice primary;
334
+ // slice, turned the same way. Duotone, fills only: the larger sector primary, the slice secondary
335
+ // (the other way round until 1.3.8);
311
336
  // vivid the other way.
312
337
  const PIE_REST = 'M11 12L18.07 4.93A10 10 0 1 0 18.07 19.07Z';
313
338
  const PIE_SLICE = 'M13 12L20.07 4.93A10 10 0 0 1 20.07 19.07Z';
@@ -319,7 +344,7 @@ const NtdPieChart = /* @__PURE__ */ createIcon({
319
344
  paths: {
320
345
  solid: ({ primaryColor }) => pieFilled(primaryColor, primaryColor),
321
346
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M15.76 21.27A10 10 0 1 1 15.65 2.69", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M19.07 19.07A10 10 0 0 0 19.07 4.93L12 12z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
322
- duotone: ({ primaryColor, secondaryColor }) => pieFilled(secondaryColor, primaryColor),
347
+ duotone: swapDuotone(({ primaryColor, secondaryColor }) => pieFilled(secondaryColor, primaryColor)),
323
348
  vivid: ({ primaryColor, secondaryColor }) => pieFilled(primaryColor, secondaryColor),
324
349
  },
325
350
  });
@@ -337,7 +362,7 @@ const NtdActivity = /* @__PURE__ */ createIcon({
337
362
  paths: {
338
363
  solid: ({ primaryColor, strokeWidth }) => (jsx("path", { d: "M22 12h-4l-3 9L9 3l-3 9H2", stroke: primaryColor, strokeWidth: strokeWidth })),
339
364
  outline: ({ primaryColor, strokeWidth }) => (jsx("path", { d: "M22 12h-4l-3 9L9 3l-3 9H2", stroke: primaryColor, strokeWidth: strokeWidth })),
340
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M22 12h-4l-3 9L9 3l-3 9H2", stroke: secondaryColor, strokeWidth: "4", opacity: secondaryOpacity }), jsx("path", { d: "M22 12h-4l-3 9L9 3l-3 9H2", stroke: primaryColor, strokeWidth: strokeWidth })] })),
365
+ duotone: swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M22 12h-4l-3 9L9 3l-3 9H2", stroke: secondaryColor, strokeWidth: "4", opacity: secondaryOpacity }), jsx("path", { d: "M22 12h-4l-3 9L9 3l-3 9H2", stroke: primaryColor, strokeWidth: strokeWidth })] }))),
341
366
  vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsx(Fragment, { children: jsx("path", { d: "M22 12h-4l-3 9L9 3l-3 9H2", stroke: primaryColor, strokeWidth: "2.2" }) })),
342
367
  },
343
368
  });
@@ -355,7 +380,6 @@ const NtdTruck = /* @__PURE__ */ createIcon({
355
380
  paths: {
356
381
  solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "1", y: "3", width: "15", height: "13", rx: "1", fill: primaryColor }), jsx("path", { d: "M16 8h4l3 3v5h-7V8z", fill: primaryColor, opacity: "0.7", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("circle", { cx: "5.5", cy: "18.5", r: "2.5", fill: primaryColor, stroke: accentColor, strokeWidth: "1.5", opacity: accentOpacity }), jsx("circle", { cx: "18.5", cy: "18.5", r: "2.5", fill: primaryColor, stroke: accentColor, strokeWidth: "1.5", opacity: accentOpacity })] })),
357
382
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M1 3h15v13H1z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M16 8h4l3 3v5h-7V8z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("circle", { cx: "5.5", cy: "18.5", r: "2.5", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("circle", { cx: "18.5", cy: "18.5", r: "2.5", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
358
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M1 3h15v13H1z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M16 8h4l3 3v5h-7V8z", fill: secondaryColor, opacity: secondaryOpacity + 0.1 }), jsx("path", { d: "M1 3h15v13H1z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M16 8h4l3 3v5h-7V8z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("circle", { cx: "5.5", cy: "18.5", r: "2.5", fill: primaryColor }), jsx("circle", { cx: "18.5", cy: "18.5", r: "2.5", fill: primaryColor })] })),
359
383
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("rect", { x: "1", y: "3", width: "15", height: "13", rx: "1", fill: primaryColor }), jsx("rect", { x: "1", y: "3", width: "15", height: "13", rx: "1", fill: "white", opacity: "0.08" }), jsx("path", { d: "M16 8h4l3 3v5h-7V8z", fill: secondaryColor, opacity: "0.7", stroke: secondaryColor, strokeWidth: "2" }), jsx("circle", { cx: "5.5", cy: "18.5", r: "2.5", fill: "#3B82F6", stroke: "#3B82F6", strokeWidth: "1.5" }), jsx("circle", { cx: "18.5", cy: "18.5", r: "2.5", fill: "#F59E0B", stroke: "#F59E0B", strokeWidth: "1.5" })] })),
360
384
  },
361
385
  });