@flowerforce/flower-react 4.0.5-beta.0 → 4.0.7-beta.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/dist/index.cjs.js +81 -25
- package/dist/index.esm.js +70 -10
- package/dist/src/features/reducer/flowerReducer.d.ts +4 -3
- package/dist/src/index.d.ts +2 -2
- package/dist/src/provider/createSliceWithFlower.d.ts +2 -0
- package/dist/src/provider/createStoreWithFlower.d.ts +8 -0
- package/dist/src/provider/index.d.ts +2 -0
- package/dist/src/provider/provider.d.ts +3 -7
- package/dist/src/types/middlewares.d.ts +16 -0
- package/package.json +5 -5
package/dist/index.cjs.js
CHANGED
@@ -6,9 +6,10 @@ var flowerCore = require('@flowerforce/flower-core');
|
|
6
6
|
var flowerReactContext = require('@flowerforce/flower-react-context');
|
7
7
|
var _get = require('lodash/get');
|
8
8
|
var toolkit = require('@reduxjs/toolkit');
|
9
|
-
var reselect = require('reselect');
|
10
9
|
var flowerReactStore = require('@flowerforce/flower-react-store');
|
10
|
+
var reselect = require('reselect');
|
11
11
|
var flowerReactShared = require('@flowerforce/flower-react-shared');
|
12
|
+
var set = require('lodash/set');
|
12
13
|
|
13
14
|
// eslint-disable-next-line import/prefer-default-export
|
14
15
|
const convertElements = (nodes) => {
|
@@ -26,6 +27,10 @@ const flowerFlowReducer = flowerReducer.reducer;
|
|
26
27
|
const reducerFlower = {
|
27
28
|
[flowerCore.REDUCER_NAME.FLOWER_FLOW]: flowerFlowReducer
|
28
29
|
};
|
30
|
+
const flowerReducers = {
|
31
|
+
...reducerFlower,
|
32
|
+
...flowerReactStore.reducerData
|
33
|
+
};
|
29
34
|
|
30
35
|
const { selectGlobal, selectGlobalData } = flowerCore.FlowerCoreStateSelectors;
|
31
36
|
const selectFlower = (name) => reselect.createSelector(selectGlobal, flowerCore.FlowerCoreStateSelectors.selectFlower(name));
|
@@ -50,7 +55,7 @@ reselect.createSelector(selectGlobalData, flowerCore.FlowerStateUtils.getAllData
|
|
50
55
|
*/
|
51
56
|
const FlowerClient = ({ children, name, destroyOnUnmount = true, startId = null, initialState = {}, initialData }) => {
|
52
57
|
const flowName = name;
|
53
|
-
const dispatch = flowerReactStore.
|
58
|
+
const { dispatch, store, useSelector } = flowerReactStore.ReduxFlowerProvider.getReduxHooks();
|
54
59
|
const one = React.useRef(false);
|
55
60
|
const [wsDevtools, setWsDevtools] = React.useState(flowerCore.devtoolState && _get(flowerCore.devtoolState, '__FLOWER_DEVTOOLS_INITIALIZED__', false));
|
56
61
|
// TODO could make that transformation in CoreUtils.generateNodesForFlowerJson
|
@@ -59,12 +64,11 @@ const FlowerClient = ({ children, name, destroyOnUnmount = true, startId = null,
|
|
59
64
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
60
65
|
() => convertElements(React.Children.toArray(children)), [children]);
|
61
66
|
const nodeById = React.useMemo(() => _keyBy(React.Children.toArray(children), 'props.id'), [children]);
|
62
|
-
const isInitialized =
|
63
|
-
const history =
|
64
|
-
const current =
|
65
|
-
const isDisabled =
|
66
|
-
const prevFlowerNodeId =
|
67
|
-
const store = flowerReactStore.useStore();
|
67
|
+
const isInitialized = useSelector(makeSelectStartNodeId(name));
|
68
|
+
const history = useSelector(selectFlowerHistory(name));
|
69
|
+
const current = useSelector(makeSelectCurrentNodeId(flowName));
|
70
|
+
const isDisabled = useSelector(makeSelectCurrentNodeDisabled(flowName));
|
71
|
+
const prevFlowerNodeId = useSelector(makeSelectPrevNodeRetain(flowName));
|
68
72
|
React.useEffect(() => {
|
69
73
|
if (nodes.length > 0 && one.current === false) {
|
70
74
|
one.current = true;
|
@@ -326,12 +330,13 @@ const makeActionPayloadOnRestart = makeActionPayload(ACTION_TYPES.restart, PAYLO
|
|
326
330
|
* @param {string} name - optional parameter, if flowName exist, name is not used
|
327
331
|
*/
|
328
332
|
const useFlower = ({ flowName: customFlowName, name } = {}) => {
|
329
|
-
const dispatch = flowerReactStore.
|
333
|
+
const { store, useSelector, dispatch } = flowerReactStore.ReduxFlowerProvider.getReduxHooks();
|
334
|
+
// const dispatch = useDispatch()
|
330
335
|
const { name: flowNameDefault, initialData } = React.useContext(flowerReactContext.FlowerReactContext);
|
331
|
-
const store =
|
336
|
+
// const store = useStore()
|
332
337
|
const flowName = (customFlowName || name || flowNameDefault);
|
333
|
-
const nodeId =
|
334
|
-
const startId =
|
338
|
+
const nodeId = useSelector(makeSelectCurrentNodeId(flowName ?? ''));
|
339
|
+
const startId = useSelector(makeSelectStartNodeId(flowName ?? ''));
|
335
340
|
const emitNavigateEvent = React.useCallback(
|
336
341
|
//TODO check this function is needed
|
337
342
|
(params) => {
|
@@ -528,7 +533,7 @@ component$3.displayName = 'FlowerNode';
|
|
528
533
|
const FlowerNode = component$3;
|
529
534
|
|
530
535
|
const _FlowerRoute = ({ autostart = true, children, onEnter, onExit }) => {
|
531
|
-
const dispatch = flowerReactStore.
|
536
|
+
const { dispatch } = flowerReactStore.ReduxFlowerProvider.getReduxHooks();
|
532
537
|
const one = React.useRef(false);
|
533
538
|
const { name } = React.useContext(flowerReactContext.FlowerReactContext);
|
534
539
|
React.useEffect(() => {
|
@@ -557,10 +562,10 @@ component$1.displayName = 'FlowerServer';
|
|
557
562
|
const FlowerServer = component$1;
|
558
563
|
|
559
564
|
function _FlowerStart() {
|
560
|
-
const dispatch = flowerReactStore.
|
565
|
+
const { dispatch, useSelector } = flowerReactStore.ReduxFlowerProvider.getReduxHooks();
|
561
566
|
const one = React.useRef(false);
|
562
567
|
const { name, autostart = true, currentNode } = React.useContext(flowerReactContext.FlowerReactContext);
|
563
|
-
const startNodeId =
|
568
|
+
const startNodeId = useSelector(makeSelectStartNodeId(name ?? ''));
|
564
569
|
React.useEffect(() => {
|
565
570
|
if (startNodeId === currentNode && autostart && one.current === false) {
|
566
571
|
one.current = true;
|
@@ -593,17 +598,64 @@ const FlowerProvider = ({ children, enableReduxDevtool, configureStore }) => {
|
|
593
598
|
} }, children));
|
594
599
|
};
|
595
600
|
|
596
|
-
|
597
|
-
|
598
|
-
|
599
|
-
}
|
600
|
-
|
601
|
-
|
602
|
-
|
603
|
-
|
604
|
-
|
601
|
+
/**
|
602
|
+
*
|
603
|
+
* @param {ConfigureStoreOptions} configureStore object to configure store - same structure as redux configureStore options
|
604
|
+
* @param {MiddlewareList} middlewaresBlacklist list of flower middlewares to blacklist
|
605
|
+
* @returns {Store} redux store instance
|
606
|
+
*/
|
607
|
+
const createStoreWithFlower = (configureStore, middlewaresBlacklist) => {
|
608
|
+
if (!configureStore) {
|
609
|
+
return toolkit.configureStore({
|
610
|
+
reducer: toolkit.combineReducers({ ...flowerReactStore.reducerData, ...reducerFlower }),
|
611
|
+
devTools: true
|
612
|
+
});
|
613
|
+
}
|
614
|
+
const { reducer, ...configOptions } = configureStore ?? {};
|
615
|
+
const combinedReducers = toolkit.combineReducers({
|
616
|
+
...flowerReactStore.reducerData,
|
617
|
+
...reducerFlower,
|
618
|
+
...(reducer || {})
|
619
|
+
});
|
620
|
+
const flowerMiddlewares = middlewaresBlacklist && !!middlewaresBlacklist.length
|
621
|
+
? flowerReactStore.middlewares.filter((middleware) => !middlewaresBlacklist.includes(middleware.name))
|
622
|
+
: flowerReactStore.middlewares;
|
623
|
+
return toolkit.configureStore({
|
624
|
+
reducer: combinedReducers,
|
625
|
+
...configOptions,
|
626
|
+
middleware: (getDefaultMiddleware) => getDefaultMiddleware().concat(...flowerMiddlewares, ...(configOptions.middleware ?? []))
|
627
|
+
});
|
628
|
+
};
|
629
|
+
|
630
|
+
// createSlice({
|
631
|
+
// name: "myStore",
|
632
|
+
// initialState: {
|
633
|
+
// gino: 1,
|
634
|
+
// } as Record<string, number>,
|
635
|
+
// reducers: {
|
636
|
+
// add: (state) => ({ ...state, gino: state.gino + 1 }),
|
637
|
+
// },
|
638
|
+
// });
|
639
|
+
const updateAction = (reducerName) => toolkit.createAction(`${reducerName}/flowerUpdateData`);
|
640
|
+
const createSliceWithFlower = (createSliceOptions) => {
|
641
|
+
const { name, reducers } = createSliceOptions;
|
642
|
+
updateAction(name);
|
643
|
+
const slice = toolkit.createSlice({
|
644
|
+
...createSliceOptions,
|
645
|
+
reducers: {
|
646
|
+
...reducers,
|
647
|
+
flowerUpdateData: (state, { payload }) => {
|
648
|
+
const { path, value } = payload;
|
649
|
+
set(state, path, value);
|
650
|
+
}
|
651
|
+
}
|
652
|
+
});
|
653
|
+
return slice;
|
654
|
+
};
|
655
|
+
|
656
|
+
Object.defineProperty(exports, "createApi", {
|
605
657
|
enumerable: true,
|
606
|
-
get: function () { return flowerReactStore.
|
658
|
+
get: function () { return flowerReactStore.createApi; }
|
607
659
|
});
|
608
660
|
exports.Flower = Flower;
|
609
661
|
exports.FlowerAction = FlowerAction;
|
@@ -615,6 +667,10 @@ exports.FlowerProvider = FlowerProvider;
|
|
615
667
|
exports.FlowerRoute = FlowerRoute;
|
616
668
|
exports.FlowerServer = FlowerServer;
|
617
669
|
exports.FlowerStart = FlowerStart;
|
670
|
+
exports.createSliceWithFlower = createSliceWithFlower;
|
671
|
+
exports.createStoreWithFlower = createStoreWithFlower;
|
672
|
+
exports.flowerReducers = flowerReducers;
|
618
673
|
exports.makeSelectData = makeSelectData;
|
674
|
+
exports.reducerFlower = reducerFlower;
|
619
675
|
exports.useFlower = useFlower;
|
620
676
|
exports.useFlowerNavigate = useFlowerNavigate;
|
package/dist/index.esm.js
CHANGED
@@ -3,11 +3,12 @@ import _keyBy from 'lodash/keyBy';
|
|
3
3
|
import { CoreUtils, FlowerCoreBaseReducers, REDUCER_NAME, FlowerCoreStateSelectors, FlowerStateUtils, devtoolState, Emitter } from '@flowerforce/flower-core';
|
4
4
|
import { FlowerReactProvider, FlowerReactContext } from '@flowerforce/flower-react-context';
|
5
5
|
import _get from 'lodash/get';
|
6
|
-
import { createSlice } from '@reduxjs/toolkit';
|
6
|
+
import { createSlice, configureStore, combineReducers, createAction } from '@reduxjs/toolkit';
|
7
|
+
import { reducerData, ReduxFlowerProvider, flowerDataActions, middlewares } from '@flowerforce/flower-react-store';
|
8
|
+
export { createApi } from '@flowerforce/flower-react-store';
|
7
9
|
import { createSelector } from 'reselect';
|
8
|
-
import { useDispatch, useSelector, useStore, flowerDataActions, ReduxFlowerProvider } from '@flowerforce/flower-react-store';
|
9
|
-
export { useDispatch, useSelector, useStore } from '@flowerforce/flower-react-store';
|
10
10
|
import { FlowerRule } from '@flowerforce/flower-react-shared';
|
11
|
+
import set from 'lodash/set';
|
11
12
|
|
12
13
|
// eslint-disable-next-line import/prefer-default-export
|
13
14
|
const convertElements = (nodes) => {
|
@@ -25,6 +26,10 @@ const flowerFlowReducer = flowerReducer.reducer;
|
|
25
26
|
const reducerFlower = {
|
26
27
|
[REDUCER_NAME.FLOWER_FLOW]: flowerFlowReducer
|
27
28
|
};
|
29
|
+
const flowerReducers = {
|
30
|
+
...reducerFlower,
|
31
|
+
...reducerData
|
32
|
+
};
|
28
33
|
|
29
34
|
const { selectGlobal, selectGlobalData } = FlowerCoreStateSelectors;
|
30
35
|
const selectFlower = (name) => createSelector(selectGlobal, FlowerCoreStateSelectors.selectFlower(name));
|
@@ -49,7 +54,7 @@ createSelector(selectGlobalData, FlowerStateUtils.getAllData);
|
|
49
54
|
*/
|
50
55
|
const FlowerClient = ({ children, name, destroyOnUnmount = true, startId = null, initialState = {}, initialData }) => {
|
51
56
|
const flowName = name;
|
52
|
-
const dispatch =
|
57
|
+
const { dispatch, store, useSelector } = ReduxFlowerProvider.getReduxHooks();
|
53
58
|
const one = useRef(false);
|
54
59
|
const [wsDevtools, setWsDevtools] = useState(devtoolState && _get(devtoolState, '__FLOWER_DEVTOOLS_INITIALIZED__', false));
|
55
60
|
// TODO could make that transformation in CoreUtils.generateNodesForFlowerJson
|
@@ -63,7 +68,6 @@ const FlowerClient = ({ children, name, destroyOnUnmount = true, startId = null,
|
|
63
68
|
const current = useSelector(makeSelectCurrentNodeId(flowName));
|
64
69
|
const isDisabled = useSelector(makeSelectCurrentNodeDisabled(flowName));
|
65
70
|
const prevFlowerNodeId = useSelector(makeSelectPrevNodeRetain(flowName));
|
66
|
-
const store = useStore();
|
67
71
|
useEffect(() => {
|
68
72
|
if (nodes.length > 0 && one.current === false) {
|
69
73
|
one.current = true;
|
@@ -325,9 +329,10 @@ const makeActionPayloadOnRestart = makeActionPayload(ACTION_TYPES.restart, PAYLO
|
|
325
329
|
* @param {string} name - optional parameter, if flowName exist, name is not used
|
326
330
|
*/
|
327
331
|
const useFlower = ({ flowName: customFlowName, name } = {}) => {
|
328
|
-
const dispatch =
|
332
|
+
const { store, useSelector, dispatch } = ReduxFlowerProvider.getReduxHooks();
|
333
|
+
// const dispatch = useDispatch()
|
329
334
|
const { name: flowNameDefault, initialData } = useContext(FlowerReactContext);
|
330
|
-
const store = useStore()
|
335
|
+
// const store = useStore()
|
331
336
|
const flowName = (customFlowName || name || flowNameDefault);
|
332
337
|
const nodeId = useSelector(makeSelectCurrentNodeId(flowName ?? ''));
|
333
338
|
const startId = useSelector(makeSelectStartNodeId(flowName ?? ''));
|
@@ -527,7 +532,7 @@ component$3.displayName = 'FlowerNode';
|
|
527
532
|
const FlowerNode = component$3;
|
528
533
|
|
529
534
|
const _FlowerRoute = ({ autostart = true, children, onEnter, onExit }) => {
|
530
|
-
const dispatch =
|
535
|
+
const { dispatch } = ReduxFlowerProvider.getReduxHooks();
|
531
536
|
const one = useRef(false);
|
532
537
|
const { name } = useContext(FlowerReactContext);
|
533
538
|
useEffect(() => {
|
@@ -556,7 +561,7 @@ component$1.displayName = 'FlowerServer';
|
|
556
561
|
const FlowerServer = component$1;
|
557
562
|
|
558
563
|
function _FlowerStart() {
|
559
|
-
const dispatch =
|
564
|
+
const { dispatch, useSelector } = ReduxFlowerProvider.getReduxHooks();
|
560
565
|
const one = useRef(false);
|
561
566
|
const { name, autostart = true, currentNode } = useContext(FlowerReactContext);
|
562
567
|
const startNodeId = useSelector(makeSelectStartNodeId(name ?? ''));
|
@@ -592,4 +597,59 @@ const FlowerProvider = ({ children, enableReduxDevtool, configureStore }) => {
|
|
592
597
|
} }, children));
|
593
598
|
};
|
594
599
|
|
595
|
-
|
600
|
+
/**
|
601
|
+
*
|
602
|
+
* @param {ConfigureStoreOptions} configureStore object to configure store - same structure as redux configureStore options
|
603
|
+
* @param {MiddlewareList} middlewaresBlacklist list of flower middlewares to blacklist
|
604
|
+
* @returns {Store} redux store instance
|
605
|
+
*/
|
606
|
+
const createStoreWithFlower = (configureStore$1, middlewaresBlacklist) => {
|
607
|
+
if (!configureStore$1) {
|
608
|
+
return configureStore({
|
609
|
+
reducer: combineReducers({ ...reducerData, ...reducerFlower }),
|
610
|
+
devTools: true
|
611
|
+
});
|
612
|
+
}
|
613
|
+
const { reducer, ...configOptions } = configureStore$1 ?? {};
|
614
|
+
const combinedReducers = combineReducers({
|
615
|
+
...reducerData,
|
616
|
+
...reducerFlower,
|
617
|
+
...(reducer || {})
|
618
|
+
});
|
619
|
+
const flowerMiddlewares = middlewaresBlacklist && !!middlewaresBlacklist.length
|
620
|
+
? middlewares.filter((middleware) => !middlewaresBlacklist.includes(middleware.name))
|
621
|
+
: middlewares;
|
622
|
+
return configureStore({
|
623
|
+
reducer: combinedReducers,
|
624
|
+
...configOptions,
|
625
|
+
middleware: (getDefaultMiddleware) => getDefaultMiddleware().concat(...flowerMiddlewares, ...(configOptions.middleware ?? []))
|
626
|
+
});
|
627
|
+
};
|
628
|
+
|
629
|
+
// createSlice({
|
630
|
+
// name: "myStore",
|
631
|
+
// initialState: {
|
632
|
+
// gino: 1,
|
633
|
+
// } as Record<string, number>,
|
634
|
+
// reducers: {
|
635
|
+
// add: (state) => ({ ...state, gino: state.gino + 1 }),
|
636
|
+
// },
|
637
|
+
// });
|
638
|
+
const updateAction = (reducerName) => createAction(`${reducerName}/flowerUpdateData`);
|
639
|
+
const createSliceWithFlower = (createSliceOptions) => {
|
640
|
+
const { name, reducers } = createSliceOptions;
|
641
|
+
updateAction(name);
|
642
|
+
const slice = createSlice({
|
643
|
+
...createSliceOptions,
|
644
|
+
reducers: {
|
645
|
+
...reducers,
|
646
|
+
flowerUpdateData: (state, { payload }) => {
|
647
|
+
const { path, value } = payload;
|
648
|
+
set(state, path, value);
|
649
|
+
}
|
650
|
+
}
|
651
|
+
});
|
652
|
+
return slice;
|
653
|
+
};
|
654
|
+
|
655
|
+
export { Flower, FlowerAction, FlowerComponent, FlowerFlow, FlowerNavigate, FlowerNode, FlowerProvider, FlowerRoute, FlowerServer, FlowerStart, createSliceWithFlower, createStoreWithFlower, flowerReducers, makeSelectData, reducerFlower, useFlower, useFlowerNavigate };
|
@@ -1,6 +1,7 @@
|
|
1
|
-
import {
|
1
|
+
import { REDUCER_NAME } from '@flowerforce/flower-core';
|
2
2
|
import { REDUCERS_TYPES } from '@flowerforce/flower-react-store';
|
3
|
-
export declare const flowerReducer: import("@reduxjs/toolkit").Slice<
|
3
|
+
export declare const flowerReducer: import("@reduxjs/toolkit").Slice<{}, import("@flowerforce/flower-core").CoreReducersFunctions, REDUCER_NAME.FLOWER_FLOW, REDUCER_NAME.FLOWER_FLOW, import("@reduxjs/toolkit").SliceSelectors<{}>>;
|
4
4
|
export declare const flowerActions: import("@reduxjs/toolkit").CaseReducerActions<import("@flowerforce/flower-core").CoreReducersFunctions, REDUCER_NAME.FLOWER_FLOW>;
|
5
|
-
export declare const flowerFlowReducer: import("redux").Reducer<
|
5
|
+
export declare const flowerFlowReducer: import("redux").Reducer<{}>;
|
6
6
|
export declare const reducerFlower: REDUCERS_TYPES;
|
7
|
+
export declare const flowerReducers: {};
|
package/dist/src/index.d.ts
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
export * from './components';
|
2
2
|
export * from './provider';
|
3
|
-
export { makeSelectData } from './features';
|
3
|
+
export { makeSelectData, reducerFlower, flowerReducers } from './features';
|
4
4
|
export type * from './types';
|
5
|
-
export {
|
5
|
+
export { createApi } from '@flowerforce/flower-react-store';
|
@@ -0,0 +1,2 @@
|
|
1
|
+
import { CreateSliceOptions, Slice, SliceCaseReducers, SliceSelectors } from '@reduxjs/toolkit';
|
2
|
+
export declare const createSliceWithFlower: <State extends object, CaseReducers extends SliceCaseReducers<State>, Name extends string, Selectors extends SliceSelectors<State>, ReducerPath extends string = Name>(createSliceOptions: CreateSliceOptions<State, CaseReducers, Name, ReducerPath, Selectors>) => Slice<State, CaseReducers, Name, ReducerPath, Selectors>;
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import { CreateStoreWithFlower } from '../types/middlewares';
|
2
|
+
/**
|
3
|
+
*
|
4
|
+
* @param {ConfigureStoreOptions} configureStore object to configure store - same structure as redux configureStore options
|
5
|
+
* @param {MiddlewareList} middlewaresBlacklist list of flower middlewares to blacklist
|
6
|
+
* @returns {Store} redux store instance
|
7
|
+
*/
|
8
|
+
export declare const createStoreWithFlower: CreateStoreWithFlower;
|
@@ -1,11 +1,7 @@
|
|
1
1
|
import React, { PropsWithChildren } from 'react';
|
2
|
-
import { ConfigureStoreOptions
|
3
|
-
export declare const FlowerProvider:
|
4
|
-
configureStore?:
|
5
|
-
reducer?: Reducer<T, UnknownAction> | {
|
6
|
-
[x: string]: Reducer<T, UnknownAction>;
|
7
|
-
};
|
8
|
-
};
|
2
|
+
import { ConfigureStoreOptions } from '@reduxjs/toolkit';
|
3
|
+
export declare const FlowerProvider: ({ children, enableReduxDevtool, configureStore }: PropsWithChildren<{
|
4
|
+
configureStore?: ConfigureStoreOptions;
|
9
5
|
/** @deprecated - uses devTools key from configureStoreOptions instead */
|
10
6
|
enableReduxDevtool?: boolean;
|
11
7
|
}>) => React.JSX.Element;
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import { ConfigureStoreOptions, Store } from '@reduxjs/toolkit';
|
2
|
+
export type MiddlewareList = 'flowerUpdateMiddleware';
|
3
|
+
type Values<T> = T[keyof T];
|
4
|
+
type UniqueTuple<U extends string> = [U] extends [never] ? [] : Values<{
|
5
|
+
[K in U]: [K, ...UniqueTuple<Exclude<U, K>>];
|
6
|
+
}>;
|
7
|
+
export type UniqueMiddlewaresist = UniqueTuple<MiddlewareList>;
|
8
|
+
/**
|
9
|
+
* Generates a Redux store instance with flower reducers injected automatically.
|
10
|
+
*
|
11
|
+
* @param {ConfigureStoreOptions} configureStore - The configuration options for creating the Redux store.
|
12
|
+
* @param {MiddlewareList} middlewaresBlacklist - Blacklist of middlewares we don't want to be integrated
|
13
|
+
* @returns {Store} A configured REdux store instance with flower reducers
|
14
|
+
*/
|
15
|
+
export type CreateStoreWithFlower = (configureStore?: ConfigureStoreOptions, middlewaresBlacklist?: Array<MiddlewareList>) => Store;
|
16
|
+
export {};
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@flowerforce/flower-react",
|
3
|
-
"version": "4.0.
|
3
|
+
"version": "4.0.7-beta.0",
|
4
4
|
"description": "FlowerJS components, hooks and utils for React.",
|
5
5
|
"repository": {
|
6
6
|
"type": "git",
|
@@ -37,10 +37,10 @@
|
|
37
37
|
"typescript": "^5.4.5"
|
38
38
|
},
|
39
39
|
"dependencies": {
|
40
|
-
"@flowerforce/flower-core": "4.0.1-beta.
|
41
|
-
"@flowerforce/flower-react-context": "4.0.1-beta.
|
42
|
-
"@flowerforce/flower-react-store": "4.0.1-beta.
|
43
|
-
"@flowerforce/flower-react-shared": "4.0.
|
40
|
+
"@flowerforce/flower-core": "4.0.1-beta.4",
|
41
|
+
"@flowerforce/flower-react-context": "4.0.1-beta.4",
|
42
|
+
"@flowerforce/flower-react-store": "4.0.1-beta.4",
|
43
|
+
"@flowerforce/flower-react-shared": "4.0.5-beta.0",
|
44
44
|
"lodash": "^4.17.21"
|
45
45
|
},
|
46
46
|
"exports": {
|