@workday/canvas-kit-react 7.0.0-alpha.0-next.1 → 7.0.0-alpha.0-next.3

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 (204) hide show
  1. package/banner/lib/Banner.tsx +1 -0
  2. package/banner/lib/BannerActionText.tsx +12 -9
  3. package/banner/lib/BannerIcon.tsx +11 -12
  4. package/button/lib/ToolbarDropdownButton.tsx +1 -2
  5. package/cookie-banner/lib/CookieBanner.tsx +1 -0
  6. package/dist/commonjs/banner/lib/Banner.d.ts.map +1 -1
  7. package/dist/commonjs/banner/lib/Banner.js +1 -0
  8. package/dist/commonjs/banner/lib/BannerActionText.d.ts.map +1 -1
  9. package/dist/commonjs/banner/lib/BannerActionText.js +11 -5
  10. package/dist/commonjs/banner/lib/BannerIcon.d.ts.map +1 -1
  11. package/dist/commonjs/banner/lib/BannerIcon.js +7 -7
  12. package/dist/commonjs/button/lib/ToolbarDropdownButton.d.ts.map +1 -1
  13. package/dist/commonjs/button/lib/ToolbarDropdownButton.js +7 -5
  14. package/dist/commonjs/card/lib/Card.d.ts +1 -1
  15. package/dist/commonjs/card/lib/CardBody.d.ts +1 -1
  16. package/dist/commonjs/card/lib/CardBody.d.ts.map +1 -1
  17. package/dist/commonjs/cookie-banner/lib/CookieBanner.d.ts.map +1 -1
  18. package/dist/commonjs/cookie-banner/lib/CookieBanner.js +1 -0
  19. package/dist/commonjs/dialog/lib/Dialog.d.ts +1 -1
  20. package/dist/commonjs/icon/lib/Svg.d.ts +0 -1
  21. package/dist/commonjs/icon/lib/Svg.d.ts.map +1 -1
  22. package/dist/commonjs/icon/lib/Svg.js +7 -14
  23. package/dist/commonjs/modal/lib/Modal.d.ts +1 -1
  24. package/dist/commonjs/pagination/lib/Pagination/AdditionalDetails.d.ts +2 -3
  25. package/dist/commonjs/pagination/lib/Pagination/AdditionalDetails.d.ts.map +1 -1
  26. package/dist/commonjs/pagination/lib/Pagination/AdditionalDetails.js +21 -7
  27. package/dist/commonjs/pagination/lib/Pagination/Controls.js +2 -2
  28. package/dist/commonjs/pagination/lib/Pagination/GoTo/Form.d.ts +2 -3
  29. package/dist/commonjs/pagination/lib/Pagination/GoTo/Form.d.ts.map +1 -1
  30. package/dist/commonjs/pagination/lib/Pagination/GoTo/Form.js +2 -2
  31. package/dist/commonjs/pagination/lib/Pagination/GoTo/Label.d.ts +1 -2
  32. package/dist/commonjs/pagination/lib/Pagination/GoTo/Label.d.ts.map +1 -1
  33. package/dist/commonjs/pagination/lib/Pagination/GoTo/Label.js +12 -4
  34. package/dist/commonjs/pagination/lib/Pagination/Nav.d.ts +1 -1
  35. package/dist/commonjs/pagination/lib/Pagination/Nav.d.ts.map +1 -1
  36. package/dist/commonjs/pagination/lib/Pagination/Nav.js +2 -2
  37. package/dist/commonjs/pagination/lib/Pagination/PageList.d.ts +4 -4
  38. package/dist/commonjs/pagination/lib/Pagination/PageList.d.ts.map +1 -1
  39. package/dist/commonjs/pagination/lib/Pagination/PageList.js +11 -7
  40. package/dist/commonjs/pagination/lib/Pagination/Pagination.d.ts +3 -3
  41. package/dist/commonjs/pagination/lib/Pagination/common/List.d.ts +6 -8
  42. package/dist/commonjs/pagination/lib/Pagination/common/List.d.ts.map +1 -1
  43. package/dist/commonjs/pagination/lib/Pagination/common/List.js +15 -12
  44. package/dist/commonjs/popup/lib/Popper.d.ts +5 -0
  45. package/dist/commonjs/popup/lib/Popper.d.ts.map +1 -1
  46. package/dist/commonjs/popup/lib/Popper.js +9 -8
  47. package/dist/commonjs/popup/lib/Popup.d.ts +1 -1
  48. package/dist/commonjs/popup/lib/hooks/useInitialFocus.d.ts.map +1 -1
  49. package/dist/commonjs/popup/lib/hooks/useInitialFocus.js +5 -3
  50. package/dist/commonjs/tabs/lib/TabsItem.d.ts +1 -1
  51. package/dist/commonjs/toast/lib/Toast.d.ts.map +1 -1
  52. package/dist/commonjs/toast/lib/Toast.js +16 -13
  53. package/dist/es6/banner/lib/Banner.d.ts.map +1 -1
  54. package/dist/es6/banner/lib/Banner.js +1 -0
  55. package/dist/es6/banner/lib/BannerActionText.d.ts.map +1 -1
  56. package/dist/es6/banner/lib/BannerActionText.js +5 -6
  57. package/dist/es6/banner/lib/BannerIcon.d.ts.map +1 -1
  58. package/dist/es6/banner/lib/BannerIcon.js +5 -8
  59. package/dist/es6/button/lib/ToolbarDropdownButton.d.ts.map +1 -1
  60. package/dist/es6/button/lib/ToolbarDropdownButton.js +4 -5
  61. package/dist/es6/card/lib/Card.d.ts +1 -1
  62. package/dist/es6/card/lib/CardBody.d.ts +1 -1
  63. package/dist/es6/card/lib/CardBody.d.ts.map +1 -1
  64. package/dist/es6/cookie-banner/lib/CookieBanner.d.ts.map +1 -1
  65. package/dist/es6/cookie-banner/lib/CookieBanner.js +1 -0
  66. package/dist/es6/dialog/lib/Dialog.d.ts +1 -1
  67. package/dist/es6/icon/lib/Svg.d.ts +0 -1
  68. package/dist/es6/icon/lib/Svg.d.ts.map +1 -1
  69. package/dist/es6/icon/lib/Svg.js +7 -14
  70. package/dist/es6/modal/lib/Modal.d.ts +1 -1
  71. package/dist/es6/pagination/lib/Pagination/AdditionalDetails.d.ts +2 -3
  72. package/dist/es6/pagination/lib/Pagination/AdditionalDetails.d.ts.map +1 -1
  73. package/dist/es6/pagination/lib/Pagination/AdditionalDetails.js +16 -9
  74. package/dist/es6/pagination/lib/Pagination/Controls.js +1 -1
  75. package/dist/es6/pagination/lib/Pagination/GoTo/Form.d.ts +2 -3
  76. package/dist/es6/pagination/lib/Pagination/GoTo/Form.d.ts.map +1 -1
  77. package/dist/es6/pagination/lib/Pagination/GoTo/Form.js +2 -2
  78. package/dist/es6/pagination/lib/Pagination/GoTo/Label.d.ts +1 -2
  79. package/dist/es6/pagination/lib/Pagination/GoTo/Label.d.ts.map +1 -1
  80. package/dist/es6/pagination/lib/Pagination/GoTo/Label.js +5 -4
  81. package/dist/es6/pagination/lib/Pagination/Nav.d.ts +1 -1
  82. package/dist/es6/pagination/lib/Pagination/Nav.d.ts.map +1 -1
  83. package/dist/es6/pagination/lib/Pagination/Nav.js +2 -2
  84. package/dist/es6/pagination/lib/Pagination/PageList.d.ts +4 -4
  85. package/dist/es6/pagination/lib/Pagination/PageList.d.ts.map +1 -1
  86. package/dist/es6/pagination/lib/Pagination/PageList.js +5 -8
  87. package/dist/es6/pagination/lib/Pagination/Pagination.d.ts +3 -3
  88. package/dist/es6/pagination/lib/Pagination/common/List.d.ts +6 -8
  89. package/dist/es6/pagination/lib/Pagination/common/List.d.ts.map +1 -1
  90. package/dist/es6/pagination/lib/Pagination/common/List.js +15 -12
  91. package/dist/es6/popup/lib/Popper.d.ts +5 -0
  92. package/dist/es6/popup/lib/Popper.d.ts.map +1 -1
  93. package/dist/es6/popup/lib/Popper.js +9 -8
  94. package/dist/es6/popup/lib/Popup.d.ts +1 -1
  95. package/dist/es6/popup/lib/hooks/useInitialFocus.d.ts.map +1 -1
  96. package/dist/es6/popup/lib/hooks/useInitialFocus.js +5 -3
  97. package/dist/es6/tabs/lib/TabsItem.d.ts +1 -1
  98. package/dist/es6/toast/lib/Toast.d.ts.map +1 -1
  99. package/dist/es6/toast/lib/Toast.js +9 -13
  100. package/icon/lib/Svg.tsx +13 -22
  101. package/package.json +5 -5
  102. package/pagination/lib/Pagination/AdditionalDetails.tsx +24 -18
  103. package/pagination/lib/Pagination/Controls.tsx +1 -1
  104. package/pagination/lib/Pagination/GoTo/Form.tsx +4 -5
  105. package/pagination/lib/Pagination/GoTo/Label.tsx +5 -6
  106. package/pagination/lib/Pagination/Nav.tsx +2 -2
  107. package/pagination/lib/Pagination/PageList.tsx +13 -11
  108. package/pagination/lib/Pagination/common/List.tsx +25 -23
  109. package/popup/lib/Popper.tsx +13 -5
  110. package/popup/lib/hooks/useInitialFocus.tsx +3 -1
  111. package/toast/lib/Toast.tsx +9 -15
  112. package/ts3.5/dist/commonjs/card/lib/Card.d.ts +1 -1
  113. package/ts3.5/dist/commonjs/card/lib/CardBody.d.ts +1 -1
  114. package/ts3.5/dist/commonjs/dialog/lib/Dialog.d.ts +1 -1
  115. package/ts3.5/dist/commonjs/icon/lib/Svg.d.ts +0 -1
  116. package/ts3.5/dist/commonjs/modal/lib/Modal.d.ts +1 -1
  117. package/ts3.5/dist/commonjs/pagination/lib/Pagination/AdditionalDetails.d.ts +2 -3
  118. package/ts3.5/dist/commonjs/pagination/lib/Pagination/GoTo/Form.d.ts +2 -3
  119. package/ts3.5/dist/commonjs/pagination/lib/Pagination/GoTo/Label.d.ts +1 -2
  120. package/ts3.5/dist/commonjs/pagination/lib/Pagination/Nav.d.ts +1 -1
  121. package/ts3.5/dist/commonjs/pagination/lib/Pagination/PageList.d.ts +4 -4
  122. package/ts3.5/dist/commonjs/pagination/lib/Pagination/Pagination.d.ts +3 -3
  123. package/ts3.5/dist/commonjs/pagination/lib/Pagination/common/List.d.ts +6 -8
  124. package/ts3.5/dist/commonjs/popup/lib/Popper.d.ts +5 -0
  125. package/ts3.5/dist/commonjs/popup/lib/Popup.d.ts +1 -1
  126. package/ts3.5/dist/commonjs/tabs/lib/TabsItem.d.ts +1 -1
  127. package/ts3.5/dist/es6/card/lib/Card.d.ts +1 -1
  128. package/ts3.5/dist/es6/card/lib/CardBody.d.ts +1 -1
  129. package/ts3.5/dist/es6/dialog/lib/Dialog.d.ts +1 -1
  130. package/ts3.5/dist/es6/icon/lib/Svg.d.ts +0 -1
  131. package/ts3.5/dist/es6/modal/lib/Modal.d.ts +1 -1
  132. package/ts3.5/dist/es6/pagination/lib/Pagination/AdditionalDetails.d.ts +2 -3
  133. package/ts3.5/dist/es6/pagination/lib/Pagination/GoTo/Form.d.ts +2 -3
  134. package/ts3.5/dist/es6/pagination/lib/Pagination/GoTo/Label.d.ts +1 -2
  135. package/ts3.5/dist/es6/pagination/lib/Pagination/Nav.d.ts +1 -1
  136. package/ts3.5/dist/es6/pagination/lib/Pagination/PageList.d.ts +4 -4
  137. package/ts3.5/dist/es6/pagination/lib/Pagination/Pagination.d.ts +3 -3
  138. package/ts3.5/dist/es6/pagination/lib/Pagination/common/List.d.ts +6 -8
  139. package/ts3.5/dist/es6/popup/lib/Popper.d.ts +5 -0
  140. package/ts3.5/dist/es6/popup/lib/Popup.d.ts +1 -1
  141. package/ts3.5/dist/es6/tabs/lib/TabsItem.d.ts +1 -1
  142. package/dist/commonjs/pagination/lib/Pagination/common/Box.d.ts +0 -12
  143. package/dist/commonjs/pagination/lib/Pagination/common/Box.d.ts.map +0 -1
  144. package/dist/commonjs/pagination/lib/Pagination/common/Box.js +0 -70
  145. package/dist/commonjs/pagination/lib/Pagination/common/Flex.d.ts +0 -6
  146. package/dist/commonjs/pagination/lib/Pagination/common/Flex.d.ts.map +0 -1
  147. package/dist/commonjs/pagination/lib/Pagination/common/Flex.js +0 -32
  148. package/dist/commonjs/pagination/lib/Pagination/common/Stack.d.ts +0 -48
  149. package/dist/commonjs/pagination/lib/Pagination/common/Stack.d.ts.map +0 -1
  150. package/dist/commonjs/pagination/lib/Pagination/common/Stack.js +0 -87
  151. package/dist/commonjs/pagination/lib/Pagination/common/utils/flex.d.ts +0 -57
  152. package/dist/commonjs/pagination/lib/Pagination/common/utils/flex.d.ts.map +0 -1
  153. package/dist/commonjs/pagination/lib/Pagination/common/utils/flex.js +0 -23
  154. package/dist/commonjs/pagination/lib/Pagination/common/utils/layout.d.ts +0 -32
  155. package/dist/commonjs/pagination/lib/Pagination/common/utils/layout.d.ts.map +0 -1
  156. package/dist/commonjs/pagination/lib/Pagination/common/utils/layout.js +0 -15
  157. package/dist/commonjs/pagination/lib/Pagination/common/utils/safelySpreadProps.d.ts +0 -12
  158. package/dist/commonjs/pagination/lib/Pagination/common/utils/safelySpreadProps.d.ts.map +0 -1
  159. package/dist/commonjs/pagination/lib/Pagination/common/utils/safelySpreadProps.js +0 -37
  160. package/dist/commonjs/pagination/lib/Pagination/common/utils/space.d.ts +0 -127
  161. package/dist/commonjs/pagination/lib/Pagination/common/utils/space.d.ts.map +0 -1
  162. package/dist/commonjs/pagination/lib/Pagination/common/utils/space.js +0 -75
  163. package/dist/es6/pagination/lib/Pagination/common/Box.d.ts +0 -12
  164. package/dist/es6/pagination/lib/Pagination/common/Box.d.ts.map +0 -1
  165. package/dist/es6/pagination/lib/Pagination/common/Box.js +0 -58
  166. package/dist/es6/pagination/lib/Pagination/common/Flex.d.ts +0 -6
  167. package/dist/es6/pagination/lib/Pagination/common/Flex.d.ts.map +0 -1
  168. package/dist/es6/pagination/lib/Pagination/common/Flex.js +0 -27
  169. package/dist/es6/pagination/lib/Pagination/common/Stack.d.ts +0 -48
  170. package/dist/es6/pagination/lib/Pagination/common/Stack.d.ts.map +0 -1
  171. package/dist/es6/pagination/lib/Pagination/common/Stack.js +0 -78
  172. package/dist/es6/pagination/lib/Pagination/common/utils/flex.d.ts +0 -57
  173. package/dist/es6/pagination/lib/Pagination/common/utils/flex.d.ts.map +0 -1
  174. package/dist/es6/pagination/lib/Pagination/common/utils/flex.js +0 -21
  175. package/dist/es6/pagination/lib/Pagination/common/utils/layout.d.ts +0 -32
  176. package/dist/es6/pagination/lib/Pagination/common/utils/layout.d.ts.map +0 -1
  177. package/dist/es6/pagination/lib/Pagination/common/utils/layout.js +0 -13
  178. package/dist/es6/pagination/lib/Pagination/common/utils/safelySpreadProps.d.ts +0 -12
  179. package/dist/es6/pagination/lib/Pagination/common/utils/safelySpreadProps.d.ts.map +0 -1
  180. package/dist/es6/pagination/lib/Pagination/common/utils/safelySpreadProps.js +0 -34
  181. package/dist/es6/pagination/lib/Pagination/common/utils/space.d.ts +0 -127
  182. package/dist/es6/pagination/lib/Pagination/common/utils/space.d.ts.map +0 -1
  183. package/dist/es6/pagination/lib/Pagination/common/utils/space.js +0 -73
  184. package/pagination/lib/Pagination/common/Box.tsx +0 -44
  185. package/pagination/lib/Pagination/common/Flex.tsx +0 -23
  186. package/pagination/lib/Pagination/common/Stack.tsx +0 -98
  187. package/pagination/lib/Pagination/common/utils/flex.ts +0 -110
  188. package/pagination/lib/Pagination/common/utils/layout.ts +0 -40
  189. package/pagination/lib/Pagination/common/utils/safelySpreadProps.ts +0 -29
  190. package/pagination/lib/Pagination/common/utils/space.ts +0 -109
  191. package/ts3.5/dist/commonjs/pagination/lib/Pagination/common/Box.d.ts +0 -12
  192. package/ts3.5/dist/commonjs/pagination/lib/Pagination/common/Flex.d.ts +0 -6
  193. package/ts3.5/dist/commonjs/pagination/lib/Pagination/common/Stack.d.ts +0 -48
  194. package/ts3.5/dist/commonjs/pagination/lib/Pagination/common/utils/flex.d.ts +0 -57
  195. package/ts3.5/dist/commonjs/pagination/lib/Pagination/common/utils/layout.d.ts +0 -32
  196. package/ts3.5/dist/commonjs/pagination/lib/Pagination/common/utils/safelySpreadProps.d.ts +0 -12
  197. package/ts3.5/dist/commonjs/pagination/lib/Pagination/common/utils/space.d.ts +0 -127
  198. package/ts3.5/dist/es6/pagination/lib/Pagination/common/Box.d.ts +0 -12
  199. package/ts3.5/dist/es6/pagination/lib/Pagination/common/Flex.d.ts +0 -6
  200. package/ts3.5/dist/es6/pagination/lib/Pagination/common/Stack.d.ts +0 -48
  201. package/ts3.5/dist/es6/pagination/lib/Pagination/common/utils/flex.d.ts +0 -57
  202. package/ts3.5/dist/es6/pagination/lib/Pagination/common/utils/layout.d.ts +0 -32
  203. package/ts3.5/dist/es6/pagination/lib/Pagination/common/utils/safelySpreadProps.d.ts +0 -12
  204. package/ts3.5/dist/es6/pagination/lib/Pagination/common/utils/space.d.ts +0 -127
