@occmundial/occ-atomic 3.0.0-beta.6 → 3.0.0-beta.61

Sign up to get free protection for your applications and to get access to all the features.
Files changed (160) hide show
  1. package/CHANGELOG.md +484 -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 -58
  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 +81 -87
  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 +109 -59
  26. package/build/Footer/styles.js +116 -51
  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/Menu/Menu.js +111 -0
  33. package/build/Menu/index.js +34 -0
  34. package/build/Menu/styles.js +28 -0
  35. package/build/MenuDivider/MenuDivider.js +47 -0
  36. package/build/MenuDivider/index.js +18 -0
  37. package/build/MenuDivider/styles.js +21 -0
  38. package/build/MenuItem/MenuItem.js +160 -0
  39. package/build/{Header/Menu → MenuItem}/index.js +2 -2
  40. package/build/MenuItem/styles.js +25 -0
  41. package/build/MenuItemBase/MenuItemBase.js +98 -0
  42. package/build/MenuItemBase/index.js +18 -0
  43. package/build/MenuItemBase/styles.js +57 -0
  44. package/build/MenuList/MenuList.js +71 -0
  45. package/build/{Header → MenuList}/index.js +2 -2
  46. package/build/MenuList/styles.js +54 -0
  47. package/build/MenuUser/MenuUser.js +153 -0
  48. package/build/MenuUser/index.js +18 -0
  49. package/build/MenuUser/styles.js +22 -0
  50. package/build/Modal/Modal.js +94 -66
  51. package/build/Modal/Modal.test.js +14 -7
  52. package/build/Modal/__snapshots__/Modal.test.js.snap +155 -100
  53. package/build/Modal/styles.js +165 -143
  54. package/build/NavAvatarButton/NavAvatarButton.js +125 -0
  55. package/build/{NavIcon → NavAvatarButton}/index.js +2 -2
  56. package/build/NavAvatarButton/styles.js +30 -0
  57. package/build/NavButton/NavButton.js +73 -0
  58. package/build/{Header/Nav → NavButton}/index.js +2 -2
  59. package/build/NavButton/styles.js +79 -0
  60. package/build/NavItem/styles.js +4 -4
  61. package/build/NavTab/NavTab.js +47 -32
  62. package/build/NavTab/styles.js +63 -28
  63. package/build/NavTop/styles.js +6 -6
  64. package/build/OrderBy/OrderBy.js +2 -1
  65. package/build/Pager/Page/Page.js +11 -6
  66. package/build/Pager/Page/Page.test.js +13 -9
  67. package/build/Pager/Page/__snapshots__/Page.test.js.snap +34 -10
  68. package/build/Pager/Page/styles.js +48 -14
  69. package/build/Pager/Pager.js +144 -235
  70. package/build/Pager/Pager.test.js +81 -36
  71. package/build/Pager/__snapshots__/Pager.test.js.snap +3 -36
  72. package/build/Pager/styles.js +5 -40
  73. package/build/Pill/Choice/Choice.js +6 -4
  74. package/build/Pill/Choice/styles.js +13 -10
  75. package/build/Pill/Group/styles.js +5 -5
  76. package/build/Pill/Stack/Stack.js +2 -2
  77. package/build/Pill/Stack/styles.js +5 -8
  78. package/build/Placeholder/Placeholder.js +29 -12
  79. package/build/Placeholder/Placeholder.test.js +4 -4
  80. package/build/Placeholder/__snapshots__/Placeholder.test.js.snap +81 -38
  81. package/build/Placeholder/styles.js +86 -42
  82. package/build/Provider/MenuListProvider.js +38 -0
  83. package/build/Provider/usePrevious.js +1 -1
  84. package/build/Radio/Radio.js +42 -6
  85. package/build/Radio/__snapshots__/Radio.test.js.snap +81 -80
  86. package/build/Radio/styles.js +93 -85
  87. package/build/SlideDown/SlideDown.js +162 -169
  88. package/build/SlideDown/SlideDown.test.js +49 -44
  89. package/build/SlideDown/__snapshots__/SlideDown.test.js.snap +44 -15
  90. package/build/SlideDown/styles.js +51 -20
  91. package/build/SlideToggle/SlideToggle.js +38 -6
  92. package/build/SlideToggle/SlideToggle.test.js +2 -2
  93. package/build/SlideToggle/__snapshots__/SlideToggle.test.js.snap +52 -37
  94. package/build/SlideToggle/styles.js +64 -45
  95. package/build/Tabs/Tab/Tab.js +73 -0
  96. package/build/Tabs/Tab/index.js +34 -0
  97. package/build/Tabs/Tab/index.test.js +132 -0
  98. package/build/Tabs/Tab/styles.js +74 -0
  99. package/build/Tabs/TabContent/TabContent.js +76 -0
  100. package/build/Tabs/TabContent/index.js +34 -0
  101. package/build/Tabs/TabContent/index.test.js +68 -0
  102. package/build/Tabs/TabContent/styles.js +23 -0
  103. package/build/Tabs/TabIndicator/TabIndicator.js +158 -0
  104. package/build/Tabs/TabIndicator/index.js +34 -0
  105. package/build/Tabs/TabIndicator/styles.js +24 -0
  106. package/build/Tabs/TabList/TabList.js +108 -0
  107. package/build/Tabs/TabList/index.js +34 -0
  108. package/build/{Pager/Break → Tabs/TabList}/styles.js +3 -2
  109. package/build/Tabs/Tabs.js +74 -0
  110. package/build/Tabs/context.js +94 -0
  111. package/build/Tabs/index.js +34 -0
  112. package/build/Tabs/index.test.js +157 -0
  113. package/build/Tabs/styles.js +19 -0
  114. package/build/Tag/Tag.js +2 -2
  115. package/build/Tag/__snapshots__/Tag.test.js.snap +40 -43
  116. package/build/Tag/styles.js +76 -82
  117. package/build/Text/Text.js +2 -1
  118. package/build/TextField/TextField.js +7 -6
  119. package/build/TextField/__snapshots__/TextField.test.js.snap +3 -0
  120. package/build/TextField/styles.js +3 -0
  121. package/build/Tip/Tip.js +62 -95
  122. package/build/Tip/Tip.test.js +29 -6
  123. package/build/Tip/TipText/index.js +32 -0
  124. package/build/Tip/__snapshots__/Tip.test.js.snap +127 -15
  125. package/build/Tip/styles.js +125 -31
  126. package/build/Toaster/Toast/Toast.js +76 -64
  127. package/build/Toaster/Toast/styles.js +118 -46
  128. package/build/Toaster/Toaster.js +3 -2
  129. package/build/Toaster/Toaster.test.js +5 -2
  130. package/build/Toaster/__snapshots__/Toaster.test.js.snap +1 -1
  131. package/build/Toaster/functions.js +4 -0
  132. package/build/Toaster/styles.js +3 -3
  133. package/build/Tooltip/Tooltip.js +73 -22
  134. package/build/Tooltip/__snapshots__/Tooltip.test.js.snap +22 -6
  135. package/build/Tooltip/styles.js +32 -10
  136. package/build/index.js +30 -16
  137. package/build/plugin/babel.js +0 -2
  138. package/build/subatomic/grid.js +5 -5
  139. package/build/tokens/colors.json +35 -3
  140. package/package.json +5 -2
  141. package/build/Banner/styles.js +0 -41
  142. package/build/Header/Header.js +0 -163
  143. package/build/Header/Header.test.js +0 -118
  144. package/build/Header/Menu/Menu.js +0 -135
  145. package/build/Header/Menu/Menu.test.js +0 -107
  146. package/build/Header/Menu/__snapshots__/Menu.test.js.snap +0 -113
  147. package/build/Header/Menu/styles.js +0 -123
  148. package/build/Header/Nav/Nav.js +0 -95
  149. package/build/Header/Nav/Nav.test.js +0 -81
  150. package/build/Header/Nav/__snapshots__/Nav.test.js.snap +0 -101
  151. package/build/Header/Nav/styles.js +0 -110
  152. package/build/Header/__snapshots__/Header.test.js.snap +0 -79
  153. package/build/Header/styles.js +0 -94
  154. package/build/NavIcon/NavIcon.js +0 -112
  155. package/build/NavIcon/styles.js +0 -81
  156. package/build/Pager/Break/Break.js +0 -27
  157. package/build/Pager/Break/Break.test.js +0 -53
  158. package/build/Pager/Break/__snapshots__/Break.test.js.snap +0 -13
  159. package/build/Pager/Break/index.js +0 -18
  160. /package/build/Button/{Loading.js → Loading/index.js} +0 -0
