@nice2dev/icons 1.2.2 → 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 (74) hide show
  1. package/CHANGELOG.md +499 -0
  2. package/README.md +146 -134
  3. package/dist/cjs/NiceIconPicker.js +17 -19
  4. package/dist/cjs/createIcon.js +10 -2
  5. package/dist/cjs/iconParts.js +49 -0
  6. package/dist/cjs/icons/accessibility.js +12 -4
  7. package/dist/cjs/icons/actions.js +67 -25
  8. package/dist/cjs/icons/business.js +58 -28
  9. package/dist/cjs/icons/ecommerce.js +0 -20
  10. package/dist/cjs/icons/education.js +22 -9
  11. package/dist/cjs/icons/files.js +70 -56
  12. package/dist/cjs/icons/fun.js +39 -25
  13. package/dist/cjs/icons/gaming.js +29 -4
  14. package/dist/cjs/icons/health.js +11 -4
  15. package/dist/cjs/icons/index.js +55 -5
  16. package/dist/cjs/icons/input.js +120 -0
  17. package/dist/cjs/icons/legal.js +4 -9
  18. package/dist/cjs/icons/media.js +26 -11
  19. package/dist/cjs/icons/navigation.js +4 -2
  20. package/dist/cjs/icons/omniverk.js +19 -6
  21. package/dist/cjs/icons/realestate.js +10 -4
  22. package/dist/cjs/icons/saas.js +15 -4
  23. package/dist/cjs/icons/science.js +6 -3
  24. package/dist/cjs/icons/shapes.js +66 -31
  25. package/dist/cjs/icons/sports.js +6 -2
  26. package/dist/cjs/icons/ui.js +62 -20
  27. package/dist/cjs/icons/weather.js +18 -8
  28. package/dist/cjs/index.js +55 -5
  29. package/dist/cjs/nicetodev-icons.css +1 -1
  30. package/dist/cjs/resolver.js +46 -1
  31. package/dist/cjs/rsc.js +1 -1
  32. package/dist/esm/NiceIconPicker.js +19 -21
  33. package/dist/esm/createIcon.js +10 -2
  34. package/dist/esm/iconParts.js +46 -0
  35. package/dist/esm/icons/accessibility.js +12 -4
  36. package/dist/esm/icons/actions.js +67 -26
  37. package/dist/esm/icons/business.js +58 -29
  38. package/dist/esm/icons/ecommerce.js +1 -19
  39. package/dist/esm/icons/education.js +22 -10
  40. package/dist/esm/icons/files.js +70 -56
  41. package/dist/esm/icons/fun.js +37 -25
  42. package/dist/esm/icons/gaming.js +29 -5
  43. package/dist/esm/icons/health.js +11 -4
  44. package/dist/esm/icons/index.js +9 -8
  45. package/dist/esm/icons/input.js +75 -0
  46. package/dist/esm/icons/legal.js +4 -9
  47. package/dist/esm/icons/media.js +26 -11
  48. package/dist/esm/icons/navigation.js +4 -2
  49. package/dist/esm/icons/omniverk.js +19 -6
  50. package/dist/esm/icons/realestate.js +10 -4
  51. package/dist/esm/icons/saas.js +15 -4
  52. package/dist/esm/icons/science.js +6 -3
  53. package/dist/esm/icons/shapes.js +66 -31
  54. package/dist/esm/icons/sports.js +6 -2
  55. package/dist/esm/icons/ui.js +62 -21
  56. package/dist/esm/icons/weather.js +18 -8
  57. package/dist/esm/index.js +9 -8
  58. package/dist/esm/nicetodev-icons.css +1 -1
  59. package/dist/esm/resolver.js +46 -1
  60. package/dist/esm/rsc.js +1 -1
  61. package/dist/types/iconParts.d.ts +19 -0
  62. package/dist/types/icons/actions.d.ts +1 -0
  63. package/dist/types/icons/business.d.ts +2 -0
  64. package/dist/types/icons/ecommerce.d.ts +0 -2
  65. package/dist/types/icons/education.d.ts +1 -0
  66. package/dist/types/icons/files.d.ts +2 -1
  67. package/dist/types/icons/fun.d.ts +6 -1
  68. package/dist/types/icons/gaming.d.ts +2 -0
  69. package/dist/types/icons/index.d.ts +9 -8
  70. package/dist/types/icons/input.d.ts +53 -0
  71. package/dist/types/icons/omniverk.d.ts +0 -2
  72. package/dist/types/icons/ui.d.ts +1 -0
  73. package/dist/types/types.d.ts +6 -0
  74. package/package.json +3 -3
