@workday/canvas-kit-react 17.0.0-alpha.0631-next.0 → 17.0.0-alpha.0635-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 (309) hide show
  1. package/collection/lib/useOverflowListModel.tsx +9 -0
  2. package/dist/commonjs/action-bar/lib/ActionBarList.js +1 -1
  3. package/dist/commonjs/action-bar/lib/ActionBarOverflowButton.js +1 -1
  4. package/dist/commonjs/avatar/lib/Avatar.js +13 -13
  5. package/dist/commonjs/avatar/lib/AvatarImage.js +1 -1
  6. package/dist/commonjs/avatar/lib/AvatarName.js +1 -1
  7. package/dist/commonjs/avatar/lib/BaseAvatar.js +14 -14
  8. package/dist/commonjs/badge/lib/CountBadge.js +6 -6
  9. package/dist/commonjs/banner/lib/Banner.js +5 -5
  10. package/dist/commonjs/banner/lib/BannerActionText.js +2 -2
  11. package/dist/commonjs/banner/lib/BannerIcon.js +1 -1
  12. package/dist/commonjs/banner/lib/BannerLabel.js +1 -1
  13. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsCurrentItem.js +1 -1
  14. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsItem.js +1 -1
  15. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsLink.js +1 -1
  16. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsList.js +1 -1
  17. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsMenu.js +2 -2
  18. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsOverflowButton.js +1 -1
  19. package/dist/commonjs/button/lib/BaseButton.js +21 -21
  20. package/dist/commonjs/button/lib/DeleteButton.js +2 -2
  21. package/dist/commonjs/button/lib/ExternalHyperlink.js +1 -1
  22. package/dist/commonjs/button/lib/Hyperlink.js +5 -5
  23. package/dist/commonjs/button/lib/PrimaryButton.js +2 -2
  24. package/dist/commonjs/button/lib/SecondaryButton.js +2 -2
  25. package/dist/commonjs/button/lib/TertiaryButton.js +14 -14
  26. package/dist/commonjs/button/lib/ToolbarDropdownButton.js +3 -3
  27. package/dist/commonjs/button/lib/ToolbarIconButton.js +1 -1
  28. package/dist/commonjs/button/lib/parts/ButtonLabel.js +1 -1
  29. package/dist/commonjs/button/lib/parts/ButtonLabelIcon.js +5 -5
  30. package/dist/commonjs/card/lib/Card.js +3 -3
  31. package/dist/commonjs/card/lib/CardBody.js +1 -1
  32. package/dist/commonjs/card/lib/CardHeading.js +1 -1
  33. package/dist/commonjs/checkbox/lib/CheckBackground.js +6 -6
  34. package/dist/commonjs/checkbox/lib/CheckboxCheck.js +6 -6
  35. package/dist/commonjs/checkbox/lib/CheckboxContainer.js +2 -2
  36. package/dist/commonjs/checkbox/lib/CheckboxInput.js +5 -5
  37. package/dist/commonjs/checkbox/lib/CheckboxRipple.js +1 -1
  38. package/dist/commonjs/collection/lib/ListBox.js +3 -3
  39. package/dist/commonjs/collection/lib/useOverflowListModel.d.ts.map +1 -1
  40. package/dist/commonjs/collection/lib/useOverflowListModel.js +2 -0
  41. package/dist/commonjs/color-picker/lib/ColorInput.js +3 -3
  42. package/dist/commonjs/color-picker/lib/ColorPreview.js +1 -1
  43. package/dist/commonjs/color-picker/lib/parts/ColorSwatch.js +2 -2
  44. package/dist/commonjs/combobox/lib/ComboboxMenuList.js +1 -1
  45. package/dist/commonjs/common/lib/AccessibleHide.js +1 -1
  46. package/dist/commonjs/common/lib/CanvasProvider.js +1 -1
  47. package/dist/commonjs/common/lib/EllipsisText.js +1 -1
  48. package/dist/commonjs/common/lib/styles/cornerShape.js +1 -1
  49. package/dist/commonjs/expandable/lib/Expandable.js +1 -1
  50. package/dist/commonjs/expandable/lib/ExpandableAvatar.js +1 -1
  51. package/dist/commonjs/expandable/lib/ExpandableContent.js +1 -1
  52. package/dist/commonjs/expandable/lib/ExpandableIcon.js +10 -10
  53. package/dist/commonjs/expandable/lib/ExpandableTarget.js +1 -1
  54. package/dist/commonjs/expandable/lib/ExpandableTitle.js +1 -1
  55. package/dist/commonjs/form-field/lib/FormFieldField.js +1 -1
  56. package/dist/commonjs/form-field/lib/FormFieldGroupLabel.js +5 -5
  57. package/dist/commonjs/form-field/lib/FormFieldGroupList.js +3 -3
  58. package/dist/commonjs/form-field/lib/FormFieldHint.js +3 -3
  59. package/dist/commonjs/form-field/lib/FormFieldLabel.js +6 -6
  60. package/dist/commonjs/form-field/lib/formFieldStencil.js +8 -8
  61. package/dist/commonjs/icon/lib/AccentIcon.js +2 -2
  62. package/dist/commonjs/icon/lib/AppletIcon.js +1 -1
  63. package/dist/commonjs/icon/lib/ExpressiveIcon.js +1 -1
  64. package/dist/commonjs/icon/lib/Graphic.js +4 -4
  65. package/dist/commonjs/icon/lib/Svg.js +3 -3
  66. package/dist/commonjs/icon/lib/SystemIcon.js +1 -1
  67. package/dist/commonjs/icon/lib/SystemIconCircle.js +2 -2
  68. package/dist/commonjs/information-highlight/lib/InformationHighlight.js +9 -9
  69. package/dist/commonjs/information-highlight/lib/parts/Body.js +3 -3
  70. package/dist/commonjs/information-highlight/lib/parts/Heading.js +3 -3
  71. package/dist/commonjs/information-highlight/lib/parts/Link.js +3 -3
  72. package/dist/commonjs/loading-dots/lib/LoadingDots.js +3 -3
  73. package/dist/commonjs/menu/lib/MenuCard.js +1 -1
  74. package/dist/commonjs/menu/lib/MenuDivider.js +1 -1
  75. package/dist/commonjs/menu/lib/MenuGroup.js +1 -1
  76. package/dist/commonjs/menu/lib/MenuItem.js +1 -1
  77. package/dist/commonjs/menu/lib/MenuList.js +3 -3
  78. package/dist/commonjs/modal/lib/ModalBody.js +1 -1
  79. package/dist/commonjs/modal/lib/ModalCard.js +1 -1
  80. package/dist/commonjs/modal/lib/ModalHeading.js +1 -1
  81. package/dist/commonjs/modal/lib/ModalOverflowOverlay.js +1 -1
  82. package/dist/commonjs/modal/lib/ModalOverlay.js +2 -2
  83. package/dist/commonjs/pagination/lib/Pagination/AdditionalDetails.js +2 -2
  84. package/dist/commonjs/pagination/lib/Pagination/Controls.js +2 -2
  85. package/dist/commonjs/pagination/lib/Pagination/GoTo/Form.js +1 -1
  86. package/dist/commonjs/pagination/lib/Pagination/GoTo/Label.js +1 -1
  87. package/dist/commonjs/pagination/lib/Pagination/GoTo/TextInput.js +1 -1
  88. package/dist/commonjs/pagination/lib/Pagination/Nav.js +1 -1
  89. package/dist/commonjs/pagination/lib/Pagination/PageButton.js +2 -2
  90. package/dist/commonjs/pagination/lib/Pagination/PageList.js +1 -1
  91. package/dist/commonjs/pagination/lib/Pagination/Pagination.js +1 -1
  92. package/dist/commonjs/pagination/lib/Pagination/common/List.js +2 -2
  93. package/dist/commonjs/pill/lib/Pill.js +3 -3
  94. package/dist/commonjs/pill/lib/PillAvatar.js +1 -1
  95. package/dist/commonjs/pill/lib/PillCount.js +1 -1
  96. package/dist/commonjs/pill/lib/PillIcon.js +1 -1
  97. package/dist/commonjs/pill/lib/PillIconButton.js +1 -1
  98. package/dist/commonjs/pill/lib/PillLabel.js +1 -1
  99. package/dist/commonjs/popup/lib/PopupBody.js +1 -1
  100. package/dist/commonjs/popup/lib/PopupButtonGroup.js +5 -5
  101. package/dist/commonjs/popup/lib/PopupCard.js +2 -2
  102. package/dist/commonjs/popup/lib/PopupCloseIcon.js +1 -1
  103. package/dist/commonjs/popup/lib/PopupHeading.js +1 -1
  104. package/dist/commonjs/popup/lib/hooks/useDisableBodyScroll.js +1 -1
  105. package/dist/commonjs/segmented-control/lib/SegmentedControlItem.js +16 -16
  106. package/dist/commonjs/segmented-control/lib/SegmentedControlList.js +6 -6
  107. package/dist/commonjs/select/lib/SelectCard.js +1 -1
  108. package/dist/commonjs/select/lib/SelectInput.js +3 -3
  109. package/dist/commonjs/side-panel/lib/SidePanel.js +8 -8
  110. package/dist/commonjs/side-panel/lib/SidePanelHeading.js +3 -3
  111. package/dist/commonjs/side-panel/lib/SidePanelToggleButton.js +7 -7
  112. package/dist/commonjs/skeleton/lib/Skeleton.js +2 -2
  113. package/dist/commonjs/skeleton/lib/parts/SkeletonHeader.js +1 -1
  114. package/dist/commonjs/skeleton/lib/parts/SkeletonShape.js +2 -2
  115. package/dist/commonjs/skeleton/lib/parts/SkeletonText.js +2 -2
  116. package/dist/commonjs/switch/lib/Switch.js +7 -7
  117. package/dist/commonjs/table/lib/BaseTable.js +1 -1
  118. package/dist/commonjs/table/lib/Table.js +7 -7
  119. package/dist/commonjs/table/lib/parts/BaseTableBody.js +1 -1
  120. package/dist/commonjs/table/lib/parts/BaseTableCaption.js +1 -1
  121. package/dist/commonjs/table/lib/parts/BaseTableCell.js +1 -1
  122. package/dist/commonjs/table/lib/parts/BaseTableHead.js +1 -1
  123. package/dist/commonjs/table/lib/parts/BaseTableHeader.js +1 -1
  124. package/dist/commonjs/table/lib/parts/css-grid-table/TableRow.js +1 -1
  125. package/dist/commonjs/tabs/lib/TabsItem.d.ts +3 -1
  126. package/dist/commonjs/tabs/lib/TabsItem.d.ts.map +1 -1
  127. package/dist/commonjs/tabs/lib/TabsItem.js +58 -3
  128. package/dist/commonjs/tabs/lib/TabsList.d.ts +329 -2
  129. package/dist/commonjs/tabs/lib/TabsList.d.ts.map +1 -1
  130. package/dist/commonjs/tabs/lib/TabsList.js +67 -12
  131. package/dist/commonjs/tabs/lib/TabsOverflowButton.d.ts +24 -214
  132. package/dist/commonjs/tabs/lib/TabsOverflowButton.d.ts.map +1 -1
  133. package/dist/commonjs/tabs/lib/TabsOverflowButton.js +72 -7
  134. package/dist/commonjs/tabs/lib/TabsPanels.d.ts +14 -14
  135. package/dist/commonjs/tabs/lib/TabsPanels.js +2 -2
  136. package/dist/commonjs/tabs/lib/useTabsModel.d.ts +5 -0
  137. package/dist/commonjs/tabs/lib/useTabsModel.d.ts.map +1 -1
  138. package/dist/commonjs/tabs/lib/useTabsModel.js +146 -7
  139. package/dist/commonjs/testing/lib/ComponentStatesTable.js +1 -1
  140. package/dist/commonjs/text/lib/LabelText.js +6 -6
  141. package/dist/commonjs/text/lib/Text.js +16 -16
  142. package/dist/commonjs/text/lib/TypeLevelComponents.js +4 -4
  143. package/dist/commonjs/text-area/lib/TextArea.js +5 -5
  144. package/dist/commonjs/text-input/lib/InputGroup.js +7 -7
  145. package/dist/commonjs/text-input/lib/TextInput.js +5 -5
  146. package/dist/commonjs/toast/lib/Toast.js +1 -1
  147. package/dist/commonjs/toast/lib/ToastBody.js +1 -1
  148. package/dist/commonjs/toast/lib/ToastCloseIcon.js +1 -1
  149. package/dist/commonjs/toast/lib/ToastIcon.js +1 -1
  150. package/dist/commonjs/toast/lib/ToastMessage.js +1 -1
  151. package/dist/commonjs/tooltip/lib/TooltipContainer.js +4 -4
  152. package/dist/commonjs/version/lib/version.js +1 -1
  153. package/dist/es6/action-bar/lib/ActionBarList.js +1 -1
  154. package/dist/es6/action-bar/lib/ActionBarOverflowButton.js +1 -1
  155. package/dist/es6/avatar/lib/Avatar.js +13 -13
  156. package/dist/es6/avatar/lib/AvatarImage.js +1 -1
  157. package/dist/es6/avatar/lib/AvatarName.js +1 -1
  158. package/dist/es6/avatar/lib/BaseAvatar.js +14 -14
  159. package/dist/es6/badge/lib/CountBadge.js +6 -6
  160. package/dist/es6/banner/lib/Banner.js +5 -5
  161. package/dist/es6/banner/lib/BannerActionText.js +2 -2
  162. package/dist/es6/banner/lib/BannerIcon.js +1 -1
  163. package/dist/es6/banner/lib/BannerLabel.js +1 -1
  164. package/dist/es6/breadcrumbs/lib/BreadcrumbsCurrentItem.js +1 -1
  165. package/dist/es6/breadcrumbs/lib/BreadcrumbsItem.js +1 -1
  166. package/dist/es6/breadcrumbs/lib/BreadcrumbsLink.js +1 -1
  167. package/dist/es6/breadcrumbs/lib/BreadcrumbsList.js +1 -1
  168. package/dist/es6/breadcrumbs/lib/BreadcrumbsMenu.js +2 -2
  169. package/dist/es6/breadcrumbs/lib/BreadcrumbsOverflowButton.js +1 -1
  170. package/dist/es6/button/lib/BaseButton.js +21 -21
  171. package/dist/es6/button/lib/DeleteButton.js +2 -2
  172. package/dist/es6/button/lib/ExternalHyperlink.js +1 -1
  173. package/dist/es6/button/lib/Hyperlink.js +5 -5
  174. package/dist/es6/button/lib/PrimaryButton.js +2 -2
  175. package/dist/es6/button/lib/SecondaryButton.js +2 -2
  176. package/dist/es6/button/lib/TertiaryButton.js +14 -14
  177. package/dist/es6/button/lib/ToolbarDropdownButton.js +3 -3
  178. package/dist/es6/button/lib/ToolbarIconButton.js +1 -1
  179. package/dist/es6/button/lib/parts/ButtonLabel.js +1 -1
  180. package/dist/es6/button/lib/parts/ButtonLabelIcon.js +5 -5
  181. package/dist/es6/card/lib/Card.js +3 -3
  182. package/dist/es6/card/lib/CardBody.js +1 -1
  183. package/dist/es6/card/lib/CardHeading.js +1 -1
  184. package/dist/es6/checkbox/lib/CheckBackground.js +6 -6
  185. package/dist/es6/checkbox/lib/CheckboxCheck.js +6 -6
  186. package/dist/es6/checkbox/lib/CheckboxContainer.js +2 -2
  187. package/dist/es6/checkbox/lib/CheckboxInput.js +5 -5
  188. package/dist/es6/checkbox/lib/CheckboxRipple.js +1 -1
  189. package/dist/es6/collection/lib/ListBox.js +3 -3
  190. package/dist/es6/collection/lib/useOverflowListModel.d.ts.map +1 -1
  191. package/dist/es6/collection/lib/useOverflowListModel.js +2 -0
  192. package/dist/es6/color-picker/lib/ColorInput.js +3 -3
  193. package/dist/es6/color-picker/lib/ColorPreview.js +1 -1
  194. package/dist/es6/color-picker/lib/parts/ColorSwatch.js +2 -2
  195. package/dist/es6/combobox/lib/ComboboxMenuList.js +1 -1
  196. package/dist/es6/common/lib/AccessibleHide.js +1 -1
  197. package/dist/es6/common/lib/CanvasProvider.js +1 -1
  198. package/dist/es6/common/lib/EllipsisText.js +1 -1
  199. package/dist/es6/common/lib/styles/cornerShape.js +1 -1
  200. package/dist/es6/expandable/lib/Expandable.js +1 -1
  201. package/dist/es6/expandable/lib/ExpandableAvatar.js +1 -1
  202. package/dist/es6/expandable/lib/ExpandableContent.js +1 -1
  203. package/dist/es6/expandable/lib/ExpandableIcon.js +10 -10
  204. package/dist/es6/expandable/lib/ExpandableTarget.js +1 -1
  205. package/dist/es6/expandable/lib/ExpandableTitle.js +1 -1
  206. package/dist/es6/form-field/lib/FormFieldField.js +1 -1
  207. package/dist/es6/form-field/lib/FormFieldGroupLabel.js +5 -5
  208. package/dist/es6/form-field/lib/FormFieldGroupList.js +3 -3
  209. package/dist/es6/form-field/lib/FormFieldHint.js +3 -3
  210. package/dist/es6/form-field/lib/FormFieldLabel.js +6 -6
  211. package/dist/es6/form-field/lib/formFieldStencil.js +8 -8
  212. package/dist/es6/icon/lib/AccentIcon.js +2 -2
  213. package/dist/es6/icon/lib/AppletIcon.js +1 -1
  214. package/dist/es6/icon/lib/ExpressiveIcon.js +1 -1
  215. package/dist/es6/icon/lib/Graphic.js +4 -4
  216. package/dist/es6/icon/lib/Svg.js +3 -3
  217. package/dist/es6/icon/lib/SystemIcon.js +1 -1
  218. package/dist/es6/icon/lib/SystemIconCircle.js +2 -2
  219. package/dist/es6/information-highlight/lib/InformationHighlight.js +9 -9
  220. package/dist/es6/information-highlight/lib/parts/Body.js +3 -3
  221. package/dist/es6/information-highlight/lib/parts/Heading.js +3 -3
  222. package/dist/es6/information-highlight/lib/parts/Link.js +3 -3
  223. package/dist/es6/loading-dots/lib/LoadingDots.js +3 -3
  224. package/dist/es6/menu/lib/MenuCard.js +1 -1
  225. package/dist/es6/menu/lib/MenuDivider.js +1 -1
  226. package/dist/es6/menu/lib/MenuGroup.js +1 -1
  227. package/dist/es6/menu/lib/MenuItem.js +1 -1
  228. package/dist/es6/menu/lib/MenuList.js +3 -3
  229. package/dist/es6/modal/lib/ModalBody.js +1 -1
  230. package/dist/es6/modal/lib/ModalCard.js +1 -1
  231. package/dist/es6/modal/lib/ModalHeading.js +1 -1
  232. package/dist/es6/modal/lib/ModalOverflowOverlay.js +1 -1
  233. package/dist/es6/modal/lib/ModalOverlay.js +2 -2
  234. package/dist/es6/pagination/lib/Pagination/AdditionalDetails.js +2 -2
  235. package/dist/es6/pagination/lib/Pagination/Controls.js +2 -2
  236. package/dist/es6/pagination/lib/Pagination/GoTo/Form.js +1 -1
  237. package/dist/es6/pagination/lib/Pagination/GoTo/Label.js +1 -1
  238. package/dist/es6/pagination/lib/Pagination/GoTo/TextInput.js +1 -1
  239. package/dist/es6/pagination/lib/Pagination/Nav.js +1 -1
  240. package/dist/es6/pagination/lib/Pagination/PageButton.js +2 -2
  241. package/dist/es6/pagination/lib/Pagination/PageList.js +1 -1
  242. package/dist/es6/pagination/lib/Pagination/Pagination.js +1 -1
  243. package/dist/es6/pagination/lib/Pagination/common/List.js +2 -2
  244. package/dist/es6/pill/lib/Pill.js +3 -3
  245. package/dist/es6/pill/lib/PillAvatar.js +1 -1
  246. package/dist/es6/pill/lib/PillCount.js +1 -1
  247. package/dist/es6/pill/lib/PillIcon.js +1 -1
  248. package/dist/es6/pill/lib/PillIconButton.js +1 -1
  249. package/dist/es6/pill/lib/PillLabel.js +1 -1
  250. package/dist/es6/popup/lib/PopupBody.js +1 -1
  251. package/dist/es6/popup/lib/PopupButtonGroup.js +5 -5
  252. package/dist/es6/popup/lib/PopupCard.js +2 -2
  253. package/dist/es6/popup/lib/PopupCloseIcon.js +1 -1
  254. package/dist/es6/popup/lib/PopupHeading.js +1 -1
  255. package/dist/es6/popup/lib/hooks/useDisableBodyScroll.js +1 -1
  256. package/dist/es6/segmented-control/lib/SegmentedControlItem.js +16 -16
  257. package/dist/es6/segmented-control/lib/SegmentedControlList.js +6 -6
  258. package/dist/es6/select/lib/SelectCard.js +1 -1
  259. package/dist/es6/select/lib/SelectInput.js +3 -3
  260. package/dist/es6/side-panel/lib/SidePanel.js +8 -8
  261. package/dist/es6/side-panel/lib/SidePanelHeading.js +3 -3
  262. package/dist/es6/side-panel/lib/SidePanelToggleButton.js +7 -7
  263. package/dist/es6/skeleton/lib/Skeleton.js +2 -2
  264. package/dist/es6/skeleton/lib/parts/SkeletonHeader.js +1 -1
  265. package/dist/es6/skeleton/lib/parts/SkeletonShape.js +2 -2
  266. package/dist/es6/skeleton/lib/parts/SkeletonText.js +2 -2
  267. package/dist/es6/switch/lib/Switch.js +7 -7
  268. package/dist/es6/table/lib/BaseTable.js +1 -1
  269. package/dist/es6/table/lib/Table.js +7 -7
  270. package/dist/es6/table/lib/parts/BaseTableBody.js +1 -1
  271. package/dist/es6/table/lib/parts/BaseTableCaption.js +1 -1
  272. package/dist/es6/table/lib/parts/BaseTableCell.js +1 -1
  273. package/dist/es6/table/lib/parts/BaseTableHead.js +1 -1
  274. package/dist/es6/table/lib/parts/BaseTableHeader.js +1 -1
  275. package/dist/es6/table/lib/parts/css-grid-table/TableRow.js +1 -1
  276. package/dist/es6/tabs/lib/TabsItem.d.ts +3 -1
  277. package/dist/es6/tabs/lib/TabsItem.d.ts.map +1 -1
  278. package/dist/es6/tabs/lib/TabsItem.js +36 -4
  279. package/dist/es6/tabs/lib/TabsList.d.ts +329 -2
  280. package/dist/es6/tabs/lib/TabsList.d.ts.map +1 -1
  281. package/dist/es6/tabs/lib/TabsList.js +69 -15
  282. package/dist/es6/tabs/lib/TabsOverflowButton.d.ts +24 -214
  283. package/dist/es6/tabs/lib/TabsOverflowButton.d.ts.map +1 -1
  284. package/dist/es6/tabs/lib/TabsOverflowButton.js +73 -9
  285. package/dist/es6/tabs/lib/TabsPanels.d.ts +14 -14
  286. package/dist/es6/tabs/lib/TabsPanels.js +2 -2
  287. package/dist/es6/tabs/lib/useTabsModel.d.ts +5 -0
  288. package/dist/es6/tabs/lib/useTabsModel.d.ts.map +1 -1
  289. package/dist/es6/tabs/lib/useTabsModel.js +146 -7
  290. package/dist/es6/testing/lib/ComponentStatesTable.js +1 -1
  291. package/dist/es6/text/lib/LabelText.js +6 -6
  292. package/dist/es6/text/lib/Text.js +16 -16
  293. package/dist/es6/text/lib/TypeLevelComponents.js +4 -4
  294. package/dist/es6/text-area/lib/TextArea.js +5 -5
  295. package/dist/es6/text-input/lib/InputGroup.js +7 -7
  296. package/dist/es6/text-input/lib/TextInput.js +5 -5
  297. package/dist/es6/toast/lib/Toast.js +1 -1
  298. package/dist/es6/toast/lib/ToastBody.js +1 -1
  299. package/dist/es6/toast/lib/ToastCloseIcon.js +1 -1
  300. package/dist/es6/toast/lib/ToastIcon.js +1 -1
  301. package/dist/es6/toast/lib/ToastMessage.js +1 -1
  302. package/dist/es6/tooltip/lib/TooltipContainer.js +4 -4
  303. package/dist/es6/version/lib/version.js +1 -1
  304. package/package.json +4 -4
  305. package/tabs/lib/TabsItem.tsx +39 -0
  306. package/tabs/lib/TabsList.tsx +84 -5
  307. package/tabs/lib/TabsOverflowButton.tsx +78 -6
  308. package/tabs/lib/TabsPanels.tsx +2 -2
  309. package/tabs/lib/useTabsModel.tsx +161 -3
