@nice2dev/icons 1.4.1 → 1.4.3

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 (90) hide show
  1. package/CHANGELOG.md +57 -0
  2. package/dist/cjs/NiceIconStacker.js +36 -2
  3. package/dist/cjs/createIcon.js +25 -6
  4. package/dist/cjs/iconParts.js +33 -12
  5. package/dist/cjs/iconValue.js +6 -1
  6. package/dist/cjs/icons/actions.js +86 -122
  7. package/dist/cjs/icons/ai.js +0 -178
  8. package/dist/cjs/icons/business.js +172 -120
  9. package/dist/cjs/icons/ecommerce.js +18 -74
  10. package/dist/cjs/icons/education.js +235 -487
  11. package/dist/cjs/icons/files.js +193 -461
  12. package/dist/cjs/icons/fintech.js +38 -74
  13. package/dist/cjs/icons/food.js +117 -194
  14. package/dist/cjs/icons/fun.js +176 -57
  15. package/dist/cjs/icons/gaming.js +2 -2
  16. package/dist/cjs/icons/health.js +1 -1
  17. package/dist/cjs/icons/index.js +32 -10
  18. package/dist/cjs/icons/legal.js +1 -109
  19. package/dist/cjs/icons/media.js +67 -8
  20. package/dist/cjs/icons/navigation.js +4 -4
  21. package/dist/cjs/icons/omniverk.js +14 -6
  22. package/dist/cjs/icons/realestate.js +99 -98
  23. package/dist/cjs/icons/roman.js +111 -0
  24. package/dist/cjs/icons/science.js +74 -165
  25. package/dist/cjs/icons/shapes.js +58 -39
  26. package/dist/cjs/icons/smarthome.js +18 -16
  27. package/dist/cjs/icons/social.js +22 -20
  28. package/dist/cjs/icons/sports.js +89 -159
  29. package/dist/cjs/icons/sustainability.js +26 -48
  30. package/dist/cjs/icons/travel.js +209 -477
  31. package/dist/cjs/icons/ui.js +140 -240
  32. package/dist/cjs/icons/weather.js +30 -56
  33. package/dist/cjs/index.js +67 -43
  34. package/dist/cjs/stackedIcon.js +19 -0
  35. package/dist/cjs/stacking.js +104 -2
  36. package/dist/esm/NiceIconStacker.js +37 -3
  37. package/dist/esm/createIcon.js +27 -8
  38. package/dist/esm/iconParts.js +33 -12
  39. package/dist/esm/iconValue.js +6 -1
  40. package/dist/esm/icons/actions.js +86 -122
  41. package/dist/esm/icons/ai.js +0 -178
  42. package/dist/esm/icons/business.js +172 -120
  43. package/dist/esm/icons/ecommerce.js +18 -74
  44. package/dist/esm/icons/education.js +236 -488
  45. package/dist/esm/icons/files.js +193 -461
  46. package/dist/esm/icons/fintech.js +38 -74
  47. package/dist/esm/icons/food.js +118 -195
  48. package/dist/esm/icons/fun.js +179 -60
  49. package/dist/esm/icons/gaming.js +2 -2
  50. package/dist/esm/icons/health.js +1 -1
  51. package/dist/esm/icons/index.js +43 -21
  52. package/dist/esm/icons/legal.js +1 -109
  53. package/dist/esm/icons/media.js +67 -8
  54. package/dist/esm/icons/navigation.js +4 -4
  55. package/dist/esm/icons/omniverk.js +15 -7
  56. package/dist/esm/icons/realestate.js +100 -99
  57. package/dist/esm/icons/roman.js +111 -0
  58. package/dist/esm/icons/science.js +74 -165
  59. package/dist/esm/icons/shapes.js +58 -39
  60. package/dist/esm/icons/smarthome.js +18 -16
  61. package/dist/esm/icons/social.js +22 -20
  62. package/dist/esm/icons/sports.js +89 -159
  63. package/dist/esm/icons/sustainability.js +26 -48
  64. package/dist/esm/icons/travel.js +209 -477
  65. package/dist/esm/icons/ui.js +140 -240
  66. package/dist/esm/icons/weather.js +30 -56
  67. package/dist/esm/index.js +45 -21
  68. package/dist/esm/nicetodev-icons.css +1 -1
  69. package/dist/esm/stackedIcon.js +19 -0
  70. package/dist/esm/stacking.js +105 -3
  71. package/dist/types/createIcon.d.ts +14 -1
  72. package/dist/types/iconParts.d.ts +9 -6
  73. package/dist/types/icons/ai.d.ts +0 -4
  74. package/dist/types/icons/business.d.ts +1 -0
  75. package/dist/types/icons/education.d.ts +2 -4
  76. package/dist/types/icons/files.d.ts +3 -1
  77. package/dist/types/icons/fintech.d.ts +1 -1
  78. package/dist/types/icons/fun.d.ts +23 -0
  79. package/dist/types/icons/index.d.ts +14 -12
  80. package/dist/types/icons/legal.d.ts +0 -2
  81. package/dist/types/icons/media.d.ts +1 -0
  82. package/dist/types/icons/realestate.d.ts +17 -1
  83. package/dist/types/icons/roman.d.ts +76 -0
  84. package/dist/types/icons/science.d.ts +0 -2
  85. package/dist/types/icons/ui.d.ts +6 -1
  86. package/dist/types/index.d.ts +2 -1
  87. package/dist/types/stackedIcon.d.ts +11 -0
  88. package/dist/types/stacking.d.ts +48 -1
  89. package/dist/types/types.d.ts +17 -2
  90. package/package.json +2 -2
