@nice2dev/icons 1.2.1 → 1.3.0

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 (94) hide show
  1. package/CHANGELOG.md +538 -0
  2. package/README.md +146 -134
  3. package/dist/cjs/NiceDesktopIconExporter.js +7 -3
  4. package/dist/cjs/NiceFaviconGenerator.js +6 -2
  5. package/dist/cjs/NiceIconPicker.js +36 -28
  6. package/dist/cjs/NiceIconPreview.js +3 -1
  7. package/dist/cjs/NiceIconSetCreator.js +7 -2
  8. package/dist/cjs/NtdIconBadge.js +18 -3
  9. package/dist/cjs/NtdIconMorph.js +3 -1
  10. package/dist/cjs/createIcon.js +10 -2
  11. package/dist/cjs/design-tokens.js +2 -0
  12. package/dist/cjs/iconMetadata.js +4 -0
  13. package/dist/cjs/iconParts.js +49 -0
  14. package/dist/cjs/icons/accessibility.js +12 -4
  15. package/dist/cjs/icons/actions.js +89 -25
  16. package/dist/cjs/icons/business.js +58 -28
  17. package/dist/cjs/icons/ecommerce.js +0 -20
  18. package/dist/cjs/icons/education.js +22 -9
  19. package/dist/cjs/icons/files.js +70 -56
  20. package/dist/cjs/icons/fun.js +39 -25
  21. package/dist/cjs/icons/gaming.js +29 -4
  22. package/dist/cjs/icons/health.js +11 -4
  23. package/dist/cjs/icons/index.js +63 -5
  24. package/dist/cjs/icons/input.js +120 -0
  25. package/dist/cjs/icons/legal.js +4 -9
  26. package/dist/cjs/icons/media.js +26 -11
  27. package/dist/cjs/icons/navigation.js +4 -2
  28. package/dist/cjs/icons/omniverk.js +19 -6
  29. package/dist/cjs/icons/realestate.js +10 -4
  30. package/dist/cjs/icons/saas.js +15 -4
  31. package/dist/cjs/icons/science.js +6 -3
  32. package/dist/cjs/icons/shapes.js +133 -31
  33. package/dist/cjs/icons/sports.js +6 -2
  34. package/dist/cjs/icons/ui.js +62 -20
  35. package/dist/cjs/icons/weather.js +18 -8
  36. package/dist/cjs/index.js +63 -5
  37. package/dist/cjs/nicetodev-icons.css +1 -1
  38. package/dist/cjs/resolver.js +55 -1
  39. package/dist/cjs/rsc.js +1 -1
  40. package/dist/cjs/utilities.js +4 -2
  41. package/dist/esm/NiceDesktopIconExporter.js +7 -3
  42. package/dist/esm/NiceFaviconGenerator.js +6 -2
  43. package/dist/esm/NiceIconPicker.js +37 -29
  44. package/dist/esm/NiceIconPreview.js +3 -1
  45. package/dist/esm/NiceIconSetCreator.js +7 -2
  46. package/dist/esm/NtdIconBadge.js +18 -3
  47. package/dist/esm/NtdIconMorph.js +3 -1
  48. package/dist/esm/createIcon.js +10 -2
  49. package/dist/esm/design-tokens.js +2 -0
  50. package/dist/esm/iconMetadata.js +4 -0
  51. package/dist/esm/iconParts.js +46 -0
  52. package/dist/esm/icons/accessibility.js +12 -4
  53. package/dist/esm/icons/actions.js +87 -26
  54. package/dist/esm/icons/business.js +58 -29
  55. package/dist/esm/icons/ecommerce.js +1 -19
  56. package/dist/esm/icons/education.js +22 -10
  57. package/dist/esm/icons/files.js +70 -56
  58. package/dist/esm/icons/fun.js +37 -25
  59. package/dist/esm/icons/gaming.js +29 -5
  60. package/dist/esm/icons/health.js +11 -4
  61. package/dist/esm/icons/index.js +10 -9
  62. package/dist/esm/icons/input.js +75 -0
  63. package/dist/esm/icons/legal.js +4 -9
  64. package/dist/esm/icons/media.js +26 -11
  65. package/dist/esm/icons/navigation.js +4 -2
  66. package/dist/esm/icons/omniverk.js +19 -6
  67. package/dist/esm/icons/realestate.js +10 -4
  68. package/dist/esm/icons/saas.js +15 -4
  69. package/dist/esm/icons/science.js +6 -3
  70. package/dist/esm/icons/shapes.js +128 -32
  71. package/dist/esm/icons/sports.js +6 -2
  72. package/dist/esm/icons/ui.js +62 -21
  73. package/dist/esm/icons/weather.js +18 -8
  74. package/dist/esm/index.js +10 -9
  75. package/dist/esm/nicetodev-icons.css +1 -1
  76. package/dist/esm/resolver.js +55 -1
  77. package/dist/esm/rsc.js +1 -1
  78. package/dist/esm/utilities.js +4 -2
  79. package/dist/types/design-tokens.d.ts +2 -0
  80. package/dist/types/iconParts.d.ts +19 -0
  81. package/dist/types/icons/actions.d.ts +3 -0
  82. package/dist/types/icons/business.d.ts +2 -0
  83. package/dist/types/icons/ecommerce.d.ts +0 -2
  84. package/dist/types/icons/education.d.ts +1 -0
  85. package/dist/types/icons/files.d.ts +2 -1
  86. package/dist/types/icons/fun.d.ts +6 -1
  87. package/dist/types/icons/gaming.d.ts +2 -0
  88. package/dist/types/icons/index.d.ts +10 -9
  89. package/dist/types/icons/input.d.ts +53 -0
  90. package/dist/types/icons/omniverk.d.ts +0 -2
  91. package/dist/types/icons/shapes.d.ts +6 -0
  92. package/dist/types/icons/ui.d.ts +1 -0
  93. package/dist/types/types.d.ts +6 -0
  94. package/package.json +3 -1
