@hjmds/design-contracts 0.8.2 → 0.9.1

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/LICENSE +21 -0
  2. package/README.md +17 -10
  3. package/dist/aspect-ratio.d.ts +31 -0
  4. package/dist/aspect-ratio.d.ts.map +1 -0
  5. package/dist/aspect-ratio.js +42 -0
  6. package/dist/aspect-ratio.js.map +1 -0
  7. package/dist/base-recipes.d.ts +1 -1
  8. package/dist/base-recipes.js +1 -1
  9. package/dist/base-recipes.js.map +1 -1
  10. package/dist/catalog.d.ts +102 -10
  11. package/dist/catalog.d.ts.map +1 -1
  12. package/dist/catalog.js +11 -5
  13. package/dist/catalog.js.map +1 -1
  14. package/dist/colors.d.ts +5 -1
  15. package/dist/colors.d.ts.map +1 -1
  16. package/dist/colors.js +7 -3
  17. package/dist/colors.js.map +1 -1
  18. package/dist/component-definitions.d.ts +3 -0
  19. package/dist/component-definitions.d.ts.map +1 -1
  20. package/dist/component-definitions.js +3 -0
  21. package/dist/component-definitions.js.map +1 -1
  22. package/dist/container.d.ts +40 -0
  23. package/dist/container.d.ts.map +1 -0
  24. package/dist/container.js +43 -0
  25. package/dist/container.js.map +1 -0
  26. package/dist/icon-button-recipe.d.ts +1 -1
  27. package/dist/icon-button-recipe.js +1 -1
  28. package/dist/icon-button-recipe.js.map +1 -1
  29. package/dist/index.d.ts +3 -0
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +3 -0
  32. package/dist/index.js.map +1 -1
  33. package/dist/recipes.d.ts +3 -0
  34. package/dist/recipes.d.ts.map +1 -1
  35. package/dist/recipes.js +3 -0
  36. package/dist/recipes.js.map +1 -1
  37. package/dist/semantic-colors.d.ts +5 -0
  38. package/dist/semantic-colors.d.ts.map +1 -1
  39. package/dist/semantic-colors.js +1 -0
  40. package/dist/semantic-colors.js.map +1 -1
  41. package/dist/version.d.ts +1 -1
  42. package/dist/version.js +1 -1
  43. package/dist/version.js.map +1 -1
  44. package/dist/visually-hidden.d.ts +21 -0
  45. package/dist/visually-hidden.d.ts.map +1 -0
  46. package/dist/visually-hidden.js +20 -0
  47. package/dist/visually-hidden.js.map +1 -0
  48. package/docs/architecture.md +3 -2
  49. package/docs/aspect-ratio.md +25 -0
  50. package/docs/consumer-policy.md +177 -0
  51. package/docs/container.md +24 -0
  52. package/docs/cross-platform-core-normalization.md +24 -7
  53. package/docs/generated/component-maturity.md +11 -8
  54. package/docs/generated/renderer-evidence.json +257 -25
  55. package/docs/generated/renderer-evidence.md +16 -11
  56. package/docs/generated/showcase-manifest.json +141 -9
  57. package/docs/identity.md +5 -2
  58. package/docs/library-gap-analysis.md +65 -0
  59. package/docs/migration-0.6.md +4 -0
  60. package/docs/migration-0.9.1.md +15 -0
  61. package/docs/stable-core.md +26 -0
  62. package/docs/visually-hidden.md +20 -0
  63. package/package.json +25 -2
  64. package/docs/consumer-release-gate.md +0 -90
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "designSystemVersion": "0.8.2",
3
+ "designSystemVersion": "0.9.1",
4
4
  "source": "packages/design-contracts/docs/generated/showcase-manifest.json",
