snapse 0.0.0-stage → 0.9.0

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 (86) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1169 -2
  3. package/dist/DOM/domFunctions.d.ts +12 -0
  4. package/dist/DOM/elements/DOMElements.d.ts +141 -0
  5. package/dist/DOM/elements/SVGElements.d.ts +65 -0
  6. package/dist/DOM/elements/elementAttributeTypes.d.ts +100 -0
  7. package/dist/DOM/nodeControllers/ComponentController.d.ts +10 -0
  8. package/dist/DOM/nodeControllers/ElementController.d.ts +14 -0
  9. package/dist/DOM/nodeControllers/NodeController.d.ts +81 -0
  10. package/dist/DOM/nodeControllers/RootController.d.ts +12 -0
  11. package/dist/DOM/nodeControllers/SVGElementController.d.ts +4 -0
  12. package/dist/DOM/nodeControllers/StateController.d.ts +43 -0
  13. package/dist/DOM/server/serialize.d.ts +2 -0
  14. package/dist/DOM/server/serverNodes.d.ts +41 -0
  15. package/dist/DOM/types.d.ts +84 -0
  16. package/dist/DOM/util/RenderError.d.ts +10 -0
  17. package/dist/DOM/util/childShape.d.ts +7 -0
  18. package/dist/DOM/util/deferredNodes.d.ts +7 -0
  19. package/dist/DOM/util/domNode.d.ts +2 -0
  20. package/dist/DOM/util/moveBeforeSupport.d.ts +1 -0
  21. package/dist/DOM/util/nodeCount.d.ts +2 -0
  22. package/dist/DOM/util/util.d.ts +2 -0
  23. package/dist/DOM.d.ts +4 -0
  24. package/dist/SVG.d.ts +3 -0
  25. package/dist/common/computeMutation.d.ts +16 -0
  26. package/dist/common/dev.d.ts +1 -0
  27. package/dist/common/shorthands.d.ts +1 -0
  28. package/dist/common/undoUtils.d.ts +1 -0
  29. package/dist/common/util.d.ts +4 -0
  30. package/dist/index.d.ts +7 -0
  31. package/dist/lint/index.d.ts +7 -0
  32. package/dist/lint/index.js +8 -0
  33. package/dist/lint/noBooleanStateArgument.d.ts +2 -0
  34. package/dist/lint/noBooleanStateArgument.js +43 -0
  35. package/dist/lint/noStateTruthiness.d.ts +2 -0
  36. package/dist/lint/noStateTruthiness.js +92 -0
  37. package/dist/lint/stateTypes.d.ts +4 -0
  38. package/dist/lint/stateTypes.js +14 -0
  39. package/dist/server.d.ts +2 -0
  40. package/dist/snapse.DOM.cjs +1 -0
  41. package/dist/snapse.DOM.development.cjs +115 -0
  42. package/dist/snapse.DOM.development.js +1 -0
  43. package/dist/snapse.SVG.cjs +1 -0
  44. package/dist/snapse.SVG.development.cjs +66 -0
  45. package/dist/snapse.SVG.development.js +1 -0
  46. package/dist/snapse.SVG.js +1 -0
  47. package/dist/snapse.cjs +1 -0
  48. package/dist/snapse.development.cjs +13 -0
  49. package/dist/snapse.development.js +1 -0
  50. package/dist/snapse.js +75 -0
  51. package/dist/snapse.server.cjs +1 -0
  52. package/dist/snapse.server.development.cjs +3 -0
  53. package/dist/snapse.server.development.js +1 -0
  54. package/dist/snapseCore-Bc8ZDYHa.cjs +1 -0
  55. package/dist/snapseCore-DpadpXgD.js +3002 -0
  56. package/dist/snapseCore-Xfnvf03Z.cjs +4135 -0
  57. package/dist/state/common/refCountAndType.d.ts +8 -0
  58. package/dist/state/common/stateProperty.d.ts +1 -0
  59. package/dist/state/compute.d.ts +2 -0
  60. package/dist/state/state.d.ts +39 -0
  61. package/dist/state/stateInternals/LightState.d.ts +20 -0
  62. package/dist/state/stateInternals/internalFunctions.d.ts +13 -0
  63. package/dist/state/stateInternals/notify.d.ts +7 -0
  64. package/dist/state/stateInternals/poison.d.ts +4 -0
  65. package/dist/state/stateInternals/stateUpdate.d.ts +9 -0
  66. package/dist/state/subscribeChanges.d.ts +2 -0
  67. package/dist/state/transforms/CallbackTransform.d.ts +13 -0
  68. package/dist/state/transforms/ChainFunctionTransform.d.ts +8 -0
  69. package/dist/state/transforms/ChangeAggregateTransform.d.ts +20 -0
  70. package/dist/state/transforms/ChangeCallbackTransform.d.ts +5 -0
  71. package/dist/state/transforms/ComputeTransform.d.ts +4 -0
  72. package/dist/state/transforms/DOMRootTransform.d.ts +8 -0
  73. package/dist/state/transforms/FunctionTransform.d.ts +5 -0
  74. package/dist/state/transforms/IsTransform.d.ts +25 -0
  75. package/dist/state/transforms/LightStateFunctionTransform.d.ts +3 -0
  76. package/dist/state/transforms/MapArrayTransform.d.ts +10 -0
  77. package/dist/state/transforms/MapValueTransform.d.ts +3 -0
  78. package/dist/state/transforms/OptTransform.d.ts +10 -0
  79. package/dist/state/transforms/PromiseTransform.d.ts +6 -0
  80. package/dist/state/transforms/SubscribeTransform.d.ts +13 -0
  81. package/dist/state/transforms/Transform.d.ts +35 -0
  82. package/dist/state/transforms/transforms.d.ts +30 -0
  83. package/dist/state/types/stateTypes.d.ts +175 -0
  84. package/dist/state/types/types.d.ts +35 -0
  85. package/dist/undo/undo.d.ts +39 -0
  86. package/package.json +141 -4
