@nice2dev/icons 1.4.0 → 1.4.2

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 (44) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/README.md +6 -4
  3. package/dist/cjs/iconParts.js +6 -0
  4. package/dist/cjs/icons/actions.js +3 -3
  5. package/dist/cjs/icons/business.js +210 -64
  6. package/dist/cjs/icons/devtech.js +59 -63
  7. package/dist/cjs/icons/ecommerce.js +0 -62
  8. package/dist/cjs/icons/files.js +38 -88
  9. package/dist/cjs/icons/fintech.js +4 -3
  10. package/dist/cjs/icons/food.js +118 -65
  11. package/dist/cjs/icons/health.js +55 -70
  12. package/dist/cjs/icons/index.js +12 -1
  13. package/dist/cjs/icons/omniverk.js +3 -3
  14. package/dist/cjs/icons/realestate.js +100 -96
  15. package/dist/cjs/icons/science.js +74 -36
  16. package/dist/cjs/icons/smarthome.js +56 -65
  17. package/dist/cjs/icons/ui.js +44 -29
  18. package/dist/cjs/index.js +12 -1
  19. package/dist/esm/iconParts.js +6 -0
  20. package/dist/esm/icons/actions.js +3 -3
  21. package/dist/esm/icons/business.js +210 -64
  22. package/dist/esm/icons/devtech.js +60 -64
  23. package/dist/esm/icons/ecommerce.js +1 -63
  24. package/dist/esm/icons/files.js +38 -88
  25. package/dist/esm/icons/fintech.js +4 -3
  26. package/dist/esm/icons/food.js +119 -66
  27. package/dist/esm/icons/health.js +56 -71
  28. package/dist/esm/icons/index.js +18 -7
  29. package/dist/esm/icons/omniverk.js +4 -4
  30. package/dist/esm/icons/realestate.js +100 -96
  31. package/dist/esm/icons/science.js +75 -37
  32. package/dist/esm/icons/smarthome.js +56 -65
  33. package/dist/esm/icons/ui.js +45 -30
  34. package/dist/esm/index.js +18 -7
  35. package/dist/types/iconParts.d.ts +9 -0
  36. package/dist/types/icons/business.d.ts +2 -0
  37. package/dist/types/icons/devtech.d.ts +22 -0
  38. package/dist/types/icons/ecommerce.d.ts +0 -1
  39. package/dist/types/icons/food.d.ts +4 -0
  40. package/dist/types/icons/index.d.ts +7 -7
  41. package/dist/types/icons/realestate.d.ts +2 -0
  42. package/dist/types/icons/smarthome.d.ts +1 -0
  43. package/dist/types/icons/ui.d.ts +2 -0
  44. package/package.json +2 -2
@@ -633,29 +633,37 @@ const NtdPackage = /* @__PURE__ */ createIcon({
633
633
  ] })
634
634
  }
635
635
  });
636
- const LAYERS_TOP = "M12 3.9L21.5 8.7L12 13.5L2.5 8.7Z";
637
- const LAYERS_UNDER = "M2.5 9.8L12 14.6L21.5 9.8V12L12 16.8L2.5 12ZM2.5 13.1L12 17.9L21.5 13.1V15.3L12 20.1L2.5 15.3Z";
638
- function layers(top, under, round = false) {
636
+ const LAYERS_TOP = "M12 2.8L21.5 7.6V9.8L12 14.6L2.5 9.8V7.6Z";
637
+ const LAYERS_CREASE = "M2.5 7.6L12 12.4L21.5 7.6";
638
+ const LAYERS_UNDER = "M2.5 10.9L12 15.7L21.5 10.9V13.1L12 17.9L2.5 13.1ZM2.5 14.2L12 19L21.5 14.2V16.4L12 21.2L2.5 16.4Z";
639
+ function layers(top, under, crease, width, uid, round = false) {
639
640
  const rounded = round ? (
640
641
  // round joins, thin enough to keep the 1.1 gaps open
641
642
  { stroke: void 0, strokeWidth: 0.4, strokeLinejoin: "round" }
642
643
  ) : void 0;
643
644
  return /* @__PURE__ */ jsxs(Fragment, { children: [
644
645
  /* @__PURE__ */ jsx("path", { d: LAYERS_UNDER, fill: under, ...rounded && { ...rounded, stroke: under } }),
645
- /* @__PURE__ */ jsx("path", { d: LAYERS_TOP, fill: top, ...rounded && { ...rounded, stroke: top } })
646
+ /* @__PURE__ */ jsx("path", { d: LAYERS_TOP, fill: top, ...rounded && { ...rounded, stroke: top } }),
647
+ within(
648
+ uid,
649
+ "slab",
650
+ /* @__PURE__ */ jsx("path", { d: LAYERS_TOP }),
651
+ /* @__PURE__ */ jsx("path", { d: LAYERS_CREASE, stroke: crease, strokeWidth: width, fill: "none" })
652
+ )
646
653
  ] });
647
654
  }
648
655
  const NtdLayers = /* @__PURE__ */ createIcon({
649
656
  displayName: "NtdLayers",
650
657
  paths: {
651
- solid: ({ primaryColor }) => layers(primaryColor, primaryColor),
652
- rounded: ({ primaryColor }) => layers(primaryColor, primaryColor, true),
658
+ solid: ({ primaryColor, accentColor, strokeWidth, uid }) => layers(primaryColor, primaryColor, accentColor, strokeWidth, uid),
659
+ rounded: ({ primaryColor, accentColor, strokeWidth, uid }) => layers(primaryColor, primaryColor, accentColor, strokeWidth, uid, true),
653
660
  outline: ({ primaryColor, strokeWidth }) => /* @__PURE__ */ jsxs("g", { stroke: primaryColor, strokeWidth, strokeLinejoin: "miter", fill: "none", children: [
654
661
  /* @__PURE__ */ jsx("path", { d: LAYERS_TOP }),
662
+ /* @__PURE__ */ jsx("path", { d: LAYERS_CREASE }),
655
663
  /* @__PURE__ */ jsx("path", { d: LAYERS_UNDER })
656
664
  ] }),
657
- duotone: ({ primaryColor, secondaryColor }) => layers(primaryColor, secondaryColor),
658
- vivid: ({ primaryColor, secondaryColor }) => layers(primaryColor, secondaryColor)
665
+ duotone: ({ primaryColor, secondaryColor, accentColor, strokeWidth, uid }) => layers(primaryColor, secondaryColor, accentColor, strokeWidth, uid),
666
+ vivid: ({ primaryColor, secondaryColor, accentColor, strokeWidth, uid }) => layers(primaryColor, secondaryColor, accentColor, strokeWidth, uid)
659
667
  }
660
668
  });
661
669
  const NtdGrid = /* @__PURE__ */ createIcon({
@@ -1519,87 +1527,28 @@ const NtdActivity = /* @__PURE__ */ createIcon({
1519
1527
  vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx("path", { d: "M22 12h-4l-3 9L9 3l-3 9H2", stroke: primaryColor, strokeWidth: "2.2" }) })
1520
1528
  }
1521
1529
  });
