@elliemae/ds-shuttle-v2 3.13.0-next.4 → 3.13.1-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (163) hide show
  1. package/dist/cjs/DSShuttleV2.js +3 -2
  2. package/dist/cjs/DSShuttleV2.js.map +3 -3
  3. package/dist/cjs/config/{useAutoCalculated/useDataStructure.js → configureAutoCalculated.js} +12 -22
  4. package/dist/cjs/config/configureAutoCalculated.js.map +7 -0
  5. package/dist/cjs/config/itemMovementHelpers.js +1 -17
  6. package/dist/cjs/config/itemMovementHelpers.js.map +2 -2
  7. package/dist/cjs/config/useFocusTracker/useFocusActionTrackers.js +6 -6
  8. package/dist/cjs/config/useFocusTracker/useFocusActionTrackers.js.map +2 -2
  9. package/dist/cjs/config/useShuttleV2.js +5 -4
  10. package/dist/cjs/config/useShuttleV2.js.map +2 -2
  11. package/dist/cjs/config/useStore/useStore.js +5 -14
  12. package/dist/cjs/config/useStore/useStore.js.map +2 -2
  13. package/dist/cjs/constants/index.js +0 -4
  14. package/dist/cjs/constants/index.js.map +2 -2
  15. package/dist/cjs/index.js +1 -5
  16. package/dist/cjs/index.js.map +2 -2
  17. package/dist/cjs/parts/Header.js +1 -2
  18. package/dist/cjs/parts/Header.js.map +2 -2
  19. package/dist/cjs/parts/Item/Item.js +11 -64
  20. package/dist/cjs/parts/Item/Item.js.map +3 -3
  21. package/dist/cjs/parts/Item/ItemActions/ItemActions.js +9 -10
  22. package/dist/cjs/parts/Item/ItemActions/ItemActions.js.map +2 -2
  23. package/dist/cjs/parts/Item/ItemActions/useActionsLogicHandlers.js +1 -16
  24. package/dist/cjs/parts/Item/ItemActions/useActionsLogicHandlers.js.map +2 -2
  25. package/dist/cjs/parts/Item/ItemActions/useInnerRefHandlers.js +4 -18
  26. package/dist/cjs/parts/Item/ItemActions/useInnerRefHandlers.js.map +2 -2
  27. package/dist/cjs/parts/Item/ItemMiddleSection.js +3 -4
  28. package/dist/cjs/parts/Item/ItemMiddleSection.js.map +2 -2
  29. package/dist/cjs/parts/Item/ItemSelection.js +1 -2
  30. package/dist/cjs/parts/Item/ItemSelection.js.map +2 -2
  31. package/dist/cjs/parts/Item/useItemArrowNavigation.js +0 -7
  32. package/dist/cjs/parts/Item/useItemArrowNavigation.js.map +2 -2
  33. package/dist/cjs/parts/Item/useSelectionLogic.js +1 -12
  34. package/dist/cjs/parts/Item/useSelectionLogic.js.map +2 -2
  35. package/dist/cjs/parts/MainContent.js +1 -2
  36. package/dist/cjs/parts/MainContent.js.map +2 -2
  37. package/dist/cjs/parts/Panel/bottom/LoadMoreBtn.js +1 -5
  38. package/dist/cjs/parts/Panel/bottom/LoadMoreBtn.js.map +2 -2
  39. package/dist/cjs/parts/Panel/bottom/LoadingMore.js +1 -5
  40. package/dist/cjs/parts/Panel/bottom/LoadingMore.js.map +2 -2
  41. package/dist/cjs/parts/Panel/bottom/PanelContentBottomSection.js +1 -2
  42. package/dist/cjs/parts/Panel/bottom/PanelContentBottomSection.js.map +2 -2
  43. package/dist/cjs/parts/Panel/bottom/useLoadMoreBtnArrowNavigation.js +1 -14
  44. package/dist/cjs/parts/Panel/bottom/useLoadMoreBtnArrowNavigation.js.map +2 -2
  45. package/dist/cjs/parts/Panel/middle/EmptyItems.js +1 -2
  46. package/dist/cjs/parts/Panel/middle/EmptyItems.js.map +2 -2
  47. package/dist/cjs/parts/Panel/middle/ItemListWrapper.js +102 -48
  48. package/dist/cjs/parts/Panel/middle/ItemListWrapper.js.map +2 -2
  49. package/dist/cjs/parts/Panel/middle/LoadingItems.js +1 -2
  50. package/dist/cjs/parts/Panel/middle/LoadingItems.js.map +2 -2
  51. package/dist/cjs/parts/Panel/middle/MultipleSelectionAction.js +7 -9
  52. package/dist/cjs/parts/Panel/middle/MultipleSelectionAction.js.map +2 -2
  53. package/dist/cjs/parts/Panel/middle/PanelContentMiddleSection.js +7 -120
  54. package/dist/cjs/parts/Panel/middle/PanelContentMiddleSection.js.map +2 -2
  55. package/dist/cjs/parts/Panel/top/PanelContentTopSection.js +1 -2
  56. package/dist/cjs/parts/Panel/top/PanelContentTopSection.js.map +2 -2
  57. package/dist/cjs/parts/Panel/top/PanelFilterSection.js +2 -3
  58. package/dist/cjs/parts/Panel/top/PanelFilterSection.js.map +2 -2
  59. package/dist/cjs/parts/Panel/top/SelectionHeader.js +3 -7
  60. package/dist/cjs/parts/Panel/top/SelectionHeader.js.map +2 -2
  61. package/dist/cjs/parts/PanelWrapper.js +2 -3
  62. package/dist/cjs/parts/PanelWrapper.js.map +2 -2
  63. package/dist/cjs/react-desc-prop-types.js +2 -14
  64. package/dist/cjs/react-desc-prop-types.js.map +2 -2
  65. package/dist/esm/DSShuttleV2.js +3 -2
  66. package/dist/esm/DSShuttleV2.js.map +3 -3
  67. package/dist/esm/config/{useAutoCalculated/useDataStructure.js → configureAutoCalculated.js} +9 -19
  68. package/dist/esm/config/configureAutoCalculated.js.map +7 -0
  69. package/dist/esm/config/itemMovementHelpers.js +1 -17
  70. package/dist/esm/config/itemMovementHelpers.js.map +2 -2
  71. package/dist/esm/config/useFocusTracker/useFocusActionTrackers.js +6 -6
  72. package/dist/esm/config/useFocusTracker/useFocusActionTrackers.js.map +2 -2
  73. package/dist/esm/config/useShuttleV2.js +5 -4
  74. package/dist/esm/config/useShuttleV2.js.map +2 -2
  75. package/dist/esm/config/useStore/useStore.js +5 -14
  76. package/dist/esm/config/useStore/useStore.js.map +2 -2
  77. package/dist/esm/constants/index.js +0 -4
  78. package/dist/esm/constants/index.js.map +2 -2
  79. package/dist/esm/index.js +1 -5
  80. package/dist/esm/index.js.map +2 -2
  81. package/dist/esm/parts/Header.js +1 -2
  82. package/dist/esm/parts/Header.js.map +2 -2
  83. package/dist/esm/parts/Item/Item.js +13 -66
  84. package/dist/esm/parts/Item/Item.js.map +2 -2
  85. package/dist/esm/parts/Item/ItemActions/ItemActions.js +9 -10
  86. package/dist/esm/parts/Item/ItemActions/ItemActions.js.map +2 -2
  87. package/dist/esm/parts/Item/ItemActions/useActionsLogicHandlers.js +1 -16
  88. package/dist/esm/parts/Item/ItemActions/useActionsLogicHandlers.js.map +2 -2
  89. package/dist/esm/parts/Item/ItemActions/useInnerRefHandlers.js +4 -18
  90. package/dist/esm/parts/Item/ItemActions/useInnerRefHandlers.js.map +2 -2
  91. package/dist/esm/parts/Item/ItemMiddleSection.js +3 -4
  92. package/dist/esm/parts/Item/ItemMiddleSection.js.map +2 -2
  93. package/dist/esm/parts/Item/ItemSelection.js +1 -2
  94. package/dist/esm/parts/Item/ItemSelection.js.map +2 -2
  95. package/dist/esm/parts/Item/useItemArrowNavigation.js +0 -7
  96. package/dist/esm/parts/Item/useItemArrowNavigation.js.map +2 -2
  97. package/dist/esm/parts/Item/useSelectionLogic.js +2 -13
  98. package/dist/esm/parts/Item/useSelectionLogic.js.map +2 -2
  99. package/dist/esm/parts/MainContent.js +1 -2
  100. package/dist/esm/parts/MainContent.js.map +2 -2
  101. package/dist/esm/parts/Panel/bottom/LoadMoreBtn.js +1 -5
  102. package/dist/esm/parts/Panel/bottom/LoadMoreBtn.js.map +2 -2
  103. package/dist/esm/parts/Panel/bottom/LoadingMore.js +1 -5
  104. package/dist/esm/parts/Panel/bottom/LoadingMore.js.map +2 -2
  105. package/dist/esm/parts/Panel/bottom/PanelContentBottomSection.js +1 -2
  106. package/dist/esm/parts/Panel/bottom/PanelContentBottomSection.js.map +2 -2
  107. package/dist/esm/parts/Panel/bottom/useLoadMoreBtnArrowNavigation.js +1 -14
  108. package/dist/esm/parts/Panel/bottom/useLoadMoreBtnArrowNavigation.js.map +2 -2
  109. package/dist/esm/parts/Panel/middle/EmptyItems.js +1 -2
  110. package/dist/esm/parts/Panel/middle/EmptyItems.js.map +2 -2
  111. package/dist/esm/parts/Panel/middle/ItemListWrapper.js +104 -50
  112. package/dist/esm/parts/Panel/middle/ItemListWrapper.js.map +2 -2
  113. package/dist/esm/parts/Panel/middle/LoadingItems.js +1 -2
  114. package/dist/esm/parts/Panel/middle/LoadingItems.js.map +2 -2
  115. package/dist/esm/parts/Panel/middle/MultipleSelectionAction.js +7 -9
  116. package/dist/esm/parts/Panel/middle/MultipleSelectionAction.js.map +2 -2
  117. package/dist/esm/parts/Panel/middle/PanelContentMiddleSection.js +9 -122
  118. package/dist/esm/parts/Panel/middle/PanelContentMiddleSection.js.map +2 -2
  119. package/dist/esm/parts/Panel/top/PanelContentTopSection.js +1 -2
  120. package/dist/esm/parts/Panel/top/PanelContentTopSection.js.map +2 -2
  121. package/dist/esm/parts/Panel/top/PanelFilterSection.js +2 -3
  122. package/dist/esm/parts/Panel/top/PanelFilterSection.js.map +2 -2
  123. package/dist/esm/parts/Panel/top/SelectionHeader.js +3 -7
  124. package/dist/esm/parts/Panel/top/SelectionHeader.js.map +2 -2
  125. package/dist/esm/parts/PanelWrapper.js +2 -3
  126. package/dist/esm/parts/PanelWrapper.js.map +2 -2
  127. package/dist/esm/react-desc-prop-types.js +2 -14
  128. package/dist/esm/react-desc-prop-types.js.map +2 -2
  129. package/package.json +11 -12
  130. package/dist/cjs/config/DSShuttleV2Definitions.js +0 -67
  131. package/dist/cjs/config/DSShuttleV2Definitions.js.map +0 -7
  132. package/dist/cjs/config/useAutoCalculated/index.js +0 -39
  133. package/dist/cjs/config/useAutoCalculated/index.js.map +0 -7
  134. package/dist/cjs/config/useAutoCalculated/useDataStructure.js.map +0 -7
  135. package/dist/cjs/config/useAutoCalculated/useShuttleVirtualized.js +0 -98
  136. package/dist/cjs/config/useAutoCalculated/useShuttleVirtualized.js.map +0 -7
  137. package/dist/cjs/parts/Dnd/DndHandle.js +0 -64
  138. package/dist/cjs/parts/Dnd/DndHandle.js.map +0 -7
  139. package/dist/cjs/parts/Dnd/DropIndicator.js +0 -88
  140. package/dist/cjs/parts/Dnd/DropIndicator.js.map +0 -7
  141. package/dist/cjs/parts/HoC/withConditionalDnDRowContext.js +0 -90
  142. package/dist/cjs/parts/HoC/withConditionalDnDRowContext.js.map +0 -7
  143. package/dist/cjs/parts/HoC/withConditionalUseSortable.js +0 -38
  144. package/dist/cjs/parts/HoC/withConditionalUseSortable.js.map +0 -7
  145. package/dist/cjs/parts/Item/ItemOverlay.js +0 -61
  146. package/dist/cjs/parts/Item/ItemOverlay.js.map +0 -7
  147. package/dist/esm/config/DSShuttleV2Definitions.js +0 -41
  148. package/dist/esm/config/DSShuttleV2Definitions.js.map +0 -7
  149. package/dist/esm/config/useAutoCalculated/index.js +0 -13
  150. package/dist/esm/config/useAutoCalculated/index.js.map +0 -7
  151. package/dist/esm/config/useAutoCalculated/useDataStructure.js.map +0 -7
  152. package/dist/esm/config/useAutoCalculated/useShuttleVirtualized.js +0 -72
  153. package/dist/esm/config/useAutoCalculated/useShuttleVirtualized.js.map +0 -7
  154. package/dist/esm/parts/Dnd/DndHandle.js +0 -38
  155. package/dist/esm/parts/Dnd/DndHandle.js.map +0 -7
  156. package/dist/esm/parts/Dnd/DropIndicator.js +0 -62
  157. package/dist/esm/parts/Dnd/DropIndicator.js.map +0 -7
  158. package/dist/esm/parts/HoC/withConditionalDnDRowContext.js +0 -64
  159. package/dist/esm/parts/HoC/withConditionalDnDRowContext.js.map +0 -7
  160. package/dist/esm/parts/HoC/withConditionalUseSortable.js +0 -12
  161. package/dist/esm/parts/HoC/withConditionalUseSortable.js.map +0 -7
  162. package/dist/esm/parts/Item/ItemOverlay.js +0 -35
  163. package/dist/esm/parts/Item/ItemOverlay.js.map +0 -7
