zabi-components 4.0.2 → 5.0.2

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 (92) hide show
  1. package/README.md +2 -2
  2. package/dist/SSRSafe.svelte +47 -0
  3. package/dist/SSRSafe.svelte.d.ts +11 -0
  4. package/dist/atoms/Badge.svelte +76 -0
  5. package/dist/atoms/Badge.svelte.d.ts +9 -0
  6. package/dist/atoms/Button.svelte +72 -0
  7. package/dist/atoms/Button.svelte.d.ts +13 -0
  8. package/dist/atoms/Card.svelte +59 -0
  9. package/dist/atoms/Card.svelte.d.ts +12 -0
  10. package/dist/atoms/Checkbox.svelte +60 -0
  11. package/dist/atoms/Checkbox.svelte.d.ts +10 -0
  12. package/dist/atoms/CodeBlock.svelte +125 -0
  13. package/dist/atoms/CodeBlock.svelte.d.ts +8 -0
  14. package/dist/atoms/ColorPicker.svelte +171 -0
  15. package/dist/atoms/ColorPicker.svelte.d.ts +9 -0
  16. package/dist/atoms/FeatureCard.svelte +74 -0
  17. package/dist/atoms/FeatureCard.svelte.d.ts +17 -0
  18. package/dist/atoms/Heading.svelte +5 -0
  19. package/dist/atoms/Heading.svelte.d.ts +7 -0
  20. package/dist/atoms/Input.svelte +98 -0
  21. package/dist/atoms/Input.svelte.d.ts +14 -0
  22. package/dist/atoms/OptimizedImage.svelte +32 -0
  23. package/dist/atoms/OptimizedImage.svelte.d.ts +13 -0
  24. package/dist/atoms/Progress.svelte +61 -0
  25. package/dist/atoms/Progress.svelte.d.ts +9 -0
  26. package/dist/atoms/Select.svelte +85 -0
  27. package/dist/atoms/Select.svelte.d.ts +16 -0
  28. package/dist/atoms/Skeleton.svelte +20 -0
  29. package/dist/atoms/Skeleton.svelte.d.ts +8 -0
  30. package/dist/atoms/Textarea.svelte +116 -0
  31. package/dist/atoms/Textarea.svelte.d.ts +14 -0
  32. package/dist/atoms/ThemeToggle.svelte +89 -0
  33. package/dist/atoms/ThemeToggle.svelte.d.ts +7 -0
  34. package/dist/atoms/Toast.svelte +58 -0
  35. package/dist/atoms/Toast.svelte.d.ts +9 -0
  36. package/dist/atoms/Toggle.svelte +94 -0
  37. package/dist/atoms/Toggle.svelte.d.ts +12 -0
  38. package/dist/atoms/Tooltip.svelte +188 -0
  39. package/dist/atoms/Tooltip.svelte.d.ts +12 -0
  40. package/dist/atoms/index.d.ts +4 -15
  41. package/dist/atoms/index.js +10 -23
  42. package/dist/components/atoms/index.d.ts +10 -0
  43. package/dist/components/atoms/index.d.ts.map +1 -0
  44. package/dist/components/index.d.ts +32 -0
  45. package/dist/components/index.d.ts.map +1 -0
  46. package/dist/components/molecules/index.d.ts +1 -0
  47. package/dist/components/molecules/index.d.ts.map +1 -0
  48. package/dist/components/organisms/index.d.ts +1 -0
  49. package/dist/components/organisms/index.d.ts.map +1 -0
  50. package/dist/index.d.ts +31 -15
  51. package/dist/index.js +75 -0
  52. package/dist/molecules/Alert.svelte +114 -0
  53. package/dist/molecules/Alert.svelte.d.ts +14 -0
  54. package/dist/molecules/ComponentDemo.svelte +96 -0
  55. package/dist/molecules/ComponentDemo.svelte.d.ts +13 -0
  56. package/dist/molecules/ContactForm.svelte +98 -0
  57. package/dist/molecules/ContactForm.svelte.d.ts +10 -0
  58. package/dist/molecules/Dropdown.svelte +128 -0
  59. package/dist/molecules/Dropdown.svelte.d.ts +11 -0
  60. package/dist/molecules/Form.svelte +37 -0
  61. package/dist/molecules/Form.svelte.d.ts +12 -0
  62. package/dist/molecules/ImageUpload.svelte +112 -0
  63. package/dist/molecules/ImageUpload.svelte.d.ts +14 -0
  64. package/dist/molecules/Modal.svelte +85 -0
  65. package/dist/molecules/Modal.svelte.d.ts +13 -0
  66. package/dist/molecules/SlideUp.svelte +73 -0
  67. package/dist/molecules/SlideUp.svelte.d.ts +12 -0
  68. package/dist/molecules/Tabs.svelte +68 -0
  69. package/dist/molecules/Tabs.svelte.d.ts +17 -0
  70. package/dist/molecules/index.d.ts +0 -11
  71. package/dist/molecules/index.js +2 -13
  72. package/dist/organisms/Navbar.svelte +99 -0
  73. package/dist/organisms/Navbar.svelte.d.ts +14 -0
  74. package/dist/organisms/Navigation.svelte +48 -0
  75. package/dist/organisms/Navigation.svelte.d.ts +15 -0
  76. package/dist/organisms/index.d.ts +0 -4
  77. package/dist/organisms/index.js +2 -5
  78. package/dist/routes/lib/ssr-safe.ts +57 -0
  79. package/dist/routes/lib/variant-utils.ts +98 -0
  80. package/dist/zabi-components.css +399 -1
  81. package/package.json +41 -17
  82. package/dist/CodeBlock-pT5-FgZd.js +0 -431
  83. package/dist/ContactForm-CHI_jeFY.js +0 -580
  84. package/dist/FeatureCard-iBFGbgVE.js +0 -656
  85. package/dist/Navigation-BOT-UHg0.js +0 -104
  86. package/dist/ThemeToggle-BlNPkAQy.js +0 -48
  87. package/dist/index/index.js +0 -63
  88. package/dist/molecules/KeyValueForm.types.d.ts +0 -11
  89. package/dist/ssr-safe-bsWGK4V4.js +0 -2232
  90. package/dist/types/index.d.ts +0 -4
  91. package/dist/types/index.js +0 -1
  92. package/dist/vite.svg +0 -1