1530
+ const TARGET_OUTER = 10;
1531
+ const TARGET_DOT = 1.4;
1532
+ function target(outer, middle, dot, width, dotFilled) {
1533
+ const m = (TARGET_OUTER + TARGET_DOT) / 2 - width / 4;
1534
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
1535
+ /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: TARGET_OUTER, stroke: outer, strokeWidth: width, fill: "none" }),
1536
+ /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: m, stroke: middle, strokeWidth: width, fill: "none" }),
1537
+ dotFilled ? /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: TARGET_DOT, fill: dot }) : /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: TARGET_DOT, stroke: dot, strokeWidth: width, fill: "none" })
1538
+ ] });
1539
+ }
1522
1540
  const NtdTarget = /* @__PURE__ */ createIcon({
1523
1541
  displayName: "NtdTarget",
1524
1542
  paths: {
1525
- solid: ({ primaryColor, strokeWidth }) => /* @__PURE__ */ jsxs(Fragment, { children: [
1526
- /* @__PURE__ */ jsx(
1527
- "circle",
1528
- {
1529
- cx: "12",
1530
- cy: "12",
1531
- r: "10",
1532
- stroke: primaryColor,
1533
- strokeWidth,
1534
- fill: "none"
1535
- }
1536
- ),
1537
- /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "6", stroke: primaryColor, strokeWidth, fill: "none" }),
1538
- /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "1.4", fill: primaryColor })
1539
- ] }),
1540
- outline: ({ primaryColor, strokeWidth }) => /* @__PURE__ */ jsxs(Fragment, { children: [
1541
- /* @__PURE__ */ jsx(
1542
- "circle",
1543
- {
1544
- cx: "12",
1545
- cy: "12",
1546
- r: "10",
1547
- stroke: primaryColor,
1548
- strokeWidth,
1549
- fill: "none"
1550
- }
1551
- ),
1552
- /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "6", stroke: primaryColor, strokeWidth, fill: "none" }),
1553
- /* @__PURE__ */ jsx(
1554
- "circle",
1555
- {
1556
- cx: "12",
1557
- cy: "12",
1558
- r: "1.4",
1559
- stroke: primaryColor,
1560
- strokeWidth,
1561
- fill: "none"
1562
- }
1563
- )
1564
- ] }),
1565
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => /* @__PURE__ */ jsxs(Fragment, { children: [
1566
- /* @__PURE__ */ jsx(
1567
- "circle",
1568
- {
1569
- cx: "12",
1570
- cy: "12",
1571
- r: "10",
1572
- stroke: secondaryColor,
1573
- strokeWidth,
1574
- fill: "none",
1575
- opacity: secondaryOpacity + 0.2
1576
- }
1577
- ),
1578
- /* @__PURE__ */ jsx(
1579
- "circle",
1580
- {
1581
- cx: "12",
1582
- cy: "12",
1583
- r: "10",
1584
- stroke: primaryColor,
1585
- strokeWidth,
1586
- fill: "none"
1587
- }
1588
- ),
1589
- /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "6", stroke: primaryColor, strokeWidth, fill: "none" }),
1590
- /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "1.4", fill: primaryColor })
1591
- ] }),
1592
- vivid: ({ primaryColor, secondaryColor }) => /* @__PURE__ */ jsxs(Fragment, { children: [
1593
- /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "1.4", fill: primaryColor }),
1594
- /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "1.4", fill: "white", opacity: "0.1" }),
1595
- /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "10", stroke: secondaryColor, strokeWidth: "1.8", fill: "none" }),
1596
- /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "6", stroke: "#3B82F6", strokeWidth: "1.5", fill: "none" })
1597
- ] })
1543
+ solid: ({ primaryColor, strokeWidth }) => target(primaryColor, primaryColor, primaryColor, strokeWidth * 2, true),
1544
+ outline: ({ primaryColor, strokeWidth }) => target(primaryColor, primaryColor, primaryColor, strokeWidth, false),
1545
+ duotone: ({ primaryColor, secondaryColor, strokeWidth }) => target(primaryColor, secondaryColor, primaryColor, strokeWidth * 2, true),
1546
+ vivid: ({ primaryColor, secondaryColor, strokeWidth }) => target(primaryColor, secondaryColor, secondaryColor, strokeWidth * 2, true)
1598
1547
  }
