@workday/canvas-kit-react 13.1.4 → 13.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (190) hide show
  1. package/dist/commonjs/action-bar/lib/ActionBarList.js +1 -1
  2. package/dist/commonjs/action-bar/lib/ActionBarOverflowButton.js +1 -1
  3. package/dist/commonjs/avatar/lib/Avatar.js +20 -20
  4. package/dist/commonjs/badge/lib/CountBadge.js +3 -3
  5. package/dist/commonjs/banner/lib/Banner.js +5 -5
  6. package/dist/commonjs/banner/lib/BannerActionText.js +2 -2
  7. package/dist/commonjs/banner/lib/BannerIcon.js +1 -1
  8. package/dist/commonjs/banner/lib/BannerLabel.js +1 -1
  9. package/dist/commonjs/button/lib/BaseButton.js +21 -21
  10. package/dist/commonjs/button/lib/DeleteButton.js +1 -1
  11. package/dist/commonjs/button/lib/ExternalHyperlink.js +1 -1
  12. package/dist/commonjs/button/lib/Hyperlink.js +2 -2
  13. package/dist/commonjs/button/lib/PrimaryButton.js +2 -2
  14. package/dist/commonjs/button/lib/SecondaryButton.js +2 -2
  15. package/dist/commonjs/button/lib/TertiaryButton.js +18 -18
  16. package/dist/commonjs/card/lib/Card.js +1 -1
  17. package/dist/commonjs/card/lib/CardBody.js +1 -1
  18. package/dist/commonjs/card/lib/CardHeading.js +1 -1
  19. package/dist/commonjs/checkbox/lib/CheckBackground.js +3 -3
  20. package/dist/commonjs/checkbox/lib/CheckboxCheck.js +5 -5
  21. package/dist/commonjs/checkbox/lib/CheckboxContainer.js +1 -1
  22. package/dist/commonjs/checkbox/lib/CheckboxInput.js +5 -5
  23. package/dist/commonjs/checkbox/lib/CheckboxRipple.js +1 -1
  24. package/dist/commonjs/collection/lib/ListBox.js +3 -3
  25. package/dist/commonjs/combobox/lib/ComboboxMenuList.js +1 -1
  26. package/dist/commonjs/common/lib/AccessibleHide.js +1 -1
  27. package/dist/commonjs/common/lib/CanvasProvider.js +1 -1
  28. package/dist/commonjs/expandable/lib/Expandable.js +1 -1
  29. package/dist/commonjs/expandable/lib/ExpandableAvatar.js +1 -1
  30. package/dist/commonjs/expandable/lib/ExpandableContent.js +1 -1
  31. package/dist/commonjs/expandable/lib/ExpandableIcon.js +10 -10
  32. package/dist/commonjs/expandable/lib/ExpandableTarget.js +1 -1
  33. package/dist/commonjs/expandable/lib/ExpandableTitle.js +1 -1
  34. package/dist/commonjs/form-field/lib/FormFieldContainer.js +1 -1
  35. package/dist/commonjs/form-field/lib/FormFieldField.js +1 -1
  36. package/dist/commonjs/form-field/lib/FormFieldGroupLabel.js +5 -5
  37. package/dist/commonjs/form-field/lib/FormFieldGroupList.js +3 -3
  38. package/dist/commonjs/form-field/lib/FormFieldHint.js +3 -3
  39. package/dist/commonjs/form-field/lib/FormFieldLabel.js +6 -6
  40. package/dist/commonjs/form-field/lib/formFieldStencil.js +8 -8
  41. package/dist/commonjs/icon/lib/AccentIcon.js +2 -2
  42. package/dist/commonjs/icon/lib/AppletIcon.js +1 -1
  43. package/dist/commonjs/icon/lib/Graphic.js +4 -4
  44. package/dist/commonjs/icon/lib/Svg.js +2 -2
  45. package/dist/commonjs/icon/lib/SystemIcon.js +1 -1
  46. package/dist/commonjs/icon/lib/SystemIconCircle.js +1 -1
  47. package/dist/commonjs/loading-dots/lib/LoadingDots.js +2 -2
  48. package/dist/commonjs/menu/lib/MenuCard.js +1 -1
  49. package/dist/commonjs/menu/lib/MenuDivider.js +1 -1
  50. package/dist/commonjs/menu/lib/MenuGroup.js +1 -1
  51. package/dist/commonjs/menu/lib/MenuItem.js +1 -1
  52. package/dist/commonjs/menu/lib/MenuList.js +3 -3
  53. package/dist/commonjs/modal/lib/ModalBody.js +1 -1
  54. package/dist/commonjs/modal/lib/ModalCard.js +1 -1
  55. package/dist/commonjs/modal/lib/ModalHeading.js +1 -1
  56. package/dist/commonjs/modal/lib/ModalOverflowOverlay.js +1 -1
  57. package/dist/commonjs/modal/lib/ModalOverlay.js +2 -2
  58. package/dist/commonjs/popup/lib/PopupBody.js +1 -1
  59. package/dist/commonjs/popup/lib/PopupCard.js +2 -2
  60. package/dist/commonjs/popup/lib/PopupCloseIcon.js +1 -1
  61. package/dist/commonjs/popup/lib/PopupHeading.js +1 -1
  62. package/dist/commonjs/popup/lib/hooks/useDisableBodyScroll.js +1 -1
  63. package/dist/commonjs/select/lib/SelectCard.js +1 -1
  64. package/dist/commonjs/select/lib/SelectInput.js +1 -1
  65. package/dist/commonjs/skeleton/lib/Skeleton.js +2 -2
  66. package/dist/commonjs/skeleton/lib/parts/SkeletonHeader.js +1 -1
  67. package/dist/commonjs/skeleton/lib/parts/SkeletonShape.js +1 -1
  68. package/dist/commonjs/skeleton/lib/parts/SkeletonText.js +1 -1
  69. package/dist/commonjs/switch/lib/Switch.js +7 -7
  70. package/dist/commonjs/table/lib/BaseTable.js +1 -1
  71. package/dist/commonjs/table/lib/Table.js +7 -7
  72. package/dist/commonjs/table/lib/parts/BaseTableBody.js +1 -1
  73. package/dist/commonjs/table/lib/parts/BaseTableCaption.js +1 -1
  74. package/dist/commonjs/table/lib/parts/BaseTableCell.js +1 -1
  75. package/dist/commonjs/table/lib/parts/BaseTableHead.js +1 -1
  76. package/dist/commonjs/table/lib/parts/BaseTableHeader.js +1 -1
  77. package/dist/commonjs/table/lib/parts/css-grid-table/TableRow.js +1 -1
  78. package/dist/commonjs/tabs/lib/TabsItem.js +1 -1
  79. package/dist/commonjs/tabs/lib/TabsList.d.ts +330 -10
  80. package/dist/commonjs/tabs/lib/TabsList.d.ts.map +1 -1
  81. package/dist/commonjs/tabs/lib/TabsList.js +66 -71
  82. package/dist/commonjs/tabs/lib/TabsOverflowButton.js +1 -1
  83. package/dist/commonjs/text/lib/LabelText.js +6 -6
  84. package/dist/commonjs/text/lib/Text.js +16 -16
  85. package/dist/commonjs/text/lib/TypeLevelComponents.js +4 -4
  86. package/dist/commonjs/text-area/lib/TextArea.js +5 -5
  87. package/dist/commonjs/text-input/lib/InputGroup.js +6 -6
  88. package/dist/commonjs/text-input/lib/TextInput.js +5 -5
  89. package/dist/commonjs/toast/lib/Toast.js +1 -1
  90. package/dist/commonjs/toast/lib/ToastBody.js +1 -1
  91. package/dist/commonjs/toast/lib/ToastCloseIcon.js +1 -1
  92. package/dist/commonjs/toast/lib/ToastIcon.js +1 -1
  93. package/dist/commonjs/toast/lib/ToastMessage.js +1 -1
  94. package/dist/commonjs/tooltip/lib/TooltipContainer.js +2 -2
  95. package/dist/es6/action-bar/lib/ActionBarList.js +1 -1
  96. package/dist/es6/action-bar/lib/ActionBarOverflowButton.js +1 -1
  97. package/dist/es6/avatar/lib/Avatar.js +20 -20
  98. package/dist/es6/badge/lib/CountBadge.js +3 -3
  99. package/dist/es6/banner/lib/Banner.js +5 -5
  100. package/dist/es6/banner/lib/BannerActionText.js +2 -2
  101. package/dist/es6/banner/lib/BannerIcon.js +1 -1
  102. package/dist/es6/banner/lib/BannerLabel.js +1 -1
  103. package/dist/es6/button/lib/BaseButton.js +21 -21
  104. package/dist/es6/button/lib/DeleteButton.js +1 -1
  105. package/dist/es6/button/lib/ExternalHyperlink.js +1 -1
  106. package/dist/es6/button/lib/Hyperlink.js +2 -2
  107. package/dist/es6/button/lib/PrimaryButton.js +2 -2
  108. package/dist/es6/button/lib/SecondaryButton.js +2 -2
  109. package/dist/es6/button/lib/TertiaryButton.js +18 -18
  110. package/dist/es6/card/lib/Card.js +1 -1
  111. package/dist/es6/card/lib/CardBody.js +1 -1
  112. package/dist/es6/card/lib/CardHeading.js +1 -1
  113. package/dist/es6/checkbox/lib/CheckBackground.js +3 -3
  114. package/dist/es6/checkbox/lib/CheckboxCheck.js +5 -5
  115. package/dist/es6/checkbox/lib/CheckboxContainer.js +1 -1
  116. package/dist/es6/checkbox/lib/CheckboxInput.js +5 -5
  117. package/dist/es6/checkbox/lib/CheckboxRipple.js +1 -1
  118. package/dist/es6/collection/lib/ListBox.js +3 -3
  119. package/dist/es6/combobox/lib/ComboboxMenuList.js +1 -1
  120. package/dist/es6/common/lib/AccessibleHide.js +1 -1
  121. package/dist/es6/common/lib/CanvasProvider.js +1 -1
  122. package/dist/es6/expandable/lib/Expandable.js +1 -1
  123. package/dist/es6/expandable/lib/ExpandableAvatar.js +1 -1
  124. package/dist/es6/expandable/lib/ExpandableContent.js +1 -1
  125. package/dist/es6/expandable/lib/ExpandableIcon.js +10 -10
  126. package/dist/es6/expandable/lib/ExpandableTarget.js +1 -1
  127. package/dist/es6/expandable/lib/ExpandableTitle.js +1 -1
  128. package/dist/es6/form-field/lib/FormFieldContainer.js +1 -1
  129. package/dist/es6/form-field/lib/FormFieldField.js +1 -1
  130. package/dist/es6/form-field/lib/FormFieldGroupLabel.js +5 -5
  131. package/dist/es6/form-field/lib/FormFieldGroupList.js +3 -3
  132. package/dist/es6/form-field/lib/FormFieldHint.js +3 -3
  133. package/dist/es6/form-field/lib/FormFieldLabel.js +6 -6
  134. package/dist/es6/form-field/lib/formFieldStencil.js +8 -8
  135. package/dist/es6/icon/lib/AccentIcon.js +2 -2
  136. package/dist/es6/icon/lib/AppletIcon.js +1 -1
  137. package/dist/es6/icon/lib/Graphic.js +4 -4
  138. package/dist/es6/icon/lib/Svg.js +2 -2
  139. package/dist/es6/icon/lib/SystemIcon.js +1 -1
  140. package/dist/es6/icon/lib/SystemIconCircle.js +1 -1
  141. package/dist/es6/loading-dots/lib/LoadingDots.js +2 -2
  142. package/dist/es6/menu/lib/MenuCard.js +1 -1
  143. package/dist/es6/menu/lib/MenuDivider.js +1 -1
  144. package/dist/es6/menu/lib/MenuGroup.js +1 -1
  145. package/dist/es6/menu/lib/MenuItem.js +1 -1
  146. package/dist/es6/menu/lib/MenuList.js +3 -3
  147. package/dist/es6/modal/lib/ModalBody.js +1 -1
  148. package/dist/es6/modal/lib/ModalCard.js +1 -1
  149. package/dist/es6/modal/lib/ModalHeading.js +1 -1
  150. package/dist/es6/modal/lib/ModalOverflowOverlay.js +1 -1
  151. package/dist/es6/modal/lib/ModalOverlay.js +2 -2
  152. package/dist/es6/popup/lib/PopupBody.js +1 -1
  153. package/dist/es6/popup/lib/PopupCard.js +2 -2
  154. package/dist/es6/popup/lib/PopupCloseIcon.js +1 -1
  155. package/dist/es6/popup/lib/PopupHeading.js +1 -1
  156. package/dist/es6/popup/lib/hooks/useDisableBodyScroll.js +1 -1
  157. package/dist/es6/select/lib/SelectCard.js +1 -1
  158. package/dist/es6/select/lib/SelectInput.js +1 -1
  159. package/dist/es6/skeleton/lib/Skeleton.js +2 -2
  160. package/dist/es6/skeleton/lib/parts/SkeletonHeader.js +1 -1
  161. package/dist/es6/skeleton/lib/parts/SkeletonShape.js +1 -1
  162. package/dist/es6/skeleton/lib/parts/SkeletonText.js +1 -1
  163. package/dist/es6/switch/lib/Switch.js +7 -7
  164. package/dist/es6/table/lib/BaseTable.js +1 -1
  165. package/dist/es6/table/lib/Table.js +7 -7
  166. package/dist/es6/table/lib/parts/BaseTableBody.js +1 -1
  167. package/dist/es6/table/lib/parts/BaseTableCaption.js +1 -1
  168. package/dist/es6/table/lib/parts/BaseTableCell.js +1 -1
  169. package/dist/es6/table/lib/parts/BaseTableHead.js +1 -1
  170. package/dist/es6/table/lib/parts/BaseTableHeader.js +1 -1
  171. package/dist/es6/table/lib/parts/css-grid-table/TableRow.js +1 -1
  172. package/dist/es6/tabs/lib/TabsItem.js +1 -1
  173. package/dist/es6/tabs/lib/TabsList.d.ts +330 -10
  174. package/dist/es6/tabs/lib/TabsList.d.ts.map +1 -1
  175. package/dist/es6/tabs/lib/TabsList.js +66 -70
  176. package/dist/es6/tabs/lib/TabsOverflowButton.js +1 -1
  177. package/dist/es6/text/lib/LabelText.js +6 -6
  178. package/dist/es6/text/lib/Text.js +16 -16
  179. package/dist/es6/text/lib/TypeLevelComponents.js +4 -4
  180. package/dist/es6/text-area/lib/TextArea.js +5 -5
  181. package/dist/es6/text-input/lib/InputGroup.js +6 -6
  182. package/dist/es6/text-input/lib/TextInput.js +5 -5
  183. package/dist/es6/toast/lib/Toast.js +1 -1
  184. package/dist/es6/toast/lib/ToastBody.js +1 -1
  185. package/dist/es6/toast/lib/ToastCloseIcon.js +1 -1
  186. package/dist/es6/toast/lib/ToastIcon.js +1 -1
  187. package/dist/es6/toast/lib/ToastMessage.js +1 -1
  188. package/dist/es6/tooltip/lib/TooltipContainer.js +2 -2
  189. package/package.json +4 -4
  190. package/tabs/lib/TabsList.tsx +88 -66
