@rio-cloud/rio-uikit 0.15.0-beta-46 → 0.15.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/README.md +197 -192
- package/lib/components/actionBarItem/ActionBarItem.js +9 -0
- package/lib/components/actionBarItem/ActionBarItemList.js +38 -0
- package/lib/components/actionBarItem/ActionBarItemListItem.js +51 -0
- package/lib/components/actionBarItem/ActionBarItemListSeparator.js +37 -0
- package/lib/components/actionBarItem/ActionBarOverlay.js +2 -2
- package/lib/components/animatedNumber/AnimatedNumber.js +81 -0
- package/lib/components/applicationHeader/ApplicationHeader.js +4 -1
- package/lib/components/applicationLayout/ApplicationLayoutBody.js +3 -1
- package/lib/components/assetTree/AssetTree.less +3 -2
- package/lib/components/assetTree/Tree.js +3 -3
- package/lib/components/autosuggest/AutoSuggest.js +5 -3
- package/lib/components/bottomSheet/BottomSheet.js +157 -0
- package/lib/components/browserWarning/BrowserWarningMessageDE.js +1 -1
- package/lib/components/browserWarning/BrowserWarningMessageEN.js +1 -1
- package/lib/components/button/Button.js +127 -7
- package/lib/components/button/ToggleButton.js +11 -108
- package/lib/components/charts/BarChart.js +4 -3
- package/lib/components/charts/ChartNeedle.js +2 -2
- package/lib/components/charts/PieChart.js +11 -6
- package/lib/components/charts/RadialBarChart.js +4 -1
- package/lib/components/charts/chartHelper.js +3 -3
- package/lib/components/checkbox/Checkbox.js +127 -171
- package/lib/components/checkbox/Checkbox.less +4 -2
- package/lib/components/clearableInput/ClearableInput.js +2 -2
- package/lib/components/clearableInput/ClearableInput.less +2 -1
- package/lib/components/dataTabs/DataTabs.js +78 -120
- package/lib/components/datepicker/DatePicker.js +41 -72
- package/lib/components/datepicker/DatePicker.less +35 -5
- package/lib/components/datepicker/DateRangePicker.js +3 -3
- package/lib/components/dialog/Dialog.js +2 -2
- package/lib/components/dialog/InfoDialog.js +2 -2
- package/lib/components/dialog/MediaDialog.js +2 -2
- package/lib/components/dialog/SaveDialog.js +2 -2
- package/lib/components/dialog/SimpleDialog.js +2 -2
- package/lib/components/dialog/SplitDialog.js +2 -2
- package/lib/components/driverName/DriverName.js +1 -1
- package/lib/components/dropdown/ButtonDropdown.js +2 -2
- package/lib/components/dropdown/DropdownSubmenu.less +2 -2
- package/lib/components/fade/Fade.js +2 -2
- package/lib/components/filepicker/FilePicker.js +2 -2
- package/lib/components/listMenu/ListMenu.js +2 -2
- package/lib/components/loadMore/LoadMoreButton.js +1 -1
- package/lib/components/map/components/Map.js +2 -2
- package/lib/components/map/components/constants.js +1 -1
- package/lib/components/map/components/features/Route.js +2 -2
- package/lib/components/map/components/features/basics/MapLayerGroup.js +2 -2
- package/lib/components/map/components/features/basics/marker/Marker.js +2 -1
- package/lib/components/map/components/features/basics/marker/TextMarker.js +1 -1
- package/lib/components/map/components/features/layers/MarkerLayer.js +2 -2
- package/lib/components/map/components/features/layers/clustering/SimpleClusterLayer.js +2 -2
- package/lib/components/map/utils/eventHandling.js +5 -4
- package/lib/components/map/utils/hooks.js +1 -1
- package/lib/components/map/utils/validation.js +1 -1
- package/lib/components/numberControl/NumberControl.js +165 -145
- package/lib/components/numberInput/NumberInput.js +152 -233
- package/lib/components/onboarding/OnboardingTip.js +1 -1
- package/lib/components/overlay/OverlayTrigger.js +2 -1
- package/lib/components/radiobutton/RadioButton.js +116 -148
- package/lib/components/radiobutton/RadioButton.less +10 -6
- package/lib/components/resizer/Resizer.less +2 -2
- package/lib/components/selects/BaseDropdownMenu.js +2 -2
- package/lib/components/selects/DropdownHeader.js +2 -6
- package/lib/components/spinner/Spinner.js +1 -1
- package/lib/components/spinner/Spinner.less +2 -2
- package/lib/components/states/MaintenanceState.js +25 -0
- package/lib/components/states/baseStatePropTypes.js +1 -1
- package/lib/components/supportMarker/toggleSupportMarker.js +1 -1
- package/lib/components/table/SortArrows.js +1 -1
- package/lib/components/table/TableCardsSorting.js +7 -7
- package/lib/components/table/TableSettingsDialog.js +2 -2
- package/lib/components/table/TableSettingsListItem.js +1 -1
- package/lib/components/teaser/Teaser.js +1 -1
- package/lib/components/timepicker/TimePicker.js +10 -2
- package/lib/components/tooltip/Tooltip.js +4 -4
- package/lib/components/tooltip/Tooltip.less +0 -10
- package/lib/es/ActionBarItem.d.ts +6 -0
- package/lib/es/ActionBarItemList.d.ts +5 -0
- package/lib/es/ActionBarItemList.js +15 -0
- package/lib/es/ActionBarItemListItem.d.ts +5 -0
- package/lib/es/ActionBarItemListItem.js +15 -0
- package/lib/es/ActionBarItemListSeparator.d.ts +5 -0
- package/lib/es/ActionBarItemListSeparator.js +15 -0
- package/lib/es/AnimatedNumber.d.ts +5 -0
- package/lib/es/AnimatedNumber.js +15 -0
- package/lib/es/BottomSheet.d.ts +5 -0
- package/lib/es/BottomSheet.js +15 -0
- package/lib/es/DeviceUtils.d.ts +5 -0
- package/lib/es/MaintenanceState.d.ts +5 -0
- package/lib/es/MaintenanceState.js +15 -0
- package/lib/es/SortDirection.d.ts +6 -0
- package/lib/es/SortDirection.js +13 -0
- package/lib/es/SortUtils.d.ts +6 -0
- package/lib/es/SortUtils.js +19 -0
- package/lib/es/SupportMarker.js +15 -0
- package/lib/es/deviceUtils.js +14 -2
- package/lib/es/routeUtils.js +6 -6
- package/lib/es/useAfterMount.d.ts +4 -0
- package/lib/es/useAfterMount.js +15 -0
- package/lib/es/useClickOutside.d.ts +4 -0
- package/lib/es/useClickOutside.js +15 -0
- package/lib/es/useClipboard.d.ts +4 -0
- package/lib/es/useClipboard.js +15 -0
- package/lib/es/useDebugInfo.d.ts +4 -0
- package/lib/es/useDebugInfo.js +15 -0
- package/lib/es/useEffectOnce.d.ts +4 -0
- package/lib/es/useEffectOnce.js +15 -0
- package/lib/es/useElementSize.d.ts +4 -0
- package/lib/es/useElementSize.js +15 -0
- package/lib/es/useEsc.d.ts +4 -0
- package/lib/es/useEsc.js +15 -0
- package/lib/es/useEvent.d.ts +4 -0
- package/lib/es/useEvent.js +15 -0
- package/lib/es/useInterval.d.ts +4 -0
- package/lib/es/useInterval.js +15 -0
- package/lib/es/useKey.d.ts +4 -0
- package/lib/es/useKey.js +15 -0
- package/lib/es/useLocalStorage.d.ts +4 -0
- package/lib/es/useLocalStorage.js +13 -0
- package/lib/es/useOnMount.js +15 -0
- package/lib/es/useOnScreen.d.ts +4 -0
- package/lib/es/useOnScreen.js +15 -0
- package/lib/es/useOnlineStatus.d.ts +4 -0
- package/lib/es/useOnlineStatus.js +15 -0
- package/lib/es/useRenderCount.d.ts +4 -0
- package/lib/es/useRenderCount.js +15 -0
- package/lib/es/useSessionStorage.d.ts +4 -0
- package/lib/es/useSessionStorage.js +13 -0
- package/lib/es/useStateWithValidation.d.ts +4 -0
- package/lib/es/useStateWithValidation.js +15 -0
- package/lib/es/useTimeout.d.ts +4 -0
- package/lib/es/useTimeout.js +15 -0
- package/lib/es/useWindowResize.d.ts +4 -0
- package/lib/es/useWindowResize.js +15 -0
- package/lib/hooks/useDebugInfo.js +55 -0
- package/lib/hooks/useInterval.js +30 -0
- package/lib/hooks/useOnScreen.js +46 -0
- package/lib/hooks/useOnlineStatus.js +30 -0
- package/lib/hooks/useRenderCount.js +17 -0
- package/lib/hooks/useStateWithValidation.js +33 -0
- package/lib/hooks/useStorage.js +53 -0
- package/lib/hooks/useTimeout.js +9 -6
- package/lib/index.js +274 -266
- package/lib/mapIndex.js +72 -72
- package/lib/style/css/_exports/man-uikit.less +1 -0
- package/lib/style/css/_exports/rio-buyButton.less +5 -0
- package/lib/style/css/_exports/rio-uikit-core.less +2 -2
- package/lib/style/css/_exports/rio-uikit-print-utilities.less +21 -0
- package/lib/style/css/_exports/rio-uikit-responsive-utilities.less +2 -1
- package/lib/style/css/_exports/rio-uikit.less +1 -0
- package/lib/style/css/_exports/rio-website.less +131 -0
- package/lib/style/css/_exports/vw-uikit.less +2 -1
- package/lib/style/css/bootstrap/badges.less +0 -12
- package/lib/style/css/bootstrap/dropdowns.less +13 -13
- package/lib/style/css/bootstrap/type.less +11 -4
- package/lib/style/css/rio-theme/badges.less +48 -1
- package/lib/style/css/rio-theme/button-groups.less +1 -1
- package/lib/style/css/rio-theme/buttons.less +58 -16
- package/lib/style/css/rio-theme/carousel.less +1 -1
- package/lib/style/css/rio-theme/dropdowns.less +6 -26
- package/lib/style/css/rio-theme/navbar.less +46 -3
- package/lib/style/css/rio-theme/navs.less +19 -0
- package/lib/style/css/rio-theme/pagination.less +1 -1
- package/lib/style/css/utils/_imports.less +82 -0
- package/lib/style/css/utils/animations/translate.less +4 -1
- package/lib/style/css/utils/responsive/border.less +27 -19
- package/lib/style/css/utils/responsive/display.less +2 -0
- package/lib/style/css/utils/responsive/grid.less +6 -0
- package/lib/style/css/utils/responsive/sizing.less +1 -1
- package/lib/style/css/utils/text.less +3 -0
- package/lib/style/fonts/rioglyph/rioglyph.less +74 -14
- package/lib/style/fonts/rioglyph/rioglyph.svg +106 -34
- package/lib/style/fonts/rioglyph/rioglyph.ttf +0 -0
- package/lib/style/fonts/rioglyph/rioglyph.woff +0 -0
- package/lib/types.ts +139 -22
- package/lib/utils/SortUtils.js +54 -0
- package/lib/utils/buttonEffect.js +68 -0
- package/lib/utils/deviceUtils.js +1 -5
- package/lib/utils/logDeprecatedWarnings.js +1 -1
- package/lib/utils/logPropError.js +1 -1
- package/lib/utils/routeUtils.js +7 -6
- package/lib/utils/scrollItemIntoView.js +1 -1
- package/lib/version.json +1 -1
- package/package.json +73 -75
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
Object.defineProperty(exports, "default", {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function get() {
|
|
11
|
+
return _useRenderCount2.default;
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
var _useRenderCount2 = _interopRequireDefault(require("../hooks/useRenderCount"));
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "default", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function get() {
|
|
9
|
+
return _useStorage.useSessionStorage;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
var _useStorage = require("../hooks/useStorage");
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
Object.defineProperty(exports, "default", {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function get() {
|
|
11
|
+
return _useStateWithValidation2.default;
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
var _useStateWithValidation2 = _interopRequireDefault(require("../hooks/useStateWithValidation"));
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
Object.defineProperty(exports, "default", {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function get() {
|
|
11
|
+
return _useTimeout2.default;
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
var _useTimeout2 = _interopRequireDefault(require("../hooks/useTimeout"));
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
Object.defineProperty(exports, "default", {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function get() {
|
|
11
|
+
return _useWindowResize2.default;
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
var _useWindowResize2 = _interopRequireDefault(require("../hooks/useWindowResize"));
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = useDebugInfo;
|
|
9
|
+
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
|
|
12
|
+
var _react = require("react");
|
|
13
|
+
|
|
14
|
+
var _useRenderCount = _interopRequireDefault(require("./useRenderCount"));
|
|
15
|
+
|
|
16
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
17
|
+
|
|
18
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
19
|
+
|
|
20
|
+
var logStyle = ["color: #4c5667", "background-color: #e5ebf0", "padding: 2px 4px", "border-radius: 2px"].join(";");
|
|
21
|
+
|
|
22
|
+
function useDebugInfo(componentName, props) {
|
|
23
|
+
var renderCount = (0, _useRenderCount.default)();
|
|
24
|
+
var changedProps = (0, _react.useRef)({});
|
|
25
|
+
var previousProps = (0, _react.useRef)(props);
|
|
26
|
+
var lastRenderTimestamp = (0, _react.useRef)(Date.now());
|
|
27
|
+
var propKeys = Object.keys(_objectSpread(_objectSpread({}, props), previousProps));
|
|
28
|
+
changedProps.current = propKeys.reduce(function (obj, key) {
|
|
29
|
+
if (props[key] === previousProps.current[key]) {
|
|
30
|
+
return obj;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
return _objectSpread(_objectSpread({}, obj), {}, (0, _defineProperty2.default)({}, key, {
|
|
34
|
+
previous: previousProps.current[key],
|
|
35
|
+
current: props[key]
|
|
36
|
+
}));
|
|
37
|
+
}, {});
|
|
38
|
+
var info = {
|
|
39
|
+
renderCount: renderCount,
|
|
40
|
+
changedProps: changedProps.current,
|
|
41
|
+
timeSinceLastRender: Date.now() - lastRenderTimestamp.current,
|
|
42
|
+
lastRenderTimestamp: lastRenderTimestamp.current
|
|
43
|
+
};
|
|
44
|
+
(0, _react.useEffect)(function () {
|
|
45
|
+
previousProps.current = props;
|
|
46
|
+
lastRenderTimestamp.current = Date.now();
|
|
47
|
+
|
|
48
|
+
if (console) {
|
|
49
|
+
console.groupCollapsed("%c[debug-info] ".concat(componentName), logStyle);
|
|
50
|
+
console.log(info);
|
|
51
|
+
console.groupEnd();
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
return info;
|
|
55
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = useInterval;
|
|
7
|
+
|
|
8
|
+
var _react = require("react");
|
|
9
|
+
|
|
10
|
+
// See https://overreacted.io/making-setinterval-declarative-with-react-hooks/
|
|
11
|
+
function useInterval(callback, delay) {
|
|
12
|
+
var intervalRef = (0, _react.useRef)(null);
|
|
13
|
+
var savedCallback = (0, _react.useRef)(callback);
|
|
14
|
+
(0, _react.useEffect)(function () {
|
|
15
|
+
savedCallback.current = callback;
|
|
16
|
+
}, [callback]);
|
|
17
|
+
(0, _react.useEffect)(function () {
|
|
18
|
+
var tick = function tick() {
|
|
19
|
+
return savedCallback.current();
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
if (typeof delay === 'number') {
|
|
23
|
+
intervalRef.current = window.setInterval(tick, delay);
|
|
24
|
+
return function () {
|
|
25
|
+
return window.clearInterval(intervalRef.current);
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
}, [delay]);
|
|
29
|
+
return intervalRef;
|
|
30
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = useOnScreen;
|
|
9
|
+
|
|
10
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
|
+
|
|
12
|
+
var _react = require("react");
|
|
13
|
+
|
|
14
|
+
// Inspired by https://github.com/WebDevSimplified/useful-custom-react-hooks/blob/main/src/14-useOnScreen/useOnScreen.js
|
|
15
|
+
function useOnScreen(ref) {
|
|
16
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
|
|
17
|
+
rootMargin: '0px'
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
var _useState = (0, _react.useState)(false),
|
|
21
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
22
|
+
isVisible = _useState2[0],
|
|
23
|
+
setIsVisible = _useState2[1];
|
|
24
|
+
|
|
25
|
+
(0, _react.useEffect)(function () {
|
|
26
|
+
if (!ref.current) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
var observer = new IntersectionObserver(function (_ref) {
|
|
31
|
+
var _ref2 = (0, _slicedToArray2.default)(_ref, 1),
|
|
32
|
+
entry = _ref2[0];
|
|
33
|
+
|
|
34
|
+
return setIsVisible(entry.isIntersecting);
|
|
35
|
+
}, options);
|
|
36
|
+
observer.observe(ref.current);
|
|
37
|
+
return function () {
|
|
38
|
+
if (!ref.current) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
observer.unobserve(ref.current);
|
|
43
|
+
};
|
|
44
|
+
}, [ref.current, options]);
|
|
45
|
+
return isVisible;
|
|
46
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = useOnlineStatus;
|
|
9
|
+
|
|
10
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
|
+
|
|
12
|
+
var _react = require("react");
|
|
13
|
+
|
|
14
|
+
var _useEvent = _interopRequireDefault(require("./useEvent"));
|
|
15
|
+
|
|
16
|
+
// Inspired by https://github.com/WebDevSimplified/useful-custom-react-hooks/blob/main/src/26-useOnlineStatus/useOnlineStatus.js
|
|
17
|
+
function useOnlineStatus() {
|
|
18
|
+
var _useState = (0, _react.useState)(navigator.onLine),
|
|
19
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
20
|
+
online = _useState2[0],
|
|
21
|
+
setOnline = _useState2[1];
|
|
22
|
+
|
|
23
|
+
(0, _useEvent.default)('online', function () {
|
|
24
|
+
return setOnline(navigator.onLine);
|
|
25
|
+
}, false, window);
|
|
26
|
+
(0, _useEvent.default)('offline', function () {
|
|
27
|
+
return setOnline(navigator.onLine);
|
|
28
|
+
}, false, window);
|
|
29
|
+
return online;
|
|
30
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = useRenderCount;
|
|
7
|
+
|
|
8
|
+
var _react = require("react");
|
|
9
|
+
|
|
10
|
+
// Inspired by https://github.com/WebDevSimplified/useful-custom-react-hooks/blob/main/src/27-useRenderCount/useRenderCount.js
|
|
11
|
+
function useRenderCount() {
|
|
12
|
+
var count = (0, _react.useRef)(1);
|
|
13
|
+
(0, _react.useEffect)(function () {
|
|
14
|
+
count.current++;
|
|
15
|
+
});
|
|
16
|
+
return count.current;
|
|
17
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = useStateWithValidation;
|
|
9
|
+
|
|
10
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
|
+
|
|
12
|
+
var _react = require("react");
|
|
13
|
+
|
|
14
|
+
function useStateWithValidation(validationFn, initialValue) {
|
|
15
|
+
var _useState = (0, _react.useState)(initialValue),
|
|
16
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
17
|
+
state = _useState2[0],
|
|
18
|
+
setState = _useState2[1];
|
|
19
|
+
|
|
20
|
+
var _useState3 = (0, _react.useState)(function () {
|
|
21
|
+
return validationFn(state);
|
|
22
|
+
}),
|
|
23
|
+
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
24
|
+
isValid = _useState4[0],
|
|
25
|
+
setIsValid = _useState4[1];
|
|
26
|
+
|
|
27
|
+
var onChange = (0, _react.useCallback)(function (nextState) {
|
|
28
|
+
var value = typeof nextState === 'function' ? nextState(state) : nextState;
|
|
29
|
+
setState(value);
|
|
30
|
+
setIsValid(validationFn(value));
|
|
31
|
+
}, [validationFn]);
|
|
32
|
+
return [state, onChange, isValid];
|
|
33
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.useLocalStorage = useLocalStorage;
|
|
9
|
+
exports.useSessionStorage = useSessionStorage;
|
|
10
|
+
|
|
11
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
12
|
+
|
|
13
|
+
var _react = require("react");
|
|
14
|
+
|
|
15
|
+
// Inspired by https://github.com/WebDevSimplified/useful-custom-react-hooks/blob/main/src/8-useStorage/useStorage.js
|
|
16
|
+
function useLocalStorage(key, defaultValue) {
|
|
17
|
+
return useStorage(key, defaultValue, window.localStorage);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
function useSessionStorage(key, defaultValue) {
|
|
21
|
+
return useStorage(key, defaultValue, window.sessionStorage);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
function useStorage(key, defaultValue, storageObject) {
|
|
25
|
+
var _useState = (0, _react.useState)(function () {
|
|
26
|
+
var jsonValue = storageObject.getItem(key);
|
|
27
|
+
|
|
28
|
+
if (jsonValue) {
|
|
29
|
+
return JSON.parse(jsonValue);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
if (typeof defaultValue === 'function') {
|
|
33
|
+
return defaultValue();
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
return defaultValue;
|
|
37
|
+
}),
|
|
38
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
39
|
+
value = _useState2[0],
|
|
40
|
+
setValue = _useState2[1];
|
|
41
|
+
|
|
42
|
+
(0, _react.useEffect)(function () {
|
|
43
|
+
if (!value) {
|
|
44
|
+
return storageObject.removeItem(key);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
storageObject.setItem(key, JSON.stringify(value));
|
|
48
|
+
}, [key, value, storageObject]);
|
|
49
|
+
var remove = (0, _react.useCallback)(function () {
|
|
50
|
+
setValue(undefined);
|
|
51
|
+
}, []);
|
|
52
|
+
return [value, setValue, remove];
|
|
53
|
+
}
|
package/lib/hooks/useTimeout.js
CHANGED
|
@@ -7,21 +7,24 @@ exports.default = useTimeout;
|
|
|
7
7
|
|
|
8
8
|
var _react = require("react");
|
|
9
9
|
|
|
10
|
+
// See www.joshwcomeau.com/snippets/react-hooks/use-timeout/
|
|
10
11
|
function useTimeout(callback, delay) {
|
|
12
|
+
var timeoutRef = (0, _react.useRef)(null);
|
|
11
13
|
var savedCallback = (0, _react.useRef)(callback);
|
|
12
14
|
(0, _react.useEffect)(function () {
|
|
13
15
|
savedCallback.current = callback;
|
|
14
16
|
}, [callback]);
|
|
15
17
|
(0, _react.useEffect)(function () {
|
|
16
|
-
function tick() {
|
|
17
|
-
savedCallback.current();
|
|
18
|
-
}
|
|
18
|
+
var tick = function tick() {
|
|
19
|
+
return savedCallback.current();
|
|
20
|
+
};
|
|
19
21
|
|
|
20
|
-
if (delay
|
|
21
|
-
|
|
22
|
+
if (typeof delay === 'number') {
|
|
23
|
+
timeoutRef.current = window.setTimeout(tick, delay);
|
|
22
24
|
return function () {
|
|
23
|
-
return clearTimeout(
|
|
25
|
+
return window.clearTimeout(timeoutRef.current);
|
|
24
26
|
};
|
|
25
27
|
}
|
|
26
28
|
}, [delay]);
|
|
29
|
+
return timeoutRef;
|
|
27
30
|
}
|