@nice2dev/icons 1.4.6 → 1.4.8

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 (40) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/dist/cjs/icons/actions.js +36 -41
  3. package/dist/cjs/icons/business.js +58 -36
  4. package/dist/cjs/icons/education.js +13 -5
  5. package/dist/cjs/icons/files.js +15 -30
  6. package/dist/cjs/icons/food.js +36 -15
  7. package/dist/cjs/icons/fun.js +27 -32
  8. package/dist/cjs/icons/index.js +1 -0
  9. package/dist/cjs/icons/navigation.js +4 -4
  10. package/dist/cjs/icons/omniverk.js +34 -17
  11. package/dist/cjs/icons/realestate.js +21 -18
  12. package/dist/cjs/icons/science.js +6 -5
  13. package/dist/cjs/icons/smarthome.js +3 -3
  14. package/dist/cjs/icons/sports.js +7 -6
  15. package/dist/cjs/icons/sustainability.js +2 -2
  16. package/dist/cjs/icons/travel.js +32 -39
  17. package/dist/cjs/icons/ui.js +62 -35
  18. package/dist/cjs/icons/weather.js +2 -2
  19. package/dist/cjs/index.js +1 -0
  20. package/dist/esm/icons/actions.js +36 -41
  21. package/dist/esm/icons/business.js +58 -36
  22. package/dist/esm/icons/education.js +13 -5
  23. package/dist/esm/icons/files.js +15 -30
  24. package/dist/esm/icons/food.js +36 -15
  25. package/dist/esm/icons/fun.js +27 -32
  26. package/dist/esm/icons/index.js +2 -1
  27. package/dist/esm/icons/navigation.js +4 -4
  28. package/dist/esm/icons/omniverk.js +35 -18
  29. package/dist/esm/icons/realestate.js +21 -18
  30. package/dist/esm/icons/science.js +6 -5
  31. package/dist/esm/icons/smarthome.js +3 -3
  32. package/dist/esm/icons/sports.js +7 -6
  33. package/dist/esm/icons/sustainability.js +2 -2
  34. package/dist/esm/icons/travel.js +32 -39
  35. package/dist/esm/icons/ui.js +62 -35
  36. package/dist/esm/icons/weather.js +2 -2
  37. package/dist/esm/index.js +2 -1
  38. package/dist/types/icons/index.d.ts +1 -1
  39. package/dist/types/icons/ui.d.ts +3 -1
  40. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,59 @@
1
1
  # @nice2dev/icons — Changelog
2
2
 
3
+ ## 1.4.8
4
+
5
+ ### Patch Changes
6
+
7
+ - e6cf0bd: Icon review, round 43 (follow-up): 36 icons redrawn from the showcase comments.
8
+
9
+ - New `NtdCalendarMonth` — a month page with 30 small day cells. `NtdCalendar` is now the plain page
10
+ without days.
11
+ - Documents and UI:
12
+ - `NtdUnlock` is drawn on `NtdLock`'s body and keyhole, with an open shackle.
13
+ - `NtdClipboard`: the sheet sits higher, held by the clip; the clip line is thinner.
14
+ - `NtdTrash`: a larger dome, and the handle raised with it.
15
+ - `NtdRefresh`: the arcs reach their arrowheads.
16
+ - `NtdFlag`: the wireframe draws a single pole line.
17
+ - `NtdPrint`: thinner printed lines.
18
+ - `NtdQuiz`: a two-line question.
19
+ - `NtdCertificate`: a larger accent frame, and seal rings of one weight.
20
+ - `NtdUsers`: the figures behind are drawn whole, behind a filled front figure with a thin accent
21
+ edge.
22
+ - `NtdAward`: the ribbon line meets the medal's ring; duotone and outline get the insets too.
23
+ - Food:
24
+ - `NtdBeer`: the foam sits lower.
25
+ - `NtdWine`: the wine sits lower, with a thinner surface line.
26
+ - `NtdPlate`: an accent ring in vivid.
27
+ - `NtdFood`: the plate drawn as `NtdPlate`, and the knife further off.
28
+ - `NtdKnife`: the blade no longer sticks out past the handle.
29
+ - `NtdCookingPan`: turned 45° clockwise, with one ring.
30
+ - Shopping and money:
31
+ - `NtdCart`: the cross bar starts at the diagonal.
32
+ - `NtdWallet`: a steeper back strip.
33
+ - `NtdCash`: one thinner ring.
34
+ - `NtdCashStack`: the notes sit tighter, and the front note matches `NtdCash`.
35
+ - `NtdStore`: a sign across the front, with the perfect stack spot on it, lower windows and door,
36
+ and a roof line. In vivid the sign and the roof are in the accent colour.
37
+ - `NtdPartyPopper`: no sparkle.
38
+ - `NtdDicePips1`–`6`: smaller pips, further apart.
39
+ - Buildings, travel, science, nature and sport:
40
+ - `NtdApartment`: a thinner sill and lower windows.
41
+ - `NtdWarehouse`: thin rack frames and a wider doorway.
42
+ - `NtdShelfRack*`: all bars the same weight.
43
+ - `NtdCar`: the roof meets the body.
44
+ - `NtdBike`: the wheels and the chainring are filled under the accent details.
45
+ - `NtdCamping`: accent seams and flaps, with no fixed white.
46
+ - `NtdMagnet`: the accent half on the left; the halves are now even.
47
+ - `NtdMountain`: the right notch moved.
48
+ - `NtdRecycle`: a gap between the arrows.
49
+ - `NtdTemperatureSensor`: a taller column, and three marks.
50
+ - `NtdBasketball`: thinner seams.
51
+ - `NtdRunning`: a shorter neck.
52
+
53
+ ## 1.4.7
54
+
55
+ No changes in this release.
56
+
3
57
  ## 1.4.6
