@cdx-ui/components 0.2.2 → 0.2.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 (373) hide show
  1. package/AGENTS.md +24 -0
  2. package/README.md +6 -2
  3. package/coverage.svg +1 -1
  4. package/docs/components/accordion/content.md +538 -0
  5. package/docs/components/alert/content.md +203 -0
  6. package/docs/components/alert-dialog/content.md +319 -0
  7. package/docs/components/avatar/content.md +368 -0
  8. package/docs/components/avatar/design.md +202 -0
  9. package/docs/components/badge/content.md +235 -0
  10. package/docs/components/bottom-sheet/content.md +351 -0
  11. package/docs/components/bottom-sheet/design.md +249 -0
  12. package/docs/components/breadcrumbs/content.md +169 -0
  13. package/docs/components/button/content.md +398 -0
  14. package/docs/components/button/design.md +258 -0
  15. package/docs/components/calendar/content.md +137 -0
  16. package/docs/components/card/content.md +283 -0
  17. package/docs/components/carousel/content.md +416 -0
  18. package/docs/components/checkbox/content.md +236 -0
  19. package/docs/components/checkbox/design.md +214 -0
  20. package/docs/components/chip/content.md +439 -0
  21. package/docs/components/chip/design.md +418 -0
  22. package/docs/components/color-area/content.md +86 -0
  23. package/docs/components/color-field/content.md +134 -0
  24. package/docs/components/color-picker/content.md +208 -0
  25. package/docs/components/color-slider/content.md +120 -0
  26. package/docs/components/color-swatch/content.md +64 -0
  27. package/docs/components/color-swatch-picker/content.md +126 -0
  28. package/docs/components/content.md +97 -0
  29. package/docs/components/currency-input/content.md +205 -0
  30. package/docs/components/data-grid/content.md +522 -0
  31. package/docs/components/date-field/content.md +147 -0
  32. package/docs/components/date-picker/content.md +360 -0
  33. package/docs/components/date-range-picker/content.md +301 -0
  34. package/docs/components/date-time-field/content.md +157 -0
  35. package/docs/components/date-time-list/content.md +105 -0
  36. package/docs/components/date-time-picker/content.md +272 -0
  37. package/docs/components/dialog/content.md +436 -0
  38. package/docs/components/dialog/design.md +192 -0
  39. package/docs/components/divider/content.md +112 -0
  40. package/docs/components/drawer/content.md +436 -0
  41. package/docs/components/field/content.md +277 -0
  42. package/docs/components/form/content.md +62 -0
  43. package/docs/components/full-screen-dialog/content.md +881 -0
  44. package/docs/components/heading/content.md +55 -0
  45. package/docs/components/icon/content.md +190 -0
  46. package/docs/components/icon-button/content.md +200 -0
  47. package/docs/components/icon-button/design.md +165 -0
  48. package/docs/components/image/content.md +104 -0
  49. package/docs/components/input/content.md +281 -0
  50. package/docs/components/input/design.md +389 -0
  51. package/docs/components/insurance-disclosure/content.md +103 -0
  52. package/docs/components/link/content.md +180 -0
  53. package/docs/components/link/design.md +160 -0
  54. package/docs/components/list-item/content.md +695 -0
  55. package/docs/components/menu/content.md +1247 -0
  56. package/docs/components/month-calendar/content.md +84 -0
  57. package/docs/components/month-picker/content.md +273 -0
  58. package/docs/components/otp-input/content.md +327 -0
  59. package/docs/components/progress-bar/content.md +87 -0
  60. package/docs/components/progress-circle/content.md +176 -0
  61. package/docs/components/progress-segmented/content.md +119 -0
  62. package/docs/components/quick-action-button/content.md +154 -0
  63. package/docs/components/quick-action-button/design.md +170 -0
  64. package/docs/components/radio/content.md +224 -0
  65. package/docs/components/range-calendar/content.md +123 -0
  66. package/docs/components/reorderable-list/content.md +309 -0
  67. package/docs/components/scoped-theme/content.md +47 -0
  68. package/docs/components/scroll-shadow/content.md +686 -0
  69. package/docs/components/select/content.md +400 -0
  70. package/docs/components/select/design.md +301 -0
  71. package/docs/components/skeleton/content.md +103 -0
  72. package/docs/components/slider/content.md +423 -0
  73. package/docs/components/stack/content.md +161 -0
  74. package/docs/components/switch/content.md +150 -0
  75. package/docs/components/switch/design.md +208 -0
  76. package/docs/components/table/content.md +548 -0
  77. package/docs/components/table-pagination/content.md +177 -0
  78. package/docs/components/tabs/content.md +292 -0
  79. package/docs/components/text/content.md +142 -0
  80. package/docs/components/textarea/content.md +222 -0
  81. package/docs/components/tile/content.md +703 -0
  82. package/docs/components/toast/content.md +456 -0
  83. package/docs/components/toggle-button/content.md +505 -0
  84. package/docs/components/tooltip/content.md +350 -0
  85. package/docs/components/virtualized-list/content.md +250 -0
  86. package/docs/foundations/content.md +9 -0
  87. package/docs/foundations/expressions/icons/content.md +19 -0
  88. package/docs/foundations/styles/tokens/all-tokens/content.md +192 -0
  89. package/docs/foundations/styles/tokens/what-are-tokens/content.md +33 -0
  90. package/docs/foundations/styles/tokens/what-are-tokens/design.md +33 -0
  91. package/docs/getting-started/content.md +4 -0
  92. package/docs/getting-started/designers/content.md +13 -0
  93. package/docs/getting-started/designers/design.md +13 -0
  94. package/docs/getting-started/developers/accessibility/content.md +31 -0
  95. package/docs/getting-started/developers/content.md +612 -0
  96. package/docs/getting-started/developers/styling/content.md +193 -0
  97. package/docs/llms.txt +193 -0
  98. package/docs/patterns/account-management/content.md +75 -0
  99. package/docs/patterns/authentication/content.md +52 -0
  100. package/docs/patterns/content.md +10 -0
  101. package/docs/patterns/dashboard/content.md +39 -0
  102. package/docs/patterns/empty-states/content.md +31 -0
  103. package/docs/patterns/forms/content.md +109 -0
  104. package/docs/patterns/onboarding/content.md +69 -0
  105. package/docs/patterns/payments/content.md +35 -0
  106. package/docs/patterns/settings/content.md +72 -0
  107. package/docs/resources/content.md +9 -0
  108. package/docs/resources/figma-libraries/content.md +42 -0
  109. package/docs/resources/release-notes/0.0.1-beta.118/content.md +27 -0
  110. package/docs/resources/release-notes/0.0.1-beta.122/content.md +21 -0
  111. package/docs/resources/release-notes/0.0.1-beta.124/content.md +16 -0
  112. package/docs/resources/release-notes/0.0.1-beta.126/content.md +10 -0
  113. package/docs/resources/release-notes/0.0.1-beta.127/content.md +14 -0
  114. package/docs/resources/release-notes/0.0.1-beta.128/content.md +9 -0
  115. package/docs/resources/release-notes/0.0.1-beta.129/content.md +18 -0
  116. package/docs/resources/release-notes/0.0.1-beta.130/content.md +18 -0
  117. package/docs/resources/release-notes/0.0.1-beta.133/content.md +7 -0
  118. package/docs/resources/release-notes/0.0.1-beta.134/content.md +17 -0
  119. package/docs/resources/release-notes/0.0.1-beta.136/content.md +7 -0
  120. package/docs/resources/release-notes/0.0.1-beta.137/content.md +10 -0
  121. package/docs/resources/release-notes/0.0.1-beta.138/content.md +7 -0
  122. package/docs/resources/release-notes/0.0.1-beta.139/content.md +13 -0
  123. package/docs/resources/release-notes/0.0.1-beta.140/content.md +26 -0
  124. package/docs/resources/release-notes/0.0.1-beta.141/content.md +63 -0
  125. package/docs/resources/release-notes/0.0.1-beta.142/content.md +7 -0
  126. package/docs/resources/release-notes/0.0.1-beta.143/content.md +12 -0
  127. package/docs/resources/release-notes/0.0.1-beta.144/content.md +7 -0
  128. package/docs/resources/release-notes/0.0.1-beta.145/content.md +7 -0
  129. package/docs/resources/release-notes/0.0.1-beta.147/content.md +10 -0
  130. package/docs/resources/release-notes/0.0.1-beta.149/content.md +10 -0
  131. package/docs/resources/release-notes/0.0.1-beta.150/content.md +13 -0
  132. package/docs/resources/release-notes/0.0.1-beta.152/content.md +7 -0
  133. package/docs/resources/release-notes/0.0.1-beta.154/content.md +15 -0
  134. package/docs/resources/release-notes/0.0.1-beta.156/content.md +7 -0
  135. package/docs/resources/release-notes/0.0.1-beta.158/content.md +9 -0
  136. package/docs/resources/release-notes/0.0.1-beta.159/content.md +11 -0
  137. package/docs/resources/release-notes/0.0.1-beta.160/content.md +7 -0
  138. package/docs/resources/release-notes/0.0.1-beta.161/content.md +7 -0
  139. package/docs/resources/release-notes/0.0.1-beta.163/content.md +7 -0
  140. package/docs/resources/release-notes/0.0.1-beta.164/content.md +9 -0
  141. package/docs/resources/release-notes/0.0.1-beta.166/content.md +17 -0
  142. package/docs/resources/release-notes/0.0.1-beta.167/content.md +7 -0
  143. package/docs/resources/release-notes/0.0.1-beta.168/content.md +7 -0
  144. package/docs/resources/release-notes/0.0.1-beta.169/content.md +7 -0
  145. package/docs/resources/release-notes/0.0.1-beta.171/content.md +16 -0
  146. package/docs/resources/release-notes/0.0.1-beta.172/content.md +24 -0
  147. package/docs/resources/release-notes/0.0.1-beta.173/content.md +15 -0
  148. package/docs/resources/release-notes/0.0.1-beta.174/content.md +7 -0
  149. package/docs/resources/release-notes/0.0.1-beta.176/content.md +32 -0
  150. package/docs/resources/release-notes/0.0.1-beta.179/content.md +11 -0
  151. package/docs/resources/release-notes/0.0.1-beta.182/content.md +13 -0
  152. package/docs/resources/release-notes/0.0.1-beta.185/content.md +7 -0
  153. package/docs/resources/release-notes/0.0.1-beta.187/content.md +27 -0
  154. package/docs/resources/release-notes/0.1.1/content.md +23 -0
  155. package/docs/resources/release-notes/0.1.2/content.md +7 -0
  156. package/docs/resources/release-notes/0.1.4/content.md +19 -0
  157. package/docs/resources/release-notes/0.1.5/content.md +7 -0
  158. package/docs/resources/release-notes/0.1.6/content.md +7 -0
  159. package/docs/resources/release-notes/0.2.0/content.md +31 -0
  160. package/docs/resources/release-notes/0.2.1/content.md +17 -0
  161. package/docs/resources/release-notes/0.2.2/content.md +11 -0
  162. package/docs/resources/release-notes/0.2.3/content.md +15 -0
  163. package/docs/resources/release-notes/content.md +64 -0
  164. package/lib/commonjs/components/Checkbox/index.js.map +1 -1
  165. package/lib/commonjs/components/DateTimeList/index.js +11 -26
  166. package/lib/commonjs/components/DateTimeList/index.js.map +1 -1
  167. package/lib/commonjs/components/DateTimeList/styles.js +2 -12
  168. package/lib/commonjs/components/DateTimeList/styles.js.map +1 -1
  169. package/lib/commonjs/components/Heading/index.js.map +1 -1
  170. package/lib/commonjs/components/Icon/index.js.map +1 -1
  171. package/lib/commonjs/components/ListItem/index.js +170 -9
  172. package/lib/commonjs/components/ListItem/index.js.map +1 -1
  173. package/lib/commonjs/components/ListItem/styles.js +38 -2
  174. package/lib/commonjs/components/ListItem/styles.js.map +1 -1
  175. package/lib/commonjs/components/Menu/index.js +11 -5
  176. package/lib/commonjs/components/Menu/index.js.map +1 -1
  177. package/lib/commonjs/components/RangeCalendar/index.js.map +1 -1
  178. package/lib/commonjs/components/ReorderableList/ReorderableListShared.js +91 -0
  179. package/lib/commonjs/components/ReorderableList/ReorderableListShared.js.map +1 -0
  180. package/lib/commonjs/components/ReorderableList/index.js +135 -0
  181. package/lib/commonjs/components/ReorderableList/index.js.map +1 -0
  182. package/lib/commonjs/components/ReorderableList/index.web.js +233 -0
  183. package/lib/commonjs/components/ReorderableList/index.web.js.map +1 -0
  184. package/lib/commonjs/components/ReorderableList/labels.js +47 -0
  185. package/lib/commonjs/components/ReorderableList/labels.js.map +1 -0
  186. package/lib/commonjs/components/ReorderableList/reorderItems.js +16 -0
  187. package/lib/commonjs/components/ReorderableList/reorderItems.js.map +1 -0
  188. package/lib/commonjs/components/ReorderableList/rowContext.js +42 -0
  189. package/lib/commonjs/components/ReorderableList/rowContext.js.map +1 -0
  190. package/lib/commonjs/components/ReorderableList/types.js +6 -0
  191. package/lib/commonjs/components/ReorderableList/types.js.map +1 -0
  192. package/lib/commonjs/components/ReorderableList/useReorder.js +131 -0
  193. package/lib/commonjs/components/ReorderableList/useReorder.js.map +1 -0
  194. package/lib/commonjs/components/ReorderableList/webDnd.js +64 -0
  195. package/lib/commonjs/components/ReorderableList/webDnd.js.map +1 -0
  196. package/lib/commonjs/components/ScopedTheme/index.js.map +1 -1
  197. package/lib/commonjs/components/ScrollShadow/gradient.js +29 -0
  198. package/lib/commonjs/components/ScrollShadow/gradient.js.map +1 -0
  199. package/lib/commonjs/components/ScrollShadow/index.js +171 -44
  200. package/lib/commonjs/components/ScrollShadow/index.js.map +1 -1
  201. package/lib/commonjs/components/ScrollShadow/styles.js +58 -14
  202. package/lib/commonjs/components/ScrollShadow/styles.js.map +1 -1
  203. package/lib/commonjs/components/ScrollShadow/useComposedScrollHandler.js +63 -0
  204. package/lib/commonjs/components/ScrollShadow/useComposedScrollHandler.js.map +1 -0
  205. package/lib/commonjs/components/ScrollShadow/useScrollShadow.js +48 -8
  206. package/lib/commonjs/components/ScrollShadow/useScrollShadow.js.map +1 -1
  207. package/lib/commonjs/components/Skeleton/index.js.map +1 -1
  208. package/lib/commonjs/components/TablePagination/index.js.map +1 -1
  209. package/lib/commonjs/components/Tabs/index.js +16 -23
  210. package/lib/commonjs/components/Tabs/index.js.map +1 -1
  211. package/lib/commonjs/components/Tabs/styles.js +1 -10
  212. package/lib/commonjs/components/Tabs/styles.js.map +1 -1
  213. package/lib/commonjs/components/Text/index.js.map +1 -1
  214. package/lib/commonjs/components/Tile/styles.js +1 -1
  215. package/lib/commonjs/components/Tile/styles.js.map +1 -1
  216. package/lib/commonjs/components/index.js.map +1 -1
  217. package/lib/commonjs/figma/ListItem.SectionHeader.figma.js +20 -5
  218. package/lib/commonjs/figma/ListItem.SectionHeader.figma.js.map +1 -1
  219. package/lib/commonjs/reorderable-list.js +17 -0
  220. package/lib/commonjs/reorderable-list.js.map +1 -0
  221. package/lib/module/components/Checkbox/index.js.map +1 -1
  222. package/lib/module/components/DateTimeList/index.js +12 -27
  223. package/lib/module/components/DateTimeList/index.js.map +1 -1
  224. package/lib/module/components/DateTimeList/styles.js +1 -11
  225. package/lib/module/components/DateTimeList/styles.js.map +1 -1
  226. package/lib/module/components/Heading/index.js.map +1 -1
  227. package/lib/module/components/Icon/index.js.map +1 -1
  228. package/lib/module/components/ListItem/index.js +163 -14
  229. package/lib/module/components/ListItem/index.js.map +1 -1
  230. package/lib/module/components/ListItem/styles.js +37 -1
  231. package/lib/module/components/ListItem/styles.js.map +1 -1
  232. package/lib/module/components/Menu/index.js +11 -5
  233. package/lib/module/components/Menu/index.js.map +1 -1
  234. package/lib/module/components/RangeCalendar/index.js.map +1 -1
  235. package/lib/module/components/ReorderableList/ReorderableListShared.js +86 -0
  236. package/lib/module/components/ReorderableList/ReorderableListShared.js.map +1 -0
  237. package/lib/module/components/ReorderableList/index.js +130 -0
  238. package/lib/module/components/ReorderableList/index.js.map +1 -0
  239. package/lib/module/components/ReorderableList/index.web.js +229 -0
  240. package/lib/module/components/ReorderableList/index.web.js.map +1 -0
  241. package/lib/module/components/ReorderableList/labels.js +41 -0
  242. package/lib/module/components/ReorderableList/labels.js.map +1 -0
  243. package/lib/module/components/ReorderableList/reorderItems.js +12 -0
  244. package/lib/module/components/ReorderableList/reorderItems.js.map +1 -0
  245. package/lib/module/components/ReorderableList/rowContext.js +38 -0
  246. package/lib/module/components/ReorderableList/rowContext.js.map +1 -0
  247. package/lib/module/components/ReorderableList/types.js +4 -0
  248. package/lib/module/components/ReorderableList/types.js.map +1 -0
  249. package/lib/module/components/ReorderableList/useReorder.js +123 -0
  250. package/lib/module/components/ReorderableList/useReorder.js.map +1 -0
  251. package/lib/module/components/ReorderableList/webDnd.js +59 -0
  252. package/lib/module/components/ReorderableList/webDnd.js.map +1 -0
  253. package/lib/module/components/ScopedTheme/index.js.map +1 -1
  254. package/lib/module/components/ScrollShadow/gradient.js +24 -0
  255. package/lib/module/components/ScrollShadow/gradient.js.map +1 -0
  256. package/lib/module/components/ScrollShadow/index.js +170 -48
  257. package/lib/module/components/ScrollShadow/index.js.map +1 -1
  258. package/lib/module/components/ScrollShadow/styles.js +57 -13
  259. package/lib/module/components/ScrollShadow/styles.js.map +1 -1
  260. package/lib/module/components/ScrollShadow/useComposedScrollHandler.js +57 -0
  261. package/lib/module/components/ScrollShadow/useComposedScrollHandler.js.map +1 -0
  262. package/lib/module/components/ScrollShadow/useScrollShadow.js +46 -8
  263. package/lib/module/components/ScrollShadow/useScrollShadow.js.map +1 -1
  264. package/lib/module/components/Skeleton/index.js.map +1 -1
  265. package/lib/module/components/TablePagination/index.js.map +1 -1
  266. package/lib/module/components/Tabs/index.js +17 -24
  267. package/lib/module/components/Tabs/index.js.map +1 -1
  268. package/lib/module/components/Tabs/styles.js +0 -9
  269. package/lib/module/components/Tabs/styles.js.map +1 -1
  270. package/lib/module/components/Text/index.js.map +1 -1
  271. package/lib/module/components/Tile/styles.js +1 -1
  272. package/lib/module/components/Tile/styles.js.map +1 -1
  273. package/lib/module/components/index.js.map +1 -1
  274. package/lib/module/figma/ListItem.SectionHeader.figma.js +20 -5
  275. package/lib/module/figma/ListItem.SectionHeader.figma.js.map +1 -1
  276. package/lib/module/reorderable-list.js +4 -0
  277. package/lib/module/reorderable-list.js.map +1 -0
  278. package/lib/typescript/components/Checkbox/index.d.ts +22 -0
  279. package/lib/typescript/components/Checkbox/index.d.ts.map +1 -1
  280. package/lib/typescript/components/DateTimeList/index.d.ts.map +1 -1
  281. package/lib/typescript/components/DateTimeList/styles.d.ts +1 -4
  282. package/lib/typescript/components/DateTimeList/styles.d.ts.map +1 -1
  283. package/lib/typescript/components/Heading/index.d.ts +20 -2
  284. package/lib/typescript/components/Heading/index.d.ts.map +1 -1
  285. package/lib/typescript/components/Icon/index.d.ts +2 -0
  286. package/lib/typescript/components/Icon/index.d.ts.map +1 -1
  287. package/lib/typescript/components/ListItem/index.d.ts +28 -5
  288. package/lib/typescript/components/ListItem/index.d.ts.map +1 -1
  289. package/lib/typescript/components/ListItem/styles.d.ts +6 -1
  290. package/lib/typescript/components/ListItem/styles.d.ts.map +1 -1
  291. package/lib/typescript/components/Menu/index.d.ts +116 -4
  292. package/lib/typescript/components/Menu/index.d.ts.map +1 -1
  293. package/lib/typescript/components/RangeCalendar/index.d.ts +2 -0
  294. package/lib/typescript/components/RangeCalendar/index.d.ts.map +1 -1
  295. package/lib/typescript/components/ReorderableList/ReorderableListShared.d.ts +31 -0
  296. package/lib/typescript/components/ReorderableList/ReorderableListShared.d.ts.map +1 -0
  297. package/lib/typescript/components/ReorderableList/index.d.ts +8 -0
  298. package/lib/typescript/components/ReorderableList/index.d.ts.map +1 -0
  299. package/lib/typescript/components/ReorderableList/index.web.d.ts +8 -0
  300. package/lib/typescript/components/ReorderableList/index.web.d.ts.map +1 -0
  301. package/lib/typescript/components/ReorderableList/labels.d.ts +16 -0
  302. package/lib/typescript/components/ReorderableList/labels.d.ts.map +1 -0
  303. package/lib/typescript/components/ReorderableList/reorderItems.d.ts +3 -0
  304. package/lib/typescript/components/ReorderableList/reorderItems.d.ts.map +1 -0
  305. package/lib/typescript/components/ReorderableList/rowContext.d.ts +57 -0
  306. package/lib/typescript/components/ReorderableList/rowContext.d.ts.map +1 -0
  307. package/lib/typescript/components/ReorderableList/types.d.ts +75 -0
  308. package/lib/typescript/components/ReorderableList/types.d.ts.map +1 -0
  309. package/lib/typescript/components/ReorderableList/useReorder.d.ts +31 -0
  310. package/lib/typescript/components/ReorderableList/useReorder.d.ts.map +1 -0
  311. package/lib/typescript/components/ReorderableList/webDnd.d.ts +27 -0
  312. package/lib/typescript/components/ReorderableList/webDnd.d.ts.map +1 -0
  313. package/lib/typescript/components/ScopedTheme/index.d.ts +6 -1
  314. package/lib/typescript/components/ScopedTheme/index.d.ts.map +1 -1
  315. package/lib/typescript/components/ScrollShadow/gradient.d.ts +7 -0
  316. package/lib/typescript/components/ScrollShadow/gradient.d.ts.map +1 -0
  317. package/lib/typescript/components/ScrollShadow/index.d.ts +57 -15
  318. package/lib/typescript/components/ScrollShadow/index.d.ts.map +1 -1
  319. package/lib/typescript/components/ScrollShadow/styles.d.ts +8 -2
  320. package/lib/typescript/components/ScrollShadow/styles.d.ts.map +1 -1
  321. package/lib/typescript/components/ScrollShadow/useComposedScrollHandler.d.ts +13 -0
  322. package/lib/typescript/components/ScrollShadow/useComposedScrollHandler.d.ts.map +1 -0
  323. package/lib/typescript/components/ScrollShadow/useScrollShadow.d.ts +15 -2
  324. package/lib/typescript/components/ScrollShadow/useScrollShadow.d.ts.map +1 -1
  325. package/lib/typescript/components/Skeleton/index.d.ts +3 -0
  326. package/lib/typescript/components/Skeleton/index.d.ts.map +1 -1
  327. package/lib/typescript/components/TablePagination/index.d.ts +54 -0
  328. package/lib/typescript/components/TablePagination/index.d.ts.map +1 -1
  329. package/lib/typescript/components/Tabs/index.d.ts.map +1 -1
  330. package/lib/typescript/components/Tabs/styles.d.ts +0 -7
  331. package/lib/typescript/components/Tabs/styles.d.ts.map +1 -1
  332. package/lib/typescript/components/Text/index.d.ts +12 -2
  333. package/lib/typescript/components/Text/index.d.ts.map +1 -1
  334. package/lib/typescript/components/Tile/styles.d.ts.map +1 -1
  335. package/lib/typescript/components/ToggleButton/styles.d.ts +1 -1
  336. package/lib/typescript/components/index.d.ts +1 -0
  337. package/lib/typescript/components/index.d.ts.map +1 -1
  338. package/lib/typescript/figma/ListItem.SectionHeader.figma.d.ts.map +1 -1
  339. package/lib/typescript/reorderable-list.d.ts +2 -0
  340. package/lib/typescript/reorderable-list.d.ts.map +1 -0
  341. package/package.json +37 -8
  342. package/src/components/Checkbox/index.tsx +22 -0
  343. package/src/components/DateTimeList/index.tsx +13 -26
  344. package/src/components/DateTimeList/styles.ts +1 -10
  345. package/src/components/Heading/index.tsx +10 -1
  346. package/src/components/Icon/index.tsx +2 -0
  347. package/src/components/ListItem/index.tsx +232 -15
  348. package/src/components/ListItem/styles.ts +41 -0
  349. package/src/components/Menu/index.tsx +128 -12
  350. package/src/components/RangeCalendar/index.tsx +2 -0
  351. package/src/components/ReorderableList/ReorderableListShared.tsx +113 -0
  352. package/src/components/ReorderableList/index.tsx +162 -0
  353. package/src/components/ReorderableList/index.web.tsx +254 -0
  354. package/src/components/ReorderableList/labels.ts +52 -0
  355. package/src/components/ReorderableList/reorderItems.ts +16 -0
  356. package/src/components/ReorderableList/rowContext.tsx +72 -0
  357. package/src/components/ReorderableList/types.ts +80 -0
  358. package/src/components/ReorderableList/useReorder.ts +159 -0
  359. package/src/components/ReorderableList/webDnd.ts +60 -0
  360. package/src/components/ScopedTheme/index.tsx +6 -1
  361. package/src/components/ScrollShadow/gradient.ts +48 -0
  362. package/src/components/ScrollShadow/index.tsx +300 -69
  363. package/src/components/ScrollShadow/styles.ts +45 -28
  364. package/src/components/ScrollShadow/useComposedScrollHandler.ts +58 -0
  365. package/src/components/ScrollShadow/useScrollShadow.ts +72 -10
  366. package/src/components/Skeleton/index.tsx +3 -0
  367. package/src/components/TablePagination/index.tsx +54 -0
  368. package/src/components/Tabs/index.tsx +25 -35
  369. package/src/components/Tabs/styles.ts +0 -9
  370. package/src/components/Text/index.tsx +6 -1
  371. package/src/components/Tile/styles.ts +4 -1
  372. package/src/components/index.ts +5 -0
  373. package/src/reorderable-list.ts +1 -0
