@occmundial/occ-atomic 3.0.0-beta.5 → 3.0.0-beta.51

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 (115) hide show
  1. package/CHANGELOG.md +414 -0
  2. package/build/Avatar/Avatar.js +69 -21
  3. package/build/Avatar/Avatar.test.js +15 -8
  4. package/build/Avatar/AvatarContent/AvatarContent.js +61 -21
  5. package/build/Avatar/AvatarContent/AvatarContent.test.js +4 -18
  6. package/build/Avatar/AvatarContent/__snapshots__/AvatarContent.test.js.snap +75 -15
  7. package/build/Avatar/AvatarContent/styles.js +88 -21
  8. package/build/Avatar/__snapshots__/Avatar.test.js.snap +11 -2
  9. package/build/Avatar/styles.js +18 -7
  10. package/build/Banner/Banner.js +30 -40
  11. package/build/Banner/Banner.test.js +64 -17
  12. package/build/Banner/__snapshots__/Banner.test.js.snap +0 -28
  13. package/build/Banner/index.js +1 -6
  14. package/build/Button/Button.js +1 -1
  15. package/build/Button/Button.test.js +0 -11
  16. package/build/Button/__snapshots__/Button.test.js.snap +54 -60
  17. package/build/Button/styles.js +42 -75
  18. package/build/Checkbox/Checkbox.js +48 -3
  19. package/build/Checkbox/__snapshots__/Checkbox.test.js.snap +81 -49
  20. package/build/Checkbox/styles.js +91 -48
  21. package/build/Fab/__snapshots__/Fab.test.js.snap +2 -2
  22. package/build/Footer/Footer.js +63 -84
  23. package/build/Footer/List/List.js +89 -124
  24. package/build/Footer/List/styles.js +85 -31
  25. package/build/Footer/__snapshots__/Footer.test.js.snap +113 -57
  26. package/build/Footer/styles.js +119 -53
  27. package/build/Grid/Col/__snapshots__/Col.test.js.snap +16 -2
  28. package/build/Grid/Col/styles.js +12 -6
  29. package/build/Grid/Row/__snapshots__/Row.test.js.snap +18 -2
  30. package/build/Grid/Row/styles.js +15 -5
  31. package/build/Grid/styles.js +26 -9
  32. package/build/Modal/Modal.js +94 -66
  33. package/build/Modal/Modal.test.js +14 -7
  34. package/build/Modal/__snapshots__/Modal.test.js.snap +155 -100
  35. package/build/Modal/styles.js +165 -143
  36. package/build/Pager/Page/Page.js +8 -5
  37. package/build/Pager/Page/Page.test.js +13 -9
  38. package/build/Pager/Page/__snapshots__/Page.test.js.snap +34 -10
  39. package/build/Pager/Page/styles.js +48 -14
  40. package/build/Pager/Pager.js +139 -235
  41. package/build/Pager/Pager.test.js +81 -36
  42. package/build/Pager/__snapshots__/Pager.test.js.snap +3 -36
  43. package/build/Pager/styles.js +5 -40
  44. package/build/Pill/Choice/Choice.js +6 -4
  45. package/build/Pill/Choice/styles.js +13 -10
  46. package/build/Pill/Group/styles.js +5 -5
  47. package/build/Pill/Stack/Stack.js +2 -2
  48. package/build/Pill/Stack/styles.js +5 -8
  49. package/build/Placeholder/Placeholder.js +29 -12
  50. package/build/Placeholder/Placeholder.test.js +4 -4
  51. package/build/Placeholder/__snapshots__/Placeholder.test.js.snap +81 -38
  52. package/build/Placeholder/styles.js +86 -42
  53. package/build/Provider/usePrevious.js +1 -1
  54. package/build/Radio/Radio.js +42 -6
  55. package/build/Radio/__snapshots__/Radio.test.js.snap +81 -80
  56. package/build/Radio/styles.js +93 -85
  57. package/build/SlideDown/SlideDown.js +162 -169
  58. package/build/SlideDown/SlideDown.test.js +49 -44
  59. package/build/SlideDown/__snapshots__/SlideDown.test.js.snap +45 -13
  60. package/build/SlideDown/styles.js +52 -18
  61. package/build/SlideToggle/SlideToggle.js +38 -6
  62. package/build/SlideToggle/SlideToggle.test.js +2 -2
  63. package/build/SlideToggle/__snapshots__/SlideToggle.test.js.snap +53 -37
  64. package/build/SlideToggle/styles.js +64 -45
  65. package/build/Tabs/Tab/Tab.js +73 -0
  66. package/build/Tabs/Tab/index.js +34 -0
  67. package/build/Tabs/Tab/index.test.js +132 -0
  68. package/build/Tabs/Tab/styles.js +74 -0
  69. package/build/Tabs/TabContent/TabContent.js +76 -0
  70. package/build/Tabs/TabContent/index.js +34 -0
  71. package/build/Tabs/TabContent/index.test.js +68 -0
  72. package/build/Tabs/TabContent/styles.js +23 -0
  73. package/build/Tabs/TabIndicator/TabIndicator.js +158 -0
  74. package/build/Tabs/TabIndicator/index.js +34 -0
  75. package/build/Tabs/TabIndicator/styles.js +24 -0
  76. package/build/Tabs/TabList/TabList.js +108 -0
  77. package/build/Tabs/TabList/index.js +34 -0
  78. package/build/{Pager/Break → Tabs/TabList}/styles.js +3 -2
  79. package/build/Tabs/Tabs.js +74 -0
  80. package/build/Tabs/context.js +94 -0
  81. package/build/Tabs/index.js +34 -0
  82. package/build/Tabs/index.test.js +157 -0
  83. package/build/Tabs/styles.js +19 -0
  84. package/build/Tag/Tag.js +2 -2
  85. package/build/Tag/__snapshots__/Tag.test.js.snap +40 -43
  86. package/build/Tag/styles.js +76 -82
  87. package/build/Text/Text.js +6 -3
  88. package/build/TextField/TextField.js +7 -6
  89. package/build/TextField/__snapshots__/TextField.test.js.snap +3 -0
  90. package/build/TextField/styles.js +3 -0
  91. package/build/Tip/Tip.js +62 -95
  92. package/build/Tip/Tip.test.js +29 -6
  93. package/build/Tip/TipText/index.js +32 -0
  94. package/build/Tip/__snapshots__/Tip.test.js.snap +127 -15
  95. package/build/Tip/styles.js +125 -31
  96. package/build/Toaster/Toast/Toast.js +76 -64
  97. package/build/Toaster/Toast/styles.js +118 -46
  98. package/build/Toaster/Toaster.js +3 -2
  99. package/build/Toaster/Toaster.test.js +5 -2
  100. package/build/Toaster/__snapshots__/Toaster.test.js.snap +1 -1
  101. package/build/Toaster/functions.js +4 -0
  102. package/build/Toaster/styles.js +3 -3
  103. package/build/Tooltip/Tooltip.js +73 -22
  104. package/build/Tooltip/__snapshots__/Tooltip.test.js.snap +22 -6
  105. package/build/Tooltip/styles.js +32 -10
  106. package/build/index.js +14 -1
  107. package/build/subatomic/grid.js +5 -5
  108. package/build/tokens/colors.json +35 -3
  109. package/package.json +4 -1
  110. package/build/Banner/styles.js +0 -41
  111. package/build/Pager/Break/Break.js +0 -27
  112. package/build/Pager/Break/Break.test.js +0 -53
  113. package/build/Pager/Break/__snapshots__/Break.test.js.snap +0 -13
  114. package/build/Pager/Break/index.js +0 -18
  115. /package/build/Button/{Loading.js → Loading/index.js} +0 -0