4
58
 
5
59
  No changes in this release.
@@ -152,10 +152,10 @@ const NtdEditDetail = /* @__PURE__ */ createIcon.createIcon({
152
152
  }
153
153
  });
154
154
  const TRASH_LID = "M4 6H20";
155
- const TRASH_DOME = "M6 6A9.28 9.28 0 0 1 18 6Z";
156
- const TRASH_DOME_LINE = "M6 6A9.28 9.28 0 0 1 18 6";
157
- const TRASH_HANDLE = "M9.5 4.6V3.2a1.2 1.2 0 011.2-1.2h2.6a1.2 1.2 0 011.2 1.2v1.4";
158
- const TRASH_HANDLE_LINE = "M9.5 4.15V3.2a1.2 1.2 0 011.2-1.2h2.6a1.2 1.2 0 011.2 1.2v.95";
155
+ const TRASH_DOME = "M5.5 6A8.54 8.54 0 0 1 18.5 6Z";
156
+ const TRASH_DOME_LINE = "M5.5 6A8.54 8.54 0 0 1 18.5 6";
157
+ const TRASH_HANDLE = "M9.5 3.8V2.4a1.2 1.2 0 011.2-1.2h2.6a1.2 1.2 0 011.2 1.2v1.4";
158
+ const TRASH_HANDLE_LINE = "M9.5 3.45V2.4a1.2 1.2 0 011.2-1.2h2.6a1.2 1.2 0 011.2 1.2v1.05";
159
159
  const TRASH_BIN = "M5 6l1 14a2 2 0 002 2h8a2 2 0 002-2l1-14H5z";
160
160
  const TRASH_GROOVES = "M10 10.5v7M14 10.5v7";
161
161
  const NtdTrash = /* @__PURE__ */ createIcon.createIcon({
@@ -450,7 +450,7 @@ const NtdCopy = /* @__PURE__ */ createIcon.createIcon({
450
450
  }
451
451
  });
452
452
  const CLIPBOARD_TEXT = "M8 11h8M8 14.5h5";
453
- const CLIPBOARD_SHEET = "M6 22V6.5h12V22";
453
+ const CLIPBOARD_SHEET = "M6 22V4h12V22";
454
454
  const NtdClipboard = /* @__PURE__ */ createIcon.createIcon({
455
455
  displayName: "NtdClipboard",
456
456
  perfectStackX: 12,
@@ -487,7 +487,7 @@ const NtdClipboard = /* @__PURE__ */ createIcon.createIcon({
487
487
  rx: "1.5",
488
488
  fill: primaryColor,
489
489
  stroke: accentColor,
490
- strokeWidth: "1.5",
490
+ strokeWidth,
491
491
  opacity: accentOpacity
492
492
  }
493
493
  ),
@@ -548,7 +548,7 @@ const NtdClipboard = /* @__PURE__ */ createIcon.createIcon({
548
548
  rx: "1.5",
549
549
  fill: secondaryColor,
550
550
  stroke: secondaryColor,
551
- strokeWidth: "1.5"
551
+ strokeWidth
552
552
  }
553
553
  ),
554
554
  /* @__PURE__ */ jsxRuntime.jsx("path", { d: CLIPBOARD_TEXT, stroke: accentColor, strokeWidth: "1.5", opacity: accentOpacity })
@@ -713,7 +713,15 @@ function printFilled({ primaryColor, accentColor, accentOpacity, strokeWidth },
713
713
  strokeOpacity: accentOpacity
714
714
  }
715
715
  ),
716
- /* @__PURE__ */ jsxRuntime.jsx("path", { d: PRINT_LINES, stroke: detail, strokeWidth, opacity: detailOpacity })
716
+ /* @__PURE__ */ jsxRuntime.jsx(
717
+ "path",
718
+ {
719
+ d: PRINT_LINES,
720
+ stroke: detail,
721
+ strokeWidth: strokeWidth * 0.7,
722
+ opacity: detailOpacity
723
+ }
724
+ )
717
725
  ] });
718
726
  }
719
727
  const NtdPrint = /* @__PURE__ */ createIcon.createIcon({
@@ -1160,50 +1168,37 @@ const NtdLock = /* @__PURE__ */ createIcon.createIcon({
1160
1168
  vivid: ({ primaryColor, secondaryColor, accentColor, accentOpacity, strokeWidth }) => lockFilled(primaryColor, secondaryColor, accentColor, accentOpacity, strokeWidth * 2)
1161
1169
  }
1162
1170
  });
1171
+ const UNLOCK_SHACKLE = "M6 10.5V7a6 6 0 0112 0v0.5";
1163
1172
  const NtdUnlock = /* @__PURE__ */ createIcon.createIcon({
1164
1173
  displayName: "NtdUnlock",
1174
+ perfectStackX: 12,
1175
+ perfectStackY: 16,
1176
+ perfectStackSize: 0.4,
1165
1177
  paths: {
1166
1178
  solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth }) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1167
- /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "3", y: "11", width: "18", height: "11", rx: "2.5", fill: primaryColor }),
1168
- /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M7 11V7a5 5 0 019.9-1", stroke: primaryColor, strokeWidth }),
1169
- /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "12", cy: "15.5", r: "1.5", fill: accentColor, opacity: accentOpacity }),
1170
- /* @__PURE__ */ jsxRuntime.jsx(
1171
- "rect",
1172
- {
1173
- x: "11.25",
1174
- y: "16.5",
1175
- width: "1.5",
1176
- height: "2",
1177
- rx: "0.5",
1178
- fill: accentColor,
1179
- opacity: accentOpacity
1180
- }
1181
- )
1179
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: UNLOCK_SHACKLE, stroke: primaryColor, strokeWidth: strokeWidth * 2, fill: "none" }),
1180
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { ...LOCK_BODY, fill: primaryColor }),
1181
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: LOCK_KEYHOLE, fill: accentColor, opacity: accentOpacity })
1182
1182
  ] }),