1599
1548
  });
1600
- const TRUCK_BODY = "M2 4.5h13a1 1 0 011 1V9h4l3 3v4.5H2a1 1 0 01-1-1v-10a1 1 0 011-1z";
1601
- const TRUCK_BODY_ROUNDED = "M4 4.5h9a3 3 0 013 3V9h4l3 3v2.5a2 2 0 01-2 2H4a3 3 0 01-3-3v-7a3 3 0 013-3z";
1602
- const TRUCK_BOX = "M2 4.5h13a1 1 0 011 1v11H2a1 1 0 01-1-1v-10a1 1 0 011-1z";
1549
+ const TRUCK_BODY = "M2 6h13a1 1 0 011 1V9h4l3 3v4.5H2a1 1 0 01-1-1V7a1 1 0 011-1z";
1550
+ const TRUCK_BODY_ROUNDED = "M4 6h9a3 3 0 013 3h4l3 3v2.5a2 2 0 01-2 2H4a3 3 0 01-3-3V9a3 3 0 013-3z";
1551
+ const TRUCK_BOX = "M2 6h13a1 1 0 011 1v9.5H2a1 1 0 01-1-1V7a1 1 0 011-1z";
1603
1552
  const TRUCK_CAB = "M15.5 9H20l3 3v4.5h-7.5z";
1604
1553
  const TRUCK_WHEELS = [5.5, 18.5];
