@manyducks.co/dolla 2.0.0-alpha.6 → 2.0.0-alpha.60

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 (104) hide show
  1. package/README.md +86 -591
  2. package/dist/core/context.d.ts +144 -0
  3. package/dist/core/env.d.ts +3 -0
  4. package/dist/core/index.d.ts +22 -0
  5. package/dist/core/logger.d.ts +42 -0
  6. package/dist/core/markup.d.ts +125 -0
  7. package/dist/core/mount.d.ts +15 -0
  8. package/dist/core/nodes/dom.d.ts +14 -0
  9. package/dist/core/nodes/dynamic.d.ts +29 -0
  10. package/dist/core/nodes/html.d.ts +24 -0
  11. package/dist/core/nodes/portal.d.ts +19 -0
  12. package/dist/core/nodes/repeat.d.ts +25 -0
  13. package/dist/core/nodes/view.d.ts +24 -0
  14. package/dist/core/ref.d.ts +18 -0
  15. package/dist/core/signals.d.ts +43 -0
  16. package/dist/core/symbols.d.ts +2 -0
  17. package/dist/{views → core/views}/default-crash-view.d.ts +6 -2
  18. package/dist/core/views/fragment.d.ts +7 -0
  19. package/dist/fragment-BahD_BJA.js +7 -0
  20. package/dist/fragment-BahD_BJA.js.map +1 -0
  21. package/dist/{modules/http.d.ts → http/index.d.ts} +3 -5
  22. package/dist/http.js +163 -0
  23. package/dist/http.js.map +1 -0
  24. package/dist/i18n/index.d.ts +134 -0
  25. package/dist/i18n.js +318 -0
  26. package/dist/i18n.js.map +1 -0
  27. package/dist/index.js +105 -1385
  28. package/dist/index.js.map +1 -1
  29. package/dist/jsx-dev-runtime.d.ts +3 -2
  30. package/dist/jsx-dev-runtime.js +5 -12
  31. package/dist/jsx-dev-runtime.js.map +1 -1
  32. package/dist/jsx-runtime.d.ts +4 -3
  33. package/dist/jsx-runtime.js +9 -15
  34. package/dist/jsx-runtime.js.map +1 -1
  35. package/dist/logger-MPwl-Xqu.js +524 -0
  36. package/dist/logger-MPwl-Xqu.js.map +1 -0
  37. package/dist/markup-BGlfQYQk.js +996 -0
  38. package/dist/markup-BGlfQYQk.js.map +1 -0
  39. package/dist/router/index.d.ts +2 -0
  40. package/dist/router/router.d.ts +149 -0
  41. package/dist/{routing.d.ts → router/router.utils.d.ts} +17 -3
  42. package/dist/router/router.utils.test.d.ts +1 -0
  43. package/dist/router-BpuJQ6OA.js +516 -0
  44. package/dist/router-BpuJQ6OA.js.map +1 -0
  45. package/dist/router.js +8 -0
  46. package/dist/router.js.map +1 -0
  47. package/dist/typeChecking-CbltMOUt.js +71 -0
  48. package/dist/typeChecking-CbltMOUt.js.map +1 -0
  49. package/dist/typeChecking.d.ts +2 -98
  50. package/dist/typeChecking.test.d.ts +1 -0
  51. package/dist/types.d.ts +98 -25
  52. package/dist/utils.d.ts +20 -3
  53. package/docs/http.md +29 -0
  54. package/docs/i18n.md +43 -0
  55. package/docs/index.md +10 -0
  56. package/docs/markup.md +16 -0
  57. package/docs/mixins.md +32 -0
  58. package/docs/ref.md +93 -0
  59. package/docs/router.md +80 -0
  60. package/docs/setup.md +31 -0
  61. package/docs/signals.md +166 -0
  62. package/docs/state.md +141 -0
  63. package/docs/stores.md +62 -0
  64. package/docs/views.md +208 -0
  65. package/examples/webcomponent/index.html +14 -0
  66. package/examples/webcomponent/main.js +165 -0
  67. package/index.d.ts +2 -2
  68. package/notes/TODO.md +6 -0
  69. package/notes/atomic.md +452 -0
  70. package/notes/context-routes.md +61 -0
  71. package/notes/custom-nodes.md +17 -0
  72. package/notes/effection-idea.md +34 -0
  73. package/notes/elimination.md +33 -0
  74. package/notes/mixins.md +22 -0
  75. package/notes/molecule.md +35 -0
  76. package/notes/observable.md +180 -0
  77. package/notes/readme-scratch.md +45 -7
  78. package/notes/route-middleware.md +42 -0
  79. package/notes/scratch.md +353 -6
  80. package/notes/splitting.md +5 -0
  81. package/notes/stores.md +79 -0
  82. package/package.json +27 -12
  83. package/vite.config.js +5 -11
  84. package/build.js +0 -34
  85. package/dist/index.d.ts +0 -21
  86. package/dist/markup.d.ts +0 -100
  87. package/dist/modules/dolla.d.ts +0 -111
  88. package/dist/modules/language.d.ts +0 -41
  89. package/dist/modules/render.d.ts +0 -17
  90. package/dist/modules/router.d.ts +0 -152
  91. package/dist/nodes/cond.d.ts +0 -26
  92. package/dist/nodes/html.d.ts +0 -31
  93. package/dist/nodes/observer.d.ts +0 -29
  94. package/dist/nodes/outlet.d.ts +0 -22
  95. package/dist/nodes/portal.d.ts +0 -19
  96. package/dist/nodes/repeat.d.ts +0 -34
  97. package/dist/nodes/text.d.ts +0 -19
  98. package/dist/passthrough-CW8Ezjg-.js +0 -1244
  99. package/dist/passthrough-CW8Ezjg-.js.map +0 -1
  100. package/dist/state.d.ts +0 -101
  101. package/dist/view.d.ts +0 -50
  102. package/dist/views/passthrough.d.ts +0 -5
  103. package/tests/state.test.js +0 -135
  104. /package/dist/{routing.test.d.ts → core/signals.test.d.ts} +0 -0