@@ -5,7 +5,7 @@ import { mergeStyles } from '@workday/canvas-kit-react/layout';
5
5
  import { createStencil } from '@workday/canvas-kit-styling';
6
6
  const subtextStencil = createStencil({
7
7
  extends: textStencil,
8
- base: { name: "zaokl", styles: "box-sizing:border-box;" }
8
+ base: { name: "m2dwl", styles: "box-sizing:border-box;" }
9
9
  }, "subtext-5df9ce");
10
10
  /**
11
11
  * This component is intended to be used for small subtext content or in tight spaces.
@@ -40,7 +40,7 @@ export const Subtext = createComponent('p')({
40
40
  });
41
41
  const bodyTextStencil = createStencil({
42
42
  extends: textStencil,
43
- base: { name: "zaokm", styles: "box-sizing:border-box;" }
43
+ base: { name: "m2dwm", styles: "box-sizing:border-box;" }
44
44
  }, "body-text-35cc56");
45
45
  /**
46
46
  * This component is intended to be used for standard body text.
@@ -75,7 +75,7 @@ export const BodyText = createComponent('p')({
75
75
  });
76
76
  const headingStencil = createStencil({
77
77
  extends: textStencil,
78
- base: { name: "zaokn", styles: "box-sizing:border-box;" }
78
+ base: { name: "m2dwn", styles: "box-sizing:border-box;" }
79
79
  }, "heading-8ff6f4");
80
80
  /**
81
81
  * This component is intended to be used for headings and large text.
@@ -110,7 +110,7 @@ export const Heading = createComponent('h2')({
110
110
  });
111
111
  const titleStencil = createStencil({
112
112
  extends: textStencil,
113
- base: { name: "zaoko", styles: "box-sizing:border-box;" }
113
+ base: { name: "m2dwo", styles: "box-sizing:border-box;" }
114
114
  }, "title-d6646c");
115
115
  /**
116
116
  * This component is intended to be used large page titles.
@@ -11,13 +11,13 @@ export const TextAreaResizeDirection = {
11
11
  };
12
12
  export const textAreaStencil = createStencil({
13
13
  extends: textInputStencil,
14
- base: { name: "zaok7a", styles: "box-sizing:border-box;min-height:var(--cnvs-sys-space-x16);min-width:calc(calc(var(--cnvs-sys-space-x20) * 3) + var(--cnvs-sys-space-x10));&::webkit-resizer{display:none;}" },
14
+ base: { name: "m2dw76", styles: "box-sizing:border-box;min-height:var(--cnvs-sys-space-x16);min-width:calc(calc(var(--cnvs-sys-space-x20) * 3) + var(--cnvs-sys-space-x10));&::webkit-resizer{display:none;}" },
15
15
  modifiers: {
16
16
  resize: {
17
- both: { name: "zaok7b", styles: "resize:both;" },
18
- horizontal: { name: "zaok7c", styles: "resize:horizontal;" },
19
- vertical: { name: "zaok7d", styles: "resize:vertical;" },
20
- none: { name: "zaok7e", styles: "resize:none;" }
17
+ both: { name: "m2dw77", styles: "resize:both;" },
18
+ horizontal: { name: "m2dw78", styles: "resize:horizontal;" },
19
+ vertical: { name: "m2dw79", styles: "resize:vertical;" },
20
+ none: { name: "m2dw7a", styles: "resize:none;" }
21
21
  }
22
22
  },
23
23
  defaultModifiers: {
@@ -35,10 +35,10 @@ export const inputGroupInnerStencil = createStencil({
35
35
  */
