@markuplint/ml-spec 2.0.0-dev.26 → 2.0.0-rc.5

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.
@@ -1,12 +1,755 @@
1
1
  {
2
+ "definitions": {
3
+ "category": {
4
+ "type": "string",
5
+ "enum": [
6
+ "#HTMLGlobalAttrs",
7
+ "#GlobalEventAttrs",
8
+ "#DocumentElementEventAttrs",
9
+ "#HTMLLinkAndFetchingAttrs",
10
+ "#HTMLEmbededAndMediaContentAttrs",
11
+ "#HTMLFormControlElementAttrs",
12
+ "#HTMLTableCellElementAttrs",
13
+ "#ARIAAttrs",
14
+ "#SVGAnimationAdditionAttrs",
15
+ "#SVGAnimationAttributeTargetAttrs",
16
+ "#SVGAnimationEventAttrs",
17
+ "#SVGAnimationTargetElementAttrs",
18
+ "#SVGAnimationTimingAttrs",
19
+ "#SVGAnimationValueAttrs",
20
+ "#SVGConditionalProcessingAttrs",
21
+ "#SVGCoreAttrs",
22
+ "#SVGFilterPrimitiveAttrs",
23
+ "#SVGPresentationAttrs",
24
+ "#SVGTransferFunctionAttrs",
25
+ "#XLinkAttrs"
26
+ ]
27
+ },
28
+ "HTMLGlobalAttrs": {
29
+ "type": "string",
30
+ "enum": [
31
+ "accesskey",
32
+ "autocapitalize",
33
+ "autofocus",
34
+ "contenteditable",
35
+ "dir",
36
+ "draggable",
37
+ "enterkeyhint",
38
+ "hidden",
39
+ "inputmode",
40
+ "is",
41
+ "itemid",
42
+ "itemprop",
43
+ "itemref",
44
+ "itemscope",
45
+ "itemtype",
46
+ "lang",
47
+ "nonce",
48
+ "spellcheck",
49
+ "style",
50
+ "tabindex",
51
+ "title",
52
+ "translate",
53
+ "class",
54
+ "id",
55
+ "slot",
56
+ "xmlns",
57
+ "xml:lang",
58
+ "xml:space"
59
+ ]
60
+ },
61
+ "GlobalEventAttrs": {
62
+ "type": "string",
63
+ "enum": [
64
+ "onabort",
65
+ "onauxclick",
66
+ "onbeforeinput",
67
+ "onblur",
68
+ "oncancel",
69
+ "oncanplay",
70
+ "oncanplaythrough",
71
+ "onchange",
72
+ "onclick",
73
+ "onclose",
74
+ "oncontextlost",
75
+ "oncompositionstart",
76
+ "oncompositionupdate",
77
+ "oncompositionend",
78
+ "oncontextmenu",
79
+ "oncontextrestored",
80
+ "oncuechange",
81
+ "ondblclick",
82
+ "ondrag",
83
+ "ondragend",
84
+ "ondragenter",
85
+ "ondragleave",
86
+ "ondragover",
87
+ "ondragstart",
88
+ "ondrop",
89
+ "ondurationchange",
90
+ "onemptied",
91
+ "onended",
92
+ "onerror",
93
+ "onfocus",
94
+ "onformdata",
95
+ "onfocusin",
96
+ "onfocusout",
97
+ "oninput",
98
+ "oninvalid",
99
+ "onkeydown",
100
+ "onkeypress",
101
+ "onkeyup",
102
+ "onload",
103
+ "onloadeddata",
104
+ "onloadedmetadata",
105
+ "onloadstart",
106
+ "onmousedown",
107
+ "onmouseenter",
108
+ "onmouseleave",
109
+ "onmousemove",
110
+ "onmouseout",
111
+ "onmouseover",
112
+ "onmouseup",
113
+ "onpause",
114
+ "onplay",
115
+ "onplaying",
116
+ "onprogress",
117
+ "onratechange",
118
+ "onreset",
119
+ "onresize",
120
+ "onscroll",
121
+ "onsecuritypolicyviolation",
122
+ "onseeked",
123
+ "onseeking",
124
+ "onselect",
125
+ "onslotchange",
126
+ "onstalled",
127
+ "onsubmit",
128
+ "onsuspend",
129
+ "ontimeupdate",
130
+ "ontoggle",
131
+ "onvolumechange",
132
+ "onwaiting",
133
+ "onwebkitanimationend",
134
+ "onwebkitanimationiteration",
135
+ "onwebkitanimationstart",
136
+ "onwebkittransitionend",
137
+ "onunload",
138
+ "onwheel"
139
+ ]
140
+ },
141
+ "DocumentElementEventAttrs": { "type": "string", "enum": ["oncopy", "oncut", "onpaste"] },
142
+ "HTMLLinkAndFetchingAttrs": {
143
+ "type": "string",
144
+ "enum": [
145
+ "crossorigin",
146
+ "download",
147
+ "href",
148
+ "hreflang",
149
+ "integrity",
150
+ "loading",
151
+ "media",
152
+ "ping",
153
+ "referrerpolicy",
154
+ "rel",
155
+ "target",
156
+ "type"
157
+ ]
158
+ },
159
+ "HTMLEmbededAndMediaContentAttrs": {
160
+ "type": "string",
161
+ "enum": ["autoplay", "controls", "height", "loop", "muted", "preload", "sizes", "src", "srcset", "width"]
162
+ },
163
+ "HTMLFormControlElementAttrs": {
164
+ "type": "string",
165
+ "enum": [
166
+ "autocomplete",
167
+ "dirname",
168
+ "disabled",
169
+ "form",
170
+ "formaction",
171
+ "formenctype",
172
+ "formmethod",
173
+ "formnovalidate",
174
+ "formtarget",
175
+ "maxlength",
176
+ "minlength",
177
+ "name",
178
+ "readonly",
179
+ "required"
180
+ ]
181
+ },
182
+ "HTMLTableCellElementAttrs": { "type": "string", "enum": ["colspan", "headers", "rowspan"] },
183
+ "ARIAAttrs": { "type": "string", "enum": ["role"] },
184
+ "SVGAnimationAdditionAttrs": { "type": "string", "enum": ["additive", "accumulate"] },
185
+ "SVGAnimationAttributeTargetAttrs": { "type": "string", "enum": ["attributeName", "attributeType"] },
186
+ "SVGAnimationEventAttrs": { "type": "string", "enum": ["onbegin", "onend", "onrepeat"] },
187
+ "SVGAnimationTargetElementAttrs": { "type": "string", "enum": ["href", "xlink:href"] },
188
+ "SVGAnimationTimingAttrs": {
189
+ "type": "string",
190
+ "enum": ["begin", "dur", "end", "min", "max", "restart", "repeatCount", "repeatDur", "fill"]
191
+ },
192
+ "SVGAnimationValueAttrs": {
193
+ "type": "string",
194
+ "enum": [
195
+ "calcMode",
196
+ "values",
197
+ "keyTimes",
198
+ "keySplines",
199
+ "from",
200
+ "to",
201
+ "by",
202
+ "accelerate",
203
+ "decelerate",
204
+ "autoReverse",
205
+ "speed"
206
+ ]
207
+ },
208
+ "SVGConditionalProcessingAttrs": {
209
+ "type": "string",
210
+ "enum": ["requiredExtensions", "systemLanguage", "requiredFeatures"]
211
+ },
212
+ "SVGCoreAttrs": {
213
+ "type": "string",
214
+ "enum": [
215
+ "id",
216
+ "tabindex",
217
+ "autofocus",
218
+ "lang",
219
+ "xml:space",
220
+ "class",
221
+ "style",
222
+ "xmlns",
223
+ "xml:lang",
224
+ "xml:base"
225
+ ]
226
+ },
227
+ "SVGFilterPrimitiveAttrs": { "type": "string", "enum": ["x", "y", "width", "height", "result", "in"] },
228
+ "SVGPresentationAttrs": {
229
+ "type": "string",
230
+ "enum": [
231
+ "cx",
232
+ "cy",
233
+ "height",
234
+ "width",
235
+ "x",
236
+ "y",
237
+ "r",
238
+ "rx",
239
+ "ry",
240
+ "d",
241
+ "fill",
242
+ "transform",
243
+ "patternTransform",
244
+ "gradientTransform",
245
+ "alignment-baseline",
246
+ "baseline-shift",
247
+ "clip-path",
248
+ "clip-rule",
249
+ "color",
250
+ "color-interpolation",
251
+ "color-interpolation-filters",
252
+ "cursor",
253
+ "direction",
254
+ "display",
255
+ "dominant-baseline",
256
+ "fill-opacity",
257
+ "fill-rule",
258
+ "filter",
259
+ "flood-color",
260
+ "flood-opacity",
261
+ "font",
262
+ "font-family",
263
+ "font-size",
264
+ "font-size-adjust",
265
+ "font-stretch",
266
+ "font-style",
267
+ "font-variant",
268
+ "font-weight",
269
+ "glyph-orientation-horizontal",
270
+ "glyph-orientation-vertical",
271
+ "image-rendering",
272
+ "isolation",
273
+ "letter-spacing",
274
+ "lighting-color",
275
+ "marker",
276
+ "marker-end",
277
+ "marker-mid",
278
+ "marker-start",
279
+ "mask",
280
+ "mask-type",
281
+ "opacity",
282
+ "overflow",
283
+ "paint-order",
284
+ "pointer-events",
285
+ "shape-rendering",
286
+ "stop-color",
287
+ "stop-opacity",
288
+ "stroke",
289
+ "stroke-dasharray",
290
+ "stroke-dashoffset",
291
+ "stroke-linecap",
292
+ "stroke-linejoin",
293
+ "stroke-miterlimit",
294
+ "stroke-opacity",
295
+ "stroke-width",
296
+ "text-anchor",
297
+ "text-decoration",
298
+ "text-overflow",
299
+ "text-rendering",
300
+ "transform-origin",
301
+ "unicode-bidi",
302
+ "vector-effect",
303
+ "visibility",
304
+ "white-space",
305
+ "word-spacing",
306
+ "writing-mode",
307
+ "clip",
308
+ "color-profile",
309
+ "color-rendering",
310
+ "enable-background",
311
+ "kerning"
312
+ ]
313
+ },
314
+ "SVGTransferFunctionAttrs": {
315
+ "type": "string",
316
+ "enum": ["type", "tableValues", "slope", "intercept", "amplitude", "exponent", "offset"]
317
+ },
318
+ "XLinkAttrs": {
319
+ "type": "string",
320
+ "enum": [
321
+ "xlink:href",
322
+ "xlink:title",
323
+ "xlink:actuate",
324
+ "xlink:arcrole",
325
+ "xlink:role",
326
+ "xlink:show",
327
+ "xlink:type"
328
+ ]
329
+ }
330
+ },
2
331
  "type": "object",
3
332
  "additionalProperties": false,
4
- "patternProperties": {
5
- "^#[a-zA-Z]+Attrs$": {
6
- "type": "array",
7
- "items": {
8
- "$ref": "./attributes.schema.json#/definitions/AttributeJSON"
9
- }
333
+ "propertyNames": { "$ref": "#/definitions/category" },
334
+ "required": [
335
+ "#HTMLGlobalAttrs",
336
+ "#GlobalEventAttrs",
337
+ "#DocumentElementEventAttrs",
338
+ "#HTMLLinkAndFetchingAttrs",
339
+ "#HTMLEmbededAndMediaContentAttrs",
340
+ "#HTMLFormControlElementAttrs",
341
+ "#HTMLTableCellElementAttrs",
342
+ "#ARIAAttrs",
343
+ "#SVGAnimationAdditionAttrs",
344
+ "#SVGAnimationAttributeTargetAttrs",
345
+ "#SVGAnimationEventAttrs",
346
+ "#SVGAnimationTargetElementAttrs",
347
+ "#SVGAnimationTimingAttrs",
348
+ "#SVGAnimationValueAttrs",
349
+ "#SVGConditionalProcessingAttrs",
350
+ "#SVGCoreAttrs",
351
+ "#SVGFilterPrimitiveAttrs",
352
+ "#SVGPresentationAttrs",
353
+ "#SVGTransferFunctionAttrs",
354
+ "#XLinkAttrs"
355
+ ],
356
+ "properties": {
357
+ "#HTMLGlobalAttrs": {
358
+ "description": "[Global attributes]( https://html.spec.whatwg.org/multipage/dom.html#global-attributes )",
359
+ "type": "object",
360
+ "required": [
361
+ "accesskey",
362
+ "autocapitalize",
363
+ "autofocus",
364
+ "contenteditable",
365
+ "dir",
366
+ "draggable",
367
+ "enterkeyhint",
368
+ "hidden",
369
+ "inputmode",
370
+ "is",
371
+ "itemid",
372
+ "itemprop",
373
+ "itemref",
374
+ "itemscope",
375
+ "itemtype",
376
+ "lang",
377
+ "nonce",
378
+ "spellcheck",
379
+ "style",
380
+ "tabindex",
381
+ "title",
382
+ "translate",
383
+ "class",
384
+ "id",
385
+ "slot",
386
+ "xmlns",
387
+ "xml:lang",
388
+ "xml:space"
389
+ ],
390
+ "propertyNames": { "$ref": "#/definitions/HTMLGlobalAttrs" },
391
+ "patternProperties": { ".+": { "$ref": "./attributes.schema.json#/definitions/AttributeJSON" } }
392
+ },
393
+ "#GlobalEventAttrs": {
394
+ "description": "[GlobalEventHandlers]( https://html.spec.whatwg.org/multipage/webappapis.html#globaleventhandlers ) and [UIEvent]( https://w3c.github.io/uievents/#event-types-list )",
395
+ "type": "object",
396
+ "required": [
397
+ "onabort",
398
+ "onauxclick",
399
+ "onbeforeinput",
400
+ "onblur",
401
+ "oncancel",
402
+ "oncanplay",
403
+ "oncanplaythrough",
404
+ "onchange",
405
+ "onclick",
406
+ "onclose",
407
+ "oncontextlost",
408
+ "oncompositionstart",
409
+ "oncompositionupdate",
410
+ "oncompositionend",
411
+ "oncontextmenu",
412
+ "oncontextrestored",
413
+ "oncuechange",
414
+ "ondblclick",
415
+ "ondrag",
416
+ "ondragend",
417
+ "ondragenter",
418
+ "ondragleave",
419
+ "ondragover",
420
+ "ondragstart",
421
+ "ondrop",
422
+ "ondurationchange",
423
+ "onemptied",
424
+ "onended",
425
+ "onerror",
426
+ "onfocus",
427
+ "onformdata",
428
+ "onfocusin",
429
+ "onfocusout",
430
+ "oninput",
431
+ "oninvalid",
432
+ "onkeydown",
433
+ "onkeypress",
434
+ "onkeyup",
435
+ "onload",
436
+ "onloadeddata",
437
+ "onloadedmetadata",
438
+ "onloadstart",
439
+ "onmousedown",
440
+ "onmouseenter",
441
+ "onmouseleave",
442
+ "onmousemove",
443
+ "onmouseout",
444
+ "onmouseover",
445
+ "onmouseup",
446
+ "onpause",
447
+ "onplay",
448
+ "onplaying",
449
+ "onprogress",
450
+ "onratechange",
451
+ "onreset",
452
+ "onresize",
453
+ "onscroll",
454
+ "onsecuritypolicyviolation",
455
+ "onseeked",
456
+ "onseeking",
457
+ "onselect",
458
+ "onslotchange",
459
+ "onstalled",
460
+ "onsubmit",
461
+ "onsuspend",
462
+ "ontimeupdate",
463
+ "ontoggle",
464
+ "onvolumechange",
465
+ "onwaiting",
466
+ "onwebkitanimationend",
467
+ "onwebkitanimationiteration",
468
+ "onwebkitanimationstart",
469
+ "onwebkittransitionend",
470
+ "onunload",
471
+ "onwheel"
472
+ ],
473
+ "propertyNames": { "$ref": "#/definitions/GlobalEventAttrs" },
474
+ "patternProperties": { ".+": { "$ref": "./attributes.schema.json#/definitions/AttributeJSON" } }
475
+ },
476
+ "#DocumentElementEventAttrs": {
477
+ "description": "[DocumentAndElementEventHandlers]( https://html.spec.whatwg.org/multipage/webappapis.html#documentandelementeventhandlers )",
478
+ "type": "object",
479
+ "required": ["oncopy", "oncut", "onpaste"],
480
+ "propertyNames": { "$ref": "#/definitions/DocumentElementEventAttrs" },
481
+ "patternProperties": { ".+": { "$ref": "./attributes.schema.json#/definitions/AttributeJSON" } }
482
+ },
483
+ "#HTMLLinkAndFetchingAttrs": {
484
+ "description": "Link and fetching",
485
+ "type": "object",
486
+ "required": [
487
+ "crossorigin",
488
+ "download",
489
+ "href",
490
+ "hreflang",
491
+ "integrity",
492
+ "loading",
493
+ "media",
494
+ "ping",
495
+ "referrerpolicy",
496
+ "rel",
497
+ "target",
498
+ "type"
499
+ ],
500
+ "propertyNames": { "$ref": "#/definitions/HTMLLinkAndFetchingAttrs" },
501
+ "patternProperties": { ".+": { "$ref": "./attributes.schema.json#/definitions/AttributeJSON" } }
502
+ },
503
+ "#HTMLEmbededAndMediaContentAttrs": {
504
+ "description": "Embeded and media contents",
505
+ "type": "object",
506
+ "required": [
507
+ "autoplay",
508
+ "controls",
509
+ "height",
510
+ "loop",
511
+ "muted",
512
+ "preload",
513
+ "sizes",
514
+ "src",
515
+ "srcset",
516
+ "width"
517
+ ],
518
+ "propertyNames": { "$ref": "#/definitions/HTMLEmbededAndMediaContentAttrs" },
519
+ "patternProperties": { ".+": { "$ref": "./attributes.schema.json#/definitions/AttributeJSON" } }
520
+ },
521
+ "#HTMLFormControlElementAttrs": {
522
+ "description": "Form controls",
523
+ "type": "object",
524
+ "required": [
525
+ "autocomplete",
526
+ "dirname",
527
+ "disabled",
528
+ "form",
529
+ "formaction",
530
+ "formenctype",
531
+ "formmethod",
532
+ "formnovalidate",
533
+ "formtarget",
534
+ "maxlength",
535
+ "minlength",
536
+ "name",
537
+ "readonly",
538
+ "required"
539
+ ],
540
+ "propertyNames": { "$ref": "#/definitions/HTMLFormControlElementAttrs" },
541
+ "patternProperties": { ".+": { "$ref": "./attributes.schema.json#/definitions/AttributeJSON" } }
542
+ },
543
+ "#HTMLTableCellElementAttrs": {
544
+ "description": "Table cell",
545
+ "type": "object",
546
+ "required": ["colspan", "headers", "rowspan"],
547
+ "propertyNames": { "$ref": "#/definitions/HTMLTableCellElementAttrs" },
548
+ "patternProperties": { ".+": { "$ref": "./attributes.schema.json#/definitions/AttributeJSON" } }
549
+ },
550
+ "#ARIAAttrs": {
551
+ "description": "[The ARIA role and aria-* attributes]( https://html.spec.whatwg.org/multipage/dom.html#global-attributes:attr-aria-role )",
552
+ "type": "object",
553
+ "required": ["role"],
554
+ "propertyNames": { "$ref": "#/definitions/ARIAAttrs" },
555
+ "patternProperties": { ".+": { "$ref": "./attributes.schema.json#/definitions/AttributeJSON" } }
556
+ },
557
+ "#SVGAnimationAdditionAttrs": {
558
+ "description": "[Attributes that control whether animations are additive]( https://svgwg.org/specs/animations/#AdditionAttributes )",
559
+ "type": "object",
560
+ "required": ["additive", "accumulate"],
561
+ "propertyNames": { "$ref": "#/definitions/SVGAnimationAdditionAttrs" },
562
+ "patternProperties": { ".+": { "$ref": "./attributes.schema.json#/definitions/AttributeJSON" } }
563
+ },
564
+ "#SVGAnimationAttributeTargetAttrs": {
565
+ "description": "[The target attribute]( https://www.w3.org/TR/2001/REC-smil-animation-20010904/#SpecifyingTargetAttribute )",
566
+ "type": "object",
567
+ "required": ["attributeName", "attributeType"],
568
+ "propertyNames": { "$ref": "#/definitions/SVGAnimationAttributeTargetAttrs" },
569
+ "patternProperties": { ".+": { "$ref": "./attributes.schema.json#/definitions/AttributeJSON" } }
570
+ },
571
+ "#SVGAnimationEventAttrs": {
572
+ "description": "[animation event attribute]( https://svgwg.org/specs/animations/#TermAnimationEventAttribute )",
573
+ "type": "object",
574
+ "required": ["onbegin", "onend", "onrepeat"],
575
+ "propertyNames": { "$ref": "#/definitions/SVGAnimationEventAttrs" },
576
+ "patternProperties": { ".+": { "$ref": "./attributes.schema.json#/definitions/AttributeJSON" } }
577
+ },
578
+ "#SVGAnimationTargetElementAttrs": {
579
+ "description": "[Attributes to identify the target element for an animation]( https://svgwg.org/specs/animations/#TargetElement )",
580
+ "type": "object",
581
+ "required": ["href", "xlink:href"],
582
+ "propertyNames": { "$ref": "#/definitions/SVGAnimationTargetElementAttrs" },
583
+ "patternProperties": { ".+": { "$ref": "./attributes.schema.json#/definitions/AttributeJSON" } }
584
+ },
585
+ "#SVGAnimationTimingAttrs": {
586
+ "description": "[Attributes to control the timing of the animation]( https://svgwg.org/specs/animations/#TimingAttributes )",
587
+ "type": "object",
588
+ "required": ["begin", "dur", "end", "min", "max", "restart", "repeatCount", "repeatDur", "fill"],
589
+ "propertyNames": { "$ref": "#/definitions/SVGAnimationTimingAttrs" },
590
+ "patternProperties": { ".+": { "$ref": "./attributes.schema.json#/definitions/AttributeJSON" } }
591
+ },
592
+ "#SVGAnimationValueAttrs": {
593
+ "description": "- [Attributes that define animation values over time]( https://svgwg.org/specs/animations/#ValueAttributes )\nAND\n- [SMIL 3.0 Time Manipulations]( https://www.w3.org/TR/REC-smil/smil-timemanip.html )",
594
+ "type": "object",
595
+ "required": [
596
+ "calcMode",
597
+ "values",
598
+ "keyTimes",
599
+ "keySplines",
600
+ "from",
601
+ "to",
602
+ "by",
603
+ "accelerate",
604
+ "decelerate",
605
+ "autoReverse",
606
+ "speed"
607
+ ],
608
+ "propertyNames": { "$ref": "#/definitions/SVGAnimationValueAttrs" },
609
+ "patternProperties": { ".+": { "$ref": "./attributes.schema.json#/definitions/AttributeJSON" } }
610
+ },
611
+ "#SVGConditionalProcessingAttrs": {
612
+ "description": "[conditional processing attribute]( https://svgwg.org/svg2-draft/struct.html#TermConditionalProcessingAttribute )",
613
+ "type": "object",
614
+ "required": ["requiredExtensions", "systemLanguage", "requiredFeatures"],
615
+ "propertyNames": { "$ref": "#/definitions/SVGConditionalProcessingAttrs" },
616
+ "patternProperties": { ".+": { "$ref": "./attributes.schema.json#/definitions/AttributeJSON" } }
617
+ },
618
+ "#SVGCoreAttrs": {
619
+ "description": "[core attributes]( https://svgwg.org/svg2-draft/struct.html#TermCoreAttribute )",
620
+ "type": "object",
621
+ "required": [
622
+ "id",
623
+ "tabindex",
624
+ "autofocus",
625
+ "lang",
626
+ "xml:space",
627
+ "class",
628
+ "style",
629
+ "xmlns",
630
+ "xml:lang",
631
+ "xml:base"
632
+ ],
633
+ "propertyNames": { "$ref": "#/definitions/SVGCoreAttrs" },
634
+ "patternProperties": { ".+": { "$ref": "./attributes.schema.json#/definitions/AttributeJSON" } }
635
+ },
636
+ "#SVGFilterPrimitiveAttrs": {
637
+ "description": "[Common filter primitive attributes]( https://drafts.fxtf.org/filter-effects/#CommonAttributes )",
638
+ "type": "object",
639
+ "required": ["x", "y", "width", "height", "result", "in"],
640
+ "propertyNames": { "$ref": "#/definitions/SVGFilterPrimitiveAttrs" },
641
+ "patternProperties": { ".+": { "$ref": "./attributes.schema.json#/definitions/AttributeJSON" } }
642
+ },
643
+ "#SVGPresentationAttrs": {
644
+ "description": "[Presentation attributes]( https://svgwg.org/svg2-draft/styling.html#PresentationAttributes )",
645
+ "type": "object",
646
+ "required": [
647
+ "cx",
648
+ "cy",
649
+ "height",
650
+ "width",
651
+ "x",
652
+ "y",
653
+ "r",
654
+ "rx",
655
+ "ry",
656
+ "d",
657
+ "fill",
658
+ "transform",
659
+ "patternTransform",
660
+ "gradientTransform",
661
+ "alignment-baseline",
662
+ "baseline-shift",
663
+ "clip-path",
664
+ "clip-rule",
665
+ "color",
666
+ "color-interpolation",
667
+ "color-interpolation-filters",
668
+ "cursor",
669
+ "direction",
670
+ "display",
671
+ "dominant-baseline",
672
+ "fill-opacity",
673
+ "fill-rule",
674
+ "filter",
675
+ "flood-color",
676
+ "flood-opacity",
677
+ "font",
678
+ "font-family",
679
+ "font-size",
680
+ "font-size-adjust",
681
+ "font-stretch",
682
+ "font-style",
683
+ "font-variant",
684
+ "font-weight",
685
+ "glyph-orientation-horizontal",
686
+ "glyph-orientation-vertical",
687
+ "image-rendering",
688
+ "isolation",
689
+ "letter-spacing",
690
+ "lighting-color",
691
+ "marker",
692
+ "marker-end",
693
+ "marker-mid",
694
+ "marker-start",
695
+ "mask",
696
+ "mask-type",
697
+ "opacity",
698
+ "overflow",
699
+ "paint-order",
700
+ "pointer-events",
701
+ "shape-rendering",
702
+ "stop-color",
703
+ "stop-opacity",
704
+ "stroke",
705
+ "stroke-dasharray",
706
+ "stroke-dashoffset",
707
+ "stroke-linecap",
708
+ "stroke-linejoin",
709
+ "stroke-miterlimit",
710
+ "stroke-opacity",
711
+ "stroke-width",
712
+ "text-anchor",
713
+ "text-decoration",
714
+ "text-overflow",
715
+ "text-rendering",
716
+ "transform-origin",
717
+ "unicode-bidi",
718
+ "vector-effect",
719
+ "visibility",
720
+ "white-space",
721
+ "word-spacing",
722
+ "writing-mode",
723
+ "clip",
724
+ "color-profile",
725
+ "color-rendering",
726
+ "enable-background",
727
+ "kerning"
728
+ ],
729
+ "propertyNames": { "$ref": "#/definitions/SVGPresentationAttrs" },
730
+ "patternProperties": { ".+": { "$ref": "./attributes.schema.json#/definitions/AttributeJSON" } }
731
+ },
732
+ "#SVGTransferFunctionAttrs": {
733
+ "description": "[transfer function element attributes,]( https://drafts.fxtf.org/filter-effects/#transfer-function-element-attributes )",
734
+ "type": "object",
735
+ "required": ["type", "tableValues", "slope", "intercept", "amplitude", "exponent", "offset"],
736
+ "propertyNames": { "$ref": "#/definitions/SVGTransferFunctionAttrs" },
737
+ "patternProperties": { ".+": { "$ref": "./attributes.schema.json#/definitions/AttributeJSON" } }
738
+ },
739
+ "#XLinkAttrs": {
740
+ "description": "[Deprecated XLink URL reference attributes]( https://svgwg.org/svg2-draft/linking.html#XLinkRefAttrs )",
741
+ "type": "object",
742
+ "required": [
743
+ "xlink:href",
744
+ "xlink:title",
745
+ "xlink:actuate",
746
+ "xlink:arcrole",
747
+ "xlink:role",
748
+ "xlink:show",
749
+ "xlink:type"
750
+ ],
751
+ "propertyNames": { "$ref": "#/definitions/XLinkAttrs" },
752
+ "patternProperties": { ".+": { "$ref": "./attributes.schema.json#/definitions/AttributeJSON" } }
10
753
  }
11
754
  }
12
755
  }