renku 0.0.2 → 0.0.6

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 (63) hide show
  1. package/LICENSE.md +8 -0
  2. package/README.md +91 -0
  3. package/dist/auth.d.ts +1 -1
  4. package/dist/bash-complete.js +1 -1
  5. package/dist/bun.d.ts +1 -3
  6. package/dist/bun.js +1 -1
  7. package/dist/cli.js +1 -1
  8. package/dist/client.d.ts +1 -6
  9. package/dist/client.js +1 -1
  10. package/dist/cloudflare-BVLzalPQ.js +2 -0
  11. package/dist/cloudflare.d.ts +2 -4
  12. package/dist/cloudflare.js +1 -1
  13. package/dist/cloudflare.worker.d.ts +2 -4
  14. package/dist/cloudflare.worker.js +1 -1
  15. package/dist/{context-BHCMRbxt.js → context-BZxerv82.js} +1 -1
  16. package/dist/context-store-BpRmbHKI.js +1 -0
  17. package/dist/create-computed-CgSmvZ_e.js +1 -0
  18. package/dist/create-context-OCBKqRIM.js +1 -0
  19. package/dist/create-loader-Bnk94Dhg.js +1 -0
  20. package/dist/data.d.ts +64 -13
  21. package/dist/data.js +1 -1
  22. package/dist/dom.d.ts +3 -4
  23. package/dist/dom.js +1 -1
  24. package/dist/{fragment-BZKaFASk.d.ts → fragment-Bly9noQG.d.ts} +1 -1
  25. package/dist/{index-SdO7aHUm.d.ts → index-iMWKMtYV.d.ts} +1 -2
  26. package/dist/index.d.ts +20 -8
  27. package/dist/index.js +1 -1
  28. package/dist/jsx-dev-runtime.d.ts +3 -3
  29. package/dist/jsx-dev-runtime.js +1 -1
  30. package/dist/jsx-runtime.d.ts +2 -2
  31. package/dist/jsx-runtime.js +1 -1
  32. package/dist/register-server-function-Dsv6VBSj.js +1 -0
  33. package/dist/{rsc-from-markup-lvVZNq4O.js → rsc-from-markup-ditxg5su.js} +2 -2
  34. package/dist/server.d.ts +2 -2
  35. package/dist/server.js +1 -1
  36. package/dist/theme.css +59 -0
  37. package/dist/theme.js +0 -0
  38. package/dist/{types-BzglvZrW.d.ts → types-B4Ij4y1d.d.ts} +5 -0
  39. package/dist/types-BEYIs1ZF.d.ts +23 -0
  40. package/dist/{types-BPhJNjPW.d.ts → types-BSW-pDJE.d.ts} +2 -2
  41. package/dist/ui.d.ts +104 -20
  42. package/dist/ui.js +1 -1
  43. package/dist/update-dom-node-C7Nskg5l.js +1 -0
  44. package/dist/virtual-from-jsx-kd8FG7Em.js +1 -0
  45. package/dist/vite.js +1 -1
  46. package/package.json +44 -34
  47. package/dist/cloudflare-CKedebLt.js +0 -2
  48. package/dist/create-computed-D9oVNGZ6.js +0 -1
  49. package/dist/register-server-function-DQl0uL7w.js +0 -1
  50. package/dist/render-dom-node-BzR5XI1t.js +0 -1
  51. package/dist/signal-CqB2Ey1W.d.ts +0 -2
  52. package/dist/types-DwyPVMcM.d.ts +0 -16
  53. package/dist/virtual-from-jsx-BgQUXZ4d.js +0 -1
  54. /package/dist/{effect-hmzj-Jig.js → effect-Bd9_A9t9.js} +0 -0
  55. /package/dist/{fragment-Chv9FEhP.js → fragment-uL1agXkn.js} +0 -0
  56. /package/dist/{get-route-B1JNCPoL.js → get-route-DL8B9jay.js} +0 -0
  57. /package/dist/{impl-O61EKx7J.js → impl-6Uc2Rt9O.js} +0 -0
  58. /package/dist/{impl-CQ7GTRH2-BsAKEI_H.js → impl-CQ7GTRH2-Db6HOvCd.js} +0 -0
  59. /package/dist/{impl-CRQorzAF.js → impl-D9kbwKWf.js} +0 -0
  60. /package/dist/{impl-vRmneAi-.js → impl-qmFhldR7.js} +0 -0
  61. /package/dist/{jsx-runtime-DvEc5zft.js → jsx-runtime-BhjWaNaK.js} +0 -0
  62. /package/dist/{register-server-function-BuqMxh0V.d.ts → register-server-function-CqA4nPaJ.d.ts} +0 -0
  63. /package/dist/{types-BStlw_FH.d.ts → types-BcEav58N.d.ts} +0 -0
