@elliemae/ds-legacy-shuttle-v2 1.0.0-rc.1

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 (306) hide show
  1. package/dist/cjs/DSShuttleV2.js +46 -0
  2. package/dist/cjs/DSShuttleV2.js.map +7 -0
  3. package/dist/cjs/config/DSShuttleV2Definitions.js +74 -0
  4. package/dist/cjs/config/DSShuttleV2Definitions.js.map +7 -0
  5. package/dist/cjs/config/itemMovementHelpers.js +133 -0
  6. package/dist/cjs/config/itemMovementHelpers.js.map +7 -0
  7. package/dist/cjs/config/useAutoCalculated/index.js +43 -0
  8. package/dist/cjs/config/useAutoCalculated/index.js.map +7 -0
  9. package/dist/cjs/config/useAutoCalculated/useDataStructure.js +182 -0
  10. package/dist/cjs/config/useAutoCalculated/useDataStructure.js.map +7 -0
  11. package/dist/cjs/config/useAutoCalculated/useShuttleVirtualized.js +51 -0
  12. package/dist/cjs/config/useAutoCalculated/useShuttleVirtualized.js.map +7 -0
  13. package/dist/cjs/config/useFocusTracker/index.js +42 -0
  14. package/dist/cjs/config/useFocusTracker/index.js.map +7 -0
  15. package/dist/cjs/config/useFocusTracker/useFocusActionTrackers.js +149 -0
  16. package/dist/cjs/config/useFocusTracker/useFocusActionTrackers.js.map +7 -0
  17. package/dist/cjs/config/useFocusTracker/useFocusItemTracker.js +103 -0
  18. package/dist/cjs/config/useFocusTracker/useFocusItemTracker.js.map +7 -0
  19. package/dist/cjs/config/useFocusTracker/useFocusRegionTrackers.js +87 -0
  20. package/dist/cjs/config/useFocusTracker/useFocusRegionTrackers.js.map +7 -0
  21. package/dist/cjs/config/useFocusTracker/useFocusTracker.js +52 -0
  22. package/dist/cjs/config/useFocusTracker/useFocusTracker.js.map +7 -0
  23. package/dist/cjs/config/useStore/focusAndTabIndexManager.js +77 -0
  24. package/dist/cjs/config/useStore/focusAndTabIndexManager.js.map +7 -0
  25. package/dist/cjs/config/useStore/index.js +30 -0
  26. package/dist/cjs/config/useStore/index.js.map +7 -0
  27. package/dist/cjs/config/useStore/useStore.js +86 -0
  28. package/dist/cjs/config/useStore/useStore.js.map +7 -0
  29. package/dist/cjs/config/useValidateProps.js +40 -0
  30. package/dist/cjs/config/useValidateProps.js.map +7 -0
  31. package/dist/cjs/constants/index.js +69 -0
  32. package/dist/cjs/constants/index.js.map +7 -0
  33. package/dist/cjs/exported-related/ShuttleItem.js +60 -0
  34. package/dist/cjs/exported-related/ShuttleItem.js.map +7 -0
  35. package/dist/cjs/exported-related/index.js +36 -0
  36. package/dist/cjs/exported-related/index.js.map +7 -0
  37. package/dist/cjs/index.js +43 -0
  38. package/dist/cjs/index.js.map +7 -0
  39. package/dist/cjs/package.json +7 -0
  40. package/dist/cjs/parts/Dnd/DndHandle.js +89 -0
  41. package/dist/cjs/parts/Dnd/DndHandle.js.map +7 -0
  42. package/dist/cjs/parts/Dnd/DragOverlay.js +51 -0
  43. package/dist/cjs/parts/Dnd/DragOverlay.js.map +7 -0
  44. package/dist/cjs/parts/Dnd/DropIndicator.js +92 -0
  45. package/dist/cjs/parts/Dnd/DropIndicator.js.map +7 -0
  46. package/dist/cjs/parts/Header.js +91 -0
  47. package/dist/cjs/parts/Header.js.map +7 -0
  48. package/dist/cjs/parts/HoC/withConditionalDnDRowContext.js +121 -0
  49. package/dist/cjs/parts/HoC/withConditionalDnDRowContext.js.map +7 -0
  50. package/dist/cjs/parts/HoC/withConditionalUseSortable.js +43 -0
  51. package/dist/cjs/parts/HoC/withConditionalUseSortable.js.map +7 -0
  52. package/dist/cjs/parts/Item/Item.js +222 -0
  53. package/dist/cjs/parts/Item/Item.js.map +7 -0
  54. package/dist/cjs/parts/Item/ItemActions/ItemActions.js +164 -0
  55. package/dist/cjs/parts/Item/ItemActions/ItemActions.js.map +7 -0
  56. package/dist/cjs/parts/Item/ItemActions/index.js +30 -0
  57. package/dist/cjs/parts/Item/ItemActions/index.js.map +7 -0
  58. package/dist/cjs/parts/Item/ItemActions/useActionsHandlers.js +54 -0
  59. package/dist/cjs/parts/Item/ItemActions/useActionsHandlers.js.map +7 -0
  60. package/dist/cjs/parts/Item/ItemActions/useActionsLogicHandlers.js +82 -0
  61. package/dist/cjs/parts/Item/ItemActions/useActionsLogicHandlers.js.map +7 -0
  62. package/dist/cjs/parts/Item/ItemActions/useInnerRefHandlers.js +69 -0
  63. package/dist/cjs/parts/Item/ItemActions/useInnerRefHandlers.js.map +7 -0
  64. package/dist/cjs/parts/Item/ItemMiddleSection.js +140 -0
  65. package/dist/cjs/parts/Item/ItemMiddleSection.js.map +7 -0
  66. package/dist/cjs/parts/Item/ItemOverlay.js +76 -0
  67. package/dist/cjs/parts/Item/ItemOverlay.js.map +7 -0
  68. package/dist/cjs/parts/Item/ItemSelection.js +70 -0
  69. package/dist/cjs/parts/Item/ItemSelection.js.map +7 -0
  70. package/dist/cjs/parts/Item/TextSection.js +56 -0
  71. package/dist/cjs/parts/Item/TextSection.js.map +7 -0
  72. package/dist/cjs/parts/Item/useItemArrowNavigation.js +104 -0
  73. package/dist/cjs/parts/Item/useItemArrowNavigation.js.map +7 -0
  74. package/dist/cjs/parts/Item/useItemKeyboardSelection.js +61 -0
  75. package/dist/cjs/parts/Item/useItemKeyboardSelection.js.map +7 -0
  76. package/dist/cjs/parts/Item/useSelectionLogic.js +128 -0
  77. package/dist/cjs/parts/Item/useSelectionLogic.js.map +7 -0
  78. package/dist/cjs/parts/Item/useThisItemIsFocused.js +47 -0
  79. package/dist/cjs/parts/Item/useThisItemIsFocused.js.map +7 -0
  80. package/dist/cjs/parts/MainContent.js +116 -0
  81. package/dist/cjs/parts/MainContent.js.map +7 -0
  82. package/dist/cjs/parts/Panel/bottom/LoadMoreBtn.js +81 -0
  83. package/dist/cjs/parts/Panel/bottom/LoadMoreBtn.js.map +7 -0
  84. package/dist/cjs/parts/Panel/bottom/LoadingMore.js +59 -0
  85. package/dist/cjs/parts/Panel/bottom/LoadingMore.js.map +7 -0
  86. package/dist/cjs/parts/Panel/bottom/PanelContentBottomSection.js +97 -0
  87. package/dist/cjs/parts/Panel/bottom/PanelContentBottomSection.js.map +7 -0
  88. package/dist/cjs/parts/Panel/bottom/useInnerRefHandlers.js +51 -0
  89. package/dist/cjs/parts/Panel/bottom/useInnerRefHandlers.js.map +7 -0
  90. package/dist/cjs/parts/Panel/bottom/useLoadMoreBtnArrowNavigation.js +77 -0
  91. package/dist/cjs/parts/Panel/bottom/useLoadMoreBtnArrowNavigation.js.map +7 -0
  92. package/dist/cjs/parts/Panel/middle/EmptyItems.js +58 -0
  93. package/dist/cjs/parts/Panel/middle/EmptyItems.js.map +7 -0
  94. package/dist/cjs/parts/Panel/middle/ItemListWrapper/Index.js +93 -0
  95. package/dist/cjs/parts/Panel/middle/ItemListWrapper/Index.js.map +7 -0
  96. package/dist/cjs/parts/Panel/middle/ItemListWrapper/getDatumFlags.js +48 -0
  97. package/dist/cjs/parts/Panel/middle/ItemListWrapper/getDatumFlags.js.map +7 -0
  98. package/dist/cjs/parts/Panel/middle/ItemListWrapper/useGetDatumHydratables.js +60 -0
  99. package/dist/cjs/parts/Panel/middle/ItemListWrapper/useGetDatumHydratables.js.map +7 -0
  100. package/dist/cjs/parts/Panel/middle/LoadingItems.js +68 -0
  101. package/dist/cjs/parts/Panel/middle/LoadingItems.js.map +7 -0
  102. package/dist/cjs/parts/Panel/middle/MultipleSelectionAction.js +186 -0
  103. package/dist/cjs/parts/Panel/middle/MultipleSelectionAction.js.map +7 -0
  104. package/dist/cjs/parts/Panel/middle/PanelContentMiddleSection.js +174 -0
  105. package/dist/cjs/parts/Panel/middle/PanelContentMiddleSection.js.map +7 -0
  106. package/dist/cjs/parts/Panel/top/PanelContentTopSection.js +71 -0
  107. package/dist/cjs/parts/Panel/top/PanelContentTopSection.js.map +7 -0
  108. package/dist/cjs/parts/Panel/top/PanelFilterSection.js +79 -0
  109. package/dist/cjs/parts/Panel/top/PanelFilterSection.js.map +7 -0
  110. package/dist/cjs/parts/Panel/top/SelectionHeader.js +137 -0
  111. package/dist/cjs/parts/Panel/top/SelectionHeader.js.map +7 -0
  112. package/dist/cjs/parts/PanelWrapper.js +83 -0
  113. package/dist/cjs/parts/PanelWrapper.js.map +7 -0
  114. package/dist/cjs/react-desc-prop-types.js +157 -0
  115. package/dist/cjs/react-desc-prop-types.js.map +7 -0
  116. package/dist/cjs/tests/configs/basic.js +164 -0
  117. package/dist/cjs/tests/configs/basic.js.map +7 -0
  118. package/dist/cjs/tests/configs/filter.js +199 -0
  119. package/dist/cjs/tests/configs/filter.js.map +7 -0
  120. package/dist/cjs/tests/configs/loadMore.js +179 -0
  121. package/dist/cjs/tests/configs/loadMore.js.map +7 -0
  122. package/dist/esm/DSShuttleV2.js +16 -0
  123. package/dist/esm/DSShuttleV2.js.map +7 -0
  124. package/dist/esm/config/DSShuttleV2Definitions.js +44 -0
  125. package/dist/esm/config/DSShuttleV2Definitions.js.map +7 -0
  126. package/dist/esm/config/itemMovementHelpers.js +103 -0
  127. package/dist/esm/config/itemMovementHelpers.js.map +7 -0
  128. package/dist/esm/config/useAutoCalculated/index.js +13 -0
  129. package/dist/esm/config/useAutoCalculated/index.js.map +7 -0
  130. package/dist/esm/config/useAutoCalculated/useDataStructure.js +152 -0
  131. package/dist/esm/config/useAutoCalculated/useDataStructure.js.map +7 -0
  132. package/dist/esm/config/useAutoCalculated/useShuttleVirtualized.js +21 -0
  133. package/dist/esm/config/useAutoCalculated/useShuttleVirtualized.js.map +7 -0
  134. package/dist/esm/config/useFocusTracker/index.js +12 -0
  135. package/dist/esm/config/useFocusTracker/index.js.map +7 -0
  136. package/dist/esm/config/useFocusTracker/useFocusActionTrackers.js +119 -0
  137. package/dist/esm/config/useFocusTracker/useFocusActionTrackers.js.map +7 -0
  138. package/dist/esm/config/useFocusTracker/useFocusItemTracker.js +73 -0
  139. package/dist/esm/config/useFocusTracker/useFocusItemTracker.js.map +7 -0
  140. package/dist/esm/config/useFocusTracker/useFocusRegionTrackers.js +57 -0
  141. package/dist/esm/config/useFocusTracker/useFocusRegionTrackers.js.map +7 -0
  142. package/dist/esm/config/useFocusTracker/useFocusTracker.js +22 -0
  143. package/dist/esm/config/useFocusTracker/useFocusTracker.js.map +7 -0
  144. package/dist/esm/config/useStore/focusAndTabIndexManager.js +47 -0
  145. package/dist/esm/config/useStore/focusAndTabIndexManager.js.map +7 -0
  146. package/dist/esm/config/useStore/index.js +3 -0
  147. package/dist/esm/config/useStore/index.js.map +7 -0
  148. package/dist/esm/config/useStore/useStore.js +56 -0
  149. package/dist/esm/config/useStore/useStore.js.map +7 -0
  150. package/dist/esm/config/useValidateProps.js +10 -0
  151. package/dist/esm/config/useValidateProps.js.map +7 -0
  152. package/dist/esm/constants/index.js +39 -0
  153. package/dist/esm/constants/index.js.map +7 -0
  154. package/dist/esm/exported-related/ShuttleItem.js +30 -0
  155. package/dist/esm/exported-related/ShuttleItem.js.map +7 -0
  156. package/dist/esm/exported-related/index.js +6 -0
  157. package/dist/esm/exported-related/index.js.map +7 -0
  158. package/dist/esm/index.js +13 -0
  159. package/dist/esm/index.js.map +7 -0
  160. package/dist/esm/package.json +7 -0
  161. package/dist/esm/parts/Dnd/DndHandle.js +59 -0
  162. package/dist/esm/parts/Dnd/DndHandle.js.map +7 -0
  163. package/dist/esm/parts/Dnd/DragOverlay.js +21 -0
  164. package/dist/esm/parts/Dnd/DragOverlay.js.map +7 -0
  165. package/dist/esm/parts/Dnd/DropIndicator.js +62 -0
  166. package/dist/esm/parts/Dnd/DropIndicator.js.map +7 -0
  167. package/dist/esm/parts/Header.js +63 -0
  168. package/dist/esm/parts/Header.js.map +7 -0
  169. package/dist/esm/parts/HoC/withConditionalDnDRowContext.js +91 -0
  170. package/dist/esm/parts/HoC/withConditionalDnDRowContext.js.map +7 -0
  171. package/dist/esm/parts/HoC/withConditionalUseSortable.js +13 -0
  172. package/dist/esm/parts/HoC/withConditionalUseSortable.js.map +7 -0
  173. package/dist/esm/parts/Item/Item.js +192 -0
  174. package/dist/esm/parts/Item/Item.js.map +7 -0
  175. package/dist/esm/parts/Item/ItemActions/ItemActions.js +134 -0
  176. package/dist/esm/parts/Item/ItemActions/ItemActions.js.map +7 -0
  177. package/dist/esm/parts/Item/ItemActions/index.js +3 -0
  178. package/dist/esm/parts/Item/ItemActions/index.js.map +7 -0
  179. package/dist/esm/parts/Item/ItemActions/useActionsHandlers.js +24 -0
  180. package/dist/esm/parts/Item/ItemActions/useActionsHandlers.js.map +7 -0
  181. package/dist/esm/parts/Item/ItemActions/useActionsLogicHandlers.js +52 -0
  182. package/dist/esm/parts/Item/ItemActions/useActionsLogicHandlers.js.map +7 -0
  183. package/dist/esm/parts/Item/ItemActions/useInnerRefHandlers.js +39 -0
  184. package/dist/esm/parts/Item/ItemActions/useInnerRefHandlers.js.map +7 -0
  185. package/dist/esm/parts/Item/ItemMiddleSection.js +110 -0
  186. package/dist/esm/parts/Item/ItemMiddleSection.js.map +7 -0
  187. package/dist/esm/parts/Item/ItemOverlay.js +46 -0
  188. package/dist/esm/parts/Item/ItemOverlay.js.map +7 -0
  189. package/dist/esm/parts/Item/ItemSelection.js +40 -0
  190. package/dist/esm/parts/Item/ItemSelection.js.map +7 -0
  191. package/dist/esm/parts/Item/TextSection.js +26 -0
  192. package/dist/esm/parts/Item/TextSection.js.map +7 -0
  193. package/dist/esm/parts/Item/useItemArrowNavigation.js +78 -0
  194. package/dist/esm/parts/Item/useItemArrowNavigation.js.map +7 -0
  195. package/dist/esm/parts/Item/useItemKeyboardSelection.js +31 -0
  196. package/dist/esm/parts/Item/useItemKeyboardSelection.js.map +7 -0
  197. package/dist/esm/parts/Item/useSelectionLogic.js +98 -0
  198. package/dist/esm/parts/Item/useSelectionLogic.js.map +7 -0
  199. package/dist/esm/parts/Item/useThisItemIsFocused.js +17 -0
  200. package/dist/esm/parts/Item/useThisItemIsFocused.js.map +7 -0
  201. package/dist/esm/parts/MainContent.js +86 -0
  202. package/dist/esm/parts/MainContent.js.map +7 -0
  203. package/dist/esm/parts/Panel/bottom/LoadMoreBtn.js +51 -0
  204. package/dist/esm/parts/Panel/bottom/LoadMoreBtn.js.map +7 -0
  205. package/dist/esm/parts/Panel/bottom/LoadingMore.js +29 -0
  206. package/dist/esm/parts/Panel/bottom/LoadingMore.js.map +7 -0
  207. package/dist/esm/parts/Panel/bottom/PanelContentBottomSection.js +67 -0
  208. package/dist/esm/parts/Panel/bottom/PanelContentBottomSection.js.map +7 -0
  209. package/dist/esm/parts/Panel/bottom/useInnerRefHandlers.js +21 -0
  210. package/dist/esm/parts/Panel/bottom/useInnerRefHandlers.js.map +7 -0
  211. package/dist/esm/parts/Panel/bottom/useLoadMoreBtnArrowNavigation.js +51 -0
  212. package/dist/esm/parts/Panel/bottom/useLoadMoreBtnArrowNavigation.js.map +7 -0
  213. package/dist/esm/parts/Panel/middle/EmptyItems.js +28 -0
  214. package/dist/esm/parts/Panel/middle/EmptyItems.js.map +7 -0
  215. package/dist/esm/parts/Panel/middle/ItemListWrapper/Index.js +63 -0
  216. package/dist/esm/parts/Panel/middle/ItemListWrapper/Index.js.map +7 -0
  217. package/dist/esm/parts/Panel/middle/ItemListWrapper/getDatumFlags.js +18 -0
  218. package/dist/esm/parts/Panel/middle/ItemListWrapper/getDatumFlags.js.map +7 -0
  219. package/dist/esm/parts/Panel/middle/ItemListWrapper/useGetDatumHydratables.js +30 -0
  220. package/dist/esm/parts/Panel/middle/ItemListWrapper/useGetDatumHydratables.js.map +7 -0
  221. package/dist/esm/parts/Panel/middle/LoadingItems.js +38 -0
  222. package/dist/esm/parts/Panel/middle/LoadingItems.js.map +7 -0
  223. package/dist/esm/parts/Panel/middle/MultipleSelectionAction.js +156 -0
  224. package/dist/esm/parts/Panel/middle/MultipleSelectionAction.js.map +7 -0
  225. package/dist/esm/parts/Panel/middle/PanelContentMiddleSection.js +144 -0
  226. package/dist/esm/parts/Panel/middle/PanelContentMiddleSection.js.map +7 -0
  227. package/dist/esm/parts/Panel/top/PanelContentTopSection.js +41 -0
  228. package/dist/esm/parts/Panel/top/PanelContentTopSection.js.map +7 -0
  229. package/dist/esm/parts/Panel/top/PanelFilterSection.js +49 -0
  230. package/dist/esm/parts/Panel/top/PanelFilterSection.js.map +7 -0
  231. package/dist/esm/parts/Panel/top/SelectionHeader.js +107 -0
  232. package/dist/esm/parts/Panel/top/SelectionHeader.js.map +7 -0
  233. package/dist/esm/parts/PanelWrapper.js +53 -0
  234. package/dist/esm/parts/PanelWrapper.js.map +7 -0
  235. package/dist/esm/react-desc-prop-types.js +132 -0
  236. package/dist/esm/react-desc-prop-types.js.map +7 -0
  237. package/dist/esm/tests/configs/basic.js +134 -0
  238. package/dist/esm/tests/configs/basic.js.map +7 -0
  239. package/dist/esm/tests/configs/filter.js +169 -0
  240. package/dist/esm/tests/configs/filter.js.map +7 -0
  241. package/dist/esm/tests/configs/loadMore.js +149 -0
  242. package/dist/esm/tests/configs/loadMore.js.map +7 -0
  243. package/dist/types/DSShuttleV2.d.ts +4 -0
  244. package/dist/types/config/DSShuttleV2Definitions.d.ts +36 -0
  245. package/dist/types/config/itemMovementHelpers.d.ts +7 -0
  246. package/dist/types/config/useAutoCalculated/index.d.ts +32 -0
  247. package/dist/types/config/useAutoCalculated/useDataStructure.d.ts +25 -0
  248. package/dist/types/config/useAutoCalculated/useShuttleVirtualized.d.ts +9 -0
  249. package/dist/types/config/useFocusTracker/index.d.ts +4 -0
  250. package/dist/types/config/useFocusTracker/useFocusActionTrackers.d.ts +10 -0
  251. package/dist/types/config/useFocusTracker/useFocusItemTracker.d.ts +11 -0
  252. package/dist/types/config/useFocusTracker/useFocusRegionTrackers.d.ts +18 -0
  253. package/dist/types/config/useFocusTracker/useFocusTracker.d.ts +33 -0
  254. package/dist/types/config/useStore/focusAndTabIndexManager.d.ts +10 -0
  255. package/dist/types/config/useStore/index.d.ts +1 -0
  256. package/dist/types/config/useStore/useStore.d.ts +301 -0
  257. package/dist/types/config/useValidateProps.d.ts +3 -0
  258. package/dist/types/constants/index.d.ts +32 -0
  259. package/dist/types/exported-related/ShuttleItem.d.ts +8 -0
  260. package/dist/types/exported-related/index.d.ts +1 -0
  261. package/dist/types/index.d.ts +3 -0
  262. package/dist/types/parts/Dnd/DndHandle.d.ts +15 -0
  263. package/dist/types/parts/Dnd/DragOverlay.d.ts +6 -0
  264. package/dist/types/parts/Dnd/DropIndicator.d.ts +15 -0
  265. package/dist/types/parts/Header.d.ts +3 -0
  266. package/dist/types/parts/HoC/withConditionalDnDRowContext.d.ts +10 -0
  267. package/dist/types/parts/HoC/withConditionalUseSortable.d.ts +8 -0
  268. package/dist/types/parts/Item/Item.d.ts +6 -0
  269. package/dist/types/parts/Item/ItemActions/ItemActions.d.ts +3 -0
  270. package/dist/types/parts/Item/ItemActions/index.d.ts +1 -0
  271. package/dist/types/parts/Item/ItemActions/useActionsHandlers.d.ts +7 -0
  272. package/dist/types/parts/Item/ItemActions/useActionsLogicHandlers.d.ts +7 -0
  273. package/dist/types/parts/Item/ItemActions/useInnerRefHandlers.d.ts +6 -0
  274. package/dist/types/parts/Item/ItemMiddleSection.d.ts +5 -0
  275. package/dist/types/parts/Item/ItemOverlay.d.ts +5 -0
  276. package/dist/types/parts/Item/ItemSelection.d.ts +3 -0
  277. package/dist/types/parts/Item/TextSection.d.ts +3 -0
  278. package/dist/types/parts/Item/useItemArrowNavigation.d.ts +5 -0
  279. package/dist/types/parts/Item/useItemKeyboardSelection.d.ts +5 -0
  280. package/dist/types/parts/Item/useSelectionLogic.d.ts +6 -0
  281. package/dist/types/parts/Item/useThisItemIsFocused.d.ts +4 -0
  282. package/dist/types/parts/MainContent.d.ts +2 -0
  283. package/dist/types/parts/Panel/bottom/LoadMoreBtn.d.ts +2 -0
  284. package/dist/types/parts/Panel/bottom/LoadingMore.d.ts +2 -0
  285. package/dist/types/parts/Panel/bottom/PanelContentBottomSection.d.ts +3 -0
  286. package/dist/types/parts/Panel/bottom/useInnerRefHandlers.d.ts +4 -0
  287. package/dist/types/parts/Panel/bottom/useLoadMoreBtnArrowNavigation.d.ts +5 -0
  288. package/dist/types/parts/Panel/middle/EmptyItems.d.ts +2 -0
  289. package/dist/types/parts/Panel/middle/ItemListWrapper/Index.d.ts +4 -0
  290. package/dist/types/parts/Panel/middle/ItemListWrapper/getDatumFlags.d.ts +15 -0
  291. package/dist/types/parts/Panel/middle/ItemListWrapper/useGetDatumHydratables.d.ts +11 -0
  292. package/dist/types/parts/Panel/middle/LoadingItems.d.ts +2 -0
  293. package/dist/types/parts/Panel/middle/MultipleSelectionAction.d.ts +3 -0
  294. package/dist/types/parts/Panel/middle/PanelContentMiddleSection.d.ts +3 -0
  295. package/dist/types/parts/Panel/top/PanelContentTopSection.d.ts +2 -0
  296. package/dist/types/parts/Panel/top/PanelFilterSection.d.ts +2 -0
  297. package/dist/types/parts/Panel/top/SelectionHeader.d.ts +3 -0
  298. package/dist/types/parts/PanelWrapper.d.ts +3 -0
  299. package/dist/types/react-desc-prop-types.d.ts +199 -0
  300. package/dist/types/tests/configs/basic.d.ts +25 -0
  301. package/dist/types/tests/configs/filter.d.ts +29 -0
  302. package/dist/types/tests/configs/loadMore.d.ts +29 -0
  303. package/dist/types/tests/shuttle-v2.basic.test.d.ts +1 -0
  304. package/dist/types/tests/shuttle-v2.filter.test.d.ts +1 -0
  305. package/dist/types/tests/shuttle-v2.load-more.test.d.ts +1 -0
  306. package/package.json +87 -0
