ctrl-fx 0.0.1 → 0.1.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 (145) hide show
  1. package/dist/clipboard.d.ts +7 -0
  2. package/dist/clipboard.d.ts.map +1 -0
  3. package/dist/clipboard.js +3 -0
  4. package/dist/db/effects.d.ts +78 -0
  5. package/dist/db/effects.d.ts.map +1 -0
  6. package/dist/db/effects.js +98 -0
  7. package/dist/db/errors.d.ts +21 -0
  8. package/dist/db/errors.d.ts.map +1 -0
  9. package/dist/db/errors.js +13 -0
  10. package/dist/db/index.d.ts +32 -0
  11. package/dist/db/index.d.ts.map +1 -0
  12. package/dist/db/index.js +19 -0
  13. package/dist/db/keypath.d.ts +40 -0
  14. package/dist/db/keypath.d.ts.map +1 -0
  15. package/dist/db/keypath.js +20 -0
  16. package/dist/db/setup.d.ts +83 -0
  17. package/dist/db/setup.d.ts.map +1 -0
  18. package/dist/db/setup.js +100 -0
  19. package/dist/db/testdb.d.ts +19 -0
  20. package/dist/db/testdb.d.ts.map +1 -0
  21. package/dist/db/testdb.js +34 -0
  22. package/dist/dom/attrs.d.ts +67 -0
  23. package/dist/dom/attrs.d.ts.map +1 -0
  24. package/dist/dom/attrs.js +154 -0
  25. package/dist/dom/components.d.ts +43 -0
  26. package/dist/dom/components.d.ts.map +1 -0
  27. package/dist/dom/components.js +86 -0
  28. package/dist/dom/elems.d.ts +121 -0
  29. package/dist/dom/elems.d.ts.map +1 -0
  30. package/dist/dom/elems.js +52 -0
  31. package/dist/dom/events.d.ts +232 -0
  32. package/dist/dom/events.d.ts.map +1 -0
  33. package/dist/dom/events.js +289 -0
  34. package/dist/dom/index.d.ts +248 -0
  35. package/dist/dom/index.d.ts.map +1 -0
  36. package/dist/dom/index.js +266 -0
  37. package/dist/dom/nodeid.d.ts +9 -0
  38. package/dist/dom/nodeid.d.ts.map +1 -0
  39. package/dist/dom/nodeid.js +27 -0
  40. package/dist/dom/svg.d.ts +23 -0
  41. package/dist/dom/svg.d.ts.map +1 -0
  42. package/dist/dom/svg.js +1 -0
  43. package/dist/dom/views.d.ts +60 -0
  44. package/dist/dom/views.d.ts.map +1 -0
  45. package/dist/dom/views.js +154 -0
  46. package/dist/effects.d.ts +580 -0
  47. package/dist/effects.d.ts.map +1 -0
  48. package/dist/effects.js +1556 -0
  49. package/dist/index.d.ts +41 -0
  50. package/dist/index.d.ts.map +1 -0
  51. package/dist/index.js +78 -0
  52. package/dist/internal/clipboard.d.ts +5 -0
  53. package/dist/internal/clipboard.d.ts.map +1 -0
  54. package/dist/internal/clipboard.js +33 -0
  55. package/dist/internal/cmpmgr.d.ts +46 -0
  56. package/dist/internal/cmpmgr.d.ts.map +1 -0
  57. package/dist/internal/cmpmgr.js +561 -0
  58. package/dist/internal/dbmgr.d.ts +11 -0
  59. package/dist/internal/dbmgr.d.ts.map +1 -0
  60. package/dist/internal/dbmgr.js +200 -0
  61. package/dist/internal/dominterpreter.d.ts +5 -0
  62. package/dist/internal/dominterpreter.d.ts.map +1 -0
  63. package/dist/internal/dominterpreter.js +337 -0
  64. package/dist/internal/eventmgr.d.ts +41 -0
  65. package/dist/internal/eventmgr.d.ts.map +1 -0
  66. package/dist/internal/eventmgr.js +696 -0
  67. package/dist/internal/index.d.ts +19 -0
  68. package/dist/internal/index.d.ts.map +1 -0
  69. package/dist/internal/index.js +38 -0
  70. package/dist/internal/interpreter.d.ts +10 -0
  71. package/dist/internal/interpreter.d.ts.map +1 -0
  72. package/dist/internal/interpreter.js +1 -0
  73. package/dist/internal/locutils.d.ts +4 -0
  74. package/dist/internal/locutils.d.ts.map +1 -0
  75. package/dist/internal/locutils.js +22 -0
  76. package/dist/internal/net.d.ts +4 -0
  77. package/dist/internal/net.d.ts.map +1 -0
  78. package/dist/internal/net.js +64 -0
  79. package/dist/internal/realdom.d.ts +249 -0
  80. package/dist/internal/realdom.d.ts.map +1 -0
  81. package/dist/internal/realdom.js +1 -0
  82. package/dist/internal/styleregistry.d.ts +6 -0
  83. package/dist/internal/styleregistry.d.ts.map +1 -0
  84. package/dist/internal/styleregistry.js +18 -0
  85. package/dist/internal/taskreg.d.ts +9 -0
  86. package/dist/internal/taskreg.d.ts.map +1 -0
  87. package/dist/internal/taskreg.js +28 -0
  88. package/dist/internal/testing.d.ts +12 -0
  89. package/dist/internal/testing.d.ts.map +1 -0
  90. package/dist/internal/testing.js +974 -0
  91. package/dist/internal/testinginterpreter.d.ts +10 -0
  92. package/dist/internal/testinginterpreter.d.ts.map +1 -0
  93. package/dist/internal/testinginterpreter.js +646 -0
  94. package/dist/internal/vdom.d.ts +93 -0
  95. package/dist/internal/vdom.d.ts.map +1 -0
  96. package/dist/internal/vdom.js +470 -0
  97. package/dist/json/index.d.ts +5 -0
  98. package/dist/json/index.d.ts.map +1 -0
  99. package/dist/json/index.js +2 -0
  100. package/dist/json/validation.d.ts +28 -0
  101. package/dist/json/validation.d.ts.map +1 -0
  102. package/dist/json/validation.js +8 -0
  103. package/dist/net/fragment.d.ts +10 -0
  104. package/dist/net/fragment.d.ts.map +1 -0
  105. package/dist/net/fragment.js +27 -0
  106. package/dist/net/index.d.ts +42 -0
  107. package/dist/net/index.d.ts.map +1 -0
  108. package/dist/net/index.js +60 -0
  109. package/dist/net/location.d.ts +21 -0
  110. package/dist/net/location.d.ts.map +1 -0
  111. package/dist/net/location.js +41 -0
  112. package/dist/net/path.d.ts +12 -0
  113. package/dist/net/path.d.ts.map +1 -0
  114. package/dist/net/path.js +29 -0
  115. package/dist/net/queryparam.d.ts +10 -0
  116. package/dist/net/queryparam.d.ts.map +1 -0
  117. package/dist/net/queryparam.js +34 -0
  118. package/dist/router.d.ts +40 -0
  119. package/dist/router.d.ts.map +1 -0
  120. package/dist/router.js +77 -0
  121. package/dist/scroll.d.ts +7 -0
  122. package/dist/scroll.d.ts.map +1 -0
  123. package/dist/scroll.js +3 -0
  124. package/dist/testing.d.ts +248 -0
  125. package/dist/testing.d.ts.map +1 -0
  126. package/dist/testing.js +159 -0
  127. package/dist/utils/apply.d.ts +9 -0
  128. package/dist/utils/apply.d.ts.map +1 -0
  129. package/dist/utils/apply.js +10 -0
  130. package/dist/utils/index.d.ts +22 -0
  131. package/dist/utils/index.d.ts.map +1 -0
  132. package/dist/utils/index.js +138 -0
  133. package/dist/utils/lens.d.ts +18 -0
  134. package/dist/utils/lens.d.ts.map +1 -0
  135. package/dist/utils/lens.js +27 -0
  136. package/dist/utils/match.d.ts +17 -0
  137. package/dist/utils/match.d.ts.map +1 -0
  138. package/dist/utils/match.js +28 -0
  139. package/dist/utils/result.d.ts +47 -0
  140. package/dist/utils/result.d.ts.map +1 -0
  141. package/dist/utils/result.js +97 -0
  142. package/dist/webcomponent.d.ts +15 -0
  143. package/dist/webcomponent.d.ts.map +1 -0
  144. package/dist/webcomponent.js +43 -0
  145. package/package.json +1 -1
