@hjmds/design-contracts 1.3.5 → 1.5.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 (39) hide show
  1. package/dist/catalog.d.ts +44 -47
  2. package/dist/catalog.d.ts.map +1 -1
  3. package/dist/catalog.js +13 -13
  4. package/dist/catalog.js.map +1 -1
  5. package/dist/colors.js +1 -1
  6. package/dist/colors.js.map +1 -1
  7. package/dist/component-recipes.d.ts +6 -0
  8. package/dist/component-recipes.d.ts.map +1 -1
  9. package/dist/component-recipes.js +6 -0
  10. package/dist/component-recipes.js.map +1 -1
  11. package/dist/design-system-provider.d.ts +4 -3
  12. package/dist/design-system-provider.d.ts.map +1 -1
  13. package/dist/design-system-provider.js +4 -3
  14. package/dist/design-system-provider.js.map +1 -1
  15. package/dist/palette-contrast.d.ts +19 -0
  16. package/dist/palette-contrast.d.ts.map +1 -0
  17. package/dist/palette-contrast.js +46 -0
  18. package/dist/palette-contrast.js.map +1 -0
  19. package/dist/showcase.d.ts.map +1 -1
  20. package/dist/showcase.js +3 -1
  21. package/dist/showcase.js.map +1 -1
  22. package/dist/version.d.ts +1 -1
  23. package/dist/version.js +1 -1
  24. package/dist/version.js.map +1 -1
  25. package/docs/brand-boundary.md +89 -0
  26. package/docs/catalog-freeze.json +120 -0
  27. package/docs/consumer-policy.md +22 -15
  28. package/docs/design-system-provider.md +4 -4
  29. package/docs/generated/component-maturity.md +19 -19
  30. package/docs/generated/renderer-evidence.json +2275 -1342
  31. package/docs/generated/renderer-evidence.md +178 -178
  32. package/docs/generated/showcase-manifest.json +41 -51
  33. package/docs/product-adoption-1.4.md +48 -0
  34. package/docs/sheet.md +50 -0
  35. package/docs/stable-core.md +18 -1
  36. package/docs/tag.md +7 -8
  37. package/docs/theme-palette.md +12 -0
  38. package/docs/theming.md +17 -22
  39. package/package.json +7 -1
@@ -1,7 +1,7 @@
1
1
  # HJM 소비 앱 정책
2
2
 
3
3
  상태: **Normative**
4
- 정책 버전: **1.2.0**
4
+ 정책 버전: **1.3.0**
5
5
  적용 대상: 신규 HJM Web·React Native 앱과 기존 앱의 새 화면
6
6
 
7
7
  이 정책 원문은 다음 package patch release부터
@@ -39,11 +39,13 @@
39
39
 
40
40
  ### 2.1 Stable Core와 필수 foundation bridge
41
41
 
42
- 현재 Stable Core는 `Surface`, `Button`, `Field`, `TextArea` 네 surface입니다. `Text`,
43
- `Icon`, `Stack`, `Container`, `DesignSystemProvider`처럼 첫 제품 화면에 필요한 foundation
44
- 일부는 catalog에서 여전히 `beta`입니다. 따라서 “첫 화면부터 HJM”을 요구하면서 이
45
- foundation을 몰래 `stable`로 간주하거나 `betaAdoptions: []`로 기록하는 것은 허용하지
46
- 않습니다(MUST NOT).
42
+ 1.5.0부터 Stable Core는 17개 surface입니다. 1.4까지의 `Surface`, `Button`, `Field`, `TextArea`에
43
+ 더해, 첫 제품 화면에 필요한 foundation인 `Text`, `Icon`, `Stack`, `Container`,
44
+ `DesignSystemProvider`와 세 제품 이상이 쓰는 `IconButton`, `Badge`, `Card`, `Tag`, `Notice`,
45
+ `Progress`, `Spinner`, `Skeleton`이 stable로 승격됐습니다. 승격 근거는 이름뿐이던 시나리오 증거를
46
+ 실제 계산 스타일 검사로 바꾼 뒤 두 renderer에서 요구 시나리오가 모두 통과한 것입니다
47
+ ([Stable Core](stable-core.md)). 그 밖의 컴포넌트는 여전히 `beta`이며, beta를 `stable`로
48
+ 간주하거나 `betaAdoptions: []`로 기록하는 것은 허용하지 않습니다(MUST NOT).
47
49
 
