@workday/canvas-kit-react 7.0.0-alpha.0-next.5 → 7.0.0-alpha.78-next.6

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 (682) hide show
  1. package/action-bar/lib/ActionBar.tsx +1 -1
  2. package/badge/README.md +2 -3
  3. package/banner/lib/Banner.tsx +1 -1
  4. package/banner/lib/BannerActionText.tsx +1 -1
  5. package/banner/lib/BannerIcon.tsx +2 -2
  6. package/banner/lib/BannerLabel.tsx +1 -1
  7. package/button/README.md +68 -1
  8. package/button/index.ts +1 -1
  9. package/button/lib/{parts/ButtonContainer.tsx → BaseButton.tsx} +123 -66
  10. package/button/lib/DeleteButton.tsx +7 -4
  11. package/button/lib/PrimaryButton.tsx +86 -109
  12. package/button/lib/SecondaryButton.tsx +44 -66
  13. package/button/lib/TertiaryButton.tsx +86 -53
  14. package/button/lib/ToolbarDropdownButton.tsx +12 -11
  15. package/button/lib/ToolbarIconButton.tsx +22 -17
  16. package/button/lib/parts/ButtonLabel.tsx +17 -2
  17. package/button/lib/parts/ButtonLabelIcon.tsx +30 -54
  18. package/button/lib/parts/index.tsx +0 -2
  19. package/button/lib/types.ts +2 -2
  20. package/card/lib/Card.tsx +1 -1
  21. package/card/lib/CardBody.tsx +1 -1
  22. package/card/lib/CardHeading.tsx +1 -1
  23. package/common/lib/parts/_brand-assets.ts +5 -5
  24. package/common/lib/utils/StaticStates.tsx +6 -5
  25. package/dist/commonjs/action-bar/lib/ActionBar.d.ts +1 -1
  26. package/dist/commonjs/action-bar/lib/ActionBar.d.ts.map +1 -1
  27. package/dist/commonjs/action-bar/lib/ActionBar.js +2 -2
  28. package/dist/commonjs/banner/lib/Banner.d.ts +1 -1
  29. package/dist/commonjs/banner/lib/Banner.d.ts.map +1 -1
  30. package/dist/commonjs/banner/lib/Banner.js +1 -1
  31. package/dist/commonjs/banner/lib/BannerActionText.d.ts +1 -1
  32. package/dist/commonjs/banner/lib/BannerActionText.d.ts.map +1 -1
  33. package/dist/commonjs/banner/lib/BannerActionText.js +2 -2
  34. package/dist/commonjs/banner/lib/BannerIcon.js +2 -2
  35. package/dist/commonjs/banner/lib/BannerLabel.d.ts +1 -1
  36. package/dist/commonjs/banner/lib/BannerLabel.d.ts.map +1 -1
  37. package/dist/commonjs/banner/lib/BannerLabel.js +1 -1
  38. package/dist/commonjs/button/index.d.ts +1 -1
  39. package/dist/commonjs/button/index.d.ts.map +1 -1
  40. package/dist/commonjs/button/index.js +3 -3
  41. package/dist/commonjs/button/lib/BaseButton.d.ts +31 -0
  42. package/dist/commonjs/button/lib/BaseButton.d.ts.map +1 -0
  43. package/dist/commonjs/button/lib/BaseButton.js +198 -0
  44. package/dist/commonjs/button/lib/DeleteButton.d.ts.map +1 -1
  45. package/dist/commonjs/button/lib/DeleteButton.js +4 -3
  46. package/dist/commonjs/button/lib/PrimaryButton.d.ts +4 -76
  47. package/dist/commonjs/button/lib/PrimaryButton.d.ts.map +1 -1
  48. package/dist/commonjs/button/lib/PrimaryButton.js +15 -36
  49. package/dist/commonjs/button/lib/SecondaryButton.d.ts +0 -5
  50. package/dist/commonjs/button/lib/SecondaryButton.d.ts.map +1 -1
  51. package/dist/commonjs/button/lib/SecondaryButton.js +16 -38
  52. package/dist/commonjs/button/lib/TertiaryButton.d.ts +2 -2
  53. package/dist/commonjs/button/lib/TertiaryButton.d.ts.map +1 -1
  54. package/dist/commonjs/button/lib/TertiaryButton.js +66 -38
  55. package/dist/commonjs/button/lib/ToolbarDropdownButton.d.ts.map +1 -1
  56. package/dist/commonjs/button/lib/ToolbarDropdownButton.js +7 -7
  57. package/dist/commonjs/button/lib/ToolbarIconButton.d.ts +5 -2
  58. package/dist/commonjs/button/lib/ToolbarIconButton.d.ts.map +1 -1
  59. package/dist/commonjs/button/lib/ToolbarIconButton.js +5 -11
  60. package/dist/commonjs/button/lib/parts/ButtonLabel.d.ts +4 -4
  61. package/dist/commonjs/button/lib/parts/ButtonLabel.d.ts.map +1 -1
  62. package/dist/commonjs/button/lib/parts/ButtonLabel.js +35 -1
  63. package/dist/commonjs/button/lib/parts/ButtonLabelIcon.d.ts +4 -3
  64. package/dist/commonjs/button/lib/parts/ButtonLabelIcon.d.ts.map +1 -1
  65. package/dist/commonjs/button/lib/parts/ButtonLabelIcon.js +13 -62
  66. package/dist/commonjs/button/lib/parts/index.d.ts +0 -2
  67. package/dist/commonjs/button/lib/parts/index.d.ts.map +1 -1
  68. package/dist/commonjs/button/lib/parts/index.js +1 -5
  69. package/dist/commonjs/button/lib/types.d.ts +2 -2
  70. package/dist/commonjs/button/lib/types.d.ts.map +1 -1
  71. package/dist/commonjs/card/lib/Card.d.ts +2 -2
  72. package/dist/commonjs/card/lib/Card.d.ts.map +1 -1
  73. package/dist/commonjs/card/lib/Card.js +2 -2
  74. package/dist/commonjs/card/lib/CardBody.d.ts +1 -1
  75. package/dist/commonjs/card/lib/CardBody.d.ts.map +1 -1
  76. package/dist/commonjs/card/lib/CardBody.js +2 -2
  77. package/dist/commonjs/card/lib/CardHeading.d.ts +1 -1
  78. package/dist/commonjs/card/lib/CardHeading.d.ts.map +1 -1
  79. package/dist/commonjs/card/lib/CardHeading.js +2 -2
  80. package/dist/commonjs/common/lib/parts/_brand-assets.d.ts.map +1 -1
  81. package/dist/commonjs/common/lib/parts/_brand-assets.js +5 -5
  82. package/dist/commonjs/common/lib/utils/StaticStates.d.ts.map +1 -1
  83. package/dist/commonjs/common/lib/utils/StaticStates.js +5 -2
  84. package/dist/commonjs/dialog/lib/Dialog.d.ts +1 -1
  85. package/dist/commonjs/icon/lib/AccentIcon.d.ts +3 -5
  86. package/dist/commonjs/icon/lib/AccentIcon.d.ts.map +1 -1
  87. package/dist/commonjs/icon/lib/AccentIcon.js +8 -24
  88. package/dist/commonjs/icon/lib/AppletIcon.d.ts +5 -6
  89. package/dist/commonjs/icon/lib/AppletIcon.d.ts.map +1 -1
  90. package/dist/commonjs/icon/lib/AppletIcon.js +13 -27
  91. package/dist/commonjs/icon/lib/Graphic.d.ts +3 -5
  92. package/dist/commonjs/icon/lib/Graphic.d.ts.map +1 -1
  93. package/dist/commonjs/icon/lib/Graphic.js +8 -24
  94. package/dist/commonjs/icon/lib/Icon.d.ts +2 -5
  95. package/dist/commonjs/icon/lib/Icon.d.ts.map +1 -1
  96. package/dist/commonjs/icon/lib/Icon.js +10 -25
  97. package/dist/commonjs/icon/lib/Svg.d.ts +4 -6
  98. package/dist/commonjs/icon/lib/Svg.d.ts.map +1 -1
  99. package/dist/commonjs/icon/lib/Svg.js +11 -27
  100. package/dist/commonjs/icon/lib/SystemIcon.d.ts +5 -6
  101. package/dist/commonjs/icon/lib/SystemIcon.d.ts.map +1 -1
  102. package/dist/commonjs/icon/lib/SystemIcon.js +8 -24
  103. package/dist/commonjs/icon/lib/SystemIconCircle.d.ts +3 -6
  104. package/dist/commonjs/icon/lib/SystemIconCircle.d.ts.map +1 -1
  105. package/dist/commonjs/icon/lib/SystemIconCircle.js +7 -25
  106. package/dist/commonjs/index.d.ts +0 -2
  107. package/dist/commonjs/index.d.ts.map +1 -1
  108. package/dist/commonjs/index.js +0 -2
  109. package/dist/commonjs/layout/index.d.ts +12 -2
  110. package/dist/commonjs/layout/index.d.ts.map +1 -1
  111. package/dist/commonjs/layout/index.js +8 -2
  112. package/dist/commonjs/layout/lib/Box.d.ts +48 -0
  113. package/dist/commonjs/layout/lib/Box.d.ts.map +1 -0
  114. package/dist/commonjs/layout/lib/Box.js +139 -0
  115. package/dist/commonjs/layout/lib/Flex.d.ts +26 -0
  116. package/dist/commonjs/layout/lib/Flex.d.ts.map +1 -0
  117. package/dist/commonjs/layout/lib/Flex.js +83 -0
  118. package/dist/commonjs/layout/lib/Stack.d.ts +27 -0
  119. package/dist/commonjs/layout/lib/Stack.d.ts.map +1 -0
  120. package/dist/commonjs/layout/lib/Stack.js +99 -0
  121. package/dist/commonjs/layout/lib/utils/border.d.ts +103 -0
  122. package/dist/commonjs/layout/lib/utils/border.d.ts.map +1 -0
  123. package/dist/commonjs/layout/lib/utils/border.js +153 -0
  124. package/dist/commonjs/layout/lib/utils/color.d.ts +26 -0
  125. package/dist/commonjs/layout/lib/utils/color.d.ts.map +1 -0
  126. package/dist/commonjs/layout/lib/utils/color.js +57 -0
  127. package/dist/commonjs/layout/lib/utils/depth.d.ts +22 -0
  128. package/dist/commonjs/layout/lib/utils/depth.d.ts.map +1 -0
  129. package/dist/commonjs/layout/lib/utils/depth.js +29 -0
  130. package/dist/commonjs/layout/lib/utils/flex.d.ts +36 -0
  131. package/dist/commonjs/layout/lib/utils/flex.d.ts.map +1 -0
  132. package/dist/commonjs/layout/lib/utils/flex.js +38 -0
  133. package/dist/commonjs/layout/lib/utils/flexItem.d.ts +33 -0
  134. package/dist/commonjs/layout/lib/utils/flexItem.d.ts.map +1 -0
  135. package/dist/commonjs/layout/lib/utils/flexItem.js +39 -0
  136. package/dist/commonjs/layout/lib/utils/getValidChildren.d.ts +3 -0
  137. package/dist/commonjs/layout/lib/utils/getValidChildren.d.ts.map +1 -0
  138. package/dist/commonjs/{button/lib/parts/ButtonLabelData.js → layout/lib/utils/getValidChildren.js} +7 -23
  139. package/dist/commonjs/layout/lib/utils/layout.d.ts +43 -0
  140. package/dist/commonjs/layout/lib/utils/layout.d.ts.map +1 -0
  141. package/dist/commonjs/layout/lib/utils/layout.js +43 -0
  142. package/dist/commonjs/layout/lib/utils/other.d.ts +5 -0
  143. package/dist/commonjs/layout/lib/utils/other.d.ts.map +1 -0
  144. package/dist/commonjs/layout/lib/utils/other.js +19 -0
  145. package/dist/commonjs/layout/lib/utils/position.d.ts +41 -0
  146. package/dist/commonjs/layout/lib/utils/position.d.ts.map +1 -0
  147. package/dist/commonjs/layout/lib/utils/position.js +78 -0
  148. package/dist/commonjs/layout/lib/utils/space.d.ts +64 -0
  149. package/dist/commonjs/layout/lib/utils/space.d.ts.map +1 -0
  150. package/dist/commonjs/layout/lib/utils/space.js +161 -0
  151. package/dist/commonjs/layout/lib/utils/stack.d.ts +26 -0
  152. package/dist/commonjs/layout/lib/utils/stack.d.ts.map +1 -0
  153. package/dist/commonjs/layout/lib/utils/stack.js +55 -0
  154. package/dist/commonjs/layout/lib/utils/types.d.ts +20 -0
  155. package/dist/commonjs/layout/lib/utils/types.d.ts.map +1 -0
  156. package/dist/commonjs/layout/lib/utils/types.js +2 -0
  157. package/dist/commonjs/modal/lib/Modal.d.ts +1 -1
  158. package/dist/commonjs/modal/lib/ModalOverflowOverlay.js +1 -1
  159. package/dist/commonjs/modal/lib/ModalOverlay.d.ts +1 -1
  160. package/dist/commonjs/modal/lib/ModalOverlay.d.ts.map +1 -1
  161. package/dist/commonjs/modal/lib/ModalOverlay.js +2 -2
  162. package/dist/commonjs/pagination/lib/Pagination/AdditionalDetails.d.ts +1 -1
  163. package/dist/commonjs/pagination/lib/Pagination/AdditionalDetails.d.ts.map +1 -1
  164. package/dist/commonjs/pagination/lib/Pagination/AdditionalDetails.js +1 -1
  165. package/dist/commonjs/pagination/lib/Pagination/Controls.d.ts +2 -2
  166. package/dist/commonjs/pagination/lib/Pagination/Controls.d.ts.map +1 -1
  167. package/dist/commonjs/pagination/lib/Pagination/Controls.js +5 -5
  168. package/dist/commonjs/pagination/lib/Pagination/GoTo/Form.d.ts +1 -1
  169. package/dist/commonjs/pagination/lib/Pagination/GoTo/Form.d.ts.map +1 -1
  170. package/dist/commonjs/pagination/lib/Pagination/GoTo/Form.js +1 -1
  171. package/dist/commonjs/pagination/lib/Pagination/Nav.d.ts +1 -1
  172. package/dist/commonjs/pagination/lib/Pagination/Nav.d.ts.map +1 -1
  173. package/dist/commonjs/pagination/lib/Pagination/Nav.js +1 -1
  174. package/dist/commonjs/pagination/lib/Pagination/PageButton.d.ts +1 -2
  175. package/dist/commonjs/pagination/lib/Pagination/PageButton.d.ts.map +1 -1
  176. package/dist/commonjs/pagination/lib/Pagination/PageButton.js +34 -9
  177. package/dist/commonjs/pagination/lib/Pagination/PageList.d.ts +1 -1
  178. package/dist/commonjs/pagination/lib/Pagination/PageList.d.ts.map +1 -1
  179. package/dist/commonjs/pagination/lib/Pagination/PageList.js +1 -1
  180. package/dist/commonjs/pagination/lib/Pagination/Pagination.d.ts +5 -5
  181. package/dist/commonjs/pagination/lib/Pagination/Pagination.d.ts.map +1 -1
  182. package/dist/commonjs/pagination/lib/Pagination/common/List.d.ts +1 -1
  183. package/dist/commonjs/pagination/lib/Pagination/common/List.d.ts.map +1 -1
  184. package/dist/commonjs/pagination/lib/Pagination/common/List.js +1 -1
  185. package/dist/commonjs/popup/lib/Popup.d.ts +1 -1
  186. package/dist/commonjs/popup/lib/PopupBody.d.ts +1 -1
  187. package/dist/commonjs/popup/lib/PopupBody.d.ts.map +1 -1
  188. package/dist/commonjs/popup/lib/PopupCard.d.ts +1 -1
  189. package/dist/commonjs/popup/lib/PopupCard.d.ts.map +1 -1
  190. package/dist/commonjs/popup/lib/PopupCard.js +1 -1
  191. package/dist/commonjs/popup/lib/PopupCloseIcon.d.ts +2 -2
  192. package/dist/commonjs/popup/lib/PopupCloseIcon.d.ts.map +1 -1
  193. package/dist/commonjs/popup/lib/PopupCloseIcon.js +5 -6
  194. package/dist/commonjs/popup/lib/hooks/useDisableBodyScroll.d.ts.map +1 -1
  195. package/dist/commonjs/popup/lib/hooks/useDisableBodyScroll.js +4 -0
  196. package/dist/commonjs/segmented-control/lib/SegmentedControl.d.ts +9 -7
  197. package/dist/commonjs/segmented-control/lib/SegmentedControl.d.ts.map +1 -1
  198. package/dist/commonjs/segmented-control/lib/SegmentedControl.js +21 -57
  199. package/dist/commonjs/segmented-control/lib/SegmentedControlButton.d.ts +8 -0
  200. package/dist/commonjs/segmented-control/lib/SegmentedControlButton.d.ts.map +1 -0
  201. package/dist/commonjs/segmented-control/lib/SegmentedControlButton.js +106 -0
  202. package/dist/commonjs/side-panel/lib/SidePanel.d.ts.map +1 -1
  203. package/dist/commonjs/side-panel/lib/SidePanel.js +2 -2
  204. package/dist/commonjs/tabs/lib/Tabs.d.ts +2 -2
  205. package/dist/commonjs/tabs/lib/TabsItem.d.ts +3 -5
  206. package/dist/commonjs/tabs/lib/TabsItem.d.ts.map +1 -1
  207. package/dist/commonjs/tabs/lib/TabsItem.js +2 -2
  208. package/dist/commonjs/tabs/lib/TabsList.d.ts +1 -1
  209. package/dist/commonjs/tabs/lib/TabsList.d.ts.map +1 -1
  210. package/dist/commonjs/tabs/lib/TabsList.js +2 -2
  211. package/dist/commonjs/tabs/lib/TabsPanel.d.ts +1 -1
  212. package/dist/commonjs/tabs/lib/TabsPanel.d.ts.map +1 -1
  213. package/dist/commonjs/tabs/lib/TabsPanel.js +2 -2
  214. package/dist/commonjs/tabs/lib/menu/Menu.d.ts +1 -1
  215. package/dist/commonjs/tabs/lib/menu/MenuItem.d.ts +1 -2
  216. package/dist/commonjs/tabs/lib/menu/MenuItem.d.ts.map +1 -1
  217. package/dist/commonjs/tabs/lib/menu/MenuItem.js +2 -2
  218. package/dist/commonjs/tabs/lib/menu/MenuList.d.ts +1 -1
  219. package/dist/commonjs/tabs/lib/menu/MenuList.d.ts.map +1 -1
  220. package/dist/commonjs/tabs/lib/menu/MenuList.js +1 -1
  221. package/dist/commonjs/text-input/lib/InputIconContainer.d.ts +1 -1
  222. package/dist/commonjs/text-input/lib/InputIconContainer.d.ts.map +1 -1
  223. package/dist/commonjs/tooltip/lib/Tooltip.d.ts +1 -1
  224. package/dist/commonjs/tooltip/lib/useTooltip.d.ts +1 -1
  225. package/dist/es6/action-bar/lib/ActionBar.d.ts +1 -1
  226. package/dist/es6/action-bar/lib/ActionBar.d.ts.map +1 -1
  227. package/dist/es6/action-bar/lib/ActionBar.js +1 -1
  228. package/dist/es6/banner/lib/Banner.d.ts +1 -1
  229. package/dist/es6/banner/lib/Banner.d.ts.map +1 -1
  230. package/dist/es6/banner/lib/Banner.js +1 -1
  231. package/dist/es6/banner/lib/BannerActionText.d.ts +1 -1
  232. package/dist/es6/banner/lib/BannerActionText.d.ts.map +1 -1
  233. package/dist/es6/banner/lib/BannerActionText.js +1 -1
  234. package/dist/es6/banner/lib/BannerIcon.js +2 -2
  235. package/dist/es6/banner/lib/BannerLabel.d.ts +1 -1
  236. package/dist/es6/banner/lib/BannerLabel.d.ts.map +1 -1
  237. package/dist/es6/banner/lib/BannerLabel.js +1 -1
  238. package/dist/es6/button/index.d.ts +1 -1
  239. package/dist/es6/button/index.d.ts.map +1 -1
  240. package/dist/es6/button/index.js +1 -1
  241. package/dist/es6/button/lib/BaseButton.d.ts +31 -0
  242. package/dist/es6/button/lib/BaseButton.d.ts.map +1 -0
  243. package/dist/es6/button/lib/BaseButton.js +174 -0
  244. package/dist/es6/button/lib/DeleteButton.d.ts.map +1 -1
  245. package/dist/es6/button/lib/DeleteButton.js +4 -3
  246. package/dist/es6/button/lib/PrimaryButton.d.ts +4 -76
  247. package/dist/es6/button/lib/PrimaryButton.d.ts.map +1 -1
  248. package/dist/es6/button/lib/PrimaryButton.js +15 -35
  249. package/dist/es6/button/lib/SecondaryButton.d.ts +0 -5
  250. package/dist/es6/button/lib/SecondaryButton.d.ts.map +1 -1
  251. package/dist/es6/button/lib/SecondaryButton.js +16 -38
  252. package/dist/es6/button/lib/TertiaryButton.d.ts +2 -2
  253. package/dist/es6/button/lib/TertiaryButton.d.ts.map +1 -1
  254. package/dist/es6/button/lib/TertiaryButton.js +68 -40
  255. package/dist/es6/button/lib/ToolbarDropdownButton.d.ts.map +1 -1
  256. package/dist/es6/button/lib/ToolbarDropdownButton.js +8 -8
  257. package/dist/es6/button/lib/ToolbarIconButton.d.ts +5 -2
  258. package/dist/es6/button/lib/ToolbarIconButton.d.ts.map +1 -1
  259. package/dist/es6/button/lib/ToolbarIconButton.js +7 -13
  260. package/dist/es6/button/lib/parts/ButtonLabel.d.ts +4 -4
  261. package/dist/es6/button/lib/parts/ButtonLabel.d.ts.map +1 -1
  262. package/dist/es6/button/lib/parts/ButtonLabel.js +33 -2
  263. package/dist/es6/button/lib/parts/ButtonLabelIcon.d.ts +4 -3
  264. package/dist/es6/button/lib/parts/ButtonLabelIcon.d.ts.map +1 -1
  265. package/dist/es6/button/lib/parts/ButtonLabelIcon.js +13 -42
  266. package/dist/es6/button/lib/parts/index.d.ts +0 -2
  267. package/dist/es6/button/lib/parts/index.d.ts.map +1 -1
  268. package/dist/es6/button/lib/parts/index.js +0 -2
  269. package/dist/es6/button/lib/types.d.ts +2 -2
  270. package/dist/es6/button/lib/types.d.ts.map +1 -1
  271. package/dist/es6/card/lib/Card.d.ts +2 -2
  272. package/dist/es6/card/lib/Card.d.ts.map +1 -1
  273. package/dist/es6/card/lib/Card.js +1 -1
  274. package/dist/es6/card/lib/CardBody.d.ts +1 -1
  275. package/dist/es6/card/lib/CardBody.d.ts.map +1 -1
  276. package/dist/es6/card/lib/CardBody.js +1 -1
  277. package/dist/es6/card/lib/CardHeading.d.ts +1 -1
  278. package/dist/es6/card/lib/CardHeading.d.ts.map +1 -1
  279. package/dist/es6/card/lib/CardHeading.js +1 -1
  280. package/dist/es6/common/lib/parts/_brand-assets.d.ts.map +1 -1
  281. package/dist/es6/common/lib/parts/_brand-assets.js +5 -5
  282. package/dist/es6/common/lib/utils/StaticStates.d.ts.map +1 -1
  283. package/dist/es6/common/lib/utils/StaticStates.js +5 -2
  284. package/dist/es6/dialog/lib/Dialog.d.ts +1 -1
  285. package/dist/es6/icon/lib/AccentIcon.d.ts +3 -5
  286. package/dist/es6/icon/lib/AccentIcon.d.ts.map +1 -1
  287. package/dist/es6/icon/lib/AccentIcon.js +8 -24
  288. package/dist/es6/icon/lib/AppletIcon.d.ts +5 -6
  289. package/dist/es6/icon/lib/AppletIcon.d.ts.map +1 -1
  290. package/dist/es6/icon/lib/AppletIcon.js +11 -25
  291. package/dist/es6/icon/lib/Graphic.d.ts +3 -5
  292. package/dist/es6/icon/lib/Graphic.d.ts.map +1 -1
  293. package/dist/es6/icon/lib/Graphic.js +8 -24
  294. package/dist/es6/icon/lib/Icon.d.ts +2 -5
  295. package/dist/es6/icon/lib/Icon.d.ts.map +1 -1
  296. package/dist/es6/icon/lib/Icon.js +8 -24
  297. package/dist/es6/icon/lib/Svg.d.ts +4 -6
  298. package/dist/es6/icon/lib/Svg.d.ts.map +1 -1
  299. package/dist/es6/icon/lib/Svg.js +10 -27
  300. package/dist/es6/icon/lib/SystemIcon.d.ts +5 -6
  301. package/dist/es6/icon/lib/SystemIcon.d.ts.map +1 -1
  302. package/dist/es6/icon/lib/SystemIcon.js +8 -24
  303. package/dist/es6/icon/lib/SystemIconCircle.d.ts +3 -6
  304. package/dist/es6/icon/lib/SystemIconCircle.d.ts.map +1 -1
  305. package/dist/es6/icon/lib/SystemIconCircle.js +8 -26
  306. package/dist/es6/index.d.ts +0 -2
  307. package/dist/es6/index.d.ts.map +1 -1
  308. package/dist/es6/index.js +0 -2
  309. package/dist/es6/layout/index.d.ts +12 -2
  310. package/dist/es6/layout/index.d.ts.map +1 -1
  311. package/dist/es6/layout/index.js +8 -2
  312. package/dist/es6/layout/lib/Box.d.ts +48 -0
  313. package/dist/es6/layout/lib/Box.d.ts.map +1 -0
  314. package/dist/es6/layout/lib/Box.js +113 -0
  315. package/dist/es6/layout/lib/Flex.d.ts +26 -0
  316. package/dist/es6/layout/lib/Flex.d.ts.map +1 -0
  317. package/dist/es6/layout/lib/Flex.js +58 -0
  318. package/dist/es6/layout/lib/Stack.d.ts +27 -0
  319. package/dist/es6/layout/lib/Stack.d.ts.map +1 -0
  320. package/dist/es6/layout/lib/Stack.js +74 -0
  321. package/dist/es6/layout/lib/utils/border.d.ts +103 -0
  322. package/dist/es6/layout/lib/utils/border.d.ts.map +1 -0
  323. package/dist/es6/layout/lib/utils/border.js +149 -0
  324. package/dist/es6/layout/lib/utils/color.d.ts +26 -0
  325. package/dist/es6/layout/lib/utils/color.d.ts.map +1 -0
  326. package/dist/es6/layout/lib/utils/color.js +53 -0
  327. package/dist/es6/layout/lib/utils/depth.d.ts +22 -0
  328. package/dist/es6/layout/lib/utils/depth.d.ts.map +1 -0
  329. package/dist/es6/layout/lib/utils/depth.js +25 -0
  330. package/dist/es6/layout/lib/utils/flex.d.ts +36 -0
  331. package/dist/es6/layout/lib/utils/flex.d.ts.map +1 -0
  332. package/dist/es6/layout/lib/utils/flex.js +34 -0
  333. package/dist/es6/layout/lib/utils/flexItem.d.ts +33 -0
  334. package/dist/es6/layout/lib/utils/flexItem.d.ts.map +1 -0
  335. package/dist/es6/layout/lib/utils/flexItem.js +35 -0
  336. package/dist/es6/layout/lib/utils/getValidChildren.d.ts +3 -0
  337. package/dist/es6/layout/lib/utils/getValidChildren.d.ts.map +1 -0
  338. package/dist/es6/layout/lib/utils/getValidChildren.js +6 -0
  339. package/dist/es6/layout/lib/utils/layout.d.ts +43 -0
  340. package/dist/es6/layout/lib/utils/layout.d.ts.map +1 -0
  341. package/dist/es6/layout/lib/utils/layout.js +39 -0
  342. package/dist/es6/layout/lib/utils/other.d.ts +5 -0
  343. package/dist/es6/layout/lib/utils/other.d.ts.map +1 -0
  344. package/dist/es6/layout/lib/utils/other.js +15 -0
  345. package/dist/es6/layout/lib/utils/position.d.ts +41 -0
  346. package/dist/es6/layout/lib/utils/position.d.ts.map +1 -0
  347. package/dist/es6/layout/lib/utils/position.js +74 -0
  348. package/dist/es6/layout/lib/utils/space.d.ts +64 -0
  349. package/dist/es6/layout/lib/utils/space.d.ts.map +1 -0
  350. package/dist/es6/layout/lib/utils/space.js +157 -0
  351. package/dist/es6/layout/lib/utils/stack.d.ts +26 -0
  352. package/dist/es6/layout/lib/utils/stack.d.ts.map +1 -0
  353. package/dist/es6/layout/lib/utils/stack.js +51 -0
  354. package/dist/es6/layout/lib/utils/types.d.ts +20 -0
  355. package/dist/es6/layout/lib/utils/types.d.ts.map +1 -0
  356. package/dist/es6/layout/lib/utils/types.js +1 -0
  357. package/dist/es6/modal/lib/Modal.d.ts +1 -1
  358. package/dist/es6/modal/lib/ModalOverflowOverlay.js +1 -1
  359. package/dist/es6/modal/lib/ModalOverlay.d.ts +1 -1
  360. package/dist/es6/modal/lib/ModalOverlay.d.ts.map +1 -1
  361. package/dist/es6/modal/lib/ModalOverlay.js +1 -1
  362. package/dist/es6/pagination/lib/Pagination/AdditionalDetails.d.ts +1 -1
  363. package/dist/es6/pagination/lib/Pagination/AdditionalDetails.d.ts.map +1 -1
  364. package/dist/es6/pagination/lib/Pagination/AdditionalDetails.js +1 -1
  365. package/dist/es6/pagination/lib/Pagination/Controls.d.ts +2 -2
  366. package/dist/es6/pagination/lib/Pagination/Controls.d.ts.map +1 -1
  367. package/dist/es6/pagination/lib/Pagination/Controls.js +6 -6
  368. package/dist/es6/pagination/lib/Pagination/GoTo/Form.d.ts +1 -1
  369. package/dist/es6/pagination/lib/Pagination/GoTo/Form.d.ts.map +1 -1
  370. package/dist/es6/pagination/lib/Pagination/GoTo/Form.js +1 -1
  371. package/dist/es6/pagination/lib/Pagination/Nav.d.ts +1 -1
  372. package/dist/es6/pagination/lib/Pagination/Nav.d.ts.map +1 -1
  373. package/dist/es6/pagination/lib/Pagination/Nav.js +1 -1
  374. package/dist/es6/pagination/lib/Pagination/PageButton.d.ts +1 -2
  375. package/dist/es6/pagination/lib/Pagination/PageButton.d.ts.map +1 -1
  376. package/dist/es6/pagination/lib/Pagination/PageButton.js +35 -10
  377. package/dist/es6/pagination/lib/Pagination/PageList.d.ts +1 -1
  378. package/dist/es6/pagination/lib/Pagination/PageList.d.ts.map +1 -1
  379. package/dist/es6/pagination/lib/Pagination/PageList.js +1 -1
  380. package/dist/es6/pagination/lib/Pagination/Pagination.d.ts +5 -5
  381. package/dist/es6/pagination/lib/Pagination/Pagination.d.ts.map +1 -1
  382. package/dist/es6/pagination/lib/Pagination/common/List.d.ts +1 -1
  383. package/dist/es6/pagination/lib/Pagination/common/List.d.ts.map +1 -1
  384. package/dist/es6/pagination/lib/Pagination/common/List.js +1 -1
  385. package/dist/es6/popup/lib/Popup.d.ts +1 -1
  386. package/dist/es6/popup/lib/PopupBody.d.ts +1 -1
  387. package/dist/es6/popup/lib/PopupBody.d.ts.map +1 -1
  388. package/dist/es6/popup/lib/PopupCard.d.ts +1 -1
  389. package/dist/es6/popup/lib/PopupCard.d.ts.map +1 -1
  390. package/dist/es6/popup/lib/PopupCard.js +1 -1
  391. package/dist/es6/popup/lib/PopupCloseIcon.d.ts +2 -2
  392. package/dist/es6/popup/lib/PopupCloseIcon.d.ts.map +1 -1
  393. package/dist/es6/popup/lib/PopupCloseIcon.js +6 -7
  394. package/dist/es6/popup/lib/hooks/useDisableBodyScroll.d.ts.map +1 -1
  395. package/dist/es6/popup/lib/hooks/useDisableBodyScroll.js +4 -0
  396. package/dist/es6/segmented-control/lib/SegmentedControl.d.ts +9 -7
  397. package/dist/es6/segmented-control/lib/SegmentedControl.d.ts.map +1 -1
  398. package/dist/es6/segmented-control/lib/SegmentedControl.js +20 -57
  399. package/dist/es6/segmented-control/lib/SegmentedControlButton.d.ts +8 -0
  400. package/dist/es6/segmented-control/lib/SegmentedControlButton.d.ts.map +1 -0
  401. package/dist/es6/segmented-control/lib/SegmentedControlButton.js +100 -0
  402. package/dist/es6/side-panel/lib/SidePanel.d.ts.map +1 -1
  403. package/dist/es6/side-panel/lib/SidePanel.js +3 -3
  404. package/dist/es6/tabs/lib/Tabs.d.ts +2 -2
  405. package/dist/es6/tabs/lib/TabsItem.d.ts +3 -5
  406. package/dist/es6/tabs/lib/TabsItem.d.ts.map +1 -1
  407. package/dist/es6/tabs/lib/TabsItem.js +1 -1
  408. package/dist/es6/tabs/lib/TabsList.d.ts +1 -1
  409. package/dist/es6/tabs/lib/TabsList.d.ts.map +1 -1
  410. package/dist/es6/tabs/lib/TabsList.js +2 -2
  411. package/dist/es6/tabs/lib/TabsPanel.d.ts +1 -1
  412. package/dist/es6/tabs/lib/TabsPanel.d.ts.map +1 -1
  413. package/dist/es6/tabs/lib/TabsPanel.js +1 -1
  414. package/dist/es6/tabs/lib/menu/Menu.d.ts +1 -1
  415. package/dist/es6/tabs/lib/menu/MenuItem.d.ts +1 -2
  416. package/dist/es6/tabs/lib/menu/MenuItem.d.ts.map +1 -1
  417. package/dist/es6/tabs/lib/menu/MenuItem.js +1 -1
  418. package/dist/es6/tabs/lib/menu/MenuList.d.ts +1 -1
  419. package/dist/es6/tabs/lib/menu/MenuList.d.ts.map +1 -1
  420. package/dist/es6/tabs/lib/menu/MenuList.js +1 -1
  421. package/dist/es6/text-input/lib/InputIconContainer.d.ts +1 -1
  422. package/dist/es6/text-input/lib/InputIconContainer.d.ts.map +1 -1
  423. package/dist/es6/tooltip/lib/Tooltip.d.ts +1 -1
  424. package/dist/es6/tooltip/lib/useTooltip.d.ts +1 -1
  425. package/icon/README.md +0 -30
  426. package/icon/lib/AccentIcon.tsx +17 -16
  427. package/icon/lib/AppletIcon.tsx +18 -12
  428. package/icon/lib/Graphic.tsx +15 -8
  429. package/icon/lib/Icon.tsx +10 -8
  430. package/icon/lib/Svg.tsx +12 -14
  431. package/icon/lib/SystemIcon.tsx +21 -12
  432. package/icon/lib/SystemIconCircle.tsx +17 -14
  433. package/index.ts +0 -2
  434. package/layout/LICENSE +1 -0
  435. package/layout/README.md +31 -0
  436. package/layout/index.ts +13 -3
  437. package/layout/lib/Box.tsx +132 -0
  438. package/layout/lib/Flex.tsx +47 -0
  439. package/layout/lib/Stack.tsx +95 -0
  440. package/layout/lib/utils/border.ts +263 -0
  441. package/layout/lib/utils/color.ts +62 -0
  442. package/layout/lib/utils/depth.ts +37 -0
  443. package/layout/lib/utils/flex.ts +65 -0
  444. package/layout/lib/utils/flexItem.ts +56 -0
  445. package/layout/lib/utils/getValidChildren.ts +7 -0
  446. package/layout/lib/utils/layout.ts +77 -0
  447. package/layout/lib/utils/other.ts +20 -0
  448. package/layout/lib/utils/position.ts +96 -0
  449. package/layout/lib/utils/space.ts +207 -0
  450. package/layout/lib/utils/stack.ts +78 -0
  451. package/layout/lib/utils/types.ts +148 -0
  452. package/modal/lib/ModalOverflowOverlay.tsx +1 -1
  453. package/modal/lib/ModalOverlay.tsx +1 -1
  454. package/package.json +6 -5
  455. package/pagination/lib/Pagination/AdditionalDetails.tsx +1 -1
  456. package/pagination/lib/Pagination/Controls.tsx +7 -11
  457. package/pagination/lib/Pagination/GoTo/Form.tsx +1 -1
  458. package/pagination/lib/Pagination/Nav.tsx +1 -1
  459. package/pagination/lib/Pagination/PageButton.tsx +38 -17
  460. package/pagination/lib/Pagination/PageList.tsx +1 -1
  461. package/pagination/lib/Pagination/Pagination.tsx +5 -5
  462. package/pagination/lib/Pagination/common/List.tsx +1 -1
  463. package/popup/lib/PopupCard.tsx +1 -1
  464. package/popup/lib/PopupCloseIcon.tsx +7 -8
  465. package/popup/lib/hooks/useDisableBodyScroll.ts +6 -0
  466. package/segmented-control/README.md +8 -9
  467. package/segmented-control/lib/SegmentedControl.tsx +39 -78
  468. package/segmented-control/lib/SegmentedControlButton.tsx +109 -0
  469. package/side-panel/README.md +3 -3
  470. package/side-panel/lib/SidePanel.tsx +4 -5
  471. package/tabs/lib/TabsItem.tsx +1 -2
  472. package/tabs/lib/TabsList.tsx +2 -2
  473. package/tabs/lib/TabsPanel.tsx +1 -1
  474. package/tabs/lib/menu/MenuItem.tsx +1 -1
  475. package/tabs/lib/menu/MenuList.tsx +1 -1
  476. package/text-input/lib/InputIconContainer.tsx +1 -1
  477. package/tooltip/README.md +6 -5
  478. package/tooltip/lib/Tooltip.tsx +1 -1
  479. package/tooltip/lib/useTooltip.tsx +1 -1
  480. package/ts3.5/dist/commonjs/action-bar/lib/ActionBar.d.ts +1 -1
  481. package/ts3.5/dist/commonjs/banner/lib/Banner.d.ts +1 -1
  482. package/ts3.5/dist/commonjs/banner/lib/BannerActionText.d.ts +1 -1
  483. package/ts3.5/dist/commonjs/banner/lib/BannerLabel.d.ts +1 -1
  484. package/ts3.5/dist/commonjs/button/index.d.ts +1 -1
  485. package/ts3.5/dist/commonjs/button/lib/BaseButton.d.ts +31 -0
  486. package/ts3.5/dist/commonjs/button/lib/PrimaryButton.d.ts +4 -76
  487. package/ts3.5/dist/commonjs/button/lib/SecondaryButton.d.ts +0 -5
  488. package/ts3.5/dist/commonjs/button/lib/TertiaryButton.d.ts +2 -2
  489. package/ts3.5/dist/commonjs/button/lib/ToolbarIconButton.d.ts +5 -2
  490. package/ts3.5/dist/commonjs/button/lib/parts/ButtonLabel.d.ts +4 -4
  491. package/ts3.5/dist/commonjs/button/lib/parts/ButtonLabelIcon.d.ts +4 -3
  492. package/ts3.5/dist/commonjs/button/lib/parts/index.d.ts +0 -2
  493. package/ts3.5/dist/commonjs/button/lib/types.d.ts +2 -2
  494. package/ts3.5/dist/commonjs/card/lib/Card.d.ts +2 -2
  495. package/ts3.5/dist/commonjs/card/lib/CardBody.d.ts +1 -1
  496. package/ts3.5/dist/commonjs/card/lib/CardHeading.d.ts +1 -1
  497. package/ts3.5/dist/commonjs/dialog/lib/Dialog.d.ts +1 -1
  498. package/ts3.5/dist/commonjs/icon/lib/AccentIcon.d.ts +3 -5
  499. package/ts3.5/dist/commonjs/icon/lib/AppletIcon.d.ts +5 -6
  500. package/ts3.5/dist/commonjs/icon/lib/Graphic.d.ts +3 -5
  501. package/ts3.5/dist/commonjs/icon/lib/Icon.d.ts +2 -5
  502. package/ts3.5/dist/commonjs/icon/lib/Svg.d.ts +4 -6
  503. package/ts3.5/dist/commonjs/icon/lib/SystemIcon.d.ts +5 -6
  504. package/ts3.5/dist/commonjs/icon/lib/SystemIconCircle.d.ts +3 -6
  505. package/ts3.5/dist/commonjs/index.d.ts +0 -2
  506. package/ts3.5/dist/commonjs/layout/index.d.ts +12 -2
  507. package/ts3.5/dist/commonjs/layout/lib/Box.d.ts +48 -0
  508. package/ts3.5/dist/commonjs/layout/lib/Flex.d.ts +26 -0
  509. package/ts3.5/dist/commonjs/layout/lib/Stack.d.ts +27 -0
  510. package/ts3.5/dist/commonjs/layout/lib/utils/border.d.ts +103 -0
  511. package/ts3.5/dist/commonjs/layout/lib/utils/color.d.ts +26 -0
  512. package/ts3.5/dist/commonjs/layout/lib/utils/depth.d.ts +22 -0
  513. package/ts3.5/dist/commonjs/layout/lib/utils/flex.d.ts +36 -0
  514. package/ts3.5/dist/commonjs/layout/lib/utils/flexItem.d.ts +33 -0
  515. package/ts3.5/dist/commonjs/layout/lib/utils/getValidChildren.d.ts +3 -0
  516. package/ts3.5/dist/commonjs/layout/lib/utils/layout.d.ts +43 -0
  517. package/ts3.5/dist/commonjs/layout/lib/utils/other.d.ts +5 -0
  518. package/ts3.5/dist/commonjs/layout/lib/utils/position.d.ts +41 -0
  519. package/ts3.5/dist/commonjs/layout/lib/utils/space.d.ts +64 -0
  520. package/ts3.5/dist/commonjs/layout/lib/utils/stack.d.ts +26 -0
  521. package/ts3.5/dist/commonjs/layout/lib/utils/types.d.ts +20 -0
  522. package/ts3.5/dist/commonjs/modal/lib/Modal.d.ts +1 -1
  523. package/ts3.5/dist/commonjs/modal/lib/ModalOverlay.d.ts +1 -1
  524. package/ts3.5/dist/commonjs/pagination/lib/Pagination/AdditionalDetails.d.ts +1 -1
  525. package/ts3.5/dist/commonjs/pagination/lib/Pagination/Controls.d.ts +2 -2
  526. package/ts3.5/dist/commonjs/pagination/lib/Pagination/GoTo/Form.d.ts +1 -1
  527. package/ts3.5/dist/commonjs/pagination/lib/Pagination/Nav.d.ts +1 -1
  528. package/ts3.5/dist/commonjs/pagination/lib/Pagination/PageButton.d.ts +1 -2
  529. package/ts3.5/dist/commonjs/pagination/lib/Pagination/PageList.d.ts +1 -1
  530. package/ts3.5/dist/commonjs/pagination/lib/Pagination/Pagination.d.ts +5 -5
  531. package/ts3.5/dist/commonjs/pagination/lib/Pagination/common/List.d.ts +1 -1
  532. package/ts3.5/dist/commonjs/popup/lib/Popup.d.ts +1 -1
  533. package/ts3.5/dist/commonjs/popup/lib/PopupBody.d.ts +1 -1
  534. package/ts3.5/dist/commonjs/popup/lib/PopupCard.d.ts +1 -1
  535. package/ts3.5/dist/commonjs/popup/lib/PopupCloseIcon.d.ts +2 -2
  536. package/ts3.5/dist/commonjs/segmented-control/lib/SegmentedControl.d.ts +9 -7
  537. package/ts3.5/dist/commonjs/segmented-control/lib/SegmentedControlButton.d.ts +8 -0
  538. package/ts3.5/dist/commonjs/tabs/lib/Tabs.d.ts +2 -2
  539. package/ts3.5/dist/commonjs/tabs/lib/TabsItem.d.ts +3 -5
  540. package/ts3.5/dist/commonjs/tabs/lib/TabsList.d.ts +1 -1
  541. package/ts3.5/dist/commonjs/tabs/lib/TabsPanel.d.ts +1 -1
  542. package/ts3.5/dist/commonjs/tabs/lib/menu/Menu.d.ts +1 -1
  543. package/ts3.5/dist/commonjs/tabs/lib/menu/MenuItem.d.ts +1 -2
  544. package/ts3.5/dist/commonjs/tabs/lib/menu/MenuList.d.ts +1 -1
  545. package/ts3.5/dist/commonjs/text-input/lib/InputIconContainer.d.ts +1 -1
  546. package/ts3.5/dist/commonjs/tooltip/lib/Tooltip.d.ts +1 -1
  547. package/ts3.5/dist/commonjs/tooltip/lib/useTooltip.d.ts +1 -1
  548. package/ts3.5/dist/es6/action-bar/lib/ActionBar.d.ts +1 -1
  549. package/ts3.5/dist/es6/banner/lib/Banner.d.ts +1 -1
  550. package/ts3.5/dist/es6/banner/lib/BannerActionText.d.ts +1 -1
  551. package/ts3.5/dist/es6/banner/lib/BannerLabel.d.ts +1 -1
  552. package/ts3.5/dist/es6/button/index.d.ts +1 -1
  553. package/ts3.5/dist/es6/button/lib/BaseButton.d.ts +31 -0
  554. package/ts3.5/dist/es6/button/lib/PrimaryButton.d.ts +4 -76
  555. package/ts3.5/dist/es6/button/lib/SecondaryButton.d.ts +0 -5
  556. package/ts3.5/dist/es6/button/lib/TertiaryButton.d.ts +2 -2
  557. package/ts3.5/dist/es6/button/lib/ToolbarIconButton.d.ts +5 -2
  558. package/ts3.5/dist/es6/button/lib/parts/ButtonLabel.d.ts +4 -4
  559. package/ts3.5/dist/es6/button/lib/parts/ButtonLabelIcon.d.ts +4 -3
  560. package/ts3.5/dist/es6/button/lib/parts/index.d.ts +0 -2
  561. package/ts3.5/dist/es6/button/lib/types.d.ts +2 -2
  562. package/ts3.5/dist/es6/card/lib/Card.d.ts +2 -2
  563. package/ts3.5/dist/es6/card/lib/CardBody.d.ts +1 -1
  564. package/ts3.5/dist/es6/card/lib/CardHeading.d.ts +1 -1
  565. package/ts3.5/dist/es6/dialog/lib/Dialog.d.ts +1 -1
  566. package/ts3.5/dist/es6/icon/lib/AccentIcon.d.ts +3 -5
  567. package/ts3.5/dist/es6/icon/lib/AppletIcon.d.ts +5 -6
  568. package/ts3.5/dist/es6/icon/lib/Graphic.d.ts +3 -5
  569. package/ts3.5/dist/es6/icon/lib/Icon.d.ts +2 -5
  570. package/ts3.5/dist/es6/icon/lib/Svg.d.ts +4 -6
  571. package/ts3.5/dist/es6/icon/lib/SystemIcon.d.ts +5 -6
  572. package/ts3.5/dist/es6/icon/lib/SystemIconCircle.d.ts +3 -6
  573. package/ts3.5/dist/es6/index.d.ts +0 -2
  574. package/ts3.5/dist/es6/layout/index.d.ts +12 -2
  575. package/ts3.5/dist/es6/layout/lib/Box.d.ts +48 -0
  576. package/ts3.5/dist/es6/layout/lib/Flex.d.ts +26 -0
  577. package/ts3.5/dist/es6/layout/lib/Stack.d.ts +27 -0
  578. package/ts3.5/dist/es6/layout/lib/utils/border.d.ts +103 -0
  579. package/ts3.5/dist/es6/layout/lib/utils/color.d.ts +26 -0
  580. package/ts3.5/dist/es6/layout/lib/utils/depth.d.ts +22 -0
  581. package/ts3.5/dist/es6/layout/lib/utils/flex.d.ts +36 -0
  582. package/ts3.5/dist/es6/layout/lib/utils/flexItem.d.ts +33 -0
  583. package/ts3.5/dist/es6/layout/lib/utils/getValidChildren.d.ts +3 -0
  584. package/ts3.5/dist/es6/layout/lib/utils/layout.d.ts +43 -0
  585. package/ts3.5/dist/es6/layout/lib/utils/other.d.ts +5 -0
  586. package/ts3.5/dist/es6/layout/lib/utils/position.d.ts +41 -0
  587. package/ts3.5/dist/es6/layout/lib/utils/space.d.ts +64 -0
  588. package/ts3.5/dist/es6/layout/lib/utils/stack.d.ts +26 -0
  589. package/ts3.5/dist/es6/layout/lib/utils/types.d.ts +20 -0
  590. package/ts3.5/dist/es6/modal/lib/Modal.d.ts +1 -1
  591. package/ts3.5/dist/es6/modal/lib/ModalOverlay.d.ts +1 -1
  592. package/ts3.5/dist/es6/pagination/lib/Pagination/AdditionalDetails.d.ts +1 -1
  593. package/ts3.5/dist/es6/pagination/lib/Pagination/Controls.d.ts +2 -2
  594. package/ts3.5/dist/es6/pagination/lib/Pagination/GoTo/Form.d.ts +1 -1
  595. package/ts3.5/dist/es6/pagination/lib/Pagination/Nav.d.ts +1 -1
  596. package/ts3.5/dist/es6/pagination/lib/Pagination/PageButton.d.ts +1 -2
  597. package/ts3.5/dist/es6/pagination/lib/Pagination/PageList.d.ts +1 -1
  598. package/ts3.5/dist/es6/pagination/lib/Pagination/Pagination.d.ts +5 -5
  599. package/ts3.5/dist/es6/pagination/lib/Pagination/common/List.d.ts +1 -1
  600. package/ts3.5/dist/es6/popup/lib/Popup.d.ts +1 -1
  601. package/ts3.5/dist/es6/popup/lib/PopupBody.d.ts +1 -1
  602. package/ts3.5/dist/es6/popup/lib/PopupCard.d.ts +1 -1
  603. package/ts3.5/dist/es6/popup/lib/PopupCloseIcon.d.ts +2 -2
  604. package/ts3.5/dist/es6/segmented-control/lib/SegmentedControl.d.ts +9 -7
  605. package/ts3.5/dist/es6/segmented-control/lib/SegmentedControlButton.d.ts +8 -0
  606. package/ts3.5/dist/es6/tabs/lib/Tabs.d.ts +2 -2
  607. package/ts3.5/dist/es6/tabs/lib/TabsItem.d.ts +3 -5
  608. package/ts3.5/dist/es6/tabs/lib/TabsList.d.ts +1 -1
  609. package/ts3.5/dist/es6/tabs/lib/TabsPanel.d.ts +1 -1
  610. package/ts3.5/dist/es6/tabs/lib/menu/Menu.d.ts +1 -1
  611. package/ts3.5/dist/es6/tabs/lib/menu/MenuItem.d.ts +1 -2
  612. package/ts3.5/dist/es6/tabs/lib/menu/MenuList.d.ts +1 -1
  613. package/ts3.5/dist/es6/text-input/lib/InputIconContainer.d.ts +1 -1
  614. package/ts3.5/dist/es6/tooltip/lib/Tooltip.d.ts +1 -1
  615. package/ts3.5/dist/es6/tooltip/lib/useTooltip.d.ts +1 -1
  616. package/button/lib/IconButton.tsx +0 -279
  617. package/button/lib/parts/ButtonLabelData.tsx +0 -16
  618. package/cookie-banner/LICENSE +0 -51
  619. package/cookie-banner/README.md +0 -104
  620. package/cookie-banner/index.ts +0 -5
  621. package/cookie-banner/lib/CookieBanner.tsx +0 -152
  622. package/cookie-banner/package.json +0 -5
  623. package/dist/commonjs/button/lib/IconButton.d.ts +0 -44
  624. package/dist/commonjs/button/lib/IconButton.d.ts.map +0 -1
  625. package/dist/commonjs/button/lib/IconButton.js +0 -219
  626. package/dist/commonjs/button/lib/parts/ButtonContainer.d.ts +0 -33
  627. package/dist/commonjs/button/lib/parts/ButtonContainer.d.ts.map +0 -1
  628. package/dist/commonjs/button/lib/parts/ButtonContainer.js +0 -126
  629. package/dist/commonjs/button/lib/parts/ButtonLabelData.d.ts +0 -3
  630. package/dist/commonjs/button/lib/parts/ButtonLabelData.d.ts.map +0 -1
  631. package/dist/commonjs/cookie-banner/index.d.ts +0 -5
  632. package/dist/commonjs/cookie-banner/index.d.ts.map +0 -1
  633. package/dist/commonjs/cookie-banner/index.js +0 -20
  634. package/dist/commonjs/cookie-banner/lib/CookieBanner.d.ts +0 -48
  635. package/dist/commonjs/cookie-banner/lib/CookieBanner.d.ts.map +0 -1
  636. package/dist/commonjs/cookie-banner/lib/CookieBanner.js +0 -143
  637. package/dist/commonjs/page-header/index.d.ts +0 -5
  638. package/dist/commonjs/page-header/index.d.ts.map +0 -1
  639. package/dist/commonjs/page-header/index.js +0 -20
  640. package/dist/commonjs/page-header/lib/PageHeader.d.ts +0 -39
  641. package/dist/commonjs/page-header/lib/PageHeader.d.ts.map +0 -1
  642. package/dist/commonjs/page-header/lib/PageHeader.js +0 -142
  643. package/dist/es6/button/lib/IconButton.d.ts +0 -44
  644. package/dist/es6/button/lib/IconButton.d.ts.map +0 -1
  645. package/dist/es6/button/lib/IconButton.js +0 -197
  646. package/dist/es6/button/lib/parts/ButtonContainer.d.ts +0 -33
  647. package/dist/es6/button/lib/parts/ButtonContainer.d.ts.map +0 -1
  648. package/dist/es6/button/lib/parts/ButtonContainer.js +0 -120
  649. package/dist/es6/button/lib/parts/ButtonLabelData.d.ts +0 -3
  650. package/dist/es6/button/lib/parts/ButtonLabelData.d.ts.map +0 -1
  651. package/dist/es6/button/lib/parts/ButtonLabelData.js +0 -22
  652. package/dist/es6/cookie-banner/index.d.ts +0 -5
  653. package/dist/es6/cookie-banner/index.d.ts.map +0 -1
  654. package/dist/es6/cookie-banner/index.js +0 -4
  655. package/dist/es6/cookie-banner/lib/CookieBanner.d.ts +0 -48
  656. package/dist/es6/cookie-banner/lib/CookieBanner.d.ts.map +0 -1
  657. package/dist/es6/cookie-banner/lib/CookieBanner.js +0 -119
  658. package/dist/es6/page-header/index.d.ts +0 -5
  659. package/dist/es6/page-header/index.d.ts.map +0 -1
  660. package/dist/es6/page-header/index.js +0 -4
  661. package/dist/es6/page-header/lib/PageHeader.d.ts +0 -39
  662. package/dist/es6/page-header/lib/PageHeader.d.ts.map +0 -1
  663. package/dist/es6/page-header/lib/PageHeader.js +0 -118
  664. package/page-header/LICENSE +0 -51
  665. package/page-header/README.md +0 -72
  666. package/page-header/index.ts +0 -5
  667. package/page-header/lib/PageHeader.tsx +0 -126
  668. package/page-header/package.json +0 -5
  669. package/ts3.5/dist/commonjs/button/lib/IconButton.d.ts +0 -44
  670. package/ts3.5/dist/commonjs/button/lib/parts/ButtonContainer.d.ts +0 -33
  671. package/ts3.5/dist/commonjs/button/lib/parts/ButtonLabelData.d.ts +0 -3
  672. package/ts3.5/dist/commonjs/cookie-banner/index.d.ts +0 -5
  673. package/ts3.5/dist/commonjs/cookie-banner/lib/CookieBanner.d.ts +0 -48
  674. package/ts3.5/dist/commonjs/page-header/index.d.ts +0 -5
  675. package/ts3.5/dist/commonjs/page-header/lib/PageHeader.d.ts +0 -39
  676. package/ts3.5/dist/es6/button/lib/IconButton.d.ts +0 -44
  677. package/ts3.5/dist/es6/button/lib/parts/ButtonContainer.d.ts +0 -33
  678. package/ts3.5/dist/es6/button/lib/parts/ButtonLabelData.d.ts +0 -3
  679. package/ts3.5/dist/es6/cookie-banner/index.d.ts +0 -5
  680. package/ts3.5/dist/es6/cookie-banner/lib/CookieBanner.d.ts +0 -48
  681. package/ts3.5/dist/es6/page-header/index.d.ts +0 -5
  682. package/ts3.5/dist/es6/page-header/lib/PageHeader.d.ts +0 -39
