@occmundial/occ-atomic 3.0.0-beta.7 → 3.0.0-beta.71

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 (171) hide show
  1. package/CHANGELOG.md +556 -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 +63 -67
  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/Drawer/Drawer.js +40 -0
  22. package/build/{Header/Nav/Nav.js → Drawer/index.js} +54 -39
  23. package/build/Drawer/index.test.js +52 -0
  24. package/build/Drawer/styles.js +61 -0
  25. package/build/Droplist/__snapshots__/Droplist.test.js.snap +5 -5
  26. package/build/Fab/__snapshots__/Fab.test.js.snap +2 -2
  27. package/build/Footer/Footer.js +81 -87
  28. package/build/Footer/List/List.js +89 -124
  29. package/build/Footer/List/styles.js +85 -31
  30. package/build/Footer/__snapshots__/Footer.test.js.snap +109 -59
  31. package/build/Footer/styles.js +116 -51
  32. package/build/Grid/Col/__snapshots__/Col.test.js.snap +16 -2
  33. package/build/Grid/Col/styles.js +12 -6
  34. package/build/Grid/Row/__snapshots__/Row.test.js.snap +18 -2
  35. package/build/Grid/Row/styles.js +15 -5
  36. package/build/Grid/styles.js +26 -9
  37. package/build/Menu/Menu.js +96 -0
  38. package/build/Menu/index.js +34 -0
  39. package/build/Menu/styles.js +25 -0
  40. package/build/MenuDivider/MenuDivider.js +47 -0
  41. package/build/MenuDivider/index.js +18 -0
  42. package/build/MenuDivider/styles.js +21 -0
  43. package/build/MenuItem/MenuItem.js +160 -0
  44. package/build/{Header/Menu → MenuItem}/index.js +2 -2
  45. package/build/MenuItem/styles.js +25 -0
  46. package/build/MenuItemBase/MenuItemBase.js +94 -0
  47. package/build/MenuItemBase/index.js +18 -0
  48. package/build/MenuItemBase/styles.js +57 -0
  49. package/build/MenuList/MenuList.js +71 -0
  50. package/build/{Header → MenuList}/index.js +2 -2
  51. package/build/MenuList/styles.js +54 -0
  52. package/build/MenuUser/MenuUser.js +152 -0
  53. package/build/MenuUser/index.js +18 -0
  54. package/build/MenuUser/styles.js +22 -0
  55. package/build/Modal/Modal.js +94 -66
  56. package/build/Modal/Modal.test.js +14 -7
  57. package/build/Modal/__snapshots__/Modal.test.js.snap +155 -100
  58. package/build/Modal/styles.js +165 -143
  59. package/build/NavAside/NavAside.js +54 -113
  60. package/build/NavAside/NavAside.test.js +0 -57
  61. package/build/NavAside/__snapshots__/NavAside.test.js.snap +35 -43
  62. package/build/NavAside/index.js +6 -0
  63. package/build/NavAside/styles.js +45 -63
  64. package/build/NavAvatarButton/NavAvatarButton.js +134 -0
  65. package/build/{NavIcon → NavAvatarButton}/index.js +2 -2
  66. package/build/NavAvatarButton/styles.js +33 -0
  67. package/build/NavButton/NavButton.js +73 -0
  68. package/build/{Header/Nav → NavButton}/index.js +2 -2
  69. package/build/NavButton/styles.js +79 -0
  70. package/build/NavItem/styles.js +4 -4
  71. package/build/NavTab/NavTab.js +45 -32
  72. package/build/NavTab/styles.js +59 -27
  73. package/build/NavTop/styles.js +6 -6
  74. package/build/OrderBy/OrderBy.js +2 -1
  75. package/build/Pager/Page/Page.js +11 -6
  76. package/build/Pager/Page/Page.test.js +13 -9
  77. package/build/Pager/Page/__snapshots__/Page.test.js.snap +34 -10
  78. package/build/Pager/Page/styles.js +48 -14
  79. package/build/Pager/Pager.js +144 -235
  80. package/build/Pager/Pager.test.js +81 -36
  81. package/build/Pager/__snapshots__/Pager.test.js.snap +3 -36
  82. package/build/Pager/styles.js +5 -40
  83. package/build/Pill/Choice/Choice.js +6 -4
  84. package/build/Pill/Choice/styles.js +13 -10
  85. package/build/Pill/Group/styles.js +5 -5
  86. package/build/Pill/Stack/Stack.js +2 -2
  87. package/build/Pill/Stack/styles.js +5 -8
  88. package/build/Placeholder/Placeholder.js +29 -12
  89. package/build/Placeholder/Placeholder.test.js +4 -4
  90. package/build/Placeholder/__snapshots__/Placeholder.test.js.snap +81 -38
  91. package/build/Placeholder/styles.js +86 -42
  92. package/build/Provider/MenuListProvider.js +38 -0
  93. package/build/Provider/usePrevious.js +1 -1
  94. package/build/Radio/Radio.js +22 -7
  95. package/build/Radio/__snapshots__/Radio.test.js.snap +71 -79
  96. package/build/Radio/styles.js +84 -85
  97. package/build/SlideDown/SlideDown.js +167 -169
  98. package/build/SlideDown/SlideDown.test.js +49 -44
  99. package/build/SlideDown/__snapshots__/SlideDown.test.js.snap +44 -15
  100. package/build/SlideDown/styles.js +51 -20
  101. package/build/SlideToggle/SlideToggle.js +38 -6
  102. package/build/SlideToggle/SlideToggle.test.js +2 -2
  103. package/build/SlideToggle/__snapshots__/SlideToggle.test.js.snap +53 -38
  104. package/build/SlideToggle/styles.js +64 -45
  105. package/build/Tabs/Tab/Tab.js +73 -0
  106. package/build/Tabs/Tab/index.js +34 -0
  107. package/build/Tabs/Tab/index.test.js +132 -0
  108. package/build/Tabs/Tab/styles.js +74 -0
  109. package/build/Tabs/TabContent/TabContent.js +76 -0
  110. package/build/Tabs/TabContent/index.js +34 -0
  111. package/build/Tabs/TabContent/index.test.js +68 -0
  112. package/build/Tabs/TabContent/styles.js +23 -0
  113. package/build/Tabs/TabIndicator/TabIndicator.js +158 -0
  114. package/build/Tabs/TabIndicator/index.js +34 -0
  115. package/build/Tabs/TabIndicator/styles.js +24 -0
  116. package/build/Tabs/TabList/TabList.js +108 -0
  117. package/build/Tabs/TabList/index.js +34 -0
  118. package/build/{Pager/Break → Tabs/TabList}/styles.js +3 -2
  119. package/build/Tabs/Tabs.js +74 -0
  120. package/build/Tabs/context.js +94 -0
  121. package/build/Tabs/index.js +34 -0
  122. package/build/Tabs/index.test.js +157 -0
  123. package/build/Tabs/styles.js +19 -0
  124. package/build/Tag/Tag.js +2 -2
  125. package/build/Tag/__snapshots__/Tag.test.js.snap +40 -43
  126. package/build/Tag/styles.js +76 -82
  127. package/build/Text/Text.js +2 -1
  128. package/build/TextField/TextField.js +7 -6
  129. package/build/TextField/__snapshots__/TextField.test.js.snap +3 -0
  130. package/build/TextField/styles.js +3 -0
  131. package/build/Tip/Tip.js +62 -95
  132. package/build/Tip/Tip.test.js +29 -6
  133. package/build/Tip/TipText/index.js +32 -0
  134. package/build/Tip/__snapshots__/Tip.test.js.snap +127 -15
  135. package/build/Tip/styles.js +125 -31
  136. package/build/Toaster/Toast/Toast.js +76 -64
  137. package/build/Toaster/Toast/styles.js +118 -46
  138. package/build/Toaster/Toaster.js +3 -2
  139. package/build/Toaster/Toaster.test.js +5 -2
  140. package/build/Toaster/__snapshots__/Toaster.test.js.snap +1 -1
  141. package/build/Toaster/functions.js +4 -0
  142. package/build/Toaster/styles.js +3 -3
  143. package/build/Tooltip/Tooltip.js +73 -22
  144. package/build/Tooltip/__snapshots__/Tooltip.test.js.snap +22 -6
  145. package/build/Tooltip/styles.js +32 -10
  146. package/build/index.js +33 -19
  147. package/build/plugin/babel.js +0 -2
  148. package/build/subatomic/grid.js +5 -5
  149. package/build/tokens/colors.json +94 -60
  150. package/build/tokens/index.js +12 -31
  151. package/build/tokens/shadows.json +3 -3
  152. package/package.json +5 -2
  153. package/build/Banner/styles.js +0 -41
  154. package/build/Header/Header.js +0 -163
  155. package/build/Header/Header.test.js +0 -118
  156. package/build/Header/Menu/Menu.js +0 -135
  157. package/build/Header/Menu/Menu.test.js +0 -107
  158. package/build/Header/Menu/__snapshots__/Menu.test.js.snap +0 -113
  159. package/build/Header/Menu/styles.js +0 -123
  160. package/build/Header/Nav/Nav.test.js +0 -81
  161. package/build/Header/Nav/__snapshots__/Nav.test.js.snap +0 -101
  162. package/build/Header/Nav/styles.js +0 -110
  163. package/build/Header/__snapshots__/Header.test.js.snap +0 -79
  164. package/build/Header/styles.js +0 -94
  165. package/build/NavIcon/NavIcon.js +0 -112
  166. package/build/NavIcon/styles.js +0 -81
  167. package/build/Pager/Break/Break.js +0 -27
  168. package/build/Pager/Break/Break.test.js +0 -53
  169. package/build/Pager/Break/__snapshots__/Break.test.js.snap +0 -13
  170. package/build/Pager/Break/index.js +0 -18
  171. /package/build/Button/{Loading.js → Loading/index.js} +0 -0