@@ -22,93 +22,138 @@ var classes = Object.keys(_styles["default"]).reduce(reduceClasses, {});
22
22
  describe("Pager", function () {
23
23
  it('matches the snapshot', function () {
24
24
  var wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_Pager["default"], {
25
- classes: classes
25
+ classes: classes,
26
+ currentPage: 1
26
27
  }));
27
28
  expect(wrapper).toMatchSnapshot();
28
29
  });
29
30
  it('renders the prev and next buttons', function () {
30
31
  var wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_Pager["default"], {
31
- classes: classes
32
+ classes: classes,
33
+ currentPage: 1
32
34
  }));
33
- expect(wrapper.find('.listItemPrevious').length).toBe(1);
34
- expect(wrapper.find('.listItemPrevious').text()).toEqual('<Jss(Icon) />Previous');
35
- expect(wrapper.find('.listItemNext').length).toBe(1);
36
- expect(wrapper.find('.listItemNext').text()).toEqual('Next<Jss(Icon) />');
35
+ expect(wrapper.find('.prev').length).toBe(1);
36
+ expect(wrapper.find('.prev').text()).toEqual('<Jss(Button) />');
37
+ expect(wrapper.find('.next').length).toBe(1);
38
+ expect(wrapper.find('.next').text()).toEqual('<Jss(Button) />');
37
39
  });