@@ -0,0 +1,42 @@
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
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var useFocusTracker_exports = {};
30
+ __export(useFocusTracker_exports, {
31
+ useFocusActionTrackers: () => import_useFocusActionTrackers.useFocusActionTrackers,
32
+ useFocusItemTracker: () => import_useFocusItemTracker.useFocusItemTracker,
33
+ useFocusRegionTrackers: () => import_useFocusRegionTrackers.useFocusRegionTrackers,
34
+ useFocusTracker: () => import_useFocusTracker.useFocusTracker
35
+ });
36
+ module.exports = __toCommonJS(useFocusTracker_exports);
37
+ var React = __toESM(require("react"));
38
+ var import_useFocusActionTrackers = require("./useFocusActionTrackers.js");
39
+ var import_useFocusItemTracker = require("./useFocusItemTracker.js");
40
+ var import_useFocusRegionTrackers = require("./useFocusRegionTrackers.js");
41
+ var import_useFocusTracker = require("./useFocusTracker.js");
42
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/config/useFocusTracker/index.ts", "../../../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["export { useFocusActionTrackers } from './useFocusActionTrackers.js';\nexport { useFocusItemTracker } from './useFocusItemTracker.js';\nexport { useFocusRegionTrackers } from './useFocusRegionTrackers.js';\nexport { useFocusTracker } from './useFocusTracker.js';\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,oCAAuC;AACvC,iCAAoC;AACpC,oCAAuC;AACvC,6BAAgC;",
6
+ "names": []
7
+ }
@@ -0,0 +1,149 @@
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
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var useFocusActionTrackers_exports = {};
30
+ __export(useFocusActionTrackers_exports, {
31
+ useFocusActionTrackers: () => useFocusActionTrackers
32
+ });
33
+ module.exports = __toCommonJS(useFocusActionTrackers_exports);
34
+ var React = __toESM(require("react"));
35
+ var import_react = require("react");
36
+ var import_constants = require("../../constants/index.js");
37
+ var import_useStore = require("../useStore/index.js");
38
+ const getMoveBtnActionByProxymity = (flags) => {
39
+ const { preventDrilldown, withDragAndDrop } = flags;
40
+ const actionMap = { prevAction: "", nextAction: "" };
41
+ if (!preventDrilldown)
42
+ actionMap.prevAction = import_constants.ACTIONS_FOCUSES.DRILLDOWN_BTN;
43
+ else if (withDragAndDrop)
44
+ actionMap.prevAction = import_constants.ACTIONS_FOCUSES.DRAG_N_DROP;
45
+ else
46
+ actionMap.prevAction = import_constants.ACTIONS_FOCUSES.PARENT;
47
+ if (withDragAndDrop)
48
+ actionMap.nextAction = import_constants.ACTIONS_FOCUSES.DRAG_N_DROP;
49
+ else
50
+ actionMap.nextAction = import_constants.ACTIONS_FOCUSES.PARENT;
51
+ return actionMap;
52
+ };
53
+ const getDragAndDropBtnActionByProxymity = (flags) => {
54
+ const { preventMove, preventDrilldown } = flags;
55
+ const actionMap = { prevAction: "", nextAction: import_constants.ACTIONS_FOCUSES.PARENT };
56
+ if (!preventMove)
57
+ actionMap.prevAction = import_constants.ACTIONS_FOCUSES.MOVE_BTN;
58
+ else if (!preventDrilldown)
59
+ actionMap.prevAction = import_constants.ACTIONS_FOCUSES.DRILLDOWN_BTN;
60
+ else
61
+ actionMap.prevAction = import_constants.ACTIONS_FOCUSES.PARENT;
62
+ return actionMap;
63
+ };
64
+ const getDrilldownBtnActionByProxymity = (flags) => {
65
+ const { withDragAndDrop, preventMove } = flags;
66
+ const actionMap = { prevAction: import_constants.ACTIONS_FOCUSES.PARENT, nextAction: "" };
67
+ if (!preventMove)
68
+ actionMap.nextAction = import_constants.ACTIONS_FOCUSES.MOVE_BTN;
69
+ else if (withDragAndDrop)
70
+ actionMap.nextAction = import_constants.ACTIONS_FOCUSES.DRAG_N_DROP;
71
+ else
72
+ actionMap.nextAction = import_constants.ACTIONS_FOCUSES.PARENT;
73
+ return actionMap;
74
+ };
75
+ const getParenBtnActionByProxymity = (flags) => {
76
+ const { preventDrilldown, withDragAndDrop, preventMove } = flags;
77
+ const actionMap = { prevAction: "", nextAction: "" };
78
+ if (withDragAndDrop)
79
+ actionMap.prevAction = import_constants.ACTIONS_FOCUSES.DRAG_N_DROP;
80
+ else if (!preventMove)
81
+ actionMap.prevAction = import_constants.ACTIONS_FOCUSES.MOVE_BTN;
82
+ else if (!preventDrilldown)
83
+ actionMap.prevAction = import_constants.ACTIONS_FOCUSES.DRILLDOWN_BTN;
84
+ else
85
+ actionMap.prevAction = import_constants.ACTIONS_FOCUSES.PARENT;
86
+ if (!preventDrilldown)
87
+ actionMap.nextAction = import_constants.ACTIONS_FOCUSES.DRILLDOWN_BTN;
88
+ else if (!preventMove)
89
+ actionMap.nextAction = import_constants.ACTIONS_FOCUSES.MOVE_BTN;
90
+ else if (withDragAndDrop)
91
+ actionMap.nextAction = import_constants.ACTIONS_FOCUSES.DRAG_N_DROP;
92
+ else
93
+ actionMap.nextAction = import_constants.ACTIONS_FOCUSES.PARENT;
94
+ return actionMap;
95
+ };
96
+ const getActionByProxymity = ({ flags, currentAction }) => {
97
+ if (currentAction === import_constants.ACTIONS_FOCUSES.MOVE_BTN)
98
+ return getMoveBtnActionByProxymity(flags);
99
+ if (currentAction === import_constants.ACTIONS_FOCUSES.DRAG_N_DROP)
100
+ return getDragAndDropBtnActionByProxymity(flags);
101
+ if (currentAction === import_constants.ACTIONS_FOCUSES.DRILLDOWN_BTN)
102
+ return getDrilldownBtnActionByProxymity(flags);
103
+ return getParenBtnActionByProxymity(flags);
104
+ };
105
+ const useFocusActionTrackers = () => {
106
+ const getFocusItemAction = (0, import_useStore.useInternalStore)((state) => state.getFocusItemAction);
107
+ const setFocusItemAction = (0, import_useStore.useInternalStore)((state) => state.setFocusItemAction);
108
+ const removeDragAndDropFromDestination = (0, import_useStore.usePropsStore)((state) => state.removeDragAndDropFromDestination);
109
+ const addDragAndDropFromSource = (0, import_useStore.usePropsStore)((state) => state.addDragAndDropFromSource);
110
+ const trackFocusPrevAction = (0, import_react.useCallback)(
111
+ ({ isDestinationPanel, datumHydratables, datumInternalMeta: { hydratedPreventMove } }) => {
112
+ const preventMove = Boolean(hydratedPreventMove);
113
+ const preventDrilldown = Boolean(datumHydratables.preventDrilldown);
114
+ const withDragAndDrop = isDestinationPanel && !removeDragAndDropFromDestination || !isDestinationPanel && addDragAndDropFromSource;
115
+ const { prevAction } = getActionByProxymity({
116
+ flags: { preventMove, preventDrilldown, withDragAndDrop },
117
+ currentAction: getFocusItemAction()
118
+ });
119
+ setFocusItemAction(prevAction);
120
+ },
121
+ [addDragAndDropFromSource, getFocusItemAction, removeDragAndDropFromDestination, setFocusItemAction]
122
+ );
123
+ const trackFocusNextAction = (0, import_react.useCallback)(
124
+ ({ isDestinationPanel, datumHydratables, datumInternalMeta: { hydratedPreventMove } }) => {
125
+ const preventMove = Boolean(hydratedPreventMove);
126
+ const preventDrilldown = Boolean(datumHydratables.preventDrilldown);
127
+ const withDragAndDrop = isDestinationPanel && !removeDragAndDropFromDestination || !isDestinationPanel && addDragAndDropFromSource;
128
+ const { nextAction } = getActionByProxymity({
129
+ flags: { preventMove, preventDrilldown, withDragAndDrop },
130
+ currentAction: getFocusItemAction()
131
+ });
132
+ setFocusItemAction(nextAction);
133
+ },
134
+ [addDragAndDropFromSource, getFocusItemAction, removeDragAndDropFromDestination, setFocusItemAction]
135
+ );
136
+ return (0, import_react.useMemo)(
137
+ () => ({
138
+ trackFocusActionMove: () => setFocusItemAction("move-btn"),
139
+ trackFocusActionDrilldown: () => setFocusItemAction("drilldown-btn"),
140
+ trackFocusActionDragAndDrop: () => setFocusItemAction("drag-n-drop"),
141
+ trackFocusActionParent: () => setFocusItemAction("parent"),
142
+ trackFocusActionReset: () => setFocusItemAction(""),
143
+ trackFocusPrevAction,
144
+ trackFocusNextAction
145
+ }),
146
+ [setFocusItemAction, trackFocusNextAction, trackFocusPrevAction]
147
+ );
148
+ };
149
+ //# sourceMappingURL=useFocusActionTrackers.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/config/useFocusTracker/useFocusActionTrackers.ts", "../../../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["import { useMemo, useCallback } from 'react';\nimport { type DSShuttleV2T } from '../../react-desc-prop-types.js';\nimport { ACTIONS_FOCUSES } from '../../constants/index.js';\nimport { useInternalStore, usePropsStore } from '../useStore/index.js';\n\ntype ActionFlags = {\n preventDrilldown: boolean;\n withDragAndDrop: boolean;\n preventMove: boolean;\n};\ntype ActionByProxymity = {\n prevAction: (typeof ACTIONS_FOCUSES)[keyof typeof ACTIONS_FOCUSES];\n nextAction: (typeof ACTIONS_FOCUSES)[keyof typeof ACTIONS_FOCUSES];\n};\nconst getMoveBtnActionByProxymity = (flags: ActionFlags) => {\n // move button\n const { preventDrilldown, withDragAndDrop } = flags;\n const actionMap = { prevAction: '', nextAction: '' } as ActionByProxymity;\n // prev\n // drilldown if it exist\n // else drag n drop if it exist\n // else parent\n if (!preventDrilldown) actionMap.prevAction = ACTIONS_FOCUSES.DRILLDOWN_BTN;\n else if (withDragAndDrop) actionMap.prevAction = ACTIONS_FOCUSES.DRAG_N_DROP;\n else actionMap.prevAction = ACTIONS_FOCUSES.PARENT;\n // next\n // drag n drop if it exist\n // else parent\n if (withDragAndDrop) actionMap.nextAction = ACTIONS_FOCUSES.DRAG_N_DROP;\n else actionMap.nextAction = ACTIONS_FOCUSES.PARENT;\n return actionMap;\n};\nconst getDragAndDropBtnActionByProxymity = (flags: ActionFlags) => {\n // Drag and drop handler\n const { preventMove, preventDrilldown } = flags;\n // next\n // always parent\n const actionMap = { prevAction: '', nextAction: ACTIONS_FOCUSES.PARENT } as ActionByProxymity;\n // prev\n // move if it exist\n // else drilldown if it exist\n // else parent\n if (!preventMove) actionMap.prevAction = ACTIONS_FOCUSES.MOVE_BTN;\n else if (!preventDrilldown) actionMap.prevAction = ACTIONS_FOCUSES.DRILLDOWN_BTN;\n else actionMap.prevAction = ACTIONS_FOCUSES.PARENT;\n return actionMap;\n};\nconst getDrilldownBtnActionByProxymity = (flags: ActionFlags) => {\n // Drilldown handler\n const { withDragAndDrop, preventMove } = flags;\n // prev\n // always parent\n const actionMap = { prevAction: ACTIONS_FOCUSES.PARENT, nextAction: '' } as ActionByProxymity;\n // next\n // move if it exist\n // else drag n drop if it exist\n // else parent\n if (!preventMove) actionMap.nextAction = ACTIONS_FOCUSES.MOVE_BTN;\n else if (withDragAndDrop) actionMap.nextAction = ACTIONS_FOCUSES.DRAG_N_DROP;\n else actionMap.nextAction = ACTIONS_FOCUSES.PARENT;\n return actionMap;\n};\nconst getParenBtnActionByProxymity = (flags: ActionFlags) => {\n // Parent handler\n const { preventDrilldown, withDragAndDrop, preventMove } = flags;\n const actionMap = { prevAction: '', nextAction: '' } as ActionByProxymity;\n // prev\n // drag n drop if it exist\n // else move if it exist\n // else drilldown if it exist\n // else parent\n if (withDragAndDrop) actionMap.prevAction = ACTIONS_FOCUSES.DRAG_N_DROP;\n else if (!preventMove) actionMap.prevAction = ACTIONS_FOCUSES.MOVE_BTN;\n else if (!preventDrilldown) actionMap.prevAction = ACTIONS_FOCUSES.DRILLDOWN_BTN;\n else actionMap.prevAction = ACTIONS_FOCUSES.PARENT;\n // next\n // drilldown if it exist\n // else move if it exist\n // else drag n drop if it exist\n // else parent\n if (!preventDrilldown) actionMap.nextAction = ACTIONS_FOCUSES.DRILLDOWN_BTN;\n else if (!preventMove) actionMap.nextAction = ACTIONS_FOCUSES.MOVE_BTN;\n else if (withDragAndDrop) actionMap.nextAction = ACTIONS_FOCUSES.DRAG_N_DROP;\n else actionMap.nextAction = ACTIONS_FOCUSES.PARENT;\n return actionMap;\n};\nconst getActionByProxymity = ({ flags, currentAction }: { flags: ActionFlags; currentAction: string }) => {\n if (currentAction === ACTIONS_FOCUSES.MOVE_BTN) return getMoveBtnActionByProxymity(flags);\n if (currentAction === ACTIONS_FOCUSES.DRAG_N_DROP) return getDragAndDropBtnActionByProxymity(flags);\n if (currentAction === ACTIONS_FOCUSES.DRILLDOWN_BTN) return getDrilldownBtnActionByProxymity(flags);\n return getParenBtnActionByProxymity(flags);\n};\nexport const useFocusActionTrackers = () => {\n const getFocusItemAction = useInternalStore((state) => state.getFocusItemAction);\n const setFocusItemAction = useInternalStore((state) => state.setFocusItemAction);\n const removeDragAndDropFromDestination = usePropsStore((state) => state.removeDragAndDropFromDestination);\n const addDragAndDropFromSource = usePropsStore((state) => state.addDragAndDropFromSource);\n const trackFocusPrevAction = useCallback(\n ({ isDestinationPanel, datumHydratables, datumInternalMeta: { hydratedPreventMove } }: DSShuttleV2T.ItemMeta) => {\n const preventMove = Boolean(hydratedPreventMove);\n const preventDrilldown = Boolean(datumHydratables.preventDrilldown);\n const withDragAndDrop =\n (isDestinationPanel && !removeDragAndDropFromDestination) || (!isDestinationPanel && addDragAndDropFromSource);\n const { prevAction } = getActionByProxymity({\n flags: { preventMove, preventDrilldown, withDragAndDrop },\n currentAction: getFocusItemAction(),\n });\n setFocusItemAction(prevAction);\n },\n [addDragAndDropFromSource, getFocusItemAction, removeDragAndDropFromDestination, setFocusItemAction],\n );\n const trackFocusNextAction = useCallback(\n ({ isDestinationPanel, datumHydratables, datumInternalMeta: { hydratedPreventMove } }: DSShuttleV2T.ItemMeta) => {\n const preventMove = Boolean(hydratedPreventMove);\n const preventDrilldown = Boolean(datumHydratables.preventDrilldown);\n const withDragAndDrop =\n (isDestinationPanel && !removeDragAndDropFromDestination) || (!isDestinationPanel && addDragAndDropFromSource);\n const { nextAction } = getActionByProxymity({\n flags: { preventMove, preventDrilldown, withDragAndDrop },\n currentAction: getFocusItemAction(),\n });\n setFocusItemAction(nextAction);\n },\n [addDragAndDropFromSource, getFocusItemAction, removeDragAndDropFromDestination, setFocusItemAction],\n );\n return useMemo(\n () => ({\n trackFocusActionMove: () => setFocusItemAction('move-btn'),\n trackFocusActionDrilldown: () => setFocusItemAction('drilldown-btn'),\n trackFocusActionDragAndDrop: () => setFocusItemAction('drag-n-drop'),\n trackFocusActionParent: () => setFocusItemAction('parent'),\n trackFocusActionReset: () => setFocusItemAction(''),\n trackFocusPrevAction,\n trackFocusNextAction,\n }),\n [setFocusItemAction, trackFocusNextAction, trackFocusPrevAction],\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,103 @@
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
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var useFocusItemTracker_exports = {};
30
+ __export(useFocusItemTracker_exports, {
31
+ useFocusItemTracker: () => useFocusItemTracker
32
+ });
33
+ module.exports = __toCommonJS(useFocusItemTracker_exports);
34
+ var React = __toESM(require("react"));
35
+ var import_react = require("react");
36
+ var import_useStore = require("../useStore/index.js");
37
+ var import_constants = require("../../constants/index.js");
38
+ const useFocusItemTracker = () => {
39
+ const getFocusItem = (0, import_useStore.useInternalStore)((state) => state.getFocusItem);
40
+ const setFocusItem = (0, import_useStore.useInternalStore)((state) => state.setFocusItem);
41
+ const sourceData = (0, import_useStore.usePropsStore)((state) => state.sourceConfiguredData);
42
+ const destinationData = (0, import_useStore.usePropsStore)((state) => state.destinationConfiguredData);
43
+ const sourceWithLoadMore = (0, import_useStore.usePropsStore)((state) => state.sourceWithLoadMore);
44
+ const destinationWithLoadMore = (0, import_useStore.usePropsStore)((state) => state.destinationWithLoadMore);
45
+ const trackFocusPrevItem = (0, import_react.useCallback)(
46
+ ({ isDestinationPanel }) => {
47
+ const focusItem = getFocusItem();
48
+ const referenceData = isDestinationPanel ? destinationData : sourceData;
49
+ const withLoadMore = isDestinationPanel ? destinationWithLoadMore : sourceWithLoadMore;
50
+ const currentItemIndex = referenceData.findIndex((currItem) => currItem.hydratedId === focusItem);
51
+ if (currentItemIndex === 0 && withLoadMore)
52
+ setFocusItem(isDestinationPanel ? import_constants.ITEMS_FOCUSES.LOAD_MORE_BTN_DESTINATION : import_constants.ITEMS_FOCUSES.LOAD_MORE_BTN_SOURCE);
53
+ else if (currentItemIndex !== -1) {
54
+ const prevItemIndex = currentItemIndex === 0 ? referenceData.length - 1 : currentItemIndex - 1;
55
+ const prevItem = referenceData[prevItemIndex];
56
+ setFocusItem(import_constants.ITEMS_FOCUSES.GET_SPECIFIC_ITEM(prevItem));
57
+ } else {
58
+ const prevItemIndex = 0;
59
+ const prevItem = referenceData[prevItemIndex];
60
+ setFocusItem(import_constants.ITEMS_FOCUSES.GET_SPECIFIC_ITEM(prevItem));
61
+ }
62
+ },
63
+ [destinationData, destinationWithLoadMore, getFocusItem, setFocusItem, sourceData, sourceWithLoadMore]
64
+ );
65
+ const trackFocusNextItem = (0, import_react.useCallback)(
66
+ ({ isDestinationPanel }) => {
67
+ const focusItem = getFocusItem();
68
+ const referenceData = isDestinationPanel ? destinationData : sourceData;
69
+ const withLoadMore = isDestinationPanel ? destinationWithLoadMore : sourceWithLoadMore;
70
+ const currentItemIndex = referenceData.findIndex((currItem) => currItem.hydratedId === focusItem);
71
+ if (currentItemIndex === referenceData.length - 1 && withLoadMore)
72
+ setFocusItem(isDestinationPanel ? import_constants.ITEMS_FOCUSES.LOAD_MORE_BTN_DESTINATION : import_constants.ITEMS_FOCUSES.LOAD_MORE_BTN_SOURCE);
73
+ else if (currentItemIndex !== -1) {
74
+ const nextItemIndex = currentItemIndex === referenceData.length - 1 ? 0 : currentItemIndex + 1;
75
+ const nextItem = referenceData[nextItemIndex];
76
+ setFocusItem(import_constants.ITEMS_FOCUSES.GET_SPECIFIC_ITEM(nextItem));
77
+ } else {
78
+ const nextItemIndex = referenceData.length - 1;
79
+ const nextItem = referenceData[nextItemIndex];
80
+ setFocusItem(import_constants.ITEMS_FOCUSES.GET_SPECIFIC_ITEM(nextItem));
81
+ }
82
+ },
83
+ [destinationData, destinationWithLoadMore, getFocusItem, setFocusItem, sourceData, sourceWithLoadMore]
84
+ );
85
+ return (0, import_react.useMemo)(
86
+ () => ({
87
+ trackFocusItem: (item) => setFocusItem(item.hydratedId),
88
+ trackFocusItemReset: () => setFocusItem(import_constants.ITEMS_FOCUSES.RESET),
89
+ trackFocusItemFirst: ({ isDestinationPanel }) => setFocusItem(import_constants.ITEMS_FOCUSES.GET_SPECIFIC_ITEM(isDestinationPanel ? destinationData[0] : sourceData[0])),
90
+ trackFocusItemLast: ({ isDestinationPanel }) => setFocusItem(
91
+ import_constants.ITEMS_FOCUSES.GET_SPECIFIC_ITEM(
92
+ isDestinationPanel ? destinationData[destinationData.length - 1] : sourceData[sourceData.length - 1]
93
+ )
94
+ ),
95
+ trackFocusLoadMoreBtnDestination: () => setFocusItem(import_constants.ITEMS_FOCUSES.LOAD_MORE_BTN_DESTINATION),
96
+ trackFocusLoadMoreBtn: () => setFocusItem(import_constants.ITEMS_FOCUSES.LOAD_MORE_BTN_SOURCE),
97
+ trackFocusPrevItem,
98
+ trackFocusNextItem
99
+ }),
100
+ [destinationData, setFocusItem, sourceData, trackFocusNextItem, trackFocusPrevItem]
101
+ );
102
+ };
103
+ //# sourceMappingURL=useFocusItemTracker.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/config/useFocusTracker/useFocusItemTracker.ts", "../../../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["/* eslint-disable max-statements */\n/* eslint-disable complexity */\nimport { useMemo, useCallback } from 'react';\nimport { type DSShuttleV2T } from '../../react-desc-prop-types.js';\nimport { useInternalStore, usePropsStore } from '../useStore/index.js';\nimport { ITEMS_FOCUSES } from '../../constants/index.js';\n\nexport const useFocusItemTracker = () => {\n const getFocusItem = useInternalStore((state) => state.getFocusItem);\n const setFocusItem = useInternalStore((state) => state.setFocusItem);\n const sourceData = usePropsStore((state) => state.sourceConfiguredData);\n const destinationData = usePropsStore((state) => state.destinationConfiguredData);\n const sourceWithLoadMore = usePropsStore((state) => state.sourceWithLoadMore);\n const destinationWithLoadMore = usePropsStore((state) => state.destinationWithLoadMore);\n const trackFocusPrevItem = useCallback(\n ({ isDestinationPanel }: DSShuttleV2T.PanelMetaInfo) => {\n const focusItem = getFocusItem();\n const referenceData = isDestinationPanel ? destinationData : sourceData;\n const withLoadMore = isDestinationPanel ? destinationWithLoadMore : sourceWithLoadMore;\n // loop logic\n const currentItemIndex = referenceData.findIndex((currItem) => currItem.hydratedId === focusItem);\n if (currentItemIndex === 0 && withLoadMore)\n setFocusItem(isDestinationPanel ? ITEMS_FOCUSES.LOAD_MORE_BTN_DESTINATION : ITEMS_FOCUSES.LOAD_MORE_BTN_SOURCE);\n else if (currentItemIndex !== -1) {\n const prevItemIndex = currentItemIndex === 0 ? referenceData.length - 1 : currentItemIndex - 1;\n const prevItem = referenceData[prevItemIndex];\n setFocusItem(ITEMS_FOCUSES.GET_SPECIFIC_ITEM(prevItem));\n } else {\n const prevItemIndex = 0;\n const prevItem = referenceData[prevItemIndex];\n setFocusItem(ITEMS_FOCUSES.GET_SPECIFIC_ITEM(prevItem));\n }\n },\n [destinationData, destinationWithLoadMore, getFocusItem, setFocusItem, sourceData, sourceWithLoadMore],\n );\n const trackFocusNextItem = useCallback(\n ({ isDestinationPanel }: DSShuttleV2T.PanelMetaInfo) => {\n const focusItem = getFocusItem();\n const referenceData = isDestinationPanel ? destinationData : sourceData;\n const withLoadMore = isDestinationPanel ? destinationWithLoadMore : sourceWithLoadMore;\n // focus loop logic\n const currentItemIndex = referenceData.findIndex((currItem) => currItem.hydratedId === focusItem);\n if (currentItemIndex === referenceData.length - 1 && withLoadMore)\n setFocusItem(isDestinationPanel ? ITEMS_FOCUSES.LOAD_MORE_BTN_DESTINATION : ITEMS_FOCUSES.LOAD_MORE_BTN_SOURCE);\n else if (currentItemIndex !== -1) {\n const nextItemIndex = currentItemIndex === referenceData.length - 1 ? 0 : currentItemIndex + 1;\n const nextItem = referenceData[nextItemIndex];\n setFocusItem(ITEMS_FOCUSES.GET_SPECIFIC_ITEM(nextItem));\n } else {\n const nextItemIndex = referenceData.length - 1;\n const nextItem = referenceData[nextItemIndex];\n setFocusItem(ITEMS_FOCUSES.GET_SPECIFIC_ITEM(nextItem));\n }\n },\n [destinationData, destinationWithLoadMore, getFocusItem, setFocusItem, sourceData, sourceWithLoadMore],\n );\n return useMemo(\n () => ({\n trackFocusItem: (item: DSShuttleV2T.ConfiguredDatum) => setFocusItem(item.hydratedId),\n trackFocusItemReset: () => setFocusItem(ITEMS_FOCUSES.RESET),\n trackFocusItemFirst: ({ isDestinationPanel }: DSShuttleV2T.PanelMetaInfo) =>\n setFocusItem(ITEMS_FOCUSES.GET_SPECIFIC_ITEM(isDestinationPanel ? destinationData[0] : sourceData[0])),\n trackFocusItemLast: ({ isDestinationPanel }: DSShuttleV2T.PanelMetaInfo) =>\n setFocusItem(\n ITEMS_FOCUSES.GET_SPECIFIC_ITEM(\n isDestinationPanel ? destinationData[destinationData.length - 1] : sourceData[sourceData.length - 1],\n ),\n ),\n trackFocusLoadMoreBtnDestination: () => setFocusItem(ITEMS_FOCUSES.LOAD_MORE_BTN_DESTINATION),\n trackFocusLoadMoreBtn: () => setFocusItem(ITEMS_FOCUSES.LOAD_MORE_BTN_SOURCE),\n trackFocusPrevItem,\n trackFocusNextItem,\n }),\n [destinationData, setFocusItem, sourceData, trackFocusNextItem, trackFocusPrevItem],\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,87 @@
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
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var useFocusRegionTrackers_exports = {};
30
+ __export(useFocusRegionTrackers_exports, {
31
+ useFocusRegionTrackers: () => useFocusRegionTrackers
32
+ });
33
+ module.exports = __toCommonJS(useFocusRegionTrackers_exports);
34
+ var React = __toESM(require("react"));
35
+ var import_react = require("react");
36
+ var import_useStore = require("../useStore/index.js");
37
+ var import_constants = require("../../constants/index.js");
38
+ const useFocusRegionTrackers = () => {
39
+ const setFocusRegion = (0, import_useStore.useInternalStore)((state) => state.setFocusRegion);
40
+ return (0, import_react.useMemo)(
41
+ () => ({
42
+ trackFocusRegionSourceHeader: () => setFocusRegion(import_constants.REGIONS_FOCUSES.SOURCE_HEADER),
43
+ trackFocusRegionSourcePanel: () => setFocusRegion(import_constants.REGIONS_FOCUSES.SOURCE_PANEL),
44
+ trackFocusRegionSourceBottom: () => setFocusRegion(import_constants.REGIONS_FOCUSES.SOURCE_BOTTOM),
45
+ trackFocusRegionSourcePanelItem: () => setFocusRegion(import_constants.REGIONS_FOCUSES.SOURCE_PANEL_ITEM),
46
+ trackFocusRegionSourcePanelFocusAll: () => setFocusRegion(import_constants.REGIONS_FOCUSES.SOURCE_PANEL_ITEM_MOVE_ALL),
47
+ trackFocusRegionDestinationHeader: () => setFocusRegion(import_constants.REGIONS_FOCUSES.DESTINATION_HEADER),
48
+ trackFocusRegionDestinationPanel: () => setFocusRegion(import_constants.REGIONS_FOCUSES.DESTINATION_PANEL),
49
+ trackFocusRegionDestinationBottom: () => setFocusRegion(import_constants.REGIONS_FOCUSES.DESTINATION_BOTTOM),
50
+ trackFocusRegionDestinationPanelItem: () => setFocusRegion(import_constants.REGIONS_FOCUSES.DESTINATION_PANEL_ITEM),
51
+ trackFocusRegionDestinationPanelFocusMoveAll: () => setFocusRegion(import_constants.REGIONS_FOCUSES.DESTINATION_PANEL_ITEM_MOVE_ALL),
52
+ trackFocusRegionHeader: (isDestinationPanel) => {
53
+ if (isDestinationPanel)
54
+ setFocusRegion(import_constants.REGIONS_FOCUSES.DESTINATION_HEADER);
55
+ else
56
+ setFocusRegion(import_constants.REGIONS_FOCUSES.SOURCE_HEADER);
57
+ },
58
+ trackFocusRegionBottom: (isDestinationPanel) => {
59
+ if (isDestinationPanel)
60
+ setFocusRegion(import_constants.REGIONS_FOCUSES.DESTINATION_BOTTOM);
61
+ else
62
+ setFocusRegion(import_constants.REGIONS_FOCUSES.SOURCE_BOTTOM);
63
+ },
64
+ trackFocusRegionPanel: (isDestinationPanel) => {
65
+ if (isDestinationPanel)
66
+ setFocusRegion(import_constants.REGIONS_FOCUSES.DESTINATION_PANEL);
67
+ else
68
+ setFocusRegion(import_constants.REGIONS_FOCUSES.SOURCE_PANEL);
69
+ },
70
+ trackFocusRegionPanelItem: (isDestinationPanel) => {
71
+ if (isDestinationPanel)
72
+ setFocusRegion(import_constants.REGIONS_FOCUSES.DESTINATION_PANEL_ITEM);
73
+ else
74
+ setFocusRegion(import_constants.REGIONS_FOCUSES.SOURCE_PANEL_ITEM);
75
+ },
76
+ trackFocusRegionPanelFocusMoveAll: (isDestinationPanel) => {
77
+ if (isDestinationPanel)
78
+ setFocusRegion(import_constants.REGIONS_FOCUSES.DESTINATION_PANEL_ITEM_MOVE_ALL);
79
+ else
80
+ setFocusRegion(import_constants.REGIONS_FOCUSES.SOURCE_PANEL_ITEM_MOVE_ALL);
81
+ },
82
+ trackFocusRegionReset: () => setFocusRegion("")
83
+ }),
84
+ [setFocusRegion]
85
+ );
86
+ };
87
+ //# sourceMappingURL=useFocusRegionTrackers.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/config/useFocusTracker/useFocusRegionTrackers.ts", "../../../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["import { useMemo } from 'react';\nimport { useInternalStore } from '../useStore/index.js';\nimport { REGIONS_FOCUSES } from '../../constants/index.js';\n\nexport const useFocusRegionTrackers = () => {\n const setFocusRegion = useInternalStore((state) => state.setFocusRegion);\n return useMemo(\n () => ({\n trackFocusRegionSourceHeader: () => setFocusRegion(REGIONS_FOCUSES.SOURCE_HEADER),\n trackFocusRegionSourcePanel: () => setFocusRegion(REGIONS_FOCUSES.SOURCE_PANEL),\n trackFocusRegionSourceBottom: () => setFocusRegion(REGIONS_FOCUSES.SOURCE_BOTTOM),\n trackFocusRegionSourcePanelItem: () => setFocusRegion(REGIONS_FOCUSES.SOURCE_PANEL_ITEM),\n trackFocusRegionSourcePanelFocusAll: () => setFocusRegion(REGIONS_FOCUSES.SOURCE_PANEL_ITEM_MOVE_ALL),\n trackFocusRegionDestinationHeader: () => setFocusRegion(REGIONS_FOCUSES.DESTINATION_HEADER),\n trackFocusRegionDestinationPanel: () => setFocusRegion(REGIONS_FOCUSES.DESTINATION_PANEL),\n trackFocusRegionDestinationBottom: () => setFocusRegion(REGIONS_FOCUSES.DESTINATION_BOTTOM),\n trackFocusRegionDestinationPanelItem: () => setFocusRegion(REGIONS_FOCUSES.DESTINATION_PANEL_ITEM),\n trackFocusRegionDestinationPanelFocusMoveAll: () =>\n setFocusRegion(REGIONS_FOCUSES.DESTINATION_PANEL_ITEM_MOVE_ALL),\n trackFocusRegionHeader: (isDestinationPanel: boolean) => {\n if (isDestinationPanel) setFocusRegion(REGIONS_FOCUSES.DESTINATION_HEADER);\n else setFocusRegion(REGIONS_FOCUSES.SOURCE_HEADER);\n },\n trackFocusRegionBottom: (isDestinationPanel: boolean) => {\n if (isDestinationPanel) setFocusRegion(REGIONS_FOCUSES.DESTINATION_BOTTOM);\n else setFocusRegion(REGIONS_FOCUSES.SOURCE_BOTTOM);\n },\n trackFocusRegionPanel: (isDestinationPanel: boolean) => {\n if (isDestinationPanel) setFocusRegion(REGIONS_FOCUSES.DESTINATION_PANEL);\n else setFocusRegion(REGIONS_FOCUSES.SOURCE_PANEL);\n },\n trackFocusRegionPanelItem: (isDestinationPanel: boolean) => {\n if (isDestinationPanel) setFocusRegion(REGIONS_FOCUSES.DESTINATION_PANEL_ITEM);\n else setFocusRegion(REGIONS_FOCUSES.SOURCE_PANEL_ITEM);\n },\n trackFocusRegionPanelFocusMoveAll: (isDestinationPanel: boolean) => {\n if (isDestinationPanel) setFocusRegion(REGIONS_FOCUSES.DESTINATION_PANEL_ITEM_MOVE_ALL);\n else setFocusRegion(REGIONS_FOCUSES.SOURCE_PANEL_ITEM_MOVE_ALL);\n },\n trackFocusRegionReset: () => setFocusRegion(''),\n }),\n [setFocusRegion],\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAwB;AACxB,sBAAiC;AACjC,uBAAgC;AAEzB,MAAM,yBAAyB,MAAM;AAC1C,QAAM,qBAAiB,kCAAiB,CAAC,UAAU,MAAM,cAAc;AACvE,aAAO;AAAA,IACL,OAAO;AAAA,MACL,8BAA8B,MAAM,eAAe,iCAAgB,aAAa;AAAA,MAChF,6BAA6B,MAAM,eAAe,iCAAgB,YAAY;AAAA,MAC9E,8BAA8B,MAAM,eAAe,iCAAgB,aAAa;AAAA,MAChF,iCAAiC,MAAM,eAAe,iCAAgB,iBAAiB;AAAA,MACvF,qCAAqC,MAAM,eAAe,iCAAgB,0BAA0B;AAAA,MACpG,mCAAmC,MAAM,eAAe,iCAAgB,kBAAkB;AAAA,MAC1F,kCAAkC,MAAM,eAAe,iCAAgB,iBAAiB;AAAA,MACxF,mCAAmC,MAAM,eAAe,iCAAgB,kBAAkB;AAAA,MAC1F,sCAAsC,MAAM,eAAe,iCAAgB,sBAAsB;AAAA,MACjG,8CAA8C,MAC5C,eAAe,iCAAgB,+BAA+B;AAAA,MAChE,wBAAwB,CAAC,uBAAgC;AACvD,YAAI;AAAoB,yBAAe,iCAAgB,kBAAkB;AAAA;AACpE,yBAAe,iCAAgB,aAAa;AAAA,MACnD;AAAA,MACA,wBAAwB,CAAC,uBAAgC;AACvD,YAAI;AAAoB,yBAAe,iCAAgB,kBAAkB;AAAA;AACpE,yBAAe,iCAAgB,aAAa;AAAA,MACnD;AAAA,MACA,uBAAuB,CAAC,uBAAgC;AACtD,YAAI;AAAoB,yBAAe,iCAAgB,iBAAiB;AAAA;AACnE,yBAAe,iCAAgB,YAAY;AAAA,MAClD;AAAA,MACA,2BAA2B,CAAC,uBAAgC;AAC1D,YAAI;AAAoB,yBAAe,iCAAgB,sBAAsB;AAAA;AACxE,yBAAe,iCAAgB,iBAAiB;AAAA,MACvD;AAAA,MACA,mCAAmC,CAAC,uBAAgC;AAClE,YAAI;AAAoB,yBAAe,iCAAgB,+BAA+B;AAAA;AACjF,yBAAe,iCAAgB,0BAA0B;AAAA,MAChE;AAAA,MACA,uBAAuB,MAAM,eAAe,EAAE;AAAA,IAChD;AAAA,IACA,CAAC,cAAc;AAAA,EACjB;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,52 @@
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
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var useFocusTracker_exports = {};
30
+ __export(useFocusTracker_exports, {
31
+ useFocusTracker: () => useFocusTracker
32
+ });
33
+ module.exports = __toCommonJS(useFocusTracker_exports);
34
+ var React = __toESM(require("react"));
35
+ var import_react = require("react");
36
+ var import_useFocusActionTrackers = require("./useFocusActionTrackers.js");
37
+ var import_useFocusItemTracker = require("./useFocusItemTracker.js");
38
+ var import_useFocusRegionTrackers = require("./useFocusRegionTrackers.js");
39
+ const useFocusTracker = () => {
40
+ const regionTrackers = (0, import_useFocusRegionTrackers.useFocusRegionTrackers)();
41
+ const itemTracker = (0, import_useFocusItemTracker.useFocusItemTracker)();
42
+ const actionTrackers = (0, import_useFocusActionTrackers.useFocusActionTrackers)();
43
+ return (0, import_react.useMemo)(
44
+ () => ({
45
+ ...regionTrackers,
46
+ ...itemTracker,
47
+ ...actionTrackers
48
+ }),
49
+ [actionTrackers, itemTracker, regionTrackers]
50
+ );
51
+ };
52
+ //# sourceMappingURL=useFocusTracker.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/config/useFocusTracker/useFocusTracker.ts", "../../../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["/* eslint-disable complexity */\nimport { useMemo } from 'react';\nimport { useFocusActionTrackers } from './useFocusActionTrackers.js';\nimport { useFocusItemTracker } from './useFocusItemTracker.js';\nimport { useFocusRegionTrackers } from './useFocusRegionTrackers.js';\n\nexport const useFocusTracker = () => {\n const regionTrackers = useFocusRegionTrackers();\n const itemTracker = useFocusItemTracker();\n const actionTrackers = useFocusActionTrackers();\n\n return useMemo(\n () => ({\n ...regionTrackers,\n ...itemTracker,\n ...actionTrackers,\n }),\n [actionTrackers, itemTracker, regionTrackers],\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,mBAAwB;AACxB,oCAAuC;AACvC,iCAAoC;AACpC,oCAAuC;AAEhC,MAAM,kBAAkB,MAAM;AACnC,QAAM,qBAAiB,sDAAuB;AAC9C,QAAM,kBAAc,gDAAoB;AACxC,QAAM,qBAAiB,sDAAuB;AAE9C,aAAO;AAAA,IACL,OAAO;AAAA,MACL,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,IACL;AAAA,IACA,CAAC,gBAAgB,aAAa,cAAc;AAAA,EAC9C;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,77 @@
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
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var focusAndTabIndexManager_exports = {};
30
+ __export(focusAndTabIndexManager_exports, {
31
+ focusAndTabIndexManager: () => focusAndTabIndexManager
32
+ });
33
+ module.exports = __toCommonJS(focusAndTabIndexManager_exports);
34
+ var React = __toESM(require("react"));
35
+ var import_constants = require("../../constants/index.js");
36
+ const getElementFromState = (state) => {
37
+ const [focusRegion, focusItem, focusItemAction, get] = state;
38
+ const { getZustandRef } = get();
39
+ if (focusItem === import_constants.ITEMS_FOCUSES.LOAD_MORE_BTN_SOURCE && (focusRegion === import_constants.REGIONS_FOCUSES.SOURCE_BOTTOM || focusRegion === import_constants.REGIONS_FOCUSES.SOURCE_PANEL_ITEM)) {
40
+ return getZustandRef([focusItem]);
41
+ }
42
+ if (focusItem === import_constants.ITEMS_FOCUSES.LOAD_MORE_BTN_DESTINATION && (focusRegion === import_constants.REGIONS_FOCUSES.DESTINATION_BOTTOM || focusRegion === import_constants.REGIONS_FOCUSES.DESTINATION_PANEL_ITEM)) {
43
+ return getZustandRef([focusItem]);
44
+ }
45
+ return getZustandRef([focusRegion, focusItem, focusItemAction]);
46
+ };
47
+ const isItem = (state) => state[2] === "parent" && state[1] !== import_constants.ITEMS_FOCUSES.LOAD_MORE_BTN_SOURCE && state[1] !== import_constants.ITEMS_FOCUSES.LOAD_MORE_BTN_DESTINATION;
48
+ const isMove = (state) => state[2] === "move-btn";
49
+ const isDrilldown = (state) => state[2] === "drilldown-btn";
50
+ const shouldApplyRovingTabIndex = (state) => isItem(state) || isMove(state) || isDrilldown(state);
51
+ const tabIndexManager = ({
52
+ selectedState,
53
+ previousSelectedState,
54
+ currentFocusedItem,
55
+ nextFocusedItem
56
+ }) => {
57
+ if (currentFocusedItem && shouldApplyRovingTabIndex(previousSelectedState)) {
58
+ currentFocusedItem.tabIndex = -1;
59
+ }
60
+ if (nextFocusedItem && shouldApplyRovingTabIndex(selectedState)) {
61
+ nextFocusedItem.tabIndex = 0;
62
+ }
63
+ };
64
+ const focusAndTabIndexManager = (selectedState, previousSelectedState) => {
65
+ const currentFocusedItem = getElementFromState(previousSelectedState);
66
+ const nextFocusedItem = getElementFromState(selectedState);
67
+ const get = selectedState[3];
68
+ const { setDeferFocusUntilFirstRender } = get();
69
+ tabIndexManager({ selectedState, previousSelectedState, currentFocusedItem, nextFocusedItem });
70
+ if (isItem(selectedState)) {
71
+ setDeferFocusUntilFirstRender(true);
72
+ } else {
73
+ setDeferFocusUntilFirstRender(false);
74
+ }
75
+ nextFocusedItem?.focus();
76
+ };
77
+ //# sourceMappingURL=focusAndTabIndexManager.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/config/useStore/focusAndTabIndexManager.ts", "../../../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["import { ITEMS_FOCUSES, REGIONS_FOCUSES } from '../../constants/index.js';\nimport { type DSShuttleV2T } from '../../react-desc-prop-types.js';\nimport type { ZustandT } from '@elliemae/ds-legacy-zustand-helpers';\n\ntype State = readonly [\n DSShuttleV2T.FocusRegion,\n DSShuttleV2T.FocusItem,\n DSShuttleV2T.FocusItemAction,\n () => ZustandT.InternalStore<DSShuttleV2T.InternalAtoms, DSShuttleV2T.Selectors, DSShuttleV2T.Reducers>,\n];\n\nconst getElementFromState = (state: State) => {\n const [focusRegion, focusItem, focusItemAction, get] = state;\n\n const { getZustandRef } = get();\n\n if (\n focusItem === ITEMS_FOCUSES.LOAD_MORE_BTN_SOURCE &&\n (focusRegion === REGIONS_FOCUSES.SOURCE_BOTTOM || focusRegion === REGIONS_FOCUSES.SOURCE_PANEL_ITEM)\n ) {\n return getZustandRef([focusItem]);\n }\n if (\n focusItem === ITEMS_FOCUSES.LOAD_MORE_BTN_DESTINATION &&\n (focusRegion === REGIONS_FOCUSES.DESTINATION_BOTTOM || focusRegion === REGIONS_FOCUSES.DESTINATION_PANEL_ITEM)\n ) {\n return getZustandRef([focusItem]);\n }\n\n return getZustandRef([focusRegion, focusItem, focusItemAction]);\n};\n\nconst isItem = (state: State) =>\n state[2] === 'parent' &&\n state[1] !== ITEMS_FOCUSES.LOAD_MORE_BTN_SOURCE &&\n state[1] !== ITEMS_FOCUSES.LOAD_MORE_BTN_DESTINATION;\n\nconst isMove = (state: State) => state[2] === 'move-btn';\n\nconst isDrilldown = (state: State) => state[2] === 'drilldown-btn';\n\nconst shouldApplyRovingTabIndex = (state: State) => isItem(state) || isMove(state) || isDrilldown(state);\n\nconst tabIndexManager = ({\n selectedState,\n previousSelectedState,\n currentFocusedItem,\n nextFocusedItem,\n}: {\n selectedState: State;\n previousSelectedState: State;\n currentFocusedItem: HTMLElement | null;\n nextFocusedItem: HTMLElement | null;\n}) => {\n if (currentFocusedItem && shouldApplyRovingTabIndex(previousSelectedState)) {\n currentFocusedItem.tabIndex = -1;\n }\n\n if (nextFocusedItem && shouldApplyRovingTabIndex(selectedState)) {\n nextFocusedItem.tabIndex = 0;\n }\n};\n\nexport const focusAndTabIndexManager = (selectedState: State, previousSelectedState: State) => {\n const currentFocusedItem = getElementFromState(previousSelectedState);\n const nextFocusedItem = getElementFromState(selectedState);\n\n const get = selectedState[3];\n const { setDeferFocusUntilFirstRender } = get();\n\n tabIndexManager({ selectedState, previousSelectedState, currentFocusedItem, nextFocusedItem });\n\n if (isItem(selectedState)) {\n // The item on `nextFocusItem` could be an old virtualized item.\n // If this is the case, we should focus it on render too just in case\n setDeferFocusUntilFirstRender(true); // we will reset this flag inside the ref callback of the item\n } else {\n setDeferFocusUntilFirstRender(false);\n }\n\n nextFocusedItem?.focus();\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,uBAA+C;AAW/C,MAAM,sBAAsB,CAAC,UAAiB;AAC5C,QAAM,CAAC,aAAa,WAAW,iBAAiB,GAAG,IAAI;AAEvD,QAAM,EAAE,cAAc,IAAI,IAAI;AAE9B,MACE,cAAc,+BAAc,yBAC3B,gBAAgB,iCAAgB,iBAAiB,gBAAgB,iCAAgB,oBAClF;AACA,WAAO,cAAc,CAAC,SAAS,CAAC;AAAA,EAClC;AACA,MACE,cAAc,+BAAc,8BAC3B,gBAAgB,iCAAgB,sBAAsB,gBAAgB,iCAAgB,yBACvF;AACA,WAAO,cAAc,CAAC,SAAS,CAAC;AAAA,EAClC;AAEA,SAAO,cAAc,CAAC,aAAa,WAAW,eAAe,CAAC;AAChE;AAEA,MAAM,SAAS,CAAC,UACd,MAAM,CAAC,MAAM,YACb,MAAM,CAAC,MAAM,+BAAc,wBAC3B,MAAM,CAAC,MAAM,+BAAc;AAE7B,MAAM,SAAS,CAAC,UAAiB,MAAM,CAAC,MAAM;AAE9C,MAAM,cAAc,CAAC,UAAiB,MAAM,CAAC,MAAM;AAEnD,MAAM,4BAA4B,CAAC,UAAiB,OAAO,KAAK,KAAK,OAAO,KAAK,KAAK,YAAY,KAAK;AAEvG,MAAM,kBAAkB,CAAC;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAKM;AACJ,MAAI,sBAAsB,0BAA0B,qBAAqB,GAAG;AAC1E,uBAAmB,WAAW;AAAA,EAChC;AAEA,MAAI,mBAAmB,0BAA0B,aAAa,GAAG;AAC/D,oBAAgB,WAAW;AAAA,EAC7B;AACF;AAEO,MAAM,0BAA0B,CAAC,eAAsB,0BAAiC;AAC7F,QAAM,qBAAqB,oBAAoB,qBAAqB;AACpE,QAAM,kBAAkB,oBAAoB,aAAa;AAEzD,QAAM,MAAM,cAAc,CAAC;AAC3B,QAAM,EAAE,8BAA8B,IAAI,IAAI;AAE9C,kBAAgB,EAAE,eAAe,uBAAuB,oBAAoB,gBAAgB,CAAC;AAE7F,MAAI,OAAO,aAAa,GAAG;AAGzB,kCAA8B,IAAI;AAAA,EACpC,OAAO;AACL,kCAA8B,KAAK;AAAA,EACrC;AAEA,mBAAiB,MAAM;AACzB;",
6
+ "names": []
7
+ }