@@ -1,7 +1,12 @@
1
1
  import React from 'react';
2
2
  import { defaultGetId, useListModel, useOverflowListModel, } from '@workday/canvas-kit-react/collection';
3
- import { createModelHook, useModalityType } from '@workday/canvas-kit-react/common';
3
+ import { createModelHook, slugify, useModalityType } from '@workday/canvas-kit-react/common';
4
4
  import { useMenuModel } from '@workday/canvas-kit-react/menu';
5
+ /**
6
+ * This constant is used as the stable identifier for the overflow button in the tabs collection.
7
+ * It uses a `__` prefix to avoid conflicts with user-provided item IDs.
8
+ */
9
+ export const TABS_OVERFLOW_BUTTON_ID = '__tabs-overflow__';
5
10
  /**
6
11
  * The TabsModel extends the [Collection
7
12
  * System](/get-started/for-developers/guides/collection-api/). Tabs have tab items and
@@ -44,11 +49,73 @@ export const useTabsModel = createModelHook({
44
49
  requiredConfig: useOverflowListModel.requiredConfig,
45
50
  contextOverride: useOverflowListModel.Context,
46
51
  })(config => {
47
- var _a, _b, _c;
52
+ var _a, _b, _c, _d;
48
53
  const initialSelectedRef = React.useRef(config.initialTab);
49
- const getId = config.getId || defaultGetId;
54
+ const userGetId = config.getId || defaultGetId;
50
55
  const modality = useModalityType();
56
+ // Stable object so getId can recognize the synthetic overflow item. Callers
57
+ // often pass a getId that only understands their own item shape (for example
58
+ // `item => item.contextId`). Without this, the overflow item gets an empty id
59
+ // and Tabs.List renders it as a normal tab.
60
+ const overflowItemRef = React.useRef({
61
+ id: TABS_OVERFLOW_BUTTON_ID,
62
+ text: 'More',
63
+ });
64
+ const getId = (item) => {
65
+ if (item === overflowItemRef.current) {
66
+ return TABS_OVERFLOW_BUTTON_ID;
67
+ }
68
+ const id = userGetId(item);
69
+ if (id === TABS_OVERFLOW_BUTTON_ID) {
70
+ throw new Error(`Tabs item id "${TABS_OVERFLOW_BUTTON_ID}" is reserved for the overflow tab. Choose a different id.`);
71
+ }
72
+ return id;
73
+ };
74
+ // When using dynamic items, append a synthetic overflow button item to the
75
+ // items array. This ensures the overflow button is included in the navigation
76
+ // sequence for roving tabindex. The overflow button component will handle
77
+ // conditional rendering (not showing when there are no hidden items).
78
+ // The overflow button is NOT included in itemSizeCache (measured separately
79
+ // via setOverflowTargetSize), so it won't be incorrectly hidden.
80
+ const itemsWithOverflowButton = React.useMemo(() => {
81
+ var _a;
82
+ if ((_a = config.items) === null || _a === void 0 ? void 0 : _a.length) {
83
+ return [...config.items, overflowItemRef.current];
84
+ }
85
+ return config.items;
86
+ }, [config.items]);
87
+ // Track whether the overflow button should be non-interactive based on previous
88
+ // render's hiddenIds. We use a ref because hiddenIds isn't available until after
89
+ // the model is created, but we need to pass nonInteractiveIds to the model config.
90
+ // On first render, assume non-interactive (no overflow calculated yet).
91
+ // On subsequent renders, use the previous hiddenIds.length to determine.
92
+ const prevHiddenIdsLengthRef = React.useRef(0);
93
+ const [, setNonInteractiveTick] = React.useState(0);
94
+ const overflowButtonNonInteractive = !!((_a = config.items) === null || _a === void 0 ? void 0 : _a.length) && prevHiddenIdsLengthRef.current === 0;
95
+ // Compute nonInteractiveIds to pass to the model, including overflow button when appropriate
96
+ const nonInteractiveIdsForModel = React.useMemo(() => {
97
+ const baseIds = config.nonInteractiveIds || [];
98
+ if (overflowButtonNonInteractive) {
99
+ return [...baseIds, TABS_OVERFLOW_BUTTON_ID];
100
+ }
101
+ return baseIds;
102
+ }, [config.nonInteractiveIds, overflowButtonNonInteractive]);
103
+ // Stores the ID of a tab that should receive focus after the menu closes.
104
+ // This is used when selecting a tab from the overflow menu - we want focus
105
+ // to go to the newly selected tab, not back to the overflow button.
106
+ const pendingFocusTabIdRef = React.useRef(null);
107
+ const pendingFocusRafOuterRef = React.useRef(0);
108
+ const pendingFocusRafInnerRef = React.useRef(0);
109
+ React.useLayoutEffect(() => {
110
+ return () => {
111
+ cancelAnimationFrame(pendingFocusRafOuterRef.current);
112
+ cancelAnimationFrame(pendingFocusRafInnerRef.current);
113
+ };
114
+ }, []);
51
115
  const model = useOverflowListModel(useOverflowListModel.mergeConfig(config, {
116
+ items: itemsWithOverflowButton,
117
+ getId,
118
+ nonInteractiveIds: nonInteractiveIdsForModel,
52
119
  shouldCalculateOverflow: modality !== 'touch',
53
120
  orientation: config.orientation || 'horizontal',
54
121
  onRegisterItem(data) {
@@ -59,11 +126,64 @@ export const useTabsModel = createModelHook({
59
126
  },
60
127
  initialSelectedIds: config.initialTab
61
128
  ? [config.initialTab]
62
- : ((_a = config.items) === null || _a === void 0 ? void 0 : _a.length)
129
+ : ((_b = config.items) === null || _b === void 0 ? void 0 : _b.length)
63
130
  ? [getId(config.items[0])]
64
131
  : [],
65
132
  shouldVirtualize: false,
66
133
  }));
134
+ // Update the ref after each render so the next render knows the current hiddenIds.length.
135
+ // If hiddenIds.length changed (e.g. overflow just calculated), force a re-render so
136
+ // we pass the correct nonInteractiveIds and the overflow button is not stuck disabled.
137
+ React.useLayoutEffect(() => {
138
+ const nextLen = model.state.hiddenIds.length;
139
+ if (prevHiddenIdsLengthRef.current !== nextLen) {
140
+ prevHiddenIdsLengthRef.current = nextLen;
141
+ setNonInteractiveTick(t => t + 1);
142
+ }
143
+ else {
144
+ prevHiddenIdsLengthRef.current = nextLen;
145
+ }
146
+ }, [model.state.hiddenIds.length]);
147
+ // When the cursor is on an item that isn't in the DOM, move it to a visible one so the
148
+ // roving tabindex lands on a focusable element. This covers: (1) cursor on a hidden tab when
149
+ // only "More" is visible, and (2) cursor on the overflow button when we widen and it unmounts.
150
+ React.useLayoutEffect(() => {
151
+ var _a;
152
+ const { cursorId, hiddenIds, items } = model.state;
153
+ if (!cursorId) {
154
+ return;
155
+ }
156
+ const currentCursorId = typeof cursorId === 'string' ? cursorId : ((_a = cursorId.slice(-1)[0]) !== null && _a !== void 0 ? _a : '');
157
+ const cursorOnHidden = currentCursorId ? hiddenIds.includes(currentCursorId) : false;
158
+ const cursorOnOverflowWhenNoOverflow = currentCursorId === TABS_OVERFLOW_BUTTON_ID && hiddenIds.length === 0;
159
+ if (cursorOnHidden) {
160
+ // Move to first visible item (including overflow button when it's the only one visible)
161
+ const firstVisible = items.find(item => !hiddenIds.includes(item.id));
162
+ if (firstVisible) {
163
+ model.events.goTo({ id: firstVisible.id });
164
+ }
165
+ }
166
+ else if (cursorOnOverflowWhenNoOverflow) {
167
+ // Overflow button unmounted; move to selected tab or first tab (not the overflow button)
168
+ const selectedIds = model.state.selectedIds;
169
+ const selectedId = selectedIds !== 'all' && Array.isArray(selectedIds) && selectedIds.length
170
+ ? selectedIds[0]
171
+ : undefined;
172
+ const firstVisibleTab = items.find(item => item.id !== TABS_OVERFLOW_BUTTON_ID && !hiddenIds.includes(item.id));
173
+ const targetId = selectedId && !hiddenIds.includes(selectedId) ? selectedId : firstVisibleTab === null || firstVisibleTab === void 0 ? void 0 : firstVisibleTab.id;
174
+ if (targetId) {
175
+ model.events.goTo({ id: targetId });
176
+ }
177
+ }
178
+ // Use field-level deps instead of `model.state` so this does not re-run on every model update.
179
+ // eslint-disable-next-line react-hooks/exhaustive-deps
180
+ }, [
181
+ model.state.cursorId,
182
+ model.state.hiddenIds,
183
+ model.state.items,
184
+ model.state.selectedIds,
185
+ model.events,
186
+ ]);
67
187
  const panels = useListModel();
68
188
  const state = {
69
189
  ...model.state,
@@ -100,12 +220,31 @@ export const useTabsModel = createModelHook({
100
220
  // `getId`/`getTextValue` aren't callbacks or guards, so `mergeConfig` would let these
101
221
  // unconditionally clobber a `menuConfig.getId`/`getTextValue` override. Fall back to the
102
222
  // top-level Tabs config only when the caller hasn't set one on `menuConfig` directly.
103
- getId: ((_b = config.menuConfig) === null || _b === void 0 ? void 0 : _b.getId) || getId,
104
- getTextValue: ((_c = config.menuConfig) === null || _c === void 0 ? void 0 : _c.getTextValue) || config.getTextValue,
223
+ getId: ((_c = config.menuConfig) === null || _c === void 0 ? void 0 : _c.getId) || getId,
224
+ getTextValue: ((_d = config.menuConfig) === null || _d === void 0 ? void 0 : _d.getTextValue) || config.getTextValue,
105
225
  nonInteractiveIds: state.nonInteractiveIds.filter(key => !state.hiddenIds.includes(key)),
106
226
  onSelect(data) {
107
- menu.events.hide();
227
+ // Store the tab ID to focus after the menu closes and React re-renders
228
+ pendingFocusTabIdRef.current = data.id;
229
+ // Update state: select the tab, move cursor, then close menu
108
230
  events.select(data);
231
+ model.events.goTo({ id: data.id });
232
+ menu.events.hide();
233
+ // Focus the selected tab AFTER React has re-rendered.
234
+ // Double rAF is required because useReturnFocus restores focus to the overflow
235
+ // button on a single rAF after hide; the second frame runs after that restore.
236
+ pendingFocusRafOuterRef.current = requestAnimationFrame(() => {
237
+ pendingFocusRafInnerRef.current = requestAnimationFrame(() => {
238
+ const tabId = pendingFocusTabIdRef.current;
239
+ if (tabId) {
240
+ const tabElement = document.querySelector(`[data-focus-id="${slugify(`${model.state.id}-${tabId}`)}"]`);
241
+ if (tabElement) {
242
+ tabElement.focus();
243
+ }
244
+ pendingFocusTabIdRef.current = null;
245
+ }
246
+ });
247
+ });
109
248
  },
110
249
  onShow() {
111
250
  // Always select the first item when the menu is opened
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { createStyles, px2rem } from '@workday/canvas-kit-styling';
3
3
  import { system } from '@workday/canvas-tokens-web';
4
- const tableStyles = createStyles({ name: "371blp", styles: "width:100%;thead{text-align:start;padding-block-end:var(--cnvs-sys-padding-md);}td, th{min-width:6.25rem;padding-block-end:var(--cnvs-sys-padding-md);padding-inline-end:var(--cnvs-sys-padding-md);text-align:start;}" });
4
+ const tableStyles = createStyles({ name: "ce9zw", styles: "width:100%;thead{text-align:start;padding-block-end:var(--cnvs-sys-padding-md);}td, th{min-width:6.25rem;padding-block-end:var(--cnvs-sys-padding-md);padding-inline-end:var(--cnvs-sys-padding-md);text-align:start;}" });
5
5
  export const ComponentStatesTable = ({ rowProps, columnProps, children, }) => {
6
6
  return (_jsxs("table", { className: tableStyles, children: [_jsx("thead", { children: _jsxs("tr", { children: [_jsx("th", { children: "Variants" }), columnProps.map(col => (_jsx("th", { children: col.label }, `component-table-heading-${col.label.toLowerCase().replace(' ', ',')}`)))] }) }), _jsx("tbody", { children: rowProps.map(row => {
7
7
  return (_jsxs("tr", { children: [_jsx("td", { children: row.label }), columnProps.map(col => {
@@ -6,21 +6,21 @@ import { system } from '@workday/canvas-tokens-web';
6
6
  import { textStencil } from './Text';
7
7
  const labelTextStencil = createStencil({
8
8
  extends: textStencil,
9
- base: { name: "2mxa0h", styles: "box-sizing:border-box;font-family:var(--cnvs-sys-font-family-default);font-weight:var(--cnvs-sys-font-weight-normal);font-size:var(--cnvs-sys-font-size-subtext-lg, var(--cnvs-sys-font-size-subtext-large, 0.875rem));line-height:var(--cnvs-sys-line-height-subtext-lg, var(--cnvs-sys-line-height-subtext-large, 1.25rem));letter-spacing:var(--cnvs-sys-letter-spacing-subtext-lg, var(--cnvs-sys-type-letter-spacing-subtext-large));color:var(--cnvs-sys-color-fg-default);" },
9
+ base: { name: "2da8et", styles: "box-sizing:border-box;font-family:var(--cnvs-sys-font-family-default);font-weight:var(--cnvs-sys-font-weight-normal);font-size:var(--cnvs-sys-font-size-subtext-lg, var(--cnvs-sys-font-size-subtext-large, 0.875rem));line-height:var(--cnvs-sys-line-height-subtext-lg, var(--cnvs-sys-line-height-subtext-large, 1.25rem));letter-spacing:var(--cnvs-sys-letter-spacing-subtext-lg, var(--cnvs-sys-type-letter-spacing-subtext-large));color:var(--cnvs-sys-color-fg-default);" },
10
10
  modifiers: {
11
11
  disabled: {
12
- true: { name: "kaw14", styles: "cursor:default;color:var(--cnvs-sys-color-fg-disabled);" }
12
+ true: { name: "a2h31", styles: "cursor:default;color:var(--cnvs-sys-color-fg-disabled);" }
13
13
  },
14
14
  variant: {
15
- inverse: { name: "3j4eo2", styles: "color:var(--cnvs-sys-color-fg-inverse);" },
16
- error: { name: "1qvq7i", styles: "color:var(--cnvs-sys-color-brand-fg-critical-default, var(--cnvs-brand-error-base, oklch(0.5342 0.2172 29.53 / 1)));" },
17
- hint: { name: "3sd2m8", styles: "color:var(--cnvs-sys-color-fg-muted-default);" }
15
+ inverse: { name: "4dq8pa", styles: "color:var(--cnvs-sys-color-fg-inverse);" },
16
+ error: { name: "tzb1c", styles: "color:var(--cnvs-sys-color-brand-fg-critical-default, var(--cnvs-brand-error-base, oklch(0.5342 0.2172 29.53 / 1)));" },
17
+ hint: { name: "23zo9l", styles: "color:var(--cnvs-sys-color-fg-muted-default);" }
18
18
  }
19
19
  },
20
20
  compound: [
21
21
  {
22
22
  modifiers: { variant: 'inverse', disabled: true },
23
- styles: { name: "f0y36", styles: "opacity:var(--cnvs-sys-opacity-disabled);color:var(--cnvs-sys-color-fg-inverse);" }
23
+ styles: { name: "3hf6id", styles: "opacity:var(--cnvs-sys-opacity-disabled);color:var(--cnvs-sys-color-fg-inverse);" }
24
24
  }
25
25
  ]
26
26
  }, "label-text-3d99f1");
@@ -4,30 +4,30 @@ import { mergeStyles } from '@workday/canvas-kit-react/layout';
4
4
  import { createStencil } from '@workday/canvas-kit-styling';
5
5
  import { system } from '@workday/canvas-tokens-web';
6
6
  export const textStencil = createStencil({
7
- base: { name: "1lp6a1", styles: "box-sizing:border-box;" },
7
+ base: { name: "wkp67", styles: "box-sizing:border-box;" },
8
8
  modifiers: {
9
9
  typeLevel: {
10
10
  // Title level styles
11
- 'title.large': { name: "1k1qm9", styles: "font-family:var(--cnvs-sys-font-family-default);font-weight:var(--cnvs-sys-font-weight-bold);font-size:var(--cnvs-sys-font-size-title-lg, var(--cnvs-sys-font-size-title-large, 3.5rem));line-height:var(--cnvs-sys-line-height-title-lg, var(--cnvs-sys-line-height-title-large, 4rem));color:var(--cnvs-sys-color-fg-strong);" },
12
- 'title.medium': { name: "2u4hcn", styles: "font-family:var(--cnvs-sys-font-family-default);font-weight:var(--cnvs-sys-font-weight-bold);font-size:var(--cnvs-sys-font-size-title-md, var(--cnvs-sys-font-size-title-medium, 3rem));line-height:var(--cnvs-sys-line-height-title-md, var(--cnvs-sys-line-height-title-medium, 3.5rem));color:var(--cnvs-sys-color-fg-strong);" },
13
- 'title.small': { name: "295hcs", styles: "font-family:var(--cnvs-sys-font-family-default);font-weight:var(--cnvs-sys-font-weight-bold);line-height:var(--cnvs-sys-line-height-title-sm, var(--cnvs-sys-line-height-title-small, 3rem));font-size:var(--cnvs-sys-font-size-title-sm, var(--cnvs-sys-font-size-title-small, 2.5rem));color:var(--cnvs-sys-color-fg-strong);" },
11
+ 'title.large': { name: "10m2ez", styles: "font-family:var(--cnvs-sys-font-family-default);font-weight:var(--cnvs-sys-font-weight-bold);font-size:var(--cnvs-sys-font-size-title-lg, var(--cnvs-sys-font-size-title-large, 3.5rem));line-height:var(--cnvs-sys-line-height-title-lg, var(--cnvs-sys-line-height-title-large, 4rem));color:var(--cnvs-sys-color-fg-strong);" },
12
+ 'title.medium': { name: "3ebfst", styles: "font-family:var(--cnvs-sys-font-family-default);font-weight:var(--cnvs-sys-font-weight-bold);font-size:var(--cnvs-sys-font-size-title-md, var(--cnvs-sys-font-size-title-medium, 3rem));line-height:var(--cnvs-sys-line-height-title-md, var(--cnvs-sys-line-height-title-medium, 3.5rem));color:var(--cnvs-sys-color-fg-strong);" },
13
+ 'title.small': { name: "2f01ti", styles: "font-family:var(--cnvs-sys-font-family-default);font-weight:var(--cnvs-sys-font-weight-bold);line-height:var(--cnvs-sys-line-height-title-sm, var(--cnvs-sys-line-height-title-small, 3rem));font-size:var(--cnvs-sys-font-size-title-sm, var(--cnvs-sys-font-size-title-small, 2.5rem));color:var(--cnvs-sys-color-fg-strong);" },
14
14
  // Heading level styles
15
- 'heading.large': { name: "1k0ok3", styles: "font-family:var(--cnvs-sys-font-family-default);font-weight:var(--cnvs-sys-font-weight-bold);font-size:var(--cnvs-sys-font-size-heading-lg, var(--cnvs-sys-font-size-heading-large, 2rem));line-height:var(--cnvs-sys-line-height-heading-lg, var(--cnvs-sys-line-height-heading-large, 2.5rem));color:var(--cnvs-sys-color-fg-strong);" },
16
- 'heading.medium': { name: "2x5ce1", styles: "font-family:var(--cnvs-sys-font-family-default);font-weight:var(--cnvs-sys-font-weight-bold);font-size:var(--cnvs-sys-font-size-heading-md, var(--cnvs-sys-font-size-heading-medium, 1.75rem));line-height:var(--cnvs-sys-line-height-heading-md, var(--cnvs-sys-line-height-heading-medium, 2.25rem));color:var(--cnvs-sys-color-fg-strong);" },
17
- 'heading.small': { name: "3qbkjs", styles: "font-family:var(--cnvs-sys-font-family-default);font-weight:var(--cnvs-sys-font-weight-bold);font-size:var(--cnvs-sys-font-size-heading-sm, var(--cnvs-sys-font-size-heading-small, 1.5rem));line-height:var(--cnvs-sys-line-height-heading-sm, var(--cnvs-sys-line-height-heading-small, 2rem));color:var(--cnvs-sys-color-fg-strong);" },
15
+ 'heading.large': { name: "2dtog2", styles: "font-family:var(--cnvs-sys-font-family-default);font-weight:var(--cnvs-sys-font-weight-bold);font-size:var(--cnvs-sys-font-size-heading-lg, var(--cnvs-sys-font-size-heading-large, 2rem));line-height:var(--cnvs-sys-line-height-heading-lg, var(--cnvs-sys-line-height-heading-large, 2.5rem));color:var(--cnvs-sys-color-fg-strong);" },
16
+ 'heading.medium': { name: "1xy50g", styles: "font-family:var(--cnvs-sys-font-family-default);font-weight:var(--cnvs-sys-font-weight-bold);font-size:var(--cnvs-sys-font-size-heading-md, var(--cnvs-sys-font-size-heading-medium, 1.75rem));line-height:var(--cnvs-sys-line-height-heading-md, var(--cnvs-sys-line-height-heading-medium, 2.25rem));color:var(--cnvs-sys-color-fg-strong);" },
17
+ 'heading.small': { name: "1xye3f", styles: "font-family:var(--cnvs-sys-font-family-default);font-weight:var(--cnvs-sys-font-weight-bold);font-size:var(--cnvs-sys-font-size-heading-sm, var(--cnvs-sys-font-size-heading-small, 1.5rem));line-height:var(--cnvs-sys-line-height-heading-sm, var(--cnvs-sys-line-height-heading-small, 2rem));color:var(--cnvs-sys-color-fg-strong);" },
18
18
  // Body level styles
19
- 'body.large': { name: "9gliw", styles: "font-family:var(--cnvs-sys-font-family-default);font-weight:var(--cnvs-sys-font-weight-normal);font-size:var(--cnvs-sys-font-size-body-lg, var(--cnvs-sys-font-size-body-large, 1.25rem));line-height:var(--cnvs-sys-line-height-body-lg, var(--cnvs-sys-line-height-body-large, 1.75rem));color:var(--cnvs-sys-color-fg-default);" },
20
- 'body.medium': { name: "1g3frj", styles: "font-family:var(--cnvs-sys-font-family-default);font-weight:var(--cnvs-sys-font-weight-normal);font-size:var(--cnvs-sys-font-size-body-md, var(--cnvs-sys-font-size-body-medium, 1.125rem));line-height:var(--cnvs-sys-line-height-body-md, var(--cnvs-sys-line-height-body-medium, 1.75rem));color:var(--cnvs-sys-color-fg-default);" },
21
- 'body.small': { name: "49kk55", styles: "font-family:var(--cnvs-sys-font-family-default);font-weight:var(--cnvs-sys-font-weight-normal);font-size:var(--cnvs-sys-font-size-body-sm, var(--cnvs-sys-font-size-body-small, 1rem));line-height:var(--cnvs-sys-line-height-body-sm, var(--cnvs-sys-line-height-body-small, 1.5rem));letter-spacing:var(--cnvs-sys-letter-spacing-body-sm, var(--cnvs-sys-type-letter-spacing-body-small));color:var(--cnvs-sys-color-fg-default);" },
19
+ 'body.large': { name: "cl2q6", styles: "font-family:var(--cnvs-sys-font-family-default);font-weight:var(--cnvs-sys-font-weight-normal);font-size:var(--cnvs-sys-font-size-body-lg, var(--cnvs-sys-font-size-body-large, 1.25rem));line-height:var(--cnvs-sys-line-height-body-lg, var(--cnvs-sys-line-height-body-large, 1.75rem));color:var(--cnvs-sys-color-fg-default);" },
20
+ 'body.medium': { name: "10dm96", styles: "font-family:var(--cnvs-sys-font-family-default);font-weight:var(--cnvs-sys-font-weight-normal);font-size:var(--cnvs-sys-font-size-body-md, var(--cnvs-sys-font-size-body-medium, 1.125rem));line-height:var(--cnvs-sys-line-height-body-md, var(--cnvs-sys-line-height-body-medium, 1.75rem));color:var(--cnvs-sys-color-fg-default);" },
21
+ 'body.small': { name: "249ct4", styles: "font-family:var(--cnvs-sys-font-family-default);font-weight:var(--cnvs-sys-font-weight-normal);font-size:var(--cnvs-sys-font-size-body-sm, var(--cnvs-sys-font-size-body-small, 1rem));line-height:var(--cnvs-sys-line-height-body-sm, var(--cnvs-sys-line-height-body-small, 1.5rem));letter-spacing:var(--cnvs-sys-letter-spacing-body-sm, var(--cnvs-sys-type-letter-spacing-body-small));color:var(--cnvs-sys-color-fg-default);" },
22
22
  // Subtext level styles
23
- 'subtext.large': { name: "431u7j", styles: "font-family:var(--cnvs-sys-font-family-default);font-weight:var(--cnvs-sys-font-weight-normal);font-size:var(--cnvs-sys-font-size-subtext-lg, var(--cnvs-sys-font-size-subtext-large, 0.875rem));line-height:var(--cnvs-sys-line-height-subtext-lg, var(--cnvs-sys-line-height-subtext-large, 1.25rem));letter-spacing:var(--cnvs-sys-letter-spacing-subtext-lg, var(--cnvs-sys-type-letter-spacing-subtext-large));color:var(--cnvs-sys-color-fg-default);" },
24
- 'subtext.medium': { name: "20h3l", styles: "font-family:var(--cnvs-sys-font-family-default);font-weight:var(--cnvs-sys-font-weight-normal);font-size:var(--cnvs-sys-font-size-subtext-md, var(--cnvs-sys-font-size-subtext-medium, 0.75rem));line-height:var(--cnvs-sys-line-height-subtext-md, var(--cnvs-sys-line-height-subtext-medium, 1rem));letter-spacing:var(--cnvs-sys-letter-spacing-subtext-md, var(--cnvs-sys-type-letter-spacing-subtext-medium));color:var(--cnvs-sys-color-fg-default);" },
25
- 'subtext.small': { name: "uro6c", styles: "font-family:var(--cnvs-sys-font-family-default);font-weight:var(--cnvs-sys-font-weight-normal);font-size:var(--cnvs-sys-font-size-subtext-sm, var(--cnvs-sys-font-size-subtext-small, 0.625rem));line-height:var(--cnvs-sys-line-height-subtext-sm, var(--cnvs-sys-line-height-subtext-small, 1rem));letter-spacing:var(--cnvs-sys-letter-spacing-subtext-sm, var(--cnvs-sys-type-letter-spacing-subtext-small));color:var(--cnvs-sys-color-fg-default);" }
23
+ 'subtext.large': { name: "1z0wn9", styles: "font-family:var(--cnvs-sys-font-family-default);font-weight:var(--cnvs-sys-font-weight-normal);font-size:var(--cnvs-sys-font-size-subtext-lg, var(--cnvs-sys-font-size-subtext-large, 0.875rem));line-height:var(--cnvs-sys-line-height-subtext-lg, var(--cnvs-sys-line-height-subtext-large, 1.25rem));letter-spacing:var(--cnvs-sys-letter-spacing-subtext-lg, var(--cnvs-sys-type-letter-spacing-subtext-large));color:var(--cnvs-sys-color-fg-default);" },
24
+ 'subtext.medium': { name: "1d94r0", styles: "font-family:var(--cnvs-sys-font-family-default);font-weight:var(--cnvs-sys-font-weight-normal);font-size:var(--cnvs-sys-font-size-subtext-md, var(--cnvs-sys-font-size-subtext-medium, 0.75rem));line-height:var(--cnvs-sys-line-height-subtext-md, var(--cnvs-sys-line-height-subtext-medium, 1rem));letter-spacing:var(--cnvs-sys-letter-spacing-subtext-md, var(--cnvs-sys-type-letter-spacing-subtext-medium));color:var(--cnvs-sys-color-fg-default);" },
25
+ 'subtext.small': { name: "2pu9wu", styles: "font-family:var(--cnvs-sys-font-family-default);font-weight:var(--cnvs-sys-font-weight-normal);font-size:var(--cnvs-sys-font-size-subtext-sm, var(--cnvs-sys-font-size-subtext-small, 0.625rem));line-height:var(--cnvs-sys-line-height-subtext-sm, var(--cnvs-sys-line-height-subtext-small, 1rem));letter-spacing:var(--cnvs-sys-letter-spacing-subtext-sm, var(--cnvs-sys-type-letter-spacing-subtext-small));color:var(--cnvs-sys-color-fg-default);" }
26
26
  },
27
27
  variant: {
28
- error: { name: "2d48ed", styles: "color:var(--cnvs-sys-color-brand-fg-critical-default, var(--cnvs-brand-error-base, oklch(0.5342 0.2172 29.53 / 1)));" },
29
- hint: { name: "4bjmdv", styles: "color:var(--cnvs-sys-color-fg-muted-default);" },
30
- inverse: { name: "anrd6", styles: "color:var(--cnvs-sys-color-fg-inverse);" }
28
+ error: { name: "3jii9c", styles: "color:var(--cnvs-sys-color-brand-fg-critical-default, var(--cnvs-brand-error-base, oklch(0.5342 0.2172 29.53 / 1)));" },
29
+ hint: { name: "1okwjq", styles: "color:var(--cnvs-sys-color-fg-muted-default);" },
30
+ inverse: { name: "kqso8", styles: "color:var(--cnvs-sys-color-fg-inverse);" }
31
31
  }
32
32
  }
33
33
  }, "text-479eff");
@@ -5,7 +5,7 @@ import { createStencil } from '@workday/canvas-kit-styling';
5
5
  import { textStencil } from './Text';
6
6
  const subtextStencil = createStencil({
7
7
  extends: textStencil,
8
- base: { name: "4fhc5a", styles: "box-sizing:border-box;" }
8
+ base: { name: "3fma8e", styles: "box-sizing:border-box;" }
9
9
  }, "subtext-5f1e4c");
10
10
  /**
11
11
  * This component is intended to be used for small subtext content or in tight spaces.
@@ -40,7 +40,7 @@ export const Subtext = createComponent('p')({
40
40
  });
41
41
  const bodyTextStencil = createStencil({
42
42
  extends: textStencil,
43
- base: { name: "2rysot", styles: "box-sizing:border-box;" }
43
+ base: { name: "2i3zui", styles: "box-sizing:border-box;" }
44
44
  }, "body-text-3fa494");
45
45
  /**
46
46
  * This component is intended to be used for standard body text.
@@ -75,7 +75,7 @@ export const BodyText = createComponent('p')({
75
75
  });
76
76
  export const headingStencil = createStencil({
77
77
  extends: textStencil,
78
- base: { name: "2g6ku", styles: "box-sizing:border-box;" }
78
+ base: { name: "3rykql", styles: "box-sizing:border-box;" }
79
79
  }, "heading-5f541c");
80
80
  /**
81
81
  * This component is intended to be used for headings and large text.
@@ -110,7 +110,7 @@ export const Heading = createComponent('h2')({
110
110
  });
111
111
  const titleStencil = createStencil({
112
112
  extends: textStencil,
113
- base: { name: "2kveku", styles: "box-sizing:border-box;" }
113
+ base: { name: "11nv2g", styles: "box-sizing:border-box;" }
114
114
  }, "title-ee184f");
115
115
  /**
116
116
  * This component is intended to be used large page titles.
@@ -11,13 +11,13 @@ export const TextAreaResizeDirection = {
11
11
  };
12
12
  export const textAreaStencil = createStencil({
13
13
  extends: textInputStencil,
14
- base: { name: "pb9wa", styles: "box-sizing:border-box;min-height:var(--cnvs-sys-size-xxl, var(--cnvs-sys-space-x16, 4rem));min-width:17.5rem;&::webkit-resizer{display:none;}" },
14
+ base: { name: "2epen3", styles: "box-sizing:border-box;min-height:var(--cnvs-sys-size-xxl, var(--cnvs-sys-space-x16, 4rem));min-width:17.5rem;&::webkit-resizer{display:none;}" },
15
15
  modifiers: {
16
16
  resize: {
17
- both: { name: "3xy97v", styles: "resize:both;" },
18
- horizontal: { name: "yjiw8", styles: "resize:horizontal;" },
19
- vertical: { name: "144r9h", styles: "resize:vertical;" },
20
- none: { name: "26adf9", styles: "resize:none;" }
17
+ both: { name: "iaat6", styles: "resize:both;" },
18
+ horizontal: { name: "1v50o", styles: "resize:horizontal;" },
19
+ vertical: { name: "2x1hmp", styles: "resize:vertical;" },
20
+ none: { name: "2ljlam", styles: "resize:none;" }
21
21
  }
22
22
  },
23
23
  defaultModifiers: {
@@ -36,10 +36,10 @@ export const inputGroupInnerStencil = createStencil({
36
36
  */
