@workday/canvas-kit-docs 12.0.0-alpha.862-next.0 → 12.0.0-alpha.899-next.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 (434) hide show
  1. package/dist/es6/docgen/docParser.d.ts +1 -1
  2. package/dist/es6/docgen/docParser.d.ts.map +1 -1
  3. package/dist/es6/docgen/docParser.js +12 -2
  4. package/dist/es6/docgen/docTypes.d.ts +1 -1
  5. package/dist/es6/docgen/docTypes.d.ts.map +1 -1
  6. package/dist/es6/docgen/plugins/enhancedComponentParser.d.ts +1 -1
  7. package/dist/es6/docgen/plugins/enhancedComponentParser.d.ts.map +1 -1
  8. package/dist/es6/docgen/traverse.d.ts +2 -2
  9. package/dist/es6/docgen/traverse.d.ts.map +1 -1
  10. package/dist/es6/index.d.ts +1 -0
  11. package/dist/es6/index.d.ts.map +1 -1
  12. package/dist/es6/index.js +1 -0
  13. package/dist/es6/lib/ExampleCodeBlock.d.ts +3 -0
  14. package/dist/es6/lib/ExampleCodeBlock.d.ts.map +1 -0
  15. package/dist/es6/lib/ExampleCodeBlock.js +93 -0
  16. package/dist/es6/lib/InformationHighlight/Base.js +1 -1
  17. package/dist/es6/lib/InformationHighlight/Body.js +1 -1
  18. package/dist/es6/lib/InformationHighlight/Heading.js +1 -1
  19. package/dist/es6/lib/InformationHighlight/Icon.d.ts +1 -1
  20. package/dist/es6/lib/InformationHighlight/Icon.d.ts.map +1 -1
  21. package/dist/es6/lib/InformationHighlight/Icon.js +1 -1
  22. package/dist/es6/lib/InformationHighlight/Link.js +1 -1
  23. package/dist/es6/lib/InformationHighlight/index.d.ts +1 -1
  24. package/dist/es6/lib/InformationHighlight/index.d.ts.map +1 -1
  25. package/dist/es6/lib/InformationHighlight/index.js +1 -1
  26. package/dist/es6/lib/InformationHighlight/modelHook.d.ts +1 -1
  27. package/dist/es6/lib/InformationHighlight/modelHook.d.ts.map +1 -1
  28. package/dist/es6/lib/MDXElements.d.ts +2 -1
  29. package/dist/es6/lib/MDXElements.d.ts.map +1 -1
  30. package/dist/es6/lib/MDXElements.js +1 -1
  31. package/dist/es6/lib/MoreTooltip.d.ts +1 -1
  32. package/dist/es6/lib/MoreTooltip.d.ts.map +1 -1
  33. package/dist/es6/lib/MoreTooltip.js +2 -2
  34. package/dist/es6/lib/Specifications.d.ts +2 -1
  35. package/dist/es6/lib/Specifications.d.ts.map +1 -1
  36. package/dist/es6/lib/StylePropsTable.d.ts +3 -2
  37. package/dist/es6/lib/StylePropsTable.d.ts.map +1 -1
  38. package/dist/es6/lib/Table.js +6 -6
  39. package/dist/es6/lib/Value.d.ts +3 -3
  40. package/dist/es6/lib/Value.d.ts.map +1 -1
  41. package/dist/es6/lib/Value.js +4 -2
  42. package/dist/es6/lib/docs.d.ts +3 -3
  43. package/dist/es6/lib/docs.d.ts.map +1 -1
  44. package/dist/es6/lib/docs.js +76923 -72365
  45. package/dist/es6/lib/specs.js +1 -7130
  46. package/dist/es6/lib/widgetUtils.d.ts +5 -5
  47. package/dist/es6/lib/widgetUtils.d.ts.map +1 -1
  48. package/dist/es6/lib/widgetUtils.js +2 -2
  49. package/dist/es6/mdx/installBlock.d.ts +2 -1
  50. package/dist/es6/mdx/installBlock.d.ts.map +1 -1
  51. package/dist/es6/mdx/style-props/examples/Background.d.ts +2 -1
  52. package/dist/es6/mdx/style-props/examples/Background.d.ts.map +1 -1
  53. package/dist/es6/mdx/style-props/examples/Background.js +6 -4
  54. package/dist/es6/mdx/style-props/examples/Border.d.ts +2 -1
  55. package/dist/es6/mdx/style-props/examples/Border.d.ts.map +1 -1
  56. package/dist/es6/mdx/style-props/examples/Border.js +4 -4
  57. package/dist/es6/mdx/style-props/examples/Color.d.ts +2 -1
  58. package/dist/es6/mdx/style-props/examples/Color.d.ts.map +1 -1
  59. package/dist/es6/mdx/style-props/examples/Color.js +4 -4
  60. package/dist/es6/mdx/style-props/examples/Depth.d.ts +2 -1
  61. package/dist/es6/mdx/style-props/examples/Depth.d.ts.map +1 -1
  62. package/dist/es6/mdx/style-props/examples/Depth.js +4 -4
  63. package/dist/es6/mdx/style-props/examples/Flex.d.ts +2 -1
  64. package/dist/es6/mdx/style-props/examples/Flex.d.ts.map +1 -1
  65. package/dist/es6/mdx/style-props/examples/Flex.js +9 -9
  66. package/dist/es6/mdx/style-props/examples/FlexItem.d.ts +2 -1
  67. package/dist/es6/mdx/style-props/examples/FlexItem.d.ts.map +1 -1
  68. package/dist/es6/mdx/style-props/examples/FlexItem.js +9 -9
  69. package/dist/es6/mdx/style-props/examples/Grid.d.ts +2 -1
  70. package/dist/es6/mdx/style-props/examples/Grid.d.ts.map +1 -1
  71. package/dist/es6/mdx/style-props/examples/Grid.js +4 -4
  72. package/dist/es6/mdx/style-props/examples/GridItem.d.ts +2 -1
  73. package/dist/es6/mdx/style-props/examples/GridItem.d.ts.map +1 -1
  74. package/dist/es6/mdx/style-props/examples/GridItem.js +5 -5
  75. package/dist/es6/mdx/style-props/examples/Layout.d.ts +2 -1
  76. package/dist/es6/mdx/style-props/examples/Layout.d.ts.map +1 -1
  77. package/dist/es6/mdx/style-props/examples/Layout.js +4 -4
  78. package/dist/es6/mdx/style-props/examples/Other.d.ts +2 -1
  79. package/dist/es6/mdx/style-props/examples/Other.d.ts.map +1 -1
  80. package/dist/es6/mdx/style-props/examples/Other.js +4 -4
  81. package/dist/es6/mdx/style-props/examples/Position.d.ts +2 -1
  82. package/dist/es6/mdx/style-props/examples/Position.d.ts.map +1 -1
  83. package/dist/es6/mdx/style-props/examples/Position.js +4 -4
  84. package/dist/es6/mdx/style-props/examples/Space.d.ts +2 -1
  85. package/dist/es6/mdx/style-props/examples/Space.d.ts.map +1 -1
  86. package/dist/es6/mdx/style-props/examples/Space.js +4 -4
  87. package/dist/es6/mdx/style-props/examples/Text.d.ts +2 -1
  88. package/dist/es6/mdx/style-props/examples/Text.d.ts.map +1 -1
  89. package/dist/es6/mdx/style-props/examples/Text.js +1 -1
  90. package/dist/es6/mdx/versionsTable.d.ts +2 -1
  91. package/dist/es6/mdx/versionsTable.d.ts.map +1 -1
  92. package/dist/es6/mdx/welcomePage.d.ts +2 -1
  93. package/dist/es6/mdx/welcomePage.d.ts.map +1 -1
  94. package/dist/es6/mdx/welcomePage.js +5 -3
  95. package/dist/mdx/11.0-UPGRADE-GUIDE.mdx +8 -8
  96. package/dist/mdx/12.0-UPGRADE-GUIDE.mdx +350 -39
  97. package/dist/mdx/4.0-UPGRADE-GUIDE.mdx +1 -11
  98. package/dist/mdx/5.0-UPGRADE-GUIDE.mdx +0 -10
  99. package/dist/mdx/6.0-UPGRADE-GUIDE.mdx +0 -10
  100. package/dist/mdx/7.0-UPGRADE-GUIDE.mdx +0 -10
  101. package/dist/mdx/8.0-UPGRADE-GUIDE.mdx +0 -10
  102. package/dist/mdx/API_PATTERN_GUIDELINES.mdx +0 -10
  103. package/dist/mdx/COMPOUND_COMPONENTS.mdx +0 -10
  104. package/dist/mdx/CONTRIBUTING.mdx +0 -10
  105. package/dist/mdx/CREATING_COMPOUND_COMPONENTS.mdx +0 -10
  106. package/dist/mdx/DOCUMENTATION_GUIDELINES.mdx +20 -22
  107. package/dist/mdx/GETTING_STARTED.mdx +0 -9
  108. package/dist/mdx/MAINTAINING.mdx +12 -20
  109. package/dist/mdx/TESTING.mdx +1 -26
  110. package/dist/mdx/changelog.mdx +5 -0
  111. package/dist/mdx/labs-react/combobox/Combobox.mdx +52 -0
  112. package/dist/mdx/labs-react/combobox/examples/Basic.tsx +87 -0
  113. package/dist/mdx/labs-react/combobox/examples/DisabledItem.tsx +87 -0
  114. package/dist/mdx/labs-react/combobox/examples/GroupOfResult.tsx +87 -0
  115. package/dist/mdx/labs-react/combobox/examples/Grow.tsx +87 -0
  116. package/dist/mdx/labs-react/combobox/examples/NoClearButton.tsx +87 -0
  117. package/dist/mdx/labs-react/combobox/examples/RTL.tsx +90 -0
  118. package/dist/mdx/labs-react/expandable/Expandable.mdx +1 -3
  119. package/dist/mdx/labs-react/search-form/SearchForm.mdx +1 -4
  120. package/dist/mdx/preview-react/_examples/mdx/Forms.mdx +9 -0
  121. package/dist/mdx/preview-react/_examples/mdx/FormsWithFormik.mdx +14 -0
  122. package/dist/mdx/preview-react/_examples/{examples → mdx/examples}/SelectWithFormik.tsx +1 -5
  123. package/dist/mdx/preview-react/_examples/{examples → mdx/examples}/TextInputWithReactHookForm.tsx +2 -1
  124. package/dist/mdx/preview-react/divider/Divider.mdx +36 -0
  125. package/dist/mdx/preview-react/divider/examples/Basic.tsx +105 -0
  126. package/dist/mdx/preview-react/divider/examples/CustomSpace.tsx +32 -0
  127. package/dist/mdx/preview-react/loading-sparkles/LoadingSparkles.mdx +1 -2
  128. package/dist/mdx/preview-react/menu/Menu.mdx +2 -9
  129. package/dist/mdx/preview-react/pill/Pill.mdx +1 -3
  130. package/dist/mdx/preview-react/radio/Radio.mdx +1 -3
  131. package/dist/mdx/preview-react/radio/examples/Alert.tsx +26 -11
  132. package/dist/mdx/preview-react/radio/examples/Basic.tsx +29 -19
  133. package/dist/mdx/preview-react/radio/examples/Custom.tsx +32 -30
  134. package/dist/mdx/preview-react/radio/examples/Disabled.tsx +25 -12
  135. package/dist/mdx/preview-react/radio/examples/Error.tsx +26 -11
  136. package/dist/mdx/preview-react/radio/examples/Inverse.tsx +14 -18
  137. package/dist/mdx/preview-react/radio/examples/LabelPosition.tsx +25 -10
  138. package/dist/mdx/preview-react/radio/examples/NoValue.tsx +23 -10
  139. package/dist/mdx/preview-react/radio/examples/RefForwarding.tsx +17 -11
  140. package/dist/mdx/preview-react/radio/examples/Required.tsx +19 -11
  141. package/dist/mdx/preview-react/radio/examples/StandaloneRadio.tsx +6 -6
  142. package/dist/mdx/preview-react/segmented-control/SegmentedControl.mdx +1 -4
  143. package/dist/mdx/preview-react/select/Select.mdx +89 -0
  144. package/dist/mdx/preview-react/select/examples/Left Label/AlertLeft.tsx +18 -0
  145. package/dist/mdx/preview-react/select/examples/Left Label/DefaultLeft.tsx +17 -0
  146. package/dist/mdx/preview-react/select/examples/Left Label/DefaultWithCustomOptionsLeft.tsx +25 -0
  147. package/dist/mdx/preview-react/select/examples/Left Label/DefaultWithSimpleOptionsLeft.tsx +17 -0
  148. package/dist/mdx/preview-react/select/examples/Left Label/DisabledLeft.tsx +19 -0
  149. package/dist/mdx/preview-react/select/examples/Left Label/ErrorLeft.tsx +18 -0
  150. package/dist/mdx/preview-react/select/examples/Left Label/GrowLeft.tsx +17 -0
  151. package/dist/mdx/preview-react/select/examples/Left Label/ScrollableLeft.tsx +17 -0
  152. package/dist/mdx/preview-react/select/examples/Left Label/index.ts +8 -0
  153. package/dist/mdx/preview-react/select/examples/Top Label/Alert.tsx +18 -0
  154. package/dist/mdx/preview-react/select/examples/Top Label/Default.tsx +17 -0
  155. package/dist/mdx/preview-react/select/examples/Top Label/DefaultWithCustomOptions.tsx +25 -0
  156. package/dist/mdx/preview-react/select/examples/Top Label/DefaultWithSimpleOptions.tsx +17 -0
  157. package/dist/mdx/preview-react/select/examples/Top Label/Disabled.tsx +19 -0
  158. package/dist/mdx/preview-react/select/examples/Top Label/Error.tsx +18 -0
  159. package/dist/mdx/preview-react/select/examples/Top Label/Grow.tsx +17 -0
  160. package/dist/mdx/preview-react/select/examples/Top Label/Scrollable.tsx +15 -0
  161. package/dist/mdx/preview-react/select/examples/Top Label/index.ts +8 -0
  162. package/dist/mdx/preview-react/select/examples/storiesData.tsx +93 -0
  163. package/dist/mdx/preview-react/side-panel/SidePanel.mdx +1 -4
  164. package/dist/mdx/preview-react/status-indicator/StatusIndicator.mdx +1 -2
  165. package/dist/mdx/preview-react/text-area/TextArea.mdx +1 -4
  166. package/dist/mdx/preview-react/text-area/examples/Alert.tsx +1 -1
  167. package/dist/mdx/preview-react/text-area/examples/LabelPositionHorizontal.tsx +1 -1
  168. package/dist/mdx/preview-react/text-input/TextInput.mdx +4 -7
  169. package/dist/mdx/preview-react/text-input/examples/LabelPositionHorizontal.tsx +1 -1
  170. package/dist/mdx/react/_examples/{AriaLiveRegions.mdx → mdx/AriaLiveRegions.mdx} +1 -0
  171. package/dist/mdx/react/_examples/{CompoundComponent.mdx → mdx/CompoundComponent.mdx} +2 -0
  172. package/dist/mdx/react/_examples/mdx/CookieBanner.mdx +9 -0
  173. package/dist/mdx/react/_examples/mdx/Density.mdx +11 -0
  174. package/dist/mdx/react/_examples/mdx/Headers.mdx +19 -0
  175. package/dist/mdx/react/_examples/{Layouts.mdx → mdx/Layouts.mdx} +1 -0
  176. package/dist/mdx/react/_examples/{MediaModal.mdx → mdx/MediaModal.mdx} +3 -2
  177. package/dist/mdx/react/_examples/{SearchForm.mdx → mdx/SearchForm.mdx} +1 -0
  178. package/dist/mdx/react/_examples/{SidePanel.mdx → mdx/SidePanel.mdx} +2 -1
  179. package/dist/mdx/react/_examples/{TablesAdvanced.mdx → mdx/TablesAdvanced.mdx} +5 -5
  180. package/dist/mdx/react/_examples/{examples → mdx/examples}/AriaLiveRegions/FilterListWithLiveStatus.tsx +1 -1
  181. package/dist/mdx/react/_examples/{examples → mdx/examples}/AriaLiveRegions/HiddenLiveRegion.tsx +1 -1
  182. package/dist/mdx/react/_examples/{examples → mdx/examples}/AriaLiveRegions/TextInputWithLiveError.tsx +1 -1
  183. package/dist/mdx/react/_examples/{examples → mdx/examples}/AriaLiveRegions/VisibleLiveRegion.tsx +1 -1
  184. package/dist/mdx/react/_examples/mdx/examples/Density.tsx +370 -0
  185. package/dist/mdx/react/_examples/{examples → mdx/examples}/SidePanelWithNavigation.tsx +0 -1
  186. package/dist/mdx/react/_examples/{examples → mdx/examples}/Table/WithExpandableRows.tsx +26 -29
  187. package/dist/mdx/react/_examples/mdx/examples/common/FilterListWithLiveStatus.tsx +65 -0
  188. package/dist/mdx/react/_examples/mdx/examples/common/HiddenLiveRegion.tsx +30 -0
  189. package/dist/mdx/react/_examples/mdx/examples/common/IconButtonsWithLiveBadges.tsx +98 -0
  190. package/dist/mdx/react/_examples/mdx/examples/common/TextInputWithLiveError.tsx +25 -0
  191. package/dist/mdx/react/_examples/mdx/examples/common/VisibleLiveRegion.tsx +40 -0
  192. package/dist/mdx/react/action-bar/ActionBar.mdx +1 -5
  193. package/dist/mdx/react/action-bar/examples/Basic.tsx +12 -10
  194. package/dist/mdx/react/action-bar/examples/OverflowActionBar.tsx +13 -10
  195. package/dist/mdx/react/action-bar/examples/index.ts +5 -0
  196. package/dist/mdx/react/avatar/avatar/Avatar.mdx +12 -10
  197. package/dist/mdx/react/avatar/avatar/examples/Button.tsx +1 -1
  198. package/dist/mdx/react/avatar/avatar/examples/CustomStyles.tsx +2 -2
  199. package/dist/mdx/react/avatar/avatar/examples/Image.tsx +1 -1
  200. package/dist/mdx/react/avatar/avatar/examples/LazyLoad.tsx +1 -1
  201. package/dist/mdx/react/avatar/avatar/examples/test-avatar.png +0 -0
  202. package/dist/mdx/react/badge/CountBadge.mdx +15 -18
  203. package/dist/mdx/react/badge/examples/NotificationBadge.tsx +30 -25
  204. package/dist/mdx/react/banner/Banner.mdx +3 -5
  205. package/dist/mdx/react/breadcrumbs/Breadcrumbs.mdx +1 -5
  206. package/dist/mdx/react/button/button/Button.mdx +6 -1
  207. package/dist/mdx/react/button/button/Hyperlink.mdx +1 -4
  208. package/dist/mdx/react/button/button/examples/CustomStyles.tsx +21 -7
  209. package/dist/mdx/react/button/button/examples/Delete.tsx +1 -1
  210. package/dist/mdx/react/button/button/examples/Primary.tsx +1 -1
  211. package/dist/mdx/react/card/card.mdx +3 -4
  212. package/dist/mdx/react/checkbox/Checkbox.mdx +6 -17
  213. package/dist/mdx/react/checkbox/examples/Alert.tsx +5 -4
  214. package/dist/mdx/react/checkbox/examples/Basic.tsx +14 -1
  215. package/dist/mdx/react/checkbox/examples/Disabled.tsx +13 -6
  216. package/dist/mdx/react/checkbox/examples/Error.tsx +5 -4
  217. package/dist/mdx/react/checkbox/examples/Inverse.tsx +0 -1
  218. package/dist/mdx/react/checkbox/examples/LabelPosition.tsx +11 -9
  219. package/dist/mdx/react/checkbox/examples/RefForwarding.tsx +21 -7
  220. package/dist/mdx/react/checkbox/examples/Required.tsx +10 -8
  221. package/dist/mdx/react/collection/{Collection.mdx → mdx/Collection.mdx} +1 -3
  222. package/dist/mdx/react/color-picker/color-input/ColorInput.mdx +6 -18
  223. package/dist/mdx/react/color-picker/color-input/examples/Alert.tsx +5 -3
  224. package/dist/mdx/react/color-picker/color-input/examples/Basic.tsx +4 -2
  225. package/dist/mdx/react/color-picker/color-input/examples/Checked.tsx +4 -2
  226. package/dist/mdx/react/color-picker/color-input/examples/Disabled.tsx +4 -2
  227. package/dist/mdx/react/color-picker/color-input/examples/Error.tsx +5 -3
  228. package/dist/mdx/react/color-picker/color-input/examples/Grow.tsx +9 -2
  229. package/dist/mdx/react/color-picker/color-input/examples/LabelPosition.tsx +5 -3
  230. package/dist/mdx/react/color-picker/color-input/examples/RefForwarding.tsx +4 -2
  231. package/dist/mdx/react/color-picker/color-input/examples/Required.tsx +4 -2
  232. package/dist/mdx/react/color-picker/color-input/examples/ValidColorChange.tsx +9 -7
  233. package/dist/mdx/react/color-picker/color-preview/ColorPreview.mdx +6 -17
  234. package/dist/mdx/react/color-picker/color-preview/examples/Basic.tsx +9 -1
  235. package/dist/mdx/react/color-picker/color-preview/examples/LabelPosition.tsx +5 -3
  236. package/dist/mdx/react/color-picker/color-preview/examples/RefForwarding.tsx +4 -2
  237. package/dist/mdx/react/combobox/Combobox.mdx +1 -4
  238. package/dist/mdx/react/combobox/examples/Autocomplete.tsx +32 -30
  239. package/dist/mdx/react/common/{CompoundComponentUtilities.mdx → mdx/CompoundComponentUtilities.mdx} +2 -1
  240. package/dist/mdx/react/common/{Responsive.mdx → mdx/Responsive.mdx} +2 -2
  241. package/dist/mdx/react/common/{examples → mdx/examples}/ResponsiveStyles.tsx +1 -1
  242. package/dist/mdx/react/dialog/Dialog.mdx +1 -4
  243. package/dist/mdx/react/dialog/examples/Basic.tsx +1 -1
  244. package/dist/mdx/react/dialog/examples/DialogWithFallbackPlacements.tsx +110 -0
  245. package/dist/mdx/react/dialog/examples/Focus.tsx +1 -1
  246. package/dist/mdx/react/form-field/FormField.mdx +104 -78
  247. package/dist/mdx/react/form-field/examples/Alert.tsx +11 -9
  248. package/dist/mdx/{preview-react → react}/form-field/examples/AllFields.tsx +43 -8
  249. package/dist/mdx/react/form-field/examples/Basic.tsx +9 -4
  250. package/dist/mdx/{preview-react → react}/form-field/examples/Custom.tsx +2 -2
  251. package/dist/mdx/{preview-react → react}/form-field/examples/CustomId.tsx +4 -2
  252. package/dist/mdx/{preview-react → react}/form-field/examples/Disabled.tsx +4 -2
  253. package/dist/mdx/react/form-field/examples/Error.tsx +12 -9
  254. package/dist/mdx/react/form-field/examples/GroupedInputs.tsx +207 -0
  255. package/dist/mdx/react/form-field/examples/Grow.tsx +7 -3
  256. package/dist/mdx/react/form-field/examples/Hint.tsx +11 -8
  257. package/dist/mdx/react/form-field/examples/LabelPositionHorizontalEnd.tsx +32 -0
  258. package/dist/mdx/react/form-field/examples/LabelPositionHorizontalStart.tsx +32 -0
  259. package/dist/mdx/{preview-react → react}/form-field/examples/RefForwarding.tsx +4 -2
  260. package/dist/mdx/react/form-field/examples/Required.tsx +11 -3
  261. package/dist/mdx/{preview-react → react}/form-field/examples/ThemedErrors.tsx +7 -5
  262. package/dist/mdx/react/icon/Assets.mdx +13 -6
  263. package/dist/mdx/react/icon/examples/AccentIconList.tsx +1 -1
  264. package/dist/mdx/react/layout/Box.mdx +1 -3
  265. package/dist/mdx/react/layout/Flex.mdx +8 -7
  266. package/dist/mdx/react/layout/Grid.mdx +2 -4
  267. package/dist/mdx/react/loading-dots/LoadingDots.mdx +1 -3
  268. package/dist/mdx/react/menu/Menu.mdx +1 -4
  269. package/dist/mdx/react/menu/examples/MenuWithFallbackPlacements.tsx +66 -0
  270. package/dist/mdx/react/modal/Modal.mdx +1 -4
  271. package/dist/mdx/react/modal/examples/CustomFocus.tsx +1 -1
  272. package/dist/mdx/react/modal/examples/FormModal.tsx +1 -1
  273. package/dist/mdx/react/modal/examples/IframeTest.tsx +26 -0
  274. package/dist/mdx/react/modal/examples/ModalWithPopup.tsx +66 -0
  275. package/dist/mdx/react/modal/examples/ReturnFocus.tsx +1 -1
  276. package/dist/mdx/react/modal/examples/StackedModals.tsx +56 -0
  277. package/dist/mdx/react/modal/examples/WithRadioButtons.tsx +30 -0
  278. package/dist/mdx/react/modal/examples/WithTooltips.tsx +74 -0
  279. package/dist/mdx/react/pagination/pagination.mdx +1 -5
  280. package/dist/mdx/react/popup/Popup.mdx +30 -6
  281. package/dist/mdx/react/popup/examples/CloseOnTargetHiddenTest.tsx +54 -0
  282. package/dist/mdx/react/popup/examples/ComboboxWithinPopup.tsx +48 -0
  283. package/dist/mdx/react/popup/examples/MixedPopupTypes.tsx +143 -0
  284. package/dist/mdx/react/popup/examples/PopupWithFallbackPlacements.tsx +82 -0
  285. package/dist/mdx/react/popup/examples/PopupWithNonHidablePopup.tsx +42 -0
  286. package/dist/mdx/react/popup/examples/ReturnFocusTest.tsx +68 -0
  287. package/dist/mdx/react/popup/examples/TooltipReturnFocus.tsx +36 -0
  288. package/dist/mdx/react/radio/Radio.mdx +6 -16
  289. package/dist/mdx/react/radio/examples/Alert.tsx +1 -1
  290. package/dist/mdx/react/radio/examples/Basic.tsx +1 -1
  291. package/dist/mdx/react/radio/examples/Disabled.tsx +1 -1
  292. package/dist/mdx/react/radio/examples/Error.tsx +1 -1
  293. package/dist/mdx/react/radio/examples/LabelPosition.tsx +2 -2
  294. package/dist/mdx/react/radio/examples/NoValue.tsx +2 -2
  295. package/dist/mdx/react/radio/examples/RefForwarding.tsx +1 -1
  296. package/dist/mdx/react/radio/examples/Required.tsx +1 -1
  297. package/dist/mdx/react/segmented-control/SegmentedControl.mdx +1 -5
  298. package/dist/mdx/react/select/Select.mdx +18 -28
  299. package/dist/mdx/react/select/examples/Alert.tsx +15 -13
  300. package/dist/mdx/react/select/examples/Basic.tsx +18 -16
  301. package/dist/mdx/react/select/examples/Complex.tsx +14 -12
  302. package/dist/mdx/react/select/examples/Disabled.tsx +21 -19
  303. package/dist/mdx/react/select/examples/DisabledOption.tsx +24 -22
  304. package/dist/mdx/react/select/examples/Error.tsx +21 -19
  305. package/dist/mdx/react/select/examples/FetchingDynamicItems.tsx +23 -19
  306. package/dist/mdx/react/select/examples/Grow.tsx +14 -12
  307. package/dist/mdx/react/select/examples/HoistedModel.tsx +14 -12
  308. package/dist/mdx/react/select/examples/InitialSelectedItem.tsx +18 -15
  309. package/dist/mdx/react/select/examples/LabelPosition.tsx +15 -12
  310. package/dist/mdx/react/select/examples/MenuHeight.tsx +11 -9
  311. package/dist/mdx/react/select/examples/Placeholder.tsx +17 -14
  312. package/dist/mdx/react/select/examples/RefForwarding.tsx +13 -10
  313. package/dist/mdx/react/select/examples/Required.tsx +12 -10
  314. package/dist/mdx/react/select/examples/WithIcons.tsx +25 -23
  315. package/dist/mdx/react/skeleton/Skeleton.mdx +1 -5
  316. package/dist/mdx/react/skeleton/examples/Simulation.tsx +3 -3
  317. package/dist/mdx/react/status-indicator/StatusIndicator.mdx +5 -8
  318. package/dist/mdx/react/switch/Switch.mdx +6 -17
  319. package/dist/mdx/react/switch/examples/Alert.tsx +5 -3
  320. package/dist/mdx/react/switch/examples/Basic.tsx +4 -2
  321. package/dist/mdx/react/switch/examples/Disabled.tsx +4 -2
  322. package/dist/mdx/react/switch/examples/Error.tsx +5 -3
  323. package/dist/mdx/react/switch/examples/LabelPosition.tsx +5 -3
  324. package/dist/mdx/react/switch/examples/RefForwarding.tsx +4 -2
  325. package/dist/mdx/react/table/Table.mdx +1 -4
  326. package/dist/mdx/react/tabs/Tabs.mdx +1 -4
  327. package/dist/mdx/react/testing/Testing.mdx +1 -4
  328. package/dist/mdx/react/text/BodyText.mdx +1 -3
  329. package/dist/mdx/react/text/Heading.mdx +1 -3
  330. package/dist/mdx/react/text/LabelText.mdx +1 -3
  331. package/dist/mdx/react/text/Subtext.mdx +1 -3
  332. package/dist/mdx/react/text/Text.mdx +1 -3
  333. package/dist/mdx/react/text/Title.mdx +1 -3
  334. package/dist/mdx/react/text-area/TextArea.mdx +6 -17
  335. package/dist/mdx/react/text-area/examples/Alert.tsx +5 -3
  336. package/dist/mdx/react/text-area/examples/Basic.tsx +4 -2
  337. package/dist/mdx/react/text-area/examples/Disabled.tsx +4 -2
  338. package/dist/mdx/react/text-area/examples/Error.tsx +5 -3
  339. package/dist/mdx/react/text-area/examples/Grow.tsx +6 -4
  340. package/dist/mdx/react/text-area/examples/LabelPosition.tsx +6 -3
  341. package/dist/mdx/react/text-area/examples/Placeholder.tsx +9 -7
  342. package/dist/mdx/react/text-area/examples/RefForwarding.tsx +4 -2
  343. package/dist/mdx/react/text-area/examples/Required.tsx +4 -2
  344. package/dist/mdx/react/text-area/examples/ResizeConstraints.tsx +9 -7
  345. package/dist/mdx/react/text-input/TextInput.mdx +7 -16
  346. package/dist/mdx/react/text-input/examples/Alert.tsx +5 -3
  347. package/dist/mdx/react/text-input/examples/Basic.tsx +5 -3
  348. package/dist/mdx/react/text-input/examples/Disabled.tsx +4 -2
  349. package/dist/mdx/react/text-input/examples/Error.tsx +5 -3
  350. package/dist/mdx/react/text-input/examples/Grow.tsx +5 -3
  351. package/dist/mdx/react/text-input/examples/Icons.tsx +4 -2
  352. package/dist/mdx/react/text-input/examples/LabelPosition.tsx +6 -3
  353. package/dist/mdx/react/text-input/examples/Placeholder.tsx +9 -7
  354. package/dist/mdx/react/text-input/examples/RefForwarding.tsx +4 -2
  355. package/dist/mdx/react/text-input/examples/Required.tsx +4 -2
  356. package/dist/mdx/react/toast/toast.mdx +5 -6
  357. package/dist/mdx/react/tokens/Tokens.mdx +1 -2
  358. package/dist/mdx/react/tooltip/Tooltip.mdx +1 -5
  359. package/dist/mdx/style-props/STYLE_PROPS.mdx +25 -25
  360. package/dist/mdx/style-props/examples/Background.tsx +15 -22
  361. package/dist/mdx/style-props/examples/Border.tsx +3 -18
  362. package/dist/mdx/style-props/examples/Color.tsx +9 -21
  363. package/dist/mdx/style-props/examples/Flex.tsx +27 -9
  364. package/dist/mdx/style-props/examples/FlexItem.tsx +24 -8
  365. package/dist/mdx/style-props/examples/Position.tsx +1 -1
  366. package/dist/mdx/style-props/examples/Space.tsx +9 -3
  367. package/dist/mdx/welcome.mdx +48 -0
  368. package/index.ts +1 -0
  369. package/lib/ExampleCodeBlock.tsx +134 -0
  370. package/lib/MDXElements.tsx +2 -1
  371. package/lib/Value.tsx +5 -3
  372. package/package.json +9 -8
  373. package/dist/mdx/changelog.stories.mdx +0 -14
  374. package/dist/mdx/preview-react/_examples/SelectWithFormik.mdx +0 -8
  375. package/dist/mdx/preview-react/_examples/TextInputWithFormik.mdx +0 -8
  376. package/dist/mdx/preview-react/_examples/TextInputWithReactHookForm.mdx +0 -8
  377. package/dist/mdx/preview-react/form-field/FormField.mdx +0 -149
  378. package/dist/mdx/preview-react/form-field/examples/Alert.tsx +0 -24
  379. package/dist/mdx/preview-react/form-field/examples/Basic.tsx +0 -21
  380. package/dist/mdx/preview-react/form-field/examples/Error.tsx +0 -25
  381. package/dist/mdx/preview-react/form-field/examples/FieldSet.tsx +0 -29
  382. package/dist/mdx/preview-react/form-field/examples/Grow.tsx +0 -21
  383. package/dist/mdx/preview-react/form-field/examples/Hint.tsx +0 -25
  384. package/dist/mdx/preview-react/form-field/examples/LabelPositionHorizontal.tsx +0 -18
  385. package/dist/mdx/preview-react/form-field/examples/Required.tsx +0 -23
  386. package/dist/mdx/react/_examples/CookieBanner.mdx +0 -8
  387. package/dist/mdx/react/_examples/GlobalHeader.mdx +0 -12
  388. package/dist/mdx/react/_examples/PageHeader.mdx +0 -8
  389. package/dist/mdx/react/form-field/examples/AlertLabel.tsx +0 -23
  390. package/dist/mdx/react/form-field/examples/CustomInputId.tsx +0 -17
  391. package/dist/mdx/react/form-field/examples/ErrorLabel.tsx +0 -23
  392. package/dist/mdx/react/form-field/examples/GroupingInputs.tsx +0 -22
  393. package/dist/mdx/react/form-field/examples/LabelPosition.tsx +0 -17
  394. package/dist/mdx/welcome.stories.mdx +0 -35
  395. /package/dist/mdx/preview-react/_examples/{examples → mdx/examples}/TextInputWithFormik.tsx +0 -0
  396. /package/dist/mdx/react/_examples/{examples → mdx/examples}/AriaLiveRegions/IconButtonsWithLiveBadges.tsx +0 -0
  397. /package/dist/mdx/react/_examples/{examples → mdx/examples}/CookieBanner.tsx +0 -0
  398. /package/dist/mdx/react/_examples/{examples → mdx/examples}/GlobalHeader.tsx +0 -0
  399. /package/dist/mdx/react/_examples/{examples → mdx/examples}/MediaModal.tsx +0 -0
  400. /package/dist/mdx/react/_examples/{examples → mdx/examples}/PageHeader.tsx +0 -0
  401. /package/dist/mdx/react/_examples/{examples → mdx/examples}/SearchFormBasic.tsx +0 -0
  402. /package/dist/mdx/react/_examples/{examples → mdx/examples}/SegmentControlWithText.tsx +0 -0
  403. /package/dist/mdx/react/_examples/{examples → mdx/examples}/SidePanelWithOverlay.tsx +0 -0
  404. /package/dist/mdx/react/_examples/{examples → mdx/examples}/Table/WithSelectableRows.tsx +0 -0
  405. /package/dist/mdx/react/_examples/{examples → mdx/examples}/Table/WithSortableColumnHeaders.tsx +0 -0
  406. /package/dist/mdx/react/_examples/{examples → mdx/examples}/compoundComponent/CustomCard.tsx +0 -0
  407. /package/dist/mdx/react/_examples/{examples → mdx/examples}/layout/AreaColumnPositioning.tsx +0 -0
  408. /package/dist/mdx/react/_examples/{examples → mdx/examples}/layout/CustomColumnPositioning.tsx +0 -0
  409. /package/dist/mdx/react/_examples/{examples → mdx/examples}/layout/CustomColumnWidth.tsx +0 -0
  410. /package/dist/mdx/react/_examples/{examples → mdx/examples}/layout/FullWidthWith3Columns.tsx +0 -0
  411. /package/dist/mdx/react/_examples/{examples → mdx/examples}/layout/FullWidthWith3Columns2Rows.tsx +0 -0
  412. /package/dist/mdx/react/_examples/{examples → mdx/examples}/layout/Masonry.tsx +0 -0
  413. /package/dist/mdx/react/_examples/{examples → mdx/examples}/layout/ResponsiveColumns.tsx +0 -0
  414. /package/dist/mdx/react/_examples/{examples → mdx/examples}/layout/Tiled2and3Columns.tsx +0 -0
  415. /package/dist/mdx/react/_examples/{examples → mdx/examples}/layout/Tiled4and2Columns.tsx +0 -0
  416. /package/dist/mdx/react/collection/{examples → mdx/examples}/Basic.tsx +0 -0
  417. /package/dist/mdx/react/collection/{examples → mdx/examples}/BasicGrid.tsx +0 -0
  418. /package/dist/mdx/react/collection/{examples → mdx/examples}/BasicVirtual.tsx +0 -0
  419. /package/dist/mdx/react/collection/{examples → mdx/examples}/DataLoader.tsx +0 -0
  420. /package/dist/mdx/react/collection/{examples → mdx/examples}/DynamicItemsObjects.tsx +0 -0
  421. /package/dist/mdx/react/collection/{examples → mdx/examples}/DynamicItemsStrings.tsx +0 -0
  422. /package/dist/mdx/react/collection/{examples → mdx/examples}/IdentifiedItems.tsx +0 -0
  423. /package/dist/mdx/react/collection/{examples → mdx/examples}/MultiSelection.tsx +0 -0
  424. /package/dist/mdx/react/collection/{examples → mdx/examples}/RovingFocus.tsx +0 -0
  425. /package/dist/mdx/react/collection/{examples → mdx/examples}/Selection.tsx +0 -0
  426. /package/dist/mdx/react/collection/{examples → mdx/examples}/StringChildren.tsx +0 -0
  427. /package/dist/mdx/react/collection/{examples → mdx/examples}/Virtualization.tsx +0 -0
  428. /package/dist/mdx/react/collection/{examples → mdx/examples}/WrappingGrid.tsx +0 -0
  429. /package/dist/mdx/react/common/{examples → mdx/examples}/CreateComponent.tsx +0 -0
  430. /package/dist/mdx/react/common/{examples → mdx/examples}/CreateContainer.tsx +0 -0
  431. /package/dist/mdx/react/common/{examples → mdx/examples}/CreateElemPropsHook.tsx +0 -0
  432. /package/dist/mdx/react/common/{examples → mdx/examples}/CreateModelHook.tsx +0 -0
  433. /package/dist/mdx/react/common/{examples → mdx/examples}/CreateSubcomponent.tsx +0 -0
  434. /package/dist/mdx/react/common/{examples → mdx/examples}/ResponsiveViewport.tsx +0 -0
