@jannchie/icons 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. package/dist/all.js +30 -0
  2. package/dist/icons/c.js +8 -0
  3. package/dist/icons/cpp.js +8 -0
  4. package/dist/icons/csharp.js +8 -0
  5. package/dist/icons/golang.js +8 -0
  6. package/dist/icons/haskell.js +8 -0
  7. package/dist/icons/java.js +8 -0
  8. package/dist/icons/javascript.js +8 -0
  9. package/dist/icons/kotlin.js +8 -0
  10. package/dist/icons/lua.js +8 -0
  11. package/dist/icons/php.js +8 -0
  12. package/dist/icons/python.js +8 -0
  13. package/dist/icons/ruby.js +8 -0
  14. package/dist/icons/rust.js +8 -0
  15. package/dist/icons/swift.js +8 -0
  16. package/dist/icons/typescript.js +8 -0
  17. package/dist/index.d.ts +30 -0
  18. package/dist/index.js +16 -1
  19. package/dist/src/battery.js +22 -1
  20. package/dist/src/cc.js +2 -1
  21. package/dist/src/controller.js +5 -2
  22. package/dist/src/icons/api.js +2 -2
  23. package/dist/src/icons/battery-full.js +1 -1
  24. package/dist/src/icons/battery-low.js +1 -1
  25. package/dist/src/icons/battery-medium.js +1 -1
  26. package/dist/src/icons/bee.js +3 -2
  27. package/dist/src/icons/bike.js +5 -13
  28. package/dist/src/icons/billiards.js +2 -2
  29. package/dist/src/icons/bingo.js +2 -2
  30. package/dist/src/icons/c.js +12 -0
  31. package/dist/src/icons/card-plus-four.js +2 -2
  32. package/dist/src/icons/card-plus-two.js +2 -2
  33. package/dist/src/icons/cat.js +4 -3
  34. package/dist/src/icons/cpp.js +21 -0
  35. package/dist/src/icons/csharp.js +17 -0
  36. package/dist/src/icons/element.js +3 -3
  37. package/dist/src/icons/fog.js +2 -2
  38. package/dist/src/icons/golang.js +10 -0
  39. package/dist/src/icons/haskell.js +10 -0
  40. package/dist/src/icons/html.js +6 -2
  41. package/dist/src/icons/java.js +10 -0
  42. package/dist/src/icons/javascript.js +14 -0
  43. package/dist/src/icons/json.js +2 -2
  44. package/dist/src/icons/kotlin.js +15 -0
  45. package/dist/src/icons/list-ordered.js +4 -3
  46. package/dist/src/icons/lua.js +9 -0
  47. package/dist/src/icons/medal-1.js +2 -2
  48. package/dist/src/icons/medal-2.js +2 -2
  49. package/dist/src/icons/medal-3.js +2 -2
  50. package/dist/src/icons/microscope.js +10 -10
  51. package/dist/src/icons/mushroom.js +5 -5
  52. package/dist/src/icons/php.js +8 -0
  53. package/dist/src/icons/pig.js +4 -3
  54. package/dist/src/icons/python.js +25 -0
  55. package/dist/src/icons/ruby.js +16 -0
  56. package/dist/src/icons/rust.js +16 -0
  57. package/dist/src/icons/scooter.js +3 -8
  58. package/dist/src/icons/sudoku.js +2 -2
  59. package/dist/src/icons/swift.js +4 -0
  60. package/dist/src/icons/tag-0.js +2 -2
  61. package/dist/src/icons/tag-1.js +2 -2
  62. package/dist/src/icons/tag-2.js +2 -2
  63. package/dist/src/icons/tag-3.js +2 -2
  64. package/dist/src/icons/tag-4.js +2 -2
  65. package/dist/src/icons/tag-5.js +2 -2
  66. package/dist/src/icons/tag-6.js +2 -2
  67. package/dist/src/icons/tag-7.js +2 -2
  68. package/dist/src/icons/tag-8.js +2 -2
  69. package/dist/src/icons/tag-9.js +2 -2
  70. package/dist/src/icons/tag-a.js +2 -2
  71. package/dist/src/icons/tag-b.js +2 -2
  72. package/dist/src/icons/tag-c.js +2 -2
  73. package/dist/src/icons/tag-d.js +2 -2
  74. package/dist/src/icons/tag-e.js +2 -2
  75. package/dist/src/icons/tag-f.js +2 -2
  76. package/dist/src/icons/tag-g.js +2 -2
  77. package/dist/src/icons/tag-h.js +2 -2
  78. package/dist/src/icons/tag-i.js +2 -2
  79. package/dist/src/icons/tag-j.js +2 -2
  80. package/dist/src/icons/tag-k.js +2 -2
  81. package/dist/src/icons/tag-l.js +2 -2
  82. package/dist/src/icons/tag-m.js +2 -2
  83. package/dist/src/icons/tag-n.js +2 -2
  84. package/dist/src/icons/tag-o.js +2 -2
  85. package/dist/src/icons/tag-p.js +2 -2
  86. package/dist/src/icons/tag-q.js +2 -2
  87. package/dist/src/icons/tag-r.js +2 -2
  88. package/dist/src/icons/tag-s.js +2 -2
  89. package/dist/src/icons/tag-t.js +2 -2
  90. package/dist/src/icons/tag-u.js +2 -2
  91. package/dist/src/icons/tag-v.js +2 -2
  92. package/dist/src/icons/tag-w.js +2 -2
  93. package/dist/src/icons/tag-x.js +2 -2
  94. package/dist/src/icons/tag-y.js +2 -2
  95. package/dist/src/icons/tag-z.js +2 -2
  96. package/dist/src/icons/taxi.js +1 -1
  97. package/dist/src/icons/traffic-cone.js +9 -8
  98. package/dist/src/icons/typescript.js +14 -0
  99. package/dist/src/laundry.js +3 -3
  100. package/dist/src/letters.js +35 -16
  101. package/dist/src/license.js +3 -3
  102. package/dist/src/loading.js +3 -3
  103. package/dist/src/quality.js +3 -3
  104. package/dist/src/rate.js +3 -3
  105. package/dist/src/rating.js +15 -12
  106. package/dist/src/resin.js +3 -3
  107. package/dist/src/scene.js +5 -1
  108. package/dist/src/sensor.js +7 -6
  109. package/dist/src/symbols.js +35 -22
  110. package/dist/src/unit.js +2 -2
  111. package/package.json +1 -1