36
36
  pointerEvents: '',
37
37
  },
38
- base: { name: "zaok4j", styles: "--insetInlineStart-input-group-inner-42c96b:initial;--insetInlineEnd-input-group-inner-42c96b:initial;--width-input-group-inner-42c96b:var(--cnvs-sys-space-x10);--height-input-group-inner-42c96b:var(--cnvs-sys-space-x10);box-sizing:border-box;display:flex;position:absolute;align-items:center;justify-content:center;width:var(--width-input-group-inner-42c96b);height:var(--height-input-group-inner-42c96b);inset-inline-start:var(--insetInlineStart-input-group-inner-42c96b);inset-inline-end:var(--insetInlineEnd-input-group-inner-42c96b);" },
38
+ base: { name: "m2dw4j", styles: "--insetInlineStart-input-group-inner-42c96b:initial;--insetInlineEnd-input-group-inner-42c96b:initial;--width-input-group-inner-42c96b:var(--cnvs-sys-space-x10);--height-input-group-inner-42c96b:var(--cnvs-sys-space-x10);box-sizing:border-box;display:flex;position:absolute;align-items:center;justify-content:center;width:var(--width-input-group-inner-42c96b);height:var(--height-input-group-inner-42c96b);inset-inline-start:var(--insetInlineStart-input-group-inner-42c96b);inset-inline-end:var(--insetInlineEnd-input-group-inner-42c96b);" },
39
39
  modifiers: {
40
40
  pointerEvents: {
41
- _: { name: "zaok4k", styles: "pointer-events:var(--pointerEvents-input-group-inner-42c96b);" }
41
+ _: { name: "m2dw4k", styles: "pointer-events:var(--pointerEvents-input-group-inner-42c96b);" }
42
42
  }
43
43
  }
