@workday/canvas-kit-react 16.0.0-alpha.0463-next.0 → 16.0.0-alpha.0465-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/checkbox/lib/CheckboxContainer.tsx +0 -1
  2. package/combobox/lib/ComboboxCard.tsx +2 -11
  3. package/dialog/lib/Dialog.tsx +6 -0
  4. package/dist/commonjs/checkbox/lib/CheckboxContainer.d.ts.map +1 -1
  5. package/dist/commonjs/checkbox/lib/CheckboxContainer.js +1 -1
  6. package/dist/commonjs/combobox/lib/ComboboxCard.d.ts +0 -1
  7. package/dist/commonjs/combobox/lib/ComboboxCard.d.ts.map +1 -1
  8. package/dist/commonjs/combobox/lib/ComboboxCard.js +2 -6
  9. package/dist/commonjs/dialog/lib/Dialog.d.ts +23 -0
  10. package/dist/commonjs/dialog/lib/Dialog.d.ts.map +1 -1
  11. package/dist/commonjs/dialog/lib/Dialog.js +6 -0
  12. package/dist/commonjs/modal/lib/Modal.d.ts +23 -0
  13. package/dist/commonjs/modal/lib/Modal.d.ts.map +1 -1
  14. package/dist/commonjs/modal/lib/Modal.js +6 -0
  15. package/dist/commonjs/popup/lib/Popup.d.ts +23 -0
  16. package/dist/commonjs/popup/lib/Popup.d.ts.map +1 -1
  17. package/dist/commonjs/popup/lib/Popup.js +7 -0
  18. package/dist/commonjs/popup/lib/PopupButtonGroup.d.ts +53 -0
  19. package/dist/commonjs/popup/lib/PopupButtonGroup.d.ts.map +1 -0
  20. package/dist/commonjs/popup/lib/PopupButtonGroup.js +27 -0
  21. package/dist/commonjs/popup/lib/PopupCard.d.ts.map +1 -1
  22. package/dist/commonjs/popup/lib/PopupCard.js +1 -1
  23. package/dist/commonjs/toast/lib/Toast.d.ts.map +1 -1
  24. package/dist/commonjs/toast/lib/Toast.js +2 -2
  25. package/dist/commonjs/toast/lib/ToastBody.d.ts.map +1 -1
  26. package/dist/commonjs/toast/lib/ToastBody.js +2 -3
  27. package/dist/commonjs/toast/lib/ToastCloseIcon.d.ts.map +1 -1
  28. package/dist/commonjs/toast/lib/ToastCloseIcon.js +4 -3
  29. package/dist/commonjs/toast/lib/ToastIcon.d.ts.map +1 -1
  30. package/dist/commonjs/toast/lib/ToastIcon.js +3 -3
  31. package/dist/commonjs/tooltip/lib/TooltipContainer.d.ts +1 -4
  32. package/dist/commonjs/tooltip/lib/TooltipContainer.d.ts.map +1 -1
  33. package/dist/commonjs/tooltip/lib/TooltipContainer.js +2 -2
  34. package/dist/es6/checkbox/lib/CheckboxContainer.d.ts.map +1 -1
  35. package/dist/es6/checkbox/lib/CheckboxContainer.js +1 -1
  36. package/dist/es6/combobox/lib/ComboboxCard.d.ts +0 -1
  37. package/dist/es6/combobox/lib/ComboboxCard.d.ts.map +1 -1
  38. package/dist/es6/combobox/lib/ComboboxCard.js +2 -6
  39. package/dist/es6/dialog/lib/Dialog.d.ts +23 -0
  40. package/dist/es6/dialog/lib/Dialog.d.ts.map +1 -1
  41. package/dist/es6/dialog/lib/Dialog.js +6 -0
  42. package/dist/es6/modal/lib/Modal.d.ts +23 -0
  43. package/dist/es6/modal/lib/Modal.d.ts.map +1 -1
  44. package/dist/es6/modal/lib/Modal.js +6 -0
  45. package/dist/es6/popup/lib/Popup.d.ts +23 -0
  46. package/dist/es6/popup/lib/Popup.d.ts.map +1 -1
  47. package/dist/es6/popup/lib/Popup.js +7 -0
  48. package/dist/es6/popup/lib/PopupButtonGroup.d.ts +53 -0
  49. package/dist/es6/popup/lib/PopupButtonGroup.d.ts.map +1 -0
  50. package/dist/es6/popup/lib/PopupButtonGroup.js +24 -0
  51. package/dist/es6/popup/lib/PopupCard.d.ts.map +1 -1
  52. package/dist/es6/popup/lib/PopupCard.js +1 -1
  53. package/dist/es6/toast/lib/Toast.d.ts.map +1 -1
  54. package/dist/es6/toast/lib/Toast.js +3 -3
  55. package/dist/es6/toast/lib/ToastBody.d.ts.map +1 -1
  56. package/dist/es6/toast/lib/ToastBody.js +2 -3
  57. package/dist/es6/toast/lib/ToastCloseIcon.d.ts.map +1 -1
  58. package/dist/es6/toast/lib/ToastCloseIcon.js +4 -3
  59. package/dist/es6/toast/lib/ToastIcon.d.ts.map +1 -1
  60. package/dist/es6/toast/lib/ToastIcon.js +4 -4
  61. package/dist/es6/tooltip/lib/TooltipContainer.d.ts +1 -4
  62. package/dist/es6/tooltip/lib/TooltipContainer.d.ts.map +1 -1
  63. package/dist/es6/tooltip/lib/TooltipContainer.js +2 -2
  64. package/modal/lib/Modal.tsx +6 -0
  65. package/package.json +4 -4
  66. package/popup/lib/Popup.tsx +7 -0
  67. package/popup/lib/PopupButtonGroup.tsx +60 -0
  68. package/popup/lib/PopupCard.tsx +1 -0
  69. package/toast/lib/Toast.tsx +11 -3
  70. package/toast/lib/ToastBody.tsx +1 -3
  71. package/toast/lib/ToastCloseIcon.tsx +5 -2
  72. package/toast/lib/ToastIcon.tsx +9 -3
  73. package/tooltip/lib/TooltipContainer.tsx +14 -19
@@ -80,6 +80,12 @@ export const Dialog = createContainer()({
80
80
  * {@link usePopupCloseButton}.
81
81
  */
82
82
  CloseButton: Popup.CloseButton,
83
+ /**
84
+ * A `Dialog.ButtonGroup` component styled with {@link popupButtonGroupStencil}. It is used to
85
+ * group buttons within a dialog and can place buttons at the start, center, or end of the
86
+ * container.
87
+ */
88
+ ButtonGroup: Popup.ButtonGroup,
83
89
  },
84
90
  })(({ children }) => {
85
91
  return _jsx(_Fragment, { children: children });
@@ -330,5 +330,28 @@ export declare const Modal: import("@workday/canvas-kit-react/common").Component
330
330
  hide(event?: Event | import("react").SyntheticEvent<Element, Event> | undefined): void;
331
331
  };
332
332
  }>;