@@ -11,133 +11,132 @@ 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: 'center',
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']
42
+ '& $radio $radioOuter': {
43
+ boxShadow: "inset 0 0 0 2px ".concat(radio.selected.border.hover)
34
44
  },
35
- '& $radio:after': {
36
- background: radio['selected']['bg']['hover']
45
+ '& $radio $radioInner': {
46
+ background: radio.selected.bg.hover
37
47
  }
38
48
  },
39
49
  '&:active': {
40
- '& $radio:before': {
41
- borderColor: radio['selected']['border']['hover'],
42
- borderWidth: '3px'
50
+ '& $radio $radioOuter': {
51
+ boxShadow: "inset 0 0 0 3px ".concat(radio.selected.border.hover, " !important")
43
52
  },
44
- '& $radio:after': {
45
- background: radio['selected']['bg']['hover']
53
+ '& $radio $radioInner': {
54
+ background: radio.selected.bg.hover
46
55
  }
47
56
  }
48
- },
49
- '&:not($active)': {
50
- '&:hover $radio:before': {
51
- borderColor: radio['unselected']['border']['hover'],
52
- boxShadow: 'initial'
53
- },
54
- '&:active $radio:before': {
55
- borderColor: radio['unselected']['border']['hover'],
56
- borderWidth: '2px',
57
- boxShadow: 'initial'
58
- },
59
- '&:focus $radio:before': {
60
- borderColor: radio['unselected']['border']['default'],
61
- boxShadow: _shadows["default"]['focus-bright-blue']
62
- }
63
57
  }
64
58
  },
