@nice2dev/icons 1.3.18 → 1.4.1

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
@@ -127,74 +127,40 @@ const NtdGlass = /* @__PURE__ */ createIcon.createIcon({
127
127
  ] })
128
128
  }
129
129
  });
130
+ 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";
131
+ const HEART_PULSE_LINE = "M0 12H8L10 9L12 15L14 12H24";
132
+ function heartPulse(uid, heart, pulse, width) {
133
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
134
+ heart,
135
+ iconParts.within(
136
+ uid,
137
+ "pulse",
138
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: HEART_PULSE_HEART }),
139
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: HEART_PULSE_LINE, stroke: pulse, strokeWidth: width, fill: "none" })
140
+ )
141
+ ] });
142
+ }
130
143
  const NtdHeartPulse = /* @__PURE__ */ createIcon.createIcon({
131
144
  displayName: "NtdHeartPulse",
132
145
  paths: {
133
- solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth: _strokeWidth }) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
134
- /* @__PURE__ */ jsxRuntime.jsx(
135
- "path",
136
- {
137
- 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",
138
- fill: primaryColor
139
- }
140
- ),
141
- /* @__PURE__ */ jsxRuntime.jsx(
142
- "polyline",
143
- {
144
- points: "3,12 8,12 10,9 12,15 14,12 21,12",
145
- stroke: accentColor,
146
- strokeWidth: "1.5",
147
- fill: "none",
148
- opacity: accentOpacity
149
- }
150
- )
151
- ] }),
152
- outline: ({ primaryColor, strokeWidth }) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
153
- /* @__PURE__ */ jsxRuntime.jsx(
154
- "path",
155
- {
156
- 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",
157
- stroke: primaryColor,
158
- strokeWidth,
159
- fill: "none"
160
- }
161
- ),
162
- /* @__PURE__ */ jsxRuntime.jsx(
163
- "polyline",
164
- {
165
- points: "3,12 8,12 10,9 12,15 14,12 21,12",
166
- stroke: primaryColor,
167
- strokeWidth: "1.5",
168
- fill: "none"
169
- }
170
- )
171
- ] }),
172
- vivid: ({ primaryColor, secondaryColor }) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
173
- /* @__PURE__ */ jsxRuntime.jsx(
174
- "path",
175
- {
176
- 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",
177
- fill: primaryColor
178
- }
179
- ),
180
- /* @__PURE__ */ jsxRuntime.jsx(
181
- "path",
182
- {
183
- 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",
184
- fill: "white",
185
- opacity: "0.1"
186
- }
187
- ),
188
- /* @__PURE__ */ jsxRuntime.jsx(
189
- "polyline",
190
- {
191
- points: "3,12 8,12 10,9 12,15 14,12 21,12",
192
- stroke: secondaryColor,
193
- strokeWidth: "1.8",
194
- fill: "none"
195
- }
196
- )
197
- ] })
146
+ solid: ({ primaryColor, accentColor, strokeWidth, uid }) => heartPulse(
147
+ uid,
148
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: HEART_PULSE_HEART, fill: primaryColor }),
149
+ accentColor,
150
+ strokeWidth * 1.5
151
+ ),
152
+ outline: ({ primaryColor, strokeWidth, uid }) => heartPulse(
153
+ uid,
154
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: HEART_PULSE_HEART, stroke: primaryColor, strokeWidth, fill: "none" }),
155
+ primaryColor,
156
+ strokeWidth
157
+ ),
158
+ vivid: ({ primaryColor, secondaryColor, strokeWidth, uid }) => heartPulse(
159
+ uid,
160
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: HEART_PULSE_HEART, fill: primaryColor }),
161
+ secondaryColor,
162
+ strokeWidth * 1.5
163
+ )
198
164
  }
199
165
  });