1183
1183
  outline: ({ primaryColor, strokeWidth }) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1184
+ /* @__PURE__ */ jsxRuntime.jsxs("g", { stroke: primaryColor, strokeWidth, fill: "none", children: [
1185
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { ...LOCK_BODY }),
1186
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: UNLOCK_SHACKLE })
1187
+ ] }),
1188
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: LOCK_KEYHOLE, fill: primaryColor })
1189
+ ] }),
1190
+ vivid: ({ primaryColor, secondaryColor, accentColor, accentOpacity, strokeWidth }) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1184
1191
  /* @__PURE__ */ jsxRuntime.jsx(
1185
- "rect",
1192
+ "path",
1186
1193
  {
1187
- x: "3",
1188
- y: "11",
1189
- width: "18",
1190
- height: "11",
1191
- rx: "2.5",
1192
- stroke: primaryColor,
1193
- strokeWidth,
1194
+ d: UNLOCK_SHACKLE,
1195
+ stroke: secondaryColor,
1196
+ strokeWidth: strokeWidth * 2,
1194
1197
  fill: "none"
1195
1198
  }
1196
1199
  ),
1197
- /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M7 11V7a5 5 0 019.9-1", stroke: primaryColor, strokeWidth }),
1198
- /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "12", cy: "15.5", r: "1.5", fill: primaryColor }),
1199
- /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "11.25", y: "16.5", width: "1.5", height: "2", rx: "0.5", fill: primaryColor })
1200
- ] }),
1201
- vivid: ({ primaryColor, secondaryColor }) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1202
- /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "3", y: "11", width: "18", height: "11", rx: "2.5", fill: primaryColor }),
1203
- /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "3", y: "11", width: "18", height: "11", rx: "2.5", fill: "white", opacity: "0.08" }),
1204
- /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "12", cy: "15.5", r: "1.5", fill: secondaryColor }),
1205
- /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "11.25", y: "16.5", width: "1.5", height: "2", rx: "0.5", fill: "#3B82F6" }),
1206
- /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M7 11V7a5 5 0 019.9-1", stroke: "white", strokeWidth: "1" })
1200
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { ...LOCK_BODY, fill: primaryColor }),
1201
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: LOCK_KEYHOLE, fill: accentColor, opacity: accentOpacity })
1207
1202
  ] })
1208
1203
  }
1209
1204
  });
@@ -101,8 +101,8 @@ const NtdDollar = /* @__PURE__ */ createIcon.createIcon({
101
101
  }
102
102
  });
103
103
  const WALLET_BODY = { x: 2, y: 6.5, width: 20, height: 14.5, rx: 2.5 };
104
- const WALLET_BACK = "M4.5 8V5.7L19 5a1 1 0 011.1 1V8z";
105
- const WALLET_BACK_LINE = "M4.5 6.5V5.7L19 5a1 1 0 011.1 1V6.5";
104
+ const WALLET_BACK = "M6 8V5.9L19 5a1 1 0 011.1 1V8z";
105
+ const WALLET_BACK_LINE = "M6 6.5V5.9L19 5a1 1 0 011.1 1V6.5";
106
106
  const WALLET_POCKET = "M22 10.5h-4.5a2.5 2.5 0 000 5H22z";
107
107
  const WALLET_POCKET_LINE = "M22 10.5h-4.5a2.5 2.5 0 000 5H22";
