@elliemae/ds-shuttle-v2 3.14.0-next.1 → 3.14.0-next.10
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.map +2 -2
- package/dist/cjs/config/DSShuttleV2Definitions.js.map +1 -1
- package/dist/cjs/config/itemMovementHelpers.js +99 -74
- package/dist/cjs/config/itemMovementHelpers.js.map +2 -2
- package/dist/cjs/config/useAutoCalculated/useDataStructure.js +55 -34
- package/dist/cjs/config/useAutoCalculated/useDataStructure.js.map +2 -2
- package/dist/cjs/config/useAutoCalculated/useShuttleVirtualized.js.map +2 -2
- package/dist/cjs/config/useFocusTracker/useFocusActionTrackers.js +6 -6
- package/dist/cjs/config/useFocusTracker/useFocusActionTrackers.js.map +2 -2
- package/dist/cjs/config/useFocusTracker/useFocusItemTracker.js +5 -5
- package/dist/cjs/config/useFocusTracker/useFocusItemTracker.js.map +2 -2
- package/dist/cjs/config/useFocusTracker/useFocusRegionTrackers.js +2 -2
- package/dist/cjs/config/useFocusTracker/useFocusRegionTrackers.js.map +2 -2
- package/dist/cjs/config/useShuttleV2.js +2 -0
- package/dist/cjs/config/useShuttleV2.js.map +2 -2
- package/dist/cjs/config/useStore/createAtomInStore.bak +18 -0
- package/dist/cjs/config/useStore/useStore.js +14 -1
- package/dist/cjs/config/useStore/useStore.js.map +2 -2
- package/dist/cjs/config/{useStore/createAtomInStore.js → useValidateProps.js} +9 -13
- package/dist/cjs/config/useValidateProps.js.map +7 -0
- package/dist/cjs/constants/index.js +3 -1
- package/dist/cjs/constants/index.js.map +2 -2
- package/dist/cjs/parts/Dnd/DndHandle.js +17 -10
- package/dist/cjs/parts/Dnd/DndHandle.js.map +2 -2
- package/dist/cjs/parts/Dnd/DragOverlay.js +47 -0
- package/dist/cjs/parts/Dnd/DragOverlay.js.map +7 -0
- package/dist/cjs/parts/Header.js +5 -5
- package/dist/cjs/parts/Header.js.map +2 -2
- package/dist/cjs/parts/HoC/withConditionalDnDRowContext.js +42 -17
- package/dist/cjs/parts/HoC/withConditionalDnDRowContext.js.map +3 -3
- package/dist/cjs/parts/HoC/withConditionalUseSortable.js +4 -3
- package/dist/cjs/parts/HoC/withConditionalUseSortable.js.map +2 -2
- package/dist/cjs/parts/Item/Item.js +42 -33
- package/dist/cjs/parts/Item/Item.js.map +2 -2
- package/dist/cjs/parts/Item/ItemActions/ItemActions.js +16 -14
- package/dist/cjs/parts/Item/ItemActions/ItemActions.js.map +2 -2
- package/dist/cjs/parts/Item/ItemActions/useActionsHandlers.js +8 -3
- package/dist/cjs/parts/Item/ItemActions/useActionsHandlers.js.map +2 -2
- package/dist/cjs/parts/Item/ItemActions/useActionsLogicHandlers.js +27 -39
- package/dist/cjs/parts/Item/ItemActions/useActionsLogicHandlers.js.map +2 -2
- package/dist/cjs/parts/Item/ItemActions/useInnerRefHandlers.js +2 -2
- package/dist/cjs/parts/Item/ItemActions/useInnerRefHandlers.js.map +2 -2
- package/dist/cjs/parts/Item/ItemMiddleSection.js +21 -22
- package/dist/cjs/parts/Item/ItemMiddleSection.js.map +2 -2
- package/dist/cjs/parts/Item/ItemOverlay.js +15 -7
- package/dist/cjs/parts/Item/ItemOverlay.js.map +2 -2
- package/dist/cjs/parts/Item/ItemSelection.js +3 -1
- package/dist/cjs/parts/Item/ItemSelection.js.map +2 -2
- package/dist/cjs/parts/Item/TextSection.js +50 -0
- package/dist/cjs/parts/Item/TextSection.js.map +7 -0
- package/dist/cjs/parts/Item/useItemArrowNavigation.js +46 -20
- package/dist/cjs/parts/Item/useItemArrowNavigation.js.map +2 -2
- package/dist/cjs/parts/Item/useItemKeyboardSelection.js +57 -0
- package/dist/cjs/parts/Item/useItemKeyboardSelection.js.map +7 -0
- package/dist/cjs/parts/Item/useSelectionLogic.js +64 -21
- package/dist/cjs/parts/Item/useSelectionLogic.js.map +2 -2
- package/dist/cjs/parts/MainContent.js +5 -2
- package/dist/cjs/parts/MainContent.js.map +2 -2
- package/dist/cjs/parts/Panel/bottom/LoadMoreBtn.js +3 -3
- package/dist/cjs/parts/Panel/bottom/LoadMoreBtn.js.map +2 -2
- package/dist/cjs/parts/Panel/bottom/LoadingMore.js +1 -1
- package/dist/cjs/parts/Panel/bottom/LoadingMore.js.map +2 -2
- package/dist/cjs/parts/Panel/bottom/PanelContentBottomSection.js +1 -1
- package/dist/cjs/parts/Panel/bottom/PanelContentBottomSection.js.map +1 -1
- package/dist/cjs/parts/Panel/bottom/useLoadMoreBtnArrowNavigation.js +4 -3
- package/dist/cjs/parts/Panel/bottom/useLoadMoreBtnArrowNavigation.js.map +2 -2
- package/dist/cjs/parts/Panel/middle/{ItemListWrapper.js → ItemListWrapper/Index.js} +25 -19
- package/dist/cjs/parts/Panel/middle/ItemListWrapper/Index.js.map +7 -0
- package/dist/cjs/parts/Panel/middle/ItemListWrapper/getDatumFlags.js +44 -0
- package/dist/cjs/parts/Panel/middle/ItemListWrapper/getDatumFlags.js.map +7 -0
- package/dist/cjs/parts/Panel/middle/ItemListWrapper/useGetDatumHydratables.js +57 -0
- package/dist/cjs/parts/Panel/middle/ItemListWrapper/useGetDatumHydratables.js.map +7 -0
- package/dist/cjs/parts/Panel/middle/MultipleSelectionAction.js +30 -7
- package/dist/cjs/parts/Panel/middle/MultipleSelectionAction.js.map +2 -2
- package/dist/cjs/parts/Panel/middle/PanelContentMiddleSection.js +12 -22
- package/dist/cjs/parts/Panel/middle/PanelContentMiddleSection.js.map +2 -2
- package/dist/cjs/parts/Panel/top/SelectionHeader.js +1 -1
- package/dist/cjs/parts/Panel/top/SelectionHeader.js.map +2 -2
- package/dist/cjs/parts/PanelWrapper.js +8 -11
- package/dist/cjs/parts/PanelWrapper.js.map +2 -2
- package/dist/cjs/react-desc-prop-types.js +31 -14
- package/dist/cjs/react-desc-prop-types.js.map +2 -2
- package/dist/esm/DSShuttleV2.js.map +2 -2
- package/dist/esm/config/DSShuttleV2Definitions.js.map +1 -1
- package/dist/esm/config/itemMovementHelpers.js +99 -74
- package/dist/esm/config/itemMovementHelpers.js.map +2 -2
- package/dist/esm/config/useAutoCalculated/useDataStructure.js +55 -34
- package/dist/esm/config/useAutoCalculated/useDataStructure.js.map +2 -2
- package/dist/esm/config/useAutoCalculated/useShuttleVirtualized.js.map +2 -2
- package/dist/esm/config/useFocusTracker/useFocusActionTrackers.js +6 -6
- package/dist/esm/config/useFocusTracker/useFocusActionTrackers.js.map +2 -2
- package/dist/esm/config/useFocusTracker/useFocusItemTracker.js +5 -5
- package/dist/esm/config/useFocusTracker/useFocusItemTracker.js.map +2 -2
- package/dist/esm/config/useFocusTracker/useFocusRegionTrackers.js +2 -2
- package/dist/esm/config/useFocusTracker/useFocusRegionTrackers.js.map +2 -2
- package/dist/esm/config/useShuttleV2.js +3 -1
- package/dist/esm/config/useShuttleV2.js.map +2 -2
- package/dist/esm/config/useStore/createAtomInStore.bak +18 -0
- package/dist/esm/config/useStore/useStore.js +14 -1
- package/dist/esm/config/useStore/useStore.js.map +2 -2
- package/dist/esm/config/useValidateProps.js +10 -0
- package/dist/esm/config/useValidateProps.js.map +7 -0
- package/dist/esm/constants/index.js +3 -1
- package/dist/esm/constants/index.js.map +2 -2
- package/dist/esm/parts/Dnd/DndHandle.js +17 -10
- package/dist/esm/parts/Dnd/DndHandle.js.map +2 -2
- package/dist/esm/parts/Dnd/DragOverlay.js +21 -0
- package/dist/esm/parts/Dnd/DragOverlay.js.map +7 -0
- package/dist/esm/parts/Header.js +4 -4
- package/dist/esm/parts/Header.js.map +2 -2
- package/dist/esm/parts/HoC/withConditionalDnDRowContext.js +43 -18
- package/dist/esm/parts/HoC/withConditionalDnDRowContext.js.map +3 -3
- package/dist/esm/parts/HoC/withConditionalUseSortable.js +4 -3
- package/dist/esm/parts/HoC/withConditionalUseSortable.js.map +2 -2
- package/dist/esm/parts/Item/Item.js +42 -33
- package/dist/esm/parts/Item/Item.js.map +2 -2
- package/dist/esm/parts/Item/ItemActions/ItemActions.js +13 -11
- package/dist/esm/parts/Item/ItemActions/ItemActions.js.map +2 -2
- package/dist/esm/parts/Item/ItemActions/useActionsHandlers.js +8 -3
- package/dist/esm/parts/Item/ItemActions/useActionsHandlers.js.map +2 -2
- package/dist/esm/parts/Item/ItemActions/useActionsLogicHandlers.js +28 -40
- package/dist/esm/parts/Item/ItemActions/useActionsLogicHandlers.js.map +2 -2
- package/dist/esm/parts/Item/ItemActions/useInnerRefHandlers.js +2 -2
- package/dist/esm/parts/Item/ItemActions/useInnerRefHandlers.js.map +2 -2
- package/dist/esm/parts/Item/ItemMiddleSection.js +20 -21
- package/dist/esm/parts/Item/ItemMiddleSection.js.map +2 -2
- package/dist/esm/parts/Item/ItemOverlay.js +15 -7
- package/dist/esm/parts/Item/ItemOverlay.js.map +2 -2
- package/dist/esm/parts/Item/ItemSelection.js +3 -1
- package/dist/esm/parts/Item/ItemSelection.js.map +2 -2
- package/dist/esm/parts/Item/TextSection.js +24 -0
- package/dist/esm/parts/Item/TextSection.js.map +7 -0
- package/dist/esm/parts/Item/useItemArrowNavigation.js +47 -21
- package/dist/esm/parts/Item/useItemArrowNavigation.js.map +2 -2
- package/dist/esm/parts/Item/useItemKeyboardSelection.js +31 -0
- package/dist/esm/parts/Item/useItemKeyboardSelection.js.map +7 -0
- package/dist/esm/parts/Item/useSelectionLogic.js +64 -21
- package/dist/esm/parts/Item/useSelectionLogic.js.map +2 -2
- package/dist/esm/parts/MainContent.js +5 -2
- package/dist/esm/parts/MainContent.js.map +2 -2
- package/dist/esm/parts/Panel/bottom/LoadMoreBtn.js +1 -1
- package/dist/esm/parts/Panel/bottom/LoadMoreBtn.js.map +1 -1
- package/dist/esm/parts/Panel/bottom/LoadingMore.js +1 -1
- package/dist/esm/parts/Panel/bottom/LoadingMore.js.map +2 -2
- package/dist/esm/parts/Panel/bottom/PanelContentBottomSection.js +1 -1
- package/dist/esm/parts/Panel/bottom/PanelContentBottomSection.js.map +1 -1
- package/dist/esm/parts/Panel/bottom/useLoadMoreBtnArrowNavigation.js +4 -3
- package/dist/esm/parts/Panel/bottom/useLoadMoreBtnArrowNavigation.js.map +2 -2
- package/dist/esm/parts/Panel/middle/{ItemListWrapper.js → ItemListWrapper/Index.js} +22 -16
- package/dist/esm/parts/Panel/middle/ItemListWrapper/Index.js.map +7 -0
- package/dist/esm/parts/Panel/middle/ItemListWrapper/getDatumFlags.js +18 -0
- package/dist/esm/parts/Panel/middle/ItemListWrapper/getDatumFlags.js.map +7 -0
- package/dist/esm/parts/Panel/middle/ItemListWrapper/useGetDatumHydratables.js +31 -0
- package/dist/esm/parts/Panel/middle/ItemListWrapper/useGetDatumHydratables.js.map +7 -0
- package/dist/esm/parts/Panel/middle/MultipleSelectionAction.js +29 -6
- package/dist/esm/parts/Panel/middle/MultipleSelectionAction.js.map +2 -2
- package/dist/esm/parts/Panel/middle/PanelContentMiddleSection.js +11 -21
- package/dist/esm/parts/Panel/middle/PanelContentMiddleSection.js.map +2 -2
- package/dist/esm/parts/Panel/top/SelectionHeader.js +1 -1
- package/dist/esm/parts/Panel/top/SelectionHeader.js.map +2 -2
- package/dist/esm/parts/PanelWrapper.js +8 -11
- package/dist/esm/parts/PanelWrapper.js.map +2 -2
- package/dist/esm/react-desc-prop-types.js +32 -15
- package/dist/esm/react-desc-prop-types.js.map +2 -2
- package/package.json +13 -11
- package/dist/cjs/config/useStore/createAtomInStore.js.map +0 -7
- package/dist/cjs/parts/Panel/middle/ItemListWrapper.js.map +0 -7
- package/dist/esm/config/useStore/createAtomInStore.js +0 -14
- package/dist/esm/config/useStore/createAtomInStore.js.map +0 -7
- package/dist/esm/parts/Panel/middle/ItemListWrapper.js.map +0 -7
|
@@ -31,60 +31,48 @@ var React = __toESM(require("react"));
|
|
|
31
31
|
var import_react = __toESM(require("react"));
|
|
32
32
|
var import_useStore = require("../../../config/useStore");
|
|
33
33
|
var import_itemMovementHelpers = require("../../../config/itemMovementHelpers");
|
|
34
|
+
var import_useFocusTracker = require("../../../config/useFocusTracker");
|
|
34
35
|
const useActionsLogicHandlers = (itemMeta) => {
|
|
35
|
-
const {
|
|
36
|
-
const
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
);
|
|
40
|
-
const currOnChange = (0, import_useStore.usePropsStore)(
|
|
41
|
-
(state) => isDestinationPanel ? state.onDestinationChange : state.onSourceChange
|
|
42
|
-
);
|
|
43
|
-
const currOnRemove = (0, import_useStore.usePropsStore)(
|
|
44
|
-
(state) => isDestinationPanel ? state.onDestinationRemove : state.onSourceRemove
|
|
45
|
-
);
|
|
36
|
+
const { datum, isDestinationPanel } = itemMeta;
|
|
37
|
+
const moveCurrentItem = (0, import_itemMovementHelpers.useHandleMoveItem)(itemMeta);
|
|
38
|
+
const { trackFocusItemReset } = (0, import_useFocusTracker.useFocusItemTracker)();
|
|
39
|
+
const { trackFocusActionReset } = (0, import_useFocusTracker.useFocusActionTrackers)();
|
|
40
|
+
const { trackFocusRegionPanel } = (0, import_useFocusTracker.useFocusTracker)();
|
|
46
41
|
const currDrilldown = (0, import_useStore.usePropsStore)(
|
|
47
42
|
(state) => isDestinationPanel ? state.onDestinationDrilldown : state.onSourceDrilldown
|
|
48
43
|
);
|
|
49
|
-
const otherData = (0, import_useStore.usePropsStore)((state) => isDestinationPanel ? state.sourceData : state.destinationData);
|
|
50
|
-
const otherPanelOnChange = (0, import_useStore.usePropsStore)(
|
|
51
|
-
(state) => isDestinationPanel ? state.onSourceChange : state.onDestinationChange
|
|
52
|
-
);
|
|
53
|
-
const otherPanelOnAdd = (0, import_useStore.usePropsStore)((state) => isDestinationPanel ? state.onSourceAdd : state.onDestinationAdd);
|
|
54
44
|
const handleDrilldown = import_react.default.useCallback(
|
|
55
45
|
(event) => {
|
|
56
46
|
event.preventDefault();
|
|
57
47
|
event.stopPropagation();
|
|
58
|
-
currDrilldown(
|
|
48
|
+
currDrilldown(datum, { event });
|
|
49
|
+
trackFocusRegionPanel(isDestinationPanel);
|
|
50
|
+
trackFocusItemReset();
|
|
51
|
+
trackFocusActionReset();
|
|
59
52
|
},
|
|
60
|
-
[currDrilldown,
|
|
53
|
+
[currDrilldown, datum, isDestinationPanel, trackFocusActionReset, trackFocusItemReset, trackFocusRegionPanel]
|
|
61
54
|
);
|
|
62
55
|
const handleSingleMove = import_react.default.useCallback(
|
|
63
56
|
(event) => {
|
|
64
57
|
event.preventDefault();
|
|
65
58
|
event.stopPropagation();
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
otherData
|
|
71
|
-
});
|
|
72
|
-
currOnRemove([item.original], { event });
|
|
73
|
-
otherPanelOnAdd([item.original], { event });
|
|
74
|
-
currOnChange(newCurrData, { item: item.original, event });
|
|
75
|
-
otherPanelOnChange(newOtherData, { item: item.original, event });
|
|
59
|
+
moveCurrentItem(event);
|
|
60
|
+
trackFocusRegionPanel(isDestinationPanel);
|
|
61
|
+
trackFocusItemReset();
|
|
62
|
+
trackFocusActionReset();
|
|
76
63
|
},
|
|
77
|
-
[
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
64
|
+
[isDestinationPanel, moveCurrentItem, trackFocusActionReset, trackFocusItemReset, trackFocusRegionPanel]
|
|
65
|
+
);
|
|
66
|
+
const preventKeyDownSelectionBubbleUp = import_react.default.useCallback((event) => {
|
|
67
|
+
const { key } = event;
|
|
68
|
+
if (["Spacebar", " ", "Enter"].includes(key)) {
|
|
69
|
+
event.preventDefault();
|
|
70
|
+
event.stopPropagation();
|
|
71
|
+
}
|
|
72
|
+
}, []);
|
|
73
|
+
return import_react.default.useMemo(
|
|
74
|
+
() => ({ handleDrilldown, handleSingleMove, preventKeyDownSelectionBubbleUp }),
|
|
75
|
+
[handleDrilldown, handleSingleMove, preventKeyDownSelectionBubbleUp]
|
|
87
76
|
);
|
|
88
|
-
return import_react.default.useMemo(() => ({ handleDrilldown, handleSingleMove }), [handleDrilldown, handleSingleMove]);
|
|
89
77
|
};
|
|
90
78
|
//# sourceMappingURL=useActionsLogicHandlers.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
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 {
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAkB;AAElB,sBAA8B;AAC9B,
|
|
4
|
+
"sourcesContent": ["import React from 'react';\nimport { type DSShuttleV2T } from '../../../react-desc-prop-types';\nimport { usePropsStore } from '../../../config/useStore';\nimport { useHandleMoveItem } from '../../../config/itemMovementHelpers';\nimport { useFocusItemTracker, useFocusActionTrackers, useFocusTracker } from '../../../config/useFocusTracker';\n\nexport const useActionsLogicHandlers = (itemMeta: DSShuttleV2T.ItemMeta) => {\n const { datum, isDestinationPanel } = itemMeta;\n const moveCurrentItem = useHandleMoveItem(itemMeta);\n const { trackFocusItemReset } = useFocusItemTracker();\n const { trackFocusActionReset } = useFocusActionTrackers();\n const { trackFocusRegionPanel } = useFocusTracker();\n\n const currDrilldown = usePropsStore((state) =>\n isDestinationPanel ? state.onDestinationDrilldown : state.onSourceDrilldown,\n );\n\n const handleDrilldown = React.useCallback(\n (event: React.MouseEvent<HTMLButtonElement> | React.KeyboardEvent<HTMLButtonElement>) => {\n event.preventDefault();\n event.stopPropagation();\n currDrilldown(datum, { event });\n trackFocusRegionPanel(isDestinationPanel);\n trackFocusItemReset();\n trackFocusActionReset();\n },\n [currDrilldown, datum, isDestinationPanel, trackFocusActionReset, trackFocusItemReset, trackFocusRegionPanel],\n );\n\n const handleSingleMove = React.useCallback(\n (event: React.MouseEvent<HTMLButtonElement> | React.KeyboardEvent<HTMLButtonElement>) => {\n event.preventDefault();\n event.stopPropagation();\n moveCurrentItem(event);\n trackFocusRegionPanel(isDestinationPanel);\n trackFocusItemReset();\n trackFocusActionReset();\n },\n [isDestinationPanel, moveCurrentItem, trackFocusActionReset, trackFocusItemReset, trackFocusRegionPanel],\n );\n\n const preventKeyDownSelectionBubbleUp = React.useCallback((event: React.KeyboardEvent<HTMLButtonElement>) => {\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 }\n }, []);\n\n return React.useMemo(\n () => ({ handleDrilldown, handleSingleMove, preventKeyDownSelectionBubbleUp }),\n [handleDrilldown, handleSingleMove, preventKeyDownSelectionBubbleUp],\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAkB;AAElB,sBAA8B;AAC9B,iCAAkC;AAClC,6BAA6E;AAEtE,MAAM,0BAA0B,CAAC,aAAoC;AAC1E,QAAM,EAAE,OAAO,mBAAmB,IAAI;AACtC,QAAM,sBAAkB,8CAAkB,QAAQ;AAClD,QAAM,EAAE,oBAAoB,QAAI,4CAAoB;AACpD,QAAM,EAAE,sBAAsB,QAAI,+CAAuB;AACzD,QAAM,EAAE,sBAAsB,QAAI,wCAAgB;AAElD,QAAM,oBAAgB;AAAA,IAAc,CAAC,UACnC,qBAAqB,MAAM,yBAAyB,MAAM;AAAA,EAC5D;AAEA,QAAM,kBAAkB,aAAAA,QAAM;AAAA,IAC5B,CAAC,UAAwF;AACvF,YAAM,eAAe;AACrB,YAAM,gBAAgB;AACtB,oBAAc,OAAO,EAAE,MAAM,CAAC;AAC9B,4BAAsB,kBAAkB;AACxC,0BAAoB;AACpB,4BAAsB;AAAA,IACxB;AAAA,IACA,CAAC,eAAe,OAAO,oBAAoB,uBAAuB,qBAAqB,qBAAqB;AAAA,EAC9G;AAEA,QAAM,mBAAmB,aAAAA,QAAM;AAAA,IAC7B,CAAC,UAAwF;AACvF,YAAM,eAAe;AACrB,YAAM,gBAAgB;AACtB,sBAAgB,KAAK;AACrB,4BAAsB,kBAAkB;AACxC,0BAAoB;AACpB,4BAAsB;AAAA,IACxB;AAAA,IACA,CAAC,oBAAoB,iBAAiB,uBAAuB,qBAAqB,qBAAqB;AAAA,EACzG;AAEA,QAAM,kCAAkC,aAAAA,QAAM,YAAY,CAAC,UAAkD;AAC3G,UAAM,EAAE,IAAI,IAAI;AAEhB,QAAI,CAAC,YAAY,KAAK,OAAO,EAAE,SAAS,GAAG,GAAG;AAC5C,YAAM,eAAe;AACrB,YAAM,gBAAgB;AAAA,IACxB;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,SAAO,aAAAA,QAAM;AAAA,IACX,OAAO,EAAE,iBAAiB,kBAAkB,gCAAgC;AAAA,IAC5E,CAAC,iBAAiB,kBAAkB,+BAA+B;AAAA,EACrE;AACF;",
|
|
6
6
|
"names": ["React"]
|
|
7
7
|
}
|
|
@@ -31,12 +31,12 @@ var React = __toESM(require("react"));
|
|
|
31
31
|
var import_react = __toESM(require("react"));
|
|
32
32
|
var import_useStore = require("../../../config/useStore");
|
|
33
33
|
var import_constants = require("../../../constants");
|
|
34
|
-
const useInnerRefHandlers = ({
|
|
34
|
+
const useInnerRefHandlers = ({ datumInternalMeta, isDestinationPanel }) => {
|
|
35
35
|
const focusRegion = (0, import_useStore.useInternalStore)((state) => state.focusRegion);
|
|
36
36
|
const focusItem = (0, import_useStore.useInternalStore)((state) => state.focusItem);
|
|
37
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
|
-
const currItemId =
|
|
39
|
+
const currItemId = datumInternalMeta.hydratedId;
|
|
40
40
|
const { shouldFocusDrilldown, shouldFocusMove, shouldFocusDnd } = import_react.default.useMemo(
|
|
41
41
|
() => ({
|
|
42
42
|
shouldFocusDrilldown: focusItem === currItemId && focusRegion === currRegion && focusItemAction === import_constants.ACTIONS_FOCUSES.DRILLDOWN_BTN,
|
|
@@ -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 { useInternalStore } from '../../../config/useStore';\nimport { REGIONS_FOCUSES, ACTIONS_FOCUSES } from '../../../constants';\n\nexport const useInnerRefHandlers = ({
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAkB;AAElB,sBAAiC;AACjC,uBAAiD;AAE1C,MAAM,sBAAsB,CAAC,EAAE,
|
|
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 = ({ datumInternalMeta, 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 = datumInternalMeta.hydratedId;\n const { shouldFocusDrilldown, shouldFocusMove, shouldFocusDnd } = 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 shouldFocusDnd:\n focusItem === currItemId && focusRegion === currRegion && focusItemAction === ACTIONS_FOCUSES.DRAG_N_DROP,\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 const innerRefHandlerDnd = React.useCallback(\n (node: HTMLDivElement | null) => {\n if (shouldFocusDnd) node?.focus();\n },\n [shouldFocusDnd],\n );\n return React.useMemo(\n () => ({\n shouldFocusDrilldown,\n shouldFocusMove,\n innerRefHandlerDnd,\n innerRefHandlerDrilldown,\n innerRefHandlerMove,\n }),\n [innerRefHandlerDrilldown, innerRefHandlerDnd, 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,mBAAmB,mBAAmB,MAA6B;AACvG,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,kBAAkB;AACrC,QAAM,EAAE,sBAAsB,iBAAiB,eAAe,IAAI,aAAAA,QAAM;AAAA,IACtE,OAAO;AAAA,MACL,sBACE,cAAc,cAAc,gBAAgB,cAAc,oBAAoB,iCAAgB;AAAA,MAChG,iBACE,cAAc,cAAc,gBAAgB,cAAc,oBAAoB,iCAAgB;AAAA,MAChG,gBACE,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,QAAM,qBAAqB,aAAAA,QAAM;AAAA,IAC/B,CAAC,SAAgC;AAC/B,UAAI;AAAgB,cAAM,MAAM;AAAA,IAClC;AAAA,IACA,CAAC,cAAc;AAAA,EACjB;AACA,SAAO,aAAAA,QAAM;AAAA,IACX,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,CAAC,0BAA0B,oBAAoB,qBAAqB,sBAAsB,eAAe;AAAA,EAC3G;AACF;",
|
|
6
6
|
"names": ["React"]
|
|
7
7
|
}
|
|
@@ -32,15 +32,15 @@ var import_jsx_runtime = require("react/jsx-runtime");
|
|
|
32
32
|
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
|
-
var import_ds_typography = require("@elliemae/ds-typography");
|
|
36
35
|
var import_DSShuttleV2Definitions = require("../../config/DSShuttleV2Definitions");
|
|
36
|
+
var import_TextSection = require("./TextSection");
|
|
37
37
|
const IconWrapper = (0, import_ds_system.styled)(import_ds_grid.Grid, { name: import_DSShuttleV2Definitions.DSShuttleV2Name, slot: import_DSShuttleV2Definitions.DSShuttleV2Slots.ITEM_ICON_WRAPPER })`
|
|
38
38
|
min-height: 1rem;
|
|
39
39
|
`;
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
40
|
+
const MidSection = (0, import_ds_system.styled)(import_ds_grid.Grid, {
|
|
41
|
+
name: import_DSShuttleV2Definitions.DSShuttleV2Name,
|
|
42
|
+
slot: import_DSShuttleV2Definitions.DSShuttleV2Slots.ITEM_MIDSECTION_WRAPPER
|
|
43
|
+
})`
|
|
44
44
|
min-height: 1rem;
|
|
45
45
|
${(props) => {
|
|
46
46
|
if (props.$softDeleted)
|
|
@@ -55,20 +55,19 @@ const MidSection = (0, import_ds_system.styled)(import_ds_grid.Grid, { name: imp
|
|
|
55
55
|
`;
|
|
56
56
|
const customMidSectionCols = ["1fr"];
|
|
57
57
|
const customMidSectionRows = ["1fr"];
|
|
58
|
-
const withSubtitleRows = ["auto", "auto"];
|
|
59
|
-
const TextSection = import_react.default.memo((props) => {
|
|
60
|
-
const { label, subtitle } = props.item.original;
|
|
61
|
-
if (subtitle === void 0)
|
|
62
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(LabelWrapper, { alignItems: "center", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_typography.DSTypography, { variant: "b1", children: label }) });
|
|
63
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_ds_grid.Grid, { alignItems: "center", rows: withSubtitleRows, gutter: "1px", children: [
|
|
64
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_typography.DSTypography, { variant: "b1", children: label }),
|
|
65
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_typography.DSTypography, { variant: "b4", children: subtitle })
|
|
66
|
-
] });
|
|
67
|
-
});
|
|
68
58
|
const ItemMiddleSection = import_react.default.memo((itemMeta) => {
|
|
69
|
-
const {
|
|
70
|
-
const {
|
|
71
|
-
const {
|
|
59
|
+
const { datum, datumHydratables, datumInternalMeta, isDestinationPanel, hasMultipleSelection } = itemMeta;
|
|
60
|
+
const { Icon, CustomRenderer, ...componentlessHydratables } = datumHydratables;
|
|
61
|
+
const { softDeleted, hydratedId } = datumInternalMeta;
|
|
62
|
+
const customComponentProps = import_react.default.useMemo(
|
|
63
|
+
() => ({
|
|
64
|
+
datum,
|
|
65
|
+
panelMetaInfo: { isDestinationPanel, hasMultipleSelection },
|
|
66
|
+
datumInternalMeta,
|
|
67
|
+
datumHydratables: { ...componentlessHydratables, id: hydratedId }
|
|
68
|
+
}),
|
|
69
|
+
[componentlessHydratables, datum, datumInternalMeta, hasMultipleSelection, hydratedId, isDestinationPanel]
|
|
70
|
+
);
|
|
72
71
|
const cols = import_react.default.useMemo(() => {
|
|
73
72
|
if (CustomRenderer)
|
|
74
73
|
return [];
|
|
@@ -79,10 +78,10 @@ const ItemMiddleSection = import_react.default.memo((itemMeta) => {
|
|
|
79
78
|
return dynamicCols;
|
|
80
79
|
}, [CustomRenderer, Icon]);
|
|
81
80
|
if (CustomRenderer)
|
|
82
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MidSection, { cols: customMidSectionCols, rows: customMidSectionRows, $softDeleted: softDeleted, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CustomRenderer, { ...
|
|
83
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(MidSection, { cols, alignItems: "center", ml: "xxs", $softDeleted: softDeleted, children: [
|
|
84
|
-
Icon ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(IconWrapper, { alignItems: "center", mr: "xxs", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Icon, { ...
|
|
85
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(TextSection, { ...itemMeta })
|
|
81
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MidSection, { cols: customMidSectionCols, rows: customMidSectionRows, $softDeleted: Boolean(softDeleted), children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CustomRenderer, { ...customComponentProps }) });
|
|
82
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(MidSection, { cols, alignItems: "center", ml: "xxs", $softDeleted: Boolean(softDeleted), children: [
|
|
83
|
+
Icon ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(IconWrapper, { alignItems: "center", mr: "xxs", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Icon, { ...customComponentProps }) }) : null,
|
|
84
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_TextSection.TextSection, { ...itemMeta })
|
|
86
85
|
] });
|
|
87
86
|
});
|
|
88
87
|
//# sourceMappingURL=ItemMiddleSection.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/parts/Item/ItemMiddleSection.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 {
|
|
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 { DSShuttleV2Name, DSShuttleV2Slots } from '../../config/DSShuttleV2Definitions';\nimport { TextSection } from './TextSection';\n\nconst IconWrapper = styled(Grid, { name: DSShuttleV2Name, slot: DSShuttleV2Slots.ITEM_ICON_WRAPPER })`\n min-height: 1rem;\n`;\n\nconst MidSection = styled(Grid, {\n name: DSShuttleV2Name,\n slot: DSShuttleV2Slots.ITEM_MIDSECTION_WRAPPER,\n})<{ $softDeleted: boolean }>`\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\nexport const ItemMiddleSection = React.memo((itemMeta: DSShuttleV2T.ItemMeta) => {\n const { datum, datumHydratables, datumInternalMeta, isDestinationPanel, hasMultipleSelection } = itemMeta;\n const { Icon, CustomRenderer, ...componentlessHydratables } = datumHydratables;\n const { softDeleted, hydratedId } = datumInternalMeta;\n const customComponentProps = React.useMemo<DSShuttleV2T.ComponentProps>(\n () => ({\n datum,\n panelMetaInfo: { isDestinationPanel, hasMultipleSelection },\n datumInternalMeta,\n datumHydratables: { ...componentlessHydratables, id: hydratedId },\n }),\n [componentlessHydratables, datum, datumInternalMeta, hasMultipleSelection, hydratedId, isDestinationPanel],\n );\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={Boolean(softDeleted)}>\n <CustomRenderer {...customComponentProps} />\n </MidSection>\n );\n\n return (\n <MidSection cols={cols} alignItems=\"center\" ml=\"xxs\" $softDeleted={Boolean(softDeleted)}>\n {Icon ? (\n <IconWrapper alignItems=\"center\" mr=\"xxs\">\n <Icon {...customComponentProps} />\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;ADuDf;AAvDR,mBAAkB;AAClB,uBAAuB;AACvB,qBAAqB;AAErB,oCAAkD;AAClD,yBAA4B;AAE5B,MAAM,kBAAc,yBAAO,qBAAM,EAAE,MAAM,+CAAiB,MAAM,+CAAiB,kBAAkB,CAAC;AAAA;AAAA;AAIpG,MAAM,iBAAa,yBAAO,qBAAM;AAAA,EAC9B,MAAM;AAAA,EACN,MAAM,+CAAiB;AACzB,CAAC;AAAA;AAAA,IAEG,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;AAE5B,MAAM,oBAAoB,aAAAA,QAAM,KAAK,CAAC,aAAoC;AAC/E,QAAM,EAAE,OAAO,kBAAkB,mBAAmB,oBAAoB,qBAAqB,IAAI;AACjG,QAAM,EAAE,MAAM,mBAAmB,yBAAyB,IAAI;AAC9D,QAAM,EAAE,aAAa,WAAW,IAAI;AACpC,QAAM,uBAAuB,aAAAA,QAAM;AAAA,IACjC,OAAO;AAAA,MACL;AAAA,MACA,eAAe,EAAE,oBAAoB,qBAAqB;AAAA,MAC1D;AAAA,MACA,kBAAkB,EAAE,GAAG,0BAA0B,IAAI,WAAW;AAAA,IAClE;AAAA,IACA,CAAC,0BAA0B,OAAO,mBAAmB,sBAAsB,YAAY,kBAAkB;AAAA,EAC3G;AACA,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,cAAW,MAAM,sBAAsB,MAAM,sBAAsB,cAAc,QAAQ,WAAW,GACnG,sDAAC,kBAAgB,GAAG,sBAAsB,GAC5C;AAGJ,SACE,6CAAC,cAAW,MAAY,YAAW,UAAS,IAAG,OAAM,cAAc,QAAQ,WAAW,GACnF;AAAA,WACC,4CAAC,eAAY,YAAW,UAAS,IAAG,OAClC,sDAAC,QAAM,GAAG,sBAAsB,GAClC,IACE;AAAA,IACJ,4CAAC,kCAAa,GAAG,UAAU;AAAA,KAC7B;AAEJ,CAAC;",
|
|
6
6
|
"names": ["React"]
|
|
7
7
|
}
|
|
@@ -34,9 +34,9 @@ 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
36
|
var import_ItemMiddleSection = require("./ItemMiddleSection");
|
|
37
|
-
var
|
|
37
|
+
var import_DragOverlay = require("../Dnd/DragOverlay");
|
|
38
38
|
const ItemWrapper = (0, import_ds_system.styled)(import_ds_grid.Grid, { name: "ds-shuttle-v2", slot: "item-wrapper-overlay" })`
|
|
39
|
-
min-height:
|
|
39
|
+
min-height: 2.769rem;
|
|
40
40
|
position: relative;
|
|
41
41
|
background-color: white;
|
|
42
42
|
box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.5);
|
|
@@ -49,12 +49,20 @@ const ItemWrapper = (0, import_ds_system.styled)(import_ds_grid.Grid, { name: "d
|
|
|
49
49
|
border-bottom: 1px solid neutral-100;
|
|
50
50
|
`;
|
|
51
51
|
const ItemOverlay = import_react.default.memo((itemMeta) => {
|
|
52
|
-
const {
|
|
53
|
-
const {
|
|
54
|
-
const
|
|
55
|
-
const
|
|
52
|
+
const { datumInternalMeta } = itemMeta;
|
|
53
|
+
const { isSelected, hydratedId } = datumInternalMeta;
|
|
54
|
+
const getIsDragAndDropHappening = (0, import_useStore.useInternalStore)((state) => state.getIsDragAndDropHappening);
|
|
55
|
+
const isDragAndDropHappening = getIsDragAndDropHappening();
|
|
56
|
+
const dndDraggingItem = (0, import_useStore.useInternalStore)((state) => state.dndDraggingItem);
|
|
56
57
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(ItemWrapper, { cols: ["auto", "auto"], alignItems: "center", role: "checkbox", "aria-checked": isSelected, children: [
|
|
57
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
58
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
59
|
+
import_DragOverlay.DragOverlay,
|
|
60
|
+
{
|
|
61
|
+
id: `${hydratedId}-overlay`,
|
|
62
|
+
isDndActive: isDragAndDropHappening,
|
|
63
|
+
isDragging: dndDraggingItem?.hydratedId === hydratedId
|
|
64
|
+
}
|
|
65
|
+
),
|
|
58
66
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ItemMiddleSection.ItemMiddleSection, { ...itemMeta })
|
|
59
67
|
] });
|
|
60
68
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/parts/Item/ItemOverlay.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["import React from 'react';\nimport { styled } from '@elliemae/ds-system';\n\nimport { Grid } from '@elliemae/ds-grid';\nimport { type DSShuttleV2T } from '../../react-desc-prop-types';\nimport { useInternalStore } from '../../config/useStore';\n\nimport { ItemMiddleSection } from './ItemMiddleSection';\n\nimport {
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;
|
|
4
|
+
"sourcesContent": ["import React from 'react';\nimport { styled } from '@elliemae/ds-system';\n\nimport { Grid } from '@elliemae/ds-grid';\nimport { type DSShuttleV2T } from '../../react-desc-prop-types';\nimport { useInternalStore } from '../../config/useStore';\n\nimport { ItemMiddleSection } from './ItemMiddleSection';\n\nimport { DragOverlay } from '../Dnd/DragOverlay';\n\n// we are using the class-name added via slot for the children `:hover` styling of icon colors\n\nconst ItemWrapper = styled(Grid, { name: 'ds-shuttle-v2', slot: 'item-wrapper-overlay' })`\n min-height: 2.769rem;\n position: relative;\n background-color: white;\n box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.5);\n padding-right: 5px;\n\n &:focus {\n outline: 2px solid brand-700;\n outline-offset: -2px;\n }\n border-bottom: 1px solid neutral-100;\n`;\n\nexport const ItemOverlay = React.memo((itemMeta: DSShuttleV2T.ItemMeta) => {\n const { datumInternalMeta } = itemMeta;\n const { isSelected, hydratedId } = datumInternalMeta;\n\n const getIsDragAndDropHappening = useInternalStore((state) => state.getIsDragAndDropHappening);\n const isDragAndDropHappening = getIsDragAndDropHappening();\n const dndDraggingItem = useInternalStore((state) => state.dndDraggingItem);\n\n return (\n <ItemWrapper cols={['auto', 'auto']} alignItems=\"center\" role=\"checkbox\" aria-checked={isSelected}>\n <DragOverlay\n id={`${hydratedId}-overlay`}\n isDndActive={isDragAndDropHappening}\n isDragging={dndDraggingItem?.hydratedId === hydratedId}\n />\n <ItemMiddleSection {...itemMeta} />\n </ItemWrapper>\n );\n});\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADoCnB;AApCJ,mBAAkB;AAClB,uBAAuB;AAEvB,qBAAqB;AAErB,sBAAiC;AAEjC,+BAAkC;AAElC,yBAA4B;AAI5B,MAAM,kBAAc,yBAAO,qBAAM,EAAE,MAAM,iBAAiB,MAAM,uBAAuB,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAcjF,MAAM,cAAc,aAAAA,QAAM,KAAK,CAAC,aAAoC;AACzE,QAAM,EAAE,kBAAkB,IAAI;AAC9B,QAAM,EAAE,YAAY,WAAW,IAAI;AAEnC,QAAM,gCAA4B,kCAAiB,CAAC,UAAU,MAAM,yBAAyB;AAC7F,QAAM,yBAAyB,0BAA0B;AACzD,QAAM,sBAAkB,kCAAiB,CAAC,UAAU,MAAM,eAAe;AAEzE,SACE,6CAAC,eAAY,MAAM,CAAC,QAAQ,MAAM,GAAG,YAAW,UAAS,MAAK,YAAW,gBAAc,YACrF;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,IAAI,GAAG;AAAA,QACP,aAAa;AAAA,QACb,YAAY,iBAAiB,eAAe;AAAA;AAAA,IAC9C;AAAA,IACA,4CAAC,8CAAmB,GAAG,UAAU;AAAA,KACnC;AAEJ,CAAC;",
|
|
6
6
|
"names": ["React"]
|
|
7
7
|
}
|
|
@@ -45,5 +45,7 @@ const StyledItemSelection = (0, import_ds_system.styled)(import_ds_grid.Grid, {
|
|
|
45
45
|
return props.theme.colors.brand[300];
|
|
46
46
|
}};
|
|
47
47
|
`;
|
|
48
|
-
const ItemSelection = import_react.default.memo(
|
|
48
|
+
const ItemSelection = import_react.default.memo(
|
|
49
|
+
({ datumInternalMeta: { isSelected }, datumRenderFlags: { selectionPrevented } }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(StyledItemSelection, { $isSelected: isSelected, $selectionPrevented: selectionPrevented })
|
|
50
|
+
);
|
|
49
51
|
//# sourceMappingURL=ItemSelection.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/parts/Item/ItemSelection.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 { DSShuttleV2Name, DSShuttleV2Slots } from '../../config/DSShuttleV2Definitions';\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: DSShuttleV2Name, slot: DSShuttleV2Slots.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(({
|
|
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 { DSShuttleV2Name, DSShuttleV2Slots } from '../../config/DSShuttleV2Definitions';\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: DSShuttleV2Name, slot: DSShuttleV2Slots.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(\n ({ datumInternalMeta: { isSelected }, datumRenderFlags: { selectionPrevented } }: DSShuttleV2T.ItemMeta) => (\n <StyledItemSelection $isSelected={isSelected} $selectionPrevented={selectionPrevented} />\n ),\n);\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;AD+BnB;AA/BJ,mBAAkB;AAClB,uBAAuB;AACvB,qBAAqB;AAErB,oCAAkD;AAWlD,MAAM,0BAAsB,yBAAO,qBAAM,EAAE,MAAM,+CAAiB,MAAM,+CAAiB,eAAe,CAAC;AAAA;AAAA;AAAA;AAAA,sBAOnF,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;AAAA,EACjC,CAAC,EAAE,mBAAmB,EAAE,WAAW,GAAG,kBAAkB,EAAE,mBAAmB,EAAE,MAC7E,4CAAC,uBAAoB,aAAa,YAAY,qBAAqB,oBAAoB;AAE3F;",
|
|
6
6
|
"names": ["React"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,50 @@
|
|
|
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 TextSection_exports = {};
|
|
26
|
+
__export(TextSection_exports, {
|
|
27
|
+
TextSection: () => TextSection
|
|
28
|
+
});
|
|
29
|
+
module.exports = __toCommonJS(TextSection_exports);
|
|
30
|
+
var React = __toESM(require("react"));
|
|
31
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
32
|
+
var import_react = __toESM(require("react"));
|
|
33
|
+
var import_ds_grid = require("@elliemae/ds-grid");
|
|
34
|
+
var import_ds_system = require("@elliemae/ds-system");
|
|
35
|
+
var import_ds_typography = require("@elliemae/ds-typography");
|
|
36
|
+
var import_DSShuttleV2Definitions = require("../../config/DSShuttleV2Definitions");
|
|
37
|
+
const withSubtitleRows = ["auto", "auto"];
|
|
38
|
+
const LabelWrapper = (0, import_ds_system.styled)(import_ds_grid.Grid, { name: import_DSShuttleV2Definitions.DSShuttleV2Name, slot: import_DSShuttleV2Definitions.DSShuttleV2Slots.ITEM_LABEL_WRAPPER })`
|
|
39
|
+
min-height: 1rem;
|
|
40
|
+
`;
|
|
41
|
+
const TextSection = import_react.default.memo((props) => {
|
|
42
|
+
const { label, subtitle } = props.datumHydratables;
|
|
43
|
+
if (subtitle === void 0)
|
|
44
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(LabelWrapper, { alignItems: "center", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_typography.DSTypography, { variant: "b1", children: label }) });
|
|
45
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_ds_grid.Grid, { alignItems: "center", rows: withSubtitleRows, gutter: "1px", children: [
|
|
46
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_typography.DSTypography, { variant: "b1", children: label }),
|
|
47
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_typography.DSTypography, { variant: "b4", children: subtitle })
|
|
48
|
+
] });
|
|
49
|
+
});
|
|
50
|
+
//# sourceMappingURL=TextSection.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/parts/Item/TextSection.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
+
"sourcesContent": ["import React from 'react';\nimport { Grid } from '@elliemae/ds-grid';\nimport { styled } from '@elliemae/ds-system';\nimport { DSTypography } from '@elliemae/ds-typography';\nimport { DSShuttleV2Name, DSShuttleV2Slots } from '../../config/DSShuttleV2Definitions';\nimport { type DSShuttleV2T } from '../../react-desc-prop-types';\n\nconst withSubtitleRows = ['auto', 'auto'];\nconst LabelWrapper = styled(Grid, { name: DSShuttleV2Name, slot: DSShuttleV2Slots.ITEM_LABEL_WRAPPER })`\n min-height: 1rem;\n`;\nexport const TextSection = React.memo((props: DSShuttleV2T.ItemMeta) => {\n const { label, subtitle } = props.datumHydratables;\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", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADgBf;AAhBR,mBAAkB;AAClB,qBAAqB;AACrB,uBAAuB;AACvB,2BAA6B;AAC7B,oCAAkD;AAGlD,MAAM,mBAAmB,CAAC,QAAQ,MAAM;AACxC,MAAM,mBAAe,yBAAO,qBAAM,EAAE,MAAM,+CAAiB,MAAM,+CAAiB,mBAAmB,CAAC;AAAA;AAAA;AAG/F,MAAM,cAAc,aAAAA,QAAM,KAAK,CAAC,UAAiC;AACtE,QAAM,EAAE,OAAO,SAAS,IAAI,MAAM;AAClC,MAAI,aAAa;AACf,WACE,4CAAC,gBAAa,YAAW,UACvB,sDAAC,qCAAa,SAAQ,MAAM,iBAAM,GACpC;AAEJ,SACE,6CAAC,uBAAK,YAAW,UAAS,MAAM,kBAAkB,QAAO,OACvD;AAAA,gDAAC,qCAAa,SAAQ,MAAM,iBAAM;AAAA,IAClC,4CAAC,qCAAa,SAAQ,MAAM,oBAAS;AAAA,KACvC;AAEJ,CAAC;",
|
|
6
|
+
"names": ["React"]
|
|
7
|
+
}
|
|
@@ -29,18 +29,24 @@ __export(useItemArrowNavigation_exports, {
|
|
|
29
29
|
module.exports = __toCommonJS(useItemArrowNavigation_exports);
|
|
30
30
|
var React = __toESM(require("react"));
|
|
31
31
|
var import_react = __toESM(require("react"));
|
|
32
|
+
var import_ds_utilities = require("@elliemae/ds-utilities");
|
|
32
33
|
var import_useFocusTracker = require("../../config/useFocusTracker");
|
|
33
34
|
var import_useStore = require("../../config/useStore");
|
|
34
35
|
const useItemArrowNavigation = (itemMeta) => {
|
|
35
|
-
const {
|
|
36
|
-
const {
|
|
37
|
-
const {
|
|
38
|
-
const {
|
|
39
|
-
const
|
|
36
|
+
const { trackFocusRegionPanelFocusMoveAll } = (0, import_useFocusTracker.useFocusRegionTrackers)();
|
|
37
|
+
const { mutableFocusItem, trackFocusPrevItem, trackFocusNextItem, trackFocusItem, trackFocusItemReset } = (0, import_useFocusTracker.useFocusItemTracker)();
|
|
38
|
+
const { trackFocusNextAction, trackFocusPrevAction, trackFocusActionParent, trackFocusActionReset } = (0, import_useFocusTracker.useFocusActionTrackers)();
|
|
39
|
+
const { datumInternalMeta, datum, hasMultipleSelection, isDestinationPanel } = itemMeta;
|
|
40
|
+
const configuredDatum = import_react.default.useMemo(() => ({ original: datum, ...datumInternalMeta }), [datum, datumInternalMeta]);
|
|
41
|
+
const getIsDragAndDropHappening = (0, import_useStore.useInternalStore)((state) => state.getIsDragAndDropHappening);
|
|
42
|
+
const mutableItemMeta = (0, import_ds_utilities.useMakeMutable)(itemMeta);
|
|
43
|
+
const mutableInternalMeta = (0, import_ds_utilities.useMakeMutable)(datumInternalMeta);
|
|
44
|
+
const mutableConfiguredDatum = (0, import_ds_utilities.useMakeMutable)(configuredDatum);
|
|
40
45
|
const onItemContainerKeyDown = import_react.default.useCallback(
|
|
41
46
|
(e) => {
|
|
42
47
|
const { key } = e;
|
|
43
|
-
|
|
48
|
+
const isDragAndDropHappening = getIsDragAndDropHappening();
|
|
49
|
+
if (isDragAndDropHappening) {
|
|
44
50
|
e.preventDefault();
|
|
45
51
|
return;
|
|
46
52
|
}
|
|
@@ -49,35 +55,55 @@ const useItemArrowNavigation = (itemMeta) => {
|
|
|
49
55
|
if (["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight"].includes(key))
|
|
50
56
|
e.stopPropagation();
|
|
51
57
|
if (key === "ArrowLeft") {
|
|
52
|
-
if (
|
|
53
|
-
|
|
58
|
+
if (hasMultipleSelection) {
|
|
59
|
+
trackFocusRegionPanelFocusMoveAll(isDestinationPanel);
|
|
60
|
+
trackFocusItemReset();
|
|
61
|
+
trackFocusActionReset();
|
|
62
|
+
return;
|
|
54
63
|
}
|
|
55
|
-
trackFocusPrevAction(
|
|
64
|
+
trackFocusPrevAction(mutableItemMeta.current);
|
|
65
|
+
if (mutableFocusItem.current === "first" && mutableInternalMeta.current.isFirst || mutableFocusItem.current === "last" && mutableInternalMeta.current.isLast) {
|
|
66
|
+
trackFocusItem(mutableConfiguredDatum.current);
|
|
67
|
+
}
|
|
68
|
+
return;
|
|
56
69
|
}
|
|
57
70
|
if (key === "ArrowRight") {
|
|
58
|
-
if (
|
|
59
|
-
|
|
71
|
+
if (hasMultipleSelection) {
|
|
72
|
+
trackFocusRegionPanelFocusMoveAll(isDestinationPanel);
|
|
73
|
+
trackFocusItemReset();
|
|
74
|
+
trackFocusActionReset();
|
|
75
|
+
return;
|
|
60
76
|
}
|
|
61
|
-
trackFocusNextAction(
|
|
77
|
+
trackFocusNextAction(mutableItemMeta.current);
|
|
78
|
+
if (mutableFocusItem.current === "first" && mutableInternalMeta.current.isFirst || mutableFocusItem.current === "last" && mutableInternalMeta.current.isLast) {
|
|
79
|
+
trackFocusItem(mutableConfiguredDatum.current);
|
|
80
|
+
}
|
|
81
|
+
return;
|
|
62
82
|
}
|
|
63
83
|
if (key === "ArrowUp") {
|
|
64
|
-
trackFocusPrevItem(
|
|
84
|
+
trackFocusPrevItem(mutableItemMeta.current);
|
|
65
85
|
trackFocusActionParent();
|
|
86
|
+
return;
|
|
66
87
|
}
|
|
67
88
|
if (key === "ArrowDown") {
|
|
68
|
-
trackFocusNextItem(
|
|
89
|
+
trackFocusNextItem(mutableItemMeta.current);
|
|
69
90
|
trackFocusActionParent();
|
|
91
|
+
return;
|
|
70
92
|
}
|
|
71
93
|
},
|
|
72
94
|
[
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
isFirst,
|
|
76
|
-
isLast,
|
|
95
|
+
getIsDragAndDropHappening,
|
|
96
|
+
hasMultipleSelection,
|
|
77
97
|
trackFocusPrevAction,
|
|
78
|
-
|
|
98
|
+
mutableItemMeta,
|
|
99
|
+
mutableFocusItem,
|
|
100
|
+
mutableInternalMeta,
|
|
101
|
+
trackFocusRegionPanelFocusMoveAll,
|
|
102
|
+
isDestinationPanel,
|
|
103
|
+
trackFocusItemReset,
|
|
104
|
+
trackFocusActionReset,
|
|
79
105
|
trackFocusItem,
|
|
80
|
-
|
|
106
|
+
mutableConfiguredDatum,
|
|
81
107
|
trackFocusNextAction,
|
|
82
108
|
trackFocusPrevItem,
|
|
83
109
|
trackFocusActionParent,
|
|
@@ -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';\nimport { useFocusItemTracker, useFocusActionTrackers } from '../../config/useFocusTracker';\nimport { type DSShuttleV2T } from '../../react-desc-prop-types';\nimport { useInternalStore } from '../../config/useStore';\n\nexport const useItemArrowNavigation = (itemMeta: DSShuttleV2T.ItemMeta) => {\n const { mutableFocusItem, trackFocusPrevItem, trackFocusNextItem, trackFocusItem }
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;
|
|
4
|
+
"sourcesContent": ["/* eslint-disable max-statements */\n/* eslint-disable complexity */\nimport React from 'react';\nimport { useMakeMutable } from '@elliemae/ds-utilities';\nimport { useFocusItemTracker, useFocusActionTrackers, useFocusRegionTrackers } from '../../config/useFocusTracker';\nimport { type DSShuttleV2T } from '../../react-desc-prop-types';\nimport { useInternalStore } from '../../config/useStore';\n\nexport const useItemArrowNavigation = (itemMeta: DSShuttleV2T.ItemMeta) => {\n const { trackFocusRegionPanelFocusMoveAll } = useFocusRegionTrackers();\n const { mutableFocusItem, trackFocusPrevItem, trackFocusNextItem, trackFocusItem, trackFocusItemReset } =\n useFocusItemTracker();\n const { trackFocusNextAction, trackFocusPrevAction, trackFocusActionParent, trackFocusActionReset } =\n useFocusActionTrackers();\n const { datumInternalMeta, datum, hasMultipleSelection, isDestinationPanel } = itemMeta;\n const configuredDatum = React.useMemo(() => ({ original: datum, ...datumInternalMeta }), [datum, datumInternalMeta]);\n\n const getIsDragAndDropHappening = useInternalStore((state) => state.getIsDragAndDropHappening);\n // some optimization to avoid useless re-renders just because the \"onKeyDown\" callback changes...\n // all the \"trackFocus\" must be optimized and memoized too for this to make any sense\n const mutableItemMeta = useMakeMutable(itemMeta);\n const mutableInternalMeta = useMakeMutable(datumInternalMeta);\n const mutableConfiguredDatum = useMakeMutable(configuredDatum);\n\n const onItemContainerKeyDown = React.useCallback<React.KeyboardEventHandler<HTMLDivElement>>(\n (e) => {\n const { key } = e;\n const isDragAndDropHappening = getIsDragAndDropHappening();\n if (isDragAndDropHappening) {\n e.preventDefault();\n return;\n }\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 (hasMultipleSelection) {\n trackFocusRegionPanelFocusMoveAll(isDestinationPanel);\n trackFocusItemReset();\n trackFocusActionReset();\n return;\n }\n\n trackFocusPrevAction(mutableItemMeta.current);\n if (\n (mutableFocusItem.current === 'first' && mutableInternalMeta.current.isFirst) ||\n (mutableFocusItem.current === 'last' && mutableInternalMeta.current.isLast)\n ) {\n trackFocusItem(mutableConfiguredDatum.current);\n }\n return;\n }\n if (key === 'ArrowRight') {\n if (hasMultipleSelection) {\n trackFocusRegionPanelFocusMoveAll(isDestinationPanel);\n trackFocusItemReset();\n trackFocusActionReset();\n return;\n }\n trackFocusNextAction(mutableItemMeta.current);\n if (\n (mutableFocusItem.current === 'first' && mutableInternalMeta.current.isFirst) ||\n (mutableFocusItem.current === 'last' && mutableInternalMeta.current.isLast)\n ) {\n trackFocusItem(mutableConfiguredDatum.current);\n }\n return;\n }\n if (key === 'ArrowUp') {\n trackFocusPrevItem(mutableItemMeta.current);\n trackFocusActionParent();\n return;\n }\n if (key === 'ArrowDown') {\n trackFocusNextItem(mutableItemMeta.current);\n trackFocusActionParent();\n return;\n }\n },\n [\n getIsDragAndDropHappening,\n hasMultipleSelection,\n trackFocusPrevAction,\n mutableItemMeta,\n mutableFocusItem,\n mutableInternalMeta,\n trackFocusRegionPanelFocusMoveAll,\n isDestinationPanel,\n trackFocusItemReset,\n trackFocusActionReset,\n trackFocusItem,\n mutableConfiguredDatum,\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;ADEvB,mBAAkB;AAClB,0BAA+B;AAC/B,6BAAoF;AAEpF,sBAAiC;AAE1B,MAAM,yBAAyB,CAAC,aAAoC;AACzE,QAAM,EAAE,kCAAkC,QAAI,+CAAuB;AACrE,QAAM,EAAE,kBAAkB,oBAAoB,oBAAoB,gBAAgB,oBAAoB,QACpG,4CAAoB;AACtB,QAAM,EAAE,sBAAsB,sBAAsB,wBAAwB,sBAAsB,QAChG,+CAAuB;AACzB,QAAM,EAAE,mBAAmB,OAAO,sBAAsB,mBAAmB,IAAI;AAC/E,QAAM,kBAAkB,aAAAA,QAAM,QAAQ,OAAO,EAAE,UAAU,OAAO,GAAG,kBAAkB,IAAI,CAAC,OAAO,iBAAiB,CAAC;AAEnH,QAAM,gCAA4B,kCAAiB,CAAC,UAAU,MAAM,yBAAyB;AAG7F,QAAM,sBAAkB,oCAAe,QAAQ;AAC/C,QAAM,0BAAsB,oCAAe,iBAAiB;AAC5D,QAAM,6BAAyB,oCAAe,eAAe;AAE7D,QAAM,yBAAyB,aAAAA,QAAM;AAAA,IACnC,CAAC,MAAM;AACL,YAAM,EAAE,IAAI,IAAI;AAChB,YAAM,yBAAyB,0BAA0B;AACzD,UAAI,wBAAwB;AAC1B,UAAE,eAAe;AACjB;AAAA,MACF;AAGA,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,YAAI,sBAAsB;AACxB,4CAAkC,kBAAkB;AACpD,8BAAoB;AACpB,gCAAsB;AACtB;AAAA,QACF;AAEA,6BAAqB,gBAAgB,OAAO;AAC5C,YACG,iBAAiB,YAAY,WAAW,oBAAoB,QAAQ,WACpE,iBAAiB,YAAY,UAAU,oBAAoB,QAAQ,QACpE;AACA,yBAAe,uBAAuB,OAAO;AAAA,QAC/C;AACA;AAAA,MACF;AACA,UAAI,QAAQ,cAAc;AACxB,YAAI,sBAAsB;AACxB,4CAAkC,kBAAkB;AACpD,8BAAoB;AACpB,gCAAsB;AACtB;AAAA,QACF;AACA,6BAAqB,gBAAgB,OAAO;AAC5C,YACG,iBAAiB,YAAY,WAAW,oBAAoB,QAAQ,WACpE,iBAAiB,YAAY,UAAU,oBAAoB,QAAQ,QACpE;AACA,yBAAe,uBAAuB,OAAO;AAAA,QAC/C;AACA;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACrB,2BAAmB,gBAAgB,OAAO;AAC1C,+BAAuB;AACvB;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACvB,2BAAmB,gBAAgB,OAAO;AAC1C,+BAAuB;AACvB;AAAA,MACF;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,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
|
}
|