@automattic/vip-design-system 0.7.0 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/.eslines.json +10 -0
  2. package/.eslintignore +7 -0
  3. package/.eslintrc.json +23 -0
  4. package/.github/PULL_REQUEST_TEMPLATE.md +22 -0
  5. package/.github/workflows/codeql-analysis.yml +71 -0
  6. package/.github/workflows/nodejs.yaml +29 -0
  7. package/.prettierrc +9 -0
  8. package/.storybook/preview.js +8 -7
  9. package/README.md +52 -2
  10. package/babel.config.js +10 -10
  11. package/build/system/Avatar/Avatar.js +6 -2
  12. package/build/system/Avatar/Avatar.test.js +54 -0
  13. package/build/system/Badge/Badge.js +2 -2
  14. package/build/system/BlankState/BlankState.js +5 -4
  15. package/build/system/Button/Button.js +5 -1
  16. package/build/system/Card/Card.js +8 -5
  17. package/build/system/Code/Code.js +4 -4
  18. package/build/system/ConfirmationDialog/ConfirmationDialog.js +2 -2
  19. package/build/system/Dialog/Dialog.js +3 -0
  20. package/build/system/Dialog/DialogButton.js +2 -4
  21. package/build/system/Dialog/DialogContent.js +5 -5
  22. package/build/system/Form/Checkbox.js +52 -5
  23. package/build/system/Form/InlineSelect.js +32 -16
  24. package/build/system/Form/Input.js +9 -6
  25. package/build/system/Form/Label.js +2 -2
  26. package/build/system/Form/RadioBoxGroup.js +101 -0
  27. package/build/system/Form/SearchSelect.js +36 -56
  28. package/build/system/Form/Select.js +3 -3
  29. package/build/system/Form/Textarea.js +9 -6
  30. package/build/system/Form/Toggle.js +1 -1
  31. package/build/system/Form/ToggleGroup.js +78 -0
  32. package/build/system/Form/ToggleRow.js +6 -5
  33. package/build/system/Form/Validation.js +4 -4
  34. package/build/system/Form/index.js +8 -0
  35. package/build/system/Notice/Notice.js +58 -54
  36. package/build/system/Notification/Notification.js +4 -4
  37. package/build/system/OptionRow/OptionRow.js +12 -11
  38. package/build/system/ResourceList/ResourceItem.js +89 -0
  39. package/build/system/ResourceList/ResourceList.js +121 -0
  40. package/build/system/ResourceList/index.js +11 -0
  41. package/build/system/Table/TableRow.js +2 -2
  42. package/build/system/Tabs/TabItem.js +3 -3
  43. package/build/system/Tabs/Tabs.js +1 -1
  44. package/build/system/Time/index.js +91 -0
  45. package/build/system/Tooltip/Tooltip.js +49 -47
  46. package/build/system/Wizard/WizardStep.js +5 -5
  47. package/build/system/Wizard/WizardStepHorizontal.js +2 -2
  48. package/build/system/index.js +9 -2
  49. package/build/system/theme/colors.js +235 -131
  50. package/build/system/theme/index.js +140 -107
  51. package/package.json +48 -11
  52. package/src/system/Avatar/Avatar.js +6 -2
  53. package/src/system/Avatar/Avatar.stories.js +0 -5
  54. package/src/system/Avatar/Avatar.test.js +31 -0
  55. package/src/system/Badge/Badge.js +3 -3
  56. package/src/system/Badge/Badge.stories.js +0 -5
  57. package/src/system/BlankState/BlankState.js +5 -5
  58. package/src/system/BlankState/BlankState.stories.js +0 -5
  59. package/src/system/Box/Box.stories.js +0 -5
  60. package/src/system/Button/Button.js +6 -2
  61. package/src/system/Card/Card.js +6 -4
  62. package/src/system/Card/Card.stories.js +0 -5
  63. package/src/system/Code/Code.js +4 -4
  64. package/src/system/Code/Code.stories.js +4 -1
  65. package/src/system/ConfirmationDialog/ConfirmationDialog.js +2 -2
  66. package/src/system/ConfirmationDialog/ConfirmationDialog.stories.js +0 -5
  67. package/src/system/Dialog/Dialog.js +1 -1
  68. package/src/system/Dialog/Dialog.stories.js +0 -5
  69. package/src/system/Dialog/DialogButton.js +2 -3
  70. package/src/system/Dialog/DialogContent.js +17 -4
  71. package/src/system/Flex/Flex.stories.js +0 -5
  72. package/src/system/Form/Checkbox.js +44 -2
  73. package/src/system/Form/InlineSelect.js +30 -15
  74. package/src/system/Form/Input.js +6 -4
  75. package/src/system/Form/Input.stories.js +0 -5
  76. package/src/system/Form/Label.js +2 -2
  77. package/src/system/Form/RadioBoxGroup.js +68 -0
  78. package/src/system/Form/RadioBoxGroup.stories.js +37 -0
  79. package/src/system/Form/SearchSelect.js +35 -42
  80. package/src/system/Form/Select.js +18 -18
  81. package/src/system/Form/Select.stories.js +1 -1
  82. package/src/system/Form/Textarea.js +6 -4
  83. package/src/system/Form/Toggle.js +1 -1
  84. package/src/system/Form/ToggleGroup.js +63 -0
  85. package/src/system/Form/ToggleGroup.stories.js +34 -0
  86. package/src/system/Form/ToggleRow.js +5 -5
  87. package/src/system/Form/Validation.js +2 -2
  88. package/src/system/Form/index.js +3 -1
  89. package/src/system/Grid/Grid.stories.js +0 -5
  90. package/src/system/Heading/Heading.stories.js +0 -5
  91. package/src/system/Link/Link.stories.js +0 -5
  92. package/src/system/Notice/Notice.js +33 -28
  93. package/src/system/Notification/Notification.js +6 -6
  94. package/src/system/Notification/Notification.stories.js +0 -5
  95. package/src/system/OptionRow/OptionRow.js +37 -32
  96. package/src/system/OptionRow/OptionRow.stories.js +0 -5
  97. package/src/system/Progress/Progress.stories.js +0 -5
  98. package/src/system/ResourceList/ResourceItem.js +66 -0
  99. package/src/system/ResourceList/ResourceList.js +96 -0
  100. package/src/system/ResourceList/ResourceList.stories.js +300 -0
  101. package/src/system/ResourceList/index.js +7 -0
  102. package/src/system/Spinner/Spinner.stories.js +0 -5
  103. package/src/system/Table/Table.stories.js +0 -5
  104. package/src/system/Table/TableRow.js +3 -3
  105. package/src/system/Tabs/TabItem.js +3 -3
  106. package/src/system/Tabs/Tabs.js +1 -1
  107. package/src/system/Tabs/Tabs.stories.js +0 -5
  108. package/src/system/Text/Text.stories.js +0 -5
  109. package/src/system/{Timeline/Timeline.stories.js → Time/Time.stories.js} +5 -5
  110. package/src/system/Time/index.js +62 -0
  111. package/src/system/Tooltip/Tooltip.js +40 -35
  112. package/src/system/Tooltip/Tooltip.stories.js +0 -5
  113. package/src/system/Wizard/Wizard.js +7 -7
  114. package/src/system/Wizard/WizardStep.js +10 -10
  115. package/src/system/Wizard/WizardStepHorizontal.js +3 -3
  116. package/src/system/index.js +29 -4
  117. package/src/system/theme/colors.js +233 -129
  118. package/src/system/theme/index.js +298 -256
  119. package/test/setupAfterEnv.js +13 -0
  120. package/test/setupTests.js +4 -0
  121. package/src/system/Timeline/index.js +0 -40