@@ -1,71 +1,125 @@
1
1
  import * as React from "react";
2
- import { jsx } from "react/jsx-runtime";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
3
  import React2 from "react";
4
+ import { useOnSpecificFocus } from "@elliemae/ds-utilities";
4
5
  import { Grid } from "@elliemae/ds-grid";
5
6
  import { styled } from "@elliemae/ds-system";
6
7
  import { useInternalStore, usePropsStore } from "../../../config/useStore";
7
- import { ItemSortable } from "../../Item/Item";
8
- import { withConditionalDnDRowContext } from "../../HoC/withConditionalDnDRowContext";
9
- import { DSShuttleV2Name, DSShuttleV2Slots } from "../../../config/DSShuttleV2Definitions";
10
- const StyledItemsWrapper = styled(Grid, { name: DSShuttleV2Name, slot: DSShuttleV2Slots.ITEMS_WRAPPER })`
8
+ import { useFocusTracker } from "../../../config/useFocusTracker";
9
+ import { REGIONS_FOCUSES } from "../../../constants";
10
+ import { Item } from "../../Item/Item";
11
+ import { MultipleSelectionAction } from "./MultipleSelectionAction";
12
+ const StyledItemsWrapper = styled(Grid, { name: "ds-shuttle-v2", slot: "items-wrapper" })`
11
13
  position: relative;
12
-
13
- // .ds-shuttle-v2-move-multiple-wrapper {
14
- // top: 2px;
15
- // right: 2px;
16
- // height: calc(100% - 4px);
17
- // width: calc(65px - 2px);
18
- // }
14
+ :focus,
15
+ :focus-visible {
16
+ outline: 2px solid brand-700;
17
+ outline-offset: -2px;
18
+ // .ds-shuttle-v2-move-multiple-wrapper {
19
+ // top: 2px;
20
+ // right: 2px;
21
+ // height: calc(100% - 4px);
22
+ // width: calc(65px - 2px);
23
+ // }
24
+ }
19
25
  `;
26
+ const useInnerRefHandlers = ({ isDestinationPanel }) => {
27
+ const focusRegion = useInternalStore((state) => state.focusRegion);
28
+ const focusItem = useInternalStore((state) => state.focusItem);
29
+ const focusItemAction = useInternalStore((state) => state.focusItemAction);
30
+ const currRegion = isDestinationPanel ? REGIONS_FOCUSES.DESTINATION_PANEL : REGIONS_FOCUSES.SOURCE_PANEL;
31
+ const shouldFocus = React2.useMemo(
32
+ () => focusRegion === currRegion && focusItem === "" && focusItemAction === "",
33
+ [currRegion, focusItem, focusItemAction, focusRegion]
34
+ );
35
+ const innerRefHandlerParentItem = React2.useCallback(
36
+ (node) => {
37
+ if (shouldFocus) {
38
+ node?.focus();
39
+ }
40
+ },
41
+ [shouldFocus]
42
+ );
43
+ return React2.useMemo(() => ({ shouldFocus, innerRefHandlerParentItem }), [shouldFocus, innerRefHandlerParentItem]);
44
+ };
20
45
  const ItemListWrapper = React2.memo((panelMetaInfo) => {
21
46
  const { isDestinationPanel } = panelMetaInfo;
22
47
  const itemList = useInternalStore(
23
48
  (state) => isDestinationPanel ? state.destinationConfiguredData : state.sourceConfiguredData
24
49
  );
25
- const totalSize = useInternalStore(
26
- (state) => isDestinationPanel ? state.destinationTotalSize : state.sourceTotalSize
27
- );
28
- const virtualItems = useInternalStore(
29
- (state) => isDestinationPanel ? state.destinationVirtualItems : state.sourceVirtualItems
30
- );
31
- const withDragNDrop = usePropsStore(
32
- (state) => isDestinationPanel ? !state.removeDragAndDropFromDestination : state.addDragAndDropFromSource
50
+ const withLoadMore = usePropsStore(
51
+ (state) => isDestinationPanel ? state.destinationWithLoadMore : state.sourceWithLoadMore
33
52
  );
53
+ const destinationHasMultipleSelectedItems = useInternalStore((store) => store.destinationHasMultipleSelectedItems);
54
+ const sourceHasMultipleSelectedItems = useInternalStore((store) => store.sourceHasMultipleSelectedItems);
55
+ const hasMultipleSelection = isDestinationPanel ? destinationHasMultipleSelectedItems : sourceHasMultipleSelectedItems;
34
56
  const rows = React2.useMemo(
35
57
  () => [`repeat(${itemList?.length ? itemList?.length : "0"},min-content)`],
36
58
  [itemList.length]
37
59
  );
38
- return /* @__PURE__ */ jsx(StyledItemsWrapper, { alignItems: "flex-start", rows, style: { height: `${totalSize}px` }, children: virtualItems?.map((virtualRow) => {
39
- const item = itemList[virtualRow.index];
40
- return /* @__PURE__ */ jsx(
41
- "div",
42
- {
43
- style: {
44
- position: "absolute",
45
- top: 0,
46
- left: 0,
47
- width: "100%",
48
- height: `${virtualRow.size}px`,
49
- transform: `translateY(${virtualRow.start}px)`
50
- },
51
- children: /* @__PURE__ */ jsx(
52
- ItemSortable,
53
- {
54
- item,
55
- isDestinationPanel,
56
- withDragNDrop
57
- },
58
- item.original.id
59
- )
60
- },
61
- virtualRow.index
62
- );
63
- }) });
60
+ const {
61
+ trackFocusRegionPanel,
62
+ trackFocusItemFirst,
63
+ trackFocusItemLast,
64
+ trackFocusActionParent,
65
+ trackFocusRegionPanelItem,
66
+ trackFocusLoadMoreBtn
67
+ } = useFocusTracker();
68
+ const config = React2.useMemo(
69
+ () => ({
70
+ onFocus: () => {
71
+ trackFocusRegionPanel(isDestinationPanel);
72
+ }
73
+ }),
74
+ [trackFocusRegionPanel, isDestinationPanel]
75
+ );
76
+ const onPanelFocus = useOnSpecificFocus(config);
77
+ const onPanelKeyDown = React2.useCallback(
78
+ (e) => {
79
+ const { key } = e;
80
+ if (["Home", "End", "ArrowUp", "ArrowDown"].includes(key)) {
81
+ e.preventDefault();
82
+ e.stopPropagation();
83
+ trackFocusRegionPanelItem(isDestinationPanel);
84
+ trackFocusActionParent();
85
+ if (key === "ArrowDown" || key === "Home")
86
+ trackFocusItemFirst();
87
+ if (key === "ArrowUp" || key === "End") {
88
+ if (withLoadMore)
89
+ trackFocusLoadMoreBtn();
90
+ else
91
+ trackFocusItemLast();
92
+ }
93
+ }
94
+ },
95
+ [
96
+ isDestinationPanel,
97
+ trackFocusActionParent,
98
+ trackFocusItemFirst,
99
+ trackFocusItemLast,
100
+ trackFocusLoadMoreBtn,
101
+ trackFocusRegionPanelItem,
102
+ withLoadMore
103
+ ]
104
+ );
105
+ const { innerRefHandlerParentItem } = useInnerRefHandlers(panelMetaInfo);
106
+ return /* @__PURE__ */ jsxs(
107
+ StyledItemsWrapper,
108
+ {
109
+ alignItems: "flex-start",
110
+ rows,
111
+ tabIndex: 0,
112
+ ref: innerRefHandlerParentItem,
113
+ onFocus: onPanelFocus,
114
+ onKeyDown: onPanelKeyDown,
115
+ children: [
116
+ itemList.map((item) => /* @__PURE__ */ jsx(Item, { item, isDestinationPanel }, item.original.id)),
117
+ hasMultipleSelection ? /* @__PURE__ */ jsx(MultipleSelectionAction, { isDestinationPanel }) : null
118
+ ]
119
+ }
120
+ );
64
121
  });
65
- const ItemListWrapperWithContext = withConditionalDnDRowContext(ItemListWrapper);
66
- var ItemListWrapper_default = ItemListWrapperWithContext;
67
122
  export {
68
- ItemListWrapperWithContext,
69
- ItemListWrapper_default as default
123
+ ItemListWrapper
70
124
  };
71
125
  //# sourceMappingURL=ItemListWrapper.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/parts/Panel/middle/ItemListWrapper.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { Grid } from '@elliemae/ds-grid';\nimport { styled } from '@elliemae/ds-system';\nimport { useInternalStore, usePropsStore } from '../../../config/useStore';\nimport { type DSShuttleV2T } from '../../../react-desc-prop-types';\nimport { ItemSortable } from '../../Item/Item';\nimport { withConditionalDnDRowContext } from '../../HoC/withConditionalDnDRowContext';\nimport { DSShuttleV2Name, DSShuttleV2Slots } from '../../../config/DSShuttleV2Definitions';\n\nconst StyledItemsWrapper = styled(Grid, { name: DSShuttleV2Name, slot: DSShuttleV2Slots.ITEMS_WRAPPER })`\n position: relative;\n\n // .ds-shuttle-v2-move-multiple-wrapper {\n // top: 2px;\n // right: 2px;\n // height: calc(100% - 4px);\n // width: calc(65px - 2px);\n // }\n`;\n\nconst ItemListWrapper = React.memo((panelMetaInfo: DSShuttleV2T.PanelMetaInfo) => {\n const { isDestinationPanel } = panelMetaInfo;\n const itemList = useInternalStore((state) =>\n isDestinationPanel ? state.destinationConfiguredData : state.sourceConfiguredData,\n );\n\n const totalSize = useInternalStore((state) =>\n isDestinationPanel ? state.destinationTotalSize : state.sourceTotalSize,\n );\n\n const virtualItems = useInternalStore((state) =>\n isDestinationPanel ? state.destinationVirtualItems : state.sourceVirtualItems,\n );\n\n const withDragNDrop = usePropsStore((state) =>\n isDestinationPanel ? !state.removeDragAndDropFromDestination : state.addDragAndDropFromSource,\n );\n\n const rows = React.useMemo(\n () => [`repeat(${itemList?.length ? itemList?.length : '0'},min-content)`],\n [itemList.length],\n );\n\n return (\n <StyledItemsWrapper alignItems=\"flex-start\" rows={rows} style={{ height: `${totalSize}px` }}>\n {virtualItems?.map((virtualRow) => {\n const item = itemList[virtualRow.index];\n return (\n <div\n key={virtualRow.index}\n style={{\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: `${virtualRow.size}px`,\n transform: `translateY(${virtualRow.start}px)`,\n }}\n >\n <ItemSortable\n key={item.original.id}\n item={item}\n isDestinationPanel={isDestinationPanel}\n withDragNDrop={withDragNDrop}\n />\n </div>\n );\n })}\n </StyledItemsWrapper>\n );\n});\n\nexport const ItemListWrapperWithContext = withConditionalDnDRowContext(ItemListWrapper);\nexport default ItemListWrapperWithContext;\n"],
