@nice2dev/icons 1.2.2 → 1.3.1

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 +503 -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
@@ -1,13 +1,21 @@
1
1
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
2
  import { createIcon } from '../createIcon.js';
3
+ import { paperIcon, within } from '../iconParts.js';
3
4
 
5
+ // The band sits halfway down the case and is a cut through it: kept inside the case it meets the
6
+ // sides flush (its round caps stuck out of both). A clasp hangs from its middle.
7
+ const BRIEFCASE_CASE = { x: 2, y: 7, width: 20, height: 14, rx: 2 };
8
+ const BRIEFCASE_HANDLE = 'M16 7V5a2 2 0 00-2-2h-4a2 2 0 00-2 2v2';
9
+ /** The clasp over the band, hanging down from it, with its slot (even-odd). */
10
+ const BRIEFCASE_CLASP = 'M11.2 11.2h1.6a.8.8 0 01.8.8v3.4a.8.8 0 01-.8.8h-1.6a.8.8 0 01-.8-.8V12a.8.8 0 01.8-.8z';
11
+ const BRIEFCASE_SLOT = 'M11.4 13.6h1.2v1.2h-1.2z';
4
12
  const NtdBriefcase = /* @__PURE__ */ createIcon({
5
13
  displayName: 'NtdBriefcase',
6
14
  paths: {
7
- solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "2", y: "7", width: "20", height: "14", rx: "2", fill: primaryColor }), jsx("path", { d: "M16 7V5a2 2 0 00-2-2h-4a2 2 0 00-2 2v2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("line", { x1: "2", y1: "13", x2: "22", y2: "13", stroke: accentColor, strokeWidth: "1.5", opacity: accentOpacity * 0.5 })] })),
8
- outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "2", y: "7", width: "20", height: "14", rx: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M16 7V5a2 2 0 00-2-2h-4a2 2 0 00-2 2v2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("line", { x1: "2", y1: "13", x2: "22", y2: "13", stroke: primaryColor, strokeWidth: "1.5" })] })),
9
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "2", y: "7", width: "20", height: "14", rx: "2", fill: secondaryColor, opacity: secondaryOpacity }), jsx("rect", { x: "2", y: "7", width: "20", height: "14", rx: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M16 7V5a2 2 0 00-2-2h-4a2 2 0 00-2 2v2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("line", { x1: "2", y1: "13", x2: "22", y2: "13", stroke: primaryColor, strokeWidth: "1.5" })] })),
10
- vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("rect", { x: "2", y: "7", width: "20", height: "14", rx: "2", fill: primaryColor }), jsx("rect", { x: "2", y: "7", width: "20", height: "14", rx: "2", fill: "white", opacity: "0.1" }), jsx("path", { d: "M16 7V5a2 2 0 00-2-2h-4a2 2 0 00-2 2v2", stroke: secondaryColor, strokeWidth: "1.8", fill: "none" }), jsx("line", { x1: "2", y1: "13", x2: "22", y2: "13", stroke: "#3B82F6", strokeWidth: "1.5" })] })),
15
+ solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth, uid }) => (jsxs(Fragment, { children: [jsx("rect", { ...BRIEFCASE_CASE, fill: primaryColor }), jsx("path", { d: BRIEFCASE_HANDLE, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxs("g", { fill: accentColor, opacity: accentOpacity, children: [within(uid, 'band', jsx("rect", { ...BRIEFCASE_CASE }), jsx("line", { x1: "2", y1: "12.5", x2: "22", y2: "12.5", stroke: accentColor, strokeWidth: "1.5" })), jsx("path", { d: `${BRIEFCASE_CLASP}${BRIEFCASE_SLOT}`, fillRule: "evenodd" })] })] })),
16
+ outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { ...BRIEFCASE_CASE, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: BRIEFCASE_HANDLE, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("line", { x1: "2", y1: "12.5", x2: "22", y2: "12.5", stroke: primaryColor, strokeWidth: "1.5" }), jsx("path", { d: BRIEFCASE_CLASP, fill: primaryColor })] })),
17
+ duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { ...BRIEFCASE_CASE, fill: secondaryColor, opacity: secondaryOpacity }), jsx("rect", { ...BRIEFCASE_CASE, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: BRIEFCASE_HANDLE, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("line", { x1: "2", y1: "12.5", x2: "22", y2: "12.5", stroke: primaryColor, strokeWidth: "1.5" }), jsx("path", { d: BRIEFCASE_CLASP, fill: primaryColor })] })),
18
+ vivid: ({ primaryColor, secondaryColor, uid }) => (jsxs(Fragment, { children: [jsx("rect", { ...BRIEFCASE_CASE, fill: primaryColor }), jsx("rect", { ...BRIEFCASE_CASE, fill: "white", opacity: "0.1" }), jsx("path", { d: BRIEFCASE_HANDLE, stroke: secondaryColor, strokeWidth: "1.8", fill: "none" }), within(uid, 'band', jsx("rect", { ...BRIEFCASE_CASE }), jsx("line", { x1: "2", y1: "12.5", x2: "22", y2: "12.5", stroke: secondaryColor, strokeWidth: "1.5" })), jsx("path", { d: `${BRIEFCASE_CLASP}${BRIEFCASE_SLOT}`, fillRule: "evenodd", fill: secondaryColor })] })),
11
19
  },
12
20
  });
13
21
  const NtdDollar = /* @__PURE__ */ createIcon({
@@ -28,22 +36,25 @@ const NtdWallet = /* @__PURE__ */ createIcon({
28
36
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("rect", { x: "2", y: "5", width: "20", height: "16", rx: "2", fill: primaryColor }), jsx("rect", { x: "2", y: "5", width: "20", height: "16", rx: "2", fill: "white", opacity: "0.08" }), jsx("circle", { cx: "18", cy: "13", r: "1.5", fill: secondaryColor }), jsx("path", { d: "M2 5a2 2 0 012-2h12l4 4", stroke: "white", strokeWidth: "1", fill: "none" })] })),
29
37
  },
30
38
  });
39
+ // NtdReceipt: two rows of description and amount, then the total on its own on the right.
40
+ const RECEIPT = 'M4 2v20l3-2 3 2 3-2 3 2 3-2 3 2V2H4z';
41
+ const RECEIPT_TEXT = 'M7.5 7.5h5M15.5 7.5h2M7.5 11.5h5M15.5 11.5h2M13.5 15.5h4';
31
42
  const NtdReceipt = /* @__PURE__ */ createIcon({
32
43
  displayName: 'NtdReceipt',
33
44
  paths: {
34
- solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth: _strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M4 2v20l3-2 3 2 3-2 3 2 3-2 3 2V2H4z", fill: primaryColor }), jsx("line", { x1: "8", y1: "8", x2: "16", y2: "8", stroke: accentColor, strokeWidth: "1.5", opacity: accentOpacity }), jsx("line", { x1: "8", y1: "12", x2: "16", y2: "12", stroke: accentColor, strokeWidth: "1.5", opacity: accentOpacity }), jsx("line", { x1: "8", y1: "16", x2: "12", y2: "16", stroke: accentColor, strokeWidth: "1.5", opacity: accentOpacity })] })),
35
- outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M4 2v20l3-2 3 2 3-2 3 2 3-2 3 2V2H4z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("line", { x1: "8", y1: "8", x2: "16", y2: "8", stroke: primaryColor, strokeWidth: "1.5" }), jsx("line", { x1: "8", y1: "12", x2: "16", y2: "12", stroke: primaryColor, strokeWidth: "1.5" }), jsx("line", { x1: "8", y1: "16", x2: "12", y2: "16", stroke: primaryColor, strokeWidth: "1.5" })] })),
36
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M4 2v20l3-2 3 2 3-2 3 2 3-2 3 2V2H4z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M4 2v20l3-2 3 2 3-2 3 2 3-2 3 2V2H4z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("line", { x1: "8", y1: "8", x2: "16", y2: "8", stroke: primaryColor, strokeWidth: "1.5" }), jsx("line", { x1: "8", y1: "12", x2: "16", y2: "12", stroke: primaryColor, strokeWidth: "1.5" }), jsx("line", { x1: "8", y1: "16", x2: "12", y2: "16", stroke: primaryColor, strokeWidth: "1.5" })] })),
37
- vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M4 2v20l3-2 3 2 3-2 3 2 3-2 3 2V2H4z", fill: primaryColor }), jsx("path", { d: "M4 2v20l3-2 3 2 3-2 3 2 3-2 3 2V2H4z", fill: "white", opacity: "0.1" }), jsx("line", { x1: "8", y1: "8", x2: "16", y2: "8", stroke: secondaryColor, strokeWidth: "1.8" }), jsx("line", { x1: "8", y1: "12", x2: "16", y2: "12", stroke: "#3B82F6", strokeWidth: "1.5" }), jsx("line", { x1: "8", y1: "16", x2: "12", y2: "16", stroke: "#3B82F6", strokeWidth: "1.5" })] })),
45
+ solid: ({ primaryColor, accentColor, accentOpacity }) => (jsxs(Fragment, { children: [jsx("path", { d: RECEIPT, fill: primaryColor }), jsx("path", { d: RECEIPT_TEXT, stroke: accentColor, strokeWidth: "1.5", opacity: accentOpacity, fill: "none" })] })),
46
+ outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: RECEIPT, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: RECEIPT_TEXT, stroke: primaryColor, strokeWidth: "1.5", fill: "none" })] })),
47
+ duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: RECEIPT, fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: RECEIPT, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: RECEIPT_TEXT, stroke: primaryColor, strokeWidth: "1.5", fill: "none" })] })),
48
+ vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: RECEIPT, fill: primaryColor }), jsx("path", { d: RECEIPT, fill: "white", opacity: "0.1" }), jsx("path", { d: RECEIPT_TEXT, stroke: "white", strokeOpacity: "0.9", strokeWidth: "1.5", fill: "none" }), jsx("path", { d: "M13.5 15.5h4", stroke: secondaryColor, strokeWidth: "1.8" })] })),
38
49
  },
