@fkui/vue 5.36.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1476 @@
1
+ const { defineMetadata } = require("html-validate");
2
+
3
+ module.exports = defineMetadata({
4
+ /* f-label is defined at top as many other elements inherits from it */
5
+ "f-label": {
6
+ inherit: "label",
7
+ flow: true,
8
+ phrasing: true,
9
+ attributes: {
10
+ for: ["/^[a-zA-Z][\\w\\d-_.:]+$/"],
11
+ },
12
+ permittedContent: ["@phrasing", "template"],
13
+ slots: ["default", "tooltip", "description", "error-message"],
14
+ },
15
+
16
+ "f-label#default": {
17
+ permittedContent: ["@phrasing", "slot"],
18
+ },
19
+
20
+ "f-label#tooltip": {
21
+ flow: true,
22
+ phrasing: true,
23
+ interactive: true,
24
+ permittedContent: ["f-tooltip", "slot"],
25
+ },
26
+
27
+ "f-label#description": {
28
+ flow: true,
29
+ phrasing: true,
30
+ permittedContent: ["@phrasing", "slot"],
31
+ },
32
+
33
+ "f-label#error-message": {
34
+ flow: true,
35
+ phrasing: true,
36
+ permittedContent: ["@phrasing", "slot"],
37
+ },
38
+
39
+ "f-layout-application-template": {
40
+ flow: true,
41
+ slots: ["header", "top-navigation", "default", "footer"],
42
+ },
43
+
44
+ "f-layout-left-panel": {
45
+ flow: true,
46
+ attributes: {
47
+ defaultWidth: {
48
+ enum: ["/\\d+/"],
49
+ },
50
+ },
51
+ slots: ["heading", "content", "default"],
52
+ requiredSlots: ["heading", "content", "default"],
53
+ },
54
+
55
+ "f-layout-right-panel": {
56
+ flow: true,
57
+ attributes: {
58
+ defaultWidth: {
59
+ enum: ["/\\d+/"],
60
+ },
61
+ maxWidth: {},
62
+ minWidth: {
63
+ enum: ["/\\d+/"],
64
+ },
65
+ },
66
+ slots: ["heading", "content", "default"],
67
+ },
68
+
69
+ /* similar to f-label, f-text-field is defined at the top since other
70
+ * components inherit from it */
71
+ "f-text-field": {
72
+ flow: true,
73
+ phrasing: true,
74
+ interactive: true,
75
+ attributes: {
76
+ inline: {
77
+ boolean: true,
78
+ },
79
+ value: ["/.*/"],
80
+ type: [
81
+ "email",
82
+ "number",
83
+ "password",
84
+ "search",
85
+ "tel",
86
+ "text",
87
+ "url",
88
+ ],
89
+ maxlength: ["/^[0-9]+$/"],
90
+ },
91
+ permittedContent: ["@phrasing", "template"],
92
+ slots: [
93
+ "default",
94
+ "tooltip",
95
+ "description",
96
+ "error-message",
97
+ "input-left",
98
+ "input-right",
99
+ "append-inner",
100
+ ],
101
+ },
102
+
103
+ "f-text-field#default": {
104
+ inherit: "f-label#default",
105
+ },
106
+
107
+ "f-text-field#tooltip": {
108
+ inherit: "f-label#tooltip",
109
+ },
110
+
111
+ "f-text-field#description": {
112
+ inherit: "f-label#description",
113
+ },
114
+
115
+ "f-text-field#error-message": {
116
+ inherit: "f-label#error-message",
117
+ },
118
+
119
+ "f-data-table": {
120
+ flow: true,
121
+ attributes: {
122
+ "empty-row": {
123
+ deprecated: "prop is obsolete and should no longer be used",
124
+ },
125
+ "key-attribute": ["/.+/"],
126
+ scroll: ["horizontal", "vertical", "both", "none"],
127
+ },
128
+ requiredAttributes: ["key-attribute", "rows"],
129
+ slots: ["default", "caption", "empty"],
130
+ requiredSlots: ["default", "caption"],
131
+ },
132
+
133
+ "f-data-table#caption": {
134
+ inherit: "caption",
135
+ },
136
+
137
+ "f-data-table#default": {
138
+ permittedContent: ["f-table-column"],
139
+ },
140
+
141
+ "f-data-table#empty": {
142
+ permittedContent: ["@flow", "@phrasing"],
143
+ },
144
+
145
+ "f-datepicker": {
146
+ flow: true,
147
+ deprecated: {
148
+ message:
149
+ "<f-datepicker> is deprecated: use <f-datepicker-field> instead.",
150
+ source: "@fkui/vue",
151
+ },
152
+ },
153
+
154
+ "f-datepicker-field": {
155
+ flow: true,
156
+ phrasing: true,
157
+ interactive: true,
158
+ attributes: {
159
+ disabled: {
160
+ boolean: true,
161
+ },
162
+ "initial-month": {},
163
+ "highlight-today": {
164
+ boolean: true,
165
+ },
166
+ "always-inline": {
167
+ boolean: true,
168
+ },
169
+ },
170
+ slots: ["default", "tooltip", "description", "error-message"],
171
+ },
172
+
173
+ "f-datepicker-field#default": {
174
+ inherit: "f-text-field#default",
175
+ },
176
+
177
+ "f-datepicker-field#description": {
178
+ inherit: "f-text-field#description",
179
+ },
180
+
181
+ "f-datepicker-field#error-message": {
182
+ inherit: "f-text-field#error-message",
183
+ },
184
+
185
+ "f-datepicker-field#tooltip": {
186
+ inherit: "f-text-field#tooltip",
187
+ },
188
+
189
+ "f-calendar": {
190
+ flow: true,
191
+ slots: ["default"],
192
+ attributes: {
193
+ "tab-date": {},
194
+ "min-date": {},
195
+ "max-date": {},
196
+ },
197
+ },
198
+
199
+ "f-calendar-day": {
200
+ flow: true,
201
+ permittedContent: ["@flow"],
202
+ attributes: {
203
+ day: {
204
+ required: true,
205
+ },
206
+ enabled: {
207
+ boolean: true,
208
+ },
209
+ focused: {
210
+ boolean: true,
211
+ },
212
+ selected: {
213
+ boolean: true,
214
+ },
215
+ highlight: {
216
+ boolean: true,
217
+ },
218
+ },
219
+ slots: ["default"],
220
+ },
221
+
222
+ "f-expand": {
223
+ flow: true,
224
+ transparent: true,
225
+ },
226
+
227
+ "f-expandable-panel": {
228
+ flow: true,
229
+ attributes: {
230
+ "header-tag": ["h1", "h2", "h3", "h4", "h5", "h6"],
231
+ },
232
+ slots: ["default", "title", "outside"],
233
+ requiredSlots: ["default", "title"],
234
+ },
235
+
236
+ "f-expandable-panel#default": {
237
+ permittedDescendants: [
238
+ {
239
+ exclude: "f-expandable-panel",
240
+ },
241
+ ],
242
+ },
243
+
244
+ "f-expandable-panel#title": {
245
+ interactive: true,
246
+ permittedContent: ["@phrasing"],
247
+ permittedDescendants: [
248
+ {
249
+ exclude: "@interactive",
250
+ },
251
+ ],
252
+ },
253
+
254
+ "f-expandable-panel#outside": {
255
+ permittedDescendants: [
256
+ {
257
+ exclude: "f-expandable-panel",
258
+ },
259
+ ],
260
+ },
261
+
262
+ "f-expandable-paragraph": {
263
+ flow: true,
264
+ attributes: {
265
+ "header-tag": ["span", "h1", "h2", "h3", "h4", "h5", "h6"],
266
+ list: ["", "true", "false"],
267
+ },
268
+ slots: ["default", "related", "title"],
269
+ requiredSlots: ["default", "title"],
270
+ },
271
+
272
+ "f-expandable-paragraph#title": {
273
+ interactive: true,
274
+ permittedContent: ["@phrasing"],
275
+ permittedDescendants: [
276
+ {
277
+ exclude: "@interactive",
278
+ },
279
+ ],
280
+ },
281
+
282
+ "f-expandable-paragraph#related": {
283
+ phrasing: true,
284
+ permittedContent: ["@phrasing"],
285
+ },
286
+
287
+ "f-file-selector": {
288
+ flow: true,
289
+ interactive: true,
290
+ slots: ["default"],
291
+ permittedContent: ["@flow", "@phrasing"],
292
+ textContent: "required",
293
+ attributes: {
294
+ disabled: {
295
+ boolean: true,
296
+ },
297
+ },
298
+ },
299
+
300
+ "f-file-selector#default": {
301
+ permittedContent: ["@flow", "@phrasing"],
302
+ textContent: "required",
303
+ },
304
+
305
+ "f-icon": {
306
+ flow: true,
307
+ phrasing: true,
308
+ embedded: true,
309
+ void: false,
310
+ permittedContent: ["title", "desc"],
311
+ requiredAttributes: ["name"],
312
+ attributes: {
313
+ name: ["/.+/"],
314
+ library: ["/.+/"],
315
+ flip: ["horizontal", "vertical"],
316
+ rotate: ["90", "180", "270"],
317
+ },
318
+ },
319
+
320
+ "f-list": {
321
+ inherit: "ul",
322
+ flow: true,
323
+ phrasing: true,
324
+ requiredAttributes: ["items", "key-attribute"],
325
+ attributes: {
326
+ selectable: ["/^[a-zA-Z][\\w\\d-_.:]+$/", "", "false", "true"],
327
+ value: ["/.*/"],
328
+ "key-attribute": ["/.+/"],
329
+ title: {
330
+ deprecated: true,
331
+ },
332
+ },
333
+ slots: ["default", "screenreader", "empty"],
334
+ },
335
+
336
+ "f-list#default": {
337
+ permittedContent: ["@flow"],
338
+ },
339
+
340
+ "f-list#screenreader": {
341
+ permittedContent: ["@phrasing"],
342
+ },
343
+
344
+ "f-list#empty": {
345
+ permittedContent: ["@flow", "@phrasing"],
346
+ },
347
+
348
+ "f-file-item": {
349
+ flow: true,
350
+ requiredAttributes: ["file-name"],
351
+ slots: ["row", "default"],
352
+ },
353
+
354
+ "f-message-box": {
355
+ flow: true,
356
+ requiredAttributes: ["type"],
357
+ attributes: {
358
+ type: ["success", "warning", "error", "info"],
359
+ layout: ["standard", "short"],
360
+ },
361
+ slots: ["default"],
362
+ },
363
+
364
+ "f-message-box#default": {
365
+ permittedContent: ["@flow"],
366
+ },
367
+
368
+ "f-form": {
369
+ flow: true,
370
+ phrasing: true,
371
+ form: true,
372
+ slots: ["default", "error-message"],
373
+ attributes: {
374
+ "display-error": ["", "false", "true"],
375
+ "error-scroll": ["center", "top"],
376
+ },
377
+ deprecated: {
378
+ message:
379
+ "See migration guide: https://forsakringskassan.github.io/latest/components/fform.html",
380
+ source: "@fkui/vue",
381
+ },
382
+ },
383
+
384
+ "f-form#default": {
385
+ permittedContent: ["@flow"],
386
+ },
387
+
388
+ "f-form#error-message": {
389
+ permittedContent: ["@flow"],
390
+ },
391
+
392
+ "f-form-step": {
393
+ flow: true,
394
+ phrasing: true,
395
+ slots: ["default", "header", "error-message"],
396
+ permittedDescendants: [
397
+ {
398
+ exclude: "f-progressbar",
399
+ },
400
+ ],
401
+ deprecated: {
402
+ message:
403
+ "See migration guide: https://forsakringskassan.github.io/latest/components/fform.html",
404
+ source: "@fkui/vue",
405
+ },
406
+ },
407
+
408
+ "f-form-step#default": {
409
+ permittedContent: ["@flow"],
410
+ },
411
+
412
+ "f-form-step#header": {
413
+ permittedContent: ["@flow"],
414
+ },
415
+
416
+ "f-form-step#error-message": {
417
+ permittedContent: ["@flow"],
418
+ },
419
+
420
+ "f-form-step-button": {
421
+ inherit: "button",
422
+ textContent: "none",
423
+ attributes: {
424
+ id: {},
425
+ "is-open": {},
426
+ "is-any-field-touched": {},
427
+ "additional-screenreader-text": {},
428
+ type: {
429
+ required: false,
430
+ },
431
+ },
432
+ deprecated: {
433
+ message:
434
+ "See migration guide: https://forsakringskassan.github.io/latest/components/fform.html",
435
+ source: "@fkui/vue",
436
+ },
437
+ },
438
+
439
+ "f-interactive-table": {
440
+ flow: true,
441
+ attributes: {
442
+ "empty-row": {
443
+ deprecated: "prop is obsolete and should no longer be used",
444
+ },
445
+ "key-attribute": ["/.+/"],
446
+ "expandable-attribute": ["/.+/"],
447
+ "expandable-describedby": ["/.+/"],
448
+ scroll: ["horizontal", "vertical", "both", "none"],
449
+ },
450
+ requiredAttributes: ["key-attribute", "rows"],
451
+ slots: [
452
+ "default",
453
+ "caption",
454
+ "row-description",
455
+ "checkbox-description",
456
+ "empty",
457
+ "expandable",
458
+ ],
459
+ requiredSlots: ["default", "caption"],
460
+ },
461
+
462
+ "f-interactive-table#caption": {
463
+ inherit: "caption",
464
+ },
465
+
466
+ "f-interactive-table#default": {
467
+ permittedContent: ["f-table-column"],
468
+ },
469
+
470
+ "f-interactive-table#empty": {
471
+ permittedContent: ["@flow", "@phrasing"],
472
+ },
473
+
474
+ "f-offline": {
475
+ flow: true,
476
+ permittedContent: ["@phrasing"],
477
+ },
478
+
479
+ "f-output-field": {
480
+ flow: true,
481
+ permittedContent: ["@phrasing", "template"],
482
+ attributes: {
483
+ for: {
484
+ required: true,
485
+ list: true,
486
+ },
487
+ id: {},
488
+ },
489
+ slots: ["default", "tooltip", "label"],
490
+ },
491
+
492
+ "f-output-field#default": {
493
+ permittedContent: ["@phrasing"],
494
+ },
495
+
496
+ "f-output-field#tooltip": {
497
+ inherit: "f-label#tooltip",
498
+ },
499
+
500
+ "f-output-field#label": {
501
+ inherit: "f-label#description",
502
+ },
503
+
504
+ "f-progressbar": {
505
+ flow: true,
506
+ requiredAttributes: ["aria-label"],
507
+ permittedContent: [],
508
+ },
509
+
510
+ "f-sort-filter-dataset": {
511
+ flow: true,
512
+ interactive: true,
513
+ slots: ["default", "header"],
514
+ requiredAttributes: ["data", "sortable-attributes"],
515
+ requiredSlots: ["default"],
516
+ },
517
+
518
+ "f-sort-filter-dataset#header": {
519
+ permittedContent: ["@flow"],
520
+ },
521
+
522
+ "f-static-field": {
523
+ flow: true,
524
+ permittedContent: ["@phrasing", "template"],
525
+ slots: ["default", "description", "tooltip", "label"],
526
+ },
527
+
528
+ "f-static-field#default": {
529
+ permittedContent: ["@phrasing"],
530
+ },
531
+
532
+ "f-static-field#description": {
533
+ inherit: "f-label#description",
534
+ },
535
+
536
+ "f-static-field#tooltip": {
537
+ inherit: "f-label#tooltip",
538
+ },
539
+
540
+ "f-static-field#label": {
541
+ inherit: "f-label#description",
542
+ },
543
+
544
+ "f-table-column": {
545
+ flow: false,
546
+ attributes: {
547
+ name: ["/.+/"],
548
+ title: ["/.+/"],
549
+ description: ["/.+/"],
550
+ type: ["text", "date", "numeric", "action"],
551
+ },
552
+ requiredAttributes: ["name", "title"],
553
+ permittedContent: ["@phrasing", "button"],
554
+ },
555
+
556
+ "f-tooltip": {
557
+ flow: true,
558
+ interactive: true,
559
+ phrasing: true,
560
+ slots: ["header", "body"],
561
+ attributes: {
562
+ "close-button-text": {
563
+ enum: ["/.+/"],
564
+ },
565
+ "header-tag": {
566
+ enum: ["div", "span", "h1", "h2", "h3", "h4", "h5", "h6"],
567
+ },
568
+ "screen-reader-text": {
569
+ enum: ["/.+/"],
570
+ },
571
+ },
572
+ requiredAttributes: ["screen-reader-text"],
573
+ },
574
+
575
+ "f-bank-account-number-text-field": {
576
+ inherit: "f-text-field",
577
+ attributes: {
578
+ parser: {},
579
+ },
580
+ },
581
+
582
+ "f-bank-account-number-text-field#default": {
583
+ inherit: "f-label",
584
+ },
585
+
586
+ "f-bank-account-number-text-field#tooltip": {
587
+ inherit: "f-label#tooltip",
588
+ },
589
+
590
+ "f-bank-account-number-text-field#description": {
591
+ inherit: "f-label#description",
592
+ },
593
+
594
+ "f-bank-account-number-text-field#error-message": {
595
+ inherit: "f-label#error-message",
596
+ },
597
+
598
+ "f-bankgiro-text-field": {
599
+ inherit: "f-text-field",
600
+ attributes: {
601
+ formatter: {},
602
+ },
603
+ },
604
+
605
+ "f-bankgiro-text-field#default": {
606
+ inherit: "f-label",
607
+ },
608
+
609
+ "f-bankgiro-text-field#tooltip": {
610
+ inherit: "f-label#tooltip",
611
+ },
612
+
613
+ "f-bankgiro-text-field#description": {
614
+ inherit: "f-label#description",
615
+ },
616
+
617
+ "f-bankgiro-text-field#error-message": {
618
+ inherit: "f-label#error-message",
619
+ },
620
+
621
+ "f-currency-text-field": {
622
+ inherit: "f-text-field",
623
+ attributes: {
624
+ formatter: {},
625
+ parser: {},
626
+ },
627
+ },
628
+
629
+ "f-currency-text-field#default": {
630
+ inherit: "f-label",
631
+ },
632
+
633
+ "f-currency-text-field#tooltip": {
634
+ inherit: "f-label#tooltip",
635
+ },
636
+
637
+ "f-currency-text-field#description": {
638
+ inherit: "f-label#description",
639
+ },
640
+
641
+ "f-currency-text-field#error-message": {
642
+ inherit: "f-label#error-message",
643
+ },
644
+
645
+ "f-clearingnumber-text-field": {
646
+ inherit: "f-text-field",
647
+ attributes: {
648
+ formatter: {},
649
+ },
650
+ },
651
+
652
+ "f-clearingnumber-text-field#default": {
653
+ inherit: "f-label",
654
+ },
655
+
656
+ "f-clearingnumber-text-field#tooltip": {
657
+ inherit: "f-label#tooltip",
658
+ },
659
+
660
+ "f-clearingnumber-text-field#description": {
661
+ inherit: "f-label#description",
662
+ },
663
+
664
+ "f-clearingnumber-text-field#error-message": {
665
+ inherit: "f-label#error-message",
666
+ },
667
+
668
+ "f-personnummer-text-field": {
669
+ inherit: "f-text-field",
670
+ attributes: {
671
+ formatter: {},
672
+ },
673
+ },
674
+
675
+ "f-personnummer-text-field#default": {
676
+ inherit: "f-label",
677
+ },
678
+
679
+ "f-personnummer-text-field#tooltip": {
680
+ inherit: "f-label#tooltip",
681
+ },
682
+
683
+ "f-personnummer-text-field#description": {
684
+ inherit: "f-label#description",
685
+ },
686
+
687
+ "f-personnummer-text-field#error-message": {
688
+ inherit: "f-label#error-message",
689
+ },
690
+
691
+ "f-postal-code-text-field": {
692
+ inherit: "f-text-field",
693
+ attributes: {
694
+ formatter: {},
695
+ },
696
+ },
697
+
698
+ "f-postal-code-text-field#default": {
699
+ inherit: "f-label",
700
+ },
701
+
702
+ "f-postal-code-text-field#tooltip": {
703
+ inherit: "f-label#tooltip",
704
+ },
705
+
706
+ "f-postal-code-text-field#description": {
707
+ inherit: "f-label#description",
708
+ },
709
+
710
+ "f-postal-code-text-field#error-message": {
711
+ inherit: "f-label#error-message",
712
+ },
713
+
714
+ "f-phone-text-field": {
715
+ flow: true,
716
+ phrasing: true,
717
+ interactive: true,
718
+ attributes: {
719
+ id: {
720
+ enum: ["/.+/"],
721
+ },
722
+ value: ["/.*/"],
723
+ "max-length": {
724
+ required: false,
725
+ enum: ["/d+/", "80"],
726
+ },
727
+ "extended-validation": {
728
+ omit: true,
729
+ boolean: true,
730
+ },
731
+ },
732
+ slots: ["default", "extendedlabel"],
733
+ },
734
+
735
+ "f-phone-text-field#default": {
736
+ inherit: "f-label",
737
+ },
738
+
739
+ "f-phone-text-field#extendedlabel": {
740
+ inherit: "f-label",
741
+ },
742
+
743
+ "f-email-text-field": {
744
+ inherit: "f-text-field",
745
+ attributes: {
746
+ "max-length": {
747
+ required: false,
748
+ enum: ["/d+/", "80"],
749
+ },
750
+ "extended-validation": {
751
+ boolean: true,
752
+ omit: true,
753
+ required: false,
754
+ },
755
+ "paste-error-text": {
756
+ required: false,
757
+ enum: ["/.+/"],
758
+ },
759
+ },
760
+ slots: ["default", "extended-label"],
761
+ },
762
+
763
+ "f-email-text-field#default": {
764
+ inherit: "f-label#default",
765
+ },
766
+
767
+ "f-email-text-field#extended-label": {
768
+ inherit: "f-label#default",
769
+ },
770
+
771
+ "f-search-text-field": {
772
+ inherit: "f-text-field",
773
+ attributes: {
774
+ id: {
775
+ enum: ["/.+/"],
776
+ },
777
+ "max-length": {
778
+ required: false,
779
+ enum: ["/d+/", "80"],
780
+ },
781
+ "clearable-screen-reader-text": {
782
+ required: false,
783
+ },
784
+ },
785
+ },
786
+
787
+ "f-numeric-text-field": {
788
+ inherit: "f-text-field",
789
+ attributes: {
790
+ formatter: {},
791
+ parser: {},
792
+ },
793
+ },
794
+
795
+ "f-numeric-text-field#default": {
796
+ inherit: "f-label",
797
+ },
798
+
799
+ "f-numeric-text-field#tooltip": {
800
+ inherit: "f-label#tooltip",
801
+ },
802
+
803
+ "f-numeric-text-field#description": {
804
+ inherit: "f-label#description",
805
+ },
806
+
807
+ "f-numeric-text-field#error-message": {
808
+ inherit: "f-label#error-message",
809
+ },
810
+
811
+ "f-organisationsnummer-text-field": {
812
+ inherit: "f-text-field",
813
+ attributes: {
814
+ formatter: {},
815
+ },
816
+ },
817
+
818
+ "f-organisationsnummer-text-field#default": {
819
+ inherit: "f-label",
820
+ },
821
+
822
+ "f-organisationsnummer-text-field#tooltip": {
823
+ inherit: "f-label#tooltip",
824
+ },
825
+
826
+ "f-organisationsnummer-text-field#description": {
827
+ inherit: "f-label#description",
828
+ },
829
+
830
+ "f-organisationsnummer-text-field#error-message": {
831
+ inherit: "f-label#error-message",
832
+ },
833
+
834
+ "f-percent-text-field": {
835
+ inherit: "f-text-field",
836
+ attributes: {
837
+ decimals: {
838
+ enum: ["/\\d+/"],
839
+ },
840
+ formatter: {},
841
+ parser: {},
842
+ },
843
+ },
844
+
845
+ "f-percent-text-field#default": {
846
+ inherit: "f-label",
847
+ },
848
+
849
+ "f-percent-text-field#tooltip": {
850
+ inherit: "f-label#tooltip",
851
+ },
852
+
853
+ "f-percent-text-field#description": {
854
+ inherit: "f-label#description",
855
+ },
856
+
857
+ "f-percent-text-field#error-message": {
858
+ inherit: "f-label#error-message",
859
+ },
860
+
861
+ "f-plusgiro-text-field": {
862
+ inherit: "f-text-field",
863
+ },
864
+
865
+ "f-plusgiro-text-field#default": {
866
+ inherit: "f-label",
867
+ attributes: {
868
+ formatter: {},
869
+ },
870
+ },
871
+
872
+ "f-plusgiro-text-field#tooltip": {
873
+ inherit: "f-label#tooltip",
874
+ },
875
+
876
+ "f-plusgiro-text-field#description": {
877
+ inherit: "f-label#description",
878
+ },
879
+
880
+ "f-plusgiro-text-field#error-message": {
881
+ inherit: "f-label#error-message",
882
+ },
883
+
884
+ "f-textarea-field": {
885
+ inherit: "textarea",
886
+ flow: true,
887
+ phrasing: true,
888
+ interactive: true,
889
+ attributes: {
890
+ value: ["/.*/"],
891
+ "soft-limit": ["/^\\d+$/"],
892
+ maxlength: ["/^\\d+$/"],
893
+ "characters-left-warning": ["/.*/"],
894
+ disabled: {
895
+ boolean: true,
896
+ required: false,
897
+ },
898
+ },
899
+ permittedContent: ["@phrasing", "template"],
900
+ slots: ["default", "tooltip", "description", "error-message"],
901
+ },
902
+
903
+ "f-textarea-field#default": {
904
+ inherit: "f-label#default",
905
+ },
906
+
907
+ "f-textarea-field#tooltip": {
908
+ inherit: "f-label#tooltip",
909
+ },
910
+
911
+ "f-textarea-field#description": {
912
+ inherit: "f-label#description",
913
+ },
914
+
915
+ "f-textarea-field#error-message": {
916
+ inherit: "f-label#error-message",
917
+ },
918
+
919
+ "f-fieldset": {
920
+ flow: true,
921
+ phrasing: true,
922
+ attributes: {
923
+ name: {
924
+ enum: ["/.+/"],
925
+ },
926
+ "label-class": ["/[^ ]+/"],
927
+ "content-class": ["/[^ ]+/"],
928
+ "show-details": {
929
+ enum: ["when-selected", "always"],
930
+ },
931
+ },
932
+ permittedContent: ["@flow", "template"],
933
+ slots: ["default", "label", "tooltip", "description", "error-message"],
934
+ requiredSlots: ["label"],
935
+ },
936
+
937
+ "f-fieldset#default": {
938
+ permittedContent: ["@flow", "template"],
939
+ },
940
+
941
+ "f-fieldset#label": {
942
+ permittedContent: ["@phrasing", "@heading"],
943
+ },
944
+
945
+ "f-fieldset#tooltip": {
946
+ inherit: "f-label#tooltip",
947
+ },
948
+
949
+ "f-fieldset#description": {
950
+ inherit: "f-label#description",
951
+ },
952
+
953
+ "f-fieldset#error-message": {
954
+ inherit: "f-label#error-message",
955
+ },
956
+
957
+ "f-checkbox-group": {
958
+ inherit: "f-fieldset",
959
+ deprecated: {
960
+ message:
961
+ "<f-checkbox-group> is deprecated: use <f-fieldset> instead. See migration guide: https://forsakringskassan.github.io/latest/guide/migration/migrating-to-fieldset.html",
962
+ source: "@fkui/vue",
963
+ },
964
+ },
965
+
966
+ "f-checkbox-group#default": {
967
+ inherit: "f-fieldset#default",
968
+ },
969
+
970
+ "f-checkbox-group#label": {
971
+ inherit: "f-fieldset#label",
972
+ },
973
+
974
+ "f-checkbox-group#tooltip": {
975
+ inherit: "f-fieldset#tooltip",
976
+ },
977
+
978
+ "f-checkbox-group#description": {
979
+ inherit: "f-fieldset#description",
980
+ },
981
+
982
+ "f-checkbox-group#error-message": {
983
+ inherit: "f-fieldset#error-message",
984
+ },
985
+
986
+ "f-checkbox-field": {
987
+ flow: true,
988
+ phrasing: true,
989
+ slots: ["default", "details"],
990
+ attributes: {
991
+ checked: ["/^[a-zA-Z][\\w\\d-_.:]+$/", "false", "true"],
992
+ value: ["/.*/"],
993
+ },
994
+ permittedContent: ["@phrasing"],
995
+ },
996
+
997
+ "f-checkbox-field#default": {
998
+ inherit: "label",
999
+ },
1000
+
1001
+ "f-checkbox-group-field": {
1002
+ inherit: "f-checkbox-field",
1003
+ deprecated: {
1004
+ message:
1005
+ "<f-checkbox-group-field> is deprecated: rename to <f-checkbox-field>. See migration guide: https://forsakringskassan.github.io/latest/guide/migration/migrating-to-fieldset.html",
1006
+ source: "@fkui/vue",
1007
+ },
1008
+ },
1009
+
1010
+ "f-checkbox-group-field#default": {
1011
+ inherit: "label",
1012
+ },
1013
+
1014
+ "f-crud-dataset": {
1015
+ flow: true,
1016
+ interactive: true,
1017
+ slots: ["default", "add", "delete", "modify", "add-button"],
1018
+ requiredSlots: ["default"],
1019
+ attributes: {
1020
+ value: ["/.*/"],
1021
+ beforeCreate: ["/.*/"],
1022
+ },
1023
+ },
1024
+
1025
+ "f-crud-dataset#add-button": {
1026
+ permittedContent: ["@phrasing", "slot"],
1027
+ permittedDescendants: [{ exclude: ["@interactive"] }],
1028
+ textContent: "required",
1029
+ },
1030
+
1031
+ "f-crud-button": {
1032
+ flow: true,
1033
+ interactive: true,
1034
+ phrasing: true,
1035
+ attributes: {
1036
+ action: ["modify", "delete"],
1037
+ item: ["/.*/"],
1038
+ },
1039
+ requiredAttributes: ["action", "item"],
1040
+ requiredAncestors: ["f-crud-dataset"],
1041
+ },
1042
+
1043
+ "f-radio-group": {
1044
+ inherit: "f-fieldset",
1045
+ attributes: {
1046
+ "is-horizontal": {
1047
+ boolean: true,
1048
+ },
1049
+ },
1050
+ deprecated: {
1051
+ message:
1052
+ "<f-radio-group> is deprecated: use <f-fieldset> instead. See migration guide: https://forsakringskassan.github.io/latest/guide/migration/migrating-to-fieldset.html",
1053
+ source: "@fkui/vue",
1054
+ },
1055
+ },
1056
+
1057
+ "f-radio-group#default": {
1058
+ inherit: "f-fieldset#default",
1059
+ },
1060
+
1061
+ "f-radio-group#label": {
1062
+ inherit: "f-fieldset#label",
1063
+ },
1064
+
1065
+ "f-radio-group#tooltip": {
1066
+ inherit: "f-fieldset#tooltip",
1067
+ },
1068
+
1069
+ "f-radio-group#description": {
1070
+ inherit: "f-fieldset#description",
1071
+ },
1072
+
1073
+ "f-radio-group#error-message": {
1074
+ inherit: "f-fieldset#error-message",
1075
+ },
1076
+
1077
+ "f-radio-field": {
1078
+ flow: true,
1079
+ phrasing: true,
1080
+ slots: ["default", "details"],
1081
+ attributes: {
1082
+ checked: ["/^[a-zA-Z][\\w\\d-_.:]+$/", "false", "true"],
1083
+ value: ["/.*/"],
1084
+ },
1085
+ permittedContent: ["@phrasing"],
1086
+ },
1087
+
1088
+ "f-radio-field#default": {
1089
+ inherit: "label",
1090
+ },
1091
+
1092
+ "f-radio-group-field": {
1093
+ inherit: "f-radio-field",
1094
+ deprecated: {
1095
+ message:
1096
+ "<f-radio-group-field> is deprecated: rename to <f-radio-field>. See migration guide: https://forsakringskassan.github.io/latest/guide/migration/migrating-to-fieldset.html",
1097
+ source: "@fkui/vue",
1098
+ },
1099
+ },
1100
+
1101
+ "f-radio-group-field#default": {
1102
+ inherit: "label",
1103
+ },
1104
+
1105
+ "f-select-field": {
1106
+ flow: true,
1107
+ phrasing: true,
1108
+ interactive: true,
1109
+ attributes: {
1110
+ inline: {
1111
+ boolean: true,
1112
+ },
1113
+ value: {},
1114
+ },
1115
+ permittedContent: ["option", "optgroup", "template"],
1116
+ slots: ["default", "label", "tooltip", "description", "error-message"],
1117
+ requiredSlots: ["label"],
1118
+ },
1119
+
1120
+ "f-select-field#default": {
1121
+ flow: true,
1122
+ phrasing: true,
1123
+ permittedContent: ["option", "optgroup", "template"],
1124
+ },
1125
+
1126
+ "f-select-field#label": {
1127
+ inherit: "f-label",
1128
+ permittedContent: ["@phrasing", "@heading"],
1129
+ },
1130
+
1131
+ "f-select-field#tooltip": {
1132
+ inherit: "f-label#tooltip",
1133
+ },
1134
+
1135
+ "f-select-field#description": {
1136
+ inherit: "f-label#description",
1137
+ },
1138
+
1139
+ "f-select-field#error-message": {
1140
+ inherit: "f-label#error-message",
1141
+ },
1142
+
1143
+ "f-translation-select": {
1144
+ deprecated: {
1145
+ message:
1146
+ "<f-translation-select> is obsolete and removed (no replacement exists)",
1147
+ source: "@fkui/vue",
1148
+ },
1149
+ },
1150
+
1151
+ "f-modal": {
1152
+ flow: true,
1153
+ interactive: true,
1154
+ phrasing: false,
1155
+ slots: ["header", "content", "footer"],
1156
+ permittedContent: ["@phrasing", "template"],
1157
+ attributes: {
1158
+ "aria-close-text": {},
1159
+ closeText: {
1160
+ deprecated: true,
1161
+ },
1162
+ fullscreen: {
1163
+ boolean: true,
1164
+ },
1165
+ "scroll-down-text": {
1166
+ deprecated: true,
1167
+ },
1168
+ type: {
1169
+ enum: ["information", "warning", "error"],
1170
+ },
1171
+ size: {
1172
+ enum: ["small", "medium", "large", "fullwidth"],
1173
+ },
1174
+ "is-open": {
1175
+ boolean: true,
1176
+ },
1177
+ },
1178
+ },
1179
+
1180
+ "f-modal#header": {
1181
+ permittedContent: ["@phrasing"],
1182
+ },
1183
+
1184
+ "f-modal#content": {
1185
+ permittedContent: ["@phrasing", "@flow"],
1186
+ },
1187
+
1188
+ "f-modal#footer": {
1189
+ permittedContent: ["@phrasing", "@flow"],
1190
+ },
1191
+
1192
+ "f-confirm-modal": {
1193
+ inherit: "f-modal",
1194
+ slots: ["heading", "content"],
1195
+ permittedContent: ["template"],
1196
+ attributes: {
1197
+ "aria-close-text": {},
1198
+ "is-open": {
1199
+ boolean: true,
1200
+ },
1201
+ content: {
1202
+ enum: ["/.+/"],
1203
+ },
1204
+ heading: {
1205
+ enum: ["/.+/"],
1206
+ },
1207
+ buttons: {},
1208
+ },
1209
+ },
1210
+
1211
+ "f-confirm-modal#content": {
1212
+ permittedContent: ["@flow"],
1213
+ },
1214
+
1215
+ "f-form-modal": {
1216
+ inherit: "f-modal",
1217
+ flow: true,
1218
+ interactive: true,
1219
+ phrasing: false,
1220
+ slots: [
1221
+ "default",
1222
+ "header",
1223
+ "error-message",
1224
+ "input-text-fields",
1225
+ "submit-button-text",
1226
+ "cancel-button-text",
1227
+ ],
1228
+ permittedContent: ["@flow", "template"],
1229
+ attributes: {
1230
+ "aria-close-text": {},
1231
+ "form-id": {
1232
+ enum: ["/^[a-zA-Z][\\w\\d-_.:]+$/"],
1233
+ },
1234
+ },
1235
+ },
1236
+
1237
+ "f-form-modal#default": {
1238
+ permittedContent: ["@flow"],
1239
+ },
1240
+ "f-form-modal#header": {
1241
+ permittedContent: ["@flow"],
1242
+ },
1243
+
1244
+ "f-form-modal#error-message": {
1245
+ permittedContent: ["@phrasing"],
1246
+ },
1247
+
1248
+ "f-form-modal#input-text-fields": {
1249
+ permittedContent: ["@flow"],
1250
+ },
1251
+
1252
+ "f-form-modal#submit-button-text": {
1253
+ permittedContent: ["@phrasing"],
1254
+ },
1255
+
1256
+ "f-form-modal#cancel-button-text": {
1257
+ permittedContent: ["@phrasing"],
1258
+ },
1259
+
1260
+ "f-loader": {
1261
+ flow: true,
1262
+ attributes: {
1263
+ language: {},
1264
+ },
1265
+ slots: ["default"],
1266
+ permittedContent: ["@phrasing"],
1267
+ },
1268
+
1269
+ "f-error-handling-app": {
1270
+ flow: true,
1271
+ attributes: {
1272
+ "default-component": {},
1273
+ "error-component": {},
1274
+ },
1275
+ slots: ["default"],
1276
+ },
1277
+
1278
+ "f-error-list": {
1279
+ flow: true,
1280
+ attributes: {
1281
+ items: ["/.*/"],
1282
+ bullets: ["false", "true"],
1283
+ "before-navigate": ["/.*/"],
1284
+ },
1285
+ requiredAttributes: ["items"],
1286
+ },
1287
+
1288
+ "f-validation-group": {
1289
+ flow: true,
1290
+ attributes: {
1291
+ key: ["/.+/"],
1292
+ "stop-propagation": ["false", "true"],
1293
+ },
1294
+ requiredAttributes: ["key"],
1295
+ permittedContent: ["@flow"],
1296
+ slots: ["default"],
1297
+ },
1298
+
1299
+ "f-wizard": {
1300
+ flow: true,
1301
+ permittedContent: ["f-wizard-step", "@flow"],
1302
+ attributes: {
1303
+ "header-tag": {
1304
+ required: true,
1305
+ enum: ["h1", "h2", "h3", "h4", "h5", "h6"],
1306
+ },
1307
+ },
1308
+ },
1309
+
1310
+ "f-wizard-step": {
1311
+ flow: true,
1312
+ requiredAncestors: ["f-wizard > f-wizard-step"],
1313
+ attributes: {
1314
+ key: {
1315
+ required: true,
1316
+ },
1317
+ title: {
1318
+ required: true,
1319
+ enum: ["/.+/"],
1320
+ },
1321
+ "use-error-list": {
1322
+ required: false,
1323
+ },
1324
+ },
1325
+ permittedContent: ["@flow", "template"],
1326
+ slots: ["default", "step-of", "error-message", "next-button-text"],
1327
+ },
1328
+
1329
+ "f-wizard-step#default": {
1330
+ permittedContent: ["@flow"],
1331
+ },
1332
+
1333
+ "f-wizard-step#step-of": {
1334
+ permittedContent: ["@flow"],
1335
+ },
1336
+
1337
+ "f-wizard-step#error-message": {
1338
+ permittedContent: ["@flow"],
1339
+ },
1340
+
1341
+ "f-wizard-step#next-button-text": {
1342
+ inherit: "button",
1343
+ attributes: {
1344
+ type: {
1345
+ required: false,
1346
+ },
1347
+ },
1348
+ },
1349
+
1350
+ "f-page-header": {
1351
+ flow: true,
1352
+ interactive: true,
1353
+ phrasing: false,
1354
+ slots: ["default", "skip-link-text", "logo", "right"],
1355
+ permittedContent: ["@flow", "template"],
1356
+ attributes: {
1357
+ "logo-size": {
1358
+ enum: ["small", "large", "responsive"],
1359
+ },
1360
+ "skip-link": {},
1361
+ "skip-link-href": {
1362
+ enum: ["/^[#].*/"],
1363
+ required: false,
1364
+ },
1365
+ "header-tag": {
1366
+ enum: ["span", "h1"],
1367
+ required: false,
1368
+ },
1369
+ "router-link-path": {
1370
+ enum: ["/.*/"],
1371
+ required: false,
1372
+ },
1373
+ "router-link-name": {
1374
+ enum: ["/.*/"],
1375
+ required: false,
1376
+ },
1377
+ },
1378
+ },
1379
+
1380
+ "f-page-header#skip-link-text": {
1381
+ permittedContent: ["@phrasing"],
1382
+ },
1383
+
1384
+ "f-page-header#logo": {
1385
+ permittedContent: ["@flow"],
1386
+ },
1387
+
1388
+ "f-page-header#right": {
1389
+ permittedContent: ["@flow"],
1390
+ },
1391
+
1392
+ "f-navigation-menu": {
1393
+ flow: true,
1394
+ interactive: true,
1395
+ permittedContent: [],
1396
+ textContent: "none",
1397
+ attributes: {
1398
+ routes: {
1399
+ required: true,
1400
+ },
1401
+ vertical: {
1402
+ boolean: true,
1403
+ required: false,
1404
+ },
1405
+ },
1406
+ },
1407
+
1408
+ "f-context-menu": {
1409
+ flow: true,
1410
+ interactive: true,
1411
+ permittedContent: [],
1412
+ textContent: "none",
1413
+ attributes: {
1414
+ "is-open": {
1415
+ boolean: true,
1416
+ required: true,
1417
+ },
1418
+ anchor: {
1419
+ required: false,
1420
+ },
1421
+ items: {
1422
+ required: true,
1423
+ },
1424
+ },
1425
+ },
1426
+
1427
+ "f-validation-form": {
1428
+ flow: true,
1429
+ form: true,
1430
+ attributes: {
1431
+ "before-submit": {
1432
+ required: false,
1433
+ },
1434
+ "use-error-list": {
1435
+ required: false,
1436
+ },
1437
+ },
1438
+ slots: ["default", "error-message"],
1439
+ },
1440
+
1441
+ "f-validation-form#error-message": {
1442
+ permittedContent: ["@phrasing", "@heading"],
1443
+ },
1444
+
1445
+ "f-card": {
1446
+ flow: true,
1447
+ attributes: {},
1448
+ slots: ["default", "header", "footer"],
1449
+ requiredSlots: ["default"],
1450
+ },
1451
+
1452
+ "f-dialogue-tree": {
1453
+ flow: true,
1454
+ attributes: {
1455
+ "dialogue-tree": {
1456
+ required: true,
1457
+ },
1458
+ },
1459
+ slots: ["default"],
1460
+ requiredSlots: ["default"],
1461
+ },
1462
+
1463
+ "f-badge": {
1464
+ flow: true,
1465
+ permittedContent: ["@phrasing"],
1466
+ attributes: {
1467
+ status: {
1468
+ enum: ["default", "warning", "error", "success", "info"],
1469
+ },
1470
+ inverted: {
1471
+ boolean: true,
1472
+ },
1473
+ },
1474
+ slots: ["default"],
1475
+ },
1476
+ });