@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
|
@@ -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
|
|
455
|
-
|
|
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:
|
|
507
|
-
{ left: 12.85, right: 19.25, top: 12.3, bottom:
|
|
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.
|
|
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: [
|
package/dist/esm/icons/ui.js
CHANGED
|
@@ -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:
|
|
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:
|
|
141
|
-
{ cx: 19, cy:
|
|
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
|
|
145
|
-
"M14.75
|
|
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
|
-
|
|
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
|
-
|
|
151
|
-
|
|
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__ */
|
|
189
|
-
|
|
190
|
-
/* @__PURE__ */ jsx("path", { d: USERS_BACK_BODIES
|
|
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.
|
|
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.
|
|
663
|
-
const MOUNTAIN_SNOW_LINE = "M7 12L8.9 13.7L10.7 12L13.
|
|
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.
|
|
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.
|
|
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",
|