@@ -6,6 +6,27 @@ var shell = (radius) => [rounded([
6
6
  [19.5, 16.5],
7
7
  [2.5, 16.5]
8
8
  ], Math.min(radius, 2)), "M21.5 9.75V13.25"];
9
- var level = (ratio) => `M${Math.round(2.5 + 17 * ratio - .5) + .5} 6.5V16.5`;
9
+ var level = (ratio, radius) => {
10
+ const x = Math.round(2.5 + 17 * ratio - .5) + .5;
11
+ const r = Math.min(radius, 2);
12
+ const rx = x >= 19.5 ? r : 0;
13
+ return {
14
+ d: rounded([
15
+ [
16
+ x,
17
+ 6.5,
18
+ rx
19
+ ],
20
+ [
21
+ x,
22
+ 16.5,
23
+ rx
24
+ ],
25
+ [2.5, 16.5],
26
+ [2.5, 6.5]
27
+ ], r),
28
+ fill: true
29
+ };
30
+ };
10
31
  //#endregion
11
32
  export { level, shell };
package/dist/src/cc.js CHANGED
@@ -56,7 +56,8 @@ var CC = {
56
56
  zh: "非商业 NC(日元)",
57
57
  paths: () => [
58
58
  ring(),
59
- ...snap([small("Y"), "M9 13H15M9 15.75H15"]),
59
+ "M9 7L12 11.5L15 7M12 11.5V16.5",
60
+ "M9 12.5H15M9 15H15",
60
61
  slash
61
62
  ]
62
63
  },
@@ -1,7 +1,10 @@
1
1
  import { crisp, rounded } from "./geometry.js";
2
- import { line, snap } from "./letters.js";
2
+ import { LABEL, line, snap } from "./letters.js";
3
3
  //#region src/controller.js
4
- var text = (str, center, s = 1, gap = 1.5) => snap(line(str, center, s, gap));
4
+ var text = (str, center, s = 1, gap = 2) => snap(line(str, center, s, gap, s, LABEL)).map((d) => ({
5
+ d,
6
+ thin: true
7
+ }));
5
8
  var bumperLeft = "M2.5 18.5V12.5C2.5 9 5 6.5 8.5 6.5H16.5C19.75 6.5 21.5 8 21.5 10.5V18.5Z";
6
9
  var bumperRight = "M21.5 18.5V12.5C21.5 9 19 6.5 15.5 6.5H7.5C4.25 6.5 2.5 8 2.5 10.5V18.5Z";
7
10
  var triggerLeft = "M5.5 20.5V10C5.5 6 8.5 3.5 12.5 3.5C16 3.5 18.5 5 18.5 8V20.5Z";
@@ -1,5 +1,5 @@
1
- import { line, snap } from "../letters.js";
1
+ import { LABEL, line, snap } from "../letters.js";
2
2
  //#region src/icons/api.js
3
- var api_default = () => snap(line("API", [12, 12], 1.05, 2, 1.5));
3
+ var api_default = () => snap(line("API", [12, 12], 1.05, 2, 1.5, LABEL));
4
4
  //#endregion
5
5
  export { api_default as default };
@@ -1,5 +1,5 @@
1
1
  import { level, shell } from "../battery.js";
2
2
  //#region src/icons/battery-full.js