333
+ /**
334
+ * A `Modal.ButtonGroup` component styled with {@link popupButtonGroupStencil}. It is used to
335
+ * group buttons within a modal and can place buttons at the start, center, or end of the
336
+ * container.
337
+ */
338
+ ButtonGroup: import("@workday/canvas-kit-react/common").ElementComponentM<"div", import("../../popup/lib/PopupButtonGroup").PopupButtonGroupProps, {
339
+ state: {
340
+ stackRef: import("react").RefObject<HTMLDivElement>;
341
+ targetRef: import("react").RefObject<HTMLButtonElement>;
342
+ initialFocusRef: import("react").RefObject<any> | undefined;
343
+ returnFocusRef: import("react").RefObject<any> | undefined;
344
+ placement: import("@popperjs/core").Placement;
345
+ id: string;
346
+ visibility: "hidden" | "visible";
347
+ };
348
+ events: {
349
+ updatePlacement(data: {
350
+ placement: import("@popperjs/core").Placement;
351
+ }): void;
352
+ show(event?: Event | import("react").SyntheticEvent<Element, Event> | undefined): void;
353
+ hide(event?: Event | import("react").SyntheticEvent<Element, Event> | undefined): void;
354
+ };
355
+ }>;
333
356
  };
334
357
  //# sourceMappingURL=Modal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../../../modal/lib/Modal.tsx"],"names":[],"mappings":"AAWA;;;;;;GAMG;AACH,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAId;;;;;;;;;;OAUG;;;;;;;;;;;;;;;;;;;IAEH;;;;;OAKG;;;;;;;;;;;;;;;;;;;IAEH;;;;;;OAMG;;;;;;;;;;;;;;;;;;;IAEH;;;;;;;;;;OAUG;;;;;;;;;;;;;;;;;;;IAEH;;;;;;OAMG;;;;;;;;;;;;;;;;;;;IAEH;;;;;;;;;;;;OAYG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAGH;;;;;;;;OAQG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKL,CAAC"}
1
+ {"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../../../modal/lib/Modal.tsx"],"names":[],"mappings":"AAWA;;;;;;GAMG;AACH,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAId;;;;;;;;;;OAUG;;;;;;;;;;;;;;;;;;;IAEH;;;;;OAKG;;;;;;;;;;;;;;;;;;;IAEH;;;;;;OAMG;;;;;;;;;;;;;;;;;;;IAEH;;;;;;;;;;OAUG;;;;;;;;;;;;;;;;;;;IAEH;;;;;;OAMG;;;;;;;;;;;;;;;;;;;IAEH;;;;;;;;;;;;OAYG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAGH;;;;;;;;OAQG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEH;;;;OAIG;;;;;;;;;;;;;;;;;;;CAKL,CAAC"}
@@ -90,6 +90,12 @@ export const Modal = createContainer()({
90
90
  * full body overflow is desired.
91
91
  */
92
92
  OverflowOverlay: ModalOverflowOverlay,
93
+ /**
94
+ * A `Modal.ButtonGroup` component styled with {@link popupButtonGroupStencil}. It is used to
95
+ * group buttons within a modal and can place buttons at the start, center, or end of the
96
+ * container.
97
+ */
98
+ ButtonGroup: Popup.ButtonGroup,
93
99
  },
94
100
  })(elemProps => {
95
101
  return _jsx(_Fragment, { children: elemProps.children });
@@ -296,5 +296,28 @@ export declare const Popup: import("@workday/canvas-kit-react/common").Component
296
296
  hide(event?: Event | React.SyntheticEvent<Element, Event> | undefined): void;
297
297
  };
298
298
  }>;
299
+ /**
300
+ * A `Popup.ButtonGroup` component styled with {@link popupButtonGroupStencil}. It is used to
301
+ * visually group buttons within a popup and can place buttons at the start, center, or end of the
302
+ * container.
303
+ */
304
+ ButtonGroup: import("@workday/canvas-kit-react/common").ElementComponentM<"div", import("./PopupButtonGroup").PopupButtonGroupProps, {
305
+ state: {
306
+ stackRef: React.RefObject<HTMLDivElement>;
307
+ targetRef: React.RefObject<HTMLButtonElement>;
308
+ initialFocusRef: React.RefObject<any> | undefined;
309
+ returnFocusRef: React.RefObject<any> | undefined;
310
+ placement: import("@popperjs/core").Placement;
311
+ id: string;
312
+ visibility: "hidden" | "visible";
313
+ };
314
+ events: {
315
+ updatePlacement(data: {
316
+ placement: import("@popperjs/core").Placement;
317
+ }): void;
318
+ show(event?: Event | React.SyntheticEvent<Element, Event> | undefined): void;
319
+ hide(event?: Event | React.SyntheticEvent<Element, Event> | undefined): void;
320
+ };
321
+ }>;
299
322
  };
300
323
  //# sourceMappingURL=Popup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Popup.d.ts","sourceRoot":"","sources":["../../../../popup/lib/Popup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAa/B,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAId;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;;;;;;;;;;;;;;;;;;;IAEH;;;;;;;;;OASG;;;;;;;;;;;;;;;;;;;IAEH;;;;OAIG;;;;;;;;;;;;;;;;;;;IAEH;;;OAGG;;;;;;;;;;;;;;;;;;;IAEH;;;;;;OAMG;;;;;;;;;;;;;;;;;;;IAEH;;;OAGG;;;;;;;;;;;;;;;;;;;IAEH;;;;;OAKG;;;;;;;;;;;;;;;;;;;CAKL,CAAC"}
