@nice2dev/icons 1.2.1 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/CHANGELOG.md +538 -0
  2. package/README.md +146 -134
  3. package/dist/cjs/NiceDesktopIconExporter.js +7 -3
  4. package/dist/cjs/NiceFaviconGenerator.js +6 -2
  5. package/dist/cjs/NiceIconPicker.js +36 -28
  6. package/dist/cjs/NiceIconPreview.js +3 -1
  7. package/dist/cjs/NiceIconSetCreator.js +7 -2
  8. package/dist/cjs/NtdIconBadge.js +18 -3
  9. package/dist/cjs/NtdIconMorph.js +3 -1
  10. package/dist/cjs/createIcon.js +10 -2
  11. package/dist/cjs/design-tokens.js +2 -0
  12. package/dist/cjs/iconMetadata.js +4 -0
  13. package/dist/cjs/iconParts.js +49 -0
  14. package/dist/cjs/icons/accessibility.js +12 -4
  15. package/dist/cjs/icons/actions.js +89 -25
  16. package/dist/cjs/icons/business.js +58 -28
  17. package/dist/cjs/icons/ecommerce.js +0 -20
  18. package/dist/cjs/icons/education.js +22 -9
  19. package/dist/cjs/icons/files.js +70 -56
  20. package/dist/cjs/icons/fun.js +39 -25
  21. package/dist/cjs/icons/gaming.js +29 -4
  22. package/dist/cjs/icons/health.js +11 -4
  23. package/dist/cjs/icons/index.js +63 -5
  24. package/dist/cjs/icons/input.js +120 -0
  25. package/dist/cjs/icons/legal.js +4 -9
  26. package/dist/cjs/icons/media.js +26 -11
  27. package/dist/cjs/icons/navigation.js +4 -2
  28. package/dist/cjs/icons/omniverk.js +19 -6
  29. package/dist/cjs/icons/realestate.js +10 -4
  30. package/dist/cjs/icons/saas.js +15 -4
  31. package/dist/cjs/icons/science.js +6 -3
  32. package/dist/cjs/icons/shapes.js +133 -31
  33. package/dist/cjs/icons/sports.js +6 -2
  34. package/dist/cjs/icons/ui.js +62 -20
  35. package/dist/cjs/icons/weather.js +18 -8
  36. package/dist/cjs/index.js +63 -5
  37. package/dist/cjs/nicetodev-icons.css +1 -1
  38. package/dist/cjs/resolver.js +55 -1
  39. package/dist/cjs/rsc.js +1 -1
  40. package/dist/cjs/utilities.js +4 -2
  41. package/dist/esm/NiceDesktopIconExporter.js +7 -3
  42. package/dist/esm/NiceFaviconGenerator.js +6 -2
  43. package/dist/esm/NiceIconPicker.js +37 -29
  44. package/dist/esm/NiceIconPreview.js +3 -1
  45. package/dist/esm/NiceIconSetCreator.js +7 -2
  46. package/dist/esm/NtdIconBadge.js +18 -3
  47. package/dist/esm/NtdIconMorph.js +3 -1
  48. package/dist/esm/createIcon.js +10 -2
  49. package/dist/esm/design-tokens.js +2 -0
  50. package/dist/esm/iconMetadata.js +4 -0
  51. package/dist/esm/iconParts.js +46 -0
  52. package/dist/esm/icons/accessibility.js +12 -4
  53. package/dist/esm/icons/actions.js +87 -26
  54. package/dist/esm/icons/business.js +58 -29
  55. package/dist/esm/icons/ecommerce.js +1 -19
  56. package/dist/esm/icons/education.js +22 -10
  57. package/dist/esm/icons/files.js +70 -56
  58. package/dist/esm/icons/fun.js +37 -25
  59. package/dist/esm/icons/gaming.js +29 -5
  60. package/dist/esm/icons/health.js +11 -4
  61. package/dist/esm/icons/index.js +10 -9
  62. package/dist/esm/icons/input.js +75 -0
  63. package/dist/esm/icons/legal.js +4 -9
  64. package/dist/esm/icons/media.js +26 -11
  65. package/dist/esm/icons/navigation.js +4 -2
  66. package/dist/esm/icons/omniverk.js +19 -6
  67. package/dist/esm/icons/realestate.js +10 -4
  68. package/dist/esm/icons/saas.js +15 -4
  69. package/dist/esm/icons/science.js +6 -3
  70. package/dist/esm/icons/shapes.js +128 -32
  71. package/dist/esm/icons/sports.js +6 -2
  72. package/dist/esm/icons/ui.js +62 -21
  73. package/dist/esm/icons/weather.js +18 -8
  74. package/dist/esm/index.js +10 -9
  75. package/dist/esm/nicetodev-icons.css +1 -1
  76. package/dist/esm/resolver.js +55 -1
  77. package/dist/esm/rsc.js +1 -1
  78. package/dist/esm/utilities.js +4 -2
  79. package/dist/types/design-tokens.d.ts +2 -0
  80. package/dist/types/iconParts.d.ts +19 -0
  81. package/dist/types/icons/actions.d.ts +3 -0
  82. package/dist/types/icons/business.d.ts +2 -0
  83. package/dist/types/icons/ecommerce.d.ts +0 -2
  84. package/dist/types/icons/education.d.ts +1 -0
  85. package/dist/types/icons/files.d.ts +2 -1
  86. package/dist/types/icons/fun.d.ts +6 -1
  87. package/dist/types/icons/gaming.d.ts +2 -0
  88. package/dist/types/icons/index.d.ts +10 -9
  89. package/dist/types/icons/input.d.ts +53 -0
  90. package/dist/types/icons/omniverk.d.ts +0 -2
  91. package/dist/types/icons/shapes.d.ts +6 -0
  92. package/dist/types/icons/ui.d.ts +1 -0
  93. package/dist/types/types.d.ts +6 -0
  94. package/package.json +3 -1
@@ -2,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 NtdSearch = /* @__PURE__ */ createIcon.createIcon({
7
8
  displayName: 'NtdSearch',
@@ -12,13 +13,31 @@ const NtdSearch = /* @__PURE__ */ createIcon.createIcon({
12
13
  vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsx("path", { d: "M21 21l-4.35-4.35M11 19a8 8 0 100-16 8 8 0 000 16z", stroke: primaryColor, strokeWidth: "2.2", fill: "none" }) })),
13
14
  },
14
15
  });
16
+ const EDIT_PENCIL = 'M17 3a2.828 2.828 0 114 4L7.5 20.5 2 22l1.5-5.5L17 3z';
15
17
  const NtdEdit = /* @__PURE__ */ createIcon.createIcon({
16
18
  displayName: 'NtdEdit',
17
19
  paths: {
18
- solid: ({ primaryColor, accentColor, accentOpacity }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M17 3a2.828 2.828 0 114 4L7.5 20.5 2 22l1.5-5.5L17 3z", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M15 5l4 4", stroke: accentColor, strokeWidth: "1.5", opacity: accentOpacity })] })),
20
+ // The band is a cut across the pencil: kept inside it, its ends meet the edges flush (its
21
+ // round caps stuck out of both sides).
22
+ solid: ({ primaryColor, accentColor, accentOpacity, uid }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: EDIT_PENCIL, fill: primaryColor }), iconParts.within(uid, 'band', jsxRuntime.jsx("path", { d: EDIT_PENCIL }), jsxRuntime.jsx("path", { d: "M15 5l4 4", stroke: accentColor, strokeWidth: "1.5", opacity: accentOpacity }))] })),
19
23
  outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M17 3a2.828 2.828 0 114 4L7.5 20.5 2 22l1.5-5.5L17 3z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: "M15 5l4 4", stroke: primaryColor, strokeWidth: strokeWidth })] })),
20
24
  duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M17 3a2.828 2.828 0 114 4L7.5 20.5 2 22l1.5-5.5L17 3z", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: "M17 3a2.828 2.828 0 114 4L7.5 20.5 2 22l1.5-5.5L17 3z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: "M15 5l4 4", stroke: primaryColor, strokeWidth: strokeWidth })] })),
21
- vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M17 3a2.828 2.828 0 114 4L7.5 20.5 2 22l1.5-5.5L17 3z", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M17 3a2.828 2.828 0 114 4L7.5 20.5 2 22l1.5-5.5L17 3z", fill: "white", opacity: "0.1" }), jsxRuntime.jsx("path", { d: "M15 5l4 4", stroke: secondaryColor, strokeWidth: "1.8" })] })),
25
+ vivid: ({ primaryColor, secondaryColor, uid }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: EDIT_PENCIL, fill: primaryColor }), jsxRuntime.jsx("path", { d: EDIT_PENCIL, fill: "white", opacity: "0.1" }), iconParts.within(uid, 'band', jsxRuntime.jsx("path", { d: EDIT_PENCIL }), jsxRuntime.jsx("path", { d: "M15 5l4 4", stroke: secondaryColor, strokeWidth: "1.8" }))] })),
26
+ },
27
+ });
28
+ // NtdEditDetail: NtdEdit's pencil (scaled 0.62, coordinates baked in so strokes keep their
29
+ // weight) over a square frame left open where the pencil comes out of it — the pen-to-square
30
+ // "edit details" glyph.
31
+ const EDIT_DETAIL_PENCIL = 'M18.54 2.86a1.753 1.753 0 112.48 2.48L12.65 13.71 9.24 14.64l.93-3.41L18.54 2.86z';
32
+ const EDIT_DETAIL_BAND = 'M17.3 4.1l2.48 2.48';
33
+ const EDIT_DETAIL_FRAME = 'M12 4H6a2 2 0 00-2 2v12a2 2 0 002 2h12a2 2 0 002-2v-6';
34
+ const NtdEditDetail = /* @__PURE__ */ createIcon.createIcon({
35
+ displayName: 'NtdEditDetail',
36
+ paths: {
37
+ solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth, uid }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: EDIT_DETAIL_FRAME, stroke: primaryColor, strokeWidth: strokeWidth * 2, fill: "none" }), jsxRuntime.jsx("path", { d: EDIT_DETAIL_PENCIL, fill: primaryColor }), iconParts.within(uid, 'band', jsxRuntime.jsx("path", { d: EDIT_DETAIL_PENCIL }), jsxRuntime.jsx("path", { d: EDIT_DETAIL_BAND, stroke: accentColor, strokeWidth: "1.1", opacity: accentOpacity }))] })),
38
+ outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: EDIT_DETAIL_FRAME, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: EDIT_DETAIL_PENCIL, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
39
+ duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("rect", { x: "4", y: "4", width: "16", height: "16", rx: "2", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: EDIT_DETAIL_FRAME, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: EDIT_DETAIL_PENCIL, fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: EDIT_DETAIL_PENCIL, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
40
+ vivid: ({ primaryColor, secondaryColor, strokeWidth, uid }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: EDIT_DETAIL_FRAME, stroke: secondaryColor, strokeWidth: strokeWidth * 2, fill: "none" }), jsxRuntime.jsx("path", { d: EDIT_DETAIL_PENCIL, fill: primaryColor }), iconParts.within(uid, 'band', jsxRuntime.jsx("path", { d: EDIT_DETAIL_PENCIL }), jsxRuntime.jsx("path", { d: EDIT_DETAIL_BAND, stroke: secondaryColor, strokeWidth: "1.3" }))] })),
22
41
  },
