@nice2dev/icons 1.3.7 → 1.3.9

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