1
+ {"version":3,"file":"Popup.d.ts","sourceRoot":"","sources":["../../../../popup/lib/Popup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAc/B,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAId;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;;;;;;;;;;;;;;;;;;;IAEH;;;;;;;;;OASG;;;;;;;;;;;;;;;;;;;IAEH;;;;OAIG;;;;;;;;;;;;;;;;;;;IAEH;;;OAGG;;;;;;;;;;;;;;;;;;;IAEH;;;;;;OAMG;;;;;;;;;;;;;;;;;;;IAEH;;;OAGG;;;;;;;;;;;;;;;;;;;IAEH;;;;;OAKG;;;;;;;;;;;;;;;;;;;IAEH;;;;OAIG;;;;;;;;;;;;;;;;;;;CAKL,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
2
2
  import { createContainer } from '@workday/canvas-kit-react/common';
3
3
  import { PopupBody } from './PopupBody';
4
+ import { PopupButtonGroup } from './PopupButtonGroup';
4
5
  import { PopupCard } from './PopupCard';
5
6
  import { PopupCloseButton } from './PopupCloseButton';
6
7
  import { PopupCloseIcon } from './PopupCloseIcon';
@@ -101,6 +102,12 @@ export const Popup = createContainer()({
101
102
  * {@link usePopupCloseButton}.
102
103
  */
103
104
  CloseButton: PopupCloseButton,
105
+ /**
106
+ * A `Popup.ButtonGroup` component styled with {@link popupButtonGroupStencil}. It is used to
107
+ * visually group buttons within a popup and can place buttons at the start, center, or end of the
108
+ * container.
109
+ */
110
+ ButtonGroup: PopupButtonGroup,
104
111
  },
105
112
  })(({ children }) => {
106
113
  return _jsx(_Fragment, { children: children });
@@ -0,0 +1,53 @@
1
+ import * as React from 'react';
2
+ import { GrowthBehavior } from '@workday/canvas-kit-react/common';
3
+ import { CSProps } from '@workday/canvas-kit-styling';
4
+ export interface PopupButtonGroupProps extends GrowthBehavior, CSProps {
5
+ /**
6
+ * The contents of the PopupButtonGroup. Can be `Button` children or any valid elements.
7
+ */
8
+ children?: React.ReactNode;
9
+ /**
10
+ * The position of elements within the PopupButtonGroup. Can be `start`, `center`, or `end`.
11
+ * @default 'end'
12
+ */
13
+ position?: 'start' | 'center' | 'end';
14
+ }
15
+ export declare const popupButtonGroupStencil: import("@workday/canvas-kit-styling").Stencil<{
16
+ position: {
17
+ start: {
18
+ justifyContent: string;
19
+ };
20
+ center: {
21
+ justifyContent: string;
22
+ };
23
+ end: {
24
+ justifyContent: string;
25
+ };
26
+ };
27
+ grow: {
28
+ true: {
29
+ '& button': {
30
+ width: string;
31
+ };
32
+ };
33
+ };
34
+ }, {}, {}, never, never>;
35
+ export declare const PopupButtonGroup: import("@workday/canvas-kit-react/common").ElementComponentM<"div", PopupButtonGroupProps, {
36
+ state: {
37
+ stackRef: React.RefObject<HTMLDivElement>;
38
+ targetRef: React.RefObject<HTMLButtonElement>;
39
+ initialFocusRef: React.RefObject<any> | undefined;
40
+ returnFocusRef: React.RefObject<any> | undefined;
41
+ placement: import("@popperjs/core").Placement;
42
+ id: string;
43
+ visibility: "hidden" | "visible";
44
+ };
45
+ events: {
46
+ updatePlacement(data: {
47
+ placement: import("@popperjs/core").Placement;
48
+ }): void;
49
+ show(event?: Event | React.SyntheticEvent<Element, Event> | undefined): void;
50
+ hide(event?: Event | React.SyntheticEvent<Element, Event> | undefined): void;
51
+ };
52
+ }>;
53
+ //# sourceMappingURL=PopupButtonGroup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PopupButtonGroup.d.ts","sourceRoot":"","sources":["../../../../popup/lib/PopupButtonGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAC,cAAc,EAAqB,MAAM,kCAAkC,CAAC;AACpF,OAAO,EAAC,OAAO,EAA8B,MAAM,6BAA6B,CAAC;AAKjF,MAAM,WAAW,qBAAsB,SAAQ,cAAc,EAAE,OAAO;IACpE;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;CACvC;AAED,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;wBA4BlC,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;EAS3B,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { createSubcomponent } from '@workday/canvas-kit-react/common';
3
+ import { createStencil, handleCsProp } from '@workday/canvas-kit-styling';
4
+ import { system } from '@workday/canvas-tokens-web';
5
+ import { usePopupModel } from './hooks';
6
+ export const popupButtonGroupStencil = createStencil({
7
+ base: { name: "u628z", styles: "box-sizing:border-box;display:flex;gap:var(--cnvs-sys-gap-sm, var(--cnvs-sys-space-x2, 0.5rem));@media screen and (max-width: 768px){flex-direction:column;}" },
8
+ modifiers: {
9
+ position: {
10
+ start: { name: "461870", styles: "justify-content:flex-start;" },
11
+ center: { name: "3xs59f", styles: "justify-content:center;" },
12
+ end: { name: "r67bx", styles: "justify-content:flex-end;" }
13
+ },
14
+ grow: {
15
+ true: { name: "1p9ysq", styles: "& button{width:100%;}" }
16
+ }
17
+ }
18
+ }, "popup-button-group-1d7c77");
19
+ export const PopupButtonGroup = createSubcomponent('div')({
20
+ displayName: 'Popup.ButtonGroup',
21
+ modelHook: usePopupModel,
22
+ })(({ children, position = 'end', grow, ...elemProps }, Element) => {
23
+ return (_jsx(Element, { ...handleCsProp(elemProps, popupButtonGroupStencil({ position, grow })), children: children }));
24
+ });
@@ -1 +1 @@
1
- {"version":3,"file":"PopupCard.d.ts","sourceRoot":"","sources":["../../../../popup/lib/PopupCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAC,IAAI,EAAC,MAAM,gCAAgC,CAAC;AACpD,OAAO,EACL,YAAY,EAGb,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAC,cAAc,EAAc,MAAM,kCAAkC,CAAC;AAc7E,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC,OAAO,IAAI,EAAE,KAAK,CAAC,GAAG,cAAc,CAAC;AAChF,MAAM,WAAW,cAAe,SAAQ,eAAe;IACrD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AA6DD,eAAO,MAAM,gBAAgB;;;;;;;;gBAiC3B,CAAC;AAEH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;EA2BpB,CAAC"}
1
+ {"version":3,"file":"PopupCard.d.ts","sourceRoot":"","sources":["../../../../popup/lib/PopupCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAC,IAAI,EAAC,MAAM,gCAAgC,CAAC;AACpD,OAAO,EACL,YAAY,EAGb,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAC,cAAc,EAAc,MAAM,kCAAkC,CAAC;AAc7E,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC,OAAO,IAAI,EAAE,KAAK,CAAC,GAAG,cAAc,CAAC;AAChF,MAAM,WAAW,cAAe,SAAQ,eAAe;IACrD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AA6DD,eAAO,MAAM,gBAAgB;;;;;;;;gBAkC3B,CAAC;AAEH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;EA2BpB,CAAC"}
@@ -58,7 +58,7 @@ export const popupCardStencil = createStencil({
58
58
  transformOriginHorizontal: '',
59
59
  transformOriginVertical: '',
60
60
  },
61
- base: { name: "1k6kls", styles: "box-sizing:border-box;font-family:var(--cnvs-sys-font-family-default);font-weight:var(--cnvs-sys-font-weight-normal);font-size:var(--cnvs-sys-font-size-subtext-lg, var(--cnvs-sys-font-size-subtext-large, 0.875rem));line-height:var(--cnvs-sys-line-height-subtext-lg, var(--cnvs-sys-line-height-subtext-large, 1.25rem));color:var(--cnvs-sys-color-fg-default);position:relative;max-width:calc(100vw - var(--cnvs-sys-size-sm, var(--cnvs-sys-space-x8, 2rem)));gap:var(--cnvs-sys-gap-lg, var(--cnvs-sys-space-x6, 1.5rem));box-shadow:var(--cnvs-sys-depth-3);min-height:0;padding:var(--cnvs-sys-padding-xl, var(--cnvs-sys-space-x6, 1.5rem));border-radius:var(--cnvs-sys-shape-xxxl, 2rem);max-height:var(--maxHeight-popup-card-b9f0ce);overflow-y:auto;animation-name:animation-29kkhp;animation-duration:150ms;animation-timing-function:ease-out;transform-origin:var(--transformOriginVertical-popup-card-b9f0ce) var(--transformOriginHorizontal-popup-card-b9f0ce);.wd-no-animation &{animation:none;}@media screen and (max-width: 768px){transform-origin:bottom center;}" }
61
+ base: { name: "1t20fc", styles: "box-sizing:border-box;font-family:var(--cnvs-sys-font-family-default);font-weight:var(--cnvs-sys-font-weight-normal);font-size:var(--cnvs-sys-font-size-subtext-lg, var(--cnvs-sys-font-size-subtext-large, 0.875rem));line-height:var(--cnvs-sys-line-height-subtext-lg, var(--cnvs-sys-line-height-subtext-large, 1.25rem));color:var(--cnvs-sys-color-fg-default);position:relative;max-width:calc(100vw - var(--cnvs-sys-size-sm, var(--cnvs-sys-space-x8, 2rem)));gap:var(--cnvs-sys-gap-lg, var(--cnvs-sys-space-x6, 1.5rem));box-shadow:var(--cnvs-sys-depth-3);min-height:0;padding:var(--cnvs-sys-padding-xl, var(--cnvs-sys-space-x6, 1.5rem));border-radius:var(--cnvs-sys-shape-xxxl, 2rem);max-height:var(--maxHeight-popup-card-b9f0ce);overflow-y:auto;animation-name:animation-29kkhp;animation-duration:150ms;animation-timing-function:ease-out;transform-origin:var(--transformOriginVertical-popup-card-b9f0ce) var(--transformOriginHorizontal-popup-card-b9f0ce);.wd-no-animation &{animation:none;}@media screen and (max-width: 768px){transform-origin:bottom center;padding:var(--cnvs-sys-padding-lg, var(--cnvs-sys-space-x5, 1.25rem));}" }
62
62
  }, "popup-card-b9f0ce");
63
63
  export const PopupCard = createSubcomponent('div')({
64
64
  displayName: 'Popup.Card',
@@ -1 +1 @@
1
- {"version":3,"file":"Toast.d.ts","sourceRoot":"","sources":["../../../../toast/lib/Toast.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAC,YAAY,EAAkB,MAAM,kCAAkC,CAAC;AAE/E,OAAO,EAAC,KAAK,EAAC,MAAM,iCAAiC,CAAC;AAWtD,MAAM,WAAW,UAAW,SAAQ,IAAI,CAAC,YAAY,CAAC,OAAO,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC;CAAG;AA6C5F;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,KAAK;;;;;;;;;;IAId;;;;;;;;;OASG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;;OAGG;;;;;;;;IAEH;;OAEG;;CAYL,CAAC"}
1
+ {"version":3,"file":"Toast.d.ts","sourceRoot":"","sources":["../../../../toast/lib/Toast.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAC,YAAY,EAAkB,MAAM,kCAAkC,CAAC;AAE/E,OAAO,EAAC,KAAK,EAAC,MAAM,iCAAiC,CAAC;AAWtD,MAAM,WAAW,UAAW,SAAQ,IAAI,CAAC,YAAY,CAAC,OAAO,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC;CAAG;AAqD5F;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,KAAK;;;;;;;;;;IAId;;;;;;;;;OASG;;IAEH;;OAEG;;IAEH;;OAEG;;IAEH;;;OAGG;;;;;;;;IAEH;;OAEG;;CAYL,CAAC"}
@@ -3,7 +3,7 @@ import { createContainer } from '@workday/canvas-kit-react/common';
3
3
  import { mergeStyles } from '@workday/canvas-kit-react/layout';
4
4
  import { Popup } from '@workday/canvas-kit-react/popup';
5
5
  import { createStencil, px2rem } from '@workday/canvas-kit-styling';
6
- import { system } from '@workday/canvas-tokens-web';
6
+ import { base, system } from '@workday/canvas-tokens-web';
7
7
  import { ToastBody } from './ToastBody';
8
8
  import { ToastCloseIcon } from './ToastCloseIcon';
9
9
  import { ToastIcon } from './ToastIcon';
@@ -42,8 +42,8 @@ const getAriaAttributes = (mode, id) => {
42
42
  }
43
43
  };
44
44
  const toastStencil = createStencil({
45
- base: { name: "2iwoo", styles: "box-sizing:border-box;display:flex;flex-direction:row;width:22.5rem;padding:0;gap:var(--cnvs-sys-gap-xs, var(--cnvs-sys-space-x1, 0.25rem));border-radius:var(--cnvs-sys-shape-xl, var(--cnvs-sys-shape-x4, 1rem));" }
46
- }, "toast-3c71ec");
45
+ base: { name: "3qkpd3", styles: "box-sizing:border-box;display:flex;flex-direction:row;width:22.5rem;padding-block:var(--cnvs-sys-padding-sm, var(--cnvs-sys-space-x3, 0.75rem));padding-inline:var(--cnvs-sys-padding-md, var(--cnvs-sys-space-x4, 1rem)) var(--cnvs-sys-padding-xl, var(--cnvs-sys-space-x6, 1.5rem));gap:var(--cnvs-base-size-150, 0.75rem);border-radius:var(--cnvs-sys-shape-xl, var(--cnvs-sys-shape-x4, 1rem));border:0.0625rem solid var(--cnvs-sys-color-border-default);background-color:var(--cnvs-sys-color-surface-default, var(--cnvs-sys-color-bg-default, oklch(1 0 0 / 1)));box-shadow:var(--cnvs-sys-depth-3);@media (forced-colors: active){outline:0.0625rem solid CanvasText;}" }
46
+ }, "toast-4e8aec");
47
47
  /**
48
48
  * Toast is a compound component that has different modes based on its contents. The modes add the proper aria attributes for accessibility
49
49
  *
@@ -1 +1 @@
1
- {"version":3,"file":"ToastBody.d.ts","sourceRoot":"","sources":["../../../../toast/lib/ToastBody.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAkB,MAAM,kCAAkC,CAAC;AAE/E,OAAO,EAAC,KAAK,EAAC,MAAM,iCAAiC,CAAC;AAItD,MAAM,WAAW,cAAe,SAAQ,YAAY,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC;CAAG;AAE1E,eAAO,MAAM,gBAAgB,iJAS3B,CAAC;AAEH,eAAO,MAAM,SAAS,oFASpB,CAAC"}
1
+ {"version":3,"file":"ToastBody.d.ts","sourceRoot":"","sources":["../../../../toast/lib/ToastBody.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAkB,MAAM,kCAAkC,CAAC;AAE/E,OAAO,EAAC,KAAK,EAAC,MAAM,iCAAiC,CAAC;AAGtD,MAAM,WAAW,cAAe,SAAQ,YAAY,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC;CAAG;AAE1E,eAAO,MAAM,gBAAgB,iJAQ3B,CAAC;AAEH,eAAO,MAAM,SAAS,oFASpB,CAAC"}
@@ -2,10 +2,9 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { createComponent } from '@workday/canvas-kit-react/common';
3
3
  import { Flex, mergeStyles } from '@workday/canvas-kit-react/layout';
4
4
  import { createStencil } from '@workday/canvas-kit-styling';
5
- import { system } from '@workday/canvas-tokens-web';
6
5
  export const toastBodyStencil = createStencil({
7
- base: { name: "ocyto", styles: "box-sizing:border-box;align-items:flex-start;flex-direction:column;justify-content:center;padding-block:var(--cnvs-sys-padding-md, var(--cnvs-sys-space-x4, 1rem));flex-grow:1;gap:var(--cnvs-sys-gap-xs, var(--cnvs-sys-space-x1, 0.25rem));" }
8
- }, "toast-body-ac2901");
6
+ base: { name: "3nmn23", styles: "box-sizing:border-box;align-items:flex-start;flex-direction:column;justify-content:center;flex-grow:1;gap:0;" }
7
+ }, "toast-body-36e90e");
9
8
  export const ToastBody = createComponent('div')({
10
9
  displayName: 'Toast.Body',
11
10
  Component: ({ children, ...elemProps }, ref, Element) => {
@@ -1 +1 @@
1
- {"version":3,"file":"ToastCloseIcon.d.ts","sourceRoot":"","sources":["../../../../toast/lib/ToastCloseIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAkB,MAAM,kCAAkC,CAAC;AAE/E,OAAO,EAAC,KAAK,EAAC,MAAM,iCAAiC,CAAC;AAGtD,MAAM,WAAW,mBAAoB,SAAQ,YAAY,CAAC,OAAO,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC;CAAG;AAE3F,eAAO,MAAM,qBAAqB,iJAIhC,CAAC;AAEH,eAAO,MAAM,cAAc,4FAYzB,CAAC"}
1
+ {"version":3,"file":"ToastCloseIcon.d.ts","sourceRoot":"","sources":["../../../../toast/lib/ToastCloseIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAkB,MAAM,kCAAkC,CAAC;AAE/E,OAAO,EAAC,KAAK,EAAC,MAAM,iCAAiC,CAAC;AAItD,MAAM,WAAW,mBAAoB,SAAQ,YAAY,CAAC,OAAO,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC;CAAG;AAE3F,eAAO,MAAM,qBAAqB,iJAMhC,CAAC;AAEH,eAAO,MAAM,cAAc,4FAYzB,CAAC"}
@@ -3,12 +3,13 @@ import { createComponent } from '@workday/canvas-kit-react/common';
3
3
  import { mergeStyles } from '@workday/canvas-kit-react/layout';
4
4
  import { Popup } from '@workday/canvas-kit-react/popup';
5
5
  import { createStencil } from '@workday/canvas-kit-styling';
6
+ import { base } from '@workday/canvas-tokens-web';
6
7
  export const toastCloseIconStencil = createStencil({
7
- base: { name: "22ooiv", styles: "box-sizing:border-box;position:relative;" }
8
- }, "toast-close-icon-f7cf19");
8
+ base: { name: "2ifk0o", styles: "box-sizing:border-box;position:absolute;inset-block-start:var(--cnvs-base-size-50, 0.25rem);inset-inline-end:var(--cnvs-base-size-50, 0.25rem);" }
9
+ }, "toast-close-icon-05fbc5");
9
10
  export const ToastCloseIcon = createComponent('button')({
10
11
  displayName: 'Toast.CloseIcon',
11
12
  Component: (elemProps, ref, Element) => {
12
- return (_jsx(Popup.CloseIcon, { as: Element, ref: ref, size: "small", ...mergeStyles(elemProps, toastCloseIconStencil()) }));
13
+ return (_jsx(Popup.CloseIcon, { as: Element, ref: ref, size: "extraSmall", ...mergeStyles(elemProps, toastCloseIconStencil()) }));
13
14
  },
14
15
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ToastIcon.d.ts","sourceRoot":"","sources":["../../../../toast/lib/ToastIcon.tsx"],"names":[],"mappings":"AACA,OAAO,EAAa,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAI3E,MAAM,WAAW,cAAe,SAAQ,IAAI,CAAC,eAAe,EAAE,YAAY,CAAC;CAAG;AAE9E,eAAO,MAAM,gBAAgB,iJAK3B,CAAC;AAEH,eAAO,MAAM,SAAS,oFAKpB,CAAC"}
1
+ {"version":3,"file":"ToastIcon.d.ts","sourceRoot":"","sources":["../../../../toast/lib/ToastIcon.tsx"],"names":[],"mappings":"AACA,OAAO,EAAa,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAI3E,MAAM,WAAW,cAAe,SAAQ,IAAI,CAAC,eAAe,EAAE,YAAY,CAAC;CAAG;AAE9E,eAAO,MAAM,gBAAgB,iJAI3B,CAAC;AAEH,eAAO,MAAM,SAAS,oFAYpB,CAAC"}
@@ -2,13 +2,13 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { createComponent } from '@workday/canvas-kit-react/common';
3
3
  import { SystemIcon } from '@workday/canvas-kit-react/icon';
4
4
  import { createStencil, handleCsProp } from '@workday/canvas-kit-styling';
5
- import { base, system } from '@workday/canvas-tokens-web';
5
+ import { component } from '@workday/canvas-tokens-web';
6
6
  export const toastIconStencil = createStencil({
7
- base: { name: "1cz629", styles: "box-sizing:border-box;align-self:start;margin:var(--cnvs-sys-gap-md, var(--cnvs-sys-space-x4, 1rem)) var(--cnvs-base-size-150, 0.75rem);" }
8
- }, "toast-icon-4762f0");
7
+ base: { name: "19wdy9", styles: "box-sizing:border-box;align-self:start;" }
8
+ }, "toast-icon-7830d1");
9
9
  export const ToastIcon = createComponent('div')({
10
10
  displayName: 'Toast.Icon',
11
11
  Component: (elemProps, ref, Element) => {
12
- return _jsx(SystemIcon, { ref: ref, as: Element, ...handleCsProp(elemProps, toastIconStencil()) });
12
+ return (_jsx(SystemIcon, { ref: ref, as: Element, size: component.legacy.systemIcon.size.md, ...handleCsProp(elemProps, toastIconStencil()) }));
13
13
  },
14
14
  });
@@ -20,10 +20,7 @@ export interface TooltipContainerProps extends React.HTMLAttributes<HTMLDivEleme
20
20
  export declare const tooltipContainerStencil: import("@workday/canvas-kit-styling").Stencil<{
21
21
  elementHasFocus: {
22
22
  true: {
23
- padding: string;
24
- '&:before': {
25
- margin: "var(--cnvs-base-size-75, 0.375rem)";
26
- };
23
+ margin: string;
27
24
  };
28
25
  };
29
26
  }, {}, {
@@ -1 +1 @@
1
- {"version":3,"file":"TooltipContainer.d.ts","sourceRoot":"","sources":["../../../../tooltip/lib/TooltipContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EACL,eAAe,EAGhB,MAAM,kCAAkC,CAAC;AAK1C,MAAM,WAAW,qBAAsB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACjF;;;OAGG;IACH,eAAe,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IACzC;;;OAGG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAuBD,eAAO,MAAM,uBAAuB;;;;;;;;;;;;gBAuElC,CAAC;AAEH,eAAO,MAAM,gBAAgB,2FA4B3B,CAAC"}
1
+ {"version":3,"file":"TooltipContainer.d.ts","sourceRoot":"","sources":["../../../../tooltip/lib/TooltipContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EACL,eAAe,EAGhB,MAAM,kCAAkC,CAAC;AAK1C,MAAM,WAAW,qBAAsB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACjF;;;OAGG;IACH,eAAe,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IACzC;;;OAGG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAuBD,eAAO,MAAM,uBAAuB;;;;;;;;;gBAkElC,CAAC;AAEH,eAAO,MAAM,gBAAgB,2FA4B3B,CAAC"}
@@ -17,10 +17,10 @@ export const tooltipContainerStencil = createStencil({
17
17
  tooltipTransformOriginHorizontal: '',
18
18
  tooltipTransformOriginVertical: '',
19
19
  },
20
- base: { name: "1b889m", styles: "box-sizing:border-box;font-family:var(--cnvs-sys-font-family-default);font-weight:var(--cnvs-sys-font-weight-normal);font-size:var(--cnvs-sys-font-size-subtext-md, var(--cnvs-sys-font-size-subtext-medium, 0.75rem));line-height:var(--cnvs-sys-line-height-subtext-md, var(--cnvs-sys-line-height-subtext-medium, 1rem));letter-spacing:var(--cnvs-sys-letter-spacing-subtext-md, var(--cnvs-sys-type-letter-spacing-subtext-medium));display:inline-flex;position:relative;padding:var(--cnvs-sys-padding-sm, var(--cnvs-sys-space-x3, 0.75rem));color:var(--cnvs-sys-color-fg-inverse);animation-name:animation-3s4los;animation-duration:150ms;animation-timing-function:ease-out;transform-origin:var(--tooltipTransformOriginVertical-tooltip-container-0d74d6) var(--tooltipTransformOriginHorizontal-tooltip-container-0d74d6);a{color:var(--cnvs-sys-color-fg-inverse);text-decoration:underline;}&:before{content:\"\";border-radius:var(--cnvs-sys-shape-md, var(--cnvs-sys-shape-x2, 0.5rem));outline:0.0625rem solid transparent;outline-offset:-0.0625rem;z-index:-1;margin:var(--cnvs-sys-gap-xs, var(--cnvs-sys-space-x1, 0.25rem));background-color:var(--cnvs-sys-color-surface-contrast-default, var(--cnvs-sys-color-bg-contrast-default, oklch(0.0969 0 0 / 0.84)));position:absolute;top:0;left:0;right:0;bottom:0;box-shadow:var(--cnvs-sys-depth-2);}[data-popper-reference-hidden] &{visibility:hidden;pointer-events:none;}[data-popper-placement=\"top-start\"] &, [data-popper-placement=\"bottom-start\"] &{left:calc(var(--cnvs-base-size-50, 0.25rem) * -1);}[data-popper-placement=\"top-end\"] &, [data-popper-placement=\"bottom-end\"] &{right:calc(var(--cnvs-base-size-50, 0.25rem) * -1);}[data-popper-placement=\"left-start\"] &, [data-popper-placement=\"right-start\"] &{top:calc(var(--cnvs-base-size-50, 0.25rem) * -1);}[data-popper-placement=\"left-end\"] &, [data-popper-placement=\"right-end\"] &{bottom:calc(var(--cnvs-base-size-50, 0.25rem) * -1);}" },
20
+ base: { name: "259blp", styles: "box-sizing:border-box;font-family:var(--cnvs-sys-font-family-default, \"Roboto\");font-weight:var(--cnvs-sys-font-weight-normal, 400);line-height:var(--cnvs-sys-line-height-subtext-lg, 1.25rem);font-size:var(--cnvs-sys-font-size-subtext-lg, 0.875rem);letter-spacing:var(--cnvs-sys-letter-spacing-subtext-lg, 0.015rem);display:inline-flex;position:relative;padding:0.375rem var(--cnvs-sys-padding-sm, var(--cnvs-sys-space-x3, 0.75rem));color:var(--cnvs-sys-color-fg-default);animation-name:animation-3s4los;animation-duration:150ms;animation-timing-function:ease-out;transform-origin:var(--tooltipTransformOriginVertical-tooltip-container-0d74d6) var(--tooltipTransformOriginHorizontal-tooltip-container-0d74d6);margin:var(--cnvs-sys-gap-xs, var(--cnvs-sys-space-x1, 0.25rem));a{color:var(--cnvs-sys-color-fg-default);text-decoration:underline;}&:before{content:\"\";border-radius:var(--cnvs-sys-shape-full, var(--cnvs-sys-shape-round, 65rem));border:0.0625rem solid var(--cnvs-sys-color-border-default);z-index:-1;margin:0;background-color:var(--cnvs-sys-color-surface-default, var(--cnvs-sys-color-bg-default, oklch(1 0 0 / 1)));position:absolute;top:0;left:0;right:0;bottom:0;box-shadow:var(--cnvs-sys-depth-2);}[data-popper-reference-hidden] &{visibility:hidden;pointer-events:none;}[data-popper-placement=\"top-start\"] &, [data-popper-placement=\"bottom-start\"] &{left:calc(var(--cnvs-base-size-50, 0.25rem) * -1);}[data-popper-placement=\"top-end\"] &, [data-popper-placement=\"bottom-end\"] &{right:calc(var(--cnvs-base-size-50, 0.25rem) * -1);}[data-popper-placement=\"left-start\"] &, [data-popper-placement=\"right-start\"] &{top:calc(var(--cnvs-base-size-50, 0.25rem) * -1);}[data-popper-placement=\"left-end\"] &, [data-popper-placement=\"right-end\"] &{bottom:calc(var(--cnvs-base-size-50, 0.25rem) * -1);}@media (forced-colors: active){outline:0.0625rem solid CanvasText;}" },
21
21
  modifiers: {
22
22
  elementHasFocus: {
23
- true: { name: "2hslnx", styles: "padding:calc(var(--cnvs-sys-padding-md, var(--cnvs-sys-space-x4, 1rem)) - calc(var(--cnvs-sys-padding-xxs, var(--cnvs-sys-space-x1, 0.25rem)) / 2));&:before{margin:var(--cnvs-base-size-75, 0.375rem);}" }
23
+ true: { name: "ak2vn", styles: "margin:0.375rem;" }
24
24
  }
25
25
  }
26
26
  }, "tooltip-container-0d74d6");
@@ -92,6 +92,12 @@ export const Modal = createContainer()({
92
92
  * full body overflow is desired.
93
93
  */
94
94
  OverflowOverlay: ModalOverflowOverlay,
95
+ /**
96
+ * A `Modal.ButtonGroup` component styled with {@link popupButtonGroupStencil}. It is used to
97
+ * group buttons within a modal and can place buttons at the start, center, or end of the
98
+ * container.
99
+ */
100
+ ButtonGroup: Popup.ButtonGroup,
95
101
  },
96
102
  })<ExtractProps<typeof Dialog, never>>(elemProps => {
97
103
  return <>{elemProps.children}</>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@workday/canvas-kit-react",
3
- "version": "16.0.0-alpha.0463-next.0",
3
+ "version": "16.0.0-alpha.0465-next.0",
4
4
  "description": "The parent module that contains all Workday Canvas Kit React components",
5
5
  "author": "Workday, Inc. (https://www.workday.com)",
6
6
  "license": "Apache-2.0",
@@ -53,8 +53,8 @@
53
53
  "@tanstack/react-virtual": "^3.13.9",
54
54
  "@workday/canvas-colors-web": "^2.0.0",
55
55
  "@workday/canvas-expressive-icons-web": "1.0.2",
56
- "@workday/canvas-kit-popup-stack": "^16.0.0-alpha.0463-next.0",
57
- "@workday/canvas-kit-styling": "^16.0.0-alpha.0463-next.0",
56
+ "@workday/canvas-kit-popup-stack": "^16.0.0-alpha.0465-next.0",
57
+ "@workday/canvas-kit-styling": "^16.0.0-alpha.0465-next.0",
58
58
  "@workday/canvas-system-icons-web": "4.0.4",
59
59
  "@workday/canvas-tokens-web": "4.4.0-beta.6",
60
60
  "@workday/design-assets-types": "^0.3.0",
@@ -69,5 +69,5 @@
69
69
  "@workday/canvas-accent-icons-web": "^3.0.0",
70
70
  "@workday/canvas-applet-icons-web": "^2.0.0"
71
71
  },
72
- "gitHead": "f21d7cc4d8f56e8a7ffffbb5881aa903f852c025"
72
+ "gitHead": "02dd284d77ccf92991d5526190f453d442ccebcc"
73
73
  }
@@ -3,6 +3,7 @@ import * as React from 'react';
3
3
  import {createContainer} from '@workday/canvas-kit-react/common';
4
4
 
5
5
  import {PopupBody} from './PopupBody';
6
+ import {PopupButtonGroup} from './PopupButtonGroup';
6
7
  import {PopupCard} from './PopupCard';
7
8
  import {PopupCloseButton} from './PopupCloseButton';
8
9
  import {PopupCloseIcon} from './PopupCloseIcon';
@@ -111,6 +112,12 @@ export const Popup = createContainer()({
111
112
  * {@link usePopupCloseButton}.
112
113
  */
113
114
  CloseButton: PopupCloseButton,
115
+ /**
116
+ * A `Popup.ButtonGroup` component styled with {@link popupButtonGroupStencil}. It is used to
117
+ * visually group buttons within a popup and can place buttons at the start, center, or end of the
118
+ * container.
119
+ */
120
+ ButtonGroup: PopupButtonGroup,
114
121
  },
115
122
  })<PopupProps>(({children}: PopupProps) => {
116
123
  return <>{children}</>;
@@ -0,0 +1,60 @@
1
+ import * as React from 'react';
2
+
3
+ import {GrowthBehavior, createSubcomponent} from '@workday/canvas-kit-react/common';
4
+ import {CSProps, createStencil, handleCsProp} from '@workday/canvas-kit-styling';
5
+ import {system} from '@workday/canvas-tokens-web';
6
+
7
+ import {usePopupModel} from './hooks';
8
+
9
+ export interface PopupButtonGroupProps extends GrowthBehavior, CSProps {
10
+ /**
11
+ * The contents of the PopupButtonGroup. Can be `Button` children or any valid elements.
12
+ */
13
+ children?: React.ReactNode;
14
+ /**
15
+ * The position of elements within the PopupButtonGroup. Can be `start`, `center`, or `end`.
16
+ * @default 'end'
17
+ */
18
+ position?: 'start' | 'center' | 'end';
19
+ }
20
+
21
+ export const popupButtonGroupStencil = createStencil({
22
+ base: {
23
+ display: 'flex',
24
+ gap: system.legacy.gap.sm,
25
+ '@media screen and (max-width: 768px)': {
26
+ flexDirection: 'column',
27
+ },
28
+ },
29
+ modifiers: {
30
+ position: {
31
+ start: {
32
+ justifyContent: 'flex-start',
33
+ },
34
+ center: {
35
+ justifyContent: 'center',
36
+ },
37
+ end: {
38
+ justifyContent: 'flex-end',
39
+ },
40
+ },
41
+ grow: {
42
+ true: {
43
+ '& button': {
44
+ width: '100%',
45
+ },
46
+ },
47
+ },
48
+ },
49
+ });
50
+
51
+ export const PopupButtonGroup = createSubcomponent('div')({
52
+ displayName: 'Popup.ButtonGroup',
53
+ modelHook: usePopupModel,
54
+ })(({children, position = 'end', grow, ...elemProps}: PopupButtonGroupProps, Element) => {
55
+ return (
56
+ <Element {...handleCsProp(elemProps, popupButtonGroupStencil({position, grow}))}>
57
+ {children}
58
+ </Element>
59
+ );
60
+ });
@@ -115,6 +115,7 @@ export const popupCardStencil = createStencil({
115
115
  },
116
116
  '@media screen and (max-width: 768px)': {
117
117
  transformOrigin: 'bottom center',
118
+ padding: system.legacy.padding.lg,
118
119
  },
119
120
  }),
120
121
  });
