@elliemae/ds-shuttle-v2 3.11.0-next.5 → 3.11.0-next.7
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/cjs/DSShuttleV2.js +9 -5
- package/dist/cjs/DSShuttleV2.js.map +2 -2
- package/dist/cjs/config/configureAutoCalculated.js +1 -4
- package/dist/cjs/config/configureAutoCalculated.js.map +2 -2
- package/dist/cjs/config/itemMovementHelpers.js +11 -48
- package/dist/cjs/config/itemMovementHelpers.js.map +2 -2
- package/dist/cjs/config/useFocusTracker/useFocusActionTrackers.js +4 -4
- package/dist/cjs/config/useFocusTracker/useFocusActionTrackers.js.map +2 -2
- package/dist/cjs/config/useFocusTracker/useFocusItemTracker.js +59 -27
- package/dist/cjs/config/useFocusTracker/useFocusItemTracker.js.map +2 -2
- package/dist/cjs/config/useFocusTracker/useFocusRegionTrackers.js +10 -2
- package/dist/cjs/config/useFocusTracker/useFocusRegionTrackers.js.map +2 -2
- package/dist/cjs/config/useShuttleV2.js +7 -3
- package/dist/cjs/config/useShuttleV2.js.map +2 -2
- package/dist/cjs/config/useStore/useStore.js +29 -9
- package/dist/cjs/config/useStore/useStore.js.map +2 -2
- package/dist/cjs/constants/index.js +10 -0
- package/dist/cjs/constants/index.js.map +2 -2
- package/dist/cjs/parts/Header.js +3 -3
- package/dist/cjs/parts/Header.js.map +2 -2
- package/dist/cjs/parts/Item/Item.js +7 -4
- package/dist/cjs/parts/Item/Item.js.map +2 -2
- package/dist/cjs/parts/Item/ItemActions/ItemActions.js +5 -8
- package/dist/cjs/parts/Item/ItemActions/ItemActions.js.map +2 -2
- package/dist/cjs/parts/Item/ItemActions/useActionsHandlers.js +45 -0
- package/dist/cjs/parts/Item/ItemActions/useActionsHandlers.js.map +7 -0
- package/dist/cjs/parts/Item/ItemActions/useActionsLogicHandlers.js +75 -0
- package/dist/cjs/parts/Item/ItemActions/useActionsLogicHandlers.js.map +7 -0
- package/dist/cjs/parts/Item/ItemActions/useInnerRefHandlers.js +3 -3
- package/dist/cjs/parts/Item/ItemActions/useInnerRefHandlers.js.map +2 -2
- package/dist/cjs/parts/Item/ItemMiddleSection.js.map +1 -1
- package/dist/cjs/parts/Item/ItemSelection.js.map +1 -1
- package/dist/cjs/parts/Item/useItemArrowNavigation.js.map +2 -2
- package/dist/cjs/parts/Item/useSelectionLogic.js +4 -4
- package/dist/cjs/parts/Item/useSelectionLogic.js.map +2 -2
- package/dist/cjs/parts/MainContent.js.map +1 -1
- package/dist/cjs/parts/Panel/bottom/LoadMoreBtn.js +72 -0
- package/dist/cjs/parts/Panel/bottom/LoadMoreBtn.js.map +7 -0
- package/dist/cjs/parts/Panel/bottom/LoadingMore.js +43 -0
- package/dist/cjs/parts/Panel/bottom/LoadingMore.js.map +7 -0
- package/dist/cjs/parts/Panel/bottom/PanelContentBottomSection.js +80 -0
- package/dist/cjs/parts/Panel/bottom/PanelContentBottomSection.js.map +7 -0
- package/dist/cjs/parts/Panel/bottom/useInnerRefHandlers.js +49 -0
- package/dist/cjs/parts/Panel/bottom/useInnerRefHandlers.js.map +7 -0
- package/dist/cjs/parts/Panel/bottom/useLoadMoreBtnArrowNavigation.js +59 -0
- package/dist/cjs/parts/Panel/bottom/useLoadMoreBtnArrowNavigation.js.map +7 -0
- package/dist/cjs/parts/{EmptyItems.js → Panel/middle/EmptyItems.js} +5 -8
- package/dist/cjs/parts/Panel/middle/EmptyItems.js.map +7 -0
- package/dist/cjs/parts/{ItemListWrapper.js → Panel/middle/ItemListWrapper.js} +30 -14
- package/dist/cjs/parts/Panel/middle/ItemListWrapper.js.map +7 -0
- package/dist/cjs/parts/Panel/middle/LoadingItems.js +46 -0
- package/dist/cjs/parts/Panel/middle/LoadingItems.js.map +7 -0
- package/dist/cjs/parts/{MultipleSelectionAction.js → Panel/middle/MultipleSelectionAction.js} +6 -10
- package/dist/cjs/parts/Panel/middle/MultipleSelectionAction.js.map +7 -0
- package/dist/cjs/parts/Panel/middle/PanelContentMiddleSection.js +69 -0
- package/dist/cjs/parts/Panel/middle/PanelContentMiddleSection.js.map +7 -0
- package/dist/cjs/parts/Panel/top/PanelContentTopSection.js +63 -0
- package/dist/cjs/parts/Panel/top/PanelContentTopSection.js.map +7 -0
- package/dist/cjs/parts/{PanelFilterSection.js → Panel/top/PanelFilterSection.js} +3 -3
- package/dist/cjs/parts/Panel/top/PanelFilterSection.js.map +7 -0
- package/dist/cjs/parts/{SelectionHeader.js → Panel/top/SelectionHeader.js} +6 -6
- package/dist/cjs/parts/Panel/top/SelectionHeader.js.map +7 -0
- package/dist/cjs/parts/PanelWrapper.js +8 -24
- package/dist/cjs/parts/PanelWrapper.js.map +2 -2
- package/dist/cjs/react-desc-prop-types.js +11 -1
- package/dist/cjs/react-desc-prop-types.js.map +2 -2
- package/dist/esm/DSShuttleV2.js +15 -6
- package/dist/esm/DSShuttleV2.js.map +2 -2
- package/dist/esm/config/configureAutoCalculated.js +1 -4
- package/dist/esm/config/configureAutoCalculated.js.map +2 -2
- package/dist/esm/config/itemMovementHelpers.js +12 -49
- package/dist/esm/config/itemMovementHelpers.js.map +2 -2
- package/dist/esm/config/useFocusTracker/useFocusActionTrackers.js +5 -5
- package/dist/esm/config/useFocusTracker/useFocusActionTrackers.js.map +2 -2
- package/dist/esm/config/useFocusTracker/useFocusItemTracker.js +60 -28
- package/dist/esm/config/useFocusTracker/useFocusItemTracker.js.map +2 -2
- package/dist/esm/config/useFocusTracker/useFocusRegionTrackers.js +11 -3
- package/dist/esm/config/useFocusTracker/useFocusRegionTrackers.js.map +2 -2
- package/dist/esm/config/useShuttleV2.js +8 -4
- package/dist/esm/config/useShuttleV2.js.map +2 -2
- package/dist/esm/config/useStore/useStore.js +29 -9
- package/dist/esm/config/useStore/useStore.js.map +2 -2
- package/dist/esm/constants/index.js +10 -0
- package/dist/esm/constants/index.js.map +2 -2
- package/dist/esm/parts/Header.js +4 -4
- package/dist/esm/parts/Header.js.map +2 -2
- package/dist/esm/parts/Item/Item.js +8 -5
- package/dist/esm/parts/Item/Item.js.map +2 -2
- package/dist/esm/parts/Item/ItemActions/ItemActions.js +5 -8
- package/dist/esm/parts/Item/ItemActions/ItemActions.js.map +2 -2
- package/dist/esm/parts/Item/ItemActions/useActionsHandlers.js +19 -0
- package/dist/esm/parts/Item/ItemActions/useActionsHandlers.js.map +7 -0
- package/dist/esm/parts/Item/ItemActions/useActionsLogicHandlers.js +49 -0
- package/dist/esm/parts/Item/ItemActions/useActionsLogicHandlers.js.map +7 -0
- package/dist/esm/parts/Item/ItemActions/useInnerRefHandlers.js +4 -4
- package/dist/esm/parts/Item/ItemActions/useInnerRefHandlers.js.map +2 -2
- package/dist/esm/parts/Item/ItemMiddleSection.js.map +1 -1
- package/dist/esm/parts/Item/ItemSelection.js.map +1 -1
- package/dist/esm/parts/Item/useItemArrowNavigation.js.map +2 -2
- package/dist/esm/parts/Item/useSelectionLogic.js +5 -5
- package/dist/esm/parts/Item/useSelectionLogic.js.map +2 -2
- package/dist/esm/parts/MainContent.js.map +1 -1
- package/dist/esm/parts/Panel/bottom/LoadMoreBtn.js +46 -0
- package/dist/esm/parts/Panel/bottom/LoadMoreBtn.js.map +7 -0
- package/dist/esm/parts/Panel/bottom/LoadingMore.js +17 -0
- package/dist/esm/parts/Panel/bottom/LoadingMore.js.map +7 -0
- package/dist/esm/parts/Panel/bottom/PanelContentBottomSection.js +54 -0
- package/dist/esm/parts/Panel/bottom/PanelContentBottomSection.js.map +7 -0
- package/dist/esm/parts/Panel/bottom/useInnerRefHandlers.js +23 -0
- package/dist/esm/parts/Panel/bottom/useInnerRefHandlers.js.map +7 -0
- package/dist/esm/parts/Panel/bottom/useLoadMoreBtnArrowNavigation.js +33 -0
- package/dist/esm/parts/Panel/bottom/useLoadMoreBtnArrowNavigation.js.map +7 -0
- package/dist/esm/parts/{EmptyItems.js → Panel/middle/EmptyItems.js} +5 -8
- package/dist/esm/parts/Panel/middle/EmptyItems.js.map +7 -0
- package/dist/esm/parts/{ItemListWrapper.js → Panel/middle/ItemListWrapper.js} +30 -14
- package/dist/esm/parts/Panel/middle/ItemListWrapper.js.map +7 -0
- package/dist/esm/parts/Panel/middle/LoadingItems.js +20 -0
- package/dist/esm/parts/Panel/middle/LoadingItems.js.map +7 -0
- package/dist/esm/parts/{MultipleSelectionAction.js → Panel/middle/MultipleSelectionAction.js} +6 -10
- package/dist/esm/parts/Panel/middle/MultipleSelectionAction.js.map +7 -0
- package/dist/esm/parts/Panel/middle/PanelContentMiddleSection.js +43 -0
- package/dist/esm/parts/Panel/middle/PanelContentMiddleSection.js.map +7 -0
- package/dist/esm/parts/Panel/top/PanelContentTopSection.js +37 -0
- package/dist/esm/parts/Panel/top/PanelContentTopSection.js.map +7 -0
- package/dist/esm/parts/{PanelFilterSection.js → Panel/top/PanelFilterSection.js} +3 -3
- package/dist/esm/parts/Panel/top/PanelFilterSection.js.map +7 -0
- package/dist/esm/parts/{SelectionHeader.js → Panel/top/SelectionHeader.js} +6 -6
- package/dist/esm/parts/Panel/top/SelectionHeader.js.map +7 -0
- package/dist/esm/parts/PanelWrapper.js +8 -24
- package/dist/esm/parts/PanelWrapper.js.map +2 -2
- package/dist/esm/react-desc-prop-types.js +12 -5
- package/dist/esm/react-desc-prop-types.js.map +2 -2
- package/package.json +13 -12
- package/dist/cjs/parts/EmptyItems.js.map +0 -7
- package/dist/cjs/parts/ItemListWrapper.js.map +0 -7
- package/dist/cjs/parts/MultipleSelectionAction.js.map +0 -7
- package/dist/cjs/parts/PanelFilterSection.js.map +0 -7
- package/dist/cjs/parts/SelectionHeader.js.map +0 -7
- package/dist/cjs/sharedTypes.js +0 -24
- package/dist/cjs/sharedTypes.js.map +0 -7
- package/dist/esm/parts/EmptyItems.js.map +0 -7
- package/dist/esm/parts/ItemListWrapper.js.map +0 -7
- package/dist/esm/parts/MultipleSelectionAction.js.map +0 -7
- package/dist/esm/parts/PanelFilterSection.js.map +0 -7
- package/dist/esm/parts/SelectionHeader.js.map +0 -7
- package/dist/esm/sharedTypes.js +0 -2
- package/dist/esm/sharedTypes.js.map +0 -7
|
@@ -24,10 +24,14 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
24
24
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
25
25
|
var useStore_exports = {};
|
|
26
26
|
__export(useStore_exports, {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
27
|
+
InternalProvider: () => InternalProvider,
|
|
28
|
+
PropsProvider: () => PropsProvider,
|
|
29
|
+
useInternalStore: () => useInternalStore,
|
|
30
|
+
useInternalStoreApi: () => useInternalStoreApi,
|
|
31
|
+
usePropsStore: () => usePropsStore,
|
|
32
|
+
usePropsStoreApi: () => usePropsStoreApi,
|
|
33
|
+
useShuttleV2InternalStoreConfig: () => useShuttleV2InternalStoreConfig,
|
|
34
|
+
useShuttleV2PropsStoreConfig: () => useShuttleV2PropsStoreConfig
|
|
31
35
|
});
|
|
32
36
|
module.exports = __toCommonJS(useStore_exports);
|
|
33
37
|
var React = __toESM(require("react"));
|
|
@@ -37,7 +41,7 @@ var import_context = __toESM(require("zustand/context"));
|
|
|
37
41
|
var import_ds_utilities = require("@elliemae/ds-utilities");
|
|
38
42
|
var import_react_desc_prop_types = require("../../react-desc-prop-types");
|
|
39
43
|
var import_configureAutoCalculated = require("../configureAutoCalculated");
|
|
40
|
-
const
|
|
44
|
+
const internalStoreCreatorFunc = (propsWithDefaults) => (0, import_zustand.default)((set, get) => {
|
|
41
45
|
const constants = {
|
|
42
46
|
set
|
|
43
47
|
};
|
|
@@ -65,15 +69,31 @@ const storeCreatorFunc = (propsWithDefaults) => (0, import_zustand.default)((set
|
|
|
65
69
|
}
|
|
66
70
|
};
|
|
67
71
|
return {
|
|
68
|
-
...propsWithDefaults,
|
|
69
72
|
...constants,
|
|
70
73
|
...internalAtoms,
|
|
71
74
|
...(0, import_configureAutoCalculated.configureAutoCalculated)(propsWithDefaults)
|
|
72
75
|
};
|
|
73
76
|
});
|
|
74
|
-
const
|
|
75
|
-
|
|
77
|
+
const propsStoreCreatorFunc = (propsWithDefaults) => (0, import_zustand.default)((set) => ({
|
|
78
|
+
set,
|
|
79
|
+
...propsWithDefaults
|
|
80
|
+
}));
|
|
81
|
+
const {
|
|
82
|
+
Provider: InternalProvider,
|
|
83
|
+
useStore: useInternalStore,
|
|
84
|
+
useStoreApi: useInternalStoreApi
|
|
85
|
+
} = (0, import_context.default)();
|
|
86
|
+
const {
|
|
87
|
+
Provider: PropsProvider,
|
|
88
|
+
useStore: usePropsStore,
|
|
89
|
+
useStoreApi: usePropsStoreApi
|
|
90
|
+
} = (0, import_context.default)();
|
|
91
|
+
const useShuttleV2InternalStoreConfig = (propsFromUser) => {
|
|
76
92
|
const propsWithDefaults = (0, import_ds_utilities.useMemoMergePropsWithDefault)(propsFromUser, import_react_desc_prop_types.defaultProps);
|
|
77
|
-
return (0, import_react.useCallback)(() =>
|
|
93
|
+
return (0, import_react.useCallback)(() => internalStoreCreatorFunc(propsWithDefaults), [propsWithDefaults]);
|
|
94
|
+
};
|
|
95
|
+
const useShuttleV2PropsStoreConfig = (propsFromUser) => {
|
|
96
|
+
const propsWithDefaults = (0, import_ds_utilities.useMemoMergePropsWithDefault)(propsFromUser, import_react_desc_prop_types.defaultProps);
|
|
97
|
+
return (0, import_react.useCallback)(() => propsStoreCreatorFunc(propsWithDefaults), [propsWithDefaults]);
|
|
78
98
|
};
|
|
79
99
|
//# sourceMappingURL=useStore.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/config/useStore/useStore.ts", "../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["import { useCallback } from 'react';\nimport create, { type StoreApi } from 'zustand';\nimport createContext from 'zustand/context';\n// import { subscribeWithSelector } from 'zustand/middleware';\nimport { useMemoMergePropsWithDefault } from '@elliemae/ds-utilities';\nimport { type DSShuttleV2T, defaultProps } from '../../react-desc-prop-types';\nimport { REGIONS_FOCUSES, ACTIONS_FOCUSES } from '../../constants';\nimport { configureAutoCalculated } from '../configureAutoCalculated';\n\ntype FocusRegion = typeof REGIONS_FOCUSES[keyof typeof REGIONS_FOCUSES];\ntype FocusRegionSetter = (newVal: FocusRegion | ((arg: FocusRegion, store:
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAA4B;AAC5B,qBAAsC;AACtC,qBAA0B;AAE1B,0BAA6C;AAC7C,mCAAgD;AAEhD,qCAAwC;
|
|
4
|
+
"sourcesContent": ["import { useCallback } from 'react';\nimport create, { type StoreApi } from 'zustand';\nimport createContext from 'zustand/context';\n// import { subscribeWithSelector } from 'zustand/middleware';\nimport { useMemoMergePropsWithDefault } from '@elliemae/ds-utilities';\nimport { type DSShuttleV2T, defaultProps } from '../../react-desc-prop-types';\nimport { REGIONS_FOCUSES, ACTIONS_FOCUSES, ITEMS_FOCUSES } from '../../constants';\nimport { configureAutoCalculated } from '../configureAutoCalculated';\n\ntype FocusRegion = typeof REGIONS_FOCUSES[keyof typeof REGIONS_FOCUSES];\ntype FocusRegionSetter = (newVal: FocusRegion | ((arg: FocusRegion, store: InternalStore) => FocusRegion)) => void;\n\ntype FocusItem = Omit<typeof ITEMS_FOCUSES[keyof typeof ITEMS_FOCUSES], 'GET_SPECIFIC_ITEM'> & string;\ntype FocusItemSetter = (newVal: FocusItem | ((arg: FocusItem, store: InternalStore) => FocusItem)) => void;\n\ntype FocusItemAction = typeof ACTIONS_FOCUSES[keyof typeof ACTIONS_FOCUSES];\ntype FocusItemActionSetter = (\n newVal: FocusItemAction | ((arg: FocusItemAction, store: InternalStore) => FocusItemAction),\n) => void;\n\nexport interface InternalAtoms {\n focusRegion: FocusRegion;\n setFocusRegion: FocusRegionSetter;\n focusItem: FocusItem;\n setFocusItem: FocusItemSetter;\n focusItemAction: FocusItemAction;\n setFocusItemAction: FocusItemActionSetter;\n}\nexport interface StoreConstants {\n set: StoreApi<InternalStore>['setState'];\n}\n\nexport interface InternalStore extends InternalAtoms, StoreConstants, ReturnType<typeof configureAutoCalculated> {}\nexport interface PropsStore extends DSShuttleV2T.InternalProps {\n set: StoreApi<PropsStore>['setState'];\n}\n\nconst internalStoreCreatorFunc = (propsWithDefaults: DSShuttleV2T.InternalProps) =>\n create<InternalStore>((set, get) => {\n const constants: StoreConstants = {\n set,\n };\n const internalAtoms: InternalAtoms = {\n focusRegion: '',\n setFocusRegion: (focusRegion) => {\n if (typeof focusRegion === 'function') set({ focusRegion: focusRegion(get().focusRegion, get()) });\n else set({ focusRegion });\n },\n focusItem: '',\n setFocusItem: (focusItem) => {\n if (typeof focusItem === 'function') set({ focusItem: focusItem(get().focusItem, get()) });\n else set({ focusItem });\n },\n focusItemAction: '',\n setFocusItemAction: (focusItemAction) => {\n if (typeof focusItemAction === 'function')\n set({ focusItemAction: focusItemAction(get().focusItemAction, get()) });\n else set({ focusItemAction });\n },\n };\n\n return {\n ...constants,\n ...internalAtoms,\n ...configureAutoCalculated(propsWithDefaults),\n };\n });\nconst propsStoreCreatorFunc = (propsWithDefaults: DSShuttleV2T.InternalProps) =>\n create<PropsStore>((set) => ({\n set,\n ...propsWithDefaults,\n }));\n\nconst {\n Provider: InternalProvider,\n useStore: useInternalStore,\n useStoreApi: useInternalStoreApi,\n} = createContext<ReturnType<typeof internalStoreCreatorFunc>>();\nconst {\n Provider: PropsProvider,\n useStore: usePropsStore,\n useStoreApi: usePropsStoreApi,\n} = createContext<ReturnType<typeof propsStoreCreatorFunc>>();\n\nconst useShuttleV2InternalStoreConfig = (propsFromUser: DSShuttleV2T.Props) => {\n const propsWithDefaults = useMemoMergePropsWithDefault<DSShuttleV2T.InternalProps>(propsFromUser, defaultProps);\n\n return useCallback(() => internalStoreCreatorFunc(propsWithDefaults), [propsWithDefaults]);\n};\nconst useShuttleV2PropsStoreConfig = (propsFromUser: DSShuttleV2T.Props) => {\n const propsWithDefaults = useMemoMergePropsWithDefault<DSShuttleV2T.InternalProps>(propsFromUser, defaultProps);\n\n return useCallback(() => propsStoreCreatorFunc(propsWithDefaults), [propsWithDefaults]);\n};\n\nexport {\n useInternalStore,\n usePropsStore,\n useInternalStoreApi,\n usePropsStoreApi,\n InternalProvider,\n PropsProvider,\n useShuttleV2InternalStoreConfig,\n useShuttleV2PropsStoreConfig,\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAA4B;AAC5B,qBAAsC;AACtC,qBAA0B;AAE1B,0BAA6C;AAC7C,mCAAgD;AAEhD,qCAAwC;AA8BxC,MAAM,2BAA2B,CAAC,0BAChC,eAAAA,SAAsB,CAAC,KAAK,QAAQ;AAClC,QAAM,YAA4B;AAAA,IAChC;AAAA,EACF;AACA,QAAM,gBAA+B;AAAA,IACnC,aAAa;AAAA,IACb,gBAAgB,CAAC,gBAAgB;AAC/B,UAAI,OAAO,gBAAgB;AAAY,YAAI,EAAE,aAAa,YAAY,IAAI,EAAE,aAAa,IAAI,CAAC,EAAE,CAAC;AAAA;AAC5F,YAAI,EAAE,YAAY,CAAC;AAAA,IAC1B;AAAA,IACA,WAAW;AAAA,IACX,cAAc,CAAC,cAAc;AAC3B,UAAI,OAAO,cAAc;AAAY,YAAI,EAAE,WAAW,UAAU,IAAI,EAAE,WAAW,IAAI,CAAC,EAAE,CAAC;AAAA;AACpF,YAAI,EAAE,UAAU,CAAC;AAAA,IACxB;AAAA,IACA,iBAAiB;AAAA,IACjB,oBAAoB,CAAC,oBAAoB;AACvC,UAAI,OAAO,oBAAoB;AAC7B,YAAI,EAAE,iBAAiB,gBAAgB,IAAI,EAAE,iBAAiB,IAAI,CAAC,EAAE,CAAC;AAAA;AACnE,YAAI,EAAE,gBAAgB,CAAC;AAAA,IAC9B;AAAA,EACF;AAEA,SAAO;AAAA,IACL,GAAG;AAAA,IACH,GAAG;AAAA,IACH,OAAG,wDAAwB,iBAAiB;AAAA,EAC9C;AACF,CAAC;AACH,MAAM,wBAAwB,CAAC,0BAC7B,eAAAA,SAAmB,CAAC,SAAS;AAAA,EAC3B;AAAA,EACA,GAAG;AACL,EAAE;AAEJ,MAAM;AAAA,EACJ,UAAU;AAAA,EACV,UAAU;AAAA,EACV,aAAa;AACf,QAAI,eAAAC,SAA2D;AAC/D,MAAM;AAAA,EACJ,UAAU;AAAA,EACV,UAAU;AAAA,EACV,aAAa;AACf,QAAI,eAAAA,SAAwD;AAE5D,MAAM,kCAAkC,CAAC,kBAAsC;AAC7E,QAAM,wBAAoB,kDAAyD,eAAe,yCAAY;AAE9G,aAAO,0BAAY,MAAM,yBAAyB,iBAAiB,GAAG,CAAC,iBAAiB,CAAC;AAC3F;AACA,MAAM,+BAA+B,CAAC,kBAAsC;AAC1E,QAAM,wBAAoB,kDAAyD,eAAe,yCAAY;AAE9G,aAAO,0BAAY,MAAM,sBAAsB,iBAAiB,GAAG,CAAC,iBAAiB,CAAC;AACxF;",
|
|
6
6
|
"names": ["create", "createContext"]
|
|
7
7
|
}
|
|
@@ -25,6 +25,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
25
25
|
var constants_exports = {};
|
|
26
26
|
__export(constants_exports, {
|
|
27
27
|
ACTIONS_FOCUSES: () => ACTIONS_FOCUSES,
|
|
28
|
+
ITEMS_FOCUSES: () => ITEMS_FOCUSES,
|
|
28
29
|
REGIONS_FOCUSES: () => REGIONS_FOCUSES
|
|
29
30
|
});
|
|
30
31
|
module.exports = __toCommonJS(constants_exports);
|
|
@@ -34,10 +35,12 @@ const REGIONS_FOCUSES = {
|
|
|
34
35
|
SOURCE_PANEL: "source-panel",
|
|
35
36
|
SOURCE_PANEL_ITEM: "source-panel-item",
|
|
36
37
|
SOURCE_PANEL_ITEM_MOVE_ALL: "source-panel-move-all",
|
|
38
|
+
SOURCE_BOTTOM: "source-bottom",
|
|
37
39
|
DESTINATION_HEADER: "destination-header",
|
|
38
40
|
DESTINATION_PANEL: "destination-panel",
|
|
39
41
|
DESTINATION_PANEL_ITEM: "destination-panel-item",
|
|
40
42
|
DESTINATION_PANEL_ITEM_MOVE_ALL: "destination-panel-move-all",
|
|
43
|
+
DESTINATION_BOTTOM: "destination-bottom",
|
|
41
44
|
RESET: ""
|
|
42
45
|
};
|
|
43
46
|
const ACTIONS_FOCUSES = {
|
|
@@ -47,4 +50,11 @@ const ACTIONS_FOCUSES = {
|
|
|
47
50
|
PARENT: "parent",
|
|
48
51
|
RESET: ""
|
|
49
52
|
};
|
|
53
|
+
const ITEMS_FOCUSES = {
|
|
54
|
+
FIRST: "first",
|
|
55
|
+
LAST: "last",
|
|
56
|
+
LOAD_MORE_BTN: "load-more-btn",
|
|
57
|
+
GET_SPECIFIC_ITEM: ({ id }) => id,
|
|
58
|
+
RESET: ""
|
|
59
|
+
};
|
|
50
60
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/constants/index.ts", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["export const REGIONS_FOCUSES = {\n SOURCE_HEADER: 'source-header',\n SOURCE_PANEL: 'source-panel',\n SOURCE_PANEL_ITEM: 'source-panel-item',\n SOURCE_PANEL_ITEM_MOVE_ALL: 'source-panel-move-all',\n DESTINATION_HEADER: 'destination-header',\n DESTINATION_PANEL: 'destination-panel',\n DESTINATION_PANEL_ITEM: 'destination-panel-item',\n DESTINATION_PANEL_ITEM_MOVE_ALL: 'destination-panel-move-all',\n RESET: '',\n} as const;\n\nexport const ACTIONS_FOCUSES = {\n MOVE_BTN: 'move-btn',\n DRILLDOWN_BTN: 'drilldown-btn',\n DRAG_N_DROP: 'drag-n-drop',\n PARENT: 'parent',\n RESET: '',\n} as const;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAhB,MAAM,kBAAkB;AAAA,EAC7B,eAAe;AAAA,EACf,cAAc;AAAA,EACd,mBAAmB;AAAA,EACnB,4BAA4B;AAAA,EAC5B,oBAAoB;AAAA,EACpB,mBAAmB;AAAA,EACnB,wBAAwB;AAAA,EACxB,iCAAiC;AAAA,EACjC,OAAO;AACT;AAEO,MAAM,kBAAkB;AAAA,EAC7B,UAAU;AAAA,EACV,eAAe;AAAA,EACf,aAAa;AAAA,EACb,QAAQ;AAAA,EACR,OAAO;AACT;",
|
|
4
|
+
"sourcesContent": ["export const REGIONS_FOCUSES = {\n SOURCE_HEADER: 'source-header',\n SOURCE_PANEL: 'source-panel',\n SOURCE_PANEL_ITEM: 'source-panel-item',\n SOURCE_PANEL_ITEM_MOVE_ALL: 'source-panel-move-all',\n SOURCE_BOTTOM: 'source-bottom',\n DESTINATION_HEADER: 'destination-header',\n DESTINATION_PANEL: 'destination-panel',\n DESTINATION_PANEL_ITEM: 'destination-panel-item',\n DESTINATION_PANEL_ITEM_MOVE_ALL: 'destination-panel-move-all',\n DESTINATION_BOTTOM: 'destination-bottom',\n RESET: '',\n} as const;\n\nexport const ACTIONS_FOCUSES = {\n MOVE_BTN: 'move-btn',\n DRILLDOWN_BTN: 'drilldown-btn',\n DRAG_N_DROP: 'drag-n-drop',\n PARENT: 'parent',\n RESET: '',\n} as const;\n\nexport const ITEMS_FOCUSES = {\n FIRST: 'first',\n LAST: 'last',\n LOAD_MORE_BTN: 'load-more-btn',\n GET_SPECIFIC_ITEM: ({ id }: { id: string }) => id,\n RESET: '',\n} as const;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAhB,MAAM,kBAAkB;AAAA,EAC7B,eAAe;AAAA,EACf,cAAc;AAAA,EACd,mBAAmB;AAAA,EACnB,4BAA4B;AAAA,EAC5B,eAAe;AAAA,EACf,oBAAoB;AAAA,EACpB,mBAAmB;AAAA,EACnB,wBAAwB;AAAA,EACxB,iCAAiC;AAAA,EACjC,oBAAoB;AAAA,EACpB,OAAO;AACT;AAEO,MAAM,kBAAkB;AAAA,EAC7B,UAAU;AAAA,EACV,eAAe;AAAA,EACf,aAAa;AAAA,EACb,QAAQ;AAAA,EACR,OAAO;AACT;AAEO,MAAM,gBAAgB;AAAA,EAC3B,OAAO;AAAA,EACP,MAAM;AAAA,EACN,eAAe;AAAA,EACf,mBAAmB,CAAC,EAAE,GAAG,MAAsB;AAAA,EAC/C,OAAO;AACT;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/cjs/parts/Header.js
CHANGED
|
@@ -41,11 +41,11 @@ const StyledIconButton = (0, import_ds_system.styled)(import_ds_button.DSButtonV
|
|
|
41
41
|
height: 16px;
|
|
42
42
|
`;
|
|
43
43
|
const Header = import_react.default.memo(({ isDestinationPanel }) => {
|
|
44
|
-
const HeaderRenderer = (0, import_useStore.
|
|
45
|
-
const onSearchBarOpen = (0, import_useStore.
|
|
44
|
+
const HeaderRenderer = (0, import_useStore.usePropsStore)((state) => isDestinationPanel ? state.DestinationHeader : state.SourceHeader);
|
|
45
|
+
const onSearchBarOpen = (0, import_useStore.usePropsStore)(
|
|
46
46
|
(state) => isDestinationPanel ? state.onDesinationOpenSearchbar : state.onSourceOpenSearchbar
|
|
47
47
|
);
|
|
48
|
-
const isSearchBarOpen = (0, import_useStore.
|
|
48
|
+
const isSearchBarOpen = (0, import_useStore.usePropsStore)(
|
|
49
49
|
(state) => isDestinationPanel ? state.destinationShowSearchbar : state.sourceShowSearchbar
|
|
50
50
|
);
|
|
51
51
|
const { trackFocusRegionHeader, trackFocusItemReset, trackFocusActionReset } = (0, import_useFocusTracker.useFocusTracker)();
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/parts/Header.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["import React from 'react';\nimport { Grid } from '@elliemae/ds-grid';\nimport { Search } from '@elliemae/ds-icons';\nimport {\n DSButtonV2,\n // BUTTON_SIZES\n} from '@elliemae/ds-button';\nimport { styled } from '@elliemae/ds-system';\nimport {
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;
|
|
4
|
+
"sourcesContent": ["import React from 'react';\nimport { Grid } from '@elliemae/ds-grid';\nimport { Search } from '@elliemae/ds-icons';\nimport {\n DSButtonV2,\n type DSButtonT,\n // BUTTON_SIZES\n} from '@elliemae/ds-button';\nimport { styled } from '@elliemae/ds-system';\nimport { usePropsStore } from '../config/useStore';\nimport { useFocusTracker } from '../config/useFocusTracker';\nimport { type DSShuttleV2T } from '../react-desc-prop-types';\nconst StyledIconButton = styled(DSButtonV2, { name: 'ds-shuttle-v2', slot: 'header-search-icon' })`\n width: 16px;\n height: 16px;\n`;\nexport const Header = React.memo(({ isDestinationPanel }: DSShuttleV2T.PanelMetaInfo) => {\n const HeaderRenderer = usePropsStore((state) => (isDestinationPanel ? state.DestinationHeader : state.SourceHeader));\n const onSearchBarOpen = usePropsStore((state) =>\n isDestinationPanel ? state.onDesinationOpenSearchbar : state.onSourceOpenSearchbar,\n );\n const isSearchBarOpen = usePropsStore((state) =>\n isDestinationPanel ? state.destinationShowSearchbar : state.sourceShowSearchbar,\n );\n const { trackFocusRegionHeader, trackFocusItemReset, trackFocusActionReset } = useFocusTracker();\n const onHeaderFocus = React.useCallback(() => {\n trackFocusRegionHeader(isDestinationPanel);\n trackFocusItemReset();\n trackFocusActionReset();\n }, [isDestinationPanel, trackFocusActionReset, trackFocusItemReset, trackFocusRegionHeader]);\n\n const handleFilterClick = React.useCallback(\n (event: Parameters<Required<DSButtonT.Props>['onClick']>[0]) => {\n onSearchBarOpen?.(!isSearchBarOpen, { event });\n },\n [isSearchBarOpen, onSearchBarOpen],\n );\n\n const cols = React.useMemo(() => {\n const finalCols = ['1fr'];\n if (onSearchBarOpen) finalCols.push('auto');\n return finalCols;\n }, [onSearchBarOpen]);\n\n return (\n <Grid onFocus={onHeaderFocus} cols={cols}>\n <HeaderRenderer />\n {onSearchBarOpen ? (\n <StyledIconButton buttonType=\"icon\" onClick={handleFilterClick}>\n <Search width=\"14px\" height=\"14px\" />\n </StyledIconButton>\n ) : null}\n </Grid>\n );\n});\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;AD6CnB;AA7CJ,mBAAkB;AAClB,qBAAqB;AACrB,sBAAuB;AACvB,uBAIO;AACP,uBAAuB;AACvB,sBAA8B;AAC9B,6BAAgC;AAEhC,MAAM,uBAAmB,yBAAO,6BAAY,EAAE,MAAM,iBAAiB,MAAM,qBAAqB,CAAC;AAAA;AAAA;AAAA;AAI1F,MAAM,SAAS,aAAAA,QAAM,KAAK,CAAC,EAAE,mBAAmB,MAAkC;AACvF,QAAM,qBAAiB,+BAAc,CAAC,UAAW,qBAAqB,MAAM,oBAAoB,MAAM,YAAa;AACnH,QAAM,sBAAkB;AAAA,IAAc,CAAC,UACrC,qBAAqB,MAAM,4BAA4B,MAAM;AAAA,EAC/D;AACA,QAAM,sBAAkB;AAAA,IAAc,CAAC,UACrC,qBAAqB,MAAM,2BAA2B,MAAM;AAAA,EAC9D;AACA,QAAM,EAAE,wBAAwB,qBAAqB,sBAAsB,QAAI,wCAAgB;AAC/F,QAAM,gBAAgB,aAAAA,QAAM,YAAY,MAAM;AAC5C,2BAAuB,kBAAkB;AACzC,wBAAoB;AACpB,0BAAsB;AAAA,EACxB,GAAG,CAAC,oBAAoB,uBAAuB,qBAAqB,sBAAsB,CAAC;AAE3F,QAAM,oBAAoB,aAAAA,QAAM;AAAA,IAC9B,CAAC,UAA+D;AAC9D,wBAAkB,CAAC,iBAAiB,EAAE,MAAM,CAAC;AAAA,IAC/C;AAAA,IACA,CAAC,iBAAiB,eAAe;AAAA,EACnC;AAEA,QAAM,OAAO,aAAAA,QAAM,QAAQ,MAAM;AAC/B,UAAM,YAAY,CAAC,KAAK;AACxB,QAAI;AAAiB,gBAAU,KAAK,MAAM;AAC1C,WAAO;AAAA,EACT,GAAG,CAAC,eAAe,CAAC;AAEpB,SACE,6CAAC;AAAA,IAAK,SAAS;AAAA,IAAe;AAAA,IAC5B;AAAA,kDAAC,kBAAe;AAAA,MACf,kBACC,4CAAC;AAAA,QAAiB,YAAW;AAAA,QAAO,SAAS;AAAA,QAC3C,sDAAC;AAAA,UAAO,OAAM;AAAA,UAAO,QAAO;AAAA,SAAO;AAAA,OACrC,IACE;AAAA;AAAA,GACN;AAEJ,CAAC;",
|
|
6
6
|
"names": ["React"]
|
|
7
7
|
}
|
|
@@ -33,6 +33,7 @@ var import_react = __toESM(require("react"));
|
|
|
33
33
|
var import_ds_system = require("@elliemae/ds-system");
|
|
34
34
|
var import_ds_grid = require("@elliemae/ds-grid");
|
|
35
35
|
var import_useStore = require("../../config/useStore");
|
|
36
|
+
var import_useFocusTracker = require("../../config/useFocusTracker");
|
|
36
37
|
var import_ItemSelection = require("./ItemSelection");
|
|
37
38
|
var import_ItemActions = require("./ItemActions");
|
|
38
39
|
var import_ItemMiddleSection = require("./ItemMiddleSection");
|
|
@@ -57,9 +58,10 @@ const ItemWrapper = (0, import_ds_system.styled)(import_ds_grid.Grid, { name: "d
|
|
|
57
58
|
`;
|
|
58
59
|
const useInnerRefHandlers = ({ item, isDestinationPanel }) => {
|
|
59
60
|
const { isFirst, isLast } = item;
|
|
60
|
-
const
|
|
61
|
-
const
|
|
62
|
-
const
|
|
61
|
+
const { trackFocusItem } = (0, import_useFocusTracker.useFocusTracker)();
|
|
62
|
+
const focusRegion = (0, import_useStore.useInternalStore)((state) => state.focusRegion);
|
|
63
|
+
const focusItem = (0, import_useStore.useInternalStore)((state) => state.focusItem);
|
|
64
|
+
const focusItemAction = (0, import_useStore.useInternalStore)((state) => state.focusItemAction);
|
|
63
65
|
const currRegion = isDestinationPanel ? import_constants.REGIONS_FOCUSES.DESTINATION_PANEL_ITEM : import_constants.REGIONS_FOCUSES.SOURCE_PANEL_ITEM;
|
|
64
66
|
const currItemId = item.original.id;
|
|
65
67
|
const shouldFocus = import_react.default.useMemo(
|
|
@@ -70,9 +72,10 @@ const useInnerRefHandlers = ({ item, isDestinationPanel }) => {
|
|
|
70
72
|
(node) => {
|
|
71
73
|
if (shouldFocus) {
|
|
72
74
|
node?.focus();
|
|
75
|
+
trackFocusItem(item);
|
|
73
76
|
}
|
|
74
77
|
},
|
|
75
|
-
[shouldFocus]
|
|
78
|
+
[item, shouldFocus, trackFocusItem]
|
|
76
79
|
);
|
|
77
80
|
return import_react.default.useMemo(() => ({ shouldFocus, innerRefHandlerParentItem }), [shouldFocus, innerRefHandlerParentItem]);
|
|
78
81
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/parts/Item/Item.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["import React from 'react';\nimport { styled } from '@elliemae/ds-system';\nimport { Grid } from '@elliemae/ds-grid';\nimport { type DSShuttleV2T } from '../../react-desc-prop-types';\nimport {
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;
|
|
4
|
+
"sourcesContent": ["import React from 'react';\nimport { styled } from '@elliemae/ds-system';\nimport { Grid } from '@elliemae/ds-grid';\nimport { type DSShuttleV2T } from '../../react-desc-prop-types';\nimport { useInternalStore } from '../../config/useStore';\nimport { useFocusTracker } from '../../config/useFocusTracker';\nimport { ItemSelection } from './ItemSelection';\nimport { ItemActions } from './ItemActions';\nimport { ItemMiddleSection } from './ItemMiddleSection';\nimport { useSelectionLogic } from './useSelectionLogic';\nimport { useItemArrowNavigation } from './useItemArrowNavigation';\nimport { REGIONS_FOCUSES } from '../../constants';\n\n// we are using the class-name added via slot for the children `:hover` styling of icon colors\nconst ItemWrapper = styled(Grid, { name: 'ds-shuttle-v2', slot: 'item-wrapper' })`\n min-height: 36px;\n :hover {\n background-color: brand-200;\n .ds-shuttle-v2-item-action-btn-to-source-icon > svg,\n .ds-shuttle-v2-item-action-btn-to-destination-icon > svg,\n .ds-shuttle-v2-item-action-btn-drilldown-icon > svg {\n fill: brand-700;\n }\n }\n :focus {\n outline: 2px solid brand-700;\n outline-offset: -2px;\n }\n border-bottom: 1px solid neutral-100;\n`;\n\nconst useInnerRefHandlers = ({ item, isDestinationPanel }: DSShuttleV2T.ItemMeta) => {\n const { isFirst, isLast } = item;\n const { trackFocusItem } = useFocusTracker();\n const focusRegion = useInternalStore((state) => state.focusRegion);\n const focusItem = useInternalStore((state) => state.focusItem);\n const focusItemAction = useInternalStore((state) => state.focusItemAction);\n const currRegion = isDestinationPanel ? REGIONS_FOCUSES.DESTINATION_PANEL_ITEM : REGIONS_FOCUSES.SOURCE_PANEL_ITEM;\n const currItemId = item.original.id;\n\n const shouldFocus = React.useMemo(\n () =>\n focusRegion === currRegion &&\n focusItemAction === 'parent' &&\n (focusItem === currItemId || (isFirst && focusItem === 'first') || (isLast && focusItem === 'last')),\n [currItemId, currRegion, focusItem, focusItemAction, focusRegion, isFirst, isLast],\n );\n const innerRefHandlerParentItem = React.useCallback(\n (node: HTMLDivElement) => {\n if (shouldFocus) {\n node?.focus();\n trackFocusItem(item); // this converts 'first'/'last' to actual id -> prevents 'last' to focus \"new last\" if new items are added\n }\n },\n [item, shouldFocus, trackFocusItem],\n );\n return React.useMemo(() => ({ shouldFocus, innerRefHandlerParentItem }), [shouldFocus, innerRefHandlerParentItem]);\n};\n\nconst cols = ['5px', '1fr', 'auto'];\nexport const Item = React.memo((itemMeta: DSShuttleV2T.ItemMeta) => {\n const { item } = itemMeta;\n const { original, isSelected } = item;\n const { id } = original;\n\n const selectItem = useSelectionLogic(itemMeta);\n const { onItemContainerKeyDown } = useItemArrowNavigation(itemMeta);\n const handleItemKeyDown: React.KeyboardEventHandler<HTMLDivElement> = React.useCallback(\n (event) => {\n const { key } = event;\n // Spacebar AND ' ' are cross-browser compatibility thing\n if (['Spacebar', ' ', 'Enter'].includes(key)) {\n event.preventDefault();\n event.stopPropagation();\n selectItem(event);\n }\n onItemContainerKeyDown(event);\n },\n [onItemContainerKeyDown, selectItem],\n );\n const { shouldFocus, innerRefHandlerParentItem } = useInnerRefHandlers(itemMeta);\n\n return (\n <ItemWrapper\n cols={cols}\n alignItems=\"center\"\n onClick={selectItem}\n onKeyDown={handleItemKeyDown}\n ref={innerRefHandlerParentItem}\n tabIndex={shouldFocus ? 0 : -1}\n role=\"checkbox\"\n aria-checked={isSelected}\n id={id}\n >\n <ItemSelection {...itemMeta} />\n <ItemMiddleSection {...itemMeta} />\n <ItemActions {...itemMeta} />\n </ItemWrapper>\n );\n});\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADmFnB;AAnFJ,mBAAkB;AAClB,uBAAuB;AACvB,qBAAqB;AAErB,sBAAiC;AACjC,6BAAgC;AAChC,2BAA8B;AAC9B,yBAA4B;AAC5B,+BAAkC;AAClC,+BAAkC;AAClC,oCAAuC;AACvC,uBAAgC;AAGhC,MAAM,kBAAc,yBAAO,qBAAM,EAAE,MAAM,iBAAiB,MAAM,eAAe,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBhF,MAAM,sBAAsB,CAAC,EAAE,MAAM,mBAAmB,MAA6B;AACnF,QAAM,EAAE,SAAS,OAAO,IAAI;AAC5B,QAAM,EAAE,eAAe,QAAI,wCAAgB;AAC3C,QAAM,kBAAc,kCAAiB,CAAC,UAAU,MAAM,WAAW;AACjE,QAAM,gBAAY,kCAAiB,CAAC,UAAU,MAAM,SAAS;AAC7D,QAAM,sBAAkB,kCAAiB,CAAC,UAAU,MAAM,eAAe;AACzE,QAAM,aAAa,qBAAqB,iCAAgB,yBAAyB,iCAAgB;AACjG,QAAM,aAAa,KAAK,SAAS;AAEjC,QAAM,cAAc,aAAAA,QAAM;AAAA,IACxB,MACE,gBAAgB,cAChB,oBAAoB,aACnB,cAAc,cAAe,WAAW,cAAc,WAAa,UAAU,cAAc;AAAA,IAC9F,CAAC,YAAY,YAAY,WAAW,iBAAiB,aAAa,SAAS,MAAM;AAAA,EACnF;AACA,QAAM,4BAA4B,aAAAA,QAAM;AAAA,IACtC,CAAC,SAAyB;AACxB,UAAI,aAAa;AACf,cAAM,MAAM;AACZ,uBAAe,IAAI;AAAA,MACrB;AAAA,IACF;AAAA,IACA,CAAC,MAAM,aAAa,cAAc;AAAA,EACpC;AACA,SAAO,aAAAA,QAAM,QAAQ,OAAO,EAAE,aAAa,0BAA0B,IAAI,CAAC,aAAa,yBAAyB,CAAC;AACnH;AAEA,MAAM,OAAO,CAAC,OAAO,OAAO,MAAM;AAC3B,MAAM,OAAO,aAAAA,QAAM,KAAK,CAAC,aAAoC;AAClE,QAAM,EAAE,KAAK,IAAI;AACjB,QAAM,EAAE,UAAU,WAAW,IAAI;AACjC,QAAM,EAAE,GAAG,IAAI;AAEf,QAAM,iBAAa,4CAAkB,QAAQ;AAC7C,QAAM,EAAE,uBAAuB,QAAI,sDAAuB,QAAQ;AAClE,QAAM,oBAAgE,aAAAA,QAAM;AAAA,IAC1E,CAAC,UAAU;AACT,YAAM,EAAE,IAAI,IAAI;AAEhB,UAAI,CAAC,YAAY,KAAK,OAAO,EAAE,SAAS,GAAG,GAAG;AAC5C,cAAM,eAAe;AACrB,cAAM,gBAAgB;AACtB,mBAAW,KAAK;AAAA,MAClB;AACA,6BAAuB,KAAK;AAAA,IAC9B;AAAA,IACA,CAAC,wBAAwB,UAAU;AAAA,EACrC;AACA,QAAM,EAAE,aAAa,0BAA0B,IAAI,oBAAoB,QAAQ;AAE/E,SACE,6CAAC;AAAA,IACC;AAAA,IACA,YAAW;AAAA,IACX,SAAS;AAAA,IACT,WAAW;AAAA,IACX,KAAK;AAAA,IACL,UAAU,cAAc,IAAI;AAAA,IAC5B,MAAK;AAAA,IACL,gBAAc;AAAA,IACd;AAAA,IAEA;AAAA,kDAAC;AAAA,QAAe,GAAG;AAAA,OAAU;AAAA,MAC7B,4CAAC;AAAA,QAAmB,GAAG;AAAA,OAAU;AAAA,MACjC,4CAAC;AAAA,QAAa,GAAG;AAAA,OAAU;AAAA;AAAA,GAC7B;AAEJ,CAAC;",
|
|
6
6
|
"names": ["React"]
|
|
7
7
|
}
|
|
@@ -34,7 +34,7 @@ var import_ds_system = require("@elliemae/ds-system");
|
|
|
34
34
|
var import_ds_grid = require("@elliemae/ds-grid");
|
|
35
35
|
var import_ds_button = require("@elliemae/ds-button");
|
|
36
36
|
var import_ds_icons = require("@elliemae/ds-icons");
|
|
37
|
-
var
|
|
37
|
+
var import_useActionsHandlers = require("./useActionsHandlers");
|
|
38
38
|
var import_useInnerRefHandlers = require("./useInnerRefHandlers");
|
|
39
39
|
const StyledItemActions = (0, import_ds_system.styled)(import_ds_grid.Grid, { name: "ds-shuttle-v2", slot: "item-actions-wrapper" })``;
|
|
40
40
|
const StyledItemActionWrapper = (0, import_ds_system.styled)(import_ds_grid.Grid, { name: "ds-shuttle-v2", slot: "item-action-wrapper" })``;
|
|
@@ -59,16 +59,13 @@ const StyledArrowShortRightIcon = (0, import_ds_system.styled)(import_ds_icons.A
|
|
|
59
59
|
name: "ds-shuttle-v2",
|
|
60
60
|
slot: "item-action-btn-to-destination-icon"
|
|
61
61
|
})``;
|
|
62
|
-
const actionsCols = [
|
|
63
|
-
"20px",
|
|
64
|
-
"20px"
|
|
65
|
-
];
|
|
62
|
+
const actionsCols = ["20px", "20px"];
|
|
66
63
|
const ItemActions = import_react.default.memo((itemMeta) => {
|
|
67
64
|
const { item, isDestinationPanel } = itemMeta;
|
|
68
65
|
const { original, withActions } = item;
|
|
69
66
|
const { preventDrilldown, preventMove } = original;
|
|
70
67
|
const { shouldFocusDrilldown, shouldFocusMove, innerRefHandlerDrilldown, innerRefHandlerMove } = (0, import_useInnerRefHandlers.useInnerRefHandlers)(itemMeta);
|
|
71
|
-
const {
|
|
68
|
+
const { handleClickDrilldown, handleClickSingleMove } = (0, import_useActionsHandlers.useActionsHandlers)(itemMeta);
|
|
72
69
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(StyledItemActions, {
|
|
73
70
|
cols: actionsCols,
|
|
74
71
|
gutter: "xxs",
|
|
@@ -80,7 +77,7 @@ const ItemActions = import_react.default.memo((itemMeta) => {
|
|
|
80
77
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(StyledItemActionWrapper, {
|
|
81
78
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(StyledButton, {
|
|
82
79
|
buttonType: "icon",
|
|
83
|
-
onClick:
|
|
80
|
+
onClick: handleClickDrilldown,
|
|
84
81
|
size: import_ds_button.BUTTON_SIZES.S,
|
|
85
82
|
innerRef: innerRefHandlerDrilldown,
|
|
86
83
|
tabIndex: shouldFocusDrilldown && !preventDrilldown ? 0 : -1,
|
|
@@ -94,7 +91,7 @@ const ItemActions = import_react.default.memo((itemMeta) => {
|
|
|
94
91
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(StyledItemActionWrapper, {
|
|
95
92
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(StyledButton, {
|
|
96
93
|
buttonType: "icon",
|
|
97
|
-
onClick:
|
|
94
|
+
onClick: handleClickSingleMove,
|
|
98
95
|
size: import_ds_button.BUTTON_SIZES.S,
|
|
99
96
|
innerRef: innerRefHandlerMove,
|
|
100
97
|
tabIndex: shouldFocusMove && !preventMove ? 0 : -1,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/parts/Item/ItemActions/ItemActions.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["import React from 'react';\nimport { styled } from '@elliemae/ds-system';\nimport { Grid } from '@elliemae/ds-grid';\nimport { DSButtonV2, BUTTON_SIZES } from '@elliemae/ds-button';\nimport { ArrowShortReturn, ArrowShortRight, CloseMedium } from '@elliemae/ds-icons';\
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;
|
|
4
|
+
"sourcesContent": ["import React from 'react';\nimport { styled } from '@elliemae/ds-system';\nimport { Grid } from '@elliemae/ds-grid';\nimport { DSButtonV2, BUTTON_SIZES } from '@elliemae/ds-button';\nimport { ArrowShortReturn, ArrowShortRight, CloseMedium } from '@elliemae/ds-icons';\nimport { type DSShuttleV2T } from '../../../react-desc-prop-types';\nimport { useActionsHandlers } from './useActionsHandlers';\nimport { useInnerRefHandlers } from './useInnerRefHandlers';\n\nconst StyledItemActions = styled(Grid, { name: 'ds-shuttle-v2', slot: 'item-actions-wrapper' })``;\nconst StyledItemActionWrapper = styled(Grid, { name: 'ds-shuttle-v2', slot: 'item-action-wrapper' })``;\nconst StyledButton = styled(DSButtonV2, { name: 'ds-shuttle-v2', slot: 'item-action-btn' })`\n height: 22px !important;\n svg {\n fill: brand-600;\n }\n :disabled svg {\n fill: neutral-200 !important;\n }\n`;\nconst StyledDrilldownIcon = styled(ArrowShortReturn, {\n name: 'ds-shuttle-v2',\n slot: 'item-action-btn-drilldown-icon',\n})``;\nconst StyledCloseMediumIcon = styled(CloseMedium, {\n name: 'ds-shuttle-v2',\n slot: 'item-action-btn-to-source-icon',\n})``;\nconst StyledArrowShortRightIcon = styled(ArrowShortRight, {\n name: 'ds-shuttle-v2',\n slot: 'item-action-btn-to-destination-icon',\n})``;\n\nconst actionsCols = ['20px', '20px'];\n\nexport const ItemActions = React.memo((itemMeta: DSShuttleV2T.ItemMeta) => {\n const { item, isDestinationPanel } = itemMeta;\n // withActions is calculated in /src/config/configureAutoCalculated.ts\n const { original, withActions } = item;\n const { preventDrilldown, preventMove } = original;\n const { shouldFocusDrilldown, shouldFocusMove, innerRefHandlerDrilldown, innerRefHandlerMove } =\n useInnerRefHandlers(itemMeta);\n const { handleClickDrilldown, handleClickSingleMove } = useActionsHandlers(itemMeta);\n\n return (\n <StyledItemActions cols={actionsCols} gutter=\"xxs\" pl=\"xs\" pr=\"xxs\" alignItems=\"center\">\n {withActions ? (\n <>\n <StyledItemActionWrapper>\n <StyledButton\n buttonType=\"icon\"\n onClick={handleClickDrilldown}\n size={BUTTON_SIZES.S}\n innerRef={innerRefHandlerDrilldown}\n tabIndex={shouldFocusDrilldown && !preventDrilldown ? 0 : -1}\n disabled={preventDrilldown === true}\n >\n <StyledDrilldownIcon width=\"20px\" height=\"20px\" />\n </StyledButton>\n </StyledItemActionWrapper>\n <StyledItemActionWrapper>\n <StyledButton\n buttonType=\"icon\"\n onClick={handleClickSingleMove}\n size={BUTTON_SIZES.S}\n innerRef={innerRefHandlerMove}\n tabIndex={shouldFocusMove && !preventMove ? 0 : -1}\n disabled={preventMove === true}\n >\n {isDestinationPanel ? (\n <StyledCloseMediumIcon width=\"20px\" height=\"20px\" />\n ) : (\n <StyledArrowShortRightIcon width=\"20px\" height=\"20px\" />\n )}\n </StyledButton>\n </StyledItemActionWrapper>\n </>\n ) : (\n // this is a place-holder used for mantainting the grid spacing\n <>\n <div />\n <div />\n </>\n )}\n </StyledItemActions>\n );\n});\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;AD+Cf;AA/CR,mBAAkB;AAClB,uBAAuB;AACvB,qBAAqB;AACrB,uBAAyC;AACzC,sBAA+D;AAE/D,gCAAmC;AACnC,iCAAoC;AAEpC,MAAM,wBAAoB,yBAAO,qBAAM,EAAE,MAAM,iBAAiB,MAAM,uBAAuB,CAAC;AAC9F,MAAM,8BAA0B,yBAAO,qBAAM,EAAE,MAAM,iBAAiB,MAAM,sBAAsB,CAAC;AACnG,MAAM,mBAAe,yBAAO,6BAAY,EAAE,MAAM,iBAAiB,MAAM,kBAAkB,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAS1F,MAAM,0BAAsB,yBAAO,kCAAkB;AAAA,EACnD,MAAM;AAAA,EACN,MAAM;AACR,CAAC;AACD,MAAM,4BAAwB,yBAAO,6BAAa;AAAA,EAChD,MAAM;AAAA,EACN,MAAM;AACR,CAAC;AACD,MAAM,gCAA4B,yBAAO,iCAAiB;AAAA,EACxD,MAAM;AAAA,EACN,MAAM;AACR,CAAC;AAED,MAAM,cAAc,CAAC,QAAQ,MAAM;AAE5B,MAAM,cAAc,aAAAA,QAAM,KAAK,CAAC,aAAoC;AACzE,QAAM,EAAE,MAAM,mBAAmB,IAAI;AAErC,QAAM,EAAE,UAAU,YAAY,IAAI;AAClC,QAAM,EAAE,kBAAkB,YAAY,IAAI;AAC1C,QAAM,EAAE,sBAAsB,iBAAiB,0BAA0B,oBAAoB,QAC3F,gDAAoB,QAAQ;AAC9B,QAAM,EAAE,sBAAsB,sBAAsB,QAAI,8CAAmB,QAAQ;AAEnF,SACE,4CAAC;AAAA,IAAkB,MAAM;AAAA,IAAa,QAAO;AAAA,IAAM,IAAG;AAAA,IAAK,IAAG;AAAA,IAAM,YAAW;AAAA,IAC5E,wBACC;AAAA,MACE;AAAA,oDAAC;AAAA,UACC,sDAAC;AAAA,YACC,YAAW;AAAA,YACX,SAAS;AAAA,YACT,MAAM,8BAAa;AAAA,YACnB,UAAU;AAAA,YACV,UAAU,wBAAwB,CAAC,mBAAmB,IAAI;AAAA,YAC1D,UAAU,qBAAqB;AAAA,YAE/B,sDAAC;AAAA,cAAoB,OAAM;AAAA,cAAO,QAAO;AAAA,aAAO;AAAA,WAClD;AAAA,SACF;AAAA,QACA,4CAAC;AAAA,UACC,sDAAC;AAAA,YACC,YAAW;AAAA,YACX,SAAS;AAAA,YACT,MAAM,8BAAa;AAAA,YACnB,UAAU;AAAA,YACV,UAAU,mBAAmB,CAAC,cAAc,IAAI;AAAA,YAChD,UAAU,gBAAgB;AAAA,YAEzB,+BACC,4CAAC;AAAA,cAAsB,OAAM;AAAA,cAAO,QAAO;AAAA,aAAO,IAElD,4CAAC;AAAA,cAA0B,OAAM;AAAA,cAAO,QAAO;AAAA,aAAO;AAAA,WAE1D;AAAA,SACF;AAAA;AAAA,KACF,IAGA;AAAA,MACE;AAAA,oDAAC,SAAI;AAAA,QACL,4CAAC,SAAI;AAAA;AAAA,KACP;AAAA,GAEJ;AAEJ,CAAC;",
|
|
6
6
|
"names": ["React"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
22
|
+
mod
|
|
23
|
+
));
|
|
24
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
25
|
+
var useActionsHandlers_exports = {};
|
|
26
|
+
__export(useActionsHandlers_exports, {
|
|
27
|
+
useActionsHandlers: () => useActionsHandlers
|
|
28
|
+
});
|
|
29
|
+
module.exports = __toCommonJS(useActionsHandlers_exports);
|
|
30
|
+
var React = __toESM(require("react"));
|
|
31
|
+
var import_react = __toESM(require("react"));
|
|
32
|
+
var import_useActionsLogicHandlers = require("./useActionsLogicHandlers");
|
|
33
|
+
const useActionsHandlers = (itemMeta) => {
|
|
34
|
+
const { handleDrilldown, handleSingleMove } = (0, import_useActionsLogicHandlers.useActionsLogicHandlers)(itemMeta);
|
|
35
|
+
const handleClickDrilldown = import_react.default.useCallback(handleDrilldown, [handleDrilldown]);
|
|
36
|
+
const handleClickSingleMove = import_react.default.useCallback(handleSingleMove, [handleSingleMove]);
|
|
37
|
+
return import_react.default.useMemo(
|
|
38
|
+
() => ({
|
|
39
|
+
handleClickDrilldown,
|
|
40
|
+
handleClickSingleMove
|
|
41
|
+
}),
|
|
42
|
+
[handleClickDrilldown, handleClickSingleMove]
|
|
43
|
+
);
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=useActionsHandlers.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/parts/Item/ItemActions/useActionsHandlers.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
+
"sourcesContent": ["import React from 'react';\nimport { type DSButtonT } from '@elliemae/ds-button';\nimport { type DSShuttleV2T } from '../../../react-desc-prop-types';\nimport { useActionsLogicHandlers } from './useActionsLogicHandlers';\n\nexport const useActionsHandlers = (itemMeta: DSShuttleV2T.ItemMeta) => {\n const { handleDrilldown, handleSingleMove } = useActionsLogicHandlers(itemMeta);\n const handleClickDrilldown: DSButtonT.Props['onClick'] = React.useCallback(handleDrilldown, [handleDrilldown]);\n const handleClickSingleMove: DSButtonT.Props['onClick'] = React.useCallback(handleSingleMove, [handleSingleMove]);\n\n return React.useMemo(\n () => ({\n handleClickDrilldown,\n handleClickSingleMove,\n }),\n [handleClickDrilldown, handleClickSingleMove],\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAkB;AAGlB,qCAAwC;AAEjC,MAAM,qBAAqB,CAAC,aAAoC;AACrE,QAAM,EAAE,iBAAiB,iBAAiB,QAAI,wDAAwB,QAAQ;AAC9E,QAAM,uBAAmD,aAAAA,QAAM,YAAY,iBAAiB,CAAC,eAAe,CAAC;AAC7G,QAAM,wBAAoD,aAAAA,QAAM,YAAY,kBAAkB,CAAC,gBAAgB,CAAC;AAEhH,SAAO,aAAAA,QAAM;AAAA,IACX,OAAO;AAAA,MACL;AAAA,MACA;AAAA,IACF;AAAA,IACA,CAAC,sBAAsB,qBAAqB;AAAA,EAC9C;AACF;",
|
|
6
|
+
"names": ["React"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
22
|
+
mod
|
|
23
|
+
));
|
|
24
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
25
|
+
var useActionsLogicHandlers_exports = {};
|
|
26
|
+
__export(useActionsLogicHandlers_exports, {
|
|
27
|
+
useActionsLogicHandlers: () => useActionsLogicHandlers
|
|
28
|
+
});
|
|
29
|
+
module.exports = __toCommonJS(useActionsLogicHandlers_exports);
|
|
30
|
+
var React = __toESM(require("react"));
|
|
31
|
+
var import_react = __toESM(require("react"));
|
|
32
|
+
var import_useStore = require("../../../config/useStore");
|
|
33
|
+
var import_itemMovementHelpers = require("../../../config/itemMovementHelpers");
|
|
34
|
+
const useActionsLogicHandlers = (itemMeta) => {
|
|
35
|
+
const { item, isDestinationPanel } = itemMeta;
|
|
36
|
+
const currData = (0, import_useStore.usePropsStore)((state) => isDestinationPanel ? state.destinationData : state.sourceData);
|
|
37
|
+
const currWithSoftDelete = (0, import_useStore.usePropsStore)(
|
|
38
|
+
(state) => isDestinationPanel ? state.destinationWithSoftDelete : state.sourceWithSoftDelete
|
|
39
|
+
);
|
|
40
|
+
const currOnChange = (0, import_useStore.usePropsStore)(
|
|
41
|
+
(state) => isDestinationPanel ? state.onDestinationChange : state.onSourceChange
|
|
42
|
+
);
|
|
43
|
+
const currDrilldown = (0, import_useStore.usePropsStore)(
|
|
44
|
+
(state) => isDestinationPanel ? state.onDestinationDrilldown : state.onSourceDrilldown
|
|
45
|
+
);
|
|
46
|
+
const otherData = (0, import_useStore.usePropsStore)((state) => isDestinationPanel ? state.sourceData : state.destinationData);
|
|
47
|
+
const otherPanelOnChange = (0, import_useStore.usePropsStore)(
|
|
48
|
+
(state) => isDestinationPanel ? state.onSourceChange : state.onDestinationChange
|
|
49
|
+
);
|
|
50
|
+
const handleDrilldown = import_react.default.useCallback(
|
|
51
|
+
(event) => {
|
|
52
|
+
event.preventDefault();
|
|
53
|
+
event.stopPropagation();
|
|
54
|
+
currDrilldown(item.original, { event });
|
|
55
|
+
},
|
|
56
|
+
[currDrilldown, item]
|
|
57
|
+
);
|
|
58
|
+
const handleSingleMove = import_react.default.useCallback(
|
|
59
|
+
(event) => {
|
|
60
|
+
event.preventDefault();
|
|
61
|
+
event.stopPropagation();
|
|
62
|
+
const { newCurrData, newOtherData } = (0, import_itemMovementHelpers.getNewDatasWithItemMoved)({
|
|
63
|
+
item: item.original,
|
|
64
|
+
currData,
|
|
65
|
+
currWithSoftDelete,
|
|
66
|
+
otherData
|
|
67
|
+
});
|
|
68
|
+
currOnChange(newCurrData, { item: item.original, event });
|
|
69
|
+
otherPanelOnChange(newOtherData, { item: item.original, event });
|
|
70
|
+
},
|
|
71
|
+
[currData, currOnChange, currWithSoftDelete, item, otherData, otherPanelOnChange]
|
|
72
|
+
);
|
|
73
|
+
return import_react.default.useMemo(() => ({ handleDrilldown, handleSingleMove }), [handleDrilldown, handleSingleMove]);
|
|
74
|
+
};
|
|
75
|
+
//# sourceMappingURL=useActionsLogicHandlers.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/parts/Item/ItemActions/useActionsLogicHandlers.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
+
"sourcesContent": ["import React from 'react';\nimport { type DSShuttleV2T } from '../../../react-desc-prop-types';\nimport { usePropsStore } from '../../../config/useStore';\nimport { getNewDatasWithItemMoved } from '../../../config/itemMovementHelpers';\n\nexport const useActionsLogicHandlers = (itemMeta: DSShuttleV2T.ItemMeta) => {\n const { item, isDestinationPanel } = itemMeta;\n\n const currData = usePropsStore((state) => (isDestinationPanel ? state.destinationData : state.sourceData));\n const currWithSoftDelete = usePropsStore((state) =>\n isDestinationPanel ? state.destinationWithSoftDelete : state.sourceWithSoftDelete,\n );\n const currOnChange = usePropsStore((state) =>\n isDestinationPanel ? state.onDestinationChange : state.onSourceChange,\n );\n const currDrilldown = usePropsStore((state) =>\n isDestinationPanel ? state.onDestinationDrilldown : state.onSourceDrilldown,\n );\n\n const otherData = usePropsStore((state) => (isDestinationPanel ? state.sourceData : state.destinationData));\n const otherPanelOnChange = usePropsStore((state) =>\n isDestinationPanel ? state.onSourceChange : state.onDestinationChange,\n );\n\n const handleDrilldown = React.useCallback(\n (event: React.MouseEvent<HTMLButtonElement> | React.KeyboardEvent<HTMLButtonElement>) => {\n event.preventDefault();\n event.stopPropagation();\n currDrilldown(item.original, { event });\n },\n [currDrilldown, item],\n );\n\n const handleSingleMove = React.useCallback(\n (event: React.MouseEvent<HTMLButtonElement> | React.KeyboardEvent<HTMLButtonElement>) => {\n event.preventDefault();\n event.stopPropagation();\n const { newCurrData, newOtherData } = getNewDatasWithItemMoved({\n item: item.original,\n currData,\n currWithSoftDelete,\n otherData,\n });\n\n currOnChange(newCurrData, { item: item.original, event });\n otherPanelOnChange(newOtherData, { item: item.original, event });\n },\n [currData, currOnChange, currWithSoftDelete, item, otherData, otherPanelOnChange],\n );\n return React.useMemo(() => ({ handleDrilldown, handleSingleMove }), [handleDrilldown, handleSingleMove]);\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAkB;AAElB,sBAA8B;AAC9B,iCAAyC;AAElC,MAAM,0BAA0B,CAAC,aAAoC;AAC1E,QAAM,EAAE,MAAM,mBAAmB,IAAI;AAErC,QAAM,eAAW,+BAAc,CAAC,UAAW,qBAAqB,MAAM,kBAAkB,MAAM,UAAW;AACzG,QAAM,yBAAqB;AAAA,IAAc,CAAC,UACxC,qBAAqB,MAAM,4BAA4B,MAAM;AAAA,EAC/D;AACA,QAAM,mBAAe;AAAA,IAAc,CAAC,UAClC,qBAAqB,MAAM,sBAAsB,MAAM;AAAA,EACzD;AACA,QAAM,oBAAgB;AAAA,IAAc,CAAC,UACnC,qBAAqB,MAAM,yBAAyB,MAAM;AAAA,EAC5D;AAEA,QAAM,gBAAY,+BAAc,CAAC,UAAW,qBAAqB,MAAM,aAAa,MAAM,eAAgB;AAC1G,QAAM,yBAAqB;AAAA,IAAc,CAAC,UACxC,qBAAqB,MAAM,iBAAiB,MAAM;AAAA,EACpD;AAEA,QAAM,kBAAkB,aAAAA,QAAM;AAAA,IAC5B,CAAC,UAAwF;AACvF,YAAM,eAAe;AACrB,YAAM,gBAAgB;AACtB,oBAAc,KAAK,UAAU,EAAE,MAAM,CAAC;AAAA,IACxC;AAAA,IACA,CAAC,eAAe,IAAI;AAAA,EACtB;AAEA,QAAM,mBAAmB,aAAAA,QAAM;AAAA,IAC7B,CAAC,UAAwF;AACvF,YAAM,eAAe;AACrB,YAAM,gBAAgB;AACtB,YAAM,EAAE,aAAa,aAAa,QAAI,qDAAyB;AAAA,QAC7D,MAAM,KAAK;AAAA,QACX;AAAA,QACA;AAAA,QACA;AAAA,MACF,CAAC;AAED,mBAAa,aAAa,EAAE,MAAM,KAAK,UAAU,MAAM,CAAC;AACxD,yBAAmB,cAAc,EAAE,MAAM,KAAK,UAAU,MAAM,CAAC;AAAA,IACjE;AAAA,IACA,CAAC,UAAU,cAAc,oBAAoB,MAAM,WAAW,kBAAkB;AAAA,EAClF;AACA,SAAO,aAAAA,QAAM,QAAQ,OAAO,EAAE,iBAAiB,iBAAiB,IAAI,CAAC,iBAAiB,gBAAgB,CAAC;AACzG;",
|
|
6
|
+
"names": ["React"]
|
|
7
|
+
}
|
|
@@ -32,9 +32,9 @@ var import_react = __toESM(require("react"));
|
|
|
32
32
|
var import_useStore = require("../../../config/useStore");
|
|
33
33
|
var import_constants = require("../../../constants");
|
|
34
34
|
const useInnerRefHandlers = ({ item, isDestinationPanel }) => {
|
|
35
|
-
const focusRegion = (0, import_useStore.
|
|
36
|
-
const focusItem = (0, import_useStore.
|
|
37
|
-
const focusItemAction = (0, import_useStore.
|
|
35
|
+
const focusRegion = (0, import_useStore.useInternalStore)((state) => state.focusRegion);
|
|
36
|
+
const focusItem = (0, import_useStore.useInternalStore)((state) => state.focusItem);
|
|
37
|
+
const focusItemAction = (0, import_useStore.useInternalStore)((state) => state.focusItemAction);
|
|
38
38
|
const currRegion = isDestinationPanel ? import_constants.REGIONS_FOCUSES.DESTINATION_PANEL_ITEM : import_constants.REGIONS_FOCUSES.SOURCE_PANEL_ITEM;
|
|
39
39
|
const currItemId = item.original.id;
|
|
40
40
|
const { shouldFocusDrilldown, shouldFocusMove } = import_react.default.useMemo(
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/parts/Item/ItemActions/useInnerRefHandlers.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["import React from 'react';\nimport { type DSShuttleV2T } from '../../../react-desc-prop-types';\nimport {
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAkB;AAElB,
|
|
4
|
+
"sourcesContent": ["import React from 'react';\nimport { type DSShuttleV2T } from '../../../react-desc-prop-types';\nimport { useInternalStore } from '../../../config/useStore';\nimport { REGIONS_FOCUSES, ACTIONS_FOCUSES } from '../../../constants';\n\nexport const useInnerRefHandlers = ({ item, isDestinationPanel }: DSShuttleV2T.ItemMeta) => {\n const focusRegion = useInternalStore((state) => state.focusRegion);\n const focusItem = useInternalStore((state) => state.focusItem);\n const focusItemAction = useInternalStore((state) => state.focusItemAction);\n const currRegion = isDestinationPanel ? REGIONS_FOCUSES.DESTINATION_PANEL_ITEM : REGIONS_FOCUSES.SOURCE_PANEL_ITEM;\n const currItemId = item.original.id;\n const { shouldFocusDrilldown, shouldFocusMove } = React.useMemo(\n () => ({\n shouldFocusDrilldown:\n focusItem === currItemId && focusRegion === currRegion && focusItemAction === ACTIONS_FOCUSES.DRILLDOWN_BTN,\n shouldFocusMove:\n focusItem === currItemId && focusRegion === currRegion && focusItemAction === ACTIONS_FOCUSES.MOVE_BTN,\n }),\n [currItemId, currRegion, focusItem, focusItemAction, focusRegion],\n );\n const innerRefHandlerDrilldown = React.useCallback(\n (node: HTMLButtonElement) => {\n if (shouldFocusDrilldown) node?.focus();\n },\n [shouldFocusDrilldown],\n );\n const innerRefHandlerMove = React.useCallback(\n (node: HTMLButtonElement) => {\n if (shouldFocusMove) node?.focus();\n },\n [shouldFocusMove],\n );\n return React.useMemo(\n () => ({ shouldFocusDrilldown, shouldFocusMove, innerRefHandlerDrilldown, innerRefHandlerMove }),\n [innerRefHandlerDrilldown, innerRefHandlerMove, shouldFocusDrilldown, shouldFocusMove],\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAkB;AAElB,sBAAiC;AACjC,uBAAiD;AAE1C,MAAM,sBAAsB,CAAC,EAAE,MAAM,mBAAmB,MAA6B;AAC1F,QAAM,kBAAc,kCAAiB,CAAC,UAAU,MAAM,WAAW;AACjE,QAAM,gBAAY,kCAAiB,CAAC,UAAU,MAAM,SAAS;AAC7D,QAAM,sBAAkB,kCAAiB,CAAC,UAAU,MAAM,eAAe;AACzE,QAAM,aAAa,qBAAqB,iCAAgB,yBAAyB,iCAAgB;AACjG,QAAM,aAAa,KAAK,SAAS;AACjC,QAAM,EAAE,sBAAsB,gBAAgB,IAAI,aAAAA,QAAM;AAAA,IACtD,OAAO;AAAA,MACL,sBACE,cAAc,cAAc,gBAAgB,cAAc,oBAAoB,iCAAgB;AAAA,MAChG,iBACE,cAAc,cAAc,gBAAgB,cAAc,oBAAoB,iCAAgB;AAAA,IAClG;AAAA,IACA,CAAC,YAAY,YAAY,WAAW,iBAAiB,WAAW;AAAA,EAClE;AACA,QAAM,2BAA2B,aAAAA,QAAM;AAAA,IACrC,CAAC,SAA4B;AAC3B,UAAI;AAAsB,cAAM,MAAM;AAAA,IACxC;AAAA,IACA,CAAC,oBAAoB;AAAA,EACvB;AACA,QAAM,sBAAsB,aAAAA,QAAM;AAAA,IAChC,CAAC,SAA4B;AAC3B,UAAI;AAAiB,cAAM,MAAM;AAAA,IACnC;AAAA,IACA,CAAC,eAAe;AAAA,EAClB;AACA,SAAO,aAAAA,QAAM;AAAA,IACX,OAAO,EAAE,sBAAsB,iBAAiB,0BAA0B,oBAAoB;AAAA,IAC9F,CAAC,0BAA0B,qBAAqB,sBAAsB,eAAe;AAAA,EACvF;AACF;",
|
|
6
6
|
"names": ["React"]
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/parts/Item/ItemMiddleSection.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["import React from 'react';\nimport { styled } from '@elliemae/ds-system';\nimport { Grid } from '@elliemae/ds-grid';\nimport { DSTypography } from '@elliemae/ds-typography';\nimport { type DSShuttleV2T } from '../../react-desc-prop-types';\n\nconst IconWrapper = styled(Grid, { name: 'ds-shuttle-v2', slot: 'item-icon-wrapper' })`\n min-height: 1rem;\n`;\nconst LabelWrapper = styled(Grid, { name: 'ds-shuttle-v2', slot: 'item-label-wrapper' })`\n min-height: 1rem;\n`;\nconst MidSection = styled(Grid, { name: 'ds-shuttle-v2', slot: 'item-midsection-wrapper' })`\n min-height: 1rem;\n ${(props) => {\n if (props.$softDeleted)\n return `\n color: ${props.theme.colors.neutral[500]};\n svg {\n fill: ${props.theme.colors.neutral[400]};\n }\n `;\n return '';\n }};\n`;\nconst customMidSectionCols = ['1fr'];\nconst customMidSectionRows = ['1fr'];\n\nconst withSubtitleRows = ['auto', 'auto'];\nconst TextSection = React.memo((props: DSShuttleV2T.ItemMeta) => {\n const { label, subtitle } = props.item.original;\n if (subtitle === undefined)\n return (\n <LabelWrapper alignItems=\"center\">\n <DSTypography variant=\"b1\">{label}</DSTypography>\n </LabelWrapper>\n );\n return (\n <Grid alignItems=\"center\" rows={withSubtitleRows} gutter=\"1px\">\n <DSTypography variant=\"b1\">{label}</DSTypography>\n <DSTypography variant=\"b4\">{subtitle}</DSTypography>\n </Grid>\n );\n});\n\nexport const ItemMiddleSection = React.memo((itemMeta: DSShuttleV2T.ItemMeta) => {\n const { item } = itemMeta;\n const { original } = item;\n const { Icon, CustomRenderer, softDeleted } = original;\n const cols = React.useMemo(() => {\n // if CustomRenderer is defined, shortcircuit\n if (CustomRenderer) return [];\n const dynamicCols = [];\n if (Icon) dynamicCols.push('auto');\n dynamicCols.push('1fr');\n return dynamicCols;\n }, [CustomRenderer, Icon]);\n\n if (CustomRenderer)\n return (\n <MidSection cols={customMidSectionCols} rows={customMidSectionRows} $softDeleted={softDeleted}>\n <CustomRenderer {...itemMeta} />\n </MidSection>\n );\n\n return (\n <MidSection cols={cols} alignItems=\"center\" ml=\"xxs\" $softDeleted={softDeleted}>\n {Icon ? (\n <IconWrapper alignItems=\"center\" mr=\"xxs\">\n <Icon {...itemMeta} />\n </IconWrapper>\n ) : null}\n <TextSection {...itemMeta} />\n </MidSection>\n );\n});\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADkCf;AAlCR,mBAAkB;AAClB,uBAAuB;AACvB,qBAAqB;AACrB,2BAA6B;AAG7B,MAAM,kBAAc,yBAAO,qBAAM,EAAE,MAAM,iBAAiB,MAAM,oBAAoB,CAAC;AAAA;AAAA;AAGrF,MAAM,mBAAe,yBAAO,qBAAM,EAAE,MAAM,iBAAiB,MAAM,qBAAqB,CAAC;AAAA;AAAA;AAGvF,MAAM,iBAAa,yBAAO,qBAAM,EAAE,MAAM,iBAAiB,MAAM,0BAA0B,CAAC;AAAA;AAAA,IAEtF,CAAC,UAAU;AACX,MAAI,MAAM;AACR,WAAO;AAAA,eACE,MAAM,MAAM,OAAO,QAAQ;AAAA;AAAA,gBAE1B,MAAM,MAAM,OAAO,QAAQ;AAAA;AAAA;AAGvC,SAAO;AACT;AAAA;AAEF,MAAM,uBAAuB,CAAC,KAAK;AACnC,MAAM,uBAAuB,CAAC,KAAK;AAEnC,MAAM,mBAAmB,CAAC,QAAQ,MAAM;AACxC,MAAM,cAAc,aAAAA,QAAM,KAAK,CAAC,UAAiC;AAC/D,QAAM,EAAE,OAAO,SAAS,IAAI,MAAM,KAAK;AACvC,MAAI,aAAa;AACf,WACE,4CAAC;AAAA,MAAa,YAAW;AAAA,MACvB,sDAAC;AAAA,QAAa,SAAQ;AAAA,QAAM;AAAA,OAAM;AAAA,KACpC;AAEJ,SACE,6CAAC;AAAA,IAAK,YAAW;AAAA,IAAS,MAAM;AAAA,IAAkB,QAAO;AAAA,IACvD;AAAA,kDAAC;AAAA,QAAa,SAAQ;AAAA,QAAM;AAAA,OAAM;AAAA,MAClC,4CAAC;AAAA,QAAa,SAAQ;AAAA,QAAM;AAAA,OAAS;AAAA;AAAA,GACvC;AAEJ,CAAC;AAEM,MAAM,oBAAoB,aAAAA,QAAM,KAAK,CAAC,aAAoC;AAC/E,QAAM,EAAE,KAAK,IAAI;AACjB,QAAM,EAAE,SAAS,IAAI;AACrB,QAAM,EAAE,MAAM,gBAAgB,YAAY,IAAI;AAC9C,QAAM,OAAO,aAAAA,QAAM,QAAQ,MAAM;AAE/B,QAAI;AAAgB,aAAO,CAAC;AAC5B,UAAM,cAAc,CAAC;AACrB,QAAI;AAAM,kBAAY,KAAK,MAAM;AACjC,gBAAY,KAAK,KAAK;AACtB,WAAO;AAAA,EACT,GAAG,CAAC,gBAAgB,IAAI,CAAC;AAEzB,MAAI;AACF,WACE,4CAAC;AAAA,MAAW,MAAM;AAAA,MAAsB,MAAM;AAAA,MAAsB,cAAc;AAAA,MAChF,sDAAC;AAAA,QAAgB,GAAG;AAAA,OAAU;AAAA,KAChC;AAGJ,SACE,6CAAC;AAAA,IAAW;AAAA,IAAY,YAAW;AAAA,IAAS,IAAG;AAAA,IAAM,cAAc;AAAA,IAChE;AAAA,aACC,4CAAC;AAAA,QAAY,YAAW;AAAA,QAAS,IAAG;AAAA,QAClC,sDAAC;AAAA,UAAM,GAAG;AAAA,SAAU;AAAA,OACtB,IACE;AAAA,MACJ,4CAAC;AAAA,QAAa,GAAG;AAAA,OAAU;AAAA;AAAA,GAC7B;AAEJ,CAAC;",
|
|
6
6
|
"names": ["React"]
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/parts/Item/ItemSelection.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["import React from 'react';\nimport { styled } from '@elliemae/ds-system';\nimport { Grid } from '@elliemae/ds-grid';\nimport { type DSShuttleV2T } from '../../react-desc-prop-types';\n\n// border-right: ${(props) => {\n// if (props.$selectionPrevented === true) return `1px solid ${props.theme.colors.neutral['200']}`;\n// return '';\n// }};\n// border-bottom: ${(props) => {\n// if (props.$selectionPrevented === true) return `1px solid ${props.theme.colors.neutral['200']}`;\n// return '';\n// }};\n\nconst StyledItemSelection = styled(Grid, { name: 'ds-shuttle-v2', slot: 'item-selection' })<{\n $isSelected: boolean;\n $selectionPrevented?: boolean;\n}>`\n width: 5px;\n height: 100%;\n box-sizing: border-box;\n background-color: ${(props) => {\n if (props.$isSelected) return props.theme.colors.brand[600];\n if (props.$selectionPrevented === true) return props.theme.colors.neutral['080'];\n return props.theme.colors.brand[300];\n }};\n`;\n\nexport const ItemSelection = React.memo(({ item: { isSelected, selectionPrevented } }: DSShuttleV2T.ItemMeta) => (\n <StyledItemSelection $isSelected={isSelected} $selectionPrevented={selectionPrevented} />\n));\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;AD6BrB;AA7BF,mBAAkB;AAClB,uBAAuB;AACvB,qBAAqB;AAYrB,MAAM,0BAAsB,yBAAO,qBAAM,EAAE,MAAM,iBAAiB,MAAM,iBAAiB,CAAC;AAAA;AAAA;AAAA;AAAA,sBAOpE,CAAC,UAAU;AAC7B,MAAI,MAAM;AAAa,WAAO,MAAM,MAAM,OAAO,MAAM;AACvD,MAAI,MAAM,wBAAwB;AAAM,WAAO,MAAM,MAAM,OAAO,QAAQ;AAC1E,SAAO,MAAM,MAAM,OAAO,MAAM;AAClC;AAAA;AAGK,MAAM,gBAAgB,aAAAA,QAAM,KAAK,CAAC,EAAE,MAAM,EAAE,YAAY,mBAAmB,EAAE,MAClF,4CAAC;AAAA,EAAoB,aAAa;AAAA,EAAY,qBAAqB;AAAA,CAAoB,CACxF;",
|
|
6
6
|
"names": ["React"]
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/parts/Item/useItemArrowNavigation.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable complexity */\nimport React from 'react';\
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,mBAAkB;
|
|
4
|
+
"sourcesContent": ["/* eslint-disable complexity */\nimport React from 'react';\nimport { useFocusItemTracker, useFocusActionTrackers } from '../../config/useFocusTracker';\nimport { type DSShuttleV2T } from '../../react-desc-prop-types';\n\nexport const useItemArrowNavigation = (itemMeta: DSShuttleV2T.ItemMeta) => {\n const { mutableFocusItem, trackFocusPrevItem, trackFocusNextItem, trackFocusItem } = useFocusItemTracker();\n const { trackFocusNextAction, trackFocusPrevAction, trackFocusActionParent } = useFocusActionTrackers();\n const { item } = itemMeta;\n const { isFirst, isLast } = item;\n\n const onItemContainerKeyDown = React.useCallback<React.KeyboardEventHandler<HTMLDivElement>>(\n (e) => {\n const { key } = e;\n // stopping prepagation it's required to avoid \"ArrowUp/ArrowDown\" to trigger parents logic\n // preventDefault it's just me thinking it's good idea when stopping propagation\n if (['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].includes(key)) e.preventDefault();\n if (['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].includes(key)) e.stopPropagation();\n if (key === 'ArrowLeft') {\n if ((mutableFocusItem.current === 'first' && isFirst) || (mutableFocusItem.current === 'last' && isLast)) {\n trackFocusItem(item);\n }\n trackFocusPrevAction(itemMeta);\n }\n if (key === 'ArrowRight') {\n if ((mutableFocusItem.current === 'first' && isFirst) || (mutableFocusItem.current === 'last' && isLast)) {\n trackFocusItem(item);\n }\n trackFocusNextAction(itemMeta);\n }\n if (key === 'ArrowUp') {\n trackFocusPrevItem(itemMeta);\n trackFocusActionParent();\n }\n if (key === 'ArrowDown') {\n trackFocusNextItem(itemMeta);\n trackFocusActionParent();\n }\n },\n [\n mutableFocusItem,\n isFirst,\n isLast,\n trackFocusPrevAction,\n itemMeta,\n trackFocusItem,\n item,\n trackFocusNextAction,\n trackFocusPrevItem,\n trackFocusActionParent,\n trackFocusNextItem,\n ],\n );\n\n return React.useMemo(() => ({ onItemContainerKeyDown }), [onItemContainerKeyDown]);\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,mBAAkB;AAClB,6BAA4D;AAGrD,MAAM,yBAAyB,CAAC,aAAoC;AACzE,QAAM,EAAE,kBAAkB,oBAAoB,oBAAoB,eAAe,QAAI,4CAAoB;AACzG,QAAM,EAAE,sBAAsB,sBAAsB,uBAAuB,QAAI,+CAAuB;AACtG,QAAM,EAAE,KAAK,IAAI;AACjB,QAAM,EAAE,SAAS,OAAO,IAAI;AAE5B,QAAM,yBAAyB,aAAAA,QAAM;AAAA,IACnC,CAAC,MAAM;AACL,YAAM,EAAE,IAAI,IAAI;AAGhB,UAAI,CAAC,WAAW,aAAa,aAAa,YAAY,EAAE,SAAS,GAAG;AAAG,UAAE,eAAe;AACxF,UAAI,CAAC,WAAW,aAAa,aAAa,YAAY,EAAE,SAAS,GAAG;AAAG,UAAE,gBAAgB;AACzF,UAAI,QAAQ,aAAa;AACvB,YAAK,iBAAiB,YAAY,WAAW,WAAa,iBAAiB,YAAY,UAAU,QAAS;AACxG,yBAAe,IAAI;AAAA,QACrB;AACA,6BAAqB,QAAQ;AAAA,MAC/B;AACA,UAAI,QAAQ,cAAc;AACxB,YAAK,iBAAiB,YAAY,WAAW,WAAa,iBAAiB,YAAY,UAAU,QAAS;AACxG,yBAAe,IAAI;AAAA,QACrB;AACA,6BAAqB,QAAQ;AAAA,MAC/B;AACA,UAAI,QAAQ,WAAW;AACrB,2BAAmB,QAAQ;AAC3B,+BAAuB;AAAA,MACzB;AACA,UAAI,QAAQ,aAAa;AACvB,2BAAmB,QAAQ;AAC3B,+BAAuB;AAAA,MACzB;AAAA,IACF;AAAA,IACA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAEA,SAAO,aAAAA,QAAM,QAAQ,OAAO,EAAE,uBAAuB,IAAI,CAAC,sBAAsB,CAAC;AACnF;",
|
|
6
6
|
"names": ["React"]
|
|
7
7
|
}
|