@@ -13,7 +13,7 @@ var _SearchSelect = require("./SearchSelect");
13
13
 
14
14
  var _jsxRuntime = require("theme-ui/jsx-runtime");
15
15
 
16
- var _excluded = ["label", "value", "options", "noneLabel"];
16
+ var _excluded = ["label", "value", "options", "noneLabel", "position"];
17
17
 
18
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
19
 
@@ -28,8 +28,7 @@ var selectStyles = {
28
28
  margin: 0,
29
29
  border: 0,
30
30
  padding: 0,
31
- boxShadow: 'none',
32
- fontSize: _.theme.fontSizes[2]
31
+ boxShadow: 'none'
33
32
  });
34
33
  },
35
34
  container: function container(provided) {
@@ -52,7 +51,7 @@ var selectStyles = {
52
51
  menu: function menu() {
53
52
  return {
54
53
  boxShadow: 'none',
55
- borderTop: "1px solid " + _.theme.colors.border
54
+ borderTop: '1px solid'
56
55
  };
57
56
  }
58
57
  };
@@ -63,6 +62,8 @@ var InlineSelect = function InlineSelect(_ref) {
63
62
  options = _ref.options,
64
63
  _ref$noneLabel = _ref.noneLabel,
65
64
  noneLabel = _ref$noneLabel === void 0 ? 'All' : _ref$noneLabel,
65
+ _ref$position = _ref.position,
66
+ position = _ref$position === void 0 ? 'left' : _ref$position,
66
67
  props = _objectWithoutPropertiesLoose(_ref, _excluded);
67
68
 
68
69
  var valueLabel = noneLabel;
@@ -90,25 +91,39 @@ var InlineSelect = function InlineSelect(_ref) {
90
91
  hideSelectedOptions: false,
91
92
  isClearable: false,
92
93
  menuIsOpen: true,
93
- options: options,
94
94
  styles: selectStyles,
95
+ classNamePrefix: 'select',
96
+ options: options,
95
97
  placeholder: "Search...",
96
98
  tabSelectsValue: false,
97
- value: value
98
- }, props, {
99
- theme: function theme(_theme) {
100
- return _extends({}, _theme, {
101
- colors: _extends({}, _theme.colors, {
102
- primary25: _.theme.colors.hover,
103
- primary50: _.theme.colors.brand['7'],
104
- primary: _.theme.colors.heading
105
- })
106
- });
99
+ value: value,
100
+ sx: {
101
+ '.select__control': {
102
+ background: 'none',
103
+ color: 'heading'
104
+ },
105
+ '.select__single-value': {
106
+ color: 'heading',
107
+ px: 1
108
+ },
109
+ '.react-select__option': {
110
+ bg: 'grey.10',
111
+ '&:hover': {
112
+ bg: 'grey.10'
113
+ }
114
+ },
115
+ '.select__option--is-focused': {
116
+ bg: 'grey.10'
117
+ },
118
+ '.select__menu': {
119
+ borderColor: 'border'
120
+ }
107
121
  }
108
- }))
122
+ }, props))
109
123
  });