65
- radio: {
66
- width: _spacing["default"]['size-5'],
67
- height: _spacing["default"]['size-5'],
68
- position: 'relative',
59
+ radioWrap: {
60
+ width: radioWidth,
61
+ height: contentHeight,
69
62
  display: 'flex',
70
63
  alignItems: 'center',
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
- transition: '0.3s all'
84
- },
85
- '&:after': {
86
- content: '""',
87
- boxSizing: 'border-box',
88
- width: 10,
89
- height: 10,
90
- borderRadius: '50%',
91
- position: 'absolute',
92
- top: '50%',
93
- left: '50%',
94
- transform: 'translate(-50%, -50%)',
95
- transition: '0.3s all',
96
- background: radio['bg']['default']
97
- }
64
+ justifyContent: 'center',
65
+ flexShrink: 0
66
+ },
67
+ radio: {
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
98
95
  },
99
96
  active: {
100
97
  '& $radio': {
101
- '&:before': {
102
- borderWidth: 2,
103
- borderColor: radio['selected']['border']['default']
98
+ '& $radioOuter': {
99
+ boxShadow: "inset 0 0 0 2px ".concat(radio.selected.border["default"])
104
100
  },
105
- '&:after': {
106
- background: radio['selected']['bg']['default']
101
+ '& $radioInner': {
102
+ background: radio.selected.bg["default"]
107
103
  }
108
104
  }
109
105
  },
110
106
  disabled: {
111
107
  pointerEvents: 'none',
112
- '& :not($radio)': {
113
- opacity: 0.4
108
+ '& $radio $radioOuter': {
109
+ background: radio.bg.disabled
114
110
  },
115
- '&$active': {
116
- '& $radio:before': {
117
- borderColor: radio['selected']['border']['disabled']
118
- },
119
- '& $radio:after': {
120
- background: radio['selected']['bg']['disabled']
121
- }
111
+ '& $radio $radioInner': {
112
+ background: radio.bg.disabled
122
113
  },
123
- '&:not($active)': {
124
- '& $radio:before': {
125
- background: radio['bg']['disabled']
114
+ '&$active': {
115
+ '& $radio $radioOuter': {
116
+ boxShadow: "inset 0 0 0 2px ".concat(radio.selected.border.disabled)
126
117
  },
127
- '& $radio:after': {
128
- background: radio['bg']['disabled']
118
+ '& $radio $radioInner': {
119
+ background: radio.selected.bg.disabled
129
120
  }
130
121
  }
131
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
+ },
132
132
  label: {
133
- marginLeft: _spacing["default"]['size-2'],
133
+ marginLeft: _spacing["default"]['size-3'],
134
+ pointerEvents: 'none',
134
135
  cursor: 'pointer',
135
- "float": 'left',
136
- flex: '1'
136
+ flex: 1
137
137
  },
138
138
  right: {
139
139
  marginLeft: _spacing["default"]['size-2'],
140
- "float": 'right',
141
140
  pointerEvents: 'none'
142
141
  },
143
142
  overflow: {
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports["default"] = void 0;
9
9
 
10
- var _react = _interopRequireDefault(require("react"));
10
+ var _react = _interopRequireWildcard(require("react"));
11
11
 
12
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
 
@@ -19,10 +19,16 @@ var _Tag = _interopRequireDefault(require("../Tag"));
19
19
 
20
20
  var _Flexbox = _interopRequireDefault(require("../Flexbox"));
21
21
 
22
- var _colors = _interopRequireDefault(require("../subatomic/colors"));
22
+ var _colors = _interopRequireDefault(require("../tokens/colors.json"));
23
+
24
+ var _usePrevious = _interopRequireDefault(require("../Provider/usePrevious"));
23
25
 
24
26
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
25
27
 
28
+ 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); }
29
+
30
+ 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; }
31
+
26
32
  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); }
27
33
 
28
34
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
@@ -31,189 +37,160 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
31
37
 
32
38
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
33
39
 
34
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
35
-
36
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
37
-
38
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
39
-
40
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
41
-
42
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
43
-
44
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
40
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
45
41
 
46
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
42
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
47
43
 
48
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
44
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
49
45
 
50
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
46
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
51
47
 
52
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
48
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
53
49
 
54
- /** Component to create an accordion section. The content will be hidden by default, and shown after click. */
55
- var SlideDown = /*#__PURE__*/function (_React$Component) {
56
- _inherits(SlideDown, _React$Component);
57
-
58
- var _super = _createSuper(SlideDown);
59
-
60
- function SlideDown(props) {
61
- var _this;
62
-
63
- _classCallCheck(this, SlideDown);
50
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
64
51
 
65
- _this = _super.call(this, props);
66
- _this.state = {
67
- expanded: _this.props.expanded,
68
- toggled: _this.props.expanded
69
- };
70
- _this.toggleContent = _this.toggleContent.bind(_assertThisInitialized(_this));
71
- return _this;
52
+ var textSizes = {
53
+ sm: {
54
+ small: true
55
+ },
56
+ md: {
57
+ standard: true
58
+ },
59
+ lg: {
60
+ extraLarge: true
61
+ },
62
+ "default": {
63
+ standard: true
72
64
  }
73
-
74
- _createClass(SlideDown, [{
75
- key: "componentDidUpdate",
76
- value: function componentDidUpdate(prevProps) {
77
- var expanded = this.props.expanded;
78
-
79
- if (prevProps.expanded !== expanded) {
80
- this.toggleContent(expanded);
65
+ };
66
+ var _themeColors = {
67
+ blue: {
68
+ icon: {
69
+ "default": _colors["default"].icon.brand["default"],
70
+ disabled: _colors["default"].icon.brand.disabled
71
+ },
72
+ text: {
73
+ "default": {
74
+ primary: true
75
+ },
76
+ disabled: {
77
+ indigoSecondary: true
81
78
  }
82
79
  }
83
- }, {
84
- key: "toggleContent",
85
- value: function toggleContent(value) {
86
- var _this2 = this;
87
-
88
- var onToggle = this.props.onToggle;
89
- this.setState(_defineProperty({}, value ? 'expanded' : 'toggled', value));
90
- if (onToggle) onToggle(value);
91
- setTimeout(function () {
92
- _this2.setState(_defineProperty({}, value ? 'toggled' : 'expanded', value));
93
- }, value ? 0 : 300);
94
- }
95
- }, {
96
- key: "render",
97
- value: function render() {
98
- var _this3 = this;
99
-
100
- var _this$state = this.state,
101
- expanded = _this$state.expanded,
102
- toggled = _this$state.toggled;
103
- var _this$props = this.props,
104
- classes = _this$props.classes,
105
- title = _this$props.title,
106
- children = _this$props.children,
107
- tag = _this$props.tag,
108
- textSize = _this$props.textSize,
109
- strong = _this$props.strong,
110
- theme = _this$props.theme,
111
- noJustified = _this$props.noJustified;
112
-
113
- var getTextSize = function getTextSize() {
114
- switch (textSize) {
115
- case 'md':
116
- return {
117
- standard: true
118
- };
119
-
120
- case 'lg':
121
- return {
122
- large: true
123
- };
124
-
125
- case 'sm':
126
- return {
127
- small: true
128
- };
129
-
130
- default:
131
- return {
132
- standard: true
133
- };
134
- }
135
- };
136
-
137
- var getTextTheme = function getTextTheme() {
138
- switch (theme) {
139
- case 'blue':
140
- return {
141
- link: true
142
- };
143
-
144
- case 'default':
145
- default:
146
- return null;
147
- }
148
- };
149
-
150
- var getIconColor = function getIconColor() {
151
- switch (theme) {
152
- case 'blue':
153
- return _colors["default"].textLink;
154
-
155
- case 'default':
156
- default:
157
- return _colors["default"].grey900;
158
- }
159
- };
160
-
161
- var getTextProps = function getTextProps() {
162
- return _objectSpread(_objectSpread({}, getTextSize()), getTextTheme());
163
- };
164
-
165
- return /*#__PURE__*/_react["default"].createElement("div", {
166
- className: classes.wrapper
167
- }, /*#__PURE__*/_react["default"].createElement("div", {
168
- className: classes.button,
169
- onClick: function onClick() {
170
- return _this3.toggleContent(!expanded);
171
- }
172
- }, /*#__PURE__*/_react["default"].createElement(_Flexbox["default"], {
173
- display: "flex",
174
- justifyContent: !noJustified ? 'between' : null,
175
- alignItems: "start"
176
- }, /*#__PURE__*/_react["default"].createElement(_Flexbox["default"], {
177
- display: "flex",
178
- alignItems: "center"
179
- }, /*#__PURE__*/_react["default"].createElement(_Flexbox["default"], {
180
- display: "flex",
181
- alignItems: "start",
182
- wrap: "wrap"
183
- }, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_Text["default"], _extends({}, getTextProps(), {
184
- strong: strong,
185
- tag: "label",
186
- className: classes.text
187
- }), title), tag && /*#__PURE__*/_react["default"].createElement(_Tag["default"], {
188
- theme: "info",
189
- className: classes.tag
190
- }, tag)))), /*#__PURE__*/_react["default"].createElement(_Flexbox["default"], {
191
- flex: "0 0 auto"
192
- }, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
193
- iconName: "arrowDown",
194
- colors: [getIconColor()],
195
- className: classes.icon,
196
- width: 18,
197
- height: 18,
198
- style: {
199
- transform: toggled ? 'rotate(180deg)' : ''
200
- },
201
- testId: "slidedown__arrow-down"
202
- })))), expanded && /*#__PURE__*/_react["default"].createElement("div", {
203
- className: "".concat(classes.content, " ").concat(toggled ? classes.show : classes.hide)
204
- }, children));
80
+ },
81
+ "default": {
82
+ icon: {
83
+ "default": _colors["default"].icon["default"].bold,
84
+ disabled: _colors["default"].icon["default"].disabled
85
+ },
86
+ text: {
87
+ "default": {
88
+ highEmphasis: true
89
+ },
90
+ disabled: {
91
+ disabled: true
92
+ }
205
93
  }
206
- }]);
94
+ }
95
+ };
96
+ /** Component to create an accordion section. The content will be hidden by default, and shown after click. */
207
97
 
208
- return SlideDown;
209
- }(_react["default"].Component);
98
+ function SlideDown(_ref) {
99
+ var expanded = _ref.expanded,
100
+ classes = _ref.classes,
101
+ title = _ref.title,
102
+ customTitle = _ref.customTitle,
103
+ children = _ref.children,
104
+ tag = _ref.tag,
105
+ textSize = _ref.textSize,
106
+ strong = _ref.strong,
107
+ theme = _ref.theme,
108
+ noJustified = _ref.noJustified,
109
+ onToggle = _ref.onToggle,
110
+ icon = _ref.icon,
111
+ divider = _ref.divider,
112
+ noPadding = _ref.noPadding,
113
+ disabled = _ref.disabled,
114
+ testId = _ref.testId,
115
+ id = _ref.id;
116
+
117
+ var _useState = (0, _react.useState)(!!expanded),
118
+ _useState2 = _slicedToArray(_useState, 2),
119
+ _expanded = _useState2[0],
120
+ setExpanded = _useState2[1];
121
+
122
+ var prevExpanded = (0, _usePrevious["default"])(!!expanded);
123
+ var themeColors = _themeColors[theme] || _themeColors['default'];
124
+
125
+ var toggleContent = function toggleContent(e) {
126
+ e.stopPropagation();
127
+ setExpanded(!_expanded);
128
+ if (onToggle) onToggle(!_expanded);
129
+ };
130
+
131
+ var getTextProps = function getTextProps() {
132
+ return _objectSpread(_objectSpread({}, textSizes[textSize] || textSizes["default"]), disabled ? themeColors.text.disabled : themeColors.text["default"]);
133
+ };
134
+
135
+ (0, _react.useEffect)(function () {
136
+ if (prevExpanded !== expanded) {
137
+ setExpanded(expanded);
138
+ }
139
+ }, [prevExpanded, expanded]);
140
+ return /*#__PURE__*/_react["default"].createElement("div", {
141
+ className: divider ? classes.divider : ''
142
+ }, /*#__PURE__*/_react["default"].createElement("div", _extends({
143
+ className: "".concat(classes.button, " ").concat(textSize === 'lg' ? classes.largePadding : classes.normalPadding).concat(!noPadding ? " ".concat(classes.buttonPadding) : '').concat(disabled ? " ".concat(classes.disabled) : ''),
144
+ role: "button"
145
+ }, !disabled && {
146
+ onClick: toggleContent
147
+ }, {
148
+ "data-testid": testId,
149
+ id: id
150
+ }), /*#__PURE__*/_react["default"].createElement(_Flexbox["default"], {
151
+ display: "flex",
152
+ justifyContent: !noJustified ? 'between' : null,
153
+ alignItems: "center",
154
+ className: classes.flexContainer
155
+ }, /*#__PURE__*/_react["default"].createElement(_Flexbox["default"], {
156
+ display: "flex",
157
+ alignItems: "center",
158
+ wrap: "wrap"
159
+ }, icon ? /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
160
+ iconName: icon,
161
+ width: 16,
162
+ height: 16,
163
+ colors: [!disabled ? themeColors.icon["default"] : themeColors.icon.disabled],
164
+ className: classes.leftIcon
165
+ }) : '', customTitle || /*#__PURE__*/_react["default"].createElement(_Text["default"], _extends({}, getTextProps(), {
166
+ strong: strong,
167
+ tag: "label",
168
+ className: "".concat(classes.text).concat(disabled ? " ".concat(classes.disabled) : '')
169
+ }), title), tag && /*#__PURE__*/_react["default"].createElement(_Tag["default"], {
170
+ theme: "info",
171
+ className: classes.tag
172
+ }, tag)), /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
173
+ iconName: "arrowDown",
174
+ colors: [!disabled ? themeColors.icon["default"] : themeColors.icon.disabled],
175
+ className: "".concat(classes.icon).concat(_expanded ? " ".concat(classes.rotateIcon) : ''),
176
+ width: 16,
177
+ height: 16,
178
+ testId: "slidedown__arrow-down"
179
+ }))), /*#__PURE__*/_react["default"].createElement("div", {
180
+ className: "".concat(classes.contentWrapper).concat(_expanded ? " ".concat(classes.showContentWrapper) : '')
181
+ }, /*#__PURE__*/_react["default"].createElement("div", {
182
+ className: "".concat(classes.content).concat(_expanded ? " ".concat(classes.showContent) : '')
183
+ }, children)));
184
+ }
210
185
 
