verstak 0.24.269 → 0.24.271
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/build/dist/source/html/DraggableArea.view.d.ts +11 -0
- package/build/dist/source/html/DraggableArea.view.js +37 -0
- package/build/dist/source/html/El.d.ts +89 -30
- package/build/dist/source/html/El.js +313 -132
- package/build/dist/source/html/ElUtils.d.ts +1 -0
- package/build/dist/source/html/ElUtils.js +3 -0
- package/build/dist/source/html/Elements.d.ts +18 -4
- package/build/dist/source/html/Elements.js +221 -16
- package/build/dist/source/html/Handlers.d.ts +1 -1
- package/build/dist/source/html/HtmlDriver.d.ts +2 -2
- package/build/dist/source/html/HtmlDriver.js +2 -2
- package/build/dist/source/html/HtmlElements.js +174 -174
- package/build/dist/source/html/Sizes.d.ts +37 -0
- package/build/dist/source/html/Sizes.js +139 -0
- package/build/dist/source/html/SplitViewMath.d.ts +27 -0
- package/build/dist/source/html/SplitViewMath.js +323 -0
- package/build/dist/source/html/api.d.ts +2 -0
- package/build/dist/source/html/api.js +2 -0
- package/build/dist/source/html/sensors/KeyboardSensor.d.ts +1 -0
- package/build/dist/source/html/sensors/KeyboardSensor.js +5 -0
- package/build/dist/source/html/sensors/PointerSensor.js +4 -0
- package/package.json +2 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { RxNode } from "reactronic";
|
|
2
2
|
import { ElKind } from "./El.js";
|
|
3
|
-
import {
|
|
3
|
+
import { StaticDriver, HtmlDriver, SvgDriver } from "./HtmlDriver.js";
|
|
4
4
|
export function Page(declaration, preset) {
|
|
5
5
|
const driver = new StaticDriver(global.document.body, "Page", false, el => el.kind = ElKind.section);
|
|
6
6
|
return RxNode.declare(driver, declaration, preset);
|
|
@@ -179,179 +179,179 @@ export function TSpan(declaration, preset) { return RxNode.declare(SvgTags.tspan
|
|
|
179
179
|
export function Use(declaration, preset) { return RxNode.declare(SvgTags.use, declaration, preset); }
|
|
180
180
|
export function View(declaration, preset) { return RxNode.declare(SvgTags.view, declaration, preset); }
|
|
181
181
|
const HtmlTags = {
|
|
182
|
-
a: new
|
|
183
|
-
abbr: new
|
|
184
|
-
address: new
|
|
185
|
-
area: new
|
|
186
|
-
article: new
|
|
187
|
-
aside: new
|
|
188
|
-
audio: new
|
|
189
|
-
b: new
|
|
190
|
-
base: new
|
|
191
|
-
bdi: new
|
|
192
|
-
bdo: new
|
|
193
|
-
big: new
|
|
194
|
-
blockquote: new
|
|
195
|
-
body: new
|
|
196
|
-
br: new
|
|
197
|
-
button: new
|
|
198
|
-
canvas: new
|
|
199
|
-
caption: new
|
|
200
|
-
cite: new
|
|
201
|
-
code: new
|
|
202
|
-
col: new
|
|
203
|
-
colgroup: new
|
|
204
|
-
data: new
|
|
205
|
-
datalist: new
|
|
206
|
-
dd: new
|
|
207
|
-
del: new
|
|
208
|
-
details: new
|
|
209
|
-
dfn: new
|
|
210
|
-
div: new
|
|
211
|
-
dl: new
|
|
212
|
-
dt: new
|
|
213
|
-
em: new
|
|
214
|
-
embed: new
|
|
215
|
-
fieldset: new
|
|
216
|
-
figcaption: new
|
|
217
|
-
figure: new
|
|
218
|
-
footer: new
|
|
219
|
-
form: new
|
|
220
|
-
h1: new
|
|
221
|
-
h2: new
|
|
222
|
-
h3: new
|
|
223
|
-
h4: new
|
|
224
|
-
h5: new
|
|
225
|
-
h6: new
|
|
226
|
-
head: new
|
|
227
|
-
header: new
|
|
228
|
-
hgroup: new
|
|
229
|
-
hr: new
|
|
230
|
-
html: new
|
|
231
|
-
i: new
|
|
232
|
-
iframe: new
|
|
233
|
-
img: new
|
|
234
|
-
input: new
|
|
235
|
-
ins: new
|
|
236
|
-
kbd: new
|
|
237
|
-
keygen: new
|
|
238
|
-
label: new
|
|
239
|
-
legend: new
|
|
240
|
-
li: new
|
|
241
|
-
link: new
|
|
242
|
-
main: new
|
|
243
|
-
map: new
|
|
244
|
-
mark: new
|
|
245
|
-
menu: new
|
|
246
|
-
menuitem: new
|
|
247
|
-
meta: new
|
|
248
|
-
meter: new
|
|
249
|
-
nav: new
|
|
250
|
-
noindex: new
|
|
251
|
-
noscript: new
|
|
252
|
-
object: new
|
|
253
|
-
ol: new
|
|
254
|
-
optgroup: new
|
|
255
|
-
option: new
|
|
256
|
-
output: new
|
|
257
|
-
p: new
|
|
258
|
-
param: new
|
|
259
|
-
picture: new
|
|
260
|
-
pre: new
|
|
261
|
-
progress: new
|
|
262
|
-
q: new
|
|
263
|
-
rp: new
|
|
264
|
-
rt: new
|
|
265
|
-
ruby: new
|
|
266
|
-
s: new
|
|
267
|
-
samp: new
|
|
268
|
-
script: new
|
|
269
|
-
section: new
|
|
270
|
-
select: new
|
|
271
|
-
small: new
|
|
272
|
-
source: new
|
|
273
|
-
span: new
|
|
274
|
-
strong: new
|
|
275
|
-
style: new
|
|
276
|
-
sub: new
|
|
277
|
-
summary: new
|
|
278
|
-
sup: new
|
|
279
|
-
table: new
|
|
280
|
-
template: new
|
|
281
|
-
tbody: new
|
|
282
|
-
td: new
|
|
283
|
-
textarea: new
|
|
284
|
-
tfoot: new
|
|
285
|
-
th: new
|
|
286
|
-
thead: new
|
|
287
|
-
time: new
|
|
288
|
-
title: new
|
|
289
|
-
tr: new
|
|
290
|
-
track: new
|
|
291
|
-
u: new
|
|
292
|
-
ul: new
|
|
293
|
-
var: new
|
|
294
|
-
video: new
|
|
295
|
-
wbr: new
|
|
182
|
+
a: new HtmlDriver("a", false, el => el.kind = ElKind.native),
|
|
183
|
+
abbr: new HtmlDriver("abbr", false, el => el.kind = ElKind.native),
|
|
184
|
+
address: new HtmlDriver("address", false, el => el.kind = ElKind.native),
|
|
185
|
+
area: new HtmlDriver("area", false, el => el.kind = ElKind.native),
|
|
186
|
+
article: new HtmlDriver("article", false, el => el.kind = ElKind.native),
|
|
187
|
+
aside: new HtmlDriver("aside", false, el => el.kind = ElKind.native),
|
|
188
|
+
audio: new HtmlDriver("audio", false, el => el.kind = ElKind.native),
|
|
189
|
+
b: new HtmlDriver("b", false, el => el.kind = ElKind.native),
|
|
190
|
+
base: new HtmlDriver("base", false, el => el.kind = ElKind.native),
|
|
191
|
+
bdi: new HtmlDriver("bdi", false, el => el.kind = ElKind.native),
|
|
192
|
+
bdo: new HtmlDriver("bdo", false, el => el.kind = ElKind.native),
|
|
193
|
+
big: new HtmlDriver("big", false, el => el.kind = ElKind.native),
|
|
194
|
+
blockquote: new HtmlDriver("blockquote", false, el => el.kind = ElKind.native),
|
|
195
|
+
body: new HtmlDriver("body", false, el => el.kind = ElKind.native),
|
|
196
|
+
br: new HtmlDriver("br", false, el => el.kind = ElKind.native),
|
|
197
|
+
button: new HtmlDriver("button", false, el => el.kind = ElKind.native),
|
|
198
|
+
canvas: new HtmlDriver("canvas", false, el => el.kind = ElKind.native),
|
|
199
|
+
caption: new HtmlDriver("caption", false, el => el.kind = ElKind.native),
|
|
200
|
+
cite: new HtmlDriver("cite", false, el => el.kind = ElKind.native),
|
|
201
|
+
code: new HtmlDriver("code", false, el => el.kind = ElKind.native),
|
|
202
|
+
col: new HtmlDriver("col", false, el => el.kind = ElKind.native),
|
|
203
|
+
colgroup: new HtmlDriver("colgroup", false, el => el.kind = ElKind.native),
|
|
204
|
+
data: new HtmlDriver("data", false, el => el.kind = ElKind.native),
|
|
205
|
+
datalist: new HtmlDriver("datalist", false, el => el.kind = ElKind.native),
|
|
206
|
+
dd: new HtmlDriver("dd", false, el => el.kind = ElKind.native),
|
|
207
|
+
del: new HtmlDriver("del", false, el => el.kind = ElKind.native),
|
|
208
|
+
details: new HtmlDriver("details", false, el => el.kind = ElKind.native),
|
|
209
|
+
dfn: new HtmlDriver("dfn", false, el => el.kind = ElKind.native),
|
|
210
|
+
div: new HtmlDriver("div", false, el => el.kind = ElKind.native),
|
|
211
|
+
dl: new HtmlDriver("dl", false, el => el.kind = ElKind.native),
|
|
212
|
+
dt: new HtmlDriver("dt", false, el => el.kind = ElKind.native),
|
|
213
|
+
em: new HtmlDriver("em", false, el => el.kind = ElKind.native),
|
|
214
|
+
embed: new HtmlDriver("embed", false, el => el.kind = ElKind.native),
|
|
215
|
+
fieldset: new HtmlDriver("fieldset", false, el => el.kind = ElKind.native),
|
|
216
|
+
figcaption: new HtmlDriver("figcaption", false, el => el.kind = ElKind.native),
|
|
217
|
+
figure: new HtmlDriver("figure", false, el => el.kind = ElKind.native),
|
|
218
|
+
footer: new HtmlDriver("footer", false, el => el.kind = ElKind.native),
|
|
219
|
+
form: new HtmlDriver("form", false, el => el.kind = ElKind.native),
|
|
220
|
+
h1: new HtmlDriver("h1", false, el => el.kind = ElKind.native),
|
|
221
|
+
h2: new HtmlDriver("h2", false, el => el.kind = ElKind.native),
|
|
222
|
+
h3: new HtmlDriver("h3", false, el => el.kind = ElKind.native),
|
|
223
|
+
h4: new HtmlDriver("h4", false, el => el.kind = ElKind.native),
|
|
224
|
+
h5: new HtmlDriver("h5", false, el => el.kind = ElKind.native),
|
|
225
|
+
h6: new HtmlDriver("h6", false, el => el.kind = ElKind.native),
|
|
226
|
+
head: new HtmlDriver("head", false, el => el.kind = ElKind.native),
|
|
227
|
+
header: new HtmlDriver("header", false, el => el.kind = ElKind.native),
|
|
228
|
+
hgroup: new HtmlDriver("hgroup", false, el => el.kind = ElKind.native),
|
|
229
|
+
hr: new HtmlDriver("hr", false, el => el.kind = ElKind.native),
|
|
230
|
+
html: new HtmlDriver("html", false, el => el.kind = ElKind.native),
|
|
231
|
+
i: new HtmlDriver("i", false, el => el.kind = ElKind.native),
|
|
232
|
+
iframe: new HtmlDriver("iframe", false, el => el.kind = ElKind.native),
|
|
233
|
+
img: new HtmlDriver("img", false, el => el.kind = ElKind.native),
|
|
234
|
+
input: new HtmlDriver("input", false, el => el.kind = ElKind.native),
|
|
235
|
+
ins: new HtmlDriver("ins", false, el => el.kind = ElKind.native),
|
|
236
|
+
kbd: new HtmlDriver("kbd", false, el => el.kind = ElKind.native),
|
|
237
|
+
keygen: new HtmlDriver("keygen", false, el => el.kind = ElKind.native),
|
|
238
|
+
label: new HtmlDriver("label", false, el => el.kind = ElKind.native),
|
|
239
|
+
legend: new HtmlDriver("legend", false, el => el.kind = ElKind.native),
|
|
240
|
+
li: new HtmlDriver("li", false, el => el.kind = ElKind.native),
|
|
241
|
+
link: new HtmlDriver("link", false, el => el.kind = ElKind.native),
|
|
242
|
+
main: new HtmlDriver("main", false, el => el.kind = ElKind.native),
|
|
243
|
+
map: new HtmlDriver("map", false, el => el.kind = ElKind.native),
|
|
244
|
+
mark: new HtmlDriver("mark", false, el => el.kind = ElKind.native),
|
|
245
|
+
menu: new HtmlDriver("menu", false, el => el.kind = ElKind.native),
|
|
246
|
+
menuitem: new HtmlDriver("menuitem", false, el => el.kind = ElKind.native),
|
|
247
|
+
meta: new HtmlDriver("meta", false, el => el.kind = ElKind.native),
|
|
248
|
+
meter: new HtmlDriver("meter", false, el => el.kind = ElKind.native),
|
|
249
|
+
nav: new HtmlDriver("nav", false, el => el.kind = ElKind.native),
|
|
250
|
+
noindex: new HtmlDriver("noindex", false, el => el.kind = ElKind.native),
|
|
251
|
+
noscript: new HtmlDriver("noscript", false, el => el.kind = ElKind.native),
|
|
252
|
+
object: new HtmlDriver("object", false, el => el.kind = ElKind.native),
|
|
253
|
+
ol: new HtmlDriver("ol", false, el => el.kind = ElKind.native),
|
|
254
|
+
optgroup: new HtmlDriver("optgroup", false, el => el.kind = ElKind.native),
|
|
255
|
+
option: new HtmlDriver("option", false, el => el.kind = ElKind.native),
|
|
256
|
+
output: new HtmlDriver("output", false, el => el.kind = ElKind.native),
|
|
257
|
+
p: new HtmlDriver("p", false, el => el.kind = ElKind.native),
|
|
258
|
+
param: new HtmlDriver("param", false, el => el.kind = ElKind.native),
|
|
259
|
+
picture: new HtmlDriver("picture", false, el => el.kind = ElKind.native),
|
|
260
|
+
pre: new HtmlDriver("pre", false, el => el.kind = ElKind.native),
|
|
261
|
+
progress: new HtmlDriver("progress", false, el => el.kind = ElKind.native),
|
|
262
|
+
q: new HtmlDriver("q", false, el => el.kind = ElKind.native),
|
|
263
|
+
rp: new HtmlDriver("rp", false, el => el.kind = ElKind.native),
|
|
264
|
+
rt: new HtmlDriver("rt", false, el => el.kind = ElKind.native),
|
|
265
|
+
ruby: new HtmlDriver("ruby", false, el => el.kind = ElKind.native),
|
|
266
|
+
s: new HtmlDriver("s", false, el => el.kind = ElKind.native),
|
|
267
|
+
samp: new HtmlDriver("samp", false, el => el.kind = ElKind.native),
|
|
268
|
+
script: new HtmlDriver("script", false, el => el.kind = ElKind.native),
|
|
269
|
+
section: new HtmlDriver("section", false, el => el.kind = ElKind.native),
|
|
270
|
+
select: new HtmlDriver("select", false, el => el.kind = ElKind.native),
|
|
271
|
+
small: new HtmlDriver("small", false, el => el.kind = ElKind.native),
|
|
272
|
+
source: new HtmlDriver("source", false, el => el.kind = ElKind.native),
|
|
273
|
+
span: new HtmlDriver("span", false, el => el.kind = ElKind.native),
|
|
274
|
+
strong: new HtmlDriver("strong", false, el => el.kind = ElKind.native),
|
|
275
|
+
style: new HtmlDriver("style", false, el => el.kind = ElKind.native),
|
|
276
|
+
sub: new HtmlDriver("sub", false, el => el.kind = ElKind.native),
|
|
277
|
+
summary: new HtmlDriver("summary", false, el => el.kind = ElKind.native),
|
|
278
|
+
sup: new HtmlDriver("sup", false, el => el.kind = ElKind.native),
|
|
279
|
+
table: new HtmlDriver("table", false, el => el.kind = ElKind.native),
|
|
280
|
+
template: new HtmlDriver("template", false, el => el.kind = ElKind.native),
|
|
281
|
+
tbody: new HtmlDriver("tbody", false, el => el.kind = ElKind.native),
|
|
282
|
+
td: new HtmlDriver("td", false, el => el.kind = ElKind.native),
|
|
283
|
+
textarea: new HtmlDriver("textarea", false, el => el.kind = ElKind.native),
|
|
284
|
+
tfoot: new HtmlDriver("tfoot", false, el => el.kind = ElKind.native),
|
|
285
|
+
th: new HtmlDriver("th", false, el => el.kind = ElKind.native),
|
|
286
|
+
thead: new HtmlDriver("thead", false, el => el.kind = ElKind.native),
|
|
287
|
+
time: new HtmlDriver("time", false, el => el.kind = ElKind.native),
|
|
288
|
+
title: new HtmlDriver("title", false, el => el.kind = ElKind.native),
|
|
289
|
+
tr: new HtmlDriver("tr", false, el => el.kind = ElKind.native),
|
|
290
|
+
track: new HtmlDriver("track", false, el => el.kind = ElKind.native),
|
|
291
|
+
u: new HtmlDriver("u", false, el => el.kind = ElKind.native),
|
|
292
|
+
ul: new HtmlDriver("ul", false, el => el.kind = ElKind.native),
|
|
293
|
+
var: new HtmlDriver("var", false, el => el.kind = ElKind.native),
|
|
294
|
+
video: new HtmlDriver("video", false, el => el.kind = ElKind.native),
|
|
295
|
+
wbr: new HtmlDriver("wbr", false, el => el.kind = ElKind.native),
|
|
296
296
|
};
|
|
297
297
|
const SvgTags = {
|
|
298
|
-
svg: new
|
|
299
|
-
a: new
|
|
300
|
-
animate: new
|
|
301
|
-
animateMotion: new
|
|
302
|
-
animateTransform: new
|
|
303
|
-
circle: new
|
|
304
|
-
clipPath: new
|
|
305
|
-
defs: new
|
|
306
|
-
desc: new
|
|
307
|
-
ellipse: new
|
|
308
|
-
feBlend: new
|
|
309
|
-
feColorMatrix: new
|
|
310
|
-
feComponentTransfer: new
|
|
311
|
-
feComposite: new
|
|
312
|
-
feConvolveMatrix: new
|
|
313
|
-
feDiffuseLighting: new
|
|
314
|
-
feDisplacementMap: new
|
|
315
|
-
feDistantLight: new
|
|
316
|
-
feDropShadow: new
|
|
317
|
-
feFlood: new
|
|
318
|
-
feFuncA: new
|
|
319
|
-
feFuncB: new
|
|
320
|
-
feFuncG: new
|
|
321
|
-
feFuncR: new
|
|
322
|
-
feGaussianBlur: new
|
|
323
|
-
feImage: new
|
|
324
|
-
feMerge: new
|
|
325
|
-
feMergeNode: new
|
|
326
|
-
feMorphology: new
|
|
327
|
-
feOffset: new
|
|
328
|
-
fePointLight: new
|
|
329
|
-
feSpecularLighting: new
|
|
330
|
-
feSpotLight: new
|
|
331
|
-
feTile: new
|
|
332
|
-
feTurbulence: new
|
|
333
|
-
filter: new
|
|
334
|
-
foreignObject: new
|
|
335
|
-
g: new
|
|
336
|
-
image: new
|
|
337
|
-
line: new
|
|
338
|
-
linearGradient: new
|
|
339
|
-
marker: new
|
|
340
|
-
mask: new
|
|
341
|
-
metadata: new
|
|
342
|
-
mpath: new
|
|
343
|
-
path: new
|
|
344
|
-
pattern: new
|
|
345
|
-
polygon: new
|
|
346
|
-
polyline: new
|
|
347
|
-
radialGradient: new
|
|
348
|
-
rect: new
|
|
349
|
-
stop: new
|
|
350
|
-
switch: new
|
|
351
|
-
symbol: new
|
|
352
|
-
text: new
|
|
353
|
-
textPath: new
|
|
354
|
-
tspan: new
|
|
355
|
-
use: new
|
|
356
|
-
view: new
|
|
298
|
+
svg: new SvgDriver("svg", false, el => el.kind = ElKind.native),
|
|
299
|
+
a: new SvgDriver("a", false, el => el.kind = ElKind.native),
|
|
300
|
+
animate: new SvgDriver("animate", false, el => el.kind = ElKind.native),
|
|
301
|
+
animateMotion: new SvgDriver("animateMotion", false, el => el.kind = ElKind.native),
|
|
302
|
+
animateTransform: new SvgDriver("animateTransform", false, el => el.kind = ElKind.native),
|
|
303
|
+
circle: new SvgDriver("circle", false, el => el.kind = ElKind.native),
|
|
304
|
+
clipPath: new SvgDriver("clipPath", false, el => el.kind = ElKind.native),
|
|
305
|
+
defs: new SvgDriver("defs", false, el => el.kind = ElKind.native),
|
|
306
|
+
desc: new SvgDriver("desc", false, el => el.kind = ElKind.native),
|
|
307
|
+
ellipse: new SvgDriver("ellipse", false, el => el.kind = ElKind.native),
|
|
308
|
+
feBlend: new SvgDriver("feBlend", false, el => el.kind = ElKind.native),
|
|
309
|
+
feColorMatrix: new SvgDriver("feColorMatrix", false, el => el.kind = ElKind.native),
|
|
310
|
+
feComponentTransfer: new SvgDriver("feComponentTransfer", false, el => el.kind = ElKind.native),
|
|
311
|
+
feComposite: new SvgDriver("feComposite", false, el => el.kind = ElKind.native),
|
|
312
|
+
feConvolveMatrix: new SvgDriver("feConvolveMatrix", false, el => el.kind = ElKind.native),
|
|
313
|
+
feDiffuseLighting: new SvgDriver("feDiffuseLighting", false, el => el.kind = ElKind.native),
|
|
314
|
+
feDisplacementMap: new SvgDriver("feDisplacementMap", false, el => el.kind = ElKind.native),
|
|
315
|
+
feDistantLight: new SvgDriver("feDistantLight", false, el => el.kind = ElKind.native),
|
|
316
|
+
feDropShadow: new SvgDriver("feDropShadow", false, el => el.kind = ElKind.native),
|
|
317
|
+
feFlood: new SvgDriver("feFlood", false, el => el.kind = ElKind.native),
|
|
318
|
+
feFuncA: new SvgDriver("feFuncA", false, el => el.kind = ElKind.native),
|
|
319
|
+
feFuncB: new SvgDriver("feFuncB", false, el => el.kind = ElKind.native),
|
|
320
|
+
feFuncG: new SvgDriver("feFuncG", false, el => el.kind = ElKind.native),
|
|
321
|
+
feFuncR: new SvgDriver("feFuncR", false, el => el.kind = ElKind.native),
|
|
322
|
+
feGaussianBlur: new SvgDriver("feGaussianBlur", false, el => el.kind = ElKind.native),
|
|
323
|
+
feImage: new SvgDriver("feImage", false, el => el.kind = ElKind.native),
|
|
324
|
+
feMerge: new SvgDriver("feMerge", false, el => el.kind = ElKind.native),
|
|
325
|
+
feMergeNode: new SvgDriver("feMergeNode", false, el => el.kind = ElKind.native),
|
|
326
|
+
feMorphology: new SvgDriver("feMorphology", false, el => el.kind = ElKind.native),
|
|
327
|
+
feOffset: new SvgDriver("feOffset", false, el => el.kind = ElKind.native),
|
|
328
|
+
fePointLight: new SvgDriver("fePointLight", false, el => el.kind = ElKind.native),
|
|
329
|
+
feSpecularLighting: new SvgDriver("feSpecularLighting", false, el => el.kind = ElKind.native),
|
|
330
|
+
feSpotLight: new SvgDriver("feSpotLight", false, el => el.kind = ElKind.native),
|
|
331
|
+
feTile: new SvgDriver("feTile", false, el => el.kind = ElKind.native),
|
|
332
|
+
feTurbulence: new SvgDriver("feTurbulence", false, el => el.kind = ElKind.native),
|
|
333
|
+
filter: new SvgDriver("filter", false, el => el.kind = ElKind.native),
|
|
334
|
+
foreignObject: new SvgDriver("foreignObject", false, el => el.kind = ElKind.native),
|
|
335
|
+
g: new SvgDriver("g", false, el => el.kind = ElKind.native),
|
|
336
|
+
image: new SvgDriver("image", false, el => el.kind = ElKind.native),
|
|
337
|
+
line: new SvgDriver("line", false, el => el.kind = ElKind.native),
|
|
338
|
+
linearGradient: new SvgDriver("linearGradient", false, el => el.kind = ElKind.native),
|
|
339
|
+
marker: new SvgDriver("marker", false, el => el.kind = ElKind.native),
|
|
340
|
+
mask: new SvgDriver("mask", false, el => el.kind = ElKind.native),
|
|
341
|
+
metadata: new SvgDriver("metadata", false, el => el.kind = ElKind.native),
|
|
342
|
+
mpath: new SvgDriver("mpath", false, el => el.kind = ElKind.native),
|
|
343
|
+
path: new SvgDriver("path", false, el => el.kind = ElKind.native),
|
|
344
|
+
pattern: new SvgDriver("pattern", false, el => el.kind = ElKind.native),
|
|
345
|
+
polygon: new SvgDriver("polygon", false, el => el.kind = ElKind.native),
|
|
346
|
+
polyline: new SvgDriver("polyline", false, el => el.kind = ElKind.native),
|
|
347
|
+
radialGradient: new SvgDriver("radialGradient", false, el => el.kind = ElKind.native),
|
|
348
|
+
rect: new SvgDriver("rect", false, el => el.kind = ElKind.native),
|
|
349
|
+
stop: new SvgDriver("stop", false, el => el.kind = ElKind.native),
|
|
350
|
+
switch: new SvgDriver("switch", false, el => el.kind = ElKind.native),
|
|
351
|
+
symbol: new SvgDriver("symbol", false, el => el.kind = ElKind.native),
|
|
352
|
+
text: new SvgDriver("text", false, el => el.kind = ElKind.native),
|
|
353
|
+
textPath: new SvgDriver("textPath", false, el => el.kind = ElKind.native),
|
|
354
|
+
tspan: new SvgDriver("tspan", false, el => el.kind = ElKind.native),
|
|
355
|
+
use: new SvgDriver("use", false, el => el.kind = ElKind.native),
|
|
356
|
+
view: new SvgDriver("view", false, el => el.kind = ElKind.native),
|
|
357
357
|
};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { RxNodeVariable } from "reactronic";
|
|
2
|
+
export declare enum Axis {
|
|
3
|
+
X = 0,
|
|
4
|
+
Y = 1
|
|
5
|
+
}
|
|
6
|
+
export type NoUnit = void;
|
|
7
|
+
export type DistanceUnit = "px" | "ln" | "em" | "rem" | "vw" | "vh" | "%" | "f";
|
|
8
|
+
export declare class Dimension<T = NoUnit> {
|
|
9
|
+
num: number;
|
|
10
|
+
unit?: T;
|
|
11
|
+
constructor(num: number, unit?: T);
|
|
12
|
+
clone(): Dimension<T>;
|
|
13
|
+
equalsTo(another: Dimension<T>): boolean;
|
|
14
|
+
static parse<T>(text: string): Dimension<T>;
|
|
15
|
+
static emit<T>(value: Dimension<T>): string;
|
|
16
|
+
static readonly gFontSizePx: RxNodeVariable<number>;
|
|
17
|
+
private static readonly gLineSizePx;
|
|
18
|
+
static get lineSizePx(): number;
|
|
19
|
+
static set lineSizePx(value: number);
|
|
20
|
+
static getLineSizePx(): RxNodeVariable<number>;
|
|
21
|
+
}
|
|
22
|
+
export declare function dim<T = NoUnit>(num: number, unit?: T): Dimension<T>;
|
|
23
|
+
export type SizeConverterOptions = {
|
|
24
|
+
axis: Axis;
|
|
25
|
+
lineSizePx: number;
|
|
26
|
+
fontSizePx: number;
|
|
27
|
+
containerSizeXpx: number;
|
|
28
|
+
containerSizeYpx: number;
|
|
29
|
+
};
|
|
30
|
+
export declare const BodyFontSize: number;
|
|
31
|
+
export declare const BodySmallFontSize: number;
|
|
32
|
+
export declare function px(num: number): Dimension<DistanceUnit>;
|
|
33
|
+
export declare function ln(num: number): Dimension<DistanceUnit>;
|
|
34
|
+
export declare function fromPx(value: number, unit: DistanceUnit, options: SizeConverterOptions): number;
|
|
35
|
+
export declare function fromPx<T>(value: Dimension<T>, options: SizeConverterOptions): number;
|
|
36
|
+
export declare function toPx(value: number, unit: DistanceUnit, options: SizeConverterOptions): number;
|
|
37
|
+
export declare function toPx<T>(value: Dimension<T>, options: SizeConverterOptions): number;
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { RxNodeVariable } from "reactronic";
|
|
2
|
+
export var Axis;
|
|
3
|
+
(function (Axis) {
|
|
4
|
+
Axis[Axis["X"] = 0] = "X";
|
|
5
|
+
Axis[Axis["Y"] = 1] = "Y";
|
|
6
|
+
})(Axis || (Axis = {}));
|
|
7
|
+
export class Dimension {
|
|
8
|
+
constructor(num, unit) {
|
|
9
|
+
this.num = num;
|
|
10
|
+
this.unit = unit;
|
|
11
|
+
}
|
|
12
|
+
clone() {
|
|
13
|
+
return new Dimension(this.num, this.unit);
|
|
14
|
+
}
|
|
15
|
+
equalsTo(another) {
|
|
16
|
+
return this.num === another.num && this.unit === another.unit;
|
|
17
|
+
}
|
|
18
|
+
static parse(text) {
|
|
19
|
+
text = text.trim();
|
|
20
|
+
const splitPos = text.search(/[^0-9.]/);
|
|
21
|
+
const num = Number.parseFloat(~splitPos ? text.substring(0, splitPos) : text);
|
|
22
|
+
const unit = ~splitPos ? text.substring(splitPos, text.length).trim() : undefined;
|
|
23
|
+
return dim(num, unit);
|
|
24
|
+
}
|
|
25
|
+
static emit(value) {
|
|
26
|
+
var _a;
|
|
27
|
+
return `${value.num}${(_a = value.unit) !== null && _a !== void 0 ? _a : ""}`;
|
|
28
|
+
}
|
|
29
|
+
static get lineSizePx() {
|
|
30
|
+
return Dimension.gLineSizePx.value;
|
|
31
|
+
}
|
|
32
|
+
static set lineSizePx(value) {
|
|
33
|
+
Dimension.gLineSizePx.value = value;
|
|
34
|
+
}
|
|
35
|
+
static getLineSizePx() {
|
|
36
|
+
return Dimension.gLineSizePx;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
Dimension.gFontSizePx = new RxNodeVariable();
|
|
40
|
+
Dimension.gLineSizePx = new RxNodeVariable();
|
|
41
|
+
export function dim(num, unit) {
|
|
42
|
+
return new Dimension(num, unit);
|
|
43
|
+
}
|
|
44
|
+
export const BodyFontSize = Number.parseFloat(getComputedStyle(document.body).fontSize);
|
|
45
|
+
export const BodySmallFontSize = Math.ceil(BodyFontSize * 0.75);
|
|
46
|
+
export function px(num) {
|
|
47
|
+
return dim(num, "px");
|
|
48
|
+
}
|
|
49
|
+
export function ln(num) {
|
|
50
|
+
return dim(num, "ln");
|
|
51
|
+
}
|
|
52
|
+
export function fromPx(value, ...args) {
|
|
53
|
+
const isValueNumber = typeof value === "number";
|
|
54
|
+
const { num, unit } = isValueNumber
|
|
55
|
+
? { num: value, unit: args[0] }
|
|
56
|
+
: value;
|
|
57
|
+
const options = isValueNumber ? args[1] : args[0];
|
|
58
|
+
let result = 0;
|
|
59
|
+
switch (unit) {
|
|
60
|
+
case "px":
|
|
61
|
+
result = num;
|
|
62
|
+
break;
|
|
63
|
+
case "ln":
|
|
64
|
+
result = pxToEmOrN(num, options.lineSizePx);
|
|
65
|
+
break;
|
|
66
|
+
case "em":
|
|
67
|
+
result = pxToEmOrN(num, options.fontSizePx);
|
|
68
|
+
break;
|
|
69
|
+
case "rem":
|
|
70
|
+
result = pxToRem(num);
|
|
71
|
+
break;
|
|
72
|
+
case "vw":
|
|
73
|
+
result = pxToPercent(num, options.containerSizeXpx);
|
|
74
|
+
break;
|
|
75
|
+
case "vh":
|
|
76
|
+
result = pxToPercent(num, options.containerSizeYpx);
|
|
77
|
+
break;
|
|
78
|
+
case "%":
|
|
79
|
+
result = pxToPercent(num, options.axis === Axis.X ? options.containerSizeXpx : options.containerSizeYpx);
|
|
80
|
+
break;
|
|
81
|
+
default:
|
|
82
|
+
result = num;
|
|
83
|
+
break;
|
|
84
|
+
}
|
|
85
|
+
return result;
|
|
86
|
+
}
|
|
87
|
+
export function toPx(value, ...args) {
|
|
88
|
+
const isValueNumber = typeof value === "number";
|
|
89
|
+
const { num, unit } = isValueNumber
|
|
90
|
+
? { num: value, unit: args[0] }
|
|
91
|
+
: value;
|
|
92
|
+
const options = isValueNumber ? args[1] : args[0];
|
|
93
|
+
let result = 0;
|
|
94
|
+
switch (unit) {
|
|
95
|
+
case "px":
|
|
96
|
+
result = num;
|
|
97
|
+
break;
|
|
98
|
+
case "ln":
|
|
99
|
+
result = emOrNToPx(num, options.lineSizePx);
|
|
100
|
+
break;
|
|
101
|
+
case "em":
|
|
102
|
+
result = emOrNToPx(num, options.fontSizePx);
|
|
103
|
+
break;
|
|
104
|
+
case "rem":
|
|
105
|
+
result = remToPx(num);
|
|
106
|
+
break;
|
|
107
|
+
case "vw":
|
|
108
|
+
result = percentToPx(num, options.containerSizeXpx);
|
|
109
|
+
break;
|
|
110
|
+
case "vh":
|
|
111
|
+
result = percentToPx(num, options.containerSizeYpx);
|
|
112
|
+
break;
|
|
113
|
+
case "%":
|
|
114
|
+
result = percentToPx(num, options.axis === Axis.X ? options.containerSizeXpx : options.containerSizeYpx);
|
|
115
|
+
break;
|
|
116
|
+
default:
|
|
117
|
+
result = num;
|
|
118
|
+
break;
|
|
119
|
+
}
|
|
120
|
+
return result;
|
|
121
|
+
}
|
|
122
|
+
function pxToPercent(px, containerSizePx) {
|
|
123
|
+
return px * 100 / containerSizePx;
|
|
124
|
+
}
|
|
125
|
+
function pxToRem(px) {
|
|
126
|
+
return px / BodyFontSize;
|
|
127
|
+
}
|
|
128
|
+
function pxToEmOrN(px, sizePx) {
|
|
129
|
+
return px / sizePx;
|
|
130
|
+
}
|
|
131
|
+
function percentToPx(percent, containerSizePx) {
|
|
132
|
+
return percent * containerSizePx / 100;
|
|
133
|
+
}
|
|
134
|
+
function remToPx(rem) {
|
|
135
|
+
return Math.round(rem * BodyFontSize);
|
|
136
|
+
}
|
|
137
|
+
function emOrNToPx(em, sizePx) {
|
|
138
|
+
return Math.round(em * sizePx);
|
|
139
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { MergeList, RxNode } from "reactronic";
|
|
2
|
+
import { ElImpl } from "./El.js";
|
|
3
|
+
export declare function equal(a: number, b: number): boolean;
|
|
4
|
+
export declare function less(a: number, b: number): boolean;
|
|
5
|
+
export declare function greater(a: number, b: number): boolean;
|
|
6
|
+
export declare function relayoutUsingSplitter(splitViewNode: RxNode<ElImpl>, deltaPx: number, index: number, initialSizesPx: Array<{
|
|
7
|
+
node: RxNode<ElImpl>;
|
|
8
|
+
sizePx: number;
|
|
9
|
+
}>, priorities?: ReadonlyArray<number>): void;
|
|
10
|
+
export declare function relayout(splitViewNode: RxNode<ElImpl>, priorities: ReadonlyArray<number>, manuallyResizablePriorities: ReadonlyArray<number>, sizesPx: Array<{
|
|
11
|
+
node: RxNode<ElImpl>;
|
|
12
|
+
sizePx: number;
|
|
13
|
+
}>): void;
|
|
14
|
+
export declare function resizeUsingDelta(splitViewNode: RxNode<ElImpl>, deltaPx: number, index: number, priorities: ReadonlyArray<number>, sizesPx: Array<{
|
|
15
|
+
node: RxNode<ElImpl>;
|
|
16
|
+
sizePx: number;
|
|
17
|
+
}>, force?: boolean): number;
|
|
18
|
+
export declare function layout(splitViewNode: RxNode<ElImpl>): void;
|
|
19
|
+
export declare function getPrioritiesForSplitter(index: number, size: number): ReadonlyArray<number>;
|
|
20
|
+
export declare function getPrioritiesForSizeChanging(isHorizontal: boolean, children: MergeList<RxNode>, indexes: Array<number>): {
|
|
21
|
+
resizable: ReadonlyArray<number>;
|
|
22
|
+
manuallyResizable: ReadonlyArray<number>;
|
|
23
|
+
};
|
|
24
|
+
export declare function getPrioritiesForEmptySpaceDistribution(isHorizontal: boolean, children: MergeList<RxNode>): {
|
|
25
|
+
resizable: ReadonlyArray<number>;
|
|
26
|
+
manuallyResizable: ReadonlyArray<number>;
|
|
27
|
+
};
|