@workday/canvas-kit-react 6.0.0-alpha.0-next.31 → 6.0.0-alpha.0-next.37

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 (674) hide show
  1. package/banner/index.ts +1 -4
  2. package/banner/lib/Banner.tsx +85 -111
  3. package/banner/lib/BannerActionText.tsx +46 -0
  4. package/banner/lib/BannerIcon.tsx +40 -0
  5. package/banner/lib/BannerLabel.tsx +29 -0
  6. package/banner/lib/hooks/index.ts +6 -0
  7. package/banner/lib/hooks/useBanner.tsx +13 -0
  8. package/banner/lib/hooks/useBannerActionText.tsx +12 -0
  9. package/banner/lib/hooks/useBannerIcon.tsx +19 -0
  10. package/banner/lib/hooks/useBannerLabel.tsx +12 -0
  11. package/banner/lib/hooks/useBannerModel.tsx +63 -0
  12. package/banner/lib/hooks/useThemedPalette.ts +53 -0
  13. package/common/index.ts +1 -0
  14. package/common/lib/EllipsisText.tsx +11 -0
  15. package/common/lib/styles/hideMouseFocus.ts +3 -2
  16. package/common/lib/utils/components.ts +50 -23
  17. package/common/lib/utils/index.ts +1 -0
  18. package/common/lib/utils/mergeProps.ts +4 -0
  19. package/common/lib/utils/useConstant.ts +18 -0
  20. package/common/lib/utils/useResizeObserver.ts +29 -0
  21. package/common/lib/utils/useUniqueId.ts +4 -3
  22. package/dist/commonjs/banner/index.d.ts +1 -3
  23. package/dist/commonjs/banner/index.d.ts.map +1 -1
  24. package/dist/commonjs/banner/index.js +1 -6
  25. package/dist/commonjs/banner/lib/Banner.d.ts +17 -33
  26. package/dist/commonjs/banner/lib/Banner.d.ts.map +1 -1
  27. package/dist/commonjs/banner/lib/Banner.js +44 -69
  28. package/dist/commonjs/banner/lib/BannerActionText.d.ts +14 -0
  29. package/dist/commonjs/banner/lib/BannerActionText.d.ts.map +1 -0
  30. package/dist/commonjs/banner/lib/BannerActionText.js +42 -0
  31. package/dist/commonjs/banner/lib/BannerIcon.d.ts +14 -0
  32. package/dist/commonjs/banner/lib/BannerIcon.d.ts.map +1 -0
  33. package/dist/commonjs/banner/lib/BannerIcon.js +47 -0
  34. package/dist/commonjs/banner/lib/BannerLabel.d.ts +13 -0
  35. package/dist/commonjs/banner/lib/BannerLabel.d.ts.map +1 -0
  36. package/dist/commonjs/banner/lib/BannerLabel.js +45 -0
  37. package/dist/commonjs/banner/lib/hooks/index.d.ts +7 -0
  38. package/dist/commonjs/banner/lib/hooks/index.d.ts.map +1 -0
  39. package/dist/commonjs/banner/lib/hooks/index.js +11 -0
  40. package/dist/commonjs/banner/lib/hooks/useBanner.d.ts +16 -0
  41. package/dist/commonjs/banner/lib/hooks/useBanner.d.ts.map +1 -0
  42. package/dist/commonjs/banner/lib/hooks/useBanner.js +14 -0
  43. package/dist/commonjs/banner/lib/hooks/useBannerActionText.d.ts +15 -0
  44. package/dist/commonjs/banner/lib/hooks/useBannerActionText.d.ts.map +1 -0
  45. package/dist/commonjs/banner/lib/hooks/useBannerActionText.js +13 -0
  46. package/dist/commonjs/banner/lib/hooks/useBannerIcon.d.ts +18 -0
  47. package/dist/commonjs/banner/lib/hooks/useBannerIcon.d.ts.map +1 -0
  48. package/dist/commonjs/banner/lib/hooks/useBannerIcon.js +19 -0
  49. package/dist/commonjs/banner/lib/hooks/useBannerLabel.d.ts +15 -0
  50. package/dist/commonjs/banner/lib/hooks/useBannerLabel.d.ts.map +1 -0
  51. package/dist/commonjs/banner/lib/hooks/useBannerLabel.js +13 -0
  52. package/dist/commonjs/banner/lib/hooks/useBannerModel.d.ts +37 -0
  53. package/dist/commonjs/banner/lib/hooks/useBannerModel.d.ts.map +1 -0
  54. package/dist/commonjs/banner/lib/hooks/useBannerModel.js +22 -0
  55. package/dist/commonjs/banner/lib/hooks/useThemedPalette.d.ts +11 -0
  56. package/dist/commonjs/banner/lib/hooks/useThemedPalette.d.ts.map +1 -0
  57. package/dist/commonjs/banner/lib/hooks/useThemedPalette.js +39 -0
  58. package/dist/commonjs/button/lib/parts/ButtonLabel.d.ts +1 -1
  59. package/dist/commonjs/button/lib/parts/ButtonLabel.d.ts.map +1 -1
  60. package/dist/commonjs/common/index.d.ts +1 -0
  61. package/dist/commonjs/common/index.d.ts.map +1 -1
  62. package/dist/commonjs/common/index.js +1 -0
  63. package/dist/commonjs/common/lib/EllipsisText.d.ts +5 -0
  64. package/dist/commonjs/common/lib/EllipsisText.d.ts.map +1 -0
  65. package/dist/commonjs/common/lib/EllipsisText.js +13 -0
  66. package/dist/commonjs/common/lib/styles/hideMouseFocus.d.ts +3 -2
  67. package/dist/commonjs/common/lib/styles/hideMouseFocus.d.ts.map +1 -1
  68. package/dist/commonjs/common/lib/utils/components.d.ts +19 -9
  69. package/dist/commonjs/common/lib/utils/components.d.ts.map +1 -1
  70. package/dist/commonjs/common/lib/utils/components.js +12 -2
  71. package/dist/commonjs/common/lib/utils/index.d.ts +1 -0
  72. package/dist/commonjs/common/lib/utils/index.d.ts.map +1 -1
  73. package/dist/commonjs/common/lib/utils/index.js +1 -0
  74. package/dist/commonjs/common/lib/utils/mergeProps.d.ts.map +1 -1
  75. package/dist/commonjs/common/lib/utils/mergeProps.js +5 -0
  76. package/dist/commonjs/common/lib/utils/useConstant.d.ts +9 -0
  77. package/dist/commonjs/common/lib/utils/useConstant.d.ts.map +1 -0
  78. package/dist/commonjs/common/lib/utils/useConstant.js +18 -0
  79. package/dist/commonjs/common/lib/utils/useResizeObserver.d.ts +3 -0
  80. package/dist/commonjs/common/lib/utils/useResizeObserver.d.ts.map +1 -0
  81. package/dist/commonjs/common/lib/utils/useResizeObserver.js +42 -0
  82. package/dist/commonjs/common/lib/utils/useUniqueId.d.ts.map +1 -1
  83. package/dist/commonjs/common/lib/utils/useUniqueId.js +3 -10
  84. package/dist/commonjs/dialog/lib/hooks/useDialogCard.d.ts +4 -16
  85. package/dist/commonjs/dialog/lib/hooks/useDialogCard.d.ts.map +1 -1
  86. package/dist/commonjs/dialog/lib/hooks/useDialogPopper.d.ts +5 -2
  87. package/dist/commonjs/dialog/lib/hooks/useDialogPopper.d.ts.map +1 -1
  88. package/dist/commonjs/loading-animation/lib/LoadingDots.js +3 -6
  89. package/dist/commonjs/modal/lib/ModalOverlay.d.ts +4 -2
  90. package/dist/commonjs/modal/lib/ModalOverlay.d.ts.map +1 -1
  91. package/dist/commonjs/modal/lib/hooks/useModalCard.d.ts +4 -16
  92. package/dist/commonjs/modal/lib/hooks/useModalCard.d.ts.map +1 -1
  93. package/dist/commonjs/modal/lib/hooks/useModalHeading.d.ts +5 -17
  94. package/dist/commonjs/modal/lib/hooks/useModalHeading.d.ts.map +1 -1
  95. package/dist/commonjs/pagination/lib/Pagination/GoTo/Label.d.ts +3 -0
  96. package/dist/commonjs/pagination/lib/Pagination/GoTo/Label.d.ts.map +1 -1
  97. package/dist/commonjs/pagination/lib/Pagination/PageList.d.ts +1 -1
  98. package/dist/commonjs/pagination/lib/Pagination/PageList.d.ts.map +1 -1
  99. package/dist/commonjs/pagination/lib/Pagination/Pagination.d.ts +5 -5
  100. package/dist/commonjs/pagination/lib/Pagination/common/List.d.ts +1 -1
  101. package/dist/commonjs/pagination/lib/Pagination/common/List.d.ts.map +1 -1
  102. package/dist/commonjs/pagination/lib/Pagination/common/Stack.d.ts +1 -1
  103. package/dist/commonjs/pagination/lib/Pagination/common/utils/getValidChildren.d.ts +1 -1
  104. package/dist/commonjs/pagination/lib/Pagination/common/utils/getValidChildren.d.ts.map +1 -1
  105. package/dist/commonjs/pagination/lib/Pagination/types.d.ts +39 -0
  106. package/dist/commonjs/pagination/lib/Pagination/types.d.ts.map +1 -1
  107. package/dist/commonjs/pagination/lib/Pagination/usePaginationModel.d.ts +19 -0
  108. package/dist/commonjs/pagination/lib/Pagination/usePaginationModel.d.ts.map +1 -1
  109. package/dist/commonjs/popup/lib/PopupCard.d.ts.map +1 -1
  110. package/dist/commonjs/popup/lib/PopupCard.js +3 -10
  111. package/dist/commonjs/popup/lib/hooks/usePopupCard.d.ts +5 -2
  112. package/dist/commonjs/popup/lib/hooks/usePopupCard.d.ts.map +1 -1
  113. package/dist/commonjs/popup/lib/hooks/usePopupCloseButton.d.ts +4 -2
  114. package/dist/commonjs/popup/lib/hooks/usePopupCloseButton.d.ts.map +1 -1
  115. package/dist/commonjs/popup/lib/hooks/usePopupHeading.d.ts +5 -2
  116. package/dist/commonjs/popup/lib/hooks/usePopupHeading.d.ts.map +1 -1
  117. package/dist/commonjs/popup/lib/hooks/usePopupPopper.d.ts +4 -2
  118. package/dist/commonjs/popup/lib/hooks/usePopupPopper.d.ts.map +1 -1
  119. package/dist/commonjs/popup/lib/hooks/usePopupTarget.d.ts +4 -2
  120. package/dist/commonjs/popup/lib/hooks/usePopupTarget.d.ts.map +1 -1
  121. package/dist/commonjs/popup/lib/hooks/useReturnFocus.d.ts +1 -1
  122. package/dist/commonjs/popup/lib/hooks/useReturnFocus.js +1 -1
  123. package/dist/commonjs/tabs/index.d.ts +5 -0
  124. package/dist/commonjs/tabs/index.d.ts.map +1 -1
  125. package/dist/commonjs/tabs/index.js +11 -0
  126. package/dist/commonjs/tabs/lib/Tabs.d.ts +35 -7
  127. package/dist/commonjs/tabs/lib/Tabs.d.ts.map +1 -1
  128. package/dist/commonjs/tabs/lib/Tabs.js +28 -7
  129. package/dist/commonjs/tabs/lib/TabsItem.d.ts +107 -0
  130. package/dist/commonjs/tabs/lib/TabsItem.d.ts.map +1 -0
  131. package/dist/commonjs/tabs/lib/TabsItem.js +140 -0
  132. package/dist/commonjs/tabs/lib/TabsList.d.ts +43 -0
  133. package/dist/commonjs/tabs/lib/TabsList.d.ts.map +1 -0
  134. package/dist/commonjs/tabs/lib/TabsList.js +53 -0
  135. package/dist/commonjs/tabs/lib/TabsMenuPopper.d.ts +21 -0
  136. package/dist/commonjs/tabs/lib/TabsMenuPopper.d.ts.map +1 -0
  137. package/dist/commonjs/tabs/lib/{TabList.js → TabsMenuPopper.js} +7 -19
  138. package/dist/commonjs/tabs/lib/TabsOverflowButton.d.ts +31 -0
  139. package/dist/commonjs/tabs/lib/TabsOverflowButton.d.ts.map +1 -0
  140. package/dist/commonjs/tabs/lib/TabsOverflowButton.js +57 -0
  141. package/{ts3.5/dist/commonjs/tabs/lib/TabPanel.d.ts → dist/commonjs/tabs/lib/TabsPanel.d.ts} +39 -29
  142. package/dist/commonjs/tabs/lib/TabsPanel.d.ts.map +1 -0
  143. package/dist/commonjs/tabs/lib/TabsPanel.js +64 -0
  144. package/dist/{es6/tabs/lib/TabList.d.ts → commonjs/tabs/lib/TabsPanels.d.ts} +5 -5
  145. package/dist/commonjs/tabs/lib/TabsPanels.d.ts.map +1 -0
  146. package/dist/commonjs/tabs/lib/TabsPanels.js +21 -0
  147. package/dist/commonjs/tabs/lib/cursor/index.d.ts +1 -1
  148. package/dist/commonjs/tabs/lib/cursor/index.d.ts.map +1 -1
  149. package/dist/commonjs/tabs/lib/cursor/index.js +1 -1
  150. package/dist/commonjs/tabs/lib/cursor/useCursorModel.d.ts +23 -13
  151. package/dist/commonjs/tabs/lib/cursor/useCursorModel.d.ts.map +1 -1
  152. package/dist/commonjs/tabs/lib/cursor/useCursorModel.js +50 -49
  153. package/dist/commonjs/tabs/lib/cursor/useRovingFocus.d.ts +37 -0
  154. package/dist/commonjs/tabs/lib/cursor/useRovingFocus.d.ts.map +1 -0
  155. package/dist/commonjs/tabs/lib/cursor/{hooks.js → useRovingFocus.js} +26 -50
  156. package/dist/commonjs/tabs/lib/list/index.d.ts +2 -1
  157. package/dist/commonjs/tabs/lib/list/index.d.ts.map +1 -1
  158. package/dist/commonjs/tabs/lib/list/index.js +2 -1
  159. package/dist/commonjs/tabs/lib/list/renderItem.d.ts +4 -0
  160. package/dist/commonjs/tabs/lib/list/renderItem.d.ts.map +1 -0
  161. package/dist/commonjs/tabs/lib/list/renderItem.js +18 -0
  162. package/dist/commonjs/tabs/lib/list/useListModel.d.ts +25 -13
  163. package/dist/commonjs/tabs/lib/list/useListModel.d.ts.map +1 -1
  164. package/dist/commonjs/tabs/lib/list/useListModel.js +20 -7
  165. package/dist/commonjs/tabs/lib/list/useListRegisterItem.d.ts +14 -0
  166. package/dist/commonjs/tabs/lib/list/useListRegisterItem.d.ts.map +1 -0
  167. package/dist/commonjs/tabs/lib/list/useListRegisterItem.js +46 -0
  168. package/dist/commonjs/tabs/lib/menu/Menu.d.ts +80 -0
  169. package/dist/commonjs/tabs/lib/menu/Menu.d.ts.map +1 -0
  170. package/dist/commonjs/tabs/lib/menu/Menu.js +94 -0
  171. package/dist/commonjs/tabs/lib/menu/MenuCard.d.ts +17 -0
  172. package/dist/commonjs/tabs/lib/menu/MenuCard.d.ts.map +1 -0
  173. package/dist/commonjs/tabs/lib/menu/MenuCard.js +82 -0
  174. package/dist/commonjs/tabs/lib/menu/MenuItem.d.ts +62 -0
  175. package/dist/commonjs/tabs/lib/menu/MenuItem.d.ts.map +1 -0
  176. package/dist/commonjs/tabs/lib/menu/MenuItem.js +145 -0
  177. package/dist/commonjs/tabs/lib/menu/MenuList.d.ts +23 -0
  178. package/dist/commonjs/tabs/lib/menu/MenuList.d.ts.map +1 -0
  179. package/dist/commonjs/tabs/lib/menu/MenuList.js +52 -0
  180. package/dist/commonjs/tabs/lib/menu/MenuPopper.d.ts +21 -0
  181. package/dist/commonjs/tabs/lib/menu/MenuPopper.d.ts.map +1 -0
  182. package/dist/commonjs/tabs/lib/menu/MenuPopper.js +45 -0
  183. package/dist/commonjs/tabs/lib/menu/MenuTarget.d.ts +21 -0
  184. package/dist/commonjs/tabs/lib/menu/MenuTarget.d.ts.map +1 -0
  185. package/dist/commonjs/tabs/lib/menu/MenuTarget.js +60 -0
  186. package/dist/commonjs/tabs/lib/menu/index.d.ts +8 -0
  187. package/dist/commonjs/tabs/lib/menu/index.d.ts.map +1 -0
  188. package/dist/commonjs/tabs/lib/menu/index.js +18 -0
  189. package/dist/commonjs/tabs/lib/menu/useMenuModel.d.ts +35 -0
  190. package/dist/commonjs/tabs/lib/menu/useMenuModel.d.ts.map +1 -0
  191. package/dist/commonjs/tabs/lib/menu/useMenuModel.js +33 -0
  192. package/dist/commonjs/tabs/lib/overflow/index.d.ts +5 -0
  193. package/dist/commonjs/tabs/lib/overflow/index.d.ts.map +1 -0
  194. package/dist/commonjs/tabs/lib/overflow/index.js +9 -0
  195. package/dist/commonjs/tabs/lib/overflow/useOverflowMeasureContainer.d.ts +8 -0
  196. package/dist/commonjs/tabs/lib/overflow/useOverflowMeasureContainer.d.ts.map +1 -0
  197. package/dist/commonjs/tabs/lib/overflow/useOverflowMeasureContainer.js +22 -0
  198. package/dist/commonjs/tabs/lib/overflow/useOverflowMeasureItem.d.ts +10 -0
  199. package/dist/commonjs/tabs/lib/overflow/useOverflowMeasureItem.d.ts.map +1 -0
  200. package/dist/commonjs/tabs/lib/overflow/useOverflowMeasureItem.js +32 -0
  201. package/dist/commonjs/tabs/lib/overflow/useOverflowModel.d.ts +69 -0
  202. package/dist/commonjs/tabs/lib/overflow/useOverflowModel.d.ts.map +1 -0
  203. package/dist/commonjs/tabs/lib/overflow/useOverflowModel.js +117 -0
  204. package/dist/commonjs/tabs/lib/overflow/useOverflowTarget.d.ts +11 -0
  205. package/dist/commonjs/tabs/lib/overflow/useOverflowTarget.d.ts.map +1 -0
  206. package/dist/commonjs/tabs/lib/overflow/useOverflowTarget.js +35 -0
  207. package/dist/commonjs/tabs/lib/selection/index.d.ts +4 -0
  208. package/dist/commonjs/tabs/lib/selection/index.d.ts.map +1 -0
  209. package/dist/commonjs/tabs/lib/selection/index.js +8 -0
  210. package/dist/commonjs/tabs/lib/selection/useResetCursorOnBlur.d.ts +13 -0
  211. package/dist/commonjs/tabs/lib/selection/useResetCursorOnBlur.d.ts.map +1 -0
  212. package/dist/commonjs/tabs/lib/{hooks.js → selection/useResetCursorOnBlur.js} +8 -9
  213. package/dist/commonjs/tabs/lib/selection/useSelectionItem.d.ts +8 -0
  214. package/dist/commonjs/tabs/lib/selection/useSelectionItem.d.ts.map +1 -0
  215. package/dist/commonjs/tabs/lib/selection/useSelectionItem.js +16 -0
  216. package/dist/commonjs/tabs/lib/selection/useSelectionModel.d.ts +62 -0
  217. package/dist/commonjs/tabs/lib/selection/useSelectionModel.d.ts.map +1 -0
  218. package/dist/commonjs/tabs/lib/selection/useSelectionModel.js +80 -0
  219. package/dist/commonjs/tabs/lib/useTabsModel.d.ts +39 -38
  220. package/dist/commonjs/tabs/lib/useTabsModel.d.ts.map +1 -1
  221. package/dist/commonjs/tabs/lib/useTabsModel.js +50 -37
  222. package/dist/commonjs/tooltip/lib/OverflowTooltip.d.ts +10 -0
  223. package/dist/commonjs/tooltip/lib/OverflowTooltip.d.ts.map +1 -1
  224. package/dist/commonjs/tooltip/lib/OverflowTooltip.js +8 -6
  225. package/dist/commonjs/tooltip/lib/Tooltip.d.ts +9 -1
  226. package/dist/commonjs/tooltip/lib/Tooltip.d.ts.map +1 -1
  227. package/dist/commonjs/tooltip/lib/Tooltip.js +7 -2
  228. package/dist/commonjs/tooltip/lib/useTooltip.d.ts +10 -2
  229. package/dist/commonjs/tooltip/lib/useTooltip.d.ts.map +1 -1
  230. package/dist/commonjs/tooltip/lib/useTooltip.js +13 -8
  231. package/dist/es6/banner/index.d.ts +1 -3
  232. package/dist/es6/banner/index.d.ts.map +1 -1
  233. package/dist/es6/banner/index.js +1 -3
  234. package/dist/es6/banner/lib/Banner.d.ts +17 -33
  235. package/dist/es6/banner/lib/Banner.d.ts.map +1 -1
  236. package/dist/es6/banner/lib/Banner.js +46 -71
  237. package/dist/es6/banner/lib/BannerActionText.d.ts +14 -0
  238. package/dist/es6/banner/lib/BannerActionText.d.ts.map +1 -0
  239. package/dist/es6/banner/lib/BannerActionText.js +40 -0
  240. package/dist/es6/banner/lib/BannerIcon.d.ts +14 -0
  241. package/dist/es6/banner/lib/BannerIcon.d.ts.map +1 -0
  242. package/dist/es6/banner/lib/BannerIcon.js +45 -0
  243. package/dist/es6/banner/lib/BannerLabel.d.ts +13 -0
  244. package/dist/es6/banner/lib/BannerLabel.d.ts.map +1 -0
  245. package/dist/es6/banner/lib/BannerLabel.js +36 -0
  246. package/dist/es6/banner/lib/hooks/index.d.ts +7 -0
  247. package/dist/es6/banner/lib/hooks/index.d.ts.map +1 -0
  248. package/dist/es6/banner/lib/hooks/index.js +6 -0
  249. package/dist/es6/banner/lib/hooks/useBanner.d.ts +16 -0
  250. package/dist/es6/banner/lib/hooks/useBanner.d.ts.map +1 -0
  251. package/dist/es6/banner/lib/hooks/useBanner.js +12 -0
  252. package/dist/es6/banner/lib/hooks/useBannerActionText.d.ts +15 -0
  253. package/dist/es6/banner/lib/hooks/useBannerActionText.d.ts.map +1 -0
  254. package/dist/es6/banner/lib/hooks/useBannerActionText.js +11 -0
  255. package/dist/es6/banner/lib/hooks/useBannerIcon.d.ts +18 -0
  256. package/dist/es6/banner/lib/hooks/useBannerIcon.d.ts.map +1 -0
  257. package/dist/es6/banner/lib/hooks/useBannerIcon.js +17 -0
  258. package/dist/es6/banner/lib/hooks/useBannerLabel.d.ts +15 -0
  259. package/dist/es6/banner/lib/hooks/useBannerLabel.d.ts.map +1 -0
  260. package/dist/es6/banner/lib/hooks/useBannerLabel.js +11 -0
  261. package/dist/es6/banner/lib/hooks/useBannerModel.d.ts +37 -0
  262. package/dist/es6/banner/lib/hooks/useBannerModel.d.ts.map +1 -0
  263. package/dist/es6/banner/lib/hooks/useBannerModel.js +20 -0
  264. package/dist/es6/banner/lib/hooks/useThemedPalette.d.ts +11 -0
  265. package/dist/es6/banner/lib/hooks/useThemedPalette.d.ts.map +1 -0
  266. package/dist/es6/banner/lib/hooks/useThemedPalette.js +33 -0
  267. package/dist/es6/button/lib/parts/ButtonLabel.d.ts +1 -1
  268. package/dist/es6/button/lib/parts/ButtonLabel.d.ts.map +1 -1
  269. package/dist/es6/common/index.d.ts +1 -0
  270. package/dist/es6/common/index.d.ts.map +1 -1
  271. package/dist/es6/common/index.js +1 -0
  272. package/dist/es6/common/lib/EllipsisText.d.ts +5 -0
  273. package/dist/es6/common/lib/EllipsisText.d.ts.map +1 -0
  274. package/dist/es6/common/lib/EllipsisText.js +8 -0
  275. package/dist/es6/common/lib/styles/hideMouseFocus.d.ts +3 -2
  276. package/dist/es6/common/lib/styles/hideMouseFocus.d.ts.map +1 -1
  277. package/dist/es6/common/lib/utils/components.d.ts +19 -9
  278. package/dist/es6/common/lib/utils/components.d.ts.map +1 -1
  279. package/dist/es6/common/lib/utils/components.js +12 -2
  280. package/dist/es6/common/lib/utils/index.d.ts +1 -0
  281. package/dist/es6/common/lib/utils/index.d.ts.map +1 -1
  282. package/dist/es6/common/lib/utils/index.js +1 -0
  283. package/dist/es6/common/lib/utils/mergeProps.d.ts.map +1 -1
  284. package/dist/es6/common/lib/utils/mergeProps.js +5 -0
  285. package/dist/es6/common/lib/utils/useConstant.d.ts +9 -0
  286. package/dist/es6/common/lib/utils/useConstant.d.ts.map +1 -0
  287. package/dist/es6/common/lib/utils/useConstant.js +15 -0
  288. package/dist/es6/common/lib/utils/useResizeObserver.d.ts +3 -0
  289. package/dist/es6/common/lib/utils/useResizeObserver.d.ts.map +1 -0
  290. package/dist/es6/common/lib/utils/useResizeObserver.js +37 -0
  291. package/dist/es6/common/lib/utils/useUniqueId.d.ts.map +1 -1
  292. package/dist/es6/common/lib/utils/useUniqueId.js +3 -3
  293. package/dist/es6/dialog/lib/hooks/useDialogCard.d.ts +4 -16
  294. package/dist/es6/dialog/lib/hooks/useDialogCard.d.ts.map +1 -1
  295. package/dist/es6/dialog/lib/hooks/useDialogPopper.d.ts +5 -2
  296. package/dist/es6/dialog/lib/hooks/useDialogPopper.d.ts.map +1 -1
  297. package/dist/es6/loading-animation/lib/LoadingDots.js +1 -1
  298. package/dist/es6/modal/lib/ModalOverlay.d.ts +4 -2
  299. package/dist/es6/modal/lib/ModalOverlay.d.ts.map +1 -1
  300. package/dist/es6/modal/lib/hooks/useModalCard.d.ts +4 -16
  301. package/dist/es6/modal/lib/hooks/useModalCard.d.ts.map +1 -1
  302. package/dist/es6/modal/lib/hooks/useModalHeading.d.ts +5 -17
  303. package/dist/es6/modal/lib/hooks/useModalHeading.d.ts.map +1 -1
  304. package/dist/es6/pagination/lib/Pagination/GoTo/Label.d.ts +3 -0
  305. package/dist/es6/pagination/lib/Pagination/GoTo/Label.d.ts.map +1 -1
  306. package/dist/es6/pagination/lib/Pagination/PageList.d.ts +1 -1
  307. package/dist/es6/pagination/lib/Pagination/PageList.d.ts.map +1 -1
  308. package/dist/es6/pagination/lib/Pagination/Pagination.d.ts +5 -5
  309. package/dist/es6/pagination/lib/Pagination/common/List.d.ts +1 -1
  310. package/dist/es6/pagination/lib/Pagination/common/List.d.ts.map +1 -1
  311. package/dist/es6/pagination/lib/Pagination/common/Stack.d.ts +1 -1
  312. package/dist/es6/pagination/lib/Pagination/common/utils/getValidChildren.d.ts +1 -1
  313. package/dist/es6/pagination/lib/Pagination/common/utils/getValidChildren.d.ts.map +1 -1
  314. package/dist/es6/pagination/lib/Pagination/types.d.ts +39 -0
  315. package/dist/es6/pagination/lib/Pagination/types.d.ts.map +1 -1
  316. package/dist/es6/pagination/lib/Pagination/usePaginationModel.d.ts +19 -0
  317. package/dist/es6/pagination/lib/Pagination/usePaginationModel.d.ts.map +1 -1
  318. package/dist/es6/popup/lib/PopupCard.d.ts.map +1 -1
  319. package/dist/es6/popup/lib/PopupCard.js +4 -11
  320. package/dist/es6/popup/lib/hooks/usePopupCard.d.ts +5 -2
  321. package/dist/es6/popup/lib/hooks/usePopupCard.d.ts.map +1 -1
  322. package/dist/es6/popup/lib/hooks/usePopupCloseButton.d.ts +4 -2
  323. package/dist/es6/popup/lib/hooks/usePopupCloseButton.d.ts.map +1 -1
  324. package/dist/es6/popup/lib/hooks/usePopupHeading.d.ts +5 -2
  325. package/dist/es6/popup/lib/hooks/usePopupHeading.d.ts.map +1 -1
  326. package/dist/es6/popup/lib/hooks/usePopupPopper.d.ts +4 -2
  327. package/dist/es6/popup/lib/hooks/usePopupPopper.d.ts.map +1 -1
  328. package/dist/es6/popup/lib/hooks/usePopupTarget.d.ts +4 -2
  329. package/dist/es6/popup/lib/hooks/usePopupTarget.d.ts.map +1 -1
  330. package/dist/es6/popup/lib/hooks/useReturnFocus.d.ts +1 -1
  331. package/dist/es6/popup/lib/hooks/useReturnFocus.js +1 -1
  332. package/dist/es6/tabs/index.d.ts +5 -0
  333. package/dist/es6/tabs/index.d.ts.map +1 -1
  334. package/dist/es6/tabs/index.js +5 -0
  335. package/dist/es6/tabs/lib/Tabs.d.ts +35 -7
  336. package/dist/es6/tabs/lib/Tabs.d.ts.map +1 -1
  337. package/dist/es6/tabs/lib/Tabs.js +28 -7
  338. package/dist/es6/tabs/lib/TabsItem.d.ts +107 -0
  339. package/dist/es6/tabs/lib/TabsItem.d.ts.map +1 -0
  340. package/dist/es6/tabs/lib/TabsItem.js +131 -0
  341. package/dist/es6/tabs/lib/TabsList.d.ts +43 -0
  342. package/dist/es6/tabs/lib/TabsList.d.ts.map +1 -0
  343. package/dist/es6/tabs/lib/TabsList.js +44 -0
  344. package/dist/es6/tabs/lib/TabsMenuPopper.d.ts +21 -0
  345. package/dist/es6/tabs/lib/TabsMenuPopper.d.ts.map +1 -0
  346. package/dist/es6/tabs/lib/{TabList.js → TabsMenuPopper.js} +8 -20
  347. package/dist/es6/tabs/lib/TabsOverflowButton.d.ts +31 -0
  348. package/dist/es6/tabs/lib/TabsOverflowButton.d.ts.map +1 -0
  349. package/dist/es6/tabs/lib/TabsOverflowButton.js +48 -0
  350. package/dist/{commonjs/tabs/lib/TabPanel.d.ts → es6/tabs/lib/TabsPanel.d.ts} +15 -5
  351. package/dist/es6/tabs/lib/TabsPanel.d.ts.map +1 -0
  352. package/dist/es6/tabs/lib/TabsPanel.js +59 -0
  353. package/{ts3.5/dist/commonjs/tabs/lib/TabList.d.ts → dist/es6/tabs/lib/TabsPanels.d.ts} +15 -15
  354. package/dist/es6/tabs/lib/TabsPanels.d.ts.map +1 -0
  355. package/dist/es6/tabs/lib/TabsPanels.js +12 -0
  356. package/dist/es6/tabs/lib/cursor/index.d.ts +1 -1
  357. package/dist/es6/tabs/lib/cursor/index.d.ts.map +1 -1
  358. package/dist/es6/tabs/lib/cursor/index.js +1 -1
  359. package/dist/es6/tabs/lib/cursor/useCursorModel.d.ts +23 -13
  360. package/dist/es6/tabs/lib/cursor/useCursorModel.d.ts.map +1 -1
  361. package/dist/es6/tabs/lib/cursor/useCursorModel.js +51 -50
  362. package/dist/es6/tabs/lib/cursor/useRovingFocus.d.ts +37 -0
  363. package/dist/es6/tabs/lib/cursor/useRovingFocus.d.ts.map +1 -0
  364. package/dist/es6/tabs/lib/cursor/useRovingFocus.js +84 -0
  365. package/dist/es6/tabs/lib/list/index.d.ts +2 -1
  366. package/dist/es6/tabs/lib/list/index.d.ts.map +1 -1
  367. package/dist/es6/tabs/lib/list/index.js +2 -1
  368. package/dist/es6/tabs/lib/list/renderItem.d.ts +4 -0
  369. package/dist/es6/tabs/lib/list/renderItem.d.ts.map +1 -0
  370. package/dist/es6/tabs/lib/list/renderItem.js +12 -0
  371. package/dist/es6/tabs/lib/list/useListModel.d.ts +25 -13
  372. package/dist/es6/tabs/lib/list/useListModel.d.ts.map +1 -1
  373. package/dist/es6/tabs/lib/list/useListModel.js +21 -8
  374. package/dist/es6/tabs/lib/list/useListRegisterItem.d.ts +14 -0
  375. package/dist/es6/tabs/lib/list/useListRegisterItem.d.ts.map +1 -0
  376. package/dist/es6/tabs/lib/list/useListRegisterItem.js +41 -0
  377. package/dist/es6/tabs/lib/menu/Menu.d.ts +80 -0
  378. package/dist/es6/tabs/lib/menu/Menu.d.ts.map +1 -0
  379. package/dist/es6/tabs/lib/menu/Menu.js +89 -0
  380. package/dist/es6/tabs/lib/menu/MenuCard.d.ts +17 -0
  381. package/dist/es6/tabs/lib/menu/MenuCard.d.ts.map +1 -0
  382. package/dist/es6/tabs/lib/menu/MenuCard.js +73 -0
  383. package/dist/es6/tabs/lib/menu/MenuItem.d.ts +62 -0
  384. package/dist/es6/tabs/lib/menu/MenuItem.d.ts.map +1 -0
  385. package/dist/es6/tabs/lib/menu/MenuItem.js +136 -0
  386. package/dist/es6/tabs/lib/menu/MenuList.d.ts +23 -0
  387. package/dist/es6/tabs/lib/menu/MenuList.d.ts.map +1 -0
  388. package/dist/es6/tabs/lib/menu/MenuList.js +43 -0
  389. package/dist/es6/tabs/lib/menu/MenuPopper.d.ts +21 -0
  390. package/dist/es6/tabs/lib/menu/MenuPopper.d.ts.map +1 -0
  391. package/dist/es6/tabs/lib/menu/MenuPopper.js +36 -0
  392. package/dist/es6/tabs/lib/menu/MenuTarget.d.ts +21 -0
  393. package/dist/es6/tabs/lib/menu/MenuTarget.d.ts.map +1 -0
  394. package/dist/es6/tabs/lib/menu/MenuTarget.js +51 -0
  395. package/dist/es6/tabs/lib/menu/index.d.ts +8 -0
  396. package/dist/es6/tabs/lib/menu/index.d.ts.map +1 -0
  397. package/dist/es6/tabs/lib/menu/index.js +7 -0
  398. package/dist/es6/tabs/lib/menu/useMenuModel.d.ts +35 -0
  399. package/dist/es6/tabs/lib/menu/useMenuModel.d.ts.map +1 -0
  400. package/dist/es6/tabs/lib/menu/useMenuModel.js +31 -0
  401. package/dist/es6/tabs/lib/overflow/index.d.ts +5 -0
  402. package/dist/es6/tabs/lib/overflow/index.d.ts.map +1 -0
  403. package/dist/es6/tabs/lib/overflow/index.js +4 -0
  404. package/dist/es6/tabs/lib/overflow/useOverflowMeasureContainer.d.ts +8 -0
  405. package/dist/es6/tabs/lib/overflow/useOverflowMeasureContainer.d.ts.map +1 -0
  406. package/dist/es6/tabs/lib/overflow/useOverflowMeasureContainer.js +13 -0
  407. package/dist/es6/tabs/lib/overflow/useOverflowMeasureItem.d.ts +10 -0
  408. package/dist/es6/tabs/lib/overflow/useOverflowMeasureItem.d.ts.map +1 -0
  409. package/dist/es6/tabs/lib/overflow/useOverflowMeasureItem.js +30 -0
  410. package/dist/es6/tabs/lib/overflow/useOverflowModel.d.ts +69 -0
  411. package/dist/es6/tabs/lib/overflow/useOverflowModel.d.ts.map +1 -0
  412. package/dist/es6/tabs/lib/overflow/useOverflowModel.js +111 -0
  413. package/dist/es6/tabs/lib/overflow/useOverflowTarget.d.ts +11 -0
  414. package/dist/es6/tabs/lib/overflow/useOverflowTarget.d.ts.map +1 -0
  415. package/dist/es6/tabs/lib/overflow/useOverflowTarget.js +30 -0
  416. package/dist/es6/tabs/lib/selection/index.d.ts +4 -0
  417. package/dist/es6/tabs/lib/selection/index.d.ts.map +1 -0
  418. package/dist/es6/tabs/lib/selection/index.js +3 -0
  419. package/dist/es6/tabs/lib/selection/useResetCursorOnBlur.d.ts +13 -0
  420. package/dist/es6/tabs/lib/selection/useResetCursorOnBlur.d.ts.map +1 -0
  421. package/dist/es6/tabs/lib/{hooks.js → selection/useResetCursorOnBlur.js} +8 -9
  422. package/dist/es6/tabs/lib/selection/useSelectionItem.d.ts +8 -0
  423. package/dist/es6/tabs/lib/selection/useSelectionItem.d.ts.map +1 -0
  424. package/dist/es6/tabs/lib/selection/useSelectionItem.js +14 -0
  425. package/dist/es6/tabs/lib/selection/useSelectionModel.d.ts +62 -0
  426. package/dist/es6/tabs/lib/selection/useSelectionModel.d.ts.map +1 -0
  427. package/dist/es6/tabs/lib/selection/useSelectionModel.js +75 -0
  428. package/dist/es6/tabs/lib/useTabsModel.d.ts +39 -38
  429. package/dist/es6/tabs/lib/useTabsModel.d.ts.map +1 -1
  430. package/dist/es6/tabs/lib/useTabsModel.js +50 -37
  431. package/dist/es6/tooltip/lib/OverflowTooltip.d.ts +10 -0
  432. package/dist/es6/tooltip/lib/OverflowTooltip.d.ts.map +1 -1
  433. package/dist/es6/tooltip/lib/OverflowTooltip.js +5 -3
  434. package/dist/es6/tooltip/lib/Tooltip.d.ts +9 -1
  435. package/dist/es6/tooltip/lib/Tooltip.d.ts.map +1 -1
  436. package/dist/es6/tooltip/lib/Tooltip.js +7 -2
  437. package/dist/es6/tooltip/lib/useTooltip.d.ts +10 -2
  438. package/dist/es6/tooltip/lib/useTooltip.d.ts.map +1 -1
  439. package/dist/es6/tooltip/lib/useTooltip.js +13 -8
  440. package/loading-animation/lib/LoadingDots.tsx +1 -1
  441. package/package.json +9 -6
  442. package/pagination/lib/Pagination/GoTo/Label.tsx +3 -0
  443. package/pagination/lib/Pagination/types.ts +44 -5
  444. package/pagination/lib/Pagination/usePaginationModel.ts +19 -0
  445. package/popup/lib/PopupCard.tsx +21 -31
  446. package/popup/lib/hooks/useReturnFocus.tsx +1 -1
  447. package/tabs/index.ts +6 -0
  448. package/tabs/lib/Tabs.tsx +34 -9
  449. package/tabs/lib/TabsItem.tsx +250 -0
  450. package/tabs/lib/TabsList.tsx +67 -0
  451. package/tabs/lib/TabsMenuPopper.tsx +27 -0
  452. package/tabs/lib/TabsOverflowButton.tsx +58 -0
  453. package/tabs/lib/{TabPanel.tsx → TabsPanel.tsx} +33 -31
  454. package/tabs/lib/TabsPanels.tsx +28 -0
  455. package/tabs/lib/cursor/index.ts +1 -1
  456. package/tabs/lib/cursor/useCursorModel.tsx +78 -65
  457. package/tabs/lib/cursor/useRovingFocus.tsx +94 -0
  458. package/tabs/lib/list/index.ts +2 -1
  459. package/tabs/lib/list/renderItem.tsx +19 -0
  460. package/tabs/lib/list/useListModel.tsx +48 -23
  461. package/tabs/lib/list/useListRegisterItem.tsx +53 -0
  462. package/tabs/lib/menu/Menu.tsx +95 -0
  463. package/tabs/lib/menu/MenuCard.tsx +96 -0
  464. package/tabs/lib/menu/MenuItem.tsx +195 -0
  465. package/tabs/lib/menu/MenuList.tsx +59 -0
  466. package/tabs/lib/menu/MenuPopper.tsx +31 -0
  467. package/tabs/lib/menu/MenuTarget.tsx +52 -0
  468. package/tabs/lib/menu/index.ts +8 -0
  469. package/tabs/lib/menu/useMenuModel.tsx +67 -0
  470. package/tabs/lib/overflow/index.ts +4 -0
  471. package/tabs/lib/overflow/spec/tsconfig.json +3 -0
  472. package/tabs/lib/overflow/spec/useOverflowModel.spec.tsx +46 -0
  473. package/tabs/lib/overflow/useOverflowMeasureContainer.ts +20 -0
  474. package/tabs/lib/overflow/useOverflowMeasureItem.tsx +40 -0
  475. package/tabs/lib/overflow/useOverflowModel.tsx +185 -0
  476. package/tabs/lib/overflow/useOverflowTarget.tsx +42 -0
  477. package/tabs/lib/selection/index.ts +3 -0
  478. package/tabs/lib/selection/useResetCursorOnBlur.tsx +29 -0
  479. package/tabs/lib/selection/useSelectionItem.tsx +26 -0
  480. package/tabs/lib/selection/useSelectionModel.tsx +133 -0
  481. package/tabs/lib/useTabsModel.tsx +93 -78
  482. package/tooltip/lib/OverflowTooltip.tsx +5 -3
  483. package/tooltip/lib/Tooltip.tsx +16 -1
  484. package/tooltip/lib/useTooltip.tsx +21 -6
  485. package/ts3.5/dist/commonjs/banner/index.d.ts +1 -3
  486. package/ts3.5/dist/commonjs/banner/lib/Banner.d.ts +17 -33
  487. package/ts3.5/dist/commonjs/banner/lib/BannerActionText.d.ts +14 -0
  488. package/ts3.5/dist/commonjs/banner/lib/BannerIcon.d.ts +14 -0
  489. package/ts3.5/dist/commonjs/banner/lib/BannerLabel.d.ts +13 -0
  490. package/ts3.5/dist/commonjs/banner/lib/hooks/index.d.ts +7 -0
  491. package/ts3.5/dist/commonjs/banner/lib/hooks/useBanner.d.ts +16 -0
  492. package/ts3.5/dist/commonjs/banner/lib/hooks/useBannerActionText.d.ts +15 -0
  493. package/ts3.5/dist/commonjs/banner/lib/hooks/useBannerIcon.d.ts +18 -0
  494. package/ts3.5/dist/commonjs/banner/lib/hooks/useBannerLabel.d.ts +15 -0
  495. package/ts3.5/dist/commonjs/banner/lib/hooks/useBannerModel.d.ts +37 -0
  496. package/ts3.5/dist/commonjs/banner/lib/hooks/useThemedPalette.d.ts +11 -0
  497. package/ts3.5/dist/commonjs/button/lib/parts/ButtonLabel.d.ts +1 -1
  498. package/ts3.5/dist/commonjs/common/index.d.ts +1 -0
  499. package/ts3.5/dist/commonjs/common/lib/EllipsisText.d.ts +5 -0
  500. package/ts3.5/dist/commonjs/common/lib/styles/hideMouseFocus.d.ts +3 -2
  501. package/ts3.5/dist/commonjs/common/lib/utils/components.d.ts +19 -9
  502. package/ts3.5/dist/commonjs/common/lib/utils/index.d.ts +1 -0
  503. package/ts3.5/dist/commonjs/common/lib/utils/useConstant.d.ts +9 -0
  504. package/ts3.5/dist/commonjs/common/lib/utils/useResizeObserver.d.ts +3 -0
  505. package/ts3.5/dist/commonjs/dialog/lib/hooks/useDialogCard.d.ts +4 -16
  506. package/ts3.5/dist/commonjs/dialog/lib/hooks/useDialogPopper.d.ts +5 -2
  507. package/ts3.5/dist/commonjs/modal/lib/ModalOverlay.d.ts +4 -2
  508. package/ts3.5/dist/commonjs/modal/lib/hooks/useModalCard.d.ts +4 -16
  509. package/ts3.5/dist/commonjs/modal/lib/hooks/useModalHeading.d.ts +5 -17
  510. package/ts3.5/dist/commonjs/pagination/lib/Pagination/GoTo/Label.d.ts +3 -0
  511. package/ts3.5/dist/commonjs/pagination/lib/Pagination/PageList.d.ts +1 -1
  512. package/ts3.5/dist/commonjs/pagination/lib/Pagination/Pagination.d.ts +5 -5
  513. package/ts3.5/dist/commonjs/pagination/lib/Pagination/common/List.d.ts +1 -1
  514. package/ts3.5/dist/commonjs/pagination/lib/Pagination/common/Stack.d.ts +1 -1
  515. package/ts3.5/dist/commonjs/pagination/lib/Pagination/common/utils/getValidChildren.d.ts +1 -1
  516. package/ts3.5/dist/commonjs/pagination/lib/Pagination/types.d.ts +39 -0
  517. package/ts3.5/dist/commonjs/pagination/lib/Pagination/usePaginationModel.d.ts +19 -0
  518. package/ts3.5/dist/commonjs/popup/lib/hooks/usePopupCard.d.ts +5 -2
  519. package/ts3.5/dist/commonjs/popup/lib/hooks/usePopupCloseButton.d.ts +4 -2
  520. package/ts3.5/dist/commonjs/popup/lib/hooks/usePopupHeading.d.ts +5 -2
  521. package/ts3.5/dist/commonjs/popup/lib/hooks/usePopupPopper.d.ts +4 -2
  522. package/ts3.5/dist/commonjs/popup/lib/hooks/usePopupTarget.d.ts +4 -2
  523. package/ts3.5/dist/commonjs/popup/lib/hooks/useReturnFocus.d.ts +1 -1
  524. package/ts3.5/dist/commonjs/tabs/index.d.ts +5 -0
  525. package/ts3.5/dist/commonjs/tabs/lib/Tabs.d.ts +35 -7
  526. package/ts3.5/dist/commonjs/tabs/lib/TabsItem.d.ts +107 -0
  527. package/ts3.5/dist/commonjs/tabs/lib/TabsList.d.ts +43 -0
  528. package/ts3.5/dist/commonjs/tabs/lib/TabsMenuPopper.d.ts +21 -0
  529. package/ts3.5/dist/commonjs/tabs/lib/TabsOverflowButton.d.ts +31 -0
  530. package/{dist/es6/tabs/lib/TabPanel.d.ts → ts3.5/dist/commonjs/tabs/lib/TabsPanel.d.ts} +39 -29
  531. package/ts3.5/dist/{es6/tabs/lib/TabList.d.ts → commonjs/tabs/lib/TabsPanels.d.ts} +5 -5
  532. package/ts3.5/dist/commonjs/tabs/lib/cursor/index.d.ts +1 -1
  533. package/ts3.5/dist/commonjs/tabs/lib/cursor/useCursorModel.d.ts +23 -13
  534. package/ts3.5/dist/commonjs/tabs/lib/cursor/useRovingFocus.d.ts +37 -0
  535. package/ts3.5/dist/commonjs/tabs/lib/list/index.d.ts +2 -1
  536. package/ts3.5/dist/commonjs/tabs/lib/list/renderItem.d.ts +4 -0
  537. package/ts3.5/dist/commonjs/tabs/lib/list/useListModel.d.ts +25 -13
  538. package/ts3.5/dist/commonjs/tabs/lib/list/useListRegisterItem.d.ts +14 -0
  539. package/ts3.5/dist/commonjs/tabs/lib/menu/Menu.d.ts +80 -0
  540. package/ts3.5/dist/commonjs/tabs/lib/menu/MenuCard.d.ts +17 -0
  541. package/ts3.5/dist/commonjs/tabs/lib/menu/MenuItem.d.ts +62 -0
  542. package/ts3.5/dist/commonjs/tabs/lib/menu/MenuList.d.ts +23 -0
  543. package/ts3.5/dist/commonjs/tabs/lib/menu/MenuPopper.d.ts +21 -0
  544. package/ts3.5/dist/commonjs/tabs/lib/menu/MenuTarget.d.ts +21 -0
  545. package/ts3.5/dist/commonjs/tabs/lib/menu/index.d.ts +8 -0
  546. package/ts3.5/dist/commonjs/tabs/lib/menu/useMenuModel.d.ts +35 -0
  547. package/ts3.5/dist/commonjs/tabs/lib/overflow/index.d.ts +5 -0
  548. package/ts3.5/dist/commonjs/tabs/lib/overflow/useOverflowMeasureContainer.d.ts +8 -0
  549. package/ts3.5/dist/commonjs/tabs/lib/overflow/useOverflowMeasureItem.d.ts +10 -0
  550. package/ts3.5/dist/commonjs/tabs/lib/overflow/useOverflowModel.d.ts +69 -0
  551. package/ts3.5/dist/commonjs/tabs/lib/overflow/useOverflowTarget.d.ts +11 -0
  552. package/ts3.5/dist/commonjs/tabs/lib/selection/index.d.ts +4 -0
  553. package/ts3.5/dist/commonjs/tabs/lib/selection/useResetCursorOnBlur.d.ts +13 -0
  554. package/ts3.5/dist/commonjs/tabs/lib/selection/useSelectionItem.d.ts +8 -0
  555. package/ts3.5/dist/commonjs/tabs/lib/selection/useSelectionModel.d.ts +62 -0
  556. package/ts3.5/dist/commonjs/tabs/lib/useTabsModel.d.ts +39 -38
  557. package/ts3.5/dist/commonjs/tooltip/lib/OverflowTooltip.d.ts +10 -0
  558. package/ts3.5/dist/commonjs/tooltip/lib/Tooltip.d.ts +9 -1
  559. package/ts3.5/dist/commonjs/tooltip/lib/useTooltip.d.ts +10 -2
  560. package/ts3.5/dist/es6/banner/index.d.ts +1 -3
  561. package/ts3.5/dist/es6/banner/lib/Banner.d.ts +17 -33
  562. package/ts3.5/dist/es6/banner/lib/BannerActionText.d.ts +14 -0
  563. package/ts3.5/dist/es6/banner/lib/BannerIcon.d.ts +14 -0
  564. package/ts3.5/dist/es6/banner/lib/BannerLabel.d.ts +13 -0
  565. package/ts3.5/dist/es6/banner/lib/hooks/index.d.ts +7 -0
  566. package/ts3.5/dist/es6/banner/lib/hooks/useBanner.d.ts +16 -0
  567. package/ts3.5/dist/es6/banner/lib/hooks/useBannerActionText.d.ts +15 -0
  568. package/ts3.5/dist/es6/banner/lib/hooks/useBannerIcon.d.ts +18 -0
  569. package/ts3.5/dist/es6/banner/lib/hooks/useBannerLabel.d.ts +15 -0
  570. package/ts3.5/dist/es6/banner/lib/hooks/useBannerModel.d.ts +37 -0
  571. package/ts3.5/dist/es6/banner/lib/hooks/useThemedPalette.d.ts +11 -0
  572. package/ts3.5/dist/es6/button/lib/parts/ButtonLabel.d.ts +1 -1
  573. package/ts3.5/dist/es6/common/index.d.ts +1 -0
  574. package/ts3.5/dist/es6/common/lib/EllipsisText.d.ts +5 -0
  575. package/ts3.5/dist/es6/common/lib/styles/hideMouseFocus.d.ts +3 -2
  576. package/ts3.5/dist/es6/common/lib/utils/components.d.ts +19 -9
  577. package/ts3.5/dist/es6/common/lib/utils/index.d.ts +1 -0
  578. package/ts3.5/dist/es6/common/lib/utils/useConstant.d.ts +9 -0
  579. package/ts3.5/dist/es6/common/lib/utils/useResizeObserver.d.ts +3 -0
  580. package/ts3.5/dist/es6/dialog/lib/hooks/useDialogCard.d.ts +4 -16
  581. package/ts3.5/dist/es6/dialog/lib/hooks/useDialogPopper.d.ts +5 -2
  582. package/ts3.5/dist/es6/modal/lib/ModalOverlay.d.ts +4 -2
  583. package/ts3.5/dist/es6/modal/lib/hooks/useModalCard.d.ts +4 -16
  584. package/ts3.5/dist/es6/modal/lib/hooks/useModalHeading.d.ts +5 -17
  585. package/ts3.5/dist/es6/pagination/lib/Pagination/GoTo/Label.d.ts +3 -0
  586. package/ts3.5/dist/es6/pagination/lib/Pagination/PageList.d.ts +1 -1
  587. package/ts3.5/dist/es6/pagination/lib/Pagination/Pagination.d.ts +5 -5
  588. package/ts3.5/dist/es6/pagination/lib/Pagination/common/List.d.ts +1 -1
  589. package/ts3.5/dist/es6/pagination/lib/Pagination/common/Stack.d.ts +1 -1
  590. package/ts3.5/dist/es6/pagination/lib/Pagination/common/utils/getValidChildren.d.ts +1 -1
  591. package/ts3.5/dist/es6/pagination/lib/Pagination/types.d.ts +39 -0
  592. package/ts3.5/dist/es6/pagination/lib/Pagination/usePaginationModel.d.ts +19 -0
  593. package/ts3.5/dist/es6/popup/lib/hooks/usePopupCard.d.ts +5 -2
  594. package/ts3.5/dist/es6/popup/lib/hooks/usePopupCloseButton.d.ts +4 -2
  595. package/ts3.5/dist/es6/popup/lib/hooks/usePopupHeading.d.ts +5 -2
  596. package/ts3.5/dist/es6/popup/lib/hooks/usePopupPopper.d.ts +4 -2
  597. package/ts3.5/dist/es6/popup/lib/hooks/usePopupTarget.d.ts +4 -2
  598. package/ts3.5/dist/es6/popup/lib/hooks/useReturnFocus.d.ts +1 -1
  599. package/ts3.5/dist/es6/tabs/index.d.ts +5 -0
  600. package/ts3.5/dist/es6/tabs/lib/Tabs.d.ts +35 -7
  601. package/ts3.5/dist/es6/tabs/lib/TabsItem.d.ts +107 -0
  602. package/ts3.5/dist/es6/tabs/lib/TabsList.d.ts +43 -0
  603. package/ts3.5/dist/es6/tabs/lib/TabsMenuPopper.d.ts +21 -0
  604. package/ts3.5/dist/es6/tabs/lib/TabsOverflowButton.d.ts +31 -0
  605. package/ts3.5/dist/es6/tabs/lib/{TabPanel.d.ts → TabsPanel.d.ts} +15 -5
  606. package/{dist/commonjs/tabs/lib/TabList.d.ts → ts3.5/dist/es6/tabs/lib/TabsPanels.d.ts} +15 -15
  607. package/ts3.5/dist/es6/tabs/lib/cursor/index.d.ts +1 -1
  608. package/ts3.5/dist/es6/tabs/lib/cursor/useCursorModel.d.ts +23 -13
  609. package/ts3.5/dist/es6/tabs/lib/cursor/useRovingFocus.d.ts +37 -0
  610. package/ts3.5/dist/es6/tabs/lib/list/index.d.ts +2 -1
  611. package/ts3.5/dist/es6/tabs/lib/list/renderItem.d.ts +4 -0
  612. package/ts3.5/dist/es6/tabs/lib/list/useListModel.d.ts +25 -13
  613. package/ts3.5/dist/es6/tabs/lib/list/useListRegisterItem.d.ts +14 -0
  614. package/ts3.5/dist/es6/tabs/lib/menu/Menu.d.ts +80 -0
  615. package/ts3.5/dist/es6/tabs/lib/menu/MenuCard.d.ts +17 -0
  616. package/ts3.5/dist/es6/tabs/lib/menu/MenuItem.d.ts +62 -0
  617. package/ts3.5/dist/es6/tabs/lib/menu/MenuList.d.ts +23 -0
  618. package/ts3.5/dist/es6/tabs/lib/menu/MenuPopper.d.ts +21 -0
  619. package/ts3.5/dist/es6/tabs/lib/menu/MenuTarget.d.ts +21 -0
  620. package/ts3.5/dist/es6/tabs/lib/menu/index.d.ts +8 -0
  621. package/ts3.5/dist/es6/tabs/lib/menu/useMenuModel.d.ts +35 -0
  622. package/ts3.5/dist/es6/tabs/lib/overflow/index.d.ts +5 -0
  623. package/ts3.5/dist/es6/tabs/lib/overflow/useOverflowMeasureContainer.d.ts +8 -0
  624. package/ts3.5/dist/es6/tabs/lib/overflow/useOverflowMeasureItem.d.ts +10 -0
  625. package/ts3.5/dist/es6/tabs/lib/overflow/useOverflowModel.d.ts +69 -0
  626. package/ts3.5/dist/es6/tabs/lib/overflow/useOverflowTarget.d.ts +11 -0
  627. package/ts3.5/dist/es6/tabs/lib/selection/index.d.ts +4 -0
  628. package/ts3.5/dist/es6/tabs/lib/selection/useResetCursorOnBlur.d.ts +13 -0
  629. package/ts3.5/dist/es6/tabs/lib/selection/useSelectionItem.d.ts +8 -0
  630. package/ts3.5/dist/es6/tabs/lib/selection/useSelectionModel.d.ts +62 -0
  631. package/ts3.5/dist/es6/tabs/lib/useTabsModel.d.ts +39 -38
  632. package/ts3.5/dist/es6/tooltip/lib/OverflowTooltip.d.ts +10 -0
  633. package/ts3.5/dist/es6/tooltip/lib/Tooltip.d.ts +9 -1
  634. package/ts3.5/dist/es6/tooltip/lib/useTooltip.d.ts +10 -2
  635. package/dist/commonjs/tabs/lib/Tab.d.ts +0 -49
  636. package/dist/commonjs/tabs/lib/Tab.d.ts.map +0 -1
  637. package/dist/commonjs/tabs/lib/Tab.js +0 -101
  638. package/dist/commonjs/tabs/lib/TabList.d.ts.map +0 -1
  639. package/dist/commonjs/tabs/lib/TabPanel.d.ts.map +0 -1
  640. package/dist/commonjs/tabs/lib/TabPanel.js +0 -56
  641. package/dist/commonjs/tabs/lib/cursor/hooks.d.ts +0 -39
  642. package/dist/commonjs/tabs/lib/cursor/hooks.d.ts.map +0 -1
  643. package/dist/commonjs/tabs/lib/hooks.d.ts +0 -10
  644. package/dist/commonjs/tabs/lib/hooks.d.ts.map +0 -1
  645. package/dist/commonjs/tabs/lib/list/hooks.d.ts +0 -11
  646. package/dist/commonjs/tabs/lib/list/hooks.d.ts.map +0 -1
  647. package/dist/commonjs/tabs/lib/list/hooks.js +0 -39
  648. package/dist/es6/tabs/lib/Tab.d.ts +0 -49
  649. package/dist/es6/tabs/lib/Tab.d.ts.map +0 -1
  650. package/dist/es6/tabs/lib/Tab.js +0 -92
  651. package/dist/es6/tabs/lib/TabList.d.ts.map +0 -1
  652. package/dist/es6/tabs/lib/TabPanel.d.ts.map +0 -1
  653. package/dist/es6/tabs/lib/TabPanel.js +0 -51
  654. package/dist/es6/tabs/lib/cursor/hooks.d.ts +0 -39
  655. package/dist/es6/tabs/lib/cursor/hooks.d.ts.map +0 -1
  656. package/dist/es6/tabs/lib/cursor/hooks.js +0 -108
  657. package/dist/es6/tabs/lib/hooks.d.ts +0 -10
  658. package/dist/es6/tabs/lib/hooks.d.ts.map +0 -1
  659. package/dist/es6/tabs/lib/list/hooks.d.ts +0 -11
  660. package/dist/es6/tabs/lib/list/hooks.d.ts.map +0 -1
  661. package/dist/es6/tabs/lib/list/hooks.js +0 -34
  662. package/tabs/lib/Tab.tsx +0 -176
  663. package/tabs/lib/TabList.tsx +0 -59
  664. package/tabs/lib/cursor/hooks.tsx +0 -122
  665. package/tabs/lib/hooks.tsx +0 -31
  666. package/tabs/lib/list/hooks.tsx +0 -45
  667. package/ts3.5/dist/commonjs/tabs/lib/Tab.d.ts +0 -49
  668. package/ts3.5/dist/commonjs/tabs/lib/cursor/hooks.d.ts +0 -39
  669. package/ts3.5/dist/commonjs/tabs/lib/hooks.d.ts +0 -10
  670. package/ts3.5/dist/commonjs/tabs/lib/list/hooks.d.ts +0 -11
  671. package/ts3.5/dist/es6/tabs/lib/Tab.d.ts +0 -49
  672. package/ts3.5/dist/es6/tabs/lib/cursor/hooks.d.ts +0 -39
  673. package/ts3.5/dist/es6/tabs/lib/hooks.d.ts +0 -10
  674. package/ts3.5/dist/es6/tabs/lib/list/hooks.d.ts +0 -11
