@elliemae/ds-shuttle 1.55.0-next.7 → 2.0.0-alpha.10

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 (190) hide show
  1. package/cjs/AnimationState.js +25 -42
  2. package/cjs/DSShuttle.js +89 -189
  3. package/cjs/SearchState.js +9 -22
  4. package/cjs/Shuttle.actions.js +57 -75
  5. package/cjs/ShuttleContainer.js +44 -79
  6. package/cjs/ShuttleImpl.js +236 -342
  7. package/cjs/ShuttleRenderer.js +114 -188
  8. package/cjs/ShuttleState.js +19 -41
  9. package/cjs/animation/animationConfig.js +58 -65
  10. package/cjs/classedComponents.js +37 -49
  11. package/cjs/components/LoadingIndicator.js +11 -12
  12. package/cjs/components/OverflowList.js +27 -34
  13. package/cjs/components/ShuttleBreadcrumb.js +23 -35
  14. package/cjs/components/ShuttleInfiniteScrollIndicator.js +21 -23
  15. package/cjs/components/ShuttleListItem/ActionButtons.js +34 -34
  16. package/cjs/components/ShuttleListItem/ShuttleListItem.js +57 -64
  17. package/cjs/components/ShuttleListItem/ShuttleSourceListItem.js +34 -64
  18. package/cjs/components/ShuttleListItem/ShuttleTargetListItem.js +30 -53
  19. package/cjs/components/ShuttleListPanel.js +11 -24
  20. package/cjs/components/ShuttleSearchBox.js +81 -107
  21. package/cjs/components/ShuttleSource.js +93 -175
  22. package/cjs/components/ShuttleTarget.js +55 -85
  23. package/cjs/components/VirtualizedItem.js +22 -22
  24. package/cjs/components/VirtualizedList.js +56 -66
  25. package/cjs/components/VirtualizedSortableList.js +20 -23
  26. package/cjs/helper.js +37 -89
  27. package/cjs/index.js +1 -64
  28. package/cjs/package.json +7 -0
  29. package/cjs/updateShuttleStateFromProps.js +31 -40
  30. package/cjs/utils.js +4 -9
  31. package/cjs/withProviders.js +10 -16
  32. package/esm/AnimationState.js +24 -40
  33. package/esm/DSShuttle.js +86 -186
  34. package/esm/SearchState.js +8 -20
  35. package/esm/Shuttle.actions.js +56 -73
  36. package/esm/ShuttleContainer.js +42 -77
  37. package/esm/ShuttleImpl.js +240 -337
  38. package/esm/ShuttleRenderer.js +110 -183
  39. package/esm/ShuttleState.js +14 -34
  40. package/esm/animation/animationConfig.js +58 -65
  41. package/esm/classedComponents.js +31 -43
  42. package/esm/components/LoadingIndicator.js +10 -11
  43. package/esm/components/OverflowList.js +23 -30
  44. package/esm/components/ShuttleBreadcrumb.js +21 -33
  45. package/esm/components/ShuttleInfiniteScrollIndicator.js +20 -22
  46. package/esm/components/ShuttleListItem/ActionButtons.js +32 -32
  47. package/esm/components/ShuttleListItem/ShuttleListItem.js +55 -62
  48. package/esm/components/ShuttleListItem/ShuttleSourceListItem.js +30 -59
  49. package/esm/components/ShuttleListItem/ShuttleTargetListItem.js +26 -49
  50. package/esm/components/ShuttleListPanel.js +10 -23
  51. package/esm/components/ShuttleSearchBox.js +79 -99
  52. package/esm/components/ShuttleSource.js +82 -162
  53. package/esm/components/ShuttleTarget.js +49 -79
  54. package/esm/components/VirtualizedItem.js +20 -20
  55. package/esm/components/VirtualizedList.js +52 -62
  56. package/esm/components/VirtualizedSortableList.js +16 -18
  57. package/esm/helper.js +35 -85
  58. package/esm/index.js +0 -63
  59. package/esm/package.json +7 -0
  60. package/esm/updateShuttleStateFromProps.js +30 -38
  61. package/esm/utils.js +1 -4
  62. package/esm/withProviders.js +8 -15
  63. package/package.json +150 -13
  64. package/types/AnimationState.d.ts +26 -0
  65. package/types/DSShuttle.d.ts +119 -0
  66. package/types/SearchState.d.ts +22 -0
  67. package/types/Shuttle.actions.d.ts +11 -0
  68. package/types/ShuttleContainer.d.ts +3 -0
  69. package/types/ShuttleImpl.d.ts +3 -0
  70. package/types/ShuttleRenderer.d.ts +37 -0
  71. package/types/ShuttleState.d.ts +53 -0
  72. package/types/animation/animationConfig.d.ts +68 -0
  73. package/types/classedComponents.d.ts +14 -0
  74. package/types/components/LoadingIndicator.d.ts +3 -0
  75. package/types/components/OverflowList.d.ts +7 -0
  76. package/types/components/ShuttleBreadcrumb.d.ts +7 -0
  77. package/types/components/ShuttleInfiniteScrollIndicator.d.ts +5 -0
  78. package/types/components/ShuttleListItem/ActionButtons.d.ts +4 -0
  79. package/types/components/ShuttleListItem/ShuttleListItem.d.ts +14 -0
  80. package/types/components/ShuttleListItem/ShuttleSourceListItem.d.ts +13 -0
  81. package/types/components/ShuttleListItem/ShuttleTargetListItem.d.ts +13 -0
  82. package/types/components/ShuttleListPanel.d.ts +7 -0
  83. package/types/components/ShuttleSearchBox.d.ts +20 -0
  84. package/types/components/ShuttleSource.d.ts +54 -0
  85. package/types/components/ShuttleTarget.d.ts +16 -0
  86. package/types/components/VirtualizedItem.d.ts +3 -0
  87. package/types/components/VirtualizedList.d.ts +12 -0
  88. package/types/components/VirtualizedSortableList.d.ts +6 -0
  89. package/types/helper.d.ts +16 -0
  90. package/types/index.d.ts +1 -0
  91. package/types/tests/DSShuttle.events.test.d.ts +1 -0
  92. package/types/tests/DSShuttle.test.d.ts +1 -0
  93. package/types/tests/utils.d.ts +116 -0
  94. package/types/updateShuttleStateFromProps.d.ts +1 -0
  95. package/types/utils.d.ts +2 -0
  96. package/types/withProviders.d.ts +3 -0
  97. package/AnimationState/package.json +0 -10
  98. package/DSShuttle/package.json +0 -10
  99. package/SearchState/package.json +0 -10
  100. package/Shuttle.actions/package.json +0 -10
  101. package/ShuttleContainer/package.json +0 -10
  102. package/ShuttleImpl/package.json +0 -10
  103. package/ShuttleRenderer/package.json +0 -10
  104. package/ShuttleState/package.json +0 -10
  105. package/animation/animationConfig/package.json +0 -10
  106. package/cjs/AnimationState.js.map +0 -1
  107. package/cjs/DSShuttle.js.map +0 -1
  108. package/cjs/SearchState.js.map +0 -1
  109. package/cjs/Shuttle.actions.js.map +0 -1
  110. package/cjs/ShuttleContainer.js.map +0 -1
  111. package/cjs/ShuttleImpl.js.map +0 -1
  112. package/cjs/ShuttleRenderer.js.map +0 -1
  113. package/cjs/ShuttleState.js.map +0 -1
  114. package/cjs/animation/animationConfig.js.map +0 -1
  115. package/cjs/classedComponents.js.map +0 -1
  116. package/cjs/components/LoadingIndicator.js.map +0 -1
  117. package/cjs/components/OverflowList.js.map +0 -1
  118. package/cjs/components/ShuttleBreadcrumb.js.map +0 -1
  119. package/cjs/components/ShuttleInfiniteScrollIndicator.js.map +0 -1
  120. package/cjs/components/ShuttleListItem/ActionButtons.js.map +0 -1
  121. package/cjs/components/ShuttleListItem/ShuttleListItem.js.map +0 -1
  122. package/cjs/components/ShuttleListItem/ShuttleSourceListItem.js.map +0 -1
  123. package/cjs/components/ShuttleListItem/ShuttleTargetListItem.js.map +0 -1
  124. package/cjs/components/ShuttleListPanel.js.map +0 -1
  125. package/cjs/components/ShuttleSearchBox.js.map +0 -1
  126. package/cjs/components/ShuttleSource.js.map +0 -1
  127. package/cjs/components/ShuttleTarget.js.map +0 -1
  128. package/cjs/components/VirtualizedItem.js.map +0 -1
  129. package/cjs/components/VirtualizedList.js.map +0 -1
  130. package/cjs/components/VirtualizedSortableList.js.map +0 -1
  131. package/cjs/helper.js.map +0 -1
  132. package/cjs/index.js.map +0 -1
  133. package/cjs/tests/utils.js +0 -1112
  134. package/cjs/tests/utils.js.map +0 -1
  135. package/cjs/updateShuttleStateFromProps.js.map +0 -1
  136. package/cjs/utils.js.map +0 -1
  137. package/cjs/withProviders.js.map +0 -1
  138. package/classedComponents/package.json +0 -10
  139. package/components/LoadingIndicator/package.json +0 -10
  140. package/components/OverflowList/package.json +0 -10
  141. package/components/ShuttleBreadcrumb/package.json +0 -10
  142. package/components/ShuttleInfiniteScrollIndicator/package.json +0 -10
  143. package/components/ShuttleListItem/ActionButtons/package.json +0 -10
  144. package/components/ShuttleListItem/ShuttleListItem/package.json +0 -10
  145. package/components/ShuttleListItem/ShuttleSourceListItem/package.json +0 -10
  146. package/components/ShuttleListItem/ShuttleTargetListItem/package.json +0 -10
  147. package/components/ShuttleListPanel/package.json +0 -10
  148. package/components/ShuttleSearchBox/package.json +0 -10
  149. package/components/ShuttleSource/package.json +0 -10
  150. package/components/ShuttleTarget/package.json +0 -10
  151. package/components/VirtualizedItem/package.json +0 -10
  152. package/components/VirtualizedList/package.json +0 -10
  153. package/components/VirtualizedSortableList/package.json +0 -10
  154. package/esm/AnimationState.js.map +0 -1
  155. package/esm/DSShuttle.js.map +0 -1
  156. package/esm/SearchState.js.map +0 -1
  157. package/esm/Shuttle.actions.js.map +0 -1
  158. package/esm/ShuttleContainer.js.map +0 -1
  159. package/esm/ShuttleImpl.js.map +0 -1
  160. package/esm/ShuttleRenderer.js.map +0 -1
  161. package/esm/ShuttleState.js.map +0 -1
  162. package/esm/animation/animationConfig.js.map +0 -1
  163. package/esm/classedComponents.js.map +0 -1
  164. package/esm/components/LoadingIndicator.js.map +0 -1
  165. package/esm/components/OverflowList.js.map +0 -1
  166. package/esm/components/ShuttleBreadcrumb.js.map +0 -1
  167. package/esm/components/ShuttleInfiniteScrollIndicator.js.map +0 -1
  168. package/esm/components/ShuttleListItem/ActionButtons.js.map +0 -1
  169. package/esm/components/ShuttleListItem/ShuttleListItem.js.map +0 -1
  170. package/esm/components/ShuttleListItem/ShuttleSourceListItem.js.map +0 -1
  171. package/esm/components/ShuttleListItem/ShuttleTargetListItem.js.map +0 -1
  172. package/esm/components/ShuttleListPanel.js.map +0 -1
  173. package/esm/components/ShuttleSearchBox.js.map +0 -1
  174. package/esm/components/ShuttleSource.js.map +0 -1
  175. package/esm/components/ShuttleTarget.js.map +0 -1
  176. package/esm/components/VirtualizedItem.js.map +0 -1
  177. package/esm/components/VirtualizedList.js.map +0 -1
  178. package/esm/components/VirtualizedSortableList.js.map +0 -1
  179. package/esm/helper.js.map +0 -1
  180. package/esm/index.js.map +0 -1
  181. package/esm/tests/utils.js +0 -1100
  182. package/esm/tests/utils.js.map +0 -1
  183. package/esm/updateShuttleStateFromProps.js.map +0 -1
  184. package/esm/utils.js.map +0 -1
  185. package/esm/withProviders.js.map +0 -1
  186. package/helper/package.json +0 -10
  187. package/tests/utils/package.json +0 -10
  188. package/updateShuttleStateFromProps/package.json +0 -10
  189. package/utils/package.json +0 -10
  190. package/withProviders/package.json +0 -10
