@wix/patterns 1.37.0 → 1.39.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (436) hide show
  1. package/README.md +23 -0
  2. package/dist/cjs/components/{MultiBulkActionButton/MultiBulkActionButton.js → ActionControl/ActionButton.js} +12 -27
  3. package/dist/cjs/components/ActionControl/ActionButton.js.map +1 -0
  4. package/dist/cjs/components/ActionControl/ActionControl.js +33 -0
  5. package/dist/cjs/components/ActionControl/ActionControl.js.map +1 -0
  6. package/dist/cjs/components/{MultiBulkActionButton/MultiBulkActionPopover.js → ActionControl/ActionPopover.js} +12 -27
  7. package/dist/cjs/components/ActionControl/ActionPopover.js.map +1 -0
  8. package/dist/cjs/components/ActionControl/ActionSubItemProps.js +4 -0
  9. package/dist/cjs/components/ActionControl/ActionSubItemProps.js.map +1 -0
  10. package/dist/cjs/components/ActionControl/index.js +28 -0
  11. package/dist/cjs/components/ActionControl/index.js.map +1 -0
  12. package/dist/cjs/components/Collapse/Collapse.st.css.js +3 -3
  13. package/dist/cjs/components/Collapse/Collapse.st.css.js.map +1 -1
  14. package/dist/cjs/components/CollectionPageHeaderNew/CollectionPageHeader.js.map +1 -1
  15. package/dist/cjs/components/CollectionPageNew/CollectionPage.uni.driver.js +9 -1
  16. package/dist/cjs/components/CollectionPageNew/CollectionPage.uni.driver.js.map +1 -1
  17. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js +5 -5
  18. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js.map +1 -1
  19. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +3 -3
  20. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
  21. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  22. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
  23. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  24. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
  25. package/dist/cjs/components/CustomFieldsWidget/CustomFieldsViewWidgetSection.st.css.js +3 -3
  26. package/dist/cjs/components/CustomFieldsWidget/CustomFieldsViewWidgetSection.st.css.js.map +1 -1
  27. package/dist/cjs/components/DragAndDrop/DragOverlayTestComponent.js +48 -0
  28. package/dist/cjs/components/DragAndDrop/DragOverlayTestComponent.js.map +1 -0
  29. package/dist/cjs/components/DragHandle/DragHandle.st.css.js +2 -2
  30. package/dist/cjs/components/DragHandle/DragHandle.st.css.js.map +1 -1
  31. package/dist/cjs/components/EntityPage/EntityPage.js +2 -2
  32. package/dist/cjs/components/EntityPage/EntityPage.js.map +1 -1
  33. package/dist/cjs/components/Fade/Fade.st.css.js +2 -2
  34. package/dist/cjs/components/Fade/Fade.st.css.js.map +1 -1
  35. package/dist/cjs/components/Grid/GridSingleGridContent.js +1 -1
  36. package/dist/cjs/components/Grid/GridSingleGridContent.js.map +1 -1
  37. package/dist/cjs/components/Grid/useGridBaseSyncProps.js +6 -4
  38. package/dist/cjs/components/Grid/useGridBaseSyncProps.js.map +1 -1
  39. package/dist/cjs/components/GridSections/GridSectionsContent.js +7 -6
  40. package/dist/cjs/components/GridSections/GridSectionsContent.js.map +1 -1
  41. package/dist/cjs/components/GridSections/GridSectionsSectionState.js +1 -1
  42. package/dist/cjs/components/GridSections/GridSectionsSectionState.js.map +1 -1
  43. package/dist/cjs/components/GridSections/GridSectionsSingleSkeletonGrid.js +1 -1
  44. package/dist/cjs/components/GridSections/GridSectionsSingleSkeletonGrid.js.map +1 -1
  45. package/dist/cjs/components/GridSections/GridSectionsState.js +2 -1
  46. package/dist/cjs/components/GridSections/GridSectionsState.js.map +1 -1
  47. package/dist/cjs/components/Heading/Heading.st.css.js +2 -2
  48. package/dist/cjs/components/Heading/Heading.st.css.js.map +1 -1
  49. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js +2 -2
  50. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
  51. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  52. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
  53. package/dist/cjs/components/MaxLines/MaxLines.st.css.js +2 -2
  54. package/dist/cjs/components/MaxLines/MaxLines.st.css.js.map +1 -1
  55. package/dist/cjs/components/MoreActions/{MoreActions.js → MoreActionsBase.js} +11 -27
  56. package/dist/cjs/components/MoreActions/MoreActionsBase.js.map +1 -0
  57. package/dist/cjs/components/MoreActions/MoreActionsIcon.js +42 -0
  58. package/dist/cjs/components/MoreActions/MoreActionsIcon.js.map +1 -0
  59. package/dist/cjs/components/MoreActions/MoreActionsText.js +47 -0
  60. package/dist/cjs/components/MoreActions/MoreActionsText.js.map +1 -0
  61. package/dist/cjs/components/MoreActions/index.js +7 -6
  62. package/dist/cjs/components/MoreActions/index.js.map +1 -1
  63. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.js +86 -43
  64. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.js.map +1 -1
  65. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
  66. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
  67. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbarState.js.map +1 -1
  68. package/dist/cjs/components/NestedTable/NestedTable.uni.driver.js +3 -1
  69. package/dist/cjs/components/NestedTable/NestedTable.uni.driver.js.map +1 -1
  70. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js +5 -5
  71. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
  72. package/dist/cjs/components/NestedTableDragAndDrop/DepthLimitMessage.js +48 -0
  73. package/dist/cjs/components/NestedTableDragAndDrop/DepthLimitMessage.js.map +1 -0
  74. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropContext.js +33 -6
  75. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropContext.js.map +1 -1
  76. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropOverlay.js +50 -0
  77. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropOverlay.js.map +1 -0
  78. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropOverlayPopover.js +64 -0
  79. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropOverlayPopover.js.map +1 -0
  80. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropState.js +29 -1
  81. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropState.js.map +1 -1
  82. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragOverlay.uni.driver.js +15 -0
  83. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragOverlay.uni.driver.js.map +1 -0
  84. package/dist/cjs/components/PickerContent/PickerContent.st.css.js +2 -2
  85. package/dist/cjs/components/PickerContent/PickerContent.st.css.js.map +1 -1
  86. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js +4 -4
  87. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
  88. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  89. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
  90. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  91. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
  92. package/dist/cjs/components/SecondaryActions/SecondaryActions.js +24 -0
  93. package/dist/cjs/components/SecondaryActions/SecondaryActions.js.map +1 -0
  94. package/dist/cjs/components/SecondaryActions/index.js +10 -0
  95. package/dist/cjs/components/SecondaryActions/index.js.map +1 -0
  96. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js +3 -3
  97. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
  98. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js +2 -2
  99. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
  100. package/dist/cjs/components/Table/TableVirtualHeader.st.css.js +2 -2
  101. package/dist/cjs/components/Table/TableVirtualHeader.st.css.js.map +1 -1
  102. package/dist/cjs/components/Table/getVirtualTableProps.js +1 -1
  103. package/dist/cjs/components/Table/getVirtualTableProps.js.map +1 -1
  104. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js +3 -3
  105. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
  106. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  107. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
  108. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.uni.driver.js +2 -0
  109. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.uni.driver.js.map +1 -1
  110. package/dist/cjs/components/ToolbarCollection/useToolbarCollectionSyncProps.js +10 -2
  111. package/dist/cjs/components/ToolbarCollection/useToolbarCollectionSyncProps.js.map +1 -1
  112. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  113. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
  114. package/dist/cjs/components/common.st.css.js +4 -4
  115. package/dist/cjs/components/common.st.css.js.map +1 -1
  116. package/dist/cjs/hooks/useSyncCollectionOnEntityReturn.js +17 -5
  117. package/dist/cjs/hooks/useSyncCollectionOnEntityReturn.js.map +1 -1
  118. package/dist/cjs/index.js +13 -4
  119. package/dist/cjs/index.js.map +1 -1
  120. package/dist/cjs/providers/WixPatternsRouterProvider.js +6 -12
  121. package/dist/cjs/providers/WixPatternsRouterProvider.js.map +1 -1
  122. package/dist/cjs/state/CollectionPage/useCollectionPageHeader.js +25 -8
  123. package/dist/cjs/state/CollectionPage/useCollectionPageHeader.js.map +1 -1
  124. package/dist/cjs/state/CustomColumnsState.js +23 -11
  125. package/dist/cjs/state/CustomColumnsState.js.map +1 -1
  126. package/dist/cjs/state/EntityPage/EntityPageState.js +9 -5
  127. package/dist/cjs/state/EntityPage/EntityPageState.js.map +1 -1
  128. package/dist/cjs/state/GridBaseState.js +6 -3
  129. package/dist/cjs/state/GridBaseState.js.map +1 -1
  130. package/dist/cjs/state/GridFoldersState.js +1 -0
  131. package/dist/cjs/state/GridFoldersState.js.map +1 -1
  132. package/dist/cjs/state/GridParentState.js +4 -0
  133. package/dist/cjs/state/GridParentState.js.map +1 -0
  134. package/dist/cjs/state/GridState.js +5 -0
  135. package/dist/cjs/state/GridState.js.map +1 -1
  136. package/dist/cjs/state/NestedTableState/NestedTableNodeState.js +22 -2
  137. package/dist/cjs/state/NestedTableState/NestedTableNodeState.js.map +1 -1
  138. package/dist/cjs/state/TagsBulkAssignPopoverState.js +10 -4
  139. package/dist/cjs/state/TagsBulkAssignPopoverState.js.map +1 -1
  140. package/dist/cjs/state/TagsModalState.js +11 -4
  141. package/dist/cjs/state/TagsModalState.js.map +1 -1
  142. package/dist/cjs/state/WixPatternsRouterState.js +9 -1
  143. package/dist/cjs/state/WixPatternsRouterState.js.map +1 -1
  144. package/dist/cjs/styles.global.css +1 -1
  145. package/dist/cjs/test-utils/TagsMocks.js +23 -1
  146. package/dist/cjs/test-utils/TagsMocks.js.map +1 -1
  147. package/dist/cjs/testkit/puppeteer.js +3 -1
  148. package/dist/cjs/testkit/puppeteer.js.map +1 -1
  149. package/dist/cjs/version.js +1 -1
  150. package/dist/cjs/version.js.map +1 -1
  151. package/dist/esm/components/ActionControl/ActionButton.js +10 -0
  152. package/dist/esm/components/ActionControl/ActionButton.js.map +1 -0
  153. package/dist/esm/components/ActionControl/ActionControl.js +8 -0
  154. package/dist/esm/components/ActionControl/ActionControl.js.map +1 -0
  155. package/dist/esm/components/{MultiBulkActionButton/MultiBulkActionPopover.js → ActionControl/ActionPopover.js} +5 -19
  156. package/dist/esm/components/ActionControl/ActionPopover.js.map +1 -0
  157. package/dist/esm/components/ActionControl/ActionSubItemProps.js +2 -0
  158. package/dist/esm/components/ActionControl/ActionSubItemProps.js.map +1 -0
  159. package/dist/esm/components/ActionControl/index.js +5 -0
  160. package/dist/esm/components/ActionControl/index.js.map +1 -0
  161. package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
  162. package/dist/esm/components/CollectionPageHeaderNew/CollectionPageHeader.js.map +1 -1
  163. package/dist/esm/components/CollectionPageNew/CollectionPage.uni.driver.js +9 -1
  164. package/dist/esm/components/CollectionPageNew/CollectionPage.uni.driver.js.map +1 -1
  165. package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
  166. package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
  167. package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  168. package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
  169. package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  170. package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
  171. package/dist/esm/components/CustomFieldsWidget/CustomFieldsViewWidgetSection.st.css.js +2 -2
  172. package/dist/esm/components/CustomFieldsWidget/CustomFieldsViewWidgetSection.st.css.js.map +1 -1
  173. package/dist/esm/components/DragAndDrop/DragOverlayTestComponent.js +19 -0
  174. package/dist/esm/components/DragAndDrop/DragOverlayTestComponent.js.map +1 -0
  175. package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
  176. package/dist/esm/components/EntityPage/EntityPage.js +2 -2
  177. package/dist/esm/components/EntityPage/EntityPage.js.map +1 -1
  178. package/dist/esm/components/Fade/Fade.st.css.js +2 -2
  179. package/dist/esm/components/Grid/GridSingleGridContent.js.map +1 -1
  180. package/dist/esm/components/Grid/useGridBaseSyncProps.js +7 -4
  181. package/dist/esm/components/Grid/useGridBaseSyncProps.js.map +1 -1
  182. package/dist/esm/components/GridSections/GridSectionsContent.js +2 -1
  183. package/dist/esm/components/GridSections/GridSectionsContent.js.map +1 -1
  184. package/dist/esm/components/GridSections/GridSectionsSectionState.js +1 -1
  185. package/dist/esm/components/GridSections/GridSectionsSectionState.js.map +1 -1
  186. package/dist/esm/components/GridSections/GridSectionsSingleSkeletonGrid.js.map +1 -1
  187. package/dist/esm/components/GridSections/GridSectionsState.js +1 -1
  188. package/dist/esm/components/GridSections/GridSectionsState.js.map +1 -1
  189. package/dist/esm/components/Heading/Heading.st.css.js +2 -2
  190. package/dist/esm/components/InputOverflow/InputOverflow.st.css.js +2 -2
  191. package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  192. package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
  193. package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
  194. package/dist/esm/components/MoreActions/{MoreActions.js → MoreActionsBase.js} +6 -8
  195. package/dist/esm/components/MoreActions/MoreActionsBase.js.map +1 -0
  196. package/dist/esm/components/MoreActions/MoreActionsIcon.js +12 -0
  197. package/dist/esm/components/MoreActions/MoreActionsIcon.js.map +1 -0
  198. package/dist/esm/components/MoreActions/MoreActionsText.js +12 -0
  199. package/dist/esm/components/MoreActions/MoreActionsText.js.map +1 -0
  200. package/dist/esm/components/MoreActions/index.js +1 -1
  201. package/dist/esm/components/MoreActions/index.js.map +1 -1
  202. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.js +49 -6
  203. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.js.map +1 -1
  204. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
  205. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbarState.js.map +1 -1
  206. package/dist/esm/components/NestedTable/NestedTable.uni.driver.js +2 -0
  207. package/dist/esm/components/NestedTable/NestedTable.uni.driver.js.map +1 -1
  208. package/dist/esm/components/NestedTable/NestedTableRow.st.css.js +2 -2
  209. package/dist/esm/components/NestedTableDragAndDrop/DepthLimitMessage.js +14 -0
  210. package/dist/esm/components/NestedTableDragAndDrop/DepthLimitMessage.js.map +1 -0
  211. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropContext.js +11 -2
  212. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropContext.js.map +1 -1
  213. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropOverlay.js +20 -0
  214. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropOverlay.js.map +1 -0
  215. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropOverlayPopover.js +15 -0
  216. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropOverlayPopover.js.map +1 -0
  217. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropState.js +30 -2
  218. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropState.js.map +1 -1
  219. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragOverlay.uni.driver.js +11 -0
  220. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragOverlay.uni.driver.js.map +1 -0
  221. package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
  222. package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js +2 -2
  223. package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
  224. package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  225. package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  226. package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
  227. package/dist/esm/components/SecondaryActions/SecondaryActions.js +9 -0
  228. package/dist/esm/components/SecondaryActions/SecondaryActions.js.map +1 -0
  229. package/dist/esm/components/SecondaryActions/index.js +2 -0
  230. package/dist/esm/components/SecondaryActions/index.js.map +1 -0
  231. package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js +2 -2
  232. package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
  233. package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +2 -2
  234. package/dist/esm/components/Table/TableVirtualHeader.st.css.js +2 -2
  235. package/dist/esm/components/Table/getVirtualTableProps.js +1 -1
  236. package/dist/esm/components/Table/getVirtualTableProps.js.map +1 -1
  237. package/dist/esm/components/TabsFilter/TabsFilter.st.css.js +2 -2
  238. package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  239. package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
  240. package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.uni.driver.js +5 -0
  241. package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.uni.driver.js.map +1 -1
  242. package/dist/esm/components/ToolbarCollection/useToolbarCollectionSyncProps.js +9 -2
  243. package/dist/esm/components/ToolbarCollection/useToolbarCollectionSyncProps.js.map +1 -1
  244. package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  245. package/dist/esm/components/common.st.css.js +2 -2
  246. package/dist/esm/components/common.st.css.js.map +1 -1
  247. package/dist/esm/hooks/useSyncCollectionOnEntityReturn.js +18 -6
  248. package/dist/esm/hooks/useSyncCollectionOnEntityReturn.js.map +1 -1
  249. package/dist/esm/index.js +1 -0
  250. package/dist/esm/index.js.map +1 -1
  251. package/dist/esm/providers/WixPatternsRouterProvider.js +5 -10
  252. package/dist/esm/providers/WixPatternsRouterProvider.js.map +1 -1
  253. package/dist/esm/state/CollectionPage/useCollectionPageHeader.js +12 -1
  254. package/dist/esm/state/CollectionPage/useCollectionPageHeader.js.map +1 -1
  255. package/dist/esm/state/CustomColumnsState.js +17 -8
  256. package/dist/esm/state/CustomColumnsState.js.map +1 -1
  257. package/dist/esm/state/EntityPage/EntityPageState.js +8 -4
  258. package/dist/esm/state/EntityPage/EntityPageState.js.map +1 -1
  259. package/dist/esm/state/GridBaseState.js +5 -2
  260. package/dist/esm/state/GridBaseState.js.map +1 -1
  261. package/dist/esm/state/GridFoldersState.js +2 -1
  262. package/dist/esm/state/GridFoldersState.js.map +1 -1
  263. package/dist/esm/state/GridParentState.js +2 -0
  264. package/dist/esm/state/GridParentState.js.map +1 -0
  265. package/dist/esm/state/GridState.js +5 -0
  266. package/dist/esm/state/GridState.js.map +1 -1
  267. package/dist/esm/state/NestedTableState/NestedTableNodeState.js +9 -0
  268. package/dist/esm/state/NestedTableState/NestedTableNodeState.js.map +1 -1
  269. package/dist/esm/state/TagsBulkAssignPopoverState.js +11 -5
  270. package/dist/esm/state/TagsBulkAssignPopoverState.js.map +1 -1
  271. package/dist/esm/state/TagsModalState.js +12 -5
  272. package/dist/esm/state/TagsModalState.js.map +1 -1
  273. package/dist/esm/state/WixPatternsRouterState.js +6 -1
  274. package/dist/esm/state/WixPatternsRouterState.js.map +1 -1
  275. package/dist/esm/styles.global.css +1 -1
  276. package/dist/esm/test-utils/TagsMocks.js +17 -1
  277. package/dist/esm/test-utils/TagsMocks.js.map +1 -1
  278. package/dist/esm/testkit/puppeteer.js +2 -0
  279. package/dist/esm/testkit/puppeteer.js.map +1 -1
  280. package/dist/esm/version.js +1 -1
  281. package/dist/types/components/ActionControl/ActionButton.d.ts +10 -0
  282. package/dist/types/components/ActionControl/ActionButton.d.ts.map +1 -0
  283. package/dist/types/components/ActionControl/ActionControl.d.ts +8 -0
  284. package/dist/types/components/ActionControl/ActionControl.d.ts.map +1 -0
  285. package/dist/types/components/ActionControl/ActionPopover.d.ts +8 -0
  286. package/dist/types/components/ActionControl/ActionPopover.d.ts.map +1 -0
  287. package/dist/types/components/{MultiBulkActionButton/MultiBulkActionSubItemProps.d.ts → ActionControl/ActionSubItemProps.d.ts} +6 -6
  288. package/dist/types/components/ActionControl/ActionSubItemProps.d.ts.map +1 -0
  289. package/dist/types/components/ActionControl/index.d.ts +5 -0
  290. package/dist/types/components/ActionControl/index.d.ts.map +1 -0
  291. package/dist/types/components/CollectionList/CollectionList.uni.driver.d.ts +20 -20
  292. package/dist/types/components/CollectionPageHeaderNew/CollectionPageHeader.d.ts +6 -0
  293. package/dist/types/components/CollectionPageHeaderNew/CollectionPageHeader.d.ts.map +1 -1
  294. package/dist/types/components/CollectionPageNew/CollectionPage.uni.driver.d.ts +30 -2
  295. package/dist/types/components/CollectionPageNew/CollectionPage.uni.driver.d.ts.map +1 -1
  296. package/dist/types/components/CollectionTable/CollectionTable.uni.driver.d.ts +40 -40
  297. package/dist/types/components/CollectionToolbar/CollectionToolbar.uni.driver.d.ts +20 -20
  298. package/dist/types/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.d.ts.map +1 -1
  299. package/dist/types/components/CollectionViewsDropdown/CollectionViewsDropdown.uni.driver.d.ts +10 -10
  300. package/dist/types/components/CollectionViewsDropdown/ViewsDropdown.st.css.d.ts.map +1 -1
  301. package/dist/types/components/CollectionViewsDropdown/ViewsDropdownListItem.uni.driver.d.ts +5 -5
  302. package/dist/types/components/CollectionViewsDropdown/viewsDropdownRenderHelpers.d.ts +3 -3
  303. package/dist/types/components/CustomFieldModal/CustomFieldModal.uni.driver.d.ts +51 -3
  304. package/dist/types/components/CustomFieldModal/CustomFieldModal.uni.driver.d.ts.map +1 -1
  305. package/dist/types/components/CustomFieldsWidget/CustomFieldsViewWidgetSection.st.css.d.ts.map +1 -1
  306. package/dist/types/components/CustomFieldsWidget/CustomFieldsWidget.uni.driver.d.ts +51 -3
  307. package/dist/types/components/CustomFieldsWidget/CustomFieldsWidget.uni.driver.d.ts.map +1 -1
  308. package/dist/types/components/DragAndDrop/DragOverlayTestComponent.d.ts +13 -0
  309. package/dist/types/components/DragAndDrop/DragOverlayTestComponent.d.ts.map +1 -0
  310. package/dist/types/components/Grid/Grid.uni.driver.d.ts +20 -20
  311. package/dist/types/components/Grid/GridFolders.uni.driver.d.ts +60 -60
  312. package/dist/types/components/Grid/GridFoldersSection.uni.driver.d.ts +20 -20
  313. package/dist/types/components/Grid/GridSingleGridContent.d.ts +3 -7
  314. package/dist/types/components/Grid/GridSingleGridContent.d.ts.map +1 -1
  315. package/dist/types/components/Grid/useGridBaseSyncProps.d.ts.map +1 -1
  316. package/dist/types/components/GridSections/GridSectionsContent.d.ts +4 -9
  317. package/dist/types/components/GridSections/GridSectionsContent.d.ts.map +1 -1
  318. package/dist/types/components/GridSections/GridSectionsSingleSkeletonGrid.d.ts +3 -7
  319. package/dist/types/components/GridSections/GridSectionsSingleSkeletonGrid.d.ts.map +1 -1
  320. package/dist/types/components/GridSections/GridSectionsState.d.ts +3 -2
  321. package/dist/types/components/GridSections/GridSectionsState.d.ts.map +1 -1
  322. package/dist/types/components/InfiniteScrollCollectionList/InfiniteScrollCollectionList.uni.driver.d.ts +20 -20
  323. package/dist/types/components/MaxHeightText/MaxHeightText.st.css.d.ts.map +1 -1
  324. package/dist/types/components/MoreActions/{MoreActions.d.ts → MoreActionsBase.d.ts} +7 -6
  325. package/dist/types/components/MoreActions/MoreActionsBase.d.ts.map +1 -0
  326. package/dist/types/components/MoreActions/MoreActionsIcon.d.ts +12 -0
  327. package/dist/types/components/MoreActions/MoreActionsIcon.d.ts.map +1 -0
  328. package/dist/types/components/MoreActions/MoreActionsText.d.ts +8 -0
  329. package/dist/types/components/MoreActions/MoreActionsText.d.ts.map +1 -0
  330. package/dist/types/components/MoreActions/index.d.ts +2 -1
  331. package/dist/types/components/MoreActions/index.d.ts.map +1 -1
  332. package/dist/types/components/MultiBulkActionToolbar/MultiBulkActionToolbar.d.ts +3 -3
  333. package/dist/types/components/MultiBulkActionToolbar/MultiBulkActionToolbar.d.ts.map +1 -1
  334. package/dist/types/components/MultiBulkActionToolbar/MultiBulkActionToolbarState.d.ts +8 -8
  335. package/dist/types/components/MultiBulkActionToolbar/MultiBulkActionToolbarState.d.ts.map +1 -1
  336. package/dist/types/components/NestedTable/NestedTable.uni.driver.d.ts +211 -74
  337. package/dist/types/components/NestedTable/NestedTable.uni.driver.d.ts.map +1 -1
  338. package/dist/types/components/NestedTableDragAndDrop/DepthLimitMessage.d.ts +11 -0
  339. package/dist/types/components/NestedTableDragAndDrop/DepthLimitMessage.d.ts.map +1 -0
  340. package/dist/types/components/NestedTableDragAndDrop/NestedTableDragAndDropContext.d.ts +1 -1
  341. package/dist/types/components/NestedTableDragAndDrop/NestedTableDragAndDropContext.d.ts.map +1 -1
  342. package/dist/types/components/NestedTableDragAndDrop/NestedTableDragAndDropOverlay.d.ts +13 -0
  343. package/dist/types/components/NestedTableDragAndDrop/NestedTableDragAndDropOverlay.d.ts.map +1 -0
  344. package/dist/types/components/NestedTableDragAndDrop/NestedTableDragAndDropOverlayPopover.d.ts +12 -0
  345. package/dist/types/components/NestedTableDragAndDrop/NestedTableDragAndDropOverlayPopover.d.ts.map +1 -0
  346. package/dist/types/components/NestedTableDragAndDrop/NestedTableDragAndDropState.d.ts +1 -0
  347. package/dist/types/components/NestedTableDragAndDrop/NestedTableDragAndDropState.d.ts.map +1 -1
  348. package/dist/types/components/NestedTableDragAndDrop/NestedTableDragOverlay.uni.driver.d.ts +9 -0
  349. package/dist/types/components/NestedTableDragAndDrop/NestedTableDragOverlay.uni.driver.d.ts.map +1 -0
  350. package/dist/types/components/PickerContent/PickerContentAdditionalStep.st.css.d.ts.map +1 -1
  351. package/dist/types/components/ScrollableContent/ScrollableContent.st.css.d.ts.map +1 -1
  352. package/dist/types/components/SecondaryActions/SecondaryActions.d.ts +5 -0
  353. package/dist/types/components/SecondaryActions/SecondaryActions.d.ts.map +1 -0
  354. package/dist/types/components/SecondaryActions/index.d.ts +2 -0
  355. package/dist/types/components/SecondaryActions/index.d.ts.map +1 -0
  356. package/dist/types/components/SkeletonCard/SkeletonCard.st.css.d.ts.map +1 -1
  357. package/dist/types/components/Table/Table.uni.driver.d.ts +163 -47
  358. package/dist/types/components/Table/Table.uni.driver.d.ts.map +1 -1
  359. package/dist/types/components/TableFolders/TableFolders.uni.driver.d.ts +183 -67
  360. package/dist/types/components/TableFolders/TableFolders.uni.driver.d.ts.map +1 -1
  361. package/dist/types/components/TableGridSwitch/TableGridSwitch.uni.driver.d.ts +183 -67
  362. package/dist/types/components/TableGridSwitch/TableGridSwitch.uni.driver.d.ts.map +1 -1
  363. package/dist/types/components/TableGridSwitchFolders/TableGridSwitchFolders.uni.driver.d.ts +243 -127
  364. package/dist/types/components/TableGridSwitchFolders/TableGridSwitchFolders.uni.driver.d.ts.map +1 -1
  365. package/dist/types/components/Tags/BulkAssignTagsPopover/BulkAssignTagsPopover.uni.driver.d.ts +36 -2
  366. package/dist/types/components/Tags/BulkAssignTagsPopover/BulkAssignTagsPopover.uni.driver.d.ts.map +1 -1
  367. package/dist/types/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.d.ts.map +1 -1
  368. package/dist/types/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.uni.driver.d.ts +36 -2
  369. package/dist/types/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.uni.driver.d.ts.map +1 -1
  370. package/dist/types/components/TagsAssignButton/TagsAssignButton.uni.driver.d.ts +36 -2
  371. package/dist/types/components/TagsAssignButton/TagsAssignButton.uni.driver.d.ts.map +1 -1
  372. package/dist/types/components/ToolbarCollection/useToolbarCollectionSyncProps.d.ts.map +1 -1
  373. package/dist/types/components/common.st.css.d.ts.map +1 -1
  374. package/dist/types/hooks/useBuildOption.d.ts +3 -3
  375. package/dist/types/hooks/useSyncCollectionOnEntityReturn.d.ts.map +1 -1
  376. package/dist/types/index.d.ts +2 -1
  377. package/dist/types/index.d.ts.map +1 -1
  378. package/dist/types/providers/WixPatternsRouterProvider.d.ts +1 -1
  379. package/dist/types/providers/WixPatternsRouterProvider.d.ts.map +1 -1
  380. package/dist/types/state/CollectionPage/useCollectionPageHeader.d.ts.map +1 -1
  381. package/dist/types/state/CustomColumnsState.d.ts.map +1 -1
  382. package/dist/types/state/EntityPage/EntityPageState.d.ts +5 -3
  383. package/dist/types/state/EntityPage/EntityPageState.d.ts.map +1 -1
  384. package/dist/types/state/GridBaseState.d.ts +5 -7
  385. package/dist/types/state/GridBaseState.d.ts.map +1 -1
  386. package/dist/types/state/GridFoldersState.d.ts +2 -0
  387. package/dist/types/state/GridFoldersState.d.ts.map +1 -1
  388. package/dist/types/state/GridParentState.d.ts +8 -0
  389. package/dist/types/state/GridParentState.d.ts.map +1 -0
  390. package/dist/types/state/GridState.d.ts +2 -0
  391. package/dist/types/state/GridState.d.ts.map +1 -1
  392. package/dist/types/state/NestedTableState/NestedTableNodeState.d.ts +1 -0
  393. package/dist/types/state/NestedTableState/NestedTableNodeState.d.ts.map +1 -1
  394. package/dist/types/state/TagsBulkAssignPopoverState.d.ts.map +1 -1
  395. package/dist/types/state/TagsModalState.d.ts.map +1 -1
  396. package/dist/types/state/WixPatternsRouterState.d.ts +14 -3
  397. package/dist/types/state/WixPatternsRouterState.d.ts.map +1 -1
  398. package/dist/types/test-utils/TagsMocks.d.ts.map +1 -1
  399. package/dist/types/testkit/enzyme.d.ts +1123 -488
  400. package/dist/types/testkit/enzyme.d.ts.map +1 -1
  401. package/dist/types/testkit/jsdom.d.ts +1149 -489
  402. package/dist/types/testkit/jsdom.d.ts.map +1 -1
  403. package/dist/types/testkit/puppeteer.d.ts +1237 -490
  404. package/dist/types/testkit/puppeteer.d.ts.map +1 -1
  405. package/dist/types/utils/useWindowFlipPopoverProps.d.ts +1 -1
  406. package/dist/types/version.d.ts +1 -1
  407. package/package.json +4 -4
  408. package/dist/cjs/components/MoreActions/MoreActions.js.map +0 -1
  409. package/dist/cjs/components/MultiBulkActionButton/MultiBulkActionButton.js.map +0 -1
  410. package/dist/cjs/components/MultiBulkActionButton/MultiBulkActionControl.js +0 -38
  411. package/dist/cjs/components/MultiBulkActionButton/MultiBulkActionControl.js.map +0 -1
  412. package/dist/cjs/components/MultiBulkActionButton/MultiBulkActionPopover.js.map +0 -1
  413. package/dist/cjs/components/MultiBulkActionButton/MultiBulkActionSubItemProps.js +0 -4
  414. package/dist/cjs/components/MultiBulkActionButton/MultiBulkActionSubItemProps.js.map +0 -1
  415. package/dist/cjs/components/MultiBulkActionButton/index.js +0 -28
  416. package/dist/cjs/components/MultiBulkActionButton/index.js.map +0 -1
  417. package/dist/esm/components/MoreActions/MoreActions.js.map +0 -1
  418. package/dist/esm/components/MultiBulkActionButton/MultiBulkActionButton.js +0 -22
  419. package/dist/esm/components/MultiBulkActionButton/MultiBulkActionButton.js.map +0 -1
  420. package/dist/esm/components/MultiBulkActionButton/MultiBulkActionControl.js +0 -9
  421. package/dist/esm/components/MultiBulkActionButton/MultiBulkActionControl.js.map +0 -1
  422. package/dist/esm/components/MultiBulkActionButton/MultiBulkActionPopover.js.map +0 -1
  423. package/dist/esm/components/MultiBulkActionButton/MultiBulkActionSubItemProps.js +0 -2
  424. package/dist/esm/components/MultiBulkActionButton/MultiBulkActionSubItemProps.js.map +0 -1
  425. package/dist/esm/components/MultiBulkActionButton/index.js +0 -5
  426. package/dist/esm/components/MultiBulkActionButton/index.js.map +0 -1
  427. package/dist/types/components/MoreActions/MoreActions.d.ts.map +0 -1
  428. package/dist/types/components/MultiBulkActionButton/MultiBulkActionButton.d.ts +0 -12
  429. package/dist/types/components/MultiBulkActionButton/MultiBulkActionButton.d.ts.map +0 -1
  430. package/dist/types/components/MultiBulkActionButton/MultiBulkActionControl.d.ts +0 -9
  431. package/dist/types/components/MultiBulkActionButton/MultiBulkActionControl.d.ts.map +0 -1
  432. package/dist/types/components/MultiBulkActionButton/MultiBulkActionPopover.d.ts +0 -9
  433. package/dist/types/components/MultiBulkActionButton/MultiBulkActionPopover.d.ts.map +0 -1
  434. package/dist/types/components/MultiBulkActionButton/MultiBulkActionSubItemProps.d.ts.map +0 -1
  435. package/dist/types/components/MultiBulkActionButton/index.d.ts +0 -5
  436. package/dist/types/components/MultiBulkActionButton/index.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["_GridBaseState","require","_mobx","_ToolbarCollectionState","_FoldersAndItemsCollectionsState","_gridSizePresets","_GridFoldersBIReporter","GridFoldersState","constructor","params","_defineProperty2","default","action","showAllFolders","bi","onToggleShowAllButtonClick","toolbar","retryErrorState","container","ToolbarCollectionState","collection","items","componentType","collections","FoldersAndItemsCollectionsState","GridBaseState","sizePreset","topGridSizePreset","parentState","layoutType","folders","sideGridSizePreset","GridFoldersBIReporter","state","makeObservable","observable","ref","foldersLocalLimit","computed","effectiveFoldersLocalLimit","showToggleShowAllLessButton","showItemsSection","showItemsSectionHeader","showFoldersSection","showFoldersSectionHeader","showLoadingSection","columnsCount","result","size","isEmptyAndNotFetching","hasFoldersOnlyActiveFilters","fetchedLastPage","initTask","showErrorState","multi","errorStatus","showLoadingState","showEmptyState","hasAvailableItems","resultOriginQuerySearch","hasNonPersistentActiveFilters","hasItemsOnlyActiveFilters","isLoadingToolbarAndCollection","showInitialLoader","status","isLoading","isIdle","showRefreshLoader","init","disposers","reaction","_localLimit","fireImmediately","forEach","d","exports"],"sources":["../../../src/state/GridFoldersState.ts"],"sourcesContent":["import {\n WixPatternsContainer,\n CollectionState,\n FiltersMap,\n} from '@wix/bex-core';\nimport { GridBaseState } from './GridBaseState';\nimport { action, computed, makeObservable, observable, reaction } from 'mobx';\nimport { ToolbarCollectionState } from './ToolbarCollectionState';\nimport {\n FoldersAndItemsCollectionsState,\n FoldersAndItemsCollectionsStateInitParams,\n PartialAllFilters,\n} from './FoldersAndItemsCollectionsState';\nimport { sideGridSizePreset, topGridSizePreset } from './gridSizePresets';\nimport { GridFoldersBIReporter } from './GridFoldersBIReporter';\nimport { ICollectionComponentState } from './ICollectionComponentState';\n\nexport interface GridFoldersStateParams<\n T1,\n F1 extends FiltersMap,\n T2,\n F2 extends FiltersMap,\n> {\n readonly items: CollectionState<T1, F1>;\n readonly folders: CollectionState<T2, F2>;\n readonly container: WixPatternsContainer;\n readonly toolbar?: ToolbarCollectionState<T1, PartialAllFilters<F1, F2>>;\n readonly collections?: FoldersAndItemsCollectionsState<T1, F1, T2, F2>;\n}\n\ninterface GridFoldersStateInitParams\n extends FoldersAndItemsCollectionsStateInitParams {}\n\nexport class GridFoldersState<\n T1,\n F1 extends FiltersMap,\n T2,\n F2 extends FiltersMap,\n> implements ICollectionComponentState\n{\n readonly container;\n readonly toolbar;\n readonly items;\n readonly folders;\n readonly collections;\n readonly bi;\n\n readonly _subGrids = [] as GridBaseState<any, any>[];\n\n showAllFolders = false;\n\n constructor(params: GridFoldersStateParams<T1, F1, T2, F2>) {\n this.container = params.container;\n\n this.toolbar =\n params.toolbar ??\n new ToolbarCollectionState({\n collection: params.items as CollectionState<T1, {}> as CollectionState<\n T1,\n PartialAllFilters<F1, F2>\n >,\n container: params.container,\n componentType: 'GridFolders',\n });\n\n this.collections =\n params.collections ??\n new FoldersAndItemsCollectionsState({\n ...params,\n toolbar: this.toolbar,\n });\n\n this.items = new GridBaseState({\n collection: params.items,\n container: params.container,\n toolbar: this.toolbar as ToolbarCollectionState<unknown, Partial<F1>>,\n sizePreset: topGridSizePreset,\n parentState: this,\n layoutType: 'grid',\n });\n\n this.folders = new GridBaseState({\n collection: params.folders,\n container: params.container,\n toolbar: this.toolbar as ToolbarCollectionState<unknown, Partial<F2>>,\n sizePreset: sideGridSizePreset,\n parentState: this,\n layoutType: 'grid',\n });\n\n this.bi = new GridFoldersBIReporter({\n state: this,\n });\n\n makeObservable(this, {\n showAllFolders: observable.ref,\n foldersLocalLimit: computed,\n effectiveFoldersLocalLimit: computed,\n showToggleShowAllLessButton: computed,\n showItemsSection: computed,\n showItemsSectionHeader: computed,\n showFoldersSection: computed,\n showFoldersSectionHeader: computed,\n showLoadingSection: computed,\n });\n }\n\n toggleShowAllFolders = action(() => {\n this.showAllFolders = !this.showAllFolders;\n this.bi.onToggleShowAllButtonClick();\n });\n\n get foldersLocalLimit() {\n return this.folders.columnsCount * 2;\n }\n\n get effectiveFoldersLocalLimit() {\n return this.showAllFolders ? null : this.folders.columnsCount * 2;\n }\n\n get showToggleShowAllLessButton() {\n return this.collections.folders.result.size > this.foldersLocalLimit;\n }\n\n get showFoldersSectionHeader() {\n return this.showToggleShowAllLessButton || this.showItemsSection;\n }\n\n get showItemsSection() {\n return (\n !this.collections.items.result.isEmptyAndNotFetching &&\n !this.collections.hasFoldersOnlyActiveFilters &&\n (!this.showAllFolders || this.folders.collection.fetchedLastPage)\n );\n }\n\n get initTask() {\n return this.toolbar.initTask;\n }\n\n get showErrorState() {\n return this.toolbar.multi.showErrorState;\n }\n\n get errorStatus() {\n return this.toolbar.multi.errorStatus;\n }\n\n retryErrorState = action(() => this.toolbar.retryErrorState());\n\n get showLoadingState() {\n return this.toolbar.multi.showLoadingState;\n }\n\n get showEmptyState() {\n return this.collections.showEmptyState;\n }\n\n get hasAvailableItems() {\n return this.collections.hasAvailableItems;\n }\n\n get resultOriginQuerySearch() {\n return this.collections.resultOriginQuerySearch;\n }\n\n get hasNonPersistentActiveFilters() {\n return this.collections.hasNonPersistentActiveFilters;\n }\n\n get showItemsSectionHeader() {\n return this.showFoldersSection;\n }\n\n get showFoldersSection() {\n return (\n !this.collections.folders.result.isEmptyAndNotFetching &&\n !this.collections.hasItemsOnlyActiveFilters\n );\n }\n\n get showLoadingSection() {\n const {\n collections: { hasFoldersOnlyActiveFilters, hasItemsOnlyActiveFilters },\n toolbar: { initTask, multi },\n } = this;\n\n const isLoadingToolbarAndCollection = () =>\n (multi.showInitialLoader && initTask.status.isLoading) ||\n initTask.status.isIdle;\n\n return (\n !hasFoldersOnlyActiveFilters &&\n !hasItemsOnlyActiveFilters &&\n (multi.showRefreshLoader || isLoadingToolbarAndCollection())\n );\n }\n\n init(params: GridFoldersStateInitParams) {\n const disposers = [\n this.collections.init(params),\n reaction(\n () => this.effectiveFoldersLocalLimit,\n (effectiveFoldersLocalLimit) => {\n this.folders._localLimit = effectiveFoldersLocalLimit;\n },\n {\n fireImmediately: true,\n },\n ),\n ];\n\n return () => {\n disposers.forEach((d) => d());\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_GridBaseState","require","_mobx","_ToolbarCollectionState","_FoldersAndItemsCollectionsState","_gridSizePresets","_GridFoldersBIReporter","GridFoldersState","constructor","params","_defineProperty2","default","undefined","action","showAllFolders","bi","onToggleShowAllButtonClick","toolbar","retryErrorState","container","ToolbarCollectionState","collection","items","componentType","collections","FoldersAndItemsCollectionsState","GridBaseState","sizePreset","topGridSizePreset","parentState","layoutType","folders","sideGridSizePreset","GridFoldersBIReporter","state","makeObservable","observable","ref","foldersLocalLimit","computed","effectiveFoldersLocalLimit","showToggleShowAllLessButton","showItemsSection","showItemsSectionHeader","showFoldersSection","showFoldersSectionHeader","showLoadingSection","columnsCount","result","size","isEmptyAndNotFetching","hasFoldersOnlyActiveFilters","fetchedLastPage","initTask","showErrorState","multi","errorStatus","showLoadingState","showEmptyState","hasAvailableItems","resultOriginQuerySearch","hasNonPersistentActiveFilters","hasItemsOnlyActiveFilters","isLoadingToolbarAndCollection","showInitialLoader","status","isLoading","isIdle","showRefreshLoader","init","disposers","reaction","_localLimit","fireImmediately","forEach","d","exports"],"sources":["../../../src/state/GridFoldersState.ts"],"sourcesContent":["import {\n WixPatternsContainer,\n CollectionState,\n FiltersMap,\n} from '@wix/bex-core';\nimport { GridBaseState } from './GridBaseState';\nimport { action, computed, makeObservable, observable, reaction } from 'mobx';\nimport { ToolbarCollectionState } from './ToolbarCollectionState';\nimport {\n FoldersAndItemsCollectionsState,\n FoldersAndItemsCollectionsStateInitParams,\n PartialAllFilters,\n} from './FoldersAndItemsCollectionsState';\nimport {\n GridSizePreset,\n sideGridSizePreset,\n topGridSizePreset,\n} from './gridSizePresets';\nimport { GridFoldersBIReporter } from './GridFoldersBIReporter';\nimport { ICollectionComponentState } from './ICollectionComponentState';\n\nexport interface GridFoldersStateParams<\n T1,\n F1 extends FiltersMap,\n T2,\n F2 extends FiltersMap,\n> {\n readonly items: CollectionState<T1, F1>;\n readonly folders: CollectionState<T2, F2>;\n readonly container: WixPatternsContainer;\n readonly toolbar?: ToolbarCollectionState<T1, PartialAllFilters<F1, F2>>;\n readonly collections?: FoldersAndItemsCollectionsState<T1, F1, T2, F2>;\n}\n\ninterface GridFoldersStateInitParams\n extends FoldersAndItemsCollectionsStateInitParams {}\n\nexport class GridFoldersState<\n T1,\n F1 extends FiltersMap,\n T2,\n F2 extends FiltersMap,\n> implements ICollectionComponentState\n{\n readonly container;\n readonly toolbar;\n readonly items;\n readonly folders;\n readonly collections;\n readonly bi;\n\n readonly _subGrids = [] as GridBaseState<any, any>[];\n readonly _sizePreset = undefined as undefined | GridSizePreset;\n\n showAllFolders = false;\n\n constructor(params: GridFoldersStateParams<T1, F1, T2, F2>) {\n this.container = params.container;\n\n this.toolbar =\n params.toolbar ??\n new ToolbarCollectionState({\n collection: params.items as CollectionState<T1, {}> as CollectionState<\n T1,\n PartialAllFilters<F1, F2>\n >,\n container: params.container,\n componentType: 'GridFolders',\n });\n\n this.collections =\n params.collections ??\n new FoldersAndItemsCollectionsState({\n ...params,\n toolbar: this.toolbar,\n });\n\n this.items = new GridBaseState({\n collection: params.items,\n container: params.container,\n toolbar: this.toolbar as ToolbarCollectionState<unknown, Partial<F1>>,\n sizePreset: topGridSizePreset,\n parentState: this,\n layoutType: 'grid',\n });\n\n this.folders = new GridBaseState({\n collection: params.folders,\n container: params.container,\n toolbar: this.toolbar as ToolbarCollectionState<unknown, Partial<F2>>,\n sizePreset: sideGridSizePreset,\n parentState: this,\n layoutType: 'grid',\n });\n\n this.bi = new GridFoldersBIReporter({\n state: this,\n });\n\n makeObservable(this, {\n showAllFolders: observable.ref,\n foldersLocalLimit: computed,\n effectiveFoldersLocalLimit: computed,\n showToggleShowAllLessButton: computed,\n showItemsSection: computed,\n showItemsSectionHeader: computed,\n showFoldersSection: computed,\n showFoldersSectionHeader: computed,\n showLoadingSection: computed,\n });\n }\n\n toggleShowAllFolders = action(() => {\n this.showAllFolders = !this.showAllFolders;\n this.bi.onToggleShowAllButtonClick();\n });\n\n get foldersLocalLimit() {\n return this.folders.columnsCount * 2;\n }\n\n get effectiveFoldersLocalLimit() {\n return this.showAllFolders ? null : this.folders.columnsCount * 2;\n }\n\n get showToggleShowAllLessButton() {\n return this.collections.folders.result.size > this.foldersLocalLimit;\n }\n\n get showFoldersSectionHeader() {\n return this.showToggleShowAllLessButton || this.showItemsSection;\n }\n\n get showItemsSection() {\n return (\n !this.collections.items.result.isEmptyAndNotFetching &&\n !this.collections.hasFoldersOnlyActiveFilters &&\n (!this.showAllFolders || this.folders.collection.fetchedLastPage)\n );\n }\n\n get initTask() {\n return this.toolbar.initTask;\n }\n\n get showErrorState() {\n return this.toolbar.multi.showErrorState;\n }\n\n get errorStatus() {\n return this.toolbar.multi.errorStatus;\n }\n\n retryErrorState = action(() => this.toolbar.retryErrorState());\n\n get showLoadingState() {\n return this.toolbar.multi.showLoadingState;\n }\n\n get showEmptyState() {\n return this.collections.showEmptyState;\n }\n\n get hasAvailableItems() {\n return this.collections.hasAvailableItems;\n }\n\n get resultOriginQuerySearch() {\n return this.collections.resultOriginQuerySearch;\n }\n\n get hasNonPersistentActiveFilters() {\n return this.collections.hasNonPersistentActiveFilters;\n }\n\n get showItemsSectionHeader() {\n return this.showFoldersSection;\n }\n\n get showFoldersSection() {\n return (\n !this.collections.folders.result.isEmptyAndNotFetching &&\n !this.collections.hasItemsOnlyActiveFilters\n );\n }\n\n get showLoadingSection() {\n const {\n collections: { hasFoldersOnlyActiveFilters, hasItemsOnlyActiveFilters },\n toolbar: { initTask, multi },\n } = this;\n\n const isLoadingToolbarAndCollection = () =>\n (multi.showInitialLoader && initTask.status.isLoading) ||\n initTask.status.isIdle;\n\n return (\n !hasFoldersOnlyActiveFilters &&\n !hasItemsOnlyActiveFilters &&\n (multi.showRefreshLoader || isLoadingToolbarAndCollection())\n );\n }\n\n init(params: GridFoldersStateInitParams) {\n const disposers = [\n this.collections.init(params),\n reaction(\n () => this.effectiveFoldersLocalLimit,\n (effectiveFoldersLocalLimit) => {\n this.folders._localLimit = effectiveFoldersLocalLimit;\n },\n {\n fireImmediately: true,\n },\n ),\n ];\n\n return () => {\n disposers.forEach((d) => d());\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ //# sourceMappingURL=GridParentState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["../../../src/state/GridParentState.ts"],"sourcesContent":["import { FiltersMap } from '@wix/bex-core';\nimport { GridSizePreset } from './gridSizePresets';\nimport { GridBaseState } from './GridBaseState';\n\nexport interface GridParentState<T, F extends FiltersMap> {\n _subGrids: GridBaseState<T, F>[] | undefined;\n _sizePreset: GridSizePreset | undefined;\n}\n"],"mappings":"","ignoreList":[]}
@@ -5,12 +5,14 @@ exports.__esModule = true;
5
5
  exports.GridState = void 0;
6
6
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
7
7
  var _ToolbarCollectionState = require("./ToolbarCollectionState");
8
+ var _mobx = require("mobx");
8
9
  class GridState {
9
10
  constructor(params) {
10
11
  (0, _defineProperty2.default)(this, "toolbar", void 0);
11
12
  (0, _defineProperty2.default)(this, "container", void 0);
12
13
  (0, _defineProperty2.default)(this, "collection", void 0);
13
14
  (0, _defineProperty2.default)(this, "_subGrids", []);
15
+ (0, _defineProperty2.default)(this, "_sizePreset", undefined);
14
16
  (0, _defineProperty2.default)(this, "_sections", void 0);
15
17
  (0, _defineProperty2.default)(this, "onAddItemActionComplete", async items => {
16
18
  return this.toolbar.onAddItemActionComplete(items);
@@ -22,6 +24,9 @@ class GridState {
22
24
  container: params.container,
23
25
  componentType: 'Grid'
24
26
  });
27
+ (0, _mobx.makeObservable)(this, {
28
+ _sizePreset: _mobx.observable.ref
29
+ });
25
30
  }
26
31
  init(params) {
27
32
  const disposers = [this.toolbar.init(params)];
@@ -1 +1 @@
1
- {"version":3,"names":["_ToolbarCollectionState","require","GridState","constructor","params","_defineProperty2","default","items","toolbar","onAddItemActionComplete","container","collection","ToolbarCollectionState","componentType","init","disposers","disposer","exports"],"sources":["../../../src/state/GridState.ts"],"sourcesContent":["import {\n CollectionState,\n FiltersMap,\n WixPatternsContainer,\n} from '@wix/bex-core';\nimport {\n ToolbarCollectionState,\n ToolbarCollectionStateParamsInitParams,\n} from './ToolbarCollectionState';\nimport { GridBaseState } from './GridBaseState';\nimport { GridSectionsState } from '../components/GridSections/GridSectionsState';\nimport { ICollectionComponentState } from './ICollectionComponentState';\n\nexport interface GridStateParams<T, F extends FiltersMap> {\n readonly collection: CollectionState<T, F>;\n readonly container: WixPatternsContainer;\n readonly toolbar?: ToolbarCollectionState<T, F>;\n}\n\nexport interface GridStateInitParams\n extends ToolbarCollectionStateParamsInitParams {}\n\nexport interface GridStatePublicAPI<T, F extends FiltersMap> {\n /**\n * Underlying [CollectionState](./?path=/story/common-state--collectionstate) instance\n * @external\n */\n readonly collection: CollectionState<T, F>;\n /**\n * Underlying [ToolbarCollectionState](./?path=/story/common-state--toolbarcollectionstate) instance\n * @external\n */\n readonly toolbar: ToolbarCollectionState<T, F>;\n\n /**\n * Reset active filters & sorting and adds new items to the collection.\n * @param items - new items to add to the collection\n * @external\n */\n onAddItemActionComplete(items: T[]): void;\n}\n\nexport class GridState<T, F extends FiltersMap>\n implements GridStatePublicAPI<T, F>, ICollectionComponentState\n{\n readonly toolbar;\n readonly container;\n readonly collection;\n\n readonly _subGrids = [] as GridBaseState<T, F>[];\n _sections?: GridSectionsState<T, F>;\n\n constructor(params: GridStateParams<T, F>) {\n this.container = params.container;\n this.collection = params.collection;\n\n this.toolbar =\n params.toolbar ??\n new ToolbarCollectionState({\n collection: params.collection,\n container: params.container,\n componentType: 'Grid',\n });\n }\n\n init(params: GridStateInitParams) {\n const disposers = [this.toolbar.init(params)];\n\n return () => {\n for (const disposer of disposers) {\n disposer();\n }\n };\n }\n\n onAddItemActionComplete = async (items: T[]) => {\n return this.toolbar.onAddItemActionComplete(items);\n };\n}\n"],"mappings":";;;;;;AAKA,IAAAA,uBAAA,GAAAC,OAAA;AAqCO,MAAMC,SAAS,CAEtB;EAQEC,WAAWA,CAACC,MAA6B,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,qBAHtB,EAAE;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,mCA0BG,MAAOC,KAAU,IAAK;MAC9C,OAAO,IAAI,CAACC,OAAO,CAACC,uBAAuB,CAACF,KAAK,CAAC;IACpD,CAAC;IAxBC,IAAI,CAACG,SAAS,GAAGN,MAAM,CAACM,SAAS;IACjC,IAAI,CAACC,UAAU,GAAGP,MAAM,CAACO,UAAU;IAEnC,IAAI,CAACH,OAAO,GACVJ,MAAM,CAACI,OAAO,IACd,IAAII,8CAAsB,CAAC;MACzBD,UAAU,EAAEP,MAAM,CAACO,UAAU;MAC7BD,SAAS,EAAEN,MAAM,CAACM,SAAS;MAC3BG,aAAa,EAAE;IACjB,CAAC,CAAC;EACN;EAEAC,IAAIA,CAACV,MAA2B,EAAE;IAChC,MAAMW,SAAS,GAAG,CAAC,IAAI,CAACP,OAAO,CAACM,IAAI,CAACV,MAAM,CAAC,CAAC;IAE7C,OAAO,MAAM;MACX,KAAK,MAAMY,QAAQ,IAAID,SAAS,EAAE;QAChCC,QAAQ,CAAC,CAAC;MACZ;IACF,CAAC;EACH;AAKF;AAACC,OAAA,CAAAf,SAAA,GAAAA,SAAA","ignoreList":[]}
1
+ {"version":3,"names":["_ToolbarCollectionState","require","_mobx","GridState","constructor","params","_defineProperty2","default","undefined","items","toolbar","onAddItemActionComplete","container","collection","ToolbarCollectionState","componentType","makeObservable","_sizePreset","observable","ref","init","disposers","disposer","exports"],"sources":["../../../src/state/GridState.ts"],"sourcesContent":["import {\n CollectionState,\n FiltersMap,\n WixPatternsContainer,\n} from '@wix/bex-core';\nimport {\n ToolbarCollectionState,\n ToolbarCollectionStateParamsInitParams,\n} from './ToolbarCollectionState';\nimport { GridBaseState } from './GridBaseState';\nimport { GridSectionsState } from '../components/GridSections/GridSectionsState';\nimport { ICollectionComponentState } from './ICollectionComponentState';\nimport { GridSizePreset } from './gridSizePresets';\nimport { makeObservable, observable } from 'mobx';\n\nexport interface GridStateParams<T, F extends FiltersMap> {\n readonly collection: CollectionState<T, F>;\n readonly container: WixPatternsContainer;\n readonly toolbar?: ToolbarCollectionState<T, F>;\n}\n\nexport interface GridStateInitParams\n extends ToolbarCollectionStateParamsInitParams {}\n\nexport interface GridStatePublicAPI<T, F extends FiltersMap> {\n /**\n * Underlying [CollectionState](./?path=/story/common-state--collectionstate) instance\n * @external\n */\n readonly collection: CollectionState<T, F>;\n /**\n * Underlying [ToolbarCollectionState](./?path=/story/common-state--toolbarcollectionstate) instance\n * @external\n */\n readonly toolbar: ToolbarCollectionState<T, F>;\n\n /**\n * Reset active filters & sorting and adds new items to the collection.\n * @param items - new items to add to the collection\n * @external\n */\n onAddItemActionComplete(items: T[]): void;\n}\n\nexport class GridState<T, F extends FiltersMap>\n implements GridStatePublicAPI<T, F>, ICollectionComponentState\n{\n readonly toolbar;\n readonly container;\n readonly collection;\n\n readonly _subGrids = [] as GridBaseState<T, F>[];\n _sizePreset = undefined as GridSizePreset | undefined;\n _sections?: GridSectionsState<T, F>;\n\n constructor(params: GridStateParams<T, F>) {\n this.container = params.container;\n this.collection = params.collection;\n\n this.toolbar =\n params.toolbar ??\n new ToolbarCollectionState({\n collection: params.collection,\n container: params.container,\n componentType: 'Grid',\n });\n\n makeObservable(this, {\n _sizePreset: observable.ref,\n });\n }\n\n init(params: GridStateInitParams) {\n const disposers = [this.toolbar.init(params)];\n\n return () => {\n for (const disposer of disposers) {\n disposer();\n }\n };\n }\n\n onAddItemActionComplete = async (items: T[]) => {\n return this.toolbar.onAddItemActionComplete(items);\n };\n}\n"],"mappings":";;;;;;AAKA,IAAAA,uBAAA,GAAAC,OAAA;AAQA,IAAAC,KAAA,GAAAD,OAAA;AA+BO,MAAME,SAAS,CAEtB;EASEC,WAAWA,CAACC,MAA6B,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,qBAJtB,EAAE;IAAA,IAAAD,gBAAA,CAAAC,OAAA,uBACTC,SAAS;IAAA,IAAAF,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,mCA8BG,MAAOE,KAAU,IAAK;MAC9C,OAAO,IAAI,CAACC,OAAO,CAACC,uBAAuB,CAACF,KAAK,CAAC;IACpD,CAAC;IA5BC,IAAI,CAACG,SAAS,GAAGP,MAAM,CAACO,SAAS;IACjC,IAAI,CAACC,UAAU,GAAGR,MAAM,CAACQ,UAAU;IAEnC,IAAI,CAACH,OAAO,GACVL,MAAM,CAACK,OAAO,IACd,IAAII,8CAAsB,CAAC;MACzBD,UAAU,EAAER,MAAM,CAACQ,UAAU;MAC7BD,SAAS,EAAEP,MAAM,CAACO,SAAS;MAC3BG,aAAa,EAAE;IACjB,CAAC,CAAC;IAEJ,IAAAC,oBAAc,EAAC,IAAI,EAAE;MACnBC,WAAW,EAAEC,gBAAU,CAACC;IAC1B,CAAC,CAAC;EACJ;EAEAC,IAAIA,CAACf,MAA2B,EAAE;IAChC,MAAMgB,SAAS,GAAG,CAAC,IAAI,CAACX,OAAO,CAACU,IAAI,CAACf,MAAM,CAAC,CAAC;IAE7C,OAAO,MAAM;MACX,KAAK,MAAMiB,QAAQ,IAAID,SAAS,EAAE;QAChCC,QAAQ,CAAC,CAAC;MACZ;IACF,CAAC;EACH;AAKF;AAACC,OAAA,CAAApB,SAAA,GAAAA,SAAA","ignoreList":[]}
@@ -41,6 +41,7 @@ class NestedTableNodeState {
41
41
  _notify: _mobx.action,
42
42
  _notifyAll: _mobx.action,
43
43
  _keyedItemsMap: _mobx.computed,
44
+ deepestBranchDepth: _mobx.computed,
44
45
  getKeyedItem: _mobx.action
45
46
  });
46
47
  this._register();
@@ -51,6 +52,25 @@ class NestedTableNodeState {
51
52
  get depth() {
52
53
  return this.levelDescriptor.depth;
53
54
  }
55
+ get deepestBranchDepth() {
56
+ const {
57
+ node,
58
+ parentKeyToChildrenMap,
59
+ parentKeyToChildrenMapAtom
60
+ } = this;
61
+ const {
62
+ collection: {
63
+ result: {
64
+ keyedItems
65
+ }
66
+ }
67
+ } = node;
68
+ parentKeyToChildrenMapAtom.reportObserved();
69
+ return keyedItems.reduce((acc, keyedItem) => {
70
+ var _parentKeyToChildrenM;
71
+ return Math.max(acc, ((_parentKeyToChildrenM = parentKeyToChildrenMap.get(keyedItem.id)) == null ? void 0 : _parentKeyToChildrenM.deepestBranchDepth) ?? 0);
72
+ }, 0) + (keyedItems.length ? 1 : 0);
73
+ }
54
74
  get _expanded() {
55
75
  return this.node._expanded;
56
76
  }
@@ -139,14 +159,14 @@ class NestedTableNodeState {
139
159
  } = node;
140
160
  parentKeyToChildrenMapAtom.reportObserved();
141
161
  return keyedItems.flatMap(keyedItem => {
142
- var _parentKeyToChildrenM;
162
+ var _parentKeyToChildrenM2;
143
163
  return [{
144
164
  ...keyedItem,
145
165
  item: {
146
166
  state: this,
147
167
  originalKeyedItem: keyedItem
148
168
  }
149
- }, ...(((_parentKeyToChildrenM = parentKeyToChildrenMap.get(keyedItem.key)) == null ? void 0 : _parentKeyToChildrenM._keyedItemsIfExpanded) ?? [])];
169
+ }, ...(((_parentKeyToChildrenM2 = parentKeyToChildrenMap.get(keyedItem.key)) == null ? void 0 : _parentKeyToChildrenM2._keyedItemsIfExpanded) ?? [])];
150
170
  }).map((keyedItem, index) => ({
151
171
  ...keyedItem,
152
172
  index
@@ -1 +1 @@
1
- {"version":3,"names":["_bexCore","require","_mobx","_NestedTableNodeStateBIReporter","NestedTableNodeState","constructor","params","_defineProperty2","default","TaskState","Map","createAtom","node","collection","retryErrorState","nestedTable","parentNode","parent","levelDescriptor","bi","NestedTableNodeStateBIReporter","multi","MultiCollectionSupport","collections","makeObservable","keyedItems","computed","_keyedItemsIfExpanded","_isNotExpandableWhenEmpty","init","action","createNode","_preRegisterAll","_toggleExpand","_notify","_notifyAll","_keyedItemsMap","getKeyedItem","_register","depth","_expanded","columns","renderMainColumn","showHoverHighlight","hoveredOrParentHovered","_changeHover","hovered","showEmptyState","showLoadingState","showInitialLoader","showRefreshLoader","showErrorState","errorStatus","result","isFetchAllAborted","Array","fill","map","_","index","id","key","pageIndex","indexWithinPage","item","state","originalKeyedItem","undefined","keyedItem","parentKeyToChildrenMap","parentKeyToChildrenMapAtom","reportObserved","flatMap","_parentKeyToChildrenM","get","getKeyedItemByIndex","ind","set","delete","_this$parentNode","promise","reportExpandCollapse","reportChanged","runInAction","_this$parentNode2","Promise","all","preRegister","dispose","initTask","status","forEach","skipCollectionInit","nestedTableDragAndDrop","disposers","initCollection","runOnce","expandAll","d","existing","nextLevelDescriptor","levels","nextLevelNode","_createNode","exports"],"sources":["../../../../src/state/NestedTableState/NestedTableNodeState.ts"],"sourcesContent":["import {\n FiltersMap,\n KeyedItem,\n MultiCollectionSupport,\n TaskState,\n} from '@wix/bex-core';\nimport { NestedCollectionNodeState } from './NestedCollectionNodeState';\nimport {\n action,\n computed,\n createAtom,\n makeObservable,\n runInAction,\n} from 'mobx';\nimport { TableColumn } from '../../model';\nimport { NestedTableNestedModeState } from './NestedTableNestedModeState';\nimport { ReactNode } from 'react';\nimport { NestedTableNodeStateBIReporter } from './NestedTableNodeStateBIReporter';\nimport { NestedTableLevelDescriptor } from './NestedTableLevelDescriptor';\n\nexport interface NestedTableDataItem<\n C extends string,\n T,\n F extends FiltersMap,\n> {\n state: NestedTableNodeState<C, T, F>;\n originalKeyedItem: KeyedItem<T>;\n}\n\ninterface NestedTableSkeletonItem<C extends string, T, F extends FiltersMap> {\n state: NestedTableNodeState<C, T, F>;\n originalKeyedItem: undefined;\n}\n\nexport type NestedTableItem<C extends string, T, F extends FiltersMap> =\n | NestedTableDataItem<C, T, F>\n | NestedTableSkeletonItem<C, T, F>;\n\nexport type NestedTableKeyedItem<\n C extends string,\n T,\n F extends FiltersMap,\n> = KeyedItem<NestedTableItem<C, T, F>>;\n\nexport type RenderMainColumn<T> = (item: T) => {\n title?: string;\n subtitle?: string;\n image?: ReactNode;\n};\n\nexport type NestedTableNestColumns<C extends string, T> = Partial<\n Record<C, TableColumn<T>['render']>\n>;\n\nexport interface NestedTableNodeStateParams<\n C extends string,\n T,\n F extends FiltersMap,\n> {\n readonly nestedTable: NestedTableNestedModeState<C>;\n readonly node: NestedCollectionNodeState<T, F>;\n readonly levelDescriptor: NestedTableLevelDescriptor<C, T, F>;\n readonly parentNode: NestedTableNodeState<C, any, any> | null;\n readonly parent: KeyedItem<unknown> | null;\n readonly preRegister?: boolean;\n}\n\nexport class NestedTableNodeState<C extends string, T, F extends FiltersMap> {\n readonly nestedTable;\n readonly node;\n\n readonly levelDescriptor;\n readonly parentNode;\n readonly parent;\n readonly bi: NestedTableNodeStateBIReporter<C, T, F>;\n\n readonly multi;\n\n _rowNum?: number;\n\n readonly initTask = new TaskState();\n\n readonly parentKeyToChildrenMap = new Map<\n string,\n NestedTableNodeState<C, any, any>\n >();\n\n readonly parentKeyToChildrenMapAtom = createAtom(\n 'parentKeyToChildrenMapAtom',\n );\n\n constructor(params: NestedTableNodeStateParams<C, T, F>) {\n this.nestedTable = params.nestedTable;\n this.node = params.node;\n this.parentNode = params.parentNode;\n this.parent = params.parent;\n this.levelDescriptor = params.levelDescriptor;\n this.bi = new NestedTableNodeStateBIReporter(this);\n\n this.multi = new MultiCollectionSupport({\n collections: [this.node.collection],\n });\n\n makeObservable(this, {\n keyedItems: computed,\n _keyedItemsIfExpanded: computed,\n _isNotExpandableWhenEmpty: computed,\n init: action,\n createNode: action,\n _preRegisterAll: action,\n _toggleExpand: action,\n _notify: action,\n _notifyAll: action,\n _keyedItemsMap: computed,\n getKeyedItem: action,\n });\n\n this._register();\n }\n\n get collection() {\n return this.node.collection;\n }\n\n get depth() {\n return this.levelDescriptor.depth;\n }\n\n get _expanded() {\n return this.node._expanded;\n }\n\n get columns() {\n return this.levelDescriptor.columns;\n }\n\n get renderMainColumn() {\n return this.levelDescriptor.renderMainColumn;\n }\n\n get showHoverHighlight() {\n return this.node.hoveredOrParentHovered;\n }\n\n _changeHover(hovered: boolean) {\n this.node._changeHover(hovered);\n }\n\n get showEmptyState() {\n return this.node.collection.showEmptyState;\n }\n\n get showLoadingState() {\n return (\n this.node.collection.showInitialLoader ||\n this.node.collection.showRefreshLoader\n );\n }\n\n get showErrorState() {\n return this.node.collection.showErrorState;\n }\n\n get errorStatus() {\n return this.node.collection.result.errorStatus;\n }\n\n retryErrorState = () => this.node.collection.retryErrorState();\n\n get _isNotExpandableWhenEmpty() {\n const {\n nestedTable: { isFetchAllAborted },\n node: {\n collection: { showEmptyState },\n },\n } = this;\n return !isFetchAllAborted && showEmptyState;\n }\n\n get _keyedItemsIfExpanded(): NestedTableKeyedItem<C, any, any>[] {\n const {\n parent,\n nestedTable: { isFetchAllAborted },\n _expanded,\n node: {\n collection: { showRefreshLoader, showEmptyState, showErrorState },\n },\n } = this;\n\n if (!_expanded) {\n return [];\n }\n\n return [\n ...this.keyedItems,\n ...(parent &&\n isFetchAllAborted &&\n (showRefreshLoader || showEmptyState || showErrorState)\n ? new Array(1).fill(null).map((_, index) => ({\n id: `placeholder-states-${parent.key}`,\n key: `placeholder-states-${parent.key}`,\n index,\n pageIndex: 0,\n indexWithinPage: index,\n item: {\n state: this,\n originalKeyedItem: undefined,\n },\n }))\n : []),\n ];\n }\n\n get _keyedItemsMap(): Map<string, NestedTableKeyedItem<C, any, any>> {\n return new Map(\n this.keyedItems.map((keyedItem) => [keyedItem.key, keyedItem]),\n );\n }\n\n get keyedItems(): NestedTableKeyedItem<C, any, any>[] {\n const { node, parentKeyToChildrenMap, parentKeyToChildrenMapAtom } = this;\n const {\n collection: {\n result: { keyedItems },\n },\n } = node;\n\n parentKeyToChildrenMapAtom.reportObserved();\n\n return keyedItems\n .flatMap((keyedItem) => [\n {\n ...keyedItem,\n item: {\n state: this,\n originalKeyedItem: keyedItem,\n },\n },\n ...(parentKeyToChildrenMap.get(keyedItem.key)?._keyedItemsIfExpanded ??\n []),\n ])\n .map((keyedItem, index) => ({ ...keyedItem, index }));\n }\n\n getKeyedItem(key: string) {\n return this._keyedItemsMap.get(key);\n }\n\n getKeyedItemByIndex(ind: number) {\n return this.keyedItems[ind];\n }\n\n _register() {\n const { parent, parentNode } = this;\n\n if (parent == null || parentNode == null) {\n return;\n }\n\n parentNode.parentKeyToChildrenMap.set(parent.key, this);\n\n return () => {\n parentNode.parentKeyToChildrenMap.delete(parent.key);\n };\n }\n\n async _toggleExpand() {\n const promise = this.node._toggleExpand();\n this.bi.reportExpandCollapse();\n this.parentNode?.parentKeyToChildrenMapAtom.reportChanged();\n await promise;\n runInAction(() => {\n this.parentNode?.parentKeyToChildrenMapAtom.reportChanged();\n });\n }\n\n async _preRegisterAll() {\n const { node } = this;\n const {\n collection: {\n result: { keyedItems },\n },\n } = node;\n\n await Promise.all(\n keyedItems.map(async (keyedItem) => {\n const state = this.createNode({ parent: keyedItem, preRegister: true });\n if (state == null) {\n return;\n }\n const dispose = state.init();\n await state.initTask.status.promise;\n dispose();\n }),\n );\n }\n\n _notify() {\n const { parentKeyToChildrenMapAtom } = this;\n parentKeyToChildrenMapAtom.reportChanged();\n }\n\n _notifyAll() {\n const { parentKeyToChildrenMap } = this;\n this._notify();\n parentKeyToChildrenMap.forEach((state) => {\n state._notifyAll();\n });\n }\n\n init({ skipCollectionInit }: { skipCollectionInit?: boolean } = {}) {\n const { node, initTask, nestedTable, collection } = this;\n\n const { nestedTableDragAndDrop } = nestedTable;\n\n const disposers = [\n node.init({ skipCollectionInit }),\n nestedTableDragAndDrop?.initCollection(collection),\n ];\n\n initTask.runOnce(async () => {\n node.initTask.runOnce();\n await node.initTask.status.promise;\n\n await runInAction(async () => {\n if (!nestedTable.isFetchAllAborted && nestedTable.expandAll) {\n await this._preRegisterAll();\n if (this.depth === 0) {\n this._notifyAll();\n }\n }\n return;\n });\n });\n\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n\n createNode({\n parent,\n preRegister,\n }: {\n parent: KeyedItem<any>;\n preRegister?: boolean;\n }): NestedTableNodeState<C, any, any> | null {\n const { nestedTable, node, depth, parentKeyToChildrenMap } = this;\n\n const existing = parentKeyToChildrenMap.get(parent.key);\n\n if (existing != null) {\n return existing;\n }\n\n const nextLevelDescriptor = nestedTable.levels[depth + 1];\n\n if (nextLevelDescriptor == null) {\n return null;\n }\n\n const nextLevelNode = node._createNode(parent, {\n levelDescriptor: nextLevelDescriptor,\n preRegister,\n });\n\n if (nextLevelNode == null) {\n return null;\n }\n\n return new NestedTableNodeState({\n parent,\n parentNode: this,\n nestedTable,\n node: nextLevelNode,\n levelDescriptor: nextLevelDescriptor,\n preRegister,\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_bexCore","require","_mobx","_NestedTableNodeStateBIReporter","NestedTableNodeState","constructor","params","_defineProperty2","default","TaskState","Map","createAtom","node","collection","retryErrorState","nestedTable","parentNode","parent","levelDescriptor","bi","NestedTableNodeStateBIReporter","multi","MultiCollectionSupport","collections","makeObservable","keyedItems","computed","_keyedItemsIfExpanded","_isNotExpandableWhenEmpty","init","action","createNode","_preRegisterAll","_toggleExpand","_notify","_notifyAll","_keyedItemsMap","deepestBranchDepth","getKeyedItem","_register","depth","parentKeyToChildrenMap","parentKeyToChildrenMapAtom","result","reportObserved","reduce","acc","keyedItem","_parentKeyToChildrenM","Math","max","get","id","length","_expanded","columns","renderMainColumn","showHoverHighlight","hoveredOrParentHovered","_changeHover","hovered","showEmptyState","showLoadingState","showInitialLoader","showRefreshLoader","showErrorState","errorStatus","isFetchAllAborted","Array","fill","map","_","index","key","pageIndex","indexWithinPage","item","state","originalKeyedItem","undefined","flatMap","_parentKeyToChildrenM2","getKeyedItemByIndex","ind","set","delete","_this$parentNode","promise","reportExpandCollapse","reportChanged","runInAction","_this$parentNode2","Promise","all","preRegister","dispose","initTask","status","forEach","skipCollectionInit","nestedTableDragAndDrop","disposers","initCollection","runOnce","expandAll","d","existing","nextLevelDescriptor","levels","nextLevelNode","_createNode","exports"],"sources":["../../../../src/state/NestedTableState/NestedTableNodeState.ts"],"sourcesContent":["import {\n FiltersMap,\n KeyedItem,\n MultiCollectionSupport,\n TaskState,\n} from '@wix/bex-core';\nimport { NestedCollectionNodeState } from './NestedCollectionNodeState';\nimport {\n action,\n computed,\n createAtom,\n makeObservable,\n runInAction,\n} from 'mobx';\nimport { TableColumn } from '../../model';\nimport { NestedTableNestedModeState } from './NestedTableNestedModeState';\nimport { ReactNode } from 'react';\nimport { NestedTableNodeStateBIReporter } from './NestedTableNodeStateBIReporter';\nimport { NestedTableLevelDescriptor } from './NestedTableLevelDescriptor';\n\nexport interface NestedTableDataItem<\n C extends string,\n T,\n F extends FiltersMap,\n> {\n state: NestedTableNodeState<C, T, F>;\n originalKeyedItem: KeyedItem<T>;\n}\n\ninterface NestedTableSkeletonItem<C extends string, T, F extends FiltersMap> {\n state: NestedTableNodeState<C, T, F>;\n originalKeyedItem: undefined;\n}\n\nexport type NestedTableItem<C extends string, T, F extends FiltersMap> =\n | NestedTableDataItem<C, T, F>\n | NestedTableSkeletonItem<C, T, F>;\n\nexport type NestedTableKeyedItem<\n C extends string,\n T,\n F extends FiltersMap,\n> = KeyedItem<NestedTableItem<C, T, F>>;\n\nexport type RenderMainColumn<T> = (item: T) => {\n title?: string;\n subtitle?: string;\n image?: ReactNode;\n};\n\nexport type NestedTableNestColumns<C extends string, T> = Partial<\n Record<C, TableColumn<T>['render']>\n>;\n\nexport interface NestedTableNodeStateParams<\n C extends string,\n T,\n F extends FiltersMap,\n> {\n readonly nestedTable: NestedTableNestedModeState<C>;\n readonly node: NestedCollectionNodeState<T, F>;\n readonly levelDescriptor: NestedTableLevelDescriptor<C, T, F>;\n readonly parentNode: NestedTableNodeState<C, any, any> | null;\n readonly parent: KeyedItem<unknown> | null;\n readonly preRegister?: boolean;\n}\n\nexport class NestedTableNodeState<C extends string, T, F extends FiltersMap> {\n readonly nestedTable;\n readonly node;\n\n readonly levelDescriptor;\n readonly parentNode;\n readonly parent;\n readonly bi: NestedTableNodeStateBIReporter<C, T, F>;\n\n readonly multi;\n\n _rowNum?: number;\n\n readonly initTask = new TaskState();\n\n readonly parentKeyToChildrenMap = new Map<\n string,\n NestedTableNodeState<C, any, any>\n >();\n\n readonly parentKeyToChildrenMapAtom = createAtom(\n 'parentKeyToChildrenMapAtom',\n );\n\n constructor(params: NestedTableNodeStateParams<C, T, F>) {\n this.nestedTable = params.nestedTable;\n this.node = params.node;\n this.parentNode = params.parentNode;\n this.parent = params.parent;\n this.levelDescriptor = params.levelDescriptor;\n this.bi = new NestedTableNodeStateBIReporter(this);\n\n this.multi = new MultiCollectionSupport({\n collections: [this.node.collection],\n });\n\n makeObservable(this, {\n keyedItems: computed,\n _keyedItemsIfExpanded: computed,\n _isNotExpandableWhenEmpty: computed,\n init: action,\n createNode: action,\n _preRegisterAll: action,\n _toggleExpand: action,\n _notify: action,\n _notifyAll: action,\n _keyedItemsMap: computed,\n deepestBranchDepth: computed,\n getKeyedItem: action,\n });\n\n this._register();\n }\n\n get collection() {\n return this.node.collection;\n }\n\n get depth() {\n return this.levelDescriptor.depth;\n }\n\n get deepestBranchDepth(): number {\n const { node, parentKeyToChildrenMap, parentKeyToChildrenMapAtom } = this;\n const {\n collection: {\n result: { keyedItems },\n },\n } = node;\n\n parentKeyToChildrenMapAtom.reportObserved();\n\n return (\n keyedItems.reduce((acc, keyedItem) => {\n return Math.max(\n acc,\n parentKeyToChildrenMap.get(keyedItem.id)?.deepestBranchDepth ?? 0,\n );\n }, 0) + (keyedItems.length ? 1 : 0)\n );\n }\n\n get _expanded() {\n return this.node._expanded;\n }\n\n get columns() {\n return this.levelDescriptor.columns;\n }\n\n get renderMainColumn() {\n return this.levelDescriptor.renderMainColumn;\n }\n\n get showHoverHighlight() {\n return this.node.hoveredOrParentHovered;\n }\n\n _changeHover(hovered: boolean) {\n this.node._changeHover(hovered);\n }\n\n get showEmptyState() {\n return this.node.collection.showEmptyState;\n }\n\n get showLoadingState() {\n return (\n this.node.collection.showInitialLoader ||\n this.node.collection.showRefreshLoader\n );\n }\n\n get showErrorState() {\n return this.node.collection.showErrorState;\n }\n\n get errorStatus() {\n return this.node.collection.result.errorStatus;\n }\n\n retryErrorState = () => this.node.collection.retryErrorState();\n\n get _isNotExpandableWhenEmpty() {\n const {\n nestedTable: { isFetchAllAborted },\n node: {\n collection: { showEmptyState },\n },\n } = this;\n return !isFetchAllAborted && showEmptyState;\n }\n\n get _keyedItemsIfExpanded(): NestedTableKeyedItem<C, any, any>[] {\n const {\n parent,\n nestedTable: { isFetchAllAborted },\n _expanded,\n node: {\n collection: { showRefreshLoader, showEmptyState, showErrorState },\n },\n } = this;\n\n if (!_expanded) {\n return [];\n }\n\n return [\n ...this.keyedItems,\n ...(parent &&\n isFetchAllAborted &&\n (showRefreshLoader || showEmptyState || showErrorState)\n ? new Array(1).fill(null).map((_, index) => ({\n id: `placeholder-states-${parent.key}`,\n key: `placeholder-states-${parent.key}`,\n index,\n pageIndex: 0,\n indexWithinPage: index,\n item: {\n state: this,\n originalKeyedItem: undefined,\n },\n }))\n : []),\n ];\n }\n\n get _keyedItemsMap(): Map<string, NestedTableKeyedItem<C, any, any>> {\n return new Map(\n this.keyedItems.map((keyedItem) => [keyedItem.key, keyedItem]),\n );\n }\n\n get keyedItems(): NestedTableKeyedItem<C, any, any>[] {\n const { node, parentKeyToChildrenMap, parentKeyToChildrenMapAtom } = this;\n const {\n collection: {\n result: { keyedItems },\n },\n } = node;\n\n parentKeyToChildrenMapAtom.reportObserved();\n\n return keyedItems\n .flatMap((keyedItem) => [\n {\n ...keyedItem,\n item: {\n state: this,\n originalKeyedItem: keyedItem,\n },\n },\n ...(parentKeyToChildrenMap.get(keyedItem.key)?._keyedItemsIfExpanded ??\n []),\n ])\n .map((keyedItem, index) => ({ ...keyedItem, index }));\n }\n\n getKeyedItem(key: string) {\n return this._keyedItemsMap.get(key);\n }\n\n getKeyedItemByIndex(ind: number) {\n return this.keyedItems[ind];\n }\n\n _register() {\n const { parent, parentNode } = this;\n\n if (parent == null || parentNode == null) {\n return;\n }\n\n parentNode.parentKeyToChildrenMap.set(parent.key, this);\n\n return () => {\n parentNode.parentKeyToChildrenMap.delete(parent.key);\n };\n }\n\n async _toggleExpand() {\n const promise = this.node._toggleExpand();\n this.bi.reportExpandCollapse();\n this.parentNode?.parentKeyToChildrenMapAtom.reportChanged();\n await promise;\n runInAction(() => {\n this.parentNode?.parentKeyToChildrenMapAtom.reportChanged();\n });\n }\n\n async _preRegisterAll() {\n const { node } = this;\n const {\n collection: {\n result: { keyedItems },\n },\n } = node;\n\n await Promise.all(\n keyedItems.map(async (keyedItem) => {\n const state = this.createNode({ parent: keyedItem, preRegister: true });\n if (state == null) {\n return;\n }\n const dispose = state.init();\n await state.initTask.status.promise;\n dispose();\n }),\n );\n }\n\n _notify() {\n const { parentKeyToChildrenMapAtom } = this;\n parentKeyToChildrenMapAtom.reportChanged();\n }\n\n _notifyAll() {\n const { parentKeyToChildrenMap } = this;\n this._notify();\n parentKeyToChildrenMap.forEach((state) => {\n state._notifyAll();\n });\n }\n\n init({ skipCollectionInit }: { skipCollectionInit?: boolean } = {}) {\n const { node, initTask, nestedTable, collection } = this;\n\n const { nestedTableDragAndDrop } = nestedTable;\n\n const disposers = [\n node.init({ skipCollectionInit }),\n nestedTableDragAndDrop?.initCollection(collection),\n ];\n\n initTask.runOnce(async () => {\n node.initTask.runOnce();\n await node.initTask.status.promise;\n\n await runInAction(async () => {\n if (!nestedTable.isFetchAllAborted && nestedTable.expandAll) {\n await this._preRegisterAll();\n if (this.depth === 0) {\n this._notifyAll();\n }\n }\n return;\n });\n });\n\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n\n createNode({\n parent,\n preRegister,\n }: {\n parent: KeyedItem<any>;\n preRegister?: boolean;\n }): NestedTableNodeState<C, any, any> | null {\n const { nestedTable, node, depth, parentKeyToChildrenMap } = this;\n\n const existing = parentKeyToChildrenMap.get(parent.key);\n\n if (existing != null) {\n return existing;\n }\n\n const nextLevelDescriptor = nestedTable.levels[depth + 1];\n\n if (nextLevelDescriptor == null) {\n return null;\n }\n\n const nextLevelNode = node._createNode(parent, {\n levelDescriptor: nextLevelDescriptor,\n preRegister,\n });\n\n if (nextLevelNode == null) {\n return null;\n }\n\n return new NestedTableNodeState({\n parent,\n parentNode: this,\n nestedTable,\n node: nextLevelNode,\n levelDescriptor: nextLevelDescriptor,\n preRegister,\n });\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAOA,IAAAC,KAAA,GAAAD,OAAA;AAUA,IAAAE,+BAAA,GAAAF,OAAA;AAkDO,MAAMG,oBAAoB,CAA4C;EAwB3EC,WAAWA,CAACC,MAA2C,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,oBAXrC,IAAIC,kBAAS,CAAC,CAAC;IAAA,IAAAF,gBAAA,CAAAC,OAAA,kCAED,IAAIE,GAAG,CAGvC,CAAC;IAAA,IAAAH,gBAAA,CAAAC,OAAA,sCAEmC,IAAAG,gBAAU,EAC9C,4BACF,CAAC;IAAA,IAAAJ,gBAAA,CAAAC,OAAA,2BAmGiB,MAAM,IAAI,CAACI,IAAI,CAACC,UAAU,CAACC,eAAe,CAAC,CAAC;IAhG5D,IAAI,CAACC,WAAW,GAAGT,MAAM,CAACS,WAAW;IACrC,IAAI,CAACH,IAAI,GAAGN,MAAM,CAACM,IAAI;IACvB,IAAI,CAACI,UAAU,GAAGV,MAAM,CAACU,UAAU;IACnC,IAAI,CAACC,MAAM,GAAGX,MAAM,CAACW,MAAM;IAC3B,IAAI,CAACC,eAAe,GAAGZ,MAAM,CAACY,eAAe;IAC7C,IAAI,CAACC,EAAE,GAAG,IAAIC,8DAA8B,CAAC,IAAI,CAAC;IAElD,IAAI,CAACC,KAAK,GAAG,IAAIC,+BAAsB,CAAC;MACtCC,WAAW,EAAE,CAAC,IAAI,CAACX,IAAI,CAACC,UAAU;IACpC,CAAC,CAAC;IAEF,IAAAW,oBAAc,EAAC,IAAI,EAAE;MACnBC,UAAU,EAAEC,cAAQ;MACpBC,qBAAqB,EAAED,cAAQ;MAC/BE,yBAAyB,EAAEF,cAAQ;MACnCG,IAAI,EAAEC,YAAM;MACZC,UAAU,EAAED,YAAM;MAClBE,eAAe,EAAEF,YAAM;MACvBG,aAAa,EAAEH,YAAM;MACrBI,OAAO,EAAEJ,YAAM;MACfK,UAAU,EAAEL,YAAM;MAClBM,cAAc,EAAEV,cAAQ;MACxBW,kBAAkB,EAAEX,cAAQ;MAC5BY,YAAY,EAAER;IAChB,CAAC,CAAC;IAEF,IAAI,CAACS,SAAS,CAAC,CAAC;EAClB;EAEA,IAAI1B,UAAUA,CAAA,EAAG;IACf,OAAO,IAAI,CAACD,IAAI,CAACC,UAAU;EAC7B;EAEA,IAAI2B,KAAKA,CAAA,EAAG;IACV,OAAO,IAAI,CAACtB,eAAe,CAACsB,KAAK;EACnC;EAEA,IAAIH,kBAAkBA,CAAA,EAAW;IAC/B,MAAM;MAAEzB,IAAI;MAAE6B,sBAAsB;MAAEC;IAA2B,CAAC,GAAG,IAAI;IACzE,MAAM;MACJ7B,UAAU,EAAE;QACV8B,MAAM,EAAE;UAAElB;QAAW;MACvB;IACF,CAAC,GAAGb,IAAI;IAER8B,0BAA0B,CAACE,cAAc,CAAC,CAAC;IAE3C,OACEnB,UAAU,CAACoB,MAAM,CAAC,CAACC,GAAG,EAAEC,SAAS,KAAK;MAAA,IAAAC,qBAAA;MACpC,OAAOC,IAAI,CAACC,GAAG,CACbJ,GAAG,EACH,EAAAE,qBAAA,GAAAP,sBAAsB,CAACU,GAAG,CAACJ,SAAS,CAACK,EAAE,CAAC,qBAAxCJ,qBAAA,CAA0CX,kBAAkB,KAAI,CAClE,CAAC;IACH,CAAC,EAAE,CAAC,CAAC,IAAIZ,UAAU,CAAC4B,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;EAEvC;EAEA,IAAIC,SAASA,CAAA,EAAG;IACd,OAAO,IAAI,CAAC1C,IAAI,CAAC0C,SAAS;EAC5B;EAEA,IAAIC,OAAOA,CAAA,EAAG;IACZ,OAAO,IAAI,CAACrC,eAAe,CAACqC,OAAO;EACrC;EAEA,IAAIC,gBAAgBA,CAAA,EAAG;IACrB,OAAO,IAAI,CAACtC,eAAe,CAACsC,gBAAgB;EAC9C;EAEA,IAAIC,kBAAkBA,CAAA,EAAG;IACvB,OAAO,IAAI,CAAC7C,IAAI,CAAC8C,sBAAsB;EACzC;EAEAC,YAAYA,CAACC,OAAgB,EAAE;IAC7B,IAAI,CAAChD,IAAI,CAAC+C,YAAY,CAACC,OAAO,CAAC;EACjC;EAEA,IAAIC,cAAcA,CAAA,EAAG;IACnB,OAAO,IAAI,CAACjD,IAAI,CAACC,UAAU,CAACgD,cAAc;EAC5C;EAEA,IAAIC,gBAAgBA,CAAA,EAAG;IACrB,OACE,IAAI,CAAClD,IAAI,CAACC,UAAU,CAACkD,iBAAiB,IACtC,IAAI,CAACnD,IAAI,CAACC,UAAU,CAACmD,iBAAiB;EAE1C;EAEA,IAAIC,cAAcA,CAAA,EAAG;IACnB,OAAO,IAAI,CAACrD,IAAI,CAACC,UAAU,CAACoD,cAAc;EAC5C;EAEA,IAAIC,WAAWA,CAAA,EAAG;IAChB,OAAO,IAAI,CAACtD,IAAI,CAACC,UAAU,CAAC8B,MAAM,CAACuB,WAAW;EAChD;EAIA,IAAItC,yBAAyBA,CAAA,EAAG;IAC9B,MAAM;MACJb,WAAW,EAAE;QAAEoD;MAAkB,CAAC;MAClCvD,IAAI,EAAE;QACJC,UAAU,EAAE;UAAEgD;QAAe;MAC/B;IACF,CAAC,GAAG,IAAI;IACR,OAAO,CAACM,iBAAiB,IAAIN,cAAc;EAC7C;EAEA,IAAIlC,qBAAqBA,CAAA,EAAwC;IAC/D,MAAM;MACJV,MAAM;MACNF,WAAW,EAAE;QAAEoD;MAAkB,CAAC;MAClCb,SAAS;MACT1C,IAAI,EAAE;QACJC,UAAU,EAAE;UAAEmD,iBAAiB;UAAEH,cAAc;UAAEI;QAAe;MAClE;IACF,CAAC,GAAG,IAAI;IAER,IAAI,CAACX,SAAS,EAAE;MACd,OAAO,EAAE;IACX;IAEA,OAAO,CACL,GAAG,IAAI,CAAC7B,UAAU,EAClB,IAAIR,MAAM,IACVkD,iBAAiB,KAChBH,iBAAiB,IAAIH,cAAc,IAAII,cAAc,CAAC,GACnD,IAAIG,KAAK,CAAC,CAAC,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC,CAACC,GAAG,CAAC,CAACC,CAAC,EAAEC,KAAK,MAAM;MACzCpB,EAAE,EAAE,sBAAsBnC,MAAM,CAACwD,GAAG,EAAE;MACtCA,GAAG,EAAE,sBAAsBxD,MAAM,CAACwD,GAAG,EAAE;MACvCD,KAAK;MACLE,SAAS,EAAE,CAAC;MACZC,eAAe,EAAEH,KAAK;MACtBI,IAAI,EAAE;QACJC,KAAK,EAAE,IAAI;QACXC,iBAAiB,EAAEC;MACrB;IACF,CAAC,CAAC,CAAC,GACH,EAAE,CAAC,CACR;EACH;EAEA,IAAI3C,cAAcA,CAAA,EAAmD;IACnE,OAAO,IAAI1B,GAAG,CACZ,IAAI,CAACe,UAAU,CAAC6C,GAAG,CAAEvB,SAAS,IAAK,CAACA,SAAS,CAAC0B,GAAG,EAAE1B,SAAS,CAAC,CAC/D,CAAC;EACH;EAEA,IAAItB,UAAUA,CAAA,EAAwC;IACpD,MAAM;MAAEb,IAAI;MAAE6B,sBAAsB;MAAEC;IAA2B,CAAC,GAAG,IAAI;IACzE,MAAM;MACJ7B,UAAU,EAAE;QACV8B,MAAM,EAAE;UAAElB;QAAW;MACvB;IACF,CAAC,GAAGb,IAAI;IAER8B,0BAA0B,CAACE,cAAc,CAAC,CAAC;IAE3C,OAAOnB,UAAU,CACduD,OAAO,CAAEjC,SAAS;MAAA,IAAAkC,sBAAA;MAAA,OAAK,CACtB;QACE,GAAGlC,SAAS;QACZ6B,IAAI,EAAE;UACJC,KAAK,EAAE,IAAI;UACXC,iBAAiB,EAAE/B;QACrB;MACF,CAAC,EACD,IAAI,EAAAkC,sBAAA,GAAAxC,sBAAsB,CAACU,GAAG,CAACJ,SAAS,CAAC0B,GAAG,CAAC,qBAAzCQ,sBAAA,CAA2CtD,qBAAqB,KAClE,EAAE,CAAC,CACN;IAAA,EAAC,CACD2C,GAAG,CAAC,CAACvB,SAAS,EAAEyB,KAAK,MAAM;MAAE,GAAGzB,SAAS;MAAEyB;IAAM,CAAC,CAAC,CAAC;EACzD;EAEAlC,YAAYA,CAACmC,GAAW,EAAE;IACxB,OAAO,IAAI,CAACrC,cAAc,CAACe,GAAG,CAACsB,GAAG,CAAC;EACrC;EAEAS,mBAAmBA,CAACC,GAAW,EAAE;IAC/B,OAAO,IAAI,CAAC1D,UAAU,CAAC0D,GAAG,CAAC;EAC7B;EAEA5C,SAASA,CAAA,EAAG;IACV,MAAM;MAAEtB,MAAM;MAAED;IAAW,CAAC,GAAG,IAAI;IAEnC,IAAIC,MAAM,IAAI,IAAI,IAAID,UAAU,IAAI,IAAI,EAAE;MACxC;IACF;IAEAA,UAAU,CAACyB,sBAAsB,CAAC2C,GAAG,CAACnE,MAAM,CAACwD,GAAG,EAAE,IAAI,CAAC;IAEvD,OAAO,MAAM;MACXzD,UAAU,CAACyB,sBAAsB,CAAC4C,MAAM,CAACpE,MAAM,CAACwD,GAAG,CAAC;IACtD,CAAC;EACH;EAEA,MAAMxC,aAAaA,CAAA,EAAG;IAAA,IAAAqD,gBAAA;IACpB,MAAMC,OAAO,GAAG,IAAI,CAAC3E,IAAI,CAACqB,aAAa,CAAC,CAAC;IACzC,IAAI,CAACd,EAAE,CAACqE,oBAAoB,CAAC,CAAC;IAC9B,CAAAF,gBAAA,OAAI,CAACtE,UAAU,aAAfsE,gBAAA,CAAiB5C,0BAA0B,CAAC+C,aAAa,CAAC,CAAC;IAC3D,MAAMF,OAAO;IACb,IAAAG,iBAAW,EAAC,MAAM;MAAA,IAAAC,iBAAA;MAChB,CAAAA,iBAAA,OAAI,CAAC3E,UAAU,aAAf2E,iBAAA,CAAiBjD,0BAA0B,CAAC+C,aAAa,CAAC,CAAC;IAC7D,CAAC,CAAC;EACJ;EAEA,MAAMzD,eAAeA,CAAA,EAAG;IACtB,MAAM;MAAEpB;IAAK,CAAC,GAAG,IAAI;IACrB,MAAM;MACJC,UAAU,EAAE;QACV8B,MAAM,EAAE;UAAElB;QAAW;MACvB;IACF,CAAC,GAAGb,IAAI;IAER,MAAMgF,OAAO,CAACC,GAAG,CACfpE,UAAU,CAAC6C,GAAG,CAAC,MAAOvB,SAAS,IAAK;MAClC,MAAM8B,KAAK,GAAG,IAAI,CAAC9C,UAAU,CAAC;QAAEd,MAAM,EAAE8B,SAAS;QAAE+C,WAAW,EAAE;MAAK,CAAC,CAAC;MACvE,IAAIjB,KAAK,IAAI,IAAI,EAAE;QACjB;MACF;MACA,MAAMkB,OAAO,GAAGlB,KAAK,CAAChD,IAAI,CAAC,CAAC;MAC5B,MAAMgD,KAAK,CAACmB,QAAQ,CAACC,MAAM,CAACV,OAAO;MACnCQ,OAAO,CAAC,CAAC;IACX,CAAC,CACH,CAAC;EACH;EAEA7D,OAAOA,CAAA,EAAG;IACR,MAAM;MAAEQ;IAA2B,CAAC,GAAG,IAAI;IAC3CA,0BAA0B,CAAC+C,aAAa,CAAC,CAAC;EAC5C;EAEAtD,UAAUA,CAAA,EAAG;IACX,MAAM;MAAEM;IAAuB,CAAC,GAAG,IAAI;IACvC,IAAI,CAACP,OAAO,CAAC,CAAC;IACdO,sBAAsB,CAACyD,OAAO,CAAErB,KAAK,IAAK;MACxCA,KAAK,CAAC1C,UAAU,CAAC,CAAC;IACpB,CAAC,CAAC;EACJ;EAEAN,IAAIA,CAAC;IAAEsE;EAAqD,CAAC,GAAG,CAAC,CAAC,EAAE;IAClE,MAAM;MAAEvF,IAAI;MAAEoF,QAAQ;MAAEjF,WAAW;MAAEF;IAAW,CAAC,GAAG,IAAI;IAExD,MAAM;MAAEuF;IAAuB,CAAC,GAAGrF,WAAW;IAE9C,MAAMsF,SAAS,GAAG,CAChBzF,IAAI,CAACiB,IAAI,CAAC;MAAEsE;IAAmB,CAAC,CAAC,EACjCC,sBAAsB,oBAAtBA,sBAAsB,CAAEE,cAAc,CAACzF,UAAU,CAAC,CACnD;IAEDmF,QAAQ,CAACO,OAAO,CAAC,YAAY;MAC3B3F,IAAI,CAACoF,QAAQ,CAACO,OAAO,CAAC,CAAC;MACvB,MAAM3F,IAAI,CAACoF,QAAQ,CAACC,MAAM,CAACV,OAAO;MAElC,MAAM,IAAAG,iBAAW,EAAC,YAAY;QAC5B,IAAI,CAAC3E,WAAW,CAACoD,iBAAiB,IAAIpD,WAAW,CAACyF,SAAS,EAAE;UAC3D,MAAM,IAAI,CAACxE,eAAe,CAAC,CAAC;UAC5B,IAAI,IAAI,CAACQ,KAAK,KAAK,CAAC,EAAE;YACpB,IAAI,CAACL,UAAU,CAAC,CAAC;UACnB;QACF;QACA;MACF,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO,MAAM;MACXkE,SAAS,CAACH,OAAO,CAAEO,CAAC,IAAKA,CAAC,oBAADA,CAAC,CAAG,CAAC,CAAC;IACjC,CAAC;EACH;EAEA1E,UAAUA,CAAC;IACTd,MAAM;IACN6E;EAIF,CAAC,EAA4C;IAC3C,MAAM;MAAE/E,WAAW;MAAEH,IAAI;MAAE4B,KAAK;MAAEC;IAAuB,CAAC,GAAG,IAAI;IAEjE,MAAMiE,QAAQ,GAAGjE,sBAAsB,CAACU,GAAG,CAAClC,MAAM,CAACwD,GAAG,CAAC;IAEvD,IAAIiC,QAAQ,IAAI,IAAI,EAAE;MACpB,OAAOA,QAAQ;IACjB;IAEA,MAAMC,mBAAmB,GAAG5F,WAAW,CAAC6F,MAAM,CAACpE,KAAK,GAAG,CAAC,CAAC;IAEzD,IAAImE,mBAAmB,IAAI,IAAI,EAAE;MAC/B,OAAO,IAAI;IACb;IAEA,MAAME,aAAa,GAAGjG,IAAI,CAACkG,WAAW,CAAC7F,MAAM,EAAE;MAC7CC,eAAe,EAAEyF,mBAAmB;MACpCb;IACF,CAAC,CAAC;IAEF,IAAIe,aAAa,IAAI,IAAI,EAAE;MACzB,OAAO,IAAI;IACb;IAEA,OAAO,IAAIzG,oBAAoB,CAAC;MAC9Ba,MAAM;MACND,UAAU,EAAE,IAAI;MAChBD,WAAW;MACXH,IAAI,EAAEiG,aAAa;MACnB3F,eAAe,EAAEyF,mBAAmB;MACpCb;IACF,CAAC,CAAC;EACJ;AACF;AAACiB,OAAA,CAAA3G,oBAAA,GAAAA,oBAAA","ignoreList":[]}
@@ -201,10 +201,16 @@ class TagsBulkAssignPopoverState {
201
201
  biName: 'cairo-save-new-tag-success',
202
202
  message: this.container.translate('cairo.tags.popover.tagCreated.toast.success')
203
203
  },
204
- errorToast: () => ({
205
- biName: 'cairo-save-new-tag-error',
206
- message: this.container.translate('cairo.tags.collectionPage.toast.create.error')
207
- })
204
+ errorToast: error => {
205
+ const config = (0, _bexCore.getCreateTagErrorConfig)({
206
+ container: this.container,
207
+ error
208
+ });
209
+ return {
210
+ biName: 'cairo-save-new-tag-error',
211
+ ...config
212
+ };
213
+ }
208
214
  }
209
215
  });
210
216
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_mobx","require","_bexCore","_bi","_uuid","origin","TagsBulkAssignPopoverState","constructor","tagsManagementState","collectionState","tagsModalState","bulkUpdateTags","_defineProperty2","default","tag","optimisticNewTag","assignedTagIds","includes","id","push","tagName","tagId","name","createdDate","Date","updatedAssignedTagIds","filter","assignedTagId","selectedKeyedItems","tagsCount","items","reduce","result","forEach","selectedKeyedItem","_tags","entityTagIds","item","tags","privateTags","tagIds","Set","entityTagId","selectedTagIds","indeterminateTagIds","tagCount","Object","entries","length","_tags2","currentTagIds","updatedTagIds","Array","from","newAssignedTagIds","newUnassignedTagIds","map","selectedIds","bulkSelect","itemKey","_calItemUpdatedTagsIds","initialIndeterminateTagIds","initialSelectedIds","tagsBIReporter","reportBi","cairoUndoClicked","actionName","changedAttributes","optimisticActions","_optimisticActions","CollectionOptimisticActions","container","collection","TagsBIReporter","createBILogger","componentType","fqdn","location","makeObservable","init","action","isShown","observable","searchValue","showPopover","closePopover","applyChanges","handleManageTagsCtaClick","handleItemSelect","handleSearchChange","createAndAssignTag","retry","ref","assignedTags","computed","disposers","disposer","_reportPopoverShowChangedBi","_initSelectionState","_reportSearchEventsBi","slice","TAG_MAX_LENGTH","uuid","assignTagOptimistic","createTag","filteredListSize","isFromSearch","onSuccess","newTag","assignTag","optimisticActionParams","successToast","biName","message","translate","errorToast","_reportApplyBi","_calcOptimisticItems","entityIds","updateMany","keepPosition","submit","assignTags","unassignTags","showUndoToast","onUndo","_reportUndoBi","openManageTagsModal","itemId","currentTag","find","indeterminateTagId","assignedWithOptimisticTagIds","unassignTag","_reportSearchChangedBi","isInEmptyState","isSuccessful","tagOptions","sort","tag1","tag2","isTag1InitialUnassigned","_isInitialUnassignedTag","isTag2InitialUnassigned","valueOf","savedAssignedTags","element","Boolean","isError","isLoading","isDirty","_calcTagsCount","_getSelectedTagsIdsStatus","isOpened","cairoFiltersPanelUsed","feature","onSearch","_clearAllEvents","event","events","emit","selectedItemsIds","cairoAssignTagsToEntities","itemIds","JSON","stringify","numItems","unAssignedTags","exports"],"sources":["../../../src/state/TagsBulkAssignPopoverState.ts"],"sourcesContent":["import { action, makeObservable, computed, observable } from 'mobx';\nimport { TagsModalState } from './TagsModalState';\nimport { Tag } from '@wix/bex-utils/@wix/ambassador-os-tags-v1-tag/types';\nimport {\n CollectionOptimisticActions,\n CollectionState,\n FiltersMap,\n KeyedItem,\n TAG_MAX_LENGTH,\n Tags,\n TagsBIReporter,\n TagsManagementState,\n} from '@wix/bex-core';\nimport {\n cairoAssignTagsToEntities,\n cairoFiltersPanelUsed,\n cairoUndoClicked,\n} from '@wix/bex-core/bi';\nimport { v4 as uuid } from 'uuid';\n\nconst origin = 'bulk_assign_popover';\n\nexport interface BulkUpdateTagsParams {\n entityIds: string[];\n assignTags: Tags;\n unassignTags: Tags;\n}\n\nexport interface TagsBulkAssignPopoverStateParams<T, F extends FiltersMap> {\n readonly tagsManagementState: TagsManagementState;\n readonly tagsModalState: TagsModalState;\n readonly collectionState: CollectionState<T, F>;\n bulkUpdateTags: (params: BulkUpdateTagsParams) => Promise<unknown>;\n}\n\nexport class TagsBulkAssignPopoverState<T, F extends FiltersMap> {\n readonly tagsManagementState: TagsManagementState;\n readonly collectionState;\n readonly optimisticActions: CollectionOptimisticActions<T, F>;\n readonly tagsModalState;\n readonly bulkUpdateTags: (params: BulkUpdateTagsParams) => Promise<unknown>;\n readonly container;\n readonly tagsBIReporter: TagsBIReporter;\n initialSelectedIds: string[] = [];\n initialIndeterminateTagIds: string[] = [];\n indeterminateTagIds: string[] = [];\n assignedTagIds: string[] = [];\n optimisticNewTag: Tag | null = null;\n isShown = false;\n searchValue: string = '';\n\n constructor({\n tagsManagementState,\n collectionState,\n tagsModalState,\n bulkUpdateTags,\n }: TagsBulkAssignPopoverStateParams<T, F>) {\n this.tagsManagementState = tagsManagementState;\n this.collectionState = collectionState;\n this.optimisticActions =\n collectionState._optimisticActions ??\n new CollectionOptimisticActions<T, F>({\n container: this.tagsManagementState.container,\n collection: this.collectionState,\n });\n this.tagsBIReporter = new TagsBIReporter({\n collection: this.tagsManagementState.collection,\n reportBi: this.tagsManagementState.container.createBILogger({\n componentType: 'TagsBulkAssignPopover',\n ...tagsManagementState.fqdn,\n }),\n location: 'Bulk assign tags popover',\n });\n this.tagsModalState = tagsModalState;\n this.bulkUpdateTags = bulkUpdateTags;\n this.container = tagsManagementState.container;\n\n makeObservable(this, {\n init: action,\n isShown: observable,\n initialSelectedIds: observable,\n initialIndeterminateTagIds: observable,\n indeterminateTagIds: observable,\n searchValue: observable,\n showPopover: action,\n closePopover: action,\n applyChanges: action,\n handleManageTagsCtaClick: action,\n handleItemSelect: action,\n handleSearchChange: action,\n createAndAssignTag: action,\n retry: action,\n assignedTagIds: observable,\n optimisticNewTag: observable.ref,\n assignedTags: computed,\n });\n }\n\n init() {\n const disposers = [this.optimisticActions.init()];\n\n return () => {\n disposers.forEach((disposer) => disposer());\n };\n }\n\n async showPopover() {\n if (this.isShown) {\n return;\n }\n\n this.isShown = true;\n this._reportPopoverShowChangedBi(true);\n const { selectedTagIds, indeterminateTagIds } = this._initSelectionState();\n this.initialSelectedIds = selectedTagIds;\n this.assignedTagIds = selectedTagIds;\n this.initialIndeterminateTagIds = indeterminateTagIds;\n this.indeterminateTagIds = indeterminateTagIds;\n }\n\n closePopover() {\n this._reportPopoverShowChangedBi(false);\n this._reportSearchEventsBi('blur');\n this.isShown = false;\n this.assignedTagIds = [];\n this.initialSelectedIds = [];\n this.initialIndeterminateTagIds = [];\n this.indeterminateTagIds = [];\n }\n\n async createAndAssignTag(name: string) {\n this._reportSearchEventsBi('add');\n const tagName = name.slice(0, TAG_MAX_LENGTH);\n const id = uuid();\n this.assignTagOptimistic(tagName, id);\n this.tagsManagementState.createTag({\n name,\n id,\n filteredListSize: 0,\n origin,\n isFromSearch: true,\n tagsBIReporter: this.tagsBIReporter,\n onSuccess: (newTag) => this.assignTag({ tag: newTag }),\n optimisticActionParams: {\n successToast: {\n biName: 'cairo-save-new-tag-success',\n message: this.container.translate(\n 'cairo.tags.popover.tagCreated.toast.success',\n ),\n },\n errorToast: () => ({\n biName: 'cairo-save-new-tag-error',\n message: this.container.translate(\n 'cairo.tags.collectionPage.toast.create.error',\n ),\n }),\n },\n });\n }\n\n async applyChanges() {\n this._reportApplyBi();\n const items = this._calcOptimisticItems();\n const entityIds = this.collectionState.bulkSelect.selectedIds;\n const assignedTagIds = this.newAssignedTagIds;\n const newUnassignedTagIds = this.newUnassignedTagIds;\n this.optimisticActions.updateMany(items, {\n keepPosition: true,\n submit: async () => {\n return this.bulkUpdateTags({\n entityIds,\n assignTags: { privateTags: { tagIds: assignedTagIds } },\n unassignTags: { privateTags: { tagIds: newUnassignedTagIds } },\n });\n },\n successToast: {\n biName: 'cairo-update-bulk-assign-tags-success',\n message: this.container.translate(\n 'cairo.tags.applyChanges.toast.success',\n ),\n },\n showUndoToast: true,\n errorToast: () => ({\n biName: 'cairo-update-bulk-assign-tags-error',\n message: this.container.translate(\n 'cairo.tags.collectionPage.toast.update.error',\n ),\n }),\n onUndo: this._reportUndoBi,\n });\n\n this.closePopover();\n }\n\n handleManageTagsCtaClick() {\n this.closePopover();\n this.tagsModalState.openManageTagsModal({\n origin,\n });\n }\n\n handleItemSelect(itemId: string) {\n const currentTag = this.tagsManagementState.items.find(\n (tag) => tag.id === itemId,\n );\n if (!currentTag) {\n return;\n }\n\n this._reportSearchEventsBi('select');\n\n if (\n this.initialIndeterminateTagIds.includes(itemId) &&\n this.indeterminateTagIds.includes(itemId)\n ) {\n this.indeterminateTagIds = this.indeterminateTagIds.filter(\n (indeterminateTagId) => indeterminateTagId !== itemId,\n );\n }\n\n if (this.assignedWithOptimisticTagIds.includes(itemId)) {\n this.unassignTag({ tag: currentTag });\n } else {\n this.assignTag({ tag: currentTag });\n }\n }\n\n handleSearchChange(searchValue: string) {\n this._reportSearchChangedBi(searchValue);\n this.searchValue = searchValue;\n }\n\n retry() {\n this.tagsManagementState.retry();\n }\n\n get isInEmptyState() {\n return (\n this.tagsManagementState.isSuccessful &&\n this.tagsManagementState.items.length === 0\n );\n }\n\n get tagOptions() {\n return this.tagsManagementState.items.sort((tag1, tag2) => {\n const isTag1InitialUnassigned = this._isInitialUnassignedTag(tag1);\n const isTag2InitialUnassigned = this._isInitialUnassignedTag(tag2);\n\n // Showing first assigned/indeterminate tags, and unassigned tags below it\n if (!isTag1InitialUnassigned && isTag2InitialUnassigned) {\n return -1;\n }\n\n if (isTag1InitialUnassigned && !isTag2InitialUnassigned) {\n return 1;\n }\n\n // Sub order by showing first newer tags\n return (\n new Date(tag2.createdDate!).valueOf() -\n new Date(tag1.createdDate!).valueOf()\n );\n });\n }\n\n get assignedTags() {\n const savedAssignedTags = this.assignedTagIds\n .map((tagId) => {\n return this.tagsManagementState.items.find((tag) => tag.id === tagId);\n })\n .filter((element) => Boolean(element)) as Tag[];\n return this.optimisticNewTag\n ? [...savedAssignedTags, this.optimisticNewTag]\n : savedAssignedTags;\n }\n\n get assignedWithOptimisticTagIds() {\n return this.assignedTags.map((tag) => tag.id!);\n }\n\n get newAssignedTagIds() {\n return this.assignedTagIds.filter(\n (tagId) => !this.initialSelectedIds.includes(tagId),\n );\n }\n\n get newUnassignedTagIds() {\n return [\n ...this.initialSelectedIds.filter(\n (tagId) => !this.assignedTagIds.includes(tagId),\n ),\n ...this.initialIndeterminateTagIds.filter(\n (tagId) =>\n ![...this.assignedTagIds, ...this.indeterminateTagIds].includes(\n tagId,\n ),\n ),\n ];\n }\n\n get isError() {\n return this.tagsManagementState.isError;\n }\n\n get isLoading() {\n return this.tagsManagementState.isLoading;\n }\n\n get isDirty() {\n return (\n this.newAssignedTagIds.length > 0 || this.newUnassignedTagIds.length > 0\n );\n }\n\n assignTag = async ({ tag }: { tag: Tag }) => {\n this.optimisticNewTag = null;\n if (this.assignedTagIds.includes(tag.id!)) {\n return;\n }\n\n this.assignedTagIds.push(tag.id!);\n };\n\n assignTagOptimistic = (tagName: string, tagId: string = 'fake tag id') => {\n this.optimisticNewTag = {\n id: tagId,\n name: tagName,\n createdDate: new Date(),\n };\n };\n\n unassignTag = async ({ tag }: { tag: Tag }) => {\n const updatedAssignedTagIds = this.assignedTagIds.filter(\n (assignedTagId) => assignedTagId !== tag.id,\n );\n\n this.assignedTagIds = updatedAssignedTagIds;\n };\n\n private _calcTagsCount = (selectedKeyedItems: KeyedItem<T>[]) => {\n const tagsCount = this.tagsManagementState.items.reduce(\n (result: Record<string, number>, tag) => {\n result[tag.id!] = 0;\n return result;\n },\n {},\n );\n selectedKeyedItems.forEach((selectedKeyedItem) => {\n const entityTagIds =\n ((selectedKeyedItem.item as any).tags?.privateTags\n ?.tagIds as string[]) || [];\n [...new Set(entityTagIds)].forEach((entityTagId) => {\n if (entityTagId in tagsCount) {\n tagsCount[entityTagId]++;\n }\n });\n });\n return tagsCount;\n };\n\n private _getSelectedTagsIdsStatus = (\n tagsCount: Record<string, number>,\n selectedKeyedItems: KeyedItem<T>[],\n ) => {\n const selectedTagIds: string[] = [];\n const indeterminateTagIds: string[] = [];\n for (const [tagId, tagCount] of Object.entries(tagsCount)) {\n if (tagCount === selectedKeyedItems.length) {\n selectedTagIds.push(tagId);\n } else if (tagCount > 0) {\n indeterminateTagIds.push(tagId);\n }\n }\n return { selectedTagIds, indeterminateTagIds };\n };\n\n private _calItemUpdatedTagsIds = (item: T) => {\n const currentTagIds =\n ((item as any).tags?.privateTags?.tagIds as string[]) || [];\n\n const updatedTagIds = Array.from(\n new Set(\n [...currentTagIds, ...this.newAssignedTagIds].filter(\n (tagId) => !this.newUnassignedTagIds.includes(tagId),\n ),\n ),\n );\n return updatedTagIds;\n };\n\n private _calcOptimisticItems = () => {\n return this.collectionState.result.items.map((item: T) => {\n const selectedIds = this.collectionState.bulkSelect.selectedIds;\n const itemKey = this.collectionState.itemKey(item);\n if (!selectedIds.includes(itemKey)) {\n return item;\n }\n const updatedTagIds = this._calItemUpdatedTagsIds(item);\n return { ...item, tags: { privateTags: { tagIds: updatedTagIds } } };\n });\n };\n\n private _initSelectionState() {\n const { selectedKeyedItems } = this.collectionState.bulkSelect;\n const tagsCount = this._calcTagsCount(selectedKeyedItems);\n return this._getSelectedTagsIdsStatus(tagsCount, selectedKeyedItems);\n }\n\n private _isInitialUnassignedTag = (tag: Tag) =>\n !this.initialIndeterminateTagIds.includes(tag.id!) &&\n !this.initialSelectedIds.includes(tag.id!);\n\n private _reportPopoverShowChangedBi(isOpened: boolean) {\n this.tagsBIReporter.reportBi(\n cairoFiltersPanelUsed({\n isOpened,\n feature: 'Tags',\n origin: 'Assign Tags',\n }),\n );\n }\n\n private _reportSearchChangedBi(searchValue: string) {\n if (searchValue !== '') {\n this.tagsBIReporter.onSearch(searchValue);\n } else {\n this.tagsBIReporter._clearAllEvents();\n }\n }\n\n private _reportSearchEventsBi(event: 'add' | 'select' | 'blur') {\n return this.tagsBIReporter.events.emit(event);\n }\n\n private _reportApplyBi() {\n let actionName = 'Both';\n if (this.newAssignedTagIds.length === 0) {\n actionName = 'Remove';\n } else if (this.newUnassignedTagIds.length === 0) {\n actionName = 'Assign';\n }\n\n const { selectedIds: selectedItemsIds } = this.collectionState.bulkSelect;\n\n this.tagsBIReporter.reportBi(\n cairoAssignTagsToEntities({\n actionName,\n isFromSearch: this.searchValue !== '',\n itemIds: JSON.stringify(selectedItemsIds),\n numItems: selectedItemsIds.length,\n assignedTags: JSON.stringify(this.newAssignedTagIds),\n unAssignedTags: JSON.stringify(this.newUnassignedTagIds),\n origin: 'Assign Tags Modal',\n }),\n );\n }\n\n private _reportUndoBi = () => {\n this.tagsBIReporter.reportBi(\n cairoUndoClicked({\n actionName: 'Save',\n changedAttributes: 'Tags Assignment',\n }),\n );\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_mobx","require","_bexCore","_bi","_uuid","origin","TagsBulkAssignPopoverState","constructor","tagsManagementState","collectionState","tagsModalState","bulkUpdateTags","_defineProperty2","default","tag","optimisticNewTag","assignedTagIds","includes","id","push","tagName","tagId","name","createdDate","Date","updatedAssignedTagIds","filter","assignedTagId","selectedKeyedItems","tagsCount","items","reduce","result","forEach","selectedKeyedItem","_tags","entityTagIds","item","tags","privateTags","tagIds","Set","entityTagId","selectedTagIds","indeterminateTagIds","tagCount","Object","entries","length","_tags2","currentTagIds","updatedTagIds","Array","from","newAssignedTagIds","newUnassignedTagIds","map","selectedIds","bulkSelect","itemKey","_calItemUpdatedTagsIds","initialIndeterminateTagIds","initialSelectedIds","tagsBIReporter","reportBi","cairoUndoClicked","actionName","changedAttributes","optimisticActions","_optimisticActions","CollectionOptimisticActions","container","collection","TagsBIReporter","createBILogger","componentType","fqdn","location","makeObservable","init","action","isShown","observable","searchValue","showPopover","closePopover","applyChanges","handleManageTagsCtaClick","handleItemSelect","handleSearchChange","createAndAssignTag","retry","ref","assignedTags","computed","disposers","disposer","_reportPopoverShowChangedBi","_initSelectionState","_reportSearchEventsBi","slice","TAG_MAX_LENGTH","uuid","assignTagOptimistic","createTag","filteredListSize","isFromSearch","onSuccess","newTag","assignTag","optimisticActionParams","successToast","biName","message","translate","errorToast","error","config","getCreateTagErrorConfig","_reportApplyBi","_calcOptimisticItems","entityIds","updateMany","keepPosition","submit","assignTags","unassignTags","showUndoToast","onUndo","_reportUndoBi","openManageTagsModal","itemId","currentTag","find","indeterminateTagId","assignedWithOptimisticTagIds","unassignTag","_reportSearchChangedBi","isInEmptyState","isSuccessful","tagOptions","sort","tag1","tag2","isTag1InitialUnassigned","_isInitialUnassignedTag","isTag2InitialUnassigned","valueOf","savedAssignedTags","element","Boolean","isError","isLoading","isDirty","_calcTagsCount","_getSelectedTagsIdsStatus","isOpened","cairoFiltersPanelUsed","feature","onSearch","_clearAllEvents","event","events","emit","selectedItemsIds","cairoAssignTagsToEntities","itemIds","JSON","stringify","numItems","unAssignedTags","exports"],"sources":["../../../src/state/TagsBulkAssignPopoverState.ts"],"sourcesContent":["import { action, makeObservable, computed, observable } from 'mobx';\nimport { TagsModalState } from './TagsModalState';\nimport { Tag } from '@wix/bex-utils/@wix/ambassador-os-tags-v1-tag/types';\nimport {\n CollectionOptimisticActions,\n CollectionState,\n FiltersMap,\n KeyedItem,\n TAG_MAX_LENGTH,\n Tags,\n TagsBIReporter,\n TagsManagementState,\n getCreateTagErrorConfig,\n} from '@wix/bex-core';\nimport {\n cairoAssignTagsToEntities,\n cairoFiltersPanelUsed,\n cairoUndoClicked,\n} from '@wix/bex-core/bi';\nimport { v4 as uuid } from 'uuid';\n\nconst origin = 'bulk_assign_popover';\n\nexport interface BulkUpdateTagsParams {\n entityIds: string[];\n assignTags: Tags;\n unassignTags: Tags;\n}\n\nexport interface TagsBulkAssignPopoverStateParams<T, F extends FiltersMap> {\n readonly tagsManagementState: TagsManagementState;\n readonly tagsModalState: TagsModalState;\n readonly collectionState: CollectionState<T, F>;\n bulkUpdateTags: (params: BulkUpdateTagsParams) => Promise<unknown>;\n}\n\nexport class TagsBulkAssignPopoverState<T, F extends FiltersMap> {\n readonly tagsManagementState: TagsManagementState;\n readonly collectionState;\n readonly optimisticActions: CollectionOptimisticActions<T, F>;\n readonly tagsModalState;\n readonly bulkUpdateTags: (params: BulkUpdateTagsParams) => Promise<unknown>;\n readonly container;\n readonly tagsBIReporter: TagsBIReporter;\n initialSelectedIds: string[] = [];\n initialIndeterminateTagIds: string[] = [];\n indeterminateTagIds: string[] = [];\n assignedTagIds: string[] = [];\n optimisticNewTag: Tag | null = null;\n isShown = false;\n searchValue: string = '';\n\n constructor({\n tagsManagementState,\n collectionState,\n tagsModalState,\n bulkUpdateTags,\n }: TagsBulkAssignPopoverStateParams<T, F>) {\n this.tagsManagementState = tagsManagementState;\n this.collectionState = collectionState;\n this.optimisticActions =\n collectionState._optimisticActions ??\n new CollectionOptimisticActions<T, F>({\n container: this.tagsManagementState.container,\n collection: this.collectionState,\n });\n this.tagsBIReporter = new TagsBIReporter({\n collection: this.tagsManagementState.collection,\n reportBi: this.tagsManagementState.container.createBILogger({\n componentType: 'TagsBulkAssignPopover',\n ...tagsManagementState.fqdn,\n }),\n location: 'Bulk assign tags popover',\n });\n this.tagsModalState = tagsModalState;\n this.bulkUpdateTags = bulkUpdateTags;\n this.container = tagsManagementState.container;\n\n makeObservable(this, {\n init: action,\n isShown: observable,\n initialSelectedIds: observable,\n initialIndeterminateTagIds: observable,\n indeterminateTagIds: observable,\n searchValue: observable,\n showPopover: action,\n closePopover: action,\n applyChanges: action,\n handleManageTagsCtaClick: action,\n handleItemSelect: action,\n handleSearchChange: action,\n createAndAssignTag: action,\n retry: action,\n assignedTagIds: observable,\n optimisticNewTag: observable.ref,\n assignedTags: computed,\n });\n }\n\n init() {\n const disposers = [this.optimisticActions.init()];\n\n return () => {\n disposers.forEach((disposer) => disposer());\n };\n }\n\n async showPopover() {\n if (this.isShown) {\n return;\n }\n\n this.isShown = true;\n this._reportPopoverShowChangedBi(true);\n const { selectedTagIds, indeterminateTagIds } = this._initSelectionState();\n this.initialSelectedIds = selectedTagIds;\n this.assignedTagIds = selectedTagIds;\n this.initialIndeterminateTagIds = indeterminateTagIds;\n this.indeterminateTagIds = indeterminateTagIds;\n }\n\n closePopover() {\n this._reportPopoverShowChangedBi(false);\n this._reportSearchEventsBi('blur');\n this.isShown = false;\n this.assignedTagIds = [];\n this.initialSelectedIds = [];\n this.initialIndeterminateTagIds = [];\n this.indeterminateTagIds = [];\n }\n\n async createAndAssignTag(name: string) {\n this._reportSearchEventsBi('add');\n const tagName = name.slice(0, TAG_MAX_LENGTH);\n const id = uuid();\n this.assignTagOptimistic(tagName, id);\n this.tagsManagementState.createTag({\n name,\n id,\n filteredListSize: 0,\n origin,\n isFromSearch: true,\n tagsBIReporter: this.tagsBIReporter,\n onSuccess: (newTag) => this.assignTag({ tag: newTag }),\n optimisticActionParams: {\n successToast: {\n biName: 'cairo-save-new-tag-success',\n message: this.container.translate(\n 'cairo.tags.popover.tagCreated.toast.success',\n ),\n },\n errorToast: (error) => {\n const config = getCreateTagErrorConfig({\n container: this.container,\n error,\n });\n return {\n biName: 'cairo-save-new-tag-error',\n ...config,\n };\n },\n },\n });\n }\n\n async applyChanges() {\n this._reportApplyBi();\n const items = this._calcOptimisticItems();\n const entityIds = this.collectionState.bulkSelect.selectedIds;\n const assignedTagIds = this.newAssignedTagIds;\n const newUnassignedTagIds = this.newUnassignedTagIds;\n this.optimisticActions.updateMany(items, {\n keepPosition: true,\n submit: async () => {\n return this.bulkUpdateTags({\n entityIds,\n assignTags: { privateTags: { tagIds: assignedTagIds } },\n unassignTags: { privateTags: { tagIds: newUnassignedTagIds } },\n });\n },\n successToast: {\n biName: 'cairo-update-bulk-assign-tags-success',\n message: this.container.translate(\n 'cairo.tags.applyChanges.toast.success',\n ),\n },\n showUndoToast: true,\n errorToast: () => ({\n biName: 'cairo-update-bulk-assign-tags-error',\n message: this.container.translate(\n 'cairo.tags.collectionPage.toast.update.error',\n ),\n }),\n onUndo: this._reportUndoBi,\n });\n\n this.closePopover();\n }\n\n handleManageTagsCtaClick() {\n this.closePopover();\n this.tagsModalState.openManageTagsModal({\n origin,\n });\n }\n\n handleItemSelect(itemId: string) {\n const currentTag = this.tagsManagementState.items.find(\n (tag) => tag.id === itemId,\n );\n if (!currentTag) {\n return;\n }\n\n this._reportSearchEventsBi('select');\n\n if (\n this.initialIndeterminateTagIds.includes(itemId) &&\n this.indeterminateTagIds.includes(itemId)\n ) {\n this.indeterminateTagIds = this.indeterminateTagIds.filter(\n (indeterminateTagId) => indeterminateTagId !== itemId,\n );\n }\n\n if (this.assignedWithOptimisticTagIds.includes(itemId)) {\n this.unassignTag({ tag: currentTag });\n } else {\n this.assignTag({ tag: currentTag });\n }\n }\n\n handleSearchChange(searchValue: string) {\n this._reportSearchChangedBi(searchValue);\n this.searchValue = searchValue;\n }\n\n retry() {\n this.tagsManagementState.retry();\n }\n\n get isInEmptyState() {\n return (\n this.tagsManagementState.isSuccessful &&\n this.tagsManagementState.items.length === 0\n );\n }\n\n get tagOptions() {\n return this.tagsManagementState.items.sort((tag1, tag2) => {\n const isTag1InitialUnassigned = this._isInitialUnassignedTag(tag1);\n const isTag2InitialUnassigned = this._isInitialUnassignedTag(tag2);\n\n // Showing first assigned/indeterminate tags, and unassigned tags below it\n if (!isTag1InitialUnassigned && isTag2InitialUnassigned) {\n return -1;\n }\n\n if (isTag1InitialUnassigned && !isTag2InitialUnassigned) {\n return 1;\n }\n\n // Sub order by showing first newer tags\n return (\n new Date(tag2.createdDate!).valueOf() -\n new Date(tag1.createdDate!).valueOf()\n );\n });\n }\n\n get assignedTags() {\n const savedAssignedTags = this.assignedTagIds\n .map((tagId) => {\n return this.tagsManagementState.items.find((tag) => tag.id === tagId);\n })\n .filter((element) => Boolean(element)) as Tag[];\n return this.optimisticNewTag\n ? [...savedAssignedTags, this.optimisticNewTag]\n : savedAssignedTags;\n }\n\n get assignedWithOptimisticTagIds() {\n return this.assignedTags.map((tag) => tag.id!);\n }\n\n get newAssignedTagIds() {\n return this.assignedTagIds.filter(\n (tagId) => !this.initialSelectedIds.includes(tagId),\n );\n }\n\n get newUnassignedTagIds() {\n return [\n ...this.initialSelectedIds.filter(\n (tagId) => !this.assignedTagIds.includes(tagId),\n ),\n ...this.initialIndeterminateTagIds.filter(\n (tagId) =>\n ![...this.assignedTagIds, ...this.indeterminateTagIds].includes(\n tagId,\n ),\n ),\n ];\n }\n\n get isError() {\n return this.tagsManagementState.isError;\n }\n\n get isLoading() {\n return this.tagsManagementState.isLoading;\n }\n\n get isDirty() {\n return (\n this.newAssignedTagIds.length > 0 || this.newUnassignedTagIds.length > 0\n );\n }\n\n assignTag = async ({ tag }: { tag: Tag }) => {\n this.optimisticNewTag = null;\n if (this.assignedTagIds.includes(tag.id!)) {\n return;\n }\n\n this.assignedTagIds.push(tag.id!);\n };\n\n assignTagOptimistic = (tagName: string, tagId: string = 'fake tag id') => {\n this.optimisticNewTag = {\n id: tagId,\n name: tagName,\n createdDate: new Date(),\n };\n };\n\n unassignTag = async ({ tag }: { tag: Tag }) => {\n const updatedAssignedTagIds = this.assignedTagIds.filter(\n (assignedTagId) => assignedTagId !== tag.id,\n );\n\n this.assignedTagIds = updatedAssignedTagIds;\n };\n\n private _calcTagsCount = (selectedKeyedItems: KeyedItem<T>[]) => {\n const tagsCount = this.tagsManagementState.items.reduce(\n (result: Record<string, number>, tag) => {\n result[tag.id!] = 0;\n return result;\n },\n {},\n );\n selectedKeyedItems.forEach((selectedKeyedItem) => {\n const entityTagIds =\n ((selectedKeyedItem.item as any).tags?.privateTags\n ?.tagIds as string[]) || [];\n [...new Set(entityTagIds)].forEach((entityTagId) => {\n if (entityTagId in tagsCount) {\n tagsCount[entityTagId]++;\n }\n });\n });\n return tagsCount;\n };\n\n private _getSelectedTagsIdsStatus = (\n tagsCount: Record<string, number>,\n selectedKeyedItems: KeyedItem<T>[],\n ) => {\n const selectedTagIds: string[] = [];\n const indeterminateTagIds: string[] = [];\n for (const [tagId, tagCount] of Object.entries(tagsCount)) {\n if (tagCount === selectedKeyedItems.length) {\n selectedTagIds.push(tagId);\n } else if (tagCount > 0) {\n indeterminateTagIds.push(tagId);\n }\n }\n return { selectedTagIds, indeterminateTagIds };\n };\n\n private _calItemUpdatedTagsIds = (item: T) => {\n const currentTagIds =\n ((item as any).tags?.privateTags?.tagIds as string[]) || [];\n\n const updatedTagIds = Array.from(\n new Set(\n [...currentTagIds, ...this.newAssignedTagIds].filter(\n (tagId) => !this.newUnassignedTagIds.includes(tagId),\n ),\n ),\n );\n return updatedTagIds;\n };\n\n private _calcOptimisticItems = () => {\n return this.collectionState.result.items.map((item: T) => {\n const selectedIds = this.collectionState.bulkSelect.selectedIds;\n const itemKey = this.collectionState.itemKey(item);\n if (!selectedIds.includes(itemKey)) {\n return item;\n }\n const updatedTagIds = this._calItemUpdatedTagsIds(item);\n return { ...item, tags: { privateTags: { tagIds: updatedTagIds } } };\n });\n };\n\n private _initSelectionState() {\n const { selectedKeyedItems } = this.collectionState.bulkSelect;\n const tagsCount = this._calcTagsCount(selectedKeyedItems);\n return this._getSelectedTagsIdsStatus(tagsCount, selectedKeyedItems);\n }\n\n private _isInitialUnassignedTag = (tag: Tag) =>\n !this.initialIndeterminateTagIds.includes(tag.id!) &&\n !this.initialSelectedIds.includes(tag.id!);\n\n private _reportPopoverShowChangedBi(isOpened: boolean) {\n this.tagsBIReporter.reportBi(\n cairoFiltersPanelUsed({\n isOpened,\n feature: 'Tags',\n origin: 'Assign Tags',\n }),\n );\n }\n\n private _reportSearchChangedBi(searchValue: string) {\n if (searchValue !== '') {\n this.tagsBIReporter.onSearch(searchValue);\n } else {\n this.tagsBIReporter._clearAllEvents();\n }\n }\n\n private _reportSearchEventsBi(event: 'add' | 'select' | 'blur') {\n return this.tagsBIReporter.events.emit(event);\n }\n\n private _reportApplyBi() {\n let actionName = 'Both';\n if (this.newAssignedTagIds.length === 0) {\n actionName = 'Remove';\n } else if (this.newUnassignedTagIds.length === 0) {\n actionName = 'Assign';\n }\n\n const { selectedIds: selectedItemsIds } = this.collectionState.bulkSelect;\n\n this.tagsBIReporter.reportBi(\n cairoAssignTagsToEntities({\n actionName,\n isFromSearch: this.searchValue !== '',\n itemIds: JSON.stringify(selectedItemsIds),\n numItems: selectedItemsIds.length,\n assignedTags: JSON.stringify(this.newAssignedTagIds),\n unAssignedTags: JSON.stringify(this.newUnassignedTagIds),\n origin: 'Assign Tags Modal',\n }),\n );\n }\n\n private _reportUndoBi = () => {\n this.tagsBIReporter.reportBi(\n cairoUndoClicked({\n actionName: 'Save',\n changedAttributes: 'Tags Assignment',\n }),\n );\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -274,10 +274,17 @@ class TagsModalState {
274
274
  biName: 'cairo-save-new-tag-success',
275
275
  message: this.container.translate('cairo.tags.manageTags.modal.toast.create.success')
276
276
  },
277
- errorToast: () => ({
278
- biName: 'cairo-save-new-tag-error',
279
- message: this.container.translate('cairo.tags.manageTags.modal.toast.create.error')
280
- })
277
+ errorToast: error => {
278
+ const config = (0, _bexCore.getCreateTagErrorConfig)({
279
+ container: this.container,
280
+ error,
281
+ visualType: 'notification'
282
+ });
283
+ return {
284
+ biName: 'cairo-save-new-tag-error',
285
+ ...config
286
+ };
287
+ }
281
288
  }
282
289
  });
283
290
  this.editedTagErrorMessage = null;
@@ -1 +1 @@
1
- {"version":3,"names":["_mobx","require","_bexCore","_bi","_util","actionOrigin","TagsModalState","constructor","tagsManagementState","entityTypeName","_defineProperty2","default","ConditionalModalState","undefined","observable","array","deep","tagsSearchState","TagsSearchState","container","tagsBIReporter","TagsBIReporter","collection","reportBi","createBILogger","componentType","fqdn","location","makeObservable","editedTagId","editedTagErrorMessage","isShowingNewTagListItem","init","action","openManageTagsModal","closeManageTagsModal","handleSearchChange","handleSearchClear","handleCreateCtaClick","handleEditCtaClick","handleCancelEditCtaClick","openConfirmDeleteModal","createTagFromSearch","createTagFromList","updateTag","deleteTag","showNotification","hideNotification","disposers","addEventListener","events","toastConfig","forEach","d","origin","manageTagsModalState","modal","open","_reportBiModalOpened","overrideShowToast","setSearchValue","_reportSearchEventsBi","close","_reportModalClosedBi","props","confirmModalState","theme","primaryButtonText","translate","secondaryButtonText","title","newSearchValue","_reportSearchChangedBi","setTimeout","_scrollContentTo","tag","id","toastConfigs","push","remove","clear","searchValue","shownItems","length","newName","slice","TAG_MAX_LENGTH","_createTag","name","isFromSearch","onSuccess","status","statusMessage","_isValidName","isLastTag","previousName","tagToUpdate","filteredListSize","optimisticActionParams","keepPosition","successToast","biName","message","showUndoToast","errorToast","type","tagToDelete","primaryButtonOnClick","filteredItems","sort","tag1","tag2","Date","createdDate","valueOf","isOpen","createTag","tagName","_getValidationMessage","count","items","find","toLowerCase","_this$tagsManagementS","cairoTagsModalStartLoad","numTags","onModalClose","onSearch","_clearAllEvents","event","emit","direction","_this$ref","_this$ref2","ref","current","scrollTo","top","scrollHeight","behavior","exports"],"sources":["../../../src/state/TagsModalState.ts"],"sourcesContent":["import { RefObject } from 'react';\nimport { action, makeObservable, observable } from 'mobx';\nimport {\n ConditionalModalState,\n TAG_MAX_LENGTH,\n TagsBIReporter,\n TagsManagementState,\n TagsSearchState,\n ToastConfig,\n} from '@wix/bex-core';\nimport { InputStatus, MessageModalLayoutProps } from '@wix/design-system';\nimport { cairoTagsModalStartLoad } from '@wix/bex-core/bi';\nimport { Tag } from '@wix/bex-utils/@wix/ambassador-os-tags-v1-tag/types';\nimport { addEventListener } from '@wix/bex-core/util';\n\nexport interface TagsModalStateParams {\n readonly tagsManagementState: TagsManagementState;\n readonly entityTypeName: string;\n}\n\nconst actionOrigin = 'Manage Tags Modal';\n\nexport class TagsModalState {\n readonly tagsManagementState;\n readonly tagsSearchState;\n readonly manageTagsModalState = new ConditionalModalState();\n readonly confirmModalState = new ConditionalModalState<\n Partial<MessageModalLayoutProps>\n >();\n readonly container;\n readonly tagsBIReporter: TagsBIReporter;\n readonly entityTypeName: string;\n origin?: string = undefined;\n editedTagId: string | null = null;\n editedTagErrorMessage: string | null = null;\n isShowingNewTagListItem: boolean = false;\n tagToDelete?: Tag;\n toastConfigs = observable.array([] as ToastConfig[], {\n deep: false,\n });\n ref: RefObject<HTMLDivElement> | null = null;\n\n constructor({ tagsManagementState, entityTypeName }: TagsModalStateParams) {\n this.tagsManagementState = tagsManagementState;\n this.tagsSearchState = new TagsSearchState({\n tagsManagementState,\n });\n this.entityTypeName = entityTypeName;\n this.container = tagsManagementState.container;\n this.tagsBIReporter = new TagsBIReporter({\n collection: this.tagsManagementState.collection,\n reportBi: this.tagsManagementState.container.createBILogger({\n componentType: 'ManageTagsModal',\n ...tagsManagementState.fqdn,\n }),\n location: 'Manage tags modal',\n });\n\n makeObservable(this, {\n editedTagId: observable,\n editedTagErrorMessage: observable,\n isShowingNewTagListItem: observable,\n init: action,\n openManageTagsModal: action,\n closeManageTagsModal: action,\n handleSearchChange: action,\n handleSearchClear: action,\n handleCreateCtaClick: action,\n handleEditCtaClick: action,\n handleCancelEditCtaClick: action,\n openConfirmDeleteModal: action,\n createTagFromSearch: action,\n createTagFromList: action,\n updateTag: action,\n deleteTag: action,\n showNotification: action,\n hideNotification: action,\n });\n }\n\n init() {\n const disposers = [\n addEventListener(\n this.tagsManagementState.events,\n 'showToast',\n (toastConfig: ToastConfig) => {\n this.showNotification(toastConfig);\n },\n ),\n addEventListener(\n this.tagsManagementState.events,\n 'hideToast',\n (toastConfig: ToastConfig) => {\n this.hideNotification(toastConfig);\n },\n ),\n ];\n\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n\n openManageTagsModal({ origin }: { origin: string }) {\n this.origin = origin;\n this.manageTagsModalState.modal.open();\n this._reportBiModalOpened();\n this.tagsManagementState.overrideShowToast = true;\n }\n\n closeManageTagsModal() {\n this.editedTagId = null;\n this.editedTagErrorMessage = null;\n this.isShowingNewTagListItem = false;\n this.tagsSearchState.setSearchValue('');\n this._reportSearchEventsBi('blur');\n this.manageTagsModalState.modal.close();\n this._reportModalClosedBi();\n this.origin = undefined;\n this.tagsManagementState.overrideShowToast = false;\n this.hideNotification();\n }\n\n openConfirmDeleteModal(props?: Partial<MessageModalLayoutProps>) {\n this.confirmModalState.open({\n theme: 'destructive',\n primaryButtonText: this.container.translate(\n 'cairo.tags.manageTags.modal.deleteModal.delete.CTA',\n ),\n secondaryButtonText: this.container.translate(\n 'cairo.tags.manageTags.modal.deleteModal.cancel.CTA',\n ),\n title: this.container.translate(\n 'cairo.tags.manageTags.modal.deleteModal.title',\n ),\n ...props,\n });\n }\n\n handleSearchChange(newSearchValue: string) {\n this.editedTagId = null;\n this.isShowingNewTagListItem = false;\n this._reportSearchChangedBi(newSearchValue);\n this.tagsSearchState.setSearchValue(newSearchValue);\n }\n\n handleSearchClear() {\n this._reportSearchEventsBi('clear');\n this.tagsSearchState.setSearchValue('');\n }\n\n handleCreateCtaClick() {\n this.tagsSearchState.setSearchValue('');\n this.editedTagId = null;\n this.isShowingNewTagListItem = true;\n setTimeout(() => this._scrollContentTo('bottom'), 100);\n }\n\n handleEditCtaClick(tag: Tag) {\n this._reportSearchEventsBi('select');\n this.editedTagId = tag.id!;\n }\n\n handleCancelEditCtaClick() {\n this.editedTagId = null;\n this.isShowingNewTagListItem = false;\n }\n\n showNotification(toastConfig: ToastConfig) {\n this.toastConfigs.push(toastConfig);\n setTimeout(() => {\n this.hideNotification(toastConfig);\n }, 6000);\n }\n\n hideNotification(toastConfig?: ToastConfig) {\n if (toastConfig) {\n this.toastConfigs.remove(toastConfig);\n } else {\n this.toastConfigs.clear();\n }\n }\n\n async createTagFromSearch() {\n if (!this.searchValue || this.shownItems.length) {\n return;\n }\n\n const newName = this.searchValue.slice(0, TAG_MAX_LENGTH);\n this._reportSearchEventsBi('add');\n this._createTag({\n name: newName,\n isFromSearch: true,\n onSuccess: () => this._scrollContentTo('bottom'),\n });\n this.tagsSearchState.setSearchValue('');\n }\n\n async createTagFromList(newName: string) {\n const { status, statusMessage } = this._isValidName(newName);\n if (status === 'error') {\n this.editedTagErrorMessage = statusMessage;\n setTimeout(() => this._scrollContentTo('bottom'), 100);\n return;\n }\n\n this._createTag({\n name: newName,\n });\n this.isShowingNewTagListItem = false;\n }\n\n async updateTag({\n tag,\n newName,\n isLastTag,\n }: {\n tag: Tag;\n newName: string;\n isLastTag: boolean;\n }) {\n if (newName === tag.name) {\n this.editedTagId = null;\n return;\n }\n\n const { status, statusMessage } = this._isValidName(newName);\n if (status === 'error') {\n this.editedTagErrorMessage = statusMessage;\n if (isLastTag) {\n setTimeout(() => this._scrollContentTo('bottom'), 100);\n }\n return;\n }\n\n this.editedTagId = null;\n const previousName = tag.name!;\n const isFromSearch = this.tagsSearchState.searchValue !== '';\n\n this.tagsManagementState.updateTag({\n tagToUpdate: { ...tag, name: newName },\n previousName,\n isFromSearch,\n filteredListSize: this.shownItems.length,\n origin: actionOrigin,\n tagsBIReporter: this.tagsBIReporter,\n optimisticActionParams: {\n keepPosition: true,\n successToast: {\n biName: 'cairo-save-rename-tag-success',\n message: this.container.translate(\n 'cairo.tags.manageTags.modal.toast.rename.success',\n ),\n },\n showUndoToast: true,\n errorToast: () => ({\n biName: 'cairo-save-rename-tag-error',\n message: this.container.translate(\n 'cairo.tags.manageTags.modal.toast.rename.error',\n ),\n type: 'ERROR',\n }),\n },\n });\n }\n\n async deleteTag(tagToDelete: Tag) {\n this._reportSearchEventsBi('select');\n this.tagToDelete = tagToDelete;\n const isFromSearch = this.tagsSearchState.searchValue !== '';\n this.openConfirmDeleteModal({\n primaryButtonOnClick: async () => {\n this.tagsManagementState.deleteTag({\n tagToDelete,\n isFromSearch,\n filteredListSize: this.shownItems.length,\n origin: actionOrigin,\n tagsBIReporter: this.tagsBIReporter,\n optimisticActionParams: {\n successToast: {\n biName: 'cairo-delete-tag-success',\n message: this.container.translate(\n 'cairo.tags.manageTags.modal.toast.delete.success',\n ),\n },\n showUndoToast: true,\n errorToast: () => ({\n biName: 'cairo-delete-tag-error',\n message: this.container.translate(\n 'cairo.tags.manageTags.modal.toast.delete.error',\n ),\n type: 'ERROR',\n }),\n },\n });\n },\n });\n }\n\n get searchValue() {\n return this.tagsSearchState.searchValue;\n }\n\n get shownItems() {\n return this.tagsSearchState.filteredItems.sort(\n (tag1, tag2) =>\n new Date(tag1.createdDate!).valueOf() -\n new Date(tag2.createdDate!).valueOf(),\n );\n }\n\n get isOpen() {\n return this.manageTagsModalState.isOpen;\n }\n\n get toastConfig() {\n return this.toastConfigs[this.toastConfigs.length - 1] ?? null;\n }\n\n private async _createTag({\n name,\n isFromSearch = false,\n onSuccess,\n }: {\n name: string;\n isFromSearch?: boolean;\n onSuccess?: (tag: Tag) => void;\n }) {\n this.tagsManagementState.createTag({\n name,\n isFromSearch,\n filteredListSize: this.shownItems.length,\n onSuccess,\n origin: actionOrigin,\n tagsBIReporter: this.tagsBIReporter,\n optimisticActionParams: {\n successToast: {\n biName: 'cairo-save-new-tag-success',\n message: this.container.translate(\n 'cairo.tags.manageTags.modal.toast.create.success',\n ),\n },\n errorToast: () => ({\n biName: 'cairo-save-new-tag-error',\n message: this.container.translate(\n 'cairo.tags.manageTags.modal.toast.create.error',\n ),\n }),\n },\n });\n this.editedTagErrorMessage = null;\n }\n\n private _isValidName(tagName: string) {\n if (tagName.length === 0) {\n return this._getValidationMessage(\n this.container.translate(\n 'cairo.tags.manageTags.modal.list.input.validation.emptyName',\n ),\n );\n }\n if (tagName.length > TAG_MAX_LENGTH) {\n return this._getValidationMessage(\n this.container.translate(\n 'cairo.tags.manageTags.modal.list.input.validation.maxLength',\n { count: TAG_MAX_LENGTH },\n ),\n );\n }\n\n if (\n this.tagsManagementState.items.find(\n ({ name }) => name!.toLowerCase() === tagName.toLowerCase(),\n )\n ) {\n return this._getValidationMessage(\n this.container.translate(\n 'cairo.tags.manageTags.modal.list.input.validation.exists',\n ),\n );\n }\n\n return { status: '' as InputStatus, statusMessage: '' };\n }\n\n private _reportBiModalOpened() {\n this.tagsBIReporter.reportBi(\n cairoTagsModalStartLoad({\n numTags: this.tagsManagementState.items?.length,\n origin: this.origin,\n }),\n );\n }\n\n private _reportModalClosedBi() {\n this.tagsBIReporter.onModalClose({ origin: this.origin });\n }\n\n private _reportSearchChangedBi(searchValue: string) {\n if (searchValue !== '') {\n this.tagsBIReporter.onSearch(searchValue);\n } else {\n this.tagsBIReporter._clearAllEvents();\n }\n }\n\n private _reportSearchEventsBi(event: 'add' | 'select' | 'clear' | 'blur') {\n return this.tagsBIReporter.events.emit(event);\n }\n\n private _scrollContentTo(direction: 'top' | 'bottom' = 'top') {\n this.ref?.current?.scrollTo({\n top: direction === 'top' ? 0 : this.ref?.current?.scrollHeight,\n behavior: 'smooth',\n });\n }\n\n private _getValidationMessage(statusMessage: string) {\n return {\n status: 'error' as InputStatus,\n statusMessage,\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_mobx","require","_bexCore","_bi","_util","actionOrigin","TagsModalState","constructor","tagsManagementState","entityTypeName","_defineProperty2","default","ConditionalModalState","undefined","observable","array","deep","tagsSearchState","TagsSearchState","container","tagsBIReporter","TagsBIReporter","collection","reportBi","createBILogger","componentType","fqdn","location","makeObservable","editedTagId","editedTagErrorMessage","isShowingNewTagListItem","init","action","openManageTagsModal","closeManageTagsModal","handleSearchChange","handleSearchClear","handleCreateCtaClick","handleEditCtaClick","handleCancelEditCtaClick","openConfirmDeleteModal","createTagFromSearch","createTagFromList","updateTag","deleteTag","showNotification","hideNotification","disposers","addEventListener","events","toastConfig","forEach","d","origin","manageTagsModalState","modal","open","_reportBiModalOpened","overrideShowToast","setSearchValue","_reportSearchEventsBi","close","_reportModalClosedBi","props","confirmModalState","theme","primaryButtonText","translate","secondaryButtonText","title","newSearchValue","_reportSearchChangedBi","setTimeout","_scrollContentTo","tag","id","toastConfigs","push","remove","clear","searchValue","shownItems","length","newName","slice","TAG_MAX_LENGTH","_createTag","name","isFromSearch","onSuccess","status","statusMessage","_isValidName","isLastTag","previousName","tagToUpdate","filteredListSize","optimisticActionParams","keepPosition","successToast","biName","message","showUndoToast","errorToast","type","tagToDelete","primaryButtonOnClick","filteredItems","sort","tag1","tag2","Date","createdDate","valueOf","isOpen","createTag","error","config","getCreateTagErrorConfig","visualType","tagName","_getValidationMessage","count","items","find","toLowerCase","_this$tagsManagementS","cairoTagsModalStartLoad","numTags","onModalClose","onSearch","_clearAllEvents","event","emit","direction","_this$ref","_this$ref2","ref","current","scrollTo","top","scrollHeight","behavior","exports"],"sources":["../../../src/state/TagsModalState.ts"],"sourcesContent":["import { RefObject } from 'react';\nimport { action, makeObservable, observable } from 'mobx';\nimport {\n ConditionalModalState,\n TAG_MAX_LENGTH,\n TagsBIReporter,\n TagsManagementState,\n TagsSearchState,\n ToastConfig,\n getCreateTagErrorConfig,\n} from '@wix/bex-core';\nimport { InputStatus, MessageModalLayoutProps } from '@wix/design-system';\nimport { cairoTagsModalStartLoad } from '@wix/bex-core/bi';\nimport { Tag } from '@wix/bex-utils/@wix/ambassador-os-tags-v1-tag/types';\nimport { addEventListener } from '@wix/bex-core/util';\n\nexport interface TagsModalStateParams {\n readonly tagsManagementState: TagsManagementState;\n readonly entityTypeName: string;\n}\n\nconst actionOrigin = 'Manage Tags Modal';\n\nexport class TagsModalState {\n readonly tagsManagementState;\n readonly tagsSearchState;\n readonly manageTagsModalState = new ConditionalModalState();\n readonly confirmModalState = new ConditionalModalState<\n Partial<MessageModalLayoutProps>\n >();\n readonly container;\n readonly tagsBIReporter: TagsBIReporter;\n readonly entityTypeName: string;\n origin?: string = undefined;\n editedTagId: string | null = null;\n editedTagErrorMessage: string | null = null;\n isShowingNewTagListItem: boolean = false;\n tagToDelete?: Tag;\n toastConfigs = observable.array([] as ToastConfig[], {\n deep: false,\n });\n ref: RefObject<HTMLDivElement> | null = null;\n\n constructor({ tagsManagementState, entityTypeName }: TagsModalStateParams) {\n this.tagsManagementState = tagsManagementState;\n this.tagsSearchState = new TagsSearchState({\n tagsManagementState,\n });\n this.entityTypeName = entityTypeName;\n this.container = tagsManagementState.container;\n this.tagsBIReporter = new TagsBIReporter({\n collection: this.tagsManagementState.collection,\n reportBi: this.tagsManagementState.container.createBILogger({\n componentType: 'ManageTagsModal',\n ...tagsManagementState.fqdn,\n }),\n location: 'Manage tags modal',\n });\n\n makeObservable(this, {\n editedTagId: observable,\n editedTagErrorMessage: observable,\n isShowingNewTagListItem: observable,\n init: action,\n openManageTagsModal: action,\n closeManageTagsModal: action,\n handleSearchChange: action,\n handleSearchClear: action,\n handleCreateCtaClick: action,\n handleEditCtaClick: action,\n handleCancelEditCtaClick: action,\n openConfirmDeleteModal: action,\n createTagFromSearch: action,\n createTagFromList: action,\n updateTag: action,\n deleteTag: action,\n showNotification: action,\n hideNotification: action,\n });\n }\n\n init() {\n const disposers = [\n addEventListener(\n this.tagsManagementState.events,\n 'showToast',\n (toastConfig: ToastConfig) => {\n this.showNotification(toastConfig);\n },\n ),\n addEventListener(\n this.tagsManagementState.events,\n 'hideToast',\n (toastConfig: ToastConfig) => {\n this.hideNotification(toastConfig);\n },\n ),\n ];\n\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n\n openManageTagsModal({ origin }: { origin: string }) {\n this.origin = origin;\n this.manageTagsModalState.modal.open();\n this._reportBiModalOpened();\n this.tagsManagementState.overrideShowToast = true;\n }\n\n closeManageTagsModal() {\n this.editedTagId = null;\n this.editedTagErrorMessage = null;\n this.isShowingNewTagListItem = false;\n this.tagsSearchState.setSearchValue('');\n this._reportSearchEventsBi('blur');\n this.manageTagsModalState.modal.close();\n this._reportModalClosedBi();\n this.origin = undefined;\n this.tagsManagementState.overrideShowToast = false;\n this.hideNotification();\n }\n\n openConfirmDeleteModal(props?: Partial<MessageModalLayoutProps>) {\n this.confirmModalState.open({\n theme: 'destructive',\n primaryButtonText: this.container.translate(\n 'cairo.tags.manageTags.modal.deleteModal.delete.CTA',\n ),\n secondaryButtonText: this.container.translate(\n 'cairo.tags.manageTags.modal.deleteModal.cancel.CTA',\n ),\n title: this.container.translate(\n 'cairo.tags.manageTags.modal.deleteModal.title',\n ),\n ...props,\n });\n }\n\n handleSearchChange(newSearchValue: string) {\n this.editedTagId = null;\n this.isShowingNewTagListItem = false;\n this._reportSearchChangedBi(newSearchValue);\n this.tagsSearchState.setSearchValue(newSearchValue);\n }\n\n handleSearchClear() {\n this._reportSearchEventsBi('clear');\n this.tagsSearchState.setSearchValue('');\n }\n\n handleCreateCtaClick() {\n this.tagsSearchState.setSearchValue('');\n this.editedTagId = null;\n this.isShowingNewTagListItem = true;\n setTimeout(() => this._scrollContentTo('bottom'), 100);\n }\n\n handleEditCtaClick(tag: Tag) {\n this._reportSearchEventsBi('select');\n this.editedTagId = tag.id!;\n }\n\n handleCancelEditCtaClick() {\n this.editedTagId = null;\n this.isShowingNewTagListItem = false;\n }\n\n showNotification(toastConfig: ToastConfig) {\n this.toastConfigs.push(toastConfig);\n setTimeout(() => {\n this.hideNotification(toastConfig);\n }, 6000);\n }\n\n hideNotification(toastConfig?: ToastConfig) {\n if (toastConfig) {\n this.toastConfigs.remove(toastConfig);\n } else {\n this.toastConfigs.clear();\n }\n }\n\n async createTagFromSearch() {\n if (!this.searchValue || this.shownItems.length) {\n return;\n }\n\n const newName = this.searchValue.slice(0, TAG_MAX_LENGTH);\n this._reportSearchEventsBi('add');\n this._createTag({\n name: newName,\n isFromSearch: true,\n onSuccess: () => this._scrollContentTo('bottom'),\n });\n this.tagsSearchState.setSearchValue('');\n }\n\n async createTagFromList(newName: string) {\n const { status, statusMessage } = this._isValidName(newName);\n if (status === 'error') {\n this.editedTagErrorMessage = statusMessage;\n setTimeout(() => this._scrollContentTo('bottom'), 100);\n return;\n }\n\n this._createTag({\n name: newName,\n });\n this.isShowingNewTagListItem = false;\n }\n\n async updateTag({\n tag,\n newName,\n isLastTag,\n }: {\n tag: Tag;\n newName: string;\n isLastTag: boolean;\n }) {\n if (newName === tag.name) {\n this.editedTagId = null;\n return;\n }\n\n const { status, statusMessage } = this._isValidName(newName);\n if (status === 'error') {\n this.editedTagErrorMessage = statusMessage;\n if (isLastTag) {\n setTimeout(() => this._scrollContentTo('bottom'), 100);\n }\n return;\n }\n\n this.editedTagId = null;\n const previousName = tag.name!;\n const isFromSearch = this.tagsSearchState.searchValue !== '';\n\n this.tagsManagementState.updateTag({\n tagToUpdate: { ...tag, name: newName },\n previousName,\n isFromSearch,\n filteredListSize: this.shownItems.length,\n origin: actionOrigin,\n tagsBIReporter: this.tagsBIReporter,\n optimisticActionParams: {\n keepPosition: true,\n successToast: {\n biName: 'cairo-save-rename-tag-success',\n message: this.container.translate(\n 'cairo.tags.manageTags.modal.toast.rename.success',\n ),\n },\n showUndoToast: true,\n errorToast: () => ({\n biName: 'cairo-save-rename-tag-error',\n message: this.container.translate(\n 'cairo.tags.manageTags.modal.toast.rename.error',\n ),\n type: 'ERROR',\n }),\n },\n });\n }\n\n async deleteTag(tagToDelete: Tag) {\n this._reportSearchEventsBi('select');\n this.tagToDelete = tagToDelete;\n const isFromSearch = this.tagsSearchState.searchValue !== '';\n this.openConfirmDeleteModal({\n primaryButtonOnClick: async () => {\n this.tagsManagementState.deleteTag({\n tagToDelete,\n isFromSearch,\n filteredListSize: this.shownItems.length,\n origin: actionOrigin,\n tagsBIReporter: this.tagsBIReporter,\n optimisticActionParams: {\n successToast: {\n biName: 'cairo-delete-tag-success',\n message: this.container.translate(\n 'cairo.tags.manageTags.modal.toast.delete.success',\n ),\n },\n showUndoToast: true,\n errorToast: () => ({\n biName: 'cairo-delete-tag-error',\n message: this.container.translate(\n 'cairo.tags.manageTags.modal.toast.delete.error',\n ),\n type: 'ERROR',\n }),\n },\n });\n },\n });\n }\n\n get searchValue() {\n return this.tagsSearchState.searchValue;\n }\n\n get shownItems() {\n return this.tagsSearchState.filteredItems.sort(\n (tag1, tag2) =>\n new Date(tag1.createdDate!).valueOf() -\n new Date(tag2.createdDate!).valueOf(),\n );\n }\n\n get isOpen() {\n return this.manageTagsModalState.isOpen;\n }\n\n get toastConfig() {\n return this.toastConfigs[this.toastConfigs.length - 1] ?? null;\n }\n\n private async _createTag({\n name,\n isFromSearch = false,\n onSuccess,\n }: {\n name: string;\n isFromSearch?: boolean;\n onSuccess?: (tag: Tag) => void;\n }) {\n this.tagsManagementState.createTag({\n name,\n isFromSearch,\n filteredListSize: this.shownItems.length,\n onSuccess,\n origin: actionOrigin,\n tagsBIReporter: this.tagsBIReporter,\n optimisticActionParams: {\n successToast: {\n biName: 'cairo-save-new-tag-success',\n message: this.container.translate(\n 'cairo.tags.manageTags.modal.toast.create.success',\n ),\n },\n errorToast: (error) => {\n const config = getCreateTagErrorConfig({\n container: this.container,\n error,\n visualType: 'notification',\n });\n\n return {\n biName: 'cairo-save-new-tag-error',\n ...config,\n };\n },\n },\n });\n this.editedTagErrorMessage = null;\n }\n\n private _isValidName(tagName: string) {\n if (tagName.length === 0) {\n return this._getValidationMessage(\n this.container.translate(\n 'cairo.tags.manageTags.modal.list.input.validation.emptyName',\n ),\n );\n }\n if (tagName.length > TAG_MAX_LENGTH) {\n return this._getValidationMessage(\n this.container.translate(\n 'cairo.tags.manageTags.modal.list.input.validation.maxLength',\n { count: TAG_MAX_LENGTH },\n ),\n );\n }\n\n if (\n this.tagsManagementState.items.find(\n ({ name }) => name!.toLowerCase() === tagName.toLowerCase(),\n )\n ) {\n return this._getValidationMessage(\n this.container.translate(\n 'cairo.tags.manageTags.modal.list.input.validation.exists',\n ),\n );\n }\n\n return { status: '' as InputStatus, statusMessage: '' };\n }\n\n private _reportBiModalOpened() {\n this.tagsBIReporter.reportBi(\n cairoTagsModalStartLoad({\n numTags: this.tagsManagementState.items?.length,\n origin: this.origin,\n }),\n );\n }\n\n private _reportModalClosedBi() {\n this.tagsBIReporter.onModalClose({ origin: this.origin });\n }\n\n private _reportSearchChangedBi(searchValue: string) {\n if (searchValue !== '') {\n this.tagsBIReporter.onSearch(searchValue);\n } else {\n this.tagsBIReporter._clearAllEvents();\n }\n }\n\n private _reportSearchEventsBi(event: 'add' | 'select' | 'clear' | 'blur') {\n return this.tagsBIReporter.events.emit(event);\n }\n\n private _scrollContentTo(direction: 'top' | 'bottom' = 'top') {\n this.ref?.current?.scrollTo({\n top: direction === 'top' ? 0 : this.ref?.current?.scrollHeight,\n behavior: 'smooth',\n });\n }\n\n private _getValidationMessage(statusMessage: string) {\n return {\n status: 'error' as InputStatus,\n statusMessage,\n };\n }\n}\n"],"mappings":";;;;;;AACA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAUA,IAAAE,GAAA,GAAAF,OAAA;AAEA,IAAAG,KAAA,GAAAH,OAAA;AAOA,MAAMI,YAAY,GAAG,mBAAmB;AAEjC,MAAMC,cAAc,CAAC;EAoB1BC,WAAWA,CAAC;IAAEC,mBAAmB;IAAEC;EAAqC,CAAC,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,gCAjB3C,IAAIC,8BAAqB,CAAC,CAAC;IAAA,IAAAF,gBAAA,CAAAC,OAAA,6BAC9B,IAAIC,8BAAqB,CAEpD,CAAC;IAAA,IAAAF,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,kBAIeE,SAAS;IAAA,IAAAH,gBAAA,CAAAC,OAAA,uBACE,IAAI;IAAA,IAAAD,gBAAA,CAAAC,OAAA,iCACM,IAAI;IAAA,IAAAD,gBAAA,CAAAC,OAAA,mCACR,KAAK;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,wBAEzBG,gBAAU,CAACC,KAAK,CAAC,EAAE,EAAmB;MACnDC,IAAI,EAAE;IACR,CAAC,CAAC;IAAA,IAAAN,gBAAA,CAAAC,OAAA,eACsC,IAAI;IAG1C,IAAI,CAACH,mBAAmB,GAAGA,mBAAmB;IAC9C,IAAI,CAACS,eAAe,GAAG,IAAIC,wBAAe,CAAC;MACzCV;IACF,CAAC,CAAC;IACF,IAAI,CAACC,cAAc,GAAGA,cAAc;IACpC,IAAI,CAACU,SAAS,GAAGX,mBAAmB,CAACW,SAAS;IAC9C,IAAI,CAACC,cAAc,GAAG,IAAIC,uBAAc,CAAC;MACvCC,UAAU,EAAE,IAAI,CAACd,mBAAmB,CAACc,UAAU;MAC/CC,QAAQ,EAAE,IAAI,CAACf,mBAAmB,CAACW,SAAS,CAACK,cAAc,CAAC;QAC1DC,aAAa,EAAE,iBAAiB;QAChC,GAAGjB,mBAAmB,CAACkB;MACzB,CAAC,CAAC;MACFC,QAAQ,EAAE;IACZ,CAAC,CAAC;IAEF,IAAAC,oBAAc,EAAC,IAAI,EAAE;MACnBC,WAAW,EAAEf,gBAAU;MACvBgB,qBAAqB,EAAEhB,gBAAU;MACjCiB,uBAAuB,EAAEjB,gBAAU;MACnCkB,IAAI,EAAEC,YAAM;MACZC,mBAAmB,EAAED,YAAM;MAC3BE,oBAAoB,EAAEF,YAAM;MAC5BG,kBAAkB,EAAEH,YAAM;MAC1BI,iBAAiB,EAAEJ,YAAM;MACzBK,oBAAoB,EAAEL,YAAM;MAC5BM,kBAAkB,EAAEN,YAAM;MAC1BO,wBAAwB,EAAEP,YAAM;MAChCQ,sBAAsB,EAAER,YAAM;MAC9BS,mBAAmB,EAAET,YAAM;MAC3BU,iBAAiB,EAAEV,YAAM;MACzBW,SAAS,EAAEX,YAAM;MACjBY,SAAS,EAAEZ,YAAM;MACjBa,gBAAgB,EAAEb,YAAM;MACxBc,gBAAgB,EAAEd;IACpB,CAAC,CAAC;EACJ;EAEAD,IAAIA,CAAA,EAAG;IACL,MAAMgB,SAAS,GAAG,CAChB,IAAAC,sBAAgB,EACd,IAAI,CAACzC,mBAAmB,CAAC0C,MAAM,EAC/B,WAAW,EACVC,WAAwB,IAAK;MAC5B,IAAI,CAACL,gBAAgB,CAACK,WAAW,CAAC;IACpC,CACF,CAAC,EACD,IAAAF,sBAAgB,EACd,IAAI,CAACzC,mBAAmB,CAAC0C,MAAM,EAC/B,WAAW,EACVC,WAAwB,IAAK;MAC5B,IAAI,CAACJ,gBAAgB,CAACI,WAAW,CAAC;IACpC,CACF,CAAC,CACF;IAED,OAAO,MAAM;MACXH,SAAS,CAACI,OAAO,CAAEC,CAAC,IAAKA,CAAC,oBAADA,CAAC,CAAG,CAAC,CAAC;IACjC,CAAC;EACH;EAEAnB,mBAAmBA,CAAC;IAAEoB;EAA2B,CAAC,EAAE;IAClD,IAAI,CAACA,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,oBAAoB,CAACC,KAAK,CAACC,IAAI,CAAC,CAAC;IACtC,IAAI,CAACC,oBAAoB,CAAC,CAAC;IAC3B,IAAI,CAAClD,mBAAmB,CAACmD,iBAAiB,GAAG,IAAI;EACnD;EAEAxB,oBAAoBA,CAAA,EAAG;IACrB,IAAI,CAACN,WAAW,GAAG,IAAI;IACvB,IAAI,CAACC,qBAAqB,GAAG,IAAI;IACjC,IAAI,CAACC,uBAAuB,GAAG,KAAK;IACpC,IAAI,CAACd,eAAe,CAAC2C,cAAc,CAAC,EAAE,CAAC;IACvC,IAAI,CAACC,qBAAqB,CAAC,MAAM,CAAC;IAClC,IAAI,CAACN,oBAAoB,CAACC,KAAK,CAACM,KAAK,CAAC,CAAC;IACvC,IAAI,CAACC,oBAAoB,CAAC,CAAC;IAC3B,IAAI,CAACT,MAAM,GAAGzC,SAAS;IACvB,IAAI,CAACL,mBAAmB,CAACmD,iBAAiB,GAAG,KAAK;IAClD,IAAI,CAACZ,gBAAgB,CAAC,CAAC;EACzB;EAEAN,sBAAsBA,CAACuB,KAAwC,EAAE;IAC/D,IAAI,CAACC,iBAAiB,CAACR,IAAI,CAAC;MAC1BS,KAAK,EAAE,aAAa;MACpBC,iBAAiB,EAAE,IAAI,CAAChD,SAAS,CAACiD,SAAS,CACzC,oDACF,CAAC;MACDC,mBAAmB,EAAE,IAAI,CAAClD,SAAS,CAACiD,SAAS,CAC3C,oDACF,CAAC;MACDE,KAAK,EAAE,IAAI,CAACnD,SAAS,CAACiD,SAAS,CAC7B,+CACF,CAAC;MACD,GAAGJ;IACL,CAAC,CAAC;EACJ;EAEA5B,kBAAkBA,CAACmC,cAAsB,EAAE;IACzC,IAAI,CAAC1C,WAAW,GAAG,IAAI;IACvB,IAAI,CAACE,uBAAuB,GAAG,KAAK;IACpC,IAAI,CAACyC,sBAAsB,CAACD,cAAc,CAAC;IAC3C,IAAI,CAACtD,eAAe,CAAC2C,cAAc,CAACW,cAAc,CAAC;EACrD;EAEAlC,iBAAiBA,CAAA,EAAG;IAClB,IAAI,CAACwB,qBAAqB,CAAC,OAAO,CAAC;IACnC,IAAI,CAAC5C,eAAe,CAAC2C,cAAc,CAAC,EAAE,CAAC;EACzC;EAEAtB,oBAAoBA,CAAA,EAAG;IACrB,IAAI,CAACrB,eAAe,CAAC2C,cAAc,CAAC,EAAE,CAAC;IACvC,IAAI,CAAC/B,WAAW,GAAG,IAAI;IACvB,IAAI,CAACE,uBAAuB,GAAG,IAAI;IACnC0C,UAAU,CAAC,MAAM,IAAI,CAACC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC;EACxD;EAEAnC,kBAAkBA,CAACoC,GAAQ,EAAE;IAC3B,IAAI,CAACd,qBAAqB,CAAC,QAAQ,CAAC;IACpC,IAAI,CAAChC,WAAW,GAAG8C,GAAG,CAACC,EAAG;EAC5B;EAEApC,wBAAwBA,CAAA,EAAG;IACzB,IAAI,CAACX,WAAW,GAAG,IAAI;IACvB,IAAI,CAACE,uBAAuB,GAAG,KAAK;EACtC;EAEAe,gBAAgBA,CAACK,WAAwB,EAAE;IACzC,IAAI,CAAC0B,YAAY,CAACC,IAAI,CAAC3B,WAAW,CAAC;IACnCsB,UAAU,CAAC,MAAM;MACf,IAAI,CAAC1B,gBAAgB,CAACI,WAAW,CAAC;IACpC,CAAC,EAAE,IAAI,CAAC;EACV;EAEAJ,gBAAgBA,CAACI,WAAyB,EAAE;IAC1C,IAAIA,WAAW,EAAE;MACf,IAAI,CAAC0B,YAAY,CAACE,MAAM,CAAC5B,WAAW,CAAC;IACvC,CAAC,MAAM;MACL,IAAI,CAAC0B,YAAY,CAACG,KAAK,CAAC,CAAC;IAC3B;EACF;EAEA,MAAMtC,mBAAmBA,CAAA,EAAG;IAC1B,IAAI,CAAC,IAAI,CAACuC,WAAW,IAAI,IAAI,CAACC,UAAU,CAACC,MAAM,EAAE;MAC/C;IACF;IAEA,MAAMC,OAAO,GAAG,IAAI,CAACH,WAAW,CAACI,KAAK,CAAC,CAAC,EAAEC,uBAAc,CAAC;IACzD,IAAI,CAACzB,qBAAqB,CAAC,KAAK,CAAC;IACjC,IAAI,CAAC0B,UAAU,CAAC;MACdC,IAAI,EAAEJ,OAAO;MACbK,YAAY,EAAE,IAAI;MAClBC,SAAS,EAAEA,CAAA,KAAM,IAAI,CAAChB,gBAAgB,CAAC,QAAQ;IACjD,CAAC,CAAC;IACF,IAAI,CAACzD,eAAe,CAAC2C,cAAc,CAAC,EAAE,CAAC;EACzC;EAEA,MAAMjB,iBAAiBA,CAACyC,OAAe,EAAE;IACvC,MAAM;MAAEO,MAAM;MAAEC;IAAc,CAAC,GAAG,IAAI,CAACC,YAAY,CAACT,OAAO,CAAC;IAC5D,IAAIO,MAAM,KAAK,OAAO,EAAE;MACtB,IAAI,CAAC7D,qBAAqB,GAAG8D,aAAa;MAC1CnB,UAAU,CAAC,MAAM,IAAI,CAACC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC;MACtD;IACF;IAEA,IAAI,CAACa,UAAU,CAAC;MACdC,IAAI,EAAEJ;IACR,CAAC,CAAC;IACF,IAAI,CAACrD,uBAAuB,GAAG,KAAK;EACtC;EAEA,MAAMa,SAASA,CAAC;IACd+B,GAAG;IACHS,OAAO;IACPU;EAKF,CAAC,EAAE;IACD,IAAIV,OAAO,KAAKT,GAAG,CAACa,IAAI,EAAE;MACxB,IAAI,CAAC3D,WAAW,GAAG,IAAI;MACvB;IACF;IAEA,MAAM;MAAE8D,MAAM;MAAEC;IAAc,CAAC,GAAG,IAAI,CAACC,YAAY,CAACT,OAAO,CAAC;IAC5D,IAAIO,MAAM,KAAK,OAAO,EAAE;MACtB,IAAI,CAAC7D,qBAAqB,GAAG8D,aAAa;MAC1C,IAAIE,SAAS,EAAE;QACbrB,UAAU,CAAC,MAAM,IAAI,CAACC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC;MACxD;MACA;IACF;IAEA,IAAI,CAAC7C,WAAW,GAAG,IAAI;IACvB,MAAMkE,YAAY,GAAGpB,GAAG,CAACa,IAAK;IAC9B,MAAMC,YAAY,GAAG,IAAI,CAACxE,eAAe,CAACgE,WAAW,KAAK,EAAE;IAE5D,IAAI,CAACzE,mBAAmB,CAACoC,SAAS,CAAC;MACjCoD,WAAW,EAAE;QAAE,GAAGrB,GAAG;QAAEa,IAAI,EAAEJ;MAAQ,CAAC;MACtCW,YAAY;MACZN,YAAY;MACZQ,gBAAgB,EAAE,IAAI,CAACf,UAAU,CAACC,MAAM;MACxC7B,MAAM,EAAEjD,YAAY;MACpBe,cAAc,EAAE,IAAI,CAACA,cAAc;MACnC8E,sBAAsB,EAAE;QACtBC,YAAY,EAAE,IAAI;QAClBC,YAAY,EAAE;UACZC,MAAM,EAAE,+BAA+B;UACvCC,OAAO,EAAE,IAAI,CAACnF,SAAS,CAACiD,SAAS,CAC/B,kDACF;QACF,CAAC;QACDmC,aAAa,EAAE,IAAI;QACnBC,UAAU,EAAEA,CAAA,MAAO;UACjBH,MAAM,EAAE,6BAA6B;UACrCC,OAAO,EAAE,IAAI,CAACnF,SAAS,CAACiD,SAAS,CAC/B,gDACF,CAAC;UACDqC,IAAI,EAAE;QACR,CAAC;MACH;IACF,CAAC,CAAC;EACJ;EAEA,MAAM5D,SAASA,CAAC6D,WAAgB,EAAE;IAChC,IAAI,CAAC7C,qBAAqB,CAAC,QAAQ,CAAC;IACpC,IAAI,CAAC6C,WAAW,GAAGA,WAAW;IAC9B,MAAMjB,YAAY,GAAG,IAAI,CAACxE,eAAe,CAACgE,WAAW,KAAK,EAAE;IAC5D,IAAI,CAACxC,sBAAsB,CAAC;MAC1BkE,oBAAoB,EAAE,MAAAA,CAAA,KAAY;QAChC,IAAI,CAACnG,mBAAmB,CAACqC,SAAS,CAAC;UACjC6D,WAAW;UACXjB,YAAY;UACZQ,gBAAgB,EAAE,IAAI,CAACf,UAAU,CAACC,MAAM;UACxC7B,MAAM,EAAEjD,YAAY;UACpBe,cAAc,EAAE,IAAI,CAACA,cAAc;UACnC8E,sBAAsB,EAAE;YACtBE,YAAY,EAAE;cACZC,MAAM,EAAE,0BAA0B;cAClCC,OAAO,EAAE,IAAI,CAACnF,SAAS,CAACiD,SAAS,CAC/B,kDACF;YACF,CAAC;YACDmC,aAAa,EAAE,IAAI;YACnBC,UAAU,EAAEA,CAAA,MAAO;cACjBH,MAAM,EAAE,wBAAwB;cAChCC,OAAO,EAAE,IAAI,CAACnF,SAAS,CAACiD,SAAS,CAC/B,gDACF,CAAC;cACDqC,IAAI,EAAE;YACR,CAAC;UACH;QACF,CAAC,CAAC;MACJ;IACF,CAAC,CAAC;EACJ;EAEA,IAAIxB,WAAWA,CAAA,EAAG;IAChB,OAAO,IAAI,CAAChE,eAAe,CAACgE,WAAW;EACzC;EAEA,IAAIC,UAAUA,CAAA,EAAG;IACf,OAAO,IAAI,CAACjE,eAAe,CAAC2F,aAAa,CAACC,IAAI,CAC5C,CAACC,IAAI,EAAEC,IAAI,KACT,IAAIC,IAAI,CAACF,IAAI,CAACG,WAAY,CAAC,CAACC,OAAO,CAAC,CAAC,GACrC,IAAIF,IAAI,CAACD,IAAI,CAACE,WAAY,CAAC,CAACC,OAAO,CAAC,CACxC,CAAC;EACH;EAEA,IAAIC,MAAMA,CAAA,EAAG;IACX,OAAO,IAAI,CAAC5D,oBAAoB,CAAC4D,MAAM;EACzC;EAEA,IAAIhE,WAAWA,CAAA,EAAG;IAChB,OAAO,IAAI,CAAC0B,YAAY,CAAC,IAAI,CAACA,YAAY,CAACM,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI;EAChE;EAEA,MAAcI,UAAUA,CAAC;IACvBC,IAAI;IACJC,YAAY,GAAG,KAAK;IACpBC;EAKF,CAAC,EAAE;IACD,IAAI,CAAClF,mBAAmB,CAAC4G,SAAS,CAAC;MACjC5B,IAAI;MACJC,YAAY;MACZQ,gBAAgB,EAAE,IAAI,CAACf,UAAU,CAACC,MAAM;MACxCO,SAAS;MACTpC,MAAM,EAAEjD,YAAY;MACpBe,cAAc,EAAE,IAAI,CAACA,cAAc;MACnC8E,sBAAsB,EAAE;QACtBE,YAAY,EAAE;UACZC,MAAM,EAAE,4BAA4B;UACpCC,OAAO,EAAE,IAAI,CAACnF,SAAS,CAACiD,SAAS,CAC/B,kDACF;QACF,CAAC;QACDoC,UAAU,EAAGa,KAAK,IAAK;UACrB,MAAMC,MAAM,GAAG,IAAAC,gCAAuB,EAAC;YACrCpG,SAAS,EAAE,IAAI,CAACA,SAAS;YACzBkG,KAAK;YACLG,UAAU,EAAE;UACd,CAAC,CAAC;UAEF,OAAO;YACLnB,MAAM,EAAE,0BAA0B;YAClC,GAAGiB;UACL,CAAC;QACH;MACF;IACF,CAAC,CAAC;IACF,IAAI,CAACxF,qBAAqB,GAAG,IAAI;EACnC;EAEQ+D,YAAYA,CAAC4B,OAAe,EAAE;IACpC,IAAIA,OAAO,CAACtC,MAAM,KAAK,CAAC,EAAE;MACxB,OAAO,IAAI,CAACuC,qBAAqB,CAC/B,IAAI,CAACvG,SAAS,CAACiD,SAAS,CACtB,6DACF,CACF,CAAC;IACH;IACA,IAAIqD,OAAO,CAACtC,MAAM,GAAGG,uBAAc,EAAE;MACnC,OAAO,IAAI,CAACoC,qBAAqB,CAC/B,IAAI,CAACvG,SAAS,CAACiD,SAAS,CACtB,6DAA6D,EAC7D;QAAEuD,KAAK,EAAErC;MAAe,CAC1B,CACF,CAAC;IACH;IAEA,IACE,IAAI,CAAC9E,mBAAmB,CAACoH,KAAK,CAACC,IAAI,CACjC,CAAC;MAAErC;IAAK,CAAC,KAAKA,IAAI,CAAEsC,WAAW,CAAC,CAAC,KAAKL,OAAO,CAACK,WAAW,CAAC,CAC5D,CAAC,EACD;MACA,OAAO,IAAI,CAACJ,qBAAqB,CAC/B,IAAI,CAACvG,SAAS,CAACiD,SAAS,CACtB,0DACF,CACF,CAAC;IACH;IAEA,OAAO;MAAEuB,MAAM,EAAE,EAAiB;MAAEC,aAAa,EAAE;IAAG,CAAC;EACzD;EAEQlC,oBAAoBA,CAAA,EAAG;IAAA,IAAAqE,qBAAA;IAC7B,IAAI,CAAC3G,cAAc,CAACG,QAAQ,CAC1B,IAAAyG,2BAAuB,EAAC;MACtBC,OAAO,GAAAF,qBAAA,GAAE,IAAI,CAACvH,mBAAmB,CAACoH,KAAK,qBAA9BG,qBAAA,CAAgC5C,MAAM;MAC/C7B,MAAM,EAAE,IAAI,CAACA;IACf,CAAC,CACH,CAAC;EACH;EAEQS,oBAAoBA,CAAA,EAAG;IAC7B,IAAI,CAAC3C,cAAc,CAAC8G,YAAY,CAAC;MAAE5E,MAAM,EAAE,IAAI,CAACA;IAAO,CAAC,CAAC;EAC3D;EAEQkB,sBAAsBA,CAACS,WAAmB,EAAE;IAClD,IAAIA,WAAW,KAAK,EAAE,EAAE;MACtB,IAAI,CAAC7D,cAAc,CAAC+G,QAAQ,CAAClD,WAAW,CAAC;IAC3C,CAAC,MAAM;MACL,IAAI,CAAC7D,cAAc,CAACgH,eAAe,CAAC,CAAC;IACvC;EACF;EAEQvE,qBAAqBA,CAACwE,KAA0C,EAAE;IACxE,OAAO,IAAI,CAACjH,cAAc,CAAC8B,MAAM,CAACoF,IAAI,CAACD,KAAK,CAAC;EAC/C;EAEQ3D,gBAAgBA,CAAC6D,SAA2B,GAAG,KAAK,EAAE;IAAA,IAAAC,SAAA,EAAAC,UAAA;IAC5D,CAAAD,SAAA,OAAI,CAACE,GAAG,cAAAF,SAAA,GAARA,SAAA,CAAUG,OAAO,aAAjBH,SAAA,CAAmBI,QAAQ,CAAC;MAC1BC,GAAG,EAAEN,SAAS,KAAK,KAAK,GAAG,CAAC,IAAAE,UAAA,GAAG,IAAI,CAACC,GAAG,cAAAD,UAAA,GAARA,UAAA,CAAUE,OAAO,qBAAjBF,UAAA,CAAmBK,YAAY;MAC9DC,QAAQ,EAAE;IACZ,CAAC,CAAC;EACJ;EAEQrB,qBAAqBA,CAAC9B,aAAqB,EAAE;IACnD,OAAO;MACLD,MAAM,EAAE,OAAsB;MAC9BC;IACF,CAAC;EACH;AACF;AAACoD,OAAA,CAAA1I,cAAA,GAAAA,cAAA","ignoreList":[]}