@snowztech/ui 0.3.0 → 0.4.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/client.cjs CHANGED
@@ -36,7 +36,9 @@ function ThemeToggle({
36
36
  const [theme, setTheme] = React__namespace.useState(defaultTheme);
37
37
  const [mounted, setMounted] = React__namespace.useState(false);
38
38
  React__namespace.useEffect(() => {
39
- const stored = localStorage.getItem(storageKey) ?? defaultTheme;
39
+ const followsSystem = document.documentElement.getAttribute("data-theme") === "system";
40
+ const system = matchMedia("(prefers-color-scheme: light)").matches ? "light" : "dark";
41
+ const stored = localStorage.getItem(storageKey) ?? (followsSystem ? system : defaultTheme);
40
42
  setTheme(stored);
41
43
  setMounted(true);
42
44
  }, [storageKey, defaultTheme]);
@@ -93,7 +95,18 @@ function CopyButton({ value, size = 14, className, style }) {
93
95
  }
94
96
  );
95
97
  }
98
+ var cx3 = (...parts) => parts.filter(Boolean).join(" ");
99
+ function CodeBlock({ code, filename, lang, children, className, style }) {
100
+ return /* @__PURE__ */ jsxRuntime.jsxs("figure", { className: cx3("sn-code", className), style, children: [
101
+ /* @__PURE__ */ jsxRuntime.jsxs("figcaption", { className: "sn-code__bar", children: [
102
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sn-code__name", children: filename ?? lang }),
103
+ /* @__PURE__ */ jsxRuntime.jsx(CopyButton, { value: code })
104
+ ] }),
105
+ children ?? /* @__PURE__ */ jsxRuntime.jsx("pre", { children: /* @__PURE__ */ jsxRuntime.jsx("code", { className: lang ? `language-${lang}` : void 0, children: code }) })
106
+ ] });
107
+ }
96
108
 
109
+ exports.CodeBlock = CodeBlock;
97
110
  exports.CopyButton = CopyButton;
98
111
  exports.ThemeToggle = ThemeToggle;
99
112
  //# sourceMappingURL=client.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/theme-toggle.tsx","../src/copy-button.tsx"],"names":["React","jsx","cx","React2","jsxs"],"mappings":"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","file":"client.cjs","sourcesContent":["import * as React from \"react\";\n\nconst cx = (...parts: Array<string | undefined | false>) => parts.filter(Boolean).join(\" \");\n\nexport type Theme = \"light\" | \"dark\";\n\nexport interface ThemeToggleProps {\n size?: number;\n storageKey?: string;\n defaultTheme?: Theme;\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport function ThemeToggle({\n size = 12,\n storageKey = \"theme\",\n defaultTheme = \"dark\",\n className,\n style,\n}: ThemeToggleProps) {\n const [theme, setTheme] = React.useState<Theme>(defaultTheme);\n const [mounted, setMounted] = React.useState(false);\n\n React.useEffect(() => {\n const stored = (localStorage.getItem(storageKey) as Theme | null) ?? defaultTheme;\n setTheme(stored);\n setMounted(true);\n }, [storageKey, defaultTheme]);\n\n const toggle = () => {\n const next: Theme = theme === \"dark\" ? \"light\" : \"dark\";\n setTheme(next);\n localStorage.setItem(storageKey, next);\n if (next === \"light\") document.documentElement.setAttribute(\"data-theme\", \"light\");\n else document.documentElement.removeAttribute(\"data-theme\");\n };\n\n return (\n <button\n type=\"button\"\n onClick={toggle}\n aria-label={`switch to ${theme === \"dark\" ? \"light\" : \"dark\"} mode`}\n className={cx(\"sn-theme-toggle\", className)}\n style={{\n [\"--sn-theme-toggle-size\" as string]: `${size}px`,\n opacity: mounted ? 1 : 0,\n ...style,\n }}\n >\n <span className=\"sn-theme-toggle__indicator\" />\n </button>\n );\n}\n","import * as React from \"react\";\n\nconst cx = (...parts: Array<string | undefined | false>) => parts.filter(Boolean).join(\" \");\n\nexport interface CopyButtonProps {\n value: string;\n size?: number;\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport function CopyButton({ value, size = 14, className, style }: CopyButtonProps) {\n const [copied, setCopied] = React.useState(false);\n\n const onCopy = async () => {\n try {\n await navigator.clipboard.writeText(value);\n setCopied(true);\n window.setTimeout(() => setCopied(false), 1200);\n } catch {\n // ignored\n }\n };\n\n return (\n <button\n type=\"button\"\n onClick={onCopy}\n aria-label={copied ? \"copied\" : \"copy\"}\n data-copied={copied || undefined}\n className={cx(\"sn-copy-btn\", className)}\n style={style}\n >\n <svg className=\"sn-copy-btn__idle\" width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" aria-hidden=\"true\">\n <rect x=\"9\" y=\"9\" width=\"11\" height=\"11\" rx=\"1.5\" />\n <path d=\"M5 15V5a1 1 0 0 1 1-1h10\" />\n </svg>\n <svg className=\"sn-copy-btn__copied\" width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" aria-hidden=\"true\">\n <path d=\"m4 12 5 5L20 6\" />\n </svg>\n </button>\n );\n}\n"]}
1
+ {"version":3,"sources":["../src/theme-toggle.tsx","../src/copy-button.tsx","../src/code-block.tsx"],"names":["React","jsx","cx","React2","jsxs"],"mappings":"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","file":"client.cjs","sourcesContent":["import * as React from \"react\";\n\nconst cx = (...parts: Array<string | undefined | false>) => parts.filter(Boolean).join(\" \");\n\nexport type Theme = \"light\" | \"dark\";\n\nexport interface ThemeToggleProps {\n size?: number;\n storageKey?: string;\n defaultTheme?: Theme;\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport function ThemeToggle({\n size = 12,\n storageKey = \"theme\",\n defaultTheme = \"dark\",\n className,\n style,\n}: ThemeToggleProps) {\n const [theme, setTheme] = React.useState<Theme>(defaultTheme);\n const [mounted, setMounted] = React.useState(false);\n\n React.useEffect(() => {\n const followsSystem = document.documentElement.getAttribute(\"data-theme\") === \"system\";\n const system: Theme = matchMedia(\"(prefers-color-scheme: light)\").matches ? \"light\" : \"dark\";\n const stored = (localStorage.getItem(storageKey) as Theme | null) ?? (followsSystem ? system : defaultTheme);\n setTheme(stored);\n setMounted(true);\n }, [storageKey, defaultTheme]);\n\n const toggle = () => {\n const next: Theme = theme === \"dark\" ? \"light\" : \"dark\";\n setTheme(next);\n localStorage.setItem(storageKey, next);\n if (next === \"light\") document.documentElement.setAttribute(\"data-theme\", \"light\");\n else document.documentElement.removeAttribute(\"data-theme\");\n };\n\n return (\n <button\n type=\"button\"\n onClick={toggle}\n aria-label={`switch to ${theme === \"dark\" ? \"light\" : \"dark\"} mode`}\n className={cx(\"sn-theme-toggle\", className)}\n style={{\n [\"--sn-theme-toggle-size\" as string]: `${size}px`,\n opacity: mounted ? 1 : 0,\n ...style,\n }}\n >\n <span className=\"sn-theme-toggle__indicator\" />\n </button>\n );\n}\n","import * as React from \"react\";\n\nconst cx = (...parts: Array<string | undefined | false>) => parts.filter(Boolean).join(\" \");\n\nexport interface CopyButtonProps {\n value: string;\n size?: number;\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport function CopyButton({ value, size = 14, className, style }: CopyButtonProps) {\n const [copied, setCopied] = React.useState(false);\n\n const onCopy = async () => {\n try {\n await navigator.clipboard.writeText(value);\n setCopied(true);\n window.setTimeout(() => setCopied(false), 1200);\n } catch {\n // ignored\n }\n };\n\n return (\n <button\n type=\"button\"\n onClick={onCopy}\n aria-label={copied ? \"copied\" : \"copy\"}\n data-copied={copied || undefined}\n className={cx(\"sn-copy-btn\", className)}\n style={style}\n >\n <svg className=\"sn-copy-btn__idle\" width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" aria-hidden=\"true\">\n <rect x=\"9\" y=\"9\" width=\"11\" height=\"11\" rx=\"1.5\" />\n <path d=\"M5 15V5a1 1 0 0 1 1-1h10\" />\n </svg>\n <svg className=\"sn-copy-btn__copied\" width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" aria-hidden=\"true\">\n <path d=\"m4 12 5 5L20 6\" />\n </svg>\n </button>\n );\n}\n","import * as React from \"react\";\nimport { CopyButton } from \"./copy-button\";\n\nconst cx = (...parts: Array<string | undefined | false>) => parts.filter(Boolean).join(\" \");\n\nexport interface CodeBlockProps {\n code: string;\n filename?: React.ReactNode;\n lang?: string;\n /** Pre-highlighted markup (e.g. from shiki). `code` is still what gets copied. */\n children?: React.ReactNode;\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport function CodeBlock({ code, filename, lang, children, className, style }: CodeBlockProps) {\n return (\n <figure className={cx(\"sn-code\", className)} style={style}>\n <figcaption className=\"sn-code__bar\">\n <span className=\"sn-code__name\">{filename ?? lang}</span>\n <CopyButton value={code} />\n </figcaption>\n {children ?? (\n <pre>\n <code className={lang ? `language-${lang}` : undefined}>{code}</code>\n </pre>\n )}\n </figure>\n );\n}\n"]}
package/dist/client.d.cts CHANGED
@@ -19,4 +19,15 @@ interface CopyButtonProps {
19
19
  }
20
20
  declare function CopyButton({ value, size, className, style }: CopyButtonProps): react_jsx_runtime.JSX.Element;
21
21
 
22
- export { CopyButton, type CopyButtonProps, type Theme, ThemeToggle, type ThemeToggleProps };
22
+ interface CodeBlockProps {
23
+ code: string;
24
+ filename?: React.ReactNode;
25
+ lang?: string;
26
+ /** Pre-highlighted markup (e.g. from shiki). `code` is still what gets copied. */
27
+ children?: React.ReactNode;
28
+ className?: string;
29
+ style?: React.CSSProperties;
30
+ }
31
+ declare function CodeBlock({ code, filename, lang, children, className, style }: CodeBlockProps): react_jsx_runtime.JSX.Element;
32
+
33
+ export { CodeBlock, type CodeBlockProps, CopyButton, type CopyButtonProps, type Theme, ThemeToggle, type ThemeToggleProps };
package/dist/client.d.ts CHANGED
@@ -19,4 +19,15 @@ interface CopyButtonProps {
19
19
  }
20
20
  declare function CopyButton({ value, size, className, style }: CopyButtonProps): react_jsx_runtime.JSX.Element;
21
21
 
22
- export { CopyButton, type CopyButtonProps, type Theme, ThemeToggle, type ThemeToggleProps };
22
+ interface CodeBlockProps {
23
+ code: string;
24
+ filename?: React.ReactNode;
25
+ lang?: string;
26
+ /** Pre-highlighted markup (e.g. from shiki). `code` is still what gets copied. */
27
+ children?: React.ReactNode;
28
+ className?: string;
29
+ style?: React.CSSProperties;
30
+ }
31
+ declare function CodeBlock({ code, filename, lang, children, className, style }: CodeBlockProps): react_jsx_runtime.JSX.Element;
32
+
33
+ export { CodeBlock, type CodeBlockProps, CopyButton, type CopyButtonProps, type Theme, ThemeToggle, type ThemeToggleProps };
package/dist/client.js CHANGED
@@ -14,7 +14,9 @@ function ThemeToggle({
14
14
  const [theme, setTheme] = React.useState(defaultTheme);
15
15
  const [mounted, setMounted] = React.useState(false);
16
16
  React.useEffect(() => {
17
- const stored = localStorage.getItem(storageKey) ?? defaultTheme;
17
+ const followsSystem = document.documentElement.getAttribute("data-theme") === "system";
18
+ const system = matchMedia("(prefers-color-scheme: light)").matches ? "light" : "dark";
19
+ const stored = localStorage.getItem(storageKey) ?? (followsSystem ? system : defaultTheme);
18
20
  setTheme(stored);
19
21
  setMounted(true);
20
22
  }, [storageKey, defaultTheme]);
@@ -71,7 +73,17 @@ function CopyButton({ value, size = 14, className, style }) {
71
73
  }
72
74
  );
73
75
  }
76
+ var cx3 = (...parts) => parts.filter(Boolean).join(" ");
77
+ function CodeBlock({ code, filename, lang, children, className, style }) {
78
+ return /* @__PURE__ */ jsxs("figure", { className: cx3("sn-code", className), style, children: [
79
+ /* @__PURE__ */ jsxs("figcaption", { className: "sn-code__bar", children: [
80
+ /* @__PURE__ */ jsx("span", { className: "sn-code__name", children: filename ?? lang }),
81
+ /* @__PURE__ */ jsx(CopyButton, { value: code })
82
+ ] }),
83
+ children ?? /* @__PURE__ */ jsx("pre", { children: /* @__PURE__ */ jsx("code", { className: lang ? `language-${lang}` : void 0, children: code }) })
84
+ ] });
85
+ }
74
86
 