5
- "mappings": "AAAA,YAAY,WAAW;AC2DX;AA3DZ,OAAOA,YAAW;AAClB,SAAS,YAAY;AACrB,SAAS,cAAc;AACvB,SAAS,kBAAkB,qBAAqB;AAEhD,SAAS,oBAAoB;AAC7B,SAAS,oCAAoC;AAC7C,SAAS,iBAAiB,wBAAwB;AAElD,MAAM,qBAAqB,OAAO,MAAM,EAAE,MAAM,iBAAiB,MAAM,iBAAiB,cAAc,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAWvG,MAAM,kBAAkBA,OAAM,KAAK,CAAC,kBAA8C;AAChF,QAAM,EAAE,mBAAmB,IAAI;AAC/B,QAAM,WAAW;AAAA,IAAiB,CAAC,UACjC,qBAAqB,MAAM,4BAA4B,MAAM;AAAA,EAC/D;AAEA,QAAM,YAAY;AAAA,IAAiB,CAAC,UAClC,qBAAqB,MAAM,uBAAuB,MAAM;AAAA,EAC1D;AAEA,QAAM,eAAe;AAAA,IAAiB,CAAC,UACrC,qBAAqB,MAAM,0BAA0B,MAAM;AAAA,EAC7D;AAEA,QAAM,gBAAgB;AAAA,IAAc,CAAC,UACnC,qBAAqB,CAAC,MAAM,mCAAmC,MAAM;AAAA,EACvE;AAEA,QAAM,OAAOA,OAAM;AAAA,IACjB,MAAM,CAAC,UAAU,UAAU,SAAS,UAAU,SAAS,kBAAkB;AAAA,IACzE,CAAC,SAAS,MAAM;AAAA,EAClB;AAEA,SACE,oBAAC,sBAAmB,YAAW,cAAa,MAAY,OAAO,EAAE,QAAQ,GAAG,cAAc,GACvF,wBAAc,IAAI,CAAC,eAAe;AACjC,UAAM,OAAO,SAAS,WAAW;AACjC,WACE;AAAA,MAAC;AAAA;AAAA,QAEC,OAAO;AAAA,UACL,UAAU;AAAA,UACV,KAAK;AAAA,UACL,MAAM;AAAA,UACN,OAAO;AAAA,UACP,QAAQ,GAAG,WAAW;AAAA,UACtB,WAAW,cAAc,WAAW;AAAA,QACtC;AAAA,QAEA;AAAA,UAAC;AAAA;AAAA,YAEC;AAAA,YACA;AAAA,YACA;AAAA;AAAA,UAHK,KAAK,SAAS;AAAA,QAIrB;AAAA;AAAA,MAfK,WAAW;AAAA,IAgBlB;AAAA,EAEJ,CAAC,GACH;AAEJ,CAAC;AAEM,MAAM,6BAA6B,6BAA6B,eAAe;AACtF,IAAO,0BAAQ;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { useOnSpecificFocus } from '@elliemae/ds-utilities';\nimport { Grid } from '@elliemae/ds-grid';\nimport { styled } from '@elliemae/ds-system';\nimport { useInternalStore, usePropsStore } from '../../../config/useStore';\nimport { useFocusTracker } from '../../../config/useFocusTracker';\nimport { type DSShuttleV2T } from '../../../react-desc-prop-types';\nimport { REGIONS_FOCUSES } from '../../../constants';\nimport { Item } from '../../Item/Item';\nimport { MultipleSelectionAction } from './MultipleSelectionAction';\n\nconst StyledItemsWrapper = styled(Grid, { name: 'ds-shuttle-v2', slot: 'items-wrapper' })`\n position: relative;\n :focus,\n :focus-visible {\n outline: 2px solid brand-700;\n outline-offset: -2px;\n // .ds-shuttle-v2-move-multiple-wrapper {\n // top: 2px;\n // right: 2px;\n // height: calc(100% - 4px);\n // width: calc(65px - 2px);\n // }\n }\n`;\n\nconst useInnerRefHandlers = ({ isDestinationPanel }: DSShuttleV2T.PanelMetaInfo) => {\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 : REGIONS_FOCUSES.SOURCE_PANEL;\n\n const shouldFocus = React.useMemo(\n () => focusRegion === currRegion && focusItem === '' && focusItemAction === '',\n [currRegion, focusItem, focusItemAction, focusRegion],\n );\n const innerRefHandlerParentItem = React.useCallback(\n (node: HTMLDivElement) => {\n if (shouldFocus) {\n node?.focus();\n }\n },\n [shouldFocus],\n );\n return React.useMemo(() => ({ shouldFocus, innerRefHandlerParentItem }), [shouldFocus, innerRefHandlerParentItem]);\n};\n\nexport const ItemListWrapper = React.memo((panelMetaInfo: DSShuttleV2T.PanelMetaInfo) => {\n const { isDestinationPanel } = panelMetaInfo;\n const itemList = useInternalStore((state) =>\n isDestinationPanel ? state.destinationConfiguredData : state.sourceConfiguredData,\n );\n const withLoadMore = usePropsStore((state) =>\n isDestinationPanel ? state.destinationWithLoadMore : state.sourceWithLoadMore,\n );\n const destinationHasMultipleSelectedItems = useInternalStore((store) => store.destinationHasMultipleSelectedItems);\n const sourceHasMultipleSelectedItems = useInternalStore((store) => store.sourceHasMultipleSelectedItems);\n const hasMultipleSelection = isDestinationPanel\n ? destinationHasMultipleSelectedItems\n : sourceHasMultipleSelectedItems;\n\n const rows = React.useMemo(\n () => [`repeat(${itemList?.length ? itemList?.length : '0'},min-content)`],\n [itemList.length],\n );\n const {\n trackFocusRegionPanel,\n trackFocusItemFirst,\n trackFocusItemLast,\n trackFocusActionParent,\n trackFocusRegionPanelItem,\n trackFocusLoadMoreBtn,\n } = useFocusTracker();\n const config = React.useMemo(\n () => ({\n onFocus: () => {\n trackFocusRegionPanel(isDestinationPanel);\n },\n }),\n [trackFocusRegionPanel, isDestinationPanel],\n );\n const onPanelFocus = useOnSpecificFocus(config);\n\n const onPanelKeyDown = React.useCallback<React.KeyboardEventHandler<HTMLDivElement>>(\n (e) => {\n const { key } = e;\n if (['Home', 'End', 'ArrowUp', 'ArrowDown'].includes(key)) {\n e.preventDefault();\n e.stopPropagation();\n trackFocusRegionPanelItem(isDestinationPanel);\n trackFocusActionParent();\n // we won't receive ArrowUp/ArrowDown if this happens in a child because children are stopping propagation\n if (key === 'ArrowDown' || key === 'Home') trackFocusItemFirst();\n if (key === 'ArrowUp' || key === 'End') {\n if (withLoadMore) trackFocusLoadMoreBtn();\n else trackFocusItemLast();\n }\n }\n },\n [\n isDestinationPanel,\n trackFocusActionParent,\n trackFocusItemFirst,\n trackFocusItemLast,\n trackFocusLoadMoreBtn,\n trackFocusRegionPanelItem,\n withLoadMore,\n ],\n );\n const { innerRefHandlerParentItem } = useInnerRefHandlers(panelMetaInfo);\n return (\n <StyledItemsWrapper\n alignItems=\"flex-start\"\n rows={rows}\n tabIndex={0}\n ref={innerRefHandlerParentItem}\n onFocus={onPanelFocus}\n onKeyDown={onPanelKeyDown}\n >\n {itemList.map((item) => (\n <Item key={item.original.id} item={item} isDestinationPanel={isDestinationPanel} />\n ))}\n {hasMultipleSelection ? <MultipleSelectionAction isDestinationPanel={isDestinationPanel} /> : null}\n </StyledItemsWrapper>\n );\n});\n"],
5
+ "mappings": "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",
6
6
  "names": ["React"]