package/dist/theme.css ADDED
@@ -0,0 +1,59 @@
1
+ /* https://tailwindcss.com/docs/dark-mode#using-a-data-attribute */
2
+ @custom-variant dark (&:where([data-theme=dark], [data-theme=dark] *));
3
+
4
+ @theme {
5
+ /* PRIMARY (blue) */
6
+ --color-primary-foreground: var(--color-blue-600);
7
+ --color-primary-background: var(--color-blue-50);
8
+
9
+ /* SECONDARY (zinc) */
10
+ --color-secondary-foreground: var(--color-zinc-800);
11
+ --color-secondary-background: var(--color-zinc-100);
12
+
13
+ /* SUCCESS (emerald) */
14
+ --color-success-foreground: var(--color-emerald-600);
15
+ --color-success-background: var(--color-emerald-50);
16
+
17
+ /* WARNING (amber) */
18
+ --color-warning-foreground: var(--color-amber-700);
19
+ --color-warning-background: var(--color-amber-50);
20
+
21
+ /* DANGER (red) */
22
+ --color-danger-foreground: var(--color-red-600);
23
+ --color-danger-background: var(--color-red-50);
24
+
25
+ /* INFO (sky) */
26
+ --color-info-foreground: var(--color-sky-600);
27
+ --color-info-background: var(--color-sky-50);
28
+ }
29
+
30
+ @layer theme {
31
+ * {
32
+ @variant dark {
33
+ /* PRIMARY (blue) */
34
+ --color-primary-foreground: var(--color-blue-200);
35
+ --color-primary-background: var(--color-blue-900);
36
+
37
+ /* SECONDARY (zinc) */
38
+ --color-secondary-foreground: var(--color-zinc-200);
39
+ --color-secondary-background: var(--color-zinc-900);
40
+
41
+ /* SUCCESS (emerald) */
42
+ --color-success-foreground: var(--color-emerald-200);
43
+ --color-success-background: var(--color-emerald-900);
44
+
45
+ /* WARNING (amber) */
46
+ --color-warning-foreground: var(--color-amber-200);
47
+ --color-warning-background: var(--color-amber-900);
48
+
49
+ /* DANGER (red) */
50
+ --color-danger-foreground: var(--color-red-200);
51
+ --color-danger-background: var(--color-red-900);
52
+
53
+ /* INFO (sky) */
54
+ --color-info-foreground: var(--color-sky-200);
55
+ --color-info-background: var(--color-sky-900);
56
+ }
57
+ }
58
+ }
59
+
package/dist/theme.js ADDED
File without changes
@@ -3,6 +3,11 @@ declare namespace JSX {
3
3
  type ElementType = (keyof IntrinsicElements & string) | FunctionComponent<any> | ClientComponent | FragmentComponent;
4
4
  interface IntrinsicElements {
5
5
  [key: string]: any;
6
+ a: {
7
+ href: "/page1" | "/page2" | `https://${string}`;
8
+ children?: RenkuNode | RenkuNode[];
9
+ class?: string | string[];
10
+ };
6
11
  }
7
12
  type Element<T extends ElementType = ElementType> = {
8
13
  type: T;
@@ -0,0 +1,23 @@
1
+ import { Signal } from "signal-polyfill";
2
+ import { RpcCompatible, RpcStub as RpcStub$1, RpcTarget as RpcTarget$1 } from "capnweb";
3
+
4
+ //#region src/reactivity/types.d.ts
5
+ type Loader<T> = {
6
+ status: "loading";
7
+ error: false;
8
+ data: null;
9
+ } | {
10
+ status: "success";
11
+ error: false;
12
+ data: T;
13
+ } | {
14
+ status: "error";
15
+ error: any;
16
+ data: null;
17
+ };
18
+ type Context<T> = {
19
+ set: (value: T) => void;
20
+ get: () => T;
21
+ };
22
+ //#endregion
23
+ export { RpcTarget$1 as a, RpcStub$1 as i, Loader as n, Signal as o, RpcCompatible as r, Context as t };
@@ -1,5 +1,5 @@
1
- import { n as AuthFn } from "./types-BStlw_FH.js";
2
- import { r as FunctionComponent } from "./types-BzglvZrW.js";
1
+ import { n as AuthFn } from "./types-BcEav58N.js";
2
+ import { r as FunctionComponent } from "./types-B4Ij4y1d.js";
3
3
 
4
4
  //#region src/router/types.d.ts
5
5
  type Path = `/${string}`;
package/dist/ui.d.ts CHANGED
@@ -1,27 +1,111 @@
1
- import { o as RenkuNode, r as FunctionComponent } from "./types-BzglvZrW.js";
2
- import { t as Signal } from "./signal-CqB2Ey1W.js";
1
+ import { r as FunctionComponent } from "./types-B4Ij4y1d.js";
3
2
 
4
- //#region src/ui/Button.d.ts
5
- interface ButtonProps {
6
- variant?: "primary" | "secondary" | "destructive";
7
- onClick?: () => void;
8
- disabled?: boolean;
9
- }
3
+ //#region src/ui/types.d.ts
4
+ type Size = "sm" | "md" | "lg";
5
+ type Variant = "solid" | "outline" | "soft" | "ghost";
6
+ type SemanticColor = "primary" | "secondary" | "info" | "success" | "warning" | "danger";
7
+ //#endregion
8
+ //#region src/ui/accordion/types.d.ts
9
+ type AccordionSize = Size;
10
+ type AccordionVariant = Variant;
11
+ type AccordionColor = SemanticColor;
12
+ type AccordionRootProps = {
13
+ size?: AccordionSize;
14
+ variant?: AccordionVariant;
15
+ color?: AccordionColor;
16
+ class?: string | string[];
17
+ multiple?: boolean;
18
+ } & Partial<Omit<HTMLDivElement, "children">>;
19
+ type AccordionItemProps = {
20
+ size?: AccordionSize;
21
+ variant?: AccordionVariant;
22
+ color?: AccordionColor;
23
+ class?: string | string[];
24
+ } & Partial<Omit<HTMLDivElement, "children">>;
25
+ type AccordionHeaderProps = {
26
+ size?: AccordionSize;
27
+ variant?: AccordionVariant;
28
+ color?: AccordionColor;
29
+ class?: string | string[];
30
+ } & Partial<Omit<HTMLDivElement, "children">>;
31
+ type AccordionPanelProps = {
32
+ size?: AccordionSize;
33
+ variant?: AccordionVariant;
34
+ color?: AccordionColor;
35
+ class?: string | string[];
36
+ } & Partial<Omit<HTMLDivElement, "children">>;
37
+ //#endregion
38
+ //#region src/ui/accordion/accordion.d.ts
39
+ declare const Accordion: {
40
+ Root: FunctionComponent<AccordionRootProps>;
41
+ Item: FunctionComponent<AccordionItemProps>;
42
+ Header: FunctionComponent<AccordionHeaderProps>;
43
+ Panel: FunctionComponent<AccordionPanelProps>;
44
+ };
45
+ //#endregion
46
+ //#region src/ui/badge/types.d.ts
47
+ type BadgeSize = Size;
48
+ type BadgeVariant = Variant;
49
+ type BadgeColor = SemanticColor;
50
+ type BadgeProps = {
51
+ size?: BadgeSize;
52
+ variant?: BadgeVariant;
53
+ color?: BadgeColor;
54
+ pill?: boolean;
55
+ class?: string | string[];
56
+ } & Partial<Omit<HTMLDivElement, "children">>;
57
+ //#endregion
58
+ //#region src/ui/badge/badge.d.ts
59
+ declare const Badge: FunctionComponent<BadgeProps>;
60
+ //#endregion
61
+ //#region src/ui/button/types.d.ts
62
+ type ButtonSize = Size;
63
+ type ButtonVariant = Variant;
64
+ type ButtonColor = SemanticColor;
65
+ type ButtonProps = {
66
+ size?: ButtonSize;
67
+ variant?: ButtonVariant;
68
+ color?: ButtonColor;
69
+ class?: string | string[];
70
+ } & Partial<Omit<HTMLButtonElement, "children">>;
71
+ //#endregion
72
+ //#region src/ui/button/button.d.ts
10
73
  declare const Button: FunctionComponent<ButtonProps>;
11
74
  //#endregion
12
- //#region src/ui/Input.d.ts
75
+ //#region src/ui/input/types.d.ts
76
+ type InputSize = Size;
77
+ type InputVariant = Variant;
78
+ type InputColor = SemanticColor;
13
79
  type InputProps = {
14
- id?: string;
15
- value: Signal.State<string>;
16
- type?: "text" | "email";
17
- disabled?: boolean;
18
- };
80
+ size?: InputSize;
81
+ variant?: InputVariant;
82
+ color?: InputColor;
83
+ class?: string | string[];
84
+ } & Partial<Omit<HTMLInputElement, "children">>;
85
+ //#endregion
86
+ //#region src/ui/input/input.d.ts
19
87
  declare const Input: FunctionComponent<InputProps>;
20
88
  //#endregion
21
- //#region src/ui/Form.d.ts
22
- declare const Form: FunctionComponent<{
23
- action: string;
24
- children: RenkuNode;
25
- }>;
89
+ //#region src/ui/textarea/types.d.ts
90
+ type TextareaSize = Size;
91
+ type TextareaVariant = Variant;
92
+ type TextareaColor = SemanticColor;
93
+ type TextareaProps = {
94
+ size?: TextareaSize;
95
+ variant?: TextareaVariant;
96
+ color?: TextareaColor;
97
+ class?: string | string[];
98
+ } & Partial<Omit<HTMLTextAreaElement, "children">>;
99
+ //#endregion
100
+ //#region src/ui/textarea/textarea.d.ts
101
+ declare const Textarea: FunctionComponent<TextareaProps>;
102
+ //#endregion
103
+ //#region src/ui/form/types.d.ts
104
+ type FormProps = {
105
+ class?: string | string[];
106
+ } & Partial<Omit<HTMLFormElement, "children">>;
107
+ //#endregion
108
+ //#region src/ui/form/form.d.ts
109
+ declare const Form: FunctionComponent<FormProps>;
26
110
  //#endregion
27
- export { Button, Form, Input };
111
+ export { Accordion, AccordionColor, AccordionHeaderProps, AccordionItemProps, AccordionPanelProps, AccordionRootProps, AccordionSize, AccordionVariant, Badge, BadgeColor, BadgeProps, BadgeSize, BadgeVariant, Button, ButtonColor, ButtonProps, ButtonSize, ButtonVariant, Form, FormProps, Input, InputColor, InputProps, InputSize, InputVariant, SemanticColor, Size, Textarea, TextareaColor, TextareaProps, TextareaSize, TextareaVariant, Variant };
package/dist/ui.js CHANGED
@@ -1 +1 @@
1
- import"./fragment-Chv9FEhP.js";import{n as e}from"./jsx-runtime-DvEc5zft.js";const t=({children:t,variant:n,onClick:r,disabled:i})=>{let a=`bg-primary`,o=`hover:bg-primary/90`,s=`text-primary-foreground`;switch(n){case`secondary`:a=`bg-secondary`,o=`hover:bg-secondary/80`,s=`text-secondary-foreground`;break;case`destructive`:a=`bg-destructive`,o=`hover:bg-destructive/90`,s=`text-primary-foreground`;break}return e(`button`,{type:`submit`,class:[`inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 shadow h-9 px-4 py-2`,a,s,o],onclick:r,disabled:i,children:t})},n=({id:t,value:n,type:r=`text`,disabled:i})=>e(`input`,{id:t,value:n,type:r,class:[`inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 shadow h-9 px-4 py-2`],disabled:i,onchange:e=>n.set(e.target.value)}),r=({action:t,children:n})=>e(`form`,{method:`post`,action:t,onsubmit:async e=>{e.preventDefault();let t=e.target;if(!(t instanceof HTMLFormElement))return!1;let n=new FormData(t),r=await fetch(t.action,{method:`POST`,body:n});console.log(`res`,r)},children:n});export{t as Button,r as Form,n as Input};
1
+ import"./signal-store-0zk-69gB.js";import{n as e,t}from"./create-computed-CgSmvZ_e.js";import{n}from"./jsx-runtime-BhjWaNaK.js";import{t as r}from"./create-context-OCBKqRIM.js";const i=r(),a=({children:e})=>{let{isOpen:t,toggle:r}=i.get();return n(`button`,{onclick:r,class:[t.get()?`text-green-500`:`text-red-500`],children:e})},o=r(),s={Root:({children:t,multiple:r=!1})=>{let i=e(null);return o.set({openPanel:i,multiple:r}),n(`div`,{class:[`flex flex-col`],children:t})},Item:({children:r})=>{let a=Symbol(`AccordionItem`),{openPanel:s,multiple:c}=o.get(),l=e(!1),u=t(()=>c?l.get():a===s.get());return i.set({isOpen:u,toggle:()=>{l.set(!l.get()),s.set(a)}}),n(`div`,{class:[`flex flex-col`],children:r})},Header:a,Panel:({children:e})=>{let{isOpen:t}=i.get();return n(`div`,{class:[t.get()?`block`:`hidden`],children:e})}},c={primary:{solid:`border border-primary-foreground bg-primary-foreground text-primary-background transition-colors hover:opacity-90 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary-foreground disabled:pointer-events-none disabled:opacity-50`,outline:`border border-primary-foreground bg-transparent text-primary-foreground transition-colors hover:bg-primary-background focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary-foreground disabled:pointer-events-none disabled:opacity-50`,soft:`border border-transparent bg-primary-background text-primary-foreground transition-colors hover:opacity-90 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary-foreground disabled:pointer-events-none disabled:opacity-50`,ghost:`border border-transparent bg-transparent text-primary-foreground transition-colors hover:bg-primary-background focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary-foreground disabled:pointer-events-none disabled:opacity-50`},secondary:{solid:`border border-secondary-foreground bg-secondary-foreground text-secondary-background transition-colors hover:opacity-90 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-secondary-foreground disabled:pointer-events-none disabled:opacity-50`,outline:`border border-secondary-foreground bg-transparent text-secondary-foreground transition-colors hover:bg-secondary-background focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-secondary-foreground disabled:pointer-events-none disabled:opacity-50`,soft:`border border-transparent bg-secondary-background text-secondary-foreground transition-colors hover:opacity-90 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-secondary-foreground disabled:pointer-events-none disabled:opacity-50`,ghost:`border border-transparent bg-transparent text-secondary-foreground transition-colors hover:bg-secondary-background focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-secondary-foreground disabled:pointer-events-none disabled:opacity-50`},info:{solid:`border border-info-foreground bg-info-foreground text-info-background transition-colors hover:opacity-90 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-info-foreground disabled:pointer-events-none disabled:opacity-50`,outline:`border border-info-foreground bg-transparent text-info-foreground transition-colors hover:bg-info-background focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-info-foreground disabled:pointer-events-none disabled:opacity-50`,soft:`border border-transparent bg-info-background text-info-foreground transition-colors hover:opacity-90 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-info-foreground disabled:pointer-events-none disabled:opacity-50`,ghost:`border border-transparent bg-transparent text-info-foreground transition-colors hover:bg-info-background focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-info-foreground disabled:pointer-events-none disabled:opacity-50`},success:{solid:`border border-success-foreground bg-success-foreground text-success-background transition-colors hover:opacity-90 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-success-foreground disabled:pointer-events-none disabled:opacity-50`,outline:`border border-success-foreground bg-transparent text-success-foreground transition-colors hover:bg-success-background focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-success-foreground disabled:pointer-events-none disabled:opacity-50`,soft:`border border-transparent bg-success-background text-success-foreground transition-colors hover:opacity-90 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-success-foreground disabled:pointer-events-none disabled:opacity-50`,ghost:`border border-transparent bg-transparent text-success-foreground transition-colors hover:bg-success-background focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-success-foreground disabled:pointer-events-none disabled:opacity-50`},warning:{solid:`border border-warning-foreground bg-warning-foreground text-warning-background transition-colors hover:opacity-90 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-warning-foreground disabled:pointer-events-none disabled:opacity-50`,outline:`border border-warning-foreground bg-transparent text-warning-foreground transition-colors hover:bg-warning-background focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-warning-foreground disabled:pointer-events-none disabled:opacity-50`,soft:`border border-transparent bg-warning-background text-warning-foreground transition-colors hover:opacity-90 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-warning-foreground disabled:pointer-events-none disabled:opacity-50`,ghost:`border border-transparent bg-transparent text-warning-foreground transition-colors hover:bg-warning-background focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-warning-foreground disabled:pointer-events-none disabled:opacity-50`},danger:{solid:`border border-danger-foreground bg-danger-foreground text-danger-background transition-colors hover:opacity-90 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-danger-foreground disabled:pointer-events-none disabled:opacity-50`,outline:`border border-danger-foreground bg-transparent text-danger-foreground transition-colors hover:bg-danger-background focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-danger-foreground disabled:pointer-events-none disabled:opacity-50`,soft:`border border-transparent bg-danger-background text-danger-foreground transition-colors hover:opacity-90 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-danger-foreground disabled:pointer-events-none disabled:opacity-50`,ghost:`border border-transparent bg-transparent text-danger-foreground transition-colors hover:bg-danger-background focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-danger-foreground disabled:pointer-events-none disabled:opacity-50`}},l={sm:`px-3 py-1.5 text-sm font-medium rounded`,md:`px-4 py-2 text-base font-medium rounded-md`,lg:`px-6 py-3 text-lg font-medium rounded-lg`},u=({size:e=`md`,variant:t=`solid`,color:r=`primary`,pill:i=!1,children:a})=>{let o=c[r][t],s=l[e];return n(`span`,{class:[`inline-flex items-center gap-1 font-medium`,`align-middle leading-none`,s,o,i?`rounded-full`:`rounded-md`],children:a})},d={primary:{solid:`border border-primary-foreground bg-primary-foreground text-primary-background transition-colors hover:opacity-90 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary-foreground disabled:pointer-events-none disabled:opacity-50`,outline:`border border-primary-foreground bg-transparent text-primary-foreground transition-colors hover:bg-primary-background focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary-foreground disabled:pointer-events-none disabled:opacity-50`,soft:`border border-transparent bg-primary-background text-primary-foreground transition-colors hover:opacity-90 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary-foreground disabled:pointer-events-none disabled:opacity-50`,ghost:`border border-transparent bg-transparent text-primary-foreground transition-colors hover:bg-primary-background focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary-foreground disabled:pointer-events-none disabled:opacity-50`},secondary:{solid:`border border-secondary-foreground bg-secondary-foreground text-secondary-background transition-colors hover:opacity-90 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-secondary-foreground disabled:pointer-events-none disabled:opacity-50`,outline:`border border-secondary-foreground bg-transparent text-secondary-foreground transition-colors hover:bg-secondary-background focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-secondary-foreground disabled:pointer-events-none disabled:opacity-50`,soft:`border border-transparent bg-secondary-background text-secondary-foreground transition-colors hover:opacity-90 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-secondary-foreground disabled:pointer-events-none disabled:opacity-50`,ghost:`border border-transparent bg-transparent text-secondary-foreground transition-colors hover:bg-secondary-background focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-secondary-foreground disabled:pointer-events-none disabled:opacity-50`},info:{solid:`border border-info-foreground bg-info-foreground text-info-background transition-colors hover:opacity-90 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-info-foreground disabled:pointer-events-none disabled:opacity-50`,outline:`border border-info-foreground bg-transparent text-info-foreground transition-colors hover:bg-info-background focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-info-foreground disabled:pointer-events-none disabled:opacity-50`,soft:`border border-transparent bg-info-background text-info-foreground transition-colors hover:opacity-90 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-info-foreground disabled:pointer-events-none disabled:opacity-50`,ghost:`border border-transparent bg-transparent text-info-foreground transition-colors hover:bg-info-background focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-info-foreground disabled:pointer-events-none disabled:opacity-50`},success:{solid:`border border-success-foreground bg-success-foreground text-success-background transition-colors hover:opacity-90 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-success-foreground disabled:pointer-events-none disabled:opacity-50`,outline:`border border-success-foreground bg-transparent text-success-foreground transition-colors hover:bg-success-background focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-success-foreground disabled:pointer-events-none disabled:opacity-50`,soft:`border border-transparent bg-success-background text-success-foreground transition-colors hover:opacity-90 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-success-foreground disabled:pointer-events-none disabled:opacity-50`,ghost:`border border-transparent bg-transparent text-success-foreground transition-colors hover:bg-success-background focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-success-foreground disabled:pointer-events-none disabled:opacity-50`},warning:{solid:`border border-warning-foreground bg-warning-foreground text-warning-background transition-colors hover:opacity-90 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-warning-foreground disabled:pointer-events-none disabled:opacity-50`,outline:`border border-warning-foreground bg-transparent text-warning-foreground transition-colors hover:bg-warning-background focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-warning-foreground disabled:pointer-events-none disabled:opacity-50`,soft:`border border-transparent bg-warning-background text-warning-foreground transition-colors hover:opacity-90 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-warning-foreground disabled:pointer-events-none disabled:opacity-50`,ghost:`border border-transparent bg-transparent text-warning-foreground transition-colors hover:bg-warning-background focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-warning-foreground disabled:pointer-events-none disabled:opacity-50`},danger:{solid:`border border-danger-foreground bg-danger-foreground text-danger-background transition-colors hover:opacity-90 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-danger-foreground disabled:pointer-events-none disabled:opacity-50`,outline:`border border-danger-foreground bg-transparent text-danger-foreground transition-colors hover:bg-danger-background focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-danger-foreground disabled:pointer-events-none disabled:opacity-50`,soft:`border border-transparent bg-danger-background text-danger-foreground transition-colors hover:opacity-90 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-danger-foreground disabled:pointer-events-none disabled:opacity-50`,ghost:`border border-transparent bg-transparent text-danger-foreground transition-colors hover:bg-danger-background focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-danger-foreground disabled:pointer-events-none disabled:opacity-50`}},f={sm:`px-3 py-1.5 text-sm font-medium rounded`,md:`px-4 py-2 text-base font-medium rounded-md`,lg:`px-6 py-3 text-lg font-medium rounded-lg`},p=({color:e=`primary`,size:t=`md`,variant:r=`solid`,children:i,...a})=>{let o=d[e][r],s=f[t];return n(`button`,{class:[`inline-flex items-center justify-center font-medium transition-colors focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50`,s,o],...a,children:i})},m={primary:{solid:`border border-primary-foreground bg-primary-foreground text-primary-background transition-colors hover:opacity-90 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary-foreground disabled:pointer-events-none disabled:opacity-50`,outline:`border border-primary-foreground bg-transparent text-primary-foreground transition-colors hover:bg-primary-background focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary-foreground disabled:pointer-events-none disabled:opacity-50`,soft:`border border-transparent bg-primary-background text-primary-foreground transition-colors hover:opacity-90 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary-foreground disabled:pointer-events-none disabled:opacity-50`,ghost:`border border-transparent bg-transparent text-primary-foreground transition-colors hover:bg-primary-background focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary-foreground disabled:pointer-events-none disabled:opacity-50`},secondary:{solid:`border border-secondary-foreground bg-secondary-foreground text-secondary-background transition-colors hover:opacity-90 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-secondary-foreground disabled:pointer-events-none disabled:opacity-50`,outline:`border border-secondary-foreground bg-transparent text-secondary-foreground transition-colors hover:bg-secondary-background focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-secondary-foreground disabled:pointer-events-none disabled:opacity-50`,soft:`border border-transparent bg-secondary-background text-secondary-foreground transition-colors hover:opacity-90 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-secondary-foreground disabled:pointer-events-none disabled:opacity-50`,ghost:`border border-transparent bg-transparent text-secondary-foreground transition-colors hover:bg-secondary-background focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-secondary-foreground disabled:pointer-events-none disabled:opacity-50`},info:{solid:`border border-info-foreground bg-info-foreground text-info-background transition-colors hover:opacity-90 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-info-foreground disabled:pointer-events-none disabled:opacity-50`,outline:`border border-info-foreground bg-transparent text-info-foreground transition-colors hover:bg-info-background focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-info-foreground disabled:pointer-events-none disabled:opacity-50`,soft:`border border-transparent bg-info-background text-info-foreground transition-colors hover:opacity-90 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-info-foreground disabled:pointer-events-none disabled:opacity-50`,ghost:`border border-transparent bg-transparent text-info-foreground transition-colors hover:bg-info-background focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-info-foreground disabled:pointer-events-none disabled:opacity-50`},success:{solid:`border border-success-foreground bg-success-foreground text-success-background transition-colors hover:opacity-90 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-success-foreground disabled:pointer-events-none disabled:opacity-50`,outline:`border border-success-foreground bg-transparent text-success-foreground transition-colors hover:bg-success-background focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-success-foreground disabled:pointer-events-none disabled:opacity-50`,soft:`border border-transparent bg-success-background text-success-foreground transition-colors hover:opacity-90 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-success-foreground disabled:pointer-events-none disabled:opacity-50`,ghost:`border border-transparent bg-transparent text-success-foreground transition-colors hover:bg-success-background focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-success-foreground disabled:pointer-events-none disabled:opacity-50`},warning:{solid:`border border-warning-foreground bg-warning-foreground text-warning-background transition-colors hover:opacity-90 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-warning-foreground disabled:pointer-events-none disabled:opacity-50`,outline:`border border-warning-foreground bg-transparent text-warning-foreground transition-colors hover:bg-warning-background focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-warning-foreground disabled:pointer-events-none disabled:opacity-50`,soft:`border border-transparent bg-warning-background text-warning-foreground transition-colors hover:opacity-90 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-warning-foreground disabled:pointer-events-none disabled:opacity-50`,ghost:`border border-transparent bg-transparent text-warning-foreground transition-colors hover:bg-warning-background focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-warning-foreground disabled:pointer-events-none disabled:opacity-50`},danger:{solid:`border border-danger-foreground bg-danger-foreground text-danger-background transition-colors hover:opacity-90 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-danger-foreground disabled:pointer-events-none disabled:opacity-50`,outline:`border border-danger-foreground bg-transparent text-danger-foreground transition-colors hover:bg-danger-background focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-danger-foreground disabled:pointer-events-none disabled:opacity-50`,soft:`border border-transparent bg-danger-background text-danger-foreground transition-colors hover:opacity-90 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-danger-foreground disabled:pointer-events-none disabled:opacity-50`,ghost:`border border-transparent bg-transparent text-danger-foreground transition-colors hover:bg-danger-background focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-danger-foreground disabled:pointer-events-none disabled:opacity-50`}},h={sm:`px-3 py-1.5 text-sm font-medium rounded`,md:`px-4 py-2 text-base font-medium rounded-md`,lg:`px-6 py-3 text-lg font-medium rounded-lg`},g=({size:e=`md`,variant:t=`solid`,color:r=`primary`,...i})=>{let a=m[r][t],o=h[e];return n(`input`,{class:[`inline-flex items-center gap-1 font-medium`,`align-middle leading-none`,o,a],...i})},_={primary:{solid:`border border-primary-foreground bg-primary-foreground text-primary-background transition-colors hover:opacity-90 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary-foreground disabled:pointer-events-none disabled:opacity-50`,outline:`border border-primary-foreground bg-transparent text-primary-foreground transition-colors hover:bg-primary-background focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary-foreground disabled:pointer-events-none disabled:opacity-50`,soft:`border border-transparent bg-primary-background text-primary-foreground transition-colors hover:opacity-90 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary-foreground disabled:pointer-events-none disabled:opacity-50`,ghost:`border border-transparent bg-transparent text-primary-foreground transition-colors hover:bg-primary-background focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary-foreground disabled:pointer-events-none disabled:opacity-50`},secondary:{solid:`border border-secondary-foreground bg-secondary-foreground text-secondary-background transition-colors hover:opacity-90 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-secondary-foreground disabled:pointer-events-none disabled:opacity-50`,outline:`border border-secondary-foreground bg-transparent text-secondary-foreground transition-colors hover:bg-secondary-background focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-secondary-foreground disabled:pointer-events-none disabled:opacity-50`,soft:`border border-transparent bg-secondary-background text-secondary-foreground transition-colors hover:opacity-90 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-secondary-foreground disabled:pointer-events-none disabled:opacity-50`,ghost:`border border-transparent bg-transparent text-secondary-foreground transition-colors hover:bg-secondary-background focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-secondary-foreground disabled:pointer-events-none disabled:opacity-50`},info:{solid:`border border-info-foreground bg-info-foreground text-info-background transition-colors hover:opacity-90 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-info-foreground disabled:pointer-events-none disabled:opacity-50`,outline:`border border-info-foreground bg-transparent text-info-foreground transition-colors hover:bg-info-background focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-info-foreground disabled:pointer-events-none disabled:opacity-50`,soft:`border border-transparent bg-info-background text-info-foreground transition-colors hover:opacity-90 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-info-foreground disabled:pointer-events-none disabled:opacity-50`,ghost:`border border-transparent bg-transparent text-info-foreground transition-colors hover:bg-info-background focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-info-foreground disabled:pointer-events-none disabled:opacity-50`},success:{solid:`border border-success-foreground bg-success-foreground text-success-background transition-colors hover:opacity-90 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-success-foreground disabled:pointer-events-none disabled:opacity-50`,outline:`border border-success-foreground bg-transparent text-success-foreground transition-colors hover:bg-success-background focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-success-foreground disabled:pointer-events-none disabled:opacity-50`,soft:`border border-transparent bg-success-background text-success-foreground transition-colors hover:opacity-90 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-success-foreground disabled:pointer-events-none disabled:opacity-50`,ghost:`border border-transparent bg-transparent text-success-foreground transition-colors hover:bg-success-background focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-success-foreground disabled:pointer-events-none disabled:opacity-50`},warning:{solid:`border border-warning-foreground bg-warning-foreground text-warning-background transition-colors hover:opacity-90 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-warning-foreground disabled:pointer-events-none disabled:opacity-50`,outline:`border border-warning-foreground bg-transparent text-warning-foreground transition-colors hover:bg-warning-background focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-warning-foreground disabled:pointer-events-none disabled:opacity-50`,soft:`border border-transparent bg-warning-background text-warning-foreground transition-colors hover:opacity-90 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-warning-foreground disabled:pointer-events-none disabled:opacity-50`,ghost:`border border-transparent bg-transparent text-warning-foreground transition-colors hover:bg-warning-background focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-warning-foreground disabled:pointer-events-none disabled:opacity-50`},danger:{solid:`border border-danger-foreground bg-danger-foreground text-danger-background transition-colors hover:opacity-90 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-danger-foreground disabled:pointer-events-none disabled:opacity-50`,outline:`border border-danger-foreground bg-transparent text-danger-foreground transition-colors hover:bg-danger-background focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-danger-foreground disabled:pointer-events-none disabled:opacity-50`,soft:`border border-transparent bg-danger-background text-danger-foreground transition-colors hover:opacity-90 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-danger-foreground disabled:pointer-events-none disabled:opacity-50`,ghost:`border border-transparent bg-transparent text-danger-foreground transition-colors hover:bg-danger-background focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-danger-foreground disabled:pointer-events-none disabled:opacity-50`}},v={sm:`px-3 py-1.5 text-sm font-medium rounded`,md:`px-4 py-2 text-base font-medium rounded-md`,lg:`px-6 py-3 text-lg font-medium rounded-lg`},y=({size:e=`md`,variant:t=`solid`,color:r=`primary`,...i})=>{let a=_[r][t],o=v[e];return n(`textarea`,{class:[`inline-flex items-center gap-1 font-medium`,`align-middle leading-none`,o,a],...i})},b=({class:e,children:t,...r})=>n(`form`,{class:[`inline-flex items-center gap-1 font-medium`,`align-middle leading-none`,e],...r,children:t});export{s as Accordion,u as Badge,p as Button,b as Form,g as Input,y as Textarea};
@@ -0,0 +1 @@
1
+ import{t as e}from"./virtual-from-jsx-kd8FG7Em.js";import{n as t}from"./signal-store-0zk-69gB.js";import{t as n}from"./effect-Bd9_A9t9.js";function r({domNode:e,virtualNode:t,replace:n=!1}){let r=[];for(let i of t){let t=a({domNode:e,virtualNode:i,replace:n});n=!1,r.push(t)}return r}const i=({element:e,key:r,val:i})=>{typeof i==`function`?r.startsWith(`on`)&&e.addEventListener(r.slice(2),i):typeof i==`string`||typeof i==`number`?(r===`className`&&(r=`class`),e.setAttribute(r,String(i))):i instanceof t.State||i instanceof t.Computed?n(()=>{e.setAttribute(r,String(i.get()))}):Array.isArray(i)?n(()=>{let n=i.map(e=>e instanceof t.State||e instanceof t.Computed?String(e.get()):String(e)).join(` `);e.setAttribute(r,n)}):typeof i==`boolean`&&(i?e.setAttribute(r,``):e.removeAttribute(r))};function a({domNode:t,virtualNode:s,replace:c=!1}){if(!s)return null;let l=[`svg`,`path`,`circle`];if(s.type===`element`){let e=l.includes(s.value)?document.createElementNS(`http://www.w3.org/2000/svg`,s.value):document.createElement(s.value);if(s.domNode=e,s.props.ref){let e=s.props.ref;console.log(`has ref`,e.get()),e.set(s.domNode),console.log(`assigned ref`,s.domNode),console.log(`has ref`,e.get())}for(let[t,n]of Object.entries(s.props))t!==`children`&&t!==`key`&&t!==`ref`&&i({element:e,key:t,val:n});if(s.children)for(let t of s.children)a({domNode:e,virtualNode:t});return t===document.documentElement?document.documentElement.replaceWith(e):c&&t.parentElement?t.parentElement.replaceChild(e,t):t.appendChild(e),e}if(s.type===`async`){let n=document.createElement(`template`);return s.domNode=n,t.appendChild(n),s.promise?.then(t=>{let i=e({node:t});Array.isArray(i)?r({domNode:n,virtualNode:i,replace:!0}):a({domNode:n,virtualNode:i,replace:!0})}),n}if(s.type===`text`){let e=document.createTextNode(s.value);return s.domNode=e,t.appendChild(e),e}if(s.type===`signal`){let e=s.value,r=document.createTextNode(``);return s.domNode=r,n(()=>{r.textContent=String(e.get())}),t.appendChild(r),r}if(s.type===`effect`){let e=s.value,n=null,r=null,i=e=>{Array.isArray(e)?console.warn(`EFFECT virtual node is array`):n?(n=o({domNode:n,newVirtualNode:e,oldVirtualNode:r}),r=e):(n=a({domNode:t,virtualNode:e,replace:c}),r=e,e=null)};s.addCallback(i),i(e)}return null}const o=({domNode:e,newVirtualNode:t,oldVirtualNode:n})=>{if(t&&n)if(t.type===n.type)if(t.type===`element`&&n.type===`element`)if(t.value===n.value){let r=e,s=n.props?Object.keys(n.props).filter(e=>!(e in t.props)):[];s.length&&s.map(e=>r.removeAttribute(e));for(let[e,a]of Object.entries(t.props))if(e!==`children`&&e!==`key`)if(n.props&&e in n.props){let t=n.props[e];typeof a==`function`||(Array.isArray(a)&&Array.isArray(t)?JSON.stringify(a)!==JSON.stringify(t)&&i({element:r,key:e,val:a}):n.props[e]!==a&&i({element:r,key:e,val:a}))}else i({element:r,key:e,val:a});if(t.children.length){let e=0;for(let i=0;i<t.children.length;i++){let s=t.children[i];if(s){let t=n.children?n.children[i-e]:void 0;if(t?.domNode)if(s.key===t.key)s.domNode=t.domNode,o({domNode:t.domNode,newVirtualNode:s,oldVirtualNode:t});else{let i=n.children.findIndex(e=>e?.key===s.key),a=i>-1?n.children[i]:null;a?.domNode&&(r.moveBefore(a.domNode,t.domNode),s.domNode=a.domNode,e++,o({domNode:a.domNode,newVirtualNode:s,oldVirtualNode:a}),n.children.splice(i,1))}else s.type!==`effect`&&a({domNode:r,virtualNode:s});n.children[i-e]=null}}if(n.children.length+e>t.children.length)for(let i=t.children.length;i<n.children.length+e;i++){let t=n.children[i-e]?.domNode;t&&r.removeChild(t)}}else n.children?.length&&r.replaceChildren()}else console.log(`Different node types`),n.domNode&&a({domNode:n.domNode,virtualNode:t,replace:!0});else t.type===`text`&&n.type===`text`&&t.value!==n.value&&(t.domNode=n.domNode,t.domNode.nodeValue=t.value);else console.warn(`Different node types`),n.domNode&&a({domNode:n.domNode,virtualNode:t,replace:!0});else console.warn(`Old or new node is null`);return e};export{a as n,r,o as t};
@@ -0,0 +1 @@
1
+ import{n as e,t}from"./signal-store-0zk-69gB.js";import{t as n}from"./context-store-BpRmbHKI.js";import{t as r}from"./effect-Bd9_A9t9.js";const i=e=>!Array.isArray(e)&&typeof e==`object`&&!!e&&typeof e.type==`function`&&e.type.name===`Fragment`,a=({node:e,asyncComponents:t=[],clientComponents:n=[]})=>{let r=[];if(Array.isArray(e))for(let i of e)r.push(...a({node:i,asyncComponents:t,clientComponents:n}));else if(e)if(i(e)){let i=e.type(e.props);r.push(...a({node:i,asyncComponents:t,clientComponents:n}))}else{let i=s({node:e,asyncComponents:t,clientComponents:n});Array.isArray(i)?r.push(...i):r.push(i)}return r},o=({fn:e,key:i,props:a,asyncComponents:o,clientComponents:c})=>{let l=null,u=null,d=e=>{l=e,u&&u(e)},f=[],p=n.current,m=p?new Map(p):new Map;return r(()=>{t.set(f),n.current=m;let r=e(a);if(r instanceof Promise){let e=c.length+o.length+1;o.push(new Promise(t=>{r.then(n=>{t({index:e,node:n})})})),d({type:`async`,key:i,promise:r,index:e})}else d(s({node:r,asyncComponents:o,clientComponents:c}))}),{type:`effect`,value:l,addCallback:e=>{u=e}}},s=({node:t,asyncComponents:n=[],clientComponents:r=[]})=>{if(Array.isArray(t))return a({node:t,asyncComponents:n,clientComponents:r});if(t===null)return null;if(typeof t==`string`||typeof t==`number`)return{type:`text`,value:String(t)};if(t instanceof e.Computed||t instanceof e.State)return{type:`signal`,value:t};if(typeof t==`object`&&typeof t.type==`function`&&!i(t)&&typeof t.type==`function`)return o({fn:t.type,key:t.key,props:t.props,asyncComponents:n,clientComponents:r});if(typeof t==`object`&&typeof t.type==`object`&&t.type.type===`client`)return r.push({path:t.type.path,name:t.type.name}),{type:`client`,key:t.key,props:t.props,path:t.type.path,name:t.type.name};if(typeof t==`object`&&typeof t.type==`string`){let e=a({node:t.props.children,asyncComponents:n,clientComponents:r});return{type:`element`,key:t.key,value:t.type,props:t.props,children:e}}return console.warn(`Unhandled node type`,t),null};export{o as n,s as t};
package/dist/vite.js CHANGED
@@ -4,4 +4,4 @@ import e from"node:fs";import t from"node:path";const n=new TextEncoder,r=async
4
4
  "${c||r}",
5
5
  "${e}"
6
6
  );\n`);return{code:s}}else if(e.startsWith(`"use server"`)){let t=l(e),n=`import { registerServerFunction } from "renku";
