@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.
- package/.prettierrc +6 -0
- package/.whitesource +12 -0
- package/CHANGELOG.md +1276 -581
- package/CONTRIBUTING.md +24 -0
- package/README.md +21 -21
- package/build/Autocomplete/Autocomplete.js +35 -23
- package/build/Autocomplete/Autocomplete.test.js +14 -14
- package/build/Autocomplete/__snapshots__/Autocomplete.test.js.snap +20 -0
- package/build/Avatar/Avatar.js +21 -17
- package/build/Avatar/Avatar.test.js +2 -2
- package/build/Avatar/AvatarContent/AvatarContent.js +5 -5
- package/build/Avatar/AvatarContent/AvatarContent.test.js +6 -6
- package/build/Avatar/AvatarContent/__snapshots__/AvatarContent.test.js.snap +41 -0
- package/build/Avatar/AvatarContent/styles.js +10 -6
- package/build/Avatar/__snapshots__/Avatar.test.js.snap +17 -0
- package/build/Avatar/index.js +4 -2
- package/build/Banner/Banner.js +76 -0
- package/build/Banner/Banner.test.js +40 -0
- package/build/Banner/__snapshots__/Banner.test.js.snap +33 -0
- package/build/Banner/index.js +18 -0
- package/build/Banner/styles.js +41 -0
- package/build/Button/Button.js +51 -30
- package/build/Button/Button.test.js +20 -25
- package/build/Button/Loading.js +89 -0
- package/build/Button/__snapshots__/Button.test.js.snap +334 -0
- package/build/Button/index.js +4 -2
- package/build/Button/styles.js +174 -155
- package/build/ButtonAlign/ButtonAlign.js +86 -0
- package/build/ButtonAlign/ButtonAlign.test.js +50 -0
- package/build/ButtonAlign/__snapshots__/ButtonAlign.test.js.snap +19 -0
- package/build/ButtonAlign/index.js +18 -0
- package/build/ButtonAlign/styles.js +18 -0
- package/build/Card/Card.js +1 -1
- package/build/Card/Card.test.js +4 -4
- package/build/Card/__snapshots__/Card.test.js.snap +46 -0
- package/build/Card/index.js +4 -2
- package/build/Check/Check.js +151 -0
- package/build/Check/Check.test.js +85 -0
- package/build/Check/__snapshots__/Check.test.js.snap +92 -0
- package/build/Check/index.js +18 -0
- package/build/Check/styles.js +100 -0
- package/build/Checkbox/Checkbox.js +29 -16
- package/build/Checkbox/Checkbox.test.js +8 -8
- package/build/Checkbox/__snapshots__/Checkbox.test.js.snap +92 -0
- package/build/Checkbox/index.js +4 -2
- package/build/Column/Column.js +67 -0
- package/build/Column/Column.test.js +59 -0
- package/build/Column/__snapshots__/Column.test.js.snap +647 -0
- package/build/Column/index.js +18 -0
- package/build/Column/styles.js +93 -0
- package/build/Container/Container.js +50 -0
- package/build/Container/Container.test.js +53 -0
- package/build/Container/__snapshots__/Container.test.js.snap +43 -0
- package/build/Container/index.js +18 -0
- package/build/Container/styles.js +49 -0
- package/build/Droplist/Droplist.js +82 -33
- package/build/Droplist/Droplist.test.js +50 -11
- package/build/Droplist/__snapshots__/Droplist.test.js.snap +65 -0
- package/build/Droplist/functions.js +9 -2
- package/build/Droplist/index.js +4 -2
- package/build/Droplist/styles.js +39 -10
- package/build/Flexbox/Flexbox.js +16 -12
- package/build/Flexbox/Flexbox.test.js +3 -3
- package/build/Flexbox/__snapshots__/Flexbox.test.js.snap +106 -0
- package/build/Flexbox/index.js +4 -2
- package/build/Footer/Footer.js +42 -30
- package/build/Footer/Footer.test.js +2 -2
- package/build/Footer/List/List.js +32 -25
- package/build/Footer/__snapshots__/Footer.test.js.snap +90 -0
- package/build/Footer/styles.js +5 -0
- package/build/Grid/Col/Col.js +1 -1
- package/build/Grid/Col/Col.test.js +3 -3
- package/build/Grid/Col/__snapshots__/Col.test.js.snap +963 -0
- package/build/Grid/Col/index.js +4 -2
- package/build/Grid/Grid.js +18 -12
- package/build/Grid/Row/Row.js +1 -1
- package/build/Grid/Row/Row.test.js +2 -2
- package/build/Grid/Row/__snapshots__/Row.test.js.snap +22 -0
- package/build/Grid/Row/index.js +4 -2
- package/build/Grid/index.js +4 -2
- package/build/Header/Header.js +163 -0
- package/build/Header/Header.test.js +118 -0
- package/build/Header/Menu/Menu.js +135 -0
- package/build/Header/Menu/Menu.test.js +107 -0
- package/build/Header/Menu/__snapshots__/Menu.test.js.snap +113 -0
- package/build/Header/Menu/index.js +18 -0
- package/build/Header/Menu/styles.js +123 -0
- package/build/Header/Nav/Nav.js +95 -0
- package/build/Header/Nav/Nav.test.js +81 -0
- package/build/Header/Nav/__snapshots__/Nav.test.js.snap +101 -0
- package/build/Header/Nav/index.js +18 -0
- package/build/Header/Nav/styles.js +110 -0
- package/build/Header/__snapshots__/Header.test.js.snap +79 -0
- package/build/Header/index.js +18 -0
- package/build/Header/styles.js +94 -0
- package/build/Hidden/Hidden.js +17 -13
- package/build/Hidden/Hidden.test.js +6 -6
- package/build/Hidden/__snapshots__/Hidden.test.js.snap +3 -0
- package/build/Hidden/index.js +4 -2
- package/build/Icon/Icon.js +27 -15
- package/build/Icon/Icon.test.js +3 -3
- package/build/Icon/__snapshots__/Icon.test.js.snap +26 -0
- package/build/Icon/index.js +4 -2
- package/build/Input/Input.js +442 -0
- package/build/Input/Input.test.js +258 -0
- package/build/Input/__snapshots__/Input.test.js.snap +194 -0
- package/build/Input/index.js +78 -0
- package/build/Input/styles.js +202 -0
- package/build/Input/stylesFlat.js +74 -0
- package/build/Label/Label.js +98 -0
- package/build/Label/Label.test.js +73 -0
- package/build/Label/__snapshots__/Label.test.js.snap +82 -0
- package/build/Label/index.js +18 -0
- package/build/Label/styles.js +90 -0
- package/build/LayerApp/LayerApp.js +113 -0
- package/build/LayerApp/LayerApp.test.js +56 -0
- package/build/LayerApp/__snapshots__/LayerApp.test.js.snap +37 -0
- package/build/LayerApp/index.js +18 -0
- package/build/LayerApp/styles.js +43 -0
- package/build/Modal/Modal.js +55 -37
- package/build/Modal/Modal.test.js +10 -10
- package/build/Modal/__snapshots__/Modal.test.js.snap +208 -0
- package/build/Modal/index.js +19 -13
- package/build/Modal/styles.js +43 -31
- package/build/NavAside/NavAside.js +22 -18
- package/build/NavAside/NavAside.test.js +12 -12
- package/build/NavAside/__snapshots__/NavAside.test.js.snap +116 -0
- package/build/NavAside/index.js +16 -12
- package/build/NavIcon/NavIcon.js +31 -19
- package/build/NavItem/NavItem.js +29 -16
- package/build/NavTab/NavTab.js +36 -29
- package/build/NavTop/NavTop.js +20 -16
- package/build/OrderBy/OrderBy.js +23 -19
- package/build/OrderBy/OrderBy.test.js +6 -6
- package/build/OrderBy/__snapshots__/OrderBy.test.js.snap +54 -0
- package/build/Pager/Break/Break.js +1 -1
- package/build/Pager/Break/Break.test.js +4 -4
- package/build/Pager/Break/__snapshots__/Break.test.js.snap +13 -0
- package/build/Pager/Page/Page.js +1 -1
- package/build/Pager/Page/Page.test.js +5 -5
- package/build/Pager/Page/__snapshots__/Page.test.js.snap +27 -0
- package/build/Pager/Pager.js +21 -17
- package/build/Pager/Pager.test.js +10 -10
- package/build/Pager/__snapshots__/Pager.test.js.snap +50 -0
- package/build/Pager/styles.js +1 -1
- package/build/Pill/Choice/Choice.js +23 -18
- package/build/Pill/Choice/styles.js +8 -3
- package/build/Pill/Group/Group.js +7 -4
- package/build/Pill/Group/styles.js +7 -4
- package/build/Pill/Pill.js +36 -23
- package/build/Pill/Pill.test.js +12 -12
- package/build/Pill/Stack/Stack.js +10 -7
- package/build/Pill/Stack/styles.js +4 -1
- package/build/Pill/__snapshots__/Pill.test.js.snap +62 -0
- package/build/Pill/styles.js +6 -2
- package/build/Placeholder/Placeholder.js +2 -2
- package/build/Placeholder/Placeholder.test.js +3 -3
- package/build/Placeholder/__snapshots__/Placeholder.test.js.snap +130 -0
- package/build/Placeholder/styles.js +23 -16
- package/build/Radio/Radio.js +29 -15
- package/build/Radio/Radio.test.js +6 -6
- package/build/Radio/__snapshots__/Radio.test.js.snap +83 -0
- package/build/RangeCounter/RangeCounter.js +110 -0
- package/build/RangeCounter/RangeCounter.test.js +57 -0
- package/build/RangeCounter/__snapshots__/RangeCounter.test.js.snap +20 -0
- package/build/RangeCounter/index.js +18 -0
- package/build/RangeCounter/styles.js +26 -0
- package/build/Row/Row.js +41 -0
- package/build/Row/Row.test.js +40 -0
- package/build/Row/__snapshots__/Row.test.js.snap +22 -0
- package/build/Row/index.js +18 -0
- package/build/Row/styles.js +21 -0
- package/build/SightLogo/SightLogo.js +41 -0
- package/build/SightLogo/SightLogo.test.js +40 -0
- package/build/SightLogo/__snapshots__/SightLogo.test.js.snap +24 -0
- package/build/SightLogo/index.js +18 -0
- package/build/SightLogo/styles.js +28 -0
- package/build/SlideDown/SlideDown.js +37 -26
- package/build/SlideDown/SlideDown.test.js +9 -9
- package/build/SlideDown/__snapshots__/SlideDown.test.js.snap +42 -0
- package/build/SlideToggle/SlideToggle.js +31 -17
- package/build/SlideToggle/SlideToggle.test.js +7 -7
- package/build/SlideToggle/__snapshots__/SlideToggle.test.js.snap +62 -0
- package/build/SubHeader/SubHeader.js +113 -0
- package/build/SubHeader/SubHeader.test.js +81 -0
- package/build/SubHeader/__snapshots__/SubHeader.test.js.snap +50 -0
- package/build/SubHeader/index.js +18 -0
- package/build/SubHeader/styles.js +59 -0
- package/build/SwitchGroup/SwitchGroup.js +114 -0
- package/build/SwitchGroup/SwitchGroup.test.js +91 -0
- package/build/SwitchGroup/__snapshots__/SwitchGroup.test.js.snap +52 -0
- package/build/SwitchGroup/index.js +18 -0
- package/build/SwitchGroup/styles.js +58 -0
- package/build/Tag/Tag.js +27 -10
- package/build/Tag/Tag.test.js +8 -8
- package/build/Tag/__snapshots__/Tag.test.js.snap +137 -0
- package/build/Tag/styles.js +72 -27
- package/build/Text/Text.js +30 -15
- package/build/Text/Text.test.js +8 -8
- package/build/Text/__snapshots__/Text.test.js.snap +158 -0
- package/build/Text/styles.js +32 -23
- package/build/TextField/TextField.js +151 -92
- package/build/TextField/TextField.test.js +27 -19
- package/build/TextField/__snapshots__/TextField.test.js.snap +258 -0
- package/build/TextField/styles.js +74 -17
- package/build/Tip/Tip.js +91 -27
- package/build/Tip/Tip.test.js +5 -5
- package/build/Tip/__snapshots__/Tip.test.js.snap +49 -0
- package/build/Tip/styles.js +32 -12
- package/build/Title/Title.js +89 -0
- package/build/Title/Title.test.js +50 -0
- package/build/Title/__snapshots__/Title.test.js.snap +31 -0
- package/build/Title/index.js +18 -0
- package/build/Title/styles.js +37 -0
- package/build/Toaster/Toast/Toast.js +11 -11
- package/build/Toaster/Toaster.js +27 -23
- package/build/Toaster/Toaster.test.js +6 -6
- package/build/Toaster/__snapshots__/Toaster.test.js.snap +5 -0
- package/build/Tooltip/Tooltip.js +210 -0
- package/build/Tooltip/Tooltip.test.js +35 -0
- package/build/Tooltip/__snapshots__/Tooltip.test.js.snap +33 -0
- package/build/Tooltip/hooks.js +132 -0
- package/build/Tooltip/index.js +18 -0
- package/build/Tooltip/styles.js +44 -0
- package/build/TourTip/TourTip.js +152 -0
- package/build/TourTip/TourTip.test.js +45 -0
- package/build/TourTip/__snapshots__/TourTip.test.js.snap +74 -0
- package/build/TourTip/index.js +18 -0
- package/build/TourTip/styles.js +82 -0
- package/build/Visible/Visible.js +119 -0
- package/build/Visible/Visible.test.js +31 -0
- package/build/Visible/__snapshots__/Visible.test.js.snap +3 -0
- package/build/Visible/index.js +13 -0
- package/build/WindowSize/WindowSize.js +17 -11
- package/build/WindowSize/WindowSize.test.js +4 -4
- package/build/WindowSize/__snapshots__/WindowSize.test.js.snap +3 -0
- package/build/index.js +79 -8
- package/build/plugin/babel.js +59 -0
- package/build/subatomic/colors.js +8 -3
- package/build/subatomic/fonts.js +1 -1
- package/build/subatomic/icons/attachment.js +23 -0
- package/build/subatomic/icons/attachmentSolid.js +23 -0
- package/build/subatomic/icons/avatarSmile.js +23 -0
- package/build/subatomic/icons/book.js +23 -0
- package/build/subatomic/icons/cash.js +23 -0
- package/build/subatomic/icons/copy.js +23 -0
- package/build/subatomic/icons/copySolid.js +23 -0
- package/build/subatomic/icons/crossSolid.js +23 -0
- package/build/subatomic/icons/dislike.js +1 -1
- package/build/subatomic/icons/dislikeSolid.js +23 -0
- package/build/subatomic/icons/energy.js +23 -0
- package/build/subatomic/icons/energySolid.js +23 -0
- package/build/subatomic/icons/eye.js +1 -1
- package/build/subatomic/icons/eyeClosed.js +1 -1
- package/build/subatomic/icons/eyeClosedSolid.js +23 -0
- package/build/subatomic/icons/eyeSolid.js +23 -0
- package/build/subatomic/icons/hourGlass.js +23 -0
- package/build/subatomic/icons/like.js +1 -1
- package/build/subatomic/icons/likeSolid.js +23 -0
- package/build/subatomic/icons/location.js +23 -0
- package/build/subatomic/icons/locationSolid.js +23 -0
- package/build/subatomic/icons/matchJob.js +23 -0
- package/build/subatomic/icons/messages.js +1 -1
- package/build/subatomic/icons/messagesSolid.js +1 -1
- package/build/subatomic/icons/moreOptionsHorizontal.js +23 -0
- package/build/subatomic/icons/noMessages.js +23 -0
- package/build/subatomic/icons/noMessagesSolid.js +23 -0
- package/build/subatomic/icons/occDart.js +23 -8
- package/build/subatomic/icons/occHorizontal.js +23 -8
- package/build/subatomic/icons/occLogo.js +63 -0
- package/build/subatomic/icons/occVertical.js +23 -8
- package/build/subatomic/icons/profile.js +23 -0
- package/build/subatomic/icons/profileSolid.js +23 -0
- package/build/subatomic/icons/profileView.js +23 -0
- package/build/subatomic/icons/refresh.js +23 -0
- package/build/subatomic/icons/refreshSolid.js +23 -0
- package/build/subatomic/icons/sendMessage.js +23 -0
- package/build/subatomic/icons/sendMessageSolid.js +23 -0
- package/build/subatomic/icons/starsSolid.js +23 -0
- package/build/subatomic/icons/suitcase.js +23 -0
- package/build/subatomic/icons/suitcaseSolid.js +23 -0
- package/build/subatomic/icons/tag.js +1 -1
- package/build/subatomic/icons/tagSolid.js +23 -0
- package/build/subatomic/icons/trash.js +1 -1
- package/build/subatomic/icons/trashSolid.js +1 -1
- package/build/subatomic/icons/warning.js +23 -0
- package/build/subatomic/icons/warningSolid.js +23 -0
- package/build/subatomic/icons/webSite.js +23 -0
- package/build/subatomic/icons/webSiteSolid.js +23 -0
- package/build/subatomic/icons.js +230 -112
- package/build/tokens/borderRadius.json +8 -0
- package/build/tokens/colors.json +567 -0
- package/build/tokens/fonts.json +231 -0
- package/build/tokens/index.js +47 -0
- package/build/tokens/shadows.json +13 -0
- package/build/tokens/spacing.json +16 -0
- package/commitlint.config.js +6 -0
- package/package.json +124 -111
- package/playroom/FrameComponent.js +31 -22
- package/playroom/styles.js +14 -14
- package/playroom.config.js +7 -7
- 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
|
+
});
|