7
7
  }
@@ -3,8 +3,7 @@ import { jsx } from "react/jsx-runtime";
3
3
  import { styled } from "@elliemae/ds-system";
4
4
  import { Grid } from "@elliemae/ds-grid";
5
5
  import { DSCircularIndeterminateIndicator } from "@elliemae/ds-circular-progress-indicator";
6
- import { DSShuttleV2Name, DSShuttleV2Slots } from "../../../config/DSShuttleV2Definitions";
7
- const StyledLoadingListWrapper = styled(Grid, { name: DSShuttleV2Name, slot: DSShuttleV2Slots.LOADING_LIST_WRAPPER })`
6
+ const StyledLoadingListWrapper = styled(Grid, { name: "ds-shuttle-v2", slot: "loading-list-wrapper" })`
8
7
  color: neutral-500;
9
8
  `;
10
9
  const LoadingItems = (panelMetaInfo) => /* @__PURE__ */ jsx(StyledLoadingListWrapper, { alignItems: "center", justifyContent: "center", children: /* @__PURE__ */ jsx(DSCircularIndeterminateIndicator, { size: "xl", text: "Loading..." }) });
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/parts/Panel/middle/LoadingItems.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable no-unused-vars */\nimport React from 'react';\nimport { styled } from '@elliemae/ds-system';\nimport { Grid } from '@elliemae/ds-grid';\nimport { DSCircularIndeterminateIndicator } from '@elliemae/ds-circular-progress-indicator';\nimport { type DSShuttleV2T } from '../../../react-desc-prop-types';\nimport { DSShuttleV2Name, DSShuttleV2Slots } from '../../../config/DSShuttleV2Definitions';\n\nconst StyledLoadingListWrapper = styled(Grid, { name: DSShuttleV2Name, slot: DSShuttleV2Slots.LOADING_LIST_WRAPPER })`\n color: neutral-500;\n`;\nexport const LoadingItems = (panelMetaInfo: DSShuttleV2T.PanelMetaInfo) => (\n <StyledLoadingListWrapper alignItems=\"center\" justifyContent=\"center\">\n <DSCircularIndeterminateIndicator size=\"xl\" text=\"Loading...\" />\n </StyledLoadingListWrapper>\n);\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACcnB;AAXJ,SAAS,cAAc;AACvB,SAAS,YAAY;AACrB,SAAS,wCAAwC;AAEjD,SAAS,iBAAiB,wBAAwB;AAElD,MAAM,2BAA2B,OAAO,MAAM,EAAE,MAAM,iBAAiB,MAAM,iBAAiB,qBAAqB,CAAC;AAAA;AAAA;AAG7G,MAAM,eAAe,CAAC,kBAC3B,oBAAC,4BAAyB,YAAW,UAAS,gBAAe,UAC3D,8BAAC,oCAAiC,MAAK,MAAK,MAAK,cAAa,GAChE;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable no-unused-vars */\nimport React from 'react';\nimport { styled } from '@elliemae/ds-system';\nimport { Grid } from '@elliemae/ds-grid';\nimport { DSCircularIndeterminateIndicator } from '@elliemae/ds-circular-progress-indicator';\nimport { type DSShuttleV2T } from '../../../react-desc-prop-types';\n\nconst StyledLoadingListWrapper = styled(Grid, { name: 'ds-shuttle-v2', slot: 'loading-list-wrapper' })`\n color: neutral-500;\n`;\nexport const LoadingItems = (panelMetaInfo: DSShuttleV2T.PanelMetaInfo) => (\n <StyledLoadingListWrapper alignItems=\"center\" justifyContent=\"center\">\n <DSCircularIndeterminateIndicator size=\"xl\" text=\"Loading...\" />\n </StyledLoadingListWrapper>\n);\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACanB;AAVJ,SAAS,cAAc;AACvB,SAAS,YAAY;AACrB,SAAS,wCAAwC;AAGjD,MAAM,2BAA2B,OAAO,MAAM,EAAE,MAAM,iBAAiB,MAAM,uBAAuB,CAAC;AAAA;AAAA;AAG9F,MAAM,eAAe,CAAC,kBAC3B,oBAAC,4BAAyB,YAAW,UAAS,gBAAe,UAC3D,8BAAC,oCAAiC,MAAK,MAAK,MAAK,cAAa,GAChE;",
6
6
  "names": []
7
7
  }
@@ -7,13 +7,11 @@ import { DSButtonV2 } from "@elliemae/ds-button";
7
7
  import { ArrowShortRight, CloseMedium } from "@elliemae/ds-icons";
8
8
  import { useHandleMoveSelection } from "../../../config/itemMovementHelpers";
9
9
  import { useFocusTracker } from "../../../config/useFocusTracker";
10
- import { DSShuttleV2Name, DSShuttleV2Slots } from "../../../config/DSShuttleV2Definitions";
11
- const StyledMoveMultipleWrapper = styled(Grid, { name: DSShuttleV2Name, slot: DSShuttleV2Slots.MOVE_MULTIPLE_WRAPPER })`
10
+ const StyledMoveMultipleWrapper = styled(Grid, { name: "ds-shuttle-v2", slot: "move-multiple-wrapper" })`
12
11
  position: absolute;
13
12
  background-color: neutral-000;
14
13
  top: 0px;
15
14
  right: 0px;
16
- transform: translateX(0);
17
15
  height: 100%;
18
16
  width: 65px;
19
17
  :hover {
@@ -27,23 +25,23 @@ const StyledMoveMultipleWrapper = styled(Grid, { name: DSShuttleV2Name, slot: DS
27
25
  }
28
26
  `;
29
27
  const StyledButton = styled(DSButtonV2, {
30
- name: DSShuttleV2Name,
31
- slot: DSShuttleV2Slots.MOVE_MULTIPLE_BTN
28
+ name: "ds-shuttle-v2",
29
+ slot: "move-multiple-btn"
32
30
  })`
33
31
  width: 100%;
34
32
  height: 100%;
35
33
  `;
36
34
  const StyledCloseMediumIcon = styled(CloseMedium, {
37
- name: DSShuttleV2Name,
38
- slot: DSShuttleV2Slots.ITEM_ACTION_BTN_TO_SOURCE_ICON
35
+ name: "ds-shuttle-v2",
36
+ slot: "item-action-btn-to-source-icon"
39
37
  })`
40
38
  > svg {
41
39
  fill: brand-600;
42
40
  }
43
41
  `;
