@kaspernj/api-maker 1.0.2159 → 1.0.2161

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 (529) hide show
  1. package/build/api.d.ts +46 -34
  2. package/build/api.d.ts.map +1 -1
  3. package/build/api.js +32 -25
  4. package/build/attribute-not-loaded-error.d.ts.map +1 -1
  5. package/build/attribute-not-loaded-error.js +2 -1
  6. package/build/base-error.d.ts +49 -60
  7. package/build/base-error.d.ts.map +1 -1
  8. package/build/base-error.js +3 -2
  9. package/build/base-model/column.d.ts +2 -2
  10. package/build/base-model/column.d.ts.map +1 -1
  11. package/build/base-model/column.js +3 -2
  12. package/build/base-model/reflection.d.ts +8 -3
  13. package/build/base-model/reflection.d.ts.map +1 -1
  14. package/build/base-model/reflection.js +8 -3
  15. package/build/base-model/scope.d.ts +1 -1
  16. package/build/base-model/scope.d.ts.map +1 -1
  17. package/build/base-model/scope.js +3 -2
  18. package/build/base-model.d.ts +3801 -117
  19. package/build/base-model.d.ts.map +1 -1
  20. package/build/base-model.js +271 -143
  21. package/build/bootstrap/attribute-row.d.ts +14 -1
  22. package/build/bootstrap/attribute-row.d.ts.map +1 -1
  23. package/build/bootstrap/attribute-row.js +23 -5
  24. package/build/bootstrap/attribute-rows.d.ts +10 -1
  25. package/build/bootstrap/attribute-rows.d.ts.map +1 -1
  26. package/build/bootstrap/attribute-rows.js +14 -5
  27. package/build/bootstrap/card.d.ts +19 -1
  28. package/build/bootstrap/card.d.ts.map +1 -1
  29. package/build/bootstrap/card.js +33 -13
  30. package/build/bootstrap/checkbox.d.ts +18 -1
  31. package/build/bootstrap/checkbox.d.ts.map +1 -1
  32. package/build/bootstrap/checkbox.js +23 -3
  33. package/build/bootstrap/checkboxes.d.ts +33 -1
  34. package/build/bootstrap/checkboxes.d.ts.map +1 -1
  35. package/build/bootstrap/checkboxes.js +50 -17
  36. package/build/bootstrap/index.js +2 -1
  37. package/build/bootstrap/input.d.ts +24 -0
  38. package/build/bootstrap/input.d.ts.map +1 -1
  39. package/build/bootstrap/input.js +27 -2
  40. package/build/bootstrap/invalid-feedback.d.ts.map +1 -1
  41. package/build/bootstrap/invalid-feedback.js +2 -1
  42. package/build/bootstrap/paginate.d.ts +7 -1
  43. package/build/bootstrap/paginate.d.ts.map +1 -1
  44. package/build/bootstrap/paginate.js +9 -4
  45. package/build/bootstrap/radio-buttons.js +2 -1
  46. package/build/bootstrap/select.js +2 -1
  47. package/build/bootstrap/sort-link.d.ts +12 -1
  48. package/build/bootstrap/sort-link.d.ts.map +1 -1
  49. package/build/bootstrap/sort-link.js +19 -10
  50. package/build/cable-connection-pool.d.ts +201 -24
  51. package/build/cable-connection-pool.d.ts.map +1 -1
  52. package/build/cable-connection-pool.js +76 -16
  53. package/build/cable-subscription-pool.d.ts +186 -20
  54. package/build/cable-subscription-pool.d.ts.map +1 -1
  55. package/build/cable-subscription-pool.js +61 -22
  56. package/build/cable-subscription.d.ts.map +1 -1
  57. package/build/cable-subscription.js +3 -2
  58. package/build/cache-key-generator.d.ts +194 -20
  59. package/build/cache-key-generator.d.ts.map +1 -1
  60. package/build/cache-key-generator.js +63 -12
  61. package/build/can-can.d.ts +146 -29
  62. package/build/can-can.d.ts.map +1 -1
  63. package/build/can-can.js +105 -19
  64. package/build/channels-consumer.d.ts +23 -1
  65. package/build/channels-consumer.d.ts.map +1 -1
  66. package/build/channels-consumer.js +26 -8
  67. package/build/collection-loader.d.ts +4 -1
  68. package/build/collection-loader.js +2 -1
  69. package/build/collection.d.ts +361 -370
  70. package/build/collection.d.ts.map +1 -1
  71. package/build/collection.js +59 -19
  72. package/build/command-execution.d.ts +50 -26
  73. package/build/command-execution.d.ts.map +1 -1
  74. package/build/command-execution.js +31 -13
  75. package/build/command-submit-data.d.ts +50 -37
  76. package/build/command-submit-data.d.ts.map +1 -1
  77. package/build/command-submit-data.js +35 -22
  78. package/build/commands-pool.d.ts +65 -27
  79. package/build/commands-pool.d.ts.map +1 -1
  80. package/build/commands-pool.js +67 -20
  81. package/build/compose.d.ts +8 -2
  82. package/build/compose.d.ts.map +1 -1
  83. package/build/compose.js +9 -2
  84. package/build/config.d.ts +31 -15
  85. package/build/config.d.ts.map +1 -1
  86. package/build/config.js +60 -23
  87. package/build/custom-error.d.ts.map +1 -1
  88. package/build/custom-error.js +2 -1
  89. package/build/data-set-to-attributes.d.ts +14 -2
  90. package/build/data-set-to-attributes.d.ts.map +1 -1
  91. package/build/data-set-to-attributes.js +12 -3
  92. package/build/deserializer.d.ts +116 -2
  93. package/build/deserializer.d.ts.map +1 -1
  94. package/build/deserializer.js +13 -2
  95. package/build/destroy-error.d.ts.map +1 -1
  96. package/build/destroy-error.js +2 -1
  97. package/build/devise.d.ts +638 -39
  98. package/build/devise.d.ts.map +1 -1
  99. package/build/devise.js +97 -28
  100. package/build/draggable-sort/controller.d.ts +126 -35
  101. package/build/draggable-sort/controller.d.ts.map +1 -1
  102. package/build/draggable-sort/controller.js +100 -28
  103. package/build/draggable-sort/index.d.ts +57 -1
  104. package/build/draggable-sort/index.d.ts.map +1 -1
  105. package/build/draggable-sort/index.js +71 -3
  106. package/build/draggable-sort/item.d.ts +56 -1
  107. package/build/draggable-sort/item.d.ts.map +1 -1
  108. package/build/draggable-sort/item.js +98 -10
  109. package/build/error-logger.d.ts +30 -14
  110. package/build/error-logger.d.ts.map +1 -1
  111. package/build/error-logger.js +22 -11
  112. package/build/event-connection.d.ts.map +1 -1
  113. package/build/event-connection.js +3 -2
  114. package/build/event-emitter-listener.d.ts.map +1 -1
  115. package/build/event-emitter-listener.js +2 -1
  116. package/build/event-model-class.d.ts.map +1 -1
  117. package/build/event-model-class.js +2 -1
  118. package/build/events.d.ts.map +1 -1
  119. package/build/events.js +2 -1
  120. package/build/form.d.ts +24 -1
  121. package/build/form.d.ts.map +1 -1
  122. package/build/form.js +16 -4
  123. package/build/history-expo.d.ts +6 -2
  124. package/build/history-expo.d.ts.map +1 -1
  125. package/build/history-expo.js +5 -2
  126. package/build/history-react-native.d.ts +6 -2
  127. package/build/history-react-native.d.ts.map +1 -1
  128. package/build/history-react-native.js +5 -2
  129. package/build/history.js +2 -1
  130. package/build/index.d.ts.map +1 -1
  131. package/build/index.js +2 -1
  132. package/build/inputs/attachment.d.ts +13 -1
  133. package/build/inputs/attachment.d.ts.map +1 -1
  134. package/build/inputs/attachment.js +22 -8
  135. package/build/inputs/auto-submit.d.ts +41 -13
  136. package/build/inputs/auto-submit.d.ts.map +1 -1
  137. package/build/inputs/auto-submit.js +16 -4
  138. package/build/inputs/checkbox.d.ts +17 -1
  139. package/build/inputs/checkbox.d.ts.map +1 -1
  140. package/build/inputs/checkbox.js +25 -11
  141. package/build/inputs/checkboxes.d.ts +16 -0
  142. package/build/inputs/checkboxes.d.ts.map +1 -1
  143. package/build/inputs/checkboxes.js +20 -4
  144. package/build/inputs/id-for-component.d.ts +21 -2
  145. package/build/inputs/id-for-component.d.ts.map +1 -1
  146. package/build/inputs/id-for-component.js +9 -2
  147. package/build/inputs/input-wrapper.d.ts.map +1 -1
  148. package/build/inputs/input-wrapper.js +2 -1
  149. package/build/inputs/input.d.ts +38 -1
  150. package/build/inputs/input.d.ts.map +1 -1
  151. package/build/inputs/input.js +29 -10
  152. package/build/inputs/money.d.ts +4 -1
  153. package/build/inputs/money.d.ts.map +1 -1
  154. package/build/inputs/money.js +6 -3
  155. package/build/inputs/name-for-component.d.ts +21 -2
  156. package/build/inputs/name-for-component.d.ts.map +1 -1
  157. package/build/inputs/name-for-component.js +9 -2
  158. package/build/inputs/select.d.ts +35 -1
  159. package/build/inputs/select.d.ts.map +1 -1
  160. package/build/inputs/select.js +21 -4
  161. package/build/instance-of-class-name.d.ts +7 -2
  162. package/build/instance-of-class-name.d.ts.map +1 -1
  163. package/build/instance-of-class-name.js +8 -4
  164. package/build/is-expo.d.ts.map +1 -1
  165. package/build/is-expo.js +2 -1
  166. package/build/key-value-store.d.ts +24 -14
  167. package/build/key-value-store.d.ts.map +1 -1
  168. package/build/key-value-store.js +22 -12
  169. package/build/link.d.ts +32 -1
  170. package/build/link.d.ts.map +1 -1
  171. package/build/link.js +76 -30
  172. package/build/logger.d.ts +10 -6
  173. package/build/logger.d.ts.map +1 -1
  174. package/build/logger.js +7 -4
  175. package/build/merge-styles.d.ts +10 -2
  176. package/build/merge-styles.d.ts.map +1 -1
  177. package/build/merge-styles.js +10 -3
  178. package/build/modal.d.ts +4 -1
  179. package/build/modal.d.ts.map +1 -1
  180. package/build/modal.js +6 -4
  181. package/build/model-class-require.d.ts +4 -2
  182. package/build/model-class-require.d.ts.map +1 -1
  183. package/build/model-class-require.js +4 -2
  184. package/build/model-events.d.ts +139 -346
  185. package/build/model-events.d.ts.map +1 -1
  186. package/build/model-events.js +21 -9
  187. package/build/model-name.d.ts +21 -7
  188. package/build/model-name.d.ts.map +1 -1
  189. package/build/model-name.js +12 -2
  190. package/build/model-prop-type.d.ts +533 -26
  191. package/build/model-prop-type.d.ts.map +1 -1
  192. package/build/model-prop-type.js +69 -11
  193. package/build/model-recipes-loader.d.ts +7 -3
  194. package/build/model-recipes-loader.d.ts.map +1 -1
  195. package/build/model-recipes-loader.js +4 -2
  196. package/build/model-recipes-model-loader.d.ts +189 -1493
  197. package/build/model-recipes-model-loader.d.ts.map +1 -1
  198. package/build/model-recipes-model-loader.js +119 -17
  199. package/build/models-response-reader.d.ts +600 -195
  200. package/build/models-response-reader.d.ts.map +1 -1
  201. package/build/models-response-reader.js +12 -4
  202. package/build/models.d.ts +438 -1
  203. package/build/models.d.ts.map +1 -1
  204. package/build/models.js +2 -1
  205. package/build/money-formatter.d.ts +25 -31
  206. package/build/money-formatter.d.ts.map +1 -1
  207. package/build/money-formatter.js +11 -8
  208. package/build/not-loaded-error.d.ts.map +1 -1
  209. package/build/not-loaded-error.js +2 -1
  210. package/build/params.d.ts +25 -17
  211. package/build/params.d.ts.map +1 -1
  212. package/build/params.js +19 -15
  213. package/build/preloaded.d.ts +61 -64
  214. package/build/preloaded.d.ts.map +1 -1
  215. package/build/preloaded.js +10 -4
  216. package/build/reset-realtime-runtime-state.d.ts.map +1 -1
  217. package/build/reset-realtime-runtime-state.js +2 -1
  218. package/build/resize-observer.d.ts +1 -1
  219. package/build/resize-observer.d.ts.map +1 -1
  220. package/build/resize-observer.js +2 -1
  221. package/build/rest-props-validator.d.ts +2 -2
  222. package/build/rest-props-validator.d.ts.map +1 -1
  223. package/build/rest-props-validator.js +3 -2
  224. package/build/result.d.ts +142 -175
  225. package/build/result.d.ts.map +1 -1
  226. package/build/result.js +3 -2
  227. package/build/router/route.d.ts +51 -1
  228. package/build/router/route.d.ts.map +1 -1
  229. package/build/router/route.js +48 -12
  230. package/build/router/switch.d.ts +38 -2
  231. package/build/router/switch.d.ts.map +1 -1
  232. package/build/router/switch.js +34 -13
  233. package/build/router.d.ts +21 -1
  234. package/build/router.d.ts.map +1 -1
  235. package/build/router.js +15 -4
  236. package/build/routes-native.d.ts +13 -13
  237. package/build/routes-native.d.ts.map +1 -1
  238. package/build/routes-native.js +23 -11
  239. package/build/routes.d.ts +17 -9
  240. package/build/routes.d.ts.map +1 -1
  241. package/build/routes.js +7 -2
  242. package/build/run-last.d.ts.map +1 -1
  243. package/build/run-last.js +2 -1
  244. package/build/serializer.d.ts +44 -12
  245. package/build/serializer.d.ts.map +1 -1
  246. package/build/serializer.js +36 -7
  247. package/build/services.d.ts +29 -4
  248. package/build/services.d.ts.map +1 -1
  249. package/build/services.js +16 -4
  250. package/build/session-status-updater.d.ts +73 -25
  251. package/build/session-status-updater.d.ts.map +1 -1
  252. package/build/session-status-updater.js +52 -14
  253. package/build/source-maps-loader.d.ts +88 -33
  254. package/build/source-maps-loader.d.ts.map +1 -1
  255. package/build/source-maps-loader.js +74 -18
  256. package/build/super-admin/config-reader.d.ts.map +1 -1
  257. package/build/super-admin/config-reader.js +11 -16
  258. package/build/super-admin/edit-page/edit-attribute-checkbox.d.ts +12 -1
  259. package/build/super-admin/edit-page/edit-attribute-checkbox.d.ts.map +1 -1
  260. package/build/super-admin/edit-page/edit-attribute-checkbox.js +22 -8
  261. package/build/super-admin/edit-page/edit-attribute-content.d.ts +10 -1
  262. package/build/super-admin/edit-page/edit-attribute-content.d.ts.map +1 -1
  263. package/build/super-admin/edit-page/edit-attribute-content.js +20 -9
  264. package/build/super-admin/edit-page/edit-attribute-input.d.ts +10 -1
  265. package/build/super-admin/edit-page/edit-attribute-input.d.ts.map +1 -1
  266. package/build/super-admin/edit-page/edit-attribute-input.js +13 -4
  267. package/build/super-admin/edit-page/edit-attribute.d.ts +8 -1
  268. package/build/super-admin/edit-page/edit-attribute.d.ts.map +1 -1
  269. package/build/super-admin/edit-page/edit-attribute.js +11 -4
  270. package/build/super-admin/edit-page.d.ts +7 -1
  271. package/build/super-admin/edit-page.d.ts.map +1 -1
  272. package/build/super-admin/edit-page.js +11 -5
  273. package/build/super-admin/has-edit-config.d.ts.map +1 -1
  274. package/build/super-admin/has-edit-config.js +2 -1
  275. package/build/super-admin/index-page.d.ts +6 -1
  276. package/build/super-admin/index-page.d.ts.map +1 -1
  277. package/build/super-admin/index-page.js +9 -4
  278. package/build/super-admin/index.d.ts +6 -1
  279. package/build/super-admin/index.d.ts.map +1 -1
  280. package/build/super-admin/index.js +16 -10
  281. package/build/super-admin/layout/header/index.d.ts +6 -1
  282. package/build/super-admin/layout/header/index.d.ts.map +1 -1
  283. package/build/super-admin/layout/header/index.js +18 -12
  284. package/build/super-admin/layout/index.d.ts +26 -1
  285. package/build/super-admin/layout/index.d.ts.map +1 -1
  286. package/build/super-admin/layout/index.js +41 -7
  287. package/build/super-admin/layout/menu/index.d.ts +4 -1
  288. package/build/super-admin/layout/menu/index.d.ts.map +1 -1
  289. package/build/super-admin/layout/menu/index.js +13 -7
  290. package/build/super-admin/layout/menu/menu-content.d.ts +4 -1
  291. package/build/super-admin/layout/menu/menu-content.d.ts.map +1 -1
  292. package/build/super-admin/layout/menu/menu-content.js +6 -4
  293. package/build/super-admin/layout/menu/menu-item.d.ts +11 -1
  294. package/build/super-admin/layout/menu/menu-item.d.ts.map +1 -1
  295. package/build/super-admin/layout/menu/menu-item.js +19 -9
  296. package/build/super-admin/layout/no-access.d.ts +4 -1
  297. package/build/super-admin/layout/no-access.d.ts.map +1 -1
  298. package/build/super-admin/layout/no-access.js +7 -5
  299. package/build/super-admin/model-class-table.d.ts +6 -1
  300. package/build/super-admin/model-class-table.d.ts.map +1 -1
  301. package/build/super-admin/model-class-table.js +9 -4
  302. package/build/super-admin/models.d.ts.map +1 -1
  303. package/build/super-admin/models.js +2 -1
  304. package/build/super-admin/show-nav.d.ts +4 -1
  305. package/build/super-admin/show-nav.d.ts.map +1 -1
  306. package/build/super-admin/show-nav.js +6 -4
  307. package/build/super-admin/show-page/belongs-to-attribute-row.d.ts +18 -1
  308. package/build/super-admin/show-page/belongs-to-attribute-row.d.ts.map +1 -1
  309. package/build/super-admin/show-page/belongs-to-attribute-row.js +14 -5
  310. package/build/super-admin/show-page/index.d.ts +6 -1
  311. package/build/super-admin/show-page/index.d.ts.map +1 -1
  312. package/build/super-admin/show-page/index.js +11 -5
  313. package/build/super-admin/show-reflection-actions.d.ts +8 -1
  314. package/build/super-admin/show-reflection-actions.d.ts.map +1 -1
  315. package/build/super-admin/show-reflection-actions.js +11 -4
  316. package/build/super-admin/show-reflection-link.d.ts +6 -1
  317. package/build/super-admin/show-reflection-link.d.ts.map +1 -1
  318. package/build/super-admin/show-reflection-link.js +12 -5
  319. package/build/super-admin/show-reflection-page.d.ts +7 -1
  320. package/build/super-admin/show-reflection-page.d.ts.map +1 -1
  321. package/build/super-admin/show-reflection-page.js +10 -4
  322. package/build/table/column-content.d.ts +155 -19
  323. package/build/table/column-content.d.ts.map +1 -1
  324. package/build/table/column-content.js +55 -12
  325. package/build/table/column-identifier.d.ts +11 -2
  326. package/build/table/column-identifier.d.ts.map +1 -1
  327. package/build/table/column-identifier.js +7 -2
  328. package/build/table/column-visible.d.ts +11 -2
  329. package/build/table/column-visible.d.ts.map +1 -1
  330. package/build/table/column-visible.js +8 -2
  331. package/build/table/components/column.d.ts +4 -1
  332. package/build/table/components/column.d.ts.map +1 -1
  333. package/build/table/components/column.js +6 -4
  334. package/build/table/components/flat-list.d.ts +4 -1
  335. package/build/table/components/flat-list.d.ts.map +1 -1
  336. package/build/table/components/flat-list.js +6 -4
  337. package/build/table/components/header.d.ts +4 -1
  338. package/build/table/components/header.d.ts.map +1 -1
  339. package/build/table/components/header.js +6 -4
  340. package/build/table/components/row.d.ts +4 -1
  341. package/build/table/components/row.d.ts.map +1 -1
  342. package/build/table/components/row.js +6 -4
  343. package/build/table/filters/attribute-element.d.ts +4 -1
  344. package/build/table/filters/attribute-element.d.ts.map +1 -1
  345. package/build/table/filters/attribute-element.js +7 -7
  346. package/build/table/filters/filter-form.d.ts +60 -1
  347. package/build/table/filters/filter-form.d.ts.map +1 -1
  348. package/build/table/filters/filter-form.js +89 -28
  349. package/build/table/filters/filter.d.ts +4 -1
  350. package/build/table/filters/filter.d.ts.map +1 -1
  351. package/build/table/filters/filter.js +6 -4
  352. package/build/table/filters/index.d.ts +129 -1
  353. package/build/table/filters/index.d.ts.map +1 -1
  354. package/build/table/filters/index.js +26 -9
  355. package/build/table/filters/load-search-modal.d.ts +132 -1
  356. package/build/table/filters/load-search-modal.d.ts.map +1 -1
  357. package/build/table/filters/load-search-modal.js +32 -10
  358. package/build/table/filters/reflection-element.d.ts +4 -1
  359. package/build/table/filters/reflection-element.d.ts.map +1 -1
  360. package/build/table/filters/reflection-element.js +6 -4
  361. package/build/table/filters/save-search-modal.d.ts +136 -1
  362. package/build/table/filters/save-search-modal.d.ts.map +1 -1
  363. package/build/table/filters/save-search-modal.js +39 -6
  364. package/build/table/filters/scope-element.d.ts +8 -1
  365. package/build/table/filters/scope-element.d.ts.map +1 -1
  366. package/build/table/filters/scope-element.js +13 -8
  367. package/build/table/header-column-content.d.ts +9 -1
  368. package/build/table/header-column-content.d.ts.map +1 -1
  369. package/build/table/header-column-content.js +12 -4
  370. package/build/table/header-column.d.ts +52 -1
  371. package/build/table/header-column.d.ts.map +1 -1
  372. package/build/table/header-column.js +39 -10
  373. package/build/table/header-select.d.ts +20 -1
  374. package/build/table/header-select.d.ts.map +1 -1
  375. package/build/table/header-select.js +27 -8
  376. package/build/table/model-callback-args.d.ts +116 -3
  377. package/build/table/model-callback-args.d.ts.map +1 -1
  378. package/build/table/model-callback-args.js +10 -3
  379. package/build/table/model-column.d.ts +138 -1
  380. package/build/table/model-column.d.ts.map +1 -1
  381. package/build/table/model-column.js +27 -4
  382. package/build/table/model-row.d.ts +21 -1
  383. package/build/table/model-row.d.ts.map +1 -1
  384. package/build/table/model-row.js +24 -4
  385. package/build/table/select-calculator.d.ts +37 -2
  386. package/build/table/select-calculator.d.ts.map +1 -1
  387. package/build/table/select-calculator.js +29 -6
  388. package/build/table/settings/column-row.d.ts +8 -1
  389. package/build/table/settings/column-row.d.ts.map +1 -1
  390. package/build/table/settings/column-row.js +13 -12
  391. package/build/table/settings/download-action.d.ts +7 -1
  392. package/build/table/settings/download-action.d.ts.map +1 -1
  393. package/build/table/settings/download-action.js +10 -4
  394. package/build/table/settings/index.d.ts +7 -1
  395. package/build/table/settings/index.d.ts.map +1 -1
  396. package/build/table/settings/index.js +10 -4
  397. package/build/table/should-render-loading-content.d.ts +2 -2
  398. package/build/table/should-render-loading-content.d.ts.map +1 -1
  399. package/build/table/should-render-loading-content.js +3 -2
  400. package/build/table/table-settings.d.ts +236 -43
  401. package/build/table/table-settings.d.ts.map +1 -1
  402. package/build/table/table-settings.js +105 -21
  403. package/build/table/table.d.ts +273 -1
  404. package/build/table/table.d.ts.map +1 -1
  405. package/build/table/table.js +210 -53
  406. package/build/table/use-sorting.d.ts +10 -8
  407. package/build/table/use-sorting.d.ts.map +1 -1
  408. package/build/table/use-sorting.js +16 -8
  409. package/build/table/widths.d.ts +55 -8
  410. package/build/table/widths.d.ts.map +1 -1
  411. package/build/table/widths.js +25 -2
  412. package/build/table/worker-plugins-check-all-checkbox.d.ts +20 -1
  413. package/build/table/worker-plugins-check-all-checkbox.d.ts.map +1 -1
  414. package/build/table/worker-plugins-check-all-checkbox.js +29 -9
  415. package/build/table/worker-plugins-checkbox.d.ts +7 -1
  416. package/build/table/worker-plugins-checkbox.d.ts.map +1 -1
  417. package/build/table/worker-plugins-checkbox.js +14 -8
  418. package/build/translated-attributes.d.ts +7 -2
  419. package/build/translated-attributes.d.ts.map +1 -1
  420. package/build/translated-attributes.js +8 -2
  421. package/build/translated-collections.d.ts +11 -2
  422. package/build/translated-collections.d.ts.map +1 -1
  423. package/build/translated-collections.js +9 -3
  424. package/build/updated-attribute.d.ts.map +1 -1
  425. package/build/updated-attribute.js +2 -1
  426. package/build/url-encode.d.ts.map +1 -1
  427. package/build/url-encode.js +2 -1
  428. package/build/use-can-can.d.ts +8 -0
  429. package/build/use-can-can.d.ts.map +1 -1
  430. package/build/use-can-can.js +39 -13
  431. package/build/use-collection.d.ts +174 -117
  432. package/build/use-collection.d.ts.map +1 -1
  433. package/build/use-collection.js +133 -51
  434. package/build/use-created-event.d.ts +120 -11
  435. package/build/use-created-event.d.ts.map +1 -1
  436. package/build/use-created-event.js +10 -7
  437. package/build/use-current-user-context.d.ts +2 -2
  438. package/build/use-current-user-context.d.ts.map +1 -1
  439. package/build/use-current-user-context.js +3 -2
  440. package/build/use-current-user.d.ts +86 -70
  441. package/build/use-current-user.d.ts.map +1 -1
  442. package/build/use-current-user.js +36 -8
  443. package/build/use-destroyed-event.d.ts +117 -8
  444. package/build/use-destroyed-event.d.ts.map +1 -1
  445. package/build/use-destroyed-event.js +29 -22
  446. package/build/use-input.d.ts +74 -12
  447. package/build/use-input.d.ts.map +1 -1
  448. package/build/use-input.js +33 -5
  449. package/build/use-model-class-event.d.ts +124 -10
  450. package/build/use-model-class-event.d.ts.map +1 -1
  451. package/build/use-model-class-event.js +26 -16
  452. package/build/use-model-event.d.ts +121 -8
  453. package/build/use-model-event.d.ts.map +1 -1
  454. package/build/use-model-event.js +24 -19
  455. package/build/use-model.d.ts +165 -243
  456. package/build/use-model.d.ts.map +1 -1
  457. package/build/use-model.js +94 -35
  458. package/build/use-resize-observer.d.ts.map +1 -1
  459. package/build/use-resize-observer.js +2 -1
  460. package/build/use-router.d.ts.map +1 -1
  461. package/build/use-router.js +2 -1
  462. package/build/use-screen-layout.d.ts +7 -2
  463. package/build/use-screen-layout.d.ts.map +1 -1
  464. package/build/use-screen-layout.js +8 -5
  465. package/build/use-shape.js +2 -1
  466. package/build/use-styles.d.ts +11 -5
  467. package/build/use-styles.d.ts.map +1 -1
  468. package/build/use-styles.js +16 -9
  469. package/build/use-updated-event.d.ts +66 -182
  470. package/build/use-updated-event.d.ts.map +1 -1
  471. package/build/use-updated-event.js +22 -18
  472. package/build/use-validation-errors.d.ts.map +1 -1
  473. package/build/use-validation-errors.js +2 -1
  474. package/build/utils/button.d.ts +16 -1
  475. package/build/utils/button.d.ts.map +1 -1
  476. package/build/utils/button.js +27 -8
  477. package/build/utils/card.d.ts +11 -1
  478. package/build/utils/card.d.ts.map +1 -1
  479. package/build/utils/card.js +13 -2
  480. package/build/utils/checkbox.d.ts +14 -1
  481. package/build/utils/checkbox.d.ts.map +1 -1
  482. package/build/utils/checkbox.js +22 -9
  483. package/build/utils/checkboxes.d.ts +27 -1
  484. package/build/utils/checkboxes.d.ts.map +1 -1
  485. package/build/utils/checkboxes.js +44 -17
  486. package/build/utils/default-style.d.ts +11 -4
  487. package/build/utils/default-style.d.ts.map +1 -1
  488. package/build/utils/default-style.js +12 -4
  489. package/build/utils/header.d.ts +6 -1
  490. package/build/utils/header.d.ts.map +1 -1
  491. package/build/utils/header.js +4 -2
  492. package/build/utils/icon.d.ts +9 -7
  493. package/build/utils/icon.d.ts.map +1 -1
  494. package/build/utils/icon.js +12 -11
  495. package/build/utils/invalid-feedback.d.ts +6 -1
  496. package/build/utils/invalid-feedback.d.ts.map +1 -1
  497. package/build/utils/invalid-feedback.js +8 -2
  498. package/build/utils/modal.d.ts +4 -1
  499. package/build/utils/modal.d.ts.map +1 -1
  500. package/build/utils/modal.js +11 -9
  501. package/build/utils/text.d.ts +9 -1
  502. package/build/utils/text.d.ts.map +1 -1
  503. package/build/utils/text.js +9 -2
  504. package/build/validation-error.d.ts +5 -2
  505. package/build/validation-error.d.ts.map +1 -1
  506. package/build/validation-error.js +5 -2
  507. package/build/validation-errors.d.ts +57 -15
  508. package/build/validation-errors.d.ts.map +1 -1
  509. package/build/validation-errors.js +37 -8
  510. package/build/websocket-request-client.d.ts +61 -15
  511. package/build/websocket-request-client.d.ts.map +1 -1
  512. package/build/websocket-request-client.js +35 -9
  513. package/build/with-api-maker.d.ts +2 -1
  514. package/build/with-api-maker.d.ts.map +1 -1
  515. package/build/with-api-maker.js +2 -1
  516. package/build/with-collection.d.ts +2 -1
  517. package/build/with-collection.d.ts.map +1 -1
  518. package/build/with-collection.js +2 -1
  519. package/build/with-current-user.d.ts.map +1 -1
  520. package/build/with-current-user.js +2 -1
  521. package/build/with-model.d.ts +2 -1
  522. package/build/with-model.d.ts.map +1 -1
  523. package/build/with-model.js +2 -1
  524. package/build/with-router.d.ts.map +1 -1
  525. package/build/with-router.js +2 -1
  526. package/package.json +6 -5
  527. package/build/base-component.d.ts +0 -4
  528. package/build/base-component.d.ts.map +0 -1
  529. package/build/base-component.js +0 -4