7
- `,o=a?i:await r(i);s.set(o,i);for(let e of t)c&&(n=n.concat(`export const ${e} = await registerServerFunction("${o}", "${e}");\n`));return c?{code:n}:void 0}},async buildStart(){if(n.mode===`production`){if(this.environment.name===`client`)for(let e of o)this.emitFile({type:`chunk`,id:e,preserveSignature:`exports-only`});else if(this.environment.name===`ssr`)for(let[e,n]of s){let r=t.join(`functions`,e);this.emitFile({type:`chunk`,id:n,name:r})}}},generateBundle(e,r){if(this.environment.name===`ssr`){for(let[e,i]of Object.entries(r))if(i.type===`asset`){let e=t.resolve(n.root,this.environment.config.build.outDir,i.fileName);c.add(e)}}else if(this.environment.name===`client`){for(let[e,i]of Object.entries(r))if(i.type===`chunk`&&i.isEntry&&((i.name===`main`||l===null)&&(l=n.base.concat(i.fileName)),i.facadeModuleId)){let e=n.base.concat(t.relative(n.root,i.facadeModuleId));o.has(e)&&u.set(e,n.base.concat(i.fileName))}}},config(){return{builder:{buildApp:async n=>{let r=[`ssr`,`client`,`ssr`],i=!1;for(let e of r)if(e in n.environments&&n.environments[e]){let t=n.environments[e];t.config.build.write=i,await n.build(t),i=!0}for(let n of c){let r=n.replace(`/ssr/`,`/client/`);console.log(`Moving asset from`,n,`to`,r);let i=t.dirname(r);e.mkdirSync(i,{recursive:!0}),e.renameSync(n,r)}}},build:{manifest:!0},resolve:{alias:{"/@renku/client":import.meta.resolve(`renku/client`)}},environments:{client:{build:{rollupOptions:{input:{main:`renku/client`}}}}}}}}}export{o as default};
7
+ `,o=a?i:await r(i);s.set(o,i);for(let e of t)c&&(n=n.concat(`export const ${e} = await registerServerFunction("${o}", "${e}");\n`));return c?{code:n}:void 0}},async buildStart(){if(n.mode===`production`){if(this.environment.name===`client`)for(let e of o)this.emitFile({type:`chunk`,id:e,preserveSignature:`exports-only`});else if(this.environment.name===`ssr`)for(let[e,n]of s){let r=t.join(`functions`,e);this.emitFile({type:`chunk`,id:n,name:r})}}},generateBundle(e,r){if(this.environment.name===`ssr`){for(let[e,i]of Object.entries(r))if(i.type===`asset`){let e=t.resolve(n.root,this.environment.config.build.outDir,i.fileName);c.add(e)}}else if(this.environment.name===`client`){for(let[e,i]of Object.entries(r))if(i.type===`chunk`&&i.isEntry&&((i.name===`main`||l===null)&&(l=n.base.concat(i.fileName)),i.facadeModuleId)){let e=n.base.concat(t.relative(n.root,i.facadeModuleId));o.has(e)&&u.set(e,n.base.concat(i.fileName))}}},config(){return{builder:{buildApp:async n=>{let r=[`ssr`,`client`,`ssr`],i=!1;for(let e of r)if(e in n.environments&&n.environments[e]){let t=n.environments[e];t.config.build.write=i,await n.build(t),i=!0}for(let n of c){let r=n.replace(`/ssr/`,`/client/`);console.log(`Moving asset from`,n,`to`,r);let i=t.dirname(r);e.mkdirSync(i,{recursive:!0}),e.renameSync(n,r)}}},build:{manifest:!0,rollupOptions:{output:{chunkFileNames:e=>e.name?.startsWith(`functions/`)?`assets/[name].js`:`assets/[name]-[hash].js`}}},resolve:{alias:{"/@renku/client":import.meta.resolve(`renku/client`)}},environments:{client:{build:{rollupOptions:{input:{main:`renku/client`}}}}}}}}}export{o as default};
package/package.json CHANGED
@@ -1,45 +1,38 @@
1
1
  {
2
2
  "name": "renku",
3
- "description": "Renku",
4
- "version": "0.0.2",
5
- "type": "module",
3
+ "version": "0.0.6",
6
4
  "private": false,
7
- "files": [
8
- "dist",
9
- "package.json",
10
- "README.md"
11
- ],
12
- "scripts": {
13
- "dev": "tsdown --watch",
14
- "lint": "oxlint",
15
- "tsc": "tsc",
16
- "build": "PREVIEW=true tsdown",
17
- "pub": "bun run build && bun publish",
18
- "generate-types": "wrangler -c src/cloudflare/wrangler.jsonc types src/cloudflare/worker-configuration.d.ts"
5
+ "description": "Renku",
6
+ "homepage": "https://renku.dev",
7
+ "bugs": {
8
+ "url": "https://github.com/renkudev/renku/issues"
19
9
  },
10
+ "repository": "github:renkudev/renku",
11
+ "author": {
12
+ "name": "Benedikt Müller",
13
+ "email": "ben@renku.dev",
14
+ "url": "http://bndkt.com"
15
+ },
16
+ "type": "module",
20
17
  "imports": {
21
18
  "#renku/jsx-dev-runtime": "./src/jsx/jsx-dev-runtime.ts",
22
19
  "#renku/jsx-runtime": "./src/jsx/jsx-runtime.ts"
23
20
  },
24
- "bin": {
25
- "renku": "./dist/cli.js",
26
- "__renku_bash_complete": "./dist/bash-complete.js"
27
- },
28
21
  "exports": {
29
22
  ".": {
30
23
  "types": "./dist/index.d.ts",
31
24
  "import": "./dist/index.js"
32
25
  },
33
26
  "./auth": {
34
- "types:": "./dist/auth.d.ts",
27
+ "types": "./dist/auth.d.ts",
35
28
  "import": "./dist/auth.js"
36
29
  },
37
30
  "./bun": {
38
- "types:": "./dist/bun.d.ts",
31
+ "types": "./dist/bun.d.ts",
39
32
  "import": "./dist/bun.js"
40
33
  },
41
34
  "./client": {
42
- "types:": "./dist/client.d.ts",
35
+ "types": "./dist/client.d.ts",
43
36
  "import": "./dist/client.js"
44
37
  },
45
38
  "./cloudflare": {
@@ -66,10 +59,6 @@
66
59
  "types": "./dist/jsx-runtime.d.ts",
67
60
  "import": "./dist/jsx-runtime.js"
68
61
  },
69
- "./ui": {
70
- "types": "./dist/ui.d.ts",
71
- "import": "./dist/ui.js"
72
- },
73
62
  "./server": {
74
63
  "types": "./dist/server.d.ts",
75
64
  "import": "./dist/server.js"
@@ -78,25 +67,46 @@
78
67
  "types": "./dist/server-functions.d.ts",
79
68
  "import": "./dist/server-functions.js"
80
69
  },
81
- "./tsconfig": "./dist/tsconfig.base.json",
70
+ "./tsconfig": "./tsconfig.base.json",
71
+ "./ui": {
72
+ "types": "./dist/ui.d.ts",
73
+ "import": "./dist/ui.js"
74
+ },
75
+ "./ui/theme": "./dist/theme.css",
82
76
  "./vite": {
83
77
  "types": "./dist/vite.d.ts",
84
78
  "import": "./dist/vite.js"
85
79
  }
86
80
  },
81
+ "bin": {
82
+ "__renku_bash_complete": "./dist/bash-complete.js",
83
+ "renku": "./dist/cli.js"
84
+ },
85
+ "files": [
86
+ "README.md",
87
+ "dist",
88
+ "package.json"
89
+ ],
90
+ "scripts": {
91
+ "dev": "tsdown --watch",
92
+ "lint": "oxlint --type-aware",
93
+ "tsc": "tsc",
94
+ "build": "PREVIEW=true tsdown",
95
+ "generate-types": "wrangler -c src/cloudflare/wrangler.jsonc types src/cloudflare/worker-configuration.d.ts"
96
+ },
87
97
  "dependencies": {
88
- "@sqlite.org/sqlite-wasm": "3.51.1-build1",
89
- "@standard-schema/spec": "1.0.0",
90
- "capnweb": "0.2.0",
98
+ "@sqlite.org/sqlite-wasm": "3.51.1-build2",
99
+ "@standard-schema/spec": "1.1.0",
100
+ "capnweb": "0.3.0",
91
101
  "signal-polyfill": "0.2.2"
92
102
  },
93
103
  "devDependencies": {
94
104
  "@stricli/auto-complete": "1.2.4",
95
105
  "@stricli/core": "1.2.4",
96
- "@types/bun": "1.3.3",
97
- "tsdown": "0.16.6",
106
+ "@types/bun": "1.3.4",
107
+ "tsdown": "0.18.1",
98
108
  "typescript": "5.9.3",
99
- "vite": "7.2.7",
100
- "wrangler": "4.50.0"
109
+ "vite": "7.3.0",
110
+ "wrangler": "4.55.0"
101
111
  }
102
112
  }
@@ -1,2 +0,0 @@
1
- import{n as e,r as t,t as n}from"./auth-DivcgvqR.js";import{n as r,r as i,t as a}from"./rsc-from-markup-lvVZNq4O.js";import{t as o}from"./get-route-B1JNCPoL.js";import{newWorkersRpcResponse as s}from"capnweb";import{clientEntry as c}from"virtual:renku";const l=({namespace:e,name:t,ws:n})=>async(r,i)=>{if(console.log(`🔥`,`DO handler`,typeof t),n){let e=r.headers.get(`Upgrade`);if(!e||e!==`websocket`)return new Response(`Durable Object expected Upgrade: websocket`,{status:426})}if(typeof t==`function`){let e=r.clone();t=await t(e)}return i[e].getByName(t).fetch(r)},u=({rpId:e,rpName:t,sessionExpiryInMinutes:r})=>{r??=60;let i=e=>e*60*1e3;return{"/validate-session":{GET:async(e,t,r)=>n().sessionId?Response.json({isAuthenticated:!0}):Response.json({isAuthenticated:!1})},"/logout":{POST:async(e,t,r)=>{let a=n();a.sessionId&&await t.AUTH_DO.getByName(`session:${a.sessionId}`).logout();let o=new Date(Date.now()-i(10)).toUTCString();return new Response(null,{headers:{"Set-Cookie":`sessionId=; Path=/; SameSite=Strict; Secure; Expires=${o}`}})},GET:async(e,t,r)=>{let a=n();a.sessionId&&await t.AUTH_DO.getByName(`session:${a.sessionId}`).logout();let o=new Date(Date.now()-i(10)).toUTCString();return new Response(null,{status:302,headers:{Location:`/`,"Set-Cookie":`sessionId=; Path=/; SameSite=Strict; Secure; Expires=${o}`}})}},"/creation-options":{POST:async(n,r,i)=>{let{email:a}=await n.json(),o=crypto.randomUUID(),s=await r.AUTH_DO.getByName(`user:${o}`).creationOptions({id:o,email:a,rpId:e,rpName:t});return Response.json(s)}},"/validate-creation":{POST:async(e,t,n)=>{let{name:r,credential:i}=await e.json();return await t.AUTH_DO.getByName(`user:${r}`).validateCreation({name:r,credential:i}),Response.json({ok:!0})}},"/request-options":{POST:async(t,n,r)=>{let i=crypto.randomUUID(),a=await n.AUTH_DO.getByName(`challenge:${i}`).requestOptions({rpId:e});return Response.json({id:i,options:a})}},"/validate-request":{POST:async(e,t,n)=>{let{id:a,credential:o}=await e.json(),s=await t.AUTH_DO.getByName(`challenge:${a}`).validateRequest({credential:o,sessionExpiryInMinutes:r});if(s){let e=new Date(Date.now()+i(r)).toUTCString();return Response.json({success:!0},{headers:{"Set-Cookie":`sessionId=${s}; Path=/; SameSite=Strict; Secure; Expires=${e}`}})}return Response.json({error:!0})}}}},d=e=>{let t={};if(!e)return t;let n=e.split(`;`);for(let e of n){let n=e.indexOf(`=`);if(n===-1)continue;let r=e.slice(0,n).trim(),i=e.slice(n+1).trim();r&&(t[r]=i)}return t},f=async({request:t,env:n,authFn:r})=>{let i=e(),a=d(t.headers.get(`cookie`));if(`sessionId`in a&&a.sessionId){if(i.sessionId=a.sessionId,n?.AUTH_DO){let e=await n.AUTH_DO.getByName(`session:${i.sessionId}`).validateSession({sessionExpiryInMinutes:1440});e&&(i.userId=e.userId)}}else i.sessionId=null;return r?r({request:t,authContext:i}):!0},p=new TextEncoder,m=e=>{let t=e[Symbol.asyncIterator]();return new ReadableStream({async pull(e){let{value:n,done:r}=await t.next();if(r)e.close();else{let t=typeof n==`object`?JSON.stringify(n).concat(`
2
- `):n;e.enqueue(p.encode(t))}}})},h=[`favicon.ico`,`.well-known`],g=({routes:e})=>async(n,l,u)=>t(async()=>{let t=new URL(n.url).pathname.split(`/`),d=t[1];if(d&&h.includes(d))return new Response(null,{status:404});let p=o({request:n,routes:e}),g=await f({request:n,env:l,authFn:p?p.auth:null});if(g!==!0)return g||new Response(null,{status:401});if(d===`@renku`){if(t[2]===`rpc`&&t[3]&&t[4]){let e=decodeURIComponent(t[3]),r=decodeURIComponent(t[4]);import.meta.env.DEV||(e=`./functions/${e}.js`),console.log(`☎️ Server function was called:`,e,r);let i=(await import(e))[r];return s(n,i)}return new Response(null,{status:404})}if(!p)return console.warn(`No routing result`),new Response(null,{status:404});if(p.api){let e=Object.assign(n,{params:p.params});return p.api(e,l,u)}let _=null;if(p.route instanceof Promise)_=await(await p.route).default(p.params);else if(p.route&&`default`in p.route&&typeof p.route.default==`function`)_=await p.route.default(p.params);else if(typeof p.route==`function`)_=await p.route(p.params);else return new Response(null,{status:404});let v={styles:[],modules:[]};import.meta.env.DEV?(v.modules.push(`/@vite/client`),v.modules.push(`/@renku/client`)):c&&v.modules.push(c);for(let e of p.layouts)e instanceof Promise?_=await(await e).default({children:_,_renku:v}):`default`in e&&typeof e.default==`function`?_=await e.default({children:_,_renku:v}):typeof e==`function`&&(_=await e({children:_,_renku:v}));let y=r(_);if(n.headers.get(`Accept`)===`text/x-component`){let e=m(a(y));return new Response(e,{headers:{"Content-Type":`text/x-component`}})}let b=m(i(y));return new Response(b,{headers:{"Content-Type":`text/html`}})}),_=({routes:e})=>({fetch:g({routes:e})});export{u as n,l as r,_ as t};
@@ -1 +0,0 @@
1
- import{n as e,t}from"./signal-store-0zk-69gB.js";const n=e=>t.get(e);function r(e,t){let r=n({status:`loading`,error:!1,data:null});return r.get().status===`loading`&&e().then(async e=>{if(!t)r.set({status:`success`,error:!1,data:e});else{let n=t(e),i=n instanceof Promise?await n:n;r.set({status:`success`,error:!1,data:i})}}).catch(e=>r.set({status:`error`,error:e,data:null})),r}const i=t=>new e.Computed(t);export{r as n,n as r,i as t};
@@ -1 +0,0 @@
1
- import{newWebSocketRpcSession as e}from"capnweb";const t=(t,n)=>{console.log(`☎️`,`Registering server function:`,t,n);let r=`/@renku/rpc/${encodeURIComponent(t)}/${encodeURIComponent(n)}`;return(...i)=>{let a=e(r);return console.log(`☎️`,`Calling server function:`,t,n,i),a(...i)}};export{t};
@@ -1 +0,0 @@
1
- import{t as e}from"./virtual-from-jsx-BgQUXZ4d.js";import{n as t}from"./signal-store-0zk-69gB.js";import{t as n}from"./effect-hmzj-Jig.js";function r({domNode:e,virtualNode:t,replace:n=!1}){let r=[];for(let i of t){let t=o({domNode:e,virtualNode:i,replace:n});n=!1,r.push(t)}return r}const i=({element:e,key:r,val:i})=>{typeof i==`function`?r.startsWith(`on`)&&e.addEventListener(r.slice(2),i):typeof i==`string`||typeof i==`number`?(r===`className`&&(r=`class`),e.setAttribute(r,String(i))):i instanceof t.State||i instanceof t.Computed?n(()=>{e.setAttribute(r,String(i.get()))}):Array.isArray(i)?n(()=>{let n=i.map(e=>e instanceof t.State||e instanceof t.Computed?String(e.get()):String(e)).join(` `);e.setAttribute(r,n)}):typeof i==`boolean`&&(i?e.setAttribute(r,``):e.removeAttribute(r))},a=({domNode:e,newVirtualNode:t,oldVirtualNode:n})=>{if(t&&n)if(t.type===n.type)if(t.type===`element`&&n.type===`element`){let r=e,s=n.props?Object.keys(n.props).filter(e=>!(e in t.props)):[];s.length&&s.map(e=>r.removeAttribute(e));for(let[e,a]of Object.entries(t.props))if(e!==`children`&&e!==`key`)if(n.props&&e in n.props){let t=n.props[e];typeof a==`function`||(Array.isArray(a)&&Array.isArray(t)?JSON.stringify(a)!==JSON.stringify(t)&&i({element:r,key:e,val:a}):n.props[e]!==a&&i({element:r,key:e,val:a}))}else i({element:r,key:e,val:a});if(t.children.length){let e=0;for(let i=0;i<t.children.length;i++){let s=t.children[i];if(s){let t=n.children?n.children[i-e]:void 0;if(t?.domNode)if(s.key===t.key)s.domNode=t.domNode,a({domNode:t.domNode,newVirtualNode:s,oldVirtualNode:t});else{let i=n.children.findIndex(e=>e?.key===s.key),o=i>-1?n.children[i]:null;o?.domNode&&(r.moveBefore(o.domNode,t.domNode),s.domNode=o.domNode,e++,a({domNode:o.domNode,newVirtualNode:s,oldVirtualNode:o}),n.children.splice(i,1))}else s.type!==`effect`&&o({domNode:r,virtualNode:s});n.children[i-e]=null}}if(n.children.length+e>t.children.length)for(let i=t.children.length;i<n.children.length+e;i++){let t=n.children[i-e]?.domNode;t&&r.removeChild(t)}}else n.children?.length&&r.replaceChildren()}else t.type===`text`&&n.type===`text`&&t.value!==n.value&&(t.domNode=n.domNode,t.domNode.nodeValue=t.value);else console.warn(`Different node types`),n.domNode&&o({domNode:n.domNode,virtualNode:t,replace:!0});else console.warn(`Old or new node is null`);return e};function o({domNode:t,virtualNode:s,replace:c=!1}){if(!s)return null;let l=[`svg`,`path`,`circle`];if(s.type===`element`){let e=l.includes(s.value)?document.createElementNS(`http://www.w3.org/2000/svg`,s.value):document.createElement(s.value);if(s.domNode=e,s.props.ref){let e=s.props.ref;console.log(`has ref`,e.get()),e.set(s.domNode),console.log(`assigned ref`,s.domNode),console.log(`has ref`,e.get())}for(let[t,n]of Object.entries(s.props))t!==`children`&&t!==`key`&&t!==`ref`&&i({element:e,key:t,val:n});if(s.children)for(let t of s.children)o({domNode:e,virtualNode:t});return t===document.documentElement?document.documentElement.replaceWith(e):c&&t.parentElement?t.parentElement.replaceChild(e,t):t.appendChild(e),e}if(s.type===`async`){let n=document.createElement(`template`);return s.domNode=n,t.appendChild(n),s.promise?.then(t=>{let i=e({node:t});Array.isArray(i)?r({domNode:n,virtualNode:i,replace:!0}):o({domNode:n,virtualNode:i,replace:!0})}),n}if(s.type===`text`){let e=document.createTextNode(s.value);return s.domNode=e,t.appendChild(e),e}if(s.type===`signal`){let e=s.value,r=document.createTextNode(``);return s.domNode=r,n(()=>{r.textContent=String(e.get())}),t.appendChild(r),r}if(s.type===`effect`){let e=s.value,n=null,r=null,i=e=>{Array.isArray(e)?console.warn(`EFFECT virtual node is array`):n?(n=a({domNode:n,newVirtualNode:e,oldVirtualNode:r}),r=e):(n=o({domNode:t,virtualNode:e,replace:c}),r=e,e=null)};s.addCallback(i),i(e)}return null}export{r as n,o as t};
@@ -1,2 +0,0 @@
1
- import { Signal } from "signal-polyfill";
2
- export { Signal as t };
@@ -1,16 +0,0 @@
1
- //#region src/reactivity/types.d.ts
2
- type Loader<T> = {
3
- status: "loading";
4
- error: false;
5
- data: null;
6
- } | {
7
- status: "success";
8
- error: false;
9
- data: T;
10
- } | {
11
- status: "error";
12
- error: any;
13
- data: null;
14
- };
15
- //#endregion
16
- export { Loader as t };
@@ -1 +0,0 @@
1
- import{n as e,t}from"./signal-store-0zk-69gB.js";import{t as n}from"./effect-hmzj-Jig.js";const r=e=>!Array.isArray(e)&&typeof e==`object`&&!!e&&typeof e.type==`function`&&e.type.name===`Fragment`,i=({node:e,asyncComponents:t=[],clientComponents:n=[]})=>{let a=[];if(Array.isArray(e))for(let r of e)a.push(...i({node:r,asyncComponents:t,clientComponents:n}));else if(e)if(r(e)){let r=e.type(e.props);a.push(...i({node:r,asyncComponents:t,clientComponents:n}))}else{let r=o({node:e,asyncComponents:t,clientComponents:n});Array.isArray(r)?a.push(...r):a.push(r)}return a},a=({fn:e,key:r,props:i,asyncComponents:a,clientComponents:s})=>{let c=null,l=null,u=e=>{c=e,l&&l(e)},d=[];return n(()=>{t.set(d);let n=e(i);if(n instanceof Promise){let e=s.length+a.length+1;a.push(new Promise(t=>{n.then(n=>{t({index:e,node:n})})})),u({type:`async`,key:r,promise:n,index:e})}else u(o({node:n,asyncComponents:a,clientComponents:s}))}),{type:`effect`,value:c,addCallback:e=>{l=e}}},o=({node:t,asyncComponents:n=[],clientComponents:o=[]})=>{if(Array.isArray(t))return i({node:t,asyncComponents:n,clientComponents:o});if(t===null)return null;if(typeof t==`string`||typeof t==`number`)return{type:`text`,value:String(t)};if(t instanceof e.Computed||t instanceof e.State)return{type:`signal`,value:t};if(typeof t==`object`&&typeof t.type==`function`&&!r(t)&&typeof t.type==`function`)return a({fn:t.type,key:t.key,props:t.props,asyncComponents:n,clientComponents:o});if(typeof t==`object`&&typeof t.type==`object`&&t.type.type===`client`)return o.push({path:t.type.path,name:t.type.name}),{type:`client`,key:t.key,props:t.props,path:t.type.path,name:t.type.name};if(typeof t==`object`&&typeof t.type==`string`){let e=i({node:t.props.children,asyncComponents:n,clientComponents:o});return{type:`element`,key:t.key,value:t.type,props:t.props,children:e}}return console.warn(`Unhandled node type`,t),null};export{a as n,o as t};
File without changes
File without changes
File without changes
File without changes