108
108
  const NtdWallet = /* @__PURE__ */ createIcon.createIcon({
@@ -379,13 +379,22 @@ const NtdInvoice = /* @__PURE__ */ iconParts.paperIcon(
379
379
  const NtdInvoiceDoc = NtdInvoice;
380
380
  const STORE_BODY = "M2.5 5H21.5V21H2.5Z";
381
381
  const STORE_CORNICE = { x: 1.5, y: 3, width: 21, height: 2.4, rx: 0.6 };
382
- const STORE_SIGN = { x: 6.5, y: 6.4, width: 11, height: 2.5, rx: 0.5 };
383
- const STORE_GLASS = "M4.2 10.6h4.8v6.8H4.2zM15 10.6h4.8v6.8H15zM10.2 10.6h3.6V21h-3.6z";
384
- const STORE_GLARE = "M5.4 15.6l2.6-2.6M5.4 13l1.2-1.2M16.2 15.6l2.6-2.6M16.2 13l1.2-1.2";
385
- const STORE_HANDLE = { cx: 13, cy: 16.2, r: 0.45 };
386
- function storeFilled({ primaryColor, accentColor, accentOpacity, strokeWidth }, glass, sign) {
382
+ const STORE_CUT = "M2.5 5.4H21.5";
383
+ const STORE_SIGN = { x: 3.8, y: 6.7, width: 16.4, height: 3.9, rx: 0.5 };
384
+ const STORE_GLASS = "M4.2 11.9h4.8v6.8H4.2zM15 11.9h4.8v6.8H15zM10.2 12.2h3.6V21h-3.6z";
385
+ const STORE_GLARE = "M5.4 16.9l2.6-2.6M5.4 14.3l1.2-1.2M16.2 16.9l2.6-2.6M16.2 14.3l1.2-1.2";
386
+ const STORE_HANDLE = { cx: 13, cy: 16.9, r: 0.45 };
387
+ function storeFilled({ primaryColor, secondaryColor, accentColor, accentOpacity, strokeWidth }, variant) {
388
+ const glass = variant === "solid" ? null : secondaryColor;
387
389
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
388
- /* @__PURE__ */ jsxRuntime.jsx("rect", { ...STORE_CORNICE, fill: primaryColor }),
390
+ /* @__PURE__ */ jsxRuntime.jsx(
391
+ "rect",
392
+ {
393
+ ...STORE_CORNICE,
394
+ fill: variant === "vivid" ? accentColor : primaryColor,
395
+ opacity: variant === "vivid" ? accentOpacity : void 0
396
+ }
397
+ ),
389
398
  /* @__PURE__ */ jsxRuntime.jsx(
390
399
  "path",
391
400
  {
@@ -395,36 +404,36 @@ function storeFilled({ primaryColor, accentColor, accentOpacity, strokeWidth },
395
404
  }
396
405
  ),
397
406
  glass && /* @__PURE__ */ jsxRuntime.jsx("path", { d: STORE_GLASS, fill: glass }),
398
- sign && /* @__PURE__ */ jsxRuntime.jsx(
399
- "rect",
400
- {
401
- ...STORE_SIGN,
402
- stroke: accentColor,
403
- strokeWidth: strokeWidth * 0.6,
404
- opacity: accentOpacity,
405
- fill: "none"
406
- }
407
- ),
408
- (sign || !glass) && /* @__PURE__ */ jsxRuntime.jsx("path", { d: STORE_GLARE, stroke: primaryColor, strokeWidth: strokeWidth * 0.6 }),
407
+ variant === "solid" && /* @__PURE__ */ jsxRuntime.jsxs("g", { stroke: accentColor, strokeWidth: strokeWidth * 0.6, opacity: accentOpacity, fill: "none", children: [
408
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: STORE_CUT }),
409
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { ...STORE_SIGN })
410
+ ] }),
411
+ variant === "duotone" && /* @__PURE__ */ jsxRuntime.jsx("rect", { ...STORE_SIGN, fill: secondaryColor }),
412
+ variant === "vivid" && /* @__PURE__ */ jsxRuntime.jsx("rect", { ...STORE_SIGN, fill: accentColor, opacity: accentOpacity }),
413
+ variant !== "duotone" && /* @__PURE__ */ jsxRuntime.jsx("path", { d: STORE_GLARE, stroke: primaryColor, strokeWidth: strokeWidth * 0.6 }),
409
414
  /* @__PURE__ */ jsxRuntime.jsx("circle", { ...STORE_HANDLE, fill: primaryColor })
410
415
  ] });
411
416
  }
412
417
  const NtdStore = /* @__PURE__ */ createIcon.createIcon({
413
418
  displayName: "NtdStore",
419
+ perfectStackX: 12,
420
+ perfectStackY: STORE_SIGN.y + STORE_SIGN.height / 2,
421
+ perfectStackSize: 0.15,
422
+ perfectStackFilled: ["solid", "duotone", "sharp", "rounded", "cutout", "mini", "3d"],
414
423
  paths: {
415
- solid: (p) => storeFilled(p, null, true),
424
+ solid: (p) => storeFilled(p, "solid"),
416
425
  outline: ({ primaryColor, strokeWidth }) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
417
426
  /* @__PURE__ */ jsxRuntime.jsxs("g", { stroke: primaryColor, strokeWidth, strokeLinejoin: "miter", fill: "none", children: [
418
427
  /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M3 5.4V21H21V5.4" }),
419
428
  /* @__PURE__ */ jsxRuntime.jsx("rect", { ...STORE_CORNICE }),
420
429
  /* @__PURE__ */ jsxRuntime.jsx("rect", { ...STORE_SIGN }),
421
- /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M4.2 10.6h4.8v6.8H4.2zM15 10.6h4.8v6.8H15zM10.2 21V10.6h3.6V21" }),
430
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M4.2 11.9h4.8v6.8H4.2zM15 11.9h4.8v6.8H15zM10.2 21V12.2h3.6V21" }),
422
431
  /* @__PURE__ */ jsxRuntime.jsx("path", { d: STORE_GLARE, strokeWidth: strokeWidth * 0.6 })
423
432
  ] }),
424
433
  /* @__PURE__ */ jsxRuntime.jsx("circle", { ...STORE_HANDLE, fill: primaryColor })
425
434
  ] }),
426
- duotone: (p) => storeFilled(p, p.secondaryColor, false),
427
- vivid: (p) => storeFilled(p, p.secondaryColor, true)
435
+ duotone: (p) => storeFilled(p, "duotone"),
436
+ vivid: (p) => storeFilled(p, "vivid")
428
437
  }