200
166
  const NtdPill = /* @__PURE__ */ createIcon.createIcon({
@@ -633,7 +599,8 @@ const NtdHamburger = /* @__PURE__ */ createIcon.createIcon({
633
599
  });
634
600
  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";
635
601
  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";
636
- 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";
602
+ 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";
603
+ const DNA_PAIR_WIDTH = 0.6;
637
604
  function dnaHelix(strandA, strandB, pairs, strand, pair) {
638
605
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
639
606
  /* @__PURE__ */ jsxRuntime.jsx("path", { d: DNA_PAIRS, stroke: pairs, strokeWidth: pair }),
@@ -644,12 +611,30 @@ function dnaHelix(strandA, strandB, pairs, strand, pair) {
644
611
  const NtdDna = /* @__PURE__ */ createIcon.createIcon({
645
612
  displayName: "NtdDna",
646
613
  paths: {
647
- solid: ({ primaryColor, strokeWidth }) => dnaHelix(primaryColor, primaryColor, primaryColor, strokeWidth * 2, strokeWidth),
648
- outline: ({ primaryColor, strokeWidth }) => dnaHelix(primaryColor, primaryColor, primaryColor, strokeWidth, strokeWidth),
614
+ solid: ({ primaryColor, strokeWidth }) => dnaHelix(
615
+ primaryColor,
616
+ primaryColor,
617
+ primaryColor,
618
+ strokeWidth * 2,
619
+ strokeWidth * DNA_PAIR_WIDTH
620
+ ),
621
+ outline: ({ primaryColor, strokeWidth }) => dnaHelix(primaryColor, primaryColor, primaryColor, strokeWidth, strokeWidth * DNA_PAIR_WIDTH),
649
622
  // the strands primary, the pairs secondary
650
- duotone: ({ primaryColor, secondaryColor, strokeWidth }) => dnaHelix(primaryColor, primaryColor, secondaryColor, strokeWidth * 2, strokeWidth),
623
+ duotone: ({ primaryColor, secondaryColor, strokeWidth }) => dnaHelix(
624
+ primaryColor,
625
+ primaryColor,
626
+ secondaryColor,
627
+ strokeWidth * 2,
628
+ strokeWidth * DNA_PAIR_WIDTH
629
+ ),
651
630
  // one strand primary, the other and the pairs secondary
652
- vivid: ({ primaryColor, secondaryColor, strokeWidth }) => dnaHelix(primaryColor, secondaryColor, secondaryColor, strokeWidth * 2, strokeWidth)
631
+ vivid: ({ primaryColor, secondaryColor, strokeWidth }) => dnaHelix(
632
+ primaryColor,
633
+ secondaryColor,
634
+ secondaryColor,
635
+ strokeWidth * 2,
636
+ strokeWidth * DNA_PAIR_WIDTH
637
+ )
653
638
  }
654
639
  });
655
640
  exports.NtdApple = NtdApple;
@@ -106,6 +106,7 @@ exports.NtdUser = ui.NtdUser;
106
106
  exports.NtdUsers = ui.NtdUsers;
107
107
  exports.NtdWarning = ui.NtdWarning;
108
108
  exports.NtdWireframe = ui.NtdWireframe;
109
+ exports.NtdWishlist = ui.NtdWishlist;
109
110
  exports.NtdBiodegradable = sustainability.NtdBiodegradable;
110
111
  exports.NtdCarbonFootprint = sustainability.NtdCarbonFootprint;
111
112
  exports.NtdCo2 = sustainability.NtdCo2;
@@ -272,6 +273,8 @@ exports.NtdBank = business.NtdBank;
272
273
  exports.NtdBarcode = business.NtdBarcode;
273
274
  exports.NtdBriefcase = business.NtdBriefcase;
274
275
  exports.NtdCalculator = business.NtdCalculator;
276
+ exports.NtdCash = business.NtdCash;
277
+ exports.NtdCashStack = business.NtdCashStack;
275
278
  exports.NtdClipboardCheck = business.NtdClipboardCheck;
276
279
  exports.NtdCoins = business.NtdCoins;
277
280
  exports.NtdDollar = business.NtdDollar;
@@ -298,6 +301,10 @@ exports.NtdThumbsUp = social.NtdThumbsUp;
298
301
  exports.NtdAIBrain = devtech.NtdAIBrain;
299
302
  exports.NtdAstroLogo = devtech.NtdAstroLogo;
300
303
  exports.NtdBattery = devtech.NtdBattery;
304
+ exports.NtdBatteryFull = devtech.NtdBatteryFull;
305
+ exports.NtdBatteryHalf = devtech.NtdBatteryHalf;
306
+ exports.NtdBatteryQuarter = devtech.NtdBatteryQuarter;
307
+ exports.NtdBatteryThreeQuarters = devtech.NtdBatteryThreeQuarters;
301
308
  exports.NtdBlueprint = devtech.NtdBlueprint;
302
309
  exports.NtdBrackets = devtech.NtdBrackets;
303
310
  exports.NtdBugDev = devtech.NtdBugDev;
@@ -326,6 +333,7 @@ exports.NtdSolidJsLogo = devtech.NtdSolidJsLogo;
326
333
  exports.NtdSvelteLogo = devtech.NtdSvelteLogo;
327
334
  exports.NtdTauriLogo = devtech.NtdTauriLogo;
328
335
  exports.NtdViteLogo = devtech.NtdViteLogo;
336
+ exports.batteryIconFor = devtech.batteryIconFor;
329
337
  exports.NtdCartAdd = ecommerce.NtdCartAdd;
330
338
  exports.NtdCartRemove = ecommerce.NtdCartRemove;
331
339
  exports.NtdCheckout = ecommerce.NtdCheckout;
@@ -339,7 +347,6 @@ exports.NtdRefund = ecommerce.NtdRefund;
339
347
  exports.NtdReturn = ecommerce.NtdReturn;
340
348
  exports.NtdShipping = ecommerce.NtdShipping;
341
349
  exports.NtdStorefront = ecommerce.NtdStorefront;
342
- exports.NtdWishlist = ecommerce.NtdWishlist;
343
350
  exports.NtdAirdrop = fintech.NtdAirdrop;
344
351
  exports.NtdBitcoin = fintech.NtdBitcoin;
345
352
  exports.NtdBlockchain = fintech.NtdBlockchain;
@@ -369,6 +376,7 @@ exports.NtdUsage = saas.NtdUsage;
369
376
  exports.NtdWebhook = saas.NtdWebhook;
370
377
  exports.NtdDoorbell = smarthome.NtdDoorbell;
371
378
  exports.NtdMotionSensor = smarthome.NtdMotionSensor;
379
+ exports.NtdRefrigerator = smarthome.NtdRefrigerator;
372
380
  exports.NtdRouter = smarthome.NtdRouter;
373
381
  exports.NtdSmartBulb = smarthome.NtdSmartBulb;
374
382
  exports.NtdSmartCamera = smarthome.NtdSmartCamera;
@@ -481,6 +489,7 @@ exports.NtdKeyRealEstate = realestate.NtdKey;
481
489
  exports.NtdMortgage = realestate.NtdMortgage;
482
490
  exports.NtdOfficeBuilding = realestate.NtdOfficeBuilding;
483
491
  exports.NtdPool = realestate.NtdPool;
492
+ exports.NtdShelfRack = realestate.NtdShelfRack;
484
493
  exports.NtdSold = realestate.NtdSold;
485
494
  exports.NtdSquareMeters = realestate.NtdSquareMeters;
486
495
  exports.NtdVilla = realestate.NtdVilla;
@@ -491,8 +500,10 @@ exports.NtdBurger = food.NtdBurger;
491
500
  exports.NtdChefHat = food.NtdChefHat;
492
501
  exports.NtdCocktail = food.NtdCocktail;
493
502
  exports.NtdCoffeeFood = food.NtdCoffee;
503
+ exports.NtdCookingPan = food.NtdCookingPan;
494
504
  exports.NtdForkKnife = food.NtdForkKnife;
495
505
  exports.NtdHotdog = food.NtdHotdog;
506
+ exports.NtdKnife = food.NtdKnife;
496
507
  exports.NtdPlate = food.NtdPlate;
497
508
  exports.NtdRecipe = food.NtdRecipe;
498
509
  exports.NtdRestaurant = food.NtdRestaurant;
@@ -291,9 +291,9 @@ const NtdShipment = /* @__PURE__ */ createIcon.createIcon({
291
291
  ] })
292
292
  }
293
293
  });