44
44
  }, "input-group-inner-42c96b");
@@ -76,13 +76,13 @@ export const inputGroupInputStencil = createStencil({
76
76
  paddingInlineStart: '',
77
77
  paddingInlineEnd: '',
78
78
  },
79
- base: { name: "zaok4l", styles: "box-sizing:border-box;display:flex;width:100%;" },
79
+ base: { name: "m2dw4l", styles: "box-sizing:border-box;display:flex;width:100%;" },
80
80
  modifiers: {
81
81
  paddingInlineStart: {
82
- _: { name: "zaok4m", styles: "padding-inline-start:var(--paddingInlineStart-input-group-input-9155da);" }
82
+ _: { name: "m2dw4m", styles: "padding-inline-start:var(--paddingInlineStart-input-group-input-9155da);" }
83
83
  },
84
84
  paddingInlineEnd: {
85
- _: { name: "zaok4n", styles: "padding-inline-end:var(--paddingInlineEnd-input-group-input-9155da);" }
85
+ _: { name: "m2dw4n", styles: "padding-inline-end:var(--paddingInlineEnd-input-group-input-9155da);" }
86
86
  }
87
87
  }
88
88
  }, "input-group-input-9155da");
@@ -140,7 +140,7 @@ const wrapInCalc = (values) => {
140
140
  return `calc(${values.map(toPx).join(' + ')})`;
141
141
  };
142
142
  export const inputGroupStencil = createStencil({
143
- base: { name: "zaok4o", styles: "box-sizing:border-box;display:flex;position:relative;align-items:center;& :has([data-part=\"input-group-clear-button\"]){transition:opacity 300ms ease;}&:where(:has(input:placeholder-shown)) :has([data-part=\"input-group-clear-button\"]){opacity:0;pointer-events:none;}" }
143
+ base: { name: "m2dw4o", styles: "box-sizing:border-box;display:flex;position:relative;align-items:center;& :has([data-part=\"input-group-clear-button\"]){transition:opacity 300ms ease;}&:where(:has(input:placeholder-shown)) :has([data-part=\"input-group-clear-button\"]){opacity:0;pointer-events:none;}" }
144
144
  }, "input-group-27e30b");