38
40
  it('changes to previous page', function () {
39
- var wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_Pager["default"], {
40
- initialPage: 3,
41
- classes: classes
41
+ var onPageChange = jest.fn();
42
+ var wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react["default"].createElement(_Pager["default"], {
43
+ currentPage: 3,
44
+ pageCount: 4,
45
+ classes: classes,
46
+ onPageChange: onPageChange
42
47
  }));
43
- expect(wrapper.state('selected')).toEqual(3);
44
- wrapper.find('.listItemPrevious').simulate('click', {
48
+ expect(onPageChange.mock.calls.length).toBe(0);
49
+ expect(wrapper.find('Page').at(1).prop('selected')).toBe(false);
50
+ expect(wrapper.find('Page').at(2).prop('selected')).toBe(true);
51
+ wrapper.find('.prev button').simulate('click', {
45
52
  target: {}
46
53
  });
47
- expect(wrapper.state('selected')).toEqual(2);
54
+ expect(onPageChange.mock.calls.length).toBe(1);
55
+ expect(onPageChange.mock.calls[0][0]).toBe(2);
56
+ wrapper.setProps({
57
+ currentPage: 2
58
+ });
59
+ expect(wrapper.find('Page').at(1).prop('selected')).toBe(true);
60
+ expect(wrapper.find('Page').at(2).prop('selected')).toBe(false);
48
61
  });
49
62
  it('changes to next page', function () {
50
- var wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_Pager["default"], {
51
- initialPage: 3,
52
- classes: classes
63
+ var onPageChange = jest.fn();
64
+ var wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react["default"].createElement(_Pager["default"], {
65
+ currentPage: 2,
66
+ pageCount: 4,
67
+ classes: classes,
68
+ onPageChange: onPageChange
53
69
  }));
54
- expect(wrapper.state('selected')).toEqual(3);
55
- wrapper.find('.listItemNext').simulate('click', {
70
+ expect(onPageChange.mock.calls.length).toBe(0);
71
+ expect(wrapper.find('Page').at(1).prop('selected')).toBe(true);
72
+ expect(wrapper.find('Page').at(2).prop('selected')).toBe(false);
73
+ wrapper.find('.next button').simulate('click', {
56
74
  target: {}
57
75
  });
58
- expect(wrapper.state('selected')).toEqual(4);
76
+ expect(onPageChange.mock.calls.length).toBe(1);
77
+ expect(onPageChange.mock.calls[0][0]).toBe(3);
78
+ wrapper.setProps({
79
+ currentPage: 3
80
+ });
81
+ expect(wrapper.find('Page').at(1).prop('selected')).toBe(false);
82
+ expect(wrapper.find('Page').at(2).prop('selected')).toBe(true);
59
83
  });
60
84
  it('renders the pagination', function () {
61
85
  var wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react["default"].createElement(_Pager["default"], {
86
+ currentPage: 1,
62
87
  pageCount: 3,
63
- pageRangeDisplayed: 1,
64
- marginPagesDisplayed: 1,
88
+ centerPages: 1,
89
+ marginPages: 1,
65
90
  classes: classes
66
91
  }));
67
- expect(wrapper.find('li').length).toBe(5);
92
+ expect(wrapper.find('Page').length).toBe(3);
93
+ wrapper.setProps({
94
+ pageCount: 10
95
+ });
96
+ expect(wrapper.find('Page').length).toBe(4);
97
+ wrapper.setProps({
98
+ currentPage: 3
99
+ });
100
+ expect(wrapper.find('Page').length).toBe(5);
68
101
  });
69
102
  it('changes to a specific page', function () {
103
+ var onPageChange = jest.fn();
70
104
  var wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react["default"].createElement(_Pager["default"], {
105
+ currentPage: 1,
71
106
  pageCount: 5,
72
- pageRangeDisplayed: 1,
73
- marginPagesDisplayed: 1,
74
- classes: classes
107
+ centerPages: 1,
108
+ marginPages: 1,
109
+ classes: classes,
110
+ onPageChange: onPageChange
75
111
  }));
76
- expect(wrapper.state('selected')).toEqual(1);
77
- wrapper.find('li').at(3).simulate('click', {
112
+ expect(onPageChange.mock.calls.length).toBe(0);
113
+ expect(wrapper.find('Page').at(0).prop('selected')).toBe(true);
114
+ expect(wrapper.find('Page').at(1).prop('selected')).toBe(false);
115
+ wrapper.find('Page').at(1).simulate('click', {
78
116
  target: {}
79
117
  });
80
- expect(wrapper.state('selected')).toEqual(5);
118
+ expect(onPageChange.mock.calls.length).toBe(1);
119
+ expect(onPageChange.mock.calls[0][0]).toBe(2);
120
+ wrapper.setProps({
121
+ currentPage: 2
122
+ });
123
+ expect(wrapper.find('Page').at(0).prop('selected')).toBe(false);
124
+ expect(wrapper.find('Page').at(1).prop('selected')).toBe(true);
81
125
  });
82
126
  it('disables the previous page button', function () {
83
127
  var wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_Pager["default"], {
84
- initialPage: 1,
128
+ currentPage: 1,
85
129
  classes: classes
86
130
  }));
87
- expect(wrapper.find('.listItemPrevious').hasClass('disabled')).toEqual(true);
131
+ expect(wrapper.find('.prev').prop('disabled')).toEqual(true);
88
132
  wrapper.setProps({
89
- forcePage: 5
133
+ currentPage: 5
90
134
  });
91
- expect(wrapper.find('.listItemPrevious').hasClass('disabled')).toEqual(false);
135
+ expect(wrapper.find('.prev').prop('disabled')).toEqual(false);
92
136
  });
93
137
  it('disables the next page button', function () {
94
138
  var wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_Pager["default"], {
95
139
  pageCount: 5,
96
- initialPage: 5,
140
+ currentPage: 5,
97
141
  classes: classes
98
142
  }));
99
- expect(wrapper.find('.listItemNext').hasClass('disabled')).toEqual(true);
143
+ expect(wrapper.find('.next').prop('disabled')).toEqual(true);
100
144
  wrapper.setProps({
101
- forcePage: 1
145
+ currentPage: 1
102
146
  });
103
- expect(wrapper.find('.listItemNext').hasClass('disabled')).toEqual(false);
147
+ expect(wrapper.find('.next').prop('disabled')).toEqual(false);
104
148
  });
