@workday/canvas-kit-labs-react 7.0.0-alpha.0-next.6 → 7.0.0-alpha.79-next.7

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 (197) hide show
  1. package/combobox/README.md +1 -1
  2. package/combobox/lib/Combobox.tsx +7 -11
  3. package/common/index.ts +0 -8
  4. package/dist/commonjs/combobox/lib/Combobox.d.ts +3 -4
  5. package/dist/commonjs/combobox/lib/Combobox.d.ts.map +1 -1
  6. package/dist/commonjs/combobox/lib/Combobox.js +4 -7
  7. package/dist/commonjs/common/index.d.ts +0 -8
  8. package/dist/commonjs/common/index.d.ts.map +1 -1
  9. package/dist/commonjs/common/index.js +0 -1
  10. package/dist/commonjs/drawer/lib/DrawerHeader.js +2 -2
  11. package/dist/commonjs/index.d.ts +0 -1
  12. package/dist/commonjs/index.d.ts.map +1 -1
  13. package/dist/commonjs/index.js +0 -1
  14. package/dist/commonjs/search-form/lib/SearchForm.d.ts +7 -2
  15. package/dist/commonjs/search-form/lib/SearchForm.d.ts.map +1 -1
  16. package/dist/commonjs/search-form/lib/SearchForm.js +16 -22
  17. package/dist/es6/combobox/lib/Combobox.d.ts +3 -4
  18. package/dist/es6/combobox/lib/Combobox.d.ts.map +1 -1
  19. package/dist/es6/combobox/lib/Combobox.js +5 -8
  20. package/dist/es6/common/index.d.ts +0 -8
  21. package/dist/es6/common/index.d.ts.map +1 -1
  22. package/dist/es6/common/index.js +0 -1
  23. package/dist/es6/drawer/lib/DrawerHeader.js +3 -3
  24. package/dist/es6/index.d.ts +0 -1
  25. package/dist/es6/index.d.ts.map +1 -1
  26. package/dist/es6/index.js +0 -1
  27. package/dist/es6/search-form/lib/SearchForm.d.ts +7 -2
  28. package/dist/es6/search-form/lib/SearchForm.d.ts.map +1 -1
  29. package/dist/es6/search-form/lib/SearchForm.js +17 -23
  30. package/drawer/lib/DrawerHeader.tsx +3 -3
  31. package/index.ts +0 -1
  32. package/package.json +4 -6
  33. package/search-form/lib/SearchForm.tsx +25 -37
  34. package/ts3.5/dist/commonjs/combobox/lib/Combobox.d.ts +3 -4
  35. package/ts3.5/dist/commonjs/common/index.d.ts +0 -8
  36. package/ts3.5/dist/commonjs/index.d.ts +0 -1
  37. package/ts3.5/dist/commonjs/search-form/lib/SearchForm.d.ts +7 -2
  38. package/ts3.5/dist/es6/combobox/lib/Combobox.d.ts +3 -4
  39. package/ts3.5/dist/es6/common/index.d.ts +0 -8
  40. package/ts3.5/dist/es6/index.d.ts +0 -1
  41. package/ts3.5/dist/es6/search-form/lib/SearchForm.d.ts +7 -2
  42. package/common/lib/Box.tsx +0 -92
  43. package/common/lib/utils/border.ts +0 -263
  44. package/common/lib/utils/color.ts +0 -62
  45. package/common/lib/utils/depth.ts +0 -37
  46. package/common/lib/utils/flexItem.ts +0 -56
  47. package/common/lib/utils/layout.ts +0 -77
  48. package/common/lib/utils/other.ts +0 -20
  49. package/common/lib/utils/position.ts +0 -96
  50. package/common/lib/utils/space.ts +0 -207
  51. package/common/lib/utils/types.ts +0 -105
  52. package/dist/commonjs/common/lib/Box.d.ts +0 -31
  53. package/dist/commonjs/common/lib/Box.d.ts.map +0 -1
  54. package/dist/commonjs/common/lib/Box.js +0 -99
  55. package/dist/commonjs/common/lib/utils/border.d.ts +0 -103
  56. package/dist/commonjs/common/lib/utils/border.d.ts.map +0 -1
  57. package/dist/commonjs/common/lib/utils/border.js +0 -153
  58. package/dist/commonjs/common/lib/utils/color.d.ts +0 -26
  59. package/dist/commonjs/common/lib/utils/color.d.ts.map +0 -1
  60. package/dist/commonjs/common/lib/utils/color.js +0 -57
  61. package/dist/commonjs/common/lib/utils/depth.d.ts +0 -22
  62. package/dist/commonjs/common/lib/utils/depth.d.ts.map +0 -1
  63. package/dist/commonjs/common/lib/utils/depth.js +0 -29
  64. package/dist/commonjs/common/lib/utils/flexItem.d.ts +0 -33
  65. package/dist/commonjs/common/lib/utils/flexItem.d.ts.map +0 -1
  66. package/dist/commonjs/common/lib/utils/flexItem.js +0 -39
  67. package/dist/commonjs/common/lib/utils/layout.d.ts +0 -43
  68. package/dist/commonjs/common/lib/utils/layout.d.ts.map +0 -1
  69. package/dist/commonjs/common/lib/utils/layout.js +0 -43
  70. package/dist/commonjs/common/lib/utils/other.d.ts +0 -5
  71. package/dist/commonjs/common/lib/utils/other.d.ts.map +0 -1
  72. package/dist/commonjs/common/lib/utils/other.js +0 -19
  73. package/dist/commonjs/common/lib/utils/position.d.ts +0 -41
  74. package/dist/commonjs/common/lib/utils/position.d.ts.map +0 -1
  75. package/dist/commonjs/common/lib/utils/position.js +0 -78
  76. package/dist/commonjs/common/lib/utils/space.d.ts +0 -64
  77. package/dist/commonjs/common/lib/utils/space.d.ts.map +0 -1
  78. package/dist/commonjs/common/lib/utils/space.js +0 -161
  79. package/dist/commonjs/common/lib/utils/types.d.ts +0 -14
  80. package/dist/commonjs/common/lib/utils/types.d.ts.map +0 -1
  81. package/dist/commonjs/common/lib/utils/types.js +0 -2
  82. package/dist/commonjs/layout/index.d.ts +0 -5
  83. package/dist/commonjs/layout/index.d.ts.map +0 -1
  84. package/dist/commonjs/layout/index.js +0 -14
  85. package/dist/commonjs/layout/lib/Flex.d.ts +0 -26
  86. package/dist/commonjs/layout/lib/Flex.d.ts.map +0 -1
  87. package/dist/commonjs/layout/lib/Flex.js +0 -83
  88. package/dist/commonjs/layout/lib/Stack.d.ts +0 -27
  89. package/dist/commonjs/layout/lib/Stack.d.ts.map +0 -1
  90. package/dist/commonjs/layout/lib/Stack.js +0 -99
  91. package/dist/commonjs/layout/lib/utils/flex.d.ts +0 -36
  92. package/dist/commonjs/layout/lib/utils/flex.d.ts.map +0 -1
  93. package/dist/commonjs/layout/lib/utils/flex.js +0 -38
  94. package/dist/commonjs/layout/lib/utils/getValidChildren.d.ts +0 -3
  95. package/dist/commonjs/layout/lib/utils/getValidChildren.d.ts.map +0 -1
  96. package/dist/commonjs/layout/lib/utils/getValidChildren.js +0 -29
  97. package/dist/commonjs/layout/lib/utils/stack.d.ts +0 -26
  98. package/dist/commonjs/layout/lib/utils/stack.d.ts.map +0 -1
  99. package/dist/commonjs/layout/lib/utils/stack.js +0 -55
  100. package/dist/commonjs/layout/lib/utils/types.d.ts +0 -8
  101. package/dist/commonjs/layout/lib/utils/types.d.ts.map +0 -1
  102. package/dist/commonjs/layout/lib/utils/types.js +0 -2
  103. package/dist/es6/common/lib/Box.d.ts +0 -31
  104. package/dist/es6/common/lib/Box.d.ts.map +0 -1
  105. package/dist/es6/common/lib/Box.js +0 -74
  106. package/dist/es6/common/lib/utils/border.d.ts +0 -103
  107. package/dist/es6/common/lib/utils/border.d.ts.map +0 -1
  108. package/dist/es6/common/lib/utils/border.js +0 -149
  109. package/dist/es6/common/lib/utils/color.d.ts +0 -26
  110. package/dist/es6/common/lib/utils/color.d.ts.map +0 -1
  111. package/dist/es6/common/lib/utils/color.js +0 -53
  112. package/dist/es6/common/lib/utils/depth.d.ts +0 -22
  113. package/dist/es6/common/lib/utils/depth.d.ts.map +0 -1
  114. package/dist/es6/common/lib/utils/depth.js +0 -25
  115. package/dist/es6/common/lib/utils/flexItem.d.ts +0 -33
  116. package/dist/es6/common/lib/utils/flexItem.d.ts.map +0 -1
  117. package/dist/es6/common/lib/utils/flexItem.js +0 -35
  118. package/dist/es6/common/lib/utils/layout.d.ts +0 -43
  119. package/dist/es6/common/lib/utils/layout.d.ts.map +0 -1
  120. package/dist/es6/common/lib/utils/layout.js +0 -39
  121. package/dist/es6/common/lib/utils/other.d.ts +0 -5
  122. package/dist/es6/common/lib/utils/other.d.ts.map +0 -1
  123. package/dist/es6/common/lib/utils/other.js +0 -15
  124. package/dist/es6/common/lib/utils/position.d.ts +0 -41
  125. package/dist/es6/common/lib/utils/position.d.ts.map +0 -1
  126. package/dist/es6/common/lib/utils/position.js +0 -74
  127. package/dist/es6/common/lib/utils/space.d.ts +0 -64
  128. package/dist/es6/common/lib/utils/space.d.ts.map +0 -1
  129. package/dist/es6/common/lib/utils/space.js +0 -157
  130. package/dist/es6/common/lib/utils/types.d.ts +0 -14
  131. package/dist/es6/common/lib/utils/types.d.ts.map +0 -1
  132. package/dist/es6/common/lib/utils/types.js +0 -1
  133. package/dist/es6/layout/index.d.ts +0 -5
  134. package/dist/es6/layout/index.d.ts.map +0 -1
  135. package/dist/es6/layout/index.js +0 -2
  136. package/dist/es6/layout/lib/Flex.d.ts +0 -26
  137. package/dist/es6/layout/lib/Flex.d.ts.map +0 -1
  138. package/dist/es6/layout/lib/Flex.js +0 -58
  139. package/dist/es6/layout/lib/Stack.d.ts +0 -27
  140. package/dist/es6/layout/lib/Stack.d.ts.map +0 -1
  141. package/dist/es6/layout/lib/Stack.js +0 -74
  142. package/dist/es6/layout/lib/utils/flex.d.ts +0 -36
  143. package/dist/es6/layout/lib/utils/flex.d.ts.map +0 -1
  144. package/dist/es6/layout/lib/utils/flex.js +0 -34
  145. package/dist/es6/layout/lib/utils/getValidChildren.d.ts +0 -3
  146. package/dist/es6/layout/lib/utils/getValidChildren.d.ts.map +0 -1
  147. package/dist/es6/layout/lib/utils/getValidChildren.js +0 -6
  148. package/dist/es6/layout/lib/utils/stack.d.ts +0 -26
  149. package/dist/es6/layout/lib/utils/stack.d.ts.map +0 -1
  150. package/dist/es6/layout/lib/utils/stack.js +0 -51
  151. package/dist/es6/layout/lib/utils/types.d.ts +0 -8
  152. package/dist/es6/layout/lib/utils/types.d.ts.map +0 -1
  153. package/dist/es6/layout/lib/utils/types.js +0 -1
  154. package/layout/LICENSE +0 -52
  155. package/layout/README.md +0 -16
  156. package/layout/index.ts +0 -4
  157. package/layout/lib/Flex.tsx +0 -47
  158. package/layout/lib/Stack.tsx +0 -95
  159. package/layout/lib/utils/flex.ts +0 -65
  160. package/layout/lib/utils/getValidChildren.ts +0 -7
  161. package/layout/lib/utils/stack.ts +0 -78
  162. package/layout/lib/utils/types.ts +0 -45
  163. package/layout/package.json +0 -5
  164. package/ts3.5/dist/commonjs/common/lib/Box.d.ts +0 -31
  165. package/ts3.5/dist/commonjs/common/lib/utils/border.d.ts +0 -103
  166. package/ts3.5/dist/commonjs/common/lib/utils/color.d.ts +0 -26
  167. package/ts3.5/dist/commonjs/common/lib/utils/depth.d.ts +0 -22
  168. package/ts3.5/dist/commonjs/common/lib/utils/flexItem.d.ts +0 -33
  169. package/ts3.5/dist/commonjs/common/lib/utils/layout.d.ts +0 -43
  170. package/ts3.5/dist/commonjs/common/lib/utils/other.d.ts +0 -5
  171. package/ts3.5/dist/commonjs/common/lib/utils/position.d.ts +0 -41
  172. package/ts3.5/dist/commonjs/common/lib/utils/space.d.ts +0 -64
  173. package/ts3.5/dist/commonjs/common/lib/utils/types.d.ts +0 -14
  174. package/ts3.5/dist/commonjs/layout/index.d.ts +0 -5
  175. package/ts3.5/dist/commonjs/layout/lib/Flex.d.ts +0 -26
  176. package/ts3.5/dist/commonjs/layout/lib/Stack.d.ts +0 -27
  177. package/ts3.5/dist/commonjs/layout/lib/utils/flex.d.ts +0 -36
  178. package/ts3.5/dist/commonjs/layout/lib/utils/getValidChildren.d.ts +0 -3
  179. package/ts3.5/dist/commonjs/layout/lib/utils/stack.d.ts +0 -26
  180. package/ts3.5/dist/commonjs/layout/lib/utils/types.d.ts +0 -8
  181. package/ts3.5/dist/es6/common/lib/Box.d.ts +0 -31
  182. package/ts3.5/dist/es6/common/lib/utils/border.d.ts +0 -103
  183. package/ts3.5/dist/es6/common/lib/utils/color.d.ts +0 -26
  184. package/ts3.5/dist/es6/common/lib/utils/depth.d.ts +0 -22
  185. package/ts3.5/dist/es6/common/lib/utils/flexItem.d.ts +0 -33
  186. package/ts3.5/dist/es6/common/lib/utils/layout.d.ts +0 -43
  187. package/ts3.5/dist/es6/common/lib/utils/other.d.ts +0 -5
  188. package/ts3.5/dist/es6/common/lib/utils/position.d.ts +0 -41
  189. package/ts3.5/dist/es6/common/lib/utils/space.d.ts +0 -64
  190. package/ts3.5/dist/es6/common/lib/utils/types.d.ts +0 -14
  191. package/ts3.5/dist/es6/layout/index.d.ts +0 -5
  192. package/ts3.5/dist/es6/layout/lib/Flex.d.ts +0 -26
  193. package/ts3.5/dist/es6/layout/lib/Stack.d.ts +0 -27
  194. package/ts3.5/dist/es6/layout/lib/utils/flex.d.ts +0 -36
  195. package/ts3.5/dist/es6/layout/lib/utils/getValidChildren.d.ts +0 -3
  196. package/ts3.5/dist/es6/layout/lib/utils/stack.d.ts +0 -26
  197. package/ts3.5/dist/es6/layout/lib/utils/types.d.ts +0 -8