37
37
  pointerEvents: '',
38
38
  },
39
- base: { name: "1lu0jj", styles: "--insetInlineStart-input-group-inner-fddb83:initial;--insetInlineEnd-input-group-inner-fddb83:initial;--width-input-group-inner-fddb83:var(--cnvs-sys-size-md, var(--cnvs-sys-space-x10, 2.5rem));--height-input-group-inner-fddb83:var(--cnvs-sys-size-md, var(--cnvs-sys-space-x10, 2.5rem));box-sizing:border-box;display:flex;position:absolute;align-items:center;justify-content:center;width:var(--width-input-group-inner-fddb83);height:var(--height-input-group-inner-fddb83);inset-inline-start:var(--insetInlineStart-input-group-inner-fddb83);inset-inline-end:var(--insetInlineEnd-input-group-inner-fddb83);--size-svg-bca693:var(--cnvs-component-system-icon-size-xs);" },
39
+ base: { name: "46rkar", styles: "--insetInlineStart-input-group-inner-fddb83:initial;--insetInlineEnd-input-group-inner-fddb83:initial;--width-input-group-inner-fddb83:var(--cnvs-sys-size-md, var(--cnvs-sys-space-x10, 2.5rem));--height-input-group-inner-fddb83:var(--cnvs-sys-size-md, var(--cnvs-sys-space-x10, 2.5rem));box-sizing:border-box;display:flex;position:absolute;align-items:center;justify-content:center;width:var(--width-input-group-inner-fddb83);height:var(--height-input-group-inner-fddb83);inset-inline-start:var(--insetInlineStart-input-group-inner-fddb83);inset-inline-end:var(--insetInlineEnd-input-group-inner-fddb83);--size-svg-bca693:var(--cnvs-component-system-icon-size-xs);" },
40
40
  modifiers: {
41
41
  pointerEvents: {
42
- _: { name: "3gfxy6", styles: "pointer-events:var(--pointerEvents-input-group-inner-fddb83);" }
42
+ _: { name: "2ssub9", styles: "pointer-events:var(--pointerEvents-input-group-inner-fddb83);" }
43
43
  }
44
44
  }