@@ -2,41 +2,30 @@
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
- const NtdFile = /* @__PURE__ */ createIcon.createIcon({
7
- displayName: 'NtdFile',
8
- paths: {
9
- solid: ({ primaryColor, strokeWidth: _strokeWidth }) => (jsxRuntime.jsx("path", { d: "M13 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V9l-7-7z", fill: primaryColor })),
10
- outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M13 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V9l-7-7z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: "M13 2v7h7", stroke: primaryColor, strokeWidth: strokeWidth })] })),
11
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M13 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V9l-7-7z", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: "M13 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V9l-7-7z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: "M13 2v7h7", stroke: primaryColor, strokeWidth: strokeWidth, fill: primaryColor, opacity: secondaryOpacity + 0.1 })] })),
12
- vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M13 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V9l-7-7z", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M13 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V9l-7-7z", fill: "white", opacity: "0.1" })] })),
13
- },
14
- });
15
- const NtdFileText = /* @__PURE__ */ createIcon.createIcon({
16
- displayName: 'NtdFileText',
17
- paths: {
18
- solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth: _strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M13 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V9l-7-7z", fill: primaryColor }), jsxRuntime.jsx("line", { x1: "8", y1: "13", x2: "16", y2: "13", stroke: accentColor, strokeWidth: "1.5", opacity: accentOpacity }), jsxRuntime.jsx("line", { x1: "8", y1: "17", x2: "14", y2: "17", stroke: accentColor, strokeWidth: "1.5", opacity: accentOpacity })] })),
19
- outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M13 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V9l-7-7z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: "M13 2v7h7", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("line", { x1: "8", y1: "13", x2: "16", y2: "13", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("line", { x1: "8", y1: "17", x2: "14", y2: "17", stroke: primaryColor, strokeWidth: strokeWidth })] })),
20
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M13 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V9l-7-7z", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: "M13 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V9l-7-7z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: "M13 2v7h7", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("line", { x1: "8", y1: "13", x2: "16", y2: "13", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("line", { x1: "8", y1: "17", x2: "14", y2: "17", stroke: primaryColor, strokeWidth: strokeWidth })] })),
21
- vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M13 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V9l-7-7z", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M13 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V9l-7-7z", fill: "white", opacity: "0.1" }), jsxRuntime.jsx("line", { x1: "8", y1: "13", x2: "16", y2: "13", stroke: secondaryColor, strokeWidth: "1.8" }), jsxRuntime.jsx("line", { x1: "8", y1: "17", x2: "14", y2: "17", stroke: "#3B82F6", strokeWidth: "1.5" })] })),
22
- },
23
- });
7
+ // NtdFile is the page every paper icon is drawn on (`paperIcon` in iconParts.tsx): the fold is
8
+ // 8 now (7 before — the duotone's stroked fold looked the largest), secondary when the page is
9
+ // filled, square in `sharp`.
10
+ const NtdFile = /* @__PURE__ */ iconParts.paperIcon('NtdFile');
11
+ const NtdFileText = /* @__PURE__ */ iconParts.paperIcon('NtdFileText', 'M7.5 9.5h3M7.5 13.5h9M7.5 17.5h9');
12
+ // The folder tab runs 2 → 11 before its slope (2 → 9 before), in NtdFolder and NtdFolderOpen.
24
13
  const NtdFolder = /* @__PURE__ */ createIcon.createIcon({
25
14
  displayName: 'NtdFolder',
26
15
  paths: {
27
- solid: ({ primaryColor, strokeWidth: _strokeWidth }) => (jsxRuntime.jsx("path", { d: "M22 19a2 2 0 01-2 2H4a2 2 0 01-2-2V5a2 2 0 012-2h5l2 3h9a2 2 0 012 2v11z", fill: primaryColor })),
28
- outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: "M22 19a2 2 0 01-2 2H4a2 2 0 01-2-2V5a2 2 0 012-2h5l2 3h9a2 2 0 012 2v11z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })),
29
- 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-2h5l2 3h9a2 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-2h5l2 3h9a2 2 0 012 2v11z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
30
- vivid: ({ primaryColor, secondaryColor: _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-2h5l2 3h9a2 2 0 012 2v11z", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M22 19a2 2 0 01-2 2H4a2 2 0 01-2-2V5a2 2 0 012-2h5l2 3h9a2 2 0 012 2v11z", fill: "white", opacity: "0.1" })] })),
16
+ 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 })),
17
+ 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" })),
18
+ 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" })] })),
19
+ vivid: ({ primaryColor, secondaryColor: _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 }), 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.1" })] })),
31
20
  },
32
21
  });
33
22
  const NtdFolderOpen = /* @__PURE__ */ createIcon.createIcon({
34
23
  displayName: 'NtdFolderOpen',
35
24
  paths: {
36
- 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-2h5l2 3h9a2 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 })] })),
37
- 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-2h5l2 3h9a2 2 0 012 2v11z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: "M2 10h20", stroke: primaryColor, strokeWidth: strokeWidth })] })),
38
- 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-2h5l2 3h9a2 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-2h5l2 3h9a2 2 0 012 2v11z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: "M2 10h20", stroke: primaryColor, strokeWidth: strokeWidth })] })),
39
- 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-2h5l2 3h9a2 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-2h5l2 3h9a2 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 })] })),
25
+ 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 })] })),
26
+ 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 })] })),
27
+ 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 })] })),
28
+ 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 })] })),
40
29
  },
41
30
  });
42
31
  const NtdArchive = /* @__PURE__ */ createIcon.createIcon({
@@ -48,13 +37,21 @@ const NtdArchive = /* @__PURE__ */ createIcon.createIcon({
48
37
  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" })] })),
49
38
  },
50
39
  });
40
+ // NtdDatabase: a cylinder of three discs, its silhouette — sides, bottom and the back of the top —
41
+ // one path, so no seam shows where a separate cap met the body. The filled variants draw no line
42
+ // along the cap's front edge (it set the cap apart as a fourth disc), and the gaps between the
43
+ // discs are bands between two parallel arcs, 1.3 high everywhere and cut square at the sides — a
44
+ // stroked arc clipped to the body thinned to a wedge along the sides.
45
+ const DB_SILHOUETTE = 'M4 5.5v13a8 2.6 0 0016 0v-13a8 2.6 0 00-16 0z';
46
+ const DB_GAPS = 'M4 9.18a8 2.6 0 0016 0v1.3a8 2.6 0 01-16 0zM4 13.52a8 2.6 0 0016 0v1.3a8 2.6 0 01-16 0z';
51
47
  const NtdDatabase = /* @__PURE__ */ createIcon.createIcon({
52
48
  displayName: 'NtdDatabase',
53
49
  paths: {
54
- solid: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("ellipse", { cx: "12", cy: "5", rx: "9", ry: "3", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M21 12c0 1.66-4.03 3-9 3s-9-1.34-9-3", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: "M3 5v14c0 1.66 4.03 3 9 3s9-1.34 9-3V5", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
55
- outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("ellipse", { cx: "12", cy: "5", rx: "9", ry: "3", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: "M21 12c0 1.66-4.03 3-9 3s-9-1.34-9-3", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: "M3 5v14c0 1.66 4.03 3 9 3s9-1.34 9-3V5", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
56
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("ellipse", { cx: "12", cy: "5", rx: "9", ry: "3", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: "M3 5v14c0 1.66 4.03 3 9 3s9-1.34 9-3V5", fill: secondaryColor, opacity: secondaryOpacity * 0.5 }), jsxRuntime.jsx("ellipse", { cx: "12", cy: "5", rx: "9", ry: "3", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: "M21 12c0 1.66-4.03 3-9 3s-9-1.34-9-3", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: "M3 5v14c0 1.66 4.03 3 9 3s9-1.34 9-3V5", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
57
- vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("ellipse", { cx: "12", cy: "5", rx: "9", ry: "3", fill: primaryColor }), jsxRuntime.jsx("ellipse", { cx: "12", cy: "5", rx: "9", ry: "3", fill: "white", opacity: "0.1" }), jsxRuntime.jsx("path", { d: "M21 12c0 1.66-4.03 3-9 3s-9-1.34-9-3", stroke: secondaryColor, strokeWidth: "1.8", fill: "none" }), jsxRuntime.jsx("path", { d: "M3 5v14c0 1.66 4.03 3 9 3s9-1.34 9-3V5", stroke: "#3B82F6", strokeWidth: "1.5", fill: "none" })] })),
50
+ solid: ({ primaryColor, accentColor, accentOpacity }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: DB_SILHOUETTE, fill: primaryColor }), jsxRuntime.jsx("path", { d: DB_GAPS, fill: accentColor, opacity: accentOpacity })] })),
51
+ outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [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" })] })),
52
+ // one tint for the cap and the body: the cap in full secondary read as a separate disc
53
+ 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" })] })),
54
+ 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 })] })),
58
55
  },
59
56
  });
60
57
  const NtdCloud = /* @__PURE__ */ createIcon.createIcon({
@@ -84,13 +81,16 @@ const NtdCloudDownload = /* @__PURE__ */ createIcon.createIcon({
84
81
  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" })] })),
85
82
  },
86
83
  });
84
+ // The prompt marks are twice the stroke width on the filled screen (like NtdCheck), and a little
85
+ // larger everywhere so the heavy ones do not run together.
86
+ const TERMINAL_PROMPT = 'M6 8.5l4.5 3.5L6 15.5M12.5 16.5H18';
87
87
  const NtdTerminal = /* @__PURE__ */ createIcon.createIcon({
88
88
  displayName: 'NtdTerminal',
89
89
  paths: {
90
- 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: "M6 9l4 3-4 3", stroke: accentColor, strokeWidth: strokeWidth, opacity: accentOpacity }), jsxRuntime.jsx("line", { x1: "12", y1: "17", x2: "18", y2: "17", stroke: accentColor, strokeWidth: strokeWidth, opacity: accentOpacity })] })),
91
- 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: "M6 9l4 3-4 3", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("line", { x1: "12", y1: "17", x2: "18", y2: "17", stroke: primaryColor, strokeWidth: strokeWidth })] })),
92
- 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: "M6 9l4 3-4 3", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("line", { x1: "12", y1: "17", x2: "18", y2: "17", stroke: primaryColor, strokeWidth: strokeWidth })] })),
93
- vivid: ({ primaryColor, secondaryColor }) => (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: "M6 9l4 3-4 3", stroke: secondaryColor, strokeWidth: "1.8" }), jsxRuntime.jsx("line", { x1: "12", y1: "17", x2: "18", y2: "17", stroke: "#3B82F6", strokeWidth: "1.5" })] })),
90
+ 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" })] })),
91
+ 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" })] })),
92
+ 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" })] })),
93
+ 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" })] })),
94
94
  },