294
- const FOOD_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";
295
- const FOOD_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";
296
- const FOOD_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";
294
+ const FOOD_FORK = iconParts.CUTLERY_FORK;
295
+ const FOOD_KNIFE = iconParts.CUTLERY_KNIFE;
296
+ const FOOD_FORK_LINES = iconParts.CUTLERY_FORK_LINES;
297
297
  function placeSetting(plate, cutlery, ringWidth, filled) {
298
298
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
299
299
  /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "12.1", cy: "12", r: "6.6", stroke: plate, strokeWidth: ringWidth, fill: "none" }),
@@ -421,105 +421,107 @@ const NtdOfficeBuilding = /* @__PURE__ */ createIcon.createIcon({
421
421
  ] })
422
422
  }
423
423
  });
424
+ const WAREHOUSE = "M1.5 9.2L12 3.5L22.5 9.2V21H18.5V11H5.5V21H1.5Z";
425
+ const WAREHOUSE_BOXES = [
426
+ [6.6, 21, 5, 4.6],
427
+ [12.4, 21, 5, 4.6],
428
+ [9.5, 15.6, 5, 3.5]
429
+ ];
430
+ function boxRects(boxes) {
431
+ return boxes.map(([x, bottom, w, h]) => `M${x} ${bottom - h}h${w}v${h}h${-w}Z`).join("");
432
+ }
433
+ function boxTapes(boxes) {
434
+ return boxes.map(([x, bottom, w, h]) => `M${x + w / 2} ${bottom - h}v${h * 0.42}`).join("");
435
+ }
436
+ function storageBoxes(boxes, fill, tape, width, uid, name) {
437
+ const rects = boxRects(boxes);
438
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
439
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: rects, fill }),
440
+ iconParts.within(
441
+ uid,
442
+ name,
443
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: rects }),
444
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: boxTapes(boxes), stroke: tape, strokeWidth: width, fill: "none" })
445
+ )
446
+ ] });
447
+ }
448
+ function warehouseFilled({ primaryColor, accentColor, strokeWidth, uid }, boxes) {
449
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
450
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: WAREHOUSE, fill: primaryColor }),
451
+ storageBoxes(WAREHOUSE_BOXES, boxes, accentColor, strokeWidth, uid, "boxes")
452
+ ] });
453
+ }
454
+ function warehouseLines(color, width) {
455
+ return /* @__PURE__ */ jsxRuntime.jsxs("g", { stroke: color, strokeWidth: width, strokeLinejoin: "miter", fill: "none", children: [
456
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: WAREHOUSE }),
457
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: boxRects(WAREHOUSE_BOXES) }),
458
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: boxTapes(WAREHOUSE_BOXES) })
459
+ ] });
460
+ }
424
461
  const NtdWarehouse = /* @__PURE__ */ createIcon.createIcon({
425
462
  displayName: "NtdWarehouse",
426
463
  paths: {
427
- solid: ({ primaryColor }) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
428
- /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M12 2L2 8v12a2 2 0 002 2h16a2 2 0 002-2V8L12 2z", fill: primaryColor }),
429
- /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "6", y: "14", width: "5", height: "8", fill: "white", opacity: "0.3" }),
430
- /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "13", y: "14", width: "5", height: "8", fill: "white", opacity: "0.3" }),
431
- /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M6 14v8M11 14v8M13 14v8M18 14v8", stroke: "white", strokeWidth: "1.5" })
432
- ] }),
433
- outline: ({ primaryColor, strokeWidth }) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
434
- /* @__PURE__ */ jsxRuntime.jsx(
435
- "path",
436
- {
437
- d: "M12 2L2 8v12a2 2 0 002 2h16a2 2 0 002-2V8L12 2z",
438
- stroke: primaryColor,
439
- strokeWidth,
440
- fill: "none",
441
- strokeLinejoin: "round"
442
- }
443
- ),
444
- /* @__PURE__ */ jsxRuntime.jsx(
445
- "rect",
446
- {
447
- x: "6",
448
- y: "14",
449
- width: "5",
450
- height: "8",
451
- stroke: primaryColor,
452
- strokeWidth,
453
- fill: "none"
454
- }
455
- ),
456
- /* @__PURE__ */ jsxRuntime.jsx(
457
- "rect",
458
- {
459
- x: "13",
460
- y: "14",
461
- width: "5",
462
- height: "8",
463
- stroke: primaryColor,
464
- strokeWidth,
465
- fill: "none"
466
- }
467
- ),
468
- /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M8.5 14v8M15.5 14v8", stroke: primaryColor, strokeWidth })
469
- ] }),
470
- duotone: iconParts.swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
471
- /* @__PURE__ */ jsxRuntime.jsx(
472
- "path",
473
- {
474
- d: "M12 2L2 8v12a2 2 0 002 2h16a2 2 0 002-2V8L12 2z",
475
- fill: secondaryColor,
476
- opacity: secondaryOpacity
477
- }
478
- ),
479
- /* @__PURE__ */ jsxRuntime.jsx(
480
- "path",
481
- {
482
- d: "M12 2L2 8v12a2 2 0 002 2h16a2 2 0 002-2V8L12 2z",
483
- stroke: primaryColor,
484
- strokeWidth,
485
- fill: "none",
486
- strokeLinejoin: "round"
487
- }
488
- ),
489
- /* @__PURE__ */ jsxRuntime.jsx(
490
- "rect",
491
- {
492
- x: "6",
493
- y: "14",
494
- width: "5",
495
- height: "8",
496
- fill: primaryColor,
497
- opacity: "0.5",
498
- stroke: primaryColor,
499
- strokeWidth
500
- }
501
- ),
502
- /* @__PURE__ */ jsxRuntime.jsx(
503
- "rect",
504
- {
505
- x: "13",
506
- y: "14",
507
- width: "5",
508
- height: "8",
509
- fill: primaryColor,
510
- opacity: "0.5",
511
- stroke: primaryColor,
512
- strokeWidth
513
- }
514
- )
515
- ] })),
516
- vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
517
- /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M12 2L2 8v12a2 2 0 002 2h16a2 2 0 002-2V8L12 2z", fill: primaryColor }),
518
- /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M12 2L2 8v12a2 2 0 002 2h16a2 2 0 002-2V8L12 2z", fill: "white", opacity: "0.08" }),
519
- /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "6", y: "14", width: "5", height: "8", fill: "white", opacity: "0.3" }),
520
- /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "13", y: "14", width: "5", height: "8", fill: "white", opacity: "0.3" }),
521
- /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M6 14v8M11 14v8M13 14v8M18 14v8", stroke: "white", strokeWidth: "1" })
522
- ] })
464
+ solid: (props) => props.variant === "wireframe" ? warehouseLines(props.primaryColor, 1) : warehouseFilled(props, props.primaryColor),
465
+ outline: ({ primaryColor, strokeWidth }) => warehouseLines(primaryColor, strokeWidth),
466
+ duotone: (props) => warehouseFilled(props, props.secondaryColor),
467
+ vivid: (props) => warehouseFilled(props, props.secondaryColor)
468
+ }
469
+ });
470
+ const RACK_UPRIGHTS = "M4 3V21M20 3V21";
471
+ const RACK_SHELVES = [8.5, 14.75, 21];
472
+ const RACK_BOXES = [
473
+ [
474
+ [6.2, 5, 4],
475
+ [12.4, 3.6, 3]
476
+ ],
477
+ [
478
+ [6.2, 3.6, 3.4],
479
+ [11, 5.2, 4.4]
480
+ ],
481
+ [
482
+ [6.2, 5.4, 4.6],
483
+ [12.8, 4.4, 3.4]
484
+ ]
485
+ ];
486
+ function rackBoxes(width) {
487
+ return RACK_SHELVES.flatMap(
488
+ (y, i) => RACK_BOXES[i].map(([x, w, h]) => [x, y - width / 2, w, h])
489
+ );
490
+ }
491
+ function rackFrame(color, width) {
492
+ return /* @__PURE__ */ jsxRuntime.jsx(
493
+ "path",
494
+ {
495
+ d: `${RACK_UPRIGHTS}${RACK_SHELVES.map((y) => `M4 ${y}H20`).join("")}`,
496
+ stroke: color,
497
+ strokeWidth: width,
498
+ fill: "none"
499
+ }
500
+ );
501
+ }
502
+ function rackFilled({ primaryColor, accentColor, strokeWidth, uid }, boxes) {
503
+ const width = strokeWidth * 2;
504
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
505
+ rackFrame(primaryColor, width),
506
+ storageBoxes(rackBoxes(width), boxes, accentColor, strokeWidth, uid, "rack")
507
+ ] });
508
+ }
509
+ const NtdShelfRack = /* @__PURE__ */ createIcon.createIcon({
510
+ displayName: "NtdShelfRack",
511
+ paths: {
512
+ solid: (props) => rackFilled(props, props.primaryColor),
513
+ outline: ({ primaryColor, strokeWidth }) => {
514
+ const boxes = rackBoxes(strokeWidth);
515
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
516
+ rackFrame(primaryColor, strokeWidth),
517
+ /* @__PURE__ */ jsxRuntime.jsxs("g", { stroke: primaryColor, strokeWidth, strokeLinejoin: "miter", fill: "none", children: [
518
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: boxRects(boxes) }),
519
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: boxTapes(boxes) })
520
+ ] })
521
+ ] });
522
+ },
523
+ duotone: (props) => rackFilled(props, props.secondaryColor),
524
+ vivid: (props) => rackFilled(props, props.secondaryColor)
523
525
  }
