fiboui 1.0.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 (141) hide show
  1. package/README.md +101 -0
  2. package/dist/content/Alert/index.d.ts +878 -0
  3. package/dist/content/Avatar/index.d.ts +886 -0
  4. package/dist/content/Badge/index.d.ts +887 -0
  5. package/dist/content/Image/index.d.ts +893 -0
  6. package/dist/content/Label/index.d.ts +879 -0
  7. package/dist/content/Progress/index.d.ts +898 -0
  8. package/dist/content/Skeleton/index.d.ts +879 -0
  9. package/dist/content/Spinner/index.d.ts +880 -0
  10. package/dist/content/Text/index.d.ts +878 -0
  11. package/dist/content/index.d.ts +9 -0
  12. package/dist/core/StateWrapper.d.ts +28 -0
  13. package/dist/core/builder.d.ts +50 -0
  14. package/dist/core/component.d.ts +7 -0
  15. package/dist/core/effects.d.ts +3 -0
  16. package/dist/core/icons.d.ts +11 -0
  17. package/dist/core/index.d.ts +5 -0
  18. package/dist/core/state.d.ts +37 -0
  19. package/dist/core/types.d.ts +51 -0
  20. package/dist/demo.d.ts +7 -0
  21. package/dist/effects-Co9C_Dyx.mjs +9 -0
  22. package/dist/examples/ScaffoldExamples.d.ts +3 -0
  23. package/dist/examples/StateExamples.d.ts +5 -0
  24. package/dist/index.d.ts +6 -0
  25. package/dist/index.esm.js +4622 -0
  26. package/dist/index.umd.js +251 -0
  27. package/dist/interactive/Button/index.d.ts +897 -0
  28. package/dist/interactive/Checkbox/index.d.ts +884 -0
  29. package/dist/interactive/Combobox/index.d.ts +898 -0
  30. package/dist/interactive/RadioGroup/index.d.ts +888 -0
  31. package/dist/interactive/Select/index.d.ts +895 -0
  32. package/dist/interactive/Switch/index.d.ts +881 -0
  33. package/dist/interactive/TextField/index.d.ts +892 -0
  34. package/dist/interactive/Textarea/index.d.ts +890 -0
  35. package/dist/interactive/index.d.ts +8 -0
  36. package/dist/layout/Center/index.d.ts +869 -0
  37. package/dist/layout/Column/index.d.ts +881 -0
  38. package/dist/layout/Container/index.d.ts +870 -0
  39. package/dist/layout/DashboardLayout/index.d.ts +870 -0
  40. package/dist/layout/Header/index.d.ts +870 -0
  41. package/dist/layout/Line/index.d.ts +872 -0
  42. package/dist/layout/Row/index.d.ts +879 -0
  43. package/dist/layout/Scaffold/index.d.ts +878 -0
  44. package/dist/layout/ScrollView/index.d.ts +879 -0
  45. package/dist/layout/Sidebar/index.d.ts +870 -0
  46. package/dist/layout/Spacer/index.d.ts +875 -0
  47. package/dist/layout/StakentComponents.d.ts +4 -0
  48. package/dist/layout/index.d.ts +11 -0
  49. package/dist/structure/Banner/index.d.ts +879 -0
  50. package/dist/structure/Box/index.d.ts +869 -0
  51. package/dist/structure/Card/index.d.ts +881 -0
  52. package/dist/structure/Collapse/index.d.ts +884 -0
  53. package/dist/structure/Grid/index.d.ts +1757 -0
  54. package/dist/structure/List/index.d.ts +888 -0
  55. package/dist/structure/Table/index.d.ts +895 -0
  56. package/dist/structure/Tags/index.d.ts +876 -0
  57. package/dist/structure/cards/AssetCard/index.d.ts +884 -0
  58. package/dist/structure/cards/CollectionCard/index.d.ts +880 -0
  59. package/dist/structure/cards/ContentCard/index.d.ts +884 -0
  60. package/dist/structure/cards/ProfileCard/index.d.ts +892 -0
  61. package/dist/structure/cards/index.d.ts +5 -0
  62. package/dist/structure/cards/variants/index.d.ts +3490 -0
  63. package/dist/structure/index.d.ts +9 -0
  64. package/dist/style.css +1 -0
  65. package/dist/theme/cupertino.d.ts +3 -0
  66. package/dist/theme/index.d.ts +5 -0
  67. package/dist/theme/material.d.ts +3 -0
  68. package/dist/theme/provider.d.ts +16 -0
  69. package/dist/theme/types.d.ts +57 -0
  70. package/dist/theme/web.d.ts +3 -0
  71. package/package.json +54 -0
  72. package/src/content/Alert/index.ts +110 -0
  73. package/src/content/Avatar/index.ts +116 -0
  74. package/src/content/Badge/index.ts +162 -0
  75. package/src/content/Image/index.ts +137 -0
  76. package/src/content/Label/index.ts +66 -0
  77. package/src/content/Progress/index.ts +378 -0
  78. package/src/content/Skeleton/index.ts +71 -0
  79. package/src/content/Spinner/index.ts +139 -0
  80. package/src/content/Text/index.ts +74 -0
  81. package/src/content/index.ts +9 -0
  82. package/src/core/StateWrapper.tsx +105 -0
  83. package/src/core/builder.ts +259 -0
  84. package/src/core/component.ts +49 -0
  85. package/src/core/effects.ts +27 -0
  86. package/src/core/icons.tsx +57 -0
  87. package/src/core/index.ts +5 -0
  88. package/src/core/state.ts +233 -0
  89. package/src/core/types.ts +62 -0
  90. package/src/demo.tsx +1045 -0
  91. package/src/examples/ScaffoldExamples.tsx +299 -0
  92. package/src/examples/StateExamples.tsx +149 -0
  93. package/src/index.ts +8 -0
  94. package/src/interactive/Button/index.ts +218 -0
  95. package/src/interactive/Checkbox/index.ts +145 -0
  96. package/src/interactive/Combobox/index.ts +278 -0
  97. package/src/interactive/RadioGroup/index.ts +124 -0
  98. package/src/interactive/Select/index.ts +227 -0
  99. package/src/interactive/Switch/index.ts +123 -0
  100. package/src/interactive/TextField/index.ts +200 -0
  101. package/src/interactive/Textarea/index.ts +129 -0
  102. package/src/interactive/index.ts +8 -0
  103. package/src/layout/Center/index.ts +34 -0
  104. package/src/layout/Column/index.ts +101 -0
  105. package/src/layout/Container/index.ts +28 -0
  106. package/src/layout/DashboardLayout/index.ts +106 -0
  107. package/src/layout/Header/index.ts +50 -0
  108. package/src/layout/Line/index.ts +41 -0
  109. package/src/layout/Row/index.ts +93 -0
  110. package/src/layout/Scaffold/index.ts +133 -0
  111. package/src/layout/ScrollView/index.ts +67 -0
  112. package/src/layout/Sidebar/index.ts +56 -0
  113. package/src/layout/Spacer/index.ts +46 -0
  114. package/src/layout/StakentComponents.tsx +57 -0
  115. package/src/layout/index.ts +11 -0
  116. package/src/structure/Banner/index.ts +92 -0
  117. package/src/structure/Box/index.ts +45 -0
  118. package/src/structure/Card/index.ts +113 -0
  119. package/src/structure/Collapse/index.ts +122 -0
  120. package/src/structure/Grid/index.ts +197 -0
  121. package/src/structure/List/index.ts +185 -0
  122. package/src/structure/Table/index.ts +165 -0
  123. package/src/structure/Tags/index.ts +69 -0
  124. package/src/structure/cards/AssetCard/index.ts +158 -0
  125. package/src/structure/cards/CollectionCard/index.ts +95 -0
  126. package/src/structure/cards/ContentCard/index.ts +127 -0
  127. package/src/structure/cards/ProfileCard/index.ts +152 -0
  128. package/src/structure/cards/index.ts +5 -0
  129. package/src/structure/cards/variants/index.ts +301 -0
  130. package/src/structure/index.ts +10 -0
  131. package/src/styles/base.css +186 -0
  132. package/src/styles/core.css +52 -0
  133. package/src/styles/themes/cupertino.css +197 -0
  134. package/src/styles/themes/material.css +322 -0
  135. package/src/styles/themes/web.css +196 -0
  136. package/src/theme/cupertino.ts +85 -0
  137. package/src/theme/index.ts +5 -0
  138. package/src/theme/material.ts +86 -0
  139. package/src/theme/provider.tsx +76 -0
  140. package/src/theme/types.ts +62 -0
  141. package/src/theme/web.ts +82 -0