95
95
  });
96
96
  const NtdCode = /* @__PURE__ */ createIcon.createIcon({
@@ -183,22 +183,21 @@ const NtdCpu = /* @__PURE__ */ createIcon.createIcon({
183
183
  vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("rect", { x: "4", y: "4", width: "16", height: "16", rx: "2", fill: primaryColor, opacity: "0.15", stroke: primaryColor, strokeWidth: "2" }), jsxRuntime.jsx("rect", { x: "4", y: "4", width: "16", height: "16", rx: "2", fill: "white", opacity: "0.08" }), jsxRuntime.jsx("rect", { x: "9", y: "9", width: "6", height: "6", rx: "1", fill: secondaryColor }), jsxRuntime.jsx("path", { d: "M9 1v3M15 1v3M9 20v3M15 20v3M20 9h3M20 14h3M1 9h3M1 14h3", stroke: "white", strokeWidth: "1" })] })),
184
184
  },
185
185
  });
186
- const NtdZap = /* @__PURE__ */ createIcon.createIcon({
187
- displayName: 'NtdZap',
188
- paths: {
189
- solid: ({ primaryColor, strokeWidth: _strokeWidth }) => (jsxRuntime.jsx("path", { d: "M13 2L3 14h9l-1 8 10-12h-9l1-8z", fill: primaryColor })),
190
- outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: "M13 2L3 14h9l-1 8 10-12h-9l1-8z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })),
191
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M13 2L3 14h9l-1 8 10-12h-9l1-8z", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: "M13 2L3 14h9l-1 8 10-12h-9l1-8z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
192
- vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M13 2L3 14h9l-1 8 10-12h-9l1-8z", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M13 2L3 14h9l-1 8 10-12h-9l1-8z", fill: "white", opacity: "0.1" })] })),
193
- },
194
- });
186
+ // NtdKey: the bow top right with its hole on the key's axis, the blade running down-left to two
187
+ // teeth (it was the stroked key with the bow bottom left). Drawn along its own axis and turned
188
+ // 135°: bow r 6 at (16, 8), blade 3.2 wide.
189
+ const KEY = 'M10.78 10.96L3.2 18.54L7.3 22.64L8.72 21.22L7.87 20.37L8.79 19.46L9.64 20.3L11.05 18.89L9.21 17.05L13.04 13.22A6 6 0 1 0 10.78 10.96Z';
190
+ const KEY_BLADE = 'M10.78 10.96L3.2 18.54L7.3 22.64L8.72 21.22L7.87 20.37L8.79 19.46L9.64 20.3L11.05 18.89L9.21 17.05L13.04 13.22A6 6 0 0 1 10.78 10.96Z';
191
+ const KEY_BOW = 'M16 2a6 6 0 100 12 6 6 0 100-12z';
192
+ const KEY_HOLE = 'M17.84 4.56a1.6 1.6 0 100 3.2 1.6 1.6 0 100-3.2z';
195
193
  const NtdKey = /* @__PURE__ */ createIcon.createIcon({
196
194
  displayName: 'NtdKey',
197
195
  paths: {
198
- solid: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M21 2l-2 2m-7.61 7.61a5.5 5.5 0 11-7.78 7.78 5.5 5.5 0 017.78-7.78zm0 0L15.5 7.5m0 0l3 3L22 7l-3-3m-3.5 3.5L19 4", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("circle", { cx: "7.5", cy: "16.5", r: "1.5", fill: primaryColor })] })),
199
- outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: "M21 2l-2 2m-7.61 7.61a5.5 5.5 0 11-7.78 7.78 5.5 5.5 0 017.78-7.78zm0 0L15.5 7.5m0 0l3 3L22 7l-3-3m-3.5 3.5L19 4", stroke: primaryColor, strokeWidth: strokeWidth })),
200
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "8", cy: "16", r: "5", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: "M21 2l-2 2m-7.61 7.61a5.5 5.5 0 11-7.78 7.78 5.5 5.5 0 017.78-7.78zm0 0L15.5 7.5m0 0l3 3L22 7l-3-3m-3.5 3.5L19 4", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("circle", { cx: "7.5", cy: "16.5", r: "1.5", fill: primaryColor })] })),
201
- vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "7.5", cy: "16.5", r: "1.5", fill: primaryColor }), jsxRuntime.jsx("circle", { cx: "7.5", cy: "16.5", r: "1.5", fill: "white", opacity: "0.1" }), jsxRuntime.jsx("path", { d: "M21 2l-2 2m-7.61 7.61a5.5 5.5 0 11-7.78 7.78 5.5 5.5 0 017.78-7.78zm0 0L15.5 7.5m0 0l3 3L22 7l-3-3m-3.5 3.5L19 4", stroke: secondaryColor, strokeWidth: "1.8" })] })),
196
+ solid: ({ primaryColor }) => (jsxRuntime.jsx("path", { d: `${KEY}${KEY_HOLE}`, fillRule: "evenodd", fill: primaryColor })),
197
+ outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: KEY, stroke: primaryColor, strokeWidth: strokeWidth, strokeLinejoin: "miter", fill: "none" }), jsxRuntime.jsx("path", { d: KEY_HOLE, fill: primaryColor })] })),
198
+ // fills only: the blade secondary, the bow primary
199
+ duotone: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: KEY_BLADE, fill: secondaryColor }), jsxRuntime.jsx("path", { d: `${KEY_BOW}${KEY_HOLE}`, fillRule: "evenodd", fill: primaryColor })] })),
200
+ vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: `${KEY}${KEY_HOLE}`, fillRule: "evenodd", fill: primaryColor }), jsxRuntime.jsx("path", { d: KEY_BLADE, fill: secondaryColor, opacity: "0.5" })] })),
202
201
  },
203
202
  });
