@workday/canvas-kit-react 12.0.0 → 12.0.1

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 (161) hide show
  1. package/dist/commonjs/avatar/lib/Avatar.js +21 -21
  2. package/dist/commonjs/badge/lib/CountBadge.js +3 -3
  3. package/dist/commonjs/button/lib/BaseButton.js +21 -21
  4. package/dist/commonjs/button/lib/DeleteButton.js +1 -1
  5. package/dist/commonjs/button/lib/PrimaryButton.js +2 -2
  6. package/dist/commonjs/button/lib/SecondaryButton.js +2 -2
  7. package/dist/commonjs/button/lib/TertiaryButton.js +18 -18
  8. package/dist/commonjs/card/lib/Card.js +1 -1
  9. package/dist/commonjs/card/lib/CardBody.js +1 -1
  10. package/dist/commonjs/card/lib/CardHeading.js +1 -1
  11. package/dist/commonjs/checkbox/lib/CheckBackground.js +3 -3
  12. package/dist/commonjs/checkbox/lib/CheckboxCheck.js +5 -5
  13. package/dist/commonjs/checkbox/lib/CheckboxContainer.js +1 -1
  14. package/dist/commonjs/checkbox/lib/CheckboxInput.js +5 -5
  15. package/dist/commonjs/checkbox/lib/CheckboxRipple.js +1 -1
  16. package/dist/commonjs/collection/lib/ListBox.js +3 -3
  17. package/dist/commonjs/combobox/lib/ComboboxMenuList.js +1 -1
  18. package/dist/commonjs/common/lib/AccessibleHide.js +1 -1
  19. package/dist/commonjs/common/lib/CanvasProvider.js +1 -1
  20. package/dist/commonjs/form-field/lib/FormFieldContainer.js +1 -1
  21. package/dist/commonjs/form-field/lib/FormFieldField.js +1 -1
  22. package/dist/commonjs/form-field/lib/FormFieldGroupLabel.js +5 -5
  23. package/dist/commonjs/form-field/lib/FormFieldGroupList.js +3 -3
  24. package/dist/commonjs/form-field/lib/FormFieldHint.js +3 -3
  25. package/dist/commonjs/form-field/lib/FormFieldLabel.js +6 -6
  26. package/dist/commonjs/form-field/lib/formFieldStencil.js +8 -8
  27. package/dist/commonjs/icon/lib/AccentIcon.js +2 -2
  28. package/dist/commonjs/icon/lib/AppletIcon.js +1 -1
  29. package/dist/commonjs/icon/lib/Graphic.js +2 -2
  30. package/dist/commonjs/icon/lib/Svg.js +2 -2
  31. package/dist/commonjs/icon/lib/SystemIcon.js +1 -1
  32. package/dist/commonjs/icon/lib/SystemIconCircle.js +1 -1
  33. package/dist/commonjs/loading-dots/lib/LoadingDots.js +3 -3
  34. package/dist/commonjs/menu/lib/MenuCard.js +1 -1
  35. package/dist/commonjs/menu/lib/MenuItem.js +1 -1
  36. package/dist/commonjs/menu/lib/MenuList.js +3 -3
  37. package/dist/commonjs/menu/lib/MenuOption.js +1 -1
  38. package/dist/commonjs/modal/lib/ModalBody.js +1 -1
  39. package/dist/commonjs/modal/lib/ModalCard.js +1 -1
  40. package/dist/commonjs/modal/lib/ModalHeading.js +1 -1
  41. package/dist/commonjs/modal/lib/ModalOverflowOverlay.js +1 -1
  42. package/dist/commonjs/modal/lib/ModalOverlay.js +2 -2
  43. package/dist/commonjs/popup/lib/PopupBody.js +1 -1
  44. package/dist/commonjs/popup/lib/PopupCard.js +2 -2
  45. package/dist/commonjs/popup/lib/PopupCloseIcon.js +1 -1
  46. package/dist/commonjs/popup/lib/PopupHeading.js +1 -1
  47. package/dist/commonjs/select/lib/Select.d.ts +3 -405
  48. package/dist/commonjs/select/lib/Select.d.ts.map +1 -1
  49. package/dist/commonjs/select/lib/Select.js +7 -48
  50. package/dist/commonjs/select/lib/SelectCard.d.ts +159 -0
  51. package/dist/commonjs/select/lib/SelectCard.d.ts.map +1 -0
  52. package/dist/commonjs/select/lib/SelectCard.js +20 -0
  53. package/dist/commonjs/select/lib/SelectInput.d.ts +95 -0
  54. package/dist/commonjs/select/lib/SelectInput.d.ts.map +1 -0
  55. package/dist/commonjs/select/lib/SelectInput.js +37 -0
  56. package/dist/commonjs/select/lib/SelectItem.d.ts +155 -0
  57. package/dist/commonjs/select/lib/SelectItem.d.ts.map +1 -0
  58. package/dist/commonjs/select/lib/SelectItem.js +18 -0
  59. package/dist/commonjs/switch/lib/Switch.js +7 -7
  60. package/dist/commonjs/table/lib/Table.js +1 -1
  61. package/dist/commonjs/table/lib/TableBody.js +1 -1
  62. package/dist/commonjs/table/lib/TableCaption.js +1 -1
  63. package/dist/commonjs/table/lib/TableCell.js +1 -1
  64. package/dist/commonjs/table/lib/TableFooter.js +1 -1
  65. package/dist/commonjs/table/lib/TableHead.js +1 -1
  66. package/dist/commonjs/table/lib/TableHeader.js +1 -1
  67. package/dist/commonjs/table/lib/TableRow.js +1 -1
  68. package/dist/commonjs/text/lib/LabelText.js +6 -6
  69. package/dist/commonjs/text/lib/Text.js +16 -16
  70. package/dist/commonjs/text/lib/TypeLevelComponents.js +4 -4
  71. package/dist/commonjs/text-area/lib/TextArea.js +5 -5
  72. package/dist/commonjs/text-input/lib/InputGroup.js +6 -6
  73. package/dist/commonjs/text-input/lib/TextInput.js +5 -5
  74. package/dist/commonjs/toast/lib/Toast.js +1 -1
  75. package/dist/commonjs/toast/lib/ToastBody.js +1 -1
  76. package/dist/commonjs/toast/lib/ToastCloseIcon.js +1 -1
  77. package/dist/commonjs/toast/lib/ToastIcon.js +1 -1
  78. package/dist/commonjs/toast/lib/ToastMessage.js +1 -1
  79. package/dist/es6/avatar/lib/Avatar.js +21 -21
  80. package/dist/es6/badge/lib/CountBadge.js +3 -3
  81. package/dist/es6/button/lib/BaseButton.js +21 -21
  82. package/dist/es6/button/lib/DeleteButton.js +1 -1
  83. package/dist/es6/button/lib/PrimaryButton.js +2 -2
  84. package/dist/es6/button/lib/SecondaryButton.js +2 -2
  85. package/dist/es6/button/lib/TertiaryButton.js +18 -18
  86. package/dist/es6/card/lib/Card.js +1 -1
  87. package/dist/es6/card/lib/CardBody.js +1 -1
  88. package/dist/es6/card/lib/CardHeading.js +1 -1
  89. package/dist/es6/checkbox/lib/CheckBackground.js +3 -3
  90. package/dist/es6/checkbox/lib/CheckboxCheck.js +5 -5
  91. package/dist/es6/checkbox/lib/CheckboxContainer.js +1 -1
  92. package/dist/es6/checkbox/lib/CheckboxInput.js +5 -5
  93. package/dist/es6/checkbox/lib/CheckboxRipple.js +1 -1
  94. package/dist/es6/collection/lib/ListBox.js +3 -3
  95. package/dist/es6/combobox/lib/ComboboxMenuList.js +1 -1
  96. package/dist/es6/common/lib/AccessibleHide.js +1 -1
  97. package/dist/es6/common/lib/CanvasProvider.js +1 -1
  98. package/dist/es6/form-field/lib/FormFieldContainer.js +1 -1
  99. package/dist/es6/form-field/lib/FormFieldField.js +1 -1
  100. package/dist/es6/form-field/lib/FormFieldGroupLabel.js +5 -5
  101. package/dist/es6/form-field/lib/FormFieldGroupList.js +3 -3
  102. package/dist/es6/form-field/lib/FormFieldHint.js +3 -3
  103. package/dist/es6/form-field/lib/FormFieldLabel.js +6 -6
  104. package/dist/es6/form-field/lib/formFieldStencil.js +8 -8
  105. package/dist/es6/icon/lib/AccentIcon.js +2 -2
  106. package/dist/es6/icon/lib/AppletIcon.js +1 -1
  107. package/dist/es6/icon/lib/Graphic.js +2 -2
  108. package/dist/es6/icon/lib/Svg.js +2 -2
  109. package/dist/es6/icon/lib/SystemIcon.js +1 -1
  110. package/dist/es6/icon/lib/SystemIconCircle.js +1 -1
  111. package/dist/es6/loading-dots/lib/LoadingDots.js +3 -3
  112. package/dist/es6/menu/lib/MenuCard.js +1 -1
  113. package/dist/es6/menu/lib/MenuItem.js +1 -1
  114. package/dist/es6/menu/lib/MenuList.js +3 -3
  115. package/dist/es6/menu/lib/MenuOption.js +1 -1
  116. package/dist/es6/modal/lib/ModalBody.js +1 -1
  117. package/dist/es6/modal/lib/ModalCard.js +1 -1
  118. package/dist/es6/modal/lib/ModalHeading.js +1 -1
  119. package/dist/es6/modal/lib/ModalOverflowOverlay.js +1 -1
  120. package/dist/es6/modal/lib/ModalOverlay.js +2 -2
  121. package/dist/es6/popup/lib/PopupBody.js +1 -1
  122. package/dist/es6/popup/lib/PopupCard.js +2 -2
  123. package/dist/es6/popup/lib/PopupCloseIcon.js +1 -1
  124. package/dist/es6/popup/lib/PopupHeading.js +1 -1
  125. package/dist/es6/select/lib/Select.d.ts +3 -405
  126. package/dist/es6/select/lib/Select.d.ts.map +1 -1
  127. package/dist/es6/select/lib/Select.js +4 -45
  128. package/dist/es6/select/lib/SelectCard.d.ts +159 -0
  129. package/dist/es6/select/lib/SelectCard.d.ts.map +1 -0
  130. package/dist/es6/select/lib/SelectCard.js +14 -0
  131. package/dist/es6/select/lib/SelectInput.d.ts +95 -0
  132. package/dist/es6/select/lib/SelectInput.d.ts.map +1 -0
  133. package/dist/es6/select/lib/SelectInput.js +31 -0
  134. package/dist/es6/select/lib/SelectItem.d.ts +155 -0
  135. package/dist/es6/select/lib/SelectItem.d.ts.map +1 -0
  136. package/dist/es6/select/lib/SelectItem.js +12 -0
  137. package/dist/es6/switch/lib/Switch.js +7 -7
  138. package/dist/es6/table/lib/Table.js +1 -1
  139. package/dist/es6/table/lib/TableBody.js +1 -1
  140. package/dist/es6/table/lib/TableCaption.js +1 -1
  141. package/dist/es6/table/lib/TableCell.js +1 -1
  142. package/dist/es6/table/lib/TableFooter.js +1 -1
  143. package/dist/es6/table/lib/TableHead.js +1 -1
  144. package/dist/es6/table/lib/TableHeader.js +1 -1
  145. package/dist/es6/table/lib/TableRow.js +1 -1
  146. package/dist/es6/text/lib/LabelText.js +6 -6
  147. package/dist/es6/text/lib/Text.js +16 -16
  148. package/dist/es6/text/lib/TypeLevelComponents.js +4 -4
  149. package/dist/es6/text-area/lib/TextArea.js +5 -5
  150. package/dist/es6/text-input/lib/InputGroup.js +6 -6
  151. package/dist/es6/text-input/lib/TextInput.js +5 -5
  152. package/dist/es6/toast/lib/Toast.js +1 -1
  153. package/dist/es6/toast/lib/ToastBody.js +1 -1
  154. package/dist/es6/toast/lib/ToastCloseIcon.js +1 -1
  155. package/dist/es6/toast/lib/ToastIcon.js +1 -1
  156. package/dist/es6/toast/lib/ToastMessage.js +1 -1
  157. package/package.json +4 -4
  158. package/select/lib/Select.tsx +5 -115
  159. package/select/lib/SelectCard.tsx +23 -0
  160. package/select/lib/SelectInput.tsx +89 -0
  161. package/select/lib/SelectItem.tsx +18 -0
