react-native-layout-dnd 0.1.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (340) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +262 -0
  3. package/lib/module/adapters/coordinates.js +135 -0
  4. package/lib/module/adapters/coordinates.js.map +1 -0
  5. package/lib/module/adapters/scroll.js +81 -0
  6. package/lib/module/adapters/scroll.js.map +1 -0
  7. package/lib/module/adapters/virtualizedList.js +69 -0
  8. package/lib/module/adapters/virtualizedList.js.map +1 -0
  9. package/lib/module/components/DndProvider.js +1144 -0
  10. package/lib/module/components/DndProvider.js.map +1 -0
  11. package/lib/module/components/DragHandle.js +65 -0
  12. package/lib/module/components/DragHandle.js.map +1 -0
  13. package/lib/module/components/GridController.js +151 -0
  14. package/lib/module/components/GridController.js.map +1 -0
  15. package/lib/module/components/GridDragHandle.js +15 -0
  16. package/lib/module/components/GridDragHandle.js.map +1 -0
  17. package/lib/module/components/GridZoneView.js +59 -0
  18. package/lib/module/components/GridZoneView.js.map +1 -0
  19. package/lib/module/components/SortableGrid.js +305 -0
  20. package/lib/module/components/SortableGrid.js.map +1 -0
  21. package/lib/module/components/SortableList.js +714 -0
  22. package/lib/module/components/SortableList.js.map +1 -0
  23. package/lib/module/components/dndTypes.js +4 -0
  24. package/lib/module/components/dndTypes.js.map +1 -0
  25. package/lib/module/components/gridTypes.js +4 -0
  26. package/lib/module/components/gridTypes.js.map +1 -0
  27. package/lib/module/components/handleViewProps.js +13 -0
  28. package/lib/module/components/handleViewProps.js.map +1 -0
  29. package/lib/module/contracts.js +4 -0
  30. package/lib/module/contracts.js.map +1 -0
  31. package/lib/module/controller/approval.js +98 -0
  32. package/lib/module/controller/approval.js.map +1 -0
  33. package/lib/module/controller/coordinatorBase.js +93 -0
  34. package/lib/module/controller/coordinatorBase.js.map +1 -0
  35. package/lib/module/controller/dndSession.js +621 -0
  36. package/lib/module/controller/dndSession.js.map +1 -0
  37. package/lib/module/controller/dndState.js +103 -0
  38. package/lib/module/controller/dndState.js.map +1 -0
  39. package/lib/module/controller/gridAdapter.js +191 -0
  40. package/lib/module/controller/gridAdapter.js.map +1 -0
  41. package/lib/module/controller/gridState.js +101 -0
  42. package/lib/module/controller/gridState.js.map +1 -0
  43. package/lib/module/controller/locations.js +48 -0
  44. package/lib/module/controller/locations.js.map +1 -0
  45. package/lib/module/controller/previewPath.js +73 -0
  46. package/lib/module/controller/previewPath.js.map +1 -0
  47. package/lib/module/controller/sessionCore.js +222 -0
  48. package/lib/module/controller/sessionCore.js.map +1 -0
  49. package/lib/module/controller/useDndState.js +9 -0
  50. package/lib/module/controller/useDndState.js.map +1 -0
  51. package/lib/module/controller/useGridState.js +9 -0
  52. package/lib/module/controller/useGridState.js.map +1 -0
  53. package/lib/module/controller/useStoreState.js +15 -0
  54. package/lib/module/controller/useStoreState.js.map +1 -0
  55. package/lib/module/defaults.js +7 -0
  56. package/lib/module/defaults.js.map +1 -0
  57. package/lib/module/diagnostics.js +16 -0
  58. package/lib/module/diagnostics.js.map +1 -0
  59. package/lib/module/engine/gridPlacements.js +54 -0
  60. package/lib/module/engine/gridPlacements.js.map +1 -0
  61. package/lib/module/engine/index.js +19 -0
  62. package/lib/module/engine/index.js.map +1 -0
  63. package/lib/module/engine/layout.js +36 -0
  64. package/lib/module/engine/layout.js.map +1 -0
  65. package/lib/module/engine/layoutMove.js +326 -0
  66. package/lib/module/engine/layoutMove.js.map +1 -0
  67. package/lib/module/engine/layoutState.js +344 -0
  68. package/lib/module/engine/layoutState.js.map +1 -0
  69. package/lib/module/engine/list.js +172 -0
  70. package/lib/module/engine/list.js.map +1 -0
  71. package/lib/module/engine/listIndex.js +125 -0
  72. package/lib/module/engine/listIndex.js.map +1 -0
  73. package/lib/module/engine/move.js +216 -0
  74. package/lib/module/engine/move.js.map +1 -0
  75. package/lib/module/engine/movementPolicy.js +77 -0
  76. package/lib/module/engine/movementPolicy.js.map +1 -0
  77. package/lib/module/engine/orderedTarget.js +71 -0
  78. package/lib/module/engine/orderedTarget.js.map +1 -0
  79. package/lib/module/engine/pack.js +30 -0
  80. package/lib/module/engine/pack.js.map +1 -0
  81. package/lib/module/engine/rectangles.js +12 -0
  82. package/lib/module/engine/rectangles.js.map +1 -0
  83. package/lib/module/engine/sameLayout.js +29 -0
  84. package/lib/module/engine/sameLayout.js.map +1 -0
  85. package/lib/module/engine/search.js +159 -0
  86. package/lib/module/engine/search.js.map +1 -0
  87. package/lib/module/engine/spatial.js +27 -0
  88. package/lib/module/engine/spatial.js.map +1 -0
  89. package/lib/module/engine/spatialAppRotation.js +39 -0
  90. package/lib/module/engine/spatialAppRotation.js.map +1 -0
  91. package/lib/module/engine/spatialExchange.js +164 -0
  92. package/lib/module/engine/spatialExchange.js.map +1 -0
  93. package/lib/module/engine/spatialInsertion.js +135 -0
  94. package/lib/module/engine/spatialInsertion.js.map +1 -0
  95. package/lib/module/engine/spatialPolicy.js +41 -0
  96. package/lib/module/engine/spatialPolicy.js.map +1 -0
  97. package/lib/module/engine/spatialRotation.js +48 -0
  98. package/lib/module/engine/spatialRotation.js.map +1 -0
  99. package/lib/module/engine/validation.js +205 -0
  100. package/lib/module/engine/validation.js.map +1 -0
  101. package/lib/module/gesture/DndGestureGroup.js +268 -0
  102. package/lib/module/gesture/DndGestureGroup.js.map +1 -0
  103. package/lib/module/gesture/DndGestureHost.js +32 -0
  104. package/lib/module/gesture/DndGestureHost.js.map +1 -0
  105. package/lib/module/gesture/gestureConfig.js +81 -0
  106. package/lib/module/gesture/gestureConfig.js.map +1 -0
  107. package/lib/module/gesture/gestureGrouping.js +122 -0
  108. package/lib/module/gesture/gestureGrouping.js.map +1 -0
  109. package/lib/module/gesture/gestureHost.js +106 -0
  110. package/lib/module/gesture/gestureHost.js.map +1 -0
  111. package/lib/module/index.js +23 -0
  112. package/lib/module/index.js.map +1 -0
  113. package/lib/module/package.json +1 -0
  114. package/lib/module/pointer/dndTarget.js +101 -0
  115. package/lib/module/pointer/dndTarget.js.map +1 -0
  116. package/lib/module/pointer/geometry.js +363 -0
  117. package/lib/module/pointer/geometry.js.map +1 -0
  118. package/lib/module/pointer/layoutTarget.js +307 -0
  119. package/lib/module/pointer/layoutTarget.js.map +1 -0
  120. package/lib/module/pointer/listCellMotion.js +99 -0
  121. package/lib/module/pointer/listCellMotion.js.map +1 -0
  122. package/lib/module/pointer/listTarget.js +42 -0
  123. package/lib/module/pointer/listTarget.js.map +1 -0
  124. package/lib/module/pointer/motion.js +37 -0
  125. package/lib/module/pointer/motion.js.map +1 -0
  126. package/lib/module/runtime/dndPresentation.js +81 -0
  127. package/lib/module/runtime/dndPresentation.js.map +1 -0
  128. package/lib/module/runtime/dndRenderStore.js +129 -0
  129. package/lib/module/runtime/dndRenderStore.js.map +1 -0
  130. package/lib/module/runtime/dndRuntime.js +135 -0
  131. package/lib/module/runtime/dndRuntime.js.map +1 -0
  132. package/lib/module/runtime/dndSettlement.js +77 -0
  133. package/lib/module/runtime/dndSettlement.js.map +1 -0
  134. package/lib/module/runtime/gridRuntime.js +37 -0
  135. package/lib/module/runtime/gridRuntime.js.map +1 -0
  136. package/lib/module/types.js +4 -0
  137. package/lib/module/types.js.map +1 -0
  138. package/lib/typescript/package.json +1 -0
  139. package/lib/typescript/src/adapters/coordinates.d.ts +9 -0
  140. package/lib/typescript/src/adapters/coordinates.d.ts.map +1 -0
  141. package/lib/typescript/src/adapters/scroll.d.ts +49 -0
  142. package/lib/typescript/src/adapters/scroll.d.ts.map +1 -0
  143. package/lib/typescript/src/adapters/virtualizedList.d.ts +22 -0
  144. package/lib/typescript/src/adapters/virtualizedList.d.ts.map +1 -0
  145. package/lib/typescript/src/components/DndProvider.d.ts +4 -0
  146. package/lib/typescript/src/components/DndProvider.d.ts.map +1 -0
  147. package/lib/typescript/src/components/DragHandle.d.ts +4 -0
  148. package/lib/typescript/src/components/DragHandle.d.ts.map +1 -0
  149. package/lib/typescript/src/components/GridController.d.ts +21 -0
  150. package/lib/typescript/src/components/GridController.d.ts.map +1 -0
  151. package/lib/typescript/src/components/GridDragHandle.d.ts +8 -0
  152. package/lib/typescript/src/components/GridDragHandle.d.ts.map +1 -0
  153. package/lib/typescript/src/components/GridZoneView.d.ts +8 -0
  154. package/lib/typescript/src/components/GridZoneView.d.ts.map +1 -0
  155. package/lib/typescript/src/components/SortableGrid.d.ts +4 -0
  156. package/lib/typescript/src/components/SortableGrid.d.ts.map +1 -0
  157. package/lib/typescript/src/components/SortableList.d.ts +4 -0
  158. package/lib/typescript/src/components/SortableList.d.ts.map +1 -0
  159. package/lib/typescript/src/components/dndTypes.d.ts +94 -0
  160. package/lib/typescript/src/components/dndTypes.d.ts.map +1 -0
  161. package/lib/typescript/src/components/gridTypes.d.ts +84 -0
  162. package/lib/typescript/src/components/gridTypes.d.ts.map +1 -0
  163. package/lib/typescript/src/components/handleViewProps.d.ts +6 -0
  164. package/lib/typescript/src/components/handleViewProps.d.ts.map +1 -0
  165. package/lib/typescript/src/contracts.d.ts +145 -0
  166. package/lib/typescript/src/contracts.d.ts.map +1 -0
  167. package/lib/typescript/src/controller/approval.d.ts +66 -0
  168. package/lib/typescript/src/controller/approval.d.ts.map +1 -0
  169. package/lib/typescript/src/controller/coordinatorBase.d.ts +37 -0
  170. package/lib/typescript/src/controller/coordinatorBase.d.ts.map +1 -0
  171. package/lib/typescript/src/controller/dndSession.d.ts +152 -0
  172. package/lib/typescript/src/controller/dndSession.d.ts.map +1 -0
  173. package/lib/typescript/src/controller/dndState.d.ts +27 -0
  174. package/lib/typescript/src/controller/dndState.d.ts.map +1 -0
  175. package/lib/typescript/src/controller/gridAdapter.d.ts +44 -0
  176. package/lib/typescript/src/controller/gridAdapter.d.ts.map +1 -0
  177. package/lib/typescript/src/controller/gridState.d.ts +18 -0
  178. package/lib/typescript/src/controller/gridState.d.ts.map +1 -0
  179. package/lib/typescript/src/controller/locations.d.ts +9 -0
  180. package/lib/typescript/src/controller/locations.d.ts.map +1 -0
  181. package/lib/typescript/src/controller/previewPath.d.ts +49 -0
  182. package/lib/typescript/src/controller/previewPath.d.ts.map +1 -0
  183. package/lib/typescript/src/controller/sessionCore.d.ts +106 -0
  184. package/lib/typescript/src/controller/sessionCore.d.ts.map +1 -0
  185. package/lib/typescript/src/controller/useDndState.d.ts +8 -0
  186. package/lib/typescript/src/controller/useDndState.d.ts.map +1 -0
  187. package/lib/typescript/src/controller/useGridState.d.ts +8 -0
  188. package/lib/typescript/src/controller/useGridState.d.ts.map +1 -0
  189. package/lib/typescript/src/controller/useStoreState.d.ts +16 -0
  190. package/lib/typescript/src/controller/useStoreState.d.ts.map +1 -0
  191. package/lib/typescript/src/defaults.d.ts +5 -0
  192. package/lib/typescript/src/defaults.d.ts.map +1 -0
  193. package/lib/typescript/src/diagnostics.d.ts +9 -0
  194. package/lib/typescript/src/diagnostics.d.ts.map +1 -0
  195. package/lib/typescript/src/engine/gridPlacements.d.ts +22 -0
  196. package/lib/typescript/src/engine/gridPlacements.d.ts.map +1 -0
  197. package/lib/typescript/src/engine/index.d.ts +28 -0
  198. package/lib/typescript/src/engine/index.d.ts.map +1 -0
  199. package/lib/typescript/src/engine/layout.d.ts +4 -0
  200. package/lib/typescript/src/engine/layout.d.ts.map +1 -0
  201. package/lib/typescript/src/engine/layoutMove.d.ts +46 -0
  202. package/lib/typescript/src/engine/layoutMove.d.ts.map +1 -0
  203. package/lib/typescript/src/engine/layoutState.d.ts +22 -0
  204. package/lib/typescript/src/engine/layoutState.d.ts.map +1 -0
  205. package/lib/typescript/src/engine/list.d.ts +68 -0
  206. package/lib/typescript/src/engine/list.d.ts.map +1 -0
  207. package/lib/typescript/src/engine/listIndex.d.ts +32 -0
  208. package/lib/typescript/src/engine/listIndex.d.ts.map +1 -0
  209. package/lib/typescript/src/engine/move.d.ts +10 -0
  210. package/lib/typescript/src/engine/move.d.ts.map +1 -0
  211. package/lib/typescript/src/engine/movementPolicy.d.ts +34 -0
  212. package/lib/typescript/src/engine/movementPolicy.d.ts.map +1 -0
  213. package/lib/typescript/src/engine/orderedTarget.d.ts +32 -0
  214. package/lib/typescript/src/engine/orderedTarget.d.ts.map +1 -0
  215. package/lib/typescript/src/engine/pack.d.ts +3 -0
  216. package/lib/typescript/src/engine/pack.d.ts.map +1 -0
  217. package/lib/typescript/src/engine/rectangles.d.ts +9 -0
  218. package/lib/typescript/src/engine/rectangles.d.ts.map +1 -0
  219. package/lib/typescript/src/engine/sameLayout.d.ts +4 -0
  220. package/lib/typescript/src/engine/sameLayout.d.ts.map +1 -0
  221. package/lib/typescript/src/engine/search.d.ts +28 -0
  222. package/lib/typescript/src/engine/search.d.ts.map +1 -0
  223. package/lib/typescript/src/engine/spatial.d.ts +16 -0
  224. package/lib/typescript/src/engine/spatial.d.ts.map +1 -0
  225. package/lib/typescript/src/engine/spatialAppRotation.d.ts +4 -0
  226. package/lib/typescript/src/engine/spatialAppRotation.d.ts.map +1 -0
  227. package/lib/typescript/src/engine/spatialExchange.d.ts +5 -0
  228. package/lib/typescript/src/engine/spatialExchange.d.ts.map +1 -0
  229. package/lib/typescript/src/engine/spatialInsertion.d.ts +5 -0
  230. package/lib/typescript/src/engine/spatialInsertion.d.ts.map +1 -0
  231. package/lib/typescript/src/engine/spatialPolicy.d.ts +9 -0
  232. package/lib/typescript/src/engine/spatialPolicy.d.ts.map +1 -0
  233. package/lib/typescript/src/engine/spatialRotation.d.ts +8 -0
  234. package/lib/typescript/src/engine/spatialRotation.d.ts.map +1 -0
  235. package/lib/typescript/src/engine/validation.d.ts +9 -0
  236. package/lib/typescript/src/engine/validation.d.ts.map +1 -0
  237. package/lib/typescript/src/gesture/DndGestureGroup.d.ts +33 -0
  238. package/lib/typescript/src/gesture/DndGestureGroup.d.ts.map +1 -0
  239. package/lib/typescript/src/gesture/DndGestureHost.d.ts +12 -0
  240. package/lib/typescript/src/gesture/DndGestureHost.d.ts.map +1 -0
  241. package/lib/typescript/src/gesture/gestureConfig.d.ts +15 -0
  242. package/lib/typescript/src/gesture/gestureConfig.d.ts.map +1 -0
  243. package/lib/typescript/src/gesture/gestureGrouping.d.ts +66 -0
  244. package/lib/typescript/src/gesture/gestureGrouping.d.ts.map +1 -0
  245. package/lib/typescript/src/gesture/gestureHost.d.ts +23 -0
  246. package/lib/typescript/src/gesture/gestureHost.d.ts.map +1 -0
  247. package/lib/typescript/src/index.d.ts +38 -0
  248. package/lib/typescript/src/index.d.ts.map +1 -0
  249. package/lib/typescript/src/pointer/dndTarget.d.ts +14 -0
  250. package/lib/typescript/src/pointer/dndTarget.d.ts.map +1 -0
  251. package/lib/typescript/src/pointer/geometry.d.ts +28 -0
  252. package/lib/typescript/src/pointer/geometry.d.ts.map +1 -0
  253. package/lib/typescript/src/pointer/layoutTarget.d.ts +43 -0
  254. package/lib/typescript/src/pointer/layoutTarget.d.ts.map +1 -0
  255. package/lib/typescript/src/pointer/listCellMotion.d.ts +43 -0
  256. package/lib/typescript/src/pointer/listCellMotion.d.ts.map +1 -0
  257. package/lib/typescript/src/pointer/listTarget.d.ts +7 -0
  258. package/lib/typescript/src/pointer/listTarget.d.ts.map +1 -0
  259. package/lib/typescript/src/pointer/motion.d.ts +20 -0
  260. package/lib/typescript/src/pointer/motion.d.ts.map +1 -0
  261. package/lib/typescript/src/runtime/dndPresentation.d.ts +37 -0
  262. package/lib/typescript/src/runtime/dndPresentation.d.ts.map +1 -0
  263. package/lib/typescript/src/runtime/dndRenderStore.d.ts +46 -0
  264. package/lib/typescript/src/runtime/dndRenderStore.d.ts.map +1 -0
  265. package/lib/typescript/src/runtime/dndRuntime.d.ts +138 -0
  266. package/lib/typescript/src/runtime/dndRuntime.d.ts.map +1 -0
  267. package/lib/typescript/src/runtime/dndSettlement.d.ts +18 -0
  268. package/lib/typescript/src/runtime/dndSettlement.d.ts.map +1 -0
  269. package/lib/typescript/src/runtime/gridRuntime.d.ts +54 -0
  270. package/lib/typescript/src/runtime/gridRuntime.d.ts.map +1 -0
  271. package/lib/typescript/src/types.d.ts +180 -0
  272. package/lib/typescript/src/types.d.ts.map +1 -0
  273. package/package.json +136 -0
  274. package/src/adapters/coordinates.ts +181 -0
  275. package/src/adapters/scroll.ts +147 -0
  276. package/src/adapters/virtualizedList.ts +112 -0
  277. package/src/components/DndProvider.tsx +1836 -0
  278. package/src/components/DragHandle.tsx +89 -0
  279. package/src/components/GridController.tsx +213 -0
  280. package/src/components/GridDragHandle.tsx +11 -0
  281. package/src/components/GridZoneView.tsx +57 -0
  282. package/src/components/SortableGrid.tsx +449 -0
  283. package/src/components/SortableList.tsx +1028 -0
  284. package/src/components/dndTypes.ts +102 -0
  285. package/src/components/gridTypes.ts +90 -0
  286. package/src/components/handleViewProps.ts +35 -0
  287. package/src/contracts.ts +149 -0
  288. package/src/controller/approval.ts +179 -0
  289. package/src/controller/coordinatorBase.ts +118 -0
  290. package/src/controller/dndSession.ts +1058 -0
  291. package/src/controller/dndState.ts +198 -0
  292. package/src/controller/gridAdapter.ts +268 -0
  293. package/src/controller/gridState.ts +187 -0
  294. package/src/controller/locations.ts +67 -0
  295. package/src/controller/previewPath.ts +90 -0
  296. package/src/controller/sessionCore.ts +390 -0
  297. package/src/controller/useDndState.ts +26 -0
  298. package/src/controller/useGridState.ts +22 -0
  299. package/src/controller/useStoreState.ts +27 -0
  300. package/src/defaults.ts +4 -0
  301. package/src/diagnostics.ts +23 -0
  302. package/src/engine/gridPlacements.ts +85 -0
  303. package/src/engine/index.ts +99 -0
  304. package/src/engine/layout.ts +29 -0
  305. package/src/engine/layoutMove.ts +401 -0
  306. package/src/engine/layoutState.ts +490 -0
  307. package/src/engine/list.ts +307 -0
  308. package/src/engine/listIndex.ts +174 -0
  309. package/src/engine/move.ts +274 -0
  310. package/src/engine/movementPolicy.ts +151 -0
  311. package/src/engine/orderedTarget.ts +131 -0
  312. package/src/engine/pack.ts +24 -0
  313. package/src/engine/rectangles.ts +18 -0
  314. package/src/engine/sameLayout.ts +50 -0
  315. package/src/engine/search.ts +174 -0
  316. package/src/engine/spatial.ts +36 -0
  317. package/src/engine/spatialAppRotation.ts +53 -0
  318. package/src/engine/spatialExchange.ts +212 -0
  319. package/src/engine/spatialInsertion.ts +157 -0
  320. package/src/engine/spatialPolicy.ts +48 -0
  321. package/src/engine/spatialRotation.ts +56 -0
  322. package/src/engine/validation.ts +358 -0
  323. package/src/gesture/DndGestureGroup.tsx +357 -0
  324. package/src/gesture/DndGestureHost.tsx +50 -0
  325. package/src/gesture/gestureConfig.ts +123 -0
  326. package/src/gesture/gestureGrouping.ts +210 -0
  327. package/src/gesture/gestureHost.tsx +163 -0
  328. package/src/index.ts +162 -0
  329. package/src/pointer/dndTarget.ts +213 -0
  330. package/src/pointer/geometry.ts +584 -0
  331. package/src/pointer/layoutTarget.ts +515 -0
  332. package/src/pointer/listCellMotion.ts +174 -0
  333. package/src/pointer/listTarget.ts +56 -0
  334. package/src/pointer/motion.ts +66 -0
  335. package/src/runtime/dndPresentation.ts +113 -0
  336. package/src/runtime/dndRenderStore.ts +246 -0
  337. package/src/runtime/dndRuntime.ts +311 -0
  338. package/src/runtime/dndSettlement.ts +117 -0
  339. package/src/runtime/gridRuntime.ts +73 -0
  340. package/src/types.ts +189 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createContext","memo","useCallback","useContext","useEffect","useLayoutEffect","useMemo","useRef","useState","createElement","_createElement","StyleSheet","View","Animated","makeMutable","useAnimatedRef","useAnimatedScrollHandler","useAnimatedStyle","useDerivedValue","useSharedValue","scheduleOnRN","scheduleOnUI","validateAutoScrollOptions","resolveListVirtualization","computeListLayout","ListSizeCache","DndItemContext","useDndRuntime","useDndZoneSnapshot","useDndItemSnapshot","createZonePresentation","useListCellMotion","jsx","_jsx","ListMeasurementContext","ListCellContent","item","index","zoneId","committedRevision","start","size","orientation","crossSize","fixed","measurementIdentity","slotStart","expectedStart","renderItem","hiddenItemId","animation","presentation","isDragging","measurement","Error","revision","onSize","ref","mounted","current","itemId","id","runtime","publicSlot","itemContext","publicIndex","content","vertical","revisionSource","animatedStart","targetSize","initial","presentationSnapshot","snapshot","value","animated","opacity","get","height","width","transform","translateX","translateY","measured","measurementRequest","previous","request","identity","pending","measure","_x","_y","children","collapsable","style","styles","cell","undefined","top","negate","left","onLayout","event","nativeEvent","layout","ListCell","applyExpectedStarts","updates","update","shared","set","VirtualListCellContent","publishExpectedStart","slotSize","cellProps","horizontalSlot","published","VirtualListCell","VirtualListContext","VirtualItemBridge","state","entry","entriesById","data","activeItemId","renderVirtualItem","FLAT_LIST_RENDERER_OPTIONS","strictMode","EMPTY_ENTRIES","EMPTY_IDS","itemKey","retainsCommittedSlots","inputs","valid","entries","find","candidate","viewportLength","gap","windowSize","SortableList","estimatedItemSize","itemSize","paddingStart","paddingEnd","autoScroll","scrollEnabled","showsScrollIndicator","onScrollOffsetChange","virtualization","viewProps","registerZone","unregisterZone","reportIssues","windowing","virtualized","options","retainInputs","retainSlots","viewportSize","setViewportSize","measurementVersion","setMeasurementVersion","zone","displayZone","display","kind","items","displayRevision","cache","measurements","version","committedVersion","frame","active","measurementContext","scheduleMeasurementRender","requestAnimationFrame","cancelAnimationFrame","renderedMeasurementVersion","scrollRef","offset","motion","expectedStarts","Map","queued","flushExpectedStarts","Array","from","clear","delete","globalThis","queueMicrotask","prepareLayout","candidateRevision","itemIds","nextEntries","map","old","sameRect","rect","x","y","same","source","retained","prepareDisplay","base","validScroll","code","message","issues","contentSize","totalSize","enabled","dataIdentity","args","Math","abs","cellMeasurements","scrollHandler","onScroll","nextOffset","contentOffset","handleLayout","visibleEntries","visibleIds","entryCount","length","getItemLayout","_itemIds","visible","virtualRenderState","contentContainerStyle","paddingTop","paddingBottom","paddingLeft","paddingRight","FlatList","key","keyExtractor","horizontal","scrollEventThrottle","removeClippedSubviews","showsVerticalScrollIndicator","showsHorizontalScrollIndicator","contentInsetAdjustmentBehavior","renderIds","Set","ScrollView","create","position","flexDirection"],"sourceRoot":"../../../src","sources":["components/SortableList.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=dndTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["components/dndTypes.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=gridTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["components/gridTypes.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ /** Accessibility and test attributes forwarded to a handle's native view. */
4
+
5
+ const HANDLE_VIEW_PROP_KEYS = ['accessible', 'accessibilityLabel', 'accessibilityHint', 'accessibilityRole', 'accessibilityState', 'accessibilityActions', 'onAccessibilityAction', 'importantForAccessibility', 'testID'];
6
+
7
+ /** Copies only the defined view attributes so handle-specific props never reach the native view. */
8
+ export function pickHandleViewProps(props) {
9
+ const forwarded = {};
10
+ for (const key of HANDLE_VIEW_PROP_KEYS) if (props[key] !== undefined) forwarded[key] = props[key];
11
+ return forwarded;
12
+ }
13
+ //# sourceMappingURL=handleViewProps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["HANDLE_VIEW_PROP_KEYS","pickHandleViewProps","props","forwarded","key","undefined"],"sourceRoot":"../../../src","sources":["components/handleViewProps.ts"],"mappings":";;AAEA;;AAcA,MAAMA,qBAAqB,GAAG,CAC5B,YAAY,EACZ,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EACvB,2BAA2B,EAC3B,QAAQ,CAC+C;;AAEzD;AACA,OAAO,SAASC,mBAAmBA,CAACC,KAAsB,EAAmB;EAC3E,MAAMC,SAAkC,GAAG,CAAC,CAAC;EAC7C,KAAK,MAAMC,GAAG,IAAIJ,qBAAqB,EACrC,IAAIE,KAAK,CAACE,GAAG,CAAC,KAAKC,SAAS,EAAEF,SAAS,CAACC,GAAG,CAAC,GAAGF,KAAK,CAACE,GAAG,CAAC;EAC3D,OAAOD,SAAS;AAClB","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=contracts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["contracts.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+
3
+ import { isRecord } from "../engine/validation.js";
4
+
5
+ /**
6
+ * Shared revisioned approval for both value shapes (`GridValue` and
7
+ * `LayoutState`). The adapter supplies the shape-specific checks; the order of
8
+ * checks, the stale rules and the response protocol are the same for both.
9
+ */
10
+
11
+ /** Legacy grid values may carry a response without a base revision. */
12
+
13
+ /** A response only changes the exact revision on which the complete proposal was based. */
14
+ export function respondToProposal(adapter, current, proposal, accepted, checkCurrent) {
15
+ const invalid = message => ({
16
+ status: 'invalid',
17
+ value: current,
18
+ issues: [adapter.issue(message)]
19
+ });
20
+ if (checkCurrent) {
21
+ const issues = adapter.validateCurrent(current);
22
+ if (issues) return {
23
+ status: 'invalid',
24
+ value: current,
25
+ issues
26
+ };
27
+ }
28
+ if (!isRecord(proposal) || typeof proposal.sessionId !== 'string' || typeof proposal.itemId !== 'string' || !Number.isSafeInteger(proposal.baseRevision) || proposal.baseRevision < 0 || typeof accepted !== 'boolean') return invalid('A proposal requires a session ID, item ID, base revision and boolean response.');
29
+ if (proposal.baseRevision !== current.revision || current.proposalResponse?.sessionId === proposal.sessionId && current.proposalResponse.baseRevision === proposal.baseRevision) return {
30
+ status: 'stale',
31
+ value: current
32
+ };
33
+ if (!adapter.isLocation(proposal.from) || !adapter.isLocation(proposal.to) || !adapter.sameLocation(proposal.from, adapter.location(current, proposal.itemId)) || !adapter.hasDestinationZone(current, proposal.to)) return invalid('Proposal locations must identify the current item and an existing destination zone.');
34
+ const response = {
35
+ sessionId: proposal.sessionId,
36
+ baseRevision: proposal.baseRevision,
37
+ accepted
38
+ };
39
+ if (!accepted) return {
40
+ status: 'rejected',
41
+ value: {
42
+ ...current,
43
+ proposalResponse: response
44
+ }
45
+ };
46
+ const issues = adapter.validateCandidate(proposal.value);
47
+ if (issues) return {
48
+ status: 'invalid',
49
+ value: current,
50
+ issues
51
+ };
52
+ if (!Number.isSafeInteger(proposal.value.revision) || proposal.value.revision !== current.revision + 1) return invalid('An accepted proposal must advance its base revision by one.');
53
+ if (!adapter.zonesPreserved(current, proposal.value)) return invalid(adapter.messages.zones);
54
+ if (!adapter.itemsPreserved(current, proposal.value)) return invalid(adapter.messages.items);
55
+ if (!adapter.sameLocation(proposal.to, adapter.location(proposal.value, proposal.itemId))) return invalid(adapter.messages.destination);
56
+ return {
57
+ status: 'accepted',
58
+ value: adapter.accept(current, proposal.value, response)
59
+ };
60
+ }
61
+ /**
62
+ * Listeners, closed-session memory and publication shared by the grid and
63
+ * layout stores. Rejections leave the revision unchanged; every closed session
64
+ * is remembered until the next revision so a delayed response cannot reopen an
65
+ * earlier rejection.
66
+ */
67
+ export function createApprovalStore(initial, respond) {
68
+ let value = initial;
69
+ const listeners = new Set();
70
+ const closedSessions = new Set();
71
+ const publish = next => {
72
+ if (next === value) return;
73
+ if (next.revision !== value.revision) closedSessions.clear();
74
+ value = next;
75
+ for (const listener of listeners) listener();
76
+ };
77
+ return {
78
+ getSnapshot: () => value,
79
+ subscribe: listener => {
80
+ listeners.add(listener);
81
+ return () => {
82
+ listeners.delete(listener);
83
+ };
84
+ },
85
+ respond: (proposal, accepted) => {
86
+ if (isRecord(proposal) && proposal.baseRevision === value.revision && closedSessions.has(proposal.sessionId)) return {
87
+ status: 'stale',
88
+ value
89
+ };
90
+ const result = respond(value, proposal, accepted);
91
+ if (result.status === 'rejected') closedSessions.add(proposal.sessionId);
92
+ publish(result.value);
93
+ return result;
94
+ },
95
+ publish
96
+ };
97
+ }
98
+ //# sourceMappingURL=approval.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["isRecord","respondToProposal","adapter","current","proposal","accepted","checkCurrent","invalid","message","status","value","issues","issue","validateCurrent","sessionId","itemId","Number","isSafeInteger","baseRevision","revision","proposalResponse","isLocation","from","to","sameLocation","location","hasDestinationZone","response","validateCandidate","zonesPreserved","messages","zones","itemsPreserved","items","destination","accept","createApprovalStore","initial","respond","listeners","Set","closedSessions","publish","next","clear","listener","getSnapshot","subscribe","add","delete","has","result"],"sourceRoot":"../../../src","sources":["controller/approval.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Snapshot ownership shared by both session coordinators: subscribers,
5
+ * batched notification, shallow patching with `Object.is` change detection
6
+ * and the response deadline timer. The subclasses own their snapshot shapes,
7
+ * candidate calculation and lifecycle events.
8
+ */
9
+ export class CoordinatorBase {
10
+ changed = false;
11
+ listeners = new Set();
12
+ depth = 0;
13
+ constructor(initial) {
14
+ this.snapshot = initial;
15
+ }
16
+ getSnapshot = () => this.snapshot;
17
+ subscribe = listener => {
18
+ this.listeners.add(listener);
19
+ return () => {
20
+ this.listeners.delete(listener);
21
+ };
22
+ };
23
+
24
+ /** Nested batches notify subscribers once, after the outermost one ends. */
25
+ batch(work) {
26
+ this.batchStarted();
27
+ this.depth++;
28
+ try {
29
+ return work();
30
+ } finally {
31
+ this.depth--;
32
+ if (this.depth === 0) {
33
+ try {
34
+ if (this.changed) {
35
+ this.changed = false;
36
+ for (const listener of this.listeners) listener();
37
+ }
38
+ } finally {
39
+ this.batchFinished();
40
+ }
41
+ }
42
+ }
43
+ }
44
+ batchStarted() {}
45
+
46
+ /** Runs after subscribers were notified, even when one of them threw. */
47
+ batchFinished() {}
48
+ get batchDepth() {
49
+ return this.depth;
50
+ }
51
+ update(patch) {
52
+ if (!Object.keys(patch).some(key => !Object.is(this.snapshot[key], patch[key]))) return;
53
+ this.snapshot = {
54
+ ...this.snapshot,
55
+ ...patch
56
+ };
57
+ this.changed = true;
58
+ }
59
+
60
+ /** Put back an earlier snapshot and its pending-notification flag. */
61
+ restore(snapshot, changed) {
62
+ this.snapshot = snapshot;
63
+ this.changed = changed;
64
+ }
65
+
66
+ /**
67
+ * Wait for a proposal response until `deadline`. The timer re-arms while the
68
+ * clock has not reached the deadline (fake timers, long sleeps) and calls
69
+ * `onExpire` inside a batch once it has, unless `isPending` says the
70
+ * proposal was already settled.
71
+ */
72
+ armDeadline(deadline, isPending, onExpire) {
73
+ const remaining = Math.max(0, (deadline ?? now()) - now());
74
+ this.responseTimer = setTimeout(() => this.batch(() => {
75
+ this.responseTimer = undefined;
76
+ if (!isPending()) return;
77
+ if (deadline !== undefined && now() < deadline) this.armDeadline(deadline, isPending, onExpire);else onExpire();
78
+ }), Math.min(remaining, 2147483647));
79
+ }
80
+ clearDeadline() {
81
+ clearTimeout(this.responseTimer);
82
+ this.responseTimer = undefined;
83
+ }
84
+ }
85
+
86
+ /** RN provides this monotonic clock; its generated ambient declarations omit it. */
87
+ export function now() {
88
+ return globalThis.performance.now();
89
+ }
90
+ export function reportCallbackError(scope, error) {
91
+ console.error(`[${scope}] Callback failed`, error);
92
+ }
93
+ //# sourceMappingURL=coordinatorBase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CoordinatorBase","changed","listeners","Set","depth","constructor","initial","snapshot","getSnapshot","subscribe","listener","add","delete","batch","work","batchStarted","batchFinished","batchDepth","update","patch","Object","keys","some","key","is","restore","armDeadline","deadline","isPending","onExpire","remaining","Math","max","now","responseTimer","setTimeout","undefined","min","clearDeadline","clearTimeout","globalThis","performance","reportCallbackError","scope","error","console"],"sourceRoot":"../../../src","sources":["controller/coordinatorBase.ts"],"mappings":"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","ignoreList":[]}