@hjmds/design-contracts 1.1.1 → 1.3.4

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 (199) hide show
  1. package/dist/agreement.d.ts +183 -0
  2. package/dist/agreement.d.ts.map +1 -0
  3. package/dist/agreement.js +137 -0
  4. package/dist/agreement.js.map +1 -0
  5. package/dist/anchor.d.ts +62 -0
  6. package/dist/anchor.d.ts.map +1 -0
  7. package/dist/anchor.js +43 -0
  8. package/dist/anchor.js.map +1 -0
  9. package/dist/asset.d.ts +94 -0
  10. package/dist/asset.d.ts.map +1 -0
  11. package/dist/asset.js +60 -0
  12. package/dist/asset.js.map +1 -0
  13. package/dist/auth-screen.d.ts +119 -0
  14. package/dist/auth-screen.d.ts.map +1 -0
  15. package/dist/auth-screen.js +87 -0
  16. package/dist/auth-screen.js.map +1 -0
  17. package/dist/base-recipes.d.ts +19 -0
  18. package/dist/base-recipes.d.ts.map +1 -1
  19. package/dist/base-recipes.js +17 -0
  20. package/dist/base-recipes.js.map +1 -1
  21. package/dist/behaviors.d.ts +363 -3
  22. package/dist/behaviors.d.ts.map +1 -1
  23. package/dist/behaviors.js +37 -1
  24. package/dist/behaviors.js.map +1 -1
  25. package/dist/bottom-info.d.ts +58 -0
  26. package/dist/bottom-info.d.ts.map +1 -0
  27. package/dist/bottom-info.js +48 -0
  28. package/dist/bottom-info.js.map +1 -0
  29. package/dist/carousel.d.ts +3 -3
  30. package/dist/carousel.js +1 -1
  31. package/dist/carousel.js.map +1 -1
  32. package/dist/catalog.d.ts +1315 -245
  33. package/dist/catalog.d.ts.map +1 -1
  34. package/dist/catalog.js +67 -25
  35. package/dist/catalog.js.map +1 -1
  36. package/dist/collapsible.d.ts +56 -0
  37. package/dist/collapsible.d.ts.map +1 -0
  38. package/dist/collapsible.js +37 -0
  39. package/dist/collapsible.js.map +1 -0
  40. package/dist/component-definitions.d.ts +17 -0
  41. package/dist/component-definitions.d.ts.map +1 -1
  42. package/dist/component-definitions.js +17 -0
  43. package/dist/component-definitions.js.map +1 -1
  44. package/dist/component-recipes.d.ts +20 -3
  45. package/dist/component-recipes.d.ts.map +1 -1
  46. package/dist/component-recipes.js +24 -1
  47. package/dist/component-recipes.js.map +1 -1
  48. package/dist/context-menu.d.ts +53 -0
  49. package/dist/context-menu.d.ts.map +1 -0
  50. package/dist/context-menu.js +44 -0
  51. package/dist/context-menu.js.map +1 -0
  52. package/dist/counter-badge-recipe.d.ts +5 -0
  53. package/dist/counter-badge-recipe.d.ts.map +1 -1
  54. package/dist/counter-badge-recipe.js +5 -0
  55. package/dist/counter-badge-recipe.js.map +1 -1
  56. package/dist/dataviz.d.ts +76 -0
  57. package/dist/dataviz.d.ts.map +1 -0
  58. package/dist/dataviz.js +58 -0
  59. package/dist/dataviz.js.map +1 -0
  60. package/dist/date-range.d.ts +56 -0
  61. package/dist/date-range.d.ts.map +1 -0
  62. package/dist/date-range.js +79 -0
  63. package/dist/date-range.js.map +1 -0
  64. package/dist/design-system-provider.d.ts +24 -0
  65. package/dist/design-system-provider.d.ts.map +1 -1
  66. package/dist/design-system-provider.js +21 -0
  67. package/dist/design-system-provider.js.map +1 -1
  68. package/dist/floating-action-button.d.ts +1 -1
  69. package/dist/floating-action-button.d.ts.map +1 -1
  70. package/dist/floating-action-button.js +3 -1
  71. package/dist/floating-action-button.js.map +1 -1
  72. package/dist/formatters.d.ts +37 -0
  73. package/dist/formatters.d.ts.map +1 -0
  74. package/dist/formatters.js +69 -0
  75. package/dist/formatters.js.map +1 -0
  76. package/dist/heading.d.ts +82 -0
  77. package/dist/heading.d.ts.map +1 -0
  78. package/dist/heading.js +48 -0
  79. package/dist/heading.js.map +1 -0
  80. package/dist/index.d.ts +20 -0
  81. package/dist/index.d.ts.map +1 -1
  82. package/dist/index.js +20 -0
  83. package/dist/index.js.map +1 -1
  84. package/dist/menubar.d.ts +133 -0
  85. package/dist/menubar.d.ts.map +1 -0
  86. package/dist/menubar.js +80 -0
  87. package/dist/menubar.js.map +1 -0
  88. package/dist/native-platform.d.ts +88 -0
  89. package/dist/native-platform.d.ts.map +1 -0
  90. package/dist/native-platform.js +70 -0
  91. package/dist/native-platform.js.map +1 -0
  92. package/dist/popover.d.ts +19 -4
  93. package/dist/popover.d.ts.map +1 -1
  94. package/dist/popover.js +3 -0
  95. package/dist/popover.js.map +1 -1
  96. package/dist/progress-recipe.d.ts +14 -0
  97. package/dist/progress-recipe.d.ts.map +1 -1
  98. package/dist/progress-recipe.js +14 -1
  99. package/dist/progress-recipe.js.map +1 -1
  100. package/dist/provider-button.d.ts +140 -0
  101. package/dist/provider-button.d.ts.map +1 -0
  102. package/dist/provider-button.js +83 -0
  103. package/dist/provider-button.js.map +1 -0
  104. package/dist/recipes.d.ts +16 -1
  105. package/dist/recipes.d.ts.map +1 -1
  106. package/dist/recipes.js +15 -0
  107. package/dist/recipes.js.map +1 -1
  108. package/dist/sheet.d.ts +16 -0
  109. package/dist/sheet.d.ts.map +1 -1
  110. package/dist/sheet.js +33 -0
  111. package/dist/sheet.js.map +1 -1
  112. package/dist/sidebar.d.ts +168 -0
  113. package/dist/sidebar.d.ts.map +1 -0
  114. package/dist/sidebar.js +98 -0
  115. package/dist/sidebar.js.map +1 -0
  116. package/dist/skip-nav.d.ts +67 -0
  117. package/dist/skip-nav.d.ts.map +1 -0
  118. package/dist/skip-nav.js +47 -0
  119. package/dist/skip-nav.js.map +1 -0
  120. package/dist/tags-input.d.ts +157 -0
  121. package/dist/tags-input.d.ts.map +1 -0
  122. package/dist/tags-input.js +108 -0
  123. package/dist/tags-input.js.map +1 -0
  124. package/dist/text-formats.d.ts +85 -0
  125. package/dist/text-formats.d.ts.map +1 -0
  126. package/dist/text-formats.js +43 -0
  127. package/dist/text-formats.js.map +1 -0
  128. package/dist/toggle-group.d.ts +111 -0
  129. package/dist/toggle-group.d.ts.map +1 -0
  130. package/dist/toggle-group.js +78 -0
  131. package/dist/toggle-group.js.map +1 -0
  132. package/dist/top.d.ts +113 -0
  133. package/dist/top.d.ts.map +1 -0
  134. package/dist/top.js +72 -0
  135. package/dist/top.js.map +1 -0
  136. package/dist/version.d.ts +1 -1
  137. package/dist/version.js +1 -1
  138. package/dist/version.js.map +1 -1
  139. package/docs/agreement.md +33 -0
  140. package/docs/anchor.md +59 -59
  141. package/docs/ant-design-coverage.md +5 -3
  142. package/docs/asset.md +26 -0
  143. package/docs/auth-screen.md +65 -0
  144. package/docs/bottom-info.md +15 -0
  145. package/docs/breadcrumb.md +15 -15
  146. package/docs/button-label.md +20 -0
  147. package/docs/calendar.md +82 -154
  148. package/docs/carousel.md +27 -2
  149. package/docs/cascader.md +17 -0
  150. package/docs/chart.md +33 -0
  151. package/docs/clipboard.md +13 -0
  152. package/docs/collapsible.md +19 -0
  153. package/docs/command-palette.md +19 -0
  154. package/docs/confirm-popover.md +11 -1
  155. package/docs/context-menu.md +23 -0
  156. package/docs/data-table.md +22 -0
  157. package/docs/date-range.md +31 -0
  158. package/docs/density.md +52 -0
  159. package/docs/expansion-roadmap.md +16 -3
  160. package/docs/floating-action-button.md +35 -3
  161. package/docs/formatters.md +18 -0
  162. package/docs/generated/component-maturity.md +40 -23
  163. package/docs/generated/renderer-evidence.json +3029 -652
  164. package/docs/generated/renderer-evidence.md +55 -6
  165. package/docs/generated/showcase-manifest.json +1156 -81
  166. package/docs/heading.md +25 -0
  167. package/docs/identity.md +5 -0
  168. package/docs/layout.md +1 -1
  169. package/docs/library-gap-analysis.md +29 -9
  170. package/docs/list-row.md +14 -0
  171. package/docs/mentions.md +18 -0
  172. package/docs/menubar.md +22 -0
  173. package/docs/native-platform.md +36 -0
  174. package/docs/overlay-stack.md +24 -0
  175. package/docs/pagination.md +16 -8
  176. package/docs/popover.md +42 -13
  177. package/docs/product-audit-2026-09-15.md +88 -0
  178. package/docs/progress.md +16 -0
  179. package/docs/provider-button.md +33 -0
  180. package/docs/rating.md +19 -0
  181. package/docs/react-native-completion.md +347 -0
  182. package/docs/screen-chrome.md +52 -0
  183. package/docs/side-panel.md +23 -2
  184. package/docs/sidebar.md +30 -0
  185. package/docs/skip-nav.md +20 -0
  186. package/docs/splitter.md +22 -2
  187. package/docs/stable-promotion.md +51 -0
  188. package/docs/tags-input.md +25 -0
  189. package/docs/text-formats.md +15 -0
  190. package/docs/theming.md +84 -0
  191. package/docs/time-picker.md +22 -1
  192. package/docs/toast.md +18 -0
  193. package/docs/toggle-group.md +21 -0
  194. package/docs/top.md +32 -0
  195. package/docs/tour.md +23 -2
  196. package/docs/transfer-list.md +20 -0
  197. package/docs/tree-select.md +18 -0
  198. package/docs/tree.md +21 -0
  199. package/package.json +126 -6