@@ -4,7 +4,7 @@ import {ExtractProps, createContainer} from '@workday/canvas-kit-react/common';
4
4
  import {mergeStyles} from '@workday/canvas-kit-react/layout';
5
5
  import {Popup} from '@workday/canvas-kit-react/popup';
6
6
  import {createStencil, px2rem} from '@workday/canvas-kit-styling';
7
- import {system} from '@workday/canvas-tokens-web';
7
+ import {base, system} from '@workday/canvas-tokens-web';
8
8
 
9
9
  import {ToastBody} from './ToastBody';
10
10
  import {ToastCloseIcon} from './ToastCloseIcon';
@@ -52,9 +52,17 @@ const toastStencil = createStencil({
52
52
  display: 'flex',
53
53
  flexDirection: 'row',
54
54
  width: px2rem(360),
55
- padding: 0,
56
- gap: system.legacy.gap.xs,
55
+ paddingBlock: system.legacy.padding.sm,
56
+ paddingInline: `${system.legacy.padding.md} ${system.legacy.padding.xl}`,
57
+ gap: base.legacy.size150,
57
58
  borderRadius: system.legacy.shape.xl,
59
+ border: `${px2rem(1)} solid ${system.color.border.default}`,
60
+ backgroundColor: system.legacy.color.surface.default,
61
+ boxShadow: system.depth[3],
62
+
63
+ '@media (forced-colors: active)': {
64
+ outline: `${px2rem(1)} solid CanvasText`,
65
+ },
58
66
  },
59
67
  });
