@nice2dev/icons 1.4.7 → 1.4.9

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 (40) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/dist/cjs/icons/actions.js +36 -41
  3. package/dist/cjs/icons/business.js +58 -36
  4. package/dist/cjs/icons/education.js +13 -5
  5. package/dist/cjs/icons/files.js +15 -30
  6. package/dist/cjs/icons/food.js +36 -15
  7. package/dist/cjs/icons/fun.js +27 -32
  8. package/dist/cjs/icons/index.js +1 -0
  9. package/dist/cjs/icons/navigation.js +4 -4
  10. package/dist/cjs/icons/omniverk.js +34 -17
  11. package/dist/cjs/icons/realestate.js +21 -18
  12. package/dist/cjs/icons/science.js +6 -5
  13. package/dist/cjs/icons/smarthome.js +3 -3
  14. package/dist/cjs/icons/sports.js +7 -6
  15. package/dist/cjs/icons/sustainability.js +2 -2
  16. package/dist/cjs/icons/travel.js +32 -39
  17. package/dist/cjs/icons/ui.js +62 -35
  18. package/dist/cjs/icons/weather.js +2 -2
  19. package/dist/cjs/index.js +1 -0
  20. package/dist/esm/icons/actions.js +36 -41
  21. package/dist/esm/icons/business.js +58 -36
  22. package/dist/esm/icons/education.js +13 -5
  23. package/dist/esm/icons/files.js +15 -30
  24. package/dist/esm/icons/food.js +36 -15
  25. package/dist/esm/icons/fun.js +27 -32
  26. package/dist/esm/icons/index.js +2 -1
  27. package/dist/esm/icons/navigation.js +4 -4
  28. package/dist/esm/icons/omniverk.js +35 -18
  29. package/dist/esm/icons/realestate.js +21 -18
  30. package/dist/esm/icons/science.js +6 -5
  31. package/dist/esm/icons/smarthome.js +3 -3
  32. package/dist/esm/icons/sports.js +7 -6
  33. package/dist/esm/icons/sustainability.js +2 -2
  34. package/dist/esm/icons/travel.js +32 -39
  35. package/dist/esm/icons/ui.js +62 -35
  36. package/dist/esm/icons/weather.js +2 -2
  37. package/dist/esm/index.js +2 -1
  38. package/dist/types/icons/index.d.ts +1 -1
  39. package/dist/types/icons/ui.d.ts +3 -1
  40. package/package.json +2 -2
@@ -139,14 +139,30 @@ const NtdUserTie = /* @__PURE__ */ createIcon.createIcon({
139
139
  const USERS_FRONT_HEAD = { cx: 12, cy: 8, r: 3.75 };
140
140
  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";
141
141
  const USERS_BACK_HEADS = [
142
- { cx: 4.75, cy: 7, r: 2.5 },
143
- { cx: 19.25, cy: 7, r: 2.5 }
142
+ { cx: 5, cy: 7.5, r: 2.6 },
143
+ { cx: 19, cy: 7.5, r: 2.6 }
144
144
  ];
145
- const USERS_BACK_BODIES = "M5.25 13.25H3.5A2.75 2.75 0 00.75 16v3.25M18.75 13.25h1.75a2.75 2.75 0 012.75 2.75v3.25";
146
- function usersFilled(front, back) {
145
+ const USERS_BACK_BODIES = [
146
+ "M0.75 19.5v-3.6a3.4 3.4 0 013.4-3.4h1.7a3.4 3.4 0 013.4 3.4v3.6",
147
+ "M14.75 19.5v-3.6a3.4 3.4 0 013.4-3.4h1.7a3.4 3.4 0 013.4 3.4v3.6"
148
+ ];
149
+ function usersFilled(front, back, { accentColor, accentOpacity, strokeWidth }) {
150
+ const gap = strokeWidth * 0.5;
147
151
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
148
152
  USERS_BACK_HEADS.map((h) => /* @__PURE__ */ jsxRuntime.jsx("circle", { ...h, fill: back }, h.cx)),
149
- /* @__PURE__ */ jsxRuntime.jsx("path", { d: `${USERS_BACK_BODIES.replace("v3.25M", "v3.25h4.5zM")}h-4.5z`, fill: back }),
153
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: USERS_BACK_BODIES.map((d) => `${d}z`).join(""), fill: back }),
154
+ /* @__PURE__ */ jsxRuntime.jsxs("g", { fill: accentColor, opacity: accentOpacity, children: [
155
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { ...USERS_FRONT_HEAD, r: USERS_FRONT_HEAD.r + gap }),
156
+ /* @__PURE__ */ jsxRuntime.jsx(
157
+ "path",
158
+ {
159
+ d: `${USERS_FRONT_BODY}z`,
160
+ stroke: accentColor,
161
+ strokeWidth: gap * 2,
162
+ strokeLinejoin: "round"
163
+ }
164
+ )
165
+ ] }),
150
166
  /* @__PURE__ */ jsxRuntime.jsx("circle", { ...USERS_FRONT_HEAD, fill: front }),
151
167
  /* @__PURE__ */ jsxRuntime.jsx("path", { d: `${USERS_FRONT_BODY}z`, fill: front })
152
168
  ] });