204
203
  const NtdAward = /* @__PURE__ */ createIcon.createIcon({
@@ -219,22 +218,37 @@ const NtdCoffee = /* @__PURE__ */ createIcon.createIcon({
219
218
  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" })] })),
220
219
  },
221
220
  });
221
+ // NtdCart: the basket a trapeze in primary (it was a 15 % wash), the handle running on down the
222
+ // basket's left side into the base rail, the wheels secondary, the basket's bars cut into it in
223
+ // the accent colour.
224
+ const CART_FRAME = 'M2 3.5h2.3l3.3 12.9H19.3';
225
+ const CART_BASKET = 'M5.07 6.5H21.3l-1.7 7.1H6.88z';
226
+ const CART_BARS = 'M11.3 5v10M15.9 5v10M3 10.05h20';
222
227
  const NtdCart = /* @__PURE__ */ createIcon.createIcon({
223
228
  displayName: 'NtdCart',
224
229
  paths: {
225
- solid: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M1 1h4l2.68 13.39a2 2 0 002 1.61h9.72a2 2 0 002-1.61L23 6H6", fill: primaryColor, opacity: "0.15", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("circle", { cx: "9", cy: "21", r: "1.5", fill: primaryColor }), jsxRuntime.jsx("circle", { cx: "20", cy: "21", r: "1.5", fill: primaryColor })] })),
226
- outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M1 1h4l2.68 13.39a2 2 0 002 1.61h9.72a2 2 0 002-1.61L23 6H6", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("circle", { cx: "9", cy: "21", r: "1", stroke: primaryColor, strokeWidth: "1.5", fill: "none" }), jsxRuntime.jsx("circle", { cx: "20", cy: "21", r: "1", stroke: primaryColor, strokeWidth: "1.5", fill: "none" })] })),
227
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M6 6h17l-1.68 8.39a2 2 0 01-2 1.61H9.68a2 2 0 01-2-1.61L6 6z", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: "M1 1h4l2.68 13.39a2 2 0 002 1.61h9.72a2 2 0 002-1.61L23 6H6", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("circle", { cx: "9", cy: "21", r: "1.5", fill: primaryColor }), jsxRuntime.jsx("circle", { cx: "20", cy: "21", r: "1.5", fill: primaryColor })] })),
228
- vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M1 1h4l2.68 13.39a2 2 0 002 1.61h9.72a2 2 0 002-1.61L23 6H6", fill: primaryColor, opacity: "0.15", stroke: primaryColor, strokeWidth: "2" }), jsxRuntime.jsx("path", { d: "M1 1h4l2.68 13.39a2 2 0 002 1.61h9.72a2 2 0 002-1.61L23 6H6", fill: "white", opacity: "0.08" }), jsxRuntime.jsx("circle", { cx: "9", cy: "21", r: "1.5", fill: secondaryColor }), jsxRuntime.jsx("circle", { cx: "20", cy: "21", r: "1.5", fill: "#3B82F6" })] })),
230
+ solid: ({ primaryColor, secondaryColor, accentColor, accentOpacity, strokeWidth, uid }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: CART_FRAME, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: CART_BASKET, fill: primaryColor }), iconParts.within(uid, 'bars', jsxRuntime.jsx("path", { d: CART_BASKET }), jsxRuntime.jsx("path", { d: CART_BARS, stroke: accentColor, strokeWidth: "1.3", opacity: accentOpacity })), jsxRuntime.jsx("circle", { cx: "9.4", cy: "20", r: "1.8", fill: secondaryColor }), jsxRuntime.jsx("circle", { cx: "18.2", cy: "20", r: "1.8", fill: secondaryColor })] })),
231
+ outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: CART_FRAME, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: CART_BASKET, stroke: primaryColor, strokeWidth: strokeWidth, strokeLinejoin: "round", fill: "none" }), jsxRuntime.jsx("circle", { cx: "9.4", cy: "20", r: "1.4", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("circle", { cx: "18.2", cy: "20", r: "1.4", stroke: primaryColor, strokeWidth: strokeWidth })] })),
232
+ duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: CART_BASKET, fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: CART_FRAME, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: CART_BASKET, stroke: primaryColor, strokeWidth: strokeWidth, strokeLinejoin: "round", fill: "none" }), jsxRuntime.jsx("circle", { cx: "9.4", cy: "20", r: "1.8", fill: primaryColor }), jsxRuntime.jsx("circle", { cx: "18.2", cy: "20", r: "1.8", fill: primaryColor })] })),
233
+ vivid: ({ primaryColor, secondaryColor, accentColor, accentOpacity, strokeWidth, uid }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: CART_FRAME, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: CART_BASKET, fill: primaryColor }), jsxRuntime.jsx("path", { d: CART_BASKET, fill: "white", opacity: "0.12" }), iconParts.within(uid, 'bars', jsxRuntime.jsx("path", { d: CART_BASKET }), jsxRuntime.jsx("path", { d: CART_BARS, stroke: accentColor, strokeWidth: "1.3", opacity: accentOpacity })), jsxRuntime.jsx("circle", { cx: "9.4", cy: "20", r: "1.8", fill: secondaryColor }), jsxRuntime.jsx("circle", { cx: "18.2", cy: "20", r: "1.8", fill: secondaryColor })] })),
229
234
  },
230
235
  });
236
+ /** @deprecated A second cart next to {@link NtdCart} — use that. */
237
+ const NtdShoppingCart = NtdCart;
238
+ // NtdCreditCard: the back of a real card — the magnetic stripe high up and edge to edge (kept
239
+ // inside the card, so it meets the sides flush), the signature panel long and to the left, the
240
+ // CVV box small on the right. The details are accent coloured, so a cutout keeps them.
241
+ const CARD_BODY = { x: 1.5, y: 4.5, width: 21, height: 15, rx: 2 };
242
+ const CARD_STRIPE = { x: 1.5, y: 7, width: 21, height: 3.6 };
243
+ const CARD_SIGNATURE = { x: 4, y: 13.6, width: 11.5, height: 2.2, rx: 0.6 };
244
+ const CARD_CVV = { x: 16.6, y: 13.6, width: 3.6, height: 2.2, rx: 0.6 };
231
245
  const NtdCreditCard = /* @__PURE__ */ createIcon.createIcon({
232
246
  displayName: 'NtdCreditCard',
233
247
  paths: {
234
- solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("rect", { x: "1", y: "4", width: "22", height: "16", rx: "2", fill: primaryColor }), jsxRuntime.jsx("line", { x1: "1", y1: "10", x2: "23", y2: "10", stroke: accentColor, strokeWidth: strokeWidth, opacity: accentOpacity })] })),
235
- outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("rect", { x: "1", y: "4", width: "22", height: "16", rx: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("line", { x1: "1", y1: "10", x2: "23", y2: "10", stroke: primaryColor, strokeWidth: strokeWidth })] })),
236
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("rect", { x: "1", y: "4", width: "22", height: "16", rx: "2", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("rect", { x: "1", y: "4", width: "22", height: "6", rx: "2", fill: primaryColor, opacity: secondaryOpacity + 0.2 }), jsxRuntime.jsx("rect", { x: "1", y: "4", width: "22", height: "16", rx: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("line", { x1: "1", y1: "10", x2: "23", y2: "10", stroke: primaryColor, strokeWidth: strokeWidth })] })),
237
- vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("rect", { x: "1", y: "4", width: "22", height: "16", rx: "2", fill: primaryColor }), jsxRuntime.jsx("rect", { x: "1", y: "4", width: "22", height: "16", rx: "2", fill: "white", opacity: "0.1" }), jsxRuntime.jsx("line", { x1: "1", y1: "10", x2: "23", y2: "10", stroke: secondaryColor, strokeWidth: "1.8" })] })),
248
+ solid: ({ primaryColor, accentColor, accentOpacity, uid }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("rect", { ...CARD_BODY, fill: primaryColor }), iconParts.within(uid, 'stripe', jsxRuntime.jsx("rect", { ...CARD_BODY }), jsxRuntime.jsx("rect", { ...CARD_STRIPE, fill: accentColor, opacity: accentOpacity })), jsxRuntime.jsx("rect", { ...CARD_SIGNATURE, fill: accentColor, opacity: accentOpacity }), jsxRuntime.jsx("rect", { ...CARD_CVV, fill: accentColor, opacity: accentOpacity })] })),
249
+ outline: ({ primaryColor, strokeWidth, uid }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("rect", { ...CARD_BODY, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), iconParts.within(uid, 'stripe', jsxRuntime.jsx("rect", { ...CARD_BODY }), jsxRuntime.jsx("rect", { ...CARD_STRIPE, fill: primaryColor })), jsxRuntime.jsx("path", { d: "M5 14.7h9.5M17.6 14.7h1.6", stroke: primaryColor, strokeWidth: strokeWidth })] })),
250
+ duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth, uid }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("rect", { ...CARD_BODY, fill: secondaryColor, opacity: secondaryOpacity }), iconParts.within(uid, 'stripe', jsxRuntime.jsx("rect", { ...CARD_BODY }), jsxRuntime.jsx("rect", { ...CARD_STRIPE, fill: primaryColor })), jsxRuntime.jsx("rect", { ...CARD_SIGNATURE, fill: primaryColor }), jsxRuntime.jsx("rect", { ...CARD_CVV, fill: primaryColor }), jsxRuntime.jsx("rect", { ...CARD_BODY, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
251
+ vivid: ({ primaryColor, accentColor, accentOpacity, uid }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("rect", { ...CARD_BODY, fill: primaryColor }), jsxRuntime.jsx("rect", { ...CARD_BODY, fill: "white", opacity: "0.1" }), iconParts.within(uid, 'stripe', jsxRuntime.jsx("rect", { ...CARD_BODY }), jsxRuntime.jsx("rect", { ...CARD_STRIPE, fill: "black", opacity: "0.35" })), jsxRuntime.jsx("rect", { ...CARD_SIGNATURE, fill: accentColor, opacity: accentOpacity }), jsxRuntime.jsx("rect", { ...CARD_CVV, fill: accentColor, opacity: accentOpacity })] })),
238
252
  },