@@ -6,21 +6,21 @@ import { mergeStyles } from '@workday/canvas-kit-react/layout';
6
6
  import { textStencil } from './Text';
7
7
  const labelTextStencil = createStencil({
8
8
  extends: textStencil,
9
- base: { name: "zx5jo", styles: "box-sizing:border-box;font-family:var(--cnvs-base-font-family-50);font-weight:var(--cnvs-base-font-weight-400);line-height:var(--cnvs-base-line-height-100);font-size:var(--cnvs-base-font-size-75);letter-spacing:var(--cnvs-base-letter-spacing-150);color:var(--cnvs-sys-color-text-default);" },
9
+ base: { name: "rrv0o", styles: "box-sizing:border-box;font-family:var(--cnvs-base-font-family-50);font-weight:var(--cnvs-base-font-weight-400);line-height:var(--cnvs-base-line-height-100);font-size:var(--cnvs-base-font-size-75);letter-spacing:var(--cnvs-base-letter-spacing-150);color:var(--cnvs-sys-color-text-default);" },
10
10
  modifiers: {
11
11
  disabled: {
12
- true: { name: "zx5jp", styles: "cursor:default;color:var(--cnvs-sys-color-text-disabled);" }
12
+ true: { name: "rrv0p", styles: "cursor:default;color:var(--cnvs-sys-color-text-disabled);" }
13
13
  },
14
14
  variant: {
15
- inverse: { name: "zx5jq", styles: "color:var(--cnvs-sys-color-text-inverse);" },
16
- error: { name: "zx5jr", styles: "color:var(--cnvs-sys-color-text-critical-default);" },
17
- hint: { name: "zx5js", styles: "color:var(--cnvs-sys-color-text-hint);" }
15
+ inverse: { name: "rrv0q", styles: "color:var(--cnvs-sys-color-text-inverse);" },
16
+ error: { name: "rrv0r", styles: "color:var(--cnvs-sys-color-text-critical-default);" },
17
+ hint: { name: "rrv0s", styles: "color:var(--cnvs-sys-color-text-hint);" }
18
18
  }
19
19
  },
20
20
  compound: [
21
21
  {
22
22
  modifiers: { variant: 'inverse', disabled: true },
23
- styles: { name: "zx5jt", styles: "opacity:var(--cnvs-sys-opacity-disabled);color:var(--cnvs-sys-color-text-inverse);" }
23
+ styles: { name: "rrv0t", styles: "opacity:var(--cnvs-sys-opacity-disabled);color:var(--cnvs-sys-color-text-inverse);" }
24
24
  }
25
25
  ]
26
26
  }, "label-text-047ddd");
