@knpkv/rly 0.6.1 → 0.9.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 (64) hide show
  1. package/README.md +85 -1
  2. package/dist/{Dialog-CplGpe1F.js → Dialog-_t9OodCK.js} +16 -12
  3. package/dist/Dialog-_t9OodCK.js.map +1 -0
  4. package/dist/ThemeProvider-BFeldMeE.js +87 -0
  5. package/dist/ThemeProvider-BFeldMeE.js.map +1 -0
  6. package/dist/base.css +17 -0
  7. package/dist/components.css +1 -1
  8. package/dist/dts/foundations/ThemeProvider.d.ts +31 -1
  9. package/dist/dts/foundations/ThemeProvider.d.ts.map +1 -1
  10. package/dist/dts/foundations/index.d.ts +2 -2
  11. package/dist/dts/foundations/index.d.ts.map +1 -1
  12. package/dist/dts/patterns/DecisionBar.d.ts +68 -0
  13. package/dist/dts/patterns/DecisionBar.d.ts.map +1 -0
  14. package/dist/dts/patterns/Hero.d.ts +69 -0
  15. package/dist/dts/patterns/Hero.d.ts.map +1 -0
  16. package/dist/dts/patterns/Region.d.ts +56 -0
  17. package/dist/dts/patterns/Region.d.ts.map +1 -0
  18. package/dist/dts/patterns/RelayDock.d.ts.map +1 -1
  19. package/dist/dts/patterns/StageRail.d.ts +11 -1
  20. package/dist/dts/patterns/StageRail.d.ts.map +1 -1
  21. package/dist/dts/patterns/TimelineRow.d.ts +25 -0
  22. package/dist/dts/patterns/TimelineRow.d.ts.map +1 -1
  23. package/dist/dts/patterns/index.d.ts +8 -2
  24. package/dist/dts/patterns/index.d.ts.map +1 -1
  25. package/dist/dts/primitives/ChartLegend.d.ts +23 -0
  26. package/dist/dts/primitives/ChartLegend.d.ts.map +1 -0
  27. package/dist/dts/primitives/LimitTrack.d.ts +62 -0
  28. package/dist/dts/primitives/LimitTrack.d.ts.map +1 -0
  29. package/dist/dts/primitives/Notice.d.ts +64 -0
  30. package/dist/dts/primitives/Notice.d.ts.map +1 -0
  31. package/dist/dts/primitives/Select.d.ts.map +1 -1
  32. package/dist/dts/primitives/StatePanel.d.ts +8 -1
  33. package/dist/dts/primitives/StatePanel.d.ts.map +1 -1
  34. package/dist/dts/primitives/ThemeSelect.d.ts +27 -0
  35. package/dist/dts/primitives/ThemeSelect.d.ts.map +1 -0
  36. package/dist/dts/primitives/TrackKey.d.ts +20 -0
  37. package/dist/dts/primitives/TrackKey.d.ts.map +1 -0
  38. package/dist/dts/primitives/index.d.ts +10 -0
  39. package/dist/dts/primitives/index.d.ts.map +1 -1
  40. package/dist/dts/tokens/semantic-tokens.d.ts +1 -1
  41. package/dist/dts/tokens/semantic-tokens.d.ts.map +1 -1
  42. package/dist/foundations/index.js +4 -4
  43. package/dist/generated-tokens.css +36 -0
  44. package/dist/index.js +9 -8
  45. package/dist/patterns/index.js +2 -2
  46. package/dist/{patterns-QMuqnQKw.js → patterns-lOWLKH70.js} +1247 -948
  47. package/dist/patterns-lOWLKH70.js.map +1 -0
  48. package/dist/primitives/index.js +3 -3
  49. package/dist/primitives-Dj-qYrUZ.js +583 -0
  50. package/dist/primitives-Dj-qYrUZ.js.map +1 -0
  51. package/dist/styles.css +1 -1
  52. package/dist/tokens/index.js +1 -1
  53. package/dist/{tokens-CjK9bxo7.js → tokens-DaF1m6rr.js} +2 -2
  54. package/dist/tokens-DaF1m6rr.js.map +1 -0
  55. package/package.json +3 -2
  56. package/registry/components.json +856 -12
  57. package/registry/search.json +215 -2
  58. package/dist/Dialog-CplGpe1F.js.map +0 -1
  59. package/dist/foundations-CEGDSEb-.js +0 -29
  60. package/dist/foundations-CEGDSEb-.js.map +0 -1
  61. package/dist/patterns-QMuqnQKw.js.map +0 -1
  62. package/dist/primitives-BXWPLy2C.js +0 -346
  63. package/dist/primitives-BXWPLy2C.js.map +0 -1
  64. package/dist/tokens-CjK9bxo7.js.map +0 -1
@@ -622,6 +622,87 @@
622
622
  }
623
623
  ]
624
624
  },
