@elliemae/ds-shuttle-v2 3.13.1-rc.0 → 3.14.0-next.2
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 +2 -3
- package/dist/cjs/DSShuttleV2.js.map +3 -3
- package/dist/cjs/config/DSShuttleV2Definitions.js +67 -0
- package/dist/cjs/config/DSShuttleV2Definitions.js.map +7 -0
- package/dist/cjs/config/itemMovementHelpers.js +17 -1
- package/dist/cjs/config/itemMovementHelpers.js.map +2 -2
- package/dist/cjs/config/useAutoCalculated/index.js +39 -0
- package/dist/cjs/config/useAutoCalculated/index.js.map +7 -0
- package/dist/cjs/config/{configureAutoCalculated.js → useAutoCalculated/useDataStructure.js} +22 -12
- package/dist/cjs/config/useAutoCalculated/useDataStructure.js.map +7 -0
- package/dist/cjs/config/useAutoCalculated/useShuttleVirtualized.js +98 -0
- package/dist/cjs/config/useAutoCalculated/useShuttleVirtualized.js.map +7 -0
- package/dist/cjs/config/useFocusTracker/useFocusActionTrackers.js +6 -6
- package/dist/cjs/config/useFocusTracker/useFocusActionTrackers.js.map +2 -2
- package/dist/cjs/config/useShuttleV2.js +4 -5
- package/dist/cjs/config/useShuttleV2.js.map +2 -2
- package/dist/cjs/config/useStore/useStore.js +14 -5
- package/dist/cjs/config/useStore/useStore.js.map +2 -2
- package/dist/cjs/constants/index.js +4 -0
- package/dist/cjs/constants/index.js.map +2 -2
- package/dist/cjs/index.js +5 -1
- package/dist/cjs/index.js.map +2 -2
- package/dist/cjs/parts/Dnd/DndHandle.js +64 -0
- package/dist/cjs/parts/Dnd/DndHandle.js.map +7 -0
- package/dist/cjs/parts/Dnd/DropIndicator.js +88 -0
- package/dist/cjs/parts/Dnd/DropIndicator.js.map +7 -0
- package/dist/cjs/parts/Header.js +2 -1
- package/dist/cjs/parts/Header.js.map +2 -2
- package/dist/cjs/parts/HoC/withConditionalDnDRowContext.js +90 -0
- package/dist/cjs/parts/HoC/withConditionalDnDRowContext.js.map +7 -0
- package/dist/cjs/parts/HoC/withConditionalUseSortable.js +38 -0
- package/dist/cjs/parts/HoC/withConditionalUseSortable.js.map +7 -0
- package/dist/cjs/parts/Item/Item.js +64 -11
- package/dist/cjs/parts/Item/Item.js.map +3 -3
- package/dist/cjs/parts/Item/ItemActions/ItemActions.js +10 -9
- package/dist/cjs/parts/Item/ItemActions/ItemActions.js.map +2 -2
- package/dist/cjs/parts/Item/ItemActions/useActionsLogicHandlers.js +16 -1
- package/dist/cjs/parts/Item/ItemActions/useActionsLogicHandlers.js.map +2 -2
- package/dist/cjs/parts/Item/ItemActions/useInnerRefHandlers.js +18 -4
- package/dist/cjs/parts/Item/ItemActions/useInnerRefHandlers.js.map +2 -2
- package/dist/cjs/parts/Item/ItemMiddleSection.js +4 -3
- package/dist/cjs/parts/Item/ItemMiddleSection.js.map +2 -2
- package/dist/cjs/parts/Item/ItemOverlay.js +61 -0
- package/dist/cjs/parts/Item/ItemOverlay.js.map +7 -0
- package/dist/cjs/parts/Item/ItemSelection.js +2 -1
- package/dist/cjs/parts/Item/ItemSelection.js.map +2 -2
- package/dist/cjs/parts/Item/useItemArrowNavigation.js +7 -0
- package/dist/cjs/parts/Item/useItemArrowNavigation.js.map +2 -2
- package/dist/cjs/parts/Item/useSelectionLogic.js +12 -1
- package/dist/cjs/parts/Item/useSelectionLogic.js.map +2 -2
- package/dist/cjs/parts/MainContent.js +2 -1
- package/dist/cjs/parts/MainContent.js.map +2 -2
- package/dist/cjs/parts/Panel/bottom/LoadMoreBtn.js +5 -1
- package/dist/cjs/parts/Panel/bottom/LoadMoreBtn.js.map +2 -2
- package/dist/cjs/parts/Panel/bottom/LoadingMore.js +5 -1
- package/dist/cjs/parts/Panel/bottom/LoadingMore.js.map +2 -2
- package/dist/cjs/parts/Panel/bottom/PanelContentBottomSection.js +2 -1
- package/dist/cjs/parts/Panel/bottom/PanelContentBottomSection.js.map +2 -2
- package/dist/cjs/parts/Panel/bottom/useLoadMoreBtnArrowNavigation.js +14 -1
- package/dist/cjs/parts/Panel/bottom/useLoadMoreBtnArrowNavigation.js.map +2 -2
- package/dist/cjs/parts/Panel/middle/EmptyItems.js +2 -1
- package/dist/cjs/parts/Panel/middle/EmptyItems.js.map +2 -2
- package/dist/cjs/parts/Panel/middle/ItemListWrapper.js +48 -102
- package/dist/cjs/parts/Panel/middle/ItemListWrapper.js.map +2 -2
- package/dist/cjs/parts/Panel/middle/LoadingItems.js +2 -1
- package/dist/cjs/parts/Panel/middle/LoadingItems.js.map +2 -2
- package/dist/cjs/parts/Panel/middle/MultipleSelectionAction.js +9 -7
- package/dist/cjs/parts/Panel/middle/MultipleSelectionAction.js.map +2 -2
- package/dist/cjs/parts/Panel/middle/PanelContentMiddleSection.js +120 -7
- package/dist/cjs/parts/Panel/middle/PanelContentMiddleSection.js.map +2 -2
- package/dist/cjs/parts/Panel/top/PanelContentTopSection.js +2 -1
- package/dist/cjs/parts/Panel/top/PanelContentTopSection.js.map +2 -2
- package/dist/cjs/parts/Panel/top/PanelFilterSection.js +3 -2
- package/dist/cjs/parts/Panel/top/PanelFilterSection.js.map +2 -2
- package/dist/cjs/parts/Panel/top/SelectionHeader.js +7 -3
- package/dist/cjs/parts/Panel/top/SelectionHeader.js.map +2 -2
- package/dist/cjs/parts/PanelWrapper.js +3 -2
- package/dist/cjs/parts/PanelWrapper.js.map +2 -2
- package/dist/cjs/react-desc-prop-types.js +14 -2
- package/dist/cjs/react-desc-prop-types.js.map +2 -2
- package/dist/esm/DSShuttleV2.js +2 -3
- package/dist/esm/DSShuttleV2.js.map +3 -3
- package/dist/esm/config/DSShuttleV2Definitions.js +41 -0
- package/dist/esm/config/DSShuttleV2Definitions.js.map +7 -0
- package/dist/esm/config/itemMovementHelpers.js +17 -1
- package/dist/esm/config/itemMovementHelpers.js.map +2 -2
- package/dist/esm/config/useAutoCalculated/index.js +13 -0
- package/dist/esm/config/useAutoCalculated/index.js.map +7 -0
- package/dist/esm/config/{configureAutoCalculated.js → useAutoCalculated/useDataStructure.js} +19 -9
- package/dist/esm/config/useAutoCalculated/useDataStructure.js.map +7 -0
- package/dist/esm/config/useAutoCalculated/useShuttleVirtualized.js +72 -0
- package/dist/esm/config/useAutoCalculated/useShuttleVirtualized.js.map +7 -0
- package/dist/esm/config/useFocusTracker/useFocusActionTrackers.js +6 -6
- package/dist/esm/config/useFocusTracker/useFocusActionTrackers.js.map +2 -2
- package/dist/esm/config/useShuttleV2.js +4 -5
- package/dist/esm/config/useShuttleV2.js.map +2 -2
- package/dist/esm/config/useStore/useStore.js +14 -5
- package/dist/esm/config/useStore/useStore.js.map +2 -2
- package/dist/esm/constants/index.js +4 -0
- package/dist/esm/constants/index.js.map +2 -2
- package/dist/esm/index.js +5 -1
- package/dist/esm/index.js.map +2 -2
- package/dist/esm/parts/Dnd/DndHandle.js +38 -0
- package/dist/esm/parts/Dnd/DndHandle.js.map +7 -0
- package/dist/esm/parts/Dnd/DropIndicator.js +62 -0
- package/dist/esm/parts/Dnd/DropIndicator.js.map +7 -0
- package/dist/esm/parts/Header.js +2 -1
- package/dist/esm/parts/Header.js.map +2 -2
- package/dist/esm/parts/HoC/withConditionalDnDRowContext.js +64 -0
- package/dist/esm/parts/HoC/withConditionalDnDRowContext.js.map +7 -0
- package/dist/esm/parts/HoC/withConditionalUseSortable.js +12 -0
- package/dist/esm/parts/HoC/withConditionalUseSortable.js.map +7 -0
- package/dist/esm/parts/Item/Item.js +66 -13
- package/dist/esm/parts/Item/Item.js.map +2 -2
- package/dist/esm/parts/Item/ItemActions/ItemActions.js +10 -9
- package/dist/esm/parts/Item/ItemActions/ItemActions.js.map +2 -2
- package/dist/esm/parts/Item/ItemActions/useActionsLogicHandlers.js +16 -1
- package/dist/esm/parts/Item/ItemActions/useActionsLogicHandlers.js.map +2 -2
- package/dist/esm/parts/Item/ItemActions/useInnerRefHandlers.js +18 -4
- package/dist/esm/parts/Item/ItemActions/useInnerRefHandlers.js.map +2 -2
- package/dist/esm/parts/Item/ItemMiddleSection.js +4 -3
- package/dist/esm/parts/Item/ItemMiddleSection.js.map +2 -2
- package/dist/esm/parts/Item/ItemOverlay.js +35 -0
- package/dist/esm/parts/Item/ItemOverlay.js.map +7 -0
- package/dist/esm/parts/Item/ItemSelection.js +2 -1
- package/dist/esm/parts/Item/ItemSelection.js.map +2 -2
- package/dist/esm/parts/Item/useItemArrowNavigation.js +7 -0
- package/dist/esm/parts/Item/useItemArrowNavigation.js.map +2 -2
- package/dist/esm/parts/Item/useSelectionLogic.js +13 -2
- package/dist/esm/parts/Item/useSelectionLogic.js.map +2 -2
- package/dist/esm/parts/MainContent.js +2 -1
- package/dist/esm/parts/MainContent.js.map +2 -2
- package/dist/esm/parts/Panel/bottom/LoadMoreBtn.js +5 -1
- package/dist/esm/parts/Panel/bottom/LoadMoreBtn.js.map +2 -2
- package/dist/esm/parts/Panel/bottom/LoadingMore.js +5 -1
- package/dist/esm/parts/Panel/bottom/LoadingMore.js.map +2 -2
- package/dist/esm/parts/Panel/bottom/PanelContentBottomSection.js +2 -1
- package/dist/esm/parts/Panel/bottom/PanelContentBottomSection.js.map +2 -2
- package/dist/esm/parts/Panel/bottom/useLoadMoreBtnArrowNavigation.js +14 -1
- package/dist/esm/parts/Panel/bottom/useLoadMoreBtnArrowNavigation.js.map +2 -2
- package/dist/esm/parts/Panel/middle/EmptyItems.js +2 -1
- package/dist/esm/parts/Panel/middle/EmptyItems.js.map +2 -2
- package/dist/esm/parts/Panel/middle/ItemListWrapper.js +50 -104
- package/dist/esm/parts/Panel/middle/ItemListWrapper.js.map +2 -2
- package/dist/esm/parts/Panel/middle/LoadingItems.js +2 -1
- package/dist/esm/parts/Panel/middle/LoadingItems.js.map +2 -2
- package/dist/esm/parts/Panel/middle/MultipleSelectionAction.js +9 -7
- package/dist/esm/parts/Panel/middle/MultipleSelectionAction.js.map +2 -2
- package/dist/esm/parts/Panel/middle/PanelContentMiddleSection.js +122 -9
- package/dist/esm/parts/Panel/middle/PanelContentMiddleSection.js.map +2 -2
- package/dist/esm/parts/Panel/top/PanelContentTopSection.js +2 -1
- package/dist/esm/parts/Panel/top/PanelContentTopSection.js.map +2 -2
- package/dist/esm/parts/Panel/top/PanelFilterSection.js +3 -2
- package/dist/esm/parts/Panel/top/PanelFilterSection.js.map +2 -2
- package/dist/esm/parts/Panel/top/SelectionHeader.js +7 -3
- package/dist/esm/parts/Panel/top/SelectionHeader.js.map +2 -2
- package/dist/esm/parts/PanelWrapper.js +3 -2
- package/dist/esm/parts/PanelWrapper.js.map +2 -2
- package/dist/esm/react-desc-prop-types.js +14 -2
- package/dist/esm/react-desc-prop-types.js.map +2 -2
- package/package.json +13 -11
- package/dist/cjs/config/configureAutoCalculated.js.map +0 -7
- package/dist/esm/config/configureAutoCalculated.js.map +0 -7
|
@@ -40,8 +40,8 @@ var import_zustand = __toESM(require("zustand"));
|
|
|
40
40
|
var import_context = __toESM(require("zustand/context"));
|
|
41
41
|
var import_ds_utilities = require("@elliemae/ds-utilities");
|
|
42
42
|
var import_react_desc_prop_types = require("../../react-desc-prop-types");
|
|
43
|
-
var
|
|
44
|
-
const internalStoreCreatorFunc = (
|
|
43
|
+
var import_useAutoCalculated = require("../useAutoCalculated");
|
|
44
|
+
const internalStoreCreatorFunc = (autoCalculatedData) => (0, import_zustand.default)((set, get) => {
|
|
45
45
|
const constants = {
|
|
46
46
|
set
|
|
47
47
|
};
|
|
@@ -66,12 +66,20 @@ const internalStoreCreatorFunc = (propsWithDefaults) => (0, import_zustand.defau
|
|
|
66
66
|
set({ focusItemAction: focusItemAction(get().focusItemAction, get()) });
|
|
67
67
|
else
|
|
68
68
|
set({ focusItemAction });
|
|
69
|
-
}
|
|
69
|
+
},
|
|
70
|
+
dropIndicatorPosition: 0,
|
|
71
|
+
setDropIndicatorPosition: (dropIndicatorPosition) => set({ dropIndicatorPosition }),
|
|
72
|
+
overId: "",
|
|
73
|
+
setOverId: (overId) => set({ overId }),
|
|
74
|
+
lastActiveId: "",
|
|
75
|
+
setLastActiveId: (lastActiveId) => set({ lastActiveId }),
|
|
76
|
+
isDropValid: false,
|
|
77
|
+
setIsDropValid: (isDropValid) => set({ isDropValid })
|
|
70
78
|
};
|
|
71
79
|
return {
|
|
72
80
|
...constants,
|
|
73
81
|
...internalAtoms,
|
|
74
|
-
...
|
|
82
|
+
...autoCalculatedData
|
|
75
83
|
};
|
|
76
84
|
});
|
|
77
85
|
const propsStoreCreatorFunc = (propsWithDefaults) => (0, import_zustand.default)((set) => ({
|
|
@@ -90,7 +98,8 @@ const {
|
|
|
90
98
|
} = (0, import_context.default)();
|
|
91
99
|
const useShuttleV2InternalStoreConfig = (propsFromUser) => {
|
|
92
100
|
const propsWithDefaults = (0, import_ds_utilities.useMemoMergePropsWithDefault)(propsFromUser, import_react_desc_prop_types.defaultProps);
|
|
93
|
-
|
|
101
|
+
const autoCalculatedData = (0, import_useAutoCalculated.useAutoCalculated)(propsWithDefaults);
|
|
102
|
+
return (0, import_react.useCallback)(() => internalStoreCreatorFunc(autoCalculatedData), [autoCalculatedData]);
|
|
94
103
|
};
|
|
95
104
|
const useShuttleV2PropsStoreConfig = (propsFromUser) => {
|
|
96
105
|
const propsWithDefaults = (0, import_ds_utilities.useMemoMergePropsWithDefault)(propsFromUser, import_react_desc_prop_types.defaultProps);
|
|
@@ -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';\
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAA4B;AAC5B,qBAAsC;AACtC,qBAA0B;
|
|
4
|
+
"sourcesContent": ["import { useCallback } from 'react';\nimport create, { type StoreApi } from 'zustand';\nimport createContext from 'zustand/context';\nimport { useMemoMergePropsWithDefault } from '@elliemae/ds-utilities';\nimport { type useShuttleVirtualized } from '../useAutoCalculated/useShuttleVirtualized';\nimport { type DSShuttleV2T, defaultProps } from '../../react-desc-prop-types';\nimport type { REGIONS_FOCUSES, ACTIONS_FOCUSES, ITEMS_FOCUSES } from '../../constants';\nimport { useAutoCalculated } from '../useAutoCalculated';\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\ntype UseShuttleVirtualizedT = ReturnType<typeof useShuttleVirtualized>;\nexport interface InternalAtoms {\n focusRegion: FocusRegion;\n setFocusRegion: FocusRegionSetter;\n focusItem: FocusItem;\n setFocusItem: FocusItemSetter;\n focusItemAction: FocusItemAction;\n setFocusItemAction: FocusItemActionSetter;\n dropIndicatorPosition: number;\n setDropIndicatorPosition: (newVal: number) => void;\n overId: string;\n setOverId: (newVal: string) => void;\n lastActiveId: string;\n setLastActiveId: (newVal: string) => void;\n isDropValid: boolean;\n setIsDropValid: (newVal: boolean) => void;\n}\nexport interface StoreConstants {\n set: StoreApi<InternalStore>['setState'];\n}\n\nexport interface InternalStore\n extends InternalAtoms,\n UseShuttleVirtualizedT,\n StoreConstants,\n ReturnType<typeof useAutoCalculated> {}\nexport interface PropsStore extends DSShuttleV2T.InternalProps {\n set: StoreApi<PropsStore>['setState'];\n}\n\nconst internalStoreCreatorFunc = (autoCalculatedData: ReturnType<typeof useAutoCalculated>) =>\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 dropIndicatorPosition: 0,\n setDropIndicatorPosition: (dropIndicatorPosition) => set({ dropIndicatorPosition }),\n overId: '',\n setOverId: (overId) => set({ overId }),\n lastActiveId: '',\n setLastActiveId: (lastActiveId) => set({ lastActiveId }),\n isDropValid: false,\n setIsDropValid: (isDropValid) => set({ isDropValid }),\n };\n\n return {\n ...constants,\n ...internalAtoms,\n ...autoCalculatedData,\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 const autoCalculatedData = useAutoCalculated(propsWithDefaults);\n return useCallback(() => internalStoreCreatorFunc(autoCalculatedData), [autoCalculatedData]);\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;AAC1B,0BAA6C;AAE7C,mCAAgD;AAEhD,+BAAkC;AA2ClC,MAAM,2BAA2B,CAAC,2BAChC,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,IACA,uBAAuB;AAAA,IACvB,0BAA0B,CAAC,0BAA0B,IAAI,EAAE,sBAAsB,CAAC;AAAA,IAClF,QAAQ;AAAA,IACR,WAAW,CAAC,WAAW,IAAI,EAAE,OAAO,CAAC;AAAA,IACrC,cAAc;AAAA,IACd,iBAAiB,CAAC,iBAAiB,IAAI,EAAE,aAAa,CAAC;AAAA,IACvD,aAAa;AAAA,IACb,gBAAgB,CAAC,gBAAgB,IAAI,EAAE,YAAY,CAAC;AAAA,EACtD;AAEA,SAAO;AAAA,IACL,GAAG;AAAA,IACH,GAAG;AAAA,IACH,GAAG;AAAA,EACL;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;AAC9G,QAAM,yBAAqB,4CAAkB,iBAAiB;AAC9D,aAAO,0BAAY,MAAM,yBAAyB,kBAAkB,GAAG,CAAC,kBAAkB,CAAC;AAC7F;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
|
+
DATA_TESTID: () => DATA_TESTID,
|
|
28
29
|
ITEMS_FOCUSES: () => ITEMS_FOCUSES,
|
|
29
30
|
REGIONS_FOCUSES: () => REGIONS_FOCUSES
|
|
30
31
|
});
|
|
@@ -57,4 +58,7 @@ const ITEMS_FOCUSES = {
|
|
|
57
58
|
GET_SPECIFIC_ITEM: ({ id }) => id,
|
|
58
59
|
RESET: ""
|
|
59
60
|
};
|
|
61
|
+
const DATA_TESTID = {
|
|
62
|
+
SHUTTLE_DRAG_HANDLE: "shuttle-drag-handle"
|
|
63
|
+
};
|
|
60
64
|
//# 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 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;",
|
|
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\nexport const DATA_TESTID = {\n SHUTTLE_DRAG_HANDLE: 'shuttle-drag-handle',\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;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;AAEO,MAAM,cAAc;AAAA,EACzB,qBAAqB;AACvB;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/cjs/index.js
CHANGED
|
@@ -24,9 +24,13 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
24
24
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
25
25
|
var src_exports = {};
|
|
26
26
|
__export(src_exports, {
|
|
27
|
-
DSShuttleV2: () => import_DSShuttleV2.DSShuttleV2
|
|
27
|
+
DSShuttleV2: () => import_DSShuttleV2.DSShuttleV2,
|
|
28
|
+
DSShuttleV2DataTestIds: () => import_DSShuttleV2Definitions.DSShuttleV2DataTestIds,
|
|
29
|
+
DSShuttleV2Name: () => import_DSShuttleV2Definitions.DSShuttleV2Name,
|
|
30
|
+
DSShuttleV2Slots: () => import_DSShuttleV2Definitions.DSShuttleV2Slots
|
|
28
31
|
});
|
|
29
32
|
module.exports = __toCommonJS(src_exports);
|
|
30
33
|
var React = __toESM(require("react"));
|
|
34
|
+
var import_DSShuttleV2Definitions = require("./config/DSShuttleV2Definitions");
|
|
31
35
|
var import_DSShuttleV2 = require("./DSShuttleV2");
|
|
32
36
|
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/index.ts", "../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;
|
|
4
|
+
"sourcesContent": ["import type {} from 'react-virtual';\nexport { DSShuttleV2Name, DSShuttleV2Slots, DSShuttleV2DataTestIds } from './config/DSShuttleV2Definitions';\nexport { DSShuttleV2 } from './DSShuttleV2';\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,oCAA0E;AAC1E,yBAA4B;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -0,0 +1,64 @@
|
|
|
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 DndHandle_exports = {};
|
|
26
|
+
__export(DndHandle_exports, {
|
|
27
|
+
DragHandle: () => DragHandle
|
|
28
|
+
});
|
|
29
|
+
module.exports = __toCommonJS(DndHandle_exports);
|
|
30
|
+
var React = __toESM(require("react"));
|
|
31
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
32
|
+
var import_react = require("react");
|
|
33
|
+
var import_ds_icons = require("@elliemae/ds-icons");
|
|
34
|
+
var import_ds_system = require("@elliemae/ds-system");
|
|
35
|
+
var import_ds_utilities = require("@elliemae/ds-utilities");
|
|
36
|
+
var import_constants = require("../../constants");
|
|
37
|
+
const StyledGripperButton = import_ds_system.styled.div`
|
|
38
|
+
cursor: ${({ isActive, isDragOverlay }) => isActive || isDragOverlay ? "grabbing" : "grab"};
|
|
39
|
+
outline: none;
|
|
40
|
+
display: flex;
|
|
41
|
+
align-items: center;
|
|
42
|
+
touch-action: none;
|
|
43
|
+
&:focus {
|
|
44
|
+
outline: 1px solid brand-700;
|
|
45
|
+
}
|
|
46
|
+
`;
|
|
47
|
+
const DragHandle = ({ id, isDndActive, isDragging, isDragOverlay, innerRef, useSortableHelpers }) => /* @__PURE__ */ (0, import_react.createElement)(
|
|
48
|
+
StyledGripperButton,
|
|
49
|
+
{
|
|
50
|
+
...useSortableHelpers && {
|
|
51
|
+
...useSortableHelpers.listeners,
|
|
52
|
+
...useSortableHelpers.attributes
|
|
53
|
+
},
|
|
54
|
+
isActive: isDndActive,
|
|
55
|
+
isDragOverlay,
|
|
56
|
+
ref: (0, import_ds_utilities.mergeRefs)(innerRef, useSortableHelpers?.setActivatorNodeRef),
|
|
57
|
+
tabIndex: -1,
|
|
58
|
+
"data-testid": import_constants.DATA_TESTID.SHUTTLE_DRAG_HANDLE,
|
|
59
|
+
id: `${id}-drag-handle`,
|
|
60
|
+
key: `${id}-drag-handle`
|
|
61
|
+
},
|
|
62
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_icons.GripperVertical, { size: "s", color: isDragging ? ["neutral", "500"] : ["brand-primary", "800"] })
|
|
63
|
+
);
|
|
64
|
+
//# sourceMappingURL=DndHandle.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/parts/Dnd/DndHandle.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
+
"sourcesContent": ["import React from 'react';\nimport { GripperVertical } from '@elliemae/ds-icons';\nimport type { useSortable } from '@elliemae/ds-drag-and-drop';\n\nimport { styled } from '@elliemae/ds-system';\nimport { mergeRefs } from '@elliemae/ds-utilities';\nimport { DATA_TESTID } from '../../constants';\n\nconst StyledGripperButton = styled.div<{\n isActive: boolean;\n isDragOverlay: boolean;\n}>`\n cursor: ${({ isActive, isDragOverlay }) => (isActive || isDragOverlay ? 'grabbing' : 'grab')};\n outline: none;\n display: flex;\n align-items: center;\n touch-action: none;\n &:focus {\n outline: 1px solid brand-700;\n }\n`;\n\nexport const DragHandle: React.ComponentType<{\n id: string;\n isDragOverlay?: boolean;\n innerRef: React.RefObject<HTMLDivElement> | React.RefCallback<HTMLDivElement>;\n useSortableHelpers: ReturnType<typeof useSortable>;\n isDndActive: boolean;\n isDragging: boolean;\n}> = ({ id, isDndActive, isDragging, isDragOverlay, innerRef, useSortableHelpers }) => (\n <StyledGripperButton\n {...(useSortableHelpers && {\n ...useSortableHelpers.listeners,\n ...useSortableHelpers.attributes,\n })}\n isActive={isDndActive}\n isDragOverlay={isDragOverlay}\n ref={mergeRefs(innerRef, useSortableHelpers?.setActivatorNodeRef)}\n tabIndex={-1}\n data-testid={DATA_TESTID.SHUTTLE_DRAG_HANDLE}\n id={`${id}-drag-handle`}\n key={`${id}-drag-handle`}\n >\n <GripperVertical size=\"s\" color={isDragging ? ['neutral', '500'] : ['brand-primary', '800']} />\n </StyledGripperButton>\n);\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;AD2CnB;AAbF;AA7BF,sBAAgC;AAGhC,uBAAuB;AACvB,0BAA0B;AAC1B,uBAA4B;AAE5B,MAAM,sBAAsB,wBAAO;AAAA,YAIvB,CAAC,EAAE,UAAU,cAAc,MAAO,YAAY,gBAAgB,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUhF,MAAM,aAOR,CAAC,EAAE,IAAI,aAAa,YAAY,eAAe,UAAU,mBAAmB,MAC/E;AAAA,EAAC;AAAA;AAAA,IACE,GAAI,sBAAsB;AAAA,MACzB,GAAG,mBAAmB;AAAA,MACtB,GAAG,mBAAmB;AAAA,IACxB;AAAA,IACA,UAAU;AAAA,IACV;AAAA,IACA,SAAK,+BAAU,UAAU,oBAAoB,mBAAmB;AAAA,IAChE,UAAU;AAAA,IACV,eAAa,6BAAY;AAAA,IACzB,IAAI,GAAG;AAAA,IACP,KAAK,GAAG;AAAA;AAAA,EAER,4CAAC,mCAAgB,MAAK,KAAI,OAAO,aAAa,CAAC,WAAW,KAAK,IAAI,CAAC,iBAAiB,KAAK,GAAG;AAC/F;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,88 @@
|
|
|
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 DropIndicator_exports = {};
|
|
26
|
+
__export(DropIndicator_exports, {
|
|
27
|
+
DropIndicator: () => DropIndicator,
|
|
28
|
+
default: () => DropIndicator_default
|
|
29
|
+
});
|
|
30
|
+
module.exports = __toCommonJS(DropIndicator_exports);
|
|
31
|
+
var React = __toESM(require("react"));
|
|
32
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
33
|
+
var import_ds_system = require("@elliemae/ds-system");
|
|
34
|
+
var DropIndicatorPosition = /* @__PURE__ */ ((DropIndicatorPosition2) => {
|
|
35
|
+
DropIndicatorPosition2[DropIndicatorPosition2["None"] = 0] = "None";
|
|
36
|
+
DropIndicatorPosition2[DropIndicatorPosition2["Before"] = 1] = "Before";
|
|
37
|
+
DropIndicatorPosition2[DropIndicatorPosition2["After"] = 2] = "After";
|
|
38
|
+
return DropIndicatorPosition2;
|
|
39
|
+
})(DropIndicatorPosition || {});
|
|
40
|
+
const getPositionStyles = ({ dropIndicatorPosition, vertical }) => {
|
|
41
|
+
if (vertical) {
|
|
42
|
+
return `
|
|
43
|
+
left: ${dropIndicatorPosition === 1 /* Before */ ? "0" : "unset"};
|
|
44
|
+
right: ${dropIndicatorPosition === 2 /* After */ ? "0" : "unset"};
|
|
45
|
+
`;
|
|
46
|
+
}
|
|
47
|
+
return `
|
|
48
|
+
top: ${dropIndicatorPosition === 1 /* Before */ ? "0" : "unset"};
|
|
49
|
+
bottom: ${dropIndicatorPosition === 2 /* After */ ? "0" : "unset"};
|
|
50
|
+
`;
|
|
51
|
+
};
|
|
52
|
+
const getCircleStyles = ({ dropIndicatorPosition, vertical }) => ({
|
|
53
|
+
position: "absolute",
|
|
54
|
+
top: vertical || dropIndicatorPosition === 2 /* After */ ? "unset" : "-2px",
|
|
55
|
+
bottom: vertical || dropIndicatorPosition === 1 /* Before */ ? "unset" : "-2px",
|
|
56
|
+
left: !vertical || dropIndicatorPosition === 2 /* After */ ? "unset" : "-2px",
|
|
57
|
+
right: !vertical || dropIndicatorPosition === 1 /* Before */ ? "unset" : "-2px",
|
|
58
|
+
opacity: 1
|
|
59
|
+
});
|
|
60
|
+
const StyledIndicator = import_ds_system.styled.div`
|
|
61
|
+
position: absolute;
|
|
62
|
+
${getPositionStyles}
|
|
63
|
+
box-sizing: border-box;
|
|
64
|
+
width: ${(props) => props.vertical ? "2px" : "100%"};
|
|
65
|
+
height: ${(props) => props.vertical ? "100%" : "2px"};
|
|
66
|
+
background-color: ${({ isDropValid, theme }) => isDropValid ? theme.colors.brand[600] : theme.colors.danger[900]};
|
|
67
|
+
`;
|
|
68
|
+
const CircleIndicator = (style, isDropValid) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { height: "6", width: "6", style, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: "3", cy: "3", r: "3", strokeWidth: "0", fill: isDropValid ? "#1E79C2" : "#C64252" }) });
|
|
69
|
+
const DropIndicator = (props) => {
|
|
70
|
+
const { vertical, dropIndicatorPosition, isLast, isDropValid } = props;
|
|
71
|
+
if (dropIndicatorPosition === false || ![2 /* After */, 1 /* Before */].includes(dropIndicatorPosition)) {
|
|
72
|
+
return null;
|
|
73
|
+
}
|
|
74
|
+
const safeDropIndicatorPosition = isLast ? 1 /* Before */ : dropIndicatorPosition;
|
|
75
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
|
|
76
|
+
CircleIndicator(getCircleStyles({ ...props, dropIndicatorPosition: safeDropIndicatorPosition }), isDropValid),
|
|
77
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
78
|
+
StyledIndicator,
|
|
79
|
+
{
|
|
80
|
+
vertical,
|
|
81
|
+
dropIndicatorPosition: safeDropIndicatorPosition,
|
|
82
|
+
isDropValid
|
|
83
|
+
}
|
|
84
|
+
)
|
|
85
|
+
] });
|
|
86
|
+
};
|
|
87
|
+
var DropIndicator_default = DropIndicator;
|
|
88
|
+
//# sourceMappingURL=DropIndicator.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/parts/Dnd/DropIndicator.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
+
"sourcesContent": ["import React from 'react';\nimport { styled } from '@elliemae/ds-system';\n\nenum DropIndicatorPosition {\n None = 0,\n Before = 1,\n After = 2,\n}\n\ninterface DropIndicatorProps {\n vertical: boolean;\n dropIndicatorPosition: false | DropIndicatorPosition;\n isDropValid: boolean;\n isLast?: boolean;\n}\n\nconst getPositionStyles = ({ dropIndicatorPosition, vertical }: DropIndicatorProps) => {\n if (vertical) {\n return `\n left: ${dropIndicatorPosition === DropIndicatorPosition.Before ? '0' : 'unset'};\n right: ${dropIndicatorPosition === DropIndicatorPosition.After ? '0' : 'unset'};\n `;\n }\n return `\n top: ${dropIndicatorPosition === DropIndicatorPosition.Before ? '0' : 'unset'};\n bottom: ${dropIndicatorPosition === DropIndicatorPosition.After ? '0' : 'unset'};\n `;\n};\n\nconst getCircleStyles = ({ dropIndicatorPosition, vertical }: DropIndicatorProps) => ({\n position: 'absolute',\n top: vertical || dropIndicatorPosition === DropIndicatorPosition.After ? 'unset' : '-2px',\n bottom: vertical || dropIndicatorPosition === DropIndicatorPosition.Before ? 'unset' : '-2px',\n left: !vertical || dropIndicatorPosition === DropIndicatorPosition.After ? 'unset' : '-2px',\n right: !vertical || dropIndicatorPosition === DropIndicatorPosition.Before ? 'unset' : '-2px',\n opacity: 1,\n});\n\nconst StyledIndicator = styled.div<DropIndicatorProps>`\n position: absolute;\n ${getPositionStyles}\n box-sizing: border-box;\n width: ${(props) => (props.vertical ? '2px' : '100%')};\n height: ${(props) => (props.vertical ? '100%' : '2px')};\n background-color: ${({ isDropValid, theme }) => (isDropValid ? theme.colors.brand[600] : theme.colors.danger[900])};\n`;\n\nconst CircleIndicator = (style: Record<string, unknown>, isDropValid: boolean) => (\n <svg height=\"6\" width=\"6\" style={style}>\n <circle cx=\"3\" cy=\"3\" r=\"3\" strokeWidth=\"0\" fill={isDropValid ? '#1E79C2' : '#C64252'} />\n </svg>\n);\n\nconst DropIndicator: React.ComponentType<DropIndicatorProps> = (props) => {\n const { vertical, dropIndicatorPosition, isLast, isDropValid } = props;\n if (\n dropIndicatorPosition === false ||\n ![DropIndicatorPosition.After, DropIndicatorPosition.Before].includes(dropIndicatorPosition)\n ) {\n return null;\n }\n\n const safeDropIndicatorPosition = isLast ? DropIndicatorPosition.Before : dropIndicatorPosition;\n return (\n <>\n {CircleIndicator(getCircleStyles({ ...props, dropIndicatorPosition: safeDropIndicatorPosition }), isDropValid)}\n <StyledIndicator\n vertical={vertical}\n dropIndicatorPosition={safeDropIndicatorPosition}\n isDropValid={isDropValid}\n />\n </>\n );\n};\n\nexport { DropIndicator };\nexport default DropIndicator;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADiDnB;AAhDJ,uBAAuB;AAEvB,IAAK,wBAAL,kBAAKA,2BAAL;AACE,EAAAA,8CAAA,UAAO,KAAP;AACA,EAAAA,8CAAA,YAAS,KAAT;AACA,EAAAA,8CAAA,WAAQ,KAAR;AAHG,SAAAA;AAAA,GAAA;AAaL,MAAM,oBAAoB,CAAC,EAAE,uBAAuB,SAAS,MAA0B;AACrF,MAAI,UAAU;AACZ,WAAO;AAAA,cACG,0BAA0B,iBAA+B,MAAM;AAAA,eAC9D,0BAA0B,gBAA8B,MAAM;AAAA;AAAA,EAE3E;AACA,SAAO;AAAA,aACI,0BAA0B,iBAA+B,MAAM;AAAA,gBAC5D,0BAA0B,gBAA8B,MAAM;AAAA;AAE9E;AAEA,MAAM,kBAAkB,CAAC,EAAE,uBAAuB,SAAS,OAA2B;AAAA,EACpF,UAAU;AAAA,EACV,KAAK,YAAY,0BAA0B,gBAA8B,UAAU;AAAA,EACnF,QAAQ,YAAY,0BAA0B,iBAA+B,UAAU;AAAA,EACvF,MAAM,CAAC,YAAY,0BAA0B,gBAA8B,UAAU;AAAA,EACrF,OAAO,CAAC,YAAY,0BAA0B,iBAA+B,UAAU;AAAA,EACvF,SAAS;AACX;AAEA,MAAM,kBAAkB,wBAAO;AAAA;AAAA,IAE3B;AAAA;AAAA,WAEO,CAAC,UAAW,MAAM,WAAW,QAAQ;AAAA,YACpC,CAAC,UAAW,MAAM,WAAW,SAAS;AAAA,sBAC5B,CAAC,EAAE,aAAa,MAAM,MAAO,cAAc,MAAM,OAAO,MAAM,OAAO,MAAM,OAAO,OAAO;AAAA;AAG/G,MAAM,kBAAkB,CAAC,OAAgC,gBACvD,4CAAC,SAAI,QAAO,KAAI,OAAM,KAAI,OACxB,sDAAC,YAAO,IAAG,KAAI,IAAG,KAAI,GAAE,KAAI,aAAY,KAAI,MAAM,cAAc,YAAY,WAAW,GACzF;AAGF,MAAM,gBAAyD,CAAC,UAAU;AACxE,QAAM,EAAE,UAAU,uBAAuB,QAAQ,YAAY,IAAI;AACjE,MACE,0BAA0B,SAC1B,CAAC,CAAC,eAA6B,cAA4B,EAAE,SAAS,qBAAqB,GAC3F;AACA,WAAO;AAAA,EACT;AAEA,QAAM,4BAA4B,SAAS,iBAA+B;AAC1E,SACE,4EACG;AAAA,oBAAgB,gBAAgB,EAAE,GAAG,OAAO,uBAAuB,0BAA0B,CAAC,GAAG,WAAW;AAAA,IAC7G;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,uBAAuB;AAAA,QACvB;AAAA;AAAA,IACF;AAAA,KACF;AAEJ;AAGA,IAAO,wBAAQ;",
|
|
6
|
+
"names": ["DropIndicatorPosition"]
|
|
7
|
+
}
|
package/dist/cjs/parts/Header.js
CHANGED
|
@@ -34,9 +34,10 @@ var import_ds_grid = require("@elliemae/ds-grid");
|
|
|
34
34
|
var import_ds_icons = require("@elliemae/ds-icons");
|
|
35
35
|
var import_ds_button = require("@elliemae/ds-button");
|
|
36
36
|
var import_ds_system = require("@elliemae/ds-system");
|
|
37
|
+
var import_DSShuttleV2Definitions = require("../config/DSShuttleV2Definitions");
|
|
37
38
|
var import_useStore = require("../config/useStore");
|
|
38
39
|
var import_useFocusTracker = require("../config/useFocusTracker");
|
|
39
|
-
const StyledIconButton = (0, import_ds_system.styled)(import_ds_button.DSButtonV2, { name:
|
|
40
|
+
const StyledIconButton = (0, import_ds_system.styled)(import_ds_button.DSButtonV2, { name: import_DSShuttleV2Definitions.DSShuttleV2Name, slot: import_DSShuttleV2Definitions.DSShuttleV2Slots.HEADER_SEARCH_ICON })`
|
|
40
41
|
width: 16px;
|
|
41
42
|
height: 16px;
|
|
42
43
|
`;
|
|
@@ -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 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:
|
|
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 { DSShuttleV2Name, DSShuttleV2Slots } from '../config/DSShuttleV2Definitions';\nimport { usePropsStore } from '../config/useStore';\nimport { useFocusTracker } from '../config/useFocusTracker';\nimport { type DSShuttleV2T } from '../react-desc-prop-types';\n\nconst StyledIconButton = styled(DSButtonV2, { name: DSShuttleV2Name, slot: DSShuttleV2Slots.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;AD+CnB;AA/CJ,mBAAkB;AAClB,qBAAqB;AACrB,sBAAuB;AACvB,uBAIO;AACP,uBAAuB;AACvB,oCAAkD;AAClD,sBAA8B;AAC9B,6BAAgC;AAGhC,MAAM,uBAAmB,yBAAO,6BAAY,EAAE,MAAM,+CAAiB,MAAM,+CAAiB,mBAAmB,CAAC;AAAA;AAAA;AAAA;AAIzG,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,uBAAK,SAAS,eAAe,MAC5B;AAAA,gDAAC,kBAAe;AAAA,IACf,kBACC,4CAAC,oBAAiB,YAAW,QAAO,SAAS,mBAC3C,sDAAC,0BAAO,OAAM,QAAO,QAAO,QAAO,GACrC,IACE;AAAA,KACN;AAEJ,CAAC;",
|
|
6
6
|
"names": ["React"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,90 @@
|
|
|
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 withConditionalDnDRowContext_exports = {};
|
|
26
|
+
__export(withConditionalDnDRowContext_exports, {
|
|
27
|
+
withConditionalDnDRowContext: () => withConditionalDnDRowContext
|
|
28
|
+
});
|
|
29
|
+
module.exports = __toCommonJS(withConditionalDnDRowContext_exports);
|
|
30
|
+
var React = __toESM(require("react"));
|
|
31
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
32
|
+
var import_react = require("react");
|
|
33
|
+
var import_ds_drag_and_drop = require("@elliemae/ds-drag-and-drop");
|
|
34
|
+
var import_react_dom = require("react-dom");
|
|
35
|
+
var import_useStore = require("../../config/useStore");
|
|
36
|
+
var import_ItemOverlay = require("../Item/ItemOverlay");
|
|
37
|
+
const withConditionalDnDRowContext = (Component) => (props) => {
|
|
38
|
+
const { isDestinationPanel } = props;
|
|
39
|
+
const itemList = (0, import_useStore.useInternalStore)(
|
|
40
|
+
(state) => isDestinationPanel ? state.destinationConfiguredData : state.sourceConfiguredData
|
|
41
|
+
);
|
|
42
|
+
const withDragNDrop = (0, import_useStore.usePropsStore)(
|
|
43
|
+
(state) => isDestinationPanel ? !state.removeDragAndDropFromDestination : state.addDragAndDropFromSource
|
|
44
|
+
);
|
|
45
|
+
const setOverId = (0, import_useStore.useInternalStore)((state) => state.setOverId);
|
|
46
|
+
const setIsDropValid = (0, import_useStore.useInternalStore)((state) => state.setIsDropValid);
|
|
47
|
+
const setLastActiveId = (0, import_useStore.useInternalStore)((state) => state.setLastActiveId);
|
|
48
|
+
const setDropIndicatorPosition = (0, import_useStore.useInternalStore)((state) => state.setDropIndicatorPosition);
|
|
49
|
+
const onItemsReorder = (0, import_useStore.usePropsStore)(
|
|
50
|
+
(state) => isDestinationPanel ? state.onDestinationReorder : state.onSourceReorder
|
|
51
|
+
);
|
|
52
|
+
const onReorder = (0, import_react.useCallback)(
|
|
53
|
+
(newData, metadata) => {
|
|
54
|
+
onItemsReorder(newData, { active: metadata.active.original, targetIndex: metadata.targetIndex });
|
|
55
|
+
},
|
|
56
|
+
[onItemsReorder]
|
|
57
|
+
);
|
|
58
|
+
const { dndContextProps, sortableContextProps, activeId, overId, dropIndicatorPosition, isDropValid } = (0, import_ds_drag_and_drop.useTreeDndkitConfig)({
|
|
59
|
+
flattenedItems: itemList,
|
|
60
|
+
visibleItems: itemList,
|
|
61
|
+
isHorizontalDnD: false,
|
|
62
|
+
isExpandable: false,
|
|
63
|
+
onReorder,
|
|
64
|
+
maxDragAndDropLevel: 0,
|
|
65
|
+
getIsDropValid: () => true
|
|
66
|
+
});
|
|
67
|
+
(0, import_react.useEffect)(() => {
|
|
68
|
+
setLastActiveId(activeId);
|
|
69
|
+
}, [activeId, setLastActiveId]);
|
|
70
|
+
(0, import_react.useEffect)(() => {
|
|
71
|
+
setOverId(overId);
|
|
72
|
+
}, [overId, setOverId]);
|
|
73
|
+
(0, import_react.useEffect)(() => {
|
|
74
|
+
setIsDropValid(isDropValid);
|
|
75
|
+
}, [isDropValid, setIsDropValid]);
|
|
76
|
+
(0, import_react.useEffect)(() => {
|
|
77
|
+
setDropIndicatorPosition(dropIndicatorPosition);
|
|
78
|
+
}, [dropIndicatorPosition, setDropIndicatorPosition]);
|
|
79
|
+
const item = itemList.find((currentItem) => currentItem.original.id === activeId);
|
|
80
|
+
if (withDragNDrop)
|
|
81
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_ds_drag_and_drop.DndContext, { ...dndContextProps, children: [
|
|
82
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_drag_and_drop.SortableContext, { ...sortableContextProps, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Component, { ...props }) }),
|
|
83
|
+
(0, import_react_dom.createPortal)(
|
|
84
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_drag_and_drop.DragOverlay, { style: { width: "auto" }, children: activeId ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ItemOverlay.ItemOverlay, { item, ...props }) : null }),
|
|
85
|
+
document.body
|
|
86
|
+
)
|
|
87
|
+
] });
|
|
88
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Component, { ...props });
|
|
89
|
+
};
|
|
90
|
+
//# sourceMappingURL=withConditionalDnDRowContext.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/parts/HoC/withConditionalDnDRowContext.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
+
"sourcesContent": ["/* eslint-disable max-params */\n/* eslint-disable react/function-component-definition */\nimport React, { useCallback, useEffect } from 'react';\nimport { DndContext, DragOverlay, SortableContext, useTreeDndkitConfig } from '@elliemae/ds-drag-and-drop';\nimport { createPortal } from 'react-dom';\nimport { useInternalStore, usePropsStore } from '../../config/useStore';\nimport { ItemOverlay } from '../Item/ItemOverlay';\n\ntype FunctionalHOC = <T = any>(Component: React.ComponentType<T>, ...other: any[]) => (props: T) => JSX.Element;\n\n// only wraps in \"DnDContext\" and \"DnDTreeContext\" if any Drag and Drop functionality is requested\nexport const withConditionalDnDRowContext: FunctionalHOC = (Component) => (props) => {\n const { isDestinationPanel } = props;\n const itemList = useInternalStore((state) =>\n isDestinationPanel ? state.destinationConfiguredData : state.sourceConfiguredData,\n );\n\n const withDragNDrop = usePropsStore((state) =>\n isDestinationPanel ? !state.removeDragAndDropFromDestination : state.addDragAndDropFromSource,\n );\n\n const setOverId = useInternalStore((state) => state.setOverId);\n const setIsDropValid = useInternalStore((state) => state.setIsDropValid);\n const setLastActiveId = useInternalStore((state) => state.setLastActiveId);\n const setDropIndicatorPosition = useInternalStore((state) => state.setDropIndicatorPosition);\n\n const onItemsReorder = usePropsStore((state) =>\n isDestinationPanel ? state.onDestinationReorder : state.onSourceReorder,\n );\n\n const onReorder = useCallback(\n (newData: unknown, metadata: { targetIndex: number; active: unknown }) => {\n onItemsReorder(newData, { active: metadata.active.original, targetIndex: metadata.targetIndex });\n },\n [onItemsReorder],\n );\n\n const { dndContextProps, sortableContextProps, activeId, overId, dropIndicatorPosition, isDropValid } =\n useTreeDndkitConfig({\n flattenedItems: itemList,\n visibleItems: itemList,\n isHorizontalDnD: false,\n isExpandable: false,\n onReorder,\n maxDragAndDropLevel: 0,\n getIsDropValid: () => true,\n });\n\n useEffect(() => {\n setLastActiveId(activeId);\n }, [activeId, setLastActiveId]);\n\n useEffect(() => {\n setOverId(overId);\n }, [overId, setOverId]);\n\n useEffect(() => {\n setIsDropValid(isDropValid);\n }, [isDropValid, setIsDropValid]);\n\n useEffect(() => {\n setDropIndicatorPosition(dropIndicatorPosition);\n }, [dropIndicatorPosition, setDropIndicatorPosition]);\n\n const item = itemList.find((currentItem) => currentItem.original.id === activeId);\n if (withDragNDrop)\n return (\n <DndContext {...dndContextProps}>\n <SortableContext {...sortableContextProps}>\n <Component {...props} />\n </SortableContext>\n {createPortal(\n <DragOverlay style={{ width: 'auto' }}>\n {activeId ? <ItemOverlay item={item} {...props} /> : null}\n </DragOverlay>,\n document.body,\n )}\n </DndContext>\n );\n return <Component {...props} />;\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADmEjB;AAjEN,mBAA8C;AAC9C,8BAA8E;AAC9E,uBAA6B;AAC7B,sBAAgD;AAChD,yBAA4B;AAKrB,MAAM,+BAA8C,CAAC,cAAc,CAAC,UAAU;AACnF,QAAM,EAAE,mBAAmB,IAAI;AAC/B,QAAM,eAAW;AAAA,IAAiB,CAAC,UACjC,qBAAqB,MAAM,4BAA4B,MAAM;AAAA,EAC/D;AAEA,QAAM,oBAAgB;AAAA,IAAc,CAAC,UACnC,qBAAqB,CAAC,MAAM,mCAAmC,MAAM;AAAA,EACvE;AAEA,QAAM,gBAAY,kCAAiB,CAAC,UAAU,MAAM,SAAS;AAC7D,QAAM,qBAAiB,kCAAiB,CAAC,UAAU,MAAM,cAAc;AACvE,QAAM,sBAAkB,kCAAiB,CAAC,UAAU,MAAM,eAAe;AACzE,QAAM,+BAA2B,kCAAiB,CAAC,UAAU,MAAM,wBAAwB;AAE3F,QAAM,qBAAiB;AAAA,IAAc,CAAC,UACpC,qBAAqB,MAAM,uBAAuB,MAAM;AAAA,EAC1D;AAEA,QAAM,gBAAY;AAAA,IAChB,CAAC,SAAkB,aAAuD;AACxE,qBAAe,SAAS,EAAE,QAAQ,SAAS,OAAO,UAAU,aAAa,SAAS,YAAY,CAAC;AAAA,IACjG;AAAA,IACA,CAAC,cAAc;AAAA,EACjB;AAEA,QAAM,EAAE,iBAAiB,sBAAsB,UAAU,QAAQ,uBAAuB,YAAY,QAClG,6CAAoB;AAAA,IAClB,gBAAgB;AAAA,IAChB,cAAc;AAAA,IACd,iBAAiB;AAAA,IACjB,cAAc;AAAA,IACd;AAAA,IACA,qBAAqB;AAAA,IACrB,gBAAgB,MAAM;AAAA,EACxB,CAAC;AAEH,8BAAU,MAAM;AACd,oBAAgB,QAAQ;AAAA,EAC1B,GAAG,CAAC,UAAU,eAAe,CAAC;AAE9B,8BAAU,MAAM;AACd,cAAU,MAAM;AAAA,EAClB,GAAG,CAAC,QAAQ,SAAS,CAAC;AAEtB,8BAAU,MAAM;AACd,mBAAe,WAAW;AAAA,EAC5B,GAAG,CAAC,aAAa,cAAc,CAAC;AAEhC,8BAAU,MAAM;AACd,6BAAyB,qBAAqB;AAAA,EAChD,GAAG,CAAC,uBAAuB,wBAAwB,CAAC;AAEpD,QAAM,OAAO,SAAS,KAAK,CAAC,gBAAgB,YAAY,SAAS,OAAO,QAAQ;AAChF,MAAI;AACF,WACE,6CAAC,sCAAY,GAAG,iBACd;AAAA,kDAAC,2CAAiB,GAAG,sBACnB,sDAAC,aAAW,GAAG,OAAO,GACxB;AAAA,UACC;AAAA,QACC,4CAAC,uCAAY,OAAO,EAAE,OAAO,OAAO,GACjC,qBAAW,4CAAC,kCAAY,MAAa,GAAG,OAAO,IAAK,MACvD;AAAA,QACA,SAAS;AAAA,MACX;AAAA,OACF;AAEJ,SAAO,4CAAC,aAAW,GAAG,OAAO;AAC/B;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
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 withConditionalUseSortable_exports = {};
|
|
26
|
+
__export(withConditionalUseSortable_exports, {
|
|
27
|
+
withConditionalUseSortable: () => withConditionalUseSortable
|
|
28
|
+
});
|
|
29
|
+
module.exports = __toCommonJS(withConditionalUseSortable_exports);
|
|
30
|
+
var React = __toESM(require("react"));
|
|
31
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
32
|
+
var import_ds_drag_and_drop = require("@elliemae/ds-drag-and-drop");
|
|
33
|
+
const withConditionalUseSortable = (Component) => (props) => {
|
|
34
|
+
const { id } = props.item.original;
|
|
35
|
+
const useSortableHelpers = (0, import_ds_drag_and_drop.useSortable)({ id });
|
|
36
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Component, { ...props, useSortableHelpers });
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=withConditionalUseSortable.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/parts/HoC/withConditionalUseSortable.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
+
"sourcesContent": ["import React from 'react';\nimport { useSortable } from '@elliemae/ds-drag-and-drop';\n\nexport const withConditionalUseSortable = (Component) => (props) => {\n const { id } = props.item.original;\n const useSortableHelpers = useSortable({ id });\n\n return <Component {...props} useSortableHelpers={useSortableHelpers} />;\n};\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADOd;AANT,8BAA4B;AAErB,MAAM,6BAA6B,CAAC,cAAc,CAAC,UAAU;AAClE,QAAM,EAAE,GAAG,IAAI,MAAM,KAAK;AAC1B,QAAM,yBAAqB,qCAAY,EAAE,GAAG,CAAC;AAE7C,SAAO,4CAAC,aAAW,GAAG,OAAO,oBAAwC;AACvE;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|