23
42
  });
24
43
  const NtdTrash = /* @__PURE__ */ createIcon.createIcon({
@@ -30,31 +49,40 @@ const NtdTrash = /* @__PURE__ */ createIcon.createIcon({
30
49
  vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M5 6l1 14a2 2 0 002 2h8a2 2 0 002-2l1-14H5z", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M5 6l1 14a2 2 0 002 2h8a2 2 0 002-2l1-14H5z", fill: "white", opacity: "0.1" }), jsxRuntime.jsx("path", { d: "M3 6h18", stroke: secondaryColor, strokeWidth: "1.8" }), jsxRuntime.jsx("path", { d: "M8 6V4a2 2 0 012-2h4a2 2 0 012 2v2", stroke: "#3B82F6", strokeWidth: "1.5" }), jsxRuntime.jsx("line", { x1: "10", y1: "10.5", x2: "10", y2: "17.5", stroke: "#3B82F6", strokeWidth: "1.5" }), jsxRuntime.jsx("line", { x1: "14", y1: "10.5", x2: "14", y2: "17.5", stroke: "#3B82F6", strokeWidth: "1.5" })] })),
31
50
  },
32
51
  });
52
+ // NtdSave: a 3.5" floppy — the clipped corner, a wide metal shutter at the top edge with its
53
+ // window, a large label at the bottom. Every part sits inside the body, so no variant pokes out.
54
+ const FLOPPY_BODY = 'M5 3h11.6L21 7.4V19a2 2 0 01-2 2H5a2 2 0 01-2-2V5a2 2 0 012-2z';
55
+ /** The shutter with its window cut out (even-odd). */
56
+ const FLOPPY_SHUTTER = 'M7 3h9.2v4.8a.8.8 0 01-.8.8H7.8a.8.8 0 01-.8-.8zM12.6 4.4v2.8h2V4.4z';
57
+ const FLOPPY_LABEL = 'M6.8 10.6h10.4a1 1 0 011 1v7a1 1 0 01-1 1H6.8a1 1 0 01-1-1v-7a1 1 0 011-1z';
33
58
  const NtdSave = /* @__PURE__ */ createIcon.createIcon({
34
59
  displayName: 'NtdSave',
35
60
  paths: {
36
- solid: ({ primaryColor, accentColor, accentOpacity }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M19 21H5a2 2 0 01-2-2V5a2 2 0 012-2h11l5 5v11a2 2 0 01-2 2z", fill: primaryColor }), jsxRuntime.jsx("rect", { x: "7", y: "13", width: "10", height: "6", rx: "1", fill: accentColor, opacity: accentOpacity }), jsxRuntime.jsx("rect", { x: "8", y: "2", width: "6", height: "5", rx: "0.5", fill: accentColor, opacity: accentOpacity * 0.5 })] })),
37
- outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M19 21H5a2 2 0 01-2-2V5a2 2 0 012-2h11l5 5v11a2 2 0 01-2 2z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("rect", { x: "7", y: "13", width: "10", height: "6", rx: "1", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: "M7 3v4h8V3", stroke: primaryColor, strokeWidth: strokeWidth })] })),
38
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M5 3h11l5 5v11a2 2 0 01-2 2H5a2 2 0 01-2-2V5a2 2 0 012-2z", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: "M19 21H5a2 2 0 01-2-2V5a2 2 0 012-2h11l5 5v11a2 2 0 01-2 2z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("rect", { x: "7", y: "13", width: "10", height: "6", rx: "1", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: "M7 3v4h8V3", stroke: primaryColor, strokeWidth: strokeWidth })] })),
39
- vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M19 21H5a2 2 0 01-2-2V5a2 2 0 012-2h11l5 5v11a2 2 0 01-2 2z", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M19 21H5a2 2 0 01-2-2V5a2 2 0 012-2h11l5 5v11a2 2 0 01-2 2z", fill: "white", opacity: "0.08" }), jsxRuntime.jsx("rect", { x: "7", y: "13", width: "10", height: "6", rx: "1", fill: secondaryColor }), jsxRuntime.jsx("rect", { x: "8", y: "2", width: "6", height: "5", rx: "0.5", fill: "#3B82F6" })] })),
61
+ solid: ({ primaryColor, accentColor, accentOpacity }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: FLOPPY_BODY, fill: primaryColor }), jsxRuntime.jsxs("g", { fill: accentColor, opacity: accentOpacity, children: [jsxRuntime.jsx("path", { d: FLOPPY_SHUTTER, fillRule: "evenodd" }), jsxRuntime.jsx("path", { d: FLOPPY_LABEL })] })] })),
62
+ outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: `${FLOPPY_BODY}M7.5 3v4h8V3M12.6 4.8v1${FLOPPY_LABEL}`, stroke: primaryColor, strokeWidth: strokeWidth, strokeLinejoin: "round", fill: "none" })),
63
+ // fills only: the body secondary, the shutter and the label primary
64
+ duotone: ({ primaryColor, secondaryColor, secondaryOpacity }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: FLOPPY_BODY, fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsxs("g", { fill: primaryColor, children: [jsxRuntime.jsx("path", { d: FLOPPY_SHUTTER, fillRule: "evenodd" }), jsxRuntime.jsx("path", { d: FLOPPY_LABEL })] })] })),
65
+ vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: FLOPPY_BODY, fill: primaryColor }), jsxRuntime.jsx("path", { d: FLOPPY_SHUTTER, fillRule: "evenodd", fill: "#CBD5E1" }), jsxRuntime.jsx("path", { d: FLOPPY_LABEL, fill: "white" }), jsxRuntime.jsx("path", { d: "M5.8 13.2h12.4v-1.6a1 1 0 00-1-1H6.8a1 1 0 00-1 1z", fill: secondaryColor })] })),
40
66
  },
41
67
  });
68
+ // The shaft stops 2 short of the arrowhead's point: with the square caps of `sharp`, a shaft that
69
+ // ran to the point stuck out of it.
42
70
  const NtdDownload = /* @__PURE__ */ createIcon.createIcon({
43
71
  displayName: 'NtdDownload',
44
72
  paths: {
45
- solid: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: "M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4M7 10l5 5 5-5M12 15V3", stroke: primaryColor, strokeWidth: strokeWidth })),
46
- outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: "M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4M7 10l5 5 5-5M12 15V3", stroke: primaryColor, strokeWidth: strokeWidth })),
47
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("rect", { x: "3", y: "15", width: "18", height: "6", rx: "2", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: "M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4M7 10l5 5 5-5M12 15V3", stroke: primaryColor, strokeWidth: strokeWidth })] })),
48
- vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsx("path", { d: "M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4M7 10l5 5 5-5M12 15V3", stroke: primaryColor, strokeWidth: "2.2" }) })),
73
+ solid: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: "M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4M7 10l5 5 5-5M12 13V3", stroke: primaryColor, strokeWidth: strokeWidth * 2 })),
74
+ outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: "M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4M7 10l5 5 5-5M12 13V3", stroke: primaryColor, strokeWidth: strokeWidth })),
75
+ duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("rect", { x: "3", y: "15", width: "18", height: "6", rx: "2", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: "M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4M7 10l5 5 5-5M12 13V3", stroke: primaryColor, strokeWidth: strokeWidth })] })),
76
+ vivid: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsx("path", { d: "M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4M7 10l5 5 5-5M12 13V3", stroke: primaryColor, strokeWidth: strokeWidth * 2 }) })),
49
77
  },
50
78
  });
51
79
  const NtdUpload = /* @__PURE__ */ createIcon.createIcon({
52
80
  displayName: 'NtdUpload',
53
81
  paths: {
54
- solid: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: "M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4M17 8l-5-5-5 5M12 3v12", stroke: primaryColor, strokeWidth: strokeWidth })),
55
- outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: "M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4M17 8l-5-5-5 5M12 3v12", stroke: primaryColor, strokeWidth: strokeWidth })),
56
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("rect", { x: "3", y: "15", width: "18", height: "6", rx: "2", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: "M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4M17 8l-5-5-5 5M12 3v12", stroke: primaryColor, strokeWidth: strokeWidth })] })),
57
- vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsx("path", { d: "M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4M17 8l-5-5-5 5M12 3v12", stroke: primaryColor, strokeWidth: "2.2" }) })),
82
+ solid: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: "M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4M17 8l-5-5-5 5M12 5v10", stroke: primaryColor, strokeWidth: strokeWidth * 2 })),
83
+ outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: "M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4M17 8l-5-5-5 5M12 5v10", stroke: primaryColor, strokeWidth: strokeWidth })),
84
+ duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("rect", { x: "3", y: "15", width: "18", height: "6", rx: "2", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: "M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4M17 8l-5-5-5 5M12 5v10", stroke: primaryColor, strokeWidth: strokeWidth })] })),
85
+ vivid: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsx("path", { d: "M21 15v4a2 2 0 01-2 2H5a2 2 0 01-2-2v-4M17 8l-5-5-5 5M12 5v10", stroke: primaryColor, strokeWidth: strokeWidth * 2 }) })),
58
86
  },