239
253
  });
240
254
  const NtdPieChart = /* @__PURE__ */ createIcon.createIcon({
@@ -308,9 +322,9 @@ exports.NtdList = NtdList;
308
322
  exports.NtdMonitor = NtdMonitor;
309
323
  exports.NtdPackage = NtdPackage;
310
324
  exports.NtdPieChart = NtdPieChart;
325
+ exports.NtdShoppingCart = NtdShoppingCart;
311
326
  exports.NtdSmartphone = NtdSmartphone;
312
327
  exports.NtdTable = NtdTable;
313
328
  exports.NtdTarget = NtdTarget;
314
329
  exports.NtdTerminal = NtdTerminal;
315
330
  exports.NtdTruck = NtdTruck;
316
- exports.NtdZap = NtdZap;
@@ -21,8 +21,9 @@ const NtdRocket = /* @__PURE__ */ createIcon.createIcon({
21
21
  vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M12 2C12 2 8 6 8 12c0 2 .5 4 1 5h6c.5-1 1-3 1-5 0-6-4-10-4-10z", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M12 2C12 2 8 6 8 12c0 2 .5 4 1 5h6c.5-1 1-3 1-5 0-6-4-10-4-10z", fill: "white", opacity: "0.08" }), jsxRuntime.jsx("circle", { cx: "12", cy: "10", r: "2", fill: secondaryColor }), jsxRuntime.jsx("path", { d: "M8 12L5 15l1 3 2-2", fill: "#F59E0B" }), jsxRuntime.jsx("path", { d: "M16 12l3 3-1 3-2-2", fill: "#EF4444" }), jsxRuntime.jsx("path", { d: "M9 17h6l-1 5h-4l-1-5z", fill: "#8B5CF6" })] })),
22
22
  },
23
23
  });
24
- const NtdGamepad = /* @__PURE__ */ createIcon.createIcon({
25
- displayName: 'NtdGamepad',
24
+ /** The flat pad of the 16-bit era. The modern one is NtdGamepad (gaming.tsx). */
25
+ const NtdGamepadOldschool = /* @__PURE__ */ createIcon.createIcon({
26
+ displayName: 'NtdGamepadOldschool',
26
27
  paths: {
27
28
  solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M6 11h4M8 9v4", stroke: accentColor, strokeWidth: strokeWidth, opacity: accentOpacity }), jsxRuntime.jsx("path", { d: "M2 12a4 4 0 014-4h12a4 4 0 014 4v2a4 4 0 01-4 4H6a4 4 0 01-4-4v-2z", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M6 11h4M8 9v4", stroke: accentColor, strokeWidth: strokeWidth, opacity: accentOpacity }), jsxRuntime.jsx("circle", { cx: "15", cy: "10", r: "1", fill: accentColor, opacity: accentOpacity }), jsxRuntime.jsx("circle", { cx: "18", cy: "13", r: "1", fill: accentColor, opacity: accentOpacity })] })),
28
29
  outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M2 12a4 4 0 014-4h12a4 4 0 014 4v2a4 4 0 01-4 4H6a4 4 0 01-4-4v-2z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: "M6 11h4M8 9v4", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("circle", { cx: "15", cy: "10", r: "1", fill: primaryColor }), jsxRuntime.jsx("circle", { cx: "18", cy: "13", r: "1", fill: primaryColor })] })),
@@ -75,24 +76,29 @@ const NtdDice = /* @__PURE__ */ createIcon.createIcon({
75
76
  vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("rect", { x: "3", y: "3", width: "18", height: "18", rx: "3", fill: primaryColor }), jsxRuntime.jsx("rect", { x: "3", y: "3", width: "18", height: "18", rx: "3", fill: "white", opacity: "0.08" }), jsxRuntime.jsx("circle", { cx: "8", cy: "8", r: "1.5", fill: secondaryColor }), jsxRuntime.jsx("circle", { cx: "16", cy: "8", r: "1.5", fill: "#F59E0B" }), jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "1.5", fill: "#EF4444" }), jsxRuntime.jsx("circle", { cx: "8", cy: "16", r: "1.5", fill: "#8B5CF6" }), jsxRuntime.jsx("circle", { cx: "16", cy: "16", r: "1.5", fill: "#8B5CF6" })] })),
76
77
  },
77
78
  });
