@workday/canvas-kit-docs 15.0.0-alpha.1303-next.0 → 15.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (681) hide show
  1. package/README.md +6 -6
  2. package/dist/es6/docgen/createTraversals.d.ts +0 -3
  3. package/dist/es6/docgen/createTraversals.d.ts.map +1 -1
  4. package/dist/es6/docgen/docParser.d.ts +1 -1
  5. package/dist/es6/docgen/docParser.d.ts.map +1 -1
  6. package/dist/es6/docgen/docParser.js +14 -4
  7. package/dist/es6/docgen/plugins/componentParser.d.ts +1 -1
  8. package/dist/es6/docgen/plugins/componentParser.d.ts.map +1 -1
  9. package/dist/es6/docgen/plugins/componentParser.js +1 -1
  10. package/dist/es6/docgen/plugins/customTypes.d.ts +1 -1
  11. package/dist/es6/docgen/plugins/customTypes.d.ts.map +1 -1
  12. package/dist/es6/docgen/plugins/enhancedComponentParser.d.ts +1 -1
  13. package/dist/es6/docgen/plugins/enhancedComponentParser.d.ts.map +1 -1
  14. package/dist/es6/docgen/plugins/enhancedComponentParser.js +2 -1
  15. package/dist/es6/docgen/plugins/modelParser.d.ts.map +1 -1
  16. package/dist/es6/docgen/plugins/modelParser.js +4 -4
  17. package/dist/es6/docgen/traverse.d.ts.map +1 -1
  18. package/dist/es6/docgen/traverse.js +1 -1
  19. package/dist/es6/lib/DescriptionTooltip.d.ts +2 -5
  20. package/dist/es6/lib/DescriptionTooltip.d.ts.map +1 -1
  21. package/dist/es6/lib/DescriptionTooltip.js +11 -10
  22. package/dist/es6/lib/DownloadLLMFile.js +11 -11
  23. package/dist/es6/lib/ExampleCodeBlock.d.ts.map +1 -1
  24. package/dist/es6/lib/ExampleCodeBlock.js +37 -28
  25. package/dist/es6/lib/MDXElements.d.ts +1 -1
  26. package/dist/es6/lib/MDXElements.d.ts.map +1 -1
  27. package/dist/es6/lib/MDXElements.js +5 -5
  28. package/dist/es6/lib/MoreTooltip.d.ts.map +1 -1
  29. package/dist/es6/lib/MoreTooltip.js +1 -1
  30. package/dist/es6/lib/Specifications.d.ts +3 -1
  31. package/dist/es6/lib/Specifications.d.ts.map +1 -1
  32. package/dist/es6/lib/Specifications.js +20 -10
  33. package/dist/es6/lib/StorybookStatusIndicator.d.ts +2 -2
  34. package/dist/es6/lib/StorybookStatusIndicator.d.ts.map +1 -1
  35. package/dist/es6/lib/StorybookStatusIndicator.js +23 -21
  36. package/dist/es6/lib/StylePropsTable.d.ts.map +1 -1
  37. package/dist/es6/lib/StylePropsTable.js +1 -1
  38. package/dist/es6/lib/SymbolDoc.d.ts +1 -1
  39. package/dist/es6/lib/SymbolDoc.d.ts.map +1 -1
  40. package/dist/es6/lib/SymbolDoc.js +1 -1
  41. package/dist/es6/lib/Table.d.ts.map +1 -1
  42. package/dist/es6/lib/Table.js +33 -10
  43. package/dist/es6/lib/Value.d.ts.map +1 -1
  44. package/dist/es6/lib/Value.js +14 -11
  45. package/dist/es6/lib/docs.d.ts.map +1 -1
  46. package/dist/es6/lib/docs.js +204588 -183032
  47. package/dist/es6/lib/specs.js +6142 -1
  48. package/dist/es6/lib/stackblitzFiles/App.d.ts.map +1 -1
  49. package/dist/es6/lib/stackblitzFiles/App.js +5 -11
  50. package/dist/es6/lib/stackblitzFiles/App.tsx +7 -21
  51. package/dist/es6/lib/stackblitzFiles/main.d.ts +1 -0
  52. package/dist/es6/lib/stackblitzFiles/main.d.ts.map +1 -1
  53. package/dist/es6/lib/stackblitzFiles/main.js +4 -3
  54. package/dist/es6/lib/stackblitzFiles/main.tsx +6 -4
  55. package/dist/es6/lib/stackblitzFiles/packageJSONFile.d.ts.map +1 -1
  56. package/dist/es6/lib/stackblitzFiles/packageJSONFile.js +8 -7
  57. package/dist/es6/lib/stackblitzFiles/packageJSONFile.ts +9 -7
  58. package/dist/es6/lib/stackblitzFiles/vite.config.d.ts +1 -1
  59. package/dist/es6/lib/stackblitzFiles/vite.config.d.ts.map +1 -1
  60. package/dist/es6/lib/stackblitzFiles/vite.config.js +1 -1
  61. package/dist/es6/lib/stackblitzFiles/vite.config.ts +1 -3
  62. package/dist/es6/lib/widgetUtils.d.ts.map +1 -1
  63. package/dist/es6/lib/widgetUtils.js +39 -39
  64. package/dist/es6/lib/widgets/array.js +1 -1
  65. package/dist/es6/lib/widgets/callExpression.js +1 -1
  66. package/dist/es6/lib/widgets/canvasColor.js +3 -2
  67. package/dist/es6/lib/widgets/conditional.js +1 -1
  68. package/dist/es6/lib/widgets/enhancedComponent.js +2 -1
  69. package/dist/es6/lib/widgets/external.js +1 -1
  70. package/dist/es6/lib/widgets/function.js +2 -2
  71. package/dist/es6/lib/widgets/index.d.ts +1 -1
  72. package/dist/es6/lib/widgets/index.d.ts.map +1 -1
  73. package/dist/es6/lib/widgets/index.js +1 -1
  74. package/dist/es6/lib/widgets/intersection.js +1 -1
  75. package/dist/es6/lib/widgets/model.js +1 -1
  76. package/dist/es6/lib/widgets/parenthesis.js +1 -1
  77. package/dist/es6/lib/widgets/primitives.js +2 -2
  78. package/dist/es6/lib/widgets/qualifiedName.js +1 -1
  79. package/dist/es6/lib/widgets/tuple.js +1 -1
  80. package/dist/es6/lib/widgets/typeParameter.js +1 -1
  81. package/dist/es6/lib/widgets/union.js +1 -1
  82. package/dist/es6/mdx/accessibility/examples/AriaLiveRegions/CommentBoxWithCharLimit.d.ts +2 -0
  83. package/dist/es6/mdx/accessibility/examples/AriaLiveRegions/CommentBoxWithCharLimit.d.ts.map +1 -0
  84. package/dist/es6/mdx/accessibility/examples/AriaLiveRegions/CommentBoxWithCharLimit.js +31 -0
  85. package/dist/es6/mdx/accessibility/examples/AriaLiveRegions/FilterListWithLiveStatus.js +9 -9
  86. package/dist/es6/mdx/accessibility/examples/AriaLiveRegions/HiddenLiveRegion.js +2 -2
  87. package/dist/es6/mdx/accessibility/examples/AriaLiveRegions/IconButtonsWithLiveBadges.d.ts.map +1 -1
  88. package/dist/es6/mdx/accessibility/examples/AriaLiveRegions/IconButtonsWithLiveBadges.js +4 -4
  89. package/dist/es6/mdx/accessibility/examples/AriaLiveRegions/TextInputWithLiveError.d.ts.map +1 -1
  90. package/dist/es6/mdx/accessibility/examples/AriaLiveRegions/TextInputWithLiveError.js +3 -3
  91. package/dist/es6/mdx/accessibility/examples/AriaLiveRegions/VisibleLiveRegion.d.ts.map +1 -1
  92. package/dist/es6/mdx/accessibility/examples/AriaLiveRegions/VisibleLiveRegion.js +8 -9
  93. package/dist/es6/mdx/accessibility/examples/GlobalHeader.js +21 -21
  94. package/dist/es6/mdx/accessibility/examples/PageStructure/BreadcrumbNavRegion.js +2 -2
  95. package/dist/es6/mdx/accessibility/examples/PageStructure/FullPageDemo.d.ts.map +1 -1
  96. package/dist/es6/mdx/accessibility/examples/PageStructure/FullPageDemo.js +16 -10
  97. package/dist/es6/mdx/accessibility/examples/PageStructure/LandmarkRegions.d.ts +1 -1
  98. package/dist/es6/mdx/accessibility/examples/PageStructure/LandmarkRegions.d.ts.map +1 -1
  99. package/dist/es6/mdx/accessibility/examples/PageStructure/LandmarkRegions.js +15 -9
  100. package/dist/es6/mdx/accessibility/examples/Popups/InlinePopupNoPortal.d.ts +2 -0
  101. package/dist/es6/mdx/accessibility/examples/Popups/InlinePopupNoPortal.d.ts.map +1 -0
  102. package/dist/es6/mdx/accessibility/examples/Popups/InlinePopupNoPortal.js +62 -0
  103. package/dist/es6/mdx/accessibility/examples/Popups/InlinePortalPopup.d.ts +7 -0
  104. package/dist/es6/mdx/accessibility/examples/Popups/InlinePortalPopup.d.ts.map +1 -0
  105. package/dist/es6/mdx/accessibility/examples/Popups/InlinePortalPopup.js +65 -0
  106. package/dist/es6/mdx/accessibility/examples/Popups/PopupAriaOwns.d.ts +7 -0
  107. package/dist/es6/mdx/accessibility/examples/Popups/PopupAriaOwns.d.ts.map +1 -0
  108. package/dist/es6/mdx/accessibility/examples/Popups/PopupAriaOwns.js +46 -0
  109. package/dist/es6/mdx/accessibility/examples/SidePanelWithNavigation.d.ts.map +1 -1
  110. package/dist/es6/mdx/accessibility/examples/SidePanelWithNavigation.js +16 -16
  111. package/dist/es6/mdx/accessibility/examples/SidePanelWithOverlay.d.ts.map +1 -1
  112. package/dist/es6/mdx/accessibility/examples/SidePanelWithOverlay.js +4 -5
  113. package/dist/es6/mdx/accessibility/examples/Table/WithColumnHeaderFilters.js +8 -8
  114. package/dist/es6/mdx/accessibility/examples/Table/WithExpandableRows.d.ts.map +1 -1
  115. package/dist/es6/mdx/accessibility/examples/Table/WithExpandableRows.js +6 -6
  116. package/dist/es6/mdx/accessibility/examples/Table/WithFormFields.d.ts.map +1 -1
  117. package/dist/es6/mdx/accessibility/examples/Table/WithFormFields.js +10 -10
  118. package/dist/es6/mdx/accessibility/examples/Table/WithSelectableRows.js +4 -4
  119. package/dist/es6/mdx/accessibility/examples/Table/WithSortableColumnHeaders.js +7 -7
  120. package/dist/es6/mdx/installBlock.d.ts.map +1 -1
  121. package/dist/es6/mdx/installBlock.js +18 -6
  122. package/dist/es6/mdx/tokens/StorybookInformationHighlight/index.d.ts.map +1 -1
  123. package/dist/es6/mdx/tokens/StorybookInformationHighlight/index.js +2 -3
  124. package/dist/es6/mdx/versionsTable.d.ts.map +1 -1
  125. package/dist/es6/mdx/versionsTable.js +4 -3
  126. package/dist/es6/mdx/welcomePage.d.ts.map +1 -1
  127. package/dist/es6/mdx/welcomePage.js +24 -20
  128. package/dist/es6/utils/parseSpecFile.d.ts +24 -0
  129. package/dist/es6/utils/parseSpecFile.d.ts.map +1 -0
  130. package/dist/es6/utils/parseSpecFile.js +82 -0
  131. package/dist/mdx/10.0-UPGRADE-GUIDE.mdx +3 -3
  132. package/dist/mdx/13.0-UPGRADE-GUIDE.mdx +24 -18
  133. package/dist/mdx/14.0-UPGRADE-GUIDE.mdx +61 -14
  134. package/dist/mdx/14.0-VISUAL-CHANGES.mdx +19 -19
  135. package/dist/mdx/15.0-UPGRADE-GUIDE.mdx +1097 -0
  136. package/dist/mdx/15.0-VISUAL-CHANGES.mdx +151 -0
  137. package/dist/mdx/5.0-UPGRADE-GUIDE.mdx +3 -3
  138. package/dist/mdx/7.0-UPGRADE-GUIDE.mdx +4 -4
  139. package/dist/mdx/8.0-UPGRADE-GUIDE.mdx +5 -5
  140. package/dist/mdx/9.0-UPGRADE-GUIDE.mdx +2 -2
  141. package/dist/mdx/CODEMODS.mdx +2 -2
  142. package/dist/mdx/CONTRIBUTING.mdx +4 -4
  143. package/dist/mdx/CREATING_COMPOUND_COMPONENTS.mdx +1 -1
  144. package/dist/mdx/DOCUMENTATION_GUIDELINES.mdx +2 -2
  145. package/dist/mdx/GETTING_STARTED.mdx +1 -2
  146. package/dist/mdx/accessibility/AriaLiveRegions.mdx +14 -15
  147. package/dist/mdx/accessibility/InlinePortals.mdx +20 -0
  148. package/dist/mdx/accessibility/PageStructure.mdx +3 -2
  149. package/dist/mdx/accessibility/Popups.mdx +71 -0
  150. package/dist/mdx/accessibility/WindowsHighContrastThemes.mdx +12 -11
  151. package/dist/mdx/changelog.mdx +1 -2
  152. package/dist/mdx/labs-react/ai-ingress-button/examples/Inverse.tsx +2 -2
  153. package/dist/mdx/preview-react/_examples/mdx/examples/TextInputWithReactHookForm.tsx +11 -12
  154. package/dist/mdx/preview-react/divider/examples/Basic.tsx +6 -7
  155. package/dist/mdx/preview-react/divider/examples/CustomSpace.tsx +4 -3
  156. package/dist/mdx/preview-react/loading-sparkles/LoadingSparkles.mdx +2 -2
  157. package/dist/mdx/preview-react/loading-sparkles/examples/Basic.tsx +3 -2
  158. package/dist/mdx/preview-react/loading-sparkles/examples/RTL.tsx +3 -7
  159. package/dist/mdx/preview-react/multi-select/MultiSelect.mdx +3 -4
  160. package/dist/mdx/preview-react/multi-select/examples/Basic.tsx +1 -1
  161. package/dist/mdx/preview-react/multi-select/examples/Complex.tsx +3 -5
  162. package/dist/mdx/preview-react/multi-select/examples/Controlled.tsx +2 -3
  163. package/dist/mdx/preview-react/multi-select/examples/Disabled.tsx +1 -1
  164. package/dist/mdx/preview-react/multi-select/examples/Error.tsx +5 -5
  165. package/dist/mdx/preview-react/multi-select/examples/Icons.tsx +8 -9
  166. package/dist/mdx/preview-react/multi-select/examples/InitialSelectedItems.tsx +6 -8
  167. package/dist/mdx/preview-react/multi-select/examples/Searching.tsx +6 -8
  168. package/dist/mdx/preview-react/radio/examples/Basic.tsx +2 -1
  169. package/dist/mdx/preview-react/radio/examples/Caution.tsx +2 -1
  170. package/dist/mdx/preview-react/radio/examples/Custom.tsx +2 -1
  171. package/dist/mdx/preview-react/radio/examples/Disabled.tsx +2 -1
  172. package/dist/mdx/preview-react/radio/examples/Error.tsx +2 -1
  173. package/dist/mdx/preview-react/radio/examples/Inverse.tsx +5 -4
  174. package/dist/mdx/preview-react/radio/examples/LabelPosition.tsx +2 -1
  175. package/dist/mdx/preview-react/radio/examples/NoValue.tsx +2 -1
  176. package/dist/mdx/preview-react/radio/examples/RefForwarding.tsx +2 -1
  177. package/dist/mdx/preview-react/radio/examples/Required.tsx +2 -1
  178. package/dist/mdx/preview-react/radio/examples/StandaloneRadio.tsx +2 -1
  179. package/dist/mdx/preview-react/side-panel/SidePanel.mdx +20 -8
  180. package/dist/mdx/preview-react/side-panel/examples/AlwaysOpen.tsx +5 -7
  181. package/dist/mdx/preview-react/side-panel/examples/Basic.tsx +10 -15
  182. package/dist/mdx/preview-react/side-panel/examples/ExternalControl.tsx +5 -5
  183. package/dist/mdx/preview-react/side-panel/examples/HiddenName.tsx +2 -1
  184. package/dist/mdx/preview-react/side-panel/examples/OnExpandedChange.tsx +3 -2
  185. package/dist/mdx/preview-react/side-panel/examples/OnStateTransition.tsx +3 -2
  186. package/dist/mdx/preview-react/side-panel/examples/RightOrigin.tsx +4 -7
  187. package/dist/mdx/preview-react/side-panel/examples/Variant.tsx +4 -6
  188. package/dist/mdx/preview-react/side-panel/examples/useDirection.ts +1 -0
  189. package/dist/mdx/preview-react/status-indicator/StatusIndicator.mdx +9 -2
  190. package/dist/mdx/preview-react/status-indicator/examples/Custom.tsx +22 -0
  191. package/dist/mdx/preview-react/status-indicator/examples/Emphasis.tsx +4 -6
  192. package/dist/mdx/preview-react/status-indicator/examples/Icon.tsx +4 -6
  193. package/dist/mdx/preview-react/status-indicator/examples/Overflow.tsx +5 -7
  194. package/dist/mdx/preview-react/status-indicator/examples/Variants.tsx +15 -17
  195. package/dist/mdx/preview-react/switch/Switch.mdx +84 -0
  196. package/dist/mdx/preview-react/switch/examples/Basic.tsx +21 -0
  197. package/dist/mdx/preview-react/switch/examples/Caution.tsx +22 -0
  198. package/dist/mdx/preview-react/switch/examples/Disabled.tsx +21 -0
  199. package/dist/mdx/preview-react/switch/examples/Error.tsx +22 -0
  200. package/dist/mdx/preview-react/switch/examples/LabelPosition.tsx +21 -0
  201. package/dist/mdx/preview-react/switch/examples/RTL.tsx +24 -0
  202. package/dist/mdx/preview-react/switch/examples/RefForwarding.tsx +30 -0
  203. package/dist/mdx/react/_examples/mdx/ContextualHelp.mdx +36 -0
  204. package/dist/mdx/react/_examples/mdx/examples/ContextualHelp/ContextualHelpDialogFocusRedirect.tsx +79 -0
  205. package/dist/mdx/react/_examples/mdx/examples/ContextualHelp/ContextualHelpDialogFocusTrap.tsx +79 -0
  206. package/dist/mdx/react/_examples/mdx/examples/ContextualHelp/ContextualHelpTooltip.tsx +43 -0
  207. package/dist/mdx/react/_examples/mdx/examples/CookieBanner.tsx +2 -2
  208. package/dist/mdx/react/_examples/mdx/examples/Density.tsx +43 -42
  209. package/dist/mdx/react/_examples/mdx/examples/MediaModal.tsx +4 -3
  210. package/dist/mdx/react/_examples/mdx/examples/PageHeader.tsx +22 -19
  211. package/dist/mdx/react/_examples/mdx/examples/SelectWithFormik.tsx +8 -12
  212. package/dist/mdx/react/_examples/mdx/examples/compoundComponent/CustomCard.tsx +10 -12
  213. package/dist/mdx/react/_examples/mdx/examples/layout/AreaColumnPositioning.tsx +1 -1
  214. package/dist/mdx/react/_examples/mdx/examples/layout/CustomColumnPositioning.tsx +1 -1
  215. package/dist/mdx/react/_examples/mdx/examples/layout/CustomColumnWidth.tsx +1 -1
  216. package/dist/mdx/react/_examples/mdx/examples/layout/FullWidthWith3Columns.tsx +50 -12
  217. package/dist/mdx/react/_examples/mdx/examples/layout/FullWidthWith3Columns2Rows.tsx +1 -1
  218. package/dist/mdx/react/_examples/mdx/examples/layout/Masonry.tsx +3 -2
  219. package/dist/mdx/react/_examples/mdx/examples/layout/ResponsiveColumns.tsx +2 -2
  220. package/dist/mdx/react/_examples/mdx/examples/layout/Tiled2and3Columns.tsx +1 -1
  221. package/dist/mdx/react/_examples/mdx/examples/layout/Tiled4and2Columns.tsx +1 -1
  222. package/dist/mdx/react/action-bar/ActionBar.mdx +4 -4
  223. package/dist/mdx/react/action-bar/examples/Icons.tsx +1 -1
  224. package/dist/mdx/react/action-bar/examples/OverflowActionBar.tsx +5 -3
  225. package/dist/mdx/react/action-bar/examples/OverflowActionBarCustomButtonCount.tsx +1 -0
  226. package/dist/mdx/{preview-react → react}/avatar/Avatar.mdx +23 -13
  227. package/dist/mdx/react/avatar/examples/Basic.tsx +5 -0
  228. package/dist/mdx/{preview-react → react}/avatar/examples/Custom.tsx +1 -1
  229. package/dist/mdx/{preview-react → react}/avatar/examples/Decorative.tsx +7 -5
  230. package/dist/mdx/{preview-react → react}/avatar/examples/Image.tsx +1 -1
  231. package/dist/mdx/{preview-react → react}/avatar/examples/Size.tsx +2 -2
  232. package/dist/mdx/{preview-react → react}/avatar/examples/Variant.tsx +2 -2
  233. package/dist/mdx/react/avatar/examples/nicholas-avatar.jpg +0 -0
  234. package/dist/mdx/react/badge/CountBadge.mdx +1 -1
  235. package/dist/mdx/react/badge/examples/Basic.tsx +2 -2
  236. package/dist/mdx/react/badge/examples/CustomLimit.tsx +8 -8
  237. package/dist/mdx/react/badge/examples/Emphasis.tsx +4 -4
  238. package/dist/mdx/react/badge/examples/Inverse.tsx +7 -6
  239. package/dist/mdx/react/badge/examples/NotificationBadge.tsx +8 -7
  240. package/dist/mdx/react/banner/Banner.mdx +2 -2
  241. package/dist/mdx/react/banner/examples/IconBanner.tsx +1 -1
  242. package/dist/mdx/react/banner/examples/RefForwarding.tsx +1 -1
  243. package/dist/mdx/react/banner/examples/Sticky.tsx +1 -1
  244. package/dist/mdx/react/banner/examples/StickyAnimation.tsx +7 -7
  245. package/dist/mdx/react/banner/examples/StickyRTL.tsx +3 -14
  246. package/dist/mdx/react/banner/examples/ThemedAlert.tsx +4 -5
  247. package/dist/mdx/react/banner/examples/ThemedError.tsx +5 -6
  248. package/dist/mdx/react/breadcrumbs/Breadcrumbs.mdx +6 -5
  249. package/dist/mdx/react/breadcrumbs/examples/CurrentItemTruncation.tsx +1 -0
  250. package/dist/mdx/react/breadcrumbs/examples/LinkTruncation.tsx +1 -0
  251. package/dist/mdx/react/breadcrumbs/examples/Overflow.tsx +6 -3
  252. package/dist/mdx/react/breadcrumbs/examples/RTL.tsx +6 -10
  253. package/dist/mdx/react/button/button/Button.mdx +11 -12
  254. package/dist/mdx/react/button/button/Hyperlink.mdx +11 -5
  255. package/dist/mdx/react/button/button/examples/CustomStyles.tsx +43 -43
  256. package/dist/mdx/react/button/button/examples/Delete.tsx +4 -4
  257. package/dist/mdx/react/button/button/examples/ExternalHyperlinkInverse.tsx +3 -3
  258. package/dist/mdx/react/button/button/examples/ExternalHyperlinkRTL.tsx +10 -0
  259. package/dist/mdx/react/button/button/examples/HyperlinkInverse.tsx +3 -3
  260. package/dist/mdx/react/button/button/examples/Primary.tsx +5 -5
  261. package/dist/mdx/react/button/button/examples/PrimaryInverse.tsx +6 -6
  262. package/dist/mdx/react/button/button/examples/Secondary.tsx +5 -5
  263. package/dist/mdx/react/button/button/examples/SecondaryInverse.tsx +6 -6
  264. package/dist/mdx/react/button/button/examples/StandaloneHyperlink.tsx +2 -2
  265. package/dist/mdx/react/button/button/examples/Tertiary.tsx +5 -5
  266. package/dist/mdx/react/button/button/examples/TertiaryInverse.tsx +6 -6
  267. package/dist/mdx/react/button/button/examples/ThemeOverrides.tsx +6 -6
  268. package/dist/mdx/react/card/card.mdx +5 -5
  269. package/dist/mdx/react/card/examples/Basic.tsx +1 -0
  270. package/dist/mdx/react/card/examples/Borderless.tsx +2 -3
  271. package/dist/mdx/react/card/examples/CustomStyles.tsx +1 -3
  272. package/dist/mdx/react/card/examples/Stencils.tsx +9 -10
  273. package/dist/mdx/react/card/examples/{Filled.tsx → Tonal.tsx} +2 -1
  274. package/dist/mdx/react/checkbox/Checkbox.mdx +11 -12
  275. package/dist/mdx/react/checkbox/examples/Basic.tsx +1 -0
  276. package/dist/mdx/react/checkbox/examples/Caution.tsx +1 -0
  277. package/dist/mdx/react/checkbox/examples/Disabled.tsx +1 -0
  278. package/dist/mdx/react/checkbox/examples/Error.tsx +1 -0
  279. package/dist/mdx/react/checkbox/examples/Indeterminate.tsx +3 -2
  280. package/dist/mdx/react/checkbox/examples/Inverse.tsx +3 -2
  281. package/dist/mdx/react/checkbox/examples/LabelPosition.tsx +1 -0
  282. package/dist/mdx/react/checkbox/examples/RefForwarding.tsx +3 -2
  283. package/dist/mdx/react/checkbox/examples/Required.tsx +1 -0
  284. package/dist/mdx/react/collection/mdx/examples/BasicGrid.tsx +3 -3
  285. package/dist/mdx/react/collection/mdx/examples/DataLoader.tsx +4 -4
  286. package/dist/mdx/react/collection/mdx/examples/MultiSelection.tsx +3 -3
  287. package/dist/mdx/react/collection/mdx/examples/OverflowVerticalList.tsx +3 -2
  288. package/dist/mdx/react/collection/mdx/examples/RovingFocus.tsx +2 -2
  289. package/dist/mdx/react/collection/mdx/examples/Selection.tsx +3 -3
  290. package/dist/mdx/react/collection/mdx/examples/StringChildren.tsx +1 -1
  291. package/dist/mdx/react/collection/mdx/examples/WrappingGrid.tsx +3 -3
  292. package/dist/mdx/react/color-picker/color-input/ColorInput.mdx +7 -8
  293. package/dist/mdx/react/color-picker/color-input/examples/Basic.tsx +2 -1
  294. package/dist/mdx/react/color-picker/color-input/examples/Caution.tsx +2 -1
  295. package/dist/mdx/react/color-picker/color-input/examples/Checked.tsx +2 -1
  296. package/dist/mdx/react/color-picker/color-input/examples/Disabled.tsx +2 -1
  297. package/dist/mdx/react/color-picker/color-input/examples/Error.tsx +2 -1
  298. package/dist/mdx/react/color-picker/color-input/examples/Grow.tsx +2 -1
  299. package/dist/mdx/react/color-picker/color-input/examples/LabelPosition.tsx +2 -1
  300. package/dist/mdx/react/color-picker/color-input/examples/RefForwarding.tsx +2 -1
  301. package/dist/mdx/react/color-picker/color-input/examples/Required.tsx +2 -1
  302. package/dist/mdx/react/color-picker/color-input/examples/ValidColorChange.tsx +4 -3
  303. package/dist/mdx/react/color-picker/color-preview/ColorPreview.mdx +3 -3
  304. package/dist/mdx/react/color-picker/color-preview/examples/LabelPosition.tsx +2 -1
  305. package/dist/mdx/react/color-picker/color-preview/examples/RefForwarding.tsx +4 -3
  306. package/dist/mdx/react/combobox/examples/Autocomplete.tsx +11 -9
  307. package/dist/mdx/react/common/mdx/CompoundComponentUtilities.mdx +1 -1
  308. package/dist/mdx/react/common/mdx/Theming.mdx +166 -129
  309. package/dist/mdx/react/common/mdx/examples/CreateComponent.tsx +10 -4
  310. package/dist/mdx/react/common/mdx/examples/CreateContainer.tsx +1 -0
  311. package/dist/mdx/react/common/mdx/examples/CreateElemPropsHook.tsx +3 -2
  312. package/dist/mdx/react/common/mdx/examples/CreateModelHook.tsx +1 -0
  313. package/dist/mdx/react/common/mdx/examples/CreateSubcomponent.tsx +2 -1
  314. package/dist/mdx/react/common/mdx/examples/RTL.tsx +4 -5
  315. package/dist/mdx/react/common/mdx/examples/ResponsiveStyles.tsx +4 -3
  316. package/dist/mdx/react/common/mdx/examples/ResponsiveViewport.tsx +4 -3
  317. package/dist/mdx/react/common/mdx/examples/Theming.tsx +40 -22
  318. package/dist/mdx/react/dialog/Dialog.mdx +51 -20
  319. package/dist/mdx/react/dialog/examples/Basic.tsx +4 -3
  320. package/dist/mdx/react/dialog/examples/DialogWithFallbackPlacements.tsx +20 -12
  321. package/dist/mdx/react/dialog/examples/Focus.tsx +3 -3
  322. package/dist/mdx/react/expandable/Expandable.mdx +54 -2
  323. package/dist/mdx/react/expandable/examples/Avatar.tsx +1 -0
  324. package/dist/mdx/react/expandable/examples/Depth.tsx +10 -1
  325. package/dist/mdx/react/expandable/examples/HoistedModel.tsx +26 -21
  326. package/dist/mdx/react/expandable/examples/LongTitle.tsx +1 -0
  327. package/dist/mdx/react/expandable/examples/RTL.tsx +2 -7
  328. package/dist/mdx/react/form-field/FormField.mdx +97 -45
  329. package/dist/mdx/react/form-field/examples/AllFields.tsx +10 -11
  330. package/dist/mdx/react/form-field/examples/Basic.tsx +1 -0
  331. package/dist/mdx/react/form-field/examples/Caution.tsx +8 -5
  332. package/dist/mdx/react/form-field/examples/Custom.tsx +3 -2
  333. package/dist/mdx/react/form-field/examples/CustomId.tsx +1 -0
  334. package/dist/mdx/react/form-field/examples/Disabled.tsx +2 -2
  335. package/dist/mdx/react/form-field/examples/Error.tsx +3 -3
  336. package/dist/mdx/react/form-field/examples/GroupedInputs.tsx +14 -14
  337. package/dist/mdx/react/form-field/examples/Grow.tsx +1 -0
  338. package/dist/mdx/react/form-field/examples/HiddenLabel.tsx +27 -11
  339. package/dist/mdx/react/form-field/examples/Hint.tsx +2 -2
  340. package/dist/mdx/react/form-field/examples/LabelPositionHorizontalEnd.tsx +3 -2
  341. package/dist/mdx/react/form-field/examples/LabelPositionHorizontalStart.tsx +3 -2
  342. package/dist/mdx/react/form-field/examples/RefForwarding.tsx +4 -3
  343. package/dist/mdx/react/form-field/examples/Required.tsx +2 -1
  344. package/dist/mdx/react/form-field/examples/ThemedErrors.tsx +8 -8
  345. package/dist/mdx/react/icon/Assets.mdx +174 -17
  346. package/dist/mdx/react/icon/examples/AccentIconList.tsx +5 -4
  347. package/dist/mdx/react/icon/examples/AppletIconList.tsx +5 -4
  348. package/dist/mdx/react/icon/examples/ExpressiveBasic.tsx +41 -0
  349. package/dist/mdx/react/icon/examples/ExpressiveCustomStyles.tsx +54 -0
  350. package/dist/mdx/react/icon/examples/{IconList.tsx → ExpressiveIconList.tsx} +20 -13
  351. package/dist/mdx/react/icon/examples/SVGBasic.tsx +31 -0
  352. package/dist/mdx/react/icon/examples/SystemBasic.tsx +44 -0
  353. package/dist/mdx/react/icon/examples/SystemCircleBasic.tsx +34 -0
  354. package/dist/mdx/react/icon/examples/SystemCustomStyles.tsx +62 -0
  355. package/dist/mdx/react/icon/examples/SystemIconList.tsx +80 -0
  356. package/dist/mdx/react/information-highlight/InformationHighlight.mdx +96 -0
  357. package/dist/mdx/{preview-react → react}/information-highlight/examples/Basic.tsx +1 -1
  358. package/dist/mdx/{preview-react → react}/information-highlight/examples/Body.tsx +1 -1
  359. package/dist/mdx/{preview-react → react}/information-highlight/examples/Caution.tsx +2 -2
  360. package/dist/mdx/{preview-react → react}/information-highlight/examples/Critical.tsx +2 -2
  361. package/dist/mdx/{preview-react → react}/information-highlight/examples/CustomIconCritical.tsx +5 -6
  362. package/dist/mdx/{preview-react → react}/information-highlight/examples/Heading.tsx +1 -1
  363. package/dist/mdx/{preview-react → react}/information-highlight/examples/Informational.tsx +4 -4
  364. package/dist/mdx/{preview-react → react}/information-highlight/examples/RTL.tsx +6 -11
  365. package/dist/mdx/react/layout/Box.mdx +13 -13
  366. package/dist/mdx/react/layout/Flex.mdx +3 -3
  367. package/dist/mdx/react/layout/Grid.mdx +3 -3
  368. package/dist/mdx/react/layout/examples/Box/Basic.tsx +9 -2
  369. package/dist/mdx/react/layout/examples/Flex/Basic.tsx +1 -0
  370. package/dist/mdx/react/layout/examples/Grid/Basic.tsx +19 -13
  371. package/dist/mdx/react/layout/examples/Grid/GridCard.tsx +34 -24
  372. package/dist/mdx/react/layout/examples/Grid/GridLayout.tsx +1 -0
  373. package/dist/mdx/react/layout/examples/Grid/GridLayoutInteractive.tsx +3 -3
  374. package/dist/mdx/react/loading-dots/LoadingDots.mdx +1 -1
  375. package/dist/mdx/react/loading-dots/examples/Accessible.tsx +8 -7
  376. package/dist/mdx/react/loading-dots/examples/Basic.tsx +1 -0
  377. package/dist/mdx/react/loading-dots/examples/CustomColorAndAnimation.tsx +6 -4
  378. package/dist/mdx/react/loading-dots/examples/CustomShape.tsx +7 -7
  379. package/dist/mdx/react/loading-dots/examples/Inverse.tsx +2 -2
  380. package/dist/mdx/react/loading-dots/examples/RTL.tsx +3 -7
  381. package/dist/mdx/react/menu/Menu.mdx +68 -30
  382. package/dist/mdx/react/menu/examples/Icons.tsx +11 -10
  383. package/dist/mdx/react/menu/examples/MenuWithFallbackPlacements.tsx +5 -3
  384. package/dist/mdx/react/menu/examples/Nested.tsx +0 -1
  385. package/dist/mdx/react/menu/examples/NestedDynamic.tsx +1 -1
  386. package/dist/mdx/react/menu/examples/SelectableMenu.tsx +13 -2
  387. package/dist/mdx/react/modal/Modal.mdx +94 -16
  388. package/dist/mdx/react/modal/examples/Basic.tsx +5 -4
  389. package/dist/mdx/react/modal/examples/BodyOverflow.tsx +1 -1
  390. package/dist/mdx/react/modal/examples/CustomFocus.tsx +4 -3
  391. package/dist/mdx/react/modal/examples/FormModal.tsx +28 -3
  392. package/dist/mdx/react/modal/examples/FullOverflow.tsx +1 -1
  393. package/dist/mdx/react/modal/examples/IframeTest.tsx +1 -1
  394. package/dist/mdx/react/modal/examples/ModalWithPopup.tsx +3 -3
  395. package/dist/mdx/react/modal/examples/ModalWithPopupRTL.tsx +66 -0
  396. package/dist/mdx/react/modal/examples/NoTargetRTL.tsx +49 -0
  397. package/dist/mdx/react/modal/examples/ReturnFocus.tsx +140 -41
  398. package/dist/mdx/react/modal/examples/StackedModals.tsx +1 -1
  399. package/dist/mdx/react/modal/examples/WithRadioButtons.tsx +1 -0
  400. package/dist/mdx/react/modal/examples/WithTooltips.tsx +2 -1
  401. package/dist/mdx/react/modal/examples/WithoutCloseIcon.tsx +10 -9
  402. package/dist/mdx/react/pagination/examples/Basic.tsx +0 -1
  403. package/dist/mdx/react/pagination/examples/HoistedModel.tsx +0 -1
  404. package/dist/mdx/react/pagination/examples/RTL.tsx +2 -5
  405. package/dist/mdx/react/pagination/examples/ResponsiveRange.tsx +13 -9
  406. package/dist/mdx/react/pagination/pagination.mdx +8 -6
  407. package/dist/mdx/{preview-react → react}/pill/Pill.mdx +3 -3
  408. package/dist/mdx/{preview-react → react}/pill/examples/Basic.tsx +2 -3
  409. package/dist/mdx/react/pill/examples/CustomStyles.tsx +52 -0
  410. package/dist/mdx/{preview-react → react}/pill/examples/WithAvatar.tsx +6 -4
  411. package/dist/mdx/{preview-react → react}/pill/examples/WithCount.tsx +3 -2
  412. package/dist/mdx/{preview-react → react}/pill/examples/WithList.tsx +2 -2
  413. package/dist/mdx/{preview-react → react}/pill/examples/WithReadOnly.tsx +3 -3
  414. package/dist/mdx/{preview-react → react}/pill/examples/WithRemovable.tsx +6 -5
  415. package/dist/mdx/react/popup/Popup.mdx +64 -36
  416. package/dist/mdx/react/popup/examples/Basic.tsx +22 -5
  417. package/dist/mdx/react/popup/examples/ComboboxWithinPopup.tsx +3 -3
  418. package/dist/mdx/react/popup/examples/CustomTarget.tsx +3 -2
  419. package/dist/mdx/react/popup/examples/ExternalWindow.tsx +26 -29
  420. package/dist/mdx/react/popup/examples/FocusRedirect.tsx +27 -12
  421. package/dist/mdx/react/popup/examples/FocusTrap.tsx +8 -6
  422. package/dist/mdx/react/popup/examples/FullScreen.tsx +6 -6
  423. package/dist/mdx/react/popup/examples/InitialFocus.tsx +115 -11
  424. package/dist/mdx/react/popup/examples/InlinePopup.tsx +126 -0
  425. package/dist/mdx/react/popup/examples/MixedPopupTypes.tsx +5 -4
  426. package/dist/mdx/react/popup/examples/MultiplePopups.tsx +34 -22
  427. package/dist/mdx/react/popup/examples/NestedPopups.tsx +5 -5
  428. package/dist/mdx/react/popup/examples/PopupWithFallbackPlacements.tsx +26 -18
  429. package/dist/mdx/react/popup/examples/PopupWithNonHidablePopup.tsx +1 -1
  430. package/dist/mdx/react/popup/examples/RTL.tsx +9 -9
  431. package/dist/mdx/react/popup/examples/ReturnFocusTest.tsx +4 -4
  432. package/dist/mdx/react/popup/examples/TooltipReturnFocus.tsx +5 -5
  433. package/dist/mdx/react/radio/Radio.mdx +8 -9
  434. package/dist/mdx/react/radio/examples/Basic.tsx +4 -3
  435. package/dist/mdx/react/radio/examples/Caution.tsx +2 -1
  436. package/dist/mdx/react/radio/examples/Disabled.tsx +2 -1
  437. package/dist/mdx/react/radio/examples/Error.tsx +2 -1
  438. package/dist/mdx/react/radio/examples/Inverse.tsx +3 -2
  439. package/dist/mdx/react/radio/examples/LabelPosition.tsx +2 -1
  440. package/dist/mdx/react/radio/examples/NoValue.tsx +2 -1
  441. package/dist/mdx/react/radio/examples/RefForwarding.tsx +2 -1
  442. package/dist/mdx/react/radio/examples/Required.tsx +2 -1
  443. package/dist/mdx/react/segmented-control/SegmentedControl.mdx +119 -18
  444. package/dist/mdx/react/segmented-control/examples/Basic.tsx +32 -28
  445. package/dist/mdx/{preview-react → react}/segmented-control/examples/Disabled.tsx +2 -2
  446. package/dist/mdx/{preview-react → react}/segmented-control/examples/Dynamic.tsx +3 -2
  447. package/dist/mdx/{preview-react → react}/segmented-control/examples/RTL.tsx +4 -4
  448. package/dist/mdx/{preview-react → react}/segmented-control/examples/Sizes.tsx +4 -3
  449. package/dist/mdx/{preview-react → react}/segmented-control/examples/TextAndIcon.tsx +2 -1
  450. package/dist/mdx/{preview-react → react}/segmented-control/examples/TextOnly.tsx +2 -1
  451. package/dist/mdx/{preview-react → react}/segmented-control/examples/Vertical.tsx +2 -2
  452. package/dist/mdx/react/select/Select.mdx +26 -20
  453. package/dist/mdx/react/select/examples/Basic.tsx +2 -1
  454. package/dist/mdx/react/select/examples/Caution.tsx +2 -1
  455. package/dist/mdx/react/select/examples/Complex.tsx +2 -1
  456. package/dist/mdx/react/select/examples/Controlled.tsx +3 -2
  457. package/dist/mdx/react/select/examples/Disabled.tsx +2 -1
  458. package/dist/mdx/react/select/examples/DisabledOption.tsx +2 -1
  459. package/dist/mdx/react/select/examples/Error.tsx +2 -1
  460. package/dist/mdx/react/select/examples/FetchingDynamicItems.tsx +4 -3
  461. package/dist/mdx/react/select/examples/GroupedItems.tsx +59 -0
  462. package/dist/mdx/react/select/examples/Grow.tsx +2 -1
  463. package/dist/mdx/react/select/examples/HoistedModel.tsx +1 -0
  464. package/dist/mdx/react/select/examples/InitialSelectedItem.tsx +2 -1
  465. package/dist/mdx/react/select/examples/LabelPosition.tsx +2 -1
  466. package/dist/mdx/react/select/examples/MenuHeight.tsx +1 -1
  467. package/dist/mdx/react/select/examples/Placeholder.tsx +2 -1
  468. package/dist/mdx/react/select/examples/RefForwarding.tsx +1 -0
  469. package/dist/mdx/react/select/examples/Required.tsx +2 -1
  470. package/dist/mdx/react/select/examples/WithIcons.tsx +6 -10
  471. package/dist/mdx/react/side-panel/SidePanel.mdx +287 -0
  472. package/dist/mdx/react/side-panel/examples/AlwaysOpen.tsx +50 -0
  473. package/dist/mdx/react/side-panel/examples/Basic.tsx +33 -0
  474. package/dist/mdx/react/side-panel/examples/ExternalControl.tsx +60 -0
  475. package/dist/mdx/react/side-panel/examples/Heading.tsx +43 -0
  476. package/dist/mdx/react/side-panel/examples/OnStateTransition.tsx +52 -0
  477. package/dist/mdx/react/side-panel/examples/RightOrigin.tsx +67 -0
  478. package/dist/mdx/react/side-panel/examples/Variant.tsx +51 -0
  479. package/dist/mdx/react/side-panel/examples/useDirection.ts +24 -0
  480. package/dist/mdx/react/skeleton/Skeleton.mdx +1 -1
  481. package/dist/mdx/react/skeleton/examples/Basic.tsx +8 -6
  482. package/dist/mdx/react/skeleton/examples/Color.tsx +13 -11
  483. package/dist/mdx/react/skeleton/examples/Header.tsx +1 -0
  484. package/dist/mdx/react/skeleton/examples/Shape.tsx +4 -3
  485. package/dist/mdx/react/skeleton/examples/Simulation.tsx +40 -25
  486. package/dist/mdx/react/skeleton/examples/Text.tsx +1 -0
  487. package/dist/mdx/react/status-indicator/StatusIndicator.mdx +1 -1
  488. package/dist/mdx/react/status-indicator/examples/Basic.tsx +6 -7
  489. package/dist/mdx/react/status-indicator/examples/Emphasis.tsx +6 -7
  490. package/dist/mdx/react/status-indicator/examples/Icon.tsx +3 -2
  491. package/dist/mdx/react/status-indicator/examples/MaxWidth.tsx +6 -7
  492. package/dist/mdx/react/switch/Switch.mdx +22 -9
  493. package/dist/mdx/react/switch/examples/Basic.tsx +1 -0
  494. package/dist/mdx/react/switch/examples/Caution.tsx +1 -0
  495. package/dist/mdx/react/switch/examples/Disabled.tsx +1 -0
  496. package/dist/mdx/react/switch/examples/Error.tsx +1 -0
  497. package/dist/mdx/react/switch/examples/LabelPosition.tsx +1 -0
  498. package/dist/mdx/react/switch/examples/RefForwarding.tsx +1 -0
  499. package/dist/mdx/react/table/examples/BaseHtmlTable.tsx +1 -3
  500. package/dist/mdx/react/table/examples/Basic.tsx +1 -3
  501. package/dist/mdx/react/table/examples/BasicWithHeading.tsx +3 -5
  502. package/dist/mdx/react/table/examples/FixedColumn.tsx +8 -8
  503. package/dist/mdx/react/table/examples/RightToLeft.tsx +3 -5
  504. package/dist/mdx/react/tabs/Tabs.mdx +10 -9
  505. package/dist/mdx/react/tabs/examples/AlternativeTabStop.tsx +3 -4
  506. package/dist/mdx/react/tabs/examples/Basic.tsx +3 -3
  507. package/dist/mdx/react/tabs/examples/DisabledTab.tsx +3 -3
  508. package/dist/mdx/react/tabs/examples/DynamicTabs.tsx +2 -1
  509. package/dist/mdx/react/tabs/examples/HoistedModel.tsx +3 -4
  510. package/dist/mdx/react/tabs/examples/Icons.tsx +4 -5
  511. package/dist/mdx/react/tabs/examples/NamedTabs.tsx +3 -3
  512. package/dist/mdx/react/tabs/examples/OverflowTabs.tsx +2 -2
  513. package/dist/mdx/react/tabs/examples/RightToLeft.tsx +5 -5
  514. package/dist/mdx/react/tabs/examples/SinglePanel.tsx +2 -4
  515. package/dist/mdx/react/testing/examples/Basic.tsx +3 -3
  516. package/dist/mdx/react/text/LabelText.mdx +1 -1
  517. package/dist/mdx/react/text/Text.mdx +1 -1
  518. package/dist/mdx/react/text/examples/BodyText/Basic.tsx +1 -0
  519. package/dist/mdx/react/text/examples/Heading/Basic.tsx +1 -0
  520. package/dist/mdx/react/text/examples/LabelText/Basic.tsx +1 -0
  521. package/dist/mdx/react/text/examples/LabelText/Cursor.tsx +1 -0
  522. package/dist/mdx/react/text/examples/LabelText/Disabled.tsx +3 -5
  523. package/dist/mdx/react/text/examples/Subtext/Basic.tsx +1 -0
  524. package/dist/mdx/react/text/examples/Text/Basic.tsx +12 -7
  525. package/dist/mdx/react/text/examples/Title/Basic.tsx +1 -0
  526. package/dist/mdx/react/text-area/TextArea.mdx +44 -18
  527. package/dist/mdx/react/text-area/examples/Basic.tsx +1 -0
  528. package/dist/mdx/react/text-area/examples/Disabled.tsx +1 -0
  529. package/dist/mdx/react/text-area/examples/Grow.tsx +1 -0
  530. package/dist/mdx/react/text-area/examples/LabelPosition.tsx +1 -0
  531. package/dist/mdx/react/text-area/examples/Placeholder.tsx +1 -0
  532. package/dist/mdx/react/text-area/examples/RefForwarding.tsx +1 -0
  533. package/dist/mdx/react/text-area/examples/Required.tsx +1 -0
  534. package/dist/mdx/react/text-area/examples/ResizeConstraints.tsx +1 -0
  535. package/dist/mdx/react/text-input/TextInput.mdx +43 -18
  536. package/dist/mdx/react/text-input/examples/Basic.tsx +1 -0
  537. package/dist/mdx/react/text-input/examples/Disabled.tsx +1 -0
  538. package/dist/mdx/react/text-input/examples/Grow.tsx +1 -0
  539. package/dist/mdx/react/text-input/examples/Icons.tsx +25 -21
  540. package/dist/mdx/react/text-input/examples/LabelPosition.tsx +1 -0
  541. package/dist/mdx/react/text-input/examples/Placeholder.tsx +1 -0
  542. package/dist/mdx/react/text-input/examples/RefForwarding.tsx +1 -0
  543. package/dist/mdx/react/text-input/examples/Required.tsx +1 -0
  544. package/dist/mdx/react/toast/examples/Basic.tsx +2 -1
  545. package/dist/mdx/react/toast/examples/RTL.tsx +4 -6
  546. package/dist/mdx/react/toast/examples/ToastAlert.tsx +2 -2
  547. package/dist/mdx/react/toast/examples/ToastDialog.tsx +2 -1
  548. package/dist/mdx/react/toast/examples/WithActionLinkAndCloseIcon.tsx +2 -4
  549. package/dist/mdx/react/toast/examples/WithPopper.tsx +4 -4
  550. package/dist/mdx/react/toast/toast.mdx +4 -3
  551. package/dist/mdx/react/tokens/Tokens.mdx +1 -1
  552. package/dist/mdx/react/tokens/examples/Overview.tsx +2 -2
  553. package/dist/mdx/react/tokens/examples/Tokens.tsx +4 -4
  554. package/dist/mdx/react/tooltip/Tooltip.mdx +31 -13
  555. package/dist/mdx/react/tooltip/examples/Default.tsx +1 -1
  556. package/dist/mdx/react/tooltip/examples/DescriptionType.tsx +3 -3
  557. package/dist/mdx/react/tooltip/examples/Ellipsis.tsx +8 -8
  558. package/dist/mdx/react/tooltip/examples/Placements.tsx +13 -14
  559. package/dist/mdx/react/tooltip/examples/UseTooltip.tsx +2 -2
  560. package/dist/mdx/style-props/STYLE_PROPS.mdx +1 -1
  561. package/dist/mdx/style-props/stylePropsMigrationCodemod.mdx +1 -1
  562. package/dist/mdx/style-props/stylePropsMigrationOverview.mdx +20 -20
  563. package/dist/mdx/styling/mdx/CreateStyles.mdx +32 -31
  564. package/dist/mdx/styling/mdx/CustomizingStyles.mdx +4 -4
  565. package/dist/mdx/styling/mdx/MergingStyles.mdx +6 -4
  566. package/dist/mdx/styling/mdx/Overview.mdx +15 -15
  567. package/dist/mdx/styling/mdx/Stencils.mdx +32 -30
  568. package/dist/mdx/styling/mdx/Utilities.mdx +135 -27
  569. package/dist/mdx/styling/mdx/examples/CSProp.tsx +7 -9
  570. package/dist/mdx/styling/mdx/examples/CreateModifiers.tsx +1 -1
  571. package/dist/mdx/styling/mdx/examples/CreateStencil.tsx +10 -9
  572. package/dist/mdx/styling/mdx/examples/CreateStyles.tsx +2 -4
  573. package/dist/mdx/styling/mdx/examples/CustomButton.tsx +16 -23
  574. package/dist/mdx/styling/mdx/examples/CustomIcon.tsx +5 -6
  575. package/dist/mdx/styling/mdx/examples/EmotionButton.tsx +1 -1
  576. package/dist/mdx/styling/mdx/examples/ManualStylesButton.tsx +1 -0
  577. package/dist/mdx/styling/mdx/examples/StyledButton.tsx +13 -15
  578. package/dist/mdx/styling/mdx/examples/StylingButton.tsx +2 -1
  579. package/dist/mdx/styling/mdx/examples/StylingOverrides.tsx +10 -10
  580. package/dist/mdx/tokens/TokenMigrationCodemod.mdx +9 -0
  581. package/dist/mdx/tokens/TokenMigrationFinal.mdx +35 -30
  582. package/dist/mdx/tokens/TokenMigrationInstall.mdx +17 -14
  583. package/dist/mdx/tokens/TokenMigrationMappingColors.mdx +434 -288
  584. package/dist/mdx/tokens/TokenMigrationMappingSystem.mdx +51 -199
  585. package/dist/mdx/tokens/TokenMigrationOverview.mdx +23 -41
  586. package/dist/mdx/welcome.mdx +14 -16
  587. package/lib/DescriptionTooltip.tsx +16 -11
  588. package/lib/DownloadLLMFile.tsx +12 -12
  589. package/lib/ExampleCodeBlock.tsx +38 -28
  590. package/lib/MDXElements.tsx +6 -5
  591. package/lib/MoreTooltip.tsx +12 -10
  592. package/lib/Specifications.tsx +30 -17
  593. package/lib/StorybookStatusIndicator.tsx +32 -20
  594. package/lib/StylePropsTable.tsx +2 -1
  595. package/lib/SymbolDoc.tsx +2 -1
  596. package/lib/Table.tsx +37 -39
  597. package/lib/Value.tsx +22 -15
  598. package/lib/docs.ts +1 -0
  599. package/lib/stackblitzFiles/App.tsx +7 -21
  600. package/lib/stackblitzFiles/main.tsx +6 -4
  601. package/lib/stackblitzFiles/packageJSONFile.ts +4 -2
  602. package/lib/stackblitzFiles/types/custom-imports.d.ts +0 -9
  603. package/lib/stackblitzFiles/vite.config.ts +1 -3
  604. package/lib/widgetUtils.tsx +42 -43
  605. package/lib/widgets/array.tsx +1 -1
  606. package/lib/widgets/callExpression.tsx +1 -2
  607. package/lib/widgets/canvasColor.tsx +2 -2
  608. package/lib/widgets/conditional.tsx +1 -1
  609. package/lib/widgets/enhancedComponent.tsx +12 -8
  610. package/lib/widgets/external.tsx +1 -2
  611. package/lib/widgets/function.tsx +3 -3
  612. package/lib/widgets/index.ts +1 -1
  613. package/lib/widgets/intersection.tsx +1 -1
  614. package/lib/widgets/model.tsx +1 -1
  615. package/lib/widgets/parenthesis.tsx +1 -1
  616. package/lib/widgets/primitives.tsx +3 -2
  617. package/lib/widgets/qualifiedName.tsx +1 -1
  618. package/lib/widgets/tuple.tsx +1 -1
  619. package/lib/widgets/typeParameter.tsx +1 -1
  620. package/lib/widgets/union.tsx +1 -1
  621. package/package.json +14 -12
  622. package/webpack/extract-exports.js +2 -1
  623. package/dist/mdx/labs-react/combobox/Combobox.mdx +0 -68
  624. package/dist/mdx/labs-react/combobox/examples/Basic.tsx +0 -88
  625. package/dist/mdx/labs-react/combobox/examples/DisabledItem.tsx +0 -88
  626. package/dist/mdx/labs-react/combobox/examples/GroupOfResult.tsx +0 -88
  627. package/dist/mdx/labs-react/combobox/examples/Grow.tsx +0 -88
  628. package/dist/mdx/labs-react/combobox/examples/NoClearButton.tsx +0 -88
  629. package/dist/mdx/labs-react/combobox/examples/RTL.tsx +0 -90
  630. package/dist/mdx/labs-react/search-form/SearchForm.mdx +0 -92
  631. package/dist/mdx/labs-react/search-form/examples/Basic.tsx +0 -63
  632. package/dist/mdx/labs-react/search-form/examples/Collapsed.tsx +0 -64
  633. package/dist/mdx/labs-react/search-form/examples/CustomStyles.tsx +0 -91
  634. package/dist/mdx/labs-react/search-form/examples/CustomTheme.tsx +0 -73
  635. package/dist/mdx/labs-react/search-form/examples/Grow.tsx +0 -64
  636. package/dist/mdx/labs-react/search-form/examples/RTL.tsx +0 -72
  637. package/dist/mdx/labs-react/search-form/examples/Theming.tsx +0 -66
  638. package/dist/mdx/preview-react/avatar/examples/Basic.tsx +0 -5
  639. package/dist/mdx/preview-react/avatar/examples/nicholas-avatar.png +0 -0
  640. package/dist/mdx/preview-react/information-highlight/InformationHighlight.mdx +0 -109
  641. package/dist/mdx/preview-react/pill/examples/CustomStyles.tsx +0 -53
  642. package/dist/mdx/preview-react/segmented-control/SegmentedControl.mdx +0 -139
  643. package/dist/mdx/preview-react/segmented-control/examples/Basic.tsx +0 -42
  644. package/dist/mdx/preview-react/select/Select.mdx +0 -107
  645. package/dist/mdx/preview-react/select/examples/Left Label/AlertLeft.tsx +0 -18
  646. package/dist/mdx/preview-react/select/examples/Left Label/DefaultLeft.tsx +0 -17
  647. package/dist/mdx/preview-react/select/examples/Left Label/DefaultWithCustomOptionsLeft.tsx +0 -25
  648. package/dist/mdx/preview-react/select/examples/Left Label/DefaultWithSimpleOptionsLeft.tsx +0 -17
  649. package/dist/mdx/preview-react/select/examples/Left Label/DisabledLeft.tsx +0 -19
  650. package/dist/mdx/preview-react/select/examples/Left Label/ErrorLeft.tsx +0 -18
  651. package/dist/mdx/preview-react/select/examples/Left Label/GrowLeft.tsx +0 -17
  652. package/dist/mdx/preview-react/select/examples/Left Label/ScrollableLeft.tsx +0 -17
  653. package/dist/mdx/preview-react/select/examples/Left Label/index.ts +0 -8
  654. package/dist/mdx/preview-react/select/examples/Top Label/Caution.tsx +0 -16
  655. package/dist/mdx/preview-react/select/examples/Top Label/Default.tsx +0 -15
  656. package/dist/mdx/preview-react/select/examples/Top Label/DefaultWithCustomOptions.tsx +0 -23
  657. package/dist/mdx/preview-react/select/examples/Top Label/DefaultWithSimpleOptions.tsx +0 -15
  658. package/dist/mdx/preview-react/select/examples/Top Label/Disabled.tsx +0 -17
  659. package/dist/mdx/preview-react/select/examples/Top Label/Error.tsx +0 -16
  660. package/dist/mdx/preview-react/select/examples/Top Label/Grow.tsx +0 -15
  661. package/dist/mdx/preview-react/select/examples/Top Label/Scrollable.tsx +0 -13
  662. package/dist/mdx/preview-react/select/examples/Top Label/index.ts +0 -8
  663. package/dist/mdx/preview-react/select/examples/storiesData.tsx +0 -92
  664. package/dist/mdx/react/_examples/mdx/examples/SegmentControlWithText.tsx +0 -119
  665. package/dist/mdx/react/avatar/avatar/Avatar.mdx +0 -109
  666. package/dist/mdx/react/avatar/avatar/examples/Basic.tsx +0 -17
  667. package/dist/mdx/react/avatar/avatar/examples/Button.tsx +0 -20
  668. package/dist/mdx/react/avatar/avatar/examples/CustomStyles.tsx +0 -34
  669. package/dist/mdx/react/avatar/avatar/examples/Image.tsx +0 -25
  670. package/dist/mdx/react/avatar/avatar/examples/LazyLoad.tsx +0 -20
  671. package/dist/mdx/react/avatar/avatar/examples/ObjectFit.tsx +0 -30
  672. package/dist/mdx/react/avatar/avatar/examples/Size.tsx +0 -27
  673. package/dist/mdx/react/avatar/avatar/examples/Variant.tsx +0 -10
  674. package/dist/mdx/react/avatar/avatar/examples/test-avatar.png +0 -0
  675. package/dist/mdx/react/icon/examples/Overview.tsx +0 -42
  676. package/dist/mdx/react/text-area/examples/Caution.tsx +0 -21
  677. package/dist/mdx/react/text-area/examples/Error.tsx +0 -21
  678. package/dist/mdx/react/text-input/examples/Caution.tsx +0 -21
  679. package/dist/mdx/react/text-input/examples/Error.tsx +0 -21
  680. /package/dist/mdx/accessibility/{AccessibilityTesting.mdx → TestingTableWithFormFields.mdx} +0 -0
  681. /package/dist/mdx/{preview-react → react}/pill/examples/test-avatar.png +0 -0
