@occmundial/occ-atomic 1.31.0 → 1.32.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/build/Tooltip/Tooltip.js +203 -0
- package/build/Tooltip/Tooltip.test.js +35 -0
- package/build/Tooltip/hooks.js +132 -0
- package/build/Tooltip/index.js +18 -0
- package/build/Tooltip/styles.js +44 -0
- package/build/index.js +3 -0
- package/package.json +2 -1
package/CHANGELOG.md
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
# [1.32.0](https://github.com/occmundial/occ-atomic/compare/v1.31.0...v1.32.0) (2023-05-26)
|
2
|
+
|
3
|
+
|
4
|
+
### Features
|
5
|
+
|
6
|
+
* Tooltip component implementation ([893cbc1](https://github.com/occmundial/occ-atomic/commit/893cbc1d0b2a83e59dd8155a762f96c0c17df90f))
|
7
|
+
* Tooltip testing ([784337e](https://github.com/occmundial/occ-atomic/commit/784337e1fd6bc6479d1b7d152a19fae80a00973a))
|
8
|
+
|
1
9
|
# [1.31.0](https://github.com/occmundial/occ-atomic/compare/v1.30.0...v1.31.0) (2023-05-24)
|
2
10
|
|
3
11
|
|
@@ -0,0 +1,203 @@
|
|
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
|
+
onChange = _ref.onChange;
|
84
|
+
var arrowRef = (0, _react.useRef)(null);
|
85
|
+
|
86
|
+
var _useOpenTooltipState = (0, _hooks.useOpenTooltipState)(openProp, onChange, closeDelay),
|
87
|
+
_useOpenTooltipState2 = _slicedToArray(_useOpenTooltipState, 2),
|
88
|
+
open = _useOpenTooltipState2[0],
|
89
|
+
setOpen = _useOpenTooltipState2[1];
|
90
|
+
|
91
|
+
var getMiddlewares = (0, _react.useMemo)(function () {
|
92
|
+
var middlewares = [(0, _react2.offset)(16)];
|
93
|
+
showArrow && middlewares.push((0, _react2.arrow)({
|
94
|
+
element: arrowRef,
|
95
|
+
padding: 16
|
96
|
+
}));
|
97
|
+
var sizeMiddleware = (0, _react2.size)({
|
98
|
+
apply: function apply(_ref2) {
|
99
|
+
var elements = _ref2.elements,
|
100
|
+
rects = _ref2.rects,
|
101
|
+
availableWidth = _ref2.availableWidth;
|
102
|
+
var styles = {};
|
103
|
+
|
104
|
+
if (fit) {
|
105
|
+
styles.width = "".concat(rects.reference.width, "px");
|
106
|
+
} else {
|
107
|
+
styles.maxWidth = "".concat(availableWidth, "px");
|
108
|
+
if (width) styles.width = typeof width === 'string' ? width : "".concat(width, "px");else styles.width = '';
|
109
|
+
}
|
110
|
+
|
111
|
+
Object.assign(elements.floating.style, styles);
|
112
|
+
}
|
113
|
+
});
|
114
|
+
sizeMiddleware.name = "size-".concat(fit, "-").concat(width);
|
115
|
+
middlewares.push(sizeMiddleware);
|
116
|
+
return middlewares;
|
117
|
+
}, [showArrow, fit, width]);
|
118
|
+
|
119
|
+
var _useFloating = (0, _react2.useFloating)({
|
120
|
+
open: open,
|
121
|
+
onOpenChange: setOpen,
|
122
|
+
placement: placement,
|
123
|
+
whileElementsMounted: _react2.autoUpdate,
|
124
|
+
middleware: getMiddlewares
|
125
|
+
}),
|
126
|
+
refs = _useFloating.refs,
|
127
|
+
floatingStyles = _useFloating.floatingStyles,
|
128
|
+
context = _useFloating.context;
|
129
|
+
|
130
|
+
var hover = (0, _react2.useHover)(context, {
|
131
|
+
enabled: openOnHover
|
132
|
+
});
|
133
|
+
var role = (0, _react2.useRole)(context, {
|
134
|
+
role: 'tooltip'
|
135
|
+
});
|
136
|
+
|
137
|
+
var _useInteractions = (0, _react2.useInteractions)([hover, role]),
|
138
|
+
getReferenceProps = _useInteractions.getReferenceProps,
|
139
|
+
getFloatingProps = _useInteractions.getFloatingProps;
|
140
|
+
|
141
|
+
return /*#__PURE__*/_react["default"].createElement(_react.Fragment, null, /*#__PURE__*/_react["default"].createElement("div", _extends({
|
142
|
+
ref: refs.setReference
|
143
|
+
}, getReferenceProps(), {
|
144
|
+
className: "".concat(classes.activator, " ").concat(className.hasOwnProperty('activator') && className.activator)
|
145
|
+
}), children), /*#__PURE__*/_react["default"].createElement(_react2.FloatingPortal, null, open && /*#__PURE__*/_react["default"].createElement("div", _extends({
|
146
|
+
className: "".concat(classes.tooltip, " ").concat(className.hasOwnProperty('tooltip') && className.tooltip, " ").concat(classes[theme] || classes.purple),
|
147
|
+
ref: refs.setFloating,
|
148
|
+
style: _objectSpread(_objectSpread({}, floatingStyles), {}, {
|
149
|
+
zIndex: zIndex
|
150
|
+
})
|
151
|
+
}, getFloatingProps()), text, showArrow && /*#__PURE__*/_react["default"].createElement(_react2.FloatingArrow, {
|
152
|
+
ref: arrowRef,
|
153
|
+
context: context,
|
154
|
+
fill: colorsArrow[theme] || colorsArrow[themes.PURPLE],
|
155
|
+
width: 14,
|
156
|
+
height: 10
|
157
|
+
}))));
|
158
|
+
}
|
159
|
+
|
160
|
+
Tooltip.propTypes = {
|
161
|
+
classes: _propTypes["default"].object,
|
162
|
+
|
163
|
+
/** It accepts any type of the followings boolean,null,undefined,ReactFragment,ReactPortal,ReactChild. */
|
164
|
+
children: _propTypes["default"].node,
|
165
|
+
|
166
|
+
/** 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. */
|
167
|
+
theme: _propTypes["default"].oneOf(['light', 'dark', 'purple', 'info']),
|
168
|
+
|
169
|
+
/** This property can be used to control whether or not the component is displayed. */
|
170
|
+
open: _propTypes["default"].bool,
|
171
|
+
|
172
|
+
/** This property can be used to set the text that is displayed by the component. */
|
173
|
+
text: _propTypes["default"].string.isRequired,
|
174
|
+
|
175
|
+
/** Designates whether the tooltip should open on activator hover. */
|
176
|
+
openOnHover: _propTypes["default"].bool,
|
177
|
+
|
178
|
+
/** Time on millisecond that it will take to close the tooltip. */
|
179
|
+
closeDelay: _propTypes["default"].number,
|
180
|
+
|
181
|
+
/** Sets the Tooltip stack order. */
|
182
|
+
zIndex: _propTypes["default"].number,
|
183
|
+
|
184
|
+
/** Allows to specify the placement of Tooltip. Available options are top, top-start, top-end, bottom, bottom-start, bottom-end, left, right. */
|
185
|
+
placement: _propTypes["default"].string,
|
186
|
+
|
187
|
+
/** Allows to specify classes to activador and tooltip. Object has the next properties: activator(string), tooltip(string). */
|
188
|
+
className: _propTypes["default"].object,
|
189
|
+
|
190
|
+
/** This property can be used to control whether or not an arrow is displayed. */
|
191
|
+
showArrow: _propTypes["default"].bool,
|
192
|
+
|
193
|
+
/** This property allows the Tooltip to be adjusted to the length of the associated component. */
|
194
|
+
fit: _propTypes["default"].bool,
|
195
|
+
|
196
|
+
/** 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. */
|
197
|
+
width: _propTypes["default"].number,
|
198
|
+
|
199
|
+
/** Callback fired when the Tooltip show state changes. */
|
200
|
+
onChange: _propTypes["default"].func
|
201
|
+
};
|
202
|
+
var _default = Tooltip;
|
203
|
+
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,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 delay = useThrottle({
|
25
|
+
trailing: true,
|
26
|
+
leading: false
|
27
|
+
});
|
28
|
+
|
29
|
+
var _useState = (0, _react.useState)(false),
|
30
|
+
_useState2 = _slicedToArray(_useState, 2),
|
31
|
+
openInternal = _useState2[0],
|
32
|
+
setOpenInternal = _useState2[1];
|
33
|
+
|
34
|
+
var open = (0, _react.useMemo)(function () {
|
35
|
+
return openExternal !== null && openExternal !== void 0 ? openExternal : openInternal;
|
36
|
+
}, [openExternal, openInternal]);
|
37
|
+
var setOpenSource = (0, _react.useMemo)(function () {
|
38
|
+
return openExternal !== undefined ? setOpenExternal !== null && setOpenExternal !== void 0 ? setOpenExternal : function () {} : setOpenInternal;
|
39
|
+
}, [openExternal, setOpenExternal, setOpenInternal]);
|
40
|
+
var setOpenSourceDelay = (0, _react.useMemo)(function () {
|
41
|
+
return function (show) {
|
42
|
+
return delay({
|
43
|
+
throttleTime: closeDelay,
|
44
|
+
callback: function callback() {
|
45
|
+
return setOpenSource(show);
|
46
|
+
}
|
47
|
+
});
|
48
|
+
};
|
49
|
+
}, [closeDelay, setOpenSource, delay]);
|
50
|
+
|
51
|
+
function setOpen(open) {
|
52
|
+
if (open) {
|
53
|
+
delay.cancel();
|
54
|
+
setOpenSource(true);
|
55
|
+
} else {
|
56
|
+
closeDelay > 0 ? setOpenSourceDelay(false) : setOpenSource(false);
|
57
|
+
}
|
58
|
+
}
|
59
|
+
|
60
|
+
(0, _react.useEffect)(function () {
|
61
|
+
if (openExternal === false || closeDelay <= 0) return;
|
62
|
+
delay.cancel();
|
63
|
+
setOpenSourceDelay(false);
|
64
|
+
}, [openExternal, setOpenSourceDelay, setOpenSource, delay, closeDelay]);
|
65
|
+
return [open, setOpen];
|
66
|
+
}
|
67
|
+
|
68
|
+
function useThrottle() {
|
69
|
+
var defaults = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
70
|
+
var timeout = (0, _react.useRef)(null);
|
71
|
+
var lastCallback = (0, _react.useRef)(null);
|
72
|
+
var date = (0, _react.useRef)(null);
|
73
|
+
|
74
|
+
function throttle(_ref) {
|
75
|
+
var _ref4;
|
76
|
+
|
77
|
+
var callback = _ref.callback,
|
78
|
+
throttleTime = _ref.throttleTime,
|
79
|
+
leading = _ref.leading,
|
80
|
+
trailing = _ref.trailing;
|
81
|
+
|
82
|
+
if (timeout.current) {
|
83
|
+
var _ref2;
|
84
|
+
|
85
|
+
return lastCallback.current = (_ref2 = callback !== null && callback !== void 0 ? callback : defaults.callback) !== null && _ref2 !== void 0 ? _ref2 : null;
|
86
|
+
} else {
|
87
|
+
var _ref3, _defaults$leading;
|
88
|
+
|
89
|
+
date.current = new Date();
|
90
|
+
|
91
|
+
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) {
|
92
|
+
callback();
|
93
|
+
} else {
|
94
|
+
lastCallback.current = callback;
|
95
|
+
}
|
96
|
+
}
|
97
|
+
|
98
|
+
timeout.current = window.setTimeout(function () {
|
99
|
+
var _defaults$trailing;
|
100
|
+
|
101
|
+
((_defaults$trailing = defaults === null || defaults === void 0 ? void 0 : defaults.trailing) !== null && _defaults$trailing !== void 0 ? _defaults$trailing : trailing) ? flush() : cancel();
|
102
|
+
}, (_ref4 = throttleTime !== null && throttleTime !== void 0 ? throttleTime : defaults.throttleTime) !== null && _ref4 !== void 0 ? _ref4 : 1000);
|
103
|
+
}
|
104
|
+
|
105
|
+
function flush() {
|
106
|
+
if (!lastCallback.current) return;
|
107
|
+
lastCallback.current();
|
108
|
+
lastCallback.current = null;
|
109
|
+
date.current = null;
|
110
|
+
cancel();
|
111
|
+
}
|
112
|
+
|
113
|
+
function cancel() {
|
114
|
+
if (!timeout.current) return;
|
115
|
+
window.clearTimeout(timeout.current);
|
116
|
+
timeout.current = null;
|
117
|
+
date.current = null;
|
118
|
+
}
|
119
|
+
|
120
|
+
(0, _react.useEffect)(function () {
|
121
|
+
return cancel;
|
122
|
+
}, []);
|
123
|
+
throttle.flush = flush;
|
124
|
+
throttle.cancel = cancel;
|
125
|
+
throttle.date = date;
|
126
|
+
|
127
|
+
throttle.isActive = function () {
|
128
|
+
return !!date.current;
|
129
|
+
};
|
130
|
+
|
131
|
+
return throttle;
|
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: '13px',
|
25
|
+
lineHeight: '16px'
|
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;
|
package/build/index.js
CHANGED
@@ -32,6 +32,8 @@ var _ButtonAlign = _interopRequireDefault(require("./ButtonAlign"));
|
|
32
32
|
|
33
33
|
var _TourTip = _interopRequireDefault(require("./TourTip"));
|
34
34
|
|
35
|
+
var _Tooltip = _interopRequireDefault(require("./Tooltip"));
|
36
|
+
|
35
37
|
var _RangeCounter = _interopRequireDefault(require("./RangeCounter"));
|
36
38
|
|
37
39
|
var _OrderBy = _interopRequireDefault(require("./OrderBy"));
|
@@ -141,6 +143,7 @@ module.exports = {
|
|
141
143
|
Checkbox: _Checkbox["default"],
|
142
144
|
ButtonAlign: _ButtonAlign["default"],
|
143
145
|
TourTip: _TourTip["default"],
|
146
|
+
Tooltip: _Tooltip["default"],
|
144
147
|
RangeCounter: _RangeCounter["default"],
|
145
148
|
OrderBy: _OrderBy["default"],
|
146
149
|
Radio: _Radio["default"],
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@occmundial/occ-atomic",
|
3
|
-
"version": "1.
|
3
|
+
"version": "1.32.0",
|
4
4
|
"description": "Collection of shareable styled React components for OCC applications.",
|
5
5
|
"homepage": "http://occmundial.github.io/occ-atomic",
|
6
6
|
"main": "build/index.js",
|
@@ -96,6 +96,7 @@
|
|
96
96
|
"webpack-dev-server": "^4.2.0"
|
97
97
|
},
|
98
98
|
"dependencies": {
|
99
|
+
"@floating-ui/react": "^0.24.1",
|
99
100
|
"class-autobind": "^0.1.4",
|
100
101
|
"hex-rgba": "^1.0.2",
|
101
102
|
"idx": "^2.5.6",
|