44
42
  const StyledArrowShortRightIcon = styled(ArrowShortRight, {
45
- name: DSShuttleV2Name,
46
- slot: DSShuttleV2Slots.ITEM_ACTION_BTN_TO_DESTINATION_ICON
43
+ name: "ds-shuttle-v2",
44
+ slot: "item-action-btn-to-destination-icon"
47
45
  })`
48
46
  > svg {
49
47
  fill: brand-600;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/parts/Panel/middle/MultipleSelectionAction.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { styled } from '@elliemae/ds-system';\nimport { Grid } from '@elliemae/ds-grid';\nimport { DSButtonV2, type DSButtonT } from '@elliemae/ds-button';\nimport { ArrowShortRight, CloseMedium } from '@elliemae/ds-icons';\nimport { type DSShuttleV2T } from '../../../react-desc-prop-types';\nimport { useHandleMoveSelection } from '../../../config/itemMovementHelpers';\nimport { useFocusTracker } from '../../../config/useFocusTracker';\nimport { DSShuttleV2Name, DSShuttleV2Slots } from '../../../config/DSShuttleV2Definitions';\n\nconst StyledMoveMultipleWrapper = styled(Grid, { name: DSShuttleV2Name, slot: DSShuttleV2Slots.MOVE_MULTIPLE_WRAPPER })`\n position: absolute;\n background-color: neutral-000;\n top: 0px;\n right: 0px;\n transform: translateX(0);\n height: 100%;\n width: 65px;\n :hover {\n background-color: brand-200;\n > svg {\n fill: brand-700;\n }\n }\n > svg {\n fill: brand-600;\n }\n`;\nconst StyledButton = styled(DSButtonV2, {\n name: DSShuttleV2Name,\n slot: DSShuttleV2Slots.MOVE_MULTIPLE_BTN,\n})`\n width: 100%;\n height: 100%;\n`;\nconst StyledCloseMediumIcon = styled(CloseMedium, {\n name: DSShuttleV2Name,\n slot: DSShuttleV2Slots.ITEM_ACTION_BTN_TO_SOURCE_ICON,\n})`\n > svg {\n fill: brand-600;\n }\n`;\nconst StyledArrowShortRightIcon = styled(ArrowShortRight, {\n name: DSShuttleV2Name,\n slot: DSShuttleV2Slots.ITEM_ACTION_BTN_TO_DESTINATION_ICON,\n})`\n > svg {\n fill: brand-600;\n }\n`;\nconst gridFullFraction = ['1fr'];\n\nexport const MultipleSelectionAction = React.memo((panelMeta: DSShuttleV2T.PanelMetaInfo) => {\n const { isDestinationPanel } = panelMeta;\n const { moveSelection } = useHandleMoveSelection(panelMeta);\n const { trackFocusRegionPanel, trackFocusRegionPanelFocusAll, trackFocusItemReset, trackFocusActionReset } =\n useFocusTracker();\n const handleMoveAllAction = React.useCallback<Required<DSButtonT.Props>['onClick']>(\n (event) => {\n moveSelection(event);\n trackFocusItemReset();\n trackFocusActionReset();\n trackFocusRegionPanel(isDestinationPanel);\n },\n [isDestinationPanel, moveSelection, trackFocusActionReset, trackFocusItemReset, trackFocusRegionPanel],\n );\n const handleMoveAllBtnFocus: React.FocusEventHandler<HTMLButtonElement> = React.useCallback(() => {\n trackFocusItemReset();\n trackFocusActionReset();\n trackFocusRegionPanelFocusAll(isDestinationPanel);\n }, [isDestinationPanel, trackFocusActionReset, trackFocusItemReset, trackFocusRegionPanelFocusAll]);\n\n return (\n <StyledMoveMultipleWrapper\n boxShadow=\"xs\"\n alignItems=\"center\"\n justifyContent=\"center\"\n cols={gridFullFraction}\n rows={gridFullFraction}\n >\n <StyledButton buttonType=\"icon\" onClick={handleMoveAllAction} onFocus={handleMoveAllBtnFocus}>\n {isDestinationPanel ? (\n <StyledCloseMediumIcon width=\"20px\" height=\"20px\" />\n ) : (\n <StyledArrowShortRightIcon width=\"20px\" height=\"20px\" />\n )}\n </StyledButton>\n </StyledMoveMultipleWrapper>\n );\n});\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACmFb;AAnFV,OAAOA,YAAW;AAClB,SAAS,cAAc;AACvB,SAAS,YAAY;AACrB,SAAS,kBAAkC;AAC3C,SAAS,iBAAiB,mBAAmB;AAE7C,SAAS,8BAA8B;AACvC,SAAS,uBAAuB;AAChC,SAAS,iBAAiB,wBAAwB;AAElD,MAAM,4BAA4B,OAAO,MAAM,EAAE,MAAM,iBAAiB,MAAM,iBAAiB,sBAAsB,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAkBtH,MAAM,eAAe,OAAO,YAAY;AAAA,EACtC,MAAM;AAAA,EACN,MAAM,iBAAiB;AACzB,CAAC;AAAA;AAAA;AAAA;AAID,MAAM,wBAAwB,OAAO,aAAa;AAAA,EAChD,MAAM;AAAA,EACN,MAAM,iBAAiB;AACzB,CAAC;AAAA;AAAA;AAAA;AAAA;AAKD,MAAM,4BAA4B,OAAO,iBAAiB;AAAA,EACxD,MAAM;AAAA,EACN,MAAM,iBAAiB;AACzB,CAAC;AAAA;AAAA;AAAA;AAAA;AAKD,MAAM,mBAAmB,CAAC,KAAK;AAExB,MAAM,0BAA0BA,OAAM,KAAK,CAAC,cAA0C;AAC3F,QAAM,EAAE,mBAAmB,IAAI;AAC/B,QAAM,EAAE,cAAc,IAAI,uBAAuB,SAAS;AAC1D,QAAM,EAAE,uBAAuB,+BAA+B,qBAAqB,sBAAsB,IACvG,gBAAgB;AAClB,QAAM,sBAAsBA,OAAM;AAAA,IAChC,CAAC,UAAU;AACT,oBAAc,KAAK;AACnB,0BAAoB;AACpB,4BAAsB;AACtB,4BAAsB,kBAAkB;AAAA,IAC1C;AAAA,IACA,CAAC,oBAAoB,eAAe,uBAAuB,qBAAqB,qBAAqB;AAAA,EACvG;AACA,QAAM,wBAAoEA,OAAM,YAAY,MAAM;AAChG,wBAAoB;AACpB,0BAAsB;AACtB,kCAA8B,kBAAkB;AAAA,EAClD,GAAG,CAAC,oBAAoB,uBAAuB,qBAAqB,6BAA6B,CAAC;AAElG,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAU;AAAA,MACV,YAAW;AAAA,MACX,gBAAe;AAAA,MACf,MAAM;AAAA,MACN,MAAM;AAAA,MAEN,8BAAC,gBAAa,YAAW,QAAO,SAAS,qBAAqB,SAAS,uBACpE,+BACC,oBAAC,yBAAsB,OAAM,QAAO,QAAO,QAAO,IAElD,oBAAC,6BAA0B,OAAM,QAAO,QAAO,QAAO,GAE1D;AAAA;AAAA,EACF;AAEJ,CAAC;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { styled } from '@elliemae/ds-system';\nimport { Grid } from '@elliemae/ds-grid';\nimport { DSButtonV2, type DSButtonT } from '@elliemae/ds-button';\nimport { ArrowShortRight, CloseMedium } from '@elliemae/ds-icons';\nimport { type DSShuttleV2T } from '../../../react-desc-prop-types';\nimport { useHandleMoveSelection } from '../../../config/itemMovementHelpers';\nimport { useFocusTracker } from '../../../config/useFocusTracker';\n\nconst StyledMoveMultipleWrapper = styled(Grid, { name: 'ds-shuttle-v2', slot: 'move-multiple-wrapper' })`\n position: absolute;\n background-color: neutral-000;\n top: 0px;\n right: 0px;\n height: 100%;\n width: 65px;\n :hover {\n background-color: brand-200;\n > svg {\n fill: brand-700;\n }\n }\n > svg {\n fill: brand-600;\n }\n`;\nconst StyledButton = styled(DSButtonV2, {\n name: 'ds-shuttle-v2',\n slot: 'move-multiple-btn',\n})`\n width: 100%;\n height: 100%;\n`;\nconst StyledCloseMediumIcon = styled(CloseMedium, {\n name: 'ds-shuttle-v2',\n slot: 'item-action-btn-to-source-icon',\n})`\n > svg {\n fill: brand-600;\n }\n`;\nconst StyledArrowShortRightIcon = styled(ArrowShortRight, {\n name: 'ds-shuttle-v2',\n slot: 'item-action-btn-to-destination-icon',\n})`\n > svg {\n fill: brand-600;\n }\n`;\nconst gridFullFraction = ['1fr'];\n\nexport const MultipleSelectionAction = React.memo((panelMeta: DSShuttleV2T.PanelMetaInfo) => {\n const { isDestinationPanel } = panelMeta;\n const { moveSelection } = useHandleMoveSelection(panelMeta);\n const { trackFocusRegionPanel, trackFocusRegionPanelFocusAll, trackFocusItemReset, trackFocusActionReset } =\n useFocusTracker();\n const handleMoveAllAction = React.useCallback<Required<DSButtonT.Props>['onClick']>(\n (event) => {\n moveSelection(event);\n trackFocusItemReset();\n trackFocusActionReset();\n trackFocusRegionPanel(isDestinationPanel);\n },\n [isDestinationPanel, moveSelection, trackFocusActionReset, trackFocusItemReset, trackFocusRegionPanel],\n );\n const handleMoveAllBtnFocus: React.FocusEventHandler<HTMLButtonElement> = React.useCallback(() => {\n trackFocusItemReset();\n trackFocusActionReset();\n trackFocusRegionPanelFocusAll(isDestinationPanel);\n }, [isDestinationPanel, trackFocusActionReset, trackFocusItemReset, trackFocusRegionPanelFocusAll]);\n\n return (\n <StyledMoveMultipleWrapper\n boxShadow=\"xs\"\n alignItems=\"center\"\n justifyContent=\"center\"\n cols={gridFullFraction}\n rows={gridFullFraction}\n >\n <StyledButton buttonType=\"icon\" onClick={handleMoveAllAction} onFocus={handleMoveAllBtnFocus}>\n {isDestinationPanel ? (\n <StyledCloseMediumIcon width=\"20px\" height=\"20px\" />\n ) : (\n <StyledArrowShortRightIcon width=\"20px\" height=\"20px\" />\n )}\n </StyledButton>\n </StyledMoveMultipleWrapper>\n );\n});\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACiFb;AAjFV,OAAOA,YAAW;AAClB,SAAS,cAAc;AACvB,SAAS,YAAY;AACrB,SAAS,kBAAkC;AAC3C,SAAS,iBAAiB,mBAAmB;AAE7C,SAAS,8BAA8B;AACvC,SAAS,uBAAuB;AAEhC,MAAM,4BAA4B,OAAO,MAAM,EAAE,MAAM,iBAAiB,MAAM,wBAAwB,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBvG,MAAM,eAAe,OAAO,YAAY;AAAA,EACtC,MAAM;AAAA,EACN,MAAM;AACR,CAAC;AAAA;AAAA;AAAA;AAID,MAAM,wBAAwB,OAAO,aAAa;AAAA,EAChD,MAAM;AAAA,EACN,MAAM;AACR,CAAC;AAAA;AAAA;AAAA;AAAA;AAKD,MAAM,4BAA4B,OAAO,iBAAiB;AAAA,EACxD,MAAM;AAAA,EACN,MAAM;AACR,CAAC;AAAA;AAAA;AAAA;AAAA;AAKD,MAAM,mBAAmB,CAAC,KAAK;AAExB,MAAM,0BAA0BA,OAAM,KAAK,CAAC,cAA0C;AAC3F,QAAM,EAAE,mBAAmB,IAAI;AAC/B,QAAM,EAAE,cAAc,IAAI,uBAAuB,SAAS;AAC1D,QAAM,EAAE,uBAAuB,+BAA+B,qBAAqB,sBAAsB,IACvG,gBAAgB;AAClB,QAAM,sBAAsBA,OAAM;AAAA,IAChC,CAAC,UAAU;AACT,oBAAc,KAAK;AACnB,0BAAoB;AACpB,4BAAsB;AACtB,4BAAsB,kBAAkB;AAAA,IAC1C;AAAA,IACA,CAAC,oBAAoB,eAAe,uBAAuB,qBAAqB,qBAAqB;AAAA,EACvG;AACA,QAAM,wBAAoEA,OAAM,YAAY,MAAM;AAChG,wBAAoB;AACpB,0BAAsB;AACtB,kCAA8B,kBAAkB;AAAA,EAClD,GAAG,CAAC,oBAAoB,uBAAuB,qBAAqB,6BAA6B,CAAC;AAElG,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAU;AAAA,MACV,YAAW;AAAA,MACX,gBAAe;AAAA,MACf,MAAM;AAAA,MACN,MAAM;AAAA,MAEN,8BAAC,gBAAa,YAAW,QAAO,SAAS,qBAAqB,SAAS,uBACpE,+BACC,oBAAC,yBAAsB,OAAM,QAAO,QAAO,QAAO,IAElD,oBAAC,6BAA0B,OAAM,QAAO,QAAO,QAAO,GAE1D;AAAA;AAAA,EACF;AAEJ,CAAC;",
6
6
  "names": ["React"]
7
7
  }
@@ -3,55 +3,15 @@ import { jsx, jsxs } from "react/jsx-runtime";
3
3
  import React2 from "react";
4
4
  import { styled } from "@elliemae/ds-system";
5
5
  import { Grid } from "@elliemae/ds-grid";
6
- import { useOnSpecificFocus } from "@elliemae/ds-utilities";
7
- import { usePropsStore, useInternalStore } from "../../../config/useStore";
8
- import { ItemListWrapperWithContext } from "./ItemListWrapper";
6
+ import { usePropsStore } from "../../../config/useStore";
7
+ import { ItemListWrapper } from "./ItemListWrapper";
9
8
  import { EmptyItems } from "./EmptyItems";
10
- import { useFocusTracker } from "../../../config/useFocusTracker";
11
9
  import { LoadingItems } from "./LoadingItems";
12
- import { MultipleSelectionAction } from "./MultipleSelectionAction";
13
- import { REGIONS_FOCUSES } from "../../../constants";
14
- import { DSShuttleV2Name, DSShuttleV2Slots } from "../../../config/DSShuttleV2Definitions";
15
- const useInnerRefHandlers = (isDestinationPanel) => {
16
- const focusRegion = useInternalStore((state) => state.focusRegion);
17
- const focusItem = useInternalStore((state) => state.focusItem);
18
- const focusItemAction = useInternalStore((state) => state.focusItemAction);
19
- const currRegion = isDestinationPanel ? REGIONS_FOCUSES.DESTINATION_PANEL : REGIONS_FOCUSES.SOURCE_PANEL;
20
- const shouldFocus = React2.useMemo(
21
- () => focusRegion === currRegion && focusItem === "" && focusItemAction === "",
22
- [currRegion, focusItem, focusItemAction, focusRegion]
23
- );
24
- const innerRefHandlerParentItem = React2.useCallback(
25
- (node) => {
26
- if (shouldFocus) {
27
- node?.focus();
28
- }
29
- },
30
- [shouldFocus]
31
- );
32
- return React2.useMemo(() => ({ shouldFocus, innerRefHandlerParentItem }), [shouldFocus, innerRefHandlerParentItem]);
33
- };
34
- const StyledListWrapperMid = styled(Grid, { name: DSShuttleV2Name, slot: DSShuttleV2Slots.LIST_WRAPPER_MID })`
10
+ const StyledListWrapperMid = styled(Grid, { name: "ds-shuttle-v2", slot: "list-wrapper-mid" })`
35
11
  overflow: hidden;
36
- position: relative;
37
-
38
- :focus,
39
- :focus-visible {
40
- outline: none;
41
-
42
- &::after {
43
- position: absolute;
44
- content: ' ';
45
- outline: 2px solid brand-700;
46
- outline-offset: -2px;
47
- width: 100%;
48
- height: 100%;
49
- }
50
- }
51
12
  `;