45
45
  }, "input-group-inner-fddb83");
@@ -77,13 +77,13 @@ export const inputGroupInputStencil = createStencil({
77
77
  paddingInlineStart: '',
78
78
  paddingInlineEnd: '',
79
79
  },
80
- base: { name: "5j23c", styles: "box-sizing:border-box;display:flex;width:100%;" },
80
+ base: { name: "2kaos0", styles: "box-sizing:border-box;display:flex;width:100%;" },
81
81
  modifiers: {
82
82
  paddingInlineStart: {
83
- _: { name: "388w5n", styles: "padding-inline-start:var(--paddingInlineStart-input-group-input-b51031);" }
83
+ _: { name: "4frizg", styles: "padding-inline-start:var(--paddingInlineStart-input-group-input-b51031);" }
84
84
  },
85
85
  paddingInlineEnd: {
86
- _: { name: "1bmu2s", styles: "padding-inline-end:var(--paddingInlineEnd-input-group-input-b51031);" }
86
+ _: { name: "1rh75t", styles: "padding-inline-end:var(--paddingInlineEnd-input-group-input-b51031);" }
87
87
  }
88
88
  }
89
89
  }, "input-group-input-b51031");
@@ -117,7 +117,7 @@ export const useClearButton = createElemPropsHook(useInputGroupModel)(model => {
117
117
  };
118
118
  });