@@ -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({
@@ -29,6 +29,7 @@ var food = require('./food.js');
29
29
  var travel = require('./travel.js');
30
30
  var sports = require('./sports.js');
31
31
  var omniverk = require('./omniverk.js');
32
+ var input = require('./input.js');
32
33
 
33
34
  // Navigation
34
35
 
@@ -51,6 +52,7 @@ exports.NtdClipboard = actions.NtdClipboard;
51
52
  exports.NtdCopy = actions.NtdCopy;
52
53
  exports.NtdDownload = actions.NtdDownload;
53
54
  exports.NtdEdit = actions.NtdEdit;
55
+ exports.NtdEditDetail = actions.NtdEditDetail;
54
56
  exports.NtdFilter = actions.NtdFilter;
55
57
  exports.NtdGroup = actions.NtdGroup;
56
58
  exports.NtdLink = actions.NtdLink;
@@ -74,6 +76,7 @@ exports.NtdUnlock = actions.NtdUnlock;
74
76
  exports.NtdUpload = actions.NtdUpload;
75
77
  exports.NtdZoomIn = actions.NtdZoomIn;
76
78
  exports.NtdZoomOut = actions.NtdZoomOut;
79
+ exports.NtdAdmin = ui.NtdAdmin;
77
80
  exports.NtdBackspace = ui.NtdBackspace;
78
81
  exports.NtdBell = ui.NtdBell;
79
82
  exports.NtdBookmark = ui.NtdBookmark;
@@ -197,16 +200,16 @@ exports.NtdList = files.NtdList;
197
200
  exports.NtdMonitor = files.NtdMonitor;
198
201
  exports.NtdPackage = files.NtdPackage;
199
202
  exports.NtdPieChart = files.NtdPieChart;
203
+ exports.NtdShoppingCart = files.NtdShoppingCart;
200
204
  exports.NtdSmartphone = files.NtdSmartphone;
201
205
  exports.NtdTable = files.NtdTable;
202
206
  exports.NtdTarget = files.NtdTarget;
203
207
  exports.NtdTerminal = files.NtdTerminal;
204
208
  exports.NtdTruck = files.NtdTruck;
205
- exports.NtdZap = files.NtdZap;
206
209
  exports.NtdCrown = fun.NtdCrown;
207
210
  exports.NtdDice = fun.NtdDice;
208
211
  exports.NtdDumpsterFire = fun.NtdDumpsterFire;
209
- exports.NtdGamepad = fun.NtdGamepad;
212
+ exports.NtdGamepadOldschool = fun.NtdGamepadOldschool;
210
213
  exports.NtdGhost = fun.NtdGhost;
211
214
  exports.NtdLightning = fun.NtdLightning;
212
215
  exports.NtdPartyPopper = fun.NtdPartyPopper;
@@ -214,8 +217,10 @@ exports.NtdPuzzle = fun.NtdPuzzle;
214
217
  exports.NtdRocket = fun.NtdRocket;
215
218
  exports.NtdSad = fun.NtdSad;
216
219
  exports.NtdSkull = fun.NtdSkull;
220
+ exports.NtdSmile = fun.NtdSmile;
217
221
  exports.NtdSmiley = fun.NtdSmiley;
218
222
  exports.NtdTrophy = fun.NtdTrophy;
223
+ exports.NtdZap = fun.NtdZap;
219
224
  exports.NtdAnchor = weather.NtdAnchor;
220
225
  exports.NtdBug = weather.NtdBug;
221
226
  exports.NtdCompass = weather.NtdCompass;
@@ -272,6 +277,7 @@ exports.NtdClipboardCheck = business.NtdClipboardCheck;
272
277
  exports.NtdCoins = business.NtdCoins;
273
278
  exports.NtdDollar = business.NtdDollar;
274
279
  exports.NtdInvoice = business.NtdInvoice;
280
+ exports.NtdInvoiceDoc = business.NtdInvoiceDoc;
275
281
  exports.NtdKanban = business.NtdKanban;
276
282
  exports.NtdMilestone = business.NtdMilestone;
277
283
  exports.NtdPercent = business.NtdPercent;
@@ -328,13 +334,11 @@ exports.NtdCompare = ecommerce.NtdCompare;
328
334
  exports.NtdCoupon = ecommerce.NtdCoupon;
329
335
  exports.NtdDiscount = ecommerce.NtdDiscount;
330
336
  exports.NtdGiftCard = ecommerce.NtdGiftCard;
331
- exports.NtdInvoiceDoc = ecommerce.NtdInvoiceDoc;
332
337
  exports.NtdPayment = ecommerce.NtdPayment;
333
338
  exports.NtdPromoTag = ecommerce.NtdPromoTag;
334
339
  exports.NtdRefund = ecommerce.NtdRefund;
335
340
  exports.NtdReturn = ecommerce.NtdReturn;
336
341
  exports.NtdShipping = ecommerce.NtdShipping;
337
- exports.NtdShoppingCart = ecommerce.NtdShoppingCart;
338
342
  exports.NtdStorefront = ecommerce.NtdStorefront;
339
343
  exports.NtdWishlist = ecommerce.NtdWishlist;
340
344
  exports.NtdAirdrop = fintech.NtdAirdrop;
@@ -399,7 +403,8 @@ exports.NtdOmniVerkSpinner = brand.NtdOmniVerkSpinner;
399
403
  exports.NtdOmniVerkWatermark = brand.NtdOmniVerkWatermark;
400
404
  exports.NtdDiceGaming = gaming.NtdDice;
401
405
  exports.NtdDiscord = gaming.NtdDiscord;
402
- exports.NtdGamepadController = gaming.NtdGamepad;
406
+ exports.NtdGamepad = gaming.NtdGamepad;
407
+ exports.NtdGamepadController = gaming.NtdGamepadController;
403
408
  exports.NtdHealthBar = gaming.NtdHealthBar;
404
409
  exports.NtdJoystick = gaming.NtdJoystick;
405
410
  exports.NtdLeaderboard = gaming.NtdLeaderboard;
@@ -431,6 +436,7 @@ exports.NtdTraining = ai.NtdTraining;
431
436
  exports.aiIcons = ai.aiIcons;
432
437
  exports.NtdBackpack = education.NtdBackpack;
433
438
  exports.NtdBook = education.NtdBook;
439
+ exports.NtdBookBookmark = education.NtdBookBookmark;
434
440
  exports.NtdCalculatorEdu = education.NtdCalculator;
435
441
  exports.NtdCertificate = education.NtdCertificate;
436
442
  exports.NtdDiploma = education.NtdDiploma;
@@ -542,3 +548,47 @@ exports.NtdProject = omniverk.NtdProject;
542
548
  exports.NtdShipment = omniverk.NtdShipment;
543
549
  exports.NtdTax = omniverk.NtdTax;
544
550
  exports.NtdWorkflow = omniverk.NtdWorkflow;
551
+ exports.NtdKeyBackspace = input.NtdKeyBackspace;
552
+ exports.NtdKeyCaps = input.NtdKeyCaps;
553
+ exports.NtdKeyCommand = input.NtdKeyCommand;
554
+ exports.NtdKeyControl = input.NtdKeyControl;
555
+ exports.NtdKeyEnter = input.NtdKeyEnter;
556
+ exports.NtdKeyOption = input.NtdKeyOption;
557
+ exports.NtdKeyShift = input.NtdKeyShift;
558
+ exports.NtdKeySpace = input.NtdKeySpace;
559
+ exports.NtdKeyTab = input.NtdKeyTab;
560
+ exports.NtdPadDpad = input.NtdPadDpad;
561
+ exports.NtdPadDpadDown = input.NtdPadDpadDown;
562
+ exports.NtdPadDpadLeft = input.NtdPadDpadLeft;
563
+ exports.NtdPadDpadRight = input.NtdPadDpadRight;
564
+ exports.NtdPadDpadUp = input.NtdPadDpadUp;
565
+ exports.NtdPadGenericEast = input.NtdPadGenericEast;
566
+ exports.NtdPadGenericNorth = input.NtdPadGenericNorth;
567
+ exports.NtdPadGenericSouth = input.NtdPadGenericSouth;
568
+ exports.NtdPadGenericWest = input.NtdPadGenericWest;
569
+ exports.NtdPadHome = input.NtdPadHome;
570
+ exports.NtdPadLb = input.NtdPadLb;
571
+ exports.NtdPadLt = input.NtdPadLt;
572
+ exports.NtdPadNintendoA = input.NtdPadNintendoA;
573
+ exports.NtdPadNintendoB = input.NtdPadNintendoB;
574
+ exports.NtdPadNintendoX = input.NtdPadNintendoX;
575
+ exports.NtdPadNintendoY = input.NtdPadNintendoY;
576
+ exports.NtdPadPlaystationCircle = input.NtdPadPlaystationCircle;
577
+ exports.NtdPadPlaystationCross = input.NtdPadPlaystationCross;
578
+ exports.NtdPadPlaystationSquare = input.NtdPadPlaystationSquare;
579
+ exports.NtdPadPlaystationTriangle = input.NtdPadPlaystationTriangle;
580
+ exports.NtdPadRb = input.NtdPadRb;
581
+ exports.NtdPadRt = input.NtdPadRt;
582
+ exports.NtdPadSelect = input.NtdPadSelect;
583
+ exports.NtdPadStart = input.NtdPadStart;
584
+ exports.NtdPadStickLeft = input.NtdPadStickLeft;
585
+ exports.NtdPadStickLeftPress = input.NtdPadStickLeftPress;
586
+ exports.NtdPadStickRight = input.NtdPadStickRight;
587
+ exports.NtdPadStickRightPress = input.NtdPadStickRightPress;
588
+ exports.NtdPadXboxA = input.NtdPadXboxA;
589
+ exports.NtdPadXboxB = input.NtdPadXboxB;
590
+ exports.NtdPadXboxX = input.NtdPadXboxX;
591
+ exports.NtdPadXboxY = input.NtdPadXboxY;
592
+ exports.NtdRemoteBack = input.NtdRemoteBack;
593
+ exports.NtdRemoteMenu = input.NtdRemoteMenu;
594
+ exports.NtdRemoteOk = input.NtdRemoteOk;
@@ -0,0 +1,120 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var createIcon = require('../createIcon.js');
5
+
6
+ const RING = 'M12 3a9 9 0 1 0 0 18a9 9 0 1 0 0 -18z';
7
+ /** A round button: a disc with its symbol. */
8
+ function discGlyph(displayName, symbol) {
9
+ return createIcon.createIcon({
10
+ displayName,
11
+ paths: {
12
+ 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: symbol, stroke: accentColor, strokeOpacity: accentOpacity, strokeWidth: strokeWidth, strokeLinecap: "round", strokeLinejoin: "round", fill: "none" })] })),
13
+ outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: `${RING} ${symbol}`, stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round", strokeLinejoin: "round", fill: "none" })),
14
+ duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "9", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: `${RING} ${symbol}`, stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round", strokeLinejoin: "round", fill: "none" })] })),
15
+ vivid: ({ primaryColor, accentColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10.5", fill: primaryColor }), jsxRuntime.jsx("path", { d: symbol, stroke: accentColor, strokeWidth: "2.4", strokeLinecap: "round", strokeLinejoin: "round", fill: "none" })] })),
16
+ },
17
+ });
18
+ }
19
+ /** Any other glyph: one stroked shape, bolder when solid, tinted when duotone. */
20
+ function shapeGlyph(displayName, d) {
21
+ return createIcon.createIcon({
22
+ displayName,
23
+ paths: {
24
+ solid: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: d, stroke: primaryColor, strokeWidth: strokeWidth * 1.3, strokeLinecap: "round", strokeLinejoin: "round", fill: "none" })),
25
+ outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: d, stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round", strokeLinejoin: "round", fill: "none" })),
26
+ duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsx("path", { d: d, stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round", strokeLinejoin: "round", fill: secondaryColor, fillOpacity: secondaryOpacity })),
27
+ vivid: ({ primaryColor }) => (jsxRuntime.jsx("path", { d: d, stroke: primaryColor, strokeWidth: "2.4", strokeLinecap: "round", strokeLinejoin: "round", fill: "none" })),
28
+ },
29
+ });
30
+ }
31
+ const NtdPadXboxA = /* @__PURE__ */ discGlyph('NtdPadXboxA', 'M9.25 16l2.75-8 2.75 8 M10.2 13.25h3.6');
32
+ const NtdPadXboxB = /* @__PURE__ */ discGlyph('NtdPadXboxB', 'M9.75 8v8 M9.75 8h2.5a2 2 0 0 1 0 4h-2.5 M9.75 12h3a2 2 0 0 1 0 4h-3');
33
+ const NtdPadXboxX = /* @__PURE__ */ discGlyph('NtdPadXboxX', 'M9.5 8l5 8 M14.5 8l-5 8');
34
+ const NtdPadXboxY = /* @__PURE__ */ discGlyph('NtdPadXboxY', 'M9.5 8l2.5 4 2.5-4 M12 12v4');
35
+ const NtdPadNintendoA = /* @__PURE__ */ discGlyph('NtdPadNintendoA', 'M9.25 16l2.75-8 2.75 8 M10.2 13.25h3.6');
36
+ const NtdPadNintendoB = /* @__PURE__ */ discGlyph('NtdPadNintendoB', 'M9.75 8v8 M9.75 8h2.5a2 2 0 0 1 0 4h-2.5 M9.75 12h3a2 2 0 0 1 0 4h-3');
37
+ const NtdPadNintendoX = /* @__PURE__ */ discGlyph('NtdPadNintendoX', 'M9.5 8l5 8 M14.5 8l-5 8');
38
+ const NtdPadNintendoY = /* @__PURE__ */ discGlyph('NtdPadNintendoY', 'M9.5 8l2.5 4 2.5-4 M12 12v4');
39
+ const NtdPadPlaystationCross = /* @__PURE__ */ discGlyph('NtdPadPlaystationCross', 'M9 9l6 6 M15 9l-6 6');
40
+ const NtdPadPlaystationCircle = /* @__PURE__ */ discGlyph('NtdPadPlaystationCircle', 'M12 8.25a3.75 3.75 0 1 0 0 7.5a3.75 3.75 0 1 0 0 -7.5z');
41
+ const NtdPadPlaystationSquare = /* @__PURE__ */ discGlyph('NtdPadPlaystationSquare', 'M8.5 8.5h7v7h-7z');
42
+ const NtdPadPlaystationTriangle = /* @__PURE__ */ discGlyph('NtdPadPlaystationTriangle', 'M12 8l4.5 7.5h-9z');
43
+ const NtdPadGenericNorth = /* @__PURE__ */ shapeGlyph('NtdPadGenericNorth', 'M12 3a3 3 0 1 0 0 6a3 3 0 1 0 0 -6z M12 6h.01 M18 10.25a1.75 1.75 0 1 0 0 3.5a1.75 1.75 0 1 0 0 -3.5z M6 10.25a1.75 1.75 0 1 0 0 3.5a1.75 1.75 0 1 0 0 -3.5z M12 16.25a1.75 1.75 0 1 0 0 3.5a1.75 1.75 0 1 0 0 -3.5z');
44
+ const NtdPadGenericEast = /* @__PURE__ */ shapeGlyph('NtdPadGenericEast', 'M12 4.25a1.75 1.75 0 1 0 0 3.5a1.75 1.75 0 1 0 0 -3.5z M18 9a3 3 0 1 0 0 6a3 3 0 1 0 0 -6z M18 12h.01 M6 10.25a1.75 1.75 0 1 0 0 3.5a1.75 1.75 0 1 0 0 -3.5z M12 16.25a1.75 1.75 0 1 0 0 3.5a1.75 1.75 0 1 0 0 -3.5z');
45
+ const NtdPadGenericWest = /* @__PURE__ */ shapeGlyph('NtdPadGenericWest', 'M12 4.25a1.75 1.75 0 1 0 0 3.5a1.75 1.75 0 1 0 0 -3.5z M18 10.25a1.75 1.75 0 1 0 0 3.5a1.75 1.75 0 1 0 0 -3.5z M6 9a3 3 0 1 0 0 6a3 3 0 1 0 0 -6z M6 12h.01 M12 16.25a1.75 1.75 0 1 0 0 3.5a1.75 1.75 0 1 0 0 -3.5z');
46
+ const NtdPadGenericSouth = /* @__PURE__ */ shapeGlyph('NtdPadGenericSouth', 'M12 4.25a1.75 1.75 0 1 0 0 3.5a1.75 1.75 0 1 0 0 -3.5z M18 10.25a1.75 1.75 0 1 0 0 3.5a1.75 1.75 0 1 0 0 -3.5z M6 10.25a1.75 1.75 0 1 0 0 3.5a1.75 1.75 0 1 0 0 -3.5z M12 15a3 3 0 1 0 0 6a3 3 0 1 0 0 -6z M12 18h.01');
47
+ const NtdPadLb = /* @__PURE__ */ shapeGlyph('NtdPadLb', 'M6 9h12a3 3 0 0 1 0 6H6a3 3 0 0 1 0-6z M7.5 12h.01');
48
+ const NtdPadRb = /* @__PURE__ */ shapeGlyph('NtdPadRb', 'M6 9h12a3 3 0 0 1 0 6H6a3 3 0 0 1 0-6z M16.5 12h.01');
49
+ const NtdPadLt = /* @__PURE__ */ shapeGlyph('NtdPadLt', 'M9 3h6a3 3 0 0 1 3 3v7a6 6 0 0 1-12 0V6a3 3 0 0 1 3-3z M9.5 7h.01');
50
+ const NtdPadRt = /* @__PURE__ */ shapeGlyph('NtdPadRt', 'M9 3h6a3 3 0 0 1 3 3v7a6 6 0 0 1-12 0V6a3 3 0 0 1 3-3z M14.5 7h.01');
51
+ const NtdPadStart = /* @__PURE__ */ discGlyph('NtdPadStart', 'M8.5 8.75h7 M8.5 12h7 M8.5 15.25h7');
52
+ const NtdPadSelect = /* @__PURE__ */ discGlyph('NtdPadSelect', 'M7.75 7.75h5.5v5.5h-5.5z M10.75 16.25h5.5v-5.5');
53
+ const NtdPadHome = /* @__PURE__ */ discGlyph('NtdPadHome', 'M7.95 12L12 8.6l4.05 3.4v4H7.95z');
54
+ const NtdPadDpad = /* @__PURE__ */ shapeGlyph('NtdPadDpad', 'M9 3h6v6h6v6h-6v6H9v-6H3V9h6z');
55
+ const NtdPadDpadUp = /* @__PURE__ */ shapeGlyph('NtdPadDpadUp', 'M9 3h6v6h6v6h-6v6H9v-6H3V9h6z M12 5.6l1.15 1.5h-2.3z');
56
+ const NtdPadDpadDown = /* @__PURE__ */ shapeGlyph('NtdPadDpadDown', 'M9 3h6v6h6v6h-6v6H9v-6H3V9h6z M12 18.4l1.15-1.5h-2.3z');
57
+ const NtdPadDpadLeft = /* @__PURE__ */ shapeGlyph('NtdPadDpadLeft', 'M9 3h6v6h6v6h-6v6H9v-6H3V9h6z M5.6 12l1.5-1.15v2.3z');
58
+ const NtdPadDpadRight = /* @__PURE__ */ shapeGlyph('NtdPadDpadRight', 'M9 3h6v6h6v6h-6v6H9v-6H3V9h6z M18.4 12l-1.5-1.15v2.3z');
59
+ const NtdPadStickLeft = /* @__PURE__ */ discGlyph('NtdPadStickLeft', 'M12 7.5a4.5 4.5 0 1 0 0 9a4.5 4.5 0 1 0 0 -9z M4.5 12h1');
60
+ const NtdPadStickRight = /* @__PURE__ */ discGlyph('NtdPadStickRight', 'M12 7.5a4.5 4.5 0 1 0 0 9a4.5 4.5 0 1 0 0 -9z M18.5 12h1');
61
+ const NtdPadStickLeftPress = /* @__PURE__ */ discGlyph('NtdPadStickLeftPress', 'M12 7.5a4.5 4.5 0 1 0 0 9a4.5 4.5 0 1 0 0 -9z M12 12h.01 M4.5 12h1');
62
+ const NtdPadStickRightPress = /* @__PURE__ */ discGlyph('NtdPadStickRightPress', 'M12 7.5a4.5 4.5 0 1 0 0 9a4.5 4.5 0 1 0 0 -9z M12 12h.01 M18.5 12h1');
63
+ const NtdRemoteOk = /* @__PURE__ */ discGlyph('NtdRemoteOk', 'M12 8.5a3.5 3.5 0 1 0 0 7a3.5 3.5 0 1 0 0 -7z');
64
+ const NtdRemoteBack = /* @__PURE__ */ shapeGlyph('NtdRemoteBack', 'M9 14l-4-4 4-4 M5 10h9a5 5 0 0 1 0 10h-2');
65
+ const NtdRemoteMenu = /* @__PURE__ */ shapeGlyph('NtdRemoteMenu', 'M4 6h16v12H4z M8 10h8 M8 14h8');
66
+ const NtdKeyCommand = /* @__PURE__ */ shapeGlyph('NtdKeyCommand', 'M9 9V6.5A2.5 2.5 0 1 0 6.5 9H9z M9 9h6 M9 9v6 M15 9V6.5A2.5 2.5 0 1 1 17.5 9H15z M15 9v6 M15 15H9 M15 15v2.5a2.5 2.5 0 1 0 2.5-2.5H15z M9 15H6.5A2.5 2.5 0 1 0 9 17.5V15z');
67
+ const NtdKeyOption = /* @__PURE__ */ shapeGlyph('NtdKeyOption', 'M4 6h5l6 12h5 M14 6h6');
68
+ const NtdKeyShift = /* @__PURE__ */ shapeGlyph('NtdKeyShift', 'M12 4l-8 8h4v8h8v-8h4z');
69
+ const NtdKeyControl = /* @__PURE__ */ shapeGlyph('NtdKeyControl', 'M7 14l5-5 5 5');
70
+ const NtdKeyEnter = /* @__PURE__ */ shapeGlyph('NtdKeyEnter', 'M20 5v7a3 3 0 0 1-3 3H5 M9 11l-4 4 4 4');
71
+ const NtdKeyTab = /* @__PURE__ */ shapeGlyph('NtdKeyTab', 'M4 12h14 M14 8l4 4-4 4 M20 6v12');
72
+ // On-screen keyboard keys (1.3.0 H1)
73
+ const NtdKeyBackspace = /* @__PURE__ */ shapeGlyph('NtdKeyBackspace', 'M21 5H9l-6 7 6 7h12a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1z M17 9l-6 6 M11 9l6 6');
74
+ const NtdKeySpace = /* @__PURE__ */ shapeGlyph('NtdKeySpace', 'M4 10v4h16v-4');
75
+ const NtdKeyCaps = /* @__PURE__ */ shapeGlyph('NtdKeyCaps', 'M12 4l-7 7h4v5h6v-5h4z M8 20h8');
76
+
77
+ exports.NtdKeyBackspace = NtdKeyBackspace;
78
+ exports.NtdKeyCaps = NtdKeyCaps;
79
+ exports.NtdKeyCommand = NtdKeyCommand;
80
+ exports.NtdKeyControl = NtdKeyControl;
81
+ exports.NtdKeyEnter = NtdKeyEnter;
82
+ exports.NtdKeyOption = NtdKeyOption;
83
+ exports.NtdKeyShift = NtdKeyShift;
84
+ exports.NtdKeySpace = NtdKeySpace;
85
+ exports.NtdKeyTab = NtdKeyTab;
86
+ exports.NtdPadDpad = NtdPadDpad;
87
+ exports.NtdPadDpadDown = NtdPadDpadDown;
88
+ exports.NtdPadDpadLeft = NtdPadDpadLeft;
89
+ exports.NtdPadDpadRight = NtdPadDpadRight;
90
+ exports.NtdPadDpadUp = NtdPadDpadUp;
91
+ exports.NtdPadGenericEast = NtdPadGenericEast;
92
+ exports.NtdPadGenericNorth = NtdPadGenericNorth;
93
+ exports.NtdPadGenericSouth = NtdPadGenericSouth;
94
+ exports.NtdPadGenericWest = NtdPadGenericWest;
95
+ exports.NtdPadHome = NtdPadHome;
96
+ exports.NtdPadLb = NtdPadLb;
97
+ exports.NtdPadLt = NtdPadLt;
98
+ exports.NtdPadNintendoA = NtdPadNintendoA;
99
+ exports.NtdPadNintendoB = NtdPadNintendoB;
100
+ exports.NtdPadNintendoX = NtdPadNintendoX;
101
+ exports.NtdPadNintendoY = NtdPadNintendoY;
102
+ exports.NtdPadPlaystationCircle = NtdPadPlaystationCircle;
103
+ exports.NtdPadPlaystationCross = NtdPadPlaystationCross;
104
+ exports.NtdPadPlaystationSquare = NtdPadPlaystationSquare;
105
+ exports.NtdPadPlaystationTriangle = NtdPadPlaystationTriangle;
106
+ exports.NtdPadRb = NtdPadRb;
107
+ exports.NtdPadRt = NtdPadRt;
108
+ exports.NtdPadSelect = NtdPadSelect;
109
+ exports.NtdPadStart = NtdPadStart;
110
+ exports.NtdPadStickLeft = NtdPadStickLeft;
111
+ exports.NtdPadStickLeftPress = NtdPadStickLeftPress;
112
+ exports.NtdPadStickRight = NtdPadStickRight;
113
+ exports.NtdPadStickRightPress = NtdPadStickRightPress;
114
+ exports.NtdPadXboxA = NtdPadXboxA;
115
+ exports.NtdPadXboxB = NtdPadXboxB;
116
+ exports.NtdPadXboxX = NtdPadXboxX;
117
+ exports.NtdPadXboxY = NtdPadXboxY;
118
+ exports.NtdRemoteBack = NtdRemoteBack;
119
+ exports.NtdRemoteMenu = NtdRemoteMenu;
120
+ exports.NtdRemoteOk = NtdRemoteOk;
@@ -2,19 +2,14 @@
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
  LEGAL DOCUMENTS