110
124
  return (0, _jsxRuntime.jsx)(_.Dialog, {
111
125
  content: Content,
126
+ position: position,
112
127
  trigger: (0, _jsxRuntime.jsx)(_.DialogButton, {
113
128
  sx: {
114
129
  width: '100%'
@@ -125,5 +140,6 @@ InlineSelect.propTypes = {
125
140
  // https://react-select.com/props
126
141
  value: _propTypes["default"].oneOfType([_propTypes["default"].array, _propTypes["default"].object]),
127
142
  options: _propTypes["default"].array,
143
+ position: _propTypes["default"].string,
128
144
  noneLabel: _propTypes["default"].string
129
145
  };
@@ -19,7 +19,7 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
19
19
 
20
20
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
21
21
 
22
- var Input = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
22
+ var InputComponent = function InputComponent(_ref, ref) {
23
23
  var variant = _ref.variant,
24
24
  label = _ref.label,
25
25
  forLabel = _ref.forLabel,
@@ -38,7 +38,7 @@ var Input = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
38
38
  required: required,
39
39
  sx: {
40
40
  border: '1px solid',
41
- borderColor: 'border',
41
+ borderColor: 'grey.60',
42
42
  backgroundColor: 'card',
43
43
  borderRadius: 1,
44
44
  lineHeight: 'inherit',
@@ -64,14 +64,17 @@ var Input = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
64
64
  children: errorMessage
65
65
  })]
66
66
  });
67
- });
67
+ };
68
68
 