105
149
  it('calls the onPageChange function', function () {
106
150
  var onPageChange = jest.fn();
107
151
  var wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_Pager["default"], {
152
+ currentPage: 1,
108
153
  onPageChange: onPageChange,
109
154
  classes: classes
110
155
  }));
111
- wrapper.find('.listItemNext').simulate('click', {
156
+ wrapper.find('.next').simulate('click', {
112
157
  target: {}
113
158
  });
114
159
  expect(onPageChange.mock.calls.length).toBe(1);
@@ -4,48 +4,15 @@ exports[`Pager matches the snapshot 1`] = `ShallowWrapper {}`;
4
4
 
5
5
  exports[`Pager styles matches the snapshot 1`] = `
6
6
  Object {
7
- "btn": Object {
8
- "& span": Object {
9
- "marginBottom": "-2px",
10
- },
11
- "&:hover": Object {
12
- "background": "#ECECEE",
13
- "borderColor": "#ECECEE",
14
- },
15
- "border": "1px solid #bfbfbf",
16
- "borderRadius": "5px",
17
- "cursor": "pointer",
18
- "fontFamily": "'OccText', sans-serif",
19
- "outline": "0",
20
- "padding": "3px 13px",
21
- "transition": "0.3s all",
22
- },
23
- "disabled": Object {
24
- "opacity": "0.4",
25
- "pointerEvents": "none",
26
- },
27
- "listItemNext": Object {
28
- "marginLeft": "15px",
29
- },
30
- "listItemPrevious": Object {
31
- "marginRight": "15px",
32
- },
33
7
  "next": Object {
34
- "alignItems": "center",
35
- "display": "flex",
8
+ "marginLeft": "8px",
36
9
  },
37
10
  "pager": Object {
38
11
  "alignItems": "center",
39
- "color": "#727272",
40
- "display": "flex",
41
- "fontFamily": "'OccText', sans-serif",
42
- "fontSize": "14px",
43
- "listStyle": "none",
44
- "paddingLeft": "0",
12
+ "display": "inline-flex",
45
13
  },
46
14
  "prev": Object {
47
- "alignItems": "center",
48
- "display": "flex",
15
+ "marginRight": "8px",
49
16
  },
50
17
  }
51
18
  `;
@@ -5,55 +5,20 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports["default"] = void 0;
7
7
 
8
- var _colors = _interopRequireDefault(require("../subatomic/colors"));
9
-
10
- var _fonts = _interopRequireDefault(require("../subatomic/fonts"));
8
+ var _spacing = _interopRequireDefault(require("../tokens/spacing.json"));
11
9
 
12
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
11
 
14
12
  var _default = {
15
13
  pager: {
16
- listStyle: 'none',
17
- paddingLeft: '0',
18
- display: 'flex',
19
- alignItems: 'center',
20
- fontFamily: _fonts["default"].body,
21
- color: _colors["default"].grey7,
22
- fontSize: '14px'
23
- },
24
- btn: {
25
- fontFamily: _fonts["default"].body,
26
- border: "1px solid ".concat(_colors["default"].grey1),
27
- borderRadius: '5px',
28
- padding: '3px 13px',
29
- transition: '0.3s all',
30
- cursor: 'pointer',
31
- outline: '0',
32
- '& span': {
33
- marginBottom: '-2px'
34
- },
35
- '&:hover': {
36
- background: '#ECECEE',
37
- borderColor: '#ECECEE'
38
- }
39
- },
40
- prev: {
41
- display: 'flex',
14
+ display: 'inline-flex',
42
15
  alignItems: 'center'
43
16
  },
44
- listItemPrevious: {
45
- marginRight: '15px'
17
+ prev: {
18
+ marginRight: _spacing["default"]['size-2']
46
19
  },
47
20
  next: {
48
- display: 'flex',
49
- alignItems: 'center'
50
- },
51
- listItemNext: {
52
- marginLeft: '15px'
53
- },
54
- disabled: {
55
- pointerEvents: 'none',
56
- opacity: '0.4'
21
+ marginLeft: _spacing["default"]['size-2']
57
22
  }
58
23
  };
59
24
  exports["default"] = _default;
@@ -83,15 +83,17 @@ var Choice = function Choice(props) {
83
83
  }), leftIcon && /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
84
84
  iconName: leftIcon,
85
85
  colors: [conditionedStyles.iconColor],
86
- width: 18,
87
- height: 18
86
+ className: classes.leftIcon,
87
+ width: 16,
88
+ height: 16
88
89
  }), children && /*#__PURE__*/_react["default"].createElement("span", {
89
90
  className: "".concat(classes.text, " ").concat(classes[conditionedStyles.text])
90
91
  }, children), rightIcon && /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