78
- const NtdSmiley = /* @__PURE__ */ createIcon.createIcon({
79
- displayName: 'NtdSmiley',
80
- paths: {
81
- solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth: _strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", fill: primaryColor }), jsxRuntime.jsx("circle", { cx: "9", cy: "10", r: "1.2", fill: accentColor, opacity: accentOpacity }), jsxRuntime.jsx("circle", { cx: "15", cy: "10", r: "1.2", fill: accentColor, opacity: accentOpacity }), jsxRuntime.jsx("path", { d: "M8 14s1.5 3 4 3 4-3 4-3", stroke: accentColor, strokeWidth: "1.5", fill: "none", opacity: accentOpacity })] })),
82
- outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("circle", { cx: "9", cy: "10", r: "1.2", fill: primaryColor }), jsxRuntime.jsx("circle", { cx: "15", cy: "10", r: "1.2", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M8 14s1.5 3 4 3 4-3 4-3", stroke: primaryColor, strokeWidth: "1.5", fill: "none" })] })),
83
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("circle", { cx: "9", cy: "10", r: "1.2", fill: primaryColor }), jsxRuntime.jsx("circle", { cx: "15", cy: "10", r: "1.2", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M8 14s1.5 3 4 3 4-3 4-3", stroke: primaryColor, strokeWidth: "1.5", fill: "none" })] })),
84
- vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", fill: primaryColor }), jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", fill: "white", opacity: "0.08" }), jsxRuntime.jsx("circle", { cx: "9", cy: "10", r: "1.2", fill: secondaryColor }), jsxRuntime.jsx("circle", { cx: "15", cy: "10", r: "1.2", fill: "#F59E0B" }), jsxRuntime.jsx("path", { d: "M8 14s1.5 3 4 3 4-3 4-3", stroke: "white", strokeWidth: "1", fill: "none", opacity: "0.35" })] })),
85
- },
86
- });
87
- const NtdSad = /* @__PURE__ */ createIcon.createIcon({
88
- displayName: 'NtdSad',
89
- paths: {
90
- solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth: _strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", fill: primaryColor }), jsxRuntime.jsx("circle", { cx: "9", cy: "10", r: "1.2", fill: accentColor, opacity: accentOpacity }), jsxRuntime.jsx("circle", { cx: "15", cy: "10", r: "1.2", fill: accentColor, opacity: accentOpacity }), jsxRuntime.jsx("path", { d: "M16 17s-1.5-3-4-3-4 3-4 3", stroke: accentColor, strokeWidth: "1.5", fill: "none", opacity: accentOpacity })] })),
91
- outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("circle", { cx: "9", cy: "10", r: "1.2", fill: primaryColor }), jsxRuntime.jsx("circle", { cx: "15", cy: "10", r: "1.2", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M16 17s-1.5-3-4-3-4 3-4 3", stroke: primaryColor, strokeWidth: "1.5", fill: "none" })] })),
92
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("circle", { cx: "9", cy: "10", r: "1.2", fill: primaryColor }), jsxRuntime.jsx("circle", { cx: "15", cy: "10", r: "1.2", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M16 17s-1.5-3-4-3-4 3-4 3", stroke: primaryColor, strokeWidth: "1.5", fill: "none" })] })),
93
- vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", fill: primaryColor }), jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", fill: "white", opacity: "0.08" }), jsxRuntime.jsx("circle", { cx: "9", cy: "10", r: "1.2", fill: secondaryColor }), jsxRuntime.jsx("circle", { cx: "15", cy: "10", r: "1.2", fill: "#F59E0B" }), jsxRuntime.jsx("path", { d: "M16 17s-1.5-3-4-3-4 3-4 3", stroke: "white", strokeWidth: "1", fill: "none", opacity: "0.35" })] })),
94
- },
95
- });
79
+ /** The two oval eyes every face shares, 6.8 apart. */
80
+ const FACE_EYES = 'M8.6 7.55a1.35 1.75 0 100 3.5 1.35 1.75 0 100-3.5zM15.4 7.55a1.35 1.75 0 100 3.5 1.35 1.75 0 100-3.5z';
81
+ /**
82
+ * An emotion face (NtdSmile, NtdSad, …): the r10 head and the eyes are the same in every one, an
83
+ * emotion is only its `mouth`, so a new one is one more call. The mouth is a stroke with round ends
84
+ * and follows the variant's weight.
85
+ */
86
+ function faceIcon(displayName, mouth) {
87
+ return createIcon.createIcon({
88
+ displayName,
89
+ paths: {
90
+ solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", fill: primaryColor }), jsxRuntime.jsx("path", { d: FACE_EYES, fill: accentColor, opacity: accentOpacity }), jsxRuntime.jsx("path", { d: mouth, stroke: accentColor, strokeOpacity: accentOpacity, strokeWidth: strokeWidth, strokeLinecap: "round", fill: "none" })] })),
91
+ outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: FACE_EYES, fill: primaryColor }), jsxRuntime.jsx("path", { d: mouth, stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round", fill: "none" })] })),
92
+ // Fills only: the tinted head, the face on it in primary — no ring around the head.
93
+ duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: FACE_EYES, fill: primaryColor }), jsxRuntime.jsx("path", { d: mouth, stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round", fill: "none" })] })),
94
+ vivid: ({ primaryColor, accentColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M5.4 7.6a8 8 0 016.6-3.6", stroke: "white", strokeWidth: "1.6", strokeLinecap: "round", opacity: "0.35", fill: "none" }), jsxRuntime.jsx("path", { d: FACE_EYES, fill: accentColor }), jsxRuntime.jsx("path", { d: mouth, stroke: accentColor, strokeWidth: "2.2", strokeLinecap: "round", fill: "none" })] })),
95
+ },
96
+ });
97
+ }
98
+ const NtdSmile = /* @__PURE__ */ faceIcon('NtdSmile', 'M7 14c1.2 2.5 3 3.8 5 3.8s3.8-1.3 5-3.8');
99
+ /** @deprecated Renamed to {@link NtdSmile} in 1.3.0 — the same icon. */
100
+ const NtdSmiley = NtdSmile;
101
+ const NtdSad = /* @__PURE__ */ faceIcon('NtdSad', 'M7.8 17.3c1-1.75 2.4-2.65 4.2-2.65s3.2.9 4.2 2.65');
96
102
  const NtdSkull = /* @__PURE__ */ createIcon.createIcon({
97
103
  displayName: 'NtdSkull',
98
104
  paths: {
@@ -111,20 +117,26 @@ const NtdGhost = /* @__PURE__ */ createIcon.createIcon({
111
117
  vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M12 2a8 8 0 00-8 8v12l3-3 3 3 2-2 2 2 3-3 3 3V10a8 8 0 00-8-8z", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M12 2a8 8 0 00-8 8v12l3-3 3 3 2-2 2 2 3-3 3 3V10a8 8 0 00-8-8z", fill: "white", opacity: "0.08" }), jsxRuntime.jsx("circle", { cx: "9", cy: "10", r: "1.5", fill: secondaryColor }), jsxRuntime.jsx("circle", { cx: "15", cy: "10", r: "1.5", fill: "#F59E0B" })] })),
112
118
  },
113
119
  });
120
+ // NtdLightning: the step in the middle of the bolt slants, its two inner corners on a diagonal —
121
+ // they sat one above the other, so the duotone's two triangles met along a vertical line.
122
+ const LIGHTNING = '14,2 3,13.5 10.4,13.5 10,22 21,10.5 13.6,10.5';
114
123
  const NtdLightning = /* @__PURE__ */ createIcon.createIcon({
115
124
  displayName: 'NtdLightning',
116
125
  paths: {
117
- solid: ({ primaryColor, strokeWidth: _strokeWidth }) => (jsxRuntime.jsx("polygon", { points: "13,2 3,14 12,14 11,22 21,10 12,10", fill: primaryColor })),
118
- outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("polygon", { points: "13,2 3,14 12,14 11,22 21,10 12,10", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })),
119
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("polygon", { points: "13,2 3,14 12,14 11,22 21,10 12,10", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("polygon", { points: "13,2 3,14 12,14 11,22 21,10 12,10", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
120
- vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("polygon", { points: "13,2 3,14 12,14 11,22 21,10 12,10", fill: primaryColor }), jsxRuntime.jsx("polygon", { points: "13,2 3,14 12,14 11,22 21,10 12,10", fill: "white", opacity: "0.1" })] })),
126
+ solid: ({ primaryColor }) => jsxRuntime.jsx("polygon", { points: LIGHTNING, fill: primaryColor }),
127
+ outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("polygon", { points: LIGHTNING, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })),
128
+ // the bolt's two triangles, a colour each, meeting along the slanted step — no outline
129
+ duotone: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("polygon", { points: "14,2 3,13.5 10.4,13.5 13.6,10.5", fill: primaryColor }), jsxRuntime.jsx("polygon", { points: "13.6,10.5 21,10.5 10,22 10.4,13.5", fill: secondaryColor })] })),
130
+ vivid: ({ primaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("polygon", { points: LIGHTNING, fill: primaryColor }), jsxRuntime.jsx("polygon", { points: LIGHTNING, fill: "white", opacity: "0.1" })] })),
121
131
  },
122
132
  });
133
+ /** @deprecated The same bolt as {@link NtdLightning} — use that. */
134
+ const NtdZap = NtdLightning;
123
135
 
124
136
  exports.NtdCrown = NtdCrown;
125
137
  exports.NtdDice = NtdDice;
126
138
  exports.NtdDumpsterFire = NtdDumpsterFire;
127
- exports.NtdGamepad = NtdGamepad;
139
+ exports.NtdGamepadOldschool = NtdGamepadOldschool;
128
140
  exports.NtdGhost = NtdGhost;
129
141
  exports.NtdLightning = NtdLightning;
130
142
  exports.NtdPartyPopper = NtdPartyPopper;
@@ -132,5 +144,7 @@ exports.NtdPuzzle = NtdPuzzle;
132
144
  exports.NtdRocket = NtdRocket;
133
145
  exports.NtdSad = NtdSad;
134
146
  exports.NtdSkull = NtdSkull;
147
+ exports.NtdSmile = NtdSmile;
135
148
  exports.NtdSmiley = NtdSmiley;
136
149
  exports.NtdTrophy = NtdTrophy;
150
+ exports.NtdZap = NtdZap;
@@ -2,19 +2,43 @@
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
  CONTROLLERS & INPUT
8
9
  ───────────────────────────────────────────────────────────────────────────── */
