@krizaka/ui 3.19.0 → 3.20.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.
Files changed (174) hide show
  1. package/dist/avatar/defaults.js +6 -1
  2. package/dist/avatar/defaults.js.map +1 -1
  3. package/dist/avatar.js +6 -1
  4. package/dist/avatar.js.map +1 -1
  5. package/dist/chat.js +1 -1
  6. package/dist/{chunk-276PTQMQ.js → chunk-3BC4XQ6C.js} +2 -1
  7. package/dist/{chunk-YIBKJ36L.js → chunk-KB7OLYIJ.js} +7 -2
  8. package/dist/{chunk-YIBKJ36L.js.map → chunk-KB7OLYIJ.js.map} +1 -1
  9. package/dist/data-table.js +1 -1
  10. package/dist/file-upload.js +2 -2
  11. package/dist/file-upload.js.map +1 -1
  12. package/dist/match-dialog.js +2 -2
  13. package/dist/media-grid.d.ts +66 -3
  14. package/dist/media-grid.js +312 -65
  15. package/dist/media-grid.js.map +1 -1
  16. package/dist/native.js +6 -1
  17. package/dist/native.js.map +1 -1
  18. package/dist/progress.js +2 -2
  19. package/dist/progress.js.map +1 -1
  20. package/dist/vertical-video.d.ts +7 -1
  21. package/dist/vertical-video.js +7 -5
  22. package/dist/vertical-video.js.map +1 -1
  23. package/package.json +6 -6
  24. package/registry/achievement.json +16 -2
  25. package/registry/action-bar.json +16 -2
  26. package/registry/action-sheet.json +15 -0
  27. package/registry/activity-feed.json +13 -2
  28. package/registry/alert.json +15 -2
  29. package/registry/app-shell.json +15 -2
  30. package/registry/argument-card.json +16 -2
  31. package/registry/audio-player.json +15 -2
  32. package/registry/auth-layout.json +15 -2
  33. package/registry/avatar.json +14 -3
  34. package/registry/badge.json +13 -2
  35. package/registry/button.json +13 -2
  36. package/registry/card-grid.json +16 -2
  37. package/registry/card.json +13 -2
  38. package/registry/catalogue-page.json +15 -2
  39. package/registry/changelog-page.json +15 -2
  40. package/registry/chat.json +15 -4
  41. package/registry/checkbox.json +13 -2
  42. package/registry/chip-link.json +15 -2
  43. package/registry/chip.json +13 -2
  44. package/registry/choice-grid.json +16 -2
  45. package/registry/cn.json +12 -0
  46. package/registry/code-block.json +15 -2
  47. package/registry/combobox.json +13 -2
  48. package/registry/command.json +15 -2
  49. package/registry/component-page.json +15 -2
  50. package/registry/confirm-button.json +15 -2
  51. package/registry/contact-page.json +15 -2
  52. package/registry/continue-prompt.json +16 -2
  53. package/registry/countdown.json +13 -2
  54. package/registry/cta-panel.json +16 -2
  55. package/registry/dashboard-layout.json +15 -2
  56. package/registry/data-table.json +15 -2
  57. package/registry/date-picker.json +13 -2
  58. package/registry/decision-list.json +16 -2
  59. package/registry/description-list.json +13 -2
  60. package/registry/detail-layout.json +15 -2
  61. package/registry/dialog.json +13 -2
  62. package/registry/docs-article-page.json +15 -2
  63. package/registry/docs-hub-page.json +15 -2
  64. package/registry/docs-layout.json +15 -2
  65. package/registry/document-viewer.json +15 -2
  66. package/registry/dropdown-menu.json +15 -2
  67. package/registry/empty-state.json +13 -2
  68. package/registry/error-page.json +14 -2
  69. package/registry/examples/chat/conversation.js +2 -2
  70. package/registry/examples/chat/conversation.tsx +4 -3
  71. package/registry/examples/glow-card/plans.js +9 -12
  72. package/registry/examples/glow-card/plans.tsx +18 -14
  73. package/registry/examples/media-grid/loading.d.ts +4 -0
  74. package/registry/examples/media-grid/loading.js +28 -0
  75. package/registry/examples/media-grid/loading.tsx +25 -0
  76. package/registry/examples/vertical-video/rail.js +3 -2
  77. package/registry/examples/vertical-video/rail.tsx +4 -3
  78. package/registry/fab.json +15 -0
  79. package/registry/field.json +13 -2
  80. package/registry/file-upload.json +15 -2
  81. package/registry/filter-bar.json +15 -2
  82. package/registry/form.json +13 -2
  83. package/registry/gallery-page.json +15 -2
  84. package/registry/glow-card.json +18 -4
  85. package/registry/goal-gauge.json +13 -2
  86. package/registry/header.json +15 -0
  87. package/registry/how-it-works-page.json +15 -2
  88. package/registry/image-cropper.json +15 -2
  89. package/registry/image-viewer.json +15 -0
  90. package/registry/index.json +1771 -8
  91. package/registry/iso.json +15 -2
  92. package/registry/kanban.json +15 -2
  93. package/registry/kbd.json +14 -2
  94. package/registry/landing-page.json +15 -2
  95. package/registry/landscape.json +15 -2
  96. package/registry/legal-page.json +15 -2
  97. package/registry/link-card.json +16 -2
  98. package/registry/list.json +13 -2
  99. package/registry/loader.json +13 -2
  100. package/registry/longform-page.json +15 -2
  101. package/registry/map.json +14 -3
  102. package/registry/markdown.json +13 -2
  103. package/registry/marketing-layout.json +15 -2
  104. package/registry/marquee.json +15 -2
  105. package/registry/mascot-quote.json +16 -2
  106. package/registry/mascot-state.json +13 -2
  107. package/registry/mascots.json +13 -2
  108. package/registry/match-dialog.json +13 -2
  109. package/registry/media-capture.json +13 -2
  110. package/registry/media-grid.json +341 -13
  111. package/registry/media-picker.json +15 -0
  112. package/registry/meter.json +13 -2
  113. package/registry/nav-bar.json +17 -3
  114. package/registry/number-ticker.json +13 -2
  115. package/registry/onboarding.json +15 -0
  116. package/registry/otp-input.json +15 -0
  117. package/registry/page-header.json +15 -2
  118. package/registry/page-hero.json +16 -2
  119. package/registry/page.json +16 -2
  120. package/registry/pagination.json +13 -2
  121. package/registry/permission-prompt.json +15 -0
  122. package/registry/photo-grid.json +13 -2
  123. package/registry/pointer-light.json +15 -2
  124. package/registry/popover.json +15 -2
  125. package/registry/pricing-page.json +15 -2
  126. package/registry/product-page.json +15 -2
  127. package/registry/profile-card.json +13 -2
  128. package/registry/progress.json +14 -3
  129. package/registry/promise-card.json +16 -2
  130. package/registry/pull-to-refresh.json +15 -0
  131. package/registry/radio-group.json +13 -2
  132. package/registry/recipes.json +14 -2
  133. package/registry/screen.json +15 -0
  134. package/registry/scroll-stage.json +15 -2
  135. package/registry/search-field.json +13 -2
  136. package/registry/section-backdrop.json +15 -2
  137. package/registry/segmented.json +15 -0
  138. package/registry/separator.json +15 -2
  139. package/registry/settings-layout.json +15 -2
  140. package/registry/showcase.json +13 -2
  141. package/registry/site-footer.json +16 -3
  142. package/registry/sites.json +15 -2
  143. package/registry/skeleton.json +13 -2
  144. package/registry/skip-link.json +14 -2
  145. package/registry/slider.json +13 -2
  146. package/registry/slot.json +14 -2
  147. package/registry/spinner.json +13 -2
  148. package/registry/splash-handoff.json +15 -0
  149. package/registry/split-view.json +15 -2
  150. package/registry/stage-banner.json +15 -2
  151. package/registry/stat.json +15 -2
  152. package/registry/status-page.json +15 -2
  153. package/registry/step-progress.json +13 -2
  154. package/registry/stepper.json +13 -2
  155. package/registry/swipe-deck.json +13 -2
  156. package/registry/swipeable-row.json +15 -0
  157. package/registry/switch.json +13 -2
  158. package/registry/tab-bar.json +15 -0
  159. package/registry/tabs.json +13 -2
  160. package/registry/tag-input.json +15 -2
  161. package/registry/tag-selector.json +13 -2
  162. package/registry/terminal-replay.json +15 -2
  163. package/registry/theme.json +13 -2
  164. package/registry/toast.json +13 -2
  165. package/registry/toc.json +15 -2
  166. package/registry/tooltip.json +14 -2
  167. package/registry/tree-view.json +15 -2
  168. package/registry/txt.json +13 -0
  169. package/registry/verified-badge.json +13 -2
  170. package/registry/vertical-video.json +32 -6
  171. package/registry/video-player.json +13 -2
  172. package/registry/video-trimmer.json +15 -2
  173. package/registry/virtual.json +15 -2
  174. /package/dist/{chunk-276PTQMQ.js.map → chunk-3BC4XQ6C.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@krizaka/ui",
3
- "version": "3.19.0",
3
+ "version": "3.20.0",
4
4
  "templatePurposes": {
5
5
  "convince": {
6
6
  "title": "Convince",
@@ -430,6 +430,20 @@
430
430
  "status": "beta",
431
431
  "category": "data-display",
432
432
  "platforms": "web",
433
+ "parity": {
434
+ "web": {
435
+ "state": "yes"
436
+ },
437
+ "native": {
438
+ "state": "n/a",
439
+ "reason": "Part of the storytelling kit of scroll-driven site pages; a phone app tells its first steps with Onboarding.",
440
+ "use": "mascot-state"
441
+ },
442
+ "desktop": {
443
+ "state": "n/a",
444
+ "reason": "A public site's page, not a window of the Mac app."
445
+ }
446
+ },
433
447
  "examples": {
434
448
  "web": 2,
435
449
  "native": 0
@@ -448,6 +462,20 @@
448
462
  "status": "beta",
449
463
  "category": "blocks",
450
464
  "platforms": "web",
465
+ "parity": {
466
+ "web": {
467
+ "state": "yes"
468
+ },
469
+ "native": {
470
+ "state": "n/a",
471
+ "reason": "A block of a public site's page; an app screen on a phone is built from Screen, Header and Card.",
472
+ "use": "button"
473
+ },
474
+ "desktop": {
475
+ "state": "n/a",
476
+ "reason": "A public site's page, not a window of the Mac app."
477
+ }
478
+ },
451
479
  "examples": {
452
480
  "web": 2,
453
481
  "native": 0
@@ -467,6 +495,21 @@
467
495
  "status": "beta",
468
496
  "category": "overlays",
469
497
  "platforms": "native",
498
+ "parity": {
499
+ "web": {
500
+ "state": "n/a",
501
+ "reason": "The web opens a menu next to its trigger.",
502
+ "use": "dropdown-menu"
503
+ },
504
+ "native": {
505
+ "state": "yes"
506
+ },
507
+ "desktop": {
508
+ "state": "n/a",
509
+ "reason": "The Mac app opens a menu next to its trigger.",
510
+ "use": "dropdown-menu"
511
+ }
512
+ },
470
513
  "examples": {
471
514
  "web": 0,
472
515
  "native": 1
@@ -483,6 +526,17 @@
483
526
  "status": "beta",
484
527
  "category": "data-display",
485
528
  "platforms": "both",
529
+ "parity": {
530
+ "web": {
531
+ "state": "yes"
532
+ },
533
+ "native": {
534
+ "state": "yes"
535
+ },
536
+ "desktop": {
537
+ "state": "yes"
538
+ }
539
+ },
486
540
  "examples": {
487
541
  "web": 3,
488
542
  "native": 1
@@ -501,6 +555,19 @@
501
555
  "status": "stable",
502
556
  "category": "feedback",
503
557
  "platforms": "web",
558
+ "parity": {
559
+ "web": {
560
+ "state": "yes"
561
+ },
562
+ "native": {
563
+ "state": "gap",
564
+ "reason": "An inline message above a form or a list; the apps use an empty state or a toast instead today.",
565
+ "issue": "krizaka/krizaka-ui#275"
566
+ },
567
+ "desktop": {
568
+ "state": "yes"
569
+ }
570
+ },
504
571
  "examples": {
505
572
  "web": 5,
506
573
  "native": 0
@@ -519,6 +586,19 @@
519
586
  "status": "beta",
520
587
  "category": "layouts",
521
588
  "platforms": "web",
589
+ "parity": {
590
+ "web": {
591
+ "state": "yes"
592
+ },
593
+ "native": {
594
+ "state": "n/a",
595
+ "reason": "On a phone the app shell is a tab bar, a header and a screen.",
596
+ "use": "tab-bar"
597
+ },
598
+ "desktop": {
599
+ "state": "yes"
600
+ }
601
+ },
522
602
  "examples": {
523
603
  "web": 4,
524
604
  "native": 0
@@ -542,6 +622,20 @@
542
622
  "status": "beta",
543
623
  "category": "blocks",
544
624
  "platforms": "web",
625
+ "parity": {
626
+ "web": {
627
+ "state": "yes"
628
+ },
629
+ "native": {
630
+ "state": "n/a",
631
+ "reason": "A block of a public site's page; an app screen on a phone is built from Screen, Header and Card.",
632
+ "use": "card"
633
+ },
634
+ "desktop": {
635
+ "state": "n/a",
636
+ "reason": "A public site's page, not a window of the Mac app."
637
+ }
638
+ },
545
639
  "examples": {
546
640
  "web": 3,
547
641
  "native": 0
@@ -561,6 +655,19 @@
561
655
  "status": "beta",
562
656
  "category": "media",
563
657
  "platforms": "web",
658
+ "parity": {
659
+ "web": {
660
+ "state": "yes"
661
+ },
662
+ "native": {
663
+ "state": "gap",
664
+ "reason": "Needs an Expo audio module as an optional peer; Yororis' voice moments will need it.",
665
+ "issue": "krizaka/krizaka-ui#278"
666
+ },
667
+ "desktop": {
668
+ "state": "yes"
669
+ }
670
+ },
564
671
  "examples": {
565
672
  "web": 2,
566
673
  "native": 0
@@ -579,6 +686,19 @@
579
686
  "status": "beta",
580
687
  "category": "layouts",
581
688
  "platforms": "web",
689
+ "parity": {
690
+ "web": {
691
+ "state": "yes"
692
+ },
693
+ "native": {
694
+ "state": "gap",
695
+ "reason": "orazaka-mobile-client hand-rolls it (src/ui/AuthShell.tsx).",
696
+ "issue": "krizaka/krizaka-ui#275"
697
+ },
698
+ "desktop": {
699
+ "state": "yes"
700
+ }
701
+ },
582
702
  "examples": {
583
703
  "web": 3,
584
704
  "native": 0
@@ -599,6 +719,17 @@
599
719
  "status": "stable",
600
720
  "category": "data-display",
601
721
  "platforms": "both",
722
+ "parity": {
723
+ "web": {
724
+ "state": "yes"
725
+ },
726
+ "native": {
727
+ "state": "yes"
728
+ },
729
+ "desktop": {
730
+ "state": "yes"
731
+ }
732
+ },
602
733
  "examples": {
603
734
  "web": 5,
604
735
  "native": 3
@@ -618,6 +749,17 @@
618
749
  "status": "stable",
619
750
  "category": "data-display",
620
751
  "platforms": "both",
752
+ "parity": {
753
+ "web": {
754
+ "state": "yes"
755
+ },
756
+ "native": {
757
+ "state": "yes"
758
+ },
759
+ "desktop": {
760
+ "state": "yes"
761
+ }
762
+ },
621
763
  "examples": {
622
764
  "web": 7,
623
765
  "native": 3
@@ -638,6 +780,17 @@
638
780
  "status": "stable",
639
781
  "category": "actions",
640
782
  "platforms": "both",
783
+ "parity": {
784
+ "web": {
785
+ "state": "yes"
786
+ },
787
+ "native": {
788
+ "state": "yes"
789
+ },
790
+ "desktop": {
791
+ "state": "yes"
792
+ }
793
+ },
641
794
  "examples": {
642
795
  "web": 16,
643
796
  "native": 11
@@ -660,6 +813,17 @@
660
813
  "status": "stable",
661
814
  "category": "layout",
662
815
  "platforms": "both",
816
+ "parity": {
817
+ "web": {
818
+ "state": "yes"
819
+ },
820
+ "native": {
821
+ "state": "yes"
822
+ },
823
+ "desktop": {
824
+ "state": "yes"
825
+ }
826
+ },
663
827
  "examples": {
664
828
  "web": 5,
665
829
  "native": 4
@@ -682,6 +846,20 @@
682
846
  "status": "beta",
683
847
  "category": "blocks",
684
848
  "platforms": "web",
849
+ "parity": {
850
+ "web": {
851
+ "state": "yes"
852
+ },
853
+ "native": {
854
+ "state": "n/a",
855
+ "reason": "A block of a public site's page; an app screen on a phone is built from Screen, Header and Card.",
856
+ "use": "card"
857
+ },
858
+ "desktop": {
859
+ "state": "n/a",
860
+ "reason": "A public site's page, not a window of the Mac app."
861
+ }
862
+ },
685
863
  "examples": {
686
864
  "web": 4,
687
865
  "native": 0
@@ -701,6 +879,19 @@
701
879
  "status": "beta",
702
880
  "category": "templates",
703
881
  "platforms": "web",
882
+ "parity": {
883
+ "web": {
884
+ "state": "yes"
885
+ },
886
+ "native": {
887
+ "state": "n/a",
888
+ "reason": "A whole page of a public site; a phone app's screens are built from Screen, Header and the native primitives."
889
+ },
890
+ "desktop": {
891
+ "state": "n/a",
892
+ "reason": "A public site's page, not a window of the Mac app."
893
+ }
894
+ },
704
895
  "examples": {
705
896
  "web": 1,
706
897
  "native": 0
@@ -720,6 +911,19 @@
720
911
  "status": "beta",
721
912
  "category": "templates",
722
913
  "platforms": "web",
914
+ "parity": {
915
+ "web": {
916
+ "state": "yes"
917
+ },
918
+ "native": {
919
+ "state": "n/a",
920
+ "reason": "A whole page of a public site; a phone app's screens are built from Screen, Header and the native primitives."
921
+ },
922
+ "desktop": {
923
+ "state": "n/a",
924
+ "reason": "A public site's page, not a window of the Mac app."
925
+ }
926
+ },
723
927
  "examples": {
724
928
  "web": 1,
725
929
  "native": 0
@@ -739,6 +943,17 @@
739
943
  "status": "beta",
740
944
  "category": "data-display",
741
945
  "platforms": "both",
946
+ "parity": {
947
+ "web": {
948
+ "state": "yes"
949
+ },
950
+ "native": {
951
+ "state": "yes"
952
+ },
953
+ "desktop": {
954
+ "state": "yes"
955
+ }
956
+ },
742
957
  "examples": {
743
958
  "web": 3,
744
959
  "native": 2
@@ -759,6 +974,17 @@
759
974
  "status": "beta",
760
975
  "category": "forms",
761
976
  "platforms": "both",
977
+ "parity": {
978
+ "web": {
979
+ "state": "yes"
980
+ },
981
+ "native": {
982
+ "state": "yes"
983
+ },
984
+ "desktop": {
985
+ "state": "yes"
986
+ }
987
+ },
762
988
  "examples": {
763
989
  "web": 5,
764
990
  "native": 1
@@ -778,6 +1004,17 @@
778
1004
  "status": "beta",
779
1005
  "category": "forms",
780
1006
  "platforms": "both",
1007
+ "parity": {
1008
+ "web": {
1009
+ "state": "yes"
1010
+ },
1011
+ "native": {
1012
+ "state": "yes"
1013
+ },
1014
+ "desktop": {
1015
+ "state": "yes"
1016
+ }
1017
+ },
781
1018
  "examples": {
782
1019
  "web": 5,
783
1020
  "native": 4
@@ -799,6 +1036,19 @@
799
1036
  "status": "beta",
800
1037
  "category": "navigation",
801
1038
  "platforms": "web",
1039
+ "parity": {
1040
+ "web": {
1041
+ "state": "yes"
1042
+ },
1043
+ "native": {
1044
+ "state": "n/a",
1045
+ "reason": "A block of a public site's page; an app screen on a phone is built from Screen, Header and Card.",
1046
+ "use": "chip"
1047
+ },
1048
+ "desktop": {
1049
+ "state": "yes"
1050
+ }
1051
+ },
802
1052
  "examples": {
803
1053
  "web": 1,
804
1054
  "native": 0
@@ -818,6 +1068,20 @@
818
1068
  "status": "beta",
819
1069
  "category": "forms",
820
1070
  "platforms": "web",
1071
+ "parity": {
1072
+ "web": {
1073
+ "state": "yes"
1074
+ },
1075
+ "native": {
1076
+ "state": "n/a",
1077
+ "reason": "Part of the storytelling kit of scroll-driven site pages; a phone app tells its first steps with Onboarding.",
1078
+ "use": "radio-group"
1079
+ },
1080
+ "desktop": {
1081
+ "state": "n/a",
1082
+ "reason": "A public site's page, not a window of the Mac app."
1083
+ }
1084
+ },
821
1085
  "examples": {
822
1086
  "web": 2,
823
1087
  "native": 0
@@ -836,6 +1100,18 @@
836
1100
  "status": "stable",
837
1101
  "category": "foundations",
838
1102
  "platforms": "web",
1103
+ "parity": {
1104
+ "web": {
1105
+ "state": "yes"
1106
+ },
1107
+ "native": {
1108
+ "state": "n/a",
1109
+ "reason": "Class names are the web's styling; React Native styles with StyleSheet and the theme's roles."
1110
+ },
1111
+ "desktop": {
1112
+ "state": "yes"
1113
+ }
1114
+ },
839
1115
  "examples": {
840
1116
  "web": 1,
841
1117
  "native": 0
@@ -855,6 +1131,19 @@
855
1131
  "status": "beta",
856
1132
  "category": "blocks",
857
1133
  "platforms": "web",
1134
+ "parity": {
1135
+ "web": {
1136
+ "state": "yes"
1137
+ },
1138
+ "native": {
1139
+ "state": "n/a",
1140
+ "reason": "Code on a phone is read inside an answer: the native Markdown renders its code blocks.",
1141
+ "use": "markdown"
1142
+ },
1143
+ "desktop": {
1144
+ "state": "yes"
1145
+ }
1146
+ },
858
1147
  "examples": {
859
1148
  "web": 3,
860
1149
  "native": 0
@@ -876,6 +1165,17 @@
876
1165
  "status": "beta",
877
1166
  "category": "forms",
878
1167
  "platforms": "both",
1168
+ "parity": {
1169
+ "web": {
1170
+ "state": "yes"
1171
+ },
1172
+ "native": {
1173
+ "state": "yes"
1174
+ },
1175
+ "desktop": {
1176
+ "state": "yes"
1177
+ }
1178
+ },
879
1179
  "examples": {
880
1180
  "web": 4,
881
1181
  "native": 2
@@ -897,6 +1197,19 @@
897
1197
  "status": "beta",
898
1198
  "category": "navigation",
899
1199
  "platforms": "web",
1200
+ "parity": {
1201
+ "web": {
1202
+ "state": "yes"
1203
+ },
1204
+ "native": {
1205
+ "state": "n/a",
1206
+ "reason": "A command palette is a keyboard tool; a phone searches.",
1207
+ "use": "search-field"
1208
+ },
1209
+ "desktop": {
1210
+ "state": "yes"
1211
+ }
1212
+ },
900
1213
  "examples": {
901
1214
  "web": 3,
902
1215
  "native": 0
@@ -920,6 +1233,19 @@
920
1233
  "status": "beta",
921
1234
  "category": "templates",
922
1235
  "platforms": "web",
1236
+ "parity": {
1237
+ "web": {
1238
+ "state": "yes"
1239
+ },
1240
+ "native": {
1241
+ "state": "n/a",
1242
+ "reason": "A whole page of a public site; a phone app's screens are built from Screen, Header and the native primitives."
1243
+ },
1244
+ "desktop": {
1245
+ "state": "n/a",
1246
+ "reason": "A public site's page, not a window of the Mac app."
1247
+ }
1248
+ },
923
1249
  "examples": {
924
1250
  "web": 1,
925
1251
  "native": 0
@@ -940,6 +1266,19 @@
940
1266
  "status": "beta",
941
1267
  "category": "actions",
942
1268
  "platforms": "web",
1269
+ "parity": {
1270
+ "web": {
1271
+ "state": "yes"
1272
+ },
1273
+ "native": {
1274
+ "state": "gap",
1275
+ "reason": "A destructive action confirmed in place: no phone screen needs it yet beyond SwipeableRow.",
1276
+ "issue": "krizaka/krizaka-ui#276"
1277
+ },
1278
+ "desktop": {
1279
+ "state": "yes"
1280
+ }
1281
+ },
943
1282
  "examples": {
944
1283
  "web": 3,
945
1284
  "native": 0
@@ -961,6 +1300,19 @@
961
1300
  "status": "beta",
962
1301
  "category": "templates",
963
1302
  "platforms": "web",
1303
+ "parity": {
1304
+ "web": {
1305
+ "state": "yes"
1306
+ },
1307
+ "native": {
1308
+ "state": "n/a",
1309
+ "reason": "A whole page of a public site; a phone app's screens are built from Screen, Header and the native primitives."
1310
+ },
1311
+ "desktop": {
1312
+ "state": "n/a",
1313
+ "reason": "A public site's page, not a window of the Mac app."
1314
+ }
1315
+ },
964
1316
  "examples": {
965
1317
  "web": 1,
966
1318
  "native": 0
@@ -980,6 +1332,20 @@
980
1332
  "status": "beta",
981
1333
  "category": "actions",
982
1334
  "platforms": "web",
1335
+ "parity": {
1336
+ "web": {
1337
+ "state": "yes"
1338
+ },
1339
+ "native": {
1340
+ "state": "n/a",
1341
+ "reason": "Part of the storytelling kit of scroll-driven site pages; a phone app tells its first steps with Onboarding.",
1342
+ "use": "onboarding"
1343
+ },
1344
+ "desktop": {
1345
+ "state": "n/a",
1346
+ "reason": "A public site's page, not a window of the Mac app."
1347
+ }
1348
+ },
983
1349
  "examples": {
984
1350
  "web": 2,
985
1351
  "native": 0
@@ -999,6 +1365,17 @@
999
1365
  "status": "stable",
1000
1366
  "category": "data-display",
1001
1367
  "platforms": "both",
1368
+ "parity": {
1369
+ "web": {
1370
+ "state": "yes"
1371
+ },
1372
+ "native": {
1373
+ "state": "yes"
1374
+ },
1375
+ "desktop": {
1376
+ "state": "yes"
1377
+ }
1378
+ },
1002
1379
  "examples": {
1003
1380
  "web": 6,
1004
1381
  "native": 5
@@ -1017,6 +1394,20 @@
1017
1394
  "status": "beta",
1018
1395
  "category": "blocks",
1019
1396
  "platforms": "web",
1397
+ "parity": {
1398
+ "web": {
1399
+ "state": "yes"
1400
+ },
1401
+ "native": {
1402
+ "state": "n/a",
1403
+ "reason": "A block of a public site's page; an app screen on a phone is built from Screen, Header and Card.",
1404
+ "use": "button"
1405
+ },
1406
+ "desktop": {
1407
+ "state": "n/a",
1408
+ "reason": "A public site's page, not a window of the Mac app."
1409
+ }
1410
+ },
1020
1411
  "examples": {
1021
1412
  "web": 1,
1022
1413
  "native": 0
@@ -1035,6 +1426,19 @@
1035
1426
  "status": "beta",
1036
1427
  "category": "layouts",
1037
1428
  "platforms": "web",
1429
+ "parity": {
1430
+ "web": {
1431
+ "state": "yes"
1432
+ },
1433
+ "native": {
1434
+ "state": "n/a",
1435
+ "reason": "A phone dashboard is one scrolling screen of cards.",
1436
+ "use": "screen"
1437
+ },
1438
+ "desktop": {
1439
+ "state": "yes"
1440
+ }
1441
+ },
1038
1442
  "examples": {
1039
1443
  "web": 2,
1040
1444
  "native": 0
@@ -1053,6 +1457,19 @@
1053
1457
  "status": "beta",
1054
1458
  "category": "data-display",
1055
1459
  "platforms": "web",
1460
+ "parity": {
1461
+ "web": {
1462
+ "state": "yes"
1463
+ },
1464
+ "native": {
1465
+ "state": "n/a",
1466
+ "reason": "On a phone the rows are a list of cards, each with its fields as a description list — not a table to scroll sideways.",
1467
+ "use": "list"
1468
+ },
1469
+ "desktop": {
1470
+ "state": "yes"
1471
+ }
1472
+ },
1056
1473
  "examples": {
1057
1474
  "web": 15,
1058
1475
  "native": 0
@@ -1082,6 +1499,17 @@
1082
1499
  "status": "beta",
1083
1500
  "category": "forms",
1084
1501
  "platforms": "both",
1502
+ "parity": {
1503
+ "web": {
1504
+ "state": "yes"
1505
+ },
1506
+ "native": {
1507
+ "state": "yes"
1508
+ },
1509
+ "desktop": {
1510
+ "state": "yes"
1511
+ }
1512
+ },
1085
1513
  "examples": {
1086
1514
  "web": 12,
1087
1515
  "native": 7
@@ -1104,6 +1532,20 @@
1104
1532
  "status": "beta",
1105
1533
  "category": "blocks",
1106
1534
  "platforms": "web",
1535
+ "parity": {
1536
+ "web": {
1537
+ "state": "yes"
1538
+ },
1539
+ "native": {
1540
+ "state": "n/a",
1541
+ "reason": "A block of a public site's page; an app screen on a phone is built from Screen, Header and Card.",
1542
+ "use": "description-list"
1543
+ },
1544
+ "desktop": {
1545
+ "state": "n/a",
1546
+ "reason": "A public site's page, not a window of the Mac app."
1547
+ }
1548
+ },
1107
1549
  "examples": {
1108
1550
  "web": 1,
1109
1551
  "native": 0
@@ -1122,6 +1564,17 @@
1122
1564
  "status": "beta",
1123
1565
  "category": "data-display",
1124
1566
  "platforms": "both",
1567
+ "parity": {
1568
+ "web": {
1569
+ "state": "yes"
1570
+ },
1571
+ "native": {
1572
+ "state": "yes"
1573
+ },
1574
+ "desktop": {
1575
+ "state": "yes"
1576
+ }
1577
+ },
1125
1578
  "examples": {
1126
1579
  "web": 3,
1127
1580
  "native": 1
@@ -1140,6 +1593,19 @@
1140
1593
  "status": "beta",
1141
1594
  "category": "layouts",
1142
1595
  "platforms": "web",
1596
+ "parity": {
1597
+ "web": {
1598
+ "state": "yes"
1599
+ },
1600
+ "native": {
1601
+ "state": "n/a",
1602
+ "reason": "A phone shows one object per screen, under its header.",
1603
+ "use": "screen"
1604
+ },
1605
+ "desktop": {
1606
+ "state": "yes"
1607
+ }
1608
+ },
1143
1609
  "examples": {
1144
1610
  "web": 3,
1145
1611
  "native": 0
@@ -1158,6 +1624,17 @@
1158
1624
  "status": "stable",
1159
1625
  "category": "overlays",
1160
1626
  "platforms": "both",
1627
+ "parity": {
1628
+ "web": {
1629
+ "state": "yes"
1630
+ },
1631
+ "native": {
1632
+ "state": "yes"
1633
+ },
1634
+ "desktop": {
1635
+ "state": "yes"
1636
+ }
1637
+ },
1161
1638
  "examples": {
1162
1639
  "web": 7,
1163
1640
  "native": 1
@@ -1179,6 +1656,19 @@
1179
1656
  "status": "beta",
1180
1657
  "category": "templates",
1181
1658
  "platforms": "web",
1659
+ "parity": {
1660
+ "web": {
1661
+ "state": "yes"
1662
+ },
1663
+ "native": {
1664
+ "state": "n/a",
1665
+ "reason": "A whole page of a public site; a phone app's screens are built from Screen, Header and the native primitives."
1666
+ },
1667
+ "desktop": {
1668
+ "state": "n/a",
1669
+ "reason": "A public site's page, not a window of the Mac app."
1670
+ }
1671
+ },
1182
1672
  "examples": {
1183
1673
  "web": 2,
1184
1674
  "native": 0
@@ -1200,6 +1690,19 @@
1200
1690
  "status": "beta",
1201
1691
  "category": "templates",
1202
1692
  "platforms": "web",
1693
+ "parity": {
1694
+ "web": {
1695
+ "state": "yes"
1696
+ },
1697
+ "native": {
1698
+ "state": "n/a",
1699
+ "reason": "A whole page of a public site; a phone app's screens are built from Screen, Header and the native primitives."
1700
+ },
1701
+ "desktop": {
1702
+ "state": "n/a",
1703
+ "reason": "A public site's page, not a window of the Mac app."
1704
+ }
1705
+ },
1203
1706
  "examples": {
1204
1707
  "web": 1,
1205
1708
  "native": 0
@@ -1220,6 +1723,19 @@
1220
1723
  "status": "beta",
1221
1724
  "category": "layouts",
1222
1725
  "platforms": "web",
1726
+ "parity": {
1727
+ "web": {
1728
+ "state": "yes"
1729
+ },
1730
+ "native": {
1731
+ "state": "n/a",
1732
+ "reason": "Documentation is read on the sites, not inside an app."
1733
+ },
1734
+ "desktop": {
1735
+ "state": "n/a",
1736
+ "reason": "A public site's page, not a window of the Mac app."
1737
+ }
1738
+ },
1223
1739
  "examples": {
1224
1740
  "web": 1,
1225
1741
  "native": 0
@@ -1238,6 +1754,19 @@
1238
1754
  "status": "beta",
1239
1755
  "category": "media",
1240
1756
  "platforms": "web",
1757
+ "parity": {
1758
+ "web": {
1759
+ "state": "yes"
1760
+ },
1761
+ "native": {
1762
+ "state": "gap",
1763
+ "reason": "Needs a PDF module; Yomizaka has no phone app yet.",
1764
+ "issue": "krizaka/krizaka-ui#278"
1765
+ },
1766
+ "desktop": {
1767
+ "state": "yes"
1768
+ }
1769
+ },
1241
1770
  "examples": {
1242
1771
  "web": 1,
1243
1772
  "native": 0
@@ -1256,6 +1785,19 @@
1256
1785
  "status": "stable",
1257
1786
  "category": "overlays",
1258
1787
  "platforms": "web",
1788
+ "parity": {
1789
+ "web": {
1790
+ "state": "yes"
1791
+ },
1792
+ "native": {
1793
+ "state": "n/a",
1794
+ "reason": "A phone's menu of actions rises from the bottom.",
1795
+ "use": "action-sheet"
1796
+ },
1797
+ "desktop": {
1798
+ "state": "yes"
1799
+ }
1800
+ },
1259
1801
  "examples": {
1260
1802
  "web": 1,
1261
1803
  "native": 0
@@ -1277,6 +1819,17 @@
1277
1819
  "status": "stable",
1278
1820
  "category": "feedback",
1279
1821
  "platforms": "both",
1822
+ "parity": {
1823
+ "web": {
1824
+ "state": "yes"
1825
+ },
1826
+ "native": {
1827
+ "state": "yes"
1828
+ },
1829
+ "desktop": {
1830
+ "state": "yes"
1831
+ }
1832
+ },
1280
1833
  "examples": {
1281
1834
  "web": 4,
1282
1835
  "native": 1
@@ -1295,6 +1848,18 @@
1295
1848
  "status": "beta",
1296
1849
  "category": "templates",
1297
1850
  "platforms": "web",
1851
+ "parity": {
1852
+ "web": {
1853
+ "state": "yes"
1854
+ },
1855
+ "native": {
1856
+ "state": "n/a",
1857
+ "reason": "A whole page of a public site; a phone app's screens are built from Screen, Header and the native primitives."
1858
+ },
1859
+ "desktop": {
1860
+ "state": "yes"
1861
+ }
1862
+ },
1298
1863
  "examples": {
1299
1864
  "web": 1,
1300
1865
  "native": 0
@@ -1313,6 +1878,21 @@
1313
1878
  "status": "beta",
1314
1879
  "category": "actions",
1315
1880
  "platforms": "native",
1881
+ "parity": {
1882
+ "web": {
1883
+ "state": "n/a",
1884
+ "reason": "A floating thumb-zone button is a touch idiom; a web screen puts its main action in the header.",
1885
+ "use": "button"
1886
+ },
1887
+ "native": {
1888
+ "state": "yes"
1889
+ },
1890
+ "desktop": {
1891
+ "state": "n/a",
1892
+ "reason": "The Mac app puts its main action in the toolbar.",
1893
+ "use": "button"
1894
+ }
1895
+ },
1316
1896
  "examples": {
1317
1897
  "web": 0,
1318
1898
  "native": 1
@@ -1329,6 +1909,17 @@
1329
1909
  "status": "stable",
1330
1910
  "category": "forms",
1331
1911
  "platforms": "both",
1912
+ "parity": {
1913
+ "web": {
1914
+ "state": "yes"
1915
+ },
1916
+ "native": {
1917
+ "state": "yes"
1918
+ },
1919
+ "desktop": {
1920
+ "state": "yes"
1921
+ }
1922
+ },
1332
1923
  "examples": {
1333
1924
  "web": 5,
1334
1925
  "native": 2
@@ -1349,6 +1940,19 @@
1349
1940
  "status": "beta",
1350
1941
  "category": "media",
1351
1942
  "platforms": "web",
1943
+ "parity": {
1944
+ "web": {
1945
+ "state": "yes"
1946
+ },
1947
+ "native": {
1948
+ "state": "n/a",
1949
+ "reason": "On a phone files come from the camera roll or the camera.",
1950
+ "use": "media-picker"
1951
+ },
1952
+ "desktop": {
1953
+ "state": "yes"
1954
+ }
1955
+ },
1352
1956
  "examples": {
1353
1957
  "web": 4,
1354
1958
  "native": 0
@@ -1371,6 +1975,19 @@
1371
1975
  "status": "beta",
1372
1976
  "category": "forms",
1373
1977
  "platforms": "web",
1978
+ "parity": {
1979
+ "web": {
1980
+ "state": "yes"
1981
+ },
1982
+ "native": {
1983
+ "state": "gap",
1984
+ "reason": "No phone list screen filters yet; when one does, chips and a sheet.",
1985
+ "issue": "krizaka/krizaka-ui#277"
1986
+ },
1987
+ "desktop": {
1988
+ "state": "yes"
1989
+ }
1990
+ },
1374
1991
  "examples": {
1375
1992
  "web": 3,
1376
1993
  "native": 0
@@ -1393,6 +2010,17 @@
1393
2010
  "status": "beta",
1394
2011
  "category": "forms",
1395
2012
  "platforms": "both",
2013
+ "parity": {
2014
+ "web": {
2015
+ "state": "yes"
2016
+ },
2017
+ "native": {
2018
+ "state": "yes"
2019
+ },
2020
+ "desktop": {
2021
+ "state": "yes"
2022
+ }
2023
+ },
1396
2024
  "examples": {
1397
2025
  "web": 7,
1398
2026
  "native": 6
@@ -1425,6 +2053,19 @@
1425
2053
  "status": "beta",
1426
2054
  "category": "templates",
1427
2055
  "platforms": "web",
2056
+ "parity": {
2057
+ "web": {
2058
+ "state": "yes"
2059
+ },
2060
+ "native": {
2061
+ "state": "n/a",
2062
+ "reason": "A whole page of a public site; a phone app's screens are built from Screen, Header and the native primitives."
2063
+ },
2064
+ "desktop": {
2065
+ "state": "n/a",
2066
+ "reason": "A public site's page, not a window of the Mac app."
2067
+ }
2068
+ },
1428
2069
  "examples": {
1429
2070
  "web": 1,
1430
2071
  "native": 0
@@ -1446,6 +2087,20 @@
1446
2087
  "status": "beta",
1447
2088
  "category": "layout",
1448
2089
  "platforms": "web",
2090
+ "parity": {
2091
+ "web": {
2092
+ "state": "yes"
2093
+ },
2094
+ "native": {
2095
+ "state": "n/a",
2096
+ "reason": "A block of a public site's page; an app screen on a phone is built from Screen, Header and Card.",
2097
+ "use": "card"
2098
+ },
2099
+ "desktop": {
2100
+ "state": "n/a",
2101
+ "reason": "A public site's page, not a window of the Mac app."
2102
+ }
2103
+ },
1449
2104
  "examples": {
1450
2105
  "web": 3,
1451
2106
  "native": 0
@@ -1466,6 +2121,17 @@
1466
2121
  "status": "beta",
1467
2122
  "category": "data-display",
1468
2123
  "platforms": "both",
2124
+ "parity": {
2125
+ "web": {
2126
+ "state": "yes"
2127
+ },
2128
+ "native": {
2129
+ "state": "yes"
2130
+ },
2131
+ "desktop": {
2132
+ "state": "yes"
2133
+ }
2134
+ },
1469
2135
  "examples": {
1470
2136
  "web": 3,
1471
2137
  "native": 1
@@ -1484,6 +2150,21 @@
1484
2150
  "status": "beta",
1485
2151
  "category": "navigation",
1486
2152
  "platforms": "native",
2153
+ "parity": {
2154
+ "web": {
2155
+ "state": "n/a",
2156
+ "reason": "A web screen's title and actions are its page header.",
2157
+ "use": "page-header"
2158
+ },
2159
+ "native": {
2160
+ "state": "yes"
2161
+ },
2162
+ "desktop": {
2163
+ "state": "n/a",
2164
+ "reason": "The Mac app's title bar is the shell's header.",
2165
+ "use": "app-shell"
2166
+ }
2167
+ },
1487
2168
  "examples": {
1488
2169
  "web": 0,
1489
2170
  "native": 1
@@ -1500,6 +2181,19 @@
1500
2181
  "status": "beta",
1501
2182
  "category": "templates",
1502
2183
  "platforms": "web",
2184
+ "parity": {
2185
+ "web": {
2186
+ "state": "yes"
2187
+ },
2188
+ "native": {
2189
+ "state": "n/a",
2190
+ "reason": "A whole page of a public site; a phone app's screens are built from Screen, Header and the native primitives."
2191
+ },
2192
+ "desktop": {
2193
+ "state": "n/a",
2194
+ "reason": "A public site's page, not a window of the Mac app."
2195
+ }
2196
+ },
1503
2197
  "examples": {
1504
2198
  "web": 1,
1505
2199
  "native": 0
@@ -1521,6 +2215,19 @@
1521
2215
  "status": "beta",
1522
2216
  "category": "media",
1523
2217
  "platforms": "web",
2218
+ "parity": {
2219
+ "web": {
2220
+ "state": "yes"
2221
+ },
2222
+ "native": {
2223
+ "state": "gap",
2224
+ "reason": "Avatars and covers are sent uncropped from the phone today.",
2225
+ "issue": "krizaka/krizaka-ui#278"
2226
+ },
2227
+ "desktop": {
2228
+ "state": "yes"
2229
+ }
2230
+ },
1524
2231
  "examples": {
1525
2232
  "web": 3,
1526
2233
  "native": 0
@@ -1541,6 +2248,21 @@
1541
2248
  "status": "beta",
1542
2249
  "category": "media",
1543
2250
  "platforms": "native",
2251
+ "parity": {
2252
+ "web": {
2253
+ "state": "gap",
2254
+ "reason": "The web galleries need a full-screen viewer too.",
2255
+ "issue": "krizaka/krizaka-ui#279"
2256
+ },
2257
+ "native": {
2258
+ "state": "yes"
2259
+ },
2260
+ "desktop": {
2261
+ "state": "gap",
2262
+ "reason": "The Mac app renders the web's viewer once it exists.",
2263
+ "issue": "krizaka/krizaka-ui#279"
2264
+ }
2265
+ },
1544
2266
  "examples": {
1545
2267
  "web": 0,
1546
2268
  "native": 1
@@ -1557,6 +2279,19 @@
1557
2279
  "status": "beta",
1558
2280
  "category": "layout",
1559
2281
  "platforms": "web",
2282
+ "parity": {
2283
+ "web": {
2284
+ "state": "yes"
2285
+ },
2286
+ "native": {
2287
+ "state": "n/a",
2288
+ "reason": "An isometric drawing of a site's hero."
2289
+ },
2290
+ "desktop": {
2291
+ "state": "n/a",
2292
+ "reason": "A public site's page, not a window of the Mac app."
2293
+ }
2294
+ },
1560
2295
  "examples": {
1561
2296
  "web": 4,
1562
2297
  "native": 0
@@ -1573,6 +2308,19 @@
1573
2308
  "status": "beta",
1574
2309
  "category": "data-display",
1575
2310
  "platforms": "web",
2311
+ "parity": {
2312
+ "web": {
2313
+ "state": "yes"
2314
+ },
2315
+ "native": {
2316
+ "state": "n/a",
2317
+ "reason": "A board needs width and dragging between columns; on a phone each column is a tab over a list.",
2318
+ "use": "tabs"
2319
+ },
2320
+ "desktop": {
2321
+ "state": "yes"
2322
+ }
2323
+ },
1576
2324
  "examples": {
1577
2325
  "web": 1,
1578
2326
  "native": 0
@@ -1591,6 +2339,18 @@
1591
2339
  "status": "stable",
1592
2340
  "category": "data-display",
1593
2341
  "platforms": "web",
2342
+ "parity": {
2343
+ "web": {
2344
+ "state": "yes"
2345
+ },
2346
+ "native": {
2347
+ "state": "n/a",
2348
+ "reason": "A phone has no keyboard shortcuts to show."
2349
+ },
2350
+ "desktop": {
2351
+ "state": "yes"
2352
+ }
2353
+ },
1594
2354
  "examples": {
1595
2355
  "web": 3,
1596
2356
  "native": 0
@@ -1609,6 +2369,19 @@
1609
2369
  "status": "beta",
1610
2370
  "category": "templates",
1611
2371
  "platforms": "web",
2372
+ "parity": {
2373
+ "web": {
2374
+ "state": "yes"
2375
+ },
2376
+ "native": {
2377
+ "state": "n/a",
2378
+ "reason": "A whole page of a public site; a phone app's screens are built from Screen, Header and the native primitives."
2379
+ },
2380
+ "desktop": {
2381
+ "state": "n/a",
2382
+ "reason": "A public site's page, not a window of the Mac app."
2383
+ }
2384
+ },
1612
2385
  "examples": {
1613
2386
  "web": 1,
1614
2387
  "native": 0
@@ -1629,6 +2402,19 @@
1629
2402
  "status": "beta",
1630
2403
  "category": "blocks",
1631
2404
  "platforms": "web",
2405
+ "parity": {
2406
+ "web": {
2407
+ "state": "yes"
2408
+ },
2409
+ "native": {
2410
+ "state": "n/a",
2411
+ "reason": "A block of a public site's page; an app screen on a phone is built from Screen, Header and Card."
2412
+ },
2413
+ "desktop": {
2414
+ "state": "n/a",
2415
+ "reason": "A public site's page, not a window of the Mac app."
2416
+ }
2417
+ },
1632
2418
  "examples": {
1633
2419
  "web": 2,
1634
2420
  "native": 0
@@ -1647,6 +2433,19 @@
1647
2433
  "status": "beta",
1648
2434
  "category": "templates",
1649
2435
  "platforms": "web",
2436
+ "parity": {
2437
+ "web": {
2438
+ "state": "yes"
2439
+ },
2440
+ "native": {
2441
+ "state": "n/a",
2442
+ "reason": "A whole page of a public site; a phone app's screens are built from Screen, Header and the native primitives."
2443
+ },
2444
+ "desktop": {
2445
+ "state": "n/a",
2446
+ "reason": "A public site's page, not a window of the Mac app."
2447
+ }
2448
+ },
1650
2449
  "examples": {
1651
2450
  "web": 1,
1652
2451
  "native": 0
@@ -1667,6 +2466,20 @@
1667
2466
  "status": "beta",
1668
2467
  "category": "blocks",
1669
2468
  "platforms": "web",
2469
+ "parity": {
2470
+ "web": {
2471
+ "state": "yes"
2472
+ },
2473
+ "native": {
2474
+ "state": "n/a",
2475
+ "reason": "A block of a public site's page; an app screen on a phone is built from Screen, Header and Card.",
2476
+ "use": "card"
2477
+ },
2478
+ "desktop": {
2479
+ "state": "n/a",
2480
+ "reason": "A public site's page, not a window of the Mac app."
2481
+ }
2482
+ },
1670
2483
  "examples": {
1671
2484
  "web": 3,
1672
2485
  "native": 0
@@ -1685,6 +2498,17 @@
1685
2498
  "status": "beta",
1686
2499
  "category": "data-display",
1687
2500
  "platforms": "both",
2501
+ "parity": {
2502
+ "web": {
2503
+ "state": "yes"
2504
+ },
2505
+ "native": {
2506
+ "state": "yes"
2507
+ },
2508
+ "desktop": {
2509
+ "state": "yes"
2510
+ }
2511
+ },
1688
2512
  "examples": {
1689
2513
  "web": 3,
1690
2514
  "native": 3
@@ -1705,6 +2529,17 @@
1705
2529
  "status": "beta",
1706
2530
  "category": "feedback",
1707
2531
  "platforms": "both",
2532
+ "parity": {
2533
+ "web": {
2534
+ "state": "yes"
2535
+ },
2536
+ "native": {
2537
+ "state": "yes"
2538
+ },
2539
+ "desktop": {
2540
+ "state": "yes"
2541
+ }
2542
+ },
1708
2543
  "examples": {
1709
2544
  "web": 7,
1710
2545
  "native": 3
@@ -1725,6 +2560,19 @@
1725
2560
  "status": "beta",
1726
2561
  "category": "templates",
1727
2562
  "platforms": "web",
2563
+ "parity": {
2564
+ "web": {
2565
+ "state": "yes"
2566
+ },
2567
+ "native": {
2568
+ "state": "n/a",
2569
+ "reason": "A whole page of a public site; a phone app's screens are built from Screen, Header and the native primitives."
2570
+ },
2571
+ "desktop": {
2572
+ "state": "n/a",
2573
+ "reason": "A public site's page, not a window of the Mac app."
2574
+ }
2575
+ },
1728
2576
  "examples": {
1729
2577
  "web": 2,
1730
2578
  "native": 0
@@ -1745,12 +2593,23 @@
1745
2593
  "status": "beta",
1746
2594
  "category": "data-display",
1747
2595
  "platforms": "both",
2596
+ "parity": {
2597
+ "web": {
2598
+ "state": "yes"
2599
+ },
2600
+ "native": {
2601
+ "state": "yes"
2602
+ },
2603
+ "desktop": {
2604
+ "state": "yes"
2605
+ }
2606
+ },
1748
2607
  "examples": {
1749
2608
  "web": 4,
1750
2609
  "native": 2
1751
2610
  },
1752
2611
  "dependencies": [
1753
- "@krizaka/tokens@^3.19.0",
2612
+ "@krizaka/tokens@^3.20.0",
1754
2613
  "@protomaps/basemaps@5.7.2",
1755
2614
  "tailwind-variants@^3.3.1"
1756
2615
  ],
@@ -1767,6 +2626,17 @@
1767
2626
  "status": "beta",
1768
2627
  "category": "data-display",
1769
2628
  "platforms": "both",
2629
+ "parity": {
2630
+ "web": {
2631
+ "state": "yes"
2632
+ },
2633
+ "native": {
2634
+ "state": "yes"
2635
+ },
2636
+ "desktop": {
2637
+ "state": "yes"
2638
+ }
2639
+ },
1770
2640
  "examples": {
1771
2641
  "web": 2,
1772
2642
  "native": 2
@@ -1788,6 +2658,19 @@
1788
2658
  "status": "beta",
1789
2659
  "category": "layouts",
1790
2660
  "platforms": "web",
2661
+ "parity": {
2662
+ "web": {
2663
+ "state": "yes"
2664
+ },
2665
+ "native": {
2666
+ "state": "n/a",
2667
+ "reason": "A whole page of a public site; a phone app's screens are built from Screen, Header and the native primitives."
2668
+ },
2669
+ "desktop": {
2670
+ "state": "n/a",
2671
+ "reason": "A public site's page, not a window of the Mac app."
2672
+ }
2673
+ },
1791
2674
  "examples": {
1792
2675
  "web": 4,
1793
2676
  "native": 0
@@ -1808,6 +2691,19 @@
1808
2691
  "status": "beta",
1809
2692
  "category": "data-display",
1810
2693
  "platforms": "web",
2694
+ "parity": {
2695
+ "web": {
2696
+ "state": "yes"
2697
+ },
2698
+ "native": {
2699
+ "state": "n/a",
2700
+ "reason": "Decorative scrolling logos of a site's page."
2701
+ },
2702
+ "desktop": {
2703
+ "state": "n/a",
2704
+ "reason": "A public site's page, not a window of the Mac app."
2705
+ }
2706
+ },
1811
2707
  "examples": {
1812
2708
  "web": 2,
1813
2709
  "native": 0
@@ -1826,6 +2722,20 @@
1826
2722
  "status": "beta",
1827
2723
  "category": "blocks",
1828
2724
  "platforms": "web",
2725
+ "parity": {
2726
+ "web": {
2727
+ "state": "yes"
2728
+ },
2729
+ "native": {
2730
+ "state": "n/a",
2731
+ "reason": "A bird quoting a rule on a site's page; on a phone the bird carries a state.",
2732
+ "use": "mascot-state"
2733
+ },
2734
+ "desktop": {
2735
+ "state": "n/a",
2736
+ "reason": "A public site's page, not a window of the Mac app."
2737
+ }
2738
+ },
1829
2739
  "examples": {
1830
2740
  "web": 2,
1831
2741
  "native": 0
@@ -1845,6 +2755,17 @@
1845
2755
  "status": "beta",
1846
2756
  "category": "feedback",
1847
2757
  "platforms": "both",
2758
+ "parity": {
2759
+ "web": {
2760
+ "state": "yes"
2761
+ },
2762
+ "native": {
2763
+ "state": "yes"
2764
+ },
2765
+ "desktop": {
2766
+ "state": "yes"
2767
+ }
2768
+ },
1848
2769
  "examples": {
1849
2770
  "web": 5,
1850
2771
  "native": 1
@@ -1865,6 +2786,17 @@
1865
2786
  "status": "beta",
1866
2787
  "category": "feedback",
1867
2788
  "platforms": "both",
2789
+ "parity": {
2790
+ "web": {
2791
+ "state": "yes"
2792
+ },
2793
+ "native": {
2794
+ "state": "yes"
2795
+ },
2796
+ "desktop": {
2797
+ "state": "yes"
2798
+ }
2799
+ },
1868
2800
  "examples": {
1869
2801
  "web": 10,
1870
2802
  "native": 4
@@ -1881,6 +2813,17 @@
1881
2813
  "status": "beta",
1882
2814
  "category": "overlays",
1883
2815
  "platforms": "both",
2816
+ "parity": {
2817
+ "web": {
2818
+ "state": "yes"
2819
+ },
2820
+ "native": {
2821
+ "state": "yes"
2822
+ },
2823
+ "desktop": {
2824
+ "state": "yes"
2825
+ }
2826
+ },
1884
2827
  "examples": {
1885
2828
  "web": 1,
1886
2829
  "native": 1
@@ -1901,6 +2844,17 @@
1901
2844
  "status": "beta",
1902
2845
  "category": "media",
1903
2846
  "platforms": "both",
2847
+ "parity": {
2848
+ "web": {
2849
+ "state": "yes"
2850
+ },
2851
+ "native": {
2852
+ "state": "yes"
2853
+ },
2854
+ "desktop": {
2855
+ "state": "yes"
2856
+ }
2857
+ },
1904
2858
  "examples": {
1905
2859
  "web": 2,
1906
2860
  "native": 1
@@ -1914,20 +2868,36 @@
1914
2868
  "name": "media-grid",
1915
2869
  "type": "primitive",
1916
2870
  "title": "Media grid",
1917
- "summary": "A feed of videos in mixed orientations that never staggers: `MediaGrid` routes the 9:16 clips to a `ShortsShelf` (equal-height cards, snap scroll, arrows, “See all”) and lays the others in a uniform 16:9 grid; `VideoCard` is aspect-aware and gives every card the same body height so rows align.",
1918
- "description": "A feed of videos in mixed orientations that never staggers: `MediaGrid` routes the 9:16 clips to a `ShortsShelf` (equal-height cards, snap scroll, arrows, “See all”) and lays the others in a uniform 16:9 grid; `VideoCard` is aspect-aware and gives every card the same body height so rows align.",
2871
+ "summary": "A feed of videos in mixed orientations that never staggers, with its loading states (`MediaGridSkeleton`, `VideoCardSkeleton`, `LoadMore`): `MediaGrid` routes the 9:16 clips to a `ShortsShelf` (equal-height cards, snap scroll, arrows, “See all”) and lays the others in a uniform 16:9 grid; `VideoCard` is aspect-aware and gives every card the same body height so rows align.",
2872
+ "description": "A feed of videos in mixed orientations that never staggers, with its loading states (`MediaGridSkeleton`, `VideoCardSkeleton`, `LoadMore`): `MediaGrid` routes the 9:16 clips to a `ShortsShelf` (equal-height cards, snap scroll, arrows, “See all”) and lays the others in a uniform 16:9 grid; `VideoCard` is aspect-aware and gives every card the same body height so rows align.",
1919
2873
  "status": "beta",
1920
2874
  "category": "media",
1921
2875
  "platforms": "web",
2876
+ "parity": {
2877
+ "web": {
2878
+ "state": "yes"
2879
+ },
2880
+ "native": {
2881
+ "state": "gap",
2882
+ "reason": "orochia-mobile hand-rolls its tiles and stories rail (Tiles, StoriesRail).",
2883
+ "issue": "krizaka/krizaka-ui#228"
2884
+ },
2885
+ "desktop": {
2886
+ "state": "yes"
2887
+ }
2888
+ },
1922
2889
  "examples": {
1923
- "web": 2,
2890
+ "web": 3,
1924
2891
  "native": 0
1925
2892
  },
1926
2893
  "dependencies": [],
1927
2894
  "registryDependencies": [
1928
2895
  "avatar",
2896
+ "button",
1929
2897
  "card",
1930
- "cn"
2898
+ "cn",
2899
+ "skeleton",
2900
+ "spinner"
1931
2901
  ]
1932
2902
  },
1933
2903
  {
@@ -1939,6 +2909,21 @@
1939
2909
  "status": "beta",
1940
2910
  "category": "media",
1941
2911
  "platforms": "native",
2912
+ "parity": {
2913
+ "web": {
2914
+ "state": "n/a",
2915
+ "reason": "The web picks files with an upload field.",
2916
+ "use": "file-upload"
2917
+ },
2918
+ "native": {
2919
+ "state": "yes"
2920
+ },
2921
+ "desktop": {
2922
+ "state": "n/a",
2923
+ "reason": "The Mac app picks files with the upload field and drag and drop.",
2924
+ "use": "file-upload"
2925
+ }
2926
+ },
1942
2927
  "examples": {
1943
2928
  "web": 0,
1944
2929
  "native": 1
@@ -1955,6 +2940,17 @@
1955
2940
  "status": "beta",
1956
2941
  "category": "data-display",
1957
2942
  "platforms": "both",
2943
+ "parity": {
2944
+ "web": {
2945
+ "state": "yes"
2946
+ },
2947
+ "native": {
2948
+ "state": "yes"
2949
+ },
2950
+ "desktop": {
2951
+ "state": "yes"
2952
+ }
2953
+ },
1958
2954
  "examples": {
1959
2955
  "web": 3,
1960
2956
  "native": 2
@@ -1973,12 +2969,26 @@
1973
2969
  "status": "beta",
1974
2970
  "category": "navigation",
1975
2971
  "platforms": "web",
2972
+ "parity": {
2973
+ "web": {
2974
+ "state": "yes"
2975
+ },
2976
+ "native": {
2977
+ "state": "n/a",
2978
+ "reason": "A site's top bar; an app on a phone navigates with its tab bar.",
2979
+ "use": "tab-bar"
2980
+ },
2981
+ "desktop": {
2982
+ "state": "n/a",
2983
+ "reason": "A public site's page, not a window of the Mac app."
2984
+ }
2985
+ },
1976
2986
  "examples": {
1977
2987
  "web": 8,
1978
2988
  "native": 0
1979
2989
  },
1980
2990
  "dependencies": [
1981
- "@krizaka/tokens@^3.19.0",
2991
+ "@krizaka/tokens@^3.20.0",
1982
2992
  "radix-ui@^1.7.0",
1983
2993
  "tailwind-variants@^3.3.1"
1984
2994
  ],
@@ -1996,6 +3006,17 @@
1996
3006
  "status": "beta",
1997
3007
  "category": "data-display",
1998
3008
  "platforms": "both",
3009
+ "parity": {
3010
+ "web": {
3011
+ "state": "yes"
3012
+ },
3013
+ "native": {
3014
+ "state": "yes"
3015
+ },
3016
+ "desktop": {
3017
+ "state": "yes"
3018
+ }
3019
+ },
1999
3020
  "examples": {
2000
3021
  "web": 3,
2001
3022
  "native": 1
@@ -2012,6 +3033,21 @@
2012
3033
  "status": "beta",
2013
3034
  "category": "layout",
2014
3035
  "platforms": "native",
3036
+ "parity": {
3037
+ "web": {
3038
+ "state": "n/a",
3039
+ "reason": "A web first run is a few steps on one page.",
3040
+ "use": "stepper"
3041
+ },
3042
+ "native": {
3043
+ "state": "yes"
3044
+ },
3045
+ "desktop": {
3046
+ "state": "n/a",
3047
+ "reason": "The Mac app's first run is the install wizard, a stepper.",
3048
+ "use": "stepper"
3049
+ }
3050
+ },
2015
3051
  "examples": {
2016
3052
  "web": 0,
2017
3053
  "native": 1
@@ -2028,6 +3064,21 @@
2028
3064
  "status": "beta",
2029
3065
  "category": "forms",
2030
3066
  "platforms": "native",
3067
+ "parity": {
3068
+ "web": {
3069
+ "state": "gap",
3070
+ "reason": "The web sign-in asks for verification codes too.",
3071
+ "issue": "krizaka/krizaka-ui#279"
3072
+ },
3073
+ "native": {
3074
+ "state": "yes"
3075
+ },
3076
+ "desktop": {
3077
+ "state": "gap",
3078
+ "reason": "The Mac app signs in with the web's form.",
3079
+ "issue": "krizaka/krizaka-ui#279"
3080
+ }
3081
+ },
2031
3082
  "examples": {
2032
3083
  "web": 0,
2033
3084
  "native": 2
@@ -2044,6 +3095,20 @@
2044
3095
  "status": "beta",
2045
3096
  "category": "blocks",
2046
3097
  "platforms": "web",
3098
+ "parity": {
3099
+ "web": {
3100
+ "state": "yes"
3101
+ },
3102
+ "native": {
3103
+ "state": "n/a",
3104
+ "reason": "A block of a public site's page; an app screen on a phone is built from Screen, Header and Card.",
3105
+ "use": "screen"
3106
+ },
3107
+ "desktop": {
3108
+ "state": "n/a",
3109
+ "reason": "A public site's page, not a window of the Mac app."
3110
+ }
3111
+ },
2047
3112
  "examples": {
2048
3113
  "web": 4,
2049
3114
  "native": 0
@@ -2063,6 +3128,19 @@
2063
3128
  "status": "stable",
2064
3129
  "category": "layout",
2065
3130
  "platforms": "web",
3131
+ "parity": {
3132
+ "web": {
3133
+ "state": "yes"
3134
+ },
3135
+ "native": {
3136
+ "state": "n/a",
3137
+ "reason": "A phone screen's title and actions are its header.",
3138
+ "use": "header"
3139
+ },
3140
+ "desktop": {
3141
+ "state": "yes"
3142
+ }
3143
+ },
2066
3144
  "examples": {
2067
3145
  "web": 3,
2068
3146
  "native": 0
@@ -2081,6 +3159,20 @@
2081
3159
  "status": "beta",
2082
3160
  "category": "blocks",
2083
3161
  "platforms": "web",
3162
+ "parity": {
3163
+ "web": {
3164
+ "state": "yes"
3165
+ },
3166
+ "native": {
3167
+ "state": "n/a",
3168
+ "reason": "A block of a public site's page; an app screen on a phone is built from Screen, Header and Card.",
3169
+ "use": "header"
3170
+ },
3171
+ "desktop": {
3172
+ "state": "n/a",
3173
+ "reason": "A public site's page, not a window of the Mac app."
3174
+ }
3175
+ },
2084
3176
  "examples": {
2085
3177
  "web": 2,
2086
3178
  "native": 0
@@ -2101,6 +3193,17 @@
2101
3193
  "status": "beta",
2102
3194
  "category": "navigation",
2103
3195
  "platforms": "both",
3196
+ "parity": {
3197
+ "web": {
3198
+ "state": "yes"
3199
+ },
3200
+ "native": {
3201
+ "state": "yes"
3202
+ },
3203
+ "desktop": {
3204
+ "state": "yes"
3205
+ }
3206
+ },
2104
3207
  "examples": {
2105
3208
  "web": 4,
2106
3209
  "native": 2
@@ -2119,6 +3222,21 @@
2119
3222
  "status": "beta",
2120
3223
  "category": "feedback",
2121
3224
  "platforms": "native",
3225
+ "parity": {
3226
+ "web": {
3227
+ "state": "n/a",
3228
+ "reason": "The browser asks for a permission itself; the page explains it beforehand.",
3229
+ "use": "alert"
3230
+ },
3231
+ "native": {
3232
+ "state": "yes"
3233
+ },
3234
+ "desktop": {
3235
+ "state": "n/a",
3236
+ "reason": "macOS asks for a permission itself; the app explains it beforehand.",
3237
+ "use": "alert"
3238
+ }
3239
+ },
2122
3240
  "examples": {
2123
3241
  "web": 0,
2124
3242
  "native": 2
@@ -2135,6 +3253,17 @@
2135
3253
  "status": "beta",
2136
3254
  "category": "media",
2137
3255
  "platforms": "both",
3256
+ "parity": {
3257
+ "web": {
3258
+ "state": "yes"
3259
+ },
3260
+ "native": {
3261
+ "state": "yes"
3262
+ },
3263
+ "desktop": {
3264
+ "state": "yes"
3265
+ }
3266
+ },
2138
3267
  "examples": {
2139
3268
  "web": 1,
2140
3269
  "native": 1
@@ -2153,6 +3282,19 @@
2153
3282
  "status": "beta",
2154
3283
  "category": "blocks",
2155
3284
  "platforms": "web",
3285
+ "parity": {
3286
+ "web": {
3287
+ "state": "yes"
3288
+ },
3289
+ "native": {
3290
+ "state": "n/a",
3291
+ "reason": "It follows a mouse pointer; a phone has none."
3292
+ },
3293
+ "desktop": {
3294
+ "state": "n/a",
3295
+ "reason": "A public site's page, not a window of the Mac app."
3296
+ }
3297
+ },
2156
3298
  "examples": {
2157
3299
  "web": 1,
2158
3300
  "native": 0
@@ -2169,6 +3311,19 @@
2169
3311
  "status": "stable",
2170
3312
  "category": "overlays",
2171
3313
  "platforms": "web",
3314
+ "parity": {
3315
+ "web": {
3316
+ "state": "yes"
3317
+ },
3318
+ "native": {
3319
+ "state": "n/a",
3320
+ "reason": "A phone shows extra content in a sheet.",
3321
+ "use": "dialog"
3322
+ },
3323
+ "desktop": {
3324
+ "state": "yes"
3325
+ }
3326
+ },
2172
3327
  "examples": {
2173
3328
  "web": 1,
2174
3329
  "native": 0
@@ -2189,6 +3344,19 @@
2189
3344
  "status": "beta",
2190
3345
  "category": "templates",
2191
3346
  "platforms": "web",
3347
+ "parity": {
3348
+ "web": {
3349
+ "state": "yes"
3350
+ },
3351
+ "native": {
3352
+ "state": "n/a",
3353
+ "reason": "A whole page of a public site; a phone app's screens are built from Screen, Header and the native primitives."
3354
+ },
3355
+ "desktop": {
3356
+ "state": "n/a",
3357
+ "reason": "A public site's page, not a window of the Mac app."
3358
+ }
3359
+ },
2192
3360
  "examples": {
2193
3361
  "web": 1,
2194
3362
  "native": 0
@@ -2209,6 +3377,19 @@
2209
3377
  "status": "beta",
2210
3378
  "category": "templates",
2211
3379
  "platforms": "web",
3380
+ "parity": {
3381
+ "web": {
3382
+ "state": "yes"
3383
+ },
3384
+ "native": {
3385
+ "state": "n/a",
3386
+ "reason": "A whole page of a public site; a phone app's screens are built from Screen, Header and the native primitives."
3387
+ },
3388
+ "desktop": {
3389
+ "state": "n/a",
3390
+ "reason": "A public site's page, not a window of the Mac app."
3391
+ }
3392
+ },
2212
3393
  "examples": {
2213
3394
  "web": 1,
2214
3395
  "native": 0
@@ -2236,6 +3417,17 @@
2236
3417
  "status": "beta",
2237
3418
  "category": "data-display",
2238
3419
  "platforms": "both",
3420
+ "parity": {
3421
+ "web": {
3422
+ "state": "yes"
3423
+ },
3424
+ "native": {
3425
+ "state": "yes"
3426
+ },
3427
+ "desktop": {
3428
+ "state": "yes"
3429
+ }
3430
+ },
2239
3431
  "examples": {
2240
3432
  "web": 3,
2241
3433
  "native": 1
@@ -2254,6 +3446,17 @@
2254
3446
  "status": "beta",
2255
3447
  "category": "feedback",
2256
3448
  "platforms": "both",
3449
+ "parity": {
3450
+ "web": {
3451
+ "state": "yes"
3452
+ },
3453
+ "native": {
3454
+ "state": "yes"
3455
+ },
3456
+ "desktop": {
3457
+ "state": "yes"
3458
+ }
3459
+ },
2257
3460
  "examples": {
2258
3461
  "web": 9,
2259
3462
  "native": 3
@@ -2272,6 +3475,20 @@
2272
3475
  "status": "beta",
2273
3476
  "category": "data-display",
2274
3477
  "platforms": "web",
3478
+ "parity": {
3479
+ "web": {
3480
+ "state": "yes"
3481
+ },
3482
+ "native": {
3483
+ "state": "n/a",
3484
+ "reason": "Part of the storytelling kit of scroll-driven site pages; a phone app tells its first steps with Onboarding.",
3485
+ "use": "card"
3486
+ },
3487
+ "desktop": {
3488
+ "state": "n/a",
3489
+ "reason": "A public site's page, not a window of the Mac app."
3490
+ }
3491
+ },
2275
3492
  "examples": {
2276
3493
  "web": 2,
2277
3494
  "native": 0
@@ -2290,6 +3507,21 @@
2290
3507
  "status": "beta",
2291
3508
  "category": "feedback",
2292
3509
  "platforms": "native",
3510
+ "parity": {
3511
+ "web": {
3512
+ "state": "n/a",
3513
+ "reason": "A web page refreshes by reloading or with a button.",
3514
+ "use": "button"
3515
+ },
3516
+ "native": {
3517
+ "state": "yes"
3518
+ },
3519
+ "desktop": {
3520
+ "state": "n/a",
3521
+ "reason": "A desktop window refreshes with Cmd+R or a toolbar button.",
3522
+ "use": "button"
3523
+ }
3524
+ },
2293
3525
  "examples": {
2294
3526
  "web": 0,
2295
3527
  "native": 2
@@ -2306,6 +3538,17 @@
2306
3538
  "status": "beta",
2307
3539
  "category": "forms",
2308
3540
  "platforms": "both",
3541
+ "parity": {
3542
+ "web": {
3543
+ "state": "yes"
3544
+ },
3545
+ "native": {
3546
+ "state": "yes"
3547
+ },
3548
+ "desktop": {
3549
+ "state": "yes"
3550
+ }
3551
+ },
2309
3552
  "examples": {
2310
3553
  "web": 5,
2311
3554
  "native": 4
@@ -2327,6 +3570,18 @@
2327
3570
  "status": "beta",
2328
3571
  "category": "foundations",
2329
3572
  "platforms": "web",
3573
+ "parity": {
3574
+ "web": {
3575
+ "state": "yes"
3576
+ },
3577
+ "native": {
3578
+ "state": "n/a",
3579
+ "reason": "The recipes are already shared: the native Button, Badge, Chip and Card read the same definitions through nativeRecipe."
3580
+ },
3581
+ "desktop": {
3582
+ "state": "yes"
3583
+ }
3584
+ },
2330
3585
  "examples": {
2331
3586
  "web": 1,
2332
3587
  "native": 0
@@ -2345,6 +3600,21 @@
2345
3600
  "status": "beta",
2346
3601
  "category": "layout",
2347
3602
  "platforms": "native",
3603
+ "parity": {
3604
+ "web": {
3605
+ "state": "n/a",
3606
+ "reason": "A web screen's frame is the application shell.",
3607
+ "use": "app-shell"
3608
+ },
3609
+ "native": {
3610
+ "state": "yes"
3611
+ },
3612
+ "desktop": {
3613
+ "state": "n/a",
3614
+ "reason": "The Mac app's window is the application shell.",
3615
+ "use": "app-shell"
3616
+ }
3617
+ },
2348
3618
  "examples": {
2349
3619
  "web": 0,
2350
3620
  "native": 8
@@ -2361,6 +3631,19 @@
2361
3631
  "status": "beta",
2362
3632
  "category": "layout",
2363
3633
  "platforms": "web",
3634
+ "parity": {
3635
+ "web": {
3636
+ "state": "yes"
3637
+ },
3638
+ "native": {
3639
+ "state": "n/a",
3640
+ "reason": "Part of the storytelling kit of scroll-driven site pages; a phone app tells its first steps with Onboarding."
3641
+ },
3642
+ "desktop": {
3643
+ "state": "n/a",
3644
+ "reason": "A public site's page, not a window of the Mac app."
3645
+ }
3646
+ },
2364
3647
  "examples": {
2365
3648
  "web": 2,
2366
3649
  "native": 0
@@ -2379,6 +3662,17 @@
2379
3662
  "status": "beta",
2380
3663
  "category": "forms",
2381
3664
  "platforms": "both",
3665
+ "parity": {
3666
+ "web": {
3667
+ "state": "yes"
3668
+ },
3669
+ "native": {
3670
+ "state": "yes"
3671
+ },
3672
+ "desktop": {
3673
+ "state": "yes"
3674
+ }
3675
+ },
2382
3676
  "examples": {
2383
3677
  "web": 3,
2384
3678
  "native": 2
@@ -2400,6 +3694,19 @@
2400
3694
  "status": "beta",
2401
3695
  "category": "layout",
2402
3696
  "platforms": "web",
3697
+ "parity": {
3698
+ "web": {
3699
+ "state": "yes"
3700
+ },
3701
+ "native": {
3702
+ "state": "n/a",
3703
+ "reason": "A block of a public site's page; an app screen on a phone is built from Screen, Header and Card."
3704
+ },
3705
+ "desktop": {
3706
+ "state": "n/a",
3707
+ "reason": "A public site's page, not a window of the Mac app."
3708
+ }
3709
+ },
2403
3710
  "examples": {
2404
3711
  "web": 5,
2405
3712
  "native": 0
@@ -2418,6 +3725,21 @@
2418
3725
  "status": "beta",
2419
3726
  "category": "navigation",
2420
3727
  "platforms": "native",
3728
+ "parity": {
3729
+ "web": {
3730
+ "state": "n/a",
3731
+ "reason": "The web's segmented control is the radio group's segments.",
3732
+ "use": "radio-group"
3733
+ },
3734
+ "native": {
3735
+ "state": "yes"
3736
+ },
3737
+ "desktop": {
3738
+ "state": "n/a",
3739
+ "reason": "The Mac app uses the web's segments.",
3740
+ "use": "radio-group"
3741
+ }
3742
+ },
2421
3743
  "examples": {
2422
3744
  "web": 0,
2423
3745
  "native": 2
@@ -2434,6 +3756,19 @@
2434
3756
  "status": "stable",
2435
3757
  "category": "layout",
2436
3758
  "platforms": "web",
3759
+ "parity": {
3760
+ "web": {
3761
+ "state": "yes"
3762
+ },
3763
+ "native": {
3764
+ "state": "gap",
3765
+ "reason": "A hairline between rows; Orazaka's settings group draws its own.",
3766
+ "issue": "krizaka/krizaka-ui#275"
3767
+ },
3768
+ "desktop": {
3769
+ "state": "yes"
3770
+ }
3771
+ },
2437
3772
  "examples": {
2438
3773
  "web": 2,
2439
3774
  "native": 0
@@ -2453,6 +3788,19 @@
2453
3788
  "status": "beta",
2454
3789
  "category": "layouts",
2455
3790
  "platforms": "web",
3791
+ "parity": {
3792
+ "web": {
3793
+ "state": "yes"
3794
+ },
3795
+ "native": {
3796
+ "state": "gap",
3797
+ "reason": "orazaka-mobile-client hand-rolls its settings rows and groups (src/ui/SettingsRow.tsx).",
3798
+ "issue": "krizaka/krizaka-ui#246"
3799
+ },
3800
+ "desktop": {
3801
+ "state": "yes"
3802
+ }
3803
+ },
2456
3804
  "examples": {
2457
3805
  "web": 2,
2458
3806
  "native": 0
@@ -2471,6 +3819,17 @@
2471
3819
  "status": "beta",
2472
3820
  "category": "data-display",
2473
3821
  "platforms": "both",
3822
+ "parity": {
3823
+ "web": {
3824
+ "state": "yes"
3825
+ },
3826
+ "native": {
3827
+ "state": "yes"
3828
+ },
3829
+ "desktop": {
3830
+ "state": "yes"
3831
+ }
3832
+ },
2474
3833
  "examples": {
2475
3834
  "web": 2,
2476
3835
  "native": 1
@@ -2489,12 +3848,25 @@
2489
3848
  "status": "beta",
2490
3849
  "category": "navigation",
2491
3850
  "platforms": "web",
3851
+ "parity": {
3852
+ "web": {
3853
+ "state": "yes"
3854
+ },
3855
+ "native": {
3856
+ "state": "n/a",
3857
+ "reason": "A site's footer; an app has none."
3858
+ },
3859
+ "desktop": {
3860
+ "state": "n/a",
3861
+ "reason": "A public site's page, not a window of the Mac app."
3862
+ }
3863
+ },
2492
3864
  "examples": {
2493
3865
  "web": 3,
2494
3866
  "native": 0
2495
3867
  },
2496
3868
  "dependencies": [
2497
- "@krizaka/tokens@^3.19.0",
3869
+ "@krizaka/tokens@^3.20.0",
2498
3870
  "radix-ui@^1.7.0",
2499
3871
  "tailwind-variants@^3.3.1"
2500
3872
  ],
@@ -2511,6 +3883,19 @@
2511
3883
  "status": "beta",
2512
3884
  "category": "foundations",
2513
3885
  "platforms": "web",
3886
+ "parity": {
3887
+ "web": {
3888
+ "state": "yes"
3889
+ },
3890
+ "native": {
3891
+ "state": "n/a",
3892
+ "reason": "The Krizaka family as data for the sites' bars; the apps are independent products."
3893
+ },
3894
+ "desktop": {
3895
+ "state": "n/a",
3896
+ "reason": "A public site's page, not a window of the Mac app."
3897
+ }
3898
+ },
2514
3899
  "examples": {
2515
3900
  "web": 2,
2516
3901
  "native": 0
@@ -2527,6 +3912,17 @@
2527
3912
  "status": "stable",
2528
3913
  "category": "feedback",
2529
3914
  "platforms": "both",
3915
+ "parity": {
3916
+ "web": {
3917
+ "state": "yes"
3918
+ },
3919
+ "native": {
3920
+ "state": "yes"
3921
+ },
3922
+ "desktop": {
3923
+ "state": "yes"
3924
+ }
3925
+ },
2530
3926
  "examples": {
2531
3927
  "web": 6,
2532
3928
  "native": 1
@@ -2545,6 +3941,18 @@
2545
3941
  "status": "stable",
2546
3942
  "category": "navigation",
2547
3943
  "platforms": "web",
3944
+ "parity": {
3945
+ "web": {
3946
+ "state": "yes"
3947
+ },
3948
+ "native": {
3949
+ "state": "n/a",
3950
+ "reason": "Screen readers on a phone move by headings and the rotor; there is no keyboard to skip with."
3951
+ },
3952
+ "desktop": {
3953
+ "state": "yes"
3954
+ }
3955
+ },
2548
3956
  "examples": {
2549
3957
  "web": 1,
2550
3958
  "native": 0
@@ -2563,6 +3971,17 @@
2563
3971
  "status": "beta",
2564
3972
  "category": "forms",
2565
3973
  "platforms": "both",
3974
+ "parity": {
3975
+ "web": {
3976
+ "state": "yes"
3977
+ },
3978
+ "native": {
3979
+ "state": "yes"
3980
+ },
3981
+ "desktop": {
3982
+ "state": "yes"
3983
+ }
3984
+ },
2566
3985
  "examples": {
2567
3986
  "web": 9,
2568
3987
  "native": 4
@@ -2584,6 +4003,18 @@
2584
4003
  "status": "stable",
2585
4004
  "category": "foundations",
2586
4005
  "platforms": "web",
4006
+ "parity": {
4007
+ "web": {
4008
+ "state": "yes"
4009
+ },
4010
+ "native": {
4011
+ "state": "n/a",
4012
+ "reason": "asChild merges props into a DOM child; React Native composes with Pressable instead."
4013
+ },
4014
+ "desktop": {
4015
+ "state": "yes"
4016
+ }
4017
+ },
2587
4018
  "examples": {
2588
4019
  "web": 2,
2589
4020
  "native": 0
@@ -2602,6 +4033,17 @@
2602
4033
  "status": "stable",
2603
4034
  "category": "feedback",
2604
4035
  "platforms": "both",
4036
+ "parity": {
4037
+ "web": {
4038
+ "state": "yes"
4039
+ },
4040
+ "native": {
4041
+ "state": "yes"
4042
+ },
4043
+ "desktop": {
4044
+ "state": "yes"
4045
+ }
4046
+ },
2605
4047
  "examples": {
2606
4048
  "web": 3,
2607
4049
  "native": 1
@@ -2620,6 +4062,21 @@
2620
4062
  "status": "beta",
2621
4063
  "category": "feedback",
2622
4064
  "platforms": "native",
4065
+ "parity": {
4066
+ "web": {
4067
+ "state": "n/a",
4068
+ "reason": "A web page has no splash screen; a wait shows the loader.",
4069
+ "use": "loader"
4070
+ },
4071
+ "native": {
4072
+ "state": "yes"
4073
+ },
4074
+ "desktop": {
4075
+ "state": "n/a",
4076
+ "reason": "The Mac app opens on its window; a wait shows the loader.",
4077
+ "use": "loader"
4078
+ }
4079
+ },
2623
4080
  "examples": {
2624
4081
  "web": 0,
2625
4082
  "native": 1
@@ -2636,6 +4093,19 @@
2636
4093
  "status": "beta",
2637
4094
  "category": "layouts",
2638
4095
  "platforms": "web",
4096
+ "parity": {
4097
+ "web": {
4098
+ "state": "yes"
4099
+ },
4100
+ "native": {
4101
+ "state": "n/a",
4102
+ "reason": "A phone shows one pane at a time: the list, then the item on its own screen.",
4103
+ "use": "screen"
4104
+ },
4105
+ "desktop": {
4106
+ "state": "yes"
4107
+ }
4108
+ },
2639
4109
  "examples": {
2640
4110
  "web": 4,
2641
4111
  "native": 0
@@ -2654,6 +4124,19 @@
2654
4124
  "status": "beta",
2655
4125
  "category": "blocks",
2656
4126
  "platforms": "web",
4127
+ "parity": {
4128
+ "web": {
4129
+ "state": "yes"
4130
+ },
4131
+ "native": {
4132
+ "state": "n/a",
4133
+ "reason": "Part of the storytelling kit of scroll-driven site pages; a phone app tells its first steps with Onboarding."
4134
+ },
4135
+ "desktop": {
4136
+ "state": "n/a",
4137
+ "reason": "A public site's page, not a window of the Mac app."
4138
+ }
4139
+ },
2657
4140
  "examples": {
2658
4141
  "web": 2,
2659
4142
  "native": 0
@@ -2672,6 +4155,19 @@
2672
4155
  "status": "stable",
2673
4156
  "category": "data-display",
2674
4157
  "platforms": "web",
4158
+ "parity": {
4159
+ "web": {
4160
+ "state": "yes"
4161
+ },
4162
+ "native": {
4163
+ "state": "gap",
4164
+ "reason": "The phone dashboards (Orochia earnings, Orazaka usage) write a figure and its caption by hand.",
4165
+ "issue": "krizaka/krizaka-ui#275"
4166
+ },
4167
+ "desktop": {
4168
+ "state": "yes"
4169
+ }
4170
+ },
2675
4171
  "examples": {
2676
4172
  "web": 6,
2677
4173
  "native": 0
@@ -2690,6 +4186,19 @@
2690
4186
  "status": "beta",
2691
4187
  "category": "templates",
2692
4188
  "platforms": "web",
4189
+ "parity": {
4190
+ "web": {
4191
+ "state": "yes"
4192
+ },
4193
+ "native": {
4194
+ "state": "n/a",
4195
+ "reason": "A whole page of a public site; a phone app's screens are built from Screen, Header and the native primitives."
4196
+ },
4197
+ "desktop": {
4198
+ "state": "n/a",
4199
+ "reason": "A public site's page, not a window of the Mac app."
4200
+ }
4201
+ },
2693
4202
  "examples": {
2694
4203
  "web": 3,
2695
4204
  "native": 0
@@ -2709,6 +4218,17 @@
2709
4218
  "status": "beta",
2710
4219
  "category": "navigation",
2711
4220
  "platforms": "both",
4221
+ "parity": {
4222
+ "web": {
4223
+ "state": "yes"
4224
+ },
4225
+ "native": {
4226
+ "state": "yes"
4227
+ },
4228
+ "desktop": {
4229
+ "state": "yes"
4230
+ }
4231
+ },
2712
4232
  "examples": {
2713
4233
  "web": 1,
2714
4234
  "native": 1
@@ -2725,6 +4245,17 @@
2725
4245
  "status": "beta",
2726
4246
  "category": "navigation",
2727
4247
  "platforms": "both",
4248
+ "parity": {
4249
+ "web": {
4250
+ "state": "yes"
4251
+ },
4252
+ "native": {
4253
+ "state": "yes"
4254
+ },
4255
+ "desktop": {
4256
+ "state": "yes"
4257
+ }
4258
+ },
2728
4259
  "examples": {
2729
4260
  "web": 3,
2730
4261
  "native": 1
@@ -2745,6 +4276,17 @@
2745
4276
  "status": "beta",
2746
4277
  "category": "data-display",
2747
4278
  "platforms": "both",
4279
+ "parity": {
4280
+ "web": {
4281
+ "state": "yes"
4282
+ },
4283
+ "native": {
4284
+ "state": "yes"
4285
+ },
4286
+ "desktop": {
4287
+ "state": "yes"
4288
+ }
4289
+ },
2748
4290
  "examples": {
2749
4291
  "web": 1,
2750
4292
  "native": 1
@@ -2763,6 +4305,21 @@
2763
4305
  "status": "beta",
2764
4306
  "category": "data-display",
2765
4307
  "platforms": "native",
4308
+ "parity": {
4309
+ "web": {
4310
+ "state": "n/a",
4311
+ "reason": "Swiping a row is a touch gesture; on the web a row's actions are a menu.",
4312
+ "use": "dropdown-menu"
4313
+ },
4314
+ "native": {
4315
+ "state": "yes"
4316
+ },
4317
+ "desktop": {
4318
+ "state": "n/a",
4319
+ "reason": "On the Mac a row's actions are a menu.",
4320
+ "use": "dropdown-menu"
4321
+ }
4322
+ },
2766
4323
  "examples": {
2767
4324
  "web": 0,
2768
4325
  "native": 1
@@ -2779,6 +4336,17 @@
2779
4336
  "status": "beta",
2780
4337
  "category": "forms",
2781
4338
  "platforms": "both",
4339
+ "parity": {
4340
+ "web": {
4341
+ "state": "yes"
4342
+ },
4343
+ "native": {
4344
+ "state": "yes"
4345
+ },
4346
+ "desktop": {
4347
+ "state": "yes"
4348
+ }
4349
+ },
2782
4350
  "examples": {
2783
4351
  "web": 5,
2784
4352
  "native": 2
@@ -2798,6 +4366,21 @@
2798
4366
  "status": "beta",
2799
4367
  "category": "navigation",
2800
4368
  "platforms": "native",
4369
+ "parity": {
4370
+ "web": {
4371
+ "state": "n/a",
4372
+ "reason": "A web app navigates with its sidebar or a site's bar.",
4373
+ "use": "app-shell"
4374
+ },
4375
+ "native": {
4376
+ "state": "yes"
4377
+ },
4378
+ "desktop": {
4379
+ "state": "n/a",
4380
+ "reason": "The Mac app navigates with its sidebar.",
4381
+ "use": "app-shell"
4382
+ }
4383
+ },
2801
4384
  "examples": {
2802
4385
  "web": 0,
2803
4386
  "native": 1
@@ -2814,6 +4397,17 @@
2814
4397
  "status": "beta",
2815
4398
  "category": "navigation",
2816
4399
  "platforms": "both",
4400
+ "parity": {
4401
+ "web": {
4402
+ "state": "yes"
4403
+ },
4404
+ "native": {
4405
+ "state": "yes"
4406
+ },
4407
+ "desktop": {
4408
+ "state": "yes"
4409
+ }
4410
+ },
2817
4411
  "examples": {
2818
4412
  "web": 4,
2819
4413
  "native": 2
@@ -2833,6 +4427,19 @@
2833
4427
  "status": "beta",
2834
4428
  "category": "forms",
2835
4429
  "platforms": "web",
4430
+ "parity": {
4431
+ "web": {
4432
+ "state": "yes"
4433
+ },
4434
+ "native": {
4435
+ "state": "n/a",
4436
+ "reason": "Typing free tags is a keyboard task; on a phone the tags are chosen.",
4437
+ "use": "tag-selector"
4438
+ },
4439
+ "desktop": {
4440
+ "state": "yes"
4441
+ }
4442
+ },
2836
4443
  "examples": {
2837
4444
  "web": 2,
2838
4445
  "native": 0
@@ -2851,6 +4458,17 @@
2851
4458
  "status": "beta",
2852
4459
  "category": "forms",
2853
4460
  "platforms": "both",
4461
+ "parity": {
4462
+ "web": {
4463
+ "state": "yes"
4464
+ },
4465
+ "native": {
4466
+ "state": "yes"
4467
+ },
4468
+ "desktop": {
4469
+ "state": "yes"
4470
+ }
4471
+ },
2854
4472
  "examples": {
2855
4473
  "web": 1,
2856
4474
  "native": 1
@@ -2869,6 +4487,19 @@
2869
4487
  "status": "beta",
2870
4488
  "category": "media",
2871
4489
  "platforms": "web",
4490
+ "parity": {
4491
+ "web": {
4492
+ "state": "yes"
4493
+ },
4494
+ "native": {
4495
+ "state": "n/a",
4496
+ "reason": "A recorded terminal session shown on a site's page."
4497
+ },
4498
+ "desktop": {
4499
+ "state": "n/a",
4500
+ "reason": "A public site's page, not a window of the Mac app."
4501
+ }
4502
+ },
2872
4503
  "examples": {
2873
4504
  "web": 2,
2874
4505
  "native": 0
@@ -2887,6 +4518,17 @@
2887
4518
  "status": "stable",
2888
4519
  "category": "foundations",
2889
4520
  "platforms": "both",
4521
+ "parity": {
4522
+ "web": {
4523
+ "state": "yes"
4524
+ },
4525
+ "native": {
4526
+ "state": "yes"
4527
+ },
4528
+ "desktop": {
4529
+ "state": "yes"
4530
+ }
4531
+ },
2890
4532
  "examples": {
2891
4533
  "web": 2,
2892
4534
  "native": 1
@@ -2905,6 +4547,17 @@
2905
4547
  "status": "stable",
2906
4548
  "category": "feedback",
2907
4549
  "platforms": "both",
4550
+ "parity": {
4551
+ "web": {
4552
+ "state": "yes"
4553
+ },
4554
+ "native": {
4555
+ "state": "yes"
4556
+ },
4557
+ "desktop": {
4558
+ "state": "yes"
4559
+ }
4560
+ },
2908
4561
  "examples": {
2909
4562
  "web": 5,
2910
4563
  "native": 3
@@ -2926,6 +4579,19 @@
2926
4579
  "status": "beta",
2927
4580
  "category": "blocks",
2928
4581
  "platforms": "web",
4582
+ "parity": {
4583
+ "web": {
4584
+ "state": "yes"
4585
+ },
4586
+ "native": {
4587
+ "state": "n/a",
4588
+ "reason": "A reading page's sticky contents; a phone screen is short and scrolls."
4589
+ },
4590
+ "desktop": {
4591
+ "state": "n/a",
4592
+ "reason": "A public site's page, not a window of the Mac app."
4593
+ }
4594
+ },
2929
4595
  "examples": {
2930
4596
  "web": 1,
2931
4597
  "native": 0
@@ -2944,6 +4610,18 @@
2944
4610
  "status": "stable",
2945
4611
  "category": "overlays",
2946
4612
  "platforms": "web",
4613
+ "parity": {
4614
+ "web": {
4615
+ "state": "yes"
4616
+ },
4617
+ "native": {
4618
+ "state": "n/a",
4619
+ "reason": "A phone has no hover: say it in the label or the hint."
4620
+ },
4621
+ "desktop": {
4622
+ "state": "yes"
4623
+ }
4624
+ },
2947
4625
  "examples": {
2948
4626
  "web": 2,
2949
4627
  "native": 0
@@ -2964,6 +4642,19 @@
2964
4642
  "status": "deprecated",
2965
4643
  "category": "navigation",
2966
4644
  "platforms": "web",
4645
+ "parity": {
4646
+ "web": {
4647
+ "state": "yes"
4648
+ },
4649
+ "native": {
4650
+ "state": "n/a",
4651
+ "reason": "Deprecated: no product uses it."
4652
+ },
4653
+ "desktop": {
4654
+ "state": "n/a",
4655
+ "reason": "Deprecated: no product uses it."
4656
+ }
4657
+ },
2967
4658
  "examples": {
2968
4659
  "web": 2,
2969
4660
  "native": 0
@@ -2982,6 +4673,19 @@
2982
4673
  "status": "beta",
2983
4674
  "category": "foundations",
2984
4675
  "platforms": "native",
4676
+ "parity": {
4677
+ "web": {
4678
+ "state": "n/a",
4679
+ "reason": "Text on the web is HTML styled by the type scale's classes."
4680
+ },
4681
+ "native": {
4682
+ "state": "yes"
4683
+ },
4684
+ "desktop": {
4685
+ "state": "n/a",
4686
+ "reason": "The Mac app renders the web's HTML text."
4687
+ }
4688
+ },
2985
4689
  "examples": {
2986
4690
  "web": 0,
2987
4691
  "native": 2
@@ -2998,6 +4702,17 @@
2998
4702
  "status": "beta",
2999
4703
  "category": "feedback",
3000
4704
  "platforms": "both",
4705
+ "parity": {
4706
+ "web": {
4707
+ "state": "yes"
4708
+ },
4709
+ "native": {
4710
+ "state": "yes"
4711
+ },
4712
+ "desktop": {
4713
+ "state": "yes"
4714
+ }
4715
+ },
3001
4716
  "examples": {
3002
4717
  "web": 1,
3003
4718
  "native": 1
@@ -3014,6 +4729,17 @@
3014
4729
  "status": "beta",
3015
4730
  "category": "media",
3016
4731
  "platforms": "both",
4732
+ "parity": {
4733
+ "web": {
4734
+ "state": "yes"
4735
+ },
4736
+ "native": {
4737
+ "state": "yes"
4738
+ },
4739
+ "desktop": {
4740
+ "state": "yes"
4741
+ }
4742
+ },
3017
4743
  "examples": {
3018
4744
  "web": 2,
3019
4745
  "native": 1
@@ -3037,6 +4763,17 @@
3037
4763
  "status": "beta",
3038
4764
  "category": "media",
3039
4765
  "platforms": "both",
4766
+ "parity": {
4767
+ "web": {
4768
+ "state": "yes"
4769
+ },
4770
+ "native": {
4771
+ "state": "yes"
4772
+ },
4773
+ "desktop": {
4774
+ "state": "yes"
4775
+ }
4776
+ },
3040
4777
  "examples": {
3041
4778
  "web": 4,
3042
4779
  "native": 1
@@ -3057,6 +4794,19 @@
3057
4794
  "status": "beta",
3058
4795
  "category": "media",
3059
4796
  "platforms": "web",
4797
+ "parity": {
4798
+ "web": {
4799
+ "state": "yes"
4800
+ },
4801
+ "native": {
4802
+ "state": "gap",
4803
+ "reason": "Orochia's upload from the phone will need it.",
4804
+ "issue": "krizaka/krizaka-ui#278"
4805
+ },
4806
+ "desktop": {
4807
+ "state": "yes"
4808
+ }
4809
+ },
3060
4810
  "examples": {
3061
4811
  "web": 3,
3062
4812
  "native": 0
@@ -3075,6 +4825,19 @@
3075
4825
  "status": "beta",
3076
4826
  "category": "data-display",
3077
4827
  "platforms": "web",
4828
+ "parity": {
4829
+ "web": {
4830
+ "state": "yes"
4831
+ },
4832
+ "native": {
4833
+ "state": "n/a",
4834
+ "reason": "The native list windows its rows already (FlashList).",
4835
+ "use": "list"
4836
+ },
4837
+ "desktop": {
4838
+ "state": "yes"
4839
+ }
4840
+ },
3078
4841
  "examples": {
3079
4842
  "web": 3,
3080
4843
  "native": 0