@@ -1 +0,0 @@
1
- {"version":3,"file":"ShuttleContainer.js","sources":["../../src/ShuttleContainer.tsx"],"sourcesContent":["/* eslint-disable no-shadow */\nimport { useContext, useMemo } from 'react';\nimport {\n isFunction,\n compose,\n uniqBy,\n values,\n sortBy,\n} from '@elliemae/ds-utilities/utils';\nimport withProviders from './withProviders';\nimport {\n prepareItems,\n getActiveIdFromHierarchy,\n filterItemsByHierarchy,\n getItemsById,\n} from './helper';\nimport SearchState from './SearchState';\nimport useShuttleState from './ShuttleState';\n\nfunction filterItemsByTerm(items, term) {\n return items.filter(\n item =>\n item.name.toLowerCase().indexOf(String(term).toLowerCase()) !== -1 ||\n String(item.id).indexOf(String(term).toLowerCase()) !== -1,\n );\n}\n\nfunction ShuttleContainer({ items = [], children }) {\n const { state: shuttleState, ...handlers } = useContext(\n useShuttleState.Context,\n );\n const { state: searchState } = useContext(SearchState.Context);\n const {\n movedItems,\n hierarchy,\n hierarchyDest,\n checkedItems,\n searchTerm,\n searching,\n toggleItemSelection,\n resetCheckedItems,\n resetMovedItems,\n moveCheckedItems,\n moveItem,\n navigate,\n } = { ...shuttleState, ...searchState, ...handlers };\n\n const sourceItems = useMemo(\n () =>\n compose(\n items => items.filter(item => !movedItems[item.id]),\n items =>\n searchTerm && searching\n ? filterItemsByTerm(items, searchTerm)\n : items,\n items =>\n filterItemsByHierarchy(items, getActiveIdFromHierarchy(hierarchy).id),\n items => prepareItems(items),\n )(items),\n [items, searchTerm, searching, hierarchy, movedItems],\n );\n\n const targetItems = useMemo(() => {\n const hierarchyId = getActiveIdFromHierarchy(hierarchyDest).id;\n return compose(\n items => sortBy(items, ['name']),\n items =>\n hierarchyId\n ? filterItemsByHierarchy(items, hierarchyId).filter(\n item => !movedItems[item.id],\n )\n : uniqBy(values(movedItems), 'id'),\n )(items);\n }, [items, searching, hierarchyDest, movedItems]);\n\n return (\n isFunction(children) &&\n children({\n checkedItems,\n hierarchy,\n hierarchyDest,\n onCheckItem: toggleItemSelection,\n onClearCheckedItems: resetCheckedItems,\n onClearMovedItems: resetMovedItems,\n onMoveCheckedItems: () =>\n moveCheckedItems(getItemsById(checkedItems, items)),\n onMoveItemToSource: item => moveItem(item, false),\n onMoveItemToTarget: item => moveItem(item, true),\n onNavigateOnSourceTo: item => navigate(item, false),\n onNavigateOnTargetTo: item => navigate(item, true),\n sourceItems,\n targetItems,\n })\n );\n}\n\nexport default withProviders(ShuttleContainer);\n"],"names":["filterItemsByTerm","items","term","filter","item","name","toLowerCase","indexOf","String","id","ShuttleContainer","children","useContext","useShuttleState","Context","shuttleState","state","handlers","SearchState","searchState","movedItems","hierarchy","hierarchyDest","checkedItems","searchTerm","searching","toggleItemSelection","resetCheckedItems","resetMovedItems","moveCheckedItems","moveItem","navigate","sourceItems","useMemo","compose","filterItemsByHierarchy","getActiveIdFromHierarchy","prepareItems","targetItems","hierarchyId","sortBy","uniqBy","values","isFunction","onCheckItem","onClearCheckedItems","onClearMovedItems","onMoveCheckedItems","getItemsById","onMoveItemToSource","onMoveItemToTarget","onNavigateOnSourceTo","onNavigateOnTargetTo","withProviders"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,SAASA,iBAAT,CAA2BC,KAA3B,EAAkCC,IAAlC,EAAwC;AACtC,SAAOD,KAAK,CAACE,MAAN,CACL,UAAAC,IAAI;AAAA,WACFA,IAAI,CAACC,IAAL,CAAUC,WAAV,GAAwBC,OAAxB,CAAgCC,MAAM,CAACN,IAAD,CAAN,CAAaI,WAAb,EAAhC,MAAgE,CAAC,CAAjE,IACAE,MAAM,CAACJ,IAAI,CAACK,EAAN,CAAN,CAAgBF,OAAhB,CAAwBC,MAAM,CAACN,IAAD,CAAN,CAAaI,WAAb,EAAxB,MAAwD,CAAC,CAFvD;AAAA,GADC,CAAP;AAKD;;AAED,SAASI,gBAAT,OAAoD;AAAA,wBAAxBT,KAAwB;AAAA,MAAxBA,KAAwB,2BAAhB,EAAgB;AAAA,MAAZU,QAAY,QAAZA,QAAY;;AAClD,oBAA6CC,gBAAU,CACrDC,YAAe,CAACC,OADqC,CAAvD;AAAA,MAAeC,YAAf,eAAQC,KAAR;AAAA,MAAgCC,QAAhC;;AAGA,qBAA+BL,gBAAU,CAACM,WAAW,CAACJ,OAAb,CAAzC;AAAA,MAAeK,WAAf,gBAAQH,KAAR;;AACA,4EAaSD,YAbT,GAa0BI,WAb1B,GAa0CF,QAb1C;AAAA,MACEG,UADF,yBACEA,UADF;AAAA,MAEEC,SAFF,yBAEEA,SAFF;AAAA,MAGEC,aAHF,yBAGEA,aAHF;AAAA,MAIEC,YAJF,yBAIEA,YAJF;AAAA,MAKEC,UALF,yBAKEA,UALF;AAAA,MAMEC,SANF,yBAMEA,SANF;AAAA,MAOEC,mBAPF,yBAOEA,mBAPF;AAAA,MAQEC,iBARF,yBAQEA,iBARF;AAAA,MASEC,eATF,yBASEA,eATF;AAAA,MAUEC,gBAVF,yBAUEA,gBAVF;AAAA,MAWEC,QAXF,yBAWEA,QAXF;AAAA,MAYEC,QAZF,yBAYEA,QAZF;;AAeA,MAAMC,WAAW,GAAGC,aAAO,CACzB;AAAA,WACEC,aAAO,CACL,UAAAjC,KAAK;AAAA,aAAIA,KAAK,CAACE,MAAN,CAAa,UAAAC,IAAI;AAAA,eAAI,CAACgB,UAAU,CAAChB,IAAI,CAACK,EAAN,CAAf;AAAA,OAAjB,CAAJ;AAAA,KADA,EAEL,UAAAR,KAAK;AAAA,aACHuB,UAAU,IAAIC,SAAd,GACIzB,iBAAiB,CAACC,KAAD,EAAQuB,UAAR,CADrB,GAEIvB,KAHD;AAAA,KAFA,EAML,UAAAA,KAAK;AAAA,aACHkC,6BAAsB,CAAClC,KAAD,EAAQmC,+BAAwB,CAACf,SAAD,CAAxB,CAAoCZ,EAA5C,CADnB;AAAA,KANA,EAQL,UAAAR,KAAK;AAAA,aAAIoC,mBAAY,CAACpC,KAAD,CAAhB;AAAA,KARA,CAAP,CASEA,KATF,CADF;AAAA,GADyB,EAYzB,CAACA,KAAD,EAAQuB,UAAR,EAAoBC,SAApB,EAA+BJ,SAA/B,EAA0CD,UAA1C,CAZyB,CAA3B;AAeA,MAAMkB,WAAW,GAAGL,aAAO,CAAC,YAAM;AAChC,QAAMM,WAAW,GAAGH,+BAAwB,CAACd,aAAD,CAAxB,CAAwCb,EAA5D;AACA,WAAOyB,aAAO,CACZ,UAAAjC,KAAK;AAAA,aAAIuC,YAAM,CAACvC,KAAD,EAAQ,CAAC,MAAD,CAAR,CAAV;AAAA,KADO,EAEZ,UAAAA,KAAK;AAAA,aACHsC,WAAW,GACPJ,6BAAsB,CAAClC,KAAD,EAAQsC,WAAR,CAAtB,CAA2CpC,MAA3C,CACE,UAAAC,IAAI;AAAA,eAAI,CAACgB,UAAU,CAAChB,IAAI,CAACK,EAAN,CAAf;AAAA,OADN,CADO,GAIPgC,YAAM,CAACC,YAAM,CAACtB,UAAD,CAAP,EAAqB,IAArB,CALP;AAAA,KAFO,CAAP,CAQLnB,KARK,CAAP;AASD,GAX0B,EAWxB,CAACA,KAAD,EAAQwB,SAAR,EAAmBH,aAAnB,EAAkCF,UAAlC,CAXwB,CAA3B;AAaA,SACEuB,gBAAU,CAAChC,QAAD,CAAV,IACAA,QAAQ,CAAC;AACPY,IAAAA,YAAY,EAAZA,YADO;AAEPF,IAAAA,SAAS,EAATA,SAFO;AAGPC,IAAAA,aAAa,EAAbA,aAHO;AAIPsB,IAAAA,WAAW,EAAElB,mBAJN;AAKPmB,IAAAA,mBAAmB,EAAElB,iBALd;AAMPmB,IAAAA,iBAAiB,EAAElB,eANZ;AAOPmB,IAAAA,kBAAkB,EAAE;AAAA,aAClBlB,gBAAgB,CAACmB,mBAAY,CAACzB,YAAD,EAAetB,KAAf,CAAb,CADE;AAAA,KAPb;AASPgD,IAAAA,kBAAkB,EAAE,4BAAA7C,IAAI;AAAA,aAAI0B,QAAQ,CAAC1B,IAAD,EAAO,KAAP,CAAZ;AAAA,KATjB;AAUP8C,IAAAA,kBAAkB,EAAE,4BAAA9C,IAAI;AAAA,aAAI0B,QAAQ,CAAC1B,IAAD,EAAO,IAAP,CAAZ;AAAA,KAVjB;AAWP+C,IAAAA,oBAAoB,EAAE,8BAAA/C,IAAI;AAAA,aAAI2B,QAAQ,CAAC3B,IAAD,EAAO,KAAP,CAAZ;AAAA,KAXnB;AAYPgD,IAAAA,oBAAoB,EAAE,8BAAAhD,IAAI;AAAA,aAAI2B,QAAQ,CAAC3B,IAAD,EAAO,IAAP,CAAZ;AAAA,KAZnB;AAaP4B,IAAAA,WAAW,EAAXA,WAbO;AAcPM,IAAAA,WAAW,EAAXA;AAdO,GAAD,CAFV;AAmBD;;AAED,yBAAee,aAAa,CAAC3C,gBAAD,CAA5B;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ShuttleImpl.js","sources":["../../src/ShuttleImpl.tsx"],"sourcesContent":["/* eslint-disable react/static-property-placement */\n/* eslint-disable react/prop-types */\n/* eslint-disable indent */\n/* eslint-disable import/extensions,react/no-unused-state,no-shadow,max-lines */\nimport React, { Component } from 'react';\nimport { compose, arrayMove } from '@elliemae/ds-utilities/utils';\nimport withProviders from './withProviders';\nimport {\n addToTarget,\n navigateTo,\n resetCheckedItems,\n resetMovedItems,\n toggleItemSelection,\n removeFromTarget,\n} from './Shuttle.actions';\nimport {\n getActiveIdFromHierarchy,\n filterBySearch,\n getItemsById,\n pipe,\n getChildrenFromParent,\n filterMovedItems,\n} from './helper';\nimport ShuttleRenderer from './ShuttleRenderer';\nimport SearchState from './SearchState';\nimport updateShuttleStateFromProps from './updateShuttleStateFromProps';\n\nclass ShuttleImpl extends Component {\n static contextType = SearchState.Context;\n\n constructor(props) {\n super(props);\n this.state = {\n prevProps: {},\n preparedItems: [],\n checkedItems: [],\n // left breadcrumb\n hierarchy: [{ name: props.sourceRootTitle, id: null }],\n // right breadcrumb\n hierarchyDest: [{ name: props.targetRootTitle, id: null }],\n\n movedItems: [],\n sourceItems: [],\n targetItems: [],\n };\n }\n\n static getDerivedStateFromProps(nextProps, prevState) {\n return updateShuttleStateFromProps(nextProps, prevState);\n }\n\n componentDidMount() {\n const { setGetStatus } = this.props;\n setGetStatus(this.getState);\n }\n\n getState = () => {\n const { movedItems } = this.state;\n return Object.keys(movedItems);\n };\n\n handleChange() {\n const { onChange } = this.props;\n const { movedItems } = this.state;\n onChange(Object.keys(movedItems));\n }\n\n navigate(item, dest, direction) {\n const { onDrillDown, onDrillDownTarget } = this.props;\n\n if (!dest) onDrillDown(item, direction);\n if (dest) onDrillDownTarget(item, direction);\n\n const { reset: resetSearchState } = this.context;\n resetSearchState();\n\n this.setState(pipe([navigateTo(item, dest), resetCheckedItems()]));\n }\n\n resetCheckedItems() {\n this.setState(resetCheckedItems());\n }\n\n resetMovedItems() {\n const { selectedItems, onRemoveAllFromTarget } = this.props;\n if (!selectedItems) {\n this.setState(\n pipe([navigateTo({ id: null }, true), resetMovedItems()]),\n () => {\n this.handleChange();\n },\n );\n } else {\n this.setState(pipe([navigateTo({ id: null }, true)]));\n }\n onRemoveAllFromTarget();\n }\n\n addToTarget(item) {\n const { selectedItems, onAddToTarget } = this.props;\n if (!selectedItems) {\n this.setState(pipe([addToTarget(item), resetCheckedItems()]), () => {\n this.handleChange();\n });\n }\n onAddToTarget(item);\n }\n\n removeFromTarget(item) {\n const { selectedItems, onRemoveFromTarget } = this.props;\n if (!selectedItems) {\n this.setState(pipe([removeFromTarget(item)]), () => {\n this.handleChange();\n });\n }\n onRemoveFromTarget(item);\n }\n\n toggleItemSelection(item) {\n this.setState(toggleItemSelection(item.id));\n }\n\n moveCheckedItems() {\n const { onAddCheckedItems, selectedItems, nonSelectedItems } = this.props;\n const { checkedItems, preparedItems } = this.state;\n const isControlledV2 = !!selectedItems && !!nonSelectedItems;\n const checked = isControlledV2\n ? nonSelectedItems.filter((item) =>\n checkedItems.some((check) => check === item),\n )\n : checkedItems;\n const items = getItemsById(checked, preparedItems);\n const actions = !selectedItems\n ? items.map((item) => addToTarget(item))\n : [];\n this.setState(pipe([...actions, resetCheckedItems()]), () => {\n this.handleChange();\n });\n onAddCheckedItems(items);\n }\n\n handleTargetSortEnd({ sourceItem, targetItem }) {\n const { idField, onTargetSortEnd } = this.props;\n const { targetItems, hierarchyDest, movedItems } = this.state;\n\n const hierarchyId = getActiveIdFromHierarchy(hierarchyDest).id;\n\n const collection = !hierarchyId ? movedItems : targetItems;\n\n const oldIndex = collection.findIndex(\n (tItem) => tItem[idField] === sourceItem[idField],\n );\n const newIndex = collection.findIndex(\n (tItem) => tItem[idField] === targetItem[idField],\n );\n\n const sortedMovedItems = !hierarchyId\n ? arrayMove(movedItems, oldIndex, newIndex)\n : movedItems;\n const sortedItems = hierarchyId\n ? arrayMove(targetItems, oldIndex, newIndex)\n : targetItems;\n\n this.setState({\n targetItems: sortedItems,\n movedItems: sortedMovedItems,\n });\n onTargetSortEnd({ sourceItem, targetItem });\n }\n\n render() {\n const { idField, nonSelectedItems, moreItemsLoading, ...rest } = this.props;\n const {\n hierarchy,\n hierarchyDest,\n checkedItems,\n movedItems,\n preparedItems: items,\n targetItems,\n } = this.state;\n const {\n state: { searchTerm, searching },\n } = this.context;\n\n const handleControlledSourceItms = () => {\n const { id } = getActiveIdFromHierarchy(hierarchy);\n if (id) {\n return filterBySearch(\n searchTerm,\n searching,\n )(\n getChildrenFromParent(id)(\n nonSelectedItems.map((it) => items.find((itt) => itt.id === it)),\n ),\n );\n }\n\n return filterBySearch(\n searchTerm,\n searching,\n )(\n items.filter((it) =>\n nonSelectedItems.some(\n (itt) =>\n itt === it.id &&\n !nonSelectedItems.some((ittt) => ittt === it.parent),\n ),\n ),\n );\n };\n\n let composedSourceItems;\n\n // controlled V2 TODO make it default controlled behavior\n if (nonSelectedItems) {\n composedSourceItems = handleControlledSourceItms();\n } else {\n composedSourceItems = compose(\n filterBySearch(searchTerm, searching),\n filterMovedItems(movedItems),\n getChildrenFromParent(getActiveIdFromHierarchy(hierarchy).id),\n )(items);\n }\n\n const handleControlledTargetItms = () => {\n const { id } = getActiveIdFromHierarchy(hierarchyDest);\n if (id) {\n return getChildrenFromParent(\n getActiveIdFromHierarchy(hierarchyDest).id,\n )(\n this.props.selectedItems.map((it) =>\n items.find((itt) => itt.id === it),\n ),\n );\n }\n\n return targetItems.filter((it) =>\n this.props.selectedItems.some(\n (itt) =>\n itt === it.id &&\n !this.props.selectedItems.some((ittt) => ittt === it.parent),\n ),\n );\n };\n\n let composedTargetItems;\n\n // controlled V2 TODO make it default controlled behavior\n if (nonSelectedItems) {\n composedTargetItems = handleControlledTargetItms();\n } else {\n composedTargetItems = compose((tItems) => {\n const hierarchyId = getActiveIdFromHierarchy(hierarchyDest).id;\n return hierarchyId\n ? compose(\n filterMovedItems(movedItems),\n getChildrenFromParent(hierarchyId),\n )(tItems)\n : movedItems;\n })(targetItems);\n }\n\n return (\n <ShuttleRenderer\n {...rest}\n moreItemsLoading={moreItemsLoading}\n checkedItems={checkedItems}\n hierarchy={hierarchy}\n hierarchyDest={hierarchyDest}\n onCheckItem={this.toggleItemSelection}\n onClearCheckedItems={this.resetCheckedItems}\n onClearMovedItems={this.resetMovedItems}\n onItemCheck={this.toggleItemSelection}\n onMoveCheckedItems={this.moveCheckedItems}\n onMoveItemToSource={(item) => this.removeFromTarget(item, false)}\n onMoveItemToTarget={(item) => this.addToTarget(item, true)}\n onNavigateOnSourceTo={(item, direction) =>\n this.navigate(item, false, direction)\n }\n onNavigateOnTargetTo={(item, direction) =>\n this.navigate(item, true, direction)\n }\n onSourceSortEnd={() => null}\n onTargetSortEnd={this.handleTargetSortEnd}\n sourceItems={composedSourceItems}\n targetItems={composedTargetItems}\n />\n );\n }\n}\n\nexport default withProviders(ShuttleImpl);\n"],"names":["ShuttleImpl","props","movedItems","state","Object","keys","prevProps","preparedItems","checkedItems","hierarchy","name","sourceRootTitle","id","hierarchyDest","targetRootTitle","sourceItems","targetItems","setGetStatus","getState","onChange","item","dest","direction","onDrillDown","onDrillDownTarget","resetSearchState","context","reset","setState","pipe","navigateTo","resetCheckedItems","selectedItems","onRemoveAllFromTarget","resetMovedItems","handleChange","onAddToTarget","addToTarget","onRemoveFromTarget","removeFromTarget","toggleItemSelection","onAddCheckedItems","nonSelectedItems","isControlledV2","checked","filter","some","check","items","getItemsById","actions","map","sourceItem","targetItem","idField","onTargetSortEnd","hierarchyId","getActiveIdFromHierarchy","collection","oldIndex","findIndex","tItem","newIndex","sortedMovedItems","arrayMove","sortedItems","moreItemsLoading","rest","searchTerm","searching","handleControlledSourceItms","filterBySearch","getChildrenFromParent","it","find","itt","ittt","parent","composedSourceItems","compose","filterMovedItems","handleControlledTargetItms","composedTargetItems","tItems","React","moveCheckedItems","navigate","handleTargetSortEnd","nextProps","prevState","updateShuttleStateFromProps","Component","SearchState","Context","withProviders"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ShuttleRenderer.js","sources":["../../src/ShuttleRenderer.tsx"],"sourcesContent":["/* eslint-disable react/prop-types */\n/* eslint-disable max-lines */\nimport React, { useCallback, useContext } from 'react';\nimport ShuttleSource from './components/ShuttleSource';\nimport ShuttleTarget from './components/ShuttleTarget';\nimport { ShuttleContainer } from './classedComponents';\nimport AnimationContext from './AnimationState';\n\n// todo: clean methods on jsx\nconst noop = () => {};\nfunction ShuttleRenderer({\n containerProps,\n onNavigateOnTargetTo = noop,\n onNavigateOnSourceTo = noop,\n onMoveItemToSource = noop,\n onMoveItemToTarget = noop,\n onClearMovedItems = noop,\n onMoveCheckedItems = noop,\n onClearCheckedItems = noop,\n onToggleSearch = noop,\n onSearch = noop,\n onSearchClose = noop,\n onSearchOpen = noop,\n searching = false,\n onCheckItem = noop,\n hierarchy = [],\n hierarchyDest = [],\n checkedItems = [],\n sourceItems = [],\n targetItems = [],\n sourceEmptyMessage,\n targetEmptyMessage,\n composeTargetItemProps,\n composeSourceItemProps,\n targetSortable,\n sourceSortable,\n onSourceSortEnd,\n onTargetSortEnd,\n loadingSource = false,\n loadingTarget = false,\n onGetMoreItems = () => {},\n moreItemsLoading = false,\n hasNextPage = false,\n ...otherProps\n}) {\n const { setIsMoving, setIsDrillingDown, setIsMovingBack, reset } = useContext(\n AnimationContext.Context,\n );\n\n const removeAnimationState = useCallback(() =>\n setTimeout(() => reset(), 500),\n );\n\n return (\n <ShuttleContainer data-testid=\"em-ds-shuttle\" {...containerProps}>\n <ShuttleSource\n {...otherProps}\n checkedItems={checkedItems}\n composeSourceItemProps={composeSourceItemProps}\n emptyMessage={sourceEmptyMessage}\n hierarchy={hierarchy}\n items={sourceItems}\n onCheckItem={onCheckItem}\n onClearCheckedItems={onClearCheckedItems}\n onMoveCheckedItems={(item) => {\n setIsMoving(true);\n onMoveCheckedItems(item);\n }}\n onMoveItem={(item) => {\n setIsMoving(true);\n onMoveItemToTarget(item);\n removeAnimationState();\n }}\n onNavigateTo={(item, direction = 'down') => {\n const indexInHierarchy = hierarchy.findIndex(\n (hItem) => hItem.id === item.id,\n );\n setIsDrillingDown(indexInHierarchy === -1);\n onNavigateOnSourceTo(item, direction);\n }}\n onSearch={onSearch}\n onSearchClose={onSearchClose}\n onSearchOpen={onSearchOpen}\n onSortEnd={onSourceSortEnd}\n onToggleSearch={onToggleSearch}\n searching={searching}\n sourceSortable={sourceSortable}\n loading={loadingSource}\n onGetMoreItems={onGetMoreItems}\n moreItemsLoading={moreItemsLoading}\n hasNextPage={hasNextPage}\n />\n <ShuttleTarget\n {...otherProps}\n composeTargetItemProps={composeTargetItemProps}\n emptyMessage={targetEmptyMessage}\n hierarchy={hierarchyDest}\n items={targetItems}\n onClearMovedItems={() => {\n setIsMovingBack(true);\n removeAnimationState();\n onClearMovedItems();\n }}\n onMoveItem={(item) => {\n setIsMovingBack(true);\n removeAnimationState();\n onMoveItemToSource(item);\n }}\n onNavigateTo={(item, direction = 'down') => {\n const indexInHierarchy = hierarchyDest.findIndex(\n (hItem) => hItem.id === item.id,\n );\n setIsDrillingDown(indexInHierarchy === -1);\n onNavigateOnTargetTo(item, direction);\n }}\n onSortEnd={onTargetSortEnd}\n targetSortable={targetSortable}\n loading={loadingTarget}\n />\n </ShuttleContainer>\n );\n}\n\nexport default ShuttleRenderer;\n"],"names":["noop","ShuttleRenderer","containerProps","onNavigateOnTargetTo","onNavigateOnSourceTo","onMoveItemToSource","onMoveItemToTarget","onClearMovedItems","onMoveCheckedItems","onClearCheckedItems","onToggleSearch","onSearch","onSearchClose","onSearchOpen","searching","onCheckItem","hierarchy","hierarchyDest","checkedItems","sourceItems","targetItems","sourceEmptyMessage","targetEmptyMessage","composeTargetItemProps","composeSourceItemProps","targetSortable","sourceSortable","onSourceSortEnd","onTargetSortEnd","loadingSource","loadingTarget","onGetMoreItems","moreItemsLoading","hasNextPage","otherProps","useContext","AnimationContext","Context","setIsMoving","setIsDrillingDown","setIsMovingBack","reset","removeAnimationState","useCallback","setTimeout","React","ShuttleContainer","ShuttleSource","item","direction","indexInHierarchy","findIndex","hItem","id","ShuttleTarget"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ShuttleState.js","sources":["../../src/ShuttleState.tsx"],"sourcesContent":["import { useState } from 'react';\nimport createContainer from 'constate';\nimport { getItemsById, pipe } from './helper';\nimport * as actions from './Shuttle.actions';\n\nfunction useShuttleState() {\n const [shuttleState, setShuttleState] = useState({\n checkedItems: [],\n movedItems: {},\n hierarchy: [{ name: 'Category', id: null }],\n hierarchyDest: [{ name: 'Added users', id: null }],\n });\n\n const setState = state => setShuttleState(state(shuttleState));\n\n function setMovedItems(itemsIds = [], items = []) {\n const itemsToMove = getItemsById(itemsIds, items);\n const pipeActions = itemsToMove.map(item => actions.moveItem(item, true));\n setState(pipe([actions.resetMovedItems(), ...pipeActions]));\n }\n\n function navigate(item, dest) {\n setState(\n pipe([actions.navigateTo(item, dest), actions.resetCheckedItems()]),\n );\n }\n\n function resetCheckedItems() {\n setState(actions.resetCheckedItems());\n }\n\n function resetMovedItems() {\n setState(\n pipe([actions.navigateTo({ id: null }, true), actions.resetMovedItems()]),\n );\n }\n\n function moveItem(item, dest) {\n setState(pipe([actions.moveItem(item, dest), actions.resetCheckedItems()]));\n }\n\n function toggleItemSelection(item) {\n setState(actions.toggleItemSelection(item.id));\n }\n\n function moveCheckedItems(items, dest = true) {\n const pipeActions = items.map(item => moveItem(item, dest));\n setState(pipe([...pipeActions, resetCheckedItems()]));\n }\n\n return {\n state: shuttleState,\n toggleItemSelection,\n moveCheckedItems,\n moveItem,\n resetMovedItems,\n resetCheckedItems,\n navigate,\n setMovedItems,\n };\n}\n\nexport default createContainer(useShuttleState, value => [value.state]);\n"],"names":["useShuttleState","useState","checkedItems","movedItems","hierarchy","name","id","hierarchyDest","shuttleState","setShuttleState","setState","state","setMovedItems","itemsIds","items","itemsToMove","getItemsById","pipeActions","map","item","actions","pipe","navigate","dest","resetCheckedItems","resetMovedItems","moveItem","toggleItemSelection","moveCheckedItems","createContainer","value"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"animationConfig.js","sources":["../../../src/animation/animationConfig.tsx"],"sourcesContent":["// shuttle list and items constants\nconst itemAnimationDuration = 300;\nconst listAnimationDuration = 300;\nconst xPosMovement = 500;\n\n// breadcrumb constants\nconst breadcrumbDuration = 200;\nconst xBreadcrumbPos = 300;\n\nexport const animationConfig = {\n slideRight: {\n from: { transform: 'translate3d(0,0,0)' },\n to: { transform: `translate3d(${xPosMovement}px,0,0)` },\n },\n slideLeft: {\n from: { transform: 'translate3d(0,0,0)' },\n to: { transform: `translate3d(${-xPosMovement}px,0,0)` },\n },\n moveItem: isMovingLeft => ({\n config: { duration: itemAnimationDuration },\n enter: { opacity: 1, transform: `translate3d(${0}px,0,0)` },\n from: {\n opacity: 1,\n transform: `translate3d(${\n isMovingLeft ? -xPosMovement : xPosMovement\n }px,0,0)`,\n },\n leave: {\n transform: `translate3d(${\n isMovingLeft ? -xPosMovement : xPosMovement\n }px,0,0)`,\n },\n }),\n moveList: isDrillingDown => ({\n config: { duration: listAnimationDuration },\n enter: { opacity: 1, transform: 'translate3d(0,0,0)' },\n from: {\n opacity: 0,\n transform: `translate3d(0px,${\n isDrillingDown ? xPosMovement : -xPosMovement\n }px,0)`,\n },\n leave: {\n opacity: 0,\n transform: `translate3d(0,${\n isDrillingDown ? -xPosMovement : xPosMovement\n }px,0)`,\n },\n }),\n breadcrumb: () => ({\n config: { duration: breadcrumbDuration },\n enter: { opacity: 1, transform: `translate3d(${0}px,0,0)` },\n from: { opacity: 0, transform: `translate3d(${xBreadcrumbPos}px,0px,0)` },\n leave: { opacity: 0, transform: `translate3d(${xBreadcrumbPos}px,0,0)` },\n }),\n};\n"],"names":["itemAnimationDuration","listAnimationDuration","xPosMovement","breadcrumbDuration","xBreadcrumbPos","animationConfig","slideRight","from","transform","to","slideLeft","moveItem","isMovingLeft","config","duration","enter","opacity","leave","moveList","isDrillingDown","breadcrumb"],"mappings":";;;;AAAA;AACA,IAAMA,qBAAqB,GAAG,GAA9B;AACA,IAAMC,qBAAqB,GAAG,GAA9B;AACA,IAAMC,YAAY,GAAG,GAArB;;AAGA,IAAMC,kBAAkB,GAAG,GAA3B;AACA,IAAMC,cAAc,GAAG,GAAvB;IAEaC,eAAe,GAAG;AAC7BC,EAAAA,UAAU,EAAE;AACVC,IAAAA,IAAI,EAAE;AAAEC,MAAAA,SAAS,EAAE;AAAb,KADI;AAEVC,IAAAA,EAAE,EAAE;AAAED,MAAAA,SAAS,wBAAiBN,YAAjB;AAAX;AAFM,GADiB;AAK7BQ,EAAAA,SAAS,EAAE;AACTH,IAAAA,IAAI,EAAE;AAAEC,MAAAA,SAAS,EAAE;AAAb,KADG;AAETC,IAAAA,EAAE,EAAE;AAAED,MAAAA,SAAS,wBAAiB,CAACN,YAAlB;AAAX;AAFK,GALkB;AAS7BS,EAAAA,QAAQ,EAAE,kBAAAC,YAAY;AAAA,WAAK;AACzBC,MAAAA,MAAM,EAAE;AAAEC,QAAAA,QAAQ,EAAEd;AAAZ,OADiB;AAEzBe,MAAAA,KAAK,EAAE;AAAEC,QAAAA,OAAO,EAAE,CAAX;AAAcR,QAAAA,SAAS,wBAAiB,CAAjB;AAAvB,OAFkB;AAGzBD,MAAAA,IAAI,EAAE;AACJS,QAAAA,OAAO,EAAE,CADL;AAEJR,QAAAA,SAAS,wBACPI,YAAY,GAAG,CAACV,YAAJ,GAAmBA,YADxB;AAFL,OAHmB;AASzBe,MAAAA,KAAK,EAAE;AACLT,QAAAA,SAAS,wBACPI,YAAY,GAAG,CAACV,YAAJ,GAAmBA,YADxB;AADJ;AATkB,KAAL;AAAA,GATO;AAwB7BgB,EAAAA,QAAQ,EAAE,kBAAAC,cAAc;AAAA,WAAK;AAC3BN,MAAAA,MAAM,EAAE;AAAEC,QAAAA,QAAQ,EAAEb;AAAZ,OADmB;AAE3Bc,MAAAA,KAAK,EAAE;AAAEC,QAAAA,OAAO,EAAE,CAAX;AAAcR,QAAAA,SAAS,EAAE;AAAzB,OAFoB;AAG3BD,MAAAA,IAAI,EAAE;AACJS,QAAAA,OAAO,EAAE,CADL;AAEJR,QAAAA,SAAS,4BACPW,cAAc,GAAGjB,YAAH,GAAkB,CAACA,YAD1B;AAFL,OAHqB;AAS3Be,MAAAA,KAAK,EAAE;AACLD,QAAAA,OAAO,EAAE,CADJ;AAELR,QAAAA,SAAS,0BACPW,cAAc,GAAG,CAACjB,YAAJ,GAAmBA,YAD1B;AAFJ;AAToB,KAAL;AAAA,GAxBK;AAwC7BkB,EAAAA,UAAU,EAAE;AAAA,WAAO;AACjBP,MAAAA,MAAM,EAAE;AAAEC,QAAAA,QAAQ,EAAEX;AAAZ,OADS;AAEjBY,MAAAA,KAAK,EAAE;AAAEC,QAAAA,OAAO,EAAE,CAAX;AAAcR,QAAAA,SAAS,wBAAiB,CAAjB;AAAvB,OAFU;AAGjBD,MAAAA,IAAI,EAAE;AAAES,QAAAA,OAAO,EAAE,CAAX;AAAcR,QAAAA,SAAS,wBAAiBJ,cAAjB;AAAvB,OAHW;AAIjBa,MAAAA,KAAK,EAAE;AAAED,QAAAA,OAAO,EAAE,CAAX;AAAcR,QAAAA,SAAS,wBAAiBJ,cAAjB;AAAvB;AAJU,KAAP;AAAA;AAxCiB;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"classedComponents.js","sources":["../../src/classedComponents.tsx"],"sourcesContent":["import DSButton from '@elliemae/ds-basic/Button';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport ShuttleBreadcrumb from './components/ShuttleBreadcrumb';\nimport OverflowList from './components/OverflowList';\n\n// block names\nconst blockName = 'shuttle';\nconst headerBlockName = `${blockName}-header`;\nconst listBlockName = `${blockName}-list`;\nconst footerBlockName = `${blockName}-footer`;\n\nexport const ShuttleContainer = aggregatedClasses('div')(blockName);\n\n// wrapper\nexport const ShuttleWrapper = aggregatedClasses('div')(`${blockName}-wrapper`);\n\n// header\nexport const ShuttleHeader = aggregatedClasses('div')(headerBlockName);\nexport const ShuttleHeaderBreadcrumb = aggregatedClasses(ShuttleBreadcrumb)(\n headerBlockName,\n 'breadcrumb',\n);\nexport const ShuttleHeaderSearchToggle = aggregatedClasses(DSButton)(\n headerBlockName,\n 'search-toggle',\n);\n\n// list\nexport const ShuttleList = aggregatedClasses('div')(\n listBlockName,\n null,\n ({ showPulse }) => ({\n 'show-pulse': showPulse,\n }),\n);\n\nexport const ShuttleListPanel = aggregatedClasses('div')(\n listBlockName,\n 'panel',\n ({ open }) => ({ open }),\n);\nexport const Overflow = aggregatedClasses(OverflowList)(\n listBlockName,\n 'overflow',\n ({ empty, searching }) => ({\n empty,\n searching,\n }),\n);\nexport const EmptyMessage = aggregatedClasses('span')(\n listBlockName,\n 'empty-message',\n);\nexport const LoadingList = aggregatedClasses('div')(\n listBlockName,\n 'loading-list',\n);\n\n// footer\nexport const ShuttleFooter = aggregatedClasses('div')(footerBlockName);\nexport const ShuttleFooterActions = aggregatedClasses('div')(\n footerBlockName,\n 'actions',\n);\nexport const ShuttleFooterCounter = aggregatedClasses('span')(\n footerBlockName,\n 'counter',\n);\n"],"names":["blockName","headerBlockName","listBlockName","footerBlockName","ShuttleContainer","aggregatedClasses","ShuttleWrapper","ShuttleHeader","ShuttleHeaderBreadcrumb","ShuttleBreadcrumb","ShuttleHeaderSearchToggle","DSButton","ShuttleList","showPulse","ShuttleListPanel","open","Overflow","OverflowList","empty","searching","EmptyMessage","LoadingList","ShuttleFooter","ShuttleFooterActions","ShuttleFooterCounter"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAMA,IAAMA,SAAS,GAAG,SAAlB;AACA,IAAMC,eAAe,aAAMD,SAAN,YAArB;AACA,IAAME,aAAa,aAAMF,SAAN,UAAnB;AACA,IAAMG,eAAe,aAAMH,SAAN,YAArB;IAEaI,gBAAgB,GAAGC,8BAAiB,CAAC,KAAD,CAAjB,CAAyBL,SAAzB;;IAGnBM,cAAc,GAAGD,8BAAiB,CAAC,KAAD,CAAjB,WAA4BL,SAA5B;;IAGjBO,aAAa,GAAGF,8BAAiB,CAAC,KAAD,CAAjB,CAAyBJ,eAAzB;IAChBO,uBAAuB,GAAGH,8BAAiB,CAACI,4BAAD,CAAjB,CACrCR,eADqC,EAErC,YAFqC;IAI1BS,yBAAyB,GAAGL,8BAAiB,CAACM,4BAAD,CAAjB,CACvCV,eADuC,EAEvC,eAFuC;;IAM5BW,WAAW,GAAGP,8BAAiB,CAAC,KAAD,CAAjB,CACzBH,aADyB,EAEzB,IAFyB,EAGzB;AAAA,MAAGW,SAAH,QAAGA,SAAH;AAAA,SAAoB;AAClB,kBAAcA;AADI,GAApB;AAAA,CAHyB;IAQdC,gBAAgB,GAAGT,8BAAiB,CAAC,KAAD,CAAjB,CAC9BH,aAD8B,EAE9B,OAF8B,EAG9B;AAAA,MAAGa,IAAH,SAAGA,IAAH;AAAA,SAAe;AAAEA,IAAAA,IAAI,EAAJA;AAAF,GAAf;AAAA,CAH8B;IAKnBC,QAAQ,GAAGX,8BAAiB,CAACY,uBAAD,CAAjB,CACtBf,aADsB,EAEtB,UAFsB,EAGtB;AAAA,MAAGgB,KAAH,SAAGA,KAAH;AAAA,MAAUC,SAAV,SAAUA,SAAV;AAAA,SAA2B;AACzBD,IAAAA,KAAK,EAALA,KADyB;AAEzBC,IAAAA,SAAS,EAATA;AAFyB,GAA3B;AAAA,CAHsB;IAQXC,YAAY,GAAGf,8BAAiB,CAAC,MAAD,CAAjB,CAC1BH,aAD0B,EAE1B,eAF0B;IAIfmB,WAAW,GAAGhB,8BAAiB,CAAC,KAAD,CAAjB,CACzBH,aADyB,EAEzB,cAFyB;;IAMdoB,aAAa,GAAGjB,8BAAiB,CAAC,KAAD,CAAjB,CAAyBF,eAAzB;IAChBoB,oBAAoB,GAAGlB,8BAAiB,CAAC,KAAD,CAAjB,CAClCF,eADkC,EAElC,SAFkC;IAIvBqB,oBAAoB,GAAGnB,8BAAiB,CAAC,MAAD,CAAjB,CAClCF,eADkC,EAElC,SAFkC;;;;;;;;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"LoadingIndicator.js","sources":["../../../src/components/LoadingIndicator.tsx"],"sourcesContent":["import React from 'react';\nimport { DSCircularProgressIndicator } from '@elliemae/ds-basic/CircularProgressIndicator';\nimport styled from 'styled-components';\n\nconst Wrapper = styled.div`\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n height: 100%;\n`;\n\nconst LoadingIndicator = () => (\n <Wrapper data-testid=\"shuttle__loading-indicator\">\n <DSCircularProgressIndicator size=\"xl\" showLabel />\n </Wrapper>\n);\n\nexport default LoadingIndicator;\n"],"names":["Wrapper","styled","div","LoadingIndicator","React","DSCircularProgressIndicator"],"mappings":";;;;;;;;;;;AAIA,IAAMA,OAAO,gBAAGC,0BAAM,CAACC,GAAV;AAAA;AAAA,sFAAb;;IAQMC,gBAAgB,GAAG,SAAnBA,gBAAmB;AAAA,sBACvBC,wCAAC,OAAD;AAAS,mBAAY;AAArB,kBACEA,wCAACC,qDAAD;AAA6B,IAAA,IAAI,EAAC,IAAlC;AAAuC,IAAA,SAAS;AAAhD,IADF,CADuB;AAAA;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"OverflowList.js","sources":["../../../src/components/OverflowList.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport { useTransition, animated } from 'react-spring/web.cjs';\nimport { animationConfig } from '../animation/animationConfig';\nimport AnimationContext from '../AnimationState';\n\nfunction OverflowList({ className = '', activeHierarchy = '', children }) {\n const {\n state: { isDrillingDown = false },\n setIsDrillingDown,\n } = useContext(AnimationContext.Context);\n\n const overflowTransition = useTransition(activeHierarchy, null, {\n ...animationConfig.moveList(isDrillingDown),\n onDestroyed: () => setIsDrillingDown(false),\n });\n return overflowTransition.map(({ props, key }) => (\n <animated.div key={key} className={className} style={props}>\n {children}\n </animated.div>\n ));\n}\n\nexport default OverflowList;\n"],"names":["OverflowList","className","activeHierarchy","children","useContext","AnimationContext","Context","state","isDrillingDown","setIsDrillingDown","overflowTransition","useTransition","animationConfig","moveList","onDestroyed","map","props","key","React","animated"],"mappings":";;;;;;;;;;;;;;;;;;;AAKA,SAASA,YAAT,OAA0E;AAAA,4BAAlDC,SAAkD;AAAA,MAAlDA,SAAkD,+BAAtC,EAAsC;AAAA,kCAAlCC,eAAkC;AAAA,MAAlCA,eAAkC,qCAAhB,EAAgB;AAAA,MAAZC,QAAY,QAAZA,QAAY;;AACxE,oBAGIC,gBAAU,CAACC,cAAgB,CAACC,OAAlB,CAHd;AAAA,0CACEC,KADF,CACWC,cADX;AAAA,MACWA,cADX,sCAC4B,KAD5B;AAAA,MAEEC,iBAFF,eAEEA,iBAFF;;AAKA,MAAMC,kBAAkB,GAAGC,qBAAa,CAACT,eAAD,EAAkB,IAAlB,kCACnCU,yCAAe,CAACC,QAAhB,CAAyBL,cAAzB,CADmC;AAEtCM,IAAAA,WAAW,EAAE;AAAA,aAAML,iBAAiB,CAAC,KAAD,CAAvB;AAAA;AAFyB,KAAxC;AAIA,SAAOC,kBAAkB,CAACK,GAAnB,CAAuB;AAAA,QAAGC,KAAH,SAAGA,KAAH;AAAA,QAAUC,GAAV,SAAUA,GAAV;AAAA,wBAC5BC,wCAACC,gBAAD,CAAU,GAAV;AAAc,MAAA,GAAG,EAAEF,GAAnB;AAAwB,MAAA,SAAS,EAAEhB,SAAnC;AAA8C,MAAA,KAAK,EAAEe;AAArD,OACGb,QADH,CAD4B;AAAA,GAAvB,CAAP;AAKD;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ShuttleBreadcrumb.js","sources":["../../../src/components/ShuttleBreadcrumb.tsx"],"sourcesContent":["/* eslint-disable react/prop-types */\nimport React from 'react';\nimport { useTransition, animated } from 'react-spring/web.cjs';\nimport DSBreadcrumb from '@elliemae/ds-basic/Breadcrumb';\nimport { animationConfig } from '../animation/animationConfig';\n\nfunction ShuttleBreadcrumb({\n className = '',\n hierarchy = [],\n onNavigateTo = () => null,\n}) {\n const animatedCrumbs = useTransition(\n hierarchy,\n (item) => item.id,\n animationConfig.breadcrumb(),\n );\n\n return (\n <div className={className}>\n <DSBreadcrumb isTitle>\n {animatedCrumbs.map(({ item, props, key }) => (\n <DSBreadcrumb.Item\n key={key}\n containerComponent={animated.li}\n label={item.name}\n onClick={() => onNavigateTo(item, 'up')}\n style={props}\n />\n ))}\n </DSBreadcrumb>\n </div>\n );\n}\n\nexport default ShuttleBreadcrumb;\n"],"names":["ShuttleBreadcrumb","className","hierarchy","onNavigateTo","animatedCrumbs","useTransition","item","id","animationConfig","breadcrumb","React","DSBreadcrumb","map","props","key","animated","li","name"],"mappings":";;;;;;;;;;;;AAAA;;AAMA,SAASA,iBAAT,OAIG;AAAA,4BAHDC,SAGC;AAAA,MAHDA,SAGC,+BAHW,EAGX;AAAA,4BAFDC,SAEC;AAAA,MAFDA,SAEC,+BAFW,EAEX;AAAA,+BADDC,YACC;AAAA,MADDA,YACC,kCADc;AAAA,WAAM,IAAN;AAAA,GACd;AACD,MAAMC,cAAc,GAAGC,qBAAa,CAClCH,SADkC,EAElC,UAACI,IAAD;AAAA,WAAUA,IAAI,CAACC,EAAf;AAAA,GAFkC,EAGlCC,yCAAe,CAACC,UAAhB,EAHkC,CAApC;AAMA,sBACEC;AAAK,IAAA,SAAS,EAAET;AAAhB,kBACES,wCAACC,gCAAD;AAAc,IAAA,OAAO;AAArB,KACGP,cAAc,CAACQ,GAAf,CAAmB;AAAA,QAAGN,IAAH,SAAGA,IAAH;AAAA,QAASO,KAAT,SAASA,KAAT;AAAA,QAAgBC,GAAhB,SAAgBA,GAAhB;AAAA,wBAClBJ,wCAACC,gCAAD,CAAc,IAAd;AACE,MAAA,GAAG,EAAEG,GADP;AAEE,MAAA,kBAAkB,EAAEC,gBAAQ,CAACC,EAF/B;AAGE,MAAA,KAAK,EAAEV,IAAI,CAACW,IAHd;AAIE,MAAA,OAAO,EAAE;AAAA,eAAMd,YAAY,CAACG,IAAD,EAAO,IAAP,CAAlB;AAAA,OAJX;AAKE,MAAA,KAAK,EAAEO;AALT,MADkB;AAAA,GAAnB,CADH,CADF,CADF;AAeD;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ShuttleInfiniteScrollIndicator.js","sources":["../../../src/components/ShuttleInfiniteScrollIndicator.tsx"],"sourcesContent":["/* eslint-disable react/no-unused-state */\nimport React from 'react';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport DSIndeterminateProgressIndicator from '@elliemae/ds-basic/IndeterminateProgressIndicator';\n\nconst blockName = 'shuttle-infinite-scroll-indicator';\n\nconst InfiniteScrollBarContainer = aggregatedClasses('div')(\n blockName,\n null,\n ({ isOpen }) => ({ opened: isOpen }),\n);\n\nconst ShuttleInfiniteScrollIndicator = ({ isOpen }) => (\n <InfiniteScrollBarContainer classProps={{ isOpen }} data-testid={blockName}>\n <DSIndeterminateProgressIndicator processing title=\"Loading\" />\n </InfiniteScrollBarContainer>\n);\n\nexport default ShuttleInfiniteScrollIndicator;\n"],"names":["blockName","InfiniteScrollBarContainer","aggregatedClasses","isOpen","opened","ShuttleInfiniteScrollIndicator","React","DSIndeterminateProgressIndicator"],"mappings":";;;;;;;;;;;AAAA;AAKA,IAAMA,SAAS,GAAG,mCAAlB;AAEA,IAAMC,0BAA0B,GAAGC,8BAAiB,CAAC,KAAD,CAAjB,CACjCF,SADiC,EAEjC,IAFiC,EAGjC;AAAA,MAAGG,MAAH,QAAGA,MAAH;AAAA,SAAiB;AAAEC,IAAAA,MAAM,EAAED;AAAV,GAAjB;AAAA,CAHiC,CAAnC;;IAMME,8BAA8B,GAAG,SAAjCA,8BAAiC;AAAA,MAAGF,MAAH,SAAGA,MAAH;AAAA,sBACrCG,wCAAC,0BAAD;AAA4B,IAAA,UAAU,EAAE;AAAEH,MAAAA,MAAM,EAANA;AAAF,KAAxC;AAAoD,mBAAaH;AAAjE,kBACEM,wCAACC,oDAAD;AAAkC,IAAA,UAAU,MAA5C;AAA6C,IAAA,KAAK,EAAC;AAAnD,IADF,CADqC;AAAA;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ActionButtons.js","sources":["../../../../src/components/ShuttleListItem/ActionButtons.tsx"],"sourcesContent":["import React from 'react';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport DSButton from '@elliemae/ds-basic/Button';\nimport CloseCircle from '@elliemae/ds-icons/CloseCircle';\nimport ArrowShortRight from '@elliemae/ds-icons/ArrowShortRight';\nimport ArrowShortReturn from '@elliemae/ds-icons/ArrowShortReturn';\n\nconst ActionButton = aggregatedClasses(DSButton)(\n 'shuttle-list-item',\n 'action-button',\n);\n\nexport const DeleteButton = props => (\n <ActionButton\n buttonType=\"text\"\n icon={<CloseCircle />}\n {...props}\n // containerProps={{ 'data-testid': 'ds-shuttle__close-button' }}\n />\n);\n\nexport const MoveButton = props => (\n <ActionButton\n buttonType=\"text\"\n icon={<ArrowShortRight />}\n {...props}\n containerProps={{ 'data-testid': 'ds-shuttle__move-button' }}\n />\n);\n\nexport const DrillDownButton = props => (\n <ActionButton\n buttonType=\"text\"\n icon={<ArrowShortReturn data-testid=\"shuttle__drill-btn-icon\" />}\n {...props}\n containerProps={{ 'data-testid': 'shuttle__drill-btn' }}\n />\n);\n"],"names":["ActionButton","aggregatedClasses","DSButton","DeleteButton","props","React","CloseCircle","MoveButton","ArrowShortRight","DrillDownButton","ArrowShortReturn"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAOA,IAAMA,YAAY,GAAGC,8BAAiB,CAACC,4BAAD,CAAjB,CACnB,mBADmB,EAEnB,eAFmB,CAArB;IAKaC,YAAY,GAAG,SAAfA,YAAe,CAAAC,KAAK;AAAA,sBAC/BC,wCAAC,YAAD;AACE,IAAA,UAAU,EAAC,MADb;AAEE,IAAA,IAAI,eAAEA,wCAACC,+BAAD;AAFR,KAGMF,KAHN,EAD+B;AAAA;IASpBG,UAAU,GAAG,SAAbA,UAAa,CAAAH,KAAK;AAAA,sBAC7BC,wCAAC,YAAD;AACE,IAAA,UAAU,EAAC,MADb;AAEE,IAAA,IAAI,eAAEA,wCAACG,mCAAD;AAFR,KAGMJ,KAHN;AAIE,IAAA,cAAc,EAAE;AAAE,qBAAe;AAAjB;AAJlB,KAD6B;AAAA;IASlBK,eAAe,GAAG,SAAlBA,eAAkB,CAAAL,KAAK;AAAA,sBAClCC,wCAAC,YAAD;AACE,IAAA,UAAU,EAAC,MADb;AAEE,IAAA,IAAI,eAAEA,wCAACK,oCAAD;AAAkB,qBAAY;AAA9B;AAFR,KAGMN,KAHN;AAIE,IAAA,cAAc,EAAE;AAAE,qBAAe;AAAjB;AAJlB,KADkC;AAAA;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ShuttleListItem.js","sources":["../../../../src/components/ShuttleListItem/ShuttleListItem.tsx"],"sourcesContent":["/* eslint-disable react/prop-types */\nimport React from 'react';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport { animated } from 'react-spring/web.cjs';\nimport TruncatedTooltipText from '@elliemae/ds-basic/TruncatedTooltipText';\nimport { sortableHandle } from 'react-sortable-hoc';\nimport GripperVertical from '@elliemae/ds-icons/GripperVertical';\nimport { isMovable } from '../../helper';\n\nconst blockName = 'shuttle-list-item';\nconst Wrapper = aggregatedClasses(animated.li)(blockName);\nconst ActionsGroup = aggregatedClasses('div')(blockName, 'actions');\nconst IconWrapper = aggregatedClasses('div')(blockName, 'icon-wrapper');\nconst Content = aggregatedClasses('label')(\n blockName,\n 'content',\n ({ isChecked, canMove, isReadonly }) => ({\n checked: isChecked,\n 'can-hover': canMove,\n 'read-only': isReadonly,\n }),\n);\n\nconst SortHandler = sortableHandle(() => (\n <GripperVertical className=\"gripper\" />\n));\n\nfunction ShuttleListItem({\n item = {},\n showIcons = undefined,\n showIcon = true,\n onSelect = () => null,\n isChecked = false,\n style = undefined,\n showActions = true,\n actions = [],\n showSortHandler = false,\n ...rest\n}) {\n return (\n <Wrapper {...rest} role=\"listitem\" style={style}>\n <Content\n classProps={{\n canMove: isMovable(item),\n isChecked,\n isReadonly: item.readyOnly,\n }}\n onClick={onSelect}\n >\n {showSortHandler && <SortHandler />}\n {(showIcon || showIcons) && <IconWrapper>{item.icon}</IconWrapper>}\n <TruncatedTooltipText\n className=\"shuttle-tooltip-text\"\n value={item.name}\n />\n </Content>\n {showActions && <ActionsGroup>{actions}</ActionsGroup>}\n </Wrapper>\n );\n}\n\nexport default ShuttleListItem;\n"],"names":["blockName","Wrapper","aggregatedClasses","animated","li","ActionsGroup","IconWrapper","Content","isChecked","canMove","isReadonly","checked","SortHandler","sortableHandle","React","GripperVertical","ShuttleListItem","item","showIcons","undefined","showIcon","onSelect","style","showActions","actions","showSortHandler","rest","isMovable","readyOnly","icon","TruncatedTooltipText","name"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AASA,IAAMA,SAAS,GAAG,mBAAlB;AACA,IAAMC,OAAO,GAAGC,8BAAiB,CAACC,gBAAQ,CAACC,EAAV,CAAjB,CAA+BJ,SAA/B,CAAhB;AACA,IAAMK,YAAY,GAAGH,8BAAiB,CAAC,KAAD,CAAjB,CAAyBF,SAAzB,EAAoC,SAApC,CAArB;AACA,IAAMM,WAAW,GAAGJ,8BAAiB,CAAC,KAAD,CAAjB,CAAyBF,SAAzB,EAAoC,cAApC,CAApB;AACA,IAAMO,OAAO,GAAGL,8BAAiB,CAAC,OAAD,CAAjB,CACdF,SADc,EAEd,SAFc,EAGd;AAAA,MAAGQ,SAAH,QAAGA,SAAH;AAAA,MAAcC,OAAd,QAAcA,OAAd;AAAA,MAAuBC,UAAvB,QAAuBA,UAAvB;AAAA,SAAyC;AACvCC,IAAAA,OAAO,EAAEH,SAD8B;AAEvC,iBAAaC,OAF0B;AAGvC,iBAAaC;AAH0B,GAAzC;AAAA,CAHc,CAAhB;AAUA,IAAME,WAAW,GAAGC,+BAAc,CAAC;AAAA,sBACjCC,wCAACC,mCAAD;AAAiB,IAAA,SAAS,EAAC;AAA3B,IADiC;AAAA,CAAD,CAAlC;;AAIA,SAASC,eAAT,QAWG;AAAA,yBAVDC,IAUC;AAAA,MAVDA,IAUC,2BAVM,EAUN;AAAA,8BATDC,SASC;AAAA,MATDA,SASC,gCATWC,SASX;AAAA,6BARDC,QAQC;AAAA,MARDA,QAQC,+BARU,IAQV;AAAA,6BAPDC,QAOC;AAAA,MAPDA,QAOC,+BAPU;AAAA,WAAM,IAAN;AAAA,GAOV;AAAA,8BANDb,SAMC;AAAA,MANDA,SAMC,gCANW,KAMX;AAAA,0BALDc,KAKC;AAAA,MALDA,KAKC,4BALOH,SAKP;AAAA,gCAJDI,WAIC;AAAA,MAJDA,WAIC,kCAJa,IAIb;AAAA,4BAHDC,OAGC;AAAA,MAHDA,OAGC,8BAHS,EAGT;AAAA,oCAFDC,eAEC;AAAA,MAFDA,eAEC,sCAFiB,KAEjB;AAAA,MADEC,IACF;;AACD,sBACEZ,wCAAC,OAAD,mCAAaY,IAAb;AAAmB,IAAA,IAAI,EAAC,UAAxB;AAAmC,IAAA,KAAK,EAAEJ;AAA1C,mBACER,wCAAC,OAAD;AACE,IAAA,UAAU,EAAE;AACVL,MAAAA,OAAO,EAAEkB,gBAAS,CAACV,IAAD,CADR;AAEVT,MAAAA,SAAS,EAATA,SAFU;AAGVE,MAAAA,UAAU,EAAEO,IAAI,CAACW;AAHP,KADd;AAME,IAAA,OAAO,EAAEP;AANX,KAQGI,eAAe,iBAAIX,wCAAC,WAAD,OARtB,EASG,CAACM,QAAQ,IAAIF,SAAb,kBAA2BJ,wCAAC,WAAD,QAAcG,IAAI,CAACY,IAAnB,CAT9B,eAUEf,wCAACgB,wCAAD;AACE,IAAA,SAAS,EAAC,sBADZ;AAEE,IAAA,KAAK,EAAEb,IAAI,CAACc;AAFd,IAVF,CADF,EAgBGR,WAAW,iBAAIT,wCAAC,YAAD,QAAeU,OAAf,CAhBlB,CADF;AAoBD;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ShuttleSourceListItem.js","sources":["../../../../src/components/ShuttleListItem/ShuttleSourceListItem.tsx"],"sourcesContent":["/* eslint-disable no-underscore-dangle */\nimport React, { useState, useCallback, useEffect } from 'react';\nimport { isMovable } from '../../helper';\nimport { DrillDownButton, MoveButton } from './ActionButtons';\nimport ShuttleListItem from './ShuttleListItem';\n\nfunction ShuttleSourceListItem({\n item = {},\n onItemCheck = () => null,\n onMoveToTarget = () => null,\n onNavigateOnSourceTo = () => null,\n isChecked = false,\n showMoveButton = true,\n showDrillDownButton = true,\n index,\n ...rest\n}) {\n const [clicked, setClicked] = useState(false);\n const moveToTarget = useCallback(() => onMoveToTarget(item), [item]);\n useEffect(() => {\n if (clicked) {\n moveToTarget();\n }\n }, [clicked]);\n const navigateOnSourceTo = useCallback(() => onNavigateOnSourceTo(item), [\n item,\n ]);\n const checkItem = useCallback(() => {\n if (!clicked) onItemCheck(item);\n }, [item, clicked]);\n const handleOnClick = () => {\n if (!clicked) {\n setClicked(true);\n }\n };\n\n return (\n <ShuttleListItem\n {...rest}\n actions={[\n showDrillDownButton && (\n <DrillDownButton\n key=\"drill-down\"\n disabled={\n (!item.hasChildren && !item.asyncLoad) ||\n item.readOnly ||\n item.disableDrillDown\n }\n onClick={navigateOnSourceTo}\n />\n ),\n showMoveButton && (\n <MoveButton\n data-testid=\"ds-shuttle__move-button\"\n key=\"move\"\n disabled={!isMovable(item) || item.readOnly}\n onClick={handleOnClick}\n />\n ),\n ]}\n isChecked={isChecked}\n item={item}\n onSelect={checkItem}\n />\n );\n}\n\nexport default ShuttleSourceListItem;\n"],"names":["ShuttleSourceListItem","item","onItemCheck","onMoveToTarget","onNavigateOnSourceTo","isChecked","showMoveButton","showDrillDownButton","index","rest","useState","clicked","setClicked","moveToTarget","useCallback","useEffect","navigateOnSourceTo","checkItem","handleOnClick","React","ShuttleListItem","DrillDownButton","hasChildren","asyncLoad","readOnly","disableDrillDown","MoveButton","isMovable"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,SAASA,qBAAT,OAUG;AAAA,uBATDC,IASC;AAAA,MATDA,IASC,0BATM,EASN;AAAA,8BARDC,WAQC;AAAA,MARDA,WAQC,iCARa;AAAA,WAAM,IAAN;AAAA,GAQb;AAAA,iCAPDC,cAOC;AAAA,MAPDA,cAOC,oCAPgB;AAAA,WAAM,IAAN;AAAA,GAOhB;AAAA,mCANDC,oBAMC;AAAA,MANDA,oBAMC,sCANsB;AAAA,WAAM,IAAN;AAAA,GAMtB;AAAA,4BALDC,SAKC;AAAA,MALDA,SAKC,+BALW,KAKX;AAAA,iCAJDC,cAIC;AAAA,MAJDA,cAIC,oCAJgB,IAIhB;AAAA,mCAHDC,mBAGC;AAAA,MAHDA,mBAGC,sCAHqB,IAGrB;AAAA,WAFDC,KAEC;AAAA,UADEC,IACF;;AACD,kBAA8BC,cAAQ,CAAC,KAAD,CAAtC;AAAA;AAAA,MAAOC,OAAP;AAAA,MAAgBC,UAAhB;;AACA,MAAMC,YAAY,GAAGC,iBAAW,CAAC;AAAA,WAAMX,cAAc,CAACF,IAAD,CAApB;AAAA,GAAD,EAA6B,CAACA,IAAD,CAA7B,CAAhC;AACAc,EAAAA,eAAS,CAAC,YAAM;AACd,QAAIJ,OAAJ,EAAa;AACXE,MAAAA,YAAY;AACb;AACF,GAJQ,EAIN,CAACF,OAAD,CAJM,CAAT;AAKA,MAAMK,kBAAkB,GAAGF,iBAAW,CAAC;AAAA,WAAMV,oBAAoB,CAACH,IAAD,CAA1B;AAAA,GAAD,EAAmC,CACvEA,IADuE,CAAnC,CAAtC;AAGA,MAAMgB,SAAS,GAAGH,iBAAW,CAAC,YAAM;AAClC,QAAI,CAACH,OAAL,EAAcT,WAAW,CAACD,IAAD,CAAX;AACf,GAF4B,EAE1B,CAACA,IAAD,EAAOU,OAAP,CAF0B,CAA7B;;AAGA,MAAMO,aAAa,GAAG,SAAhBA,aAAgB,GAAM;AAC1B,QAAI,CAACP,OAAL,EAAc;AACZC,MAAAA,UAAU,CAAC,IAAD,CAAV;AACD;AACF,GAJD;;AAMA,sBACEO,wCAACC,0CAAD,mCACMX,IADN;AAEE,IAAA,OAAO,EAAE,CACPF,mBAAmB,iBACjBY,wCAACE,wDAAD;AACE,MAAA,GAAG,EAAC,YADN;AAEE,MAAA,QAAQ,EACL,CAACpB,IAAI,CAACqB,WAAN,IAAqB,CAACrB,IAAI,CAACsB,SAA5B,IACAtB,IAAI,CAACuB,QADL,IAEAvB,IAAI,CAACwB,gBALT;AAOE,MAAA,OAAO,EAAET;AAPX,MAFK,EAYPV,cAAc,iBACZa,wCAACO,mDAAD;AACE,qBAAY,yBADd;AAEE,MAAA,GAAG,EAAC,MAFN;AAGE,MAAA,QAAQ,EAAE,CAACC,gBAAS,CAAC1B,IAAD,CAAV,IAAoBA,IAAI,CAACuB,QAHrC;AAIE,MAAA,OAAO,EAAEN;AAJX,MAbK,CAFX;AAuBE,IAAA,SAAS,EAAEb,SAvBb;AAwBE,IAAA,IAAI,EAAEJ,IAxBR;AAyBE,IAAA,QAAQ,EAAEgB;AAzBZ,KADF;AA6BD;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ShuttleTargetListItem.js","sources":["../../../../src/components/ShuttleListItem/ShuttleTargetListItem.tsx"],"sourcesContent":["/* eslint-disable no-underscore-dangle */\nimport React, { useCallback } from 'react';\nimport { DeleteButton, DrillDownButton } from './ActionButtons';\nimport ShuttleListItem from './ShuttleListItem';\n\nfunction ShuttleTargetListItem({\n item = {},\n onMoveToSource = () => null,\n onNavigateOnTargetTo = () => null,\n isRoot = false,\n showDeleteButton = true,\n showDrillDownButton = true,\n showActions = true,\n index,\n ...rest\n}) {\n const moveToSource = useCallback(() => onMoveToSource(item), [item]);\n const navigateOnTargetTo = useCallback(() => onNavigateOnTargetTo(item), [\n item,\n ]);\n return (\n <ShuttleListItem\n {...rest}\n actions={[\n showDrillDownButton && (\n <DrillDownButton\n key=\"drill-down\"\n disabled={\n (!item.hasChildren && !item.asyncLoad) ||\n item.readOnly ||\n item.disableDrillDown\n }\n onClick={navigateOnTargetTo}\n />\n ),\n showDeleteButton && isRoot && (\n <DeleteButton\n key=\"delete\"\n disabled={item.readOnly}\n onClick={moveToSource}\n data-testid=\"ds-shuttle__close-button\"\n />\n ),\n ]}\n item={item}\n showActions={showActions}\n />\n );\n}\n\nexport default ShuttleTargetListItem;\n"],"names":["ShuttleTargetListItem","item","onMoveToSource","onNavigateOnTargetTo","isRoot","showDeleteButton","showDrillDownButton","showActions","index","rest","moveToSource","useCallback","navigateOnTargetTo","React","ShuttleListItem","DrillDownButton","hasChildren","asyncLoad","readOnly","disableDrillDown","DeleteButton"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,SAASA,qBAAT,OAUG;AAAA,uBATDC,IASC;AAAA,MATDA,IASC,0BATM,EASN;AAAA,iCARDC,cAQC;AAAA,MARDA,cAQC,oCARgB;AAAA,WAAM,IAAN;AAAA,GAQhB;AAAA,mCAPDC,oBAOC;AAAA,MAPDA,oBAOC,sCAPsB;AAAA,WAAM,IAAN;AAAA,GAOtB;AAAA,yBANDC,MAMC;AAAA,MANDA,MAMC,4BANQ,KAMR;AAAA,mCALDC,gBAKC;AAAA,MALDA,gBAKC,sCALkB,IAKlB;AAAA,mCAJDC,mBAIC;AAAA,MAJDA,mBAIC,sCAJqB,IAIrB;AAAA,8BAHDC,WAGC;AAAA,MAHDA,WAGC,iCAHa,IAGb;AAAA,WAFDC,KAEC;AAAA,UADEC,IACF;;AACD,MAAMC,YAAY,GAAGC,iBAAW,CAAC;AAAA,WAAMT,cAAc,CAACD,IAAD,CAApB;AAAA,GAAD,EAA6B,CAACA,IAAD,CAA7B,CAAhC;AACA,MAAMW,kBAAkB,GAAGD,iBAAW,CAAC;AAAA,WAAMR,oBAAoB,CAACF,IAAD,CAA1B;AAAA,GAAD,EAAmC,CACvEA,IADuE,CAAnC,CAAtC;AAGA,sBACEY,wCAACC,0CAAD,mCACML,IADN;AAEE,IAAA,OAAO,EAAE,CACPH,mBAAmB,iBACjBO,wCAACE,wDAAD;AACE,MAAA,GAAG,EAAC,YADN;AAEE,MAAA,QAAQ,EACL,CAACd,IAAI,CAACe,WAAN,IAAqB,CAACf,IAAI,CAACgB,SAA5B,IACAhB,IAAI,CAACiB,QADL,IAEAjB,IAAI,CAACkB,gBALT;AAOE,MAAA,OAAO,EAAEP;AAPX,MAFK,EAYPP,gBAAgB,IAAID,MAApB,iBACES,wCAACO,qDAAD;AACE,MAAA,GAAG,EAAC,QADN;AAEE,MAAA,QAAQ,EAAEnB,IAAI,CAACiB,QAFjB;AAGE,MAAA,OAAO,EAAER,YAHX;AAIE,qBAAY;AAJd,MAbK,CAFX;AAuBE,IAAA,IAAI,EAAET,IAvBR;AAwBE,IAAA,WAAW,EAAEM;AAxBf,KADF;AA4BD;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ShuttleListPanel.js","sources":["../../../src/components/ShuttleListPanel.tsx"],"sourcesContent":["import React from 'react';\nimport DSButton from '@elliemae/ds-basic/Button';\nimport { ShuttleListPanel as Wrapper } from '../classedComponents';\n\nfunction ShuttleListPanel({ onClick = () => null, open = false, children }) {\n return (\n <Wrapper classProps={{ open }}>\n <DSButton\n buttonType=\"text\"\n icon={children}\n onClick={onClick}\n data-testid=\"list-panel-btn\"\n />\n </Wrapper>\n );\n}\n\nexport default ShuttleListPanel;\n"],"names":["ShuttleListPanel","onClick","open","children","React","Wrapper","DSButton"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAIA,SAASA,gBAAT,OAA4E;AAAA,0BAAhDC,OAAgD;AAAA,MAAhDA,OAAgD,6BAAtC;AAAA,WAAM,IAAN;AAAA,GAAsC;AAAA,uBAA1BC,IAA0B;AAAA,MAA1BA,IAA0B,0BAAnB,KAAmB;AAAA,MAAZC,QAAY,QAAZA,QAAY;AAC1E,sBACEC,wCAACC,kCAAD;AAAS,IAAA,UAAU,EAAE;AAAEH,MAAAA,IAAI,EAAJA;AAAF;AAArB,kBACEE,wCAACE,4BAAD;AACE,IAAA,UAAU,EAAC,MADb;AAEE,IAAA,IAAI,EAAEH,QAFR;AAGE,IAAA,OAAO,EAAEF,OAHX;AAIE,mBAAY;AAJd,IADF,CADF;AAUD;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ShuttleSearchBox.js","sources":["../../../src/components/ShuttleSearchBox.tsx"],"sourcesContent":["/* eslint-disable react/no-unused-state */\nimport React, { Component } from 'react';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport { debounce } from '@elliemae/ds-utilities/utils';\nimport DSTextBox from '@elliemae/ds-basic/form/TextBox';\n\nconst blockName = 'shuttle-search-box';\n\nconst SearchBoxContainer = aggregatedClasses('div')(\n blockName,\n null,\n ({ isOpen }) => ({ opened: isOpen }),\n);\n\nconst filterList = debounce((term, onFilterCallback) => {\n onFilterCallback(term);\n}, 200);\n\nexport default class ShuttleSearchBox extends Component {\n static defaultProps = {\n filterOnKeyStroke: false,\n onChange: () => null,\n onFilter: () => null,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n value: props.value,\n prevProps: {},\n };\n }\n\n static getDerivedStateFromProps(nextProps, { prevProps }) {\n const { value } = nextProps;\n if (value !== prevProps.value) {\n return {\n value,\n prevProps: { value },\n };\n }\n return null;\n }\n\n handleChange(e) {\n const { onChange, filterOnKeyStroke, onFilter } = this.props;\n const { value } = e.target;\n onChange(value);\n if (filterOnKeyStroke) filterList(value, onFilter);\n this.setState({ value });\n }\n\n handleKeyPress(e) {\n const { onFilter } = this.props;\n if (e.keyCode === 13) onFilter(e.target.value);\n }\n\n render() {\n const { value } = this.state;\n const { isOpen, onClose, placeholder } = this.props;\n return (\n <SearchBoxContainer classProps={{ isOpen }}>\n <DSTextBox\n autoFocus\n clearable\n onChange={this.handleChange}\n onClear={onClose}\n onKeyDown={this.handleKeyPress}\n placeholder={placeholder}\n value={value}\n />\n </SearchBoxContainer>\n );\n }\n}\n"],"names":["blockName","SearchBoxContainer","aggregatedClasses","isOpen","opened","filterList","debounce","term","onFilterCallback","ShuttleSearchBox","props","state","value","prevProps","e","onChange","filterOnKeyStroke","onFilter","target","setState","keyCode","onClose","placeholder","React","DSTextBox","handleChange","handleKeyPress","nextProps","Component"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,IAAMA,SAAS,GAAG,oBAAlB;AAEA,IAAMC,kBAAkB,GAAGC,8BAAiB,CAAC,KAAD,CAAjB,CACzBF,SADyB,EAEzB,IAFyB,EAGzB;AAAA,MAAGG,MAAH,QAAGA,MAAH;AAAA,SAAiB;AAAEC,IAAAA,MAAM,EAAED;AAAV,GAAjB;AAAA,CAHyB,CAA3B;AAMA,IAAME,UAAU,GAAGC,cAAQ,CAAC,UAACC,IAAD,EAAOC,gBAAP,EAA4B;AACtDA,EAAAA,gBAAgB,CAACD,IAAD,CAAhB;AACD,CAF0B,EAExB,GAFwB,CAA3B;;IAIqBE;;;;;AAOnB,4BAAYC,KAAZ,EAAmB;AAAA;;AAAA;;AACjB,8BAAMA,KAAN;AACA,UAAKC,KAAL,GAAa;AACXC,MAAAA,KAAK,EAAEF,KAAK,CAACE,KADF;AAEXC,MAAAA,SAAS,EAAE;AAFA,KAAb;AAFiB;AAAA;AAAA;AAMlB;;;;WAaD,sBAAaC,CAAb,EAAgB;AACd,wBAAkD,KAAKJ,KAAvD;AAAA,UAAQK,QAAR,eAAQA,QAAR;AAAA,UAAkBC,iBAAlB,eAAkBA,iBAAlB;AAAA,UAAqCC,QAArC,eAAqCA,QAArC;AACA,UAAQL,KAAR,GAAkBE,CAAC,CAACI,MAApB,CAAQN,KAAR;AACAG,MAAAA,QAAQ,CAACH,KAAD,CAAR;AACA,UAAII,iBAAJ,EAAuBX,UAAU,CAACO,KAAD,EAAQK,QAAR,CAAV;AACvB,WAAKE,QAAL,CAAc;AAAEP,QAAAA,KAAK,EAALA;AAAF,OAAd;AACD;;;WAED,wBAAeE,CAAf,EAAkB;AAChB,UAAQG,QAAR,GAAqB,KAAKP,KAA1B,CAAQO,QAAR;AACA,UAAIH,CAAC,CAACM,OAAF,KAAc,EAAlB,EAAsBH,QAAQ,CAACH,CAAC,CAACI,MAAF,CAASN,KAAV,CAAR;AACvB;;;WAED,kBAAS;AACP,UAAQA,KAAR,GAAkB,KAAKD,KAAvB,CAAQC,KAAR;AACA,yBAAyC,KAAKF,KAA9C;AAAA,UAAQP,MAAR,gBAAQA,MAAR;AAAA,UAAgBkB,OAAhB,gBAAgBA,OAAhB;AAAA,UAAyBC,WAAzB,gBAAyBA,WAAzB;AACA,0BACEC,wCAAC,kBAAD;AAAoB,QAAA,UAAU,EAAE;AAAEpB,UAAAA,MAAM,EAANA;AAAF;AAAhC,sBACEoB,wCAACC,6BAAD;AACE,QAAA,SAAS,MADX;AAEE,QAAA,SAAS,MAFX;AAGE,QAAA,QAAQ,EAAE,KAAKC,YAHjB;AAIE,QAAA,OAAO,EAAEJ,OAJX;AAKE,QAAA,SAAS,EAAE,KAAKK,cALlB;AAME,QAAA,WAAW,EAAEJ,WANf;AAOE,QAAA,KAAK,EAAEV;AAPT,QADF,CADF;AAaD;;;WAxCD,kCAAgCe,SAAhC,SAA0D;AAAA,UAAbd,SAAa,SAAbA,SAAa;AACxD,UAAQD,KAAR,GAAkBe,SAAlB,CAAQf,KAAR;;AACA,UAAIA,KAAK,KAAKC,SAAS,CAACD,KAAxB,EAA+B;AAC7B,eAAO;AACLA,UAAAA,KAAK,EAALA,KADK;AAELC,UAAAA,SAAS,EAAE;AAAED,YAAAA,KAAK,EAALA;AAAF;AAFN,SAAP;AAID;;AACD,aAAO,IAAP;AACD;;;;EAxB2CgB;;oCAAzBnB,kCACG;AACpBO,EAAAA,iBAAiB,EAAE,KADC;AAEpBD,EAAAA,QAAQ,EAAE;AAAA,WAAM,IAAN;AAAA,GAFU;AAGpBE,EAAAA,QAAQ,EAAE;AAAA,WAAM,IAAN;AAAA;AAHU;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ShuttleSource.js","sources":["../../../src/components/ShuttleSource.tsx"],"sourcesContent":["/* eslint-disable max-lines */\n/* eslint-disable no-shadow */\nimport React, { useCallback, useContext, useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport ArrowShortRight from '@elliemae/ds-icons/ArrowShortRight';\nimport DSButton from '@elliemae/ds-basic/Button';\nimport Search from '@elliemae/ds-icons/Search';\nimport { runAll } from '@elliemae/ds-utilities/utils';\nimport ShuttleSearchBox from './ShuttleSearchBox';\nimport ShuttleInfiniteScrollIndicator from './ShuttleInfiniteScrollIndicator';\nimport ShuttleSourceListItem from './ShuttleListItem/ShuttleSourceListItem';\nimport {\n ShuttleFooterCounter,\n Overflow,\n ShuttleFooter,\n ShuttleHeader,\n ShuttleHeaderBreadcrumb,\n ShuttleHeaderSearchToggle,\n ShuttleList,\n ShuttleWrapper,\n ShuttleFooterActions,\n EmptyMessage,\n LoadingList,\n} from '../classedComponents';\nimport ShuttleListPanel from './ShuttleListPanel';\nimport VirtualizedList from './VirtualizedList';\nimport { getActiveIdFromHierarchy } from '../helper';\nimport AnimationState from '../AnimationState';\nimport SearchState from '../SearchState';\nimport VirtualizedSortableList from './VirtualizedSortableList';\nimport LoadingIndicator from './LoadingIndicator';\n\nconst noop = () => {};\n\nfunction ShuttleSource({\n items = [],\n checkedItems = [], // build Map() and memoize it for better performance\n hierarchy = [],\n onMoveItem = noop,\n onCheckItem = noop,\n onMoveCheckedItems = noop,\n onNavigateTo = noop,\n onClearCheckedItems = noop,\n emptyMessage = 'No items found',\n composeSourceItemProps = noop,\n loading = false,\n onSearch = noop,\n onSearchClose = noop,\n onSearchOpen = noop,\n sourceSortable = false,\n onSortEnd = noop,\n sourceClearItemsText = 'CLEAR ALL',\n searchPlaceholder,\n renderSourceCounter = (amount) => `${amount} items`,\n onGetMoreItems = () => {},\n moreItemsLoading = false,\n hasNextPage = false,\n}) {\n const {\n state: { isMovingBack = false, isMoving },\n } = useContext(AnimationState.Context);\n const {\n state: { searching, searchTerm },\n setSearchTerm,\n reset: resetSearch,\n toggleSearchBox,\n } = useContext(SearchState.Context);\n\n const hashedCheckedItems = useMemo(\n () =>\n checkedItems.reduce((result, item) => ({ ...result, [item]: true }), {}),\n [checkedItems],\n );\n\n const handleCloseSearch = useCallback(() => {\n setSearchTerm('');\n runAll(resetSearch, onSearchClose)();\n }, [searching]);\n\n const handleToggleSearch = useCallback(() => {\n toggleSearchBox(!searching);\n if (searching) {\n handleCloseSearch();\n } else {\n onSearchOpen();\n }\n }, [searching]);\n\n const ComponentList = useMemo(\n () => (sourceSortable ? VirtualizedSortableList : VirtualizedList),\n [sourceSortable],\n );\n\n const handleSortEnd = ({ oldIndex, newIndex }) => {\n onSortEnd({\n sourceItem: items[oldIndex],\n targetItem: items[newIndex],\n });\n };\n\n const isEmpty = !items.length;\n const hasContent = !loading && !isEmpty;\n const contentIsEmpty = !loading && isEmpty;\n\n return (\n <ShuttleWrapper>\n <ShuttleHeader>\n <ShuttleHeaderBreadcrumb\n hierarchy={hierarchy}\n onNavigateTo={onNavigateTo}\n />\n <ShuttleHeaderSearchToggle\n buttonType=\"text\"\n icon={<Search />}\n onClick={handleToggleSearch}\n containerProps={{ 'data-testid': 'shuttle-header-search-toggle' }}\n />\n </ShuttleHeader>\n <ShuttleList\n classProps={{ showPulse: isMovingBack }}\n style={{ pointerEvents: isMoving ? 'none' : null }}\n >\n <ShuttleSearchBox\n key={searching}\n isOpen={searching}\n onClose={runAll(() => toggleSearchBox(false), handleCloseSearch)}\n onFilter={runAll(setSearchTerm, onSearch)}\n placeholder={searchPlaceholder}\n value={searchTerm}\n />\n {hasContent ? (\n <Overflow\n activeHierarchy={getActiveIdFromHierarchy(hierarchy).id}\n classProps={{\n searching,\n empty: isEmpty,\n }}\n >\n <ComponentList\n key={searchTerm}\n helperClass=\"drag-helper\"\n itemRenderer={({ item, ...rest }) => (\n <ShuttleSourceListItem\n data-testid=\"source-list-item\"\n {...rest}\n {...composeSourceItemProps(item, rest)}\n isChecked={!!hashedCheckedItems[item.id]}\n item={item}\n onItemCheck={onCheckItem}\n onMoveToTarget={onMoveItem}\n onNavigateOnSourceTo={onNavigateTo}\n showSortHandler={sourceSortable}\n />\n )}\n items={items}\n onSortEnd={handleSortEnd}\n getMoreItems={onGetMoreItems}\n hasNextPage={hasNextPage}\n />\n </Overflow>\n ) : null}\n {contentIsEmpty ? (\n <LoadingList data-testid=\"shuttle__loading-list\">\n <EmptyMessage>{emptyMessage}</EmptyMessage>\n </LoadingList>\n ) : null}\n {loading ? (\n <LoadingList data-testid=\"shuttle__loading-list\">\n <LoadingIndicator />\n </LoadingList>\n ) : null}\n <ShuttleListPanel\n onClick={onMoveCheckedItems}\n open={checkedItems.length > 1}\n >\n <ArrowShortRight />\n </ShuttleListPanel>\n {moreItemsLoading ? <ShuttleInfiniteScrollIndicator isOpen /> : null}\n </ShuttleList>\n <ShuttleFooter>\n <ShuttleFooterActions>\n {!!checkedItems.length && (\n <DSButton\n buttonType=\"link\"\n labelText={sourceClearItemsText}\n onClick={onClearCheckedItems}\n />\n )}\n </ShuttleFooterActions>\n <ShuttleFooterCounter>\n {renderSourceCounter(checkedItems.length)}\n </ShuttleFooterCounter>\n </ShuttleFooter>\n </ShuttleWrapper>\n );\n}\n\nShuttleSource.propTypes = {\n items: PropTypes.arrayOf(PropTypes.shape({})),\n checkedItems: PropTypes.arrayOf(PropTypes.shape({})),\n hierarchy: PropTypes.arrayOf(PropTypes.shape({})),\n onMoveItem: PropTypes.func,\n onCheckItem: PropTypes.func,\n onMoveCheckedItems: PropTypes.func,\n onNavigateTo: PropTypes.func,\n onClearCheckedItems: PropTypes.func,\n emptyMessage: PropTypes.string,\n composeSourceItemProps: PropTypes.func,\n loading: PropTypes.bool,\n onSearch: PropTypes.func,\n onSearchClose: PropTypes.func,\n onSearchOpen: PropTypes.func,\n sourceSortable: PropTypes.bool,\n onSortEnd: PropTypes.func,\n sourceClearItemsText: PropTypes.string,\n searchPlaceholder: PropTypes.string,\n renderSourceCounter: PropTypes.func,\n onGetMoreItems: PropTypes.func,\n moreItemsLoading: PropTypes.bool,\n hasNextPage: PropTypes.bool,\n};\n\nexport default ShuttleSource;\n"],"names":["noop","ShuttleSource","items","checkedItems","hierarchy","onMoveItem","onCheckItem","onMoveCheckedItems","onNavigateTo","onClearCheckedItems","emptyMessage","composeSourceItemProps","loading","onSearch","onSearchClose","onSearchOpen","sourceSortable","onSortEnd","sourceClearItemsText","searchPlaceholder","renderSourceCounter","amount","onGetMoreItems","moreItemsLoading","hasNextPage","useContext","AnimationState","Context","state","isMovingBack","isMoving","SearchState","searching","searchTerm","setSearchTerm","resetSearch","reset","toggleSearchBox","hashedCheckedItems","useMemo","reduce","result","item","handleCloseSearch","useCallback","runAll","handleToggleSearch","ComponentList","VirtualizedSortableList","VirtualizedList","handleSortEnd","oldIndex","newIndex","sourceItem","targetItem","isEmpty","length","hasContent","contentIsEmpty","React","ShuttleWrapper","ShuttleHeader","ShuttleHeaderBreadcrumb","ShuttleHeaderSearchToggle","Search","ShuttleList","showPulse","pointerEvents","ShuttleSearchBox","Overflow","getActiveIdFromHierarchy","id","empty","rest","ShuttleSourceListItem","LoadingList","EmptyMessage","LoadingIndicator","ShuttleListPanel","ArrowShortRight","ShuttleInfiniteScrollIndicator","ShuttleFooter","ShuttleFooterActions","DSButton","ShuttleFooterCounter","propTypes","PropTypes","arrayOf","shape","func","string","bool"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ShuttleTarget.js","sources":["../../../src/components/ShuttleTarget.tsx"],"sourcesContent":["import React, { useContext, useEffect, useRef } from 'react';\nimport DSButton from '@elliemae/ds-basic/Button';\nimport { isFunction, orderBy } from '@elliemae/ds-utilities/utils';\nimport { useForceUpdate } from '@elliemae/ds-utilities/hooks';\nimport {\n EmptyMessage,\n Overflow,\n ShuttleFooter,\n ShuttleFooterActions,\n ShuttleFooterCounter,\n ShuttleHeader,\n ShuttleHeaderBreadcrumb,\n ShuttleList,\n ShuttleWrapper,\n LoadingList,\n} from '../classedComponents';\nimport { getActiveIdFromHierarchy, moveItems } from '../helper';\nimport AnimationContext from '../AnimationState';\nimport VirtualizedList from './VirtualizedList';\nimport ShuttleTargetListItem from './ShuttleListItem/ShuttleTargetListItem';\nimport VirtualizedSortableList from './VirtualizedSortableList';\nimport LoadingIndicator from './LoadingIndicator';\n\nconst noop = () => {};\n\nfunction ShuttleTarget({\n items = [],\n hierarchy = [],\n onNavigateTo = noop,\n onMoveItem = noop,\n onClearMovedItems = noop,\n emptyMessage = 'No items selected',\n composeTargetItemProps = () => ({}),\n targetSortable = false,\n onSortEnd = noop,\n targetClearItemsText = 'CLEAR ALL',\n renderTargetCounter = amount => `${amount} items`,\n loading = false,\n}) {\n const {\n state: { isMoving = false },\n } = useContext(AnimationContext.Context);\n const isEmpty = !items.length;\n const emptyContent = loading ? (\n <LoadingIndicator />\n ) : (\n <EmptyMessage>{emptyMessage}</EmptyMessage>\n );\n\n const ComponentList = targetSortable\n ? VirtualizedSortableList\n : VirtualizedList;\n\n const handleSortEnd = ({ oldIndex, newIndex }) => {\n onSortEnd({\n sourceItem: items[oldIndex],\n targetItem: items[newIndex],\n });\n };\n\n return (\n <ShuttleWrapper>\n <ShuttleHeader>\n <ShuttleHeaderBreadcrumb\n hierarchy={hierarchy}\n onNavigateTo={onNavigateTo}\n />\n </ShuttleHeader>\n <ShuttleList classProps={{ showPulse: isMoving }}>\n {!loading && !isEmpty ? (\n <Overflow\n activeHierarchy={getActiveIdFromHierarchy(hierarchy).id}\n classProps={{\n empty: !items.length,\n }}\n >\n <ComponentList\n itemRenderer={({ item, ...rest }) => (\n <ShuttleTargetListItem\n data-testid=\"target-list-item\"\n {...rest}\n {...composeTargetItemProps(item, rest)}\n isRoot={!getActiveIdFromHierarchy(hierarchy).id}\n item={item}\n onMoveToSource={onMoveItem}\n onNavigateOnTargetTo={onNavigateTo}\n showSortHandler={targetSortable}\n />\n )}\n items={items}\n onSortEnd={handleSortEnd}\n target\n />\n </Overflow>\n ) : (\n <LoadingList>{emptyContent}</LoadingList>\n )}\n </ShuttleList>\n <ShuttleFooter>\n <ShuttleFooterActions>\n {!!items.length && (\n <DSButton\n containerProps={{ 'data-testid': 'shuttle-clear-all-target' }}\n buttonType=\"link\"\n labelText={targetClearItemsText}\n onClick={onClearMovedItems}\n />\n )}\n </ShuttleFooterActions>\n <ShuttleFooterCounter>\n {renderTargetCounter(items.length)}\n </ShuttleFooterCounter>\n </ShuttleFooter>\n </ShuttleWrapper>\n );\n}\n\nexport default ShuttleTarget;\n"],"names":["noop","ShuttleTarget","items","hierarchy","onNavigateTo","onMoveItem","onClearMovedItems","emptyMessage","composeTargetItemProps","targetSortable","onSortEnd","targetClearItemsText","renderTargetCounter","amount","loading","useContext","AnimationContext","Context","state","isMoving","isEmpty","length","emptyContent","React","LoadingIndicator","EmptyMessage","ComponentList","VirtualizedSortableList","VirtualizedList","handleSortEnd","oldIndex","newIndex","sourceItem","targetItem","ShuttleWrapper","ShuttleHeader","ShuttleHeaderBreadcrumb","ShuttleList","showPulse","Overflow","getActiveIdFromHierarchy","id","empty","item","rest","ShuttleTargetListItem","LoadingList","ShuttleFooter","ShuttleFooterActions","DSButton","ShuttleFooterCounter"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"VirtualizedItem.js","sources":["../../../src/components/VirtualizedItem.tsx"],"sourcesContent":["import { memo } from 'react';\nimport { areEqual } from 'react-window';\n\nconst VirtualizedItem = memo(\n ({ data, index, style: virtualizedStyles, showSortHandler = false }) => {\n const { items, itemRenderer, isItemMoving } = data;\n const { item, props: animatedStyles, key } = items[index] || {};\n if (!item) return null;\n return itemRenderer({\n index,\n key,\n item,\n showSortHandler,\n style: isItemMoving\n ? { ...animatedStyles, ...virtualizedStyles }\n : virtualizedStyles,\n });\n },\n areEqual,\n);\n\nexport default VirtualizedItem;\n"],"names":["VirtualizedItem","memo","data","index","virtualizedStyles","style","showSortHandler","items","itemRenderer","isItemMoving","item","animatedStyles","props","key","areEqual"],"mappings":";;;;;;;;;;;;;IAGMA,eAAe,gBAAGC,UAAI,CAC1B,gBAAwE;AAAA,MAArEC,IAAqE,QAArEA,IAAqE;AAAA,MAA/DC,KAA+D,QAA/DA,KAA+D;AAAA,MAAjDC,iBAAiD,QAAxDC,KAAwD;AAAA,kCAA9BC,eAA8B;AAAA,MAA9BA,eAA8B,qCAAZ,KAAY;AACtE,MAAQC,KAAR,GAA8CL,IAA9C,CAAQK,KAAR;AAAA,MAAeC,YAAf,GAA8CN,IAA9C,CAAeM,YAAf;AAAA,MAA6BC,YAA7B,GAA8CP,IAA9C,CAA6BO,YAA7B;;AACA,cAA6CF,KAAK,CAACJ,KAAD,CAAL,IAAgB,EAA7D;AAAA,MAAQO,IAAR,SAAQA,IAAR;AAAA,MAAqBC,cAArB,SAAcC,KAAd;AAAA,MAAqCC,GAArC,SAAqCA,GAArC;;AACA,MAAI,CAACH,IAAL,EAAW,OAAO,IAAP;AACX,SAAOF,YAAY,CAAC;AAClBL,IAAAA,KAAK,EAALA,KADkB;AAElBU,IAAAA,GAAG,EAAHA,GAFkB;AAGlBH,IAAAA,IAAI,EAAJA,IAHkB;AAIlBJ,IAAAA,eAAe,EAAfA,eAJkB;AAKlBD,IAAAA,KAAK,EAAEI,YAAY,mCACVE,cADU,GACSP,iBADT,IAEfA;AAPc,GAAD,CAAnB;AASD,CAdyB,EAe1BU,oBAf0B;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"VirtualizedList.js","sources":["../../../src/components/VirtualizedList.tsx"],"sourcesContent":["/* eslint-disable react/prop-types */\nimport React, { useContext, useEffect, useRef } from 'react';\nimport { useTransition } from 'react-spring/web.cjs';\nimport { FixedSizeList as List } from 'react-window';\nimport InfiniteLoader from 'react-window-infinite-loader';\nimport AutoSizer from 'react-virtualized-auto-sizer';\nimport { animationConfig } from '../animation/animationConfig';\nimport AnimationState from '../AnimationState';\nimport VirtualizedItem from './VirtualizedItem';\n\nfunction VirtualizedList({\n items,\n itemRenderer,\n searching,\n target = false,\n innerRef,\n children,\n hasNextPage = true,\n getMoreItems = () => {},\n}) {\n const hasMounted = useRef(false);\n const {\n state: { isMoving, isMovingBack },\n reset,\n } = useContext(AnimationState.Context);\n\n useEffect(() => {\n hasMounted.current = true;\n }, []);\n\n const transitions = useTransition(items, (item) => item.id, {\n ...animationConfig.moveItem(target),\n onDestroyed: () => reset(),\n });\n\n const itemCount = hasNextPage ? items.length + 1 : items.length;\n\n const isItemLoaded = (index) => !hasNextPage || index < items.length;\n\n return (\n <AutoSizer>\n {({ height, width }) => (\n <InfiniteLoader\n isItemLoaded={isItemLoaded}\n itemCount={itemCount}\n loadMoreItems={getMoreItems}\n >\n {({ onItemsRendered, ref }) => (\n <List\n height={searching ? 300 : height}\n width={width}\n innerRef={innerRef}\n itemCount={transitions.length}\n itemData={{\n items: transitions,\n itemRenderer,\n isItemMoving: hasMounted.current && (isMoving || isMovingBack),\n }}\n itemSize={35}\n onItemsRendered={onItemsRendered}\n ref={ref}\n >\n {children || VirtualizedItem}\n </List>\n )}\n </InfiniteLoader>\n )}\n </AutoSizer>\n );\n}\n\nexport default VirtualizedList;\n"],"names":["VirtualizedList","items","itemRenderer","searching","target","innerRef","children","hasNextPage","getMoreItems","hasMounted","useRef","useContext","AnimationState","Context","state","isMoving","isMovingBack","reset","useEffect","current","transitions","useTransition","item","id","animationConfig","moveItem","onDestroyed","itemCount","length","isItemLoaded","index","React","AutoSizer","height","width","InfiniteLoader","onItemsRendered","ref","List","isItemMoving","VirtualizedItem"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAUA,SAASA,eAAT,OASG;AAAA,MARDC,KAQC,QARDA,KAQC;AAAA,MAPDC,YAOC,QAPDA,YAOC;AAAA,MANDC,SAMC,QANDA,SAMC;AAAA,yBALDC,MAKC;AAAA,MALDA,MAKC,4BALQ,KAKR;AAAA,MAJDC,QAIC,QAJDA,QAIC;AAAA,MAHDC,QAGC,QAHDA,QAGC;AAAA,8BAFDC,WAEC;AAAA,MAFDA,WAEC,iCAFa,IAEb;AAAA,+BADDC,YACC;AAAA,MADDA,YACC,kCADc,YAAM,EACpB;AACD,MAAMC,UAAU,GAAGC,YAAM,CAAC,KAAD,CAAzB;;AACA,oBAGIC,gBAAU,CAACC,cAAc,CAACC,OAAhB,CAHd;AAAA,sCACEC,KADF;AAAA,MACWC,QADX,qBACWA,QADX;AAAA,MACqBC,YADrB,qBACqBA,YADrB;AAAA,MAEEC,KAFF,eAEEA,KAFF;;AAKAC,EAAAA,eAAS,CAAC,YAAM;AACdT,IAAAA,UAAU,CAACU,OAAX,GAAqB,IAArB;AACD,GAFQ,EAEN,EAFM,CAAT;AAIA,MAAMC,WAAW,GAAGC,qBAAa,CAACpB,KAAD,EAAQ,UAACqB,IAAD;AAAA,WAAUA,IAAI,CAACC,EAAf;AAAA,GAAR,kCAC5BC,yCAAe,CAACC,QAAhB,CAAyBrB,MAAzB,CAD4B;AAE/BsB,IAAAA,WAAW,EAAE;AAAA,aAAMT,KAAK,EAAX;AAAA;AAFkB,KAAjC;AAKA,MAAMU,SAAS,GAAGpB,WAAW,GAAGN,KAAK,CAAC2B,MAAN,GAAe,CAAlB,GAAsB3B,KAAK,CAAC2B,MAAzD;;AAEA,MAAMC,YAAY,GAAG,SAAfA,YAAe,CAACC,KAAD;AAAA,WAAW,CAACvB,WAAD,IAAgBuB,KAAK,GAAG7B,KAAK,CAAC2B,MAAzC;AAAA,GAArB;;AAEA,sBACEG,wCAACC,6BAAD,QACG;AAAA,QAAGC,MAAH,SAAGA,MAAH;AAAA,QAAWC,KAAX,SAAWA,KAAX;AAAA,wBACCH,wCAACI,kCAAD;AACE,MAAA,YAAY,EAAEN,YADhB;AAEE,MAAA,SAAS,EAAEF,SAFb;AAGE,MAAA,aAAa,EAAEnB;AAHjB,OAKG;AAAA,UAAG4B,eAAH,SAAGA,eAAH;AAAA,UAAoBC,GAApB,SAAoBA,GAApB;AAAA,0BACCN,wCAACO,yBAAD;AACE,QAAA,MAAM,EAAEnC,SAAS,GAAG,GAAH,GAAS8B,MAD5B;AAEE,QAAA,KAAK,EAAEC,KAFT;AAGE,QAAA,QAAQ,EAAE7B,QAHZ;AAIE,QAAA,SAAS,EAAEe,WAAW,CAACQ,MAJzB;AAKE,QAAA,QAAQ,EAAE;AACR3B,UAAAA,KAAK,EAAEmB,WADC;AAERlB,UAAAA,YAAY,EAAZA,YAFQ;AAGRqC,UAAAA,YAAY,EAAE9B,UAAU,CAACU,OAAX,KAAuBJ,QAAQ,IAAIC,YAAnC;AAHN,SALZ;AAUE,QAAA,QAAQ,EAAE,EAVZ;AAWE,QAAA,eAAe,EAAEoB,eAXnB;AAYE,QAAA,GAAG,EAAEC;AAZP,SAcG/B,QAAQ,IAAIkC,0BAdf,CADD;AAAA,KALH,CADD;AAAA,GADH,CADF;AA8BD;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"VirtualizedSortableList.js","sources":["../../../src/components/VirtualizedSortableList.tsx"],"sourcesContent":["import React from 'react';\nimport { sortableElement, sortableContainer } from 'react-sortable-hoc';\nimport VirtualizedList from './VirtualizedList';\nimport VirtualizedItem from './VirtualizedItem';\n\nconst SortableList = sortableContainer(VirtualizedList);\n\nfunction VirtualizedSortableList({ items, ...otherProps }) {\n return (\n <SortableList {...otherProps} items={items} useDragHandle>\n {sortableElement(VirtualizedItem)}\n </SortableList>\n );\n}\n\nexport default VirtualizedSortableList;\n"],"names":["SortableList","sortableContainer","VirtualizedList","VirtualizedSortableList","items","otherProps","React","sortableElement","VirtualizedItem"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAKA,IAAMA,YAAY,GAAGC,kCAAiB,CAACC,0BAAD,CAAtC;;AAEA,SAASC,uBAAT,OAA2D;AAAA,MAAxBC,KAAwB,QAAxBA,KAAwB;AAAA,MAAdC,UAAc;;AACzD,sBACEC,wCAAC,YAAD,mCAAkBD,UAAlB;AAA8B,IAAA,KAAK,EAAED,KAArC;AAA4C,IAAA,aAAa;AAAzD,MACGG,gCAAe,CAACC,0BAAD,CADlB,CADF;AAKD;;;;"}
package/cjs/helper.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"helper.js","sources":["../../src/helper.tsx"],"sourcesContent":["/* eslint-disable prettier/prettier */\n/* eslint-disable no-shadow,no-plusplus */\nimport { omit, compose, hashArray } from '@elliemae/ds-utilities/utils';\nimport * as tree from 'treetabular';\n\nexport const getHierarchyTypeName = (dest) =>\n !dest ? 'hierarchy' : 'hierarchyDest';\nexport const checkHasChildren = (list, currentItem) =>\n list.some((item) => currentItem.id === item.parent);\nexport const getActiveIdFromHierarchy = (hierarchy = []) =>\n hierarchy[hierarchy.length - 1] || {};\n\nexport const filterItemsByHierarchy = (\n list,\n hierarchyId,\n parentField = 'parent',\n) => list.filter((item) => item[parentField] === hierarchyId);\nexport const getItemsById = (ids, list) =>\n ids\n .reduce(\n (acc, id) =>\n acc.concat(list.find((item) => String(item.id) === String(id))),\n [],\n )\n .filter((item) => item);\nexport const toggleInObject = (obj, key, value) =>\n obj[key] ? omit(obj, [key]) : { ...obj, [key]: value };\nexport const isMovable = (item) =>\n !item.forceNotMovable &&\n ((item.hasChildren && item.isMoveableContainer) || !item.hasChildren);\n// utility to execute all specified actions in sequence\nexport const pipe = (actions) => (initState, props) =>\n actions.reduce((prevState, action) => action(prevState, props), initState);\n\nexport const moveItems = ({ oldIndex, newIndex }) => (items) => {\n const sourceItem = items[oldIndex];\n items.splice(oldIndex, 1);\n items.splice(newIndex, 0, sourceItem);\n return items;\n};\n\nexport const prepareItems = (items) =>\n compose(tree.fixOrder(), (items) =>\n items.map((item) => ({\n ...item,\n hasChildren: checkHasChildren(items, item),\n })),\n )(items);\n\nconst defaultOptions = {\n parentField: 'parent',\n idField: 'id',\n op: (hasMoved) => !hasMoved,\n};\n\nexport function getChildrenFromParent(parentId, options) {\n const { parentField } = { ...defaultOptions, ...options };\n return (items) => items.filter((item) => item[parentField] === parentId);\n}\n\nexport function filterMovedItems(movedItems, options) {\n const { idField, op: filterOp } = { ...defaultOptions, ...options };\n const movedItemsHash = hashArray(movedItems, idField);\n return (items) =>\n items.filter((item) => filterOp(!!movedItemsHash[item[idField]]));\n}\n\nexport function filterBySearch(term, searching) {\n return (items) =>\n searching\n ? items.filter(\n (item) =>\n item.name.toLowerCase().indexOf(String(term).toLowerCase()) !== -1,\n )\n : items;\n}\n"],"names":["getHierarchyTypeName","dest","checkHasChildren","list","currentItem","some","item","id","parent","getActiveIdFromHierarchy","hierarchy","length","filterItemsByHierarchy","hierarchyId","parentField","filter","getItemsById","ids","reduce","acc","concat","find","String","toggleInObject","obj","key","value","omit","isMovable","forceNotMovable","hasChildren","isMoveableContainer","pipe","actions","initState","props","prevState","action","moveItems","oldIndex","newIndex","items","sourceItem","splice","prepareItems","compose","tree","fixOrder","map","defaultOptions","idField","op","hasMoved","getChildrenFromParent","parentId","options","filterMovedItems","movedItems","filterOp","movedItemsHash","hashArray","filterBySearch","term","searching","name","toLowerCase","indexOf"],"mappings":"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"}
package/cjs/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}