75
- export { CopyButton, ThemeToggle };
87
+ export { CodeBlock, CopyButton, ThemeToggle };
76
88
  //# sourceMappingURL=client.js.map
77
89
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/theme-toggle.tsx","../src/copy-button.tsx"],"names":["cx","React2","jsx"],"mappings":"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","file":"client.js","sourcesContent":["import * as React from \"react\";\n\nconst cx = (...parts: Array<string | undefined | false>) => parts.filter(Boolean).join(\" \");\n\nexport type Theme = \"light\" | \"dark\";\n\nexport interface ThemeToggleProps {\n size?: number;\n storageKey?: string;\n defaultTheme?: Theme;\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport function ThemeToggle({\n size = 12,\n storageKey = \"theme\",\n defaultTheme = \"dark\",\n className,\n style,\n}: ThemeToggleProps) {\n const [theme, setTheme] = React.useState<Theme>(defaultTheme);\n const [mounted, setMounted] = React.useState(false);\n\n React.useEffect(() => {\n const stored = (localStorage.getItem(storageKey) as Theme | null) ?? defaultTheme;\n setTheme(stored);\n setMounted(true);\n }, [storageKey, defaultTheme]);\n\n const toggle = () => {\n const next: Theme = theme === \"dark\" ? \"light\" : \"dark\";\n setTheme(next);\n localStorage.setItem(storageKey, next);\n if (next === \"light\") document.documentElement.setAttribute(\"data-theme\", \"light\");\n else document.documentElement.removeAttribute(\"data-theme\");\n };\n\n return (\n <button\n type=\"button\"\n onClick={toggle}\n aria-label={`switch to ${theme === \"dark\" ? \"light\" : \"dark\"} mode`}\n className={cx(\"sn-theme-toggle\", className)}\n style={{\n [\"--sn-theme-toggle-size\" as string]: `${size}px`,\n opacity: mounted ? 1 : 0,\n ...style,\n }}\n >\n <span className=\"sn-theme-toggle__indicator\" />\n </button>\n );\n}\n","import * as React from \"react\";\n\nconst cx = (...parts: Array<string | undefined | false>) => parts.filter(Boolean).join(\" \");\n\nexport interface CopyButtonProps {\n value: string;\n size?: number;\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport function CopyButton({ value, size = 14, className, style }: CopyButtonProps) {\n const [copied, setCopied] = React.useState(false);\n\n const onCopy = async () => {\n try {\n await navigator.clipboard.writeText(value);\n setCopied(true);\n window.setTimeout(() => setCopied(false), 1200);\n } catch {\n // ignored\n }\n };\n\n return (\n <button\n type=\"button\"\n onClick={onCopy}\n aria-label={copied ? \"copied\" : \"copy\"}\n data-copied={copied || undefined}\n className={cx(\"sn-copy-btn\", className)}\n style={style}\n >\n <svg className=\"sn-copy-btn__idle\" width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" aria-hidden=\"true\">\n <rect x=\"9\" y=\"9\" width=\"11\" height=\"11\" rx=\"1.5\" />\n <path d=\"M5 15V5a1 1 0 0 1 1-1h10\" />\n </svg>\n <svg className=\"sn-copy-btn__copied\" width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" aria-hidden=\"true\">\n <path d=\"m4 12 5 5L20 6\" />\n </svg>\n </button>\n );\n}\n"]}
1
+ {"version":3,"sources":["../src/theme-toggle.tsx","../src/copy-button.tsx","../src/code-block.tsx"],"names":["cx","React2","jsx","jsxs"],"mappings":"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","file":"client.js","sourcesContent":["import * as React from \"react\";\n\nconst cx = (...parts: Array<string | undefined | false>) => parts.filter(Boolean).join(\" \");\n\nexport type Theme = \"light\" | \"dark\";\n\nexport interface ThemeToggleProps {\n size?: number;\n storageKey?: string;\n defaultTheme?: Theme;\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport function ThemeToggle({\n size = 12,\n storageKey = \"theme\",\n defaultTheme = \"dark\",\n className,\n style,\n}: ThemeToggleProps) {\n const [theme, setTheme] = React.useState<Theme>(defaultTheme);\n const [mounted, setMounted] = React.useState(false);\n\n React.useEffect(() => {\n const followsSystem = document.documentElement.getAttribute(\"data-theme\") === \"system\";\n const system: Theme = matchMedia(\"(prefers-color-scheme: light)\").matches ? \"light\" : \"dark\";\n const stored = (localStorage.getItem(storageKey) as Theme | null) ?? (followsSystem ? system : defaultTheme);\n setTheme(stored);\n setMounted(true);\n }, [storageKey, defaultTheme]);\n\n const toggle = () => {\n const next: Theme = theme === \"dark\" ? \"light\" : \"dark\";\n setTheme(next);\n localStorage.setItem(storageKey, next);\n if (next === \"light\") document.documentElement.setAttribute(\"data-theme\", \"light\");\n else document.documentElement.removeAttribute(\"data-theme\");\n };\n\n return (\n <button\n type=\"button\"\n onClick={toggle}\n aria-label={`switch to ${theme === \"dark\" ? \"light\" : \"dark\"} mode`}\n className={cx(\"sn-theme-toggle\", className)}\n style={{\n [\"--sn-theme-toggle-size\" as string]: `${size}px`,\n opacity: mounted ? 1 : 0,\n ...style,\n }}\n >\n <span className=\"sn-theme-toggle__indicator\" />\n </button>\n );\n}\n","import * as React from \"react\";\n\nconst cx = (...parts: Array<string | undefined | false>) => parts.filter(Boolean).join(\" \");\n\nexport interface CopyButtonProps {\n value: string;\n size?: number;\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport function CopyButton({ value, size = 14, className, style }: CopyButtonProps) {\n const [copied, setCopied] = React.useState(false);\n\n const onCopy = async () => {\n try {\n await navigator.clipboard.writeText(value);\n setCopied(true);\n window.setTimeout(() => setCopied(false), 1200);\n } catch {\n // ignored\n }\n };\n\n return (\n <button\n type=\"button\"\n onClick={onCopy}\n aria-label={copied ? \"copied\" : \"copy\"}\n data-copied={copied || undefined}\n className={cx(\"sn-copy-btn\", className)}\n style={style}\n >\n <svg className=\"sn-copy-btn__idle\" width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" aria-hidden=\"true\">\n <rect x=\"9\" y=\"9\" width=\"11\" height=\"11\" rx=\"1.5\" />\n <path d=\"M5 15V5a1 1 0 0 1 1-1h10\" />\n </svg>\n <svg className=\"sn-copy-btn__copied\" width={size} height={size} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\" aria-hidden=\"true\">\n <path d=\"m4 12 5 5L20 6\" />\n </svg>\n </button>\n );\n}\n","import * as React from \"react\";\nimport { CopyButton } from \"./copy-button\";\n\nconst cx = (...parts: Array<string | undefined | false>) => parts.filter(Boolean).join(\" \");\n\nexport interface CodeBlockProps {\n code: string;\n filename?: React.ReactNode;\n lang?: string;\n /** Pre-highlighted markup (e.g. from shiki). `code` is still what gets copied. */\n children?: React.ReactNode;\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport function CodeBlock({ code, filename, lang, children, className, style }: CodeBlockProps) {\n return (\n <figure className={cx(\"sn-code\", className)} style={style}>\n <figcaption className=\"sn-code__bar\">\n <span className=\"sn-code__name\">{filename ?? lang}</span>\n <CopyButton value={code} />\n </figcaption>\n {children ?? (\n <pre>\n <code className={lang ? `language-${lang}` : undefined}>{code}</code>\n </pre>\n )}\n </figure>\n );\n}\n"]}
package/dist/index.cjs CHANGED
@@ -468,6 +468,16 @@ var Field = ({
468
468
  children,
469
469
  error ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sn-error", role: "alert", children: error }) : hint ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sn-hint", children: hint }) : null
470
470
  ] });
471
+ var cx9 = (...parts) => parts.filter(Boolean).join(" ");
472
+ var Callout = ({ variant, title, children, className, style }) => /* @__PURE__ */ jsxRuntime.jsxs("aside", { className: cx9("sn-callout", variant && `sn-callout--${variant}`, className), style, children: [
473
+ title && /* @__PURE__ */ jsxRuntime.jsx("strong", { className: "sn-callout__title", children: title }),
474
+ children
475
+ ] });
476
+ var cx10 = (...parts) => parts.filter(Boolean).join(" ");
477
+ var Terminal = ({ title, children, className, style }) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cx10("sn-terminal", className), style, children: [
478
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "sn-terminal__bar", children: title && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sn-terminal__title", children: title }) }),
479
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "sn-terminal__body", children })
480
+ ] });
471
481
 
472
482
  exports.ActivityIcon = ActivityIcon;
473
483
  exports.ArrowRightIcon = ArrowRightIcon;
@@ -477,6 +487,7 @@ exports.AvatarStack = AvatarStack;
477
487
  exports.BellIcon = BellIcon;
478
488
  exports.BoltIcon = BoltIcon;
479
489
  exports.CalendarIcon = CalendarIcon;
490
+ exports.Callout = Callout;
480
491
  exports.CheckIcon = CheckIcon;
481
492
  exports.ChevronDownIcon = ChevronDownIcon;
482
493
  exports.ChevronLeftIcon = ChevronLeftIcon;
@@ -528,6 +539,7 @@ exports.SnowMonogram = SnowMonogram;
528
539
  exports.SnowWordmark = SnowWordmark;
529
540
  exports.StarIcon = StarIcon;
530
541
  exports.SunIcon = SunIcon;
542
+ exports.Terminal = Terminal;
531
543
  exports.TerminalIcon = TerminalIcon;
532
544
  exports.Textarea = Textarea;
533
545
  exports.TrashIcon = TrashIcon;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/mark.tsx","../src/mark-variants.tsx","../src/icons.tsx","../src/avatar.tsx","../src/pulse.tsx","../src/input.tsx","../src/textarea.tsx","../src/field.tsx"],"names":["jsxs","jsx","sizeStyle","sizeClass","cx","React","React2","Input","React3","Textarea"],"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","import * as React from \"react\";\n\nconst cx = (...parts: Array<string | undefined | false>) => parts.filter(Boolean).join(\" \");\n\nexport interface InputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, \"size\"> {\n size?: \"sm\" | \"md\" | \"lg\";\n invalid?: boolean;\n}\n\nexport const Input = React.forwardRef<HTMLInputElement, InputProps>(function Input(\n { size = \"md\", invalid, className, ...rest },\n ref,\n) {\n return (\n <input\n ref={ref}\n className={cx(\n \"sn-input\",\n size === \"sm\" && \"sn-input--sm\",\n size === \"lg\" && \"sn-input--lg\",\n invalid && \"sn-input--invalid\",\n className,\n )}\n aria-invalid={invalid || undefined}\n {...rest}\n />\n );\n});\n","import * as React from \"react\";\n\nconst cx = (...parts: Array<string | undefined | false>) => parts.filter(Boolean).join(\" \");\n\nexport interface TextareaProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {\n invalid?: boolean;\n}\n\nexport const Textarea = React.forwardRef<HTMLTextAreaElement, TextareaProps>(function Textarea(\n { invalid, className, ...rest },\n ref,\n) {\n return (\n <textarea\n ref={ref}\n className={cx(\"sn-textarea\", invalid && \"sn-textarea--invalid\", className)}\n aria-invalid={invalid || undefined}\n {...rest}\n />\n );\n});\n","import * as React from \"react\";\n\nconst cx = (...parts: Array<string | undefined | false>) => parts.filter(Boolean).join(\" \");\n\nexport interface LabelProps extends React.LabelHTMLAttributes<HTMLLabelElement> {\n required?: boolean;\n}\n\nexport const Label = ({ required, children, className, ...rest }: LabelProps) => (\n <label className={cx(\"sn-label\", className)} {...rest}>\n {children}\n {required && (\n <span className=\"sn-label__required\" aria-hidden=\"true\">\n *\n </span>\n )}\n </label>\n);\n\nexport interface FieldProps {\n label?: React.ReactNode;\n hint?: React.ReactNode;\n error?: React.ReactNode;\n required?: boolean;\n htmlFor?: string;\n children: React.ReactNode;\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport const Field = ({\n label,\n hint,\n error,\n required,\n htmlFor,\n children,\n className,\n style,\n}: FieldProps) => (\n <div className={cx(\"sn-field\", className)} style={style}>\n {label && (\n <Label htmlFor={htmlFor} required={required}>\n {label}\n </Label>\n )}\n {children}\n {error ? (\n <span className=\"sn-error\" role=\"alert\">\n {error}\n </span>\n ) : hint ? (\n <span className=\"sn-hint\">{hint}</span>\n ) : null}\n </div>\n);\n"]}
