@srfnstack/fntags 0.4.2 → 0.4.3

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/index.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ export * from "./src/fntags.mjs";
2
+ export * from "./src/fnroute.mjs";
3
+ export * from "./src/fnelements.mjs";
4
+ //# sourceMappingURL=index.d.ts.map
package/index.d.ts.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.js"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,12 +1,14 @@
1
1
  {
2
2
  "name": "@srfnstack/fntags",
3
- "version": "0.4.2",
3
+ "version": "0.4.3",
4
4
  "author": "Robert Kempton <r@snow87.com>",
5
5
  "private": false,
6
6
  "homepage": "https://github.com/srfnstack/fntags",
7
7
  "license": "MIT",
8
8
  "files": [
9
9
  "src/*",
10
+ "index.d.ts",
11
+ "index.d.ts.map",
10
12
  "index.js",
11
13
  "LICENSE.txt",
12
14
  "README.md"
@@ -38,16 +40,17 @@
38
40
  "typescript": "^5.3.3"
39
41
  },
40
42
  "scripts": {
41
- "test": "cp src/* docs/lib/ && npm run lint && cypress run --spec test/** --headless -b chrome",
43
+ "test": "cp src/*.mjs docs/lib/ && npm run lint && cypress run --spec test/** --headless -b chrome",
42
44
  "cypress": "cypress run --spec test/** -b chrome",
43
45
  "lint": "standard --env browser src && standard --env browser --env jest --global Prism --global cy test docs",
44
46
  "lint:fix": "standard --env browser --fix src && standard --env browser --env jest --global Prism --global cy --fix test docs",
45
- "typedef": "tsc",
47
+ "typedef": "rm -rf src/*.mts* && tsc",
46
48
  "docs": "typedoc --plugin typedoc-plugin-markdown --out docs/types ./src/*.mjs",
47
49
  "build": "npm run lint:fix && npm run typedef && npm run docs && npm run test"
48
50
  },
49
51
  "pre-commit": [
50
52
  "lint",
51
53
  "test"
52
- ]
54
+ ],
55
+ "typings": "index.d.ts"
53
56
  }
