@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.
- package/CHANGELOG.md +44 -0
- package/README.md +6 -4
- package/dist/cjs/iconParts.js +6 -0
- package/dist/cjs/icons/actions.js +3 -3
- package/dist/cjs/icons/business.js +210 -64
- package/dist/cjs/icons/devtech.js +59 -63
- package/dist/cjs/icons/ecommerce.js +0 -62
- package/dist/cjs/icons/files.js +38 -88
- package/dist/cjs/icons/fintech.js +4 -3
- package/dist/cjs/icons/food.js +118 -65
- package/dist/cjs/icons/health.js +55 -70
- package/dist/cjs/icons/index.js +12 -1
- package/dist/cjs/icons/omniverk.js +3 -3
- package/dist/cjs/icons/realestate.js +100 -96
- package/dist/cjs/icons/science.js +74 -36
- package/dist/cjs/icons/smarthome.js +56 -65
- package/dist/cjs/icons/ui.js +44 -29
- package/dist/cjs/index.js +12 -1
- package/dist/esm/iconParts.js +6 -0
- package/dist/esm/icons/actions.js +3 -3
- package/dist/esm/icons/business.js +210 -64
- package/dist/esm/icons/devtech.js +60 -64
- package/dist/esm/icons/ecommerce.js +1 -63
- package/dist/esm/icons/files.js +38 -88
- package/dist/esm/icons/fintech.js +4 -3
- package/dist/esm/icons/food.js +119 -66
- package/dist/esm/icons/health.js +56 -71
- package/dist/esm/icons/index.js +18 -7
- package/dist/esm/icons/omniverk.js +4 -4
- package/dist/esm/icons/realestate.js +100 -96
- package/dist/esm/icons/science.js +75 -37
- package/dist/esm/icons/smarthome.js +56 -65
- package/dist/esm/icons/ui.js +45 -30
- package/dist/esm/index.js +18 -7
- package/dist/types/iconParts.d.ts +9 -0
- package/dist/types/icons/business.d.ts +2 -0
- package/dist/types/icons/devtech.d.ts +22 -0
- package/dist/types/icons/ecommerce.d.ts +0 -1
- package/dist/types/icons/food.d.ts +4 -0
- package/dist/types/icons/index.d.ts +7 -7
- package/dist/types/icons/realestate.d.ts +2 -0
- package/dist/types/icons/smarthome.d.ts +1 -0
- package/dist/types/icons/ui.d.ts +2 -0
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,49 @@
|
|
|
1
1
|
# @nice2dev/icons — Changelog
|
|
2
2
|
|
|
3
|
+
## 1.4.2
|
|
4
|
+
|
|
5
|
+
No changes in this release.
|
|
6
|
+
|
|
7
|
+
## 1.4.1
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- 0513eac: Icons, showcase feedback round 42.
|
|
12
|
+
|
|
13
|
+
New icons:
|
|
14
|
+
|
|
15
|
+
- `NtdKnife`: a kitchen knife.
|
|
16
|
+
- `NtdCookingPan`: a frying pan, side view.
|
|
17
|
+
- `NtdCash`: a flat banknote.
|
|
18
|
+
- `NtdCashStack`: three notes.
|
|
19
|
+
- `NtdRefrigerator`.
|
|
20
|
+
- `NtdShelfRack`: a storage rack with boxes.
|
|
21
|
+
- The battery set: `NtdBatteryQuarter`, `NtdBatteryHalf`, `NtdBatteryThreeQuarters` and `NtdBatteryFull`, from the same factory as `NtdBattery`.
|
|
22
|
+
- `batteryIconFor(level)` returns the step for a 0–1 charge level, rounded to the nearest quarter.
|
|
23
|
+
|
|
24
|
+
Redrawn icons:
|
|
25
|
+
|
|
26
|
+
- `NtdPlanet`: the ring is one band, with no arcs across it at the sides.
|
|
27
|
+
- `NtdWallet`: a low, wide back pocket.
|
|
28
|
+
- `NtdMap`: a folded map with a dashed route and an X.
|
|
29
|
+
- `NtdLayers`: the top layer is a slab as thick as the others.
|
|
30
|
+
- `NtdCopy`: the back sheet is a little bigger.
|
|
31
|
+
- `NtdTrash`: a flat lid and a narrower, taller handle.
|
|
32
|
+
- `NtdDna`: denser, thinner base pairs.
|
|
33
|
+
- `NtdBitcoin`: 2× the stroke width.
|
|
34
|
+
- `NtdTruck`: a lower box and thinner wheel rings.
|
|
35
|
+
- `NtdNuke`: a mushroom cap with a curved underside.
|
|
36
|
+
- `NtdTarget`: even gaps between the rings at any stroke width.
|
|
37
|
+
- `NtdCoffeeFood`: a smaller handle and saucer, and three thinner wisps.
|
|
38
|
+
- `NtdPiggyBank`: drawn anew.
|
|
39
|
+
- `NtdHeartPulse`: the line meets the heart's edge in every variant.
|
|
40
|
+
- `NtdBattery`: empty, with the terminal on the body.
|
|
41
|
+
- `NtdTemperatureSensor`: a bigger bulb and a thin, tall column.
|
|
42
|
+
- `NtdWarehouse`: a hall with boxes in the doorway.
|
|
43
|
+
- `NtdForkKnife`: NtdFood's fork and knife, without the plate.
|
|
44
|
+
|
|
45
|
+
`NtdWishlist` is now a deprecated alias of `NtdHeart`.
|
|
46
|
+
|
|
3
47
|
## 1.4.0
|
|
4
48
|
|
|
5
49
|
No changes in this release.
|
package/README.md
CHANGED
|
@@ -526,17 +526,19 @@ Properties passed to every path renderer (pre-resolved from user props):
|
|
|
526
526
|
|
|
527
527
|
`NtdArrowUpCircle` · `NtdArrowDownCircle` · `NtdArrowLeftCircle` · `NtdArrowRightCircle` · `NtdSquare` · `NtdCircle` · `NtdTriangle` · `NtdHexagon` · `NtdOctagon` · `NtdDiamond` · `NtdPentagon` · `NtdCross` · `NtdStar4` · `NtdCornerUpLeft` · `NtdCornerUpRight` · `NtdCornerDownLeft` · `NtdCornerDownRight` · `NtdMaximize` · `NtdMinimize` · `NtdMove` · `NtdRepeat` · `NtdShuffle`
|
|
528
528
|
|
|
529
|
-
### Business & Finance (
|
|
529
|
+
### Business & Finance (18 icons)
|
|
530
530
|
|
|
531
|
-
`NtdBriefcase` · `NtdDollar` · `NtdWallet` · `NtdReceipt` · `NtdBank` · `NtdTrendUp` · `NtdTrendDown` · `NtdPercent` · `NtdInvoice` · `NtdStore` · `NtdBarcode` · `NtdCalculator` · `NtdPresentation` · `NtdClipboardCheck` · `NtdPiggyBank` · `NtdCoins`
|
|
531
|
+
`NtdBriefcase` · `NtdDollar` · `NtdWallet` · `NtdReceipt` · `NtdBank` · `NtdTrendUp` · `NtdTrendDown` · `NtdPercent` · `NtdInvoice` · `NtdStore` · `NtdBarcode` · `NtdCalculator` · `NtdPresentation` · `NtdClipboardCheck` · `NtdPiggyBank` · `NtdCoins` · `NtdCash` · `NtdCashStack`
|
|
532
532
|
|
|
533
533
|
### Social & Communication (8 icons)
|
|
534
534
|
|
|
535
535
|
`NtdAtSign` · `NtdPhoneOff` · `NtdBubble` · `NtdThumbsUp` · `NtdThumbsDown` · `NtdBellRing` · `NtdMegaphone` · `NtdQrCode`
|
|
536
536
|
|
|
537
|
-
### Dev & Tech (
|
|
537
|
+
### Dev & Tech (13 icons)
|
|
538
538
|
|
|
539
|
-
`NtdBrackets` · `NtdServer` · `NtdGitBranch` · `NtdGitCommit` · `NtdGitMerge` · `NtdBattery` · `NtdSlash` · `NtdHash` · `NtdBugDev`
|
|
539
|
+
`NtdBrackets` · `NtdServer` · `NtdGitBranch` · `NtdGitCommit` · `NtdGitMerge` · `NtdBattery` · `NtdBatteryQuarter` · `NtdBatteryHalf` · `NtdBatteryThreeQuarters` · `NtdBatteryFull` · `NtdSlash` · `NtdHash` · `NtdBugDev`
|
|
540
|
+
|
|
541
|
+
The battery levels for live data: `batteryIconFor(level)` (0–1) returns the nearest quarter's icon.
|
|
540
542
|
|
|
541
543
|
### Food & Health (13 icons)
|
|
542
544
|
|
package/dist/cjs/iconParts.js
CHANGED
|
@@ -23,6 +23,9 @@ function within(uid, name, shape, content) {
|
|
|
23
23
|
/* @__PURE__ */ jsxRuntime.jsx("g", { clipPath: `url(#${id})`, children: content })
|
|
24
24
|
] });
|
|
25
25
|
}
|
|
26
|
+
const CUTLERY_FORK = "M1 3H1.6V7H2.2V3H2.8V7H3.4V3H4V7.2C4 8.4 3.4 9.1 3 9.3V20.5A0.5 0.5 0 0 1 2 20.5V9.3C1.6 9.1 1 8.4 1 7.2Z";
|
|
27
|
+
const CUTLERY_KNIFE = "M20.2 3C22.4 4.2 23 8.2 22.6 12.6H21.9V20.4A0.75 0.75 0 0 1 20.4 20.4V12.6H20.2Z";
|
|
28
|
+
const CUTLERY_FORK_LINES = "M1.3 3V6.8C1.3 8.2 2.5 8.9 2.5 9.4M3.7 3V6.8C3.7 8.2 2.5 8.9 2.5 9.4M2.5 3V20.6";
|
|
26
29
|
const BELL = "M18 8A6 6 0 006 8c0 7-3 9-3 9h18s-3-2-3-9z";
|
|
27
30
|
const BELL_CLAPPER = "M9 18.5h6a3 3 0 01-6 0z";
|
|
28
31
|
const BELL_CLAPPER_LINE = "M9 19a3 3 0 006 0";
|
|
@@ -127,6 +130,9 @@ function paperIcon(displayName, text = "") {
|
|
|
127
130
|
}
|
|
128
131
|
});
|
|
129
132
|
}
|
|
133
|
+
exports.CUTLERY_FORK = CUTLERY_FORK;
|
|
134
|
+
exports.CUTLERY_FORK_LINES = CUTLERY_FORK_LINES;
|
|
135
|
+
exports.CUTLERY_KNIFE = CUTLERY_KNIFE;
|
|
130
136
|
exports.bellIcon = bellIcon;
|
|
131
137
|
exports.detailColor = detailColor;
|
|
132
138
|
exports.paperIcon = paperIcon;
|
|
@@ -150,8 +150,8 @@ const NtdEditDetail = /* @__PURE__ */ createIcon.createIcon({
|
|
|
150
150
|
] })
|
|
151
151
|
}
|
|
152
152
|
});
|
|
153
|
-
const TRASH_LID = "M4
|
|
154
|
-
const TRASH_HANDLE = "M9
|
|
153
|
+
const TRASH_LID = "M4 6H20";
|
|
154
|
+
const TRASH_HANDLE = "M9.5 6V3.5a1.5 1.5 0 011.5-1.5h2a1.5 1.5 0 011.5 1.5V6";
|
|
155
155
|
const TRASH_BIN = "M5 6l1 14a2 2 0 002 2h8a2 2 0 002-2l1-14H5z";
|
|
156
156
|
const TRASH_GROOVES = "M10 10.5v7M14 10.5v7";
|
|
157
157
|
const NtdTrash = /* @__PURE__ */ createIcon.createIcon({
|
|
@@ -395,7 +395,7 @@ const NtdShare = /* @__PURE__ */ createIcon.createIcon({
|
|
|
395
395
|
}
|
|
396
396
|
});
|
|
397
397
|
const COPY_FRONT = { x: 8.5, y: 3, width: 12.5, height: 12.5, rx: 2.5 };
|
|
398
|
-
const COPY_BACK = { x: 3, y:
|
|
398
|
+
const COPY_BACK = { x: 3, y: 9.25, width: 11.75, height: 11.75, rx: 2.5 };
|
|
399
399
|
function copyBack(gap, square = false) {
|
|
400
400
|
const { x, y, width, height, rx } = COPY_BACK;
|
|
401
401
|
const top = COPY_FRONT.x - gap;
|
|
@@ -101,14 +101,23 @@ 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
|
|
104
|
+
const WALLET_BACK = "M4.5 8V5.6L19 4.2a1 1 0 011.1 1V8z";
|
|
105
|
+
const WALLET_BACK_LINE = "M4.5 6.5V5.6L19 4.2a1 1 0 011.1 1V6.5";
|
|
105
106
|
const WALLET_POCKET = "M22 10.5h-4.5a2.5 2.5 0 000 5H22z";
|
|
106
107
|
const WALLET_POCKET_LINE = "M22 10.5h-4.5a2.5 2.5 0 000 5H22";
|
|
107
108
|
const NtdWallet = /* @__PURE__ */ createIcon.createIcon({
|
|
108
109
|
displayName: "NtdWallet",
|
|
109
110
|
paths: {
|
|
111
|
+
// the back pocket is primary like the body: an accent gap (the body's edge, clipped to the pocket)
|
|
112
|
+
// parts the two
|
|
110
113
|
solid: ({ primaryColor, accentColor, accentOpacity, uid }) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
111
114
|
/* @__PURE__ */ jsxRuntime.jsx("path", { d: WALLET_BACK, fill: primaryColor }),
|
|
115
|
+
iconParts.within(
|
|
116
|
+
uid,
|
|
117
|
+
"back",
|
|
118
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { d: WALLET_BACK }),
|
|
119
|
+
/* @__PURE__ */ jsxRuntime.jsx("rect", { ...WALLET_BODY, stroke: accentColor, strokeWidth: 1.4, fill: "none" })
|
|
120
|
+
),
|
|
112
121
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { ...WALLET_BODY, fill: primaryColor }),
|
|
113
122
|
iconParts.within(
|
|
114
123
|
uid,
|
|
@@ -122,7 +131,7 @@ const NtdWallet = /* @__PURE__ */ createIcon.createIcon({
|
|
|
122
131
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
123
132
|
"path",
|
|
124
133
|
{
|
|
125
|
-
d:
|
|
134
|
+
d: WALLET_BACK_LINE,
|
|
126
135
|
stroke: primaryColor,
|
|
127
136
|
strokeWidth,
|
|
128
137
|
strokeLinejoin: "miter",
|
|
@@ -737,71 +746,78 @@ const NtdClipboardCheck = /* @__PURE__ */ createIcon.createIcon({
|
|
|
737
746
|
] })
|
|
738
747
|
}
|
|
739
748
|
});
|
|
740
|
-
const
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
749
|
+
const PIG_BODY = { cx: 11.5, cy: 13, rx: 7.5, ry: 6 };
|
|
750
|
+
const PIG_EAR = "M13.6 8.3C13.9 6.4 15 5.2 16.6 5.1C17.3 6.3 17.6 8.1 17.3 10.1Z";
|
|
751
|
+
const PIG_SNOUT = { x: 17.6, y: 10.6, width: 4.2, height: 5, rx: 2 };
|
|
752
|
+
const PIG_LEGS = "M6.2 16h2.6v4.2a.8.8 0 01-.8.8h-1a.8.8 0 01-.8-.8zM14.4 16h2.6v4.2a.8.8 0 01-.8.8h-1a.8.8 0 01-.8-.8z";
|
|
753
|
+
const PIG_TAIL = "M4.3 12c-1.5-.8-3-.1-3 1.3s1.3 1.7 2 1.1";
|
|
754
|
+
const PIG_SLOT = "M9.3 8.9h3.4";
|
|
755
|
+
const PIG_COIN = { cx: 11, cy: 4.1, r: 2.2 };
|
|
756
|
+
const PIG_OUTSIDE = "M-1-1H25V25H-1ZM4 13a7.5 6 0 1 0 15 0a7.5 6 0 1 0-15 0Z";
|
|
757
|
+
const PIG_OUTSIDE_SNOUT = "M-1-1H25V25H-1ZM19.6 10.6h.2a2 2 0 012 2v1a2 2 0 01-2 2h-.2a2 2 0 01-2-2v-1a2 2 0 012-2Z";
|
|
758
|
+
function piggyFace(eye, width) {
|
|
759
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
760
|
+
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "16.2", cy: "11", r: "0.85", fill: eye }),
|
|
761
|
+
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "19", cy: "13.1", r: "0.55", fill: eye }),
|
|
762
|
+
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "20.4", cy: "13.1", r: "0.55", fill: eye }),
|
|
763
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { d: PIG_SLOT, stroke: eye, strokeWidth: width })
|
|
764
|
+
] });
|
|
765
|
+
}
|
|
766
|
+
function piggyFilled({ primaryColor, accentColor, strokeWidth }, parts) {
|
|
767
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
768
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { d: PIG_LEGS, fill: parts }),
|
|
769
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { d: PIG_EAR, fill: parts }),
|
|
770
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { d: PIG_TAIL, stroke: primaryColor, strokeWidth: strokeWidth * 1.5, fill: "none" }),
|
|
771
|
+
/* @__PURE__ */ jsxRuntime.jsx("ellipse", { ...PIG_BODY, fill: primaryColor }),
|
|
772
|
+
/* @__PURE__ */ jsxRuntime.jsx("rect", { ...PIG_SNOUT, fill: parts }),
|
|
773
|
+
piggyFace(accentColor, strokeWidth * 1.2),
|
|
774
|
+
/* @__PURE__ */ jsxRuntime.jsx("circle", { ...PIG_COIN, fill: parts }),
|
|
775
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
776
|
+
"circle",
|
|
777
|
+
{
|
|
778
|
+
cx: PIG_COIN.cx,
|
|
779
|
+
cy: PIG_COIN.cy,
|
|
780
|
+
r: PIG_COIN.r - 0.8,
|
|
781
|
+
stroke: accentColor,
|
|
782
|
+
strokeWidth: strokeWidth * 0.6,
|
|
783
|
+
fill: "none"
|
|
784
|
+
}
|
|
785
|
+
)
|
|
786
|
+
] });
|
|
787
|
+
}
|
|
788
|
+
function piggyLines(color, width, uid) {
|
|
789
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
790
|
+
/* @__PURE__ */ jsxRuntime.jsxs("g", { stroke: color, strokeWidth: width, fill: "none", children: [
|
|
791
|
+
iconParts.within(
|
|
792
|
+
uid,
|
|
793
|
+
"parts",
|
|
794
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { d: PIG_OUTSIDE, clipRule: "evenodd" }),
|
|
795
|
+
/* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
796
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { d: PIG_LEGS }),
|
|
797
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { d: PIG_EAR })
|
|
798
|
+
] })
|
|
780
799
|
),
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
"
|
|
784
|
-
{
|
|
785
|
-
|
|
786
|
-
stroke: primaryColor,
|
|
787
|
-
strokeWidth,
|
|
788
|
-
fill: "none"
|
|
789
|
-
}
|
|
800
|
+
iconParts.within(
|
|
801
|
+
uid,
|
|
802
|
+
"body",
|
|
803
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { d: PIG_OUTSIDE_SNOUT, clipRule: "evenodd" }),
|
|
804
|
+
/* @__PURE__ */ jsxRuntime.jsx("ellipse", { ...PIG_BODY })
|
|
790
805
|
),
|
|
791
|
-
/* @__PURE__ */ jsxRuntime.jsx("
|
|
792
|
-
/* @__PURE__ */ jsxRuntime.jsx("path", { d:
|
|
793
|
-
/* @__PURE__ */ jsxRuntime.jsx("
|
|
806
|
+
/* @__PURE__ */ jsxRuntime.jsx("rect", { ...PIG_SNOUT }),
|
|
807
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { d: PIG_TAIL }),
|
|
808
|
+
/* @__PURE__ */ jsxRuntime.jsx("circle", { ...PIG_COIN })
|
|
794
809
|
] }),
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
810
|
+
piggyFace(color, width)
|
|
811
|
+
] });
|
|
812
|
+
}
|
|
813
|
+
const NtdPiggyBank = /* @__PURE__ */ createIcon.createIcon({
|
|
814
|
+
displayName: "NtdPiggyBank",
|
|
815
|
+
paths: {
|
|
816
|
+
// the wireframe re-draws this as lines: there the parts must not cross the body
|
|
817
|
+
solid: (props) => props.variant === "wireframe" ? piggyLines(props.primaryColor, 1, props.uid) : piggyFilled(props, props.primaryColor),
|
|
818
|
+
outline: ({ primaryColor, strokeWidth, uid }) => piggyLines(primaryColor, strokeWidth, uid),
|
|
819
|
+
duotone: (props) => piggyFilled(props, props.secondaryColor),
|
|
820
|
+
vivid: (props) => piggyFilled(props, props.secondaryColor)
|
|
805
821
|
}
|
|
806
822
|
});
|
|
807
823
|
const COIN_FRONT = { cx: 9.2, cy: 15, r: 6.5 };
|
|
@@ -868,6 +884,134 @@ const NtdCoins = /* @__PURE__ */ createIcon.createIcon({
|
|
|
868
884
|
vivid: ({ primaryColor, secondaryColor, accentColor, strokeWidth }) => coins(secondaryColor, primaryColor, accentColor, strokeWidth)
|
|
869
885
|
}
|
|
870
886
|
});
|
|
887
|
+
const NOTE_RX = 1.2;
|
|
888
|
+
const NOTE_GAP = 0.8;
|
|
889
|
+
function noteRect([x, y, w, h], grow = 0) {
|
|
890
|
+
return `M${x - grow} ${y - grow}h${w + 2 * grow}v${h + 2 * grow}h${-w - 2 * grow}Z`;
|
|
891
|
+
}
|
|
892
|
+
function noteDetails([x, y, w, h], color, width, discFilled) {
|
|
893
|
+
const r = h * 0.24;
|
|
894
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
895
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
896
|
+
"rect",
|
|
897
|
+
{
|
|
898
|
+
x: x + 1.3,
|
|
899
|
+
y: y + 1.3,
|
|
900
|
+
width: w - 2.6,
|
|
901
|
+
height: h - 2.6,
|
|
902
|
+
rx: "0.5",
|
|
903
|
+
stroke: color,
|
|
904
|
+
strokeWidth: width * 0.5,
|
|
905
|
+
fill: "none"
|
|
906
|
+
}
|
|
907
|
+
),
|
|
908
|
+
discFilled ? /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: x + w / 2, cy: y + h / 2, r, fill: color }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
909
|
+
"circle",
|
|
910
|
+
{
|
|
911
|
+
cx: x + w / 2,
|
|
912
|
+
cy: y + h / 2,
|
|
913
|
+
r,
|
|
914
|
+
stroke: color,
|
|
915
|
+
strokeWidth: width,
|
|
916
|
+
fill: "none"
|
|
917
|
+
}
|
|
918
|
+
)
|
|
919
|
+
] });
|
|
920
|
+
}
|
|
921
|
+
function notesFilled(notes, fills, rim, details, width) {
|
|
922
|
+
const front = notes[notes.length - 1];
|
|
923
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
924
|
+
notes.map((n, i) => {
|
|
925
|
+
const [x, y, w, h] = n;
|
|
926
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
|
|
927
|
+
rim && i > 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
928
|
+
"rect",
|
|
929
|
+
{
|
|
930
|
+
x,
|
|
931
|
+
y,
|
|
932
|
+
width: w,
|
|
933
|
+
height: h,
|
|
934
|
+
rx: NOTE_RX,
|
|
935
|
+
stroke: rim,
|
|
936
|
+
strokeWidth: NOTE_GAP * 2,
|
|
937
|
+
fill: "none"
|
|
938
|
+
}
|
|
939
|
+
),
|
|
940
|
+
/* @__PURE__ */ jsxRuntime.jsx("rect", { x, y, width: w, height: h, rx: NOTE_RX, fill: fills[i] })
|
|
941
|
+
] }, i);
|
|
942
|
+
}),
|
|
943
|
+
noteDetails(front, details, width, true)
|
|
944
|
+
] });
|
|
945
|
+
}
|
|
946
|
+
function notesLines(notes, color, width, uid) {
|
|
947
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
948
|
+
/* @__PURE__ */ jsxRuntime.jsx("g", { stroke: color, strokeWidth: width, fill: "none", children: notes.map((n, i) => {
|
|
949
|
+
const [x, y, w, h] = n;
|
|
950
|
+
const line = /* @__PURE__ */ jsxRuntime.jsx(
|
|
951
|
+
"rect",
|
|
952
|
+
{
|
|
953
|
+
x: x + width / 2,
|
|
954
|
+
y: y + width / 2,
|
|
955
|
+
width: w - width,
|
|
956
|
+
height: h - width,
|
|
957
|
+
rx: NOTE_RX
|
|
958
|
+
}
|
|
959
|
+
);
|
|
960
|
+
const next = notes[i + 1];
|
|
961
|
+
return next ? /* @__PURE__ */ jsxRuntime.jsx("g", { children: iconParts.within(
|
|
962
|
+
uid,
|
|
963
|
+
`note${i}`,
|
|
964
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { d: `M-1-1H25V25H-1Z${noteRect(next, NOTE_GAP)}`, clipRule: "evenodd" }),
|
|
965
|
+
line
|
|
966
|
+
) }, i) : /* @__PURE__ */ jsxRuntime.jsx("g", { children: line }, i);
|
|
967
|
+
}) }),
|
|
968
|
+
noteDetails(notes[notes.length - 1], color, width, false)
|
|
969
|
+
] });
|
|
970
|
+
}
|
|
971
|
+
const CASH_NOTE = [3, 6.75, 18, 10.5];
|
|
972
|
+
const CASH_TURN = "rotate(-20 12 12)";
|
|
973
|
+
const NtdCash = /* @__PURE__ */ createIcon.createIcon({
|
|
974
|
+
displayName: "NtdCash",
|
|
975
|
+
paths: {
|
|
976
|
+
solid: ({ primaryColor, accentColor, strokeWidth }) => /* @__PURE__ */ jsxRuntime.jsx("g", { transform: CASH_TURN, children: notesFilled([CASH_NOTE], [primaryColor], void 0, accentColor, strokeWidth) }),
|
|
977
|
+
outline: ({ primaryColor, strokeWidth, uid }) => /* @__PURE__ */ jsxRuntime.jsx("g", { transform: CASH_TURN, children: notesLines([CASH_NOTE], primaryColor, strokeWidth, uid) }),
|
|
978
|
+
duotone: ({ primaryColor, secondaryColor, strokeWidth }) => /* @__PURE__ */ jsxRuntime.jsx("g", { transform: CASH_TURN, children: notesFilled([CASH_NOTE], [primaryColor], void 0, secondaryColor, strokeWidth) }),
|
|
979
|
+
vivid: ({ primaryColor, secondaryColor, strokeWidth }) => /* @__PURE__ */ jsxRuntime.jsx("g", { transform: CASH_TURN, children: notesFilled([CASH_NOTE], [primaryColor], void 0, secondaryColor, strokeWidth) })
|
|
980
|
+
}
|
|
981
|
+
});
|
|
982
|
+
const CASH_STACK = [
|
|
983
|
+
[6, 4.25, 16, 9],
|
|
984
|
+
[4, 7.5, 16, 9],
|
|
985
|
+
[2, 10.75, 16, 9]
|
|
986
|
+
];
|
|
987
|
+
const NtdCashStack = /* @__PURE__ */ createIcon.createIcon({
|
|
988
|
+
displayName: "NtdCashStack",
|
|
989
|
+
paths: {
|
|
990
|
+
// the wireframe re-draws this as lines: there the notes behind hide behind those in front
|
|
991
|
+
solid: ({ primaryColor, accentColor, strokeWidth, uid, variant }) => variant === "wireframe" ? notesLines(CASH_STACK, primaryColor, 1, uid) : notesFilled(
|
|
992
|
+
CASH_STACK,
|
|
993
|
+
[primaryColor, primaryColor, primaryColor],
|
|
994
|
+
accentColor,
|
|
995
|
+
accentColor,
|
|
996
|
+
strokeWidth
|
|
997
|
+
),
|
|
998
|
+
outline: ({ primaryColor, strokeWidth, uid }) => notesLines(CASH_STACK, primaryColor, strokeWidth, uid),
|
|
999
|
+
duotone: ({ primaryColor, secondaryColor, strokeWidth }) => notesFilled(
|
|
1000
|
+
CASH_STACK,
|
|
1001
|
+
[primaryColor, secondaryColor, primaryColor],
|
|
1002
|
+
void 0,
|
|
1003
|
+
secondaryColor,
|
|
1004
|
+
strokeWidth
|
|
1005
|
+
),
|
|
1006
|
+
vivid: ({ primaryColor, secondaryColor, accentColor, strokeWidth }) => notesFilled(
|
|
1007
|
+
CASH_STACK,
|
|
1008
|
+
[primaryColor, secondaryColor, primaryColor],
|
|
1009
|
+
accentColor,
|
|
1010
|
+
secondaryColor,
|
|
1011
|
+
strokeWidth
|
|
1012
|
+
)
|
|
1013
|
+
}
|
|
1014
|
+
});
|
|
871
1015
|
const NtdKanban = /* @__PURE__ */ createIcon.createIcon({
|
|
872
1016
|
displayName: "NtdKanban",
|
|
873
1017
|
paths: {
|
|
@@ -991,6 +1135,8 @@ exports.NtdBank = NtdBank;
|
|
|
991
1135
|
exports.NtdBarcode = NtdBarcode;
|
|
992
1136
|
exports.NtdBriefcase = NtdBriefcase;
|
|
993
1137
|
exports.NtdCalculator = NtdCalculator;
|
|
1138
|
+
exports.NtdCash = NtdCash;
|
|
1139
|
+
exports.NtdCashStack = NtdCashStack;
|
|
994
1140
|
exports.NtdClipboardCheck = NtdClipboardCheck;
|
|
995
1141
|
exports.NtdCoins = NtdCoins;
|
|
996
1142
|
exports.NtdDollar = NtdDollar;
|
|
@@ -259,69 +259,60 @@ const NtdGitMerge = /* @__PURE__ */ createIcon.createIcon({
|
|
|
259
259
|
] })
|
|
260
260
|
}
|
|
261
261
|
});
|
|
262
|
-
const
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
] })),
|
|
317
|
-
vivid: ({ primaryColor, secondaryColor }) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
318
|
-
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: "1", y: "6", width: "18", height: "12", rx: "2", fill: primaryColor }),
|
|
319
|
-
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: "1", y: "6", width: "18", height: "12", rx: "2", fill: "white", opacity: "0.08" }),
|
|
320
|
-
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: "4", y: "9", width: "8", height: "6", rx: "1", fill: secondaryColor }),
|
|
321
|
-
/* @__PURE__ */ jsxRuntime.jsx("line", { x1: "23", y1: "10", x2: "23", y2: "14", stroke: "white", strokeWidth: "1" })
|
|
322
|
-
] })
|
|
323
|
-
}
|
|
324
|
-
});
|
|
262
|
+
const BATTERY_BODY = { x: 1.5, y: 6.5, width: 18.5, height: 11, rx: 2 };
|
|
263
|
+
const BATTERY_TERMINAL = "M19.5 9.5h2a1 1 0 011 1v3a1 1 0 01-1 1h-2z";
|
|
264
|
+
const BATTERY_TERMINAL_LINE = "M20 9.5h1.5a1 1 0 011 1v3a1 1 0 01-1 1H20";
|
|
265
|
+
const BATTERY_BLOCKS = [3.5, 7.35, 11.2, 15.05];
|
|
266
|
+
function batteryBlocks(count, fill) {
|
|
267
|
+
return BATTERY_BLOCKS.slice(0, count).map((x) => /* @__PURE__ */ jsxRuntime.jsx("rect", { x, y: "8.5", width: "2.95", height: "7", fill }, x));
|
|
268
|
+
}
|
|
269
|
+
function batteryIcon(displayName, count) {
|
|
270
|
+
const filled = (body, blocks) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
271
|
+
/* @__PURE__ */ jsxRuntime.jsx("rect", { ...BATTERY_BODY, fill: body }),
|
|
272
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { d: BATTERY_TERMINAL, fill: body }),
|
|
273
|
+
batteryBlocks(count, blocks)
|
|
274
|
+
] });
|
|
275
|
+
return createIcon.createIcon({
|
|
276
|
+
displayName,
|
|
277
|
+
perfectStackX: 10.75,
|
|
278
|
+
perfectStackY: 12,
|
|
279
|
+
perfectStackSize: 0.4,
|
|
280
|
+
paths: {
|
|
281
|
+
solid: ({ primaryColor, accentColor }) => filled(primaryColor, accentColor),
|
|
282
|
+
outline: ({ primaryColor, strokeWidth }) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
283
|
+
/* @__PURE__ */ jsxRuntime.jsx("rect", { ...BATTERY_BODY, stroke: primaryColor, strokeWidth, fill: "none" }),
|
|
284
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
285
|
+
"path",
|
|
286
|
+
{
|
|
287
|
+
d: BATTERY_TERMINAL_LINE,
|
|
288
|
+
stroke: primaryColor,
|
|
289
|
+
strokeWidth,
|
|
290
|
+
fill: "none"
|
|
291
|
+
}
|
|
292
|
+
),
|
|
293
|
+
batteryBlocks(count, primaryColor)
|
|
294
|
+
] }),
|
|
295
|
+
duotone: ({ primaryColor, secondaryColor }) => filled(primaryColor, secondaryColor),
|
|
296
|
+
vivid: ({ primaryColor, secondaryColor }) => filled(primaryColor, secondaryColor)
|
|
297
|
+
}
|
|
298
|
+
});
|
|
299
|
+
}
|
|
300
|
+
const NtdBattery = /* @__PURE__ */ batteryIcon("NtdBattery", 0);
|
|
301
|
+
const NtdBatteryQuarter = /* @__PURE__ */ batteryIcon("NtdBatteryQuarter", 1);
|
|
302
|
+
const NtdBatteryHalf = /* @__PURE__ */ batteryIcon("NtdBatteryHalf", 2);
|
|
303
|
+
const NtdBatteryThreeQuarters = /* @__PURE__ */ batteryIcon("NtdBatteryThreeQuarters", 3);
|
|
304
|
+
const NtdBatteryFull = /* @__PURE__ */ batteryIcon("NtdBatteryFull", 4);
|
|
305
|
+
const BATTERY_STEPS = [
|
|
306
|
+
NtdBattery,
|
|
307
|
+
NtdBatteryQuarter,
|
|
308
|
+
NtdBatteryHalf,
|
|
309
|
+
NtdBatteryThreeQuarters,
|
|
310
|
+
NtdBatteryFull
|
|
311
|
+
];
|
|
312
|
+
function batteryIconFor(level) {
|
|
313
|
+
const clamped = Number.isNaN(level) ? 0 : Math.min(1, Math.max(0, level));
|
|
314
|
+
return BATTERY_STEPS[Math.round(clamped * 4)];
|
|
315
|
+
}
|
|
325
316
|
const NtdSlash = /* @__PURE__ */ createIcon.createIcon({
|
|
326
317
|
displayName: "NtdSlash",
|
|
327
318
|
paths: {
|
|
@@ -1719,6 +1710,10 @@ const NtdSolidJsLogo = /* @__PURE__ */ createIcon.createIcon({
|
|
|
1719
1710
|
exports.NtdAIBrain = NtdAIBrain;
|
|
1720
1711
|
exports.NtdAstroLogo = NtdAstroLogo;
|
|
1721
1712
|
exports.NtdBattery = NtdBattery;
|
|
1713
|
+
exports.NtdBatteryFull = NtdBatteryFull;
|
|
1714
|
+
exports.NtdBatteryHalf = NtdBatteryHalf;
|
|
1715
|
+
exports.NtdBatteryQuarter = NtdBatteryQuarter;
|
|
1716
|
+
exports.NtdBatteryThreeQuarters = NtdBatteryThreeQuarters;
|
|
1722
1717
|
exports.NtdBlueprint = NtdBlueprint;
|
|
1723
1718
|
exports.NtdBrackets = NtdBrackets;
|
|
1724
1719
|
exports.NtdBugDev = NtdBugDev;
|
|
@@ -1747,3 +1742,4 @@ exports.NtdSolidJsLogo = NtdSolidJsLogo;
|
|
|
1747
1742
|
exports.NtdSvelteLogo = NtdSvelteLogo;
|
|
1748
1743
|
exports.NtdTauriLogo = NtdTauriLogo;
|
|
1749
1744
|
exports.NtdViteLogo = NtdViteLogo;
|
|
1745
|
+
exports.batteryIconFor = batteryIconFor;
|