8
9
  ───────────────────────────────────────────────────────────────────────────── */
9
- const NtdContract = /* @__PURE__ */ createIcon.createIcon({
10
- displayName: 'NtdContract',
11
- paths: {
12
- 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 16h6", stroke: "white", strokeWidth: "1.5", strokeLinecap: "round" }), jsxRuntime.jsx("path", { d: "M10 20c2-1 3-2 4-2s2 1 2 2", stroke: "white", strokeWidth: "1.5", strokeLinecap: "round", fill: "none" })] })),
13
- 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 16h6", stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round" }), jsxRuntime.jsx("path", { d: "M10 20c2-1 3-2 4-2s2 1 2 2", stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round", fill: "none" })] })),
14
- 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 16h6", stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round" }), jsxRuntime.jsx("path", { d: "M10 20c2-1 3-2 4-2s2 1 2 2", stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round", fill: "none" })] })),
15
- 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 16h6", stroke: "white", strokeWidth: "1", strokeLinecap: "round" }), jsxRuntime.jsx("path", { d: "M10 20c2-1 3-2 4-2s2 1 2 2", stroke: "white", strokeWidth: "1", strokeLinecap: "round", fill: "none" })] })),
16
- },
17
- });
10
+ // NtdContract: NtdFile's page with two lines of text and two signature lines, left and right
11
+ // (the signature was a thick squiggle).
12
+ const NtdContract = /* @__PURE__ */ iconParts.paperIcon('NtdContract', 'M7.5 12h9M7.5 15.5h9M7.5 19h3.5M13 19h3.5');
18
13
  const NtdLegalDocument = /* @__PURE__ */ createIcon.createIcon({
19
14
  displayName: 'NtdLegalDocument',
20
15
  paths: {
@@ -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
  const NtdPlay = /* @__PURE__ */ createIcon.createIcon({
7
8
  displayName: 'NtdPlay',
@@ -112,22 +113,31 @@ const NtdMicrophoneOff = /* @__PURE__ */ createIcon.createIcon({
112
113
  vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("rect", { x: "9", y: "1", width: "6", height: "12", rx: "3", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M19 10v2a7 7 0 01-14 0v-2", stroke: secondaryColor, strokeWidth: "1.8", fill: "none" }), jsxRuntime.jsx("line", { x1: "12", y1: "19", x2: "12", y2: "23", stroke: secondaryColor, strokeWidth: "1.5" }), jsxRuntime.jsx("line", { x1: "8", y1: "23", x2: "16", y2: "23", stroke: secondaryColor, strokeWidth: "1.5" }), jsxRuntime.jsx("line", { x1: "2", y1: "2", x2: "22", y2: "22", stroke: secondaryColor, strokeWidth: "1.8" })] })),
113
114
  },
114
115
  });
116
+ // NtdMusic: the note heads are tilted ellipses whose right edge is the stem's right edge, and the
117
+ // stems end where that edge is vertical, so stem and head meet without a step (the heads stuck
118
+ // out right of the stems). The outline heads are the filled ones moved in by half a stroke, so
119
+ // their stroke meets the stem the same way.
120
+ const MUSIC_STEMS = 'M8.3 17.22V5l12-2v12.22';
115
121
  const NtdMusic = /* @__PURE__ */ createIcon.createIcon({
116
122
  displayName: 'NtdMusic',
117
123
  paths: {
118
- solid: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M9 18V5l12-2v13", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("ellipse", { cx: "7", cy: "18", rx: "3.4", ry: "2.5", transform: "rotate(-22 7 18)", fill: primaryColor }), jsxRuntime.jsx("ellipse", { cx: "19", cy: "16", rx: "3.4", ry: "2.5", transform: "rotate(-22 19 16)", fill: primaryColor })] })),
119
- outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M9 18V5l12-2v13", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("ellipse", { cx: "7", cy: "18", rx: "3.4", ry: "2.5", transform: "rotate(-22 7 18)", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("ellipse", { cx: "19", cy: "16", rx: "3.4", ry: "2.5", transform: "rotate(-22 19 16)", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
120
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M9 5l12-2v13", stroke: secondaryColor, strokeWidth: strokeWidth, fill: "none", opacity: secondaryOpacity + 0.2 }), jsxRuntime.jsx("path", { d: "M9 18V5l12-2v13", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("ellipse", { cx: "7", cy: "18", rx: "3.4", ry: "2.5", transform: "rotate(-22 7 18)", fill: primaryColor }), jsxRuntime.jsx("ellipse", { cx: "19", cy: "16", rx: "3.4", ry: "2.5", transform: "rotate(-22 19 16)", fill: primaryColor })] })),
121
- vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("ellipse", { cx: "7", cy: "18", rx: "3.4", ry: "2.5", transform: "rotate(-22 7 18)", fill: primaryColor }), jsxRuntime.jsx("ellipse", { cx: "7", cy: "18", rx: "3.4", ry: "2.5", transform: "rotate(-22 7 18)", fill: "white", opacity: "0.08" }), jsxRuntime.jsx("ellipse", { cx: "19", cy: "16", rx: "3.4", ry: "2.5", transform: "rotate(-22 19 16)", fill: secondaryColor }), jsxRuntime.jsx("path", { d: "M9 18V5l12-2v13", stroke: "white", strokeWidth: "1", fill: "none" })] })),
124
+ solid: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: MUSIC_STEMS, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsxs("g", { fill: primaryColor, children: [jsxRuntime.jsx("ellipse", { cx: "5.97", cy: "18", rx: "3.5", ry: "2.3", transform: "rotate(-24 5.97 18)" }), jsxRuntime.jsx("ellipse", { cx: "17.97", cy: "16", rx: "3.5", ry: "2.3", transform: "rotate(-24 17.97 16)" })] })] })),
125
+ // the stems stop a unit higher: the square caps of `sharp` then end at the heads' edge
126
+ sharp: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M8.3 16.22V5l12-2v11.22", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsxs("g", { fill: primaryColor, children: [jsxRuntime.jsx("ellipse", { cx: "5.97", cy: "18", rx: "3.5", ry: "2.3", transform: "rotate(-24 5.97 18)" }), jsxRuntime.jsx("ellipse", { cx: "17.97", cy: "16", rx: "3.5", ry: "2.3", transform: "rotate(-24 17.97 16)" })] })] })),
127
+ outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: MUSIC_STEMS, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsxs("g", { stroke: primaryColor, strokeWidth: strokeWidth, fill: "none", children: [jsxRuntime.jsx("ellipse", { cx: "5.97", cy: "18", rx: "2.5", ry: "1.3", transform: "rotate(-24 5.97 18)" }), jsxRuntime.jsx("ellipse", { cx: "17.97", cy: "16", rx: "2.5", ry: "1.3", transform: "rotate(-24 17.97 16)" })] })] })),
128
+ duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M8.3 5l12-2v12.22", stroke: secondaryColor, strokeWidth: strokeWidth, fill: "none", opacity: secondaryOpacity + 0.2 }), jsxRuntime.jsx("path", { d: MUSIC_STEMS, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsxs("g", { fill: primaryColor, children: [jsxRuntime.jsx("ellipse", { cx: "5.97", cy: "18", rx: "3.5", ry: "2.3", transform: "rotate(-24 5.97 18)" }), jsxRuntime.jsx("ellipse", { cx: "17.97", cy: "16", rx: "3.5", ry: "2.3", transform: "rotate(-24 17.97 16)" })] })] })),
129
+ vivid: ({ primaryColor, secondaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: MUSIC_STEMS, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("ellipse", { cx: "5.97", cy: "18", rx: "3.5", ry: "2.3", transform: "rotate(-24 5.97 18)", fill: primaryColor }), jsxRuntime.jsx("ellipse", { cx: "17.97", cy: "16", rx: "3.5", ry: "2.3", transform: "rotate(-24 17.97 16)", fill: secondaryColor })] })),
122
130
  },