59
87
  });
60
88
  const NtdShare = /* @__PURE__ */ createIcon.createIcon({
@@ -84,31 +112,33 @@ const NtdClipboard = /* @__PURE__ */ createIcon.createIcon({
84
112
  vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M16 4h2a2 2 0 012 2v14a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2h2", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M16 4h2a2 2 0 012 2v14a2 2 0 01-2 2H6a2 2 0 01-2-2V6a2 2 0 012-2h2", fill: "white", opacity: "0.08" }), jsxRuntime.jsx("rect", { x: "8", y: "2", width: "8", height: "3.5", rx: "1.5", fill: secondaryColor, stroke: secondaryColor, strokeWidth: "1.5" }), jsxRuntime.jsx("line", { x1: "8", y1: "12", x2: "16", y2: "12", stroke: "white", strokeWidth: "1", opacity: "0.4" }), jsxRuntime.jsx("line", { x1: "8", y1: "15.5", x2: "13", y2: "15.5", stroke: "white", strokeWidth: "1", opacity: "0.4" })] })),
85
113
  },
86
114
  });
115
+ // The stroke glyphs (plus, minus, check, the arrows) are twice the stroke width when filled, so
116
+ // `solid` reads bold next to `outline` and still follows `strokeWidth`.
87
117
  const NtdPlus = /* @__PURE__ */ createIcon.createIcon({
88
118
  displayName: 'NtdPlus',
89
119
  paths: {
90
- solid: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: "M12 5v14M5 12h14", stroke: primaryColor, strokeWidth: strokeWidth * 1.25 })),
120
+ solid: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: "M12 5v14M5 12h14", stroke: primaryColor, strokeWidth: strokeWidth * 2 })),
91
121
  outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: "M12 5v14M5 12h14", stroke: primaryColor, strokeWidth: strokeWidth })),
92
122
  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: "M12 8v8M8 12h8", stroke: primaryColor, strokeWidth: strokeWidth })] })),
93
- vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsx("path", { d: "M12 5v14M5 12h14", stroke: primaryColor, strokeWidth: "2.2" }) })),
123
+ vivid: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsx("path", { d: "M12 5v14M5 12h14", stroke: primaryColor, strokeWidth: strokeWidth * 2 }) })),
94
124
  },
95
125
  });
96
126
  const NtdMinus = /* @__PURE__ */ createIcon.createIcon({
97
127
  displayName: 'NtdMinus',
98
128
  paths: {
99
- solid: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: "M5 12h14", stroke: primaryColor, strokeWidth: strokeWidth * 1.25 })),
129
+ solid: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: "M5 12h14", stroke: primaryColor, strokeWidth: strokeWidth * 2 })),
100
130
  outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: "M5 12h14", stroke: primaryColor, strokeWidth: strokeWidth })),
101
131
  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: "M8 12h8", stroke: primaryColor, strokeWidth: strokeWidth })] })),
102
- vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsx("path", { d: "M5 12h14", stroke: primaryColor, strokeWidth: "2.2" }) })),
132
+ vivid: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsx("path", { d: "M5 12h14", stroke: primaryColor, strokeWidth: strokeWidth * 2 }) })),
103
133
  },
104
134
  });
105
135
  const NtdCheck = /* @__PURE__ */ createIcon.createIcon({
106
136
  displayName: 'NtdCheck',
107
137
  paths: {
108
- solid: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: "M20 6L9 17l-5-5", stroke: primaryColor, strokeWidth: strokeWidth * 1.25 })),
138
+ solid: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: "M20 6L9 17l-5-5", stroke: primaryColor, strokeWidth: strokeWidth * 2 })),
109
139
  outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: "M20 6L9 17l-5-5", stroke: primaryColor, strokeWidth: strokeWidth })),
110
140
  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: "M17 8l-6.5 6.5L7 11", stroke: primaryColor, strokeWidth: strokeWidth })] })),
111
- vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsx("path", { d: "M20 6L9 17l-5-5", stroke: primaryColor, strokeWidth: "2.2" }) })),
141
+ vivid: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsx("path", { d: "M20 6L9 17l-5-5", stroke: primaryColor, strokeWidth: strokeWidth * 2 }) })),
112
142
  },
113
143
  });
114
144
  const NtdFilter = /* @__PURE__ */ createIcon.createIcon({
@@ -202,17 +232,28 @@ const NtdLink = /* @__PURE__ */ createIcon.createIcon({
202
232
  paths: {
203
233
  solid: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: "M10 13a5 5 0 007.54.54l3-3a5 5 0 00-7.07-7.07l-1.72 1.71M14 11a5 5 0 00-7.54-.54l-3 3a5 5 0 007.07 7.07l1.71-1.71", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })),
204
234
  outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: "M10 13a5 5 0 007.54.54l3-3a5 5 0 00-7.07-7.07l-1.72 1.71M14 11a5 5 0 00-7.54-.54l-3 3a5 5 0 007.07 7.07l1.71-1.71", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })),
205
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M14 11a5 5 0 00-7.54-.54l-3 3a5 5 0 007.07 7.07l1.71-1.71", stroke: secondaryColor, strokeWidth: strokeWidth, fill: "none", opacity: secondaryOpacity + 0.2 }), jsxRuntime.jsx("path", { d: "M10 13a5 5 0 007.54.54l3-3a5 5 0 00-7.07-7.07l-1.72 1.71M14 11a5 5 0 00-7.54-.54l-3 3a5 5 0 007.07 7.07l1.71-1.71", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
235
+ // one ring per colour: the right link primary, the left one secondary
236
+ duotone: ({ primaryColor, secondaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M14 11a5 5 0 00-7.54-.54l-3 3a5 5 0 007.07 7.07l1.71-1.71", stroke: secondaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: "M10 13a5 5 0 007.54.54l3-3a5 5 0 00-7.07-7.07l-1.72 1.71", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
206
237
  vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsx("path", { d: "M10 13a5 5 0 007.54.54l3-3a5 5 0 00-7.07-7.07l-1.72 1.71M14 11a5 5 0 00-7.54-.54l-3 3a5 5 0 007.07 7.07l1.71-1.71", stroke: primaryColor, strokeWidth: "2.2", fill: "none" }) })),
207
238
  },
208
239
  });