1605
1554
  function truckWheels(fill, ring, opacity) {
@@ -1611,7 +1560,7 @@ function truckWheels(fill, ring, opacity) {
1611
1560
  r: "3",
1612
1561
  fill,
1613
1562
  stroke: ring,
1614
- strokeWidth: "1.5",
1563
+ strokeWidth: "0.75",
1615
1564
  opacity
1616
1565
  },
1617
1566
  cx
@@ -1629,7 +1578,7 @@ const NtdTruck = /* @__PURE__ */ createIcon({
1629
1578
  solid: (props) => truckSolid(TRUCK_BODY, props),
1630
1579
  rounded: (props) => truckSolid(TRUCK_BODY_ROUNDED, props),
1631
1580
  outline: ({ primaryColor, strokeWidth }) => /* @__PURE__ */ jsxs(Fragment, { children: [
1632
- /* @__PURE__ */ jsx("path", { d: "M1 4.5h15v12H1z", stroke: primaryColor, strokeWidth, fill: "none" }),
1581
+ /* @__PURE__ */ jsx("path", { d: "M1 6h15v10.5H1z", stroke: primaryColor, strokeWidth, fill: "none" }),
1633
1582
  /* @__PURE__ */ jsx(
1634
1583
  "path",
1635
1584
  {
@@ -1662,9 +1611,10 @@ const NtdTruck = /* @__PURE__ */ createIcon({
1662
1611
  }
1663
1612
  )
1664
1613
  ] }),
1665
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity }) => /* @__PURE__ */ jsxs(Fragment, { children: [
1614
+ // the cab in full secondary, as every duotone split
1615
+ duotone: ({ primaryColor, secondaryColor }) => /* @__PURE__ */ jsxs(Fragment, { children: [
1666
1616
  /* @__PURE__ */ jsx("path", { d: TRUCK_BOX, fill: primaryColor }),
1667
- /* @__PURE__ */ jsx("path", { d: TRUCK_CAB, fill: secondaryColor, opacity: secondaryOpacity }),
1617
+ /* @__PURE__ */ jsx("path", { d: TRUCK_CAB, fill: secondaryColor }),
1668
1618
  truckWheels(primaryColor, secondaryColor)
1669
1619
  ] }),
1670
1620
  vivid: ({ primaryColor, secondaryColor, accentColor, accentOpacity }) => /* @__PURE__ */ jsxs(Fragment, { children: [
@@ -255,6 +255,7 @@ const NtdBlockchain = /* @__PURE__ */ createIcon({
255
255
  });
256
256
  const BITCOIN_B = "M7 12V5h6a3.5 3.5 0 010 7zm0 0v7h7a3.5 3.5 0 000-7z";
257
257
  const BITCOIN_BARS = "M9.5 2v3M13 2v3M9.5 19v3M13 19v3";
258
+ const BITCOIN_WIDTH = 2;
258
259
  function bitcoinSign(letter, bars, width, barsOpacity) {
259
260
  return /* @__PURE__ */ jsxs(Fragment, { children: [
260
261
  /* @__PURE__ */ jsx("path", { d: BITCOIN_BARS, stroke: bars, strokeWidth: width, opacity: barsOpacity }),
@@ -264,10 +265,10 @@ function bitcoinSign(letter, bars, width, barsOpacity) {
264
265
  const NtdBitcoin = /* @__PURE__ */ createIcon({
265
266
  displayName: "NtdBitcoin",
266
267
  paths: {
267
- solid: ({ primaryColor, strokeWidth }) => bitcoinSign(primaryColor, primaryColor, strokeWidth * 1.5),
268
+ solid: ({ primaryColor, strokeWidth }) => bitcoinSign(primaryColor, primaryColor, strokeWidth * BITCOIN_WIDTH),
268
269
  outline: ({ primaryColor, strokeWidth }) => bitcoinSign(primaryColor, primaryColor, strokeWidth),
269
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => bitcoinSign(primaryColor, secondaryColor, strokeWidth * 1.5, secondaryOpacity),
270
- vivid: ({ primaryColor, secondaryColor, strokeWidth }) => bitcoinSign(primaryColor, secondaryColor, strokeWidth * 1.5)
270
+ duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => bitcoinSign(primaryColor, secondaryColor, strokeWidth * BITCOIN_WIDTH, secondaryOpacity),
271
+ vivid: ({ primaryColor, secondaryColor, strokeWidth }) => bitcoinSign(primaryColor, secondaryColor, strokeWidth * BITCOIN_WIDTH)
271
272
  }
272
273
  });
273
274
  const NtdEthereum = /* @__PURE__ */ createIcon({
@@ -1,6 +1,6 @@
1
1
  import { jsxs, Fragment, jsx } from "react/jsx-runtime";
2
2
  import { createIcon } from "../createIcon.js";
3
- import { swapDuotone } from "../iconParts.js";
3
+ import { swapDuotone, CUTLERY_FORK_LINES, CUTLERY_KNIFE, CUTLERY_FORK, within } from "../iconParts.js";
4
4
  import { NtdPizza } from "./health.js";
5
5
  const NtdBurger = /* @__PURE__ */ createIcon({
6
6
  displayName: "NtdBurger",
@@ -370,14 +370,25 @@ const NtdTaco = /* @__PURE__ */ createIcon({
370
370
  });
371
371
  const COFFEE_CUP = "M5 9H17L15.8 16.6A2 2 0 0 1 13.8 18.3H8.2A2 2 0 0 1 6.2 16.6Z";
372
372
  const COFFEE_CUP_SHARP = "M5 9H17L15.6 18.3H6.4Z";
373
- const COFFEE_HANDLE = "M16.7 10.6H18.6A2 2 0 0 1 20.6 12.6A2.8 2.8 0 0 1 17.8 15.4H16";
374
- const COFFEE_STEAM = "M9.4 7.4C8.6 6.6 8.6 5.8 9.4 5S10.2 3.4 9.4 2.6M12.9 7.4C12.1 6.6 12.1 5.8 12.9 5S13.7 3.4 12.9 2.6";
373
+ const COFFEE_HANDLE = "M16.7 10.8H18.2A1.6 1.6 0 0 1 19.8 12.4A2.2 2.2 0 0 1 17.6 14.6H16.1";
374
+ const COFFEE_SAUCER = { x: 4.8, y: 19.5, width: 12.4, height: 1.4, rx: 0.7 };
375
+ const COFFEE_WISP = "c-.7-.64-.7-1.28 0-1.92s.7-1.28 0-1.92";
376
+ const COFFEE_STEAM = `M7.8 7.4${COFFEE_WISP}M11 7.4${COFFEE_WISP}M14.2 7.4${COFFEE_WISP}`;
377
+ const COFFEE_STEAM_WIDTH = 0.7;
375
378
  function coffee(p, width, cupPath = COFFEE_CUP) {
376
379
  return /* @__PURE__ */ jsxs(Fragment, { children: [
377
380
  /* @__PURE__ */ jsx("path", { d: COFFEE_HANDLE, stroke: p.cup, strokeWidth: width, fill: "none" }),
378
381
  /* @__PURE__ */ jsx("path", { d: cupPath, fill: p.cup }),
379
- /* @__PURE__ */ jsx("rect", { x: "3.5", y: "19.4", width: "15", height: "1.6", rx: "0.8", fill: p.saucer }),
380
- /* @__PURE__ */ jsx("path", { d: COFFEE_STEAM, stroke: p.steam, strokeWidth: width, fill: "none" })
382
+ /* @__PURE__ */ jsx("rect", { ...COFFEE_SAUCER, fill: p.saucer }),
383
+ /* @__PURE__ */ jsx(
384
+ "path",
385
+ {
386
+ d: COFFEE_STEAM,
387
+ stroke: p.steam,
388
+ strokeWidth: width * COFFEE_STEAM_WIDTH,
389
+ fill: "none"
390
+ }
391
+ )
381
392
  ] });
382
393
  }
383
394
  const NtdCoffee = /* @__PURE__ */ createIcon({
@@ -395,8 +406,8 @@ const NtdCoffee = /* @__PURE__ */ createIcon({
395
406
  outline: ({ primaryColor, strokeWidth }) => /* @__PURE__ */ jsxs("g", { stroke: primaryColor, strokeWidth, fill: "none", children: [
396
407
  /* @__PURE__ */ jsx("path", { d: COFFEE_HANDLE }),
397
408
  /* @__PURE__ */ jsx("path", { d: COFFEE_CUP }),
398
- /* @__PURE__ */ jsx("rect", { x: "3.5", y: "19.4", width: "15", height: "1.6", rx: "0.8" }),
399
- /* @__PURE__ */ jsx("path", { d: COFFEE_STEAM })
409
+ /* @__PURE__ */ jsx("rect", { ...COFFEE_SAUCER }),
410
+ /* @__PURE__ */ jsx("path", { d: COFFEE_STEAM, strokeWidth: strokeWidth * COFFEE_STEAM_WIDTH })
400
411
  ] }),
401
412
  duotone: ({ primaryColor, secondaryColor, strokeWidth }) => coffee({ cup: primaryColor, saucer: secondaryColor, steam: secondaryColor }, strokeWidth * 2),
402
413
  vivid: ({ primaryColor, secondaryColor, strokeWidth }) => coffee({ cup: primaryColor, saucer: secondaryColor, steam: secondaryColor }, strokeWidth * 2)
@@ -733,70 +744,108 @@ const NtdChefHat = /* @__PURE__ */ createIcon({
733
744
  ] })
734
745
  }
735
746
  });
747
+ const FORK_KNIFE_SCALE = 1.1;
748
+ const FORK_KNIFE_FRAME = `translate(12 12) scale(${FORK_KNIFE_SCALE}) translate(-12 -12)`;
749
+ const FORK_KNIFE_FORK_AT = "translate(6.14 0)";
750
+ const FORK_KNIFE_KNIFE_AT = "translate(-6.05 0)";
751
+ function forkKnifeFilled(fork, knife) {
752
+ return /* @__PURE__ */ jsxs("g", { transform: FORK_KNIFE_FRAME, children: [
753
+ /* @__PURE__ */ jsx("path", { d: CUTLERY_FORK, transform: FORK_KNIFE_FORK_AT, fill: fork }),
754
+ /* @__PURE__ */ jsx("path", { d: CUTLERY_KNIFE, transform: FORK_KNIFE_KNIFE_AT, fill: knife })
755
+ ] });
756
+ }
736
757
  const NtdForkKnife = /* @__PURE__ */ createIcon({
737
758
  displayName: "NtdForkKnife",
738
759
  paths: {
739
- solid: ({ primaryColor }) => /* @__PURE__ */ jsxs(Fragment, { children: [
740
- /* @__PURE__ */ jsx("path", { d: "M5 2v8c0 1.5 1 3 3 3v9h2v-9c2 0 3-1.5 3-3V2H5z", fill: primaryColor }),
741
- /* @__PURE__ */ jsx("path", { d: "M7 2v5M9 2v5", stroke: "white", strokeWidth: "1.5" }),
742
- /* @__PURE__ */ jsx("path", { d: "M17 2v7c-2 0-3 1-3 2l1 1v10h2V12l1-1c0-1-1-2-3-2V2h2z", fill: primaryColor })
743
- ] }),
760
+ solid: ({ primaryColor }) => forkKnifeFilled(primaryColor, primaryColor),
761
+ outline: ({ primaryColor, strokeWidth }) => /* @__PURE__ */ jsxs(
762
+ "g",
763
+ {
764
+ transform: FORK_KNIFE_FRAME,
765
+ stroke: primaryColor,
766
+ strokeWidth: strokeWidth / FORK_KNIFE_SCALE,
767
+ fill: "none",
768
+ children: [
769
+ /* @__PURE__ */ jsx("path", { d: CUTLERY_FORK_LINES, transform: FORK_KNIFE_FORK_AT }),
770
+ /* @__PURE__ */ jsx("path", { d: CUTLERY_KNIFE, transform: FORK_KNIFE_KNIFE_AT, strokeLinejoin: "miter" })
771
+ ]
772
+ }
773
+ ),
774
+ duotone: ({ primaryColor, secondaryColor }) => forkKnifeFilled(secondaryColor, primaryColor),
775
+ vivid: ({ primaryColor, secondaryColor }) => forkKnifeFilled(secondaryColor, primaryColor)
776
+ }
777
+ });
778
+ const KNIFE_TURN = "rotate(45 12 12)";
779
+ const KNIFE_BLADE = "M10.4 14.2V0.8C13 2.2 15.8 5.6 15.8 10.2V14.2Z";
780
+ const KNIFE_BOLSTER = { x: 10.2, y: 14.2, width: 4.2, height: 1.3 };
781
+ const KNIFE_HANDLE = "M10.6 15.5H14.2V22A1.2 1.2 0 0 1 13 23.2H11.8A1.2 1.2 0 0 1 10.6 22Z";
782
+ const KNIFE_RIVETS = [17.6, 20.8];
783
+ function knifeFilled(blade, handle, accent, gap) {
784
+ return /* @__PURE__ */ jsxs("g", { transform: KNIFE_TURN, children: [
785
+ /* @__PURE__ */ jsx("path", { d: KNIFE_BLADE, fill: blade }),
786
+ /* @__PURE__ */ jsx("rect", { ...KNIFE_BOLSTER, fill: handle }),
787
+ /* @__PURE__ */ jsx("path", { d: KNIFE_HANDLE, fill: handle }),
788
+ /* @__PURE__ */ jsx("path", { d: "M10.2 15.5H14.4", stroke: accent, strokeWidth: gap }),
789
+ KNIFE_RIVETS.map((cy) => /* @__PURE__ */ jsx("circle", { cx: "12.4", cy, r: "0.55", fill: accent }, cy))
790
+ ] });
791
+ }
792
+ const NtdKnife = /* @__PURE__ */ createIcon({
793
+ displayName: "NtdKnife",
794
+ paths: {
795
+ solid: ({ primaryColor, accentColor, strokeWidth }) => knifeFilled(primaryColor, primaryColor, accentColor, strokeWidth * 0.6),
796
+ outline: ({ primaryColor, strokeWidth }) => /* @__PURE__ */ jsxs(
797
+ "g",
798
+ {
799
+ transform: KNIFE_TURN,
800
+ stroke: primaryColor,
801
+ strokeWidth,
802
+ strokeLinejoin: "miter",
803
+ fill: "none",
804
+ children: [
805
+ /* @__PURE__ */ jsx("path", { d: KNIFE_BLADE }),
806
+ /* @__PURE__ */ jsx("rect", { ...KNIFE_BOLSTER }),
807
+ /* @__PURE__ */ jsx("path", { d: KNIFE_HANDLE }),
808
+ KNIFE_RIVETS.map((cy) => /* @__PURE__ */ jsx("circle", { cx: "12.4", cy, r: "0.55", fill: primaryColor, stroke: "none" }, cy))
809
+ ]
810
+ }
811
+ ),
812
+ duotone: ({ primaryColor, secondaryColor, accentColor, strokeWidth }) => knifeFilled(primaryColor, secondaryColor, accentColor, strokeWidth * 0.6),
813
+ vivid: ({ primaryColor, secondaryColor, accentColor, strokeWidth }) => knifeFilled(primaryColor, secondaryColor, accentColor, strokeWidth * 0.6)
814
+ }
815
+ });
816
+ const PAN_BODY = "M2 9.5H16.5L15.3 14.1Q15 15.3 13.8 15.3H4.7Q3.5 15.3 3.2 14.1Z";
817
+ const PAN_LIP = { x: 1.7, y: 8.6, width: 15.1, height: 1.3 };
818
+ const PAN_HANDLE = "M16.5 9.2H22.4A1 1 0 0 1 22.4 11.2H16.5Z";
819
+ const PAN_HANDLE_LINE = "M16.8 9.2H22.4A1 1 0 0 1 22.4 11.2H16.06";
820
+ const PAN_HOLE = { cx: 21.9, cy: 10.2, r: 0.5 };
821
+ function panFilled({ primaryColor, accentColor, strokeWidth, uid }, handle) {
822
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
823
+ /* @__PURE__ */ jsx("path", { d: PAN_HANDLE, fill: handle }),
824
+ /* @__PURE__ */ jsx("path", { d: PAN_BODY, fill: primaryColor }),
825
+ /* @__PURE__ */ jsx("rect", { ...PAN_LIP, fill: primaryColor }),
826
+ within(
827
+ uid,
828
+ "pan",
829
+ /* @__PURE__ */ jsx("path", { d: PAN_BODY }),
830
+ /* @__PURE__ */ jsx("path", { d: "M1 9.9H18", stroke: accentColor, strokeWidth: strokeWidth * 0.6 })
831
+ ),
832
+ /* @__PURE__ */ jsx("circle", { ...PAN_HOLE, fill: accentColor })
833
+ ] });
834
+ }
835
+ const NtdCookingPan = /* @__PURE__ */ createIcon({
836
+ displayName: "NtdCookingPan",
837
+ paths: {
838
+ solid: (props) => panFilled(props, props.primaryColor),
744
839
  outline: ({ primaryColor, strokeWidth }) => /* @__PURE__ */ jsxs(Fragment, { children: [
745
- /* @__PURE__ */ jsx(
746
- "path",
747
- {
748
- d: "M5 2v8c0 1.5 1 3 3 3v9h2v-9c2 0 3-1.5 3-3V2",
749
- stroke: primaryColor,
750
- strokeWidth,
751
- fill: "none"
752
- }
753
- ),
754
- /* @__PURE__ */ jsx("path", { d: "M7 2v5M9 2v5", stroke: primaryColor, strokeWidth }),
755
- /* @__PURE__ */ jsx(
756
- "path",
757
- {
758
- d: "M17 2v7c-2 0-3 1-3 2l1 1v10h2V12l1-1c0-1-1-2-3-2V2",
759
- stroke: primaryColor,
760
- strokeWidth,
761
- fill: "none"
762
- }
763
- )
840
+ /* @__PURE__ */ jsxs("g", { stroke: primaryColor, strokeWidth, strokeLinejoin: "miter", fill: "none", children: [
841
+ /* @__PURE__ */ jsx("path", { d: PAN_BODY }),
842
+ /* @__PURE__ */ jsx("rect", { ...PAN_LIP }),
843
+ /* @__PURE__ */ jsx("path", { d: PAN_HANDLE_LINE })
844
+ ] }),
845
+ /* @__PURE__ */ jsx("circle", { ...PAN_HOLE, fill: primaryColor })
764
846
  ] }),
765
- duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => /* @__PURE__ */ jsxs(Fragment, { children: [
766
- /* @__PURE__ */ jsx(
767
- "path",
768
- {
769
- d: "M5 2v8c0 1.5 1 3 3 3v9h2v-9c2 0 3-1.5 3-3V2H5z",
770
- fill: secondaryColor,
771
- opacity: secondaryOpacity
772
- }
773
- ),
774
- /* @__PURE__ */ jsx(
775
- "path",
776
- {
777
- d: "M5 2v8c0 1.5 1 3 3 3v9h2v-9c2 0 3-1.5 3-3V2",
778
- stroke: primaryColor,
779
- strokeWidth,
780
- fill: "none"
781
- }
782
- ),
783
- /* @__PURE__ */ jsx("path", { d: "M7 2v5M9 2v5", stroke: primaryColor, strokeWidth }),
784
- /* @__PURE__ */ jsx(
785
- "path",
786
- {
787
- d: "M17 2v7c-2 0-3 1-3 2l1 1v10h2V12l1-1c0-1-1-2-3-2V2",
788
- stroke: primaryColor,
789
- strokeWidth,
790
- fill: "none"
791
- }
792
- )
793
- ] }),
794
- vivid: ({ primaryColor, secondaryColor }) => /* @__PURE__ */ jsxs(Fragment, { children: [
795
- /* @__PURE__ */ jsx("path", { d: "M5 2v8c0 1.5 1 3 3 3v9h2v-9c2 0 3-1.5 3-3V2H5z", fill: primaryColor }),
796
- /* @__PURE__ */ jsx("path", { d: "M5 2v8c0 1.5 1 3 3 3v9h2v-9c2 0 3-1.5 3-3V2H5z", fill: "white", opacity: "0.08" }),
797
- /* @__PURE__ */ jsx("path", { d: "M17 2v7c-2 0-3 1-3 2l1 1v10h2V12l1-1c0-1-1-2-3-2V2h2z", fill: secondaryColor }),
798
- /* @__PURE__ */ jsx("path", { d: "M7 2v5M9 2v5", stroke: "white", strokeWidth: "1" })
799
- ] })
847
+ duotone: (props) => panFilled(props, props.secondaryColor),
848
+ vivid: (props) => panFilled(props, props.secondaryColor)
800
849
  }
801
850
  });
802
851
  const NtdPlate = /* @__PURE__ */ createIcon({
@@ -1050,6 +1099,8 @@ const foodIcons = {
1050
1099
  NtdSoda,
1051
1100
  NtdChefHat,
1052
1101
  NtdForkKnife,
1102
+ NtdKnife,
1103
+ NtdCookingPan,
1053
1104
  NtdPlate,
1054
1105
  NtdRecipe,
1055
1106
  NtdRestaurant
@@ -1060,8 +1111,10 @@ export {
1060
1111
  NtdChefHat,
1061
1112
  NtdCocktail,
1062
1113
  NtdCoffee,
1114
+ NtdCookingPan,
1063
1115
  NtdForkKnife,
1064
1116
  NtdHotdog,
1117
+ NtdKnife,
1065
1118
  NtdPlate,
1066
1119
  NtdRecipe,
1067
1120
  NtdRestaurant,
@@ -1,6 +1,6 @@
1
1
  import { jsxs, Fragment, jsx } from "react/jsx-runtime";
2
2
  import { createIcon } from "../createIcon.js";
3
- import { swapDuotone } from "../iconParts.js";
3
+ import { swapDuotone, within } from "../iconParts.js";
4
4
  const NtdApple = /* @__PURE__ */ createIcon({
5
5
  displayName: "NtdApple",
6
6
  paths: {
@@ -125,74 +125,40 @@ const NtdGlass = /* @__PURE__ */ createIcon({
125
125
  ] })
126
126
  }
127
127
  });
128
+ const HEART_PULSE_HEART = "M20.84 4.61a5.5 5.5 0 00-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 00-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 000-7.78z";
129
+ const HEART_PULSE_LINE = "M0 12H8L10 9L12 15L14 12H24";
130
+ function heartPulse(uid, heart, pulse, width) {
131
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
132
+ heart,
133
+ within(
134
+ uid,
135
+ "pulse",
136
+ /* @__PURE__ */ jsx("path", { d: HEART_PULSE_HEART }),
137
+ /* @__PURE__ */ jsx("path", { d: HEART_PULSE_LINE, stroke: pulse, strokeWidth: width, fill: "none" })
138
+ )
139
+ ] });
140
+ }
128
141
  const NtdHeartPulse = /* @__PURE__ */ createIcon({
129
142
  displayName: "NtdHeartPulse",
130
143
  paths: {
131
- solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth: _strokeWidth }) => /* @__PURE__ */ jsxs(Fragment, { children: [
132
- /* @__PURE__ */ jsx(
133
- "path",
134
- {
135
- d: "M20.84 4.61a5.5 5.5 0 00-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 00-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 000-7.78z",
136
- fill: primaryColor
137
- }
138
- ),
139
- /* @__PURE__ */ jsx(
140
- "polyline",
141
- {
142
- points: "3,12 8,12 10,9 12,15 14,12 21,12",
143
- stroke: accentColor,
144
- strokeWidth: "1.5",
145
- fill: "none",
146
- opacity: accentOpacity
147
- }
148
- )
149
- ] }),
150
- outline: ({ primaryColor, strokeWidth }) => /* @__PURE__ */ jsxs(Fragment, { children: [
151
- /* @__PURE__ */ jsx(
152
- "path",
153
- {
154
- d: "M20.84 4.61a5.5 5.5 0 00-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 00-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 000-7.78z",
155
- stroke: primaryColor,
156
- strokeWidth,
157
- fill: "none"
158
- }
159
- ),
160
- /* @__PURE__ */ jsx(
161
- "polyline",
162
- {
163
- points: "3,12 8,12 10,9 12,15 14,12 21,12",
164
- stroke: primaryColor,
165
- strokeWidth: "1.5",
166
- fill: "none"
167
- }
168
- )
169
- ] }),
170
- vivid: ({ primaryColor, secondaryColor }) => /* @__PURE__ */ jsxs(Fragment, { children: [
171
- /* @__PURE__ */ jsx(
172
- "path",
173
- {
174
- d: "M20.84 4.61a5.5 5.5 0 00-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 00-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 000-7.78z",
175
- fill: primaryColor
176
- }
177
- ),
178
- /* @__PURE__ */ jsx(
179
- "path",
180
- {
181
- d: "M20.84 4.61a5.5 5.5 0 00-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 00-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 000-7.78z",
182
- fill: "white",
183
- opacity: "0.1"
184
- }
185
- ),
186
- /* @__PURE__ */ jsx(
187
- "polyline",
188
- {
189
- points: "3,12 8,12 10,9 12,15 14,12 21,12",
190
- stroke: secondaryColor,
191
- strokeWidth: "1.8",
192
- fill: "none"
193
- }
194
- )
195
- ] })
144
+ solid: ({ primaryColor, accentColor, strokeWidth, uid }) => heartPulse(
145
+ uid,
146
+ /* @__PURE__ */ jsx("path", { d: HEART_PULSE_HEART, fill: primaryColor }),
147
+ accentColor,
148
+ strokeWidth * 1.5
149
+ ),
150
+ outline: ({ primaryColor, strokeWidth, uid }) => heartPulse(
151
+ uid,
152
+ /* @__PURE__ */ jsx("path", { d: HEART_PULSE_HEART, stroke: primaryColor, strokeWidth, fill: "none" }),
153
+ primaryColor,
154
+ strokeWidth
155
+ ),
156
+ vivid: ({ primaryColor, secondaryColor, strokeWidth, uid }) => heartPulse(
157
+ uid,
158
+ /* @__PURE__ */ jsx("path", { d: HEART_PULSE_HEART, fill: primaryColor }),
159
+ secondaryColor,
160
+ strokeWidth * 1.5
161
+ )
196
162
  }
197
163
  });
198
164
  const NtdPill = /* @__PURE__ */ createIcon({
@@ -631,7 +597,8 @@ const NtdHamburger = /* @__PURE__ */ createIcon({
631
597
  });
632
598
  const DNA_STRAND_A = "M18 2C18 3.67 15.14 5.33 12 7S6 10.33 6 12S8.86 15.33 12 17S18 20.33 18 22";
633
599
  const DNA_STRAND_B = "M6 2C6 3.67 8.86 5.33 12 7S18 10.33 18 12S15.14 15.33 12 17S6 20.33 6 22";
634
- const DNA_PAIRS = "M6.29 3h11.42M8.47 5h7.06M8.47 9h7.06M6.29 11h11.42M6.29 13h11.42M8.47 15h7.06M8.47 19h7.06M6.29 21h11.42";
600
+ const DNA_PAIRS = "M6.12 2.63h11.77M7.01 3.88h9.98M8.67 5.13h6.67M8.67 8.88h6.67M7.01 10.13h9.98M6.12 11.38h11.77M6.12 12.63h11.77M7.01 13.88h9.98M8.67 15.13h6.67M8.67 18.88h6.67M7.01 20.13h9.98M6.12 21.38h11.77";
601
+ const DNA_PAIR_WIDTH = 0.6;
635
602
  function dnaHelix(strandA, strandB, pairs, strand, pair) {
636
603
  return /* @__PURE__ */ jsxs(Fragment, { children: [
637
604
  /* @__PURE__ */ jsx("path", { d: DNA_PAIRS, stroke: pairs, strokeWidth: pair }),
@@ -642,12 +609,30 @@ function dnaHelix(strandA, strandB, pairs, strand, pair) {
642
609
  const NtdDna = /* @__PURE__ */ createIcon({
643
610
  displayName: "NtdDna",
644
611
  paths: {
645
- solid: ({ primaryColor, strokeWidth }) => dnaHelix(primaryColor, primaryColor, primaryColor, strokeWidth * 2, strokeWidth),
646
- outline: ({ primaryColor, strokeWidth }) => dnaHelix(primaryColor, primaryColor, primaryColor, strokeWidth, strokeWidth),
612
+ solid: ({ primaryColor, strokeWidth }) => dnaHelix(
613
+ primaryColor,
614
+ primaryColor,
615
+ primaryColor,
616
+ strokeWidth * 2,
617
+ strokeWidth * DNA_PAIR_WIDTH
618
+ ),
619
+ outline: ({ primaryColor, strokeWidth }) => dnaHelix(primaryColor, primaryColor, primaryColor, strokeWidth, strokeWidth * DNA_PAIR_WIDTH),
647
620
  // the strands primary, the pairs secondary
648
- duotone: ({ primaryColor, secondaryColor, strokeWidth }) => dnaHelix(primaryColor, primaryColor, secondaryColor, strokeWidth * 2, strokeWidth),
621
+ duotone: ({ primaryColor, secondaryColor, strokeWidth }) => dnaHelix(
622
+ primaryColor,
623
+ primaryColor,
624
+ secondaryColor,
625
+ strokeWidth * 2,
626
+ strokeWidth * DNA_PAIR_WIDTH
627
+ ),
649
628
  // one strand primary, the other and the pairs secondary
650
- vivid: ({ primaryColor, secondaryColor, strokeWidth }) => dnaHelix(primaryColor, secondaryColor, secondaryColor, strokeWidth * 2, strokeWidth)
629
+ vivid: ({ primaryColor, secondaryColor, strokeWidth }) => dnaHelix(
630
+ primaryColor,
631
+ secondaryColor,
632
+ secondaryColor,
633
+ strokeWidth * 2,
634
+ strokeWidth * DNA_PAIR_WIDTH
635
+ )
651
636
  }
652
637
  });
653
638
  export {