@@ -154,15 +170,35 @@ function usersFilled(front, back) {
154
170
  const NtdUsers = /* @__PURE__ */ createIcon.createIcon({
155
171
  displayName: "NtdUsers",
156
172
  paths: {
157
- solid: ({ primaryColor }) => usersFilled(primaryColor, primaryColor),
158
- outline: ({ primaryColor, strokeWidth }) => /* @__PURE__ */ jsxRuntime.jsxs("g", { stroke: primaryColor, strokeWidth, fill: "none", children: [
159
- USERS_BACK_HEADS.map((h) => /* @__PURE__ */ jsxRuntime.jsx("circle", { ...h }, h.cx)),
160
- /* @__PURE__ */ jsxRuntime.jsx("path", { d: USERS_BACK_BODIES }),
161
- /* @__PURE__ */ jsxRuntime.jsx("circle", { ...USERS_FRONT_HEAD }),
162
- /* @__PURE__ */ jsxRuntime.jsx("path", { d: USERS_FRONT_BODY })
163
- ] }),
164
- duotone: ({ primaryColor, secondaryColor }) => usersFilled(primaryColor, secondaryColor),
165
- vivid: ({ primaryColor, secondaryColor }) => usersFilled(primaryColor, secondaryColor)
173
+ solid: (p) => usersFilled(p.primaryColor, p.primaryColor, p),
174
+ outline: ({ primaryColor, strokeWidth, uid }) => {
175
+ const id = `${uid ?? "users"}behind`;
176
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
177
+ /* @__PURE__ */ jsxRuntime.jsxs("mask", { id, maskUnits: "userSpaceOnUse", x: "0", y: "0", width: "24", height: "24", children: [
178
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { width: "24", height: "24", fill: "white" }),
179
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { ...USERS_FRONT_HEAD, r: USERS_FRONT_HEAD.r + strokeWidth * 1.5, fill: "black" }),
180
+ /* @__PURE__ */ jsxRuntime.jsx(
181
+ "path",
182
+ {
183
+ d: `${USERS_FRONT_BODY}z`,
184
+ fill: "black",
185
+ stroke: "black",
186
+ strokeWidth: strokeWidth * 3
187
+ }
188
+ )
189
+ ] }),
190
+ /* @__PURE__ */ jsxRuntime.jsxs("g", { stroke: primaryColor, strokeWidth, fill: "none", mask: `url(#${id})`, children: [
191
+ USERS_BACK_HEADS.map((h) => /* @__PURE__ */ jsxRuntime.jsx("circle", { ...h }, h.cx)),
192
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: USERS_BACK_BODIES.join("") })
193
+ ] }),
194
+ /* @__PURE__ */ jsxRuntime.jsxs("g", { stroke: primaryColor, strokeWidth, fill: "none", children: [
195
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { ...USERS_FRONT_HEAD }),
196
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: USERS_FRONT_BODY })
197
+ ] })
198
+ ] });
199
+ },
200
+ duotone: (p) => usersFilled(p.primaryColor, p.secondaryColor, p),
201
+ vivid: (p) => usersFilled(p.primaryColor, p.secondaryColor, p)
166
202
  }
167
203
  });
168
204
  const 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";
@@ -727,9 +763,11 @@ const CALENDAR_PAGE = { x: 3, y: 4, width: 18, height: 18, rx: 2 };
727
763
  const CALENDAR_HEAD_BAND = "M3 4h18v5.5H3z";
728
764
  const CALENDAR_RINGS = "M16 2v4M8 2v4";
729
765
  const CALENDAR_DETAILS = {
730
- month: [11.5, 14.75, 18].flatMap(
731
- (y) => [4.75, 8.75, 12.75, 16.75].map((x) => ({ x, y, w: 2.5, h: 2 }))
732
- ),
766
+ plain: [],
767
+ month: Array.from({ length: 30 }, (_, day) => {
768
+ const slot = day + 2;
769
+ return { x: 4.5 + slot % 7 * 2.214, y: 11 + Math.floor(slot / 7) * 2, w: 1.714, h: 1.5 };
770
+ }),
733
771
  week: [6, 9, 12, 15, 18].map((cx) => ({ x: cx - 0.75, y: 11.75, w: 1.5, h: 8 })),
734
772
  day: [12, 15.25, 18.5].map((y) => ({ x: 6, y: y - 0.75, w: 12, h: 1.5 }))
735
773
  };
@@ -795,7 +833,8 @@ function calendarIcon(displayName, kind) {
795
833
  }
796
834
  });
797
835
  }
798
- const NtdCalendar = /* @__PURE__ */ calendarIcon("NtdCalendar", "month");
836
+ const NtdCalendar = /* @__PURE__ */ calendarIcon("NtdCalendar", "plain");
837
+ const NtdCalendarMonth = /* @__PURE__ */ calendarIcon("NtdCalendarMonth", "month");
799
838
  const NtdCalendarWeek = /* @__PURE__ */ calendarIcon("NtdCalendarWeek", "week");
800
839
  const NtdCalendarDay = /* @__PURE__ */ calendarIcon("NtdCalendarDay", "day");