123
131
  });
132
+ // The flap is a cut through the envelope, kept inside it: its ends meet the sides flush (the
133
+ // round caps stuck out past the corners).
124
134
  const NtdMail = /* @__PURE__ */ createIcon.createIcon({
125
135
  displayName: 'NtdMail',
126
136
  paths: {
127
- solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth: _strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("rect", { x: "2", y: "4", width: "20", height: "16", rx: "2", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M22 6l-10 7L2 6", stroke: accentColor, strokeWidth: "1.5", fill: "none", opacity: accentOpacity })] })),
137
+ solid: ({ primaryColor, accentColor, accentOpacity, uid }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("rect", { x: "2", y: "4", width: "20", height: "16", rx: "2", fill: primaryColor }), iconParts.within(uid, 'flap', jsxRuntime.jsx("rect", { x: "2", y: "4", width: "20", height: "16", rx: "2" }), jsxRuntime.jsx("path", { d: "M22 6l-10 7L2 6", stroke: accentColor, strokeWidth: "1.5", fill: "none", opacity: accentOpacity }))] })),
128
138
  outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("rect", { x: "2", y: "4", width: "20", height: "16", rx: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: "M22 6l-10 7L2 6", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
129
139
  duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("rect", { x: "2", y: "4", width: "20", height: "16", rx: "2", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("rect", { x: "2", y: "4", width: "20", height: "16", rx: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: "M22 6l-10 7L2 6", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
130
- vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("rect", { x: "2", y: "4", width: "20", height: "16", rx: "2", fill: primaryColor }), jsxRuntime.jsx("rect", { x: "2", y: "4", width: "20", height: "16", rx: "2", fill: "white", opacity: "0.1" }), jsxRuntime.jsx("path", { d: "M22 6l-10 7L2 6", stroke: secondaryColor, strokeWidth: "1.8", fill: "none" })] })),
140
+ vivid: ({ primaryColor, secondaryColor, uid }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("rect", { x: "2", y: "4", width: "20", height: "16", rx: "2", fill: primaryColor }), jsxRuntime.jsx("rect", { x: "2", y: "4", width: "20", height: "16", rx: "2", fill: "white", opacity: "0.1" }), iconParts.within(uid, 'flap', jsxRuntime.jsx("rect", { x: "2", y: "4", width: "20", height: "16", rx: "2" }), jsxRuntime.jsx("path", { d: "M22 6l-10 7L2 6", stroke: secondaryColor, strokeWidth: "1.8", fill: "none" }))] })),
131
141
  },