10
+ // A modern pad in the layout of today's controllers: raised shoulders (the bumpers), grips that
11
+ // taper down and out, the left stick high with the d-pad below it, the face buttons high with the
12
+ // right stick below them. The old flat pad is NtdGamepadOldschool (fun.tsx).
13
+ const PAD_BODY = 'M12 6.2C9.9 6.2 8.6 5 6.4 5 4.3 5 3 6.1 2.4 8.1L1.1 15.9C.7 18.6 2.6 20.7 4.9 19.9 5.9 19.6 6.5 18.9 7.2 18L8.5 16.1C9 15.4 9.6 15.1 10.4 15.1H13.6C14.4 15.1 15 15.4 15.5 16.1L16.8 18C17.5 18.9 18.1 19.6 19.1 19.9 21.4 20.7 23.3 18.6 22.9 15.9L21.6 8.1C21 6.1 19.7 5 17.6 5 15.4 5 14.1 6.2 12 6.2Z';
14
+ /**
15
+ * The top edge of each shoulder, over the shoulder only: stroked wide and clipped to the body it
16
+ * is the bumper band; moved down by 0.9 it is the bumper's seam on the solid pad. (It ran from
17
+ * halfway down the sides, 1.35 down — too low and too long.)
18
+ */
19
+ const PAD_BUMPERS = 'M2.6 7.8C3.2 6 4.5 5 6.4 5c1.4 0 2.4.4 3.2.8M21.4 7.8C20.8 6 19.5 5 17.6 5c-1.4 0-2.4.4-3.2.8';
20
+ const PAD_DPAD = 'M8.45 10.85h1.3v1.1h1.1v1.3h-1.1v1.1h-1.3v-1.1h-1.1v-1.3h1.1z';
21
+ /** The face buttons, Y (top), B, A, X clockwise, as [cx, cy]. */
22
+ const PAD_FACE = [
23
+ [17.8, 7.95],
24
+ [19.25, 9.4],
25
+ [17.8, 10.85],
26
+ [16.35, 9.4],
27
+ ];
28
+ /** Xbox colours of Y, B, A, X — vivid only. */
29
+ const PAD_FACE_VIVID = ['#FACC15', '#EF4444', '#22C55E', '#3B82F6'];
9
30
  const NtdGamepad = /* @__PURE__ */ createIcon.createIcon({
10
31
  displayName: 'NtdGamepad',
11
32
  paths: {
12
- solid: ({ primaryColor }) => (jsxRuntime.jsx("path", { d: "M6 11h4M8 9v4M15 12h.01M18 10h.01M17.32 5H6.68a4 4 0 00-3.978 3.59c-.006.052-.01.101-.017.152C2.604 9.416 2 14.456 2 16a3 3 0 003.68 2.927c.834-.192 1.554-.76 1.899-1.545l.743-1.692A2 2 0 0110.164 14h3.672a2 2 0 011.842 1.69l.743 1.692c.345.785 1.065 1.353 1.899 1.545A3 3 0 0022 16c0-1.545-.604-6.584-.685-7.258-.006-.05-.01-.1-.017-.152A4 4 0 0017.32 5z", fill: primaryColor })),
13
- outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M6 11h4M8 9v4", stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round" }), jsxRuntime.jsx("circle", { cx: "15", cy: "12", r: "1", fill: primaryColor }), jsxRuntime.jsx("circle", { cx: "18", cy: "10", r: "1", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M17.32 5H6.68a4 4 0 00-3.978 3.59c-.006.052-.01.101-.017.152C2.604 9.416 2 14.456 2 16a3 3 0 003.68 2.927c.834-.192 1.554-.76 1.899-1.545l.743-1.692A2 2 0 0110.164 14h3.672a2 2 0 011.842 1.69l.743 1.692c.345.785 1.065 1.353 1.899 1.545A3 3 0 0022 16c0-1.545-.604-6.584-.685-7.258-.006-.05-.01-.1-.017-.152A4 4 0 0017.32 5z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
14
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M17.32 5H6.68a4 4 0 00-3.978 3.59c-.006.052-.01.101-.017.152C2.604 9.416 2 14.456 2 16a3 3 0 003.68 2.927c.834-.192 1.554-.76 1.899-1.545l.743-1.692A2 2 0 0110.164 14h3.672a2 2 0 011.842 1.69l.743 1.692c.345.785 1.065 1.353 1.899 1.545A3 3 0 0022 16c0-1.545-.604-6.584-.685-7.258-.006-.05-.01-.1-.017-.152A4 4 0 0017.32 5z", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: "M6 11h4M8 9v4", stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round" }), jsxRuntime.jsx("circle", { cx: "15", cy: "12", r: "1", fill: primaryColor }), jsxRuntime.jsx("circle", { cx: "18", cy: "10", r: "1", fill: primaryColor })] })),
15
- vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M6 11h4M8 9v4M15 12h.01M18 10h.01M17.32 5H6.68a4 4 0 00-3.978 3.59c-.006.052-.01.101-.017.152C2.604 9.416 2 14.456 2 16a3 3 0 003.68 2.927c.834-.192 1.554-.76 1.899-1.545l.743-1.692A2 2 0 0110.164 14h3.672a2 2 0 011.842 1.69l.743 1.692c.345.785 1.065 1.353 1.899 1.545A3 3 0 0022 16c0-1.545-.604-6.584-.685-7.258-.006-.05-.01-.1-.017-.152A4 4 0 0017.32 5z", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M6 11h4M8 9v4M15 12h.01M18 10h.01M17.32 5H6.68a4 4 0 00-3.978 3.59c-.006.052-.01.101-.017.152C2.604 9.416 2 14.456 2 16a3 3 0 003.68 2.927c.834-.192 1.554-.76 1.899-1.545l.743-1.692A2 2 0 0110.164 14h3.672a2 2 0 011.842 1.69l.743 1.692c.345.785 1.065 1.353 1.899 1.545A3 3 0 0022 16c0-1.545-.604-6.584-.685-7.258-.006-.05-.01-.1-.017-.152A4 4 0 0017.32 5z", fill: "white", opacity: "0.1" })] })),
33
+ solid: ({ primaryColor, accentColor, accentOpacity, uid }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: PAD_BODY, fill: primaryColor }), jsxRuntime.jsxs("g", { fill: accentColor, opacity: accentOpacity, children: [iconParts.within(uid, 'b', jsxRuntime.jsx("path", { d: PAD_BODY }), jsxRuntime.jsx("path", { d: PAD_BUMPERS, stroke: accentColor, strokeWidth: "0.7", strokeLinecap: "round", fill: "none", transform: "translate(0 0.9)" })), jsxRuntime.jsx("circle", { cx: "6.2", cy: "9.4", r: "2.1" }), jsxRuntime.jsx("circle", { cx: "14.9", cy: "12.6", r: "1.9" }), jsxRuntime.jsx("path", { d: PAD_DPAD }), PAD_FACE.map(([cx, cy]) => (jsxRuntime.jsx("circle", { cx: cx, cy: cy, r: "0.78" }, `${cx},${cy}`))), jsxRuntime.jsx("circle", { cx: "12", cy: "8.3", r: "1.15" }), jsxRuntime.jsx("circle", { cx: "11.1", cy: "10.4", r: "0.5" }), jsxRuntime.jsx("circle", { cx: "12.9", cy: "10.4", r: "0.5" })] })] })),
34
+ outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: PAD_BODY, stroke: primaryColor, strokeWidth: strokeWidth, strokeLinejoin: "round", fill: "none" }), jsxRuntime.jsxs("g", { stroke: primaryColor, strokeWidth: strokeWidth * 0.6, fill: "none", children: [jsxRuntime.jsx("circle", { cx: "6.2", cy: "9.4", r: "1.7" }), jsxRuntime.jsx("circle", { cx: "14.9", cy: "12.6", r: "1.5" }), jsxRuntime.jsx("path", { d: "M9.1 11.15v2.9M7.65 12.6h2.9", strokeLinecap: "round" })] }), jsxRuntime.jsxs("g", { fill: primaryColor, children: [PAD_FACE.map(([cx, cy]) => (jsxRuntime.jsx("circle", { cx: cx, cy: cy, r: "0.7" }, `${cx},${cy}`))), jsxRuntime.jsx("circle", { cx: "12", cy: "8.5", r: "0.9" })] })] })),
35
+ // Fills only: the tinted body, the bumpers and every control in primary.
36
+ duotone: ({ primaryColor, secondaryColor, secondaryOpacity, uid }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: PAD_BODY, fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsxs("g", { fill: primaryColor, children: [iconParts.within(uid, 'b', jsxRuntime.jsx("path", { d: PAD_BODY }), jsxRuntime.jsx("path", { d: PAD_BUMPERS, stroke: primaryColor, strokeWidth: "2.6", fill: "none" })), jsxRuntime.jsx("circle", { cx: "6.2", cy: "9.4", r: "2.1" }), jsxRuntime.jsx("circle", { cx: "14.9", cy: "12.6", r: "1.9" }), jsxRuntime.jsx("path", { d: PAD_DPAD }), PAD_FACE.map(([cx, cy]) => (jsxRuntime.jsx("circle", { cx: cx, cy: cy, r: "0.78" }, `${cx},${cy}`))), jsxRuntime.jsx("circle", { cx: "12", cy: "8.3", r: "1.15" })] })] })),
37
+ vivid: ({ primaryColor, secondaryColor, uid }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: PAD_BODY, fill: primaryColor }), iconParts.within(uid, 'b', jsxRuntime.jsx("path", { d: PAD_BODY }), jsxRuntime.jsx("path", { d: PAD_BUMPERS, stroke: secondaryColor, strokeWidth: "2.6", fill: "none" })), jsxRuntime.jsxs("g", { fill: secondaryColor, children: [jsxRuntime.jsx("circle", { cx: "6.2", cy: "9.4", r: "2.1" }), jsxRuntime.jsx("circle", { cx: "14.9", cy: "12.6", r: "1.9" }), jsxRuntime.jsx("path", { d: PAD_DPAD })] }), PAD_FACE.map(([cx, cy], i) => (jsxRuntime.jsx("circle", { cx: cx, cy: cy, r: "0.78", fill: PAD_FACE_VIVID[i] }, `${cx},${cy}`))), jsxRuntime.jsx("circle", { cx: "12", cy: "8.3", r: "1.15", fill: "white" }), jsxRuntime.jsx("circle", { cx: "11.1", cy: "10.4", r: "0.5", fill: "white", opacity: "0.8" }), jsxRuntime.jsx("circle", { cx: "12.9", cy: "10.4", r: "0.5", fill: "white", opacity: "0.8" })] })),
16
38
  },