39
50
  });
40
51
  const NtdBank = /* @__PURE__ */ createIcon({
41
52
  displayName: 'NtdBank',
42
53
  paths: {
43
- solid: ({ primaryColor, strokeWidth: _strokeWidth }) => (jsxs(Fragment, { children: [jsx("polygon", { points: "12,4 2,9 22,9", fill: primaryColor }), jsx("rect", { x: "2", y: "18", width: "20", height: "2", rx: "0.5", fill: primaryColor }), jsx("rect", { x: "5", y: "9", width: "2", height: "9", fill: primaryColor }), jsx("rect", { x: "9", y: "9", width: "2", height: "9", fill: primaryColor }), jsx("rect", { x: "13", y: "9", width: "2", height: "9", fill: primaryColor }), jsx("rect", { x: "17", y: "9", width: "2", height: "9", fill: primaryColor })] })),
44
- outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("polygon", { points: "12,4 2,9 22,9", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("line", { x1: "2", y1: "18", x2: "22", y2: "18", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "6", y1: "9", x2: "6", y2: "18", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "10", y1: "9", x2: "10", y2: "18", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "14", y1: "9", x2: "14", y2: "18", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "18", y1: "9", x2: "18", y2: "18", stroke: primaryColor, strokeWidth: strokeWidth })] })),
45
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("polygon", { points: "12,4 2,9 22,9", fill: secondaryColor, opacity: secondaryOpacity }), jsx("polygon", { points: "12,4 2,9 22,9", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("line", { x1: "2", y1: "18", x2: "22", y2: "18", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "6", y1: "9", x2: "6", y2: "18", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "10", y1: "9", x2: "10", y2: "18", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "14", y1: "9", x2: "14", y2: "18", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "18", y1: "9", x2: "18", y2: "18", stroke: primaryColor, strokeWidth: strokeWidth })] })),
46
- vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("polygon", { points: "12,4 2,9 22,9", fill: primaryColor }), jsx("polygon", { points: "12,4 2,9 22,9", fill: "white", opacity: "0.08" }), jsx("rect", { x: "2", y: "18", width: "20", height: "2", rx: "0.5", fill: secondaryColor }), jsx("rect", { x: "5", y: "9", width: "2", height: "9", fill: "#3B82F6" }), jsx("rect", { x: "9", y: "9", width: "2", height: "9", fill: "#10B981" }), jsx("rect", { x: "13", y: "9", width: "2", height: "9", fill: "#F59E0B" }), jsx("rect", { x: "17", y: "9", width: "2", height: "9", fill: "#F59E0B" })] })),
54
+ solid: ({ primaryColor, strokeWidth: _strokeWidth }) => (jsxs(Fragment, { children: [jsx("polygon", { points: "12,2 2,9 22,9", fill: primaryColor }), jsx("rect", { x: "2", y: "18", width: "20", height: "2", rx: "0.5", fill: primaryColor }), jsx("rect", { x: "5", y: "9", width: "2", height: "9", fill: primaryColor }), jsx("rect", { x: "9", y: "9", width: "2", height: "9", fill: primaryColor }), jsx("rect", { x: "13", y: "9", width: "2", height: "9", fill: primaryColor }), jsx("rect", { x: "17", y: "9", width: "2", height: "9", fill: primaryColor })] })),
55
+ outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("polygon", { points: "12,2 2,9 22,9", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("line", { x1: "2", y1: "18", x2: "22", y2: "18", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "6", y1: "9", x2: "6", y2: "18", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "10", y1: "9", x2: "10", y2: "18", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "14", y1: "9", x2: "14", y2: "18", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "18", y1: "9", x2: "18", y2: "18", stroke: primaryColor, strokeWidth: strokeWidth })] })),
56
+ duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("polygon", { points: "12,2 2,9 22,9", fill: secondaryColor, opacity: secondaryOpacity }), jsx("polygon", { points: "12,2 2,9 22,9", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("line", { x1: "2", y1: "18", x2: "22", y2: "18", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "6", y1: "9", x2: "6", y2: "18", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "10", y1: "9", x2: "10", y2: "18", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "14", y1: "9", x2: "14", y2: "18", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "18", y1: "9", x2: "18", y2: "18", stroke: primaryColor, strokeWidth: strokeWidth })] })),
57
+ vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("polygon", { points: "12,2 2,9 22,9", fill: primaryColor }), jsx("polygon", { points: "12,2 2,9 22,9", fill: "white", opacity: "0.08" }), jsx("rect", { x: "2", y: "18", width: "20", height: "2", rx: "0.5", fill: secondaryColor }), jsx("rect", { x: "5", y: "9", width: "2", height: "9", fill: "#3B82F6" }), jsx("rect", { x: "9", y: "9", width: "2", height: "9", fill: "#10B981" }), jsx("rect", { x: "13", y: "9", width: "2", height: "9", fill: "#F59E0B" }), jsx("rect", { x: "17", y: "9", width: "2", height: "9", fill: "#F59E0B" })] })),
47
58
  },
48
59
  });
49
60
  const NtdTrendUp = /* @__PURE__ */ createIcon({
@@ -64,24 +75,24 @@ const NtdTrendDown = /* @__PURE__ */ createIcon({
64
75
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("polyline", { points: "23,18 13.5,8.5 8.5,13.5 1,6", stroke: primaryColor, strokeWidth: "2", fill: "none" }), jsx("polyline", { points: "17,18 23,18 23,12", stroke: secondaryColor, strokeWidth: "2", fill: "none" })] })),
65
76
  },
66
77
  });