524
526
  });
525
527
  const NtdKey = /* @__PURE__ */ createIcon.createIcon({
@@ -1551,6 +1553,7 @@ const realestateIcons = {
1551
1553
  NtdVilla,
1552
1554
  NtdOfficeBuilding,
1553
1555
  NtdWarehouse,
1556
+ NtdShelfRack,
1554
1557
  NtdKey,
1555
1558
  NtdFloorPlan,
1556
1559
  NtdSquareMeters,
@@ -1576,6 +1579,7 @@ exports.NtdKey = NtdKey;
1576
1579
  exports.NtdMortgage = NtdMortgage;
1577
1580
  exports.NtdOfficeBuilding = NtdOfficeBuilding;
1578
1581
  exports.NtdPool = NtdPool;
1582
+ exports.NtdShelfRack = NtdShelfRack;
1579
1583
  exports.NtdSold = NtdSold;
1580
1584
  exports.NtdSquareMeters = NtdSquareMeters;
1581
1585
  exports.NtdVilla = NtdVilla;
@@ -550,16 +550,23 @@ const NtdRadiation = /* @__PURE__ */ createIcon.createIcon({
550
550
  ] })
551
551
  }
552
552
  });
553
- const NUKE_CAP = "M5.43 11.6A3.4 3.4 0 0 1 7.64 5.33A4.6 4.6 0 0 1 16.36 5.33A3.4 3.4 0 0 1 18.57 11.6Z";
554
- const NUKE_STEM = "M10.7 11V16.6Q10.4 20.4 6.8 21.5H17.2Q13.6 20.4 13.3 16.6V11Z";
555
- const NUKE_STEM_OPEN = "M10.7 11.6V16.6Q10.4 20.4 6.8 21.5H17.2Q13.6 20.4 13.3 16.6V11.6";
556
- const NUKE_CAP_ROUND_CORE = "M5.65 10.85A2.65 2.65 0 0 1 8.19 6.24A3.85 3.85 0 0 1 15.81 6.24A2.65 2.65 0 0 1 18.35 10.85Z";
557
- const NUKE_STEM_ROUND_CORE = "M11.45 11.75V16.6Q11.2 19.6 9.1 20.75H14.9Q12.8 19.6 12.55 16.6V11.75Z";
553
+ const NUKE_CAP = "M7.2 12.1A3.4 3.4 0 1 1 7.64 5.33A4.6 4.6 0 0 1 16.36 5.33A3.4 3.4 0 1 1 16.8 12.1Q12 9.1 7.2 12.1Z";
554
+ const NUKE_STEM = "M10.7 10V16.6Q10.4 20.4 6.8 21.5H17.2Q13.6 20.4 13.3 16.6V10Z";
555
+ const NUKE_STEM_OPEN = "M10.7 10.71V16.6Q10.4 20.4 6.8 21.5H17.2Q13.6 20.4 13.3 16.6V10.71";
556
+ const NUKE_CAP_ROUND_CORE = "M7.2 11.35A2.65 2.65 0 1 1 8.19 6.24A3.85 3.85 0 0 1 15.81 6.24A2.65 2.65 0 1 1 16.8 11.35Q12 8.35 7.2 11.35Z";
557
+ const NUKE_STEM_ROUND_CORE = "M11.45 10.75V16.6Q11.2 19.6 9.1 20.75H14.9Q12.8 19.6 12.55 16.6V10.75Z";
558
558
  const NtdNuke = /* @__PURE__ */ createIcon.createIcon({
559
559
  displayName: "NtdNuke",
560
560
  paths: {
561
- solid: ({ primaryColor }) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
562
- /* @__PURE__ */ jsxRuntime.jsx("path", { d: NUKE_STEM, fill: primaryColor }),
561
+ // the wireframe re-draws this as lines: there the stem stays open where it enters the cap
562
+ solid: ({ primaryColor, variant }) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
563
+ /* @__PURE__ */ jsxRuntime.jsx(
564
+ "path",
565
+ {
566
+ d: variant === "wireframe" ? NUKE_STEM_OPEN : NUKE_STEM,
567
+ fill: variant === "wireframe" ? "none" : primaryColor
568
+ }
569
+ ),
563
570
  /* @__PURE__ */ jsxRuntime.jsx("path", { d: NUKE_CAP, fill: primaryColor })
564
571
  ] }),