145
145
  /**
146
146
  * An `InputGroup` is a container around a {@link TextInput} with optional inner start and end
@@ -7,15 +7,15 @@ export const textInputStencil = createStencil({
7
7
  vars: {
8
8
  width: '',
9
9
  },
10
- base: { name: "zaok4e", styles: "box-sizing:border-box;font-family:var(--cnvs-sys-font-family-default);font-weight:var(--cnvs-sys-font-weight-normal);line-height:var(--cnvs-sys-line-height-subtext-large);font-size:var(--cnvs-sys-font-size-subtext-large);letter-spacing:var(--cnvs-base-letter-spacing-150);display:block;border:0.0625rem solid var(--cnvs-sys-color-border-input-default);background-color:var(--cnvs-sys-color-bg-default);border-radius:var(--cnvs-sys-shape-x1);height:var(--cnvs-sys-space-x10);transition:0.2s box-shadow, 0.2s border-color;padding:var(--cnvs-sys-space-x2);margin:0rem;width:var(--width-text-input-696c53);min-width:var(--width-text-input-696c53, calc(calc(var(--cnvs-sys-space-x20) * 3) + var(--cnvs-sys-space-x10)));color:var(--cnvs-sys-color-text-default);text-overflow:ellipsis;::-ms-clear{display:none;}&::placeholder{color:var(--cnvs-sys-color-text-hint);}&:is(:hover, .hover){border-color:var(--cnvs-sys-color-border-input-strong);}&:is(:focus-visible, .focus):where(:not([disabled])){border-color:var(--cnvs-brand-common-focus-outline);box-shadow:inset 0 0 0 1px var(--cnvs-brand-common-focus-outline);outline:0.125rem solid transparent;}&:is(:disabled, .disabled){background-color:var(--cnvs-sys-color-bg-alt-softer);border-color:var(--cnvs-sys-color-border-input-disabled);color:var(--cnvs-sys-color-text-disabled);&::placeholder{color:var(--cnvs-sys-color-text-disabled);}}" },
10
+ base: { name: "m2dw4e", styles: "box-sizing:border-box;font-family:var(--cnvs-sys-font-family-default);font-weight:var(--cnvs-sys-font-weight-normal);line-height:var(--cnvs-sys-line-height-subtext-large);font-size:var(--cnvs-sys-font-size-subtext-large);letter-spacing:var(--cnvs-base-letter-spacing-150);display:block;border:0.0625rem solid var(--cnvs-sys-color-border-input-default);background-color:var(--cnvs-sys-color-bg-default);border-radius:var(--cnvs-sys-shape-x1);height:var(--cnvs-sys-space-x10);transition:0.2s box-shadow, 0.2s border-color;padding:var(--cnvs-sys-space-x2);margin:0rem;width:var(--width-text-input-696c53);min-width:var(--width-text-input-696c53, calc(calc(var(--cnvs-sys-space-x20) * 3) + var(--cnvs-sys-space-x10)));color:var(--cnvs-sys-color-text-default);text-overflow:ellipsis;::-ms-clear{display:none;}&::placeholder{color:var(--cnvs-sys-color-text-hint);}&:is(:hover, .hover){border-color:var(--cnvs-sys-color-border-input-strong);}&:is(:focus-visible, .focus):where(:not([disabled])){border-color:var(--cnvs-brand-common-focus-outline);box-shadow:inset 0 0 0 1px var(--cnvs-brand-common-focus-outline);outline:0.125rem solid transparent;}&:is(:disabled, .disabled){background-color:var(--cnvs-sys-color-bg-alt-softer);border-color:var(--cnvs-sys-color-border-input-disabled);color:var(--cnvs-sys-color-text-disabled);&::placeholder{color:var(--cnvs-sys-color-text-disabled);}}" },
11
11
  modifiers: {
12
12
  grow: {
13
- true: { name: "zaok4f", styles: "width:100%;resize:vertical;" },
14
- false: { name: "zaok4g", styles: "width:initial;" }
13
+ true: { name: "m2dw4f", styles: "width:100%;resize:vertical;" },
14
+ false: { name: "m2dw4g", styles: "width:initial;" }
15
15
  },
16
16
  error: {
17
- error: { name: "zaok4h", styles: "border-color:var(--cnvs-brand-error-base);box-shadow:inset 0 0 0 0.0625rem var(--cnvs-brand-error-base);&:is(:hover, .hover, :disabled, .disabled, :focus-visible:not([disabled]), .focus:not([disabled])){border-color:var(--cnvs-brand-error-base);}&:is(:focus-visible, .focus):not([disabled]){box-shadow:inset 0 0 0 0.0625rem var(--cnvs-brand-error-base), 0 0 0 2px var(--cnvs-sys-color-border-inverse), 0 0 0 4px var(--cnvs-brand-common-focus-outline);outline-offset:0.125rem;}" },
18
- alert: { name: "zaok4i", styles: "border-color:var(--cnvs-brand-alert-darkest);box-shadow:inset 0 0 0 0.125rem var(--cnvs-brand-alert-base);&:is(:hover, .hover, :disabled, .disabled, :focus-visible:not([disabled]), .focus:not([disabled])){border-color:var(--cnvs-brand-alert-darkest);}&:is(:focus-visible, .focus):not([disabled]){box-shadow:inset 0 0 0 0.125rem var(--cnvs-brand-alert-base),\n 0 0 0 2px var(--cnvs-sys-color-border-inverse),\n 0 0 0 4px var(--cnvs-brand-common-focus-outline);}outline-offset:0.125rem;" }
17
+ error: { name: "m2dw4h", styles: "border-color:var(--cnvs-brand-error-base);box-shadow:inset 0 0 0 0.0625rem var(--cnvs-brand-error-base);&:is(:hover, .hover, :disabled, .disabled, :focus-visible:not([disabled]), .focus:not([disabled])){border-color:var(--cnvs-brand-error-base);}&:is(:focus-visible, .focus):not([disabled]){box-shadow:inset 0 0 0 0.0625rem var(--cnvs-brand-error-base), 0 0 0 2px var(--cnvs-sys-color-border-inverse), 0 0 0 4px var(--cnvs-brand-common-focus-outline);outline-offset:0.125rem;}" },
18
+ alert: { name: "m2dw4i", styles: "border-color:var(--cnvs-brand-alert-darkest);box-shadow:inset 0 0 0 0.125rem var(--cnvs-brand-alert-base);&:is(:hover, .hover, :disabled, .disabled, :focus-visible:not([disabled]), .focus:not([disabled])){border-color:var(--cnvs-brand-alert-darkest);}&:is(:focus-visible, .focus):not([disabled]){box-shadow:inset 0 0 0 0.125rem var(--cnvs-brand-alert-base),\n 0 0 0 2px var(--cnvs-sys-color-border-inverse),\n 0 0 0 4px var(--cnvs-brand-common-focus-outline);}outline-offset:0.125rem;" }
19
19
  }
20
20
  },
21
21
  defaultModifiers: {
@@ -42,7 +42,7 @@ const getAriaAttributes = (mode, id) => {
42
42
  }
43
43
  };
44
44
  const toastStencil = createStencil({
45
- base: { name: "zaok7j", styles: "box-sizing:border-box;display:flex;flex-direction:row;width:calc(calc(var(--cnvs-sys-space-x20) * 4) + var(--cnvs-sys-space-x10));padding:var(--cnvs-sys-space-zero);gap:var(--cnvs-sys-space-x1);" }
45
+ base: { name: "m2dw7f", styles: "box-sizing:border-box;display:flex;flex-direction:row;width:calc(calc(var(--cnvs-sys-space-x20) * 4) + var(--cnvs-sys-space-x10));padding:var(--cnvs-sys-space-zero);gap:var(--cnvs-sys-space-x1);" }
46
46
  }, "toast-55513d");
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
@@ -4,7 +4,7 @@ import { Flex, mergeStyles } from '@workday/canvas-kit-react/layout';
4
4
  import { createStencil } from '@workday/canvas-kit-styling';
5
5
  import { system } from '@workday/canvas-tokens-web';
6
6
  export const toastBodyStencil = createStencil({
7
- base: { name: "zaok7i", styles: "box-sizing:border-box;align-items:flex-start;flex-direction:column;justify-content:center;padding-top:var(--cnvs-sys-space-x4);padding-bottom:var(--cnvs-sys-space-x4);flex-grow:1;gap:var(--cnvs-sys-space-x1);" }
7
+ base: { name: "m2dw7e", styles: "box-sizing:border-box;align-items:flex-start;flex-direction:column;justify-content:center;padding-top:var(--cnvs-sys-space-x4);padding-bottom:var(--cnvs-sys-space-x4);flex-grow:1;gap:var(--cnvs-sys-space-x1);" }
8
8
  }, "toast-body-ac2901");
9
9
  export const ToastBody = createComponent('div')({
10
10
  displayName: 'Toast.Body',
@@ -4,7 +4,7 @@ import { Popup } from '@workday/canvas-kit-react/popup';
4
4
  import { createStencil } from '@workday/canvas-kit-styling';
5
5
  import { mergeStyles } from '@workday/canvas-kit-react/layout';
6
6
  export const toastCloseIconStencil = createStencil({
7
- base: { name: "zaok7f", styles: "box-sizing:border-box;position:relative;" }
7
+ base: { name: "m2dw7b", styles: "box-sizing:border-box;position:relative;" }
8
8
  }, "toast-close-icon-f7cf19");
9
9
  export const ToastCloseIcon = createComponent('button')({
10
10
  displayName: 'Toast.CloseIcon',
@@ -4,7 +4,7 @@ import { SystemIcon } from '@workday/canvas-kit-react/icon';
4
4
  import { createStencil, handleCsProp } from '@workday/canvas-kit-styling';
5
5
  import { system } from '@workday/canvas-tokens-web';
6
6
  export const toastIconStencil = createStencil({
7
- base: { name: "zaok7g", styles: "box-sizing:border-box;align-self:start;margin:var(--cnvs-sys-space-x4) var(--cnvs-sys-space-x3);" }
7
+ base: { name: "m2dw7c", styles: "box-sizing:border-box;align-self:start;margin:var(--cnvs-sys-space-x4) var(--cnvs-sys-space-x3);" }
8
8
  }, "toast-icon-22b05a");
9
9
  export const ToastIcon = createComponent('div')({
10
10
  displayName: 'Toast.Icon',
@@ -6,7 +6,7 @@ import { createStencil } from '@workday/canvas-kit-styling';
6
6
  import { mergeStyles } from '@workday/canvas-kit-react/layout';
7
7
  import { system } from '@workday/canvas-tokens-web';
8
8
  export const toastMessageStencil = createStencil({
9
- base: { name: "zaok7h", styles: "box-sizing:border-box;word-break:break-word;margin-block-start:var(--cnvs-sys-space-zero);margin-block-end:var(--cnvs-sys-space-zero);" }
9
+ base: { name: "m2dw7d", styles: "box-sizing:border-box;word-break:break-word;margin-block-start:var(--cnvs-sys-space-zero);margin-block-end:var(--cnvs-sys-space-zero);" }
10
10
  }, "toast-message-19d226");
11
11
  export const ToastMessage = createSubcomponent('p')({
12
12
  modelHook: useToastModel,
@@ -11,13 +11,13 @@ const tooltipTranslateVars = createVars({ id: "9bc811", args: ["positionX", "pos
11
11
  /**
12
12
  * Keyframe for the Tooltip animation.
13
13
  */