@@ -4,30 +4,30 @@ import { createComponent } from '@workday/canvas-kit-react/common';
4
4
  import { createStencil } from '@workday/canvas-kit-styling';
5
5
  import { mergeStyles } from '@workday/canvas-kit-react/layout';
6
6
  export const textStencil = createStencil({
7
- base: { name: "zx5j4", styles: "box-sizing:border-box;" },
7
+ base: { name: "rrv04", styles: "box-sizing:border-box;" },
8
8
  modifiers: {
9
9
  typeLevel: {
10
10
  // Title level styles
11
- 'title.large': { name: "zx5j5", styles: "font-family:var(--cnvs-base-font-family-50);font-weight:var(--cnvs-base-font-weight-700);line-height:var(--cnvs-base-line-height-600);font-size:var(--cnvs-base-font-size-600);color:var(--cnvs-sys-color-text-strong);" },
12
- 'title.medium': { name: "zx5j6", styles: "font-family:var(--cnvs-base-font-family-50);font-weight:var(--cnvs-base-font-weight-700);line-height:var(--cnvs-base-line-height-500);font-size:var(--cnvs-base-font-size-500);color:var(--cnvs-sys-color-text-strong);" },
13
- 'title.small': { name: "zx5j7", styles: "font-family:var(--cnvs-base-font-family-50);font-weight:var(--cnvs-base-font-weight-700);line-height:var(--cnvs-base-line-height-400);font-size:var(--cnvs-base-font-size-400);color:var(--cnvs-sys-color-text-strong);" },
11
+ 'title.large': { name: "rrv05", styles: "font-family:var(--cnvs-base-font-family-50);font-weight:var(--cnvs-base-font-weight-700);line-height:var(--cnvs-base-line-height-600);font-size:var(--cnvs-base-font-size-600);color:var(--cnvs-sys-color-text-strong);" },
12
+ 'title.medium': { name: "rrv06", styles: "font-family:var(--cnvs-base-font-family-50);font-weight:var(--cnvs-base-font-weight-700);line-height:var(--cnvs-base-line-height-500);font-size:var(--cnvs-base-font-size-500);color:var(--cnvs-sys-color-text-strong);" },
13
+ 'title.small': { name: "rrv07", styles: "font-family:var(--cnvs-base-font-family-50);font-weight:var(--cnvs-base-font-weight-700);line-height:var(--cnvs-base-line-height-400);font-size:var(--cnvs-base-font-size-400);color:var(--cnvs-sys-color-text-strong);" },
14
14
  // Heading level styles
15
- 'heading.large': { name: "zx5j8", styles: "font-family:var(--cnvs-base-font-family-50);font-weight:var(--cnvs-base-font-weight-700);line-height:var(--cnvs-base-line-height-350);font-size:var(--cnvs-base-font-size-300);color:var(--cnvs-sys-color-text-strong);" },
16
- 'heading.medium': { name: "zx5j9", styles: "font-family:var(--cnvs-base-font-family-50);font-weight:var(--cnvs-base-font-weight-700);line-height:var(--cnvs-base-line-height-300);font-size:var(--cnvs-base-font-size-250);color:var(--cnvs-sys-color-text-strong);" },
17
- 'heading.small': { name: "zx5ja", styles: "font-family:var(--cnvs-base-font-family-50);font-weight:var(--cnvs-base-font-weight-700);line-height:var(--cnvs-base-line-height-250);font-size:var(--cnvs-base-font-size-200);color:var(--cnvs-sys-color-text-strong);" },
15
+ 'heading.large': { name: "rrv08", styles: "font-family:var(--cnvs-base-font-family-50);font-weight:var(--cnvs-base-font-weight-700);line-height:var(--cnvs-base-line-height-350);font-size:var(--cnvs-base-font-size-300);color:var(--cnvs-sys-color-text-strong);" },
16
+ 'heading.medium': { name: "rrv09", styles: "font-family:var(--cnvs-base-font-family-50);font-weight:var(--cnvs-base-font-weight-700);line-height:var(--cnvs-base-line-height-300);font-size:var(--cnvs-base-font-size-250);color:var(--cnvs-sys-color-text-strong);" },
17
+ 'heading.small': { name: "rrv0a", styles: "font-family:var(--cnvs-base-font-family-50);font-weight:var(--cnvs-base-font-weight-700);line-height:var(--cnvs-base-line-height-250);font-size:var(--cnvs-base-font-size-200);color:var(--cnvs-sys-color-text-strong);" },
18
18
  // Body level styles
19
- 'body.large': { name: "zx5jb", styles: "font-family:var(--cnvs-base-font-family-50);font-weight:var(--cnvs-base-font-weight-400);line-height:var(--cnvs-base-line-height-200);font-size:var(--cnvs-base-font-size-150);color:var(--cnvs-sys-color-text-default);" },
20
- 'body.medium': { name: "zx5jc", styles: "font-family:var(--cnvs-base-font-family-50);font-weight:var(--cnvs-base-font-weight-400);line-height:var(--cnvs-base-line-height-200);font-size:var(--cnvs-base-font-size-125);color:var(--cnvs-sys-color-text-default);" },
21
- 'body.small': { name: "zx5jd", styles: "font-family:var(--cnvs-base-font-family-50);font-weight:var(--cnvs-base-font-weight-400);line-height:var(--cnvs-base-line-height-150);font-size:var(--cnvs-base-font-size-100);letter-spacing:var(--cnvs-base-letter-spacing-200);color:var(--cnvs-sys-color-text-default);" },
19
+ 'body.large': { name: "rrv0b", styles: "font-family:var(--cnvs-base-font-family-50);font-weight:var(--cnvs-base-font-weight-400);line-height:var(--cnvs-base-line-height-200);font-size:var(--cnvs-base-font-size-150);color:var(--cnvs-sys-color-text-default);" },
20
+ 'body.medium': { name: "rrv0c", styles: "font-family:var(--cnvs-base-font-family-50);font-weight:var(--cnvs-base-font-weight-400);line-height:var(--cnvs-base-line-height-200);font-size:var(--cnvs-base-font-size-125);color:var(--cnvs-sys-color-text-default);" },
21
+ 'body.small': { name: "rrv0d", styles: "font-family:var(--cnvs-base-font-family-50);font-weight:var(--cnvs-base-font-weight-400);line-height:var(--cnvs-base-line-height-150);font-size:var(--cnvs-base-font-size-100);letter-spacing:var(--cnvs-base-letter-spacing-200);color:var(--cnvs-sys-color-text-default);" },
22
22
  // Subtext level styles
23
- 'subtext.large': { name: "zx5je", styles: "font-family:var(--cnvs-base-font-family-50);font-weight:var(--cnvs-base-font-weight-400);line-height:var(--cnvs-base-line-height-100);font-size:var(--cnvs-base-font-size-75);letter-spacing:var(--cnvs-base-letter-spacing-150);color:var(--cnvs-sys-color-text-default);" },
24
- 'subtext.medium': { name: "zx5jf", styles: "font-family:var(--cnvs-base-font-family-50);font-weight:var(--cnvs-base-font-weight-400);line-height:var(--cnvs-base-line-height-50);font-size:var(--cnvs-base-font-size-50);letter-spacing:var(--cnvs-base-letter-spacing-100);color:var(--cnvs-sys-color-text-default);" },
25
- 'subtext.small': { name: "zx5jg", styles: "font-family:var(--cnvs-base-font-family-50);font-weight:var(--cnvs-base-font-weight-400);line-height:var(--cnvs-base-line-height-50);font-size:var(--cnvs-base-font-size-25);letter-spacing:var(--cnvs-base-letter-spacing-50);color:var(--cnvs-sys-color-text-default);" }
23
+ 'subtext.large': { name: "rrv0e", styles: "font-family:var(--cnvs-base-font-family-50);font-weight:var(--cnvs-base-font-weight-400);line-height:var(--cnvs-base-line-height-100);font-size:var(--cnvs-base-font-size-75);letter-spacing:var(--cnvs-base-letter-spacing-150);color:var(--cnvs-sys-color-text-default);" },
24
+ 'subtext.medium': { name: "rrv0f", styles: "font-family:var(--cnvs-base-font-family-50);font-weight:var(--cnvs-base-font-weight-400);line-height:var(--cnvs-base-line-height-50);font-size:var(--cnvs-base-font-size-50);letter-spacing:var(--cnvs-base-letter-spacing-100);color:var(--cnvs-sys-color-text-default);" },
25
+ 'subtext.small': { name: "rrv0g", styles: "font-family:var(--cnvs-base-font-family-50);font-weight:var(--cnvs-base-font-weight-400);line-height:var(--cnvs-base-line-height-50);font-size:var(--cnvs-base-font-size-25);letter-spacing:var(--cnvs-base-letter-spacing-50);color:var(--cnvs-sys-color-text-default);" }
26
26
  },
27
27
  variant: {
28
- error: { name: "zx5jh", styles: "color:var(--cnvs-sys-color-text-critical-default);" },
29
- hint: { name: "zx5ji", styles: "color:var(--cnvs-sys-color-text-hint);" },
30
- inverse: { name: "zx5jj", styles: "color:var(--cnvs-sys-color-text-inverse);" }
28
+ error: { name: "rrv0h", styles: "color:var(--cnvs-sys-color-text-critical-default);" },
29
+ hint: { name: "rrv0i", styles: "color:var(--cnvs-sys-color-text-hint);" },
30
+ inverse: { name: "rrv0j", styles: "color:var(--cnvs-sys-color-text-inverse);" }
31
31
  }
32
32
  }
33
33
  }, "text-e3da06");
