@snowztech/ui 0.1.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 ADDED
@@ -0,0 +1,534 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var React = require('react');
5
+
6
+ function _interopNamespace(e) {
7
+ if (e && e.__esModule) return e;
8
+ var n = Object.create(null);
9
+ if (e) {
10
+ Object.keys(e).forEach(function (k) {
11
+ if (k !== 'default') {
12
+ var d = Object.getOwnPropertyDescriptor(e, k);
13
+ Object.defineProperty(n, k, d.get ? d : {
14
+ enumerable: true,
15
+ get: function () { return e[k]; }
16
+ });
17
+ }
18
+ });
19
+ }
20
+ n.default = e;
21
+ return Object.freeze(n);
22
+ }
23
+
24
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
25
+
26
+ // src/mark.tsx
27
+ var SnowMark = ({ size = 48, color = "currentColor", style }) => /* @__PURE__ */ jsxRuntime.jsxs(
28
+ "svg",
29
+ {
30
+ width: size,
31
+ height: size,
32
+ viewBox: "0 0 32 32",
33
+ fill: color,
34
+ style: { display: "inline-block", verticalAlign: "middle", ...style },
35
+ "aria-hidden": "true",
36
+ children: [
37
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "9", y: "6", width: "14", height: "2.4" }),
38
+ /* @__PURE__ */ jsxRuntime.jsx("polygon", { points: "22.4,6 23,8.4 9.6,26 9,23.6" }),
39
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "9", y: "23.6", width: "14", height: "2.4" }),
40
+ /* @__PURE__ */ jsxRuntime.jsxs("g", { fill: color, children: [
41
+ /* @__PURE__ */ jsxRuntime.jsx("polygon", { points: "16,1 18,4 16,7 14,4" }),
42
+ /* @__PURE__ */ jsxRuntime.jsx("polygon", { points: "16,25 18,28 16,31 14,28" }),
43
+ /* @__PURE__ */ jsxRuntime.jsx("polygon", { points: "27,8 28.7,11 25.5,11.5 26,8.7" }),
44
+ /* @__PURE__ */ jsxRuntime.jsx("polygon", { points: "5,8 6,8.7 6.5,11.5 3.3,11" }),
45
+ /* @__PURE__ */ jsxRuntime.jsx("polygon", { points: "27,24 26,23.3 25.5,20.5 28.7,21" }),
46
+ /* @__PURE__ */ jsxRuntime.jsx("polygon", { points: "5,24 3.3,21 6.5,20.5 6,23.3" })
47
+ ] })
48
+ ]
49
+ }
50
+ );
51
+ var SnowWordmark = ({
52
+ size = 18,
53
+ color = "currentColor",
54
+ showDot = true,
55
+ accent = "var(--sn-accent)"
56
+ }) => /* @__PURE__ */ jsxRuntime.jsxs(
57
+ "span",
58
+ {
59
+ style: {
60
+ fontFamily: "var(--sn-font-mono)",
61
+ fontSize: size,
62
+ fontWeight: 700,
63
+ letterSpacing: "-0.01em",
64
+ color,
65
+ lineHeight: 1
66
+ },
67
+ children: [
68
+ "snowztech",
69
+ showDot && /* @__PURE__ */ jsxRuntime.jsx("span", { style: { color: accent }, children: "." })
70
+ ]
71
+ }
72
+ );
73
+ var SnowMonogram = ({
74
+ size = 64,
75
+ bg = "#0a0a0a",
76
+ fg = "#ffffff",
77
+ radius = 8
78
+ }) => /* @__PURE__ */ jsxRuntime.jsx(Monogram, { size, bg, fg, radius, mark: SnowMark });
79
+ var Monogram = ({
80
+ size = 64,
81
+ bg = "#0a0a0a",
82
+ fg = "#ffffff",
83
+ radius = 8,
84
+ mark: Mark,
85
+ glyphScale = 0.6
86
+ }) => /* @__PURE__ */ jsxRuntime.jsx(
87
+ "div",
88
+ {
89
+ 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
98
+ },
99
+ children: /* @__PURE__ */ jsxRuntime.jsx(Mark, { size: Math.round(size * glyphScale), color: fg })
100
+ }
101
+ );
102
+ var wrap = (style) => ({
103
+ display: "inline-block",
104
+ verticalAlign: "middle",
105
+ ...style
106
+ });
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: [
108
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "14.5", y: "3", width: "3", height: "11" }),
109
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "14.5", y: "18", width: "3", height: "11" }),
110
+ /* @__PURE__ */ jsxRuntime.jsxs("g", { transform: "rotate(60 16 16)", children: [
111
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "14.5", y: "3", width: "3", height: "10.5" }),
112
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "14.5", y: "18.5", width: "3", height: "10.5" })
113
+ ] }),
114
+ /* @__PURE__ */ jsxRuntime.jsxs("g", { transform: "rotate(-60 16 16)", children: [
115
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "14.5", y: "3", width: "3", height: "10.5" }),
116
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "14.5", y: "18.5", width: "3", height: "10.5" })
117
+ ] })
118
+ ] });
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: [
120
+ /* @__PURE__ */ jsxRuntime.jsx("polygon", { points: "16,3 27,9.5 27,22.5 16,29 5,22.5 5,9.5" }),
121
+ /* @__PURE__ */ jsxRuntime.jsx("polygon", { points: "16,9 22,16 16,23 10,16" }),
122
+ /* @__PURE__ */ jsxRuntime.jsx("line", { x1: "16", y1: "3", x2: "16", y2: "9" }),
123
+ /* @__PURE__ */ jsxRuntime.jsx("line", { x1: "16", y1: "23", x2: "16", y2: "29" })
124
+ ] });
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: [
126
+ /* @__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
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "4", y: "14", width: "3", height: "4" }),
128
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "25", y: "14", width: "3", height: "4" })
129
+ ] });
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" }),
132
+ [0, 60, 120].map((deg, i) => /* @__PURE__ */ jsxRuntime.jsxs("g", { transform: `rotate(${deg} 16 16)`, children: [
133
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "14.6", y: "2", width: "2.8", height: "9", rx: "0.5" }),
134
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "14.6", y: "21", width: "2.8", height: "9", rx: "0.5" })
135
+ ] }, i))
136
+ ] });
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: [
138
+ /* @__PURE__ */ jsxRuntime.jsx("line", { x1: "16", y1: "4", x2: "16", y2: "28" }),
139
+ /* @__PURE__ */ jsxRuntime.jsx("line", { x1: "6", y1: "10", x2: "26", y2: "22" }),
140
+ /* @__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" })
142
+ ] });
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 }) => {
145
+ 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: [
147
+ /* @__PURE__ */ jsxRuntime.jsx("defs", { children: /* @__PURE__ */ jsxRuntime.jsxs("mask", { id, children: [
148
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { width: "32", height: "32", fill: "white" }),
149
+ /* @__PURE__ */ jsxRuntime.jsxs("g", { fill: "black", children: [
150
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "14.5", y: "6", width: "3", height: "20" }),
151
+ /* @__PURE__ */ jsxRuntime.jsx("g", { transform: "rotate(60 16 16)", children: /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "14.5", y: "6", width: "3", height: "20" }) }),
152
+ /* @__PURE__ */ jsxRuntime.jsx("g", { transform: "rotate(-60 16 16)", children: /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "14.5", y: "6", width: "3", height: "20" }) })
153
+ ] })
154
+ ] }) }),
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})` })
156
+ ] });
157
+ };
158
+ var MarkDotgrid = ({ size = 64, color = "currentColor", style }) => {
159
+ const dots = [/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "16", cy: "16", r: "2", fill: color }, "c")];
160
+ for (let a = 0; a < 6; a++) {
161
+ const ang = a * 60 * Math.PI / 180;
162
+ for (let r = 1; r <= 3; r++) {
163
+ const x = 16 + Math.cos(ang) * r * 4;
164
+ const y = 16 + Math.sin(ang) * r * 4;
165
+ 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}`));
167
+ }
168
+ }
169
+ return /* @__PURE__ */ jsxRuntime.jsx("svg", { width: size, height: size, viewBox: "0 0 32 32", style: wrap(style), "aria-hidden": "true", children: dots });
170
+ };
171
+ var markVariants = [
172
+ { id: "crystal", name: "Crystal", sub: "hex frame + diamond cut, canonical", Mark: MarkCrystal, exportName: "MarkCrystal" },
173
+ { id: "sigil", name: "Sigil", sub: "chunky bars", Mark: MarkSigil, exportName: "MarkSigil" },
174
+ { id: "zflake", name: "Z-Flake", sub: "the Z of snowztech", Mark: MarkZFlake, exportName: "MarkZFlake" },
175
+ { id: "asterisk", name: "Asterisk", sub: "mono-native, typographic", Mark: MarkAsterisk, exportName: "MarkAsterisk" },
176
+ { id: "slash", name: "Slash-Star", sub: "stamped, signature slash", Mark: MarkSlash, exportName: "MarkSlash" },
177
+ { id: "hex", name: "Hex-Cut", sub: "negative-space hex tile", Mark: MarkHex, exportName: "MarkHex" },
178
+ { id: "dotgrid", name: "Dot-Grid", sub: "pointillist, friendly", Mark: MarkDotgrid, exportName: "MarkDotgrid" },
179
+ { id: "glyph", name: "Glyph S", sub: "monogram, folded ribbon", Mark: MarkGlyph, exportName: "MarkGlyph" }
180
+ ];
181
+ var Icon = ({
182
+ size = 16,
183
+ stroke = 1.5,
184
+ color = "currentColor",
185
+ style,
186
+ children
187
+ }) => /* @__PURE__ */ jsxRuntime.jsx(
188
+ "svg",
189
+ {
190
+ width: size,
191
+ height: size,
192
+ viewBox: "0 0 24 24",
193
+ fill: "none",
194
+ stroke: color,
195
+ strokeWidth: stroke,
196
+ strokeLinecap: "round",
197
+ strokeLinejoin: "round",
198
+ style: { display: "inline-block", verticalAlign: "middle", ...style },
199
+ "aria-hidden": "true",
200
+ children
201
+ }
202
+ );
203
+ var SearchIcon = (p) => /* @__PURE__ */ jsxRuntime.jsxs(Icon, { ...p, children: [
204
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "11", cy: "11", r: "6" }),
205
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "m20 20-3.5-3.5" })
206
+ ] });
207
+ var TerminalIcon = (p) => /* @__PURE__ */ jsxRuntime.jsxs(Icon, { ...p, children: [
208
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "m5 8 4 4-4 4" }),
209
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M13 16h6" }),
210
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "2.5", y: "4", width: "19", height: "16", rx: "1.5" })
211
+ ] });
212
+ var CodeIcon = (p) => /* @__PURE__ */ jsxRuntime.jsxs(Icon, { ...p, children: [
213
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "m8 7-5 5 5 5" }),
214
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "m16 7 5 5-5 5" }),
215
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "m14 4-4 16" })
216
+ ] });
217
+ var GitIcon = (p) => /* @__PURE__ */ jsxRuntime.jsxs(Icon, { ...p, children: [
218
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "6", cy: "6", r: "2.5" }),
219
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "18", cy: "18", r: "2.5" }),
220
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "6", cy: "18", r: "2.5" }),
221
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M6 8.5v7" }),
222
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M8.5 6h6.5a2.5 2.5 0 0 1 2.5 2.5v7" })
223
+ ] });
224
+ var PlusIcon = (p) => /* @__PURE__ */ jsxRuntime.jsxs(Icon, { ...p, children: [
225
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M12 5v14" }),
226
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M5 12h14" })
227
+ ] });
228
+ var MinusIcon = (p) => /* @__PURE__ */ jsxRuntime.jsx(Icon, { ...p, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M5 12h14" }) });
229
+ var CheckIcon = (p) => /* @__PURE__ */ jsxRuntime.jsx(Icon, { ...p, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "m4 12 5 5L20 6" }) });
230
+ var XIcon = (p) => /* @__PURE__ */ jsxRuntime.jsxs(Icon, { ...p, children: [
231
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M6 6 18 18" }),
232
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "m18 6-12 12" })
233
+ ] });
234
+ var ChevronDownIcon = (p) => /* @__PURE__ */ jsxRuntime.jsx(Icon, { ...p, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "m6 9 6 6 6-6" }) });
235
+ var ChevronRightIcon = (p) => /* @__PURE__ */ jsxRuntime.jsx(Icon, { ...p, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "m9 6 6 6-6 6" }) });
236
+ var ChevronLeftIcon = (p) => /* @__PURE__ */ jsxRuntime.jsx(Icon, { ...p, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "m15 6-6 6 6 6" }) });
237
+ var ArrowRightIcon = (p) => /* @__PURE__ */ jsxRuntime.jsxs(Icon, { ...p, children: [
238
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M5 12h14" }),
239
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "m13 6 6 6-6 6" })
240
+ ] });
241
+ var ArrowUpRightIcon = (p) => /* @__PURE__ */ jsxRuntime.jsxs(Icon, { ...p, children: [
242
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M7 17 17 7" }),
243
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M8 7h9v9" })
244
+ ] });
245
+ var ExternalLinkIcon = (p) => /* @__PURE__ */ jsxRuntime.jsxs(Icon, { ...p, children: [
246
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M14 4h6v6" }),
247
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M20 4 10 14" }),
248
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M19 14v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h5" })
249
+ ] });
250
+ var SettingsIcon = (p) => /* @__PURE__ */ jsxRuntime.jsxs(Icon, { ...p, children: [
251
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "3" }),
252
+ /* @__PURE__ */ jsxRuntime.jsx("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" })
253
+ ] });
254
+ var UserIcon = (p) => /* @__PURE__ */ jsxRuntime.jsxs(Icon, { ...p, children: [
255
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "12", cy: "8", r: "4" }),
256
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M4 21v-1a6 6 0 0 1 6-6h4a6 6 0 0 1 6 6v1" })
257
+ ] });
258
+ var FolderIcon = (p) => /* @__PURE__ */ jsxRuntime.jsx(Icon, { ...p, children: /* @__PURE__ */ jsxRuntime.jsx("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" }) });
259
+ var FileIcon = (p) => /* @__PURE__ */ jsxRuntime.jsxs(Icon, { ...p, children: [
260
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M14 3H6a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V8z" }),
261
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M14 3v5h5" })
262
+ ] });
263
+ var BellIcon = (p) => /* @__PURE__ */ jsxRuntime.jsxs(Icon, { ...p, children: [
264
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M6 9a6 6 0 1 1 12 0v4l1.5 3h-15L6 13z" }),
265
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M10 19a2 2 0 0 0 4 0" })
266
+ ] });
267
+ var ActivityIcon = (p) => /* @__PURE__ */ jsxRuntime.jsx(Icon, { ...p, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M3 12h4l3-8 4 16 3-8h4" }) });
268
+ var PulseIcon = (p) => /* @__PURE__ */ jsxRuntime.jsx(Icon, { ...p, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M3 12h3l2-4 4 8 2-4h7" }) });
269
+ var CubeIcon = (p) => /* @__PURE__ */ jsxRuntime.jsxs(Icon, { ...p, children: [
270
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "m12 2 9 5v10l-9 5-9-5V7z" }),
271
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "m3 7 9 5 9-5" }),
272
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M12 22V12" })
273
+ ] });
274
+ var LayersIcon = (p) => /* @__PURE__ */ jsxRuntime.jsxs(Icon, { ...p, children: [
275
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "m12 3 9 5-9 5-9-5z" }),
276
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "m3 13 9 5 9-5" }),
277
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "m3 18 9 5 9-5" })
278
+ ] });
279
+ var DatabaseIcon = (p) => /* @__PURE__ */ jsxRuntime.jsxs(Icon, { ...p, children: [
280
+ /* @__PURE__ */ jsxRuntime.jsx("ellipse", { cx: "12", cy: "5", rx: "8", ry: "3" }),
281
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M4 5v6c0 1.7 3.6 3 8 3s8-1.3 8-3V5" }),
282
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M4 11v6c0 1.7 3.6 3 8 3s8-1.3 8-3v-6" })
283
+ ] });
284
+ var CloudIcon = (p) => /* @__PURE__ */ jsxRuntime.jsx(Icon, { ...p, children: /* @__PURE__ */ jsxRuntime.jsx("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" }) });
285
+ var SunIcon = (p) => /* @__PURE__ */ jsxRuntime.jsxs(Icon, { ...p, children: [
286
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "4" }),
287
+ /* @__PURE__ */ jsxRuntime.jsx("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" })
288
+ ] });
289
+ var MoonIcon = (p) => /* @__PURE__ */ jsxRuntime.jsx(Icon, { ...p, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M20 14a8 8 0 1 1-9.9-9.9 7 7 0 0 0 9.9 9.9z" }) });
290
+ var GithubIcon = (p) => /* @__PURE__ */ jsxRuntime.jsx(Icon, { ...p, children: /* @__PURE__ */ jsxRuntime.jsx("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" }) });
291
+ var MailIcon = (p) => /* @__PURE__ */ jsxRuntime.jsxs(Icon, { ...p, children: [
292
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "3", y: "5", width: "18", height: "14", rx: "1.5" }),
293
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "m3.5 6.5 8.5 7 8.5-7" })
294
+ ] });
295
+ var EyeIcon = (p) => /* @__PURE__ */ jsxRuntime.jsxs(Icon, { ...p, children: [
296
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7-10-7-10-7z" }),
297
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "3" })
298
+ ] });
299
+ var LockIcon = (p) => /* @__PURE__ */ jsxRuntime.jsxs(Icon, { ...p, children: [
300
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "4", y: "11", width: "16", height: "10", rx: "1.5" }),
301
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M8 11V7a4 4 0 0 1 8 0v4" })
302
+ ] });
303
+ var BoltIcon = (p) => /* @__PURE__ */ jsxRuntime.jsx(Icon, { ...p, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M13 2 4 14h7l-2 8 9-12h-7z" }) });
304
+ var StarIcon = (p) => /* @__PURE__ */ jsxRuntime.jsx(Icon, { ...p, children: /* @__PURE__ */ jsxRuntime.jsx("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" }) });
305
+ var HeartIcon = (p) => /* @__PURE__ */ jsxRuntime.jsx(Icon, { ...p, children: /* @__PURE__ */ jsxRuntime.jsx("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" }) });
306
+ var TrashIcon = (p) => /* @__PURE__ */ jsxRuntime.jsxs(Icon, { ...p, children: [
307
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M3 6h18" }),
308
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M8 6V4a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v2" }),
309
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M5 6v14a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V6" }),
310
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M10 11v6M14 11v6" })
311
+ ] });
312
+ var EditIcon = (p) => /* @__PURE__ */ jsxRuntime.jsxs(Icon, { ...p, children: [
313
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M11 4H5a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-6" }),
314
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "m18.5 2.5 3 3L12 15l-4 1 1-4z" })
315
+ ] });
316
+ var FilterIcon = (p) => /* @__PURE__ */ jsxRuntime.jsx(Icon, { ...p, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M3 5h18l-7 9v6l-4-2v-4z" }) });
317
+ var MenuIcon = (p) => /* @__PURE__ */ jsxRuntime.jsx(Icon, { ...p, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M4 7h16M4 12h16M4 17h16" }) });
318
+ var GridIcon = (p) => /* @__PURE__ */ jsxRuntime.jsxs(Icon, { ...p, children: [
319
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "3", y: "3", width: "7", height: "7", rx: "1" }),
320
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "14", y: "3", width: "7", height: "7", rx: "1" }),
321
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "3", y: "14", width: "7", height: "7", rx: "1" }),
322
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "14", y: "14", width: "7", height: "7", rx: "1" })
323
+ ] });
324
+ var InboxIcon = (p) => /* @__PURE__ */ jsxRuntime.jsxs(Icon, { ...p, children: [
325
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M3 13h5l1.5 2.5h5L16 13h5" }),
326
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M5 4h14l2 9v6a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-6z" })
327
+ ] });
328
+ var CalendarIcon = (p) => /* @__PURE__ */ jsxRuntime.jsxs(Icon, { ...p, children: [
329
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "3", y: "5", width: "18", height: "16", rx: "1.5" }),
330
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M3 10h18M8 3v4M16 3v4" })
331
+ ] });
332
+ var ClockIcon = (p) => /* @__PURE__ */ jsxRuntime.jsxs(Icon, { ...p, children: [
333
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "9" }),
334
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M12 7v5l3 2" })
335
+ ] });
336
+ var InfoIcon = (p) => /* @__PURE__ */ jsxRuntime.jsxs(Icon, { ...p, children: [
337
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "9" }),
338
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M12 11v6" }),
339
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "12", cy: "8", r: "0.5", fill: "currentColor" })
340
+ ] });
341
+ var WarningIcon = (p) => /* @__PURE__ */ jsxRuntime.jsxs(Icon, { ...p, children: [
342
+ /* @__PURE__ */ jsxRuntime.jsx("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" }),
343
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M12 9v5" }),
344
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "12", cy: "17", r: "0.5", fill: "currentColor" })
345
+ ] });
346
+ var ZapIcon = (p) => /* @__PURE__ */ jsxRuntime.jsx(Icon, { ...p, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M13 2 4 14h7l-2 8 9-12h-7z" }) });
347
+ var DiscordIcon = (p) => /* @__PURE__ */ jsxRuntime.jsxs(Icon, { ...p, children: [
348
+ /* @__PURE__ */ jsxRuntime.jsx("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" }),
349
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "9", cy: "11.5", r: "1.5", fill: "currentColor", stroke: "none" }),
350
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "15", cy: "11.5", r: "1.5", fill: "currentColor", stroke: "none" })
351
+ ] });
352
+ var initialsFrom = (name) => {
353
+ if (!name) return "";
354
+ const parts = name.trim().split(/\s+/).slice(0, 2);
355
+ return parts.map((p) => p[0]?.toUpperCase() ?? "").join("");
356
+ };
357
+ var Avatar = ({
358
+ src,
359
+ alt,
360
+ name,
361
+ size = 32,
362
+ shape = "circle",
363
+ ring = false,
364
+ style,
365
+ className
366
+ }) => {
367
+ const radius = shape === "circle" ? "50%" : "var(--sn-r-xs)";
368
+ const initials = initialsFrom(name);
369
+ return /* @__PURE__ */ jsxRuntime.jsx(
370
+ "span",
371
+ {
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
+ },
390
+ children: src ? (
391
+ // 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
+ )
402
+ ) : /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": "true", children: initials || "\u2022" })
403
+ }
404
+ );
405
+ };
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(
414
+ "span",
415
+ {
416
+ className,
417
+ style: {
418
+ display: "inline-flex",
419
+ alignItems: "center",
420
+ gap: 8,
421
+ color: "var(--sn-fg-muted)",
422
+ fontSize: "var(--sn-text-sm)",
423
+ ...style
424
+ },
425
+ 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
+ ),
465
+ label && /* @__PURE__ */ jsxRuntime.jsx("span", { children: label })
466
+ ]
467
+ }
468
+ );
469
+
470
+ exports.ActivityIcon = ActivityIcon;
471
+ exports.ArrowRightIcon = ArrowRightIcon;
472
+ exports.ArrowUpRightIcon = ArrowUpRightIcon;
473
+ exports.Avatar = Avatar;
474
+ exports.AvatarStack = AvatarStack;
475
+ exports.BellIcon = BellIcon;
476
+ exports.BoltIcon = BoltIcon;
477
+ exports.CalendarIcon = CalendarIcon;
478
+ exports.CheckIcon = CheckIcon;
479
+ exports.ChevronDownIcon = ChevronDownIcon;
480
+ exports.ChevronLeftIcon = ChevronLeftIcon;
481
+ exports.ChevronRightIcon = ChevronRightIcon;
482
+ exports.ClockIcon = ClockIcon;
483
+ exports.CloudIcon = CloudIcon;
484
+ exports.CodeIcon = CodeIcon;
485
+ exports.CubeIcon = CubeIcon;
486
+ exports.DatabaseIcon = DatabaseIcon;
487
+ exports.DiscordIcon = DiscordIcon;
488
+ exports.EditIcon = EditIcon;
489
+ exports.ExternalLinkIcon = ExternalLinkIcon;
490
+ exports.EyeIcon = EyeIcon;
491
+ exports.FileIcon = FileIcon;
492
+ exports.FilterIcon = FilterIcon;
493
+ exports.FolderIcon = FolderIcon;
494
+ exports.GitIcon = GitIcon;
495
+ exports.GithubIcon = GithubIcon;
496
+ exports.GridIcon = GridIcon;
497
+ exports.HeartIcon = HeartIcon;
498
+ exports.Icon = Icon;
499
+ exports.InboxIcon = InboxIcon;
500
+ exports.InfoIcon = InfoIcon;
501
+ exports.LayersIcon = LayersIcon;
502
+ exports.LockIcon = LockIcon;
503
+ exports.MailIcon = MailIcon;
504
+ exports.MarkAsterisk = MarkAsterisk;
505
+ exports.MarkCrystal = MarkCrystal;
506
+ exports.MarkDotgrid = MarkDotgrid;
507
+ exports.MarkGlyph = MarkGlyph;
508
+ exports.MarkHex = MarkHex;
509
+ exports.MarkSigil = MarkSigil;
510
+ exports.MarkSlash = MarkSlash;
511
+ exports.MarkZFlake = MarkZFlake;
512
+ exports.MenuIcon = MenuIcon;
513
+ exports.MinusIcon = MinusIcon;
514
+ exports.Monogram = Monogram;
515
+ exports.MoonIcon = MoonIcon;
516
+ exports.PlusIcon = PlusIcon;
517
+ exports.Pulse = Pulse;
518
+ exports.PulseIcon = PulseIcon;
519
+ exports.SearchIcon = SearchIcon;
520
+ exports.SettingsIcon = SettingsIcon;
521
+ exports.SnowMark = SnowMark;
522
+ exports.SnowMonogram = SnowMonogram;
523
+ exports.SnowWordmark = SnowWordmark;
524
+ exports.StarIcon = StarIcon;
525
+ exports.SunIcon = SunIcon;
526
+ exports.TerminalIcon = TerminalIcon;
527
+ exports.TrashIcon = TrashIcon;
528
+ exports.UserIcon = UserIcon;
529
+ exports.WarningIcon = WarningIcon;
530
+ exports.XIcon = XIcon;
531
+ exports.ZapIcon = ZapIcon;
532
+ exports.markVariants = markVariants;
533
+ //# sourceMappingURL=index.cjs.map
534
+ //# sourceMappingURL=index.cjs.map