@@ -0,0 +1,40 @@
1
+ import React, {useState, useRef} from 'react';
2
+ import {AriaLiveRegion} from '@workday/canvas-kit-react/common';
3
+ import {PrimaryButton} from '@workday/canvas-kit-react/button';
4
+ import {TextInput} from '@workday/canvas-kit-preview-react/text-input';
5
+ import {Flex} from '@workday/canvas-kit-react/layout';
6
+ import {Text} from '@workday/canvas-kit-react/text';
7
+ import {system, base} from '@workday/canvas-tokens-web';
8
+ import {createStyles, px2rem} from '@workday/canvas-kit-styling';
9
+
10
+ const liveRegionStyle = createStyles({
11
+ border: `${px2rem(1)} solid ${base.cantaloupe400}`,
12
+ backgroundColor: base.cantaloupe100,
13
+ padding: system.space.x4,
14
+ display: 'block',
15
+ margin: system.space.x4 + ' 0',
16
+ });
17
+
18
+ export default () => {
19
+ const [message, setMessage] = useState('This is an ARIA Live Region!');
20
+ const inputRef = useRef();
21
+ function handleSendMessage() {
22
+ setMessage(inputRef.current.value);
23
+ inputRef.current.value = '';
24
+ }
25
+
26
+ return (
27
+ <>
28
+ <AriaLiveRegion>
29
+ <Text cs={liveRegionStyle}>{message}</Text>
30
+ </AriaLiveRegion>
31
+ <Flex gap={`var(${system.space.x4})`} alignItems="flex-end">
32
+ <TextInput orientation="vertical">
33
+ <TextInput.Label>Type your message:</TextInput.Label>
34
+ <TextInput.Field ref={inputRef} />
35
+ </TextInput>
36
+ <PrimaryButton onClick={handleSendMessage}>Send Message</PrimaryButton>
37
+ </Flex>
38
+ </>
39
+ );
40
+ };
@@ -1,14 +1,10 @@
1
- import {SymbolDoc, Specifications} from '@workday/canvas-kit-docs';
2
-
3
- import {ActionBar} from '@workday/canvas-kit-react/action-bar';
4
-
1
+ import {ExampleCodeBlock, SymbolDoc} from '@workday/canvas-kit-docs';
5
2
  import Basic from './examples/Basic';