@@ -0,0 +1,208 @@
1
+ # ColorPicker (https://design.candescent.com/docs/components/color-picker)
2
+
3
+ Resources: [Storybook](https://victorious-wave-0daadf00f.6.azurestaticapps.net/?path=/story/inputs-colorpicker--default)
4
+
5
+ `ColorPicker` coordinates color controls that consumers compose inside its popover.
6
+
7
+ ```tsx
8
+ import {
9
+ ColorArea,
10
+ ColorField,
11
+ ColorPicker,
12
+ ColorSlider,
13
+ ColorSwatch,
14
+ ColorSwatchPicker,
15
+ HStack,
16
+ Select,
17
+ Text,
18
+ } from '@cdx-ui/components';
19
+ import { parseColor } from '@cdx-ui/primitives';
20
+ ```
21
+
22
+ ## Basic
23
+
24
+ Compose the area, hue slider, format `Select`, fields, and optional preset picker for the workflow your product needs.
25
+
26
+ ```tsx
27
+ import { useState } from 'react';
28
+ import {
29
+ ColorArea,
30
+ ColorField,
31
+ ColorPicker,
32
+ ColorSlider,
33
+ ColorSwatch,
34
+ ColorSwatchPicker,
35
+ HStack,
36
+ Select,
37
+ Text,
38
+ } from '@cdx-ui/components';
39
+ import { parseColor, type Color } from '@cdx-ui/primitives';
40
+
41
+ type ColorFormat = 'hex' | 'rgb' | 'hsl';
42
+
43
+ const formatItems = [
44
+ { value: 'hex', label: 'Hex' },
45
+ { value: 'rgb', label: 'RGB' },
46
+ { value: 'hsl', label: 'HSL' },
47
+ ];
48
+
49
+ function requiredColor(value: string): Color {
50
+ const color = parseColor(value);
51
+ if (!color) {
52
+ throw new Error(`Expected ${value} to parse`);
53
+ }
54
+ return color;
55
+ }
56
+
57
+ const initialColor = requiredColor('#2F6FED');
58
+ const presets = ['#2F6FED', '#7C3AED', '#DB2777', '#DC2626', '#D97706', '#059669'].map(
59
+ requiredColor,
60
+ );
61
+
62
+ export default function ColorPickerBasicDemo() {
63
+ const [value, setValue] = useState(initialColor);
64
+ const [format, setFormat] = useState<ColorFormat>('hex');
65
+
66
+ return (
67
+ <ColorPicker value={value} onValueChange={setValue} className="w-full max-w-sm">
68
+ <ColorPicker.Trigger accessibilityLabel="Choose brand color">
69
+ <ColorSwatch size="sm" />
70
+ <Text>{value.toString('hex')}</Text>
71
+ </ColorPicker.Trigger>
72
+ <ColorPicker.Popover>
73
+ <ColorArea accessibilityLabel="Brand color">
74
+ <ColorArea.Thumb />
75
+ </ColorArea>
76
+ <ColorSlider colorSpace="hsb" channel="hue" accessibilityLabel="Hue">
77
+ <ColorSlider.Output />
78
+ <ColorSlider.Rail>
79
+ <ColorSlider.Thumb accessibilityLabel="Hue" />
80
+ </ColorSlider.Rail>
81
+ </ColorSlider>
82
+ <Select
83
+ items={formatItems}
84
+ value={format}
85
+ onValueChange={(nextFormat) => setFormat(nextFormat as ColorFormat)}
86
+ accessibilityLabel="Color format"
87
+ >
88
+ <Select.Trigger>
89
+ <Select.Value />
90
+ </Select.Trigger>
91
+ <Select.Content>
92
+ {formatItems.map((item) => (
93
+ <Select.Item key={item.value} value={item.value}>
94
+ <Select.ItemLabel>{item.label}</Select.ItemLabel>
95
+ </Select.Item>
96
+ ))}
97
+ </Select.Content>
98
+ </Select>
99
+ {format === 'hex' ? (
100
+ <ColorField>
101
+ <ColorField.Group>
102
+ <ColorField.Slot position="leading">
103
+ <ColorSwatch size="xs" />
104
+ </ColorField.Slot>
105
+ <ColorField.Input accessibilityLabel="Hex color" />
106
+ </ColorField.Group>
107
+ </ColorField>
108
+ ) : format === 'rgb' ? (
109
+ <HStack className="w-full min-w-0" space="sm">
110
+ {(['red', 'green', 'blue'] as const).map((channel) => (
111
+ <ColorField
112
+ key={channel}
113
+ className="min-w-0 flex-1"
114
+ colorSpace="rgb"
115
+ channel={channel}
116
+ >
117
+ <ColorField.Group>
118
+ <ColorField.Input accessibilityLabel={channel} />
119
+ </ColorField.Group>
120
+ </ColorField>
121
+ ))}
122
+ </HStack>
123
+ ) : (
124
+ <HStack className="w-full min-w-0" space="sm">
125
+ {(['hue', 'saturation', 'lightness'] as const).map((channel) => (
126
+ <ColorField
127
+ key={channel}
128
+ className="min-w-0 flex-1"
129
+ colorSpace="hsl"
130
+ channel={channel}
131
+ >
132
+ <ColorField.Group>
133
+ <ColorField.Input accessibilityLabel={channel} />
134
+ </ColorField.Group>
135
+ </ColorField>
136
+ ))}
137
+ </HStack>
138
+ )}
139
+ <ColorSwatchPicker accessibilityLabel="Preset colors">
140
+ {presets.map((preset) => (
141
+ <ColorSwatchPicker.Item key={preset.toString('hex')} color={preset}>
142
+ <ColorSwatchPicker.Swatch />
143
+ <ColorSwatchPicker.Indicator />
144
+ </ColorSwatchPicker.Item>
145
+ ))}
146
+ </ColorSwatchPicker>
147
+ </ColorPicker.Popover>
148
+ </ColorPicker>
149
+ );
150
+ }
151
+ ```
152
+
153
+ ## API
154
+
155
+ ### ColorPicker
156
+
157
+ Owns the shared color and popover open state.
158
+
159
+ | Prop | Type | Default | Description |
160
+ | --- | --- | --- | --- |
161
+ | `className?` | `string` | — | — |
162
+ | `children?` | `ReactNode` | — | — |
163
+ | `asChild?` | `boolean` | — | — |
164
+ | `value?` | `Color` | — | Current controlled color. |
165
+ | `defaultValue?` | `Color` | — | Initial color for uncontrolled usage. |
166
+ | `onValueChange?` | `((value: Color) => void)` | — | Called when a nested color control changes the current color. |
167
+ | `isOpen?` | `boolean` | — | Controlled popover open state. |
168
+ | `defaultOpen?` | `boolean` | ``false`` | Initial popover open state for uncontrolled usage. |
169
+ | `onOpenChange?` | `((open: boolean) => void)` | — | Called when the popover open state changes. |
170
+
171
+ Inherits all [`ViewProps`](https://reactnative.dev/docs/view#props).
172
+
173
+ ## Sub-components
174
+
175
+ ### ColorPicker.Trigger
176
+
177
+ Toggles the popover and announces its expanded state. Include text with a swatch so color is not the only cue.
178
+
179
+ | Prop | Type | Default | Description |
180
+ | --- | --- | --- | --- |
181
+ | `className?` | `string` | — | — |
182
+ | `children?` | `ReactNode` | — | — |
183
+ | `isDisabled?` | `boolean` | — | If true, the button will be disabled. |
184
+ | `asChild?` | `boolean` | — | — |
185
+
186
+ Inherits all [`PressableProps`](https://reactnative.dev/docs/pressable#props).
187
+
188
+ ### ColorPicker.Popover
189
+
190
+ Presents consumer-composed color controls in the shared picker popover surface.
191
+
192
+ | Prop | Type | Default | Description |
193
+ | --- | --- | --- | --- |
194
+ | `className?` | `string` | — | — |
195
+ | `contentClassName?` | `string` | — | — |
196
+ | `children` | `ReactNode` | — | — |
197
+
198
+ ## Anatomy
199
+
200
+ | `data-slot` | Element |
201
+ | ---------------------- | ------------------------ |
202
+ | `color-picker` | Root container |
203
+ | `color-picker-trigger` | Popover trigger |
204
+ | `color-picker-popover` | Anchored popover surface |
205
+
206
+ ## Accessibility
207
+
208
+ Give `ColorPicker.Trigger` an accessible name and include a text value with its swatch. Label each nested area, slider, field, and preset group independently.
@@ -0,0 +1,120 @@
1
+ # ColorSlider (https://design.candescent.com/docs/components/color-slider)
2
+
3
+ Resources: [Storybook](https://victorious-wave-0daadf00f.6.azurestaticapps.net/?path=/story/inputs-colorslider--default)
4
+
5
+ `ColorSlider` adjusts one color channel and renders the channel gradient in its rail.
6
+
7
+ ```tsx
8
+ import { ColorSlider } from '@cdx-ui/components';
9
+ import { parseColor } from '@cdx-ui/primitives';
10
+ ```
11
+
12
+ ## Basic
13
+
14
+ ```tsx
15
+ import { useState } from 'react';
16
+ import { ColorSlider } from '@cdx-ui/components';
17
+ import { parseColor, type Color } from '@cdx-ui/primitives';
18
+
19
+ function requiredColor(value: string): Color {
20
+ const color = parseColor(value);
21
+ if (!color) {
22
+ throw new Error(`Expected ${value} to parse`);
23
+ }
24
+ return color;
25
+ }
26
+
27
+ export default function ColorSliderBasicDemo() {
28
+ const [value, setValue] = useState(requiredColor('#2F6FED'));
29
+
30
+ return (
31
+ <ColorSlider
32
+ colorSpace="hsb"
33
+ channel="hue"
34
+ value={value}
35
+ onValueChange={setValue}
36
+ accessibilityLabel="Hue"
37
+ >
38
+ <ColorSlider.Output />
39
+ <ColorSlider.Rail>
40
+ <ColorSlider.Thumb accessibilityLabel="Hue" />
41
+ </ColorSlider.Rail>
42
+ </ColorSlider>
43
+ );
44
+ }
45
+ ```
46
+
47
+ ## API
48
+
49
+ ### ColorSlider
50
+
51
+ Pair `colorSpace` with a channel from that color space.
52
+
53
+ | Prop | Type | Default | Description |
54
+ | --- | --- | --- | --- |
55
+ | `className?` | `string` | — | — |
56
+ | `children?` | `ReactNode` | — | — |
57
+ | `value?` | `Color` | — | — |
58
+ | `defaultValue?` | `Color` | — | — |
59
+ | `onValueChange?` | `((value: Color) => void)` | — | — |
60
+ | `onValueChangeComplete?` | `((value: Color) => void)` | — | — |
61
+ | `orientation?` | `'horizontal' \| 'vertical'` | — | — |
62
+ | `step?` | `number` | — | — |
63
+ | `pageStep?` | `number` | — | — |
64
+ | `isDisabled?` | `boolean` | — | — |
65
+ | `colorSpace?` | `'rgb' \| 'hsl' \| 'hsb'` | — | — |
66
+ | `channel?` | `'red' \| 'green' \| 'blue' \| 'hue' \| 'saturation' \| 'lightness' \| 'brightness'` | — | — |
67
+ | `asChild?` | `boolean` | — | — |
68
+
69
+ Inherits all [`ViewProps`](https://reactnative.dev/docs/view#props).
70
+
71
+ ## Sub-components
72
+
73
+ ### ColorSlider.Rail
74
+
75
+ Renders the channel gradient and handles press and drag interactions.
76
+
77
+ | Prop | Type | Default | Description |
78
+ | --- | --- | --- | --- |
79
+ | `className?` | `string` | — | — |
80
+ | `children?` | `ReactNode` | — | — |
81
+ | `asChild?` | `boolean` | — | — |
82
+
83
+ Inherits all [`ViewProps`](https://reactnative.dev/docs/view#props).
84
+
85
+ ### ColorSlider.Thumb
86
+
87
+ The focusable, adjustable channel control.
88
+
89
+ | Prop | Type | Default | Description |
90
+ | --- | --- | --- | --- |
91
+ | `className?` | `string` | — | — |
92
+ | `children?` | `ReactNode` | — | Either children or a render prop that receives a boolean reflecting whether the component is currently pressed. |
93
+ | `asChild?` | `boolean` | — | — |
94
+
95
+ Inherits all [`PressableProps`](https://reactnative.dev/docs/pressable#props).
96
+
97
+ ### ColorSlider.Output
98
+
99
+ Displays the formatted channel value.
100
+
101
+ | Prop | Type | Default | Description |
102
+ | --- | --- | --- | --- |
103
+ | `className?` | `string` | — | — |
104
+ | `children?` | `ReactNode` | — | — |
105
+ | `asChild?` | `boolean` | — | — |
106
+
107
+ Inherits all [`TextProps`](https://reactnative.dev/docs/text#props).
108
+
109
+ ## Anatomy
110
+
111
+ | `data-slot` | Element |
112
+ | --------------------- | -------------------------- |
113
+ | `color-slider` | Root container |
114
+ | `color-slider-rail` | Gradient interaction rail |
115
+ | `color-slider-thumb` | Adjustable channel control |
116
+ | `color-slider-output` | Formatted value label |
117
+
118
+ ## Accessibility
119
+
120
+ Give the slider and thumb an accessible label describing the channel. Arrow keys and native increment/decrement actions change the value.
@@ -0,0 +1,64 @@
1
+ # ColorSwatch (https://design.candescent.com/docs/components/color-swatch)
2
+
3
+ Resources: [Storybook](https://victorious-wave-0daadf00f.6.azurestaticapps.net/?path=/story/inputs-colorswatch--default)
4
+
5
+ `ColorSwatch` displays an explicit color or the current value from a surrounding `ColorPicker`.
6
+
7
+ ```tsx
8
+ import { ColorSwatch, HStack } from '@cdx-ui/components';
9
+ import { parseColor } from '@cdx-ui/primitives';
10
+ ```
11
+
12
+ ## Basic
13
+
14
+ ```tsx
15
+ import { ColorSwatch, HStack } from '@cdx-ui/components';
16
+ import { parseColor, type Color } from '@cdx-ui/primitives';
17
+
18
+ function requiredColor(value: string): Color {
19
+ const color = parseColor(value);
20
+ if (!color) {
21
+ throw new Error(`Expected ${value} to parse`);
22
+ }
23
+ return color;
24
+ }
25
+
26
+ const color = requiredColor('#2F6FED');
27
+
28
+ export default function ColorSwatchBasicDemo() {
29
+ return (
30
+ <HStack space="lg" className="items-center">
31
+ <ColorSwatch color={color} size="xs" />
32
+ <ColorSwatch color={color} size="sm" shape="square" />
33
+ <ColorSwatch color={color} size="lg" />
34
+ </HStack>
35
+ );
36
+ }
37
+ ```
38
+
39
+ ## API
40
+
41
+ ### ColorSwatch
42
+
43
+ The swatch is presentational unless a consumer composes it inside an interactive control. Existing docs-site palette swatches remain local documentation chrome and are not this published component.
44
+
45
+ | Prop | Type | Default | Description |
46
+ | --- | --- | --- | --- |
47
+ | `className?` | `string` | — | — |
48
+ | `children?` | `React.ReactNode` | — | — |
49
+ | `size?` | `'xs' \| 'sm' \| 'lg'` | — | Visual dimension. `xs` = 16, `sm` = 24, and `lg` = 40. |
50
+ | `shape?` | `'circle' \| 'square'` | — | Swatch outline shape. |
51
+ | `asChild?` | `boolean` | — | — |
52
+ | `color?` | `Color` | — | — |
53
+
54
+ Inherits all [`ViewProps`](https://reactnative.dev/docs/view#props).
55
+
56
+ ## Anatomy
57
+
58
+ | `data-slot` | Element |
59
+ | -------------- | ------------ |
60
+ | `color-swatch` | Color sample |
61
+
62
+ ## Accessibility
63
+
64
+ Do not use a swatch as the only indication of a selected value. Pair it with text inside an appropriately named trigger when it is interactive.
@@ -0,0 +1,126 @@
1
+ # ColorSwatchPicker (https://design.candescent.com/docs/components/color-swatch-picker)
2
+
3
+ Resources: [Storybook](https://victorious-wave-0daadf00f.6.azurestaticapps.net/?path=/story/inputs-colorswatchpicker--default)
4
+
5
+ `ColorSwatchPicker` selects one color from a consumer-supplied set of presets.
6
+
7
+ ```tsx
8
+ import { ColorSwatchPicker } from '@cdx-ui/components';
9
+ import { parseColor } from '@cdx-ui/primitives';
10
+ ```
11
+
12
+ ## Basic
13
+
14
+ ```tsx
15
+ import { useState } from 'react';
16
+ import { ColorSwatchPicker } from '@cdx-ui/components';
17
+ import { parseColor, type Color } from '@cdx-ui/primitives';
18
+
19
+ function requiredColor(value: string): Color {
20
+ const color = parseColor(value);
21
+ if (!color) {
22
+ throw new Error(`Expected ${value} to parse`);
23
+ }
24
+ return color;
25
+ }
26
+
27
+ const colors = ['#2F6FED', '#7C3AED', '#DB2777', '#DC2626', '#D97706', '#059669'].map(
28
+ requiredColor,
29
+ );
30
+
31
+ export default function ColorSwatchPickerBasicDemo() {
32
+ const [value, setValue] = useState(colors[0]);
33
+
34
+ return (
35
+ <ColorSwatchPicker value={value} onValueChange={setValue} accessibilityLabel="Preset colors">
36
+ {colors.map((color) => (
37
+ <ColorSwatchPicker.Item key={color.toString('hex')} color={color}>
38
+ <ColorSwatchPicker.Swatch />
39
+ <ColorSwatchPicker.Indicator />
40
+ </ColorSwatchPicker.Item>
41
+ ))}
42
+ </ColorSwatchPicker>
43
+ );
44
+ }
45
+ ```
46
+
47
+ ## API
48
+
49
+ ### ColorSwatchPicker
50
+
51
+ Owns standalone selection or reads and updates the shared value when nested in `ColorPicker`.
52
+
53
+ | Prop | Type | Default | Description |
54
+ | --- | --- | --- | --- |
55
+ | `className?` | `string` | — | — |
56
+ | `children?` | `ReactNode` | — | — |
57
+ | `asChild?` | `boolean` | — | — |
58
+ | `value?` | `Color` | — | — |
59
+ | `defaultValue?` | `Color` | — | — |
60
+ | `onValueChange?` | `((value: Color) => void)` | — | — |
61
+ | `isDisabled?` | `boolean` | — | — |
62
+
63
+ Inherits all [`ViewProps`](https://reactnative.dev/docs/view#props).
64
+
65
+ ## Sub-components
66
+
67
+ ### ColorSwatchPicker.Item
68
+
69
+ The pressable radio item for one preset color.
70
+
71
+ | Prop | Type | Default | Description |
72
+ | --- | --- | --- | --- |
73
+ | `className?` | `string` | — | — |
74
+ | `children?` | `ReactNode` | — | — |
75
+ | `asChild?` | `boolean` | — | — |
76
+ | `color` | `Color` | — | — |
77
+ | `isDisabled?` | `boolean` | — | — |
78
+ | `isHovered?` | `boolean` | — | — |
79
+ | `isActive?` | `boolean` | — | — |
80
+ | `isFocused?` | `boolean` | — | — |
81
+ | `isFocusVisible?` | `boolean` | — | — |
82
+
83
+ Inherits all [`PressableProps`](https://reactnative.dev/docs/pressable#props).
84
+
85
+ ### ColorSwatchPicker.Swatch
86
+
87
+ Displays the item color.
88
+
89
+ | Prop | Type | Default | Description |
90
+ | --- | --- | --- | --- |
91
+ | `className?` | `string` | — | — |
92
+ | `children?` | `ReactNode` | — | — |
93
+ | `size?` | `'xs' \| 'sm' \| 'lg'` | — | Visual dimension. `xs` = 16, `sm` = 24, and `lg` = 40. |
94
+ | `shape?` | `'circle' \| 'square'` | — | Swatch outline shape. |
95
+ | `asChild?` | `boolean` | — | — |
96
+
97
+ Inherits all [`ViewProps`](https://reactnative.dev/docs/view#props).
98
+
99
+ ### ColorSwatchPicker.Indicator
100
+
101
+ Renders the selected-state indicator.
102
+
103
+ | Prop | Type | Default | Description |
104
+ | --- | --- | --- | --- |
105
+ | `className?` | `string` | — | Utility classes for size (`size-*`) and placement, merged after the defaults. |
106
+ | `children?` | `ReactNode` | — | — |
107
+ | `filled?` | `boolean` | — | When `true`, renders the filled variant of the icon (if available). Defaults to `false` (outlined). |
108
+ | `size?` | `string \| number` | — | Width and height of the icon, in pixels or any SVG length. The bare icon renders at 24 when omitted. |
109
+ | `data-testid?` | `string` | — | Test identifier forwarded to the rendered SVG. |
110
+ | `as?` | `ForgeIcon` | — | — |
111
+ | `asChild?` | `boolean` | — | — |
112
+
113
+ Inherits all `ForgeIconProps` (react-native-svg `SvgProps` plus `filled` and `size`).
114
+
115
+ ## Anatomy
116
+
117
+ | `data-slot` | Element |
118
+ | ------------------------------- | ------------------------ |
119
+ | `color-swatch-picker` | Radio group |
120
+ | `color-swatch-picker-item` | Pressable preset |
121
+ | `color-swatch-picker-swatch` | Item color sample |
122
+ | `color-swatch-picker-indicator` | Selected-state indicator |
123
+
124
+ ## Accessibility
125
+
126
+ Give the picker an accessible label. Each item is announced as a radio option using its color value unless an explicit accessible label is supplied.
@@ -0,0 +1,97 @@
1
+ # Components (https://design.candescent.com/docs/components)
2
+
3
+ ## Action
4
+
5
+ - [Button](https://design.candescent.com/docs/components/button/content.md) — A pressable action element for triggering events.
6
+ - [Icon Button](https://design.candescent.com/docs/components/icon-button/content.md) — A button that displays only an icon, used for compact actions where the icon clearly communicates intent.
7
+ - [Toggle Button](https://design.candescent.com/docs/components/toggle-button/content.md) — A button that stays pressed when selected, used standalone or in a group for single- or multiple-choice actions.
8
+ - [Link](https://design.candescent.com/docs/components/link/content.md) — A link is interactive text that navigates to another location, either inside or outside the app.
9
+ - [Quick Action Button](https://design.candescent.com/docs/components/quick-action-button/content.md) — A circular icon action with a supporting label for compact action groups.
10
+
11
+ ## Input & selection
12
+
13
+ - [Checkbox](https://design.candescent.com/docs/components/checkbox/content.md) — A checkbox is an input control that allows the user to select multiple options from a set of options or a single yes/no option.
14
+ - [Currency Input](https://design.candescent.com/docs/components/currency-input/content.md) — A calculator-style monetary input that formats digits as currency while the user types.
15
+ - [Field](https://design.candescent.com/docs/components/field/content.md) — A form-control wrapper that coordinates labels, supporting text, validation messages, and shared state.
16
+ - [Form](https://design.candescent.com/docs/components/form/content.md) — A container that spaces related fields vertically and renders a form on web or a view on native.
17
+ - [Input Field](https://design.candescent.com/docs/components/input/content.md) — A single-line text entry with optional label, helper text, and adornments.
18
+ - [Menu](https://design.candescent.com/docs/components/menu/content.md) — Menus present actions or selectable options in an anchored overlay or a standalone list surface.
19
+ - [OTP Input Field](https://design.candescent.com/docs/components/otp-input/content.md) — A controlled multi-cell input for one-time passwords and verification codes.
20
+ - [Radio](https://design.candescent.com/docs/components/radio/content.md) — A radio group is an input control that allows the user to select a single option from a set of mutually exclusive options.
21
+ - [Range Calendar](https://design.candescent.com/docs/components/range-calendar/content.md) — A two-tap day grid for selecting a start and end date, with a continuous range band, month navigation, and a year picker.
22
+ - [Select](https://design.candescent.com/docs/components/select/content.md) — A form control that allows users to choose one option from a dropdown list.
23
+ - [Textarea](https://design.candescent.com/docs/components/textarea/content.md) — A multi-line text entry for longer free-form content.
24
+ - [Slider](https://design.candescent.com/docs/components/slider/content.md) — A control for selecting a numeric value along a track.
25
+ - [ColorPicker](https://design.candescent.com/docs/components/color-picker/content.md) — A compound color picker that coordinates an opaque color value with a trigger and popover.
26
+ - [ColorArea](https://design.candescent.com/docs/components/color-area/content.md) — A two-dimensional control for selecting saturation and brightness in the HSB color space.
27
+ - [ColorSlider](https://design.candescent.com/docs/components/color-slider/content.md) — A one-dimensional control for selecting a channel from an opaque RGB, HSL, or HSB color.
28
+ - [ColorField](https://design.candescent.com/docs/components/color-field/content.md) — A text field for editing an opaque color or one RGB or HSL channel.
29
+ - [ColorSwatch](https://design.candescent.com/docs/components/color-swatch/content.md) — A presentational sample of an opaque color in configurable sizes and shapes.
30
+ - [ColorSwatchPicker](https://design.candescent.com/docs/components/color-swatch-picker/content.md) — A radio-style compound for choosing from consumer-supplied color presets.
31
+ - [Switch](https://design.candescent.com/docs/components/switch/content.md) — A toggle control that lets users turn a single option on or off.
32
+ - [Tile](https://design.candescent.com/docs/components/tile/content.md) — A composable, selectable card/row for pick-one or pick-many flows such as account pickers and category selectors.
33
+
34
+ ## Date & time
35
+
36
+ - [Calendar](https://design.candescent.com/docs/components/calendar/content.md) — A single-date day grid for selecting a date, with month navigation and a year picker.
37
+ - [Date Field](https://design.candescent.com/docs/components/date-field/content.md) — A segmented input for typing a date or a month, with values exchanged as DateId strings.
38
+ - [Date Picker](https://design.candescent.com/docs/components/date-picker/content.md) — A compound date picker pairing a segmented date field with a calendar in a popover, dialog, bottom sheet, or inline surface.
39
+ - [Date Range Picker](https://design.candescent.com/docs/components/date-range-picker/content.md) — A compound date range picker pairing dual segmented date fields with a range calendar in a popover, dialog, bottom sheet, or inline surface.
40
+ - [Date Time Field](https://design.candescent.com/docs/components/date-time-field/content.md) — A segmented input for typing a date and time together, with values exchanged as DateTimeId strings.
41
+ - [Date Time List](https://design.candescent.com/docs/components/date-time-list/content.md) — A scroll-wheel picker for choosing a date and time across separate columns, with values exchanged as DateTimeId strings.
42
+ - [Date Time Picker](https://design.candescent.com/docs/components/date-time-picker/content.md) — A compound date and time picker pairing a segmented field with scroll-wheel columns in a popover, dialog, or bottom sheet.
43
+ - [Month Calendar](https://design.candescent.com/docs/components/month-calendar/content.md) — A month and year grid for selecting a single month, with a year picker and year navigation.
44
+ - [Month Picker](https://design.candescent.com/docs/components/month-picker/content.md) — A compound month picker pairing a segmented date field in month mode with a month calendar in a popover, dialog, bottom sheet, or inline surface.
45
+
46
+ ## Indicators & status
47
+
48
+ - [Badge](https://design.candescent.com/docs/components/badge/content.md) — A small status annotation that wraps a child control and positions an indicator at a corner.
49
+ - [Chip](https://design.candescent.com/docs/components/chip/content.md) — Chips are compact elements that represent an input, attribute, or action. They allow users to enter information, make selections, filter content, or trigger actions.
50
+ - [Progress Bar](https://design.candescent.com/docs/components/progress-bar/content.md) — A continuous progress bar that visualizes determinate or indeterminate progress with a compound track and indicator.
51
+ - [Progress Circle](https://design.candescent.com/docs/components/progress-circle/content.md) — A circular progress indicator that visualizes determinate or indeterminate progress with a compound ring and indicator.
52
+ - [Progress Segmented](https://design.candescent.com/docs/components/progress-segmented/content.md) — A segmented progress bar that visualizes step-by-step completion as a row of discrete segments.
53
+ - [Skeleton](https://design.candescent.com/docs/components/skeleton/content.md) — A pulsing loading placeholder shaped via className — no intrinsic size, layout preserved while content loads.
54
+
55
+ ## Content display
56
+
57
+ - [Accordion](https://design.candescent.com/docs/components/accordion/content.md) — A vertically stacked set of disclosure items for showing and hiding related content.
58
+ - [Avatar](https://design.candescent.com/docs/components/avatar/content.md) — A visual representation of a user or entity, displayed as an image, initials, or fallback icon.
59
+ - [Carousel](https://design.candescent.com/docs/components/carousel/content.md) — A swipeable, paginated carousel for promotional banners, onboarding, and card browsing. Wraps react-native-reanimated-carousel with token-styled Pagination and Prev/Next nav button compounds plus useCarousel hook.
60
+ - [Divider](https://design.candescent.com/docs/components/divider/content.md) — A horizontal or vertical separator for grouping related content, with an optional inline label.
61
+ - [FDIC Digital Sign](https://design.candescent.com/docs/components/insurance-disclosure/content.md) — Domain-specific regulatory disclosure — official FDIC lockup with optional copy for account footers, deposit screens, and onboarding.
62
+ - [Icon](https://design.candescent.com/docs/components/icon/content.md) — A cross-platform SVG icon wrapper with semantic color, sizing, filled variants, and accessibility support.
63
+ - [Image](https://design.candescent.com/docs/components/image/content.md) — Displays local or remote images across native and web platforms.
64
+ - [List Item](https://design.candescent.com/docs/components/list-item/content.md) — A composable row for display and navigation — accounts, transactions, alerts, settings, and nav rows.
65
+ - [ReorderableList](https://design.candescent.com/docs/components/reorderable-list/content.md) — A short, mount-all list that lets members drag rows into a new order via an explicit handle.
66
+ - [Virtualized List](https://design.candescent.com/docs/components/virtualized-list/content.md) — A performant virtualized list for large datasets — only visible rows mount at a time.
67
+ - [Text](https://design.candescent.com/docs/components/text/content.md) — Body text with a responsive, token-based typography scale.
68
+ - [Heading](https://design.candescent.com/docs/components/heading/content.md) — Semantic heading text with an accessible, token-based typography scale.
69
+
70
+ ## Feedback
71
+
72
+ - [Alert](https://design.candescent.com/docs/components/alert/content.md) — An inline severity banner that renders contextual feedback — danger, warning, success, or info — with an optional title, body, and trailing actions.
73
+ - [Alert Dialog](https://design.candescent.com/docs/components/alert-dialog/content.md) — A modal confirmation for destructive or important actions that requires an explicit response.
74
+ - [Dialog](https://design.candescent.com/docs/components/dialog/content.md) — A modal overlay that interrupts the user with critical information or decisions requiring immediate attention.
75
+ - [Full Screen Dialog](https://design.candescent.com/docs/components/full-screen-dialog/content.md) — A modal page that covers the viewport with a back, title, and close header for single-step or multi-step tasks.
76
+ - [Tooltip](https://design.candescent.com/docs/components/tooltip/content.md) — A contextual hint overlay anchored to a trigger element.
77
+ - [Toast](https://design.candescent.com/docs/components/toast/content.md) — A brief notification that confirms an action or reports a background result without interrupting the current task.
78
+
79
+ ## Surfaces & layout
80
+
81
+ - [Bottom Sheet](https://design.candescent.com/docs/components/bottom-sheet/content.md) — A surface that slides up from the bottom of the screen to present secondary tasks without leaving the current context.
82
+ - [Card](https://design.candescent.com/docs/components/card/content.md) — A composable surface for grouping related content, with optional brand stripe, header, content, and footer regions.
83
+ - [Drawer](https://design.candescent.com/docs/components/drawer/content.md) — A panel attached to an edge of the viewport or container, with modal and permanent presentations.
84
+ - [ScopedTheme](https://design.candescent.com/docs/components/scoped-theme/content.md) — Forces a specific theme on a component subtree, regardless of the application's global theme.
85
+ - [ScrollShadow](https://design.candescent.com/docs/components/scroll-shadow/content.md) — Fades the edges of a scroll view so overflowing content reads as scrollable on iOS, Android, and web.
86
+ - [Stack](https://design.candescent.com/docs/components/stack/content.md) — Horizontal and vertical layout primitives with token-based spacing and optional reversed order.
87
+
88
+ ## Navigation
89
+
90
+ - [Breadcrumbs](https://design.candescent.com/docs/components/breadcrumbs/content.md) — A navigation trail that shows the current page within a hierarchy.
91
+ - [Tabs](https://design.candescent.com/docs/components/tabs/content.md) — A set of layered sections that displays one content panel at a time.
92
+
93
+ ## Data & tables
94
+
95
+ - [Data Grid](https://design.candescent.com/docs/components/data-grid/content.md) — A web data grid with rows, columns, sort, filters, selection, and pagination.
96
+ - [Table](https://design.candescent.com/docs/components/table/content.md) — A presentational compound table for displaying tabular data with consistent Forge styling.
97
+ - [Table Pagination](https://design.candescent.com/docs/components/table-pagination/content.md) — A compound pager for moving between pages of a list or table.