240
+ // NtdSettings: a gear whose eight teeth have flat tops, in every variant but `rounded`, which
241
+ // keeps the round-toothed gear it used to draw everywhere.
242
+ const GEAR = 'M9.95 4.58L10.55 1.7L13.45 1.7L14.05 4.58A7.7 7.7 0 0 1 15.8 5.3L18.26 3.69L20.31 5.74L18.7 8.2A7.7 7.7 0 0 1 19.42 9.95L22.3 10.55L22.3 13.45L19.42 14.05A7.7 7.7 0 0 1 18.7 15.8L20.31 18.26L18.26 20.31L15.8 18.7A7.7 7.7 0 0 1 14.05 19.42L13.45 22.3L10.55 22.3L9.95 19.42A7.7 7.7 0 0 1 8.2 18.7L5.74 20.31L3.69 18.26L5.3 15.8A7.7 7.7 0 0 1 4.58 14.05L1.7 13.45L1.7 10.55L4.58 9.95A7.7 7.7 0 0 1 5.3 8.2L3.69 5.74L5.74 3.69L8.2 5.3A7.7 7.7 0 0 1 9.95 4.58Z';
243
+ const GEAR_ROUND = 'M19.4 15a1.65 1.65 0 00.33 1.82l.06.06a2 2 0 01-2.83 2.83l-.06-.06a1.65 1.65 0 00-1.82-.33 1.65 1.65 0 00-1 1.51V21a2 2 0 01-4 0v-.09A1.65 1.65 0 009 19.4a1.65 1.65 0 00-1.82.33l-.06.06a2 2 0 01-2.83-2.83l.06-.06A1.65 1.65 0 004.68 15a1.65 1.65 0 00-1.51-1H3a2 2 0 010-4h.09A1.65 1.65 0 004.6 8.68a1.65 1.65 0 00-.33-1.82l-.06-.06a2 2 0 012.83-2.83l.06.06A1.65 1.65 0 009 4.6a1.65 1.65 0 001-1.51V3a2 2 0 014 0v.09a1.65 1.65 0 001 1.51 1.65 1.65 0 001.82-.33l.06-.06a2 2 0 012.83 2.83l-.06.06a1.65 1.65 0 00-.33 1.82V9a1.65 1.65 0 001.51 1H21a2 2 0 010 4h-.09a1.65 1.65 0 00-1.51 1z';
244
+ /** The axle hole, r 3.2. */
245
+ const GEAR_HOLE = 'M12 8.8a3.2 3.2 0 100 6.4 3.2 3.2 0 100-6.4z';
246
+ /** The hub around the hole, r 5 — duotone and vivid only. */
247
+ const GEAR_HUB = 'M12 7a5 5 0 100 10 5 5 0 100-10z';
209
248
  const NtdSettings = /* @__PURE__ */ createIcon.createIcon({
210
249
  displayName: 'NtdSettings',
211
250
  paths: {
212
- solid: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "3", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M19.4 15a1.65 1.65 0 00.33 1.82l.06.06a2 2 0 01-2.83 2.83l-.06-.06a1.65 1.65 0 00-1.82-.33 1.65 1.65 0 00-1 1.51V21a2 2 0 01-4 0v-.09A1.65 1.65 0 009 19.4a1.65 1.65 0 00-1.82.33l-.06.06a2 2 0 01-2.83-2.83l.06-.06A1.65 1.65 0 004.68 15a1.65 1.65 0 00-1.51-1H3a2 2 0 010-4h.09A1.65 1.65 0 004.6 8.68a1.65 1.65 0 00-.33-1.82l-.06-.06a2 2 0 012.83-2.83l.06.06A1.65 1.65 0 009 4.6a1.65 1.65 0 001-1.51V3a2 2 0 014 0v.09a1.65 1.65 0 001 1.51 1.65 1.65 0 001.82-.33l.06-.06a2 2 0 012.83 2.83l-.06.06a1.65 1.65 0 00-.33 1.82V9a1.65 1.65 0 001.51 1H21a2 2 0 010 4h-.09a1.65 1.65 0 00-1.51 1z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
213
- outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "3", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: "M19.4 15a1.65 1.65 0 00.33 1.82l.06.06a2 2 0 01-2.83 2.83l-.06-.06a1.65 1.65 0 00-1.82-.33 1.65 1.65 0 00-1 1.51V21a2 2 0 01-4 0v-.09A1.65 1.65 0 009 19.4a1.65 1.65 0 00-1.82.33l-.06.06a2 2 0 01-2.83-2.83l.06-.06A1.65 1.65 0 004.68 15a1.65 1.65 0 00-1.51-1H3a2 2 0 010-4h.09A1.65 1.65 0 004.6 8.68a1.65 1.65 0 00-.33-1.82l-.06-.06a2 2 0 012.83-2.83l.06.06A1.65 1.65 0 009 4.6a1.65 1.65 0 001-1.51V3a2 2 0 014 0v.09a1.65 1.65 0 001 1.51 1.65 1.65 0 001.82-.33l.06-.06a2 2 0 012.83 2.83l-.06.06a1.65 1.65 0 00-.33 1.82V9a1.65 1.65 0 001.51 1H21a2 2 0 010 4h-.09a1.65 1.65 0 00-1.51 1z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
214
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M19.4 15a1.65 1.65 0 00.33 1.82l.06.06a2 2 0 01-2.83 2.83l-.06-.06a1.65 1.65 0 00-1.82-.33 1.65 1.65 0 00-1 1.51V21a2 2 0 01-4 0v-.09A1.65 1.65 0 009 19.4a1.65 1.65 0 00-1.82.33l-.06.06a2 2 0 01-2.83-2.83l.06-.06A1.65 1.65 0 004.68 15a1.65 1.65 0 00-1.51-1H3a2 2 0 010-4h.09A1.65 1.65 0 004.6 8.68a1.65 1.65 0 00-.33-1.82l-.06-.06a2 2 0 012.83-2.83l.06.06A1.65 1.65 0 009 4.6a1.65 1.65 0 001-1.51V3a2 2 0 014 0v.09a1.65 1.65 0 001 1.51 1.65 1.65 0 001.82-.33l.06-.06a2 2 0 012.83 2.83l-.06.06a1.65 1.65 0 00-.33 1.82V9a1.65 1.65 0 001.51 1H21a2 2 0 010 4h-.09a1.65 1.65 0 00-1.51 1z", fill: secondaryColor, opacity: secondaryOpacity, stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "3", fill: primaryColor })] })),
215
- vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "3", fill: primaryColor }), jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "3", fill: "white", opacity: "0.1" }), jsxRuntime.jsx("path", { d: "M19.4 15a1.65 1.65 0 00.33 1.82l.06.06a2 2 0 01-2.83 2.83l-.06-.06a1.65 1.65 0 00-1.82-.33 1.65 1.65 0 00-1 1.51V21a2 2 0 01-4 0v-.09A1.65 1.65 0 009 19.4a1.65 1.65 0 00-1.82.33l-.06.06a2 2 0 01-2.83-2.83l.06-.06A1.65 1.65 0 004.68 15a1.65 1.65 0 00-1.51-1H3a2 2 0 010-4h.09A1.65 1.65 0 004.6 8.68a1.65 1.65 0 00-.33-1.82l-.06-.06a2 2 0 012.83-2.83l.06.06A1.65 1.65 0 009 4.6a1.65 1.65 0 001-1.51V3a2 2 0 014 0v.09a1.65 1.65 0 001 1.51 1.65 1.65 0 001.82-.33l.06-.06a2 2 0 012.83 2.83l-.06.06a1.65 1.65 0 00-.33 1.82V9a1.65 1.65 0 001.51 1H21a2 2 0 010 4h-.09a1.65 1.65 0 00-1.51 1z", stroke: secondaryColor, strokeWidth: "1.8", fill: "none" })] })),
251
+ solid: ({ primaryColor }) => (jsxRuntime.jsx("path", { d: `${GEAR}${GEAR_HOLE}`, fillRule: "evenodd", fill: primaryColor })),
252
+ rounded: ({ primaryColor }) => (jsxRuntime.jsx("path", { d: `${GEAR_ROUND}${GEAR_HOLE}`, fillRule: "evenodd", fill: primaryColor })),
253
+ outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: `${GEAR}M12 9a3 3 0 100 6 3 3 0 100-6z`, stroke: primaryColor, strokeWidth: strokeWidth, strokeLinejoin: "round", fill: "none" })),
254
+ // fills only: the gear secondary, its hub primary
255
+ duotone: ({ primaryColor, secondaryColor, secondaryOpacity }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: `${GEAR}${GEAR_HOLE}`, fillRule: "evenodd", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: `${GEAR_HUB}${GEAR_HOLE}`, fillRule: "evenodd", fill: primaryColor })] })),
256
+ vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: `${GEAR}${GEAR_HOLE}`, fillRule: "evenodd", fill: primaryColor }), jsxRuntime.jsx("path", { d: `${GEAR_HUB}${GEAR_HOLE}`, fillRule: "evenodd", fill: secondaryColor })] })),
216
257
  },
217
258
  });
218
259
  const NtdLogIn = /* @__PURE__ */ createIcon.createIcon({
@@ -251,13 +292,35 @@ const NtdUnlock = /* @__PURE__ */ createIcon.createIcon({
251
292
  vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("rect", { x: "3", y: "11", width: "18", height: "11", rx: "2.5", fill: primaryColor }), jsxRuntime.jsx("rect", { x: "3", y: "11", width: "18", height: "11", rx: "2.5", fill: "white", opacity: "0.08" }), jsxRuntime.jsx("circle", { cx: "12", cy: "15.5", r: "1.5", fill: secondaryColor }), jsxRuntime.jsx("rect", { x: "11.25", y: "16.5", width: "1.5", height: "2", rx: "0.5", fill: "#3B82F6" }), jsxRuntime.jsx("path", { d: "M7 11V7a5 5 0 019.9-1", stroke: "white", strokeWidth: "1" })] })),
252
293
  },
253
294
  });
295
+ // Group / ungroup selected objects (1.2.2: the diagram toolbar drew them as ⊞ / ⊟).
296
+ // Group: two objects inside the corners of one selection frame; ungroup: the two apart.
297
+ const NtdGroup = /* @__PURE__ */ createIcon.createIcon({
298
+ displayName: 'NtdGroup',
299
+ paths: {
300
+ solid: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M3 7V3h4M17 3h4v4M21 17v4h-4M7 21H3v-4", stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round", strokeLinejoin: "round", fill: "none" }), jsxRuntime.jsx("rect", { x: "7", y: "7", width: "5", height: "5", fill: primaryColor }), jsxRuntime.jsx("rect", { x: "12", y: "12", width: "5", height: "5", fill: primaryColor })] })),
301
+ outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: "M3 7V3h4M17 3h4v4M21 17v4h-4M7 21H3v-4M7 7h5v5H7zM12 12h5v5h-5z", stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round", strokeLinejoin: "round", fill: "none" })),
302
+ duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("rect", { x: "7", y: "7", width: "5", height: "5", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("rect", { x: "12", y: "12", width: "5", height: "5", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: "M3 7V3h4M17 3h4v4M21 17v4h-4M7 21H3v-4M7 7h5v5H7zM12 12h5v5h-5z", stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round", strokeLinejoin: "round", fill: "none" })] })),
303
+ vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M3 7V3h4M17 3h4v4M21 17v4h-4M7 21H3v-4", stroke: primaryColor, strokeWidth: "2.2", strokeLinecap: "round", strokeLinejoin: "round", fill: "none" }), jsxRuntime.jsx("rect", { x: "7", y: "7", width: "5", height: "5", fill: primaryColor }), jsxRuntime.jsx("rect", { x: "12", y: "12", width: "5", height: "5", fill: primaryColor })] })),
304
+ },
305
+ });
306
+ const NtdUngroup = /* @__PURE__ */ createIcon.createIcon({
307
+ displayName: 'NtdUngroup',
308
+ paths: {
309
+ solid: ({ primaryColor, strokeWidth: _strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("rect", { x: "3", y: "3", width: "8", height: "8", rx: "1", fill: primaryColor }), jsxRuntime.jsx("rect", { x: "13", y: "13", width: "8", height: "8", rx: "1", fill: primaryColor })] })),
310
+ outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsx("path", { d: "M3 3h8v8H3zM13 13h8v8h-8z", stroke: primaryColor, strokeWidth: strokeWidth, strokeLinejoin: "round", fill: "none" })),
311
+ duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("rect", { x: "3", y: "3", width: "8", height: "8", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("rect", { x: "13", y: "13", width: "8", height: "8", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: "M3 3h8v8H3zM13 13h8v8h-8z", stroke: primaryColor, strokeWidth: strokeWidth, strokeLinejoin: "round", fill: "none" })] })),
312
+ vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("rect", { x: "3", y: "3", width: "8", height: "8", rx: "1", fill: primaryColor }), jsxRuntime.jsx("rect", { x: "13", y: "13", width: "8", height: "8", rx: "1", fill: primaryColor }), jsxRuntime.jsx("rect", { x: "3", y: "3", width: "8", height: "8", rx: "1", fill: "white", opacity: "0.1" }), jsxRuntime.jsx("rect", { x: "13", y: "13", width: "8", height: "8", rx: "1", fill: "white", opacity: "0.1" })] })),
313
+ },
314
+ });
254
315
 
255
316
  exports.NtdCheck = NtdCheck;
256
317
  exports.NtdClipboard = NtdClipboard;
257
318
  exports.NtdCopy = NtdCopy;
258
319
  exports.NtdDownload = NtdDownload;
259
320
  exports.NtdEdit = NtdEdit;
321
+ exports.NtdEditDetail = NtdEditDetail;
260
322
  exports.NtdFilter = NtdFilter;