@@ -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: "zx5jk", styles: "box-sizing:border-box;" }
8
+ base: { name: "rrv0k", styles: "box-sizing:border-box;" }
9
9
  }, "subtext-4e8604");
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: "zx5jl", styles: "box-sizing:border-box;" }
43
+ base: { name: "rrv0l", styles: "box-sizing:border-box;" }
44
44
  }, "body-text-44de3e");
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: "zx5jm", styles: "box-sizing:border-box;" }
78
+ base: { name: "rrv0m", styles: "box-sizing:border-box;" }
79
79
  }, "heading-5a3efc");
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: "zx5jn", styles: "box-sizing:border-box;" }
113
+ base: { name: "rrv0n", styles: "box-sizing:border-box;" }
114
114
  }, "title-2c12c2");
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: "zx5j5q", 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: "rrv05q", 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: "zx5j5r", styles: "resize:both;" },
18
- horizontal: { name: "zx5j5s", styles: "resize:horizontal;" },
19
- vertical: { name: "zx5j5t", styles: "resize:vertical;" },
20
- none: { name: "zx5j5u", styles: "resize:none;" }
17
+ both: { name: "rrv05r", styles: "resize:both;" },
18
+ horizontal: { name: "rrv05s", styles: "resize:horizontal;" },
19
+ vertical: { name: "rrv05t", styles: "resize:vertical;" },
20
+ none: { name: "rrv05u", styles: "resize:none;" }
21
21
  }