625
+ {
626
+ "accessibility": {
627
+ "automatedChecks": true,
628
+ "requirements": [
629
+ "Provide a programmatic name for interactive or informative content",
630
+ "Preserve keyboard access, focus visibility, and color-independent meaning"
631
+ ],
632
+ "standard": "WCAG 2.2 AA"
633
+ },
634
+ "capabilities": [
635
+ "explain",
636
+ "present"
637
+ ],
638
+ "category": "primitive",
639
+ "compatibleTokens": [
640
+ "color",
641
+ "motion",
642
+ "radius",
643
+ "space",
644
+ "type"
645
+ ],
646
+ "docs": {
647
+ "autogenerated": true,
648
+ "storyId": "primitives-chartlegend--all-series",
649
+ "storyPath": "?path=/story/primitives-chartlegend--all-series"
650
+ },
651
+ "example": "import { ChartLegend } from \"@knpkv/rly/primitives\"",
652
+ "exports": [
653
+ {
654
+ "kind": "value",
655
+ "name": "ChartLegend"
656
+ },
657
+ {
658
+ "kind": "type",
659
+ "name": "ChartLegendProps"
660
+ },
661
+ {
662
+ "kind": "value",
663
+ "name": "RLY_SERIES"
664
+ },
665
+ {
666
+ "kind": "type",
667
+ "name": "RlyChartLegendItem"
668
+ },
669
+ {
670
+ "kind": "type",
671
+ "name": "RlySeries"
672
+ },
673
+ {
674
+ "kind": "value",
675
+ "name": "rlySeriesColor"
676
+ }
677
+ ],
678
+ "files": {
679
+ "source": "src/primitives/ChartLegend.tsx",
680
+ "story": "stories/primitives/ChartLegend.stories.tsx",
681
+ "styles": [
682
+ "src/primitives/ChartLegend.module.css"
683
+ ],
684
+ "tests": [
685
+ "test/primitives/ChartLegend.test.tsx"
686
+ ]
687
+ },
688
+ "importPath": "@knpkv/rly/primitives",
689
+ "name": "ChartLegend",
690
+ "props": {
691
+ "defaults": {},
692
+ "types": [
693
+ "ChartLegendProps"
694
+ ]
695
+ },
696
+ "purpose": "Say which colour is which series, a square swatch before each label",
697
+ "slots": [],
698
+ "states": [
699
+ "default",
700
+ "other",
701
+ "series"
702
+ ],
703
+ "status": "experimental",
704
+ "variants": []
705
+ },
625
706
  {
626
707
  "accessibility": {
627
708
  "automatedChecks": true,
@@ -721,6 +802,108 @@
721
802
  }
722
803
  ]
723
804
  },
