@occmundial/occ-atomic 2.0.0-beta.1 → 2.0.0-beta.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (284) hide show
  1. package/.prettierrc +6 -0
  2. package/.whitesource +12 -0
  3. package/CHANGELOG.md +1276 -584
  4. package/CONTRIBUTING.md +24 -0
  5. package/README.md +21 -21
  6. package/build/Autocomplete/Autocomplete.js +217 -117
  7. package/build/Autocomplete/Autocomplete.test.js +90 -74
  8. package/build/Autocomplete/__snapshots__/Autocomplete.test.js.snap +20 -0
  9. package/build/Autocomplete/index.js +6 -1
  10. package/build/Autocomplete/styles.js +2 -5
  11. package/build/Avatar/Avatar.js +66 -28
  12. package/build/Avatar/Avatar.test.js +36 -13
  13. package/build/Avatar/AvatarContent/AvatarContent.js +11 -14
  14. package/build/Avatar/AvatarContent/AvatarContent.test.js +55 -50
  15. package/build/Avatar/AvatarContent/__snapshots__/AvatarContent.test.js.snap +41 -0
  16. package/build/Avatar/AvatarContent/index.js +6 -1
  17. package/build/Avatar/AvatarContent/styles.js +12 -11
  18. package/build/Avatar/__snapshots__/Avatar.test.js.snap +17 -0
  19. package/build/Avatar/index.js +22 -1
  20. package/build/Avatar/styles.js +2 -6
  21. package/build/Banner/Banner.js +76 -0
  22. package/build/Banner/Banner.test.js +40 -0
  23. package/build/Banner/__snapshots__/Banner.test.js.snap +33 -0
  24. package/build/Banner/index.js +18 -0
  25. package/build/Banner/styles.js +41 -0
  26. package/build/Button/Button.js +123 -62
  27. package/build/Button/Button.test.js +67 -18
  28. package/build/Button/Loading.js +89 -0
  29. package/build/Button/__snapshots__/Button.test.js.snap +334 -0
  30. package/build/Button/index.js +22 -1
  31. package/build/Button/styles.js +176 -160
  32. package/build/ButtonAlign/ButtonAlign.js +20 -16
  33. package/build/ButtonAlign/ButtonAlign.test.js +3 -3
  34. package/build/ButtonAlign/__snapshots__/ButtonAlign.test.js.snap +19 -0
  35. package/build/Card/Card.js +4 -5
  36. package/build/Card/Card.test.js +40 -35
  37. package/build/Card/__snapshots__/Card.test.js.snap +46 -0
  38. package/build/Card/index.js +22 -1
  39. package/build/Card/styles.js +2 -4
  40. package/build/Check/Check.js +18 -14
  41. package/build/Check/Check.test.js +7 -7
  42. package/build/Check/__snapshots__/Check.test.js.snap +92 -0
  43. package/build/Check/styles.js +2 -2
  44. package/build/Checkbox/Checkbox.js +106 -60
  45. package/build/Checkbox/Checkbox.test.js +58 -42
  46. package/build/Checkbox/__snapshots__/Checkbox.test.js.snap +92 -0
  47. package/build/Checkbox/index.js +4 -2
  48. package/build/Checkbox/styles.js +2 -5
  49. package/build/Column/Column.js +1 -1
  50. package/build/Column/Column.test.js +3 -3
  51. package/build/Column/__snapshots__/Column.test.js.snap +647 -0
  52. package/build/Container/Container.js +1 -1
  53. package/build/Container/Container.test.js +4 -4
  54. package/build/Container/__snapshots__/Container.test.js.snap +43 -0
  55. package/build/Droplist/Droplist.js +474 -227
  56. package/build/Droplist/Droplist.test.js +111 -87
  57. package/build/Droplist/__snapshots__/Droplist.test.js.snap +65 -0
  58. package/build/Droplist/functions.js +9 -2
  59. package/build/Droplist/index.js +22 -1
  60. package/build/Droplist/styles.js +41 -15
  61. package/build/Flexbox/Flexbox.js +64 -29
  62. package/build/Flexbox/Flexbox.test.js +32 -14
  63. package/build/Flexbox/__snapshots__/Flexbox.test.js.snap +106 -0
  64. package/build/Flexbox/index.js +22 -1
  65. package/build/Flexbox/styles.js +2 -6
  66. package/build/Footer/Footer.js +42 -30
  67. package/build/Footer/Footer.test.js +2 -2
  68. package/build/Footer/List/List.js +32 -25
  69. package/build/Footer/__snapshots__/Footer.test.js.snap +90 -0
  70. package/build/Footer/styles.js +5 -0
  71. package/build/Grid/Col/Col.js +15 -22
  72. package/build/Grid/Col/Col.test.js +33 -13
  73. package/build/Grid/Col/__snapshots__/Col.test.js.snap +963 -0
  74. package/build/Grid/Col/index.js +22 -1
  75. package/build/Grid/Col/styles.js +97 -116
  76. package/build/Grid/Grid.js +18 -12
  77. package/build/Grid/Row/Row.js +1 -1
  78. package/build/Grid/Row/Row.test.js +2 -2
  79. package/build/Grid/Row/__snapshots__/Row.test.js.snap +22 -0
  80. package/build/Grid/Row/index.js +4 -2
  81. package/build/Grid/index.js +4 -2
  82. package/build/Header/Header.js +35 -31
  83. package/build/Header/Header.test.js +8 -8
  84. package/build/Header/Menu/Menu.js +23 -19
  85. package/build/Header/Menu/Menu.test.js +7 -7
  86. package/build/Header/Menu/__snapshots__/Menu.test.js.snap +113 -0
  87. package/build/Header/Nav/Nav.js +19 -15
  88. package/build/Header/Nav/Nav.test.js +5 -5
  89. package/build/Header/Nav/__snapshots__/Nav.test.js.snap +101 -0
  90. package/build/Header/__snapshots__/Header.test.js.snap +79 -0
  91. package/build/Hidden/Hidden.js +17 -13
  92. package/build/Hidden/Hidden.test.js +6 -6
  93. package/build/Hidden/__snapshots__/Hidden.test.js.snap +3 -0
  94. package/build/Hidden/index.js +4 -2
  95. package/build/Icon/Icon.js +65 -21
  96. package/build/Icon/Icon.test.js +47 -56
  97. package/build/Icon/__snapshots__/Icon.test.js.snap +26 -0
  98. package/build/Icon/index.js +22 -1
  99. package/build/Icon/styles.js +2 -5
  100. package/build/Input/Input.js +29 -25
  101. package/build/Input/Input.test.js +21 -21
  102. package/build/Input/__snapshots__/Input.test.js.snap +194 -0
  103. package/build/Input/index.js +17 -13
  104. package/build/Label/Label.js +17 -13
  105. package/build/Label/Label.test.js +6 -6
  106. package/build/Label/__snapshots__/Label.test.js.snap +82 -0
  107. package/build/LayerApp/LayerApp.js +22 -18
  108. package/build/LayerApp/LayerApp.test.js +4 -4
  109. package/build/LayerApp/__snapshots__/LayerApp.test.js.snap +37 -0
  110. package/build/Modal/Modal.js +55 -37
  111. package/build/Modal/Modal.test.js +10 -10
  112. package/build/Modal/__snapshots__/Modal.test.js.snap +208 -0
  113. package/build/Modal/index.js +19 -13
  114. package/build/Modal/styles.js +43 -31
  115. package/build/NavAside/NavAside.js +22 -18
  116. package/build/NavAside/NavAside.test.js +12 -12
  117. package/build/NavAside/__snapshots__/NavAside.test.js.snap +116 -0
  118. package/build/NavAside/index.js +16 -12
  119. package/build/NavIcon/NavIcon.js +31 -19
  120. package/build/NavItem/NavItem.js +29 -16
  121. package/build/NavTab/NavTab.js +36 -29
  122. package/build/NavTop/NavTop.js +20 -16
  123. package/build/OrderBy/OrderBy.js +23 -19
  124. package/build/OrderBy/OrderBy.test.js +6 -6
  125. package/build/OrderBy/__snapshots__/OrderBy.test.js.snap +54 -0
  126. package/build/Pager/Break/Break.js +1 -1
  127. package/build/Pager/Break/Break.test.js +4 -4
  128. package/build/Pager/Break/__snapshots__/Break.test.js.snap +13 -0
  129. package/build/Pager/Page/Page.js +1 -1
  130. package/build/Pager/Page/Page.test.js +5 -5
  131. package/build/Pager/Page/__snapshots__/Page.test.js.snap +27 -0
  132. package/build/Pager/Pager.js +21 -17
  133. package/build/Pager/Pager.test.js +12 -12
  134. package/build/Pager/__snapshots__/Pager.test.js.snap +50 -0
  135. package/build/Pager/styles.js +1 -1
  136. package/build/Pill/Choice/Choice.js +23 -18
  137. package/build/Pill/Choice/styles.js +8 -3
  138. package/build/Pill/Group/Group.js +7 -4
  139. package/build/Pill/Group/styles.js +7 -4
  140. package/build/Pill/Pill.js +36 -23
  141. package/build/Pill/Pill.test.js +12 -12
  142. package/build/Pill/Stack/Stack.js +10 -7
  143. package/build/Pill/Stack/styles.js +4 -1
  144. package/build/Pill/__snapshots__/Pill.test.js.snap +62 -0
  145. package/build/Pill/styles.js +6 -2
  146. package/build/Placeholder/Placeholder.js +2 -2
  147. package/build/Placeholder/Placeholder.test.js +3 -3
  148. package/build/Placeholder/__snapshots__/Placeholder.test.js.snap +130 -0
  149. package/build/Placeholder/styles.js +23 -16
  150. package/build/Radio/Radio.js +29 -15
  151. package/build/Radio/Radio.test.js +6 -6
  152. package/build/Radio/__snapshots__/Radio.test.js.snap +83 -0
  153. package/build/RangeCounter/RangeCounter.js +17 -13
  154. package/build/RangeCounter/RangeCounter.test.js +3 -3
  155. package/build/RangeCounter/__snapshots__/RangeCounter.test.js.snap +20 -0
  156. package/build/RangeCounter/styles.js +1 -1
  157. package/build/Row/Row.js +1 -1
  158. package/build/Row/Row.test.js +2 -2
  159. package/build/Row/__snapshots__/Row.test.js.snap +22 -0
  160. package/build/SightLogo/SightLogo.js +2 -2
  161. package/build/SightLogo/SightLogo.test.js +2 -2
  162. package/build/SightLogo/__snapshots__/SightLogo.test.js.snap +24 -0
  163. package/build/SlideDown/SlideDown.js +37 -26
  164. package/build/SlideDown/SlideDown.test.js +9 -9
  165. package/build/SlideDown/__snapshots__/SlideDown.test.js.snap +42 -0
  166. package/build/SlideToggle/SlideToggle.js +31 -17
  167. package/build/SlideToggle/SlideToggle.test.js +7 -7
  168. package/build/SlideToggle/__snapshots__/SlideToggle.test.js.snap +62 -0
  169. package/build/SubHeader/SubHeader.js +20 -16
  170. package/build/SubHeader/SubHeader.test.js +7 -7
  171. package/build/SubHeader/__snapshots__/SubHeader.test.js.snap +50 -0
  172. package/build/SwitchGroup/SwitchGroup.js +17 -13
  173. package/build/SwitchGroup/SwitchGroup.test.js +6 -6
  174. package/build/SwitchGroup/__snapshots__/SwitchGroup.test.js.snap +52 -0
  175. package/build/SwitchGroup/styles.js +1 -1
  176. package/build/Tag/Tag.js +27 -10
  177. package/build/Tag/Tag.test.js +8 -8
  178. package/build/Tag/__snapshots__/Tag.test.js.snap +137 -0
  179. package/build/Tag/styles.js +72 -27
  180. package/build/Text/Text.js +30 -15
  181. package/build/Text/Text.test.js +8 -8
  182. package/build/Text/__snapshots__/Text.test.js.snap +158 -0
  183. package/build/Text/styles.js +32 -23
  184. package/build/TextField/TextField.js +455 -302
  185. package/build/TextField/TextField.test.js +138 -146
  186. package/build/TextField/__snapshots__/TextField.test.js.snap +258 -0
  187. package/build/TextField/index.js +6 -1
  188. package/build/TextField/styles.js +99 -33
  189. package/build/Tip/Tip.js +91 -27
  190. package/build/Tip/Tip.test.js +5 -5
  191. package/build/Tip/__snapshots__/Tip.test.js.snap +49 -0
  192. package/build/Tip/styles.js +32 -12
  193. package/build/Title/Title.js +16 -12
  194. package/build/Title/Title.test.js +3 -3
  195. package/build/Title/__snapshots__/Title.test.js.snap +31 -0
  196. package/build/Toaster/Toast/Toast.js +11 -11
  197. package/build/Toaster/Toaster.js +27 -23
  198. package/build/Toaster/Toaster.test.js +6 -6
  199. package/build/Toaster/__snapshots__/Toaster.test.js.snap +5 -0
  200. package/build/Tooltip/Tooltip.js +210 -0
  201. package/build/Tooltip/Tooltip.test.js +35 -0
  202. package/build/Tooltip/__snapshots__/Tooltip.test.js.snap +33 -0
  203. package/build/Tooltip/hooks.js +132 -0
  204. package/build/Tooltip/index.js +18 -0
  205. package/build/Tooltip/styles.js +44 -0
  206. package/build/TourTip/TourTip.js +15 -11
  207. package/build/TourTip/TourTip.test.js +2 -2
  208. package/build/TourTip/__snapshots__/TourTip.test.js.snap +74 -0
  209. package/build/Visible/Visible.js +16 -12
  210. package/build/Visible/Visible.test.js +4 -4
  211. package/build/Visible/__snapshots__/Visible.test.js.snap +3 -0
  212. package/build/WindowSize/WindowSize.js +17 -11
  213. package/build/WindowSize/WindowSize.test.js +4 -4
  214. package/build/WindowSize/__snapshots__/WindowSize.test.js.snap +3 -0
  215. package/build/index.js +79 -8
  216. package/build/plugin/babel.js +59 -0
  217. package/build/subatomic/colors.js +8 -3
  218. package/build/subatomic/fonts.js +1 -1
  219. package/build/subatomic/icons/attachment.js +23 -0
  220. package/build/subatomic/icons/attachmentSolid.js +23 -0
  221. package/build/subatomic/icons/avatarSmile.js +23 -0
  222. package/build/subatomic/icons/book.js +23 -0
  223. package/build/subatomic/icons/cash.js +23 -0
  224. package/build/subatomic/icons/copy.js +23 -0
  225. package/build/subatomic/icons/copySolid.js +23 -0
  226. package/build/subatomic/icons/crossSolid.js +23 -0
  227. package/build/subatomic/icons/dislike.js +1 -1
  228. package/build/subatomic/icons/dislikeSolid.js +23 -0
  229. package/build/subatomic/icons/energy.js +23 -0
  230. package/build/subatomic/icons/energySolid.js +23 -0
  231. package/build/subatomic/icons/eye.js +1 -1
  232. package/build/subatomic/icons/eyeClosed.js +1 -1
  233. package/build/subatomic/icons/eyeClosedSolid.js +23 -0
  234. package/build/subatomic/icons/eyeSolid.js +23 -0
  235. package/build/subatomic/icons/hourGlass.js +23 -0
  236. package/build/subatomic/icons/like.js +1 -1
  237. package/build/subatomic/icons/likeSolid.js +23 -0
  238. package/build/subatomic/icons/location.js +23 -0
  239. package/build/subatomic/icons/locationSolid.js +23 -0
  240. package/build/subatomic/icons/matchJob.js +23 -0
  241. package/build/subatomic/icons/messages.js +1 -1
  242. package/build/subatomic/icons/messagesSolid.js +1 -1
  243. package/build/subatomic/icons/moreOptionsHorizontal.js +23 -0
  244. package/build/subatomic/icons/noMessages.js +23 -0
  245. package/build/subatomic/icons/noMessagesSolid.js +23 -0
  246. package/build/subatomic/icons/occDart.js +23 -8
  247. package/build/subatomic/icons/occHorizontal.js +23 -8
  248. package/build/subatomic/icons/occLogo.js +63 -0
  249. package/build/subatomic/icons/occVertical.js +23 -8
  250. package/build/subatomic/icons/profile.js +23 -0
  251. package/build/subatomic/icons/profileSolid.js +23 -0
  252. package/build/subatomic/icons/profileView.js +23 -0
  253. package/build/subatomic/icons/refresh.js +23 -0
  254. package/build/subatomic/icons/refreshSolid.js +23 -0
  255. package/build/subatomic/icons/sendMessage.js +23 -0
  256. package/build/subatomic/icons/sendMessageSolid.js +23 -0
  257. package/build/subatomic/icons/starsSolid.js +23 -0
  258. package/build/subatomic/icons/suitcase.js +23 -0
  259. package/build/subatomic/icons/suitcaseSolid.js +23 -0
  260. package/build/subatomic/icons/tag.js +1 -1
  261. package/build/subatomic/icons/tagSolid.js +23 -0
  262. package/build/subatomic/icons/trash.js +1 -1
  263. package/build/subatomic/icons/trashSolid.js +1 -1
  264. package/build/subatomic/icons/warning.js +23 -0
  265. package/build/subatomic/icons/warningSolid.js +23 -0
  266. package/build/subatomic/icons/webSite.js +23 -0
  267. package/build/subatomic/icons/webSiteSolid.js +23 -0
  268. package/build/subatomic/icons.js +230 -112
  269. package/build/tokens/borderRadius.json +8 -0
  270. package/build/tokens/colors.json +567 -0
  271. package/build/tokens/fonts.json +231 -0
  272. package/build/tokens/index.js +47 -0
  273. package/build/tokens/shadows.json +13 -0
  274. package/build/tokens/spacing.json +16 -0
  275. package/commitlint.config.js +6 -0
  276. package/package.json +124 -113
  277. package/playroom/FrameComponent.js +31 -0
  278. package/playroom/styles.js +14 -0
  279. package/playroom.config.js +7 -7
  280. package/build/Grid/Grid.test.js +0 -22
  281. package/build/Grid/Row/Rowdsd.js +0 -39
  282. package/build/hooks/useEventListener.js +0 -23
  283. package/build/hooks/usePrevious.js +0 -19
  284. package/yarn-error.log +0 -10737
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
@@ -9,71 +11,121 @@ var _react = _interopRequireDefault(require("react"));
9
11
 