429
438
  });
430
439
  const BARCODE_BARS = [
@@ -852,6 +861,9 @@ const NtdCoins = /* @__PURE__ */ createIcon.createIcon({
852
861
  });
853
862
  const NOTE_RX = 1.2;
854
863
  const NOTE_GAP = 0.8;
864
+ function insetNote([x, y, w, h], by) {
865
+ return [x + by, y + by, w - 2 * by, h - 2 * by];
866
+ }
855
867
  function noteRect([x, y, w, h], grow = 0) {
856
868
  return `M${x - grow} ${y - grow}h${w + 2 * grow}v${h + 2 * grow}h${-w - 2 * grow}Z`;
857
869
  }
@@ -874,10 +886,17 @@ function noteDetails([x, y, w, h], color, width, discFilled, ring = false) {
874
886
  fill: "none"
875
887
  }
876
888
  ),
877
- /* @__PURE__ */ jsxRuntime.jsxs("g", { stroke: color, strokeWidth: discFilled ? width * 0.6 : width, fill: "none", children: [
878
- /* @__PURE__ */ jsxRuntime.jsx("circle", { cx, cy, r: h * 0.3 }),
879
- /* @__PURE__ */ jsxRuntime.jsx("circle", { cx, cy, r: h * 0.11 })
880
- ] })
889
+ /* @__PURE__ */ jsxRuntime.jsx(
890
+ "circle",
891
+ {
892
+ cx,
893
+ cy,
894
+ r: h * 0.3,
895
+ stroke: color,
896
+ strokeWidth: discFilled ? width * 0.3 : width * 0.5,
897
+ fill: "none"
898
+ }
899
+ )
881
900
  ] });
882
901
  }
883
902
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
@@ -954,7 +973,7 @@ function notesLines(notes, color, width, uid, ring = false) {
954
973
  line
955
974
  ) }, i) : /* @__PURE__ */ jsxRuntime.jsx("g", { children: line }, i);
956
975
  }) }),
957
- noteDetails(notes[notes.length - 1], color, width, false, ring)
976
+ noteDetails(insetNote(notes[notes.length - 1], width / 2), color, width, false, ring)
958
977
  ] });
959
978
  }
960
979
  const CASH_NOTE = [3, 6.75, 18, 10.5];
@@ -969,35 +988,38 @@ const NtdCash = /* @__PURE__ */ createIcon.createIcon({
969
988
  }
970
989
  });
971
990
  const CASH_STACK = [
972
- [5.7, 4.8, 16, 9],
973
- [4, 7.5, 16, 9],
974
- [2.3, 10.2, 16, 9]
991
+ [4.7, 5.4, 17, 9.6],
992
+ [3.5, 7.2, 17, 9.6],
993
+ [2.3, 9, 17, 9.6]
975
994
  ];
976
995
  const NtdCashStack = /* @__PURE__ */ createIcon.createIcon({
977
996
  displayName: "NtdCashStack",
978
997
  paths: {
979
998
  // the wireframe re-draws this as lines: there the notes behind hide behind those in front
980
- solid: ({ primaryColor, accentColor, strokeWidth, uid, variant }) => variant === "wireframe" ? notesLines(CASH_STACK, primaryColor, 1, uid) : notesFilled(
999
+ solid: ({ primaryColor, accentColor, strokeWidth, uid, variant }) => variant === "wireframe" ? notesLines(CASH_STACK, primaryColor, 1, uid, true) : notesFilled(
981
1000
  CASH_STACK,
982
1001
  [primaryColor, primaryColor, primaryColor],
983
1002
  accentColor,
984
1003
  accentColor,
985
- strokeWidth
1004
+ strokeWidth,
1005
+ true
986
1006
  ),
987
- outline: ({ primaryColor, strokeWidth, uid }) => notesLines(CASH_STACK, primaryColor, strokeWidth, uid),
1007
+ outline: ({ primaryColor, strokeWidth, uid }) => notesLines(CASH_STACK, primaryColor, strokeWidth, uid, true),
988
1008
  duotone: ({ primaryColor, secondaryColor, strokeWidth }) => notesFilled(
989
1009
  CASH_STACK,
990
1010
  [primaryColor, secondaryColor, primaryColor],
991
1011
  void 0,
992
1012
  secondaryColor,
993
- strokeWidth
1013
+ strokeWidth,
1014
+ true
994
1015
  ),
995
1016
  vivid: ({ primaryColor, secondaryColor, accentColor, strokeWidth }) => notesFilled(
996
1017
  CASH_STACK,
997
1018
  [primaryColor, secondaryColor, primaryColor],
998
1019
  accentColor,
999
1020
  secondaryColor,
1000
- strokeWidth
1021
+ strokeWidth,
1022
+ true
1001
1023
  )
1002
1024
  }
1003
1025
  });
@@ -641,7 +641,7 @@ const NtdWebinar = /* @__PURE__ */ createIcon.createIcon({
641
641
  }
642
642
  });
643
643
  const CERT_SHEET = { x: 2, y: 4, width: 20, height: 14, rx: 2 };
644
- const CERT_BORDER = { x: 3.75, y: 5.75, width: 16.5, height: 10.5, rx: 0.75 };
644
+ const CERT_BORDER = { x: 3.2, y: 5.2, width: 17.6, height: 11.6, rx: 0.75 };
645
645
  const CERT_TEXT = "M5.75 8.75h8.5M5.75 11.5h6";
