@workday/canvas-kit-react 15.0.0-alpha.0008-next.0 → 15.0.0-alpha.0023-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 (325) hide show
  1. package/banner/lib/hooks/useThemedPalette.ts +6 -0
  2. package/common/lib/CanvasProvider.tsx +6 -0
  3. package/common/lib/theming/README.md +104 -444
  4. package/common/lib/theming/getObjectProxy.ts +1 -0
  5. package/common/lib/theming/index.ts +28 -0
  6. package/common/lib/theming/types.ts +19 -1
  7. package/common/lib/utils/colorUtils.ts +2 -1
  8. package/dist/commonjs/action-bar/lib/ActionBarList.js +1 -1
  9. package/dist/commonjs/action-bar/lib/ActionBarOverflowButton.js +1 -1
  10. package/dist/commonjs/avatar/lib/Avatar.js +20 -20
  11. package/dist/commonjs/badge/lib/CountBadge.js +6 -6
  12. package/dist/commonjs/banner/lib/Banner.js +5 -5
  13. package/dist/commonjs/banner/lib/BannerActionText.js +2 -2
  14. package/dist/commonjs/banner/lib/BannerIcon.js +1 -1
  15. package/dist/commonjs/banner/lib/BannerLabel.js +1 -1
  16. package/dist/commonjs/banner/lib/hooks/useThemedPalette.d.ts +6 -0
  17. package/dist/commonjs/banner/lib/hooks/useThemedPalette.d.ts.map +1 -1
  18. package/dist/commonjs/banner/lib/hooks/useThemedPalette.js +6 -0
  19. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsCurrentItem.js +1 -1
  20. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsItem.js +1 -1
  21. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsLink.js +1 -1
  22. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsList.js +1 -1
  23. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsMenu.js +2 -2
  24. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsOverflowButton.js +1 -1
  25. package/dist/commonjs/button/lib/BaseButton.js +21 -21
  26. package/dist/commonjs/button/lib/DeleteButton.js +1 -1
  27. package/dist/commonjs/button/lib/ExternalHyperlink.js +1 -1
  28. package/dist/commonjs/button/lib/Hyperlink.js +4 -4
  29. package/dist/commonjs/button/lib/PrimaryButton.js +2 -2
  30. package/dist/commonjs/button/lib/SecondaryButton.js +2 -2
  31. package/dist/commonjs/button/lib/TertiaryButton.js +17 -17
  32. package/dist/commonjs/button/lib/ToolbarDropdownButton.js +3 -3
  33. package/dist/commonjs/button/lib/ToolbarIconButton.js +1 -1
  34. package/dist/commonjs/card/lib/Card.js +3 -3
  35. package/dist/commonjs/card/lib/CardBody.js +1 -1
  36. package/dist/commonjs/card/lib/CardHeading.js +1 -1
  37. package/dist/commonjs/checkbox/lib/CheckBackground.js +3 -3
  38. package/dist/commonjs/checkbox/lib/CheckboxCheck.js +5 -5
  39. package/dist/commonjs/checkbox/lib/CheckboxContainer.js +1 -1
  40. package/dist/commonjs/checkbox/lib/CheckboxInput.js +5 -5
  41. package/dist/commonjs/checkbox/lib/CheckboxRipple.js +1 -1
  42. package/dist/commonjs/collection/lib/ListBox.js +3 -3
  43. package/dist/commonjs/color-picker/lib/ColorInput.js +3 -3
  44. package/dist/commonjs/color-picker/lib/ColorPreview.js +1 -1
  45. package/dist/commonjs/color-picker/lib/parts/ColorSwatch.js +2 -2
  46. package/dist/commonjs/combobox/lib/ComboboxMenuList.js +1 -1
  47. package/dist/commonjs/common/lib/AccessibleHide.js +1 -1
  48. package/dist/commonjs/common/lib/CanvasProvider.d.ts +3 -0
  49. package/dist/commonjs/common/lib/CanvasProvider.d.ts.map +1 -1
  50. package/dist/commonjs/common/lib/CanvasProvider.js +6 -2
  51. package/dist/commonjs/common/lib/theming/getObjectProxy.d.ts +1 -0
  52. package/dist/commonjs/common/lib/theming/getObjectProxy.d.ts.map +1 -1
  53. package/dist/commonjs/common/lib/theming/getObjectProxy.js +1 -0
  54. package/dist/commonjs/common/lib/theming/index.d.ts +28 -0
  55. package/dist/commonjs/common/lib/theming/index.d.ts.map +1 -1
  56. package/dist/commonjs/common/lib/theming/index.js +28 -0
  57. package/dist/commonjs/common/lib/theming/types.d.ts +15 -0
  58. package/dist/commonjs/common/lib/theming/types.d.ts.map +1 -1
  59. package/dist/commonjs/common/lib/theming/types.js +1 -0
  60. package/dist/commonjs/common/lib/utils/colorUtils.d.ts +1 -0
  61. package/dist/commonjs/common/lib/utils/colorUtils.d.ts.map +1 -1
  62. package/dist/commonjs/common/lib/utils/colorUtils.js +1 -0
  63. package/dist/commonjs/expandable/lib/Expandable.js +1 -1
  64. package/dist/commonjs/expandable/lib/ExpandableAvatar.js +1 -1
  65. package/dist/commonjs/expandable/lib/ExpandableContent.js +1 -1
  66. package/dist/commonjs/expandable/lib/ExpandableIcon.js +10 -10
  67. package/dist/commonjs/expandable/lib/ExpandableTarget.js +1 -1
  68. package/dist/commonjs/expandable/lib/ExpandableTitle.js +1 -1
  69. package/dist/commonjs/form-field/lib/FormFieldContainer.js +1 -1
  70. package/dist/commonjs/form-field/lib/FormFieldField.js +1 -1
  71. package/dist/commonjs/form-field/lib/FormFieldGroupLabel.js +5 -5
  72. package/dist/commonjs/form-field/lib/FormFieldGroupList.js +3 -3
  73. package/dist/commonjs/form-field/lib/FormFieldHint.js +3 -3
  74. package/dist/commonjs/form-field/lib/FormFieldLabel.js +6 -6
  75. package/dist/commonjs/form-field/lib/formFieldStencil.js +8 -8
  76. package/dist/commonjs/icon/lib/AccentIcon.js +2 -2
  77. package/dist/commonjs/icon/lib/AppletIcon.js +1 -1
  78. package/dist/commonjs/icon/lib/Graphic.js +4 -4
  79. package/dist/commonjs/icon/lib/Svg.js +3 -3
  80. package/dist/commonjs/icon/lib/SystemIcon.js +1 -1
  81. package/dist/commonjs/icon/lib/SystemIconCircle.js +1 -1
  82. package/dist/commonjs/loading-dots/lib/LoadingDots.js +3 -3
  83. package/dist/commonjs/menu/lib/MenuCard.js +1 -1
  84. package/dist/commonjs/menu/lib/MenuDivider.js +1 -1
  85. package/dist/commonjs/menu/lib/MenuGroup.js +1 -1
  86. package/dist/commonjs/menu/lib/MenuItem.js +1 -1
  87. package/dist/commonjs/menu/lib/MenuList.js +3 -3
  88. package/dist/commonjs/modal/lib/ModalBody.js +1 -1
  89. package/dist/commonjs/modal/lib/ModalCard.js +1 -1
  90. package/dist/commonjs/modal/lib/ModalHeading.js +1 -1
  91. package/dist/commonjs/modal/lib/ModalOverflowOverlay.js +1 -1
  92. package/dist/commonjs/modal/lib/ModalOverlay.js +2 -2
  93. package/dist/commonjs/pagination/lib/Pagination/AdditionalDetails.js +2 -2
  94. package/dist/commonjs/pagination/lib/Pagination/Controls.d.ts.map +1 -1
  95. package/dist/commonjs/pagination/lib/Pagination/Controls.js +9 -15
  96. package/dist/commonjs/pagination/lib/Pagination/GoTo/Form.js +1 -1
  97. package/dist/commonjs/pagination/lib/Pagination/GoTo/Label.js +1 -1
  98. package/dist/commonjs/pagination/lib/Pagination/GoTo/TextInput.js +1 -1
  99. package/dist/commonjs/pagination/lib/Pagination/Nav.js +1 -1
  100. package/dist/commonjs/pagination/lib/Pagination/PageButton.js +2 -2
  101. package/dist/commonjs/pagination/lib/Pagination/PageList.js +1 -1
  102. package/dist/commonjs/pagination/lib/Pagination/Pagination.js +1 -1
  103. package/dist/commonjs/pagination/lib/Pagination/common/List.js +2 -2
  104. package/dist/commonjs/popup/lib/PopupBody.js +1 -1
  105. package/dist/commonjs/popup/lib/PopupCard.js +2 -2
  106. package/dist/commonjs/popup/lib/PopupCloseIcon.js +1 -1
  107. package/dist/commonjs/popup/lib/PopupHeading.js +1 -1
  108. package/dist/commonjs/popup/lib/hooks/useDisableBodyScroll.js +1 -1
  109. package/dist/commonjs/segmented-control/index.d.ts +3 -0
  110. package/dist/commonjs/segmented-control/index.d.ts.map +1 -1
  111. package/dist/commonjs/segmented-control/index.js +3 -0
  112. package/dist/commonjs/segmented-control/lib/SegmentedControl.d.ts +1316 -24
  113. package/dist/commonjs/segmented-control/lib/SegmentedControl.d.ts.map +1 -1
  114. package/dist/commonjs/segmented-control/lib/SegmentedControl.js +43 -53
  115. package/dist/commonjs/segmented-control/lib/SegmentedControlItem.d.ts +256 -0
  116. package/dist/commonjs/segmented-control/lib/SegmentedControlItem.d.ts.map +1 -0
  117. package/dist/commonjs/segmented-control/lib/SegmentedControlItem.js +114 -0
  118. package/dist/commonjs/segmented-control/lib/SegmentedControlList.d.ts +153 -0
  119. package/dist/commonjs/segmented-control/lib/SegmentedControlList.d.ts.map +1 -0
  120. package/dist/commonjs/segmented-control/lib/SegmentedControlList.js +34 -0
  121. package/dist/commonjs/segmented-control/lib/hooks/useSegmentedControlItem.d.ts +140 -0
  122. package/dist/commonjs/segmented-control/lib/hooks/useSegmentedControlItem.d.ts.map +1 -0
  123. package/dist/commonjs/segmented-control/lib/hooks/useSegmentedControlItem.js +21 -0
  124. package/dist/commonjs/segmented-control/lib/hooks/useSegmentedControlModel.d.ts +1336 -0
  125. package/dist/commonjs/segmented-control/lib/hooks/useSegmentedControlModel.d.ts.map +1 -0
  126. package/dist/commonjs/segmented-control/lib/hooks/useSegmentedControlModel.js +75 -0
  127. package/dist/commonjs/select/lib/SelectCard.js +1 -1
  128. package/dist/commonjs/select/lib/SelectInput.js +3 -3
  129. package/dist/commonjs/skeleton/lib/Skeleton.js +2 -2
  130. package/dist/commonjs/skeleton/lib/parts/SkeletonHeader.js +1 -1
  131. package/dist/commonjs/skeleton/lib/parts/SkeletonShape.js +1 -1
  132. package/dist/commonjs/skeleton/lib/parts/SkeletonText.js +1 -1
  133. package/dist/commonjs/switch/lib/Switch.js +7 -7
  134. package/dist/commonjs/table/lib/BaseTable.js +1 -1
  135. package/dist/commonjs/table/lib/Table.js +7 -7
  136. package/dist/commonjs/table/lib/parts/BaseTableBody.js +1 -1
  137. package/dist/commonjs/table/lib/parts/BaseTableCaption.js +1 -1
  138. package/dist/commonjs/table/lib/parts/BaseTableCell.js +1 -1
  139. package/dist/commonjs/table/lib/parts/BaseTableHead.js +1 -1
  140. package/dist/commonjs/table/lib/parts/BaseTableHeader.js +1 -1
  141. package/dist/commonjs/table/lib/parts/css-grid-table/TableRow.js +1 -1
  142. package/dist/commonjs/tabs/lib/TabsItem.js +1 -1
  143. package/dist/commonjs/tabs/lib/TabsList.js +8 -8
  144. package/dist/commonjs/tabs/lib/TabsOverflowButton.js +1 -1
  145. package/dist/commonjs/testing/lib/ComponentStatesTable.js +5 -5
  146. package/dist/commonjs/text/lib/LabelText.js +6 -6
  147. package/dist/commonjs/text/lib/Text.js +16 -16
  148. package/dist/commonjs/text/lib/TypeLevelComponents.js +4 -4
  149. package/dist/commonjs/text-area/lib/TextArea.js +5 -5
  150. package/dist/commonjs/text-input/lib/InputGroup.js +6 -6
  151. package/dist/commonjs/text-input/lib/TextInput.js +5 -5
  152. package/dist/commonjs/toast/lib/Toast.js +1 -1
  153. package/dist/commonjs/toast/lib/ToastBody.js +1 -1
  154. package/dist/commonjs/toast/lib/ToastCloseIcon.js +1 -1
  155. package/dist/commonjs/toast/lib/ToastIcon.js +1 -1
  156. package/dist/commonjs/toast/lib/ToastMessage.js +1 -1
  157. package/dist/commonjs/tooltip/lib/TooltipContainer.js +2 -2
  158. package/dist/commonjs/version/lib/version.js +1 -1
  159. package/dist/es6/action-bar/lib/ActionBarList.js +1 -1
  160. package/dist/es6/action-bar/lib/ActionBarOverflowButton.js +1 -1
  161. package/dist/es6/avatar/lib/Avatar.js +20 -20
  162. package/dist/es6/badge/lib/CountBadge.js +6 -6
  163. package/dist/es6/banner/lib/Banner.js +5 -5
  164. package/dist/es6/banner/lib/BannerActionText.js +2 -2
  165. package/dist/es6/banner/lib/BannerIcon.js +1 -1
  166. package/dist/es6/banner/lib/BannerLabel.js +1 -1
  167. package/dist/es6/banner/lib/hooks/useThemedPalette.d.ts +6 -0
  168. package/dist/es6/banner/lib/hooks/useThemedPalette.d.ts.map +1 -1
  169. package/dist/es6/banner/lib/hooks/useThemedPalette.js +6 -0
  170. package/dist/es6/breadcrumbs/lib/BreadcrumbsCurrentItem.js +1 -1
  171. package/dist/es6/breadcrumbs/lib/BreadcrumbsItem.js +1 -1
  172. package/dist/es6/breadcrumbs/lib/BreadcrumbsLink.js +1 -1
  173. package/dist/es6/breadcrumbs/lib/BreadcrumbsList.js +1 -1
  174. package/dist/es6/breadcrumbs/lib/BreadcrumbsMenu.js +2 -2
  175. package/dist/es6/breadcrumbs/lib/BreadcrumbsOverflowButton.js +1 -1
  176. package/dist/es6/button/lib/BaseButton.js +21 -21
  177. package/dist/es6/button/lib/DeleteButton.js +1 -1
  178. package/dist/es6/button/lib/ExternalHyperlink.js +1 -1
  179. package/dist/es6/button/lib/Hyperlink.js +4 -4
  180. package/dist/es6/button/lib/PrimaryButton.js +2 -2
  181. package/dist/es6/button/lib/SecondaryButton.js +2 -2
  182. package/dist/es6/button/lib/TertiaryButton.js +17 -17
  183. package/dist/es6/button/lib/ToolbarDropdownButton.js +3 -3
  184. package/dist/es6/button/lib/ToolbarIconButton.js +1 -1
  185. package/dist/es6/card/lib/Card.js +3 -3
  186. package/dist/es6/card/lib/CardBody.js +1 -1
  187. package/dist/es6/card/lib/CardHeading.js +1 -1
  188. package/dist/es6/checkbox/lib/CheckBackground.js +3 -3
  189. package/dist/es6/checkbox/lib/CheckboxCheck.js +5 -5
  190. package/dist/es6/checkbox/lib/CheckboxContainer.js +1 -1
  191. package/dist/es6/checkbox/lib/CheckboxInput.js +5 -5
  192. package/dist/es6/checkbox/lib/CheckboxRipple.js +1 -1
  193. package/dist/es6/collection/lib/ListBox.js +3 -3
  194. package/dist/es6/color-picker/lib/ColorInput.js +3 -3
  195. package/dist/es6/color-picker/lib/ColorPreview.js +1 -1
  196. package/dist/es6/color-picker/lib/parts/ColorSwatch.js +2 -2
  197. package/dist/es6/combobox/lib/ComboboxMenuList.js +1 -1
  198. package/dist/es6/common/lib/AccessibleHide.js +1 -1
  199. package/dist/es6/common/lib/CanvasProvider.d.ts +3 -0
  200. package/dist/es6/common/lib/CanvasProvider.d.ts.map +1 -1
  201. package/dist/es6/common/lib/CanvasProvider.js +6 -2
  202. package/dist/es6/common/lib/theming/getObjectProxy.d.ts +1 -0
  203. package/dist/es6/common/lib/theming/getObjectProxy.d.ts.map +1 -1
  204. package/dist/es6/common/lib/theming/getObjectProxy.js +1 -0
  205. package/dist/es6/common/lib/theming/index.d.ts +28 -0
  206. package/dist/es6/common/lib/theming/index.d.ts.map +1 -1
  207. package/dist/es6/common/lib/theming/index.js +28 -0
  208. package/dist/es6/common/lib/theming/types.d.ts +15 -0
  209. package/dist/es6/common/lib/theming/types.d.ts.map +1 -1
  210. package/dist/es6/common/lib/theming/types.js +1 -0
  211. package/dist/es6/common/lib/utils/colorUtils.d.ts +1 -0
  212. package/dist/es6/common/lib/utils/colorUtils.d.ts.map +1 -1
  213. package/dist/es6/common/lib/utils/colorUtils.js +1 -0
  214. package/dist/es6/expandable/lib/Expandable.js +1 -1
  215. package/dist/es6/expandable/lib/ExpandableAvatar.js +1 -1
  216. package/dist/es6/expandable/lib/ExpandableContent.js +1 -1
  217. package/dist/es6/expandable/lib/ExpandableIcon.js +10 -10
  218. package/dist/es6/expandable/lib/ExpandableTarget.js +1 -1
  219. package/dist/es6/expandable/lib/ExpandableTitle.js +1 -1
  220. package/dist/es6/form-field/lib/FormFieldContainer.js +1 -1
  221. package/dist/es6/form-field/lib/FormFieldField.js +1 -1
  222. package/dist/es6/form-field/lib/FormFieldGroupLabel.js +5 -5
  223. package/dist/es6/form-field/lib/FormFieldGroupList.js +3 -3
  224. package/dist/es6/form-field/lib/FormFieldHint.js +3 -3
  225. package/dist/es6/form-field/lib/FormFieldLabel.js +6 -6
  226. package/dist/es6/form-field/lib/formFieldStencil.js +8 -8
  227. package/dist/es6/icon/lib/AccentIcon.js +2 -2
  228. package/dist/es6/icon/lib/AppletIcon.js +1 -1
  229. package/dist/es6/icon/lib/Graphic.js +4 -4
  230. package/dist/es6/icon/lib/Svg.js +3 -3
  231. package/dist/es6/icon/lib/SystemIcon.js +1 -1
  232. package/dist/es6/icon/lib/SystemIconCircle.js +1 -1
  233. package/dist/es6/loading-dots/lib/LoadingDots.js +3 -3
  234. package/dist/es6/menu/lib/MenuCard.js +1 -1
  235. package/dist/es6/menu/lib/MenuDivider.js +1 -1
  236. package/dist/es6/menu/lib/MenuGroup.js +1 -1
  237. package/dist/es6/menu/lib/MenuItem.js +1 -1
  238. package/dist/es6/menu/lib/MenuList.js +3 -3
  239. package/dist/es6/modal/lib/ModalBody.js +1 -1
  240. package/dist/es6/modal/lib/ModalCard.js +1 -1
  241. package/dist/es6/modal/lib/ModalHeading.js +1 -1
  242. package/dist/es6/modal/lib/ModalOverflowOverlay.js +1 -1
  243. package/dist/es6/modal/lib/ModalOverlay.js +2 -2
  244. package/dist/es6/pagination/lib/Pagination/AdditionalDetails.js +2 -2
  245. package/dist/es6/pagination/lib/Pagination/Controls.d.ts.map +1 -1
  246. package/dist/es6/pagination/lib/Pagination/Controls.js +9 -15
  247. package/dist/es6/pagination/lib/Pagination/GoTo/Form.js +1 -1
  248. package/dist/es6/pagination/lib/Pagination/GoTo/Label.js +1 -1
  249. package/dist/es6/pagination/lib/Pagination/GoTo/TextInput.js +1 -1
  250. package/dist/es6/pagination/lib/Pagination/Nav.js +1 -1
  251. package/dist/es6/pagination/lib/Pagination/PageButton.js +2 -2
  252. package/dist/es6/pagination/lib/Pagination/PageList.js +1 -1
  253. package/dist/es6/pagination/lib/Pagination/Pagination.js +1 -1
  254. package/dist/es6/pagination/lib/Pagination/common/List.js +2 -2
  255. package/dist/es6/popup/lib/PopupBody.js +1 -1
  256. package/dist/es6/popup/lib/PopupCard.js +2 -2
  257. package/dist/es6/popup/lib/PopupCloseIcon.js +1 -1
  258. package/dist/es6/popup/lib/PopupHeading.js +1 -1
  259. package/dist/es6/popup/lib/hooks/useDisableBodyScroll.js +1 -1
  260. package/dist/es6/segmented-control/index.d.ts +3 -0
  261. package/dist/es6/segmented-control/index.d.ts.map +1 -1
  262. package/dist/es6/segmented-control/index.js +3 -0
  263. package/dist/es6/segmented-control/lib/SegmentedControl.d.ts +1316 -24
  264. package/dist/es6/segmented-control/lib/SegmentedControl.d.ts.map +1 -1
  265. package/dist/es6/segmented-control/lib/SegmentedControl.js +45 -32
  266. package/dist/es6/segmented-control/lib/SegmentedControlItem.d.ts +256 -0
  267. package/dist/es6/segmented-control/lib/SegmentedControlItem.d.ts.map +1 -0
  268. package/dist/es6/segmented-control/lib/SegmentedControlItem.js +88 -0
  269. package/dist/es6/segmented-control/lib/SegmentedControlList.d.ts +153 -0
  270. package/dist/es6/segmented-control/lib/SegmentedControlList.d.ts.map +1 -0
  271. package/dist/es6/segmented-control/lib/SegmentedControlList.js +31 -0
  272. package/dist/es6/segmented-control/lib/hooks/useSegmentedControlItem.d.ts +140 -0
  273. package/dist/es6/segmented-control/lib/hooks/useSegmentedControlItem.d.ts.map +1 -0
  274. package/dist/es6/segmented-control/lib/hooks/useSegmentedControlItem.js +18 -0
  275. package/dist/es6/segmented-control/lib/hooks/useSegmentedControlModel.d.ts +1336 -0
  276. package/dist/es6/segmented-control/lib/hooks/useSegmentedControlModel.d.ts.map +1 -0
  277. package/dist/es6/segmented-control/lib/hooks/useSegmentedControlModel.js +69 -0
  278. package/dist/es6/select/lib/SelectCard.js +1 -1
  279. package/dist/es6/select/lib/SelectInput.js +3 -3
  280. package/dist/es6/skeleton/lib/Skeleton.js +2 -2
  281. package/dist/es6/skeleton/lib/parts/SkeletonHeader.js +1 -1
  282. package/dist/es6/skeleton/lib/parts/SkeletonShape.js +1 -1
  283. package/dist/es6/skeleton/lib/parts/SkeletonText.js +1 -1
  284. package/dist/es6/switch/lib/Switch.js +7 -7
  285. package/dist/es6/table/lib/BaseTable.js +1 -1
  286. package/dist/es6/table/lib/Table.js +7 -7
  287. package/dist/es6/table/lib/parts/BaseTableBody.js +1 -1
  288. package/dist/es6/table/lib/parts/BaseTableCaption.js +1 -1
  289. package/dist/es6/table/lib/parts/BaseTableCell.js +1 -1
  290. package/dist/es6/table/lib/parts/BaseTableHead.js +1 -1
  291. package/dist/es6/table/lib/parts/BaseTableHeader.js +1 -1
  292. package/dist/es6/table/lib/parts/css-grid-table/TableRow.js +1 -1
  293. package/dist/es6/tabs/lib/TabsItem.js +1 -1
  294. package/dist/es6/tabs/lib/TabsList.js +8 -8
  295. package/dist/es6/tabs/lib/TabsOverflowButton.js +1 -1
  296. package/dist/es6/testing/lib/ComponentStatesTable.js +5 -5
  297. package/dist/es6/text/lib/LabelText.js +6 -6
  298. package/dist/es6/text/lib/Text.js +16 -16
  299. package/dist/es6/text/lib/TypeLevelComponents.js +4 -4
  300. package/dist/es6/text-area/lib/TextArea.js +5 -5
  301. package/dist/es6/text-input/lib/InputGroup.js +6 -6
  302. package/dist/es6/text-input/lib/TextInput.js +5 -5
  303. package/dist/es6/toast/lib/Toast.js +1 -1
  304. package/dist/es6/toast/lib/ToastBody.js +1 -1
  305. package/dist/es6/toast/lib/ToastCloseIcon.js +1 -1
  306. package/dist/es6/toast/lib/ToastIcon.js +1 -1
  307. package/dist/es6/toast/lib/ToastMessage.js +1 -1
  308. package/dist/es6/tooltip/lib/TooltipContainer.js +2 -2
  309. package/dist/es6/version/lib/version.js +1 -1
  310. package/package.json +5 -5
  311. package/pagination/lib/Pagination/Controls.tsx +21 -17
  312. package/segmented-control/index.ts +3 -0
  313. package/segmented-control/lib/SegmentedControl.tsx +46 -75
  314. package/segmented-control/lib/SegmentedControlItem.tsx +230 -0
  315. package/segmented-control/lib/SegmentedControlList.tsx +64 -0
  316. package/segmented-control/lib/hooks/useSegmentedControlItem.tsx +33 -0
  317. package/segmented-control/lib/hooks/useSegmentedControlModel.tsx +75 -0
  318. package/testing/lib/ComponentStatesTable.tsx +5 -5
  319. package/dist/commonjs/segmented-control/lib/SegmentedControlButton.d.ts +0 -16
  320. package/dist/commonjs/segmented-control/lib/SegmentedControlButton.d.ts.map +0 -1
  321. package/dist/commonjs/segmented-control/lib/SegmentedControlButton.js +0 -29
  322. package/dist/es6/segmented-control/lib/SegmentedControlButton.d.ts +0 -16
  323. package/dist/es6/segmented-control/lib/SegmentedControlButton.d.ts.map +0 -1
  324. package/dist/es6/segmented-control/lib/SegmentedControlButton.js +0 -26
  325. package/segmented-control/lib/SegmentedControlButton.tsx +0 -114
