fiboui 2.6.4 → 2.7.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.
Files changed (50) hide show
  1. package/README.md +16 -6
  2. package/dist/cli/bin.js +3 -4
  3. package/dist/cli/commands/generate/component.js +21 -33
  4. package/dist/cli/commands/generate/index.js +3 -3
  5. package/dist/cli/commands/generate/module.js +21 -24
  6. package/dist/cli/commands/generate/plugin.js +18 -34
  7. package/dist/cli/commands/init.js +5 -25
  8. package/dist/cli/config.js +118 -0
  9. package/dist/cli/names.js +35 -0
  10. package/dist/cli/templates.js +76 -0
  11. package/dist/client-CGjHCx8F.js +17621 -0
  12. package/dist/content.d.ts +1 -0
  13. package/dist/content.js +14 -14
  14. package/dist/core.d.ts +2 -0
  15. package/dist/core.js +65 -59
  16. package/dist/effects-BxvduC-G.js +14 -0
  17. package/dist/icons-GEqYd2M9.js +383 -0
  18. package/dist/index-7bieEGAP.js +944 -0
  19. package/dist/index-C4qvvr03.js +1474 -0
  20. package/dist/index-D-ljLuf8.js +839 -0
  21. package/dist/index-DVApKYWt.js +217 -0
  22. package/dist/index-Db8lVjta.js +150 -0
  23. package/dist/index.d.ts +73156 -505
  24. package/dist/index.js +4419 -2238
  25. package/dist/interactive.d.ts +2 -0
  26. package/dist/interactive.js +22 -9
  27. package/dist/layout.d.ts +1 -0
  28. package/dist/layout.js +14 -13
  29. package/dist/metadata-3YYH1uiS.js +147 -0
  30. package/dist/navigation.d.ts +1 -0
  31. package/dist/navigation.js +15 -9
  32. package/dist/page-CYqQOLXe.js +266 -0
  33. package/dist/server.d.ts +2 -0
  34. package/dist/server.js +5001 -1777
  35. package/dist/structure.d.ts +1 -0
  36. package/dist/structure.js +13 -9
  37. package/dist/style.css +1 -1
  38. package/dist/theme.d.ts +2 -0
  39. package/dist/theme.js +8 -8
  40. package/package.json +9 -2
  41. package/dist/Link-YjcbA4af.js +0 -50
  42. package/dist/PluginManager-BRjgOLVa.js +0 -110
  43. package/dist/client-DzQ13khL.js +0 -10605
  44. package/dist/effects-D16XdB_d.js +0 -10
  45. package/dist/index-B-cCNvV4.js +0 -455
  46. package/dist/index-Bj-IMHC8.js +0 -119
  47. package/dist/index-CWyBsVAL.js +0 -608
  48. package/dist/index-CYisDyI8.js +0 -602
  49. package/dist/index-Dil2ZG0X.js +0 -1028
  50. package/dist/mount-CDwiTTXM.js +0 -135
@@ -0,0 +1 @@
1
+ export { Avatar, Badge, Text, Label, Image, Spinner, Skeleton, Alert, Progress, Icon, Integration } from './index.js';
package/dist/content.js CHANGED
@@ -1,16 +1,16 @@
1
- import { b as s, A as r, B as o, I as t, c as n, L as I, P as g, a as m, S as p } from "./index-Dil2ZG0X.js";
2
- import { $ as f } from "./client-DzQ13khL.js";
3
- import { I as A } from "./index-Bj-IMHC8.js";
1
+ import { A as s, B as r, I as o } from "./icons-GEqYd2M9.js";
2
+ import { a9 as n, a8 as I } from "./client-CGjHCx8F.js";
3
+ import { A as m, I as p, L as x, P as A, a as f, S as l } from "./index-7bieEGAP.js";
4
4
  export {
5
- s as Alert,
6
- r as Avatar,
7
- o as Badge,
8
- A as Icon,
9
- t as Image,
10
- n as Integration,
11
- I as Label,
12
- g as Progress,
13
- m as Skeleton,
14
- p as Spinner,
15
- f as Text
5
+ m as Alert,
6
+ s as Avatar,
7
+ r as Badge,
8
+ n as Icon,
9
+ o as Image,
10
+ p as Integration,
11
+ x as Label,
12
+ A as Progress,
13
+ f as Skeleton,
14
+ l as Spinner,
15
+ I as Text
16
16
  };