@@ -2,32 +2,4 @@
2
2
 
3
3
  exports[`Banner matches the snapshot 1`] = `ShallowWrapper {}`;
4
4
 
5
- exports[`Banner styles matches the snapshot 1`] = `
6
- Object {
7
- "container": Object {
8
- "backgroundColor": "#222222",
9
- "padding": 16,
10
- },
11
- "icon": Object {
12
- "cursor": "pointer",
13
- },
14
- "iconFlex": Object {
15
- "@media screen and (min-width:576px)": Object {
16
- "padding": 0,
17
- },
18
- "paddingLeft": 16,
19
- "paddingTop": 16,
20
- },
21
- "textBanner": Object {
22
- "display": "inline-block",
23
- },
24
- "textFlex": Object {
25
- "@media screen and (min-width:576px)": Object {
26
- "textAlign": "center",
27
- },
28
- "textAlign": "start",
29
- },
30
- }
31
- `;
32
-
33
5
  exports[`BannerJSS matches the snapshot 1`] = `ShallowWrapper {}`;
@@ -5,14 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports["default"] = void 0;
7
7
 
8
- var _reactJss = _interopRequireDefault(require("react-jss"));
9
-
10
8
  var _Banner = _interopRequireDefault(require("./Banner"));
11
9
 