323
+ exports.NtdGroup = NtdGroup;
261
324
  exports.NtdLink = NtdLink;
262
325
  exports.NtdLock = NtdLock;
263
326
  exports.NtdLogIn = NtdLogIn;
@@ -274,6 +337,7 @@ exports.NtdShare = NtdShare;
274
337
  exports.NtdSort = NtdSort;
275
338
  exports.NtdTrash = NtdTrash;
276
339
  exports.NtdUndo = NtdUndo;
340
+ exports.NtdUngroup = NtdUngroup;
277
341
  exports.NtdUnlock = NtdUnlock;
278
342
  exports.NtdUpload = NtdUpload;
279
343
  exports.NtdZoomIn = NtdZoomIn;
@@ -2,14 +2,22 @@
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
 
7
+ // The band sits halfway down the case and is a cut through it: kept inside the case it meets the
8
+ // sides flush (its round caps stuck out of both). A clasp hangs from its middle.
9
+ const BRIEFCASE_CASE = { x: 2, y: 7, width: 20, height: 14, rx: 2 };
10
+ const BRIEFCASE_HANDLE = 'M16 7V5a2 2 0 00-2-2h-4a2 2 0 00-2 2v2';
11
+ /** The clasp over the band, hanging down from it, with its slot (even-odd). */
12
+ 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';
13
+ const BRIEFCASE_SLOT = 'M11.4 13.6h1.2v1.2h-1.2z';
6
14
  const NtdBriefcase = /* @__PURE__ */ createIcon.createIcon({
7
15
  displayName: 'NtdBriefcase',
8
16
  paths: {
9
- solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("rect", { x: "2", y: "7", width: "20", height: "14", rx: "2", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M16 7V5a2 2 0 00-2-2h-4a2 2 0 00-2 2v2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("line", { x1: "2", y1: "13", x2: "22", y2: "13", stroke: accentColor, strokeWidth: "1.5", opacity: accentOpacity * 0.5 })] })),
10
- outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("rect", { x: "2", y: "7", width: "20", height: "14", rx: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: "M16 7V5a2 2 0 00-2-2h-4a2 2 0 00-2 2v2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("line", { x1: "2", y1: "13", x2: "22", y2: "13", stroke: primaryColor, strokeWidth: "1.5" })] })),
11
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("rect", { x: "2", y: "7", width: "20", height: "14", rx: "2", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("rect", { x: "2", y: "7", width: "20", height: "14", rx: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: "M16 7V5a2 2 0 00-2-2h-4a2 2 0 00-2 2v2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("line", { x1: "2", y1: "13", x2: "22", y2: "13", stroke: primaryColor, strokeWidth: "1.5" })] })),
12
- vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("rect", { x: "2", y: "7", width: "20", height: "14", rx: "2", fill: primaryColor }), jsxRuntime.jsx("rect", { x: "2", y: "7", width: "20", height: "14", rx: "2", fill: "white", opacity: "0.1" }), jsxRuntime.jsx("path", { d: "M16 7V5a2 2 0 00-2-2h-4a2 2 0 00-2 2v2", stroke: secondaryColor, strokeWidth: "1.8", fill: "none" }), jsxRuntime.jsx("line", { x1: "2", y1: "13", x2: "22", y2: "13", stroke: "#3B82F6", strokeWidth: "1.5" })] })),
17
+ solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth, uid }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("rect", { ...BRIEFCASE_CASE, fill: primaryColor }), jsxRuntime.jsx("path", { d: BRIEFCASE_HANDLE, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsxs("g", { fill: accentColor, opacity: accentOpacity, children: [iconParts.within(uid, 'band', jsxRuntime.jsx("rect", { ...BRIEFCASE_CASE }), jsxRuntime.jsx("line", { x1: "2", y1: "12.5", x2: "22", y2: "12.5", stroke: accentColor, strokeWidth: "1.5" })), jsxRuntime.jsx("path", { d: `${BRIEFCASE_CLASP}${BRIEFCASE_SLOT}`, fillRule: "evenodd" })] })] })),
18
+ outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("rect", { ...BRIEFCASE_CASE, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: BRIEFCASE_HANDLE, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("line", { x1: "2", y1: "12.5", x2: "22", y2: "12.5", stroke: primaryColor, strokeWidth: "1.5" }), jsxRuntime.jsx("path", { d: BRIEFCASE_CLASP, fill: primaryColor })] })),
19
+ duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("rect", { ...BRIEFCASE_CASE, fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("rect", { ...BRIEFCASE_CASE, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: BRIEFCASE_HANDLE, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("line", { x1: "2", y1: "12.5", x2: "22", y2: "12.5", stroke: primaryColor, strokeWidth: "1.5" }), jsxRuntime.jsx("path", { d: BRIEFCASE_CLASP, fill: primaryColor })] })),
20
+ vivid: ({ primaryColor, secondaryColor, uid }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("rect", { ...BRIEFCASE_CASE, fill: primaryColor }), jsxRuntime.jsx("rect", { ...BRIEFCASE_CASE, fill: "white", opacity: "0.1" }), jsxRuntime.jsx("path", { d: BRIEFCASE_HANDLE, stroke: secondaryColor, strokeWidth: "1.8", fill: "none" }), iconParts.within(uid, 'band', jsxRuntime.jsx("rect", { ...BRIEFCASE_CASE }), jsxRuntime.jsx("line", { x1: "2", y1: "12.5", x2: "22", y2: "12.5", stroke: secondaryColor, strokeWidth: "1.5" })), jsxRuntime.jsx("path", { d: `${BRIEFCASE_CLASP}${BRIEFCASE_SLOT}`, fillRule: "evenodd", fill: secondaryColor })] })),
13
21
  },
14
22
  });
15
23
  const NtdDollar = /* @__PURE__ */ createIcon.createIcon({
@@ -30,22 +38,25 @@ const NtdWallet = /* @__PURE__ */ createIcon.createIcon({
30
38
  vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("rect", { x: "2", y: "5", width: "20", height: "16", rx: "2", fill: primaryColor }), jsxRuntime.jsx("rect", { x: "2", y: "5", width: "20", height: "16", rx: "2", fill: "white", opacity: "0.08" }), jsxRuntime.jsx("circle", { cx: "18", cy: "13", r: "1.5", fill: secondaryColor }), jsxRuntime.jsx("path", { d: "M2 5a2 2 0 012-2h12l4 4", stroke: "white", strokeWidth: "1", fill: "none" })] })),
31
39
  },
32
40
  });
41
+ // NtdReceipt: two rows of description and amount, then the total on its own on the right.
42
+ const RECEIPT = 'M4 2v20l3-2 3 2 3-2 3 2 3-2 3 2V2H4z';
43
+ const RECEIPT_TEXT = 'M7.5 7.5h5M15.5 7.5h2M7.5 11.5h5M15.5 11.5h2M13.5 15.5h4';
33
44
  const NtdReceipt = /* @__PURE__ */ createIcon.createIcon({
34
45
  displayName: 'NtdReceipt',
35
46
  paths: {
36
- solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth: _strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M4 2v20l3-2 3 2 3-2 3 2 3-2 3 2V2H4z", fill: primaryColor }), jsxRuntime.jsx("line", { x1: "8", y1: "8", x2: "16", y2: "8", stroke: accentColor, strokeWidth: "1.5", opacity: accentOpacity }), jsxRuntime.jsx("line", { x1: "8", y1: "12", x2: "16", y2: "12", stroke: accentColor, strokeWidth: "1.5", opacity: accentOpacity }), jsxRuntime.jsx("line", { x1: "8", y1: "16", x2: "12", y2: "16", stroke: accentColor, strokeWidth: "1.5", opacity: accentOpacity })] })),
37
- outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M4 2v20l3-2 3 2 3-2 3 2 3-2 3 2V2H4z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("line", { x1: "8", y1: "8", x2: "16", y2: "8", stroke: primaryColor, strokeWidth: "1.5" }), jsxRuntime.jsx("line", { x1: "8", y1: "12", x2: "16", y2: "12", stroke: primaryColor, strokeWidth: "1.5" }), jsxRuntime.jsx("line", { x1: "8", y1: "16", x2: "12", y2: "16", stroke: primaryColor, strokeWidth: "1.5" })] })),
38
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M4 2v20l3-2 3 2 3-2 3 2 3-2 3 2V2H4z", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: "M4 2v20l3-2 3 2 3-2 3 2 3-2 3 2V2H4z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("line", { x1: "8", y1: "8", x2: "16", y2: "8", stroke: primaryColor, strokeWidth: "1.5" }), jsxRuntime.jsx("line", { x1: "8", y1: "12", x2: "16", y2: "12", stroke: primaryColor, strokeWidth: "1.5" }), jsxRuntime.jsx("line", { x1: "8", y1: "16", x2: "12", y2: "16", stroke: primaryColor, strokeWidth: "1.5" })] })),
39
- vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M4 2v20l3-2 3 2 3-2 3 2 3-2 3 2V2H4z", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M4 2v20l3-2 3 2 3-2 3 2 3-2 3 2V2H4z", fill: "white", opacity: "0.1" }), jsxRuntime.jsx("line", { x1: "8", y1: "8", x2: "16", y2: "8", stroke: secondaryColor, strokeWidth: "1.8" }), jsxRuntime.jsx("line", { x1: "8", y1: "12", x2: "16", y2: "12", stroke: "#3B82F6", strokeWidth: "1.5" }), jsxRuntime.jsx("line", { x1: "8", y1: "16", x2: "12", y2: "16", stroke: "#3B82F6", strokeWidth: "1.5" })] })),
47
+ solid: ({ primaryColor, accentColor, accentOpacity }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: RECEIPT, fill: primaryColor }), jsxRuntime.jsx("path", { d: RECEIPT_TEXT, stroke: accentColor, strokeWidth: "1.5", opacity: accentOpacity, fill: "none" })] })),
48
+ outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: RECEIPT, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: RECEIPT_TEXT, stroke: primaryColor, strokeWidth: "1.5", fill: "none" })] })),
49
+ duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: RECEIPT, fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: RECEIPT, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: RECEIPT_TEXT, stroke: primaryColor, strokeWidth: "1.5", fill: "none" })] })),
50
+ vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: RECEIPT, fill: primaryColor }), jsxRuntime.jsx("path", { d: RECEIPT, fill: "white", opacity: "0.1" }), jsxRuntime.jsx("path", { d: RECEIPT_TEXT, stroke: "white", strokeOpacity: "0.9", strokeWidth: "1.5", fill: "none" }), jsxRuntime.jsx("path", { d: "M13.5 15.5h4", stroke: secondaryColor, strokeWidth: "1.8" })] })),
40
51
  },