22
22
  },
23
23
  defaultModifiers: {
@@ -34,10 +34,10 @@ export const inputGroupInnerStencil = createStencil({
34
34
  */
35
35
  pointerEvents: '',
36
36
  },
37
- base: { name: "zx5j40", 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);" },
37
+ base: { name: "rrv040", 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
38
  modifiers: {
39
39
  pointerEvents: {
40
- _: { name: "zx5j41", styles: "pointer-events:var(--pointerEvents-input-group-inner-42c96b);" }
40
+ _: { name: "rrv041", styles: "pointer-events:var(--pointerEvents-input-group-inner-42c96b);" }
41
41
  }
42
42
  }
43
43
  }, "input-group-inner-42c96b");
@@ -75,13 +75,13 @@ export const inputGroupInputStencil = createStencil({
75
75
  paddingInlineStart: '',
76
76
  paddingInlineEnd: '',
77
77
  },
78
- base: { name: "zx5j42", styles: "box-sizing:border-box;display:flex;width:100%;" },
78
+ base: { name: "rrv042", styles: "box-sizing:border-box;display:flex;width:100%;" },
79
79
  modifiers: {
80
80
  paddingInlineStart: {
81
- _: { name: "zx5j43", styles: "padding-inline-start:var(--paddingInlineStart-input-group-input-9155da);" }
81
+ _: { name: "rrv043", styles: "padding-inline-start:var(--paddingInlineStart-input-group-input-9155da);" }
82
82
  },
83
83
  paddingInlineEnd: {
84
- _: { name: "zx5j44", styles: "padding-inline-end:var(--paddingInlineEnd-input-group-input-9155da);" }
84
+ _: { name: "rrv044", styles: "padding-inline-end:var(--paddingInlineEnd-input-group-input-9155da);" }
85
85
  }
86
86
  }
87
87
  }, "input-group-input-9155da");