3
- var battery_full_default = ({ radius }) => [...shell(radius), level(.85)];
3
+ var battery_full_default = ({ radius }) => [...shell(radius), level(1, radius)];
4
4
  //#endregion
5
5
  export { battery_full_default as default };
@@ -1,5 +1,5 @@
1
1
  import { level, shell } from "../battery.js";
2
2
  //#region src/icons/battery-low.js
3
- var battery_low_default = ({ radius }) => [...shell(radius), level(.3)];
3
+ var battery_low_default = ({ radius }) => [...shell(radius), level(.3, radius)];
4
4
  //#endregion
5
5
  export { battery_low_default as default };
@@ -1,5 +1,5 @@
1
1
  import { level, shell } from "../battery.js";
2
2
  //#region src/icons/battery-medium.js
3
- var battery_medium_default = ({ radius }) => [...shell(radius), level(.55)];
3
+ var battery_medium_default = ({ radius }) => [...shell(radius), level(.55, radius)];
4
4
  //#endregion
5
5
  export { battery_medium_default as default };
@@ -5,7 +5,8 @@ var wing = (cx, cy, deg) => rotate(`M${cx - 3.5} ${cy}A3.5 2 0 1 0 ${cx + 3.5} $
5
5
  var rad = (d) => d * Math.PI / 180;
6
6
  var antenna = (deg) => {
7
7
  const p = (r) => `${+(12 + r * Math.cos(rad(deg))).toFixed(3)} ${+(4.5 + r * Math.sin(rad(deg))).toFixed(3)}`;
8
- return `M${p(1)}L${p(4)}`;
8
+ const c = `${+(12 + 2.5 * Math.cos(rad(deg))).toFixed(3)} ${+(4.5 + 2.5 * Math.sin(rad(deg)) - .75).toFixed(3)}`;
9
+ return `M${p(1)}Q${c} ${p(4.25)}`;
9
10
  };
10
11
  var bee_default = () => [
11
12
  {
@@ -14,7 +15,7 @@ var bee_default = () => [
14
15
  },
15
16
  antenna(-130),
16
17
  antenna(-50),
17
- "M8.5 12A3.5 3.5 0 0 1 15.5 12V16L12 20.5L8.5 16Z",
18
+ "M8.5 12A3.5 3.5 0 0 1 15.5 12V15C15.5 17.25 13.75 19.25 12 20.5C10.25 19.25 8.5 17.25 8.5 15Z",
18
19
  "M8.5 12.5H15.5",
19
20
  "M8.5 14.5H15.5",
20
21
  wing(5, 10, -25),
@@ -1,20 +1,12 @@
1
- import { circle, rounded } from "../geometry.js";
1
+ import { circle } from "../geometry.js";
2
2
  //#region src/icons/bike.js
3
- var bike_default = ({ radius }) => [
3
+ var bike_default = () => [
4
4
  circle(5.5, 16.5, 4),
5
5
  circle(18.5, 16.5, 4),
6
- rounded([
7
- [5.5, 16.5],
8
- [11.5, 16.5],
9
- [11.5, 9.5]
10
- ], 0),
11
- rounded([
12
- [11.5, 16.5],
13
- [15.5, 9.5],
14
- [11.5, 9.5]
15
- ], 0),
6
+ "M5.5 16.5H11.5L15.5 9.5",
16
7
  "M18.5 16.5L15.5 9.5L14.64 7.5H17",
17
- "M11.5 9.5V7.5H9"
8
+ "M11.5 16.5V9.5",
9
+ "M9.5 9.5H13"
18
10
  ];
19
11
  //#endregion
20
12
  export { bike_default as default };
@@ -1,12 +1,12 @@
1
1
  import { circle } from "../geometry.js";
2
- import { glyph } from "../letters.js";
2
+ import { LABEL, glyph } from "../letters.js";
3
3
  import { ring } from "../marks.js";
4
4
  //#region src/icons/billiards.js
5
5
  var billiards_default = ({ radius }) => [
6
6
  ring(),
7
7
  circle(12, 11, 4.25),
8
8
  {
9
- d: glyph("8", 10.25, 8, 1),
9
+ d: glyph("8", 10.25, 8, 1, 1, LABEL),
10
10
  thin: true
11
11
  }
12
12
  ];
@@ -1,12 +1,12 @@
1
1
  import { circle } from "../geometry.js";
2
- import { glyph } from "../letters.js";
2
+ import { LABEL, glyph } from "../letters.js";
3
3
  import { ring } from "../marks.js";
4
4
  //#region src/icons/bingo.js
5
5
  var bingo_default = ({ radius }) => [
6
6
  ring(),
7
7
  circle(12, 12, 5),
8
8
  {
9
- d: glyph("7", 10.25, 9, 1),
9
+ d: glyph("7", 10.25, 9, 1, 1, LABEL),
10
10
  thin: true
11
11
  }
12
12
  ];
@@ -0,0 +1,12 @@
1
+ import hexagon_default from "./hexagon.js";
2
+ //#region src/icons/c.js
3
+ var [cx, cy, r] = [
4
+ 12,
5
+ 12,
6
+ 4.5
7
+ ];
8
+ var a = Math.PI / 4;
9
+ var [dx, dy] = [r * Math.cos(a), r * Math.sin(a)].map((v) => +v.toFixed(3));
10
+ var c_default = (opts) => [...hexagon_default(opts), `M${cx + dx} ${cy - dy}A${r} ${r} 0 1 0 ${cx + dx} ${cy + dy}`];
11
+ //#endregion
12
+ export { c_default as default };
@@ -1,4 +1,4 @@
1
- import { glyph } from "../letters.js";
1
+ import { LABEL, glyph } from "../letters.js";
2
2
  import { card } from "../game-card.js";
3
3
  //#region src/icons/card-plus-four.js
4
4
  var card_plus_four_default = ({ radius }) => [
@@ -12,7 +12,7 @@ var card_plus_four_default = ({ radius }) => [
12
12
  thin: true
13
13
  },
14
14
  {
15
- d: glyph("4", 12.5, 9.4, .7),
15
+ d: glyph("4", 12.5, 9.4, .7, .7, LABEL),
16
16
  thin: true
17
17
  }
18
18
  ];
@@ -1,4 +1,4 @@
1
- import { glyph } from "../letters.js";
1
+ import { LABEL, glyph } from "../letters.js";
2
2
  import { card } from "../game-card.js";
3
3
  //#region src/icons/card-plus-two.js
4
4
  var card_plus_two_default = ({ radius }) => [
@@ -12,7 +12,7 @@ var card_plus_two_default = ({ radius }) => [
12
12
  thin: true
13
13
  },
14
14
  {
15
- d: glyph("2", 12.25, 9.4, .7),
15
+ d: glyph("2", 12.25, 9.4, .7, .7, LABEL),
16
16
  thin: true
17
17
  }
18
18
  ];
@@ -1,4 +1,4 @@
1
- import { eye } from "../scene.js";
1
+ import { eye, softEar } from "../scene.js";
2
2
  //#region src/icons/cat.js
3
3
  var [cx, cy, rx, ry] = [
4
4
  12,
@@ -7,9 +7,10 @@ var [cx, cy, rx, ry] = [
7
7
  6.5
8
8
  ];
9
9
  var rad = (d) => d * Math.PI / 180;
10
- var P = (d, k = 1) => `${+(cx + rx * k * Math.cos(rad(d))).toFixed(3)} ${+(cy + ry * k * Math.sin(rad(d))).toFixed(3)}`;
10
+ var Q = (d, k = 1) => [cx + rx * k * Math.cos(rad(d)), cy + ry * k * Math.sin(rad(d))];
11
+ var P = (d, k = 1) => Q(d, k).map((v) => +v.toFixed(3)).join(" ");
11
12
  var cat_default = () => [
12
- `M${P(-160)}L${P(-132, 1.7)}L${P(-100)}A${rx} ${ry} 0 0 1 ${P(-80)}L${P(-48, 1.7)}L${P(-20)}A${rx} ${ry} 0 1 1 ${P(-160)}Z`,
13
+ `M${P(-160)}${softEar(Q(-160), Q(-132, 1.85), Q(-100), 1.12)}A${rx} ${ry} 0 0 1 ${P(-80)}${softEar(Q(-80), Q(-48, 1.85), Q(-20), 1.12)}A${rx} ${ry} 0 1 1 ${P(-160)}Z`,
13
14
  eye(8.75, 12.5, 2.5),
14
15
  eye(15.25, 12.5, 2.5),
15
16
  {
@@ -0,0 +1,21 @@
1
+ import hexagon_default from "./hexagon.js";
2
+ //#region src/icons/cpp.js
3
+ var [cx, cy, r] = [
4
+ 9,
5
+ 12.5,
6
+ 3.25
7
+ ];
8
+ var a = 50 * Math.PI / 180;
9
+ var [dx, dy] = [r * Math.cos(a), r * Math.sin(a)].map((v) => +v.toFixed(3));
10
+ var plus = (x) => ({
11
+ d: `M${x - 1} ${cy}H${x + 1}M${x} ${cy - 1}V${cy + 1}`,
12
+ detail: true
13
+ });
14
+ var cpp_default = (opts) => [
15
+ ...hexagon_default(opts),
16
+ `M${cx + dx} ${cy - dy}A${r} ${r} 0 1 0 ${cx + dx} ${cy + dy}`,
17
+ plus(13.5),
18
+ plus(17.5)
19
+ ];
20
+ //#endregion
21
+ export { cpp_default as default };
@@ -0,0 +1,17 @@
1
+ import hexagon_default from "./hexagon.js";
2
+ //#region src/icons/csharp.js
3
+ var [cx, cy, r] = [
4
+ 9.25,
5
+ 12,
6
+ 3.25
7
+ ];
8
+ var a = 50 * Math.PI / 180;
9
+ var [dx, dy] = [r * Math.cos(a), r * Math.sin(a)].map((v) => +v.toFixed(3));
10
+ var csharp_default = (opts) => [
11
+ ...hexagon_default(opts),
12
+ `M${cx + dx} ${cy - dy}A${r} ${r} 0 1 0 ${cx + dx} ${cy + dy}`,
13
+ "M14.5 9.5V14.5M17.5 9.5V14.5",
14
+ "M13.5 10.5H18.5M13.5 13.5H18.5"
15
+ ];
16
+ //#endregion
17
+ export { csharp_default as default };
@@ -1,5 +1,5 @@
1
1
  import { rounded } from "../geometry.js";
2
- import { glyph } from "../letters.js";
2
+ import { LABEL, glyph } from "../letters.js";
3
3
  //#region src/icons/element.js
4
4
  var element_default = ({ radius }) => [
5
5
  rounded([
@@ -9,10 +9,10 @@ var element_default = ({ radius }) => [
9
9
  [3.5, 20.5]
10
10
  ], Math.min(radius, 2.5)),
11
11
  {
12
- d: glyph("1", 5.5, 5.25, .6),
12
+ d: glyph("1", 5.5, 5.25, .6, .6, LABEL),
13
13
  thin: true
14
14
  },
15
- glyph("H", 9.5, 8, 10 / 7, 1.5)
15
+ glyph("H", 9.5, 8, 10 / 7, 1.5, LABEL)
16
16
  ];
17
17
  //#endregion
18
18
  export { element_default as default };
@@ -2,8 +2,8 @@ import { cloud } from "../symbols.js";
2
2
  //#region src/icons/fog.js
3
3
  var fog_default = () => [
4
4
  ...cloud([12, 9.5], 2.2),
5
- "M5 17.5H19",
6
- "M8 20.5H16"
5
+ "M5 18.5H19",
6
+ "M8 21.5H16"
7
7
  ];
8
8
  //#endregion
9
9
  export { fog_default as default };
@@ -0,0 +1,10 @@
1
+ import { glyph, snap } from "../letters.js";
2
+ //#region src/icons/golang.js
3
+ var golang_default = () => [
4
+ "M3.5 9.5H5.5",
5
+ "M2.5 12.5H6",
6
+ "M3.5 15.5H5",
7
+ ...snap([glyph("G", 8.5, 7.5, 1.4, 1.5), glyph("O", 15.4, 7.5, 1.4, 1.5)])
8
+ ];
9
+ //#endregion
10
+ export { golang_default as default };
@@ -0,0 +1,10 @@
1
+ //#region src/icons/haskell.js
2
+ var haskell_default = () => [
3
+ "M3.5 5L8 12L3.5 19",
4
+ "M8 5L17 19",
5
+ "M12.5 12L8 19",
6
+ "M14 9.5H20.5",
7
+ "M16.5 13.5H20.5"
8
+ ];
9
+ //#endregion
10
+ export { haskell_default as default };
@@ -1,6 +1,10 @@
1
- import { code } from "../symbols.js";
2
1
  import window_default from "./window.js";
3
2
  //#region src/icons/html.js
4
- var html_default = (opts) => [...window_default(opts), ...code([12, 14.25], 1, opts.radius).map((p) => p.d ?? p)];
3
+ var html_default = (opts) => [
4
+ ...window_default(opts),
5
+ "M9 11L6 14L9 17",
6
+ "M15 11L18 14L15 17",
7
+ "M13 10.5L11 17.5"
8
+ ];
5
9
  //#endregion
6
10
  export { html_default as default };
@@ -0,0 +1,10 @@
1
+ //#region src/icons/java.js
2
+ var java_default = () => [
3
+ "M5.5 10.5H16.5V13.5A4 4 0 0 1 12.5 17.5H9.5A4 4 0 0 1 5.5 13.5Z",
4
+ "M16.5 11.5H17A1.5 1.5 0 0 1 17 14.5H16.5",
5
+ "M3.5 20.5H18.5",
6
+ "M10 2.5C8 4.25 12 5.75 10 8",
7
+ "M13.5 4.5C12.5 5.5 14.5 6.75 13.5 8"
8
+ ];
9
+ //#endregion
10
+ export { java_default as default };
@@ -0,0 +1,14 @@
1
+ import { rounded } from "../geometry.js";
2
+ import { LABEL, line, snap } from "../letters.js";
3
+ //#region src/icons/javascript.js
4
+ var javascript_default = ({ radius }) => [rounded([
5
+ [3.5, 3.5],
6
+ [20.5, 3.5],
7
+ [20.5, 20.5],
8
+ [3.5, 20.5]
9
+ ], Math.min(radius, 2.5)), ...snap(line("JS", [12.5, 14], 1.2, 2.5, 1.2, LABEL)).map((d) => ({
10
+ d,
11
+ thin: true
12
+ }))];
13
+ //#endregion
14
+ export { javascript_default as default };
@@ -1,8 +1,8 @@
1
1
  import { dot } from "../scene.js";
2
- import code_braces_default from "./code-braces.js";
3
2
  //#region src/icons/json.js
4
3
  var json_default = () => [
5
- ...code_braces_default(),
4
+ "M8.5 4.5H7.5A1.5 1.5 0 0 0 6 6V10A2 2 0 0 1 4 12A2 2 0 0 1 6 14V18A1.5 1.5 0 0 0 7.5 19.5H8.5",
5
+ "M15.5 4.5H16.5A1.5 1.5 0 0 1 18 6V10A2 2 0 0 0 20 12A2 2 0 0 0 18 14V18A1.5 1.5 0 0 1 16.5 19.5H15.5",
6
6
  dot(9, 12),
7
7
  dot(12, 12),
8
8
  dot(15, 12)
@@ -0,0 +1,15 @@
1
+ import { crisp, rounded } from "../geometry.js";
2
+ //#region src/icons/kotlin.js
3
+ var kotlin_default = ({ radius }) => [rounded([
4
+ [3.5, 3.5],
5
+ [20.5, 3.5],
6
+ [
7
+ 12,
8
+ 12,
9
+ crisp(radius)
10
+ ],
11
+ [20.5, 20.5],
12
+ [3.5, 20.5]
13
+ ], Math.min(radius, 2.5))];
14
+ //#endregion
15
+ export { kotlin_default as default };
@@ -1,4 +1,4 @@
1
- import { glyph } from "../letters.js";
1
+ import { LABEL, glyph } from "../letters.js";
2
2
  //#region src/icons/list-ordered.js
3
3
  var rows = [
4
4
  5.5,
@@ -7,8 +7,9 @@ var rows = [
7
7
  ];
8
8
  var scale = .6;
9
9
  var list_ordered_default = () => [...rows.map((y, i) => ({
10
- d: glyph(String(i + 1), 3, y - 3 * scale, scale),
11
- detail: true
10
+ d: glyph(String(i + 1), 3, y - 3 * scale, scale, scale, LABEL),
11
+ detail: true,
12
+ thin: true
12
13
  })), ...rows.map((y) => `M9 ${y}H21`)];
13
14
  //#endregion
14
15
  export { list_ordered_default as default };
@@ -0,0 +1,9 @@
1
+ import { circle } from "../geometry.js";
2
+ //#region src/icons/lua.js
3
+ var lua_default = () => [
4
+ circle(10.5, 13.5, 7),
5
+ circle(12.5, 11.5, 1.75),
6
+ circle(18.5, 5.5, 2)
7
+ ];
8
+ //#endregion
9
+ export { lua_default as default };
@@ -1,10 +1,10 @@
1
1
  import { circle } from "../geometry.js";
2
- import { crispGlyph } from "../letters.js";
2
+ import { LABEL, crispGlyph } from "../letters.js";
3
3
  //#region src/icons/medal-1.js
4
4
  var medal_1_default = () => [
5
5
  "M10.1 9.57L7 2.5H10.5L12 6L13.5 2.5H17L13.9 9.57",
6
6
  circle(12, 15, 5.75),
7
- crispGlyph("1", 10.5, 11.5, 1)
7
+ crispGlyph("1", 10.25, 11.5, 1, 1, LABEL)
8
8
  ];
9
9
  //#endregion
10
10
  export { medal_1_default as default };
@@ -1,10 +1,10 @@
1
1
  import { circle } from "../geometry.js";
2
- import { crispGlyph } from "../letters.js";
2
+ import { LABEL, crispGlyph } from "../letters.js";
3
3
  //#region src/icons/medal-2.js
4
4
  var medal_2_default = () => [
5
5
  "M10.1 9.57L7 2.5H10.5L12 6L13.5 2.5H17L13.9 9.57",
6
6
  circle(12, 15, 5.75),
7
- crispGlyph("2", 10.25, 11.5, 1)
7
+ crispGlyph("2", 10.25, 11.5, 1, 1, LABEL)
8
8
  ];
9
9
  //#endregion
10
10
  export { medal_2_default as default };
@@ -1,10 +1,10 @@
1
1
  import { circle } from "../geometry.js";
2
- import { crispGlyph } from "../letters.js";
2
+ import { LABEL, crispGlyph } from "../letters.js";
3
3
  //#region src/icons/medal-3.js
4
4
  var medal_3_default = () => [
5
5
  "M10.1 9.57L7 2.5H10.5L12 6L13.5 2.5H17L13.9 9.57",
6
6
  circle(12, 15, 5.75),
7
- crispGlyph("3", 10.25, 11.5, 1)
7
+ crispGlyph("3", 10.25, 11.5, 1, 1, LABEL)
8
8
  ];
9
9
  //#endregion
10
10
  export { medal_3_default as default };
@@ -1,16 +1,16 @@
1
- import { rotate } from "../transform.js";
2
1
  import { rounded } from "../geometry.js";
3
2
  //#region src/icons/microscope.js
4
3
  var microscope_default = ({ radius }) => [
5
- rotate(rounded([
6
- [9, 2.5],
7
- [12.5, 2.5],
8
- [12.5, 12],
9
- [9, 12]
10
- ], Math.min(radius, 1)), -30, [10.75, 7.25]),
11
- "M14.25 11.5C17.5 12 19 14.5 19 17C19 18.5 18 19.75 16.5 20.5",
12
- "M7 15.5H14",
13
- "M5.5 20.5H18.5"
4
+ rounded([
5
+ [8.5, 5.5],
6
+ [12.5, 5.5],
7
+ [12.5, 12.5],
8
+ [8.5, 12.5]
9
+ ], Math.min(radius, 1)),
10
+ "M9.5 5.5V2.5H11.5V5.5",
11
+ "M10.5 12.5V14",
12
+ "M5.5 16.5H15.5",
13
+ "M12.5 7.5H14.5A6.5 6.5 0 0 1 14.5 20.5H5.5"
14
14
  ];
15
15
  //#endregion
16
16
  export { microscope_default as default };
@@ -1,11 +1,11 @@
1
1
  import { dot } from "../scene.js";
2
2
  //#region src/icons/mushroom.js
3
3
  var mushroom_default = () => [
4
- "M3.5 12.5C3.5 7.5 7.25 4 12 4C16.75 4 20.5 7.5 20.5 12.5Z",
5
- "M9.5 12.5V18.5C9.5 19.75 10.5 20.5 12 20.5C13.5 20.5 14.5 19.75 14.5 18.5V12.5",
6
- dot(8, 9),
7
- dot(12, 7.5),
8
- dot(16, 9)
4
+ "M3.5 11.5C3.5 6.75 7.25 3.5 12 3.5C16.75 3.5 20.5 6.75 20.5 11.5C20.5 12.75 19.75 13.5 18.5 13.25C14.25 12.25 9.75 12.25 5.5 13.25C4.25 13.5 3.5 12.75 3.5 11.5Z",
5
+ "M9.75 12.6C9.5 15 9 17.5 9.5 19.25C9.75 20.1 10.75 20.5 12 20.5C13.25 20.5 14.25 20.1 14.5 19.25C15 17.5 14.5 15 14.25 12.6",
6
+ dot(8, 8.5),
7
+ dot(12, 6.75),
8
+ dot(16, 8.5)
9
9
  ];
10
10
  //#endregion
11
11
  export { mushroom_default as default };
@@ -0,0 +1,8 @@
1
+ import { LABEL, line, snap } from "../letters.js";
2
+ //#region src/icons/php.js
3
+ var php_default = () => ["M2 12A10 7.5 0 0 1 22 12A10 7.5 0 0 1 2 12Z", ...snap(line("PHP", [12, 12], .7, 2.25, .98, LABEL)).map((d) => ({
4
+ d,
5
+ thin: true
6
+ }))];
7
+ //#endregion
8
+ export { php_default as default };
@@ -1,4 +1,4 @@
1
- import { dot, eye } from "../scene.js";
1
+ import { dot, eye, softEar } from "../scene.js";
2
2
  //#region src/icons/pig.js
3
3
  var [cx, cy, R] = [
4
4
  12,
@@ -6,9 +6,10 @@ var [cx, cy, R] = [
6
6
  7.5
7
7
  ];
8
8
  var rad = (d) => d * Math.PI / 180;
9
- var P = (d, r = R) => `${+(cx + r * Math.cos(rad(d))).toFixed(3)} ${+(cy + r * Math.sin(rad(d))).toFixed(3)}`;
9
+ var Q = (d, r = R) => [cx + r * Math.cos(rad(d)), cy + r * Math.sin(rad(d))];
10
+ var P = (d, r = R) => Q(d, r).map((v) => +v.toFixed(3)).join(" ");
10
11
  var pig_default = () => [
11
- `M${P(-150)}L${P(-138, R + 4.25)}L${P(-108)}A${R} ${R} 0 0 1 ${P(-72)}L${P(-42, R + 4.25)}L${P(-30)}A${R} ${R} 0 1 1 ${P(-150)}Z`,
12
+ `M${P(-150)}${softEar(Q(-150), Q(-138, R + 5), Q(-108), 1.1)}A${R} ${R} 0 0 1 ${P(-72)}${softEar(Q(-72), Q(-42, R + 5), Q(-30), 1.1)}A${R} ${R} 0 1 1 ${P(-150)}Z`,
12
13
  "M8.5 15.5A3.5 2.5 0 1 0 15.5 15.5A3.5 2.5 0 1 0 8.5 15.5Z",
13
14
  dot(10.75, 15.5, 1.25),
14
15
  dot(13.25, 15.5, 1.25),
@@ -0,0 +1,25 @@
1
+ import { dot } from "../scene.js";
2
+ import { rounded } from "../geometry.js";
3
+ //#region src/icons/python.js
4
+ var python_default = ({ radius }) => [
5
+ rounded([
6
+ [8.5, 16.5],
7
+ [3.5, 16.5],
8
+ [3.5, 8.5],
9
+ [8.5, 8.5],
10
+ [8.5, 4.5],
11
+ [15.5, 4.5],
12
+ [15.5, 12.5],
13
+ [8.5, 12.5],
14
+ [8.5, 20.5],
15
+ [15.5, 20.5],
16
+ [15.5, 16.5],
17
+ [20.5, 16.5],
18
+ [20.5, 8.5],
19
+ [15.5, 8.5]
20
+ ], Math.min(radius, 2), false),
21
+ dot(11, 7),
22
+ dot(13, 18)
23
+ ];
24
+ //#endregion
25
+ export { python_default as default };
@@ -0,0 +1,16 @@
1
+ import { rounded } from "../geometry.js";
2
+ //#region src/icons/ruby.js
3
+ var ruby_default = ({ radius }) => [
4
+ rounded([
5
+ [7.5, 4.5],
6
+ [16.5, 4.5],
7
+ [20.5, 9.5],
8
+ [12, 20.5],
9
+ [3.5, 9.5]
10
+ ], Math.min(radius, 1)),
11
+ "M3.5 9.5H20.5",
12
+ "M7.5 4.5L9.5 9.5L12 4.5L14.5 9.5L16.5 4.5",
13
+ "M9.5 9.5L12 20.5L14.5 9.5"
14
+ ];
15
+ //#endregion
16
+ export { ruby_default as default };
@@ -0,0 +1,16 @@
1
+ import { circle } from "../geometry.js";
2
+ import { LABEL, glyph, snap } from "../letters.js";
3
+ //#region src/icons/rust.js
4
+ var [cx, cy] = [12, 12];
5
+ var teeth = Array.from({ length: 16 }, (_, i) => {
6
+ const a = (i + .5) * Math.PI / 8;
7
+ const p = (r) => `${+(cx + r * Math.sin(a)).toFixed(3)} ${+(cy - r * Math.cos(a)).toFixed(3)}`;
8
+ return `M${p(7)}L${p(9)}`;
9
+ }).join("");
10
+ var rust_default = () => [
11
+ circle(cx, cy, 7),
12
+ teeth,
13
+ snap(glyph("R", cx - 2.1, cy - 3.9, 1.2, 1.3, LABEL))
14
+ ];
15
+ //#endregion
16
+ export { rust_default as default };
@@ -1,14 +1,9 @@
1
- import { circle, rounded } from "../geometry.js";
1
+ import { circle } from "../geometry.js";
2
2
  //#region src/icons/scooter.js
3
- var scooter_default = ({ radius }) => [
3
+ var scooter_default = () => [
4
4
  circle(6, 18.5, 2.5),
5
5
  circle(19, 18.5, 2.5),
6
- rounded([
7
- [4.5, 14.5],
8
- [14.5, 14.5],
9
- [14.5, 16.5],
10
- [4.5, 16.5]
11
- ], 0),
6
+ "M3.5 14H15.5",
12
7
  "M19 18.5L16.5 4.5H13.5"
13
8
  ];
14
9
  //#endregion
@@ -1,5 +1,5 @@
1
1
  import { rounded } from "../geometry.js";
2
- import { glyph } from "../letters.js";
2
+ import { LABEL, glyph } from "../letters.js";
3
3
  //#region src/icons/sudoku.js
4
4
  var S = .5;
5
5
  var sudoku_default = ({ radius }) => [
@@ -14,7 +14,7 @@ var sudoku_default = ({ radius }) => [
14
14
  "M3.5 8.5H20.5",
15
15
  "M3.5 15.5H20.5",
16
16
  {
17
- d: glyph("5", 12 - 1.75 * S, 12 - 3 * S, S),
17
+ d: glyph("5", 12 - 1.75 * S, 12 - 3 * S, S, S, LABEL),
18
18
  thin: true
19
19
  }
20
20
  ];
@@ -0,0 +1,4 @@
1
+ //#region src/icons/swift.js
2
+ var swift_default = () => ["M20 19C21.5 14.5 20 8 14.5 3.5C17 8.5 16.5 12 14.5 14C11.5 12.5 7 9 3.5 5C5.5 8.5 7.5 11 9.5 13C7 12 5 11 3 10C6 15.5 11 19 16.5 18.5C18 18.5 19.5 19 20.5 20.5"];
3
+ //#endregion
4
+ export { swift_default as default };