17
39
  });
40
+ /** @deprecated Renamed to {@link NtdGamepad} in 1.3.0 — the same icon. */
41
+ const NtdGamepadController = NtdGamepad;
18
42
  const NtdJoystick = /* @__PURE__ */ createIcon.createIcon({
19
43
  displayName: 'NtdJoystick',
20
44
  paths: {
@@ -175,6 +199,7 @@ const gamingIcons = {
175
199
  exports.NtdDice = NtdDice;
176
200
  exports.NtdDiscord = NtdDiscord;
177
201
  exports.NtdGamepad = NtdGamepad;
202
+ exports.NtdGamepadController = NtdGamepadController;
178
203
  exports.NtdHealthBar = NtdHealthBar;
179
204
  exports.NtdJoystick = NtdJoystick;
180
205
  exports.NtdLeaderboard = NtdLeaderboard;
@@ -102,13 +102,20 @@ const NtdEgg = /* @__PURE__ */ createIcon.createIcon({
102
102
  vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("ellipse", { cx: "12", cy: "14", rx: "7", ry: "8", fill: primaryColor }), jsxRuntime.jsx("ellipse", { cx: "12", cy: "14", rx: "7", ry: "8", fill: "white", opacity: "0.1" })] })),
103
103
  },
104
104
  });
105
+ // NtdHamburger: even layers of one width — a low domed top bun, a thin wavy band of sauce, the
106
+ // patty and the bottom bun — each standing apart. (The top was a tall half circle and the bottom
107
+ // bun wider than everything above it.) The bun is plain and the sauce half as tall as before.
108
+ const BURGER_TOP = 'M3 9.4C3 6.4 7 4 12 4s9 2.4 9 5.4a1 1 0 01-1 1H4a1 1 0 01-1-1z';
109
+ const BURGER_SAUCE = 'M3 12c1.5-.5 3-.5 4.5 0s3 .5 4.5 0 3-.5 4.5 0 3 .5 4.5 0';
110
+ const BURGER_PATTY = { x: 2.5, y: 13.6, width: 19, height: 2.9, rx: 1.45 };
111
+ const BURGER_BOTTOM = 'M3 17.6h18v1.4a2 2 0 01-2 2H5a2 2 0 01-2-2z';
105
112
  const NtdHamburger = /* @__PURE__ */ createIcon.createIcon({
106
113
  displayName: 'NtdHamburger',
107
114
  paths: {
108
- solid: ({ primaryColor, secondaryColor, strokeWidth: _strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M4 11h16a8 8 0 00-16 0z", fill: primaryColor }), jsxRuntime.jsx("rect", { x: "2", y: "11", width: "20", height: "3", rx: "1", fill: secondaryColor, opacity: 0.5 }), jsxRuntime.jsx("rect", { x: "2", y: "14", width: "20", height: "3", rx: "0.5", fill: primaryColor, opacity: 0.8 }), jsxRuntime.jsx("path", { d: "M2 17h20a1 1 0 011 1v1a2 2 0 01-2 2H3a2 2 0 01-2-2v-1a1 1 0 011-1z", fill: primaryColor })] })),
109
- outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M4 11h16a8 8 0 00-16 0z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("line", { x1: "2", y1: "14", x2: "22", y2: "14", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("path", { d: "M2 17h20a1 1 0 011 1v1a2 2 0 01-2 2H3a2 2 0 01-2-2v-1a1 1 0 011-1z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
110
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M4 11h16a8 8 0 00-16 0z", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: "M4 11h16a8 8 0 00-16 0z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("line", { x1: "2", y1: "14", x2: "22", y2: "14", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("path", { d: "M2 17h20a1 1 0 011 1v1a2 2 0 01-2 2H3a2 2 0 01-2-2v-1a1 1 0 011-1z", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: "M2 17h20a1 1 0 011 1v1a2 2 0 01-2 2H3a2 2 0 01-2-2v-1a1 1 0 011-1z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
111
- vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M4 11h16a8 8 0 00-16 0z", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M4 11h16a8 8 0 00-16 0z", fill: "white", opacity: "0.08" }), jsxRuntime.jsx("rect", { x: "2", y: "11", width: "20", height: "3", rx: "1", fill: secondaryColor }), jsxRuntime.jsx("rect", { x: "2", y: "14", width: "20", height: "3", rx: "0.5", fill: "#EF4444" }), jsxRuntime.jsx("path", { d: "M2 17h20a1 1 0 011 1v1a2 2 0 01-2 2H3a2 2 0 01-2-2v-1a1 1 0 011-1z", fill: "#10B981" })] })),
115
+ solid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: BURGER_TOP, fill: primaryColor }), jsxRuntime.jsx("path", { d: BURGER_SAUCE, stroke: secondaryColor, strokeWidth: "1.1", fill: "none" }), jsxRuntime.jsx("rect", { ...BURGER_PATTY, fill: primaryColor }), jsxRuntime.jsx("path", { d: BURGER_BOTTOM, fill: primaryColor })] })),
116
+ outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: BURGER_TOP, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: BURGER_SAUCE, stroke: primaryColor, strokeWidth: strokeWidth * 0.55, fill: "none" }), jsxRuntime.jsx("rect", { ...BURGER_PATTY, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: BURGER_BOTTOM, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
117
+ duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: BURGER_TOP, fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: BURGER_TOP, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: BURGER_SAUCE, stroke: primaryColor, strokeWidth: strokeWidth * 0.55, fill: "none" }), jsxRuntime.jsx("rect", { ...BURGER_PATTY, fill: primaryColor }), jsxRuntime.jsx("path", { d: BURGER_BOTTOM, fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: BURGER_BOTTOM, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
118
+ vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: BURGER_TOP, fill: primaryColor }), jsxRuntime.jsx("path", { d: BURGER_TOP, fill: "white", opacity: "0.12" }), jsxRuntime.jsx("path", { d: BURGER_SAUCE, stroke: secondaryColor, strokeWidth: "1.1", fill: "none" }), jsxRuntime.jsx("rect", { ...BURGER_PATTY, fill: primaryColor }), jsxRuntime.jsx("rect", { ...BURGER_PATTY, fill: "black", opacity: "0.2" }), jsxRuntime.jsx("path", { d: BURGER_BOTTOM, fill: primaryColor })] })),
112
119
  },
113
120
  });
114
121
  const NtdDna = /* @__PURE__ */ createIcon.createIcon({