646
646
  const CERT_RIBBON = "M15 17h4v4.75l-2-1.5-2 1.5z";
647
647
  const CERT_SEAL = { cx: 17, cy: 15, r: 3.25 };
@@ -667,7 +667,15 @@ function certificateFilled({ primaryColor, accentColor, accentOpacity, strokeWid
667
667
  /* @__PURE__ */ jsxRuntime.jsx("path", { d: CERT_TEXT, stroke: detail, strokeWidth: "1.25", opacity: detailOpacity })
668
668
  ] })
669
669
  ),
670
- /* @__PURE__ */ jsxRuntime.jsx("circle", { ...CERT_SEAL, r: CERT_SEAL.r + 0.9, fill: accentColor, opacity: accentOpacity }),
670
+ /* @__PURE__ */ jsxRuntime.jsx(
671
+ "circle",
672
+ {
673
+ ...CERT_SEAL,
674
+ r: CERT_SEAL.r + strokeWidth * 0.6,
675
+ fill: accentColor,
676
+ opacity: accentOpacity
677
+ }
678
+ ),
671
679
  /* @__PURE__ */ jsxRuntime.jsx("circle", { ...CERT_SEAL, fill: seal }),
672
680
  /* @__PURE__ */ jsxRuntime.jsx(
673
681
  "circle",
@@ -700,9 +708,9 @@ const NtdCertificate = /* @__PURE__ */ createIcon.createIcon({
700
708
  }
701
709
  });
702
710
  const QUIZ_SHEET = { x: 3, y: 2, width: 18, height: 20, rx: 2 };
703
- const QUIZ_QUESTION = "M6 6.5h12";
704
- const QUIZ_BOXES = "M6 10.75h2.75v2.75H6zM6 15.75h2.75v2.75H6z";
705
- const QUIZ_ANSWERS = "M11 12.1h7M11 17.1h5";
711
+ const QUIZ_QUESTION = "M6 5.5h12M6 8.25h8.5";
712
+ const QUIZ_BOXES = "M6 11.5h2.75v2.75H6zM6 16.25h2.75v2.75H6z";
713
+ const QUIZ_ANSWERS = "M11 12.85h7M11 17.6h5";
706
714
  const NtdQuiz = /* @__PURE__ */ createIcon.createIcon({
707
715
  displayName: "NtdQuiz",
708
716
  paths: {
@@ -956,34 +956,18 @@ const NtdKey = /* @__PURE__ */ createIcon.createIcon({
956
956
  }
957
957
  });
958
958
  const AWARD_RIBBON = "M8.21 13.89L7 23l5-3 5 3-1.21-9.12";
959
- const AWARD_RIBBON_INNER = "M9.67 14.3L8.9 20.11L12 18.25L15.1 20.11L14.32 14.3";
960
- function awardFilled({ primaryColor, accentColor, accentOpacity, strokeWidth }, ribbon, lines) {
959
+ const AWARD_RIBBON_INNER = "M9.67 13.42L8.9 20.11L12 18.25L15.1 20.11L14.32 13.43";
960
+ function awardInsets(color, opacity, width) {
961
+ return /* @__PURE__ */ jsxRuntime.jsxs("g", { stroke: color, strokeWidth: width, opacity, fill: "none", children: [
962
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "12", cy: "8", r: "5.9" }),
963
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: AWARD_RIBBON_INNER, strokeLinejoin: "round" })
964
+ ] });
965
+ }
966
+ function awardFilled({ primaryColor, accentColor, accentOpacity, strokeWidth }, ribbon) {
961
967
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
962
968
  /* @__PURE__ */ jsxRuntime.jsx("path", { d: AWARD_RIBBON, fill: ribbon, stroke: ribbon, strokeWidth }),
963
- lines && /* @__PURE__ */ jsxRuntime.jsx(
964
- "path",
965
- {
966
- d: AWARD_RIBBON_INNER,
967
- stroke: accentColor,
968
- strokeWidth: strokeWidth * 0.6,
969
- strokeLinejoin: "round",
970
- opacity: accentOpacity,
971
- fill: "none"
972
- }
973
- ),
974
969
  /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "12", cy: "8", r: "7", fill: primaryColor }),
975
- lines && /* @__PURE__ */ jsxRuntime.jsx(
976
- "circle",
977
- {
978
- cx: "12",
979
- cy: "8",
980
- r: "5.9",
981
- stroke: accentColor,
982
- strokeWidth: strokeWidth * 0.6,
983
- opacity: accentOpacity,
984
- fill: "none"
985
- }
986
- )
970
+ awardInsets(accentColor, accentOpacity, strokeWidth * 0.6)
987
971
  ] });
988
972
  }
989
973
  const NtdAward = /* @__PURE__ */ createIcon.createIcon({
@@ -992,7 +976,7 @@ const NtdAward = /* @__PURE__ */ createIcon.createIcon({
992
976
  perfectStackY: 8,
993
977
  perfectStackSize: 0.4,
994
978
  paths: {
995
- solid: (p) => awardFilled(p, p.primaryColor, true),
979
+ solid: (p) => awardFilled(p, p.primaryColor),
996
980
  outline: ({ primaryColor, strokeWidth }) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
997
981
  /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "12", cy: "8", r: "7", stroke: primaryColor, strokeWidth, fill: "none" }),
998
982
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -1003,15 +987,16 @@ const NtdAward = /* @__PURE__ */ createIcon.createIcon({
1003
987
  strokeWidth,
1004
988
  fill: "none"
1005
989
  }
1006
- )
990
+ ),
991
+ awardInsets(primaryColor, 1, strokeWidth * 0.6)
1007
992
  ] }),