52
- const StyledMidScroller = styled(Grid, { name: DSShuttleV2Name, slot: DSShuttleV2Slots.LIST_WRAPPER_MID })`
13
+ const StyledMidScroller = styled(Grid, { name: "ds-shuttle-v2", slot: "list-wrapper-mid" })`
53
14
  overflow: auto;
54
- max-height: '500px';
55
15
  `;
56
16
  const PanelContentMiddleSection = React2.memo((panelMetaInfo) => {
57
17
  const { isDestinationPanel = false } = panelMetaInfo;
@@ -61,84 +21,11 @@ const PanelContentMiddleSection = React2.memo((panelMetaInfo) => {
61
21
  const isLoading = usePropsStore((state) => isDestinationPanel ? state.destinationIsLoading : state.sourceIsLoading);
62
22
  const showEmptyMessage = !isLoading && itemsLength === 0;
63
23
  const showItems = !isLoading && !showEmptyMessage;
64
- const virtualRef = useInternalStore(
65
- (state) => isDestinationPanel ? state.destinationVirtualRef : state.sourceVirtualRef
66
- );
67
- const destinationHasMultipleSelectedItems = useInternalStore((store) => store.destinationHasMultipleSelectedItems);
68
- const sourceHasMultipleSelectedItems = useInternalStore((store) => store.sourceHasMultipleSelectedItems);
69
- const hasMultipleSelection = isDestinationPanel ? destinationHasMultipleSelectedItems : sourceHasMultipleSelectedItems;
70
- const isDragging = useInternalStore((state) => state.lastActiveId !== "");
71
- const withLoadMore = usePropsStore(
72
- (state) => isDestinationPanel ? state.destinationWithLoadMore : state.sourceWithLoadMore
73
- );
74
- const { innerRefHandlerParentItem } = useInnerRefHandlers(isDestinationPanel);
75
- const {
76
- trackFocusRegionPanel,
77
- trackFocusItemFirst,
78
- trackFocusItemLast,
79
- trackFocusActionParent,
80
- trackFocusRegionPanelItem,
81
- trackFocusLoadMoreBtn
82
- } = useFocusTracker();
83
- const config = React2.useMemo(
84
- () => ({
85
- onFocus: () => {
86
- trackFocusRegionPanel(isDestinationPanel);
87
- }
88
- }),
89
- [trackFocusRegionPanel, isDestinationPanel]
90
- );
91
- const onPanelFocus = useOnSpecificFocus(config);
92
- const onPanelKeyDown = React2.useCallback(
93
- (e) => {
94
- const { key } = e;
95
- if (isDragging) {
96
- e.preventDefault();
97
- return;
98
- }
99
- if (["Home", "End", "ArrowUp", "ArrowDown"].includes(key)) {
100
- e.preventDefault();
101
- e.stopPropagation();
102
- trackFocusRegionPanelItem(isDestinationPanel);
103
- trackFocusActionParent();
104
- if (key === "ArrowDown" || key === "Home")
105
- trackFocusItemFirst();
106
- if (key === "ArrowUp" || key === "End") {
107
- if (withLoadMore)
108
- trackFocusLoadMoreBtn();
109
- else
110
- trackFocusItemLast();
111
- }
112
- }
113
- },
114
- [
115
- isDragging,
116
- isDestinationPanel,
117
- trackFocusActionParent,
118
- trackFocusItemFirst,
119
- trackFocusItemLast,
120
- trackFocusLoadMoreBtn,
121
- trackFocusRegionPanelItem,
122
- withLoadMore
123
- ]
124
- );
125
- return /* @__PURE__ */ jsxs(
126
- StyledListWrapperMid,
127
- {
128
- onFocus: onPanelFocus,
129
- onKeyDown: onPanelKeyDown,
130
- tabIndex: 0,
131
- ref: innerRefHandlerParentItem,
132
- children: [
133
- /* @__PURE__ */ jsxs(StyledMidScroller, { ref: virtualRef, children: [
134
- isLoading ? /* @__PURE__ */ jsx(LoadingItems, { ...panelMetaInfo }) : null,
135
- showEmptyMessage ? /* @__PURE__ */ jsx(EmptyItems, { ...panelMetaInfo }) : null,
136
- showItems ? /* @__PURE__ */ jsx(ItemListWrapperWithContext, { ...panelMetaInfo }) : null
137
- ] }),
138
- hasMultipleSelection ? /* @__PURE__ */ jsx(MultipleSelectionAction, { isDestinationPanel }) : null
139
- ]
140
- }
141
- );
24
+ return /* @__PURE__ */ jsx(StyledListWrapperMid, { children: /* @__PURE__ */ jsxs(StyledMidScroller, { children: [
25
+ isLoading ? /* @__PURE__ */ jsx(LoadingItems, { ...panelMetaInfo }) : null,
26
+ showEmptyMessage ? /* @__PURE__ */ jsx(EmptyItems, { ...panelMetaInfo }) : null,
27
+ showItems ? /* @__PURE__ */ jsx(ItemListWrapper, { ...panelMetaInfo }) : null
28
+ ] }) });
142
29
  });
143
30
  export {
144
31
  PanelContentMiddleSection
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/parts/Panel/middle/PanelContentMiddleSection.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { styled } from '@elliemae/ds-system';\nimport { Grid } from '@elliemae/ds-grid';\nimport { useOnSpecificFocus } from '@elliemae/ds-utilities';\n\nimport { usePropsStore, useInternalStore } from '../../../config/useStore';\nimport { type DSShuttleV2T } from '../../../react-desc-prop-types';\nimport { ItemListWrapperWithContext } from './ItemListWrapper';\nimport { EmptyItems } from './EmptyItems';\nimport { useFocusTracker } from '../../../config/useFocusTracker';\n\nimport { LoadingItems } from './LoadingItems';\nimport { MultipleSelectionAction } from './MultipleSelectionAction';\nimport { REGIONS_FOCUSES } from '../../../constants';\nimport { DSShuttleV2Name, DSShuttleV2Slots } from '../../../config/DSShuttleV2Definitions';\n\nconst useInnerRefHandlers = (isDestinationPanel: boolean) => {\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 : REGIONS_FOCUSES.SOURCE_PANEL;\n\n const shouldFocus = React.useMemo(\n () => focusRegion === currRegion && focusItem === '' && focusItemAction === '',\n [currRegion, focusItem, focusItemAction, focusRegion],\n );\n\n const innerRefHandlerParentItem = React.useCallback(\n (node: HTMLDivElement) => {\n if (shouldFocus) {\n node?.focus();\n }\n },\n [shouldFocus],\n );\n return React.useMemo(() => ({ shouldFocus, innerRefHandlerParentItem }), [shouldFocus, innerRefHandlerParentItem]);\n};\n\nconst StyledListWrapperMid = styled(Grid, { name: DSShuttleV2Name, slot: DSShuttleV2Slots.LIST_WRAPPER_MID })`\n overflow: hidden;\n position: relative;\n\n :focus,\n :focus-visible {\n outline: none;\n\n &::after {\n position: absolute;\n content: ' ';\n outline: 2px solid brand-700;\n outline-offset: -2px;\n width: 100%;\n height: 100%;\n }\n }\n`;\nconst StyledMidScroller = styled(Grid, { name: DSShuttleV2Name, slot: DSShuttleV2Slots.LIST_WRAPPER_MID })`\n overflow: auto;\n max-height: '500px';\n`;\nexport const PanelContentMiddleSection = React.memo((panelMetaInfo: DSShuttleV2T.PanelMetaInfo) => {\n const { isDestinationPanel = false } = panelMetaInfo;\n const itemsLength = usePropsStore((state) =>\n isDestinationPanel ? state.destinationData.length : state.sourceData.length,\n );\n const isLoading = usePropsStore((state) => (isDestinationPanel ? state.destinationIsLoading : state.sourceIsLoading));\n const showEmptyMessage = !isLoading && itemsLength === 0;\n const showItems = !isLoading && !showEmptyMessage;\n\n const virtualRef = useInternalStore((state) =>\n isDestinationPanel ? state.destinationVirtualRef : state.sourceVirtualRef,\n );\n\n const destinationHasMultipleSelectedItems = useInternalStore((store) => store.destinationHasMultipleSelectedItems);\n const sourceHasMultipleSelectedItems = useInternalStore((store) => store.sourceHasMultipleSelectedItems);\n const hasMultipleSelection = isDestinationPanel\n ? destinationHasMultipleSelectedItems\n : sourceHasMultipleSelectedItems;\n const isDragging = useInternalStore((state) => state.lastActiveId !== '');\n const withLoadMore = usePropsStore((state) =>\n isDestinationPanel ? state.destinationWithLoadMore : state.sourceWithLoadMore,\n );\n const { innerRefHandlerParentItem } = useInnerRefHandlers(isDestinationPanel);\n const {\n trackFocusRegionPanel,\n trackFocusItemFirst,\n trackFocusItemLast,\n trackFocusActionParent,\n trackFocusRegionPanelItem,\n trackFocusLoadMoreBtn,\n } = useFocusTracker();\n const config = React.useMemo(\n () => ({\n onFocus: () => {\n trackFocusRegionPanel(isDestinationPanel);\n },\n }),\n [trackFocusRegionPanel, isDestinationPanel],\n );\n const onPanelFocus = useOnSpecificFocus(config);\n\n const onPanelKeyDown = React.useCallback<React.KeyboardEventHandler<HTMLDivElement>>(\n (e) => {\n const { key } = e;\n\n if (isDragging) {\n e.preventDefault();\n return;\n }\n if (['Home', 'End', 'ArrowUp', 'ArrowDown'].includes(key)) {\n e.preventDefault();\n e.stopPropagation();\n trackFocusRegionPanelItem(isDestinationPanel);\n trackFocusActionParent();\n // we won't receive ArrowUp/ArrowDown if this happens in a child because children are stopping propagation\n if (key === 'ArrowDown' || key === 'Home') trackFocusItemFirst();\n if (key === 'ArrowUp' || key === 'End') {\n if (withLoadMore) trackFocusLoadMoreBtn();\n else trackFocusItemLast();\n }\n }\n },\n [\n isDragging,\n isDestinationPanel,\n trackFocusActionParent,\n trackFocusItemFirst,\n trackFocusItemLast,\n trackFocusLoadMoreBtn,\n trackFocusRegionPanelItem,\n withLoadMore,\n ],\n );\n\n return (\n <StyledListWrapperMid\n onFocus={onPanelFocus}\n onKeyDown={onPanelKeyDown}\n tabIndex={0}\n ref={innerRefHandlerParentItem}\n >\n <StyledMidScroller ref={virtualRef}>\n {isLoading ? <LoadingItems {...panelMetaInfo} /> : null}\n {showEmptyMessage ? <EmptyItems {...panelMetaInfo} /> : null}\n {showItems ? <ItemListWrapperWithContext {...panelMetaInfo} /> : null}\n </StyledMidScroller>\n {hasMultipleSelection ? <MultipleSelectionAction isDestinationPanel={isDestinationPanel} /> : null}\n </StyledListWrapperMid>\n );\n});\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { styled } from '@elliemae/ds-system';\nimport { Grid } from '@elliemae/ds-grid';\nimport { usePropsStore } from '../../../config/useStore';\nimport { type DSShuttleV2T } from '../../../react-desc-prop-types';\nimport { ItemListWrapper } from './ItemListWrapper';\nimport { EmptyItems } from './EmptyItems';\nimport { LoadingItems } from './LoadingItems';\n\nconst StyledListWrapperMid = styled(Grid, { name: 'ds-shuttle-v2', slot: 'list-wrapper-mid' })`\n overflow: hidden;\n`;\nconst StyledMidScroller = styled(Grid, { name: 'ds-shuttle-v2', slot: 'list-wrapper-mid' })`\n overflow: auto;\n`;\nexport const PanelContentMiddleSection = React.memo((panelMetaInfo: DSShuttleV2T.PanelMetaInfo) => {\n const { isDestinationPanel = false } = panelMetaInfo;\n const itemsLength = usePropsStore((state) =>\n isDestinationPanel ? state.destinationData.length : state.sourceData.length,\n );\n const isLoading = usePropsStore((state) => (isDestinationPanel ? state.destinationIsLoading : state.sourceIsLoading));\n const showEmptyMessage = !isLoading && itemsLength === 0;\n const showItems = !isLoading && !showEmptyMessage;\n\n return (\n <StyledListWrapperMid>\n <StyledMidScroller>\n {isLoading ? <LoadingItems {...panelMetaInfo} /> : null}\n {showEmptyMessage ? <EmptyItems {...panelMetaInfo} /> : null}\n {showItems ? <ItemListWrapper {...panelMetaInfo} /> : null}\n </StyledMidScroller>\n </StyledListWrapperMid>\n );\n});\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;AC0BjB,SACe,KADf;AA1BN,OAAOA,YAAW;AAClB,SAAS,cAAc;AACvB,SAAS,YAAY;AACrB,SAAS,qBAAqB;AAE9B,SAAS,uBAAuB;AAChC,SAAS,kBAAkB;AAC3B,SAAS,oBAAoB;AAE7B,MAAM,uBAAuB,OAAO,MAAM,EAAE,MAAM,iBAAiB,MAAM,mBAAmB,CAAC;AAAA;AAAA;AAG7F,MAAM,oBAAoB,OAAO,MAAM,EAAE,MAAM,iBAAiB,MAAM,mBAAmB,CAAC;AAAA;AAAA;AAGnF,MAAM,4BAA4BA,OAAM,KAAK,CAAC,kBAA8C;AACjG,QAAM,EAAE,qBAAqB,MAAM,IAAI;AACvC,QAAM,cAAc;AAAA,IAAc,CAAC,UACjC,qBAAqB,MAAM,gBAAgB,SAAS,MAAM,WAAW;AAAA,EACvE;AACA,QAAM,YAAY,cAAc,CAAC,UAAW,qBAAqB,MAAM,uBAAuB,MAAM,eAAgB;AACpH,QAAM,mBAAmB,CAAC,aAAa,gBAAgB;AACvD,QAAM,YAAY,CAAC,aAAa,CAAC;AAEjC,SACE,oBAAC,wBACC,+BAAC,qBACE;AAAA,gBAAY,oBAAC,gBAAc,GAAG,eAAe,IAAK;AAAA,IAClD,mBAAmB,oBAAC,cAAY,GAAG,eAAe,IAAK;AAAA,IACvD,YAAY,oBAAC,mBAAiB,GAAG,eAAe,IAAK;AAAA,KACxD,GACF;AAEJ,CAAC;",
6
6
  "names": ["React"]
7
7
  }
@@ -6,8 +6,7 @@ import { Grid } from "@elliemae/ds-grid";
6
6
  import { usePropsStore } from "../../../config/useStore";
7
7
  import { SelectionHeader } from "./SelectionHeader";
8
8
  import { PanelFilterSection } from "./PanelFilterSection";
9
- import { DSShuttleV2Name, DSShuttleV2Slots } from "../../../config/DSShuttleV2Definitions";
10
- const StyledListWrapperTop = styled(Grid, { name: DSShuttleV2Name, slot: DSShuttleV2Slots.LIST_WRAPPER_TOP })``;
9
+ const StyledListWrapperTop = styled(Grid, { name: "ds-shuttle-v2", slot: "list-wrapper-top" })``;
11
10
  const PanelContentTopSection = (panelMetaInfo) => {
12
11
  const { isDestinationPanel = false } = panelMetaInfo;
13
12
  const isSearchBarOpen = usePropsStore(
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/parts/Panel/top/PanelContentTopSection.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { styled } from '@elliemae/ds-system';\nimport { Grid } from '@elliemae/ds-grid';\nimport { usePropsStore } from '../../../config/useStore';\nimport { type DSShuttleV2T } from '../../../react-desc-prop-types';\nimport { SelectionHeader } from './SelectionHeader';\nimport { PanelFilterSection } from './PanelFilterSection';\nimport { DSShuttleV2Name, DSShuttleV2Slots } from '../../../config/DSShuttleV2Definitions';\n\nconst StyledListWrapperTop = styled(Grid, { name: DSShuttleV2Name, slot: DSShuttleV2Slots.LIST_WRAPPER_TOP })``;\n\nexport const PanelContentTopSection = (panelMetaInfo: DSShuttleV2T.PanelMetaInfo) => {\n const { isDestinationPanel = false } = panelMetaInfo;\n const isSearchBarOpen = usePropsStore((state) =>\n isDestinationPanel ? state.destinationShowSearchbar : state.sourceShowSearchbar,\n );\n const topSectionRows = React.useMemo(() => {\n const cols = [];\n if (isSearchBarOpen) cols.push('auto');\n cols.push('auto');\n return cols;\n }, [isSearchBarOpen]);\n return (\n <StyledListWrapperTop rows={topSectionRows}>\n {isSearchBarOpen ? <PanelFilterSection {...panelMetaInfo} /> : null}\n <SelectionHeader {...panelMetaInfo} />\n </StyledListWrapperTop>\n );\n};\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACuBnB,SACqB,KADrB;AAvBJ,OAAOA,YAAW;AAClB,SAAS,cAAc;AACvB,SAAS,YAAY;AACrB,SAAS,qBAAqB;AAE9B,SAAS,uBAAuB;AAChC,SAAS,0BAA0B;AACnC,SAAS,iBAAiB,wBAAwB;AAElD,MAAM,uBAAuB,OAAO,MAAM,EAAE,MAAM,iBAAiB,MAAM,iBAAiB,iBAAiB,CAAC;AAErG,MAAM,yBAAyB,CAAC,kBAA8C;AACnF,QAAM,EAAE,qBAAqB,MAAM,IAAI;AACvC,QAAM,kBAAkB;AAAA,IAAc,CAAC,UACrC,qBAAqB,MAAM,2BAA2B,MAAM;AAAA,EAC9D;AACA,QAAM,iBAAiBA,OAAM,QAAQ,MAAM;AACzC,UAAM,OAAO,CAAC;AACd,QAAI;AAAiB,WAAK,KAAK,MAAM;AACrC,SAAK,KAAK,MAAM;AAChB,WAAO;AAAA,EACT,GAAG,CAAC,eAAe,CAAC;AACpB,SACE,qBAAC,wBAAqB,MAAM,gBACzB;AAAA,sBAAkB,oBAAC,sBAAoB,GAAG,eAAe,IAAK;AAAA,IAC/D,oBAAC,mBAAiB,GAAG,eAAe;AAAA,KACtC;AAEJ;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { styled } from '@elliemae/ds-system';\nimport { Grid } from '@elliemae/ds-grid';\nimport { usePropsStore } from '../../../config/useStore';\nimport { type DSShuttleV2T } from '../../../react-desc-prop-types';\nimport { SelectionHeader } from './SelectionHeader';\nimport { PanelFilterSection } from './PanelFilterSection';\n\nconst StyledListWrapperTop = styled(Grid, { name: 'ds-shuttle-v2', slot: 'list-wrapper-top' })``;\n\nexport const PanelContentTopSection = (panelMetaInfo: DSShuttleV2T.PanelMetaInfo) => {\n const { isDestinationPanel = false } = panelMetaInfo;\n const isSearchBarOpen = usePropsStore((state) =>\n isDestinationPanel ? state.destinationShowSearchbar : state.sourceShowSearchbar,\n );\n const topSectionRows = React.useMemo(() => {\n const cols = [];\n if (isSearchBarOpen) cols.push('auto');\n cols.push('auto');\n return cols;\n }, [isSearchBarOpen]);\n return (\n <StyledListWrapperTop rows={topSectionRows}>\n {isSearchBarOpen ? <PanelFilterSection {...panelMetaInfo} /> : null}\n <SelectionHeader {...panelMetaInfo} />\n </StyledListWrapperTop>\n );\n};\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACsBnB,SACqB,KADrB;AAtBJ,OAAOA,YAAW;AAClB,SAAS,cAAc;AACvB,SAAS,YAAY;AACrB,SAAS,qBAAqB;AAE9B,SAAS,uBAAuB;AAChC,SAAS,0BAA0B;AAEnC,MAAM,uBAAuB,OAAO,MAAM,EAAE,MAAM,iBAAiB,MAAM,mBAAmB,CAAC;AAEtF,MAAM,yBAAyB,CAAC,kBAA8C;AACnF,QAAM,EAAE,qBAAqB,MAAM,IAAI;AACvC,QAAM,kBAAkB;AAAA,IAAc,CAAC,UACrC,qBAAqB,MAAM,2BAA2B,MAAM;AAAA,EAC9D;AACA,QAAM,iBAAiBA,OAAM,QAAQ,MAAM;AACzC,UAAM,OAAO,CAAC;AACd,QAAI;AAAiB,WAAK,KAAK,MAAM;AACrC,SAAK,KAAK,MAAM;AAChB,WAAO;AAAA,EACT,GAAG,CAAC,eAAe,CAAC;AACpB,SACE,qBAAC,wBAAqB,MAAM,gBACzB;AAAA,sBAAkB,oBAAC,sBAAoB,GAAG,eAAe,IAAK;AAAA,IAC/D,oBAAC,mBAAiB,GAAG,eAAe;AAAA,KACtC;AAEJ;",
6
6
  "names": ["React"]
7
7
  }
@@ -5,12 +5,11 @@ import { Grid } from "@elliemae/ds-grid";
5
5
  import { styled } from "@elliemae/ds-system";
6
6
  import { DSInputText } from "@elliemae/ds-form-input-text";
7
7
  import { usePropsStore } from "../../../config/useStore";
8
- import { DSShuttleV2Name, DSShuttleV2Slots } from "../../../config/DSShuttleV2Definitions";
9
- const StyledSearchWrapper = styled(Grid, { name: DSShuttleV2Name, slot: DSShuttleV2Slots.AREA_SEARCH_WRAPPER })`
8
+ const StyledSearchWrapper = styled(Grid, { name: "ds-shuttle-v2", slot: "area-search-wrapper" })`
10
9
  border-bottom: 1px solid neutral-400;
11
10
  border-radius: 0;
12
11
  `;