@@ -0,0 +1,504 @@
1
+ /**
2
+ * @type {function(...[*]=): HTMLAnchorElement}
3
+ */
4
+ export const a: (arg0: [any][] | undefined) => HTMLAnchorElement;
5
+ /**
6
+ * @type {function(...[*]=): HTMLElement}
7
+ */
8
+ export const abbr: (arg0: [any][] | undefined) => HTMLElement;
9
+ /**
10
+ * @type {function(...[*]=): HTMLElement}
11
+ */
12
+ export const acronym: (arg0: [any][] | undefined) => HTMLElement;
13
+ /**
14
+ * @type {function(...[*]=): HTMLElement}
15
+ */
16
+ export const address: (arg0: [any][] | undefined) => HTMLElement;
17
+ /**
18
+ * @type {function(...[*]=): HTMLAreaElement}
19
+ */
20
+ export const area: (arg0: [any][] | undefined) => HTMLAreaElement;
21
+ /**
22
+ * @type {function(...[*]=): HTMLElement}
23
+ */
24
+ export const article: (arg0: [any][] | undefined) => HTMLElement;
25
+ /**
26
+ * @type {function(...[*]=): HTMLElement}
27
+ */
28
+ export const aside: (arg0: [any][] | undefined) => HTMLElement;
29
+ /**
30
+ * @type {function(...[*]=): HTMLAudioElement}
31
+ */
32
+ export const audio: (arg0: [any][] | undefined) => HTMLAudioElement;
33
+ /**
34
+ * @type {function(...[*]=): HTMLElement}
35
+ */
36
+ export const b: (arg0: [any][] | undefined) => HTMLElement;
37
+ /**
38
+ * @type {function(...[*]=): HTMLBaseElement}
39
+ */
40
+ export const base: (arg0: [any][] | undefined) => HTMLBaseElement;
41
+ /**
42
+ * @type {function(...[*]=): HTMLElement}
43
+ */
44
+ export const bdi: (arg0: [any][] | undefined) => HTMLElement;
45
+ /**
46
+ * @type {function(...[*]=): HTMLElement}
47
+ */
48
+ export const bdo: (arg0: [any][] | undefined) => HTMLElement;
49
+ /**
50
+ * @type {function(...[*]=): HTMLElement}
51
+ */
52
+ export const big: (arg0: [any][] | undefined) => HTMLElement;
53
+ /**
54
+ * @type {function(...[*]=): HTMLQuoteElement}
55
+ */
56
+ export const blockquote: (arg0: [any][] | undefined) => HTMLQuoteElement;
57
+ /**
58
+ * @type {function(...[*]=): HTMLBodyElement}
59
+ */
60
+ export const body: (arg0: [any][] | undefined) => HTMLBodyElement;
61
+ /**
62
+ * @type {function(...[*]=): HTMLBRElement}
63
+ */
64
+ export const br: (arg0: [any][] | undefined) => HTMLBRElement;
65
+ /**
66
+ * @type {function(...[*]=): HTMLButtonElement}
67
+ */
68
+ export const button: (arg0: [any][] | undefined) => HTMLButtonElement;
69
+ /**
70
+ * @type {function(...[*]=): HTMLCanvasElement}
71
+ */
72
+ export const canvas: (arg0: [any][] | undefined) => HTMLCanvasElement;
73
+ /**
74
+ * @type {function(...[*]=): HTMLTableCaptionElement}
75
+ */
76
+ export const caption: (arg0: [any][] | undefined) => HTMLTableCaptionElement;
77
+ /**
78
+ * @type {function(...[*]=): HTMLElement}
79
+ */
80
+ export const cite: (arg0: [any][] | undefined) => HTMLElement;
81
+ /**
82
+ * @type {function(...[*]=): HTMLElement}
83
+ */
84
+ export const code: (arg0: [any][] | undefined) => HTMLElement;
85
+ /**
86
+ * @type {function(...[*]=): HTMLTableColElement}
87
+ */
88
+ export const col: (arg0: [any][] | undefined) => HTMLTableColElement;
89
+ /**
90
+ * @type {function(...[*]=): HTMLTableColElement}
91
+ */
92
+ export const colgroup: (arg0: [any][] | undefined) => HTMLTableColElement;
93
+ /**
94
+ * @type {function(...[*]=): HTMLDataElement}
95
+ */
96
+ export const data: (arg0: [any][] | undefined) => HTMLDataElement;
97
+ /**
98
+ * @type {function(...[*]=): HTMLDataListElement}
99
+ */
100
+ export const datalist: (arg0: [any][] | undefined) => HTMLDataListElement;
101
+ /**
102
+ * @type {function(...[*]=): HTMLElement}
103
+ */
104
+ export const dd: (arg0: [any][] | undefined) => HTMLElement;
105
+ /**
106
+ * @type {function(...[*]=): HTMLModElement}
107
+ */
108
+ export const del: (arg0: [any][] | undefined) => HTMLModElement;
109
+ /**
110
+ * @type {function(...[*]=): HTMLDetailsElement}
111
+ */
112
+ export const details: (arg0: [any][] | undefined) => HTMLDetailsElement;
113
+ /**
114
+ * @type {function(...[*]=): HTMLElement}
115
+ */
116
+ export const dfn: (arg0: [any][] | undefined) => HTMLElement;
117
+ /**
118
+ * @type {function(...[*]=): HTMLDialogElement}
119
+ */
120
+ export const dialog: (arg0: [any][] | undefined) => HTMLDialogElement;
121
+ /**
122
+ * @type {function(...[*]=): HTMLDirectoryElement}
123
+ */
124
+ export const dir: (arg0: [any][] | undefined) => HTMLDirectoryElement;
125
+ /**
126
+ * @type {function(...[*]=): HTMLDivElement}
127
+ */
128
+ export const div: (arg0: [any][] | undefined) => HTMLDivElement;
129
+ /**
130
+ * @type {function(...[*]=): HTMLDListElement}
131
+ */
132
+ export const dl: (arg0: [any][] | undefined) => HTMLDListElement;
133
+ /**
134
+ * @type {function(...[*]=): HTMLElement}
135
+ */
136
+ export const dt: (arg0: [any][] | undefined) => HTMLElement;
137
+ /**
138
+ * @type {function(...[*]=): HTMLElement}
139
+ */
140
+ export const em: (arg0: [any][] | undefined) => HTMLElement;
141
+ /**
142
+ * @type {function(...[*]=): HTMLEmbedElement}
143
+ */
144
+ export const embed: (arg0: [any][] | undefined) => HTMLEmbedElement;
145
+ /**
146
+ * @type {function(...[*]=): HTMLFieldSetElement}
147
+ */
148
+ export const fieldset: (arg0: [any][] | undefined) => HTMLFieldSetElement;
149
+ /**
150
+ * @type {function(...[*]=): HTMLElement}
151
+ */
152
+ export const figcaption: (arg0: [any][] | undefined) => HTMLElement;
153
+ /**
154
+ * @type {function(...[*]=): HTMLElement}
155
+ */
156
+ export const figure: (arg0: [any][] | undefined) => HTMLElement;
157
+ /**
158
+ * @type {function(...[*]=): HTMLDivElement}
159
+ */
160
+ export const flexCol: (arg0: [any][] | undefined) => HTMLDivElement;
161
+ /**
162
+ * @type {function(...[*]=): HTMLDivElement}
163
+ */
164
+ export const flexCenteredCol: (arg0: [any][] | undefined) => HTMLDivElement;
165
+ /**
166
+ * @type {function(...[*]=): HTMLDivElement}
167
+ */
168
+ export const flexRow: (arg0: [any][] | undefined) => HTMLDivElement;
169
+ /**
170
+ * @type {function(...[*]=): HTMLDivElement}
171
+ */
172
+ export const flexCenteredRow: (arg0: [any][] | undefined) => HTMLDivElement;
173
+ /**
174
+ * @type {function(...[*]=): HTMLFontElement}
175
+ */
176
+ export const font: (arg0: [any][] | undefined) => HTMLFontElement;
177
+ /**
178
+ * @type {function(...[*]=): HTMLElement}
179
+ */
180
+ export const footer: (arg0: [any][] | undefined) => HTMLElement;
181
+ /**
182
+ * @type {function(...[*]=): HTMLFormElement}
183
+ */
184
+ export const form: (arg0: [any][] | undefined) => HTMLFormElement;
185
+ /**
186
+ * @type {function(...[*]=): HTMLFrameElement}
187
+ */
188
+ export const frame: (arg0: [any][] | undefined) => HTMLFrameElement;
189
+ /**
190
+ * @type {function(...[*]=): HTMLFrameSetElement}
191
+ */
192
+ export const frameset: (arg0: [any][] | undefined) => HTMLFrameSetElement;
193
+ /**
194
+ * @type {function(...[*]=): HTMLHeadingElement}
195
+ */
196
+ export const h1: (arg0: [any][] | undefined) => HTMLHeadingElement;
197
+ /**
198
+ * @type {function(...[*]=): HTMLHeadingElement}
199
+ */
200
+ export const h2: (arg0: [any][] | undefined) => HTMLHeadingElement;
201
+ /**
202
+ * @type {function(...[*]=): HTMLHeadingElement}
203
+ */
204
+ export const h3: (arg0: [any][] | undefined) => HTMLHeadingElement;
205
+ /**
206
+ * @type {function(...[*]=): HTMLHeadingElement}
207
+ */
208
+ export const h4: (arg0: [any][] | undefined) => HTMLHeadingElement;
209
+ /**
210
+ * @type {function(...[*]=): HTMLHeadingElement}
211
+ */
212
+ export const h5: (arg0: [any][] | undefined) => HTMLHeadingElement;
213
+ /**
214
+ * @type {function(...[*]=): HTMLHeadingElement}
215
+ */
216
+ export const h6: (arg0: [any][] | undefined) => HTMLHeadingElement;
217
+ /**
218
+ * @type {function(...[*]=): HTMLHeadElement}
219
+ */
220
+ export const head: (arg0: [any][] | undefined) => HTMLHeadElement;
221
+ /**
222
+ * @type {function(...[*]=): HTMLElement}
223
+ */
224
+ export const header: (arg0: [any][] | undefined) => HTMLElement;
225
+ /**
226
+ * @type {function(...[*]=): HTMLElement}
227
+ */
228
+ export const hgroup: (arg0: [any][] | undefined) => HTMLElement;
229
+ /**
230
+ * @type {function(...[*]=): HTMLHRElement}
231
+ */
232
+ export const hr: (arg0: [any][] | undefined) => HTMLHRElement;
233
+ /**
234
+ * @type {function(...[*]=): HTMLHtmlElement}
235
+ */
236
+ export const html: (arg0: [any][] | undefined) => HTMLHtmlElement;
237
+ /**
238
+ * @type {function(...[*]=): HTMLElement}
239
+ */
240
+ export const i: (arg0: [any][] | undefined) => HTMLElement;
241
+ /**
242
+ * @type {function(...[*]=): HTMLIFrameElement}
243
+ */
244
+ export const iframe: (arg0: [any][] | undefined) => HTMLIFrameElement;
245
+ /**
246
+ * @type {function(...[*]=): HTMLImageElement}
247
+ */
248
+ export const img: (arg0: [any][] | undefined) => HTMLImageElement;
249
+ /**
250
+ * @type {function(...[*]=): HTMLInputElement}
251
+ */
252
+ export const input: (arg0: [any][] | undefined) => HTMLInputElement;
253
+ /**
254
+ * @type {function(...[*]=): HTMLModElement}
255
+ */
256
+ export const ins: (arg0: [any][] | undefined) => HTMLModElement;
257
+ /**
258
+ * @type {function(...[*]=): HTMLElement}
259
+ */
260
+ export const kbd: (arg0: [any][] | undefined) => HTMLElement;
261
+ /**
262
+ * @type {function(...[*]=): HTMLLabelElement}
263
+ */
264
+ export const label: (arg0: [any][] | undefined) => HTMLLabelElement;
265
+ /**
266
+ * @type {function(...[*]=): HTMLLegendElement}
267
+ */
268
+ export const legend: (arg0: [any][] | undefined) => HTMLLegendElement;
269
+ /**
270
+ * @type {function(...[*]=): HTMLLIElement}
271
+ */
272
+ export const li: (arg0: [any][] | undefined) => HTMLLIElement;
273
+ /**
274
+ * @type {function(...[*]=): HTMLLinkElement}
275
+ */
276
+ export const link: (arg0: [any][] | undefined) => HTMLLinkElement;
277
+ /**
278
+ * @type {function(...[*]=): HTMLElement}
279
+ */
280
+ export const main: (arg0: [any][] | undefined) => HTMLElement;
281
+ /**
282
+ * @type {function(...[*]=): HTMLMapElement}
283
+ */
284
+ export const map: (arg0: [any][] | undefined) => HTMLMapElement;
285
+ /**
286
+ * @type {function(...[*]=): HTMLElement}
287
+ */
288
+ export const mark: (arg0: [any][] | undefined) => HTMLElement;
289
+ /**
290
+ * The best html element for every occasion.
291
+ * @type {function(...[*]=): HTMLMarqueeElement}
292
+ */
293
+ export const marquee: (arg0: [any][] | undefined) => HTMLMarqueeElement;
294
+ /**
295
+ * @type {function(...[*]=): HTMLMenuElement}
296
+ */
297
+ export const menu: (arg0: [any][] | undefined) => HTMLMenuElement;
298
+ /**
299
+ * @type {function(...[*]=): HTMLMetaElement}
300
+ */
301
+ export const meta: (arg0: [any][] | undefined) => HTMLMetaElement;
302
+ /**
303
+ * @type {function(...[*]=): HTMLMeterElement}
304
+ */
305
+ export const meter: (arg0: [any][] | undefined) => HTMLMeterElement;
306
+ /**
307
+ * @type {function(...[*]=): HTMLElement}
308
+ */
309
+ export const nav: (arg0: [any][] | undefined) => HTMLElement;
310
+ /**
311
+ * @type {function(...[*]=): HTMLElement}
312
+ */
313
+ export const noframes: (arg0: [any][] | undefined) => HTMLElement;
314
+ /**
315
+ * @type {function(...[*]=): HTMLElement}
316
+ */
317
+ export const noscript: (arg0: [any][] | undefined) => HTMLElement;
318
+ /**
319
+ * @type {function(...[*]=): HTMLObjectElement}
320
+ */
321
+ export const object: (arg0: [any][] | undefined) => HTMLObjectElement;
322
+ /**
323
+ * @type {function(...[*]=): HTMLOListElement}
324
+ */
325
+ export const ol: (arg0: [any][] | undefined) => HTMLOListElement;
326
+ /**
327
+ * @type {function(...[*]=): HTMLOptGroupElement}
328
+ */
329
+ export const optgroup: (arg0: [any][] | undefined) => HTMLOptGroupElement;
330
+ /**
331
+ * @type {function(...[*]=): HTMLOptionElement}
332
+ */
333
+ export const option: (arg0: [any][] | undefined) => HTMLOptionElement;
334
+ /**
335
+ * @type {function(...[*]=): HTMLOutputElement}
336
+ */
337
+ export const output: (arg0: [any][] | undefined) => HTMLOutputElement;
338
+ /**
339
+ * @type {function(...[*]=): HTMLParagraphElement}
340
+ */
341
+ export const p: (arg0: [any][] | undefined) => HTMLParagraphElement;
342
+ /**
343
+ * @type {function(...[*]=): HTMLParamElement}
344
+ */
345
+ export const param: (arg0: [any][] | undefined) => HTMLParamElement;
346
+ /**
347
+ * @type {function(...[*]=): HTMLPictureElement}
348
+ */
349
+ export const picture: (arg0: [any][] | undefined) => HTMLPictureElement;
350
+ /**
351
+ * @type {function(...[*]=): HTMLPreElement}
352
+ */
353
+ export const pre: (arg0: [any][] | undefined) => HTMLPreElement;
354
+ /**
355
+ * @type {function(...[*]=): HTMLProgressElement}
356
+ */
357
+ export const progress: (arg0: [any][] | undefined) => HTMLProgressElement;
358
+ /**
359
+ * @type {function(...[*]=): HTMLQuoteElement}
360
+ */
361
+ export const q: (arg0: [any][] | undefined) => HTMLQuoteElement;
362
+ /**
363
+ * @type {function(...[*]=): HTMLElement}
364
+ */
365
+ export const rp: (arg0: [any][] | undefined) => HTMLElement;
366
+ /**
367
+ * @type {function(...[*]=): HTMLElement}
368
+ */
369
+ export const rt: (arg0: [any][] | undefined) => HTMLElement;
370
+ /**
371
+ * @type {function(...[*]=): HTMLElement}
372
+ */
373
+ export const ruby: (arg0: [any][] | undefined) => HTMLElement;
374
+ /**
375
+ * @type {function(...[*]=): HTMLElement}
376
+ */
377
+ export const s: (arg0: [any][] | undefined) => HTMLElement;
378
+ /**
379
+ * @type {function(...[*]=): HTMLElement}
380
+ */
381
+ export const samp: (arg0: [any][] | undefined) => HTMLElement;
382
+ /**
383
+ * @type {function(...[*]=): HTMLScriptElement}
384
+ */
385
+ export const script: (arg0: [any][] | undefined) => HTMLScriptElement;
386
+ /**
387
+ * @type {function(...[*]=): HTMLElement}
388
+ */
389
+ export const section: (arg0: [any][] | undefined) => HTMLElement;
390
+ /**
391
+ * @type {function(...[*]=): HTMLSelectElement}
392
+ */
393
+ export const select: (arg0: [any][] | undefined) => HTMLSelectElement;
394
+ /**
395
+ * @type {function(...[*]=): HTMLSlotElement}
396
+ */
397
+ export const slot: (arg0: [any][] | undefined) => HTMLSlotElement;
398
+ /**
399
+ * @type {function(...[*]=): HTMLElement}
400
+ */
401
+ export const small: (arg0: [any][] | undefined) => HTMLElement;
402
+ /**
403
+ * @type {function(...[*]=): HTMLSourceElement}
404
+ */
405
+ export const source: (arg0: [any][] | undefined) => HTMLSourceElement;
406
+ /**
407
+ * @type {function(...[*]=): HTMLSpanElement}
408
+ */
409
+ export const span: (arg0: [any][] | undefined) => HTMLSpanElement;
410
+ /**
411
+ * @type {function(...[*]=): HTMLElement}
412
+ */
413
+ export const strong: (arg0: [any][] | undefined) => HTMLElement;
414
+ /**
415
+ * @type {function(...[*]=): HTMLStyleElement}
416
+ */
417
+ export const style: (arg0: [any][] | undefined) => HTMLStyleElement;
418
+ /**
419
+ * @type {function(...[*]=): HTMLElement}
420
+ */
421
+ export const sub: (arg0: [any][] | undefined) => HTMLElement;
422
+ /**
423
+ * @type {function(...[*]=): HTMLElement}
424
+ */
425
+ export const summary: (arg0: [any][] | undefined) => HTMLElement;
426
+ /**
427
+ * @type {function(...[*]=): HTMLElement}
428
+ */
429
+ export const sup: (arg0: [any][] | undefined) => HTMLElement;
430
+ /**
431
+ * @type {function(...[*]=): HTMLTableElement}
432
+ */
433
+ export const table: (arg0: [any][] | undefined) => HTMLTableElement;
434
+ /**
435
+ * @type {function(...[*]=): HTMLTableSectionElement}
436
+ */
437
+ export const tbody: (arg0: [any][] | undefined) => HTMLTableSectionElement;
438
+ /**
439
+ * @type {function(...[*]=): HTMLTableDataCellElement}
440
+ */
441
+ export const td: (arg0: [any][] | undefined) => HTMLTableDataCellElement;
442
+ /**
443
+ * @type {function(...[*]=): HTMLTemplateElement}
444
+ */
445
+ export const template: (arg0: [any][] | undefined) => HTMLTemplateElement;
446
+ /**
447
+ * @type {function(...[*]=): HTMLTextAreaElement}
448
+ */
449
+ export const textarea: (arg0: [any][] | undefined) => HTMLTextAreaElement;
450
+ /**
451
+ * @type {function(...[*]=): HTMLTableSectionElement}
452
+ */
453
+ export const tfoot: (arg0: [any][] | undefined) => HTMLTableSectionElement;
454
+ /**
455
+ * @type {function(...[*]=): HTMLTableHeaderCellElement}
456
+ */
457
+ export const th: (arg0: [any][] | undefined) => HTMLTableHeaderCellElement;
458
+ /**
459
+ * @type {function(...[*]=): HTMLTableSectionElement}
460
+ */
461
+ export const thead: (arg0: [any][] | undefined) => HTMLTableSectionElement;
462
+ /**
463
+ * @type {function(...[*]=): HTMLTimeElement}
464
+ */
465
+ export const time: (arg0: [any][] | undefined) => HTMLTimeElement;
466
+ /**
467
+ * @type {function(...[*]=): HTMLTitleElement}
468
+ */
469
+ export const title: (arg0: [any][] | undefined) => HTMLTitleElement;
470
+ /**
471
+ * @type {function(...[*]=): HTMLTableRowElement}
472
+ */
473
+ export const tr: (arg0: [any][] | undefined) => HTMLTableRowElement;
474
+ /**
475
+ * @type {function(...[*]=): HTMLTrackElement}
476
+ */
477
+ export const track: (arg0: [any][] | undefined) => HTMLTrackElement;
478
+ /**
479
+ * @type {function(...[*]=): HTMLElement}
480
+ */
481
+ export const tt: (arg0: [any][] | undefined) => HTMLElement;
482
+ /**
483
+ * @type {function(...[*]=): HTMLElement}
484
+ */
485
+ export const u: (arg0: [any][] | undefined) => HTMLElement;
486
+ /**
487
+ * @type {function(...[*]=): HTMLUListElement}
488
+ */
489
+ export const ul: (arg0: [any][] | undefined) => HTMLUListElement;
490
+ /**
491
+ * name conflicts with js syntax
492
+ *
493
+ * @type {function(...[*]=): HTMLElement}
494
+ */
495
+ export const var_: (arg0: [any][] | undefined) => HTMLElement;
496
+ /**
497
+ * @type {function(...[*]=): HTMLVideoElement}
498
+ */
499
+ export const video: (arg0: [any][] | undefined) => HTMLVideoElement;
500
+ /**
501
+ * @type {function(...[*]=): HTMLElement}
502
+ */
503
+ export const wbr: (arg0: [any][] | undefined) => HTMLElement;
504
+ //# sourceMappingURL=fnelements.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fnelements.d.mts","sourceRoot":"","sources":["fnelements.mjs"],"names":[],"mappings":"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"}
@@ -0,0 +1,131 @@
1
+ /**
2
+ * An element that is displayed only if the current route starts with elements path attribute.
3
+ *
4
+ * For example,
5
+ * route({path: "/proc"},
6
+ * div(
7
+ * "proc",
8
+ * div({path: "/cpuinfo"},
9
+ * "cpuinfo"
10
+ * )
11
+ * )
12
+ * )
13
+ *
14
+ * You can override this behavior by setting the attribute, absolute to any value
15
+ *
16
+ * route({path: "/usr"},
17
+ * div(
18
+ * "proc",
19
+ * div({path: "/cpuinfo", absolute: true},
20
+ * "cpuinfo"
21
+ * )
22
+ * )
23
+ * )
24
+ *
25
+ * @param {any} children The attributes and children of this element.
26
+ * @returns {HTMLDivElement} A div element that will only be displayed if the current route starts with the path attribute.
27
+ */
28
+ export function route(...children: any): HTMLDivElement;
29
+ /**
30
+ * An element that only renders the first route that matches and updates when the route is changed
31
+ * The primary purpose of this element is to provide catchall routes for not found pages and path variables
32
+ * @param {any} children
33
+ * @returns {HTMLDivElement}
34
+ */
35
+ export function routeSwitch(...children: any): HTMLDivElement;
36
+ /**
37
+ * The main function of this library. It will load the route at the specified path and render it into the container element.
38
+ * @param {object} options
39
+ * @param {string} options.routePath The path to the root of the routes. This is used to resolve the paths of the routes.
40
+ * @param {object} options.attrs The attributes of the container element
41
+ * @param {(error: Error, newPathState: object)=>void} options.onerror A function that will be called if the route fails to load. The function receives the error and the current pathState object.
42
+ * @param {(node: Node, module: object)=>Node} options.frame A function that will be called with the rendered route element and the module that was loaded. The function should return a new element to be rendered.
43
+ * @param {boolean} options.sendRawPath If true, the raw path will be sent to the route. Otherwise, the path will be stripped of parameter values.
44
+ * @param {(path: string)=>string} options.formatPath A function that will be called with the raw path before it is used to load the route. The function should return a new path.
45
+ * @return {HTMLElement} The container element
46
+ */
47
+ export function modRouter({ routePath, attrs, onerror, frame, sendRawPath, formatPath }: {
48
+ routePath: string;
49
+ attrs: object;
50
+ onerror: (error: Error, newPathState: object) => void;
51
+ frame: (node: Node, module: object) => Node;
52
+ sendRawPath: boolean;
53
+ formatPath: (path: string) => string;
54
+ }): HTMLElement;
55
+ /**
56
+ * A link element that is a link to another route in this single page app
57
+ * @param {any} children The attributes of the anchor element and any children
58
+ * @returns {HTMLAnchorElement} An anchor element that will navigate to the specified route when clicked
59
+ */
60
+ export function fnlink(...children: any): HTMLAnchorElement;
61
+ /**
62
+ * A function to navigate to the specified route
63
+ * @param {string} route The route to navigate to
64
+ * @param {any} context Data related to the route change
65
+ * @param {boolean} replace Whether to replace the state or push it. pushState is used by default.
66
+ * @param {boolean} silent Prevent route change events from being emitted for this route change
67
+ */
68
+ export function goTo(route: string, context: any, replace?: boolean, silent?: boolean): void;
69
+ /**
70
+ * Listen for routing events
71
+ * @param event a string event to listen for
72
+ * @param handler A function that will be called when the event occurs.
73
+ * The function receives the new and old pathState objects, in that order.
74
+ * @return {()=>void} a function to stop listening with the passed handler.
75
+ */
76
+ export function listenFor(event: any, handler: any): () => void;
77
+ /**
78
+ * Set the root path of the app. This is necessary to make deep linking work in cases where the same html file is served from all paths.
79
+ * @param {string} rootPath The root path of the app
80
+ */
81
+ export function setRootPath(rootPath: string): void;
82
+ /**
83
+ * Key value pairs of path parameter names to their values
84
+ * @typedef {Object} PathParameters
85
+ */
86
+ /**
87
+ * The path parameters of the current route
88
+ * @type {import("./fntags.mjs").FnState<PathParameters>}
89
+ */
90
+ export const pathParameters: import("./fntags.mjs").FnState<PathParameters>;
91
+ /**
92
+ * The path information for a route
93
+ * @typedef {{currentRoute: string, rootPath: string, context: any}} PathState
94
+ */
95
+ /**
96
+ * The current path state
97
+ * @type {import("./fntags.mjs").FnState<PathState>}
98
+ */
99
+ export const pathState: import("./fntags.mjs").FnState<PathState>;
100
+ /**
101
+ * @typedef {string} RouteEvent
102
+ */
103
+ /**
104
+ * Before the route is changed
105
+ * @type {RouteEvent}
106
+ */
107
+ export const beforeRouteChange: RouteEvent;
108
+ /**
109
+ * After the route is changed
110
+ * @type {RouteEvent}
111
+ */
112
+ export const afterRouteChange: RouteEvent;
113
+ /**
114
+ * After the route is changed and the route element is rendered
115
+ * @type {RouteEvent}
116
+ */
117
+ export const routeChangeComplete: RouteEvent;
118
+ /**
119
+ * Key value pairs of path parameter names to their values
120
+ */
121
+ export type PathParameters = any;
122
+ /**
123
+ * The path information for a route
124
+ */
125
+ export type PathState = {
126
+ currentRoute: string;
127
+ rootPath: string;
128
+ context: any;
129
+ };
130
+ export type RouteEvent = string;
131
+ //# sourceMappingURL=fnroute.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fnroute.d.mts","sourceRoot":"","sources":["fnroute.mjs"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,mCAHW,GAAG,GACD,cAAc,CAoB1B;AAED;;;;;GAKG;AACH,yCAHW,GAAG,GACD,cAAc,CAwB1B;AAeD;;;;;;;;;;GAUG;AACH;eARW,MAAM;WACN,MAAM;qBACE,KAAK,gBAAgB,MAAM,KAAG,IAAI;kBACnC,IAAI,UAAU,MAAM,KAAG,IAAI;iBAClC,OAAO;uBACA,MAAM,KAAG,MAAM;IACrB,WAAW,CA0DtB;AAwBD;;;;GAIG;AACH,oCAHW,GAAG,GACD,iBAAiB,CAuB7B;AAED;;;;;;GAMG;AACH,4BALW,MAAM,WACN,GAAG,YACH,OAAO,WACP,OAAO,QA6CjB;AA6DD;;;;;;GAMG;AACH,qDAFY,MAAI,IAAI,CAanB;AAED;;;GAGG;AACH,sCAFW,MAAM,QAOhB;AApFD;;;GAGG;AAEH;;;GAGG;AACH,6BAFU,OAAO,cAAc,EAAE,OAAO,CAAC,cAAc,CAAC,CAEf;AAEzC;;;GAGG;AAEH;;;GAGG;AACH,wBAFU,OAAO,cAAc,EAAE,OAAO,CAAC,SAAS,CAAC,CAO/C;AAEJ;;GAEG;AACH;;;GAGG;AACH,gCAFU,UAAU,CAEgC;AACpD;;;GAGG;AACH,+BAFU,UAAU,CAE8B;AAClD;;;GAGG;AACH,kCAFU,UAAU,CAEoC;;;;;;;;wBA/B3C;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,GAAG,CAAA;CAAC;yBAetD,MAAM"}
@@ -0,0 +1,193 @@
1
+ /**
2
+ * @module fntags
3
+ */
4
+ /**
5
+ * A function to create dom elements with the given attributes and children.
6
+ *
7
+ * The first element of the children array can be an object containing element attributes.
8
+ * The attribute names are the standard attribute names used in html, and should all be lower case as usual.
9
+ *
10
+ * Any attribute starting with 'on' that is a function is added as an event listener with the 'on' removed.
11
+ * i.e. { onclick: fn } gets added to the element as element.addEventListener('click', fn)
12
+ *
13
+ * The style attribute can be an object and the properties of the object will be added as style properties to the element.
14
+ * i.e. { style: { color: blue } } becomes element.style.color = blue
15
+ *
16
+ * The rest of the arguments will be considered children of this element and appended to it in the same order as passed.
17
+ *
18
+ * @param {string} tag html tag to use when created the element
19
+ * @param {object[]?|Node[]?} children optional attributes object and children for the element
20
+ * @return {HTMLElement} an html element
21
+ *
22
+ */
23
+ export function h(tag: string, ...children: any[]): HTMLElement;
24
+ /**
25
+ * Create a compiled template function. The returned function takes a single object that contains the properties
26
+ * defined in the template.
27
+ *
28
+ * This allows fast rendering by pre-creating a dom element with the entire template structure then cloning and populating
29
+ * the clone with data from the provided context. This avoids the work of having to re-execute the tag functions
30
+ * one by one and can speed up situations where a similar element is created many times.
31
+ *
32
+ * You cannot bind state to the initial template. If you attempt to, the state will be read, but the elements will
33
+ * not be updated when the state changes because they will not be bound to the cloned element.
34
+ * All state bindings must be passed in the context to the compiled template to work correctly.
35
+ *
36
+ * @param {(any)=>Node} templateFn A function that returns an html node.
37
+ * @return {(any)=>Node} A function that takes a context object and returns a rendered node.
38
+ *
39
+ */
40
+ export function fntemplate(templateFn: (any: any) => Node): (any: any) => Node;
41
+ /**
42
+ * @template T The type of data stored in the state container
43
+ * @typedef FnStateObj A container for a state value that can be bound to.
44
+ * @property {(element: (T)=>void|Node|any?, update: (Node)=>void?) => Node|() => Node} bindAs Bind this state to the given element. This causes the element to update when state changes.
45
+ * If called with no parameters, the state's value will be rendered as an element. If the first parameters is not a function,
46
+ * the second parameter (the update function) must be provided and must be a function. This function receives the node the state is bound to.
47
+ * @property {(parent: Node,element: Node|any, update: (Node)=>void?)=> Node|()=> Node} bindChildren Bind the values of this state to the given element.
48
+ * Values are items/elements of an array.
49
+ * If the current value is not an array, this will behave the same as bindAs.
50
+ * @property {(prop: string)=>Node|()=>Node} bindProp Bind to a property of an object stored in this state instead of the state itself.
51
+ * Shortcut for `mystate.bindAs((current)=> current[prop])`
52
+ * @property {(attribute: string)=>any} bindAttr Bind attribute values to state changes
53
+ * @property {(style: string)=> string} bindStyle Bind style values to state changes
54
+ * @property {(element: Node|any, update: (Node)=>void?)=>Node|()=>Node} bindSelect Bind selected state to an element
55
+ * @property {(attribute: string)=>any} bindSelectAttr Bind selected state to an attribute
56
+ * @property {(key: any)=>void} select Mark the element with the given key as selected
57
+ * where the key is identified using the mapKey function passed on creation of the fnstate.
58
+ * This causes the bound select functions to be executed.
59
+ * @property {()=> any} selected Get the currently selected key
60
+ * @property {(update: T)=>void} assign Perform an Object.assign() on the current state using the provided update, triggers
61
+ * a state change and is a shortcut for `mystate(Object.assign(mystate(), update))`
62
+ * @property {(path: string)=>any} getPath Get a value at the given property path, an error is thrown if the value is not an object
63
+ * This returns a reference to the real current value. If you perform any modifications to the object, be sure to call setPath after you're done or the changes
64
+ * will not be reflected correctly.
65
+ * @property {(path: string, value: any, fillWithObjects: boolean)=>void} setPath Set a value at the given property path
66
+ * @property {((newState: T, oldState: T)=>void)=>void} subscribe Register a callback that will be executed whenever the state is changed
67
+ * @property {(reinit: boolean)=>{}} reset Remove all of the observers and optionally reset the value to it's initial value
68
+ * @property {} isFnState A flag to indicate that this is an fnstate object
69
+ */
70
+ /**
71
+ * @template T The type of data stored in the state container
72
+ * @typedef {FnStateObj<T> & (newState: T?)=>T} FnState A container for a state value that can be bound to.
73
+ */
74
+ /**
75
+ * Create a state object that can be bound to.
76
+ * @template T
77
+ * @param {T|any} initialValue The initial state
78
+ * @param {function(T): any?} mapKey A map function to extract a key from an element in the array. Receives the array value to extract the key from.
79
+ * A key can be any unique value.
80
+ * @return {FnState<T>} A function that can be used to get and set the state.
81
+ * When getting the state, you get the actual reference to the underlying value.
82
+ * If you perform modifications to the value, be sure to call the state function with the updated value when you're done
83
+ * or the changes won't be reflected correctly and binding updates won't be triggered even though the state appears to be correct.
84
+ */
85
+ export function fnstate<T>(initialValue: any, mapKey: (arg0: T) => any | null): FnState<T>;
86
+ /**
87
+ * Convert non objects (objects are assumed to be nodes) to text nodes and allow promises to resolve to nodes
88
+ * @param {any} node The node to render
89
+ * @returns {Node} The rendered node
90
+ */
91
+ export function renderNode(node: any): Node;
92
+ /**
93
+ * Check if the given value is an object that can be used as attributes
94
+ * @param {any} val The value to check
95
+ * @returns {boolean} true if the value is an object that can be used as attributes
96
+ */
97
+ export function isAttrs(val: any): boolean;
98
+ /**
99
+ * helper to get the attr object
100
+ * @param {any} children
101
+ * @return {object} the attr object or an empty object
102
+ */
103
+ export function getAttrs(children: any): object;
104
+ /**
105
+ * A function to create an element with a pre-defined style.
106
+ * For example, the flex* elements in fnelements.
107
+ *
108
+ * @param {object|string} style The style to apply to the element
109
+ * @param {string} tag The tag to use when creating the element
110
+ * @param {object|object[]?} children The children to append to the element
111
+ * @return {*} The styled element
112
+ */
113
+ export function styled(style: object | string, tag: string, children: object | (object[] | null)): any;
114
+ /**
115
+ * A container for a state value that can be bound to.
116
+ */
117
+ export type FnStateObj<T> = {
118
+ /**
119
+ * Bind this state to the given element. This causes the element to update when state changes.
120
+ * If called with no parameters, the state's value will be rendered as an element. If the first parameters is not a function,
121
+ * the second parameter (the update function) must be provided and must be a function. This function receives the node the state is bound to.
122
+ */
123
+ bindAs: (element: (T: any) => void | Node | (any | null), update: (Node: any) => void | null) => Node | (() => Node);
124
+ /**
125
+ * Bind the values of this state to the given element.
126
+ * Values are items/elements of an array.
127
+ * If the current value is not an array, this will behave the same as bindAs.
128
+ */
129
+ bindChildren: (parent: Node, element: Node | any, update: (Node: any) => void | null) => Node | (() => Node);
130
+ /**
131
+ * Bind to a property of an object stored in this state instead of the state itself.
132
+ * Shortcut for `mystate.bindAs((current)=> current[prop])`
133
+ */
134
+ bindProp: (prop: string) => Node | (() => Node);
135
+ /**
136
+ * Bind attribute values to state changes
137
+ */
138
+ bindAttr: (attribute: string) => any;
139
+ /**
140
+ * Bind style values to state changes
141
+ */
142
+ bindStyle: (style: string) => string;
143
+ /**
144
+ * Bind selected state to an element
145
+ */
146
+ bindSelect: (element: Node | any, update: (Node: any) => void | null) => Node | (() => Node);
147
+ /**
148
+ * Bind selected state to an attribute
149
+ */
150
+ bindSelectAttr: (attribute: string) => any;
151
+ /**
152
+ * Mark the element with the given key as selected
153
+ * where the key is identified using the mapKey function passed on creation of the fnstate.
154
+ * This causes the bound select functions to be executed.
155
+ */
156
+ select: (key: any) => void;
157
+ /**
158
+ * Get the currently selected key
159
+ */
160
+ selected: () => any;
161
+ /**
162
+ * Perform an Object.assign() on the current state using the provided update, triggers
163
+ * a state change and is a shortcut for `mystate(Object.assign(mystate(), update))`
164
+ */
165
+ assign: (update: T) => void;
166
+ /**
167
+ * Get a value at the given property path, an error is thrown if the value is not an object
168
+ * This returns a reference to the real current value. If you perform any modifications to the object, be sure to call setPath after you're done or the changes
169
+ * will not be reflected correctly.
170
+ */
171
+ getPath: (path: string) => any;
172
+ /**
173
+ * Set a value at the given property path
174
+ */
175
+ setPath: (path: string, value: any, fillWithObjects: boolean) => void;
176
+ /**
177
+ * =>void} subscribe Register a callback that will be executed whenever the state is changed
178
+ */
179
+ "": (newState: T, oldState: T) => void;
180
+ /**
181
+ * Remove all of the observers and optionally reset the value to it's initial value
182
+ */
183
+ reset: (reinit: boolean) => {};
184
+ /**
185
+ * A flag to indicate that this is an fnstate object
186
+ */
187
+ isFnState: any;
188
+ };
189
+ /**
190
+ * A container for a state value that can be bound to.
191
+ */
192
+ export type FnState<T> = FnStateObj<T> & ((newState: T | null) => T);
193
+ //# sourceMappingURL=fntags.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fntags.d.mts","sourceRoot":"","sources":["fntags.mjs"],"names":[],"mappings":"AAAA;;GAEG;AACH;;;;;;;;;;;;;;;;;;GAkBG;AACH,uBALW,MAAM,uBAEL,WAAW,CA4CtB;AAUD;;;;;;;;;;;;;;;GAeG;AACH,qDAJkB,IAAI,iBACH,IAAI,CA0DtB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH;;;GAGG;AAEH;;;;;;;;;;GAUG;AACH,mEAPwB,GAAG,qBA4K1B;AAqSD;;;;GAIG;AACH,iCAHW,GAAG,GACD,IAAI,CAuBhB;AAwFD;;;;GAIG;AACH,6BAHW,GAAG,GACD,OAAO,CAInB;AAED;;;;GAIG;AACH,mCAHW,GAAG,GACF,MAAM,CAIjB;AAED;;;;;;;;GAQG;AACH,8BALW,MAAM,GAAC,MAAM,OACb,MAAM,YACN,MAAM,IAAC,MAAM,EAAE,QAAC,OAe1B;;;;;;;;;;kCA9oB4B,IAAI,GAAC,IAAI,IAAC,GAAG,QAAC,yBAAkB,IAAI,YAAM,IAAI,IAAC,MAAM,IAAI,CAAA;;;;;;2BAG/D,IAAI,WAAU,IAAI,GAAC,GAAG,yBAAkB,IAAI,YAAK,IAAI,IAAC,MAAK,IAAI,CAAA;;;;;qBAGjE,MAAM,KAAG,IAAI,IAAC,MAAI,IAAI,CAAA;;;;0BAEjB,MAAM,KAAG,GAAG;;;;uBAChB,MAAM,KAAI,MAAM;;;;0BACd,IAAI,GAAC,GAAG,yBAAkB,IAAI,YAAI,IAAI,IAAC,MAAI,IAAI,CAAA;;;;gCAC7C,MAAM,KAAG,GAAG;;;;;;kBAClB,GAAG,KAAG,IAAI;;;;cAGhB,MAAK,GAAG;;;;;qBACC,CAAC,KAAG,IAAI;;;;;;oBAEV,MAAM,KAAG,GAAG;;;;oBAGZ,MAAM,SAAS,GAAG,mBAAmB,OAAO,KAAG,IAAI;;;;mBAC9C,CAAC,YAAY,CAAC,KAAG,IAAI;;;;oBACxB,OAAO,KAAG,EAAE;;;;;;;;;qDAMK,CAAC,YAAI,CAAC"}
@@ -0,0 +1,237 @@
1
+ /**
2
+ * name conflicts with html a
3
+ *
4
+ * @type {function(...[*]=): SVGAElement}
5
+ */
6
+ export const a_: (arg0: [any][] | undefined) => SVGAElement;
7
+ /**
8
+ * @type {function(...[*]=): SVGCircleElement}
9
+ */
10
+ export const circle: (arg0: [any][] | undefined) => SVGCircleElement;
11
+ /**
12
+ * @type {function(...[*]=): SVGClipPathElement}
13
+ */
14
+ export const clipPath: (arg0: [any][] | undefined) => SVGClipPathElement;
15
+ /**
16
+ * @type {function(...[*]=): SVGDefsElement}
17
+ */
18
+ export const defs: (arg0: [any][] | undefined) => SVGDefsElement;
19
+ /**
20
+ * @type {function(...[*]=): SVGDescElement}
21
+ */
22
+ export const desc: (arg0: [any][] | undefined) => SVGDescElement;
23
+ /**
24
+ * @type {function(...[*]=): SVGEllipseElement}
25
+ */
26
+ export const ellipse: (arg0: [any][] | undefined) => SVGEllipseElement;
27
+ /**
28
+ * @type {function(...[*]=): SVGFEBlendElement}
29
+ */
30
+ export const feBlend: (arg0: [any][] | undefined) => SVGFEBlendElement;
31
+ /**
32
+ * @type {function(...[*]=): SVGFEColorMatrixElement}
33
+ */
34
+ export const feColorMatrix: (arg0: [any][] | undefined) => SVGFEColorMatrixElement;
35
+ /**
36
+ * @type {function(...[*]=): SVGFEComponentTransferElement}
37
+ */
38
+ export const feComponentTransfer: (arg0: [any][] | undefined) => SVGFEComponentTransferElement;
39
+ /**
40
+ * @type {function(...[*]=): SVGFECompositeElement}
41
+ */
42
+ export const feComposite: (arg0: [any][] | undefined) => SVGFECompositeElement;
43
+ /**
44
+ * @type {function(...[*]=): SVGFEConvolveMatrixElement}
45
+ */
46
+ export const feConvolveMatrix: (arg0: [any][] | undefined) => SVGFEConvolveMatrixElement;
47
+ /**
48
+ * @type {function(...[*]=): SVGFEDiffuseLightingElement}
49
+ */
50
+ export const feDiffuseLighting: (arg0: [any][] | undefined) => SVGFEDiffuseLightingElement;
51
+ /**
52
+ * @type {function(...[*]=): SVGFEDisplacementMapElement}
53
+ */
54
+ export const feDisplacementMap: (arg0: [any][] | undefined) => SVGFEDisplacementMapElement;
55
+ /**
56
+ * @type {function(...[*]=): SVGFEDistantLightElement}
57
+ */
58
+ export const feDistantLight: (arg0: [any][] | undefined) => SVGFEDistantLightElement;
59
+ /**
60
+ * @type {function(...[*]=): SVGFEFloodElement}
61
+ */
62
+ export const feFlood: (arg0: [any][] | undefined) => SVGFEFloodElement;
63
+ /**
64
+ * @type {function(...[*]=): SVGFEFuncAElement}
65
+ */
66
+ export const feFuncA: (arg0: [any][] | undefined) => SVGFEFuncAElement;
67
+ /**
68
+ * @type {function(...[*]=): SVGFEFuncBElement}
69
+ */
70
+ export const feFuncB: (arg0: [any][] | undefined) => SVGFEFuncBElement;
71
+ /**
72
+ * @type {function(...[*]=): SVGFEFuncGElement}
73
+ */
74
+ export const feFuncG: (arg0: [any][] | undefined) => SVGFEFuncGElement;
75
+ /**
76
+ * @type {function(...[*]=): SVGFEFuncRElement}
77
+ */
78
+ export const feFuncR: (arg0: [any][] | undefined) => SVGFEFuncRElement;
79
+ /**
80
+ * @type {function(...[*]=): SVGFEGaussianBlurElement}
81
+ */
82
+ export const feGaussianBlur: (arg0: [any][] | undefined) => SVGFEGaussianBlurElement;
83
+ /**
84
+ * @type {function(...[*]=): SVGFEImageElement}
85
+ */
86
+ export const feImage: (arg0: [any][] | undefined) => SVGFEImageElement;
87
+ /**
88
+ * @type {function(...[*]=): SVGFEMergeElement}
89
+ */
90
+ export const feMerge: (arg0: [any][] | undefined) => SVGFEMergeElement;
91
+ /**
92
+ * @type {function(...[*]=): SVGFEMergeNodeElement}
93
+ */
94
+ export const feMergeNode: (arg0: [any][] | undefined) => SVGFEMergeNodeElement;
95
+ /**
96
+ * @type {function(...[*]=): SVGFEMorphologyElement}
97
+ */
98
+ export const feMorphology: (arg0: [any][] | undefined) => SVGFEMorphologyElement;
99
+ /**
100
+ * @type {function(...[*]=): SVGFEOffsetElement}
101
+ */
102
+ export const feOffset: (arg0: [any][] | undefined) => SVGFEOffsetElement;
103
+ /**
104
+ * @type {function(...[*]=): SVGFEPointLightElement}
105
+ */
106
+ export const fePointLight: (arg0: [any][] | undefined) => SVGFEPointLightElement;
107
+ /**
108
+ * @type {function(...[*]=): SVGFESpecularLightingElement}
109
+ */
110
+ export const feSpecularLighting: (arg0: [any][] | undefined) => SVGFESpecularLightingElement;
111
+ /**
112
+ * @type {function(...[*]=): SVGFESpotLightElement}
113
+ */
114
+ export const feSpotLight: (arg0: [any][] | undefined) => SVGFESpotLightElement;
115
+ /**
116
+ * @type {function(...[*]=): SVGFETileElement}
117
+ */
118
+ export const feTile: (arg0: [any][] | undefined) => SVGFETileElement;
119
+ /**
120
+ * @type {function(...[*]=): SVGFETurbulenceElement}
121
+ */
122
+ export const feTurbulence: (arg0: [any][] | undefined) => SVGFETurbulenceElement;
123
+ /**
124
+ * @type {function(...[*]=): SVGFilterElement}
125
+ */
126
+ export const filter: (arg0: [any][] | undefined) => SVGFilterElement;
127
+ /**
128
+ * @type {function(...[*]=): SVGForeignObjectElement}
129
+ */
130
+ export const foreignObject: (arg0: [any][] | undefined) => SVGForeignObjectElement;
131
+ /**
132
+ * @type {function(...[*]=): SVGGElement}
133
+ */
134
+ export const g: (arg0: [any][] | undefined) => SVGGElement;
135
+ /**
136
+ * @type {function(...[*]=): SVGImageElement}
137
+ */
138
+ export const image: (arg0: [any][] | undefined) => SVGImageElement;
139
+ /**
140
+ * @type {function(...[*]=): SVGLineElement}
141
+ */
142
+ export const line: (arg0: [any][] | undefined) => SVGLineElement;
143
+ /**
144
+ * @type {function(...[*]=): SVGLinearGradientElement}
145
+ */
146
+ export const linearGradient: (arg0: [any][] | undefined) => SVGLinearGradientElement;
147
+ /**
148
+ * @type {function(...[*]=): SVGMarkerElement}
149
+ */
150
+ export const marker: (arg0: [any][] | undefined) => SVGMarkerElement;
151
+ /**
152
+ * @type {function(...[*]=): SVGMaskElement}
153
+ */
154
+ export const mask: (arg0: [any][] | undefined) => SVGMaskElement;
155
+ /**
156
+ * @type {function(...[*]=): SVGMetadataElement}
157
+ */
158
+ export const metadata: (arg0: [any][] | undefined) => SVGMetadataElement;
159
+ /**
160
+ * @type {function(...[*]=): SVGPathElement}
161
+ */
162
+ export const path: (arg0: [any][] | undefined) => SVGPathElement;
163
+ /**
164
+ * @type {function(...[*]=): SVGPatternElement}
165
+ */
166
+ export const pattern: (arg0: [any][] | undefined) => SVGPatternElement;
167
+ /**
168
+ * @type {function(...[*]=): SVGPolygonElement}
169
+ */
170
+ export const polygon: (arg0: [any][] | undefined) => SVGPolygonElement;
171
+ /**
172
+ * @type {function(...[*]=): SVGPolylineElement}
173
+ */
174
+ export const polyline: (arg0: [any][] | undefined) => SVGPolylineElement;
175
+ /**
176
+ * @type {function(...[*]=): SVGRadialGradientElement}
177
+ */
178
+ export const radialGradient: (arg0: [any][] | undefined) => SVGRadialGradientElement;
179
+ /**
180
+ * @type {function(...[*]=): SVGRectElement}
181
+ */
182
+ export const rect: (arg0: [any][] | undefined) => SVGRectElement;
183
+ /**
184
+ * name conflicts with html script
185
+ *
186
+ * @type {function(...[*]=): SVGScriptElement}
187
+ */
188
+ export const script_: (arg0: [any][] | undefined) => SVGScriptElement;
189
+ /**
190
+ * @type {function(...[*]=): SVGStopElement}
191
+ */
192
+ export const stop: (arg0: [any][] | undefined) => SVGStopElement;
193
+ /**
194
+ * name conflicts with html style
195
+ *
196
+ * @type {function(...[*]=): SVGStyleElement}
197
+ */
198
+ export const style_: (arg0: [any][] | undefined) => SVGStyleElement;
199
+ /**
200
+ * @type {function(...[*]=): SVGElement}
201
+ */
202
+ export const svg: (arg0: [any][] | undefined) => SVGElement;
203
+ /**
204
+ * name conflicts with js syntax
205
+ *
206
+ * @type {function(...[*]=): SVGSwitchElement}
207
+ */
208
+ export const switch_: (arg0: [any][] | undefined) => SVGSwitchElement;
209
+ /**
210
+ * @type {function(...[*]=): SVGSymbolElement}
211
+ */
212
+ export const symbol: (arg0: [any][] | undefined) => SVGSymbolElement;
213
+ /**
214
+ * @type {function(...[*]=): SVGTextElement}
215
+ */
216
+ export const text: (arg0: [any][] | undefined) => SVGTextElement;
217
+ /**
218
+ * @type {function(...[*]=): SVGTextPathElement}
219
+ */
220
+ export const textPath: (arg0: [any][] | undefined) => SVGTextPathElement;
221
+ /**
222
+ * @type {function(...[*]=): SVGTitleElement}
223
+ */
224
+ export const title: (arg0: [any][] | undefined) => SVGTitleElement;
225
+ /**
226
+ * @type {function(...[*]=): SVGTSpanElement}
227
+ */
228
+ export const tspan: (arg0: [any][] | undefined) => SVGTSpanElement;
229
+ /**
230
+ * @type {function(...[*]=): SVGUseElement}
231
+ */
232
+ export const use: (arg0: [any][] | undefined) => SVGUseElement;
233
+ /**
234
+ * @type {function(...[*]=): SVGViewElement}
235
+ */
236
+ export const view: (arg0: [any][] | undefined) => SVGViewElement;
237
+ //# sourceMappingURL=svgelements.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"svgelements.d.mts","sourceRoot":"","sources":["svgelements.mjs"],"names":[],"mappings":"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"}