package/dist/core.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export { signal, computed, observable, createStore, Signal, ComputedSignal, Observable, createReactivityRoot, runInScope, getCurrentScope, listSignal, collection, ListSignal, ensureListId, interp, useSignal, useReactiveStore, useObservable, useBuilderState, Observer, ProviderWrapper, useProvider, ReactivityRoot, FineGrainText, bindText, applyResponsiveStyles, useTransition, useSpring, useStagger, useMountTransition, usePrefersReducedMotion, useScrollProgress, Easing, cssCurve, Presence, Reveal, ScrollProgress, scrollTo, startViewTransition, supportsViewTimeline, supportsScrollTimeline, springEase, resolveCssEase, MOTION_PRESETS, INTERACTION_EFFECTS, normalizeInteractionEffect, interactionEffectClass, interactionEffectKebab, FIBO_INTERACTION_FX_CSS, ensureInteractionFxCss, MotionStyles, FiboStyles, getMotionCss, getCss, getStyleTag, endSsrRequest, page, withFiboStyles, createPage, FiboApp, FiboAppBuilder, mount, Fibo, toElement, ValueBuilder } from './index.js';
2
+ export type { Buildable, FiboChild, FiboChildren, ResponsiveStyles, BindableSignal, ReactiveStore, ReactivityScope, ListItemId, ListMatcher, ListEntity, TransitionConfig, SpringConfig, AnimationOptions, SpringOptions, MotionPreset, CustomMotion, InteractionEffectName, FiboPageBuild, FiboPageOptions, PseudoStateFn, PseudoStateBuilder } from './index.js';
package/dist/core.js CHANGED
@@ -1,63 +1,69 @@
1
- import { C as a, E as t, L as r, T as o, F as i, I as n, M as l, Q as u, O as S, h as c, v as p, P as g, R as b, w as T, x as v, S as E, Y as C, k as F, j as R, c as d, b as m, a as f, X as I, N as y, V as O, g as P, U as x, W as M, J as N, K as w, H as A, o as B, G as _, r as V, y as h, s as q, D as z, z as G, B as K, A as W, f as X, p as j, e as k, q as D, i as H, d as J, t as L, u as Q, m as U, n as Y, l as Z } from "./client-DzQ13khL.js";
2
- import { b as ss, F as es, a as as, c as ts, m as rs, p as os, t as is, w as ns } from "./mount-CDwiTTXM.js";
1
+ import { C as e, E as t, N as r, a0 as i, Z as o, _ as n, U as l, F as u, I as c, M as S, T as p, O as g, h as b, w as T, P as v, R as E, x as d, y as C, S as R, a2 as F, l as I, k as f, c as m, b as y, a as O, Y as P, Q as x, W as M, g as N, V as _, X as w, K as A, L as B, i as L, $ as V, J as h, o as q, H as z, r as G, z as K, s as W, G as X, A as j, D as k, B as D, a1 as H, f as J, q as Q, e as U, t as Y, j as Z, d as $, v as ss, u as as, n as es, p as ts, m as rs } from "./client-CGjHCx8F.js";
2
+ import { L as os, c as ns, b as ls, a as us, e as cs, l as Ss, p as ps, w as gs } from "./page-CYqQOLXe.js";
3
3
  export {
4
- a as ComputedSignal,
4
+ e as ComputedSignal,
5
5
  t as Easing,
6
6
  r as FIBO_INTERACTION_FX_CSS,
7
- ss as Fibo,
8
- es as FiboApp,
9
- as as FiboAppBuilder,
10
- o as FiboStyles,
11
- i as FineGrainText,
12
- n as INTERACTION_EFFECTS,
13
- l as MOTION_PRESETS,
14
- u as MotionStyles,
15
- S as Observable,
16
- c as Observer,
17
- p as Presence,
18
- g as ProviderWrapper,
19
- b as ReactivityRoot,
20
- T as Reveal,
21
- v as ScrollProgress,
22
- E as Signal,
23
- C as ValueBuilder,
24
- F as applyResponsiveStyles,
25
- R as bindText,
26
- d as computed,
27
- m as createReactivityRoot,
28
- f as createStore,
29
- ts as cssCurve,
30
- I as endSsrRequest,
31
- y as ensureInteractionFxCss,
32
- O as getCss,
33
- P as getCurrentScope,
34
- x as getMotionCss,
35
- M as getStyleTag,
36
- N as interactionEffectClass,
37
- w as interactionEffectKebab,
38
- rs as mount,
39
- A as normalizeInteractionEffect,
40
- B as observable,
41
- os as page,
42
- _ as resolveCssEase,
43
- V as runInScope,
44
- h as scrollTo,
45
- q as signal,
46
- z as springEase,
47
- G as startViewTransition,
48
- K as supportsScrollTimeline,
49
- W as supportsViewTimeline,
50
- is as toElement,
51
- X as useBuilderState,
52
- j as useMountTransition,
53
- k as useObservable,
54
- D as usePrefersReducedMotion,
55
- H as useProvider,
56
- J as useReactiveStore,
57
- L as useScrollProgress,
58
- Q as useSignal,
59
- U as useSpring,
60
- Y as useStagger,
61
- Z as useTransition,
62
- ns as withFiboStyles
7
+ i as Fibo,
8
+ o as FiboApp,
9
+ n as FiboAppBuilder,
10
+ l as FiboStyles,
11
+ u as FineGrainText,
12
+ c as INTERACTION_EFFECTS,
13
+ os as ListSignal,
14
+ S as MOTION_PRESETS,
15
+ p as MotionStyles,
16
+ g as Observable,
17
+ b as Observer,
18
+ T as Presence,
19
+ v as ProviderWrapper,
20
+ E as ReactivityRoot,
21
+ d as Reveal,
22
+ C as ScrollProgress,
23
+ R as Signal,
24
+ F as ValueBuilder,
25
+ I as applyResponsiveStyles,
26
+ f as bindText,
27
+ ns as collection,
28
+ m as computed,
29
+ ls as createPage,
30
+ y as createReactivityRoot,
31
+ O as createStore,
32
+ us as cssCurve,
33
+ P as endSsrRequest,
34
+ x as ensureInteractionFxCss,
35
+ cs as ensureListId,
36
+ M as getCss,
37
+ N as getCurrentScope,
38
+ _ as getMotionCss,
39
+ w as getStyleTag,
40
+ A as interactionEffectClass,
41
+ B as interactionEffectKebab,
42
+ L as interp,
43
+ Ss as listSignal,
44
+ V as mount,
45
+ h as normalizeInteractionEffect,
46
+ q as observable,
47
+ ps as page,
48
+ z as resolveCssEase,
49
+ G as runInScope,
50
+ K as scrollTo,
51
+ W as signal,
52
+ X as springEase,
53
+ j as startViewTransition,
54
+ k as supportsScrollTimeline,
55
+ D as supportsViewTimeline,
56
+ H as toElement,
57
+ J as useBuilderState,
58
+ Q as useMountTransition,
59
+ U as useObservable,
60
+ Y as usePrefersReducedMotion,
61
+ Z as useProvider,
62
+ $ as useReactiveStore,
63
+ ss as useScrollProgress,
64
+ as as useSignal,
65
+ es as useSpring,
66
+ ts as useStagger,
67
+ rs as useTransition,
68
+ gs as withFiboStyles
63
69
  };