@@ -108,124 +108,59 @@ const NtdUser = /* @__PURE__ */ createIcon({
108
108
  }
109
109
  });
110
110
  const ADMIN_BODY = "M20.8 21.9v-2.2a4.4 4.4 0 00-4.4-4.4H7.6a4.4 4.4 0 00-4.4 4.4v2.2";
111
- const ADMIN_TIE = "M9.4 15.3h5.2l-1.3 1.8 2.1 4.8H8.6l2.1-4.8z";
112
- const NtdAdmin = /* @__PURE__ */ createIcon({
113
- displayName: "NtdAdmin",
111
+ const ADMIN_SHIRT = "M8.6 15.3h6.8L12 21.9z";
112
+ const ADMIN_TIE = "M10.8 15.3h2.4l-.5 1.3h-1.4zM11.3 16.85h1.4l.4 2.35L12 20.4l-1.1-1.2z";
113
+ function userTieFilled(head, body, shirt, shirtOpacity, tie) {
114
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
115
+ /* @__PURE__ */ jsx("circle", { cx: "12", cy: "7.6", r: "4.4", fill: head }),
116
+ /* @__PURE__ */ jsx("path", { d: ADMIN_BODY, fill: body }),
117
+ shirt && /* @__PURE__ */ jsx("path", { d: ADMIN_SHIRT, fill: shirt, opacity: shirtOpacity }),
118
+ /* @__PURE__ */ jsx("path", { d: ADMIN_TIE, fill: tie })
119
+ ] });
120
+ }
121
+ const NtdUserTie = /* @__PURE__ */ createIcon({
122
+ displayName: "NtdUserTie",
114
123
  paths: {
115
- solid: ({ primaryColor, accentColor, accentOpacity }) => /* @__PURE__ */ jsxs(Fragment, { children: [
116
- /* @__PURE__ */ jsx("circle", { cx: "12", cy: "7.6", r: "4.4", fill: primaryColor }),
117
- /* @__PURE__ */ jsx("path", { d: ADMIN_BODY, fill: primaryColor }),
118
- /* @__PURE__ */ jsx("path", { d: ADMIN_TIE, fill: accentColor, opacity: accentOpacity })
119
- ] }),
124
+ solid: ({ primaryColor, accentColor, accentOpacity }) => userTieFilled(primaryColor, primaryColor, accentColor, accentOpacity, primaryColor),
120
125
  outline: ({ primaryColor, strokeWidth }) => /* @__PURE__ */ jsxs(Fragment, { children: [
121
- /* @__PURE__ */ jsx(
122
- "circle",
123
- {
124
- cx: "12",
125
- cy: "7.6",
126
- r: "4.4",
127
- stroke: primaryColor,
128
- strokeWidth,
129
- fill: "none"
130
- }
131
- ),
132
- /* @__PURE__ */ jsx("path", { d: ADMIN_BODY, stroke: primaryColor, strokeWidth, fill: "none" }),
133
- /* @__PURE__ */ jsx("path", { d: ADMIN_TIE, fill: primaryColor })
134
- ] }),
135
- // as NtdUser: fills only, the head (and the tie) primary, the shoulders secondary
136
- duotone: ({ primaryColor, secondaryColor }) => /* @__PURE__ */ jsxs(Fragment, { children: [
137
- /* @__PURE__ */ jsx("circle", { cx: "12", cy: "7.6", r: "4.4", fill: primaryColor }),
138
- /* @__PURE__ */ jsx("path", { d: ADMIN_BODY, fill: secondaryColor }),
126
+ /* @__PURE__ */ jsxs("g", { stroke: primaryColor, strokeWidth, fill: "none", children: [
127
+ /* @__PURE__ */ jsx("circle", { cx: "12", cy: "7.6", r: "4.4" }),
128
+ /* @__PURE__ */ jsx("path", { d: ADMIN_BODY }),
129
+ /* @__PURE__ */ jsx("path", { d: "M8.6 15.3L12 21.9l3.4-6.6", strokeLinejoin: "miter" })
130
+ ] }),
139
131
  /* @__PURE__ */ jsx("path", { d: ADMIN_TIE, fill: primaryColor })
140
132
  ] }),
141
- vivid: ({ primaryColor, secondaryColor }) => /* @__PURE__ */ jsxs(Fragment, { children: [
142
- /* @__PURE__ */ jsx("circle", { cx: "12", cy: "7.6", r: "4.4", fill: primaryColor }),
143
- /* @__PURE__ */ jsx("path", { d: ADMIN_BODY, fill: secondaryColor }),
144
- /* @__PURE__ */ jsx("path", { d: ADMIN_TIE, fill: primaryColor })
145
- ] })
133
+ duotone: ({ primaryColor, secondaryColor }) => userTieFilled(primaryColor, secondaryColor, null, 1, primaryColor),
134
+ vivid: ({ primaryColor, secondaryColor, accentColor, accentOpacity }) => userTieFilled(primaryColor, secondaryColor, accentColor, accentOpacity, primaryColor)
146
135
  }
147
136
  });
