@wrnrlr/prelude 0.0.1 → 0.1.3

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 (40) hide show
  1. package/.github/workflows/publish.yml +46 -5
  2. package/deno.json +18 -9
  3. package/package.json +4 -6
  4. package/readme.md +163 -41
  5. package/src/constants.ts +2 -1
  6. package/src/{controlflow.js → controlflow.ts} +63 -50
  7. package/src/hyperscript.ts +7 -6
  8. package/src/mod.ts +19 -17
  9. package/src/reactive.ts +42 -14
  10. package/src/resource.js +184 -0
  11. package/src/router.js +65 -0
  12. package/src/runtime.ts +9 -8
  13. package/test/hyperscript.js +2 -2
  14. package/test/reactive.js +12 -4
  15. package/www/assets/css/presets.css +504 -0
  16. package/www/assets/css/style.css +90 -0
  17. package/www/demo.html +15 -0
  18. package/www/index.html +211 -0
  19. package/www/playground.html +183 -0
  20. package/www/public/example/admin.html +88 -0
  21. package/{example → www/public/example}/counter.html +1 -1
  22. package/{example → www/public/example}/greeting.html +1 -1
  23. package/{example → www/public/example}/show.html +1 -1
  24. package/{example → www/public/example}/todo.html +1 -1
  25. package/www/public/fonts/fab.ttf +0 -0
  26. package/www/public/fonts/fab.woff2 +0 -0
  27. package/www/public/fonts/far.ttf +0 -0
  28. package/www/public/fonts/far.woff2 +0 -0
  29. package/www/public/fonts/fas.ttf +0 -0
  30. package/www/public/fonts/fas.woff2 +0 -0
  31. package/www/public/logo.svg +16 -0
  32. package/www/typedoc.json +13 -0
  33. package/www/vite.config.js +106 -0
  34. package/example/paint.html +0 -22
  35. package/index.html +0 -230
  36. package/presets.css +0 -284
  37. package/public/logo.svg +0 -5
  38. package/test/runtime.js +0 -7
  39. package/typedoc.jsonc +0 -31
  40. /package/{public → www/public}/banner.svg +0 -0