132
142
  });
133
143
  // Inbox: a tray (open box seen from the front, the dip where letters land), next to NtdMail's
@@ -141,22 +151,27 @@ const NtdInbox = /* @__PURE__ */ createIcon.createIcon({
141
151
  vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxRuntime.jsx("path", { d: "M5.45 5.11L2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11zM4.24 12h3.23l2 3h5.06l2-3h3.23l-2.68-5.37a.5.5 0 0 0-.45-.27H7.37a.5.5 0 0 0-.45.27z", fill: primaryColor, fillRule: "evenodd" })),
142
152
  },
143
153
  });
154
+ const PHONE_HANDSET = 'M22 16.92v3a2 2 0 01-2.18 2 19.79 19.79 0 01-8.63-3.07 19.5 19.5 0 01-6-6 19.79 19.79 0 01-3.07-8.67A2 2 0 014.11 2h3a2 2 0 012 1.72 12.84 12.84 0 00.7 2.81 2 2 0 01-.45 2.11L8.09 9.91a16 16 0 006 6l1.27-1.27a2 2 0 012.11-.45 12.84 12.84 0 002.81.7A2 2 0 0122 16.92z';
144
155
  const NtdPhone = /* @__PURE__ */ createIcon.createIcon({
145
156
  displayName: 'NtdPhone',
146
157
  paths: {
147
158
  solid: ({ primaryColor, strokeWidth: _strokeWidth }) => (jsxRuntime.jsx("path", { d: "M22 16.92v3a2 2 0 01-2.18 2 19.79 19.79 0 01-8.63-3.07 19.5 19.5 0 01-6-6 19.79 19.79 0 01-3.07-8.67A2 2 0 014.11 2h3a2 2 0 012 1.72 12.84 12.84 0 00.7 2.81 2 2 0 01-.45 2.11L8.09 9.91a16 16 0 006 6l1.27-1.27a2 2 0 012.11-.45 12.84 12.84 0 002.81.7A2 2 0 0122 16.92z", fill: primaryColor })),
148
159
  outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: "M22 16.92v3a2 2 0 01-2.18 2 19.79 19.79 0 01-8.63-3.07 19.5 19.5 0 01-6-6 19.79 19.79 0 01-3.07-8.67A2 2 0 014.11 2h3a2 2 0 012 1.72 12.84 12.84 0 00.7 2.81 2 2 0 01-.45 2.11L8.09 9.91a16 16 0 006 6l1.27-1.27a2 2 0 012.11-.45 12.84 12.84 0 002.81.7A2 2 0 0122 16.92z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })),
149
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M22 16.92v3a2 2 0 01-2.18 2 19.79 19.79 0 01-8.63-3.07 19.5 19.5 0 01-6-6 19.79 19.79 0 01-3.07-8.67A2 2 0 014.11 2h3a2 2 0 012 1.72 12.84 12.84 0 00.7 2.81 2 2 0 01-.45 2.11L8.09 9.91a16 16 0 006 6l1.27-1.27a2 2 0 012.11-.45 12.84 12.84 0 002.81.7A2 2 0 0122 16.92z", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: "M22 16.92v3a2 2 0 01-2.18 2 19.79 19.79 0 01-8.63-3.07 19.5 19.5 0 01-6-6 19.79 19.79 0 01-3.07-8.67A2 2 0 014.11 2h3a2 2 0 012 1.72 12.84 12.84 0 00.7 2.81 2 2 0 01-.45 2.11L8.09 9.91a16 16 0 006 6l1.27-1.27a2 2 0 012.11-.45 12.84 12.84 0 002.81.7A2 2 0 0122 16.92z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
160
+ // Fills only, a colour per part: the ear and mouth pieces primary, the grip between them
161
+ // secondary. The handset is symmetric about (x, y) -> (24 - y, 24 - x), so the two cuts are
162
+ // mirror images, each through the corner where an end piece meets the grip.
163
+ duotone: ({ primaryColor, secondaryColor, uid }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: PHONE_HANDSET, fill: secondaryColor }), iconParts.within(uid, 'ear', jsxRuntime.jsx("polygon", { points: "0,0 13,0 13,9.5 0,10.59" }), jsxRuntime.jsx("path", { d: PHONE_HANDSET, fill: primaryColor })), iconParts.within(uid, 'mouth', jsxRuntime.jsx("polygon", { points: "24,24 24,11 14.5,11 13.41,24" }), jsxRuntime.jsx("path", { d: PHONE_HANDSET, fill: primaryColor }))] })),
150
164
  vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M22 16.92v3a2 2 0 01-2.18 2 19.79 19.79 0 01-8.63-3.07 19.5 19.5 0 01-6-6 19.79 19.79 0 01-3.07-8.67A2 2 0 014.11 2h3a2 2 0 012 1.72 12.84 12.84 0 00.7 2.81 2 2 0 01-.45 2.11L8.09 9.91a16 16 0 006 6l1.27-1.27a2 2 0 012.11-.45 12.84 12.84 0 002.81.7A2 2 0 0122 16.92z", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M22 16.92v3a2 2 0 01-2.18 2 19.79 19.79 0 01-8.63-3.07 19.5 19.5 0 01-6-6 19.79 19.79 0 01-3.07-8.67A2 2 0 014.11 2h3a2 2 0 012 1.72 12.84 12.84 0 00.7 2.81 2 2 0 01-.45 2.11L8.09 9.91a16 16 0 006 6l1.27-1.27a2 2 0 012.11-.45 12.84 12.84 0 002.81.7A2 2 0 0122 16.92z", fill: "white", opacity: "0.1" })] })),