801
840
  const NtdTag = /* @__PURE__ */ createIcon.createIcon({
@@ -991,22 +1030,16 @@ const NtdBookmark = /* @__PURE__ */ createIcon.createIcon({
991
1030
  }
992
1031
  });
993
1032
  const FLAG_CLOTH = "M4 3.5s1-1 4-1 5 2 8 2 4-1 4-1v11s-1 1-4 1-5-2-8-2-4 1-4 1z";
1033
+ const flagPole = (color, strokeWidth) => /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "4", y: "3", width: strokeWidth, height: "17.5", fill: color });
994
1034
  const NtdFlag = /* @__PURE__ */ createIcon.createIcon({
995
1035
  displayName: "NtdFlag",
996
1036
  perfectStackX: 12,
997
1037
  perfectStackY: 9,
998
1038
  perfectStackSize: 0.35,
999
1039
  paths: {
1000
- solid: ({ primaryColor, strokeWidth }) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1040
+ solid: ({ primaryColor, strokeWidth, variant }) => variant === "wireframe" ? /* @__PURE__ */ jsxRuntime.jsx("path", { d: `${FLAG_CLOTH}M4 3v17.5`, stroke: primaryColor, strokeWidth: 1, fill: "none" }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1001
1041
  /* @__PURE__ */ jsxRuntime.jsx("path", { d: FLAG_CLOTH, fill: primaryColor }),
1002
- /* @__PURE__ */ jsxRuntime.jsx(
1003
- "path",
1004
- {
1005
- d: `M${4 + strokeWidth / 2} 3v17.5`,
1006
- stroke: primaryColor,
1007
- strokeWidth
1008
- }
1009
- )
1042
+ flagPole(primaryColor, strokeWidth)
1010
1043
  ] }),
1011
1044
  outline: ({ primaryColor, strokeWidth }) => /* @__PURE__ */ jsxRuntime.jsx(
1012
1045
  "path",
@@ -1032,14 +1065,7 @@ const NtdFlag = /* @__PURE__ */ createIcon.createIcon({
1032
1065
  vivid: ({ primaryColor, secondaryColor, strokeWidth }) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1033
1066
  /* @__PURE__ */ jsxRuntime.jsx("path", { d: FLAG_CLOTH, fill: primaryColor }),
1034
1067
  /* @__PURE__ */ jsxRuntime.jsx("path", { d: FLAG_CLOTH, fill: "white", opacity: "0.1" }),
1035
- /* @__PURE__ */ jsxRuntime.jsx(
1036
- "path",
1037
- {
1038
- d: `M${4 + strokeWidth / 2} 3v17.5`,
1039
- stroke: secondaryColor,
1040
- strokeWidth
1041
- }
1042
- )
1068
+ flagPole(secondaryColor, strokeWidth)
1043
1069
  ] })
1044
1070
  }
1045
1071
  });
@@ -1492,6 +1518,7 @@ exports.NtdBell = NtdBell;
1492
1518
  exports.NtdBookmark = NtdBookmark;
1493
1519
  exports.NtdCalendar = NtdCalendar;
1494
1520
  exports.NtdCalendarDay = NtdCalendarDay;
1521
+ exports.NtdCalendarMonth = NtdCalendarMonth;
1495
1522
  exports.NtdCalendarWeek = NtdCalendarWeek;
1496
1523
  exports.NtdClock = NtdClock;
1497
1524
  exports.NtdCursor = NtdCursor;
@@ -661,8 +661,8 @@ const NtdTree = /* @__PURE__ */ createIcon.createIcon({
661
661
  }
662
662
  });
663
663
  const MOUNTAIN = "M12 2L2 22h20L12 2z";
664
- const MOUNTAIN_SNOW = "M12 2L16.6 11.2L14.6 12.3L12.7 14.1L10.7 12L8.9 13.7L7 12Z";
665
- const MOUNTAIN_SNOW_LINE = "M7 12L8.9 13.7L10.7 12L12.7 14.1L14.6 12.3L16.6 11.2";
664
+ const MOUNTAIN_SNOW = "M12 2L16.6 11.2L14.6 12.3L13.2 14.1L10.7 12L8.9 13.7L7 12Z";
665
+ const MOUNTAIN_SNOW_LINE = "M7 12L8.9 13.7L10.7 12L13.2 14.1L14.6 12.3L16.6 11.2";
666
666
  const NtdMountain = /* @__PURE__ */ createIcon.createIcon({
667
667
  displayName: "NtdMountain",
668
668
  paths: {
package/dist/cjs/index.js CHANGED
@@ -489,6 +489,7 @@ exports.NtdBell = ui.NtdBell;
489
489
  exports.NtdBookmark = ui.NtdBookmark;
490
490
  exports.NtdCalendar = ui.NtdCalendar;
491
491
  exports.NtdCalendarDay = ui.NtdCalendarDay;
492
+ exports.NtdCalendarMonth = ui.NtdCalendarMonth;
492
493
  exports.NtdCalendarWeek = ui.NtdCalendarWeek;
493
494
  exports.NtdClock = ui.NtdClock;
494
495
  exports.NtdCursor = ui.NtdCursor;
@@ -150,10 +150,10 @@ const NtdEditDetail = /* @__PURE__ */ createIcon({
150
150
  }
151
151
  });
152
152
  const TRASH_LID = "M4 6H20";
153
- const TRASH_DOME = "M6 6A9.28 9.28 0 0 1 18 6Z";
154
- const TRASH_DOME_LINE = "M6 6A9.28 9.28 0 0 1 18 6";
155
- const TRASH_HANDLE = "M9.5 4.6V3.2a1.2 1.2 0 011.2-1.2h2.6a1.2 1.2 0 011.2 1.2v1.4";
156
- const TRASH_HANDLE_LINE = "M9.5 4.15V3.2a1.2 1.2 0 011.2-1.2h2.6a1.2 1.2 0 011.2 1.2v.95";
153
+ const TRASH_DOME = "M5.5 6A8.54 8.54 0 0 1 18.5 6Z";
154
+ const TRASH_DOME_LINE = "M5.5 6A8.54 8.54 0 0 1 18.5 6";
155
+ 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.4";
156
+ 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";
157
157
  const TRASH_BIN = "M5 6l1 14a2 2 0 002 2h8a2 2 0 002-2l1-14H5z";
158
158
  const TRASH_GROOVES = "M10 10.5v7M14 10.5v7";
159
159
  const NtdTrash = /* @__PURE__ */ createIcon({
@@ -448,7 +448,7 @@ const NtdCopy = /* @__PURE__ */ createIcon({
448
448
  }
449
449
  });
450
450
  const CLIPBOARD_TEXT = "M8 11h8M8 14.5h5";
451
- const CLIPBOARD_SHEET = "M6 22V6.5h12V22";
451
+ const CLIPBOARD_SHEET = "M6 22V4h12V22";
452
452
  const NtdClipboard = /* @__PURE__ */ createIcon({
453
453
  displayName: "NtdClipboard",
454
454
  perfectStackX: 12,
@@ -485,7 +485,7 @@ const NtdClipboard = /* @__PURE__ */ createIcon({
485
485
  rx: "1.5",
486
486
  fill: primaryColor,
487
487
  stroke: accentColor,
488
- strokeWidth: "1.5",
488
+ strokeWidth,
489
489
  opacity: accentOpacity
490
490
  }
491
491
  ),
@@ -546,7 +546,7 @@ const NtdClipboard = /* @__PURE__ */ createIcon({
546
546
  rx: "1.5",
547
547
  fill: secondaryColor,
548
548
  stroke: secondaryColor,
549
- strokeWidth: "1.5"
549
+ strokeWidth
550
550
  }
551
551
  ),
552
552
  /* @__PURE__ */ jsx("path", { d: CLIPBOARD_TEXT, stroke: accentColor, strokeWidth: "1.5", opacity: accentOpacity })
@@ -711,7 +711,15 @@ function printFilled({ primaryColor, accentColor, accentOpacity, strokeWidth },
711
711
  strokeOpacity: accentOpacity
712
712
  }
713
713
  ),
714
- /* @__PURE__ */ jsx("path", { d: PRINT_LINES, stroke: detail, strokeWidth, opacity: detailOpacity })
714
+ /* @__PURE__ */ jsx(
715
+ "path",
716
+ {
717
+ d: PRINT_LINES,
718
+ stroke: detail,
719
+ strokeWidth: strokeWidth * 0.7,
720
+ opacity: detailOpacity
721
+ }
722
+ )
715
723
  ] });
716
724
  }