78
+ // NtdPercent: the dots are rings in every variant, a hole in each (they were plain discs when
79
+ // filled).
80
+ const PERCENT_DOT_TOP = 'M6.5 3.9a2.6 2.6 0 100 5.2 2.6 2.6 0 100-5.2zM6.5 5.4a1.1 1.1 0 100 2.2 1.1 1.1 0 100-2.2z';
81
+ const PERCENT_DOT_BOTTOM = 'M17.5 14.9a2.6 2.6 0 100 5.2 2.6 2.6 0 100-5.2zM17.5 16.4a1.1 1.1 0 100 2.2 1.1 1.1 0 100-2.2z';
67
82
  const NtdPercent = /* @__PURE__ */ createIcon({
68
83
  displayName: 'NtdPercent',
69
84
  paths: {
70
- solid: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("line", { x1: "19", y1: "5", x2: "5", y2: "19", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("circle", { cx: "6.5", cy: "6.5", r: "2.5", fill: primaryColor }), jsx("circle", { cx: "17.5", cy: "17.5", r: "2.5", fill: primaryColor })] })),
85
+ solid: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("line", { x1: "19", y1: "5", x2: "5", y2: "19", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("path", { d: `${PERCENT_DOT_TOP}${PERCENT_DOT_BOTTOM}`, fillRule: "evenodd", fill: primaryColor })] })),
71
86
  outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("line", { x1: "19", y1: "5", x2: "5", y2: "19", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("circle", { cx: "6.5", cy: "6.5", r: "2.5", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("circle", { cx: "17.5", cy: "17.5", r: "2.5", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
72
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("line", { x1: "19", y1: "5", x2: "5", y2: "19", stroke: secondaryColor, strokeWidth: strokeWidth, opacity: secondaryOpacity + 0.2 }), jsx("circle", { cx: "6.5", cy: "6.5", r: "2.5", fill: primaryColor }), jsx("circle", { cx: "17.5", cy: "17.5", r: "2.5", fill: primaryColor })] })),
73
- vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("circle", { cx: "6.5", cy: "6.5", r: "2.5", fill: primaryColor }), jsx("circle", { cx: "6.5", cy: "6.5", r: "2.5", fill: "white", opacity: "0.08" }), jsx("circle", { cx: "17.5", cy: "17.5", r: "2.5", fill: secondaryColor }), jsx("line", { x1: "19", y1: "5", x2: "5", y2: "19", stroke: "white", strokeWidth: "1" })] })),
74
- },
75
- });
76
- const NtdInvoice = /* @__PURE__ */ createIcon({
77
- displayName: 'NtdInvoice',
78
- paths: {
79
- solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth: _strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8l-6-6z", fill: primaryColor }), jsx("path", { d: "M14 2v6h6", fill: primaryColor, opacity: 0.6 }), jsx("line", { x1: "8", y1: "13", x2: "12", y2: "13", stroke: accentColor, strokeWidth: "1.5", opacity: accentOpacity }), jsx("line", { x1: "8", y1: "17", x2: "16", y2: "17", stroke: accentColor, strokeWidth: "1.5", opacity: accentOpacity }), jsx("line", { x1: "14", y1: "13", x2: "16", y2: "13", stroke: accentColor, strokeWidth: "1.5", opacity: accentOpacity * 0.6 })] })),
80
- outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8l-6-6z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M14 2v6h6", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("line", { x1: "8", y1: "13", x2: "12", y2: "13", stroke: primaryColor, strokeWidth: "1.5" }), jsx("line", { x1: "8", y1: "17", x2: "16", y2: "17", stroke: primaryColor, strokeWidth: "1.5" }), jsx("line", { x1: "14", y1: "13", x2: "16", y2: "13", stroke: primaryColor, strokeWidth: "1.5" })] })),
81
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8l-6-6z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8l-6-6z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M14 2v6h6", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("line", { x1: "8", y1: "13", x2: "12", y2: "13", stroke: primaryColor, strokeWidth: "1.5" }), jsx("line", { x1: "8", y1: "17", x2: "16", y2: "17", stroke: primaryColor, strokeWidth: "1.5" })] })),
82
- vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8l-6-6z", fill: primaryColor }), jsx("path", { d: "M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8l-6-6z", fill: "white", opacity: "0.08" }), jsx("path", { d: "M14 2v6h6", fill: secondaryColor }), jsx("line", { x1: "8", y1: "13", x2: "12", y2: "13", stroke: "white", strokeWidth: "1", opacity: "0.4" }), jsx("line", { x1: "8", y1: "17", x2: "16", y2: "17", stroke: "white", strokeWidth: "1", opacity: "0.4" }), jsx("line", { x1: "14", y1: "13", x2: "16", y2: "13", stroke: "white", strokeWidth: "1", opacity: "0.4" })] })),
87
+ duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("line", { x1: "19", y1: "5", x2: "5", y2: "19", stroke: secondaryColor, strokeWidth: strokeWidth, opacity: secondaryOpacity + 0.2 }), jsx("path", { d: `${PERCENT_DOT_TOP}${PERCENT_DOT_BOTTOM}`, fillRule: "evenodd", fill: primaryColor })] })),
88
+ vivid: ({ primaryColor, secondaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("line", { x1: "19", y1: "5", x2: "5", y2: "19", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("path", { d: PERCENT_DOT_TOP, fillRule: "evenodd", fill: primaryColor }), jsx("path", { d: PERCENT_DOT_BOTTOM, fillRule: "evenodd", fill: secondaryColor })] })),
83
89
  },
84
90
  });
91
+ // NtdInvoice: NtdFile's page with a short title, two rows of item and amount, and the total on
92
+ // its own at the bottom right, as on a receipt.
93
+ const NtdInvoice = /* @__PURE__ */ paperIcon('NtdInvoice', 'M7.5 7h2.5M7.5 12.5h3.3M13.8 12.5h2.7M7.5 15.5h3.3M13.8 15.5h2.7M12.5 19h4');
94
+ /** @deprecated A second invoice next to {@link NtdInvoice} — use that. */
95
+ const NtdInvoiceDoc = NtdInvoice;
85
96
  const NtdStore = /* @__PURE__ */ createIcon({
86
97
  displayName: 'NtdStore',
87
98
  paths: {
@@ -91,13 +102,31 @@ const NtdStore = /* @__PURE__ */ createIcon({
91
102
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M3 9l1-5h16l1 5", fill: primaryColor }), jsx("path", { d: "M3 9l1-5h16l1 5", fill: "white", opacity: "0.08" }), jsx("rect", { x: "5", y: "14", width: "14", height: "8", fill: secondaryColor }), jsx("rect", { x: "9", y: "17", width: "6", height: "5", fill: "#3B82F6" }), jsx("path", { d: "M3 9h18", stroke: "white", strokeWidth: "1" }), jsx("path", { d: "M3 9c0 1.66 1.34 3 3 3s3-1.34 3-3", stroke: "white", strokeWidth: "1", fill: "none" }), jsx("path", { d: "M9 9c0 1.66 1.34 3 3 3s3-1.34 3-3", stroke: "white", strokeWidth: "1", fill: "none" }), jsx("path", { d: "M15 9c0 1.66 1.34 3 3 3s3-1.34 3-3", stroke: "white", strokeWidth: "1", fill: "none" })] })),
92
103
  },
93
104
  });
105
+ // NtdBarcode: eleven bars, 0.8–1.6 wide, like a real code (six bars up to 3 wide read as a few
106
+ // fat stripes). [x, width] per bar, from 2 to 22; the widest ones are the 1.6.
107
+ const BARCODE_BARS = [
108
+ [2, 1.2],
109
+ [4, 0.8],
110
+ [5.6, 1.6],
111
+ [8, 0.8],
112
+ [10, 1.2],
113
+ [12, 0.8],
114
+ [13.6, 0.8],
115
+ [15.6, 1.6],
116
+ [18, 0.8],
117
+ [19.6, 0.8],
118
+ [21.2, 0.8],
119
+ ];
94
120
  const NtdBarcode = /* @__PURE__ */ createIcon({
95
121
  displayName: 'NtdBarcode',
96
122
  paths: {
97
- solid: ({ primaryColor, strokeWidth: _strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "2", y: "4", width: "2", height: "16", fill: primaryColor }), jsx("rect", { x: "6", y: "4", width: "1", height: "16", fill: primaryColor }), jsx("rect", { x: "9", y: "4", width: "2", height: "16", fill: primaryColor }), jsx("rect", { x: "13", y: "4", width: "1", height: "16", fill: primaryColor }), jsx("rect", { x: "15", y: "4", width: "3", height: "16", fill: primaryColor }), jsx("rect", { x: "20", y: "4", width: "2", height: "16", fill: primaryColor })] })),
98
- outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("line", { x1: "3", y1: "4", x2: "3", y2: "20", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "7", y1: "4", x2: "7", y2: "20", stroke: primaryColor, strokeWidth: "1.5" }), jsx("line", { x1: "10", y1: "4", x2: "10", y2: "20", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "13.5", y1: "4", x2: "13.5", y2: "20", stroke: primaryColor, strokeWidth: "1" }), jsx("line", { x1: "16.5", y1: "4", x2: "16.5", y2: "20", stroke: primaryColor, strokeWidth: "3" }), jsx("line", { x1: "21", y1: "4", x2: "21", y2: "20", stroke: primaryColor, strokeWidth: strokeWidth })] })),
99
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth: _strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "6", y: "4", width: "1", height: "16", fill: secondaryColor, opacity: secondaryOpacity + 0.2 }), jsx("rect", { x: "13", y: "4", width: "1", height: "16", fill: secondaryColor, opacity: secondaryOpacity + 0.2 }), jsx("rect", { x: "2", y: "4", width: "2", height: "16", fill: primaryColor }), jsx("rect", { x: "9", y: "4", width: "2", height: "16", fill: primaryColor }), jsx("rect", { x: "15", y: "4", width: "3", height: "16", fill: primaryColor }), jsx("rect", { x: "20", y: "4", width: "2", height: "16", fill: primaryColor })] })),
100
- vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("rect", { x: "2", y: "4", width: "2", height: "16", fill: primaryColor }), jsx("rect", { x: "2", y: "4", width: "2", height: "16", fill: "white", opacity: "0.08" }), jsx("rect", { x: "6", y: "4", width: "1", height: "16", fill: secondaryColor }), jsx("rect", { x: "9", y: "4", width: "2", height: "16", fill: "#3B82F6" }), jsx("rect", { x: "13", y: "4", width: "1", height: "16", fill: "#10B981" }), jsx("rect", { x: "15", y: "4", width: "3", height: "16", fill: "#F59E0B" }), jsx("rect", { x: "20", y: "4", width: "2", height: "16", fill: "#F59E0B" })] })),
123
+ // lines, not rects: the wireframe then draws one thin line per bar rather than the outlines of
124
+ // 0.8-wide boxes, which run together; the square caps end every bar at 4 and 20
125
+ solid: ({ primaryColor }) => (jsx(Fragment, { children: BARCODE_BARS.map(([x, w]) => (jsx("line", { x1: x + w / 2, y1: 4 + w / 2, x2: x + w / 2, y2: 20 - w / 2, stroke: primaryColor, strokeWidth: w, strokeLinecap: "square" }, x))) })),
126
+ outline: ({ primaryColor }) => (jsx(Fragment, { children: BARCODE_BARS.map(([x, w]) => (jsx("line", { x1: x + w / 2, y1: 4 + w / 2, x2: x + w / 2, y2: 20 - w / 2, stroke: primaryColor, strokeWidth: w }, x))) })),
127
+ // every other bar in secondary
128
+ duotone: ({ primaryColor, secondaryColor }) => (jsx(Fragment, { children: BARCODE_BARS.map(([x, w], i) => (jsx("rect", { x: x, y: "4", width: w, height: "16", fill: i % 2 ? secondaryColor : primaryColor }, x))) })),
129
+ vivid: ({ primaryColor, secondaryColor }) => (jsx(Fragment, { children: BARCODE_BARS.map(([x, w], i) => (jsx("rect", { x: x, y: "4", width: w, height: "16", fill: i % 3 === 1 ? secondaryColor : primaryColor }, x))) })),
101
130
  },