805
+ {
806
+ "accessibility": {
807
+ "automatedChecks": true,
808
+ "requirements": [
809
+ "Provide a programmatic name for interactive or informative content",
810
+ "Preserve keyboard access, focus visibility, and color-independent meaning"
811
+ ],
812
+ "standard": "WCAG 2.2 AA"
813
+ },
814
+ "capabilities": [
815
+ "decide",
816
+ "present"
817
+ ],
818
+ "category": "pattern",
819
+ "compatibleTokens": [
820
+ "color",
821
+ "motion",
822
+ "radius",
823
+ "space",
824
+ "type"
825
+ ],
826
+ "docs": {
827
+ "autogenerated": true,
828
+ "storyId": "patterns-decisionbar--states",
829
+ "storyPath": "?path=/story/patterns-decisionbar--states"
830
+ },
831
+ "example": "import { DecisionBar } from \"@knpkv/rly/patterns\"",
832
+ "exports": [
833
+ {
834
+ "kind": "value",
835
+ "name": "DecisionBar"
836
+ },
837
+ {
838
+ "kind": "type",
839
+ "name": "DecisionBarProps"
840
+ },
841
+ {
842
+ "kind": "value",
843
+ "name": "RLY_DECISION_BAR_DEFAULT_VARIANTS"
844
+ },
845
+ {
846
+ "kind": "value",
847
+ "name": "RLY_DECISION_BAR_VARIANTS"
848
+ },
849
+ {
850
+ "kind": "type",
851
+ "name": "RlyDecisionBarPlacement"
852
+ },
853
+ {
854
+ "kind": "type",
855
+ "name": "RlyDecisionBarState"
856
+ }
857
+ ],
858
+ "files": {
859
+ "source": "src/patterns/DecisionBar.tsx",
860
+ "story": "stories/patterns/DecisionBar.stories.tsx",
861
+ "styles": [
862
+ "src/patterns/DecisionBar.module.css"
863
+ ],
864
+ "tests": [
865
+ "test/patterns/DecisionBar.test.tsx"
866
+ ]
867
+ },
868
+ "importPath": "@knpkv/rly/patterns",
869
+ "name": "DecisionBar",
870
+ "props": {
871
+ "defaults": {
872
+ "placement": "inline"
873
+ },
874
+ "types": [
875
+ "DecisionBarProps"
876
+ ]
877
+ },
878
+ "purpose": "Approve or reject one named target, with an off reason, a clock and the server's answer",
879
+ "slots": [],
880
+ "states": [
881
+ "default",
882
+ "inline",
883
+ "off",
884
+ "ready",
885
+ "sending",
886
+ "sticky"
887
+ ],
888
+ "status": "experimental",
889
+ "variants": [
890
+ {
891
+ "defaultValue": "inline",
892
+ "description": "Controls the placement presentation axis of DecisionBar.",
893
+ "name": "placement",
894
+ "values": [
895
+ {
896
+ "description": "Use inline for the placement presentation.",
897
+ "name": "inline"
898
+ },
899
+ {
900
+ "description": "Use sticky for the placement presentation.",
901
+ "name": "sticky"
902
+ }
903
+ ]
904
+ }
905
+ ]
906
+ },
724
907
  {
725
908
  "accessibility": {
726
909
  "automatedChecks": true,
@@ -1366,7 +1549,7 @@
1366
1549
  "storyId": "diff-diffcodeview--worker-states",
1367
1550
  "storyPath": "?path=/story/diff-diffcodeview--worker-states"
1368
1551
  },
1369
- "example": "import { createDiffWorkerFactory } from \"@knpkv/rly/diff\"",
1552
+ "example": "import { DiffWorkerProvider } from \"@knpkv/rly/diff\"",
1370
1553
  "exports": [
1371
1554
  {
1372
1555
  "kind": "value",
@@ -2162,6 +2345,141 @@
2162
2345
  "status": "stable",
2163
2346
  "variants": []
2164
2347
  },
2348
+ {
2349
+ "accessibility": {
2350
+ "automatedChecks": true,
2351
+ "requirements": [
2352
+ "Provide a programmatic name for interactive or informative content",
2353
+ "Preserve keyboard access, focus visibility, and color-independent meaning"
2354
+ ],
2355
+ "standard": "WCAG 2.2 AA"
2356
+ },
2357
+ "capabilities": [
2358
+ "present",
2359
+ "status"
2360
+ ],
2361
+ "category": "pattern",
2362
+ "compatibleTokens": [
2363
+ "color",
2364
+ "motion",
2365
+ "radius",
2366
+ "space",
2367
+ "type"
2368
+ ],
2369
+ "docs": {
2370
+ "autogenerated": true,
2371
+ "storyId": "patterns-hero--states",
2372
+ "storyPath": "?path=/story/patterns-hero--states"
2373
+ },
2374
+ "example": "import { Hero } from \"@knpkv/rly/patterns\"",
2375
+ "exports": [
2376
+ {
2377
+ "kind": "value",
2378
+ "name": "Hero"
2379
+ },
2380
+ {
2381
+ "kind": "type",
2382
+ "name": "HeroProps"
2383
+ },
2384
+ {
2385
+ "kind": "value",
2386
+ "name": "HeroWord"
2387
+ },
2388
+ {
2389
+ "kind": "type",
2390
+ "name": "HeroWordProps"
2391
+ },
2392
+ {
2393
+ "kind": "value",
2394
+ "name": "RLY_HERO_DEFAULT_VARIANTS"
2395
+ },
2396
+ {
2397
+ "kind": "value",
2398
+ "name": "RLY_HERO_VARIANTS"
2399
+ },
2400
+ {
2401
+ "kind": "value",
2402
+ "name": "RLY_HERO_WORD_VARIANTS"
2403
+ },
2404
+ {
2405
+ "kind": "type",
2406
+ "name": "RlyHeroSize"
2407
+ },
2408
+ {
2409
+ "kind": "type",
2410
+ "name": "RlyHeroWordTone"
2411
+ }
2412
+ ],
2413
+ "files": {
2414
+ "source": "src/patterns/Hero.tsx",
2415
+ "story": "stories/patterns/Hero.stories.tsx",
2416
+ "styles": [
2417
+ "src/patterns/Hero.module.css"
2418
+ ],
2419
+ "tests": [
2420
+ "test/patterns/Hero.test.tsx"
2421
+ ]
2422
+ },
2423
+ "importPath": "@knpkv/rly/patterns",
2424
+ "name": "Hero",
2425
+ "props": {
2426
+ "defaults": {
2427
+ "size": "heading"
2428
+ },
2429
+ "types": [
2430
+ "HeroProps",
2431
+ "HeroWordProps"
2432
+ ]
2433
+ },
2434
+ "purpose": "State the one fact a screen leads with as a sentence, with an optional caption",
2435
+ "slots": [
2436
+ "HeroWord"
2437
+ ],
2438
+ "states": [
2439
+ "blocked",
2440
+ "default",
2441
+ "display",
2442
+ "heading",
2443
+ "held",
2444
+ "line"
2445
+ ],
2446
+ "status": "experimental",
2447
+ "variants": [
2448
+ {
2449
+ "defaultValue": "heading",
2450
+ "description": "Controls the size presentation axis of Hero.",
2451
+ "name": "size",
2452
+ "values": [
2453
+ {
2454
+ "description": "Use display for the size presentation.",
2455
+ "name": "display"
2456
+ },
2457
+ {
2458
+ "description": "Use heading for the size presentation.",
2459
+ "name": "heading"
2460
+ },
2461
+ {
2462
+ "description": "Use line for the size presentation.",
2463
+ "name": "line"
2464
+ }
2465
+ ]
2466
+ },
2467
+ {
2468
+ "description": "Controls the tone presentation axis of Hero.",
2469
+ "name": "tone",
2470
+ "values": [
2471
+ {
2472
+ "description": "Use blocked for the tone presentation.",
2473
+ "name": "blocked"
2474
+ },
2475
+ {
2476
+ "description": "Use held for the tone presentation.",
2477
+ "name": "held"
2478
+ }
2479
+ ]
2480
+ }
2481
+ ]
2482
+ },
2165
2483
  {
2166
2484
  "accessibility": {
2167
2485
  "automatedChecks": true,
@@ -2394,6 +2712,113 @@
2394
2712
  }
2395
2713
  ]
2396
2714
  },
2715
+ {
2716
+ "accessibility": {
2717
+ "automatedChecks": true,
2718
+ "requirements": [
2719
+ "Provide a programmatic name for interactive or informative content",
2720
+ "Preserve keyboard access, focus visibility, and color-independent meaning"
2721
+ ],
2722
+ "standard": "WCAG 2.2 AA"
2723
+ },
2724
+ "capabilities": [
2725
+ "measure",
2726
+ "present"
2727
+ ],
2728
+ "category": "primitive",
2729
+ "compatibleTokens": [
2730
+ "color",
2731
+ "motion",
2732
+ "radius",
2733
+ "space",
2734
+ "type"
2735
+ ],
2736
+ "docs": {
2737
+ "autogenerated": true,
2738
+ "storyId": "primitives-limittrack--gallery",
2739
+ "storyPath": "?path=/story/primitives-limittrack--gallery"
2740
+ },
2741
+ "example": "import { LimitTrack } from \"@knpkv/rly/primitives\"",
2742
+ "exports": [
2743
+ {
2744
+ "kind": "value",
2745
+ "name": "LimitTrack"
2746
+ },
2747
+ {
2748
+ "kind": "type",
2749
+ "name": "LimitTrackProps"
2750
+ },
2751
+ {
2752
+ "kind": "value",
2753
+ "name": "limitTrackTone"
2754
+ },
2755
+ {
2756
+ "kind": "value",
2757
+ "name": "RLY_LIMIT_TRACK_DEFAULT_VARIANTS"
2758
+ },
2759
+ {
2760
+ "kind": "value",
2761
+ "name": "RLY_LIMIT_TRACK_VARIANTS"
2762
+ },
2763
+ {
2764
+ "kind": "type",
2765
+ "name": "RlyLimitTrackSize"
2766
+ },
2767
+ {
2768
+ "kind": "type",
2769
+ "name": "RlyLimitTrackTone"
2770
+ }
2771
+ ],
2772
+ "files": {
2773
+ "source": "src/primitives/LimitTrack.tsx",
2774
+ "story": "stories/primitives/LimitTrack.stories.tsx",
2775
+ "styles": [
2776
+ "src/primitives/LimitTrack.module.css"
2777
+ ],
2778
+ "tests": [
2779
+ "test/primitives/LimitTrack.test.tsx"
2780
+ ]
2781
+ },
2782
+ "importPath": "@knpkv/rly/primitives",
2783
+ "name": "LimitTrack",
2784
+ "props": {
2785
+ "defaults": {
2786
+ "size": "default"
2787
+ },
2788
+ "types": [
2789
+ "LimitTrackProps"
2790
+ ]
2791
+ },
2792
+ "purpose": "Show how full a limit is, with a near mark, a projection, and a stale hatch",
2793
+ "slots": [],
2794
+ "states": [
2795
+ "default",
2796
+ "full",
2797
+ "near",
2798
+ "projected",
2799
+ "slim",
2800
+ "stale",
2801
+ "unknown"
2802
+ ],
2803
+ "status": "experimental",
2804
+ "variants": [
2805
+ {
2806
+ "defaultValue": "default",
2807
+ "description": "Controls the size presentation axis of LimitTrack.",
2808
+ "name": "size",
2809
+ "values": [
2810
+ {
2811
+ "description": "Use default for the size presentation.",
2812
+ "name": "default"
2813
+ },
2814
+ {
2815
+ "description": "Use slim for the size presentation.",
2816
+ "name": "slim"
2817
+ }
2818
+ ]
2819
+ }
2820
+ ]
2821
+ },
2397
2822
  {
2398
2823
  "accessibility": {
2399
2824
  "automatedChecks": true,
@@ -2466,6 +2891,120 @@
2466
2891
  "status": "stable",
2467
2892
  "variants": []
2468
2893
  },
2894
+ {
2895
+ "accessibility": {
2896
+ "automatedChecks": true,
2897
+ "requirements": [
2898
+ "Provide a programmatic name for interactive or informative content",
2899
+ "Preserve keyboard access, focus visibility, and color-independent meaning"
2900
+ ],
2901
+ "standard": "WCAG 2.2 AA"
2902
+ },
2903
+ "capabilities": [
2904
+ "message",
2905
+ "status"
2906
+ ],
2907
+ "category": "primitive",
2908
+ "compatibleTokens": [
2909
+ "color",
2910
+ "motion",
2911
+ "radius",
2912
+ "space",
2913
+ "type"
2914
+ ],
2915
+ "docs": {
2916
+ "autogenerated": true,
2917
+ "storyId": "primitives-notice--gallery",
2918
+ "storyPath": "?path=/story/primitives-notice--gallery"
2919
+ },
2920
+ "example": "import { Notice } from \"@knpkv/rly/primitives\"",
2921
+ "exports": [
2922
+ {
2923
+ "kind": "value",
2924
+ "name": "Notice"
2925
+ },
2926
+ {
2927
+ "kind": "type",
2928
+ "name": "NoticeProps"
2929
+ },
2930
+ {
2931
+ "kind": "value",
2932
+ "name": "RLY_NOTICE_DEFAULT_VARIANTS"
2933
+ },
2934
+ {
2935
+ "kind": "value",
2936
+ "name": "RLY_NOTICE_VARIANTS"
2937
+ },
2938
+ {
2939
+ "kind": "type",
2940
+ "name": "RlyNoticeAnnouncement"
2941
+ },
2942
+ {
2943
+ "kind": "type",
2944
+ "name": "RlyNoticeTone"
2945
+ }
2946
+ ],
2947
+ "files": {
2948
+ "source": "src/primitives/Notice.tsx",
2949
+ "story": "stories/primitives/Notice.stories.tsx",
2950
+ "styles": [
2951
+ "src/primitives/Notice.module.css"
2952
+ ],
2953
+ "tests": [
2954
+ "test/primitives/Notice.test.tsx"
2955
+ ]
2956
+ },
2957
+ "importPath": "@knpkv/rly/primitives",
2958
+ "name": "Notice",
2959
+ "props": {
2960
+ "defaults": {
2961
+ "tone": "neutral"
2962
+ },
2963
+ "types": [
2964
+ "NoticeProps"
2965
+ ]
2966
+ },
2967
+ "purpose": "Say one sentence of context or outcome inline, with tone and an optional action",
2968
+ "slots": [],
2969
+ "states": [
2970
+ "caution",
2971
+ "critical",
2972
+ "default",
2973
+ "neutral",
2974
+ "positive",
2975
+ "progress"
2976
+ ],
2977
+ "status": "stable",
2978
+ "variants": [
2979
+ {
2980
+ "defaultValue": "neutral",
2981
+ "description": "Controls the tone presentation axis of Notice.",
2982
+ "name": "tone",
2983
+ "values": [
2984
+ {
2985
+ "description": "Use caution for the tone presentation.",
2986
+ "name": "caution"
2987
+ },
2988
+ {
2989
+ "description": "Use critical for the tone presentation.",
2990
+ "name": "critical"
2991
+ },
2992
+ {
2993
+ "description": "Use neutral for the tone presentation.",
2994
+ "name": "neutral"
2995
+ },
2996
+ {
2997
+ "description": "Use positive for the tone presentation.",
2998
+ "name": "positive"
2999
+ },
3000
+ {
3001
+ "description": "Use progress for the tone presentation.",
3002
+ "name": "progress"
3003
+ }
3004
+ ]
3005
+ }
3006
+ ]
3007
+ },
2469
3008
  {
2470
3009
  "accessibility": {
2471
3010
  "automatedChecks": true,
@@ -2724,6 +3263,104 @@
2724
3263
  "status": "stable",
2725
3264
  "variants": []
2726
3265
  },
3266
+ {
3267
+ "accessibility": {
3268
+ "automatedChecks": true,
3269
+ "requirements": [
3270
+ "Provide a programmatic name for interactive or informative content",
3271
+ "Preserve keyboard access, focus visibility, and color-independent meaning"
3272
+ ],
3273
+ "standard": "WCAG 2.2 AA"
3274
+ },
3275
+ "capabilities": [
3276
+ "compose",
3277
+ "present"
3278
+ ],
3279
+ "category": "pattern",
3280
+ "compatibleTokens": [
3281
+ "color",
3282
+ "motion",
3283
+ "radius",
3284
+ "space",
3285
+ "type"
3286
+ ],
3287
+ "docs": {
3288
+ "autogenerated": true,
3289
+ "storyId": "patterns-region--states",
3290
+ "storyPath": "?path=/story/patterns-region--states"
3291
+ },
3292
+ "example": "import { Region } from \"@knpkv/rly/patterns\"",
3293
+ "exports": [
3294
+ {
3295
+ "kind": "value",
3296
+ "name": "Region"
3297
+ },
3298
+ {
3299
+ "kind": "type",
3300
+ "name": "RegionProps"
3301
+ },
3302
+ {
3303
+ "kind": "value",
3304
+ "name": "RLY_REGION_DEFAULT_VARIANTS"
3305
+ },
3306
+ {
3307
+ "kind": "value",
3308
+ "name": "RLY_REGION_VARIANTS"
3309
+ },
3310
+ {
3311
+ "kind": "type",
3312
+ "name": "RlyRegionHeadingLevel"
3313
+ },
3314
+ {
3315
+ "kind": "type",
3316
+ "name": "RlyRegionTone"
3317
+ }
3318
+ ],
3319
+ "files": {
3320
+ "source": "src/patterns/Region.tsx",
3321
+ "story": "stories/patterns/Region.stories.tsx",
3322
+ "styles": [
3323
+ "src/patterns/Region.module.css"
3324
+ ],
3325
+ "tests": [
3326
+ "test/patterns/Region.test.tsx"
3327
+ ]
3328
+ },
3329
+ "importPath": "@knpkv/rly/patterns",
3330
+ "name": "Region",
3331
+ "props": {
3332
+ "defaults": {
3333
+ "tone": "default"
3334
+ },
3335
+ "types": [
3336
+ "RegionProps"
3337
+ ]
3338
+ },
3339
+ "purpose": "Frame one main page region as a surface with a single header: title, plain count, actions",
3340
+ "slots": [],
3341
+ "states": [
3342
+ "default",
3343
+ "tray"
3344
+ ],
3345
+ "status": "experimental",
3346
+ "variants": [
3347
+ {
3348
+ "defaultValue": "default",
3349
+ "description": "Controls the tone presentation axis of Region.",
3350
+ "name": "tone",
3351
+ "values": [
3352
+ {
3353
+ "description": "Use default for the tone presentation.",
3354
+ "name": "default"
3355
+ },
3356
+ {
3357
+ "description": "Use tray for the tone presentation.",
3358
+ "name": "tray"
3359
+ }
3360
+ ]
3361
+ }
3362
+ ]
3363
+ },
2727
3364
  {
2728
3365
  "accessibility": {
2729
3366
  "automatedChecks": true,
@@ -2750,7 +3387,7 @@
2750
3387
  "storyId": "patterns-relationshipchain--cardinalities",
2751
3388
  "storyPath": "?path=/story/patterns-relationshipchain--cardinalities"
2752
3389
  },
2753
- "example": "import { RLY_RELATIONSHIP_DIRECTION_PRESENTATION } from \"@knpkv/rly/patterns\"",
3390
+ "example": "import { RelationshipChain } from \"@knpkv/rly/patterns\"",
2754
3391
  "exports": [
2755
3392
  {
2756
3393
  "kind": "value",
@@ -3311,7 +3948,7 @@
3311
3948
  "storyId": "primitives-select--states",
3312
3949
  "storyPath": "?path=/story/primitives-select--states"
3313
3950
  },
3314
- "example": "import { RLY_SELECT_DEFAULT_VARIANTS } from \"@knpkv/rly/primitives\"",
3951
+ "example": "import { Select } from \"@knpkv/rly/primitives\"",
3315
3952
  "exports": [
3316
3953
  {
3317
3954
  "kind": "value",
@@ -3502,7 +4139,7 @@
3502
4139
  "storyId": "patterns-servicemark--gallery",
3503
4140
  "storyPath": "?path=/story/patterns-servicemark--gallery"
3504
4141
  },
3505
- "example": "import { RLY_SERVICE_MARK_DEFAULT_VARIANTS } from \"@knpkv/rly/patterns\"",
4142
+ "example": "import { ServiceMark } from \"@knpkv/rly/patterns\"",
3506
4143
  "exports": [
3507
4144
  {
3508
4145
  "kind": "value",
@@ -3631,7 +4268,7 @@
3631
4268
  "storyId": "primitives-sheet--interaction",
3632
4269
  "storyPath": "?path=/story/primitives-sheet--interaction"
3633
4270
  },
3634
- "example": "import { RLY_SHEET_DEFAULT_VARIANTS } from \"@knpkv/rly/primitives\"",
4271
+ "example": "import { Sheet } from \"@knpkv/rly/primitives\"",
3635
4272
  "exports": [
3636
4273
  {
3637
4274
  "kind": "value",
@@ -3858,7 +4495,7 @@
3858
4495
  "storyId": "patterns-stagerail--states",
3859
4496
  "storyPath": "?path=/story/patterns-stagerail--states"
3860
4497
  },
3861
- "example": "import { RLY_STAGE_RAIL_DEFAULT_VARIANTS } from \"@knpkv/rly/patterns\"",
4498
+ "example": "import { StageRail } from \"@knpkv/rly/patterns\"",
3862
4499
  "exports": [
3863
4500
  {
3864
4501
  "kind": "value",
@@ -3912,7 +4549,8 @@
3912
4549
  "building",
3913
4550
  "compact",
3914
4551
  "complete",
3915
- "default"
4552
+ "default",
4553
+ "words"
3916
4554
  ],
3917
4555
  "status": "stable",
3918
4556
  "variants": [
@@ -3928,6 +4566,10 @@
3928
4566
  {
3929
4567
  "description": "Use default for the size presentation.",
3930
4568
  "name": "default"
4569
+ },
4570
+ {
4571
+ "description": "Use words for the size presentation.",
4572
+ "name": "words"
3931
4573
  }
3932
4574
  ]
3933
4575
  }
@@ -4359,7 +5001,7 @@
4359
5001
  "storyId": "primitives-tabs--interaction",
4360
5002
  "storyPath": "?path=/story/primitives-tabs--interaction"
4361
5003
  },
4362
- "example": "import { RLY_TABS_DEFAULT_VARIANTS } from \"@knpkv/rly/primitives\"",
5004
+ "example": "import { Tabs } from \"@knpkv/rly/primitives\"",
4363
5005
  "exports": [
4364
5006
  {
4365
5007
  "kind": "value",
@@ -4627,12 +5269,20 @@
4627
5269
  "storyId": "foundations-themeprovider--controlled",
4628
5270
  "storyPath": "?path=/story/foundations-themeprovider--controlled"
4629
5271
  },
4630
- "example": "import { RLY_THEME_NAMES } from \"@knpkv/rly/foundations\"",
5272
+ "example": "import { ThemeProvider } from \"@knpkv/rly/foundations\"",
4631
5273
  "exports": [
5274
+ {
5275
+ "kind": "value",
5276
+ "name": "decodeRlyTheme"
5277
+ },
4632
5278
  {
4633
5279
  "kind": "value",
4634
5280
  "name": "RLY_THEME_NAMES"
4635
5281
  },
5282
+ {
5283
+ "kind": "type",
5284
+ "name": "RlyPreferenceStorage"
5285
+ },
4636
5286
  {
4637
5287
  "kind": "type",
4638
5288
  "name": "RlyTheme"
@@ -4644,6 +5294,14 @@
4644
5294
  {
4645
5295
  "kind": "type",
4646
5296
  "name": "ThemeProviderProps"
5297
+ },
5298
+ {
5299
+ "kind": "value",
5300
+ "name": "useDocumentTheme"
5301
+ },
5302
+ {
5303
+ "kind": "value",
5304
+ "name": "useStoredTheme"
4647
5305
  }
4648
5306
  ],
4649
5307
  "files": {
@@ -4692,6 +5350,93 @@
4692
5350
  }
4693
5351
  ]
4694
5352
  },
5353
+ {
5354
+ "accessibility": {
5355
+ "automatedChecks": true,
5356
+ "requirements": [
5357
+ "Provide a programmatic name for interactive or informative content",
5358
+ "Preserve keyboard access, focus visibility, and color-independent meaning"
5359
+ ],
5360
+ "standard": "WCAG 2.2 AA"
5361
+ },
5362
+ "capabilities": [
5363
+ "preference",
5364
+ "theme"
5365
+ ],
5366
+ "category": "primitive",
5367
+ "compatibleTokens": [
5368
+ "color",
5369
+ "motion",
5370
+ "radius",
5371
+ "space",
5372
+ "type"
5373
+ ],
5374
+ "docs": {
5375
+ "autogenerated": true,
5376
+ "storyId": "primitives-themeselect--gallery",
5377
+ "storyPath": "?path=/story/primitives-themeselect--gallery"
5378
+ },
5379
+ "example": "import { ThemeSelect } from \"@knpkv/rly/primitives\"",
5380
+ "exports": [
5381
+ {
5382
+ "kind": "type",
5383
+ "name": "RlyThemeSelectLabelVisibility"
5384
+ },
5385
+ {
5386
+ "kind": "value",
5387
+ "name": "ThemeSelect"
5388
+ },
5389
+ {
5390
+ "kind": "type",
5391
+ "name": "ThemeSelectProps"
5392
+ }
5393
+ ],
5394
+ "files": {
5395
+ "source": "src/primitives/ThemeSelect.tsx",
5396
+ "story": "stories/primitives/ThemeSelect.stories.tsx",
5397
+ "styles": [
5398
+ "src/primitives/ThemeSelect.module.css"
5399
+ ],
5400
+ "tests": [
5401
+ "test/primitives/ThemeSelect.test.tsx"
5402
+ ]
5403
+ },
5404
+ "importPath": "@knpkv/rly/primitives",
5405
+ "name": "ThemeSelect",
5406
+ "props": {
5407
+ "defaults": {
5408
+ "labelVisibility": "visible"
5409
+ },
5410
+ "types": [
5411
+ "ThemeSelectProps"
5412
+ ]
5413
+ },
5414
+ "purpose": "Let the viewer choose the system, light, or dark theme",
5415
+ "slots": [],
5416
+ "states": [
5417
+ "default",
5418
+ "hidden",
5419
+ "visible"
5420
+ ],
5421
+ "status": "stable",
5422
+ "variants": [
5423
+ {
5424
+ "defaultValue": "visible",
5425
+ "description": "Controls the labelVisibility presentation axis of ThemeSelect.",
5426
+ "name": "labelVisibility",
5427
+ "values": [
5428
+ {
5429
+ "description": "Use hidden for the labelVisibility presentation.",
5430
+ "name": "hidden"
5431
+ },
5432
+ {
5433
+ "description": "Use visible for the labelVisibility presentation.",
5434
+ "name": "visible"
5435
+ }
5436
+ ]
5437
+ }
5438
+ ]
5439
+ },
4695
5440
  {
4696
5441
  "accessibility": {
4697
5442
  "automatedChecks": true,
@@ -4728,6 +5473,22 @@
4728
5473
  "kind": "type",
4729
5474
  "name": "RlyTimelineEvent"
4730
5475
  },
5476
+ {
5477
+ "kind": "type",
5478
+ "name": "RlyTimelineProvenance"
5479
+ },
5480
+ {
5481
+ "kind": "type",
5482
+ "name": "RlyTimelineProvenanceKind"
5483
+ },
5484
+ {
5485
+ "kind": "value",
5486
+ "name": "TimelineProvenanceKey"
5487
+ },
5488
+ {
5489
+ "kind": "type",
5490
+ "name": "TimelineProvenanceKeyProps"
5491
+ },
4731
5492
  {
4732
5493
  "kind": "value",
4733
5494
  "name": "TimelineRow"
@@ -4752,15 +5513,19 @@
4752
5513
  "props": {
4753
5514
  "defaults": {},
4754
5515
  "types": [
5516
+ "TimelineProvenanceKeyProps",
4755
5517
  "TimelineRowProps"
4756
5518
  ]
4757
5519
  },
4758
5520
  "purpose": "Present one attributable human, agent, system, or service event",
4759
- "slots": [],
5521
+ "slots": [
5522
+ "TimelineProvenanceKey"
5523
+ ],
4760
5524
  "states": [
4761
5525
  "agent",
4762
5526
  "default",
4763
5527
  "human",
5528
+ "provenance",
4764
5529
  "service",
4765
5530
  "system"
4766
5531
  ],
@@ -4792,7 +5557,7 @@
4792
5557
  "storyId": "primitives-togglegroup--interaction",
4793
5558
  "storyPath": "?path=/story/primitives-togglegroup--interaction"
4794
5559
  },
4795
- "example": "import { RLY_TOGGLE_GROUP_DEFAULT_VARIANTS } from \"@knpkv/rly/primitives\"",
5560
+ "example": "import { ToggleGroup } from \"@knpkv/rly/primitives\"",
4796
5561
  "exports": [
4797
5562
  {
4798
5563
  "kind": "value",
@@ -4865,6 +5630,85 @@
4865
5630
  }
4866
5631
  ]
4867
5632
  },
5633
+ {
5634
+ "accessibility": {
5635
+ "automatedChecks": true,
5636
+ "requirements": [
5637
+ "Provide a programmatic name for interactive or informative content",
5638
+ "Preserve keyboard access, focus visibility, and color-independent meaning"
5639
+ ],
5640
+ "standard": "WCAG 2.2 AA"
5641
+ },
5642
+ "capabilities": [
5643
+ "explain",
5644
+ "present"
5645
+ ],
5646
+ "category": "primitive",
5647
+ "compatibleTokens": [
5648
+ "color",
5649
+ "motion",
5650
+ "radius",
5651
+ "space",
5652
+ "type"
5653
+ ],
5654
+ "docs": {
5655
+ "autogenerated": true,
5656
+ "storyId": "primitives-trackkey--all-marks",
5657
+ "storyPath": "?path=/story/primitives-trackkey--all-marks"
5658
+ },
5659
+ "example": "import { TrackKey } from \"@knpkv/rly/primitives\"",
5660
+ "exports": [
5661
+ {
5662
+ "kind": "value",
5663
+ "name": "RLY_TRACK_KEY_MARKS"
5664
+ },
5665
+ {
5666
+ "kind": "type",
5667
+ "name": "RlyTrackKeyItem"
5668
+ },
5669
+ {
5670
+ "kind": "type",
5671
+ "name": "RlyTrackKeyMark"
5672
+ },
5673
+ {
5674
+ "kind": "value",
5675
+ "name": "TrackKey"
5676
+ },
5677
+ {
5678
+ "kind": "type",
5679
+ "name": "TrackKeyProps"
5680
+ }
5681
+ ],
5682
+ "files": {
5683
+ "source": "src/primitives/TrackKey.tsx",
5684
+ "story": "stories/primitives/TrackKey.stories.tsx",
5685
+ "styles": [
5686
+ "src/primitives/TrackKey.module.css"
5687
+ ],
5688
+ "tests": [
5689
+ "test/primitives/TrackKey.test.tsx"
5690
+ ]
5691
+ },
5692
+ "importPath": "@knpkv/rly/primitives",
5693
+ "name": "TrackKey",
5694
+ "props": {
5695
+ "defaults": {},
5696
+ "types": [
5697
+ "TrackKeyProps"
5698
+ ]
5699
+ },
5700
+ "purpose": "Explain the marks a set of limit tracks draws",
5701
+ "slots": [],
5702
+ "states": [
5703
+ "default",
5704
+ "near",
5705
+ "projected",
5706
+ "stale",
5707
+ "unknown"
5708
+ ],
5709
+ "status": "experimental",
5710
+ "variants": []
5711
+ },
4868
5712
  {
4869
5713
  "accessibility": {
4870
5714
  "automatedChecks": true,
@@ -4891,7 +5735,7 @@
4891
5735
  "storyId": "patterns-verdict--states",
4892
5736
  "storyPath": "?path=/story/patterns-verdict--states"
4893
5737
  },
4894
- "example": "import { RLY_VERDICT_VARIANTS } from \"@knpkv/rly/patterns\"",
5738
+ "example": "import { Verdict } from \"@knpkv/rly/patterns\"",
4895
5739
  "exports": [
4896
5740
  {
4897
5741
  "kind": "value",