151
165
  },
152
166
  });
167
+ // The tail leaves the bubble's bottom edge 4 units in from the left (it ran down the left side).
153
168
  const NtdChat = /* @__PURE__ */ createIcon.createIcon({
154
169
  displayName: 'NtdChat',
155
170
  paths: {
156
- solid: ({ primaryColor, strokeWidth: _strokeWidth }) => (jsxRuntime.jsx("path", { d: "M21 15a2 2 0 01-2 2H7l-4 4V5a2 2 0 012-2h14a2 2 0 012 2v10z", fill: primaryColor })),
157
- outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: "M21 15a2 2 0 01-2 2H7l-4 4V5a2 2 0 012-2h14a2 2 0 012 2v10z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })),
158
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M21 15a2 2 0 01-2 2H7l-4 4V5a2 2 0 012-2h14a2 2 0 012 2v10z", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: "M21 15a2 2 0 01-2 2H7l-4 4V5a2 2 0 012-2h14a2 2 0 012 2v10z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
159
- vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M21 15a2 2 0 01-2 2H7l-4 4V5a2 2 0 012-2h14a2 2 0 012 2v10z", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M21 15a2 2 0 01-2 2H7l-4 4V5a2 2 0 012-2h14a2 2 0 012 2v10z", fill: "white", opacity: "0.1" })] })),
171
+ solid: ({ primaryColor, strokeWidth: _strokeWidth }) => (jsxRuntime.jsx("path", { d: "M5 3h14a2 2 0 012 2v10a2 2 0 01-2 2h-8l-4 4v-4H5a2 2 0 01-2-2V5a2 2 0 012-2z", fill: primaryColor })),
172
+ outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: "M5 3h14a2 2 0 012 2v10a2 2 0 01-2 2h-8l-4 4v-4H5a2 2 0 01-2-2V5a2 2 0 012-2z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })),
173
+ duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M5 3h14a2 2 0 012 2v10a2 2 0 01-2 2h-8l-4 4v-4H5a2 2 0 01-2-2V5a2 2 0 012-2z", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: "M5 3h14a2 2 0 012 2v10a2 2 0 01-2 2h-8l-4 4v-4H5a2 2 0 01-2-2V5a2 2 0 012-2z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
174
+ vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M5 3h14a2 2 0 012 2v10a2 2 0 01-2 2h-8l-4 4v-4H5a2 2 0 01-2-2V5a2 2 0 012-2z", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M5 3h14a2 2 0 012 2v10a2 2 0 01-2 2h-8l-4 4v-4H5a2 2 0 01-2-2V5a2 2 0 012-2z", fill: "white", opacity: "0.1" })] })),
160
175
  },