48
50
  HJM-APP-STANDARD가 versioned `requiredFoundations` 목록을 선언한 경우 다음 bridge를
49
51
  적용합니다.
@@ -58,8 +60,9 @@ HJM-APP-STANDARD가 versioned `requiredFoundations` 목록을 선언한 경우
58
60
  - foundation이 catalog에서 `stable`로 승격되면 기존 표준의 의미를 조용히 바꾸지 않고
59
61
  다음 versioned app profile에서 bridge 목록을 줄입니다(MUST).
60
62
 
61
- 이 bridge는 성숙도 예외가 아니라 공개된 임시 채택 계약입니다. catalog와 generated
62
- maturity manifest에는 해당 surface가 계속 `beta`로 보여야 합니다.
63
+ 이 bridge는 성숙도 예외가 아니라 공개된 임시 채택 계약입니다. 1.5.0에서 bridge의 다섯
64
+ foundation이 모두 stable이 됐으므로, 중앙 app profile의 다음 개정에서 `requiredFoundations`
65
+ 목록을 비웁니다. 개정 전까지 기존 profile을 쓰는 앱의 evidence 요구는 조용히 바뀌지 않습니다.
63
66
 
64
67
  ## 3. 코드 경계
65
68
 
@@ -109,7 +112,8 @@ semantic axis로 옮겼습니다. 아래는 그 축과 대체 대상입니다.
109
112
 
110
113
  ### Web renderer의 캐스케이드
111
114
 