565
572
  rounded: ({ primaryColor }) => /* @__PURE__ */ jsxRuntime.jsxs("g", { fill: primaryColor, stroke: primaryColor, strokeWidth: "1.5", strokeLinejoin: "round", children: [
@@ -1018,41 +1025,72 @@ const NtdTelescope = /* @__PURE__ */ createIcon.createIcon({
1018
1025
  ] })
1019
1026
  }
1020
1027
  });
1021
- const PLANET_BACK = ["M1 12A11 3 0 0 1 6.5 9.4", "M17.5 9.4A11 3 0 0 1 23 12"];
1022
- const PLANET_BACK_EDGE = ["M1 12A11 3 0 0 1 4.29 9.86", "M19.71 9.86A11 3 0 0 1 23 12"];
1023
- const PLANET_FRONT = ["M1 12A11 3 0 0 0 23 12"];
1024
- function planetRing(arcs, ring, rim, width, rimWidth) {
1025
- return /* @__PURE__ */ jsxRuntime.jsxs("g", { transform: "rotate(-20 12 12)", fill: "none", children: [
1026
- arcs.map((d) => /* @__PURE__ */ jsxRuntime.jsx("path", { d, stroke: rim, strokeWidth: width + 2 * rimWidth }, `rim-${d}`)),
1027
- arcs.map((d) => /* @__PURE__ */ jsxRuntime.jsx("path", { d, stroke: ring, strokeWidth: width }, d))
1028
+ const PLANET_TILT = "rotate(-20 12 12)";
1029
+ function planetBand(half, near) {
1030
+ const ox = 11 + half;
1031
+ const oy = 3 + half;
1032
+ const ix = 11 - half;
1033
+ const iy = 3 - half;
1034
+ return near ? `M${12 - ox} 12A${ox} ${oy} 0 0 0 ${12 + ox} 12H${12 + ix}A${ix} ${iy} 0 0 1 ${12 - ix} 12Z` : `M${12 - ox} 12A${ox} ${oy} 0 1 0 ${12 + ox} 12A${ox} ${oy} 0 1 0 ${12 - ox} 12ZM${12 - ix} 12A${ix} ${iy} 0 1 1 ${12 + ix} 12A${ix} ${iy} 0 1 1 ${12 - ix} 12Z`;
1035
+ }
1036
+ function planetFilled(ring, rim, globe, width, rimWidth) {
1037
+ const band = (near) => /* @__PURE__ */ jsxRuntime.jsxs("g", { transform: PLANET_TILT, children: [
1038
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: planetBand(width / 2 + rimWidth, near), fill: rim, fillRule: "evenodd" }),
1039
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: planetBand(width / 2, near), fill: ring, fillRule: "evenodd" })
1040
+ ] });
1041
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1042
+ band(false),
1043
+ globe,
1044
+ band(true)
1045
+ ] });
1046
+ }
1047
+ const PLANET_ELLIPSE = "M1 12A11 3 0 1 0 23 12A11 3 0 1 0 1 12Z";
1048
+ const PLANET_NEAR = "M1 12A11 3 0 0 0 23 12";
1049
+ function planetLines(uid, ring, rim, width, rimWidth) {
1050
+ const cut = 8 + width / 2 + width * 0.75;
1051
+ const stroke = (d) => /* @__PURE__ */ jsxRuntime.jsxs("g", { transform: PLANET_TILT, fill: "none", children: [
1052
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d, stroke: rim, strokeWidth: width + 2 * rimWidth }),
1053
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d, stroke: ring, strokeWidth: width })
1054
+ ] });
1055
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1056
+ iconParts.within(
1057
+ uid,
1058
+ "back",
1059
+ /* @__PURE__ */ jsxRuntime.jsx(
1060
+ "path",
1061
+ {
1062
+ d: `M-2-2H26V26H-2ZM${12 - cut} 12a${cut} ${cut} 0 1 0 ${2 * cut} 0a${cut} ${cut} 0 1 0 ${-2 * cut} 0Z`,
1063
+ clipRule: "evenodd"
1064
+ }
1065
+ ),
1066
+ stroke(PLANET_ELLIPSE)
1067
+ ),
1068
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "8", stroke: ring, strokeWidth: width, fill: "none" }),
1069
+ iconParts.within(uid, "near", /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: cut + 0.3 }), stroke(PLANET_NEAR))
1028
1070
  ] });