@@ -1,53 +1,108 @@
1
+ // @ts-check
1
2
  import { digg } from "diggerize";
2
3
  import { EventEmitter } from "eventemitter3"; // eslint-disable-line sort-imports
4
+ /** @typedef {import("eventemitter3").EventEmitter} DraggableSortEventEmitter */
5
+ /** @typedef {import("react-native").LayoutRectangle} DraggableSortLayout */
6
+ /** @typedef {import("react-native").PanResponderGestureState} DraggableSortGestureState */
7
+ /** @typedef {{x: number, y: number}} DraggableSortPosition */
8
+ /** @typedef {(item: object) => string} DraggableSortKeyExtractor */
9
+ /**
10
+ * @typedef {object} DraggableSortItemData
11
+ * @property {number} index
12
+ * @property {object} item
13
+ * @property {number} position
14
+ * @property {number} [baseX]
15
+ * @property {DraggableSortEventEmitter} [events]
16
+ * @property {DraggableSortLayout} [initialLayout]
17
+ * @property {string} [key]
18
+ * @property {DraggableSortLayout} [layout]
19
+ */
20
+ /**
21
+ * @typedef {object} DraggableSortDragEndArgs
22
+ * @property {number} fromIndex
23
+ * @property {object} fromItem
24
+ * @property {number} fromPosition
25
+ * @property {object} item
26
+ * @property {DraggableSortItemData} itemData
27
+ * @property {object|null} toItem
28
+ * @property {number|null} toPosition
29
+ */
3
30
  /** Controller for drag-sort row state and events. */