10
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
13
 
12
- var _classnames7 = _interopRequireDefault(require("classnames"));
13
-
14
- var _styles = _interopRequireDefault(require("./styles"));
14
+ var _Loading = _interopRequireDefault(require("./Loading"));
15
15
 
16
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
17
17
 
18
- 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; }
19
-
20
- /**
21
- * A flexible button component, with four pre-stablished themes.
22
- * The Buton can behave like any button with an onClick function, or like an anchor with href and target.
23
- * There are 3 sizes available: small, medium and large.
24
- */
25
- var Button = function Button(props) {
26
- var className = props.className,
27
- children = props.children,
28
- id = props.id,
29
- href = props.href,
30
- target = props.target,
31
- rel = props.rel,
32
- onClick = props.onClick,
33
- theme = props.theme,
34
- size = props.size,
35
- block = props.block,
36
- disabled = props.disabled,
37
- icon = props.icon,
38
- iconRight = props.iconRight,
39
- style = props.style,
40
- loading = props.loading;
41
- var classes = (0, _styles["default"])(props);
42
- var buttonClassName = (0, _classnames7["default"])(classes.btn, _defineProperty({}, classes[theme], theme), _defineProperty({}, classes.loading, loading), _defineProperty({}, classes.disabled, disabled), _defineProperty({}, classes[size], ['md', 'lg'].includes(size)), _defineProperty({}, classes.block, block), className, _defineProperty({}, classes.iconOnly, !children && icon));
43
-
44
- var content = _react["default"].createElement("span", {
45
- className: classes.cont
46
- }, icon ? _react["default"].createElement("i", {
47
- className: classes.icon
48
- }) : '', children, iconRight ? _react["default"].createElement("i", {
49
- className: classes.iconRight
50
- }) : '');
51
-
52
- var loadingLayer = loading ? _react["default"].createElement("span", {
53
- className: classes.loadCont
54
- }, _react["default"].createElement("i", {
55
- className: classes.loadIcon
56
- })) : null;
57
-
58
- if (href) {
59
- return _react["default"].createElement("a", {
60
- className: buttonClassName,
61
- href: !disabled ? href : '',
62
- target: target,
63
- rel: rel,
64
- onClick: !disabled ? onClick : null,
65
- id: id,
66
- style: style
67
- }, content, loadingLayer);
68
- } else {
69
- return _react["default"].createElement("button", {
70
- className: buttonClassName,
71
- onClick: !disabled ? onClick : null,
72
- id: id,
73
- style: style
74
- }, content, loadingLayer);
18
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
19
+
20
+ 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); } }
21
+
22
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
23
+
24
+ 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); }
25
+
26
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
27
+
28
+ 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); }; }
29
+
30
+ 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); }
31
+
32
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
33
+
34
+ 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; } }
35
+
36
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
37
+
38
+ /**
39
+ * A flexible button component, with four pre-stablished themes.
40
+ * The Buton can behave like any button with an onClick function, or like an anchor with href and target.
41
+ * There are 3 sizes available: small, medium and large.
42
+ * NOTE: The ghostPink theme is deprecated, since it doesn't match with any of the new themes.
43
+ */
44
+ var Button = /*#__PURE__*/function (_React$Component) {
45
+ _inherits(Button, _React$Component);
46
+
47
+ var _super = _createSuper(Button);
48
+
49
+ function Button() {
50
+ _classCallCheck(this, Button);
51
+
52
+ return _super.apply(this, arguments);
75
53
  }
76
- };
54
+
55
+ _createClass(Button, [{
56
+ key: "render",
57
+ value: function render() {
58
+ var _this$props = this.props,
59
+ classes = _this$props.classes,
60
+ className = _this$props.className,
61
+ children = _this$props.children,
62
+ id = _this$props.id,
63
+ href = _this$props.href,
64
+ target = _this$props.target,
65
+ rel = _this$props.rel,
66
+ onClick = _this$props.onClick,
67
+ theme = _this$props.theme,
68
+ size = _this$props.size,
69
+ block = _this$props.block,
70
+ disabled = _this$props.disabled,
71
+ icon = _this$props.icon,
72
+ iconRight = _this$props.iconRight,
73
+ round = _this$props.round,
74
+ style = _this$props.style,
75
+ loading = _this$props.loading,
76
+ testId = _this$props.testId;
77
+ var classNames = classes.btn;
78
+ if (theme) classNames += " ".concat(classes[theme]);
79
+ if (loading) classNames += " ".concat(classes.loading);
80
+ if (disabled) classNames += " ".concat(classes.disabled);
81
+ if (size == 'md' || size == 'lg') classNames += " ".concat(classes[size]);
82
+ if (block) classNames += " ".concat(classes.block);
83
+ if (className) classNames += " ".concat(className);
84
+
85
+ if (!children && icon) {
86
+ classNames += " ".concat(classes.iconOnly);
87
+ if (round) classNames += " ".concat(classes.round);
88
+ }
89
+
90
+ var content = /*#__PURE__*/_react["default"].createElement("span", {
91
+ className: classes.cont
92
+ }, icon ? /*#__PURE__*/_react["default"].createElement("i", {
93
+ className: classes.icon
94
+ }) : '', children, iconRight ? /*#__PURE__*/_react["default"].createElement("i", {
95
+ className: classes.iconRight
96
+ }) : '');
97
+
98
+ var loadingLayer = loading ? /*#__PURE__*/_react["default"].createElement("span", {
99
+ className: classes.loadCont
100
+ }, /*#__PURE__*/_react["default"].createElement(_Loading["default"], {
101
+ className: classes.loadIcon
102
+ })) : null;
103
+
104
+ if (href) {
105
+ return /*#__PURE__*/_react["default"].createElement("a", {
106
+ className: classNames,
107
+ href: !disabled ? href : '',
108
+ target: target,
109
+ rel: rel,
110
+ onClick: !disabled ? onClick : null,
111
+ id: id,
112
+ style: style,
113
+ "data-testid": testId
114
+ }, content, loadingLayer);
115
+ } else {
116
+ return /*#__PURE__*/_react["default"].createElement("button", {
117
+ className: classNames,
118
+ onClick: !disabled ? onClick : null,
119
+ id: id,
120
+ style: style,
121
+ "data-testid": testId
122
+ }, content, loadingLayer);
123
+ }
124
+ }
125
+ }]);
126
+
127
+ return Button;
128
+ }(_react["default"].Component);
77
129
 
78
130
  Button.defaultProps = {
79
131
  theme: 'primary',
@@ -82,6 +134,9 @@ Button.defaultProps = {
82
134
  disabled: false
83
135
  };
84
136
  Button.propTypes = {
137
+ classes: _propTypes["default"].object.isRequired,
138
+ children: _propTypes["default"].node,
139
+
85
140
  /** There are four themes available: main, secondary, white, blue, flat. */
86
141
  theme: _propTypes["default"].oneOf(['primary', 'secondary', 'tertiary', 'tertiaryWhite', 'ghostPink', 'ghostGrey', 'ghostWhite']),
87
142
 
@@ -100,6 +155,9 @@ Button.propTypes = {
100
155
  /** Use the name of any of the icons available in the library. The icon will be rendered on the right side of the button. */
101
156
  iconRight: _propTypes["default"].string,
102
157
 
158
+ /** Property to make the button round when it only has an icon. */
159
+ round: _propTypes["default"].bool,
160
+
103
161
  /** The loading property disables the button and shows a loading icon spinning. */
104
162
  loading: _propTypes["default"].bool,
105
163
 
@@ -116,7 +174,10 @@ Button.propTypes = {
116
174
  rel: _propTypes["default"].string,
117
175
  id: _propTypes["default"].string,
118
176
  className: _propTypes["default"].string,
119
- style: _propTypes["default"].object
177
+ style: _propTypes["default"].object,
178
+
179
+ /** The testId property adds the data attribute data-testid to the main element and should be used for testing only. */
180
+ testId: _propTypes["default"].string
120
181
  };
121
182
  var _default = Button;
122
183
  exports["default"] = _default;
@@ -6,40 +6,60 @@ var _enzyme = require("enzyme");
6
6
 
7
7
  var _Button = _interopRequireDefault(require("./Button"));
8
8
 
9
+ var _styles = _interopRequireDefault(require("./styles"));
10
+
11
+ var _index = _interopRequireDefault(require("./index"));
12
+
9
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
10
14
 
11
- describe('Button', function () {
15
+ 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; }
16
+
17
+ var reduceClasses = function reduceClasses(prev, curr) {
18
+ return Object.assign({}, prev, _defineProperty({}, curr, curr));
19
+ };
20
+
21
+ var classes = Object.keys(_styles["default"]).reduce(reduceClasses, {});
22
+ describe("Button", function () {
12
23
  it('matches the snapshot', function () {
13
- var wrapper = (0, _enzyme.mount)(_react["default"].createElement(_Button["default"], null, "Button"));
24
+ var wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
25
+ classes: classes
26
+ }, "Button"));
14
27
  expect(wrapper).toMatchSnapshot();
15
28
  });
16
29
  it('renders the children content', function () {
17
- var wrapper = (0, _enzyme.mount)(_react["default"].createElement(_Button["default"], null, "Button"));
30
+ var wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
31
+ classes: classes
32
+ }, "Button"));
18
33
  expect(wrapper.text()).toEqual('Button');
19
34
  });
20
35
  it('returns a button', function () {
21
- var wrapper = (0, _enzyme.mount)(_react["default"].createElement(_Button["default"], null, "Button"));
36
+ var wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
37
+ classes: classes
38
+ }, "Button"));
22
39
  expect(wrapper.find('button').length).toBe(1);
23
40
  expect(wrapper.find('a').length).toBe(0);
24
41
  });
25
42
  it('returns an anchor', function () {
26
- var wrapper = (0, _enzyme.mount)(_react["default"].createElement(_Button["default"], {
43
+ var wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
44
+ classes: classes,
27
45
  href: "http://occ.com.mx"
28
46
  }, "Button"));
29
47
  expect(wrapper.find('button').length).toBe(0);
30
48
  expect(wrapper.find('a').length).toBe(1);
31
49
  });
32
50
  it('has the right theme', function () {
33
- var wrapper = (0, _enzyme.mount)(_react["default"].createElement(_Button["default"], null, "Button"));
34
- expect(wrapper.find('button').prop('className').indexOf('primary')).not.toBe(-1);
51
+ var wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
52
+ classes: classes
53
+ }, "Button"));
54
+ expect(wrapper.find('button').prop('className')).toEqual('btn primary');
35
55
  wrapper.setProps({
36
56
  theme: 'secondary'
37
57
  });
38
- expect(wrapper.find('button').prop('className').indexOf('primary')).toBe(-1);
39
- expect(wrapper.find('button').prop('className').indexOf('secondary')).not.toBe(-1);
58
+ expect(wrapper.find('button').prop('className')).toEqual('btn secondary');
40
59
  });
41
60
  it('has the right size', function () {
42
- var wrapper = (0, _enzyme.mount)(_react["default"].createElement(_Button["default"], {
61
+ var wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
62
+ classes: classes,
43
63
  size: "md"
44
64
  }, "Button"));
45
65
  expect(wrapper.find('button').prop('className').indexOf('md')).not.toBe(-1);
@@ -51,7 +71,9 @@ describe('Button', function () {
51
71
  expect(wrapper.find('button').prop('className').indexOf('lg')).not.toBe(-1);
52
72
  });
53
73
  it('has the block class', function () {
54
- var wrapper = (0, _enzyme.mount)(_react["default"].createElement(_Button["default"], null, "Button"));
74
+ var wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
75
+ classes: classes
76
+ }, "Button"));
55
77
  expect(wrapper.find('button').prop('className').indexOf('block')).toBe(-1);
56
78
  wrapper.setProps({
57
79
  block: true
@@ -60,7 +82,8 @@ describe('Button', function () {
60
82
  });
61
83
  it('calls onClick function', function () {
62
84
  var onClick = jest.fn();
63
- var wrapper = (0, _enzyme.mount)(_react["default"].createElement(_Button["default"], {
85
+ var wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
86
+ classes: classes,
64
87
  onClick: onClick,
65
88
  disabled: true
66
89
  }, "Button"));
@@ -73,27 +96,53 @@ describe('Button', function () {
73
96
  expect(onClick.mock.calls.length).toBe(1);
74
97
  });
75
98
  it('disabled', function () {
76
- var wrapper = (0, _enzyme.mount)(_react["default"].createElement(_Button["default"], {
99
+ var wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
100
+ classes: classes,
77
101
  disabled: true
78
102
  }, "Button"));
79
103
  expect(wrapper.find('button').prop('className').indexOf('disabled')).not.toBe(-1);
80
104
  });
81
105
  it('has an icon', function () {
82
- var wrapper = (0, _enzyme.mount)(_react["default"].createElement(_Button["default"], {
106
+ var wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
107
+ classes: classes,
83
108
  icon: "plus"
84
109
  }, "Button"));
85
110
  expect(wrapper.find('button span i').prop('className').indexOf('icon')).not.toBe(-1);
86
111
  });
87
112
  it('has an icon on the right', function () {
88
- var wrapper = (0, _enzyme.mount)(_react["default"].createElement(_Button["default"], {
113
+ var wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
114
+ classes: classes,
89
115
  iconRight: "plus"
90
116
  }, "Button"));
91
117
  expect(wrapper.find('button span i').prop('className').indexOf('iconRight')).not.toBe(-1);
92
118
  });
93
- it('has a loaging icon', function () {
94
- var wrapper = (0, _enzyme.mount)(_react["default"].createElement(_Button["default"], {
119
+ it('has a loading icon', function () {
120
+ var wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
121
+ classes: classes,
95
122
  loading: true
96
123
  }, "Button"));
97
- expect(wrapper.find('button span i').prop('className').indexOf('load')).not.toBe(-1);
124
+ expect(wrapper.find('button span *').prop('className').indexOf('load')).not.toBe(-1);
125
+ });
126
+ });
127
+ describe("ButtonJSS", function () {
128
+ it('matches the snapshot', function () {
129
+ var wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_index["default"], null));
130
+ expect(wrapper).toMatchSnapshot();
131
+ });
132
+ });
133
+ describe("Button styles", function () {
134
+ it('matches the snapshot', function () {
135
+ expect(_styles["default"]).toMatchSnapshot();
136
+ });
137
+ it('returns the right icons', function () {
138
+ var props = {
139
+ icon: 'testing'
140
+ };
141
+ expect(_styles["default"].primary['& i'].background(props)).toBe('url(data:image/svg+xml;base64,dGVzdGluZyAtICNmZmY=)');
142
+ expect(_styles["default"].secondary['& i'].background(props)).toBe('url(data:image/svg+xml;base64,dGVzdGluZyAtICMwODNDQUU=)');
143
+ expect(_styles["default"].tertiary['& i'].background(props)).toBe('url(data:image/svg+xml;base64,dGVzdGluZyAtICMwODNDQUU=)');
144
+ expect(_styles["default"].ghostPink['& i'].background(props)).toBe('url(data:image/svg+xml;base64,dGVzdGluZyAtICNmMTM0NjU=)');
145
+ expect(_styles["default"].ghostGrey['& i'].background(props)).toBe('url(data:image/svg+xml;base64,dGVzdGluZyAtICM1QTVEN0I=)');
146
+ expect(_styles["default"].ghostWhite['& i'].background(props)).toBe('url(data:image/svg+xml;base64,dGVzdGluZyAtICNmZmY=)');
98
147
  });
99
148
  });
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = Loading;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var _colors = _interopRequireDefault(require("../tokens/colors.json"));
13
+
14
+ var _spacing = _interopRequireDefault(require("../tokens/spacing.json"));
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
17
+
18
+ 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); }
19
+
20
+ function Loading(props) {
21
+ return /*#__PURE__*/_react["default"].createElement("svg", _extends({
22
+ xmlns: "http://www.w3.org/2000/svg",
23
+ fill: props.fill || _colors["default"]['blue-corp'][1000],
24
+ width: props.width || _spacing["default"]['size-5'],
25
+ height: props.height || _spacing["default"]['size-5'],
26
+ viewBox: "0 0 ".concat(_spacing["default"]['size-5'], " ").concat(_spacing["default"]['size-5'])
27
+ }, props), /*#__PURE__*/_react["default"].createElement("circle", {
28
+ cx: "4",
29
+ cy: "13",
30
+ r: "3"
31
+ }, /*#__PURE__*/_react["default"].createElement("animate", {
32
+ attributeName: "r",
33
+ begin: "0s",
34
+ dur: "0.7s",
35
+ values: "2;3;2",
36
+ calcMode: "linear",
37
+ repeatCount: "indefinite"
38
+ }), /*#__PURE__*/_react["default"].createElement("animate", {
39
+ attributeName: "cy",
40
+ begin: "0s",
41
+ dur: "0.7s",
42
+ values: "10;14;10",
43
+ calcMode: "linear",
44
+ repeatCount: "indefinite"
45
+ })), /*#__PURE__*/_react["default"].createElement("circle", {
46
+ cx: "12",
47
+ cy: "13",
48
+ r: "3"
49
+ }, /*#__PURE__*/_react["default"].createElement("animate", {
50
+ attributeName: "r",
51
+ begin: "0.1s",
52
+ dur: "0.7s",
53
+ values: "2;3;2",
54
+ calcMode: "linear",
55
+ repeatCount: "indefinite"
56
+ }), /*#__PURE__*/_react["default"].createElement("animate", {
57
+ attributeName: "cy",
58
+ begin: "0.1s",
59
+ dur: "0.7s",
60
+ values: "10;14;10",
61
+ calcMode: "linear",
62
+ repeatCount: "indefinite"
63
+ })), /*#__PURE__*/_react["default"].createElement("circle", {
64
+ cx: "20",
65
+ cy: "13",
66
+ r: "3"
67
+ }, /*#__PURE__*/_react["default"].createElement("animate", {
68
+ attributeName: "r",
69
+ begin: "0.2s",
70
+ dur: "0.7s",
71
+ values: "2;3;2",
72
+ calcMode: "linear",
73
+ repeatCount: "indefinite"
74
+ }), /*#__PURE__*/_react["default"].createElement("animate", {
75
+ attributeName: "cy",
76
+ begin: "0.2s",
77
+ dur: "0.7s",
78
+ values: "10;14;10",
79
+ calcMode: "linear",
80
+ repeatCount: "indefinite"
81
+ })));
82
+ }
83
+
84
+ ;
85
+ Loading.propTypes = {
86
+ fill: _propTypes["default"].string,
87
+ width: _propTypes["default"].string,
88
+ height: _propTypes["default"].string
89
+ };