@occmundial/occ-atomic 3.0.0-beta.4 → 3.0.0-beta.40

Sign up to get free protection for your applications and to get access to all the features.
Files changed (85) hide show
  1. package/CHANGELOG.md +331 -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 -77
  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 +4 -6
  23. package/build/Footer/__snapshots__/Footer.test.js.snap +0 -6
  24. package/build/Footer/styles.js +0 -6
  25. package/build/Grid/Col/__snapshots__/Col.test.js.snap +16 -2
  26. package/build/Grid/Col/styles.js +12 -6
  27. package/build/Grid/Row/__snapshots__/Row.test.js.snap +18 -2
  28. package/build/Grid/Row/styles.js +15 -5
  29. package/build/Grid/styles.js +26 -9
  30. package/build/Modal/Modal.js +94 -66
  31. package/build/Modal/Modal.test.js +14 -7
  32. package/build/Modal/__snapshots__/Modal.test.js.snap +152 -100
  33. package/build/Modal/styles.js +161 -142
  34. package/build/Pager/Page/Page.js +8 -5
  35. package/build/Pager/Page/Page.test.js +13 -9
  36. package/build/Pager/Page/__snapshots__/Page.test.js.snap +34 -10
  37. package/build/Pager/Page/styles.js +48 -14
  38. package/build/Pager/Pager.js +139 -235
  39. package/build/Pager/Pager.test.js +81 -36
  40. package/build/Pager/__snapshots__/Pager.test.js.snap +3 -36
  41. package/build/Pager/styles.js +5 -40
  42. package/build/Pill/Choice/Choice.js +6 -4
  43. package/build/Pill/Choice/styles.js +13 -10
  44. package/build/Pill/Group/styles.js +5 -5
  45. package/build/Pill/Stack/Stack.js +2 -2
  46. package/build/Pill/Stack/styles.js +5 -8
  47. package/build/Radio/Radio.js +42 -6
  48. package/build/Radio/__snapshots__/Radio.test.js.snap +81 -80
  49. package/build/Radio/styles.js +93 -85
  50. package/build/SlideToggle/SlideToggle.js +38 -6
  51. package/build/SlideToggle/SlideToggle.test.js +2 -2
  52. package/build/SlideToggle/__snapshots__/SlideToggle.test.js.snap +53 -37
  53. package/build/SlideToggle/styles.js +64 -45
  54. package/build/Tag/Tag.js +2 -2
  55. package/build/Tag/__snapshots__/Tag.test.js.snap +40 -43
  56. package/build/Tag/styles.js +76 -82
  57. package/build/Text/Text.js +4 -2
  58. package/build/TextField/TextField.js +7 -6
  59. package/build/TextField/__snapshots__/TextField.test.js.snap +3 -0
  60. package/build/TextField/styles.js +3 -0
  61. package/build/Tip/Tip.js +61 -95
  62. package/build/Tip/Tip.test.js +29 -6
  63. package/build/Tip/TipText/index.js +32 -0
  64. package/build/Tip/__snapshots__/Tip.test.js.snap +131 -15
  65. package/build/Tip/styles.js +126 -31
  66. package/build/Toaster/Toast/Toast.js +76 -64
  67. package/build/Toaster/Toast/styles.js +118 -46
  68. package/build/Toaster/Toaster.js +3 -2
  69. package/build/Toaster/Toaster.test.js +5 -2
  70. package/build/Toaster/__snapshots__/Toaster.test.js.snap +1 -1
  71. package/build/Toaster/functions.js +4 -0
  72. package/build/Toaster/styles.js +3 -3
  73. package/build/Tooltip/Tooltip.js +73 -22
  74. package/build/Tooltip/__snapshots__/Tooltip.test.js.snap +22 -6
  75. package/build/Tooltip/styles.js +32 -10
  76. package/build/subatomic/grid.js +5 -5
  77. package/build/tokens/colors.json +21 -3
  78. package/package.json +4 -1
  79. package/build/Banner/styles.js +0 -41
  80. package/build/Pager/Break/Break.js +0 -27
  81. package/build/Pager/Break/Break.test.js +0 -53
  82. package/build/Pager/Break/__snapshots__/Break.test.js.snap +0 -13
  83. package/build/Pager/Break/index.js +0 -18
  84. package/build/Pager/Break/styles.js +0 -12
  85. /package/build/Button/{Loading.js → Loading/index.js} +0 -0