package/banner/index.ts CHANGED
@@ -1,5 +1,2 @@
1
- import Banner from './lib/Banner';
2
-
3
- export default Banner;
4
- export {Banner};
5
1
  export * from './lib/Banner';
2
+ export * from './lib/hooks/';
@@ -1,127 +1,101 @@
1
+ /** @jsx jsx */
2
+ import {jsx} from '@emotion/core';
1
3
  import * as React from 'react';
2
- import {colors, space, borderRadius, type} from '@workday/canvas-kit-react/tokens';
3
- import {SystemIcon} from '@workday/canvas-kit-react/icon';
4
- import {exclamationCircleIcon, exclamationTriangleIcon} from '@workday/canvas-system-icons-web';
5
- import {ErrorType, focusRing, styled, Themeable} from '@workday/canvas-kit-react/common';
6
4
 
7
- export enum BannerVariant {
8
- Full,
9
- Sticky,
10
- }
5
+ import {borderRadius, CSSProperties, space, type} from '@workday/canvas-kit-react/tokens';
6
+ import {
7
+ createComponent,
8
+ ExtractProps,
9
+ focusRing,
10
+ hideMouseFocus,
11
+ useDefaultModel,
12
+ useIsRTL,
13
+ } from '@workday/canvas-kit-react/common';
14
+ import {Flex} from '@workday/canvas-kit-labs-react/layout';
11
15
 