@@ -1,19 +1,21 @@
1
- import React from 'react';
2
1
  import {LoadingDots} from '@workday/canvas-kit-react/loading-dots';
3
- import {system} from '@workday/canvas-tokens-web';
4
2
  import {createStyles} from '@workday/canvas-kit-styling';
3
+ import {system} from '@workday/canvas-tokens-web';
5
4
 
6
5
  const styleOverrides = {
7
6
  parentContainer: createStyles({
8
7
  display: 'flex',
9
- gap: system.space.x4,
8
+ gap: system.gap.md,
10
9
  }),
11
10
  };
12
11
 
13
12
  export default () => {
14
13
  return (
15
14
  <div className={styleOverrides.parentContainer}>
16
- <LoadingDots loadingDotColor={system.color.fg.primary.default} animationDurationMs="60ms" />
15
+ <LoadingDots
16
+ loadingDotColor={system.color.brand.fg.primary.default}
17
+ animationDurationMs="60ms"
18
+ />
17
19
  </div>
18
20
  );
19
21
  };
@@ -1,20 +1,20 @@
1
1
  import {LoadingDots} from '@workday/canvas-kit-react/loading-dots';
2
- import {system} from '@workday/canvas-tokens-web';
3
- import {createStyles, createStencil} from '@workday/canvas-kit-styling';
2
+ import {createStencil, createStyles} from '@workday/canvas-kit-styling';
3
+ import {base, system} from '@workday/canvas-tokens-web';
4
4
 