12
- var _styles = _interopRequireDefault(require("./styles"));
13
-
14
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
11
 
16
- var _default = (0, _reactJss["default"])(_styles["default"])(_Banner["default"]);
17
-
12
+ var _default = _Banner["default"];
18
13
  exports["default"] = _default;
@@ -89,7 +89,7 @@ var Button = /*#__PURE__*/function (_React$Component) {
89
89
  if (block) classNames += " ".concat(classes.block);
90
90
  if (className) classNames += " ".concat(className);
91
91
 
92
- if (!children && icon) {
92
+ if (!children && (icon || iconRight)) {
93
93
  classNames += " ".concat(classes.iconOnly);
94
94
  if (round) classNames += " ".concat(classes.round);
95
95
  }
@@ -134,15 +134,4 @@ describe("Button styles", function () {
134
134
  it('matches the snapshot', function () {
135
135
  expect(_styles["default"]).toMatchSnapshot();
136
136
  });
137
- it('returns the right icons', function () {
138
- var props = {
139
- icon: 'testing'
140
- };
141
- expect(_styles["default"].primary['& span span'].background(props)).toBe('url(data:image/svg+xml;base64,dGVzdGluZyAtICNmZmY=)');
142
- expect(_styles["default"].secondary['& span span'].background(props)).toBe('url(data:image/svg+xml;base64,dGVzdGluZyAtICMwODNDQUU=)');
143
- expect(_styles["default"].tertiary['& span span'].background(props)).toBe('url(data:image/svg+xml;base64,dGVzdGluZyAtICMwODNDQUU=)');
144
- expect(_styles["default"].ghostPink['& span span'].background(props)).toBe('url(data:image/svg+xml;base64,dGVzdGluZyAtICNmMTM0NjU=)');
145
- expect(_styles["default"].ghostGrey['& span span'].background(props)).toBe('url(data:image/svg+xml;base64,dGVzdGluZyAtICM1QTVEN0I=)');
146
- expect(_styles["default"].ghostWhite['& span span'].background(props)).toBe('url(data:image/svg+xml;base64,dGVzdGluZyAtICNmZmY=)');
147
- });
148
137
  });
@@ -48,28 +48,28 @@ Object {
48
48
  "pointerEvents": "none",
49
49
  },
50
50
  "ghostGrey": Object {
51
- "& $loadIcon": Object {
51
+ "& $icon, & $iconRight": Object {
52
52
  "fill": "#5A5D7B",
53
53
  },
54
- "& span span": Object {
55
- "background": [Function],
54
+ "& $loadIcon": Object {
55
+ "fill": "#5A5D7B",
56
56
  },
57
57
  "&$disabled": Object {
58
+ "& $icon, & $iconRight": Object {
59
+ "fill": "#D3D4DC",
60
+ },
58
61
  "background": "transparent",
59
62
  "color": "#878A9F",
60
63
  },
61
- "&$disabled span span": Object {
62
- "background": [Function],
63
- },
64
64
  "&:active": Object {
65
65
  "background": "hsl(234 75.4% 12.7% / 0.1)",
66
66
  },
67
+ "&:focus-visible": Object {
68
+ "boxShadow": "0 0 0 8px hsl(234 75.4% 12.7% / 0.1)",
69
+ },
67
70
  "&:hover": Object {
68
71
  "background": "hsl(234 75.4% 12.7% / 0.05)",
69
72
  },
70
- "&:not(:active):focus-visible": Object {
71
- "boxShadow": "0 0 0 8px hsl(234 75.4% 12.7% / 0.1)",
72
- },
73
73
  "background": "transparent",
74
74
  "color": "#5A5D7B",
75
75
  },
@@ -77,13 +77,7 @@ Object {
77
77
  "& $loadIcon": Object {
78
78
  "fill": "#f13465",
79
79
  },
80
- "& span span": Object {
81
- "background": [Function],
82
- },
83
80
  "&$disabled": Object {
84
- "& span span": Object {
85
- "background": [Function],
86
- },
87
81
  "background": "transparent !important",
88
82
  "border": "none !important",
89
83
  "color": "#fa90ac !important",
@@ -107,25 +101,25 @@ Object {
107
101
  ],
108
102
  },
109
103
  "ghostWhite": Object {
110
- "& span span": Object {
111
- "background": [Function],
104
+ "& $icon, & $iconRight": Object {
105
+ "fill": "#fff",
112
106
  },
113
107
  "&$disabled": Object {
108
+ "& $icon, & $iconRight": Object {
109
+ "fill": "rgba(255,255,255,0.3)",
110
+ },
114
111
  "background": "transparent",
115
112
  "color": "rgba(255,255,255,0.7)",
116
113
  },
117
- "&$disabled span span": Object {
118
- "background": [Function],
119
- },
120
114
  "&:active": Object {
121
115
  "background": "rgba(255,255,255,0.1)",
122
116
  },
117
+ "&:focus-visible": Object {
118
+ "boxShadow": "0 0 0 8px rgba(255,255,255,0.2)",
119
+ },
123
120
  "&:hover": Object {
124
121
  "background": "rgba(255,255,255,0.05)",
125
122
  },
126
- "&:not(:active):focus-visible": Object {
127
- "boxShadow": "0 0 0 8px rgba(255,255,255,0.2)",
128
- },
129
123
  "background": "transparent",
130
124
  "color": "#fff",
131
125
  },
@@ -136,6 +130,7 @@ Object {
136
130
  },
137
131
  "iconOnly": Object {
138
132
  "& span span, & svg": Object {
133
+ "marginLeft": 0,
139
134
  "marginRight": 0,
140
135
  },
141
136
  "padding": Array [
@@ -145,10 +140,8 @@ Object {
145
140
  },
146
141
  "iconRight": Object {
147
142
  "display": "inline-block",
148
- "height": 16,
149
143
  "marginLeft": "8px",
150
144
  "transition": "0.3s all",
151
- "width": 16,
152
145
  },
153
146
  "lg": Object {
154
147
  "&$iconOnly": Object {
@@ -199,29 +192,29 @@ Object {
199
192
  ],
200
193
  },
201
194
  "primary": Object {
202
- "& span span": Object {
203
- "background": [Function],
195
+ "& $icon, & $iconRight": Object {
196
+ "fill": "#fff",
204
197
  },
205
198
  "&$disabled": Object {
199
+ "& $icon, & $iconRight": Object {
200
+ "fill": "rgba(255,255,255,0.3)",
201
+ },
206
202
  "background": "#F6809E",
207
203
  "color": "rgba(255,255,255,0.7)",
208
204
  "cursor": "not-allowed",
209
205
  },
210
- "&$disabled span span": Object {
211
- "background": [Function],
212
- },
213
206
  "&:active": Object {
214
207
  "background": "#821C36",
215
208
  },
216
209
  "&:focus": Object {
217
210
  "outline": "2px solid rgba(255,255,255,0.2)",
218
211
  },
212
+ "&:focus-visible": Object {
213
+ "boxShadow": "0 0 0 8px hsl(344 87.1% 57.5% / 0.3)",
214
+ },
219
215
  "&:hover": Object {
220
216
  "background": "#A32444",
221
217
  },
222
- "&:not(:active):focus-visible": Object {
223
- "boxShadow": "0 0 0 8px hsl(344 87.1% 57.5% / 0.3)",
224
- },
225
218
  "background": "#D32E58",
226
219
  "color": "#fff",
227
220
  "outline": "2px solid rgba(255,255,255,0.2)",
@@ -231,45 +224,45 @@ Object {
231
224
  "borderRadius": "50%",
232
225
  },
233
226
  "secondary": Object {
234
- "& $loadIcon": Object {
227
+ "& $icon, & $iconRight": Object {
235
228
  "fill": "#083CAE",
236
229
  },
237
- "& span span": Object {
238
- "background": [Function],
230
+ "& $loadIcon": Object {
231
+ "fill": "#083CAE",
239
232
  },
240
233
  "&$disabled": Object {
234
+ "& $icon, & $iconRight": Object {
235
+ "fill": "#8DA5DA",
236
+ },
241
237
  "background": "hsl(221 91.2% 35.7% / 0.1)",
242
238
  "color": "#486EC3",
243
239
  },
244
- "&$disabled span span": Object {
245
- "background": [Function],
246
- },
247
240
  "&:active": Object {
248
241
  "background": "hsl(221 91.2% 35.7% / 0.2)",
249
242
  },
243
+ "&:focus-visible": Object {
244
+ "boxShadow": "0 0 0 8px hsl(221 91.2% 35.7% / 0.3)",
245
+ },
250
246
  "&:hover": Object {
251
247
  "background": "hsl(221 91.2% 35.7% / 0.1)",
252
248
  },
253
- "&:not(:active):focus-visible": Object {
254
- "boxShadow": "0 0 0 8px hsl(221 91.2% 35.7% / 0.3)",
255
- },
256
249
  "background": "hsl(221 91.2% 35.7% / 0.05)",
257
250
  "color": "#083CAE",
258
251
  },
259
252
  "tertiary": Object {
260
- "& $loadIcon": Object {
253
+ "& $icon, & $iconRight": Object {
261
254
  "fill": "#083CAE",
262
255
  },
263
- "& span span": Object {
264
- "background": [Function],
256
+ "& $loadIcon": Object {
257
+ "fill": "#083CAE",
265
258
  },
266
259
  "&$disabled": Object {
260
+ "& $icon, & $iconRight": Object {
261
+ "fill": "#8DA5DA",
262
+ },
267
263
  "background": "transparent",
268
264
  "color": "#486EC3",
269
- "outline": "2px solid #8DA5DA",
270
- },
271
- "&$disabled span span": Object {
272
- "background": [Function],
265
+ "outlineColor": "#8DA5DA",
273
266
  },
274
267
  "&:active": Object {
275
268
  "background": "hsl(221 91.2% 35.7% / 0.1)",
@@ -277,27 +270,28 @@ Object {
277
270
  "&:focus": Object {
278
271
  "outline": "2px solid #083CAE",
279
272
  },
273
+ "&:focus-visible": Object {
274
+ "boxShadow": "0 0 0 8px hsl(221 91.2% 35.7% / 0.3)",
275
+ },
280
276
  "&:hover": Object {
281
277
  "background": "hsl(221 91.2% 35.7% / 0.05)",
282
278
  },
283
- "&:not(:active):focus-visible": Object {
284
- "boxShadow": "0 0 0 8px hsl(221 91.2% 35.7% / 0.3)",
285
- },
286
279
  "background": "transparent",
287
280
  "color": "#083CAE",
288
281
  "outline": "2px solid #083CAE",
289
282
  "outlineOffset": "-2px",
290
283
  },
291
284
  "tertiaryWhite": Object {
292
- "& span span": Object {
293
- "background": [Function],
285
+ "& $icon, & $iconRight": Object {
286
+ "fill": "#fff",
294
287
  },
295
288
  "&$disabled": Object {
289
+ "& $icon, & $iconRight": Object {
290
+ "fill": "rgba(255,255,255,0.3)",
291
+ },
296
292
  "background": "transparent",
297
293
  "color": "rgba(255,255,255,0.7)",
298
- },
299
- "&$disabled span span": Object {
300
- "background": [Function],
294
+ "outlineColor": "rgba(255,255,255,0.2)",
301
295
  },
302
296
  "&:active": Object {
303
297
  "background": "rgba(255,255,255,0.1)",
@@ -305,12 +299,12 @@ Object {
305
299
  "&:focus": Object {
306
300
  "outline": "2px solid #fff",
307
301
  },
302
+ "&:focus-visible": Object {
303
+ "boxShadow": "0 0 0 8px rgba(255,255,255,0.2)",
304
+ },
308
305
  "&:hover": Object {
309
306
  "background": "rgba(255,255,255,0.05)",
310
307
  },
311
- "&:not(:active):focus-visible": Object {
312
- "boxShadow": "0 0 0 8px rgba(255,255,255,0.2)",
313
- },
314
308
  "background": "transparent",
315
309
  "color": "#fff",
316
310
  "outline": "2px solid #fff",
@@ -27,7 +27,6 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d
27
27
 
28
28
  var sec = _colors["default"].sec,
29
29
  secDark = _colors["default"].secDark,
30
- grey500 = _colors["default"].grey500,
31
30
  secLight = _colors["default"].secLight;
32
31
  var sm = _fonts2["default"]['button-small'];
33
32
  var md = _fonts2["default"]['button-medium'];
@@ -102,22 +101,18 @@ var _default = {
102
101
  '&:focus': {
103
102
  outline: "2px solid ".concat(_colors2["default"].button.primary.border["default"])
104
103
  },
105
- '&:not(:active):focus-visible': {
104
+ '&:focus-visible': {
106
105
  boxShadow: _shadows["default"]['focus-pink']
107
106
  },
107
+ '& $icon, & $iconRight': {
108
+ fill: _colors2["default"].icon.inverse["default"]
109
+ },
108
110
  '&$disabled': {
109
111
  background: _colors2["default"].button.primary.bg.disabled,
110
112
  color: _colors2["default"].text.white.secondary,
111
- cursor: 'not-allowed'
112
- },
113
- '& span span': {
114
- background: function background(props) {
115
- return renderIcon(props, [_colors2["default"].icon.inverse["default"]]);
116
- }
117
- },
118
- '&$disabled span span': {
119
- background: function background(props) {
120
- return renderIcon(props, [_colors2["default"].icon.inverse.disabled]);
113
+ cursor: 'not-allowed',
114
+ '& $icon, & $iconRight': {
115
+ fill: _colors2["default"].icon.inverse.disabled
121
116
  }
122
117
  }
123
118
  },
@@ -130,21 +125,17 @@ var _default = {
130
125
  '&:active': {
131
126
  background: _colors2["default"].button.secondary.bg.active
132
127
  },
133
- '&:not(:active):focus-visible': {
128
+ '&:focus-visible': {
134
129
  boxShadow: _shadows["default"]['focus-indigo']
135
130
  },
131
+ '& $icon, & $iconRight': {
132
+ fill: _colors2["default"].icon.brand["default"]
133
+ },
136
134
  '&$disabled': {
137
135
  background: _colors2["default"].button.secondary.bg.disabled,
138
- color: _colors2["default"].text.indigo.secondary
139
- },
140
- '& span span': {
141
- background: function background(props) {
142
- return renderIcon(props, [_colors2["default"].icon.brand["default"]]);
143
- }
144
- },
145
- '&$disabled span span': {
146
- background: function background(props) {
147
- return renderIcon(props, [_colors2["default"].icon.brand.disabled]);
136
+ color: _colors2["default"].text.indigo.secondary,
137
+ '& $icon, & $iconRight': {
138
+ fill: _colors2["default"].icon.brand.disabled
148
139
  }
149
140
  },
150
141
  '& $loadIcon': {
@@ -165,22 +156,18 @@ var _default = {
165
156
  '&:focus': {
166
157
  outline: "2px solid ".concat(_colors2["default"].button.tertiary.border["default"])
167
158
  },
168
- '&:not(:active):focus-visible': {
159
+ '&:focus-visible': {
169
160
  boxShadow: _shadows["default"]['focus-indigo']
170
161
  },
171
- '& span span': {
172
- background: function background(props) {
173
- return renderIcon(props, [_colors2["default"].icon.brand["default"]]);
174
- }
162
+ '& $icon, & $iconRight': {
163
+ fill: _colors2["default"].icon.brand["default"]
175
164
  },
176
165
  '&$disabled': {
177
166
  background: 'transparent',
178
167
  color: _colors2["default"].text.indigo.secondary,
179
- outline: "2px solid ".concat(_colors2["default"].button.tertiary.border.disabled)
180
- },
181
- '&$disabled span span': {
182
- background: function background(props) {
183
- return renderIcon(props, [_colors2["default"].icon.brand.disabled]);
168
+ outlineColor: _colors2["default"].button.tertiary.border.disabled,
169
+ '& $icon, & $iconRight': {
170
+ fill: _colors2["default"].icon.brand.disabled
184
171
  }
185
172
  },
186
173
  '& $loadIcon': {
@@ -201,21 +188,18 @@ var _default = {
201
188
  '&:focus': {
202
189
  outline: "2px solid ".concat(_colors2["default"].button.tertiary.border.inverse["default"])
203
190
  },
204
- '&:not(:active):focus-visible': {
191
+ '&:focus-visible': {
205
192
  boxShadow: _shadows["default"]['focus-white']
206
193
  },
207
- '& span span': {
208
- background: function background(props) {
209
- return renderIcon(props, [_colors2["default"].icon.inverse["default"]]);
210
- }
194
+ '& $icon, & $iconRight': {
195
+ fill: _colors2["default"].icon.inverse["default"]
211
196
  },
212
197
  '&$disabled': {
213
198
  background: 'transparent',
214
- color: _colors2["default"].text.white.secondary
215
- },
216
- '&$disabled span span': {
217
- background: function background(props) {
218
- return renderIcon(props, [_colors2["default"].icon.inverse.disabled]);
199
+ color: _colors2["default"].text.white.secondary,
200
+ outlineColor: _colors2["default"].button.tertiary.border.inverse.disabled,
201
+ '& $icon, & $iconRight': {
202
+ fill: _colors2["default"].icon.inverse.disabled
219
203
  }
220
204
  }
221
205
  },
@@ -233,20 +217,10 @@ var _default = {
233
217
  }
234
218
  }
235
219
  },
236
- '& span span': {
237
- background: function background(props) {
238
- return renderIcon(props, [sec]);
239
- }
240
- },
241
220
  '&$disabled': {
242
221
  background: "transparent !important",
243
222
  color: "".concat(secLight, " !important"),
244
- border: "none !important",
245
- '& span span': {
246
- background: function background(props) {
247
- return renderIcon(props, [grey500]);
248
- }
249
- }
223
+ border: "none !important"
250
224
  },
251
225
  '& $loadIcon': {
252
226
  fill: sec
@@ -261,21 +235,17 @@ var _default = {
261
235
  '&:active': {
262
236
  background: _colors2["default"].button.ghost.bg.active
263
237
  },
264
- '&:not(:active):focus-visible': {
238
+ '&:focus-visible': {
265
239
  boxShadow: _shadows["default"]['focus-corp']
266
240
  },
267
- '& span span': {
268
- background: function background(props) {
269
- return renderIcon(props, [_colors2["default"].icon["default"]["default"]]);
270
- }
241
+ '& $icon, & $iconRight': {
242
+ fill: _colors2["default"].icon["default"]["default"]
271
243
  },
272
244
  '&$disabled': {
273
245
  background: 'transparent',
274
- color: _colors2["default"].text.corp.disabled
275
- },
276
- '&$disabled span span': {
277
- background: function background(props) {
278
- return renderIcon(props, [_colors2["default"].icon["default"].disabled]);
246
+ color: _colors2["default"].text.corp.disabled,
247
+ '& $icon, & $iconRight': {
248
+ fill: _colors2["default"].icon["default"].disabled
279
249
  }
280
250
  },
281
251
  '& $loadIcon': {
@@ -291,21 +261,17 @@ var _default = {
291
261
  '&:active': {
292
262
  background: _colors2["default"].button.ghost.bg.inverse.active
293
263
  },
294
- '&:not(:active):focus-visible': {
264
+ '&:focus-visible': {
295
265
  boxShadow: _shadows["default"]['focus-white']
296
266
  },
297
- '& span span': {
298
- background: function background(props) {
299
- return renderIcon(props, [_colors2["default"].icon.inverse["default"]]);
300
- }
267
+ '& $icon, & $iconRight': {
268
+ fill: _colors2["default"].icon.inverse["default"]
301
269
  },
302
270
  '&$disabled': {
303
271
  background: 'transparent',
304
- color: _colors2["default"].text.white.secondary
305
- },
306
- '&$disabled span span': {
307
- background: function background(props) {
308
- return renderIcon(props, [_colors2["default"].icon.inverse.disabled]);
272
+ color: _colors2["default"].text.white.secondary,
273
+ '& $icon, & $iconRight': {
274
+ fill: _colors2["default"].icon.inverse.disabled
309
275
  }
310
276
  }
311
277
  },
@@ -353,7 +319,8 @@ var _default = {
353
319
  iconOnly: {
354
320
  padding: [_spacing["default"]['size-2'], _spacing["default"]['size-2']],
355
321
  '& span span, & svg': {
356
- marginRight: 0
322
+ marginRight: 0,
323
+ marginLeft: 0
357
324
  }
358
325
  },
359
326
  loadIcon: {
@@ -13,6 +13,10 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
 
14
14
  var _Text = _interopRequireDefault(require("../Text"));
15
15
 
16
+ var _Icon = _interopRequireDefault(require("../Icon"));
17
+
18
+ var _colors = _interopRequireDefault(require("../tokens/colors.json"));
19
+
16
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
17
21
 
18
22
  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); }
@@ -53,6 +57,7 @@ var Checkbox = /*#__PURE__*/function (_React$Component) {
53
57
  undetermined: props.undetermined
54
58
  };
55
59
  _this.toggle = _this.toggle.bind(_assertThisInitialized(_this));
60
+ _this.handleKeyUp = _this.handleKeyUp.bind(_assertThisInitialized(_this));
56
61
  return _this;
57
62
  }
58
63
 
@@ -81,6 +86,20 @@ var Checkbox = /*#__PURE__*/function (_React$Component) {
81
86
  if (onChange) onChange(value, id);
82
87
  }
83
88
  }
89
+ }, {
90
+ key: "handleKeyDown",
91
+ value: function handleKeyDown(e) {
92
+ if (e.keyCode == 13 || e.keyCode == 32) {
93
+ e.preventDefault();
94
+ }
95
+ }
96
+ }, {
97
+ key: "handleKeyUp",
98
+ value: function handleKeyUp(e) {
99
+ if (e.keyCode == 13 || e.keyCode == 32) {
100
+ this.toggle();
101
+ }
102
+ }
84
103
  }, {
85
104
  key: "render",
86
105
  value: function render() {
@@ -96,11 +115,16 @@ var Checkbox = /*#__PURE__*/function (_React$Component) {
96
115
  id = _this$props2.id,
97
116
  className = _this$props2.className,
98
117
  style = _this$props2.style,
118
+ alignLeft = _this$props2.alignLeft,
99
119
  trk = _this$props2.trk,
100
120
  testId = _this$props2.testId;
101
121
  var iconClass = undetermined ? " ".concat(classes.undetermined) : value ? " ".concat(classes.active) : '';
122
+ var iconColor = disabled ? _colors["default"].icon.brand.disabled : _colors["default"].icon.inverse["default"];
102
123
  return /*#__PURE__*/_react["default"].createElement("div", _extends({
103
124
  id: id,
125
+ tabIndex: disabled ? -1 : 0,
126
+ onKeyDown: this.handleKeyDown,
127
+ onKeyUp: this.handleKeyUp,
104
128
  className: "".concat(classes.cont).concat(iconClass).concat(disabled ? " ".concat(classes.disabled) : '').concat(className ? " ".concat(className) : ''),
105
129
  onClick: this.toggle,
106
130
  style: style,
@@ -108,16 +132,34 @@ var Checkbox = /*#__PURE__*/function (_React$Component) {
108
132
  }, testId && {
109
133
  'data-value': value ? 1 : 0
110
134
  }), /*#__PURE__*/_react["default"].createElement("div", {
135
+ className: classes.checkWrap
136
+ }, /*#__PURE__*/_react["default"].createElement("div", {
111
137
  className: classes.check,
112
138
  id: trk
113
- }), label && /*#__PURE__*/_react["default"].createElement(_Text["default"], {
139
+ }, /*#__PURE__*/_react["default"].createElement("div", {
140
+ className: classes.box
141
+ }), undetermined && /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
142
+ iconName: "minus",
143
+ width: 16,
144
+ height: 16,
145
+ colors: [iconColor],
146
+ className: classes.icon
147
+ }), !undetermined && value && /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
148
+ iconName: "check",
149
+ width: 16,
150
+ height: 16,
151
+ colors: [iconColor],
152
+ className: classes.icon
153
+ }))), !!(label || right) && /*#__PURE__*/_react["default"].createElement("div", {
154
+ className: classes.labelWrap
155
+ }, label && /*#__PURE__*/_react["default"].createElement(_Text["default"], {
114
156
  tag: "label",
115
- className: "".concat(classes.label).concat(textOverflow ? " ".concat(classes.overflow) : '')
157
+ className: "".concat(classes.label).concat(textOverflow ? " ".concat(classes.overflow) : '').concat(alignLeft ? " ".concat(classes.alignLeft) : '')
116
158
  }, label), right && /*#__PURE__*/_react["default"].createElement(_Text["default"], {
117
159
  tag: "label",
118
160
  mid: true,
119
161
  className: classes.right
120
- }, right));
162
+ }, right)));
121
163
  }
122
164
  }]);
123
165
 
@@ -148,6 +190,9 @@ Checkbox.propTypes = {
148
190
  /** Use this prop to overflow the text of the label, adding '...' and the end. */
149
191
  textOverflow: _propTypes["default"].bool,
150
192
 
193
+ /** Align the content to the left */
194
+ alignLeft: _propTypes["default"].bool,
195
+
151
196
  /** Id for catching selected element for tracking. */
152
197
  trk: _propTypes["default"].string,
153
198
  id: _propTypes["default"].string,