@snowztech/ui 0.1.0 → 0.2.0

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/dist/index.cjs CHANGED
@@ -24,20 +24,22 @@ function _interopNamespace(e) {
24
24
  var React__namespace = /*#__PURE__*/_interopNamespace(React);
25
25
 
26
26
  // src/mark.tsx
27
- var SnowMark = ({ size = 48, color = "currentColor", style }) => /* @__PURE__ */ jsxRuntime.jsxs(
27
+ var sizeStyle = (size) => typeof size === "number" ? { ["--sn-mark-size"]: `${size}px` } : void 0;
28
+ var sizeClass = (size) => typeof size === "string" ? `sn-mark--${size}` : void 0;
29
+ var cx = (...parts) => parts.filter(Boolean).join(" ");
30
+ var SnowMark = ({ size = 48, color, className, style }) => /* @__PURE__ */ jsxRuntime.jsxs(
28
31
  "svg",
29
32
  {
30
- width: size,
31
- height: size,
32
33
  viewBox: "0 0 32 32",
33
- fill: color,
34
- style: { display: "inline-block", verticalAlign: "middle", ...style },
34
+ fill: "currentColor",
35
+ className: cx("sn-mark", sizeClass(size), className),
36
+ style: { ...sizeStyle(size), color, ...style },
35
37
  "aria-hidden": "true",
36
38
  children: [
37
39
  /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "9", y: "6", width: "14", height: "2.4" }),
38
40
  /* @__PURE__ */ jsxRuntime.jsx("polygon", { points: "22.4,6 23,8.4 9.6,26 9,23.6" }),
39
41
  /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "9", y: "23.6", width: "14", height: "2.4" }),
40
- /* @__PURE__ */ jsxRuntime.jsxs("g", { fill: color, children: [
42
+ /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
41
43
  /* @__PURE__ */ jsxRuntime.jsx("polygon", { points: "16,1 18,4 16,7 14,4" }),
42
44
  /* @__PURE__ */ jsxRuntime.jsx("polygon", { points: "16,25 18,28 16,31 14,28" }),
43
45
  /* @__PURE__ */ jsxRuntime.jsx("polygon", { points: "27,8 28.7,11 25.5,11.5 26,8.7" }),
@@ -50,61 +52,68 @@ var SnowMark = ({ size = 48, color = "currentColor", style }) => /* @__PURE__ */
50
52
  );
51
53
  var SnowWordmark = ({
52
54
  size = 18,
53
- color = "currentColor",
55
+ color,
54
56
  showDot = true,
55
- accent = "var(--sn-accent)"
57
+ accent,
58
+ className,
59
+ style
56
60
  }) => /* @__PURE__ */ jsxRuntime.jsxs(
57
61
  "span",
58
62
  {
63
+ className: cx("sn-wordmark", className),
59
64
  style: {
60
- fontFamily: "var(--sn-font-mono)",
61
- fontSize: size,
62
- fontWeight: 700,
63
- letterSpacing: "-0.01em",
65
+ ["--sn-wordmark-size"]: `${size}px`,
64
66
  color,
65
- lineHeight: 1
67
+ ...style
66
68
  },
67
69
  children: [
68
70
  "snowztech",
69
- showDot && /* @__PURE__ */ jsxRuntime.jsx("span", { style: { color: accent }, children: "." })
71
+ showDot && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sn-wordmark__dot", style: accent ? { color: accent } : void 0, children: "." })
70
72
  ]
71
73
  }
72
74
  );
73
75
  var SnowMonogram = ({
74
76
  size = 64,
75
- bg = "#0a0a0a",
76
- fg = "#ffffff",
77
- radius = 8
78
- }) => /* @__PURE__ */ jsxRuntime.jsx(Monogram, { size, bg, fg, radius, mark: SnowMark });
77
+ bg,
78
+ fg,
79
+ radius,
80
+ className,
81
+ style
82
+ }) => /* @__PURE__ */ jsxRuntime.jsx(Monogram, { size, bg, fg, radius, mark: SnowMark, className, style });
79
83
  var Monogram = ({
80
84
  size = 64,
81
- bg = "#0a0a0a",
82
- fg = "#ffffff",
83
- radius = 8,
85
+ bg,
86
+ fg,
87
+ radius,
84
88
  mark: Mark,
85
- glyphScale = 0.6
89
+ glyphScale = 0.6,
90
+ className,
91
+ style
86
92
  }) => /* @__PURE__ */ jsxRuntime.jsx(
87
93
  "div",
88
94
  {
95
+ className: cx("sn-monogram", className),
89
96
  style: {
90
- width: size,
91
- height: size,
92
- background: bg,
93
- borderRadius: radius,
94
- display: "inline-flex",
95
- alignItems: "center",
96
- justifyContent: "center",
97
- flexShrink: 0
97
+ ["--sn-monogram-size"]: `${size}px`,
98
+ ...bg ? { ["--sn-monogram-bg"]: bg } : null,
99
+ ...fg ? { ["--sn-monogram-fg"]: fg } : null,
100
+ ...radius != null ? { ["--sn-monogram-radius"]: `${radius}px` } : null,
101
+ ...style
98
102
  },
99
- children: /* @__PURE__ */ jsxRuntime.jsx(Mark, { size: Math.round(size * glyphScale), color: fg })
103
+ children: /* @__PURE__ */ jsxRuntime.jsx(Mark, { size: Math.round(size * glyphScale), color: fg ?? "currentColor" })
100
104
  }
101
105
  );
102
- var wrap = (style) => ({
103
- display: "inline-block",
104
- verticalAlign: "middle",
105
- ...style
106
+ var sizeStyle2 = (size) => typeof size === "number" ? { ["--sn-mark-size"]: `${size}px` } : void 0;
107
+ var sizeClass2 = (size) => typeof size === "string" ? `sn-mark--${size}` : void 0;
108
+ var cx2 = (...parts) => parts.filter(Boolean).join(" ");
109
+ var baseProps = ({ size, color, className, style }, extra = {}) => ({
110
+ viewBox: "0 0 32 32",
111
+ className: cx2("sn-mark", sizeClass2(size), className),
112
+ style: { ...sizeStyle2(size ?? 64), ...color ? { color } : null, ...style },
113
+ "aria-hidden": true,
114
+ ...extra
106
115
  });
107
- var MarkSigil = ({ size = 64, color = "currentColor", style }) => /* @__PURE__ */ jsxRuntime.jsxs("svg", { width: size, height: size, viewBox: "0 0 32 32", fill: color, style: wrap(style), "aria-hidden": "true", children: [
116
+ var MarkSigil = (p) => /* @__PURE__ */ jsxRuntime.jsxs("svg", { ...baseProps(p, { fill: "currentColor" }), children: [
108
117
  /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "14.5", y: "3", width: "3", height: "11" }),
109
118
  /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "14.5", y: "18", width: "3", height: "11" }),
110
119
  /* @__PURE__ */ jsxRuntime.jsxs("g", { transform: "rotate(60 16 16)", children: [
@@ -116,34 +125,34 @@ var MarkSigil = ({ size = 64, color = "currentColor", style }) => /* @__PURE__ *
116
125
  /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "14.5", y: "18.5", width: "3", height: "10.5" })
117
126
  ] })
118
127
  ] });
119
- var MarkCrystal = ({ size = 64, color = "currentColor", style }) => /* @__PURE__ */ jsxRuntime.jsxs("svg", { width: size, height: size, viewBox: "0 0 32 32", fill: "none", stroke: color, strokeWidth: "2.4", strokeLinejoin: "miter", strokeLinecap: "square", style: wrap(style), "aria-hidden": "true", children: [
128
+ var MarkCrystal = (p) => /* @__PURE__ */ jsxRuntime.jsxs("svg", { ...baseProps(p, { fill: "none", stroke: "currentColor", strokeWidth: 2.4, strokeLinejoin: "miter", strokeLinecap: "square" }), children: [
120
129
  /* @__PURE__ */ jsxRuntime.jsx("polygon", { points: "16,3 27,9.5 27,22.5 16,29 5,22.5 5,9.5" }),
121
130
  /* @__PURE__ */ jsxRuntime.jsx("polygon", { points: "16,9 22,16 16,23 10,16" }),
122
131
  /* @__PURE__ */ jsxRuntime.jsx("line", { x1: "16", y1: "3", x2: "16", y2: "9" }),
123
132
  /* @__PURE__ */ jsxRuntime.jsx("line", { x1: "16", y1: "23", x2: "16", y2: "29" })
124
133
  ] });
125
- var MarkZFlake = ({ size = 64, color = "currentColor", style }) => /* @__PURE__ */ jsxRuntime.jsxs("svg", { width: size, height: size, viewBox: "0 0 32 32", fill: color, style: wrap(style), "aria-hidden": "true", children: [
134
+ var MarkZFlake = (p) => /* @__PURE__ */ jsxRuntime.jsxs("svg", { ...baseProps(p, { fill: "currentColor" }), children: [
126
135
  /* @__PURE__ */ jsxRuntime.jsx("polygon", { points: "6,5 26,5 26,9 12,9 26,23 26,27 6,27 6,23 20,23 6,9" }),
127
136
  /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "4", y: "14", width: "3", height: "4" }),
128
137
  /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "25", y: "14", width: "3", height: "4" })
129
138
  ] });
130
- var MarkAsterisk = ({ size = 64, color = "currentColor", style }) => /* @__PURE__ */ jsxRuntime.jsxs("svg", { width: size, height: size, viewBox: "0 0 32 32", fill: color, style: wrap(style), "aria-hidden": "true", children: [
131
- /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "16", cy: "16", r: "2.2", fill: "none", stroke: color, strokeWidth: "2" }),
139
+ var MarkAsterisk = (p) => /* @__PURE__ */ jsxRuntime.jsxs("svg", { ...baseProps(p, { fill: "currentColor" }), children: [
140
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "16", cy: "16", r: "2.2", fill: "none", stroke: "currentColor", strokeWidth: "2" }),
132
141
  [0, 60, 120].map((deg, i) => /* @__PURE__ */ jsxRuntime.jsxs("g", { transform: `rotate(${deg} 16 16)`, children: [
133
142
  /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "14.6", y: "2", width: "2.8", height: "9", rx: "0.5" }),
134
143
  /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "14.6", y: "21", width: "2.8", height: "9", rx: "0.5" })
135
144
  ] }, i))
136
145
  ] });
137
- var MarkSlash = ({ size = 64, color = "currentColor", style }) => /* @__PURE__ */ jsxRuntime.jsxs("svg", { width: size, height: size, viewBox: "0 0 32 32", fill: "none", stroke: color, strokeWidth: "3.2", strokeLinecap: "square", strokeLinejoin: "miter", style: wrap(style), "aria-hidden": "true", children: [
146
+ var MarkSlash = (p) => /* @__PURE__ */ jsxRuntime.jsxs("svg", { ...baseProps(p, { fill: "none", stroke: "currentColor", strokeWidth: 3.2, strokeLinecap: "square", strokeLinejoin: "miter" }), children: [
138
147
  /* @__PURE__ */ jsxRuntime.jsx("line", { x1: "16", y1: "4", x2: "16", y2: "28" }),
139
148
  /* @__PURE__ */ jsxRuntime.jsx("line", { x1: "6", y1: "10", x2: "26", y2: "22" }),
140
149
  /* @__PURE__ */ jsxRuntime.jsx("line", { x1: "26", y1: "10", x2: "6", y2: "22" }),
141
- /* @__PURE__ */ jsxRuntime.jsx("line", { x1: "3", y1: "22", x2: "20", y2: "5", stroke: color, strokeWidth: "4" })
150
+ /* @__PURE__ */ jsxRuntime.jsx("line", { x1: "3", y1: "22", x2: "20", y2: "5", stroke: "currentColor", strokeWidth: "4" })
142
151
  ] });
143
- var MarkGlyph = ({ size = 64, color = "currentColor", style }) => /* @__PURE__ */ jsxRuntime.jsx("svg", { width: size, height: size, viewBox: "0 0 32 32", fill: color, style: wrap(style), "aria-hidden": "true", children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M7 5 H25 V11 H13 V14 H25 V27 H7 V21 H19 V18 H7 Z" }) });
144
- var MarkHex = ({ size = 64, color = "currentColor", style }) => {
152
+ var MarkGlyph = (p) => /* @__PURE__ */ jsxRuntime.jsx("svg", { ...baseProps(p, { fill: "currentColor" }), children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M7 5 H25 V11 H13 V14 H25 V27 H7 V21 H19 V18 H7 Z" }) });
153
+ var MarkHex = (p) => {
145
154
  const id = React__namespace.useId();
146
- return /* @__PURE__ */ jsxRuntime.jsxs("svg", { width: size, height: size, viewBox: "0 0 32 32", style: wrap(style), "aria-hidden": "true", children: [
155
+ return /* @__PURE__ */ jsxRuntime.jsxs("svg", { ...baseProps(p), children: [
147
156
  /* @__PURE__ */ jsxRuntime.jsx("defs", { children: /* @__PURE__ */ jsxRuntime.jsxs("mask", { id, children: [
148
157
  /* @__PURE__ */ jsxRuntime.jsx("rect", { width: "32", height: "32", fill: "white" }),
149
158
  /* @__PURE__ */ jsxRuntime.jsxs("g", { fill: "black", children: [
@@ -152,21 +161,21 @@ var MarkHex = ({ size = 64, color = "currentColor", style }) => {
152
161
  /* @__PURE__ */ jsxRuntime.jsx("g", { transform: "rotate(-60 16 16)", children: /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "14.5", y: "6", width: "3", height: "20" }) })
153
162
  ] })
154
163
  ] }) }),
155
- /* @__PURE__ */ jsxRuntime.jsx("polygon", { points: "16,3 27,9.5 27,22.5 16,29 5,22.5 5,9.5", fill: color, mask: `url(#${id})` })
164
+ /* @__PURE__ */ jsxRuntime.jsx("polygon", { points: "16,3 27,9.5 27,22.5 16,29 5,22.5 5,9.5", fill: "currentColor", mask: `url(#${id})` })
156
165
  ] });
157
166
  };
158
- var MarkDotgrid = ({ size = 64, color = "currentColor", style }) => {
159
- const dots = [/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "16", cy: "16", r: "2", fill: color }, "c")];
167
+ var MarkDotgrid = (p) => {
168
+ const dots = [/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "16", cy: "16", r: "2", fill: "currentColor" }, "c")];
160
169
  for (let a = 0; a < 6; a++) {
161
170
  const ang = a * 60 * Math.PI / 180;
162
171
  for (let r = 1; r <= 3; r++) {
163
172
  const x = 16 + Math.cos(ang) * r * 4;
164
173
  const y = 16 + Math.sin(ang) * r * 4;
165
174
  const rad = r === 3 ? 1.6 : r === 2 ? 1.8 : 2;
166
- dots.push(/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: x, cy: y, r: rad, fill: color }, `${a}-${r}`));
175
+ dots.push(/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: x, cy: y, r: rad, fill: "currentColor" }, `${a}-${r}`));
167
176
  }
168
177
  }
169
- return /* @__PURE__ */ jsxRuntime.jsx("svg", { width: size, height: size, viewBox: "0 0 32 32", style: wrap(style), "aria-hidden": "true", children: dots });
178
+ return /* @__PURE__ */ jsxRuntime.jsx("svg", { ...baseProps(p), children: dots });
170
179
  };
171
180
  var markVariants = [
172
181
  { id: "crystal", name: "Crystal", sub: "hex frame + diamond cut, canonical", Mark: MarkCrystal, exportName: "MarkCrystal" },
@@ -178,10 +187,12 @@ var markVariants = [
178
187
  { id: "dotgrid", name: "Dot-Grid", sub: "pointillist, friendly", Mark: MarkDotgrid, exportName: "MarkDotgrid" },
179
188
  { id: "glyph", name: "Glyph S", sub: "monogram, folded ribbon", Mark: MarkGlyph, exportName: "MarkGlyph" }
180
189
  ];
190
+ var cx3 = (...parts) => parts.filter(Boolean).join(" ");
181
191
  var Icon = ({
182
192
  size = 16,
183
193
  stroke = 1.5,
184
194
  color = "currentColor",
195
+ className,
185
196
  style,
186
197
  children
187
198
  }) => /* @__PURE__ */ jsxRuntime.jsx(
@@ -195,7 +206,8 @@ var Icon = ({
195
206
  strokeWidth: stroke,
196
207
  strokeLinecap: "round",
197
208
  strokeLinejoin: "round",
198
- style: { display: "inline-block", verticalAlign: "middle", ...style },
209
+ className: cx3("sn-icon", className),
210
+ style,
199
211
  "aria-hidden": "true",
200
212
  children
201
213
  }
@@ -349,6 +361,7 @@ var DiscordIcon = (p) => /* @__PURE__ */ jsxRuntime.jsxs(Icon, { ...p, children:
349
361
  /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "9", cy: "11.5", r: "1.5", fill: "currentColor", stroke: "none" }),
350
362
  /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "15", cy: "11.5", r: "1.5", fill: "currentColor", stroke: "none" })
351
363
  ] });
364
+ var cx4 = (...parts) => parts.filter(Boolean).join(" ");
352
365
  var initialsFrom = (name) => {
353
366
  if (!name) return "";
354
367
  const parts = name.trim().split(/\s+/).slice(0, 2);
@@ -364,104 +377,44 @@ var Avatar = ({
364
377
  style,
365
378
  className
366
379
  }) => {
367
- const radius = shape === "circle" ? "50%" : "var(--sn-r-xs)";
368
380
  const initials = initialsFrom(name);
369
381
  return /* @__PURE__ */ jsxRuntime.jsx(
370
382
  "span",
371
383
  {
372
- className,
373
- style: {
374
- display: "inline-flex",
375
- alignItems: "center",
376
- justifyContent: "center",
377
- width: size,
378
- height: size,
379
- borderRadius: radius,
380
- background: "var(--sn-bg-elev-1)",
381
- color: "var(--sn-fg-muted)",
382
- fontFamily: "var(--sn-font-mono)",
383
- fontSize: Math.max(10, Math.round(size * 0.38)),
384
- fontWeight: 500,
385
- overflow: "hidden",
386
- flexShrink: 0,
387
- boxShadow: ring ? "0 0 0 1px var(--sn-border-strong)" : void 0,
388
- ...style
389
- },
384
+ className: cx4(
385
+ "sn-avatar",
386
+ shape === "square" && "sn-avatar--square",
387
+ ring && "sn-avatar--ring",
388
+ className
389
+ ),
390
+ style: { ["--sn-avatar-size"]: `${size}px`, ...style },
390
391
  children: src ? (
391
392
  // eslint-disable-next-line @next/next/no-img-element
392
- /* @__PURE__ */ jsxRuntime.jsx(
393
- "img",
394
- {
395
- src,
396
- alt: alt ?? name ?? "",
397
- width: size,
398
- height: size,
399
- style: { width: "100%", height: "100%", objectFit: "cover" }
400
- }
401
- )
393
+ /* @__PURE__ */ jsxRuntime.jsx("img", { src, alt: alt ?? name ?? "", width: size, height: size })
402
394
  ) : /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": "true", children: initials || "\u2022" })
403
395
  }
404
396
  );
405
397
  };
406
- var AvatarStack = ({ children, overlap = 8 }) => /* @__PURE__ */ jsxRuntime.jsx("span", { style: { display: "inline-flex" }, children: React__namespace.Children.map(children, (child, i) => /* @__PURE__ */ jsxRuntime.jsx("span", { style: { marginLeft: i === 0 ? 0 : -overlap }, children: child })) });
407
- var Pulse = ({
408
- size = 8,
409
- color = "var(--sn-success)",
410
- label,
411
- style,
412
- className
413
- }) => /* @__PURE__ */ jsxRuntime.jsxs(
398
+ var AvatarStack = ({ children, overlap = 8, className, style }) => /* @__PURE__ */ jsxRuntime.jsx(
414
399
  "span",
415
400
  {
416
- className,
401
+ className: cx4("sn-avatar-stack", className),
402
+ style: { ["--sn-avatar-overlap"]: `-${overlap}px`, ...style },
403
+ children
404
+ }
405
+ );
406
+ var cx5 = (...parts) => parts.filter(Boolean).join(" ");
407
+ var Pulse = ({ size = 8, color, label, style, className }) => /* @__PURE__ */ jsxRuntime.jsxs(
408
+ "span",
409
+ {
410
+ className: cx5("sn-pulse", className),
417
411
  style: {
418
- display: "inline-flex",
419
- alignItems: "center",
420
- gap: 8,
421
- color: "var(--sn-fg-muted)",
422
- fontSize: "var(--sn-text-sm)",
412
+ ["--sn-pulse-size"]: `${size}px`,
413
+ ...color ? { ["--sn-pulse-color"]: color } : null,
423
414
  ...style
424
415
  },
425
416
  children: [
426
- /* @__PURE__ */ jsxRuntime.jsxs(
427
- "span",
428
- {
429
- "aria-hidden": "true",
430
- style: {
431
- position: "relative",
432
- display: "inline-flex",
433
- width: size,
434
- height: size
435
- },
436
- children: [
437
- /* @__PURE__ */ jsxRuntime.jsx(
438
- "span",
439
- {
440
- style: {
441
- position: "absolute",
442
- inset: 0,
443
- borderRadius: "50%",
444
- background: color,
445
- opacity: 0.6,
446
- animation: "sn-pulse 2s ease-in-out infinite"
447
- }
448
- }
449
- ),
450
- /* @__PURE__ */ jsxRuntime.jsx(
451
- "span",
452
- {
453
- style: {
454
- position: "relative",
455
- width: "100%",
456
- height: "100%",
457
- borderRadius: "50%",
458
- background: color
459
- }
460
- }
461
- )
462
- ]
463
- }
464
- ),
417
+ /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": "true", className: "sn-pulse__dot" }),
465
418
  label && /* @__PURE__ */ jsxRuntime.jsx("span", { children: label })
466
419
  ]
467
420
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/mark.tsx","../src/mark-variants.tsx","../src/icons.tsx","../src/avatar.tsx","../src/pulse.tsx"],"names":["jsxs","jsx","React","React2"],"mappings":"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","file":"index.cjs","sourcesContent":["import * as React from \"react\";\n\nexport interface SnowMarkProps {\n size?: number;\n color?: string;\n style?: React.CSSProperties;\n}\n\nexport const SnowMark = ({ size = 48, color = \"currentColor\", style }: SnowMarkProps) => (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 32 32\"\n fill={color}\n style={{ display: \"inline-block\", verticalAlign: \"middle\", ...style }}\n aria-hidden=\"true\"\n >\n <rect x=\"9\" y=\"6\" width=\"14\" height=\"2.4\" />\n <polygon points=\"22.4,6 23,8.4 9.6,26 9,23.6\" />\n <rect x=\"9\" y=\"23.6\" width=\"14\" height=\"2.4\" />\n <g fill={color}>\n <polygon points=\"16,1 18,4 16,7 14,4\" />\n <polygon points=\"16,25 18,28 16,31 14,28\" />\n <polygon points=\"27,8 28.7,11 25.5,11.5 26,8.7\" />\n <polygon points=\"5,8 6,8.7 6.5,11.5 3.3,11\" />\n <polygon points=\"27,24 26,23.3 25.5,20.5 28.7,21\" />\n <polygon points=\"5,24 3.3,21 6.5,20.5 6,23.3\" />\n </g>\n </svg>\n);\n\nexport interface SnowWordmarkProps {\n size?: number;\n color?: string;\n showDot?: boolean;\n accent?: string;\n}\n\nexport const SnowWordmark = ({\n size = 18,\n color = \"currentColor\",\n showDot = true,\n accent = \"var(--sn-accent)\",\n}: SnowWordmarkProps) => (\n <span\n style={{\n fontFamily: \"var(--sn-font-mono)\",\n fontSize: size,\n fontWeight: 700,\n letterSpacing: \"-0.01em\",\n color,\n lineHeight: 1,\n }}\n >\n snowztech{showDot && <span style={{ color: accent }}>.</span>}\n </span>\n);\n\nexport interface SnowMonogramProps {\n size?: number;\n bg?: string;\n fg?: string;\n radius?: number;\n}\n\nexport const SnowMonogram = ({\n size = 64,\n bg = \"#0a0a0a\",\n fg = \"#ffffff\",\n radius = 8,\n}: SnowMonogramProps) => (\n <Monogram size={size} bg={bg} fg={fg} radius={radius} mark={SnowMark} />\n);\n\nexport interface MonogramProps {\n size?: number;\n bg?: string;\n fg?: string;\n radius?: number;\n mark: React.ComponentType<{ size?: number; color?: string }>;\n glyphScale?: number;\n}\n\nexport const Monogram = ({\n size = 64,\n bg = \"#0a0a0a\",\n fg = \"#ffffff\",\n radius = 8,\n mark: Mark,\n glyphScale = 0.6,\n}: MonogramProps) => (\n <div\n style={{\n width: size,\n height: size,\n background: bg,\n borderRadius: radius,\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n flexShrink: 0,\n }}\n >\n <Mark size={Math.round(size * glyphScale)} color={fg} />\n </div>\n);\n","import * as React from \"react\";\n\nexport interface MarkProps {\n size?: number;\n color?: string;\n style?: React.CSSProperties;\n}\n\nconst wrap = (style?: React.CSSProperties): React.CSSProperties => ({\n display: \"inline-block\",\n verticalAlign: \"middle\",\n ...style,\n});\n\nexport const MarkSigil = ({ size = 64, color = \"currentColor\", style }: MarkProps) => (\n <svg width={size} height={size} viewBox=\"0 0 32 32\" fill={color} style={wrap(style)} aria-hidden=\"true\">\n <rect x=\"14.5\" y=\"3\" width=\"3\" height=\"11\" />\n <rect x=\"14.5\" y=\"18\" width=\"3\" height=\"11\" />\n <g transform=\"rotate(60 16 16)\">\n <rect x=\"14.5\" y=\"3\" width=\"3\" height=\"10.5\" />\n <rect x=\"14.5\" y=\"18.5\" width=\"3\" height=\"10.5\" />\n </g>\n <g transform=\"rotate(-60 16 16)\">\n <rect x=\"14.5\" y=\"3\" width=\"3\" height=\"10.5\" />\n <rect x=\"14.5\" y=\"18.5\" width=\"3\" height=\"10.5\" />\n </g>\n </svg>\n);\n\nexport const MarkCrystal = ({ size = 64, color = \"currentColor\", style }: MarkProps) => (\n <svg width={size} height={size} viewBox=\"0 0 32 32\" fill=\"none\" stroke={color} strokeWidth=\"2.4\" strokeLinejoin=\"miter\" strokeLinecap=\"square\" style={wrap(style)} aria-hidden=\"true\">\n <polygon points=\"16,3 27,9.5 27,22.5 16,29 5,22.5 5,9.5\" />\n <polygon points=\"16,9 22,16 16,23 10,16\" />\n <line x1=\"16\" y1=\"3\" x2=\"16\" y2=\"9\" />\n <line x1=\"16\" y1=\"23\" x2=\"16\" y2=\"29\" />\n </svg>\n);\n\nexport const MarkZFlake = ({ size = 64, color = \"currentColor\", style }: MarkProps) => (\n <svg width={size} height={size} viewBox=\"0 0 32 32\" fill={color} style={wrap(style)} aria-hidden=\"true\">\n <polygon points=\"6,5 26,5 26,9 12,9 26,23 26,27 6,27 6,23 20,23 6,9\" />\n <rect x=\"4\" y=\"14\" width=\"3\" height=\"4\" />\n <rect x=\"25\" y=\"14\" width=\"3\" height=\"4\" />\n </svg>\n);\n\nexport const MarkAsterisk = ({ size = 64, color = \"currentColor\", style }: MarkProps) => (\n <svg width={size} height={size} viewBox=\"0 0 32 32\" fill={color} style={wrap(style)} aria-hidden=\"true\">\n <circle cx=\"16\" cy=\"16\" r=\"2.2\" fill=\"none\" stroke={color} strokeWidth=\"2\" />\n {[0, 60, 120].map((deg, i) => (\n <g key={i} transform={`rotate(${deg} 16 16)`}>\n <rect x=\"14.6\" y=\"2\" width=\"2.8\" height=\"9\" rx=\"0.5\" />\n <rect x=\"14.6\" y=\"21\" width=\"2.8\" height=\"9\" rx=\"0.5\" />\n </g>\n ))}\n </svg>\n);\n\nexport const MarkSlash = ({ size = 64, color = \"currentColor\", style }: MarkProps) => (\n <svg width={size} height={size} viewBox=\"0 0 32 32\" fill=\"none\" stroke={color} strokeWidth=\"3.2\" strokeLinecap=\"square\" strokeLinejoin=\"miter\" style={wrap(style)} aria-hidden=\"true\">\n <line x1=\"16\" y1=\"4\" x2=\"16\" y2=\"28\" />\n <line x1=\"6\" y1=\"10\" x2=\"26\" y2=\"22\" />\n <line x1=\"26\" y1=\"10\" x2=\"6\" y2=\"22\" />\n <line x1=\"3\" y1=\"22\" x2=\"20\" y2=\"5\" stroke={color} strokeWidth=\"4\" />\n </svg>\n);\n\nexport const MarkGlyph = ({ size = 64, color = \"currentColor\", style }: MarkProps) => (\n <svg width={size} height={size} viewBox=\"0 0 32 32\" fill={color} style={wrap(style)} aria-hidden=\"true\">\n <path d=\"M7 5 H25 V11 H13 V14 H25 V27 H7 V21 H19 V18 H7 Z\" />\n </svg>\n);\n\nexport const MarkHex = ({ size = 64, color = \"currentColor\", style }: MarkProps) => {\n const id = React.useId();\n return (\n <svg width={size} height={size} viewBox=\"0 0 32 32\" style={wrap(style)} aria-hidden=\"true\">\n <defs>\n <mask id={id}>\n <rect width=\"32\" height=\"32\" fill=\"white\" />\n <g fill=\"black\">\n <rect x=\"14.5\" y=\"6\" width=\"3\" height=\"20\" />\n <g transform=\"rotate(60 16 16)\"><rect x=\"14.5\" y=\"6\" width=\"3\" height=\"20\" /></g>\n <g transform=\"rotate(-60 16 16)\"><rect x=\"14.5\" y=\"6\" width=\"3\" height=\"20\" /></g>\n </g>\n </mask>\n </defs>\n <polygon points=\"16,3 27,9.5 27,22.5 16,29 5,22.5 5,9.5\" fill={color} mask={`url(#${id})`} />\n </svg>\n );\n};\n\nexport const MarkDotgrid = ({ size = 64, color = \"currentColor\", style }: MarkProps) => {\n const dots: React.ReactElement[] = [<circle key=\"c\" cx=\"16\" cy=\"16\" r=\"2\" fill={color} />];\n for (let a = 0; a < 6; a++) {\n const ang = (a * 60 * Math.PI) / 180;\n for (let r = 1; r <= 3; r++) {\n const x = 16 + Math.cos(ang) * r * 4;\n const y = 16 + Math.sin(ang) * r * 4;\n const rad = r === 3 ? 1.6 : r === 2 ? 1.8 : 2;\n dots.push(<circle key={`${a}-${r}`} cx={x} cy={y} r={rad} fill={color} />);\n }\n }\n return <svg width={size} height={size} viewBox=\"0 0 32 32\" style={wrap(style)} aria-hidden=\"true\">{dots}</svg>;\n};\n\nexport interface MarkVariant {\n id: string;\n name: string;\n sub: string;\n Mark: React.ComponentType<MarkProps>;\n exportName: string;\n}\n\nexport const markVariants: MarkVariant[] = [\n { id: \"crystal\", name: \"Crystal\", sub: \"hex frame + diamond cut, canonical\", Mark: MarkCrystal, exportName: \"MarkCrystal\" },\n { id: \"sigil\", name: \"Sigil\", sub: \"chunky bars\", Mark: MarkSigil, exportName: \"MarkSigil\" },\n { id: \"zflake\", name: \"Z-Flake\", sub: \"the Z of snowztech\", Mark: MarkZFlake, exportName: \"MarkZFlake\" },\n { id: \"asterisk\", name: \"Asterisk\", sub: \"mono-native, typographic\", Mark: MarkAsterisk, exportName: \"MarkAsterisk\" },\n { id: \"slash\", name: \"Slash-Star\", sub: \"stamped, signature slash\", Mark: MarkSlash, exportName: \"MarkSlash\" },\n { id: \"hex\", name: \"Hex-Cut\", sub: \"negative-space hex tile\", Mark: MarkHex, exportName: \"MarkHex\" },\n { id: \"dotgrid\", name: \"Dot-Grid\", sub: \"pointillist, friendly\", Mark: MarkDotgrid, exportName: \"MarkDotgrid\" },\n { id: \"glyph\", name: \"Glyph S\", sub: \"monogram, folded ribbon\", Mark: MarkGlyph, exportName: \"MarkGlyph\" },\n];\n","import * as React from \"react\";\n\nexport interface IconProps {\n size?: number;\n stroke?: number;\n color?: string;\n style?: React.CSSProperties;\n children?: React.ReactNode;\n}\n\nexport const Icon = ({\n size = 16,\n stroke = 1.5,\n color = \"currentColor\",\n style,\n children,\n}: IconProps) => (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke={color}\n strokeWidth={stroke}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n style={{ display: \"inline-block\", verticalAlign: \"middle\", ...style }}\n aria-hidden=\"true\"\n >\n {children}\n </svg>\n);\n\ntype P = Omit<IconProps, \"children\">;\n\nexport const SearchIcon = (p: P) => <Icon {...p}><circle cx=\"11\" cy=\"11\" r=\"6\" /><path d=\"m20 20-3.5-3.5\" /></Icon>;\nexport const TerminalIcon = (p: P) => <Icon {...p}><path d=\"m5 8 4 4-4 4\" /><path d=\"M13 16h6\" /><rect x=\"2.5\" y=\"4\" width=\"19\" height=\"16\" rx=\"1.5\" /></Icon>;\nexport const CodeIcon = (p: P) => <Icon {...p}><path d=\"m8 7-5 5 5 5\" /><path d=\"m16 7 5 5-5 5\" /><path d=\"m14 4-4 16\" /></Icon>;\nexport const GitIcon = (p: P) => <Icon {...p}><circle cx=\"6\" cy=\"6\" r=\"2.5\" /><circle cx=\"18\" cy=\"18\" r=\"2.5\" /><circle cx=\"6\" cy=\"18\" r=\"2.5\" /><path d=\"M6 8.5v7\" /><path d=\"M8.5 6h6.5a2.5 2.5 0 0 1 2.5 2.5v7\" /></Icon>;\nexport const PlusIcon = (p: P) => <Icon {...p}><path d=\"M12 5v14\" /><path d=\"M5 12h14\" /></Icon>;\nexport const MinusIcon = (p: P) => <Icon {...p}><path d=\"M5 12h14\" /></Icon>;\nexport const CheckIcon = (p: P) => <Icon {...p}><path d=\"m4 12 5 5L20 6\" /></Icon>;\nexport const XIcon = (p: P) => <Icon {...p}><path d=\"M6 6 18 18\" /><path d=\"m18 6-12 12\" /></Icon>;\nexport const ChevronDownIcon = (p: P) => <Icon {...p}><path d=\"m6 9 6 6 6-6\" /></Icon>;\nexport const ChevronRightIcon = (p: P) => <Icon {...p}><path d=\"m9 6 6 6-6 6\" /></Icon>;\nexport const ChevronLeftIcon = (p: P) => <Icon {...p}><path d=\"m15 6-6 6 6 6\" /></Icon>;\nexport const ArrowRightIcon = (p: P) => <Icon {...p}><path d=\"M5 12h14\" /><path d=\"m13 6 6 6-6 6\" /></Icon>;\nexport const ArrowUpRightIcon = (p: P) => <Icon {...p}><path d=\"M7 17 17 7\" /><path d=\"M8 7h9v9\" /></Icon>;\nexport const ExternalLinkIcon = (p: P) => <Icon {...p}><path d=\"M14 4h6v6\" /><path d=\"M20 4 10 14\" /><path d=\"M19 14v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h5\" /></Icon>;\nexport const SettingsIcon = (p: P) => <Icon {...p}><circle cx=\"12\" cy=\"12\" r=\"3\" /><path d=\"M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 1 1-4 0v-.09a1.65 1.65 0 0 0-1-1.51 1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 1 1 0-4h.09a1.65 1.65 0 0 0 1.51-1 1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06a1.65 1.65 0 0 0 1.82.33h0a1.65 1.65 0 0 0 1-1.51V3a2 2 0 1 1 4 0v.09a1.65 1.65 0 0 0 1 1.51h0a1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82h0a1.65 1.65 0 0 0 1.51 1H21a2 2 0 1 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z\" /></Icon>;\nexport const UserIcon = (p: P) => <Icon {...p}><circle cx=\"12\" cy=\"8\" r=\"4\" /><path d=\"M4 21v-1a6 6 0 0 1 6-6h4a6 6 0 0 1 6 6v1\" /></Icon>;\nexport const FolderIcon = (p: P) => <Icon {...p}><path d=\"M3 6.5A1.5 1.5 0 0 1 4.5 5h4l2 2.5h9A1.5 1.5 0 0 1 21 9v9.5A1.5 1.5 0 0 1 19.5 20h-15A1.5 1.5 0 0 1 3 18.5z\" /></Icon>;\nexport const FileIcon = (p: P) => <Icon {...p}><path d=\"M14 3H6a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V8z\" /><path d=\"M14 3v5h5\" /></Icon>;\nexport const BellIcon = (p: P) => <Icon {...p}><path d=\"M6 9a6 6 0 1 1 12 0v4l1.5 3h-15L6 13z\" /><path d=\"M10 19a2 2 0 0 0 4 0\" /></Icon>;\nexport const ActivityIcon = (p: P) => <Icon {...p}><path d=\"M3 12h4l3-8 4 16 3-8h4\" /></Icon>;\nexport const PulseIcon = (p: P) => <Icon {...p}><path d=\"M3 12h3l2-4 4 8 2-4h7\" /></Icon>;\nexport const CubeIcon = (p: P) => <Icon {...p}><path d=\"m12 2 9 5v10l-9 5-9-5V7z\" /><path d=\"m3 7 9 5 9-5\" /><path d=\"M12 22V12\" /></Icon>;\nexport const LayersIcon = (p: P) => <Icon {...p}><path d=\"m12 3 9 5-9 5-9-5z\" /><path d=\"m3 13 9 5 9-5\" /><path d=\"m3 18 9 5 9-5\" /></Icon>;\nexport const DatabaseIcon = (p: P) => <Icon {...p}><ellipse cx=\"12\" cy=\"5\" rx=\"8\" ry=\"3\" /><path d=\"M4 5v6c0 1.7 3.6 3 8 3s8-1.3 8-3V5\" /><path d=\"M4 11v6c0 1.7 3.6 3 8 3s8-1.3 8-3v-6\" /></Icon>;\nexport const CloudIcon = (p: P) => <Icon {...p}><path d=\"M7 18a5 5 0 1 1 1-9.9A6 6 0 0 1 19.5 11 4 4 0 0 1 18 18z\" /></Icon>;\nexport const SunIcon = (p: P) => <Icon {...p}><circle cx=\"12\" cy=\"12\" r=\"4\" /><path d=\"M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4\" /></Icon>;\nexport const MoonIcon = (p: P) => <Icon {...p}><path d=\"M20 14a8 8 0 1 1-9.9-9.9 7 7 0 0 0 9.9 9.9z\" /></Icon>;\nexport const GithubIcon = (p: P) => <Icon {...p}><path d=\"M9 19c-4 1-4-2-6-2.5M15 22v-4a3 3 0 0 0-1-2.5c3 0 6-2 6-5.5a5 5 0 0 0-1.4-3.5 4.7 4.7 0 0 0-.1-3.5s-1.1-.4-3.5 1.3a12 12 0 0 0-6 0C6.6 1.6 5.5 2 5.5 2a4.7 4.7 0 0 0-.1 3.5A5 5 0 0 0 4 9c0 3.5 3 5.5 6 5.5a3 3 0 0 0-1 2.5v4\" /></Icon>;\nexport const MailIcon = (p: P) => <Icon {...p}><rect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"1.5\" /><path d=\"m3.5 6.5 8.5 7 8.5-7\" /></Icon>;\nexport const EyeIcon = (p: P) => <Icon {...p}><path d=\"M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7-10-7-10-7z\" /><circle cx=\"12\" cy=\"12\" r=\"3\" /></Icon>;\nexport const LockIcon = (p: P) => <Icon {...p}><rect x=\"4\" y=\"11\" width=\"16\" height=\"10\" rx=\"1.5\" /><path d=\"M8 11V7a4 4 0 0 1 8 0v4\" /></Icon>;\nexport const BoltIcon = (p: P) => <Icon {...p}><path d=\"M13 2 4 14h7l-2 8 9-12h-7z\" /></Icon>;\nexport const StarIcon = (p: P) => <Icon {...p}><path d=\"m12 3 2.7 6 6.3.6-4.7 4.4 1.4 6.5L12 17l-5.7 3.5 1.4-6.5L3 9.6l6.3-.6z\" /></Icon>;\nexport const HeartIcon = (p: P) => <Icon {...p}><path d=\"M12 20s-7-4.5-7-10a4 4 0 0 1 7-2.6A4 4 0 0 1 19 10c0 5.5-7 10-7 10z\" /></Icon>;\nexport const TrashIcon = (p: P) => <Icon {...p}><path d=\"M3 6h18\" /><path d=\"M8 6V4a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v2\" /><path d=\"M5 6v14a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V6\" /><path d=\"M10 11v6M14 11v6\" /></Icon>;\nexport const EditIcon = (p: P) => <Icon {...p}><path d=\"M11 4H5a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-6\" /><path d=\"m18.5 2.5 3 3L12 15l-4 1 1-4z\" /></Icon>;\nexport const FilterIcon = (p: P) => <Icon {...p}><path d=\"M3 5h18l-7 9v6l-4-2v-4z\" /></Icon>;\nexport const MenuIcon = (p: P) => <Icon {...p}><path d=\"M4 7h16M4 12h16M4 17h16\" /></Icon>;\nexport const GridIcon = (p: P) => <Icon {...p}><rect x=\"3\" y=\"3\" width=\"7\" height=\"7\" rx=\"1\" /><rect x=\"14\" y=\"3\" width=\"7\" height=\"7\" rx=\"1\" /><rect x=\"3\" y=\"14\" width=\"7\" height=\"7\" rx=\"1\" /><rect x=\"14\" y=\"14\" width=\"7\" height=\"7\" rx=\"1\" /></Icon>;\nexport const InboxIcon = (p: P) => <Icon {...p}><path d=\"M3 13h5l1.5 2.5h5L16 13h5\" /><path d=\"M5 4h14l2 9v6a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-6z\" /></Icon>;\nexport const CalendarIcon = (p: P) => <Icon {...p}><rect x=\"3\" y=\"5\" width=\"18\" height=\"16\" rx=\"1.5\" /><path d=\"M3 10h18M8 3v4M16 3v4\" /></Icon>;\nexport const ClockIcon = (p: P) => <Icon {...p}><circle cx=\"12\" cy=\"12\" r=\"9\" /><path d=\"M12 7v5l3 2\" /></Icon>;\nexport const InfoIcon = (p: P) => <Icon {...p}><circle cx=\"12\" cy=\"12\" r=\"9\" /><path d=\"M12 11v6\" /><circle cx=\"12\" cy=\"8\" r=\"0.5\" fill=\"currentColor\" /></Icon>;\nexport const WarningIcon = (p: P) => <Icon {...p}><path d=\"M11 3 2 19a1 1 0 0 0 .9 1.5h18.2A1 1 0 0 0 22 19L13 3a1 1 0 0 0-2 0z\" /><path d=\"M12 9v5\" /><circle cx=\"12\" cy=\"17\" r=\"0.5\" fill=\"currentColor\" /></Icon>;\nexport const ZapIcon = (p: P) => <Icon {...p}><path d=\"M13 2 4 14h7l-2 8 9-12h-7z\" /></Icon>;\nexport const DiscordIcon = (p: P) => <Icon {...p}><path d=\"M19 6s-2.5-2-5-2l-.3.5c2.3.5 3.3 1.5 3.3 1.5s-2-1-4-1c-1 0-2 .1-3 .3-1-.2-2-.3-3-.3-2 0-4 1-4 1S4 5 6.3 4.5L6 4C3.5 4 1 6 1 6s-2.5 4-2 11c1.5 2 3.5 2 3.5 2L4 17c-1-.5-2-1.5-2-1.5 2 1.5 4 2 4 2l1-2.5s4 1.5 6 1.5 6-1.5 6-1.5l1 2.5s2-.5 4-2c0 0-1 1-2 1.5l1.5 2s2 0 3.5-2c.5-7-2-11-2-11z\" /><circle cx=\"9\" cy=\"11.5\" r=\"1.5\" fill=\"currentColor\" stroke=\"none\" /><circle cx=\"15\" cy=\"11.5\" r=\"1.5\" fill=\"currentColor\" stroke=\"none\" /></Icon>;\n","import * as React from \"react\";\n\nexport interface AvatarProps {\n src?: string;\n alt?: string;\n name?: string;\n size?: number;\n shape?: \"circle\" | \"square\";\n ring?: boolean;\n style?: React.CSSProperties;\n className?: string;\n}\n\nconst initialsFrom = (name?: string) => {\n if (!name) return \"\";\n const parts = name.trim().split(/\\s+/).slice(0, 2);\n return parts.map((p) => p[0]?.toUpperCase() ?? \"\").join(\"\");\n};\n\nexport const Avatar = ({\n src,\n alt,\n name,\n size = 32,\n shape = \"circle\",\n ring = false,\n style,\n className,\n}: AvatarProps) => {\n const radius = shape === \"circle\" ? \"50%\" : \"var(--sn-r-xs)\";\n const initials = initialsFrom(name);\n\n return (\n <span\n className={className}\n style={{\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n width: size,\n height: size,\n borderRadius: radius,\n background: \"var(--sn-bg-elev-1)\",\n color: \"var(--sn-fg-muted)\",\n fontFamily: \"var(--sn-font-mono)\",\n fontSize: Math.max(10, Math.round(size * 0.38)),\n fontWeight: 500,\n overflow: \"hidden\",\n flexShrink: 0,\n boxShadow: ring ? \"0 0 0 1px var(--sn-border-strong)\" : undefined,\n ...style,\n }}\n >\n {src ? (\n // eslint-disable-next-line @next/next/no-img-element\n <img\n src={src}\n alt={alt ?? name ?? \"\"}\n width={size}\n height={size}\n style={{ width: \"100%\", height: \"100%\", objectFit: \"cover\" }}\n />\n ) : (\n <span aria-hidden=\"true\">{initials || \"•\"}</span>\n )}\n </span>\n );\n};\n\nexport interface AvatarStackProps {\n children: React.ReactNode;\n overlap?: number;\n}\n\nexport const AvatarStack = ({ children, overlap = 8 }: AvatarStackProps) => (\n <span style={{ display: \"inline-flex\" }}>\n {React.Children.map(children, (child, i) => (\n <span style={{ marginLeft: i === 0 ? 0 : -overlap }}>{child}</span>\n ))}\n </span>\n);\n","import * as React from \"react\";\n\nexport interface PulseProps {\n size?: number;\n color?: string;\n label?: React.ReactNode;\n style?: React.CSSProperties;\n className?: string;\n}\n\nexport const Pulse = ({\n size = 8,\n color = \"var(--sn-success)\",\n label,\n style,\n className,\n}: PulseProps) => (\n <span\n className={className}\n style={{\n display: \"inline-flex\",\n alignItems: \"center\",\n gap: 8,\n color: \"var(--sn-fg-muted)\",\n fontSize: \"var(--sn-text-sm)\",\n ...style,\n }}\n >\n <span\n aria-hidden=\"true\"\n style={{\n position: \"relative\",\n display: \"inline-flex\",\n width: size,\n height: size,\n }}\n >\n <span\n style={{\n position: \"absolute\",\n inset: 0,\n borderRadius: \"50%\",\n background: color,\n opacity: 0.6,\n animation: \"sn-pulse 2s ease-in-out infinite\",\n }}\n />\n <span\n style={{\n position: \"relative\",\n width: \"100%\",\n height: \"100%\",\n borderRadius: \"50%\",\n background: color,\n }}\n />\n </span>\n {label && <span>{label}</span>}\n </span>\n);\n"]}
1
+ {"version":3,"sources":["../src/mark.tsx","../src/mark-variants.tsx","../src/icons.tsx","../src/avatar.tsx","../src/pulse.tsx"],"names":["jsxs","jsx","sizeStyle","sizeClass","cx","React"],"mappings":"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","file":"index.cjs","sourcesContent":["import * as React from \"react\";\n\ntype Size = \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\" | number;\n\nconst sizeStyle = (size: Size | undefined): React.CSSProperties | undefined =>\n typeof size === \"number\" ? { [\"--sn-mark-size\" as string]: `${size}px` } : undefined;\n\nconst sizeClass = (size: Size | undefined): string | undefined =>\n typeof size === \"string\" ? `sn-mark--${size}` : undefined;\n\nconst cx = (...parts: Array<string | undefined | false>) => parts.filter(Boolean).join(\" \");\n\nexport interface SnowMarkProps {\n size?: Size;\n color?: string;\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport const SnowMark = ({ size = 48, color, className, style }: SnowMarkProps) => (\n <svg\n viewBox=\"0 0 32 32\"\n fill=\"currentColor\"\n className={cx(\"sn-mark\", sizeClass(size), className)}\n style={{ ...sizeStyle(size), color, ...style }}\n aria-hidden=\"true\"\n >\n <rect x=\"9\" y=\"6\" width=\"14\" height=\"2.4\" />\n <polygon points=\"22.4,6 23,8.4 9.6,26 9,23.6\" />\n <rect x=\"9\" y=\"23.6\" width=\"14\" height=\"2.4\" />\n <g>\n <polygon points=\"16,1 18,4 16,7 14,4\" />\n <polygon points=\"16,25 18,28 16,31 14,28\" />\n <polygon points=\"27,8 28.7,11 25.5,11.5 26,8.7\" />\n <polygon points=\"5,8 6,8.7 6.5,11.5 3.3,11\" />\n <polygon points=\"27,24 26,23.3 25.5,20.5 28.7,21\" />\n <polygon points=\"5,24 3.3,21 6.5,20.5 6,23.3\" />\n </g>\n </svg>\n);\n\nexport interface SnowWordmarkProps {\n size?: number;\n color?: string;\n showDot?: boolean;\n accent?: string;\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport const SnowWordmark = ({\n size = 18,\n color,\n showDot = true,\n accent,\n className,\n style,\n}: SnowWordmarkProps) => (\n <span\n className={cx(\"sn-wordmark\", className)}\n style={{\n [\"--sn-wordmark-size\" as string]: `${size}px`,\n color,\n ...style,\n }}\n >\n snowztech\n {showDot && (\n <span className=\"sn-wordmark__dot\" style={accent ? { color: accent } : undefined}>.</span>\n )}\n </span>\n);\n\nexport interface SnowMonogramProps {\n size?: number;\n bg?: string;\n fg?: string;\n radius?: number;\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport const SnowMonogram = ({\n size = 64,\n bg,\n fg,\n radius,\n className,\n style,\n}: SnowMonogramProps) => (\n <Monogram size={size} bg={bg} fg={fg} radius={radius} mark={SnowMark} className={className} style={style} />\n);\n\nexport interface MonogramProps {\n size?: number;\n bg?: string;\n fg?: string;\n radius?: number;\n mark: React.ComponentType<{ size?: number; color?: string }>;\n glyphScale?: number;\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport const Monogram = ({\n size = 64,\n bg,\n fg,\n radius,\n mark: Mark,\n glyphScale = 0.6,\n className,\n style,\n}: MonogramProps) => (\n <div\n className={cx(\"sn-monogram\", className)}\n style={{\n [\"--sn-monogram-size\" as string]: `${size}px`,\n ...(bg ? { [\"--sn-monogram-bg\" as string]: bg } : null),\n ...(fg ? { [\"--sn-monogram-fg\" as string]: fg } : null),\n ...(radius != null ? { [\"--sn-monogram-radius\" as string]: `${radius}px` } : null),\n ...style,\n }}\n >\n <Mark size={Math.round(size * glyphScale)} color={fg ?? \"currentColor\"} />\n </div>\n);\n","import * as React from \"react\";\n\ntype Size = \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\" | number;\n\nexport interface MarkProps {\n size?: Size;\n color?: string;\n className?: string;\n style?: React.CSSProperties;\n}\n\nconst sizeStyle = (size: Size | undefined): React.CSSProperties | undefined =>\n typeof size === \"number\" ? { [\"--sn-mark-size\" as string]: `${size}px` } : undefined;\n\nconst sizeClass = (size: Size | undefined): string | undefined =>\n typeof size === \"string\" ? `sn-mark--${size}` : undefined;\n\nconst cx = (...parts: Array<string | undefined | false>) => parts.filter(Boolean).join(\" \");\n\nconst baseProps = (\n { size, color, className, style }: MarkProps,\n extra: Partial<React.SVGAttributes<SVGSVGElement>> = {},\n) => ({\n viewBox: \"0 0 32 32\",\n className: cx(\"sn-mark\", sizeClass(size), className),\n style: { ...sizeStyle(size ?? 64), ...(color ? { color } : null), ...style },\n \"aria-hidden\": true as const,\n ...extra,\n});\n\nexport const MarkSigil = (p: MarkProps) => (\n <svg {...baseProps(p, { fill: \"currentColor\" })}>\n <rect x=\"14.5\" y=\"3\" width=\"3\" height=\"11\" />\n <rect x=\"14.5\" y=\"18\" width=\"3\" height=\"11\" />\n <g transform=\"rotate(60 16 16)\">\n <rect x=\"14.5\" y=\"3\" width=\"3\" height=\"10.5\" />\n <rect x=\"14.5\" y=\"18.5\" width=\"3\" height=\"10.5\" />\n </g>\n <g transform=\"rotate(-60 16 16)\">\n <rect x=\"14.5\" y=\"3\" width=\"3\" height=\"10.5\" />\n <rect x=\"14.5\" y=\"18.5\" width=\"3\" height=\"10.5\" />\n </g>\n </svg>\n);\n\nexport const MarkCrystal = (p: MarkProps) => (\n <svg {...baseProps(p, { fill: \"none\", stroke: \"currentColor\", strokeWidth: 2.4, strokeLinejoin: \"miter\", strokeLinecap: \"square\" })}>\n <polygon points=\"16,3 27,9.5 27,22.5 16,29 5,22.5 5,9.5\" />\n <polygon points=\"16,9 22,16 16,23 10,16\" />\n <line x1=\"16\" y1=\"3\" x2=\"16\" y2=\"9\" />\n <line x1=\"16\" y1=\"23\" x2=\"16\" y2=\"29\" />\n </svg>\n);\n\nexport const MarkZFlake = (p: MarkProps) => (\n <svg {...baseProps(p, { fill: \"currentColor\" })}>\n <polygon points=\"6,5 26,5 26,9 12,9 26,23 26,27 6,27 6,23 20,23 6,9\" />\n <rect x=\"4\" y=\"14\" width=\"3\" height=\"4\" />\n <rect x=\"25\" y=\"14\" width=\"3\" height=\"4\" />\n </svg>\n);\n\nexport const MarkAsterisk = (p: MarkProps) => (\n <svg {...baseProps(p, { fill: \"currentColor\" })}>\n <circle cx=\"16\" cy=\"16\" r=\"2.2\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" />\n {[0, 60, 120].map((deg, i) => (\n <g key={i} transform={`rotate(${deg} 16 16)`}>\n <rect x=\"14.6\" y=\"2\" width=\"2.8\" height=\"9\" rx=\"0.5\" />\n <rect x=\"14.6\" y=\"21\" width=\"2.8\" height=\"9\" rx=\"0.5\" />\n </g>\n ))}\n </svg>\n);\n\nexport const MarkSlash = (p: MarkProps) => (\n <svg {...baseProps(p, { fill: \"none\", stroke: \"currentColor\", strokeWidth: 3.2, strokeLinecap: \"square\", strokeLinejoin: \"miter\" })}>\n <line x1=\"16\" y1=\"4\" x2=\"16\" y2=\"28\" />\n <line x1=\"6\" y1=\"10\" x2=\"26\" y2=\"22\" />\n <line x1=\"26\" y1=\"10\" x2=\"6\" y2=\"22\" />\n <line x1=\"3\" y1=\"22\" x2=\"20\" y2=\"5\" stroke=\"currentColor\" strokeWidth=\"4\" />\n </svg>\n);\n\nexport const MarkGlyph = (p: MarkProps) => (\n <svg {...baseProps(p, { fill: \"currentColor\" })}>\n <path d=\"M7 5 H25 V11 H13 V14 H25 V27 H7 V21 H19 V18 H7 Z\" />\n </svg>\n);\n\nexport const MarkHex = (p: MarkProps) => {\n const id = React.useId();\n return (\n <svg {...baseProps(p)}>\n <defs>\n <mask id={id}>\n <rect width=\"32\" height=\"32\" fill=\"white\" />\n <g fill=\"black\">\n <rect x=\"14.5\" y=\"6\" width=\"3\" height=\"20\" />\n <g transform=\"rotate(60 16 16)\"><rect x=\"14.5\" y=\"6\" width=\"3\" height=\"20\" /></g>\n <g transform=\"rotate(-60 16 16)\"><rect x=\"14.5\" y=\"6\" width=\"3\" height=\"20\" /></g>\n </g>\n </mask>\n </defs>\n <polygon points=\"16,3 27,9.5 27,22.5 16,29 5,22.5 5,9.5\" fill=\"currentColor\" mask={`url(#${id})`} />\n </svg>\n );\n};\n\nexport const MarkDotgrid = (p: MarkProps) => {\n const dots: React.ReactElement[] = [<circle key=\"c\" cx=\"16\" cy=\"16\" r=\"2\" fill=\"currentColor\" />];\n for (let a = 0; a < 6; a++) {\n const ang = (a * 60 * Math.PI) / 180;\n for (let r = 1; r <= 3; r++) {\n const x = 16 + Math.cos(ang) * r * 4;\n const y = 16 + Math.sin(ang) * r * 4;\n const rad = r === 3 ? 1.6 : r === 2 ? 1.8 : 2;\n dots.push(<circle key={`${a}-${r}`} cx={x} cy={y} r={rad} fill=\"currentColor\" />);\n }\n }\n return <svg {...baseProps(p)}>{dots}</svg>;\n};\n\nexport interface MarkVariant {\n id: string;\n name: string;\n sub: string;\n Mark: React.ComponentType<MarkProps>;\n exportName: string;\n}\n\nexport const markVariants: MarkVariant[] = [\n { id: \"crystal\", name: \"Crystal\", sub: \"hex frame + diamond cut, canonical\", Mark: MarkCrystal, exportName: \"MarkCrystal\" },\n { id: \"sigil\", name: \"Sigil\", sub: \"chunky bars\", Mark: MarkSigil, exportName: \"MarkSigil\" },\n { id: \"zflake\", name: \"Z-Flake\", sub: \"the Z of snowztech\", Mark: MarkZFlake, exportName: \"MarkZFlake\" },\n { id: \"asterisk\", name: \"Asterisk\", sub: \"mono-native, typographic\", Mark: MarkAsterisk, exportName: \"MarkAsterisk\" },\n { id: \"slash\", name: \"Slash-Star\", sub: \"stamped, signature slash\", Mark: MarkSlash, exportName: \"MarkSlash\" },\n { id: \"hex\", name: \"Hex-Cut\", sub: \"negative-space hex tile\", Mark: MarkHex, exportName: \"MarkHex\" },\n { id: \"dotgrid\", name: \"Dot-Grid\", sub: \"pointillist, friendly\", Mark: MarkDotgrid, exportName: \"MarkDotgrid\" },\n { id: \"glyph\", name: \"Glyph S\", sub: \"monogram, folded ribbon\", Mark: MarkGlyph, exportName: \"MarkGlyph\" },\n];\n","import * as React from \"react\";\n\nconst cx = (...parts: Array<string | undefined | false>) => parts.filter(Boolean).join(\" \");\n\nexport interface IconProps {\n size?: number;\n stroke?: number;\n color?: string;\n className?: string;\n style?: React.CSSProperties;\n children?: React.ReactNode;\n}\n\nexport const Icon = ({\n size = 16,\n stroke = 1.5,\n color = \"currentColor\",\n className,\n style,\n children,\n}: IconProps) => (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke={color}\n strokeWidth={stroke}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className={cx(\"sn-icon\", className)}\n style={style}\n aria-hidden=\"true\"\n >\n {children}\n </svg>\n);\n\ntype P = Omit<IconProps, \"children\">;\n\nexport const SearchIcon = (p: P) => <Icon {...p}><circle cx=\"11\" cy=\"11\" r=\"6\" /><path d=\"m20 20-3.5-3.5\" /></Icon>;\nexport const TerminalIcon = (p: P) => <Icon {...p}><path d=\"m5 8 4 4-4 4\" /><path d=\"M13 16h6\" /><rect x=\"2.5\" y=\"4\" width=\"19\" height=\"16\" rx=\"1.5\" /></Icon>;\nexport const CodeIcon = (p: P) => <Icon {...p}><path d=\"m8 7-5 5 5 5\" /><path d=\"m16 7 5 5-5 5\" /><path d=\"m14 4-4 16\" /></Icon>;\nexport const GitIcon = (p: P) => <Icon {...p}><circle cx=\"6\" cy=\"6\" r=\"2.5\" /><circle cx=\"18\" cy=\"18\" r=\"2.5\" /><circle cx=\"6\" cy=\"18\" r=\"2.5\" /><path d=\"M6 8.5v7\" /><path d=\"M8.5 6h6.5a2.5 2.5 0 0 1 2.5 2.5v7\" /></Icon>;\nexport const PlusIcon = (p: P) => <Icon {...p}><path d=\"M12 5v14\" /><path d=\"M5 12h14\" /></Icon>;\nexport const MinusIcon = (p: P) => <Icon {...p}><path d=\"M5 12h14\" /></Icon>;\nexport const CheckIcon = (p: P) => <Icon {...p}><path d=\"m4 12 5 5L20 6\" /></Icon>;\nexport const XIcon = (p: P) => <Icon {...p}><path d=\"M6 6 18 18\" /><path d=\"m18 6-12 12\" /></Icon>;\nexport const ChevronDownIcon = (p: P) => <Icon {...p}><path d=\"m6 9 6 6 6-6\" /></Icon>;\nexport const ChevronRightIcon = (p: P) => <Icon {...p}><path d=\"m9 6 6 6-6 6\" /></Icon>;\nexport const ChevronLeftIcon = (p: P) => <Icon {...p}><path d=\"m15 6-6 6 6 6\" /></Icon>;\nexport const ArrowRightIcon = (p: P) => <Icon {...p}><path d=\"M5 12h14\" /><path d=\"m13 6 6 6-6 6\" /></Icon>;\nexport const ArrowUpRightIcon = (p: P) => <Icon {...p}><path d=\"M7 17 17 7\" /><path d=\"M8 7h9v9\" /></Icon>;\nexport const ExternalLinkIcon = (p: P) => <Icon {...p}><path d=\"M14 4h6v6\" /><path d=\"M20 4 10 14\" /><path d=\"M19 14v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h5\" /></Icon>;\nexport const SettingsIcon = (p: P) => <Icon {...p}><circle cx=\"12\" cy=\"12\" r=\"3\" /><path d=\"M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 1 1-4 0v-.09a1.65 1.65 0 0 0-1-1.51 1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 1 1 0-4h.09a1.65 1.65 0 0 0 1.51-1 1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06a1.65 1.65 0 0 0 1.82.33h0a1.65 1.65 0 0 0 1-1.51V3a2 2 0 1 1 4 0v.09a1.65 1.65 0 0 0 1 1.51h0a1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82h0a1.65 1.65 0 0 0 1.51 1H21a2 2 0 1 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z\" /></Icon>;\nexport const UserIcon = (p: P) => <Icon {...p}><circle cx=\"12\" cy=\"8\" r=\"4\" /><path d=\"M4 21v-1a6 6 0 0 1 6-6h4a6 6 0 0 1 6 6v1\" /></Icon>;\nexport const FolderIcon = (p: P) => <Icon {...p}><path d=\"M3 6.5A1.5 1.5 0 0 1 4.5 5h4l2 2.5h9A1.5 1.5 0 0 1 21 9v9.5A1.5 1.5 0 0 1 19.5 20h-15A1.5 1.5 0 0 1 3 18.5z\" /></Icon>;\nexport const FileIcon = (p: P) => <Icon {...p}><path d=\"M14 3H6a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V8z\" /><path d=\"M14 3v5h5\" /></Icon>;\nexport const BellIcon = (p: P) => <Icon {...p}><path d=\"M6 9a6 6 0 1 1 12 0v4l1.5 3h-15L6 13z\" /><path d=\"M10 19a2 2 0 0 0 4 0\" /></Icon>;\nexport const ActivityIcon = (p: P) => <Icon {...p}><path d=\"M3 12h4l3-8 4 16 3-8h4\" /></Icon>;\nexport const PulseIcon = (p: P) => <Icon {...p}><path d=\"M3 12h3l2-4 4 8 2-4h7\" /></Icon>;\nexport const CubeIcon = (p: P) => <Icon {...p}><path d=\"m12 2 9 5v10l-9 5-9-5V7z\" /><path d=\"m3 7 9 5 9-5\" /><path d=\"M12 22V12\" /></Icon>;\nexport const LayersIcon = (p: P) => <Icon {...p}><path d=\"m12 3 9 5-9 5-9-5z\" /><path d=\"m3 13 9 5 9-5\" /><path d=\"m3 18 9 5 9-5\" /></Icon>;\nexport const DatabaseIcon = (p: P) => <Icon {...p}><ellipse cx=\"12\" cy=\"5\" rx=\"8\" ry=\"3\" /><path d=\"M4 5v6c0 1.7 3.6 3 8 3s8-1.3 8-3V5\" /><path d=\"M4 11v6c0 1.7 3.6 3 8 3s8-1.3 8-3v-6\" /></Icon>;\nexport const CloudIcon = (p: P) => <Icon {...p}><path d=\"M7 18a5 5 0 1 1 1-9.9A6 6 0 0 1 19.5 11 4 4 0 0 1 18 18z\" /></Icon>;\nexport const SunIcon = (p: P) => <Icon {...p}><circle cx=\"12\" cy=\"12\" r=\"4\" /><path d=\"M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4\" /></Icon>;\nexport const MoonIcon = (p: P) => <Icon {...p}><path d=\"M20 14a8 8 0 1 1-9.9-9.9 7 7 0 0 0 9.9 9.9z\" /></Icon>;\nexport const GithubIcon = (p: P) => <Icon {...p}><path d=\"M9 19c-4 1-4-2-6-2.5M15 22v-4a3 3 0 0 0-1-2.5c3 0 6-2 6-5.5a5 5 0 0 0-1.4-3.5 4.7 4.7 0 0 0-.1-3.5s-1.1-.4-3.5 1.3a12 12 0 0 0-6 0C6.6 1.6 5.5 2 5.5 2a4.7 4.7 0 0 0-.1 3.5A5 5 0 0 0 4 9c0 3.5 3 5.5 6 5.5a3 3 0 0 0-1 2.5v4\" /></Icon>;\nexport const MailIcon = (p: P) => <Icon {...p}><rect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"1.5\" /><path d=\"m3.5 6.5 8.5 7 8.5-7\" /></Icon>;\nexport const EyeIcon = (p: P) => <Icon {...p}><path d=\"M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7-10-7-10-7z\" /><circle cx=\"12\" cy=\"12\" r=\"3\" /></Icon>;\nexport const LockIcon = (p: P) => <Icon {...p}><rect x=\"4\" y=\"11\" width=\"16\" height=\"10\" rx=\"1.5\" /><path d=\"M8 11V7a4 4 0 0 1 8 0v4\" /></Icon>;\nexport const BoltIcon = (p: P) => <Icon {...p}><path d=\"M13 2 4 14h7l-2 8 9-12h-7z\" /></Icon>;\nexport const StarIcon = (p: P) => <Icon {...p}><path d=\"m12 3 2.7 6 6.3.6-4.7 4.4 1.4 6.5L12 17l-5.7 3.5 1.4-6.5L3 9.6l6.3-.6z\" /></Icon>;\nexport const HeartIcon = (p: P) => <Icon {...p}><path d=\"M12 20s-7-4.5-7-10a4 4 0 0 1 7-2.6A4 4 0 0 1 19 10c0 5.5-7 10-7 10z\" /></Icon>;\nexport const TrashIcon = (p: P) => <Icon {...p}><path d=\"M3 6h18\" /><path d=\"M8 6V4a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v2\" /><path d=\"M5 6v14a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V6\" /><path d=\"M10 11v6M14 11v6\" /></Icon>;\nexport const EditIcon = (p: P) => <Icon {...p}><path d=\"M11 4H5a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-6\" /><path d=\"m18.5 2.5 3 3L12 15l-4 1 1-4z\" /></Icon>;\nexport const FilterIcon = (p: P) => <Icon {...p}><path d=\"M3 5h18l-7 9v6l-4-2v-4z\" /></Icon>;\nexport const MenuIcon = (p: P) => <Icon {...p}><path d=\"M4 7h16M4 12h16M4 17h16\" /></Icon>;\nexport const GridIcon = (p: P) => <Icon {...p}><rect x=\"3\" y=\"3\" width=\"7\" height=\"7\" rx=\"1\" /><rect x=\"14\" y=\"3\" width=\"7\" height=\"7\" rx=\"1\" /><rect x=\"3\" y=\"14\" width=\"7\" height=\"7\" rx=\"1\" /><rect x=\"14\" y=\"14\" width=\"7\" height=\"7\" rx=\"1\" /></Icon>;\nexport const InboxIcon = (p: P) => <Icon {...p}><path d=\"M3 13h5l1.5 2.5h5L16 13h5\" /><path d=\"M5 4h14l2 9v6a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-6z\" /></Icon>;\nexport const CalendarIcon = (p: P) => <Icon {...p}><rect x=\"3\" y=\"5\" width=\"18\" height=\"16\" rx=\"1.5\" /><path d=\"M3 10h18M8 3v4M16 3v4\" /></Icon>;\nexport const ClockIcon = (p: P) => <Icon {...p}><circle cx=\"12\" cy=\"12\" r=\"9\" /><path d=\"M12 7v5l3 2\" /></Icon>;\nexport const InfoIcon = (p: P) => <Icon {...p}><circle cx=\"12\" cy=\"12\" r=\"9\" /><path d=\"M12 11v6\" /><circle cx=\"12\" cy=\"8\" r=\"0.5\" fill=\"currentColor\" /></Icon>;\nexport const WarningIcon = (p: P) => <Icon {...p}><path d=\"M11 3 2 19a1 1 0 0 0 .9 1.5h18.2A1 1 0 0 0 22 19L13 3a1 1 0 0 0-2 0z\" /><path d=\"M12 9v5\" /><circle cx=\"12\" cy=\"17\" r=\"0.5\" fill=\"currentColor\" /></Icon>;\nexport const ZapIcon = (p: P) => <Icon {...p}><path d=\"M13 2 4 14h7l-2 8 9-12h-7z\" /></Icon>;\nexport const DiscordIcon = (p: P) => <Icon {...p}><path d=\"M19 6s-2.5-2-5-2l-.3.5c2.3.5 3.3 1.5 3.3 1.5s-2-1-4-1c-1 0-2 .1-3 .3-1-.2-2-.3-3-.3-2 0-4 1-4 1S4 5 6.3 4.5L6 4C3.5 4 1 6 1 6s-2.5 4-2 11c1.5 2 3.5 2 3.5 2L4 17c-1-.5-2-1.5-2-1.5 2 1.5 4 2 4 2l1-2.5s4 1.5 6 1.5 6-1.5 6-1.5l1 2.5s2-.5 4-2c0 0-1 1-2 1.5l1.5 2s2 0 3.5-2c.5-7-2-11-2-11z\" /><circle cx=\"9\" cy=\"11.5\" r=\"1.5\" fill=\"currentColor\" stroke=\"none\" /><circle cx=\"15\" cy=\"11.5\" r=\"1.5\" fill=\"currentColor\" stroke=\"none\" /></Icon>;\n","import * as React from \"react\";\n\nconst cx = (...parts: Array<string | undefined | false>) => parts.filter(Boolean).join(\" \");\n\nexport interface AvatarProps {\n src?: string;\n alt?: string;\n name?: string;\n size?: number;\n shape?: \"circle\" | \"square\";\n ring?: boolean;\n style?: React.CSSProperties;\n className?: string;\n}\n\nconst initialsFrom = (name?: string) => {\n if (!name) return \"\";\n const parts = name.trim().split(/\\s+/).slice(0, 2);\n return parts.map((p) => p[0]?.toUpperCase() ?? \"\").join(\"\");\n};\n\nexport const Avatar = ({\n src,\n alt,\n name,\n size = 32,\n shape = \"circle\",\n ring = false,\n style,\n className,\n}: AvatarProps) => {\n const initials = initialsFrom(name);\n return (\n <span\n className={cx(\n \"sn-avatar\",\n shape === \"square\" && \"sn-avatar--square\",\n ring && \"sn-avatar--ring\",\n className,\n )}\n style={{ [\"--sn-avatar-size\" as string]: `${size}px`, ...style }}\n >\n {src ? (\n // eslint-disable-next-line @next/next/no-img-element\n <img src={src} alt={alt ?? name ?? \"\"} width={size} height={size} />\n ) : (\n <span aria-hidden=\"true\">{initials || \"•\"}</span>\n )}\n </span>\n );\n};\n\nexport interface AvatarStackProps {\n children: React.ReactNode;\n overlap?: number;\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport const AvatarStack = ({ children, overlap = 8, className, style }: AvatarStackProps) => (\n <span\n className={cx(\"sn-avatar-stack\", className)}\n style={{ [\"--sn-avatar-overlap\" as string]: `-${overlap}px`, ...style }}\n >\n {children}\n </span>\n);\n","import * as React from \"react\";\n\nconst cx = (...parts: Array<string | undefined | false>) => parts.filter(Boolean).join(\" \");\n\nexport interface PulseProps {\n size?: number;\n color?: string;\n label?: React.ReactNode;\n style?: React.CSSProperties;\n className?: string;\n}\n\nexport const Pulse = ({ size = 8, color, label, style, className }: PulseProps) => (\n <span\n className={cx(\"sn-pulse\", className)}\n style={{\n [\"--sn-pulse-size\" as string]: `${size}px`,\n ...(color ? { [\"--sn-pulse-color\" as string]: color } : null),\n ...style,\n }}\n >\n <span aria-hidden=\"true\" className=\"sn-pulse__dot\" />\n {label && <span>{label}</span>}\n </span>\n);\n"]}