4
31
  export default class DraggableSortController {
5
- /** Constructor. */
32
+ /**
33
+ * Set up drag-sort state for a list of draggable items.
34
+ * @param {object} root0
35
+ * @param {object[]} root0.data
36
+ * @param {DraggableSortEventEmitter} [root0.events]
37
+ * @param {DraggableSortKeyExtractor} root0.keyExtractor
38
+ */
6
39
  constructor({ data, events, keyExtractor }) {
7
- this.data = data;
8
- this.currentOrder = [...data];
9
- this.events = events || new EventEmitter();
10
- this.keyExtractor = keyExtractor;
11
- this.draggedItem = null;
12
- this.draggedItemData = null;
13
- this.draggedItemNewPosition = null;
14
- this.draggedOverItem = null;
15
- this.draggedOverItemData = null;
16
- this.itemData = {};
17
- for (const itemIndex in data) {
40
+ this.data = /** @type {object[]} */ (data);
41
+ this.currentOrder = /** @type {object[]} */ ([...data]);
42
+ this.events = /** @type {DraggableSortEventEmitter} */ (events || new EventEmitter());
43
+ this.keyExtractor = /** @type {DraggableSortKeyExtractor} */ (keyExtractor);
44
+ this.draggedItem = /** @type {object|null} */ (null);
45
+ this.draggedItemData = /** @type {DraggableSortItemData|null} */ (null);
46
+ this.draggedItemNewPosition = /** @type {number|null} */ (null);
47
+ this.draggedOverItem = /** @type {object|null} */ (null);
48
+ this.draggedOverItemData = /** @type {DraggableSortItemData|null} */ (null);
49
+ this.itemData = /** @type {Record<number, DraggableSortItemData>} */ ({});
50
+ for (const [itemIndex, item] of data.entries()) {
18
51
  this.itemData[itemIndex] = {
19
52
  index: itemIndex,
20
- item: data[itemIndex],
53
+ item,
21
54
  position: itemIndex
22
55
  };
23
56
  }
24
57
  }
25
- /** getEvents. */
58
+ /** @returns {DraggableSortEventEmitter} */
26
59
  getEvents = () => this.events;
27
- /** getItemDataForItem. */
60
+ /**
61
+ * Return the tracked drag metadata for the given item instance.
62
+ * @param {object} item
63
+ * @returns {DraggableSortItemData|undefined}
64
+ */
28
65
  getItemDataForItem = (item) => this.getItemDataForIndex(this.data.indexOf(item));
29
- /** getItemDataForKey. */
30
- getItemDataForKey = (key) => this.itemData.find((itemDataI) => digg(itemDataI, "key") == key);
31
- /** getItemDataForIndex. */
66
+ /**
67
+ * Look up item metadata by its extracted stable key.
68
+ * @param {string} key
69
+ * @returns {DraggableSortItemData|undefined}
70
+ */
71
+ getItemDataForKey = (key) => Object.values(this.itemData).find((itemDataI) => digg(itemDataI, "key") == key);
72
+ /**
73
+ * Return the tracked drag metadata stored for a list index.
74
+ * @param {number} index
75
+ * @returns {DraggableSortItemData|undefined}
76
+ */
32
77
  getItemDataForIndex = (index) => digg(this, "itemData", index);
33
- /** onDragStart. */
78
+ /**
79
+ * Mark an item as the active dragged row and publish the drag-start event.
80
+ * @param {object} root0
81
+ * @param {object} root0.item
82
+ * @param {number} root0.itemIndex
83
+ */
34
84
  onDragStart = ({ item, itemIndex }) => {
35
85
  if (item) {
36
86
  this.draggedItem = item;
37
87
  this.draggedItemData = this.getItemDataForIndex(itemIndex);
88
+ if (!this.draggedItemData)
89
+ throw new Error(`Item data not found for index ${itemIndex}`);
38
90
  this.draggedItemIndex = itemIndex;
39
91
  this.draggedItemPosition = this.draggedItemData.position;
40
92
  this.events.emit("onDragStart", { item, itemData: this.draggedItemData });
41
93
  }
42
94
  };
43
- /** onDragEnd. */
95
+ /** Finish the current drag and notify listeners about the final ordering. */
44
96
  onDragEnd = () => {
97
+ if (!this.draggedItemData || !this.draggedItem)
98
+ throw new Error("Cannot end drag without an active dragged item");
45
99
  const itemData = this.draggedItemData;
46
100
  const fromIndex = itemData.index;
47
101
  const fromPosition = digg(this, "draggedItemPosition");
48
102
  const toPosition = this.draggedItemNewPosition;
49
103
  const fromItem = this.draggedItem;
50
104
  const toItem = this.draggedOverItem;
105
+ /** @type {DraggableSortDragEndArgs} */
51
106
  const callbackArgs = { item: itemData.item, itemData, fromIndex, fromItem, fromPosition, toItem, toPosition };
52
107
  this.draggedItemData.events.emit("resetPosition", {
53
108
  callback: () => {
@@ -61,7 +116,14 @@ export default class DraggableSortController {
61
116
  this.draggedOverItemData = null;
62
117
  this.events.emit("onDragEnd", callbackArgs);
63
118
  };
64
- /** onItemLayout. */
119
+ /**
120
+ * Store layout data and event bindings for a rendered draggable item.
121
+ * @param {object} root0
122
+ * @param {DraggableSortEventEmitter} root0.events
123
+ * @param {number} root0.index
124
+ * @param {object} root0.item
125
+ * @param {DraggableSortLayout} root0.layout
126
+ */
65
127
  onItemLayout = ({ events, index, item, layout }) => {
66
128
  if (!(index in this.itemData))
67
129
  throw new Error(`Item not found for index ${index}`);
@@ -74,18 +136,23 @@ export default class DraggableSortController {
74
136
  itemData.key = this.keyExtractor(item);
75
137
  }
76
138
  };
77
- /** onMove. */
139
+ /**
140
+ * Update ordering as the active dragged item crosses other item positions.
141
+ * @param {object} root0
142
+ * @param {DraggableSortGestureState} root0.gestate
143
+ */
78
144
  onMove = ({ gestate }) => {
145
+ if (!this.draggedItemData || !this.initialDragPosition)
146
+ return;
79
147
  // Send move-event to the item being dragged so it will actually move around
80
148
  this.draggedItemData?.events?.emit("move", { gestate });
81
149
  const moveX = gestate.dx + this.initialDragPosition.x;
82
- for (const itemIndex in this.itemData) {
83
- const itemData = this.getItemDataForIndex(itemIndex);
150
+ for (const itemData of Object.values(this.itemData)) {
84
151
  const baseX = digg(itemData, "baseX");
85
152
  let smallestWidth = this.draggedItemData.layout.width;
86
153
  if (itemData.layout.width < smallestWidth)
87
154
  smallestWidth = itemData.layout.width;
88
- if (moveX > baseX && moveX < baseX + smallestWidth && itemIndex != this.draggedItemData.index) {
155
+ if (moveX > baseX && moveX < baseX + smallestWidth && itemData.index != this.draggedItemData.index) {
89
156
  this.draggedOverItem = itemData.item;
90
157
  this.draggedOverItemData = itemData;
91
158
  const positionOfDraggedItem = this.currentOrder.indexOf(this.draggedItemData.item);
@@ -99,15 +166,20 @@ export default class DraggableSortController {
99
166
  }
100
167
  }
101
168
  };
102
- /** setInitialDragPosition. */
169
+ /**
170
+ * Store the touch position where the current drag gesture started.
171
+ * @param {DraggableSortPosition} initialDragPosition
172
+ */
103
173
  setInitialDragPosition = (initialDragPosition) => {
104
174
  this.initialDragPosition = initialDragPosition;
105
175
  };
106
- /** updatePositionOfItems. */
176
+ /** Animate non-dragged items into their current ordered positions. */
107
177
  updatePositionOfItems() {
108
178
  let currentPosition = 0;
109
179
  for (const item of this.currentOrder) {
110
180
  const itemData = this.getItemDataForItem(item);
181
+ if (!itemData)
182
+ throw new Error("Could not find item data while updating positions");
111
183
  if (digg(itemData, "index") != digg(this, "draggedItemData", "index")) {
112
184
  // Dont animate dragged element to a new position because it is currently being dragged
113
185
  itemData.events.emit("moveToPosition", {
@@ -120,4 +192,4 @@ export default class DraggableSortController {
120
192
  }
121
193
  }
122
194
  }
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsiZHJhZ2dhYmxlLXNvcnQvY29udHJvbGxlci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sV0FBVyxDQUFBO0FBQzlCLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUEsQ0FBQyxtQ0FBbUM7QUFFOUUscURBQXFEO0FBQ3JELE1BQU0sQ0FBQyxPQUFPLE9BQU8sdUJBQXVCO0lBQzFDLG1CQUFtQjtJQUNuQixZQUFZLEVBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUM7UUFDdEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUE7UUFDaEIsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUE7UUFDN0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLElBQUksSUFBSSxZQUFZLEVBQUUsQ0FBQTtRQUMxQyxJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQTtRQUVoQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQTtRQUN2QixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQTtRQUMzQixJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFBO1FBRWxDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFBO1FBQzNCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUE7UUFFL0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUE7UUFFbEIsS0FBSyxNQUFNLFNBQVMsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHO2dCQUN6QixLQUFLLEVBQUUsU0FBUztnQkFDaEIsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUM7Z0JBQ3JCLFFBQVEsRUFBRSxTQUFTO2FBQ3BCLENBQUE7UUFDSCxD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SSxDQUFDLG1CQUFtQixHQUFHLG1CQUFtQixDQUFBO0lBQ2hELENBQUMsQ0FBQTtJQUVELDZCQUE2QjtJQUM3QixxQkFBcUI7UUFDbkIsSUFBSSxlQUFlLEdBQUcsQ0FBQyxDQUFBO1FBRXZCLEtBQUssTUFBTSxJQUFJLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3JDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUU5QyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxpQkFBaUIsRUFBRSxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUN0RSx1RkFBdUY7Z0JBQ3ZGLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFO29CQUNyQyxDQUFDLEVBQUUsZUFBZTtvQkFDbEIsQ0FBQyxFQUFFLENBQUM7aUJBQ0wsQ0FBQyxDQUFBO1lBQ0osQ0FBQztZQUVELFFBQVEsQ0FBQyxLQUFLLEdBQUcsZUFBZSxDQUFBO1lBQ2hDLGVBQWUsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQTtRQUN0RCxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtkaWdnfSBmcm9tIFwiZGlnZ2VyaXplXCJcbmltcG9ydCB7RXZlbnRFbWl0dGVyfSBmcm9tIFwiZXZlbnRlbWl0dGVyM1wiIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgc29ydC1pbXBvcnRzXG5cbi8qKiBDb250cm9sbGVyIGZvciBkcmFnLXNvcnQgcm93IHN0YXRlIGFuZCBldmVudHMuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBEcmFnZ2FibGVTb3J0Q29udHJvbGxlciB7XG4gIC8qKiBDb25zdHJ1Y3Rvci4gKi9cbiAgY29uc3RydWN0b3Ioe2RhdGEsIGV2ZW50cywga2V5RXh0cmFjdG9yfSkge1xuICAgIHRoaXMuZGF0YSA9IGRhdGFcbiAgICB0aGlzLmN1cnJlbnRPcmRlciA9IFsuLi5kYXRhXVxuICAgIHRoaXMuZXZlbnRzID0gZXZlbnRzIHx8IG5ldyBFdmVudEVtaXR0ZXIoKVxuICAgIHRoaXMua2V5RXh0cmFjdG9yID0ga2V5RXh0cmFjdG9yXG5cbiAgICB0aGlzLmRyYWdnZWRJdGVtID0gbnVsbFxuICAgIHRoaXMuZHJhZ2dlZEl0ZW1EYXRhID0gbnVsbFxuICAgIHRoaXMuZHJhZ2dlZEl0ZW1OZXdQb3NpdGlvbiA9IG51bGxcblxuICAgIHRoaXMuZHJhZ2dlZE92ZXJJdGVtID0gbnVsbFxuICAgIHRoaXMuZHJhZ2dlZE92ZXJJdGVtRGF0YSA9IG51bGxcblxuICAgIHRoaXMuaXRlbURhdGEgPSB7fVxuXG4gICAgZm9yIChjb25zdCBpdGVtSW5kZXggaW4gZGF0YSkge1xuICAgICAgdGhpcy5pdGVtRGF0YVtpdGVtSW5kZXhdID0ge1xuICAgICAgICBpbmRleDogaXRlbUluZGV4LFxuICAgICAgICBpdGVtOiBkYXRhW2l0ZW1JbmRleF0sXG4gICAgICAgIHBvc2l0aW9uOiBpdGVtSW5kZXhcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogZ2V0RXZlbnRzLiAqL1xuICBnZXRFdmVudHMgPSAoKSA9PiB0aGlzLmV2ZW50c1xuXG4gIC8qKiBnZXRJdGVtRGF0YUZvckl0ZW0uICovXG4gIGdldEl0ZW1EYXRhRm9ySXRlbSA9IChpdGVtKSA9PiB0aGlzLmdldEl0ZW1EYXRhRm9ySW5kZXgodGhpcy5kYXRhLmluZGV4T2YoaXRlbSkpXG5cbiAgLyoqIGdldEl0ZW1EYXRhRm9yS2V5LiAqL1xuICBnZXRJdGVtRGF0YUZvcktleSA9IChrZXkpID0+IHRoaXMuaXRlbURhdGEuZmluZCgoaXRlbURhdGFJKSA9PiBkaWdnKGl0ZW1EYXRhSSwgXCJrZXlcIikgPT0ga2V5KVxuXG4gIC8qKiBnZXRJdGVtRGF0YUZvckluZGV4LiAqL1xuICBnZXRJdGVtRGF0YUZvckluZGV4ID0gKGluZGV4KSA9PiBkaWdnKHRoaXMsIFwiaXRlbURhdGFcIiwgaW5kZXgpXG5cbiAgLyoqIG9uRHJhZ1N0YXJ0LiAqL1xuICBvbkRyYWdTdGFydCA9ICh7aXRlbSwgaXRlbUluZGV4fSkgPT4ge1xuICAgIGlmIChpdGVtKSB7XG4gICAgICB0aGlzLmRyYWdnZWRJdGVtID0gaXRlbVxuICAgICAgdGhpcy5kcmFnZ2VkSXRlbURhdGEgPSB0aGlzLmdldEl0ZW1EYXRhRm9ySW5kZXgoaXRlbUluZGV4KVxuICAgICAgdGhpcy5kcmFnZ2VkSXRlbUluZGV4ID0gaXRlbUluZGV4XG4gICAgICB0aGlzLmRyYWdnZWRJdGVtUG9zaXRpb24gPSB0aGlzLmRyYWdnZWRJdGVtRGF0YS5wb3NpdGlvblxuICAgICAgdGhpcy5ldmVudHMuZW1pdChcIm9uRHJhZ1N0YXJ0XCIsIHtpdGVtLCBpdGVtRGF0YTogdGhpcy5kcmFnZ2VkSXRlbURhdGF9KVxuICAgIH1cbiAgfVxuXG4gIC8qKiBvbkRyYWdFbmQuICovXG4gIG9uRHJhZ0VuZCA9ICgpID0+IHtcbiAgICBjb25zdCBpdGVtRGF0YSA9IHRoaXMuZHJhZ2dlZEl0ZW1EYXRhXG4gICAgY29uc3QgZnJvbUluZGV4ID0gaXRlbURhdGEuaW5kZXhcbiAgICBjb25zdCBmcm9tUG9zaXRpb24gPSBkaWdnKHRoaXMsIFwiZHJhZ2dlZEl0ZW1Qb3NpdGlvblwiKVxuICAgIGNvbnN0IHRvUG9zaXRpb24gPSB0aGlzLmRyYWdnZWRJdGVtTmV3UG9zaXRpb25cbiAgICBjb25zdCBmcm9tSXRlbSA9IHRoaXMuZHJhZ2dlZEl0ZW1cbiAgICBjb25zdCB0b0l0ZW0gPSB0aGlzLmRyYWdnZWRPdmVySXRlbVxuICAgIGNvbnN0IGNhbGxiYWNrQXJncyA9IHtpdGVtOiBpdGVtRGF0YS5pdGVtLCBpdGVtRGF0YSwgZnJvbUluZGV4LCBmcm9tSXRlbSwgZnJvbVBvc2l0aW9uLCB0b0l0ZW0sIHRvUG9zaXRpb259XG5cbiAgICB0aGlzLmRyYWdnZWRJdGVtRGF0YS5ldmVudHMuZW1pdChcInJlc2V0UG9zaXRpb25cIiwge1xuICAgICAgY2FsbGJhY2s6ICgpID0+IHtcbiAgICAgICAgdGhpcy5ldmVudHMuZW1pdChcIm9uRHJhZ0VuZEFuaW1hdGlvblwiLCBjYWxsYmFja0FyZ3MpXG4gICAgICB9XG4gICAgfSlcblxuICAgIHRoaXMuZHJhZ2dlZEl0ZW0gPSBudWxsXG4gICAgdGhpcy5kcmFnZ2VkSXRlbURhdGEgPSBudWxsXG4gICAgdGhpcy5kcmFnZ2VkSXRlbU5ld1Bvc2l0aW9uID0gbnVsbFxuXG4gICAgdGhpcy5kcmFnZ2VkT3Zlckl0ZW0gPSBudWxsXG4gICAgdGhpcy5kcmFnZ2VkT3Zlckl0ZW1EYXRhID0gbnVsbFxuXG4gICAgdGhpcy5ldmVudHMuZW1pdChcIm9uRHJhZ0VuZFwiLCBjYWxsYmFja0FyZ3MpXG4gIH1cblxuICAvKiogb25JdGVtTGF5b3V0LiAqL1xuICBvbkl0ZW1MYXlvdXQgPSAoe2V2ZW50cywgaW5kZXgsIGl0ZW0sIGxheW91dH0pID0+IHtcbiAgICBpZiAoIShpbmRleCBpbiB0aGlzLml0ZW1EYXRhKSkgdGhyb3cgbmV3IEVycm9yKGBJdGVtIG5vdCBmb3VuZCBmb3IgaW5kZXggJHtpbmRleH1gKVxuXG4gICAgY29uc3QgaXRlbURhdGEgPSB0aGlzLml0ZW1EYXRhW2luZGV4XVxuXG4gICAgaXRlbURhdGEubGF5b3V0ID0gbGF5b3V0XG5cbiAgICBpZiAoIWl0ZW1EYXRhLmluaXRpYWxMYXlvdXQpIHtcbiAgICAgIGl0ZW1EYXRhLmJhc2VYID0gbGF5b3V0LnhcbiAgICAgIGl0ZW1EYXRhLmV2ZW50cyA9IGV2ZW50c1xuICAgICAgaXRlbURhdGEuaW5pdGlhbExheW91dCA9IGxheW91dFxuICAgICAgaXRlbURhdGEua2V5ID0gdGhpcy5rZXlFeHRyYWN0b3IoaXRlbSlcbiAgICB9XG4gIH1cblxuICAvKiogb25Nb3ZlLiAqL1xuICBvbk1vdmUgPSAoe2dlc3RhdGV9KSA9PiB7XG4gICAgLy8gU2VuZCBtb3ZlLWV2ZW50IHRvIHRoZSBpdGVtIGJlaW5nIGRyYWdnZWQgc28gaXQgd2lsbCBhY3R1YWxseSBtb3ZlIGFyb3VuZFxuICAgIHRoaXMuZHJhZ2dlZEl0ZW1EYXRhPy5ldmVudHM/LmVtaXQoXCJtb3ZlXCIsIHtnZXN0YXRlfSlcblxuICAgIGNvbnN0IG1vdmVYID0gZ2VzdGF0ZS5keCArIHRoaXMuaW5pdGlhbERyYWdQb3NpdGlvbi54XG5cbiAgICBmb3IgKGNvbnN0IGl0ZW1JbmRleCBpbiB0aGlzLml0ZW1EYXRhKSB7XG4gICAgICBjb25zdCBpdGVtRGF0YSA9IHRoaXMuZ2V0SXRlbURhdGFGb3JJbmRleChpdGVtSW5kZXgpXG4gICAgICBjb25zdCBiYXNlWCA9IGRpZ2coaXRlbURhdGEsIFwiYmFzZVhcIilcbiAgICAgIGxldCBzbWFsbGVzdFdpZHRoID0gdGhpcy5kcmFnZ2VkSXRlbURhdGEubGF5b3V0LndpZHRoXG5cbiAgICAgIGlmIChpdGVtRGF0YS5sYXlvdXQud2lkdGggPCBzbWFsbGVzdFdpZHRoKSBzbWFsbGVzdFdpZHRoID0gaXRlbURhdGEubGF5b3V0LndpZHRoXG5cbiAgICAgIGlmIChtb3ZlWCA+IGJhc2VYICYmIG1vdmVYIDwgYmFzZVggKyBzbWFsbGVzdFdpZHRoICYmIGl0ZW1JbmRleCAhPSB0aGlzLmRyYWdnZWRJdGVtRGF0YS5pbmRleCkge1xuICAgICAgICB0aGlzLmRyYWdnZWRPdmVySXRlbSA9IGl0ZW1EYXRhLml0ZW1cbiAgICAgICAgdGhpcy5kcmFnZ2VkT3Zlckl0ZW1EYXRhID0gaXRlbURhdGFcblxuICAgICAgICBjb25zdCBwb3NpdGlvbk9mRHJhZ2dlZEl0ZW0gPSB0aGlzLmN1cnJlbnRPcmRlci5pbmRleE9mKHRoaXMuZHJhZ2dlZEl0ZW1EYXRhLml0ZW0pXG4gICAgICAgIGNvbnN0IHBvc2l0aW9uT2ZPdmVySXRlbSA9IHRoaXMuY3VycmVudE9yZGVyLmluZGV4T2YodGhpcy5kcmFnZ2VkT3Zlckl0ZW1EYXRhLml0ZW0pXG5cbiAgICAgICAgdGhpcy5jdXJyZW50T3JkZXJbcG9zaXRpb25PZkRyYWdnZWRJdGVtXSA9IHRoaXMuZHJhZ2dlZE92ZXJJdGVtRGF0YS5pdGVtXG4gICAgICAgIHRoaXMuY3VycmVudE9yZGVyW3Bvc2l0aW9uT2ZPdmVySXRlbV0gPSB0aGlzLmRyYWdnZWRJdGVtRGF0YS5pdGVtXG5cbiAgICAgICAgdGhpcy5kcmFnZ2VkSXRlbURhdGEucG9zaXRpb24gPSBwb3NpdGlvbk9mT3Zlckl0ZW1cbiAgICAgICAgdGhpcy5kcmFnZ2VkT3Zlckl0ZW1EYXRhLnBvc2l0aW9uID0gcG9zaXRpb25PZkRyYWdnZWRJdGVtXG5cbiAgICAgICAgdGhpcy51cGRhdGVQb3NpdGlvbk9mSXRlbXMoKVxuICAgICAgICB0aGlzLmRyYWdnZWRJdGVtTmV3UG9zaXRpb24gPSBwb3NpdGlvbk9mT3Zlckl0ZW1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogc2V0SW5pdGlhbERyYWdQb3NpdGlvbi4gKi9cbiAgc2V0SW5pdGlhbERyYWdQb3NpdGlvbiA9IChpbml0aWFsRHJhZ1Bvc2l0aW9uKSA9PiB7XG4gICAgdGhpcy5pbml0aWFsRHJhZ1Bvc2l0aW9uID0gaW5pdGlhbERyYWdQb3NpdGlvblxuICB9XG5cbiAgLyoqIHVwZGF0ZVBvc2l0aW9uT2ZJdGVtcy4gKi9cbiAgdXBkYXRlUG9zaXRpb25PZkl0ZW1zKCkge1xuICAgIGxldCBjdXJyZW50UG9zaXRpb24gPSAwXG5cbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdGhpcy5jdXJyZW50T3JkZXIpIHtcbiAgICAgIGNvbnN0IGl0ZW1EYXRhID0gdGhpcy5nZXRJdGVtRGF0YUZvckl0ZW0oaXRlbSlcblxuICAgICAgaWYgKGRpZ2coaXRlbURhdGEsIFwiaW5kZXhcIikgIT0gZGlnZyh0aGlzLCBcImRyYWdnZWRJdGVtRGF0YVwiLCBcImluZGV4XCIpKSB7XG4gICAgICAgIC8vIERvbnQgYW5pbWF0ZSBkcmFnZ2VkIGVsZW1lbnQgdG8gYSBuZXcgcG9zaXRpb24gYmVjYXVzZSBpdCBpcyBjdXJyZW50bHkgYmVpbmcgZHJhZ2dlZFxuICAgICAgICBpdGVtRGF0YS5ldmVudHMuZW1pdChcIm1vdmVUb1Bvc2l0aW9uXCIsIHtcbiAgICAgICAgICB4OiBjdXJyZW50UG9zaXRpb24sXG4gICAgICAgICAgeTogMFxuICAgICAgICB9KVxuICAgICAgfVxuXG4gICAgICBpdGVtRGF0YS5iYXNlWCA9IGN1cnJlbnRQb3NpdGlvblxuICAgICAgY3VycmVudFBvc2l0aW9uICs9IGRpZ2coaXRlbURhdGEsIFwibGF5b3V0XCIsIFwid2lkdGhcIilcbiAgICB9XG4gIH1cbn1cbiJdfQ==
195
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsiZHJhZ2dhYmxlLXNvcnQvY29udHJvbGxlci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBQ1osT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLFdBQVcsQ0FBQTtBQUM5QixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFBLENBQUMsbUNBQW1DO0FBRTlFLGdGQUFnRjtBQUNoRiw0RUFBNEU7QUFDNUUsMkZBQTJGO0FBQzNGLDhEQUE4RDtBQUM5RCxvRUFBb0U7QUFDcEU7Ozs7Ozs7Ozs7R0FVRztBQUNIOzs7Ozs7Ozs7R0FTRztBQUVILHFEQUFxRDtBQUNyRCxNQUFNLENBQUMsT0FBTyxPQUFPLHVCQUF1QjtJQUMxQzs7Ozs7O09BTUc7SUFDSCxZQUFZLEVBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUM7UUFDdEMsSUFBSSxDQUFDLElBQUksR0FBRyx1QkFBdUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQzFDLElBQUksQ0FBQyxZQUFZLEdBQUcsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQTtRQUN2RCxJQUFJLENBQUMsTUFBTSxHQUFHLHdDQUF3QyxDQUFDLENBQUMsTUFBTSxJQUFJLElBQUksWUFBWSxFQUFFLENBQUMsQ0FBQTtRQUNyRixJQUFJLENBQUMsWUFBWSxHQUFHLHdDQUF3QyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUE7UUFDM0UsSUFBSSxDQUFDLFdBQVcsR0FBRywwQkFBMEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3BELElBQUksQ0FBQyxlQUFlLEdBQUcseUNBQXlDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUN2RSxJQUFJLENBQUMsc0JBQXNCLEdBQUcsMEJBQTBCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUMvRCxJQUFJLENBQUMsZUFBZSxH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LElBQUksQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxpQkFBaUIsRUFBRSxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUN0RSx1RkFBdUY7Z0JBQ3ZGLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFO29CQUNyQyxDQUFDLEVBQUUsZUFBZTtvQkFDbEIsQ0FBQyxFQUFFLENBQUM7aUJBQ0wsQ0FBQyxDQUFBO1lBQ0osQ0FBQztZQUVELFFBQVEsQ0FBQyxLQUFLLEdBQUcsZUFBZSxDQUFBO1lBQ2hDLGVBQWUsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQTtRQUN0RCxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5pbXBvcnQge2RpZ2d9IGZyb20gXCJkaWdnZXJpemVcIlxuaW1wb3J0IHtFdmVudEVtaXR0ZXJ9IGZyb20gXCJldmVudGVtaXR0ZXIzXCIgLy8gZXNsaW50LWRpc2FibGUtbGluZSBzb3J0LWltcG9ydHNcblxuLyoqIEB0eXBlZGVmIHtpbXBvcnQoXCJldmVudGVtaXR0ZXIzXCIpLkV2ZW50RW1pdHRlcn0gRHJhZ2dhYmxlU29ydEV2ZW50RW1pdHRlciAqL1xuLyoqIEB0eXBlZGVmIHtpbXBvcnQoXCJyZWFjdC1uYXRpdmVcIikuTGF5b3V0UmVjdGFuZ2xlfSBEcmFnZ2FibGVTb3J0TGF5b3V0ICovXG4vKiogQHR5cGVkZWYge2ltcG9ydChcInJlYWN0LW5hdGl2ZVwiKS5QYW5SZXNwb25kZXJHZXN0dXJlU3RhdGV9IERyYWdnYWJsZVNvcnRHZXN0dXJlU3RhdGUgKi9cbi8qKiBAdHlwZWRlZiB7e3g6IG51bWJlciwgeTogbnVtYmVyfX0gRHJhZ2dhYmxlU29ydFBvc2l0aW9uICovXG4vKiogQHR5cGVkZWYgeyhpdGVtOiBvYmplY3QpID0+IHN0cmluZ30gRHJhZ2dhYmxlU29ydEtleUV4dHJhY3RvciAqL1xuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBEcmFnZ2FibGVTb3J0SXRlbURhdGFcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBpbmRleFxuICogQHByb3BlcnR5IHtvYmplY3R9IGl0ZW1cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBwb3NpdGlvblxuICogQHByb3BlcnR5IHtudW1iZXJ9IFtiYXNlWF1cbiAqIEBwcm9wZXJ0eSB7RHJhZ2dhYmxlU29ydEV2ZW50RW1pdHRlcn0gW2V2ZW50c11cbiAqIEBwcm9wZXJ0eSB7RHJhZ2dhYmxlU29ydExheW91dH0gW2luaXRpYWxMYXlvdXRdXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2tleV1cbiAqIEBwcm9wZXJ0eSB7RHJhZ2dhYmxlU29ydExheW91dH0gW2xheW91dF1cbiAqL1xuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBEcmFnZ2FibGVTb3J0RHJhZ0VuZEFyZ3NcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBmcm9tSW5kZXhcbiAqIEBwcm9wZXJ0eSB7b2JqZWN0fSBmcm9tSXRlbVxuICogQHByb3BlcnR5IHtudW1iZXJ9IGZyb21Qb3NpdGlvblxuICogQHByb3BlcnR5IHtvYmplY3R9IGl0ZW1cbiAqIEBwcm9wZXJ0eSB7RHJhZ2dhYmxlU29ydEl0ZW1EYXRhfSBpdGVtRGF0YVxuICogQHByb3BlcnR5IHtvYmplY3R8bnVsbH0gdG9JdGVtXG4gKiBAcHJvcGVydHkge251bWJlcnxudWxsfSB0b1Bvc2l0aW9uXG4gKi9cblxuLyoqIENvbnRyb2xsZXIgZm9yIGRyYWctc29ydCByb3cgc3RhdGUgYW5kIGV2ZW50cy4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIERyYWdnYWJsZVNvcnRDb250cm9sbGVyIHtcbiAgLyoqXG4gICAqIFNldCB1cCBkcmFnLXNvcnQgc3RhdGUgZm9yIGEgbGlzdCBvZiBkcmFnZ2FibGUgaXRlbXMuXG4gICAqIEBwYXJhbSB7b2JqZWN0fSByb290MFxuICAgKiBAcGFyYW0ge29iamVjdFtdfSByb290MC5kYXRhXG4gICAqIEBwYXJhbSB7RHJhZ2dhYmxlU29ydEV2ZW50RW1pdHRlcn0gW3Jvb3QwLmV2ZW50c11cbiAgICogQHBhcmFtIHtEcmFnZ2FibGVTb3J0S2V5RXh0cmFjdG9yfSByb290MC5rZXlFeHRyYWN0b3JcbiAgICovXG4gIGNvbnN0cnVjdG9yKHtkYXRhLCBldmVudHMsIGtleUV4dHJhY3Rvcn0pIHtcbiAgICB0aGlzLmRhdGEgPSAvKiogQHR5cGUge29iamVjdFtdfSAqLyAoZGF0YSlcbiAgICB0aGlzLmN1cnJlbnRPcmRlciA9IC8qKiBAdHlwZSB7b2JqZWN0W119ICovIChbLi4uZGF0YV0pXG4gICAgdGhpcy5ldmVudHMgPSAvKiogQHR5cGUge0RyYWdnYWJsZVNvcnRFdmVudEVtaXR0ZXJ9ICovIChldmVudHMgfHwgbmV3IEV2ZW50RW1pdHRlcigpKVxuICAgIHRoaXMua2V5RXh0cmFjdG9yID0gLyoqIEB0eXBlIHtEcmFnZ2FibGVTb3J0S2V5RXh0cmFjdG9yfSAqLyAoa2V5RXh0cmFjdG9yKVxuICAgIHRoaXMuZHJhZ2dlZEl0ZW0gPSAvKiogQHR5cGUge29iamVjdHxudWxsfSAqLyAobnVsbClcbiAgICB0aGlzLmRyYWdnZWRJdGVtRGF0YSA9IC8qKiBAdHlwZSB7RHJhZ2dhYmxlU29ydEl0ZW1EYXRhfG51bGx9ICovIChudWxsKVxuICAgIHRoaXMuZHJhZ2dlZEl0ZW1OZXdQb3NpdGlvbiA9IC8qKiBAdHlwZSB7bnVtYmVyfG51bGx9ICovIChudWxsKVxuICAgIHRoaXMuZHJhZ2dlZE92ZXJJdGVtID0gLyoqIEB0eXBlIHtvYmplY3R8bnVsbH0gKi8gKG51bGwpXG4gICAgdGhpcy5kcmFnZ2VkT3Zlckl0ZW1EYXRhID0gLyoqIEB0eXBlIHtEcmFnZ2FibGVTb3J0SXRlbURhdGF8bnVsbH0gKi8gKG51bGwpXG4gICAgdGhpcy5pdGVtRGF0YSA9IC8qKiBAdHlwZSB7UmVjb3JkPG51bWJlciwgRHJhZ2dhYmxlU29ydEl0ZW1EYXRhPn0gKi8gKHt9KVxuXG4gICAgZm9yIChjb25zdCBbaXRlbUluZGV4LCBpdGVtXSBvZiBkYXRhLmVudHJpZXMoKSkge1xuICAgICAgdGhpcy5pdGVtRGF0YVtpdGVtSW5kZXhdID0ge1xuICAgICAgICBpbmRleDogaXRlbUluZGV4LFxuICAgICAgICBpdGVtLFxuICAgICAgICBwb3NpdGlvbjogaXRlbUluZGV4XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtEcmFnZ2FibGVTb3J0RXZlbnRFbWl0dGVyfSAqL1xuICBnZXRFdmVudHMgPSAoKSA9PiB0aGlzLmV2ZW50c1xuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIHRyYWNrZWQgZHJhZyBtZXRhZGF0YSBmb3IgdGhlIGdpdmVuIGl0ZW0gaW5zdGFuY2UuXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBpdGVtXG4gICAqIEByZXR1cm5zIHtEcmFnZ2FibGVTb3J0SXRlbURhdGF8dW5kZWZpbmVkfVxuICAgKi9cbiAgZ2V0SXRlbURhdGFGb3JJdGVtID0gKGl0ZW0pID0+IHRoaXMuZ2V0SXRlbURhdGFGb3JJbmRleCh0aGlzLmRhdGEuaW5kZXhPZihpdGVtKSlcblxuICAvKipcbiAgICogTG9vayB1cCBpdGVtIG1ldGFkYXRhIGJ5IGl0cyBleHRyYWN0ZWQgc3RhYmxlIGtleS5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGtleVxuICAgKiBAcmV0dXJucyB7RHJhZ2dhYmxlU29ydEl0ZW1EYXRhfHVuZGVmaW5lZH1cbiAgICovXG4gIGdldEl0ZW1EYXRhRm9yS2V5ID0gKGtleSkgPT4gT2JqZWN0LnZhbHVlcyh0aGlzLml0ZW1EYXRhKS5maW5kKChpdGVtRGF0YUkpID0+IGRpZ2coaXRlbURhdGFJLCBcImtleVwiKSA9PSBrZXkpXG5cbiAgLyoqXG4gICAqIFJldHVybiB0aGUgdHJhY2tlZCBkcmFnIG1ldGFkYXRhIHN0b3JlZCBmb3IgYSBsaXN0IGluZGV4LlxuICAgKiBAcGFyYW0ge251bWJlcn0gaW5kZXhcbiAgICogQHJldHVybnMge0RyYWdnYWJsZVNvcnRJdGVtRGF0YXx1bmRlZmluZWR9XG4gICAqL1xuICBnZXRJdGVtRGF0YUZvckluZGV4ID0gKGluZGV4KSA9PiBkaWdnKHRoaXMsIFwiaXRlbURhdGFcIiwgaW5kZXgpXG5cbiAgLyoqXG4gICAqIE1hcmsgYW4gaXRlbSBhcyB0aGUgYWN0aXZlIGRyYWdnZWQgcm93IGFuZCBwdWJsaXNoIHRoZSBkcmFnLXN0YXJ0IGV2ZW50LlxuICAgKiBAcGFyYW0ge29iamVjdH0gcm9vdDBcbiAgICogQHBhcmFtIHtvYmplY3R9IHJvb3QwLml0ZW1cbiAgICogQHBhcmFtIHtudW1iZXJ9IHJvb3QwLml0ZW1JbmRleFxuICAgKi9cbiAgb25EcmFnU3RhcnQgPSAoe2l0ZW0sIGl0ZW1JbmRleH0pID0+IHtcbiAgICBpZiAoaXRlbSkge1xuICAgICAgdGhpcy5kcmFnZ2VkSXRlbSA9IGl0ZW1cbiAgICAgIHRoaXMuZHJhZ2dlZEl0ZW1EYXRhID0gdGhpcy5nZXRJdGVtRGF0YUZvckluZGV4KGl0ZW1JbmRleClcbiAgICAgIGlmICghdGhpcy5kcmFnZ2VkSXRlbURhdGEpIHRocm93IG5ldyBFcnJvcihgSXRlbSBkYXRhIG5vdCBmb3VuZCBmb3IgaW5kZXggJHtpdGVtSW5kZXh9YClcblxuICAgICAgdGhpcy5kcmFnZ2VkSXRlbUluZGV4ID0gaXRlbUluZGV4XG4gICAgICB0aGlzLmRyYWdnZWRJdGVtUG9zaXRpb24gPSB0aGlzLmRyYWdnZWRJdGVtRGF0YS5wb3NpdGlvblxuICAgICAgdGhpcy5ldmVudHMuZW1pdChcIm9uRHJhZ1N0YXJ0XCIsIHtpdGVtLCBpdGVtRGF0YTogdGhpcy5kcmFnZ2VkSXRlbURhdGF9KVxuICAgIH1cbiAgfVxuXG4gIC8qKiBGaW5pc2ggdGhlIGN1cnJlbnQgZHJhZyBhbmQgbm90aWZ5IGxpc3RlbmVycyBhYm91dCB0aGUgZmluYWwgb3JkZXJpbmcuICovXG4gIG9uRHJhZ0VuZCA9ICgpID0+IHtcbiAgICBpZiAoIXRoaXMuZHJhZ2dlZEl0ZW1EYXRhIHx8ICF0aGlzLmRyYWdnZWRJdGVtKSB0aHJvdyBuZXcgRXJyb3IoXCJDYW5ub3QgZW5kIGRyYWcgd2l0aG91dCBhbiBhY3RpdmUgZHJhZ2dlZCBpdGVtXCIpXG5cbiAgICBjb25zdCBpdGVtRGF0YSA9IHRoaXMuZHJhZ2dlZEl0ZW1EYXRhXG4gICAgY29uc3QgZnJvbUluZGV4ID0gaXRlbURhdGEuaW5kZXhcbiAgICBjb25zdCBmcm9tUG9zaXRpb24gPSBkaWdnKHRoaXMsIFwiZHJhZ2dlZEl0ZW1Qb3NpdGlvblwiKVxuICAgIGNvbnN0IHRvUG9zaXRpb24gPSB0aGlzLmRyYWdnZWRJdGVtTmV3UG9zaXRpb25cbiAgICBjb25zdCBmcm9tSXRlbSA9IHRoaXMuZHJhZ2dlZEl0ZW1cbiAgICBjb25zdCB0b0l0ZW0gPSB0aGlzLmRyYWdnZWRPdmVySXRlbVxuXG4gICAgLyoqIEB0eXBlIHtEcmFnZ2FibGVTb3J0RHJhZ0VuZEFyZ3N9ICovXG4gICAgY29uc3QgY2FsbGJhY2tBcmdzID0ge2l0ZW06IGl0ZW1EYXRhLml0ZW0sIGl0ZW1EYXRhLCBmcm9tSW5kZXgsIGZyb21JdGVtLCBmcm9tUG9zaXRpb24sIHRvSXRlbSwgdG9Qb3NpdGlvbn1cblxuICAgIHRoaXMuZHJhZ2dlZEl0ZW1EYXRhLmV2ZW50cy5lbWl0KFwicmVzZXRQb3NpdGlvblwiLCB7XG4gICAgICBjYWxsYmFjazogKCkgPT4ge1xuICAgICAgICB0aGlzLmV2ZW50cy5lbWl0KFwib25EcmFnRW5kQW5pbWF0aW9uXCIsIGNhbGxiYWNrQXJncylcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgdGhpcy5kcmFnZ2VkSXRlbSA9IG51bGxcbiAgICB0aGlzLmRyYWdnZWRJdGVtRGF0YSA9IG51bGxcbiAgICB0aGlzLmRyYWdnZWRJdGVtTmV3UG9zaXRpb24gPSBudWxsXG5cbiAgICB0aGlzLmRyYWdnZWRPdmVySXRlbSA9IG51bGxcbiAgICB0aGlzLmRyYWdnZWRPdmVySXRlbURhdGEgPSBudWxsXG5cbiAgICB0aGlzLmV2ZW50cy5lbWl0KFwib25EcmFnRW5kXCIsIGNhbGxiYWNrQXJncylcbiAgfVxuXG4gIC8qKlxuICAgKiBTdG9yZSBsYXlvdXQgZGF0YSBhbmQgZXZlbnQgYmluZGluZ3MgZm9yIGEgcmVuZGVyZWQgZHJhZ2dhYmxlIGl0ZW0uXG4gICAqIEBwYXJhbSB7b2JqZWN0fSByb290MFxuICAgKiBAcGFyYW0ge0RyYWdnYWJsZVNvcnRFdmVudEVtaXR0ZXJ9IHJvb3QwLmV2ZW50c1xuICAgKiBAcGFyYW0ge251bWJlcn0gcm9vdDAuaW5kZXhcbiAgICogQHBhcmFtIHtvYmplY3R9IHJvb3QwLml0ZW1cbiAgICogQHBhcmFtIHtEcmFnZ2FibGVTb3J0TGF5b3V0fSByb290MC5sYXlvdXRcbiAgICovXG4gIG9uSXRlbUxheW91dCA9ICh7ZXZlbnRzLCBpbmRleCwgaXRlbSwgbGF5b3V0fSkgPT4ge1xuICAgIGlmICghKGluZGV4IGluIHRoaXMuaXRlbURhdGEpKSB0aHJvdyBuZXcgRXJyb3IoYEl0ZW0gbm90IGZvdW5kIGZvciBpbmRleCAke2luZGV4fWApXG5cbiAgICBjb25zdCBpdGVtRGF0YSA9IHRoaXMuaXRlbURhdGFbaW5kZXhdXG5cbiAgICBpdGVtRGF0YS5sYXlvdXQgPSBsYXlvdXRcblxuICAgIGlmICghaXRlbURhdGEuaW5pdGlhbExheW91dCkge1xuICAgICAgaXRlbURhdGEuYmFzZVggPSBsYXlvdXQueFxuICAgICAgaXRlbURhdGEuZXZlbnRzID0gZXZlbnRzXG4gICAgICBpdGVtRGF0YS5pbml0aWFsTGF5b3V0ID0gbGF5b3V0XG4gICAgICBpdGVtRGF0YS5rZXkgPSB0aGlzLmtleUV4dHJhY3RvcihpdGVtKVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgb3JkZXJpbmcgYXMgdGhlIGFjdGl2ZSBkcmFnZ2VkIGl0ZW0gY3Jvc3NlcyBvdGhlciBpdGVtIHBvc2l0aW9ucy5cbiAgICogQHBhcmFtIHtvYmplY3R9IHJvb3QwXG4gICAqIEBwYXJhbSB7RHJhZ2dhYmxlU29ydEdlc3R1cmVTdGF0ZX0gcm9vdDAuZ2VzdGF0ZVxuICAgKi9cbiAgb25Nb3ZlID0gKHtnZXN0YXRlfSkgPT4ge1xuICAgIGlmICghdGhpcy5kcmFnZ2VkSXRlbURhdGEgfHwgIXRoaXMuaW5pdGlhbERyYWdQb3NpdGlvbikgcmV0dXJuXG5cbiAgICAvLyBTZW5kIG1vdmUtZXZlbnQgdG8gdGhlIGl0ZW0gYmVpbmcgZHJhZ2dlZCBzbyBpdCB3aWxsIGFjdHVhbGx5IG1vdmUgYXJvdW5kXG4gICAgdGhpcy5kcmFnZ2VkSXRlbURhdGE/LmV2ZW50cz8uZW1pdChcIm1vdmVcIiwge2dlc3RhdGV9KVxuXG4gICAgY29uc3QgbW92ZVggPSBnZXN0YXRlLmR4ICsgdGhpcy5pbml0aWFsRHJhZ1Bvc2l0aW9uLnhcblxuICAgIGZvciAoY29uc3QgaXRlbURhdGEgb2YgT2JqZWN0LnZhbHVlcyh0aGlzLml0ZW1EYXRhKSkge1xuICAgICAgY29uc3QgYmFzZVggPSBkaWdnKGl0ZW1EYXRhLCBcImJhc2VYXCIpXG4gICAgICBsZXQgc21hbGxlc3RXaWR0aCA9IHRoaXMuZHJhZ2dlZEl0ZW1EYXRhLmxheW91dC53aWR0aFxuXG4gICAgICBpZiAoaXRlbURhdGEubGF5b3V0LndpZHRoIDwgc21hbGxlc3RXaWR0aCkgc21hbGxlc3RXaWR0aCA9IGl0ZW1EYXRhLmxheW91dC53aWR0aFxuXG4gICAgICBpZiAobW92ZVggPiBiYXNlWCAmJiBtb3ZlWCA8IGJhc2VYICsgc21hbGxlc3RXaWR0aCAmJiBpdGVtRGF0YS5pbmRleCAhPSB0aGlzLmRyYWdnZWRJdGVtRGF0YS5pbmRleCkge1xuICAgICAgICB0aGlzLmRyYWdnZWRPdmVySXRlbSA9IGl0ZW1EYXRhLml0ZW1cbiAgICAgICAgdGhpcy5kcmFnZ2VkT3Zlckl0ZW1EYXRhID0gaXRlbURhdGFcblxuICAgICAgICBjb25zdCBwb3NpdGlvbk9mRHJhZ2dlZEl0ZW0gPSB0aGlzLmN1cnJlbnRPcmRlci5pbmRleE9mKHRoaXMuZHJhZ2dlZEl0ZW1EYXRhLml0ZW0pXG4gICAgICAgIGNvbnN0IHBvc2l0aW9uT2ZPdmVySXRlbSA9IHRoaXMuY3VycmVudE9yZGVyLmluZGV4T2YodGhpcy5kcmFnZ2VkT3Zlckl0ZW1EYXRhLml0ZW0pXG5cbiAgICAgICAgdGhpcy5jdXJyZW50T3JkZXJbcG9zaXRpb25PZkRyYWdnZWRJdGVtXSA9IHRoaXMuZHJhZ2dlZE92ZXJJdGVtRGF0YS5pdGVtXG4gICAgICAgIHRoaXMuY3VycmVudE9yZGVyW3Bvc2l0aW9uT2ZPdmVySXRlbV0gPSB0aGlzLmRyYWdnZWRJdGVtRGF0YS5pdGVtXG5cbiAgICAgICAgdGhpcy5kcmFnZ2VkSXRlbURhdGEucG9zaXRpb24gPSBwb3NpdGlvbk9mT3Zlckl0ZW1cbiAgICAgICAgdGhpcy5kcmFnZ2VkT3Zlckl0ZW1EYXRhLnBvc2l0aW9uID0gcG9zaXRpb25PZkRyYWdnZWRJdGVtXG5cbiAgICAgICAgdGhpcy51cGRhdGVQb3NpdGlvbk9mSXRlbXMoKVxuICAgICAgICB0aGlzLmRyYWdnZWRJdGVtTmV3UG9zaXRpb24gPSBwb3NpdGlvbk9mT3Zlckl0ZW1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU3RvcmUgdGhlIHRvdWNoIHBvc2l0aW9uIHdoZXJlIHRoZSBjdXJyZW50IGRyYWcgZ2VzdHVyZSBzdGFydGVkLlxuICAgKiBAcGFyYW0ge0RyYWdnYWJsZVNvcnRQb3NpdGlvbn0gaW5pdGlhbERyYWdQb3NpdGlvblxuICAgKi9cbiAgc2V0SW5pdGlhbERyYWdQb3NpdGlvbiA9IChpbml0aWFsRHJhZ1Bvc2l0aW9uKSA9PiB7XG4gICAgdGhpcy5pbml0aWFsRHJhZ1Bvc2l0aW9uID0gaW5pdGlhbERyYWdQb3NpdGlvblxuICB9XG5cbiAgLyoqIEFuaW1hdGUgbm9uLWRyYWdnZWQgaXRlbXMgaW50byB0aGVpciBjdXJyZW50IG9yZGVyZWQgcG9zaXRpb25zLiAqL1xuICB1cGRhdGVQb3NpdGlvbk9mSXRlbXMoKSB7XG4gICAgbGV0IGN1cnJlbnRQb3NpdGlvbiA9IDBcblxuICAgIGZvciAoY29uc3QgaXRlbSBvZiB0aGlzLmN1cnJlbnRPcmRlcikge1xuICAgICAgY29uc3QgaXRlbURhdGEgPSB0aGlzLmdldEl0ZW1EYXRhRm9ySXRlbShpdGVtKVxuXG4gICAgICBpZiAoIWl0ZW1EYXRhKSB0aHJvdyBuZXcgRXJyb3IoXCJDb3VsZCBub3QgZmluZCBpdGVtIGRhdGEgd2hpbGUgdXBkYXRpbmcgcG9zaXRpb25zXCIpXG5cbiAgICAgIGlmIChkaWdnKGl0ZW1EYXRhLCBcImluZGV4XCIpICE9IGRpZ2codGhpcywgXCJkcmFnZ2VkSXRlbURhdGFcIiwgXCJpbmRleFwiKSkge1xuICAgICAgICAvLyBEb250IGFuaW1hdGUgZHJhZ2dlZCBlbGVtZW50IHRvIGEgbmV3IHBvc2l0aW9uIGJlY2F1c2UgaXQgaXMgY3VycmVudGx5IGJlaW5nIGRyYWdnZWRcbiAgICAgICAgaXRlbURhdGEuZXZlbnRzLmVtaXQoXCJtb3ZlVG9Qb3NpdGlvblwiLCB7XG4gICAgICAgICAgeDogY3VycmVudFBvc2l0aW9uLFxuICAgICAgICAgIHk6IDBcbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgaXRlbURhdGEuYmFzZVggPSBjdXJyZW50UG9zaXRpb25cbiAgICAgIGN1cnJlbnRQb3NpdGlvbiArPSBkaWdnKGl0ZW1EYXRhLCBcImxheW91dFwiLCBcIndpZHRoXCIpXG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,3 +1,59 @@
1
- declare const _default: any;
1
+ declare const _default: React.NamedExoticComponent<Record<string, any>>;
2
2
  export default _default;
3
+ export type DraggableSortEventEmitter = import("eventemitter3").EventEmitter;
4
+ export type DraggableTouchProps = import("react-native").GestureResponderHandlers;
5
+ export type DraggablePosition = {
6
+ x: number;
7
+ y: number;
8
+ };
9
+ export type DraggableSortAnimationArgs = {
10
+ duration: number;
11
+ easing: (value: number) => number;
12
+ toValue: DraggablePosition;
13
+ useNativeDriver: boolean;
14
+ };
15
+ export type DraggableSortOnItemMovedArgs = {
16
+ animationArgs?: DraggableSortAnimationArgs;
17
+ itemIndex: number;
18
+ x: number;
19
+ y: number;
20
+ };
21
+ export type DraggableSortDragItemData = {
22
+ index: number;
23
+ item: object;
24
+ position: number;
25
+ };
26
+ export type DraggableSortDragStartArgs = {
27
+ itemData: DraggableSortDragItemData;
28
+ };
29
+ export type DraggableSortDragEndArgs = {
30
+ fromIndex: number;
31
+ fromItem: object;
32
+ fromPosition: number;
33
+ item: object;
34
+ itemData: DraggableSortDragItemData;
35
+ toItem: object | null;
36
+ toPosition: number | null;
37
+ };
38
+ export type DraggableSortRenderItemArgs = {
39
+ isActive: boolean;
40
+ item: object;
41
+ touchProps: DraggableTouchProps;
42
+ };
43
+ export type Props = {
44
+ activeItemStyle?: import("react-native").ViewStyle;
45
+ cacheKeyExtractor?: (item: object) => string;
46
+ data: object[];
47
+ dataSet?: object;
48
+ events?: DraggableSortEventEmitter;
49
+ horizontal?: boolean;
50
+ keyExtractor: (item: object) => string;
51
+ onDragItemEnd?: (args: DraggableSortDragEndArgs) => void;
52
+ onDragItemStart?: (args: DraggableSortDragStartArgs) => void;
53
+ onItemMoved?: (args: DraggableSortOnItemMovedArgs) => void;
54
+ onReordered: (args: DraggableSortDragEndArgs) => void | Promise<void>;
55
+ renderItem: (args: DraggableSortRenderItemArgs) => React.ReactNode;
56
+ };
57
+ export type State = Record<string, never>;
58
+ import React from "react";
3
59
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"/src/","sources":["draggable-sort/index.jsx"],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"/src/","sources":["draggable-sort/index.jsx"],"names":[],"mappings":";;wCAac,OAAO,eAAe,EAAE,YAAY;kCACpC,OAAO,cAAc,EAAE,wBAAwB;gCAC/C;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAC;;cAGtB,MAAM;YACN,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM;aACzB,iBAAiB;qBACjB,OAAO;;;oBAIP,0BAA0B;eAC1B,MAAM;OACN,MAAM;OACN,MAAM;;;WAIN,MAAM;UACN,MAAM;cACN,MAAM;;;cAIN,yBAAyB;;;eAIzB,MAAM;cACN,MAAM;kBACN,MAAM;UACN,MAAM;cACN,yBAAyB;YACzB,MAAM,GAAC,IAAI;gBACX,MAAM,GAAC,IAAI;;;cAIX,OAAO;UACP,MAAM;gBACN,mBAAmB;;;sBAKnB,OAAO,cAAc,EAAE,SAAS;wBAChC,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM;UACxB,MAAM,EAAE;cACR,MAAM;aACN,yBAAyB;iBACzB,OAAO;kBACP,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM;oBACxB,CAAC,IAAI,EAAE,wBAAwB,KAAK,IAAI;sBACxC,CAAC,IAAI,EAAE,0BAA0B,KAAK,IAAI;kBAC1C,CAAC,IAAI,EAAE,4BAA4B,KAAK,IAAI;iBAC5C,CAAC,IAAI,EAAE,wBAAwB,KAAK,IAAI,GAAC,OAAO,CAAC,IAAI,CAAC;gBACtD,CAAC,IAAI,EAAE,2BAA2B,KAAK,KAAK,CAAC,SAAS;;oBAEtD,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;kBApEN,OAAO"}
@@ -1,4 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
+ // @ts-check
2
3
  /* eslint-disable sort-imports */
3
4
  import { Animated, PanResponder } from "react-native";
4
5
  import { EventEmitter } from "eventemitter3";
@@ -10,7 +11,66 @@ import PropTypes from "prop-types";
10
11
  import memo from "set-state-compare/build/memo.js";
11
12
  import propTypesExact from "prop-types-exact";
12
13
  import useEventEmitter from "ya-use-event-emitter";
13
- export default memo(shapeComponent(class DraggableSort extends ShapeComponent {
14
+ /** @typedef {import("eventemitter3").EventEmitter} DraggableSortEventEmitter */
15
+ /** @typedef {import("react-native").GestureResponderHandlers} DraggableTouchProps */
16
+ /** @typedef {{x: number, y: number}} DraggablePosition */
17
+ /**
18
+ * @typedef {object} DraggableSortAnimationArgs
19
+ * @property {number} duration
20
+ * @property {(value: number) => number} easing
21
+ * @property {DraggablePosition} toValue
22
+ * @property {boolean} useNativeDriver
23
+ */
24
+ /**
25
+ * @typedef {object} DraggableSortOnItemMovedArgs
26
+ * @property {DraggableSortAnimationArgs} [animationArgs]
27
+ * @property {number} itemIndex
28
+ * @property {number} x
29
+ * @property {number} y
30
+ */
31
+ /**
32
+ * @typedef {object} DraggableSortDragItemData
33
+ * @property {number} index
34
+ * @property {object} item
35
+ * @property {number} position
36
+ */
37
+ /**
38
+ * @typedef {object} DraggableSortDragStartArgs
39
+ * @property {DraggableSortDragItemData} itemData
40
+ */
41
+ /**
42
+ * @typedef {object} DraggableSortDragEndArgs
43
+ * @property {number} fromIndex
44
+ * @property {object} fromItem
45
+ * @property {number} fromPosition
46
+ * @property {object} item
47
+ * @property {DraggableSortDragItemData} itemData
48
+ * @property {object|null} toItem
49
+ * @property {number|null} toPosition
50
+ */
51
+ /**
52
+ * @typedef {object} DraggableSortRenderItemArgs
53
+ * @property {boolean} isActive
54
+ * @property {object} item
55
+ * @property {DraggableTouchProps} touchProps
56
+ */
57
+ /**
58
+ * @typedef {object} Props
59
+ * @property {import("react-native").ViewStyle} [activeItemStyle]
60
+ * @property {(item: object) => string} [cacheKeyExtractor]
61
+ * @property {object[]} data
62
+ * @property {object} [dataSet]
63
+ * @property {DraggableSortEventEmitter} [events]
64
+ * @property {boolean} [horizontal]
65
+ * @property {(item: object) => string} keyExtractor
66
+ * @property {(args: DraggableSortDragEndArgs) => void} [onDragItemEnd]
67
+ * @property {(args: DraggableSortDragStartArgs) => void} [onDragItemStart]
68
+ * @property {(args: DraggableSortOnItemMovedArgs) => void} [onItemMoved]
69
+ * @property {(args: DraggableSortDragEndArgs) => void|Promise<void>} onReordered
70
+ * @property {(args: DraggableSortRenderItemArgs) => React.ReactNode} renderItem
71
+ */
72
+ /** @typedef {Record<string, never>} State */
73
+ export default memo(shapeComponent(/** @augments {ShapeComponent<Props, State>} */ class DraggableSort extends ShapeComponent {
14
74
  /** @type {import("./controller.js").default} */
15
75
  controller;
16
76
  /** @type {import("react-native").PanResponderInstance} */
@@ -25,7 +85,7 @@ export default memo(shapeComponent(class DraggableSort extends ShapeComponent {
25
85
  data: PropTypes.array.isRequired,
26
86
  dataSet: PropTypes.object,
27
87
  events: PropTypes.instanceOf(EventEmitter),
28
- horizontal: PropTypes.bool.isRequired,
88
+ horizontal: PropTypes.bool,
29
89
  keyExtractor: PropTypes.func.isRequired,
30
90
  onDragItemEnd: PropTypes.func,
31
91
  onDragItemStart: PropTypes.func,
@@ -66,11 +126,19 @@ export default memo(shapeComponent(class DraggableSort extends ShapeComponent {
66
126
  }), [dataSet]);
67
127
  return (_jsx(Animated.View, { dataSet: actualDataSet, style: this.cache("rootViewStyle", { flexDirection: horizontal ? "row" : "column" }, [horizontal]), ...this.tt.panResponder.panHandlers, children: data.map((item, itemIndex) => (_jsx(DraggableSortItem, { activeItemStyle: this.p.activeItemStyle, cacheKey: cacheKeyExtractor ? cacheKeyExtractor(item) : undefined, controller: this.tt.controller, item: item, itemIndex: itemIndex, onItemMoved: this.props.onItemMoved, renderItem: renderItem }, keyExtractor(item)))) }));
68
128
  }
129
+ /**
130
+ * Forward drag-start notifications to the optional parent callback.
131
+ * @param {DraggableSortDragStartArgs} root0
132
+ */
69
133
  onDragItemStart = ({ itemData }) => {
70
134
  if (this.props.onDragItemStart) {
71
135
  this.p.onDragItemStart({ itemData });
72
136
  }
73
137
  };
138
+ /**
139
+ * Forward drag-end notifications and persist the reordered list when needed.
140
+ * @param {DraggableSortDragEndArgs} args
141
+ */
74
142
  onDragItemEnd = (args) => {
75
143
  if (args.toPosition !== null) {
76
144
  this.p.onReordered(args);
@@ -80,4 +148,4 @@ export default memo(shapeComponent(class DraggableSort extends ShapeComponent {
80
148
  }
81
149
  };
82
150
  }));
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbImRyYWdnYWJsZS1zb3J0L2luZGV4LmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsaUNBQWlDO0FBQ2pDLE9BQU8sRUFBQyxRQUFRLEVBQUUsWUFBWSxFQUFDLE1BQU0sY0FBYyxDQUFBO0FBQ25ELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxLQUFLLEVBQUUsRUFBQyxPQUFPLEVBQUMsTUFBTSxPQUFPLENBQUE7QUFDcEMsT0FBTyxFQUFDLGNBQWMsRUFBRSxjQUFjLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN6RixPQUFPLFVBQVUsTUFBTSxpQkFBaUIsQ0FBQTtBQUN4QyxPQUFPLGlCQUFpQixNQUFNLFFBQVEsQ0FBQTtBQUN0QyxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUE7QUFDbEMsT0FBTyxJQUFJLE1BQU0saUNBQWlDLENBQUE7QUFDbEQsT0FBTyxjQUFjLE1BQU0sa0JBQWtCLENBQUE7QUFDN0MsT0FBTyxlQUFlLE1BQU0sc0JBQXNCLENBQUE7QUFFbEQsZUFBZSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sYUFBYyxTQUFRLGNBQWM7SUFDM0UsZ0RBQWdEO0lBQ2hELFVBQVUsQ0FBQTtJQUVWLDBEQUEwRDtJQUMxRCxZQUFZLENBQUE7SUFFWixNQUFNLENBQUMsWUFBWSxHQUFHO1FBQ3BCLGVBQWUsRUFBRSxFQUFDLGVBQWUsRUFBRSxNQUFNLEVBQUM7UUFDMUMsVUFBVSxFQUFFLEtBQUs7S0FDbEIsQ0FBQTtJQUVELE1BQU0sQ0FBQyxTQUFTLEdBQUcsY0FBYyxDQUFDO1FBQ2hDLGVBQWUsRUFBRSxTQUFTLENBQUMsTUFBTTtRQUNqQyxpQkFBaUIsRUFBRSxTQUFTLENBQUMsSUFBSTtRQUNqQyxJQUFJLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxVQUFVO1FBQ2hDLE9BQU8sRUFBRSxTQUFTLENBQUMsTUFBTTtRQUN6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YUFBYSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQzVCLENBQUM7SUFDSCxDQUFDLENBQUE7Q0FDRixDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIHNvcnQtaW1wb3J0cyAqL1xuaW1wb3J0IHtBbmltYXRlZCwgUGFuUmVzcG9uZGVyfSBmcm9tIFwicmVhY3QtbmF0aXZlXCJcbmltcG9ydCB7RXZlbnRFbWl0dGVyfSBmcm9tIFwiZXZlbnRlbWl0dGVyM1wiXG5pbXBvcnQgUmVhY3QsIHt1c2VNZW1vfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHtTaGFwZUNvbXBvbmVudCwgc2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9zaGFwZS1jb21wb25lbnQuanNcIlxuaW1wb3J0IENvbnRyb2xsZXIgZnJvbSBcIi4vY29udHJvbGxlci5qc1wiXG5pbXBvcnQgRHJhZ2dhYmxlU29ydEl0ZW0gZnJvbSBcIi4vaXRlbVwiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9tZW1vLmpzXCJcbmltcG9ydCBwcm9wVHlwZXNFeGFjdCBmcm9tIFwicHJvcC10eXBlcy1leGFjdFwiXG5pbXBvcnQgdXNlRXZlbnRFbWl0dGVyIGZyb20gXCJ5YS11c2UtZXZlbnQtZW1pdHRlclwiXG5cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgRHJhZ2dhYmxlU29ydCBleHRlbmRzIFNoYXBlQ29tcG9uZW50IHtcbiAgLyoqIEB0eXBlIHtpbXBvcnQoXCIuL2NvbnRyb2xsZXIuanNcIikuZGVmYXVsdH0gKi9cbiAgY29udHJvbGxlclxuXG4gIC8qKiBAdHlwZSB7aW1wb3J0KFwicmVhY3QtbmF0aXZlXCIpLlBhblJlc3BvbmRlckluc3RhbmNlfSAqL1xuICBwYW5SZXNwb25kZXJcblxuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIGFjdGl2ZUl0ZW1TdHlsZToge2JhY2tncm91bmRDb2xvcjogXCIjZmZmXCJ9LFxuICAgIGhvcml6b250YWw6IGZhbHNlXG4gIH1cblxuICBzdGF0aWMgcHJvcFR5cGVzID0gcHJvcFR5cGVzRXhhY3Qoe1xuICAgIGFjdGl2ZUl0ZW1TdHlsZTogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBjYWNoZUtleUV4dHJhY3RvcjogUHJvcFR5cGVzLmZ1bmMsXG4gICAgZGF0YTogUHJvcFR5cGVzLmFycmF5LmlzUmVxdWlyZWQsXG4gICAgZGF0YVNldDogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBldmVudHM6IFByb3BUeXBlcy5pbnN0YW5jZU9mKEV2ZW50RW1pdHRlciksXG4gICAgaG9yaXpvbnRhbDogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBrZXlFeHRyYWN0b3I6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25EcmFnSXRlbUVuZDogUHJvcFR5cGVzLmZ1bmMsXG4gICAgb25EcmFnSXRlbVN0YXJ0OiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvbkl0ZW1Nb3ZlZDogUHJvcFR5cGVzLmZ1bmMsXG4gICAgb25SZW9yZGVyZWQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgcmVuZGVySXRlbTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZFxuICB9KVxuXG4gIHNldHVwKCkge1xuICAgIGNvbnN0IHtkYXRhLCBrZXlFeHRyYWN0b3J9ID0gdGhpcy5wXG4gICAgY29uc3Qge2V2ZW50c30gPSB0aGlzLnByb3BzXG5cbiAgICB0aGlzLmNvbnRyb2xsZXIgfHw9IG5ldyBDb250cm9sbGVyKHtkYXRhLCBldmVudHMsIGtleUV4dHJhY3Rvcn0pXG4gICAgdGhpcy5wYW5SZXNwb25kZXIgfHw9IFBhblJlc3BvbmRlci5jcmVhdGUoe1xuICAgICAgb25TdGFydFNob3VsZFNldFBhblJlc3BvbmRlcjogKGUpID0+IHtcbiAgICAgICAgY29uc3QgaW5pdGlhbERyYWdQb3NpdGlvbiA9IHt4OiBlLm5hdGl2ZUV2ZW50LmxvY2F0aW9uWCwgeTogZS5uYXRpdmVFdmVudC5sb2NhdGlvbll9XG5cbiAgICAgICAgdGhpcy5jb250cm9sbGVyLnNldEluaXRpYWxEcmFnUG9zaXRpb24oaW5pdGlhbERyYWdQb3NpdGlvbilcblxuICAgICAgICBpZiAodGhpcy5jb250cm9sbGVyLmRyYWdnZWRJdGVtRGF0YSkge1xuICAgICAgICAgIHJldHVybiB0cnVlXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBvblBhblJlc3BvbmRlck1vdmU6IChfZSwgZ2VzdGF0ZSkgPT4ge1xuICAgICAgICB0aGlzLnR0LmNvbnRyb2xsZXIub25Nb3ZlKHtnZXN0YXRlfSlcbiAgICAgIH0sXG4gICAgICBvblBhblJlc3BvbmRlclJlbGVhc2U6IChfZSwgX2dlc3RhdGUpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbGxlci5kcmFnZ2VkSXRlbSkge1xuICAgICAgICAgIHRoaXMudHQuY29udHJvbGxlci5vbkRyYWdFbmQoKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSlcblxuICAgIHVzZUV2ZW50RW1pdHRlcih0aGlzLmNvbnRyb2xsZXIuZ2V0RXZlbnRzKCksIFwib25EcmFnU3RhcnRcIiwgdGhpcy50dC5vbkRyYWdJdGVtU3RhcnQpXG4gICAgdXNlRXZlbnRFbWl0dGVyKHRoaXMuY29udHJvbGxlci5nZXRFdmVudHMoKSwgXCJvbkRyYWdFbmRcIiwgdGhpcy50dC5vbkRyYWdJdGVtRW5kKVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtkYXRhLCBob3Jpem9udGFsLCBrZXlFeHRyYWN0b3IsIHJlbmRlckl0ZW19ID0gdGhpcy5wXG4gICAgY29uc3Qge2NhY2hlS2V5RXh0cmFjdG9yLCBkYXRhU2V0fSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCBhY3R1YWxEYXRhU2V0ID0gdXNlTWVtbygoKSA9PiAoe1xuICAgICAgY29tcG9uZW50OiBcImRyYWdnYWJsZS1zb3J0XCIsXG4gICAgICAuLi5kYXRhU2V0XG4gICAgfSksIFtkYXRhU2V0XSlcblxuICAgIHJldHVybiAoXG4gICAgICA8QW5pbWF0ZWQuVmlld1xuICAgICAgICBkYXRhU2V0PXthY3R1YWxEYXRhU2V0fVxuICAgICAgICBzdHlsZT17dGhpcy5jYWNoZShcInJvb3RWaWV3U3R5bGVcIiwge2ZsZXhEaXJlY3Rpb246IGhvcml6b250YWwgPyBcInJvd1wiIDogXCJjb2x1bW5cIn0sIFtob3Jpem9udGFsXSl9XG4gICAgICAgIHsuLi50aGlzLnR0LnBhblJlc3BvbmRlci5wYW5IYW5kbGVyc31cbiAgICAgID5cbiAgICAgICAge2RhdGEubWFwKChpdGVtLCBpdGVtSW5kZXgpID0+IChcbiAgICAgICAgICA8RHJhZ2dhYmxlU29ydEl0ZW1cbiAgICAgICAgICAgIGFjdGl2ZUl0ZW1TdHlsZT17dGhpcy5wLmFjdGl2ZUl0ZW1TdHlsZX1cbiAgICAgICAgICAgIGNhY2hlS2V5PXtjYWNoZUtleUV4dHJhY3RvciA/IGNhY2hlS2V5RXh0cmFjdG9yKGl0ZW0pIDogdW5kZWZpbmVkfVxuICAgICAgICAgICAgY29udHJvbGxlcj17dGhpcy50dC5jb250cm9sbGVyfVxuICAgICAgICAgICAgaXRlbT17aXRlbX1cbiAgICAgICAgICAgIGl0ZW1JbmRleD17aXRlbUluZGV4fVxuICAgICAgICAgICAga2V5PXtrZXlFeHRyYWN0b3IoaXRlbSl9XG4gICAgICAgICAgICBvbkl0ZW1Nb3ZlZD17dGhpcy5wcm9wcy5vbkl0ZW1Nb3ZlZH1cbiAgICAgICAgICAgIHJlbmRlckl0ZW09e3JlbmRlckl0ZW19XG4gICAgICAgICAgLz5cbiAgICAgICAgKSl9XG4gICAgICA8L0FuaW1hdGVkLlZpZXc+XG4gICAgKVxuICB9XG5cbiAgb25EcmFnSXRlbVN0YXJ0ID0gKHtpdGVtRGF0YX0pID0+IHtcbiAgICBpZiAodGhpcy5wcm9wcy5vbkRyYWdJdGVtU3RhcnQpIHtcbiAgICAgIHRoaXMucC5vbkRyYWdJdGVtU3RhcnQoe2l0ZW1EYXRhfSlcbiAgICB9XG4gIH1cblxuICBvbkRyYWdJdGVtRW5kID0gKGFyZ3MpID0+IHtcbiAgICBpZiAoYXJncy50b1Bvc2l0aW9uICE9PSBudWxsKSB7XG4gICAgICB0aGlzLnAub25SZW9yZGVyZWQoYXJncylcbiAgICB9XG5cbiAgICBpZiAodGhpcy5wcm9wcy5vbkRyYWdJdGVtRW5kKSB7XG4gICAgICB0aGlzLnAub25EcmFnSXRlbUVuZChhcmdzKVxuICAgIH1cbiAgfVxufSkpXG4iXX0=
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbImRyYWdnYWJsZS1zb3J0L2luZGV4LmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsWUFBWTtBQUNaLGlDQUFpQztBQUNqQyxPQUFPLEVBQUMsUUFBUSxFQUFFLFlBQVksRUFBQyxNQUFNLGNBQWMsQ0FBQTtBQUNuRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFBO0FBQzFDLE9BQU8sS0FBSyxFQUFFLEVBQUMsT0FBTyxFQUFDLE1BQU0sT0FBTyxDQUFBO0FBQ3BDLE9BQU8sRUFBQyxjQUFjLEVBQUUsY0FBYyxFQUFDLE1BQU0sNENBQTRDLENBQUE7QUFDekYsT0FBTyxVQUFVLE1BQU0saUJBQWlCLENBQUE7QUFDeEMsT0FBTyxpQkFBaUIsTUFBTSxRQUFRLENBQUE7QUFDdEMsT0FBTyxTQUFTLE1BQU0sWUFBWSxDQUFBO0FBQ2xDLE9BQU8sSUFBSSxNQUFNLGlDQUFpQyxDQUFBO0FBQ2xELE9BQU8sY0FBYyxNQUFNLGtCQUFrQixDQUFBO0FBQzdDLE9BQU8sZUFBZSxNQUFNLHNCQUFzQixDQUFBO0FBRWxELGdGQUFnRjtBQUNoRixxRkFBcUY7QUFDckYsMERBQTBEO0FBQzFEOzs7Ozs7R0FNRztBQUNIOzs7Ozs7R0FNRztBQUNIOzs7OztHQUtHO0FBQ0g7OztHQUdHO0FBQ0g7Ozs7Ozs7OztHQVNHO0FBQ0g7Ozs7O0dBS0c7QUFFSDs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILDZDQUE2QztBQUM3QyxlQUFlLElBQUksQ0FBQyxjQUFjLENBQUMsK0NBQStDLENBQUMsTUFBTSxhQUFjLFNBQVEsY0FBYztJQUMzSCxnREFBZ0Q7SUFDaEQsVUFBVSxDQUFBO0lBRVYsMERBQTBEO0lBQzFELFlBQVksQ0FBQTtJQUVaLE1BQU0sQ0FBQyxZQUFZLEdBQUc7UUFDcEIsZUFBZSxFQUFFLEVBQUMsZUFBZSxFQUFFLE1BQU0sRUFBQztRQUMxQyxVQUFVLEVBQUUsS0FBSztLQUNsQixDQUFBO0lBRUQsTUFBTSxDQUFDLFNBQVMsR0FBRyxjQUFjLENBQUM7UUFDaEMsZUFBZSxFQUFFLFNBQVMsQ0FBQyxNQUFNO1FBQ2pDLGlCQUFpQixFQUFFLFNBQVMsQ0FBQyxJQUFJO1FBQ2pDLElBQUksRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLFVBQVU7UUFDaEMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxNQUFNO1FBQ3pCLE1BQU0sRUFBRSxTQUFTLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQztRQUMxQyxVQUFVLEVBQUUsU0FBUyxDQUFDLElBQUk7UUFDMUIsWUFBWSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVTtRQUN2QyxhQUFhLEVBQUUsU0FBUyxDQUFDLElBQUk7UUFDN0IsZUFBZSxFQUFFLFNBQVMsQ0FBQyxJQUFJO1FBQy9CLFdBQVcsRUFBRSxTQUFTLENBQUMsSUFBSTtRQUMzQixXQUFXLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVO1FBQ3RDLFVBQVUsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVU7S0FDdEMsQ0FBQyxDQUFBO0lBRUYsS0FBSztRQUNILE1BQU0sRUFBQyxJQUFJLEVBQUUsWUFBWSxFQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQTtRQUNuQyxNQUFNLEVBQUMsTUFBTSxFQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQTtRQUUzQixJQUFJLENBQUMsVUFBVSxLQUFLLElBQUksVUFBVSxDQUFDLEVBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUMsQ0FBQyxDQUFBO1FBQ2hFLElBQUksQ0FBQyxZQUFZLEtBQUssWUFBWSxDQUFDLE1BQU0sQ0FBQztZQUN4Qyw0QkFBNEIsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNsQyxNQUFNLG1CQUFtQixHQUFHLEVBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBQyxDQUFBO2dCQUVwRixJQUFJLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLG1CQUFtQixDQUFDLENBQUE7Z0JBRTNELElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLEVBQUUsQ0FBQztvQkFDcEMsT0FBTyxJQUFJLENBQUE7Z0JBQ2IsQ0FBQztZQUNILENBQUM7WUFDRCxrQkFBa0IsRUFBRSxDQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRTtnQkFDbEMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQTtZQUN0QyxDQUFDO1lBQ0QscUJBQXFCLEVBQUUsQ0FBQyxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUU7Z0JBQ3RDLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztvQkFDaEMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLENBQUE7Z0JBQ2hDLENBQUM7WUFDSCxDQUFDO1NBQ0YsQ0FBQyxDQUFBO1FBRUYsZUFBZSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLEVBQUUsYUFBYSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUE7UUFDcEYsZUFBZSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUE7SUFDbEYsQ0FBQztJQUVELE1BQU07UUFDSixNQUFNLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQTtRQUMzRCxNQUFNLEVBQUMsaUJBQWlCLEVBQUUsT0FBTyxFQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQTtRQUMvQyxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUNuQyxTQUFTLEVBQUUsZ0JBQWdCO1lBQzNCLEdBQUcsT0FBTztTQUNYLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7UUFFZCxPQUFPLENBQ0wsS0FBQyxRQUFRLENBQUMsSUFBSSxJQUNaLE9BQU8sRUFBRSxhQUFhLEVBQ3RCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsRUFBRSxFQUFDLGFBQWEsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxLQUM1RixJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxXQUFXLFlBRW5DLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUM3QixLQUFDLGlCQUFpQixJQUNoQixlQUFlLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxlQUFlLEVBQ3ZDLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFDakUsVUFBVSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUM5QixJQUFJLEVBQUUsSUFBSSxFQUNWLFNBQVMsRUFBRSxTQUFTLEVBRXBCLFdBQVcsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFDbkMsVUFBVSxFQUFFLFVBQVUsSUFGakIsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUd2QixDQUNILENBQUMsR0FDWSxDQUNqQixDQUFBO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILGVBQWUsR0FBRyxDQUFDLEVBQUMsUUFBUSxFQUFDLEVBQUUsRUFBRTtRQUMvQixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDL0IsSUFBSSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsRUFBQyxRQUFRLEVBQUMsQ0FBQyxDQUFBO1FBQ3BDLENBQUM7SUFDSCxDQUFDLENBQUE7SUFFRDs7O09BR0c7SUFDSCxhQUFhLEdBQUcsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUN2QixJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDMUIsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUM1QixDQUFDO0lBQ0gsQ0FBQyxDQUFBO0NBQ0YsQ0FBQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcbi8qIGVzbGludC1kaXNhYmxlIHNvcnQtaW1wb3J0cyAqL1xuaW1wb3J0IHtBbmltYXRlZCwgUGFuUmVzcG9uZGVyfSBmcm9tIFwicmVhY3QtbmF0aXZlXCJcbmltcG9ydCB7RXZlbnRFbWl0dGVyfSBmcm9tIFwiZXZlbnRlbWl0dGVyM1wiXG5pbXBvcnQgUmVhY3QsIHt1c2VNZW1vfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHtTaGFwZUNvbXBvbmVudCwgc2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9zaGFwZS1jb21wb25lbnQuanNcIlxuaW1wb3J0IENvbnRyb2xsZXIgZnJvbSBcIi4vY29udHJvbGxlci5qc1wiXG5pbXBvcnQgRHJhZ2dhYmxlU29ydEl0ZW0gZnJvbSBcIi4vaXRlbVwiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9tZW1vLmpzXCJcbmltcG9ydCBwcm9wVHlwZXNFeGFjdCBmcm9tIFwicHJvcC10eXBlcy1leGFjdFwiXG5pbXBvcnQgdXNlRXZlbnRFbWl0dGVyIGZyb20gXCJ5YS11c2UtZXZlbnQtZW1pdHRlclwiXG5cbi8qKiBAdHlwZWRlZiB7aW1wb3J0KFwiZXZlbnRlbWl0dGVyM1wiKS5FdmVudEVtaXR0ZXJ9IERyYWdnYWJsZVNvcnRFdmVudEVtaXR0ZXIgKi9cbi8qKiBAdHlwZWRlZiB7aW1wb3J0KFwicmVhY3QtbmF0aXZlXCIpLkdlc3R1cmVSZXNwb25kZXJIYW5kbGVyc30gRHJhZ2dhYmxlVG91Y2hQcm9wcyAqL1xuLyoqIEB0eXBlZGVmIHt7eDogbnVtYmVyLCB5OiBudW1iZXJ9fSBEcmFnZ2FibGVQb3NpdGlvbiAqL1xuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBEcmFnZ2FibGVTb3J0QW5pbWF0aW9uQXJnc1xuICogQHByb3BlcnR5IHtudW1iZXJ9IGR1cmF0aW9uXG4gKiBAcHJvcGVydHkgeyh2YWx1ZTogbnVtYmVyKSA9PiBudW1iZXJ9IGVhc2luZ1xuICogQHByb3BlcnR5IHtEcmFnZ2FibGVQb3NpdGlvbn0gdG9WYWx1ZVxuICogQHByb3BlcnR5IHtib29sZWFufSB1c2VOYXRpdmVEcml2ZXJcbiAqL1xuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBEcmFnZ2FibGVTb3J0T25JdGVtTW92ZWRBcmdzXG4gKiBAcHJvcGVydHkge0RyYWdnYWJsZVNvcnRBbmltYXRpb25BcmdzfSBbYW5pbWF0aW9uQXJnc11cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBpdGVtSW5kZXhcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSB4XG4gKiBAcHJvcGVydHkge251bWJlcn0geVxuICovXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IERyYWdnYWJsZVNvcnREcmFnSXRlbURhdGFcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBpbmRleFxuICogQHByb3BlcnR5IHtvYmplY3R9IGl0ZW1cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBwb3NpdGlvblxuICovXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IERyYWdnYWJsZVNvcnREcmFnU3RhcnRBcmdzXG4gKiBAcHJvcGVydHkge0RyYWdnYWJsZVNvcnREcmFnSXRlbURhdGF9IGl0ZW1EYXRhXG4gKi9cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gRHJhZ2dhYmxlU29ydERyYWdFbmRBcmdzXG4gKiBAcHJvcGVydHkge251bWJlcn0gZnJvbUluZGV4XG4gKiBAcHJvcGVydHkge29iamVjdH0gZnJvbUl0ZW1cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBmcm9tUG9zaXRpb25cbiAqIEBwcm9wZXJ0eSB7b2JqZWN0fSBpdGVtXG4gKiBAcHJvcGVydHkge0RyYWdnYWJsZVNvcnREcmFnSXRlbURhdGF9IGl0ZW1EYXRhXG4gKiBAcHJvcGVydHkge29iamVjdHxudWxsfSB0b0l0ZW1cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfG51bGx9IHRvUG9zaXRpb25cbiAqL1xuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBEcmFnZ2FibGVTb3J0UmVuZGVySXRlbUFyZ3NcbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gaXNBY3RpdmVcbiAqIEBwcm9wZXJ0eSB7b2JqZWN0fSBpdGVtXG4gKiBAcHJvcGVydHkge0RyYWdnYWJsZVRvdWNoUHJvcHN9IHRvdWNoUHJvcHNcbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IFByb3BzXG4gKiBAcHJvcGVydHkge2ltcG9ydChcInJlYWN0LW5hdGl2ZVwiKS5WaWV3U3R5bGV9IFthY3RpdmVJdGVtU3R5bGVdXG4gKiBAcHJvcGVydHkgeyhpdGVtOiBvYmplY3QpID0+IHN0cmluZ30gW2NhY2hlS2V5RXh0cmFjdG9yXVxuICogQHByb3BlcnR5IHtvYmplY3RbXX0gZGF0YVxuICogQHByb3BlcnR5IHtvYmplY3R9IFtkYXRhU2V0XVxuICogQHByb3BlcnR5IHtEcmFnZ2FibGVTb3J0RXZlbnRFbWl0dGVyfSBbZXZlbnRzXVxuICogQHByb3BlcnR5IHtib29sZWFufSBbaG9yaXpvbnRhbF1cbiAqIEBwcm9wZXJ0eSB7KGl0ZW06IG9iamVjdCkgPT4gc3RyaW5nfSBrZXlFeHRyYWN0b3JcbiAqIEBwcm9wZXJ0eSB7KGFyZ3M6IERyYWdnYWJsZVNvcnREcmFnRW5kQXJncykgPT4gdm9pZH0gW29uRHJhZ0l0ZW1FbmRdXG4gKiBAcHJvcGVydHkgeyhhcmdzOiBEcmFnZ2FibGVTb3J0RHJhZ1N0YXJ0QXJncykgPT4gdm9pZH0gW29uRHJhZ0l0ZW1TdGFydF1cbiAqIEBwcm9wZXJ0eSB7KGFyZ3M6IERyYWdnYWJsZVNvcnRPbkl0ZW1Nb3ZlZEFyZ3MpID0+IHZvaWR9IFtvbkl0ZW1Nb3ZlZF1cbiAqIEBwcm9wZXJ0eSB7KGFyZ3M6IERyYWdnYWJsZVNvcnREcmFnRW5kQXJncykgPT4gdm9pZHxQcm9taXNlPHZvaWQ+fSBvblJlb3JkZXJlZFxuICogQHByb3BlcnR5IHsoYXJnczogRHJhZ2dhYmxlU29ydFJlbmRlckl0ZW1BcmdzKSA9PiBSZWFjdC5SZWFjdE5vZGV9IHJlbmRlckl0ZW1cbiAqL1xuLyoqIEB0eXBlZGVmIHtSZWNvcmQ8c3RyaW5nLCBuZXZlcj59IFN0YXRlICovXG5leHBvcnQgZGVmYXVsdCBtZW1vKHNoYXBlQ29tcG9uZW50KC8qKiBAYXVnbWVudHMge1NoYXBlQ29tcG9uZW50PFByb3BzLCBTdGF0ZT59ICovIGNsYXNzIERyYWdnYWJsZVNvcnQgZXh0ZW5kcyBTaGFwZUNvbXBvbmVudCB7XG4gIC8qKiBAdHlwZSB7aW1wb3J0KFwiLi9jb250cm9sbGVyLmpzXCIpLmRlZmF1bHR9ICovXG4gIGNvbnRyb2xsZXJcblxuICAvKiogQHR5cGUge2ltcG9ydChcInJlYWN0LW5hdGl2ZVwiKS5QYW5SZXNwb25kZXJJbnN0YW5jZX0gKi9cbiAgcGFuUmVzcG9uZGVyXG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBhY3RpdmVJdGVtU3R5bGU6IHtiYWNrZ3JvdW5kQ29sb3I6IFwiI2ZmZlwifSxcbiAgICBob3Jpem9udGFsOiBmYWxzZVxuICB9XG5cbiAgc3RhdGljIHByb3BUeXBlcyA9IHByb3BUeXBlc0V4YWN0KHtcbiAgICBhY3RpdmVJdGVtU3R5bGU6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgY2FjaGVLZXlFeHRyYWN0b3I6IFByb3BUeXBlcy5mdW5jLFxuICAgIGRhdGE6IFByb3BUeXBlcy5hcnJheS5pc1JlcXVpcmVkLFxuICAgIGRhdGFTZXQ6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgZXZlbnRzOiBQcm9wVHlwZXMuaW5zdGFuY2VPZihFdmVudEVtaXR0ZXIpLFxuICAgIGhvcml6b250YWw6IFByb3BUeXBlcy5ib29sLFxuICAgIGtleUV4dHJhY3RvcjogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRyYWdJdGVtRW5kOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvbkRyYWdJdGVtU3RhcnQ6IFByb3BUeXBlcy5mdW5jLFxuICAgIG9uSXRlbU1vdmVkOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvblJlb3JkZXJlZDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICByZW5kZXJJdGVtOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkXG4gIH0pXG5cbiAgc2V0dXAoKSB7XG4gICAgY29uc3Qge2RhdGEsIGtleUV4dHJhY3Rvcn0gPSB0aGlzLnBcbiAgICBjb25zdCB7ZXZlbnRzfSA9IHRoaXMucHJvcHNcblxuICAgIHRoaXMuY29udHJvbGxlciB8fD0gbmV3IENvbnRyb2xsZXIoe2RhdGEsIGV2ZW50cywga2V5RXh0cmFjdG9yfSlcbiAgICB0aGlzLnBhblJlc3BvbmRlciB8fD0gUGFuUmVzcG9uZGVyLmNyZWF0ZSh7XG4gICAgICBvblN0YXJ0U2hvdWxkU2V0UGFuUmVzcG9uZGVyOiAoZSkgPT4ge1xuICAgICAgICBjb25zdCBpbml0aWFsRHJhZ1Bvc2l0aW9uID0ge3g6IGUubmF0aXZlRXZlbnQubG9jYXRpb25YLCB5OiBlLm5hdGl2ZUV2ZW50LmxvY2F0aW9uWX1cblxuICAgICAgICB0aGlzLmNvbnRyb2xsZXIuc2V0SW5pdGlhbERyYWdQb3NpdGlvbihpbml0aWFsRHJhZ1Bvc2l0aW9uKVxuXG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2xsZXIuZHJhZ2dlZEl0ZW1EYXRhKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIG9uUGFuUmVzcG9uZGVyTW92ZTogKF9lLCBnZXN0YXRlKSA9PiB7XG4gICAgICAgIHRoaXMudHQuY29udHJvbGxlci5vbk1vdmUoe2dlc3RhdGV9KVxuICAgICAgfSxcbiAgICAgIG9uUGFuUmVzcG9uZGVyUmVsZWFzZTogKF9lLCBfZ2VzdGF0ZSkgPT4ge1xuICAgICAgICBpZiAodGhpcy5jb250cm9sbGVyLmRyYWdnZWRJdGVtKSB7XG4gICAgICAgICAgdGhpcy50dC5jb250cm9sbGVyLm9uRHJhZ0VuZCgpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KVxuXG4gICAgdXNlRXZlbnRFbWl0dGVyKHRoaXMuY29udHJvbGxlci5nZXRFdmVudHMoKSwgXCJvbkRyYWdTdGFydFwiLCB0aGlzLnR0Lm9uRHJhZ0l0ZW1TdGFydClcbiAgICB1c2VFdmVudEVtaXR0ZXIodGhpcy5jb250cm9sbGVyLmdldEV2ZW50cygpLCBcIm9uRHJhZ0VuZFwiLCB0aGlzLnR0Lm9uRHJhZ0l0ZW1FbmQpXG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge2RhdGEsIGhvcml6b250YWwsIGtleUV4dHJhY3RvciwgcmVuZGVySXRlbX0gPSB0aGlzLnBcbiAgICBjb25zdCB7Y2FjaGVLZXlFeHRyYWN0b3IsIGRhdGFTZXR9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IGFjdHVhbERhdGFTZXQgPSB1c2VNZW1vKCgpID0+ICh7XG4gICAgICBjb21wb25lbnQ6IFwiZHJhZ2dhYmxlLXNvcnRcIixcbiAgICAgIC4uLmRhdGFTZXRcbiAgICB9KSwgW2RhdGFTZXRdKVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxBbmltYXRlZC5WaWV3XG4gICAgICAgIGRhdGFTZXQ9e2FjdHVhbERhdGFTZXR9XG4gICAgICAgIHN0eWxlPXt0aGlzLmNhY2hlKFwicm9vdFZpZXdTdHlsZVwiLCB7ZmxleERpcmVjdGlvbjogaG9yaXpvbnRhbCA/IFwicm93XCIgOiBcImNvbHVtblwifSwgW2hvcml6b250YWxdKX1cbiAgICAgICAgey4uLnRoaXMudHQucGFuUmVzcG9uZGVyLnBhbkhhbmRsZXJzfVxuICAgICAgPlxuICAgICAgICB7ZGF0YS5tYXAoKGl0ZW0sIGl0ZW1JbmRleCkgPT4gKFxuICAgICAgICAgIDxEcmFnZ2FibGVTb3J0SXRlbVxuICAgICAgICAgICAgYWN0aXZlSXRlbVN0eWxlPXt0aGlzLnAuYWN0aXZlSXRlbVN0eWxlfVxuICAgICAgICAgICAgY2FjaGVLZXk9e2NhY2hlS2V5RXh0cmFjdG9yID8gY2FjaGVLZXlFeHRyYWN0b3IoaXRlbSkgOiB1bmRlZmluZWR9XG4gICAgICAgICAgICBjb250cm9sbGVyPXt0aGlzLnR0LmNvbnRyb2xsZXJ9XG4gICAgICAgICAgICBpdGVtPXtpdGVtfVxuICAgICAgICAgICAgaXRlbUluZGV4PXtpdGVtSW5kZXh9XG4gICAgICAgICAgICBrZXk9e2tleUV4dHJhY3RvcihpdGVtKX1cbiAgICAgICAgICAgIG9uSXRlbU1vdmVkPXt0aGlzLnByb3BzLm9uSXRlbU1vdmVkfVxuICAgICAgICAgICAgcmVuZGVySXRlbT17cmVuZGVySXRlbX1cbiAgICAgICAgICAvPlxuICAgICAgICApKX1cbiAgICAgIDwvQW5pbWF0ZWQuVmlldz5cbiAgICApXG4gIH1cblxuICAvKipcbiAgICogRm9yd2FyZCBkcmFnLXN0YXJ0IG5vdGlmaWNhdGlvbnMgdG8gdGhlIG9wdGlvbmFsIHBhcmVudCBjYWxsYmFjay5cbiAgICogQHBhcmFtIHtEcmFnZ2FibGVTb3J0RHJhZ1N0YXJ0QXJnc30gcm9vdDBcbiAgICovXG4gIG9uRHJhZ0l0ZW1TdGFydCA9ICh7aXRlbURhdGF9KSA9PiB7XG4gICAgaWYgKHRoaXMucHJvcHMub25EcmFnSXRlbVN0YXJ0KSB7XG4gICAgICB0aGlzLnAub25EcmFnSXRlbVN0YXJ0KHtpdGVtRGF0YX0pXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEZvcndhcmQgZHJhZy1lbmQgbm90aWZpY2F0aW9ucyBhbmQgcGVyc2lzdCB0aGUgcmVvcmRlcmVkIGxpc3Qgd2hlbiBuZWVkZWQuXG4gICAqIEBwYXJhbSB7RHJhZ2dhYmxlU29ydERyYWdFbmRBcmdzfSBhcmdzXG4gICAqL1xuICBvbkRyYWdJdGVtRW5kID0gKGFyZ3MpID0+IHtcbiAgICBpZiAoYXJncy50b1Bvc2l0aW9uICE9PSBudWxsKSB7XG4gICAgICB0aGlzLnAub25SZW9yZGVyZWQoYXJncylcbiAgICB9XG5cbiAgICBpZiAodGhpcy5wcm9wcy5vbkRyYWdJdGVtRW5kKSB7XG4gICAgICB0aGlzLnAub25EcmFnSXRlbUVuZChhcmdzKVxuICAgIH1cbiAgfVxufSkpXG4iXX0=
@@ -1,3 +1,58 @@
1
- declare const _default: any;
1
+ declare const _default: React.NamedExoticComponent<Record<string, any>>;
2
2
  export default _default;
3
+ export type DraggableSortController = import("./controller.js").default;
4
+ export type DraggableSortEventEmitter = import("eventemitter3").EventEmitter;
5
+ export type DraggableTouchProps = import("react-native").GestureResponderHandlers;
6
+ export type DraggableSortLayout = import("react-native").LayoutRectangle;
7
+ export type DraggableSortGestureState = import("react-native").PanResponderGestureState;
8
+ export type DraggablePosition = {
9
+ x: number;
10
+ y: number;
11
+ };
12
+ export type DraggableSortAnimationArgs = {
13
+ duration: number;
14
+ easing: (value: number) => number;
15
+ toValue: DraggablePosition;
16
+ useNativeDriver: boolean;
17
+ };
18
+ export type DraggableSortOnItemMovedArgs = {
19
+ animationArgs?: DraggableSortAnimationArgs;
20
+ itemIndex: number;
21
+ x: number;
22
+ y: number;
23
+ };
24
+ export type DraggableSortRenderItemArgs = {
25
+ isActive: boolean;
26
+ item: object;
27
+ touchProps: DraggableTouchProps;
28
+ };
29
+ export type DraggableSortItemData = {
30
+ index: number;
31
+ item: object;
32
+ position: number;
33
+ };
34
+ export type DraggableSortMoveEventArgs = {
35
+ gestate: DraggableSortGestureState;
36
+ };
37
+ export type DraggableSortMoveToPositionArgs = {
38
+ x: number;
39
+ y: number;
40
+ };
41
+ export type DraggableSortResetPositionArgs = {
42
+ callback?: () => void;
43
+ };
44
+ export type Props = {
45
+ activeItemStyle?: import("react-native").ViewStyle;
46
+ cacheKey?: string;
47
+ controller: DraggableSortController;
48
+ item: object;
49
+ itemIndex: number;
50
+ onItemMoved?: (args: DraggableSortOnItemMovedArgs) => void;
51
+ renderItem: (args: DraggableSortRenderItemArgs) => React.ReactNode;
52
+ };
53
+ export type State = {
54
+ active: boolean;
55
+ dragging: boolean;
56
+ };
57
+ import React from "react";
3
58
  //# sourceMappingURL=item.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"item.d.ts","sourceRoot":"/src/","sources":["draggable-sort/item.jsx"],"names":[],"mappings":""}
1
+ {"version":3,"file":"item.d.ts","sourceRoot":"/src/","sources":["draggable-sort/item.jsx"],"names":[],"mappings":";;sCAWc,OAAO,iBAAiB,EAAE,OAAO;wCACjC,OAAO,eAAe,EAAE,YAAY;kCACpC,OAAO,cAAc,EAAE,wBAAwB;kCAC/C,OAAO,cAAc,EAAE,eAAe;wCACtC,OAAO,cAAc,EAAE,wBAAwB;gCAC/C;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAC;;cAGtB,MAAM;YACN,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM;aACzB,iBAAiB;qBACjB,OAAO;;;oBAIP,0BAA0B;eAC1B,MAAM;OACN,MAAM;OACN,MAAM;;;cAIN,OAAO;UACP,MAAM;gBACN,mBAAmB;;;WAInB,MAAM;UACN,MAAM;cACN,MAAM;;;aAIN,yBAAyB;;;OAIzB,MAAM;OACN,MAAM;;;eAIN,MAAM,IAAI;;;sBAKV,OAAO,cAAc,EAAE,SAAS;eAChC,MAAM;gBACN,uBAAuB;UACvB,MAAM;eACN,MAAM;kBACN,CAAC,IAAI,EAAE,4BAA4B,KAAK,IAAI;gBAC5C,CAAC,IAAI,EAAE,2BAA2B,KAAK,KAAK,CAAC,SAAS;;;YAItD,OAAO;cACP,OAAO;;kBAlEQ,OAAO"}