102
131
  });
103
132
  const NtdCalculator = /* @__PURE__ */ createIcon({
@@ -165,4 +194,4 @@ const NtdMilestone = /* @__PURE__ */ createIcon({
165
194
  },
166
195
  });
167
196
 
168
- export { NtdBank, NtdBarcode, NtdBriefcase, NtdCalculator, NtdClipboardCheck, NtdCoins, NtdDollar, NtdInvoice, NtdKanban, NtdMilestone, NtdPercent, NtdPiggyBank, NtdPresentation, NtdReceipt, NtdStore, NtdTrendDown, NtdTrendUp, NtdWallet };
197
+ export { NtdBank, NtdBarcode, NtdBriefcase, NtdCalculator, NtdClipboardCheck, NtdCoins, NtdDollar, NtdInvoice, NtdInvoiceDoc, NtdKanban, NtdMilestone, NtdPercent, NtdPiggyBank, NtdPresentation, NtdReceipt, NtdStore, NtdTrendDown, NtdTrendUp, NtdWallet };
@@ -5,15 +5,6 @@ import { createIcon } from '../createIcon.js';
5
5
  // E-Commerce Icons
6
6
  // Shopping cart, checkout, wishlist, compare, shipping, returns, promo, etc.
7
7
  // ═══════════════════════════════════════════════════════════════════════════════
8
- const NtdShoppingCart = /* @__PURE__ */ createIcon({
9
- displayName: 'NtdShoppingCart',
10
- paths: {
11
- solid: ({ primaryColor, accentColor, accentOpacity }) => (jsxs(Fragment, { children: [jsx("path", { d: "M6 6h15l-1.5 9H7.5L6 6z", fill: primaryColor }), jsx("circle", { cx: "9", cy: "20", r: "1.5", fill: primaryColor }), jsx("circle", { cx: "18", cy: "20", r: "1.5", fill: primaryColor }), jsx("path", { d: "M1 1h4l1 4", stroke: accentColor, strokeWidth: "2", opacity: accentOpacity, fill: "none" })] })),
12
- outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M6 6h15l-1.5 9H7.5L6 6z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("circle", { cx: "9", cy: "20", r: "1.5", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("circle", { cx: "18", cy: "20", r: "1.5", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M1 1h4l1 4", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
13
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M6 6h15l-1.5 9H7.5L6 6z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M6 6h15l-1.5 9H7.5L6 6z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("circle", { cx: "9", cy: "20", r: "1.5", fill: primaryColor }), jsx("circle", { cx: "18", cy: "20", r: "1.5", fill: primaryColor }), jsx("path", { d: "M1 1h4l1 4", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
14
- vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M6 6h15l-1.5 9H7.5L6 6z", fill: primaryColor }), jsx("path", { d: "M6 6h15l-1.5 9H7.5L6 6z", fill: "white", opacity: "0.08" }), jsx("circle", { cx: "9", cy: "20", r: "1.5", fill: secondaryColor }), jsx("circle", { cx: "18", cy: "20", r: "1.5", fill: "#F59E0B" }), jsx("path", { d: "M1 1h4l1 4", stroke: "white", strokeWidth: "1", opacity: "0.35", fill: "none" })] })),
15
- },
16
- });
17
8
  const NtdCartAdd = /* @__PURE__ */ createIcon({
18
9
  displayName: 'NtdCartAdd',
19
10
  paths: {
@@ -131,15 +122,6 @@ const NtdPayment = /* @__PURE__ */ createIcon({
131
122
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("rect", { x: "2", y: "5", width: "20", height: "14", rx: "2", fill: primaryColor }), jsx("rect", { x: "2", y: "5", width: "20", height: "14", rx: "2", fill: "white", opacity: "0.08" }), jsx("rect", { x: "2", y: "9", width: "20", height: "3", fill: secondaryColor }), jsx("rect", { x: "5", y: "15", width: "4", height: "2", rx: "0.5", fill: "#F59E0B" }), jsx("rect", { x: "11", y: "15", width: "3", height: "2", rx: "0.5", fill: "#EF4444" })] })),
132
123
  },
133
124
  });
134
- const NtdInvoiceDoc = /* @__PURE__ */ createIcon({
135
- displayName: 'NtdInvoiceDoc',
136
- paths: {
137
- solid: ({ primaryColor, accentColor, accentOpacity }) => (jsxs(Fragment, { children: [jsx("path", { d: "M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8l-6-6z", fill: primaryColor }), jsx("path", { d: "M14 2v6h6", fill: accentColor, opacity: accentOpacity * 0.5 }), jsx("rect", { x: "8", y: "12", width: "8", height: "1", rx: "0.5", fill: accentColor, opacity: accentOpacity }), jsx("rect", { x: "8", y: "15", width: "6", height: "1", rx: "0.5", fill: accentColor, opacity: accentOpacity }), jsx("rect", { x: "8", y: "18", width: "4", height: "1", rx: "0.5", fill: accentColor, opacity: accentOpacity })] })),
138
- outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8l-6-6z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M14 2v6h6", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M8 12h8M8 15h6M8 18h4", stroke: primaryColor, strokeWidth: strokeWidth * 0.75 })] })),
139
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8l-6-6z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8l-6-6z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M14 2v6h6", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M8 12h8M8 15h6M8 18h4", stroke: primaryColor, strokeWidth: strokeWidth * 0.75 })] })),
140
- vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8l-6-6z", fill: primaryColor }), jsx("path", { d: "M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8l-6-6z", fill: "white", opacity: "0.08" }), jsx("path", { d: "M14 2v6h6", fill: secondaryColor }), jsx("rect", { x: "8", y: "12", width: "8", height: "1", rx: "0.5", fill: "#F59E0B" }), jsx("rect", { x: "8", y: "15", width: "6", height: "1", rx: "0.5", fill: "#EF4444" }), jsx("rect", { x: "8", y: "18", width: "4", height: "1", rx: "0.5", fill: "#10B981" })] })),
141
- },
142
- });
143
125
  const NtdRefund = /* @__PURE__ */ createIcon({
144
126
  displayName: 'NtdRefund',
145
127
  paths: {
@@ -150,4 +132,4 @@ const NtdRefund = /* @__PURE__ */ createIcon({
150
132
  },
151
133
  });
152
134
 
153
- export { NtdCartAdd, NtdCartRemove, NtdCheckout, NtdCompare, NtdCoupon, NtdDiscount, NtdGiftCard, NtdInvoiceDoc, NtdPayment, NtdPromoTag, NtdRefund, NtdReturn, NtdShipping, NtdShoppingCart, NtdStorefront, NtdWishlist };
135
+ export { NtdCartAdd, NtdCartRemove, NtdCheckout, NtdCompare, NtdCoupon, NtdDiscount, NtdGiftCard, NtdPayment, NtdPromoTag, NtdRefund, NtdReturn, NtdShipping, NtdStorefront, NtdWishlist };
@@ -43,15 +43,27 @@ const NtdUniversity = /* @__PURE__ */ createIcon({
43
43
  /* ────────────────────────────────────────────────────────────────────────────
44
44
  LEARNING TOOLS
45
45
  ───────────────────────────────────────────────────────────────────────────── */
46
- const NtdBook = /* @__PURE__ */ createIcon({
47
- displayName: 'NtdBook',
48
- paths: {
49
- solid: ({ primaryColor }) => (jsx("path", { d: "M4 4a2 2 0 012-2h12a2 2 0 012 2v16a2 2 0 01-2 2H6a2 2 0 01-2-2V4zm3 2v2h10V6H7zm0 4v2h10v-2H7z", fill: primaryColor })),
50
- outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "4", y: "2", width: "16", height: "20", rx: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M7 6h10M7 10h10", stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round" })] })),
51
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "4", y: "2", width: "16", height: "20", rx: "2", fill: secondaryColor, opacity: secondaryOpacity }), jsx("rect", { x: "4", y: "2", width: "16", height: "20", rx: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M7 6h10M7 10h10", stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round" })] })),
52
- vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M4 4a2 2 0 012-2h12a2 2 0 012 2v16a2 2 0 01-2 2H6a2 2 0 01-2-2V4zm3 2v2h10V6H7zm0 4v2h10v-2H7z", fill: primaryColor }), jsx("path", { d: "M4 4a2 2 0 012-2h12a2 2 0 012 2v16a2 2 0 01-2 2H6a2 2 0 01-2-2V4zm3 2v2h10V6H7zm0 4v2h10v-2H7z", fill: "white", opacity: "0.1" })] })),
53
- },
54
- });
46
+ // NtdBook: a closed book, not a page — the rounded spine on the left, the block of pages showing
47
+ // at the bottom between the front cover and the line of the back cover, reaching almost to the
48
+ // right edge. The cover is plain, so another glyph can sit on it; NtdBookBookmark adds a ribbon.
49
+ const BOOK_SILHOUETTE = 'M7 2h12a1 1 0 011 1v17a1 1 0 01-1 1H7a2.5 2.5 0 01-2.5-2.5v-14A2.5 2.5 0 017 2z';
50
+ const BOOK_PAGES = 'M7.4 17.6h12.2v2.3H7.4a1.15 1.15 0 010-2.3z';
51
+ const BOOK_RIBBON = 'M9.5 2v6.5l1.75-1.3L13 8.5V2z';
52
+ const BOOK_OUTLINE = 'M4.5 18.5v-14A2.5 2.5 0 017 2h12a1 1 0 011 1v17a1 1 0 01-1 1H7a2.5 2.5 0 010-5h13';
53
+ /** The book, with the ribbon bookmark or without it. */
54
+ function bookIcon(displayName, ribbon) {
55
+ return createIcon({
56
+ displayName,
57
+ paths: {
58
+ solid: ({ primaryColor, accentColor, accentOpacity }) => (jsxs(Fragment, { children: [jsx("path", { d: BOOK_SILHOUETTE, fill: primaryColor }), jsxs("g", { fill: accentColor, opacity: accentOpacity, children: [jsx("path", { d: BOOK_PAGES }), ribbon && jsx("path", { d: BOOK_RIBBON })] })] })),
59
+ outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: BOOK_OUTLINE, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), ribbon && (jsx("path", { d: "M9.5 2.5v6l1.75-1.3L13 8.5v-6", stroke: primaryColor, strokeWidth: strokeWidth * 0.75, fill: "none" }))] })),
60
+ duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: BOOK_SILHOUETTE, fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: BOOK_OUTLINE, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), ribbon && jsx("path", { d: BOOK_RIBBON, fill: primaryColor })] })),
61
+ vivid: ({ primaryColor, secondaryColor, accentColor, accentOpacity }) => (jsxs(Fragment, { children: [jsx("path", { d: BOOK_SILHOUETTE, fill: primaryColor }), jsx("path", { d: BOOK_SILHOUETTE, fill: "white", opacity: "0.1" }), jsx("path", { d: BOOK_PAGES, fill: accentColor, opacity: accentOpacity }), ribbon && jsx("path", { d: BOOK_RIBBON, fill: secondaryColor })] })),
62
+ },
63
+ });
64
+ }
65
+ const NtdBook = /* @__PURE__ */ bookIcon('NtdBook', false);
66
+ const NtdBookBookmark = /* @__PURE__ */ bookIcon('NtdBookBookmark', true);
55
67
  const NtdOpenBook = /* @__PURE__ */ createIcon({
56
68
  displayName: 'NtdOpenBook',
57
69
  paths: {
@@ -189,4 +201,4 @@ const educationIcons = {
189
201
  NtdCalculator,
190
202
  };
191
203
 
192
- export { NtdBackpack, NtdBook, NtdCalculator, NtdCertificate, NtdDiploma, NtdExam, NtdFlashcard, NtdGraduationCap, NtdNotebook, NtdOnlineCourse, NtdOpenBook, NtdPen, NtdPencil, NtdQuiz, NtdSchool, NtdUniversity, NtdWebinar, educationIcons };
204
+ export { NtdBackpack, NtdBook, NtdBookBookmark, NtdCalculator, NtdCertificate, NtdDiploma, NtdExam, NtdFlashcard, NtdGraduationCap, NtdNotebook, NtdOnlineCourse, NtdOpenBook, NtdPen, NtdPencil, NtdQuiz, NtdSchool, NtdUniversity, NtdWebinar, educationIcons };
@@ -1,40 +1,29 @@
1
1
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
2
  import { createIcon } from '../createIcon.js';
3
+ import { paperIcon, within } from '../iconParts.js';
3
4
 
4
- const NtdFile = /* @__PURE__ */ createIcon({
5
- displayName: 'NtdFile',
6
- paths: {
7
- solid: ({ primaryColor, strokeWidth: _strokeWidth }) => (jsx("path", { d: "M13 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V9l-7-7z", fill: primaryColor })),
8
- outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [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" }), jsx("path", { d: "M13 2v7h7", stroke: primaryColor, strokeWidth: strokeWidth })] })),
9
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M13 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V9l-7-7z", fill: secondaryColor, opacity: secondaryOpacity }), 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" }), jsx("path", { d: "M13 2v7h7", stroke: primaryColor, strokeWidth: strokeWidth, fill: primaryColor, opacity: secondaryOpacity + 0.1 })] })),
10
- vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M13 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V9l-7-7z", fill: primaryColor }), 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" })] })),
11
- },
12
- });
13
- const NtdFileText = /* @__PURE__ */ createIcon({
14
- displayName: 'NtdFileText',
15
- paths: {
16
- solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth: _strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M13 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V9l-7-7z", fill: primaryColor }), jsx("line", { x1: "8", y1: "13", x2: "16", y2: "13", stroke: accentColor, strokeWidth: "1.5", opacity: accentOpacity }), jsx("line", { x1: "8", y1: "17", x2: "14", y2: "17", stroke: accentColor, strokeWidth: "1.5", opacity: accentOpacity })] })),
17
- outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [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" }), jsx("path", { d: "M13 2v7h7", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "8", y1: "13", x2: "16", y2: "13", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "8", y1: "17", x2: "14", y2: "17", stroke: primaryColor, strokeWidth: strokeWidth })] })),
18
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M13 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V9l-7-7z", fill: secondaryColor, opacity: secondaryOpacity }), 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" }), jsx("path", { d: "M13 2v7h7", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "8", y1: "13", x2: "16", y2: "13", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "8", y1: "17", x2: "14", y2: "17", stroke: primaryColor, strokeWidth: strokeWidth })] })),
19
- vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M13 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V9l-7-7z", fill: primaryColor }), 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" }), jsx("line", { x1: "8", y1: "13", x2: "16", y2: "13", stroke: secondaryColor, strokeWidth: "1.8" }), jsx("line", { x1: "8", y1: "17", x2: "14", y2: "17", stroke: "#3B82F6", strokeWidth: "1.5" })] })),
20
- },
21
- });
5
+ // NtdFile is the page every paper icon is drawn on (`paperIcon` in iconParts.tsx): the fold is
6
+ // 8 now (7 before — the duotone's stroked fold looked the largest), secondary when the page is
7
+ // filled, square in `sharp`.
8
+ const NtdFile = /* @__PURE__ */ paperIcon('NtdFile');
9
+ const NtdFileText = /* @__PURE__ */ paperIcon('NtdFileText', 'M7.5 9.5h3M7.5 13.5h9M7.5 17.5h9');
10
+ // The folder tab runs 2 → 11 before its slope (2 → 9 before), in NtdFolder and NtdFolderOpen.
22
11
  const NtdFolder = /* @__PURE__ */ createIcon({
23
12
  displayName: 'NtdFolder',
24
13
  paths: {
25
- solid: ({ primaryColor, strokeWidth: _strokeWidth }) => (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 })),
26
- outline: ({ primaryColor, strokeWidth }) => (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" })),
27
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M22 19a2 2 0 01-2 2H4a2 2 0 01-2-2V5a2 2 0 012-2h5l2 3h9a2 2 0 012 2v11z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M22 19a2 2 0 01-2 2H4a2 2 0 01-2-2V5a2 2 0 012-2h5l2 3h9a2 2 0 012 2v11z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
28
- vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxs(Fragment, { children: [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 }), 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" })] })),
14
+ solid: ({ primaryColor, strokeWidth: _strokeWidth }) => (jsx("path", { d: "M22 19a2 2 0 01-2 2H4a2 2 0 01-2-2V5a2 2 0 012-2h7l2 3h7a2 2 0 012 2v11z", fill: primaryColor })),
15
+ outline: ({ primaryColor, strokeWidth }) => (jsx("path", { d: "M22 19a2 2 0 01-2 2H4a2 2 0 01-2-2V5a2 2 0 012-2h7l2 3h7a2 2 0 012 2v11z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })),
16
+ duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M22 19a2 2 0 01-2 2H4a2 2 0 01-2-2V5a2 2 0 012-2h7l2 3h7a2 2 0 012 2v11z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M22 19a2 2 0 01-2 2H4a2 2 0 01-2-2V5a2 2 0 012-2h7l2 3h7a2 2 0 012 2v11z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
17
+ vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M22 19a2 2 0 01-2 2H4a2 2 0 01-2-2V5a2 2 0 012-2h7l2 3h7a2 2 0 012 2v11z", fill: primaryColor }), 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" })] })),
29
18
  },