161
176
  });
162
177
  /* NtdSend — the paper plane read ~20% oversized next to the rest of the set,
@@ -84,13 +84,15 @@ const NtdMenu = /* @__PURE__ */ createIcon.createIcon({
84
84
  vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("rect", { x: "3", y: "5", width: "18", height: "2", rx: "1", fill: primaryColor }), jsxRuntime.jsx("rect", { x: "3", y: "5", width: "18", height: "2", rx: "1", fill: "white", opacity: "0.08" }), jsxRuntime.jsx("rect", { x: "3", y: "11", width: "18", height: "2", rx: "1", fill: secondaryColor }), jsxRuntime.jsx("rect", { x: "3", y: "17", width: "18", height: "2", rx: "1", fill: "#3B82F6" })] })),
85
85
  },
86
86
  });
87
+ // The filled cross is drawn as two strokes at twice the stroke width, like NtdCheck: it was a
88
+ // fixed outline that did not follow `strokeWidth` at all.
87
89
  const NtdClose = /* @__PURE__ */ createIcon.createIcon({
88
90
  displayName: 'NtdClose',
89
91
  paths: {
90
- solid: ({ primaryColor }) => (jsxRuntime.jsx("path", { d: "M18.3 5.7a1 1 0 00-1.4 0L12 10.6 7.1 5.7a1 1 0 00-1.4 1.4L10.6 12l-4.9 4.9a1 1 0 001.4 1.4L12 13.4l4.9 4.9a1 1 0 001.4-1.4L13.4 12l4.9-4.9a1 1 0 000-1.4z", fill: primaryColor })),
92
+ solid: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: "M18 6L6 18M6 6l12 12", stroke: primaryColor, strokeWidth: strokeWidth * 2 })),
91
93
  outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("line", { x1: "6", y1: "6", x2: "18", y2: "18", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("line", { x1: "18", y1: "6", x2: "6", y2: "18", stroke: primaryColor, strokeWidth: strokeWidth })] })),
92
94
  duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "9", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("line", { x1: "8", y1: "8", x2: "16", y2: "16", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("line", { x1: "16", y1: "8", x2: "8", y2: "16", stroke: primaryColor, strokeWidth: strokeWidth })] })),
93
- vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M18.3 5.7a1 1 0 00-1.4 0L12 10.6 7.1 5.7a1 1 0 00-1.4 1.4L10.6 12l-4.9 4.9a1 1 0 001.4 1.4L12 13.4l4.9 4.9a1 1 0 001.4-1.4L13.4 12l4.9-4.9a1 1 0 000-1.4z", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M18.3 5.7a1 1 0 00-1.4 0L12 10.6 7.1 5.7a1 1 0 00-1.4 1.4L10.6 12l-4.9 4.9a1 1 0 001.4 1.4L12 13.4l4.9 4.9a1 1 0 001.4-1.4L13.4 12l4.9-4.9a1 1 0 000-1.4z", fill: "white", opacity: "0.1" })] })),
95
+ vivid: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: "M18 6L6 18M6 6l12 12", stroke: primaryColor, strokeWidth: strokeWidth * 2 })),
94
96
  },
95
97
  });
96
98
  const NtdMoreHorizontal = /* @__PURE__ */ createIcon.createIcon({