119
119
  const clearButtonStencil = createStencil({
120
- base: { name: "3cbvlp", styles: "box-sizing:border-box;svg{--size-svg-bca693:var(--cnvs-component-system-icon-size-xs);}" }
120
+ base: { name: "24e7hi", styles: "box-sizing:border-box;svg{--size-svg-bca693:var(--cnvs-component-system-icon-size-xs);}" }
121
121
  }, "clear-button-49e5c1");
122
122
  /**
123
123
  * A clear input button. This can be a component later.
@@ -144,7 +144,7 @@ const wrapInCalc = (values) => {
144
144
  return `calc(${values.map(toPx).join(' + ')})`;
145
145
  };
146
146
  export const inputGroupStencil = createStencil({
147
- base: { name: "hmn4y", styles: "box-sizing:border-box;display:flex;position:relative;align-items:center;& :has([data-part=\"input-group-clear-button\"]){transition:opacity 300ms ease;}&:where(:has(input:placeholder-shown)) :has([data-part=\"input-group-clear-button\"]){opacity:0;pointer-events:none;}" }
147
+ base: { name: "2r376u", styles: "box-sizing:border-box;display:flex;position:relative;align-items:center;& :has([data-part=\"input-group-clear-button\"]){transition:opacity 300ms ease;}&:where(:has(input:placeholder-shown)) :has([data-part=\"input-group-clear-button\"]){opacity:0;pointer-events:none;}" }
148
148
  }, "input-group-1aae89");
149
149
  /**
150
150
  * An `InputGroup` is a container around a {@link TextInput} with optional inner start and end
@@ -8,15 +8,15 @@ export const textInputStencil = createStencil({
8
8
  vars: {
9
9
  width: '',
10
10
  },
11
- base: { name: "e8ehn", styles: "box-sizing:border-box;--shape-corner-shape-ccab68:var(--cnvs-sys-shape-lg, 0.75rem);font-family:var(--cnvs-sys-font-family-default);font-size:var(--cnvs-sys-font-size-subtext-lg, var(--cnvs-sys-font-size-subtext-large, 0.875rem));font-weight:var(--cnvs-sys-font-weight-normal);line-height:var(--cnvs-sys-line-height-subtext-lg, var(--cnvs-sys-line-height-subtext-large, 1.25rem));letter-spacing:var(--cnvs-sys-letter-spacing-subtext-lg, var(--cnvs-sys-type-letter-spacing-subtext-large));display:block;border:0.0625rem solid var(--cnvs-sys-color-border-input-default);background-color:var(--cnvs-sys-color-surface-default, var(--cnvs-sys-color-bg-default, oklch(1 0 0 / 1)));height:var(--cnvs-sys-size-md, var(--cnvs-sys-space-x10, 2.5rem));transition:0.2s box-shadow, 0.2s border-color;padding:var(--cnvs-sys-padding-xs, var(--cnvs-sys-space-x2, 0.5rem));margin:0;width:var(--width-text-input-7c8776);min-width:var(--width-text-input-7c8776, 17.5rem);color:var(--cnvs-sys-color-fg-default);text-overflow:ellipsis;::-ms-clear{display:none;}&::placeholder{color:var(--cnvs-sys-color-fg-muted-default);}&:is(:hover, .hover):where(:not([disabled], .disabled)){border-color:var(--cnvs-sys-color-border-input-hover, var(--cnvs-sys-color-border-input-strong, oklch(0.1595 0.0431 250.87 / 0.7)));}&:is(:focus-visible, .focus):where(:not([disabled])){border-color:var(--cnvs-sys-color-brand-focus-primary, var(--cnvs-brand-common-focus-outline, oklch(0.6023 0.2032 255.68 / 1)));box-shadow:inset 0 0 0 1px var(--cnvs-sys-color-brand-focus-primary, var(--cnvs-brand-common-focus-outline, oklch(0.6023 0.2032 255.68 / 1)));outline:0.125rem solid transparent;}&:is(:disabled, .disabled){opacity:var(--cnvs-sys-opacity-disabled);&::placeholder{opacity:var(--cnvs-sys-opacity-disabled);}}" },
11
+ base: { name: "1jrfhl", styles: "box-sizing:border-box;--shape-corner-shape-ccab68:var(--cnvs-sys-shape-lg, 0.75rem);font-family:var(--cnvs-sys-font-family-default);font-size:var(--cnvs-sys-font-size-subtext-lg, var(--cnvs-sys-font-size-subtext-large, 0.875rem));font-weight:var(--cnvs-sys-font-weight-normal);line-height:var(--cnvs-sys-line-height-subtext-lg, var(--cnvs-sys-line-height-subtext-large, 1.25rem));letter-spacing:var(--cnvs-sys-letter-spacing-subtext-lg, var(--cnvs-sys-type-letter-spacing-subtext-large));display:block;border:0.0625rem solid var(--cnvs-sys-color-border-input-default);background-color:var(--cnvs-sys-color-surface-default, var(--cnvs-sys-color-bg-default, oklch(1 0 0 / 1)));height:var(--cnvs-sys-size-md, var(--cnvs-sys-space-x10, 2.5rem));transition:0.2s box-shadow, 0.2s border-color;padding:var(--cnvs-sys-padding-xs, var(--cnvs-sys-space-x2, 0.5rem));margin:0;width:var(--width-text-input-7c8776);min-width:var(--width-text-input-7c8776, 17.5rem);color:var(--cnvs-sys-color-fg-default);text-overflow:ellipsis;::-ms-clear{display:none;}&::placeholder{color:var(--cnvs-sys-color-fg-muted-default);}&:is(:hover, .hover):where(:not([disabled], .disabled)){border-color:var(--cnvs-sys-color-border-input-hover, var(--cnvs-sys-color-border-input-strong, oklch(0.1595 0.0431 250.87 / 0.7)));}&:is(:focus-visible, .focus):where(:not([disabled])){border-color:var(--cnvs-sys-color-brand-focus-primary, var(--cnvs-brand-common-focus-outline, oklch(0.6023 0.2032 255.68 / 1)));box-shadow:inset 0 0 0 1px var(--cnvs-sys-color-brand-focus-primary, var(--cnvs-brand-common-focus-outline, oklch(0.6023 0.2032 255.68 / 1)));outline:0.125rem solid transparent;}&:is(:disabled, .disabled){opacity:var(--cnvs-sys-opacity-disabled);&::placeholder{opacity:var(--cnvs-sys-opacity-disabled);}}" },
12
12
  modifiers: {
13
13
  grow: {
14
- true: { name: "3ltvvl", styles: "width:100%;resize:vertical;" },
15
- false: { name: "y4t3f", styles: "width:initial;" }
14
+ true: { name: "3qcong", styles: "width:100%;resize:vertical;" },
15
+ false: { name: "2dlkcg", styles: "width:initial;" }
16
16
  },
17
17
  error: {
18
- error: { name: "2bzot9", styles: "border-color:var(--cnvs-sys-color-brand-border-critical, oklch(0.6495 0.2369 30.04 / 1));box-shadow:inset 0 0 0 0.125rem var(--cnvs-sys-color-brand-border-critical, oklch(0.6495 0.2369 30.04 / 1));&:is(:hover, .hover, :disabled, .disabled, :focus-visible:not([disabled]), .focus:not([disabled])){border-color:var(--cnvs-sys-color-brand-border-critical, oklch(0.6495 0.2369 30.04 / 1));}&:is(:focus-visible, .focus):not([disabled]){box-shadow:inset 0 0 0 0.125rem var(--cnvs-sys-color-brand-border-critical, oklch(0.6495 0.2369 30.04 / 1)),\n 0 0 0 2px var(--cnvs-sys-color-focus-inverse, var(--cnvs-sys-color-border-input-inverse, oklch(1 0 0 / 1))),\n 0 0 0 4px var(--cnvs-sys-color-brand-border-primary, oklch(0.6023 0.2032 255.68 / 1));outline-offset:0.125rem;}@media (forced-colors: active){outline:solid 0.25rem ButtonBorder;}" },
19
- caution: { name: "1p53do", styles: "border-color:var(--cnvs-sys-color-brand-border-caution, var(--cnvs-brand-alert-dark, oklch(0.6601 0.1537 60.7 / 1)));box-shadow:inset 0 0 0 0.125rem var(--cnvs-sys-color-brand-focus-caution-inner, var(--cnvs-brand-common-alert-inner, oklch(0.7909 0.1711 70.15 / 1)));&:is(:hover, .hover, :disabled, .disabled, :focus-visible:not([disabled]), .focus:not([disabled])){border-color:var(--cnvs-sys-color-brand-border-caution, var(--cnvs-brand-alert-dark, oklch(0.6601 0.1537 60.7 / 1)));}&:is(:focus-visible, .focus):not([disabled]){box-shadow:inset 0 0 0 0.125rem var(--cnvs-sys-color-brand-focus-caution-inner, var(--cnvs-brand-common-alert-inner, oklch(0.7909 0.1711 70.15 / 1))),\n 0 0 0 2px var(--cnvs-sys-color-focus-inverse, var(--cnvs-sys-color-border-input-inverse, oklch(1 0 0 / 1))),\n 0 0 0 4px var(--cnvs-sys-color-brand-border-primary, oklch(0.6023 0.2032 255.68 / 1));}outline-offset:0.125rem;@media (forced-colors: active){outline:solid 0.25rem ButtonBorder;outline-offset:0;}" }
18
+ error: { name: "wuaww", styles: "border-color:var(--cnvs-sys-color-brand-border-critical, oklch(0.6495 0.2369 30.04 / 1));box-shadow:inset 0 0 0 0.125rem var(--cnvs-sys-color-brand-border-critical, oklch(0.6495 0.2369 30.04 / 1));&:is(:hover, .hover, :disabled, .disabled, :focus-visible:not([disabled]), .focus:not([disabled])){border-color:var(--cnvs-sys-color-brand-border-critical, oklch(0.6495 0.2369 30.04 / 1));}&:is(:focus-visible, .focus):not([disabled]){box-shadow:inset 0 0 0 0.125rem var(--cnvs-sys-color-brand-border-critical, oklch(0.6495 0.2369 30.04 / 1)),\n 0 0 0 2px var(--cnvs-sys-color-focus-inverse, var(--cnvs-sys-color-border-input-inverse, oklch(1 0 0 / 1))),\n 0 0 0 4px var(--cnvs-sys-color-brand-border-primary, oklch(0.6023 0.2032 255.68 / 1));outline-offset:0.125rem;}@media (forced-colors: active){outline:solid 0.25rem ButtonBorder;}" },
19
+ caution: { name: "2vcxoa", styles: "border-color:var(--cnvs-sys-color-brand-border-caution, var(--cnvs-brand-alert-dark, oklch(0.6601 0.1537 60.7 / 1)));box-shadow:inset 0 0 0 0.125rem var(--cnvs-sys-color-brand-focus-caution-inner, var(--cnvs-brand-common-alert-inner, oklch(0.7909 0.1711 70.15 / 1)));&:is(:hover, .hover, :disabled, .disabled, :focus-visible:not([disabled]), .focus:not([disabled])){border-color:var(--cnvs-sys-color-brand-border-caution, var(--cnvs-brand-alert-dark, oklch(0.6601 0.1537 60.7 / 1)));}&:is(:focus-visible, .focus):not([disabled]){box-shadow:inset 0 0 0 0.125rem var(--cnvs-sys-color-brand-focus-caution-inner, var(--cnvs-brand-common-alert-inner, oklch(0.7909 0.1711 70.15 / 1))),\n 0 0 0 2px var(--cnvs-sys-color-focus-inverse, var(--cnvs-sys-color-border-input-inverse, oklch(1 0 0 / 1))),\n 0 0 0 4px var(--cnvs-sys-color-brand-border-primary, oklch(0.6023 0.2032 255.68 / 1));}outline-offset:0.125rem;@media (forced-colors: active){outline:solid 0.25rem ButtonBorder;outline-offset:0;}" }
20
20
  }
21
21
  },
22
22
  defaultModifiers: {
@@ -42,7 +42,7 @@ const getAriaAttributes = (mode, id) => {
42
42
  }
43
43
  };
44
44
  const toastStencil = createStencil({
45
- base: { name: "hyc15", styles: "box-sizing:border-box;display:flex;flex-direction:row;width:22.5rem;padding-block:var(--cnvs-sys-padding-sm, var(--cnvs-sys-space-x3, 0.75rem));padding-inline:var(--cnvs-sys-padding-md, var(--cnvs-sys-space-x4, 1rem)) var(--cnvs-sys-padding-xl, var(--cnvs-sys-space-x6, 1.5rem));gap:var(--cnvs-base-size-150, 0.75rem);border-radius:var(--cnvs-sys-shape-xl, var(--cnvs-sys-shape-x4, 1rem));border:0.0625rem solid var(--cnvs-sys-color-border-default);box-shadow:var(--cnvs-sys-depth-5);@media (forced-colors: active){outline:0.0625rem solid CanvasText;}variant{alt{border:0.0625rem solid var(--cnvs-sys-color-border-elevated, oklch(1 0 0 / 1));}tonal{}}" }
45
+ base: { name: "267674", styles: "box-sizing:border-box;display:flex;flex-direction:row;width:22.5rem;padding-block:var(--cnvs-sys-padding-sm, var(--cnvs-sys-space-x3, 0.75rem));padding-inline:var(--cnvs-sys-padding-md, var(--cnvs-sys-space-x4, 1rem)) var(--cnvs-sys-padding-xl, var(--cnvs-sys-space-x6, 1.5rem));gap:var(--cnvs-base-size-150, 0.75rem);border-radius:var(--cnvs-sys-shape-xl, var(--cnvs-sys-shape-x4, 1rem));border:0.0625rem solid var(--cnvs-sys-color-border-default);box-shadow:var(--cnvs-sys-depth-5);@media (forced-colors: active){outline:0.0625rem solid CanvasText;}variant{alt{border:0.0625rem solid var(--cnvs-sys-color-border-elevated, oklch(1 0 0 / 1));}tonal{}}" }
46
46
  }, "toast-4e8aec");
47
47
  /**
48
48
  * Toast is a compound component that has different modes based on its contents. The modes add the proper aria attributes for accessibility
@@ -3,7 +3,7 @@ import { createComponent } from '@workday/canvas-kit-react/common';
3
3
  import { Flex, mergeStyles } from '@workday/canvas-kit-react/layout';
4
4
  import { createStencil } from '@workday/canvas-kit-styling';
5
5
  export const toastBodyStencil = createStencil({
6
- base: { name: "q8gz0", styles: "box-sizing:border-box;align-items:flex-start;flex-direction:column;justify-content:center;flex-grow:1;gap:0;" }
6
+ base: { name: "gk71h", styles: "box-sizing:border-box;align-items:flex-start;flex-direction:column;justify-content:center;flex-grow:1;gap:0;" }
7
7
  }, "toast-body-36e90e");
8
8
  export const ToastBody = createComponent('div')({
9
9
  displayName: 'Toast.Body',
@@ -5,7 +5,7 @@ import { Popup } from '@workday/canvas-kit-react/popup';
5
5
  import { createStencil } from '@workday/canvas-kit-styling';
6
6
  import { base } from '@workday/canvas-tokens-web';
7
7
  export const toastCloseIconStencil = createStencil({
8
- base: { name: "2wc5hg", styles: "box-sizing:border-box;position:absolute;inset-block-start:var(--cnvs-base-size-50, 0.25rem);inset-inline-end:var(--cnvs-base-size-50, 0.25rem);" }
8
+ base: { name: "upm4p", styles: "box-sizing:border-box;position:absolute;inset-block-start:var(--cnvs-base-size-50, 0.25rem);inset-inline-end:var(--cnvs-base-size-50, 0.25rem);" }
9
9
  }, "toast-close-icon-05fbc5");
10
10
  export const ToastCloseIcon = createComponent('button')({
11
11
  displayName: 'Toast.CloseIcon',
@@ -4,7 +4,7 @@ import { SystemIcon } from '@workday/canvas-kit-react/icon';
4
4
  import { createStencil, handleCsProp } from '@workday/canvas-kit-styling';
5
5
  import { component } from '@workday/canvas-tokens-web';
6
6
  export const toastIconStencil = createStencil({
7
- base: { name: "174zjx", styles: "box-sizing:border-box;align-self:start;" }
7
+ base: { name: "49vc3d", styles: "box-sizing:border-box;align-self:start;" }
8
8
  }, "toast-icon-7830d1");
9
9
  export const ToastIcon = createComponent('div')({
10
10
  displayName: 'Toast.Icon',
@@ -5,7 +5,7 @@ import { Subtext } from '@workday/canvas-kit-react/text';
5
5
  import { createStencil } from '@workday/canvas-kit-styling';
6
6
  import { useToastModel } from './hooks/useToastModel';
7
7
  export const toastMessageStencil = createStencil({
8
- base: { name: "1zfidy", styles: "box-sizing:border-box;word-break:break-word;margin-block:0;" }
8
+ base: { name: "1zc234", styles: "box-sizing:border-box;word-break:break-word;margin-block:0;" }
9
9
  }, "toast-message-ff5220");
10
10
  export const ToastMessage = createSubcomponent('p')({
11
11
  modelHook: useToastModel,
@@ -11,20 +11,20 @@ const tooltipTranslateVars = createVars({ id: "3e3693", args: ["positionX", "pos
11
11
  /**
12
12
  * Keyframe for the Tooltip animation.
13
13
  */