6
3
  import Icons from './examples/Icons';
7
4
  import DeleteAction from './examples/DeleteAction';
8
5
  import OverflowActionBar from './examples/OverflowActionBar';
9
6
  import OverflowActionBarCustomButtonCount from './examples/OverflowActionBarCustomButtonCount';
10
7
 
11
-
12
8
  # Canvas Kit Action Bar
13
9
 
14
10
  Action Bar is a [compound component](/getting-started/for-developers/resources/compound-components/)
@@ -2,13 +2,15 @@ import React from 'react';
2
2
  import {ActionBar} from '@workday/canvas-kit-react/action-bar';
3
3
  import {PrimaryButton} from '@workday/canvas-kit-react/button';
4
4
 
5
- export default () => (
6
- <ActionBar>
7
- <ActionBar.List position="relative" as="section" aria-label="Basic example actions">
8
- <ActionBar.Item as={PrimaryButton} onClick={() => console.log('first action')}>
9
- First Action
10
- </ActionBar.Item>
11
- <ActionBar.Item>Second Action</ActionBar.Item>
12
- </ActionBar.List>
13
- </ActionBar>
14
- );
5
+ export default () => {
6
+ return (
7
+ <ActionBar>
8
+ <ActionBar.List position="relative" as="section" aria-label="Basic example actions">
9
+ <ActionBar.Item as={PrimaryButton} onClick={() => console.log('first action')}>
10
+ First Action
11
+ </ActionBar.Item>
12
+ <ActionBar.Item>Second Action</ActionBar.Item>
13
+ </ActionBar.List>
14
+ </ActionBar>
15
+ );
16
+ };
@@ -54,16 +54,19 @@ export default () => {
54
54
  </ActionBar.Menu.Popper>
55
55
  </ActionBar>
56
56
  </Box>
57
- <hr />
58
- <h4>Change Action Bar container size</h4>
59
- <SegmentedControl onSelect={data => setContainerWidth(data.id)}>
60
- <SegmentedControl.List aria-label="container width control" marginBottom="m">
61
- <SegmentedControl.Item data-id="100%">100%</SegmentedControl.Item>
62
- <SegmentedControl.Item data-id={`${breakpoints.m}px`}>Small</SegmentedControl.Item>
63
- <SegmentedControl.Item data-id="420px">420px</SegmentedControl.Item>
64
- <SegmentedControl.Item data-id={`${breakpoints.s}px`}>Extra Small</SegmentedControl.Item>
65
- </SegmentedControl.List>
66
- </SegmentedControl>
57
+ <footer>
58
+ <h4>Change Action Bar container size</h4>
59
+ <SegmentedControl onSelect={data => setContainerWidth(data.id)}>
60
+ <SegmentedControl.List role="group" aria-label="container width control" marginBottom="m">
61
+ <SegmentedControl.Item data-id="100%">100%</SegmentedControl.Item>
62
+ <SegmentedControl.Item data-id={`${breakpoints.m}px`}>Small</SegmentedControl.Item>
63
+ <SegmentedControl.Item data-id="420px">420px</SegmentedControl.Item>
64
+ <SegmentedControl.Item data-id={`${breakpoints.s}px`}>
65
+ Extra Small
66
+ </SegmentedControl.Item>
67
+ </SegmentedControl.List>
68
+ </SegmentedControl>
69
+ </footer>
67
70
  </div>
68
71
  );
