@africode/core 5.0.0 → 5.0.2

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,837 @@
1
+ {
2
+ "version": "5.0.0",
3
+ "timestamp": "2026-05-03T12:18:29.985Z",
4
+ "components": [
5
+ {
6
+ "tagName": "af-accordion",
7
+ "className": "AfriAccordion",
8
+ "filePath": "components\\accordion.js",
9
+ "slots": [
10
+ "default"
11
+ ],
12
+ "attributes": {
13
+ "theme": {
14
+ "type": "string"
15
+ },
16
+ "multiple": {
17
+ "type": "string"
18
+ }
19
+ },
20
+ "events": [],
21
+ "cssCustomProperties": [],
22
+ "example": "<af-accordion></af-accordion>",
23
+ "securityNotes": "Sanitizes slot content"
24
+ },
25
+ {
26
+ "tagName": "af-alert",
27
+ "className": "AfriAlert",
28
+ "filePath": "components\\alert.js",
29
+ "slots": [
30
+ "default"
31
+ ],
32
+ "attributes": {
33
+ "type": {
34
+ "type": "string"
35
+ },
36
+ "title": {
37
+ "type": "string"
38
+ },
39
+ "dismissible": {
40
+ "type": "string"
41
+ }
42
+ },
43
+ "events": [],
44
+ "cssCustomProperties": [],
45
+ "example": "<af-alert></af-alert>",
46
+ "securityNotes": "Sanitizes slot content"
47
+ },
48
+ {
49
+ "tagName": "af-auth",
50
+ "className": "AfriAuth",
51
+ "filePath": "components\\auth.js",
52
+ "slots": [
53
+ "default"
54
+ ],
55
+ "attributes": {},
56
+ "events": [],
57
+ "cssCustomProperties": [],
58
+ "example": "<af-auth></af-auth>",
59
+ "securityNotes": "Sanitizes slot content"
60
+ },
61
+ {
62
+ "tagName": "af-avatar",
63
+ "className": "AfriAvatar",
64
+ "filePath": "components\\avatar.js",
65
+ "slots": [
66
+ "default"
67
+ ],
68
+ "attributes": {
69
+ "src": {
70
+ "type": "string"
71
+ },
72
+ "name": {
73
+ "type": "string"
74
+ },
75
+ "size": {
76
+ "type": "string"
77
+ },
78
+ "status": {
79
+ "type": "string"
80
+ },
81
+ "theme": {
82
+ "type": "string"
83
+ }
84
+ },
85
+ "events": [],
86
+ "cssCustomProperties": [],
87
+ "example": "<af-avatar></af-avatar>",
88
+ "securityNotes": "Sanitizes slot content"
89
+ },
90
+ {
91
+ "tagName": "af-badge",
92
+ "className": "AfriBadge",
93
+ "filePath": "components\\badge.js",
94
+ "slots": [
95
+ "default"
96
+ ],
97
+ "attributes": {
98
+ "variant": {
99
+ "type": "string"
100
+ },
101
+ "size": {
102
+ "type": "string"
103
+ },
104
+ "removable": {
105
+ "type": "string"
106
+ }
107
+ },
108
+ "events": [],
109
+ "cssCustomProperties": [],
110
+ "example": "<af-badge></af-badge>",
111
+ "securityNotes": "Sanitizes slot content"
112
+ },
113
+ {
114
+ "tagName": "af-button",
115
+ "className": "AfriButton",
116
+ "filePath": "components\\button.js",
117
+ "slots": [
118
+ "default"
119
+ ],
120
+ "attributes": {
121
+ "variant": {
122
+ "type": "string"
123
+ },
124
+ "size": {
125
+ "type": "string"
126
+ },
127
+ "theme": {
128
+ "type": "string"
129
+ },
130
+ "disabled": {
131
+ "type": "string"
132
+ },
133
+ "loading": {
134
+ "type": "string"
135
+ },
136
+ "icon": {
137
+ "type": "string"
138
+ },
139
+ "aria-label": {
140
+ "type": "string"
141
+ }
142
+ },
143
+ "events": [
144
+ {
145
+ "name": "click",
146
+ "detail": {
147
+ "type": "object"
148
+ }
149
+ }
150
+ ],
151
+ "cssCustomProperties": [],
152
+ "example": "<af-button></af-button>",
153
+ "securityNotes": "Sanitizes slot content"
154
+ },
155
+ {
156
+ "tagName": "af-card",
157
+ "className": "AfriCard",
158
+ "filePath": "components\\card.js",
159
+ "slots": [
160
+ "default"
161
+ ],
162
+ "attributes": {
163
+ "theme": {
164
+ "type": "string"
165
+ },
166
+ "variant": {
167
+ "type": "string"
168
+ },
169
+ "clickable": {
170
+ "type": "string"
171
+ },
172
+ "image": {
173
+ "type": "string"
174
+ }
175
+ },
176
+ "events": [],
177
+ "cssCustomProperties": [],
178
+ "example": "<af-card></af-card>",
179
+ "securityNotes": "Sanitizes slot content"
180
+ },
181
+ {
182
+ "tagName": "af-cultural-card",
183
+ "className": "CulturalCard",
184
+ "filePath": "components\\cultural-card.js",
185
+ "slots": [
186
+ "default"
187
+ ],
188
+ "attributes": {
189
+ "culture": {
190
+ "type": "string"
191
+ },
192
+ "interactive": {
193
+ "type": "string"
194
+ }
195
+ },
196
+ "events": [],
197
+ "cssCustomProperties": [],
198
+ "example": "<af-cultural-card></af-cultural-card>",
199
+ "securityNotes": "Sanitizes slot content"
200
+ },
201
+ {
202
+ "tagName": "af-divider",
203
+ "className": "AfriDivider",
204
+ "filePath": "components\\divider.js",
205
+ "slots": [
206
+ "default"
207
+ ],
208
+ "attributes": {
209
+ "pattern": {
210
+ "type": "string"
211
+ },
212
+ "height": {
213
+ "type": "string"
214
+ },
215
+ "color": {
216
+ "type": "string"
217
+ },
218
+ "flip": {
219
+ "type": "string"
220
+ }
221
+ },
222
+ "events": [],
223
+ "cssCustomProperties": [],
224
+ "example": "<af-divider></af-divider>",
225
+ "securityNotes": "Sanitizes slot content"
226
+ },
227
+ {
228
+ "tagName": "af-dropdown",
229
+ "className": "AfriDropdown",
230
+ "filePath": "components\\dropdown.js",
231
+ "slots": [
232
+ "default"
233
+ ],
234
+ "attributes": {
235
+ "label": {
236
+ "type": "string"
237
+ },
238
+ "open": {
239
+ "type": "string"
240
+ }
241
+ },
242
+ "events": [],
243
+ "cssCustomProperties": [],
244
+ "example": "<af-dropdown></af-dropdown>",
245
+ "securityNotes": "Sanitizes slot content"
246
+ },
247
+ {
248
+ "tagName": "af-error-boundary",
249
+ "className": "AfriErrorBoundary",
250
+ "filePath": "components\\error-boundary.js",
251
+ "slots": [
252
+ "default"
253
+ ],
254
+ "attributes": {
255
+ "theme": {
256
+ "type": "string"
257
+ },
258
+ "fallback-message": {
259
+ "type": "string"
260
+ }
261
+ },
262
+ "events": [],
263
+ "cssCustomProperties": [],
264
+ "example": "<af-error-boundary></af-error-boundary>",
265
+ "securityNotes": "Sanitizes slot content"
266
+ },
267
+ {
268
+ "tagName": "af-form",
269
+ "className": "AfriForm",
270
+ "filePath": "components\\form.js",
271
+ "slots": [
272
+ "default"
273
+ ],
274
+ "attributes": {
275
+ "action": {
276
+ "type": "string"
277
+ },
278
+ "method": {
279
+ "type": "string"
280
+ },
281
+ "error": {
282
+ "type": "string"
283
+ },
284
+ "success": {
285
+ "type": "string"
286
+ },
287
+ "schema": {
288
+ "type": "string"
289
+ }
290
+ },
291
+ "events": [],
292
+ "cssCustomProperties": [],
293
+ "example": "<af-form></af-form>",
294
+ "securityNotes": "Sanitizes slot content"
295
+ },
296
+ {
297
+ "tagName": "af-grid",
298
+ "className": "AfriGrid",
299
+ "filePath": "components\\grid.js",
300
+ "slots": [
301
+ "default"
302
+ ],
303
+ "attributes": {
304
+ "min-width": {
305
+ "type": "string"
306
+ },
307
+ "gap": {
308
+ "type": "string"
309
+ },
310
+ "columns": {
311
+ "type": "string"
312
+ },
313
+ "rows": {
314
+ "type": "string"
315
+ },
316
+ "layout": {
317
+ "type": "string"
318
+ },
319
+ "align": {
320
+ "type": "string"
321
+ },
322
+ "justify": {
323
+ "type": "string"
324
+ },
325
+ "dense": {
326
+ "type": "string"
327
+ },
328
+ "sidebar-side": {
329
+ "type": "string"
330
+ },
331
+ "sidebar-width": {
332
+ "type": "string"
333
+ },
334
+ "": {
335
+ "type": "string"
336
+ }
337
+ },
338
+ "events": [],
339
+ "cssCustomProperties": [],
340
+ "example": "<af-grid></af-grid>",
341
+ "securityNotes": "Sanitizes slot content"
342
+ },
343
+ {
344
+ "tagName": "af-hero",
345
+ "className": "AfriHero",
346
+ "filePath": "components\\hero.js",
347
+ "slots": [
348
+ "default"
349
+ ],
350
+ "attributes": {
351
+ "title": {
352
+ "type": "string"
353
+ },
354
+ "subtitle": {
355
+ "type": "string"
356
+ },
357
+ "pattern": {
358
+ "type": "string"
359
+ },
360
+ "overlay": {
361
+ "type": "string"
362
+ }
363
+ },
364
+ "events": [],
365
+ "cssCustomProperties": [],
366
+ "example": "<af-hero></af-hero>",
367
+ "securityNotes": "Sanitizes slot content"
368
+ },
369
+ {
370
+ "tagName": "af-icon",
371
+ "className": "AfriIcon",
372
+ "filePath": "components\\icon.js",
373
+ "slots": [
374
+ "default"
375
+ ],
376
+ "attributes": {
377
+ "name": {
378
+ "type": "string"
379
+ },
380
+ "size": {
381
+ "type": "string"
382
+ }
383
+ },
384
+ "events": [],
385
+ "cssCustomProperties": [],
386
+ "example": "<af-icon></af-icon>",
387
+ "securityNotes": "Sanitizes slot content"
388
+ },
389
+ {
390
+ "tagName": "af-input",
391
+ "className": "AfriInput",
392
+ "filePath": "components\\input.js",
393
+ "slots": [
394
+ "default"
395
+ ],
396
+ "attributes": {
397
+ "type": {
398
+ "type": "string"
399
+ },
400
+ "name": {
401
+ "type": "string"
402
+ },
403
+ "label": {
404
+ "type": "string"
405
+ },
406
+ "placeholder": {
407
+ "type": "string"
408
+ },
409
+ "error": {
410
+ "type": "string"
411
+ },
412
+ "helper": {
413
+ "type": "string"
414
+ },
415
+ "theme": {
416
+ "type": "string"
417
+ },
418
+ "icon": {
419
+ "type": "string"
420
+ },
421
+ "required": {
422
+ "type": "string"
423
+ },
424
+ "aria-label": {
425
+ "type": "string"
426
+ },
427
+ "aria-describedby": {
428
+ "type": "string"
429
+ },
430
+ "validation": {
431
+ "type": "string"
432
+ }
433
+ },
434
+ "events": [],
435
+ "cssCustomProperties": [],
436
+ "example": "<af-input></af-input>",
437
+ "securityNotes": "Sanitizes slot content"
438
+ },
439
+ {
440
+ "tagName": "af-kanga-card",
441
+ "className": "KangaCard",
442
+ "filePath": "components\\kanga-card.js",
443
+ "slots": [
444
+ "default"
445
+ ],
446
+ "attributes": {
447
+ "theme": {
448
+ "type": "string"
449
+ },
450
+ "proverb": {
451
+ "type": "string"
452
+ },
453
+ "proverb-translation": {
454
+ "type": "string"
455
+ }
456
+ },
457
+ "events": [],
458
+ "cssCustomProperties": [],
459
+ "example": "<af-kanga-card></af-kanga-card>",
460
+ "securityNotes": "Sanitizes slot content"
461
+ },
462
+ {
463
+ "tagName": "af-language-switcher",
464
+ "className": "AfriLanguageSwitcher",
465
+ "filePath": "components\\language-switcher.js",
466
+ "slots": [
467
+ "default"
468
+ ],
469
+ "attributes": {
470
+ "current": {
471
+ "type": "string"
472
+ }
473
+ },
474
+ "events": [],
475
+ "cssCustomProperties": [],
476
+ "example": "<af-language-switcher></af-language-switcher>",
477
+ "securityNotes": "Sanitizes slot content"
478
+ },
479
+ {
480
+ "tagName": "af-loader",
481
+ "className": "AfriLoader",
482
+ "filePath": "components\\loader.js",
483
+ "slots": [
484
+ "default"
485
+ ],
486
+ "attributes": {
487
+ "size": {
488
+ "type": "string"
489
+ },
490
+ "color": {
491
+ "type": "string"
492
+ },
493
+ "type": {
494
+ "type": "string"
495
+ }
496
+ },
497
+ "events": [],
498
+ "cssCustomProperties": [],
499
+ "example": "<af-loader></af-loader>",
500
+ "securityNotes": "Sanitizes slot content"
501
+ },
502
+ {
503
+ "tagName": "af-modal",
504
+ "className": "AfriModal",
505
+ "filePath": "components\\modal.js",
506
+ "slots": [
507
+ "default"
508
+ ],
509
+ "attributes": {
510
+ "open": {
511
+ "type": "string"
512
+ },
513
+ "theme": {
514
+ "type": "string"
515
+ },
516
+ "size": {
517
+ "type": "string"
518
+ },
519
+ "aria-label": {
520
+ "type": "string"
521
+ },
522
+ "aria-labelledby": {
523
+ "type": "string"
524
+ }
525
+ },
526
+ "events": [],
527
+ "cssCustomProperties": [],
528
+ "example": "<af-modal></af-modal>",
529
+ "securityNotes": "Sanitizes slot content"
530
+ },
531
+ {
532
+ "tagName": "af-motion",
533
+ "className": "MotionComponent",
534
+ "filePath": "components\\motion.js",
535
+ "slots": [
536
+ "default"
537
+ ],
538
+ "attributes": {
539
+ "animate": {
540
+ "type": "string"
541
+ },
542
+ "transition": {
543
+ "type": "string"
544
+ }
545
+ },
546
+ "events": [],
547
+ "cssCustomProperties": [],
548
+ "example": "<af-motion></af-motion>",
549
+ "securityNotes": "Sanitizes slot content"
550
+ },
551
+ {
552
+ "tagName": "af-navbar",
553
+ "className": "AfriNavbar",
554
+ "filePath": "components\\navbar.js",
555
+ "slots": [
556
+ "default"
557
+ ],
558
+ "attributes": {
559
+ "theme": {
560
+ "type": "string"
561
+ },
562
+ "logo": {
563
+ "type": "string"
564
+ },
565
+ "sticky": {
566
+ "type": "string"
567
+ }
568
+ },
569
+ "events": [],
570
+ "cssCustomProperties": [],
571
+ "example": "<af-navbar></af-navbar>",
572
+ "securityNotes": "Sanitizes slot content"
573
+ },
574
+ {
575
+ "tagName": "af-pattern-showcase",
576
+ "className": "PatternShowcase",
577
+ "filePath": "components\\pattern-showcase.js",
578
+ "slots": [
579
+ "default"
580
+ ],
581
+ "attributes": {
582
+ "region": {
583
+ "type": "string"
584
+ },
585
+ "size": {
586
+ "type": "string"
587
+ }
588
+ },
589
+ "events": [],
590
+ "cssCustomProperties": [],
591
+ "example": "<af-pattern-showcase></af-pattern-showcase>",
592
+ "securityNotes": "Sanitizes slot content"
593
+ },
594
+ {
595
+ "tagName": "af-progress",
596
+ "className": "AfriProgress",
597
+ "filePath": "components\\progress.js",
598
+ "slots": [
599
+ "default"
600
+ ],
601
+ "attributes": {
602
+ "value": {
603
+ "type": "string"
604
+ },
605
+ "max": {
606
+ "type": "string"
607
+ },
608
+ "theme": {
609
+ "type": "string"
610
+ },
611
+ "size": {
612
+ "type": "string"
613
+ },
614
+ "label": {
615
+ "type": "string"
616
+ },
617
+ "animated": {
618
+ "type": "string"
619
+ }
620
+ },
621
+ "events": [],
622
+ "cssCustomProperties": [],
623
+ "example": "<af-progress></af-progress>",
624
+ "securityNotes": "Sanitizes slot content"
625
+ },
626
+ {
627
+ "tagName": "af-react",
628
+ "className": "AfriReact",
629
+ "filePath": "components\\react.js",
630
+ "slots": [
631
+ "default"
632
+ ],
633
+ "attributes": {
634
+ "component": {
635
+ "type": "string"
636
+ }
637
+ },
638
+ "events": [],
639
+ "cssCustomProperties": [],
640
+ "example": "<af-react></af-react>",
641
+ "securityNotes": "Sanitizes slot content"
642
+ },
643
+ {
644
+ "tagName": "af-section",
645
+ "className": "AfriSection",
646
+ "filePath": "components\\section.js",
647
+ "slots": [
648
+ "default"
649
+ ],
650
+ "attributes": {},
651
+ "events": [],
652
+ "cssCustomProperties": [],
653
+ "example": "<af-section></af-section>",
654
+ "securityNotes": "Sanitizes slot content"
655
+ },
656
+ {
657
+ "tagName": "af-select",
658
+ "className": "AfriSelect",
659
+ "filePath": "components\\select.js",
660
+ "slots": [
661
+ "default"
662
+ ],
663
+ "attributes": {
664
+ "label": {
665
+ "type": "string"
666
+ },
667
+ "placeholder": {
668
+ "type": "string"
669
+ },
670
+ "theme": {
671
+ "type": "string"
672
+ },
673
+ "error": {
674
+ "type": "string"
675
+ },
676
+ "required": {
677
+ "type": "string"
678
+ },
679
+ "aria-label": {
680
+ "type": "string"
681
+ },
682
+ "aria-describedby": {
683
+ "type": "string"
684
+ }
685
+ },
686
+ "events": [],
687
+ "cssCustomProperties": [],
688
+ "example": "<af-select></af-select>",
689
+ "securityNotes": "Sanitizes slot content"
690
+ },
691
+ {
692
+ "tagName": "af-sidebar",
693
+ "className": "AfriSidebar",
694
+ "filePath": "components\\sidebar.js",
695
+ "slots": [
696
+ "default"
697
+ ],
698
+ "attributes": {
699
+ "position": {
700
+ "type": "string"
701
+ }
702
+ },
703
+ "events": [],
704
+ "cssCustomProperties": [],
705
+ "example": "<af-sidebar></af-sidebar>",
706
+ "securityNotes": "Sanitizes slot content"
707
+ },
708
+ {
709
+ "tagName": "af-skeleton",
710
+ "className": "AfriSkeleton",
711
+ "filePath": "components\\skeleton.js",
712
+ "slots": [
713
+ "default"
714
+ ],
715
+ "attributes": {
716
+ "variant": {
717
+ "type": "string"
718
+ },
719
+ "width": {
720
+ "type": "string"
721
+ },
722
+ "height": {
723
+ "type": "string"
724
+ },
725
+ "lines": {
726
+ "type": "string"
727
+ }
728
+ },
729
+ "events": [],
730
+ "cssCustomProperties": [],
731
+ "example": "<af-skeleton></af-skeleton>",
732
+ "securityNotes": "Sanitizes slot content"
733
+ },
734
+ {
735
+ "tagName": "af-table",
736
+ "className": "AfriTable",
737
+ "filePath": "components\\table.js",
738
+ "slots": [
739
+ "default"
740
+ ],
741
+ "attributes": {
742
+ "theme": {
743
+ "type": "string"
744
+ },
745
+ "striped": {
746
+ "type": "string"
747
+ },
748
+ "hoverable": {
749
+ "type": "string"
750
+ }
751
+ },
752
+ "events": [],
753
+ "cssCustomProperties": [],
754
+ "example": "<af-table></af-table>",
755
+ "securityNotes": "Sanitizes slot content"
756
+ },
757
+ {
758
+ "tagName": "af-tabs",
759
+ "className": "AfriTabs",
760
+ "filePath": "components\\tabs.js",
761
+ "slots": [
762
+ "default"
763
+ ],
764
+ "attributes": {
765
+ "theme": {
766
+ "type": "string"
767
+ }
768
+ },
769
+ "events": [],
770
+ "cssCustomProperties": [],
771
+ "example": "<af-tabs></af-tabs>",
772
+ "securityNotes": "Sanitizes slot content"
773
+ },
774
+ {
775
+ "tagName": "af-theme-toggle",
776
+ "className": "Theme-toggleComponent",
777
+ "filePath": "components\\theme-toggle.js",
778
+ "slots": [
779
+ "default"
780
+ ],
781
+ "attributes": {},
782
+ "events": [],
783
+ "cssCustomProperties": [],
784
+ "example": "<af-theme-toggle></af-theme-toggle>",
785
+ "securityNotes": "Sanitizes slot content"
786
+ },
787
+ {
788
+ "tagName": "af-toast",
789
+ "className": "AfriToast",
790
+ "filePath": "components\\toast.js",
791
+ "slots": [
792
+ "default"
793
+ ],
794
+ "attributes": {
795
+ "type": {
796
+ "type": "string"
797
+ },
798
+ "message": {
799
+ "type": "string"
800
+ },
801
+ "duration": {
802
+ "type": "string"
803
+ }
804
+ },
805
+ "events": [],
806
+ "cssCustomProperties": [],
807
+ "example": "<af-toast></af-toast>",
808
+ "securityNotes": "Sanitizes slot content"
809
+ },
810
+ {
811
+ "tagName": "af-tooltip",
812
+ "className": "AfriTooltip",
813
+ "filePath": "components\\tooltip.js",
814
+ "slots": [
815
+ "default"
816
+ ],
817
+ "attributes": {
818
+ "text": {
819
+ "type": "string"
820
+ },
821
+ "position": {
822
+ "type": "string"
823
+ }
824
+ },
825
+ "events": [],
826
+ "cssCustomProperties": [],
827
+ "example": "<af-tooltip></af-tooltip>",
828
+ "securityNotes": "Sanitizes slot content"
829
+ }
830
+ ],
831
+ "forbiddenPatterns": [
832
+ "eval()",
833
+ "innerHTML = userInput",
834
+ "fetch without CORS headers",
835
+ "localStorage for sensitive data"
836
+ ]
837
+ }