30
19
  });
31
20
  const NtdFolderOpen = /* @__PURE__ */ createIcon({
32
21
  displayName: 'NtdFolderOpen',
33
22
  paths: {
34
- solid: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [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" }), jsx("path", { d: "M2 10h20M4 21l2-11h16l-2 11H4z", stroke: primaryColor, strokeWidth: strokeWidth, fill: primaryColor })] })),
35
- outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [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" }), jsx("path", { d: "M2 10h20", stroke: primaryColor, strokeWidth: strokeWidth })] })),
36
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M22 19a2 2 0 01-2 2H4a2 2 0 01-2-2V5a2 2 0 012-2h5l2 3h9a2 2 0 012 2v11z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M22 19a2 2 0 01-2 2H4a2 2 0 01-2-2V5a2 2 0 012-2h5l2 3h9a2 2 0 012 2v11z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M2 10h20", stroke: primaryColor, strokeWidth: strokeWidth })] })),
37
- vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [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" }), 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" }), jsx("path", { d: "M2 10h20M4 21l2-11h16l-2 11H4z", stroke: secondaryColor, strokeWidth: "2", fill: secondaryColor })] })),
23
+ solid: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M22 19a2 2 0 01-2 2H4a2 2 0 01-2-2V5a2 2 0 012-2h7l2 3h7a2 2 0 012 2v11z", fill: primaryColor, opacity: "0.3" }), jsx("path", { d: "M2 10h20M4 21l2-11h16l-2 11H4z", stroke: primaryColor, strokeWidth: strokeWidth, fill: primaryColor })] })),
24
+ outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M22 19a2 2 0 01-2 2H4a2 2 0 01-2-2V5a2 2 0 012-2h7l2 3h7a2 2 0 012 2v11z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M2 10h20", stroke: primaryColor, strokeWidth: strokeWidth })] })),
25
+ duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M22 19a2 2 0 01-2 2H4a2 2 0 01-2-2V5a2 2 0 012-2h7l2 3h7a2 2 0 012 2v11z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M22 19a2 2 0 01-2 2H4a2 2 0 01-2-2V5a2 2 0 012-2h7l2 3h7a2 2 0 012 2v11z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M2 10h20", stroke: primaryColor, strokeWidth: strokeWidth })] })),
26
+ vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M22 19a2 2 0 01-2 2H4a2 2 0 01-2-2V5a2 2 0 012-2h7l2 3h7a2 2 0 012 2v11z", fill: primaryColor, opacity: "0.3" }), jsx("path", { d: "M22 19a2 2 0 01-2 2H4a2 2 0 01-2-2V5a2 2 0 012-2h7l2 3h7a2 2 0 012 2v11z", fill: "white", opacity: "0.08" }), jsx("path", { d: "M2 10h20M4 21l2-11h16l-2 11H4z", stroke: secondaryColor, strokeWidth: "2", fill: secondaryColor })] })),
38
27
  },