69
- exports.Input = Input;
70
- Input.propTypes = {
69
+ InputComponent.propTypes = {
71
70
  variant: _propTypes["default"].string,
72
71
  label: _propTypes["default"].string,
73
72
  hasError: _propTypes["default"].bool,
74
73
  required: _propTypes["default"].bool,
75
74
  forLabel: _propTypes["default"].string,
76
75
  errorMessage: _propTypes["default"].string
77
- };
76
+ };
77
+
78
+ var Input = /*#__PURE__*/_react["default"].forwardRef(InputComponent);
79
+
80
+ exports.Input = Input;
@@ -11,12 +11,12 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
11
11
 
12
12
  var Label = function Label(props) {
13
13
  return (0, _jsxRuntime.jsx)(_.Heading, _extends({
14
- variant: "caps",
14
+ variant: "h4",
15
15
  as: "label",
16
16
  sx: {
17
17
  display: 'block',
18
18
  mb: 2,
19
- color: 'text'
19
+ color: 'muted'
20
20
  }
21
21
  }, props));
22
22
  };
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.RadioBoxGroup = void 0;
5
+
6
+ var _propTypes = _interopRequireDefault(require("prop-types"));
7
+
8
+ var RadioGroupPrimitive = _interopRequireWildcard(require("@radix-ui/react-radio-group"));
9
+
10
+ var _md = require("react-icons/md");
11
+
12
+ var _ = require("../");
13
+
14
+ var _jsxRuntime = require("theme-ui/jsx-runtime");
15
+
16
+ var _excluded = ["onChange", "groupLabel", "value", "options"];
17
+
18
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
+
20
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
+
22
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
23
+
24
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
25
+
26
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
27
+
28
+ var RadioBoxGroup = function RadioBoxGroup(_ref) {
29
+ var onChange = _ref.onChange,
30
+ groupLabel = _ref.groupLabel,
31
+ value = _ref.value,
32
+ options = _ref.options,
33
+ props = _objectWithoutPropertiesLoose(_ref, _excluded);
34
+
35
+ return (0, _jsxRuntime.jsx)(RadioGroupPrimitive.Root, _extends({
36
+ onValueChange: onChange,
37
+ value: value,
38
+ "aria-label": groupLabel,
39
+ sx: {
40
+ display: 'flex',
41
+ gap: 2
42
+ }
43
+ }, props, {
44
+ children: options.map(function (option, index) {
45
+ return (0, _jsxRuntime.jsxs)(RadioGroupPrimitive.Item, {
46
+ value: option.value,
47
+ id: "o" + index,
48
+ sx: {
49
+ p: 3,
50
+ background: 'none',
51
+ cursor: 'pointer',
52
+ borderRadius: 2,
53
+ textAlign: 'left',
54
+ border: '1px solid',
55
+ borderColor: 'border',
56
+ position: 'relative',
57
+ '&:hover': {
58
+ borderColor: 'grey.10'
59
+ },
60
+ '&[data-state=checked]': {
61
+ borderColor: 'primary'
62
+ }
63
+ },
64
+ children: [(0, _jsxRuntime.jsx)(RadioGroupPrimitive.Indicator, {
65
+ children: (0, _jsxRuntime.jsx)(_md.MdCheckCircle, {
66
+ size: 16,
67
+ sx: {
68
+ position: 'absolute',
69
+ top: 2,
70
+ right: 2,
71
+ color: 'primary'
72
+ }
73
+ })
74
+ }), (0, _jsxRuntime.jsx)(_.Heading, {
75
+ variant: "h4",
76
+ as: "label",
77
+ htmlFor: "o" + index,
78
+ sx: {
79
+ mb: 0
80
+ },
81
+ children: option.label
82
+ }), (0, _jsxRuntime.jsx)(_.Text, {
83
+ sx: {
84
+ color: 'muted',
85
+ mb: 0,
86
+ fontSize: 1
87
+ },
88
+ children: option.description
89
+ })]
90
+ }, option.value);
91
+ })
92
+ }));
93
+ };
94
+
95
+ exports.RadioBoxGroup = RadioBoxGroup;
96
+ RadioBoxGroup.propTypes = {
97
+ onChange: _propTypes["default"].func,
98
+ options: _propTypes["default"].array,
99
+ value: _propTypes["default"].string,
100
+ groupLabel: _propTypes["default"].string
101
+ };
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.SearchSelect = exports.DropdownIndicator = exports.Option = exports.selectStyles = void 0;
4
+ exports.SearchSelect = exports.DropdownIndicator = exports.Option = void 0;
5
5
 