41
52
  });
42
53
  const NtdBank = /* @__PURE__ */ createIcon.createIcon({
43
54
  displayName: 'NtdBank',
44
55
  paths: {
45
- solid: ({ primaryColor, strokeWidth: _strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("polygon", { points: "12,4 2,9 22,9", fill: primaryColor }), jsxRuntime.jsx("rect", { x: "2", y: "18", width: "20", height: "2", rx: "0.5", fill: primaryColor }), jsxRuntime.jsx("rect", { x: "5", y: "9", width: "2", height: "9", fill: primaryColor }), jsxRuntime.jsx("rect", { x: "9", y: "9", width: "2", height: "9", fill: primaryColor }), jsxRuntime.jsx("rect", { x: "13", y: "9", width: "2", height: "9", fill: primaryColor }), jsxRuntime.jsx("rect", { x: "17", y: "9", width: "2", height: "9", fill: primaryColor })] })),
46
- outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("polygon", { points: "12,4 2,9 22,9", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("line", { x1: "2", y1: "18", x2: "22", y2: "18", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("line", { x1: "6", y1: "9", x2: "6", y2: "18", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("line", { x1: "10", y1: "9", x2: "10", y2: "18", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("line", { x1: "14", y1: "9", x2: "14", y2: "18", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("line", { x1: "18", y1: "9", x2: "18", y2: "18", stroke: primaryColor, strokeWidth: strokeWidth })] })),
47
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("polygon", { points: "12,4 2,9 22,9", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("polygon", { points: "12,4 2,9 22,9", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("line", { x1: "2", y1: "18", x2: "22", y2: "18", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("line", { x1: "6", y1: "9", x2: "6", y2: "18", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("line", { x1: "10", y1: "9", x2: "10", y2: "18", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("line", { x1: "14", y1: "9", x2: "14", y2: "18", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("line", { x1: "18", y1: "9", x2: "18", y2: "18", stroke: primaryColor, strokeWidth: strokeWidth })] })),
48
- vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("polygon", { points: "12,4 2,9 22,9", fill: primaryColor }), jsxRuntime.jsx("polygon", { points: "12,4 2,9 22,9", fill: "white", opacity: "0.08" }), jsxRuntime.jsx("rect", { x: "2", y: "18", width: "20", height: "2", rx: "0.5", fill: secondaryColor }), jsxRuntime.jsx("rect", { x: "5", y: "9", width: "2", height: "9", fill: "#3B82F6" }), jsxRuntime.jsx("rect", { x: "9", y: "9", width: "2", height: "9", fill: "#10B981" }), jsxRuntime.jsx("rect", { x: "13", y: "9", width: "2", height: "9", fill: "#F59E0B" }), jsxRuntime.jsx("rect", { x: "17", y: "9", width: "2", height: "9", fill: "#F59E0B" })] })),
56
+ solid: ({ primaryColor, strokeWidth: _strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("polygon", { points: "12,2 2,9 22,9", fill: primaryColor }), jsxRuntime.jsx("rect", { x: "2", y: "18", width: "20", height: "2", rx: "0.5", fill: primaryColor }), jsxRuntime.jsx("rect", { x: "5", y: "9", width: "2", height: "9", fill: primaryColor }), jsxRuntime.jsx("rect", { x: "9", y: "9", width: "2", height: "9", fill: primaryColor }), jsxRuntime.jsx("rect", { x: "13", y: "9", width: "2", height: "9", fill: primaryColor }), jsxRuntime.jsx("rect", { x: "17", y: "9", width: "2", height: "9", fill: primaryColor })] })),
57
+ outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("polygon", { points: "12,2 2,9 22,9", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("line", { x1: "2", y1: "18", x2: "22", y2: "18", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("line", { x1: "6", y1: "9", x2: "6", y2: "18", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("line", { x1: "10", y1: "9", x2: "10", y2: "18", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("line", { x1: "14", y1: "9", x2: "14", y2: "18", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("line", { x1: "18", y1: "9", x2: "18", y2: "18", stroke: primaryColor, strokeWidth: strokeWidth })] })),
58
+ duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("polygon", { points: "12,2 2,9 22,9", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("polygon", { points: "12,2 2,9 22,9", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("line", { x1: "2", y1: "18", x2: "22", y2: "18", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("line", { x1: "6", y1: "9", x2: "6", y2: "18", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("line", { x1: "10", y1: "9", x2: "10", y2: "18", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("line", { x1: "14", y1: "9", x2: "14", y2: "18", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("line", { x1: "18", y1: "9", x2: "18", y2: "18", stroke: primaryColor, strokeWidth: strokeWidth })] })),
59
+ vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("polygon", { points: "12,2 2,9 22,9", fill: primaryColor }), jsxRuntime.jsx("polygon", { points: "12,2 2,9 22,9", fill: "white", opacity: "0.08" }), jsxRuntime.jsx("rect", { x: "2", y: "18", width: "20", height: "2", rx: "0.5", fill: secondaryColor }), jsxRuntime.jsx("rect", { x: "5", y: "9", width: "2", height: "9", fill: "#3B82F6" }), jsxRuntime.jsx("rect", { x: "9", y: "9", width: "2", height: "9", fill: "#10B981" }), jsxRuntime.jsx("rect", { x: "13", y: "9", width: "2", height: "9", fill: "#F59E0B" }), jsxRuntime.jsx("rect", { x: "17", y: "9", width: "2", height: "9", fill: "#F59E0B" })] })),
49
60
  },
50
61
  });
51
62
  const NtdTrendUp = /* @__PURE__ */ createIcon.createIcon({
@@ -66,24 +77,24 @@ const NtdTrendDown = /* @__PURE__ */ createIcon.createIcon({
66
77
  vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("polyline", { points: "23,18 13.5,8.5 8.5,13.5 1,6", stroke: primaryColor, strokeWidth: "2", fill: "none" }), jsxRuntime.jsx("polyline", { points: "17,18 23,18 23,12", stroke: secondaryColor, strokeWidth: "2", fill: "none" })] })),
67
78
  },
68
79
  });
80
+ // NtdPercent: the dots are rings in every variant, a hole in each (they were plain discs when
81
+ // filled).
82
+ 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';
83
+ 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';
69
84
  const NtdPercent = /* @__PURE__ */ createIcon.createIcon({
70
85
  displayName: 'NtdPercent',
71
86
  paths: {
72
- solid: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("line", { x1: "19", y1: "5", x2: "5", y2: "19", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("circle", { cx: "6.5", cy: "6.5", r: "2.5", fill: primaryColor }), jsxRuntime.jsx("circle", { cx: "17.5", cy: "17.5", r: "2.5", fill: primaryColor })] })),
87
+ solid: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("line", { x1: "19", y1: "5", x2: "5", y2: "19", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("path", { d: `${PERCENT_DOT_TOP}${PERCENT_DOT_BOTTOM}`, fillRule: "evenodd", fill: primaryColor })] })),
73
88
  outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("line", { x1: "19", y1: "5", x2: "5", y2: "19", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("circle", { cx: "6.5", cy: "6.5", r: "2.5", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("circle", { cx: "17.5", cy: "17.5", r: "2.5", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
74
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("line", { x1: "19", y1: "5", x2: "5", y2: "19", stroke: secondaryColor, strokeWidth: strokeWidth, opacity: secondaryOpacity + 0.2 }), jsxRuntime.jsx("circle", { cx: "6.5", cy: "6.5", r: "2.5", fill: primaryColor }), jsxRuntime.jsx("circle", { cx: "17.5", cy: "17.5", r: "2.5", fill: primaryColor })] })),
75
- vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("circle", { cx: "6.5", cy: "6.5", r: "2.5", fill: primaryColor }), jsxRuntime.jsx("circle", { cx: "6.5", cy: "6.5", r: "2.5", fill: "white", opacity: "0.08" }), jsxRuntime.jsx("circle", { cx: "17.5", cy: "17.5", r: "2.5", fill: secondaryColor }), jsxRuntime.jsx("line", { x1: "19", y1: "5", x2: "5", y2: "19", stroke: "white", strokeWidth: "1" })] })),
76
- },
77
- });
78
- const NtdInvoice = /* @__PURE__ */ createIcon.createIcon({
79
- displayName: 'NtdInvoice',
80
- paths: {
81
- solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth: _strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8l-6-6z", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M14 2v6h6", fill: primaryColor, opacity: 0.6 }), jsxRuntime.jsx("line", { x1: "8", y1: "13", x2: "12", y2: "13", stroke: accentColor, strokeWidth: "1.5", opacity: accentOpacity }), jsxRuntime.jsx("line", { x1: "8", y1: "17", x2: "16", y2: "17", stroke: accentColor, strokeWidth: "1.5", opacity: accentOpacity }), jsxRuntime.jsx("line", { x1: "14", y1: "13", x2: "16", y2: "13", stroke: accentColor, strokeWidth: "1.5", opacity: accentOpacity * 0.6 })] })),
82
- outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.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" }), jsxRuntime.jsx("path", { d: "M14 2v6h6", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("line", { x1: "8", y1: "13", x2: "12", y2: "13", stroke: primaryColor, strokeWidth: "1.5" }), jsxRuntime.jsx("line", { x1: "8", y1: "17", x2: "16", y2: "17", stroke: primaryColor, strokeWidth: "1.5" }), jsxRuntime.jsx("line", { x1: "14", y1: "13", x2: "16", y2: "13", stroke: primaryColor, strokeWidth: "1.5" })] })),
83
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8l-6-6z", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.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" }), jsxRuntime.jsx("path", { d: "M14 2v6h6", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("line", { x1: "8", y1: "13", x2: "12", y2: "13", stroke: primaryColor, strokeWidth: "1.5" }), jsxRuntime.jsx("line", { x1: "8", y1: "17", x2: "16", y2: "17", stroke: primaryColor, strokeWidth: "1.5" })] })),
84
- vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8l-6-6z", fill: primaryColor }), jsxRuntime.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" }), jsxRuntime.jsx("path", { d: "M14 2v6h6", fill: secondaryColor }), jsxRuntime.jsx("line", { x1: "8", y1: "13", x2: "12", y2: "13", stroke: "white", strokeWidth: "1", opacity: "0.4" }), jsxRuntime.jsx("line", { x1: "8", y1: "17", x2: "16", y2: "17", stroke: "white", strokeWidth: "1", opacity: "0.4" }), jsxRuntime.jsx("line", { x1: "14", y1: "13", x2: "16", y2: "13", stroke: "white", strokeWidth: "1", opacity: "0.4" })] })),
89
+ duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("line", { x1: "19", y1: "5", x2: "5", y2: "19", stroke: secondaryColor, strokeWidth: strokeWidth, opacity: secondaryOpacity + 0.2 }), jsxRuntime.jsx("path", { d: `${PERCENT_DOT_TOP}${PERCENT_DOT_BOTTOM}`, fillRule: "evenodd", fill: primaryColor })] })),
90
+ vivid: ({ primaryColor, secondaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("line", { x1: "19", y1: "5", x2: "5", y2: "19", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("path", { d: PERCENT_DOT_TOP, fillRule: "evenodd", fill: primaryColor }), jsxRuntime.jsx("path", { d: PERCENT_DOT_BOTTOM, fillRule: "evenodd", fill: secondaryColor })] })),
85
91
  },