60
68
 
@@ -2,7 +2,6 @@ import {ExtractProps, createComponent} from '@workday/canvas-kit-react/common';
2
2
  import {Flex, mergeStyles} from '@workday/canvas-kit-react/layout';
3
3
  import {Popup} from '@workday/canvas-kit-react/popup';
4
4
  import {createStencil} from '@workday/canvas-kit-styling';
5
- import {system} from '@workday/canvas-tokens-web';
6
5
 
7
6
  export interface ToastBodyProps extends ExtractProps<typeof Popup.Body> {}
8
7
 
@@ -11,9 +10,8 @@ export const toastBodyStencil = createStencil({
11
10
  alignItems: 'flex-start',
12
11
  flexDirection: 'column',
13
12
  justifyContent: 'center',
14
- paddingBlock: system.legacy.padding.md,
15
13
  flexGrow: 1,
16
- gap: system.legacy.gap.xs,
14
+ gap: 0,
17
15
  },
18
16
  });
19
17
 
@@ -2,12 +2,15 @@ import {ExtractProps, createComponent} from '@workday/canvas-kit-react/common';
2
2
  import {mergeStyles} from '@workday/canvas-kit-react/layout';
3
3
  import {Popup} from '@workday/canvas-kit-react/popup';
4
4
  import {createStencil} from '@workday/canvas-kit-styling';
