@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,140 @@
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 ItemMiddleSection_exports = {};
30
+ __export(ItemMiddleSection_exports, {
31
+ ItemMiddleSection: () => ItemMiddleSection
32
+ });
33
+ module.exports = __toCommonJS(ItemMiddleSection_exports);
34
+ var React = __toESM(require("react"));
35
+ var import_jsx_runtime = require("react/jsx-runtime");
36
+ var import_react = __toESM(require("react"));
37
+ var import_ds_legacy_system = require("@elliemae/ds-legacy-system");
38
+ var import_ds_legacy_grid = require("@elliemae/ds-legacy-grid");
39
+ var import_DSShuttleV2Definitions = require("../../config/DSShuttleV2Definitions.js");
40
+ var import_TextSection = require("./TextSection.js");
41
+ var import_useThisItemIsFocused = require("./useThisItemIsFocused.js");
42
+ var import_useStore = require("../../config/useStore/useStore.js");
43
+ const IconWrapper = (0, import_ds_legacy_system.styled)(import_ds_legacy_grid.Grid, { name: import_DSShuttleV2Definitions.DSShuttleV2Name, slot: import_DSShuttleV2Definitions.DSShuttleV2Slots.ITEM_ICON_WRAPPER })`
44
+ min-height: 1rem;
45
+ `;
46
+ const MidSection = (0, import_ds_legacy_system.styled)(import_ds_legacy_grid.Grid, {
47
+ name: import_DSShuttleV2Definitions.DSShuttleV2Name,
48
+ slot: import_DSShuttleV2Definitions.DSShuttleV2Slots.ITEM_MIDSECTION_WRAPPER
49
+ })`
50
+ min-height: 1rem;
51
+ ${(props) => {
52
+ if (props.$softDeleted)
53
+ return `
54
+ color: ${props.theme.colors.neutral[500]};
55
+ svg {
56
+ fill: ${props.theme.colors.neutral[400]};
57
+ }
58
+ `;
59
+ return "";
60
+ }};
61
+ `;
62
+ const customMidSectionCols = ["1fr"];
63
+ const customMidSectionRows = ["1fr"];
64
+ const ItemMiddleSection = import_react.default.memo(
65
+ (props) => {
66
+ const { tooltipHelpers, ...itemMeta } = props;
67
+ const { datum, datumHydratables, datumInternalMeta, isDestinationPanel, hasMultipleSelection } = itemMeta;
68
+ const { Icon, CustomRenderer, ...componentlessHydratables } = datumHydratables;
69
+ const { softDeleted, hydratedId } = datumInternalMeta;
70
+ const thisItemIsFocused = (0, import_useThisItemIsFocused.useThisItemIsFocused)(itemMeta);
71
+ const customComponentProps = import_react.default.useMemo(
72
+ () => ({
73
+ datum,
74
+ tooltipHelpers,
75
+ thisItemIsFocused,
76
+ panelMetaInfo: { isDestinationPanel, hasMultipleSelection },
77
+ datumInternalMeta,
78
+ datumHydratables: { ...componentlessHydratables, id: hydratedId }
79
+ }),
80
+ [
81
+ componentlessHydratables,
82
+ datum,
83
+ datumInternalMeta,
84
+ hasMultipleSelection,
85
+ hydratedId,
86
+ isDestinationPanel,
87
+ thisItemIsFocused,
88
+ tooltipHelpers
89
+ ]
90
+ );
91
+ const cols = import_react.default.useMemo(() => {
92
+ if (CustomRenderer)
93
+ return [];
94
+ const dynamicCols = [];
95
+ if (Icon)
96
+ dynamicCols.push("auto");
97
+ dynamicCols.push("1fr");
98
+ return dynamicCols;
99
+ }, [CustomRenderer, Icon]);
100
+ const getOwnerProps = (0, import_useStore.usePropsStore)((store) => store.get);
101
+ const getOwnerPropsArguments = import_react.default.useCallback(() => props, [props]);
102
+ if (CustomRenderer)
103
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
104
+ MidSection,
105
+ {
106
+ cols: customMidSectionCols,
107
+ rows: customMidSectionRows,
108
+ $softDeleted: Boolean(softDeleted),
109
+ getOwnerProps,
110
+ getOwnerPropsArguments,
111
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CustomRenderer, { ...customComponentProps })
112
+ }
113
+ );
114
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
115
+ MidSection,
116
+ {
117
+ cols,
118
+ alignItems: "center",
119
+ ml: "xxs",
120
+ $softDeleted: Boolean(softDeleted),
121
+ getOwnerProps,
122
+ getOwnerPropsArguments,
123
+ children: [
124
+ Icon ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
125
+ IconWrapper,
126
+ {
127
+ alignItems: "center",
128
+ mr: "xxs",
129
+ getOwnerProps,
130
+ getOwnerPropsArguments,
131
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Icon, { ...customComponentProps })
132
+ }
133
+ ) : null,
134
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_TextSection.TextSection, { ...itemMeta })
135
+ ]
136
+ }
137
+ );
138
+ }
139
+ );
140
+ //# sourceMappingURL=ItemMiddleSection.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/parts/Item/ItemMiddleSection.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["import React from 'react';\nimport { styled } from '@elliemae/ds-legacy-system';\nimport { Grid } from '@elliemae/ds-legacy-grid';\nimport { type DSShuttleV2T } from '../../react-desc-prop-types.js';\nimport { DSShuttleV2Name, DSShuttleV2Slots } from '../../config/DSShuttleV2Definitions.js';\nimport { TextSection } from './TextSection.js';\nimport { useThisItemIsFocused } from './useThisItemIsFocused.js';\nimport { usePropsStore } from '../../config/useStore/useStore.js';\n\nconst IconWrapper = styled(Grid, { name: DSShuttleV2Name, slot: DSShuttleV2Slots.ITEM_ICON_WRAPPER })`\n min-height: 1rem;\n`;\n\nconst MidSection = styled(Grid, {\n name: DSShuttleV2Name,\n slot: DSShuttleV2Slots.ITEM_MIDSECTION_WRAPPER,\n})<{ $softDeleted: boolean }>`\n min-height: 1rem;\n ${(props) => {\n if (props.$softDeleted)\n return `\n color: ${props.theme.colors.neutral[500]};\n svg {\n fill: ${props.theme.colors.neutral[400]};\n }\n `;\n return '';\n }};\n`;\nconst customMidSectionCols = ['1fr'];\nconst customMidSectionRows = ['1fr'];\n\nexport const ItemMiddleSection = React.memo(\n (props: DSShuttleV2T.ItemMeta & { tooltipHelpers?: DSShuttleV2T.ComponentProps['tooltipHelpers'] }) => {\n const { tooltipHelpers, ...itemMeta } = props;\n const { datum, datumHydratables, datumInternalMeta, isDestinationPanel, hasMultipleSelection } = itemMeta;\n const { Icon, CustomRenderer, ...componentlessHydratables } = datumHydratables;\n const { softDeleted, hydratedId } = datumInternalMeta;\n const thisItemIsFocused = useThisItemIsFocused(itemMeta);\n const customComponentProps = React.useMemo<DSShuttleV2T.ComponentProps>(\n () => ({\n datum,\n tooltipHelpers,\n thisItemIsFocused,\n panelMetaInfo: { isDestinationPanel, hasMultipleSelection },\n datumInternalMeta,\n datumHydratables: { ...componentlessHydratables, id: hydratedId },\n }),\n [\n componentlessHydratables,\n datum,\n datumInternalMeta,\n hasMultipleSelection,\n hydratedId,\n isDestinationPanel,\n thisItemIsFocused,\n tooltipHelpers,\n ],\n );\n const cols = React.useMemo(() => {\n // if CustomRenderer is defined, shortcircuit\n if (CustomRenderer) return [];\n const dynamicCols = [];\n if (Icon) dynamicCols.push('auto');\n dynamicCols.push('1fr');\n return dynamicCols;\n }, [CustomRenderer, Icon]);\n\n const getOwnerProps = usePropsStore((store) => store.get);\n const getOwnerPropsArguments = React.useCallback(() => props, [props]);\n\n if (CustomRenderer)\n return (\n <MidSection\n cols={customMidSectionCols}\n rows={customMidSectionRows}\n $softDeleted={Boolean(softDeleted)}\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n <CustomRenderer {...customComponentProps} />\n </MidSection>\n );\n\n // if we ever need to do something for truncation and showing a tooltip in the future,\n // check out what has been done in exported-related/ShuttleItem.tsx\n // also, be aware that we have the headless logic alread inside tooltipHelpers\n // when this comment has been written, the logic was working with keyboard and mouse as per tooltip-v3\n // integrated with all the shuttle-v2 custom focus navigation\n return (\n <MidSection\n cols={cols}\n alignItems=\"center\"\n ml=\"xxs\"\n $softDeleted={Boolean(softDeleted)}\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n {Icon ? (\n <IconWrapper\n alignItems=\"center\"\n mr=\"xxs\"\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n >\n <Icon {...customComponentProps} />\n </IconWrapper>\n ) : null}\n <TextSection {...itemMeta} />\n </MidSection>\n );\n },\n);\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADgFb;AAhFV,mBAAkB;AAClB,8BAAuB;AACvB,4BAAqB;AAErB,oCAAkD;AAClD,yBAA4B;AAC5B,kCAAqC;AACrC,sBAA8B;AAE9B,MAAM,kBAAc,gCAAO,4BAAM,EAAE,MAAM,+CAAiB,MAAM,+CAAiB,kBAAkB,CAAC;AAAA;AAAA;AAIpG,MAAM,iBAAa,gCAAO,4BAAM;AAAA,EAC9B,MAAM;AAAA,EACN,MAAM,+CAAiB;AACzB,CAAC;AAAA;AAAA,IAEG,CAAC,UAAU;AACX,MAAI,MAAM;AACR,WAAO;AAAA,eACE,MAAM,MAAM,OAAO,QAAQ,GAAG;AAAA;AAAA,gBAE7B,MAAM,MAAM,OAAO,QAAQ,GAAG;AAAA;AAAA;AAG1C,SAAO;AACT;AAAA;AAEF,MAAM,uBAAuB,CAAC,KAAK;AACnC,MAAM,uBAAuB,CAAC,KAAK;AAE5B,MAAM,oBAAoB,aAAAA,QAAM;AAAA,EACrC,CAAC,UAAsG;AACrG,UAAM,EAAE,gBAAgB,GAAG,SAAS,IAAI;AACxC,UAAM,EAAE,OAAO,kBAAkB,mBAAmB,oBAAoB,qBAAqB,IAAI;AACjG,UAAM,EAAE,MAAM,gBAAgB,GAAG,yBAAyB,IAAI;AAC9D,UAAM,EAAE,aAAa,WAAW,IAAI;AACpC,UAAM,wBAAoB,kDAAqB,QAAQ;AACvD,UAAM,uBAAuB,aAAAA,QAAM;AAAA,MACjC,OAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA,eAAe,EAAE,oBAAoB,qBAAqB;AAAA,QAC1D;AAAA,QACA,kBAAkB,EAAE,GAAG,0BAA0B,IAAI,WAAW;AAAA,MAClE;AAAA,MACA;AAAA,QACE;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AACA,UAAM,OAAO,aAAAA,QAAM,QAAQ,MAAM;AAE/B,UAAI;AAAgB,eAAO,CAAC;AAC5B,YAAM,cAAc,CAAC;AACrB,UAAI;AAAM,oBAAY,KAAK,MAAM;AACjC,kBAAY,KAAK,KAAK;AACtB,aAAO;AAAA,IACT,GAAG,CAAC,gBAAgB,IAAI,CAAC;AAEzB,UAAM,oBAAgB,+BAAc,CAAC,UAAU,MAAM,GAAG;AACxD,UAAM,yBAAyB,aAAAA,QAAM,YAAY,MAAM,OAAO,CAAC,KAAK,CAAC;AAErE,QAAI;AACF,aACE;AAAA,QAAC;AAAA;AAAA,UACC,MAAM;AAAA,UACN,MAAM;AAAA,UACN,cAAc,QAAQ,WAAW;AAAA,UACjC;AAAA,UACA;AAAA,UAEA,sDAAC,kBAAgB,GAAG,sBAAsB;AAAA;AAAA,MAC5C;AAQJ,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,YAAW;AAAA,QACX,IAAG;AAAA,QACH,cAAc,QAAQ,WAAW;AAAA,QACjC;AAAA,QACA;AAAA,QAEC;AAAA,iBACC;AAAA,YAAC;AAAA;AAAA,cACC,YAAW;AAAA,cACX,IAAG;AAAA,cACH;AAAA,cACA;AAAA,cAEA,sDAAC,QAAM,GAAG,sBAAsB;AAAA;AAAA,UAClC,IACE;AAAA,UACJ,4CAAC,kCAAa,GAAG,UAAU;AAAA;AAAA;AAAA,IAC7B;AAAA,EAEJ;AACF;",
6
+ "names": ["React"]
7
+ }
@@ -0,0 +1,76 @@
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 ItemOverlay_exports = {};
30
+ __export(ItemOverlay_exports, {
31
+ ItemOverlay: () => ItemOverlay
32
+ });
33
+ module.exports = __toCommonJS(ItemOverlay_exports);
34
+ var React = __toESM(require("react"));
35
+ var import_jsx_runtime = require("react/jsx-runtime");
36
+ var import_react = __toESM(require("react"));
37
+ var import_ds_legacy_system = require("@elliemae/ds-legacy-system");
38
+ var import_ds_legacy_grid = require("@elliemae/ds-legacy-grid");
39
+ var import_useStore = require("../../config/useStore/index.js");
40
+ var import_ItemMiddleSection = require("./ItemMiddleSection.js");
41
+ var import_DragOverlay = require("../Dnd/DragOverlay.js");
42
+ var import_DSShuttleV2Definitions = require("../../config/DSShuttleV2Definitions.js");
43
+ const ItemWrapper = (0, import_ds_legacy_system.styled)(import_ds_legacy_grid.Grid, { name: import_DSShuttleV2Definitions.DSShuttleV2Name, slot: "item-wrapper-overlay" })`
44
+ min-height: 2.769rem;
45
+ position: relative;
46
+ background-color: white;
47
+ box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.5);
48
+ padding-right: 5px;
49
+
50
+ &:focus {
51
+ outline: 2px solid brand-700;
52
+ outline-offset: -2px;
53
+ }
54
+ border-bottom: 1px solid neutral-100;
55
+ `;
56
+ const ItemOverlay = import_react.default.memo(
57
+ (itemMeta) => {
58
+ const { datumInternalMeta } = itemMeta;
59
+ const { isSelected, hydratedId } = datumInternalMeta;
60
+ const getIsDragAndDropHappening = (0, import_useStore.useInternalStore)((state) => state.getIsDragAndDropHappening);
61
+ const isDragAndDropHappening = getIsDragAndDropHappening();
62
+ const dndDraggingItem = (0, import_useStore.useInternalStore)((state) => state.dndDraggingItem);
63
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(ItemWrapper, { cols: ["auto", "auto"], alignItems: "center", role: "checkbox", "aria-checked": isSelected, children: [
64
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
65
+ import_DragOverlay.DragOverlay,
66
+ {
67
+ id: `${hydratedId}-overlay`,
68
+ isDndActive: isDragAndDropHappening,
69
+ isDragging: dndDraggingItem?.hydratedId === hydratedId
70
+ }
71
+ ),
72
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ItemMiddleSection.ItemMiddleSection, { ...itemMeta })
73
+ ] });
74
+ }
75
+ );
76
+ //# sourceMappingURL=ItemOverlay.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/parts/Item/ItemOverlay.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["import React from 'react';\nimport { styled } from '@elliemae/ds-legacy-system';\nimport { Grid } from '@elliemae/ds-legacy-grid';\nimport { type DSShuttleV2T } from '../../react-desc-prop-types.js';\nimport { useInternalStore } from '../../config/useStore/index.js';\nimport { ItemMiddleSection } from './ItemMiddleSection.js';\nimport { DragOverlay } from '../Dnd/DragOverlay.js';\nimport { DSShuttleV2Name } from '../../config/DSShuttleV2Definitions.js';\n\n// we are using the class-name added via slot for the children `:hover` styling of icon colors\n\nconst ItemWrapper = styled(Grid, { name: DSShuttleV2Name, slot: 'item-wrapper-overlay' })`\n min-height: 2.769rem;\n position: relative;\n background-color: white;\n box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.5);\n padding-right: 5px;\n\n &:focus {\n outline: 2px solid brand-700;\n outline-offset: -2px;\n }\n border-bottom: 1px solid neutral-100;\n`;\n\nexport const ItemOverlay = React.memo(\n (itemMeta: DSShuttleV2T.ItemMeta & { tooltipHelpers?: DSShuttleV2T.ComponentProps['tooltipHelpers'] }) => {\n const { datumInternalMeta } = itemMeta;\n const { isSelected, hydratedId } = datumInternalMeta;\n\n const getIsDragAndDropHappening = useInternalStore((state) => state.getIsDragAndDropHappening);\n const isDragAndDropHappening = getIsDragAndDropHappening();\n const dndDraggingItem = useInternalStore((state) => state.dndDraggingItem);\n\n return (\n <ItemWrapper cols={['auto', 'auto']} alignItems=\"center\" role=\"checkbox\" aria-checked={isSelected}>\n <DragOverlay\n id={`${hydratedId}-overlay`}\n isDndActive={isDragAndDropHappening}\n isDragging={dndDraggingItem?.hydratedId === hydratedId}\n />\n <ItemMiddleSection {...itemMeta} />\n </ItemWrapper>\n );\n },\n);\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADmCjB;AAnCN,mBAAkB;AAClB,8BAAuB;AACvB,4BAAqB;AAErB,sBAAiC;AACjC,+BAAkC;AAClC,yBAA4B;AAC5B,oCAAgC;AAIhC,MAAM,kBAAc,gCAAO,4BAAM,EAAE,MAAM,+CAAiB,MAAM,uBAAuB,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAcjF,MAAM,cAAc,aAAAA,QAAM;AAAA,EAC/B,CAAC,aAAyG;AACxG,UAAM,EAAE,kBAAkB,IAAI;AAC9B,UAAM,EAAE,YAAY,WAAW,IAAI;AAEnC,UAAM,gCAA4B,kCAAiB,CAAC,UAAU,MAAM,yBAAyB;AAC7F,UAAM,yBAAyB,0BAA0B;AACzD,UAAM,sBAAkB,kCAAiB,CAAC,UAAU,MAAM,eAAe;AAEzE,WACE,6CAAC,eAAY,MAAM,CAAC,QAAQ,MAAM,GAAG,YAAW,UAAS,MAAK,YAAW,gBAAc,YACrF;AAAA;AAAA,QAAC;AAAA;AAAA,UACC,IAAI,GAAG;AAAA,UACP,aAAa;AAAA,UACb,YAAY,iBAAiB,eAAe;AAAA;AAAA,MAC9C;AAAA,MACA,4CAAC,8CAAmB,GAAG,UAAU;AAAA,OACnC;AAAA,EAEJ;AACF;",
6
+ "names": ["React"]
7
+ }
@@ -0,0 +1,70 @@
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 ItemSelection_exports = {};
30
+ __export(ItemSelection_exports, {
31
+ ItemSelection: () => ItemSelection
32
+ });
33
+ module.exports = __toCommonJS(ItemSelection_exports);
34
+ var React = __toESM(require("react"));
35
+ var import_jsx_runtime = require("react/jsx-runtime");
36
+ var import_react = __toESM(require("react"));
37
+ var import_ds_legacy_system = require("@elliemae/ds-legacy-system");
38
+ var import_ds_legacy_grid = require("@elliemae/ds-legacy-grid");
39
+ var import_DSShuttleV2Definitions = require("../../config/DSShuttleV2Definitions.js");
40
+ var import_useStore = require("../../config/useStore/useStore.js");
41
+ const StyledItemSelection = (0, import_ds_legacy_system.styled)(import_ds_legacy_grid.Grid, { name: import_DSShuttleV2Definitions.DSShuttleV2Name, slot: import_DSShuttleV2Definitions.DSShuttleV2Slots.ITEM_SELECTION })`
42
+ width: 5px;
43
+ height: 100%;
44
+ box-sizing: border-box;
45
+ background-color: ${(props) => {
46
+ if (props.$isSelected)
47
+ return props.theme.colors.brand[600];
48
+ if (props.$selectionPrevented === true)
49
+ return props.theme.colors.neutral["080"];
50
+ return props.theme.colors.brand[300];
51
+ }};
52
+ `;
53
+ const ItemSelection = import_react.default.memo((itemMeta) => {
54
+ const {
55
+ datumInternalMeta: { isSelected },
56
+ datumRenderFlags: { selectionPrevented }
57
+ } = itemMeta;
58
+ const getOwnerProps = (0, import_useStore.usePropsStore)((store) => store.get);
59
+ const getOwnerPropsArguments = import_react.default.useCallback(() => itemMeta, [itemMeta]);
60
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
61
+ StyledItemSelection,
62
+ {
63
+ $isSelected: isSelected,
64
+ $selectionPrevented: selectionPrevented,
65
+ getOwnerProps,
66
+ getOwnerPropsArguments
67
+ }
68
+ );
69
+ });
70
+ //# sourceMappingURL=ItemSelection.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/parts/Item/ItemSelection.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["import React from 'react';\nimport { styled } from '@elliemae/ds-legacy-system';\nimport { Grid } from '@elliemae/ds-legacy-grid';\nimport { type DSShuttleV2T } from '../../react-desc-prop-types.js';\nimport { DSShuttleV2Name, DSShuttleV2Slots } from '../../config/DSShuttleV2Definitions.js';\nimport { usePropsStore } from '../../config/useStore/useStore.js';\n\n// border-right: ${(props) => {\n// if (props.$selectionPrevented === true) return `1px solid ${props.theme.colors.neutral['200']}`;\n// return '';\n// }};\n// border-bottom: ${(props) => {\n// if (props.$selectionPrevented === true) return `1px solid ${props.theme.colors.neutral['200']}`;\n// return '';\n// }};\n\nconst StyledItemSelection = styled(Grid, { name: DSShuttleV2Name, slot: DSShuttleV2Slots.ITEM_SELECTION })<{\n $isSelected: boolean;\n $selectionPrevented?: boolean;\n}>`\n width: 5px;\n height: 100%;\n box-sizing: border-box;\n background-color: ${(props) => {\n if (props.$isSelected) return props.theme.colors.brand[600];\n if (props.$selectionPrevented === true) return props.theme.colors.neutral['080'];\n return props.theme.colors.brand[300];\n }};\n`;\n\nexport const ItemSelection = React.memo((itemMeta: DSShuttleV2T.ItemMeta) => {\n const {\n datumInternalMeta: { isSelected },\n datumRenderFlags: { selectionPrevented },\n } = itemMeta;\n const getOwnerProps = usePropsStore((store) => store.get);\n const getOwnerPropsArguments = React.useCallback(() => itemMeta, [itemMeta]);\n\n return (\n <StyledItemSelection\n $isSelected={isSelected}\n $selectionPrevented={selectionPrevented}\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n />\n );\n});\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADuCnB;AAvCJ,mBAAkB;AAClB,8BAAuB;AACvB,4BAAqB;AAErB,oCAAkD;AAClD,sBAA8B;AAW9B,MAAM,0BAAsB,gCAAO,4BAAM,EAAE,MAAM,+CAAiB,MAAM,+CAAiB,eAAe,CAAC;AAAA;AAAA;AAAA;AAAA,sBAOnF,CAAC,UAAU;AAC7B,MAAI,MAAM;AAAa,WAAO,MAAM,MAAM,OAAO,MAAM,GAAG;AAC1D,MAAI,MAAM,wBAAwB;AAAM,WAAO,MAAM,MAAM,OAAO,QAAQ,KAAK;AAC/E,SAAO,MAAM,MAAM,OAAO,MAAM,GAAG;AACrC;AAAA;AAGK,MAAM,gBAAgB,aAAAA,QAAM,KAAK,CAAC,aAAoC;AAC3E,QAAM;AAAA,IACJ,mBAAmB,EAAE,WAAW;AAAA,IAChC,kBAAkB,EAAE,mBAAmB;AAAA,EACzC,IAAI;AACJ,QAAM,oBAAgB,+BAAc,CAAC,UAAU,MAAM,GAAG;AACxD,QAAM,yBAAyB,aAAAA,QAAM,YAAY,MAAM,UAAU,CAAC,QAAQ,CAAC;AAE3E,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAa;AAAA,MACb,qBAAqB;AAAA,MACrB;AAAA,MACA;AAAA;AAAA,EACF;AAEJ,CAAC;",
6
+ "names": ["React"]
7
+ }
@@ -0,0 +1,56 @@
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 TextSection_exports = {};
30
+ __export(TextSection_exports, {
31
+ TextSection: () => TextSection
32
+ });
33
+ module.exports = __toCommonJS(TextSection_exports);
34
+ var React = __toESM(require("react"));
35
+ var import_jsx_runtime = require("react/jsx-runtime");
36
+ var import_react = __toESM(require("react"));
37
+ var import_ds_legacy_grid = require("@elliemae/ds-legacy-grid");
38
+ var import_ds_legacy_system = require("@elliemae/ds-legacy-system");
39
+ var import_ds_legacy_typography = require("@elliemae/ds-legacy-typography");
40
+ var import_DSShuttleV2Definitions = require("../../config/DSShuttleV2Definitions.js");
41
+ var import_useStore = require("../../config/useStore/useStore.js");
42
+ const withSubtitleRows = ["auto", "auto"];
43
+ const LabelWrapper = (0, import_ds_legacy_system.styled)(import_ds_legacy_grid.Grid, { name: import_DSShuttleV2Definitions.DSShuttleV2Name, slot: import_DSShuttleV2Definitions.DSShuttleV2Slots.ITEM_LABEL_WRAPPER })`
44
+ min-height: 1rem;
45
+ `;
46
+ const TextSection = import_react.default.memo((props) => {
47
+ const getOwnerProps = (0, import_useStore.usePropsStore)((store) => store.get);
48
+ const getOwnerPropsArguments = import_react.default.useCallback(() => props, [props]);
49
+ const { label, subtitle, id } = props.datumHydratables;
50
+ const { softDeleted } = props.datum;
51
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_legacy_grid.Grid, { id: `${id}-text-section${softDeleted ? "-soft-deleted" : ""}`, children: subtitle === void 0 ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(LabelWrapper, { alignItems: "center", getOwnerProps, getOwnerPropsArguments, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_legacy_typography.DSTypography, { variant: "b1", children: label }) }) : /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_ds_legacy_grid.Grid, { alignItems: "center", rows: withSubtitleRows, gutter: "1px", children: [
52
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_legacy_typography.DSTypography, { variant: "b1", children: label }),
53
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_legacy_typography.DSTypography, { variant: "b4", children: subtitle })
54
+ ] }) });
55
+ });
56
+ //# sourceMappingURL=TextSection.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/parts/Item/TextSection.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["import React from 'react';\nimport { Grid } from '@elliemae/ds-legacy-grid';\nimport { styled } from '@elliemae/ds-legacy-system';\nimport { DSTypography } from '@elliemae/ds-legacy-typography';\nimport { DSShuttleV2Name, DSShuttleV2Slots } from '../../config/DSShuttleV2Definitions.js';\nimport { type DSShuttleV2T } from '../../react-desc-prop-types.js';\nimport { usePropsStore } from '../../config/useStore/useStore.js';\n\nconst withSubtitleRows = ['auto', 'auto'];\nconst LabelWrapper = styled(Grid, { name: DSShuttleV2Name, slot: DSShuttleV2Slots.ITEM_LABEL_WRAPPER })`\n min-height: 1rem;\n`;\nexport const TextSection = React.memo((props: DSShuttleV2T.ItemMeta) => {\n const getOwnerProps = usePropsStore((store) => store.get);\n const getOwnerPropsArguments = React.useCallback(() => props, [props]);\n\n const { label, subtitle, id } = props.datumHydratables;\n const { softDeleted } = props.datum;\n return (\n <Grid id={`${id}-text-section${softDeleted ? '-soft-deleted' : ''}`}>\n {subtitle === undefined ? (\n <LabelWrapper alignItems=\"center\" getOwnerProps={getOwnerProps} getOwnerPropsArguments={getOwnerPropsArguments}>\n <DSTypography variant=\"b1\">{label}</DSTypography>\n </LabelWrapper>\n ) : (\n <Grid alignItems=\"center\" rows={withSubtitleRows} gutter=\"1px\">\n <DSTypography variant=\"b1\">{label}</DSTypography>\n <DSTypography variant=\"b4\">{subtitle}</DSTypography>\n </Grid>\n )}\n </Grid>\n );\n});\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADsBb;AAtBV,mBAAkB;AAClB,4BAAqB;AACrB,8BAAuB;AACvB,kCAA6B;AAC7B,oCAAkD;AAElD,sBAA8B;AAE9B,MAAM,mBAAmB,CAAC,QAAQ,MAAM;AACxC,MAAM,mBAAe,gCAAO,4BAAM,EAAE,MAAM,+CAAiB,MAAM,+CAAiB,mBAAmB,CAAC;AAAA;AAAA;AAG/F,MAAM,cAAc,aAAAA,QAAM,KAAK,CAAC,UAAiC;AACtE,QAAM,oBAAgB,+BAAc,CAAC,UAAU,MAAM,GAAG;AACxD,QAAM,yBAAyB,aAAAA,QAAM,YAAY,MAAM,OAAO,CAAC,KAAK,CAAC;AAErE,QAAM,EAAE,OAAO,UAAU,GAAG,IAAI,MAAM;AACtC,QAAM,EAAE,YAAY,IAAI,MAAM;AAC9B,SACE,4CAAC,8BAAK,IAAI,GAAG,kBAAkB,cAAc,kBAAkB,MAC5D,uBAAa,SACZ,4CAAC,gBAAa,YAAW,UAAS,eAA8B,wBAC9D,sDAAC,4CAAa,SAAQ,MAAM,iBAAM,GACpC,IAEA,6CAAC,8BAAK,YAAW,UAAS,MAAM,kBAAkB,QAAO,OACvD;AAAA,gDAAC,4CAAa,SAAQ,MAAM,iBAAM;AAAA,IAClC,4CAAC,4CAAa,SAAQ,MAAM,oBAAS;AAAA,KACvC,GAEJ;AAEJ,CAAC;",
6
+ "names": ["React"]
7
+ }
@@ -0,0 +1,104 @@
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 useItemArrowNavigation_exports = {};
30
+ __export(useItemArrowNavigation_exports, {
31
+ useItemArrowNavigation: () => useItemArrowNavigation
32
+ });
33
+ module.exports = __toCommonJS(useItemArrowNavigation_exports);
34
+ var React = __toESM(require("react"));
35
+ var import_react = __toESM(require("react"));
36
+ var import_useFocusTracker = require("../../config/useFocusTracker/index.js");
37
+ var import_useStore = require("../../config/useStore/index.js");
38
+ const useItemArrowNavigation = (itemMeta) => {
39
+ const { trackFocusRegionPanelFocusMoveAll } = (0, import_useFocusTracker.useFocusRegionTrackers)();
40
+ const { trackFocusPrevItem, trackFocusNextItem, trackFocusItemReset } = (0, import_useFocusTracker.useFocusItemTracker)();
41
+ const { trackFocusNextAction, trackFocusPrevAction, trackFocusActionParent, trackFocusActionReset } = (0, import_useFocusTracker.useFocusActionTrackers)();
42
+ const { hasMultipleSelection, isDestinationPanel } = itemMeta;
43
+ const getIsDragAndDropHappening = (0, import_useStore.useInternalStore)((state) => state.getIsDragAndDropHappening);
44
+ const onItemContainerKeyDown = import_react.default.useCallback(
45
+ (e) => {
46
+ const { key } = e;
47
+ const isDragAndDropHappening = getIsDragAndDropHappening();
48
+ if (isDragAndDropHappening) {
49
+ e.preventDefault();
50
+ return;
51
+ }
52
+ if (["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight"].includes(key))
53
+ e.preventDefault();
54
+ if (["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight"].includes(key))
55
+ e.stopPropagation();
56
+ if (key === "ArrowLeft") {
57
+ if (hasMultipleSelection) {
58
+ trackFocusRegionPanelFocusMoveAll(isDestinationPanel);
59
+ trackFocusItemReset();
60
+ trackFocusActionReset();
61
+ return;
62
+ }
63
+ trackFocusPrevAction(itemMeta);
64
+ return;
65
+ }
66
+ if (key === "ArrowRight") {
67
+ if (hasMultipleSelection) {
68
+ trackFocusRegionPanelFocusMoveAll(isDestinationPanel);
69
+ trackFocusItemReset();
70
+ trackFocusActionReset();
71
+ return;
72
+ }
73
+ trackFocusNextAction(itemMeta);
74
+ return;
75
+ }
76
+ if (key === "ArrowUp") {
77
+ trackFocusPrevItem(itemMeta);
78
+ trackFocusActionParent();
79
+ return;
80
+ }
81
+ if (key === "ArrowDown") {
82
+ trackFocusNextItem(itemMeta);
83
+ trackFocusActionParent();
84
+ return;
85
+ }
86
+ },
87
+ [
88
+ getIsDragAndDropHappening,
89
+ hasMultipleSelection,
90
+ trackFocusPrevAction,
91
+ itemMeta,
92
+ trackFocusRegionPanelFocusMoveAll,
93
+ isDestinationPanel,
94
+ trackFocusItemReset,
95
+ trackFocusActionReset,
96
+ trackFocusNextAction,
97
+ trackFocusPrevItem,
98
+ trackFocusActionParent,
99
+ trackFocusNextItem
100
+ ]
101
+ );
102
+ return import_react.default.useMemo(() => ({ onItemContainerKeyDown }), [onItemContainerKeyDown]);
103
+ };
104
+ //# sourceMappingURL=useItemArrowNavigation.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/parts/Item/useItemArrowNavigation.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["/* eslint-disable max-statements */\n/* eslint-disable complexity */\nimport React from 'react';\nimport {\n useFocusItemTracker,\n useFocusActionTrackers,\n useFocusRegionTrackers,\n} from '../../config/useFocusTracker/index.js';\nimport { type DSShuttleV2T } from '../../react-desc-prop-types.js';\nimport { useInternalStore } from '../../config/useStore/index.js';\n\nexport const useItemArrowNavigation = (itemMeta: DSShuttleV2T.ItemMeta) => {\n const { trackFocusRegionPanelFocusMoveAll } = useFocusRegionTrackers();\n const { trackFocusPrevItem, trackFocusNextItem, trackFocusItemReset } = useFocusItemTracker();\n const { trackFocusNextAction, trackFocusPrevAction, trackFocusActionParent, trackFocusActionReset } =\n useFocusActionTrackers();\n const { hasMultipleSelection, isDestinationPanel } = itemMeta;\n\n const getIsDragAndDropHappening = useInternalStore((state) => state.getIsDragAndDropHappening);\n\n const onItemContainerKeyDown = React.useCallback<React.KeyboardEventHandler<HTMLDivElement>>(\n (e) => {\n const { key } = e;\n const isDragAndDropHappening = getIsDragAndDropHappening();\n if (isDragAndDropHappening) {\n e.preventDefault();\n return;\n }\n // stopping prepagation it's required to avoid \"ArrowUp/ArrowDown\" to trigger parents logic\n // preventDefault it's just me thinking it's good idea when stopping propagation\n if (['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].includes(key)) e.preventDefault();\n if (['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].includes(key)) e.stopPropagation();\n if (key === 'ArrowLeft') {\n if (hasMultipleSelection) {\n trackFocusRegionPanelFocusMoveAll(isDestinationPanel);\n trackFocusItemReset();\n trackFocusActionReset();\n return;\n }\n\n trackFocusPrevAction(itemMeta);\n return;\n }\n if (key === 'ArrowRight') {\n if (hasMultipleSelection) {\n trackFocusRegionPanelFocusMoveAll(isDestinationPanel);\n trackFocusItemReset();\n trackFocusActionReset();\n return;\n }\n trackFocusNextAction(itemMeta);\n return;\n }\n if (key === 'ArrowUp') {\n trackFocusPrevItem(itemMeta);\n trackFocusActionParent();\n return;\n }\n if (key === 'ArrowDown') {\n trackFocusNextItem(itemMeta);\n trackFocusActionParent();\n return;\n }\n },\n [\n getIsDragAndDropHappening,\n hasMultipleSelection,\n trackFocusPrevAction,\n itemMeta,\n trackFocusRegionPanelFocusMoveAll,\n isDestinationPanel,\n trackFocusItemReset,\n trackFocusActionReset,\n trackFocusNextAction,\n trackFocusPrevItem,\n trackFocusActionParent,\n trackFocusNextItem,\n ],\n );\n\n return React.useMemo(() => ({ onItemContainerKeyDown }), [onItemContainerKeyDown]);\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADEvB,mBAAkB;AAClB,6BAIO;AAEP,sBAAiC;AAE1B,MAAM,yBAAyB,CAAC,aAAoC;AACzE,QAAM,EAAE,kCAAkC,QAAI,+CAAuB;AACrE,QAAM,EAAE,oBAAoB,oBAAoB,oBAAoB,QAAI,4CAAoB;AAC5F,QAAM,EAAE,sBAAsB,sBAAsB,wBAAwB,sBAAsB,QAChG,+CAAuB;AACzB,QAAM,EAAE,sBAAsB,mBAAmB,IAAI;AAErD,QAAM,gCAA4B,kCAAiB,CAAC,UAAU,MAAM,yBAAyB;AAE7F,QAAM,yBAAyB,aAAAA,QAAM;AAAA,IACnC,CAAC,MAAM;AACL,YAAM,EAAE,IAAI,IAAI;AAChB,YAAM,yBAAyB,0BAA0B;AACzD,UAAI,wBAAwB;AAC1B,UAAE,eAAe;AACjB;AAAA,MACF;AAGA,UAAI,CAAC,WAAW,aAAa,aAAa,YAAY,EAAE,SAAS,GAAG;AAAG,UAAE,eAAe;AACxF,UAAI,CAAC,WAAW,aAAa,aAAa,YAAY,EAAE,SAAS,GAAG;AAAG,UAAE,gBAAgB;AACzF,UAAI,QAAQ,aAAa;AACvB,YAAI,sBAAsB;AACxB,4CAAkC,kBAAkB;AACpD,8BAAoB;AACpB,gCAAsB;AACtB;AAAA,QACF;AAEA,6BAAqB,QAAQ;AAC7B;AAAA,MACF;AACA,UAAI,QAAQ,cAAc;AACxB,YAAI,sBAAsB;AACxB,4CAAkC,kBAAkB;AACpD,8BAAoB;AACpB,gCAAsB;AACtB;AAAA,QACF;AACA,6BAAqB,QAAQ;AAC7B;AAAA,MACF;AACA,UAAI,QAAQ,WAAW;AACrB,2BAAmB,QAAQ;AAC3B,+BAAuB;AACvB;AAAA,MACF;AACA,UAAI,QAAQ,aAAa;AACvB,2BAAmB,QAAQ;AAC3B,+BAAuB;AACvB;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAEA,SAAO,aAAAA,QAAM,QAAQ,OAAO,EAAE,uBAAuB,IAAI,CAAC,sBAAsB,CAAC;AACnF;",
6
+ "names": ["React"]
7
+ }
@@ -0,0 +1,61 @@
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 useItemKeyboardSelection_exports = {};
30
+ __export(useItemKeyboardSelection_exports, {
31
+ useItemKeyboardSelection: () => useItemKeyboardSelection
32
+ });
33
+ module.exports = __toCommonJS(useItemKeyboardSelection_exports);
34
+ var React = __toESM(require("react"));
35
+ var import_react = __toESM(require("react"));
36
+ var import_useStore = require("../../config/useStore/index.js");
37
+ var import_useSelectionLogic = require("./useSelectionLogic.js");
38
+ const useItemKeyboardSelection = (itemMeta) => {
39
+ const { datumInternalMeta } = itemMeta;
40
+ const { hydratedId } = datumInternalMeta;
41
+ const { selectItem } = (0, import_useSelectionLogic.useSelectionLogic)(itemMeta);
42
+ const getIsDragAndDropHappening = (0, import_useStore.useInternalStore)((state) => state.getIsDragAndDropHappening);
43
+ const onItemKeyDownSelection = import_react.default.useCallback(
44
+ (event) => {
45
+ const { key } = event;
46
+ if (["Spacebar", " ", "Enter"].includes(key)) {
47
+ const isDragNDroping = getIsDragAndDropHappening();
48
+ if (isDragNDroping || event.target.id === `${hydratedId}-drag-handle`) {
49
+ event.preventDefault();
50
+ return;
51
+ }
52
+ event.preventDefault();
53
+ event.stopPropagation();
54
+ selectItem(event);
55
+ }
56
+ },
57
+ [getIsDragAndDropHappening, hydratedId, selectItem]
58
+ );
59
+ return import_react.default.useMemo(() => ({ onItemKeyDownSelection }), [onItemKeyDownSelection]);
60
+ };
61
+ //# sourceMappingURL=useItemKeyboardSelection.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/parts/Item/useItemKeyboardSelection.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["import React from 'react';\nimport { type DSShuttleV2T } from '../../react-desc-prop-types.js';\nimport { useInternalStore } from '../../config/useStore/index.js';\nimport { useSelectionLogic } from './useSelectionLogic.js';\n\nexport const useItemKeyboardSelection = (itemMeta: DSShuttleV2T.ItemMeta) => {\n const { datumInternalMeta } = itemMeta;\n const { hydratedId } = datumInternalMeta;\n const { selectItem } = useSelectionLogic(itemMeta);\n const getIsDragAndDropHappening = useInternalStore((state) => state.getIsDragAndDropHappening);\n const onItemKeyDownSelection = React.useCallback<React.KeyboardEventHandler<HTMLDivElement>>(\n (event) => {\n const { key } = event;\n\n // Spacebar AND ' ' are cross-browser compatibility thing\n if (['Spacebar', ' ', 'Enter'].includes(key)) {\n // we need to invoke \"getIsDragAndDropHappening\" here to ensure we have the latest info at the moment of the event\n const isDragNDroping = getIsDragAndDropHappening();\n if (isDragNDroping || (event.target as HTMLElement).id === `${hydratedId}-drag-handle`) {\n event.preventDefault();\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n selectItem(event);\n }\n },\n [getIsDragAndDropHappening, hydratedId, selectItem],\n );\n return React.useMemo(() => ({ onItemKeyDownSelection }), [onItemKeyDownSelection]);\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAkB;AAElB,sBAAiC;AACjC,+BAAkC;AAE3B,MAAM,2BAA2B,CAAC,aAAoC;AAC3E,QAAM,EAAE,kBAAkB,IAAI;AAC9B,QAAM,EAAE,WAAW,IAAI;AACvB,QAAM,EAAE,WAAW,QAAI,4CAAkB,QAAQ;AACjD,QAAM,gCAA4B,kCAAiB,CAAC,UAAU,MAAM,yBAAyB;AAC7F,QAAM,yBAAyB,aAAAA,QAAM;AAAA,IACnC,CAAC,UAAU;AACT,YAAM,EAAE,IAAI,IAAI;AAGhB,UAAI,CAAC,YAAY,KAAK,OAAO,EAAE,SAAS,GAAG,GAAG;AAE5C,cAAM,iBAAiB,0BAA0B;AACjD,YAAI,kBAAmB,MAAM,OAAuB,OAAO,GAAG,0BAA0B;AACtF,gBAAM,eAAe;AACrB;AAAA,QACF;AACA,cAAM,eAAe;AACrB,cAAM,gBAAgB;AACtB,mBAAW,KAAK;AAAA,MAClB;AAAA,IACF;AAAA,IACA,CAAC,2BAA2B,YAAY,UAAU;AAAA,EACpD;AACA,SAAO,aAAAA,QAAM,QAAQ,OAAO,EAAE,uBAAuB,IAAI,CAAC,sBAAsB,CAAC;AACnF;",
6
+ "names": ["React"]
7
+ }