12
- export interface BannerProps extends Themeable, React.ButtonHTMLAttributes<HTMLButtonElement> {
13
- /**
14
- * The function called when the Banner is clicked.
15
- */
16
- onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;
17
- /**
18
- * The label of the Banner.
19
- */
20
- label?: React.ReactNode;
21
- /**
22
- * The variant of the Banner. Accepts `Full` or `Sticky`.
23
- * @default BannerVariant.Full
24
- */
25
- variant?: BannerVariant;
26
- /**
27
- * The type of error associated with the Banner (if applicable).
28
- * @default ErrorType.Alert
29
- */
30
- error?: ErrorType;
16
+ import {BannerModel, BannerModelConfig, useBanner, useBannerModel, useThemedPalette} from './hooks';
17
+
18
+ import {BannerIcon} from './BannerIcon';
19
+ import {BannerLabel} from './BannerLabel';
20
+ import {BannerActionText} from './BannerActionText';
21
+
22
+ export const BannerModelContext = React.createContext<BannerModel>({} as any);
23
+
24
+ export interface BannerProps extends BannerModelConfig, ExtractProps<typeof Flex, never> {
25
+ model?: BannerModel;
31
26
  /**
32
- * The text of the Banner action. This prop is also used as the aria-label for the action in the banner
33
- * @default 'View All'
27
+ * Children of the Banner. Should contain a `<Banner.Label>` a <Banner.Icon> and an optional `<Banner.ActionText>`
34
28
  */
35
- actionText?: string;
29
+ children?: React.ReactNode;
36
30
  }
37
31
 
38
- const BannerWrapper = styled('button')<BannerProps>(
39
- {
40
- ...type.levels.subtext.large,
41
- fontWeight: type.properties.fontWeights.medium,
42
- backgroundColor: colors.cantaloupe400,
43
- boxSizing: 'border-box',
44
- color: colors.blackPepper400,
45
- padding: `${space.xxs} ${space.s}`,
46
- textAlign: 'left',
47
- border: 0,
48
- display: 'flex',
49
- alignItems: 'center',
50
- transition: 'background-color 120ms',
51
- '&:focus': {
52
- outline: 'none',
53
- ...focusRing({separation: 2}),
54
- },
55
- '&:hover': {
56
- cursor: 'pointer',
57
- },
58
- },
59
- ({error, variant}) => ({
60
- backgroundColor: error === ErrorType.Error ? colors.cinnamon500 : colors.cantaloupe400,
61
- color: error === ErrorType.Error ? colors.frenchVanilla100 : colors.blackPepper400,
62
- borderRadius:
63
- variant === BannerVariant.Sticky ? `${borderRadius.m} 0 0 ${borderRadius.m}` : borderRadius.m,
64
- width: variant === BannerVariant.Sticky ? '222px' : '328px',
65
- '&:hover': {
66
- backgroundColor: error === ErrorType.Error ? colors.cinnamon600 : colors.cantaloupe500,
67
- },
68
- })
69
- );
32
+ // Remove color from our type since it is set on the Flex style attribute
33
+ const {color: _color, ...typeLevelsSubtextLarge} = type.levels.subtext.large;
70
34
 
71
- const BannerIcon = styled(SystemIcon)({
72
- marginRight: space.xs,
73
- });
35
+ const styles: CSSProperties = {
36
+ ...typeLevelsSubtextLarge,
37
+ cursor: 'pointer',
38
+ fontWeight: type.properties.fontWeights.medium,
39
+ textAlign: 'left',
40
+ transition: 'background-color 120ms',
41
+ '&:focus': {
42
+ outline: 'none',
43
+ ...focusRing({separation: 2}),
44
+ },
45
+ ...hideMouseFocus,
46
+ };
74
47
 
75
- const BannerLabel = styled('div')({
76
- flex: 1,
77
- });
48
+ export const Banner = createComponent('button')({
49
+ displayName: 'Banner',
50
+ Component: ({children, model, ...props}: BannerProps, ref, Element) => {
51
+ const {hasError, isSticky, id, ...elemProps} = props;
52
+ const value = useDefaultModel(model, {hasError, isSticky, id}, useBannerModel);
78
53
 
79
- const BannerViewAll = styled('span')<BannerProps>(
80
- {
81
- textDecoration: 'underline',
82
- },
83
- ({variant}) => ({
84
- display: variant === BannerVariant.Sticky ? 'none' : undefined,
85
- })
86
- );
54
+ const palette = useThemedPalette(hasError ? 'error' : 'alert');
55
+ const themedBackgroundStyles: CSSProperties = {
56
+ '&:hover': {
57
+ backgroundColor: palette.hover,
58
+ },
59
+ };
87
60
 
88
- class Banner extends React.Component<BannerProps> {
89
- static Variant = BannerVariant;
90
- static ErrorType = ErrorType;
61
+ const isRTL = useIsRTL();
62
+ const borderBottomLeftRadius = isRTL ? 'borderBottomRightRadius' : 'borderBottomLeftRadius';
63
+ const borderTopLeftRadius = isRTL ? 'borderTopRightRadius' : 'borderTopLeftRadius';
64
+ const borderBottomRightRadius = isRTL ? 'borderBottomLeftRadius' : 'borderBottomRightRadius';
65
+ const borderTopRightRadius = isRTL ? 'borderTopLeftRadius' : 'borderTopRightRadius';
91
66
 
92
- public render() {
93
- const {
94
- actionText = 'View All',
95
- variant = BannerVariant.Full,
96
- error = ErrorType.Alert,
97
- label,
98
- onClick,
99
- ...props
100
- } = this.props;
67
+ const borderStyleProps = {
68
+ [borderBottomLeftRadius]: borderRadius.m,
69
+ [borderTopLeftRadius]: borderRadius.m,
70
+ [borderBottomRightRadius]: isSticky ? 0 : borderRadius.m,
71
+ [borderTopRightRadius]: isSticky ? 0 : borderRadius.m,
72
+ };
101
73
 
102
- const bannerIcon = error === ErrorType.Error ? exclamationCircleIcon : exclamationTriangleIcon;
103
- const iconColor = error === ErrorType.Error ? colors.frenchVanilla100 : colors.blackPepper400;
104
- const iconSize = 24;
74
+ const bannerProps = useBanner(value, elemProps, ref);
105
75
 
106
76
  return (
107
- <BannerWrapper
108
- aria-label={actionText + ': ' + label}
109
- role="button"
110
- variant={variant}
111
- tabIndex={0}
112
- onClick={onClick}
113
- error={error}
114
- {...props}
115
- >
116
- <BannerIcon icon={bannerIcon} color={iconColor} colorHover={iconColor} size={iconSize} />
117
- <BannerLabel>{label}</BannerLabel>
118
- <BannerViewAll variant={variant}>{actionText}</BannerViewAll>
119
- </BannerWrapper>
77
+ <BannerModelContext.Provider value={value}>
78
+ <Flex
79
+ as={Element}
80
+ width={isSticky ? '222px' : '328px'}
81
+ backgroundColor={palette.normal}
82
+ color={palette.contrast}
83
+ padding={`${space.xxs} ${space.s}`}
84
+ border="0"
85
+ display="flex"
86
+ alignItems="center"
87
+ {...borderStyleProps}
88
+ css={[styles, themedBackgroundStyles]}
89
+ {...bannerProps}
90
+ >
91
+ {children}
92
+ </Flex>
93
+ </BannerModelContext.Provider>
120
94
  );
121
- }
122
- }
123
-
124
- Banner.Variant = BannerVariant;
125
- Banner.ErrorType = ErrorType;
126
-
127
- export default Banner;
95
+ },
96
+ subComponents: {
97
+ Icon: BannerIcon,
98
+ Label: BannerLabel,
99
+ ActionText: BannerActionText,
100
+ },
101
+ });
@@ -0,0 +1,46 @@
1
+ /** @jsx jsx */
2
+ import {jsx} from '@emotion/core';
3
+ import * as React from 'react';
4
+
5
+ import {ExtractProps, createComponent, useModelContext} from '@workday/canvas-kit-react/common';
6
+ import {Box} from '@workday/canvas-kit-labs-react/common';
7
+ import {CSSProperties} from '@workday/canvas-kit-react/tokens';
8
+
9
+ import {BannerModelContext} from './Banner';
10
+ import {BannerModel, useBannerActionText} from './hooks';
11
+
12
+ export interface BannerActionTextProps extends ExtractProps<typeof Box, never> {
13
+ model?: BannerModel;
14
+ /**
15
+ * The text of the Banner action.
16
+ * @default 'View All'
17
+ */
18
+ children?: React.ReactNode;
19
+ }
20
+
21
+ const styles: CSSProperties = {
22
+ textDecoration: 'underline',
23
+ };
24
+
25
+ export const BannerActionText = createComponent('span')({
26
+ displayName: 'Banner.ActionTextText',
27
+ Component: (
28
+ {children = 'View All', model, ...elemProps}: BannerActionTextProps,
29
+ ref,
30
+ Element
31
+ ) => {
32
+ const localModel = useModelContext(BannerModelContext, model);
33
+ const props = useBannerActionText(localModel, elemProps, ref);
34
+
35
+ return (
36
+ <Box
37
+ display={localModel.state.isSticky ? 'none' : 'inline'}
38
+ as={Element}
39
+ css={[styles]}
40
+ {...props}
41
+ >
42
+ {children}
43
+ </Box>
44
+ );
45
+ },
46
+ });
@@ -0,0 +1,40 @@
1
+ /** @jsx jsx */
2
+ import {jsx} from '@emotion/core';
3
+
4
+ import {CSSProperties, space} from '@workday/canvas-kit-react/tokens';
5
+ import {ExtractProps, createComponent, useModelContext} from '@workday/canvas-kit-react/common';
6
+ import {useThemeRTL} from '@workday/canvas-kit-labs-react/common';
7
+ import {SystemIcon} from '@workday/canvas-kit-react/icon';
8
+ import {exclamationTriangleIcon} from '@workday/canvas-system-icons-web';
9
+ import {CanvasSystemIcon} from '@workday/design-assets-types';
10
+
11
+ import {BannerModelContext} from './Banner';
12
+ import {BannerModel, useBannerIcon} from './hooks';
13
+
14
+ export interface BannerIconProps extends Omit<ExtractProps<typeof SystemIcon, never>, 'icon'> {
15
+ model?: BannerModel;
16
+ /**
17
+ * Icon to show next to label
18
+ * @default exclamationTriangleIcon or exclamationCircleIcon when hasError is true
19
+ */
20
+ icon?: CanvasSystemIcon;
21
+ }
22
+
23
+ const styles: CSSProperties = {
24
+ marginRight: space.xs,
25
+ };
26
+
27
+ export const BannerIcon = createComponent('span')({
28
+ displayName: 'Banner.Icon',
29
+ Component: ({icon = exclamationTriangleIcon, model, ...elemProps}: BannerIconProps, ref) => {
30
+ const {themeRTL} = useThemeRTL();
31
+ const localModel = useModelContext(BannerModelContext, model);
32
+
33
+ // SystemIcon is still a class based component so we need to set ref manually.
34
+ const {ref: iconRef, icon: defaultIcon, ...props} = useBannerIcon(localModel, elemProps, ref);
35
+
36
+ return (
37
+ <SystemIcon icon={icon ?? defaultIcon} iconRef={iconRef} css={themeRTL(styles)} {...props} />
38
+ );
39
+ },
40
+ });
@@ -0,0 +1,29 @@
1
+ import * as React from 'react';
2
+
3
+ import {ExtractProps, createComponent, useModelContext} from '@workday/canvas-kit-react/common';
4
+ import {Flex} from '@workday/canvas-kit-labs-react/layout';
5
+
6
+ import {BannerModelContext} from './Banner';
7
+ import {BannerModel, useBannerLabel} from './hooks';
8
+
9
+ export interface BannerLabelProps extends ExtractProps<typeof Flex, never> {
10
+ model?: BannerModel;
11
+ /**
12
+ * The text of the Banner.
13
+ */
14
+ children: React.ReactNode;
15
+ }
16
+
17
+ export const BannerLabel = createComponent('div')({
18
+ displayName: 'Banner.Label',
19
+ Component: ({children, model, ...elemProps}: BannerLabelProps, ref, Element) => {
20
+ const localModel = useModelContext(BannerModelContext, model);
21
+ const props = useBannerLabel(localModel, elemProps, ref);
22
+
23
+ return (
24
+ <Flex as={Element} flex="1 1 0%" {...props}>
25
+ {children}
26
+ </Flex>
27
+ );
28
+ },
29
+ });
@@ -0,0 +1,6 @@
1
+ export * from './useBannerModel';
2
+ export * from './useThemedPalette';
3
+ export * from './useBannerIcon';
4
+ export * from './useBannerLabel';
5
+ export * from './useBannerActionText';
6
+ export * from './useBanner';
@@ -0,0 +1,13 @@
1
+ import {createHook} from '@workday/canvas-kit-react/common';
2
+ import {BannerModel} from './useBannerModel';
3
+
4
+ /**
5
+ * Adds the necessary props to a `Banner` component.
6
+ * Used by the Banner component
7
+ */
8
+ export const useBanner = createHook(({state}: BannerModel) => {
9
+ return {
10
+ 'aria-describedby': `label-${state.id}`,
11
+ 'aria-labelledby': `action-${state.id}`,
12
+ };
13
+ });
@@ -0,0 +1,12 @@
1
+ import {createHook} from '@workday/canvas-kit-react/common';
2
+ import {BannerModel} from './useBannerModel';
3
+
4
+ /**
5
+ * Adds the necessary props to a `ActionText` component.
6
+ * Used by the Banner.ActionText subcomponent
7
+ */
8
+ export const useBannerActionText = createHook(({state}: BannerModel) => {
9
+ return {
10
+ id: `action-${state.id}`,
11
+ };
12
+ });
@@ -0,0 +1,19 @@
1
+ import {createHook} from '@workday/canvas-kit-react/common';
2
+ import {exclamationCircleIcon, exclamationTriangleIcon} from '@workday/canvas-system-icons-web';
3
+ import {BannerModel} from './useBannerModel';
4
+ import {useThemedPalette} from './useThemedPalette';
5
+
6
+ /**
7
+ * Adds the necessary props to a `Icon` component.
8
+ * Used by the Banner.Icon subcomponent
9
+ */
10
+ export const useBannerIcon = createHook(({state}: BannerModel) => {
11
+ const palette = useThemedPalette(state.hasError ? 'error' : 'alert');
12
+
13
+ return {
14
+ icon: state.hasError ? exclamationCircleIcon : exclamationTriangleIcon,
15
+ color: palette.contrast,
16
+ colorHover: palette.contrast,
17
+ size: 24,
18
+ };
19
+ });
@@ -0,0 +1,12 @@
1
+ import {createHook} from '@workday/canvas-kit-react/common';
2
+ import {BannerModel} from './useBannerModel';
3
+
4
+ /**
5
+ * Adds the necessary props to a `Label` component.
6
+ * Used by the Banner.Label subcomponent
7
+ */
8
+ export const useBannerLabel = createHook(({state}: BannerModel) => {
9
+ return {
10
+ id: `label-${state.id}`,
11
+ };
12
+ });
@@ -0,0 +1,63 @@
1
+ import {
2
+ createEventMap,
3
+ Model,
4
+ ToModelConfig,
5
+ useEventMap,
6
+ useUniqueId,
7
+ } from '@workday/canvas-kit-react/common';
8
+
9
+ type BannerState = {
10
+ /**
11
+ * Optional flag to denote the banner has an error to display. When true the default `Banner.Icon`
12
+ * will be `exclamationCircleIcon`, and a themed error color will be applied.
13
+ * @default false
14
+ */
15
+ hasError?: boolean;
16
+ /**
17
+ * Optional flag to denote the banner is stuck to the side of the screen. When true the default `Banner.ActionText`
18
+ * will be hidden, and some basic styles will be applied.
19
+ * You will still need to manually set the css `position` value.
20
+ * @default false
21
+ */
22
+ isSticky?: boolean;
23
+ /**
24
+ * Optional `id` provided to `Banner`'s subcomponents as HTML attributes:
25
+ * - `Banner` will set `aria-describedby` to `label-${id}`
26
+ * - `Banner` will set `aria-label` to `action-${id}`
27
+ * - `Banner.Label` will set `id` to `label-${id}`
28
+ * - `Banner.ActionText` will set `id` to `action-${id}`
29
+ *
30
+ * If a value is not provided, a unique id will be automatically created by `useUniqueId()`.
31
+ * @default `useUniqueId()`
32
+ */
33
+ id?: string;
34
+ };
35
+
36
+ type BannerEvents = {};
37
+
38
+ export type BannerModel = Model<BannerState, BannerEvents>;
39
+
40
+ const BannerEventMap = createEventMap<BannerEvents>()({
41
+ guards: {},
42
+ callbacks: {},
43
+ });
44
+
45
+ export type BannerModelConfig = BannerState &
46
+ Partial<ToModelConfig<BannerState, BannerEvents, typeof BannerEventMap>>;
47
+
48
+ export const useBannerModel = (config: BannerModelConfig = {}): BannerModel => {
49
+ const id = useUniqueId(config.id);
50
+
51
+ const state = {
52
+ hasError: config.hasError ?? false,
53
+ isSticky: config.isSticky ?? false,
54
+ id,
55
+ };
56
+
57
+ const events = useEventMap(BannerEventMap, state, config, {});
58
+
59
+ return {
60
+ state,
61
+ events,
62
+ };
63
+ };
@@ -0,0 +1,53 @@
1
+ import {CanvasThemePalette, EmotionCanvasTheme, useTheme} from '@workday/canvas-kit-react/common';
2
+ import {colors} from '@workday/canvas-kit-react/tokens';
3
+ import chroma from 'chroma-js';
4
+
5
+ type paletteSelection = Exclude<keyof EmotionCanvasTheme['canvas']['palette'], 'common'>;
6
+
7
+ interface BackgroundColors {
8
+ normal?: string;
9
+ hover?: string;
10
+ contrast?: string;
11
+ }
12
+
13
+ const isAccessible = (foreground: string, background: string) => {
14
+ return chroma.contrast(foreground, background) >= 3;
15
+ };
16
+
17
+ const getPaletteColorsFromTheme = (
18
+ palette: CanvasThemePalette,
19
+ fallbackColors?: BackgroundColors
20
+ ): BackgroundColors => {
21
+ return {
22
+ hover: palette.dark,
23
+ normal: palette.main,
24
+ contrast: isAccessible(palette.contrast, palette.main)
25
+ ? palette.contrast
26
+ : fallbackColors?.contrast,
27
+ };
28
+ };
29
+
30
+ export function getPaletteColors(
31
+ type: paletteSelection,
32
+ theme: EmotionCanvasTheme
33
+ ): BackgroundColors {
34
+ const palette = theme.canvas.palette[type];
35
+
36
+ switch (type) {
37
+ case 'error': {
38
+ return getPaletteColorsFromTheme(palette, {contrast: colors.frenchVanilla100});
39
+ }
40
+ case 'alert': {
41
+ return getPaletteColorsFromTheme(palette, {contrast: colors.blackPepper400});
42
+ }
43
+ default: {
44
+ return getPaletteColorsFromTheme(palette);
45
+ }
46
+ }
47
+ }
48
+
49
+ export const useThemedPalette = (type: paletteSelection) => {
50
+ const theme = useTheme();
51
+
52
+ return getPaletteColors(type, theme);
53
+ };
package/common/index.ts CHANGED
@@ -6,3 +6,4 @@ export * from './lib/styles';
6
6
  export * from './lib/utils';
7
7
  export * from './lib/CanvasProvider';
8
8
  export * from './lib/InputProvider';
9
+ export * from './lib/EllipsisText';
@@ -0,0 +1,11 @@
1
+ import styled, {CSSObject} from '@emotion/styled';
2
+ import {ElementComponent} from '..';
3
+
4
+ export const ellipsisStyles: CSSObject = {
5
+ whiteSpace: 'nowrap',
6
+ textOverflow: 'ellipsis',
7
+ overflow: 'hidden',
8
+ };
9
+
10
+ // Recast as an `ElementComponent` due to better type support for `as` and `ref`
11
+ export const EllipsisText = (styled('span')(ellipsisStyles) as any) as ElementComponent<'span', {}>;
@@ -1,10 +1,11 @@
1
- import {CSSObject, Interpolation} from '@emotion/core';
1
+ import {Interpolation} from '@emotion/core';
2
+ import {CSSProperties} from '@workday/canvas-kit-react/tokens';
2
3
 
3
4
  /**
4
5
  * A utility to hide the default canvas style focus ring when using mouse input.
5
6
  * Requires wrapping your components in an InputProvider component.
6
7
  */
7
- export const hideMouseFocus: CSSObject = {
8
+ export const hideMouseFocus: CSSProperties = {
8
9
  [`[data-whatinput="mouse"] &:focus,
9
10
  [data-whatinput="touch"] &:focus,
10
11
  [data-whatinput="pointer"] &:focus`]: {