717
725
  const NtdPrint = /* @__PURE__ */ createIcon({
@@ -1158,50 +1166,37 @@ const NtdLock = /* @__PURE__ */ createIcon({
1158
1166
  vivid: ({ primaryColor, secondaryColor, accentColor, accentOpacity, strokeWidth }) => lockFilled(primaryColor, secondaryColor, accentColor, accentOpacity, strokeWidth * 2)
1159
1167
  }
1160
1168
  });
1169
+ const UNLOCK_SHACKLE = "M6 10.5V7a6 6 0 0112 0v0.5";
1161
1170
  const NtdUnlock = /* @__PURE__ */ createIcon({
1162
1171
  displayName: "NtdUnlock",
1172
+ perfectStackX: 12,
1173
+ perfectStackY: 16,
1174
+ perfectStackSize: 0.4,
1163
1175
  paths: {
1164
1176
  solid: ({ primaryColor, accentColor, accentOpacity, strokeWidth }) => /* @__PURE__ */ jsxs(Fragment, { children: [
1165
- /* @__PURE__ */ jsx("rect", { x: "3", y: "11", width: "18", height: "11", rx: "2.5", fill: primaryColor }),
1166
- /* @__PURE__ */ jsx("path", { d: "M7 11V7a5 5 0 019.9-1", stroke: primaryColor, strokeWidth }),
1167
- /* @__PURE__ */ jsx("circle", { cx: "12", cy: "15.5", r: "1.5", fill: accentColor, opacity: accentOpacity }),
1168
- /* @__PURE__ */ jsx(
1169
- "rect",
1170
- {
1171
- x: "11.25",
1172
- y: "16.5",
1173
- width: "1.5",
1174
- height: "2",
1175
- rx: "0.5",
1176
- fill: accentColor,
1177
- opacity: accentOpacity
1178
- }
1179
- )
1177
+ /* @__PURE__ */ jsx("path", { d: UNLOCK_SHACKLE, stroke: primaryColor, strokeWidth: strokeWidth * 2, fill: "none" }),
1178
+ /* @__PURE__ */ jsx("rect", { ...LOCK_BODY, fill: primaryColor }),
1179
+ /* @__PURE__ */ jsx("path", { d: LOCK_KEYHOLE, fill: accentColor, opacity: accentOpacity })
1180
1180
  ] }),
1181
1181
  outline: ({ primaryColor, strokeWidth }) => /* @__PURE__ */ jsxs(Fragment, { children: [
1182
+ /* @__PURE__ */ jsxs("g", { stroke: primaryColor, strokeWidth, fill: "none", children: [
1183
+ /* @__PURE__ */ jsx("rect", { ...LOCK_BODY }),
1184
+ /* @__PURE__ */ jsx("path", { d: UNLOCK_SHACKLE })
1185
+ ] }),
1186
+ /* @__PURE__ */ jsx("path", { d: LOCK_KEYHOLE, fill: primaryColor })
1187
+ ] }),
1188
+ vivid: ({ primaryColor, secondaryColor, accentColor, accentOpacity, strokeWidth }) => /* @__PURE__ */ jsxs(Fragment, { children: [
1182
1189
  /* @__PURE__ */ jsx(
1183
- "rect",
1190
+ "path",
1184
1191
  {
1185
- x: "3",
1186
- y: "11",
1187
- width: "18",
1188
- height: "11",
1189
- rx: "2.5",
1190
- stroke: primaryColor,
1191
- strokeWidth,
1192
+ d: UNLOCK_SHACKLE,
1193
+ stroke: secondaryColor,
1194
+ strokeWidth: strokeWidth * 2,
1192
1195
  fill: "none"
1193
1196
  }
1194
1197
  ),
1195
- /* @__PURE__ */ jsx("path", { d: "M7 11V7a5 5 0 019.9-1", stroke: primaryColor, strokeWidth }),
1196
- /* @__PURE__ */ jsx("circle", { cx: "12", cy: "15.5", r: "1.5", fill: primaryColor }),
1197
- /* @__PURE__ */ jsx("rect", { x: "11.25", y: "16.5", width: "1.5", height: "2", rx: "0.5", fill: primaryColor })
1198
- ] }),
1199
- vivid: ({ primaryColor, secondaryColor }) => /* @__PURE__ */ jsxs(Fragment, { children: [
1200
- /* @__PURE__ */ jsx("rect", { x: "3", y: "11", width: "18", height: "11", rx: "2.5", fill: primaryColor }),
1201
- /* @__PURE__ */ jsx("rect", { x: "3", y: "11", width: "18", height: "11", rx: "2.5", fill: "white", opacity: "0.08" }),
1202
- /* @__PURE__ */ jsx("circle", { cx: "12", cy: "15.5", r: "1.5", fill: secondaryColor }),
1203
- /* @__PURE__ */ jsx("rect", { x: "11.25", y: "16.5", width: "1.5", height: "2", rx: "0.5", fill: "#3B82F6" }),
1204
- /* @__PURE__ */ jsx("path", { d: "M7 11V7a5 5 0 019.9-1", stroke: "white", strokeWidth: "1" })
1198
+ /* @__PURE__ */ jsx("rect", { ...LOCK_BODY, fill: primaryColor }),
1199
+ /* @__PURE__ */ jsx("path", { d: LOCK_KEYHOLE, fill: accentColor, opacity: accentOpacity })
1205
1200
  ] })
1206
1201
  }
1207
1202
  });
@@ -99,8 +99,8 @@ const NtdDollar = /* @__PURE__ */ createIcon({
99
99
  }
100
100
  });