39
28
  });
40
29
  const NtdArchive = /* @__PURE__ */ createIcon({
@@ -46,13 +35,21 @@ const NtdArchive = /* @__PURE__ */ createIcon({
46
35
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("rect", { x: "2", y: "3", width: "20", height: "5", rx: "1", fill: primaryColor }), jsx("rect", { x: "2", y: "3", width: "20", height: "5", rx: "1", fill: "white", opacity: "0.08" }), jsx("path", { d: "M4 8v11a2 2 0 002 2h12a2 2 0 002-2V8", fill: secondaryColor, opacity: "0.7" }), jsx("line", { x1: "10", y1: "12", x2: "14", y2: "12", stroke: "white", strokeWidth: "1", opacity: "0.4" })] })),
47
36
  },
48
37
  });
38
+ // NtdDatabase: a cylinder of three discs, its silhouette — sides, bottom and the back of the top —
39
+ // one path, so no seam shows where a separate cap met the body. The filled variants draw no line
40
+ // along the cap's front edge (it set the cap apart as a fourth disc), and the gaps between the
41
+ // discs are bands between two parallel arcs, 1.3 high everywhere and cut square at the sides — a
42
+ // stroked arc clipped to the body thinned to a wedge along the sides.
43
+ const DB_SILHOUETTE = 'M4 5.5v13a8 2.6 0 0016 0v-13a8 2.6 0 00-16 0z';
44
+ 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';
49
45
  const NtdDatabase = /* @__PURE__ */ createIcon({
50
46
  displayName: 'NtdDatabase',
51
47
  paths: {
52
- solid: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("ellipse", { cx: "12", cy: "5", rx: "9", ry: "3", fill: primaryColor }), jsx("path", { d: "M21 12c0 1.66-4.03 3-9 3s-9-1.34-9-3", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M3 5v14c0 1.66 4.03 3 9 3s9-1.34 9-3V5", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
53
- outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("ellipse", { cx: "12", cy: "5", rx: "9", ry: "3", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M21 12c0 1.66-4.03 3-9 3s-9-1.34-9-3", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M3 5v14c0 1.66 4.03 3 9 3s9-1.34 9-3V5", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
54
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("ellipse", { cx: "12", cy: "5", rx: "9", ry: "3", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M3 5v14c0 1.66 4.03 3 9 3s9-1.34 9-3V5", fill: secondaryColor, opacity: secondaryOpacity * 0.5 }), jsx("ellipse", { cx: "12", cy: "5", rx: "9", ry: "3", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M21 12c0 1.66-4.03 3-9 3s-9-1.34-9-3", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M3 5v14c0 1.66 4.03 3 9 3s9-1.34 9-3V5", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
55
- vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("ellipse", { cx: "12", cy: "5", rx: "9", ry: "3", fill: primaryColor }), jsx("ellipse", { cx: "12", cy: "5", rx: "9", ry: "3", fill: "white", opacity: "0.1" }), jsx("path", { d: "M21 12c0 1.66-4.03 3-9 3s-9-1.34-9-3", stroke: secondaryColor, strokeWidth: "1.8", fill: "none" }), jsx("path", { d: "M3 5v14c0 1.66 4.03 3 9 3s9-1.34 9-3V5", stroke: "#3B82F6", strokeWidth: "1.5", fill: "none" })] })),
48
+ solid: ({ primaryColor, accentColor, accentOpacity }) => (jsxs(Fragment, { children: [jsx("path", { d: DB_SILHOUETTE, fill: primaryColor }), jsx("path", { d: DB_GAPS, fill: accentColor, opacity: accentOpacity })] })),
49
+ outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("ellipse", { cx: "12", cy: "5.5", rx: "8", ry: "2.6", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M4 5.5v13a8 2.6 0 0016 0v-13M4 9.83a8 2.6 0 0016 0M4 14.17a8 2.6 0 0016 0", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
50
+ // one tint for the cap and the body: the cap in full secondary read as a separate disc
51
+ duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: DB_SILHOUETTE, fill: secondaryColor, opacity: secondaryOpacity }), jsx("ellipse", { cx: "12", cy: "5.5", rx: "8", ry: "2.6", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M4 5.5v13a8 2.6 0 0016 0v-13M4 9.83a8 2.6 0 0016 0M4 14.17a8 2.6 0 0016 0", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
52
+ vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: DB_SILHOUETTE, fill: primaryColor }), jsx("ellipse", { cx: "12", cy: "5.5", rx: "8", ry: "2.6", fill: "white", opacity: "0.25" }), jsx("path", { d: DB_GAPS, fill: secondaryColor })] })),
56
53
  },
57
54
  });