211
186
  SlideDown.defaultProps = {
212
187
  expanded: false,
213
188
  textSize: 'md',
214
189
  strong: false,
215
190
  theme: 'default',
216
- noJustified: false
191
+ noJustified: false,
192
+ icon: '',
193
+ noPadding: false
217
194
  };
218
195
  SlideDown.propTypes = {
219
196
  classes: _propTypes["default"].object,
@@ -222,6 +199,9 @@ SlideDown.propTypes = {
222
199
  /** Title of the tab. */
223
200
  title: _propTypes["default"].string,
224
201
 
202
+ /** If the title needs to be customized. It will be rendered instead of the title. */
203
+ customTitle: _propTypes["default"].node,
204
+
225
205
  /** Set this as true to show the content by default. If the external prop is the same of the internal state the component dont toggle */
226
206
  expanded: _propTypes["default"].bool,
227
207
 
@@ -241,7 +221,25 @@ SlideDown.propTypes = {
241
221
  theme: _propTypes["default"].oneOf(['default', 'blue']),
242
222
 
243
223
  /** The Title container has an alignment by default. Use this property if you need to remove it. */
244
- noJustified: _propTypes["default"].bool
224
+ noJustified: _propTypes["default"].bool,
225
+
226
+ /** Shows a divider at the bottom*/
227
+ divider: _propTypes["default"].bool,
228
+
229
+ /** Use the name of any of the icons available in the library. */
230
+ icon: _propTypes["default"].string,
231
+
232
+ /** The container has by default a side padding. Use this property if you need to remove it. */
233
+ noPadding: _propTypes["default"].bool,
234
+
235
+ /** It disables the component and shows it with the proper theme. */
236
+ disabled: _propTypes["default"].bool,
237
+
238
+ /** The testId property adds the data attribute data-testid to the main element and should be used for testing only. */
239
+ testId: _propTypes["default"].string,
240
+
241
+ /** Id of the component */
242
+ id: _propTypes["default"].string
245
243
  };
246
244
  var _default = SlideDown;
247
245
  exports["default"] = _default;