@@ -36,7 +36,7 @@ var __rest = (this && this.__rest) || function (s, e) {
36
36
  import * as React from 'react';
37
37
  import { colors, space, spaceNumbers } from '@workday/canvas-kit-react/tokens';
38
38
  import { styled, generateUniqueId } from '@workday/canvas-kit-react/common';
39
- import { IconButton } from '@workday/canvas-kit-react/button';
39
+ import { TertiaryButton } from '@workday/canvas-kit-react/button';
40
40
  import { searchIcon, xIcon } from '@workday/canvas-system-icons-web';
41
41
  import { FormField, FormFieldLabelPosition } from '@workday/canvas-kit-react/form-field';
42
42
  import { Combobox } from '@workday/canvas-kit-labs-react/combobox';
@@ -106,26 +106,20 @@ var SearchContainer = styled('div')({
106
106
  var SearchCombobox = styled(Combobox)({
107
107
  width: "100%",
108
108
  });
109
- var SearchIcon = styled(IconButton)(function (_a) {
109
+ var SearchIcon = styled(TertiaryButton)(function (_a) {
110
110
  var isCollapsed = _a.isCollapsed, isHidden = _a.isHidden;
111
- var collapsedSize = 40;
112
- var size = 32;
113
- var collapseStyles = isCollapsed
114
- ? {
115
- minWidth: collapsedSize,
116
- width: collapsedSize,
117
- minHeight: collapsedSize,
118
- height: collapsedSize,
119
- }
120
- : {
121
- minWidth: size,
122
- width: size,
123
- minHeight: size,
124
- height: size,
125
- };
126
- return __assign({ position: "absolute", margin: isCollapsed ? "auto " + space.xxs : "auto " + space.xxxs, top: 0, bottom: 0, left: 0, padding: 0, zIndex: 3, display: isHidden ? 'none' : 'flex' }, collapseStyles);
111
+ return {
112
+ position: "absolute",
113
+ margin: isCollapsed ? "auto " + space.xxs : "auto " + space.xxxs,
114
+ top: 0,
115
+ bottom: 0,
116
+ left: 0,
117
+ padding: 0,
118
+ zIndex: 3,
119
+ display: isHidden ? 'none' : 'flex',
120
+ };
127
121
  });
128
- var CloseButton = styled(IconButton)(function (_a) {
122
+ var CloseButton = styled(TertiaryButton)(function (_a) {
129
123
  var isCollapsed = _a.isCollapsed, showForm = _a.showForm;
130
124
  var collapseStyles = isCollapsed && showForm
131
125
  ? {
@@ -221,11 +215,11 @@ var SearchForm = /** @class */ (function (_super) {
221
215
  background = formCollapsedBackground;
222
216
  }
223
217
  var isDarkBackground = chroma(background).get('lab.l') < 70;
224
- return isDarkBackground ? 'inverse' : 'plain';
218
+ return isDarkBackground ? 'inverse' : undefined;
225
219
  };
226
220
  _this.handleSubmit = function (event) {
227
221
  event.preventDefault();
228
- if (_this.state.searchQuery.trim()) {
222
+ if (_this.props.allowEmptyStringSearch || _this.state.searchQuery.trim()) {
229
223
  _this.props.onSubmit(event);
230
224
  }
231
225
  else {
@@ -279,7 +273,7 @@ var SearchForm = /** @class */ (function (_super) {
279
273
  }
280
274
  };
281
275
  SearchForm.prototype.render = function () {
282
- var _a = this.props, _b = _a.clearButtonAriaLabel, clearButtonAriaLabel = _b === void 0 ? 'Reset Search Form' : _b, _c = _a.placeholder, placeholder = _c === void 0 ? 'Search' : _c, _d = _a.inputLabel, inputLabel = _d === void 0 ? 'Search' : _d, _e = _a.submitAriaLabel, submitAriaLabel = _e === void 0 ? 'Search' : _e, _f = _a.openButtonAriaLabel, openButtonAriaLabel = _f === void 0 ? 'Open Search' : _f, _g = _a.closeButtonAriaLabel, closeButtonAriaLabel = _g === void 0 ? 'Cancel' : _g, _h = _a.showClearButton, showClearButton = _h === void 0 ? true : _h, _j = _a.height, height = _j === void 0 ? 40 : _j, grow = _a.grow, onSubmit = _a.onSubmit, isCollapsed = _a.isCollapsed, onInputChange = _a.onInputChange, autocompleteItems = _a.autocompleteItems, initialValue = _a.initialValue, searchTheme = _a.searchTheme, rightAlign = _a.rightAlign, elemProps = __rest(_a, ["clearButtonAriaLabel", "placeholder", "inputLabel", "submitAriaLabel", "openButtonAriaLabel", "closeButtonAriaLabel", "showClearButton", "height", "grow", "onSubmit", "isCollapsed", "onInputChange", "autocompleteItems", "initialValue", "searchTheme", "rightAlign"]);
276
+ var _a = this.props, _b = _a.clearButtonAriaLabel, clearButtonAriaLabel = _b === void 0 ? 'Reset Search Form' : _b, _c = _a.placeholder, placeholder = _c === void 0 ? 'Search' : _c, _d = _a.inputLabel, inputLabel = _d === void 0 ? 'Search' : _d, _e = _a.submitAriaLabel, submitAriaLabel = _e === void 0 ? 'Search' : _e, _f = _a.openButtonAriaLabel, openButtonAriaLabel = _f === void 0 ? 'Open Search' : _f, _g = _a.closeButtonAriaLabel, closeButtonAriaLabel = _g === void 0 ? 'Cancel' : _g, _h = _a.showClearButton, showClearButton = _h === void 0 ? true : _h, _j = _a.height, height = _j === void 0 ? 40 : _j, grow = _a.grow, onSubmit = _a.onSubmit, isCollapsed = _a.isCollapsed, onInputChange = _a.onInputChange, autocompleteItems = _a.autocompleteItems, initialValue = _a.initialValue, searchTheme = _a.searchTheme, rightAlign = _a.rightAlign, _k = _a.allowEmptyStringSearch, allowEmptyStringSearch = _k === void 0 ? false : _k, elemProps = __rest(_a, ["clearButtonAriaLabel", "placeholder", "inputLabel", "submitAriaLabel", "openButtonAriaLabel", "closeButtonAriaLabel", "showClearButton", "height", "grow", "onSubmit", "isCollapsed", "onInputChange", "autocompleteItems", "initialValue", "searchTheme", "rightAlign", "allowEmptyStringSearch"]);
283
277
  return (React.createElement(StyledSearchForm, __assign({ role: "search", action: ".", rightAlign: rightAlign, grow: grow, "aria-labelledby": this.labelId, isCollapsed: isCollapsed, onSubmit: this.handleSubmit, showForm: this.state.showForm }, elemProps),
284
278
  React.createElement(SearchContainer, { height: height },
285
279
  React.createElement(SearchIcon, { "aria-label": submitAriaLabel, icon: searchIcon, isCollapsed: isCollapsed, variant: this.getIconButtonType(), type: "submit", isHidden: !!isCollapsed && !this.state.showForm }),
@@ -287,7 +281,7 @@ var SearchForm = /** @class */ (function (_super) {
287
281
  React.createElement(SearchField, { grow: grow, id: this.labelId, inputId: "input-" + this.labelId, label: inputLabel, labelPosition: FormFieldLabelPosition.Hidden, useFieldset: false, isCollapsed: isCollapsed, showForm: this.state.showForm, height: height },
288
282
  React.createElement(SearchCombobox, { initialValue: initialValue, clearButtonVariant: this.getIconButtonType(), autocompleteItems: autocompleteItems, onChange: this.handleSearchInputChange, onFocus: this.handleFocus, onBlur: this.handleBlur, showClearButton: !isCollapsed && showClearButton, clearButtonAriaLabel: clearButtonAriaLabel, labelId: this.labelId },
289
283
  React.createElement(SearchInput, { ref: this.inputRef, value: this.state.searchQuery, placeholder: placeholder, isCollapsed: isCollapsed, inputColors: this.getThemeColors(), height: height, name: "search", autoComplete: "off" }))),
290
- React.createElement(CloseButton, { "aria-label": closeButtonAriaLabel, icon: xIcon, isCollapsed: isCollapsed, variant: "plain", showForm: this.state.showForm, onClick: this.closeCollapsedSearch, type: "button" }))));
284
+ React.createElement(CloseButton, { "aria-label": closeButtonAriaLabel, icon: xIcon, isCollapsed: isCollapsed, showForm: this.state.showForm, onClick: this.closeCollapsedSearch, type: "button" }))));
291
285
  };
292
286
  SearchForm.Theme = SearchTheme;
293
287
  return SearchForm;
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import styled from '@emotion/styled';
3
3
  import {colors, space, type, CanvasColor, typeColors} from '@workday/canvas-kit-react/tokens';
4
- import {IconButton} from '@workday/canvas-kit-react/button';
4
+ import {TertiaryButton} from '@workday/canvas-kit-react/button';
5
5
  import {xIcon} from '@workday/canvas-system-icons-web';
6
6
 
7
7
  export interface DrawerHeaderProps extends React.HTMLAttributes<HTMLDivElement> {
@@ -69,7 +69,7 @@ const HeaderTitle = styled('h4')<Pick<DrawerHeaderProps, 'inverse'>>(
69
69
  })
70
70
  );
71
71
 
72
- const CloseButton = styled(IconButton)({
72
+ const CloseButton = styled(TertiaryButton)({
73
73
  margin: '-8px', // for inverse and plain button, we always want this margin
74
74
  });
75
75
 
@@ -93,7 +93,7 @@ export default class DrawerHeader extends React.Component<DrawerHeaderProps, {}>
93
93
  </HeaderTitle>
94
94
  {onClose && closeIconAriaLabel && (
95
95
  <CloseButton
96
- variant={inverse ? 'inverse' : 'plain'}
96
+ variant={inverse ? 'inverse' : undefined}
97
97
  onClick={onClose}
98
98
  aria-label={closeIconAriaLabel}
99
99
  icon={xIcon}
package/index.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  export * from './combobox';
2
2
  export * from './common';
3
3
  export * from './drawer';
4
- export * from './layout';
5
4
  export * from './search-form';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@workday/canvas-kit-labs-react",
3
- "version": "7.0.0-alpha.0-next.6+54a4c8c1",
3
+ "version": "7.0.0-alpha.79-next.7+578f91ad",
4
4
  "description": "Canvas Kit Labs is an incubator for new and experimental components. Since we have a rather rigorous process for getting components in at a production level, it can be valuable to make them available earlier while we continuously iterate on the API/functionality. The Labs modules allow us to do that as needed.",
5
5
  "author": "Workday, Inc. (https://www.workday.com)",
6
6
  "license": "Apache-2.0",
@@ -52,19 +52,17 @@
52
52
  "react": "^16.8 || ^17.0"
53
53
  },
54
54
  "dependencies": {
55
- "@emotion/is-prop-valid": "^1.1.1",
56
55
  "@emotion/react": "^11.7.1",
57
56
  "@emotion/styled": "^11.6.0",
58
- "@workday/canvas-kit-preview-react": "^7.0.0-alpha.0-next.6+54a4c8c1",
59
- "@workday/canvas-kit-react": "^7.0.0-alpha.0-next.6+54a4c8c1",
57
+ "@workday/canvas-kit-preview-react": "^7.0.0-alpha.79-next.7+578f91ad",
58
+ "@workday/canvas-kit-react": "^7.0.0-alpha.79-next.7+578f91ad",
60
59
  "@workday/canvas-system-icons-web": "1.0.41",
61
60
  "chroma-js": "^2.1.0",
62
- "csstype": "^2.6.17",
63
61
  "lodash.flatten": "^4.4.0",
64
62
  "rtl-css-js": "^1.14.1"
65
63
  },
66
64
  "devDependencies": {
67
65
  "@types/lodash.flatten": "^4.4.6"
68
66
  },
69
- "gitHead": "54a4c8c15a1863d7560dc5a1397028c0e6d72236"
67
+ "gitHead": "578f91adfde267929daf4f55b7a6463f8739421e"
70
68
  }
@@ -2,7 +2,7 @@ import * as React from 'react';
2
2
  import {CSSObject} from '@emotion/styled';
3
3
  import {colors, space, spaceNumbers} from '@workday/canvas-kit-react/tokens';
4
4
  import {GrowthBehavior, styled, generateUniqueId} from '@workday/canvas-kit-react/common';
5
- import {IconButton, IconButtonProps} from '@workday/canvas-kit-react/button';
5
+ import {TertiaryButton, TertiaryButtonProps} from '@workday/canvas-kit-react/button';
6
6
  import {searchIcon, xIcon} from '@workday/canvas-system-icons-web';
7
7
  import {FormField, FormFieldLabelPosition} from '@workday/canvas-kit-react/form-field';
8
8
  import {Combobox} from '@workday/canvas-kit-labs-react/combobox';
@@ -82,6 +82,11 @@ export interface SearchFormProps extends GrowthBehavior, React.FormHTMLAttribute
82
82
  * @default 40
83
83
  */
84
84
  height?: number;
85
+ /**
86
+ * If true, allow onSubmit being called when input value is empty.
87
+ * @default false
88
+ */
89
+ allowEmptyStringSearch?: boolean;
85
90
  }
86
91
 
87
92
  export interface SearchFormState {
@@ -164,39 +169,22 @@ const SearchCombobox = styled(Combobox)({
164
169
  width: `100%`,
165
170
  });
166
171
 
167
- const SearchIcon = styled(IconButton)<Pick<SearchFormProps, 'isCollapsed'> & {isHidden: boolean}>(
168
- ({isCollapsed, isHidden}) => {
169
- const collapsedSize = 40;
170
- const size = 32;
171
- const collapseStyles: CSSObject = isCollapsed
172
- ? {
173
- minWidth: collapsedSize,
174
- width: collapsedSize,
175
- minHeight: collapsedSize,
176
- height: collapsedSize,
177
- }
178
- : {
179
- minWidth: size,
180
- width: size,
181
- minHeight: size,
182
- height: size,
183
- };
184
-
185
- return {
186
- position: `absolute`,
187
- margin: isCollapsed ? `auto ${space.xxs}` : `auto ${space.xxxs}`,
188
- top: 0,
189
- bottom: 0,
190
- left: 0,
191
- padding: 0,
192
- zIndex: 3,
193
- display: isHidden ? 'none' : 'flex',
194
- ...collapseStyles,
195
- };
196
- }
197
- );
172
+ const SearchIcon = styled(TertiaryButton)<
173
+ Pick<SearchFormProps, 'isCollapsed'> & {isHidden: boolean}
174
+ >(({isCollapsed, isHidden}) => {
175
+ return {
176
+ position: `absolute`,
177
+ margin: isCollapsed ? `auto ${space.xxs}` : `auto ${space.xxxs}`,
178
+ top: 0,
179
+ bottom: 0,
180
+ left: 0,
181
+ padding: 0,
182
+ zIndex: 3,
183
+ display: isHidden ? 'none' : 'flex',
184
+ };
185
+ });
198
186
 
199
- const CloseButton = styled(IconButton)<
187
+ const CloseButton = styled(TertiaryButton)<
200
188
  Pick<SearchFormProps, 'isCollapsed'> & Pick<SearchFormState, 'showForm'>
201
189
  >(({isCollapsed, showForm}) => {
202
190
  const collapseStyles: CSSObject =
@@ -320,18 +308,18 @@ export class SearchForm extends React.Component<SearchFormProps, SearchFormState
320
308
  return getInputColors(theme, this.state.isFocused);
321
309
  };
322
310
 
323
- getIconButtonType = (): IconButtonProps['variant'] => {
311
+ getIconButtonType = (): TertiaryButtonProps['variant'] => {
324
312
  let background = this.getThemeColors().background || `#fff`;
325
313
  if (this.props.isCollapsed && this.state.showForm) {
326
314
  background = formCollapsedBackground;
327
315
  }
328
316
  const isDarkBackground = chroma(background as string).get('lab.l') < 70;
329
- return isDarkBackground ? 'inverse' : 'plain';
317
+ return isDarkBackground ? 'inverse' : undefined;
330
318
  };
331
319
 
332
320
  handleSubmit = (event: React.FormEvent<HTMLFormElement>): void => {
333
321
  event.preventDefault();
334
- if (this.state.searchQuery.trim()) {
322
+ if (this.props.allowEmptyStringSearch || this.state.searchQuery.trim()) {
335
323
  this.props.onSubmit(event);
336
324
  } else {
337
325
  this.focusInput();
@@ -407,6 +395,7 @@ export class SearchForm extends React.Component<SearchFormProps, SearchFormState
407
395
  initialValue,
408
396
  searchTheme,
409
397
  rightAlign,
398
+ allowEmptyStringSearch = false,
410
399
  ...elemProps
411
400
  } = this.props;
412
401
 
@@ -479,7 +468,6 @@ export class SearchForm extends React.Component<SearchFormProps, SearchFormState
479
468
  aria-label={closeButtonAriaLabel}
480
469
  icon={xIcon}
481
470
  isCollapsed={isCollapsed}
482
- variant="plain"
483
471
  showForm={this.state.showForm}
484
472
  onClick={this.closeCollapsedSearch}
485
473
  type="button"
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { GrowthBehavior } from '@workday/canvas-kit-react/common';
3
3
  import { MenuItemProps } from '@workday/canvas-kit-preview-react/menu';
4
- import { IconButtonProps } from '@workday/canvas-kit-react/button';
4
+ import { TertiaryButtonProps } from '@workday/canvas-kit-react/button';
5
5
  import { TextInputProps } from '@workday/canvas-kit-react/text-input';
6
6
  export interface ComboBoxMenuItemGroup {
7
7
  header: React.ReactElement<MenuItemProps>;
@@ -17,10 +17,9 @@ export interface ComboboxProps extends GrowthBehavior, React.HTMLAttributes<HTML
17
17
  */
18
18
  initialValue?: string;
19
19
  /**
20
- * The variant of the Combobox clear button.
21
- * @default IconButton.Variant.Plain
20
+ * The variant of the Combobox clear button. The default is a TertiaryButton
22
21
  */
23
- clearButtonVariant?: IconButtonProps['variant'];
22
+ clearButtonVariant?: TertiaryButtonProps['variant'];
24
23
  /**
25
24
  * If true, render the Combobox with a button to clear the text input.
26
25
  * @default false
@@ -1,12 +1,4 @@
1
- export * from './lib/Box';
2
1
  export * from './lib/theming';
3
- export { BorderStyleProps } from './lib/utils/border';
4
- export { ColorStyleProps } from './lib/utils/color';
5
- export { DepthStyleProps } from './lib/utils/depth';
6
- export { FlexItemStyleProps } from './lib/utils/flexItem';
7
- export { LayoutStyleProps } from './lib/utils/layout';
8
- export { PositionStyleProps } from './lib/utils/position';
9
- export { SpaceStyleProps } from './lib/utils/space';
10
2
  export { ComponentStatesTable } from './lib/storybook-utils/ComponentStatesTable';
11
3
  export { permutateProps } from './lib/storybook-utils/permutateProps';
12
4
  //# sourceMappingURL=index.d.ts.map
@@ -1,6 +1,5 @@
1
1
  export * from './combobox';
2
2
  export * from './common';
3
3
  export * from './drawer';
4
- export * from './layout';
5
4
  export * from './search-form';
6
5
  //# sourceMappingURL=index.d.ts.map
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { GrowthBehavior } from '@workday/canvas-kit-react/common';
3
- import { IconButtonProps } from '@workday/canvas-kit-react/button';
3
+ import { TertiaryButtonProps } from '@workday/canvas-kit-react/button';
4
4
  import { MenuItemProps } from '@workday/canvas-kit-preview-react/menu';
5
5
  import { SearchTheme, SearchThemeAttributes } from './themes';
6
6
  export interface SearchFormProps extends GrowthBehavior, React.FormHTMLAttributes<HTMLFormElement> {
@@ -74,6 +74,11 @@ export interface SearchFormProps extends GrowthBehavior, React.FormHTMLAttribute
74
74
  * @default 40
75
75
  */
76
76
  height?: number;
77
+ /**
78
+ * If true, allow onSubmit being called when input value is empty.
79
+ * @default false
80
+ */
81
+ allowEmptyStringSearch?: boolean;
77
82
  }
78
83
  export interface SearchFormState {
79
84
  showForm: boolean;
@@ -88,7 +93,7 @@ export declare class SearchForm extends React.Component<SearchFormProps, SearchF
88
93
  state: Readonly<SearchFormState>;
89
94
  private getTheme;
90
95
  private getThemeColors;
91
- getIconButtonType: () => IconButtonProps['variant'];
96
+ getIconButtonType: () => TertiaryButtonProps['variant'];
92
97
  handleSubmit: (event: React.FormEvent<HTMLFormElement>) => void;
93
98
  openCollapsedSearch: () => void;
94
99
  closeCollapsedSearch: () => void;
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { GrowthBehavior } from '@workday/canvas-kit-react/common';
3
3
  import { MenuItemProps } from '@workday/canvas-kit-preview-react/menu';
4
- import { IconButtonProps } from '@workday/canvas-kit-react/button';
4
+ import { TertiaryButtonProps } from '@workday/canvas-kit-react/button';
5
5
  import { TextInputProps } from '@workday/canvas-kit-react/text-input';
6
6
  export interface ComboBoxMenuItemGroup {
7
7
  header: React.ReactElement<MenuItemProps>;
@@ -17,10 +17,9 @@ export interface ComboboxProps extends GrowthBehavior, React.HTMLAttributes<HTML
17
17
  */
18
18
  initialValue?: string;
19
19
  /**
20
- * The variant of the Combobox clear button.
21
- * @default IconButton.Variant.Plain
20
+ * The variant of the Combobox clear button. The default is a TertiaryButton
22
21
  */
23
- clearButtonVariant?: IconButtonProps['variant'];
22
+ clearButtonVariant?: TertiaryButtonProps['variant'];
24
23
  /**
25
24
  * If true, render the Combobox with a button to clear the text input.
26
25
  * @default false
@@ -1,12 +1,4 @@
1
- export * from './lib/Box';
2
1
  export * from './lib/theming';
3
- export { BorderStyleProps } from './lib/utils/border';
4
- export { ColorStyleProps } from './lib/utils/color';
5
- export { DepthStyleProps } from './lib/utils/depth';
6
- export { FlexItemStyleProps } from './lib/utils/flexItem';
7
- export { LayoutStyleProps } from './lib/utils/layout';
8
- export { PositionStyleProps } from './lib/utils/position';
9
- export { SpaceStyleProps } from './lib/utils/space';
10
2
  export { ComponentStatesTable } from './lib/storybook-utils/ComponentStatesTable';
11
3
  export { permutateProps } from './lib/storybook-utils/permutateProps';
12
4
  //# sourceMappingURL=index.d.ts.map
@@ -1,6 +1,5 @@
1
1
  export * from './combobox';
2
2
  export * from './common';
3
3
  export * from './drawer';
4
- export * from './layout';
5
4
  export * from './search-form';
6
5
  //# sourceMappingURL=index.d.ts.map
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { GrowthBehavior } from '@workday/canvas-kit-react/common';
3
- import { IconButtonProps } from '@workday/canvas-kit-react/button';
3
+ import { TertiaryButtonProps } from '@workday/canvas-kit-react/button';
4
4
  import { MenuItemProps } from '@workday/canvas-kit-preview-react/menu';
5
5
  import { SearchTheme, SearchThemeAttributes } from './themes';
6
6
  export interface SearchFormProps extends GrowthBehavior, React.FormHTMLAttributes<HTMLFormElement> {
@@ -74,6 +74,11 @@ export interface SearchFormProps extends GrowthBehavior, React.FormHTMLAttribute
74
74
  * @default 40
75
75
  */
76
76
  height?: number;
77
+ /**
78
+ * If true, allow onSubmit being called when input value is empty.
79
+ * @default false
80
+ */
81
+ allowEmptyStringSearch?: boolean;
77
82
  }
78
83
  export interface SearchFormState {
79
84
  showForm: boolean;
@@ -88,7 +93,7 @@ export declare class SearchForm extends React.Component<SearchFormProps, SearchF
88
93
  state: Readonly<SearchFormState>;
89
94
  private getTheme;
90
95
  private getThemeColors;
91
- getIconButtonType: () => IconButtonProps['variant'];
96
+ getIconButtonType: () => TertiaryButtonProps['variant'];
92
97
  handleSubmit: (event: React.FormEvent<HTMLFormElement>) => void;
93
98
  openCollapsedSearch: () => void;
94
99
  closeCollapsedSearch: () => void;
@@ -1,92 +0,0 @@
1
- import * as React from 'react';
2
- import styled from '@emotion/styled';
3
- import isPropValid from '@emotion/is-prop-valid';
4
- import {createComponent, StyledType, useConstant} from '@workday/canvas-kit-react/common';
5
-
6
- // style props
7
- import {border, BorderStyleProps} from './utils/border';
8
- import {color, ColorStyleProps} from './utils/color';
9
- import {depth, DepthStyleProps} from './utils/depth';
10
- import {flexItem, FlexItemStyleProps} from './utils/flexItem';
11
- import {layout, LayoutStyleProps} from './utils/layout';
12
- import {other, OtherStyleProps} from './utils/other';
13
- import {position, PositionStyleProps} from './utils/position';
14
- import {space, SpaceStyleProps} from './utils/space';
15
-
16
- export type BoxProps = BorderStyleProps &
17
- ColorStyleProps &
18
- DepthStyleProps &
19
- FlexItemStyleProps &
20
- LayoutStyleProps &
21
- OtherStyleProps &
22
- PositionStyleProps &
23
- SpaceStyleProps & {
24
- children?: React.ReactNode;
25
- };
26
-
27
- const omittedProps = ['display', 'color', 'height', 'overflow', 'width', 'border', 'background'];
28
-
29
- const shouldForwardProp = (prop: string) => {
30
- return isPropValid(prop) && !omittedProps.includes(prop);
31
- };
32
-
33
- // Meant to be used with elements. The `shouldForwardProps` will remove all style props
34
- const StyledBoxElement = styled('div', {shouldForwardProp})<StyledType & BoxProps>(
35
- {
36
- boxSizing: 'border-box',
37
- },
38
- border,
39
- color,
40
- depth,
41
- flexItem,
42
- layout,
43
- position,
44
- space
45
- );
46
-
47
- // Meant to be used with components. There is no `shouldForwardProps` - all props will be forwarded to the component
48
- const StyledBoxComponent = styled('div')<StyledType & BoxProps>(
49
- {
50
- boxSizing: 'border-box',
51
- },
52
- border,
53
- color,
54
- depth,
55
- flexItem,
56
- layout,
57
- other,
58
- position,
59
- space
60
- );
61
-
62
- /**
63
- * `Box` is a primitive component that provides a common, ergonomic API around Canvas design tokens.
64
- * It is highly flexible, and its primary purpose is to build other components.
65
- *
66
- * @example
67
- * import { Box, BoxProps } from '@workday/canvas-kit-labs-react/common';
68
- *
69
- * interface CardProps extends BoxProps {
70
- * // card-specific props
71
- * }
72
- *
73
- * // `Card`'s default values are set using `BoxProps`
74
- * const Card = (props: CardProps) => (
75
- * <Box depth={2} padding="m" borderRadius="l" {...props}>Hello, Card!</Box>
76
- * );
77
- *
78
- */
79
- export const Box = createComponent('div')({
80
- displayName: 'Box',
81
- Component: ({children, ...elemProps}: BoxProps, ref, Element) => {
82
- const BoxComponent = useConstant(() =>
83
- typeof Element === 'string' ? StyledBoxElement : StyledBoxComponent
84
- );
85
-
86
- return (
87
- <BoxComponent as={Element} ref={ref} {...elemProps}>
88
- {children}
89
- </BoxComponent>
90
- );
91
- },
92
- });