137
+ const USERS_FRONT_HEAD = { cx: 12, cy: 8, r: 3.75 };
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
+ const USERS_BACK_HEADS = [
140
+ { cx: 4.75, cy: 7, r: 2.5 },
141
+ { cx: 19.25, cy: 7, r: 2.5 }
142
+ ];
143
+ 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";
144
+ function usersFilled(front, back) {
145
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
146
+ USERS_BACK_HEADS.map((h) => /* @__PURE__ */ jsx("circle", { ...h, fill: back }, h.cx)),
147
+ /* @__PURE__ */ jsx("path", { d: `${USERS_BACK_BODIES.replace("v3.25M", "v3.25h4.5zM")}h-4.5z`, fill: back }),
148
+ /* @__PURE__ */ jsx("circle", { ...USERS_FRONT_HEAD, fill: front }),
149
+ /* @__PURE__ */ jsx("path", { d: `${USERS_FRONT_BODY}z`, fill: front })
150
+ ] });
151
+ }
148
152
  const NtdUsers = /* @__PURE__ */ createIcon({
149
153
  displayName: "NtdUsers",
150
154
  paths: {
151
- solid: ({ primaryColor, strokeWidth }) => /* @__PURE__ */ jsxs(Fragment, { children: [
152
- /* @__PURE__ */ jsx("circle", { cx: "9", cy: "7", r: "4", fill: primaryColor }),
153
- /* @__PURE__ */ jsx("path", { d: "M17 21v-2a4 4 0 00-4-4H5a4 4 0 00-4 4v2", fill: primaryColor }),
154
- /* @__PURE__ */ jsx(
155
- "path",
156
- {
157
- d: "M23 21v-2a4 4 0 00-3-3.87M16 3.13a4 4 0 010 7.75",
158
- stroke: primaryColor,
159
- strokeWidth,
160
- fill: "none"
161
- }
162
- )
155
+ solid: ({ primaryColor }) => usersFilled(primaryColor, primaryColor),
156
+ outline: ({ primaryColor, strokeWidth }) => /* @__PURE__ */ jsxs("g", { stroke: primaryColor, strokeWidth, fill: "none", children: [
157
+ USERS_BACK_HEADS.map((h) => /* @__PURE__ */ jsx("circle", { ...h }, h.cx)),
158
+ /* @__PURE__ */ jsx("path", { d: USERS_BACK_BODIES }),
159
+ /* @__PURE__ */ jsx("circle", { ...USERS_FRONT_HEAD }),
160
+ /* @__PURE__ */ jsx("path", { d: USERS_FRONT_BODY })
163
161
  ] }),
164
- outline: ({ primaryColor, strokeWidth }) => /* @__PURE__ */ jsxs(Fragment, { children: [
165
- /* @__PURE__ */ jsx("circle", { cx: "9", cy: "7", r: "4", stroke: primaryColor, strokeWidth, fill: "none" }),
166
- /* @__PURE__ */ jsx(
167
- "path",
168
- {
169
- d: "M17 21v-2a4 4 0 00-4-4H5a4 4 0 00-4 4v2",
170
- stroke: primaryColor,
171
- strokeWidth,
172
- fill: "none"
173
- }
174
- ),
175
- /* @__PURE__ */ jsx(
176
- "path",
177
- {
178
- d: "M23 21v-2a4 4 0 00-3-3.87M16 3.13a4 4 0 010 7.75",
179
- stroke: primaryColor,
180
- strokeWidth,
181
- fill: "none"
182
- }
183
- )
184
- ] }),
185
- duotone: swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => /* @__PURE__ */ jsxs(Fragment, { children: [
186
- /* @__PURE__ */ jsx(
187
- "path",
188
- {
189
- d: "M17 21v-2a4 4 0 00-4-4H5a4 4 0 00-4 4v2",
190
- fill: secondaryColor,
191
- opacity: secondaryOpacity
192
- }
193
- ),
194
- /* @__PURE__ */ jsx("circle", { cx: "9", cy: "7", r: "4", fill: primaryColor }),
195
- /* @__PURE__ */ jsx(
196
- "path",
197
- {
198
- d: "M17 21v-2a4 4 0 00-4-4H5a4 4 0 00-4 4v2",
199
- stroke: primaryColor,
200
- strokeWidth,
201
- fill: "none"
202
- }
203
- ),
204
- /* @__PURE__ */ jsx(
205
- "path",
206
- {
207
- d: "M23 21v-2a4 4 0 00-3-3.87M16 3.13a4 4 0 010 7.75",
208
- stroke: secondaryColor,
209
- strokeWidth,
210
- fill: "none",
211
- opacity: secondaryOpacity + 0.2
212
- }
213
- )
214
- ] })),
215
- vivid: ({ primaryColor, secondaryColor }) => /* @__PURE__ */ jsxs(Fragment, { children: [
216
- /* @__PURE__ */ jsx("circle", { cx: "9", cy: "7", r: "4", fill: primaryColor }),
217
- /* @__PURE__ */ jsx("circle", { cx: "9", cy: "7", r: "4", fill: "white", opacity: "0.08" }),
218
- /* @__PURE__ */ jsx("path", { d: "M17 21v-2a4 4 0 00-4-4H5a4 4 0 00-4 4v2", fill: secondaryColor }),
219
- /* @__PURE__ */ jsx(
220
- "path",
221
- {
222
- d: "M23 21v-2a4 4 0 00-3-3.87M16 3.13a4 4 0 010 7.75",
223
- stroke: "white",
224
- strokeWidth: "1",
225
- fill: "none"
226
- }
227
- )
228
- ] })
162
+ duotone: ({ primaryColor, secondaryColor }) => usersFilled(primaryColor, secondaryColor),
163
+ vivid: ({ primaryColor, secondaryColor }) => usersFilled(primaryColor, secondaryColor)
229
164
  }
230
165
  });
231
166
  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";
@@ -789,56 +724,78 @@ const NtdHourglass = /* @__PURE__ */ createIcon({
789
724
  const CALENDAR_PAGE = { x: 3, y: 4, width: 18, height: 18, rx: 2 };
790
725
  const CALENDAR_HEAD_BAND = "M3 4h18v5.5H3z";
791
726
  const CALENDAR_RINGS = "M16 2v4M8 2v4";
792
- function calendarFilled({
793
- primaryColor,
794
- secondaryColor,
795
- accentColor,
796
- accentOpacity,
797
- strokeWidth,
798
- uid
799
- }) {
800
- return /* @__PURE__ */ jsxs(Fragment, { children: [
727
+ const CALENDAR_DETAILS = {
728
+ month: [11.5, 14.75, 18].flatMap(
729
+ (y) => [4.75, 8.75, 12.75, 16.75].map((x) => ({ x, y, w: 2.5, h: 2 }))
730
+ ),
731
+ week: [6, 9, 12, 15, 18].map((cx) => ({ x: cx - 0.75, y: 11.75, w: 1.5, h: 8 })),
732
+ day: [12, 15.25, 18.5].map((y) => ({ x: 6, y: y - 0.75, w: 12, h: 1.5 }))
733
+ };
734
+ function calendarDetails(kind, fill, opacity = 1) {
735
+ return CALENDAR_DETAILS[kind].map((d) => /* @__PURE__ */ jsx(
736
+ "rect",
737
+ {
738
+ x: d.x,
739
+ y: d.y,
740
+ width: d.w,
741
+ height: d.h,
742
+ fill,
743
+ opacity
744
+ },
745
+ `${d.x}-${d.y}`
746
+ ));
747
+ }
748
+ function calendarIcon(displayName, kind) {
749
+ const filled = ({
750
+ primaryColor,
751
+ secondaryColor,
752
+ accentColor,
753
+ accentOpacity,
754
+ strokeWidth,
755
+ uid,
756
+ stacked
757
+ }, two, details) => /* @__PURE__ */ jsxs(Fragment, { children: [
801
758
  /* @__PURE__ */ jsx("rect", { ...CALENDAR_PAGE, fill: primaryColor }),
802
759
  within(
803
760
  uid,
804
761
  "header",
805
762
  /* @__PURE__ */ jsx("rect", { ...CALENDAR_PAGE }),
806
763
  /* @__PURE__ */ jsxs(Fragment, { children: [
807
- /* @__PURE__ */ jsx("path", { d: CALENDAR_HEAD_BAND, fill: secondaryColor }),
764
+ two && /* @__PURE__ */ jsx("path", { d: CALENDAR_HEAD_BAND, fill: secondaryColor }),
808
765
  /* @__PURE__ */ jsx("path", { d: "M3 9.5h18", stroke: accentColor, strokeWidth: "1.5", opacity: accentOpacity })
809
766
  ] })
810
767
  ),
811
- /* @__PURE__ */ jsx("path", { d: CALENDAR_RINGS, stroke: secondaryColor, strokeWidth: strokeWidth * 1.6 })
768
+ /* @__PURE__ */ jsx(
769
+ "path",
770
+ {
771
+ d: CALENDAR_RINGS,
772
+ stroke: two ? secondaryColor : primaryColor,
773
+ strokeWidth: strokeWidth * 1.6
774
+ }
775
+ ),
776
+ !stacked && calendarDetails(kind, details, details === accentColor ? accentOpacity : 1)
812
777
  ] });
778
+ return createIcon({
779
+ displayName,
780
+ perfectStackX: 12,
781
+ perfectStackY: 15.75,
782
+ perfectStackSize: 0.55,
783
+ paths: {
784
+ solid: (p) => filled(p, false, p.accentColor),
785
+ outline: ({ primaryColor, strokeWidth, stacked }) => /* @__PURE__ */ jsxs(Fragment, { children: [
786
+ /* @__PURE__ */ jsx("rect", { ...CALENDAR_PAGE, stroke: primaryColor, strokeWidth, fill: "none" }),
787
+ /* @__PURE__ */ jsx("path", { d: CALENDAR_RINGS, stroke: primaryColor, strokeWidth: strokeWidth * 1.6 }),
788
+ /* @__PURE__ */ jsx("path", { d: "M3 9.5h18", stroke: primaryColor, strokeWidth }),
789
+ !stacked && calendarDetails(kind, primaryColor)
790
+ ] }),
791
+ duotone: (p) => filled(p, true, p.secondaryColor),
792
+ vivid: (p) => filled(p, true, p.accentColor)
793
+ }
794
+ });
813
795
  }
814
- const NtdCalendar = /* @__PURE__ */ createIcon({
815
- displayName: "NtdCalendar",
816
- perfectStackX: 12,
817
- perfectStackY: 13,
818
- perfectStackSize: 0.55,
819
- paths: {
820
- solid: calendarFilled,
821
- outline: ({ primaryColor, strokeWidth }) => /* @__PURE__ */ jsxs(Fragment, { children: [
822
- /* @__PURE__ */ jsx(
823
- "rect",
824
- {
825
- x: "3",
826
- y: "4",
827
- width: "18",
828
- height: "18",
829
- rx: "2",
830
- stroke: primaryColor,
831
- strokeWidth,
832
- fill: "none"
833
- }
834
- ),
835
- /* @__PURE__ */ jsx("path", { d: CALENDAR_RINGS, stroke: primaryColor, strokeWidth: strokeWidth * 1.6 }),
836
- /* @__PURE__ */ jsx("path", { d: "M3 9.5h18", stroke: primaryColor, strokeWidth })
837
- ] }),
838
- duotone: calendarFilled,
839
- vivid: calendarFilled
840
- }
841
- });
796
+ const NtdCalendar = /* @__PURE__ */ calendarIcon("NtdCalendar", "month");
797
+ const NtdCalendarWeek = /* @__PURE__ */ calendarIcon("NtdCalendarWeek", "week");
798
+ const NtdCalendarDay = /* @__PURE__ */ calendarIcon("NtdCalendarDay", "day");
842
799
  const NtdTag = /* @__PURE__ */ createIcon({
843
800
  displayName: "NtdTag",
844
801
  perfectStackX: 12.5,
@@ -1031,11 +988,11 @@ const NtdBookmark = /* @__PURE__ */ createIcon({
1031
988
  sharp: ({ primaryColor }) => /* @__PURE__ */ jsx("path", { d: "M19 21l-7-5-7 5V3h14v18z", fill: primaryColor })
1032
989
  }
1033
990
  });
1034
- const FLAG_CLOTH = "M4 4.5s1-1 4-1 5 2 8 2 4-1 4-1v11s-1 1-4 1-5-2-8-2-4 1-4 1z";
991
+ 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";
1035
992
  const NtdFlag = /* @__PURE__ */ createIcon({
1036
993
  displayName: "NtdFlag",
1037
994
  perfectStackX: 12,
1038
- perfectStackY: 10,
995
+ perfectStackY: 9,
1039
996
  perfectStackSize: 0.35,
1040
997
  paths: {
1041
998
  solid: ({ primaryColor, strokeWidth }) => /* @__PURE__ */ jsxs(Fragment, { children: [
@@ -1240,76 +1197,37 @@ const NtdShield = /* @__PURE__ */ createIcon({
1240
1197
  }
1241
1198
  });
1242
1199
  const GLOBE_GRID = "M2 12h20M12 2a15.3 15.3 0 014 10 15.3 15.3 0 01-4 10 15.3 15.3 0 01-4-10A15.3 15.3 0 0112 2z";
1200
+ function globeLines(color, width) {
1201
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
1202
+ /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "10", stroke: color, strokeWidth: width, fill: "none" }),
1203
+ /* @__PURE__ */ jsx("path", { d: GLOBE_GRID, stroke: color, strokeWidth: width, fill: "none" })
1204
+ ] });
1205
+ }
1206
+ function globeFilled(disc, grid, width, uid) {
1207
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
1208
+ /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "10", fill: disc }),
1209
+ within(
1210
+ uid,
1211
+ "grid",
1212
+ /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "10" }),
1213
+ /* @__PURE__ */ jsx("path", { d: GLOBE_GRID, stroke: grid, strokeWidth: width, fill: "none" })
1214
+ )
1215
+ ] });
1216
+ }
1243
1217
  const NtdGlobe = /* @__PURE__ */ createIcon({
1244
1218
  displayName: "NtdGlobe",
1245
1219
  paths: {
1246
- // a filled globe with its grid in the accent colour, kept inside the disc (it was the
1247
- // outline's rings, unfilled). The grid is 1.5x the stroke in the filled variants, but stays
1248
- // at 0.75x in the cutout, which is drawn from this layer too.
1249
- solid: ({ variant, primaryColor, accentColor, accentOpacity, strokeWidth, uid }) => /* @__PURE__ */ jsxs(Fragment, { children: [
1250
- /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "10", fill: primaryColor }),
1251
- within(
1252
- uid,
1253
- "grid",
1254
- /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "10" }),
1255
- /* @__PURE__ */ jsx(
1256
- "path",
1257
- {
1258
- d: GLOBE_GRID,
1259
- stroke: accentColor,
1260
- strokeWidth: strokeWidth * (variant === "cutout" ? 0.75 : 1.5),
1261
- opacity: accentOpacity,
1262
- fill: "none"
1263
- }
1264
- )
1265
- )
1266
- ] }),
1267
- outline: ({ primaryColor, strokeWidth }) => /* @__PURE__ */ jsxs(Fragment, { children: [
1268
- /* @__PURE__ */ jsx(
1269
- "circle",
1270
- {
1271
- cx: "12",
1272
- cy: "12",
1273
- r: "10",
1274
- stroke: primaryColor,
1275
- strokeWidth,
1276
- fill: "none"
1277
- }
1278
- ),
1279
- /* @__PURE__ */ jsx(
1280
- "path",
1281
- {
1282
- d: "M2 12h20M12 2a15.3 15.3 0 014 10 15.3 15.3 0 01-4 10 15.3 15.3 0 01-4-10A15.3 15.3 0 0112 2z",
1283
- stroke: primaryColor,
1284
- strokeWidth,
1285
- fill: "none"
1286
- }
1287
- )
1288
- ] }),
1289
- vivid: ({ primaryColor, secondaryColor, strokeWidth, uid }) => /* @__PURE__ */ jsxs(Fragment, { children: [
1290
- /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "10", fill: primaryColor }),
1291
- within(
1292
- uid,
1293
- "grid",
1294
- /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "10" }),
1295
- /* @__PURE__ */ jsx(
1296
- "path",
1297
- {
1298
- d: GLOBE_GRID,
1299
- stroke: secondaryColor,
1300
- strokeWidth: strokeWidth * 1.5,
1301
- fill: "none"
1302
- }
1303
- )
1304
- )
1305
- ] })
1220
+ solid: ({ primaryColor, strokeWidth }) => globeLines(primaryColor, strokeWidth * 2),
1221
+ outline: ({ primaryColor, strokeWidth }) => globeLines(primaryColor, strokeWidth),
1222
+ duotone: ({ primaryColor, secondaryColor, strokeWidth, uid }) => globeFilled(secondaryColor, primaryColor, strokeWidth * 1.5, uid),
1223
+ vivid: ({ primaryColor, secondaryColor, strokeWidth, uid }) => globeFilled(secondaryColor, primaryColor, strokeWidth * 1.5, uid)
1306
1224
  }