58
55
  const NtdCloud = /* @__PURE__ */ createIcon({
@@ -82,13 +79,16 @@ const NtdCloudDownload = /* @__PURE__ */ createIcon({
82
79
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M18 10h-1.26A8 8 0 109 20h9a5 5 0 000-10z", fill: primaryColor, opacity: "0.2", stroke: primaryColor, strokeWidth: "2" }), jsx("path", { d: "M18 10h-1.26A8 8 0 109 20h9a5 5 0 000-10z", fill: "white", opacity: "0.1" }), jsx("path", { d: "M8 17l4 4 4-4M12 12v9", stroke: secondaryColor, strokeWidth: "1.8" })] })),
83
80
  },
84
81
  });
82
+ // The prompt marks are twice the stroke width on the filled screen (like NtdCheck), and a little
83
+ // larger everywhere so the heavy ones do not run together.
84
+ const TERMINAL_PROMPT = 'M6 8.5l4.5 3.5L6 15.5M12.5 16.5H18';
85
85
  const NtdTerminal = /* @__PURE__ */ createIcon({
86
86
  displayName: 'NtdTerminal',
87
87
  paths: {
88
- solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "2", y: "3", width: "20", height: "18", rx: "2", fill: primaryColor }), jsx("path", { d: "M6 9l4 3-4 3", stroke: accentColor, strokeWidth: strokeWidth, opacity: accentOpacity }), jsx("line", { x1: "12", y1: "17", x2: "18", y2: "17", stroke: accentColor, strokeWidth: strokeWidth, opacity: accentOpacity })] })),
89
- outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "2", y: "3", width: "20", height: "18", rx: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M6 9l4 3-4 3", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "12", y1: "17", x2: "18", y2: "17", stroke: primaryColor, strokeWidth: strokeWidth })] })),
90
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "2", y: "3", width: "20", height: "18", rx: "2", fill: secondaryColor, opacity: secondaryOpacity }), jsx("rect", { x: "2", y: "3", width: "20", height: "18", rx: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: "M6 9l4 3-4 3", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("line", { x1: "12", y1: "17", x2: "18", y2: "17", stroke: primaryColor, strokeWidth: strokeWidth })] })),
91
- vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("rect", { x: "2", y: "3", width: "20", height: "18", rx: "2", fill: primaryColor }), jsx("rect", { x: "2", y: "3", width: "20", height: "18", rx: "2", fill: "white", opacity: "0.1" }), jsx("path", { d: "M6 9l4 3-4 3", stroke: secondaryColor, strokeWidth: "1.8" }), jsx("line", { x1: "12", y1: "17", x2: "18", y2: "17", stroke: "#3B82F6", strokeWidth: "1.5" })] })),
88
+ solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "2", y: "3", width: "20", height: "18", rx: "2", fill: primaryColor }), jsx("path", { d: TERMINAL_PROMPT, stroke: accentColor, strokeWidth: strokeWidth * 2, opacity: accentOpacity, fill: "none" })] })),
89
+ outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "2", y: "3", width: "20", height: "18", rx: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: TERMINAL_PROMPT, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
90
+ duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "2", y: "3", width: "20", height: "18", rx: "2", fill: secondaryColor, opacity: secondaryOpacity }), jsx("rect", { x: "2", y: "3", width: "20", height: "18", rx: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: TERMINAL_PROMPT, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
91
+ vivid: ({ primaryColor, secondaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "2", y: "3", width: "20", height: "18", rx: "2", fill: primaryColor }), jsx("rect", { x: "2", y: "3", width: "20", height: "18", rx: "2", fill: "white", opacity: "0.1" }), jsx("path", { d: TERMINAL_PROMPT, stroke: secondaryColor, strokeWidth: strokeWidth * 2, fill: "none" })] })),
92
92
  },
93
93
  });
94
94
  const NtdCode = /* @__PURE__ */ createIcon({
@@ -181,22 +181,21 @@ const NtdCpu = /* @__PURE__ */ createIcon({
181
181
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("rect", { x: "4", y: "4", width: "16", height: "16", rx: "2", fill: primaryColor, opacity: "0.15", stroke: primaryColor, strokeWidth: "2" }), jsx("rect", { x: "4", y: "4", width: "16", height: "16", rx: "2", fill: "white", opacity: "0.08" }), jsx("rect", { x: "9", y: "9", width: "6", height: "6", rx: "1", fill: secondaryColor }), jsx("path", { d: "M9 1v3M15 1v3M9 20v3M15 20v3M20 9h3M20 14h3M1 9h3M1 14h3", stroke: "white", strokeWidth: "1" })] })),
182
182
  },
183
183
  });
184
- const NtdZap = /* @__PURE__ */ createIcon({
185
- displayName: 'NtdZap',
186
- paths: {
187
- solid: ({ primaryColor, strokeWidth: _strokeWidth }) => (jsx("path", { d: "M13 2L3 14h9l-1 8 10-12h-9l1-8z", fill: primaryColor })),
188
- outline: ({ primaryColor, strokeWidth }) => (jsx("path", { d: "M13 2L3 14h9l-1 8 10-12h-9l1-8z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })),
189
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: "M13 2L3 14h9l-1 8 10-12h-9l1-8z", fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: "M13 2L3 14h9l-1 8 10-12h-9l1-8z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
190
- vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M13 2L3 14h9l-1 8 10-12h-9l1-8z", fill: primaryColor }), jsx("path", { d: "M13 2L3 14h9l-1 8 10-12h-9l1-8z", fill: "white", opacity: "0.1" })] })),
191
- },
192
- });
184
+ // NtdKey: the bow top right with its hole on the key's axis, the blade running down-left to two
185
+ // teeth (it was the stroked key with the bow bottom left). Drawn along its own axis and turned
186
+ // 135°: bow r 6 at (16, 8), blade 3.2 wide.
187
+ 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';
188
+ 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';
189
+ const KEY_BOW = 'M16 2a6 6 0 100 12 6 6 0 100-12z';
190
+ const KEY_HOLE = 'M17.84 4.56a1.6 1.6 0 100 3.2 1.6 1.6 0 100-3.2z';
193
191
  const NtdKey = /* @__PURE__ */ createIcon({
194
192
  displayName: 'NtdKey',
195
193
  paths: {
196
- solid: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [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 }), jsx("circle", { cx: "7.5", cy: "16.5", r: "1.5", fill: primaryColor })] })),
197
- outline: ({ primaryColor, strokeWidth }) => (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 })),
198
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("circle", { cx: "8", cy: "16", r: "5", fill: secondaryColor, opacity: secondaryOpacity }), 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 }), jsx("circle", { cx: "7.5", cy: "16.5", r: "1.5", fill: primaryColor })] })),
199
- vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("circle", { cx: "7.5", cy: "16.5", r: "1.5", fill: primaryColor }), jsx("circle", { cx: "7.5", cy: "16.5", r: "1.5", fill: "white", opacity: "0.1" }), 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" })] })),
194
+ solid: ({ primaryColor }) => (jsx("path", { d: `${KEY}${KEY_HOLE}`, fillRule: "evenodd", fill: primaryColor })),
195
+ outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: KEY, stroke: primaryColor, strokeWidth: strokeWidth, strokeLinejoin: "miter", fill: "none" }), jsx("path", { d: KEY_HOLE, fill: primaryColor })] })),
196
+ // fills only: the blade secondary, the bow primary
197
+ duotone: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: KEY_BLADE, fill: secondaryColor }), jsx("path", { d: `${KEY_BOW}${KEY_HOLE}`, fillRule: "evenodd", fill: primaryColor })] })),
198
+ vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: `${KEY}${KEY_HOLE}`, fillRule: "evenodd", fill: primaryColor }), jsx("path", { d: KEY_BLADE, fill: secondaryColor, opacity: "0.5" })] })),
200
199
  },
201
200
  });
202
201
  const NtdAward = /* @__PURE__ */ createIcon({
@@ -217,22 +216,37 @@ const NtdCoffee = /* @__PURE__ */ createIcon({
217
216
  vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("path", { d: "M18 8h1a4 4 0 010 8h-1M2 8h16v9a4 4 0 01-4 4H6a4 4 0 01-4-4V8z", fill: primaryColor }), jsx("path", { d: "M18 8h1a4 4 0 010 8h-1M2 8h16v9a4 4 0 01-4 4H6a4 4 0 01-4-4V8z", fill: "white", opacity: "0.1" }), jsx("line", { x1: "6", y1: "1", x2: "6", y2: "4", stroke: secondaryColor, strokeWidth: "1.8" }), jsx("line", { x1: "10", y1: "1", x2: "10", y2: "4", stroke: "#3B82F6", strokeWidth: "1.5" }), jsx("line", { x1: "14", y1: "1", x2: "14", y2: "4", stroke: "#3B82F6", strokeWidth: "1.5" })] })),
218
217
  },
219
218
  });