101
101
  const WALLET_BODY = { x: 2, y: 6.5, width: 20, height: 14.5, rx: 2.5 };
102
- const WALLET_BACK = "M4.5 8V5.7L19 5a1 1 0 011.1 1V8z";
103
- const WALLET_BACK_LINE = "M4.5 6.5V5.7L19 5a1 1 0 011.1 1V6.5";
102
+ const WALLET_BACK = "M6 8V5.9L19 5a1 1 0 011.1 1V8z";
103
+ const WALLET_BACK_LINE = "M6 6.5V5.9L19 5a1 1 0 011.1 1V6.5";
104
104
  const WALLET_POCKET = "M22 10.5h-4.5a2.5 2.5 0 000 5H22z";
105
105
  const WALLET_POCKET_LINE = "M22 10.5h-4.5a2.5 2.5 0 000 5H22";
106
106
  const NtdWallet = /* @__PURE__ */ createIcon({
@@ -377,13 +377,22 @@ const NtdInvoice = /* @__PURE__ */ paperIcon(
377
377
  const NtdInvoiceDoc = NtdInvoice;
378
378
  const STORE_BODY = "M2.5 5H21.5V21H2.5Z";
379
379
  const STORE_CORNICE = { x: 1.5, y: 3, width: 21, height: 2.4, rx: 0.6 };
380
- const STORE_SIGN = { x: 6.5, y: 6.4, width: 11, height: 2.5, rx: 0.5 };
381
- const STORE_GLASS = "M4.2 10.6h4.8v6.8H4.2zM15 10.6h4.8v6.8H15zM10.2 10.6h3.6V21h-3.6z";
382
- const STORE_GLARE = "M5.4 15.6l2.6-2.6M5.4 13l1.2-1.2M16.2 15.6l2.6-2.6M16.2 13l1.2-1.2";
383
- const STORE_HANDLE = { cx: 13, cy: 16.2, r: 0.45 };
384
- function storeFilled({ primaryColor, accentColor, accentOpacity, strokeWidth }, glass, sign) {
380
+ const STORE_CUT = "M2.5 5.4H21.5";
381
+ const STORE_SIGN = { x: 3.8, y: 6.7, width: 16.4, height: 3.9, rx: 0.5 };
382
+ const STORE_GLASS = "M4.2 11.9h4.8v6.8H4.2zM15 11.9h4.8v6.8H15zM10.2 12.2h3.6V21h-3.6z";
383
+ const STORE_GLARE = "M5.4 16.9l2.6-2.6M5.4 14.3l1.2-1.2M16.2 16.9l2.6-2.6M16.2 14.3l1.2-1.2";
384
+ const STORE_HANDLE = { cx: 13, cy: 16.9, r: 0.45 };
385
+ function storeFilled({ primaryColor, secondaryColor, accentColor, accentOpacity, strokeWidth }, variant) {
386
+ const glass = variant === "solid" ? null : secondaryColor;
385
387
  return /* @__PURE__ */ jsxs(Fragment, { children: [
386
- /* @__PURE__ */ jsx("rect", { ...STORE_CORNICE, fill: primaryColor }),
388
+ /* @__PURE__ */ jsx(
389
+ "rect",
390
+ {
391
+ ...STORE_CORNICE,
392
+ fill: variant === "vivid" ? accentColor : primaryColor,
393
+ opacity: variant === "vivid" ? accentOpacity : void 0
394
+ }
395
+ ),
387
396
  /* @__PURE__ */ jsx(
388
397
  "path",
389
398
  {
@@ -393,36 +402,36 @@ function storeFilled({ primaryColor, accentColor, accentOpacity, strokeWidth },
393
402
  }
394
403
  ),
395
404
  glass && /* @__PURE__ */ jsx("path", { d: STORE_GLASS, fill: glass }),
396
- sign && /* @__PURE__ */ jsx(
397
- "rect",
398
- {
399
- ...STORE_SIGN,
400
- stroke: accentColor,
401
- strokeWidth: strokeWidth * 0.6,
402
- opacity: accentOpacity,
403
- fill: "none"
404
- }
405
- ),
406
- (sign || !glass) && /* @__PURE__ */ jsx("path", { d: STORE_GLARE, stroke: primaryColor, strokeWidth: strokeWidth * 0.6 }),
405
+ variant === "solid" && /* @__PURE__ */ jsxs("g", { stroke: accentColor, strokeWidth: strokeWidth * 0.6, opacity: accentOpacity, fill: "none", children: [
406
+ /* @__PURE__ */ jsx("path", { d: STORE_CUT }),
407
+ /* @__PURE__ */ jsx("rect", { ...STORE_SIGN })
408
+ ] }),
409
+ variant === "duotone" && /* @__PURE__ */ jsx("rect", { ...STORE_SIGN, fill: secondaryColor }),
410
+ variant === "vivid" && /* @__PURE__ */ jsx("rect", { ...STORE_SIGN, fill: accentColor, opacity: accentOpacity }),
411
+ variant !== "duotone" && /* @__PURE__ */ jsx("path", { d: STORE_GLARE, stroke: primaryColor, strokeWidth: strokeWidth * 0.6 }),
407
412
  /* @__PURE__ */ jsx("circle", { ...STORE_HANDLE, fill: primaryColor })
408
413
  ] });
409
414
  }
410
415
  const NtdStore = /* @__PURE__ */ createIcon({
411
416
  displayName: "NtdStore",
417
+ perfectStackX: 12,
418
+ perfectStackY: STORE_SIGN.y + STORE_SIGN.height / 2,
419
+ perfectStackSize: 0.15,
420
+ perfectStackFilled: ["solid", "duotone", "sharp", "rounded", "cutout", "mini", "3d"],
412
421
  paths: {
413
- solid: (p) => storeFilled(p, null, true),
422
+ solid: (p) => storeFilled(p, "solid"),
414
423
  outline: ({ primaryColor, strokeWidth }) => /* @__PURE__ */ jsxs(Fragment, { children: [
415
424
  /* @__PURE__ */ jsxs("g", { stroke: primaryColor, strokeWidth, strokeLinejoin: "miter", fill: "none", children: [
416
425
  /* @__PURE__ */ jsx("path", { d: "M3 5.4V21H21V5.4" }),
417
426
  /* @__PURE__ */ jsx("rect", { ...STORE_CORNICE }),
418
427
  /* @__PURE__ */ jsx("rect", { ...STORE_SIGN }),
419
- /* @__PURE__ */ jsx("path", { d: "M4.2 10.6h4.8v6.8H4.2zM15 10.6h4.8v6.8H15zM10.2 21V10.6h3.6V21" }),
428
+ /* @__PURE__ */ jsx("path", { d: "M4.2 11.9h4.8v6.8H4.2zM15 11.9h4.8v6.8H15zM10.2 21V12.2h3.6V21" }),
420
429
  /* @__PURE__ */ jsx("path", { d: STORE_GLARE, strokeWidth: strokeWidth * 0.6 })
421
430
  ] }),
422
431
  /* @__PURE__ */ jsx("circle", { ...STORE_HANDLE, fill: primaryColor })
423
432
  ] }),
424
- duotone: (p) => storeFilled(p, p.secondaryColor, false),
425
- vivid: (p) => storeFilled(p, p.secondaryColor, true)
433
+ duotone: (p) => storeFilled(p, "duotone"),
434
+ vivid: (p) => storeFilled(p, "vivid")
426
435
  }
427
436
  });
428
437
  const BARCODE_BARS = [
@@ -850,6 +859,9 @@ const NtdCoins = /* @__PURE__ */ createIcon({
850
859
  });
851
860
  const NOTE_RX = 1.2;
852
861
  const NOTE_GAP = 0.8;
862
+ function insetNote([x, y, w, h], by) {
863
+ return [x + by, y + by, w - 2 * by, h - 2 * by];
864
+ }
853
865
  function noteRect([x, y, w, h], grow = 0) {
854
866
  return `M${x - grow} ${y - grow}h${w + 2 * grow}v${h + 2 * grow}h${-w - 2 * grow}Z`;
855
867
  }
@@ -872,10 +884,17 @@ function noteDetails([x, y, w, h], color, width, discFilled, ring = false) {
872
884
  fill: "none"
873
885
  }
874
886
  ),
875
- /* @__PURE__ */ jsxs("g", { stroke: color, strokeWidth: discFilled ? width * 0.6 : width, fill: "none", children: [
876
- /* @__PURE__ */ jsx("circle", { cx, cy, r: h * 0.3 }),
877
- /* @__PURE__ */ jsx("circle", { cx, cy, r: h * 0.11 })
878
- ] })
887
+ /* @__PURE__ */ jsx(
888
+ "circle",
889
+ {
890
+ cx,
891
+ cy,
892
+ r: h * 0.3,
893
+ stroke: color,
894
+ strokeWidth: discFilled ? width * 0.3 : width * 0.5,
895
+ fill: "none"
896
+ }
897
+ )
879
898
  ] });
880
899
  }
881
900
  return /* @__PURE__ */ jsxs(Fragment, { children: [
@@ -952,7 +971,7 @@ function notesLines(notes, color, width, uid, ring = false) {
952
971
  line
953
972
  ) }, i) : /* @__PURE__ */ jsx("g", { children: line }, i);
954
973
  }) }),