13
- const StyledInputText = styled(DSInputText, { name: DSShuttleV2Name, slot: DSShuttleV2Slots.AREA_SEARCH_BAR })`
12
+ const StyledInputText = styled(DSInputText, { name: "ds-shuttle-v2", slot: "area-search-bar" })`
14
13
  border: none;
15
14
  :focus {
16
15
  border-radius: 0;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/parts/Panel/top/PanelFilterSection.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { Grid } from '@elliemae/ds-grid';\nimport { styled } from '@elliemae/ds-system';\nimport { DSInputText } from '@elliemae/ds-form-input-text';\nimport { usePropsStore } from '../../../config/useStore';\nimport { type DSShuttleV2T } from '../../../react-desc-prop-types';\nimport { DSShuttleV2Name, DSShuttleV2Slots } from '../../../config/DSShuttleV2Definitions';\n\nconst StyledSearchWrapper = styled(Grid, { name: DSShuttleV2Name, slot: DSShuttleV2Slots.AREA_SEARCH_WRAPPER })`\n border-bottom: 1px solid neutral-400;\n border-radius: 0;\n`;\nconst StyledInputText = styled(DSInputText, { name: DSShuttleV2Name, slot: DSShuttleV2Slots.AREA_SEARCH_BAR })`\n border: none;\n :focus {\n border-radius: 0;\n }\n`;\n\nexport const PanelFilterSection = (panelMetaInfo: DSShuttleV2T.PanelMetaInfo) => {\n const { isDestinationPanel = false } = panelMetaInfo;\n const onFilterCb = usePropsStore((state) =>\n isDestinationPanel ? state.onDestinationFilterChange : state.onSourceFilterChange,\n );\n const filterValue = usePropsStore((state) =>\n isDestinationPanel ? state.destinationFilterValue : state.sourceFilterValue,\n );\n const handleFilterChange = React.useCallback(\n (value: string | number, event: React.ChangeEvent<HTMLInputElement>) => {\n onFilterCb?.(`${value}`, { event });\n },\n [onFilterCb],\n );\n return (\n <StyledSearchWrapper>\n <StyledInputText value={filterValue} onValueChange={handleFilterChange} />\n </StyledSearchWrapper>\n );\n};\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACmCjB;AAnCN,OAAOA,YAAW;AAClB,SAAS,YAAY;AACrB,SAAS,cAAc;AACvB,SAAS,mBAAmB;AAC5B,SAAS,qBAAqB;AAE9B,SAAS,iBAAiB,wBAAwB;AAElD,MAAM,sBAAsB,OAAO,MAAM,EAAE,MAAM,iBAAiB,MAAM,iBAAiB,oBAAoB,CAAC;AAAA;AAAA;AAAA;AAI9G,MAAM,kBAAkB,OAAO,aAAa,EAAE,MAAM,iBAAiB,MAAM,iBAAiB,gBAAgB,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAOtG,MAAM,qBAAqB,CAAC,kBAA8C;AAC/E,QAAM,EAAE,qBAAqB,MAAM,IAAI;AACvC,QAAM,aAAa;AAAA,IAAc,CAAC,UAChC,qBAAqB,MAAM,4BAA4B,MAAM;AAAA,EAC/D;AACA,QAAM,cAAc;AAAA,IAAc,CAAC,UACjC,qBAAqB,MAAM,yBAAyB,MAAM;AAAA,EAC5D;AACA,QAAM,qBAAqBA,OAAM;AAAA,IAC/B,CAAC,OAAwB,UAA+C;AACtE,mBAAa,GAAG,SAAS,EAAE,MAAM,CAAC;AAAA,IACpC;AAAA,IACA,CAAC,UAAU;AAAA,EACb;AACA,SACE,oBAAC,uBACC,8BAAC,mBAAgB,OAAO,aAAa,eAAe,oBAAoB,GAC1E;AAEJ;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { Grid } from '@elliemae/ds-grid';\nimport { styled } from '@elliemae/ds-system';\nimport { DSInputText } from '@elliemae/ds-form-input-text';\nimport { usePropsStore } from '../../../config/useStore';\nimport { type DSShuttleV2T } from '../../../react-desc-prop-types';\n\nconst StyledSearchWrapper = styled(Grid, { name: 'ds-shuttle-v2', slot: 'area-search-wrapper' })`\n border-bottom: 1px solid neutral-400;\n border-radius: 0;\n`;\nconst StyledInputText = styled(DSInputText, { name: 'ds-shuttle-v2', slot: 'area-search-bar' })`\n border: none;\n :focus {\n border-radius: 0;\n }\n`;\n\nexport const PanelFilterSection = (panelMetaInfo: DSShuttleV2T.PanelMetaInfo) => {\n const { isDestinationPanel = false } = panelMetaInfo;\n const onFilterCb = usePropsStore((state) =>\n isDestinationPanel ? state.onDestinationFilterChange : state.onSourceFilterChange,\n );\n const filterValue = usePropsStore((state) =>\n isDestinationPanel ? state.destinationFilterValue : state.sourceFilterValue,\n );\n const handleFilterChange = React.useCallback(\n (value: string | number, event: React.ChangeEvent<HTMLInputElement>) => {\n onFilterCb?.(`${value}`, { event });\n },\n [onFilterCb],\n );\n return (\n <StyledSearchWrapper>\n <StyledInputText value={filterValue} onValueChange={handleFilterChange} />\n </StyledSearchWrapper>\n );\n};\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACkCjB;AAlCN,OAAOA,YAAW;AAClB,SAAS,YAAY;AACrB,SAAS,cAAc;AACvB,SAAS,mBAAmB;AAC5B,SAAS,qBAAqB;AAG9B,MAAM,sBAAsB,OAAO,MAAM,EAAE,MAAM,iBAAiB,MAAM,sBAAsB,CAAC;AAAA;AAAA;AAAA;AAI/F,MAAM,kBAAkB,OAAO,aAAa,EAAE,MAAM,iBAAiB,MAAM,kBAAkB,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAOvF,MAAM,qBAAqB,CAAC,kBAA8C;AAC/E,QAAM,EAAE,qBAAqB,MAAM,IAAI;AACvC,QAAM,aAAa;AAAA,IAAc,CAAC,UAChC,qBAAqB,MAAM,4BAA4B,MAAM;AAAA,EAC/D;AACA,QAAM,cAAc;AAAA,IAAc,CAAC,UACjC,qBAAqB,MAAM,yBAAyB,MAAM;AAAA,EAC5D;AACA,QAAM,qBAAqBA,OAAM;AAAA,IAC/B,CAAC,OAAwB,UAA+C;AACtE,mBAAa,GAAG,SAAS,EAAE,MAAM,CAAC;AAAA,IACpC;AAAA,IACA,CAAC,UAAU;AAAA,EACb;AACA,SACE,oBAAC,uBACC,8BAAC,mBAAgB,OAAO,aAAa,eAAe,oBAAoB,GAC1E;AAEJ;",
6
6
  "names": ["React"]
7
7
  }