14
- const tooltipAnimation = keyframes({ name: "zaok2s", styles: "0%{opacity:0;transform:translate(var(--positionX-9bc811), var(--positionY-9bc811));}100%{opacity:1;transform:translate(0);}" });
14
+ const tooltipAnimation = keyframes({ name: "m2dw2s", styles: "0%{opacity:0;transform:translate(var(--positionX-9bc811), var(--positionY-9bc811));}100%{opacity:1;transform:translate(0);}" });
15
15
  export const tooltipContainerStencil = createStencil({
16
16
  vars: {
17
17
  tooltipTransformOriginHorizontal: '',
18
18
  tooltipTransformOriginVertical: '',
19
19
  },
20
- base: { name: "zaok2t", styles: "box-sizing:border-box;font-family:var(--cnvs-sys-font-family-default);font-weight:var(--cnvs-sys-font-weight-normal);line-height:var(--cnvs-sys-line-height-subtext-medium);font-size:var(--cnvs-sys-font-size-subtext-medium);letter-spacing:var(--cnvs-base-letter-spacing-100);display:inline-flex;position:relative;padding:var(--cnvs-sys-space-x3);color:var(--cnvs-sys-color-text-inverse);animation-name:animation-zaok2s;animation-duration:150ms;animation-timing-function:ease-out;transform-origin:var(--tooltipTransformOriginVertical-tooltip-container-6c30a8) var(--tooltipTransformOriginHorizontal-tooltip-container-6c30a8);a{color:var(--cnvs-sys-color-text-inverse);text-decoration:underline;}&:before{content:\"\";border-radius:var(--cnvs-sys-shape-x1);outline:0.0625rem solid transparent;outline-offset:-0.0625rem;z-index:-1;margin:var(--cnvs-sys-space-x1);background-color:var(--cnvs-sys-color-bg-translucent);position:absolute;top:0;left:0;right:0;bottom:0;}body:has(:focus-visible, .focus) &{padding:calc(var(--cnvs-sys-space-x4) - calc(var(--cnvs-sys-space-x1) / 2));&:before{margin:calc(var(--cnvs-sys-space-x1) + calc(var(--cnvs-sys-space-x1) / 2));}}[data-popper-reference-hidden] &{visibility:hidden;pointer-events:none;}[data-popper-placement=\"top-start\"] &, [data-popper-placement=\"bottom-start\"] &{left:calc(var(--cnvs-sys-space-x1) * -1);}[data-popper-placement=\"top-end\"] &, [data-popper-placement=\"bottom-end\"] &{right:calc(var(--cnvs-sys-space-x1) * -1);}[data-popper-placement=\"left-start\"] &, [data-popper-placement=\"right-start\"] &{top:calc(var(--cnvs-sys-space-x1) * -1);}[data-popper-placement=\"left-end\"] &, [data-popper-placement=\"right-end\"] &{bottom:calc(var(--cnvs-sys-space-x1) * -1);}" }
20
+ base: { name: "m2dw2t", styles: "box-sizing:border-box;font-family:var(--cnvs-sys-font-family-default);font-weight:var(--cnvs-sys-font-weight-normal);line-height:var(--cnvs-sys-line-height-subtext-medium);font-size:var(--cnvs-sys-font-size-subtext-medium);letter-spacing:var(--cnvs-base-letter-spacing-100);display:inline-flex;position:relative;padding:var(--cnvs-sys-space-x3);color:var(--cnvs-sys-color-text-inverse);animation-name:animation-m2dw2s;animation-duration:150ms;animation-timing-function:ease-out;transform-origin:var(--tooltipTransformOriginVertical-tooltip-container-6c30a8) var(--tooltipTransformOriginHorizontal-tooltip-container-6c30a8);a{color:var(--cnvs-sys-color-text-inverse);text-decoration:underline;}&:before{content:\"\";border-radius:var(--cnvs-sys-shape-x1);outline:0.0625rem solid transparent;outline-offset:-0.0625rem;z-index:-1;margin:var(--cnvs-sys-space-x1);background-color:var(--cnvs-sys-color-bg-translucent);position:absolute;top:0;left:0;right:0;bottom:0;}body:has(:focus-visible, .focus) &{padding:calc(var(--cnvs-sys-space-x4) - calc(var(--cnvs-sys-space-x1) / 2));&:before{margin:calc(var(--cnvs-sys-space-x1) + calc(var(--cnvs-sys-space-x1) / 2));}}[data-popper-reference-hidden] &{visibility:hidden;pointer-events:none;}[data-popper-placement=\"top-start\"] &, [data-popper-placement=\"bottom-start\"] &{left:calc(var(--cnvs-sys-space-x1) * -1);}[data-popper-placement=\"top-end\"] &, [data-popper-placement=\"bottom-end\"] &{right:calc(var(--cnvs-sys-space-x1) * -1);}[data-popper-placement=\"left-start\"] &, [data-popper-placement=\"right-start\"] &{top:calc(var(--cnvs-sys-space-x1) * -1);}[data-popper-placement=\"left-end\"] &, [data-popper-placement=\"right-end\"] &{bottom:calc(var(--cnvs-sys-space-x1) * -1);}" }
21
21
  }, "tooltip-container-6c30a8");
