@hjmds/design-contracts 1.47.0 → 1.48.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.
- package/dist/catalog.d.ts +22 -18
- package/dist/catalog.d.ts.map +1 -1
- package/dist/catalog.js +11 -11
- package/dist/catalog.js.map +1 -1
- package/dist/component-recipes.d.ts +5 -1
- package/dist/component-recipes.d.ts.map +1 -1
- package/dist/component-recipes.js +4 -2
- package/dist/component-recipes.js.map +1 -1
- package/dist/data-table.d.ts +12 -0
- package/dist/data-table.d.ts.map +1 -1
- package/dist/data-table.js +2 -0
- package/dist/data-table.js.map +1 -1
- package/dist/share-sheet.d.ts +115 -0
- package/dist/share-sheet.d.ts.map +1 -0
- package/dist/share-sheet.js +62 -0
- package/dist/share-sheet.js.map +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/docs/dialog.md +2 -3
- package/docs/generated/component-maturity.md +12 -12
- package/docs/generated/renderer-evidence.json +16 -16
- package/docs/generated/renderer-evidence.md +14 -14
- package/docs/generated/showcase-manifest.json +19 -19
- package/docs/optional-adapters.md +21 -5
- package/docs/stable-core.md +37 -0
- package/docs/usage/README.md +12 -11
- package/docs/usage/components/badge.md +10 -1
- package/docs/usage/components/data-table.md +2 -0
- package/docs/usage/components/dialog.md +3 -3
- package/docs/usage/components/follow-list-screen.md +3 -3
- package/docs/usage/components/share-sheet.md +139 -0
- package/docs/usage/components/shared-transition-element.md +1 -1
- package/docs/usage/compositions/interaction-adapters.md +2 -2
- package/docs/usage/compositions/optional-adapters.md +2 -2
- package/docs/usage/screens/common-follow-list.md +3 -3
- package/package.json +7 -1
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
# Component maturity and evidence manifest
|
|
2
2
|
|
|
3
|
-
> Generated from `@hjmds/design-contracts` 1.
|
|
3
|
+
> Generated from `@hjmds/design-contracts` 1.48.0. Do not edit this file directly; run `pnpm contracts:sync`.
|
|
4
4
|
|
|
5
5
|
This document is the human-readable projection of the same catalog and Showcase manifest consumed by product CI.
|
|
6
6
|
|
|
7
|
-
- Contract: stable
|
|
8
|
-
- Web renderer: stable
|
|
9
|
-
- Native renderer: stable
|
|
7
|
+
- Contract: stable 131
|
|
8
|
+
- Web renderer: stable 131
|
|
9
|
+
- Native renderer: stable 114 · unsupported 17
|
|
10
10
|
|
|
11
11
|
| Component | Canonical story ID | Contract | Web | Native | Documentation | Required evidence |
|
|
12
12
|
| --- | --- | --- | --- | --- | --- | --- |
|
|
@@ -43,7 +43,7 @@ This document is the human-readable projection of the same catalog and Showcase
|
|
|
43
43
|
| RadioGroup | `input/radio-group` | stable | stable | stable | generated only | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard; native: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, native-actions |
|
|
44
44
|
| Switch | `input/switch` | stable | stable | stable | generated only | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard; native: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, native-actions |
|
|
45
45
|
| Chip | `input/chip` | stable | stable | stable | generated only | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard; native: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, native-actions |
|
|
46
|
-
| ImageChoiceGroup | `input/image-choice-group` |
|
|
46
|
+
| ImageChoiceGroup | `input/image-choice-group` | stable | stable | stable | generated only | contract: contract; web: default, dark, large-text, rtl, reduced-motion, accessibility; native: default, dark, large-text, rtl, reduced-motion, accessibility |
|
|
47
47
|
| SegmentedControl | `input/segmented-control` | stable | stable | stable | generated only | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard; native: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, native-actions |
|
|
48
48
|
| ToggleGroup | `input/toggle-group` | stable | stable | stable | [authored](../toggle-group.md) | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard; native: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, native-actions |
|
|
49
49
|
| TagsInput | `input/tags-input` | stable | stable | stable | [authored](../tags-input.md) | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard; native: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, native-actions |
|
|
@@ -54,7 +54,7 @@ This document is the human-readable projection of the same catalog and Showcase
|
|
|
54
54
|
| TimePicker | `input/time-picker` | stable | stable | stable | [authored](../time-picker.md) | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard; native: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, native-actions |
|
|
55
55
|
| DatePicker | `input/date-picker` | stable | stable | stable | [authored](../date-picker.md) | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard; native: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, native-actions |
|
|
56
56
|
| DateRangePicker | `input/date-range-picker` | stable | stable | stable | generated only | contract: contract; web: default, dark, large-text, rtl, reduced-motion, accessibility, keyboard; native: default, dark, large-text, rtl, reduced-motion, accessibility, native-actions |
|
|
57
|
-
| ColorPicker | `input/color-picker` | stable | stable |
|
|
57
|
+
| ColorPicker | `input/color-picker` | stable | stable | stable | [authored](../color-picker.md) | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard; native: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility |
|
|
58
58
|
| FilePicker | `input/file-picker` | stable | stable | stable | [authored](../file-picker.md) | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard; native: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, native-actions |
|
|
59
59
|
| Form | `input/form` | stable | stable | stable | [authored](../form.md) | contract: contract; web: default, dark, large-text, rtl, reduced-motion, accessibility, keyboard; native: default, dark, large-text, rtl, reduced-motion, accessibility, native-actions |
|
|
60
60
|
| Agreement | `input/agreement` | stable | stable | stable | [authored](../agreement.md) | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard; native: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, native-actions |
|
|
@@ -66,8 +66,8 @@ This document is the human-readable projection of the same catalog and Showcase
|
|
|
66
66
|
| Sidebar | `navigation/sidebar` | stable | stable | unsupported | [authored](../sidebar.md) | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard |
|
|
67
67
|
| BottomNavigation | `navigation/bottom-navigation` | stable | stable | stable | [authored](../bottom-navigation.md) | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard; native: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, native-actions |
|
|
68
68
|
| Breadcrumb | `navigation/breadcrumb` | stable | stable | unsupported | [authored](../breadcrumb.md) | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard |
|
|
69
|
-
| PageIndicator | `navigation/page-indicator` |
|
|
70
|
-
| Pagination | `navigation/pagination` | stable | stable |
|
|
69
|
+
| PageIndicator | `navigation/page-indicator` | stable | stable | stable | generated only | contract: contract; web: default, dark, large-text, rtl, reduced-motion, accessibility; native: default, dark, large-text, rtl, reduced-motion, accessibility |
|
|
70
|
+
| Pagination | `navigation/pagination` | stable | stable | stable | [authored](../pagination.md) | contract: contract; web: default, dark, large-text, rtl, reduced-motion, accessibility, keyboard; native: default, dark, large-text, rtl, reduced-motion, accessibility, native-actions |
|
|
71
71
|
| LoadMore | `navigation/load-more` | stable | stable | stable | [authored](../load-more.md) | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard; native: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, native-actions |
|
|
72
72
|
| Steps | `navigation/steps` | stable | stable | stable | [authored](../steps.md) | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility; native: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility |
|
|
73
73
|
| Menubar | `navigation/menubar` | stable | stable | unsupported | [authored](../menubar.md) | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard |
|
|
@@ -86,8 +86,8 @@ This document is the human-readable projection of the same catalog and Showcase
|
|
|
86
86
|
| Accordion | `data-display/accordion` | stable | stable | stable | generated only | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard; native: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, native-actions |
|
|
87
87
|
| Statistic | `data-display/statistic` | stable | stable | stable | [authored](../statistic.md) | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility; native: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility |
|
|
88
88
|
| Timeline | `data-display/timeline` | stable | stable | stable | [authored](../timeline.md) | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility; native: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility |
|
|
89
|
-
| DataTable | `data-display/data-table` | stable | stable |
|
|
90
|
-
| Chart | `data-display/chart` |
|
|
89
|
+
| DataTable | `data-display/data-table` | stable | stable | stable | [authored](../data-table.md) | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard; native: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, native-actions |
|
|
90
|
+
| Chart | `data-display/chart` | stable | stable | stable | [authored](../chart.md) | contract: contract; web: default, dark, large-text, rtl, reduced-motion, accessibility, keyboard; native: default, dark, large-text, rtl, reduced-motion, accessibility, native-actions |
|
|
91
91
|
| Tree | `data-display/tree` | stable | stable | unsupported | [authored](../tree.md) | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard |
|
|
92
92
|
| Calendar | `data-display/calendar` | stable | stable | stable | [authored](../calendar.md) | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard; native: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, native-actions |
|
|
93
93
|
| Carousel | `data-display/carousel` | stable | stable | stable | [authored](../carousel.md) | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard; native: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, native-actions |
|
|
@@ -132,8 +132,8 @@ This document is the human-readable projection of the same catalog and Showcase
|
|
|
132
132
|
| MediaSelectionScreen | `layout/media-selection-screen` | stable | stable | stable | generated only | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility; native: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility |
|
|
133
133
|
| ProfileScreen | `layout/profile-screen` | stable | stable | stable | generated only | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility; native: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility |
|
|
134
134
|
| ChatMessage | `data-display/chat-message` | stable | stable | stable | generated only | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility; native: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility |
|
|
135
|
-
| TypingIndicator | `feedback/typing-indicator` |
|
|
136
|
-
| ChatDateSeparator | `data-display/chat-date-separator` |
|
|
135
|
+
| TypingIndicator | `feedback/typing-indicator` | stable | stable | stable | generated only | contract: contract; web: default, dark, large-text, rtl, reduced-motion, accessibility; native: default, dark, large-text, rtl, reduced-motion, accessibility |
|
|
136
|
+
| ChatDateSeparator | `data-display/chat-date-separator` | stable | stable | stable | generated only | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility; native: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility |
|
|
137
137
|
| NotificationRow | `data-display/notification-row` | stable | stable | stable | generated only | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility; native: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility |
|
|
138
138
|
| NotificationItem | `data-display/notification-item` | stable | stable | stable | generated only | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility; native: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility |
|
|
139
139
|
| CommentThreadRow | `data-display/comment-thread-row` | stable | stable | stable | generated only | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility; native: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility |
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
|
-
"designSystemVersion": "1.
|
|
3
|
+
"designSystemVersion": "1.48.0",
|
|
4
4
|
"source": "packages/design-contracts/docs/generated/showcase-manifest.json",
|
|
5
5
|
"surfaces": {
|
|
6
6
|
"web": {
|
|
7
7
|
"packageName": "@hjmds/react",
|
|
8
|
-
"packageVersion": "1.
|
|
8
|
+
"packageVersion": "1.48.0",
|
|
9
9
|
"activeComponents": 131,
|
|
10
10
|
"claimedComponents": 131,
|
|
11
11
|
"completeScenarioComponents": 130,
|
|
@@ -1785,7 +1785,7 @@
|
|
|
1785
1785
|
{
|
|
1786
1786
|
"componentId": "image-choice-group",
|
|
1787
1787
|
"name": "ImageChoiceGroup",
|
|
1788
|
-
"status": "
|
|
1788
|
+
"status": "stable",
|
|
1789
1789
|
"claimed": true,
|
|
1790
1790
|
"subpath": "./image-choice",
|
|
1791
1791
|
"exportNames": [
|
|
@@ -3119,7 +3119,7 @@
|
|
|
3119
3119
|
{
|
|
3120
3120
|
"componentId": "page-indicator",
|
|
3121
3121
|
"name": "PageIndicator",
|
|
3122
|
-
"status": "
|
|
3122
|
+
"status": "stable",
|
|
3123
3123
|
"claimed": true,
|
|
3124
3124
|
"subpath": "./carousel",
|
|
3125
3125
|
"exportNames": [
|
|
@@ -4244,7 +4244,7 @@
|
|
|
4244
4244
|
{
|
|
4245
4245
|
"componentId": "chart",
|
|
4246
4246
|
"name": "Chart",
|
|
4247
|
-
"status": "
|
|
4247
|
+
"status": "stable",
|
|
4248
4248
|
"claimed": true,
|
|
4249
4249
|
"subpath": "./chart",
|
|
4250
4250
|
"exportNames": [
|
|
@@ -6616,7 +6616,7 @@
|
|
|
6616
6616
|
{
|
|
6617
6617
|
"componentId": "typing-indicator",
|
|
6618
6618
|
"name": "TypingIndicator",
|
|
6619
|
-
"status": "
|
|
6619
|
+
"status": "stable",
|
|
6620
6620
|
"claimed": true,
|
|
6621
6621
|
"subpath": "./screens",
|
|
6622
6622
|
"exportNames": [
|
|
@@ -6663,7 +6663,7 @@
|
|
|
6663
6663
|
{
|
|
6664
6664
|
"componentId": "chat-date-separator",
|
|
6665
6665
|
"name": "ChatDateSeparator",
|
|
6666
|
-
"status": "
|
|
6666
|
+
"status": "stable",
|
|
6667
6667
|
"claimed": true,
|
|
6668
6668
|
"subpath": "./screens",
|
|
6669
6669
|
"exportNames": [
|
|
@@ -7064,7 +7064,7 @@
|
|
|
7064
7064
|
},
|
|
7065
7065
|
"native": {
|
|
7066
7066
|
"packageName": "@hjmds/react-native",
|
|
7067
|
-
"packageVersion": "1.
|
|
7067
|
+
"packageVersion": "1.48.0",
|
|
7068
7068
|
"activeComponents": 114,
|
|
7069
7069
|
"claimedComponents": 114,
|
|
7070
7070
|
"completeScenarioComponents": 111,
|
|
@@ -8724,7 +8724,7 @@
|
|
|
8724
8724
|
{
|
|
8725
8725
|
"componentId": "image-choice-group",
|
|
8726
8726
|
"name": "ImageChoiceGroup",
|
|
8727
|
-
"status": "
|
|
8727
|
+
"status": "stable",
|
|
8728
8728
|
"claimed": true,
|
|
8729
8729
|
"subpath": "./image-choice",
|
|
8730
8730
|
"exportNames": [
|
|
@@ -9358,7 +9358,7 @@
|
|
|
9358
9358
|
{
|
|
9359
9359
|
"componentId": "color-picker",
|
|
9360
9360
|
"name": "ColorPicker",
|
|
9361
|
-
"status": "
|
|
9361
|
+
"status": "stable",
|
|
9362
9362
|
"claimed": true,
|
|
9363
9363
|
"subpath": "./color-picker",
|
|
9364
9364
|
"exportNames": [
|
|
@@ -9931,7 +9931,7 @@
|
|
|
9931
9931
|
{
|
|
9932
9932
|
"componentId": "page-indicator",
|
|
9933
9933
|
"name": "PageIndicator",
|
|
9934
|
-
"status": "
|
|
9934
|
+
"status": "stable",
|
|
9935
9935
|
"claimed": true,
|
|
9936
9936
|
"subpath": "./carousel",
|
|
9937
9937
|
"exportNames": [
|
|
@@ -9978,7 +9978,7 @@
|
|
|
9978
9978
|
{
|
|
9979
9979
|
"componentId": "pagination",
|
|
9980
9980
|
"name": "Pagination",
|
|
9981
|
-
"status": "
|
|
9981
|
+
"status": "stable",
|
|
9982
9982
|
"claimed": true,
|
|
9983
9983
|
"subpath": "./pagination",
|
|
9984
9984
|
"exportNames": [
|
|
@@ -10810,7 +10810,7 @@
|
|
|
10810
10810
|
{
|
|
10811
10811
|
"componentId": "data-table",
|
|
10812
10812
|
"name": "DataTable",
|
|
10813
|
-
"status": "
|
|
10813
|
+
"status": "stable",
|
|
10814
10814
|
"claimed": true,
|
|
10815
10815
|
"subpath": "./data-table",
|
|
10816
10816
|
"exportNames": [
|
|
@@ -10866,7 +10866,7 @@
|
|
|
10866
10866
|
{
|
|
10867
10867
|
"componentId": "chart",
|
|
10868
10868
|
"name": "Chart",
|
|
10869
|
-
"status": "
|
|
10869
|
+
"status": "stable",
|
|
10870
10870
|
"claimed": true,
|
|
10871
10871
|
"subpath": "./chart",
|
|
10872
10872
|
"exportNames": [
|
|
@@ -12673,7 +12673,7 @@
|
|
|
12673
12673
|
{
|
|
12674
12674
|
"componentId": "typing-indicator",
|
|
12675
12675
|
"name": "TypingIndicator",
|
|
12676
|
-
"status": "
|
|
12676
|
+
"status": "stable",
|
|
12677
12677
|
"claimed": true,
|
|
12678
12678
|
"subpath": "./screens",
|
|
12679
12679
|
"exportNames": [
|
|
@@ -12720,7 +12720,7 @@
|
|
|
12720
12720
|
{
|
|
12721
12721
|
"componentId": "chat-date-separator",
|
|
12722
12722
|
"name": "ChatDateSeparator",
|
|
12723
|
-
"status": "
|
|
12723
|
+
"status": "stable",
|
|
12724
12724
|
"claimed": true,
|
|
12725
12725
|
"subpath": "./screens",
|
|
12726
12726
|
"exportNames": [
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Renderer evidence coverage
|
|
2
2
|
|
|
3
|
-
> Generated for HJM 1.
|
|
3
|
+
> Generated for HJM 1.48.0. 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
|
|
|
@@ -42,7 +42,7 @@ This projection joins the canonical surface maturity manifest with first-party r
|
|
|
42
42
|
| RadioGroup | web | stable | @hjmds/react | ./selection | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard | none | test/default-render.ssr.test.tsx#radio-group, test/scenario-matrix.browser.test.tsx#radio-group, test/stable-core.browser.test.tsx#radio-group |
|
|
43
43
|
| Switch | web | stable | @hjmds/react | ./selection | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard | none | test/default-render.ssr.test.tsx#switch, test/scenario-matrix.browser.test.tsx#switch, test/stable-core.browser.test.tsx#switch |
|
|
44
44
|
| Chip | web | stable | @hjmds/react | ./selection | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard | none | test/default-render.ssr.test.tsx#chip, test/scenario-matrix.browser.test.tsx#chip, test/stable-core.browser.test.tsx#chip |
|
|
45
|
-
| ImageChoiceGroup | web |
|
|
45
|
+
| ImageChoiceGroup | web | stable | @hjmds/react | ./image-choice | default, dark, large-text, rtl, reduced-motion, accessibility | none | test/default-render.ssr.test.tsx#image-choice-group, test/scenario-matrix.browser.test.tsx#image-choice-group |
|
|
46
46
|
| SegmentedControl | web | stable | @hjmds/react | ./selection | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard | none | test/default-render.ssr.test.tsx#segmented-control, test/scenario-matrix.browser.test.tsx#segmented-control, test/stable-core.browser.test.tsx#segmented-control |
|
|
47
47
|
| ToggleGroup | web | stable | @hjmds/react | ./toggle-group | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard | none | test/default-render.ssr.test.tsx#toggle-group, test/scenario-matrix.browser.test.tsx#toggle-group, test/stable-core.browser.test.tsx#toggle-group |
|
|
48
48
|
| TagsInput | web | stable | @hjmds/react | ./tags-input | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard | none | test/default-render.ssr.test.tsx#tags-input, test/scenario-matrix.browser.test.tsx#tags-input, test/stable-core.browser.test.tsx#tags-input |
|
|
@@ -65,7 +65,7 @@ This projection joins the canonical surface maturity manifest with first-party r
|
|
|
65
65
|
| Sidebar | web | stable | @hjmds/react | ./sidebar | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard | none | test/default-render.ssr.test.tsx#sidebar, test/scenario-matrix.browser.test.tsx#sidebar, test/sidebar.browser.test.tsx#sidebar |
|
|
66
66
|
| BottomNavigation | web | stable | @hjmds/react | ./navigation | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard | none | test/default-render.ssr.test.tsx#bottom-navigation, test/scenario-matrix.browser.test.tsx#bottom-navigation, test/bottom-navigation.keyboard.browser.test.tsx#bottom-navigation |
|
|
67
67
|
| Breadcrumb | web | stable | @hjmds/react | ./breadcrumb | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard | none | test/default-render.ssr.test.tsx#breadcrumb, test/scenario-matrix.browser.test.tsx#breadcrumb, test/page-navigation.browser.test.tsx#breadcrumb |
|
|
68
|
-
| PageIndicator | web |
|
|
68
|
+
| PageIndicator | web | stable | @hjmds/react | ./carousel | default, dark, large-text, rtl, reduced-motion, accessibility | none | test/default-render.ssr.test.tsx#page-indicator, test/scenario-matrix.browser.test.tsx#page-indicator |
|
|
69
69
|
| Pagination | web | stable | @hjmds/react | ./pagination | default, dark, large-text, rtl, reduced-motion, accessibility, keyboard | none | test/default-render.ssr.test.tsx#pagination, test/scenario-matrix.browser.test.tsx#pagination, test/pagination.keyboard.browser.test.tsx#pagination |
|
|
70
70
|
| LoadMore | web | stable | @hjmds/react | ./navigation | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard | none | test/default-render.ssr.test.tsx#load-more, test/scenario-matrix.browser.test.tsx#load-more, test/load-more.interactions.browser.test.tsx#load-more |
|
|
71
71
|
| Steps | web | stable | @hjmds/react | ./steps | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | none | test/default-render.ssr.test.tsx#steps, test/scenario-matrix.browser.test.tsx#steps |
|
|
@@ -86,7 +86,7 @@ This projection joins the canonical surface maturity manifest with first-party r
|
|
|
86
86
|
| Statistic | web | stable | @hjmds/react | ./display | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | none | test/default-render.ssr.test.tsx#statistic, test/scenario-matrix.browser.test.tsx#statistic |
|
|
87
87
|
| Timeline | web | stable | @hjmds/react | ./display | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | none | test/default-render.ssr.test.tsx#timeline, test/scenario-matrix.browser.test.tsx#timeline |
|
|
88
88
|
| DataTable | web | stable | @hjmds/react | ./data-table | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard | none | test/default-render.ssr.test.tsx#data-table, test/scenario-matrix.browser.test.tsx#data-table, test/data-table.keyboard.browser.test.tsx#data-table |
|
|
89
|
-
| Chart | web |
|
|
89
|
+
| Chart | web | stable | @hjmds/react | ./chart | default, dark, large-text, rtl, reduced-motion, accessibility | keyboard | test/default-render.ssr.test.tsx#chart, test/scenario-matrix.browser.test.tsx#chart |
|
|
90
90
|
| Tree | web | stable | @hjmds/react | ./tree | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard | none | test/default-render.ssr.test.tsx#tree, test/scenario-matrix.browser.test.tsx#tree, test/tree.browser.test.tsx#tree |
|
|
91
91
|
| Calendar | web | stable | @hjmds/react | ./calendar | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard | none | test/default-render.ssr.test.tsx#calendar, test/scenario-matrix.browser.test.tsx#calendar, test/calendar.browser.test.tsx#calendar |
|
|
92
92
|
| Carousel | web | stable | @hjmds/react | ./carousel | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard | none | test/default-render.ssr.test.tsx#carousel, test/scenario-matrix.browser.test.tsx#carousel, test/carousel.browser.test.tsx#carousel |
|
|
@@ -131,8 +131,8 @@ This projection joins the canonical surface maturity manifest with first-party r
|
|
|
131
131
|
| MediaSelectionScreen | web | stable | @hjmds/react | ./screen-flows | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | none | test/default-render.ssr.test.tsx#media-selection-screen, test/scenario-matrix.browser.test.tsx#media-selection-screen |
|
|
132
132
|
| ProfileScreen | web | stable | @hjmds/react | ./screen-flows | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | none | test/default-render.ssr.test.tsx#profile-screen, test/scenario-matrix.browser.test.tsx#profile-screen |
|
|
133
133
|
| ChatMessage | web | stable | @hjmds/react | ./screens | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | none | test/default-render.ssr.test.tsx#chat-message, test/scenario-matrix.browser.test.tsx#chat-message |
|
|
134
|
-
| TypingIndicator | web |
|
|
135
|
-
| ChatDateSeparator | web |
|
|
134
|
+
| TypingIndicator | web | stable | @hjmds/react | ./screens | default, dark, large-text, rtl, reduced-motion, accessibility | none | test/default-render.ssr.test.tsx#typing-indicator, test/scenario-matrix.browser.test.tsx#typing-indicator |
|
|
135
|
+
| ChatDateSeparator | web | stable | @hjmds/react | ./screens | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | none | test/default-render.ssr.test.tsx#chat-date-separator, test/scenario-matrix.browser.test.tsx#chat-date-separator |
|
|
136
136
|
| NotificationRow | web | stable | @hjmds/react | ./screens | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | none | test/default-render.ssr.test.tsx#notification-row, test/scenario-matrix.browser.test.tsx#notification-row |
|
|
137
137
|
| NotificationItem | web | stable | @hjmds/react | ./screens | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | none | test/default-render.ssr.test.tsx#notification-item, test/scenario-matrix.browser.test.tsx#notification-item |
|
|
138
138
|
| CommentThreadRow | web | stable | @hjmds/react | ./screen-flows | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | none | test/default-render.ssr.test.tsx#comment-thread-row, test/scenario-matrix.browser.test.tsx#comment-thread-row |
|
|
@@ -171,7 +171,7 @@ This projection joins the canonical surface maturity manifest with first-party r
|
|
|
171
171
|
| RadioGroup | native | stable | @hjmds/react-native | ./inputs | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, native-actions | none | test/default-render.test.tsx#radio-group, test/scenario-matrix.test.tsx#radio-group, test/stable-core.test.tsx#radio-group |
|
|
172
172
|
| Switch | native | stable | @hjmds/react-native | ./inputs | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, native-actions | none | test/default-render.test.tsx#switch, test/scenario-matrix.test.tsx#switch, test/stable-core.test.tsx#switch |
|
|
173
173
|
| Chip | native | stable | @hjmds/react-native | ./inputs | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, native-actions | none | test/default-render.test.tsx#chip, test/scenario-matrix.test.tsx#chip, test/stable-core.test.tsx#chip |
|
|
174
|
-
| ImageChoiceGroup | native |
|
|
174
|
+
| ImageChoiceGroup | native | stable | @hjmds/react-native | ./image-choice | default, dark, large-text, rtl, reduced-motion, accessibility | none | test/default-render.test.tsx#image-choice-group, test/scenario-matrix.test.tsx#image-choice-group |
|
|
175
175
|
| SegmentedControl | native | stable | @hjmds/react-native | ./inputs | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, native-actions | none | test/default-render.test.tsx#segmented-control, test/scenario-matrix.test.tsx#segmented-control, test/stable-core.test.tsx#segmented-control |
|
|
176
176
|
| ToggleGroup | native | stable | @hjmds/react-native | ./toggle-group | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, native-actions | none | test/default-render.test.tsx#toggle-group, test/scenario-matrix.test.tsx#toggle-group, test/stable-core.test.tsx#toggle-group |
|
|
177
177
|
| TagsInput | native | stable | @hjmds/react-native | ./tags-input | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, native-actions | none | test/default-render.test.tsx#tags-input, test/scenario-matrix.test.tsx#tags-input, test/stable-core.test.tsx#tags-input |
|
|
@@ -182,7 +182,7 @@ This projection joins the canonical surface maturity manifest with first-party r
|
|
|
182
182
|
| TimePicker | native | stable | @hjmds/react-native | ./time-picker | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, native-actions | none | test/default-render.test.tsx#time-picker, test/scenario-matrix.test.tsx#time-picker, test/time-picker.test.tsx#time-picker |
|
|
183
183
|
| DatePicker | native | stable | @hjmds/react-native | ./date-picker | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, native-actions | none | test/default-render.test.tsx#date-picker, test/scenario-matrix.test.tsx#date-picker, test/stable-core.test.tsx#date-picker |
|
|
184
184
|
| DateRangePicker | native | stable | @hjmds/react-native | ./date-range | default, dark, large-text, rtl, reduced-motion, accessibility, native-actions | none | test/default-render.test.tsx#date-range-picker, test/scenario-matrix.test.tsx#date-range-picker, test/date-range-actions.test.tsx#date-range-picker |
|
|
185
|
-
| ColorPicker | native |
|
|
185
|
+
| ColorPicker | native | stable | @hjmds/react-native | ./color-picker | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | none | test/default-render.test.tsx#color-picker, test/scenario-matrix.test.tsx#color-picker |
|
|
186
186
|
| FilePicker | native | stable | @hjmds/react-native | ./file-picker | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, native-actions | none | test/default-render.test.tsx#file-picker, test/scenario-matrix.test.tsx#file-picker, test/file-picker-host-action.test.tsx#file-picker |
|
|
187
187
|
| Form | native | stable | @hjmds/react-native | ./forms | default, dark, large-text, rtl, reduced-motion, accessibility, native-actions | none | test/default-render.test.tsx#form, test/scenario-matrix.test.tsx#form, test/form.interaction.test.tsx#form |
|
|
188
188
|
| Agreement | native | stable | @hjmds/react-native | ./agreement | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, native-actions | none | test/default-render.test.tsx#agreement, test/scenario-matrix.test.tsx#agreement, test/agreement.interaction.test.tsx#agreement |
|
|
@@ -192,8 +192,8 @@ This projection joins the canonical surface maturity manifest with first-party r
|
|
|
192
192
|
| Tabs | native | stable | @hjmds/react-native | ./top-bar | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, native-actions | none | test/default-render.test.tsx#tabs, test/scenario-matrix.test.tsx#tabs, test/tabs-actions.test.tsx#tabs |
|
|
193
193
|
| TopBar | native | stable | @hjmds/react-native | ./top-bar | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | none | test/default-render.test.tsx#top-bar, test/scenario-matrix.test.tsx#top-bar |
|
|
194
194
|
| BottomNavigation | native | stable | @hjmds/react-native | ./top-bar | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, native-actions | none | test/default-render.test.tsx#bottom-navigation, test/scenario-matrix.test.tsx#bottom-navigation, test/bottom-navigation.interaction.test.tsx#bottom-navigation |
|
|
195
|
-
| PageIndicator | native |
|
|
196
|
-
| Pagination | native |
|
|
195
|
+
| PageIndicator | native | stable | @hjmds/react-native | ./carousel | default, dark, large-text, rtl, reduced-motion, accessibility | none | test/default-render.test.tsx#page-indicator, test/scenario-matrix.test.tsx#page-indicator |
|
|
196
|
+
| Pagination | native | stable | @hjmds/react-native | ./pagination | default, dark, large-text, rtl, reduced-motion, accessibility | native-actions | test/default-render.test.tsx#pagination, test/scenario-matrix.test.tsx#pagination |
|
|
197
197
|
| LoadMore | native | stable | @hjmds/react-native | ./top-bar | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, native-actions | none | test/default-render.test.tsx#load-more, test/scenario-matrix.test.tsx#load-more, test/load-more.interactions.test.tsx#load-more |
|
|
198
198
|
| Steps | native | stable | @hjmds/react-native | ./steps | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | none | test/default-render.test.tsx#steps, test/scenario-matrix.test.tsx#steps |
|
|
199
199
|
| Menu | native | stable | @hjmds/react-native | ./top-bar | default, dark, large-text, rtl, reduced-motion, accessibility, native-actions, long-copy | none | test/default-render.test.tsx#menu, test/scenario-matrix.test.tsx#menu, test/menu-actions.test.tsx#menu |
|
|
@@ -209,8 +209,8 @@ This projection joins the canonical surface maturity manifest with first-party r
|
|
|
209
209
|
| Accordion | native | stable | @hjmds/react-native | ./data-display | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, native-actions | none | test/default-render.test.tsx#accordion, test/scenario-matrix.test.tsx#accordion, test/accordion-actions.test.tsx#accordion |
|
|
210
210
|
| Statistic | native | stable | @hjmds/react-native | ./data-display | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | none | test/default-render.test.tsx#statistic, test/scenario-matrix.test.tsx#statistic |
|
|
211
211
|
| Timeline | native | stable | @hjmds/react-native | ./data-display | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | none | test/default-render.test.tsx#timeline, test/scenario-matrix.test.tsx#timeline |
|
|
212
|
-
| DataTable | native |
|
|
213
|
-
| Chart | native |
|
|
212
|
+
| DataTable | native | stable | @hjmds/react-native | ./data-table | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | native-actions | test/default-render.test.tsx#data-table, test/scenario-matrix.test.tsx#data-table |
|
|
213
|
+
| Chart | native | stable | @hjmds/react-native | ./chart | default, dark, large-text, rtl, reduced-motion, accessibility | native-actions | test/default-render.test.tsx#chart, test/scenario-matrix.test.tsx#chart |
|
|
214
214
|
| Calendar | native | stable | @hjmds/react-native | ./calendar | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, native-actions | none | test/default-render.test.tsx#calendar, test/scenario-matrix.test.tsx#calendar, test/calendar.test.tsx#calendar |
|
|
215
215
|
| Carousel | native | stable | @hjmds/react-native | ./carousel | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, native-actions | none | test/default-render.test.tsx#carousel, test/scenario-matrix.test.tsx#carousel, test/carousel.test.tsx#carousel |
|
|
216
216
|
| DescriptionList | native | stable | @hjmds/react-native | ./data-display | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | none | test/default-render.test.tsx#description-list, test/scenario-matrix.test.tsx#description-list |
|
|
@@ -245,8 +245,8 @@ This projection joins the canonical surface maturity manifest with first-party r
|
|
|
245
245
|
| MediaSelectionScreen | native | stable | @hjmds/react-native | ./screen-flows | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | none | test/default-render.test.tsx#media-selection-screen, test/scenario-matrix.test.tsx#media-selection-screen |
|
|
246
246
|
| ProfileScreen | native | stable | @hjmds/react-native | ./screen-flows | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | none | test/default-render.test.tsx#profile-screen, test/scenario-matrix.test.tsx#profile-screen |
|
|
247
247
|
| ChatMessage | native | stable | @hjmds/react-native | ./screens | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | none | test/default-render.test.tsx#chat-message, test/scenario-matrix.test.tsx#chat-message |
|
|
248
|
-
| TypingIndicator | native |
|
|
249
|
-
| ChatDateSeparator | native |
|
|
248
|
+
| TypingIndicator | native | stable | @hjmds/react-native | ./screens | default, dark, large-text, rtl, reduced-motion, accessibility | none | test/default-render.test.tsx#typing-indicator, test/scenario-matrix.test.tsx#typing-indicator |
|
|
249
|
+
| ChatDateSeparator | native | stable | @hjmds/react-native | ./screens | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | none | test/default-render.test.tsx#chat-date-separator, test/scenario-matrix.test.tsx#chat-date-separator |
|
|
250
250
|
| NotificationRow | native | stable | @hjmds/react-native | ./screens | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | none | test/default-render.test.tsx#notification-row, test/scenario-matrix.test.tsx#notification-row |
|
|
251
251
|
| NotificationItem | native | stable | @hjmds/react-native | ./screens | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | none | test/default-render.test.tsx#notification-item, test/scenario-matrix.test.tsx#notification-item |
|
|
252
252
|
| CommentThreadRow | native | stable | @hjmds/react-native | ./screen-flows | default, dark, long-copy, large-text, rtl, reduced-motion, accessibility | none | test/default-render.test.tsx#comment-thread-row, test/scenario-matrix.test.tsx#comment-thread-row |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 2,
|
|
3
|
-
"designSystemVersion": "1.
|
|
3
|
+
"designSystemVersion": "1.48.0",
|
|
4
4
|
"packageName": "@hjmds/design-contracts",
|
|
5
5
|
"components": [
|
|
6
6
|
{
|
|
@@ -1717,10 +1717,10 @@
|
|
|
1717
1717
|
"extensions": [],
|
|
1718
1718
|
"category": "input",
|
|
1719
1719
|
"platform": "shared",
|
|
1720
|
-
"contractStatus": "
|
|
1720
|
+
"contractStatus": "stable",
|
|
1721
1721
|
"surfaces": {
|
|
1722
|
-
"web": "
|
|
1723
|
-
"native": "
|
|
1722
|
+
"web": "stable",
|
|
1723
|
+
"native": "stable"
|
|
1724
1724
|
},
|
|
1725
1725
|
"requirements": [
|
|
1726
1726
|
{
|
|
@@ -2303,7 +2303,7 @@
|
|
|
2303
2303
|
"contractStatus": "stable",
|
|
2304
2304
|
"surfaces": {
|
|
2305
2305
|
"web": "stable",
|
|
2306
|
-
"native": "
|
|
2306
|
+
"native": "stable"
|
|
2307
2307
|
},
|
|
2308
2308
|
"requirements": [
|
|
2309
2309
|
{
|
|
@@ -2912,10 +2912,10 @@
|
|
|
2912
2912
|
"extensions": [],
|
|
2913
2913
|
"category": "navigation",
|
|
2914
2914
|
"platform": "shared",
|
|
2915
|
-
"contractStatus": "
|
|
2915
|
+
"contractStatus": "stable",
|
|
2916
2916
|
"surfaces": {
|
|
2917
|
-
"web": "
|
|
2918
|
-
"native": "
|
|
2917
|
+
"web": "stable",
|
|
2918
|
+
"native": "stable"
|
|
2919
2919
|
},
|
|
2920
2920
|
"requirements": [
|
|
2921
2921
|
{
|
|
@@ -2964,7 +2964,7 @@
|
|
|
2964
2964
|
"contractStatus": "stable",
|
|
2965
2965
|
"surfaces": {
|
|
2966
2966
|
"web": "stable",
|
|
2967
|
-
"native": "
|
|
2967
|
+
"native": "stable"
|
|
2968
2968
|
},
|
|
2969
2969
|
"requirements": [
|
|
2970
2970
|
{
|
|
@@ -3936,7 +3936,7 @@
|
|
|
3936
3936
|
"contractStatus": "stable",
|
|
3937
3937
|
"surfaces": {
|
|
3938
3938
|
"web": "stable",
|
|
3939
|
-
"native": "
|
|
3939
|
+
"native": "stable"
|
|
3940
3940
|
},
|
|
3941
3941
|
"requirements": [
|
|
3942
3942
|
{
|
|
@@ -3994,10 +3994,10 @@
|
|
|
3994
3994
|
"extensions": [],
|
|
3995
3995
|
"category": "data-display",
|
|
3996
3996
|
"platform": "shared",
|
|
3997
|
-
"contractStatus": "
|
|
3997
|
+
"contractStatus": "stable",
|
|
3998
3998
|
"surfaces": {
|
|
3999
|
-
"web": "
|
|
4000
|
-
"native": "
|
|
3999
|
+
"web": "stable",
|
|
4000
|
+
"native": "stable"
|
|
4001
4001
|
},
|
|
4002
4002
|
"requirements": [
|
|
4003
4003
|
{
|
|
@@ -6210,10 +6210,10 @@
|
|
|
6210
6210
|
"extensions": [],
|
|
6211
6211
|
"category": "feedback",
|
|
6212
6212
|
"platform": "adaptive",
|
|
6213
|
-
"contractStatus": "
|
|
6213
|
+
"contractStatus": "stable",
|
|
6214
6214
|
"surfaces": {
|
|
6215
|
-
"web": "
|
|
6216
|
-
"native": "
|
|
6215
|
+
"web": "stable",
|
|
6216
|
+
"native": "stable"
|
|
6217
6217
|
},
|
|
6218
6218
|
"requirements": [
|
|
6219
6219
|
{
|
|
@@ -6259,10 +6259,10 @@
|
|
|
6259
6259
|
"extensions": [],
|
|
6260
6260
|
"category": "data-display",
|
|
6261
6261
|
"platform": "adaptive",
|
|
6262
|
-
"contractStatus": "
|
|
6262
|
+
"contractStatus": "stable",
|
|
6263
6263
|
"surfaces": {
|
|
6264
|
-
"web": "
|
|
6265
|
-
"native": "
|
|
6264
|
+
"web": "stable",
|
|
6265
|
+
"native": "stable"
|
|
6266
6266
|
},
|
|
6267
6267
|
"requirements": [
|
|
6268
6268
|
{
|
|
@@ -1,6 +1,22 @@
|
|
|
1
1
|
# Optional presentation adapters
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## Current support — 2026-10-26
|
|
4
|
+
|
|
5
|
+
The four Native entries `image-viewer`, `keyboard-controller`, `sheet-gesture` and
|
|
6
|
+
`context-menu-native` are **stable for the documented optional-peer/host contract**.
|
|
7
|
+
The Web image viewer counterpart is stable as well. This is API support, not a claim
|
|
8
|
+
that every OS, physical device or consuming product has been certified.
|
|
9
|
+
|
|
10
|
+
The promotion reuses the installed iOS/Android engine observations linked below and
|
|
11
|
+
reruns the affected host/browser behavior tests. The current iPhone 17 Pro / iOS 26.5
|
|
12
|
+
Showcase additionally confirmed image loading and dismissal, keyboard entry with the
|
|
13
|
+
dock above the IME and retained text after Done, and sheet input/open/close state.
|
|
14
|
+
The existing iOS system-menu Save and Android engine checks remain historical evidence;
|
|
15
|
+
Android was not connected for a new run. Spoken VoiceOver/TalkBack, release binaries
|
|
16
|
+
and per-product peer/linking validation remain consumer QA as for other stable APIs.
|
|
17
|
+
See [Stable Core](stable-core.md#2026-10-26-잔여-실험과-beta-승격).
|
|
18
|
+
|
|
19
|
+
## Image host extension — 2026-10-07 implementation record
|
|
4
20
|
|
|
5
21
|
Native ImageViewer accepts `renderImage` with the item, measured viewport width/height and
|
|
6
22
|
`onReady`/`onError`. This lets a product retain Expo display events and cache policy without
|
|
@@ -18,7 +34,7 @@ previous/next buttons, not swipe paging. Mode, viewport, item and retry changes
|
|
|
18
34
|
retire callbacks and reset readiness/position. Output-size means layout units, not physical device pixels.
|
|
19
35
|
Host width/height are the computed image dimensions in inspection mode (possibly larger than the viewport).
|
|
20
36
|
The [image usage guide](usage/components/image.md) defines labels, placement and review invalidation.
|
|
21
|
-
|
|
37
|
+
These host props are present in the 1.47.0 source/package train; their presence is not proof of Expo onDisplay validation or Utilverse adoption.
|
|
22
38
|
The Native Modal accepts supportedOrientations in fullScreen presentation. Optional left/right
|
|
23
39
|
safe-area insets protect controls and feedback in landscape while the gallery remains full width.
|
|
24
40
|
Products must supply updated insets and permit rotation in their manifests; OS rotation lock still applies.
|
|
@@ -123,9 +139,9 @@ Expo Go cannot verify these linked native modules.
|
|
|
123
139
|
|
|
124
140
|
Web stories: `배포/구성/직접 조작과 모션/숫자 변화와 메뉴 변형`. Native stories: `배포/구성/직접 조작과 모션/이미지·시트·키보드 조작` (the earlier 갤러리/모션 연동 and 실험실/선택적 연동 menus; moved by the 2026-10-06 user-approved Storybook promotion, which is not an API promotion).
|
|
125
141
|
Tests cover adaptation logic and web browser behavior; native mocks cannot prove OS gestures,
|
|
126
|
-
keyboard animation, accessibility focus, native linking or installed-device health.
|
|
127
|
-
|
|
128
|
-
is implied by
|
|
142
|
+
keyboard animation, accessibility focus, native linking or installed-device health. The current
|
|
143
|
+
stable decision also uses the installed-engine observations and scoped follow-up above. No consumer
|
|
144
|
+
migration or publication is implied by changing support status. The prior Motion Primitives candidate remains reference-only.
|
|
129
145
|
|
|
130
146
|
A removal replaces the optional imports with canonical Statistic/Menu/Sheet/KeyboardAvoiding or
|
|
131
147
|
product image/menu behavior and removes the matching peers. There is no persisted-state migration.
|
package/docs/stable-core.md
CHANGED
|
@@ -1,5 +1,42 @@
|
|
|
1
1
|
# Stable Core
|
|
2
2
|
|
|
3
|
+
## 2026-10-26 잔여 실험과 beta 승격
|
|
4
|
+
|
|
5
|
+
사용자의 “다 올려” 지시에 따라 남아 있던 카탈로그 beta와 실험 화면을 승격했다.
|
|
6
|
+
카탈로그의 계약/Web은 stable131·beta0, Native는 stable114·beta0·unsupported17이다.
|
|
7
|
+
지원하지 않는 플랫폼을 새로 구현하거나 지원된다고 표시하지 않았다.
|
|
8
|
+
|
|
9
|
+
- 계약·Web·Native: ImageChoiceGroup, PageIndicator, Chart, TypingIndicator, ChatDateSeparator.
|
|
10
|
+
- Native surface: ColorPicker, Pagination, DataTable(Web/계약은 이미 stable).
|
|
11
|
+
- Storybook Web·Native: FollowListScreen의 `팔로워와 팔로잉`을 배포로 이동. Web id `common-follow-list` 유지.
|
|
12
|
+
- 선택형 image-viewer(Web·Native), Native keyboard-controller·sheet-gesture·context-menu-native 및
|
|
13
|
+
screen-transition은 문서화한 peer/host 범위의 API를 stable로 지원한다. optional import, native linking,
|
|
14
|
+
React Navigation7.4.1 host와 기존 package patch 전제는 유지한다. expo-router 통합을 새로 제공하지 않는다.
|
|
15
|
+
- Dialog의 optional motionOrigin도 문서화한 상태·초안 보존·종료/재열기 계약을 stable로 지원한다.
|
|
16
|
+
모든 기기에서 같은 frame time이나 제품별 조합 검증을 보장한다는 뜻은 아니다.
|
|
17
|
+
|
|
18
|
+
검사에서 ColorPicker의 누락된 default/environment fixture를 발견해 실제 공개 API fixture를 보완했다.
|
|
19
|
+
새 fixture가 드러낸 RTL 문제는 색상 막대의 좌표 소유 위치인 Slider에서 고쳤다. painted track이 물리
|
|
20
|
+
색상 축을 명시하고 드래그 계산·thumb·layout이 같은 방향을 쓰며, 일반 Slider는 제품 읽기 방향을 따른다.
|
|
21
|
+
환경 proof는 명시적으로 고정한 하위 좌표계를 상속해 검사하고 고정 좌표가 그대로인지 단언한다.
|
|
22
|
+
단순 catalog 이름/숫자를 복제하던 회귀 단언은 제거하고 per-surface 불변식과 독립 legacy/custom 검사를 유지했다.
|
|
23
|
+
|
|
24
|
+
변경 범위 결과: Native 관련14파일69건, Web 관련9파일30건, 색상/일반 Slider 회귀15건(새 RTL 회귀 포함),
|
|
25
|
+
승격 대상 환경 matrix Web35건·Native35건 통과. 최대 글자 조건은 실행하지 않았다. contracts의
|
|
26
|
+
component-references13건과 세 package build/typecheck를 확인했다. 두 Showcase typecheck도 통과했다.
|
|
27
|
+
현재 iPhone17 Pro/iOS26.5의 기존 SDK58 개발 클라이언트와8084 Metro에서 이미지 실제 로딩/닫기,
|
|
28
|
+
키보드 입력321→완료(값 유지·IME 위 dock), 시트 입력789→닫힘, 공유 카드→상세→목록, Dialog의
|
|
29
|
+
실패 후 초안 유지→닫기/재열기→성공 저장과 팔로워 화면의 맞팔로우→회원 프로필→목록 복귀를 Device Hub로 확인했다. NativeContextMenu의 시스템 메뉴
|
|
30
|
+
Save 및 Android16 네 엔진 확인은 기존9월29일 증거를 재사용했다. 이번에 Android 연결 기기는 없었으며
|
|
31
|
+
새 Android UI·물리 기기·VoiceOver/TalkBack·Release binary·성능 전수 결과로 확대하지 않는다.
|
|
32
|
+
|
|
33
|
+
전체 Showcase 검사는 별개 기존 실패를 재현했다: 전체 스토리 규격74건 및 Native foundation token 문서
|
|
34
|
+
2개 누락, Web Affix recipe fixture의 추가 sticky 값, 전체 usage의 Card/QuoteCard 문서3건이다.
|
|
35
|
+
승격 대상 FollowList의 상태 표시 이름·스토리 순서는 고쳤으며 해당 두 스토리의 남은 규격 오류는0건이다.
|
|
36
|
+
이번 FollowList 승격과 관계없는 항목을 수정하거나 전체 통과로 보고하지 않는다. 변경한 지침7개는
|
|
37
|
+
선택 검사·색인 생성을 통과했다. 공개 source의 승격과 npm 게시·공개 Storybook 게시·제품 채택은
|
|
38
|
+
별개이며, 이번 작업은1.47.0 버전을 유지하고 다음 train용 minor Changeset을 남긴다.
|
|
39
|
+
|
|
3
40
|
## 2026-10-19 TimePicker 개발 소스 승격
|
|
4
41
|
|
|
5
42
|
사용자가 승인한 통합 시·분 열 디자인으로 `TimePicker`를 canonical catalog에 등록하고 계약·Web·Native
|