1307
1225
  });
1308
1226
  const MAP = "M1.5 5.5L8 3l8 2.5L22.5 3v15.5L16 21l-8-2.5L1.5 21z";
1309
1227
  const MAP_MIDDLE = "M8 3l8 2.5V21l-8-2.5z";
1310
1228
  const MAP_FOLDS = "M8 3v15.5M16 5.5V21";
1311
1229
  const MAP_ROUTE = "M4 17c2.5-.5 2.5-4.5 5.5-4.5s3 3 5.5 2c1.5-.6 2-2.2 2.4-3.2";
1312
- const MAP_X = "M17.4 6.9l3.2 3.2M20.6 6.9l-3.2 3.2";
1230
+ const MAP_X = "M18 6.9l3.2 3.2M21.2 6.9l-3.2 3.2";
1313
1231
  function mapMarks(route, mark, width) {
1314
1232
  return /* @__PURE__ */ jsxs(Fragment, { children: [
1315
1233
  /* @__PURE__ */ jsx(
@@ -1317,8 +1235,8 @@ function mapMarks(route, mark, width) {
1317
1235
  {
1318
1236
  d: MAP_ROUTE,
1319
1237
  stroke: route,
1320
- strokeWidth: width,
1321
- strokeDasharray: `1.2 ${1.2 + width}`,
1238
+ strokeWidth: width * 0.75,
1239
+ strokeDasharray: `1.2 ${1.2 + width * 0.75}`,
1322
1240
  fill: "none"
1323
1241
  }
1324
1242
  ),
@@ -1407,54 +1325,34 @@ function pinIcon(displayName, dot) {
1407
1325
  }
1408
1326
  const NtdPin = /* @__PURE__ */ pinIcon("NtdPin", false);
1409
1327
  const NtdMapPin = /* @__PURE__ */ pinIcon("NtdMapPin", true);
1328
+ const SUN_RAYS = "M12 1v2.6M12 20.4V23M1 12h2.6M20.4 12H23M4.22 4.22l1.84 1.84M17.94 17.94l1.84 1.84M4.22 19.78l1.84-1.84M17.94 6.06l1.84-1.84";
1410
1329
  const NtdSun = /* @__PURE__ */ createIcon({
1411
1330
  displayName: "NtdSun",
1412
1331
  paths: {
1413
1332
  solid: ({ primaryColor, strokeWidth }) => /* @__PURE__ */ jsxs(Fragment, { children: [
1414
1333
  /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "5", fill: primaryColor }),
1415
- /* @__PURE__ */ jsx(
1416
- "path",
1417
- {
1418
- d: "M12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42",
1419
- stroke: primaryColor,
1420
- strokeWidth
1421
- }
1422
- )
1334
+ /* @__PURE__ */ jsx("path", { d: SUN_RAYS, stroke: primaryColor, strokeWidth: strokeWidth * 1.5 })
1423
1335
  ] }),
1424
1336
  outline: ({ primaryColor, strokeWidth }) => /* @__PURE__ */ jsxs(Fragment, { children: [
1425
1337
  /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "5", stroke: primaryColor, strokeWidth, fill: "none" }),
1426
- /* @__PURE__ */ jsx(
1427
- "path",
1428
- {
1429
- d: "M12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42",
1430
- stroke: primaryColor,
1431
- strokeWidth
1432
- }
1433
- )
1338
+ /* @__PURE__ */ jsx("path", { d: SUN_RAYS, stroke: primaryColor, strokeWidth })
1434
1339
  ] }),
1435
1340
  duotone: ({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => /* @__PURE__ */ jsxs(Fragment, { children: [
1436
1341
  /* @__PURE__ */ jsx(
1437
1342
  "path",
1438
1343
  {
1439
- d: "M12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42",
1344
+ d: SUN_RAYS,
1440
1345
  stroke: secondaryColor,
1441
- strokeWidth,
1346
+ strokeWidth: strokeWidth * 1.5,
1442
1347
  opacity: secondaryOpacity + 0.2
1443
1348
  }
1444
1349
  ),
1445
1350
  /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "5", fill: primaryColor })
1446
1351
  ] }),
1447
- vivid: ({ primaryColor, secondaryColor }) => /* @__PURE__ */ jsxs(Fragment, { children: [
1352
+ vivid: ({ primaryColor, secondaryColor, strokeWidth }) => /* @__PURE__ */ jsxs(Fragment, { children: [
1448
1353
  /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "5", fill: primaryColor }),
1449
1354
  /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "5", fill: "white", opacity: "0.1" }),
1450
- /* @__PURE__ */ jsx(
1451
- "path",
1452
- {
1453
- d: "M12 1v2M12 21v2M4.22 4.22l1.42 1.42M18.36 18.36l1.42 1.42M1 12h2M21 12h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42",
1454
- stroke: secondaryColor,
1455
- strokeWidth: "1.8"
1456
- }
1457
- )
1355
+ /* @__PURE__ */ jsx("path", { d: SUN_RAYS, stroke: secondaryColor, strokeWidth: strokeWidth * 1.5 })
1458
1356
  ] })
1459
1357
  }
1460
1358
  });