@@ -91,7 +91,9 @@ FAB는 collection 항목이 아니다. 스크롤 콘텐츠 **뒤**에 오는 고
91
91
  항상 전체 `label`(모드 무관). 아이콘은 decorative(`aria-hidden`).
92
92
  - Native: 절대 위치 + safe-area 하단 inset을 additive로 적용.
93
93
  `accessibilityLabel` 역시 항상 전체 `label`.
94
- - Reduce Motion: 모양 tween(원 ↔ 알약) 없이 아이콘/라벨 opacity 교차로 대체.
94
+ - Reduce Motion: micro recipe의 `instant`에 맞춰 즉시 전환한다. 기존 문서의 crossfade
95
+ 문구는 recipe와 달랐다. 일반 모드에서는 확장 라벨만 micro 길이로 나타나고,
96
+ 원/알약의 레이아웃 변경을 큐에 쌓지 않는다.
95
97
 
96
98
  ## 공개한 축 / 배제한 축
97
99
 
@@ -107,5 +109,35 @@ FAB는 collection 항목이 아니다. 스크롤 콘텐츠 **뒤**에 오는 고
107
109
 
108
110
  ## 검증 화면
109
111
 
110
- 아직 없음. `planned → beta` 승격은 실제 제품 vertical slice 이후 리드가
111
- 진행한다. 유력 후보: Yajalal 마이 플레이어 목록의 "선수 추가".
112
+ 2026-09-16: React/RN `Patterns/Floating action button`에 스크롤 목록 → 기록 작성
113
+ Dialog → 새 기록 추가 흐름을 구현했다. Flutter 앱은 이번 이관 범위에서 제외한다.
114
+
115
+ ## React / React Native 공개 API
116
+
117
+ 각 패키지의 `./floating-action-button`에서 `FloatingActionButton`,
118
+ `useFloatingActionButtonScroll`, `resolveFloatingActionButtonContentClearance`를 제공한다.
119
+ descriptor, renderIcon, onContentClearanceChange는 필수이고, 이벤트는 Web onClick,
120
+ Native onPress다. renderIcon은 name/size/color/decorative를 받으며 그림 자체는
121
+ 제품의 아이콘 시스템이 그린다. onContentClearanceChange가 준 값을 목록의 하단
122
+ padding에 적용한다. 최초 값은 clearance resolver로 구하고, 큰 글자의 다중 행은
123
+ 실제 측정 높이로 갱신한다. 기본 지름만 예약하면 큰 글자에서 마지막 항목을 가린다.
124
+
125
+ Web hook은 생략하면 window, HTMLElement를 넘기면 해당 스크롤을 관찰한다.
126
+ null은 대상 ref가 마운트될 때까지 기다린다. Native hook은 layoutMode와 onScroll을
127
+ 돌려주므로 ScrollView/FlatList의 onScroll에 연결한다. 작은 이동은 누적하고
128
+ margin 토큰 절반을 넘어야 방향을 바꿔 트랙패드 떨림으로 접고 펴지 않게 한다.
129
+
130
+ FAB는 같은 Button 인스턴스를 유지하고 라벨만 접는다. 모드별 Button/IconButton 교체는
131
+ focus와 ref를 잃으므로 쓰지 않는다. Web은 논리적 끝의 fixed, Native는 전체 화면의
132
+ positioned 부모 안에서 absolute sibling이다. Native에는 OS가 제공한 bottom inset을
133
+ 넘긴다. 내부 화면 도구막대의 높이는 제품이 추가로 반영한다.
134
+
135
+ [MUI FAB](https://mui.com/material-ui/react-floating-action-button/)의 원형/확장 형태와
136
+ 단일 생성 행동을 비교했다. 시각 위계는 [TDS Button](https://tossmini-docs.toss.im/tds-mobile/components/button/)
137
+ 및 HJM [화면 구성](./screen-chrome.md)을 따른다. MUI의 다중 크기/색 variant는 가져오지
138
+ 않고 기존 HJM large/primary/pill 토큰을 쓴다. 외부 구현이나 아이콘을 포함하지 않는다.
139
+
140
+ Web browser 테스트는 스크롤 방향, focus/ref 보존, 양방향 배치, 실제 다중 행 높이,
141
+ safe area와 마지막 내용의 도달 가능성을 검사한다. Native 테스트는 onScroll,
142
+ 같은 Button 유지, logical end, onLayout clearance와 행동을 검사한다.
143
+ 기기 스크린 리더/키보드 및 제품 배포 증거는 별도로 쌓으며 beta로 유지한다.
@@ -0,0 +1,18 @@
1
+ # Formatters
2
+
3
+ 숫자·통화·비율·용량을 화면 형식으로 바꾸는 helper. 컴포넌트가 아니라 **판정**이다.
4
+
5
+ **왜 계약에 있나.** `Statistic`, `DataTable`, `Slider`의 `valueText`, `Progress`의 발표
6
+ 문구가 전부 "이 숫자를 어떻게 읽나"를 제품에 떠넘기고 있었다. 각 제품이 `Intl`을 다시
7
+ 감싸면서 **로케일 전달을 빠뜨리거나**(브라우저 기본값으로 새어 나감) 통화 소수 자리를
8
+ 임의로 정했다. 형식 자체는 플랫폼이 이미 아는 것이므로, HJM은 로케일을 **반드시 받게
9
+ 하는 얇은 층**만 둔다.
10
+
11
+ - `locale`은 선택 인자가 아니다. 생략 가능하게 두는 순간 환경 기본값이 새어 나가고,
12
+ 그 버그는 다른 언어 기기에서만 보인다.
13
+ - `formatPercent`는 **비율**(0.35)을 받는다. 이미 곱한 숫자를 받으면 두 번 곱한 화면이
14
+ 반드시 생긴다.
15
+ - `formatBytes`는 1000 기준(KB)이다 — OS 파일 관리자와 스토어가 그렇게 보여 준다.
16
+ `Intl`에 바이트 단위가 없어 계산만 여기서 하고 숫자 표기는 로케일에 맡긴다.
17
+ - **문장은 여전히 제품 몫이다.** "3개 중 2개"의 어순은 언어마다 다르고, 그것은 형식이
18
+ 아니라 번역이다.
@@ -1,16 +1,18 @@
1
1
  # Component maturity and evidence manifest
2
2
 
3
- > Generated from `@hjmds/design-contracts` 1.1.1. Do not edit this file directly; run `pnpm contracts:sync`.
3
+ > Generated from `@hjmds/design-contracts` 1.3.4. 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 61 · planned 29
8
- - Web renderer: stable 4 · beta 59 · planned 29 · unsupported 2
9
- - Native renderer: stable 4 · beta 59 · planned 12 · unsupported 19
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
10
10
 
11
11
  | Component | Canonical story ID | Contract | Web | Native | Documentation | Required evidence |
12
12
  | --- | --- | --- | --- | --- | --- | --- |
13
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 |
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
+ | 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 |
14
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 |
15
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 |
16
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 |
@@ -20,13 +22,16 @@ This document is the human-readable projection of the same catalog and Showcase
20
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 |
21
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 |
22
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 |
25
+ | Top | `layout/top` | beta | beta | beta | [authored](../top.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 |
23
26
  | Masonry | `layout/masonry` | planned | planned | planned | generated only | contract: contract |
24
- | Splitter | `layout/splitter` | planned | planned | unsupported | [authored](../splitter.md) | contract: contract |
27
+ | Splitter | `layout/splitter` | beta | beta | unsupported | [authored](../splitter.md) | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard |
25
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 |
26
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 |
27
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 |
28
- | BottomCTA | `action/bottom-cta` | beta | unsupported | beta | generated only | contract: contract; native: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility |
29
- | FloatingActionButton | `action/floating-action-button` | planned | planned | planned | [authored](../floating-action-button.md) | contract: contract |
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
+ | 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 |
33
+ | AuthScreenLayout | `layout/auth-screen-layout` | beta | beta | beta | [authored](../auth-screen.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 |
34
+ | AuthProviderButton | `action/auth-provider-button` | 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 |
30
35
  | Field | `input/field` | 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, keyboard |
31
36
  | SearchField | `input/search-field` | beta | beta | beta | 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, keyboard |
32
37
  | TextArea | `input/text-area` | 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 |
@@ -39,68 +44,80 @@ This document is the human-readable projection of the same catalog and Showcase
39
44
  | Switch | `input/switch` | beta | beta | beta | 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, keyboard |
40
45
  | Chip | `input/chip` | beta | beta | beta | 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, keyboard |
41
46
  | SegmentedControl | `input/segmented-control` | beta | beta | beta | 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, keyboard |
47
+ | ToggleGroup | `input/toggle-group` | beta | beta | beta | [authored](../toggle-group.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 |
48
+ | TagsInput | `input/tags-input` | beta | beta | beta | [authored](../tags-input.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 |
42
49
  | Slider | `input/slider` | beta | beta | beta | [authored](../slider.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 |
43
50
  | NumberField | `input/number-field` | beta | beta | beta | [authored](../number-field.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 |
44
51
  | Select | `input/select` | 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 |
45
52
  | Combobox | `input/combobox` | 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 |
46
53
  | DatePicker | `input/date-picker` | beta | beta | beta | [authored](../date-picker.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 |
54
+ | DateRangePicker | `input/date-range-picker` | 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 |
47
55
  | TimePicker | `input/time-picker` | planned | planned | planned | [authored](../time-picker.md) | contract: contract |
48
56
  | ColorPicker | `input/color-picker` | planned | planned | unsupported | [authored](../color-picker.md) | contract: contract |
49
57
  | FilePicker | `input/file-picker` | beta | beta | beta | [authored](../file-picker.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 |
50
58
  | Cascader | `input/cascader` | planned | planned | planned | [authored](../cascader.md) | contract: contract |
51
59
  | Form | `input/form` | beta | beta | beta | [authored](../form.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 |
52
- | Mentions | `input/mentions` | planned | planned | planned | [authored](../mentions.md) | contract: contract |
60
+ | Agreement | `input/agreement` | beta | beta | beta | [authored](../agreement.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 |
61
+ | Mentions | `input/mentions` | beta | beta | beta | [authored](../mentions.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 |
53
62
  | Rating | `input/rating` | planned | planned | planned | [authored](../rating.md) | contract: contract |
54
- | TransferList | `input/transfer-list` | planned | planned | planned | [authored](../transfer-list.md) | contract: contract |
63
+ | TransferList | `input/transfer-list` | beta | beta | beta | [authored](../transfer-list.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 |
55
64
  | TreeSelect | `input/tree-select` | planned | planned | unsupported | [authored](../tree-select.md) | contract: contract |
56
65
  | UploadItem | `data-display/upload-item` | beta | beta | beta | [authored](../upload-item.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 |
57
66
  | Tabs | `navigation/tabs` | beta | beta | beta | 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, keyboard |
58
- | TopBar | `navigation/top-bar` | beta | unsupported | beta | generated only | contract: contract; native: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility |
67
+ | TopBar | `navigation/top-bar` | 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 |
68
+ | Sidebar | `navigation/sidebar` | beta | beta | unsupported | [authored](../sidebar.md) | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard |
59
69
  | BottomNavigation | `navigation/bottom-navigation` | beta | beta | beta | [authored](../bottom-navigation.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 |
60
- | Breadcrumb | `navigation/breadcrumb` | planned | planned | unsupported | [authored](../breadcrumb.md) | contract: contract |
61
- | Pagination | `navigation/pagination` | planned | planned | unsupported | [authored](../pagination.md) | contract: contract |
70
+ | Breadcrumb | `navigation/breadcrumb` | beta | beta | unsupported | [authored](../breadcrumb.md) | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard |
71
+ | Pagination | `navigation/pagination` | beta | beta | unsupported | [authored](../pagination.md) | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard |
62
72
  | LoadMore | `navigation/load-more` | beta | beta | beta | [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, keyboard |
63
73
  | Steps | `navigation/steps` | beta | beta | beta | [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 |
74
+ | Menubar | `navigation/menubar` | beta | beta | unsupported | [authored](../menubar.md) | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard |
75
+ | ContextMenu | `navigation/context-menu` | beta | beta | unsupported | [authored](../context-menu.md) | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard |
64
76
  | Menu | `navigation/menu` | 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 |
65
- | Anchor | `navigation/anchor` | planned | planned | unsupported | [authored](../anchor.md) | contract: contract |
77
+ | Anchor | `navigation/anchor` | beta | beta | unsupported | [authored](../anchor.md) | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard |
66
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
+ | 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
+ | Chart | `data-display/chart` | planned | planned | planned | [authored](../chart.md) | contract: contract |
67
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 |
68
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 |
69
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 |
70
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 |
71
- | ListRow | `data-display/list-row` | 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
+ | 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 |
72
86
  | VirtualList | `data-display/virtual-list` | planned | planned | planned | [authored](../virtual-list.md) | contract: contract |
87
+ | Collapsible | `data-display/collapsible` | beta | beta | beta | [authored](../collapsible.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 |
73
88
  | Accordion | `data-display/accordion` | beta | beta | beta | 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, keyboard |
74
89
  | Statistic | `data-display/statistic` | beta | beta | beta | [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 |
75
90
  | Timeline | `data-display/timeline` | beta | beta | beta | [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 |
76
- | DataTable | `data-display/data-table` | planned | planned | unsupported | [authored](../data-table.md) | contract: contract |
77
- | Tree | `data-display/tree` | planned | planned | unsupported | [authored](../tree.md) | contract: contract |
78
- | Calendar | `data-display/calendar` | planned | planned | planned | [authored](../calendar.md) | contract: contract |
79
- | Carousel | `data-display/carousel` | planned | planned | planned | [authored](../carousel.md) | contract: contract |
91
+ | DataTable | `data-display/data-table` | beta | beta | unsupported | [authored](../data-table.md) | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard |
92
+ | Tree | `data-display/tree` | beta | beta | unsupported | [authored](../tree.md) | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard |
93
+ | Calendar | `data-display/calendar` | beta | beta | beta | [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, keyboard |
94
+ | Carousel | `data-display/carousel` | beta | beta | beta | [authored](../carousel.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
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 |
81
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 |
82
97
  | QRCode | `data-display/qrcode` | planned | planned | planned | [authored](../qr-code.md) | contract: contract |
83
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 |
84
- | Tour | `overlay/tour` | planned | planned | unsupported | [authored](../tour.md) | contract: contract |
99
+ | Tour | `overlay/tour` | beta | beta | unsupported | [authored](../tour.md) | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard |
85
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 |
86
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 |
87
- | Progress | `feedback/progress` | 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 |
88
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 |
89
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 |
90
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
+ | 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 |
91
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 |
92
108
  | Watermark | `feedback/watermark` | planned | planned | unsupported | [authored](../watermark.md) | contract: contract |
93
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 |
94
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 |
95
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 |
96
- | SidePanel | `overlay/side-panel` | planned | planned | unsupported | [authored](../side-panel.md) | contract: contract |
97
- | Popover | `overlay/popover` | planned | planned | unsupported | [authored](../popover.md) | contract: contract |
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
+ | Popover | `overlay/popover` | beta | beta | unsupported | [authored](../popover.md) | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard |
98
114
  | ConfirmPopover | `overlay/confirm-popover` | planned | planned | unsupported | [authored](../confirm-popover.md) | contract: contract |
99
115
  | Tooltip | `overlay/tooltip` | beta | beta | unsupported | [authored](../tooltip.md) | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard |
100
- | CommandPalette | `overlay/command-palette` | planned | planned | unsupported | [authored](../command-palette.md) | contract: contract |
116
+ | CommandPalette | `overlay/command-palette` | beta | beta | unsupported | [authored](../command-palette.md) | contract: contract; web: default, dark, long-copy, large-text, rtl, reduced-motion, accessibility, keyboard |
101
117
  | Affix | `utility/affix` | planned | planned | unsupported | [authored](../affix.md) | contract: contract |
102
118
  | AppProvider | `provider/app-provider` | planned | planned | planned | [authored](../app-provider.md) | contract: contract |
103
119
  | BorderBeam | `utility/border-beam` | planned | planned | unsupported | [authored](../border-beam.md) | contract: contract |
104
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 |
105
121
  | Utility | `utility/utility` | planned | planned | unsupported | [authored](../utility.md) | contract: contract |
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 |
106
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 |