69
72
  };
@@ -0,0 +1,5 @@
1
+ export {Basic} from './Basic';
2
+ export {DeleteAction} from './DeleteAction';
3
+ export {Icons} from './Icons';
4
+ export {OverflowActionBar} from './OverflowActionBar';
5
+ export {OverflowActionBarCustomButtonCount} from './OverflowActionBarCustomButtonCount';
@@ -1,13 +1,15 @@
1
- import {Specifications, SymbolDoc, SymbolDescription} from '@workday/canvas-kit-docs';
2
-
3
- import {Basic} from '../avatar/examples/Basic';
4
- import {Button} from '../avatar/examples/Button';
5
- import {Image} from '../avatar/examples/Image';
6
- import {LazyLoad} from '../avatar/examples/LazyLoad';
7
- import {ObjectFit} from '../avatar/examples/ObjectFit';
8
- import {Size} from '../avatar/examples/Size';
9
- import {Variant} from '../avatar/examples/Variant';
10
- import {CustomStyles} from '../avatar/examples/CustomStyles';
1
+ import {Specifications, SymbolDoc, SymbolDescription, ExampleCodeBlock} from '@workday/canvas-kit-docs';
2
+
3
+ import Basic from './examples/Basic';
4
+ import Button from './examples/Button';
5
+ import Image from './examples/Image';
6
+ import LazyLoad from './examples/LazyLoad';
7
+ import ObjectFit from './examples/ObjectFit';
8
+ import Size from './examples/Size';
9
+ import Variant from './examples/Variant';
10
+ import CustomStyles from './examples/CustomStyles';
11
+
12
+ import * as AvatarStories from './Avatar.stories'
11
13
 