14
- const tooltipAnimation = keyframes({ name: "358ifw", styles: "0%{opacity:0;transform:translate(var(--positionX-3e3693), var(--positionY-3e3693));}100%{opacity:1;transform:translate(0);}" });
14
+ const tooltipAnimation = keyframes({ name: "1orqfz", styles: "0%{opacity:0;transform:translate(var(--positionX-3e3693), var(--positionY-3e3693));}100%{opacity:1;transform:translate(0);}" });
15
15
  export const tooltipContainerStencil = createStencil({
16
16
  vars: {
17
17
  tooltipTransformOriginHorizontal: '',
18
18
  tooltipTransformOriginVertical: '',
19
19
  background: '',
20
20
  },
21
- base: { name: "25knie", styles: "box-sizing:border-box;font-family:var(--cnvs-sys-font-family-default, \"Roboto\");font-weight:var(--cnvs-sys-font-weight-normal, 400);line-height:var(--cnvs-sys-line-height-subtext-lg, 1.25rem);font-size:var(--cnvs-sys-font-size-subtext-lg, 0.875rem);letter-spacing:var(--cnvs-sys-letter-spacing-subtext-lg, 0.015rem);display:inline-flex;position:relative;padding:0.375rem var(--cnvs-sys-padding-sm, var(--cnvs-sys-space-x3, 0.75rem));color:var(--cnvs-sys-color-fg-default);animation-name:animation-358ifw;animation-duration:150ms;animation-timing-function:ease-out;transform-origin:var(--tooltipTransformOriginVertical-tooltip-container-3eb75c) var(--tooltipTransformOriginHorizontal-tooltip-container-3eb75c);margin:var(--cnvs-sys-gap-xs, var(--cnvs-sys-space-x1, 0.25rem));a{color:var(--cnvs-sys-color-fg-default);text-decoration:underline;}&:before{content:\"\";border-radius:var(--cnvs-sys-shape-full, var(--cnvs-sys-shape-round, 65rem));border:0.0625rem solid var(--cnvs-sys-color-border-default);z-index:-1;margin:0;background:var(--background-tooltip-container-3eb75c, var(--cnvs-sys-color-surface-default, var(--cnvs-sys-color-bg-default, oklch(1 0 0 / 1))));position:absolute;top:0;left:0;right:0;bottom:0;box-shadow:var(--cnvs-sys-depth-3);}[data-popper-reference-hidden] &{visibility:hidden;pointer-events:none;}[data-popper-placement=\"top-start\"] &, [data-popper-placement=\"bottom-start\"] &{left:calc(var(--cnvs-base-size-50, 0.25rem) * -1);}[data-popper-placement=\"top-end\"] &, [data-popper-placement=\"bottom-end\"] &{right:calc(var(--cnvs-base-size-50, 0.25rem) * -1);}[data-popper-placement=\"left-start\"] &, [data-popper-placement=\"right-start\"] &{top:calc(var(--cnvs-base-size-50, 0.25rem) * -1);}[data-popper-placement=\"left-end\"] &, [data-popper-placement=\"right-end\"] &{bottom:calc(var(--cnvs-base-size-50, 0.25rem) * -1);}@media (forced-colors: active){outline:0.0625rem solid CanvasText;}" },
21
+ base: { name: "17o1wc", styles: "box-sizing:border-box;font-family:var(--cnvs-sys-font-family-default, \"Roboto\");font-weight:var(--cnvs-sys-font-weight-normal, 400);line-height:var(--cnvs-sys-line-height-subtext-lg, 1.25rem);font-size:var(--cnvs-sys-font-size-subtext-lg, 0.875rem);letter-spacing:var(--cnvs-sys-letter-spacing-subtext-lg, 0.015rem);display:inline-flex;position:relative;padding:0.375rem var(--cnvs-sys-padding-sm, var(--cnvs-sys-space-x3, 0.75rem));color:var(--cnvs-sys-color-fg-default);animation-name:animation-1orqfz;animation-duration:150ms;animation-timing-function:ease-out;transform-origin:var(--tooltipTransformOriginVertical-tooltip-container-3eb75c) var(--tooltipTransformOriginHorizontal-tooltip-container-3eb75c);margin:var(--cnvs-sys-gap-xs, var(--cnvs-sys-space-x1, 0.25rem));a{color:var(--cnvs-sys-color-fg-default);text-decoration:underline;}&:before{content:\"\";border-radius:var(--cnvs-sys-shape-full, var(--cnvs-sys-shape-round, 65rem));border:0.0625rem solid var(--cnvs-sys-color-border-default);z-index:-1;margin:0;background:var(--background-tooltip-container-3eb75c, var(--cnvs-sys-color-surface-default, var(--cnvs-sys-color-bg-default, oklch(1 0 0 / 1))));position:absolute;top:0;left:0;right:0;bottom:0;box-shadow:var(--cnvs-sys-depth-3);}[data-popper-reference-hidden] &{visibility:hidden;pointer-events:none;}[data-popper-placement=\"top-start\"] &, [data-popper-placement=\"bottom-start\"] &{left:calc(var(--cnvs-base-size-50, 0.25rem) * -1);}[data-popper-placement=\"top-end\"] &, [data-popper-placement=\"bottom-end\"] &{right:calc(var(--cnvs-base-size-50, 0.25rem) * -1);}[data-popper-placement=\"left-start\"] &, [data-popper-placement=\"right-start\"] &{top:calc(var(--cnvs-base-size-50, 0.25rem) * -1);}[data-popper-placement=\"left-end\"] &, [data-popper-placement=\"right-end\"] &{bottom:calc(var(--cnvs-base-size-50, 0.25rem) * -1);}@media (forced-colors: active){outline:0.0625rem solid CanvasText;}" },
22
22
  modifiers: {
23
23
  elementHasFocus: {
24
- true: { name: "vxts4", styles: "margin:0.375rem;" }
24
+ true: { name: "2b6bjs", styles: "margin:0.375rem;" }
25
25
  },
26
26
  variant: {
27
- alt: { name: "hjtl", styles: "&:before{background:var(--background-tooltip-container-3eb75c, var(--cnvs-sys-color-surface-elevated, linear-gradient(0deg, oklch(1 0 89.88 / 0.374) 0%, oklch(1 0 89.88 / 0.374) 100%), linear-gradient(0deg, oklch(0 0 0 / 0.0196) 0%, oklch(0 0 0 / 0.0196) 100%), oklch(1 0 0 / 1)));border:0.0625rem solid var(--cnvs-sys-color-border-elevated, oklch(1 0 0 / 1));}" }
27
+ alt: { name: "rrmp6", styles: "&:before{background:var(--background-tooltip-container-3eb75c, var(--cnvs-sys-color-surface-elevated, linear-gradient(0deg, oklch(1 0 89.88 / 0.374) 0%, oklch(1 0 89.88 / 0.374) 100%), linear-gradient(0deg, oklch(0 0 0 / 0.0196) 0%, oklch(0 0 0 / 0.0196) 100%), oklch(1 0 0 / 1)));border:0.0625rem solid var(--cnvs-sys-color-border-elevated, oklch(1 0 0 / 1));}" }
28
28
  }
29
29
  }
30
30
  }, "tooltip-container-3eb75c");