@@ -10,110 +10,10 @@ import {
10
10
  } from '@workday/canvas-kit-react/common';
11
11
  import {colors} from '@workday/canvas-kit-react/tokens';
12
12
  import {CanvasSystemIcon} from '@workday/design-assets-types';
13
-
14
- import {ButtonContainer, ButtonLabel, ButtonLabelData, ButtonLabelIcon} from './parts';
15
13
  import {ButtonSizes, IconPositions} from './types';
14
+ import {BaseButton, getMinWidthStyles, getPaddingStyles} from './BaseButton';
16
15
 
17
- export interface PrimaryButtonProps extends Themeable, GrowthBehavior {
18
- /**
19
- * The variant of the PrimaryButton.
20
- * @default undefined
21
- */
22
- variant?: 'inverse';
23
- /**
24
- * There are four button sizes: `extraSmall`, `small`, `medium`, and `large`.
25
- * If no size is provided, it will default to `medium`.
26
- *
27
- * @default 'medium'
28
- */
29
- size?: ButtonSizes;
30
- /**
31
- * The data label of the Button.
32
- * Note: not displayed at `small` size
33
- */
34
- dataLabel?: String;
35
- /**
36
- * The icon of the Button.
37
- * Note: not displayed at `small` size
38
- */
39
- icon?: CanvasSystemIcon;
40
- /**
41
- * Button icon positions can either be `left` or `right`.
42
- * If no value is provided, it defaults to `left`.
43
- * @default 'left'
44
- */
45
- iconPosition?: IconPositions;
46
- /**
47
- * If set to `true`, transform the icon's x-axis to mirror the graphic
48
- * @default false
49
- */
50
- shouldMirrorIcon?: boolean;
51
- children?: React.ReactNode;
52
- }
53
-
54
- // Button sizes where data labels are enabled
55
- const dataLabelSizes = ['medium', 'large'];
56
- // All disabled buttons are set to 40% opacity.
57
- // This will eventually live in the ButtonContainer styles, but for now we're scoping it to Primary, Secondary, and Tertiary buttons.
58
- const disabledButtonOpacity = {
59
- '&:disabled, &:disabled:active': {
60
- opacity: 0.4,
61
- },
62
- };
63
-
64
- export const PrimaryButton = createComponent('button')({
65
- displayName: 'PrimaryButton',
66
- Component: (
67
- {
68
- // TODO: Fix useTheme and make it a real hook
69
- // eslint-disable-next-line react-hooks/rules-of-hooks
70
- theme = useTheme(),
71
- size = 'medium',
72
- iconPosition = 'left',
73
- variant,
74
- dataLabel,
75
- icon,
76
- shouldMirrorIcon = false,
77
- children,
78
- ...elemProps
79
- }: PrimaryButtonProps,
80
- ref,
81
- Element
82
- ) => (
83
- <ButtonContainer
84
- ref={ref}
85
- as={Element}
86
- colors={getPrimaryButtonColors(variant, theme)}
87
- size={size}
88
- extraStyles={disabledButtonOpacity}
89
- {...elemProps}
90
- >
91
- {icon && iconPosition === 'left' && (
92
- <ButtonLabelIcon
93
- size={size}
94
- iconPosition={iconPosition}
95
- icon={icon}
96
- shouldMirrorIcon={shouldMirrorIcon}
97
- />
98
- )}
99
- <ButtonLabel>{children}</ButtonLabel>
100
- {dataLabel && dataLabelSizes.includes(size) && <ButtonLabelData>{dataLabel}</ButtonLabelData>}
101
- {icon && iconPosition === 'right' && (
102
- <ButtonLabelIcon
103
- size={size}
104
- iconPosition={iconPosition}
105
- icon={icon}
106
- shouldMirrorIcon={shouldMirrorIcon}
107
- />
108
- )}
109
- </ButtonContainer>
110
- ),
111
- });
112
-
113
- export const getPrimaryButtonColors = (
114
- variant: 'inverse' | undefined,
115
- theme: EmotionCanvasTheme
116
- ) => {
16
+ const getPrimaryButtonColors = (variant: 'inverse' | undefined, theme: EmotionCanvasTheme) => {
117
17
  const {
118
18
  canvas: {
119
19
  palette: {primary: themePrimary},
@@ -149,30 +49,27 @@ export const getPrimaryButtonColors = (
149
49
  background: colors.frenchVanilla100,
150
50
  icon: colors.blackPepper400,
151
51
  label: colors.blackPepper400,
152
- labelData: colors.blackPepper400,
153
52
  },
154
53
  hover: {
155
54
  background: colors.soap300,
156
55
  icon: colors.blackPepper500,
157
56
  label: colors.blackPepper500,
158
- labelData: colors.blackPepper500,
159
57
  },
160
58
  active: {
161
- background: colors.soap300,
59
+ background: colors.soap400,
162
60
  icon: colors.blackPepper500,
163
61
  label: colors.blackPepper500,
164
- labelData: colors.blackPepper500,
165
62
  },
166
63
  focus: {
167
64
  background: colors.frenchVanilla100,
168
65
  border: colors.blackPepper400,
169
66
  icon: colors.blackPepper400,
170
67
  label: colors.blackPepper400,
171
- labelData: colors.blackPepper400,
68
+
172
69
  focusRing: focusRing(
173
70
  {
174
71
  separation: 1,
175
- innerColor: colors.blackPepper500,
72
+ innerColor: colors.blackPepper400,
176
73
  outerColor: colors.frenchVanilla100,
177
74
  },
178
75
  theme
@@ -183,8 +80,88 @@ export const getPrimaryButtonColors = (
183
80
  background: colors.frenchVanilla100,
184
81
  icon: colors.blackPepper400,
185
82
  label: colors.blackPepper400,
186
- labelData: colors.blackPepper400,
187
83
  },
188
84
  };
189
85
  }
190
86
  };
87
+
88
+ export interface PrimaryButtonProps extends Themeable, GrowthBehavior {
89
+ /**
90
+ * The variant of the PrimaryButton.
91
+ * @default undefined
92
+ */
93
+ variant?: 'inverse';
94
+ /**
95
+ * There are four button sizes: `extraSmall`, `small`, `medium`, and `large`.
96
+ * If no size is provided, it will default to `medium`.
97
+ *
98
+ * @default 'medium'
99
+ */
100
+ size?: ButtonSizes;
101
+ /**
102
+ * The icon of the Button.
103
+ * Note: not displayed at `small` size
104
+ */
105
+ icon?: CanvasSystemIcon;
106
+ /**
107
+ * Button icon positions can either be `start` or `end`.
108
+ * If no value is provided, it defaults to `start`.
109
+ * @default 'start'
110
+ */
111
+ iconPosition?: IconPositions;
112
+ /**
113
+ * If set to `true`, transform the icon's x-axis to mirror the graphic
114
+ * @default false
115
+ */
116
+ shouldMirrorIcon?: boolean;
117
+ children?: React.ReactNode;
118
+ }
119
+
120
+ export const PrimaryButton = createComponent('button')({
121
+ displayName: 'PrimaryButton',
122
+ Component: (
123
+ {
124
+ size = 'medium',
125
+ iconPosition = 'start',
126
+ variant,
127
+ icon,
128
+ shouldMirrorIcon = false,
129
+ children,
130
+ ...elemProps
131
+ }: PrimaryButtonProps,
132
+ ref,
133
+ Element
134
+ ) => {
135
+ const theme = useTheme();
136
+ return (
137
+ <BaseButton
138
+ ref={ref}
139
+ size={size}
140
+ colors={getPrimaryButtonColors(variant, theme)}
141
+ padding={getPaddingStyles(children, size, icon, iconPosition)}
142
+ minWidth={getMinWidthStyles(children, size)}
143
+ as={Element}
144
+ {...elemProps}
145
+ >
146
+ {icon && iconPosition === 'start' && (
147
+ <BaseButton.Icon
148
+ size={size}
149
+ iconPosition={iconPosition}
150
+ icon={icon}
151
+ shouldMirrorIcon={shouldMirrorIcon}
152
+ />
153
+ )}
154
+ {children && <BaseButton.Label>{children}</BaseButton.Label>}
155
+
156
+ {icon && iconPosition === 'end' && (
157
+ <BaseButton.Icon
158
+ size={size}
159
+ iconPosition={iconPosition}
160
+ icon={icon}
161
+ shouldMirrorIcon={shouldMirrorIcon}
162
+ />
163
+ )}
164
+ </BaseButton>
165
+ );
166
+ },
167
+ });
@@ -11,7 +11,7 @@ import {
11
11
  } from '@workday/canvas-kit-react/common';
12
12
  import {CanvasSystemIcon} from '@workday/design-assets-types';
13
13
  import {ButtonColors, ButtonSizes, IconPositions} from './types';
14
- import {ButtonContainer, ButtonLabel, ButtonLabelData, ButtonLabelIcon} from './parts';
14
+ import {BaseButton, getMinWidthStyles, getPaddingStyles} from './BaseButton';
15
15
 
16
16
  export interface SecondaryButtonProps extends Themeable, GrowthBehavior {
17
17
  /**
@@ -26,11 +26,6 @@ export interface SecondaryButtonProps extends Themeable, GrowthBehavior {
26
26
  * @default 'medium'
27
27
  */
28
28
  size?: ButtonSizes;
29
- /**
30
- * The data label of the Button.
31
- * Note: not displayed at `small` size
32
- */
33
- dataLabel?: String;
34
29
  /**
35
30
  * The icon of the Button.
36
31
  * Note: not displayed at `small` size
@@ -50,27 +45,13 @@ export interface SecondaryButtonProps extends Themeable, GrowthBehavior {
50
45
  children?: React.ReactNode;
51
46
  }
52
47
 
53
- // Button sizes where data labels are enabled
54
- const dataLabelSizes = ['medium', 'large'];
55
- // All disabled buttons are set to 40% opacity.
56
- // This will eventually live in the ButtonContainer styles, but for now we're scoping it to Primary, Secondary, and Tertiary buttons.
57
- const disabledButtonOpacity = {
58
- '&:disabled, &:disabled:active': {
59
- opacity: 0.4,
60
- },
61
- };
62
-
63
48
  export const SecondaryButton = createComponent('button')({
64
49
  displayName: 'SecondaryButton',
65
50
  Component: (
66
51
  {
67
- // TODO: Fix useTheme and make it a real hook
68
- // eslint-disable-next-line react-hooks/rules-of-hooks
69
- theme = useTheme(),
70
52
  size = 'medium',
71
- iconPosition = 'left',
53
+ iconPosition = 'start',
72
54
  variant,
73
- dataLabel,
74
55
  icon,
75
56
  shouldMirrorIcon = false,
76
57
  children,
@@ -78,35 +59,39 @@ export const SecondaryButton = createComponent('button')({
78
59
  }: SecondaryButtonProps,
79
60
  ref,
80
61
  Element
81
- ) => (
82
- <ButtonContainer
83
- ref={ref}
84
- as={Element}
85
- colors={getSecondaryButtonColors(variant, theme)}
86
- size={size}
87
- extraStyles={disabledButtonOpacity}
88
- {...elemProps}
89
- >
90
- {icon && iconPosition === 'left' && (
91
- <ButtonLabelIcon
92
- size={size}
93
- iconPosition={iconPosition}
94
- icon={icon}
95
- shouldMirrorIcon={shouldMirrorIcon}
96
- />
97
- )}
98
- <ButtonLabel>{children}</ButtonLabel>
99
- {dataLabel && dataLabelSizes.includes(size) && <ButtonLabelData>{dataLabel}</ButtonLabelData>}
100
- {icon && iconPosition === 'right' && (
101
- <ButtonLabelIcon
102
- size={size}
103
- iconPosition={iconPosition}
104
- icon={icon}
105
- shouldMirrorIcon={shouldMirrorIcon}
106
- />
107
- )}
108
- </ButtonContainer>
109
- ),
62
+ ) => {
63
+ const theme = useTheme();
64
+
65
+ return (
66
+ <BaseButton
67
+ ref={ref}
68
+ size={size}
69
+ colors={getSecondaryButtonColors(variant, theme)}
70
+ padding={getPaddingStyles(children, size, icon, iconPosition)}
71
+ minWidth={getMinWidthStyles(children, size)}
72
+ as={Element}
73
+ {...elemProps}
74
+ >
75
+ {icon && iconPosition === 'start' && (
76
+ <BaseButton.Icon
77
+ size={size}
78
+ iconPosition={iconPosition}
79
+ icon={icon}
80
+ shouldMirrorIcon={shouldMirrorIcon}
81
+ />
82
+ )}
83
+ {children && <BaseButton.Label>{children}</BaseButton.Label>}
84
+ {icon && iconPosition === 'end' && (
85
+ <BaseButton.Icon
86
+ size={size}
87
+ iconPosition={iconPosition}
88
+ icon={icon}
89
+ shouldMirrorIcon={shouldMirrorIcon}
90
+ />
91
+ )}
92
+ </BaseButton>
93
+ );
94
+ },
110
95
  });
111
96
 
112
97
  export const getSecondaryButtonColors = (
@@ -128,27 +113,23 @@ export const getSecondaryButtonColors = (
128
113
  border: colors.blackPepper400,
129
114
  icon: colors.blackPepper400,
130
115
  label: colors.blackPepper400,
131
- labelData: colors.blackPepper400,
132
116
  },
133
117
  hover: {
134
118
  background: colors.blackPepper400,
135
119
  border: colors.blackPepper400,
136
120
  icon: themePrimary.contrast,
137
121
  label: themePrimary.contrast,
138
- labelData: themePrimary.contrast,
139
122
  },
140
123
  active: {
141
124
  background: colors.blackPepper500,
142
125
  border: colors.blackPepper500,
143
126
  icon: themePrimary.contrast,
144
127
  label: themePrimary.contrast,
145
- labelData: themePrimary.contrast,
146
128
  },
147
129
  focus: {
148
130
  border: colors.blackPepper400,
149
131
  icon: colors.blackPepper400,
150
132
  label: colors.blackPepper400,
151
- labelData: colors.blackPepper400,
152
133
  },
153
134
  // Identical to 'default' styles. ButtonContainer will set opacity to 40%
154
135
  disabled: {
@@ -156,7 +137,6 @@ export const getSecondaryButtonColors = (
156
137
  border: colors.blackPepper400,
157
138
  icon: colors.blackPepper400,
158
139
  label: colors.blackPepper400,
159
- labelData: colors.blackPepper400,
160
140
  },
161
141
  };
162
142
  case 'inverse':
@@ -170,26 +150,24 @@ export const getSecondaryButtonColors = (
170
150
  hover: {
171
151
  background: colors.soap300,
172
152
  border: colors.soap300,
173
- icon: colors.blackPepper400,
174
- label: colors.blackPepper400,
175
- labelData: colors.blackPepper400,
153
+ icon: colors.blackPepper500,
154
+ label: colors.blackPepper500,
176
155
  },
177
156
  active: {
178
157
  background: colors.soap400,
179
158
  border: colors.soap400,
180
- icon: colors.blackPepper400,
181
- label: colors.blackPepper400,
182
- labelData: colors.blackPepper400,
159
+ icon: colors.blackPepper500,
160
+ label: colors.blackPepper500,
183
161
  },
184
162
  focus: {
185
163
  background: colors.frenchVanilla100,
186
- icon: colors.blackPepper400,
187
- label: colors.blackPepper400,
188
- labelData: colors.blackPepper400,
164
+ icon: colors.blackPepper500,
165
+ border: colors.blackPepper400,
166
+ label: colors.blackPepper500,
189
167
  focusRing: focusRing(
190
168
  {
191
- separation: 2,
192
- innerColor: 'currentColor',
169
+ separation: 1,
170
+ innerColor: colors.blackPepper400,
193
171
  outerColor: colors.frenchVanilla100,
194
172
  },
195
173
  theme
@@ -1,16 +1,17 @@
1
1
  import * as React from 'react';
2
- import {CSSObject} from '@emotion/styled';
3
2
  import {
4
3
  focusRing,
5
4
  useTheme,
6
5
  Themeable,
7
6
  EmotionCanvasTheme,
8
7
  createComponent,
8
+ styled,
9
+ StyledType,
9
10
  } from '@workday/canvas-kit-react/common';
10
- import {colors, space, borderRadius} from '@workday/canvas-kit-react/tokens';
11
+ import {borderRadius, colors, space} from '@workday/canvas-kit-react/tokens';
11
12
  import {CanvasSystemIcon} from '@workday/design-assets-types';
12
- import {ButtonColors, TertiaryButtonSizes, IconPositions} from './types';
13
- import {ButtonContainer, ButtonLabelIcon, ButtonLabel} from './parts';
13
+ import {ButtonColors, IconPositions, ButtonSizes} from './types';
14
+ import {BaseButton} from './BaseButton';
14
15
 
15
16
  export interface TertiaryButtonProps extends Themeable {
16
17
  /**
@@ -24,7 +25,7 @@ export interface TertiaryButtonProps extends Themeable {
24
25
  *
25
26
  * @default 'medium'
26
27
  */
27
- size?: TertiaryButtonSizes;
28
+ size?: ButtonSizes;
28
29
  /**
29
30
  * Button icon positions can either be `left` or `right`.
30
31
  * If no value is provided, it defaults to `left`.
@@ -49,7 +50,8 @@ export interface TertiaryButtonProps extends Themeable {
49
50
 
50
51
  const getTertiaryButtonColors = (
51
52
  variant: 'inverse' | undefined,
52
- theme: EmotionCanvasTheme
53
+ theme: EmotionCanvasTheme,
54
+ children: React.ReactNode
53
55
  ): ButtonColors => {
54
56
  const {
55
57
  canvas: {
@@ -97,65 +99,103 @@ const getTertiaryButtonColors = (
97
99
  } else {
98
100
  return {
99
101
  default: {
100
- icon: themePrimary.main,
102
+ icon: children ? themePrimary.main : colors.blackPepper400,
101
103
  label: themePrimary.main,
102
104
  },
103
105
  hover: {
104
106
  background: colors.soap200,
105
- icon: themePrimary.dark,
107
+ icon: children ? themePrimary.dark : colors.blackPepper500,
106
108
  label: themePrimary.dark,
107
109
  },
108
110
  active: {
109
111
  background: colors.soap300,
110
- icon: themePrimary.dark,
112
+ icon: children ? themePrimary.dark : colors.blackPepper500,
111
113
  label: themePrimary.dark,
112
114
  },
113
115
  focus: {
114
- icon: themePrimary.dark,
115
- label: themePrimary.dark,
116
- focusRing: focusRing({}, theme),
116
+ icon: children ? themePrimary.main : colors.blackPepper500,
117
+ label: themePrimary.main,
118
+ focusRing: focusRing({innerColor: colors.blueberry400}, theme),
117
119
  },
118
120
  disabled: {
119
- icon: themePrimary.main,
121
+ icon: children ? themePrimary.main : colors.blackPepper400,
120
122
  label: themePrimary.main,
121
123
  },
122
124
  };
123
125
  }
124
126
  };
125
127
 
128
+ const StyledButtonLabel = styled(BaseButton.Label)({
129
+ textDecoration: 'underline',
130
+ });
131
+
132
+ const StyledTertiaryButtonContainer = styled(BaseButton)<
133
+ StyledType & Pick<TertiaryButtonProps, 'allCaps'>
134
+ >(
135
+ {
136
+ border: '0',
137
+ },
138
+ ({allCaps}) => ({
139
+ textTransform: allCaps ? 'uppercase' : undefined,
140
+ })
141
+ );
142
+
126
143
  const getPaddingStyles = (
127
144
  icon: CanvasSystemIcon | undefined,
128
- iconPosition: 'left' | 'right'
145
+ iconPosition: 'start' | 'end',
146
+ children: React.ReactNode,
147
+ size: ButtonSizes
129
148
  ): string => {
130
- // if there is an icon on the left, add 4px extra padding to the right for visual balance
131
- if (icon && iconPosition === 'left') {
132
- return `0 ${space.xs} 0 ${space.xxs}`;
133
- }
134
- // if there is an icon on the right, add 4px extra padding to the left for visual balance
135
- if (icon && iconPosition === 'right') {
136
- return `0 ${space.xxs} 0 ${space.xs}`;
149
+ if (children) {
150
+ // if there is an icon on the left, add 4px extra padding to the right for visual balance
151
+ if (icon && iconPosition === 'start') {
152
+ if (size === 'extraSmall') {
153
+ return `0 ${space.xxs} 0 ${space.xxxs}`;
154
+ }
155
+ return `0 ${space.xs} 0 ${space.xxs}`;
156
+ }
157
+ // if there is an icon on the right, add 4px extra padding to the left for visual balance
158
+ if (icon && iconPosition === 'end') {
159
+ if (size === 'extraSmall') {
160
+ return `0 ${space.xxxs} 0 ${space.xxs}`;
161
+ }
162
+ return `0 ${space.xxs} 0 ${space.xs}`;
163
+ }
164
+ // if there is no icon, return the default padding
165
+ return `0 ${space.xxs}`;
166
+ } else {
167
+ return '0';
137
168
  }
138
- // if there is no icon, return the default padding
139
- return `0 ${space.xxs}`;
140
169
  };
141
170
 
142
- // All disabled buttons are set to 40% opacity.
143
- // This will eventually live in the ButtonContainer styles, but for now we're scoping it to Primary, Secondary, and Tertiary buttons.
144
- const disabledButtonOpacity = {
145
- '&:disabled, &:disabled:active': {
146
- opacity: 0.4,
147
- },
171
+ const getMinWidthStyles = (children: React.ReactNode, size: ButtonSizes): string => {
172
+ let minWidthNum;
173
+ switch (size) {
174
+ case 'large':
175
+ minWidthNum = '48px';
176
+ break;
177
+ case 'medium':
178
+ minWidthNum = space.xl;
179
+ break;
180
+ case 'small':
181
+ minWidthNum = space.l;
182
+ break;
183
+ case 'extraSmall':
184
+ minWidthNum = space.m;
185
+ break;
186
+ default:
187
+ minWidthNum = space.xl;
188
+ break;
189
+ }
190
+ return children ? 'auto' : minWidthNum;
148
191
  };
149
192
 
150
193
  export const TertiaryButton = createComponent('button')({
151
194
  displayName: 'TertiaryButton',
152
195
  Component: (
153
196
  {
154
- // TODO: Fix useTheme and make it a real hook
155
- // eslint-disable-next-line react-hooks/rules-of-hooks
156
- theme = useTheme(),
157
197
  size = 'medium',
158
- iconPosition = 'left',
198
+ iconPosition = 'start',
159
199
  variant,
160
200
  children,
161
201
  icon,
@@ -166,45 +206,38 @@ export const TertiaryButton = createComponent('button')({
166
206
  ref,
167
207
  Element
168
208
  ) => {
169
- const allContainerStyles: CSSObject = {
170
- borderRadius: borderRadius.m,
171
- border: '0',
172
- padding: getPaddingStyles(icon, iconPosition),
173
- minWidth: 'auto',
174
- textTransform: allCaps ? 'uppercase' : undefined,
175
- '.wdc-text-button-label': {
176
- textDecoration: 'underline',
177
- },
178
- ...disabledButtonOpacity,
179
- };
209
+ const theme = useTheme();
180
210
 
181
211
  return (
182
- <ButtonContainer
212
+ <StyledTertiaryButtonContainer
183
213
  ref={ref}
184
214
  as={Element}
185
- colors={getTertiaryButtonColors(variant, theme)}
215
+ allCaps={allCaps}
216
+ colors={getTertiaryButtonColors(variant, theme, children)}
186
217
  size={size}
187
- extraStyles={allContainerStyles}
218
+ padding={getPaddingStyles(icon, iconPosition, children, size)}
219
+ minWidth={getMinWidthStyles(children, size)}
220
+ style={{borderRadius: children ? borderRadius.m : borderRadius.circle}}
188
221
  {...elemProps}
189
222
  >
190
- {icon && iconPosition === 'left' && (
191
- <ButtonLabelIcon
223
+ {icon && iconPosition === 'start' && (
224
+ <BaseButton.Icon
192
225
  size={size}
193
226
  iconPosition={iconPosition}
194
227
  icon={icon}
195
228
  shouldMirrorIcon={shouldMirrorIcon}
196
229
  />
197
230
  )}
198
- <ButtonLabel className="wdc-text-button-label">{children}</ButtonLabel>
199
- {icon && iconPosition === 'right' && (
200
- <ButtonLabelIcon
231
+ {children && <StyledButtonLabel>{children}</StyledButtonLabel>}
232
+ {icon && iconPosition === 'end' && (
233
+ <BaseButton.Icon
201
234
  size={size}
202
235
  iconPosition={iconPosition}
203
236
  icon={icon}
204
237
  shouldMirrorIcon={shouldMirrorIcon}
205
238
  />
206
239
  )}
207
- </ButtonContainer>
240
+ </StyledTertiaryButtonContainer>
208
241
  );
209
242
  },
210
243
  });