22
22
  export const TooltipContainer = createComponent('div')({
23
23
  displayName: 'TooltipContainer',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@workday/canvas-kit-react",
3
- "version": "13.1.4",
3
+ "version": "13.1.6",
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",
@@ -50,8 +50,8 @@
50
50
  "@popperjs/core": "^2.5.4",
51
51
  "@tanstack/react-virtual": "^3.13.9",
52
52
  "@workday/canvas-colors-web": "^2.0.0",
53
- "@workday/canvas-kit-popup-stack": "^13.1.4",
54
- "@workday/canvas-kit-styling": "^13.1.4",
53
+ "@workday/canvas-kit-popup-stack": "^13.1.6",
54
+ "@workday/canvas-kit-styling": "^13.1.6",
55
55
  "@workday/canvas-system-icons-web": "^3.0.0",
56
56
  "@workday/canvas-tokens-web": "^2.1.1",
57
57
  "@workday/design-assets-types": "^0.2.8",
@@ -66,5 +66,5 @@
66
66
  "@workday/canvas-accent-icons-web": "^3.0.0",
67
67
  "@workday/canvas-applet-icons-web": "^2.0.0"
68
68
  },
69
- "gitHead": "f2448f30988129e194435687030927cf27afb8b4"
69
+ "gitHead": "09a8a237db40a2a7cb1836d9b536ec9278c3f3b9"
70
70
  }
@@ -6,6 +6,7 @@ import {
6
6
  createElemPropsHook,
7
7
  ExtractProps,
8
8
  useModalityType,
9
+ useLocalRef,
9
10
  } from '@workday/canvas-kit-react/common';
10
11
  import {Flex, mergeStyles} from '@workday/canvas-kit-react/layout';
11
12
  import {
@@ -32,12 +33,81 @@ export interface TabListProps<T = any> extends Omit<ExtractProps<typeof Flex, ne
32
33
  overflowButton?: React.ReactNode;
33
34
  }
34
35
 