1
+ {"version":3,"sources":["../src/mark.tsx","../src/mark-variants.tsx","../src/icons.tsx","../src/avatar.tsx","../src/pulse.tsx","../src/input.tsx","../src/textarea.tsx","../src/field.tsx","../src/callout.tsx","../src/terminal.tsx"],"names":["jsxs","jsx","sizeStyle","sizeClass","cx","React","React2","Input","React3","Textarea"],"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","import * as React from \"react\";\n\nconst cx = (...parts: Array<string | undefined | false>) => parts.filter(Boolean).join(\" \");\n\nexport interface InputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, \"size\"> {\n size?: \"sm\" | \"md\" | \"lg\";\n invalid?: boolean;\n}\n\nexport const Input = React.forwardRef<HTMLInputElement, InputProps>(function Input(\n { size = \"md\", invalid, className, ...rest },\n ref,\n) {\n return (\n <input\n ref={ref}\n className={cx(\n \"sn-input\",\n size === \"sm\" && \"sn-input--sm\",\n size === \"lg\" && \"sn-input--lg\",\n invalid && \"sn-input--invalid\",\n className,\n )}\n aria-invalid={invalid || undefined}\n {...rest}\n />\n );\n});\n","import * as React from \"react\";\n\nconst cx = (...parts: Array<string | undefined | false>) => parts.filter(Boolean).join(\" \");\n\nexport interface TextareaProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {\n invalid?: boolean;\n}\n\nexport const Textarea = React.forwardRef<HTMLTextAreaElement, TextareaProps>(function Textarea(\n { invalid, className, ...rest },\n ref,\n) {\n return (\n <textarea\n ref={ref}\n className={cx(\"sn-textarea\", invalid && \"sn-textarea--invalid\", className)}\n aria-invalid={invalid || undefined}\n {...rest}\n />\n );\n});\n","import * as React from \"react\";\n\nconst cx = (...parts: Array<string | undefined | false>) => parts.filter(Boolean).join(\" \");\n\nexport interface LabelProps extends React.LabelHTMLAttributes<HTMLLabelElement> {\n required?: boolean;\n}\n\nexport const Label = ({ required, children, className, ...rest }: LabelProps) => (\n <label className={cx(\"sn-label\", className)} {...rest}>\n {children}\n {required && (\n <span className=\"sn-label__required\" aria-hidden=\"true\">\n *\n </span>\n )}\n </label>\n);\n\nexport interface FieldProps {\n label?: React.ReactNode;\n hint?: React.ReactNode;\n error?: React.ReactNode;\n required?: boolean;\n htmlFor?: string;\n children: React.ReactNode;\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport const Field = ({\n label,\n hint,\n error,\n required,\n htmlFor,\n children,\n className,\n style,\n}: FieldProps) => (\n <div className={cx(\"sn-field\", className)} style={style}>\n {label && (\n <Label htmlFor={htmlFor} required={required}>\n {label}\n </Label>\n )}\n {children}\n {error ? (\n <span className=\"sn-error\" role=\"alert\">\n {error}\n </span>\n ) : hint ? (\n <span className=\"sn-hint\">{hint}</span>\n ) : null}\n </div>\n);\n","import * as React from \"react\";\n\nconst cx = (...parts: Array<string | undefined | false>) => parts.filter(Boolean).join(\" \");\n\nexport interface CalloutProps {\n variant?: \"note\" | \"tip\" | \"warning\" | \"danger\";\n title?: React.ReactNode;\n children: React.ReactNode;\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport const Callout = ({ variant, title, children, className, style }: CalloutProps) => (\n <aside className={cx(\"sn-callout\", variant && `sn-callout--${variant}`, className)} style={style}>\n {title && <strong className=\"sn-callout__title\">{title}</strong>}\n {children}\n </aside>\n);\n","import * as React from \"react\";\n\nconst cx = (...parts: Array<string | undefined | false>) => parts.filter(Boolean).join(\" \");\n\nexport interface TerminalProps {\n title?: React.ReactNode;\n children: React.ReactNode;\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport const Terminal = ({ title, children, className, style }: TerminalProps) => (\n <div className={cx(\"sn-terminal\", className)} style={style}>\n <div className=\"sn-terminal__bar\">\n {title && <span className=\"sn-terminal__title\">{title}</span>}\n </div>\n <div className=\"sn-terminal__body\">{children}</div>\n </div>\n);\n"]}
package/dist/index.d.cts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
- export { CopyButtonProps, Theme, ThemeToggleProps } from './client.cjs';
3
+ export { CodeBlockProps, CopyButtonProps, Theme, ThemeToggleProps } from './client.cjs';
4
4
 
5
5
  type Size$1 = "xs" | "sm" | "md" | "lg" | "xl" | number;