5
+ import {base} from '@workday/canvas-tokens-web';
5
6
 
6
7
  export interface ToastCloseIconProps extends ExtractProps<typeof Popup.CloseIcon, never> {}
7
8
 
8
9
  export const toastCloseIconStencil = createStencil({
9
10
  base: {
10
- position: 'relative',
11
+ position: 'absolute',
12
+ insetBlockStart: base.legacy.size50,
13
+ insetInlineEnd: base.legacy.size50,
11
14
  },
12
15
  });
13
16
 
@@ -18,7 +21,7 @@ export const ToastCloseIcon = createComponent('button')({
18
21
  <Popup.CloseIcon
19
22
  as={Element}
20
23
  ref={ref}
21
- size="small"
24
+ size="extraSmall"
22
25
  {...mergeStyles(elemProps, toastCloseIconStencil())}
23
26
  />
24
27
  );
@@ -1,20 +1,26 @@
1
1
  import {createComponent} from '@workday/canvas-kit-react/common';
2
2
  import {SystemIcon, SystemIconProps} from '@workday/canvas-kit-react/icon';
3
3
  import {createStencil, handleCsProp} from '@workday/canvas-kit-styling';
4
- import {base, system} from '@workday/canvas-tokens-web';
4
+ import {component} from '@workday/canvas-tokens-web';
5
5
 
6
6
  export interface ToastIconProps extends Omit<SystemIconProps, 'colorHover'> {}
7
7
 
8
8
  export const toastIconStencil = createStencil({
9
9
  base: {
10
10
  alignSelf: 'start',
11
- margin: `${system.legacy.gap.md} ${base.legacy.size150}`,
12
11
  },
13
12
  });
14
13
 
15
14
  export const ToastIcon = createComponent('div')({
16
15
  displayName: 'Toast.Icon',
17
16
  Component: (elemProps: ToastIconProps, ref, Element) => {
18
- return <SystemIcon ref={ref} as={Element} {...handleCsProp(elemProps, toastIconStencil())} />;
17
+ return (
18
+ <SystemIcon
19
+ ref={ref}
20
+ as={Element}
21
+ size={component.legacy.systemIcon.size.md}
22
+ {...handleCsProp(elemProps, toastIconStencil())}
23
+ />
24
+ );
19
25
  },
20
26
  });