@@ -11,137 +11,145 @@ var _colors = _interopRequireDefault(require("../tokens/colors.json"));
11
11
 
12
12
  var _shadows = _interopRequireDefault(require("../tokens/shadows.json"));
13
13
 
14
+ var _borderRadius = _interopRequireDefault(require("../tokens/borderRadius.json"));
15
+
14
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
17
 
16
18
  var radio = _colors["default"].radio;
19
+ var transition = 'all cubic-bezier(0.25,0.46,0.45,0.94) 0.2s';
20
+ var contentHeight = 48;
21
+ var radioWidth = 52;
22
+ var radioSize = 20;
23
+ var radioInnerSize = 10;
17
24
  var _default = {
18
25
  cont: {
19
- paddingTop: _spacing["default"]['size-2'],
20
- paddingBottom: _spacing["default"]['size-2'],
21
26
  boxSizing: 'border-box',
22
27
  display: 'flex',
23
- alignItems: 'start',
28
+ alignItems: 'flex-start',
24
29
  cursor: 'pointer',
25
30
  outline: '0',
31
+ '&:focus-visible $radio': {
32
+ boxShadow: _shadows["default"]['focus-bright-blue']
33
+ },
34
+ '&:hover $radio $radioOuter': {
35
+ boxShadow: "inset 0 0 0 1px ".concat(radio.unselected.border.hover)
36
+ },
37
+ '&:active $radio $radioOuter': {
38
+ boxShadow: "inset 0 0 0 2px ".concat(radio.unselected.border.hover)
39
+ },
26
40
  '&$active': {
27
- '&:focus $radio:before': {
28
- borderColor: radio['selected']['border']['default'],
29
- boxShadow: _shadows["default"]['focus-bright-blue']
30
- },
31
41
  '&:hover': {
32
- '& $radio:before': {
33
- borderColor: radio['selected']['border']['hover'],
34
- boxShadow: 'initial'
42
+ '& $radio $radioOuter': {
43
+ boxShadow: "inset 0 0 0 2px ".concat(radio.selected.border.hover)
35
44
  },
36
- '& $radio:after': {
37
- background: radio['selected']['bg']['hover']
45
+ '& $radio $radioInner': {
46
+ background: radio.selected.bg.hover
38
47
  }
39
48
  },
40
49
  '&:active': {
41
- '& $radio:before': {
42
- borderColor: radio['selected']['border']['hover'],
43
- borderWidth: '3px',
44
- boxShadow: 'initial'
50
+ '& $radio $radioOuter': {
51
+ boxShadow: "inset 0 0 0 3px ".concat(radio.selected.border.hover, " !important")
45
52
  },
46
- '& $radio:after': {
47
- background: radio['selected']['bg']['hover']
53
+ '& $radio $radioInner': {
54
+ background: radio.selected.bg.hover
48
55
  }
49
56
  }
50
- },
51
- '&:not($active)': {
52
- '&:focus $radio:before': {
53
- borderColor: radio['unselected']['border']['default'],
54
- boxShadow: _shadows["default"]['focus-bright-blue']
55
- },
56
- '&:hover $radio:before': {
57
- borderColor: radio['unselected']['border']['hover'],
58
- boxShadow: 'initial'
59
- },
60
- '&:active $radio:before': {
61
- borderColor: radio['unselected']['border']['hover'],
62
- borderWidth: '2px',
63
- boxShadow: 'initial'
64
- }
65
57
  }
66
58
  },
59
+ radioWrap: {
60
+ width: radioWidth,
61
+ height: contentHeight,
62
+ display: 'flex',
63
+ alignItems: 'center',
64
+ justifyContent: 'center',
65
+ flexShrink: 0
66
+ },
67
67
  radio: {
68
- width: _spacing["default"]['size-5'],
69
- height: _spacing["default"]['size-5'],
70
- position: 'relative',
71
- '&:before': {
72
- content: '""',
73
- boxSizing: 'border-box',
74
- width: 20,
75
- height: 20,
76
- borderRadius: '50%',
77
- position: 'absolute',
78
- top: '50%',
79
- left: '50%',
80
- transform: 'translate(-50%, -50%)',
81
- border: "1px solid ".concat(radio['unselected']['border']['default']),
82
- background: radio['bg']['default']
83
- },
84
- '&:after': {
85
- content: '""',
86
- boxSizing: 'border-box',
87
- width: 10,
88
- height: 10,
89
- borderRadius: '50%',
90
- position: 'absolute',
91
- top: '50%',
92
- left: '50%',
93
- transform: 'translate(-50%, -50%)',
94
- transition: '0.3s all',
95
- background: radio['bg']['default']
96
- }
68
+ width: radioSize,
69
+ height: radioSize,
70
+ borderRadius: _borderRadius["default"]['br-full'],
71
+ transition: transition,
72
+ display: 'grid',
73
+ alignItems: 'center',
74
+ justifyContent: 'center'
75
+ },
76
+ radioOuter: {
77
+ width: radioSize,
78
+ height: radioSize,
79
+ borderRadius: _borderRadius["default"]['br-full'],
80
+ boxShadow: "inset 0 0 0 1px ".concat(radio.unselected.border["default"]),
81
+ background: radio.bg["default"],
82
+ transition: transition,
83
+ gridRowStart: 1,
84
+ gridColumnStart: 1
85
+ },
86
+ radioInner: {
87
+ width: radioInnerSize,
88
+ height: radioInnerSize,
89
+ margin: 5,
90
+ borderRadius: _borderRadius["default"]['br-full'],
91
+ background: radio.bg["default"],
92
+ transition: transition,
93
+ gridRowStart: 1,
94
+ gridColumnStart: 1
97
95
  },
98
96
  active: {
99
97
  '& $radio': {
100
- '&:before': {
101
- borderWidth: 2,
102
- borderColor: radio['selected']['border']['default']
98
+ '& $radioOuter': {
99
+ boxShadow: "inset 0 0 0 2px ".concat(radio.selected.border["default"])
103
100
  },
104
- '&:after': {
105
- background: radio['selected']['bg']['default']
101
+ '& $radioInner': {
102
+ background: radio.selected.bg["default"]
106
103
  }
107
104
  }
108
105
  },
109
106
  disabled: {
110
107
  pointerEvents: 'none',
111
- '& :not($radio)': {
112
- opacity: 0.4
108
+ '& $radio $radioOuter': {
109
+ background: radio.bg.disabled
113
110
  },
114
- '&$active': {
115
- '& $radio:before': {
116
- borderColor: radio['selected']['border']['disabled']
117
- },
118
- '& $radio:after': {
119
- background: radio['selected']['bg']['disabled']
120
- }
111
+ '& $radio $radioInner': {
112
+ background: radio.bg.disabled
121
113
  },
122
- '&:not($active)': {
123
- '& $radio:before': {
124
- background: radio['bg']['disabled']
114
+ '&$active': {
115
+ '& $radio $radioOuter': {
116
+ boxShadow: "inset 0 0 0 2px ".concat(radio.selected.border.disabled)
125
117
  },
126
- '& $radio:after': {
127
- background: radio['bg']['disabled']
118
+ '& $radio $radioInner': {
119
+ background: radio.selected.bg.disabled
128
120
  }
129
121
  }
130
122
  },
123
+ labelWrap: {
124
+ minHeight: contentHeight,
125
+ display: 'flex',
126
+ alignItems: 'center',
127
+ paddingTop: _spacing["default"]['size-1'],
128
+ paddingBottom: _spacing["default"]['size-1'],
129
+ overflow: 'hidden',
130
+ flex: 1
131
+ },
131
132
  label: {
132
- marginLeft: _spacing["default"]['size-2'],
133
+ marginLeft: _spacing["default"]['size-3'],
134
+ pointerEvents: 'none',
133
135
  cursor: 'pointer',
134
- "float": 'left',
135
- flex: '1'
136
+ flex: 1
136
137
  },
137
138
  right: {
138
139
  marginLeft: _spacing["default"]['size-2'],
139
- "float": 'right'
140
+ pointerEvents: 'none'
140
141
  },
141
142
  overflow: {
142
143
  overflow: 'hidden',
143
144
  textOverflow: 'ellipsis',
144
145
  whiteSpace: 'nowrap'
146
+ },
147
+ tag: {
148
+ marginLeft: _spacing["default"]['size-2'],
149
+ pointerEvents: 'none'
150
+ },
151
+ alignLeft: {
152
+ flex: 'none'
145
153
  }
146
154
  };
147
155
  exports["default"] = _default;
@@ -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); }
@@ -52,6 +56,7 @@ var SlideToggle = /*#__PURE__*/function (_React$Component) {
52
56
  value: props.value
53
57
  };
54
58
  _this.toggle = _this.toggle.bind(_assertThisInitialized(_this));
59
+ _this.handleKeyUp = _this.handleKeyUp.bind(_assertThisInitialized(_this));
55
60
  return _this;
56
61
  }
57
62
 
@@ -79,6 +84,20 @@ var SlideToggle = /*#__PURE__*/function (_React$Component) {
79
84
  if (onChange) onChange(value, id);
80
85
  }
81
86
  }
87
+ }, {
88
+ key: "handleKeyDown",
89
+ value: function handleKeyDown(e) {
90
+ if (e.keyCode == 13 || e.keyCode == 32) {
91
+ e.preventDefault();
92
+ }
93
+ }
94
+ }, {
95
+ key: "handleKeyUp",
96
+ value: function handleKeyUp(e) {
97
+ if (e.keyCode == 13 || e.keyCode == 32) {
98
+ this.toggle();
99
+ }
100
+ }
82
101
  }, {
83
102
  key: "render",
84
103
  value: function render() {
@@ -93,27 +112,40 @@ var SlideToggle = /*#__PURE__*/function (_React$Component) {
93
112
  name = _this$props2.name,
94
113
  trk = _this$props2.trk,
95
114
  testId = _this$props2.testId;
115
+ var iconColor = disabled ? _colors["default"].icon["default"].disabled : value ? _colors["default"].icon.brand.bold : _colors["default"].icon.brand.disabled;
96
116
  return /*#__PURE__*/_react["default"].createElement("div", {
97
117
  id: id,
98
- tabIndex: -1,
118
+ tabIndex: disabled ? -1 : 0,
119
+ onKeyDown: this.handleKeyDown,
120
+ onKeyUp: this.handleKeyUp,
121
+ onClick: this.toggle,
99
122
  className: "".concat(classes.cont).concat(disabled ? " ".concat(classes.disabled) : '').concat(className ? " ".concat(className) : ''),
100
123
  style: style
124
+ }, /*#__PURE__*/_react["default"].createElement("div", {
125
+ className: classes.switchWrap
101
126
  }, /*#__PURE__*/_react["default"].createElement("div", _extends({
102
127
  id: trk,
103
128
  name: name,
104
129
  className: "".concat(classes["switch"]).concat(value ? " ".concat(classes.checked) : ''),
105
- onClick: this.toggle,
106
130
  "data-testid": testId
107
131
  }, testId && {
108
132
  'data-value': value ? 1 : 0
109
- }), /*#__PURE__*/_react["default"].createElement("span", {
110
- className: classes.slider
133
+ }), /*#__PURE__*/_react["default"].createElement("div", {
134
+ className: classes.switchBg
111
135
  }, /*#__PURE__*/_react["default"].createElement("span", {
136
+ className: classes.slider
137
+ }, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
138
+ iconName: value ? 'check' : 'x',
139
+ width: 16,
140
+ height: 16,
141
+ colors: [iconColor],
112
142
  className: classes.icon
113
- }))), label && /*#__PURE__*/_react["default"].createElement(_Text["default"], {
143
+ }))))), label && /*#__PURE__*/_react["default"].createElement("div", {
144
+ className: classes.labelWrap
145
+ }, /*#__PURE__*/_react["default"].createElement(_Text["default"], {
114
146
  tag: "label",
115
147
  className: classes.label
116
- }, label));
148
+ }, label)));
117
149
  }
118
150
  }]);