@@ -0,0 +1,504 @@
1
+ *, ::before, ::after {box-sizing: border-box; margin: 0; min-width: 0}
2
+ html {
3
+ height: 100%;
4
+ hanging-punctuation: first last;
5
+ font-family:system-ui,'Segoe UI',Roboto,Helvetica,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji';
6
+ line-height: 1.15; -webkit-text-size-adjust: 100%;
7
+ -moz-tab-size: 4; tab-size: 4;
8
+ font-size: 18px;
9
+ color: black;
10
+ background-color: white;
11
+ }
12
+ /* body {height: 100%} */
13
+ hr {height: 0;color: inherit;}
14
+ abbr[title] {text-decoration: underline dotted}
15
+ b,strong,i,em {font-weight: normal; text-decoration: none; font-style: normal;}
16
+ code,kbd,samp,pre {font-family:ui-monospace,SFMono-Regular,Consolas,'Liberation Mono',Menlo,monospace;font-size: 1em;}
17
+ small {font-size: 80%;}
18
+ sub,sup {font-size: 75%;line-height: 0;position: relative;vertical-align: baseline;}
19
+ sub {bottom: -0.25em}
20
+ sup {top: -0.5em}
21
+ table {border-collapse: collapse; text-indent: 0; border-color: inherit;}
22
+ button,input,optgroup,select,textarea {font-family:inherit;font-size:100%;line-height:1.15;}
23
+ button, select {text-transform: none}
24
+ button, [type='button'], [type='reset'], [type='submit'] {-webkit-appearance: button}
25
+ ::-moz-focus-inner {border-style: none;padding: 0;}
26
+ :-moz-focusring {outline: 1px dotted ButtonText;}
27
+ :-moz-ui-invalid {box-shadow: none;}
28
+ legend {padding: 0}
29
+ progress {vertical-align: baseline}
30
+ ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {height: auto;margin: 0}
31
+ [type='search'] {-webkit-appearance: textfield; outline-offset: -2px;}
32
+ ::-webkit-search-decoration {-webkit-appearance: none;}
33
+ ::-webkit-file-upload-button {-webkit-appearance: button;font: inherit;}
34
+
35
+ h1,h2,h3,h4,h5,h6 {text-wrap:balance; margin: 0; font-size: 1rem; line-height: 1.5rem; font-weight: normal;}
36
+ p {max-width:62ch;text-wrap:pretty}
37
+ dialog {padding:0;border-width:0}
38
+ button,input {padding:0;border-width:0;background-color:transparent}
39
+ input:focus,button:focus {outline:none}
40
+ summary {display: list-item;}
41
+ a {text-decoration: none; color: inherit;}
42
+ /* a:visited{color;} */
43
+ ul {padding:0; list-style:none; text-indent:0; list-style-type:none}
44
+ iframe {border: none}
45
+
46
+ :root {
47
+ --slate-50: #f8fafc;
48
+ --slate-100: #f1f5f9;
49
+ --slate-200: #e2e8f0;
50
+ --slate-300: #cbd5e1;
51
+ --slate-400: #94a3b8;
52
+ --slate-500: #64748b;
53
+ --slate-600: #475569;
54
+ --slate-700: #334155;
55
+ --slate-800: #1e293b;
56
+ --slate-900: #0f172a;
57
+ --slate-950: #020617;
58
+
59
+ --gray-50: #f9fafb;
60
+ --gray-100: #f3f4f6;
61
+ --gray-200: #e5e7eb;
62
+ --gray-300: #d1d5db;
63
+ --gray-400: #9ca3af;
64
+ --gray-500: #6b7280;
65
+ --gray-600: #4b5563;
66
+ --gray-700: #374151;
67
+ --gray-800: #1f2937;
68
+ --gray-900: #111827;
69
+ --gray-950: #030712;
70
+
71
+ --zinc-50: #fafafa;
72
+ --zinc-100: #f4f4f5;
73
+ --zinc-200: #e4e4e7;
74
+ --zinc-300: #d4d4d8;
75
+ --zinc-400: #a1a1aa;
76
+ --zinc-500: #71717a;
77
+ --zinc-600: #52525b;
78
+ --zinc-700: #3f3f46;
79
+ --zinc-800: #27272a;
80
+ --zinc-900: #18181b;
81
+ --zinc-950: #09090b;
82
+
83
+ --neutral-50: #fafafa;
84
+ --neutral-100: #f5f5f5;
85
+ --neutral-200: #e5e5e5;
86
+ --neutral-300: #d4d4d4;
87
+ --neutral-400: #a3a3a3;
88
+ --neutral-500: #737373;
89
+ --neutral-600: #525252;
90
+ --neutral-700: #404040;
91
+ --neutral-800: #262626;
92
+ --neutral-900: #171717;
93
+ --neutral-950: #0a0a0a;
94
+
95
+ --stone-50: #fafaf9;
96
+ --stone-100: #f5f5f4;
97
+ --stone-200: #e7e5e4;
98
+ --stone-300: #d6d3d1;
99
+ --stone-400: #a8a29e;
100
+ --stone-500: #78716c;
101
+ --stone-600: #57534e;
102
+ --stone-700: #44403c;
103
+ --stone-800: #292524;
104
+ --stone-900: #1c1917;
105
+ --stone-950: #0c0a09;
106
+
107
+ --red-50: #fef2f2;
108
+ --red-100: #fee2e2;
109
+ --red-200: #fecaca;
110
+ --red-300: #fca5a5;
111
+ --red-400: #f87171;
112
+ --red-500: #ef4444;
113
+ --red-600: #dc2626;
114
+ --red-700: #b91c1c;
115
+ --red-800: #991b1b;
116
+ --red-900: #7f1d1d;
117
+ --red-950: #450a0a;
118
+
119
+ --orange-50: #fff7ed;
120
+ --orange-100: #ffedd5;
121
+ --orange-200: #fed7aa;
122
+ --orange-300: #fdba74;
123
+ --orange-400: #fb923c;
124
+ --orange-500: #f97316;
125
+ --orange-600: #ea580c;
126
+ --orange-700: #c2410c;
127
+ --orange-800: #9a3412;
128
+ --orange-900: #7c2d12;
129
+ --orange-950: #431407;
130
+
131
+ --yellow-50: #fefce8;
132
+ --yellow-100: #fef9c3;
133
+ --yellow-200: #fef08a;
134
+ --yellow-300: #fde047;
135
+ --yellow-400: #facc15;
136
+ --yellow-500: #eab308;
137
+ --yellow-600: #ca8a04;
138
+ --yellow-700: #a16207;
139
+ --yellow-800: #854d0e;
140
+ --yellow-900: #713f12;
141
+ --yellow-950: #422006;
142
+
143
+ --lime-50: #f7fee7;
144
+ --lime-100: #ecfccb;
145
+ --lime-200: #d9f99d;
146
+ --lime-300: #bef264;
147
+ --lime-400: #a3e635;
148
+ --lime-500: #84cc16;
149
+ --lime-600: #65a30d;
150
+ --lime-700: #4d7c0f;
151
+ --lime-800: #3f6212;
152
+ --lime-900: #365314;
153
+ --lime-950: #1a2e05;
154
+
155
+ --green-50: #f0fdf4;
156
+ --green-100: #dcfce7;
157
+ --green-200: #bbf7d0;
158
+ --green-300: #86efac;
159
+ --green-400: #4ade80;
160
+ --green-500: #22c55e;
161
+ --green-600: #16a34a;
162
+ --green-700: #15803d;
163
+ --green-800: #166534;
164
+ --green-900: #14532d;
165
+ --green-950: #052e16;
166
+
167
+ --emrald-50: #ecfdf5;
168
+ --emrald-100: #d1fae5;
169
+ --emrald-200: #a7f3d0;
170
+ --emrald-300: #6ee7b7;
171
+ --emrald-400: #34d399;
172
+ --emrald-500: #10b981;
173
+ --emrald-600: #059669;
174
+ --emrald-700: #047857;
175
+ --emrald-800: #065f46;
176
+ --emrald-900: #064e3b;
177
+ --emrald-950: #022c22;
178
+
179
+ --teal-50: #f0fdfa;
180
+ --teal-100: #ccfbf1;
181
+ --teal-200: #99f6e4;
182
+ --teal-300: #5eead4;
183
+ --teal-400: #2dd4bf;
184
+ --teal-500: #14b8a6;
185
+ --teal-600: #0d9488;
186
+ --teal-700: #0f766e;
187
+ --teal-800: #115e59;
188
+ --teal-900: #134e4a;
189
+ --teal-950: #042f2e;
190
+
191
+ --cyan-50: #ecfeff;
192
+ --cyan-100: #cffafe;
193
+ --cyan-200: #a5f3fc;
194
+ --cyan-300: #67e8f9;
195
+ --cyan-400: #22d3ee;
196
+ --cyan-500: #06b6d4;
197
+ --cyan-600: #0891b2;
198
+ --cyan-700: #0e7490;
199
+ --cyan-800: #155e75;
200
+ --cyan-900: #164e63;
201
+ --cyan-950: #083344;
202
+
203
+ --sky-50: #f0f9ff;
204
+ --sky-100: #e0f2fe;
205
+ --sky-200: #bae6fd;
206
+ --sky-300: #7dd3fc;
207
+ --sky-400: #38bdf8;
208
+ --sky-500: #0ea5e9;
209
+ --sky-600: #0284c7;
210
+ --sky-700: #0369a1;
211
+ --sky-800: #075985;
212
+ --sky-900: #0c4a6e;
213
+ --sky-950: #082f49;
214
+
215
+ --blue-50: #eff6ff;
216
+ --blue-100: #dbeafe;
217
+ --blue-200: #bfdbfe;
218
+ --blue-300: #93c5fd;
219
+ --blue-400: #60a5fa;
220
+ --blue-500: #3b82f6;
221
+ --blue-600: #2563eb;
222
+ --blue-700: #1d4ed8;
223
+ --blue-800: #1e40af;
224
+ --blue-900: #1e3a8a;
225
+ --blue-950: #172554;
226
+
227
+ --indigo-50: #eef2ff;
228
+ --indigo-100: #e0e7ff;
229
+ --indigo-200: #c7d2fe;
230
+ --indigo-300: #a5b4fc;
231
+ --indigo-400: #818cf8;
232
+ --indigo-500: #6366f1;
233
+ --indigo-600: #4f46e5;
234
+ --indigo-700: #4338ca;
235
+ --indigo-800: #3730a3;
236
+ --indigo-900: #312e81;
237
+ --indigo-950: #1e1b4b;
238
+
239
+ --violet-50: #f5f3ff;
240
+ --violet-100: #ede9fe;
241
+ --violet-200: #ddd6fe;
242
+ --violet-300: #c4b5fd;
243
+ --violet-400: #a78bfa;
244
+ --violet-500: #8b5cf6;
245
+ --violet-600: #7c3aed;
246
+ --violet-700: #6d28d9;
247
+ --violet-800: #5b21b6;
248
+ --violet-900: #4c1d95;
249
+ --violet-950: #2e1065;
250
+
251
+ --purple-50: #faf5ff;
252
+ --purple-100: #f3e8ff;
253
+ --purple-200: #e9d5ff;
254
+ --purple-300: #d8b4fe;
255
+ --purple-400: #c084fc;
256
+ --purple-500: #a855f7;
257
+ --purple-600: #9333ea;
258
+ --purple-700: #7e22ce;
259
+ --purple-800: #6b21a8;
260
+ --purple-900: #581c87;
261
+ --purple-950: #3b0764;
262
+
263
+ --fuchsia-50: #fdf4ff;
264
+ --fuchsia-100: #fae8ff;
265
+ --fuchsia-200: #f5d0fe;
266
+ --fuchsia-300: #f0abfc;
267
+ --fuchsia-400: #e879f9;
268
+ --fuchsia-500: #d946ef;
269
+ --fuchsia-600: #c026d3;
270
+ --fuchsia-700: #a21caf;
271
+ --fuchsia-800: #86198f;
272
+ --fuchsia-900: #701a75;
273
+ --fuchsia-950: #4a044e;
274
+
275
+ --pink-50: #fdf2f8;
276
+ --pink-100: #fce7f3;
277
+ --pink-200: #fbcfe8;
278
+ --pink-300: #f9a8d4;
279
+ --pink-400: #f472b6;
280
+ --pink-500: #ec4899;
281
+ --pink-600: #db2777;
282
+ --pink-700: #be185d;
283
+ --pink-800: #9d174d;
284
+ --pink-900: #831843;
285
+ --pink-950: #500724;
286
+
287
+ --rose-50: #fff1f2;
288
+ --rose-100: #ffe4e6;
289
+ --rose-200: #fecdd3;
290
+ --rose-300: #fda4af;
291
+ --rose-400: #fb7185;
292
+ --rose-500: #f43f5e;
293
+ --rose-600: #e11d48;
294
+ --rose-700: #be123c;
295
+ --rose-800: #9f1239;
296
+ --rose-900: #881337;
297
+ --rose-950: #4c0519;
298
+ }
299
+
300
+ /* Tailwind */
301
+
302
+ .center {text-align: center;}
303
+
304
+ .absolute {position: absolute}
305
+
306
+ .hidden {display: none}
307
+
308
+ .h-full {height:100%}
309
+ .w-full {width:100%}
310
+ .h-half {height:50%}
311
+ .w-half {width:50%}
312
+
313
+ .flex {display: flex}
314
+ .block {display: block}
315
+ .column {flex-direction: column}
316
+ .column-reverse {flex-direction: column-reverse}
317
+ .row {flex-direction: row}
318
+ .row {flex-direction: row-reverse}
319
+ .inline-flex {display: inline-flex}
320
+
321
+ .flex-1 {flex: 1 1 0}
322
+ .flex-auto {flex: 1 1 auto}
323
+ .flex-initial {flex: 0 1 auto}
324
+ .flex-none {flex: none}
325
+
326
+ .flex-wrap {flex-wrap: wrap}
327
+ .flex-wrap-reverse {flex-wrap: wrap-reverse}
328
+ .flex-nowrap {flex-wrap: nowrap}
329
+
330
+ .justify-start {justify-content: flex-start}
331
+ .justify-center {justify-content: center}
332
+ .justify-end {justify-content: flex-end}
333
+ .justify-between {justify-content: space-between}
334
+ .justify-around {justify-content: space-around}
335
+ .justify-evenly {justify-content: space-evenly}
336
+
337
+ .content-start {align-content: flex-start}
338
+ .content-center {align-content: center}
339
+ .content-end {align-content: flex-end}
340
+ .content-between {align-content: space-between}
341
+ .content-around {align-content: space-around}
342
+ .content-evenly {align-content: space-evenly}
343
+
344
+ .items-start {align-items: flex-start}
345
+ .items-center {align-items: center}
346
+ .items-end {align-items: flex-end}
347
+ .items-stretch {align-items: stretch}
348
+ .items-baseline {align-items: baseline}
349
+
350
+ .self-auto {align-self:auto}
351
+ .self-start {align-self:start}
352
+ .self-center {align-self:center}
353
+ .self-end {align-self:end}
354
+ .self-stretch{align-self:stretch}
355
+ .self-baseline {align-self:baseline}
356
+
357
+ .grow {flex-grow: 1}
358
+ .grow-0 {flex-grow: 0}
359
+ .shrink {flex-shrink: 1}
360
+ .shrink-0 {flex-shrink: 0}
361
+
362
+ .w-full {width: 100%}
363
+ .h-full {height: 100%}
364
+
365
+ .p-0 {padding: 0}
366
+ .p-1 {padding: 0.25rem}
367
+ .p-2 {padding: 0.5rem}
368
+ .p-3 {padding: 0.75rem}
369
+ .p-4 {padding: 1rem}
370
+ .p-5 {padding: 1.25rem}
371
+ .p-6 {padding: 1.5rem}
372
+ .p-7 {padding: 1.75rem}
373
+ .p-8 {padding: 2rem}
374
+ .p-9 {padding: 2.25rem}
375
+ .p-10 {padding: 2.5rem}
376
+
377
+ .px-0 {padding-left: 0;padding-right: 0}
378
+ .px-1 {padding-left: 0.25rem;padding-right: 0.25rem}
379
+ .px-2 {padding-left: 0.5rem;padding-right: 0.5rem}
380
+ .px-3 {padding-left: 0.75rem;padding-right: 0.75rem}
381
+ .px-4 {padding-left: 1rem;padding-right: 1rem}
382
+ .px-5 {padding-left: 1.25rem;padding-right: 1.25rem}
383
+ .px-6 {padding-left: 1.5rem;padding-right: 1.5rem}
384
+ .px-7 {padding-left: 1.75rem;padding-right: 1.75rem}
385
+ .px-8 {padding-left: 2rem;padding-right: 2rem}
386
+
387
+ .py-0 {padding-top: 0;padding-bottom: 0}
388
+ .py-1 {padding-top: 0.25rem;padding-bottom: 0.25rem}
389
+ .py-2 {padding-top: 0.5rem;padding-bottom: 0.5rem}
390
+ .py-3 {padding-top: 0.75rem;padding-bottom: 0.75rem}
391
+ .py-4 {padding-top: 1rem;padding-bottom: 1rem}
392
+ .py-5 {padding-top: 1.25rem;padding-bottom: 1.25rem}
393
+ .py-6 {padding-top: 1.5rem;padding-bottom: 1.5rem}
394
+ .py-7 {padding-top: 1.75rem;padding-bottom: 1.75rem}
395
+ .py-8 {padding-top: 2rem;padding-bottom: 2rem}
396
+
397
+ .pl-0 {padding-left: 0}
398
+ .pl-1 {padding-left: 0.25rem}
399
+ .pl-2 {padding-left: 0.5rem}
400
+ .pl-3 {padding-left: 0.75rem}
401
+ .pl-4 {padding-left: 1rem}
402
+ .pl-5 {padding-left: 1.25rem}
403
+ .pl-6 {padding-left: 1.5rem}
404
+ .pl-7 {padding-left: 1.75rem}
405
+ .pl-8 {padding-left: 2rem}
406
+ .pl-9 {padding-left: 2.25rem}
407
+ .pl-10 {padding-left: 2.5rem}
408
+
409
+ .pt-0 {padding-top: 0}
410
+ .pt-1 {padding-top: 0.25rem}
411
+ .pt-2 {padding-top: 0.5rem}
412
+ .pt-3 {padding-top: 0.75rem}
413
+ .pt-4 {padding-top: 1rem}
414
+ .pt-5 {padding-top: 1.25rem}
415
+ .pt-6 {padding-top: 1.5rem}
416
+ .pt-7 {padding-top: 1.75rem}
417
+ .pt-8 {padding-top: 2rem}
418
+ .pt-9 {padding-top: 2.25rem}
419
+ .pt-10 {padding-top: 2.5rem}
420
+
421
+ .pr-0 {padding-right: 0}
422
+ .pr-1 {padding-right: 0.25rem}
423
+ .pr-2 {padding-right: 0.5rem}
424
+ .pr-3 {padding-right: 0.75rem}
425
+ .pr-4 {padding-right: 1rem}
426
+ .pr-5 {padding-right: 1.25rem}
427
+ .pr-6 {padding-right: 1.5rem}
428
+ .pr-7 {padding-right: 1.75rem}
429
+ .pr-8 {padding-right: 2rem}
430
+ .pr-9 {padding-right: 2.25rem}
431
+ .pr-10 {padding-right: 2.5rem}
432
+
433
+ .pb-0 {padding-bottom: 0}
434
+ .pb-1 {padding-bottom: 0.25rem}
435
+ .pb-2 {padding-bottom: 0.5rem}
436
+ .pb-3 {padding-bottom: 0.75rem}
437
+ .pb-4 {padding-bottom: 1rem}
438
+ .pb-5 {padding-bottom: 1.25rem}
439
+ .pb-6 {padding-bottom: 1.5rem}
440
+ .pb-7 {padding-bottom: 1.75rem}
441
+ .pb-8 {padding-bottom: 2rem}
442
+ .pb-9 {padding-bottom: 2.25rem}
443
+ .pb-10 {padding-bottom: 2.5rem}
444
+
445
+ .gap-0 {gap: 0}
446
+ .gap-1 {gap: 0.25rem}
447
+ .gap-2 {gap: 0.5rem}
448
+ .gap-3 {gap: 0.75rem}
449
+ .gap-4 {gap: 1rem}
450
+ .gap-5 {gap: 1.25rem}
451
+ .gap-6 {gap: 1.5rem}
452
+ .gap-7 {gap: 1.75rem}
453
+ .gap-8 {gap: 2rem}
454
+ .gap-9 {gap: 2.25rem}
455
+ .gap-10 {gap: 2.5rem}
456
+ .gap-10 {gap: 2.75rem}
457
+ .gap-11 {gap: 3rem}
458
+ .gap-12 {gap: 3.25rem}
459
+ .gap-13 {gap: 3.5rem}
460
+ .gap-14 {gap: 3.75rem}
461
+ .gap-15 {gap: 4rem}
462
+
463
+ .text-xs {font-size: 0.75rem; line-height: 1rem}
464
+ .text-sm {font-size: 0.875rem; line-height: 1.25rem}
465
+ .text-base {font-size: 1.25rem; line-height: 1.5rem}
466
+ .text-lg {font-size: 1.5rem; line-height: 1.75rem}
467
+ .text-xl {font-size: 1.25rem; line-height: 1.75rem}
468
+ .text-2xl {font-size: 1.5rem; line-height: 2rem}
469
+ .text-3xl {font-size: 1.875rem; line-height: 2.25rem}
470
+ .text-4xl {font-size: 2.25rem; line-height: 2.5rem}
471
+ .text-5xl {font-size: 3rem; line-height: 1}
472
+ .text-6xl {font-size: 3.75rem; line-height: 1}
473
+ .text-7xl {font-size: 4.5rem; line-height: 1}
474
+ .text-8xl {font-size: 6rem; line-height: 1}
475
+ .text-9xl {font-size: 8rem; line-height: 1}
476
+
477
+ .font-weight-100 {font-weight: 100}
478
+ .font-weight-200 {font-weight: 200}
479
+ .font-weight-300 {font-weight: 300}
480
+ .font-weight-400 {font-weight: 400}
481
+ .font-weight-500 {font-weight: 500}
482
+ .font-weight-600 {font-weight: 600}
483
+ .font-weight-700 {font-weight: 700}
484
+ .font-weight-800 {font-weight: 800}
485
+ .font-weight-900 {font-weight: 900}
486
+
487
+ .border-radius {border-radius: 1}
488
+
489
+ .cursor-pointer {cursor:pointer}
490
+
491
+ .rounded-none{border-radius: 0}
492
+ .rounded-sm {border-radius: 0.125rem}
493
+ .rounded {border-radius: 0.25rem}
494
+ .rounded-md {border-radius: 0.375rem}
495
+ .rounded-lg {border-radius: 0.5rem}
496
+ .rounded-xl {border-radius: 0.75rem}
497
+ .rounded-2xl {border-radius: 1rem}
498
+ .rounded-3xl {border-radius: 1.5rem}
499
+ .rounded-full {border-radius: 9999px}
500
+
501
+ .w-min {width: min-content}
502
+ .w-max {width: max-content}
503
+ .min-w-min {min-width: min-content}
504
+ .max-w-max {max-width: max-content}
@@ -0,0 +1,90 @@
1
+ @import url('./presets.css');
2
+
3
+ @font-face {
4
+ font-family: 'Icons';
5
+ font-style: normal;
6
+ font-weight: 400;
7
+ font-display: block;
8
+ src: url("/fonts/far.woff2") format("woff2"), url("/fonts/far.ttf") format("truetype");
9
+ }
10
+
11
+ @font-face {
12
+ font-family: 'Solid Icons';
13
+ font-style: normal;
14
+ font-weight: 900;
15
+ font-display: block;
16
+ src: url("/fonts/fas.woff2") format("woff2"), url("/fonts/fas.ttf") format("truetype");
17
+ };
18
+
19
+ @font-face {
20
+ font-family: 'Brands';
21
+ font-style: normal;
22
+ font-weight: 400;
23
+ font-display: block;
24
+ src: url("/fonts/fab.woff2") format("woff2"), url("/fonts/fab.ttf") format("truetype");
25
+ }
26
+
27
+ .icon {display:flex; display:inline-block}
28
+ .icon:before {color:inherit}
29
+
30
+ i.icon:before {font-family: "Solid Icons"; font-weight: 900}
31
+ /* b.icon:before {font-family: "Solid Icons"; font-weight: 900} */
32
+
33
+ i.icon.menu:before { content: '\f0c9'; font-family: "Solid Icons" }
34
+ i.icon.info:before { content: '\f129'; font-family: "Solid Icons" }
35
+ i.icon.xmark:before { content: '\f00d'; font-family: "Solid Icons" }
36
+ i.icon.plus:before {content: '\2b'; font-family: "Solid Icons" }
37
+ i.icon.clone:before {content: '\f24d'; font-family: "Solid Icons" }
38
+
39
+ i.brand.x:before { font-family: "Brands"; content: "\f392"; }
40
+ i.brand.discord:before { font-family: "Brands"; content: "\f392"; }
41
+
42
+ .text-white {color: white}
43
+ .text-neutral-50 {color: var(--neutral-50)}
44
+ .text-neutral-500 {color: var(--neutral-500)}
45
+ .text-neutral-600 {color: var(--neutral-600)}
46
+ .text-neutral-700 {color: var(--neutral-700)}
47
+ .text-neutral-800 {color: var(--neutral-800)}
48
+ .text-neutral-900 {color: var(--neutral-900)}
49
+ .text-neutral-950 {color: var(--neutral-950)}
50
+
51
+ .bg-neutral-50 {background-color: var(--neutral-50)}
52
+ .bg-neutral-100 {background-color: var(--neutral-100)}
53
+ .bg-neutral-200 {background-color: var(--neutral-200)}
54
+ .bg-neutral-300 {background-color: var(--neutral-300)}
55
+ .bg-neutral-900 {background-color: var(--neutral-300)}
56
+ .bg-neutral-950 {background-color: var(--neutral-300)}
57
+
58
+ .bg-slate-50 {background-color: var(--slate-50)}
59
+ .bg-slate-100 {background-color: var(--slate-100)}
60
+ .bg-slate-200 {background-color: var(--slate-200)}
61
+ .bg-slate-300 {background-color: var(--slate-300)}
62
+
63
+ .bg-gray-50 {background-color: var(--gray-50)}
64
+ .bg-gray-100 {background-color: var(--gray-100)}
65
+ .bg-gray-200 {background-color: var(--gray-200)}
66
+ .bg-gray-300 {background-color: var(--gray-300)}
67
+
68
+ .bg-stone-50 {background-color: var(--stone-50)}
69
+ .bg-stone-100 {background-color: var(--stone-100)}
70
+ .bg-stone-200 {background-color: var(--stone-200)}
71
+ .bg-stone-300 {background-color: var(--stone-300)}
72
+
73
+ .bg-gray-300 {background-color: var(--gray-300)}
74
+
75
+ .bg-blue-400 {background-color: var(--blue-400)}
76
+ .bg-blue-500 {background-color: var(--blue-500)}
77
+ .bg-blue-600 {background-color: var(--blue-600)}
78
+ .bg-sky-400 {background-color: var(--sky-400)}
79
+ .bg-sky-500 {background-color: var(--sky-500)}
80
+ .bg-sky-600 {background-color: var(--sky-600)}
81
+ .bg-green-400 {background-color: var(--green-400)}
82
+ .bg-green-500 {background-color: var(--green-500)}
83
+ .bg-green-600 {background-color: var(--green-600)}
84
+
85
+ .text-shadow-white {text-shadow: 0px 0px 3px white}
86
+ .text-shadow-black {text-shadow: 0px 0px 3px black}
87
+ .text-shadow-green {text-shadow: 0px 0px 3px var(--green-800)}
88
+ .text-shadow-blue {text-shadow: 0px 0px 3px var(--blue-800)}
89
+
90
+ .shadow {box-shadow: rgba(9, 30, 66, 0.25) 0px 1px 1px, rgba(9, 30, 66, 0.13) 0px 0px 1px 1px;}
package/www/demo.html ADDED
@@ -0,0 +1,15 @@
1
+ <!DOCTYPE html>
2
+ <title>Demo</title>
3
+
4
+ <script type="module">
5
+
6
+ import {h,signal,effect,batch,wrap,render,onMount,List} from '../src/mod.ts'
7
+
8
+ function App() {
9
+ const fruits = ['apple', 'banana', 'cherry']
10
+ return h(List, {each:fruits}, f => f)
11
+ }
12
+
13
+ render(App, document.body)
14
+
15
+ </script>