@@ -0,0 +1,14 @@
1
+ const m = (n, t, c = "rgba(255, 255, 255, 0.3)") => {
2
+ if (!t || typeof document > "u" || typeof window < "u" && typeof window.matchMedia == "function" && window.matchMedia("(prefers-reduced-motion: reduce)").matches)
3
+ return;
4
+ const e = document.createElement("span"), i = Math.max(t.clientWidth, t.clientHeight), o = i / 2, r = t.getBoundingClientRect();
5
+ e.style.width = e.style.height = `${i}px`, e.style.left = `${n.clientX - r.left - o}px`, e.style.top = `${n.clientY - r.top - o}px`, e.style.position = "absolute", e.style.borderRadius = "50%", e.style.transform = "scale(0)", e.style.animation = "fibo-ripple 600ms linear", e.style.backgroundColor = c, e.style.pointerEvents = "none", (t.querySelector(".fibo-ripple-container") || t).appendChild(e);
6
+ let l = !1;
7
+ const s = () => {
8
+ l || (l = !0, window.clearTimeout(d), e.removeEventListener("animationend", a), e.remove());
9
+ }, a = () => s(), d = window.setTimeout(s, 600);
10
+ e.addEventListener("animationend", a);
11
+ };
12
+ export {
13
+ m as createRipple
14
+ };
@@ -0,0 +1,383 @@
1
+ var L = Object.defineProperty;
2
+ var R = (t, r, e) => r in t ? L(t, r, { enumerable: !0, configurable: !0, writable: !0, value: e }) : t[r] = e;
3
+ var i = (t, r, e) => R(t, typeof r != "symbol" ? r + "" : r, e);
4
+ import h from "react";
5
+ import { aT as C, aU as E, au as y, a_ as I, a3 as j, a8 as H, aV as W, aX as M, aW as D } from "./client-CGjHCx8F.js";
6
+ import { jsx as s, jsxs as v } from "react/jsx-runtime";
7
+ function V(t) {
8
+ if (typeof t != "string") return "";
9
+ const r = t.trim();
10
+ return !r || I(r) ? "" : r;
11
+ }
12
+ const $ = ({ size: t }) => h.createElement(
13
+ "svg",
14
+ {
15
+ width: t,
16
+ height: t,
17
+ viewBox: "0 0 24 24",
18
+ "aria-hidden": !0,
19
+ className: "fibo-avatar-user"
20
+ },
21
+ h.createElement("circle", { cx: 12, cy: 12, r: 12, fill: "#f2f2f2" }),
22
+ h.createElement("circle", { cx: 12, cy: 9.4, r: 3.6, fill: "#6a6a6a" }),
23
+ h.createElement("path", {
24
+ d: "M5.6 19.2c.9-3.1 3.4-5 6.4-5s5.5 1.9 6.4 5C16.6 20.6 14.4 21.4 12 21.4s-4.6-.8-6.4-2.2z",
25
+ fill: "#6a6a6a"
26
+ })
27
+ ), U = h.memo((t) => {
28
+ const { image: r, size: e, border: u, shape: g, status: d, initials: b, icon: p, alt: x, className: n, style: o, ...l } = t, c = V(r), _ = typeof e == "number" ? `${e}px` : e, a = typeof e == "number" ? e : 40, F = {
29
+ circle: "50%",
30
+ rounded: "24%",
31
+ square: "0"
32
+ }, k = {
33
+ none: "transparent",
34
+ online: "#10B981",
35
+ offline: "#9CA3AF",
36
+ busy: "#EF4444"
37
+ }, B = d !== "none" ? y().style({
38
+ position: "absolute",
39
+ bottom: "-2%",
40
+ right: "-2%",
41
+ width: "28%",
42
+ height: "28%",
43
+ minWidth: "10px",
44
+ minHeight: "10px",
45
+ backgroundColor: k[d],
46
+ borderRadius: "50%",
47
+ border: "3px solid #ffffff",
48
+ boxSizing: "content-box"
49
+ }).build() : null, f = typeof b == "string" ? b.trim().slice(0, 2).toUpperCase() : "", w = c ? null : f || (p === "user" ? h.createElement($, { size: _ }) : p || null), N = typeof x == "string" && x.trim() || f || "Avatar", A = y().style({
50
+ width: "100%",
51
+ height: "100%",
52
+ borderRadius: F[g],
53
+ backgroundImage: c ? `url(${JSON.stringify(c)})` : void 0,
54
+ backgroundColor: c ? void 0 : (o == null ? void 0 : o.backgroundColor) || (f ? "#ddd" : "transparent"),
55
+ backgroundSize: "cover",
56
+ backgroundPosition: "center",
57
+ border: u,
58
+ boxShadow: u !== "none" ? "0 2px 8px rgba(0,0,0,0.05)" : "none",
59
+ display: "flex",
60
+ alignItems: "center",
61
+ justifyContent: "center",
62
+ overflow: "hidden",
63
+ color: (o == null ? void 0 : o.color) || "#555",
64
+ fontSize: a * 0.42,
65
+ fontWeight: 500,
66
+ lineHeight: 1
67
+ }).children([w]).build();
68
+ return y().className(`fibo-avatar ${n || ""}`).props({
69
+ ...l,
70
+ role: "img",
71
+ "aria-label": N
72
+ }).style({
73
+ position: "relative",
74
+ width: _,
75
+ height: _,
76
+ ...o,
77
+ overflow: "visible"
78
+ }).children([A, B]).build();
79
+ });
80
+ class T extends E {
81
+ constructor() {
82
+ super(...arguments);
83
+ i(this, "_image", "");
84
+ i(this, "_size", 40);
85
+ i(this, "_border", "none");
86
+ i(this, "_shape", "circle");
87
+ i(this, "_status", "none");
88
+ i(this, "_initials");
89
+ i(this, "_icon");
90
+ i(this, "_alt");
91
+ }
92
+ image(e) {
93
+ return this._image = e, this;
94
+ }
95
+ /** Alias for `.image()` — matches `Image().src()` and docs samples. */
96
+ src(e) {
97
+ return this.image(e);
98
+ }
99
+ alt(e) {
100
+ return this._alt = e, this;
101
+ }
102
+ size(e) {
103
+ return this._size = e, this;
104
+ }
105
+ border(e) {
106
+ return this._border = e, this;
107
+ }
108
+ shape(e) {
109
+ return this._shape = e, this;
110
+ }
111
+ status(e) {
112
+ return this._status = e, this;
113
+ }
114
+ initials(e) {
115
+ return this._initials = e, this;
116
+ }
117
+ icon(e = "user") {
118
+ return this._icon = e, this;
119
+ }
120
+ build() {
121
+ const e = {
122
+ ...this._props,
123
+ image: this._image,
124
+ size: this._size,
125
+ border: this._border,
126
+ shape: this._shape,
127
+ status: this._status,
128
+ initials: this._initials,
129
+ icon: this._icon,
130
+ alt: this._alt,
131
+ className: this.getClassName(),
132
+ style: this.getStyle()
133
+ };
134
+ return h.createElement(U, e);
135
+ }
136
+ }
137
+ const re = C(T);
138
+ function q(t) {
139
+ return t === "success" || t === "warning" || t === "error" || t === "info" ? t : "none";
140
+ }
141
+ function P(t) {
142
+ return t === "accent" || t === "outline" || t === "glass" || t === "solid" || t === "dot" || t === "neutral" ? t : "neutral";
143
+ }
144
+ function G(t) {
145
+ return t === "pill" ? "pill" : "rounded";
146
+ }
147
+ const J = h.memo((t) => {
148
+ const { text: r, icon: e, variant: u, intent: g, shape: d, className: b, style: p, ...x } = t, n = q(g), o = P(u), l = G(d), c = {
149
+ none: { bg: "#F9FAFB", text: "#6B7280", border: "#E5E7EB" },
150
+ success: { bg: "#ECFDF5", text: "#059669", border: "transparent" },
151
+ warning: { bg: "#FFFBEB", text: "#D97706", border: "transparent" },
152
+ error: { bg: "#FFF1F2", text: "#E11D48", border: "transparent" },
153
+ info: { bg: "#EFF6FF", text: "#2563EB", border: "transparent" }
154
+ };
155
+ let a = { ...{
156
+ neutral: { backgroundColor: "#F9FAFB", color: "#6B7280", border: "1px solid #E5E7EB" },
157
+ accent: { backgroundColor: "#EFF6FF", color: "#3B82F6", border: "none" },
158
+ outline: { backgroundColor: "transparent", color: "#FFFFFF", border: "1px solid rgba(255,255,255,0.3)" },
159
+ glass: {
160
+ backgroundColor: "rgba(255, 255, 255, 0.85)",
161
+ backdropFilter: "blur(12px)",
162
+ color: "#111827",
163
+ border: "1px solid rgba(255, 255, 255, 0.4)"
164
+ },
165
+ solid: { backgroundColor: "#111827", color: "#FFFFFF", border: "none" },
166
+ dot: { backgroundColor: "transparent", color: "#6B7280", border: "1px solid #E5E7EB", padding: "4px 10px" }
167
+ }[o] };
168
+ if (n !== "none") {
169
+ const f = c[n];
170
+ if (o === "solid") {
171
+ const w = {
172
+ none: "#111827",
173
+ success: "#059669",
174
+ warning: "#D97706",
175
+ error: "#E11D48",
176
+ info: "#2563EB"
177
+ };
178
+ a.backgroundColor = w[n], a.color = "#FFFFFF";
179
+ } else o === "dot" ? (a.color = "#374151", a.borderColor = "#E5E7EB") : (a.backgroundColor = f.bg, a.color = f.text, f.border ? a.border = `1px solid ${f.border}` : a.border = "none");
180
+ }
181
+ const F = {
182
+ pill: "9999px",
183
+ rounded: "8px"
184
+ }, k = n === "error" || n === "warning", B = n === "none" ? {} : {
185
+ role: k ? "alert" : "status",
186
+ "aria-live": k ? "assertive" : "polite"
187
+ };
188
+ return y().className(b).style({
189
+ ...a,
190
+ borderRadius: F[l],
191
+ padding: o === "dot" ? "4px 8px" : "4px 10px",
192
+ display: "inline-flex",
193
+ alignItems: "center",
194
+ justifyContent: "center",
195
+ height: "fit-content",
196
+ fontSize: "11px",
197
+ lineHeight: "1",
198
+ fontWeight: 600,
199
+ ...p
200
+ }).props({
201
+ ...x,
202
+ ...B
203
+ }).children(
204
+ j().gap(6).alignItems("center").children([
205
+ o === "dot" && n !== "none" ? y().style({
206
+ width: "6px",
207
+ height: "6px",
208
+ borderRadius: "50%",
209
+ backgroundColor: c[n].text,
210
+ boxShadow: `0 0 6px ${c[n].text}66`
211
+ }).props({ "aria-hidden": !0 }).build() : null,
212
+ e ? y().classNames(["flex", "items-center"]).children(e).build() : null,
213
+ H(r).fontSize(12).fontWeight(600).style({ color: "inherit" }).build()
214
+ ]).build()
215
+ ).build();
216
+ });
217
+ class O extends E {
218
+ constructor() {
219
+ super(...arguments);
220
+ i(this, "_text", "");
221
+ i(this, "_icon");
222
+ i(this, "_variant", "neutral");
223
+ i(this, "_intent", "none");
224
+ i(this, "_shape", "rounded");
225
+ }
226
+ text(e) {
227
+ return this._text = e, this;
228
+ }
229
+ icon(e) {
230
+ return this._icon = e, this;
231
+ }
232
+ variant(e) {
233
+ return this._variant = e, this;
234
+ }
235
+ intent(e) {
236
+ return this._intent = e, this;
237
+ }
238
+ shape(e) {
239
+ return this._shape = e, this;
240
+ }
241
+ build() {
242
+ const e = {
243
+ text: this._text,
244
+ icon: this._icon,
245
+ variant: this._variant,
246
+ intent: this._intent,
247
+ shape: this._shape,
248
+ className: this.getClassName(),
249
+ style: this.getStyle(),
250
+ ...this._props
251
+ };
252
+ return h.createElement(J, e);
253
+ }
254
+ }
255
+ const ie = C(O);
256
+ function z(t, r) {
257
+ if (!(typeof r != "string" || !W(r)))
258
+ for (const e of M(r))
259
+ t.bindSignal(e);
260
+ }
261
+ function S(t) {
262
+ return typeof t != "string" ? "" : W(t) ? D(t) : t;
263
+ }
264
+ const X = {
265
+ circle: "50%",
266
+ rounded: "8px",
267
+ square: "0px"
268
+ }, K = h.memo((t) => {
269
+ const {
270
+ src: r,
271
+ alt: e,
272
+ fit: u,
273
+ resizable: g,
274
+ clipShape: d,
275
+ frameWidth: b,
276
+ frameHeight: p,
277
+ className: x,
278
+ style: n,
279
+ ...o
280
+ } = t, l = { ...n };
281
+ if (u && (l.objectFit = u), b && (l.width = `${b}px`), p && (l.height = `${p}px`), g && (l.maxWidth = "100%", p || (l.height = "auto")), d === "circle" || d === "rounded" || d === "square") {
282
+ const F = d;
283
+ l.overflow = "hidden", l.borderRadius = X[F];
284
+ }
285
+ const c = S(typeof r == "string" ? r : ""), _ = c && !I(c) ? c : void 0, a = S(typeof e == "string" ? e : "");
286
+ return h.createElement("img", {
287
+ ...o,
288
+ src: _,
289
+ alt: a,
290
+ className: x,
291
+ style: l
292
+ });
293
+ });
294
+ class Q extends E {
295
+ constructor(e = "") {
296
+ super();
297
+ i(this, "_src", "");
298
+ i(this, "_alt", "");
299
+ i(this, "_fit", "cover");
300
+ i(this, "_resizable", !1);
301
+ i(this, "_clipShape");
302
+ i(this, "_frameWidth");
303
+ i(this, "_frameHeight");
304
+ i(this, "_foregroundStyle");
305
+ this.src(e);
306
+ }
307
+ src(e) {
308
+ return this._src = typeof e == "string" ? e : "", z(this, this._src), this;
309
+ }
310
+ alt(e) {
311
+ return this._alt = typeof e == "string" ? e : "", z(this, this._alt), this;
312
+ }
313
+ resizable() {
314
+ return this._resizable = !0, this;
315
+ }
316
+ scaledToFit() {
317
+ return this._fit = "contain", this;
318
+ }
319
+ scaledToFill() {
320
+ return this._fit = "cover", this;
321
+ }
322
+ frame(e) {
323
+ return this._frameWidth = e.width, this._frameHeight = e.height, this;
324
+ }
325
+ clipShape(e) {
326
+ return this._clipShape = e, this;
327
+ }
328
+ foregroundStyle(e) {
329
+ return this._foregroundStyle = e, this;
330
+ }
331
+ build() {
332
+ const e = ["fibo-image", ...this._classNames];
333
+ this._clipShape === "circle" ? e.push("rounded-full") : this._clipShape === "rounded" && e.push("rounded-lg");
334
+ const u = e.filter(Boolean).join(" "), g = this.getStyle();
335
+ this._foregroundStyle && (g.color = this._foregroundStyle);
336
+ const d = {
337
+ ...this._props,
338
+ src: S(this._src),
339
+ alt: S(this._alt),
340
+ fit: this._fit,
341
+ resizable: this._resizable,
342
+ clipShape: this._clipShape,
343
+ frameWidth: this._frameWidth,
344
+ frameHeight: this._frameHeight,
345
+ className: u,
346
+ style: g
347
+ };
348
+ return h.createElement(K, d);
349
+ }
350
+ }
351
+ const se = C(Q), m = { "aria-hidden": !0, focusable: "false" }, oe = {
352
+ Heart: /* @__PURE__ */ s("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", ...m, children: /* @__PURE__ */ s("path", { d: "M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z" }) }),
353
+ Eth: /* @__PURE__ */ s("svg", { width: "14", height: "24", viewBox: "0 0 32 32", fill: "currentColor", ...m, children: /* @__PURE__ */ s("path", { d: "M15.925 23.96l-9.815-5.8 9.815 13.84 9.825-13.84-9.825 5.8zm0-23.96l-9.815 16.275 9.815 5.675 9.825-5.675-9.825-16.275zm0 20.3l-8.915-5.265 8.915-12.42 8.925 12.42-8.925 5.265z" }) }),
354
+ Verify: /* @__PURE__ */ s("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "#3B82F6", stroke: "none", role: "img", "aria-label": "Verified", "aria-hidden": !1, focusable: "false", children: /* @__PURE__ */ s("path", { d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z" }) }),
355
+ More: /* @__PURE__ */ v("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", ...m, children: [
356
+ /* @__PURE__ */ s("circle", { cx: "12", cy: "12", r: "1" }),
357
+ /* @__PURE__ */ s("circle", { cx: "19", cy: "12", r: "1" }),
358
+ /* @__PURE__ */ s("circle", { cx: "5", cy: "12", r: "1" })
359
+ ] }),
360
+ Clock: /* @__PURE__ */ v("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", ...m, children: [
361
+ /* @__PURE__ */ s("circle", { cx: "12", cy: "12", r: "10" }),
362
+ /* @__PURE__ */ s("polyline", { points: "12 6 12 12 16 14" })
363
+ ] }),
364
+ Info: /* @__PURE__ */ v("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", ...m, children: [
365
+ /* @__PURE__ */ s("circle", { cx: "12", cy: "12", r: "10" }),
366
+ /* @__PURE__ */ s("line", { x1: "12", y1: "16", x2: "12", y2: "12" }),
367
+ /* @__PURE__ */ s("line", { x1: "12", y1: "8", x2: "12.01", y2: "8" })
368
+ ] }),
369
+ Check: /* @__PURE__ */ v("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", ...m, children: [
370
+ /* @__PURE__ */ s("path", { d: "M22 11.08V12a10 10 0 1 1-5.93-9.14" }),
371
+ /* @__PURE__ */ s("polyline", { points: "22 4 12 14.01 9 11.01" })
372
+ ] }),
373
+ Close: /* @__PURE__ */ v("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", ...m, children: [
374
+ /* @__PURE__ */ s("line", { x1: "18", y1: "6", x2: "6", y2: "18" }),
375
+ /* @__PURE__ */ s("line", { x1: "6", y1: "6", x2: "18", y2: "18" })
376
+ ] })
377
+ };
378
+ export {
379
+ re as A,
380
+ ie as B,
381
+ se as I,
382
+ oe as a
383
+ };