119
151
 
@@ -48,7 +48,7 @@ describe("SlideToggle", function () {
48
48
  classes: classes
49
49
  }));
50
50
  expect(wrapper.find('.cont').exists()).toEqual(true);
51
- wrapper.find('.switch').simulate('click');
51
+ wrapper.simulate('click');
52
52
  expect(wrapper.find('.switch').hasClass('checked')).toEqual(true);
53
53
  });
54
54
  it('calls onChange function', function () {
@@ -57,7 +57,7 @@ describe("SlideToggle", function () {
57
57
  classes: classes,
58
58
  onChange: onChange
59
59
  }));
60
- wrapper.find('.switch').simulate('click');
60
+ wrapper.simulate('click');
61
61
  expect(onChange.mock.calls.length).toBe(1);
62
62
  });
63
63
  it('shows the label', function () {
@@ -5,75 +5,91 @@ exports[`SlideToggle matches the snapshot 1`] = `ShallowWrapper {}`;
5
5
  exports[`SlideToggle styles matches the snapshot 1`] = `
6
6
  Object {
7
7
  "checked": Object {
8
- "& $icon": Object {
9
- "background": "url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJCQkgdmlld0JveD0iMCAwIDI0IDI0IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAyNCAyNDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgoJCTxwYXRoIGZpbGw9IiMwMDZFRkYiIGQ9Ik0xOC4zLDcuM2wxLjQsMS40bC04LjcsOWMtMC40LDAuNC0xLDAuNC0xLjQsMC4xbC00LjMtMy42bDEuMy0xLjVsMy42LDNDMTAuMiwxNS42LDE4LjMsNy4zLDE4LjMsNy4zeiIvPgoJCTwvc3ZnPg==)",
10
- },
11
8
  "& $slider": Object {
12
- "left": 16,
9
+ "left": "calc(100% - 28px)",
10
+ },
11
+ "& $switchBg": Object {
12
+ "background": "#0059CD",
13
13
  },
14
- "background": "#0059CD",
15
14
  },
16
15
  "cont": Object {
17
- "&:focus $switch$checked": Object {
18
- "background": "#0059CD",
19
- "boxShadow": "0 0 0 8px rgba(0,110,255,0.3)",
16
+ "&:active $switch $switchBg": Object {
17
+ "boxShadow": "inset 0 0 0 2px rgba(255,255,255,0.2)",
20
18
  },
21
- "&:focus $switch:not($checked)": Object {
22
- "background": "#E9EEF8",
19
+ "&:focus-visible $switch": Object {
23
20
  "boxShadow": "0 0 0 8px hsl(221 91.2% 35.7% / 0.3)",
24
21
  },
25
- "&:hover $switch$checked, &:active $switch$checked": Object {
26
- "background": "#083CAE",
22
+ "&:focus-visible $switch$checked": Object {
23
+ "boxShadow": "0 0 0 8px rgba(0,110,255,0.3)",
27
24
  },
28
- "&:hover $switch:not($checked), &:active $switch:not($checked)": Object {
25
+ "&:hover $switch $switchBg, &:active $switch $switchBg": Object {
29
26
  "background": "#CAD5EE",
30
27
  },
31
- "alignItems": "start",
28
+ "&:hover $switch$checked $switchBg, &:active $switch$checked $switchBg": Object {
29
+ "background": "#083CAE",
30
+ },
31
+ "alignItems": "flex-start",
32
32
  "boxSizing": "border-box",
33
33
  "cursor": "pointer",
34
34
  "display": "flex",
35
35
  "outline": 0,
36
- "paddingBottom": "8px",
37
- "paddingTop": "8px",
38
36
  },
39
37
  "disabled": Object {
40
- "& $icon": Object {
41
- "background": "url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgogICAgICAgIAkgdmlld0JveD0iMCAwIDI0IDI0IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAyNCAyNDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgogICAgICAgIDxwYXRoIGZpbGw9IiNEM0Q0REMiIGQ9Ik0xMi4xLDEwLjhsNC42LTQuNkwxOCw3LjRMMTMuNCwxMmw0LjYsNC42TDE2LjcsMThsLTQuNi00LjZMNy40LDE4bC0xLjMtMS4zbDQuNi00LjZMNi4yLDcuNGwxLjMtMS4zTDEyLjEsMTAuOHoiLz4KICAgICAgICA8L3N2Zz4=)",
42
- },
43
- "& $switch": Object {
38
+ "& $switch $switchBg": Object {
44
39
  "background": "#EDEDF1",
40
+ "boxShadow": "inset 0 0 0 1px #D3D4DC",
45
41
  },
46
42
  "pointerEvents": "none",
47
43
  },
48
44
  "icon": Object {
49
- "background": "url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgogICAgICAgIAkgdmlld0JveD0iMCAwIDI0IDI0IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAyNCAyNDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgogICAgICAgIDxwYXRoIGZpbGw9IiM4REE1REEiIGQ9Ik0xMi4xLDEwLjhsNC42LTQuNkwxOCw3LjRMMTMuNCwxMmw0LjYsNC42TDE2LjcsMThsLTQuNi00LjZMNy40LDE4bC0xLjMtMS4zbDQuNi00LjZMNi4yLDcuNGwxLjMtMS4zTDEyLjEsMTAuOHoiLz4KICAgICAgICA8L3N2Zz4=)",
50
- "display": "block",
51
- "height": "100%",
52
- "transition": "0.3s all",
53
- "width": "100%",
45
+ "margin": 4,
54
46
  },
55
47
  "label": Object {
56
- "marginLeft": "8px",
48
+ "cursor": "pointer",
49
+ "marginLeft": "12px",
50
+ },
51
+ "labelWrap": Object {
52
+ "alignItems": "center",
53
+ "display": "flex",
54
+ "minHeight": 48,
55
+ "overflow": "hidden",
56
+ "paddingBottom": "4px",
57
+ "paddingTop": "4px",
57
58
  },
58
59
  "slider": Object {
59
60
  "background": "#fff",
60
61
  "borderRadius": "50%",
61
- "cursor": "pointer",
62
- "height": 20,
63
- "left": 2,
62
+ "height": 24,
63
+ "left": 4,
64
64
  "position": "absolute",
65
- "top": 2,
66
- "transition": "0.3s all",
67
- "width": 20,
65
+ "top": "50%",
66
+ "transform": "translateY(-50%)",
67
+ "transition": "all cubic-bezier(0.25,0.46,0.45,0.94) 0.2s",
68
+ "width": 24,
68
69
  },
69
70
  "switch": Object {
70
- "background": "#E9EEF8",
71
- "borderRadius": 34,
71
+ "borderRadius": "9999px",
72
72
  "display": "inline-block",
73
- "height": "24px",
73
+ "flexShrink": 0,
74
+ "height": 32,
74
75
  "position": "relative",
75
- "transition": "0.3s all",
76
- "width": 38,
76
+ "transition": "all cubic-bezier(0.25,0.46,0.45,0.94) 0.2s",
77
+ "width": 52,
78
+ },
79
+ "switchBg": Object {
80
+ "background": "#E9EEF8",
81
+ "borderRadius": "9999px",
82
+ "boxShadow": "inset 0 0 0 1px rgba(255,255,255,0.2)",
83
+ "height": 32,
84
+ "transition": "all cubic-bezier(0.25,0.46,0.45,0.94) 0.2s",
85
+ "width": 52,
86
+ },
87
+ "switchWrap": Object {
88
+ "alignItems": "center",
89
+ "display": "flex",
90
+ "flexShrink": 0,
91
+ "height": 48,
92
+ "width": 52,
77
93
  },
78
94
  }
79
95
  `;
@@ -5,90 +5,109 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports["default"] = void 0;
7
7
 
8
- var _icons = _interopRequireDefault(require("../subatomic/icons"));
9
-
10
8
  var _spacing = _interopRequireDefault(require("../tokens/spacing.json"));
11
9
 
12
10
  var _colors = _interopRequireDefault(require("../tokens/colors.json"));
13
11
 
14
12
  var _shadows = _interopRequireDefault(require("../tokens/shadows.json"));
15
13
 
14
+ var _borderRadius = _interopRequireDefault(require("../tokens/borderRadius.json"));
15
+
16
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
17
17
 
18
- var toggle = _colors["default"]["switch"],
19
- icon = _colors["default"].icon;
18
+ var toggle = _colors["default"]["switch"];
19
+ var transition = 'all cubic-bezier(0.25,0.46,0.45,0.94) 0.2s';
20
+ var contentHeight = 48;
21
+ var toggleWidth = 52;
22
+ var toggleHeight = 32;
23
+ var sliderSize = 24;
20
24
  var _default = {
21
25
  cont: {
22
- paddingTop: _spacing["default"]['size-2'],
23
- paddingBottom: _spacing["default"]['size-2'],
24
26
  boxSizing: 'border-box',
25
27
  display: 'flex',
26
- alignItems: 'start',
28
+ alignItems: 'flex-start',
27
29
  cursor: 'pointer',
28
30
  outline: 0,
29
- '&:hover $switch$checked, &:active $switch$checked': {
30
- background: toggle['selected']['bg']['hover']
31
+ '&:hover $switch $switchBg, &:active $switch $switchBg': {
32
+ background: toggle.unselected.bg.hover
31
33
  },
32
- '&:focus $switch$checked': {
33
- boxShadow: _shadows["default"]['focus-bright-blue'],
34
- background: toggle['selected']['bg']['default']
34
+ '&:focus-visible $switch': {
35
+ boxShadow: _shadows["default"]['focus-indigo']
35
36
  },
36
- '&:hover $switch:not($checked), &:active $switch:not($checked)': {
37
- background: toggle['unselected']['bg']['hover']
37
+ '&:hover $switch$checked $switchBg, &:active $switch$checked $switchBg': {
38
+ background: toggle.selected.bg.hover
38
39
  },
39
- '&:focus $switch:not($checked)': {
40
- background: toggle['unselected']['bg']['default'],
41
- boxShadow: _shadows["default"]['focus-indigo']
40
+ '&:active $switch $switchBg': {
41
+ boxShadow: "inset 0 0 0 2px ".concat(_colors["default"]["switch"].border["default"])
42
+ },
43
+ '&:focus-visible $switch$checked': {
44
+ boxShadow: _shadows["default"]['focus-bright-blue']
42
45
  }
43
46
  },
47
+ switchWrap: {
48
+ width: toggleWidth,
49
+ height: contentHeight,
50
+ display: 'flex',
51
+ alignItems: 'center',
52
+ flexShrink: 0
53
+ },
44
54
  "switch": {
45
55
  position: 'relative',
46
56
  display: 'inline-block',
47
- width: 38,
57
+ width: toggleWidth,
58
+ height: toggleHeight,
48
59
  flexShrink: 0,
49
- height: _spacing["default"]['size-5'],
50
- background: toggle['unselected']['bg']['default'],
51
- borderRadius: 34,
52
- transition: '0.3s all'
60
+ borderRadius: _borderRadius["default"]['br-full'],
61
+ transition: transition
62
+ },
63
+ switchBg: {
64
+ width: toggleWidth,
65
+ height: toggleHeight,
66
+ background: toggle.unselected.bg["default"],
67
+ boxShadow: "inset 0 0 0 1px ".concat(_colors["default"]["switch"].border["default"]),
68
+ borderRadius: _borderRadius["default"]['br-full'],
69
+ transition: transition
53
70
  },
54
71
  checked: {
55
- background: toggle['selected']['bg']['default'],
56
- '& $slider': {
57
- left: 16
72
+ '& $switchBg': {
73
+ background: toggle.selected.bg["default"]
58
74
  },
59
- '& $icon': {
60
- background: _icons["default"].base(_icons["default"].check.icon([icon.brand.bold]))
75
+ '& $slider': {
76
+ left: "calc(100% - 28px)"
61
77
  }
62
78
  },
63
79
  slider: {
64
80
  position: 'absolute',
65
- cursor: 'pointer',
66
- top: 2,
67
- left: 2,
68
- width: 20,
69
- height: 20,
81
+ top: '50%',
82
+ transform: 'translateY(-50%)',
83
+ left: 4,
84
+ width: sliderSize,
85
+ height: sliderSize,
70
86
  borderRadius: '50%',
71
- background: toggle['bg']['default'],
72
- transition: '0.3s all'
87
+ background: toggle.bg["default"],
88
+ transition: transition
73
89
  },
74
90
  icon: {
75
- width: '100%',
76
- height: '100%',
77
- display: 'block',
78
- background: _icons["default"].base(_icons["default"].cross.icon([icon.brand.disabled])),
79
- transition: '0.3s all'
91
+ margin: 4
80
92
  },
81
93
  disabled: {
82
- '& $switch': {
83
- background: toggle['bg']['disabled']
84
- },
85
- '& $icon': {
86
- background: _icons["default"].base(_icons["default"].cross.icon([icon["default"].disabled]))
94
+ '& $switch $switchBg': {
95
+ boxShadow: "inset 0 0 0 1px ".concat(_colors["default"]["switch"].border.disabled),
96
+ background: toggle.bg.disabled
87
97
  },
88
98
  pointerEvents: 'none'
89
99
  },
100
+ labelWrap: {
101
+ minHeight: contentHeight,
102
+ display: 'flex',
103
+ alignItems: 'center',
104
+ paddingTop: _spacing["default"]['size-1'],
105
+ paddingBottom: _spacing["default"]['size-1'],
106
+ overflow: 'hidden'
107
+ },
90
108
  label: {
91
- marginLeft: _spacing["default"]['size-2']
109
+ marginLeft: _spacing["default"]['size-3'],
110
+ cursor: 'pointer'
92
111
  }
93
112
  };
94
113
  exports["default"] = _default;
package/build/Tag/Tag.js CHANGED
@@ -36,9 +36,9 @@ var Tag = function Tag(_ref) {
36
36
  alignItems: "center",
37
37
  wrap: "noWrap"
38
38
  }, iconName && /*#__PURE__*/_react["default"].createElement("span", {
39
- className: "".concat(classes.icon, " ").concat(size ? classes["".concat(size, "Icon")] : classes.standardIcon, " ").concat(theme ? classes["".concat(theme, "Icon")] : classes.defaultIcon)
39
+ className: "".concat(classes.icon, " ").concat(size === 'big' ? classes.bigIcon : classes.standardIcon, " ").concat(theme ? classes["".concat(theme, "Icon")] : classes.defaultIcon)
40
40
  }), /*#__PURE__*/_react["default"].createElement("span", {
41
- className: "".concat(classes.tagText, " ").concat(size ? classes["".concat(size, "TagText")] : classes.standardTagText)
41
+ className: classes.tagText
42
42
  }, children)));
43
43
  };
44
44