@panneau/core 3.0.162 → 3.0.169
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/es/contexts.js +25 -5
- package/es/hooks.js +33 -1
- package/lib/contexts.js +30 -8
- package/lib/hooks.js +34 -0
- package/package.json +3 -3
package/es/contexts.js
CHANGED
|
@@ -843,15 +843,18 @@ var ModalProvider = function ModalProvider(_ref) {
|
|
|
843
843
|
var modalsRef = useRef(modals);
|
|
844
844
|
var register = useCallback(function (id) {
|
|
845
845
|
var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
846
|
-
var
|
|
846
|
+
var _modalsRef$current = modalsRef.current,
|
|
847
|
+
currentModals = _modalsRef$current === void 0 ? [] : _modalsRef$current;
|
|
847
848
|
var newModals = [].concat(_toConsumableArray(currentModals), [_objectSpread({
|
|
848
849
|
id: id
|
|
849
850
|
}, data)]);
|
|
850
851
|
setModals(newModals);
|
|
851
852
|
modalsRef.current = newModals;
|
|
852
853
|
}, [modals, setModals]);
|
|
853
|
-
var unregister = useCallback(function (
|
|
854
|
-
var
|
|
854
|
+
var unregister = useCallback(function () {
|
|
855
|
+
var id = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
|
856
|
+
var _modalsRef$current2 = modalsRef.current,
|
|
857
|
+
currentModals = _modalsRef$current2 === void 0 ? [] : _modalsRef$current2;
|
|
855
858
|
var foundIndex = currentModals.findIndex(function (_ref2) {
|
|
856
859
|
var modalId = _ref2.id;
|
|
857
860
|
return modalId === id;
|
|
@@ -865,15 +868,32 @@ var ModalProvider = function ModalProvider(_ref) {
|
|
|
865
868
|
modalsRef.current = newModals;
|
|
866
869
|
}
|
|
867
870
|
}, [modals, setModals]);
|
|
871
|
+
var closeLastModal = useCallback(function () {
|
|
872
|
+
var _modalsRef$current3 = modalsRef.current,
|
|
873
|
+
currentModals = _modalsRef$current3 === void 0 ? [] : _modalsRef$current3;
|
|
874
|
+
var lastModal = currentModals.pop() || null;
|
|
875
|
+
if (lastModal !== null) {
|
|
876
|
+
var _ref4 = lastModal || {},
|
|
877
|
+
_ref4$id = _ref4.id,
|
|
878
|
+
lastModalId = _ref4$id === void 0 ? null : _ref4$id;
|
|
879
|
+
var newModals = currentModals.filter(function (_ref5) {
|
|
880
|
+
var modalId = _ref5.id;
|
|
881
|
+
return modalId !== lastModalId;
|
|
882
|
+
});
|
|
883
|
+
setModals(newModals);
|
|
884
|
+
modalsRef.current = newModals;
|
|
885
|
+
}
|
|
886
|
+
}, [modals, setModals]);
|
|
868
887
|
var value = useMemo(function () {
|
|
869
888
|
return {
|
|
870
889
|
modals: modals,
|
|
871
890
|
container: container,
|
|
872
891
|
setContainer: setContainer,
|
|
873
892
|
register: register,
|
|
874
|
-
unregister: unregister
|
|
893
|
+
unregister: unregister,
|
|
894
|
+
closeLastModal: closeLastModal
|
|
875
895
|
};
|
|
876
|
-
}, [modals, container, setContainer, register, unregister]);
|
|
896
|
+
}, [modals, container, setContainer, register, unregister, closeLastModal]);
|
|
877
897
|
return /*#__PURE__*/React.createElement(ModalContext.Provider, {
|
|
878
898
|
value: value
|
|
879
899
|
}, children);
|
package/es/hooks.js
CHANGED
|
@@ -821,6 +821,38 @@ var useItemSelection = function useItemSelection(_ref) {
|
|
|
821
821
|
};
|
|
822
822
|
var useItemSelection$1 = useItemSelection;
|
|
823
823
|
|
|
824
|
+
var KEYCODES = {
|
|
825
|
+
ARROW_LEFT: 37,
|
|
826
|
+
ARROW_UP: 38,
|
|
827
|
+
ARROW_RIGHT: 39,
|
|
828
|
+
ARROW_DOWN: 40,
|
|
829
|
+
ESCAPE: 27,
|
|
830
|
+
SPACE: 32
|
|
831
|
+
};
|
|
832
|
+
var useKeyboardKeys = function useKeyboardKeys() {
|
|
833
|
+
var keys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
834
|
+
var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
|
835
|
+
_ref$eventName = _ref.eventName,
|
|
836
|
+
eventName = _ref$eventName === void 0 ? 'keydown' : _ref$eventName;
|
|
837
|
+
var keysNames = Object.keys(keys);
|
|
838
|
+
var keysListeners = keysNames.map(function (key) {
|
|
839
|
+
return keys[key];
|
|
840
|
+
});
|
|
841
|
+
useEffect(function () {
|
|
842
|
+
var onKeyDown = function onKeyDown(e) {
|
|
843
|
+
var keyCode = e.keyCode;
|
|
844
|
+
if (typeof keys[keyCode] !== 'undefined') {
|
|
845
|
+
keys[keyCode](e);
|
|
846
|
+
}
|
|
847
|
+
};
|
|
848
|
+
document.addEventListener(eventName, onKeyDown);
|
|
849
|
+
return function () {
|
|
850
|
+
document.removeEventListener(eventName, onKeyDown);
|
|
851
|
+
};
|
|
852
|
+
}, [].concat(keysNames, _toConsumableArray(keysListeners), [eventName]));
|
|
853
|
+
};
|
|
854
|
+
var useKeyboardKeys$1 = useKeyboardKeys;
|
|
855
|
+
|
|
824
856
|
var fontsMap = {
|
|
825
857
|
loading: [],
|
|
826
858
|
active: []
|
|
@@ -1373,4 +1405,4 @@ var eventsManager = typeof window !== 'undefined' ? new EventsManager(window) :
|
|
|
1373
1405
|
var useWindowEvent = createUseEvent(eventsManager);
|
|
1374
1406
|
var useWindowEvent$1 = useWindowEvent;
|
|
1375
1407
|
|
|
1376
|
-
export { getObserver, useActions$1 as useActions, useAnimationFrame$1 as useAnimationFrame, useDocumentEvent$1 as useDocumentEvent, useForm$1 as useForm, useFormattedDate, useFormattedTime, useIntersectionObserver, useIsVisible$1 as useIsVisible, useItemSelection$1 as useItemSelection, useLoadedFonts$1 as useLoadedFonts, useMediaApi$1 as useMediaApi, useMediasParser$1 as useMediasParser, useObserver, useQuery$1 as useQuery, useResizeObserver, useResourceTypeName$1 as useResourceTypeName, useResourceUrlGenerator$1 as useResourceUrlGenerator, useScreenSizeFromElement, useScreenSizeFromWindow, useWindowEvent$1 as useWindowEvent };
|
|
1408
|
+
export { KEYCODES, getObserver, useActions$1 as useActions, useAnimationFrame$1 as useAnimationFrame, useDocumentEvent$1 as useDocumentEvent, useForm$1 as useForm, useFormattedDate, useFormattedTime, useIntersectionObserver, useIsVisible$1 as useIsVisible, useItemSelection$1 as useItemSelection, useKeyboardKeys$1 as useKeyboardKeys, useLoadedFonts$1 as useLoadedFonts, useMediaApi$1 as useMediaApi, useMediasParser$1 as useMediasParser, useObserver, useQuery$1 as useQuery, useResizeObserver, useResourceTypeName$1 as useResourceTypeName, useResourceUrlGenerator$1 as useResourceUrlGenerator, useScreenSizeFromElement, useScreenSizeFromWindow, useWindowEvent$1 as useWindowEvent };
|
package/lib/contexts.js
CHANGED
|
@@ -864,15 +864,18 @@ var ModalProvider = function ModalProvider(_ref) {
|
|
|
864
864
|
var modalsRef = React.useRef(modals);
|
|
865
865
|
var register = React.useCallback(function (id) {
|
|
866
866
|
var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
867
|
-
var
|
|
867
|
+
var _modalsRef$current = modalsRef.current,
|
|
868
|
+
currentModals = _modalsRef$current === void 0 ? [] : _modalsRef$current;
|
|
868
869
|
var newModals = [].concat(_toConsumableArray(currentModals), [_objectSpread({
|
|
869
870
|
id: id
|
|
870
871
|
}, data)]);
|
|
871
872
|
setModals(newModals);
|
|
872
873
|
modalsRef.current = newModals;
|
|
873
874
|
}, [modals, setModals]);
|
|
874
|
-
var unregister = React.useCallback(function (
|
|
875
|
-
var
|
|
875
|
+
var unregister = React.useCallback(function () {
|
|
876
|
+
var id = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
|
877
|
+
var _modalsRef$current2 = modalsRef.current,
|
|
878
|
+
currentModals = _modalsRef$current2 === void 0 ? [] : _modalsRef$current2;
|
|
876
879
|
var foundIndex = currentModals.findIndex(function (_ref2) {
|
|
877
880
|
var modalId = _ref2.id;
|
|
878
881
|
return modalId === id;
|
|
@@ -886,15 +889,32 @@ var ModalProvider = function ModalProvider(_ref) {
|
|
|
886
889
|
modalsRef.current = newModals;
|
|
887
890
|
}
|
|
888
891
|
}, [modals, setModals]);
|
|
892
|
+
var closeLastModal = React.useCallback(function () {
|
|
893
|
+
var _modalsRef$current3 = modalsRef.current,
|
|
894
|
+
currentModals = _modalsRef$current3 === void 0 ? [] : _modalsRef$current3;
|
|
895
|
+
var lastModal = currentModals.pop() || null;
|
|
896
|
+
if (lastModal !== null) {
|
|
897
|
+
var _ref4 = lastModal || {},
|
|
898
|
+
_ref4$id = _ref4.id,
|
|
899
|
+
lastModalId = _ref4$id === void 0 ? null : _ref4$id;
|
|
900
|
+
var newModals = currentModals.filter(function (_ref5) {
|
|
901
|
+
var modalId = _ref5.id;
|
|
902
|
+
return modalId !== lastModalId;
|
|
903
|
+
});
|
|
904
|
+
setModals(newModals);
|
|
905
|
+
modalsRef.current = newModals;
|
|
906
|
+
}
|
|
907
|
+
}, [modals, setModals]);
|
|
889
908
|
var value = React.useMemo(function () {
|
|
890
909
|
return {
|
|
891
910
|
modals: modals,
|
|
892
911
|
container: container,
|
|
893
912
|
setContainer: setContainer,
|
|
894
913
|
register: register,
|
|
895
|
-
unregister: unregister
|
|
914
|
+
unregister: unregister,
|
|
915
|
+
closeLastModal: closeLastModal
|
|
896
916
|
};
|
|
897
|
-
}, [modals, container, setContainer, register, unregister]);
|
|
917
|
+
}, [modals, container, setContainer, register, unregister, closeLastModal]);
|
|
898
918
|
return /*#__PURE__*/React.createElement(ModalContext.Provider, {
|
|
899
919
|
value: value
|
|
900
920
|
}, children);
|
|
@@ -1098,11 +1118,13 @@ var ResourceProvider = function ResourceProvider(_ref) {
|
|
|
1098
1118
|
ResourceProvider.propTypes = propTypes$2;
|
|
1099
1119
|
ResourceProvider.defaultProps = defaultProps$2;
|
|
1100
1120
|
|
|
1101
|
-
// React.useInsertionEffect is not available in React <18
|
|
1102
1121
|
var useEffect = React__namespace.useEffect,
|
|
1103
1122
|
useLayoutEffect = React__namespace.useLayoutEffect,
|
|
1104
|
-
useRef = React__namespace.useRef
|
|
1105
|
-
|
|
1123
|
+
useRef = React__namespace.useRef;
|
|
1124
|
+
|
|
1125
|
+
// React.useInsertionEffect is not available in React <18
|
|
1126
|
+
// This hack fixes a transpilation issue on some apps
|
|
1127
|
+
var useBuiltinInsertionEffect = React__namespace['useInsertion' + 'Effect'];
|
|
1106
1128
|
|
|
1107
1129
|
// Copied from:
|
|
1108
1130
|
// https://github.com/facebook/react/blob/main/packages/shared/ExecutionEnvironment.js
|
package/lib/hooks.js
CHANGED
|
@@ -823,6 +823,38 @@ var useItemSelection = function useItemSelection(_ref) {
|
|
|
823
823
|
};
|
|
824
824
|
var useItemSelection$1 = useItemSelection;
|
|
825
825
|
|
|
826
|
+
var KEYCODES = {
|
|
827
|
+
ARROW_LEFT: 37,
|
|
828
|
+
ARROW_UP: 38,
|
|
829
|
+
ARROW_RIGHT: 39,
|
|
830
|
+
ARROW_DOWN: 40,
|
|
831
|
+
ESCAPE: 27,
|
|
832
|
+
SPACE: 32
|
|
833
|
+
};
|
|
834
|
+
var useKeyboardKeys = function useKeyboardKeys() {
|
|
835
|
+
var keys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
836
|
+
var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
|
837
|
+
_ref$eventName = _ref.eventName,
|
|
838
|
+
eventName = _ref$eventName === void 0 ? 'keydown' : _ref$eventName;
|
|
839
|
+
var keysNames = Object.keys(keys);
|
|
840
|
+
var keysListeners = keysNames.map(function (key) {
|
|
841
|
+
return keys[key];
|
|
842
|
+
});
|
|
843
|
+
react.useEffect(function () {
|
|
844
|
+
var onKeyDown = function onKeyDown(e) {
|
|
845
|
+
var keyCode = e.keyCode;
|
|
846
|
+
if (typeof keys[keyCode] !== 'undefined') {
|
|
847
|
+
keys[keyCode](e);
|
|
848
|
+
}
|
|
849
|
+
};
|
|
850
|
+
document.addEventListener(eventName, onKeyDown);
|
|
851
|
+
return function () {
|
|
852
|
+
document.removeEventListener(eventName, onKeyDown);
|
|
853
|
+
};
|
|
854
|
+
}, [].concat(keysNames, _toConsumableArray(keysListeners), [eventName]));
|
|
855
|
+
};
|
|
856
|
+
var useKeyboardKeys$1 = useKeyboardKeys;
|
|
857
|
+
|
|
826
858
|
var fontsMap = {
|
|
827
859
|
loading: [],
|
|
828
860
|
active: []
|
|
@@ -1375,6 +1407,7 @@ var eventsManager = typeof window !== 'undefined' ? new core.EventsManager(windo
|
|
|
1375
1407
|
var useWindowEvent = utils.createUseEvent(eventsManager);
|
|
1376
1408
|
var useWindowEvent$1 = useWindowEvent;
|
|
1377
1409
|
|
|
1410
|
+
exports.KEYCODES = KEYCODES;
|
|
1378
1411
|
exports.getObserver = getObserver;
|
|
1379
1412
|
exports.useActions = useActions$1;
|
|
1380
1413
|
exports.useAnimationFrame = useAnimationFrame$1;
|
|
@@ -1385,6 +1418,7 @@ exports.useFormattedTime = useFormattedTime;
|
|
|
1385
1418
|
exports.useIntersectionObserver = useIntersectionObserver;
|
|
1386
1419
|
exports.useIsVisible = useIsVisible$1;
|
|
1387
1420
|
exports.useItemSelection = useItemSelection$1;
|
|
1421
|
+
exports.useKeyboardKeys = useKeyboardKeys$1;
|
|
1388
1422
|
exports.useLoadedFonts = useLoadedFonts$1;
|
|
1389
1423
|
exports.useMediaApi = useMediaApi$1;
|
|
1390
1424
|
exports.useMediasParser = useMediasParser$1;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@panneau/core",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.169",
|
|
4
4
|
"description": "",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"javascript"
|
|
@@ -106,10 +106,10 @@
|
|
|
106
106
|
"tinycolor2": "^1.4.2",
|
|
107
107
|
"webfontloader": "^1.6.28",
|
|
108
108
|
"wolfy87-eventemitter": "^5.2.9",
|
|
109
|
-
"wouter": "^3.1.
|
|
109
|
+
"wouter": "^3.1.2"
|
|
110
110
|
},
|
|
111
111
|
"publishConfig": {
|
|
112
112
|
"access": "public"
|
|
113
113
|
},
|
|
114
|
-
"gitHead": "
|
|
114
|
+
"gitHead": "a8f4fe4f0b0593485d40e97542c32742242919d4"
|
|
115
115
|
}
|