86
92
  });
93
+ // NtdInvoice: NtdFile's page with a short title, two rows of item and amount, and the total on
94
+ // its own at the bottom right, as on a receipt.
95
+ const NtdInvoice = /* @__PURE__ */ iconParts.paperIcon('NtdInvoice', 'M7.5 7h2.5M7.5 12.5h3.3M13.8 12.5h2.7M7.5 15.5h3.3M13.8 15.5h2.7M12.5 19h4');
96
+ /** @deprecated A second invoice next to {@link NtdInvoice} — use that. */
97
+ const NtdInvoiceDoc = NtdInvoice;
87
98
  const NtdStore = /* @__PURE__ */ createIcon.createIcon({
88
99
  displayName: 'NtdStore',
89
100
  paths: {
@@ -93,13 +104,31 @@ const NtdStore = /* @__PURE__ */ createIcon.createIcon({
93
104
  vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M3 9l1-5h16l1 5", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M3 9l1-5h16l1 5", fill: "white", opacity: "0.08" }), jsxRuntime.jsx("rect", { x: "5", y: "14", width: "14", height: "8", fill: secondaryColor }), jsxRuntime.jsx("rect", { x: "9", y: "17", width: "6", height: "5", fill: "#3B82F6" }), jsxRuntime.jsx("path", { d: "M3 9h18", stroke: "white", strokeWidth: "1" }), jsxRuntime.jsx("path", { d: "M3 9c0 1.66 1.34 3 3 3s3-1.34 3-3", stroke: "white", strokeWidth: "1", fill: "none" }), jsxRuntime.jsx("path", { d: "M9 9c0 1.66 1.34 3 3 3s3-1.34 3-3", stroke: "white", strokeWidth: "1", fill: "none" }), jsxRuntime.jsx("path", { d: "M15 9c0 1.66 1.34 3 3 3s3-1.34 3-3", stroke: "white", strokeWidth: "1", fill: "none" })] })),
94
105
  },
95
106
  });
107
+ // NtdBarcode: eleven bars, 0.8–1.6 wide, like a real code (six bars up to 3 wide read as a few
108
+ // fat stripes). [x, width] per bar, from 2 to 22; the widest ones are the 1.6.
109
+ const BARCODE_BARS = [
110
+ [2, 1.2],
111
+ [4, 0.8],
112
+ [5.6, 1.6],
113
+ [8, 0.8],
114
+ [10, 1.2],
115
+ [12, 0.8],
116
+ [13.6, 0.8],
117
+ [15.6, 1.6],
118
+ [18, 0.8],
119
+ [19.6, 0.8],
120
+ [21.2, 0.8],
121
+ ];
96
122
  const NtdBarcode = /* @__PURE__ */ createIcon.createIcon({
97
123
  displayName: 'NtdBarcode',
98
124
  paths: {
99
- solid: ({ primaryColor, strokeWidth: _strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("rect", { x: "2", y: "4", width: "2", height: "16", fill: primaryColor }), jsxRuntime.jsx("rect", { x: "6", y: "4", width: "1", height: "16", fill: primaryColor }), jsxRuntime.jsx("rect", { x: "9", y: "4", width: "2", height: "16", fill: primaryColor }), jsxRuntime.jsx("rect", { x: "13", y: "4", width: "1", height: "16", fill: primaryColor }), jsxRuntime.jsx("rect", { x: "15", y: "4", width: "3", height: "16", fill: primaryColor }), jsxRuntime.jsx("rect", { x: "20", y: "4", width: "2", height: "16", fill: primaryColor })] })),
100
- outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("line", { x1: "3", y1: "4", x2: "3", y2: "20", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("line", { x1: "7", y1: "4", x2: "7", y2: "20", stroke: primaryColor, strokeWidth: "1.5" }), jsxRuntime.jsx("line", { x1: "10", y1: "4", x2: "10", y2: "20", stroke: primaryColor, strokeWidth: strokeWidth }), jsxRuntime.jsx("line", { x1: "13.5", y1: "4", x2: "13.5", y2: "20", stroke: primaryColor, strokeWidth: "1" }), jsxRuntime.jsx("line", { x1: "16.5", y1: "4", x2: "16.5", y2: "20", stroke: primaryColor, strokeWidth: "3" }), jsxRuntime.jsx("line", { x1: "21", y1: "4", x2: "21", y2: "20", stroke: primaryColor, strokeWidth: strokeWidth })] })),
101
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth: _strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("rect", { x: "6", y: "4", width: "1", height: "16", fill: secondaryColor, opacity: secondaryOpacity + 0.2 }), jsxRuntime.jsx("rect", { x: "13", y: "4", width: "1", height: "16", fill: secondaryColor, opacity: secondaryOpacity + 0.2 }), jsxRuntime.jsx("rect", { x: "2", y: "4", width: "2", height: "16", fill: primaryColor }), jsxRuntime.jsx("rect", { x: "9", y: "4", width: "2", height: "16", fill: primaryColor }), jsxRuntime.jsx("rect", { x: "15", y: "4", width: "3", height: "16", fill: primaryColor }), jsxRuntime.jsx("rect", { x: "20", y: "4", width: "2", height: "16", fill: primaryColor })] })),
102
- vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("rect", { x: "2", y: "4", width: "2", height: "16", fill: primaryColor }), jsxRuntime.jsx("rect", { x: "2", y: "4", width: "2", height: "16", fill: "white", opacity: "0.08" }), jsxRuntime.jsx("rect", { x: "6", y: "4", width: "1", height: "16", fill: secondaryColor }), jsxRuntime.jsx("rect", { x: "9", y: "4", width: "2", height: "16", fill: "#3B82F6" }), jsxRuntime.jsx("rect", { x: "13", y: "4", width: "1", height: "16", fill: "#10B981" }), jsxRuntime.jsx("rect", { x: "15", y: "4", width: "3", height: "16", fill: "#F59E0B" }), jsxRuntime.jsx("rect", { x: "20", y: "4", width: "2", height: "16", fill: "#F59E0B" })] })),
125
+ // lines, not rects: the wireframe then draws one thin line per bar rather than the outlines of
126
+ // 0.8-wide boxes, which run together; the square caps end every bar at 4 and 20
127
+ solid: ({ primaryColor }) => (jsxRuntime.jsx(jsxRuntime.Fragment, { children: BARCODE_BARS.map(([x, w]) => (jsxRuntime.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))) })),
128
+ outline: ({ primaryColor }) => (jsxRuntime.jsx(jsxRuntime.Fragment, { children: BARCODE_BARS.map(([x, w]) => (jsxRuntime.jsx("line", { x1: x + w / 2, y1: 4 + w / 2, x2: x + w / 2, y2: 20 - w / 2, stroke: primaryColor, strokeWidth: w }, x))) })),
129
+ // every other bar in secondary
130
+ duotone: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsx(jsxRuntime.Fragment, { children: BARCODE_BARS.map(([x, w], i) => (jsxRuntime.jsx("rect", { x: x, y: "4", width: w, height: "16", fill: i % 2 ? secondaryColor : primaryColor }, x))) })),
131
+ vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsx(jsxRuntime.Fragment, { children: BARCODE_BARS.map(([x, w], i) => (jsxRuntime.jsx("rect", { x: x, y: "4", width: w, height: "16", fill: i % 3 === 1 ? secondaryColor : primaryColor }, x))) })),
103
132
  },
104
133
  });