6
6
  var _md = require("react-icons/md");
7
7
 
@@ -23,51 +23,9 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
23
23
 
24
24
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
25
 
26
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
27
-
28
26
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
29
27
 
30
- var selectStyles = {
31
- control: function control(provided) {
32
- return _extends({}, provided, {
33
- border: "1px solid " + _.theme.colors.border,
34
- margin: 0,
35
- padding: 0,
36
- boxShadow: 'none',
37
- fontSize: _.theme.fontSizes[2]
38
- });
39
- },
40
- option: function option(provided) {
41
- return _extends({}, provided, {
42
- paddingTop: _.theme.space[1],
43
- paddingBottom: _.theme.space[1],
44
- paddingLeft: _.theme.space[2]
45
- });
46
- },
47
- menu: function menu(provided) {
48
- return _extends({}, provided, {
49
- boxShadow: _.theme.shadows.low
50
- });
51
- },
52
- indicatorSeparator: function indicatorSeparator() {
53
- return {
54
- display: 'none'
55
- };
56
- },
57
- valueContainer: function valueContainer(provided) {
58
- return _extends({}, provided, {
59
- paddingLeft: _.theme.space[1],
60
- paddingRight: _.theme.space[1]
61
- });
62
- },
63
- singleValue: function singleValue(provided) {
64
- return _extends({}, provided, {
65
- paddingLeft: _.theme.space[1],
66
- paddingRight: _.theme.space[1]
67
- });
68
- }
69
- };
70
- exports.selectStyles = selectStyles;
28
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
71
29
 