91
92
  iconName: rightIcon,
92
93
  colors: [conditionedStyles.iconColor],
93
- width: 18,
94
- height: 18
94
+ className: classes.rightIcon,
95
+ width: 16,
96
+ height: 16
95
97
  }));
96
98
  };
97
99
 
@@ -44,12 +44,11 @@ var _default = {
44
44
  '&:hover': {
45
45
  background: _colors["default"].pill.unselected.bg.hover
46
46
  },
47
- '&:active, &:focus': {
47
+ '&:active': {
48
48
  background: _colors["default"].pill.unselected.bg.active
49
49
  },
50
- '&:not(:active):focus-visible': {
51
- boxShadow: _shadows["default"]['focus-indigo'],
52
- background: _colors["default"].pill.unselected.bg["default"]
50
+ '&:focus-visible': {
51
+ boxShadow: _shadows["default"]['focus-indigo']
53
52
  }
54
53
  },
55
54
  disabled: {
@@ -57,16 +56,16 @@ var _default = {
57
56
  pointerEvents: 'none'
58
57
  },
59
58
  selected: {
60
- background: "".concat(_colors["default"].pill.selected.bg["default"], " !important"),
59
+ background: _colors["default"].pill.selected.bg["default"],
61
60
  zIndex: 1,
62
61
  color: _colors["default"].text.white.primary,
63
62
  '&:hover': {
64
63
  background: _colors["default"].pill.selected.bg.hover
65
64
  },
66
- '&:active, &:focus': {
65
+ '&:active': {
67
66
  background: _colors["default"].pill.selected.bg.active
68
67
  },
69
- '&:not(:active):focus-visible': {
68
+ '&:focus-visible': {
70
69
  boxShadow: _shadows["default"]['focus-indigo']
71
70
  }
72
71
  },
@@ -80,9 +79,7 @@ var _default = {
80
79
  font: (0, _styles.parseFontValue)(_fonts["default"]['body-regular']),
81
80
  textOverflow: 'ellipsis',
82
81
  whiteSpace: 'nowrap',
83
- padding: [0, _spacing["default"]['size-1']],
84
- marginLeft: _spacing["default"]['size-1'],
85
- marginRight: _spacing["default"]['size-1']
82
+ padding: [0, _spacing["default"]['size-1']]
86
83
  },
87
84
  textSelectedDisabled: {
88
85
  color: _colors["default"].text.white.secondary
@@ -95,6 +92,12 @@ var _default = {
95
92
  },
96
93
  textEnabled: {
97
94
  color: _colors["default"].text.indigo.primary
95
+ },
96
+ leftIcon: {
97
+ marginRight: _spacing["default"]['size-1']
98
+ },
99
+ rightIcon: {
100
+ marginLeft: _spacing["default"]['size-1']
98
101
  }
99
102
  };
100
103
  exports["default"] = _default;
@@ -43,15 +43,15 @@ var _default = {
43
43
  whiteSpace: 'nowrap',
44
44
  transition: '0.3s all',
45
45
  cursor: 'pointer',
46
- '&:not(:active):focus-visible': {
47
- boxShadow: _shadows["default"]['focus-indigo'],
48
- background: 'none'
49
- },
50
46
  '&:hover': {
51
47
  background: _colors["default"].pill.unselected.bg.hover
52
48
  },
53
- '&:active, &:focus': {
49
+ '&:active': {
54
50
  background: _colors["default"].pill.unselected.bg.active
51
+ },
52
+ '&:focus-visible': {
53
+ boxShadow: _shadows["default"]['focus-indigo'],
54
+ background: 'none'
55
55
  }
56
56
  },
57
57
  selected: {
@@ -52,8 +52,8 @@ var Stack = function Stack(_ref) {
52
52
  className: classes.close,
53
53
  iconName: "cross",
54
54
  colors: [disabled ? _colors["default"].icon.brand.disabled : _colors["default"].icon.brand["default"]],
55
- width: 18,
56
- height: 18
55
+ width: 16,
56
+ height: 16
57
57
  })));
58
58
  };
59
59
 
@@ -42,12 +42,11 @@ var _default = {
42
42
  '&:hover': {
43
43
  background: _colors["default"].pill.unselected.bg.hover
44
44
  },
45
- '&:active, &:focus': {
45
+ '&:active': {
46
46
  background: _colors["default"].pill.unselected.bg.active
47
47
  },
48
- '&:not(:active):focus-visible': {
49
- boxShadow: _shadows["default"]['focus-indigo'],
50
- background: _colors["default"].pill.unselected.bg["default"]
48
+ '&:focus-visible': {
49
+ boxShadow: _shadows["default"]['focus-indigo']
51
50
  }
52
51
  },
53
52
  disabled: {
@@ -61,8 +60,7 @@ var _default = {
61
60
  color: _colors["default"].text.indigo.primary,
62
61
  textOverflow: 'ellipsis',
63
62
  whiteSpace: 'nowrap',
64
- padding: [0, _spacing["default"]['size-1']],
65
- marginRight: _spacing["default"]['size-1']
63
+ padding: [0, _spacing["default"]['size-1']]
66
64
  },
67
65
  textDisabled: {
68
66
  color: _colors["default"].text.indigo.secondary
@@ -73,8 +71,7 @@ var _default = {
73
71
  display: 'inline-flex',
74
72
  justifyContent: 'center',
75
73
  alignItems: 'center',
76
- marginRight: -_spacing["default"]['size-1'],
77
- marginLeft: -_spacing["default"]['size-1']
74
+ marginLeft: _spacing["default"]['size-1']
78
75
  }
79
76
  };
80
77
  exports["default"] = _default;
@@ -9,7 +9,7 @@ var _react = _interopRequireDefault(require("react"));
9
9
 
10
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
 
12
- var _Flexbox = _interopRequireDefault(require("../Flexbox"));
12
+ var _Text = require("../Text/Text");
13
13
 
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
15
 
@@ -19,26 +19,43 @@ var Placeholder = function Placeholder(_ref) {
19
19
  textSize = _ref.textSize,
20
20
  round = _ref.round,
21
21
  top = _ref.top,
22
- bottom = _ref.bottom;
23
- return /*#__PURE__*/_react["default"].createElement(_Flexbox["default"], {
24
- display: "flex",
25
- alignItems: "center",
26
- className: "".concat(textSize ? classes[textSize] : '').concat(top ? " ".concat(classes["top".concat(top)]) : '').concat(bottom ? " ".concat(classes["bottom".concat(bottom)]) : '')
27
- }, /*#__PURE__*/_react["default"].createElement("div", {
28
- className: "".concat(classes.placeholder).concat(round ? " ".concat(classes.round) : '')
29
- }));
22
+ bottom = _ref.bottom,
23
+ className = _ref.className,
24
+ style = _ref.style,
25
+ _ref$theme = _ref.theme,
26
+ theme = _ref$theme === void 0 ? 'light' : _ref$theme;
27
+ var textSizeClass = textSize ? classes[_Text.oldToNewClassMapper[textSize] || textSize] : '';
28
+ var marginTopClass = top ? " ".concat(classes["top".concat(top)]) : '';
29
+ var marginBottomClass = bottom ? " ".concat(classes["bottom".concat(bottom)]) : '';
30
+ var roundClass = round ? " ".concat(classes.round) : '';
31
+ var classNameClass = className ? className : '';
32
+ var containerBaseClasses = "".concat(classes.placeholder, " ").concat(classes[theme]);
33
+ var containerClasses = "".concat(roundClass, " ").concat(textSizeClass, " ").concat(marginTopClass, " ").concat(marginBottomClass, " ").concat(classNameClass).replace(/\s{2,}/, ' ');
34
+ return /*#__PURE__*/_react["default"].createElement("div", {
35
+ className: "".concat(containerBaseClasses, " ").concat(containerClasses),
36
+ style: style
37
+ });
30
38
  };
31
39
 
32
40
  Placeholder.propTypes = {
33
41
  classes: _propTypes["default"].object.isRequired,
34
42
 
43
+ /** Adds placeholder container classes. */
44
+ className: _propTypes["default"].string,
45
+
46
+ /** Adds placeholder container syles. */
47
+ style: _propTypes["default"].object,
48
+
49
+ /** Theme of the placeholder, whether light or dark. */
50
+ theme: _propTypes["default"].oneOf(['light', 'dark']),
51
+
35
52
  /** Simulates a row of text. It has the same size and line-height as the Text component. */
36
- textSize: _propTypes["default"].oneOf(['hero', 'headline', 'heading', 'subheading', 'large', 'standard', 'small', 'micro']),
53
+ textSize: _propTypes["default"].oneOf(['display', 'h1', 'h2', 'h3', 'h4', 'h5', 'tag', 'bodyXLarge', 'bodyLargeStrong', 'bodyLarge', 'bodyRegularStrong', 'bodyRegular', 'bodySmallStrong', 'bodySmall', 'bodyXSmall', 'hero', 'headline', 'heading', 'subheading', 'large', 'standard', 'small', 'micro']),
37
54
 
38
- /** Spacing in the top of the placeholder. */
55
+ /** Spacing in the top of the placeholder. (deprecated) */
39
56
  top: _propTypes["default"].oneOf(['xTiny', 'tiny', 'small', 'base', 'medium', 'large', 'xLarge']),
40
57
 
41
- /** Spacing in the bottom of the placeholder. */
58
+ /** Spacing in the bottom of the placeholder. (deprecated) */
42
59
  bottom: _propTypes["default"].oneOf(['xTiny', 'tiny', 'small', 'base', 'medium', 'large', 'xLarge']),
43
60
 
44
61
  /** Width of the placeholder. You can use numbers or a string with a percentage. */
@@ -30,19 +30,19 @@ describe('Placeholder', function () {
30
30
  var wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_Placeholder["default"], {
31
31
  classes: classes
32
32
  }));
33
- expect(wrapper.prop('className')).toBe('');
33
+ expect(wrapper.prop('className')).toBe('placeholder light ');
34
34
  wrapper.setProps({
35
35
  textSize: 'headline'
36
36
  });
37
- expect(wrapper.prop('className')).toBe('headline');
37
+ expect(wrapper.prop('className')).toBe('placeholder light h2 ');
38
38
  wrapper.setProps({
39
39
  top: 'tiny'
40
40
  });
41
- expect(wrapper.prop('className')).toBe('headline toptiny');
41
+ expect(wrapper.prop('className')).toBe('placeholder light h2 toptiny ');
42
42
  wrapper.setProps({
43
43
  bottom: 'small'
44
44
  });
45
- expect(wrapper.prop('className')).toBe('headline toptiny bottomsmall');
45
+ expect(wrapper.prop('className')).toBe('placeholder light h2 toptiny bottomsmall ');
46
46
  });
47
47
  });
48
48
  describe("PlaceholderJSS", function () {