955
- noteDetails(notes[notes.length - 1], color, width, false, ring)
974
+ noteDetails(insetNote(notes[notes.length - 1], width / 2), color, width, false, ring)
956
975
  ] });
957
976
  }
958
977
  const CASH_NOTE = [3, 6.75, 18, 10.5];
@@ -967,35 +986,38 @@ const NtdCash = /* @__PURE__ */ createIcon({
967
986
  }
968
987
  });
969
988
  const CASH_STACK = [
970
- [5.7, 4.8, 16, 9],
971
- [4, 7.5, 16, 9],
972
- [2.3, 10.2, 16, 9]
989
+ [4.7, 5.4, 17, 9.6],
990
+ [3.5, 7.2, 17, 9.6],
991
+ [2.3, 9, 17, 9.6]
973
992
  ];
974
993
  const NtdCashStack = /* @__PURE__ */ createIcon({
975
994
  displayName: "NtdCashStack",
976
995
  paths: {
977
996
  // the wireframe re-draws this as lines: there the notes behind hide behind those in front
978
- solid: ({ primaryColor, accentColor, strokeWidth, uid, variant }) => variant === "wireframe" ? notesLines(CASH_STACK, primaryColor, 1, uid) : notesFilled(
997
+ solid: ({ primaryColor, accentColor, strokeWidth, uid, variant }) => variant === "wireframe" ? notesLines(CASH_STACK, primaryColor, 1, uid, true) : notesFilled(
979
998
  CASH_STACK,
980
999
  [primaryColor, primaryColor, primaryColor],
981
1000
  accentColor,
982
1001
  accentColor,
983
- strokeWidth
1002
+ strokeWidth,
1003
+ true
984
1004
  ),
985
- outline: ({ primaryColor, strokeWidth, uid }) => notesLines(CASH_STACK, primaryColor, strokeWidth, uid),
1005
+ outline: ({ primaryColor, strokeWidth, uid }) => notesLines(CASH_STACK, primaryColor, strokeWidth, uid, true),
986
1006
  duotone: ({ primaryColor, secondaryColor, strokeWidth }) => notesFilled(
987
1007
  CASH_STACK,
988
1008
  [primaryColor, secondaryColor, primaryColor],
989
1009
  void 0,
990
1010
  secondaryColor,
991
- strokeWidth
1011
+ strokeWidth,
1012
+ true
992
1013
  ),
993
1014
  vivid: ({ primaryColor, secondaryColor, accentColor, strokeWidth }) => notesFilled(
994
1015
  CASH_STACK,
995
1016
  [primaryColor, secondaryColor, primaryColor],
996
1017
  accentColor,
997
1018
  secondaryColor,
998
- strokeWidth
1019
+ strokeWidth,
1020
+ true
999
1021
  )
1000
1022
  }
1001
1023
  });
@@ -639,7 +639,7 @@ const NtdWebinar = /* @__PURE__ */ createIcon({
639
639
  }
640
640
  });