@@ -139,7 +139,7 @@ const wrapInCalc = (values) => {
139
139
  return `calc(${values.map(toPx).join(' + ')})`;
140
140
  };
141
141
  export const inputGroupStencil = createStencil({
142
- base: { name: "zx5j45", styles: "box-sizing:border-box;display:flex;position:relative;& :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;}" }
142
+ base: { name: "rrv045", styles: "box-sizing:border-box;display:flex;position:relative;& :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
143
  }, "input-group-27e30b");
144
144
  /**
145
145
  * 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: "zx5j3v", styles: "box-sizing:border-box;font-family:var(--cnvs-base-font-family-50);font-weight:var(--cnvs-base-font-weight-400);line-height:var(--cnvs-base-line-height-100);font-size:var(--cnvs-base-font-size-75);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-d81f49);min-width:var(--width-text-input-d81f49, 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:none;}&: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: "rrv03v", styles: "box-sizing:border-box;font-family:var(--cnvs-base-font-family-50);font-weight:var(--cnvs-base-font-weight-400);line-height:var(--cnvs-base-line-height-100);font-size:var(--cnvs-base-font-size-75);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-d81f49);min-width:var(--width-text-input-d81f49, 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:none;}&: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: "zx5j3w", styles: "width:100%;resize:vertical;" },
14
- false: { name: "zx5j3x", styles: "width:initial;" }
13
+ true: { name: "rrv03w", styles: "width:100%;resize:vertical;" },
14
+ false: { name: "rrv03x", styles: "width:initial;" }
15
15
  },
16
16
  error: {
17
- error: { name: "zx5j3y", 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);}" },
18
- alert: { name: "zx5j3z", 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);}" }
17
+ error: { name: "rrv03y", 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);}" },
18
+ alert: { name: "rrv03z", 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);}" }
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: "zx5j5z", 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: "rrv05z", 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: "zx5j5y", 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: "rrv05y", 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-7d81ac");
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: "zx5j5v", styles: "box-sizing:border-box;position:relative;" }
7
+ base: { name: "rrv05v", styles: "box-sizing:border-box;position:relative;" }
8
8
  }, "toast-close-icon-be7e9f");
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: "zx5j5w", styles: "box-sizing:border-box;align-self:start;margin:var(--cnvs-sys-space-x4) var(--cnvs-sys-space-x3);" }
7
+ base: { name: "rrv05w", styles: "box-sizing:border-box;align-self:start;margin:var(--cnvs-sys-space-x4) var(--cnvs-sys-space-x3);" }
8
8
  }, "toast-icon-4b0701");
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: "zx5j5x", 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: "rrv05x", 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-759382");
11
11
  export const ToastMessage = createSubcomponent('p')({
12
12
  modelHook: useToastModel,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@workday/canvas-kit-react",
3
- "version": "12.0.0",
3
+ "version": "12.0.1",
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",
@@ -49,8 +49,8 @@
49
49
  "@emotion/styled": "^11.6.0",
50
50
  "@popperjs/core": "^2.5.4",
51
51
  "@workday/canvas-colors-web": "^2.0.0",
52
- "@workday/canvas-kit-popup-stack": "^12.0.0",
53
- "@workday/canvas-kit-styling": "^12.0.0",
52
+ "@workday/canvas-kit-popup-stack": "^12.0.1",
53
+ "@workday/canvas-kit-styling": "^12.0.1",
54
54
  "@workday/canvas-system-icons-web": "^3.0.0",
55
55
  "@workday/canvas-tokens-web": "^2.0.1",
56
56
  "@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": "b7605cd0991ae1f46da537001ae6a26a811bcdb0"
69
+ "gitHead": "6350b962eb767056c20a7ea0a8a74a8a924b6e73"
70
70
  }
@@ -1,121 +1,11 @@
1
1
  import React from 'react';
2
- import {CanvasSystemIcon} from '@workday/design-assets-types';
3
- import {caretDownSmallIcon} from '@workday/canvas-system-icons-web';
2
+
4
3
  import {Combobox} from '@workday/canvas-kit-react/combobox';
5
- import {createStencil, createStyles, CSProps, px2rem} from '@workday/canvas-kit-styling';
6
- import {InputGroup, TextInput} from '@workday/canvas-kit-react/text-input';
7
- import {mergeStyles} from '@workday/canvas-kit-react/layout';
8
- import {SystemIcon} from '@workday/canvas-kit-react/icon';
9
- import {useSelectCard} from './hooks/useSelectCard';
10
- import {useSelectInput} from './hooks/useSelectInput';
11
4
  import {useSelectModel} from './hooks/useSelectModel';
12
- import {createSubcomponent, ExtractProps, createContainer} from '@workday/canvas-kit-react/common';
13
- import {system} from '@workday/canvas-tokens-web';
14
-
15
- export interface SelectInputProps extends ExtractProps<typeof TextInput>, CSProps {
16
- /**
17
- * The Icon to render at the start of the `input`. Use this prop if your options
18
- * include icons that you would like to render in the `input` when selected.
19
- * ** Note:An option must be selected in order to render and icon.**
20
- */
21
- inputStartIcon?: CanvasSystemIcon;
22
- }
23
-
24
- const selectInputStencil = createStencil({
25
- base: {
26
- caretColor: 'transparent',
27
- cursor: 'default',
28
- '&::selection': {
29
- backgroundColor: 'transparent',
30
- },
31
- },
32
- });
33
-
34
- const selectIconsStencil = createStencil({
35
- base: {
36
- position: 'absolute',
37
- pointerEvents: 'none',
38
- },
39
- });
40
-
41
- const hiddenSelectInputStencil = createStencil({
42
- base: {
43
- position: 'absolute',
44
- top: system.space.zero,
45
- bottom: system.space.zero,
46
- left: system.space.zero,
47
- right: system.space.zero,
48
- opacity: system.opacity.zero,
49
- cursor: 'default',
50
- pointerEvents: 'none',
51
- },
52
- });
53
-
54
- export const SelectInput = createSubcomponent(TextInput)({
55
- modelHook: useSelectModel,
56
- elemPropsHook: useSelectInput,
57
- })<SelectInputProps>(
58
- (
59
- {placeholder = 'Choose an option', inputStartIcon, formInputProps, width, ...elemProps},
60
- Element,
61
- model
62
- ) => {
63
- return (
64
- <InputGroup data-width="ck-formfield-width">
65
- {inputStartIcon && model.state.selectedIds.length > 0 && (
66
- <InputGroup.InnerStart data-part="select-start-icon-container" {...selectIconsStencil()}>
67
- <SystemIcon data-part="select-start-icon" icon={inputStartIcon} />
68
- </InputGroup.InnerStart>
69
- )}
70
- {/* Hidden input to handle ids */}
71
- <InputGroup.Input
72
- data-part="select-hidden-input"
73
- {...formInputProps}
74
- {...hiddenSelectInputStencil()}
75
- />
76
- {/* Visual input */}
77
- <InputGroup.Input
78
- as={Element}
79
- placeholder={placeholder}
80
- data-part="select-visual-input"
81
- {...elemProps}
82
- {...mergeStyles(elemProps, selectInputStencil())}
83
- />
84
- <InputGroup.InnerEnd data-part="select-caret-container">
85
- <SystemIcon data-part="select-caret-icon" icon={caretDownSmallIcon} />
86
- </InputGroup.InnerEnd>
87
- </InputGroup>
88
- );
89
- }
90
- );
91
-
92
- export const SelectItem = createSubcomponent('li')({
93
- modelHook: useSelectModel,
94
- subComponents: {
95
- Icon: Combobox.Menu.Item.Icon,
96
- },
97
- })<ExtractProps<typeof Combobox.Menu.Item>>(({children, ...elemProps}, Element, _model) => {
98
- return (
99
- <Combobox.Menu.Item as={Element} {...elemProps}>
100
- {children}
101
- </Combobox.Menu.Item>
102
- );
103
- });
104
-
105
- const selectCardStyles = createStyles({
106
- maxHeight: px2rem(300),
107
- });
108
-
109
- export const SelectCard = createSubcomponent('div')({
110
- modelHook: useSelectModel,
111
- elemPropsHook: useSelectCard,
112
- })<ExtractProps<typeof Combobox.Menu.Card>>(({children, ...elemProps}, Element) => {
113
- return (
114
- <Combobox.Menu.Card as={Element} {...mergeStyles(elemProps, selectCardStyles)}>
115
- {children}
116
- </Combobox.Menu.Card>
117
- );
118
- });
5
+ import {ExtractProps, createContainer} from '@workday/canvas-kit-react/common';
6
+ import {SelectInput} from './SelectInput';
7
+ import {SelectCard} from './SelectCard';
8
+ import {SelectItem} from './SelectItem';
119
9
 