@@ -1,31 +0,0 @@
1
- import { type MarkupNode, type ElementContext, type Markup, type Ref } from "../markup.js";
2
- import { type StopFunction } from "../state.js";
3
- type HTMLOptions = {
4
- elementContext: ElementContext;
5
- tag: string;
6
- props: Record<string, any>;
7
- children?: Markup[];
8
- };
9
- export declare class HTML implements MarkupNode {
10
- node: HTMLElement | SVGElement;
11
- props: Record<string, any>;
12
- children: MarkupNode[];
13
- stopCallbacks: StopFunction[];
14
- elementContext: ElementContext;
15
- uniqueId: string;
16
- ref?: Ref<any>;
17
- canClickAway: boolean;
18
- get isMounted(): boolean;
19
- constructor({ tag, props, children, elementContext }: HTMLOptions);
20
- mount(parent: Node, after?: Node): void;
21
- unmount(): void;
22
- getUpdateKey(type: string, value: string | number): string;
23
- applyProps(element: HTMLElement | SVGElement, props: Record<string, unknown>): void;
24
- applyStyles(element: HTMLElement | SVGElement, styles: unknown, stopCallbacks: StopFunction[]): () => void;
25
- applyClasses(element: HTMLElement | SVGElement, classes: unknown, stopCallbacks: StopFunction[]): () => void;
26
- }
27
- /**
28
- * Converts a camelCase string to kebab-case.
29
- */
30
- export declare function camelToKebab(value: string): string;
31
- export {};
@@ -1,29 +0,0 @@
1
- import { type ElementContext, type MarkupNode } from "../markup.js";
2
- import { type State } from "../state.js";
3
- import type { Renderable } from "../types.js";
4
- interface ObserverOptions {
5
- elementContext: ElementContext;
6
- states: State<any>[];
7
- renderFn: (...values: any) => Renderable;
8
- }
9
- /**
10
- * Displays dynamic children without a parent element.
11
- */
12
- export declare class Observer implements MarkupNode {
13
- node: Node;
14
- endNode: Node;
15
- connectedViews: MarkupNode[];
16
- renderFn: (...values: any) => Renderable;
17
- elementContext: ElementContext;
18
- observerControls: {
19
- start: () => void;
20
- stop: () => void;
21
- };
22
- get isMounted(): boolean;
23
- constructor({ states, renderFn, elementContext }: ObserverOptions);
24
- mount(parent: Node, after?: Node): void;
25
- unmount(): void;
26
- cleanup(): void;
27
- update(...children: Renderable[]): void;
28
- }
29
- export {};
@@ -1,22 +0,0 @@
1
- import { type MarkupNode, type ElementContext } from "../markup.js";
2
- import { type State, type StopFunction } from "../state.js";
3
- export interface OutletConfig {
4
- $children: State<MarkupNode[]>;
5
- elementContext: ElementContext;
6
- }
7
- /**
8
- * Manages an array of DOMHandles.
9
- */
10
- export declare class Outlet implements MarkupNode {
11
- node: Node;
12
- endNode: Node;
13
- $children: State<MarkupNode[]>;
14
- stopCallback?: StopFunction;
15
- connectedChildren: MarkupNode[];
16
- elementContext: ElementContext;
17
- constructor(config: OutletConfig);
18
- get isMounted(): boolean;
19
- mount(parent: Node, after?: Node | undefined): void;
20
- unmount(): void;
21
- update(newChildren: MarkupNode[]): void;
22
- }
@@ -1,19 +0,0 @@
1
- import { type MarkupNode, type ElementContext } from "../markup.js";
2
- import { type Renderable } from "../types.js";
3
- interface PortalConfig {
4
- content: Renderable;
5
- parent: Node;
6
- elementContext: ElementContext;
7
- }
8
- /**
9
- * Renders content into a specified parent node.
10
- */
11
- export declare class Portal implements MarkupNode {
12
- config: PortalConfig;
13
- handle?: MarkupNode;
14
- get isMounted(): boolean;
15
- constructor(config: PortalConfig);
16
- mount(_parent: Node, _after?: Node): void;
17
- unmount(): void;
18
- }
19
- export {};
@@ -1,34 +0,0 @@
1
- import { type MarkupNode, type ElementContext } from "../markup.js";
2
- import { type State, type Setter, type StopFunction } from "../state.js";
3
- import { type ViewContext, type ViewResult } from "../view.js";
4
- interface RepeatOptions<T> {
5
- elementContext: ElementContext;
6
- $items: State<T[]>;
7
- keyFn: (value: T, index: number) => string | number | symbol;
8
- renderFn: ($value: State<T>, $index: State<number>, ctx: ViewContext) => ViewResult;
9
- }
10
- type ConnectedItem<T> = {
11
- key: any;
12
- $value: State<T>;
13
- setValue: Setter<T>;
14
- $index: State<number>;
15
- setIndex: Setter<number>;
16
- handle: MarkupNode;
17
- };
18
- export declare class Repeat<T> implements MarkupNode {
19
- node: Node;
20
- endNode: Node;
21
- $items: State<T[]>;
22
- stopCallback?: StopFunction;
23
- connectedItems: ConnectedItem<T>[];
24
- elementContext: ElementContext;
25
- renderFn: ($value: State<T>, $index: State<number>, ctx: ViewContext) => ViewResult;
26
- keyFn: (value: T, index: number) => string | number | symbol;
27
- get isMounted(): boolean;
28
- constructor({ elementContext, $items, renderFn, keyFn }: RepeatOptions<T>);
29
- mount(parent: Node, after?: Node): void;
30
- unmount(): void;
31
- _cleanup(): void;
32
- _update(value: T[]): void;
33
- }
34
- export {};
@@ -1,19 +0,0 @@
1
- import { type MarkupNode } from "../markup.js";
2
- import { type MaybeState, type StopFunction } from "../state.js";
3
- interface Stringable {
4
- toString(): string;
5
- }
6
- interface TextOptions {
7
- value: MaybeState<Stringable>;
8
- }
9
- export declare class Text implements MarkupNode {
10
- node: globalThis.Text;
11
- value: MaybeState<Stringable>;
12
- stopCallback?: StopFunction;
13
- get isMounted(): boolean;
14
- constructor({ value }: TextOptions);
15
- mount(parent: Node, after?: Node | null): Promise<void>;
16
- unmount(): Promise<void>;
17
- update(value?: Stringable): void;
18
- }
19
- export {};