@@ -1,656 +0,0 @@
1
- import { p as t, P as ee, f as g, i as M, c as S, D as le, d as l, e as H, h as O, k as r, A as D, r as B, g as v, N as Y, z as N, G as q, C as j, F as te, O as re, E as de, y as X, B as I, W as F, V as G, Y as ve, x as ce, j as be, s as ue } from "./ssr-safe-bsWGK4V4.js";
2
- import { b as ge, f as oe } from "./CodeBlock-pT5-FgZd.js";
3
- var fe = g('<label class="block text-sm font-medium text-gray-700 mb-1"> </label>'), me = g("<option disabled> </option>"), he = g("<option> </option>"), pe = g("<div><!> <select><!><!></select></div>");
4
- function Le(m, e) {
5
- O(e, !0);
6
- let a = t(e, "value", 7, void 0), o = t(e, "options", 19, () => []), i = t(e, "placeholder", 3, "Select an option"), c = t(e, "label", 3, ""), b = t(e, "disabled", 3, !1), f = t(e, "size", 3, "md"), _ = B(e, [
7
- "$$slots",
8
- "$$events",
9
- "$$legacy",
10
- "value",
11
- "options",
12
- "placeholder",
13
- "label",
14
- "disabled",
15
- "size"
16
- ]), y = ee(typeof window < "u" ? `select-${Math.random().toString(36).substr(2, 9)}` : `select-ssr-${Date.now()}`), p = Y(() => ({
17
- sm: "px-3 py-1.5 text-sm",
18
- md: "px-4 py-2 text-sm",
19
- lg: "px-5 py-3 text-base"
20
- })), u = Y(() => [
21
- "w-full border border-gray-300 rounded-md bg-white",
22
- "focus:ring-2 focus:ring-blue-500 focus:border-blue-500",
23
- "disabled:opacity-50 disabled:cursor-not-allowed",
24
- v(p)[f()]
25
- ].join(" "));
26
- function n(k) {
27
- const w = k.target;
28
- a(w.value);
29
- }
30
- var s = pe(), d = r(s);
31
- {
32
- var h = (k) => {
33
- var w = fe(), T = r(w);
34
- N(() => {
35
- q(w, "for", y), j(T, c());
36
- }), l(k, w);
37
- };
38
- M(d, (k) => {
39
- c() && k(h);
40
- });
41
- }
42
- var x = D(d, 2);
43
- S(x, () => ({
44
- id: y,
45
- value: a(),
46
- disabled: b(),
47
- class: v(u),
48
- onchange: n,
49
- ..._
50
- }));
51
- var P = r(x);
52
- {
53
- var z = (k) => {
54
- var w = me(), T = r(w);
55
- w.value = w.__value = "", N(() => j(T, i())), l(k, w);
56
- };
57
- M(P, (k) => {
58
- i() && !a() && k(z);
59
- });
60
- }
61
- var C = D(P);
62
- le(C, 17, o, (k) => k.value, (k, w) => {
63
- var T = he(), R = r(T), V = {};
64
- N(() => {
65
- T.disabled = v(w).disabled, j(R, v(w).label), V !== (V = v(w).value) && (T.value = (T.__value = v(w).value) ?? "");
66
- }), l(k, T);
67
- }), l(m, s), H();
68
- }
69
- var xe = g('<span class="text-sm font-medium text-gray-700"> </span>'), we = g('<div class="flex items-center gap-3"><button><span></span></button> <!></div>');
70
- function Qe(m, e) {
71
- O(e, !0);
72
- let a = t(e, "checked", 7, !1), o = t(e, "disabled", 3, !1), i = t(e, "label", 3, ""), c = B(e, [
73
- "$$slots",
74
- "$$events",
75
- "$$legacy",
76
- "checked",
77
- "disabled",
78
- "label"
79
- ]), b = Y(() => [
80
- "relative inline-flex w-11 h-6 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent",
81
- "transition-colors duration-200 ease-in-out",
82
- "focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2",
83
- a() ? "bg-blue-600" : "bg-gray-200",
84
- o() ? "opacity-50 cursor-not-allowed" : ""
85
- ].join(" ")), f = Y(() => [
86
- "pointer-events-none inline-block w-5 h-5 transform rounded-full bg-white shadow-lg",
87
- "transition duration-200 ease-in-out",
88
- a() ? "translate-x-5" : "translate-x-0"
89
- ].join(" "));
90
- function _(d) {
91
- o() || a(!a());
92
- }
93
- var y = we(), p = r(y);
94
- S(p, () => ({
95
- type: "button",
96
- role: "switch",
97
- "aria-checked": a(),
98
- "aria-label": i() || "Toggle",
99
- disabled: o(),
100
- onclick: _,
101
- class: v(b),
102
- ...c
103
- }));
104
- var u = r(p), n = D(p, 2);
105
- {
106
- var s = (d) => {
107
- var h = xe(), x = r(h);
108
- N(() => j(x, i())), l(d, h);
109
- };
110
- M(n, (d) => {
111
- i() && d(s);
112
- });
113
- }
114
- N(() => te(u, 1, re(v(f)))), l(m, y), H();
115
- }
116
- var _e = g('<label class="block text-sm font-medium text-gray-700"> </label>'), ye = g('<span class="text-white text-lg">✓</span>'), ze = g("<button><!></button>"), ke = g('<div class="space-y-2"><!> <div></div></div>');
117
- function Ze(m, e) {
118
- O(e, !0);
119
- let a = t(e, "value", 7, ""), o = t(e, "label", 3, ""), i = t(e, "disabled", 3, !1), c = B(e, [
120
- "$$slots",
121
- "$$events",
122
- "$$legacy",
123
- "value",
124
- "label",
125
- "disabled"
126
- ]);
127
- const b = [
128
- { label: "Red", value: "#ef4444" },
129
- { label: "Blue", value: "#3b82f6" },
130
- { label: "Green", value: "#10b981" },
131
- { label: "Yellow", value: "#f59e0b" },
132
- { label: "Purple", value: "#8b5cf6" },
133
- { label: "Pink", value: "#ec4899" },
134
- { label: "Gray", value: "#6b7280" },
135
- { label: "Black", value: "#000000" }
136
- ];
137
- let f = ee(typeof window < "u" ? `color-picker-${Math.random().toString(36).substr(2, 9)}` : `color-picker-ssr-${Date.now()}`);
138
- var _ = ke(), y = r(_);
139
- {
140
- var p = (n) => {
141
- var s = _e(), d = r(s);
142
- N(() => {
143
- q(s, "for", f), j(d, o());
144
- }), l(n, s);
145
- };
146
- M(y, (n) => {
147
- o() && n(p);
148
- });
149
- }
150
- var u = D(y, 2);
151
- S(u, () => ({
152
- id: f,
153
- class: "grid grid-cols-4 gap-2",
154
- role: "radiogroup",
155
- ...c
156
- })), le(u, 21, () => b, de, (n, s) => {
157
- var d = ze(), h = () => a(v(s).value);
158
- S(d, () => ({
159
- type: "button",
160
- class: `w-12 h-12 rounded-lg border-2 transition-all ${a() === v(s).value ? "border-blue-500 ring-2 ring-blue-200" : "border-gray-300 hover:border-gray-400"}`,
161
- style: `background-color: ${v(s).value ?? ""};`,
162
- onclick: h,
163
- disabled: i(),
164
- role: "radio",
165
- "aria-checked": a() === v(s).value,
166
- "aria-label": v(s).label,
167
- ...c
168
- }));
169
- var x = r(d);
170
- {
171
- var P = (z) => {
172
- var C = ye();
173
- l(z, C);
174
- };
175
- M(x, (z) => {
176
- a() === v(s).value && z(P);
177
- });
178
- }
179
- l(n, d);
180
- }), l(m, _), H();
181
- }
182
- var Ce = g('<img class="w-full h-48 object-cover rounded-md mb-4"/>'), Pe = g("<h3> </h3>"), Se = g("<div><!> <!> <!></div>");
183
- function $e(m, e) {
184
- O(e, !0);
185
- let a = t(e, "title", 3, ""), o = t(e, "image", 3, ""), i = t(e, "interactive", 3, !1), c = t(e, "variant", 3, "default"), b = t(e, "size", 3, "md"), f = B(e, [
186
- "$$slots",
187
- "$$events",
188
- "$$legacy",
189
- "title",
190
- "image",
191
- "interactive",
192
- "variant",
193
- "size",
194
- "children"
195
- ]), _ = Y(() => ({ sm: "p-3", md: "p-4", lg: "p-6" })), y = Y(() => ge(c())), p = Y(() => [
196
- "rounded-lg transition-all duration-200",
197
- "hover:shadow-adaptive-md",
198
- i() ? "cursor-pointer hover:scale-[1.02]" : "",
199
- v(_)[b()],
200
- v(y)
201
- ].join(" ")), u = Y(() => "text-lg font-semibold mb-2 text-primary");
202
- var n = Se();
203
- S(n, () => ({ class: v(p), ...f }));
204
- var s = r(n);
205
- {
206
- var d = (z) => {
207
- var C = Ce();
208
- N(() => {
209
- q(C, "src", o()), q(C, "alt", a());
210
- }), l(z, C);
211
- };
212
- M(s, (z) => {
213
- o() && z(d);
214
- });
215
- }
216
- var h = D(s, 2);
217
- {
218
- var x = (z) => {
219
- var C = Pe();
220
- te(C, 1, re(v(u)));
221
- var k = r(C);
222
- N(() => j(k, a())), l(z, C);
223
- };
224
- M(h, (z) => {
225
- a() && z(x);
226
- });
227
- }
228
- var P = D(h, 2);
229
- X(P, () => e.children ?? I), l(m, n), H();
230
- }
231
- var Ne = g('<button><!> <span class="ml-1 text-xs">×</span></button>'), je = g("<span><!></span>");
232
- function et(m, e) {
233
- O(e, !0);
234
- let a = t(e, "variant", 3, "default"), o = t(e, "size", 3, "md"), i = t(e, "closable", 3, !1);
235
- t(e, "className", 3, "");
236
- let c = B(e, [
237
- "$$slots",
238
- "$$events",
239
- "$$legacy",
240
- "variant",
241
- "size",
242
- "closable",
243
- "className",
244
- "children"
245
- ]);
246
- function b(d) {
247
- d.stopPropagation();
248
- }
249
- let f = Y(() => ({
250
- sm: "px-2 py-0.5 text-xs",
251
- md: "px-3 py-1 text-sm",
252
- lg: "px-4 py-1.5 text-base"
253
- })), _ = Y(() => ({
254
- default: "bg-gray-100 text-gray-800 border-gray-300",
255
- success: "bg-green-100 text-green-800 border-green-300",
256
- warning: "bg-yellow-100 text-yellow-800 border-yellow-300",
257
- error: "bg-red-100 text-red-800 border-red-300",
258
- info: "bg-blue-100 text-blue-800 border-blue-300"
259
- })), y = Y(() => [
260
- "inline-flex items-center gap-1 font-medium border rounded-md",
261
- v(f)[o()],
262
- v(_)[a()],
263
- i() ? "cursor-pointer hover:opacity-80" : ""
264
- ].join(" "));
265
- var p = F(), u = G(p);
266
- {
267
- var n = (d) => {
268
- var h = Ne();
269
- S(h, () => ({
270
- type: "button",
271
- class: v(y),
272
- onclick: b,
273
- ...c
274
- }));
275
- var x = r(h);
276
- X(x, () => e.children ?? I), l(d, h);
277
- }, s = (d) => {
278
- var h = je();
279
- S(h, () => ({ class: v(y), ...c }));
280
- var x = r(h);
281
- X(x, () => e.children ?? I), l(d, h);
282
- };
283
- M(u, (d) => {
284
- i() ? d(n) : d(s, !1);
285
- });
286
- }
287
- l(m, p), H();
288
- }
289
- var Me = g("<h1> <!></h1>"), De = g("<h2> <!></h2>"), Te = g("<h3> <!></h3>"), Ye = g("<h4> <!></h4>"), Be = g("<h5> <!></h5>"), Xe = g("<h6> <!></h6>");
290
- function tt(m, e) {
291
- O(e, !0);
292
- let a = t(e, "level", 3, 1), o = t(e, "text", 3, ""), i = B(e, [
293
- "$$slots",
294
- "$$events",
295
- "$$legacy",
296
- "level",
297
- "text",
298
- "children"
299
- ]), c = Y(() => ({
300
- 1: "text-4xl font-bold",
301
- 2: "text-3xl font-bold",
302
- 3: "text-2xl font-semibold",
303
- 4: "text-xl font-semibold",
304
- 5: "text-lg font-medium",
305
- 6: "text-base font-medium"
306
- })), b = Y(() => ["text-gray-900", v(c)[a()]].join(" "));
307
- var f = F(), _ = G(f);
308
- {
309
- var y = (u) => {
310
- var n = Me();
311
- S(n, () => ({ class: v(b), ...i }));
312
- var s = r(n), d = D(s);
313
- X(d, () => e.children ?? I), N(() => j(s, o())), l(u, n);
314
- }, p = (u) => {
315
- var n = F(), s = G(n);
316
- {
317
- var d = (x) => {
318
- var P = De();
319
- S(P, () => ({ class: v(b), ...i }));
320
- var z = r(P), C = D(z);
321
- X(C, () => e.children ?? I), N(() => j(z, o())), l(x, P);
322
- }, h = (x) => {
323
- var P = F(), z = G(P);
324
- {
325
- var C = (w) => {
326
- var T = Te();
327
- S(T, () => ({ class: v(b), ...i }));
328
- var R = r(T), V = D(R);
329
- X(V, () => e.children ?? I), N(() => j(R, o())), l(w, T);
330
- }, k = (w) => {
331
- var T = F(), R = G(T);
332
- {
333
- var V = (A) => {
334
- var E = Ye();
335
- S(E, () => ({ class: v(b), ...i }));
336
- var J = r(E), L = D(J);
337
- X(L, () => e.children ?? I), N(() => j(J, o())), l(A, E);
338
- }, ie = (A) => {
339
- var E = F(), J = G(E);
340
- {
341
- var L = (U) => {
342
- var W = Be();
343
- S(W, () => ({ class: v(b), ...i }));
344
- var K = r(W), Q = D(K);
345
- X(Q, () => e.children ?? I), N(() => j(K, o())), l(U, W);
346
- }, se = (U) => {
347
- var W = F(), K = G(W);
348
- {
349
- var Q = (Z) => {
350
- var $ = Xe();
351
- S($, () => ({ class: v(b), ...i }));
352
- var ae = r($), ne = D(ae);
353
- X(ne, () => e.children ?? I), N(() => j(ae, o())), l(Z, $);
354
- };
355
- M(
356
- K,
357
- (Z) => {
358
- a() === 6 && Z(Q);
359
- },
360
- !0
361
- );
362
- }
363
- l(U, W);
364
- };
365
- M(
366
- J,
367
- (U) => {
368
- a() === 5 ? U(L) : U(se, !1);
369
- },
370
- !0
371
- );
372
- }
373
- l(A, E);
374
- };
375
- M(
376
- R,
377
- (A) => {
378
- a() === 4 ? A(V) : A(ie, !1);
379
- },
380
- !0
381
- );
382
- }
383
- l(w, T);
384
- };
385
- M(
386
- z,
387
- (w) => {
388
- a() === 3 ? w(C) : w(k, !1);
389
- },
390
- !0
391
- );
392
- }
393
- l(x, P);
394
- };
395
- M(
396
- s,
397
- (x) => {
398
- a() === 2 ? x(d) : x(h, !1);
399
- },
400
- !0
401
- );
402
- }
403
- l(u, n);
404
- };
405
- M(_, (u) => {
406
- a() === 1 ? u(y) : u(p, !1);
407
- });
408
- }
409
- l(m, f), H();
410
- }
411
- var Ie = g('<div class="flex justify-between items-center mb-2"><label class="text-sm font-medium text-gray-700"> </label> <span class="text-sm text-gray-500"> </span></div>'), Fe = g('<div><!> <div><div class="h-full bg-blue-600 rounded-full"></div></div></div>');
412
- function at(m, e) {
413
- O(e, !0);
414
- let a = t(e, "value", 3, 0), o = t(e, "max", 3, 100), i = t(e, "size", 3, "md"), c = t(e, "label", 3, ""), b = B(e, [
415
- "$$slots",
416
- "$$events",
417
- "$$legacy",
418
- "value",
419
- "max",
420
- "size",
421
- "label"
422
- ]), f = ee(typeof window < "u" ? `progress-${Math.random().toString(36).substr(2, 9)}` : `progress-ssr-${Date.now()}`), _ = Y(() => Math.min(Math.max(a() / o() * 100, 0), 100)), y = Y(() => ({ sm: "h-1", md: "h-2", lg: "h-3" }));
423
- var p = Fe(), u = r(p);
424
- {
425
- var n = (h) => {
426
- var x = Ie(), P = r(x), z = r(P), C = D(P, 2), k = r(C);
427
- N(
428
- (w) => {
429
- q(P, "for", f), j(z, c()), j(k, `${w ?? ""}%`);
430
- },
431
- [() => Math.round(v(_))]
432
- ), l(h, x);
433
- };
434
- M(u, (h) => {
435
- c() && h(n);
436
- });
437
- }
438
- var s = D(u, 2);
439
- S(s, () => ({
440
- id: f,
441
- class: `w-full bg-gray-200 rounded-full overflow-hidden ${v(y)[i()] ?? ""}`,
442
- role: "progressbar",
443
- "aria-valuenow": a(),
444
- "aria-valuemin": "0",
445
- "aria-valuemax": o(),
446
- ...b
447
- }));
448
- var d = r(s);
449
- N(() => ve(d, `width: ${v(_) ?? ""}%`)), l(m, p), H();
450
- }
451
- var Ge = g("<div></div>");
452
- function lt(m, e) {
453
- let a = t(e, "width", 3, "100%"), o = t(e, "height", 3, "1rem"), i = t(e, "className", 3, ""), c = B(e, [
454
- "$$slots",
455
- "$$events",
456
- "$$legacy",
457
- "width",
458
- "height",
459
- "className",
460
- "children"
461
- ]);
462
- var b = Ge();
463
- S(b, () => ({
464
- class: `animate-pulse bg-gray-200 rounded ${i() ?? ""}`,
465
- style: `width: ${a() ?? ""}; height: ${o() ?? ""};`,
466
- ...c
467
- })), l(m, b);
468
- }
469
- function He(m, e) {
470
- ue(e, !1);
471
- }
472
- var Oe = g('<button type="button" class="ml-3 text-gray-400 hover:text-gray-600" aria-label="Close notification">×</button>'), Re = g('<div><div class="flex items-start"><div class="flex-1"><p> </p></div> <!></div></div>');
473
- function rt(m, e) {
474
- let a = t(e, "message", 3, ""), o = t(e, "type", 3, "info"), i = t(e, "closable", 3, !0), c = B(e, [
475
- "$$slots",
476
- "$$events",
477
- "$$legacy",
478
- "message",
479
- "type",
480
- "closable",
481
- "children"
482
- ]), b = be(!0);
483
- const f = {
484
- success: "bg-green-100 border-green-300 text-green-800",
485
- error: "bg-red-100 border-red-300 text-red-800",
486
- warning: "bg-yellow-100 border-yellow-300 text-yellow-800",
487
- info: "bg-blue-100 border-blue-300 text-blue-800"
488
- };
489
- var _ = F(), y = G(_);
490
- {
491
- var p = (u) => {
492
- var n = Re();
493
- S(n, () => ({
494
- class: "fixed top-4 right-4 max-w-sm w-full bg-white border rounded-lg shadow-lg p-4 z-50",
495
- role: "alert",
496
- ...c
497
- }));
498
- var s = r(n), d = r(s), h = r(d), x = r(h), P = D(d, 2);
499
- {
500
- var z = (C) => {
501
- var k = Oe();
502
- k.__click = [He, b], l(C, k);
503
- };
504
- M(P, (C) => {
505
- i() && C(z);
506
- });
507
- }
508
- N(() => {
509
- te(h, 1, `text-sm ${f[o()] ?? ""}`), j(x, a());
510
- }), l(u, n);
511
- };
512
- M(y, (u) => {
513
- v(b) && u(p);
514
- });
515
- }
516
- l(m, _);
517
- }
518
- ce(["click"]);
519
- var Ve = g('<div class="tooltip group-hover:opacity-100 group-hover:visible group-focus-within:opacity-100 group-focus-within:visible svelte-13nzt82" role="tooltip" aria-hidden="true"> </div>'), Ae = g("<div><!> <!></div>");
520
- const Ee = {
521
- hash: "svelte-13nzt82",
522
- code: `:root {--tooltip-bg: #1f2937;--tooltip-color: white;--tooltip-padding: 0.5rem 0.75rem;--tooltip-radius: 0.375rem;--tooltip-font-size: 0.875rem;--tooltip-line-height: 1.25rem;--tooltip-max-width: 200px;--tooltip-gap: 0.5rem;--tooltip-arrow-size: 4px;--tooltip-transition: opacity 0.2s ease-in-out,
523
- visibility 0.2s ease-in-out;}.tooltip-container.svelte-13nzt82 {position:relative;display:inline-block;}.tooltip.svelte-13nzt82 {position:absolute;z-index:50;padding:var(--tooltip-padding);background-color:var(--tooltip-bg);color:var(--tooltip-color);border-radius:var(--tooltip-radius);font-size:var(--tooltip-font-size);line-height:var(--tooltip-line-height);max-width:var(--tooltip-max-width);white-space:normal;word-wrap:break-word;opacity:0;visibility:hidden;transition:var(--tooltip-transition);pointer-events:none;
524
- /* Use logical properties for better internationalization */inset-inline-start:50%;inset-block-start:50%;transform:translate(-50%, -50%);}
525
-
526
- /* Simplified positioning using CSS custom properties and logical properties */.tooltip-container[data-placement="top"].svelte-13nzt82 .tooltip:where(.svelte-13nzt82) {inset-block-end:100%;inset-inline-start:50%;transform:translateX(-50%);margin-block-end:var(--tooltip-gap);}.tooltip-container[data-placement="bottom"].svelte-13nzt82 .tooltip:where(.svelte-13nzt82) {inset-block-start:100%;inset-inline-start:50%;transform:translateX(-50%);margin-block-start:var(--tooltip-gap);}.tooltip-container[data-placement="left"].svelte-13nzt82 .tooltip:where(.svelte-13nzt82) {inset-inline-end:100%;inset-block-start:50%;transform:translateY(-50%);margin-inline-end:var(--tooltip-gap);}.tooltip-container[data-placement="right"].svelte-13nzt82 .tooltip:where(.svelte-13nzt82) {inset-inline-start:100%;inset-block-start:50%;transform:translateY(-50%);margin-inline-start:var(--tooltip-gap);}
527
-
528
- /* Modern arrow implementation using CSS clip-path for better performance */.tooltip.svelte-13nzt82::before {content:"";position:absolute;width:calc(var(--tooltip-arrow-size) * 2);height:calc(var(--tooltip-arrow-size) * 2);background-color:var(--tooltip-bg);}.tooltip-container[data-placement="top"].svelte-13nzt82 .tooltip:where(.svelte-13nzt82)::before {inset-block-start:100%;inset-inline-start:50%;transform:translateX(-50%);clip-path:polygon(50% 100%, 0 0, 100% 0);}.tooltip-container[data-placement="bottom"].svelte-13nzt82 .tooltip:where(.svelte-13nzt82)::before {inset-block-end:100%;inset-inline-start:50%;transform:translateX(-50%);clip-path:polygon(0 100%, 50% 0, 100% 100%);}.tooltip-container[data-placement="left"].svelte-13nzt82 .tooltip:where(.svelte-13nzt82)::before {inset-inline-start:100%;inset-block-start:50%;transform:translateY(-50%);clip-path:polygon(0 50%, 100% 0, 100% 100%);}.tooltip-container[data-placement="right"].svelte-13nzt82 .tooltip:where(.svelte-13nzt82)::before {inset-inline-end:100%;inset-block-start:50%;transform:translateY(-50%);clip-path:polygon(0 0, 100% 50%, 0 100%);}
529
-
530
- /* Delay support using CSS custom properties */.tooltip-container[data-delay].svelte-13nzt82 .tooltip:where(.svelte-13nzt82) {transition-delay:calc(var(--tooltip-delay, 0) * 1ms);}
531
-
532
- /* Responsive design with modern CSS */
533
- @media (max-width: 640px) {.tooltip.svelte-13nzt82 {--tooltip-max-width: calc(100vw - 2rem);inset-inline-start:50% !important;inset-inline-end:auto !important;transform:translateX(-50%) !important;margin:var(--tooltip-gap) 0 !important;}.tooltip.svelte-13nzt82::before {display:none;}
534
- }
535
-
536
- /* Dark mode support */
537
- @media (prefers-color-scheme: dark) {:root {--tooltip-bg: #374151;}
538
- }
539
-
540
- /* High contrast mode support */
541
- @media (prefers-contrast: high) {:root {--tooltip-bg: #000000;--tooltip-color: #ffffff;}
542
- }
543
-
544
- /* Reduced motion support */
545
- @media (prefers-reduced-motion: reduce) {.tooltip.svelte-13nzt82 {transition:none;}
546
- }`
547
- };
548
- function ot(m, e) {
549
- oe(m, Ee);
550
- let a = t(e, "content", 3, ""), o = t(e, "placement", 3, "top"), i = t(e, "delay", 3, 0), c = t(e, "disabled", 3, !1), b = B(e, [
551
- "$$slots",
552
- "$$events",
553
- "$$legacy",
554
- "content",
555
- "placement",
556
- "delay",
557
- "disabled",
558
- "children"
559
- ]);
560
- var f = Ae();
561
- S(
562
- f,
563
- () => ({
564
- class: "tooltip-container group relative inline-block",
565
- "data-placement": o(),
566
- "data-delay": i(),
567
- "data-disabled": c(),
568
- ...b
569
- }),
570
- void 0,
571
- void 0,
572
- "svelte-13nzt82"
573
- );
574
- var _ = r(f);
575
- X(_, () => e.children ?? I);
576
- var y = D(_, 2);
577
- {
578
- var p = (u) => {
579
- var n = Ve(), s = r(n);
580
- N(() => j(s, a())), l(u, n);
581
- };
582
- M(y, (u) => {
583
- a() && !c() && u(p);
584
- });
585
- }
586
- l(m, f);
587
- }
588
- var Ue = g("<img/>");
589
- function it(m, e) {
590
- let a = t(e, "alt", 3, ""), o = t(e, "width", 3, "100%"), i = t(e, "height", 3, "auto"), c = t(e, "className", 3, ""), b = B(e, [
591
- "$$slots",
592
- "$$events",
593
- "$$legacy",
594
- "src",
595
- "alt",
596
- "width",
597
- "height",
598
- "className",
599
- "children"
600
- ]);
601
- var f = Ue();
602
- S(f, () => ({
603
- src: e.src,
604
- alt: a(),
605
- class: `w-full h-auto object-cover ${c() ?? ""}`,
606
- style: `width: ${(typeof o() == "number" ? o() + "px" : o()) ?? ""}; height: ${(typeof i() == "number" ? i() + "px" : i()) ?? ""};`,
607
- loading: "lazy",
608
- ...b
609
- })), l(m, f);
610
- }
611
- var We = g('<div><div class="flex items-start gap-4"><div class="flex-shrink-0 text-2xl" aria-hidden="true"> </div> <div class="flex-1 min-w-0"><h3 class="text-lg font-semibold text-text mb-2"> </h3> <p class="text-text-secondary leading-relaxed"> </p></div></div></div>');
612
- const qe = {
613
- hash: "svelte-ecbnw5",
614
- code: ".feature-card.svelte-ecbnw5:hover {--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}"
615
- };
616
- function st(m, e) {
617
- oe(m, qe);
618
- let a = t(e, "icon", 3, "✨"), o = t(e, "className", 3, ""), i = B(e, [
619
- "$$slots",
620
- "$$events",
621
- "$$legacy",
622
- "icon",
623
- "title",
624
- "description",
625
- "className"
626
- ]);
627
- var c = We();
628
- S(
629
- c,
630
- () => ({
631
- class: `feature-card p-6 rounded-lg bg-surface border border-border hover:border-primary/20 transition-colors duration-200 ${o() ?? ""}`,
632
- ...i
633
- }),
634
- void 0,
635
- void 0,
636
- "svelte-ecbnw5"
637
- );
638
- var b = r(c), f = r(b), _ = r(f), y = D(f, 2), p = r(y), u = r(p), n = D(p, 2), s = r(n);
639
- N(() => {
640
- j(_, a()), j(u, e.title), j(s, e.description);
641
- }), l(m, c);
642
- }
643
- export {
644
- et as B,
645
- $e as C,
646
- st as F,
647
- tt as H,
648
- it as O,
649
- at as P,
650
- Le as S,
651
- rt as T,
652
- Ze as a,
653
- lt as b,
654
- Qe as c,
655
- ot as d
656
- };