@luna_ui/luna 0.7.3 → 0.17.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.
- package/dist/api-DAWeanTX.js +1 -0
- package/dist/api-qXll116-.d.ts +80 -0
- package/dist/cli.mjs +27 -22
- package/dist/css/index.js +1 -0
- package/dist/event-utils.d.ts +1 -1
- package/dist/event-utils.js +1 -1
- package/dist/{index-vO066aMd.d.ts → index-VY8G32hr.d.ts} +16 -76
- package/dist/index.d.ts +4 -3
- package/dist/index.js +1 -1
- package/dist/jsx-dev-runtime.js +1 -1
- package/dist/jsx-runtime.d.ts +1 -1
- package/dist/jsx-runtime.js +1 -1
- package/dist/raw.d.ts +2 -0
- package/dist/raw.js +1 -0
- package/dist/resource.d.ts +41 -0
- package/dist/resource.js +1 -0
- package/dist/router-lite.d.ts +44 -0
- package/dist/router-lite.js +1 -0
- package/dist/signals-shared.d.ts +12 -0
- package/dist/signals-shared.js +1 -0
- package/dist/signals.d.ts +50 -0
- package/dist/signals.js +1 -0
- package/dist/vite-plugin.d.ts +7708 -2
- package/dist/vite-plugin.js +7 -6
- package/package.json +34 -11
- package/dist/event-utils-C_M2XBNj.js +0 -1
- package/dist/src-BbjOW18q.js +0 -1
- package/src/css/extract.ts +0 -798
- package/src/css/index.ts +0 -10
- package/src/css/inject.ts +0 -205
- package/src/css/inline.ts +0 -182
- package/src/css/minify.ts +0 -70
- package/src/css/optimizer.ts +0 -6
- package/src/css/runtime.ts +0 -344
- package/src/css-optimizer/README.md +0 -353
- package/src/css-optimizer/cooccurrence.ts +0 -100
- package/src/css-optimizer/core.ts +0 -263
- package/src/css-optimizer/extractors.ts +0 -243
- package/src/css-optimizer/hash.ts +0 -54
- package/src/css-optimizer/index.ts +0 -129
- package/src/css-optimizer/merge.ts +0 -109
- package/src/css-optimizer/moonbit-analyzer.ts +0 -210
- package/src/css-optimizer/parser.ts +0 -120
- package/src/css-optimizer/pattern.ts +0 -171
- package/src/css-optimizer/transformers.ts +0 -301
- package/src/css-optimizer/types.ts +0 -128
- package/src/event-utils.ts +0 -227
- package/src/hydration/createHydrator.ts +0 -62
- package/src/hydration/delegate.ts +0 -62
- package/src/hydration/drag.ts +0 -214
- package/src/hydration/index.ts +0 -12
- package/src/hydration/keyboard.ts +0 -64
- package/src/hydration/toggle.ts +0 -101
- package/src/index.ts +0 -908
- package/src/jsx-dev-runtime.ts +0 -2
- package/src/jsx-runtime.ts +0 -398
- package/src/vite-plugin.ts +0 -718
- package/tests/__screenshots__/apg.test.ts/APG-Components---Accessibility-Tests-Button-Pattern-disabled-button-has-aria-disabled-1.png +0 -0
- package/tests/apg.test.ts +0 -466
- package/tests/context.test.ts +0 -118
- package/tests/css-optimizer-extractors.test.ts +0 -264
- package/tests/css-optimizer-integration.test.ts +0 -566
- package/tests/css-optimizer-transformers.test.ts +0 -301
- package/tests/css-optimizer.test.ts +0 -646
- package/tests/css-runtime.bench.ts +0 -442
- package/tests/css-runtime.test.ts +0 -342
- package/tests/debounced.test.ts +0 -165
- package/tests/dom.test.ts +0 -873
- package/tests/integration.test.ts +0 -405
- package/tests/issue-11-show-null-to-truthy.test.ts +0 -176
- package/tests/issue-5-for-infinite-loop.test.ts +0 -516
- package/tests/jsx-runtime.test.tsx +0 -393
- package/tests/lifecycle.test.ts +0 -833
- package/tests/move-before.bench.ts +0 -304
- package/tests/preact-signals-comparison.test.ts +0 -1608
- package/tests/resource.test.ts +0 -160
- package/tests/router.test.ts +0 -117
- package/tests/show-initial-mount-leak.test.tsx +0 -182
- package/tests/solidjs-api.test.ts +0 -660
- package/tests/static-perf.bench.ts +0 -64
- package/tests/store.test.ts +0 -263
- package/tests/tsx-syntax.test.tsx +0 -404
- /package/dist/{event-utils-Cd5f3Njd.d.ts → event-utils-BvAf0NwN.d.ts} +0 -0
package/src/jsx-dev-runtime.ts
DELETED
package/src/jsx-runtime.ts
DELETED
|
@@ -1,398 +0,0 @@
|
|
|
1
|
-
// JSX Runtime for @luna_ui/luna
|
|
2
|
-
// Usage: Configure tsconfig.json with:
|
|
3
|
-
// "jsx": "react-jsx",
|
|
4
|
-
// "jsxImportSource": "@luna_ui/luna"
|
|
5
|
-
|
|
6
|
-
import { text, textDyn, createElement, Fragment as fragment } from "./index";
|
|
7
|
-
|
|
8
|
-
// Types for reactive attributes (can be static value or accessor function)
|
|
9
|
-
type MaybeAccessor<T> = T | (() => T);
|
|
10
|
-
|
|
11
|
-
// Common HTML attributes with reactive support
|
|
12
|
-
interface HTMLAttributes {
|
|
13
|
-
// Core attributes
|
|
14
|
-
id?: MaybeAccessor<string>;
|
|
15
|
-
className?: MaybeAccessor<string>;
|
|
16
|
-
class?: MaybeAccessor<string>;
|
|
17
|
-
style?: MaybeAccessor<string | Record<string, string | number>>;
|
|
18
|
-
title?: MaybeAccessor<string>;
|
|
19
|
-
tabIndex?: MaybeAccessor<number>;
|
|
20
|
-
hidden?: MaybeAccessor<boolean>;
|
|
21
|
-
|
|
22
|
-
// React-compatible innerHTML (use with caution)
|
|
23
|
-
// Static: dangerouslySetInnerHTML={{ __html: "<b>html</b>" }}
|
|
24
|
-
// Dynamic: dangerouslySetInnerHTML={() => ({ __html: htmlSignal() })}
|
|
25
|
-
dangerouslySetInnerHTML?: { __html: string } | (() => { __html: string });
|
|
26
|
-
|
|
27
|
-
// Form attributes
|
|
28
|
-
type?: MaybeAccessor<string>;
|
|
29
|
-
name?: MaybeAccessor<string>;
|
|
30
|
-
value?: MaybeAccessor<string | number>;
|
|
31
|
-
placeholder?: MaybeAccessor<string>;
|
|
32
|
-
disabled?: MaybeAccessor<boolean>;
|
|
33
|
-
checked?: MaybeAccessor<boolean>;
|
|
34
|
-
readonly?: MaybeAccessor<boolean>;
|
|
35
|
-
required?: MaybeAccessor<boolean>;
|
|
36
|
-
min?: MaybeAccessor<string | number>;
|
|
37
|
-
max?: MaybeAccessor<string | number>;
|
|
38
|
-
step?: MaybeAccessor<string | number>;
|
|
39
|
-
pattern?: MaybeAccessor<string>;
|
|
40
|
-
|
|
41
|
-
// Link/Media attributes
|
|
42
|
-
href?: MaybeAccessor<string>;
|
|
43
|
-
src?: MaybeAccessor<string>;
|
|
44
|
-
alt?: MaybeAccessor<string>;
|
|
45
|
-
target?: MaybeAccessor<string>;
|
|
46
|
-
rel?: MaybeAccessor<string>;
|
|
47
|
-
|
|
48
|
-
// ARIA attributes
|
|
49
|
-
role?: MaybeAccessor<string>;
|
|
50
|
-
"aria-label"?: MaybeAccessor<string>;
|
|
51
|
-
"aria-hidden"?: MaybeAccessor<boolean | "true" | "false">;
|
|
52
|
-
"aria-expanded"?: MaybeAccessor<boolean | "true" | "false">;
|
|
53
|
-
"aria-selected"?: MaybeAccessor<boolean | "true" | "false">;
|
|
54
|
-
"aria-disabled"?: MaybeAccessor<boolean | "true" | "false">;
|
|
55
|
-
|
|
56
|
-
// Data attributes
|
|
57
|
-
[key: `data-${string}`]: MaybeAccessor<string | number | boolean>;
|
|
58
|
-
|
|
59
|
-
// Event handlers
|
|
60
|
-
onClick?: (e: MouseEvent) => void;
|
|
61
|
-
onInput?: (e: Event) => void;
|
|
62
|
-
onChange?: (e: Event) => void;
|
|
63
|
-
onSubmit?: (e: Event) => void;
|
|
64
|
-
onKeyDown?: (e: KeyboardEvent) => void;
|
|
65
|
-
onKeyUp?: (e: KeyboardEvent) => void;
|
|
66
|
-
onKeyPress?: (e: KeyboardEvent) => void;
|
|
67
|
-
onFocus?: (e: FocusEvent) => void;
|
|
68
|
-
onBlur?: (e: FocusEvent) => void;
|
|
69
|
-
onMouseEnter?: (e: MouseEvent) => void;
|
|
70
|
-
onMouseLeave?: (e: MouseEvent) => void;
|
|
71
|
-
onMouseDown?: (e: MouseEvent) => void;
|
|
72
|
-
onMouseUp?: (e: MouseEvent) => void;
|
|
73
|
-
onMouseMove?: (e: MouseEvent) => void;
|
|
74
|
-
onTouchStart?: (e: TouchEvent) => void;
|
|
75
|
-
onTouchEnd?: (e: TouchEvent) => void;
|
|
76
|
-
onTouchMove?: (e: TouchEvent) => void;
|
|
77
|
-
onScroll?: (e: Event) => void;
|
|
78
|
-
onLoad?: (e: Event) => void;
|
|
79
|
-
onError?: (e: Event) => void;
|
|
80
|
-
|
|
81
|
-
// Ref callback
|
|
82
|
-
ref?: (el: HTMLElement) => void;
|
|
83
|
-
|
|
84
|
-
// Children
|
|
85
|
-
children?: JSX.Element | JSX.Element[] | string | number | (() => string | number);
|
|
86
|
-
|
|
87
|
-
// Allow any other attribute
|
|
88
|
-
[key: string]: unknown;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
// Internal types for MoonBit interop
|
|
92
|
-
interface Attr {
|
|
93
|
-
_0: string;
|
|
94
|
-
_1: AttrValue;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
interface AttrValue {
|
|
98
|
-
$tag: 0 | 1 | 2;
|
|
99
|
-
_0: unknown;
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
// Convert style object to CSS string
|
|
103
|
-
function styleToString(style: unknown): string {
|
|
104
|
-
if (typeof style === "string") return style;
|
|
105
|
-
if (typeof style !== "object" || style === null) return "";
|
|
106
|
-
return Object.entries(style)
|
|
107
|
-
.map(([key, value]) => {
|
|
108
|
-
// Convert camelCase to kebab-case
|
|
109
|
-
const cssKey = key.replace(/([A-Z])/g, "-$1").toLowerCase();
|
|
110
|
-
return `${cssKey}: ${value}`;
|
|
111
|
-
})
|
|
112
|
-
.join("; ");
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
// Convert JSX props to createElement attrs format
|
|
116
|
-
function convertProps(props: Record<string, unknown> | null | undefined): Attr[] {
|
|
117
|
-
if (!props) return [];
|
|
118
|
-
const attrs: Attr[] = [];
|
|
119
|
-
for (const [key, value] of Object.entries(props)) {
|
|
120
|
-
if (key === "children") continue;
|
|
121
|
-
|
|
122
|
-
// Map JSX prop names to DOM attribute format
|
|
123
|
-
let attrName = key;
|
|
124
|
-
let attrValue: AttrValue;
|
|
125
|
-
|
|
126
|
-
// Handle className -> class
|
|
127
|
-
if (key === "className") {
|
|
128
|
-
attrName = "class";
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
// Handle dangerouslySetInnerHTML (React-compatible)
|
|
132
|
-
if (key === "dangerouslySetInnerHTML") {
|
|
133
|
-
if (typeof value === "function") {
|
|
134
|
-
// Dynamic innerHTML
|
|
135
|
-
const getter = value as () => { __html: string };
|
|
136
|
-
attrValue = { $tag: 1, _0: () => getter().__html }; // AttrValue.Dynamic
|
|
137
|
-
} else if (value && typeof value === "object" && "__html" in value) {
|
|
138
|
-
// Static innerHTML
|
|
139
|
-
attrValue = { $tag: 0, _0: (value as { __html: string }).__html }; // AttrValue.Static
|
|
140
|
-
} else {
|
|
141
|
-
continue; // Invalid format, skip
|
|
142
|
-
}
|
|
143
|
-
attrs.push({ _0: "__innerHTML", _1: attrValue });
|
|
144
|
-
continue;
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
// Handle style object -> CSS string
|
|
148
|
-
if (key === "style") {
|
|
149
|
-
if (typeof value === "function") {
|
|
150
|
-
// Dynamic style
|
|
151
|
-
const getter = value as () => unknown;
|
|
152
|
-
attrValue = { $tag: 1, _0: () => styleToString(getter()) }; // AttrValue.Dynamic
|
|
153
|
-
} else {
|
|
154
|
-
attrValue = { $tag: 0, _0: styleToString(value) }; // AttrValue.Static
|
|
155
|
-
}
|
|
156
|
-
attrs.push({ _0: attrName, _1: attrValue });
|
|
157
|
-
continue;
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
// Handle ref callback
|
|
161
|
-
if (key === "ref" && typeof value === "function") {
|
|
162
|
-
attrName = "__ref";
|
|
163
|
-
attrValue = { $tag: 2, _0: value }; // AttrValue.Handler
|
|
164
|
-
attrs.push({ _0: attrName, _1: attrValue });
|
|
165
|
-
continue;
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
// Handle event handlers (onClick -> click for addEventListener)
|
|
169
|
-
if (key.startsWith("on") && typeof value === "function") {
|
|
170
|
-
// Remove "on" prefix and lowercase first char: onClick -> click
|
|
171
|
-
attrName = key.slice(2).toLowerCase();
|
|
172
|
-
attrValue = { $tag: 2, _0: value }; // AttrValue.Handler
|
|
173
|
-
attrs.push({ _0: attrName, _1: attrValue });
|
|
174
|
-
continue;
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
// Handle dynamic values (functions)
|
|
178
|
-
// For reactive props, pass the accessor function directly: class={className}
|
|
179
|
-
if (typeof value === "function") {
|
|
180
|
-
attrValue = { $tag: 1, _0: value }; // AttrValue.Dynamic
|
|
181
|
-
} else {
|
|
182
|
-
attrValue = { $tag: 0, _0: String(value) }; // AttrValue.Static
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
attrs.push({ _0: attrName, _1: attrValue });
|
|
186
|
-
}
|
|
187
|
-
return attrs;
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
type Child = string | number | JSX.Element | (() => unknown) | Child[];
|
|
191
|
-
|
|
192
|
-
function convertChildren(children: unknown): unknown[] {
|
|
193
|
-
if (!children) return [];
|
|
194
|
-
let childArray: unknown[];
|
|
195
|
-
if (!Array.isArray(children)) {
|
|
196
|
-
childArray = [children];
|
|
197
|
-
} else {
|
|
198
|
-
childArray = children;
|
|
199
|
-
}
|
|
200
|
-
return childArray.flat().map((child) => {
|
|
201
|
-
if (typeof child === "string") {
|
|
202
|
-
return text(child);
|
|
203
|
-
}
|
|
204
|
-
if (typeof child === "number") {
|
|
205
|
-
return text(String(child));
|
|
206
|
-
}
|
|
207
|
-
// Handle functions:
|
|
208
|
-
// - No args (length === 0): signal accessor -> textDyn
|
|
209
|
-
// - With args (length > 0): render function -> pass through
|
|
210
|
-
if (typeof child === "function") {
|
|
211
|
-
if (child.length === 0) {
|
|
212
|
-
return textDyn(() => String(child()));
|
|
213
|
-
}
|
|
214
|
-
// Render function, pass through as-is
|
|
215
|
-
return child;
|
|
216
|
-
}
|
|
217
|
-
return child;
|
|
218
|
-
}).filter(Boolean);
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
222
|
-
type Component = (props: any) => JSX.Element;
|
|
223
|
-
|
|
224
|
-
// JSX factory function
|
|
225
|
-
export function jsx(type: string | Component, props: Record<string, unknown> | null): JSX.Element {
|
|
226
|
-
const { children, ...rest } = props || {};
|
|
227
|
-
|
|
228
|
-
// Function component - pass children as-is, don't convert
|
|
229
|
-
// This preserves functions like () => <Child /> for control flow components (Show, For, etc.)
|
|
230
|
-
if (typeof type === "function") {
|
|
231
|
-
return type({ ...rest, children });
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
// Element - convert children to DomNodes
|
|
235
|
-
if (typeof type === "string") {
|
|
236
|
-
const attrs = convertProps(rest);
|
|
237
|
-
const childNodes = convertChildren(children);
|
|
238
|
-
return createElement(type, attrs, childNodes) as JSX.Element;
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
throw new Error(`Invalid JSX type: ${type}`);
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
// jsxs is the same as jsx for our implementation
|
|
245
|
-
export const jsxs = jsx;
|
|
246
|
-
|
|
247
|
-
// Fragment wraps children in a DomNode fragment
|
|
248
|
-
export function Fragment({ children }: { children?: unknown }): unknown {
|
|
249
|
-
const childNodes = convertChildren(children);
|
|
250
|
-
// Use MoonBit's fragment function to create a proper DomNode fragment
|
|
251
|
-
return fragment(childNodes);
|
|
252
|
-
}
|
|
253
|
-
|
|
254
|
-
// Export jsxDEV for development mode
|
|
255
|
-
export const jsxDEV = jsx;
|
|
256
|
-
|
|
257
|
-
// Import LunaNode type from index
|
|
258
|
-
import type { LunaNode } from "./index";
|
|
259
|
-
|
|
260
|
-
// JSX namespace for TypeScript
|
|
261
|
-
export namespace JSX {
|
|
262
|
-
export type Element = LunaNode;
|
|
263
|
-
export interface IntrinsicElements {
|
|
264
|
-
// All HTML elements use HTMLAttributes with reactive support
|
|
265
|
-
a: HTMLAttributes;
|
|
266
|
-
abbr: HTMLAttributes;
|
|
267
|
-
address: HTMLAttributes;
|
|
268
|
-
area: HTMLAttributes;
|
|
269
|
-
article: HTMLAttributes;
|
|
270
|
-
aside: HTMLAttributes;
|
|
271
|
-
audio: HTMLAttributes;
|
|
272
|
-
b: HTMLAttributes;
|
|
273
|
-
base: HTMLAttributes;
|
|
274
|
-
bdi: HTMLAttributes;
|
|
275
|
-
bdo: HTMLAttributes;
|
|
276
|
-
blockquote: HTMLAttributes;
|
|
277
|
-
body: HTMLAttributes;
|
|
278
|
-
br: HTMLAttributes;
|
|
279
|
-
button: HTMLAttributes;
|
|
280
|
-
canvas: HTMLAttributes;
|
|
281
|
-
caption: HTMLAttributes;
|
|
282
|
-
cite: HTMLAttributes;
|
|
283
|
-
code: HTMLAttributes;
|
|
284
|
-
col: HTMLAttributes;
|
|
285
|
-
colgroup: HTMLAttributes;
|
|
286
|
-
data: HTMLAttributes;
|
|
287
|
-
datalist: HTMLAttributes;
|
|
288
|
-
dd: HTMLAttributes;
|
|
289
|
-
del: HTMLAttributes;
|
|
290
|
-
details: HTMLAttributes;
|
|
291
|
-
dfn: HTMLAttributes;
|
|
292
|
-
dialog: HTMLAttributes;
|
|
293
|
-
div: HTMLAttributes;
|
|
294
|
-
dl: HTMLAttributes;
|
|
295
|
-
dt: HTMLAttributes;
|
|
296
|
-
em: HTMLAttributes;
|
|
297
|
-
embed: HTMLAttributes;
|
|
298
|
-
fieldset: HTMLAttributes;
|
|
299
|
-
figcaption: HTMLAttributes;
|
|
300
|
-
figure: HTMLAttributes;
|
|
301
|
-
footer: HTMLAttributes;
|
|
302
|
-
form: HTMLAttributes;
|
|
303
|
-
h1: HTMLAttributes;
|
|
304
|
-
h2: HTMLAttributes;
|
|
305
|
-
h3: HTMLAttributes;
|
|
306
|
-
h4: HTMLAttributes;
|
|
307
|
-
h5: HTMLAttributes;
|
|
308
|
-
h6: HTMLAttributes;
|
|
309
|
-
head: HTMLAttributes;
|
|
310
|
-
header: HTMLAttributes;
|
|
311
|
-
hgroup: HTMLAttributes;
|
|
312
|
-
hr: HTMLAttributes;
|
|
313
|
-
html: HTMLAttributes;
|
|
314
|
-
i: HTMLAttributes;
|
|
315
|
-
iframe: HTMLAttributes;
|
|
316
|
-
img: HTMLAttributes;
|
|
317
|
-
input: HTMLAttributes;
|
|
318
|
-
ins: HTMLAttributes;
|
|
319
|
-
kbd: HTMLAttributes;
|
|
320
|
-
label: HTMLAttributes;
|
|
321
|
-
legend: HTMLAttributes;
|
|
322
|
-
li: HTMLAttributes;
|
|
323
|
-
link: HTMLAttributes;
|
|
324
|
-
main: HTMLAttributes;
|
|
325
|
-
map: HTMLAttributes;
|
|
326
|
-
mark: HTMLAttributes;
|
|
327
|
-
menu: HTMLAttributes;
|
|
328
|
-
meta: HTMLAttributes;
|
|
329
|
-
meter: HTMLAttributes;
|
|
330
|
-
nav: HTMLAttributes;
|
|
331
|
-
noscript: HTMLAttributes;
|
|
332
|
-
object: HTMLAttributes;
|
|
333
|
-
ol: HTMLAttributes;
|
|
334
|
-
optgroup: HTMLAttributes;
|
|
335
|
-
option: HTMLAttributes;
|
|
336
|
-
output: HTMLAttributes;
|
|
337
|
-
p: HTMLAttributes;
|
|
338
|
-
picture: HTMLAttributes;
|
|
339
|
-
pre: HTMLAttributes;
|
|
340
|
-
progress: HTMLAttributes;
|
|
341
|
-
q: HTMLAttributes;
|
|
342
|
-
rp: HTMLAttributes;
|
|
343
|
-
rt: HTMLAttributes;
|
|
344
|
-
ruby: HTMLAttributes;
|
|
345
|
-
s: HTMLAttributes;
|
|
346
|
-
samp: HTMLAttributes;
|
|
347
|
-
script: HTMLAttributes;
|
|
348
|
-
search: HTMLAttributes;
|
|
349
|
-
section: HTMLAttributes;
|
|
350
|
-
select: HTMLAttributes;
|
|
351
|
-
slot: HTMLAttributes;
|
|
352
|
-
small: HTMLAttributes;
|
|
353
|
-
source: HTMLAttributes;
|
|
354
|
-
span: HTMLAttributes;
|
|
355
|
-
strong: HTMLAttributes;
|
|
356
|
-
style: HTMLAttributes;
|
|
357
|
-
sub: HTMLAttributes;
|
|
358
|
-
summary: HTMLAttributes;
|
|
359
|
-
sup: HTMLAttributes;
|
|
360
|
-
table: HTMLAttributes;
|
|
361
|
-
tbody: HTMLAttributes;
|
|
362
|
-
td: HTMLAttributes;
|
|
363
|
-
template: HTMLAttributes;
|
|
364
|
-
textarea: HTMLAttributes;
|
|
365
|
-
tfoot: HTMLAttributes;
|
|
366
|
-
th: HTMLAttributes;
|
|
367
|
-
thead: HTMLAttributes;
|
|
368
|
-
time: HTMLAttributes;
|
|
369
|
-
title: HTMLAttributes;
|
|
370
|
-
tr: HTMLAttributes;
|
|
371
|
-
track: HTMLAttributes;
|
|
372
|
-
u: HTMLAttributes;
|
|
373
|
-
ul: HTMLAttributes;
|
|
374
|
-
var: HTMLAttributes;
|
|
375
|
-
video: HTMLAttributes;
|
|
376
|
-
wbr: HTMLAttributes;
|
|
377
|
-
// SVG elements
|
|
378
|
-
svg: HTMLAttributes;
|
|
379
|
-
path: HTMLAttributes;
|
|
380
|
-
circle: HTMLAttributes;
|
|
381
|
-
rect: HTMLAttributes;
|
|
382
|
-
line: HTMLAttributes;
|
|
383
|
-
polyline: HTMLAttributes;
|
|
384
|
-
polygon: HTMLAttributes;
|
|
385
|
-
ellipse: HTMLAttributes;
|
|
386
|
-
g: HTMLAttributes;
|
|
387
|
-
text: HTMLAttributes;
|
|
388
|
-
tspan: HTMLAttributes;
|
|
389
|
-
defs: HTMLAttributes;
|
|
390
|
-
use: HTMLAttributes;
|
|
391
|
-
image: HTMLAttributes;
|
|
392
|
-
// Allow any custom element
|
|
393
|
-
[key: string]: HTMLAttributes;
|
|
394
|
-
}
|
|
395
|
-
export interface ElementChildrenAttribute {
|
|
396
|
-
children: {};
|
|
397
|
-
}
|
|
398
|
-
}
|