219
+ // NtdCart: the basket a trapeze in primary (it was a 15 % wash), the handle running on down the
220
+ // basket's left side into the base rail, the wheels secondary, the basket's bars cut into it in
221
+ // the accent colour.
222
+ const CART_FRAME = 'M2 3.5h2.3l3.3 12.9H19.3';
223
+ const CART_BASKET = 'M5.07 6.5H21.3l-1.7 7.1H6.88z';
224
+ const CART_BARS = 'M11.3 5v10M15.9 5v10M3 10.05h20';
220
225
  const NtdCart = /* @__PURE__ */ createIcon({
221
226
  displayName: 'NtdCart',
222
227
  paths: {
223
- solid: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [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 }), jsx("circle", { cx: "9", cy: "21", r: "1.5", fill: primaryColor }), jsx("circle", { cx: "20", cy: "21", r: "1.5", fill: primaryColor })] })),
224
- outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [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" }), jsx("circle", { cx: "9", cy: "21", r: "1", stroke: primaryColor, strokeWidth: "1.5", fill: "none" }), jsx("circle", { cx: "20", cy: "21", r: "1", stroke: primaryColor, strokeWidth: "1.5", fill: "none" })] })),
225
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [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 }), 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" }), jsx("circle", { cx: "9", cy: "21", r: "1.5", fill: primaryColor }), jsx("circle", { cx: "20", cy: "21", r: "1.5", fill: primaryColor })] })),
226
- vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [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" }), 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" }), jsx("circle", { cx: "9", cy: "21", r: "1.5", fill: secondaryColor }), jsx("circle", { cx: "20", cy: "21", r: "1.5", fill: "#3B82F6" })] })),
228
+ solid: ({ primaryColor, secondaryColor, accentColor, accentOpacity, strokeWidth, uid }) => (jsxs(Fragment, { children: [jsx("path", { d: CART_FRAME, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: CART_BASKET, fill: primaryColor }), within(uid, 'bars', jsx("path", { d: CART_BASKET }), jsx("path", { d: CART_BARS, stroke: accentColor, strokeWidth: "1.3", opacity: accentOpacity })), jsx("circle", { cx: "9.4", cy: "20", r: "1.8", fill: secondaryColor }), jsx("circle", { cx: "18.2", cy: "20", r: "1.8", fill: secondaryColor })] })),
229
+ outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: CART_FRAME, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: CART_BASKET, stroke: primaryColor, strokeWidth: strokeWidth, strokeLinejoin: "round", fill: "none" }), jsx("circle", { cx: "9.4", cy: "20", r: "1.4", stroke: primaryColor, strokeWidth: strokeWidth }), jsx("circle", { cx: "18.2", cy: "20", r: "1.4", stroke: primaryColor, strokeWidth: strokeWidth })] })),
230
+ duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("path", { d: CART_BASKET, fill: secondaryColor, opacity: secondaryOpacity }), jsx("path", { d: CART_FRAME, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: CART_BASKET, stroke: primaryColor, strokeWidth: strokeWidth, strokeLinejoin: "round", fill: "none" }), jsx("circle", { cx: "9.4", cy: "20", r: "1.8", fill: primaryColor }), jsx("circle", { cx: "18.2", cy: "20", r: "1.8", fill: primaryColor })] })),
231
+ vivid: ({ primaryColor, secondaryColor, accentColor, accentOpacity, strokeWidth, uid }) => (jsxs(Fragment, { children: [jsx("path", { d: CART_FRAME, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("path", { d: CART_BASKET, fill: primaryColor }), jsx("path", { d: CART_BASKET, fill: "white", opacity: "0.12" }), within(uid, 'bars', jsx("path", { d: CART_BASKET }), jsx("path", { d: CART_BARS, stroke: accentColor, strokeWidth: "1.3", opacity: accentOpacity })), jsx("circle", { cx: "9.4", cy: "20", r: "1.8", fill: secondaryColor }), jsx("circle", { cx: "18.2", cy: "20", r: "1.8", fill: secondaryColor })] })),
227
232
  },
228
233
  });
234
+ /** @deprecated A second cart next to {@link NtdCart} — use that. */
235
+ const NtdShoppingCart = NtdCart;
236
+ // NtdCreditCard: the back of a real card — the magnetic stripe high up and edge to edge (kept
237
+ // inside the card, so it meets the sides flush), the signature panel long and to the left, the
238
+ // CVV box small on the right. The details are accent coloured, so a cutout keeps them.
239
+ const CARD_BODY = { x: 1.5, y: 4.5, width: 21, height: 15, rx: 2 };
240
+ const CARD_STRIPE = { x: 1.5, y: 7, width: 21, height: 3.6 };
241
+ const CARD_SIGNATURE = { x: 4, y: 13.6, width: 11.5, height: 2.2, rx: 0.6 };
242
+ const CARD_CVV = { x: 16.6, y: 13.6, width: 3.6, height: 2.2, rx: 0.6 };
229
243
  const NtdCreditCard = /* @__PURE__ */ createIcon({
230
244
  displayName: 'NtdCreditCard',
231
245
  paths: {
232
- solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "1", y: "4", width: "22", height: "16", rx: "2", fill: primaryColor }), jsx("line", { x1: "1", y1: "10", x2: "23", y2: "10", stroke: accentColor, strokeWidth: strokeWidth, opacity: accentOpacity })] })),
233
- outline: ({ primaryColor, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "1", y: "4", width: "22", height: "16", rx: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("line", { x1: "1", y1: "10", x2: "23", y2: "10", stroke: primaryColor, strokeWidth: strokeWidth })] })),
234
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxs(Fragment, { children: [jsx("rect", { x: "1", y: "4", width: "22", height: "16", rx: "2", fill: secondaryColor, opacity: secondaryOpacity }), jsx("rect", { x: "1", y: "4", width: "22", height: "6", rx: "2", fill: primaryColor, opacity: secondaryOpacity + 0.2 }), jsx("rect", { x: "1", y: "4", width: "22", height: "16", rx: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsx("line", { x1: "1", y1: "10", x2: "23", y2: "10", stroke: primaryColor, strokeWidth: strokeWidth })] })),
235
- vivid: ({ primaryColor, secondaryColor }) => (jsxs(Fragment, { children: [jsx("rect", { x: "1", y: "4", width: "22", height: "16", rx: "2", fill: primaryColor }), jsx("rect", { x: "1", y: "4", width: "22", height: "16", rx: "2", fill: "white", opacity: "0.1" }), jsx("line", { x1: "1", y1: "10", x2: "23", y2: "10", stroke: secondaryColor, strokeWidth: "1.8" })] })),
246
+ solid: ({ primaryColor, accentColor, accentOpacity, uid }) => (jsxs(Fragment, { children: [jsx("rect", { ...CARD_BODY, fill: primaryColor }), within(uid, 'stripe', jsx("rect", { ...CARD_BODY }), jsx("rect", { ...CARD_STRIPE, fill: accentColor, opacity: accentOpacity })), jsx("rect", { ...CARD_SIGNATURE, fill: accentColor, opacity: accentOpacity }), jsx("rect", { ...CARD_CVV, fill: accentColor, opacity: accentOpacity })] })),
247
+ outline: ({ primaryColor, strokeWidth, uid }) => (jsxs(Fragment, { children: [jsx("rect", { ...CARD_BODY, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), within(uid, 'stripe', jsx("rect", { ...CARD_BODY }), jsx("rect", { ...CARD_STRIPE, fill: primaryColor })), jsx("path", { d: "M5 14.7h9.5M17.6 14.7h1.6", stroke: primaryColor, strokeWidth: strokeWidth })] })),
248
+ duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth, uid }) => (jsxs(Fragment, { children: [jsx("rect", { ...CARD_BODY, fill: secondaryColor, opacity: secondaryOpacity }), within(uid, 'stripe', jsx("rect", { ...CARD_BODY }), jsx("rect", { ...CARD_STRIPE, fill: primaryColor })), jsx("rect", { ...CARD_SIGNATURE, fill: primaryColor }), jsx("rect", { ...CARD_CVV, fill: primaryColor }), jsx("rect", { ...CARD_BODY, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
249
+ vivid: ({ primaryColor, accentColor, accentOpacity, uid }) => (jsxs(Fragment, { children: [jsx("rect", { ...CARD_BODY, fill: primaryColor }), jsx("rect", { ...CARD_BODY, fill: "white", opacity: "0.1" }), within(uid, 'stripe', jsx("rect", { ...CARD_BODY }), jsx("rect", { ...CARD_STRIPE, fill: "black", opacity: "0.35" })), jsx("rect", { ...CARD_SIGNATURE, fill: accentColor, opacity: accentOpacity }), jsx("rect", { ...CARD_CVV, fill: accentColor, opacity: accentOpacity })] })),
236
250
  },
237
251
  });
238
252
  const NtdPieChart = /* @__PURE__ */ createIcon({
@@ -281,4 +295,4 @@ const NtdTruck = /* @__PURE__ */ createIcon({
281
295
  },
282
296
  });
283
297
 
284
- export { NtdActivity, NtdArchive, NtdAward, NtdBarChart, NtdCart, NtdCloud, NtdCloudDownload, NtdCloudUpload, NtdCode, NtdCoffee, NtdCpu, NtdCreditCard, NtdDatabase, NtdFile, NtdFileText, NtdFolder, NtdFolderOpen, NtdGit, NtdGrid, NtdKey, NtdLayers, NtdList, NtdMonitor, NtdPackage, NtdPieChart, NtdSmartphone, NtdTable, NtdTarget, NtdTerminal, NtdTruck, NtdZap };
298
+ export { NtdActivity, NtdArchive, NtdAward, NtdBarChart, NtdCart, NtdCloud, NtdCloudDownload, NtdCloudUpload, NtdCode, NtdCoffee, NtdCpu, NtdCreditCard, NtdDatabase, NtdFile, NtdFileText, NtdFolder, NtdFolderOpen, NtdGit, NtdGrid, NtdKey, NtdLayers, NtdList, NtdMonitor, NtdPackage, NtdPieChart, NtdShoppingCart, NtdSmartphone, NtdTable, NtdTarget, NtdTerminal, NtdTruck };