@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
@@ -415,7 +415,7 @@ const NtdCoffee = /* @__PURE__ */ createIcon({
415
415
  }
416
416
  });
417
417
  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";
418
- const WINE_LIQUID = "M5 7.5h14V15H5z";
418
+ const WINE_LIQUID = "M5 8.5h14V15H5z";
419
419
  const WINE_STEM = { x: 11.2, y: 12.8, width: 1.6, height: 6.7 };
420
420
  const WINE_FOOT = { x: 8, y: 19.25, width: 8, height: 1.5, rx: 0.75 };
421
421
  function wineFilled({ primaryColor, accentColor, accentOpacity, strokeWidth, uid }, wine, surface) {
@@ -430,9 +430,9 @@ function wineFilled({ primaryColor, accentColor, accentOpacity, strokeWidth, uid
430
430
  surface && /* @__PURE__ */ jsx(
431
431
  "path",
432
432
  {
433
- d: "M5 7.5h14",
433
+ d: "M5 8.5h14",
434
434
  stroke: accentColor,
435
- strokeWidth,
435
+ strokeWidth: strokeWidth * 0.6,
436
436
  opacity: accentOpacity
437
437
  }
438
438
  )
@@ -448,7 +448,7 @@ const NtdWine = /* @__PURE__ */ createIcon({
448
448
  solid: (p) => wineFilled(p, p.primaryColor, true),
449
449
  outline: ({ primaryColor, strokeWidth }) => /* @__PURE__ */ jsxs("g", { stroke: primaryColor, strokeWidth, fill: "none", children: [
450
450
  /* @__PURE__ */ jsx("path", { d: WINE_BOWL, strokeLinejoin: "miter" }),
451
- /* @__PURE__ */ jsx("path", { d: "M6.9 7.5h10.2M12 13.3v6.2M8.5 20h7" })
451
+ /* @__PURE__ */ jsx("path", { d: "M6.75 8.5h10.5M12 13.3v6.2M8.5 20h7" })
452
452
  ] }),
453
453
  duotone: (p) => wineFilled(p, p.secondaryColor, false),
454
454
  vivid: (p) => wineFilled(p, p.secondaryColor, true)
@@ -456,7 +456,7 @@ const NtdWine = /* @__PURE__ */ createIcon({
456
456
  });
457
457
  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";
458
458
  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";
459
- 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";
459
+ 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";
460
460
  const BEER_HANDLE = "M16 11H17.5A2 2 0 0 1 19.5 13V16A2 2 0 0 1 17.5 18H16";
461
461
  const BEER_RIBS = "M8 11V18.5M12 11V18.5";
462
462
  function beer(p, width, glassPath = BEER_GLASS) {
@@ -709,7 +709,7 @@ const NtdForkKnife = /* @__PURE__ */ createIcon({
709
709
  }
710
710
  });
711
711
  const KNIFE_TURN = "rotate(45 12 12)";
712
- const KNIFE_BLADE = "M10.4 15.5V0.8C13 2.2 15.8 5.6 15.8 10.2V15.5Z";
712
+ const KNIFE_BLADE = "M10.4 15.5V0.8C13 2.2 15.8 5.6 15.8 10.2V13.7L14 15.5Z";
713
713
  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";
714
714
  const KNIFE_RIVETS = [18, 21];
715
715
  function knifeFilled(blade, handle, accent, gap) {
@@ -743,17 +743,25 @@ const NtdKnife = /* @__PURE__ */ createIcon({
743
743
  vivid: ({ primaryColor, secondaryColor, accentColor, strokeWidth }) => knifeFilled(primaryColor, secondaryColor, accentColor, strokeWidth * 0.6)
744
744
  }
745
745
  });
746
+ const PAN_TURN = "rotate(45 12 12)";
746
747
  const PAN_CENTER = { cx: 9.5, cy: 12 };
747
748
  const PAN_HANDLE = "M16.6 10.8H21.8A1.2 1.2 0 0 1 21.8 13.2H16.6Z";
748
749
  const PAN_HOLE = { cx: 21.55, cy: 12, r: 0.55 };
749
750
  function panFilled({ primaryColor, accentColor, accentOpacity, strokeWidth }, handle, rings, ringsOpacity) {
750
- return /* @__PURE__ */ jsxs(Fragment, { children: [
751
+ return /* @__PURE__ */ jsxs("g", { transform: PAN_TURN, children: [
751
752
  /* @__PURE__ */ jsx("path", { d: PAN_HANDLE, fill: handle }),
752
753
  /* @__PURE__ */ jsx("circle", { ...PAN_CENTER, r: "7.5", fill: primaryColor }),
753
- /* @__PURE__ */ jsxs("g", { stroke: rings, strokeWidth: strokeWidth * 0.6, opacity: ringsOpacity, fill: "none", children: [
754
- /* @__PURE__ */ jsx("circle", { ...PAN_CENTER, r: "6.5" }),
755
- /* @__PURE__ */ jsx("circle", { ...PAN_CENTER, r: "3.8" })
756
- ] }),
754
+ /* @__PURE__ */ jsx(
755
+ "circle",
756
+ {
757
+ ...PAN_CENTER,
758
+ r: "6.2",
759
+ stroke: rings,
760
+ strokeWidth: strokeWidth * 0.6,
761
+ opacity: ringsOpacity,
762
+ fill: "none"
763
+ }
764
+ ),
757
765
  /* @__PURE__ */ jsx("circle", { ...PAN_HOLE, fill: accentColor, opacity: accentOpacity })
758
766
  ] });
759
767
  }
@@ -761,9 +769,9 @@ const NtdCookingPan = /* @__PURE__ */ createIcon({
761
769
  displayName: "NtdCookingPan",
762
770
  paths: {
763
771
  solid: (p) => panFilled(p, p.primaryColor, p.accentColor, p.accentOpacity),
764
- outline: ({ primaryColor, strokeWidth }) => /* @__PURE__ */ jsxs("g", { stroke: primaryColor, strokeWidth, fill: "none", children: [
772
+ outline: ({ primaryColor, strokeWidth }) => /* @__PURE__ */ jsxs("g", { transform: PAN_TURN, stroke: primaryColor, strokeWidth, fill: "none", children: [
765
773
  /* @__PURE__ */ jsx("circle", { ...PAN_CENTER, r: "7.5" }),
766
- /* @__PURE__ */ jsx("circle", { ...PAN_CENTER, r: "3.8" }),
774
+ /* @__PURE__ */ jsx("circle", { ...PAN_CENTER, r: "6.2" }),
767
775
  /* @__PURE__ */ jsx("path", { d: "M17 10.8H21.8A1.2 1.2 0 0 1 21.8 13.2H17" }),
768
776
  /* @__PURE__ */ jsx("circle", { ...PAN_HOLE })
769
777
  ] }),
@@ -796,9 +804,22 @@ const NtdPlate = /* @__PURE__ */ createIcon({
796
804
  /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "10", fill: primaryColor }),
797
805
  /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "7.6", fill: secondaryColor })
798
806
  ] }),
799
- vivid: ({ primaryColor, secondaryColor }) => /* @__PURE__ */ jsxs(Fragment, { children: [
807
+ // 1.4.8 ("vivid niech ma jeszcze pierścień z akcentu"): the accent ring round the well
808
+ vivid: ({ primaryColor, secondaryColor, accentColor, accentOpacity, strokeWidth }) => /* @__PURE__ */ jsxs(Fragment, { children: [
800
809
  /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "10", fill: primaryColor }),
801
- /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "7.6", fill: secondaryColor })
810
+ /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "7.6", fill: secondaryColor }),
811
+ /* @__PURE__ */ jsx(
812
+ "circle",
813
+ {
814
+ cx: "12",
815
+ cy: "12",
816
+ r: "7.6",
817
+ stroke: accentColor,
818
+ strokeWidth,
819
+ opacity: accentOpacity,
820
+ fill: "none"
821
+ }
822
+ )
802
823
  ] })
803
824
  }
804
825
  });
@@ -375,9 +375,8 @@ const POPPER_STRIPS = [
375
375
  { x: 14.7, y: 3.1, width: 2, height: 1, transform: "rotate(35 15.7 3.6)" },
376
376
  { x: 19.8, y: 7.7, width: 2, height: 1, transform: "rotate(-25 20.8 8.2)" }
377
377
  ];
378
- const POPPER_SPARKLE = "M20 1.6Q20 3.4 21.8 3.4Q20 3.4 20 5.2Q20 3.4 18.2 3.4Q20 3.4 20 1.6Z";
379
378
  function popperConfetti(colors, streamerWidth) {
380
- const [streamers, dots, strips, sparkle] = colors;
379
+ const [streamers, dots, strips] = colors;
381
380
  return /* @__PURE__ */ jsxs(Fragment, { children: [
382
381
  /* @__PURE__ */ jsx(
383
382
  "path",
@@ -390,8 +389,7 @@ function popperConfetti(colors, streamerWidth) {
390
389
  }
391
390
  ),
392
391
  POPPER_DOTS.map((d, i) => /* @__PURE__ */ jsx("circle", { ...d, fill: i % 2 ? strips : dots }, i)),
393
- POPPER_STRIPS.map((s, i) => /* @__PURE__ */ jsx("rect", { ...s, fill: i ? dots : strips }, i)),
394
- /* @__PURE__ */ jsx("path", { d: POPPER_SPARKLE, fill: sparkle })
392
+ POPPER_STRIPS.map((s, i) => /* @__PURE__ */ jsx("rect", { ...s, fill: i ? dots : strips }, i))
395
393
  ] });
396
394
  }
397
395
  function popperFilled({ primaryColor, accentColor, accentOpacity, strokeWidth, uid }, mouth, lines, confetti) {
@@ -430,25 +428,20 @@ const NtdPartyPopper = /* @__PURE__ */ createIcon({
430
428
  paths: {
431
429
  solid: (p) => {
432
430
  const c = p.primaryColor;
433
- return popperFilled(p, c, true, [c, c, c, c]);
431
+ return popperFilled(p, c, true, [c, c, c]);
434
432
  },
435
433
  outline: ({ primaryColor, strokeWidth }) => /* @__PURE__ */ jsxs(Fragment, { children: [
436
434
  /* @__PURE__ */ jsxs("g", { stroke: primaryColor, strokeWidth, strokeLinejoin: "round", fill: "none", children: [
437
435
  /* @__PURE__ */ jsx("path", { d: POPPER_CONE }),
438
436
  /* @__PURE__ */ jsx("ellipse", { ...POPPER_RIM })
439
437
  ] }),
440
- popperConfetti([primaryColor, primaryColor, primaryColor, primaryColor], strokeWidth)
438
+ popperConfetti([primaryColor, primaryColor, primaryColor], strokeWidth)
441
439
  ] }),
442
440
  duotone: (p) => {
443
441
  const s = p.secondaryColor;
444
- return popperFilled(p, s, false, [s, s, s, s]);
442
+ return popperFilled(p, s, false, [s, s, s]);
445
443
  },
446
- vivid: (p) => popperFilled(p, p.secondaryColor, true, [
447
- p.secondaryColor,
448
- p.accentColor,
449
- p.primaryColor,
450
- p.accentColor
451
- ])
444
+ vivid: (p) => popperFilled(p, p.secondaryColor, true, [p.secondaryColor, p.accentColor, p.primaryColor])
452
445
  }
453
446
  });
454
447
  const NtdTrophy = /* @__PURE__ */ createIcon({
@@ -655,40 +648,42 @@ const NtdDice = /* @__PURE__ */ createIcon({
655
648
  ] })
656
649
  }
657
650
  });
651
+ const PIP_LO = 5;
652
+ const PIP_HI = 19;
658
653
  const PIP_SPOTS = {
659
654
  1: [[12, 12]],
660
655
  2: [
661
- [6, 6],
662
- [18, 18]
656
+ [PIP_LO, PIP_LO],
657
+ [PIP_HI, PIP_HI]
663
658
  ],
664
659
  3: [
665
- [6, 6],
660
+ [PIP_LO, PIP_LO],
666
661
  [12, 12],
667
- [18, 18]
662
+ [PIP_HI, PIP_HI]
668
663
  ],
669
664
  4: [
670
- [6, 6],
671
- [18, 6],
672
- [6, 18],
673
- [18, 18]
665
+ [PIP_LO, PIP_LO],
666
+ [PIP_HI, PIP_LO],
667
+ [PIP_LO, PIP_HI],
668
+ [PIP_HI, PIP_HI]
674
669
  ],
675
670
  5: [
676
- [6, 6],
677
- [18, 6],
671
+ [PIP_LO, PIP_LO],
672
+ [PIP_HI, PIP_LO],
678
673
  [12, 12],
679
- [6, 18],
680
- [18, 18]
674
+ [PIP_LO, PIP_HI],
675
+ [PIP_HI, PIP_HI]
681
676
  ],
682
677
  6: [
683
- [6, 6],
684
- [18, 6],
685
- [6, 12],
686
- [18, 12],
687
- [6, 18],
688
- [18, 18]
678
+ [PIP_LO, PIP_LO],
679
+ [PIP_HI, PIP_LO],
680
+ [PIP_LO, 12],
681
+ [PIP_HI, 12],
682
+ [PIP_LO, PIP_HI],
683
+ [PIP_HI, PIP_HI]
689
684
  ]
690
685
  };
691
- const PIP_R = 2.5;
686
+ const PIP_R = 2.2;
692
687
  function dicePipsIcon(count) {
693
688
  const spots = PIP_SPOTS[count];
694
689
  return createIcon({
@@ -1,6 +1,6 @@
1
1
  import { NtdArrowDown, NtdArrowLeft, NtdArrowRight, NtdArrowUp, NtdChevronDown, NtdChevronLeft, NtdChevronRight, NtdChevronUp, NtdClose, NtdExternalLink, NtdMenu, NtdMoreHorizontal, NtdMoreVertical, NtdRefresh } from "./navigation.js";
2
2
  import { NtdCheck, NtdClipboard, NtdCopy, NtdDownload, NtdEdit, NtdEditDetail, NtdFilter, NtdFrameCorners, NtdGroup, NtdLink, NtdLock, NtdLogIn, NtdLogOut, NtdMinus, NtdPlus, NtdPrint, NtdRedo, NtdReply, NtdSave, NtdSearch, NtdSettings, NtdShare, NtdSort, NtdTrash, NtdUndo, NtdUngroup, NtdUnlock, NtdUpload, NtdZoomIn, NtdZoomOut } from "./actions.js";
3
- import { NtdBackspace, NtdBell, NtdBookmark, NtdCalendar, NtdCalendarDay, NtdCalendarWeek, NtdClock, NtdCursor, NtdError, NtdEye, NtdEyeOff, NtdFlag, NtdGlobe, NtdHeart, NtdHelp, NtdHome, NtdHourglass, NtdInfo, NtdMap, NtdMapPin, NtdMoon, NtdPin, NtdShield, NtdStar, NtdSuccess, NtdSun, NtdTag, NtdThumbDown, NtdThumbUp, NtdUser, NtdUserTie, NtdUsers, NtdWarning, NtdWireframe, NtdWishlist } from "./ui.js";
3
+ import { NtdBackspace, NtdBell, NtdBookmark, NtdCalendar, NtdCalendarDay, NtdCalendarMonth, NtdCalendarWeek, NtdClock, NtdCursor, NtdError, NtdEye, NtdEyeOff, NtdFlag, NtdGlobe, NtdHeart, NtdHelp, NtdHome, NtdHourglass, NtdInfo, NtdMap, NtdMapPin, NtdMoon, NtdPin, NtdShield, NtdStar, NtdSuccess, NtdSun, NtdTag, NtdThumbDown, NtdThumbUp, NtdUser, NtdUserTie, NtdUsers, NtdWarning, NtdWireframe, NtdWishlist } from "./ui.js";
4
4
  import { NtdBiodegradable, NtdCarbonFootprint, NtdCo2, NtdCompost, NtdEcoFriendly, NtdEvCharger, NtdNetZero, NtdOrganic, NtdPlantTree, NtdRecycle, NtdSolarPanel, NtdTrashSort, NtdWildlife, NtdWindTurbine, sustainabilityIcons } from "./sustainability.js";
5
5
  import { NtdAccessibility, NtdAssistiveTech, NtdAudioDescription, NtdBlind, NtdBraille, NtdClosedCaptions, NtdDeaf, NtdDyslexia, NtdEasyRead, NtdHearingAid, NtdScreenReader, NtdSignLanguage, NtdWheelchair, accessibilityIcons } from "./accessibility.js";
6
6
  import { NtdAudit, NtdCcpa, NtdCompliance, NtdContract, NtdCookieConsent, NtdCopyright, NtdGdpr, NtdLegalDocument, NtdPatent, NtdPrivacyPolicy, NtdTermsOfService, NtdTrademark, legalIcons } from "./legal.js";
@@ -105,6 +105,7 @@ export {
105
105
  NtdCalculator2 as NtdCalculatorEdu,
106
106
  NtdCalendar,
107
107
  NtdCalendarDay,
108
+ NtdCalendarMonth,
108
109
  NtdCalendarWeek,
109
110
  NtdCamera,
110
111
  NtdCamping,
@@ -386,13 +386,13 @@ const NtdExternalLink = /* @__PURE__ */ createIcon({
386
386
  }
387
387
  });
388
388
  const REFRESH_TOP = {
389
- tail: "M5.51 9.38A7 7 0 0 1 17.98 8.37",
390
- start: [5.51, 9.38],
389
+ tail: "M5.21 10.31A7 7 0 0 1 17.98 8.37",
390
+ start: [5.21, 10.31],
391
391
  head: "M14.59 8.46L17.89 12.9L21.77 8.96z"
392
392
  };
393
393
  const REFRESH_BOTTOM = {
394
- tail: "M18.49 14.62A7 7 0 0 1 6.02 15.63",
395
- start: [18.49, 14.62],
394
+ tail: "M18.79 13.69A7 7 0 0 1 6.02 15.63",
395
+ start: [18.79, 13.69],
396
396
  head: "M9.41 15.54L6.11 11.1L2.23 15.04z"
397
397
  };
398
398
  function refreshArrows(top, bottom, strokeWidth, roundTail = true) {
@@ -1,6 +1,6 @@
1
1
  import { jsxs, Fragment, jsx } from "react/jsx-runtime";
2
2
  import { createIcon } from "../createIcon.js";
3
- import { swapDuotone, CUTLERY_FORK, CUTLERY_KNIFE } from "../iconParts.js";
3
+ import { CUTLERY_FORK, CUTLERY_KNIFE, swapDuotone } from "../iconParts.js";
4
4
  const NtdProduct = /* @__PURE__ */ createIcon({
5
5
  displayName: "NtdProduct",
6
6
  paths: {
@@ -291,32 +291,49 @@ const NtdShipment = /* @__PURE__ */ createIcon({
291
291
  });
292
292
  const FOOD_FORK = CUTLERY_FORK;
293
293
  const FOOD_KNIFE = CUTLERY_KNIFE;
294
- const FOOD_PLATE = { cx: 12.25, cy: 12, r: 6.75 };
295
- function placeSetting(plate, cutlery, ringWidth, filled) {
294
+ const FOOD_PLATE = { cx: 12.3, cy: 12, r: 7.4 };
295
+ const FOOD_WELL = 5.65;
296
+ function placeSetting({ primaryColor, accentColor, accentOpacity, strokeWidth }, cutlery, well) {
296
297
  return /* @__PURE__ */ jsxs(Fragment, { children: [
297
- /* @__PURE__ */ jsx("circle", { ...FOOD_PLATE, stroke: plate, strokeWidth: ringWidth, fill: "none" }),
298
- filled ? /* @__PURE__ */ jsx("path", { d: `${FOOD_FORK}${FOOD_KNIFE}`, fill: cutlery }) : /* @__PURE__ */ jsxs(Fragment, { children: [
299
- /* @__PURE__ */ jsx("path", { d: FOOD_FORK, fill: cutlery }),
298
+ /* @__PURE__ */ jsx("circle", { ...FOOD_PLATE, fill: primaryColor }),
299
+ well ? /* @__PURE__ */ jsx("circle", { cx: FOOD_PLATE.cx, cy: FOOD_PLATE.cy, r: FOOD_WELL, fill: well }) : /* @__PURE__ */ jsx(
300
+ "circle",
301
+ {
302
+ cx: FOOD_PLATE.cx,
303
+ cy: FOOD_PLATE.cy,
304
+ r: FOOD_WELL,
305
+ stroke: accentColor,
306
+ strokeWidth: strokeWidth * 0.8,
307
+ opacity: accentOpacity,
308
+ fill: "none"
309
+ }
310
+ ),
311
+ /* @__PURE__ */ jsx("path", { d: `${FOOD_FORK}${FOOD_KNIFE}`, fill: cutlery })
312
+ ] });
313
+ }
314
+ const NtdFood = /* @__PURE__ */ createIcon({
315
+ displayName: "NtdFood",
316
+ paths: {
317
+ solid: (p) => placeSetting(p, p.primaryColor),
318
+ outline: ({ primaryColor, strokeWidth }) => /* @__PURE__ */ jsxs(Fragment, { children: [
319
+ /* @__PURE__ */ jsxs("g", { stroke: primaryColor, strokeWidth, fill: "none", children: [
320
+ /* @__PURE__ */ jsx("circle", { cx: FOOD_PLATE.cx, cy: FOOD_PLATE.cy, r: FOOD_PLATE.r - strokeWidth / 2 }),
321
+ /* @__PURE__ */ jsx("circle", { cx: FOOD_PLATE.cx, cy: FOOD_PLATE.cy, r: FOOD_WELL })
322
+ ] }),
323
+ /* @__PURE__ */ jsx("path", { d: FOOD_FORK, fill: primaryColor }),
300
324
  /* @__PURE__ */ jsx(
301
325
  "path",
302
326
  {
303
327
  d: FOOD_KNIFE,
304
- stroke: cutlery,
305
- strokeWidth: ringWidth,
328
+ stroke: primaryColor,
329
+ strokeWidth,
306
330
  strokeLinejoin: "miter",
307
331
  fill: "none"
308
332
  }
309
333
  )
310
- ] })
311
- ] });
312
- }
313
- const NtdFood = /* @__PURE__ */ createIcon({
314
- displayName: "NtdFood",
315
- paths: {
316
- solid: ({ primaryColor, strokeWidth }) => placeSetting(primaryColor, primaryColor, strokeWidth * 2, true),
317
- outline: ({ primaryColor, strokeWidth }) => placeSetting(primaryColor, primaryColor, strokeWidth, false),
318
- duotone: ({ primaryColor, secondaryColor, strokeWidth }) => placeSetting(primaryColor, secondaryColor, strokeWidth * 2, true),
319
- vivid: ({ primaryColor, secondaryColor, strokeWidth }) => placeSetting(primaryColor, secondaryColor, strokeWidth * 2, true)
334
+ ] }),
335
+ duotone: (p) => placeSetting(p, p.secondaryColor, p.secondaryColor),
336
+ vivid: (p) => placeSetting(p, p.secondaryColor)
320
337
  }
321
338
  });
322
339
  const NtdMeal = NtdFood;
@@ -59,15 +59,15 @@ const NtdHouse = /* @__PURE__ */ createIcon({
59
59
  });
60
60
  const APARTMENT = { x: 4.5, y: 4, width: 15, height: 18, rx: 2 };
61
61
  const APARTMENT_WINDOWS = [
62
- { x: 6.3, y: 7 },
63
- { x: 10.6, y: 7 },
64
- { x: 14.9, y: 7 },
65
- { x: 6.3, y: 12.2 },
66
- { x: 10.6, y: 12.2 },
67
- { x: 14.9, y: 12.2 }
62
+ { x: 6.3, y: 7.5 },
63
+ { x: 10.6, y: 7.5 },
64
+ { x: 14.9, y: 7.5 },
65
+ { x: 6.3, y: 12.7 },
66
+ { x: 10.6, y: 12.7 },
67
+ { x: 14.9, y: 12.7 }
68
68
  ];
69
69
  const APARTMENT_DOOR = { x: 10.5, y: 18, width: 3, height: 4 };
70
- const APARTMENT_DOOR_SILL = { ...APARTMENT_DOOR, height: 3.25 };
70
+ const APARTMENT_DOOR_SILL = { ...APARTMENT_DOOR, height: 3.625 };
71
71
  const NtdApartment = /* @__PURE__ */ createIcon({
72
72
  displayName: "NtdApartment",
73
73
  paths: {
@@ -430,20 +430,23 @@ const RACK_SLOTS = [
430
430
  const round = (n) => Math.round(n * 1e3) / 1e3;
431
431
  function rackGeometry(f, width, boxes) {
432
432
  const heavy = width * 1.35;
433
+ const topEdge = f.top - heavy / 2;
434
+ const bottomEdge = f.bottom - heavy / 2;
433
435
  const middle = (f.top + f.bottom) / 2;
436
+ const shelf = middle - (heavy - width) / 2;
434
437
  const half = width / 2;
435
438
  const lines = `M${f.left} ${f.top}V${f.floor}M${f.right} ${f.top}V${f.floor}M${f.left} ${middle}H${f.right}M${f.left} ${f.top}H${f.right}M${f.left} ${f.bottom}H${f.right}`;
436
439
  const rect = (x, y, w, h) => `M${round(x)} ${round(y)}h${round(w)}v${round(h)}h${round(-w)}Z`;
437
440
  const frame = [
438
- rect(f.left - half, f.top - heavy / 2, width, f.floor - f.top + heavy / 2),
439
- rect(f.right - half, f.top - heavy / 2, width, f.floor - f.top + heavy / 2),
440
- rect(f.left - half, f.top - heavy / 2, f.right - f.left + width, heavy),
441
- rect(f.left, middle - half, f.right - f.left, width),
442
- rect(f.left, f.bottom - heavy / 2, f.right - f.left, heavy)
441
+ rect(f.left - half, topEdge, width, f.floor - topEdge),
442
+ rect(f.right - half, topEdge, width, f.floor - topEdge),
443
+ rect(f.left - half, topEdge, f.right - f.left + width, width),
444
+ rect(f.left, shelf - half, f.right - f.left, width),
445
+ rect(f.left, bottomEdge, f.right - f.left, width)
443
446
  ].join("");
444
447
  const levels = [
445
- { floor: f.bottom - heavy / 2, ceiling: middle + half },
446
- { floor: middle - half, ceiling: f.top + heavy / 2 }
448
+ { floor: bottomEdge, ceiling: shelf + half },
449
+ { floor: shelf - half, ceiling: topEdge + width }
447
450
  ];
448
451
  const scale = (f.right - f.left) / 16;
449
452
  const rects = RACK_SLOTS.slice(0, boxes).map(([x, w, h], i) => {
@@ -498,15 +501,15 @@ function shelfRackIconFor(level) {
498
501
  const clamped = Number.isNaN(level) ? 0 : Math.min(1, Math.max(0, level));
499
502
  return SHELF_RACK_STEPS[Math.round(clamped * 4)];
500
503
  }
501
- const WAREHOUSE = "M1.5 9.2L12 3.5L22.5 9.2V21H19.5V11H4.5V21H1.5Z";
504
+ const WAREHOUSE = "M1.5 9.2L12 3.5L22.5 9.2V21H20.4V11H3.6V21H1.5Z";
502
505
  const WAREHOUSE_RACKS = [
503
- { left: 6.25, right: 11.25, top: 12.75, bottom: 19.25, floor: 21 },
504
- { left: 12.75, right: 17.75, top: 12.75, bottom: 19.25, floor: 21 }
506
+ { left: 4.75, right: 11.15, top: 12.3, bottom: 19.25, floor: 21 },
507
+ { left: 12.85, right: 19.25, top: 12.3, bottom: 19.25, floor: 21 }
505
508
  ];
506
509
  function warehouseDrawing(hall, rackFrame, boxes, width, outline) {
507
510
  return /* @__PURE__ */ jsxs(Fragment, { children: [
508
511
  outline ? /* @__PURE__ */ jsx("path", { d: WAREHOUSE, stroke: hall, strokeWidth: width, strokeLinejoin: "miter", fill: "none" }) : /* @__PURE__ */ jsx("path", { d: WAREHOUSE, fill: hall }),
509
- WAREHOUSE_RACKS.map((f) => /* @__PURE__ */ jsx("g", { children: rackDrawing(f, 4, rackFrame, boxes, outline ? width : width * 0.6, outline) }, f.left))
512
+ WAREHOUSE_RACKS.map((f) => /* @__PURE__ */ jsx("g", { children: rackDrawing(f, 4, rackFrame, boxes, outline ? width * 0.7 : width * 0.35, outline) }, f.left))
510
513
  ] });
511
514
  }
512
515
  const NtdWarehouse = /* @__PURE__ */ createIcon({
@@ -801,19 +801,20 @@ const NtdPeriodictable = /* @__PURE__ */ createIcon({
801
801
  });
802
802
  const MAGNET = "M4 10.8a8 8 0 0116 0v10h-5v-10a3 3 0 00-6 0v10H4z";
803
803
  const MAGNET_LEFT = "M4 10.8a8 8 0 018-8v5a3 3 0 00-3 3v10H4z";
804
+ const MAGNET_LEFT_EDGE = "M12 7.8a3 3 0 00-3 3v10H4V10.8a8 8 0 018-8";
804
805
  const MAGNET_RIGHT = "M12 2.8a8 8 0 018 8v10h-5v-10a3 3 0 00-3-3z";
805
- function magnetFilled({ primaryColor, strokeWidth, uid }, right, rightOpacity, edge) {
806
+ function magnetFilled({ primaryColor, strokeWidth, uid }, left, leftOpacity, edge) {
806
807
  return /* @__PURE__ */ jsxs(Fragment, { children: [
807
- /* @__PURE__ */ jsx("path", { d: MAGNET_LEFT, fill: primaryColor }),
808
- /* @__PURE__ */ jsx("path", { d: MAGNET_RIGHT, fill: right, opacity: rightOpacity }),
808
+ /* @__PURE__ */ jsx("path", { d: MAGNET_RIGHT, fill: primaryColor }),
809
+ /* @__PURE__ */ jsx("path", { d: MAGNET_LEFT, fill: left, opacity: leftOpacity }),
809
810
  edge && within(
810
811
  uid,
811
812
  "magnet",
812
- /* @__PURE__ */ jsx("path", { d: MAGNET_RIGHT }),
813
+ /* @__PURE__ */ jsx("path", { d: MAGNET_LEFT }),
813
814
  /* @__PURE__ */ jsx(
814
815
  "path",
815
816
  {
816
- d: MAGNET_RIGHT,
817
+ d: MAGNET_LEFT_EDGE,
817
818
  stroke: primaryColor,
818
819
  strokeWidth: strokeWidth * 2.4,
819
820
  fill: "none"
@@ -551,8 +551,8 @@ const NtdSmartPlug = /* @__PURE__ */ createIcon({
551
551
  const THERMO_BODY = "M14.3 13.85V4.3a2.3 2.3 0 00-4.6 0v9.55a4.4 4.4 0 104.6 0z";
552
552
  const THERMO_BODY_SHARP = "M14.3 13.85V2H9.7v11.85a4.4 4.4 0 104.6 0z";
553
553
  const THERMO_BALL = { cx: 12, cy: 17.6, r: 2.6 };
554
- const THERMO_COLUMN = "M12 5.4V17";
555
- const THERMO_MARKS = "M16.4 5h2.4M16.4 7.4h1.4M16.4 9.8h2.4M16.4 12.2h1.4";
554
+ const THERMO_COLUMN = "M12 4.3V17";
555
+ const THERMO_MARKS = "M16.4 5h2.6M16.4 7.4h1.9M16.4 9.8h1.2";
556
556
  function thermometer(body, mercury, marks, width, bodyPath = THERMO_BODY) {
557
557
  return /* @__PURE__ */ jsxs(Fragment, { children: [
558
558
  /* @__PURE__ */ jsx("path", { d: bodyPath, fill: body }),
@@ -569,7 +569,7 @@ const NtdTemperatureSensor = /* @__PURE__ */ createIcon({
569
569
  outline: ({ primaryColor, strokeWidth }) => /* @__PURE__ */ jsxs("g", { stroke: primaryColor, strokeWidth, fill: "none", children: [
570
570
  /* @__PURE__ */ jsx("path", { d: THERMO_BODY }),
571
571
  /* @__PURE__ */ jsx("circle", { ...THERMO_BALL, r: 2 }),
572
- /* @__PURE__ */ jsx("path", { d: "M12 5.4V15.6" }),
572
+ /* @__PURE__ */ jsx("path", { d: "M12 4.3V15.6" }),
573
573
  /* @__PURE__ */ jsx("path", { d: THERMO_MARKS })
574
574
  ] }),
575
575
  duotone: ({ primaryColor, secondaryColor, strokeWidth }) => thermometer(primaryColor, secondaryColor, secondaryColor, strokeWidth),
@@ -115,7 +115,7 @@ const NtdBasketball = /* @__PURE__ */ createIcon({
115
115
  {
116
116
  d: BALL_SEAMS,
117
117
  stroke: accentColor,
118
- strokeWidth: "1.5",
118
+ strokeWidth: "0.9",
119
119
  fill: "none",
120
120
  opacity: accentOpacity
121
121
  }
@@ -134,13 +134,13 @@ const NtdBasketball = /* @__PURE__ */ createIcon({
134
134
  fill: "none"
135
135
  }
136
136
  ),
137
- /* @__PURE__ */ jsx("path", { d: "M12 2v20M2 12h20", stroke: primaryColor, strokeWidth }),
137
+ /* @__PURE__ */ jsx("path", { d: "M12 2v20M2 12h20", stroke: primaryColor, strokeWidth: strokeWidth * 0.6 }),
138
138
  /* @__PURE__ */ jsx(
139
139
  "path",
140
140
  {
141
141
  d: "M6 4c0 4.4 2.7 8 6 8s6-3.6 6-8M6 20c0-4.4 2.7-8 6-8s6 3.6 6 8",
142
142
  stroke: primaryColor,
143
- strokeWidth,
143
+ strokeWidth: strokeWidth * 0.6,
144
144
  fill: "none"
145
145
  }
146
146
  )
@@ -152,7 +152,7 @@ const NtdBasketball = /* @__PURE__ */ createIcon({
152
152
  uid,
153
153
  "seams",
154
154
  /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "10" }),
155
- /* @__PURE__ */ jsx("path", { d: BALL_SEAMS, stroke: secondaryColor, strokeWidth: "1.6", fill: "none" })
155
+ /* @__PURE__ */ jsx("path", { d: BALL_SEAMS, stroke: secondaryColor, strokeWidth: "1", fill: "none" })
156
156
  )
157
157
  ] })
158
158
  }
@@ -324,14 +324,15 @@ const NtdDumbbell = /* @__PURE__ */ createIcon({
324
324
  ] })
325
325
  }
326
326
  });
327
- const RUN_BODY = "M14.78 6.3L11.3 13.4";
327
+ const RUN_HEAD = { cx: 15.16, cy: 5.2, r: 2.3 };
328
+ const RUN_BODY = "M14.45 6.97L11.3 13.4";
328
329
  const RUN_NEAR = "M13.6 8.7L16.5 10.7L18.7 8.6M11.3 13.4L15.3 15L14.5 19.7L16.6 20.1";
329
330
  const RUN_FAR = "M13.6 8.7L10.2 9.5L8.3 12.3M11.3 13.4L9.7 17.4L5.6 19.3L6.5 21.2";
330
331
  function runner(near, far, width, headFill) {
331
332
  return /* @__PURE__ */ jsxs(Fragment, { children: [
332
333
  /* @__PURE__ */ jsx("path", { d: RUN_FAR, stroke: far, strokeWidth: width, fill: "none" }),
333
334
  /* @__PURE__ */ jsx("path", { d: `${RUN_BODY}${RUN_NEAR}`, stroke: near, strokeWidth: width, fill: "none" }),
334
- headFill ? /* @__PURE__ */ jsx("circle", { cx: "15.6", cy: "4.3", r: "2.3", fill: near }) : /* @__PURE__ */ jsx("circle", { cx: "15.6", cy: "4.3", r: "2.3", stroke: near, strokeWidth: width, fill: "none" })
335
+ headFill ? /* @__PURE__ */ jsx("circle", { ...RUN_HEAD, fill: near }) : /* @__PURE__ */ jsx("circle", { ...RUN_HEAD, stroke: near, strokeWidth: width, fill: "none" })
335
336
  ] });
336
337
  }
337
338
  const NtdRunning = /* @__PURE__ */ createIcon({
@@ -3,8 +3,8 @@ import { createIcon } from "../createIcon.js";
3
3
  import { swapDuotone } from "../iconParts.js";
4
4
  import { NtdHydropower } from "./weather.js";
5
5
  const RECYCLE_TURNS = [0, 120, 240];
6
- const RECYCLE_BAND = "M8.02 12.5L5.42 17H9.9";
7
- const RECYCLE_HEAD = "M9.62 14.7L12.22 17L9.62 19.3Z";
6
+ const RECYCLE_BAND = "M7.82 12.85L5.42 17H9.5";
7
+ const RECYCLE_HEAD = "M9.22 14.7L11.82 17L9.22 19.3Z";
8
8
  function recycleArrows(colors, width, filled) {
9
9
  return /* @__PURE__ */ jsx(Fragment, { children: RECYCLE_TURNS.map((turn, i) => /* @__PURE__ */ jsxs("g", { transform: `rotate(${turn} 12 13.2)`, children: [
10
10
  /* @__PURE__ */ jsx(