@nice2dev/icons 1.4.12 → 1.4.14
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 +59 -0
- package/README.md +1 -1
- package/dist/cjs/icons/actions.js +72 -11
- package/dist/cjs/icons/business.js +52 -33
- package/dist/cjs/icons/devtech.js +5 -3
- package/dist/cjs/icons/education.js +10 -10
- package/dist/cjs/icons/files.js +32 -3
- package/dist/cjs/icons/food.js +16 -13
- package/dist/cjs/icons/index.js +1 -0
- package/dist/cjs/icons/realestate.js +14 -8
- package/dist/cjs/icons/sustainability.js +1 -1
- package/dist/cjs/icons/ui.js +28 -13
- package/dist/cjs/icons/weather.js +2 -2
- package/dist/cjs/index.js +1 -0
- package/dist/esm/icons/actions.js +72 -11
- package/dist/esm/icons/business.js +54 -35
- package/dist/esm/icons/devtech.js +5 -3
- package/dist/esm/icons/education.js +10 -10
- package/dist/esm/icons/files.js +32 -3
- package/dist/esm/icons/food.js +16 -13
- package/dist/esm/icons/index.js +2 -1
- package/dist/esm/icons/realestate.js +14 -8
- package/dist/esm/icons/sustainability.js +1 -1
- package/dist/esm/icons/ui.js +28 -13
- package/dist/esm/icons/weather.js +2 -2
- package/dist/esm/index.js +2 -1
- package/dist/types/icons/business.d.ts +3 -0
- package/dist/types/icons/index.d.ts +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,64 @@
|
|
|
1
1
|
# @nice2dev/icons — Changelog
|
|
2
2
|
|
|
3
|
+
## 1.4.14
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 5d1e7d0: Dragging tree rows (deferred since 1.4.5, and OmniVerk wishlist #4 and #6):
|
|
8
|
+
|
|
9
|
+
- `NiceTreeGrid`: new `rowDraggable`, `canDrop` and `onRowDrop(dragKey, dropKey, position)`.
|
|
10
|
+
- The pointer picks the spot: the top quarter of a row drops before it, the bottom quarter
|
|
11
|
+
after it, the middle inside it. A line or a lit row shows where.
|
|
12
|
+
- A closed row held under a drag opens. A row never drops into its own branch.
|
|
13
|
+
- Ctrl+Shift+↑ / ↓ moves the focused row past a sibling, → into the row above it, ← out a
|
|
14
|
+
level. Screen readers hear each move.
|
|
15
|
+
- The grid does not move rows itself; update `data`.
|
|
16
|
+
- `NiceTreeView`: `onNodeDrop` reports the real position from the pointer instead of always
|
|
17
|
+
`'inside'`. It gains the drop mark, `canDrop`, the same keyboard moves, and `dataTransfer` data,
|
|
18
|
+
which Firefox needs to start a drag. A leaf takes drops beside it only.
|
|
19
|
+
- New exports from `@nice2dev/ui`: `useTreeRowDrop`, `treeDropPosition`, `treeKeyboardMove`,
|
|
20
|
+
`treeKeyboardTarget` and `NiceTreeDropPosition`.
|
|
21
|
+
- `NiceDevelopmentStudio`: tree rows can be dragged.
|
|
22
|
+
- Entries go into folders, groups of their own group, and sections, or next to another entry,
|
|
23
|
+
which reorders them.
|
|
24
|
+
- Folders go into folders of their group, to the group's top, or into sections, together with
|
|
25
|
+
what they hold.
|
|
26
|
+
- New layout helpers `orderStudioEntries`, `moveStudioFolder` and `isStudioFolderWithin`.
|
|
27
|
+
- `placeStudioEntry` ignores a folder of another group.
|
|
28
|
+
- Icons:
|
|
29
|
+
- `NtdAward` duotone and vivid are fills: a secondary outline round primary middles, and in vivid
|
|
30
|
+
an accent ribbon.
|
|
31
|
+
- `NtdWallet` has a wider, rounded back strip, and the wireframe no longer draws the hidden part.
|
|
32
|
+
- `NtdWalletOpen` has a steeper wedge.
|
|
33
|
+
- `NtdUsers`: the two people behind sit lower.
|
|
34
|
+
|
|
35
|
+
## 1.4.13
|
|
36
|
+
|
|
37
|
+
### Patch Changes
|
|
38
|
+
|
|
39
|
+
- ac79f18: Icon review, round 43 (follow-up 3):
|
|
40
|
+
|
|
41
|
+
- New `NtdWalletOpen`: the wallet with its back pocket rising on a slant, now steeper. `NtdWallet`
|
|
42
|
+
shows a thin back pocket parallel to the body's edge instead.
|
|
43
|
+
- Battery set (`NtdBattery` … `NtdBatteryFull`): duotone and vivid show the battery's inside as a
|
|
44
|
+
secondary window slightly larger than the charge blocks. The blocks are primary in duotone and
|
|
45
|
+
accent in vivid.
|
|
46
|
+
- `NtdUnlock`: the shackle is open wider and swung 10° counter-clockwise.
|
|
47
|
+
- `NtdUsers`: the heads sit closer to the bodies; the two people behind lean outwards by 15°.
|
|
48
|
+
- `NtdWarehouse`: the bottom shelves sit just above the ground; two equal boxes on each level.
|
|
49
|
+
- `NtdForkKnife`: on their own the fork and knife are wider and further apart.
|
|
50
|
+
- `NtdChefHat`: no line under the puff; four pleats instead of two.
|
|
51
|
+
- `NtdAward`: the ribbon's primary border matches the medal's; a vertical line splits the ribbon.
|
|
52
|
+
- `NtdClipboard`: the sheet closes above the board's bottom edge; the text is higher and thinner.
|
|
53
|
+
- `NtdCalculatorEdu`: bigger keys and a wider, higher display.
|
|
54
|
+
- `NtdCookingPan`: the handle and its hole are twice as thick.
|
|
55
|
+
- `NtdTrash`: the lid's eaves and the handle are 1.5× thicker (filled variants).
|
|
56
|
+
- `NtdStore`: the cornice is thinner and square-cornered, so it meets the walls evenly.
|
|
57
|
+
- `NtdRecycle`: in `sharp`, the bands no longer poke out of the arrowheads.
|
|
58
|
+
- `NtdBeer`: the foam head is lower, cut from below.
|
|
59
|
+
- Smaller fixes: `NtdCalendar` (thinner accent line), `NtdMountain` (notch), `NtdWine` (thinner,
|
|
60
|
+
lower surface line).
|
|
61
|
+
|
|
3
62
|
## 1.4.12
|
|
4
63
|
|
|
5
64
|
No changes in this release.
|
package/README.md
CHANGED
|
@@ -528,7 +528,7 @@ Properties passed to every path renderer (pre-resolved from user props):
|
|
|
528
528
|
|
|
529
529
|
### Business & Finance (18 icons)
|
|
530
530
|
|
|
531
|
-
`NtdBriefcase` · `NtdDollar` · `NtdWallet` · `NtdReceipt` · `NtdBank` · `NtdTrendUp` · `NtdTrendDown` · `NtdPercent` · `NtdInvoice` · `NtdStore` · `NtdBarcode` · `NtdCalculator` · `NtdPresentation` · `NtdClipboardCheck` · `NtdPiggyBank` · `NtdCoins` · `NtdCash` · `NtdCashStack`
|
|
531
|
+
`NtdBriefcase` · `NtdDollar` · `NtdWallet` · `NtdWalletOpen` · `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
|
|
|
@@ -158,13 +158,30 @@ const TRASH_HANDLE = "M9.5 3.8V2.4a1.2 1.2 0 011.2-1.2h2.6a1.2 1.2 0 011.2 1.2v1
|
|
|
158
158
|
const TRASH_HANDLE_LINE = "M9.5 3.45V2.4a1.2 1.2 0 011.2-1.2h2.6a1.2 1.2 0 011.2 1.2v1.05";
|
|
159
159
|
const TRASH_BIN = "M5 6l1 14a2 2 0 002 2h8a2 2 0 002-2l1-14H5z";
|
|
160
160
|
const TRASH_GROOVES = "M10 10.5v7M14 10.5v7";
|
|
161
|
+
const TRASH_BOLD = 1.5;
|
|
161
162
|
const NtdTrash = /* @__PURE__ */ createIcon.createIcon({
|
|
162
163
|
displayName: "NtdTrash",
|
|
163
164
|
paths: {
|
|
164
165
|
solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth }) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
165
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
166
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
167
|
+
"path",
|
|
168
|
+
{
|
|
169
|
+
d: TRASH_LID,
|
|
170
|
+
stroke: primaryColor,
|
|
171
|
+
strokeWidth: strokeWidth * TRASH_BOLD,
|
|
172
|
+
fill: "none"
|
|
173
|
+
}
|
|
174
|
+
),
|
|
166
175
|
/* @__PURE__ */ jsxRuntime.jsx("path", { d: TRASH_DOME, fill: primaryColor }),
|
|
167
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
176
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
177
|
+
"path",
|
|
178
|
+
{
|
|
179
|
+
d: TRASH_HANDLE,
|
|
180
|
+
stroke: primaryColor,
|
|
181
|
+
strokeWidth: strokeWidth * TRASH_BOLD,
|
|
182
|
+
fill: "none"
|
|
183
|
+
}
|
|
184
|
+
),
|
|
168
185
|
/* @__PURE__ */ jsxRuntime.jsx("path", { d: TRASH_BIN, fill: primaryColor }),
|
|
169
186
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
170
187
|
"line",
|
|
@@ -208,9 +225,25 @@ const NtdTrash = /* @__PURE__ */ createIcon.createIcon({
|
|
|
208
225
|
] }),
|
|
209
226
|
vivid: ({ primaryColor, secondaryColor, accentColor, accentOpacity, strokeWidth }) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
210
227
|
/* @__PURE__ */ jsxRuntime.jsx("path", { d: TRASH_BIN, fill: primaryColor }),
|
|
211
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
228
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
229
|
+
"path",
|
|
230
|
+
{
|
|
231
|
+
d: TRASH_LID,
|
|
232
|
+
stroke: secondaryColor,
|
|
233
|
+
strokeWidth: strokeWidth * TRASH_BOLD,
|
|
234
|
+
fill: "none"
|
|
235
|
+
}
|
|
236
|
+
),
|
|
212
237
|
/* @__PURE__ */ jsxRuntime.jsx("path", { d: TRASH_DOME, fill: secondaryColor }),
|
|
213
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
238
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
239
|
+
"path",
|
|
240
|
+
{
|
|
241
|
+
d: TRASH_HANDLE,
|
|
242
|
+
stroke: secondaryColor,
|
|
243
|
+
strokeWidth: strokeWidth * TRASH_BOLD,
|
|
244
|
+
fill: "none"
|
|
245
|
+
}
|
|
246
|
+
),
|
|
214
247
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
215
248
|
"path",
|
|
216
249
|
{
|
|
@@ -449,8 +482,9 @@ const NtdCopy = /* @__PURE__ */ createIcon.createIcon({
|
|
|
449
482
|
vivid: ({ primaryColor, secondaryColor, strokeWidth }) => copyFilled(primaryColor, secondaryColor, strokeWidth)
|
|
450
483
|
}
|
|
451
484
|
});
|
|
452
|
-
const CLIPBOARD_TEXT = "M8
|
|
453
|
-
const
|
|
485
|
+
const CLIPBOARD_TEXT = "M8 10h8M8 13h5";
|
|
486
|
+
const CLIPBOARD_TEXT_WIDTH = 1.2;
|
|
487
|
+
const CLIPBOARD_SHEET = "M6 4.5h12v16H6z";
|
|
454
488
|
const NtdClipboard = /* @__PURE__ */ createIcon.createIcon({
|
|
455
489
|
displayName: "NtdClipboard",
|
|
456
490
|
perfectStackX: 12,
|
|
@@ -491,7 +525,15 @@ const NtdClipboard = /* @__PURE__ */ createIcon.createIcon({
|
|
|
491
525
|
opacity: accentOpacity
|
|
492
526
|
}
|
|
493
527
|
),
|
|
494
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
528
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
529
|
+
"path",
|
|
530
|
+
{
|
|
531
|
+
d: CLIPBOARD_TEXT,
|
|
532
|
+
stroke: accentColor,
|
|
533
|
+
strokeWidth: CLIPBOARD_TEXT_WIDTH,
|
|
534
|
+
opacity: accentOpacity
|
|
535
|
+
}
|
|
536
|
+
)
|
|
495
537
|
] }),
|
|
496
538
|
outline: ({ primaryColor, strokeWidth }) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
497
539
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -551,7 +593,15 @@ const NtdClipboard = /* @__PURE__ */ createIcon.createIcon({
|
|
|
551
593
|
strokeWidth
|
|
552
594
|
}
|
|
553
595
|
),
|
|
554
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
596
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
597
|
+
"path",
|
|
598
|
+
{
|
|
599
|
+
d: CLIPBOARD_TEXT,
|
|
600
|
+
stroke: accentColor,
|
|
601
|
+
strokeWidth: CLIPBOARD_TEXT_WIDTH,
|
|
602
|
+
opacity: accentOpacity
|
|
603
|
+
}
|
|
604
|
+
)
|
|
555
605
|
] })
|
|
556
606
|
}
|
|
557
607
|
});
|
|
@@ -1168,7 +1218,8 @@ const NtdLock = /* @__PURE__ */ createIcon.createIcon({
|
|
|
1168
1218
|
vivid: ({ primaryColor, secondaryColor, accentColor, accentOpacity, strokeWidth }) => lockFilled(primaryColor, secondaryColor, accentColor, accentOpacity, strokeWidth * 2)
|
|
1169
1219
|
}
|
|
1170
1220
|
});
|
|
1171
|
-
const UNLOCK_SHACKLE = "M6 10.
|
|
1221
|
+
const UNLOCK_SHACKLE = "M6 10.5V8.2a6 6 0 0 1 11.91-1.04";
|
|
1222
|
+
const UNLOCK_SWING = "rotate(-10 6 10)";
|
|
1172
1223
|
const NtdUnlock = /* @__PURE__ */ createIcon.createIcon({
|
|
1173
1224
|
displayName: "NtdUnlock",
|
|
1174
1225
|
perfectStackX: 12,
|
|
@@ -1176,14 +1227,23 @@ const NtdUnlock = /* @__PURE__ */ createIcon.createIcon({
|
|
|
1176
1227
|
perfectStackSize: 0.4,
|
|
1177
1228
|
paths: {
|
|
1178
1229
|
solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth }) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1179
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1230
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1231
|
+
"path",
|
|
1232
|
+
{
|
|
1233
|
+
d: UNLOCK_SHACKLE,
|
|
1234
|
+
transform: UNLOCK_SWING,
|
|
1235
|
+
stroke: primaryColor,
|
|
1236
|
+
strokeWidth: strokeWidth * 2,
|
|
1237
|
+
fill: "none"
|
|
1238
|
+
}
|
|
1239
|
+
),
|
|
1180
1240
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { ...LOCK_BODY, fill: primaryColor }),
|
|
1181
1241
|
/* @__PURE__ */ jsxRuntime.jsx("path", { d: LOCK_KEYHOLE, fill: accentColor, opacity: accentOpacity })
|
|
1182
1242
|
] }),
|
|
1183
1243
|
outline: ({ primaryColor, strokeWidth }) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1184
1244
|
/* @__PURE__ */ jsxRuntime.jsxs("g", { stroke: primaryColor, strokeWidth, fill: "none", children: [
|
|
1185
1245
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { ...LOCK_BODY }),
|
|
1186
|
-
/* @__PURE__ */ jsxRuntime.jsx("path", { d: UNLOCK_SHACKLE })
|
|
1246
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { d: UNLOCK_SHACKLE, transform: UNLOCK_SWING })
|
|
1187
1247
|
] }),
|
|
1188
1248
|
/* @__PURE__ */ jsxRuntime.jsx("path", { d: LOCK_KEYHOLE, fill: primaryColor })
|
|
1189
1249
|
] }),
|
|
@@ -1192,6 +1252,7 @@ const NtdUnlock = /* @__PURE__ */ createIcon.createIcon({
|
|
|
1192
1252
|
"path",
|
|
1193
1253
|
{
|
|
1194
1254
|
d: UNLOCK_SHACKLE,
|
|
1255
|
+
transform: UNLOCK_SWING,
|
|
1195
1256
|
stroke: secondaryColor,
|
|
1196
1257
|
strokeWidth: strokeWidth * 2,
|
|
1197
1258
|
fill: "none"
|
|
@@ -101,40 +101,46 @@ 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 = "M6 8V5.9L19 5a1 1 0 011.1 1V8z";
|
|
105
|
-
const WALLET_BACK_LINE = "M6 6.5V5.9L19 5a1 1 0 011.1 1V6.5";
|
|
106
104
|
const WALLET_POCKET = "M22 10.5h-4.5a2.5 2.5 0 000 5H22z";
|
|
107
105
|
const WALLET_POCKET_LINE = "M22 10.5h-4.5a2.5 2.5 0 000 5H22";
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
106
|
+
function walletIcon(displayName, back, backLine, backSharp) {
|
|
107
|
+
return createIcon.createIcon({
|
|
108
|
+
displayName,
|
|
109
|
+
paths: walletPaths(back, backLine, backSharp)
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
function walletPaths(WALLET_BACK, WALLET_BACK_LINE, WALLET_BACK_SHARP) {
|
|
113
|
+
return {
|
|
111
114
|
// the back pocket is primary like the body: an accent gap (the body's edge, clipped to the pocket)
|
|
112
115
|
// parts the two
|
|
113
|
-
solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth, uid }) =>
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
"
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
116
|
+
solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth, uid, variant }) => {
|
|
117
|
+
const back = variant === "sharp" ? WALLET_BACK_SHARP : WALLET_BACK;
|
|
118
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
119
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { d: back, fill: primaryColor }),
|
|
120
|
+
iconParts.within(
|
|
121
|
+
uid,
|
|
122
|
+
"back",
|
|
123
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { d: back }),
|
|
124
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
125
|
+
"rect",
|
|
126
|
+
{
|
|
127
|
+
...WALLET_BODY,
|
|
128
|
+
stroke: accentColor,
|
|
129
|
+
strokeWidth: strokeWidth * 0.9,
|
|
130
|
+
fill: "none"
|
|
131
|
+
}
|
|
132
|
+
)
|
|
133
|
+
),
|
|
134
|
+
/* @__PURE__ */ jsxRuntime.jsx("rect", { ...WALLET_BODY, fill: primaryColor }),
|
|
135
|
+
iconParts.within(
|
|
136
|
+
uid,
|
|
137
|
+
"pocket",
|
|
138
|
+
/* @__PURE__ */ jsxRuntime.jsx("rect", { ...WALLET_BODY }),
|
|
139
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { d: WALLET_POCKET, fill: accentColor, opacity: accentOpacity })
|
|
140
|
+
),
|
|
141
|
+
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "17.6", cy: "13", r: "1.1", fill: primaryColor })
|
|
142
|
+
] });
|
|
143
|
+
},
|
|
138
144
|
outline: ({ primaryColor, strokeWidth }) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
139
145
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
140
146
|
"path",
|
|
@@ -173,8 +179,20 @@ const NtdWallet = /* @__PURE__ */ createIcon.createIcon({
|
|
|
173
179
|
),
|
|
174
180
|
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "17.6", cy: "13", r: "1.1", fill: secondaryColor })
|
|
175
181
|
] })
|
|
176
|
-
}
|
|
177
|
-
}
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
const NtdWallet = /* @__PURE__ */ walletIcon(
|
|
185
|
+
"NtdWallet",
|
|
186
|
+
"M4.5 6.5V5.4a0.8 0.8 0 0 1 0.8-0.8h13.4a0.8 0.8 0 0 1 0.8 0.8V6.5Z",
|
|
187
|
+
"M4.5 6.5V5.4a0.8 0.8 0 0 1 0.8-0.8h13.4a0.8 0.8 0 0 1 0.8 0.8V6.5",
|
|
188
|
+
"M4.5 6.5V4.6h15V6.5Z"
|
|
189
|
+
);
|
|
190
|
+
const NtdWalletOpen = /* @__PURE__ */ walletIcon(
|
|
191
|
+
"NtdWalletOpen",
|
|
192
|
+
"M6 6.5V5.9L19 2.6a1 1 0 0 1 1.1 1V6.5Z",
|
|
193
|
+
"M6 6.5V5.9L19 2.6a1 1 0 0 1 1.1 1V6.5",
|
|
194
|
+
"M6 6.5V5.9L20.1 2.32V6.5Z"
|
|
195
|
+
);
|
|
178
196
|
const RECEIPT = "M4 2v20l3-2 3 2 3-2 3 2 3-2 3 2V2H4z";
|
|
179
197
|
const RECEIPT_TEXT = "M7 7.5h6.5M16.4 7.5h2M7 11.5h6.5M16.4 11.5h2M14.4 15.5h4";
|
|
180
198
|
const NtdReceipt = /* @__PURE__ */ createIcon.createIcon({
|
|
@@ -378,7 +396,7 @@ const NtdInvoice = /* @__PURE__ */ iconParts.paperIcon(
|
|
|
378
396
|
);
|
|
379
397
|
const NtdInvoiceDoc = NtdInvoice;
|
|
380
398
|
const STORE_BODY = "M2.5 5H21.5V21H2.5Z";
|
|
381
|
-
const STORE_CORNICE = { x: 1.5, y: 3, width: 21, height:
|
|
399
|
+
const STORE_CORNICE = { x: 1.5, y: 3.5, width: 21, height: 1.9 };
|
|
382
400
|
const STORE_CUT = "M2.5 5.4H21.5";
|
|
383
401
|
const STORE_SIGN = { x: 3.8, y: 6.7, width: 16.4, height: 3.9, rx: 0.5 };
|
|
384
402
|
const STORE_GLASS = "M4.2 11.9h4.8v6.8H4.2zM15 11.9h4.8v6.8H15zM10.2 12.2h3.6V21h-3.6z";
|
|
@@ -1226,3 +1244,4 @@ exports.NtdStore = NtdStore;
|
|
|
1226
1244
|
exports.NtdTrendDown = NtdTrendDown;
|
|
1227
1245
|
exports.NtdTrendUp = NtdTrendUp;
|
|
1228
1246
|
exports.NtdWallet = NtdWallet;
|
|
1247
|
+
exports.NtdWalletOpen = NtdWalletOpen;
|
|
@@ -263,13 +263,15 @@ const BATTERY_BODY = { x: 1.5, y: 6.5, width: 18.5, height: 11, rx: 2 };
|
|
|
263
263
|
const BATTERY_TERMINAL = "M19.5 9.5h2a1 1 0 011 1v3a1 1 0 01-1 1h-2z";
|
|
264
264
|
const BATTERY_TERMINAL_LINE = "M20 9.5h1.5a1 1 0 011 1v3a1 1 0 01-1 1H20";
|
|
265
265
|
const BATTERY_BLOCKS = [3.5, 7.35, 11.2, 15.05];
|
|
266
|
+
const BATTERY_WINDOW = { x: 2.9, y: 7.9, width: 15.7, height: 8.2 };
|
|
266
267
|
function batteryBlocks(count, fill) {
|
|
267
268
|
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
|
}
|
|
269
270
|
function batteryIcon(displayName, count) {
|
|
270
|
-
const filled = (body, blocks) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
271
|
+
const filled = (body, blocks, window) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
271
272
|
/* @__PURE__ */ jsxRuntime.jsx("rect", { ...BATTERY_BODY, fill: body }),
|
|
272
273
|
/* @__PURE__ */ jsxRuntime.jsx("path", { d: BATTERY_TERMINAL, fill: body }),
|
|
274
|
+
window && /* @__PURE__ */ jsxRuntime.jsx("rect", { ...BATTERY_WINDOW, fill: window }),
|
|
273
275
|
batteryBlocks(count, blocks)
|
|
274
276
|
] });
|
|
275
277
|
return createIcon.createIcon({
|
|
@@ -292,8 +294,8 @@ function batteryIcon(displayName, count) {
|
|
|
292
294
|
),
|
|
293
295
|
batteryBlocks(count, primaryColor)
|
|
294
296
|
] }),
|
|
295
|
-
duotone: ({ primaryColor, secondaryColor }) => filled(primaryColor, secondaryColor),
|
|
296
|
-
vivid: ({ primaryColor, secondaryColor }) => filled(primaryColor, secondaryColor)
|
|
297
|
+
duotone: ({ primaryColor, secondaryColor }) => filled(primaryColor, primaryColor, secondaryColor),
|
|
298
|
+
vivid: ({ primaryColor, secondaryColor, accentColor }) => filled(primaryColor, accentColor, secondaryColor)
|
|
297
299
|
}
|
|
298
300
|
});
|
|
299
301
|
}
|
|
@@ -930,16 +930,16 @@ const NtdBackpack = /* @__PURE__ */ createIcon.createIcon({
|
|
|
930
930
|
}
|
|
931
931
|
});
|
|
932
932
|
const CALC_BODY = { x: 4.6, y: 2, width: 14.8, height: 20, rx: 2 };
|
|
933
|
-
const CALC_DISPLAY = { x: 6
|
|
934
|
-
const CALC_KEYS = "M6
|
|
933
|
+
const CALC_DISPLAY = { x: 6, y: 3.4, width: 12, height: 4.8, rx: 1 };
|
|
934
|
+
const CALC_KEYS = "M6 9.4h3.6v3.3H6zM10.2 9.4h3.6v3.3h-3.6zM14.4 9.4h3.6v3.3h-3.6zM6 13.3h3.6v3.3H6zM10.2 13.3h3.6v3.3h-3.6zM14.4 13.3h3.6v3.3h-3.6zM6 17.2h3.6v3.3H6zM10.2 17.2h7.8v3.3h-7.8z";
|
|
935
935
|
const CALC_DOTS = [
|
|
936
|
-
[8
|
|
937
|
-
[12,
|
|
938
|
-
[
|
|
939
|
-
[8
|
|
940
|
-
[12,
|
|
941
|
-
[
|
|
942
|
-
[8
|
|
936
|
+
[7.8, 11.05],
|
|
937
|
+
[12, 11.05],
|
|
938
|
+
[16.2, 11.05],
|
|
939
|
+
[7.8, 14.95],
|
|
940
|
+
[12, 14.95],
|
|
941
|
+
[16.2, 14.95],
|
|
942
|
+
[7.8, 18.85]
|
|
943
943
|
];
|
|
944
944
|
function calculatorFilled({ primaryColor, accentColor, accentOpacity, strokeWidth }, display, displayOpacity) {
|
|
945
945
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
@@ -969,7 +969,7 @@ const NtdCalculator = /* @__PURE__ */ createIcon.createIcon({
|
|
|
969
969
|
] }),
|
|
970
970
|
/* @__PURE__ */ jsxRuntime.jsxs("g", { fill: primaryColor, children: [
|
|
971
971
|
CALC_DOTS.map(([cx, cy]) => /* @__PURE__ */ jsxRuntime.jsx("circle", { cx, cy, r: "1" }, `${cx},${cy}`)),
|
|
972
|
-
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: "10.6", y: "18.
|
|
972
|
+
/* @__PURE__ */ jsxRuntime.jsx("rect", { x: "10.6", y: "18.25", width: "7", height: "1.2", rx: "0.5" })
|
|
973
973
|
] })
|
|
974
974
|
] }),
|
|
975
975
|
vivid: (props) => calculatorFilled(props, props.secondaryColor, 1)
|
package/dist/cjs/icons/files.js
CHANGED
|
@@ -956,7 +956,36 @@ const NtdKey = /* @__PURE__ */ createIcon.createIcon({
|
|
|
956
956
|
}
|
|
957
957
|
});
|
|
958
958
|
const AWARD_RIBBON = "M8.21 13.89L7 23l5-3 5 3-1.21-9.12";
|
|
959
|
-
const AWARD_RIBBON_INNER = "
|
|
959
|
+
const AWARD_RIBBON_INNER = "M8.93 13.04L7.76 21.85L12 19.3L16.24 21.85L15.07 13.04M12 13.9V19.3";
|
|
960
|
+
const AWARD_RIBBON_INSIDE = "M8.93 13.04L7.76 21.85L12 19.3L16.24 21.85L15.07 13.04Z";
|
|
961
|
+
const AWARD_RIBBON_SPLIT = "M12 13.9V19.3";
|
|
962
|
+
function awardTwoTone({ primaryColor, secondaryColor, strokeWidth }, inside, insideOpacity, joined) {
|
|
963
|
+
const ribbonInside = /* @__PURE__ */ jsxRuntime.jsx("path", { d: AWARD_RIBBON_INSIDE, fill: inside, opacity: insideOpacity });
|
|
964
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
965
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
966
|
+
"path",
|
|
967
|
+
{
|
|
968
|
+
d: AWARD_RIBBON,
|
|
969
|
+
fill: secondaryColor,
|
|
970
|
+
stroke: secondaryColor,
|
|
971
|
+
strokeWidth
|
|
972
|
+
}
|
|
973
|
+
),
|
|
974
|
+
!joined && ribbonInside,
|
|
975
|
+
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "12", cy: "8", r: "7", fill: secondaryColor }),
|
|
976
|
+
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "12", cy: "8", r: "5.9", fill: primaryColor }),
|
|
977
|
+
joined && ribbonInside,
|
|
978
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
979
|
+
"path",
|
|
980
|
+
{
|
|
981
|
+
d: AWARD_RIBBON_SPLIT,
|
|
982
|
+
stroke: secondaryColor,
|
|
983
|
+
strokeWidth: strokeWidth * 0.6,
|
|
984
|
+
strokeLinecap: "butt"
|
|
985
|
+
}
|
|
986
|
+
)
|
|
987
|
+
] });
|
|
988
|
+
}
|
|
960
989
|
function awardInsets(color, opacity, width) {
|
|
961
990
|
return /* @__PURE__ */ jsxRuntime.jsxs("g", { stroke: color, strokeWidth: width, opacity, fill: "none", children: [
|
|
962
991
|
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "12", cy: "8", r: "5.9" }),
|
|
@@ -990,8 +1019,8 @@ const NtdAward = /* @__PURE__ */ createIcon.createIcon({
|
|
|
990
1019
|
),
|
|
991
1020
|
awardInsets(primaryColor, 1, strokeWidth * 0.6)
|
|
992
1021
|
] }),
|
|
993
|
-
duotone: (p) =>
|
|
994
|
-
vivid: (p) =>
|
|
1022
|
+
duotone: (p) => awardTwoTone(p, p.primaryColor, 1, true),
|
|
1023
|
+
vivid: (p) => awardTwoTone(p, p.accentColor, p.accentOpacity, false)
|
|
995
1024
|
}
|
|
996
1025
|
});
|
|
997
1026
|
const CART_FRAME = "M2 3.5h2.3l3.3 12.9H19.3";
|
package/dist/cjs/icons/food.js
CHANGED
|
@@ -417,7 +417,8 @@ const NtdCoffee = /* @__PURE__ */ createIcon.createIcon({
|
|
|
417
417
|
}
|
|
418
418
|
});
|
|
419
419
|
const WINE_BOWL = "M8 3h8c.9 1.8 1.3 3.5 1.3 5a5.3 5.3 0 01-10.6 0c0-1.5.4-3.2 1.3-5z";
|
|
420
|
-
const WINE_LIQUID = "M5
|
|
420
|
+
const WINE_LIQUID = "M5 9.5h14V15H5z";
|
|
421
|
+
const WINE_SURFACE = "M5 9.5h14";
|
|
421
422
|
const WINE_STEM = { x: 11.2, y: 12.8, width: 1.6, height: 6.7 };
|
|
422
423
|
const WINE_FOOT = { x: 8, y: 19.25, width: 8, height: 1.5, rx: 0.75 };
|
|
423
424
|
function wineFilled({ primaryColor, accentColor, accentOpacity, strokeWidth, uid }, wine, surface) {
|
|
@@ -432,9 +433,9 @@ function wineFilled({ primaryColor, accentColor, accentOpacity, strokeWidth, uid
|
|
|
432
433
|
surface && /* @__PURE__ */ jsxRuntime.jsx(
|
|
433
434
|
"path",
|
|
434
435
|
{
|
|
435
|
-
d:
|
|
436
|
+
d: WINE_SURFACE,
|
|
436
437
|
stroke: accentColor,
|
|
437
|
-
strokeWidth: strokeWidth * 0.
|
|
438
|
+
strokeWidth: strokeWidth * 0.4,
|
|
438
439
|
opacity: accentOpacity
|
|
439
440
|
}
|
|
440
441
|
)
|
|
@@ -450,7 +451,7 @@ const NtdWine = /* @__PURE__ */ createIcon.createIcon({
|
|
|
450
451
|
solid: (p) => wineFilled(p, p.primaryColor, true),
|
|
451
452
|
outline: ({ primaryColor, strokeWidth }) => /* @__PURE__ */ jsxRuntime.jsxs("g", { stroke: primaryColor, strokeWidth, fill: "none", children: [
|
|
452
453
|
/* @__PURE__ */ jsxRuntime.jsx("path", { d: WINE_BOWL, strokeLinejoin: "miter" }),
|
|
453
|
-
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M6.
|
|
454
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M6.95 9.5h10.1M12 13.3v6.2M8.5 20h7" })
|
|
454
455
|
] }),
|
|
455
456
|
duotone: (p) => wineFilled(p, p.secondaryColor, false),
|
|
456
457
|
vivid: (p) => wineFilled(p, p.secondaryColor, true)
|
|
@@ -458,7 +459,7 @@ const NtdWine = /* @__PURE__ */ createIcon.createIcon({
|
|
|
458
459
|
});
|
|
459
460
|
const BEER_GLASS = "M4.5 8H15.5C16.45 11 16.45 17 15.6 19.9A2.1 2.1 0 0 1 13.6 21.5H6.4A2.1 2.1 0 0 1 4.4 19.9C3.55 17 3.55 11 4.5 8Z";
|
|
460
461
|
const BEER_GLASS_SHARP = "M4.5 8H15.5C16.45 11 16.45 17 15.6 21.5H4.4C3.55 17 3.55 11 4.5 8Z";
|
|
461
|
-
const BEER_FOAM = "M4.6 7.
|
|
462
|
+
const BEER_FOAM = "M4.6 7.55V6.34A1.71 1.71 0 0 1 6.49 5.65A2.07 2.07 0 0 1 10.23 4.75A2.07 2.07 0 0 1 13.69 5.65A1.71 1.71 0 0 1 15.4 6.43V7.55Z";
|
|
462
463
|
const BEER_HANDLE = "M16 11H17.5A2 2 0 0 1 19.5 13V16A2 2 0 0 1 17.5 18H16";
|
|
463
464
|
const BEER_RIBS = "M8 11V18.5M12 11V18.5";
|
|
464
465
|
function beer(p, width, glassPath = BEER_GLASS) {
|
|
@@ -645,7 +646,8 @@ const NtdSoda = /* @__PURE__ */ createIcon.createIcon({
|
|
|
645
646
|
const CHEF_PUFF = "M6 8a4 4 0 014-4h4a4 4 0 014 4c2 0 4 1.5 4 4s-2 4-4 4H6c-2 0-4-1.5-4-4s2-4 4-4z";
|
|
646
647
|
const CHEF_BAND = "M6 16h12v5a1 1 0 01-1 1H7a1 1 0 01-1-1z";
|
|
647
648
|
const CHEF_BAND_SHARP = "M6 16h12v6H6z";
|
|
648
|
-
const CHEF_LINES = "
|
|
649
|
+
const CHEF_LINES = "M8.4 16.9v4.2M10.8 16.9v4.2M13.2 16.9v4.2M15.6 16.9v4.2";
|
|
650
|
+
const CHEF_LINES_OUTLINE = "M8.4 17.3v3.4M10.8 17.3v3.4M13.2 17.3v3.4M15.6 17.3v3.4";
|
|
649
651
|
function chefHatFilled({ primaryColor, accentColor, accentOpacity, strokeWidth }, band, lines, bandPath = CHEF_BAND) {
|
|
650
652
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
651
653
|
/* @__PURE__ */ jsxRuntime.jsx("path", { d: CHEF_PUFF, fill: primaryColor }),
|
|
@@ -672,16 +674,17 @@ const NtdChefHat = /* @__PURE__ */ createIcon.createIcon({
|
|
|
672
674
|
outline: ({ primaryColor, strokeWidth }) => /* @__PURE__ */ jsxRuntime.jsxs("g", { stroke: primaryColor, strokeWidth, fill: "none", strokeLinejoin: "miter", children: [
|
|
673
675
|
/* @__PURE__ */ jsxRuntime.jsx("path", { d: CHEF_PUFF }),
|
|
674
676
|
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M6 16v5a1 1 0 001 1h10a1 1 0 001-1v-5" }),
|
|
675
|
-
/* @__PURE__ */ jsxRuntime.jsx("path", { d:
|
|
677
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { d: CHEF_LINES_OUTLINE })
|
|
676
678
|
] }),
|
|
677
679
|
duotone: (p) => chefHatFilled(p, p.secondaryColor, false),
|
|
678
680
|
vivid: (p) => chefHatFilled(p, p.secondaryColor, true)
|
|
679
681
|
}
|
|
680
682
|
});
|
|
681
683
|
const FORK_KNIFE_SCALE = 1.15;
|
|
684
|
+
const FORK_KNIFE_WIDEN = 1.3;
|
|
682
685
|
const FORK_KNIFE_FRAME = `translate(12 12) scale(${FORK_KNIFE_SCALE}) translate(-12 -12)`;
|
|
683
|
-
const FORK_KNIFE_FORK_AT =
|
|
684
|
-
const FORK_KNIFE_KNIFE_AT =
|
|
686
|
+
const FORK_KNIFE_FORK_AT = `translate(7.913 0) scale(${FORK_KNIFE_WIDEN} 1) translate(-2.1 0)`;
|
|
687
|
+
const FORK_KNIFE_KNIFE_AT = `translate(16.609 0) scale(${FORK_KNIFE_WIDEN} 1) translate(-22.3 0)`;
|
|
685
688
|
function forkKnifeFilled(fork, knife) {
|
|
686
689
|
return /* @__PURE__ */ jsxRuntime.jsxs("g", { transform: FORK_KNIFE_FRAME, children: [
|
|
687
690
|
/* @__PURE__ */ jsxRuntime.jsx("path", { d: iconParts.CUTLERY_FORK, transform: FORK_KNIFE_FORK_AT, fill: fork }),
|
|
@@ -700,7 +703,7 @@ const NtdForkKnife = /* @__PURE__ */ createIcon.createIcon({
|
|
|
700
703
|
d: iconParts.CUTLERY_KNIFE,
|
|
701
704
|
transform: FORK_KNIFE_KNIFE_AT,
|
|
702
705
|
stroke: primaryColor,
|
|
703
|
-
strokeWidth: strokeWidth / FORK_KNIFE_SCALE,
|
|
706
|
+
strokeWidth: strokeWidth / (FORK_KNIFE_SCALE * FORK_KNIFE_WIDEN),
|
|
704
707
|
strokeLinejoin: "miter",
|
|
705
708
|
fill: "none"
|
|
706
709
|
}
|
|
@@ -747,8 +750,8 @@ const NtdKnife = /* @__PURE__ */ createIcon.createIcon({
|
|
|
747
750
|
});
|
|
748
751
|
const PAN_TURN = "rotate(45 12 12)";
|
|
749
752
|
const PAN_CENTER = { cx: 9.5, cy: 12 };
|
|
750
|
-
const PAN_HANDLE = "M16
|
|
751
|
-
const PAN_HOLE = { cx: 21
|
|
753
|
+
const PAN_HANDLE = "M16 9.6H21A2.4 2.4 0 0 1 21 14.4H16Z";
|
|
754
|
+
const PAN_HOLE = { cx: 21, cy: 12, r: 1.1 };
|
|
752
755
|
function panFilled({ primaryColor, accentColor, accentOpacity, strokeWidth }, handle, rings, ringsOpacity) {
|
|
753
756
|
return /* @__PURE__ */ jsxRuntime.jsxs("g", { transform: PAN_TURN, children: [
|
|
754
757
|
/* @__PURE__ */ jsxRuntime.jsx("path", { d: PAN_HANDLE, fill: handle }),
|
|
@@ -774,7 +777,7 @@ const NtdCookingPan = /* @__PURE__ */ createIcon.createIcon({
|
|
|
774
777
|
outline: ({ primaryColor, strokeWidth }) => /* @__PURE__ */ jsxRuntime.jsxs("g", { transform: PAN_TURN, stroke: primaryColor, strokeWidth, fill: "none", children: [
|
|
775
778
|
/* @__PURE__ */ jsxRuntime.jsx("circle", { ...PAN_CENTER, r: "7.5" }),
|
|
776
779
|
/* @__PURE__ */ jsxRuntime.jsx("circle", { ...PAN_CENTER, r: "6.2" }),
|
|
777
|
-
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "
|
|
780
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M16.6 9.6H21A2.4 2.4 0 0 1 21 14.4H16.6" }),
|
|
778
781
|
/* @__PURE__ */ jsxRuntime.jsx("circle", { ...PAN_HOLE })
|
|
779
782
|
] }),
|
|
780
783
|
duotone: (p) => panFilled(p, p.secondaryColor, p.secondaryColor, 1),
|
package/dist/cjs/icons/index.js
CHANGED
|
@@ -302,6 +302,7 @@ exports.NtdStore = business.NtdStore;
|
|
|
302
302
|
exports.NtdTrendDown = business.NtdTrendDown;
|
|
303
303
|
exports.NtdTrendUp = business.NtdTrendUp;
|
|
304
304
|
exports.NtdWallet = business.NtdWallet;
|
|
305
|
+
exports.NtdWalletOpen = business.NtdWalletOpen;
|
|
305
306
|
exports.NtdAtSign = social.NtdAtSign;
|
|
306
307
|
exports.NtdBellRing = social.NtdBellRing;
|
|
307
308
|
exports.NtdBubble = social.NtdBubble;
|
|
@@ -430,7 +430,7 @@ const RACK_SLOTS = [
|
|
|
430
430
|
[6.9, 6.2, 4.2]
|
|
431
431
|
];
|
|
432
432
|
const round = (n) => Math.round(n * 1e3) / 1e3;
|
|
433
|
-
function rackGeometry(f, width, boxes) {
|
|
433
|
+
function rackGeometry(f, width, boxes, even = false) {
|
|
434
434
|
const heavy = width * 1.35;
|
|
435
435
|
const topEdge = f.top - heavy / 2;
|
|
436
436
|
const bottomEdge = f.bottom - heavy / 2;
|
|
@@ -451,16 +451,22 @@ function rackGeometry(f, width, boxes) {
|
|
|
451
451
|
{ floor: shelf - half, ceiling: topEdge + width }
|
|
452
452
|
];
|
|
453
453
|
const scale = (f.right - f.left) / 16;
|
|
454
|
+
const gap = 0.6 * scale;
|
|
455
|
+
const evenWidth = (f.right - f.left - width - 3 * gap) / 2;
|
|
454
456
|
const rects = RACK_SLOTS.slice(0, boxes).map(([x, w, h], i) => {
|
|
455
457
|
const level = levels[Math.floor(i / 2)];
|
|
456
|
-
const
|
|
457
|
-
|
|
458
|
+
const room = level.floor - level.ceiling - gap - 0.4 * scale;
|
|
459
|
+
if (even) {
|
|
460
|
+
const left = f.left + half + gap + i % 2 * (evenWidth + gap);
|
|
461
|
+
return rect(left, level.floor - gap - room, evenWidth, room);
|
|
462
|
+
}
|
|
463
|
+
const bh = Math.min(h * scale, room);
|
|
458
464
|
return rect(f.left + half + x * scale, level.floor - gap - bh, w * scale, bh);
|
|
459
465
|
}).join("");
|
|
460
466
|
return { lines, frame, rects };
|
|
461
467
|
}
|
|
462
|
-
function rackDrawing(f, boxes, frame, fill, width, outline) {
|
|
463
|
-
const g = rackGeometry(f, width, boxes);
|
|
468
|
+
function rackDrawing(f, boxes, frame, fill, width, outline, even = false) {
|
|
469
|
+
const g = rackGeometry(f, width, boxes, even);
|
|
464
470
|
if (outline) {
|
|
465
471
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
466
472
|
/* @__PURE__ */ jsxRuntime.jsx("path", { d: g.lines, stroke: frame, strokeWidth: width, strokeLinecap: "butt", fill: "none" }),
|
|
@@ -505,13 +511,13 @@ function shelfRackIconFor(level) {
|
|
|
505
511
|
}
|
|
506
512
|
const WAREHOUSE = "M1.5 9.2L12 3.5L22.5 9.2V21H20.4V11H3.6V21H1.5Z";
|
|
507
513
|
const WAREHOUSE_RACKS = [
|
|
508
|
-
{ left: 4.75, right: 11.15, top: 12.3, bottom:
|
|
509
|
-
{ left: 12.85, right: 19.25, top: 12.3, bottom:
|
|
514
|
+
{ left: 4.75, right: 11.15, top: 12.3, bottom: 20.3, floor: 21 },
|
|
515
|
+
{ left: 12.85, right: 19.25, top: 12.3, bottom: 20.3, floor: 21 }
|
|
510
516
|
];
|
|
511
517
|
function warehouseDrawing(hall, rackFrame, boxes, width, outline) {
|
|
512
518
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
513
519
|
outline ? /* @__PURE__ */ jsxRuntime.jsx("path", { d: WAREHOUSE, stroke: hall, strokeWidth: width, strokeLinejoin: "miter", fill: "none" }) : /* @__PURE__ */ jsxRuntime.jsx("path", { d: WAREHOUSE, fill: hall }),
|
|
514
|
-
WAREHOUSE_RACKS.map((f) => /* @__PURE__ */ jsxRuntime.jsx("g", { children: rackDrawing(f, 4, rackFrame, boxes, outline ? width * 0.7 : width * 0.35, outline) }, f.left))
|
|
520
|
+
WAREHOUSE_RACKS.map((f) => /* @__PURE__ */ jsxRuntime.jsx("g", { children: rackDrawing(f, 4, rackFrame, boxes, outline ? width * 0.7 : width * 0.35, outline, true) }, f.left))
|
|
515
521
|
] });
|
|
516
522
|
}
|
|
517
523
|
const NtdWarehouse = /* @__PURE__ */ createIcon.createIcon({
|
|
@@ -5,7 +5,7 @@ const createIcon = require("../createIcon.js");
|
|
|
5
5
|
const iconParts = require("../iconParts.js");
|
|
6
6
|
const weather = require("./weather.js");
|
|
7
7
|
const RECYCLE_TURNS = [0, 120, 240];
|
|
8
|
-
const RECYCLE_BAND = "M7.82 12.85L5.42 17H9.
|
|
8
|
+
const RECYCLE_BAND = "M7.82 12.85L5.42 17H9.25";
|
|
9
9
|
const RECYCLE_HEAD = "M9.22 14.7L11.82 17L9.22 19.3Z";
|
|
10
10
|
function recycleArrows(colors, width, filled) {
|
|
11
11
|
return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: RECYCLE_TURNS.map((turn, i) => /* @__PURE__ */ jsxRuntime.jsxs("g", { transform: `rotate(${turn} 12 13.2)`, children: [
|