5
5
  const styleOverrides = {
6
6
  parentContainer: createStyles({
7
7
  display: 'flex',
8
- gap: system.space.x4,
8
+ gap: system.gap.md,
9
9
  }),
10
10
  };
11
11
 
12
12
  const loadingStencil = createStencil({
13
13
  base: {
14
- borderRadius: system.shape.round,
15
- backgroundColor: system.color.bg.contrast.strong,
16
- height: 80,
17
- width: 80,
14
+ borderRadius: system.shape.full,
15
+ backgroundColor: system.color.surface.contrast.strong,
16
+ height: base.size1000,
17
+ width: base.size1000,
18
18
  alignItems: 'center',
19
19
  justifyContent: 'center',
20
20
  display: 'flex',
@@ -1,11 +1,11 @@
1
+ import {Graphic} from '@workday/canvas-kit-react/icon';
1
2
  import {LoadingDots} from '@workday/canvas-kit-react/loading-dots';
2
3
  import {createStencil, createStyles, px2rem} from '@workday/canvas-kit-styling';
3
4
  import {system} from '@workday/canvas-tokens-web';
4
- import {Graphic} from '@workday/canvas-kit-react/icon';
5
5
 
6
6
  const loadingStencil = createStencil({
7
7
  base: {
8
- background: system.color.bg.overlay,
8
+ background: system.color.surface.overlay.scrim,
9
9
  alignItems: 'center',
10
10
  justifyContent: 'center',
11
11
  display: 'flex',
@@ -1,15 +1,11 @@
1
1
  import React from 'react';
2
+
3
+ import {CanvasProvider} from '@workday/canvas-kit-react/common';
2
4
  import {LoadingDots} from '@workday/canvas-kit-react/loading-dots';
3
- import {CanvasProvider, ContentDirection} from '@workday/canvas-kit-react/common';
4
5
 
5
6
  export default () => {
6
- const theme = {
7
- canvas: {
8
- direction: ContentDirection.RTL,
9
- },
10
- };
11
7
  return (
12
- <CanvasProvider theme={theme}>
8
+ <CanvasProvider dir="rtl">
13
9
  <LoadingDots />
14
10
  </CanvasProvider>
15
11
  );
@@ -1,11 +1,12 @@
1
- import {ExampleCodeBlock, SymbolDoc, Specifications} from '@workday/canvas-kit-docs';
1
+ import {ExampleCodeBlock, Specifications, SymbolDoc} from '@workday/canvas-kit-docs';
2
+
2
3
  import Basic from './examples/Basic';
3
4
  import ContextMenu from './examples/ContextMenu';
4
- import Icons from './examples/Icons';
5
- import SelectableMenu from './examples/SelectableMenu';
6
5
  import Grouping from './examples/Grouping';
6
+ import Icons from './examples/Icons';
7
7
  import Nested from './examples/Nested';
8
8
  import NestedDynamic from './examples/NestedDynamic';
9
+ import SelectableMenu from './examples/SelectableMenu';
9
10
 
10
11
 
11
12
  # Canvas Kit Menu
@@ -32,23 +33,18 @@ yarn add @workday/canvas-kit-react
32
33
  `Menu` will automatically focus on the cursor item (first item by default). The `Menu` uses a menu
33
34
  model which composes a list model and a popup model and sets up accessibility features for you.
34
35
 
35
- `Menu` follows the
36
- [Actions Menu pattern](https://www.w3.org/WAI/ARIA/apg/patterns/menu-button/examples/menu-button-actions/)
37
- using roving tabindex. Below is table of supported keyboard shortcuts and associated actions.
38
-
39
- | Key | Action |
40
- | ------------------ | ------------------------------------------------------------------------------------------------------------ |
41
- | `Enter` or `Space` | Activates the menu item and then closes the menu |
42
- | `Escape` | Closes the menu |
43
- | `Up Arrow` | Moves focus to the previous menu item – if focus is on first menu item, it moves focus to the last menu item |
44
- | `Down Arrow` | Moves focus to the next menu item – if focus is on last menu item, it moves focus to the first menu item |
45
- | `Home` | Moves focus to the first menu item |
46
- | `End` | Moves focus to the last menu item |
47
-
48
36
  ### Context Menu
49
37
 
50
38
  <ExampleCodeBlock code={ContextMenu} />
51
39
 
40
+ > **Accessibility Note**: This variation relies on the `contextmenu` browser event, which has
41
+ > varying levels of support across different operating systems. On Windows, this feature is better
42
+ > supported and users can typically trigger context menus using the **Shift + F10** keyboard
43
+ > shortcut or the dedicated **Context Menu** key (if available on their keyboard). However, on
44
+ > macOS, context menu support is limited and may require users to enable specific accessibility
45
+ > settings in their system preferences to function properly. Consider providing alternative access
46
+ > methods for critical functionality.
47
+
52
48
  ### Icons
53
49
 
54
50
  Menu supports more complex children, including icons, but the text of the item will no longer be
@@ -60,18 +56,10 @@ about the text of the item.
60
56
 
61
57
  <ExampleCodeBlock code={Icons} />
62
58
 
63
- ### Selectable Menu
64
-
65
- The `Menu.Item` renders a `role=menuitem` element which does not have `aria-selected` and thus no
66
- selected state. If you wish your menu to have selectable menu items, use `Menu.Option` instead of
67
- `Menu.Item`. The `Menu.Option` is meant to be used when the `Menu.Card` has a role of `listbox` and
68
- is controlled via `aria-activedescendant`. This example uses `Menu.Option` to should what the
69
- checkmark looks like, but the example is not keyboard or screen reader accessible. There are many
70
- other behaviors that need to be composed into the `Menu.Target` and `Menu.List` components and the
71
- behaviors depend on many other things. To see a full example of all these behaviors, look at the
72
- `<Combobox>` and `<Select>` component source code as examples.
73
-
74
- <ExampleCodeBlock code={SelectableMenu} />
59
+ > **Accessibility Note**: Icons in menu items do not inherently provide text alternatives to
60
+ > assistive technologies. However, in most cases, icons are used decoratively alongside text labels,
61
+ > and additional text alternatives are not necessary since the menu item text itself provides the
62
+ > accessible name.
75
63
 
76
64
  ### Grouping
77
65
 
@@ -84,6 +72,14 @@ and are not selectable with the keyboard or mouse.
84
72
 
85
73
  <ExampleCodeBlock code={Grouping} />
86
74
 
75
+ > **Accessibility Note**: Menu groups use `role="group"` with appropriate labeling to provide
76
+ > semantic structure for assistive technologies. When navigating through grouped menu items, screen
77
+ > readers will announce the group label when users enter a new group, providing important context
78
+ > about the organization of the menu. Group headers are not part of the keyboard navigation
79
+ > sequence, allowing users to efficiently move between actionable menu items. This semantic grouping
80
+ > helps all users, including those using assistive technologies, understand the hierarchy and
81
+ > categorization of menu options.
82
+
87
83
  ### Nested
88
84
 
89
85
  Menus support nesting. If you only have a few items and not very many nesting levels, the menu can
@@ -94,6 +90,10 @@ indicate this dual role.
94
90
 
95
91
  <ExampleCodeBlock code={Nested} />
96
92
 
93
+ > **Accessibility Note**: When a menu item has an attached submenu, the `<Menu.Submenu.TargetItem>`
94
+ > includes `aria-haspopup="true"` and `aria-expanded={true | false}` properties. These properties
95
+ > will alert screen reader users to the available submenu systems.
96
+
97
97
  ### Nested Dynamic Items
98
98
 
99
99
  Menu nesting is simpler with the dynamic API. In this example, a `renderItem` function is defined to
@@ -106,7 +106,45 @@ submenus.
106
106
 
107
107
  ## Accessibility
108
108
 
109
- This content is coming soon!
109
+ Our Menu component is based on the Menu Button pattern on the ARIA Authoring Practices Guide from
110
+ the W3C and relies on the roving tabindex technique for managing focus within the opened menu. This
111
+ means that the minimum requirements for screen reader support and keyboard navigation are included
112
+ in the component.
113
+
114
+ [Menu Button Pattern | APG | WAI | W3C](https://www.w3.org/WAI/ARIA/apg/patterns/menu-button/)
115
+
116
+ - The `<Menu.Target>` sub-component uses `aria-haspopup="true"` and `aria-expanded={true | false}`
117
+ properties. This benefits screen reader users by indicating when a button element has an attached
118
+ menu.
119
+ - The `<Menu.List>` sub-component uses `role="menu"` and `<Menu.Item>` uses `role="menuitem"` ARIA
120
+ roles. These roles allow screen readers to pass through arrow key events to the web application.
121
+ - The `<Menu.List>` sub-component includes an `aria-labelledby` ID reference to the `<Menu.Target>`
122
+ sub-component. This assigns a label to the menu for context.
123
+
124
+ ### Navigation
125
+
126
+ - **Enter or Space**: When focused on the menu button, opens the menu and moves focus to the first
127
+ menu item. When focused on a menu item, activates the item and closes the menu
128
+ - **Escape**: Closes the menu and returns focus to the menu button
129
+ - **Up & Down Arrow**: Moves focus up and down the menu items
130
+ - **Home & End**: Moves focus to the first or last menu item
131
+ - **Right & Left Arrow**: When focused on a menu item with a submenu, opens the submenu and moves
132
+ focus to the first item in the submenu or closes the submenu and returns focus to the parent menu
133
+ item
134
+
135
+ ### Screen Reader Experience
136
+
137
+ - The menu button will be announced with its label text followed by the button role, a notification
138
+ that it has a popup menu, and the current state of the menu (For example: "Actions, button, menu
139
+ popup, collapsed")
140
+ - **Opening the Menu:** When the menu button is activated, screen readers will announce the menu
141
+ opening, the number of menu items available, and the currently focused item (For example:
142
+ "Actions, menu, First Action, menu item, 1 of 4.")
143
+ - **Navigating Menu Items:** As focus moves between menu items, screen readers will announce the
144
+ item name and its position in the list (For example: "Second Action, menu item, 2 of 4.")
145
+ - **Menu Items with Submenus:** When focused on a menu item that has a submenu, screen readers will
146
+ announce that it has a submenu and provide the expanded/collapsed state (For example: "More
147
+ Actions, menu item, has submenu, collapsed, 3 of 4.")
110
148
 
111
149
  ## Component API
112
150
 
@@ -114,4 +152,4 @@ This content is coming soon!
114
152
 
115
153
  ## Specifications
116
154
 
117
- <Specifications file="Menu.spec.ts" name="Menu" />
155
+ <Specifications file="./cypress/component/Menu.spec.tsx" name="Menu" />
@@ -1,12 +1,13 @@
1
1
  import React from 'react';
2
+
3
+ import {Menu} from '@workday/canvas-kit-react/menu';
4
+ import {BodyText} from '@workday/canvas-kit-react/text';
2
5
  import {
3
- setupIcon,
4
- uploadCloudIcon,
6
+ bookUserIcon,
7
+ cloudArrowUpIcon,
8
+ configureIcon,
5
9
  userIcon,
6
- taskContactIcon,
7
10
  } from '@workday/canvas-system-icons-web';
8
- import {Menu} from '@workday/canvas-kit-react/menu';
9
- import {BodyText} from '@workday/canvas-kit-react/text';
10
11
 
11
12
  export default () => {
12
13
  const [selected, setSelected] = React.useState('');
@@ -17,17 +18,17 @@ export default () => {
17
18
  <Menu.Card>
18
19
  <Menu.List>
19
20
  <Menu.Item data-text="First Item">
20
- <Menu.Item.Icon icon={uploadCloudIcon} />
21
+ <Menu.Item.Icon icon={cloudArrowUpIcon} />
21
22
  <Menu.Item.Text>First Item</Menu.Item.Text>
22
23
  </Menu.Item>
23
24
  <Menu.Item data-text="Second Item (with a really really really long label)">
24
- <Menu.Item.Icon icon={setupIcon} />
25
+ <Menu.Item.Icon icon={configureIcon} />
25
26
  <Menu.Item.Text>Second Item (with a really really really long label)</Menu.Item.Text>
26
27
  </Menu.Item>
27
28
  <Menu.Item aria-disabled data-text="Third Item">
28
- <Menu.Item.Icon icon={uploadCloudIcon} />
29
+ <Menu.Item.Icon icon={cloudArrowUpIcon} />
29
30
  <Menu.Item.Text>Third Item</Menu.Item.Text>
30
- <Menu.Item.Icon icon={taskContactIcon} />
31
+ <Menu.Item.Icon icon={bookUserIcon} />
31
32
  </Menu.Item>
32
33
  <Menu.Item data-text="User">
33
34
  <Menu.Item.Icon icon={userIcon} />
@@ -35,7 +36,7 @@ export default () => {
35
36
  </Menu.Item>
36
37
  <Menu.Divider />
37
38
  <Menu.Item data-text="Fifth Item (with divider)">
38
- <Menu.Item.Icon icon={taskContactIcon} />
39
+ <Menu.Item.Icon icon={bookUserIcon} />
39
40
  <Menu.Item.Text>Fifth Item (with divider)</Menu.Item.Text>
40
41
  </Menu.Item>
41
42
  </Menu.List>
@@ -1,9 +1,11 @@
1
1
  import React from 'react';
2
- import {PopperController} from '../../../../../utils/storybook';
3
- import {Placement} from '@workday/canvas-kit-react/popup';
2
+
3
+ import {Flex} from '@workday/canvas-kit-react/layout';
4
4
  import {Menu} from '@workday/canvas-kit-react/menu';
5
+ import {Placement} from '@workday/canvas-kit-react/popup';
5
6
  import {BodyText} from '@workday/canvas-kit-react/text';
6
- import {Flex} from '@workday/canvas-kit-react/layout';
7
+
8
+ import {PopperController} from '../../../../../utils/storybook';
7
9
 
8
10
  export default () => {
9
11
  const [placement, setPlacement] = React.useState<Placement>('top');
@@ -1,5 +1,4 @@
1
1
  import React from 'react';
2
- import {chevronRightSmallIcon} from '@workday/canvas-system-icons-web';
3
2
 
4
3
  import {Menu} from '@workday/canvas-kit-react/menu';
5
4
  import {BodyText} from '@workday/canvas-kit-react/text';
@@ -97,7 +97,7 @@ export default () => {
97
97
  <Menu.List>{renderItem}</Menu.List>
98
98
  </Menu.Card>
99
99
  </Menu.Popper>
100
- <BodyText size="small" cs={{marginBlockStart: system.space.x4}}>
100
+ <BodyText size="small" cs={{marginTop: system.gap.md}}>
101
101
  Selected: <span data-testid="output">{selected}</span>
102
102
  </BodyText>
103
103
  </Menu>
@@ -3,14 +3,25 @@ import React from 'react';
3
3
  import {Menu} from '@workday/canvas-kit-react/menu';
4
4
  import {BodyText} from '@workday/canvas-kit-react/text';
5
5
 
6
+ /**
7
+ * The `Menu.Item` renders a `role=menuitem` element, and `aria-selected` is not a valid attribute for
8
+ * the `menuitem` role, so it cannot have a selected state. If you wish your menu to have selectable
9
+ * menu items, use `Menu.Option` instead of `Menu.Item`. This is meant to be used when overriding the
10
+ * default role of the `Menu.List` to `listbox`. This example uses `Menu.Option` to show what the
11
+ * checkmark looks like, but the example is not keyboard or screen reader accessible. There are many
12
+ * other behaviors that need to be composed into the `Menu.Target` and `Menu.List` components and the
13
+ * behaviors depend on many other things. To see a full example of all these behaviors, look at the
14
+ * `<Combobox>` and `<Select>` component source code as examples.
15
+ */
16
+
6
17
  export default () => {
7
18
  const [selected, setSelected] = React.useState('');
8
19
  return (
9
20
  <Menu onSelect={data => setSelected(data.id)}>
10
21
  <Menu.Target>Open Menu</Menu.Target>
11
22
  <Menu.Popper>
12
- <Menu.Card role="listbox">
13
- <Menu.List as="ul">
23
+ <Menu.Card>
24
+ <Menu.List role="listbox">
14
25
  <Menu.Option>First Item</Menu.Option>
15
26
  <Menu.Option>Second Item</Menu.Option>
16
27
  <Menu.Divider />
@@ -1,21 +1,25 @@
1
- import {ExampleCodeBlock, SymbolDoc, Specifications} from '@workday/canvas-kit-docs';
2
-
1
+ import {ExampleCodeBlock, Specifications, SymbolDoc} from '@workday/canvas-kit-docs';
3
2
  import Basic from './examples/Basic';
4
- import WithoutCloseIcon from './examples/WithoutCloseIcon';
3
+ import BodyOverflow from './examples/BodyOverflow';
5
4
  import CustomFocus from './examples/CustomFocus';
6
- import ReturnFocus from './examples/ReturnFocus';
7
5
  import CustomTarget from './examples/CustomTarget';
8
- import BodyOverflow from './examples/BodyOverflow';
9
- import FullOverflow from './examples/FullOverflow';
10
6
  import FormModal from './examples/FormModal';
7
+ import FullOverflow from './examples/FullOverflow';
8
+ import ReturnFocus from './examples/ReturnFocus';
9
+ import WithoutCloseIcon from './examples/WithoutCloseIcon';
10
+
11
11
 
12
12
  # Canvas Kit Modal
13
13
 
14
14
  A Modal component is a type of Dialog that renders a translucent overlay that prevents user
15
15
  interaction with the rest of the page. A Modal will render the rest of the page inert until the
16
- Modal is dismissed. A Modal should be used when the user needs to presented with important
16
+ Modal is dismissed. A Modal should be used when the user needs to be presented with important
17
17
  information that must be interacted with before continuing interaction with the rest of the page.
18
18
 
19
+ For tasks that do not require blocking the rest of the page, consider the non-modal
20
+ [**Dialog**](https://workday.github.io/canvas-kit/?path=/docs/components-popups-dialog--docs)
21
+ component instead.
22
+
19
23
  ## Installation
20
24
 
21
25
  ```sh
@@ -34,7 +38,7 @@ dialog.
34
38
  ### Without Close Icon
35
39
 
36
40
  If you wish to remove the close icon button, you can simply omit the `Modal.CloseButton`
37
- subcomponent. If you have a modal dialog that requires the user to accept instead of dismiss though
41
+ subcomponent. If you have a modal dialog that requires the user to accept instead of dismiss through
38
42
  an escape key or clicking outside the modal, you must create a new `PopupModel` without those
39
43
  behaviors and hand that model to the Modal dialog component.
40
44
 
@@ -52,18 +56,29 @@ element receives focus when the modal opens.
52
56
 
53
57
  <ExampleCodeBlock code={CustomFocus} />
54
58
 
59
+ > **Accessibility Note**: When initial focus lands on a control **below** the heading (for example,
60
+ > a text field instead of the close button), give supplementary copy a unique `id` and pass
61
+ > **`aria-describedby`** on **`Modal.Card`** so screen readers can announce both the dialog name and
62
+ > that text. For more examples of custom focus techniques, see
63
+ > [Popup > Initial Focus](https://workday.github.io/canvas-kit/?path=/docs/components-popups-popup--docs#initial-focus).
64
+
55
65
  ### Return Focus
56
66
 
57
- By default, the Modal will return focus to the `Modal.Target` element, but it is possible the Modal
58
- was triggered by an element that won't exist when the modal is closed. An example might be a Modal
59
- that was opened from an Menu item and the act of opening the Modal also closes the Menu, meaning the
60
- Menu item can no longer receive focus. The also probably means the `Modal.Target` component might
61
- not suite your needs. The `Modal.Target` adds both a `ref` and an `onClick`. If you provide a
62
- `returnFocusRef`, you only need to worry about the `onClick`. If you're using a menu, you might need
63
- to use a different callback. Calling `model.events.show()` will show the Modal.
67
+ By default, the Modal will return focus to the `Modal.Target` element. When you open the modal with
68
+ `model.events.show()` (without `Modal.Target`), set **`returnFocusRef`** on the model to the element
69
+ that should receive focus when the modal closes—for example the button that opened it. That covers
70
+ cancel, Escape, and the close icon: focus returns to the control the user activated.
71
+
72
+ If confirming an action **removes** that control from the document (such as deleting the row that
73
+ held the delete button), `returnFocusRef` alone cannot land on a **new** target. The example below
74
+ uses **`useLayoutEffect`** after the list updates to move focus to another row’s delete control, or
75
+ to empty-state text when no files remain.
64
76
 
65
77
  <ExampleCodeBlock code={ReturnFocus} />
66
78
 
79
+ > **Accessibility Note**: After an item is deleted, focus is returned to the next item in the list
80
+ > or to the empty state text when no items remain.
81
+
67
82
  ### Custom Target
68
83
 
69
84
  It is common to have a custom target for your modal. Use the `as` prop to use your custom component.
@@ -79,6 +94,12 @@ requires a `label` prop.
79
94
 
80
95
  <ExampleCodeBlock code={CustomTarget} />
81
96
 
97
+ > **Accessibility Note**: Custom targets must be keyboard focusable, otherwise users will not be
98
+ > able to access the modal. Bear in mind that click handlers only work with the keyboard when
99
+ > applied to HTML `<button>` elements and it is **strongly recommended** to base your custom target
100
+ > on a `<button>` element. Otherwise, you will be required to build in your own custom keyboard
101
+ > event handlers for invoking the modal.
102
+
82
103
  ### Body Content Overflow
83
104
 
84
105
  The Modal automatically handles overflowing content inside the `Modal.Body` element. If contents are
@@ -87,6 +108,11 @@ need to restrict the height of your browser to observe the overflow.
87
108
 
88
109
  <ExampleCodeBlock code={BodyOverflow} />
89
110
 
111
+ > **Accessibility Note**: When body content overflows, ensure users can scroll that region **using
112
+ > only the keyboard**. Mouse users can drag scrollbars, but keyboard users need another path. In
113
+ > this example, **`tabIndex={0}`** is set on **`Modal.Body`** so the scrollable area can receive
114
+ > focus; once focused, **arrow keys** move the viewport within the overflowing content.
115
+
90
116
  ### Full overlay scrolling
91
117
 
92
118
  If content is large, scrolling the entire overlay container is an option. Use the
@@ -105,10 +131,62 @@ hoisted to allow for form validation and allow you to control when the modal clo
105
131
 
106
132
  <ExampleCodeBlock code={FormModal} />
107
133
 
134
+ ## Accessibility
135
+
136
+ `Modal` uses the default modal model (`useModalModel`), which composes **`useInitialFocus`**,
137
+ **`useReturnFocus`**, **`useCloseOnOverlayClick`**, **`useCloseOnEscape`**, **`useFocusTrap`**,
138
+ **`useAssistiveHideSiblings`**, and **`useDisableBodyScroll`**.
139
+
140
+ **`Modal.Card`** exposes **`role="dialog"`** and **`aria-labelledby`** referencing the `id` on
141
+ **`Modal.Heading`**, so the dialog has an accessible name that matches the visible heading. If you
142
+ do not use **`Modal.Heading`**, add an **`aria-label`** on **`Modal.Card`** instead.
143
+
144
+ **`aria-modal`:** The card sets **`aria-modal="false"`**. When **`aria-modal`** is `true`, some
145
+ assistive technologies hide everything outside the dialog—including portaled UI owned by the dialog
146
+ (such as a Select menu rendered as a sibling of the modal). Canvas Kit keeps
147
+ **`aria-modal="false"`** for a better VoiceOver experience while **`useAssistiveHideSiblings`**
148
+ applies **`aria-hidden`** to siblings of the modal stack so background content stays hidden from
149
+ assistive technology while the modal is open.
150
+
151
+ Unlike [**Dialog**](/components/popups/dialog/), Modal does **not** add the sibling **`aria-owns`**
152
+ pattern used to remap reading order for portaled non-modal dialogs. Focus moves into the modal when
153
+ it opens, and sibling hiding reduces exposure to content behind the overlay. For portals, reading
154
+ order, and related tradeoffs, see
155
+ [Guides > Accessibility > Inline Popups](https://workday.github.io/canvas-kit/?path=/docs/guides-accessibility-inline-popups--docs).
156
+
157
+ [Modal Dialog Pattern | APG | WAI | W3C](https://www.w3.org/WAI/ARIA/apg/patterns/dialog-modal/)
158
+
159
+ - Prefer **`Modal.Heading`** so the dialog is properly labelled; avoid leaving a dialog without an
160
+ accessible name.
161
+ - Ensure icon-only controls such as **`Modal.CloseIcon`** include an accessible name. Prefer the
162
+ `Tooltip` component to provide a visible label, or a translated `aria-label` string is acceptable.
163
+
164
+ ### Navigation
165
+
166
+ - **Enter** / **Space**: Open the modal (standard button behavior on the trigger). When it opens,
167
+ focus moves to the **first focusable element** inside the modal in DOM order—often the close
168
+ control—or to the element referenced by **`initialFocusRef`** on the model when set.
169
+ - **Tab** / **Shift + Tab**: Move through focusable elements inside the modal; focus **stays**
170
+ within the modal (**focus trap**).
171
+ - **Escape**: Closes the modal and returns focus to **`Modal.Target`** (or the configured return
172
+ target, such as **`returnFocusRef`**).
173
+
174
+ ### Screen Reader Experience
175
+
176
+ - **When the modal opens:** Screen readers should announce the first focused control (often the
177
+ close button), the dialog's name (**`Modal.Heading`**) and role.
178
+ - **Background content:** Sibling elements of the modal stack receive **`aria-hidden="true"`** while
179
+ the modal is visible, which hides the rest of the page from many assistive technologies. Mouse
180
+ users are blocked by the overlay and inert interaction expectations; always verify behavior in
181
+ your supported browser and screen reader combinations.
182
+ - **Focus trap limits:** Trapping **keyboard** focus does not stop mouse users from interacting
183
+ outside the dialog card, and some screen reader users can move a virtual cursor outside the
184
+ trapped region. Treat the trap as the primary keyboard affordance, not a hard security boundary.
185
+
108
186
  ## Component API
109
187
 
110
188
  <SymbolDoc name="Modal" fileName="/react/" />
111
189
 
112
190
  ## Specifications
113
191
 
114
- <Specifications file="Modal.spec.ts" name="Modal" />
192
+ <Specifications file="./cypress/component/Modal.spec.tsx" name="Modal" />
@@ -1,6 +1,7 @@
1
- import {Modal} from '@workday/canvas-kit-react/modal';
2
1
  import {PrimaryButton} from '@workday/canvas-kit-react/button';
3
- import {Flex, Box} from '@workday/canvas-kit-react/layout';
2
+ import {Box, Flex} from '@workday/canvas-kit-react/layout';
3
+ import {Modal} from '@workday/canvas-kit-react/modal';
4
+ import {system} from '@workday/canvas-tokens-web';
4
5
 
5
6
  export default () => {
6
7
  const handleAcknowledge = () => {
@@ -19,12 +20,12 @@ export default () => {
19
20
  <Modal.CloseIcon aria-label="Close" />
20
21
  <Modal.Heading>MIT License</Modal.Heading>
21
22
  <Modal.Body>
22
- <Box as="p" marginY="zero">
23
+ <Box as="p" cs={{marginBlock: '0'}}>
23
24
  Permission is hereby granted, free of charge, to any person obtaining a copy of this
24
25
  software and associated documentation files (the "Software").
25
26
  </Box>
26
27
  </Modal.Body>
27
- <Flex gap="s" padding="xxs">
28
+ <Flex cs={{gap: system.gap.sm, paddingBlock: system.padding.xxs}}>
28
29
  <Modal.CloseButton as={PrimaryButton} onClick={handleAcknowledge}>
29
30
  Acknowledge
30
31
  </Modal.CloseButton>
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
2
 
3
- import {Modal} from '@workday/canvas-kit-react/modal';
4
3
  import {PrimaryButton} from '@workday/canvas-kit-react/button';
5
4
  import {Flex} from '@workday/canvas-kit-react/layout';
5
+ import {Modal} from '@workday/canvas-kit-react/modal';
6
6
 
7
7
  export default () => {
8
8
  const handleAcknowledge = () => {
@@ -1,10 +1,11 @@
1
1
  import React from 'react';
2
- import {Modal, useModalModel} from '@workday/canvas-kit-react/modal';
2
+
3
3
  import {PrimaryButton} from '@workday/canvas-kit-react/button';
4
+ import {useUniqueId} from '@workday/canvas-kit-react/common';
4
5
  import {FormField} from '@workday/canvas-kit-react/form-field';
6
+ import {Box, Flex} from '@workday/canvas-kit-react/layout';
7
+ import {Modal, useModalModel} from '@workday/canvas-kit-react/modal';
5
8
  import {TextInput} from '@workday/canvas-kit-react/text-input';
6
- import {Flex, Box} from '@workday/canvas-kit-react/layout';
7
- import {useUniqueId} from '@workday/canvas-kit-react/common';
8
9
 
9
10
  export default () => {
10
11
  const longDescID = useUniqueId();
@@ -1,11 +1,21 @@
1
1
  import React from 'react';
2
2
 
3
- import {Modal, useModalModel} from '@workday/canvas-kit-react/modal';
4
3
  import {PrimaryButton} from '@workday/canvas-kit-react/button';
5
- import {Flex} from '@workday/canvas-kit-react/layout';
6
4
  import {FormField} from '@workday/canvas-kit-react/form-field';
5
+ import {Flex} from '@workday/canvas-kit-react/layout';
6
+ import {Modal, useModalModel} from '@workday/canvas-kit-react/modal';
7
+ import {Select} from '@workday/canvas-kit-react/select';
7
8
  import {TextInput} from '@workday/canvas-kit-react/text-input';
9
+ import {createStyles} from '@workday/canvas-kit-styling';
8
10
  import {plusIcon} from '@workday/canvas-system-icons-web';
11
+ import {system} from '@workday/canvas-tokens-web';
12
+
13
+ const FAVORITE_COLOR_OPTIONS = ['Blue', 'Yellow'];
14
+
15
+ const flexStyles = createStyles({
16
+ gap: system.gap.md,
17
+ padding: system.padding.xs,
18
+ });
9
19
 
10
20
  export default () => {
11
21
  const model = useModalModel();
@@ -18,6 +28,8 @@ export default () => {
18
28
  console.log('form data', {
19
29
  first: (event.currentTarget.elements.namedItem('first') as HTMLInputElement).value,
20
30
  last: (event.currentTarget.elements.namedItem('last') as HTMLInputElement).value,
31
+ favoriteColor: (event.currentTarget.elements.namedItem('favoriteColor') as HTMLInputElement)
32
+ .value,
21
33
  });
22
34
 
23
35
  // if it looks good, submit to the server and close the modal
@@ -40,8 +52,21 @@ export default () => {
40
52
  <FormField.Label>Last Name</FormField.Label>
41
53
  <FormField.Input as={TextInput} name="last" />
42
54
  </FormField>
55
+ <FormField>
56
+ <FormField.Label>Favorite Color</FormField.Label>
57
+ <FormField.Field>
58
+ <Select items={FAVORITE_COLOR_OPTIONS}>
59
+ <FormField.Input as={Select.Input} name="favoriteColor" />
60
+ <Select.Popper>
61
+ <Select.Card>
62
+ <Select.List>{item => <Select.Item>{item}</Select.Item>}</Select.List>
63
+ </Select.Card>
64
+ </Select.Popper>
65
+ </Select>
66
+ </FormField.Field>
67
+ </FormField>
43
68
  </Modal.Body>
44
- <Flex gap="s" padding="xxs">
69
+ <Flex cs={flexStyles}>
45
70
  <Modal.CloseButton>Cancel</Modal.CloseButton>
46
71
  <PrimaryButton type="submit">Submit</PrimaryButton>
47
72
  </Flex>
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
2
 
3
- import {Modal} from '@workday/canvas-kit-react/modal';
4
3
  import {PrimaryButton} from '@workday/canvas-kit-react/button';
5
4
  import {Flex} from '@workday/canvas-kit-react/layout';
5
+ import {Modal} from '@workday/canvas-kit-react/modal';
6
6
 
7
7
  export default () => {
8
8
  const handleAcknowledge = () => {
@@ -1,6 +1,6 @@
1
- import {Modal} from '@workday/canvas-kit-react/modal';
2
1
  import {DeleteButton} from '@workday/canvas-kit-react/button';
3
2
  import {Flex} from '@workday/canvas-kit-react/layout';
3
+ import {Modal} from '@workday/canvas-kit-react/modal';
4
4
 
5
5
  export default () => {
6
6
  return (