112
- `@hjmds/react/styles.css`는 **CSS 레이어 밖**에 있다. Tailwind 4를 쓰는 소비 앱의
115
+ `@hjmds/react/styles.css`는 **CSS 레이어 밖**에 있다(레이어된 opt-in 파일과 전환 조건은
116
+ [brand-boundary.md §3](./brand-boundary.md#3-css-재정의는-지원하는-테마-경로가-아니다)). Tailwind 4를 쓰는 소비 앱의
113
117
  유틸리티는 `@layer utilities` 안에 들어가고, 레이어 밖 규칙은 레이어 안 규칙을
114
118
  이긴다. 따라서 HJM 컴포넌트에 `px-0`·`rounded-none`·`justify-start` 같은
115
119
  유틸리티를 붙여 recipe 값을 덮으려는 시도는 **조용히 아무 일도 하지 않는다.**
@@ -120,8 +124,8 @@ semantic axis로 옮겼습니다. 아래는 그 축과 대체 대상입니다.
120
124
 
121
125
  - 유틸리티로 recipe 값을 덮는 코드는 리뷰에서 걸러야 한다. 필요한 값은 semantic
122
126
  axis로 요청한다.
123
- - HJM이 표현할 수 없는 값(제3자 브랜드 색 등)은 앱의 stylesheet에서 `.hjm-*`를
124
- 함께 적어 특이도를 맞춘 규칙으로만 쓰고, 그 목록을 한 곳에 모아 둔다.
127
+ - HJM이 표현할 수 없는 값은 `.hjm-*` 재정의로 우회하지 않는다. 계약 공백으로 올린다. 기존 재정의는
128
+ 추적되는 부채이며 이관 경로(opt-in `styles.layered.css`)와 규칙은 [brand-boundary.md](./brand-boundary.md)가 정한다.
125
129
  - 인라인 `style`은 모든 규칙을 이기므로 이관 전에는 보이던 값이 이관 후 조용히
126
130
  사라질 수 있다. 이관은 브라우저에서 실제 렌더를 확인하며 진행한다.
127
131
 
@@ -144,8 +148,11 @@ legacy raw style surface는 다음 조건이 모두 충족된 뒤 공지된 brea
144
148
  3. 최소 한 fixed release train 동안 deprecation과 migration 문서를 제공한다.
145
149
  4. 제거 Changeset이 영향을 받는 prop과 semantic 대안을 열거한다.
146
150
 
147
- 이 제거는 늦어도 첫 `1.0.0` train의 release gate 전에 완료해야 합니다(MUST). 그 전까지
148
- legacy prop의 런타임 호환성은 유지하지만 신규 앱 적합성 검사에서는 실패로 취급합니다.
151
+ 2026-09-23 소비 감사에서 1.3.5에도 deprecated prop이 남아 있음을 확인했습니다. 이전의
152
+ “1.0.0 이전 제거” 기한은 실제 release/API와 어긋나므로 폐기합니다. 이미 게시한 1.x의 타입과
153
+ 런타임을 minor에서 삭제하는 대신, 위 네 조건과 소비 앱별 이관 목록을 충족한 다음 major에서
154
+ 제거합니다. 1.4는 semantic API와 이관 경로를 추가하는 train이며, 기존 prop을 새 화면에 쓰는
155
+ 것은 계속 금지합니다. 제거 예정 major는 소비 이관 완료 후 Changeset에서 확정합니다.
149
156
 
150
157
  권장 구조는 다음과 같습니다. 실제 폴더명은 stack 관습에 맞춰도 역할은 유지합니다.
151
158
 
@@ -210,8 +217,8 @@ package로 승격하지 않습니다.
210
217
  다음 질문에 모두 "예"라고 답할 수 있어야 HJM 채택이 완료된 것입니다.
211
218
 
212
219
  - exact fixed-train dependency와 Provider가 CI에서 검증되는가?
213
- - Stable은 기본 사용하고 필수 beta foundation은 중앙 목록+앱 evidence로, optional Beta는
214
- 제품 ADR+evidence로 구분되어 있는가?
220
+ - Stable은 기본 사용하고(1.5.0 이전 profile이면 필수 foundation은 중앙 목록+앱 evidence로),
221
+ optional Beta는 제품 ADR+evidence로 구분되어 있는가?
215
222
  - screen 코드가 semantic token·component를 우회하지 않는가?
216
223
  - 같은 상태가 Web/RN에서 같은 의미와 자연스러운 플랫폼 행동을 갖는가?
217
224
  - 로고를 제거해도 제품의 핵심 콘텐츠와 정보 구조가 다른 제품과 구분되는가?
@@ -116,10 +116,10 @@ adapter가 자체 병합 로직을 다시 만들 필요가 없다. `parent`에
116
116
  | `size`(antd ConfigProvider의 컴포넌트 전역 사이즈 프리셋) | **배제** — 측정된 요구가
117
117
  없고, 있다 해도 그건 각 recipe의 `sizes`(예: `selectRecipe.sizes`)가 이미 컴포넌트별로
118
118
  갖고 있는 축이라 전역 오버라이드를 얹으면 두 곳이 같은 축을 다시 소유하게 된다. |
119
- | 임의 theme/component token override | **partial override는 배제** — HJM light/dark는 대비
120
- 테스트를 함께 통과하는 고정 계약이다. 별도 브랜드 제품은 모든 semantic role을 가진
121
- 완전한 `DesignSystemProviderValue`만 renderer의 `value` 경계로 주입하며, 런타임 shape 검사와
122
- 제품별 전체 대비 fixture를 함께 둔다. |
119
+ | 임의 theme/component token override | **component token override는 배제**, theme 색은 `brandPalette`
120
+ 부분 병합으로만 — 병합 결과는 `checkBrandPaletteContrast`를 통과해야 한다. 규칙 원본은
121
+ [brand-boundary.md](./brand-boundary.md)이며, 이 행의 이전 문구("partial override 배제, 완전한 value만")는
122
+ 0.9.x에 `brandPalette`가 생기면서 사실과 달라졌다. |
123
123
 
124
124
  ## 제품 adapter 증거
125
125
 
@@ -1,24 +1,24 @@
1
1
  # Component maturity and evidence manifest
2
2
 
3
- > Generated from `@hjmds/design-contracts` 1.3.5. Do not edit this file directly; run `pnpm contracts:sync`.
3
+ > Generated from `@hjmds/design-contracts` 1.5.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 4 · beta 92 · planned 15
8
- - Web renderer: stable 4 · beta 92 · planned 15
9
- - Native renderer: stable 4 · beta 75 · planned 8 · unsupported 24
7
+ - Contract: stable 17 · beta 79 · planned 15
8
+ - Web renderer: stable 17 · beta 79 · planned 15
9
+ - Native renderer: stable 17 · beta 62 · planned 8 · unsupported 24
10
10
 
11
11
  | Component | Canonical story ID | Contract | Web | Native | Documentation | Required evidence |
12
12
  | --- | --- | --- | --- | --- | --- | --- |
13
- | Text | `foundation/text` | beta | beta | beta | 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 |
13
+ | Text | `foundation/text` | 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 |
14
14
  | TextFormat | `foundation/text-format` | beta | beta | unsupported | generated only | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard |
15
15
  | Heading | `foundation/heading` | beta | beta | beta | [authored](../heading.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, keyboard |
16
- | Icon | `foundation/icon` | beta | beta | beta | [authored](../icon.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 |
16
+ | Icon | `foundation/icon` | stable | stable | stable | [authored](../icon.md) | contract: contract; web: default, dark, large-text, rtl, reduced-motion, accessibility; native: default, dark, large-text, rtl, reduced-motion, accessibility |
17
17
  | Surface | `layout/surface` | 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 |
18
- | Divider | `layout/divider` | beta | beta | beta | 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 |
18
+ | Divider | `layout/divider` | beta | beta | beta | generated only | contract: contract; web: default, dark, large-text, rtl, reduced-motion, accessibility; native: default, dark, large-text, rtl, reduced-motion, accessibility |
19
19
  | Section | `layout/section` | beta | beta | beta | 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 |
20
- | Stack | `layout/stack` | beta | beta | beta | 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 |
21
- | Container | `layout/container` | beta | beta | beta | [authored](../container.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 |
20
+ | Stack | `layout/stack` | 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 |
21
+ | Container | `layout/container` | stable | stable | stable | [authored](../container.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 |
22
22
  | AspectRatio | `layout/aspect-ratio` | beta | beta | beta | [authored](../aspect-ratio.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 |
23
23
  | Grid | `layout/grid` | beta | beta | beta | generated only | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, platform-parity; native: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, platform-parity |
24
24
  | Layout | `layout/layout` | beta | beta | beta | [authored](../layout.md) | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard, platform-parity; native: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard, platform-parity |
@@ -26,7 +26,7 @@ This document is the human-readable projection of the same catalog and Showcase
26
26
  | Masonry | `layout/masonry` | planned | planned | planned | generated only | contract: contract |
27
27
  | Splitter | `layout/splitter` | beta | beta | unsupported | [authored](../splitter.md) | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard |
28
28
  | Button | `action/button` | 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 |
29
- | IconButton | `action/icon-button` | beta | beta | beta | 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 |
29
+ | IconButton | `action/icon-button` | 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 |
30
30
  | Link | `action/link` | beta | beta | beta | [authored](../link.md) | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard, platform-parity; native: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard, platform-parity |
31
31
  | BottomCTA | `action/bottom-cta` | beta | beta | beta | generated only | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, platform-parity; native: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, platform-parity |
32
32
  | FloatingActionButton | `action/floating-action-button` | beta | beta | beta | [authored](../floating-action-button.md) | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard, platform-parity; native: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard, platform-parity |
@@ -78,9 +78,9 @@ This document is the human-readable projection of the same catalog and Showcase
78
78
  | Avatar | `data-display/avatar` | beta | beta | beta | 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 |
79
79
  | Asset | `data-display/asset` | beta | beta | beta | [authored](../asset.md) | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard, platform-parity; native: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard, platform-parity |
80
80
  | Chart | `data-display/chart` | planned | planned | planned | [authored](../chart.md) | contract: contract |
81
- | Badge | `data-display/badge` | beta | beta | beta | 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 |
81
+ | Badge | `data-display/badge` | 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 |
82
82
  | CounterBadge | `data-display/counter-badge` | beta | beta | beta | 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 |
83
- | Card | `data-display/card` | beta | beta | beta | 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 |
83
+ | Card | `data-display/card` | 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 |
84
84
  | List | `data-display/list` | beta | beta | beta | 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 |
85
85
  | ListRow | `data-display/list-row` | beta | beta | beta | [authored](../list-row.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 |
86
86
  | VirtualList | `data-display/virtual-list` | planned | planned | planned | [authored](../virtual-list.md) | contract: contract |
@@ -95,20 +95,20 @@ This document is the human-readable projection of the same catalog and Showcase
95
95
  | DescriptionList | `data-display/description-list` | beta | beta | beta | [authored](../description-list.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 |
96
96
  | Image | `data-display/image` | beta | beta | beta | [authored](../image.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 |
97
97
  | QRCode | `data-display/qrcode` | planned | planned | planned | [authored](../qr-code.md) | contract: contract |
98
- | Tag | `data-display/tag` | beta | beta | beta | [authored](../tag.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 |
98
+ | Tag | `data-display/tag` | stable | stable | stable | [authored](../tag.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 |
99
99
  | Tour | `overlay/tour` | beta | beta | unsupported | [authored](../tour.md) | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard |
100
100
  | EmptyState | `feedback/empty-state` | beta | beta | beta | 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 |
101
- | Notice | `feedback/notice` | beta | beta | beta | 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 |
102
- | Progress | `feedback/progress` | beta | beta | beta | [authored](../progress.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 |
103
- | Spinner | `feedback/spinner` | beta | beta | beta | 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 |
104
- | Skeleton | `feedback/skeleton` | beta | beta | beta | 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 |
101
+ | Notice | `feedback/notice` | 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 |
102
+ | Progress | `feedback/progress` | stable | stable | stable | [authored](../progress.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 |
103
+ | Spinner | `feedback/spinner` | 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 |
104
+ | Skeleton | `feedback/skeleton` | 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 |
105
105
  | Result | `feedback/result` | beta | beta | beta | [authored](../result.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 |
106
106
  | BottomInfo | `feedback/bottom-info` | beta | beta | beta | [authored](../bottom-info.md) | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard, platform-parity; native: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard, platform-parity |
107
107
  | Toast | `feedback/toast` | beta | beta | beta | [authored](../toast.md) | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard, platform-parity; native: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard, platform-parity |
108
108
  | Watermark | `feedback/watermark` | planned | planned | unsupported | [authored](../watermark.md) | contract: contract |
109
109
  | Dialog | `overlay/dialog` | beta | beta | beta | generated only | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard, platform-parity; native: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard, platform-parity |
110
110
  | AlertDialog | `overlay/alert-dialog` | beta | beta | beta | generated only | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard, platform-parity; native: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard, platform-parity |
111
- | Sheet | `overlay/sheet` | beta | beta | beta | generated only | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard, platform-parity; native: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard, platform-parity |
111
+ | Sheet | `overlay/sheet` | beta | beta | beta | [authored](../sheet.md) | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard, platform-parity; native: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard, platform-parity |
112
112
  | SidePanel | `overlay/side-panel` | beta | beta | unsupported | [authored](../side-panel.md) | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard |
113
113
  | Popover | `overlay/popover` | beta | beta | unsupported | [authored](../popover.md) | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard |
114
114
  | ConfirmPopover | `overlay/confirm-popover` | planned | planned | unsupported | [authored](../confirm-popover.md) | contract: contract |
@@ -117,7 +117,7 @@ This document is the human-readable projection of the same catalog and Showcase
117
117
  | Affix | `utility/affix` | planned | planned | unsupported | [authored](../affix.md) | contract: contract |
118
118
  | AppProvider | `provider/app-provider` | planned | planned | planned | [authored](../app-provider.md) | contract: contract |
119
119
  | BorderBeam | `utility/border-beam` | planned | planned | unsupported | [authored](../border-beam.md) | contract: contract |
120
- | DesignSystemProvider | `provider/design-system-provider` | beta | beta | beta | [authored](../design-system-provider.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 |
120
+ | DesignSystemProvider | `provider/design-system-provider` | stable | stable | stable | [authored](../design-system-provider.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 |
121
121
  | Utility | `utility/utility` | planned | planned | unsupported | [authored](../utility.md) | contract: contract |
122
122
  | SkipNav | `utility/skip-nav` | beta | beta | unsupported | [authored](../skip-nav.md) | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard |
123
123
  | VisuallyHidden | `utility/visually-hidden` | beta | beta | unsupported | [authored](../visually-hidden.md) | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility |