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

Sign up to get free protection for your applications and to get access to all the features.
Files changed (302) hide show
  1. package/.prettierrc +6 -0
  2. package/.whitesource +12 -0
  3. package/CHANGELOG.md +1276 -581
  4. package/CONTRIBUTING.md +24 -0
  5. package/README.md +21 -21
  6. package/build/Autocomplete/Autocomplete.js +35 -23
  7. package/build/Autocomplete/Autocomplete.test.js +14 -14
  8. package/build/Autocomplete/__snapshots__/Autocomplete.test.js.snap +20 -0
  9. package/build/Avatar/Avatar.js +21 -17
  10. package/build/Avatar/Avatar.test.js +2 -2
  11. package/build/Avatar/AvatarContent/AvatarContent.js +5 -5
  12. package/build/Avatar/AvatarContent/AvatarContent.test.js +6 -6
  13. package/build/Avatar/AvatarContent/__snapshots__/AvatarContent.test.js.snap +41 -0
  14. package/build/Avatar/AvatarContent/styles.js +10 -6
  15. package/build/Avatar/__snapshots__/Avatar.test.js.snap +17 -0
  16. package/build/Avatar/index.js +4 -2
  17. package/build/Banner/Banner.js +76 -0
  18. package/build/Banner/Banner.test.js +40 -0
  19. package/build/Banner/__snapshots__/Banner.test.js.snap +33 -0
  20. package/build/Banner/index.js +18 -0
  21. package/build/Banner/styles.js +41 -0
  22. package/build/Button/Button.js +51 -30
  23. package/build/Button/Button.test.js +20 -25
  24. package/build/Button/Loading.js +89 -0
  25. package/build/Button/__snapshots__/Button.test.js.snap +334 -0
  26. package/build/Button/index.js +4 -2
  27. package/build/Button/styles.js +174 -155
  28. package/build/ButtonAlign/ButtonAlign.js +86 -0
  29. package/build/ButtonAlign/ButtonAlign.test.js +50 -0
  30. package/build/ButtonAlign/__snapshots__/ButtonAlign.test.js.snap +19 -0
  31. package/build/ButtonAlign/index.js +18 -0
  32. package/build/ButtonAlign/styles.js +18 -0
  33. package/build/Card/Card.js +1 -1
  34. package/build/Card/Card.test.js +4 -4
  35. package/build/Card/__snapshots__/Card.test.js.snap +46 -0
  36. package/build/Card/index.js +4 -2
  37. package/build/Check/Check.js +151 -0
  38. package/build/Check/Check.test.js +85 -0
  39. package/build/Check/__snapshots__/Check.test.js.snap +92 -0
  40. package/build/Check/index.js +18 -0
  41. package/build/Check/styles.js +100 -0
  42. package/build/Checkbox/Checkbox.js +29 -16
  43. package/build/Checkbox/Checkbox.test.js +8 -8
  44. package/build/Checkbox/__snapshots__/Checkbox.test.js.snap +92 -0
  45. package/build/Checkbox/index.js +4 -2
  46. package/build/Column/Column.js +67 -0
  47. package/build/Column/Column.test.js +59 -0
  48. package/build/Column/__snapshots__/Column.test.js.snap +647 -0
  49. package/build/Column/index.js +18 -0
  50. package/build/Column/styles.js +93 -0
  51. package/build/Container/Container.js +50 -0
  52. package/build/Container/Container.test.js +53 -0
  53. package/build/Container/__snapshots__/Container.test.js.snap +43 -0
  54. package/build/Container/index.js +18 -0
  55. package/build/Container/styles.js +49 -0
  56. package/build/Droplist/Droplist.js +82 -33
  57. package/build/Droplist/Droplist.test.js +50 -11
  58. package/build/Droplist/__snapshots__/Droplist.test.js.snap +65 -0
  59. package/build/Droplist/functions.js +9 -2
  60. package/build/Droplist/index.js +4 -2
  61. package/build/Droplist/styles.js +39 -10
  62. package/build/Flexbox/Flexbox.js +16 -12
  63. package/build/Flexbox/Flexbox.test.js +3 -3
  64. package/build/Flexbox/__snapshots__/Flexbox.test.js.snap +106 -0
  65. package/build/Flexbox/index.js +4 -2
  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 +1 -1
  72. package/build/Grid/Col/Col.test.js +3 -3
  73. package/build/Grid/Col/__snapshots__/Col.test.js.snap +963 -0
  74. package/build/Grid/Col/index.js +4 -2
  75. package/build/Grid/Grid.js +18 -12
  76. package/build/Grid/Row/Row.js +1 -1
  77. package/build/Grid/Row/Row.test.js +2 -2
  78. package/build/Grid/Row/__snapshots__/Row.test.js.snap +22 -0
  79. package/build/Grid/Row/index.js +4 -2
  80. package/build/Grid/index.js +4 -2
  81. package/build/Header/Header.js +163 -0
  82. package/build/Header/Header.test.js +118 -0
  83. package/build/Header/Menu/Menu.js +135 -0
  84. package/build/Header/Menu/Menu.test.js +107 -0
  85. package/build/Header/Menu/__snapshots__/Menu.test.js.snap +113 -0
  86. package/build/Header/Menu/index.js +18 -0
  87. package/build/Header/Menu/styles.js +123 -0
  88. package/build/Header/Nav/Nav.js +95 -0
  89. package/build/Header/Nav/Nav.test.js +81 -0
  90. package/build/Header/Nav/__snapshots__/Nav.test.js.snap +101 -0
  91. package/build/Header/Nav/index.js +18 -0
  92. package/build/Header/Nav/styles.js +110 -0
  93. package/build/Header/__snapshots__/Header.test.js.snap +79 -0
  94. package/build/Header/index.js +18 -0
  95. package/build/Header/styles.js +94 -0
  96. package/build/Hidden/Hidden.js +17 -13
  97. package/build/Hidden/Hidden.test.js +6 -6
  98. package/build/Hidden/__snapshots__/Hidden.test.js.snap +3 -0
  99. package/build/Hidden/index.js +4 -2
  100. package/build/Icon/Icon.js +27 -15
  101. package/build/Icon/Icon.test.js +3 -3
  102. package/build/Icon/__snapshots__/Icon.test.js.snap +26 -0
  103. package/build/Icon/index.js +4 -2
  104. package/build/Input/Input.js +442 -0
  105. package/build/Input/Input.test.js +258 -0
  106. package/build/Input/__snapshots__/Input.test.js.snap +194 -0
  107. package/build/Input/index.js +78 -0
  108. package/build/Input/styles.js +202 -0
  109. package/build/Input/stylesFlat.js +74 -0
  110. package/build/Label/Label.js +98 -0
  111. package/build/Label/Label.test.js +73 -0
  112. package/build/Label/__snapshots__/Label.test.js.snap +82 -0
  113. package/build/Label/index.js +18 -0
  114. package/build/Label/styles.js +90 -0
  115. package/build/LayerApp/LayerApp.js +113 -0
  116. package/build/LayerApp/LayerApp.test.js +56 -0
  117. package/build/LayerApp/__snapshots__/LayerApp.test.js.snap +37 -0
  118. package/build/LayerApp/index.js +18 -0
  119. package/build/LayerApp/styles.js +43 -0
  120. package/build/Modal/Modal.js +55 -37
  121. package/build/Modal/Modal.test.js +10 -10
  122. package/build/Modal/__snapshots__/Modal.test.js.snap +208 -0
  123. package/build/Modal/index.js +19 -13
  124. package/build/Modal/styles.js +43 -31
  125. package/build/NavAside/NavAside.js +22 -18
  126. package/build/NavAside/NavAside.test.js +12 -12
  127. package/build/NavAside/__snapshots__/NavAside.test.js.snap +116 -0
  128. package/build/NavAside/index.js +16 -12
  129. package/build/NavIcon/NavIcon.js +31 -19
  130. package/build/NavItem/NavItem.js +29 -16
  131. package/build/NavTab/NavTab.js +36 -29
  132. package/build/NavTop/NavTop.js +20 -16
  133. package/build/OrderBy/OrderBy.js +23 -19
  134. package/build/OrderBy/OrderBy.test.js +6 -6
  135. package/build/OrderBy/__snapshots__/OrderBy.test.js.snap +54 -0
  136. package/build/Pager/Break/Break.js +1 -1
  137. package/build/Pager/Break/Break.test.js +4 -4
  138. package/build/Pager/Break/__snapshots__/Break.test.js.snap +13 -0
  139. package/build/Pager/Page/Page.js +1 -1
  140. package/build/Pager/Page/Page.test.js +5 -5
  141. package/build/Pager/Page/__snapshots__/Page.test.js.snap +27 -0
  142. package/build/Pager/Pager.js +21 -17
  143. package/build/Pager/Pager.test.js +10 -10
  144. package/build/Pager/__snapshots__/Pager.test.js.snap +50 -0
  145. package/build/Pager/styles.js +1 -1
  146. package/build/Pill/Choice/Choice.js +23 -18
  147. package/build/Pill/Choice/styles.js +8 -3
  148. package/build/Pill/Group/Group.js +7 -4
  149. package/build/Pill/Group/styles.js +7 -4
  150. package/build/Pill/Pill.js +36 -23
  151. package/build/Pill/Pill.test.js +12 -12
  152. package/build/Pill/Stack/Stack.js +10 -7
  153. package/build/Pill/Stack/styles.js +4 -1
  154. package/build/Pill/__snapshots__/Pill.test.js.snap +62 -0
  155. package/build/Pill/styles.js +6 -2
  156. package/build/Placeholder/Placeholder.js +2 -2
  157. package/build/Placeholder/Placeholder.test.js +3 -3
  158. package/build/Placeholder/__snapshots__/Placeholder.test.js.snap +130 -0
  159. package/build/Placeholder/styles.js +23 -16
  160. package/build/Radio/Radio.js +29 -15
  161. package/build/Radio/Radio.test.js +6 -6
  162. package/build/Radio/__snapshots__/Radio.test.js.snap +83 -0
  163. package/build/RangeCounter/RangeCounter.js +110 -0
  164. package/build/RangeCounter/RangeCounter.test.js +57 -0
  165. package/build/RangeCounter/__snapshots__/RangeCounter.test.js.snap +20 -0
  166. package/build/RangeCounter/index.js +18 -0
  167. package/build/RangeCounter/styles.js +26 -0
  168. package/build/Row/Row.js +41 -0
  169. package/build/Row/Row.test.js +40 -0
  170. package/build/Row/__snapshots__/Row.test.js.snap +22 -0
  171. package/build/Row/index.js +18 -0
  172. package/build/Row/styles.js +21 -0
  173. package/build/SightLogo/SightLogo.js +41 -0
  174. package/build/SightLogo/SightLogo.test.js +40 -0
  175. package/build/SightLogo/__snapshots__/SightLogo.test.js.snap +24 -0
  176. package/build/SightLogo/index.js +18 -0
  177. package/build/SightLogo/styles.js +28 -0
  178. package/build/SlideDown/SlideDown.js +37 -26
  179. package/build/SlideDown/SlideDown.test.js +9 -9
  180. package/build/SlideDown/__snapshots__/SlideDown.test.js.snap +42 -0
  181. package/build/SlideToggle/SlideToggle.js +31 -17
  182. package/build/SlideToggle/SlideToggle.test.js +7 -7
  183. package/build/SlideToggle/__snapshots__/SlideToggle.test.js.snap +62 -0
  184. package/build/SubHeader/SubHeader.js +113 -0
  185. package/build/SubHeader/SubHeader.test.js +81 -0
  186. package/build/SubHeader/__snapshots__/SubHeader.test.js.snap +50 -0
  187. package/build/SubHeader/index.js +18 -0
  188. package/build/SubHeader/styles.js +59 -0
  189. package/build/SwitchGroup/SwitchGroup.js +114 -0
  190. package/build/SwitchGroup/SwitchGroup.test.js +91 -0
  191. package/build/SwitchGroup/__snapshots__/SwitchGroup.test.js.snap +52 -0
  192. package/build/SwitchGroup/index.js +18 -0
  193. package/build/SwitchGroup/styles.js +58 -0
  194. package/build/Tag/Tag.js +27 -10
  195. package/build/Tag/Tag.test.js +8 -8
  196. package/build/Tag/__snapshots__/Tag.test.js.snap +137 -0
  197. package/build/Tag/styles.js +72 -27
  198. package/build/Text/Text.js +30 -15
  199. package/build/Text/Text.test.js +8 -8
  200. package/build/Text/__snapshots__/Text.test.js.snap +158 -0
  201. package/build/Text/styles.js +32 -23
  202. package/build/TextField/TextField.js +151 -92
  203. package/build/TextField/TextField.test.js +27 -19
  204. package/build/TextField/__snapshots__/TextField.test.js.snap +258 -0
  205. package/build/TextField/styles.js +74 -17
  206. package/build/Tip/Tip.js +91 -27
  207. package/build/Tip/Tip.test.js +5 -5
  208. package/build/Tip/__snapshots__/Tip.test.js.snap +49 -0
  209. package/build/Tip/styles.js +32 -12
  210. package/build/Title/Title.js +89 -0
  211. package/build/Title/Title.test.js +50 -0
  212. package/build/Title/__snapshots__/Title.test.js.snap +31 -0
  213. package/build/Title/index.js +18 -0
  214. package/build/Title/styles.js +37 -0
  215. package/build/Toaster/Toast/Toast.js +11 -11
  216. package/build/Toaster/Toaster.js +27 -23
  217. package/build/Toaster/Toaster.test.js +6 -6
  218. package/build/Toaster/__snapshots__/Toaster.test.js.snap +5 -0
  219. package/build/Tooltip/Tooltip.js +210 -0
  220. package/build/Tooltip/Tooltip.test.js +35 -0
  221. package/build/Tooltip/__snapshots__/Tooltip.test.js.snap +33 -0
  222. package/build/Tooltip/hooks.js +132 -0
  223. package/build/Tooltip/index.js +18 -0
  224. package/build/Tooltip/styles.js +44 -0
  225. package/build/TourTip/TourTip.js +152 -0
  226. package/build/TourTip/TourTip.test.js +45 -0
  227. package/build/TourTip/__snapshots__/TourTip.test.js.snap +74 -0
  228. package/build/TourTip/index.js +18 -0
  229. package/build/TourTip/styles.js +82 -0
  230. package/build/Visible/Visible.js +119 -0
  231. package/build/Visible/Visible.test.js +31 -0
  232. package/build/Visible/__snapshots__/Visible.test.js.snap +3 -0
  233. package/build/Visible/index.js +13 -0
  234. package/build/WindowSize/WindowSize.js +17 -11
  235. package/build/WindowSize/WindowSize.test.js +4 -4
  236. package/build/WindowSize/__snapshots__/WindowSize.test.js.snap +3 -0
  237. package/build/index.js +79 -8
  238. package/build/plugin/babel.js +59 -0
  239. package/build/subatomic/colors.js +8 -3
  240. package/build/subatomic/fonts.js +1 -1
  241. package/build/subatomic/icons/attachment.js +23 -0
  242. package/build/subatomic/icons/attachmentSolid.js +23 -0
  243. package/build/subatomic/icons/avatarSmile.js +23 -0
  244. package/build/subatomic/icons/book.js +23 -0
  245. package/build/subatomic/icons/cash.js +23 -0
  246. package/build/subatomic/icons/copy.js +23 -0
  247. package/build/subatomic/icons/copySolid.js +23 -0
  248. package/build/subatomic/icons/crossSolid.js +23 -0
  249. package/build/subatomic/icons/dislike.js +1 -1
  250. package/build/subatomic/icons/dislikeSolid.js +23 -0
  251. package/build/subatomic/icons/energy.js +23 -0
  252. package/build/subatomic/icons/energySolid.js +23 -0
  253. package/build/subatomic/icons/eye.js +1 -1
  254. package/build/subatomic/icons/eyeClosed.js +1 -1
  255. package/build/subatomic/icons/eyeClosedSolid.js +23 -0
  256. package/build/subatomic/icons/eyeSolid.js +23 -0
  257. package/build/subatomic/icons/hourGlass.js +23 -0
  258. package/build/subatomic/icons/like.js +1 -1
  259. package/build/subatomic/icons/likeSolid.js +23 -0
  260. package/build/subatomic/icons/location.js +23 -0
  261. package/build/subatomic/icons/locationSolid.js +23 -0
  262. package/build/subatomic/icons/matchJob.js +23 -0
  263. package/build/subatomic/icons/messages.js +1 -1
  264. package/build/subatomic/icons/messagesSolid.js +1 -1
  265. package/build/subatomic/icons/moreOptionsHorizontal.js +23 -0
  266. package/build/subatomic/icons/noMessages.js +23 -0
  267. package/build/subatomic/icons/noMessagesSolid.js +23 -0
  268. package/build/subatomic/icons/occDart.js +23 -8
  269. package/build/subatomic/icons/occHorizontal.js +23 -8
  270. package/build/subatomic/icons/occLogo.js +63 -0
  271. package/build/subatomic/icons/occVertical.js +23 -8
  272. package/build/subatomic/icons/profile.js +23 -0
  273. package/build/subatomic/icons/profileSolid.js +23 -0
  274. package/build/subatomic/icons/profileView.js +23 -0
  275. package/build/subatomic/icons/refresh.js +23 -0
  276. package/build/subatomic/icons/refreshSolid.js +23 -0
  277. package/build/subatomic/icons/sendMessage.js +23 -0
  278. package/build/subatomic/icons/sendMessageSolid.js +23 -0
  279. package/build/subatomic/icons/starsSolid.js +23 -0
  280. package/build/subatomic/icons/suitcase.js +23 -0
  281. package/build/subatomic/icons/suitcaseSolid.js +23 -0
  282. package/build/subatomic/icons/tag.js +1 -1
  283. package/build/subatomic/icons/tagSolid.js +23 -0
  284. package/build/subatomic/icons/trash.js +1 -1
  285. package/build/subatomic/icons/trashSolid.js +1 -1
  286. package/build/subatomic/icons/warning.js +23 -0
  287. package/build/subatomic/icons/warningSolid.js +23 -0
  288. package/build/subatomic/icons/webSite.js +23 -0
  289. package/build/subatomic/icons/webSiteSolid.js +23 -0
  290. package/build/subatomic/icons.js +230 -112
  291. package/build/tokens/borderRadius.json +8 -0
  292. package/build/tokens/colors.json +567 -0
  293. package/build/tokens/fonts.json +231 -0
  294. package/build/tokens/index.js +47 -0
  295. package/build/tokens/shadows.json +13 -0
  296. package/build/tokens/spacing.json +16 -0
  297. package/commitlint.config.js +6 -0
  298. package/package.json +124 -111
  299. package/playroom/FrameComponent.js +31 -22
  300. package/playroom/styles.js +14 -14
  301. package/playroom.config.js +7 -7
  302. package/yarn-error.log +0 -10737
@@ -0,0 +1,210 @@
1
+ "use strict";
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
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _react = _interopRequireWildcard(require("react"));
11
+
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+
14
+ var _react2 = require("@floating-ui/react");
15
+
16
+ var _colors = _interopRequireDefault(require("../subatomic/colors"));
17
+
18
+ var _hooks = require("./hooks");
19
+
20
+ var _colorsArrow;
21
+
22
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
23
+
24
+ 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); }
25
+
26
+ 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; }
27
+
28
+ 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; }
29
+
30
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
31
+
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); }
33
+
34
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
35
+
36
+ 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."); }
37
+
38
+ 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); }
39
+
40
+ 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; }
41
+
42
+ 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; }
43
+
44
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
45
+
46
+ 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; }
47
+
48
+ var infoLight = _colors["default"].infoLight,
49
+ white = _colors["default"].white,
50
+ grey900 = _colors["default"].grey900,
51
+ info = _colors["default"].info;
52
+ var themes = {
53
+ DARK: 'dark',
54
+ LIGHT: 'light',
55
+ INFO: 'info',
56
+ PURPLE: 'purple'
57
+ };
58
+ var colorsArrow = (_colorsArrow = {}, _defineProperty(_colorsArrow, themes.DARK, grey900), _defineProperty(_colorsArrow, themes.LIGHT, white), _defineProperty(_colorsArrow, themes.INFO, infoLight), _defineProperty(_colorsArrow, themes.PURPLE, info), _colorsArrow);
59
+ /** Tooltip component to display messages within a container. */
60
+
61
+ function Tooltip(_ref) {
62
+ var classes = _ref.classes,
63
+ openProp = _ref.open,
64
+ children = _ref.children,
65
+ text = _ref.text,
66
+ theme = _ref.theme,
67
+ _ref$openOnHover = _ref.openOnHover,
68
+ openOnHover = _ref$openOnHover === void 0 ? false : _ref$openOnHover,
69
+ _ref$closeDelay = _ref.closeDelay,
70
+ closeDelay = _ref$closeDelay === void 0 ? 4000 : _ref$closeDelay,
71
+ _ref$zIndex = _ref.zIndex,
72
+ zIndex = _ref$zIndex === void 0 ? 10 : _ref$zIndex,
73
+ _ref$placement = _ref.placement,
74
+ placement = _ref$placement === void 0 ? 'top' : _ref$placement,
75
+ _ref$showArrow = _ref.showArrow,
76
+ showArrow = _ref$showArrow === void 0 ? true : _ref$showArrow,
77
+ _ref$className = _ref.className,
78
+ className = _ref$className === void 0 ? {} : _ref$className,
79
+ _ref$fit = _ref.fit,
80
+ fit = _ref$fit === void 0 ? false : _ref$fit,
81
+ _ref$width = _ref.width,
82
+ width = _ref$width === void 0 ? 220 : _ref$width,
83
+ _ref$strategy = _ref.strategy,
84
+ strategy = _ref$strategy === void 0 ? 'absolute' : _ref$strategy,
85
+ onChange = _ref.onChange;
86
+ var arrowRef = (0, _react.useRef)(null);
87
+
88
+ var _useOpenTooltipState = (0, _hooks.useOpenTooltipState)(openProp, onChange, closeDelay),
89
+ _useOpenTooltipState2 = _slicedToArray(_useOpenTooltipState, 2),
90
+ open = _useOpenTooltipState2[0],
91
+ setOpen = _useOpenTooltipState2[1];
92
+
93
+ var getMiddlewares = (0, _react.useMemo)(function () {
94
+ var middlewares = [(0, _react2.offset)(16)];
95
+ showArrow && middlewares.push((0, _react2.arrow)({
96
+ element: arrowRef,
97
+ padding: 16
98
+ }));
99
+ var sizeMiddleware = (0, _react2.size)({
100
+ apply: function apply(_ref2) {
101
+ var elements = _ref2.elements,
102
+ rects = _ref2.rects,
103
+ availableWidth = _ref2.availableWidth;
104
+ var styles = {};
105
+
106
+ if (fit) {
107
+ styles.width = "".concat(rects.reference.width, "px");
108
+ } else {
109
+ styles.maxWidth = "".concat(availableWidth, "px");
110
+ if (width) styles.width = typeof width === 'string' ? width : "".concat(width, "px");else styles.width = '';
111
+ }
112
+
113
+ Object.assign(elements.floating.style, styles);
114
+ }
115
+ });
116
+ sizeMiddleware.name = "size-".concat(fit, "-").concat(width);
117
+ middlewares.push(sizeMiddleware);
118
+ return middlewares;
119
+ }, [showArrow, fit, width]);
120
+
121
+ var _useFloating = (0, _react2.useFloating)({
122
+ open: open,
123
+ onOpenChange: setOpen,
124
+ placement: placement,
125
+ strategy: strategy,
126
+ whileElementsMounted: _react2.autoUpdate,
127
+ middleware: getMiddlewares
128
+ }),
129
+ refs = _useFloating.refs,
130
+ floatingStyles = _useFloating.floatingStyles,
131
+ context = _useFloating.context;
132
+
133
+ var hover = (0, _react2.useHover)(context, {
134
+ enabled: openOnHover
135
+ });
136
+ var role = (0, _react2.useRole)(context, {
137
+ role: 'tooltip'
138
+ });
139
+
140
+ var _useInteractions = (0, _react2.useInteractions)([hover, role]),
141
+ getReferenceProps = _useInteractions.getReferenceProps,
142
+ getFloatingProps = _useInteractions.getFloatingProps;
143
+
144
+ return /*#__PURE__*/_react["default"].createElement(_react.Fragment, null, /*#__PURE__*/_react["default"].createElement("div", _extends({
145
+ ref: refs.setReference
146
+ }, getReferenceProps(), {
147
+ className: "".concat(classes.activator, " ").concat(className.hasOwnProperty('activator') && className.activator)
148
+ }), children), /*#__PURE__*/_react["default"].createElement(_react2.FloatingPortal, null, open && /*#__PURE__*/_react["default"].createElement("div", _extends({
149
+ className: "".concat(classes.tooltip, " ").concat(className.hasOwnProperty('tooltip') && className.tooltip, " ").concat(classes[theme] || classes.purple),
150
+ ref: refs.setFloating,
151
+ style: _objectSpread(_objectSpread({}, floatingStyles), {}, {
152
+ zIndex: zIndex,
153
+ position: strategy
154
+ })
155
+ }, getFloatingProps()), text, showArrow && /*#__PURE__*/_react["default"].createElement(_react2.FloatingArrow, {
156
+ ref: arrowRef,
157
+ context: context,
158
+ fill: colorsArrow[theme] || colorsArrow[themes.PURPLE],
159
+ width: 14,
160
+ height: 10
161
+ }))));
162
+ }
163
+
164
+ Tooltip.propTypes = {
165
+ classes: _propTypes["default"].object,
166
+
167
+ /** It accepts any type of the followings boolean,null,undefined,ReactFragment,ReactPortal,ReactChild. */
168
+ children: _propTypes["default"].node,
169
+
170
+ /** This property can be used to set the theme of the component. The possible values for the theme property are info, light, dark, and purple. */
171
+ theme: _propTypes["default"].oneOf(['light', 'dark', 'purple', 'info']),
172
+
173
+ /** This property can be used to control whether or not the component is displayed. */
174
+ open: _propTypes["default"].bool,
175
+
176
+ /** This property can be used to set the text that is displayed by the component. */
177
+ text: _propTypes["default"].string.isRequired,
178
+
179
+ /** Designates whether the tooltip should open on activator hover. */
180
+ openOnHover: _propTypes["default"].bool,
181
+
182
+ /** Time on millisecond that it will take to close the tooltip. */
183
+ closeDelay: _propTypes["default"].number,
184
+
185
+ /** Sets the Tooltip stack order. */
186
+ zIndex: _propTypes["default"].number,
187
+
188
+ /** Allows to specify the placement of Tooltip. Available options are top, top-start, top-end, bottom, bottom-start, bottom-end, left, right. */
189
+ placement: _propTypes["default"].string,
190
+
191
+ /** Allows to specify classes to activador and tooltip. Object has the next properties: activator(string), tooltip(string). */
192
+ className: _propTypes["default"].object,
193
+
194
+ /** This property can be used to control whether or not an arrow is displayed. */
195
+ showArrow: _propTypes["default"].bool,
196
+
197
+ /** This property allows the Tooltip to be adjusted to the length of the associated component. */
198
+ fit: _propTypes["default"].bool,
199
+
200
+ /** The "Width" property of the Tooltip enables modification of its width and accepts a number (e.g., 220), a string (e.g., '220px' or 'auto') or null as its value. */
201
+ width: _propTypes["default"].number,
202
+
203
+ /** The CSS position property to use to compute the tooltip position */
204
+ strategy: _propTypes["default"].oneOf(['absolute', 'fixed']),
205
+
206
+ /** Callback fired when the Tooltip show state changes. */
207
+ onChange: _propTypes["default"].func
208
+ };
209
+ var _default = Tooltip;
210
+ exports["default"] = _default;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ var _react = _interopRequireDefault(require("react"));
4
+
5
+ var _enzyme = require("enzyme");
6
+
7
+ var _Tooltip = _interopRequireDefault(require("./Tooltip"));
8
+
9
+ var _styles = _interopRequireDefault(require("./styles"));
10
+
11
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
12
+
13
+ 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; }
14
+
15
+ var reduceClasses = function reduceClasses(prev, curr) {
16
+ return Object.assign({}, prev, _defineProperty({}, curr, curr));
17
+ };
18
+
19
+ var classes = Object.keys(_styles["default"]).reduce(reduceClasses, {});
20
+ describe('Tooltip', function () {
21
+ it('matches the snapshot', function () {
22
+ var wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_Tooltip["default"], {
23
+ text: "test",
24
+ open: true,
25
+ theme: "dark",
26
+ classes: classes
27
+ }));
28
+ expect(wrapper.html()).toMatchSnapshot();
29
+ });
30
+ });
31
+ describe('Tooltip styles', function () {
32
+ it('matches the snapshot', function () {
33
+ expect(_styles["default"]).toMatchSnapshot();
34
+ });
35
+ });
@@ -0,0 +1,33 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`Tooltip matches the snapshot 1`] = `"<div class=\\"activator false\\"></div>"`;
4
+
5
+ exports[`Tooltip styles matches the snapshot 1`] = `
6
+ Object {
7
+ "activator": Object {
8
+ "display": "inline-block",
9
+ },
10
+ "dark": Object {
11
+ "background": "#222222",
12
+ "color": "#ffffff",
13
+ },
14
+ "info": Object {
15
+ "background": "#efebf7",
16
+ "color": "#5736ab",
17
+ },
18
+ "light": Object {
19
+ "background": "#ffffff",
20
+ "color": "#5736ab",
21
+ },
22
+ "purple": Object {
23
+ "background": "#5736ab",
24
+ "color": "#ffffff",
25
+ },
26
+ "tooltip": Object {
27
+ "borderRadius": "4px",
28
+ "fontSize": "14px",
29
+ "lineHeight": 1.5,
30
+ "padding": "16px",
31
+ },
32
+ }
33
+ `;
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useOpenTooltipState = useOpenTooltipState;
7
+ exports.useThrottle = useThrottle;
8
+
9
+ var _react = require("react");
10
+
11
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
12
+
13
+ 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."); }
14
+
15
+ 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); }
16
+
17
+ 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; }
18
+
19
+ 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; }
20
+
21
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
22
+
23
+ function useOpenTooltipState(openExternal, setOpenExternal, closeDelay) {
24
+ var _useThrottle = useThrottle({
25
+ trailing: true,
26
+ leading: false
27
+ }),
28
+ throttle = _useThrottle.throttle,
29
+ cancel = _useThrottle.cancel;
30
+
31
+ var _useState = (0, _react.useState)(false),
32
+ _useState2 = _slicedToArray(_useState, 2),
33
+ openInternal = _useState2[0],
34
+ setOpenInternal = _useState2[1];
35
+
36
+ var open = (0, _react.useMemo)(function () {
37
+ return openExternal !== null && openExternal !== void 0 ? openExternal : openInternal;
38
+ }, [openExternal, openInternal]);
39
+ var setOpenSource = (0, _react.useMemo)(function () {
40
+ return openExternal !== undefined ? setOpenExternal !== null && setOpenExternal !== void 0 ? setOpenExternal : function () {} : setOpenInternal;
41
+ }, [openExternal, setOpenExternal, setOpenInternal]);
42
+ var setOpenSourceDelay = (0, _react.useCallback)(function (show) {
43
+ throttle({
44
+ throttleTime: closeDelay,
45
+ callback: function callback() {
46
+ return setOpenSource(show);
47
+ }
48
+ });
49
+ }, [closeDelay, setOpenSource, throttle]);
50
+
51
+ function setOpen(openValue) {
52
+ if (openValue) {
53
+ if (open) cancel();
54
+ setOpenSource(true);
55
+ } else {
56
+ closeDelay > 0 ? setOpenSourceDelay(false) : setOpenSource(false);
57
+ }
58
+ }
59
+
60
+ (0, _react.useEffect)(function () {
61
+ if (closeDelay <= 0) return;
62
+
63
+ if (openExternal === false) {
64
+ cancel();
65
+ } else {
66
+ setOpenSourceDelay(false);
67
+ }
68
+ }, [openExternal, setOpenSourceDelay, setOpenSource, closeDelay, cancel]);
69
+ return [open, setOpen];
70
+ }
71
+
72
+ function useThrottle() {
73
+ var defaults = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
74
+ var timeout = (0, _react.useRef)(null);
75
+ var lastCallback = (0, _react.useRef)(null);
76
+ var date = (0, _react.useRef)(null);
77
+ var cancel = (0, _react.useCallback)(function () {
78
+ if (!timeout.current) return;
79
+ window.clearTimeout(timeout.current);
80
+ timeout.current = null;
81
+ date.current = null;
82
+ }, []);
83
+ var flush = (0, _react.useCallback)(function () {
84
+ if (!lastCallback.current) return;
85
+ lastCallback.current();
86
+ lastCallback.current = null;
87
+ date.current = null;
88
+ cancel();
89
+ }, [cancel]);
90
+ var throttle = (0, _react.useCallback)(function (_ref) {
91
+ var _ref4;
92
+
93
+ var callback = _ref.callback,
94
+ throttleTime = _ref.throttleTime,
95
+ leading = _ref.leading,
96
+ trailing = _ref.trailing;
97
+
98
+ if (timeout.current) {
99
+ var _ref2;
100
+
101
+ return lastCallback.current = (_ref2 = callback !== null && callback !== void 0 ? callback : defaults.callback) !== null && _ref2 !== void 0 ? _ref2 : null;
102
+ } else {
103
+ var _ref3, _defaults$leading;
104
+
105
+ date.current = new Date();
106
+
107
+ if ((_ref3 = (_defaults$leading = defaults === null || defaults === void 0 ? void 0 : defaults.leading) !== null && _defaults$leading !== void 0 ? _defaults$leading : leading) !== null && _ref3 !== void 0 ? _ref3 : true) {
108
+ callback();
109
+ } else {
110
+ lastCallback.current = callback;
111
+ }
112
+ }
113
+
114
+ timeout.current = window.setTimeout(function () {
115
+ var _defaults$trailing;
116
+
117
+ ((_defaults$trailing = defaults === null || defaults === void 0 ? void 0 : defaults.trailing) !== null && _defaults$trailing !== void 0 ? _defaults$trailing : trailing) ? flush() : cancel();
118
+ }, (_ref4 = throttleTime !== null && throttleTime !== void 0 ? throttleTime : defaults.throttleTime) !== null && _ref4 !== void 0 ? _ref4 : 1000);
119
+ }, [cancel, defaults.callback, defaults === null || defaults === void 0 ? void 0 : defaults.leading, defaults.throttleTime, defaults === null || defaults === void 0 ? void 0 : defaults.trailing, flush]);
120
+ (0, _react.useEffect)(function () {
121
+ return cancel;
122
+ }, [cancel]);
123
+ return {
124
+ throttle: throttle,
125
+ flush: flush,
126
+ cancel: cancel,
127
+ isActive: function isActive() {
128
+ return !!date.current;
129
+ },
130
+ date: date
131
+ };
132
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+
8
+ var _reactJss = _interopRequireDefault(require("react-jss"));
9
+
10
+ var _Tooltip = _interopRequireDefault(require("./Tooltip"));
11
+
12
+ var _styles = _interopRequireDefault(require("./styles"));
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
+
16
+ var _default = (0, _reactJss["default"])(_styles["default"])(_Tooltip["default"]);
17
+
18
+ exports["default"] = _default;
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+
8
+ var _colors = _interopRequireDefault(require("../subatomic/colors"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
+
12
+ var infoLight = _colors["default"].infoLight,
13
+ infoText = _colors["default"].infoText,
14
+ info = _colors["default"].info,
15
+ white = _colors["default"].white,
16
+ grey900 = _colors["default"].grey900;
17
+ var _default = {
18
+ activator: {
19
+ display: 'inline-block'
20
+ },
21
+ tooltip: {
22
+ padding: '16px',
23
+ borderRadius: '4px',
24
+ fontSize: '14px',
25
+ lineHeight: 1.5
26
+ },
27
+ info: {
28
+ background: infoLight,
29
+ color: infoText
30
+ },
31
+ dark: {
32
+ background: grey900,
33
+ color: white
34
+ },
35
+ light: {
36
+ background: white,
37
+ color: info
38
+ },
39
+ purple: {
40
+ background: info,
41
+ color: white
42
+ }
43
+ };
44
+ exports["default"] = _default;
@@ -0,0 +1,152 @@
1
+ "use strict";
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
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+
14
+ var _reactDom = _interopRequireDefault(require("react-dom"));
15
+
16
+ var _jquery = _interopRequireDefault(require("jquery"));
17
+
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
+
20
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
21
+
22
+ 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); } }
23
+
24
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
25
+
26
+ 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); }
27
+
28
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
29
+
30
+ 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); }; }
31
+
32
+ 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); }
33
+
34
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
35
+
36
+ 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; } }
37
+
38
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
39
+
40
+ /** This component displays a tooltip in a defined direction and alignment relative to a specified element. To make it work both, the target and the TourTip component, must be wrapped inside a 'relative' container. */
41
+ var TourTip = /*#__PURE__*/function (_React$Component) {
42
+ _inherits(TourTip, _React$Component);
43
+
44
+ var _super = _createSuper(TourTip);
45
+
46
+ function TourTip(props) {
47
+ var _this;
48
+
49
+ _classCallCheck(this, TourTip);
50
+
51
+ _this = _super.call(this, props);
52
+ _this.state = {
53
+ position: {}
54
+ };
55
+ _this.attachToTarget = _this.attachToTarget.bind(_assertThisInitialized(_this));
56
+ return _this;
57
+ }
58
+
59
+ _createClass(TourTip, [{
60
+ key: "componentDidMount",
61
+ value: function componentDidMount() {
62
+ var _this2 = this;
63
+
64
+ var setPosition = function setPosition() {
65
+ _this2.setState({
66
+ position: _this2.attachToTarget()
67
+ });
68
+ };
69
+
70
+ (0, _jquery["default"])(document).ready(setPosition);
71
+ window.addEventListener("resize", setPosition);
72
+ }
73
+ }, {
74
+ key: "attachToTarget",
75
+ value: function attachToTarget() {
76
+ var _this$props = this.props,
77
+ target = _this$props.target,
78
+ direction = _this$props.direction,
79
+ align = _this$props.align;
80
+ var item = document.getElementById(target);
81
+ var itemRect = item.getBoundingClientRect();
82
+ var offsetLeft = item.offsetLeft;
83
+ var offsetTop = item.offsetTop;
84
+
85
+ var tip = _reactDom["default"].findDOMNode(this);
86
+
87
+ var tipRect = tip.getBoundingClientRect();
88
+ var position = {};
89
+
90
+ if (direction == "left") {
91
+ position.left = offsetLeft - tipRect.width - 5;
92
+ if (align == "top") position.top = offsetTop;else if (align == "bottom") position.top = offsetTop + itemRect.height - tipRect.height;else position.top = offsetTop + itemRect.height / 2 - tipRect.height / 2;
93
+ } else if (direction == "right") {
94
+ position.left = offsetLeft + itemRect.width + 5;
95
+ if (align == "top") position.top = offsetTop;else if (align == "bottom") position.top = offsetTop + itemRect.height - tipRect.height;else position.top = offsetTop + itemRect.height / 2 - tipRect.height / 2;
96
+ } else if (direction == "up") {
97
+ if (align == "left") position.left = offsetLeft;else if (align == "right") position.left = offsetLeft + itemRect.width - tipRect.width;else position.left = offsetLeft + itemRect.width / 2 - tipRect.width / 2;
98
+ position.top = offsetTop - tipRect.height - 5;
99
+ } else if (direction == "down") {
100
+ if (align == "left") position.left = offsetLeft;else if (align == "right") position.left = offsetLeft + itemRect.width - tipRect.width;else position.left = offsetLeft + itemRect.width / 2 - tipRect.width / 2;
101
+ position.top = offsetTop + itemRect.height + 5;
102
+ }
103
+
104
+ return position;
105
+ }
106
+ }, {
107
+ key: "render",
108
+ value: function render() {
109
+ var _this3 = this;
110
+
111
+ var position = this.state.position;
112
+ var _this$props2 = this.props,
113
+ classes = _this$props2.classes,
114
+ children = _this$props2.children,
115
+ direction = _this$props2.direction,
116
+ id = _this$props2.id,
117
+ className = _this$props2.className;
118
+ return /*#__PURE__*/_react["default"].createElement("div", {
119
+ ref: function ref(_ref) {
120
+ _this3.self = _ref;
121
+ },
122
+ className: "".concat(classes.tip, " ").concat(classes[direction]).concat(className ? " ".concat(className) : ''),
123
+ id: id,
124
+ style: position
125
+ }, children);
126
+ }
127
+ }]);
128
+
129
+ return TourTip;
130
+ }(_react["default"].Component);
131
+
132
+ TourTip.defaultProps = {
133
+ direction: "left",
134
+ align: "center"
135
+ };
136
+ TourTip.propTypes = {
137
+ classes: _propTypes["default"].object,
138
+ children: _propTypes["default"].node,
139
+
140
+ /** Side of the target where the TourTip will be displayed. */
141
+ direction: _propTypes["default"].string.isRequired,
142
+
143
+ /** Alignment of the TourTip in the specified direction. */
144
+ align: _propTypes["default"].string.isRequired,
145
+
146
+ /** The id of the target item. The target item must be inside a container with the display property as 'relative'. */
147
+ target: _propTypes["default"].string.isRequired,
148
+ id: _propTypes["default"].string,
149
+ className: _propTypes["default"].string
150
+ };
151
+ var _default = TourTip;
152
+ exports["default"] = _default;
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ var _react = _interopRequireDefault(require("react"));
4
+
5
+ var _enzyme = require("enzyme");
6
+
7
+ var _TourTip = _interopRequireDefault(require("./TourTip"));
8
+
9
+ var _styles = _interopRequireDefault(require("./styles"));
10
+
11
+ var _index = _interopRequireDefault(require("./index"));
12
+
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
14
+
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("TourTip", function () {
23
+ it('matches the snapshot', function () {
24
+ var wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_TourTip["default"], {
25
+ classes: classes,
26
+ direction: "down",
27
+ target: "target"
28
+ }));
29
+ expect(wrapper).toMatchSnapshot();
30
+ });
31
+ });
32
+ describe("TourTipJSS", function () {
33
+ it('matches the snapshot', function () {
34
+ var wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_index["default"], {
35
+ direction: "down",
36
+ target: "target"
37
+ }));
38
+ expect(wrapper).toMatchSnapshot();
39
+ });
40
+ });
41
+ describe("TourTip styles", function () {
42
+ it('matches the snapshot', function () {
43
+ expect(_styles["default"]).toMatchSnapshot();
44
+ });
45
+ });