5
5
  "surfaces": {
6
6
  "web": {
7
7
  "packageName": "@hjmds/react",
8
- "packageVersion": "0.8.2",
9
- "activeComponents": 60,
10
- "claimedComponents": 60,
11
- "completeScenarioComponents": 29,
8
+ "packageVersion": "0.9.1",
9
+ "activeComponents": 63,
10
+ "claimedComponents": 63,
11
+ "completeScenarioComponents": 33,
12
12
  "components": [
13
13
  {
14
14
  "componentId": "text",
@@ -101,7 +101,7 @@
101
101
  {
102
102
  "componentId": "surface",
103
103
  "name": "Surface",
104
- "status": "beta",
104
+ "status": "stable",
105
105
  "claimed": true,
106
106
  "subpath": "./layout",
107
107
  "exportNames": [
@@ -274,6 +274,94 @@
274
274
  ],
275
275
  "missingScenarios": []
276
276
  },
277
+ {
278
+ "componentId": "container",
279
+ "name": "Container",
280
+ "status": "beta",
281
+ "claimed": true,
282
+ "subpath": "./layout",
283
+ "exportNames": [
284
+ "Container"
285
+ ],
286
+ "proofs": [
287
+ {
288
+ "scenarios": [
289
+ "default",
290
+ "dark",
291
+ "long-copy",
292
+ "large-text",
293
+ "rtl",
294
+ "reduced-motion",
295
+ "accessibility"
296
+ ],
297
+ "file": "test/default-render.ssr.test.tsx",
298
+ "caseId": "container"
299
+ }
300
+ ],
301
+ "requiredScenarios": [
302
+ "default",
303
+ "dark",
304
+ "long-copy",
305
+ "large-text",
306
+ "rtl",
307
+ "reduced-motion",
308
+ "accessibility"
309
+ ],
310
+ "claimedScenarios": [
311
+ "default",
312
+ "dark",
313
+ "long-copy",
314
+ "large-text",
315
+ "rtl",
316
+ "reduced-motion",
317
+ "accessibility"
318
+ ],
319
+ "missingScenarios": []
320
+ },
321
+ {
322
+ "componentId": "aspect-ratio",
323
+ "name": "AspectRatio",
324
+ "status": "beta",
325
+ "claimed": true,
326
+ "subpath": "./layout",
327
+ "exportNames": [
328
+ "AspectRatio"
329
+ ],
330
+ "proofs": [
331
+ {
332
+ "scenarios": [
333
+ "default",
334
+ "dark",
335
+ "long-copy",
336
+ "large-text",
337
+ "rtl",
338
+ "reduced-motion",
339
+ "accessibility"
340
+ ],
341
+ "file": "test/default-render.ssr.test.tsx",
342
+ "caseId": "aspect-ratio"
343
+ }
344
+ ],
345
+ "requiredScenarios": [
346
+ "default",
347
+ "dark",
348
+ "long-copy",
349
+ "large-text",
350
+ "rtl",
351
+ "reduced-motion",
352
+ "accessibility"
353
+ ],
354
+ "claimedScenarios": [
355
+ "default",
356
+ "dark",
357
+ "long-copy",
358
+ "large-text",
359
+ "rtl",
360
+ "reduced-motion",
361
+ "accessibility"
362
+ ],
363
+ "missingScenarios": []
364
+ },
277
365
  {
278
366
  "componentId": "grid",
279
367
  "name": "Grid",
@@ -373,7 +461,7 @@
373
461
  {
374
462
  "componentId": "button",
375
463
  "name": "Button",
376
- "status": "beta",
464
+ "status": "stable",
377
465
  "claimed": true,
378
466
  "subpath": "./actions",
379
467
  "exportNames": [
@@ -510,7 +598,7 @@
510
598
  {
511
599
  "componentId": "field",
512
600
  "name": "Field",
513
- "status": "beta",
601
+ "status": "stable",
514
602
  "claimed": true,
515
603
  "subpath": "./forms",
516
604
  "exportNames": [
@@ -530,6 +618,13 @@
530
618
  ],
531
619
  "file": "test/default-render.ssr.test.tsx",
532
620
  "caseId": "field"
621
+ },
622
+ {
623
+ "scenarios": [
624
+ "keyboard"
625
+ ],
626
+ "file": "test/stable-core.browser.test.tsx",
627
+ "caseId": "field"
533
628
  }
534
629
  ],
535
630
  "requiredScenarios": [
@@ -549,11 +644,10 @@
549
644
  "large-text",
550
645
  "rtl",
551
646
  "reduced-motion",
552
- "accessibility"
553
- ],
554
- "missingScenarios": [
647
+ "accessibility",
555
648
  "keyboard"
556
- ]
649
+ ],
650
+ "missingScenarios": []
557
651
  },
558
652
  {
559
653
  "componentId": "search-field",
@@ -605,7 +699,7 @@
605
699
  {
606
700
  "componentId": "text-area",
607
701
  "name": "TextArea",
608
- "status": "beta",
702
+ "status": "stable",
609
703
  "claimed": true,
610
704
  "subpath": "./forms",
611
705
  "exportNames": [
@@ -2775,15 +2869,59 @@
2775
2869
  "accessibility"
2776
2870
  ],
2777
2871
  "missingScenarios": []
2872
+ },
2873
+ {
2874
+ "componentId": "visually-hidden",
2875
+ "name": "VisuallyHidden",
2876
+ "status": "beta",
2877
+ "claimed": true,
2878
+ "subpath": "./layout",
2879
+ "exportNames": [
2880
+ "VisuallyHidden"
2881
+ ],
2882
+ "proofs": [
2883
+ {
2884
+ "scenarios": [
2885
+ "default",
2886
+ "dark",
2887
+ "long-copy",
2888
+ "large-text",
2889
+ "rtl",
2890
+ "reduced-motion",
2891
+ "accessibility"
2892
+ ],
2893
+ "file": "test/default-render.ssr.test.tsx",
2894
+ "caseId": "visually-hidden"
2895
+ }
2896
+ ],
2897
+ "requiredScenarios": [
2898
+ "default",
2899
+ "dark",
2900
+ "long-copy",
2901
+ "large-text",
2902
+ "rtl",
2903
+ "reduced-motion",
2904
+ "accessibility"
2905
+ ],
2906
+ "claimedScenarios": [
2907
+ "default",
2908
+ "dark",
2909
+ "long-copy",
2910
+ "large-text",
2911
+ "rtl",
2912
+ "reduced-motion",
2913
+ "accessibility"
2914
+ ],
2915
+ "missingScenarios": []
2778
2916
  }
2779
2917
  ]
2780
2918
  },
2781
2919
  "native": {
2782
2920
  "packageName": "@hjmds/react-native",
2783
- "packageVersion": "0.8.2",
2784
- "activeComponents": 61,
2785
- "claimedComponents": 61,
2786
- "completeScenarioComponents": 31,
2921
+ "packageVersion": "0.9.1",
2922
+ "activeComponents": 63,
2923
+ "claimedComponents": 63,
2924
+ "completeScenarioComponents": 34,
2787
2925
  "components": [
2788
2926
  {
2789
2927
  "componentId": "text",
@@ -2876,7 +3014,7 @@
2876
3014
  {
2877
3015
  "componentId": "surface",
2878
3016
  "name": "Surface",
2879
- "status": "beta",
3017
+ "status": "stable",
2880
3018
  "claimed": true,
2881
3019
  "subpath": "./primitives",
2882
3020
  "exportNames": [
@@ -3049,6 +3187,94 @@
3049
3187
  ],
3050
3188
  "missingScenarios": []
3051
3189
  },
3190
+ {
3191
+ "componentId": "container",
3192
+ "name": "Container",
3193
+ "status": "beta",
3194
+ "claimed": true,
3195
+ "subpath": "./primitives",
3196
+ "exportNames": [
3197
+ "Container"
3198
+ ],
3199
+ "proofs": [
3200
+ {
3201
+ "scenarios": [
3202
+ "default",
3203
+ "dark",
3204
+ "long-copy",
3205
+ "large-text",
3206
+ "rtl",
3207
+ "reduced-motion",
3208
+ "accessibility"
3209
+ ],
3210
+ "file": "test/default-render.test.tsx",
3211
+ "caseId": "container"
3212
+ }
3213
+ ],
3214
+ "requiredScenarios": [
3215
+ "default",
3216
+ "dark",
3217
+ "long-copy",
3218
+ "large-text",
3219
+ "rtl",
3220
+ "reduced-motion",
3221
+ "accessibility"
3222
+ ],
3223
+ "claimedScenarios": [
3224
+ "default",
3225
+ "dark",
3226
+ "long-copy",
3227
+ "large-text",
3228
+ "rtl",
3229
+ "reduced-motion",
3230
+ "accessibility"
3231
+ ],
3232
+ "missingScenarios": []
3233
+ },
3234
+ {
3235
+ "componentId": "aspect-ratio",
3236
+ "name": "AspectRatio",
3237
+ "status": "beta",
3238
+ "claimed": true,
3239
+ "subpath": "./primitives",
3240
+ "exportNames": [
3241
+ "AspectRatio"
3242
+ ],
3243
+ "proofs": [
3244
+ {
3245
+ "scenarios": [
3246
+ "default",
3247
+ "dark",
3248
+ "long-copy",
3249
+ "large-text",
3250
+ "rtl",
3251
+ "reduced-motion",
3252
+ "accessibility"
3253
+ ],
3254
+ "file": "test/default-render.test.tsx",
3255
+ "caseId": "aspect-ratio"
3256
+ }
3257
+ ],
3258
+ "requiredScenarios": [
3259
+ "default",
3260
+ "dark",
3261
+ "long-copy",
3262
+ "large-text",
3263
+ "rtl",
3264
+ "reduced-motion",
3265
+ "accessibility"
3266
+ ],
3267
+ "claimedScenarios": [
3268
+ "default",
3269
+ "dark",
3270
+ "long-copy",
3271
+ "large-text",
3272
+ "rtl",
3273
+ "reduced-motion",
3274
+ "accessibility"
3275
+ ],
3276
+ "missingScenarios": []
3277
+ },
3052
3278
  {
3053
3279
  "componentId": "grid",
3054
3280
  "name": "Grid",
@@ -3148,7 +3374,7 @@
3148
3374
  {
3149
3375
  "componentId": "button",
3150
3376
  "name": "Button",
3151
- "status": "beta",
3377
+ "status": "stable",
3152
3378
  "claimed": true,
3153
3379
  "subpath": "./actions",
3154
3380
  "exportNames": [
@@ -3329,7 +3555,7 @@
3329
3555
  {
3330
3556
  "componentId": "field",
3331
3557
  "name": "Field",
3332
- "status": "beta",
3558
+ "status": "stable",
3333
3559
  "claimed": true,
3334
3560
  "subpath": "./forms",
3335
3561
  "exportNames": [
@@ -3348,6 +3574,13 @@
3348
3574
  ],
3349
3575
  "file": "test/default-render.test.tsx",
3350
3576
  "caseId": "field"
3577
+ },
3578
+ {
3579
+ "scenarios": [
3580
+ "keyboard"
3581
+ ],
3582
+ "file": "test/stable-core.test.tsx",
3583
+ "caseId": "field"
3351
3584
  }
3352
3585
  ],
3353
3586
  "requiredScenarios": [
@@ -3367,11 +3600,10 @@
3367
3600
  "large-text",
3368
3601
  "rtl",
3369
3602
  "reduced-motion",
3370
- "accessibility"
3371
- ],
3372
- "missingScenarios": [
3603
+ "accessibility",
3373
3604
  "keyboard"
3374
- ]
3605
+ ],
3606
+ "missingScenarios": []
3375
3607
  },
3376
3608
  {
3377
3609
  "componentId": "search-field",
@@ -3423,7 +3655,7 @@
3423
3655
  {
3424
3656
  "componentId": "text-area",
3425
3657
  "name": "TextArea",
3426
- "status": "beta",
3658
+ "status": "stable",
3427
3659
  "claimed": true,
3428
3660
  "subpath": "./inputs",
3429
3661
  "exportNames": [
@@ -1,28 +1,30 @@
1
1
  # Renderer evidence coverage
2
2
 
3
- > Generated for HJM 0.8.2. Do not edit directly; run `pnpm evidence:sync`.
3
+ > Generated for HJM 0.9.1. Do not edit directly; run `pnpm evidence:sync`.
4
4
 
5
5
  This projection joins the canonical surface maturity manifest with first-party renderer claims. Missing scenarios are explicit beta promotion debt; stable surfaces are blocked by CI until none remain.
6
6
 
7
- - web: 60/60 active implementations; 29/60 full scenario sets
8
- - native: 61/61 active implementations; 31/61 full scenario sets
7
+ - web: 63/63 active implementations; 33/63 full scenario sets
8
+ - native: 63/63 active implementations; 34/63 full scenario sets
9
9
 
10
10
  | Component | Surface | Maturity | Renderer package | Export | Claimed scenarios | Missing required scenarios | Executable proofs |
11
11
  | --- | --- | --- | --- | --- | --- | --- | --- |
12
12
  | Text | web | beta | @hjmds/react | ./layout | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | none | test/default-render.ssr.test.tsx#text |
13
13
  | Icon | web | beta | @hjmds/react | ./display | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | none | test/default-render.ssr.test.tsx#icon |
14
- | Surface | web | beta | @hjmds/react | ./layout | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | none | test/default-render.ssr.test.tsx#surface |
14
+ | Surface | web | stable | @hjmds/react | ./layout | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | none | test/default-render.ssr.test.tsx#surface |
15
15
  | Divider | web | beta | @hjmds/react | ./display | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | none | test/default-render.ssr.test.tsx#divider |
16
16
  | Section | web | beta | @hjmds/react | ./layout | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | none | test/default-render.ssr.test.tsx#section |
17
17
  | Stack | web | beta | @hjmds/react | ./layout | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | none | test/default-render.ssr.test.tsx#stack |
18
+ | Container | web | beta | @hjmds/react | ./layout | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | none | test/default-render.ssr.test.tsx#container |
19
+ | AspectRatio | web | beta | @hjmds/react | ./layout | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | none | test/default-render.ssr.test.tsx#aspect-ratio |
18
20
  | Grid | web | beta | @hjmds/react | ./layout | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | platform-parity | test/default-render.ssr.test.tsx#grid |
19
21
  | Layout | web | beta | @hjmds/react | ./layout | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | keyboard, platform-parity | test/default-render.ssr.test.tsx#layout |
20
- | Button | web | beta | @hjmds/react | ./actions | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | none | test/default-render.ssr.test.tsx#button |
22
+ | Button | web | stable | @hjmds/react | ./actions | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | none | test/default-render.ssr.test.tsx#button |
21
23
  | IconButton | web | beta | @hjmds/react | ./actions | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | none | test/default-render.ssr.test.tsx#icon-button |
22
24
  | Link | web | beta | @hjmds/react | ./actions | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | keyboard, platform-parity | test/default-render.ssr.test.tsx#link |
23
- | Field | web | beta | @hjmds/react | ./forms | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | keyboard | test/default-render.ssr.test.tsx#field |
25
+ | Field | web | stable | @hjmds/react | ./forms | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard | none | test/default-render.ssr.test.tsx#field, test/stable-core.browser.test.tsx#field |
24
26
  | SearchField | web | beta | @hjmds/react | ./forms | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | keyboard | test/default-render.ssr.test.tsx#search-field |
25
- | TextArea | web | beta | @hjmds/react | ./forms | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | none | test/default-render.ssr.test.tsx#text-area |
27
+ | TextArea | web | stable | @hjmds/react | ./forms | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | none | test/default-render.ssr.test.tsx#text-area |
26
28
  | PasswordField | web | beta | @hjmds/react | ./password-field | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | keyboard, platform-parity | test/default-render.ssr.test.tsx#password-field |
27
29
  | OtpField | web | beta | @hjmds/react | ./otp-field | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | keyboard, platform-parity | test/default-render.ssr.test.tsx#otp-field |
28
30
  | Checkbox | web | beta | @hjmds/react | ./selection | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | keyboard | test/default-render.ssr.test.tsx#checkbox |
@@ -69,21 +71,24 @@ This projection joins the canonical surface maturity manifest with first-party r
69
71
  | Sheet | web | beta | @hjmds/react | ./overlays | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | keyboard, platform-parity | test/default-render.ssr.test.tsx#sheet |
70
72
  | Tooltip | web | beta | @hjmds/react | ./overlays | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | keyboard | test/default-render.ssr.test.tsx#tooltip |
71
73
  | DesignSystemProvider | web | beta | @hjmds/react | ./provider | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | none | test/default-render.ssr.test.tsx#design-system-provider |
74
+ | VisuallyHidden | web | beta | @hjmds/react | ./layout | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | none | test/default-render.ssr.test.tsx#visually-hidden |
72
75
  | Text | native | beta | @hjmds/react-native | ./primitives | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | none | test/default-render.test.tsx#text |
73
76
  | Icon | native | beta | @hjmds/react-native | ./primitives | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | none | test/default-render.test.tsx#icon |
74
- | Surface | native | beta | @hjmds/react-native | ./primitives | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | none | test/default-render.test.tsx#surface |
77
+ | Surface | native | stable | @hjmds/react-native | ./primitives | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | none | test/default-render.test.tsx#surface |
75
78
  | Divider | native | beta | @hjmds/react-native | ./data-display | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | none | test/default-render.test.tsx#divider |
76
79
  | Section | native | beta | @hjmds/react-native | ./primitives | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | none | test/default-render.test.tsx#section |
77
80
  | Stack | native | beta | @hjmds/react-native | ./primitives | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | none | test/default-render.test.tsx#stack |
81
+ | Container | native | beta | @hjmds/react-native | ./primitives | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | none | test/default-render.test.tsx#container |
82
+ | AspectRatio | native | beta | @hjmds/react-native | ./primitives | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | none | test/default-render.test.tsx#aspect-ratio |
78
83
  | Grid | native | beta | @hjmds/react-native | ./primitives | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | platform-parity | test/default-render.test.tsx#grid |
79
84
  | Layout | native | beta | @hjmds/react-native | ./primitives | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | keyboard, platform-parity | test/default-render.test.tsx#layout |
80
- | Button | native | beta | @hjmds/react-native | ./actions | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | none | test/default-render.test.tsx#button |
85
+ | Button | native | stable | @hjmds/react-native | ./actions | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | none | test/default-render.test.tsx#button |
81
86
  | IconButton | native | beta | @hjmds/react-native | ./actions | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | none | test/default-render.test.tsx#icon-button |
82
87
  | Link | native | beta | @hjmds/react-native | ./actions | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | keyboard, platform-parity | test/default-render.test.tsx#link |
83
88
  | BottomCTA | native | beta | @hjmds/react-native | ./actions | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | none | test/default-render.test.tsx#bottom-cta |
84
- | Field | native | beta | @hjmds/react-native | ./forms | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | keyboard | test/default-render.test.tsx#field |
89
+ | Field | native | stable | @hjmds/react-native | ./forms | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard | none | test/default-render.test.tsx#field, test/stable-core.test.tsx#field |
85
90
  | SearchField | native | beta | @hjmds/react-native | ./inputs | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | keyboard | test/default-render.test.tsx#search-field |
86
- | TextArea | native | beta | @hjmds/react-native | ./inputs | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | none | test/default-render.test.tsx#text-area |
91
+ | TextArea | native | stable | @hjmds/react-native | ./inputs | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | none | test/default-render.test.tsx#text-area |
87
92
  | PasswordField | native | beta | @hjmds/react-native | ./password-field | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | keyboard, platform-parity | test/default-render.test.tsx#password-field |
88
93
  | OtpField | native | beta | @hjmds/react-native | ./otp-field | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | keyboard, platform-parity | test/default-render.test.tsx#otp-field |
89
94
  | Checkbox | native | beta | @hjmds/react-native | ./inputs | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | keyboard | test/default-render.test.tsx#checkbox |
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schemaVersion": 2,
3
- "designSystemVersion": "0.8.2",
3
+ "designSystemVersion": "0.9.1",
4
4
  "packageName": "@hjmds/design-contracts",
5
5
  "components": [
6
6
  {
@@ -107,8 +107,8 @@
107
107
  "platform": "shared",
108
108
  "contractStatus": "stable",
109
109
  "surfaces": {
110
- "web": "beta",
111
- "native": "beta"
110
+ "web": "stable",
111
+ "native": "stable"
112
112
  },
113
113
  "requirements": [
114
114
  {
@@ -291,6 +291,102 @@
291
291
  "authored": null
292
292
  }
293
293
  },
294
+ {
295
+ "id": "container",
296
+ "storyId": "layout/container",
297
+ "name": "Container",
298
+ "category": "layout",
299
+ "platform": "shared",
300
+ "contractStatus": "beta",
301
+ "surfaces": {
302
+ "web": "beta",
303
+ "native": "beta"
304
+ },
305
+ "requirements": [
306
+ {
307
+ "surface": "contract",
308
+ "scenarios": [
309
+ "contract"
310
+ ]
311
+ },
312
+ {
313
+ "surface": "web",
314
+ "scenarios": [
315
+ "default",
316
+ "dark",
317
+ "long-copy",
318
+ "large-text",
319
+ "rtl",
320
+ "reduced-motion",
321
+ "accessibility"
322
+ ]
323
+ },
324
+ {
325
+ "surface": "native",
326
+ "scenarios": [
327
+ "default",
328
+ "dark",
329
+ "long-copy",
330
+ "large-text",
331
+ "rtl",
332
+ "reduced-motion",
333
+ "accessibility"
334
+ ]
335
+ }
336
+ ],
337
+ "documentation": {
338
+ "generated": "docs/generated/component-maturity.md",
339
+ "authored": "docs/container.md"
340
+ }
341
+ },
342
+ {
343
+ "id": "aspect-ratio",
344
+ "storyId": "layout/aspect-ratio",
345
+ "name": "AspectRatio",
346
+ "category": "layout",
347
+ "platform": "shared",
348
+ "contractStatus": "beta",
349
+ "surfaces": {
350
+ "web": "beta",
351
+ "native": "beta"
352
+ },
353
+ "requirements": [
354
+ {
355
+ "surface": "contract",
356
+ "scenarios": [
357
+ "contract"
358
+ ]
359
+ },
360
+ {
361
+ "surface": "web",
362
+ "scenarios": [
363
+ "default",
364
+ "dark",
365
+ "long-copy",
366
+ "large-text",
367
+ "rtl",
368
+ "reduced-motion",
369
+ "accessibility"
370
+ ]
371
+ },
372
+ {
373
+ "surface": "native",
374
+ "scenarios": [
375
+ "default",
376
+ "dark",
377
+ "long-copy",
378
+ "large-text",
379
+ "rtl",
380
+ "reduced-motion",
381
+ "accessibility"
382
+ ]
383
+ }
384
+ ],
385
+ "documentation": {
386
+ "generated": "docs/generated/component-maturity.md",
387
+ "authored": "docs/aspect-ratio.md"
388
+ }
389
+ },
294
390
  {
295
391
  "id": "grid",
296
392
  "storyId": "layout/grid",
@@ -449,8 +545,8 @@
449
545
  "platform": "shared",
450
546
  "contractStatus": "stable",
451
547
  "surfaces": {
452
- "web": "beta",
453
- "native": "beta"
548
+ "web": "stable",
549
+ "native": "stable"
454
550
  },
455
551
  "requirements": [
456
552
  {
@@ -657,8 +753,8 @@
657
753
  "platform": "shared",
658
754
  "contractStatus": "stable",
659
755
  "surfaces": {
660
- "web": "beta",
661
- "native": "beta"
756
+ "web": "stable",
757
+ "native": "stable"
662
758
  },
663
759
  "requirements": [
664
760
  {
@@ -757,8 +853,8 @@
757
853
  "platform": "shared",
758
854
  "contractStatus": "stable",
759
855
  "surfaces": {
760
- "web": "beta",
761
- "native": "beta"
856
+ "web": "stable",
857
+ "native": "stable"
762
858
  },
763
859
  "requirements": [
764
860
  {
@@ -3727,6 +3823,42 @@
3727
3823
  "generated": "docs/generated/component-maturity.md",
3728
3824
  "authored": "docs/utility.md"
3729
3825
  }
3826
+ },
3827
+ {
3828
+ "id": "visually-hidden",
3829
+ "storyId": "utility/visually-hidden",
3830
+ "name": "VisuallyHidden",
3831
+ "category": "utility",
3832
+ "platform": "web",
3833
+ "contractStatus": "beta",
3834
+ "surfaces": {
3835
+ "web": "beta",
3836
+ "native": "unsupported"
3837
+ },
3838
+ "requirements": [
3839
+ {
3840
+ "surface": "contract",
3841
+ "scenarios": [
3842
+ "contract"
3843
+ ]
3844
+ },
3845
+ {
3846
+ "surface": "web",
3847
+ "scenarios": [
3848
+ "default",
3849
+ "dark",
3850
+ "long-copy",
3851
+ "large-text",
3852
+ "rtl",
3853
+ "reduced-motion",
3854
+ "accessibility"
3855
+ ]
3856
+ }
3857
+ ],
3858
+ "documentation": {
3859
+ "generated": "docs/generated/component-maturity.md",
3860
+ "authored": "docs/visually-hidden.md"
3861
+ }
3730
3862
  }
3731
3863
  ]
3732
3864
  }