@@ -1 +1 @@
1
- export const version = '16.1.7';
1
+ export const version = '16.1.8';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@workday/canvas-kit-react",
3
- "version": "17.0.0-alpha.0631-next.0",
3
+ "version": "17.0.0-alpha.0635-next.0",
4
4
  "description": "The parent module that contains all Workday Canvas Kit React components",
5
5
  "author": "Workday, Inc. (https://www.workday.com)",
6
6
  "license": "Apache-2.0",
@@ -53,8 +53,8 @@
53
53
  "@tanstack/react-virtual": "^3.13.9",
54
54
  "@workday/canvas-colors-web": "^2.0.0",
55
55
  "@workday/canvas-expressive-icons-web": "1.0.2",
56
- "@workday/canvas-kit-popup-stack": "^17.0.0-alpha.0631-next.0",
57
- "@workday/canvas-kit-styling": "^17.0.0-alpha.0631-next.0",
56
+ "@workday/canvas-kit-popup-stack": "^17.0.0-alpha.0635-next.0",
57
+ "@workday/canvas-kit-styling": "^17.0.0-alpha.0635-next.0",
58
58
  "@workday/canvas-system-icons-web": "^5.0.3",
59
59
  "@workday/canvas-tokens-web": "^4.4.0",
60
60
  "@workday/design-assets-types": "^0.3.0",