@@ -0,0 +1,248 @@
1
+ import type { AttrArg } from './attrs';
2
+ export { attr, cssVars, id, prop, typeAttr, type Attr, type Prop, type AttrArg, type AttrOrNodeIdArgs } from './attrs';
3
+ export type { A, Abbr, Address, Article, Aside, B, BlockElement, Blockquote, Br, Button, ButtonContent, Cite, Code, Dd, Details, Div, Dl, Dt, Element, Em, Fieldset, Figcaption, Figure, Footer, Form, H1, H2, H3, H4, H5, H6, Header, Hr, I, Img, InlineElement, Input, Kbd, Label, Li, Main, Mark, Nav, NonVoidElement, Ol, Option, P, Pre, Q, ReplacedElement, S, Section, Select, Small, Span, Strong, Sub, Summary, Sup, Table, Tbody, Td, Textarea, Tfoot, Th, Thead, Time, Tr, U, Ul, VoidElement, } from './elems';
4
+ export type { Circle, Ellipse, Image, Line, Path, Polygon, Polyline, Rect, Svg, SvgGraphicElement, Use, } from './svg';
5
+ export { preventDefault, stopPropagation, stopPropagationAndPreventDefault, type TextState, type KeyData, type ChangeData, type MouseMoveData, type ScrollData, type WheelData, type TouchData, type EventOptions, type EventActions, type EventListenerResult, } from './events';
6
+ export { nodeId, type NodeId } from './nodeid';
7
+ import { component, type Component, type ComponentElement } from './components';
8
+ export { component, type Component, type ComponentElement };
9
+ import { type A, type Abbr, type Address, type Article, type Aside, type B, type BlockElement, type Blockquote, type Br, type Button, type ButtonContent, type Cite, type Code, type Dd, type Details, type Dl, type Dt, type Div, type Element, type Em, type Fieldset, type Figcaption, type Figure, type Footer, type Form, type H1, type H2, type H3, type H4, type H5, type H6, type Header, type Hr, type I, type Img, type InlineElement, type Input, type Kbd, type Label, type Li, type Main, type Mark, type Nav, type NonVoidElement, type Ol, type Option, type P, type Pre, type Q, type ReplacedElement, type S, type Section, type Select, type Small, type Span, type Strong, type Sub, type Summary, type Sup, type Table, type Tbody, type Td, type Textarea, type Tfoot, type Th, type Thead, type Time, type Tr, type U, type Ul, type VoidElement } from './elems';
10
+ import type { NodeId } from './nodeid';
11
+ import type { Circle, Ellipse, Image, Line, Path, Polygon, Polyline, Rect, Svg, SvgGraphicElement, Use } from './svg';
12
+ import { type NodeGroup, type View } from './views';
13
+ export type { NodeGroup, View };
14
+ /** A non-void element with an arbitrary tag name, for custom or non-standard HTML elements. */
15
+ export type CustomElement<State, Event> = NonVoidElement<State, Event, string, any>;
16
+ /** Union of all node types valid in block-level (flow) positions. */
17
+ export type FlowContent<State, Event> = PhrasingContent<State, Event> | BlockElement<State, Event> | ReplacedElement<State, Event> | SvgGraphicElement<State, Event> | string | View<State, unknown, Event> | ComponentElement<any, any, any, any, any> | CustomElement<State, Event>;
18
+ /** Union of inline elements and plain text nodes. */
19
+ export type PhrasingContent<State, Event> = InlineElement<State, Event> | string;
20
+ /** Union of all virtual DOM node types: elements, text, views, and component instances. */
21
+ export type Node<State, Event> = Element<State, Event> | string | View<State, unknown, Event> | ComponentElement<any, any, any, any, any> | CustomElement<State, Event>;
22
+ export type NonTextNode<State, Event> = Exclude<Node<State, Event>, string>;
23
+ /**
24
+ * Factory that returns all HTML and SVG element builders with `State` and `Event` pre-applied.
25
+ *
26
+ * Each element comes in three forms:
27
+ * - `div(...attrs)(...children)` — full curried form, accepts attributes then children
28
+ * - `div_(...children)` — no-attribute shorthand, equivalent to `div()(...)`
29
+ * - `div__(...attrs)` — no-children shorthand, equivalent to `div(...)()`
30
+ *
31
+ * Call `makeDom<State, Event>()` once at the top of your module and destructure the elements you need:
32
+ * ```ts
33
+ * const { div_, span_, button } = makeDom<State, Event>()
34
+ * ```
35
+ */
36
+ export declare function makeDom<State, Event>(): {
37
+ a_: (...children: readonly FlowContent<State, Event>[]) => A<State, Event>;
38
+ a__: (...attrs: AttrArg[]) => A<State, Event>;
39
+ abbr_: (...children: readonly PhrasingContent<State, Event>[]) => Abbr<State, Event>;
40
+ abbr__: (...attrs: AttrArg[]) => Abbr<State, Event>;
41
+ address_: (...children: readonly FlowContent<State, Event>[]) => Address<State, Event>;
42
+ address__: (...attrs: AttrArg[]) => Address<State, Event>;
43
+ article_: (...children: readonly FlowContent<State, Event>[]) => Article<State, Event>;
44
+ article__: (...attrs: AttrArg[]) => Article<State, Event>;
45
+ aside_: (...children: readonly FlowContent<State, Event>[]) => Aside<State, Event>;
46
+ aside__: (...attrs: AttrArg[]) => Aside<State, Event>;
47
+ b_: (...children: readonly PhrasingContent<State, Event>[]) => B<State, Event>;
48
+ b__: (...attrs: AttrArg[]) => B<State, Event>;
49
+ blockquote_: (...children: readonly FlowContent<State, Event>[]) => Blockquote<State, Event>;
50
+ blockquote__: (...attrs: AttrArg[]) => Blockquote<State, Event>;
51
+ button_: (...children: readonly ButtonContent<State, Event>[]) => Button<State, Event>;
52
+ button__: (...attrs: AttrArg[]) => Button<State, Event>;
53
+ cite_: (...children: readonly PhrasingContent<State, Event>[]) => Cite<State, Event>;
54
+ cite__: (...attrs: AttrArg[]) => Cite<State, Event>;
55
+ code_: (...children: readonly PhrasingContent<State, Event>[]) => Code<State, Event>;
56
+ code__: (...attrs: AttrArg[]) => Code<State, Event>;
57
+ dd_: (...children: readonly FlowContent<State, Event>[]) => Dd<State, Event>;
58
+ dd__: (...attrs: AttrArg[]) => Dd<State, Event>;
59
+ details_: (...children: readonly FlowContent<State, Event>[]) => Details<State, Event>;
60
+ details__: (...attrs: AttrArg[]) => Details<State, Event>;
61
+ div_: (...children: readonly FlowContent<State, Event>[]) => Div<State, Event>;
62
+ div__: (...attrs: AttrArg[]) => Div<State, Event>;
63
+ dl_: (...children: readonly (Dd<State, Event> | Dt<State, Event>)[]) => Dl<State, Event>;
64
+ dl__: (...attrs: AttrArg[]) => Dl<State, Event>;
65
+ dt_: (...children: readonly PhrasingContent<State, Event>[]) => Dt<State, Event>;
66
+ dt__: (...attrs: AttrArg[]) => Dt<State, Event>;
67
+ em_: (...children: readonly PhrasingContent<State, Event>[]) => Em<State, Event>;
68
+ em__: (...attrs: AttrArg[]) => Em<State, Event>;
69
+ fieldset_: (...children: readonly FlowContent<State, Event>[]) => Fieldset<State, Event>;
70
+ fieldset__: (...attrs: AttrArg[]) => Fieldset<State, Event>;
71
+ figcaption_: (...children: readonly FlowContent<State, Event>[]) => Figcaption<State, Event>;
72
+ figcaption__: (...attrs: AttrArg[]) => Figcaption<State, Event>;
73
+ figure_: (...children: readonly FlowContent<State, Event>[]) => Figure<State, Event>;
74
+ figure__: (...attrs: AttrArg[]) => Figure<State, Event>;
75
+ footer_: (...children: readonly FlowContent<State, Event>[]) => Footer<State, Event>;
76
+ footer__: (...attrs: AttrArg[]) => Footer<State, Event>;
77
+ form_: (...children: readonly FlowContent<State, Event>[]) => Form<State, Event>;
78
+ form__: (...attrs: AttrArg[]) => Form<State, Event>;
79
+ h1_: (...children: readonly FlowContent<State, Event>[]) => H1<State, Event>;
80
+ h1__: (...attrs: AttrArg[]) => H1<State, Event>;
81
+ h2_: (...children: readonly FlowContent<State, Event>[]) => H2<State, Event>;
82
+ h2__: (...attrs: AttrArg[]) => H2<State, Event>;
83
+ h3_: (...children: readonly FlowContent<State, Event>[]) => H3<State, Event>;
84
+ h3__: (...attrs: AttrArg[]) => H3<State, Event>;
85
+ h4_: (...children: readonly FlowContent<State, Event>[]) => H4<State, Event>;
86
+ h4__: (...attrs: AttrArg[]) => H4<State, Event>;
87
+ h5_: (...children: readonly FlowContent<State, Event>[]) => H5<State, Event>;
88
+ h5__: (...attrs: AttrArg[]) => H5<State, Event>;
89
+ h6_: (...children: readonly FlowContent<State, Event>[]) => H6<State, Event>;
90
+ h6__: (...attrs: AttrArg[]) => H6<State, Event>;
91
+ header_: (...children: readonly FlowContent<State, Event>[]) => Header<State, Event>;
92
+ header__: (...attrs: AttrArg[]) => Header<State, Event>;
93
+ i_: (...children: readonly PhrasingContent<State, Event>[]) => I<State, Event>;
94
+ i__: (...attrs: AttrArg[]) => I<State, Event>;
95
+ kbd_: (...children: readonly PhrasingContent<State, Event>[]) => Kbd<State, Event>;
96
+ kbd__: (...attrs: AttrArg[]) => Kbd<State, Event>;
97
+ label_: (...children: readonly PhrasingContent<State, Event>[]) => Label<State, Event>;
98
+ label__: (...attrs: AttrArg[]) => Label<State, Event>;
99
+ li_: (...children: readonly FlowContent<State, Event>[]) => Li<State, Event>;
100
+ li__: (...attrs: AttrArg[]) => Li<State, Event>;
101
+ main_: (...children: readonly FlowContent<State, Event>[]) => Main<State, Event>;
102
+ main__: (...attrs: AttrArg[]) => Main<State, Event>;
103
+ mark_: (...children: readonly PhrasingContent<State, Event>[]) => Mark<State, Event>;
104
+ mark__: (...attrs: AttrArg[]) => Mark<State, Event>;
105
+ nav_: (...children: readonly FlowContent<State, Event>[]) => Nav<State, Event>;
106
+ nav__: (...attrs: AttrArg[]) => Nav<State, Event>;
107
+ ol_: (...children: readonly Li<State, Event>[]) => Ol<State, Event>;
108
+ ol__: (...attrs: AttrArg[]) => Ol<State, Event>;
109
+ option_: (...children: readonly string[]) => Option<State, Event>;
110
+ option__: (...attrs: AttrArg[]) => Option<State, Event>;
111
+ p_: (...children: readonly FlowContent<State, Event>[]) => P<State, Event>;
112
+ p__: (...attrs: AttrArg[]) => P<State, Event>;
113
+ pre_: (...children: readonly PhrasingContent<State, Event>[]) => Pre<State, Event>;
114
+ pre__: (...attrs: AttrArg[]) => Pre<State, Event>;
115
+ q_: (...children: readonly PhrasingContent<State, Event>[]) => Q<State, Event>;
116
+ q__: (...attrs: AttrArg[]) => Q<State, Event>;
117
+ s_: (...children: readonly PhrasingContent<State, Event>[]) => S<State, Event>;
118
+ s__: (...attrs: AttrArg[]) => S<State, Event>;
119
+ section_: (...children: readonly FlowContent<State, Event>[]) => Section<State, Event>;
120
+ section__: (...attrs: AttrArg[]) => Section<State, Event>;
121
+ select_: (...children: readonly Option<State, Event>[]) => Select<State, Event>;
122
+ select__: (...attrs: AttrArg[]) => Select<State, Event>;
123
+ small_: (...children: readonly PhrasingContent<State, Event>[]) => Small<State, Event>;
124
+ small__: (...attrs: AttrArg[]) => Small<State, Event>;
125
+ span_: (...children: readonly PhrasingContent<State, Event>[]) => Span<State, Event>;
126
+ span__: (...attrs: AttrArg[]) => Span<State, Event>;
127
+ strong_: (...children: readonly PhrasingContent<State, Event>[]) => Strong<State, Event>;
128
+ strong__: (...attrs: AttrArg[]) => Strong<State, Event>;
129
+ sub_: (...children: readonly PhrasingContent<State, Event>[]) => Sub<State, Event>;
130
+ sub__: (...attrs: AttrArg[]) => Sub<State, Event>;
131
+ summary_: (...children: readonly PhrasingContent<State, Event>[]) => Summary<State, Event>;
132
+ summary__: (...attrs: AttrArg[]) => Summary<State, Event>;
133
+ sup_: (...children: readonly PhrasingContent<State, Event>[]) => Sup<State, Event>;
134
+ sup__: (...attrs: AttrArg[]) => Sup<State, Event>;
135
+ svg_: (...children: readonly SvgGraphicElement<State, Event>[]) => Svg<State, Event>;
136
+ svg__: (...attrs: AttrArg[]) => Svg<State, Event>;
137
+ table_: (...children: readonly (Tbody<State, Event> | Tfoot<State, Event> | Thead<State, Event> | Tr<State, Event>)[]) => Table<State, Event>;
138
+ table__: (...attrs: AttrArg[]) => Table<State, Event>;
139
+ tbody_: (...children: readonly Tr<State, Event>[]) => Tbody<State, Event>;
140
+ tbody__: (...attrs: AttrArg[]) => Tbody<State, Event>;
141
+ td_: (...children: readonly FlowContent<State, Event>[]) => Td<State, Event>;
142
+ td__: (...attrs: AttrArg[]) => Td<State, Event>;
143
+ textarea_: (...children: readonly PhrasingContent<State, Event>[]) => Textarea<State, Event>;
144
+ textarea__: (...attrs: AttrArg[]) => Textarea<State, Event>;
145
+ tfoot_: (...children: readonly Tr<State, Event>[]) => Tfoot<State, Event>;
146
+ tfoot__: (...attrs: AttrArg[]) => Tfoot<State, Event>;
147
+ th_: (...children: readonly FlowContent<State, Event>[]) => Th<State, Event>;
148
+ th__: (...attrs: AttrArg[]) => Th<State, Event>;
149
+ thead_: (...children: readonly Tr<State, Event>[]) => Thead<State, Event>;
150
+ thead__: (...attrs: AttrArg[]) => Thead<State, Event>;
151
+ time_: (...children: readonly PhrasingContent<State, Event>[]) => Time<State, Event>;
152
+ time__: (...attrs: AttrArg[]) => Time<State, Event>;
153
+ tr_: (...children: readonly (Td<State, Event> | Th<State, Event>)[]) => Tr<State, Event>;
154
+ tr__: (...attrs: AttrArg[]) => Tr<State, Event>;
155
+ u_: (...children: readonly PhrasingContent<State, Event>[]) => U<State, Event>;
156
+ u__: (...attrs: AttrArg[]) => U<State, Event>;
157
+ ul_: (...children: readonly Li<State, Event>[]) => Ul<State, Event>;
158
+ ul__: (...attrs: AttrArg[]) => Ul<State, Event>;
159
+ view<Params>(nodeId: NodeId | string, nodes: (params: Params) => NodeGroup<State, Event> | Node<State, Event>): (params: Params) => View<State, Params, Event>;
160
+ componentElem<ComponentState, Params, ComponentEvent>(comp: Component<ComponentState, Params, ComponentEvent>, nodeId: NodeId, params?: Params): ComponentElement<State, Event, ComponentState, Params, ComponentEvent>;
161
+ br: (...attrs: import("./attrs").AttrOrNodeIdArgs) => Br<State, Event>;
162
+ hr: (...attrs: import("./attrs").AttrOrNodeIdArgs) => Hr<State, Event>;
163
+ img: (...attrs: import("./attrs").AttrOrNodeIdArgs) => Img<State, Event>;
164
+ input: (...attrs: import("./attrs").AttrOrNodeIdArgs) => Input<State, Event>;
165
+ a: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly FlowContent<State, Event>[]) => A<State, Event>;
166
+ abbr: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly PhrasingContent<State, Event>[]) => Abbr<State, Event>;
167
+ address: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly FlowContent<State, Event>[]) => Address<State, Event>;
168
+ article: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly FlowContent<State, Event>[]) => Article<State, Event>;
169
+ aside: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly FlowContent<State, Event>[]) => Aside<State, Event>;
170
+ b: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly PhrasingContent<State, Event>[]) => B<State, Event>;
171
+ blockquote: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly FlowContent<State, Event>[]) => Blockquote<State, Event>;
172
+ button: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly ButtonContent<State, Event>[]) => Button<State, Event>;
173
+ cite: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly PhrasingContent<State, Event>[]) => Cite<State, Event>;
174
+ code: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly PhrasingContent<State, Event>[]) => Code<State, Event>;
175
+ dd: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly FlowContent<State, Event>[]) => Dd<State, Event>;
176
+ details: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly FlowContent<State, Event>[]) => Details<State, Event>;
177
+ div: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly FlowContent<State, Event>[]) => Div<State, Event>;
178
+ dl: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly (Dd<State, Event> | Dt<State, Event>)[]) => Dl<State, Event>;
179
+ dt: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly PhrasingContent<State, Event>[]) => Dt<State, Event>;
180
+ em: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly PhrasingContent<State, Event>[]) => Em<State, Event>;
181
+ fieldset: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly FlowContent<State, Event>[]) => Fieldset<State, Event>;
182
+ figcaption: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly FlowContent<State, Event>[]) => Figcaption<State, Event>;
183
+ figure: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly FlowContent<State, Event>[]) => Figure<State, Event>;
184
+ footer: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly FlowContent<State, Event>[]) => Footer<State, Event>;
185
+ form: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly FlowContent<State, Event>[]) => Form<State, Event>;
186
+ h1: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly FlowContent<State, Event>[]) => H1<State, Event>;
187
+ h2: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly FlowContent<State, Event>[]) => H2<State, Event>;
188
+ h3: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly FlowContent<State, Event>[]) => H3<State, Event>;
189
+ h4: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly FlowContent<State, Event>[]) => H4<State, Event>;
190
+ h5: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly FlowContent<State, Event>[]) => H5<State, Event>;
191
+ h6: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly FlowContent<State, Event>[]) => H6<State, Event>;
192
+ header: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly FlowContent<State, Event>[]) => Header<State, Event>;
193
+ i: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly PhrasingContent<State, Event>[]) => I<State, Event>;
194
+ kbd: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly PhrasingContent<State, Event>[]) => Kbd<State, Event>;
195
+ label: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly PhrasingContent<State, Event>[]) => Label<State, Event>;
196
+ li: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly FlowContent<State, Event>[]) => Li<State, Event>;
197
+ main: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly FlowContent<State, Event>[]) => Main<State, Event>;
198
+ mark: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly PhrasingContent<State, Event>[]) => Mark<State, Event>;
199
+ nav: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly FlowContent<State, Event>[]) => Nav<State, Event>;
200
+ ol: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly Li<State, Event>[]) => Ol<State, Event>;
201
+ option: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly string[]) => Option<State, Event>;
202
+ p: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly FlowContent<State, Event>[]) => P<State, Event>;
203
+ pre: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly PhrasingContent<State, Event>[]) => Pre<State, Event>;
204
+ q: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly PhrasingContent<State, Event>[]) => Q<State, Event>;
205
+ s: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly PhrasingContent<State, Event>[]) => S<State, Event>;
206
+ section: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly FlowContent<State, Event>[]) => Section<State, Event>;
207
+ select: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly Option<State, Event>[]) => Select<State, Event>;
208
+ small: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly PhrasingContent<State, Event>[]) => Small<State, Event>;
209
+ span: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly PhrasingContent<State, Event>[]) => Span<State, Event>;
210
+ strong: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly PhrasingContent<State, Event>[]) => Strong<State, Event>;
211
+ sub: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly PhrasingContent<State, Event>[]) => Sub<State, Event>;
212
+ summary: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly PhrasingContent<State, Event>[]) => Summary<State, Event>;
213
+ sup: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly PhrasingContent<State, Event>[]) => Sup<State, Event>;
214
+ table: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly (Tbody<State, Event> | Tfoot<State, Event> | Thead<State, Event> | Tr<State, Event>)[]) => Table<State, Event>;
215
+ tbody: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly Tr<State, Event>[]) => Tbody<State, Event>;
216
+ td: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly FlowContent<State, Event>[]) => Td<State, Event>;
217
+ textarea: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly PhrasingContent<State, Event>[]) => Textarea<State, Event>;
218
+ tfoot: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly Tr<State, Event>[]) => Tfoot<State, Event>;
219
+ th: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly FlowContent<State, Event>[]) => Th<State, Event>;
220
+ thead: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly Tr<State, Event>[]) => Thead<State, Event>;
221
+ time: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly PhrasingContent<State, Event>[]) => Time<State, Event>;
222
+ tr: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly (Td<State, Event> | Th<State, Event>)[]) => Tr<State, Event>;
223
+ u: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly PhrasingContent<State, Event>[]) => U<State, Event>;
224
+ ul: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly Li<State, Event>[]) => Ul<State, Event>;
225
+ svg: (...attrs: import("./attrs").AttrOrNodeIdArgs) => (...children: readonly SvgGraphicElement<State, Event>[]) => Svg<State, Event>;
226
+ circle: (...attrs: import("./attrs").AttrOrNodeIdArgs) => Circle<State, Event>;
227
+ ellipse: (...attrs: import("./attrs").AttrOrNodeIdArgs) => Ellipse<State, Event>;
228
+ image: (...attrs: import("./attrs").AttrOrNodeIdArgs) => Image<State, Event>;
229
+ line: (...attrs: import("./attrs").AttrOrNodeIdArgs) => Line<State, Event>;
230
+ polyline: (...attrs: import("./attrs").AttrOrNodeIdArgs) => Polyline<State, Event>;
231
+ polygon: (...attrs: import("./attrs").AttrOrNodeIdArgs) => Polygon<State, Event>;
232
+ path: (...attrs: import("./attrs").AttrOrNodeIdArgs) => Path<State, Event>;
233
+ rect: (...attrs: import("./attrs").AttrOrNodeIdArgs) => Rect<State, Event>;
234
+ use: (...attrs: import("./attrs").AttrOrNodeIdArgs) => Use<State, Event>;
235
+ element: (tag: string) => (...attrs: readonly (readonly [string, string] | NodeId)[]) => (...children: readonly FlowContent<State, Event>[]) => CustomElement<State, Event>;
236
+ nodeGroup: (...nodes: Node<State, Event>[]) => NodeGroup<State, Event>;
237
+ _: (...nodes: Node<State, Event>[]) => NodeGroup<State, Event>;
238
+ fixedView: (id: NodeId | string) => (nodes: NodeGroup<State, Event> | Node<State, Event>) => View<State, void, Event>;
239
+ };
240
+ /** Pattern-matches over a `Node` value, calling the appropriate case handler and returning its result. */
241
+ export declare function foldNode<State, Event, A>(node: Node<State, Event>, cases: {
242
+ onText: (text: string) => A;
243
+ onVoidElement: (element: VoidElement<State, Event, string>) => A;
244
+ onNonVoidElement: (element: NonVoidElement<State, Event, string, Node<State, Event>>) => A;
245
+ onComponent: (component: ComponentElement<any, any, any, any, any>) => A;
246
+ onView: (view: View<State, unknown, Event>) => A;
247
+ }): A;
248
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dom/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,266 @@
1
+ export { attr, cssVars, id, prop, typeAttr } from './attrs';
2
+ export { preventDefault, stopPropagation, stopPropagationAndPreventDefault, } from './events';
3
+ export { nodeId } from './nodeid';
4
+ import { component, componentElem, } from './components';
5
+ export { component };
6
+ import { makeNonVoidElement, makeVoidElement, } from './elems';
7
+ import { _, fixedView, nodeGroup, view, } from './views';
8
+ /**
9
+ * Factory that returns all HTML and SVG element builders with `State` and `Event` pre-applied.
10
+ *
11
+ * Each element comes in three forms:
12
+ * - `div(...attrs)(...children)` — full curried form, accepts attributes then children
13
+ * - `div_(...children)` — no-attribute shorthand, equivalent to `div()(...)`
14
+ * - `div__(...attrs)` — no-children shorthand, equivalent to `div(...)()`
15
+ *
16
+ * Call `makeDom<State, Event>()` once at the top of your module and destructure the elements you need:
17
+ * ```ts
18
+ * const { div_, span_, button } = makeDom<State, Event>()
19
+ * ```
20
+ */
21
+ export function makeDom() {
22
+ const functions = {
23
+ br: makeVoidElement('br'),
24
+ hr: makeVoidElement('hr'),
25
+ img: makeVoidElement('img'),
26
+ input: makeVoidElement('input'),
27
+ a: makeNonVoidElement('a'),
28
+ abbr: makeNonVoidElement('abbr'),
29
+ address: makeNonVoidElement('address'),
30
+ article: makeNonVoidElement('article'),
31
+ aside: makeNonVoidElement('aside'),
32
+ b: makeNonVoidElement('b'),
33
+ blockquote: makeNonVoidElement('blockquote'),
34
+ button: makeNonVoidElement('button'),
35
+ cite: makeNonVoidElement('cite'),
36
+ code: makeNonVoidElement('code'),
37
+ dd: makeNonVoidElement('dd'),
38
+ details: makeNonVoidElement('details'),
39
+ div: makeNonVoidElement('div'),
40
+ dl: makeNonVoidElement('dl'),
41
+ dt: makeNonVoidElement('dt'),
42
+ em: makeNonVoidElement('em'),
43
+ fieldset: makeNonVoidElement('fieldset'),
44
+ figcaption: makeNonVoidElement('figcaption'),
45
+ figure: makeNonVoidElement('figure'),
46
+ footer: makeNonVoidElement('footer'),
47
+ form: makeNonVoidElement('form'),
48
+ h1: makeNonVoidElement('h1'),
49
+ h2: makeNonVoidElement('h2'),
50
+ h3: makeNonVoidElement('h3'),
51
+ h4: makeNonVoidElement('h4'),
52
+ h5: makeNonVoidElement('h5'),
53
+ h6: makeNonVoidElement('h6'),
54
+ header: makeNonVoidElement('header'),
55
+ i: makeNonVoidElement('i'),
56
+ kbd: makeNonVoidElement('kbd'),
57
+ label: makeNonVoidElement('label'),
58
+ li: makeNonVoidElement('li'),
59
+ main: makeNonVoidElement('main'),
60
+ mark: makeNonVoidElement('mark'),
61
+ nav: makeNonVoidElement('nav'),
62
+ ol: makeNonVoidElement('ol'),
63
+ option: makeNonVoidElement('option'),
64
+ p: makeNonVoidElement('p'),
65
+ pre: makeNonVoidElement('pre'),
66
+ q: makeNonVoidElement('q'),
67
+ s: makeNonVoidElement('s'),
68
+ section: makeNonVoidElement('section'),
69
+ select: makeNonVoidElement('select'),
70
+ small: makeNonVoidElement('small'),
71
+ span: makeNonVoidElement('span'),
72
+ strong: makeNonVoidElement('strong'),
73
+ sub: makeNonVoidElement('sub'),
74
+ summary: makeNonVoidElement('summary'),
75
+ sup: makeNonVoidElement('sup'),
76
+ table: makeNonVoidElement('table'),
77
+ tbody: makeNonVoidElement('tbody'),
78
+ td: makeNonVoidElement('td'),
79
+ textarea: makeNonVoidElement('textarea'),
80
+ tfoot: makeNonVoidElement('tfoot'),
81
+ th: makeNonVoidElement('th'),
82
+ thead: makeNonVoidElement('thead'),
83
+ time: makeNonVoidElement('time'),
84
+ tr: makeNonVoidElement('tr'),
85
+ u: makeNonVoidElement('u'),
86
+ ul: makeNonVoidElement('ul'),
87
+ svg: makeNonVoidElement('svg/svg'),
88
+ circle: makeVoidElement('svg/circle'),
89
+ ellipse: makeVoidElement('svg/ellipse'),
90
+ image: makeVoidElement('svg/image'),
91
+ line: makeVoidElement('svg/line'),
92
+ polyline: makeVoidElement('svg/polyline'),
93
+ polygon: makeVoidElement('svg/polygon'),
94
+ path: makeVoidElement('svg/path'),
95
+ rect: makeVoidElement('svg/rect'),
96
+ use: makeVoidElement('svg/use'),
97
+ element: (tag) => makeNonVoidElement(tag),
98
+ nodeGroup: (nodeGroup),
99
+ _: (_),
100
+ fixedView: (fixedView),
101
+ };
102
+ return {
103
+ ...functions,
104
+ a_: functions.a(),
105
+ a__: (...attrs) => functions.a(...attrs)(),
106
+ abbr_: functions.abbr(),
107
+ abbr__: (...attrs) => functions.abbr(...attrs)(),
108
+ address_: functions.address(),
109
+ address__: (...attrs) => functions.address(...attrs)(),
110
+ article_: functions.article(),
111
+ article__: (...attrs) => functions.article(...attrs)(),
112
+ aside_: functions.aside(),
113
+ aside__: (...attrs) => functions.aside(...attrs)(),
114
+ b_: functions.b(),
115
+ b__: (...attrs) => functions.b(...attrs)(),
116
+ blockquote_: functions.blockquote(),
117
+ blockquote__: (...attrs) => functions.blockquote(...attrs)(),
118
+ button_: functions.button(),
119
+ button__: (...attrs) => functions.button(...attrs)(),
120
+ cite_: functions.cite(),
121
+ cite__: (...attrs) => functions.cite(...attrs)(),
122
+ code_: functions.code(),
123
+ code__: (...attrs) => functions.code(...attrs)(),
124
+ dd_: functions.dd(),
125
+ dd__: (...attrs) => functions.dd(...attrs)(),
126
+ details_: functions.details(),
127
+ details__: (...attrs) => functions.details(...attrs)(),
128
+ div_: functions.div(),
129
+ div__: (...attrs) => functions.div(...attrs)(),
130
+ dl_: functions.dl(),
131
+ dl__: (...attrs) => functions.dl(...attrs)(),
132
+ dt_: functions.dt(),
133
+ dt__: (...attrs) => functions.dt(...attrs)(),
134
+ em_: functions.em(),
135
+ em__: (...attrs) => functions.em(...attrs)(),
136
+ fieldset_: functions.fieldset(),
137
+ fieldset__: (...attrs) => functions.fieldset(...attrs)(),
138
+ figcaption_: functions.figcaption(),
139
+ figcaption__: (...attrs) => functions.figcaption(...attrs)(),
140
+ figure_: functions.figure(),
141
+ figure__: (...attrs) => functions.figure(...attrs)(),
142
+ footer_: functions.footer(),
143
+ footer__: (...attrs) => functions.footer(...attrs)(),
144
+ form_: functions.form(),
145
+ form__: (...attrs) => functions.form(...attrs)(),
146
+ h1_: functions.h1(),
147
+ h1__: (...attrs) => functions.h1(...attrs)(),
148
+ h2_: functions.h2(),
149
+ h2__: (...attrs) => functions.h2(...attrs)(),
150
+ h3_: functions.h3(),
151
+ h3__: (...attrs) => functions.h3(...attrs)(),
152
+ h4_: functions.h4(),
153
+ h4__: (...attrs) => functions.h4(...attrs)(),
154
+ h5_: functions.h5(),
155
+ h5__: (...attrs) => functions.h5(...attrs)(),
156
+ h6_: functions.h6(),
157
+ h6__: (...attrs) => functions.h6(...attrs)(),
158
+ header_: functions.header(),
159
+ header__: (...attrs) => functions.header(...attrs)(),
160
+ i_: functions.i(),
161
+ i__: (...attrs) => functions.i(...attrs)(),
162
+ kbd_: functions.kbd(),
163
+ kbd__: (...attrs) => functions.kbd(...attrs)(),
164
+ label_: functions.label(),
165
+ label__: (...attrs) => functions.label(...attrs)(),
166
+ li_: functions.li(),
167
+ li__: (...attrs) => functions.li(...attrs)(),
168
+ main_: functions.main(),
169
+ main__: (...attrs) => functions.main(...attrs)(),
170
+ mark_: functions.mark(),
171
+ mark__: (...attrs) => functions.mark(...attrs)(),
172
+ nav_: functions.nav(),
173
+ nav__: (...attrs) => functions.nav(...attrs)(),
174
+ ol_: functions.ol(),
175
+ ol__: (...attrs) => functions.ol(...attrs)(),
176
+ option_: functions.option(),
177
+ option__: (...attrs) => functions.option(...attrs)(),
178
+ p_: functions.p(),
179
+ p__: (...attrs) => functions.p(...attrs)(),
180
+ pre_: functions.pre(),
181
+ pre__: (...attrs) => functions.pre(...attrs)(),
182
+ q_: functions.q(),
183
+ q__: (...attrs) => functions.q(...attrs)(),
184
+ s_: functions.s(),
185
+ s__: (...attrs) => functions.s(...attrs)(),
186
+ section_: functions.section(),
187
+ section__: (...attrs) => functions.section(...attrs)(),
188
+ select_: functions.select(),
189
+ select__: (...attrs) => functions.select(...attrs)(),
190
+ small_: functions.small(),
191
+ small__: (...attrs) => functions.small(...attrs)(),
192
+ span_: functions.span(),
193
+ span__: (...attrs) => functions.span(...attrs)(),
194
+ strong_: functions.strong(),
195
+ strong__: (...attrs) => functions.strong(...attrs)(),
196
+ sub_: functions.sub(),
197
+ sub__: (...attrs) => functions.sub(...attrs)(),
198
+ summary_: functions.summary(),
199
+ summary__: (...attrs) => functions.summary(...attrs)(),
200
+ sup_: functions.sup(),
201
+ sup__: (...attrs) => functions.sup(...attrs)(),
202
+ svg_: functions.svg(),
203
+ svg__: (...attrs) => functions.svg(...attrs)(),
204
+ table_: functions.table(),
205
+ table__: (...attrs) => functions.table(...attrs)(),
206
+ tbody_: functions.tbody(),
207
+ tbody__: (...attrs) => functions.tbody(...attrs)(),
208
+ td_: functions.td(),
209
+ td__: (...attrs) => functions.td(...attrs)(),
210
+ textarea_: functions.textarea(),
211
+ textarea__: (...attrs) => functions.textarea(...attrs)(),
212
+ tfoot_: functions.tfoot(),
213
+ tfoot__: (...attrs) => functions.tfoot(...attrs)(),
214
+ th_: functions.th(),
215
+ th__: (...attrs) => functions.th(...attrs)(),
216
+ thead_: functions.thead(),
217
+ thead__: (...attrs) => functions.thead(...attrs)(),
218
+ time_: functions.time(),
219
+ time__: (...attrs) => functions.time(...attrs)(),
220
+ tr_: functions.tr(),
221
+ tr__: (...attrs) => functions.tr(...attrs)(),
222
+ u_: functions.u(),
223
+ u__: (...attrs) => functions.u(...attrs)(),
224
+ ul_: functions.ul(),
225
+ ul__: (...attrs) => functions.ul(...attrs)(),
226
+ view(nodeId, nodes) {
227
+ return view(nodeId, nodes);
228
+ },
229
+ componentElem(comp, nodeId, params) {
230
+ return componentElem(comp, nodeId, params);
231
+ },
232
+ };
233
+ }
234
+ /** Pattern-matches over a `Node` value, calling the appropriate case handler and returning its result. */
235
+ export function foldNode(node, cases) {
236
+ if (typeof node === 'string') {
237
+ return cases.onText(node);
238
+ }
239
+ switch (node._type) {
240
+ case 'Component':
241
+ return cases.onComponent(node);
242
+ case 'View':
243
+ return cases.onView(node);
244
+ case 'Element':
245
+ switch (node.tag) {
246
+ case 'br':
247
+ case 'hr':
248
+ case 'img':
249
+ case 'input':
250
+ case 'svg/circle':
251
+ case 'svg/ellipse':
252
+ case 'svg/image':
253
+ case 'svg/line':
254
+ case 'svg/polyline':
255
+ case 'svg/polygon':
256
+ case 'svg/path':
257
+ case 'svg/rect':
258
+ case 'svg/use':
259
+ return cases.onVoidElement(node);
260
+ default:
261
+ // CustomElement (tag: string) prevents discriminated narrowing here;
262
+ // all non-void cases reaching this branch have children: Node[]
263
+ return cases.onNonVoidElement(node);
264
+ }
265
+ }
266
+ }
@@ -0,0 +1,9 @@
1
+ export type NodeId = {
2
+ _tag: 'node_id';
3
+ value: string;
4
+ eq(that: NodeId): boolean;
5
+ };
6
+ export declare function nodeId(value: string): NodeId;
7
+ export declare function isNodeId(value: unknown): value is NodeId;
8
+ export declare function findNodeId(items: any[]): NodeId | undefined;
9
+ //# sourceMappingURL=nodeid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nodeid.d.ts","sourceRoot":"","sources":["../../src/dom/nodeid.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,MAAM,GAAG;IACnB,IAAI,EAAE,SAAS,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;CAC1B,CAAA;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQ5C;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAaxD;AAGD,wBAAgB,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,MAAM,GAAG,SAAS,CAE3D"}
@@ -0,0 +1,27 @@
1
+ export function nodeId(value) {
2
+ return {
3
+ _tag: 'node_id',
4
+ value,
5
+ eq(that) {
6
+ return this.value === that.value;
7
+ },
8
+ };
9
+ }
10
+ export function isNodeId(value) {
11
+ if (value) {
12
+ if (typeof value === 'object') {
13
+ if (Object.prototype.hasOwnProperty.call(value, '_tag')) {
14
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
15
+ const tag = value['_tag'];
16
+ if (tag) {
17
+ return tag === 'node_id';
18
+ }
19
+ }
20
+ }
21
+ }
22
+ return false;
23
+ }
24
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
25
+ export function findNodeId(items) {
26
+ return items.find(isNodeId);
27
+ }
@@ -0,0 +1,23 @@
1
+ import type { NonVoidElement, VoidElement } from './elems';
2
+ export type SvgGraphicElement<State, Event> = Circle<State, Event> | Ellipse<State, Event> | Image<State, Event> | Line<State, Event> | Polyline<State, Event> | Polygon<State, Event> | Path<State, Event> | Rect<State, Event> | Use<State, Event>;
3
+ export interface Circle<State, Event> extends VoidElement<State, Event, 'svg/circle'> {
4
+ }
5
+ export interface Ellipse<State, Event> extends VoidElement<State, Event, 'svg/ellipse'> {
6
+ }
7
+ export interface Image<State, Event> extends VoidElement<State, Event, 'svg/image'> {
8
+ }
9
+ export interface Line<State, Event> extends VoidElement<State, Event, 'svg/line'> {
10
+ }
11
+ export interface Polyline<State, Event> extends VoidElement<State, Event, 'svg/polyline'> {
12
+ }
13
+ export interface Polygon<State, Event> extends VoidElement<State, Event, 'svg/polygon'> {
14
+ }
15
+ export interface Path<State, Event> extends VoidElement<State, Event, 'svg/path'> {
16
+ }
17
+ export interface Rect<State, Event> extends VoidElement<State, Event, 'svg/rect'> {
18
+ }
19
+ export interface Use<State, Event> extends VoidElement<State, Event, 'svg/use'> {
20
+ }
21
+ export interface Svg<State, Event> extends NonVoidElement<State, Event, 'svg/svg', SvgGraphicElement<State, Event>> {
22
+ }
23
+ //# sourceMappingURL=svg.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"svg.d.ts","sourceRoot":"","sources":["../../src/dom/svg.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAE1D,MAAM,MAAM,iBAAiB,CAAC,KAAK,EAAE,KAAK,IACtC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GACpB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,GACrB,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,GACnB,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,GAClB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,GACtB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,GACrB,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,GAClB,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,GAClB,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AAGrB,MAAM,WAAW,MAAM,CAAC,KAAK,EAAE,KAAK,CAAE,SAAQ,WAAW,CACvD,KAAK,EACL,KAAK,EACL,YAAY,CACb;CAAG;AAGJ,MAAM,WAAW,OAAO,CAAC,KAAK,EAAE,KAAK,CAAE,SAAQ,WAAW,CACxD,KAAK,EACL,KAAK,EACL,aAAa,CACd;CAAG;AAGJ,MAAM,WAAW,KAAK,CAAC,KAAK,EAAE,KAAK,CAAE,SAAQ,WAAW,CACtD,KAAK,EACL,KAAK,EACL,WAAW,CACZ;CAAG;AAGJ,MAAM,WAAW,IAAI,CAAC,KAAK,EAAE,KAAK,CAAE,SAAQ,WAAW,CACrD,KAAK,EACL,KAAK,EACL,UAAU,CACX;CAAG;AAGJ,MAAM,WAAW,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAE,SAAQ,WAAW,CACzD,KAAK,EACL,KAAK,EACL,cAAc,CACf;CAAG;AAGJ,MAAM,WAAW,OAAO,CAAC,KAAK,EAAE,KAAK,CAAE,SAAQ,WAAW,CACxD,KAAK,EACL,KAAK,EACL,aAAa,CACd;CAAG;AAGJ,MAAM,WAAW,IAAI,CAAC,KAAK,EAAE,KAAK,CAAE,SAAQ,WAAW,CACrD,KAAK,EACL,KAAK,EACL,UAAU,CACX;CAAG;AAGJ,MAAM,WAAW,IAAI,CAAC,KAAK,EAAE,KAAK,CAAE,SAAQ,WAAW,CACrD,KAAK,EACL,KAAK,EACL,UAAU,CACX;CAAG;AAGJ,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,KAAK,CAAE,SAAQ,WAAW,CACpD,KAAK,EACL,KAAK,EACL,SAAS,CACV;CAAG;AAGJ,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,KAAK,CAAE,SAAQ,cAAc,CACvD,KAAK,EACL,KAAK,EACL,SAAS,EACT,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,CAChC;CAAG"}
@@ -0,0 +1 @@
1
+ export {};