72
30
  var Option = function Option(_ref) {
73
31
  var label = _ref.label,
@@ -84,7 +42,7 @@ var Option = function Option(_ref) {
84
42
  sx: {
85
43
  mb: 0,
86
44
  mr: 2,
87
- color: 'green.60',
45
+ color: 'green.80',
88
46
  svg: {
89
47
  display: 'block'
90
48
  }
@@ -142,22 +100,44 @@ ClearIndicator.propTypes = {
142
100
 
143
101
  var SearchSelect = function SearchSelect(props) {
144
102
  return (0, _jsxRuntime.jsx)(_reactSelect["default"], _extends({}, props, {
103
+ classNamePrefix: 'select',
145
104
  components: {
146
105
  Option: Option,
147
106
  DropdownIndicator: DropdownIndicator,
148
107
  ClearIndicator: ClearIndicator
149
108
  },
150
- styles: selectStyles,
151
- theme: function theme(_theme) {
152
- return _extends({}, _theme, {
153
- colors: _extends({}, _theme.colors, {
154
- primary25: _.theme.colors.hover,
155
- primary50: _.theme.colors.brand['7'],
156
- primary: _.theme.colors.heading,
157
- dangerLight: _.theme.colors.red['10'],
158
- danger: _.theme.colors.red['70']
159
- })
160
- });
109
+ sx: {
110
+ '.select__control': {
111
+ background: 'none',
112
+ color: 'heading',
113
+ border: '1px solid',
114
+ borderColor: 'border',
115
+ margin: 0,
116
+ padding: 0,
117
+ boxShadow: 'none',
118
+ fontSize: 2
119
+ },
120
+ '.select__single-value': {
121
+ color: 'heading',
122
+ px: 1
123
+ },
124
+ '.select__menu': {
125
+ bg: 'dialog',
126
+ boxShadow: 'medium'
127
+ },
128
+ '.react-select__option': {
129
+ color: 'text',
130
+ paddingTop: 1,
131
+ paddingBottom: 1,
132
+ paddingLeft: 2,
133
+ bg: 'hover',
134
+ '&:hover': {
135
+ bg: 'hover'
136
+ }
137
+ },
138
+ '.select__option--is-focused': {
139
+ bg: 'hover'
140
+ }
161
141
  }
162
142
  }));
163
143
  };
@@ -45,9 +45,9 @@ var Select = function Select(_ref) {
45
45
 
46
46
  exports.Select = Select;
47
47
  Select.propTypes = {
48
- isMulti: _propTypes["default"].bool,
49
48
  isInline: _propTypes["default"].bool,
49
+ isMulti: _propTypes["default"].bool,
50
50
  isSearch: _propTypes["default"].bool,
51
- options: _propTypes["default"].array,
52
- label: _propTypes["default"].string
51
+ label: _propTypes["default"].string,
52
+ options: _propTypes["default"].array
53
53
  };
@@ -19,7 +19,7 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
19
19
 
20
20
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
21
21
 
22
- var Textarea = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
22
+ var TextareaComponent = function TextareaComponent(_ref, ref) {
23
23
  var variant = _ref.variant,
24
24
  label = _ref.label,
25
25
  forLabel = _ref.forLabel,
@@ -30,7 +30,7 @@ var Textarea = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
30
30
 
31
31
  return (0, _jsxRuntime.jsxs)(_react["default"].Fragment, {
32
32
  children: [label && (0, _jsxRuntime.jsxs)(_.Label, {
33
- "for": forLabel,
33
+ htmlFor: forLabel,
34
34
  children: [label, required && '*']
35
35
  }), (0, _jsxRuntime.jsx)("textarea", _extends({}, props, {
36
36
  ref: ref,
@@ -59,14 +59,17 @@ var Textarea = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
59
59
  children: errorMessage
60
60
  })]
61
61
  });
62
- });
62
+ };
63
63
 
64
- exports.Textarea = Textarea;
65
- Textarea.propTypes = {
64
+ TextareaComponent.propTypes = {
66
65
  variant: _propTypes["default"].string,
67
66
  label: _propTypes["default"].string,
68
67
  hasError: _propTypes["default"].bool,
69
68
  required: _propTypes["default"].bool,
70
69
  forLabel: _propTypes["default"].string,
71
70
  errorMessage: _propTypes["default"].string
72
- };
71
+ };
72
+
73
+ var Textarea = /*#__PURE__*/_react["default"].forwardRef(TextareaComponent);
74
+
75
+ exports.Textarea = Textarea;
@@ -82,7 +82,7 @@ var CheckBox = function CheckBox(props) {
82
82
  margin: 0,
83
83
  display: 'block',
84
84
  '&:checked + label': {
85
- backgroundColor: 'green.50',
85
+ backgroundColor: 'success',
86
86
  '&::after': {
87
87
  content: "''",
88
88
  display: 'block',
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.ToggleGroup = void 0;
5
+
6
+ var _propTypes = _interopRequireDefault(require("prop-types"));
7
+
8
+ var RadioGroupPrimitive = _interopRequireWildcard(require("@radix-ui/react-radio-group"));
9
+
10
+ var _jsxRuntime = require("theme-ui/jsx-runtime");
11
+
12
+ var _excluded = ["onChange", "groupLabel", "value", "options"];
13
+
14
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
15
+
16
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
17
+
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
+
20
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
21
+
22
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
23
+
24
+ var ToggleGroup = function ToggleGroup(_ref) {
25
+ var onChange = _ref.onChange,
26
+ groupLabel = _ref.groupLabel,
27
+ value = _ref.value,
28
+ options = _ref.options,
29
+ props = _objectWithoutPropertiesLoose(_ref, _excluded);
30
+
31
+ return (0, _jsxRuntime.jsx)(RadioGroupPrimitive.Root, _extends({
32
+ onValueChange: onChange,
33
+ value: value,
34
+ "aria-label": groupLabel,
35
+ sx: {
36
+ bg: 'backgroundSecondary',
37
+ p: 1,
38
+ display: 'flex',
39
+ alignItems: 'center'
40
+ }
41
+ }, props, {
42
+ children: options.map(function (option, index) {
43
+ return (0, _jsxRuntime.jsx)(RadioGroupPrimitive.Item, {
44
+ value: option.value,
45
+ id: "o" + index,
46
+ sx: {
47
+ fontSize: 1,
48
+ color: 'muted',
49
+ background: 'none',
50
+ border: 'none',
51
+ cursor: 'pointer',
52
+ borderRadius: 1,
53
+ py: 1,
54
+ px: 2,
55
+ flex: '1 1 auto',
56
+ textAlign: 'center',
57
+ '&:hover': {
58
+ color: 'heading'
59
+ },
60
+ '&[data-state=checked]': {
61
+ backgroundColor: 'card',
62
+ boxShadow: 'low',
63
+ color: 'heading'
64
+ }
65
+ },
66
+ children: option.label
67
+ }, option.value);
68
+ })
69
+ }));
70
+ };
71
+
72
+ exports.ToggleGroup = ToggleGroup;
73
+ ToggleGroup.propTypes = {
74
+ onChange: _propTypes["default"].func,
75
+ options: _propTypes["default"].array,
76
+ value: _propTypes["default"].string,
77
+ groupLabel: _propTypes["default"].string
78
+ };
@@ -56,7 +56,8 @@ var ToggleRow = function ToggleRow(_ref) {
56
56
  width: 32,
57
57
  sx: {
58
58
  display: 'block'
59
- }
59
+ },
60
+ alt: "Icon representing a toggle"
60
61
  })
61
62
  })
62
63
  }), (0, _jsxRuntime.jsxs)(_.Box, {
@@ -95,11 +96,11 @@ var ToggleRow = function ToggleRow(_ref) {
95
96
 
96
97
  exports.ToggleRow = ToggleRow;
97
98
  ToggleRow.propTypes = {
98
- image: _propTypes["default"].string,
99
+ image: _propTypes["default"].oneOfType([_propTypes["default"].object, _propTypes["default"].string]),
99
100
  badge: _propTypes["default"].string,
100
- title: _propTypes["default"].string,
101
- subTitle: _propTypes["default"].string,
102
- body: _propTypes["default"].string,
101
+ title: _propTypes["default"].node,
102
+ subTitle: _propTypes["default"].node,
103
+ body: _propTypes["default"].node,
103
104
  meta: _propTypes["default"].node,
104
105
  sx: _propTypes["default"].object
105
106
  };
@@ -29,14 +29,14 @@ var Validation = function Validation(_ref) {
29
29
  variant: "h5",
30
30
  as: "p",
31
31
  sx: {
32
- color: isValid ? 'green.50' : 'red.50'
32
+ color: isValid ? 'success' : 'error',
33
+ display: 'flex',
34
+ alignItems: 'center'
33
35
  }
34
36
  }, props, {
35
37
  children: [(0, _jsxRuntime.jsx)(Icon, {
36
38
  sx: {
37
- mr: 1,
38
- position: 'relative',
39
- top: '0.125em'
39
+ mr: 1
40
40
  }
41
41
  }), children]
42
42
  }));
@@ -22,6 +22,10 @@ var _ToggleRow = require("./ToggleRow");
22
22
 
23
23
  exports.ToggleRow = _ToggleRow.ToggleRow;
24
24
 
25
+ var _ToggleGroup = require("./ToggleGroup");
26
+
27
+ exports.ToggleGroup = _ToggleGroup.ToggleGroup;
28
+
25
29
  var _Select = require("./Select");
26
30
 
27
31
  exports.Select = _Select.Select;
@@ -30,6 +34,10 @@ var _Radio = require("./Radio");
30
34
 
31
35
  exports.Radio = _Radio.Radio;
32
36
 
37
+ var _RadioBoxGroup = require("./RadioBoxGroup");
38
+
39
+ exports.RadioBoxGroup = _RadioBoxGroup.RadioBoxGroup;
40
+
33
41
  var _Textarea = require("./Textarea");
34
42
 
35
43
  exports.Textarea = _Textarea.Textarea;