1008
- duotone: (p) => awardFilled(p, p.secondaryColor, false),
1009
- vivid: (p) => awardFilled(p, p.secondaryColor, true)
993
+ duotone: (p) => awardFilled(p, p.secondaryColor),
994
+ vivid: (p) => awardFilled(p, p.secondaryColor)
1010
995
  }
1011
996
  });
1012
997
  const CART_FRAME = "M2 3.5h2.3l3.3 12.9H19.3";
1013
998
  const CART_BASKET = "M5.07 6.5H21.3l-1.7 7.1H6.88z";
1014
- const CART_BARS = "M6.39 5L8.94 15M12.2 5v10M16.6 5v10M3 10.05h20";
999
+ const CART_BARS = "M6.39 5L8.94 15M12.2 5v10M16.6 5v10M7.68 10.05H23";
1015
1000
  const CART_WHEELS = [9.4, 18.2];
1016
1001
  function cartFilled({ primaryColor, accentColor, accentOpacity, strokeWidth, uid }, frame, wheels, bars) {
1017
1002
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
@@ -417,7 +417,7 @@ const NtdCoffee = /* @__PURE__ */ createIcon.createIcon({
417
417
  }
418
418
  });
419
419
  const WINE_BOWL = "M8 3h8c.9 1.8 1.3 3.5 1.3 5a5.3 5.3 0 01-10.6 0c0-1.5.4-3.2 1.3-5z";
420
- const WINE_LIQUID = "M5 7.5h14V15H5z";
420
+ const WINE_LIQUID = "M5 8.5h14V15H5z";
421
421
  const WINE_STEM = { x: 11.2, y: 12.8, width: 1.6, height: 6.7 };
422
422
  const WINE_FOOT = { x: 8, y: 19.25, width: 8, height: 1.5, rx: 0.75 };