1029
1071
  }
1030
1072
  const NtdPlanet = /* @__PURE__ */ createIcon.createIcon({
1031
1073
  displayName: "NtdPlanet",
1032
1074
  paths: {
1033
- // the wireframe re-draws this as lines: there the stubs stop at the disc too
1034
- solid: ({ primaryColor, accentColor, variant }) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1035
- planetRing(
1036
- variant === "wireframe" ? PLANET_BACK_EDGE : PLANET_BACK,
1037
- primaryColor,
1038
- accentColor,
1039
- 2,
1040
- 0.55
1041
- ),
1075
+ // the wireframe re-draws this as lines: there the back must not cross the open globe
1076
+ solid: ({ primaryColor, accentColor, variant, uid }) => variant === "wireframe" ? planetLines(uid, primaryColor, accentColor, 1, 0) : planetFilled(
1077
+ primaryColor,
1078
+ accentColor,
1042
1079
  /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "8", fill: primaryColor }),
1043
- planetRing(PLANET_FRONT, primaryColor, accentColor, 2, 0.55)
1044
- ] }),
1045
- outline: ({ primaryColor, accentColor, strokeWidth }) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1046
- planetRing(PLANET_BACK_EDGE, primaryColor, accentColor, strokeWidth, strokeWidth * 0.35),
1047
- /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "8", stroke: primaryColor, strokeWidth, fill: "none" }),
1048
- planetRing(PLANET_FRONT, primaryColor, accentColor, strokeWidth, strokeWidth * 0.35)
1049
- ] }),
1050
- vivid: ({ primaryColor, accentColor }) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1051
- planetRing(PLANET_BACK, primaryColor, accentColor, 1.8, 0.55),
1052
- /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "8", fill: primaryColor }),
1053
- /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "8", fill: "white", opacity: "0.1" }),
1054
- planetRing(PLANET_FRONT, primaryColor, accentColor, 1.8, 0.55)
1055
- ] })
1080
+ 2,
1081
+ 0.55
1082
+ ),
1083
+ outline: ({ primaryColor, accentColor, strokeWidth, uid }) => planetLines(uid, primaryColor, accentColor, strokeWidth, strokeWidth * 0.35),
1084
+ vivid: ({ primaryColor, accentColor }) => planetFilled(
1085
+ primaryColor,
1086
+ accentColor,
1087
+ /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1088
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "8", fill: primaryColor }),
1089
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "8", fill: "white", opacity: "0.1" })
1090
+ ] }),
1091
+ 1.8,
1092
+ 0.55
1093
+ )
1056
1094
  }
1057
1095
  });
1058
1096
  const NtdRocket = /* @__PURE__ */ createIcon.createIcon({