36
+ function getScrollPercentage(elem: HTMLDivElement, direction: 'vertical' | 'horizontal'): number {
37
+ if (direction === 'vertical') {
38
+ if (elem.scrollHeight > elem.clientHeight) {
39
+ const percentage = elem.scrollTop / (elem.scrollHeight - elem.clientHeight);
40
+ return percentage;
41
+ } else {
42
+ return -1;
43
+ }
44
+ }
45
+ if (elem.scrollWidth > elem.clientWidth) {
46
+ const percentage = elem.scrollLeft / (elem.scrollWidth - elem.clientWidth);
47
+ return percentage;
48
+ } else {
49
+ return -1;
50
+ }
51
+ }
52
+
53
+ function getScrollPosition(
54
+ elem: HTMLDivElement,
55
+ direction: 'vertical' | 'horizontal'
56
+ ): 'start' | 'middle' | 'end' | undefined {
57
+ const percentage = getScrollPercentage(elem, direction);
58
+ return percentage <= -1
59
+ ? undefined
60
+ : percentage > 0.99
61
+ ? 'end'
62
+ : percentage > 0.01
63
+ ? 'middle'
64
+ : 'start';
65
+ }
66
+
67
+ function setScrollPosition(elem: HTMLDivElement, scrollPosition?: 'start' | 'middle' | 'end') {
68
+ if (scrollPosition) {
69
+ elem.setAttribute('data-scroll-position', scrollPosition);
70
+ } else {
71
+ elem.removeAttribute('data-scroll-position');
72
+ }
73
+ }
74
+
75
+ export const useTabOverflowScroll = createElemPropsHook(useTabsModel)(
76
+ (
77
+ _model,
78
+ ref,
79
+ elemProps: {
80
+ 'aria-orientation'?: 'vertical' | 'horizontal';
81
+ } = {}
82
+ ) => {
83
+ const direction = elemProps['aria-orientation'] || 'vertical';
84
+
85
+ const {localRef, elementRef} = useLocalRef<HTMLDivElement>(ref as React.Ref<HTMLDivElement>);
86
+
87
+ React.useLayoutEffect(() => {
88
+ if (!localRef.current) {
89
+ return;
90
+ }
91
+
92
+ setScrollPosition(localRef.current, getScrollPosition(localRef.current, direction));
93
+ }, [localRef, direction]);
94
+
95
+ return {
96
+ ref: elementRef,
97
+ onScroll: (event: React.UIEvent<HTMLDivElement>) => {
98
+ const elem = event.currentTarget;
99
+ setScrollPosition(elem, getScrollPosition(elem, direction));
100
+ },
101
+ };
102
+ }
103
+ );
104
+
35
105
  export const useTabsList = composeHooks(
36
- createElemPropsHook(useTabsModel)(() => {
37
- const modality = useModalityType();
106
+ useTabOverflowScroll,
107
+ createElemPropsHook(useTabsModel)(model => {
38
108
  return {
39
109
  role: 'tablist',
40
- overflowX: modality === 'touch' ? 'auto' : undefined,
110
+ 'aria-orientation': model.state.orientation,
41
111
  } as const;
42
112
  }),
43
113
  useOverflowListMeasure,
@@ -51,12 +121,26 @@ export const tabsListStencil = createStencil({
51
121
  borderBottom: `${px2rem(1)} solid ${system.color.border.divider}`,
52
122
  gap: system.space.x3,
53
123
  paddingInline: system.space.x6,
54
- maskImage: 'none',
55
124
  },
56
125
  modifiers: {
57
126
  modality: {
58
127
  touch: {
128
+ overflowX: 'auto',
59
129
  paddingInline: system.space.zero,
130
+ // data attributes are needed until scroll-driven animations are supported. Once they are,
131
+ // we can use a CSS-only solution:
132
+ // https://www.bram.us/2023/09/16/solved-by-css-scroll-driven-animations-detect-if-an-element-can-scroll-or-not/
133
+ '&[data-scroll-position="start"]': {
134
+ maskImage: 'linear-gradient(to right, white 80%, transparent)',
135
+ },
136
+ '&[data-scroll-position="middle"]': {
137
+ maskImage:
138
+ 'linear-gradient(to left, white 80%, transparent), linear-gradient(to right, white 80%, transparent)',
139
+ maskComposite: 'intersect',
140
+ },
141
+ '&[data-scroll-position="end"]': {
142
+ maskImage: 'linear-gradient(to left, white 80%, transparent)',
143
+ },
60
144
  },
61
145
  mouse: {},
62
146
  pen: {},
@@ -69,33 +153,7 @@ export const tabsListStencil = createStencil({
69
153
  left: {},
70
154
  right: {},
71
155
  },
72
- currentScrollPos: {
73
- true: {},
74
- false: {},
75
- },
76
156
  },
77
- compound: [
78
- {
79
- modifiers: {
80
- modality: 'touch',
81
- isDragging: true,
82
- direction: 'left',
83
- },
84
- styles: {
85
- maskImage: 'linear-gradient(to left, white 80%, transparent)',
86
- },
87
- },
88
- {
89
- modifiers: {
90
- modality: 'touch',
91
- isDragging: true,
92
- direction: 'right',
93
- },
94
- styles: {
95
- maskImage: 'linear-gradient(to right, white 80%, transparent)',
96
- },
97
- },
98
- ],
99
157
  });
100
158
 
101
159
  export const TabsList = createSubcomponent('div')({
@@ -105,7 +163,6 @@ export const TabsList = createSubcomponent('div')({
105
163
  })<TabListProps & {maskImage?: string}>(
106
164
  ({children, overflowButton, ...elemProps}, Element, model) => {
107
165
  const modality = useModalityType();
108
- const touchStates = useTouchDirection();
109
166
 
110
167
  return (
111
168
  <Element
@@ -113,8 +170,6 @@ export const TabsList = createSubcomponent('div')({
113
170
  elemProps,
114
171
  tabsListStencil({
115
172
  modality: modality,
116
- isDragging: touchStates.isDragging,
117
- direction: touchStates.direction,
118
173
  })
119
174
  )}
120
175
  >
@@ -124,36 +179,3 @@ export const TabsList = createSubcomponent('div')({
124
179
  );
125
180
  }
126
181
  );
127
-
128
- export const useTouchDirection = () => {
129
- const [isDragging, setIsDragging] = React.useState(false);
130
- const [touchDir, setTouchDirection] = React.useState<'right' | 'left' | undefined>('right');
131
-
132
- React.useEffect(() => {
133
- let prevXPos = window.pageXOffset;
134
- const handleTouchMove = function (e: TouchEvent) {
135
- const currXPos = e.touches[0].clientX;
136
- setIsDragging(true);
137
- if (currXPos > prevXPos) {
138
- setTouchDirection('left');
139
- } else if (currXPos < prevXPos) {
140
- setTouchDirection('right');
141
- }
142
- prevXPos = currXPos;
143
- e.preventDefault();
144
- };
145
- const handleDragEnd = function () {
146
- setIsDragging(false);
147
- };
148
- window.addEventListener('touchmove', handleTouchMove);
149
- window.addEventListener('touchstart', handleDragEnd);
150
- window.addEventListener('touchend', handleDragEnd);
151
- return () => {
152
- window.removeEventListener('touchmove', handleTouchMove);
153
- window.removeEventListener('touchstart', handleDragEnd);
154
- window.removeEventListener('touchend', handleDragEnd);
155
- };
156
- }, []);
157
-
158
- return {direction: touchDir, isDragging: isDragging};
159
- };