@frak-labs/components
Version:
Frak Wallet components, helping any person to interact with the Frak wallet.
345 lines (344 loc) • 19.9 kB
JavaScript
import "preact/hooks";
import { jsx, jsxs } from "preact/jsx-runtime";
import { Component, Fragment as Fragment$1, createElement, options, toChildArray } from "preact";
//#region ../../node_modules/.bun/preact@10.29.7/node_modules/preact/compat/dist/compat.module.js
function g(n, t) {
for (var e in t) n[e] = t[e];
return n;
}
function E(n, t) {
for (var e in n) if ("__source" !== e && !(e in t)) return !0;
for (var r in t) if ("__source" !== r && n[r] !== t[r]) return !0;
return !1;
}
function M(n, t) {
this.props = n, this.context = t;
}
(M.prototype = new Component()).isPureReactComponent = !0, M.prototype.shouldComponentUpdate = function(n, t) {
return E(this.props, n) || E(this.state, t);
};
var T = options.__b;
options.__b = function(n) {
n.type && n.type.__f && n.ref && (n.props.ref = n.ref, n.ref = null), T && T(n);
};
"undefined" != typeof Symbol && Symbol.for;
var O = options.__e;
options.__e = function(n, t, e, r) {
if (n.then) {
for (var u, o = t; o = o.__;) if ((u = o.__c) && u.__c) return t.__e ?? (t.__e = e.__e, t.__k = e.__k || []), u.__c(n, t);
}
O(n, t, e, r);
};
var U = options.unmount;
function V(n, t, e) {
return n && (n.__c && n.__c.__H && (n.__c.__H.__.forEach(function(n) {
"function" == typeof n.__c && n.__c();
}), n.__c.__H = null), null != (n = g({}, n)).__c && (n.__c.__P === e && (n.__c.__P = t), n.__c.__e = !0, n.__c = null), n.__k = n.__k && n.__k.map(function(n) {
return V(n, t, e);
})), n;
}
function W(n, t, e) {
return n && e && (n.__v = null, n.__k = n.__k && n.__k.map(function(n) {
return W(n, t, e);
}), n.__c && n.__c.__P === t && (n.__e && e.appendChild(n.__e), n.__c.__e = !0, n.__c.__P = e)), n;
}
function P() {
this.__u = 0, this.o = null, this.__b = null;
}
function j(n) {
var t = n.__ && n.__.__c;
return t && t.__a && t.__a(n);
}
function B() {
this.i = null, this.l = null;
}
options.unmount = function(n) {
var t = n.__c;
t && (t.__z = !0), t && t.__R && t.__R(), t && 32 & n.__u && (n.type = null), U && U(n);
}, (P.prototype = new Component()).__c = function(n, t) {
var e = t.__c, r = this;
r.o ??= [], r.o.push(e);
var u = j(r.__v), o = !1, i = function() {
o || r.__z || (o = !0, e.__R = null, u ? u(c) : c());
};
e.__R = i;
var l = e.__P;
e.__P = null;
var c = function() {
if (!--r.__u) {
if (r.state.__a) {
var n = r.state.__a;
r.__v.__k[0] = W(n, n.__c.__P, n.__c.__O);
}
var t;
for (r.setState({ __a: r.__b = null }); t = r.o.pop();) t.__P = l, t.forceUpdate();
}
};
r.__u++ || 32 & t.__u || r.setState({ __a: r.__b = r.__v.__k[0] }), n.then(i, i);
}, P.prototype.componentWillUnmount = function() {
this.o = [];
}, P.prototype.render = function(n, e) {
if (this.__b) {
if (this.__v.__k) {
var r = document.createElement("div"), o = this.__v.__k[0].__c;
this.__v.__k[0] = V(this.__b, r, o.__O = o.__P);
}
this.__b = null;
}
var i = e.__a && createElement(Fragment$1, null, n.fallback);
return i && (i.__u &= -33), [createElement(Fragment$1, null, e.__a ? null : n.children), i];
};
var H = function(n, t, e) {
if (++e[1] === e[0] && n.l.delete(t), n.props.revealOrder && ("t" !== n.props.revealOrder[0] || !n.l.size)) for (e = n.i; e;) {
for (; e.length > 3;) e.pop()();
if (e[1] < e[0]) break;
n.i = e = e[2];
}
};
(B.prototype = new Component()).__a = function(n) {
var t = this, e = j(t.__v), r = t.l.get(n);
return r[0]++, function(u) {
var o = function() {
t.props.revealOrder ? (r.push(u), H(t, n, r)) : u();
};
e ? e(o) : o();
};
}, B.prototype.render = function(n) {
this.i = null, this.l = /* @__PURE__ */ new Map();
var t = toChildArray(n.children);
n.revealOrder && "b" === n.revealOrder[0] && t.reverse();
for (var e = t.length; e--;) this.l.set(t[e], this.i = [
1,
0,
this.i
]);
return n.children;
}, B.prototype.componentDidUpdate = B.prototype.componentDidMount = function() {
var n = this;
this.l.forEach(function(t, e) {
H(n, e, t);
});
};
var q = "undefined" != typeof Symbol && Symbol.for && Symbol.for("react.element") || 60103;
var G = /^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/;
var J = /^on(Ani|Tra|Tou|BeforeInp|Compo)/;
var K = /[A-Z0-9]/g;
var Q = "undefined" != typeof document;
var X = function(n) {
return ("undefined" != typeof Symbol && "symbol" == typeof Symbol() ? /fil|che|rad/ : /fil|che|ra/).test(n);
};
Component.prototype.isReactComponent = !0, [
"componentWillMount",
"componentWillReceiveProps",
"componentWillUpdate"
].forEach(function(t) {
Object.defineProperty(Component.prototype, t, {
configurable: !0,
get: function() {
return this["UNSAFE_" + t];
},
set: function(n) {
Object.defineProperty(this, t, {
configurable: !0,
writable: !0,
value: n
});
}
});
});
var en = options.event;
options.event = function(n) {
return en && (n = en(n)), n.persist = function() {}, n.isPropagationStopped = function() {
return this.cancelBubble;
}, n.isDefaultPrevented = function() {
return this.defaultPrevented;
}, n.nativeEvent = n;
};
var un = {
configurable: !0,
get: function() {
return this.class;
}
};
var on = options.vnode;
options.vnode = function(n) {
"string" == typeof n.type && function(n) {
var t = n.props, e = n.type, u = {}, o = -1 == e.indexOf("-");
for (var i in t) {
var l = t[i];
if (!("value" === i && "defaultValue" in t && null == l || Q && "children" === i && "noscript" === e || "class" === i || "className" === i)) {
var c = i.toLowerCase();
"defaultValue" === i && "value" in t && null == t.value ? i = "value" : "download" === i && !0 === l ? l = "" : "translate" === c && "no" === l ? l = !1 : "o" === c[0] && "n" === c[1] ? "ondoubleclick" === c ? i = "ondblclick" : "onchange" !== c || "input" !== e && "textarea" !== e || X(t.type) ? "onfocus" === c ? i = "onfocusin" : "onblur" === c ? i = "onfocusout" : J.test(i) && (i = c) : c = i = "oninput" : o && G.test(i) ? i = i.replace(K, "-$&").toLowerCase() : null === l && (l = void 0), "oninput" === c && u[i = c] && (i = "oninputCapture"), u[i] = l;
}
}
"select" == e && (u.multiple && Array.isArray(u.value) && (u.value = toChildArray(t.children).forEach(function(n) {
n.props.selected = -1 != u.value.indexOf(n.props.value);
})), null != u.defaultValue && (u.value = toChildArray(t.children).forEach(function(n) {
n.props.selected = u.multiple ? -1 != u.defaultValue.indexOf(n.props.value) : u.defaultValue == n.props.value;
}))), t.class && !t.className ? (u.class = t.class, Object.defineProperty(u, "className", un)) : t.className && (u.class = u.className = t.className), n.props = u;
}(n), n.$$typeof = q, on && on(n);
};
var ln = options.__r;
options.__r = function(n) {
ln && ln(n), n.__c;
};
var cn = options.diffed;
options.diffed = function(n) {
cn && cn(n);
var t = n.props, e = n.__e;
null != e && "textarea" === n.type && "value" in t && t.value !== e.value && (e.value = null == t.value ? "" : t.value);
};
//#endregion
//#region ../../packages/design-system/src/icons/CloseCircleIcon.tsx
function CloseCircleIcon(props) {
return /* @__PURE__ */ jsx("svg", {
width: "15",
height: "15",
viewBox: "0 0 15 15",
fill: "none",
"aria-hidden": "true",
...props,
children: /* @__PURE__ */ jsx("path", {
d: "M7.33 0C11.38 0 14.67 3.28 14.67 7.33C14.67 11.38 11.38 14.67 7.33 14.67C3.28 14.67 0 11.38 0 7.33C0 3.28 3.28 0 7.33 0ZM10.39 4.28C10.15 4.04 9.76 4.04 9.52 4.28L7.33 6.47L5.14 4.28C4.9 4.04 4.52 4.04 4.28 4.28C4.04 4.52 4.04 4.9 4.28 5.14L6.47 7.33L4.28 9.52C4.04 9.76 4.04 10.15 4.28 10.39C4.52 10.63 4.9 10.63 5.14 10.39L7.33 8.2L9.52 10.39C9.76 10.63 10.15 10.63 10.39 10.39C10.63 10.15 10.63 9.76 10.39 9.52L8.2 7.33L10.39 5.14C10.63 4.9 10.63 4.52 10.39 4.28Z",
fill: "currentColor"
})
});
}
//#endregion
//#region ../../packages/design-system/src/icons/ExternalLinkIcon.tsx
function ExternalLinkIcon(props) {
return /* @__PURE__ */ jsx("svg", {
width: "12",
height: "12",
viewBox: "0 0 12 12",
fill: "none",
"aria-hidden": "true",
...props,
children: /* @__PURE__ */ jsx("path", {
d: "M5.46 0C5.76 0 6 0.24 6 0.55C6 0.85 5.76 1.09 5.46 1.09H4.36C3.05 1.09 2.28 1.36 1.82 1.82C1.36 2.28 1.09 3.05 1.09 4.36V7.64C1.09 8.95 1.36 9.72 1.82 10.18C2.28 10.64 3.05 10.91 4.36 10.91H7.64C8.95 10.91 9.72 10.64 10.18 10.18C10.64 9.72 10.91 8.95 10.91 7.64V6.55C10.91 6.24 11.15 6 11.46 6C11.76 6 12 6.24 12 6.55V7.64C12 9.05 11.72 10.19 10.95 10.95C10.19 11.72 9.05 12 7.64 12H4.36C2.95 12 1.81 11.72 1.05 10.95C0.28 10.19 6.04e-05 9.05 0 7.64V4.36C0 2.95 0.28 1.81 1.05 1.05C1.81 0.28 2.95 0 4.36 0H5.46ZM11.45 0C11.76 2.2e-05 12 0.24 12 0.55V3.16C12 3.47 11.76 3.71 11.45 3.71C11.15 3.71 10.91 3.46 10.91 3.16V1.86L6.93 5.84C6.72 6.05 6.37 6.05 6.16 5.84C5.95 5.63 5.95 5.28 6.16 5.07L10.14 1.09H8.84C8.54 1.09 8.29 0.85 8.29 0.55C8.29 0.24 8.53 0 8.84 0H11.45Z",
fill: "currentColor"
})
});
}
//#endregion
//#region ../../packages/design-system/src/icons/LogoFrakWithName.tsx
/**
* Frak wordmark — blue rounded-square badge with the white F glyph,
* followed by the "frak" text.
*
* Asset traces the Figma export (viewBox 0 0 63 24). The badge keeps the
* canonical brand colors baked in; the text fill follows `currentColor`
* so the parent's CSS `color` drives it (black on light surfaces, white
* on dark overlays like the listener modal). For the standalone badge
* without text, use {@link LogoFrakBadge}.
*/
function LogoFrakWithName(props) {
return /* @__PURE__ */ jsxs("svg", {
xmlns: "http://www.w3.org/2000/svg",
width: props.width ?? "63",
height: props.height ?? "24",
fill: "none",
viewBox: "0 0 63 24",
...props,
children: [
/* @__PURE__ */ jsx("title", { children: "Frak" }),
/* @__PURE__ */ jsx("rect", {
width: "24",
height: "24",
rx: "6",
fill: "#0043EF"
}),
/* @__PURE__ */ jsx("path", {
fill: "white",
d: "M9.77 15.91L5.15 14.35C5.06 14.32 4.97 14.38 4.97 14.47V17.33C4.97 17.39 5.01 17.44 5.06 17.46L9.68 19.02C9.77 19.05 9.86 18.98 9.86 18.89V16.04C9.86 15.98 9.82 15.93 9.77 15.91ZM14.58 10.44L9.95 12C9.9 12.02 9.86 12.07 9.86 12.13V14.98C9.86 15.08 9.95 15.14 10.04 15.11L14.66 13.55C14.72 13.53 14.76 13.48 14.76 13.42V10.57C14.76 10.47 14.66 10.41 14.58 10.44ZM18.92 5.02L11.18 7.51C11.12 7.53 11.08 7.58 11.08 7.64V10.57C11.08 10.62 11.14 10.66 11.2 10.65L18.94 8.15C18.99 8.14 19.03 8.08 19.03 8.02V5.1C19.03 5.04 18.97 5 18.92 5.02Z"
}),
/* @__PURE__ */ jsx("path", {
fill: "currentColor",
d: "M52.72 9.51C52.83 9.51 52.91 9.6 52.91 9.7L52.84 18.21C52.84 18.31 52.76 18.39 52.66 18.39L52.64 18.39H51.3C51.15 18.39 50.78 18.25 50.39 18C49.86 18.25 49.27 18.39 48.64 18.39H48.39C47.24 18.39 46.19 17.91 45.43 17.14C44.67 16.38 44.2 15.32 44.2 14.15C44.2 12.98 44.67 11.92 45.43 11.15C46.16 10.41 47.16 9.94 48.26 9.91C49.17 9.86 49.99 9.99 50.49 10.5V9.7C50.49 9.6 50.57 9.51 50.68 9.51H52.72ZM35.35 5.62H36.96C37.09 5.62 37.19 5.72 37.19 5.85V7.81C37.19 7.94 37.09 8.04 36.96 8.04H34.92C34.32 8.04 33.63 8.64 33.63 9.25V10.61C34.26 9.98 34.93 9.65 35.35 9.63H36.46C36.59 9.63 36.69 9.73 36.69 9.86V11.82C36.69 11.95 36.59 12.05 36.46 12.05H34.92C34.31 12.05 33.63 12.65 33.63 13.27V18.2C33.63 18.3 33.54 18.39 33.44 18.39H31.39C31.29 18.39 31.21 18.3 31.21 18.2V9.94C31.21 9.87 31.2 9.8 31.2 9.73C31.24 8.88 31.15 5.44 35.35 5.62ZM39.93 9.63C40.04 9.63 40.12 9.72 40.12 9.82V10.61C40.76 9.98 41.58 9.63 41.85 9.63H43.46C43.58 9.63 43.68 9.73 43.69 9.86V11.82C43.68 11.95 43.58 12.05 43.46 12.05H41.41C40.81 12.05 40.12 12.65 40.12 13.27V18.2C40.12 18.3 40.04 18.39 39.93 18.39H37.89C37.79 18.39 37.7 18.3 37.7 18.2V9.82C37.7 9.72 37.79 9.63 37.89 9.63H39.93ZM56.2 7.01C56.3 7.01 56.39 7.09 56.39 7.2V13.45L59.83 10.19C59.87 10.16 59.91 10.14 59.96 10.14H62.28C62.45 10.14 62.54 10.34 62.42 10.46L59.3 13.63L62.8 18.07C62.9 18.2 62.81 18.39 62.65 18.39H60.24C60.18 18.39 60.13 18.36 60.09 18.31L57.67 15.32C57.6 15.23 57.47 15.22 57.39 15.3L56.39 16.29V18.19C56.39 18.3 56.3 18.39 56.2 18.39H54.19C54.08 18.39 54 18.3 54 18.19V7.2C54 7.09 54.08 7.01 54.19 7.01H56.2ZM48.37 11.96C47.78 11.96 47.24 12.21 46.85 12.6C46.46 13 46.22 13.54 46.22 14.14C46.22 14.73 46.46 15.28 46.85 15.67C47.24 16.07 47.78 16.31 48.37 16.31H48.66C49.25 16.31 49.79 16.07 50.18 15.67C50.57 15.28 50.81 14.73 50.81 14.14C50.81 13.54 50.57 12.99 50.18 12.6C49.79 12.21 49.25 11.96 48.66 11.96H48.37Z"
})
]
});
}
2 * Math.PI * 11;
//#endregion
//#region ../../packages/design-system/src/icons/WarningIcon.tsx
function WarningIcon(props) {
return /* @__PURE__ */ jsx("svg", {
width: "16",
height: "16",
viewBox: "0 0 16 16",
fill: "none",
"aria-hidden": "true",
...props,
children: /* @__PURE__ */ jsx("path", {
d: "M8 0C12.42 0 16 3.58 16 8C16 12.42 12.42 16 8 16C3.58 16 0 12.42 0 8C0 3.58 3.58 0 8 0ZM8 1.5C4.41 1.5 1.5 4.41 1.5 8C1.5 11.59 4.41 14.5 8 14.5C11.59 14.5 14.5 11.59 14.5 8C14.5 4.41 11.59 1.5 8 1.5ZM8.1 10.21C8.82 10.21 9.24 10.63 9.24 11.33C9.24 12.03 8.82 12.46 8.1 12.46C7.36 12.46 6.97 12.03 6.97 11.33C6.97 10.63 7.36 10.21 8.1 10.21ZM8.85 3.54C9.01 3.54 9.15 3.68 9.15 3.84V4.75L8.84 8.37C8.83 8.53 8.7 8.65 8.54 8.65H7.63C7.47 8.65 7.34 8.52 7.33 8.37L7.08 4.75V3.84C7.09 3.68 7.22 3.54 7.38 3.54H8.85Z",
fill: "currentColor"
})
});
}
//#endregion
//#region src/styles/sharedBaseCss.css.ts
const cssSource = ".reset_base__1831jhd0 {\n margin: 0;\n padding: 0;\n border: 0;\n box-sizing: border-box;\n font-size: 100%;\n font: inherit;\n vertical-align: baseline;\n -webkit-tap-highlight-color: transparent;\n}\n.reset_focusRing__1831jhd1 {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n.reset_focusRing__1831jhd1:focus-visible {\n outline-color: currentColor;\n}\n.reset_fieldAppearance__1831jhd2 {\n appearance: none;\n background-color: transparent;\n}\n.reset_visuallyHidden__1831jhd3 {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n}\n.reset_element_ul__1831jhd4 {\n list-style: none;\n}\n.reset_element_ol__1831jhd5 {\n list-style: none;\n}\n.reset_element_button__1831jhd6 {\n cursor: pointer;\n}\n.reset_element_a__1831jhd7 {\n text-decoration: none;\n color: inherit;\n}\n.reset_element_table__1831jhdb {\n border-collapse: collapse;\n border-spacing: 0;\n}\n.reset_element_img__1831jhdc {\n display: block;\n max-width: 100%;\n}:root {\n --text-primary__pbq4ak0: #000000;\n --text-secondary__pbq4ak1: #525252;\n --text-tertiary__pbq4ak2: #a3a3a3;\n --text-disabled__pbq4ak3: #a3a3a3;\n --text-action__pbq4ak4: #0043ef;\n --text-actionHover__pbq4ak5: #0036bf;\n --text-onAction__pbq4ak6: #ffffff;\n --text-error__pbq4ak7: #e31c31;\n --text-success__pbq4ak8: #09be67;\n --text-warning__pbq4ak9: #ec7e00;\n --surface-primary__pbq4aka: #0043ef;\n --surface-secondary__pbq4akb: #f2f6fe;\n --surface-background__pbq4akc: #ffffff;\n --surface-background2__pbq4akd: #f9fafb;\n --surface-elevated__pbq4ake: #ffffff;\n --surface-muted__pbq4akf: #f7f7f7;\n --surface-tertiary__pbq4akg: #f7f7f7;\n --surface-overlay__pbq4akh: #000000b2;\n --surface-disabled__pbq4aki: #e2e2e2;\n --surface-primaryHover__pbq4akj: #0036bf;\n --surface-primaryPressed__pbq4akk: #00288f;\n --surface-secondaryHover__pbq4akl: #e5ecfd;\n --surface-secondaryPressed__pbq4akm: #ccd9fc;\n --surface-error__pbq4akn: #fce8ea;\n --surface-success__pbq4ako: #f3fcf7;\n --surface-warning__pbq4akp: #fef9f2;\n --border-subtle__pbq4akq: #f5f5f5;\n --border-focus__pbq4akr: #a3a3a3;\n --border-error__pbq4aks: #e31c31;\n --border-success__pbq4akt: #09be67;\n --border-warning__pbq4aku: #ec7e00;\n --border-default__pbq4akv: #e2e2e2;\n --icon-primary__pbq4akw: #000000;\n --icon-secondary__pbq4akx: #525252;\n --icon-tertiary__pbq4aky: #a3a3a3;\n --icon-disabled__pbq4akz: #a3a3a3;\n --icon-action__pbq4ak10: #0043ef;\n --icon-actionHover__pbq4ak11: #0036bf;\n --icon-onAction__pbq4ak12: #ffffff;\n --icon-error__pbq4ak13: #e31c31;\n --icon-success__pbq4ak14: #09be67;\n --icon-warning__pbq4ak15: #ec7e00;\n}\n[data-theme='dark'] {\n --text-primary__pbq4ak0: #ffffff;\n --text-secondary__pbq4ak1: #f7f7f7;\n --text-tertiary__pbq4ak2: #f5f5f5;\n --text-disabled__pbq4ak3: #a3a3a3;\n --text-action__pbq4ak4: #668ef5;\n --text-actionHover__pbq4ak5: #0036bf;\n --text-onAction__pbq4ak6: #ffffff;\n --text-error__pbq4ak7: #e9495a;\n --text-success__pbq4ak8: #09be67;\n --text-warning__pbq4ak9: #ec7e00;\n --surface-primary__pbq4aka: #0043ef;\n --surface-secondary__pbq4akb: #00288f;\n --surface-background__pbq4akc: #000000;\n --surface-background2__pbq4akd: #000000;\n --surface-elevated__pbq4ake: #262626;\n --surface-muted__pbq4akf: #525252;\n --surface-tertiary__pbq4akg: #737373;\n --surface-overlay__pbq4akh: #000000b2;\n --surface-disabled__pbq4aki: #e2e2e2;\n --surface-primaryHover__pbq4akj: #0036bf;\n --surface-primaryPressed__pbq4akk: #00288f;\n --surface-secondaryHover__pbq4akl: #e5ecfd;\n --surface-secondaryPressed__pbq4akm: #ccd9fc;\n --surface-error__pbq4akn: #b61627;\n --surface-success__pbq4ako: #05723e;\n --surface-warning__pbq4akp: #8e4c00;\n --border-subtle__pbq4akq: #737373;\n --border-focus__pbq4akr: #a3a3a3;\n --border-error__pbq4aks: #e31c31;\n --border-success__pbq4akt: #09be67;\n --border-warning__pbq4aku: #ec7e00;\n --border-default__pbq4akv: #525252;\n --icon-primary__pbq4akw: #ffffff;\n --icon-secondary__pbq4akx: #f7f7f7;\n --icon-tertiary__pbq4aky: #f7f7f7;\n --icon-disabled__pbq4akz: #a3a3a3;\n --icon-action__pbq4ak10: #0043ef;\n --icon-actionHover__pbq4ak11: #0036bf;\n --icon-onAction__pbq4ak12: #ffffff;\n --icon-error__pbq4ak13: #e31c31;\n --icon-success__pbq4ak14: #09be67;\n --icon-warning__pbq4ak15: #ec7e00;\n}.sharedBaseCss_buttonReset__7cswil0 {\n margin: 0;\n border: 0;\n appearance: none;\n background-color: transparent;\n box-sizing: border-box;\n font-family: inherit;\n -webkit-tap-highlight-color: transparent;\n cursor: pointer;\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n.sharedBaseCss_buttonReset__7cswil0:focus-visible {\n outline-color: currentColor;\n}";
//#endregion
//#region src/components/icons/GiftIcon.tsx
/**
* Gift icon with yellow accent circle and present box.
* Used by the referral banner and the post-purchase card.
*/
function GiftIcon(props) {
return /* @__PURE__ */ jsxs("svg", {
viewBox: "0 0 100 100",
fill: "none",
"aria-hidden": "true",
...props,
children: [
/* @__PURE__ */ jsx("circle", {
cx: "38",
cy: "28",
r: "23",
fill: "#FFF533"
}),
/* @__PURE__ */ jsx("path", {
d: "M50 38C30 10 12 30 50 38Z",
stroke: "#222222",
"stroke-width": "4",
"stroke-linecap": "round",
"stroke-linejoin": "round"
}),
/* @__PURE__ */ jsx("path", {
d: "M50 38C70 10 88 30 50 38Z",
stroke: "#222222",
"stroke-width": "4",
"stroke-linecap": "round",
"stroke-linejoin": "round"
}),
/* @__PURE__ */ jsx("rect", {
x: "10",
y: "38",
width: "80",
height: "16",
rx: "2",
stroke: "#222222",
"stroke-width": "4"
}),
/* @__PURE__ */ jsx("path", {
d: "M15 54V89C15 90.6 16.4 92 18 92H82C83.6 92 85 90.6 85 89V54",
stroke: "#222222",
"stroke-width": "4",
"stroke-linecap": "round",
"stroke-linejoin": "round"
}),
/* @__PURE__ */ jsx("line", {
x1: "50",
y1: "54",
x2: "50",
y2: "92",
stroke: "#222222",
"stroke-width": "4",
"stroke-linecap": "round"
})
]
});
}
//#endregion
export { ExternalLinkIcon as a, LogoFrakWithName as i, cssSource as n, CloseCircleIcon as o, WarningIcon as r, GiftIcon as t };