105
134
  const NtdCalculator = /* @__PURE__ */ createIcon.createIcon({
@@ -175,6 +204,7 @@ exports.NtdClipboardCheck = NtdClipboardCheck;
175
204
  exports.NtdCoins = NtdCoins;
176
205
  exports.NtdDollar = NtdDollar;
177
206
  exports.NtdInvoice = NtdInvoice;
207
+ exports.NtdInvoiceDoc = NtdInvoiceDoc;
178
208
  exports.NtdKanban = NtdKanban;
179
209
  exports.NtdMilestone = NtdMilestone;
180
210
  exports.NtdPercent = NtdPercent;
@@ -7,15 +7,6 @@ var createIcon = require('../createIcon.js');
7
7
  // E-Commerce Icons
8
8
  // Shopping cart, checkout, wishlist, compare, shipping, returns, promo, etc.
9
9
  // ═══════════════════════════════════════════════════════════════════════════════
10
- const NtdShoppingCart = /* @__PURE__ */ createIcon.createIcon({
11
- displayName: 'NtdShoppingCart',
12
- paths: {
13
- solid: ({ primaryColor, accentColor, accentOpacity }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M6 6h15l-1.5 9H7.5L6 6z", fill: primaryColor }), jsxRuntime.jsx("circle", { cx: "9", cy: "20", r: "1.5", fill: primaryColor }), jsxRuntime.jsx("circle", { cx: "18", cy: "20", r: "1.5", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M1 1h4l1 4", stroke: accentColor, strokeWidth: "2", opacity: accentOpacity, fill: "none" })] })),
14
- outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M6 6h15l-1.5 9H7.5L6 6z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("circle", { cx: "9", cy: "20", r: "1.5", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("circle", { cx: "18", cy: "20", r: "1.5", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: "M1 1h4l1 4", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
15
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M6 6h15l-1.5 9H7.5L6 6z", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: "M6 6h15l-1.5 9H7.5L6 6z", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("circle", { cx: "9", cy: "20", r: "1.5", fill: primaryColor }), jsxRuntime.jsx("circle", { cx: "18", cy: "20", r: "1.5", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M1 1h4l1 4", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" })] })),
16
- vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M6 6h15l-1.5 9H7.5L6 6z", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M6 6h15l-1.5 9H7.5L6 6z", fill: "white", opacity: "0.08" }), jsxRuntime.jsx("circle", { cx: "9", cy: "20", r: "1.5", fill: secondaryColor }), jsxRuntime.jsx("circle", { cx: "18", cy: "20", r: "1.5", fill: "#F59E0B" }), jsxRuntime.jsx("path", { d: "M1 1h4l1 4", stroke: "white", strokeWidth: "1", opacity: "0.35", fill: "none" })] })),
17
- },
18
- });
19
10
  const NtdCartAdd = /* @__PURE__ */ createIcon.createIcon({
20
11
  displayName: 'NtdCartAdd',
21
12
  paths: {
@@ -133,15 +124,6 @@ const NtdPayment = /* @__PURE__ */ createIcon.createIcon({
133
124
  vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("rect", { x: "2", y: "5", width: "20", height: "14", rx: "2", fill: primaryColor }), jsxRuntime.jsx("rect", { x: "2", y: "5", width: "20", height: "14", rx: "2", fill: "white", opacity: "0.08" }), jsxRuntime.jsx("rect", { x: "2", y: "9", width: "20", height: "3", fill: secondaryColor }), jsxRuntime.jsx("rect", { x: "5", y: "15", width: "4", height: "2", rx: "0.5", fill: "#F59E0B" }), jsxRuntime.jsx("rect", { x: "11", y: "15", width: "3", height: "2", rx: "0.5", fill: "#EF4444" })] })),
134
125
  },
135
126
  });
136
- const NtdInvoiceDoc = /* @__PURE__ */ createIcon.createIcon({
137
- displayName: 'NtdInvoiceDoc',
138
- paths: {
139
- solid: ({ primaryColor, accentColor, accentOpacity }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8l-6-6z", fill: primaryColor }), jsxRuntime.jsx("path", { d: "M14 2v6h6", fill: accentColor, opacity: accentOpacity * 0.5 }), jsxRuntime.jsx("rect", { x: "8", y: "12", width: "8", height: "1", rx: "0.5", fill: accentColor, opacity: accentOpacity }), jsxRuntime.jsx("rect", { x: "8", y: "15", width: "6", height: "1", rx: "0.5", fill: accentColor, opacity: accentOpacity }), jsxRuntime.jsx("rect", { x: "8", y: "18", width: "4", height: "1", rx: "0.5", fill: accentColor, opacity: accentOpacity })] })),
140
- outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.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" }), jsxRuntime.jsx("path", { d: "M14 2v6h6", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: "M8 12h8M8 15h6M8 18h4", stroke: primaryColor, strokeWidth: strokeWidth * 0.75 })] })),
141
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8l-6-6z", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.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" }), jsxRuntime.jsx("path", { d: "M14 2v6h6", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: "M8 12h8M8 15h6M8 18h4", stroke: primaryColor, strokeWidth: strokeWidth * 0.75 })] })),
142
- vivid: ({ primaryColor, secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: "M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8l-6-6z", fill: primaryColor }), jsxRuntime.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" }), jsxRuntime.jsx("path", { d: "M14 2v6h6", fill: secondaryColor }), jsxRuntime.jsx("rect", { x: "8", y: "12", width: "8", height: "1", rx: "0.5", fill: "#F59E0B" }), jsxRuntime.jsx("rect", { x: "8", y: "15", width: "6", height: "1", rx: "0.5", fill: "#EF4444" }), jsxRuntime.jsx("rect", { x: "8", y: "18", width: "4", height: "1", rx: "0.5", fill: "#10B981" })] })),
143
- },
144
- });
145
127
  const NtdRefund = /* @__PURE__ */ createIcon.createIcon({
146
128
  displayName: 'NtdRefund',
147
129
  paths: {
@@ -159,12 +141,10 @@ exports.NtdCompare = NtdCompare;
159
141
  exports.NtdCoupon = NtdCoupon;
160
142
  exports.NtdDiscount = NtdDiscount;
161
143
  exports.NtdGiftCard = NtdGiftCard;
162
- exports.NtdInvoiceDoc = NtdInvoiceDoc;
163
144
  exports.NtdPayment = NtdPayment;
164
145
  exports.NtdPromoTag = NtdPromoTag;
165
146
  exports.NtdRefund = NtdRefund;
166
147
  exports.NtdReturn = NtdReturn;
167
148
  exports.NtdShipping = NtdShipping;
168
- exports.NtdShoppingCart = NtdShoppingCart;
169
149
  exports.NtdStorefront = NtdStorefront;
170
150
  exports.NtdWishlist = NtdWishlist;
@@ -45,15 +45,27 @@ const NtdUniversity = /* @__PURE__ */ createIcon.createIcon({
45
45
  /* ────────────────────────────────────────────────────────────────────────────
46
46
  LEARNING TOOLS
47
47
  ───────────────────────────────────────────────────────────────────────────── */
48
- const NtdBook = /* @__PURE__ */ createIcon.createIcon({
49
- displayName: 'NtdBook',
50
- paths: {
51
- solid: ({ primaryColor }) => (jsxRuntime.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 })),
52
- outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("rect", { x: "4", y: "2", width: "16", height: "20", rx: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: "M7 6h10M7 10h10", stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round" })] })),
53
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("rect", { x: "4", y: "2", width: "16", height: "20", rx: "2", fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("rect", { x: "4", y: "2", width: "16", height: "20", rx: "2", stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx("path", { d: "M7 6h10M7 10h10", stroke: primaryColor, strokeWidth: strokeWidth, strokeLinecap: "round" })] })),
54
- vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.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 }), jsxRuntime.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" })] })),
55
- },
56
- });
48
+ // NtdBook: a closed book, not a page — the rounded spine on the left, the block of pages showing
49
+ // at the bottom between the front cover and the line of the back cover, reaching almost to the
50
+ // right edge. The cover is plain, so another glyph can sit on it; NtdBookBookmark adds a ribbon.
51
+ 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';
52
+ const BOOK_PAGES = 'M7.4 17.6h12.2v2.3H7.4a1.15 1.15 0 010-2.3z';
53
+ const BOOK_RIBBON = 'M9.5 2v6.5l1.75-1.3L13 8.5V2z';
54
+ 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';
55
+ /** The book, with the ribbon bookmark or without it. */
56
+ function bookIcon(displayName, ribbon) {
57
+ return createIcon.createIcon({
58
+ displayName,
59
+ paths: {
60
+ solid: ({ primaryColor, accentColor, accentOpacity }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: BOOK_SILHOUETTE, fill: primaryColor }), jsxRuntime.jsxs("g", { fill: accentColor, opacity: accentOpacity, children: [jsxRuntime.jsx("path", { d: BOOK_PAGES }), ribbon && jsxRuntime.jsx("path", { d: BOOK_RIBBON })] })] })),
61
+ outline: ({ primaryColor, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: BOOK_OUTLINE, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), ribbon && (jsxRuntime.jsx("path", { d: "M9.5 2.5v6l1.75-1.3L13 8.5v-6", stroke: primaryColor, strokeWidth: strokeWidth * 0.75, fill: "none" }))] })),
62
+ duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: BOOK_SILHOUETTE, fill: secondaryColor, opacity: secondaryOpacity }), jsxRuntime.jsx("path", { d: BOOK_OUTLINE, stroke: primaryColor, strokeWidth: strokeWidth, fill: "none" }), ribbon && jsxRuntime.jsx("path", { d: BOOK_RIBBON, fill: primaryColor })] })),
63
+ vivid: ({ primaryColor, secondaryColor, accentColor, accentOpacity }) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("path", { d: BOOK_SILHOUETTE, fill: primaryColor }), jsxRuntime.jsx("path", { d: BOOK_SILHOUETTE, fill: "white", opacity: "0.1" }), jsxRuntime.jsx("path", { d: BOOK_PAGES, fill: accentColor, opacity: accentOpacity }), ribbon && jsxRuntime.jsx("path", { d: BOOK_RIBBON, fill: secondaryColor })] })),
64
+ },
65
+ });
66
+ }
67
+ const NtdBook = /* @__PURE__ */ bookIcon('NtdBook', false);
68
+ const NtdBookBookmark = /* @__PURE__ */ bookIcon('NtdBookBookmark', true);
57
69
  const NtdOpenBook = /* @__PURE__ */ createIcon.createIcon({
58
70
  displayName: 'NtdOpenBook',
59
71
  paths: {
@@ -193,6 +205,7 @@ const educationIcons = {
193
205
 
194
206
  exports.NtdBackpack = NtdBackpack;
195
207
  exports.NtdBook = NtdBook;
208
+ exports.NtdBookBookmark = NtdBookBookmark;
196
209
  exports.NtdCalculator = NtdCalculator;
197
210
  exports.NtdCertificate = NtdCertificate;
198
211
  exports.NtdDiploma = NtdDiploma;