@@ -0,0 +1,64 @@
1
+ import * as React from 'react';
2
+
3
+ import {createStencil, handleCsProp, px2rem} from '@workday/canvas-kit-styling';
4
+ import {createSubcomponent, ExtractProps} from '@workday/canvas-kit-react/common';
5
+ import {Grid} from '@workday/canvas-kit-react/layout';
6
+ import {system} from '@workday/canvas-tokens-web';
7
+ import {useSegmentedControlModel} from './hooks/useSegmentedControlModel';
8
+ import {useListRenderItems} from '@workday/canvas-kit-react/collection';
9
+
10
+ export interface SegmentedControlListProps<T = any>
11
+ extends Omit<Partial<ExtractProps<typeof Grid, never>>, 'children'> {
12
+ 'aria-label': string;
13
+ children: ((item: T) => React.ReactNode) | React.ReactNode;
14
+ }
15
+
16
+ export const segmentedControlListStencil = createStencil({
17
+ vars: {
18
+ items: '',
19
+ },
20
+ base: {
21
+ display: 'inline-grid',
22
+ backgroundColor: system.color.bg.alt.soft,
23
+ border: `${px2rem(1)} solid ${system.color.border.input.default}`,
24
+ borderRadius: system.shape.x2,
25
+ padding: px2rem(3),
26
+ gridGap: system.space.x2,
27
+ },
28
+ modifiers: {
29
+ disabled: {
30
+ true: {
31
+ opacity: system.opacity.disabled,
32
+ },
33
+ },
34
+ orientation: {
35
+ vertical: ({items}) => ({
36
+ gridTemplateRows: `repeat(${items}, 1fr)`,
37
+ }),
38
+ horizontal: ({items}) => ({
39
+ gridTemplateColumns: `repeat(${items}, 1fr)`,
40
+ }),
41
+ },
42
+ },
43
+ });
44
+
45
+ export const SegmentedControlList = createSubcomponent('div')({
46
+ displayName: 'SegmentedControl.List',
47
+ modelHook: useSegmentedControlModel,
48
+ })<SegmentedControlListProps>(({children, ...elemProps}, Element, model) => {
49
+ return (
50
+ <Element
51
+ role="group"
52
+ {...handleCsProp(
53
+ elemProps,
54
+ segmentedControlListStencil({
55
+ disabled: model.state.disabled,
56
+ items: `${model.state.items.length}`,
57
+ orientation: model.state.orientation,
58
+ })
59
+ )}
60
+ >
61
+ {useListRenderItems(model, children)}
62
+ </Element>
63
+ );
64
+ });
@@ -0,0 +1,33 @@
1
+ import * as React from 'react';
2
+
3
+ import {createElemPropsHook, composeHooks} from '@workday/canvas-kit-react/common';
4
+ import {
5
+ useListItemRegister,
6
+ isSelected,
7
+ useListItemSelect,
8
+ } from '@workday/canvas-kit-react/collection';
9
+ import {useSegmentedControlModel} from './useSegmentedControlModel';
10
+
11
+ export const useSegmentedControlItem = composeHooks(
12
+ useListItemSelect,
13
+ createElemPropsHook(useSegmentedControlModel)(
14
+ (model, _, elemProps: {'data-id'?: string; children?: React.ReactNode} = {}) => {
15
+ const name = elemProps['data-id'] || '';
16
+ const selected = !!name && isSelected(name, model.state);
17
+
18
+ return {
19
+ id: `${model.state.id}-${name}`,
20
+ 'aria-pressed': selected,
21
+ };
22
+ }
23
+ ),
24
+ useListItemRegister,
25
+ createElemPropsHook(useSegmentedControlModel)(({state}) => {
26
+ return {
27
+ // override the default disabled functionality of `useListItemRegister`
28
+ // it shouldn't allow to set disabled state only for one button
29
+ // state prop will disable the whole container
30
+ disabled: state.disabled ? true : undefined,
31
+ };
32
+ })
33
+ );
@@ -0,0 +1,75 @@
1
+ import React from 'react';
2
+ import {createModelHook} from '@workday/canvas-kit-react/common';
3
+ import {defaultGetId, useListModel} from '@workday/canvas-kit-react/collection';
4
+
5
+ export const useSegmentedControlModel = createModelHook({
6
+ defaultConfig: {
7
+ ...useListModel.defaultConfig,
8
+ /**
9
+ * Optional id for the whole `SegmentedControl` group. If not provided, a unique id will be created.
10
+ * @default useUniqueId()
11
+ */
12
+ id: '',
13
+ /**
14
+ * An initially selected value. This value must match the `data-id` of the `SegmentedControl.Item` component.
15
+ * If not provided, the first value will be selected.
16
+ */
17
+ initialValue: '',
18
+ /**
19
+ * Sets disabled state for all segmented control buttons
20
+ * @default false
21
+ */
22
+ disabled: false,
23
+ /**
24
+ * Sets the size of the segmented control container and its buttons. Can be `small`, `medium` or `large`.
25
+ * @default 'medium'
26
+ */
27
+ size: 'medium' as 'small' | 'medium' | 'large',
28
+ /**
29
+ * The SegmentedControl can rendered in a horizontal or vertical orientation.
30
+ * We suggest to use the `vertical` orientation only for icon only variant.
31
+ * @default 'horizontal'
32
+ */
33
+ orientation: 'horizontal' as typeof useListModel.defaultConfig.orientation,
34
+ },
35
+ requiredConfig: useListModel.requiredConfig,
36
+ })(config => {
37
+ const getId = config.getId || defaultGetId;
38
+ const initialSelectedRef = React.useRef(config.initialValue);
39
+ const items = config.items;
40
+
41
+ const model = useListModel(
42
+ useListModel.mergeConfig(config, {
43
+ orientation: config.orientation || 'horizontal',
44
+ items,
45
+ onRegisterItem(data) {
46
+ if (!initialSelectedRef.current) {
47
+ initialSelectedRef.current = data.id;
48
+ events.select({id: initialSelectedRef.current});
49
+ }
50
+ },
51
+ initialSelectedIds: config.initialValue
52
+ ? [config.initialValue]
53
+ : config.items?.length
54
+ ? [getId(config.items![0])]
55
+ : [],
56
+ shouldVirtualize: false,
57
+ })
58
+ );
59
+
60
+ const state = {
61
+ ...model.state,
62
+ disabled: config.disabled,
63
+ size: config.size,
64
+ };
65
+
66
+ const events = {
67
+ ...model.events,
68
+ };
69
+
70
+ return {
71
+ ...model,
72
+ state,
73
+ events,
74
+ };
75
+ });
@@ -28,14 +28,14 @@ export interface ComponentStatesTableProps {
28
28
  const Table = styled('table')({
29
29
  width: '100%',
30
30
  thead: {
31
- textAlign: 'left',
32
- paddingBottom: 16,
31
+ textAlign: 'start',
32
+ paddingBlockEnd: 16,
33
33
  },
34
34
  'td, th': {
35
35
  minWidth: 100,
36
- paddingBottom: 16,
37
- paddingRight: 16,
38
- textAlign: 'left',
36
+ paddingBlockEnd: 16,
37
+ paddingInlineEnd: 16,
38
+ textAlign: 'start',
39
39
  },
40
40
  });
41
41
 
@@ -1,16 +0,0 @@
1
- import { ButtonContainerProps } from '@workday/canvas-kit-react/button';
2
- import { CanvasSystemIcon } from '@workday/design-assets-types';
3
- /**
4
- * @deprecated ⚠️ `SegmentedControlButtonProps` in Main has been deprecated and will be removed in a future major version. Please use [`SegmentedControl` in Preview](https://workday.github.io/canvas-kit/?path=/docs/preview-segmented-control--docs) instead.
5
- */
6
- export interface SegmentedControlButtonProps extends ButtonContainerProps {
7
- toggled?: boolean;
8
- icon: CanvasSystemIcon;
9
- value?: string | number;
10
- size?: 'small' | 'medium' | 'large';
11
- }
12
- /**
13
- * @deprecated ⚠️ `SegmentedControlButton` in Main has been deprecated and will be removed in a future major version. Please use [`SegmentedControl` in Preview](https://workday.github.io/canvas-kit/?path=/docs/preview-segmented-control--docs) instead.
14
- */
15
- export declare const SegmentedControlButton: import("@workday/canvas-kit-react/common").ElementComponent<"button", SegmentedControlButtonProps>;
16
- //# sourceMappingURL=SegmentedControlButton.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SegmentedControlButton.d.ts","sourceRoot":"","sources":["../../../../segmented-control/lib/SegmentedControlButton.tsx"],"names":[],"mappings":"AACA,OAAO,EAAa,oBAAoB,EAAgB,MAAM,kCAAkC,CAAC;AAEjG,OAAO,EAAC,gBAAgB,EAAC,MAAM,8BAA8B,CAAC;AA+E9D;;GAEG;AACH,MAAM,WAAW,2BAA4B,SAAQ,oBAAoB;IACvE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,gBAAgB,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;CACrC;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,oGAkBjC,CAAC"}
@@ -1,29 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SegmentedControlButton = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const canvas_tokens_web_1 = require("@workday/canvas-tokens-web");
6
- const button_1 = require("@workday/canvas-kit-react/button");
7
- const canvas_kit_styling_1 = require("@workday/canvas-kit-styling");
8
- const common_1 = require("@workday/canvas-kit-react/common");
9
- const icon_1 = require("@workday/canvas-kit-react/icon");
10
- const segmentedControlButtonStencil = (0, canvas_kit_styling_1.createStencil)({
11
- extends: button_1.buttonStencil,
12
- base: { name: "1mdcmu", styles: "box-sizing:border-box;border-inline-start:none;min-width:auto;--background-button-f6d2bd:var(--cnvs-sys-color-bg-alt-soft);--border-button-f6d2bd:var(--cnvs-sys-color-border-container);--borderRadius-button-f6d2bd:var(--cnvs-sys-shape-zero);--color-system-icon-3a4847:var(--cnvs-sys-color-fg-muted-soft);&:hover, &.hover{--background-button-f6d2bd:var(--cnvs-sys-color-bg-alt-default);--color-system-icon-3a4847:var(--cnvs-sys-color-icon-strong);}&:active, &.active{--background-button-f6d2bd:var(--cnvs-sys-color-bg-alt-stronger);}&:disabled, &.disabled{--background-button-f6d2bd:var(--cnvs-sys-color-bg-alt-softer);--border-button-f6d2bd:var(--cnvs-sys-color-border-container);--color-system-icon-3a4847:var(--cnvs-sys-color-icon-soft);}&:first-of-type{border-radius:var(--cnvs-sys-shape-x1) 0 0 var(--cnvs-sys-shape-x1);border-inline-start:0.0625rem solid var(--cnvs-sys-color-border-container);}&:last-of-type{border-radius:0 var(--cnvs-sys-shape-x1) var(--cnvs-sys-shape-x1) 0;}&[aria-pressed=\"true\"]{--background-button-f6d2bd:var(--cnvs-brand-primary-base);--border-button-f6d2bd:var(--cnvs-brand-primary-base);--color-system-icon-3a4847:var(--cnvs-sys-color-fg-inverse);&:first-of-type{border-inline-start-color:var(--cnvs-brand-primary-base);}&:disabled, &.disabled{--background-button-f6d2bd:var(--cnvs-sys-color-bg-alt-softer);--border-button-f6d2bd:var(--cnvs-sys-color-border-container);--color-system-icon-3a4847:var(--cnvs-sys-color-icon-soft);}}&:focus-visible, &.focus{border-radius:var(--cnvs-sys-shape-x1);z-index:1;animation:none;transition:all 120ms border-radius 1ms;}" },
13
- modifiers: {
14
- segmentedControlButtonSize: {
15
- small: { name: "1zrudd", styles: "width:var(--cnvs-sys-space-x8);height:var(--cnvs-sys-space-x8);" },
16
- medium: { name: "1pmoid", styles: "width:var(--cnvs-sys-space-x10);height:var(--cnvs-sys-space-x10);" },
17
- large: { name: "2231pm", styles: "width:calc(var(--cnvs-sys-space-x10) + var(--cnvs-sys-space-x2));height:calc(var(--cnvs-sys-space-x10) + var(--cnvs-sys-space-x2));" }
18
- }
19
- }
20
- }, "segmented-control-button-c9fec8");
21
- /**
22
- * @deprecated ⚠️ `SegmentedControlButton` in Main has been deprecated and will be removed in a future major version. Please use [`SegmentedControl` in Preview](https://workday.github.io/canvas-kit/?path=/docs/preview-segmented-control--docs) instead.
23
- */
24
- exports.SegmentedControlButton = (0, common_1.createComponent)('button')({
25
- displayName: 'Button',
26
- Component: ({ value, icon, toggled, ...props }, ref, Element) => {
27
- return ((0, jsx_runtime_1.jsx)(button_1.BaseButton, { as: Element, ref: ref, "aria-pressed": toggled, value: value, ...(0, canvas_kit_styling_1.handleCsProp)(props, segmentedControlButtonStencil({ segmentedControlButtonSize: props.size || 'medium' })), children: (0, jsx_runtime_1.jsx)(button_1.BaseButton.Icon, { size: props.size || 'large', icon: icon }) }));
28
- },
29
- });
@@ -1,16 +0,0 @@
1
- import { ButtonContainerProps } from '@workday/canvas-kit-react/button';
2
- import { CanvasSystemIcon } from '@workday/design-assets-types';
3
- /**
4
- * @deprecated ⚠️ `SegmentedControlButtonProps` in Main has been deprecated and will be removed in a future major version. Please use [`SegmentedControl` in Preview](https://workday.github.io/canvas-kit/?path=/docs/preview-segmented-control--docs) instead.
5
- */
6
- export interface SegmentedControlButtonProps extends ButtonContainerProps {
7
- toggled?: boolean;
8
- icon: CanvasSystemIcon;
9
- value?: string | number;
10
- size?: 'small' | 'medium' | 'large';
11
- }
12
- /**
13
- * @deprecated ⚠️ `SegmentedControlButton` in Main has been deprecated and will be removed in a future major version. Please use [`SegmentedControl` in Preview](https://workday.github.io/canvas-kit/?path=/docs/preview-segmented-control--docs) instead.
14
- */
15
- export declare const SegmentedControlButton: import("@workday/canvas-kit-react/common").ElementComponent<"button", SegmentedControlButtonProps>;
16
- //# sourceMappingURL=SegmentedControlButton.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SegmentedControlButton.d.ts","sourceRoot":"","sources":["../../../../segmented-control/lib/SegmentedControlButton.tsx"],"names":[],"mappings":"AACA,OAAO,EAAa,oBAAoB,EAAgB,MAAM,kCAAkC,CAAC;AAEjG,OAAO,EAAC,gBAAgB,EAAC,MAAM,8BAA8B,CAAC;AA+E9D;;GAEG;AACH,MAAM,WAAW,2BAA4B,SAAQ,oBAAoB;IACvE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,gBAAgB,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;CACrC;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,oGAkBjC,CAAC"}
@@ -1,26 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { brand, system } from '@workday/canvas-tokens-web';
3
- import { BaseButton, buttonStencil } from '@workday/canvas-kit-react/button';
4
- import { calc, createStencil, handleCsProp, px2rem } from '@workday/canvas-kit-styling';
5
- import { createComponent } from '@workday/canvas-kit-react/common';
6
- import { systemIconStencil } from '@workday/canvas-kit-react/icon';
7
- const segmentedControlButtonStencil = createStencil({
8
- extends: buttonStencil,
9
- base: { name: "1mdcmu", styles: "box-sizing:border-box;border-inline-start:none;min-width:auto;--background-button-f6d2bd:var(--cnvs-sys-color-bg-alt-soft);--border-button-f6d2bd:var(--cnvs-sys-color-border-container);--borderRadius-button-f6d2bd:var(--cnvs-sys-shape-zero);--color-system-icon-3a4847:var(--cnvs-sys-color-fg-muted-soft);&:hover, &.hover{--background-button-f6d2bd:var(--cnvs-sys-color-bg-alt-default);--color-system-icon-3a4847:var(--cnvs-sys-color-icon-strong);}&:active, &.active{--background-button-f6d2bd:var(--cnvs-sys-color-bg-alt-stronger);}&:disabled, &.disabled{--background-button-f6d2bd:var(--cnvs-sys-color-bg-alt-softer);--border-button-f6d2bd:var(--cnvs-sys-color-border-container);--color-system-icon-3a4847:var(--cnvs-sys-color-icon-soft);}&:first-of-type{border-radius:var(--cnvs-sys-shape-x1) 0 0 var(--cnvs-sys-shape-x1);border-inline-start:0.0625rem solid var(--cnvs-sys-color-border-container);}&:last-of-type{border-radius:0 var(--cnvs-sys-shape-x1) var(--cnvs-sys-shape-x1) 0;}&[aria-pressed=\"true\"]{--background-button-f6d2bd:var(--cnvs-brand-primary-base);--border-button-f6d2bd:var(--cnvs-brand-primary-base);--color-system-icon-3a4847:var(--cnvs-sys-color-fg-inverse);&:first-of-type{border-inline-start-color:var(--cnvs-brand-primary-base);}&:disabled, &.disabled{--background-button-f6d2bd:var(--cnvs-sys-color-bg-alt-softer);--border-button-f6d2bd:var(--cnvs-sys-color-border-container);--color-system-icon-3a4847:var(--cnvs-sys-color-icon-soft);}}&:focus-visible, &.focus{border-radius:var(--cnvs-sys-shape-x1);z-index:1;animation:none;transition:all 120ms border-radius 1ms;}" },
10
- modifiers: {
11
- segmentedControlButtonSize: {
12
- small: { name: "1zrudd", styles: "width:var(--cnvs-sys-space-x8);height:var(--cnvs-sys-space-x8);" },
13
- medium: { name: "1pmoid", styles: "width:var(--cnvs-sys-space-x10);height:var(--cnvs-sys-space-x10);" },
14
- large: { name: "2231pm", styles: "width:calc(var(--cnvs-sys-space-x10) + var(--cnvs-sys-space-x2));height:calc(var(--cnvs-sys-space-x10) + var(--cnvs-sys-space-x2));" }
15
- }
16
- }
17
- }, "segmented-control-button-c9fec8");
18
- /**
19
- * @deprecated ⚠️ `SegmentedControlButton` in Main has been deprecated and will be removed in a future major version. Please use [`SegmentedControl` in Preview](https://workday.github.io/canvas-kit/?path=/docs/preview-segmented-control--docs) instead.
20
- */
21
- export const SegmentedControlButton = createComponent('button')({
22
- displayName: 'Button',
23
- Component: ({ value, icon, toggled, ...props }, ref, Element) => {
24
- return (_jsx(BaseButton, { as: Element, ref: ref, "aria-pressed": toggled, value: value, ...handleCsProp(props, segmentedControlButtonStencil({ segmentedControlButtonSize: props.size || 'medium' })), children: _jsx(BaseButton.Icon, { size: props.size || 'large', icon: icon }) }));
25
- },
26
- });
@@ -1,114 +0,0 @@
1
- import {brand, system} from '@workday/canvas-tokens-web';
2
- import {BaseButton, ButtonContainerProps, buttonStencil} from '@workday/canvas-kit-react/button';
3
- import {calc, createStencil, handleCsProp, px2rem} from '@workday/canvas-kit-styling';
4
- import {CanvasSystemIcon} from '@workday/design-assets-types';
5
- import {createComponent} from '@workday/canvas-kit-react/common';
6
- import {systemIconStencil} from '@workday/canvas-kit-react/icon';
7
-
8
- const segmentedControlButtonStencil = createStencil({
9
- extends: buttonStencil,
10
- base: {
11
- borderInlineStart: 'none',
12
- minWidth: 'auto',
13
-
14
- [buttonStencil.vars.background]: system.color.bg.alt.soft,
15
- [buttonStencil.vars.border]: system.color.border.container,
16
- [buttonStencil.vars.borderRadius]: system.shape.zero,
17
- [systemIconStencil.vars.color]: system.color.fg.muted.soft,
18
-
19
- '&:hover, &.hover': {
20
- [buttonStencil.vars.background]: system.color.bg.alt.default,
21
- [systemIconStencil.vars.color]: system.color.icon.strong,
22
- },
23
- '&:active, &.active': {
24
- [buttonStencil.vars.background]: system.color.bg.alt.stronger,
25
- },
26
-
27
- '&:disabled, &.disabled': {
28
- [buttonStencil.vars.background]: system.color.bg.alt.softer,
29
- [buttonStencil.vars.border]: system.color.border.container,
30
- [systemIconStencil.vars.color]: system.color.icon.soft,
31
- },
32
-
33
- '&:first-of-type': {
34
- borderRadius: `${system.shape.x1} 0 0 ${system.shape.x1}`,
35
- borderInlineStart: `${px2rem(1)} solid ${system.color.border.container}`,
36
- },
37
-
38
- '&:last-of-type': {
39
- borderRadius: `0 ${system.shape.x1} ${system.shape.x1} 0`,
40
- },
41
-
42
- '&[aria-pressed="true"]': {
43
- [buttonStencil.vars.background]: brand.primary.base,
44
- [buttonStencil.vars.border]: brand.primary.base,
45
- [systemIconStencil.vars.color]: system.color.fg.inverse,
46
-
47
- '&:first-of-type': {
48
- borderInlineStartColor: brand.primary.base,
49
- },
50
-
51
- '&:disabled, &.disabled': {
52
- [buttonStencil.vars.background]: system.color.bg.alt.softer,
53
- [buttonStencil.vars.border]: system.color.border.container,
54
- [systemIconStencil.vars.color]: system.color.icon.soft,
55
- },
56
- },
57
-
58
- '&:focus-visible, &.focus': {
59
- borderRadius: system.shape.x1,
60
- zIndex: 1,
61
- animation: 'none',
62
- transition: 'all 120ms border-radius 1ms',
63
- },
64
- },
65
- modifiers: {
66
- segmentedControlButtonSize: {
67
- small: {
68
- width: system.space.x8,
69
- height: system.space.x8,
70
- },
71
- medium: {
72
- width: system.space.x10,
73
- height: system.space.x10,
74
- },
75
- large: {
76
- width: calc.add(system.space.x10, system.space.x2),
77
- height: calc.add(system.space.x10, system.space.x2),
78
- },
79
- },
80
- },
81
- });
82
-
83
- /**
84
- * @deprecated ⚠️ `SegmentedControlButtonProps` in Main has been deprecated and will be removed in a future major version. Please use [`SegmentedControl` in Preview](https://workday.github.io/canvas-kit/?path=/docs/preview-segmented-control--docs) instead.
85
- */
86
- export interface SegmentedControlButtonProps extends ButtonContainerProps {
87
- toggled?: boolean;
88
- icon: CanvasSystemIcon;
89
- value?: string | number;
90
- size?: 'small' | 'medium' | 'large';
91
- }
92
-
93
- /**
94
- * @deprecated ⚠️ `SegmentedControlButton` in Main has been deprecated and will be removed in a future major version. Please use [`SegmentedControl` in Preview](https://workday.github.io/canvas-kit/?path=/docs/preview-segmented-control--docs) instead.
95
- */
96
- export const SegmentedControlButton = createComponent('button')({
97
- displayName: 'Button',
98
- Component: ({value, icon, toggled, ...props}: SegmentedControlButtonProps, ref, Element) => {
99
- return (
100
- <BaseButton
101
- as={Element}
102
- ref={ref}
103
- aria-pressed={toggled}
104
- value={value}
105
- {...handleCsProp(
106
- props,
107
- segmentedControlButtonStencil({segmentedControlButtonSize: props.size || 'medium'})
108
- )}
109
- >
110
- <BaseButton.Icon size={props.size || 'large'} icon={icon} />
111
- </BaseButton>
112
- );
113
- },
114
- });