641
641
  const CERT_SHEET = { x: 2, y: 4, width: 20, height: 14, rx: 2 };
642
- const CERT_BORDER = { x: 3.75, y: 5.75, width: 16.5, height: 10.5, rx: 0.75 };
642
+ const CERT_BORDER = { x: 3.2, y: 5.2, width: 17.6, height: 11.6, rx: 0.75 };
643
643
  const CERT_TEXT = "M5.75 8.75h8.5M5.75 11.5h6";
644
644
  const CERT_RIBBON = "M15 17h4v4.75l-2-1.5-2 1.5z";
645
645
  const CERT_SEAL = { cx: 17, cy: 15, r: 3.25 };
@@ -665,7 +665,15 @@ function certificateFilled({ primaryColor, accentColor, accentOpacity, strokeWid
665
665
  /* @__PURE__ */ jsx("path", { d: CERT_TEXT, stroke: detail, strokeWidth: "1.25", opacity: detailOpacity })
666
666
  ] })
667
667
  ),
668
- /* @__PURE__ */ jsx("circle", { ...CERT_SEAL, r: CERT_SEAL.r + 0.9, fill: accentColor, opacity: accentOpacity }),
668
+ /* @__PURE__ */ jsx(
669
+ "circle",
670
+ {
671
+ ...CERT_SEAL,
672
+ r: CERT_SEAL.r + strokeWidth * 0.6,
673
+ fill: accentColor,
674
+ opacity: accentOpacity
675
+ }
676
+ ),
669
677
  /* @__PURE__ */ jsx("circle", { ...CERT_SEAL, fill: seal }),
670
678
  /* @__PURE__ */ jsx(
671
679
  "circle",
@@ -698,9 +706,9 @@ const NtdCertificate = /* @__PURE__ */ createIcon({
698
706
  }
699
707
  });