@@ -1588,11 +1486,12 @@ const NtdWireframe = /* @__PURE__ */ createIcon({
1588
1486
  }
1589
1487
  });
1590
1488
  export {
1591
- NtdAdmin,
1592
1489
  NtdBackspace,
1593
1490
  NtdBell,
1594
1491
  NtdBookmark,
1595
1492
  NtdCalendar,
1493
+ NtdCalendarDay,
1494
+ NtdCalendarWeek,
1596
1495
  NtdClock,
1597
1496
  NtdCursor,
1598
1497
  NtdError,
@@ -1617,6 +1516,7 @@ export {
1617
1516
  NtdThumbDown,
1618
1517
  NtdThumbUp,
1619
1518
  NtdUser,
1519
+ NtdUserTie,
1620
1520
  NtdUsers,
1621
1521
  NtdWarning,
1622
1522
  NtdWireframe,
@@ -568,61 +568,35 @@ const NtdUmbrella = /* @__PURE__ */ createIcon({
568
568
  ] })
569
569
  }
570
570
  });
571
- const NtdLeaf = /* @__PURE__ */ createIcon({
572
- displayName: "NtdLeaf",
573
- paths: {
574
- solid: ({ primaryColor, strokeWidth: _strokeWidth }) => /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(
575
- "path",
576
- {
577
- d: "M17 8C8 10 5.9 16.17 3.82 21.34l1.89.66.95-2.3c.48.17.98.3 1.34.3C19 20 22 3 22 3c-1 2-8 2.25-13 3.25S2 11.5 2 13.5s1.75 3.75 1.75 3.75",
578
- fill: primaryColor
579
- }
580
- ) }),
581
- outline: ({ primaryColor, strokeWidth }) => /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(
571
+ const LEAF = "M6.2 17.8C6.2 9 12 2.8 21.2 2.8C21.2 12 15 17.8 6.2 17.8Z";
572
+ const LEAF_STALK = "M7 17L3 21";
573
+ const LEAF_MIDRIB = "M6.2 17.8L17.6 6.4";
574
+ function leafFilled({ primaryColor, accentColor, accentOpacity, strokeWidth }, stalk, midrib) {
575
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
576
+ /* @__PURE__ */ jsx("path", { d: LEAF_STALK, stroke: stalk, strokeWidth: strokeWidth * 1.6, strokeLinecap: "round" }),
577
+ /* @__PURE__ */ jsx("path", { d: LEAF, fill: primaryColor }),
578
+ midrib && /* @__PURE__ */ jsx(
582
579
  "path",
583
580
  {
584
- d: "M17 8C8 10 5.9 16.17 3.82 21.34l1.89.66.95-2.3c.48.17.98.3 1.34.3C19 20 22 3 22 3c-1 2-8 2.25-13 3.25S2 11.5 2 13.5s1.75 3.75 1.75 3.75",
585
- stroke: primaryColor,
586
- strokeWidth,
587
- fill: "none"
581
+ d: LEAF_MIDRIB,
582
+ stroke: accentColor,
583
+ strokeWidth: strokeWidth * 0.6,
584
+ strokeLinecap: "round",
585
+ opacity: accentOpacity
588
586
  }
589
- ) }),
590
- duotone: swapDuotone(({ primaryColor, secondaryColor, secondaryOpacity, strokeWidth }) => /* @__PURE__ */ jsxs(Fragment, { children: [
591
- /* @__PURE__ */ jsx(
592
- "path",
593
- {
594
- d: "M17 8C8 10 5.9 16.17 3.82 21.34l1.89.66.95-2.3c.48.17.98.3 1.34.3C19 20 22 3 22 3c-1 2-8 2.25-13 3.25S2 11.5 2 13.5s1.75 3.75 1.75 3.75",
595
- fill: secondaryColor,
596
- opacity: secondaryOpacity
597
- }
598
- ),
599
- /* @__PURE__ */ jsx(
600
- "path",
601
- {
602
- d: "M17 8C8 10 5.9 16.17 3.82 21.34l1.89.66.95-2.3c.48.17.98.3 1.34.3C19 20 22 3 22 3c-1 2-8 2.25-13 3.25S2 11.5 2 13.5s1.75 3.75 1.75 3.75",
603
- stroke: primaryColor,
604
- strokeWidth,
605
- fill: "none"
606
- }
607
- )
608
- ] })),
609
- vivid: ({ primaryColor, secondaryColor: _secondaryColor }) => /* @__PURE__ */ jsxs(Fragment, { children: [
610
- /* @__PURE__ */ jsx(
611
- "path",
612
- {
613
- d: "M17 8C8 10 5.9 16.17 3.82 21.34l1.89.66.95-2.3c.48.17.98.3 1.34.3C19 20 22 3 22 3c-1 2-8 2.25-13 3.25S2 11.5 2 13.5s1.75 3.75 1.75 3.75",
614
- fill: primaryColor
615
- }
616
- ),
617
- /* @__PURE__ */ jsx(
618
- "path",
619
- {
620
- d: "M17 8C8 10 5.9 16.17 3.82 21.34l1.89.66.95-2.3c.48.17.98.3 1.34.3C19 20 22 3 22 3c-1 2-8 2.25-13 3.25S2 11.5 2 13.5s1.75 3.75 1.75 3.75",
621
- fill: "white",
622
- opacity: "0.1"
623
- }
624
- )
625
- ] })
587
+ )
588
+ ] });
589
+ }
590
+ const NtdLeaf = /* @__PURE__ */ createIcon({
591
+ displayName: "NtdLeaf",
592
+ paths: {
593
+ solid: (p) => leafFilled(p, p.primaryColor, true),
594
+ outline: ({ primaryColor, strokeWidth }) => /* @__PURE__ */ jsxs("g", { stroke: primaryColor, strokeWidth, strokeLinecap: "round", fill: "none", children: [
595
+ /* @__PURE__ */ jsx("path", { d: LEAF, strokeLinejoin: "round" }),
596
+ /* @__PURE__ */ jsx("path", { d: "M6.2 17.8L3 21M6.2 17.8L16.4 7.6" })
597
+ ] }),
598
+ duotone: (p) => leafFilled(p, p.secondaryColor, false),
599
+ vivid: (p) => leafFilled(p, p.secondaryColor, true)
626
600
  }
627
601
  });