@@ -0,0 +1,12 @@
1
+ import { ChildProp, ComponentFactory, ComponentFunctionBody, ComponentProps, DOMElementArguments, DOMElementAttributes, ElementOptions, RootOptions } from './types.js';
2
+ import { ElementController } from './nodeControllers/ElementController.js';
3
+ import { SVGElementController } from './nodeControllers/SVGElementController.js';
4
+ import { RootController } from './nodeControllers/RootController.js';
5
+ export declare const component: <T = ComponentProps>(definition: ComponentFunctionBody<T & {
6
+ children: ChildProp[];
7
+ }>) => ComponentFactory;
8
+ export declare const domElement: <U extends ElementOptions = DOMElementAttributes>(elementName: string) => <T extends DOMElementArguments<U>>(...args: NoInfer<T>) => ElementController;
9
+ export declare const svgElement: <U extends ElementOptions = DOMElementAttributes>(elementName: string) => <T extends DOMElementArguments<U>>(...args: NoInfer<T>) => SVGElementController;
10
+ type RootArguments = ChildProp[] | [RootOptions?, ...ChildProp[]];
11
+ export declare const SnapseRoot: (...args: RootArguments) => RootController;
12
+ export {};
@@ -0,0 +1,141 @@
1
+ import { ElementController } from '../nodeControllers/ElementController.js';
2
+ import { DOMElementArguments } from '../types.js';
3
+ import { ElementAttributesOf } from './elementAttributeTypes.js';
4
+ import { State } from '../../state/types/types.js';
5
+ type NumericHTMLInputElement = Omit<HTMLInputElement, 'value' | 'type'> & {
6
+ value: number;
7
+ type: 'number' | 'range';
8
+ };
9
+ type CheckboxHTMLInputElement = Omit<HTMLInputElement, 'type'> & {
10
+ type: 'checkbox' | 'radio';
11
+ };
12
+ type StandardInputType = 'text' | 'search' | 'tel' | 'url' | 'email' | 'password' | 'date' | 'month' | 'week' | 'time' | 'datetime-local' | 'file' | 'color' | 'hidden' | 'submit' | 'reset' | 'button' | 'image';
13
+ type StandardHTMLInputElement = Omit<HTMLInputElement, 'type'> & {
14
+ type: StandardInputType;
15
+ };
16
+ type ExcludeAutoBind<Attrs, Excluded> = {
17
+ [K in 'change' | 'input']?: Exclude<Attrs[K & keyof Attrs], Excluded>;
18
+ };
19
+ type NumericInputAttributes = Omit<ElementAttributesOf<NumericHTMLInputElement>, 'change' | 'input'> & ExcludeAutoBind<ElementAttributesOf<NumericHTMLInputElement>, State<boolean | null | undefined>> & {
20
+ type: 'number' | 'range';
21
+ };
22
+ type CheckboxInputAttributes = Omit<ElementAttributesOf<CheckboxHTMLInputElement>, 'change' | 'input'> & ExcludeAutoBind<ElementAttributesOf<CheckboxHTMLInputElement>, State<string | null | undefined>> & {
23
+ type: 'checkbox' | 'radio';
24
+ };
25
+ type StandardInputAttributes = Omit<ElementAttributesOf<StandardHTMLInputElement>, 'change' | 'input'> & ExcludeAutoBind<ElementAttributesOf<StandardHTMLInputElement>, State<boolean | null | undefined>>;
26
+ declare function inputFactory(...args: DOMElementArguments<NumericInputAttributes>): ElementController;
27
+ declare function inputFactory(...args: DOMElementArguments<CheckboxInputAttributes>): ElementController;
28
+ declare function inputFactory(...args: DOMElementArguments<StandardInputAttributes>): ElementController;
29
+ export declare const a: <T extends DOMElementArguments<ElementAttributesOf<HTMLAnchorElement>>>(...args: NoInfer<T>) => ElementController;
30
+ export declare const abbr: <T extends DOMElementArguments<ElementAttributesOf<HTMLElement>>>(...args: NoInfer<T>) => ElementController;
31
+ export declare const address: <T extends DOMElementArguments<ElementAttributesOf<HTMLElement>>>(...args: NoInfer<T>) => ElementController;
32
+ export declare const area: <T extends DOMElementArguments<ElementAttributesOf<HTMLAreaElement>>>(...args: NoInfer<T>) => ElementController;
33
+ export declare const article: <T extends DOMElementArguments<ElementAttributesOf<HTMLElement>>>(...args: NoInfer<T>) => ElementController;
34
+ export declare const aside: <T extends DOMElementArguments<ElementAttributesOf<HTMLElement>>>(...args: NoInfer<T>) => ElementController;
35
+ export declare const audio: <T extends DOMElementArguments<ElementAttributesOf<HTMLAudioElement>>>(...args: NoInfer<T>) => ElementController;
36
+ export declare const b: <T extends DOMElementArguments<ElementAttributesOf<HTMLElement>>>(...args: NoInfer<T>) => ElementController;
37
+ export declare const base: <T extends DOMElementArguments<ElementAttributesOf<HTMLBaseElement>>>(...args: NoInfer<T>) => ElementController;
38
+ export declare const bdi: <T extends DOMElementArguments<ElementAttributesOf<HTMLElement>>>(...args: NoInfer<T>) => ElementController;
39
+ export declare const bdo: <T extends DOMElementArguments<ElementAttributesOf<HTMLElement>>>(...args: NoInfer<T>) => ElementController;
40
+ export declare const blockquote: <T extends DOMElementArguments<ElementAttributesOf<HTMLQuoteElement>>>(...args: NoInfer<T>) => ElementController;
41
+ export declare const body: <T extends DOMElementArguments<ElementAttributesOf<HTMLBodyElement>>>(...args: NoInfer<T>) => ElementController;
42
+ export declare const br: <T extends DOMElementArguments<ElementAttributesOf<HTMLBRElement>>>(...args: NoInfer<T>) => ElementController;
43
+ export declare const button: <T extends DOMElementArguments<ElementAttributesOf<HTMLButtonElement>>>(...args: NoInfer<T>) => ElementController;
44
+ export declare const canvas: <T extends DOMElementArguments<ElementAttributesOf<HTMLCanvasElement>>>(...args: NoInfer<T>) => ElementController;
45
+ export declare const caption: <T extends DOMElementArguments<ElementAttributesOf<HTMLTableCaptionElement>>>(...args: NoInfer<T>) => ElementController;
46
+ export declare const cite: <T extends DOMElementArguments<ElementAttributesOf<HTMLElement>>>(...args: NoInfer<T>) => ElementController;
47
+ export declare const code: <T extends DOMElementArguments<ElementAttributesOf<HTMLElement>>>(...args: NoInfer<T>) => ElementController;
48
+ export declare const col: <T extends DOMElementArguments<ElementAttributesOf<HTMLTableColElement>>>(...args: NoInfer<T>) => ElementController;
49
+ export declare const colgroup: <T extends DOMElementArguments<ElementAttributesOf<HTMLTableColElement>>>(...args: NoInfer<T>) => ElementController;
50
+ export declare const data: <T extends DOMElementArguments<ElementAttributesOf<HTMLDataElement>>>(...args: NoInfer<T>) => ElementController;
51
+ export declare const datalist: <T extends DOMElementArguments<ElementAttributesOf<HTMLDataListElement>>>(...args: NoInfer<T>) => ElementController;
52
+ export declare const dd: <T extends DOMElementArguments<ElementAttributesOf<HTMLElement>>>(...args: NoInfer<T>) => ElementController;
53
+ export declare const del: <T extends DOMElementArguments<ElementAttributesOf<HTMLModElement>>>(...args: NoInfer<T>) => ElementController;
54
+ export declare const details: <T extends DOMElementArguments<ElementAttributesOf<HTMLDetailsElement>>>(...args: NoInfer<T>) => ElementController;
55
+ export declare const dfn: <T extends DOMElementArguments<ElementAttributesOf<HTMLElement>>>(...args: NoInfer<T>) => ElementController;
56
+ export declare const dialog: <T extends DOMElementArguments<ElementAttributesOf<HTMLDialogElement>>>(...args: NoInfer<T>) => ElementController;
57
+ export declare const div: <T extends DOMElementArguments<ElementAttributesOf<HTMLDivElement>>>(...args: NoInfer<T>) => ElementController;
58
+ export declare const dl: <T extends DOMElementArguments<ElementAttributesOf<HTMLDListElement>>>(...args: NoInfer<T>) => ElementController;
59
+ export declare const dt: <T extends DOMElementArguments<ElementAttributesOf<HTMLElement>>>(...args: NoInfer<T>) => ElementController;
60
+ export declare const em: <T extends DOMElementArguments<ElementAttributesOf<HTMLElement>>>(...args: NoInfer<T>) => ElementController;
61
+ export declare const embed: <T extends DOMElementArguments<ElementAttributesOf<HTMLEmbedElement>>>(...args: NoInfer<T>) => ElementController;
62
+ export declare const fieldset: <T extends DOMElementArguments<ElementAttributesOf<HTMLFieldSetElement>>>(...args: NoInfer<T>) => ElementController;
63
+ export declare const figcaption: <T extends DOMElementArguments<ElementAttributesOf<HTMLElement>>>(...args: NoInfer<T>) => ElementController;
64
+ export declare const figure: <T extends DOMElementArguments<ElementAttributesOf<HTMLElement>>>(...args: NoInfer<T>) => ElementController;
65
+ export declare const footer: <T extends DOMElementArguments<ElementAttributesOf<HTMLElement>>>(...args: NoInfer<T>) => ElementController;
66
+ export declare const form: <T extends DOMElementArguments<ElementAttributesOf<HTMLFormElement>>>(...args: NoInfer<T>) => ElementController;
67
+ export declare const h1: <T extends DOMElementArguments<ElementAttributesOf<HTMLHeadingElement>>>(...args: NoInfer<T>) => ElementController;
68
+ export declare const h2: <T extends DOMElementArguments<ElementAttributesOf<HTMLHeadingElement>>>(...args: NoInfer<T>) => ElementController;
69
+ export declare const h3: <T extends DOMElementArguments<ElementAttributesOf<HTMLHeadingElement>>>(...args: NoInfer<T>) => ElementController;
70
+ export declare const h4: <T extends DOMElementArguments<ElementAttributesOf<HTMLHeadingElement>>>(...args: NoInfer<T>) => ElementController;
71
+ export declare const h5: <T extends DOMElementArguments<ElementAttributesOf<HTMLHeadingElement>>>(...args: NoInfer<T>) => ElementController;
72
+ export declare const h6: <T extends DOMElementArguments<ElementAttributesOf<HTMLHeadingElement>>>(...args: NoInfer<T>) => ElementController;
73
+ export declare const head: <T extends DOMElementArguments<ElementAttributesOf<HTMLHeadElement>>>(...args: NoInfer<T>) => ElementController;
74
+ export declare const header: <T extends DOMElementArguments<ElementAttributesOf<HTMLElement>>>(...args: NoInfer<T>) => ElementController;
75
+ export declare const hgroup: <T extends DOMElementArguments<ElementAttributesOf<HTMLElement>>>(...args: NoInfer<T>) => ElementController;
76
+ export declare const hr: <T extends DOMElementArguments<ElementAttributesOf<HTMLHRElement>>>(...args: NoInfer<T>) => ElementController;
77
+ export declare const html: <T extends DOMElementArguments<ElementAttributesOf<HTMLHtmlElement>>>(...args: NoInfer<T>) => ElementController;
78
+ export declare const i: <T extends DOMElementArguments<ElementAttributesOf<HTMLElement>>>(...args: NoInfer<T>) => ElementController;
79
+ export declare const iframe: <T extends DOMElementArguments<ElementAttributesOf<HTMLIFrameElement>>>(...args: NoInfer<T>) => ElementController;
80
+ export declare const img: <T extends DOMElementArguments<ElementAttributesOf<HTMLImageElement>>>(...args: NoInfer<T>) => ElementController;
81
+ export declare const input: typeof inputFactory;
82
+ export declare const ins: <T extends DOMElementArguments<ElementAttributesOf<HTMLModElement>>>(...args: NoInfer<T>) => ElementController;
83
+ export declare const kbd: <T extends DOMElementArguments<ElementAttributesOf<HTMLElement>>>(...args: NoInfer<T>) => ElementController;
84
+ export declare const label: <T extends DOMElementArguments<ElementAttributesOf<HTMLLabelElement>>>(...args: NoInfer<T>) => ElementController;
85
+ export declare const legend: <T extends DOMElementArguments<ElementAttributesOf<HTMLLegendElement>>>(...args: NoInfer<T>) => ElementController;
86
+ export declare const li: <T extends DOMElementArguments<ElementAttributesOf<HTMLLIElement>>>(...args: NoInfer<T>) => ElementController;
87
+ export declare const link: <T extends DOMElementArguments<ElementAttributesOf<HTMLLinkElement>>>(...args: NoInfer<T>) => ElementController;
88
+ export declare const main: <T extends DOMElementArguments<ElementAttributesOf<HTMLElement>>>(...args: NoInfer<T>) => ElementController;
89
+ export declare const map: <T extends DOMElementArguments<ElementAttributesOf<HTMLMapElement>>>(...args: NoInfer<T>) => ElementController;
90
+ export declare const mark: <T extends DOMElementArguments<ElementAttributesOf<HTMLElement>>>(...args: NoInfer<T>) => ElementController;
91
+ export declare const menu: <T extends DOMElementArguments<ElementAttributesOf<HTMLMenuElement>>>(...args: NoInfer<T>) => ElementController;
92
+ export declare const meta: <T extends DOMElementArguments<ElementAttributesOf<HTMLMetaElement>>>(...args: NoInfer<T>) => ElementController;
93
+ export declare const meter: <T extends DOMElementArguments<ElementAttributesOf<HTMLMeterElement>>>(...args: NoInfer<T>) => ElementController;
94
+ export declare const nav: <T extends DOMElementArguments<ElementAttributesOf<HTMLElement>>>(...args: NoInfer<T>) => ElementController;
95
+ export declare const noscript: <T extends DOMElementArguments<ElementAttributesOf<HTMLElement>>>(...args: NoInfer<T>) => ElementController;
96
+ export declare const object: <T extends DOMElementArguments<ElementAttributesOf<HTMLObjectElement>>>(...args: NoInfer<T>) => ElementController;
97
+ export declare const ol: <T extends DOMElementArguments<ElementAttributesOf<HTMLOListElement>>>(...args: NoInfer<T>) => ElementController;
98
+ export declare const optgroup: <T extends DOMElementArguments<ElementAttributesOf<HTMLOptGroupElement>>>(...args: NoInfer<T>) => ElementController;
99
+ export declare const option: <T extends DOMElementArguments<ElementAttributesOf<HTMLOptionElement>>>(...args: NoInfer<T>) => ElementController;
100
+ export declare const output: <T extends DOMElementArguments<ElementAttributesOf<HTMLOutputElement>>>(...args: NoInfer<T>) => ElementController;
101
+ export declare const p: <T extends DOMElementArguments<ElementAttributesOf<HTMLParagraphElement>>>(...args: NoInfer<T>) => ElementController;
102
+ export declare const picture: <T extends DOMElementArguments<ElementAttributesOf<HTMLPictureElement>>>(...args: NoInfer<T>) => ElementController;
103
+ export declare const pre: <T extends DOMElementArguments<ElementAttributesOf<HTMLPreElement>>>(...args: NoInfer<T>) => ElementController;
104
+ export declare const progress: <T extends DOMElementArguments<ElementAttributesOf<HTMLProgressElement>>>(...args: NoInfer<T>) => ElementController;
105
+ export declare const q: <T extends DOMElementArguments<ElementAttributesOf<HTMLQuoteElement>>>(...args: NoInfer<T>) => ElementController;
106
+ export declare const rp: <T extends DOMElementArguments<ElementAttributesOf<HTMLElement>>>(...args: NoInfer<T>) => ElementController;
107
+ export declare const rt: <T extends DOMElementArguments<ElementAttributesOf<HTMLElement>>>(...args: NoInfer<T>) => ElementController;
108
+ export declare const ruby: <T extends DOMElementArguments<ElementAttributesOf<HTMLElement>>>(...args: NoInfer<T>) => ElementController;
109
+ export declare const s: <T extends DOMElementArguments<ElementAttributesOf<HTMLElement>>>(...args: NoInfer<T>) => ElementController;
110
+ export declare const samp: <T extends DOMElementArguments<ElementAttributesOf<HTMLElement>>>(...args: NoInfer<T>) => ElementController;
111
+ export declare const script: <T extends DOMElementArguments<ElementAttributesOf<HTMLScriptElement>>>(...args: NoInfer<T>) => ElementController;
112
+ export declare const search: <T extends DOMElementArguments<ElementAttributesOf<HTMLElement>>>(...args: NoInfer<T>) => ElementController;
113
+ export declare const section: <T extends DOMElementArguments<ElementAttributesOf<HTMLElement>>>(...args: NoInfer<T>) => ElementController;
114
+ export declare const select: <T extends DOMElementArguments<ElementAttributesOf<HTMLSelectElement>>>(...args: NoInfer<T>) => ElementController;
115
+ export declare const slot: <T extends DOMElementArguments<ElementAttributesOf<HTMLSlotElement>>>(...args: NoInfer<T>) => ElementController;
116
+ export declare const small: <T extends DOMElementArguments<ElementAttributesOf<HTMLElement>>>(...args: NoInfer<T>) => ElementController;
117
+ export declare const source: <T extends DOMElementArguments<ElementAttributesOf<HTMLSourceElement>>>(...args: NoInfer<T>) => ElementController;
118
+ export declare const span: <T extends DOMElementArguments<ElementAttributesOf<HTMLSpanElement>>>(...args: NoInfer<T>) => ElementController;
119
+ export declare const strong: <T extends DOMElementArguments<ElementAttributesOf<HTMLElement>>>(...args: NoInfer<T>) => ElementController;
120
+ export declare const style: <T extends DOMElementArguments<ElementAttributesOf<HTMLStyleElement>>>(...args: NoInfer<T>) => ElementController;
121
+ export declare const sub: <T extends DOMElementArguments<ElementAttributesOf<HTMLElement>>>(...args: NoInfer<T>) => ElementController;
122
+ export declare const summary: <T extends DOMElementArguments<ElementAttributesOf<HTMLElement>>>(...args: NoInfer<T>) => ElementController;
123
+ export declare const sup: <T extends DOMElementArguments<ElementAttributesOf<HTMLElement>>>(...args: NoInfer<T>) => ElementController;
124
+ export declare const table: <T extends DOMElementArguments<ElementAttributesOf<HTMLTableElement>>>(...args: NoInfer<T>) => ElementController;
125
+ export declare const tbody: <T extends DOMElementArguments<ElementAttributesOf<HTMLTableSectionElement>>>(...args: NoInfer<T>) => ElementController;
126
+ export declare const td: <T extends DOMElementArguments<ElementAttributesOf<HTMLTableCellElement>>>(...args: NoInfer<T>) => ElementController;
127
+ export declare const template: <T extends DOMElementArguments<ElementAttributesOf<HTMLTemplateElement>>>(...args: NoInfer<T>) => ElementController;
128
+ export declare const textarea: <T extends DOMElementArguments<ElementAttributesOf<HTMLTextAreaElement>>>(...args: NoInfer<T>) => ElementController;
129
+ export declare const tfoot: <T extends DOMElementArguments<ElementAttributesOf<HTMLTableSectionElement>>>(...args: NoInfer<T>) => ElementController;
130
+ export declare const th: <T extends DOMElementArguments<ElementAttributesOf<HTMLTableCellElement>>>(...args: NoInfer<T>) => ElementController;
131
+ export declare const thead: <T extends DOMElementArguments<ElementAttributesOf<HTMLTableSectionElement>>>(...args: NoInfer<T>) => ElementController;
132
+ export declare const time: <T extends DOMElementArguments<ElementAttributesOf<HTMLTimeElement>>>(...args: NoInfer<T>) => ElementController;
133
+ export declare const title: <T extends DOMElementArguments<ElementAttributesOf<HTMLTitleElement>>>(...args: NoInfer<T>) => ElementController;
134
+ export declare const tr: <T extends DOMElementArguments<ElementAttributesOf<HTMLTableRowElement>>>(...args: NoInfer<T>) => ElementController;
135
+ export declare const track: <T extends DOMElementArguments<ElementAttributesOf<HTMLTrackElement>>>(...args: NoInfer<T>) => ElementController;
136
+ export declare const u: <T extends DOMElementArguments<ElementAttributesOf<HTMLElement>>>(...args: NoInfer<T>) => ElementController;
137
+ export declare const ul: <T extends DOMElementArguments<ElementAttributesOf<HTMLUListElement>>>(...args: NoInfer<T>) => ElementController;
138
+ declare const cvar: <T extends DOMElementArguments<ElementAttributesOf<HTMLElement>>>(...args: NoInfer<T>) => ElementController;
139
+ export { cvar as var };
140
+ export declare const video: <T extends DOMElementArguments<ElementAttributesOf<HTMLVideoElement>>>(...args: NoInfer<T>) => ElementController;
141
+ export declare const wbr: <T extends DOMElementArguments<ElementAttributesOf<HTMLElement>>>(...args: NoInfer<T>) => ElementController;
@@ -0,0 +1,65 @@
1
+ import { ElementAttributesOf } from './elementAttributeTypes.js';
2
+ export declare const a: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGAElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
3
+ export declare const animate: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGAnimateElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
4
+ export declare const animateMotion: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGAnimateMotionElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
5
+ export declare const animateTransform: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGAnimateTransformElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
6
+ export declare const circle: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGCircleElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
7
+ export declare const clipPath: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGClipPathElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
8
+ export declare const defs: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGDefsElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
9
+ export declare const desc: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGDescElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
10
+ export declare const ellipse: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGEllipseElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
11
+ export declare const feBlend: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGFEBlendElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
12
+ export declare const feColorMatrix: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGFEColorMatrixElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
13
+ export declare const feComponentTransfer: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGFEComponentTransferElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
14
+ export declare const feComposite: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGFECompositeElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
15
+ export declare const feConvolveMatrix: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGFEConvolveMatrixElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
16
+ export declare const feDiffuseLighting: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGFEDiffuseLightingElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
17
+ export declare const feDisplacementMap: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGFEDisplacementMapElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
18
+ export declare const feDistantLight: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGFEDistantLightElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
19
+ export declare const feDropShadow: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGFEDropShadowElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
20
+ export declare const feFlood: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGFEFloodElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
21
+ export declare const feFuncA: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGFEFuncAElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
22
+ export declare const feFuncB: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGFEFuncBElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
23
+ export declare const feFuncG: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGFEFuncGElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
24
+ export declare const feFuncR: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGFEFuncRElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
25
+ export declare const feGaussianBlur: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGFEGaussianBlurElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
26
+ export declare const feImage: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGFEImageElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
27
+ export declare const feMerge: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGFEMergeElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
28
+ export declare const feMergeNode: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGFEMergeNodeElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
29
+ export declare const feMorphology: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGFEMorphologyElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
30
+ export declare const feOffset: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGFEOffsetElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
31
+ export declare const fePointLight: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGFEPointLightElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
32
+ export declare const feSpecularLighting: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGFESpecularLightingElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
33
+ export declare const feSpotLight: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGFESpotLightElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
34
+ export declare const feTile: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGFETileElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
35
+ export declare const feTurbulence: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGFETurbulenceElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
36
+ export declare const filter: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGFilterElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
37
+ export declare const foreignObject: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGForeignObjectElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
38
+ export declare const g: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGGElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
39
+ export declare const image: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGImageElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
40
+ export declare const line: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGLineElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
41
+ export declare const linearGradient: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGLinearGradientElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
42
+ export declare const marker: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGMarkerElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
43
+ export declare const mask: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGMaskElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
44
+ export declare const metadata: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGMetadataElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
45
+ export declare const mpath: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGMPathElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
46
+ export declare const path: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGPathElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
47
+ export declare const pattern: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGPatternElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
48
+ export declare const polygon: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGPolygonElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
49
+ export declare const polyline: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGPolylineElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
50
+ export declare const radialGradient: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGRadialGradientElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
51
+ export declare const rect: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGRectElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
52
+ export declare const script: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGScriptElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
53
+ export declare const set: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGSetElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
54
+ export declare const stop: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGStopElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
55
+ export declare const style: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGStyleElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
56
+ export declare const svg: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGSVGElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
57
+ declare const cswitch: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGSwitchElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
58
+ export { cswitch as switch };
59
+ export declare const symbol: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGSymbolElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
60
+ export declare const text: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGTextElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
61
+ export declare const textPath: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGTextPathElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
62
+ export declare const title: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGTitleElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
63
+ export declare const tspan: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGTSpanElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
64
+ export declare const use: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGUseElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
65
+ export declare const view: <T extends import('../types.ts').DOMElementArguments<ElementAttributesOf<SVGViewElement>>>(...args: NoInfer<T>) => import('../nodeControllers/SVGElementController.ts').SVGElementController;
@@ -0,0 +1,100 @@
1
+ import { ObjectStateOf, State } from '../../state/types/types.js';
2
+ import { CSSStyleDeclaration, ElementClassValue, MaybeState, StringablePrimitive } from '../types.js';
3
+ type EventHandlerKeys<E> = {
4
+ [K in keyof E]-?: K extends `on${string}` ? NonNullable<E[K]> extends (this: any, ev: infer _Ev) => any ? K : never : never;
5
+ }[keyof E];
6
+ type RawElementEventMap<E> = {
7
+ [K in EventHandlerKeys<E> as K extends `on${infer Name}` ? Name : never]: NonNullable<E[K]> extends (this: any, ev: infer Ev) => any ? Ev : never;
8
+ };
9
+ type EventsWithoutHandlerProperty<E> = E extends GlobalEventHandlers ? Omit<GlobalEventHandlersEventMap, keyof RawElementEventMap<E>> : object;
10
+ type EventMapOf<E> = RawElementEventMap<E> & EventsWithoutHandlerProperty<E>;
11
+ type NarrowedEventMap<E> = {
12
+ [K in keyof EventMapOf<E>]: EventMapOf<E>[K] & {
13
+ target: E;
14
+ currentTarget: E;
15
+ };
16
+ };
17
+ type EventListenerOptionsArg = AddEventListenerOptions | boolean;
18
+ type EventListenerTuple<Ev> = readonly [((ev: Ev) => void) | EventListenerObject, EventListenerOptionsArg?];
19
+ type BareEventListenerValue<Ev> = ((ev: Ev) => void) | EventListenerTuple<Ev>;
20
+ type AutoBindableEventKey = 'change' | 'input';
21
+ type ValueTypeOf<E> = E extends {
22
+ value: infer V;
23
+ } ? V : never;
24
+ type CheckedTypeOf<E> = E extends {
25
+ checked: infer C;
26
+ } ? C : never;
27
+ type EventListenersOf<E> = {
28
+ [K in keyof NarrowedEventMap<E>]?: BareEventListenerValue<NarrowedEventMap<E>[K]> | State<BareEventListenerValue<NarrowedEventMap<E>[K]> | null | undefined> | (K extends AutoBindableEventKey ? (ValueTypeOf<E> extends (string | number) ? State<ValueTypeOf<E> | null | undefined> : never) : never) | (K extends AutoBindableEventKey ? (CheckedTypeOf<E> extends boolean ? State<CheckedTypeOf<E> | null | undefined> : never) : never);
29
+ };
30
+ type IsReadonlyKey<E, K extends keyof E> = (<T>() => T extends {
31
+ [P in K]: E[K];
32
+ } ? 1 : 2) extends (<T>() => T extends {
33
+ -readonly [P in K]: E[K];
34
+ } ? 1 : 2) ? false : true;
35
+ type Nullish = null | undefined;
36
+ type PrimitiveSubvalue = string | number | bigint | boolean | Nullish;
37
+ type SettableKeys<E> = {
38
+ [K in keyof E]-?: K extends `on${string}` ? never : IsReadonlyKey<E, K> extends true ? never : E[K] extends PrimitiveSubvalue ? K : never;
39
+ }[keyof E];
40
+ type ExcludedAttrKeys = 'className' | 'htmlFor' | 'acceptCharset' | 'httpEquiv';
41
+ type IsAnimatedWrapper<T> = T extends {
42
+ baseVal: unknown;
43
+ } ? true : false;
44
+ type ReflectedSvgKeys<E> = {
45
+ [K in keyof E]-?: K extends `on${string}` ? never : IsAnimatedWrapper<NonNullable<E[K]>> extends true ? K : never;
46
+ }[keyof E];
47
+ type TokenListKeys<E> = {
48
+ [K in keyof E]-?: K extends `${string}List` ? never : NonNullable<E[K]> extends DOMTokenList ? K : never;
49
+ }[keyof E];
50
+ type AttrsOf<E> = Partial<Pick<E, Exclude<SettableKeys<E>, ExcludedAttrKeys>>> & {
51
+ [K in ReflectedSvgKeys<E>]?: string | number | boolean;
52
+ } & {
53
+ [K in Exclude<TokenListKeys<E>, ExcludedAttrKeys>]?: string;
54
+ };
55
+ type InterpolatedAttrValue = readonly MaybeState<PrimitiveSubvalue>[];
56
+ type Stringlike<T> = T extends string ? T | number | bigint : T;
57
+ type ReactiveAttrsOf<E> = {
58
+ [K in keyof AttrsOf<E>]: MaybeState<Stringlike<AttrsOf<E>[K]>> | InterpolatedAttrValue;
59
+ };
60
+ type SvgPresentationAttrs = {
61
+ d?: MaybeState<string>;
62
+ points?: MaybeState<string>;
63
+ fill?: MaybeState<string>;
64
+ stroke?: MaybeState<string>;
65
+ 'stroke-width'?: MaybeState<string | number>;
66
+ 'stroke-dasharray'?: MaybeState<string>;
67
+ 'stroke-linecap'?: MaybeState<string>;
68
+ 'stroke-linejoin'?: MaybeState<string>;
69
+ 'stroke-opacity'?: MaybeState<string | number>;
70
+ 'fill-opacity'?: MaybeState<string | number>;
71
+ opacity?: MaybeState<string | number>;
72
+ offset?: MaybeState<string | number>;
73
+ 'stop-color'?: MaybeState<string>;
74
+ 'stop-opacity'?: MaybeState<string | number>;
75
+ 'text-anchor'?: MaybeState<string>;
76
+ 'font-family'?: MaybeState<string>;
77
+ 'font-size'?: MaybeState<string | number>;
78
+ 'clip-path'?: MaybeState<string>;
79
+ 'dominant-baseline'?: MaybeState<string>;
80
+ };
81
+ type SvgOnly<E> = E extends SVGElement ? SvgPresentationAttrs : object;
82
+ export type FrameworkProps<E> = {
83
+ class?: ElementClassValue;
84
+ style?: CSSStyleDeclaration | ObjectStateOf<CSSStyleDeclaration>;
85
+ nodeCreated?: (a: {
86
+ target?: E;
87
+ }) => void;
88
+ nodeInserted?: (a: {
89
+ target?: E;
90
+ }) => void;
91
+ nodeRemoved?: (a: {
92
+ target?: E;
93
+ }) => void;
94
+ part?: MaybeState<string>;
95
+ } & {
96
+ [key: `aria-${string}`]: MaybeState<StringablePrimitive | boolean | Nullish>;
97
+ [key: `data-${string}`]: MaybeState<StringablePrimitive | boolean | Nullish>;
98
+ };
99
+ export type ElementAttributesOf<E> = ReactiveAttrsOf<E> & EventListenersOf<E> & FrameworkProps<E> & SvgOnly<E>;
100
+ export {};
@@ -0,0 +1,10 @@
1
+ import { NodeController } from './NodeController.js';
2
+ import { ChildProp, ComponentOptions } from '../types.js';
3
+ import { RenderError } from '../util/RenderError.js';
4
+ import { State } from '../../state/types/types.js';
5
+ export declare class ComponentController extends NodeController {
6
+ orValue: ChildProp;
7
+ renderError?: RenderError;
8
+ protected buildNode(properties: ComponentOptions | undefined, namedStates?: Record<PropertyKey, State>, stateContext?: NodeController): Record<PropertyKey, import('../../state/types/types.js').PrimitiveState<unknown, unknown>> | undefined;
9
+ or(v: ChildProp): this;
10
+ }
@@ -0,0 +1,14 @@
1
+ import { NodeController } from './NodeController.js';
2
+ import { DOMElementAttributes, HydrationContext } from '../types.js';
3
+ export declare class ElementController extends NodeController {
4
+ private eventListeners?;
5
+ protected makeElement(tagName: string): HTMLElement | SVGElement;
6
+ remove(removeNode?: boolean): void;
7
+ protected buildNode(properties: DOMElementAttributes | undefined, _namedStates: unknown, stateContext: NodeController | undefined, hydrationContext: HydrationContext): void;
8
+ private joinPropArray;
9
+ private handleProp;
10
+ private static propertyChanged;
11
+ private applyUpdate;
12
+ private updateProperty;
13
+ private deferUntilConnected;
14
+ }
@@ -0,0 +1,81 @@
1
+ import { CatchFallback, ChildNode, ComponentOptions, DOMElementAttributes, DOMNodeDefinition, FindNodeResult, HydrationContext, NodeArguments, NodeContext, TreeNode } from '../types.js';
2
+ import { State } from '../../state/types/types.js';
3
+ import { CallbackTransform } from '../../state/transforms/CallbackTransform.js';
4
+ import { StateController } from './StateController.js';
5
+ import { ComponentController } from './ComponentController.js';
6
+ import { LightState } from '../../state/stateInternals/LightState.js';
7
+ import { RenderError } from '../util/RenderError.js';
8
+ export declare const TEXT_NODE = 42;
9
+ export type StateControllersByState = {
10
+ lookup(ls: LightState): StateController | undefined;
11
+ };
12
+ export declare const MODE_CSR = 0;
13
+ export declare const MODE_HYDRATE = 1;
14
+ export declare const MODE_RENDER = 2;
15
+ export declare const CONTROLLER_FLAG_IS_CONTEXT_TRANSPARENT = 1;
16
+ export declare const CONTROLLER_FLAG_IS_STATE_CONTROLLER = 2;
17
+ export declare const CONTROLLER_FLAG_IS_ELEMENT = 4;
18
+ export declare const CONTROLLER_FLAG_OPAQUE_SUBTREE = 8;
19
+ export declare const CONTROLLER_FLAG_REBUILDS_FROM_ARGS = 16;
20
+ type CatchParams = {
21
+ fbValue: CatchFallback;
22
+ stateContext?: NodeController;
23
+ namedStates?: Record<PropertyKey, State>;
24
+ lvl: number;
25
+ };
26
+ export declare abstract class NodeController {
27
+ ctx?: NodeContext;
28
+ el?: HTMLElement | SVGElement;
29
+ par?: NodeController;
30
+ nc: number;
31
+ flg: number;
32
+ pnc: number;
33
+ cid: number;
34
+ protected args?: unknown[];
35
+ protected c?: ChildNode[];
36
+ protected subs?: ((() => void) | CallbackTransform)[];
37
+ protected def?: DOMNodeDefinition;
38
+ catchParams?: CatchParams;
39
+ protected abstract buildNode(properties?: DOMElementAttributes | ComponentOptions, namedStates?: Record<PropertyKey, State>, stateContext?: NodeController, hydrationContext?: HydrationContext, level?: number): Record<PropertyKey, State> | void;
40
+ private static StateController?;
41
+ static setStateController(stateController: typeof StateController): void;
42
+ private static ComponentController?;
43
+ static setComponentController(componentController: typeof ComponentController): void;
44
+ private static mightBeReplayedFromArgs;
45
+ private static stateMightReuseArgs;
46
+ private static invokeDetached;
47
+ constructor(definition: DOMNodeDefinition, args?: NodeArguments);
48
+ private parseArgsRecursive;
49
+ protected createTextChild(value: unknown): ChildNode;
50
+ protected parseArgs(args: NodeArguments, previousStateControllers?: StateControllersByState): DOMElementAttributes | ComponentOptions | undefined;
51
+ catch(v: CatchFallback): this;
52
+ build(parentController?: NodeController, DOMContext?: FindNodeResult, stateContext?: NodeController, namedStates?: Record<PropertyKey, State>, hydrationContext?: HydrationContext, level?: number): void;
53
+ triggerCatch(cause: unknown): RenderError;
54
+ private renderFallback;
55
+ protected createChildren(parentController?: NodeController, DOMContext?: FindNodeResult, stateContext?: NodeController, namedStates?: Record<PropertyKey, State> | undefined, hydrationContext?: HydrationContext, level?: number): void;
56
+ protected getMountElement(): HTMLElement | SVGElement | undefined;
57
+ protected inheritContext(ctx?: NodeContext): NodeContext | undefined;
58
+ protected getNodes(p: TreeNode): Node[];
59
+ isSoleChild(child: NodeController): boolean;
60
+ isSpent(): boolean;
61
+ isMounted(): boolean;
62
+ heldForm(): TreeNode;
63
+ getFirstNode(node: TreeNode): Node | undefined;
64
+ private classifyChild;
65
+ private dropNode;
66
+ protected removeExcessNodes(hydrationContext: HydrationContext): void;
67
+ private crossJunction;
68
+ protected resolveChild(child: NodeController, isStateController: boolean): ChildNode | ChildNode[];
69
+ protected addChildren(DOMContext: FindNodeResult, hydrationContext?: HydrationContext, stateContext?: NodeController, namedStates?: Record<PropertyKey, State>, level?: number): number;
70
+ protected getParallelNodeCount(childrenNodeCount: number): number;
71
+ protected updateNodeCount(newCount: number): void;
72
+ protected enclosingMountElement(): Node | undefined;
73
+ protected handleReactiveError(e: unknown): void;
74
+ addCleanup(fn: () => void): void;
75
+ protected addSub(transform: CallbackTransform, target?: NodeController): void;
76
+ protected unsubscribeAll(): void;
77
+ remove(removeNode?: boolean): void;
78
+ removeChildren(removeNodes?: boolean): void;
79
+ findNode(referenceNode: ChildNode, nodeIndex?: number, startChildIndex?: number, startNode?: Node | null, startNodeIndex?: number): FindNodeResult;
80
+ }
81
+ export {};
@@ -0,0 +1,12 @@
1
+ import { NodeController } from './NodeController.js';
2
+ import { DOMNodeDefinition, NodeArguments, RenderContext } from '../types.js';
3
+ export declare class RootController extends NodeController {
4
+ private rootEl?;
5
+ constructor(definition: DOMNodeDefinition, args?: NodeArguments);
6
+ protected buildNode(properties: RenderContext | undefined): void;
7
+ protected getMountElement(): HTMLElement | SVGElement | undefined;
8
+ protected getParallelNodeCount(): number;
9
+ createRoot(): void;
10
+ renderedRoot(): HTMLElement | SVGElement;
11
+ remove(): void;
12
+ }
@@ -0,0 +1,4 @@
1
+ import { ElementController } from './ElementController.js';
2
+ export declare class SVGElementController extends ElementController {
3
+ protected makeElement(tagName: string): SVGElement;
4
+ }
@@ -0,0 +1,43 @@
1
+ import { NodeController } from './NodeController.js';
2
+ import { State } from '../../state/types/types.js';
3
+ import { Transform } from '../../state/transforms/Transform.js';
4
+ import { FindNodeResult, HydrationContext } from '../types.js';
5
+ export declare class StateController extends NodeController {
6
+ private nst?;
7
+ private nxt?;
8
+ private insertionParent?;
9
+ private nestLevel;
10
+ private namedStates?;
11
+ private static pendingDestroy;
12
+ private static idleDestroy;
13
+ private static pendingClears;
14
+ private static idleClears;
15
+ private static pendingCalls;
16
+ private static idleCalls;
17
+ private static previousStateControllers;
18
+ private static movableControllersByDef;
19
+ get tfm(): Transform | undefined;
20
+ build(parentController?: NodeController, DOMContext?: FindNodeResult, stateContext?: NodeController, namedStates?: Record<PropertyKey, State>, hydrationContext?: HydrationContext, level?: number): void;
21
+ remove(removeNode?: boolean): void;
22
+ private static registerMovableChildren;
23
+ private static detachFromDonor;
24
+ private hasMovableChildren;
25
+ static registerPendingCall(fn: () => void): void;
26
+ static flushPendingWork(): void;
27
+ protected buildNode(_properties: unknown, namedStates?: Record<PropertyKey, State>, _stateContext?: NodeController, _hydrationContext?: unknown, level?: number): void;
28
+ private childArgs;
29
+ private checkNodeStateType;
30
+ private static stateChanged;
31
+ private onStateChange;
32
+ private updateBody;
33
+ private clearAll;
34
+ private detachCleared;
35
+ private adoptBareChild;
36
+ private detachChild;
37
+ private insertChild;
38
+ private static insertNode;
39
+ private moveChild;
40
+ private nextDomNode;
41
+ private mutateRange;
42
+ private applyMutation;
43
+ }
@@ -0,0 +1,2 @@
1
+ import { ServerElement } from './serverNodes.js';
2
+ export declare const serializeChildren: (el: ServerElement) => string;
@@ -0,0 +1,41 @@
1
+ import { NodeFactory } from '../types.js';
2
+ export declare abstract class ServerNode {
3
+ abstract get nodeType(): number;
4
+ parentNode?: ServerElement;
5
+ remove(): void;
6
+ }
7
+ declare abstract class CharacterDataNode extends ServerNode {
8
+ data: string;
9
+ constructor(data: string);
10
+ get textContent(): string;
11
+ set textContent(value: string);
12
+ }
13
+ export declare class ServerText extends CharacterDataNode {
14
+ get nodeType(): number;
15
+ }
16
+ export declare class ServerComment extends CharacterDataNode {
17
+ get nodeType(): number;
18
+ }
19
+ declare class ServerStyle {
20
+ private readonly el;
21
+ private readonly props;
22
+ constructor(el: ServerElement);
23
+ setProperty(name: string, value: string | null): void;
24
+ }
25
+ export type ChildOfServerElement = ServerNode | Node;
26
+ export declare class ServerElement extends ServerNode {
27
+ readonly tagName: string;
28
+ readonly attrs: Map<string, string>;
29
+ readonly childNodes: ChildOfServerElement[];
30
+ readonly style: ServerStyle;
31
+ html?: string;
32
+ constructor(tagName: string);
33
+ get nodeType(): number;
34
+ setAttribute(name: string, value: string): void;
35
+ removeAttribute(name: string): void;
36
+ set innerHTML(markup: string);
37
+ insertBefore(node: ChildOfServerElement, ref?: ChildOfServerElement | null): ChildOfServerElement;
38
+ removeChild(node: ChildOfServerElement): ChildOfServerElement;
39
+ }
40
+ export declare const serverDocument: NodeFactory;
41
+ export {};