120
10
  export interface SelectProps extends ExtractProps<typeof Combobox> {}
121
11
  /**
@@ -0,0 +1,23 @@
1
+ import React from 'react';
2
+
3
+ import {Combobox} from '@workday/canvas-kit-react/combobox';
4
+ import {createStyles, px2rem} from '@workday/canvas-kit-styling';
5
+ import {mergeStyles} from '@workday/canvas-kit-react/layout';
6
+ import {useSelectCard} from './hooks/useSelectCard';
7
+ import {useSelectModel} from './hooks/useSelectModel';
8
+ import {createSubcomponent, ExtractProps} from '@workday/canvas-kit-react/common';
9
+
10
+ const selectCardStyles = createStyles({
11
+ maxHeight: px2rem(300),
12
+ });
13
+
14
+ export const SelectCard = createSubcomponent('div')({
15
+ modelHook: useSelectModel,
16
+ elemPropsHook: useSelectCard,
17
+ })<ExtractProps<typeof Combobox.Menu.Card>>(({children, ...elemProps}, Element) => {
18
+ return (
19
+ <Combobox.Menu.Card as={Element} {...mergeStyles(elemProps, selectCardStyles)}>
20
+ {children}
21
+ </Combobox.Menu.Card>
22
+ );
23
+ });
@@ -0,0 +1,89 @@
1
+ import React from 'react';
2
+ import {CanvasSystemIcon} from '@workday/design-assets-types';
3
+ import {caretDownSmallIcon} from '@workday/canvas-system-icons-web';
4
+ import {createStencil, CSProps} from '@workday/canvas-kit-styling';
5
+ import {InputGroup, TextInput} from '@workday/canvas-kit-react/text-input';
6
+ import {mergeStyles} from '@workday/canvas-kit-react/layout';
7
+ import {SystemIcon} from '@workday/canvas-kit-react/icon';
8
+
9
+ import {useSelectInput} from './hooks/useSelectInput';
10
+ import {useSelectModel} from './hooks/useSelectModel';
11
+ import {createSubcomponent, ExtractProps} from '@workday/canvas-kit-react/common';
12
+ import {system} from '@workday/canvas-tokens-web';
13
+
14
+ export interface SelectInputProps extends ExtractProps<typeof TextInput>, CSProps {
15
+ /**
16
+ * The Icon to render at the start of the `input`. Use this prop if your options
17
+ * include icons that you would like to render in the `input` when selected.
18
+ * ** Note:An option must be selected in order to render and icon.**
19
+ */
20
+ inputStartIcon?: CanvasSystemIcon;
21
+ }
22
+
23
+ const selectInputStencil = createStencil({
24
+ base: {
25
+ caretColor: 'transparent',
26
+ cursor: 'default',
27
+ '&::selection': {
28
+ backgroundColor: 'transparent',
29
+ },
30
+ },
31
+ });
32
+
33
+ const selectIconsStencil = createStencil({
34
+ base: {
35
+ position: 'absolute',
36
+ pointerEvents: 'none',
37
+ },
38
+ });
39
+
40
+ const hiddenSelectInputStencil = createStencil({
41
+ base: {
42
+ position: 'absolute',
43
+ top: system.space.zero,
44
+ bottom: system.space.zero,
45
+ left: system.space.zero,
46
+ right: system.space.zero,
47
+ opacity: system.opacity.zero,
48
+ cursor: 'default',
49
+ pointerEvents: 'none',
50
+ },
51
+ });
52
+
53
+ export const SelectInput = createSubcomponent(TextInput)({
54
+ modelHook: useSelectModel,
55
+ elemPropsHook: useSelectInput,
56
+ })<SelectInputProps>(
57
+ (
58
+ {placeholder = 'Choose an option', inputStartIcon, formInputProps, width, ...elemProps},
59
+ Element,
60
+ model
61
+ ) => {
62
+ return (
63
+ <InputGroup data-width="ck-formfield-width">
64
+ {inputStartIcon && model.state.selectedIds.length > 0 && (
65
+ <InputGroup.InnerStart data-part="select-start-icon-container" {...selectIconsStencil()}>
66
+ <SystemIcon data-part="select-start-icon" icon={inputStartIcon} />
67
+ </InputGroup.InnerStart>
68
+ )}
69
+ {/* Hidden input to handle ids */}
70
+ <InputGroup.Input
71
+ data-part="select-hidden-input"
72
+ {...formInputProps}
73
+ {...hiddenSelectInputStencil()}
74
+ />
75
+ {/* Visual input */}
76
+ <InputGroup.Input
77
+ as={Element}
78
+ placeholder={placeholder}
79
+ data-part="select-visual-input"
80
+ {...elemProps}
81
+ {...mergeStyles(elemProps, selectInputStencil())}
82
+ />
83
+ <InputGroup.InnerEnd data-part="select-caret-container">
84
+ <SystemIcon data-part="select-caret-icon" icon={caretDownSmallIcon} />
85
+ </InputGroup.InnerEnd>
86
+ </InputGroup>
87
+ );
88
+ }
89
+ );
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+
3
+ import {Combobox} from '@workday/canvas-kit-react/combobox';
4
+ import {useSelectModel} from './hooks/useSelectModel';
5
+ import {createSubcomponent, ExtractProps} from '@workday/canvas-kit-react/common';
6
+
7
+ export const SelectItem = createSubcomponent('li')({
8
+ modelHook: useSelectModel,
9
+ subComponents: {
10
+ Icon: Combobox.Menu.Item.Icon,
11
+ },
12
+ })<ExtractProps<typeof Combobox.Menu.Item>>(({children, ...elemProps}, Element, _model) => {
13
+ return (
14
+ <Combobox.Menu.Item as={Element} {...elemProps}>
15
+ {children}
16
+ </Combobox.Menu.Item>
17
+ );
18
+ });