628
602
  const NtdFlower = /* @__PURE__ */ createIcon({
@@ -685,8 +659,8 @@ const NtdTree = /* @__PURE__ */ createIcon({
685
659
  }
686
660
  });
687
661
  const MOUNTAIN = "M12 2L2 22h20L12 2z";
688
- const MOUNTAIN_SNOW = "M12 2L15 8L14 10.2L13.1 9.4L11.9 11L10.6 9.1L9.5 10.4L8.4 9.2Z";
689
- const MOUNTAIN_SNOW_LINE = "M8.4 9.2L9.5 10.4L10.6 9.1L11.9 11L13.1 9.4L14 10.2L15 8";
662
+ const MOUNTAIN_SNOW = "M12 2L16.6 11.2L14.6 12.3L12.7 14.1L10.7 12L8.9 13.7L7 12Z";
663
+ const MOUNTAIN_SNOW_LINE = "M7 12L8.9 13.7L10.7 12L12.7 14.1L14.6 12.3L16.6 11.2";
690
664
  const NtdMountain = /* @__PURE__ */ createIcon({
691
665
  displayName: "NtdMountain",
692
666
  paths: {
@@ -702,7 +676,7 @@ const NtdMountain = /* @__PURE__ */ createIcon({
702
676
  d: MOUNTAIN_SNOW_LINE,
703
677
  stroke: accentColor,
704
678
  strokeOpacity: accentOpacity,
705
- strokeWidth,
679
+ strokeWidth: strokeWidth * 0.7,
706
680
  strokeLinejoin: "miter",
707
681
  fill: "none"
708
682
  }
@@ -716,7 +690,7 @@ const NtdMountain = /* @__PURE__ */ createIcon({
716
690
  {
717
691
  d: MOUNTAIN_SNOW_LINE,
718
692
  stroke: primaryColor,
719
- strokeWidth: strokeWidth * 0.8,
693
+ strokeWidth: strokeWidth * 0.6,
720
694
  fill: "none"
721
695
  }
722
696
  )