@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.
@@ -428,7 +428,7 @@ const RACK_SLOTS = [
428
428
  [6.9, 6.2, 4.2]
429
429
  ];
430
430
  const round = (n) => Math.round(n * 1e3) / 1e3;
431
- function rackGeometry(f, width, boxes) {
431
+ function rackGeometry(f, width, boxes, even = false) {
432
432
  const heavy = width * 1.35;
433
433
  const topEdge = f.top - heavy / 2;
434
434
  const bottomEdge = f.bottom - heavy / 2;
@@ -449,16 +449,22 @@ function rackGeometry(f, width, boxes) {
449
449
  { floor: shelf - half, ceiling: topEdge + width }
450
450
  ];
451
451
  const scale = (f.right - f.left) / 16;
452
+ const gap = 0.6 * scale;
453
+ const evenWidth = (f.right - f.left - width - 3 * gap) / 2;
452
454
  const rects = RACK_SLOTS.slice(0, boxes).map(([x, w, h], i) => {
453
455
  const level = levels[Math.floor(i / 2)];
454
- const gap = 0.6 * scale;
455
- const bh = Math.min(h * scale, level.floor - level.ceiling - gap - 0.4 * scale);
456
+ const room = level.floor - level.ceiling - gap - 0.4 * scale;
457
+ if (even) {
458
+ const left = f.left + half + gap + i % 2 * (evenWidth + gap);
459
+ return rect(left, level.floor - gap - room, evenWidth, room);
460
+ }
461
+ const bh = Math.min(h * scale, room);
456
462
  return rect(f.left + half + x * scale, level.floor - gap - bh, w * scale, bh);
457
463
  }).join("");
458
464
  return { lines, frame, rects };
459
465
  }
460
- function rackDrawing(f, boxes, frame, fill, width, outline) {
461
- const g = rackGeometry(f, width, boxes);
466
+ function rackDrawing(f, boxes, frame, fill, width, outline, even = false) {
467
+ const g = rackGeometry(f, width, boxes, even);
462
468
  if (outline) {
463
469
  return /* @__PURE__ */ jsxs(Fragment, { children: [
464
470
  /* @__PURE__ */ jsx("path", { d: g.lines, stroke: frame, strokeWidth: width, strokeLinecap: "butt", fill: "none" }),
@@ -503,13 +509,13 @@ function shelfRackIconFor(level) {
503
509
  }
504
510
  const WAREHOUSE = "M1.5 9.2L12 3.5L22.5 9.2V21H20.4V11H3.6V21H1.5Z";
505
511
  const WAREHOUSE_RACKS = [
506
- { left: 4.75, right: 11.15, top: 12.3, bottom: 19.25, floor: 21 },
507
- { left: 12.85, right: 19.25, top: 12.3, bottom: 19.25, floor: 21 }
512
+ { left: 4.75, right: 11.15, top: 12.3, bottom: 20.3, floor: 21 },
513
+ { left: 12.85, right: 19.25, top: 12.3, bottom: 20.3, floor: 21 }
508
514
  ];
509
515
  function warehouseDrawing(hall, rackFrame, boxes, width, outline) {
510
516
  return /* @__PURE__ */ jsxs(Fragment, { children: [
511
517
  outline ? /* @__PURE__ */ jsx("path", { d: WAREHOUSE, stroke: hall, strokeWidth: width, strokeLinejoin: "miter", fill: "none" }) : /* @__PURE__ */ jsx("path", { d: WAREHOUSE, fill: hall }),
512
- WAREHOUSE_RACKS.map((f) => /* @__PURE__ */ jsx("g", { children: rackDrawing(f, 4, rackFrame, boxes, outline ? width * 0.7 : width * 0.35, outline) }, f.left))
518
+ WAREHOUSE_RACKS.map((f) => /* @__PURE__ */ jsx("g", { children: rackDrawing(f, 4, rackFrame, boxes, outline ? width * 0.7 : width * 0.35, outline, true) }, f.left))
513
519
  ] });
514
520
  }
515
521
  const NtdWarehouse = /* @__PURE__ */ createIcon({
@@ -3,7 +3,7 @@ import { createIcon } from "../createIcon.js";
3
3
  import { swapDuotone } from "../iconParts.js";
4
4
  import { NtdHydropower } from "./weather.js";
5
5
  const RECYCLE_TURNS = [0, 120, 240];
6
- const RECYCLE_BAND = "M7.82 12.85L5.42 17H9.5";
6
+ const RECYCLE_BAND = "M7.82 12.85L5.42 17H9.25";
7
7
  const RECYCLE_HEAD = "M9.22 14.7L11.82 17L9.22 19.3Z";
8
8
  function recycleArrows(colors, width, filled) {
9
9
  return /* @__PURE__ */ jsx(Fragment, { children: RECYCLE_TURNS.map((turn, i) => /* @__PURE__ */ jsxs("g", { transform: `rotate(${turn} 12 13.2)`, children: [
@@ -134,21 +134,36 @@ const NtdUserTie = /* @__PURE__ */ createIcon({
134
134
  vivid: ({ primaryColor, secondaryColor, accentColor, accentOpacity }) => userTieFilled(primaryColor, secondaryColor, accentColor, accentOpacity, primaryColor)
135
135
  }
136
136
  });
137
- const USERS_FRONT_HEAD = { cx: 12, cy: 8, r: 3.75 };
137
+ const USERS_FRONT_HEAD = { cx: 12, cy: 10.2, r: 3.75 };
138
138
  const USERS_FRONT_BODY = "M18 21.5v-2.25a3.75 3.75 0 00-3.75-3.75h-4.5A3.75 3.75 0 006 19.25v2.25";
139
139
  const USERS_BACK_HEADS = [
140
- { cx: 5, cy: 7.5, r: 2.6 },
141
- { cx: 19, cy: 7.5, r: 2.6 }
140
+ { cx: 5, cy: 9.8, r: 2.6 },
141
+ { cx: 19, cy: 9.8, r: 2.6 }
142
142
  ];
143
143
  const USERS_BACK_BODIES = [
144
- "M0.75 19.5v-3.6a3.4 3.4 0 013.4-3.4h1.7a3.4 3.4 0 013.4 3.4v3.6",
145
- "M14.75 19.5v-3.6a3.4 3.4 0 013.4-3.4h1.7a3.4 3.4 0 013.4 3.4v3.6"
144
+ "M0.75 21.5v-4.6a3.4 3.4 0 013.4-3.4h1.7a3.4 3.4 0 013.4 3.4v4.6",
145
+ "M14.75 21.5v-4.6a3.4 3.4 0 013.4-3.4h1.7a3.4 3.4 0 013.4 3.4v4.6"
146
146
  ];
147
- function usersFilled(front, back, { accentColor, accentOpacity, strokeWidth }) {
147
+ const USERS_BACK_TURNS = ["rotate(-15 5.15 17)", "rotate(15 19.15 17)"];
148
+ const USERS_BACK_FLOOR = /* @__PURE__ */ jsx("rect", { width: "24", height: "20.5" });
149
+ function usersBehind(uid, draw) {
150
+ return within(
151
+ uid,
152
+ "floor",
153
+ USERS_BACK_FLOOR,
154
+ /* @__PURE__ */ jsxs(Fragment, { children: [
155
+ /* @__PURE__ */ jsx("g", { transform: USERS_BACK_TURNS[0], children: draw(0) }),
156
+ /* @__PURE__ */ jsx("g", { transform: USERS_BACK_TURNS[1], children: draw(1) })
157
+ ] })
158
+ );
159
+ }
160
+ function usersFilled(front, back, { accentColor, accentOpacity, strokeWidth, uid }) {
148
161
  const gap = strokeWidth * 0.5;
149
162
  return /* @__PURE__ */ jsxs(Fragment, { children: [
150
- USERS_BACK_HEADS.map((h) => /* @__PURE__ */ jsx("circle", { ...h, fill: back }, h.cx)),
151
- /* @__PURE__ */ jsx("path", { d: USERS_BACK_BODIES.map((d) => `${d}z`).join(""), fill: back }),
163
+ usersBehind(uid, (i) => /* @__PURE__ */ jsxs(Fragment, { children: [
164
+ /* @__PURE__ */ jsx("circle", { ...USERS_BACK_HEADS[i], fill: back }),
165
+ /* @__PURE__ */ jsx("path", { d: `${USERS_BACK_BODIES[i]}z`, fill: back })
166
+ ] })),
152
167
  /* @__PURE__ */ jsxs("g", { fill: accentColor, opacity: accentOpacity, children: [
153
168
  /* @__PURE__ */ jsx("circle", { ...USERS_FRONT_HEAD, r: USERS_FRONT_HEAD.r + gap }),
154
169
  /* @__PURE__ */ jsx(
@@ -185,10 +200,10 @@ const NtdUsers = /* @__PURE__ */ createIcon({
185
200
  }
186
201
  )
187
202
  ] }),
188
- /* @__PURE__ */ jsxs("g", { stroke: primaryColor, strokeWidth, fill: "none", mask: `url(#${id})`, children: [
189
- USERS_BACK_HEADS.map((h) => /* @__PURE__ */ jsx("circle", { ...h }, h.cx)),
190
- /* @__PURE__ */ jsx("path", { d: USERS_BACK_BODIES.join("") })
191
- ] }),
203
+ /* @__PURE__ */ jsx("g", { stroke: primaryColor, strokeWidth, fill: "none", mask: `url(#${id})`, children: usersBehind(uid, (i) => /* @__PURE__ */ jsxs(Fragment, { children: [
204
+ /* @__PURE__ */ jsx("circle", { ...USERS_BACK_HEADS[i] }),
205
+ /* @__PURE__ */ jsx("path", { d: USERS_BACK_BODIES[i] })
206
+ ] })) }),
192
207
  /* @__PURE__ */ jsxs("g", { stroke: primaryColor, strokeWidth, fill: "none", children: [
193
208
  /* @__PURE__ */ jsx("circle", { ...USERS_FRONT_HEAD }),
194
209
  /* @__PURE__ */ jsx("path", { d: USERS_FRONT_BODY })
@@ -800,7 +815,7 @@ function calendarIcon(displayName, kind) {
800
815
  /* @__PURE__ */ jsx("rect", { ...CALENDAR_PAGE }),
801
816
  /* @__PURE__ */ jsxs(Fragment, { children: [
802
817
  two && /* @__PURE__ */ jsx("path", { d: CALENDAR_HEAD_BAND, fill: secondaryColor }),
803
- /* @__PURE__ */ jsx("path", { d: "M3 9.5h18", stroke: accentColor, strokeWidth: "1.5", opacity: accentOpacity })
818
+ /* @__PURE__ */ jsx("path", { d: "M3 9.3h18", stroke: accentColor, strokeWidth: "1.1", opacity: accentOpacity })
804
819
  ] })
805
820
  ),
806
821
  /* @__PURE__ */ jsx(
@@ -659,8 +659,8 @@ const NtdTree = /* @__PURE__ */ createIcon({
659
659
  }
660
660
  });
661
661
  const MOUNTAIN = "M12 2L2 22h20L12 2z";
662
- const MOUNTAIN_SNOW = "M12 2L16.6 11.2L14.6 12.3L13.2 14.1L10.7 12L8.9 13.7L7 12Z";
663
- const MOUNTAIN_SNOW_LINE = "M7 12L8.9 13.7L10.7 12L13.2 14.1L14.6 12.3L16.6 11.2";
662
+ const MOUNTAIN_SNOW = "M12 2L16.6 11.2L14.6 12.3L13.6 14.6L10.7 12L8.9 13.7L7 12Z";
663
+ const MOUNTAIN_SNOW_LINE = "M7 12L8.9 13.7L10.7 12L13.6 14.6L14.6 12.3L16.6 11.2";
664
664
  const NtdMountain = /* @__PURE__ */ createIcon({
665
665
  displayName: "NtdMountain",
666
666
  paths: {
package/dist/esm/index.js CHANGED
@@ -45,7 +45,7 @@ import { NtdAtom, NtdBeaker, NtdExperiment, NtdFlask, NtdHypothesis, NtdMagnet,
45
45
  import { NtdAudit, NtdCcpa, NtdCompliance, NtdContract, NtdCookieConsent, NtdCopyright, NtdGdpr, NtdLegalDocument, NtdPatent, NtdPrivacyPolicy, NtdTermsOfService, NtdTrademark, legalIcons } from "./icons/legal.js";
46
46
  import { NtdBackpack, NtdBook, NtdBookBookmark, NtdCalculator, NtdCertificate, NtdFlashcard, NtdGraduationCap, NtdNotebook, NtdOnlineCourse, NtdOpenBook, NtdPen, NtdPencil, NtdQuiz, NtdSchool, NtdScroll, NtdScrollRolled, NtdUniversity, NtdWebinar, educationIcons } from "./icons/education.js";
47
47
  import { NtdBackspace, NtdBell, NtdBookmark, NtdCalendar, NtdCalendarDay, NtdCalendarMonth, NtdCalendarWeek, NtdClock, NtdCursor, NtdError, NtdEye, NtdEyeOff, NtdFlag, NtdGlobe, NtdHeart, NtdHelp, NtdHome, NtdHourglass, NtdInfo, NtdMap, NtdMapPin, NtdMoon, NtdPin, NtdShield, NtdStar, NtdSuccess, NtdSun, NtdTag, NtdThumbDown, NtdThumbUp, NtdUser, NtdUserTie, NtdUsers, NtdWarning, NtdWireframe, NtdWishlist } from "./icons/ui.js";
48
- import { NtdBank, NtdBarcode, NtdBriefcase, NtdCalculator as NtdCalculator2, NtdCash, NtdCashStack, NtdClipboardCheck, NtdCoins, NtdDollar, NtdInvoice, NtdInvoiceDoc, NtdKanban, NtdMarket, NtdMilestone, NtdPercent, NtdPiggyBank, NtdPresentation, NtdReceipt, NtdStore, NtdTrendDown, NtdTrendUp, NtdWallet } from "./icons/business.js";
48
+ import { NtdBank, NtdBarcode, NtdBriefcase, NtdCalculator as NtdCalculator2, NtdCash, NtdCashStack, NtdClipboardCheck, NtdCoins, NtdDollar, NtdInvoice, NtdInvoiceDoc, NtdKanban, NtdMarket, NtdMilestone, NtdPercent, NtdPiggyBank, NtdPresentation, NtdReceipt, NtdStore, NtdTrendDown, NtdTrendUp, NtdWallet, NtdWalletOpen } from "./icons/business.js";
49
49
  import { NtdBasketball, NtdCycling, NtdDumbbell, NtdGolf, NtdMedal, NtdPodium, NtdRunning, NtdSoccerBall, NtdStopwatch, NtdSwimming, NtdTarget as NtdTarget2, NtdTennis, NtdWhistle, NtdYoga, sportsIcons } from "./icons/sports.js";
50
50
  import { NtdBeach, NtdBike, NtdBus, NtdCamping, NtdCar, NtdCompassRose, NtdHotel, NtdLuggage, NtdPassport, NtdPlane, NtdPlaneTakeoff, NtdShip, NtdTaxi, NtdTicket, NtdTrain, travelIcons } from "./icons/travel.js";
51
51
  import { NtdBeer, NtdBurger, NtdChefHat, NtdCocktail, NtdCoffee, NtdCookingPan, NtdForkKnife, NtdHotdog, NtdKnife, NtdPlate, NtdRecipe, NtdRestaurant, NtdSoda, NtdSushi, NtdTaco, NtdWine, foodIcons } from "./icons/food.js";
@@ -654,6 +654,7 @@ export {
654
654
  NtdVolumeMute,
655
655
  NtdVrHeadset,
656
656
  NtdWallet,
657
+ NtdWalletOpen,
657
658
  NtdWarehouse,
658
659
  NtdWarning,
659
660
  NtdWave,
@@ -1,6 +1,9 @@
1
1
  export declare const NtdBriefcase: import("react").ForwardRefExoticComponent<import("..").NtdIconProps & import("react").RefAttributes<SVGSVGElement>>;
2
2
  export declare const NtdDollar: import("react").ForwardRefExoticComponent<import("..").NtdIconProps & import("react").RefAttributes<SVGSVGElement>>;
3
+ /** A wallet: the body with its clasp pocket, a thin back pocket showing above it. */
3
4
  export declare const NtdWallet: import("react").ForwardRefExoticComponent<import("..").NtdIconProps & import("react").RefAttributes<SVGSVGElement>>;
5
+ /** An open wallet: the back pocket rising above the body on a slant (1.4.13). */
6
+ export declare const NtdWalletOpen: import("react").ForwardRefExoticComponent<import("..").NtdIconProps & import("react").RefAttributes<SVGSVGElement>>;
4
7
  export declare const NtdReceipt: import("react").ForwardRefExoticComponent<import("..").NtdIconProps & import("react").RefAttributes<SVGSVGElement>>;
5
8
  export declare const NtdBank: import("react").ForwardRefExoticComponent<import("..").NtdIconProps & import("react").RefAttributes<SVGSVGElement>>;
6
9
  export declare const NtdTrendUp: import("react").ForwardRefExoticComponent<import("..").NtdIconProps & import("react").RefAttributes<SVGSVGElement>>;
@@ -9,7 +9,7 @@ export { NtdFile, NtdFileText, NtdFolder, NtdFolderOpen, NtdArchive, NtdDatabase
9
9
  export { NtdDumpsterFire, NtdRocket, NtdGamepadOldschool, NtdPuzzle, NtdPartyPopper, NtdTrophy, NtdCrown, NtdDice, NtdDicePips1, NtdDicePips2, NtdDicePips3, NtdDicePips4, NtdDicePips5, NtdDicePips6, dicePipsIconFor, NtdSmile, NtdSmiley, NtdSad, NtdSkull, NtdGhost, NtdLightning, NtdZap, } from './fun';
10
10
  export { NtdSunrise, NtdSunset, NtdRain, NtdSnow, NtdThunderstorm, NtdWind, NtdDroplet, NtdHydropower, NtdThermometer, NtdUmbrella, NtdLeaf, NtdFlower, NtdTree, NtdMountain, NtdWave, NtdFire, NtdSnowflake, NtdCompass, NtdAnchor, NtdFeather, NtdBug, } from './weather';
11
11
  export { NtdArrowUpCircle, NtdArrowDownCircle, NtdArrowLeftCircle, NtdArrowRightCircle, NtdSquare, NtdCircle, NtdTriangle, NtdHexagon, NtdOctagon, NtdDiamond, NtdPentagon, NtdCross, NtdCornerUpLeft, NtdCornerUpRight, NtdCornerDownLeft, NtdCornerDownRight, NtdMaximize, NtdMinimize, NtdMove, NtdRepeat, NtdShuffle, NtdPoint, NtdSegment, NtdPerpendicular, NtdParallel, NtdMidpoint, NtdAngleBisector, } from './shapes';
12
- export { NtdBriefcase, NtdDollar, NtdWallet, NtdReceipt, NtdBank, NtdTrendUp, NtdTrendDown, NtdPercent, NtdInvoice, NtdInvoiceDoc, NtdStore, NtdMarket, NtdBarcode, NtdCalculator, NtdPresentation, NtdClipboardCheck, NtdPiggyBank, NtdCoins, NtdCash, NtdCashStack, NtdKanban, NtdMilestone, } from './business';
12
+ export { NtdBriefcase, NtdDollar, NtdWallet, NtdWalletOpen, NtdReceipt, NtdBank, NtdTrendUp, NtdTrendDown, NtdPercent, NtdInvoice, NtdInvoiceDoc, NtdStore, NtdMarket, NtdBarcode, NtdCalculator, NtdPresentation, NtdClipboardCheck, NtdPiggyBank, NtdCoins, NtdCash, NtdCashStack, NtdKanban, NtdMilestone, } from './business';
13
13
  export { NtdAtSign, NtdPhoneOff, NtdBubble, NtdThumbsUp, NtdThumbsDown, NtdBellRing, NtdMegaphone, NtdQrCode, } from './social';
14
14
  export { NtdBrackets, NtdServer, NtdGitBranch, NtdGitCommit, NtdGitMerge, NtdBattery, NtdBatteryQuarter, NtdBatteryHalf, NtdBatteryThreeQuarters, NtdBatteryFull, batteryIconFor, NtdSlash, NtdHash, NtdBugDev, NtdBlueprint, NtdPrototype, NtdComponent, NtdNodes, NtdFlow, NtdAIBrain, NtdNeural, NtdForge, NtdPipeline, NtdDeploy, NtdGateway, NtdDataMesh, NtdFeatureFlag, NtdViteLogo, NtdBunLogo, NtdDenoLogo, NtdTauriLogo, NtdSvelteLogo, NtdNextJsLogo, NtdAstroLogo, NtdQwikLogo, NtdSolidJsLogo, } from './devtech';
15
15
  export { NtdCartAdd, NtdCartRemove, NtdCheckout, NtdCompare, NtdShipping, NtdReturn, NtdDiscount, NtdPromoTag, NtdGiftCard, NtdCoupon, NtdStorefront, NtdPayment, NtdRefund, } from './ecommerce';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nice2dev/icons",
3
- "version": "1.4.12",
3
+ "version": "1.4.14",
4
4
  "description": "Beautiful, lightweight, multi-color SVG icon library for React with animations",
5
5
  "author": "NiceToDev <contact@nicetodev.com>",
6
6
  "license": "SEE LICENSE IN LICENSE",
@@ -109,7 +109,7 @@
109
109
  },
110
110
  "devDependencies": {
111
111
  "@chromatic-com/storybook": "^5.3.1",
112
- "@nice2dev/ui-core": "^1.4.12",
112
+ "@nice2dev/ui-core": "^1.4.14",
113
113
  "@storybook/addon-a11y": "^10.6.6",
114
114
  "@storybook/addon-docs": "^10.6.6",
115
115
  "@storybook/react-vite": "^10.6.6",