6
6
  interface SnowMarkProps {
@@ -179,4 +179,21 @@ interface FieldProps {
179
179
  }
180
180
  declare const Field: ({ label, hint, error, required, htmlFor, children, className, style, }: FieldProps) => react_jsx_runtime.JSX.Element;
181
181
 
182
- export { ActivityIcon, ArrowRightIcon, ArrowUpRightIcon, Avatar, type AvatarProps, AvatarStack, type AvatarStackProps, BellIcon, BoltIcon, CalendarIcon, CheckIcon, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ClockIcon, CloudIcon, CodeIcon, CubeIcon, DatabaseIcon, DiscordIcon, EditIcon, ExternalLinkIcon, EyeIcon, Field, type FieldProps, FileIcon, FilterIcon, FolderIcon, GitIcon, GithubIcon, GridIcon, HeartIcon, Icon, type IconProps, InboxIcon, InfoIcon, Input, type InputProps, Label, type LabelProps, LayersIcon, LockIcon, MailIcon, MarkAsterisk, MarkCrystal, MarkDotgrid, MarkGlyph, MarkHex, type MarkProps, MarkSigil, MarkSlash, type MarkVariant, MarkZFlake, MenuIcon, MinusIcon, Monogram, type MonogramProps, MoonIcon, PlusIcon, Pulse, PulseIcon, type PulseProps, SearchIcon, SettingsIcon, SnowMark, type SnowMarkProps, SnowMonogram, type SnowMonogramProps, SnowWordmark, type SnowWordmarkProps, StarIcon, SunIcon, TerminalIcon, Textarea, type TextareaProps, TrashIcon, UserIcon, WarningIcon, XIcon, ZapIcon, markVariants };
182
+ interface CalloutProps {
183
+ variant?: "note" | "tip" | "warning" | "danger";
184
+ title?: React.ReactNode;
185
+ children: React.ReactNode;
186
+ className?: string;
187
+ style?: React.CSSProperties;
188
+ }
189
+ declare const Callout: ({ variant, title, children, className, style }: CalloutProps) => react_jsx_runtime.JSX.Element;
190
+
191
+ interface TerminalProps {
192
+ title?: React.ReactNode;
193
+ children: React.ReactNode;
194
+ className?: string;
195
+ style?: React.CSSProperties;
196
+ }
197
+ declare const Terminal: ({ title, children, className, style }: TerminalProps) => react_jsx_runtime.JSX.Element;
198
+
199
+ export { ActivityIcon, ArrowRightIcon, ArrowUpRightIcon, Avatar, type AvatarProps, AvatarStack, type AvatarStackProps, BellIcon, BoltIcon, CalendarIcon, Callout, type CalloutProps, CheckIcon, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ClockIcon, CloudIcon, CodeIcon, CubeIcon, DatabaseIcon, DiscordIcon, EditIcon, ExternalLinkIcon, EyeIcon, Field, type FieldProps, FileIcon, FilterIcon, FolderIcon, GitIcon, GithubIcon, GridIcon, HeartIcon, Icon, type IconProps, InboxIcon, InfoIcon, Input, type InputProps, Label, type LabelProps, LayersIcon, LockIcon, MailIcon, MarkAsterisk, MarkCrystal, MarkDotgrid, MarkGlyph, MarkHex, type MarkProps, MarkSigil, MarkSlash, type MarkVariant, MarkZFlake, MenuIcon, MinusIcon, Monogram, type MonogramProps, MoonIcon, PlusIcon, Pulse, PulseIcon, type PulseProps, SearchIcon, SettingsIcon, SnowMark, type SnowMarkProps, SnowMonogram, type SnowMonogramProps, SnowWordmark, type SnowWordmarkProps, StarIcon, SunIcon, Terminal, TerminalIcon, type TerminalProps, Textarea, type TextareaProps, TrashIcon, UserIcon, WarningIcon, XIcon, ZapIcon, markVariants };
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
- export { CopyButtonProps, Theme, ThemeToggleProps } from './client.js';
3
+ export { CodeBlockProps, CopyButtonProps, Theme, ThemeToggleProps } from './client.js';
4
4
 
5
5
  type Size$1 = "xs" | "sm" | "md" | "lg" | "xl" | number;
6
6
  interface SnowMarkProps {
@@ -179,4 +179,21 @@ interface FieldProps {
179
179
  }
180
180
  declare const Field: ({ label, hint, error, required, htmlFor, children, className, style, }: FieldProps) => react_jsx_runtime.JSX.Element;
181
181
 
182
- export { ActivityIcon, ArrowRightIcon, ArrowUpRightIcon, Avatar, type AvatarProps, AvatarStack, type AvatarStackProps, BellIcon, BoltIcon, CalendarIcon, CheckIcon, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ClockIcon, CloudIcon, CodeIcon, CubeIcon, DatabaseIcon, DiscordIcon, EditIcon, ExternalLinkIcon, EyeIcon, Field, type FieldProps, FileIcon, FilterIcon, FolderIcon, GitIcon, GithubIcon, GridIcon, HeartIcon, Icon, type IconProps, InboxIcon, InfoIcon, Input, type InputProps, Label, type LabelProps, LayersIcon, LockIcon, MailIcon, MarkAsterisk, MarkCrystal, MarkDotgrid, MarkGlyph, MarkHex, type MarkProps, MarkSigil, MarkSlash, type MarkVariant, MarkZFlake, MenuIcon, MinusIcon, Monogram, type MonogramProps, MoonIcon, PlusIcon, Pulse, PulseIcon, type PulseProps, SearchIcon, SettingsIcon, SnowMark, type SnowMarkProps, SnowMonogram, type SnowMonogramProps, SnowWordmark, type SnowWordmarkProps, StarIcon, SunIcon, TerminalIcon, Textarea, type TextareaProps, TrashIcon, UserIcon, WarningIcon, XIcon, ZapIcon, markVariants };
182
+ interface CalloutProps {
183
+ variant?: "note" | "tip" | "warning" | "danger";
184
+ title?: React.ReactNode;
185
+ children: React.ReactNode;
186
+ className?: string;
187
+ style?: React.CSSProperties;
188
+ }
189
+ declare const Callout: ({ variant, title, children, className, style }: CalloutProps) => react_jsx_runtime.JSX.Element;
190
+
191
+ interface TerminalProps {
192
+ title?: React.ReactNode;
193
+ children: React.ReactNode;
194
+ className?: string;
195
+ style?: React.CSSProperties;
196
+ }
197
+ declare const Terminal: ({ title, children, className, style }: TerminalProps) => react_jsx_runtime.JSX.Element;
198
+
199
+ export { ActivityIcon, ArrowRightIcon, ArrowUpRightIcon, Avatar, type AvatarProps, AvatarStack, type AvatarStackProps, BellIcon, BoltIcon, CalendarIcon, Callout, type CalloutProps, CheckIcon, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ClockIcon, CloudIcon, CodeIcon, CubeIcon, DatabaseIcon, DiscordIcon, EditIcon, ExternalLinkIcon, EyeIcon, Field, type FieldProps, FileIcon, FilterIcon, FolderIcon, GitIcon, GithubIcon, GridIcon, HeartIcon, Icon, type IconProps, InboxIcon, InfoIcon, Input, type InputProps, Label, type LabelProps, LayersIcon, LockIcon, MailIcon, MarkAsterisk, MarkCrystal, MarkDotgrid, MarkGlyph, MarkHex, type MarkProps, MarkSigil, MarkSlash, type MarkVariant, MarkZFlake, MenuIcon, MinusIcon, Monogram, type MonogramProps, MoonIcon, PlusIcon, Pulse, PulseIcon, type PulseProps, SearchIcon, SettingsIcon, SnowMark, type SnowMarkProps, SnowMonogram, type SnowMonogramProps, SnowWordmark, type SnowWordmarkProps, StarIcon, SunIcon, Terminal, TerminalIcon, type TerminalProps, Textarea, type TextareaProps, TrashIcon, UserIcon, WarningIcon, XIcon, ZapIcon, markVariants };
package/dist/index.js CHANGED
@@ -446,7 +446,17 @@ var Field = ({
446
446
  children,
447
447
  error ? /* @__PURE__ */ jsx("span", { className: "sn-error", role: "alert", children: error }) : hint ? /* @__PURE__ */ jsx("span", { className: "sn-hint", children: hint }) : null
448
448
  ] });
449
+ var cx9 = (...parts) => parts.filter(Boolean).join(" ");
450
+ var Callout = ({ variant, title, children, className, style }) => /* @__PURE__ */ jsxs("aside", { className: cx9("sn-callout", variant && `sn-callout--${variant}`, className), style, children: [
451
+ title && /* @__PURE__ */ jsx("strong", { className: "sn-callout__title", children: title }),
452
+ children
453
+ ] });
454
+ var cx10 = (...parts) => parts.filter(Boolean).join(" ");
455
+ var Terminal = ({ title, children, className, style }) => /* @__PURE__ */ jsxs("div", { className: cx10("sn-terminal", className), style, children: [
456
+ /* @__PURE__ */ jsx("div", { className: "sn-terminal__bar", children: title && /* @__PURE__ */ jsx("span", { className: "sn-terminal__title", children: title }) }),
457
+ /* @__PURE__ */ jsx("div", { className: "sn-terminal__body", children })
458
+ ] });
449
459
 
450
- export { ActivityIcon, ArrowRightIcon, ArrowUpRightIcon, Avatar, AvatarStack, BellIcon, BoltIcon, CalendarIcon, CheckIcon, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ClockIcon, CloudIcon, CodeIcon, CubeIcon, DatabaseIcon, DiscordIcon, EditIcon, ExternalLinkIcon, EyeIcon, Field, FileIcon, FilterIcon, FolderIcon, GitIcon, GithubIcon, GridIcon, HeartIcon, Icon, InboxIcon, InfoIcon, Input, Label, LayersIcon, LockIcon, MailIcon, MarkAsterisk, MarkCrystal, MarkDotgrid, MarkGlyph, MarkHex, MarkSigil, MarkSlash, MarkZFlake, MenuIcon, MinusIcon, Monogram, MoonIcon, PlusIcon, Pulse, PulseIcon, SearchIcon, SettingsIcon, SnowMark, SnowMonogram, SnowWordmark, StarIcon, SunIcon, TerminalIcon, Textarea, TrashIcon, UserIcon, WarningIcon, XIcon, ZapIcon, markVariants };
460
+ export { ActivityIcon, ArrowRightIcon, ArrowUpRightIcon, Avatar, AvatarStack, BellIcon, BoltIcon, CalendarIcon, Callout, CheckIcon, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ClockIcon, CloudIcon, CodeIcon, CubeIcon, DatabaseIcon, DiscordIcon, EditIcon, ExternalLinkIcon, EyeIcon, Field, FileIcon, FilterIcon, FolderIcon, GitIcon, GithubIcon, GridIcon, HeartIcon, Icon, InboxIcon, InfoIcon, Input, Label, LayersIcon, LockIcon, MailIcon, MarkAsterisk, MarkCrystal, MarkDotgrid, MarkGlyph, MarkHex, MarkSigil, MarkSlash, MarkZFlake, MenuIcon, MinusIcon, Monogram, MoonIcon, PlusIcon, Pulse, PulseIcon, SearchIcon, SettingsIcon, SnowMark, SnowMonogram, SnowWordmark, StarIcon, SunIcon, Terminal, TerminalIcon, Textarea, TrashIcon, UserIcon, WarningIcon, XIcon, ZapIcon, markVariants };
451
461
  //# sourceMappingURL=index.js.map
452
462
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/mark.tsx","../src/mark-variants.tsx","../src/icons.tsx","../src/avatar.tsx","../src/pulse.tsx","../src/input.tsx","../src/textarea.tsx","../src/field.tsx"],"names":["sizeStyle","sizeClass","cx","jsxs","jsx","React2","Input","React3","Textarea"],"mappings":";;;;AAIA,IAAM,SAAA,GAAY,CAAC,IAAA,KACjB,OAAO,IAAA,KAAS,QAAA,GAAW,EAAE,CAAC,gBAA0B,GAAG,CAAA,EAAG,IAAI,MAAK,GAAI,MAAA;AAE7E,IAAM,SAAA,GAAY,CAAC,IAAA,KACjB,OAAO,SAAS,QAAA,GAAW,CAAA,SAAA,EAAY,IAAI,CAAA,CAAA,GAAK,MAAA;AAElD,IAAM,EAAA,GAAK,IAAI,KAAA,KAA6C,KAAA,CAAM,OAAO,OAAO,CAAA,CAAE,KAAK,GAAG,CAAA;AASnF,IAAM,QAAA,GAAW,CAAC,EAAE,IAAA,GAAO,IAAI,KAAA,EAAO,SAAA,EAAW,OAAM,qBAC5D,IAAA;AAAA,EAAC,KAAA;AAAA,EAAA;AAAA,IACC,OAAA,EAAQ,WAAA;AAAA,IACR,IAAA,EAAK,cAAA;AAAA,IACL,WAAW,EAAA,CAAG,SAAA,EAAW,SAAA,CAAU,IAAI,GAAG,SAAS,CAAA;AAAA,IACnD,KAAA,EAAO,EAAE,GAAG,SAAA,CAAU,IAAI,CAAA,EAAG,KAAA,EAAO,GAAG,KAAA,EAAM;AAAA,IAC7C,aAAA,EAAY,MAAA;AAAA,IAEZ,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,GAAE,GAAA,EAAI,CAAA,EAAE,KAAI,KAAA,EAAM,IAAA,EAAK,QAAO,KAAA,EAAM,CAAA;AAAA,sBAC1C,GAAA,CAAC,SAAA,EAAA,EAAQ,MAAA,EAAO,6BAAA,EAA8B,CAAA;AAAA,sBAC9C,GAAA,CAAC,UAAK,CAAA,EAAE,GAAA,EAAI,GAAE,MAAA,EAAO,KAAA,EAAM,IAAA,EAAK,MAAA,EAAO,KAAA,EAAM,CAAA;AAAA,2BAC5C,GAAA,EAAA,EACC,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,SAAA,EAAA,EAAQ,QAAO,qBAAA,EAAsB,CAAA;AAAA,wBACtC,GAAA,CAAC,SAAA,EAAA,EAAQ,MAAA,EAAO,yBAAA,EAA0B,CAAA;AAAA,wBAC1C,GAAA,CAAC,SAAA,EAAA,EAAQ,MAAA,EAAO,+BAAA,EAAgC,CAAA;AAAA,wBAChD,GAAA,CAAC,SAAA,EAAA,EAAQ,MAAA,EAAO,2BAAA,EAA4B,CAAA;AAAA,wBAC5C,GAAA,CAAC,SAAA,EAAA,EAAQ,MAAA,EAAO,iCAAA,EAAkC,CAAA;AAAA,wBAClD,GAAA,CAAC,SAAA,EAAA,EAAQ,MAAA,EAAO,6BAAA,EAA8B;AAAA,OAAA,EAChD;AAAA;AAAA;AACF;AAYK,IAAM,eAAe,CAAC;AAAA,EAC3B,IAAA,GAAO,EAAA;AAAA,EACP,KAAA;AAAA,EACA,OAAA,GAAU,IAAA;AAAA,EACV,MAAA;AAAA,EACA,SAAA;AAAA,EACA;AACF,CAAA,qBACE,IAAA;AAAA,EAAC,MAAA;AAAA,EAAA;AAAA,IACC,SAAA,EAAW,EAAA,CAAG,aAAA,EAAe,SAAS,CAAA;AAAA,IACtC,KAAA,EAAO;AAAA,MACL,CAAC,oBAA8B,GAAG,CAAA,EAAG,IAAI,CAAA,EAAA,CAAA;AAAA,MACzC,KAAA;AAAA,MACA,GAAG;AAAA,KACL;AAAA,IACD,QAAA,EAAA;AAAA,MAAA,WAAA;AAAA,MAEE,OAAA,oBACC,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,kBAAA,EAAmB,KAAA,EAAO,MAAA,GAAS,EAAE,KAAA,EAAO,MAAA,EAAO,GAAI,MAAA,EAAW,QAAA,EAAA,GAAA,EAAC;AAAA;AAAA;AAEvF;AAYK,IAAM,eAAe,CAAC;AAAA,EAC3B,IAAA,GAAO,EAAA;AAAA,EACP,EAAA;AAAA,EACA,EAAA;AAAA,EACA,MAAA;AAAA,EACA,SAAA;AAAA,EACA;AACF,CAAA,qBACE,GAAA,CAAC,YAAS,IAAA,EAAY,EAAA,EAAQ,IAAQ,MAAA,EAAgB,IAAA,EAAM,QAAA,EAAU,SAAA,EAAsB,KAAA,EAAc;AAcrG,IAAM,WAAW,CAAC;AAAA,EACvB,IAAA,GAAO,EAAA;AAAA,EACP,EAAA;AAAA,EACA,EAAA;AAAA,EACA,MAAA;AAAA,EACA,IAAA,EAAM,IAAA;AAAA,EACN,UAAA,GAAa,GAAA;AAAA,EACb,SAAA;AAAA,EACA;AACF,CAAA,qBACE,GAAA;AAAA,EAAC,KAAA;AAAA,EAAA;AAAA,IACC,SAAA,EAAW,EAAA,CAAG,aAAA,EAAe,SAAS,CAAA;AAAA,IACtC,KAAA,EAAO;AAAA,MACL,CAAC,oBAA8B,GAAG,CAAA,EAAG,IAAI,CAAA,EAAA,CAAA;AAAA,MACzC,GAAI,EAAA,GAAS,EAAE,CAAC,kBAA4B,GAAG,IAAG,GAAI,IAAA;AAAA,MACtD,GAAI,EAAA,GAAS,EAAE,CAAC,kBAA4B,GAAG,IAAG,GAAI,IAAA;AAAA,MACtD,GAAI,MAAA,IAAU,IAAA,GAAO,EAAE,CAAC,sBAAgC,GAAG,CAAA,EAAG,MAAM,CAAA,EAAA,CAAA,EAAK,GAAI,IAAA;AAAA,MAC7E,GAAG;AAAA,KACL;AAAA,IAEA,QAAA,kBAAA,GAAA,CAAC,IAAA,EAAA,EAAK,IAAA,EAAM,IAAA,CAAK,KAAA,CAAM,OAAO,UAAU,CAAA,EAAG,KAAA,EAAO,EAAA,IAAM,cAAA,EAAgB;AAAA;AAC1E;AClHF,IAAMA,UAAAA,GAAY,CAAC,IAAA,KACjB,OAAO,IAAA,KAAS,QAAA,GAAW,EAAE,CAAC,gBAA0B,GAAG,CAAA,EAAG,IAAI,MAAK,GAAI,MAAA;AAE7E,IAAMC,UAAAA,GAAY,CAAC,IAAA,KACjB,OAAO,SAAS,QAAA,GAAW,CAAA,SAAA,EAAY,IAAI,CAAA,CAAA,GAAK,MAAA;AAElD,IAAMC,GAAAA,GAAK,IAAI,KAAA,KAA6C,KAAA,CAAM,OAAO,OAAO,CAAA,CAAE,KAAK,GAAG,CAAA;AAE1F,IAAM,SAAA,GAAY,CAChB,EAAE,IAAA,EAAM,KAAA,EAAO,WAAW,KAAA,EAAM,EAChC,KAAA,GAAqD,EAAC,MAClD;AAAA,EACJ,OAAA,EAAS,WAAA;AAAA,EACT,WAAWA,GAAAA,CAAG,SAAA,EAAWD,UAAAA,CAAU,IAAI,GAAG,SAAS,CAAA;AAAA,EACnD,KAAA,EAAO,EAAE,GAAGD,UAAAA,CAAU,QAAQ,EAAE,CAAA,EAAG,GAAI,KAAA,GAAQ,EAAE,KAAA,EAAM,GAAI,IAAA,EAAO,GAAG,KAAA,EAAM;AAAA,EAC3E,aAAA,EAAe,IAAA;AAAA,EACf,GAAG;AACL,CAAA,CAAA;AAEO,IAAM,SAAA,GAAY,CAAC,CAAA,qBACxBG,IAAAA,CAAC,KAAA,EAAA,EAAK,GAAG,SAAA,CAAU,CAAA,EAAG,EAAE,IAAA,EAAM,cAAA,EAAgB,CAAA,EAC5C,QAAA,EAAA;AAAA,kBAAAC,GAAAA,CAAC,UAAK,CAAA,EAAE,MAAA,EAAO,GAAE,GAAA,EAAI,KAAA,EAAM,GAAA,EAAI,MAAA,EAAO,IAAA,EAAK,CAAA;AAAA,kBAC3CA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,MAAA,EAAO,GAAE,IAAA,EAAK,KAAA,EAAM,GAAA,EAAI,MAAA,EAAO,IAAA,EAAK,CAAA;AAAA,kBAC5CD,IAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,kBAAA,EACX,QAAA,EAAA;AAAA,oBAAAC,GAAAA,CAAC,UAAK,CAAA,EAAE,MAAA,EAAO,GAAE,GAAA,EAAI,KAAA,EAAM,GAAA,EAAI,MAAA,EAAO,MAAA,EAAO,CAAA;AAAA,oBAC7CA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,MAAA,EAAO,GAAE,MAAA,EAAO,KAAA,EAAM,GAAA,EAAI,MAAA,EAAO,MAAA,EAAO;AAAA,GAAA,EAClD,CAAA;AAAA,kBACAD,IAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,mBAAA,EACX,QAAA,EAAA;AAAA,oBAAAC,GAAAA,CAAC,UAAK,CAAA,EAAE,MAAA,EAAO,GAAE,GAAA,EAAI,KAAA,EAAM,GAAA,EAAI,MAAA,EAAO,MAAA,EAAO,CAAA;AAAA,oBAC7CA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,MAAA,EAAO,GAAE,MAAA,EAAO,KAAA,EAAM,GAAA,EAAI,MAAA,EAAO,MAAA,EAAO;AAAA,GAAA,EAClD;AAAA,CAAA,EACF;AAGK,IAAM,WAAA,GAAc,CAAC,CAAA,qBAC1BD,KAAC,KAAA,EAAA,EAAK,GAAG,UAAU,CAAA,EAAG,EAAE,MAAM,MAAA,EAAQ,MAAA,EAAQ,gBAAgB,WAAA,EAAa,GAAA,EAAK,gBAAgB,OAAA,EAAS,aAAA,EAAe,QAAA,EAAU,CAAA,EAChI,QAAA,EAAA;AAAA,kBAAAC,GAAAA,CAAC,SAAA,EAAA,EAAQ,MAAA,EAAO,wCAAA,EAAyC,CAAA;AAAA,kBACzDA,GAAAA,CAAC,SAAA,EAAA,EAAQ,MAAA,EAAO,wBAAA,EAAyB,CAAA;AAAA,kBACzCA,GAAAA,CAAC,MAAA,EAAA,EAAK,EAAA,EAAG,IAAA,EAAK,IAAG,GAAA,EAAI,EAAA,EAAG,IAAA,EAAK,EAAA,EAAG,GAAA,EAAI,CAAA;AAAA,kBACpCA,GAAAA,CAAC,MAAA,EAAA,EAAK,EAAA,EAAG,IAAA,EAAK,IAAG,IAAA,EAAK,EAAA,EAAG,IAAA,EAAK,EAAA,EAAG,IAAA,EAAK;AAAA,CAAA,EACxC;AAGK,IAAM,UAAA,GAAa,CAAC,CAAA,qBACzBD,IAAAA,CAAC,KAAA,EAAA,EAAK,GAAG,SAAA,CAAU,CAAA,EAAG,EAAE,IAAA,EAAM,cAAA,EAAgB,CAAA,EAC5C,QAAA,EAAA;AAAA,kBAAAC,GAAAA,CAAC,SAAA,EAAA,EAAQ,MAAA,EAAO,oDAAA,EAAqD,CAAA;AAAA,kBACrEA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,GAAA,EAAI,GAAE,IAAA,EAAK,KAAA,EAAM,GAAA,EAAI,MAAA,EAAO,GAAA,EAAI,CAAA;AAAA,kBACxCA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,IAAA,EAAK,GAAE,IAAA,EAAK,KAAA,EAAM,GAAA,EAAI,MAAA,EAAO,GAAA,EAAI;AAAA,CAAA,EAC3C;AAGK,IAAM,YAAA,GAAe,CAAC,CAAA,qBAC3BD,IAAAA,CAAC,KAAA,EAAA,EAAK,GAAG,SAAA,CAAU,CAAA,EAAG,EAAE,IAAA,EAAM,cAAA,EAAgB,CAAA,EAC5C,QAAA,EAAA;AAAA,kBAAAC,GAAAA,CAAC,QAAA,EAAA,EAAO,EAAA,EAAG,IAAA,EAAK,EAAA,EAAG,IAAA,EAAK,CAAA,EAAE,KAAA,EAAM,IAAA,EAAK,MAAA,EAAO,MAAA,EAAO,cAAA,EAAe,aAAY,GAAA,EAAI,CAAA;AAAA,EACjF,CAAC,CAAA,EAAG,EAAA,EAAI,GAAG,EAAE,GAAA,CAAI,CAAC,GAAA,EAAK,CAAA,qBACtBD,IAAAA,CAAC,GAAA,EAAA,EAAU,SAAA,EAAW,CAAA,OAAA,EAAU,GAAG,CAAA,OAAA,CAAA,EACjC,QAAA,EAAA;AAAA,oBAAAC,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,MAAA,EAAO,CAAA,EAAE,GAAA,EAAI,KAAA,EAAM,KAAA,EAAM,MAAA,EAAO,GAAA,EAAI,EAAA,EAAG,KAAA,EAAM,CAAA;AAAA,oBACrDA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,MAAA,EAAO,CAAA,EAAE,IAAA,EAAK,KAAA,EAAM,KAAA,EAAM,MAAA,EAAO,GAAA,EAAI,EAAA,EAAG,KAAA,EAAM;AAAA,GAAA,EAAA,EAFhD,CAGR,CACD;AAAA,CAAA,EACH;AAGK,IAAM,SAAA,GAAY,CAAC,CAAA,qBACxBD,KAAC,KAAA,EAAA,EAAK,GAAG,UAAU,CAAA,EAAG,EAAE,MAAM,MAAA,EAAQ,MAAA,EAAQ,gBAAgB,WAAA,EAAa,GAAA,EAAK,eAAe,QAAA,EAAU,cAAA,EAAgB,OAAA,EAAS,CAAA,EAChI,QAAA,EAAA;AAAA,kBAAAC,GAAAA,CAAC,UAAK,EAAA,EAAG,IAAA,EAAK,IAAG,GAAA,EAAI,EAAA,EAAG,IAAA,EAAK,EAAA,EAAG,IAAA,EAAK,CAAA;AAAA,kBACrCA,GAAAA,CAAC,MAAA,EAAA,EAAK,EAAA,EAAG,GAAA,EAAI,IAAG,IAAA,EAAK,EAAA,EAAG,IAAA,EAAK,EAAA,EAAG,IAAA,EAAK,CAAA;AAAA,kBACrCA,GAAAA,CAAC,MAAA,EAAA,EAAK,EAAA,EAAG,IAAA,EAAK,IAAG,IAAA,EAAK,EAAA,EAAG,GAAA,EAAI,EAAA,EAAG,IAAA,EAAK,CAAA;AAAA,kBACrCA,GAAAA,CAAC,MAAA,EAAA,EAAK,EAAA,EAAG,KAAI,EAAA,EAAG,IAAA,EAAK,EAAA,EAAG,IAAA,EAAK,EAAA,EAAG,GAAA,EAAI,MAAA,EAAO,cAAA,EAAe,aAAY,GAAA,EAAI;AAAA,CAAA,EAC5E;AAGK,IAAM,YAAY,CAAC,CAAA,qBACxBA,GAAAA,CAAC,KAAA,EAAA,EAAK,GAAG,SAAA,CAAU,CAAA,EAAG,EAAE,IAAA,EAAM,cAAA,EAAgB,CAAA,EAC5C,QAAA,kBAAAA,IAAC,MAAA,EAAA,EAAK,CAAA,EAAE,oDAAmD,CAAA,EAC7D;AAGK,IAAM,OAAA,GAAU,CAAC,CAAA,KAAiB;AACvC,EAAA,MAAM,KAAW,KAAA,CAAA,KAAA,EAAM;AACvB,EAAA,uBACED,IAAAA,CAAC,KAAA,EAAA,EAAK,GAAG,SAAA,CAAU,CAAC,CAAA,EAClB,QAAA,EAAA;AAAA,oBAAAC,GAAAA,CAAC,MAAA,EAAA,EACC,QAAA,kBAAAD,IAAAA,CAAC,UAAK,EAAA,EACJ,QAAA,EAAA;AAAA,sBAAAC,IAAC,MAAA,EAAA,EAAK,KAAA,EAAM,MAAK,MAAA,EAAO,IAAA,EAAK,MAAK,OAAA,EAAQ,CAAA;AAAA,sBAC1CD,IAAAA,CAAC,GAAA,EAAA,EAAE,IAAA,EAAK,OAAA,EACN,QAAA,EAAA;AAAA,wBAAAC,GAAAA,CAAC,UAAK,CAAA,EAAE,MAAA,EAAO,GAAE,GAAA,EAAI,KAAA,EAAM,GAAA,EAAI,MAAA,EAAO,IAAA,EAAK,CAAA;AAAA,wBAC3CA,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,kBAAA,EAAmB,0BAAAA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,MAAA,EAAO,GAAE,GAAA,EAAI,KAAA,EAAM,GAAA,EAAI,MAAA,EAAO,MAAK,CAAA,EAAE,CAAA;AAAA,wBAC7EA,GAAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,mBAAA,EAAoB,0BAAAA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,MAAA,EAAO,GAAE,GAAA,EAAI,KAAA,EAAM,GAAA,EAAI,MAAA,EAAO,MAAK,CAAA,EAAE;AAAA,OAAA,EAChF;AAAA,KAAA,EACF,CAAA,EACF,CAAA;AAAA,oBACAA,GAAAA,CAAC,SAAA,EAAA,EAAQ,MAAA,EAAO,wCAAA,EAAyC,MAAK,cAAA,EAAe,IAAA,EAAM,CAAA,KAAA,EAAQ,EAAE,CAAA,CAAA,CAAA,EAAK;AAAA,GAAA,EACpG,CAAA;AAEJ;AAEO,IAAM,WAAA,GAAc,CAAC,CAAA,KAAiB;AAC3C,EAAA,MAAM,IAAA,GAA6B,iBAACA,GAAAA,CAAC,YAAe,EAAA,EAAG,IAAA,EAAK,EAAA,EAAG,IAAA,EAAK,CAAA,EAAE,GAAA,EAAI,IAAA,EAAK,cAAA,EAAA,EAA/B,GAA8C,CAAE,CAAA;AAChG,EAAA,KAAA,IAAS,CAAA,GAAI,CAAA,EAAG,CAAA,GAAI,CAAA,EAAG,CAAA,EAAA,EAAK;AAC1B,IAAA,MAAM,GAAA,GAAO,CAAA,GAAI,EAAA,GAAK,IAAA,CAAK,EAAA,GAAM,GAAA;AACjC,IAAA,KAAA,IAAS,CAAA,GAAI,CAAA,EAAG,CAAA,IAAK,CAAA,EAAG,CAAA,EAAA,EAAK;AAC3B,MAAA,MAAM,IAAI,EAAA,GAAK,IAAA,CAAK,GAAA,CAAI,GAAG,IAAI,CAAA,GAAI,CAAA;AACnC,MAAA,MAAM,IAAI,EAAA,GAAK,IAAA,CAAK,GAAA,CAAI,GAAG,IAAI,CAAA,GAAI,CAAA;AACnC,MAAA,MAAM,MAAM,CAAA,KAAM,CAAA,GAAI,GAAA,GAAM,CAAA,KAAM,IAAI,GAAA,GAAM,CAAA;AAC5C,MAAA,IAAA,CAAK,qBAAKA,GAAAA,CAAC,QAAA,EAAA,EAAyB,EAAA,EAAI,GAAG,EAAA,EAAI,CAAA,EAAG,CAAA,EAAG,GAAA,EAAK,MAAK,cAAA,EAAA,EAAxC,CAAA,EAAG,CAAC,CAAA,CAAA,EAAI,CAAC,EAA8C,CAAE,CAAA;AAAA,IAClF;AAAA,EACF;AACA,EAAA,uBAAOA,GAAAA,CAAC,KAAA,EAAA,EAAK,GAAG,SAAA,CAAU,CAAC,GAAI,QAAA,EAAA,IAAA,EAAK,CAAA;AACtC;AAUO,IAAM,YAAA,GAA8B;AAAA,EACzC,EAAE,EAAA,EAAI,SAAA,EAAY,IAAA,EAAM,SAAA,EAAc,KAAK,oCAAA,EAAsC,IAAA,EAAM,WAAA,EAAc,UAAA,EAAY,aAAA,EAAc;AAAA,EAC/H,EAAE,EAAA,EAAI,OAAA,EAAY,IAAA,EAAM,OAAA,EAAc,KAAK,aAAA,EAAsC,IAAA,EAAM,SAAA,EAAc,UAAA,EAAY,WAAA,EAAY;AAAA,EAC7H,EAAE,EAAA,EAAI,QAAA,EAAY,IAAA,EAAM,SAAA,EAAc,KAAK,oBAAA,EAAsC,IAAA,EAAM,UAAA,EAAc,UAAA,EAAY,YAAA,EAAa;AAAA,EAC9H,EAAE,EAAA,EAAI,UAAA,EAAY,IAAA,EAAM,UAAA,EAAc,KAAK,0BAAA,EAAsC,IAAA,EAAM,YAAA,EAAc,UAAA,EAAY,cAAA,EAAe;AAAA,EAChI,EAAE,EAAA,EAAI,OAAA,EAAY,IAAA,EAAM,YAAA,EAAc,KAAK,0BAAA,EAAsC,IAAA,EAAM,SAAA,EAAc,UAAA,EAAY,WAAA,EAAY;AAAA,EAC7H,EAAE,EAAA,EAAI,KAAA,EAAY,IAAA,EAAM,SAAA,EAAc,KAAK,yBAAA,EAAsC,IAAA,EAAM,OAAA,EAAc,UAAA,EAAY,SAAA,EAAU;AAAA,EAC3H,EAAE,EAAA,EAAI,SAAA,EAAY,IAAA,EAAM,UAAA,EAAc,KAAK,uBAAA,EAAsC,IAAA,EAAM,WAAA,EAAc,UAAA,EAAY,aAAA,EAAc;AAAA,EAC/H,EAAE,EAAA,EAAI,OAAA,EAAY,IAAA,EAAM,SAAA,EAAc,KAAK,yBAAA,EAAsC,IAAA,EAAM,SAAA,EAAc,UAAA,EAAY,WAAA;AACnH;ACzIA,IAAMF,GAAAA,GAAK,IAAI,KAAA,KAA6C,KAAA,CAAM,OAAO,OAAO,CAAA,CAAE,KAAK,GAAG,CAAA;AAWnF,IAAM,OAAO,CAAC;AAAA,EACnB,IAAA,GAAO,EAAA;AAAA,EACP,MAAA,GAAS,GAAA;AAAA,EACT,KAAA,GAAQ,cAAA;AAAA,EACR,SAAA;AAAA,EACA,KAAA;AAAA,EACA;AACF,CAAA,qBACEE,GAAAA;AAAA,EAAC,KAAA;AAAA,EAAA;AAAA,IACC,KAAA,EAAO,IAAA;AAAA,IACP,MAAA,EAAQ,IAAA;AAAA,IACR,OAAA,EAAQ,WAAA;AAAA,IACR,IAAA,EAAK,MAAA;AAAA,IACL,MAAA,EAAQ,KAAA;AAAA,IACR,WAAA,EAAa,MAAA;AAAA,IACb,aAAA,EAAc,OAAA;AAAA,IACd,cAAA,EAAe,OAAA;AAAA,IACf,SAAA,EAAWF,GAAAA,CAAG,SAAA,EAAW,SAAS,CAAA;AAAA,IAClC,KAAA;AAAA,IACA,aAAA,EAAY,MAAA;AAAA,IAEX;AAAA;AACH;AAKK,IAAM,aAAa,CAAC,CAAA,qBAASC,IAAAA,CAAC,IAAA,EAAA,EAAM,GAAG,CAAA,EAAG,QAAA,EAAA;AAAA,kBAAAC,IAAC,QAAA,EAAA,EAAO,EAAA,EAAG,MAAK,EAAA,EAAG,IAAA,EAAK,GAAE,GAAA,EAAI,CAAA;AAAA,kBAAEA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,gBAAA,EAAiB;AAAA,CAAA,EAAE;AACrG,IAAM,eAAe,CAAC,CAAA,qBAASD,IAAAA,CAAC,IAAA,EAAA,EAAM,GAAG,CAAA,EAAG,QAAA,EAAA;AAAA,kBAAAC,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,cAAA,EAAe,CAAA;AAAA,kBAAEA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,UAAA,EAAW,CAAA;AAAA,kBAAEA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,KAAA,EAAM,CAAA,EAAE,GAAA,EAAI,KAAA,EAAM,IAAA,EAAK,MAAA,EAAO,IAAA,EAAK,EAAA,EAAG,KAAA,EAAM;AAAA,CAAA,EAAE;AAChJ,IAAM,WAAW,CAAC,CAAA,qBAASD,IAAAA,CAAC,IAAA,EAAA,EAAM,GAAG,CAAA,EAAG,QAAA,EAAA;AAAA,kBAAAC,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,cAAA,EAAe,CAAA;AAAA,kBAAEA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,eAAA,EAAgB,CAAA;AAAA,kBAAEA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,YAAA,EAAa;AAAA,CAAA,EAAE;AAClH,IAAM,UAAU,CAAC,CAAA,qBAASD,IAAAA,CAAC,IAAA,EAAA,EAAM,GAAG,CAAA,EAAG,QAAA,EAAA;AAAA,kBAAAC,IAAC,QAAA,EAAA,EAAO,EAAA,EAAG,KAAI,EAAA,EAAG,GAAA,EAAI,GAAE,KAAA,EAAM,CAAA;AAAA,kBAAEA,IAAC,QAAA,EAAA,EAAO,EAAA,EAAG,MAAK,EAAA,EAAG,IAAA,EAAK,GAAE,KAAA,EAAM,CAAA;AAAA,kBAAEA,IAAC,QAAA,EAAA,EAAO,EAAA,EAAG,KAAI,EAAA,EAAG,IAAA,EAAK,GAAE,KAAA,EAAM,CAAA;AAAA,kBAAEA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,UAAA,EAAW,CAAA;AAAA,kBAAEA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,oCAAA,EAAqC;AAAA,CAAA,EAAE;AAC9M,IAAM,WAAW,CAAC,CAAA,qBAASD,IAAAA,CAAC,IAAA,EAAA,EAAM,GAAG,CAAA,EAAG,QAAA,EAAA;AAAA,kBAAAC,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,UAAA,EAAW,CAAA;AAAA,kBAAEA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,UAAA,EAAW;AAAA,CAAA,EAAE;AAClF,IAAM,SAAA,GAAY,CAAC,CAAA,qBAASA,GAAAA,CAAC,IAAA,EAAA,EAAM,GAAG,CAAA,EAAG,QAAA,kBAAAA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,YAAW,CAAA,EAAE;AAC9D,IAAM,SAAA,GAAY,CAAC,CAAA,qBAASA,GAAAA,CAAC,IAAA,EAAA,EAAM,GAAG,CAAA,EAAG,QAAA,kBAAAA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,kBAAiB,CAAA,EAAE;AACpE,IAAM,QAAQ,CAAC,CAAA,qBAASD,IAAAA,CAAC,IAAA,EAAA,EAAM,GAAG,CAAA,EAAG,QAAA,EAAA;AAAA,kBAAAC,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,YAAA,EAAa,CAAA;AAAA,kBAAEA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,aAAA,EAAc;AAAA,CAAA,EAAE;AACpF,IAAM,eAAA,GAAkB,CAAC,CAAA,qBAASA,GAAAA,CAAC,IAAA,EAAA,EAAM,GAAG,CAAA,EAAG,QAAA,kBAAAA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,gBAAe,CAAA,EAAE;AACxE,IAAM,gBAAA,GAAmB,CAAC,CAAA,qBAASA,GAAAA,CAAC,IAAA,EAAA,EAAM,GAAG,CAAA,EAAG,QAAA,kBAAAA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,gBAAe,CAAA,EAAE;AACzE,IAAM,eAAA,GAAkB,CAAC,CAAA,qBAASA,GAAAA,CAAC,IAAA,EAAA,EAAM,GAAG,CAAA,EAAG,QAAA,kBAAAA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,iBAAgB,CAAA,EAAE;AACzE,IAAM,iBAAiB,CAAC,CAAA,qBAASD,IAAAA,CAAC,IAAA,EAAA,EAAM,GAAG,CAAA,EAAG,QAAA,EAAA;AAAA,kBAAAC,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,UAAA,EAAW,CAAA;AAAA,kBAAEA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,eAAA,EAAgB;AAAA,CAAA,EAAE;AAC7F,IAAM,mBAAmB,CAAC,CAAA,qBAASD,IAAAA,CAAC,IAAA,EAAA,EAAM,GAAG,CAAA,EAAG,QAAA,EAAA;AAAA,kBAAAC,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,YAAA,EAAa,CAAA;AAAA,kBAAEA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,UAAA,EAAW;AAAA,CAAA,EAAE;AAC5F,IAAM,mBAAmB,CAAC,CAAA,qBAASD,IAAAA,CAAC,IAAA,EAAA,EAAM,GAAG,CAAA,EAAG,QAAA,EAAA;AAAA,kBAAAC,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,WAAA,EAAY,CAAA;AAAA,kBAAEA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,aAAA,EAAc,CAAA;AAAA,kBAAEA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,0DAAA,EAA2D;AAAA,CAAA,EAAE;AACnK,IAAM,eAAe,CAAC,CAAA,qBAASD,IAAAA,CAAC,IAAA,EAAA,EAAM,GAAG,CAAA,EAAG,QAAA,EAAA;AAAA,kBAAAC,IAAC,QAAA,EAAA,EAAO,EAAA,EAAG,MAAK,EAAA,EAAG,IAAA,EAAK,GAAE,GAAA,EAAI,CAAA;AAAA,kBAAEA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,mnBAAA,EAAonB;AAAA,CAAA,EAAE;AAC1sB,IAAM,WAAW,CAAC,CAAA,qBAASD,IAAAA,CAAC,IAAA,EAAA,EAAM,GAAG,CAAA,EAAG,QAAA,EAAA;AAAA,kBAAAC,IAAC,QAAA,EAAA,EAAO,EAAA,EAAG,MAAK,EAAA,EAAG,GAAA,EAAI,GAAE,GAAA,EAAI,CAAA;AAAA,kBAAEA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,0CAAA,EAA2C;AAAA,CAAA,EAAE;AAC5H,IAAM,UAAA,GAAa,CAAC,CAAA,qBAASA,GAAAA,CAAC,IAAA,EAAA,EAAM,GAAG,CAAA,EAAG,QAAA,kBAAAA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,+GAA8G,CAAA,EAAE;AAClK,IAAM,WAAW,CAAC,CAAA,qBAASD,IAAAA,CAAC,IAAA,EAAA,EAAM,GAAG,CAAA,EAAG,QAAA,EAAA;AAAA,kBAAAC,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,4DAAA,EAA6D,CAAA;AAAA,kBAAEA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,WAAA,EAAY;AAAA,CAAA,EAAE;AACrI,IAAM,WAAW,CAAC,CAAA,qBAASD,IAAAA,CAAC,IAAA,EAAA,EAAM,GAAG,CAAA,EAAG,QAAA,EAAA;AAAA,kBAAAC,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,uCAAA,EAAwC,CAAA;AAAA,kBAAEA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,sBAAA,EAAuB;AAAA,CAAA,EAAE;AAC3H,IAAM,YAAA,GAAe,CAAC,CAAA,qBAASA,GAAAA,CAAC,IAAA,EAAA,EAAM,GAAG,CAAA,EAAG,QAAA,kBAAAA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,0BAAyB,CAAA,EAAE;AAC/E,IAAM,SAAA,GAAY,CAAC,CAAA,qBAASA,GAAAA,CAAC,IAAA,EAAA,EAAM,GAAG,CAAA,EAAG,QAAA,kBAAAA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,yBAAwB,CAAA,EAAE;AAC3E,IAAM,WAAW,CAAC,CAAA,qBAASD,IAAAA,CAAC,IAAA,EAAA,EAAM,GAAG,CAAA,EAAG,QAAA,EAAA;AAAA,kBAAAC,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,0BAAA,EAA2B,CAAA;AAAA,kBAAEA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,cAAA,EAAe,CAAA;AAAA,kBAAEA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,WAAA,EAAY;AAAA,CAAA,EAAE;AAC5H,IAAM,aAAa,CAAC,CAAA,qBAASD,IAAAA,CAAC,IAAA,EAAA,EAAM,GAAG,CAAA,EAAG,QAAA,EAAA;AAAA,kBAAAC,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,oBAAA,EAAqB,CAAA;AAAA,kBAAEA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,eAAA,EAAgB,CAAA;AAAA,kBAAEA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,eAAA,EAAgB;AAAA,CAAA,EAAE;AAC7H,IAAM,eAAe,CAAC,CAAA,qBAASD,IAAAA,CAAC,IAAA,EAAA,EAAM,GAAG,CAAA,EAAG,QAAA,EAAA;AAAA,kBAAAC,GAAAA,CAAC,aAAQ,EAAA,EAAG,IAAA,EAAK,IAAG,GAAA,EAAI,EAAA,EAAG,GAAA,EAAI,EAAA,EAAG,GAAA,EAAI,CAAA;AAAA,kBAAEA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,oCAAA,EAAqC,CAAA;AAAA,kBAAEA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,sCAAA,EAAuC;AAAA,CAAA,EAAE;AACpL,IAAM,SAAA,GAAY,CAAC,CAAA,qBAASA,GAAAA,CAAC,IAAA,EAAA,EAAM,GAAG,CAAA,EAAG,QAAA,kBAAAA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,4DAA2D,CAAA,EAAE;AAC9G,IAAM,UAAU,CAAC,CAAA,qBAASD,IAAAA,CAAC,IAAA,EAAA,EAAM,GAAG,CAAA,EAAG,QAAA,EAAA;AAAA,kBAAAC,IAAC,QAAA,EAAA,EAAO,EAAA,EAAG,MAAK,EAAA,EAAG,IAAA,EAAK,GAAE,GAAA,EAAI,CAAA;AAAA,kBAAEA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,oGAAA,EAAqG;AAAA,CAAA,EAAE;AACtL,IAAM,QAAA,GAAW,CAAC,CAAA,qBAASA,GAAAA,CAAC,IAAA,EAAA,EAAM,GAAG,CAAA,EAAG,QAAA,kBAAAA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,+CAA8C,CAAA,EAAE;AAChG,IAAM,UAAA,GAAa,CAAC,CAAA,qBAASA,GAAAA,CAAC,IAAA,EAAA,EAAM,GAAG,CAAA,EAAG,QAAA,kBAAAA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,iOAAgO,CAAA,EAAE;AACpR,IAAM,WAAW,CAAC,CAAA,qBAASD,IAAAA,CAAC,IAAA,EAAA,EAAM,GAAG,CAAA,EAAG,QAAA,EAAA;AAAA,kBAAAC,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,GAAA,EAAI,CAAA,EAAE,GAAA,EAAI,KAAA,EAAM,IAAA,EAAK,MAAA,EAAO,IAAA,EAAK,EAAA,EAAG,KAAA,EAAM,CAAA;AAAA,kBAAEA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,sBAAA,EAAuB;AAAA,CAAA,EAAE;AAC7H,IAAM,UAAU,CAAC,CAAA,qBAASD,IAAAA,CAAC,IAAA,EAAA,EAAM,GAAG,CAAA,EAAG,QAAA,EAAA;AAAA,kBAAAC,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,kDAAA,EAAmD,CAAA;AAAA,kBAAEA,IAAC,QAAA,EAAA,EAAO,EAAA,EAAG,MAAK,EAAA,EAAG,IAAA,EAAK,GAAE,GAAA,EAAI;AAAA,CAAA,EAAE;AACpI,IAAM,WAAW,CAAC,CAAA,qBAASD,IAAAA,CAAC,IAAA,EAAA,EAAM,GAAG,CAAA,EAAG,QAAA,EAAA;AAAA,kBAAAC,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,GAAA,EAAI,CAAA,EAAE,IAAA,EAAK,KAAA,EAAM,IAAA,EAAK,MAAA,EAAO,IAAA,EAAK,EAAA,EAAG,KAAA,EAAM,CAAA;AAAA,kBAAEA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,yBAAA,EAA0B;AAAA,CAAA,EAAE;AACjI,IAAM,QAAA,GAAW,CAAC,CAAA,qBAASA,GAAAA,CAAC,IAAA,EAAA,EAAM,GAAG,CAAA,EAAG,QAAA,kBAAAA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,8BAA6B,CAAA,EAAE;AAC/E,IAAM,QAAA,GAAW,CAAC,CAAA,qBAASA,GAAAA,CAAC,IAAA,EAAA,EAAM,GAAG,CAAA,EAAG,QAAA,kBAAAA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,0EAAyE,CAAA,EAAE;AAC3H,IAAM,SAAA,GAAY,CAAC,CAAA,qBAASA,GAAAA,CAAC,IAAA,EAAA,EAAM,GAAG,CAAA,EAAG,QAAA,kBAAAA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,uEAAsE,CAAA,EAAE;AACzH,IAAM,YAAY,CAAC,CAAA,qBAASD,IAAAA,CAAC,IAAA,EAAA,EAAM,GAAG,CAAA,EAAG,QAAA,EAAA;AAAA,kBAAAC,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,SAAA,EAAU,CAAA;AAAA,kBAAEA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,wCAAA,EAAyC,CAAA;AAAA,kBAAEA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,0CAAA,EAA2C,CAAA;AAAA,kBAAEA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,kBAAA,EAAmB;AAAA,CAAA,EAAE;AAClM,IAAM,WAAW,CAAC,CAAA,qBAASD,IAAAA,CAAC,IAAA,EAAA,EAAM,GAAG,CAAA,EAAG,QAAA,EAAA;AAAA,kBAAAC,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,4DAAA,EAA6D,CAAA;AAAA,kBAAEA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,+BAAA,EAAgC;AAAA,CAAA,EAAE;AACzJ,IAAM,UAAA,GAAa,CAAC,CAAA,qBAASA,GAAAA,CAAC,IAAA,EAAA,EAAM,GAAG,CAAA,EAAG,QAAA,kBAAAA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,2BAA0B,CAAA,EAAE;AAC9E,IAAM,QAAA,GAAW,CAAC,CAAA,qBAASA,GAAAA,CAAC,IAAA,EAAA,EAAM,GAAG,CAAA,EAAG,QAAA,kBAAAA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,2BAA0B,CAAA,EAAE;AAC5E,IAAM,WAAW,CAAC,CAAA,qBAASD,IAAAA,CAAC,IAAA,EAAA,EAAM,GAAG,CAAA,EAAG,QAAA,EAAA;AAAA,kBAAAC,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,GAAA,EAAI,CAAA,EAAE,GAAA,EAAI,KAAA,EAAM,GAAA,EAAI,MAAA,EAAO,GAAA,EAAI,EAAA,EAAG,GAAA,EAAI,CAAA;AAAA,kBAAEA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,IAAA,EAAK,CAAA,EAAE,GAAA,EAAI,KAAA,EAAM,GAAA,EAAI,MAAA,EAAO,GAAA,EAAI,EAAA,EAAG,GAAA,EAAI,CAAA;AAAA,kBAAEA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,GAAA,EAAI,CAAA,EAAE,IAAA,EAAK,KAAA,EAAM,GAAA,EAAI,MAAA,EAAO,GAAA,EAAI,EAAA,EAAG,GAAA,EAAI,CAAA;AAAA,kBAAEA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,IAAA,EAAK,CAAA,EAAE,IAAA,EAAK,KAAA,EAAM,GAAA,EAAI,MAAA,EAAO,GAAA,EAAI,EAAA,EAAG,GAAA,EAAI;AAAA,CAAA,EAAE;AAC5O,IAAM,YAAY,CAAC,CAAA,qBAASD,IAAAA,CAAC,IAAA,EAAA,EAAM,GAAG,CAAA,EAAG,QAAA,EAAA;AAAA,kBAAAC,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,2BAAA,EAA4B,CAAA;AAAA,kBAAEA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,iDAAA,EAAkD;AAAA,CAAA,EAAE;AAC3I,IAAM,eAAe,CAAC,CAAA,qBAASD,IAAAA,CAAC,IAAA,EAAA,EAAM,GAAG,CAAA,EAAG,QAAA,EAAA;AAAA,kBAAAC,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,GAAA,EAAI,CAAA,EAAE,GAAA,EAAI,KAAA,EAAM,IAAA,EAAK,MAAA,EAAO,IAAA,EAAK,EAAA,EAAG,KAAA,EAAM,CAAA;AAAA,kBAAEA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,uBAAA,EAAwB;AAAA,CAAA,EAAE;AAClI,IAAM,YAAY,CAAC,CAAA,qBAASD,IAAAA,CAAC,IAAA,EAAA,EAAM,GAAG,CAAA,EAAG,QAAA,EAAA;AAAA,kBAAAC,IAAC,QAAA,EAAA,EAAO,EAAA,EAAG,MAAK,EAAA,EAAG,IAAA,EAAK,GAAE,GAAA,EAAI,CAAA;AAAA,kBAAEA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,aAAA,EAAc;AAAA,CAAA,EAAE;AACjG,IAAM,WAAW,CAAC,CAAA,qBAASD,IAAAA,CAAC,IAAA,EAAA,EAAM,GAAG,CAAA,EAAG,QAAA,EAAA;AAAA,kBAAAC,IAAC,QAAA,EAAA,EAAO,EAAA,EAAG,MAAK,EAAA,EAAG,IAAA,EAAK,GAAE,GAAA,EAAI,CAAA;AAAA,kBAAEA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,UAAA,EAAW,CAAA;AAAA,kBAAEA,GAAAA,CAAC,QAAA,EAAA,EAAO,EAAA,EAAG,IAAA,EAAK,IAAG,GAAA,EAAI,CAAA,EAAE,KAAA,EAAM,IAAA,EAAK,cAAA,EAAe;AAAA,CAAA,EAAE;AAClJ,IAAM,cAAc,CAAC,CAAA,qBAASD,IAAAA,CAAC,IAAA,EAAA,EAAM,GAAG,CAAA,EAAG,QAAA,EAAA;AAAA,kBAAAC,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,sEAAA,EAAuE,CAAA;AAAA,kBAAEA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,SAAA,EAAU,CAAA;AAAA,kBAAEA,GAAAA,CAAC,QAAA,EAAA,EAAO,EAAA,EAAG,IAAA,EAAK,IAAG,IAAA,EAAK,CAAA,EAAE,KAAA,EAAM,IAAA,EAAK,cAAA,EAAe;AAAA,CAAA,EAAE;AACtM,IAAM,OAAA,GAAU,CAAC,CAAA,qBAASA,GAAAA,CAAC,IAAA,EAAA,EAAM,GAAG,CAAA,EAAG,QAAA,kBAAAA,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,8BAA6B,CAAA,EAAE;AAC9E,IAAM,cAAc,CAAC,CAAA,qBAASD,IAAAA,CAAC,IAAA,EAAA,EAAM,GAAG,CAAA,EAAG,QAAA,EAAA;AAAA,kBAAAC,GAAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,6RAAA,EAA8R,CAAA;AAAA,kBAAEA,GAAAA,CAAC,QAAA,EAAA,EAAO,EAAA,EAAG,GAAA,EAAI,EAAA,EAAG,MAAA,EAAO,CAAA,EAAE,KAAA,EAAM,IAAA,EAAK,cAAA,EAAe,MAAA,EAAO,MAAA,EAAO,CAAA;AAAA,kBAAEA,GAAAA,CAAC,QAAA,EAAA,EAAO,EAAA,EAAG,IAAA,EAAK,EAAA,EAAG,MAAA,EAAO,CAAA,EAAE,KAAA,EAAM,IAAA,EAAK,cAAA,EAAe,MAAA,EAAO,MAAA,EAAO;AAAA,CAAA,EAAE;ACnFre,IAAMF,GAAAA,GAAK,IAAI,KAAA,KAA6C,KAAA,CAAM,OAAO,OAAO,CAAA,CAAE,KAAK,GAAG,CAAA;AAa1F,IAAM,YAAA,GAAe,CAAC,IAAA,KAAkB;AACtC,EAAA,IAAI,CAAC,MAAM,OAAO,EAAA;AAClB,EAAA,MAAM,KAAA,GAAQ,KAAK,IAAA,EAAK,CAAE,MAAM,KAAK,CAAA,CAAE,KAAA,CAAM,CAAA,EAAG,CAAC,CAAA;AACjD,EAAA,OAAO,KAAA,CAAM,GAAA,CAAI,CAAC,CAAA,KAAM,CAAA,CAAE,CAAC,CAAA,EAAG,WAAA,EAAY,IAAK,EAAE,CAAA,CAAE,IAAA,CAAK,EAAE,CAAA;AAC5D,CAAA;AAEO,IAAM,SAAS,CAAC;AAAA,EACrB,GAAA;AAAA,EACA,GAAA;AAAA,EACA,IAAA;AAAA,EACA,IAAA,GAAO,EAAA;AAAA,EACP,KAAA,GAAQ,QAAA;AAAA,EACR,IAAA,GAAO,KAAA;AAAA,EACP,KAAA;AAAA,EACA;AACF,CAAA,KAAmB;AACjB,EAAA,MAAM,QAAA,GAAW,aAAa,IAAI,CAAA;AAClC,EAAA,uBACEE,GAAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAWF,GAAAA;AAAA,QACT,WAAA;AAAA,QACA,UAAU,QAAA,IAAY,mBAAA;AAAA,QACtB,IAAA,IAAQ,iBAAA;AAAA,QACR;AAAA,OACF;AAAA,MACA,KAAA,EAAO,EAAE,CAAC,kBAA4B,GAAG,CAAA,EAAG,IAAI,CAAA,EAAA,CAAA,EAAM,GAAG,KAAA,EAAM;AAAA,MAE9D,QAAA,EAAA,GAAA;AAAA;AAAA,wBAECE,GAAAA,CAAC,KAAA,EAAA,EAAI,GAAA,EAAU,GAAA,EAAK,GAAA,IAAO,IAAA,IAAQ,EAAA,EAAI,KAAA,EAAO,IAAA,EAAM,MAAA,EAAQ,IAAA,EAAM;AAAA,0BAElEA,GAAAA,CAAC,MAAA,EAAA,EAAK,aAAA,EAAY,MAAA,EAAQ,sBAAY,QAAA,EAAI;AAAA;AAAA,GAE9C;AAEJ;AASO,IAAM,WAAA,GAAc,CAAC,EAAE,QAAA,EAAU,UAAU,CAAA,EAAG,SAAA,EAAW,KAAA,EAAM,qBACpEA,GAAAA;AAAA,EAAC,MAAA;AAAA,EAAA;AAAA,IACC,SAAA,EAAWF,GAAAA,CAAG,iBAAA,EAAmB,SAAS,CAAA;AAAA,IAC1C,KAAA,EAAO,EAAE,CAAC,qBAA+B,GAAG,CAAA,CAAA,EAAI,OAAO,CAAA,EAAA,CAAA,EAAM,GAAG,KAAA,EAAM;AAAA,IAErE;AAAA;AACH;AC/DF,IAAMA,GAAAA,GAAK,IAAI,KAAA,KAA6C,KAAA,CAAM,OAAO,OAAO,CAAA,CAAE,KAAK,GAAG,CAAA;AAUnF,IAAM,KAAA,GAAQ,CAAC,EAAE,IAAA,GAAO,CAAA,EAAG,OAAO,KAAA,EAAO,KAAA,EAAO,SAAA,EAAU,qBAC/DC,IAAAA;AAAA,EAAC,MAAA;AAAA,EAAA;AAAA,IACC,SAAA,EAAWD,GAAAA,CAAG,UAAA,EAAY,SAAS,CAAA;AAAA,IACnC,KAAA,EAAO;AAAA,MACL,CAAC,iBAA2B,GAAG,CAAA,EAAG,IAAI,CAAA,EAAA,CAAA;AAAA,MACtC,GAAI,KAAA,GAAQ,EAAE,CAAC,kBAA4B,GAAG,OAAM,GAAI,IAAA;AAAA,MACxD,GAAG;AAAA,KACL;AAAA,IAEA,QAAA,EAAA;AAAA,sBAAAE,GAAAA,CAAC,MAAA,EAAA,EAAK,aAAA,EAAY,MAAA,EAAO,WAAU,eAAA,EAAgB,CAAA;AAAA,MAClD,KAAA,oBAASA,GAAAA,CAAC,MAAA,EAAA,EAAM,QAAA,EAAA,KAAA,EAAM;AAAA;AAAA;AACzB;ACrBF,IAAMF,GAAAA,GAAK,IAAI,KAAA,KAA6C,KAAA,CAAM,OAAO,OAAO,CAAA,CAAE,KAAK,GAAG,CAAA;AAOnF,IAAM,KAAA,GAAcG,KAAA,CAAA,UAAA,CAAyC,SAASC,MAAAA,CAC3E,EAAE,IAAA,GAAO,IAAA,EAAM,OAAA,EAAS,SAAA,EAAW,GAAG,IAAA,EAAK,EAC3C,GAAA,EACA;AACA,EAAA,uBACEF,GAAAA;AAAA,IAAC,OAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,SAAA,EAAWF,GAAAA;AAAA,QACT,UAAA;AAAA,QACA,SAAS,IAAA,IAAQ,cAAA;AAAA,QACjB,SAAS,IAAA,IAAQ,cAAA;AAAA,QACjB,OAAA,IAAW,mBAAA;AAAA,QACX;AAAA,OACF;AAAA,MACA,gBAAc,OAAA,IAAW,MAAA;AAAA,MACxB,GAAG;AAAA;AAAA,GACN;AAEJ,CAAC;ACzBD,IAAMA,GAAAA,GAAK,IAAI,KAAA,KAA6C,KAAA,CAAM,OAAO,OAAO,CAAA,CAAE,KAAK,GAAG,CAAA;AAMnF,IAAM,QAAA,GAAiBK,KAAA,CAAA,UAAA,CAA+C,SAASC,SAAAA,CACpF,EAAE,SAAS,SAAA,EAAW,GAAG,IAAA,EAAK,EAC9B,GAAA,EACA;AACA,EAAA,uBACEJ,GAAAA;AAAA,IAAC,UAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,SAAA,EAAWF,GAAAA,CAAG,aAAA,EAAe,OAAA,IAAW,wBAAwB,SAAS,CAAA;AAAA,MACzE,gBAAc,OAAA,IAAW,MAAA;AAAA,MACxB,GAAG;AAAA;AAAA,GACN;AAEJ,CAAC;AClBD,IAAMA,GAAAA,GAAK,IAAI,KAAA,KAA6C,KAAA,CAAM,OAAO,OAAO,CAAA,CAAE,KAAK,GAAG,CAAA;AAMnF,IAAM,QAAQ,CAAC,EAAE,UAAU,QAAA,EAAU,SAAA,EAAW,GAAG,IAAA,EAAK,qBAC7DC,IAAAA,CAAC,WAAM,SAAA,EAAWD,GAAAA,CAAG,YAAY,SAAS,CAAA,EAAI,GAAG,IAAA,EAC9C,QAAA,EAAA;AAAA,EAAA,QAAA;AAAA,EACA,QAAA,oBACCE,GAAAA,CAAC,MAAA,EAAA,EAAK,WAAU,oBAAA,EAAqB,aAAA,EAAY,QAAO,QAAA,EAAA,GAAA,EAExD;AAAA,CAAA,EAEJ;AAcK,IAAM,QAAQ,CAAC;AAAA,EACpB,KAAA;AAAA,EACA,IAAA;AAAA,EACA,KAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA;AACF,CAAA,qBACED,KAAC,KAAA,EAAA,EAAI,SAAA,EAAWD,IAAG,UAAA,EAAY,SAAS,GAAG,KAAA,EACxC,QAAA,EAAA;AAAA,EAAA,KAAA,oBACCE,GAAAA,CAAC,KAAA,EAAA,EAAM,OAAA,EAAkB,UACtB,QAAA,EAAA,KAAA,EACH,CAAA;AAAA,EAED,QAAA;AAAA,EACA,wBACCA,GAAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,YAAW,IAAA,EAAK,OAAA,EAC7B,QAAA,EAAA,KAAA,EACH,CAAA,GACE,uBACFA,GAAAA,CAAC,UAAK,SAAA,EAAU,SAAA,EAAW,gBAAK,CAAA,GAC9B;AAAA,CAAA,EACN","file":"index.js","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","import * as React from \"react\";\n\nconst cx = (...parts: Array<string | undefined | false>) => parts.filter(Boolean).join(\" \");\n\nexport interface InputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, \"size\"> {\n size?: \"sm\" | \"md\" | \"lg\";\n invalid?: boolean;\n}\n\nexport const Input = React.forwardRef<HTMLInputElement, InputProps>(function Input(\n { size = \"md\", invalid, className, ...rest },\n ref,\n) {\n return (\n <input\n ref={ref}\n className={cx(\n \"sn-input\",\n size === \"sm\" && \"sn-input--sm\",\n size === \"lg\" && \"sn-input--lg\",\n invalid && \"sn-input--invalid\",\n className,\n )}\n aria-invalid={invalid || undefined}\n {...rest}\n />\n );\n});\n","import * as React from \"react\";\n\nconst cx = (...parts: Array<string | undefined | false>) => parts.filter(Boolean).join(\" \");\n\nexport interface TextareaProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {\n invalid?: boolean;\n}\n\nexport const Textarea = React.forwardRef<HTMLTextAreaElement, TextareaProps>(function Textarea(\n { invalid, className, ...rest },\n ref,\n) {\n return (\n <textarea\n ref={ref}\n className={cx(\"sn-textarea\", invalid && \"sn-textarea--invalid\", className)}\n aria-invalid={invalid || undefined}\n {...rest}\n />\n );\n});\n","import * as React from \"react\";\n\nconst cx = (...parts: Array<string | undefined | false>) => parts.filter(Boolean).join(\" \");\n\nexport interface LabelProps extends React.LabelHTMLAttributes<HTMLLabelElement> {\n required?: boolean;\n}\n\nexport const Label = ({ required, children, className, ...rest }: LabelProps) => (\n <label className={cx(\"sn-label\", className)} {...rest}>\n {children}\n {required && (\n <span className=\"sn-label__required\" aria-hidden=\"true\">\n *\n </span>\n )}\n </label>\n);\n\nexport interface FieldProps {\n label?: React.ReactNode;\n hint?: React.ReactNode;\n error?: React.ReactNode;\n required?: boolean;\n htmlFor?: string;\n children: React.ReactNode;\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport const Field = ({\n label,\n hint,\n error,\n required,\n htmlFor,\n children,\n className,\n style,\n}: FieldProps) => (\n <div className={cx(\"sn-field\", className)} style={style}>\n {label && (\n <Label htmlFor={htmlFor} required={required}>\n {label}\n </Label>\n )}\n {children}\n {error ? (\n <span className=\"sn-error\" role=\"alert\">\n {error}\n </span>\n ) : hint ? (\n <span className=\"sn-hint\">{hint}</span>\n ) : null}\n </div>\n);\n"]}
1
+ {"version":3,"sources":["../src/mark.tsx","../src/mark-variants.tsx","../src/icons.tsx","../src/avatar.tsx","../src/pulse.tsx","../src/input.tsx","../src/textarea.tsx","../src/field.tsx","../src/callout.tsx","../src/terminal.tsx"],"names":["sizeStyle","sizeClass","cx","jsxs","jsx","React2","Input","React3","Textarea"],"mappings":"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","file":"index.js","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","import * as React from \"react\";\n\nconst cx = (...parts: Array<string | undefined | false>) => parts.filter(Boolean).join(\" \");\n\nexport interface InputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, \"size\"> {\n size?: \"sm\" | \"md\" | \"lg\";\n invalid?: boolean;\n}\n\nexport const Input = React.forwardRef<HTMLInputElement, InputProps>(function Input(\n { size = \"md\", invalid, className, ...rest },\n ref,\n) {\n return (\n <input\n ref={ref}\n className={cx(\n \"sn-input\",\n size === \"sm\" && \"sn-input--sm\",\n size === \"lg\" && \"sn-input--lg\",\n invalid && \"sn-input--invalid\",\n className,\n )}\n aria-invalid={invalid || undefined}\n {...rest}\n />\n );\n});\n","import * as React from \"react\";\n\nconst cx = (...parts: Array<string | undefined | false>) => parts.filter(Boolean).join(\" \");\n\nexport interface TextareaProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {\n invalid?: boolean;\n}\n\nexport const Textarea = React.forwardRef<HTMLTextAreaElement, TextareaProps>(function Textarea(\n { invalid, className, ...rest },\n ref,\n) {\n return (\n <textarea\n ref={ref}\n className={cx(\"sn-textarea\", invalid && \"sn-textarea--invalid\", className)}\n aria-invalid={invalid || undefined}\n {...rest}\n />\n );\n});\n","import * as React from \"react\";\n\nconst cx = (...parts: Array<string | undefined | false>) => parts.filter(Boolean).join(\" \");\n\nexport interface LabelProps extends React.LabelHTMLAttributes<HTMLLabelElement> {\n required?: boolean;\n}\n\nexport const Label = ({ required, children, className, ...rest }: LabelProps) => (\n <label className={cx(\"sn-label\", className)} {...rest}>\n {children}\n {required && (\n <span className=\"sn-label__required\" aria-hidden=\"true\">\n *\n </span>\n )}\n </label>\n);\n\nexport interface FieldProps {\n label?: React.ReactNode;\n hint?: React.ReactNode;\n error?: React.ReactNode;\n required?: boolean;\n htmlFor?: string;\n children: React.ReactNode;\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport const Field = ({\n label,\n hint,\n error,\n required,\n htmlFor,\n children,\n className,\n style,\n}: FieldProps) => (\n <div className={cx(\"sn-field\", className)} style={style}>\n {label && (\n <Label htmlFor={htmlFor} required={required}>\n {label}\n </Label>\n )}\n {children}\n {error ? (\n <span className=\"sn-error\" role=\"alert\">\n {error}\n </span>\n ) : hint ? (\n <span className=\"sn-hint\">{hint}</span>\n ) : null}\n </div>\n);\n","import * as React from \"react\";\n\nconst cx = (...parts: Array<string | undefined | false>) => parts.filter(Boolean).join(\" \");\n\nexport interface CalloutProps {\n variant?: \"note\" | \"tip\" | \"warning\" | \"danger\";\n title?: React.ReactNode;\n children: React.ReactNode;\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport const Callout = ({ variant, title, children, className, style }: CalloutProps) => (\n <aside className={cx(\"sn-callout\", variant && `sn-callout--${variant}`, className)} style={style}>\n {title && <strong className=\"sn-callout__title\">{title}</strong>}\n {children}\n </aside>\n);\n","import * as React from \"react\";\n\nconst cx = (...parts: Array<string | undefined | false>) => parts.filter(Boolean).join(\" \");\n\nexport interface TerminalProps {\n title?: React.ReactNode;\n children: React.ReactNode;\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport const Terminal = ({ title, children, className, style }: TerminalProps) => (\n <div className={cx(\"sn-terminal\", className)} style={style}>\n <div className=\"sn-terminal__bar\">\n {title && <span className=\"sn-terminal__title\">{title}</span>}\n </div>\n <div className=\"sn-terminal__body\">{children}</div>\n </div>\n);\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@snowztech/ui",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "Terminal-minimal React design system. Mark, icons, tokens, and primitives.",
5
5
  "license": "MIT",
6
6
  "author": {
@@ -62,7 +62,7 @@
62
62
  "react": ">=18"
63
63
  },
64
64
  "dependencies": {
65
- "@snowztech/ui-css": "0.3.0"
65
+ "@snowztech/ui-css": "0.5.0"
66
66
  },
67
67
  "devDependencies": {
68
68
  "@types/react": "^18.3.12",