700
708
  const QUIZ_SHEET = { x: 3, y: 2, width: 18, height: 20, rx: 2 };
701
- const QUIZ_QUESTION = "M6 6.5h12";
702
- const QUIZ_BOXES = "M6 10.75h2.75v2.75H6zM6 15.75h2.75v2.75H6z";
703
- const QUIZ_ANSWERS = "M11 12.1h7M11 17.1h5";
709
+ const QUIZ_QUESTION = "M6 5.5h12M6 8.25h8.5";
710
+ const QUIZ_BOXES = "M6 11.5h2.75v2.75H6zM6 16.25h2.75v2.75H6z";
711
+ const QUIZ_ANSWERS = "M11 12.85h7M11 17.6h5";
704
712
  const NtdQuiz = /* @__PURE__ */ createIcon({
705
713
  displayName: "NtdQuiz",
706
714
  paths: {
@@ -954,34 +954,18 @@ const NtdKey = /* @__PURE__ */ createIcon({
954
954
  }
955
955
  });
956
956
  const AWARD_RIBBON = "M8.21 13.89L7 23l5-3 5 3-1.21-9.12";
957
- const AWARD_RIBBON_INNER = "M9.67 14.3L8.9 20.11L12 18.25L15.1 20.11L14.32 14.3";
958
- function awardFilled({ primaryColor, accentColor, accentOpacity, strokeWidth }, ribbon, lines) {
957
+ const AWARD_RIBBON_INNER = "M9.67 13.42L8.9 20.11L12 18.25L15.1 20.11L14.32 13.43";
958
+ function awardInsets(color, opacity, width) {
959
+ return /* @__PURE__ */ jsxs("g", { stroke: color, strokeWidth: width, opacity, fill: "none", children: [
960
+ /* @__PURE__ */ jsx("circle", { cx: "12", cy: "8", r: "5.9" }),
961
+ /* @__PURE__ */ jsx("path", { d: AWARD_RIBBON_INNER, strokeLinejoin: "round" })
962
+ ] });
963
+ }
964
+ function awardFilled({ primaryColor, accentColor, accentOpacity, strokeWidth }, ribbon) {
959
965
  return /* @__PURE__ */ jsxs(Fragment, { children: [
960
966
  /* @__PURE__ */ jsx("path", { d: AWARD_RIBBON, fill: ribbon, stroke: ribbon, strokeWidth }),
961
- lines && /* @__PURE__ */ jsx(
962
- "path",
963
- {
964
- d: AWARD_RIBBON_INNER,
965
- stroke: accentColor,
966
- strokeWidth: strokeWidth * 0.6,
967
- strokeLinejoin: "round",
968
- opacity: accentOpacity,
969
- fill: "none"
970
- }
971
- ),
972
967
  /* @__PURE__ */ jsx("circle", { cx: "12", cy: "8", r: "7", fill: primaryColor }),
973
- lines && /* @__PURE__ */ jsx(
974
- "circle",
975
- {
976
- cx: "12",
977
- cy: "8",
978
- r: "5.9",
979
- stroke: accentColor,
980
- strokeWidth: strokeWidth * 0.6,
981
- opacity: accentOpacity,
982
- fill: "none"
983
- }
984
- )
968
+ awardInsets(accentColor, accentOpacity, strokeWidth * 0.6)
985
969
  ] });
986
970
  }
987
971
  const NtdAward = /* @__PURE__ */ createIcon({
@@ -990,7 +974,7 @@ const NtdAward = /* @__PURE__ */ createIcon({
990
974
  perfectStackY: 8,
991
975
  perfectStackSize: 0.4,
992
976
  paths: {
993
- solid: (p) => awardFilled(p, p.primaryColor, true),
977
+ solid: (p) => awardFilled(p, p.primaryColor),
994
978
  outline: ({ primaryColor, strokeWidth }) => /* @__PURE__ */ jsxs(Fragment, { children: [
995
979
  /* @__PURE__ */ jsx("circle", { cx: "12", cy: "8", r: "7", stroke: primaryColor, strokeWidth, fill: "none" }),
996
980
  /* @__PURE__ */ jsx(
@@ -1001,15 +985,16 @@ const NtdAward = /* @__PURE__ */ createIcon({
1001
985
  strokeWidth,
1002
986
  fill: "none"
1003
987
  }
1004
- )
988
+ ),
989
+ awardInsets(primaryColor, 1, strokeWidth * 0.6)
1005
990
  ] }),
1006
- duotone: (p) => awardFilled(p, p.secondaryColor, false),
1007
- vivid: (p) => awardFilled(p, p.secondaryColor, true)
991
+ duotone: (p) => awardFilled(p, p.secondaryColor),
992
+ vivid: (p) => awardFilled(p, p.secondaryColor)
1008
993
  }
1009
994
  });
1010
995
  const CART_FRAME = "M2 3.5h2.3l3.3 12.9H19.3";
1011
996
  const CART_BASKET = "M5.07 6.5H21.3l-1.7 7.1H6.88z";
1012
- const CART_BARS = "M6.39 5L8.94 15M12.2 5v10M16.6 5v10M3 10.05h20";
997
+ const CART_BARS = "M6.39 5L8.94 15M12.2 5v10M16.6 5v10M7.68 10.05H23";
1013
998
  const CART_WHEELS = [9.4, 18.2];
1014
999
  function cartFilled({ primaryColor, accentColor, accentOpacity, strokeWidth, uid }, frame, wheels, bars) {
1015
1000
  return /* @__PURE__ */ jsxs(Fragment, { children: [