@@ -5,19 +5,15 @@ import { styled } from "@elliemae/ds-system";
5
5
  import { DSControlledCheckbox } from "@elliemae/ds-form-checkbox";
6
6
  import { Grid } from "@elliemae/ds-grid";
7
7
  import { usePropsStore, useInternalStore } from "../../../config/useStore";
8
- import { DSShuttleV2Name, DSShuttleV2Slots } from "../../../config/DSShuttleV2Definitions";
9
- const StyledSelectionHeaderWrapper = styled(Grid, {
10
- name: DSShuttleV2Name,
11
- slot: DSShuttleV2Slots.AREA_SELECTION_HEADER
12
- })`
8
+ const StyledSelectionHeaderWrapper = styled(Grid, { name: "ds-shuttle-v2", slot: "area-selection-header" })`
13
9
  line-height: 1;
14
10
  font-size: 1rem;
15
11
  background-color: neutral-000;
16
12
  border-bottom: 1px solid neutral-400;
17
13
  `;
18
14
  const StyledSelectionHeaderCountLabel = styled("div", {
19
- name: DSShuttleV2Name,
20
- slot: DSShuttleV2Slots.AREA_SELECTION_HEADER_COUNT_LABEL
15
+ name: "ds-shuttle-v2",
16
+ slot: "area-selection-header-count-label"
21
17
  })`
22
18
  text-align: end;
23
19
  color: neutral-500;