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,431 +0,0 @@
1
- import { z as P, H as W, I as X, J as Y, K as Z, L as A, M as $, p as t, f as k, c as V, y as ee, d as x, e as F, h as H, r as T, g as n, N as y, B as ae, k as h, s as D, l as K, i as I, j as q, A as N, F as E, O, G, C as J, P as te, x as re, Q } from "./ssr-safe-bsWGK4V4.js";
2
- import { onMount as R } from "svelte";
3
- function oe(r, e, a = !1, o = !1, d = !1) {
4
- var g = r, u = "";
5
- P(() => {
6
- var s = (
7
- /** @type {Effect} */
8
- W
9
- );
10
- if (u !== (u = e() ?? "") && (s.nodes_start !== null && (X(
11
- s.nodes_start,
12
- /** @type {TemplateNode} */
13
- s.nodes_end
14
- ), s.nodes_start = s.nodes_end = null), u !== "")) {
15
- var i = u + "";
16
- a ? i = `<svg>${i}</svg>` : o && (i = `<math>${i}</math>`);
17
- var l = Y(i);
18
- if ((a || o) && (l = /** @type {Element} */
19
- A(l)), Z(
20
- /** @type {TemplateNode} */
21
- A(l),
22
- /** @type {TemplateNode} */
23
- l.lastChild
24
- ), a || o)
25
- for (; A(l); )
26
- g.before(
27
- /** @type {Node} */
28
- A(l)
29
- );
30
- else
31
- g.before(l);
32
- }
33
- });
34
- }
35
- function se(r, e) {
36
- $(() => {
37
- var a = r.getRootNode(), o = (
38
- /** @type {ShadowRoot} */
39
- a.host ? (
40
- /** @type {ShadowRoot} */
41
- a
42
- ) : (
43
- /** @type {Document} */
44
- a.head ?? /** @type {Document} */
45
- a.ownerDocument.head
46
- )
47
- );
48
- if (!o.querySelector("#" + e.hash)) {
49
- const d = document.createElement("style");
50
- d.id = e.hash, d.textContent = e.code, o.appendChild(d);
51
- }
52
- });
53
- }
54
- var le = k("<button><!></button>");
55
- function we(r, e) {
56
- H(e, !0);
57
- let a = t(e, "variant", 3, "primary"), o = t(e, "size", 3, "md"), d = t(e, "disabled", 3, !1), g = t(e, "type", 3, "button"), u = t(e, "className", 3, ""), s = T(e, [
58
- "$$slots",
59
- "$$events",
60
- "$$legacy",
61
- "variant",
62
- "size",
63
- "disabled",
64
- "type",
65
- "className",
66
- "children"
67
- ]), i = y(() => ({
68
- sm: "px-3 py-1.5 text-sm font-medium",
69
- md: "px-4 py-2 text-sm font-medium",
70
- lg: "px-6 py-3 text-base font-semibold"
71
- })), l = y(() => ({
72
- primary: "bg-gray-100 text-white hover:bg-blue-700 active:bg-blue-800 focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 disabled:bg-blue-400",
73
- secondary: "bg-gray-600 text-white hover:bg-gray-700 active:bg-gray-800 focus:ring-2 focus:ring-gray-500 focus:ring-offset-2 disabled:bg-gray-400",
74
- danger: "bg-red-600 text-white hover:bg-red-700 active:bg-red-800 focus:ring-2 focus:ring-red-500 focus:ring-offset-2 disabled:bg-red-400",
75
- success: "bg-green-600 text-white hover:bg-green-700 active:bg-green-800 focus:ring-2 focus:ring-green-500 focus:ring-offset-2 disabled:bg-green-400",
76
- ghost: "bg-transparent text-gray-700 hover:bg-gray-100 active:bg-gray-200 focus:ring-2 focus:ring-gray-500 focus:ring-offset-2 disabled:text-gray-400",
77
- brand: "bg-purple-600 text-white hover:bg-purple-700 active:bg-purple-800 focus:ring-2 focus:ring-purple-500 focus:ring-offset-2 disabled:bg-purple-400"
78
- })), p = y(() => [
79
- "inline-flex items-center justify-center rounded-md transition-all duration-200",
80
- "disabled:opacity-50 disabled:cursor-not-allowed disabled:pointer-events-none",
81
- "focus:outline-none focus:ring-2 focus:ring-offset-2",
82
- "active:scale-95 transform-gpu",
83
- "shadow-sm hover:shadow-md",
84
- n(i)[o()],
85
- n(l)[a()],
86
- u()
87
- ].filter(Boolean).join(" "));
88
- var c = le();
89
- V(c, () => ({
90
- type: g(),
91
- class: n(p),
92
- disabled: d(),
93
- ...s
94
- }));
95
- var w = h(c);
96
- ee(w, () => e.children ?? ae), x(r, c), F();
97
- }
98
- function U(r) {
99
- const e = {
100
- default: "border-gray-300 focus:border-blue-500 focus:ring-blue-500",
101
- success: "border-green-300 focus:border-green-500 focus:ring-green-500",
102
- warning: "border-yellow-300 focus:border-yellow-500 focus:ring-yellow-500",
103
- error: "border-red-300 focus:border-red-500 focus:ring-red-500",
104
- info: "border-blue-300 focus:border-blue-500 focus:ring-blue-500"
105
- };
106
- return e[r] || e.default;
107
- }
108
- function _e(r) {
109
- const e = {
110
- default: "border-gray-200 bg-white",
111
- success: "border-green-200 bg-green-50",
112
- warning: "border-yellow-200 bg-yellow-50",
113
- error: "border-red-200 bg-red-50",
114
- info: "border-blue-200 bg-blue-50"
115
- };
116
- return e[r] || e.default;
117
- }
118
- function S(r, e) {
119
- var o;
120
- const a = {
121
- default: {
122
- border: "border-gray-300",
123
- text: "text-gray-900",
124
- bg: "bg-white"
125
- },
126
- success: {
127
- border: "border-green-300",
128
- text: "text-green-900",
129
- bg: "bg-green-50"
130
- },
131
- warning: {
132
- border: "border-yellow-300",
133
- text: "text-yellow-900",
134
- bg: "bg-yellow-50"
135
- },
136
- error: {
137
- border: "border-red-300",
138
- text: "text-red-900",
139
- bg: "bg-red-50"
140
- },
141
- info: {
142
- border: "border-blue-300",
143
- text: "text-blue-900",
144
- bg: "bg-blue-50"
145
- }
146
- };
147
- return ((o = a[r]) == null ? void 0 : o[e]) || a.default[e];
148
- }
149
- function ke(r) {
150
- return {
151
- border: S(r, "border"),
152
- text: S(r, "text"),
153
- bg: S(r, "bg")
154
- };
155
- }
156
- function Ce(r, e) {
157
- return r.reduce((a, o) => (a[o] = `${e}-${o}`, a), {});
158
- }
159
- var ne = k("<label> </label>"), ie = k("<div><!> <input/></div>");
160
- function ze(r, e) {
161
- H(e, !0);
162
- let a = t(e, "value", 7, ""), o = t(e, "type", 3, "text"), d = t(e, "name", 3, ""), g = t(e, "label", 3, ""), u = t(e, "placeholder", 3, ""), s = t(e, "disabled", 3, !1), i = t(e, "size", 3, "md"), l = t(e, "variant", 3, "default"), p = T(e, [
163
- "$$slots",
164
- "$$events",
165
- "$$legacy",
166
- "value",
167
- "type",
168
- "name",
169
- "label",
170
- "placeholder",
171
- "disabled",
172
- "size",
173
- "variant",
174
- "oninput"
175
- ]), c = q("");
176
- R(() => {
177
- D(c, K("input"), !0);
178
- });
179
- let w = y(() => ({
180
- sm: "px-3 py-1.5 text-sm",
181
- md: "px-4 py-2 text-sm",
182
- lg: "px-5 py-3 text-base"
183
- })), C = y(() => U(l())), b = y(() => [
184
- "w-full rounded-md transition-colors duration-200",
185
- "focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-offset-surface",
186
- "disabled:opacity-50 disabled:cursor-not-allowed disabled:bg-surface-disabled",
187
- n(w)[i()],
188
- n(C)
189
- ].join(" ")), f = y(() => "block text-sm font-medium text-primary mb-1");
190
- function z(v) {
191
- const m = v.target;
192
- a(m.value), e.oninput && e.oninput(v);
193
- }
194
- var M = ie(), j = h(M);
195
- {
196
- var _ = (v) => {
197
- var m = ne();
198
- E(m, 1, O(n(f)));
199
- var L = h(m);
200
- P(() => {
201
- G(m, "for", n(c)), J(L, g());
202
- }), x(v, m);
203
- };
204
- I(j, (v) => {
205
- g() && v(_);
206
- });
207
- }
208
- var B = N(j, 2);
209
- V(
210
- B,
211
- () => ({
212
- id: n(c),
213
- type: o(),
214
- name: d(),
215
- value: a(),
216
- placeholder: u(),
217
- disabled: s(),
218
- class: n(b),
219
- oninput: z,
220
- ...p
221
- }),
222
- void 0,
223
- void 0,
224
- void 0,
225
- !0
226
- ), x(r, M), F();
227
- }
228
- var de = k("<label> </label>"), ue = k("<div><!> <textarea></textarea></div>");
229
- function Me(r, e) {
230
- H(e, !0);
231
- let a = t(e, "value", 7, ""), o = t(e, "name", 3, ""), d = t(e, "label", 3, ""), g = t(e, "placeholder", 3, ""), u = t(e, "disabled", 3, !1), s = t(e, "rows", 3, 4), i = t(e, "size", 3, "md"), l = t(e, "variant", 3, "default"), p = T(e, [
232
- "$$slots",
233
- "$$events",
234
- "$$legacy",
235
- "value",
236
- "name",
237
- "label",
238
- "placeholder",
239
- "disabled",
240
- "rows",
241
- "size",
242
- "variant",
243
- "oninput"
244
- ]), c = te(typeof window < "u" ? `textarea-${Math.random().toString(36).substr(2, 9)}` : `textarea-ssr-${Date.now()}`), w = y(() => ({
245
- sm: "px-3 py-1.5 text-sm",
246
- md: "px-4 py-2 text-sm",
247
- lg: "px-5 py-3 text-base"
248
- })), C = y(() => U(l())), b = y(() => [
249
- "w-full rounded-md transition-colors duration-200",
250
- "focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-offset-surface",
251
- "disabled:opacity-50 disabled:cursor-not-allowed disabled:bg-surface-disabled",
252
- "resize-y",
253
- n(w)[i()],
254
- n(C)
255
- ].join(" ")), f = y(() => "block text-sm font-medium text-primary mb-1");
256
- function z(v) {
257
- const m = v.target;
258
- a(m.value), e.oninput && e.oninput(v);
259
- }
260
- var M = ue(), j = h(M);
261
- {
262
- var _ = (v) => {
263
- var m = de();
264
- E(m, 1, O(n(f)));
265
- var L = h(m);
266
- P(() => {
267
- G(m, "for", c), J(L, d());
268
- }), x(v, m);
269
- };
270
- I(j, (v) => {
271
- d() && v(_);
272
- });
273
- }
274
- var B = N(j, 2);
275
- V(B, () => ({
276
- id: c,
277
- name: o(),
278
- value: a(),
279
- placeholder: g(),
280
- disabled: u(),
281
- rows: s(),
282
- class: n(b),
283
- oninput: z,
284
- ...p
285
- })), x(r, M), F();
286
- }
287
- var ce = k('<label class="text-sm font-medium cursor-pointer"> </label>'), ge = k('<div class="flex items-center gap-2"><input/> <!></div>');
288
- function je(r, e) {
289
- H(e, !0);
290
- let a = t(e, "checked", 7, !1), o = t(e, "name", 3, ""), d = t(e, "disabled", 3, !1), g = t(e, "label", 3, ""), u = T(e, [
291
- "$$slots",
292
- "$$events",
293
- "$$legacy",
294
- "checked",
295
- "name",
296
- "disabled",
297
- "label"
298
- ]), s = q("");
299
- R(() => {
300
- D(s, K("checkbox"), !0);
301
- });
302
- let i = y(() => [
303
- "w-4 h-4 text-blue-600 bg-gray-100 border-gray-300 rounded",
304
- "focus:ring-blue-500 focus:ring-2",
305
- "disabled:opacity-50 disabled:cursor-not-allowed"
306
- ].join(" "));
307
- function l(b) {
308
- const f = b.target;
309
- a(f.checked);
310
- }
311
- var p = ge(), c = h(p);
312
- V(
313
- c,
314
- () => ({
315
- type: "checkbox",
316
- id: n(s),
317
- name: o(),
318
- checked: a(),
319
- disabled: d(),
320
- class: n(i),
321
- onchange: l,
322
- ...u
323
- }),
324
- void 0,
325
- void 0,
326
- void 0,
327
- !0
328
- );
329
- var w = N(c, 2);
330
- {
331
- var C = (b) => {
332
- var f = ce(), z = h(f);
333
- P(() => {
334
- G(f, "for", n(s)), J(z, g());
335
- }), x(b, f);
336
- };
337
- I(w, (b) => {
338
- g() && b(C);
339
- });
340
- }
341
- x(r, p), F();
342
- }
343
- async function be(r, e, a) {
344
- try {
345
- await navigator.clipboard.writeText(e.code), D(a, !0), setTimeout(
346
- () => {
347
- D(a, !1);
348
- },
349
- 2e3
350
- );
351
- } catch (o) {
352
- console.error("Failed to copy code:", o);
353
- }
354
- }
355
- var fe = Q('<svg class="w-4 h-4" fill="currentColor" viewBox="0 0 20 20"><path fill-rule="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" clip-rule="evenodd"></path></svg> Copied!', 1), ve = Q('<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"></path></svg> Copy', 1), me = k('<button class="flex items-center gap-2 px-3 py-1 text-xs text-gray-300 hover:text-white hover:bg-gray-700 rounded transition-colors duration-200" aria-label="Copy code to clipboard"><!></button>'), he = k('<div><div class="flex items-center justify-between px-4 py-2 bg-gray-800 border-b border-gray-700"><div class="flex items-center gap-2"><div class="w-3 h-3 rounded-full bg-red-500"></div> <div class="w-3 h-3 rounded-full bg-yellow-500"></div> <div class="w-3 h-3 rounded-full bg-green-500"></div></div> <!></div> <pre class="p-4 overflow-x-auto text-sm text-gray-100 leading-relaxed"><code><!></code></pre></div>');
356
- const ye = {
357
- hash: "svelte-1dmazsz",
358
- code: `.code-block.svelte-1dmazsz {font-family:"Monaco", "Menlo", "Ubuntu Mono", monospace;}
359
-
360
- /* Basic syntax highlighting for common languages */.language-svelte .token.tag,
361
- .language-html .token.tag {color:#f92672;}.language-svelte .token.attr-name,
362
- .language-html .token.attr-name {color:#a6e22e;}.language-svelte .token.attr-value,
363
- .language-html .token.attr-value {color:#e6db74;}.language-javascript .token.keyword,
364
- .language-typescript .token.keyword {color:#66d9ef;}.language-javascript .token.string,
365
- .language-typescript .token.string {color:#e6db74;}.language-javascript .token.function,
366
- .language-typescript .token.function {color:#a6e22e;}`
367
- };
368
- function Be(r, e) {
369
- se(r, ye);
370
- let a = t(e, "language", 3, "svelte"), o = t(e, "className", 3, ""), d = t(e, "showCopyButton", 3, !0), g = T(e, [
371
- "$$slots",
372
- "$$events",
373
- "$$legacy",
374
- "code",
375
- "language",
376
- "className",
377
- "showCopyButton"
378
- ]), u = q(!1);
379
- var s = he();
380
- V(
381
- s,
382
- () => ({
383
- class: `code-block relative bg-gray-900 rounded-lg overflow-hidden ${o() ?? ""}`,
384
- ...g
385
- }),
386
- void 0,
387
- void 0,
388
- "svelte-1dmazsz"
389
- );
390
- var i = h(s), l = N(h(i), 2);
391
- {
392
- var p = (b) => {
393
- var f = me();
394
- f.__click = [be, e, u];
395
- var z = h(f);
396
- {
397
- var M = (_) => {
398
- var B = fe();
399
- x(_, B);
400
- }, j = (_) => {
401
- var B = ve();
402
- x(_, B);
403
- };
404
- I(z, (_) => {
405
- n(u) ? _(M) : _(j, !1);
406
- });
407
- }
408
- x(b, f);
409
- };
410
- I(l, (b) => {
411
- d() && b(p);
412
- });
413
- }
414
- var c = N(i, 2), w = h(c), C = h(w);
415
- oe(C, () => e.code), P(() => E(w, 1, `language-${a() ?? ""}`, "svelte-1dmazsz")), x(r, s);
416
- }
417
- re(["click"]);
418
- export {
419
- we as B,
420
- je as C,
421
- ze as I,
422
- Me as T,
423
- Be as a,
424
- _e as b,
425
- S as c,
426
- ke as d,
427
- Ce as e,
428
- se as f,
429
- U as g,
430
- oe as h
431
- };