@@ -69,5 +69,5 @@
69
69
  "@workday/canvas-accent-icons-web": "^3.0.0",
70
70
  "@workday/canvas-applet-icons-web": "^2.0.0"
71
71
  },
72
- "gitHead": "cca2de38ec1c9736ce2d71f962e522a4861b82c2"
72
+ "gitHead": "52625db5c787e0187d80ef31e519daeaf8328501"
73
73
  }
@@ -2,6 +2,7 @@ import * as React from 'react';
2
2
 
3
3
  import {buttonStencil} from '@workday/canvas-kit-react/button';
4
4
  import {
5
+ ListRenderItemContext,
5
6
  isSelected,
6
7
  useListItemRegister,
7
8
  useListItemRovingFocus,
@@ -173,6 +174,43 @@ export const StyledTabItem = createComponent('button')<TabsItemProps>({
173
174
  },
174
175
  });
175
176
 
177
+ /**
178
+ * When the selected tab receives ArrowDown, move focus to its tab panel.
179
+ * Returning `null` is the mergeCallback sentinel that stops later-merged
180
+ * `onKeyDown` handlers (including roving focus) from also handling this key.
181
+ * This hook must be composed before `useListItemRovingFocus` so it runs after
182
+ * that hook and its return value can skip the roving handler.
183
+ * Tabs.OverflowButton does not use this hook.
184
+ *
185
+ * ArrowDown is only intercepted in horizontal orientation. In a vertical tablist,
186
+ * ArrowDown is the roving-navigation key and must reach `useListItemRovingFocus`.
187
+ */
188
+ const useTabsItemFocusPanelOnArrowDown = createElemPropsHook(useTabsModel)((
189
+ {state},
190
+ _,
191
+ elemProps: {'data-id'?: string} = {}
192
+ ) => {
193
+ const {item} = React.useContext(ListRenderItemContext);
194
+ const name = elemProps['data-id'] || item?.id || '';
195
+ const selected = !!name && isSelected(name, state);
196
+
197
+ return {
198
+ onKeyDown(event: React.KeyboardEvent<HTMLElement>) {
199
+ if (!selected || state.orientation !== 'horizontal' || event.key !== 'ArrowDown') {
200
+ return;
201
+ }
202
+ event.preventDefault();
203
+ const panelId = slugify(`tabpanel-${state.id}-${name}`);
204
+ const panel = document.getElementById(panelId);
205
+ if (panel) {
206
+ (panel as HTMLElement).focus();
207
+ }
208
+ // mergeCallback: `null` prevents the roving-focus onKeyDown from running.
209
+ return null;
210
+ },
211
+ };
212
+ });
213
+
176
214
  export const useTabsItem = composeHooks(
177
215
  createElemPropsHook(useTabsModel)(({state}, _, elemProps: {'data-id'?: string} = {}) => {
178
216
  const name = elemProps['data-id'] || '';
@@ -188,6 +226,7 @@ export const useTabsItem = composeHooks(
188
226
  }),
189
227
  useListItemSelect,
190
228
  useOverflowListItemMeasure,
229
+ useTabsItemFocusPanelOnArrowDown,
191
230
  useListItemRovingFocus,
192
231
  useListItemRegister
193
232
  );