@@ -0,0 +1,4622 @@
1
+ var ie = Object.defineProperty;
2
+ var oe = (i, t, e) => t in i ? ie(i, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : i[t] = e;
3
+ var o = (i, t, e) => oe(i, typeof t != "symbol" ? t + "" : t, e);
4
+ import { jsx as S, Fragment as K, jsxs as P } from "react/jsx-runtime";
5
+ import s, { createContext as G, useContext as X, useState as W, useEffect as H, useRef as Q } from "react";
6
+ function Z(i) {
7
+ var t, e, r = "";
8
+ if (typeof i == "string" || typeof i == "number") r += i;
9
+ else if (typeof i == "object") if (Array.isArray(i)) {
10
+ var n = i.length;
11
+ for (t = 0; t < n; t++) i[t] && (e = Z(i[t])) && (r && (r += " "), r += e);
12
+ } else for (e in i) i[e] && (r && (r += " "), r += e);
13
+ return r;
14
+ }
15
+ function ne() {
16
+ for (var i, t, e = 0, r = "", n = arguments.length; e < n; e++) (i = arguments[e]) && (t = Z(i)) && (r && (r += " "), r += t);
17
+ return r;
18
+ }
19
+ function le(i) {
20
+ const t = i.match(/oklch\(\s*([\d.]+)\s+([\d.]+)\s+([\d.]+)\s*\)/);
21
+ if (!t)
22
+ return i;
23
+ const [, e, r, n] = t, l = parseFloat(e), a = parseFloat(r), c = parseFloat(n), h = a * Math.cos(c * Math.PI / 180), p = a * Math.sin(c * Math.PI / 180), u = l + 0.3963377774 * h + 0.2158037573 * p, m = l - 0.1055613458 * h - 0.0638541728 * p, d = l - 0.0894841775 * h - 1.291485548 * p, f = u * u * u, C = m * m * m, v = d * d * d, B = 4.0767416621 * f - 3.3077115913 * C + 0.2309699292 * v, $ = -1.2684380046 * f + 2.6097574011 * C - 0.3413193965 * v, k = -0.0041960863 * f - 0.7034186147 * C + 1.707614701 * v, E = (I) => I >= 31308e-7 ? 1.055 * I ** (1 / 2.4) - 0.055 : 12.92 * I, y = Math.max(0, Math.min(1, E(B))), g = Math.max(0, Math.min(1, E($))), F = Math.max(0, Math.min(1, E(k))), A = (I) => {
24
+ var z;
25
+ const _ = (z = Math.round(I * 255).toString(16)) == null ? void 0 : z.toUpperCase();
26
+ return _.length === 1 ? `0${_}` : _;
27
+ };
28
+ return `#${A(y)}${A(g)}${A(F)}`;
29
+ }
30
+ function ae(i) {
31
+ const t = {}, e = {}, r = i.split(`
32
+ `);
33
+ for (const n of r) {
34
+ const l = n.trim();
35
+ if (!l || l.startsWith("//") || l.startsWith("*") || l === "@theme {" || l === "}")
36
+ continue;
37
+ const a = l.match(/^--color-([a-z0-9\-]+): (oklch\([^)]+\));?$/), c = l.match(/^--color-([a-z0-9\-]+): (#[a-fA-F0-9]{3,6});?$/);
38
+ if (a) {
39
+ const [, h, p] = a, u = le(p);
40
+ t[u.toLowerCase()] = `bg-${h}`, e[u.toLowerCase()] = `text-${h}`;
41
+ } else if (c) {
42
+ const [, h, p] = c;
43
+ t[p.toLowerCase()] = `bg-${h}`, e[p.toLowerCase()] = `text-${h}`;
44
+ }
45
+ }
46
+ return { background: t, text: e };
47
+ }
48
+ const ce = (i) => {
49
+ if (i !== void 0)
50
+ return typeof i == "number" ? `${i}px` : i.toString();
51
+ }, D = (i, t) => {
52
+ const e = ce(t);
53
+ return e === void 0 ? "" : `${i}-[${e}]`;
54
+ }, he = `
55
+ --color-red-50: oklch(0.971 0.013 17.38);
56
+ --color-red-100: oklch(0.936 0.032 17.717);
57
+ --color-red-200: oklch(0.885 0.062 18.334);
58
+ --color-red-300: oklch(0.808 0.114 19.571);
59
+ --color-red-400: oklch(0.704 0.191 22.216);
60
+ --color-red-500: oklch(0.637 0.237 25.331);
61
+ --color-red-600: oklch(0.577 0.245 27.325);
62
+ --color-red-700: oklch(0.505 0.213 27.518);
63
+ --color-red-800: oklch(0.444 0.177 26.899);
64
+ --color-red-900: oklch(0.396 0.141 25.723);
65
+ --color-red-950: oklch(0.258 0.092 26.042);
66
+ --color-orange-50: oklch(0.98 0.016 73.684);
67
+ --color-orange-100: oklch(0.954 0.038 75.164);
68
+ --color-orange-200: oklch(0.901 0.076 70.697);
69
+ --color-orange-300: oklch(0.837 0.128 66.29);
70
+ --color-orange-400: oklch(0.75 0.183 55.934);
71
+ --color-orange-500: oklch(0.705 0.213 47.604);
72
+ --color-orange-600: oklch(0.646 0.222 41.116);
73
+ --color-orange-700: oklch(0.553 0.195 38.402);
74
+ --color-orange-800: oklch(0.47 0.157 37.304);
75
+ --color-orange-900: oklch(0.408 0.123 38.172);
76
+ --color-orange-950: oklch(0.266 0.079 36.259);
77
+ --color-amber-50: oklch(0.987 0.022 95.277);
78
+ --color-amber-100: oklch(0.962 0.059 95.617);
79
+ --color-amber-200: oklch(0.924 0.12 95.746);
80
+ --color-amber-300: oklch(0.879 0.169 91.605);
81
+ --color-amber-400: oklch(0.828 0.189 84.429);
82
+ --color-amber-500: oklch(0.769 0.188 70.08);
83
+ --color-amber-600: oklch(0.666 0.179 58.318);
84
+ --color-amber-700: oklch(0.555 0.163 48.998);
85
+ --color-amber-800: oklch(0.473 0.137 46.201);
86
+ --color-amber-900: oklch(0.414 0.112 45.904);
87
+ --color-amber-950: oklch(0.279 0.077 45.635);
88
+ --color-yellow-50: oklch(0.987 0.026 102.212);
89
+ --color-yellow-100: oklch(0.973 0.071 103.193);
90
+ --color-yellow-200: oklch(0.945 0.129 101.54);
91
+ --color-yellow-300: oklch(0.905 0.182 98.111);
92
+ --color-yellow-400: oklch(0.852 0.199 91.936);
93
+ --color-yellow-500: oklch(0.795 0.184 86.047);
94
+ --color-yellow-600: oklch(0.681 0.162 75.834);
95
+ --color-yellow-700: oklch(0.554 0.135 66.442);
96
+ --color-yellow-800: oklch(0.476 0.114 61.907);
97
+ --color-yellow-900: oklch(0.421 0.095 57.708);
98
+ --color-yellow-950: oklch(0.286 0.066 53.813);
99
+ --color-lime-50: oklch(0.986 0.031 120.757);
100
+ --color-lime-100: oklch(0.967 0.067 122.328);
101
+ --color-lime-200: oklch(0.938 0.127 124.321);
102
+ --color-lime-300: oklch(0.897 0.196 126.665);
103
+ --color-lime-400: oklch(0.841 0.238 128.85);
104
+ --color-lime-500: oklch(0.768 0.233 130.85);
105
+ --color-lime-600: oklch(0.648 0.2 131.684);
106
+ --color-lime-700: oklch(0.532 0.157 131.589);
107
+ --color-lime-800: oklch(0.453 0.124 130.933);
108
+ --color-lime-900: oklch(0.405 0.101 131.063);
109
+ --color-lime-950: oklch(0.274 0.072 132.109);
110
+ --color-green-50: oklch(0.982 0.018 155.826);
111
+ --color-green-100: oklch(0.962 0.044 156.743);
112
+ --color-green-200: oklch(0.925 0.084 155.995);
113
+ --color-green-300: oklch(0.871 0.15 154.449);
114
+ --color-green-400: oklch(0.792 0.209 151.711);
115
+ --color-green-500: oklch(0.723 0.219 149.579);
116
+ --color-green-600: oklch(0.627 0.194 149.214);
117
+ --color-green-700: oklch(0.527 0.154 150.069);
118
+ --color-green-800: oklch(0.448 0.119 151.328);
119
+ --color-green-900: oklch(0.393 0.095 152.535);
120
+ --color-green-950: oklch(0.266 0.065 152.934);
121
+ --color-emerald-50: oklch(0.979 0.021 166.113);
122
+ --color-emerald-100: oklch(0.95 0.052 163.051);
123
+ --color-emerald-200: oklch(0.905 0.093 164.15);
124
+ --color-emerald-300: oklch(0.845 0.143 164.978);
125
+ --color-emerald-400: oklch(0.765 0.177 163.223);
126
+ --color-emerald-500: oklch(0.696 0.17 162.48);
127
+ --color-emerald-600: oklch(0.596 0.145 163.225);
128
+ --color-emerald-700: oklch(0.508 0.118 165.612);
129
+ --color-emerald-800: oklch(0.432 0.095 166.913);
130
+ --color-emerald-900: oklch(0.378 0.077 168.94);
131
+ --color-emerald-950: oklch(0.262 0.051 172.552);
132
+ --color-teal-50: oklch(0.984 0.014 180.72);
133
+ --color-teal-100: oklch(0.953 0.051 180.801);
134
+ --color-teal-200: oklch(0.91 0.096 180.426);
135
+ --color-teal-300: oklch(0.855 0.138 181.071);
136
+ --color-teal-400: oklch(0.777 0.152 181.912);
137
+ --color-teal-500: oklch(0.704 0.14 182.503);
138
+ --color-teal-600: oklch(0.6 0.118 184.704);
139
+ --color-teal-700: oklch(0.511 0.096 186.391);
140
+ --color-teal-800: oklch(0.437 0.078 188.216);
141
+ --color-teal-900: oklch(0.386 0.063 188.416);
142
+ --color-teal-950: oklch(0.277 0.046 192.524);
143
+ --color-cyan-50: oklch(0.984 0.019 200.873);
144
+ --color-cyan-100: oklch(0.956 0.045 203.388);
145
+ --color-cyan-200: oklch(0.917 0.08 205.041);
146
+ --color-cyan-300: oklch(0.865 0.127 207.078);
147
+ --color-cyan-400: oklch(0.789 0.154 211.53);
148
+ --color-cyan-500: oklch(0.715 0.143 215.221);
149
+ --color-cyan-600: oklch(0.609 0.126 221.723);
150
+ --color-cyan-700: oklch(0.52 0.105 223.128);
151
+ --color-cyan-800: oklch(0.45 0.085 224.283);
152
+ --color-cyan-900: oklch(0.398 0.07 227.392);
153
+ --color-cyan-950: oklch(0.302 0.056 229.695);
154
+ --color-sky-50: oklch(0.977 0.013 236.62);
155
+ --color-sky-100: oklch(0.951 0.026 236.824);
156
+ --color-sky-200: oklch(0.901 0.058 230.902);
157
+ --color-sky-300: oklch(0.828 0.111 230.318);
158
+ --color-sky-400: oklch(0.746 0.16 232.661);
159
+ --color-sky-500: oklch(0.685 0.169 237.323);
160
+ --color-sky-600: oklch(0.588 0.158 241.966);
161
+ --color-sky-700: oklch(0.5 0.134 242.749);
162
+ --color-sky-800: oklch(0.443 0.11 240.79);
163
+ --color-sky-900: oklch(0.391 0.09 240.876);
164
+ --color-sky-950: oklch(0.293 0.066 243.157);
165
+ --color-blue-50: oklch(0.97 0.014 254.604);
166
+ --color-blue-100: oklch(0.932 0.032 255.585);
167
+ --color-blue-200: oklch(0.882 0.059 254.128);
168
+ --color-blue-300: oklch(0.809 0.105 251.813);
169
+ --color-blue-400: oklch(0.707 0.165 254.624);
170
+ --color-blue-500: oklch(0.623 0.214 259.815);
171
+ --color-blue-600: oklch(0.546 0.245 262.881);
172
+ --color-blue-700: oklch(0.488 0.243 264.376);
173
+ --color-blue-800: oklch(0.424 0.199 265.638);
174
+ --color-blue-900: oklch(0.379 0.146 265.522);
175
+ --color-blue-950: oklch(0.282 0.091 267.935);
176
+ --color-indigo-50: oklch(0.962 0.018 272.314);
177
+ --color-indigo-100: oklch(0.93 0.034 272.788);
178
+ --color-indigo-200: oklch(0.87 0.065 274.039);
179
+ --color-indigo-300: oklch(0.785 0.115 274.713);
180
+ --color-indigo-400: oklch(0.673 0.182 276.935);
181
+ --color-indigo-500: oklch(0.585 0.233 277.117);
182
+ --color-indigo-600: oklch(0.511 0.262 276.966);
183
+ --color-indigo-700: oklch(0.457 0.24 277.023);
184
+ --color-indigo-800: oklch(0.398 0.195 277.366);
185
+ --color-indigo-900: oklch(0.359 0.144 278.697);
186
+ --color-indigo-950: oklch(0.257 0.09 281.288);
187
+ --color-violet-50: oklch(0.969 0.016 293.756);
188
+ --color-violet-100: oklch(0.943 0.029 294.588);
189
+ --color-violet-200: oklch(0.894 0.057 293.283);
190
+ --color-violet-300: oklch(0.811 0.111 293.571);
191
+ --color-violet-400: oklch(0.702 0.183 293.541);
192
+ --color-violet-500: oklch(0.606 0.25 292.717);
193
+ --color-violet-600: oklch(0.541 0.281 293.009);
194
+ --color-violet-700: oklch(0.491 0.27 292.581);
195
+ --color-violet-800: oklch(0.432 0.232 292.759);
196
+ --color-violet-900: oklch(0.38 0.189 293.745);
197
+ --color-violet-950: oklch(0.283 0.141 291.089);
198
+ --color-purple-50: oklch(0.977 0.014 308.299);
199
+ --color-purple-100: oklch(0.946 0.033 307.174);
200
+ --color-purple-200: oklch(0.902 0.063 306.703);
201
+ --color-purple-300: oklch(0.827 0.119 306.383);
202
+ --color-purple-400: oklch(0.714 0.203 305.504);
203
+ --color-purple-500: oklch(0.627 0.265 303.9);
204
+ --color-purple-600: oklch(0.558 0.288 302.321);
205
+ --color-purple-700: oklch(0.496 0.265 301.924);
206
+ --color-purple-800: oklch(0.438 0.218 303.724);
207
+ --color-purple-900: oklch(0.381 0.176 304.987);
208
+ --color-purple-950: oklch(0.291 0.149 302.717);
209
+ --color-fuchsia-50: oklch(0.977 0.017 320.058);
210
+ --color-fuchsia-100: oklch(0.952 0.037 318.852);
211
+ --color-fuchsia-200: oklch(0.903 0.076 319.62);
212
+ --color-fuchsia-300: oklch(0.833 0.145 321.434);
213
+ --color-fuchsia-400: oklch(0.74 0.238 322.16);
214
+ --color-fuchsia-500: oklch(0.667 0.295 322.15);
215
+ --color-fuchsia-600: oklch(0.591 0.293 322.896);
216
+ --color-fuchsia-700: oklch(0.518 0.253 323.949);
217
+ --color-fuchsia-800: oklch(0.452 0.211 324.591);
218
+ --color-fuchsia-900: oklch(0.401 0.17 325.612);
219
+ --color-fuchsia-950: oklch(0.293 0.136 325.661);
220
+ --color-pink-50: oklch(0.971 0.014 343.198);
221
+ --color-pink-100: oklch(0.948 0.028 342.258);
222
+ --color-pink-200: oklch(0.899 0.061 343.231);
223
+ --color-pink-300: oklch(0.823 0.12 346.018);
224
+ --color-pink-400: oklch(0.718 0.202 349.761);
225
+ --color-pink-500: oklch(0.656 0.241 354.308);
226
+ --color-pink-600: oklch(0.592 0.249 0.584);
227
+ --color-pink-700: oklch(0.525 0.223 3.958);
228
+ --color-pink-800: oklch(0.459 0.187 3.815);
229
+ --color-pink-900: oklch(0.408 0.153 2.432);
230
+ --color-pink-950: oklch(0.284 0.109 3.907);
231
+ --color-rose-50: oklch(0.969 0.015 12.422);
232
+ --color-rose-100: oklch(0.941 0.03 12.58);
233
+ --color-rose-200: oklch(0.892 0.058 10.001);
234
+ --color-rose-300: oklch(0.81 0.117 11.638);
235
+ --color-rose-400: oklch(0.712 0.194 13.428);
236
+ --color-rose-500: oklch(0.645 0.246 16.439);
237
+ --color-rose-600: oklch(0.586 0.253 17.585);
238
+ --color-rose-700: oklch(0.514 0.222 16.935);
239
+ --color-rose-800: oklch(0.455 0.188 13.697);
240
+ --color-rose-900: oklch(0.41 0.159 10.272);
241
+ --color-rose-950: oklch(0.271 0.105 12.094);
242
+ --color-slate-50: oklch(0.984 0.003 247.858);
243
+ --color-slate-100: oklch(0.968 0.007 247.896);
244
+ --color-slate-200: oklch(0.929 0.013 255.508);
245
+ --color-slate-300: oklch(0.869 0.022 252.894);
246
+ --color-slate-400: oklch(0.704 0.04 256.788);
247
+ --color-slate-500: oklch(0.554 0.046 257.417);
248
+ --color-slate-600: oklch(0.446 0.043 257.281);
249
+ --color-slate-700: oklch(0.372 0.044 257.287);
250
+ --color-slate-800: oklch(0.279 0.041 260.031);
251
+ --color-slate-900: oklch(0.208 0.042 265.755);
252
+ --color-slate-950: oklch(0.129 0.042 264.695);
253
+ --color-gray-50: oklch(0.985 0.002 247.839);
254
+ --color-gray-100: oklch(0.967 0.003 264.542);
255
+ --color-gray-200: oklch(0.928 0.006 264.531);
256
+ --color-gray-300: oklch(0.872 0.01 258.338);
257
+ --color-gray-400: oklch(0.707 0.022 261.325);
258
+ --color-gray-500: oklch(0.551 0.027 264.364);
259
+ --color-gray-600: oklch(0.446 0.03 256.802);
260
+ --color-gray-700: oklch(0.373 0.034 259.733);
261
+ --color-gray-800: oklch(0.278 0.033 256.848);
262
+ --color-gray-900: oklch(0.21 0.034 264.665);
263
+ --color-gray-950: oklch(0.13 0.028 261.692);
264
+ --color-zinc-50: oklch(0.985 0 0);
265
+ --color-zinc-100: oklch(0.967 0.001 286.375);
266
+ --color-zinc-200: oklch(0.92 0.004 286.32);
267
+ --color-zinc-300: oklch(0.871 0.006 286.286);
268
+ --color-zinc-400: oklch(0.705 0.015 286.067);
269
+ --color-zinc-500: oklch(0.552 0.016 285.938);
270
+ --color-zinc-600: oklch(0.442 0.017 285.786);
271
+ --color-zinc-700: oklch(0.37 0.013 285.805);
272
+ --color-zinc-800: oklch(0.274 0.006 286.033);
273
+ --color-zinc-900: oklch(0.21 0.006 285.885);
274
+ --color-zinc-950: oklch(0.141 0.005 285.823);
275
+ --color-neutral-50: oklch(0.985 0 0);
276
+ --color-neutral-100: oklch(0.97 0 0);
277
+ --color-neutral-200: oklch(0.922 0 0);
278
+ --color-neutral-300: oklch(0.87 0 0);
279
+ --color-neutral-400: oklch(0.708 0 0);
280
+ --color-neutral-500: oklch(0.556 0 0);
281
+ --color-neutral-600: oklch(0.439 0 0);
282
+ --color-neutral-700: oklch(0.371 0 0);
283
+ --color-neutral-800: oklch(0.269 0 0);
284
+ --color-neutral-900: oklch(0.205 0 0);
285
+ --color-neutral-950: oklch(0.145 0 0);
286
+ --color-stone-50: oklch(0.985 0.001 106.423);
287
+ --color-stone-100: oklch(0.97 0.001 106.424);
288
+ --color-stone-200: oklch(0.923 0.003 48.717);
289
+ --color-stone-300: oklch(0.869 0.005 56.366);
290
+ --color-stone-400: oklch(0.709 0.01 56.259);
291
+ --color-stone-500: oklch(0.553 0.013 58.071);
292
+ --color-stone-600: oklch(0.444 0.011 73.639);
293
+ --color-stone-700: oklch(0.374 0.01 67.558);
294
+ --color-stone-800: oklch(0.268 0.007 34.298);
295
+ --color-stone-900: oklch(0.216 0.006 56.043);
296
+ --color-stone-950: oklch(0.147 0.004 49.25);
297
+ --color-black: #000;
298
+ --color-white: #fff;
299
+ `, de = ae(he), ee = {
300
+ borderRadius: {
301
+ 0: "rounded-none",
302
+ "0px": "rounded-none",
303
+ "1px": "rounded-sm",
304
+ "2px": "rounded-sm",
305
+ "3px": "rounded",
306
+ "4px": "rounded",
307
+ "5px": "rounded-md",
308
+ "6px": "rounded-md",
309
+ "7px": "rounded-lg",
310
+ "8px": "rounded-lg",
311
+ "9px": "rounded-lg",
312
+ "10px": "rounded-lg",
313
+ "11px": "rounded-xl",
314
+ "12px": "rounded-xl",
315
+ "14px": "rounded-2xl",
316
+ "16px": "rounded-2xl",
317
+ "20px": "rounded-3xl",
318
+ "50%": "rounded-full",
319
+ "9999px": "rounded-full"
320
+ },
321
+ fontSize: {
322
+ "0.75rem": "text-xs",
323
+ "0.875rem": "text-sm",
324
+ "1rem": "text-base",
325
+ "1.125rem": "text-lg",
326
+ "1.25rem": "text-xl",
327
+ "1.5rem": "text-2xl",
328
+ "1.875rem": "text-3xl",
329
+ "2.25rem": "text-4xl",
330
+ "3rem": "text-5xl",
331
+ "3.75rem": "text-6xl",
332
+ "4.5rem": "text-7xl",
333
+ "6rem": "text-8xl",
334
+ "8rem": "text-9xl"
335
+ },
336
+ fontWeight: {
337
+ 100: "font-thin",
338
+ 200: "font-extralight",
339
+ 300: "font-light",
340
+ 400: "font-normal",
341
+ 500: "font-medium",
342
+ 600: "font-semibold",
343
+ 700: "font-bold",
344
+ 800: "font-extrabold",
345
+ 900: "font-black"
346
+ },
347
+ fontFamily: {
348
+ "ui-serif": "font-serif",
349
+ "ui-monospace": "font-mono",
350
+ "ui-sans-serif": "font-sans",
351
+ default: "font-sans"
352
+ },
353
+ textAlign: {
354
+ left: "text-left",
355
+ center: "text-center",
356
+ right: "text-right",
357
+ justify: "text-justify"
358
+ },
359
+ textDecoration: {
360
+ underline: "underline",
361
+ overline: "overline",
362
+ "line-through": "line-through",
363
+ none: "no-underline"
364
+ },
365
+ fontVariantNumeric: {
366
+ "tabular-nums": "tabular-nums",
367
+ "oldstyle-nums": "oldstyle-nums",
368
+ "lining-nums": "lining-nums",
369
+ "proportional-nums": "proportional-nums",
370
+ "diagonal-fractions": "diagonal-fractions",
371
+ "stacked-fractions": "stacked-fractions",
372
+ ordinal: "ordinal",
373
+ "slashed-zero": "slashed-zero",
374
+ normal: "normal-nums"
375
+ },
376
+ fontStyle: {
377
+ normal: "normal",
378
+ italic: "italic",
379
+ oblique: "oblique"
380
+ },
381
+ display: {
382
+ block: "block",
383
+ flex: "flex",
384
+ "inline-flex": "inline-flex",
385
+ grid: "grid",
386
+ hidden: "hidden",
387
+ none: "hidden"
388
+ },
389
+ position: {
390
+ static: "static",
391
+ relative: "relative",
392
+ absolute: "absolute",
393
+ fixed: "fixed",
394
+ sticky: "sticky"
395
+ }
396
+ }, ue = (i, t) => ({
397
+ // 背景色
398
+ backgroundColor: (e) => e.backgroundColor ? [i.background[e.backgroundColor.toLowerCase()] || `bg-[${e.backgroundColor}]`] : [],
399
+ // 文字色
400
+ color: (e) => e.color ? [i.text[e.color.toLowerCase()] || `text-[${e.color}]`] : [],
401
+ // 圆角
402
+ borderRadius: (e) => {
403
+ if (!e.borderRadius)
404
+ return [];
405
+ const r = ee.borderRadius[e.borderRadius] || D("rounded", e.borderRadius);
406
+ return r ? [r] : [];
407
+ },
408
+ // 外边距
409
+ margin: (e) => {
410
+ const r = [];
411
+ if (e.margin !== void 0) {
412
+ const l = D("m", e.margin);
413
+ return l ? [l] : [];
414
+ }
415
+ return [
416
+ { prop: e.marginTop, dir: "mt" },
417
+ { prop: e.marginRight, dir: "mr" },
418
+ { prop: e.marginBottom, dir: "mb" },
419
+ { prop: e.marginLeft, dir: "ml" },
420
+ { prop: e.marginX, dir: "mx" },
421
+ { prop: e.marginY, dir: "my" }
422
+ ].forEach(({ prop: l, dir: a }) => {
423
+ if (l !== void 0) {
424
+ const c = D(a, l);
425
+ c && r.push(c);
426
+ }
427
+ }), r;
428
+ },
429
+ // 内边距
430
+ padding: (e) => {
431
+ const r = [];
432
+ if (e.padding !== void 0) {
433
+ const l = D("p", e.padding);
434
+ return l ? [l] : [];
435
+ }
436
+ return [
437
+ { prop: e.paddingTop, dir: "pt" },
438
+ { prop: e.paddingRight, dir: "pr" },
439
+ { prop: e.paddingBottom, dir: "pb" },
440
+ { prop: e.paddingLeft, dir: "pl" },
441
+ { prop: e.paddingX, dir: "px" },
442
+ { prop: e.paddingY, dir: "py" }
443
+ ].forEach(({ prop: l, dir: a }) => {
444
+ if (l !== void 0) {
445
+ const c = D(a, l);
446
+ c && r.push(c);
447
+ }
448
+ }), r;
449
+ },
450
+ // 字体
451
+ font: (e) => {
452
+ const r = [];
453
+ if (e.fontSize && r.push(t.fontSize[e.fontSize.toString()] || `text-[${e.fontSize}]`), e.fontWeight) {
454
+ const n = t.fontWeight[e.fontWeight.toString()];
455
+ n && r.push(n);
456
+ }
457
+ if (e.textAlign) {
458
+ const n = t.textAlign[e.textAlign];
459
+ n && r.push(n);
460
+ }
461
+ if (e.fontFamily) {
462
+ const n = t.fontFamily[e.fontFamily];
463
+ n && r.push(n);
464
+ }
465
+ if (e.textDecoration) {
466
+ const n = t.textDecoration[e.textDecoration];
467
+ n && r.push(n);
468
+ }
469
+ if (e.fontVariantNumeric) {
470
+ const n = t.fontVariantNumeric[e.fontVariantNumeric];
471
+ n && r.push(n);
472
+ }
473
+ if (e.fontStyle) {
474
+ const n = t.fontStyle[e.fontStyle];
475
+ n && r.push(n);
476
+ }
477
+ return r;
478
+ },
479
+ // 尺寸
480
+ size: (e) => {
481
+ const r = [];
482
+ if (e.width) {
483
+ const n = e.width.toString();
484
+ r.push(`w-[${n}]`);
485
+ }
486
+ if (e.height) {
487
+ const n = e.height.toString();
488
+ r.push(`h-[${n}]`);
489
+ }
490
+ return r;
491
+ },
492
+ // 布局
493
+ layout: (e) => {
494
+ const r = [];
495
+ if (e.display) {
496
+ const n = t.display[e.display];
497
+ n && r.push(n);
498
+ }
499
+ if (e.flexDirection) {
500
+ const l = {
501
+ row: "flex-row",
502
+ column: "flex-col",
503
+ "row-reverse": "flex-row-reverse",
504
+ "column-reverse": "flex-col-reverse"
505
+ }[e.flexDirection];
506
+ l && r.push(l);
507
+ }
508
+ if (e.justifyContent) {
509
+ const l = {
510
+ "flex-start": "justify-start",
511
+ "flex-end": "justify-end",
512
+ center: "justify-center",
513
+ "space-between": "justify-between",
514
+ "space-around": "justify-around",
515
+ "space-evenly": "justify-evenly"
516
+ }[e.justifyContent];
517
+ l && r.push(l);
518
+ }
519
+ if (e.alignItems) {
520
+ const l = {
521
+ "flex-start": "items-start",
522
+ "flex-end": "items-end",
523
+ center: "items-center",
524
+ baseline: "items-baseline",
525
+ stretch: "items-stretch"
526
+ }[e.alignItems];
527
+ l && r.push(l);
528
+ }
529
+ if (e.gap) {
530
+ const n = D("gap", e.gap);
531
+ n && r.push(n);
532
+ }
533
+ return r;
534
+ },
535
+ // 定位
536
+ position: (e) => e.position ? [t.position[e.position] || ""].filter(Boolean) : [],
537
+ // 透明度
538
+ opacity: (e) => {
539
+ if (e.opacity === void 0)
540
+ return [];
541
+ const r = typeof e.opacity == "string" ? parseFloat(e.opacity) : e.opacity;
542
+ return [`opacity-${{
543
+ 0: "0",
544
+ 0.25: "25",
545
+ 0.5: "50",
546
+ 0.75: "75",
547
+ 1: "100"
548
+ }[r] || Math.round(r * 100)}`];
549
+ },
550
+ // 自定义类名
551
+ className: (e) => e.className ? [e.className] : []
552
+ }), me = {
553
+ backgroundColor: "backgroundColor",
554
+ color: "color",
555
+ borderRadius: "borderRadius",
556
+ margin: "margin",
557
+ marginTop: "margin",
558
+ marginRight: "margin",
559
+ marginBottom: "margin",
560
+ marginLeft: "margin",
561
+ marginX: "margin",
562
+ marginY: "margin",
563
+ padding: "padding",
564
+ paddingTop: "padding",
565
+ paddingRight: "padding",
566
+ paddingBottom: "padding",
567
+ paddingLeft: "padding",
568
+ paddingX: "padding",
569
+ paddingY: "padding",
570
+ fontSize: "font",
571
+ fontWeight: "font",
572
+ textAlign: "font",
573
+ textDecoration: "font",
574
+ fontVariantNumeric: "font",
575
+ fontStyle: "font",
576
+ width: "size",
577
+ height: "size",
578
+ display: "layout",
579
+ flexDirection: "layout",
580
+ justifyContent: "layout",
581
+ alignItems: "layout",
582
+ gap: "layout",
583
+ position: "position",
584
+ opacity: "opacity",
585
+ className: "className"
586
+ }, pe = (i, t) => {
587
+ const e = (t == null ? void 0 : t.colorMaps) || de, r = (t == null ? void 0 : t.styleMaps) || ee, n = ue(e, r), l = [], a = /* @__PURE__ */ new Set();
588
+ return Object.keys(i).forEach((c) => {
589
+ const h = me[c];
590
+ if (h && !a.has(h)) {
591
+ const p = n[h];
592
+ if (p) {
593
+ const u = p(i);
594
+ l.push(...u), a.add(h);
595
+ }
596
+ }
597
+ }), l.filter(Boolean).join(" ");
598
+ };
599
+ class b {
600
+ constructor() {
601
+ o(this, "_props", {});
602
+ o(this, "_style", {});
603
+ o(this, "_cssStyles", {});
604
+ o(this, "_classNames", []);
605
+ o(this, "_children", []);
606
+ o(this, "_responsive");
607
+ o(this, "_state", /* @__PURE__ */ new Map());
608
+ o(this, "_providers", /* @__PURE__ */ new Map());
609
+ o(this, "_observers", /* @__PURE__ */ new Set());
610
+ o(this, "_signals", /* @__PURE__ */ new Set());
611
+ o(this, "_isObserver", !1);
612
+ }
613
+ id(t) {
614
+ return this._props.id = t, this;
615
+ }
616
+ paddingHorizontal(t) {
617
+ return typeof t == "number" ? this._classNames.push(`px-[${t}px]`) : this._classNames.push(`px-${t}`), this;
618
+ }
619
+ paddingVertical(t) {
620
+ return typeof t == "number" ? this._classNames.push(`py-[${t}px]`) : this._classNames.push(`py-${t}`), this;
621
+ }
622
+ marginHorizontal(t) {
623
+ return typeof t == "number" ? this._classNames.push(`mx-[${t}px]`) : this._classNames.push(`mx-${t}`), this;
624
+ }
625
+ marginVertical(t) {
626
+ return typeof t == "number" ? this._classNames.push(`my-[${t}px]`) : this._classNames.push(`my-${t}`), this;
627
+ }
628
+ flexDirection(t) {
629
+ return this._classNames.push(`flex-${t}`), this;
630
+ }
631
+ alignItems(t) {
632
+ return this._classNames.push(`items-${t}`), this;
633
+ }
634
+ justifyContent(t) {
635
+ return this._classNames.push(`justify-${t}`), this;
636
+ }
637
+ responsive(t) {
638
+ return this._responsive = t, this;
639
+ }
640
+ state(t, e) {
641
+ return this._state.set(t, e), this;
642
+ }
643
+ getState(t) {
644
+ return this._state.get(t);
645
+ }
646
+ setState(t, e) {
647
+ return this._state.set(t, e), this;
648
+ }
649
+ provide(t, e) {
650
+ return this._providers.set(t, e), this;
651
+ }
652
+ consume(t) {
653
+ return this._providers.get(t);
654
+ }
655
+ observer() {
656
+ return this._isObserver = !0, this;
657
+ }
658
+ observe(t) {
659
+ return this._observers.add(t), this;
660
+ }
661
+ bindSignal(t) {
662
+ return this._signals.add(t), this;
663
+ }
664
+ hasStateManagement() {
665
+ return this._state.size > 0 || this._providers.size > 0 || this._observers.size > 0 || this._signals.size > 0 || this._isObserver;
666
+ }
667
+ className(t) {
668
+ return this._classNames.push(t), this;
669
+ }
670
+ classNames(t) {
671
+ return this._classNames.push(...t), this;
672
+ }
673
+ css(t) {
674
+ return this._cssStyles = { ...this._cssStyles, ...t }, this;
675
+ }
676
+ style(t) {
677
+ return this._style = { ...this._style, ...t }, this;
678
+ }
679
+ props(t) {
680
+ return this._props = { ...this._props, ...t }, this;
681
+ }
682
+ children(t) {
683
+ const e = Array.isArray(t) ? t : [t];
684
+ return this._children = e.map((r) => r && typeof r == "object" && "build" in r && typeof r.build == "function" ? r.build() : r), this;
685
+ }
686
+ getClassName() {
687
+ if (Object.keys(this._cssStyles).length > 0) {
688
+ const t = pe(this._cssStyles);
689
+ t && this._classNames.push(t);
690
+ }
691
+ return ne(this._classNames);
692
+ }
693
+ getStyle() {
694
+ let t = { ...this._style, ...this._cssStyles };
695
+ return this._responsive && this._responsive.mobile && (t = { ...t, ...this._responsive.mobile }), t;
696
+ }
697
+ processChildren() {
698
+ return this._children;
699
+ }
700
+ }
701
+ function x(i) {
702
+ return (...t) => {
703
+ const e = new i(...t);
704
+ return new Proxy(e, {
705
+ get(r, n, l) {
706
+ return Reflect.has(r, n) ? Reflect.get(r, n, l) : (a) => (r.css({ [n]: a }), l);
707
+ }
708
+ });
709
+ };
710
+ }
711
+ function ns(i) {
712
+ return (Array.isArray(i) ? i : [i]).map((e) => e && typeof e == "object" && "build" in e ? e.build() : e);
713
+ }
714
+ function ls(...i) {
715
+ return i.reduce((t, e) => e ? { ...t, ...e } : t, {});
716
+ }
717
+ function as(i, t) {
718
+ if (!t) return i;
719
+ let e = { ...i };
720
+ if (typeof window < "u") {
721
+ const r = window.innerWidth;
722
+ r < 768 && t.mobile ? e = { ...e, ...t.mobile } : r >= 768 && r < 1024 && t.tablet ? e = { ...e, ...t.tablet } : r >= 1024 && t.desktop && (e = { ...e, ...t.desktop });
723
+ }
724
+ return e;
725
+ }
726
+ function cs(i, t = "px") {
727
+ return typeof i == "number" ? `${i}${t}` : i;
728
+ }
729
+ class fe {
730
+ constructor(t) {
731
+ o(this, "_value");
732
+ o(this, "subscribers", /* @__PURE__ */ new Set());
733
+ this._value = t;
734
+ }
735
+ get value() {
736
+ return this._value;
737
+ }
738
+ set value(t) {
739
+ this._value !== t && (this._value = t, this.notify());
740
+ }
741
+ subscribe(t) {
742
+ return this.subscribers.add(t), () => this.subscribers.delete(t);
743
+ }
744
+ notify() {
745
+ this.subscribers.forEach((t) => t(this._value));
746
+ }
747
+ }
748
+ class ge {
749
+ constructor(t) {
750
+ o(this, "_value");
751
+ o(this, "subscribers", /* @__PURE__ */ new Set());
752
+ o(this, "dependencies", /* @__PURE__ */ new Set());
753
+ o(this, "unsubscribers", []);
754
+ this.compute = t, this._value = this.recompute();
755
+ }
756
+ get value() {
757
+ return this._value;
758
+ }
759
+ subscribe(t) {
760
+ return this.subscribers.add(t), () => this.subscribers.delete(t);
761
+ }
762
+ recompute() {
763
+ this.unsubscribers.forEach((e) => e()), this.unsubscribers = [], this.dependencies.clear();
764
+ const t = this.compute();
765
+ return this._value !== t && (this._value = t, this.notify()), t;
766
+ }
767
+ notify() {
768
+ this.subscribers.forEach((t) => t(this._value));
769
+ }
770
+ }
771
+ function hs(i) {
772
+ return new fe(i);
773
+ }
774
+ function ds(i) {
775
+ return new ge(i);
776
+ }
777
+ function us(i) {
778
+ let t;
779
+ return (() => {
780
+ typeof t == "function" && t(), t = i();
781
+ })(), () => {
782
+ typeof t == "function" && t();
783
+ };
784
+ }
785
+ class be {
786
+ constructor(t) {
787
+ o(this, "_value");
788
+ o(this, "listeners", /* @__PURE__ */ new Set());
789
+ this._value = t;
790
+ }
791
+ get() {
792
+ return this._value;
793
+ }
794
+ set(t) {
795
+ this._value !== t && (this._value = t, this.listeners.forEach((e) => e(t)));
796
+ }
797
+ subscribe(t) {
798
+ return this.listeners.add(t), () => this.listeners.delete(t);
799
+ }
800
+ }
801
+ function ms(i) {
802
+ return new be(i);
803
+ }
804
+ class xe {
805
+ constructor(t) {
806
+ o(this, "state");
807
+ o(this, "listeners", /* @__PURE__ */ new Set());
808
+ this.state = t;
809
+ }
810
+ getState() {
811
+ return this.state;
812
+ }
813
+ setState(t) {
814
+ const e = typeof t == "function" ? t(this.state) : t;
815
+ this.state = { ...this.state, ...e }, this.listeners.forEach((r) => r(this.state));
816
+ }
817
+ subscribe(t) {
818
+ return this.listeners.add(t), () => this.listeners.delete(t);
819
+ }
820
+ }
821
+ function ps(i) {
822
+ return new xe(i);
823
+ }
824
+ const Y = /* @__PURE__ */ new Map();
825
+ function fs(i, t) {
826
+ Y.set(i, t);
827
+ }
828
+ function gs(i) {
829
+ return Y.get(i);
830
+ }
831
+ function bs() {
832
+ Y.clear();
833
+ }
834
+ const te = G(/* @__PURE__ */ new Map());
835
+ function xs() {
836
+ return X(te);
837
+ }
838
+ function ys({ stateMap: i, children: t }) {
839
+ const [e] = W(() => new Map(i));
840
+ return /* @__PURE__ */ S(te.Provider, { value: e, children: t });
841
+ }
842
+ function _s({ observables: i, children: t }) {
843
+ const [, e] = W({});
844
+ return H(() => {
845
+ const r = Array.from(i).map(
846
+ (n) => n.subscribe(() => e({}))
847
+ );
848
+ return () => r.forEach((n) => n());
849
+ }, [i]), /* @__PURE__ */ S(K, { children: t });
850
+ }
851
+ function ks({ signals: i, children: t }) {
852
+ const [, e] = W({});
853
+ return H(() => {
854
+ const r = Array.from(i).map(
855
+ (n) => n.subscribe(() => e({}))
856
+ );
857
+ return () => r.forEach((n) => n());
858
+ }, [i]), /* @__PURE__ */ S(K, { children: t });
859
+ }
860
+ const se = G(/* @__PURE__ */ new Map());
861
+ function vs(i) {
862
+ return X(se).get(i);
863
+ }
864
+ function ye({ providers: i, children: t }) {
865
+ return /* @__PURE__ */ S(se.Provider, { value: i, children: t });
866
+ }
867
+ const _e = {
868
+ name: "material",
869
+ colors: {
870
+ primary: "#6200EE",
871
+ primaryVariant: "#3700B3",
872
+ secondary: "#03DAC6",
873
+ secondaryVariant: "#018786",
874
+ background: "#FFFFFF",
875
+ surface: "#FFFFFF",
876
+ error: "#B00020",
877
+ success: "#4CAF50",
878
+ warning: "#FF9800",
879
+ info: "#2196F3",
880
+ onPrimary: "#FFFFFF",
881
+ onSecondary: "#000000",
882
+ onBackground: "#000000",
883
+ onSurface: "#000000",
884
+ onError: "#FFFFFF"
885
+ },
886
+ typography: {
887
+ h1: {
888
+ fontSize: "96px",
889
+ fontWeight: 300,
890
+ letterSpacing: "-1.5px"
891
+ },
892
+ h2: {
893
+ fontSize: "60px",
894
+ fontWeight: 300,
895
+ letterSpacing: "-0.5px"
896
+ },
897
+ h3: {
898
+ fontSize: "48px",
899
+ fontWeight: 400
900
+ },
901
+ h4: {
902
+ fontSize: "34px",
903
+ fontWeight: 400,
904
+ letterSpacing: "0.25px"
905
+ },
906
+ h5: {
907
+ fontSize: "24px",
908
+ fontWeight: 400
909
+ },
910
+ h6: {
911
+ fontSize: "20px",
912
+ fontWeight: 500,
913
+ letterSpacing: "0.15px"
914
+ },
915
+ body: {
916
+ fontSize: "16px",
917
+ fontWeight: 400,
918
+ letterSpacing: "0.5px"
919
+ },
920
+ caption: {
921
+ fontSize: "12px",
922
+ fontWeight: 400,
923
+ letterSpacing: "0.4px"
924
+ },
925
+ label: {
926
+ fontSize: "14px",
927
+ fontWeight: 500,
928
+ letterSpacing: "1.25px"
929
+ }
930
+ },
931
+ spacing: {
932
+ xs: "4px",
933
+ sm: "8px",
934
+ md: "16px",
935
+ lg: "24px",
936
+ xl: "32px"
937
+ },
938
+ borderRadius: {
939
+ sm: "4px",
940
+ md: "8px",
941
+ lg: "16px",
942
+ full: "9999px"
943
+ },
944
+ shadows: {
945
+ sm: "0 2px 4px rgba(0,0,0,0.1)",
946
+ md: "0 4px 8px rgba(0,0,0,0.12)",
947
+ lg: "0 8px 16px rgba(0,0,0,0.14)"
948
+ },
949
+ fontFamily: "Roboto, sans-serif"
950
+ }, ke = {
951
+ name: "cupertino",
952
+ colors: {
953
+ primary: "#007AFF",
954
+ secondary: "#AF52DE",
955
+ background: "#FFFFFF",
956
+ surface: "#F2F2F7",
957
+ error: "#FF3B30",
958
+ success: "#34C759",
959
+ warning: "#FF9500",
960
+ info: "#5AC8FA",
961
+ onPrimary: "#FFFFFF",
962
+ onSecondary: "#FFFFFF",
963
+ onBackground: "#000000",
964
+ onSurface: "#000000",
965
+ onError: "#FFFFFF"
966
+ },
967
+ typography: {
968
+ h1: {
969
+ fontSize: "34px",
970
+ fontWeight: 700,
971
+ letterSpacing: "0.37px"
972
+ },
973
+ h2: {
974
+ fontSize: "28px",
975
+ fontWeight: 700,
976
+ letterSpacing: "0.36px"
977
+ },
978
+ h3: {
979
+ fontSize: "22px",
980
+ fontWeight: 600,
981
+ letterSpacing: "0.35px"
982
+ },
983
+ h4: {
984
+ fontSize: "20px",
985
+ fontWeight: 600
986
+ },
987
+ h5: {
988
+ fontSize: "17px",
989
+ fontWeight: 600,
990
+ letterSpacing: "-0.41px"
991
+ },
992
+ h6: {
993
+ fontSize: "15px",
994
+ fontWeight: 600,
995
+ letterSpacing: "-0.24px"
996
+ },
997
+ body: {
998
+ fontSize: "17px",
999
+ fontWeight: 400,
1000
+ letterSpacing: "-0.41px"
1001
+ },
1002
+ caption: {
1003
+ fontSize: "13px",
1004
+ fontWeight: 400,
1005
+ letterSpacing: "-0.08px"
1006
+ },
1007
+ label: {
1008
+ fontSize: "15px",
1009
+ fontWeight: 500,
1010
+ letterSpacing: "-0.24px"
1011
+ }
1012
+ },
1013
+ spacing: {
1014
+ xs: "4px",
1015
+ sm: "8px",
1016
+ md: "12px",
1017
+ lg: "20px",
1018
+ xl: "32px"
1019
+ },
1020
+ borderRadius: {
1021
+ sm: "8px",
1022
+ md: "12px",
1023
+ lg: "20px",
1024
+ full: "9999px"
1025
+ },
1026
+ shadows: {
1027
+ sm: "0 1px 3px rgba(0,0,0,0.08)",
1028
+ md: "0 2px 8px rgba(0,0,0,0.1)",
1029
+ lg: "0 4px 16px rgba(0,0,0,0.12)"
1030
+ },
1031
+ fontFamily: '-apple-system, BlinkMacSystemFont, "SF Pro Text", sans-serif'
1032
+ }, ve = {
1033
+ name: "web",
1034
+ colors: {
1035
+ primary: "#3B82F6",
1036
+ secondary: "#8B5CF6",
1037
+ background: "#FFFFFF",
1038
+ surface: "#F9FAFB",
1039
+ error: "#EF4444",
1040
+ success: "#10B981",
1041
+ warning: "#F59E0B",
1042
+ info: "#06B6D4",
1043
+ onPrimary: "#FFFFFF",
1044
+ onSecondary: "#FFFFFF",
1045
+ onBackground: "#111827",
1046
+ onSurface: "#374151",
1047
+ onError: "#FFFFFF"
1048
+ },
1049
+ typography: {
1050
+ h1: {
1051
+ fontSize: "60px",
1052
+ fontWeight: 800,
1053
+ letterSpacing: "-0.02em"
1054
+ },
1055
+ h2: {
1056
+ fontSize: "48px",
1057
+ fontWeight: 700,
1058
+ letterSpacing: "-0.01em"
1059
+ },
1060
+ h3: {
1061
+ fontSize: "36px",
1062
+ fontWeight: 700
1063
+ },
1064
+ h4: {
1065
+ fontSize: "30px",
1066
+ fontWeight: 600
1067
+ },
1068
+ h5: {
1069
+ fontSize: "24px",
1070
+ fontWeight: 600
1071
+ },
1072
+ h6: {
1073
+ fontSize: "20px",
1074
+ fontWeight: 600
1075
+ },
1076
+ body: {
1077
+ fontSize: "16px",
1078
+ fontWeight: 400,
1079
+ lineHeight: "1.5"
1080
+ },
1081
+ caption: {
1082
+ fontSize: "14px",
1083
+ fontWeight: 400,
1084
+ lineHeight: "1.4"
1085
+ },
1086
+ label: {
1087
+ fontSize: "14px",
1088
+ fontWeight: 500,
1089
+ letterSpacing: "0.01em"
1090
+ }
1091
+ },
1092
+ spacing: {
1093
+ xs: "4px",
1094
+ sm: "8px",
1095
+ md: "16px",
1096
+ lg: "24px",
1097
+ xl: "32px"
1098
+ },
1099
+ borderRadius: {
1100
+ sm: "6px",
1101
+ md: "8px",
1102
+ lg: "12px",
1103
+ full: "9999px"
1104
+ },
1105
+ shadows: {
1106
+ sm: "0 1px 2px rgba(0,0,0,0.05)",
1107
+ md: "0 4px 6px rgba(0,0,0,0.07)",
1108
+ lg: "0 10px 15px rgba(0,0,0,0.1)"
1109
+ },
1110
+ fontFamily: "Inter, system-ui, sans-serif"
1111
+ }, re = G(void 0), J = {
1112
+ material: _e,
1113
+ cupertino: ke,
1114
+ web: ve
1115
+ };
1116
+ function ws({
1117
+ theme: i = "material",
1118
+ children: t
1119
+ }) {
1120
+ const [e, r] = W(i), [n, l] = W(J[i]);
1121
+ H(() => {
1122
+ const c = J[e];
1123
+ if (l(c), typeof document < "u") {
1124
+ const h = document.documentElement;
1125
+ h.classList.remove("fibo-theme-material", "fibo-theme-cupertino", "fibo-theme-web"), h.classList.add(`fibo-theme-${e}`), h.style.setProperty("--fibo-primary", c.colors.primary), h.style.setProperty("--fibo-secondary", c.colors.secondary), h.style.setProperty("--fibo-background", c.colors.background), h.style.setProperty("--fibo-surface", c.colors.surface), h.style.setProperty("--fibo-error", c.colors.error), h.style.setProperty("--fibo-font-family", c.fontFamily);
1126
+ }
1127
+ }, [e]);
1128
+ const a = {
1129
+ theme: n,
1130
+ themeName: e,
1131
+ setTheme: r
1132
+ };
1133
+ return /* @__PURE__ */ S(re.Provider, { value: a, children: t });
1134
+ }
1135
+ function Ns() {
1136
+ const i = X(re);
1137
+ if (!i)
1138
+ throw new Error("useFiboTheme must be used within a FiboThemeProvider");
1139
+ return i;
1140
+ }
1141
+ class we extends b {
1142
+ build() {
1143
+ const t = this.getClassName(), e = this.getStyle(), r = this.processChildren();
1144
+ return s.createElement(
1145
+ "div",
1146
+ {
1147
+ className: `fibo-container ${t}`,
1148
+ style: e,
1149
+ ...this._props
1150
+ },
1151
+ ...r
1152
+ );
1153
+ }
1154
+ }
1155
+ const Cs = x(we);
1156
+ class Ne extends b {
1157
+ constructor() {
1158
+ super(...arguments);
1159
+ o(this, "_mainAxisAlignment", "start");
1160
+ o(this, "_crossAxisAlignment", "start");
1161
+ o(this, "_spacing");
1162
+ }
1163
+ mainAxisAlignment(e) {
1164
+ return this._mainAxisAlignment = e, this;
1165
+ }
1166
+ crossAxisAlignment(e) {
1167
+ return this._crossAxisAlignment = e, this;
1168
+ }
1169
+ spacing(e) {
1170
+ return this._spacing = e, this;
1171
+ }
1172
+ items(e) {
1173
+ return this.children(e), this;
1174
+ }
1175
+ build() {
1176
+ const e = {
1177
+ start: "justify-start",
1178
+ center: "justify-center",
1179
+ end: "justify-end",
1180
+ spaceBetween: "justify-between",
1181
+ spaceAround: "justify-around",
1182
+ spaceEvenly: "justify-evenly"
1183
+ }, r = {
1184
+ start: "items-start",
1185
+ center: "items-center",
1186
+ end: "items-end",
1187
+ stretch: "items-stretch"
1188
+ }, n = [
1189
+ "fibo-row",
1190
+ "flex",
1191
+ "flex-row",
1192
+ e[this._mainAxisAlignment],
1193
+ r[this._crossAxisAlignment],
1194
+ ...this._classNames
1195
+ ], l = this.getStyle();
1196
+ this._spacing && (typeof this._spacing == "number" ? l.gap = `${this._spacing}px` : isNaN(Number(this._spacing)) ? l.gap = this._spacing : l.gap = `${Number(this._spacing) * 4}px`);
1197
+ const a = n.filter(Boolean).join(" "), c = this.processChildren();
1198
+ return s.createElement(
1199
+ "div",
1200
+ {
1201
+ className: a,
1202
+ style: l,
1203
+ ...this._props
1204
+ },
1205
+ ...c
1206
+ );
1207
+ }
1208
+ }
1209
+ const L = x(Ne);
1210
+ class Ce extends b {
1211
+ constructor() {
1212
+ super(...arguments);
1213
+ o(this, "_mainAxisAlignment", "start");
1214
+ o(this, "_crossAxisAlignment", "start");
1215
+ o(this, "_spacing");
1216
+ o(this, "_size");
1217
+ }
1218
+ mainAxisAlignment(e) {
1219
+ return this._mainAxisAlignment = e, this;
1220
+ }
1221
+ crossAxisAlignment(e) {
1222
+ return this._crossAxisAlignment = e, this;
1223
+ }
1224
+ spacing(e) {
1225
+ return this._spacing = e, this;
1226
+ }
1227
+ size(e) {
1228
+ return this._size = e, this;
1229
+ }
1230
+ build() {
1231
+ const e = {
1232
+ start: "justify-start",
1233
+ center: "justify-center",
1234
+ end: "justify-end",
1235
+ spaceBetween: "justify-between",
1236
+ spaceAround: "justify-around",
1237
+ spaceEvenly: "justify-evenly"
1238
+ }, r = {
1239
+ start: "items-start",
1240
+ center: "items-center",
1241
+ end: "items-end",
1242
+ stretch: "items-stretch"
1243
+ }, n = {
1244
+ small: "flex-[0.3]",
1245
+ medium: "flex-1",
1246
+ large: "flex-[1.5]"
1247
+ }, l = [
1248
+ "fibo-column",
1249
+ "flex",
1250
+ "flex-col",
1251
+ e[this._mainAxisAlignment],
1252
+ r[this._crossAxisAlignment],
1253
+ this._size ? n[this._size] : "",
1254
+ ...this._classNames
1255
+ ], a = this.getStyle();
1256
+ this._spacing && (typeof this._spacing == "number" ? a.gap = `${this._spacing}px` : isNaN(Number(this._spacing)) ? a.gap = this._spacing : a.gap = `${Number(this._spacing) * 4}px`);
1257
+ const c = l.filter(Boolean).join(" "), h = this.processChildren();
1258
+ return s.createElement(
1259
+ "div",
1260
+ {
1261
+ className: c,
1262
+ style: a,
1263
+ ...this._props
1264
+ },
1265
+ ...h
1266
+ );
1267
+ }
1268
+ }
1269
+ const R = x(Ce);
1270
+ class Ee extends b {
1271
+ constructor() {
1272
+ super(...arguments);
1273
+ o(this, "_height");
1274
+ o(this, "_width");
1275
+ }
1276
+ height(e) {
1277
+ return this._height = e, this;
1278
+ }
1279
+ width(e) {
1280
+ return this._width = e, this;
1281
+ }
1282
+ build() {
1283
+ const e = this.getStyle();
1284
+ this._height && (e.height = typeof this._height == "number" ? `${this._height}px` : this._height), this._width && (e.width = typeof this._width == "number" ? `${this._width}px` : this._width);
1285
+ const r = this.getClassName();
1286
+ return s.createElement("div", {
1287
+ className: `fibo-spacer ${r}`,
1288
+ style: e,
1289
+ ...this._props
1290
+ });
1291
+ }
1292
+ }
1293
+ const O = x(Ee);
1294
+ class Se extends b {
1295
+ constructor() {
1296
+ super(...arguments);
1297
+ o(this, "_sizeHeight");
1298
+ }
1299
+ sizeHeight(e) {
1300
+ return this._sizeHeight = e, this;
1301
+ }
1302
+ build() {
1303
+ const r = ["fibo-line", "flex", "flex-row", ...this._classNames].filter(Boolean).join(" "), n = this.getStyle();
1304
+ this._sizeHeight && (n.height = this._sizeHeight);
1305
+ const l = this.processChildren();
1306
+ return s.createElement(
1307
+ "div",
1308
+ {
1309
+ className: r,
1310
+ style: n,
1311
+ ...this._props
1312
+ },
1313
+ ...l
1314
+ );
1315
+ }
1316
+ }
1317
+ const Es = x(Se);
1318
+ class Fe extends b {
1319
+ build() {
1320
+ const e = [
1321
+ "fibo-center",
1322
+ "flex",
1323
+ "items-center",
1324
+ "justify-center",
1325
+ ...this._classNames
1326
+ ].filter(Boolean).join(" "), r = this.getStyle(), n = this.processChildren();
1327
+ return s.createElement(
1328
+ "div",
1329
+ {
1330
+ className: e,
1331
+ style: r,
1332
+ ...this._props
1333
+ },
1334
+ ...n
1335
+ );
1336
+ }
1337
+ }
1338
+ const Ss = x(Fe);
1339
+ class ze extends b {
1340
+ constructor() {
1341
+ super(...arguments);
1342
+ o(this, "_direction", "vertical");
1343
+ o(this, "_scrollbar", "auto");
1344
+ }
1345
+ direction(e) {
1346
+ return this._direction = e, this;
1347
+ }
1348
+ horizontal() {
1349
+ return this._direction = "horizontal", this;
1350
+ }
1351
+ vertical() {
1352
+ return this._direction = "vertical", this;
1353
+ }
1354
+ scrollbar(e) {
1355
+ return this._scrollbar = e, this;
1356
+ }
1357
+ build() {
1358
+ const e = {
1359
+ overflowX: this._direction === "horizontal" || this._direction === "both" ? "auto" : "hidden",
1360
+ overflowY: this._direction === "vertical" || this._direction === "both" ? "auto" : "hidden",
1361
+ WebkitOverflowScrolling: "touch",
1362
+ display: "flex",
1363
+ flexDirection: this._direction === "horizontal" ? "row" : "column",
1364
+ ...this.getStyle()
1365
+ }, r = [...this.getClassName().split(" ")];
1366
+ return this._scrollbar === "hidden" && (r.push("scrollbar-hide"), e.scrollbarWidth = "none", e.msOverflowStyle = "none"), s.createElement("div", {
1367
+ className: r.join(" "),
1368
+ style: e,
1369
+ ...this._props
1370
+ }, ...this._children);
1371
+ }
1372
+ }
1373
+ const Fs = x(ze), Be = s.memo((i) => {
1374
+ const { height: t = 64, sticky: e, className: r, style: n, children: l, ...a } = i;
1375
+ return s.createElement(
1376
+ "header",
1377
+ {
1378
+ className: `flex items-center px-6 border-b border-gray-200 bg-white/80 backdrop-blur-md z-10 w-full ${e ? "sticky top-0" : ""} ${r || ""}`,
1379
+ style: { height: t, minHeight: t, ...n },
1380
+ ...a
1381
+ },
1382
+ l
1383
+ );
1384
+ });
1385
+ class $e extends b {
1386
+ constructor() {
1387
+ super(...arguments);
1388
+ o(this, "_height", 64);
1389
+ o(this, "_sticky", !1);
1390
+ }
1391
+ height(e) {
1392
+ return this._height = e, this;
1393
+ }
1394
+ sticky(e = !0) {
1395
+ return this._sticky = e, this;
1396
+ }
1397
+ build() {
1398
+ const e = {
1399
+ height: this._height,
1400
+ sticky: this._sticky,
1401
+ className: this.getClassName(),
1402
+ style: this.getStyle(),
1403
+ children: this.processChildren(),
1404
+ ...this._props
1405
+ };
1406
+ return s.createElement(Be, e);
1407
+ }
1408
+ }
1409
+ const zs = x($e), Ae = s.memo((i) => {
1410
+ const { width: t = 260, collapsed: e, className: r, style: n, children: l, ...a } = i, c = e ? 80 : t;
1411
+ return s.createElement(
1412
+ "aside",
1413
+ {
1414
+ className: `flex flex-col border-r border-gray-200 bg-white transition-all duration-300 h-full ${r || ""}`,
1415
+ style: { width: c, minWidth: c, ...n },
1416
+ ...a
1417
+ },
1418
+ l
1419
+ );
1420
+ });
1421
+ class Ie extends b {
1422
+ constructor() {
1423
+ super(...arguments);
1424
+ o(this, "_width", 260);
1425
+ o(this, "_collapsed", !1);
1426
+ }
1427
+ width(e) {
1428
+ return this._width = e, this;
1429
+ }
1430
+ collapsible(e = !1) {
1431
+ return this._collapsed = e, this;
1432
+ }
1433
+ build() {
1434
+ const e = {
1435
+ width: this._width,
1436
+ collapsed: this._collapsed,
1437
+ className: this.getClassName(),
1438
+ style: this.getStyle(),
1439
+ children: this.processChildren(),
1440
+ ...this._props
1441
+ };
1442
+ return s.createElement(Ae, e);
1443
+ }
1444
+ }
1445
+ const Bs = x(Ie), je = s.memo((i) => {
1446
+ const { sidebar: t, header: e, children: r, className: n, style: l, ...a } = i, [c, h] = W(!1);
1447
+ return s.createElement(
1448
+ "div",
1449
+ {
1450
+ className: `h-full w-full bg-[#0B0C15] overflow-hidden relative ${n || ""}`,
1451
+ style: l,
1452
+ ...a
1453
+ },
1454
+ c && s.createElement("div", {
1455
+ className: "fixed inset-0 z-40 bg-black/50 backdrop-blur-sm transition-opacity lg:hidden",
1456
+ onClick: () => h(!1)
1457
+ }),
1458
+ s.createElement(
1459
+ "button",
1460
+ {
1461
+ className: "lg:hidden fixed top-4 right-4 z-50 p-2 rounded-lg bg-[#1A1B23] border border-white/10 text-white shadow-lg",
1462
+ onClick: () => h(!c)
1463
+ },
1464
+ s.createElement("div", { className: c ? "i-heroicons-x-mark w-6 h-6" : "i-heroicons-bars-3 w-6 h-6" })
1465
+ ),
1466
+ s.createElement(
1467
+ "div",
1468
+ {
1469
+ className: "grid h-full w-full lg:grid-cols-[260px_1fr] transition-all duration-300"
1470
+ },
1471
+ s.createElement(
1472
+ "aside",
1473
+ {
1474
+ className: `
1475
+ fixed inset-y-0 left-0 z-50 w-[260px] bg-[#0B0C15] border-r border-white/5 transition-transform duration-300 transform
1476
+ lg:relative lg:translate-x-0
1477
+ ${c ? "translate-x-0 shadow-2xl" : "-translate-x-full"}
1478
+ `
1479
+ },
1480
+ t
1481
+ ),
1482
+ s.createElement(
1483
+ "main",
1484
+ {
1485
+ className: "flex flex-col min-w-0 h-full overflow-hidden relative"
1486
+ },
1487
+ e && s.createElement("div", { className: "flex-shrink-0" }, e),
1488
+ s.createElement(
1489
+ "div",
1490
+ { className: "flex-1 overflow-y-auto scrollbar-hide p-4 lg:p-0" },
1491
+ r
1492
+ )
1493
+ )
1494
+ )
1495
+ );
1496
+ });
1497
+ class We extends b {
1498
+ constructor() {
1499
+ super(...arguments);
1500
+ o(this, "_sidebar");
1501
+ o(this, "_header");
1502
+ }
1503
+ sidebar(e) {
1504
+ return this._sidebar = e, this;
1505
+ }
1506
+ header(e) {
1507
+ return this._header = e, this;
1508
+ }
1509
+ build() {
1510
+ const e = {
1511
+ sidebar: this._sidebar,
1512
+ header: this._header,
1513
+ className: this.getClassName(),
1514
+ style: this.getStyle(),
1515
+ children: this.processChildren(),
1516
+ ...this._props
1517
+ };
1518
+ return s.createElement(je, e);
1519
+ }
1520
+ }
1521
+ const $s = x(We), Le = s.memo((i) => {
1522
+ const {
1523
+ theme: t,
1524
+ locale: e,
1525
+ providers: r = {},
1526
+ className: n,
1527
+ style: l,
1528
+ children: a
1529
+ } = i, c = /* @__PURE__ */ new Map();
1530
+ return t && c.set("theme", t), e && c.set("locale", e), Object.entries(r).forEach(([h, p]) => {
1531
+ c.set(h, p);
1532
+ }), c.size > 0 ? s.createElement(
1533
+ ye,
1534
+ {
1535
+ providers: c,
1536
+ children: s.createElement(
1537
+ "div",
1538
+ {
1539
+ className: `fibo-scaffold ${n || ""}`,
1540
+ style: {
1541
+ minHeight: "100vh",
1542
+ display: "flex",
1543
+ flexDirection: "column",
1544
+ ...l
1545
+ }
1546
+ },
1547
+ a
1548
+ )
1549
+ }
1550
+ ) : s.createElement(
1551
+ "div",
1552
+ {
1553
+ className: `fibo-scaffold ${n || ""}`,
1554
+ style: {
1555
+ minHeight: "100vh",
1556
+ display: "flex",
1557
+ flexDirection: "column",
1558
+ ...l
1559
+ }
1560
+ },
1561
+ a
1562
+ );
1563
+ });
1564
+ class Me extends b {
1565
+ constructor() {
1566
+ super(...arguments);
1567
+ o(this, "_theme");
1568
+ o(this, "_locale");
1569
+ o(this, "_customProviders", {});
1570
+ }
1571
+ theme(e) {
1572
+ return this._theme = e, this;
1573
+ }
1574
+ locale(e) {
1575
+ return this._locale = e, this;
1576
+ }
1577
+ providers(e) {
1578
+ return this._customProviders = { ...this._customProviders, ...e }, this;
1579
+ }
1580
+ provider(e, r) {
1581
+ return this._customProviders[e] = r, this;
1582
+ }
1583
+ build() {
1584
+ const e = {
1585
+ theme: this._theme,
1586
+ locale: this._locale,
1587
+ providers: this._customProviders,
1588
+ className: this.getClassName(),
1589
+ style: this.getStyle(),
1590
+ children: this.processChildren()
1591
+ };
1592
+ return s.createElement(Le, e);
1593
+ }
1594
+ }
1595
+ const As = x(Me), Re = s.memo((i) => {
1596
+ const { className: t, style: e, children: r, ...n } = i;
1597
+ return s.createElement(
1598
+ "div",
1599
+ {
1600
+ className: t,
1601
+ style: e,
1602
+ ...n
1603
+ },
1604
+ ...r
1605
+ );
1606
+ });
1607
+ class Te extends b {
1608
+ build() {
1609
+ const e = [
1610
+ "fibo-box",
1611
+ ...this._classNames
1612
+ ].filter(Boolean).join(" "), r = this.getStyle(), n = this.processChildren(), l = {
1613
+ className: e,
1614
+ style: r,
1615
+ children: n,
1616
+ ...this._props
1617
+ };
1618
+ return s.createElement(Re, l);
1619
+ }
1620
+ }
1621
+ const w = x(Te), Pe = s.memo((i) => {
1622
+ const { image: t, size: e, border: r, shape: n, status: l, className: a, style: c } = i, h = typeof e == "number" ? `${e}px` : e, p = {
1623
+ circle: "50%",
1624
+ rounded: "24%",
1625
+ square: "0"
1626
+ }, u = {
1627
+ none: "transparent",
1628
+ online: "#10B981",
1629
+ offline: "#9CA3AF",
1630
+ busy: "#EF4444"
1631
+ };
1632
+ return w().className(a).style({
1633
+ position: "relative",
1634
+ width: h,
1635
+ height: h,
1636
+ borderRadius: p[n],
1637
+ backgroundImage: `url(${t})`,
1638
+ backgroundSize: "cover",
1639
+ backgroundPosition: "center",
1640
+ border: r,
1641
+ boxShadow: r !== "none" ? "0 2px 8px rgba(0,0,0,0.05)" : "none",
1642
+ ...c
1643
+ }).children(
1644
+ l !== "none" ? w().style({
1645
+ position: "absolute",
1646
+ bottom: "-2%",
1647
+ right: "-2%",
1648
+ width: "28%",
1649
+ height: "28%",
1650
+ minWidth: "10px",
1651
+ minHeight: "10px",
1652
+ backgroundColor: u[l],
1653
+ borderRadius: "50%",
1654
+ border: "3px solid #ffffff",
1655
+ boxSizing: "content-box"
1656
+ }).build() : null
1657
+ ).build();
1658
+ });
1659
+ class De extends b {
1660
+ constructor() {
1661
+ super(...arguments);
1662
+ o(this, "_image", "");
1663
+ o(this, "_size", 40);
1664
+ o(this, "_border", "none");
1665
+ o(this, "_shape", "circle");
1666
+ o(this, "_status", "none");
1667
+ }
1668
+ image(e) {
1669
+ return this._image = e, this;
1670
+ }
1671
+ size(e) {
1672
+ return this._size = e, this;
1673
+ }
1674
+ border(e) {
1675
+ return this._border = e, this;
1676
+ }
1677
+ shape(e) {
1678
+ return this._shape = e, this;
1679
+ }
1680
+ status(e) {
1681
+ return this._status = e, this;
1682
+ }
1683
+ build() {
1684
+ const e = {
1685
+ image: this._image,
1686
+ size: this._size,
1687
+ border: this._border,
1688
+ shape: this._shape,
1689
+ status: this._status,
1690
+ className: this.getClassName(),
1691
+ style: this.getStyle()
1692
+ };
1693
+ return s.createElement(Pe, e);
1694
+ }
1695
+ }
1696
+ const Oe = x(De), He = s.memo((i) => {
1697
+ const { text: t, type: e, className: r, style: n, ...l } = i, a = {
1698
+ h1: "h1",
1699
+ h2: "h2",
1700
+ h3: "h3",
1701
+ h4: "h4",
1702
+ h5: "h5",
1703
+ h6: "h6",
1704
+ body: "p",
1705
+ caption: "span",
1706
+ label: "label"
1707
+ };
1708
+ return s.createElement(
1709
+ a[e],
1710
+ {
1711
+ className: `fibo-text fibo-text-${e} ${r}`,
1712
+ style: n,
1713
+ ...l
1714
+ },
1715
+ t
1716
+ );
1717
+ });
1718
+ class Ve extends b {
1719
+ constructor(e = "") {
1720
+ super();
1721
+ o(this, "_text", "");
1722
+ o(this, "_type", "body");
1723
+ this._text = e;
1724
+ }
1725
+ text(e) {
1726
+ return this._text = e, this;
1727
+ }
1728
+ type(e) {
1729
+ return this._type = e, this;
1730
+ }
1731
+ variant(e) {
1732
+ return this._type = e, this;
1733
+ }
1734
+ build() {
1735
+ const e = {
1736
+ text: this._text,
1737
+ type: this._type,
1738
+ className: this.getClassName(),
1739
+ style: this.getStyle(),
1740
+ ...this._props
1741
+ };
1742
+ return s.createElement(He, e);
1743
+ }
1744
+ }
1745
+ const N = x(Ve), qe = s.memo((i) => {
1746
+ const { text: t, icon: e, variant: r, intent: n, shape: l, className: a, style: c } = i, h = {
1747
+ none: { bg: "#F9FAFB", text: "#6B7280", border: "#E5E7EB" },
1748
+ success: { bg: "#ECFDF5", text: "#059669", border: "transparent" },
1749
+ warning: { bg: "#FFFBEB", text: "#D97706", border: "transparent" },
1750
+ error: { bg: "#FFF1F2", text: "#E11D48", border: "transparent" },
1751
+ info: { bg: "#EFF6FF", text: "#2563EB", border: "transparent" }
1752
+ };
1753
+ let u = { ...{
1754
+ neutral: { backgroundColor: "#F9FAFB", color: "#6B7280", border: "1px solid #E5E7EB" },
1755
+ accent: { backgroundColor: "#EFF6FF", color: "#3B82F6", border: "none" },
1756
+ outline: { backgroundColor: "transparent", color: "#FFFFFF", border: "1px solid rgba(255,255,255,0.3)" },
1757
+ glass: {
1758
+ backgroundColor: "rgba(255, 255, 255, 0.85)",
1759
+ backdropFilter: "blur(12px)",
1760
+ color: "#111827",
1761
+ border: "1px solid rgba(255, 255, 255, 0.4)"
1762
+ },
1763
+ solid: { backgroundColor: "#111827", color: "#FFFFFF", border: "none" },
1764
+ dot: { backgroundColor: "transparent", color: "#6B7280", border: "1px solid #E5E7EB", padding: "4px 10px" }
1765
+ }[r] };
1766
+ if (n !== "none") {
1767
+ const d = h[n];
1768
+ if (r === "solid") {
1769
+ const f = {
1770
+ none: "#111827",
1771
+ success: "#059669",
1772
+ warning: "#D97706",
1773
+ error: "#E11D48",
1774
+ info: "#2563EB"
1775
+ };
1776
+ u.backgroundColor = f[n], u.color = "#FFFFFF";
1777
+ } else r === "dot" ? (u.color = "#374151", u.borderColor = "#E5E7EB") : (u.backgroundColor = d.bg, u.color = d.text, d.border ? u.border = `1px solid ${d.border}` : u.border = "none");
1778
+ }
1779
+ const m = {
1780
+ pill: "9999px",
1781
+ rounded: "8px"
1782
+ };
1783
+ return w().className(a).style({
1784
+ ...u,
1785
+ borderRadius: m[l],
1786
+ padding: r === "dot" ? "4px 8px" : "4px 10px",
1787
+ display: "inline-flex",
1788
+ alignItems: "center",
1789
+ justifyContent: "center",
1790
+ height: "fit-content",
1791
+ fontSize: "11px",
1792
+ lineHeight: "1",
1793
+ fontWeight: 600,
1794
+ ...c
1795
+ }).children(
1796
+ L().gap(6).alignItems("center").children([
1797
+ r === "dot" && n !== "none" ? w().style({
1798
+ width: "6px",
1799
+ height: "6px",
1800
+ borderRadius: "50%",
1801
+ backgroundColor: h[n].text,
1802
+ boxShadow: `0 0 6px ${h[n].text}66`
1803
+ }).build() : null,
1804
+ e ? w().classNames(["flex", "items-center"]).children(e).build() : null,
1805
+ N(t).fontSize(12).fontWeight(600).style({ color: "inherit" }).build()
1806
+ ]).build()
1807
+ ).build();
1808
+ });
1809
+ class Ge extends b {
1810
+ constructor() {
1811
+ super(...arguments);
1812
+ o(this, "_text", "");
1813
+ o(this, "_icon");
1814
+ o(this, "_variant", "neutral");
1815
+ o(this, "_intent", "none");
1816
+ o(this, "_shape", "rounded");
1817
+ }
1818
+ text(e) {
1819
+ return this._text = e, this;
1820
+ }
1821
+ icon(e) {
1822
+ return this._icon = e, this;
1823
+ }
1824
+ variant(e) {
1825
+ return this._variant = e, this;
1826
+ }
1827
+ intent(e) {
1828
+ return this._intent = e, this;
1829
+ }
1830
+ shape(e) {
1831
+ return this._shape = e, this;
1832
+ }
1833
+ build() {
1834
+ const e = {
1835
+ text: this._text,
1836
+ icon: this._icon,
1837
+ variant: this._variant,
1838
+ intent: this._intent,
1839
+ shape: this._shape,
1840
+ className: this.getClassName(),
1841
+ style: this.getStyle()
1842
+ };
1843
+ return s.createElement(qe, e);
1844
+ }
1845
+ }
1846
+ const q = x(Ge), Xe = s.memo((i) => {
1847
+ const { text: t, htmlFor: e, required: r, className: n, style: l, ...a } = i;
1848
+ return s.createElement(
1849
+ "label",
1850
+ {
1851
+ className: `fibo-label text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 ${n}`,
1852
+ htmlFor: e,
1853
+ style: l,
1854
+ ...a
1855
+ },
1856
+ t,
1857
+ r && s.createElement("span", { className: "text-red-500 ml-0.5" }, "*")
1858
+ );
1859
+ });
1860
+ class Ye extends b {
1861
+ constructor(e = "") {
1862
+ super();
1863
+ o(this, "_text", "");
1864
+ o(this, "_htmlFor");
1865
+ o(this, "_required", !1);
1866
+ this._text = e;
1867
+ }
1868
+ text(e) {
1869
+ return this._text = e, this;
1870
+ }
1871
+ htmlFor(e) {
1872
+ return this._htmlFor = e, this;
1873
+ }
1874
+ required(e = !0) {
1875
+ return this._required = e, this;
1876
+ }
1877
+ build() {
1878
+ const e = {
1879
+ text: this._text,
1880
+ htmlFor: this._htmlFor,
1881
+ required: this._required,
1882
+ className: this.getClassName(),
1883
+ style: this.getStyle(),
1884
+ ...this._props
1885
+ };
1886
+ return s.createElement(Xe, e);
1887
+ }
1888
+ }
1889
+ const Is = x(Ye), Ue = s.memo((i) => {
1890
+ const {
1891
+ src: t,
1892
+ alt: e,
1893
+ fit: r,
1894
+ resizable: n,
1895
+ clipShape: l,
1896
+ frameWidth: a,
1897
+ frameHeight: c,
1898
+ className: h,
1899
+ style: p,
1900
+ ...u
1901
+ } = i, m = { ...p };
1902
+ return m.objectFit = r, a && (m.width = `${a}px`), c && (m.height = `${c}px`), n && (m.maxWidth = "100%", m.height = "auto"), s.createElement("img", {
1903
+ src: t,
1904
+ alt: e,
1905
+ className: h,
1906
+ style: m,
1907
+ ...u
1908
+ });
1909
+ });
1910
+ class Je extends b {
1911
+ constructor(e = "") {
1912
+ super();
1913
+ o(this, "_src", "");
1914
+ o(this, "_alt", "");
1915
+ o(this, "_fit", "cover");
1916
+ o(this, "_resizable", !1);
1917
+ o(this, "_clipShape");
1918
+ o(this, "_frameWidth");
1919
+ o(this, "_frameHeight");
1920
+ this._src = e;
1921
+ }
1922
+ src(e) {
1923
+ return this._src = e, this;
1924
+ }
1925
+ alt(e) {
1926
+ return this._alt = e, this;
1927
+ }
1928
+ resizable() {
1929
+ return this._resizable = !0, this;
1930
+ }
1931
+ scaledToFit() {
1932
+ return this._fit = "contain", this;
1933
+ }
1934
+ scaledToFill() {
1935
+ return this._fit = "cover", this;
1936
+ }
1937
+ frame(e) {
1938
+ return this._frameWidth = e.width, this._frameHeight = e.height, this;
1939
+ }
1940
+ clipShape(e) {
1941
+ return this._clipShape = e, this;
1942
+ }
1943
+ foregroundStyle(e) {
1944
+ return this;
1945
+ }
1946
+ build() {
1947
+ const e = ["fibo-image", ...this._classNames];
1948
+ this._clipShape === "circle" ? e.push("rounded-full") : this._clipShape === "rounded" && e.push("rounded-lg");
1949
+ const r = e.filter(Boolean).join(" "), n = {
1950
+ src: this._src,
1951
+ alt: this._alt,
1952
+ fit: this._fit,
1953
+ resizable: this._resizable,
1954
+ clipShape: this._clipShape,
1955
+ frameWidth: this._frameWidth,
1956
+ frameHeight: this._frameHeight,
1957
+ className: r,
1958
+ style: this.getStyle(),
1959
+ ...this._props
1960
+ };
1961
+ return s.createElement(Ue, n);
1962
+ }
1963
+ }
1964
+ const Ke = x(Je), Qe = s.memo((i) => {
1965
+ const { size: t, color: e, variant: r = "circle", className: n, style: l, ...a } = i, h = typeof t == "number" ? t : {
1966
+ sm: 16,
1967
+ md: 24,
1968
+ lg: 32,
1969
+ xl: 48
1970
+ }[t] || 24, p = e || "currentColor", u = {
1971
+ className: `fibo-spinner ${n}`,
1972
+ style: { width: h, height: h, ...l },
1973
+ ...a
1974
+ };
1975
+ return r === "dots" ? s.createElement(
1976
+ "div",
1977
+ { ...u, className: `${u.className} flex items-center justify-between` },
1978
+ [0, 1, 2].map((m) => s.createElement("div", {
1979
+ key: m,
1980
+ className: "w-[25%] h-[25%] rounded-full animate-bounce",
1981
+ style: {
1982
+ backgroundColor: p,
1983
+ animationDelay: `${m * 0.1}s`
1984
+ }
1985
+ }))
1986
+ ) : r === "pulse" ? s.createElement(
1987
+ "div",
1988
+ { ...u, className: `${u.className} relative flex items-center justify-center` },
1989
+ [
1990
+ s.createElement("div", {
1991
+ key: "ring",
1992
+ className: "absolute inset-0 rounded-full opacity-75 animate-ping",
1993
+ style: { backgroundColor: p }
1994
+ }),
1995
+ s.createElement("div", {
1996
+ key: "dot",
1997
+ className: "relative rounded-full h-[75%] w-[75%]",
1998
+ style: { backgroundColor: p }
1999
+ })
2000
+ ]
2001
+ ) : r === "blocks" ? s.createElement(
2002
+ "div",
2003
+ { ...u, className: `${u.className} grid grid-cols-2 gap-[10%] p-[10%]` },
2004
+ [0, 1, 2, 3].map((m) => s.createElement("div", {
2005
+ key: m,
2006
+ className: "w-full h-full bg-current animate-pulse",
2007
+ style: {
2008
+ backgroundColor: p,
2009
+ animationDelay: `${m * 0.15}s`,
2010
+ opacity: 0.6
2011
+ }
2012
+ }))
2013
+ ) : s.createElement(
2014
+ "div",
2015
+ { ...u, className: `${u.className} animate-spin` },
2016
+ s.createElement(
2017
+ "svg",
2018
+ {
2019
+ xmlns: "http://www.w3.org/2000/svg",
2020
+ fill: "none",
2021
+ viewBox: "0 0 24 24",
2022
+ style: { width: "100%", height: "100%" }
2023
+ },
2024
+ s.createElement("circle", {
2025
+ className: "opacity-20",
2026
+ cx: "12",
2027
+ cy: "12",
2028
+ r: "10",
2029
+ stroke: p,
2030
+ strokeWidth: "4"
2031
+ }),
2032
+ s.createElement("path", {
2033
+ className: "",
2034
+ fill: p,
2035
+ d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"
2036
+ })
2037
+ )
2038
+ );
2039
+ });
2040
+ class Ze extends b {
2041
+ constructor() {
2042
+ super(...arguments);
2043
+ o(this, "_size", "md");
2044
+ o(this, "_color");
2045
+ o(this, "_variant", "circle");
2046
+ }
2047
+ size(e) {
2048
+ return this._size = e, this;
2049
+ }
2050
+ color(e) {
2051
+ return this._color = e, this;
2052
+ }
2053
+ variant(e) {
2054
+ return this._variant = e, this;
2055
+ }
2056
+ build() {
2057
+ const e = {
2058
+ size: this._size,
2059
+ color: this._color,
2060
+ variant: this._variant,
2061
+ className: this.getClassName(),
2062
+ style: this.getStyle(),
2063
+ ...this._props
2064
+ };
2065
+ return s.createElement(Qe, e);
2066
+ }
2067
+ }
2068
+ const js = x(Ze), et = s.memo((i) => {
2069
+ const { width: t, height: e, shape: r, className: n, style: l, ...a } = i, c = ["animate-pulse", "bg-gray-200", "loading-skeleton"];
2070
+ return r === "circle" ? c.push("rounded-full") : r === "rounded-sm" ? c.push("rounded-sm") : r === "rounded-md" ? c.push("rounded-md") : r === "rounded-lg" ? c.push("rounded-lg") : r === "square" ? c.push("rounded-none") : c.push("rounded"), s.createElement("div", {
2071
+ className: [...c, n].filter(Boolean).join(" "),
2072
+ style: {
2073
+ width: t,
2074
+ height: e,
2075
+ ...l
2076
+ },
2077
+ ...a
2078
+ });
2079
+ });
2080
+ class tt extends b {
2081
+ constructor() {
2082
+ super(...arguments);
2083
+ o(this, "_width", "100%");
2084
+ o(this, "_height", "20px");
2085
+ o(this, "_shape", "rounded");
2086
+ }
2087
+ width(e) {
2088
+ return this._width = e, this;
2089
+ }
2090
+ height(e) {
2091
+ return this._height = e, this;
2092
+ }
2093
+ shape(e) {
2094
+ return this._shape = e, this;
2095
+ }
2096
+ build() {
2097
+ const e = {
2098
+ width: this._width,
2099
+ height: this._height,
2100
+ shape: this._shape,
2101
+ className: this.getClassName(),
2102
+ style: this.getStyle(),
2103
+ ...this._props
2104
+ };
2105
+ return s.createElement(et, e);
2106
+ }
2107
+ }
2108
+ const Ws = x(tt), j = {
2109
+ Heart: /* @__PURE__ */ S("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", 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" }) }),
2110
+ Eth: /* @__PURE__ */ S("svg", { width: "14", height: "24", viewBox: "0 0 32 32", fill: "currentColor", 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" }) }),
2111
+ Verify: /* @__PURE__ */ S("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "#3B82F6", stroke: "none", 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" }) }),
2112
+ More: /* @__PURE__ */ P("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: [
2113
+ /* @__PURE__ */ S("circle", { cx: "12", cy: "12", r: "1" }),
2114
+ /* @__PURE__ */ S("circle", { cx: "19", cy: "12", r: "1" }),
2115
+ /* @__PURE__ */ S("circle", { cx: "5", cy: "12", r: "1" })
2116
+ ] }),
2117
+ Clock: /* @__PURE__ */ P("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: [
2118
+ /* @__PURE__ */ S("circle", { cx: "12", cy: "12", r: "10" }),
2119
+ /* @__PURE__ */ S("polyline", { points: "12 6 12 12 16 14" })
2120
+ ] }),
2121
+ Info: /* @__PURE__ */ P("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
2122
+ /* @__PURE__ */ S("circle", { cx: "12", cy: "12", r: "10" }),
2123
+ /* @__PURE__ */ S("line", { x1: "12", y1: "16", x2: "12", y2: "12" }),
2124
+ /* @__PURE__ */ S("line", { x1: "12", y1: "8", x2: "12.01", y2: "8" })
2125
+ ] }),
2126
+ Check: /* @__PURE__ */ P("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
2127
+ /* @__PURE__ */ S("path", { d: "M22 11.08V12a10 10 0 1 1-5.93-9.14" }),
2128
+ /* @__PURE__ */ S("polyline", { points: "22 4 12 14.01 9 11.01" })
2129
+ ] }),
2130
+ Search: /* @__PURE__ */ P("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
2131
+ /* @__PURE__ */ S("circle", { cx: "11", cy: "11", r: "8" }),
2132
+ /* @__PURE__ */ S("line", { x1: "21", y1: "21", x2: "16.65", y2: "16.65" })
2133
+ ] }),
2134
+ Close: /* @__PURE__ */ P("svg", { width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
2135
+ /* @__PURE__ */ S("line", { x1: "18", y1: "6", x2: "6", y2: "18" }),
2136
+ /* @__PURE__ */ S("line", { x1: "6", y1: "6", x2: "18", y2: "18" })
2137
+ ] })
2138
+ }, st = s.memo((i) => {
2139
+ const { title: t, description: e, intent: r = "info", className: n, style: l, ...a } = i, c = r, h = {
2140
+ info: "bg-blue-500 text-white",
2141
+ success: "bg-emerald-500 text-white",
2142
+ warning: "bg-orange-400 text-white",
2143
+ error: "bg-rose-500 text-white"
2144
+ }, p = {
2145
+ info: "bg-blue-600",
2146
+ success: "bg-emerald-600",
2147
+ warning: "bg-orange-500",
2148
+ error: "bg-rose-600"
2149
+ }, u = {
2150
+ info: j.Info || s.createElement("span", {}, "?"),
2151
+ success: j.Check || s.createElement("span", {}, "✔"),
2152
+ warning: j.Search || s.createElement("span", {}, "!"),
2153
+ error: j.Close || s.createElement("span", {}, "x")
2154
+ }, m = `relative overflow-hidden flex items-start gap-4 p-5 rounded-3xl shadow-lg border-none ${h[c]}`;
2155
+ return s.createElement("div", {
2156
+ className: `${m} ${n}`,
2157
+ style: l,
2158
+ ...a
2159
+ }, [
2160
+ s.createElement("div", {
2161
+ key: "blob1",
2162
+ className: "absolute -top-6 -right-6 w-24 h-24 rounded-full bg-white opacity-10 pointer-events-none"
2163
+ }),
2164
+ s.createElement("div", {
2165
+ key: "blob2",
2166
+ className: "absolute bottom-[-10px] left-10 w-12 h-12 rounded-full bg-black opacity-5 pointer-events-none"
2167
+ }),
2168
+ s.createElement("div", {
2169
+ key: "blob3",
2170
+ className: "absolute top-10 right-20 w-8 h-8 rounded-full bg-white opacity-10 pointer-events-none"
2171
+ }),
2172
+ s.createElement("div", {
2173
+ key: "icon-wrapper",
2174
+ className: `relative z-10 shrink-0 w-10 h-10 rounded-full flex items-center justify-center shadow-sm ${p[c]}`
2175
+ }, s.cloneElement(u[c], { width: 20, height: 20, strokeWidth: 3 })),
2176
+ s.createElement("div", { key: "content", className: "relative z-10 flex flex-col gap-1.5 pt-0.5" }, [
2177
+ t && s.createElement("h5", { key: "title", className: "font-bold text-lg leading-none tracking-tight" }, t),
2178
+ e && s.createElement("p", { key: "desc", className: "text-sm font-medium opacity-90 leading-relaxed" }, e)
2179
+ ])
2180
+ ]);
2181
+ });
2182
+ class rt extends b {
2183
+ constructor() {
2184
+ super(...arguments);
2185
+ o(this, "_title", "");
2186
+ o(this, "_description");
2187
+ o(this, "_intent", "info");
2188
+ }
2189
+ title(e) {
2190
+ return this._title = e, this;
2191
+ }
2192
+ description(e) {
2193
+ return this._description = e, this;
2194
+ }
2195
+ intent(e) {
2196
+ return this._intent = e, this;
2197
+ }
2198
+ build() {
2199
+ const e = {
2200
+ title: this._title,
2201
+ description: this._description,
2202
+ intent: this._intent,
2203
+ className: this.getClassName(),
2204
+ style: this.getStyle(),
2205
+ ...this._props
2206
+ };
2207
+ return s.createElement(st, e);
2208
+ }
2209
+ }
2210
+ const Ls = x(rt), it = s.memo((i) => {
2211
+ const {
2212
+ value: t,
2213
+ max: e,
2214
+ color: r,
2215
+ height: n,
2216
+ variant: l = "default",
2217
+ label: a,
2218
+ subLabel: c,
2219
+ items: h = [],
2220
+ className: p,
2221
+ style: u,
2222
+ ...m
2223
+ } = i, d = Math.min(100, Math.max(0, t / e * 100)), f = r || "#3B82F6";
2224
+ if (l === "circular") {
2225
+ const k = typeof n == "number" ? n : 64, E = 8, y = (k - E) / 2, g = y * 2 * Math.PI, F = g - d / 100 * g;
2226
+ return s.createElement("div", {
2227
+ className: `relative inline-flex items-center justify-center ${p}`,
2228
+ style: { width: k, height: k, ...u },
2229
+ ...m
2230
+ }, [
2231
+ s.createElement("svg", {
2232
+ key: "svg",
2233
+ className: "transform -rotate-90",
2234
+ width: k,
2235
+ height: k
2236
+ }, [
2237
+ s.createElement("circle", {
2238
+ key: "track",
2239
+ className: "text-gray-100",
2240
+ stroke: "currentColor",
2241
+ strokeWidth: E,
2242
+ fill: "transparent",
2243
+ r: y,
2244
+ cx: k / 2,
2245
+ cy: k / 2
2246
+ }),
2247
+ s.createElement("circle", {
2248
+ key: "prog",
2249
+ stroke: f,
2250
+ strokeWidth: E,
2251
+ strokeDasharray: g,
2252
+ strokeDashoffset: F,
2253
+ strokeLinecap: "round",
2254
+ fill: "transparent",
2255
+ r: y,
2256
+ cx: k / 2,
2257
+ cy: k / 2,
2258
+ className: "transition-all duration-1000 ease-out"
2259
+ })
2260
+ ]),
2261
+ s.createElement("span", {
2262
+ key: "label",
2263
+ className: "absolute text-sm font-bold text-gray-700"
2264
+ }, a || `${Math.round(d)}%`)
2265
+ ]);
2266
+ }
2267
+ if (l === "pagination") {
2268
+ const E = Math.floor(d / 100 * 5);
2269
+ return s.createElement("div", {
2270
+ className: `flex items-center gap-2 ${p}`,
2271
+ style: u,
2272
+ ...m
2273
+ }, Array.from({ length: 5 }).map((y, g) => {
2274
+ const F = g === E;
2275
+ return s.createElement("div", {
2276
+ key: g,
2277
+ className: `h-3 rounded-full transition-all duration-300 ${F ? "w-8" : "w-3"}`,
2278
+ style: { backgroundColor: g <= E ? f : "#E5E7EB" }
2279
+ });
2280
+ }));
2281
+ }
2282
+ if (l === "timeline") {
2283
+ const k = h.length ? h : [
2284
+ { title: "Order components", date: "Done" },
2285
+ { title: "Draft implementation", date: "In Progress" },
2286
+ { title: "Verify functionality", date: "Pending" }
2287
+ ], E = Math.floor(d / 100 * k.length);
2288
+ return s.createElement("div", {
2289
+ className: `flex flex-col relative ${p}`,
2290
+ style: u,
2291
+ ...m
2292
+ }, k.map((y, g) => {
2293
+ const F = g < E, A = g === E, I = g === k.length - 1, _ = F || A ? f : "#E5E7EB", z = F ? s.createElement("span", {}, "✓") : g + 1;
2294
+ return s.createElement("div", {
2295
+ key: g,
2296
+ className: "relative flex items-start gap-4 pb-8 last:pb-0"
2297
+ }, [
2298
+ !I && s.createElement("div", {
2299
+ key: "tail",
2300
+ className: "absolute left-[19px] top-10 bottom-0 w-0.5 transition-colors duration-500",
2301
+ style: { backgroundColor: F ? f : "#E5E7EB" }
2302
+ }),
2303
+ s.createElement("div", {
2304
+ key: "dot",
2305
+ className: "relative z-10 w-10 h-10 rounded-full flex items-center justify-center border-2 bg-white transition-all duration-300 shrink-0 text-sm font-bold shadow-sm",
2306
+ style: {
2307
+ borderColor: _,
2308
+ color: F ? "#fff" : A ? _ : "#9CA3AF",
2309
+ backgroundColor: F ? _ : "#fff"
2310
+ }
2311
+ }, z),
2312
+ s.createElement("div", { key: "content", className: "pt-2" }, [
2313
+ s.createElement("div", { className: "text-sm font-bold text-gray-900 leading-none" }, y.title),
2314
+ y.description && s.createElement("div", { className: "text-xs text-gray-500 mt-1.5" }, y.description),
2315
+ y.date && s.createElement("div", { className: "text-xs font-mono text-gray-400 mt-1" }, y.date)
2316
+ ])
2317
+ ]);
2318
+ }));
2319
+ }
2320
+ if (l === "floating")
2321
+ return s.createElement("div", {
2322
+ className: `w-full bg-white rounded-xl shadow-sm border border-gray-100 p-4 relative overflow-hidden ${p}`,
2323
+ style: u,
2324
+ ...m
2325
+ }, [
2326
+ s.createElement("div", { key: "info", className: "flex justify-between items-center mb-3 px-1" }, [
2327
+ s.createElement(
2328
+ "span",
2329
+ { key: "l", className: "text-sm font-semibold text-gray-700" },
2330
+ a ? s.createElement("span", { className: "text-blue-600 mr-2" }, `${Math.round(d)}%`) : null,
2331
+ a || "Update in progress..."
2332
+ ),
2333
+ c && s.createElement("span", { key: "r", className: "text-xs font-medium text-gray-400" }, c)
2334
+ ]),
2335
+ s.createElement("div", {
2336
+ key: "track",
2337
+ className: "w-full bg-blue-50 h-1.5 rounded-full overflow-hidden"
2338
+ }, s.createElement("div", {
2339
+ className: "h-full rounded-full transition-all duration-1000 ease-out",
2340
+ style: { width: `${d}%`, backgroundColor: f }
2341
+ }))
2342
+ ]);
2343
+ if (l === "chevron") {
2344
+ const E = Math.floor(d / 100 * 3);
2345
+ return s.createElement("div", {
2346
+ className: `flex w-full rounded-lg overflow-hidden ${p}`,
2347
+ style: u,
2348
+ ...m
2349
+ }, Array.from({ length: 3 }).map((y, g) => {
2350
+ const F = g <= E;
2351
+ return s.createElement("div", {
2352
+ key: g,
2353
+ className: "flex-1 h-10 flex items-center justify-center text-sm font-bold text-white transition-colors duration-300",
2354
+ style: {
2355
+ backgroundColor: F ? g === E ? f : "#60A5FA" : "#E5E7EB",
2356
+ clipPath: g === 0 ? "polygon(0% 0%, 85% 0%, 100% 50%, 85% 100%, 0% 100%)" : g === 2 ? "polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%, 15% 50%)" : "polygon(0% 0%, 85% 0%, 100% 50%, 85% 100%, 0% 100%, 15% 50%)",
2357
+ marginLeft: g === 0 ? 0 : "-10px",
2358
+ paddingLeft: g === 0 ? 0 : "10px",
2359
+ zIndex: 3 - g
2360
+ }
2361
+ }, `Step ${g + 1}`);
2362
+ }));
2363
+ }
2364
+ if (l === "steps") {
2365
+ const E = Math.ceil(d / 100 * 3);
2366
+ return s.createElement("div", {
2367
+ className: `w-full flex items-center justify-between relative ${p}`,
2368
+ style: {
2369
+ marginTop: "1rem",
2370
+ ...u
2371
+ },
2372
+ ...m
2373
+ }, [
2374
+ s.createElement("div", {
2375
+ key: "line-bg",
2376
+ className: "absolute top-1/2 left-0 w-full h-1.5 bg-gray-200 z-0 transform -translate-y-1/2 rounded-full"
2377
+ }),
2378
+ s.createElement("div", {
2379
+ key: "line-active",
2380
+ className: "absolute top-1/2 left-0 h-1.5 z-0 transform -translate-y-1/2 transition-all duration-500 rounded-full",
2381
+ style: { width: `${d}%`, backgroundColor: f }
2382
+ }),
2383
+ ...Array.from({ length: 3 }).map((y, g) => {
2384
+ const F = g + 1, A = F <= E, I = F < E;
2385
+ return s.createElement("div", {
2386
+ key: g,
2387
+ className: `relative z-10 w-10 h-10 rounded-full flex items-center justify-center text-sm font-bold transition-all duration-300 border-4 ${A ? "text-white border-white shadow-md" : "bg-gray-100 text-gray-400 border-gray-50"}`,
2388
+ style: { backgroundColor: A ? f : void 0 }
2389
+ }, I ? s.createElement("span", {}, "✔") : F);
2390
+ })
2391
+ ]);
2392
+ }
2393
+ const C = n || 12;
2394
+ if (l === "segments") {
2395
+ const E = Math.round(d / 100 * 10);
2396
+ return s.createElement(
2397
+ "div",
2398
+ {
2399
+ className: `flex gap-1.5 w-full ${p}`,
2400
+ style: u,
2401
+ ...m
2402
+ },
2403
+ Array.from({ length: 10 }).map((y, g) => s.createElement("div", {
2404
+ key: g,
2405
+ className: "h-3 flex-1 rounded-sm transition-all duration-300 first:rounded-l-full last:rounded-r-full",
2406
+ style: {
2407
+ height: n || 12,
2408
+ backgroundColor: g < E ? f : "#E5E7EB"
2409
+ }
2410
+ }))
2411
+ );
2412
+ }
2413
+ let v = null;
2414
+ l === "striped" && (v = s.createElement("div", {
2415
+ className: "w-full h-full opacity-30 animate-[stripes_1s_linear_infinite]",
2416
+ style: {
2417
+ backgroundImage: "linear-gradient(45deg,rgba(255,255,255,.25) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.25) 50%,rgba(255,255,255,.25) 75%,transparent 75%,transparent)",
2418
+ backgroundSize: "20px 20px"
2419
+ }
2420
+ }));
2421
+ const B = l === "labeled" ? s.createElement("div", {
2422
+ className: "absolute -top-12 transform -translate-x-1/2 bg-slate-800 text-white text-xs font-bold py-1.5 px-3 rounded-lg shadow-xl whitespace-nowrap",
2423
+ style: { left: `${d}%` }
2424
+ }, [
2425
+ a || `${Math.round(d)}%`,
2426
+ s.createElement("div", { key: "arrow", className: "absolute -bottom-1 left-1/2 transform -translate-x-1/2 w-2 h-2 bg-slate-800 rotate-45" })
2427
+ ]) : null, $ = l === "knob" ? s.createElement("div", {
2428
+ className: "absolute top-1/2 right-0 w-7 h-7 bg-white rounded-full shadow-lg border-4 transform translate-x-1/2 -translate-y-1/2 flex items-center justify-center",
2429
+ style: { borderColor: f }
2430
+ }, s.createElement("div", { className: "w-1.5 h-1.5 rounded-full", style: { backgroundColor: f } })) : null;
2431
+ return s.createElement("div", {
2432
+ className: `relative w-full ${l === "labeled" ? "mt-8" : ""}`,
2433
+ ...m
2434
+ }, [
2435
+ B,
2436
+ s.createElement(
2437
+ "div",
2438
+ {
2439
+ key: "track",
2440
+ className: `w-full bg-slate-100 rounded-full ${p}`,
2441
+ style: {
2442
+ width: "100%",
2443
+ height: C,
2444
+ ...u
2445
+ }
2446
+ },
2447
+ s.createElement("div", {
2448
+ className: "h-full transition-all duration-1000 ease-out rounded-full flex items-center justify-center relative",
2449
+ style: {
2450
+ width: `${d}%`,
2451
+ backgroundColor: f
2452
+ }
2453
+ }, [v, $])
2454
+ )
2455
+ ]);
2456
+ });
2457
+ class ot extends b {
2458
+ constructor() {
2459
+ super(...arguments);
2460
+ o(this, "_value", 0);
2461
+ o(this, "_max", 100);
2462
+ o(this, "_color");
2463
+ o(this, "_height");
2464
+ o(this, "_variant", "default");
2465
+ o(this, "_label");
2466
+ o(this, "_subLabel");
2467
+ o(this, "_items");
2468
+ }
2469
+ value(e) {
2470
+ return this._value = e, this;
2471
+ }
2472
+ max(e) {
2473
+ return this._max = e, this;
2474
+ }
2475
+ color(e) {
2476
+ return this._color = e, this;
2477
+ }
2478
+ height(e) {
2479
+ return this._height = e, this;
2480
+ }
2481
+ variant(e) {
2482
+ return this._variant = e, this;
2483
+ }
2484
+ label(e) {
2485
+ return this._label = e, this;
2486
+ }
2487
+ subLabel(e) {
2488
+ return this._subLabel = e, this;
2489
+ }
2490
+ items(e) {
2491
+ return this._items = e, this;
2492
+ }
2493
+ build() {
2494
+ const e = {
2495
+ value: this._value,
2496
+ max: this._max,
2497
+ color: this._color,
2498
+ height: this._height,
2499
+ variant: this._variant,
2500
+ label: this._label,
2501
+ subLabel: this._subLabel,
2502
+ items: this._items,
2503
+ className: this.getClassName(),
2504
+ style: this.getStyle(),
2505
+ ...this._props
2506
+ };
2507
+ return s.createElement(it, e);
2508
+ }
2509
+ }
2510
+ const Ms = x(ot), nt = s.memo((i) => {
2511
+ const {
2512
+ text: t,
2513
+ variant: e,
2514
+ size: r,
2515
+ onPress: n,
2516
+ disabled: l,
2517
+ icon: a,
2518
+ shape: c,
2519
+ shadow: h,
2520
+ className: p,
2521
+ style: u,
2522
+ ...m
2523
+ } = i, d = { ...u };
2524
+ Object.assign(d, {
2525
+ sm: { padding: "6px 14px", fontSize: "13px", gap: "6px", height: "32px" },
2526
+ md: { padding: "10px 22px", fontSize: "15px", gap: "8px", height: "44px" },
2527
+ lg: { padding: "16px 32px", fontSize: "17px", gap: "10px", height: "56px" }
2528
+ }[r]), c === "pill" ? d.borderRadius = "9999px" : c === "square" ? d.borderRadius = "12px" : d.borderRadius = "14px", h === "soft" && (d.boxShadow = "0 8px 20px -6px rgba(59, 130, 246, 0.4)"), e === "ghost" ? (d.backgroundColor = "transparent", d.color = "#4B5563", d.boxShadow = "none", d.border = "1px solid transparent") : e === "text" ? (d.backgroundColor = "transparent", d.color = "#4B5563", d.boxShadow = "none", d.border = "none", d.paddingLeft = "8px", d.paddingRight = "8px") : e === "soft" ? (d.backgroundColor = "#EEF2FF", d.color = "#4F46E5", d.boxShadow = "none", d.border = "none") : e === "outline" && (d.backgroundColor = "transparent", d.border = "1.5px solid #E5E7EB", d.color = "#374151", d.boxShadow = "none");
2529
+ const C = [];
2530
+ return a && C.push(a), t && C.push(t), s.createElement(
2531
+ "button",
2532
+ {
2533
+ className: p,
2534
+ style: {
2535
+ display: "inline-flex",
2536
+ alignItems: "center",
2537
+ justifyContent: "center",
2538
+ cursor: l ? "not-allowed" : "pointer",
2539
+ opacity: l ? 0.6 : 1,
2540
+ fontWeight: 600,
2541
+ whiteSpace: "nowrap",
2542
+ ...d
2543
+ },
2544
+ onClick: (v) => {
2545
+ l || (document.documentElement.classList.contains("fibo-theme-material") && import("./effects-Co9C_Dyx.mjs").then(({ createRipple: B }) => {
2546
+ B(v);
2547
+ }), n == null || n());
2548
+ },
2549
+ disabled: l,
2550
+ ...m
2551
+ },
2552
+ ...C
2553
+ );
2554
+ });
2555
+ class lt extends b {
2556
+ constructor(e = "") {
2557
+ super();
2558
+ o(this, "_text", "");
2559
+ o(this, "_variant", "elevated");
2560
+ o(this, "_size", "md");
2561
+ o(this, "_onPress");
2562
+ o(this, "_disabled", !1);
2563
+ o(this, "_icon");
2564
+ o(this, "_shape", "default");
2565
+ o(this, "_shadow", "none");
2566
+ this._text = e;
2567
+ }
2568
+ text(e) {
2569
+ return this._text = e, this;
2570
+ }
2571
+ variant(e) {
2572
+ return this._variant = e, this;
2573
+ }
2574
+ size(e) {
2575
+ return this._size = e, this;
2576
+ }
2577
+ onPress(e) {
2578
+ return this._onPress = e, this;
2579
+ }
2580
+ disabled(e = !0) {
2581
+ return this._disabled = e, this;
2582
+ }
2583
+ icon(e) {
2584
+ return this._icon = e, this;
2585
+ }
2586
+ shape(e) {
2587
+ return this._shape = e, this;
2588
+ }
2589
+ shadow(e) {
2590
+ return this._shadow = e, this;
2591
+ }
2592
+ build() {
2593
+ const e = [
2594
+ "fibo-button",
2595
+ `fibo-button-${this._variant}`,
2596
+ "active:scale-[0.96]",
2597
+ "transform",
2598
+ "transition-all",
2599
+ "duration-200",
2600
+ "ease-out",
2601
+ ...this._classNames
2602
+ ].filter(Boolean).join(" "), r = {
2603
+ text: this._text,
2604
+ variant: this._variant,
2605
+ size: this._size,
2606
+ onPress: this._onPress,
2607
+ disabled: this._disabled,
2608
+ icon: this._icon,
2609
+ shape: this._shape,
2610
+ shadow: this._shadow,
2611
+ className: e,
2612
+ style: this.getStyle(),
2613
+ ...this._props
2614
+ };
2615
+ return s.createElement(nt, r);
2616
+ }
2617
+ }
2618
+ const U = x(lt), at = (i, t) => {
2619
+ let e = 0;
2620
+ const r = i.replace(/\D/g, "").split("");
2621
+ let n = "";
2622
+ for (let l = 0; l < t.length && !(e >= r.length); l++)
2623
+ t[l] === "9" ? n += r[e++] : n += t[l];
2624
+ return n;
2625
+ }, ct = s.memo((i) => {
2626
+ const t = s.useId(), e = i.id || t, [r, n] = s.useState(!1), {
2627
+ containerClass: l,
2628
+ containerStyle: a,
2629
+ label: c,
2630
+ error: h,
2631
+ mask: p,
2632
+ type: u,
2633
+ onChange: m,
2634
+ ...d
2635
+ } = i, f = u === "password", C = f && r ? "text" : u, v = (B) => {
2636
+ let $ = B.target.value;
2637
+ if (p) {
2638
+ $ = at($, p);
2639
+ const k = {
2640
+ ...B,
2641
+ target: {
2642
+ ...B.target,
2643
+ value: $
2644
+ }
2645
+ };
2646
+ m == null || m(k);
2647
+ } else
2648
+ m == null || m(B);
2649
+ };
2650
+ return s.createElement(
2651
+ "div",
2652
+ { className: l, style: a },
2653
+ s.createElement("div", { className: "relative w-full" }, [
2654
+ s.createElement("input", {
2655
+ key: "input",
2656
+ id: e,
2657
+ className: "fibo-textfield-input",
2658
+ type: C,
2659
+ onChange: v,
2660
+ ...d
2661
+ }),
2662
+ c && s.createElement(
2663
+ "label",
2664
+ {
2665
+ key: "label",
2666
+ htmlFor: e,
2667
+ className: "fibo-textfield-label"
2668
+ },
2669
+ c
2670
+ ),
2671
+ f && s.createElement(
2672
+ "button",
2673
+ {
2674
+ key: "toggle",
2675
+ type: "button",
2676
+ className: "absolute right-3 top-1/2 transform -translate-y-1/2 text-gray-400 hover:text-gray-600 focus:outline-none",
2677
+ onClick: () => n(!r),
2678
+ tabIndex: -1
2679
+ },
2680
+ r ? s.createElement(
2681
+ "svg",
2682
+ { width: 16, height: 16, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round" },
2683
+ s.createElement("path", { d: "M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24" }),
2684
+ s.createElement("line", { x1: 1, y1: 1, x2: 23, y2: 23 })
2685
+ ) : s.createElement(
2686
+ "svg",
2687
+ { width: 16, height: 16, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round" },
2688
+ s.createElement("path", { d: "M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z" }),
2689
+ s.createElement("circle", { cx: 12, cy: 12, r: 3 })
2690
+ )
2691
+ )
2692
+ ]),
2693
+ h && s.createElement(
2694
+ "span",
2695
+ { className: "text-[var(--fibo-error)] text-xs mt-1 ml-1" },
2696
+ h
2697
+ )
2698
+ );
2699
+ });
2700
+ class ht extends b {
2701
+ constructor(e = "") {
2702
+ super();
2703
+ o(this, "_value", "");
2704
+ o(this, "_label", "");
2705
+ o(this, "_placeholder", "");
2706
+ o(this, "_type", "text");
2707
+ o(this, "_disabled", !1);
2708
+ o(this, "_error");
2709
+ o(this, "_mask");
2710
+ o(this, "_onChange");
2711
+ this._value = e;
2712
+ }
2713
+ value(e) {
2714
+ return this._value = e, this;
2715
+ }
2716
+ label(e) {
2717
+ return this._label = e, this;
2718
+ }
2719
+ placeholder(e) {
2720
+ return this._placeholder = e, this;
2721
+ }
2722
+ type(e) {
2723
+ return this._type = e, this;
2724
+ }
2725
+ mask(e) {
2726
+ return this._mask = e, this;
2727
+ }
2728
+ disabled(e = !0) {
2729
+ return this._disabled = e, this;
2730
+ }
2731
+ error(e) {
2732
+ return this._error = e, this;
2733
+ }
2734
+ onChange(e) {
2735
+ return this._onChange = e, this;
2736
+ }
2737
+ build() {
2738
+ const r = {
2739
+ containerClass: ["fibo-textfield-container", ...this._classNames].filter(Boolean).join(" "),
2740
+ containerStyle: this.getStyle(),
2741
+ label: this._label,
2742
+ error: this._error,
2743
+ value: this._value,
2744
+ placeholder: this._placeholder || " ",
2745
+ type: this._type,
2746
+ mask: this._mask,
2747
+ disabled: this._disabled,
2748
+ onChange: (n) => {
2749
+ var l;
2750
+ (l = this._onChange) == null || l.call(this, n.target.value);
2751
+ },
2752
+ ...this._props
2753
+ };
2754
+ return s.createElement(ct, r);
2755
+ }
2756
+ }
2757
+ const dt = x(ht), ut = s.memo((i) => {
2758
+ const {
2759
+ checked: t,
2760
+ onChange: e,
2761
+ label: r,
2762
+ disabled: n,
2763
+ className: l,
2764
+ style: a
2765
+ } = i, c = {
2766
+ width: "44px",
2767
+ height: "24px",
2768
+ borderRadius: "9999px",
2769
+ position: "relative",
2770
+ transition: "background-color 0.2s ease-in-out",
2771
+ cursor: n ? "not-allowed" : "pointer",
2772
+ opacity: n ? 0.5 : 1,
2773
+ backgroundColor: t ? "var(--fibo-primary, #3B82F6)" : "#E5E7EB",
2774
+ ...a
2775
+ }, h = {
2776
+ width: "20px",
2777
+ height: "20px",
2778
+ borderRadius: "50%",
2779
+ backgroundColor: "white",
2780
+ position: "absolute",
2781
+ top: "2px",
2782
+ left: "2px",
2783
+ transition: "transform 0.2s ease-in-out",
2784
+ transform: t ? "translateX(20px)" : "translateX(0)",
2785
+ boxShadow: "0 1px 3px rgba(0,0,0,0.1)"
2786
+ };
2787
+ return s.createElement(
2788
+ "label",
2789
+ {
2790
+ className: `fibo-switch flex items-center gap-3 ${l}`
2791
+ },
2792
+ s.createElement(
2793
+ "div",
2794
+ {
2795
+ className: "fibo-switch-track",
2796
+ style: c,
2797
+ onClick: (p) => {
2798
+ p.preventDefault(), !n && e && e(!t);
2799
+ }
2800
+ },
2801
+ s.createElement("div", { style: h })
2802
+ ),
2803
+ r && s.createElement(
2804
+ "span",
2805
+ { className: "text-sm font-medium text-gray-700 select-none" },
2806
+ r
2807
+ ),
2808
+ s.createElement("input", {
2809
+ type: "checkbox",
2810
+ checked: t,
2811
+ disabled: n,
2812
+ className: "sr-only",
2813
+ onChange: (p) => !n && (e == null ? void 0 : e(p.target.checked))
2814
+ })
2815
+ );
2816
+ });
2817
+ class mt extends b {
2818
+ constructor() {
2819
+ super(...arguments);
2820
+ o(this, "_checked", !1);
2821
+ o(this, "_onChange");
2822
+ o(this, "_label");
2823
+ o(this, "_disabled", !1);
2824
+ }
2825
+ checked(e) {
2826
+ return this._checked = e, this;
2827
+ }
2828
+ onChange(e) {
2829
+ return this._onChange = e, this;
2830
+ }
2831
+ label(e) {
2832
+ return this._label = e, this;
2833
+ }
2834
+ disabled(e = !0) {
2835
+ return this._disabled = e, this;
2836
+ }
2837
+ build() {
2838
+ const e = {
2839
+ checked: this._checked,
2840
+ onChange: this._onChange,
2841
+ label: this._label,
2842
+ disabled: this._disabled,
2843
+ className: this.getClassName(),
2844
+ style: this.getStyle()
2845
+ };
2846
+ return s.createElement(ut, e);
2847
+ }
2848
+ }
2849
+ const pt = x(mt), ft = s.memo((i) => {
2850
+ const {
2851
+ checked: t,
2852
+ onChange: e,
2853
+ label: r,
2854
+ disabled: n,
2855
+ indeterminate: l,
2856
+ className: a,
2857
+ style: c
2858
+ } = i, h = t || l, p = {
2859
+ width: "20px",
2860
+ height: "20px",
2861
+ borderRadius: "6px",
2862
+ border: h ? "none" : "2px solid #D1D5DB",
2863
+ backgroundColor: h ? "var(--fibo-primary, #3B82F6)" : "transparent",
2864
+ display: "flex",
2865
+ alignItems: "center",
2866
+ justifyContent: "center",
2867
+ transition: "all 0.2s",
2868
+ cursor: n ? "not-allowed" : "pointer",
2869
+ opacity: n ? 0.5 : 1,
2870
+ ...c
2871
+ };
2872
+ let u = null;
2873
+ return l ? u = s.createElement("div", { style: { width: "10px", height: "2px", backgroundColor: "white", borderRadius: "1px" } }) : t && (u = s.createElement(
2874
+ "svg",
2875
+ {
2876
+ width: "12",
2877
+ height: "12",
2878
+ viewBox: "0 0 12 12",
2879
+ fill: "none",
2880
+ xmlns: "http://www.w3.org/2000/svg"
2881
+ },
2882
+ s.createElement("path", {
2883
+ d: "M10 3L4.5 8.5L2 6",
2884
+ stroke: "white",
2885
+ strokeWidth: "2",
2886
+ strokeLinecap: "round",
2887
+ strokeLinejoin: "round"
2888
+ })
2889
+ )), s.createElement(
2890
+ "label",
2891
+ {
2892
+ className: `fibo-checkbox flex items-center gap-2 ${a}`
2893
+ },
2894
+ s.createElement(
2895
+ "div",
2896
+ {
2897
+ className: "fibo-checkbox-box",
2898
+ style: p,
2899
+ onClick: (m) => {
2900
+ m.preventDefault(), !n && e && e(!t);
2901
+ }
2902
+ },
2903
+ u
2904
+ ),
2905
+ r && s.createElement(
2906
+ "span",
2907
+ { className: "text-sm text-gray-700 select-none" },
2908
+ r
2909
+ ),
2910
+ s.createElement("input", {
2911
+ type: "checkbox",
2912
+ checked: t,
2913
+ disabled: n,
2914
+ className: "sr-only",
2915
+ onChange: (m) => !n && (e == null ? void 0 : e(m.target.checked))
2916
+ })
2917
+ );
2918
+ });
2919
+ class gt extends b {
2920
+ constructor() {
2921
+ super(...arguments);
2922
+ o(this, "_checked", !1);
2923
+ o(this, "_onChange");
2924
+ o(this, "_label");
2925
+ o(this, "_disabled", !1);
2926
+ o(this, "_indeterminate", !1);
2927
+ }
2928
+ checked(e) {
2929
+ return this._checked = e, this;
2930
+ }
2931
+ indeterminate(e) {
2932
+ return this._indeterminate = e, this;
2933
+ }
2934
+ onChange(e) {
2935
+ return this._onChange = e, this;
2936
+ }
2937
+ label(e) {
2938
+ return this._label = e, this;
2939
+ }
2940
+ disabled(e = !0) {
2941
+ return this._disabled = e, this;
2942
+ }
2943
+ build() {
2944
+ const e = {
2945
+ checked: this._checked,
2946
+ onChange: this._onChange,
2947
+ label: this._label,
2948
+ disabled: this._disabled,
2949
+ indeterminate: this._indeterminate,
2950
+ className: this.getClassName(),
2951
+ style: this.getStyle()
2952
+ };
2953
+ return s.createElement(ft, e);
2954
+ }
2955
+ }
2956
+ const Rs = x(gt), bt = s.memo((i) => {
2957
+ const {
2958
+ value: t,
2959
+ options: e,
2960
+ onChange: r,
2961
+ name: n,
2962
+ direction: l,
2963
+ className: a,
2964
+ style: c
2965
+ } = i;
2966
+ return s.createElement(
2967
+ "div",
2968
+ {
2969
+ className: `fibo-radio-group flex ${l === "vertical" ? "flex-col gap-2" : "flex-row gap-4"} ${a}`,
2970
+ style: c
2971
+ },
2972
+ e.map((h) => {
2973
+ const p = t === h.value, u = h.disabled;
2974
+ return s.createElement(
2975
+ "label",
2976
+ {
2977
+ key: h.value,
2978
+ className: `flex items-center gap-2 cursor-pointer ${u ? "opacity-50 cursor-not-allowed" : ""}`
2979
+ },
2980
+ s.createElement(
2981
+ "div",
2982
+ {
2983
+ className: "relative flex items-center justify-center",
2984
+ style: {
2985
+ width: "18px",
2986
+ height: "18px",
2987
+ borderRadius: "50%",
2988
+ border: p ? "5px solid var(--fibo-primary, #3B82F6)" : "2px solid #D1D5DB",
2989
+ transition: "all 0.2s"
2990
+ }
2991
+ },
2992
+ s.createElement("input", {
2993
+ type: "radio",
2994
+ name: n,
2995
+ value: h.value,
2996
+ checked: p,
2997
+ disabled: u,
2998
+ className: "sr-only",
2999
+ onChange: () => !u && (r == null ? void 0 : r(h.value))
3000
+ })
3001
+ ),
3002
+ s.createElement(
3003
+ "span",
3004
+ { className: "text-sm text-gray-700" },
3005
+ h.label
3006
+ )
3007
+ );
3008
+ })
3009
+ );
3010
+ });
3011
+ class xt extends b {
3012
+ constructor() {
3013
+ super(...arguments);
3014
+ o(this, "_value", "");
3015
+ o(this, "_options", []);
3016
+ o(this, "_onChange");
3017
+ o(this, "_name", `radio-group-${Math.random().toString(36).substr(2, 9)}`);
3018
+ o(this, "_direction", "vertical");
3019
+ }
3020
+ value(e) {
3021
+ return this._value = e, this;
3022
+ }
3023
+ options(e) {
3024
+ return this._options = e, this;
3025
+ }
3026
+ onChange(e) {
3027
+ return this._onChange = e, this;
3028
+ }
3029
+ direction(e) {
3030
+ return this._direction = e, this;
3031
+ }
3032
+ name(e) {
3033
+ return this._name = e, this;
3034
+ }
3035
+ build() {
3036
+ const e = {
3037
+ value: this._value,
3038
+ options: this._options,
3039
+ onChange: this._onChange,
3040
+ name: this._name,
3041
+ direction: this._direction,
3042
+ className: this.getClassName(),
3043
+ style: this.getStyle()
3044
+ };
3045
+ return s.createElement(bt, e);
3046
+ }
3047
+ }
3048
+ const Ts = x(xt), yt = s.memo((i) => {
3049
+ const t = s.useId(), e = i.id || t, {
3050
+ containerClass: r,
3051
+ containerStyle: n,
3052
+ label: l,
3053
+ error: a,
3054
+ ...c
3055
+ } = i;
3056
+ return s.createElement(
3057
+ "div",
3058
+ { className: r, style: n },
3059
+ s.createElement("textarea", {
3060
+ id: e,
3061
+ className: "fibo-textarea-input",
3062
+ ...c
3063
+ }),
3064
+ l && s.createElement(
3065
+ "label",
3066
+ {
3067
+ htmlFor: e,
3068
+ className: "fibo-textarea-label"
3069
+ },
3070
+ l
3071
+ ),
3072
+ a && s.createElement(
3073
+ "span",
3074
+ { className: "text-[var(--fibo-error)] text-xs mt-1 ml-1" },
3075
+ a
3076
+ )
3077
+ );
3078
+ });
3079
+ class _t extends b {
3080
+ constructor() {
3081
+ super(...arguments);
3082
+ o(this, "_value", "");
3083
+ o(this, "_label", "");
3084
+ o(this, "_placeholder", "");
3085
+ o(this, "_disabled", !1);
3086
+ o(this, "_rows", 4);
3087
+ o(this, "_error");
3088
+ o(this, "_resize", "vertical");
3089
+ o(this, "_onChange");
3090
+ }
3091
+ value(e) {
3092
+ return this._value = e, this;
3093
+ }
3094
+ label(e) {
3095
+ return this._label = e, this;
3096
+ }
3097
+ placeholder(e) {
3098
+ return this._placeholder = e, this;
3099
+ }
3100
+ disabled(e = !0) {
3101
+ return this._disabled = e, this;
3102
+ }
3103
+ rows(e) {
3104
+ return this._rows = e, this;
3105
+ }
3106
+ resize(e) {
3107
+ return this._resize = e, this;
3108
+ }
3109
+ error(e) {
3110
+ return this._error = e, this;
3111
+ }
3112
+ onChange(e) {
3113
+ return this._onChange = e, this;
3114
+ }
3115
+ build() {
3116
+ const r = {
3117
+ containerClass: ["fibo-textarea-container", ...this._classNames].filter(Boolean).join(" "),
3118
+ containerStyle: { width: "100%", ...this.getStyle() },
3119
+ label: this._label,
3120
+ error: this._error,
3121
+ rows: this._rows,
3122
+ value: this._value,
3123
+ placeholder: this._placeholder || " ",
3124
+ disabled: this._disabled,
3125
+ style: { resize: this._resize },
3126
+ onChange: (n) => {
3127
+ var l;
3128
+ (l = this._onChange) == null || l.call(this, n.target.value);
3129
+ },
3130
+ ...this._props
3131
+ };
3132
+ return s.createElement(yt, r);
3133
+ }
3134
+ }
3135
+ const Ps = x(_t), kt = s.memo((i) => {
3136
+ const t = s.useId(), e = i.id || t, [r, n] = W(!1), l = Q(null), {
3137
+ containerClass: a,
3138
+ containerStyle: c,
3139
+ label: h,
3140
+ error: p,
3141
+ value: u,
3142
+ options: m = [],
3143
+ placeholder: d,
3144
+ onChange: f,
3145
+ disabled: C,
3146
+ multiple: v,
3147
+ ...B
3148
+ } = i;
3149
+ H(() => {
3150
+ const y = (g) => {
3151
+ l.current && !l.current.contains(g.target) && n(!1);
3152
+ };
3153
+ return document.addEventListener("mousedown", y), () => document.removeEventListener("mousedown", y);
3154
+ }, []);
3155
+ const $ = (y) => v ? Array.isArray(u) && u.includes(y) : u === y;
3156
+ let k = "";
3157
+ if (v)
3158
+ Array.isArray(u) && u.length > 0 && (k = m.filter((y) => u.includes(y.value)).map((y) => y.label).join(", "));
3159
+ else {
3160
+ const y = m.find((g) => g.value === u);
3161
+ k = y ? y.label : "";
3162
+ }
3163
+ const E = (y) => {
3164
+ if (!C)
3165
+ if (v) {
3166
+ const g = Array.isArray(u) ? [...u] : [], F = g.indexOf(y);
3167
+ F > -1 ? g.splice(F, 1) : g.push(y), f == null || f(g);
3168
+ } else
3169
+ f == null || f(y), n(!1);
3170
+ };
3171
+ return s.createElement(
3172
+ "div",
3173
+ {
3174
+ ref: l,
3175
+ className: a,
3176
+ style: c
3177
+ },
3178
+ s.createElement("div", { className: "relative w-full" }, [
3179
+ s.createElement("button", {
3180
+ key: "trigger",
3181
+ id: e,
3182
+ type: "button",
3183
+ disabled: C,
3184
+ className: `fibo-textfield-input text-left w-full flex items-center justify-between ${k ? "" : "text-gray-400"}`,
3185
+ onClick: () => !C && n(!r),
3186
+ ...B
3187
+ }, [
3188
+ s.createElement("span", { key: "text", className: "truncate" }, k || d || " "),
3189
+ s.createElement("svg", {
3190
+ key: "icon",
3191
+ className: `w-4 h-4 transition-transform ${r ? "rotate-180" : ""}`,
3192
+ fill: "none",
3193
+ stroke: "currentColor",
3194
+ viewBox: "0 0 24 24"
3195
+ }, s.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 9l-7 7-7-7" }))
3196
+ ]),
3197
+ h && s.createElement(
3198
+ "label",
3199
+ {
3200
+ key: "label",
3201
+ htmlFor: e,
3202
+ className: "fibo-textfield-label"
3203
+ },
3204
+ h
3205
+ ),
3206
+ r && s.createElement("div", {
3207
+ key: "dropdown",
3208
+ className: "absolute z-50 w-full mt-1 bg-[var(--fibo-surface)] border border-[var(--fibo-outline)] rounded-md shadow-lg max-h-60 overflow-auto focus:outline-none"
3209
+ }, m.map((y) => {
3210
+ const g = $(y.value);
3211
+ return s.createElement("div", {
3212
+ key: y.value,
3213
+ className: `px-4 py-2 cursor-pointer text-sm hover:bg-[var(--fibo-primary-container)] hover:text-[var(--fibo-on-primary-container)] flex items-center justify-between ${g ? "bg-[var(--fibo-primary-container)] text-[var(--fibo-on-primary-container)] font-medium" : "text-[var(--fibo-on-surface)]"}`,
3214
+ onClick: () => E(y.value)
3215
+ }, [
3216
+ s.createElement("span", { key: "label" }, y.label),
3217
+ g && s.createElement("svg", {
3218
+ key: "check",
3219
+ className: "w-4 h-4 text-[var(--fibo-primary)]",
3220
+ viewBox: "0 0 20 20",
3221
+ fill: "currentColor"
3222
+ }, s.createElement("path", { fillRule: "evenodd", d: "M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z", clipRule: "evenodd" }))
3223
+ ]);
3224
+ }))
3225
+ ]),
3226
+ p && s.createElement(
3227
+ "span",
3228
+ { className: "text-[var(--fibo-error)] text-xs mt-1 ml-1" },
3229
+ p
3230
+ )
3231
+ );
3232
+ });
3233
+ class vt extends b {
3234
+ constructor() {
3235
+ super(...arguments);
3236
+ o(this, "_value", "");
3237
+ o(this, "_label", "");
3238
+ o(this, "_placeholder", "");
3239
+ o(this, "_disabled", !1);
3240
+ o(this, "_error");
3241
+ o(this, "_multiple", !1);
3242
+ o(this, "_options", []);
3243
+ o(this, "_onChange");
3244
+ }
3245
+ value(e) {
3246
+ return this._value = e, this;
3247
+ }
3248
+ label(e) {
3249
+ return this._label = e, this;
3250
+ }
3251
+ placeholder(e) {
3252
+ return this._placeholder = e, this;
3253
+ }
3254
+ options(e) {
3255
+ return this._options = e, this;
3256
+ }
3257
+ multiple(e = !0) {
3258
+ return this._multiple = e, this;
3259
+ }
3260
+ disabled(e = !0) {
3261
+ return this._disabled = e, this;
3262
+ }
3263
+ error(e) {
3264
+ return this._error = e, this;
3265
+ }
3266
+ onChange(e) {
3267
+ return this._onChange = e, this;
3268
+ }
3269
+ build() {
3270
+ const r = {
3271
+ containerClass: ["fibo-textfield-container relative", ...this._classNames].filter(Boolean).join(" "),
3272
+ containerStyle: this.getStyle(),
3273
+ label: this._label,
3274
+ error: this._error,
3275
+ value: this._value,
3276
+ placeholder: this._placeholder,
3277
+ options: this._options,
3278
+ disabled: this._disabled,
3279
+ multiple: this._multiple,
3280
+ onChange: this._onChange,
3281
+ ...this._props
3282
+ };
3283
+ return s.createElement(kt, r);
3284
+ }
3285
+ }
3286
+ const Ds = x(vt), wt = s.memo((i) => {
3287
+ const t = s.useId(), e = i.id || t, [r, n] = W(!1), [l, a] = W(""), c = Q(null), {
3288
+ containerClass: h,
3289
+ containerStyle: p,
3290
+ label: u,
3291
+ error: m,
3292
+ value: d,
3293
+ options: f = [],
3294
+ placeholder: C,
3295
+ onChange: v,
3296
+ onAdd: B,
3297
+ disabled: $,
3298
+ multiple: k,
3299
+ ...E
3300
+ } = i;
3301
+ H(() => {
3302
+ if (!k) {
3303
+ const _ = i.options.find((z) => z.value === i.value);
3304
+ _ && !r && l !== _.label && a(_.label);
3305
+ }
3306
+ }, [i.value, i.options, r, k]);
3307
+ const y = f.filter(
3308
+ (_) => _.label.toLowerCase().includes(l.toLowerCase())
3309
+ );
3310
+ H(() => {
3311
+ const _ = (z) => {
3312
+ if (c.current && !c.current.contains(z.target))
3313
+ if (n(!1), k)
3314
+ a("");
3315
+ else {
3316
+ const T = f.find((V) => V.value === d);
3317
+ a(T ? T.label : "");
3318
+ }
3319
+ };
3320
+ return document.addEventListener("mousedown", _), () => document.removeEventListener("mousedown", _);
3321
+ }, [d, f, k]);
3322
+ const g = (_) => {
3323
+ if (k) {
3324
+ const z = Array.isArray(d) ? [...d] : [];
3325
+ z.includes(_.value) || (z.push(_.value), v == null || v(z)), a("");
3326
+ } else
3327
+ a(_.label), v == null || v(_.value), n(!1);
3328
+ }, F = (_) => {
3329
+ if (k && Array.isArray(d)) {
3330
+ const z = d.filter((T) => T !== _);
3331
+ v == null || v(z);
3332
+ }
3333
+ }, A = () => {
3334
+ B == null || B(l), k ? a("") : n(!1);
3335
+ }, I = (_) => k ? Array.isArray(d) && d.includes(_) : d === _;
3336
+ return s.createElement(
3337
+ "div",
3338
+ {
3339
+ ref: c,
3340
+ className: h,
3341
+ style: p
3342
+ },
3343
+ s.createElement("div", { className: "relative w-full" }, [
3344
+ s.createElement("div", {
3345
+ className: `fibo-textfield-input flex flex-wrap items-center gap-1 ${r ? "ring-2 ring-[var(--fibo-primary-container)] border-[var(--fibo-primary)]" : ""}`,
3346
+ style: { minHeight: "42px", padding: "4px 8px" }
3347
+ }, [
3348
+ k && Array.isArray(d) && d.map((_) => {
3349
+ const z = f.find((V) => V.value === _), T = z ? z.label : _;
3350
+ return s.createElement("span", {
3351
+ key: _,
3352
+ className: "bg-[var(--fibo-primary-container)] text-[var(--fibo-on-primary-container)] text-xs font-medium px-2 py-1 rounded-md flex items-center"
3353
+ }, [
3354
+ T,
3355
+ s.createElement("button", {
3356
+ type: "button",
3357
+ className: "ml-1 hover:text-[var(--fibo-primary)] focus:outline-none",
3358
+ onClick: (V) => {
3359
+ V.stopPropagation(), F(_);
3360
+ }
3361
+ }, "×")
3362
+ ]);
3363
+ }),
3364
+ s.createElement("input", {
3365
+ key: "input",
3366
+ id: e,
3367
+ className: "bg-transparent outline-none flex-1 min-w-[60px] text-sm h-8",
3368
+ value: l,
3369
+ placeholder: k && Array.isArray(d) && d.length > 0 ? "" : C || " ",
3370
+ disabled: $,
3371
+ onChange: (_) => {
3372
+ a(_.target.value), r || n(!0);
3373
+ },
3374
+ onFocus: () => n(!0),
3375
+ ...E
3376
+ })
3377
+ ]),
3378
+ u && s.createElement(
3379
+ "label",
3380
+ {
3381
+ key: "label",
3382
+ htmlFor: e,
3383
+ className: "fibo-textfield-label"
3384
+ },
3385
+ u
3386
+ ),
3387
+ r && s.createElement("div", {
3388
+ key: "dropdown",
3389
+ className: "absolute z-50 w-full mt-1 bg-[var(--fibo-surface)] border border-[var(--fibo-outline)] rounded-md shadow-lg max-h-60 overflow-auto focus:outline-none left-0"
3390
+ }, [
3391
+ y.length > 0 ? y.map((_) => {
3392
+ const z = I(_.value);
3393
+ return s.createElement("div", {
3394
+ key: _.value,
3395
+ className: `px-4 py-2 cursor-pointer text-sm hover:bg-[var(--fibo-primary-container)] hover:text-[var(--fibo-on-primary-container)] ${z ? "bg-[var(--fibo-primary-container)] text-[var(--fibo-on-primary-container)] font-medium opacity-50" : "text-[var(--fibo-on-surface)]"}`,
3396
+ onClick: () => !z && g(_)
3397
+ }, _.label);
3398
+ }) : s.createElement("div", { className: "px-4 py-2 text-sm text-gray-500" }, "No results found."),
3399
+ l && !y.some((_) => _.label.toLowerCase() === l.toLowerCase()) && B && s.createElement("div", {
3400
+ key: "add-new",
3401
+ className: "border-t border-[var(--fibo-outline)] px-4 py-2 cursor-pointer text-sm text-[var(--fibo-primary)] hover:bg-[var(--fibo-primary-container)] font-medium flex items-center",
3402
+ onClick: A
3403
+ }, [
3404
+ s.createElement("span", { className: "mr-1" }, "+"),
3405
+ `Add "${l}"`
3406
+ ])
3407
+ ])
3408
+ ]),
3409
+ m && s.createElement(
3410
+ "span",
3411
+ { className: "text-[var(--fibo-error)] text-xs mt-1 ml-1" },
3412
+ m
3413
+ )
3414
+ );
3415
+ });
3416
+ class Nt extends b {
3417
+ constructor() {
3418
+ super(...arguments);
3419
+ o(this, "_value", "");
3420
+ o(this, "_label", "");
3421
+ o(this, "_placeholder", "");
3422
+ o(this, "_disabled", !1);
3423
+ o(this, "_error");
3424
+ o(this, "_multiple", !1);
3425
+ o(this, "_options", []);
3426
+ o(this, "_onChange");
3427
+ o(this, "_onAdd");
3428
+ }
3429
+ value(e) {
3430
+ return this._value = e, this;
3431
+ }
3432
+ label(e) {
3433
+ return this._label = e, this;
3434
+ }
3435
+ placeholder(e) {
3436
+ return this._placeholder = e, this;
3437
+ }
3438
+ options(e) {
3439
+ return this._options = e, this;
3440
+ }
3441
+ multiple(e = !0) {
3442
+ return this._multiple = e, this;
3443
+ }
3444
+ disabled(e = !0) {
3445
+ return this._disabled = e, this;
3446
+ }
3447
+ error(e) {
3448
+ return this._error = e, this;
3449
+ }
3450
+ onChange(e) {
3451
+ return this._onChange = e, this;
3452
+ }
3453
+ onAdd(e) {
3454
+ return this._onAdd = e, this;
3455
+ }
3456
+ build() {
3457
+ const r = {
3458
+ containerClass: ["fibo-textfield-container relative", ...this._classNames].filter(Boolean).join(" "),
3459
+ containerStyle: this.getStyle(),
3460
+ label: this._label,
3461
+ error: this._error,
3462
+ value: this._value,
3463
+ placeholder: this._placeholder,
3464
+ options: this._options,
3465
+ disabled: this._disabled,
3466
+ multiple: this._multiple,
3467
+ onChange: this._onChange,
3468
+ onAdd: this._onAdd,
3469
+ ...this._props
3470
+ };
3471
+ return s.createElement(wt, r);
3472
+ }
3473
+ }
3474
+ const Os = x(Nt), Ct = s.memo((i) => {
3475
+ const { text: t, subtitle: e, number: r, color: n, className: l, style: a, children: c, ...h } = i;
3476
+ return s.createElement(
3477
+ "div",
3478
+ {
3479
+ className: `rounded-[24px] shadow-[0_8px_30px_rgb(0,0,0,0.04)] hover:shadow-[0_8px_30px_rgb(0,0,0,0.08)] transition-shadow duration-300 border-none p-4 ${l || ""}`,
3480
+ style: { backgroundColor: "#ffffff", ...a },
3481
+ ...h
3482
+ },
3483
+ s.createElement(
3484
+ "div",
3485
+ { className: "flex flex-col gap-2" },
3486
+ t && s.createElement(
3487
+ "h3",
3488
+ {
3489
+ className: "font-semibold text-[var(--fibo-on-surface-variant)] text-sm uppercase tracking-wide"
3490
+ },
3491
+ t
3492
+ ),
3493
+ r && s.createElement(
3494
+ "p",
3495
+ {
3496
+ className: "font-bold text-[var(--fibo-on-surface)] text-3xl"
3497
+ },
3498
+ r
3499
+ ),
3500
+ e && s.createElement(
3501
+ "p",
3502
+ {
3503
+ className: "text-[var(--fibo-on-surface-variant)] text-xs"
3504
+ },
3505
+ e
3506
+ ),
3507
+ ...c
3508
+ )
3509
+ );
3510
+ });
3511
+ class Et extends b {
3512
+ constructor() {
3513
+ super(...arguments);
3514
+ o(this, "_text", "");
3515
+ o(this, "_subtitle");
3516
+ o(this, "_number");
3517
+ o(this, "_color");
3518
+ }
3519
+ text(e) {
3520
+ return this._text = e, this;
3521
+ }
3522
+ subtitle(e) {
3523
+ return this._subtitle = e, this;
3524
+ }
3525
+ number(e) {
3526
+ return this._number = e, this;
3527
+ }
3528
+ color(e) {
3529
+ return this._color = e, this;
3530
+ }
3531
+ build() {
3532
+ const e = {
3533
+ green: "border-l-green-500",
3534
+ orange: "border-l-orange-500",
3535
+ red: "border-l-red-500",
3536
+ blue: "border-l-blue-500",
3537
+ purple: "border-l-purple-500"
3538
+ }, r = [
3539
+ "fibo-card",
3540
+ this._color ? `border-l-4 ${e[this._color]}` : "",
3541
+ ...this._classNames
3542
+ ].filter(Boolean).join(" "), n = {
3543
+ text: this._text,
3544
+ subtitle: this._subtitle,
3545
+ number: this._number,
3546
+ color: this._color,
3547
+ className: r,
3548
+ style: this.getStyle(),
3549
+ children: this.processChildren(),
3550
+ ...this._props
3551
+ };
3552
+ return s.createElement(Ct, n);
3553
+ }
3554
+ }
3555
+ const M = x(Et), St = s.memo((i) => {
3556
+ const {
3557
+ items: t,
3558
+ renderItem: e,
3559
+ variant: r,
3560
+ separator: n,
3561
+ loading: l,
3562
+ threshold: a,
3563
+ onEndReached: c,
3564
+ className: h,
3565
+ style: p
3566
+ } = i, u = s.useRef(null);
3567
+ s.useEffect(() => {
3568
+ if (!c || l) return;
3569
+ const C = new IntersectionObserver(
3570
+ (v) => {
3571
+ v[0].isIntersecting && (c == null || c());
3572
+ },
3573
+ { threshold: a }
3574
+ );
3575
+ return u.current && C.observe(u.current), () => C.disconnect();
3576
+ }, [l, t.length, c, a]);
3577
+ const m = {
3578
+ default: { gap: "0px" },
3579
+ card: { gap: "12px" },
3580
+ floating: { gap: "8px" }
3581
+ }, d = {
3582
+ default: {
3583
+ padding: "12px 16px",
3584
+ borderBottom: n ? "1px solid #F3F4F6" : "none",
3585
+ backgroundColor: "transparent",
3586
+ transition: "background-color 0.2s"
3587
+ },
3588
+ card: {
3589
+ padding: "16px",
3590
+ backgroundColor: "#fff",
3591
+ borderRadius: "16px",
3592
+ boxShadow: "0 2px 8px -2px rgba(0,0,0,0.05)",
3593
+ border: "1px solid #F3F4F6",
3594
+ transition: "transform 0.2s, box-shadow 0.2s"
3595
+ },
3596
+ floating: {
3597
+ padding: "8px 12px",
3598
+ borderRadius: "12px",
3599
+ backgroundColor: "transparent",
3600
+ transition: "background-color 0.2s"
3601
+ }
3602
+ }, f = {
3603
+ default: ["hover:bg-gray-50", "first:rounded-t-xl", "last:rounded-b-xl"],
3604
+ card: ["hover:-translate-y-0.5", "hover:shadow-md"],
3605
+ floating: ["hover:bg-white", "hover:shadow-sm"]
3606
+ };
3607
+ return w().className(h).classNames(["flex", "flex-col", "w-full"]).style({
3608
+ ...m[r],
3609
+ ...p
3610
+ }).children(
3611
+ s.createElement(s.Fragment, {}, [
3612
+ ...t.map(
3613
+ (C, v) => s.cloneElement(
3614
+ w().style(d[r]).classNames(f[r]).children(
3615
+ e ? e(C, v) : null
3616
+ ).build(),
3617
+ { key: `item-${v}` }
3618
+ )
3619
+ ),
3620
+ c && s.createElement("div", {
3621
+ ref: u,
3622
+ className: "py-4 flex justify-center w-full"
3623
+ }, l ? s.createElement("div", { className: "animate-spin rounded-full h-5 w-5 border-2 border-gray-300 border-b-blue-600" }) : s.createElement("div", { style: { height: "20px" } }))
3624
+ ])
3625
+ ).build();
3626
+ });
3627
+ class Ft extends b {
3628
+ constructor() {
3629
+ super(...arguments);
3630
+ o(this, "_items", []);
3631
+ o(this, "_renderItem");
3632
+ o(this, "_variant", "default");
3633
+ o(this, "_separator", !1);
3634
+ o(this, "_onEndReached");
3635
+ o(this, "_loading", !1);
3636
+ o(this, "_threshold", 0.5);
3637
+ }
3638
+ items(e) {
3639
+ return this._items = e, this;
3640
+ }
3641
+ renderItem(e) {
3642
+ return this._renderItem = e, this;
3643
+ }
3644
+ variant(e) {
3645
+ return this._variant = e, this;
3646
+ }
3647
+ separator(e = !0) {
3648
+ return this._separator = e, this;
3649
+ }
3650
+ onEndReached(e) {
3651
+ return this._onEndReached = e, this;
3652
+ }
3653
+ loading(e) {
3654
+ return this._loading = e, this;
3655
+ }
3656
+ threshold(e) {
3657
+ return this._threshold = e, this;
3658
+ }
3659
+ build() {
3660
+ const e = {
3661
+ items: this._items,
3662
+ renderItem: this._renderItem,
3663
+ variant: this._variant,
3664
+ separator: this._separator,
3665
+ loading: this._loading,
3666
+ threshold: this._threshold,
3667
+ onEndReached: this._onEndReached,
3668
+ className: this.getClassName(),
3669
+ style: this.getStyle()
3670
+ };
3671
+ return s.createElement(St, e);
3672
+ }
3673
+ }
3674
+ const Hs = x(Ft), zt = s.memo((i) => {
3675
+ const {
3676
+ data: t,
3677
+ columns: e,
3678
+ variant: r,
3679
+ density: n,
3680
+ striped: l,
3681
+ width: a,
3682
+ className: c,
3683
+ style: h
3684
+ } = i, p = {
3685
+ width: "100%",
3686
+ borderCollapse: "separate",
3687
+ borderSpacing: "0",
3688
+ ...h
3689
+ };
3690
+ a && (p.width = typeof a == "number" ? `${a}px` : a);
3691
+ const u = r === "clean" ? ["bg-white", "rounded-2xl", "border", "border-gray-100", "overflow-hidden", "shadow-sm"] : [], d = {
3692
+ compact: "10px 16px",
3693
+ standard: "16px 24px",
3694
+ relaxed: "24px 32px"
3695
+ }[n];
3696
+ return w().className(c).classNames(u).children(
3697
+ s.createElement("table", { style: p }, [
3698
+ s.createElement(
3699
+ "thead",
3700
+ { key: "thead", className: "bg-gray-50/50" },
3701
+ s.createElement(
3702
+ "tr",
3703
+ {},
3704
+ e.map(
3705
+ (f, C) => s.createElement("th", {
3706
+ key: C,
3707
+ style: {
3708
+ textAlign: f.align || "left",
3709
+ padding: d,
3710
+ width: f.width
3711
+ },
3712
+ className: "text-xs font-bold text-gray-400 uppercase tracking-widest"
3713
+ }, f.header)
3714
+ )
3715
+ )
3716
+ ),
3717
+ s.createElement(
3718
+ "tbody",
3719
+ { key: "tbody" },
3720
+ t.map(
3721
+ (f, C) => s.createElement(
3722
+ "tr",
3723
+ {
3724
+ key: C,
3725
+ className: `group transition-all duration-200 border-b border-gray-50 last:border-b-0 ${l && C % 2 !== 0 ? "bg-gray-50/30" : "bg-transparent"} ${r === "clean" ? "hover:bg-white hover:shadow-md hover:scale-[1.002] hover:z-10 relative" : "hover:bg-gray-50/50"}`
3726
+ },
3727
+ e.map(
3728
+ (v, B) => s.createElement(
3729
+ "td",
3730
+ {
3731
+ key: B,
3732
+ style: {
3733
+ textAlign: v.align || "left",
3734
+ padding: d,
3735
+ borderTop: r === "default" ? "1px solid #F3F4F6" : "none"
3736
+ },
3737
+ className: "text-sm text-gray-900 font-medium"
3738
+ },
3739
+ v.render ? v.render(f) : v.accessor ? f[v.accessor] : null
3740
+ )
3741
+ )
3742
+ )
3743
+ )
3744
+ )
3745
+ ])
3746
+ ).build();
3747
+ });
3748
+ class Bt extends b {
3749
+ constructor() {
3750
+ super(...arguments);
3751
+ o(this, "_data", []);
3752
+ o(this, "_columns", []);
3753
+ o(this, "_variant", "clean");
3754
+ o(this, "_density", "standard");
3755
+ o(this, "_striped", !1);
3756
+ o(this, "_width");
3757
+ }
3758
+ data(e) {
3759
+ return this._data = e, this;
3760
+ }
3761
+ columns(e) {
3762
+ return this._columns = e, this;
3763
+ }
3764
+ variant(e) {
3765
+ return this._variant = e, this;
3766
+ }
3767
+ density(e) {
3768
+ return this._density = e, this;
3769
+ }
3770
+ striped(e = !0) {
3771
+ return this._striped = e, this;
3772
+ }
3773
+ width(e) {
3774
+ return this._width = e, this;
3775
+ }
3776
+ build() {
3777
+ const e = {
3778
+ data: this._data,
3779
+ columns: this._columns,
3780
+ variant: this._variant,
3781
+ density: this._density,
3782
+ striped: this._striped,
3783
+ width: this._width,
3784
+ className: this.getClassName(),
3785
+ style: this.getStyle()
3786
+ };
3787
+ return s.createElement(zt, e);
3788
+ }
3789
+ }
3790
+ const Vs = x(Bt), $t = s.memo((i) => {
3791
+ const { items: t, className: e, style: r, ...n } = i, l = t.map(
3792
+ (a, c) => s.createElement(
3793
+ "span",
3794
+ {
3795
+ key: c,
3796
+ className: "fibo-tag"
3797
+ },
3798
+ a.title
3799
+ )
3800
+ );
3801
+ return s.createElement(
3802
+ "div",
3803
+ {
3804
+ className: e,
3805
+ style: r,
3806
+ ...n
3807
+ },
3808
+ ...l
3809
+ );
3810
+ });
3811
+ class At extends b {
3812
+ constructor(e = []) {
3813
+ super();
3814
+ o(this, "_items", []);
3815
+ this._items = e;
3816
+ }
3817
+ items(e) {
3818
+ return this._items = e, this;
3819
+ }
3820
+ build() {
3821
+ const e = ["fibo-tags", "flex", "gap-2", "flex-wrap", ...this._classNames].filter(Boolean).join(" "), r = {
3822
+ items: this._items,
3823
+ className: e,
3824
+ style: this.getStyle(),
3825
+ ...this._props
3826
+ };
3827
+ return s.createElement($t, r);
3828
+ }
3829
+ }
3830
+ const qs = x(At), It = s.memo((i) => {
3831
+ const { status: t, title: e, subtitle: r, className: n, style: l, ...a } = i;
3832
+ return s.createElement(
3833
+ "div",
3834
+ {
3835
+ className: n,
3836
+ style: l,
3837
+ ...a
3838
+ },
3839
+ s.createElement(
3840
+ "div",
3841
+ { className: "flex flex-col gap-1" },
3842
+ e && s.createElement(
3843
+ "h4",
3844
+ {
3845
+ className: "font-semibold text-sm uppercase tracking-wide opacity-90"
3846
+ },
3847
+ e
3848
+ ),
3849
+ r && s.createElement(
3850
+ "p",
3851
+ {
3852
+ className: "opacity-80 text-sm"
3853
+ },
3854
+ r
3855
+ )
3856
+ )
3857
+ );
3858
+ });
3859
+ class jt extends b {
3860
+ constructor(e = "") {
3861
+ super();
3862
+ o(this, "_status", "info");
3863
+ o(this, "_title", "");
3864
+ o(this, "_subtitle");
3865
+ this._title = e;
3866
+ }
3867
+ status(e) {
3868
+ return this._status = e, this;
3869
+ }
3870
+ title(e) {
3871
+ return this._title = e, this;
3872
+ }
3873
+ subtitle(e) {
3874
+ return this._subtitle = e, this;
3875
+ }
3876
+ build() {
3877
+ const r = [
3878
+ "fibo-banner",
3879
+ `fibo-banner-${this._status}`,
3880
+ ...this._classNames
3881
+ ].filter(Boolean).join(" "), n = {
3882
+ status: this._status,
3883
+ title: this._title,
3884
+ subtitle: this._subtitle,
3885
+ className: r,
3886
+ style: this.getStyle(),
3887
+ ...this._props
3888
+ };
3889
+ return s.createElement(It, n);
3890
+ }
3891
+ }
3892
+ const Gs = x(jt), Wt = s.memo((i) => {
3893
+ const { image: t, title: e, price: r, likes: n, timeLeft: l, className: a, style: c, ...h } = i;
3894
+ return M().classNames(["group", "transition-all", "duration-300", "hover:-translate-y-1"]).style({
3895
+ width: "100%",
3896
+ borderRadius: "24px",
3897
+ border: "none",
3898
+ boxShadow: "0 10px 40px -10px rgba(0,0,0,0.05)",
3899
+ padding: "16px",
3900
+ background: "#fff",
3901
+ ...c
3902
+ }).className(a).props(h).children([
3903
+ w().classNames(["relative", "aspect-square", "overflow-hidden", "rounded-[20px]"]).children([
3904
+ w().classNames(["w-full", "h-full", "bg-gray-200", "bg-cover", "bg-center"]).style({ backgroundImage: `url(${t})` }).build(),
3905
+ w().classNames(["absolute", "top-3", "right-3"]).children(
3906
+ q().variant("glass").shape("pill").icon(w().classNames(["text-gray-400", "hover:text-red-500"]).children(j.Heart).build()).text(`${n}`).build()
3907
+ ).build()
3908
+ ]).build(),
3909
+ O().height(16).build(),
3910
+ L().justifyContent("between").alignItems("start").children([
3911
+ R().gap(4).children([
3912
+ N(e).fontWeight(700).fontSize(18).color("#111827").build(),
3913
+ q().variant("neutral").text("Not for sale x1").build()
3914
+ ]).build(),
3915
+ w().classNames(["text-gray-300"]).children(j.More).build()
3916
+ ]).build(),
3917
+ O().height(16).build(),
3918
+ L().justifyContent("between").alignItems("center").children([
3919
+ R().gap(4).children([
3920
+ N("Current Bid").fontSize(11).fontWeight(600).color("#6B7280").build(),
3921
+ L().gap(4).alignItems("center").children([
3922
+ w().classNames(["text-blue-500"]).children(j.Eth).build(),
3923
+ N(`${r} ETH`).fontSize(15).fontWeight(700).color("#111827").build()
3924
+ ]).build()
3925
+ ]).build(),
3926
+ U("Place a bid").variant("filled").shape("pill").shadow("soft").style({
3927
+ backgroundColor: "#111827",
3928
+ color: "#fff",
3929
+ padding: "10px 20px",
3930
+ fontSize: "13px",
3931
+ fontWeight: 600
3932
+ }).build()
3933
+ ]).build(),
3934
+ O().height(12).build(),
3935
+ l ? q().variant("accent").shape("rounded").icon(w().children(j.Clock).build()).text(l).style({ width: "100%" }).build() : null
3936
+ ]).build();
3937
+ });
3938
+ class Lt extends b {
3939
+ constructor() {
3940
+ super(...arguments);
3941
+ o(this, "_image", "");
3942
+ o(this, "_title", "");
3943
+ o(this, "_price", "");
3944
+ o(this, "_likes", "");
3945
+ o(this, "_timeLeft");
3946
+ }
3947
+ image(e) {
3948
+ return this._image = e, this;
3949
+ }
3950
+ title(e) {
3951
+ return this._title = e, this;
3952
+ }
3953
+ price(e) {
3954
+ return this._price = e, this;
3955
+ }
3956
+ likes(e) {
3957
+ return this._likes = e, this;
3958
+ }
3959
+ timeLeft(e) {
3960
+ return this._timeLeft = e, this;
3961
+ }
3962
+ build() {
3963
+ const e = {
3964
+ image: this._image,
3965
+ title: this._title,
3966
+ price: this._price,
3967
+ likes: this._likes,
3968
+ timeLeft: this._timeLeft,
3969
+ className: this.getClassName(),
3970
+ style: this.getStyle(),
3971
+ ...this._props
3972
+ };
3973
+ return s.createElement(Wt, e);
3974
+ }
3975
+ }
3976
+ const Xs = x(Lt), Mt = s.memo((i) => {
3977
+ const { banner: t, avatar: e, name: r, handle: n, stats: l, className: a, style: c, ...h } = i;
3978
+ return M().style({
3979
+ width: "100%",
3980
+ borderRadius: "24px",
3981
+ border: "none",
3982
+ boxShadow: "0 10px 40px -10px rgba(0,0,0,0.05)",
3983
+ padding: "0",
3984
+ overflow: "hidden",
3985
+ background: "#fff",
3986
+ ...c
3987
+ }).className(a).props(h).children([
3988
+ w().style({ height: "100px", backgroundImage: `url(${t})`, backgroundSize: "cover", backgroundPosition: "center" }).build(),
3989
+ R().padding(20).alignItems("center").style({ marginTop: "-50px" }).children([
3990
+ Oe().image(e).size(80).border("4px solid #fff").build(),
3991
+ O().height(12).build(),
3992
+ L().gap(6).alignItems("center").children([
3993
+ N(r).fontWeight(700).fontSize(18).color("#111827").build(),
3994
+ j.Verify
3995
+ ]).build(),
3996
+ N(n).fontSize(13).color("#6B7280").style({ marginTop: "4px" }).build(),
3997
+ O().height(16).build(),
3998
+ U("+ Follow").variant("filled").shape("pill").shadow("soft").style({
3999
+ backgroundColor: "#3B82F6",
4000
+ color: "#fff",
4001
+ padding: "8px 24px",
4002
+ fontSize: "13px",
4003
+ fontWeight: 600
4004
+ }).build(),
4005
+ O().height(24).build(),
4006
+ L().classNames(["w-full", "border-t", "border-gray-100", "pt-4"]).justifyContent("between").children([
4007
+ R().alignItems("center").gap(4).children([
4008
+ N(l.items).fontWeight(700).fontSize(14).build(),
4009
+ N("Items").fontSize(11).color("#9CA3AF").build()
4010
+ ]).build(),
4011
+ R().alignItems("center").gap(4).children([
4012
+ N(l.owners).fontWeight(700).fontSize(14).build(),
4013
+ N("Owners").fontSize(11).color("#9CA3AF").build()
4014
+ ]).build(),
4015
+ R().alignItems("center").gap(4).children([
4016
+ L().alignItems("center").gap(2).children([
4017
+ w().width(8).children(j.Eth).build(),
4018
+ N(l.floor).fontWeight(700).fontSize(14).build()
4019
+ ]).build(),
4020
+ N("Floor").fontSize(11).color("#9CA3AF").build()
4021
+ ]).build()
4022
+ ]).build()
4023
+ ]).build()
4024
+ ]).build();
4025
+ });
4026
+ class Rt extends b {
4027
+ constructor() {
4028
+ super(...arguments);
4029
+ o(this, "_banner", "");
4030
+ o(this, "_avatar", "");
4031
+ o(this, "_name", "");
4032
+ o(this, "_handle", "");
4033
+ o(this, "_stats", { items: "0", owners: "0", floor: "0" });
4034
+ }
4035
+ banner(e) {
4036
+ return this._banner = e, this;
4037
+ }
4038
+ avatar(e) {
4039
+ return this._avatar = e, this;
4040
+ }
4041
+ name(e) {
4042
+ return this._name = e, this;
4043
+ }
4044
+ handle(e) {
4045
+ return this._handle = e, this;
4046
+ }
4047
+ stats(e) {
4048
+ return this._stats = e, this;
4049
+ }
4050
+ build() {
4051
+ const e = {
4052
+ banner: this._banner,
4053
+ avatar: this._avatar,
4054
+ name: this._name,
4055
+ handle: this._handle,
4056
+ stats: this._stats,
4057
+ className: this.getClassName(),
4058
+ style: this.getStyle(),
4059
+ ...this._props
4060
+ };
4061
+ return s.createElement(Mt, e);
4062
+ }
4063
+ }
4064
+ const Ys = x(Rt), Tt = s.memo((i) => {
4065
+ const { image: t, title: e, author: r, items: n, className: l, style: a, ...c } = i;
4066
+ return M().classNames(["group", "cursor-pointer"]).style({
4067
+ width: "100%",
4068
+ borderRadius: "24px",
4069
+ height: "320px",
4070
+ position: "relative",
4071
+ overflow: "hidden",
4072
+ border: "none",
4073
+ ...a
4074
+ }).className(l).props(c).children([
4075
+ w().classNames(["absolute", "inset-0", "bg-cover", "bg-center", "transition-transform", "duration-500"]).style({ backgroundImage: `url(${t})` }).build(),
4076
+ w().classNames(["absolute", "inset-0", "bg-gradient-to-t", "from-black/80", "via-black/20", "to-transparent"]).build(),
4077
+ R().classNames(["absolute", "bottom-0", "left-0", "p-6"]).gap(4).children([
4078
+ N(n).color("white").fontSize(12).classNames(["opacity-90", "mb-1", "uppercase", "tracking-wider"]).fontWeight(600).build(),
4079
+ N(e).color("white").fontSize(22).fontWeight(700).build(),
4080
+ L().gap(6).alignItems("center").children([
4081
+ N("Created by").color("white").fontSize(13).classNames(["opacity-80"]).build(),
4082
+ N(r).color("white").fontSize(13).fontWeight(600).build(),
4083
+ j.Verify
4084
+ ]).build()
4085
+ ]).build()
4086
+ ]).build();
4087
+ });
4088
+ class Pt extends b {
4089
+ constructor() {
4090
+ super(...arguments);
4091
+ o(this, "_image", "");
4092
+ o(this, "_title", "");
4093
+ o(this, "_author", "");
4094
+ o(this, "_items", "");
4095
+ }
4096
+ image(e) {
4097
+ return this._image = e, this;
4098
+ }
4099
+ title(e) {
4100
+ return this._title = e, this;
4101
+ }
4102
+ author(e) {
4103
+ return this._author = e, this;
4104
+ }
4105
+ items(e) {
4106
+ return this._items = e, this;
4107
+ }
4108
+ build() {
4109
+ const e = {
4110
+ image: this._image,
4111
+ title: this._title,
4112
+ author: this._author,
4113
+ items: this._items,
4114
+ className: this.getClassName(),
4115
+ style: this.getStyle(),
4116
+ ...this._props
4117
+ };
4118
+ return s.createElement(Tt, e);
4119
+ }
4120
+ }
4121
+ const Us = x(Pt), Dt = s.memo((i) => {
4122
+ const {
4123
+ image: t,
4124
+ title: e,
4125
+ description: r,
4126
+ date: n,
4127
+ source: l,
4128
+ className: a,
4129
+ style: c
4130
+ } = i;
4131
+ return M().className(`overflow-hidden hover:shadow-lg transition-shadow duration-300 ${a}`).style(c).children([
4132
+ t ? Ke().src(t).className("w-full object-cover rounded-[20px] mb-4").style({ height: "200px" }).build() : null,
4133
+ w().className("flex flex-col gap-2").children([
4134
+ e ? N(e).fontSize(18).fontWeight(700).color("#111827").lineHeight(1.25).build() : null,
4135
+ r ? N(r).fontSize(14).color("#4B5563").lineHeight(1.5).className("line-clamp-2").build() : null,
4136
+ l || n ? w().className("flex items-center gap-2 mt-2").children([
4137
+ N(`${l || ""}${l && n ? " • " : ""}${n || ""}`).fontSize(11).fontWeight(600).color("#9CA3AF").textTransform("uppercase").letterSpacing("0.05em").build()
4138
+ ]).build() : null
4139
+ ]).build()
4140
+ ]).build();
4141
+ });
4142
+ class Ot extends b {
4143
+ constructor() {
4144
+ super(...arguments);
4145
+ o(this, "_image");
4146
+ o(this, "_title");
4147
+ o(this, "_description");
4148
+ o(this, "_date");
4149
+ o(this, "_source");
4150
+ }
4151
+ image(e) {
4152
+ return this._image = e, this;
4153
+ }
4154
+ title(e) {
4155
+ return this._title = e, this;
4156
+ }
4157
+ description(e) {
4158
+ return this._description = e, this;
4159
+ }
4160
+ date(e) {
4161
+ return this._date = e, this;
4162
+ }
4163
+ source(e) {
4164
+ return this._source = e, this;
4165
+ }
4166
+ build() {
4167
+ const e = {
4168
+ image: this._image,
4169
+ title: this._title,
4170
+ description: this._description,
4171
+ date: this._date,
4172
+ source: this._source,
4173
+ className: this.getClassName(),
4174
+ style: this.getStyle(),
4175
+ ...this._props
4176
+ };
4177
+ return s.createElement(Dt, e);
4178
+ }
4179
+ }
4180
+ const Js = x(Ot), Ht = s.memo((i) => {
4181
+ const { title: t, description: e, icon: r, footer: n, className: l, style: a } = i;
4182
+ return M().className(l).style(a).children([
4183
+ w().className("flex items-start gap-4").children([
4184
+ r ? w().className("mt-1 text-gray-400").children(r).build() : null,
4185
+ w().className("flex-1").children([
4186
+ t ? N(t).fontSize(16).fontWeight(600).color("#111827").build() : null,
4187
+ e ? N(e).fontSize(14).color("#6B7280").className("mt-1").build() : null,
4188
+ n ? w().className("mt-4").children(n).build() : null
4189
+ ]).build()
4190
+ ]).build()
4191
+ ]).build();
4192
+ });
4193
+ class Vt extends b {
4194
+ constructor() {
4195
+ super(...arguments);
4196
+ o(this, "_title");
4197
+ o(this, "_description");
4198
+ o(this, "_icon");
4199
+ o(this, "_footer");
4200
+ }
4201
+ title(e) {
4202
+ return this._title = e, this;
4203
+ }
4204
+ description(e) {
4205
+ return this._description = e, this;
4206
+ }
4207
+ icon(e) {
4208
+ return this._icon = e, this;
4209
+ }
4210
+ footer(e) {
4211
+ return this._footer = e, this;
4212
+ }
4213
+ build() {
4214
+ const e = {
4215
+ title: this._title,
4216
+ description: this._description,
4217
+ icon: this._icon,
4218
+ footer: this._footer,
4219
+ className: this.getClassName(),
4220
+ style: this.getStyle(),
4221
+ ...this._props
4222
+ };
4223
+ return s.createElement(Ht, e);
4224
+ }
4225
+ }
4226
+ const qt = s.memo((i) => {
4227
+ const { title: t, description: e, action: r, actionType: n, onAction: l, actionLabel: a, className: c, style: h } = i;
4228
+ let p = r;
4229
+ return p || (n === "button" ? p = U(a || "Action").variant("soft").size("sm").onPress(l).build() : n === "switch" && (p = pt().onChange(l).build())), M().className(`flex items-center justify-between gap-4 ${c || ""}`).style(h).children([
4230
+ w().className("flex-1").children([
4231
+ t ? N(t).fontSize(16).fontWeight(600).color("#111827").build() : null,
4232
+ e ? N(e).fontSize(14).color("#6B7280").className("mt-1").build() : null
4233
+ ]).build(),
4234
+ p ? w().className("flex-shrink-0").children(p).build() : null
4235
+ ]).build();
4236
+ });
4237
+ class Gt extends b {
4238
+ constructor() {
4239
+ super(...arguments);
4240
+ o(this, "_title");
4241
+ o(this, "_description");
4242
+ o(this, "_action");
4243
+ o(this, "_actionType");
4244
+ o(this, "_actionLabel");
4245
+ o(this, "_onAction");
4246
+ }
4247
+ title(e) {
4248
+ return this._title = e, this;
4249
+ }
4250
+ description(e) {
4251
+ return this._description = e, this;
4252
+ }
4253
+ action(e) {
4254
+ return this._action = e, this;
4255
+ }
4256
+ withButton(e, r) {
4257
+ return this._actionType = "button", this._actionLabel = e, this._onAction = r, this;
4258
+ }
4259
+ withSwitch(e) {
4260
+ return this._actionType = "switch", this._onAction = e, this;
4261
+ }
4262
+ build() {
4263
+ const e = {
4264
+ title: this._title,
4265
+ description: this._description,
4266
+ action: this._action,
4267
+ actionType: this._actionType,
4268
+ actionLabel: this._actionLabel,
4269
+ onAction: this._onAction,
4270
+ className: this.getClassName(),
4271
+ style: this.getStyle(),
4272
+ ...this._props
4273
+ };
4274
+ return s.createElement(qt, e);
4275
+ }
4276
+ }
4277
+ const Ks = x(Vt), Qs = x(Gt), Xt = s.memo((i) => {
4278
+ const { title: t, description: e, placeholder: r, value: n, onChange: l, type: a, className: c, style: h } = i;
4279
+ return M().className(c).style(h).children([
4280
+ t ? N(t).fontSize(14).fontWeight(600).color("#374151").className("mb-1").build() : null,
4281
+ e ? N(e).fontSize(12).color("#6B7280").className("mb-3").build() : null,
4282
+ dt().placeholder(r).value(n).type(a).onChange(l).className("w-full").build()
4283
+ ]).build();
4284
+ });
4285
+ class Yt extends b {
4286
+ constructor() {
4287
+ super(...arguments);
4288
+ o(this, "_title");
4289
+ o(this, "_description");
4290
+ o(this, "_placeholder");
4291
+ o(this, "_value");
4292
+ o(this, "_type", "text");
4293
+ o(this, "_onChange");
4294
+ }
4295
+ title(e) {
4296
+ return this._title = e, this;
4297
+ }
4298
+ description(e) {
4299
+ return this._description = e, this;
4300
+ }
4301
+ placeholder(e) {
4302
+ return this._placeholder = e, this;
4303
+ }
4304
+ value(e) {
4305
+ return this._value = e, this;
4306
+ }
4307
+ type(e) {
4308
+ return this._type = e, this;
4309
+ }
4310
+ onChange(e) {
4311
+ return this._onChange = e, this;
4312
+ }
4313
+ build() {
4314
+ const e = {
4315
+ title: this._title,
4316
+ description: this._description,
4317
+ placeholder: this._placeholder,
4318
+ value: this._value,
4319
+ type: this._type,
4320
+ onChange: this._onChange,
4321
+ className: this.getClassName(),
4322
+ style: this.getStyle(),
4323
+ ...this._props
4324
+ };
4325
+ return s.createElement(Xt, e);
4326
+ }
4327
+ }
4328
+ const Zs = x(Yt), Ut = s.memo((i) => {
4329
+ const { title: t, value: e, trend: r, trendDirection: n, className: l, style: a } = i, c = n === "up" ? "success" : n === "down" ? "error" : "none", h = n === "up" ? "↑" : n === "down" ? "↓" : "•";
4330
+ return M().className(l).style(a).children([
4331
+ N(t).fontSize(14).fontWeight(600).color("#6B7280").build(),
4332
+ w().className("flex items-end justify-between mt-2").children([
4333
+ N(e).fontSize(32).fontWeight(800).color("#111827").build(),
4334
+ r ? q().text(`${h} ${r}`).intent(c).variant("accent").build() : null
4335
+ ]).build()
4336
+ ]).build();
4337
+ });
4338
+ class Jt extends b {
4339
+ constructor() {
4340
+ super(...arguments);
4341
+ o(this, "_title", "");
4342
+ o(this, "_value", "");
4343
+ o(this, "_trend");
4344
+ o(this, "_trendDirection", "neutral");
4345
+ }
4346
+ title(e) {
4347
+ return this._title = e, this;
4348
+ }
4349
+ value(e) {
4350
+ return this._value = e, this;
4351
+ }
4352
+ trend(e, r = "neutral") {
4353
+ return this._trend = e, this._trendDirection = r, this;
4354
+ }
4355
+ build() {
4356
+ const e = {
4357
+ title: this._title,
4358
+ value: this._value,
4359
+ trend: this._trend,
4360
+ trendDirection: this._trendDirection,
4361
+ className: this.getClassName(),
4362
+ style: this.getStyle(),
4363
+ ...this._props
4364
+ };
4365
+ return s.createElement(Ut, e);
4366
+ }
4367
+ }
4368
+ const er = x(Jt);
4369
+ class Kt extends b {
4370
+ constructor() {
4371
+ super(...arguments);
4372
+ o(this, "_title", "");
4373
+ o(this, "_content", null);
4374
+ o(this, "_defaultExpanded", !1);
4375
+ o(this, "_expanded");
4376
+ o(this, "_onToggle");
4377
+ }
4378
+ title(e) {
4379
+ return this._title = e, this;
4380
+ }
4381
+ content(e) {
4382
+ return this._content = e, this;
4383
+ }
4384
+ isOpen(e) {
4385
+ return this._expanded = e, this;
4386
+ }
4387
+ defaultOpen(e) {
4388
+ return this._defaultExpanded = e, this;
4389
+ }
4390
+ onToggle(e) {
4391
+ return this._onToggle = e, this;
4392
+ }
4393
+ build() {
4394
+ return s.createElement(Qt, {
4395
+ builder: this,
4396
+ ...this._props
4397
+ });
4398
+ }
4399
+ }
4400
+ const Qt = s.memo(({ builder: i }) => {
4401
+ const t = i, e = t._expanded !== void 0, [r, n] = W(t._defaultExpanded), l = e ? t._expanded : r, a = () => {
4402
+ e || n(!l), t._onToggle && t._onToggle(!l);
4403
+ };
4404
+ return w().classNames(["w-full", "border", "border-gray-200", "rounded-xl", "overflow-hidden", "bg-white", "transition-all", "duration-300"]).className(t.getClassName()).style(t.getStyle()).children([
4405
+ L().justifyContent("between").alignItems("center").classNames(["p-4", "cursor-pointer", "hover:bg-gray-50", "transition-colors", "select-none"]).props({ onClick: a }).children([
4406
+ typeof t._title == "string" ? N(t._title).fontWeight(600).fontSize(15).color("#1F2937").build() : t._title,
4407
+ w().classNames(["transition-transform", "duration-300"]).style({ transform: l ? "rotate(180deg)" : "rotate(0deg)" }).children(
4408
+ s.createElement("svg", {
4409
+ width: "20",
4410
+ height: "20",
4411
+ viewBox: "0 0 24 24",
4412
+ fill: "none",
4413
+ stroke: "currentColor",
4414
+ strokeWidth: "2",
4415
+ strokeLinecap: "round",
4416
+ strokeLinejoin: "round",
4417
+ className: "text-gray-400"
4418
+ }, s.createElement("polyline", { points: "6 9 12 15 18 9" }))
4419
+ ).build()
4420
+ ]).build(),
4421
+ w().classNames(["transition-all", "duration-300", "ease-in-out", "overflow-hidden"]).style({
4422
+ maxHeight: l ? "500px" : "0px",
4423
+ opacity: l ? 1 : 0
4424
+ }).children(
4425
+ w().classNames(["p-4", "pt-0", "text-gray-600", "text-sm"]).children(t._content).build()
4426
+ ).build()
4427
+ ]).build();
4428
+ }), tr = x(Kt), Zt = s.memo((i) => {
4429
+ const {
4430
+ children: t,
4431
+ variant: e = "standard",
4432
+ columns: r = 1,
4433
+ gap: n = "md",
4434
+ className: l,
4435
+ style: a,
4436
+ ...c
4437
+ } = i, h = (m) => typeof m == "number" ? "" : {
4438
+ none: "gap-0",
4439
+ sm: "gap-2",
4440
+ md: "gap-4",
4441
+ lg: "gap-6",
4442
+ xl: "gap-8"
4443
+ }[m] || "gap-4", p = (m) => {
4444
+ if (typeof m == "number") return m + "px";
4445
+ }, u = (m) => {
4446
+ if (typeof m == "number") return `grid-cols-${m}`;
4447
+ let d = [];
4448
+ return m.sm && d.push(`sm:grid-cols-${m.sm}`), m.md && d.push(`md:grid-cols-${m.md}`), m.lg && d.push(`lg:grid-cols-${m.lg}`), m.xl && d.push(`xl:grid-cols-${m.xl}`), d.join(" ") || "grid-cols-1";
4449
+ };
4450
+ if (e === "masonry") {
4451
+ const m = (d) => {
4452
+ if (typeof d == "number") return `columns-${d}`;
4453
+ let f = [];
4454
+ return d.sm && f.push(`sm:columns-${d.sm}`), d.md && f.push(`md:columns-${d.md}`), d.lg && f.push(`lg:columns-${d.lg}`), d.xl && f.push(`xl:columns-${d.xl}`), f.join(" ") || "columns-1";
4455
+ };
4456
+ return s.createElement("div", {
4457
+ className: `${m(r)} ${h(n)} space-y-4 ${l}`,
4458
+ style: {
4459
+ columnGap: p(n),
4460
+ ...a
4461
+ },
4462
+ ...c
4463
+ }, s.Children.map(
4464
+ t,
4465
+ (d) => s.createElement("div", { className: "break-inside-avoid mb-4" }, d)
4466
+ ));
4467
+ }
4468
+ return s.createElement("div", {
4469
+ className: `grid ${u(r)} ${h(n)} ${l}`,
4470
+ style: {
4471
+ gap: p(n),
4472
+ ...a
4473
+ },
4474
+ ...c
4475
+ }, t);
4476
+ }), es = s.memo((i) => {
4477
+ const { children: t, colSpan: e, rowSpan: r, className: n, style: l, ...a } = i, c = () => {
4478
+ let h = [];
4479
+ return e && h.push(`col-span-${e}`), r && h.push(`row-span-${r}`), h.join(" ");
4480
+ };
4481
+ return s.createElement("div", {
4482
+ className: `${c()} ${n}`,
4483
+ style: l,
4484
+ ...a
4485
+ }, t);
4486
+ });
4487
+ class ts extends b {
4488
+ constructor() {
4489
+ super(...arguments);
4490
+ o(this, "_variant", "standard");
4491
+ o(this, "_columns", 1);
4492
+ o(this, "_gap", "md");
4493
+ o(this, "_children", []);
4494
+ }
4495
+ variant(e) {
4496
+ return this._variant = e, this;
4497
+ }
4498
+ columns(e) {
4499
+ return this._columns = e, this;
4500
+ }
4501
+ gap(e) {
4502
+ return this._gap = e, this;
4503
+ }
4504
+ children(e) {
4505
+ return this._children = e, this;
4506
+ }
4507
+ build() {
4508
+ const e = {
4509
+ variant: this._variant,
4510
+ columns: this._columns,
4511
+ gap: this._gap,
4512
+ children: this._children,
4513
+ className: this.getClassName(),
4514
+ style: this.getStyle(),
4515
+ ...this._props
4516
+ };
4517
+ return s.createElement(Zt, e);
4518
+ }
4519
+ }
4520
+ class ss extends b {
4521
+ constructor() {
4522
+ super(...arguments);
4523
+ o(this, "_colSpan");
4524
+ o(this, "_rowSpan");
4525
+ o(this, "_children", []);
4526
+ }
4527
+ colSpan(e) {
4528
+ return this._colSpan = e, this;
4529
+ }
4530
+ rowSpan(e) {
4531
+ return this._rowSpan = e, this;
4532
+ }
4533
+ children(e) {
4534
+ return this._children = e, this;
4535
+ }
4536
+ build() {
4537
+ const e = {
4538
+ colSpan: this._colSpan,
4539
+ rowSpan: this._rowSpan,
4540
+ children: this._children,
4541
+ className: this.getClassName(),
4542
+ style: this.getStyle(),
4543
+ ...this._props
4544
+ };
4545
+ return s.createElement(es, e);
4546
+ }
4547
+ }
4548
+ const sr = x(ts), rr = x(ss);
4549
+ export {
4550
+ Qs as ActionCard,
4551
+ Ls as Alert,
4552
+ Xs as AssetCard,
4553
+ Oe as Avatar,
4554
+ q as Badge,
4555
+ Gs as Banner,
4556
+ w as Box,
4557
+ U as Button,
4558
+ M as Card,
4559
+ Ss as Center,
4560
+ Rs as Checkbox,
4561
+ tr as Collapse,
4562
+ Us as CollectionCard,
4563
+ R as Column,
4564
+ Os as Combobox,
4565
+ Cs as Container,
4566
+ Js as ContentCard,
4567
+ $s as DashboardLayout,
4568
+ b as FiboBuilder,
4569
+ ws as FiboThemeProvider,
4570
+ sr as Grid,
4571
+ rr as GridItem,
4572
+ zs as Header,
4573
+ Ke as Image,
4574
+ Ks as InfoCard,
4575
+ Zs as InputCard,
4576
+ Is as Label,
4577
+ Es as Line,
4578
+ Hs as List,
4579
+ er as MetricCard,
4580
+ _s as ObserverWrapper,
4581
+ Ys as ProfileCard,
4582
+ Ms as Progress,
4583
+ se as ProviderContext,
4584
+ ye as ProviderWrapper,
4585
+ Ts as RadioGroup,
4586
+ L as Row,
4587
+ As as Scaffold,
4588
+ Fs as ScrollView,
4589
+ Ds as Select,
4590
+ Bs as Sidebar,
4591
+ ks as SignalWrapper,
4592
+ Ws as Skeleton,
4593
+ O as Spacer,
4594
+ js as Spinner,
4595
+ te as StateContext,
4596
+ ys as StateWrapper,
4597
+ pt as Switch,
4598
+ Vs as Table,
4599
+ qs as Tags,
4600
+ N as Text,
4601
+ dt as TextField,
4602
+ Ps as Textarea,
4603
+ as as applyResponsiveStyles,
4604
+ bs as clearProviders,
4605
+ ds as computed,
4606
+ x as createBuilder,
4607
+ ps as createStore,
4608
+ ke as cupertinoTheme,
4609
+ us as effect,
4610
+ gs as getProvider,
4611
+ _e as materialTheme,
4612
+ ls as mergeStyles,
4613
+ cs as normalizeValue,
4614
+ ms as observable,
4615
+ ns as processChildren,
4616
+ fs as registerProvider,
4617
+ hs as signal,
4618
+ Ns as useFiboTheme,
4619
+ vs as useProvider,
4620
+ xs as useStateContext,
4621
+ ve as webTheme
4622
+ };