@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,137 @@
1
+ # Calendar (https://design.candescent.com/docs/components/calendar)
2
+
3
+ Resources: [Figma](https://www.figma.com/design/0lEVMVlLj8ZS4fgItr3pmd/%E2%AD%90-Forge-DS--Components?node-id=11954-3139), [Storybook](https://victorious-wave-0daadf00f.6.azurestaticapps.net/?path=/story/date-time-calendar--default)
4
+
5
+ `Calendar` renders a day grid for selecting a single date. Values are `DateId` strings in `YYYY-MM-DD` format.
6
+
7
+ ```tsx
8
+ import { Calendar } from '@cdx-ui/components';
9
+ ```
10
+
11
+ ## Basic
12
+
13
+ Control the selected date with `value` and `onValueChange`.
14
+
15
+ ```tsx
16
+ import { useState } from 'react';
17
+ import { Calendar } from '@cdx-ui/components';
18
+ import { dateId, type DateId } from '@cdx-ui/formatters';
19
+
20
+ export default function CalendarBasicDemo() {
21
+ const [value, setValue] = useState<DateId | undefined>(dateId('2026-08-03'));
22
+
23
+ return (
24
+ <Calendar
25
+ value={value}
26
+ onValueChange={setValue}
27
+ aria-label="Event date"
28
+ className="w-full max-w-sm"
29
+ />
30
+ );
31
+ }
32
+ ```
33
+
34
+ ## Date limits
35
+
36
+ Set `minValue` and `maxValue` to restrict which days can be selected.
37
+
38
+ ```tsx
39
+ import { useState } from 'react';
40
+ import { Calendar } from '@cdx-ui/components';
41
+ import { dateId, monthId, type DateId } from '@cdx-ui/formatters';
42
+
43
+ export default function CalendarMinMaxDemo() {
44
+ const [value, setValue] = useState<DateId | undefined>(dateId('2026-08-15'));
45
+
46
+ return (
47
+ <Calendar
48
+ value={value}
49
+ onValueChange={setValue}
50
+ defaultMonthId={monthId('2026-08-01')}
51
+ minValue={dateId('2026-08-10')}
52
+ maxValue={dateId('2026-08-20')}
53
+ aria-label="Appointment date"
54
+ className="w-full max-w-sm"
55
+ />
56
+ );
57
+ }
58
+ ```
59
+
60
+ ## Unavailable dates
61
+
62
+ Pass `isDateUnavailable` to disable individual days — here, weekends and a holiday list for business-days-only payments.
63
+
64
+ ```tsx
65
+ import { useState } from 'react';
66
+ import { Calendar } from '@cdx-ui/components';
67
+ import { dateId, monthId, type DateId } from '@cdx-ui/formatters';
68
+ import { isNonBusinessDay } from './_business-days';
69
+
70
+ export default function CalendarBusinessDaysDemo() {
71
+ const [value, setValue] = useState<DateId | undefined>(dateId('2026-11-16'));
72
+
73
+ return (
74
+ <Calendar
75
+ value={value}
76
+ onValueChange={setValue}
77
+ defaultMonthId={monthId('2026-11-01')}
78
+ isDateUnavailable={isNonBusinessDay}
79
+ aria-label="Payment date"
80
+ className="w-full max-w-sm"
81
+ />
82
+ );
83
+ }
84
+ ```
85
+
86
+ ## Disabled
87
+
88
+ Set `disabled` to render a read-only grid that ignores day presses.
89
+
90
+ ```tsx
91
+ import { Calendar } from '@cdx-ui/components';
92
+ import { dateId } from '@cdx-ui/formatters';
93
+
94
+ export default function CalendarDisabledDemo() {
95
+ return (
96
+ <Calendar
97
+ value={dateId('2026-08-03')}
98
+ disabled
99
+ aria-label="Event date"
100
+ className="w-full max-w-sm"
101
+ />
102
+ );
103
+ }
104
+ ```
105
+
106
+ ## API
107
+
108
+ ### Calendar
109
+
110
+ By default, `Calendar` renders a month header with previous/next navigation and a year drill-down, followed by the day grid. `locale` defaults to `en-US` and controls weekday and month formatting.
111
+
112
+ `isDateUnavailable` combines with `minValue` and `maxValue`: a day is selectable only when it is inside the bounds and the predicate returns `false`. The predicate runs for every day of the visible month; define it outside the component or memoize it so that check is skipped on renders that do not change it.
113
+
114
+ | Prop | Type | Default | Description |
115
+ | --- | --- | --- | --- |
116
+ | `className?` | `string` | — | — |
117
+ | `children?` | `ReactNode` | — | — |
118
+ | `value?` | `DateId` | — | Selected date as a `YYYY-MM-DD` string. |
119
+ | `defaultValue?` | `DateId` | — | Uncontrolled initial selection as a `YYYY-MM-DD` string. |
120
+ | `onValueChange?` | `((value: DateId) => void)` | — | Called with the new selection, or `undefined` when the selection is cleared. |
121
+ | `monthId?` | `MonthId` | — | Month shown in the grid as a `YYYY-MM-01` string. Follows the selected `value` unless controlled. |
122
+ | `defaultMonthId?` | `MonthId` | — | Uncontrolled initial month as a `YYYY-MM-01` string. |
123
+ | `onMonthIdChange?` | `((monthId: MonthId) => void)` | — | — |
124
+ | `minValue?` | `DateId` | — | Earliest selectable date. Build with `dateId(...)` from `@cdx-ui/formatters`. |
125
+ | `maxValue?` | `DateId` | — | Latest selectable date. Build with `dateId(...)` from `@cdx-ui/formatters`. |
126
+ | `isDateUnavailable?` | `((date: DateId) => boolean)` | — | Returns `true` for days that cannot be selected, such as weekends or holidays. Unavailable days render disabled and ignore presses, combined with `minValue` / `maxValue`. An inline function is safe; a stable (module-level or memoized) one also skips re-checking every day of the visible month on each render. |
127
+ | `disabled?` | `boolean` | — | — |
128
+ | `locale?` | `string` | — | BCP 47 locale for weekday and month formatting. Defaults to `en-US`. |
129
+ | `labels?` | `Partial<DateComponentLabels>` | — | — |
130
+
131
+ Inherits all [`ViewProps`](https://reactnative.dev/docs/view#props).
132
+
133
+ ## Accessibility
134
+
135
+ Pass `accessibilityLabel` to name the calendar for assistive technology; the root carries no landmark role of its own. Days outside the `minValue`–`maxValue` range, days for which `isDateUnavailable` returns `true`, and every day while `disabled`, are not selectable.
136
+
137
+ Unavailable days render in the same disabled state as out-of-range days and announce no reason of their own, so pair the calendar with helper text that explains which days are unavailable and why — for example, "Payments process on business days only."
@@ -0,0 +1,283 @@
1
+ # Card (https://design.candescent.com/docs/components/card)
2
+
3
+ Resources: [Figma](https://www.figma.com/design/0lEVMVlLj8ZS4fgItr3pmd/%E2%AD%90-Forge-DS--React-Native-Components?node-id=456-14), [Storybook](https://victorious-wave-0daadf00f.6.azurestaticapps.net/?path=/story/surfaces-card--with-stripe)
4
+
5
+ A compound component for grouping related information and actions in a bordered surface. Compose only the regions the card needs.
6
+
7
+ ```tsx
8
+ import { Card } from '@cdx-ui/components';
9
+ ```
10
+
11
+ ## Basic
12
+
13
+ Use `Card.Header`, `Card.Content`, and `Card.Footer` to organize a card into distinct regions.
14
+
15
+ ```tsx
16
+ import { Card, Heading, Text } from '@cdx-ui/components';
17
+
18
+ export default function CardBasicDemo() {
19
+ return (
20
+ <Card className="w-full max-w-md">
21
+ <Card.Stripe />
22
+ <Card.Header>
23
+ <Heading size="sm">Account summary</Heading>
24
+ </Card.Header>
25
+ <Card.Content>
26
+ <Text>Your checking account has an available balance of $4,250.18.</Text>
27
+ </Card.Content>
28
+ <Card.Footer>
29
+ <Text color="secondary">Updated moments ago</Text>
30
+ </Card.Footer>
31
+ </Card>
32
+ );
33
+ }
34
+ ```
35
+
36
+ ## Stripe options
37
+
38
+ Place `Card.Stripe` first to add a brand accent. It can be used with or without `Card.Header`, or omitted for a neutral surface.
39
+
40
+ ```tsx
41
+ import { Card, Heading, Text, VStack } from '@cdx-ui/components';
42
+
43
+ export default function CardStripeOptionsDemo() {
44
+ return (
45
+ <VStack space="lg" className="w-full max-w-md">
46
+ <Card>
47
+ <Card.Stripe />
48
+ <Card.Header>
49
+ <Heading size="sm">With stripe</Heading>
50
+ </Card.Header>
51
+ <Card.Content>
52
+ <Text>Place Card.Stripe first to add a brand accent.</Text>
53
+ </Card.Content>
54
+ </Card>
55
+
56
+ <Card>
57
+ <Card.Header>
58
+ <Heading size="sm">Without stripe</Heading>
59
+ </Card.Header>
60
+ <Card.Content>
61
+ <Text>Omit Card.Stripe for a neutral card.</Text>
62
+ </Card.Content>
63
+ </Card>
64
+
65
+ <Card>
66
+ <Card.Stripe />
67
+ <Card.Content>
68
+ <Text>Card.Stripe can also be used without a header.</Text>
69
+ </Card.Content>
70
+ </Card>
71
+ </VStack>
72
+ );
73
+ }
74
+ ```
75
+
76
+ ## With actions
77
+
78
+ Place related actions in `Card.Footer`. Override its layout classes when actions should appear side by side.
79
+
80
+ ```tsx
81
+ import { Button, Card, Heading, Text } from '@cdx-ui/components';
82
+
83
+ export default function CardWithActionsDemo() {
84
+ return (
85
+ <Card className="w-full max-w-md">
86
+ <Card.Stripe />
87
+ <Card.Header>
88
+ <Heading size="sm">Ready to buy a home?</Heading>
89
+ </Card.Header>
90
+ <Card.Content>
91
+ <Text>
92
+ Explore mortgage options and down payment assistance programs tailored to your goals.
93
+ </Text>
94
+ </Card.Content>
95
+ <Card.Footer className="flex-row gap-3">
96
+ <Button variant="outline" className="flex-1">
97
+ <Button.Label>Learn more</Button.Label>
98
+ </Button>
99
+ <Button color="action" className="flex-1">
100
+ <Button.Label>Apply</Button.Label>
101
+ </Button>
102
+ </Card.Footer>
103
+ </Card>
104
+ );
105
+ }
106
+ ```
107
+
108
+ ## Full bleed
109
+
110
+ Set `fullBleed` on `Card` to remove padding from `Card.Content` and apply standalone padding to `Card.Footer`. This is useful for edge-to-edge lists and media.
111
+
112
+ ```tsx
113
+ import { Button, Card, Chip, HStack, ListItem, Text } from '@cdx-ui/components';
114
+
115
+ const accounts = [
116
+ {
117
+ name: 'Visa Platinum Plus',
118
+ last4: '0275',
119
+ balance: '$9,834.67',
120
+ balanceLabel: 'Outstanding balance',
121
+ },
122
+ {
123
+ name: 'Auto loan',
124
+ last4: '0865',
125
+ balance: '$15,620.11',
126
+ balanceLabel: 'Outstanding balance',
127
+ status: { label: 'Payment overdue', tone: 'danger' },
128
+ },
129
+ ] as const;
130
+
131
+ export default function CardFullBleedDemo() {
132
+ return (
133
+ <Card fullBleed className="w-full max-w-md">
134
+ <Card.Content>
135
+ <ListItem.SectionHeader variant="gradient" showDivider={false}>
136
+ Credit &amp; loans
137
+ </ListItem.SectionHeader>
138
+ {accounts.map((account, index) => (
139
+ <ListItem
140
+ key={account.last4}
141
+ crossAlign="start"
142
+ showSeparator={index < accounts.length - 1}
143
+ onPress={() => {}}
144
+ >
145
+ <ListItem.Content>
146
+ <HStack space="sm" className="items-baseline">
147
+ <ListItem.Title>{account.name}</ListItem.Title>
148
+ <Text size="sm" color="secondary">
149
+ •••{account.last4}
150
+ </Text>
151
+ </HStack>
152
+ <Text size="xl" weight="semibold">
153
+ {account.balance}
154
+ </Text>
155
+ <ListItem.Description>{account.balanceLabel}</ListItem.Description>
156
+ {'status' in account ? (
157
+ <Chip
158
+ variant="subtle"
159
+ size="small"
160
+ color={account.status.tone}
161
+ className="mt-1 self-start"
162
+ >
163
+ <Chip.Label>{account.status.label}</Chip.Label>
164
+ </Chip>
165
+ ) : null}
166
+ </ListItem.Content>
167
+ </ListItem>
168
+ ))}
169
+ </Card.Content>
170
+ <Card.Footer>
171
+ <Button variant="outline" color="action" fullWidth onPress={() => {}}>
172
+ <Button.Label>Pay due bills</Button.Label>
173
+ </Button>
174
+ </Card.Footer>
175
+ </Card>
176
+ );
177
+ }
178
+ ```
179
+
180
+ ## Header content
181
+
182
+ `Card.Header` accepts more than text. Compose headings with status, metadata, or controls as needed.
183
+
184
+ ```tsx
185
+ import { Card, Chip, Heading, Text } from '@cdx-ui/components';
186
+
187
+ export default function CardHeaderContentDemo() {
188
+ return (
189
+ <Card className="w-full max-w-md">
190
+ <Card.Header>
191
+ <Heading size="sm">Primary checking</Heading>
192
+ <Chip color="success" size="small">
193
+ <Chip.Label>Active</Chip.Label>
194
+ </Chip>
195
+ </Card.Header>
196
+ <Card.Content>
197
+ <Text>Available balance: $4,250.18</Text>
198
+ </Card.Content>
199
+ </Card>
200
+ );
201
+ }
202
+ ```
203
+
204
+ ## API
205
+
206
+ ### Card
207
+
208
+ Root surface that provides `fullBleed` styling context to its content and footer.
209
+
210
+ | Prop | Type | Default | Description |
211
+ | --- | --- | --- | --- |
212
+ | `className?` | `string` | — | — |
213
+ | `children?` | `ReactNode` | — | — |
214
+ | `fullBleed?` | `boolean \| null` | — | When `true`, `Card.Content` drops its padding and `Card.Footer` uses standalone padding. Both inherit this unless they set their own `fullBleed`. |
215
+ | `asChild?` | `boolean` | — | — |
216
+
217
+ Inherits all [`ViewProps`](https://reactnative.dev/docs/view#props).
218
+
219
+ ## Sub-components
220
+
221
+ ### Card.Stripe
222
+
223
+ Full-width brand accent bar. Render it as the first child when present.
224
+
225
+ | Prop | Type | Default | Description |
226
+ | --- | --- | --- | --- |
227
+ | `className?` | `string` | — | — |
228
+ | `children?` | `ReactNode` | — | — |
229
+ | `asChild?` | `boolean` | — | — |
230
+
231
+ Inherits all [`ViewProps`](https://reactnative.dev/docs/view#props).
232
+
233
+ ### Card.Header
234
+
235
+ Top region for a heading and optional supporting controls. Includes a bottom divider.
236
+
237
+ | Prop | Type | Default | Description |
238
+ | --- | --- | --- | --- |
239
+ | `className?` | `string` | — | — |
240
+ | `children?` | `ReactNode` | — | — |
241
+ | `asChild?` | `boolean` | — | — |
242
+
243
+ Inherits all [`ViewProps`](https://reactnative.dev/docs/view#props).
244
+
245
+ ### Card.Content
246
+
247
+ Main content region. Reads `fullBleed` from `Card`, or accepts a local override.
248
+
249
+ | Prop | Type | Default | Description |
250
+ | --- | --- | --- | --- |
251
+ | `className?` | `string` | — | — |
252
+ | `children?` | `ReactNode` | — | — |
253
+ | `fullBleed?` | `boolean \| null` | — | Removes this region's padding. Inherits the parent `Card`'s `fullBleed` when omitted. |
254
+ | `asChild?` | `boolean` | — | — |
255
+
256
+ Inherits all [`ViewProps`](https://reactnative.dev/docs/view#props).
257
+
258
+ ### Card.Footer
259
+
260
+ Bottom region for actions or supporting information. Reads `fullBleed` from `Card`, or accepts a local override.
261
+
262
+ | Prop | Type | Default | Description |
263
+ | --- | --- | --- | --- |
264
+ | `className?` | `string` | — | — |
265
+ | `children?` | `ReactNode` | — | — |
266
+ | `fullBleed?` | `boolean \| null` | — | Uses standalone padding instead of flush-top padding. Inherits the parent `Card`'s `fullBleed` when omitted. |
267
+ | `asChild?` | `boolean` | — | — |
268
+
269
+ Inherits all [`ViewProps`](https://reactnative.dev/docs/view#props).
270
+
271
+ ## Anatomy
272
+
273
+ | `data-slot` | Element |
274
+ | -------------- | ------------------- |
275
+ | `card` | Root surface |
276
+ | `card-stripe` | Brand accent |
277
+ | `card-header` | Header region |
278
+ | `card-content` | Main content region |
279
+ | `card-footer` | Footer region |
280
+
281
+ ## Accessibility
282
+
283
+ `Card` is a visual grouping and does not add a role or heading level. Use semantic heading components inside `Card.Header`, and add an accessibility role or label to the root only when the card's meaning requires it.