12
14
 
13
15
  # Canvas Kit Avatar
@@ -3,7 +3,7 @@ import {Avatar} from '@workday/canvas-kit-react/avatar';
3
3
  import {createStyles} from '@workday/canvas-kit-styling';
4
4
  import {system} from '@workday/canvas-tokens-web';
5
5
  // @ts-ignore: Cannot find module error
6
- import testAvatar from '../../test-avatar.png';
6
+ import testAvatar from './test-avatar.png';
7
7
 
8
8
  const handleAvatarButtonClick = () => console.log('AvatarButton clicked');
9
9
 
@@ -7,7 +7,7 @@ import {systemIconStencil} from '../../../../icon';
7
7
  const customBlueAvatarStencil = createStencil({
8
8
  base: {
9
9
  backgroundColor: base.berrySmoothie400,
10
- ['[data-slot="avatar-icon"]']: {
10
+ ['[data-part="avatar-icon"]']: {
11
11
  [systemIconStencil.vars.color]: base.berrySmoothie100,
12
12
  },
13
13
  },
@@ -16,7 +16,7 @@ const customBlueAvatarStencil = createStencil({
16
16
  const customGreenAvatarStencil = createStencil({
17
17
  base: {
18
18
  backgroundColor: base.watermelon400,
19
- ['[data-slot="avatar-icon"]']: {
19
+ ['[data-part="avatar-icon"]']: {
20
20
  [systemIconStencil.vars.color]: base.watermelon100,
21
21
  },
22
22
  },
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import {Avatar} from '@workday/canvas-kit-react/avatar';
3
3
  // @ts-ignore: Cannot find module error
4
- import testAvatar from '../../test-avatar.png';
4
+ import testAvatar from './test-avatar.png';
5
5
  import {createStyles} from '@workday/canvas-kit-styling';
6
6
  import {system} from '@workday/canvas-tokens-web';
7
7
 
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import {Avatar} from '@workday/canvas-kit-react/avatar';
3
3
  // @ts-ignore: Cannot find module error
4
- import testAvatar from '../../test-avatar.png';
4
+ import testAvatar from './test-avatar.png';
5
5
 
6
6
  export default () => (
7
7
  <div className="story">
@@ -1,6 +1,4 @@
1
- import {SymbolDoc} from '@workday/canvas-kit-docs';
2
-
3
- import {CountBadge} from '@workday/canvas-kit-react/badge';
1
+ import {ExampleCodeBlock, SymbolDoc} from '@workday/canvas-kit-docs';
4
2
 
5
3
  import Basic from './examples/Basic';
6
4
  import CustomLimit from './examples/CustomLimit';
@@ -42,10 +40,20 @@ messages on their first day back.
42
40
 
43
41
  ### Notification Badge
44
42
 
45
- Notifications are a major use case for `CountBadge`. Remember that any `CountBadge` with a
46
- live-updating value should be announced to screen readers with an `aria-live` region and an
47
- `aria-label` on the button to provide additional context, as in the example below. Please also read
48
- the Accessibility guidance below this example for aditional information.
43
+ Notifications are a major use case for `CountBadge`. When the `CountBadge` value is updated in
44
+ real-time, screen readers must be supported with an `AriaLiveRegion` that will automatically
45
+ describe the change in the number of notifications. If the web app only updates `CountBadge` as part
46
+ of another screen update, then this use of `AriaLiveRegion` is unnecessary and not recommended.
47
+
48
+ #### Notes on accessibility for the example below
49
+
50
+ - `Tooltip` is set on the `SecondaryButton` automatically applying the `aria-label` to the button.
51
+ - `aria-describedby` property is conditionally set on the `SecondaryButton` when greater than zero
52
+ referencing a unique `id` for the `CountBadge` value .
53
+ - `AriaLiveRegion` is used around the `CountBadge`, enabling screen readers to monitor changes in
54
+ value.
55
+ - `aria-label` string is conditionally set on `AriaLiveRegion` when greater than zero, describing
56
+ "New notification"
49
57
 
50
58
  <ExampleCodeBlock code={NotificationBadge} />
51
59
 
@@ -54,17 +62,6 @@ the Accessibility guidance below this example for aditional information.
54
62
  Count Badge supports custom styling via the `cs` prop. For more information, check our
55
63
  ["How To Customize Styles"](https://workday.github.io/canvas-kit/?path=/docs/styling-how-to-customize-styles--page).
56
64
 
57
- ## Accessibility
58
-
59
- A common use case for `CountBadge` is displaying notifications, but there are other situations where
60
- they will have live-updated values. There are several accessibility concerns you'll want to keep in
61
- mind:
62
-
63
- - The button should have an aria-label that updates with the count
64
- - The elements inside the button should have `aria-hidden`
65
- - The live region should be outside the button
66
- - The live region should be visually hidden and only contain text
67
-
68
65
  ## Component API
69
66
 
70
67
  <SymbolDoc name="CountBadge" fileName="/react/" />
@@ -1,10 +1,12 @@
1
1
  import * as React from 'react';
2
2
  import {CountBadge} from '@workday/canvas-kit-react/badge';
3
3
  import {SecondaryButton, TertiaryButton} from '@workday/canvas-kit-react/button';
4
- import {accessibleHide} from '@workday/canvas-kit-react/common';
4
+ import {AriaLiveRegion, useUniqueId} from '@workday/canvas-kit-react/common';
5
5
  import {createStyles, cssVar} from '@workday/canvas-kit-styling';
6
6
  import {notificationsIcon} from '@workday/canvas-system-icons-web';
7
7
  import {base, system} from '@workday/canvas-tokens-web';
8
+ import {Tooltip} from '@workday/canvas-kit-react/tooltip';
9
+ import {Flex} from '@workday/canvas-kit-react/layout';
8
10
 
9
11
  function negate(value: string, fallback?: string) {
10
12
  return `calc(${cssVar(value, fallback)} * -1)`;
@@ -12,16 +14,13 @@ function negate(value: string, fallback?: string) {
12
14
 
13
15
  const container = createStyles({
14
16
  boxSizing: 'border-box',
15
- display: 'flex',
16
17
  flexDirection: 'column',
17
18
  gap: system.space.x4,
18
19
  });
19
20
 
20
21
  const controls = createStyles({
21
22
  boxSizing: 'border-box',
22
- borderBottom: `solid 1px ${cssVar(base.soap400)}`,
23
- display: 'flex',
24
- gap: system.space.x1,
23
+ gap: system.space.x2,
25
24
  padding: system.space.x1,
26
25
  });
27
26
 
@@ -33,40 +32,46 @@ const notificationContainerStyles = createStyles({
33
32
  const countBadgeStyles = createStyles({
34
33
  boxSizing: 'border-box',
35
34
  position: 'absolute',
36
- top: negate(system.space.x4),
35
+ top: negate(system.space.x1),
37
36
  insetInlineEnd: negate(system.space.x1),
38
37
  });
39
38
 
40
- const accessibleHideStyles = createStyles(accessibleHide);
41
-
39
+ // Testing notes (Aug. 30, 2024):
40
+ // Windows 11
41
+ // JAWS 2024 + Chrome / Edge: "New notifications" once, then only the count change "2"
42
+ // JAWS 2024 + FF: "New notifications" once, then describes nothing
43
+ // NVDA + Chrome / Edge: Consistently describes "{X} New notifications"
44
+ // NVDA + FF: Consistently describes count value only "{X}"
45
+ // macOS v14.6.1
46
+ // VoiceOver + Chrome / Safari: Consistently describes "New notifications {X}"
42
47
  export function NotificationBadge() {
43
48
  const [count, setCount] = React.useState(4);
49
+ const badgeID = useUniqueId();
44
50
 
45
51
  return (
46
- <div className={container}>
47
- <div className={controls}>
52
+ <Flex cs={container}>
53
+ <Flex cs={controls}>
48
54
  <TertiaryButton size="small" onClick={() => setCount(count + 1)}>
49
55
  Add Notification
50
56
  </TertiaryButton>
51
57
  <TertiaryButton size="small" onClick={() => setCount(0)}>
52
58
  Clear
53
59
  </TertiaryButton>
54
- </div>
55
- <div>
60
+ </Flex>
61
+ <Flex>
56
62
  <span className={notificationContainerStyles}>
57
- <SecondaryButton
58
- aria-label={`Alerts ${count} new notifications`}
59
- size="medium"
60
- icon={notificationsIcon}
61
- />
62
- {!!count && (
63
- <CountBadge count={count} limit={100} aria-hidden="true" cs={countBadgeStyles} />
64
- )}
65
- <div className={accessibleHideStyles} role="status" aria-live="polite" aria-atomic="true">
66
- New notifications
67
- </div>
63
+ <Tooltip title="Notifications">
64
+ <SecondaryButton
65
+ size="medium"
66
+ icon={notificationsIcon}
67
+ aria-describedby={!!count ? badgeID : undefined}
68
+ />
69
+ </Tooltip>
70
+ <AriaLiveRegion aria-label={!!count ? 'New notifications' : undefined}>
71
+ {!!count && <CountBadge id={badgeID} count={count} limit={100} cs={countBadgeStyles} />}
72
+ </AriaLiveRegion>
68
73
  </span>
69
- </div>
70
- </div>
74
+ </Flex>
75
+ </Flex>
71
76
  );
72
77
  }
@@ -1,7 +1,4 @@
1
- import {SymbolDoc} from '@workday/canvas-kit-docs';
2
-
3
- import {Banner} from '@workday/canvas-kit-react/banner';
4
-
1
+ import {ExampleCodeBlock, SymbolDoc} from '@workday/canvas-kit-docs';
5
2
  import ActionText from './examples/ActionText';
6
3
  import Basic from './examples/Basic';
7
4
  import Error from './examples/Error';
@@ -51,7 +48,8 @@ banner. This will change the defualt icon to `exclamationCircleIcon`.
51
48
 
52
49
  ### Icon Banner
53
50
 
54
- When only using an icon in the `Banner`, use our `Tooltip` component to both show a visible text alternative, and assign an `aria-label` string to the child `Banner`.
51
+ When only using an icon in the `Banner`, use our `Tooltip` component to both show a visible text
52
+ alternative, and assign an `aria-label` string to the child `Banner`.
55
53
 
56
54
  <ExampleCodeBlock code={IconBanner} />
57
55
 
@@ -1,14 +1,10 @@
1
- import {SymbolDoc, Specifications} from '@workday/canvas-kit-docs';
2
-
3
- import {Breadcrumbs} from '@workday/canvas-kit-react/breadcrumbs';
4
-
1
+ import {ExampleCodeBlock, SymbolDoc, Specifications} from '@workday/canvas-kit-docs';
5
2
  import Basic from './examples/Basic';
6
3
  import OverflowBreadcrumbs from './examples/Overflow';
7
4
  import RTLOverflowList from './examples/RTL';
8
5
  import CurrentItemTruncation from './examples/CurrentItemTruncation';
9
6
  import LinkTruncation from './examples/LinkTruncation';
10
7
 
11
-
12
8
  # Canvas Kit Breadcrumbs
13
9
 
14
10
  Breadcrumbs is a
@@ -1,4 +1,9 @@
1
- import {Specifications, SymbolDoc, SymbolDescription} from '@workday/canvas-kit-docs';
1
+ import {
2
+ ExampleCodeBlock,
3
+ Specifications,
4
+ SymbolDoc,
5
+ SymbolDescription,
6
+ } from '@workday/canvas-kit-docs';
2
7
 
3
8
  import Primary from './examples/Primary';
4
9
  import PrimaryInverse from './examples/PrimaryInverse';
@@ -1,7 +1,4 @@
1
- import {SymbolDoc, Specifications} from '@workday/canvas-kit-docs';
2
-
3
- import {Hyperlink, ExternalHyperlink} from '@workday/canvas-kit-react/button';
4
-
1
+ import {ExampleCodeBlock, Specifications, SymbolDoc} from '@workday/canvas-kit-docs';
5
2
  import Link from './examples/Hyperlink';
6
3
  import LinkInverse from './examples/HyperlinkInverse';
7
4
  import ExternalLink from './examples/ExternalHyperlink';
@@ -15,6 +15,11 @@ const myButtonStencil = createStencil({
15
15
  [systemIconStencil.vars.color]: system.color.static.green.strong,
16
16
  [buttonStencil.vars.borderRadius]: system.shape.half,
17
17
  border: `${px2rem(3)} solid transparent`,
18
+ '&:focus-visible': {
19
+ [buttonStencil.vars.background]: system.color.static.green.strong,
20
+ [buttonStencil.vars.boxShadowInner]: system.color.static.green.soft,
21
+ [buttonStencil.vars.boxShadowOuter]: system.color.static.green.strong,
22
+ },
18
23
  '&:hover': {
19
24
  [buttonStencil.vars.background]: system.color.static.green.default,
20
25
  border: `${px2rem(3)} dotted ${system.color.static.green.strong}`,
@@ -29,8 +34,8 @@ const myButtonStencil = createStencil({
29
34
  });
30
35
 
31
36
  const MyCustomButton = createComponent('button')({
32
- Component: ({children, size, ...elemProps}: PrimaryButtonProps, ref, Element) => (
33
- <PrimaryButton ref={ref} {...handleCsProp(elemProps, myButtonStencil({size}))}>
37
+ Component: ({children, ...elemProps}: PrimaryButtonProps, ref, Element) => (
38
+ <PrimaryButton as={Element} ref={ref} {...handleCsProp(elemProps, myButtonStencil())}>
34
39
  {children}
35
40
  </PrimaryButton>
36
41
  ),
@@ -43,14 +48,23 @@ const myCustomStyles = createStyles({
43
48
 
44
49
  const customColors = {
45
50
  default: {
46
- background: system.color.static.green.soft,
47
- icon: system.color.static.green.strong,
48
- label: system.color.static.green.strong,
51
+ background: system.color.static.orange.soft,
52
+ icon: system.color.static.orange.strong,
53
+ label: system.color.static.orange.strong,
49
54
  },
50
55
  hover: {
51
- background: system.color.static.green.default,
52
- icon: system.color.static.green.strong,
56
+ background: system.color.static.orange.default,
57
+ icon: system.color.static.orange.strong,
58
+ },
59
+ active: {
60
+ background: system.color.static.orange.strong,
61
+ },
62
+ focus: {
63
+ background: system.color.static.orange.strong,
64
+ boxShadowInner: system.color.static.orange.soft,
65
+ boxShadowOuter: system.color.static.orange.strong,
53
66
  },
67
+ disabled: {},
54
68
  };
55
69
 
56
70
  export default () => (
@@ -20,6 +20,6 @@ export default () => (
20
20
  <DeleteButton icon={trashIcon} iconPosition="end">
21
21
  Delete
22
22
  </DeleteButton>
23
- <DeleteButton icon={trashIcon} />
23
+ <DeleteButton aria-label="trash" icon={trashIcon} />
24
24
  </Flex>
25
25
  );
@@ -24,6 +24,6 @@ export default () => (
24
24
  <PrimaryButton icon={caretDownIcon} iconPosition="end">
25
25
  Primary
26
26
  </PrimaryButton>
27
- <PrimaryButton icon={relatedActionsVerticalIcon} />
27
+ <PrimaryButton aria-label="related-actions" icon={relatedActionsVerticalIcon} />
28
28
  </Flex>
29
29
  );
@@ -1,7 +1,4 @@
1
- import {SymbolDoc} from '@workday/canvas-kit-docs';
2
-
3
- import {Card} from '@workday/canvas-kit-react/card';
4
-
1
+ import {ExampleCodeBlock, SymbolDoc} from '@workday/canvas-kit-docs';
5
2
  import Basic from './examples/Basic';
6
3
  import WithCustomStyles from './examples/CustomStyles';
7
4
  import WithStencils from './examples/Stencils';
@@ -43,6 +40,8 @@ You can also use `Card` stencils to extend styles for your own custom components
43
40
  compose styles without using components directly. In the example below, we're extending `Card`
44
41
  stencils to create a custom `MenuCard` component.
45
42
 
43
+ Here's an example of a `Card` with a reduced padding of `x3` (`0.75rem` or `12px`).
44
+
46
45
  <ExampleCodeBlock code={WithStencils} />
47
46
 
48
47
  ## Component API
@@ -1,8 +1,9 @@
1
- import {SymbolDoc, Specifications} from '@workday/canvas-kit-docs';
2
-
3
- import {Checkbox} from '@workday/canvas-kit-react/checkbox/lib/Checkbox.tsx';
4
- import {InformationHighlight} from '@workday/canvas-kit-docs';
5
-
1
+ import {
2
+ ExampleCodeBlock,
3
+ SymbolDoc,
4
+ Specifications,
5
+ InformationHighlight,
6
+ } from '@workday/canvas-kit-docs';
6
7
  import Alert from './examples/Alert';
7
8
  import Basic from './examples/Basic';
8
9
  import Inverse from './examples/Inverse';
@@ -29,18 +30,6 @@ yarn add @workday/canvas-kit-react
29
30
 
30
31
  ## Usage
31
32
 
32
- <InformationHighlight style={{margin: '1.5rem 0'}}>
33
- <InformationHighlight.Icon />
34
- <InformationHighlight.Heading>Note</InformationHighlight.Heading>
35
- <InformationHighlight.Body>
36
- These examples are using FormField from Preview. We can plan to promote this component to the
37
- Main package in a future major version.
38
- </InformationHighlight.Body>
39
- <InformationHighlight.Link href="https://workday.github.io/canvas-kit/?path=/docs/preview-inputs-form-field--basic">
40
- View Form Field (Preview) Documentation
41
- </InformationHighlight.Link>
42
- </InformationHighlight>
43
-
44
33
  ### Basic Example
45
34
 
46
35
  Checkbox may be used on its own without [Form Field](/components/inputs/form-field/) since it
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import {Checkbox} from '@workday/canvas-kit-react/checkbox';
3
- import {FormField} from '@workday/canvas-kit-preview-react/form-field';
3
+ import {FormField} from '@workday/canvas-kit-react/form-field';
4
4
 
5
5
  export default () => {
6
6
  const [checked, setChecked] = React.useState(false);
@@ -10,8 +10,9 @@ export default () => {
10
10
  };
11
11
 
12
12
  return (
13
- <FormField error="alert" orientation="horizontal">
14
- <FormField.Container>
13
+ <FormField error="alert">
14
+ <FormField.Label>Confirm</FormField.Label>
15
+ <FormField.Field>
15
16
  <FormField.Input
16
17
  as={Checkbox}
17
18
  checked={checked}
@@ -19,7 +20,7 @@ export default () => {
19
20
  onChange={handleChange}
20
21
  />
21
22
  <FormField.Hint>You must agree to the terms before proceeding</FormField.Hint>
22
- </FormField.Container>
23
+ </FormField.Field>
23
24
  </FormField>
24
25
  );
25
26
  };
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import {Checkbox} from '@workday/canvas-kit-react/checkbox';
3
+ import {FormField} from '@workday/canvas-kit-react/form-field';
3
4
 
4
5
  export default () => {
5
6
  const [checked, setChecked] = React.useState(false);
@@ -8,5 +9,17 @@ export default () => {
8
9
  setChecked(event.target.checked);
9
10
  };
10
11
 
11
- return <Checkbox checked={checked} label="I agree to the terms" onChange={handleChange} />;
12
+ return (
13
+ <FormField>
14
+ <FormField.Label>Confirm</FormField.Label>
15
+ <FormField.Field>
16
+ <FormField.Input
17
+ as={Checkbox}
18
+ checked={checked}
19
+ label="I agree to the terms"
20
+ onChange={handleChange}
21
+ />
22
+ </FormField.Field>
23
+ </FormField>
24
+ );
12
25
  };
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import {Checkbox} from '@workday/canvas-kit-react/checkbox';
3
+ import {FormField} from '@workday/canvas-kit-react/form-field';
3
4
 
4
5
  export default () => {
5
6
  const [checked, setChecked] = React.useState(false);
@@ -9,11 +10,17 @@ export default () => {
9
10
  };
10
11
 
11
12
  return (
12
- <Checkbox
13
- checked={checked}
14
- disabled={true}
15
- label="I agree to the terms"
16
- onChange={handleChange}
17
- />
13
+ <FormField>
14
+ <FormField.Label>Confirm</FormField.Label>
15
+ <FormField.Field>
16
+ <FormField.Input
17
+ as={Checkbox}
18
+ checked={checked}
19
+ disabled={true}
20
+ label="I agree to the terms"
21
+ onChange={handleChange}
22
+ />
23
+ </FormField.Field>
24
+ </FormField>
18
25
  );
19
26
  };