@@ -65,6 +65,11 @@ export interface PopperProps {
65
65
  * @default true
66
66
  */
67
67
  portal?: boolean;
68
+ /**
69
+ * Reference to the PopperJS instance. Useful for making direct method calls on the popper
70
+ * instance like `update`.
71
+ */
72
+ popperInstanceRef?: React.Ref<PopperJS.Instance>;
68
73
  }
69
74
  export declare const Popper: React.ForwardRefExoticComponent<PopperProps & React.RefAttributes<HTMLDivElement>>;
70
75
  //# sourceMappingURL=Popper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Popper.d.ts","sourceRoot":"","sources":["../../../../popup/lib/Popper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,oBAAY,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;AAC3C,oBAAY,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC;AAI7C,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC;IAC1D;;;;;OAKG;IACH,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE;QAAC,SAAS,EAAE,SAAS,CAAA;KAAC,KAAK,KAAK,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC;IACjF;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAClC;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC;IACpC;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;;;OAKG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI,CAAC;IACnD;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IACvC;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,eAAO,MAAM,MAAM,oFAQlB,CAAC"}
1
+ {"version":3,"file":"Popper.d.ts","sourceRoot":"","sources":["../../../../popup/lib/Popper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,oBAAY,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;AAC3C,oBAAY,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC;AAK7C,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC;IAC1D;;;;;OAKG;IACH,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE;QAAC,SAAS,EAAE,SAAS,CAAA;KAAC,KAAK,KAAK,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC;IACjF;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAClC;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC;IACpC;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;;;OAKG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI,CAAC;IACnD;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IACvC;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;CAClD;AAED,eAAO,MAAM,MAAM,oFAQlB,CAAC"}
@@ -31,6 +31,7 @@ import * as React from 'react';
31
31
  import * as ReactDOM from 'react-dom';
32
32
  import * as PopperJS from '@popperjs/core';
33
33
  import { usePopupStack } from './hooks';
34
+ import { useLocalRef } from '@workday/canvas-kit-react/common';
34
35
  export var Popper = React.forwardRef(function (_a, ref) {
35
36
  var _b = _a.portal, portal = _b === void 0 ? true : _b, _c = _a.open, open = _c === void 0 ? true : _c, elemProps = __rest(_a, ["portal", "open"]);
36
37
  if (!open) {
@@ -54,10 +55,10 @@ var defaultPopperOptions = {};
54
55
  // Popper bails early if `open` is false and React hooks cannot be called conditionally,
55
56
  // so we're breaking out the open version into another component.
56
57
  var OpenPopper = React.forwardRef(function (_a, ref) {
57
- var anchorElement = _a.anchorElement, getAnchorClientRect = _a.getAnchorClientRect, _b = _a.popperOptions, popperOptions = _b === void 0 ? defaultPopperOptions : _b, _c = _a.placement, popperPlacement = _c === void 0 ? 'bottom' : _c, onPlacementChange = _a.onPlacementChange, children = _a.children, portal = _a.portal, containerElement = _a.containerElement;
58
+ var anchorElement = _a.anchorElement, getAnchorClientRect = _a.getAnchorClientRect, _b = _a.popperOptions, popperOptions = _b === void 0 ? defaultPopperOptions : _b, _c = _a.placement, popperPlacement = _c === void 0 ? 'bottom' : _c, onPlacementChange = _a.onPlacementChange, children = _a.children, portal = _a.portal, containerElement = _a.containerElement, popperInstanceRef = _a.popperInstanceRef;
58
59
  var firstRender = React.useRef(true);
59
- var popperInstance = React.useRef();
60
- var _d = React.useState(popperPlacement), placement = _d[0], setPlacement = _d[1];
60
+ var _d = useLocalRef(popperInstanceRef), localRef = _d.localRef, elementRef = _d.elementRef;
61
+ var _e = React.useState(popperPlacement), placement = _e[0], setPlacement = _e[1];
61
62
  var stackRef = usePopupStack(ref, anchorElement);
62
63
  var placementModifier = React.useMemo(function () {
63
64
  return {
@@ -81,10 +82,10 @@ var OpenPopper = React.forwardRef(function (_a, ref) {
81
82
  return undefined;
82
83
  }
83
84
  if (stackRef.current) {
84
- popperInstance.current = PopperJS.createPopper(anchorEl, stackRef.current, __assign(__assign({ placement: popperPlacement }, popperOptions), { modifiers: __spreadArrays((popperOptions.modifiers || []), [placementModifier]) }));
85
+ var instance_1 = PopperJS.createPopper(anchorEl, stackRef.current, __assign(__assign({ placement: popperPlacement }, popperOptions), { modifiers: __spreadArrays((popperOptions.modifiers || []), [placementModifier]) }));
86
+ elementRef(instance_1); // update the ref with the instance
85
87
  return function () {
86
- var _a;
87
- (_a = popperInstance.current) === null || _a === void 0 ? void 0 : _a.destroy();
88
+ instance_1 === null || instance_1 === void 0 ? void 0 : instance_1.destroy();
88
89
  };
89
90
  }
90
91
  return undefined;
@@ -97,10 +98,10 @@ var OpenPopper = React.forwardRef(function (_a, ref) {
97
98
  var _a;
98
99
  // Only update options if this is _not_ the first render
99
100
  if (!firstRender.current) {
100
- (_a = popperInstance.current) === null || _a === void 0 ? void 0 : _a.setOptions(__assign(__assign({ placement: popperPlacement }, popperOptions), { modifiers: __spreadArrays((popperOptions.modifiers || []), [placementModifier]) }));
101
+ (_a = localRef.current) === null || _a === void 0 ? void 0 : _a.setOptions(__assign(__assign({ placement: popperPlacement }, popperOptions), { modifiers: __spreadArrays((popperOptions.modifiers || []), [placementModifier]) }));
101
102
  }
102
103
  firstRender.current = false;
103
- }, [popperOptions, popperPlacement, placementModifier]);
104
+ }, [popperOptions, popperPlacement, placementModifier, localRef]);
104
105
  var contents = React.createElement(React.Fragment, null, isRenderProp(children) ? children({ placement: placement }) : children);
105
106
  if (!portal) {
106
107
  return contents;
@@ -12,7 +12,7 @@ export interface PopupProps {
12
12
  }
13
13
  export declare const Popup: import("../../common").Component<PopupProps> & {
14
14
  Heading: import("../../common").ElementComponent<"h2", import("./PopupHeading").PopupHeadingProps>;
15
- Body: import("../../common").ElementComponent<"div", import("@workday/canvas-kit-labs-react/common/lib/utils/border").BorderShorthandStyleProps & import("@workday/canvas-kit-labs-react/common/lib/utils/border").BorderColorStyleProps & import("@workday/canvas-kit-labs-react/common/lib/utils/border").BorderRadiusStyleProps & import("@workday/canvas-kit-labs-react/common/lib/utils/border").BorderLineStyleProps & import("@workday/canvas-kit-labs-react/common/lib/utils/border").BorderWidthStyleProps & import("@workday/canvas-kit-labs-react/common/lib/utils/border").BorderLogicalStyleProps & import("@workday/canvas-kit-labs-react").ColorStyleProps & import("@workday/canvas-kit-labs-react").DepthStyleProps & import("@workday/canvas-kit-labs-react").FlexItemStyleProps & import("@workday/canvas-kit-labs-react").LayoutStyleProps & import("@workday/canvas-kit-labs-react/common/lib/utils/position").PositionStandardProps & import("@workday/canvas-kit-labs-react/common/lib/utils/position").PositionLogicalProps & import("@workday/canvas-kit-labs-react/common/lib/utils/space").SpaceStandardProps & import("@workday/canvas-kit-labs-react/common/lib/utils/space").SpaceLogicalProps>;
15
+ Body: import("../../common").ElementComponent<"div", import("@workday/canvas-kit-labs-react/common/lib/utils/border").BorderShorthandStyleProps & import("@workday/canvas-kit-labs-react/common/lib/utils/border").BorderColorStyleProps & import("@workday/canvas-kit-labs-react/common/lib/utils/border").BorderRadiusStyleProps & import("@workday/canvas-kit-labs-react/common/lib/utils/border").BorderLineStyleProps & import("@workday/canvas-kit-labs-react/common/lib/utils/border").BorderWidthStyleProps & import("@workday/canvas-kit-labs-react/common/lib/utils/border").BorderLogicalStyleProps & import("@workday/canvas-kit-labs-react").ColorStyleProps & import("@workday/canvas-kit-labs-react").DepthStyleProps & import("@workday/canvas-kit-labs-react").FlexItemStyleProps & import("@workday/canvas-kit-labs-react").LayoutStyleProps & import("@workday/canvas-kit-labs-react/common/lib/utils/other").OtherStyleProps & import("@workday/canvas-kit-labs-react/common/lib/utils/position").PositionStandardProps & import("@workday/canvas-kit-labs-react/common/lib/utils/position").PositionLogicalProps & import("@workday/canvas-kit-labs-react/common/lib/utils/space").SpaceStandardProps & import("@workday/canvas-kit-labs-react/common/lib/utils/space").SpaceLogicalProps>;
16
16
  Card: import("../../common").ElementComponent<"div", import("./PopupCard").PopupCardProps>;
17
17
  CloseIcon: import("../../common").ElementComponent<"button", import("./PopupCloseIcon").PopupCloseIconProps>;
18
18
  Target: import("../../common").ElementComponent<import("../../common").ElementComponent<"button", import("../..").SecondaryButtonProps>, import("./PopupTarget").PopupTargetProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"useInitialFocus.d.ts","sourceRoot":"","sources":["../../../../../popup/lib/hooks/useInitialFocus.tsx"],"names":[],"mappings":"AAMA;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,6IAsB3B,CAAC"}
1
+ {"version":3,"file":"useInitialFocus.d.ts","sourceRoot":"","sources":["../../../../../popup/lib/hooks/useInitialFocus.tsx"],"names":[],"mappings":"AAMA;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,6IAwB3B,CAAC"}
@@ -17,10 +17,12 @@ export var useInitialFocus = function (model, elemProps) {
17
17
  React.useEffect(function () {
18
18
  var _a;
19
19
  if (visible && model.state.stackRef.current) {
20
- var element = ((_a = model.state.initialFocusRef) === null || _a === void 0 ? void 0 : _a.current) ||
20
+ var element_1 = ((_a = model.state.initialFocusRef) === null || _a === void 0 ? void 0 : _a.current) ||
21
21
  getFirstFocusableElement(model.state.stackRef.current);
22
- assert(element, 'No focusable element was found. Please ensure popup has at least one focusable element');
23
- changeFocus(element);
22
+ assert(element_1, 'No focusable element was found. Please ensure popup has at least one focusable element');
23
+ requestAnimationFrame(function () {
24
+ changeFocus(element_1);
25
+ });
24
26
  }
25
27
  }, [model.state.initialFocusRef, model.state.stackRef, visible]);
26
28
  return elemProps;
@@ -72,7 +72,7 @@ export interface TabsItemProps extends ExtractProps<typeof Box, never>, Partial<
72
72
  */
73
73
  hasIcon?: boolean;
74
74
  }
75
- export declare const StyledTabItem: import("@emotion/styled-base").StyledComponent<import("../../common").PropsWithAs<import("@workday/canvas-kit-labs-react/common/lib/utils/border").BorderShorthandStyleProps & import("@workday/canvas-kit-labs-react/common/lib/utils/border").BorderColorStyleProps & import("@workday/canvas-kit-labs-react/common/lib/utils/border").BorderRadiusStyleProps & import("@workday/canvas-kit-labs-react/common/lib/utils/border").BorderLineStyleProps & import("@workday/canvas-kit-labs-react/common/lib/utils/border").BorderWidthStyleProps & import("@workday/canvas-kit-labs-react/common/lib/utils/border").BorderLogicalStyleProps & import("@workday/canvas-kit-labs-react/common").ColorStyleProps & import("@workday/canvas-kit-labs-react/common").DepthStyleProps & import("@workday/canvas-kit-labs-react/common").FlexItemStyleProps & import("@workday/canvas-kit-labs-react/common").LayoutStyleProps & import("@workday/canvas-kit-labs-react/common/lib/utils/position").PositionStandardProps & import("@workday/canvas-kit-labs-react/common/lib/utils/position").PositionLogicalProps & import("@workday/canvas-kit-labs-react/common/lib/utils/space").SpaceStandardProps & import("@workday/canvas-kit-labs-react/common/lib/utils/space").SpaceLogicalProps, "button">, StyledType & {
75
+ export declare const StyledTabItem: import("@emotion/styled-base").StyledComponent<import("../../common").PropsWithAs<import("@workday/canvas-kit-labs-react/common/lib/utils/border").BorderShorthandStyleProps & import("@workday/canvas-kit-labs-react/common/lib/utils/border").BorderColorStyleProps & import("@workday/canvas-kit-labs-react/common/lib/utils/border").BorderRadiusStyleProps & import("@workday/canvas-kit-labs-react/common/lib/utils/border").BorderLineStyleProps & import("@workday/canvas-kit-labs-react/common/lib/utils/border").BorderWidthStyleProps & import("@workday/canvas-kit-labs-react/common/lib/utils/border").BorderLogicalStyleProps & import("@workday/canvas-kit-labs-react/common").ColorStyleProps & import("@workday/canvas-kit-labs-react/common").DepthStyleProps & import("@workday/canvas-kit-labs-react/common").FlexItemStyleProps & import("@workday/canvas-kit-labs-react/common").LayoutStyleProps & import("@workday/canvas-kit-labs-react/common/lib/utils/other").OtherStyleProps & import("@workday/canvas-kit-labs-react/common/lib/utils/position").PositionStandardProps & import("@workday/canvas-kit-labs-react/common/lib/utils/position").PositionLogicalProps & import("@workday/canvas-kit-labs-react/common/lib/utils/space").SpaceStandardProps & import("@workday/canvas-kit-labs-react/common/lib/utils/space").SpaceLogicalProps, "button">, StyledType & {
76
76
  hasIcon?: boolean | undefined;
77
77
  } & Pick<TabsItemProps, "spacing">, import("../../common").EmotionCanvasTheme>;
78
78
  export declare const TabsItem: import("../../common").ElementComponent<"button", TabsItemProps> & {
@@ -1 +1 @@
1
- {"version":3,"file":"Toast.d.ts","sourceRoot":"","sources":["../../../../toast/lib/Toast.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAC,KAAK,EAAC,MAAM,iCAAiC,CAAC;AACtD,OAAO,EAAsB,WAAW,EAAC,MAAM,kCAAkC,CAAC;AAGlF,OAAO,EAAC,gBAAgB,EAAC,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAkB,YAAY,EAAS,MAAM,kCAAkC,CAAC;AAGvF,MAAM,WAAW,UAAW,SAAQ,YAAY,CAAC,OAAO,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC;IACxE;;;OAGG;IACH,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB;;;OAGG;IACH,SAAS,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC;IACjC;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AA0CD,eAAO,MAAM,KAAK,4DAyChB,CAAC"}
1
+ {"version":3,"file":"Toast.d.ts","sourceRoot":"","sources":["../../../../toast/lib/Toast.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAC,KAAK,EAAC,MAAM,iCAAiC,CAAC;AACtD,OAAO,EAAsB,WAAW,EAAC,MAAM,kCAAkC,CAAC;AAGlF,OAAO,EAAC,gBAAgB,EAAC,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAkB,YAAY,EAAqB,MAAM,kCAAkC,CAAC;AAGnG,MAAM,WAAW,UAAW,SAAQ,YAAY,CAAC,OAAO,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC;IACxE;;;OAGG;IACH,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB;;;OAGG;IACH,SAAS,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC;IACjC;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAkCD,eAAO,MAAM,KAAK,4DA6ChB,CAAC"}
@@ -20,8 +20,7 @@ var __rest = (this && this.__rest) || function (s, e) {
20
20
  }
21
21
  return t;
22
22
  };
23
- /** @jsx jsx */
24
- import { jsx } from '@emotion/core';
23
+ import * as React from 'react';
25
24
  import { Popup } from '@workday/canvas-kit-react/popup';
26
25
  import { space, colors, type } from '@workday/canvas-kit-react/tokens';
27
26
  import { SystemIcon } from '@workday/canvas-kit-react/icon';
@@ -40,10 +39,7 @@ var ToastSystemIcon = styled(SystemIcon)({
40
39
  alignSelf: 'start',
41
40
  });
42
41
  var _a = type.levels.subtext.large, color = _a.color, subTextLargeStyles = __rest(_a, ["color"]);
43
- var actionButtonStyles = __assign(__assign({}, subTextLargeStyles), { display: 'block', backgroundColor: 'transparent', border: 'none', marginTop: space.xxxs });
44
- var ActionButton = function (props) {
45
- return jsx(Hyperlink, __assign({ as: "button", css: actionButtonStyles }, props));
46
- };
42
+ var StyledActionButton = styled(Hyperlink)(__assign(__assign({}, subTextLargeStyles), { display: 'block', backgroundColor: 'transparent', border: 'none', marginTop: space.xxxs }));
47
43
  var Message = styled('div')({
48
44
  wordBreak: 'break-word',
49
45
  wordWrap: 'break-word',
@@ -55,13 +51,13 @@ export var Toast = createComponent('div')({
55
51
  _c = _a.iconColor, // needed for TS2742 - https://github.com/microsoft/TypeScript/issues/29808
56
52
  iconColor = _c === void 0 ? colors.greenApple400 : _c, onClose = _a.onClose, onActionClick = _a.onActionClick, actionText = _a.actionText, children = _a.children, elemProps = __rest(_a, ["icon", "iconColor", "onClose", "onActionClick", "actionText", "children"]);
57
53
  var isInteractive = onClose || onActionClick;
58
- return (jsx(Popup.Card, __assign({ ref: ref, as: Element, width: toastWidth, padding: "s", role: isInteractive ? 'dialog' : 'status', "aria-live": isInteractive ? 'off' : 'polite', "aria-atomic": !isInteractive }, elemProps),
59
- onClose && jsx(Popup.CloseIcon, { "aria-label": "Close", onClick: onClose, size: "small" }),
60
- jsx(Popup.Body, null,
61
- jsx(ToastContentContainer, { onClose: onClose },
62
- icon && jsx(ToastSystemIcon, { color: iconColor, colorHover: iconColor, icon: icon }),
63
- jsx(Message, null,
54
+ return (React.createElement(Popup.Card, __assign({ ref: ref, as: Element, width: toastWidth, padding: "s", role: isInteractive ? 'dialog' : 'status', "aria-live": isInteractive ? 'off' : 'polite', "aria-atomic": !isInteractive }, elemProps),
55
+ onClose && React.createElement(Popup.CloseIcon, { "aria-label": "Close", onClick: onClose, size: "small" }),
56
+ React.createElement(Popup.Body, null,
57
+ React.createElement(ToastContentContainer, { onClose: onClose },
58
+ icon && React.createElement(ToastSystemIcon, { color: iconColor, colorHover: iconColor, icon: icon }),
59
+ React.createElement(Message, null,
64
60
  children,
65
- onActionClick && jsx(ActionButton, { onClick: onActionClick }, actionText))))));
61
+ onActionClick && (React.createElement(StyledActionButton, { as: "button", onClick: onActionClick }, actionText)))))));
66
62
  },
67
63
  });
package/icon/lib/Svg.tsx CHANGED
@@ -1,8 +1,8 @@
1
- /** @jsx jsx */
2
- import {CSSObject, jsx, ClassNames} from '@emotion/core';
1
+ import {CSSObject} from '@emotion/core';
3
2
  import * as React from 'react';
4
3
  import {CanvasIcon, CanvasIconTypes} from '@workday/design-assets-types';
5
4
  import {validateIconType} from './utils';
5
+ import {styled} from '@workday/canvas-kit-react/common';
6
6
 
7
7
  export interface SvgProps extends React.HTMLAttributes<HTMLSpanElement> {
8
8
  src: CanvasIcon;
@@ -16,9 +16,18 @@ export interface SvgProps extends React.HTMLAttributes<HTMLSpanElement> {
16
16
  shouldMirror?: boolean;
17
17
  }
18
18
 
19
+ const StyledIconSpan = styled('span')<Pick<SvgProps, 'shouldMirror' | 'styles'>>(
20
+ ({shouldMirror, styles}) => ({
21
+ display: 'inline-block',
22
+ '> svg': {display: 'block'},
23
+ transform: shouldMirror ? 'scaleX(-1)' : undefined,
24
+ ...styles,
25
+ })
26
+ );
27
+
19
28
  export default class Svg extends React.Component<SvgProps> {
20
29
  public render() {
21
- const {src, styles, type, iconRef, shouldMirror, ...elemProps} = this.props;
30
+ const {src, type, iconRef, ...elemProps} = this.props;
22
31
 
23
32
  // Validation for JS
24
33
  try {
@@ -29,25 +38,7 @@ export default class Svg extends React.Component<SvgProps> {
29
38
  }
30
39
 
31
40
  return (
32
- <ClassNames>
33
- {({css, cx}) => (
34
- <span
35
- {...elemProps}
36
- dangerouslySetInnerHTML={{__html: src.svg}}
37
- // Need to combine iconStyle with the className prop, otherwise we'll clobber it
38
- // (we'll need to do something like this for each HTML <span> prop we explicitly set in this component)
39
- className={cx(
40
- css(styles, {
41
- display: 'inline-block',
42
- '& svg': {display: 'block'},
43
- transform: shouldMirror ? 'scaleX(-1)' : undefined,
44
- }),
45
- elemProps.className
46
- )}
47
- ref={iconRef}
48
- />
49
- )}
50
- </ClassNames>
41
+ <StyledIconSpan {...elemProps} dangerouslySetInnerHTML={{__html: src.svg}} ref={iconRef} />
51
42
  );
52
43
  }
53
44
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@workday/canvas-kit-react",
3
- "version": "7.0.0-alpha.0-next.1+57471fa0",
3
+ "version": "7.0.0-alpha.0-next.3+14a81c7e",
4
4
  "description": "The parent module that contains all Workday Canvas Kit React components",
5
5
  "author": "Workday, Inc. (https://www.workday.com)",
6
6
  "license": "Apache-2.0",
@@ -57,9 +57,9 @@
57
57
  "@emotion/styled": "^10.0.27",
58
58
  "@popperjs/core": "^2.5.4",
59
59
  "@workday/canvas-colors-web": "^2.0.0",
60
- "@workday/canvas-kit-labs-react": "^7.0.0-alpha.0-next.1+57471fa0",
61
- "@workday/canvas-kit-popup-stack": "^7.0.0-alpha.0-next.1+57471fa0",
62
- "@workday/canvas-kit-preview-react": "^7.0.0-alpha.0-next.1+57471fa0",
60
+ "@workday/canvas-kit-labs-react": "^7.0.0-alpha.0-next.3+14a81c7e",
61
+ "@workday/canvas-kit-popup-stack": "^7.0.0-alpha.0-next.3+14a81c7e",
62
+ "@workday/canvas-kit-preview-react": "^7.0.0-alpha.0-next.3+14a81c7e",
63
63
  "@workday/canvas-system-icons-web": "1.0.41",
64
64
  "@workday/design-assets-types": "^0.2.4",
65
65
  "chroma-js": "^2.1.0",
@@ -77,5 +77,5 @@
77
77
  "@workday/canvas-accent-icons-web": "^1.0.0",
78
78
  "@workday/canvas-applet-icons-web": "^0.17.50"
79
79
  },
80
- "gitHead": "57471fa0c73534126f9ef9a18203d49c5834d21e"
80
+ "gitHead": "14a81c7ef3deb9efaf67fa3ec9cc2d2a3161b00b"
81
81
  }
@@ -1,11 +1,9 @@
1
- /** @jsx jsx */
2
1
  import * as React from 'react';
3
- import {jsx, css} from '@emotion/core';
4
- import {type, typeColors} from '@workday/canvas-kit-react/tokens';
5
- import {accessibleHide} from '@workday/canvas-kit-react/common';
2
+ import {type, typeColors, space} from '@workday/canvas-kit-react/tokens';
3
+ import {accessibleHide, styled, StyledType} from '@workday/canvas-kit-react/common';
6
4
 
7
5
  import {PaginationModel} from './types';
8
- import {Flex, FlexProps} from './common/Flex';
6
+ import {Flex, FlexProps} from '@workday/canvas-kit-labs-react/layout';
9
7
  import {useLiveRegion} from './common/useLiveRegion';
10
8
 
11
9
  export interface AdditionalDetailsProps extends FlexProps {
@@ -15,30 +13,38 @@ export interface AdditionalDetailsProps extends FlexProps {
15
13
  shouldHideDetails?: boolean;
16
14
  }
17
15
 
18
- // Ideally, these styles would be applied directly to a Text component
19
- const textStyles = css({
20
- ...type.levels.subtext.medium,
21
- color: typeColors.hint,
16
+ const StyledAdditionalDetails = styled(Flex)<
17
+ StyledType & Pick<AdditionalDetailsProps, 'shouldHideDetails'>
18
+ >(({shouldHideDetails}) => {
19
+ const styles = {
20
+ ...type.levels.subtext.medium,
21
+ color: typeColors.hint,
22
+ };
23
+ if (shouldHideDetails) {
24
+ return {
25
+ ...styles,
26
+ ...accessibleHide,
27
+ marginTop: space.zero,
28
+ };
29
+ } else {
30
+ return {
31
+ ...styles,
32
+ marginTop: space.xs,
33
+ };
34
+ }
22
35
  });
23
36
 
24
37
  export const AdditionalDetails = ({
25
38
  model,
26
39
  children,
27
40
  shouldAnnounceToScreenReader,
28
- shouldHideDetails = false,
29
41
  ...elemProps
30
42
  }: AdditionalDetailsProps) => {
31
43
  const liveRegionProps = useLiveRegion({shouldAnnounceToScreenReader});
32
- const detailStyles = css([textStyles, shouldHideDetails ? accessibleHide : null]);
33
44
 
34
45
  return (
35
- <Flex
36
- mt={shouldHideDetails ? 'zero' : 'xs'}
37
- css={detailStyles}
38
- {...liveRegionProps}
39
- {...elemProps}
40
- >
46
+ <StyledAdditionalDetails {...liveRegionProps} {...elemProps}>
41
47
  {typeof children === 'function' ? children(model) : children}
42
- </Flex>
48
+ </StyledAdditionalDetails>
43
49
  );
44
50
  };
@@ -8,7 +8,7 @@ import {
8
8
  } from '@workday/canvas-system-icons-web';
9
9
 
10
10
  import {PaginationModel} from './types';
11
- import {HStack} from './common/Stack';
11
+ import {HStack} from '@workday/canvas-kit-labs-react/layout';
12
12
  import {useRTL} from './common/utils/useRTL';
13
13
 
14
14
  export type ControlButtonProps = IconButtonProps &
@@ -1,11 +1,10 @@
1
1
  import * as React from 'react';
2
- import {HStack, HStackProps} from '../common/Stack';
3
- import {Spacing} from '../common/utils/space';
2
+ import {HStack, HStackProps, StackSpacing} from '@workday/canvas-kit-labs-react/layout';
4
3
  import {useRTL} from '../common/utils/useRTL';
5
4
 
6
5
  export type GoToFormProps = React.FormHTMLAttributes<HTMLFormElement> &
7
6
  Omit<HStackProps, 'spacing'> & {
8
- spacing?: Spacing;
7
+ spacing?: StackSpacing;
9
8
  };
10
9
 
11
10
  export const GoToForm = ({children, onSubmit, spacing = 'xxs', ...elemProps}: GoToFormProps) => {
@@ -15,8 +14,8 @@ export const GoToForm = ({children, onSubmit, spacing = 'xxs', ...elemProps}: Go
15
14
  as="form"
16
15
  alignItems="center"
17
16
  spacing={spacing}
18
- pl={shouldUseRTL ? 'xxs' : undefined}
19
- pr={shouldUseRTL ? 'xxs' : undefined}
17
+ paddingLeft={shouldUseRTL ? 'xxs' : undefined}
18
+ paddingRight={shouldUseRTL ? 'xxs' : undefined}
20
19
  onSubmit={onSubmit}
21
20
  {...elemProps}
22
21
  >
@@ -1,9 +1,8 @@
1
- /** @jsx jsx */
2
1
  import * as React from 'react';
3
- import {jsx, css, Interpolation} from '@emotion/core';
4
2
  import {type, typeColors} from '@workday/canvas-kit-react/tokens';
5
3
 
6
4
  import {PaginationModel} from '../types';
5
+ import {StyledType, styled} from '@workday/canvas-kit-react/common';
7
6
 
8
7
  export interface GoToLabelProps extends React.LabelHTMLAttributes<HTMLLabelElement> {
9
8
  model: PaginationModel;
@@ -13,16 +12,16 @@ export interface GoToLabelProps extends React.LabelHTMLAttributes<HTMLLabelEleme
13
12
  children?: (model: PaginationModel) => React.ReactNode | React.ReactNode;
14
13
  }
15
14
 
16
- const labelStyles = css({
15
+ const StyledLabel = styled('label')<StyledType>({
17
16
  ...type.levels.subtext.medium,
18
17
  color: typeColors.hint,
19
18
  whiteSpace: 'nowrap',
20
19
  });
21
20
 
22
- export const GoToLabel = ({css: cssProp, model, children, ...elemProps}: GoToLabelProps) => {
21
+ export const GoToLabel = ({model, children, ...elemProps}: GoToLabelProps) => {
23
22
  return (
24
- <label css={[labelStyles, cssProp as Interpolation<undefined>]} {...elemProps}>
23
+ <StyledLabel {...elemProps}>
25
24
  {typeof children === 'function' ? children(model) : children}
26
- </label>
25
+ </StyledLabel>
27
26
  );
28
27
  };
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import {Flex, FlexProps} from './common/Flex';
2
+ import {Flex, FlexProps} from '@workday/canvas-kit-labs-react/layout';
3
3
 
4
4
  export interface PaginationNavProps extends Omit<FlexProps, 'as'> {
5
5
  'aria-label': string;
@@ -11,7 +11,7 @@ export const PaginationNav = ({'aria-label': ariaLabel, ...elemProps}: Paginatio
11
11
  as="nav"
12
12
  aria-label={ariaLabel}
13
13
  display="inline-flex"
14
- direction="column"
14
+ flexDirection="column"
15
15
  alignItems="center"
16
16
  {...elemProps}
17
17
  />
@@ -1,25 +1,27 @@
1
- /** @jsx jsx */
2
1
  import * as React from 'react';
3
- import {jsx, css} from '@emotion/core';
4
2
 
5
3
  import {PaginationModel} from './types';
6
- import {List, ListItem, ListItemProps, ListProps} from './common/List';
7
- import {useStack} from './common/Stack';
8
- import {useRTL} from './common/utils/useRTL';
4
+ import {ListItem, ListItemProps} from './common/List';
5
+ import {HStack, HStackProps} from '@workday/canvas-kit-labs-react/layout';
9
6
 
10
- export interface PageListProps extends Omit<ListProps, 'as'> {
7
+ export interface PageListProps extends Omit<HStackProps, 'as' | 'spacing'> {
11
8
  model: PaginationModel;
12
9
  children?: (model: PaginationModel) => React.ReactNode[] | React.ReactNode;
13
10
  }
14
11
 
15
12
  export const PageList = ({model, children, ...elemProps}: PageListProps) => {
16
- const {shouldUseRTL} = useRTL();
17
- const stackStyles = useStack({direction: 'row', spacing: 'xxxs', shouldUseRTL});
18
-
19
13
  return (
20
- <List as="ol" role="list" css={css(stackStyles)} {...elemProps}>
14
+ <HStack
15
+ margin="zero"
16
+ as="ol"
17
+ role="list"
18
+ paddingLeft="zero"
19
+ paddingRight="zero"
20
+ spacing="xxxs"
21
+ {...elemProps}
22
+ >
21
23
  {typeof children === 'function' ? children(model) : children}
22
- </List>
24
+ </HStack>
23
25
  );
24
26
  };
25
27
 
@@ -1,39 +1,41 @@
1
- /** @jsx jsx */
2
1
  import * as React from 'react';
3
- import {jsx, css} from '@emotion/core';
4
2
 
5
- import {Flex, FlexProps} from './Flex';
3
+ import {Flex, FlexProps} from '@workday/canvas-kit-labs-react/layout';
4
+ import {StyledType, styled, createComponent} from '@workday/canvas-kit-react/common';
6
5
 
7
- export interface ListProps extends FlexProps, React.OlHTMLAttributes<HTMLElement> {
8
- as: 'ol' | 'ul';
9
- }
6
+ export interface ListProps extends FlexProps {}
10
7
 
11
- const listStyles = css({
8
+ const StyledList = styled(Flex.as('ul'))<StyledType & FlexProps>({
12
9
  listStyle: 'none',
13
10
  });
14
11
 
15
- export const List = React.forwardRef<HTMLOListElement | HTMLUListElement, ListProps>(
16
- ({as, children, ...elemProps}, ref) => {
12
+ export const List = createComponent('ul')({
13
+ displayName: 'List',
14
+ Component: ({children, ...elemProps}: ListProps, ref, Element) => {
17
15
  return (
18
- <Flex as={as} m="zero" p="zero" css={listStyles} ref={ref} {...elemProps}>
16
+ <StyledList
17
+ as={Element}
18
+ marginY="zero"
19
+ marginX="zero"
20
+ padding="zero"
21
+ ref={ref}
22
+ {...elemProps}
23
+ >
19
24
  {children}
20
- </Flex>
25
+ </StyledList>
21
26
  );
22
- }
23
- );
24
-
25
- List.displayName = 'List';
27
+ },
28
+ });
26
29
 
27
- export type ListItemProps = Omit<FlexProps, 'as'>;
30
+ export interface ListItemProps extends FlexProps {}
28
31
 
29
- export const ListItem = React.forwardRef<HTMLLIElement, ListItemProps>(
30
- ({children, ...elemProps}, ref) => {
32
+ export const ListItem = createComponent('li')({
33
+ displayName: 'ListItem',
34
+ Component: ({children, ...elemProps}: ListItemProps, ref, Element) => {
31
35
  return (
32
- <Flex as="li" ref={ref} {...elemProps}>
36
+ <Flex as={Element} ref={ref} {...elemProps}>
33
37
  {children}
34
38
  </Flex>
35
39
  );
36
- }
37
- );
38
-
39
- ListItem.displayName = 'ListItem';
40
+ },
41
+ });
@@ -6,6 +6,7 @@ export type Placement = PopperJS.Placement;
6
6
  export type PopperOptions = PopperJS.Options;
7
7
 
8
8
  import {usePopupStack} from './hooks';
9
+ import {useLocalRef} from '@workday/canvas-kit-react/common';
9
10
 
10
11
  export interface PopperProps {
11
12
  /**
@@ -68,6 +69,11 @@ export interface PopperProps {
68
69
  * @default true
69
70
  */
70
71
  portal?: boolean;
72
+ /**
73
+ * Reference to the PopperJS instance. Useful for making direct method calls on the popper
74
+ * instance like `update`.
75
+ */
76
+ popperInstanceRef?: React.Ref<PopperJS.Instance>;
71
77
  }
72
78
 
73
79
  export const Popper = React.forwardRef<HTMLDivElement, PopperProps>(
@@ -108,11 +114,12 @@ const OpenPopper = React.forwardRef<HTMLDivElement, PopperProps>(
108
114
  children,
109
115
  portal,
110
116
  containerElement,
117
+ popperInstanceRef,
111
118
  }: PopperProps,
112
119
  ref
113
120
  ) => {
114
121
  const firstRender = React.useRef(true);
115
- const popperInstance = React.useRef<PopperJS.Instance>();
122
+ const {localRef, elementRef} = useLocalRef(popperInstanceRef);
116
123
  const [placement, setPlacement] = React.useState(popperPlacement);
117
124
  const stackRef = usePopupStack(ref, anchorElement as HTMLElement);
118
125
 
@@ -141,14 +148,15 @@ const OpenPopper = React.forwardRef<HTMLDivElement, PopperProps>(
141
148
  }
142
149
 
143
150
  if (stackRef.current) {
144
- popperInstance.current = PopperJS.createPopper(anchorEl, stackRef.current, {
151
+ const instance = PopperJS.createPopper(anchorEl, stackRef.current, {
145
152
  placement: popperPlacement,
146
153
  ...popperOptions,
147
154
  modifiers: [...(popperOptions.modifiers || []), placementModifier],
148
155
  });
156
+ elementRef(instance); // update the ref with the instance
149
157
 
150
158
  return () => {
151
- popperInstance.current?.destroy();
159
+ instance?.destroy();
152
160
  };
153
161
  }
154
162
 
@@ -162,14 +170,14 @@ const OpenPopper = React.forwardRef<HTMLDivElement, PopperProps>(
162
170
  React.useLayoutEffect(() => {
163
171
  // Only update options if this is _not_ the first render
164
172
  if (!firstRender.current) {
165
- popperInstance.current?.setOptions({
173
+ localRef.current?.setOptions({
166
174
  placement: popperPlacement,
167
175
  ...popperOptions,
168
176
  modifiers: [...(popperOptions.modifiers || []), placementModifier],
169
177
  });
170
178
  }
171
179
  firstRender.current = false;
172
- }, [popperOptions, popperPlacement, placementModifier]);
180
+ }, [popperOptions, popperPlacement, placementModifier, localRef]);
173
181
 
174
182
  const contents = <>{isRenderProp(children) ? children({placement}) : children}</>;
175
183
 
@@ -29,7 +29,9 @@ export const useInitialFocus = (model: PopupModel, elemProps = {}) => {
29
29
  'No focusable element was found. Please ensure popup has at least one focusable element'
30
30
  );
31
31
 
32
- changeFocus(element);
32
+ requestAnimationFrame(() => {
33
+ changeFocus(element);
34
+ });
33
35
  }
34
36
  }, [model.state.initialFocusRef, model.state.stackRef, visible]);
35
37