423
423
  function wineFilled({ primaryColor, accentColor, accentOpacity, strokeWidth, uid }, wine, surface) {
@@ -432,9 +432,9 @@ function wineFilled({ primaryColor, accentColor, accentOpacity, strokeWidth, uid
432
432
  surface && /* @__PURE__ */ jsxRuntime.jsx(
433
433
  "path",
434
434
  {
435
- d: "M5 7.5h14",
435
+ d: "M5 8.5h14",
436
436
  stroke: accentColor,
437
- strokeWidth,
437
+ strokeWidth: strokeWidth * 0.6,
438
438
  opacity: accentOpacity
439
439
  }
440
440
  )
@@ -450,7 +450,7 @@ const NtdWine = /* @__PURE__ */ createIcon.createIcon({
450
450
  solid: (p) => wineFilled(p, p.primaryColor, true),
451
451
  outline: ({ primaryColor, strokeWidth }) => /* @__PURE__ */ jsxRuntime.jsxs("g", { stroke: primaryColor, strokeWidth, fill: "none", children: [
452
452
  /* @__PURE__ */ jsxRuntime.jsx("path", { d: WINE_BOWL, strokeLinejoin: "miter" }),
453
- /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M6.9 7.5h10.2M12 13.3v6.2M8.5 20h7" })
453
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M6.75 8.5h10.5M12 13.3v6.2M8.5 20h7" })
454
454
  ] }),
455
455
  duotone: (p) => wineFilled(p, p.secondaryColor, false),
456
456
  vivid: (p) => wineFilled(p, p.secondaryColor, true)
@@ -458,7 +458,7 @@ const NtdWine = /* @__PURE__ */ createIcon.createIcon({
458
458
  });
459
459
  const BEER_GLASS = "M4.5 8H15.5C16.45 11 16.45 17 15.6 19.9A2.1 2.1 0 0 1 13.6 21.5H6.4A2.1 2.1 0 0 1 4.4 19.9C3.55 17 3.55 11 4.5 8Z";
460
460
  const BEER_GLASS_SHARP = "M4.5 8H15.5C16.45 11 16.45 17 15.6 21.5H4.4C3.55 17 3.55 11 4.5 8Z";
461
- const BEER_FOAM = "M4.6 7.2A1.71 1.71 0 0 1 6.49 4.6A2.07 2.07 0 0 1 10.23 3.7A2.07 2.07 0 0 1 13.69 4.6A1.71 1.71 0 0 1 15.4 7.2Z";
461
+ const BEER_FOAM = "M4.6 7.55A1.71 1.71 0 0 1 6.49 4.95A2.07 2.07 0 0 1 10.23 4.05A2.07 2.07 0 0 1 13.69 4.95A1.71 1.71 0 0 1 15.4 7.55Z";
462
462
  const BEER_HANDLE = "M16 11H17.5A2 2 0 0 1 19.5 13V16A2 2 0 0 1 17.5 18H16";
463
463
  const BEER_RIBS = "M8 11V18.5M12 11V18.5";
464
464
  function beer(p, width, glassPath = BEER_GLASS) {
@@ -711,7 +711,7 @@ const NtdForkKnife = /* @__PURE__ */ createIcon.createIcon({
711
711
  }
712
712
  });
713
713
  const KNIFE_TURN = "rotate(45 12 12)";
714
- const KNIFE_BLADE = "M10.4 15.5V0.8C13 2.2 15.8 5.6 15.8 10.2V15.5Z";
714
+ const KNIFE_BLADE = "M10.4 15.5V0.8C13 2.2 15.8 5.6 15.8 10.2V13.7L14 15.5Z";
715
715
  const KNIFE_HANDLE = "M10.4 15.5H14V22A1.2 1.2 0 0 1 12.8 23.2H11.6A1.2 1.2 0 0 1 10.4 22Z";
716
716
  const KNIFE_RIVETS = [18, 21];
717
717
  function knifeFilled(blade, handle, accent, gap) {
@@ -745,17 +745,25 @@ const NtdKnife = /* @__PURE__ */ createIcon.createIcon({
745
745
  vivid: ({ primaryColor, secondaryColor, accentColor, strokeWidth }) => knifeFilled(primaryColor, secondaryColor, accentColor, strokeWidth * 0.6)
746
746
  }
747
747
  });
748
+ const PAN_TURN = "rotate(45 12 12)";
748
749
  const PAN_CENTER = { cx: 9.5, cy: 12 };
749
750
  const PAN_HANDLE = "M16.6 10.8H21.8A1.2 1.2 0 0 1 21.8 13.2H16.6Z";
750
751
  const PAN_HOLE = { cx: 21.55, cy: 12, r: 0.55 };
751
752
  function panFilled({ primaryColor, accentColor, accentOpacity, strokeWidth }, handle, rings, ringsOpacity) {
752
- return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
753
+ return /* @__PURE__ */ jsxRuntime.jsxs("g", { transform: PAN_TURN, children: [
753
754
  /* @__PURE__ */ jsxRuntime.jsx("path", { d: PAN_HANDLE, fill: handle }),
754
755
  /* @__PURE__ */ jsxRuntime.jsx("circle", { ...PAN_CENTER, r: "7.5", fill: primaryColor }),
755
- /* @__PURE__ */ jsxRuntime.jsxs("g", { stroke: rings, strokeWidth: strokeWidth * 0.6, opacity: ringsOpacity, fill: "none", children: [
756
- /* @__PURE__ */ jsxRuntime.jsx("circle", { ...PAN_CENTER, r: "6.5" }),
757
- /* @__PURE__ */ jsxRuntime.jsx("circle", { ...PAN_CENTER, r: "3.8" })
758
- ] }),
756
+ /* @__PURE__ */ jsxRuntime.jsx(
757
+ "circle",
758
+ {
759
+ ...PAN_CENTER,
760
+ r: "6.2",
761
+ stroke: rings,
762
+ strokeWidth: strokeWidth * 0.6,
763
+ opacity: ringsOpacity,
764
+ fill: "none"
765
+ }
766
+ ),
759
767
  /* @__PURE__ */ jsxRuntime.jsx("circle", { ...PAN_HOLE, fill: accentColor, opacity: accentOpacity })
760
768
  ] });
761
769
  }
@@ -763,9 +771,9 @@ const NtdCookingPan = /* @__PURE__ */ createIcon.createIcon({
763
771
  displayName: "NtdCookingPan",
764
772
  paths: {
765
773
  solid: (p) => panFilled(p, p.primaryColor, p.accentColor, p.accentOpacity),
766
- outline: ({ primaryColor, strokeWidth }) => /* @__PURE__ */ jsxRuntime.jsxs("g", { stroke: primaryColor, strokeWidth, fill: "none", children: [
774
+ outline: ({ primaryColor, strokeWidth }) => /* @__PURE__ */ jsxRuntime.jsxs("g", { transform: PAN_TURN, stroke: primaryColor, strokeWidth, fill: "none", children: [
767
775
  /* @__PURE__ */ jsxRuntime.jsx("circle", { ...PAN_CENTER, r: "7.5" }),
768
- /* @__PURE__ */ jsxRuntime.jsx("circle", { ...PAN_CENTER, r: "3.8" }),
776
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { ...PAN_CENTER, r: "6.2" }),
769
777
  /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M17 10.8H21.8A1.2 1.2 0 0 1 21.8 13.2H17" }),
770
778
  /* @__PURE__ */ jsxRuntime.jsx("circle", { ...PAN_HOLE })
771
779
  ] }),
@@ -798,9 +806,22 @@ const NtdPlate = /* @__PURE__ */ createIcon.createIcon({
798
806
  /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", fill: primaryColor }),
799
807
  /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "7.6", fill: secondaryColor })
800
808
  ] }),
801
- vivid: ({ primaryColor, secondaryColor }) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
809
+ // 1.4.8 ("vivid niech ma jeszcze pierścień z akcentu"): the accent ring round the well
810
+ vivid: ({ primaryColor, secondaryColor, accentColor, accentOpacity, strokeWidth }) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
802
811
  /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "10", fill: primaryColor }),
803
- /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "7.6", fill: secondaryColor })
812
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "7.6", fill: secondaryColor }),
813
+ /* @__PURE__ */ jsxRuntime.jsx(
814
+ "circle",
815
+ {
816
+ cx: "12",
817
+ cy: "12",
818
+ r: "7.6",
819
+ stroke: accentColor,
820
+ strokeWidth,
821
+ opacity: accentOpacity,
822
+ fill: "none"
823
+ }
824
+ )
804
825
  ] })
805
826
  }
806
827
  });