@wix/patterns 1.139.0 → 1.141.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 (237) hide show
  1. package/dist/cjs/components/Collapse/Collapse.st.css.js +3 -3
  2. package/dist/cjs/components/Collapse/Collapse.st.css.js.map +1 -1
  3. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.js +46 -68
  4. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.js.map +1 -1
  5. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css +19 -3
  6. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js +5 -5
  7. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js.map +1 -1
  8. package/dist/cjs/components/CollectionToolbar/CollectionToolbarActionsGroupProps.js +4 -0
  9. package/dist/cjs/components/CollectionToolbar/CollectionToolbarActionsGroupProps.js.map +1 -0
  10. package/dist/cjs/components/CollectionToolbar/CollectionToolbarActionsGroupResponsiveLayout.js +104 -0
  11. package/dist/cjs/components/CollectionToolbar/CollectionToolbarActionsGroupResponsiveLayout.js.map +1 -0
  12. package/dist/cjs/components/CollectionToolbar/CollectionToolbarActionsToolbarItemsGroup.js +84 -0
  13. package/dist/cjs/components/CollectionToolbar/CollectionToolbarActionsToolbarItemsGroup.js.map +1 -0
  14. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.js +42 -7
  15. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.js.map +1 -1
  16. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +3 -3
  17. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
  18. package/dist/cjs/components/CollectionToolbar/ToolbarGroupScrollWidthBox.js +40 -0
  19. package/dist/cjs/components/CollectionToolbar/ToolbarGroupScrollWidthBox.js.map +1 -0
  20. package/dist/cjs/components/CollectionToolbar/useCollectionToolbarSyncedProps.js +24 -0
  21. package/dist/cjs/components/CollectionToolbar/useCollectionToolbarSyncedProps.js.map +1 -0
  22. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  23. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
  24. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  25. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
  26. package/dist/cjs/components/CustomFieldsWidget/types.js.map +1 -1
  27. package/dist/cjs/components/DragHandle/DragHandle.st.css.js +2 -2
  28. package/dist/cjs/components/DragHandle/DragHandle.st.css.js.map +1 -1
  29. package/dist/cjs/components/Fade/Fade.st.css.js +2 -2
  30. package/dist/cjs/components/Fade/Fade.st.css.js.map +1 -1
  31. package/dist/cjs/components/Heading/Heading.st.css.js +2 -2
  32. package/dist/cjs/components/Heading/Heading.st.css.js.map +1 -1
  33. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js +2 -2
  34. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
  35. package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js +3 -3
  36. package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js.map +1 -1
  37. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  38. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
  39. package/dist/cjs/components/MaxLines/MaxLines.st.css.js +2 -2
  40. package/dist/cjs/components/MaxLines/MaxLines.st.css.js.map +1 -1
  41. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
  42. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
  43. package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  44. package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
  45. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js +5 -5
  46. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
  47. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
  48. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
  49. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
  50. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
  51. package/dist/cjs/components/PickerContent/PickerContent.st.css.js +2 -2
  52. package/dist/cjs/components/PickerContent/PickerContent.st.css.js.map +1 -1
  53. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js +4 -4
  54. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
  55. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  56. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
  57. package/dist/cjs/components/Responsive/HorizontalAvailableSpaceBox.js +38 -0
  58. package/dist/cjs/components/Responsive/HorizontalAvailableSpaceBox.js.map +1 -0
  59. package/dist/cjs/components/Responsive/HorizontalOverflowBox.js +35 -0
  60. package/dist/cjs/components/Responsive/HorizontalOverflowBox.js.map +1 -0
  61. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  62. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
  63. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js +3 -3
  64. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
  65. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js +2 -2
  66. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
  67. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js +3 -3
  68. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
  69. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  70. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
  71. package/dist/cjs/components/ToolbarItem/ToolbarItem.js +23 -0
  72. package/dist/cjs/components/ToolbarItem/ToolbarItem.js.map +1 -0
  73. package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css +3 -0
  74. package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js +22 -0
  75. package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js.map +1 -0
  76. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  77. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
  78. package/dist/cjs/components/common.st.css.js +4 -4
  79. package/dist/cjs/components/common.st.css.js.map +1 -1
  80. package/dist/cjs/hooks/useCustomFieldsWidget.js +2 -0
  81. package/dist/cjs/hooks/useCustomFieldsWidget.js.map +1 -1
  82. package/dist/cjs/hooks/usePickerModal/PickerModalState.js +2 -0
  83. package/dist/cjs/hooks/usePickerModal/PickerModalState.js.map +1 -1
  84. package/dist/cjs/state/CustomFields/CustomFieldsWidgetState.js +3 -1
  85. package/dist/cjs/state/CustomFields/CustomFieldsWidgetState.js.map +1 -1
  86. package/dist/cjs/state/PickerContentState.js +2 -1
  87. package/dist/cjs/state/PickerContentState.js.map +1 -1
  88. package/dist/cjs/state/Responsive/HorizontalOverflowState.js +21 -6
  89. package/dist/cjs/state/Responsive/HorizontalOverflowState.js.map +1 -1
  90. package/dist/cjs/state/Responsive/HorizontalSpaceAvailableState.js +22 -6
  91. package/dist/cjs/state/Responsive/HorizontalSpaceAvailableState.js.map +1 -1
  92. package/dist/cjs/state/TagsBulkAssignAsyncState.js +35 -13
  93. package/dist/cjs/state/TagsBulkAssignAsyncState.js.map +1 -1
  94. package/dist/cjs/state/Toolbar/ToolbarResponsivePriorityState.js +34 -5
  95. package/dist/cjs/state/Toolbar/ToolbarResponsivePriorityState.js.map +1 -1
  96. package/dist/cjs/state/Toolbar/ToolbarResponsiveState.js +19 -5
  97. package/dist/cjs/state/Toolbar/ToolbarResponsiveState.js.map +1 -1
  98. package/dist/cjs/state/ToolbarCollectionState.js +1 -0
  99. package/dist/cjs/state/ToolbarCollectionState.js.map +1 -1
  100. package/dist/cjs/styles.global.css +1 -1
  101. package/dist/cjs/test-utils/AsyncJobMocks.js +1 -1
  102. package/dist/cjs/test-utils/AsyncJobMocks.js.map +1 -1
  103. package/dist/cjs/version.js +1 -1
  104. package/dist/cjs/version.js.map +1 -1
  105. package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
  106. package/dist/esm/components/CollectionToolbar/CollectionToolbar.js +20 -18
  107. package/dist/esm/components/CollectionToolbar/CollectionToolbar.js.map +1 -1
  108. package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css +19 -3
  109. package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
  110. package/dist/esm/components/CollectionToolbar/CollectionToolbarActionsGroupProps.js +2 -0
  111. package/dist/esm/components/CollectionToolbar/CollectionToolbarActionsGroupProps.js.map +1 -0
  112. package/dist/esm/components/CollectionToolbar/CollectionToolbarActionsGroupResponsiveLayout.js +31 -0
  113. package/dist/esm/components/CollectionToolbar/CollectionToolbarActionsGroupResponsiveLayout.js.map +1 -0
  114. package/dist/esm/components/CollectionToolbar/CollectionToolbarActionsToolbarItemsGroup.js +20 -0
  115. package/dist/esm/components/CollectionToolbar/CollectionToolbarActionsToolbarItemsGroup.js.map +1 -0
  116. package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.js +14 -3
  117. package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.js.map +1 -1
  118. package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
  119. package/dist/esm/components/CollectionToolbar/ToolbarGroupScrollWidthBox.js +17 -0
  120. package/dist/esm/components/CollectionToolbar/ToolbarGroupScrollWidthBox.js.map +1 -0
  121. package/dist/esm/components/CollectionToolbar/useCollectionToolbarSyncedProps.js +16 -0
  122. package/dist/esm/components/CollectionToolbar/useCollectionToolbarSyncedProps.js.map +1 -0
  123. package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  124. package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  125. package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
  126. package/dist/esm/components/Fade/Fade.st.css.js +2 -2
  127. package/dist/esm/components/Fade/Fade.st.css.js.map +1 -1
  128. package/dist/esm/components/Heading/Heading.st.css.js +2 -2
  129. package/dist/esm/components/InputOverflow/InputOverflow.st.css.js +2 -2
  130. package/dist/esm/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
  131. package/dist/esm/components/LoadingRow/LoadingRow.st.css.js +3 -3
  132. package/dist/esm/components/LoadingRow/LoadingRow.st.css.js.map +1 -1
  133. package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  134. package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
  135. package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
  136. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
  137. package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  138. package/dist/esm/components/NestedTable/NestedTableRow.st.css.js +2 -2
  139. package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
  140. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
  141. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
  142. package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
  143. package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js +2 -2
  144. package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  145. package/dist/esm/components/Responsive/HorizontalAvailableSpaceBox.js +12 -0
  146. package/dist/esm/components/Responsive/HorizontalAvailableSpaceBox.js.map +1 -0
  147. package/dist/esm/components/Responsive/HorizontalOverflowBox.js +11 -0
  148. package/dist/esm/components/Responsive/HorizontalOverflowBox.js.map +1 -0
  149. package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  150. package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
  151. package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js +2 -2
  152. package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
  153. package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +2 -2
  154. package/dist/esm/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
  155. package/dist/esm/components/TabsFilter/TabsFilter.st.css.js +2 -2
  156. package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  157. package/dist/esm/components/ToolbarItem/ToolbarItem.js +7 -0
  158. package/dist/esm/components/ToolbarItem/ToolbarItem.js.map +1 -0
  159. package/dist/esm/components/ToolbarItem/ToolbarItem.st.css +3 -0
  160. package/dist/esm/components/ToolbarItem/ToolbarItem.st.css.js +15 -0
  161. package/dist/esm/components/ToolbarItem/ToolbarItem.st.css.js.map +1 -0
  162. package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  163. package/dist/esm/components/common.st.css.js +2 -2
  164. package/dist/esm/hooks/useCustomFieldsWidget.js +3 -2
  165. package/dist/esm/hooks/useCustomFieldsWidget.js.map +1 -1
  166. package/dist/esm/hooks/usePickerModal/PickerModalState.js +1 -0
  167. package/dist/esm/hooks/usePickerModal/PickerModalState.js.map +1 -1
  168. package/dist/esm/state/CustomFields/CustomFieldsWidgetState.js +2 -1
  169. package/dist/esm/state/CustomFields/CustomFieldsWidgetState.js.map +1 -1
  170. package/dist/esm/state/PickerContentState.js +1 -0
  171. package/dist/esm/state/PickerContentState.js.map +1 -1
  172. package/dist/esm/state/Responsive/HorizontalOverflowState.js +15 -5
  173. package/dist/esm/state/Responsive/HorizontalOverflowState.js.map +1 -1
  174. package/dist/esm/state/Responsive/HorizontalSpaceAvailableState.js +15 -5
  175. package/dist/esm/state/Responsive/HorizontalSpaceAvailableState.js.map +1 -1
  176. package/dist/esm/state/TagsBulkAssignAsyncState.js +34 -11
  177. package/dist/esm/state/TagsBulkAssignAsyncState.js.map +1 -1
  178. package/dist/esm/state/Toolbar/ToolbarResponsivePriorityState.js +28 -5
  179. package/dist/esm/state/Toolbar/ToolbarResponsivePriorityState.js.map +1 -1
  180. package/dist/esm/state/Toolbar/ToolbarResponsiveState.js +11 -4
  181. package/dist/esm/state/Toolbar/ToolbarResponsiveState.js.map +1 -1
  182. package/dist/esm/state/ToolbarCollectionState.js.map +1 -1
  183. package/dist/esm/styles.global.css +1 -1
  184. package/dist/esm/test-utils/AsyncJobMocks.js +1 -1
  185. package/dist/esm/test-utils/AsyncJobMocks.js.map +1 -1
  186. package/dist/esm/version.js +1 -1
  187. package/dist/types/components/CollectionToolbar/CollectionToolbar.d.ts.map +1 -1
  188. package/dist/types/components/CollectionToolbar/CollectionToolbarActionsGroupProps.d.ts +14 -0
  189. package/dist/types/components/CollectionToolbar/CollectionToolbarActionsGroupProps.d.ts.map +1 -0
  190. package/dist/types/components/CollectionToolbar/CollectionToolbarActionsGroupResponsiveLayout.d.ts +4 -0
  191. package/dist/types/components/CollectionToolbar/CollectionToolbarActionsGroupResponsiveLayout.d.ts.map +1 -0
  192. package/dist/types/components/CollectionToolbar/CollectionToolbarActionsToolbarItemsGroup.d.ts +4 -0
  193. package/dist/types/components/CollectionToolbar/CollectionToolbarActionsToolbarItemsGroup.d.ts.map +1 -0
  194. package/dist/types/components/CollectionToolbar/SearchOrCustomFilter.d.ts +5 -1
  195. package/dist/types/components/CollectionToolbar/SearchOrCustomFilter.d.ts.map +1 -1
  196. package/dist/types/components/CollectionToolbar/ToolbarGroupScrollWidthBox.d.ts +12 -0
  197. package/dist/types/components/CollectionToolbar/ToolbarGroupScrollWidthBox.d.ts.map +1 -0
  198. package/dist/types/components/CollectionToolbar/useCollectionToolbarSyncedProps.d.ts +13 -0
  199. package/dist/types/components/CollectionToolbar/useCollectionToolbarSyncedProps.d.ts.map +1 -0
  200. package/dist/types/components/CustomFieldsWidget/types.d.ts +2 -1
  201. package/dist/types/components/CustomFieldsWidget/types.d.ts.map +1 -1
  202. package/dist/types/components/Fade/Fade.st.css.d.ts.map +1 -1
  203. package/dist/types/components/InputOverflow/InputOverflow.st.css.d.ts.map +1 -1
  204. package/dist/types/components/LoadingRow/LoadingRow.st.css.d.ts.map +1 -1
  205. package/dist/types/components/MaxHeightText/MaxHeightText.st.css.d.ts.map +1 -1
  206. package/dist/types/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.d.ts.map +1 -1
  207. package/dist/types/components/Responsive/HorizontalAvailableSpaceBox.d.ts +8 -0
  208. package/dist/types/components/Responsive/HorizontalAvailableSpaceBox.d.ts.map +1 -0
  209. package/dist/types/components/Responsive/HorizontalOverflowBox.d.ts +8 -0
  210. package/dist/types/components/Responsive/HorizontalOverflowBox.d.ts.map +1 -0
  211. package/dist/types/components/ScrollableContent/ScrollableContent.st.css.d.ts.map +1 -1
  212. package/dist/types/components/SkeletonCard/SkeletonCard.st.css.d.ts.map +1 -1
  213. package/dist/types/components/SlidingModal/SlidingModal.st.css.d.ts.map +1 -1
  214. package/dist/types/components/ToolbarItem/ToolbarItem.d.ts +5 -0
  215. package/dist/types/components/ToolbarItem/ToolbarItem.d.ts.map +1 -0
  216. package/dist/types/components/ToolbarItem/ToolbarItem.st.css.d.ts +13 -0
  217. package/dist/types/components/ToolbarItem/ToolbarItem.st.css.d.ts.map +1 -0
  218. package/dist/types/hooks/useCustomFieldsWidget.d.ts +3 -2
  219. package/dist/types/hooks/useCustomFieldsWidget.d.ts.map +1 -1
  220. package/dist/types/hooks/usePickerModal/PickerModalState.d.ts +1 -0
  221. package/dist/types/hooks/usePickerModal/PickerModalState.d.ts.map +1 -1
  222. package/dist/types/state/CustomFields/CustomFieldsWidgetState.d.ts +3 -2
  223. package/dist/types/state/CustomFields/CustomFieldsWidgetState.d.ts.map +1 -1
  224. package/dist/types/state/PickerContentState.d.ts.map +1 -1
  225. package/dist/types/state/Responsive/HorizontalOverflowState.d.ts +9 -3
  226. package/dist/types/state/Responsive/HorizontalOverflowState.d.ts.map +1 -1
  227. package/dist/types/state/Responsive/HorizontalSpaceAvailableState.d.ts +9 -3
  228. package/dist/types/state/Responsive/HorizontalSpaceAvailableState.d.ts.map +1 -1
  229. package/dist/types/state/TagsBulkAssignAsyncState.d.ts +5 -1
  230. package/dist/types/state/TagsBulkAssignAsyncState.d.ts.map +1 -1
  231. package/dist/types/state/Toolbar/ToolbarResponsivePriorityState.d.ts +4 -1
  232. package/dist/types/state/Toolbar/ToolbarResponsivePriorityState.d.ts.map +1 -1
  233. package/dist/types/state/Toolbar/ToolbarResponsiveState.d.ts.map +1 -1
  234. package/dist/types/state/ToolbarCollectionState.d.ts +3 -0
  235. package/dist/types/state/ToolbarCollectionState.d.ts.map +1 -1
  236. package/dist/types/version.d.ts +1 -1
  237. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"names":["_mobx","require","_bexCore","HorizontalSpaceAvailableState","constructor","params","_defineProperty2","default","container","_responsiveDisabled","responsiveDisabled","makeObservable","_sync","action","bound","_directChildClientWidth","observable","ref","_clientWidth","available","computed","_syncThrottled","lodash","throttle","requestAnimationFrame","_element","_child","clientWidth","scrollWidth","init","disposers","addResizeObserver","forEach","d","exports"],"sources":["../../../../src/state/Responsive/HorizontalSpaceAvailableState.ts"],"sourcesContent":["import { action, computed, makeObservable, observable } from 'mobx';\nimport { addResizeObserver, WixPatternsContainer } from '@wix/bex-core';\n\nexport interface HorizontalSpaceAvailableStateParams {\n container: WixPatternsContainer;\n responsiveDisabled: boolean | undefined;\n}\n\nexport class HorizontalSpaceAvailableState {\n readonly _syncThrottled;\n\n readonly container;\n readonly _responsiveDisabled;\n\n _element?: Element | null | undefined;\n _child?: Element | null | undefined;\n\n _directChildClientWidth = 0;\n _clientWidth = 0;\n\n constructor(params: HorizontalSpaceAvailableStateParams) {\n this.container = params.container;\n this._responsiveDisabled = params.responsiveDisabled;\n\n makeObservable(this, {\n _sync: action.bound,\n _directChildClientWidth: observable.ref,\n _clientWidth: observable.ref,\n available: computed,\n });\n\n this._syncThrottled = this.container.lodash.throttle(() => {\n requestAnimationFrame(this._sync);\n }, 200);\n }\n\n _sync() {\n const { _element, _child } = this;\n\n if (!_element || !_child) {\n return;\n }\n\n this._clientWidth = _element.clientWidth;\n this._directChildClientWidth = _child.scrollWidth;\n }\n\n get available() {\n return this._clientWidth - this._directChildClientWidth;\n }\n\n init() {\n const { _element, _child, _responsiveDisabled } = this;\n\n if (_responsiveDisabled) {\n return;\n }\n\n if (!_element || !_child) {\n return;\n }\n\n this._syncThrottled();\n\n const disposers = [addResizeObserver(_child, this._syncThrottled)];\n\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAOO,MAAME,6BAA6B,CAAC;EAYzCC,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,mCAH/B,CAAC;IAAA,IAAAD,gBAAA,CAAAC,OAAA,wBACZ,CAAC;IAGd,IAAI,CAACC,SAAS,GAAGH,MAAM,CAACG,SAAS;IACjC,IAAI,CAACC,mBAAmB,GAAGJ,MAAM,CAACK,kBAAkB;IAEpD,IAAAC,oBAAc,EAAC,IAAI,EAAE;MACnBC,KAAK,EAAEC,YAAM,CAACC,KAAK;MACnBC,uBAAuB,EAAEC,gBAAU,CAACC,GAAG;MACvCC,YAAY,EAAEF,gBAAU,CAACC,GAAG;MAC5BE,SAAS,EAAEC;IACb,CAAC,CAAC;IAEF,IAAI,CAACC,cAAc,GAAG,IAAI,CAACb,SAAS,CAACc,MAAM,CAACC,QAAQ,CAAC,MAAM;MACzDC,qBAAqB,CAAC,IAAI,CAACZ,KAAK,CAAC;IACnC,CAAC,EAAE,GAAG,CAAC;EACT;EAEAA,KAAKA,CAAA,EAAG;IACN,MAAM;MAAEa,QAAQ;MAAEC;IAAO,CAAC,GAAG,IAAI;IAEjC,IAAI,CAACD,QAAQ,IAAI,CAACC,MAAM,EAAE;MACxB;IACF;IAEA,IAAI,CAACR,YAAY,GAAGO,QAAQ,CAACE,WAAW;IACxC,IAAI,CAACZ,uBAAuB,GAAGW,MAAM,CAACE,WAAW;EACnD;EAEA,IAAIT,SAASA,CAAA,EAAG;IACd,OAAO,IAAI,CAACD,YAAY,GAAG,IAAI,CAACH,uBAAuB;EACzD;EAEAc,IAAIA,CAAA,EAAG;IACL,MAAM;MAAEJ,QAAQ;MAAEC,MAAM;MAAEjB;IAAoB,CAAC,GAAG,IAAI;IAEtD,IAAIA,mBAAmB,EAAE;MACvB;IACF;IAEA,IAAI,CAACgB,QAAQ,IAAI,CAACC,MAAM,EAAE;MACxB;IACF;IAEA,IAAI,CAACL,cAAc,CAAC,CAAC;IAErB,MAAMS,SAAS,GAAG,CAAC,IAAAC,0BAAiB,EAACL,MAAM,EAAE,IAAI,CAACL,cAAc,CAAC,CAAC;IAElE,OAAO,MAAM;MACXS,SAAS,CAACE,OAAO,CAAEC,CAAC,IAAKA,CAAC,oBAADA,CAAC,CAAG,CAAC,CAAC;IACjC,CAAC;EACH;AACF;AAACC,OAAA,CAAA/B,6BAAA,GAAAA,6BAAA","ignoreList":[]}
1
+ {"version":3,"names":["_mobx","require","_bexCore","HorizontalSpaceAvailableState","constructor","params","_defineProperty2","default","state","container","_state","makeObservable","_sync","action","bound","_directChildClientWidth","observable","ref","_clientWidth","available","computed","_syncThrottled","lodash","throttle","requestAnimationFrame","_element","_child","clientWidth","scrollWidth","initLayout","responsiveDisabled","init","disposers","addResizeObserver","forEach","d","exports"],"sources":["../../../../src/state/Responsive/HorizontalSpaceAvailableState.ts"],"sourcesContent":["import { action, computed, makeObservable, observable } from 'mobx';\nimport { addResizeObserver, WixPatternsContainer } from '@wix/bex-core';\n\nexport interface HorizontalSpaceAvailableStateParams {\n state: {\n container: WixPatternsContainer;\n responsiveDisabled: boolean | undefined;\n };\n}\n\nexport class HorizontalSpaceAvailableState {\n readonly _syncThrottled;\n\n readonly container;\n readonly _state;\n\n _element?: Element | null | undefined;\n _child?: Element | null | undefined;\n\n _directChildClientWidth = 0;\n _clientWidth = 0;\n\n constructor(params: HorizontalSpaceAvailableStateParams) {\n const { state } = params;\n this.container = state.container;\n this._state = state;\n\n makeObservable(this, {\n _sync: action.bound,\n _directChildClientWidth: observable.ref,\n _clientWidth: observable.ref,\n available: computed,\n });\n\n this._syncThrottled = this.container.lodash.throttle(() => {\n requestAnimationFrame(this._sync);\n }, 200);\n }\n\n _sync() {\n const { _element, _child } = this;\n\n if (!_element || !_child) {\n return;\n }\n\n this._clientWidth = _element.clientWidth;\n this._directChildClientWidth = _child.scrollWidth;\n }\n\n get available() {\n return this._clientWidth - this._directChildClientWidth;\n }\n\n initLayout() {\n const { _element, _child, _state } = this;\n\n if (_state.responsiveDisabled) {\n return;\n }\n\n if (!_element || !_child) {\n return;\n }\n\n this._sync();\n }\n\n init() {\n const { _element, _child, _state } = this;\n\n if (_state.responsiveDisabled) {\n return;\n }\n\n if (!_element || !_child) {\n return;\n }\n\n const disposers = [addResizeObserver(_child, this._syncThrottled)];\n\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AASO,MAAME,6BAA6B,CAAC;EAYzCC,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,mCAH/B,CAAC;IAAA,IAAAD,gBAAA,CAAAC,OAAA,wBACZ,CAAC;IAGd,MAAM;MAAEC;IAAM,CAAC,GAAGH,MAAM;IACxB,IAAI,CAACI,SAAS,GAAGD,KAAK,CAACC,SAAS;IAChC,IAAI,CAACC,MAAM,GAAGF,KAAK;IAEnB,IAAAG,oBAAc,EAAC,IAAI,EAAE;MACnBC,KAAK,EAAEC,YAAM,CAACC,KAAK;MACnBC,uBAAuB,EAAEC,gBAAU,CAACC,GAAG;MACvCC,YAAY,EAAEF,gBAAU,CAACC,GAAG;MAC5BE,SAAS,EAAEC;IACb,CAAC,CAAC;IAEF,IAAI,CAACC,cAAc,GAAG,IAAI,CAACZ,SAAS,CAACa,MAAM,CAACC,QAAQ,CAAC,MAAM;MACzDC,qBAAqB,CAAC,IAAI,CAACZ,KAAK,CAAC;IACnC,CAAC,EAAE,GAAG,CAAC;EACT;EAEAA,KAAKA,CAAA,EAAG;IACN,MAAM;MAAEa,QAAQ;MAAEC;IAAO,CAAC,GAAG,IAAI;IAEjC,IAAI,CAACD,QAAQ,IAAI,CAACC,MAAM,EAAE;MACxB;IACF;IAEA,IAAI,CAACR,YAAY,GAAGO,QAAQ,CAACE,WAAW;IACxC,IAAI,CAACZ,uBAAuB,GAAGW,MAAM,CAACE,WAAW;EACnD;EAEA,IAAIT,SAASA,CAAA,EAAG;IACd,OAAO,IAAI,CAACD,YAAY,GAAG,IAAI,CAACH,uBAAuB;EACzD;EAEAc,UAAUA,CAAA,EAAG;IACX,MAAM;MAAEJ,QAAQ;MAAEC,MAAM;MAAEhB;IAAO,CAAC,GAAG,IAAI;IAEzC,IAAIA,MAAM,CAACoB,kBAAkB,EAAE;MAC7B;IACF;IAEA,IAAI,CAACL,QAAQ,IAAI,CAACC,MAAM,EAAE;MACxB;IACF;IAEA,IAAI,CAACd,KAAK,CAAC,CAAC;EACd;EAEAmB,IAAIA,CAAA,EAAG;IACL,MAAM;MAAEN,QAAQ;MAAEC,MAAM;MAAEhB;IAAO,CAAC,GAAG,IAAI;IAEzC,IAAIA,MAAM,CAACoB,kBAAkB,EAAE;MAC7B;IACF;IAEA,IAAI,CAACL,QAAQ,IAAI,CAACC,MAAM,EAAE;MACxB;IACF;IAEA,MAAMM,SAAS,GAAG,CAAC,IAAAC,0BAAiB,EAACP,MAAM,EAAE,IAAI,CAACL,cAAc,CAAC,CAAC;IAElE,OAAO,MAAM;MACXW,SAAS,CAACE,OAAO,CAAEC,CAAC,IAAKA,CAAC,oBAADA,CAAC,CAAG,CAAC,CAAC;IACjC,CAAC;EACH;AACF;AAACC,OAAA,CAAAjC,6BAAA,GAAAA,6BAAA","ignoreList":[]}
@@ -2,13 +2,14 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
  exports.__esModule = true;
5
- exports.TagsBulkAssignAsyncState = exports.POLL_DELAY = exports.MILLIS_FOR_SHOWING_SUCCESS = void 0;
5
+ exports.TagsBulkAssignAsyncState = exports.POLL_DELAY = exports.MILLIS_FOR_SHOWING_SUCCESS = exports.MAX_JOB_RETRIES_COUNT = void 0;
6
6
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
7
7
  var _bexCore = require("@wix/bex-core");
8
8
  var _mobx = require("mobx");
9
9
  var _http = require("@wix/bex-utils/@wix/ambassador-infra-asyncjobs-v1-async-job/http");
10
10
  const POLL_DELAY = exports.POLL_DELAY = 500;
11
11
  const MILLIS_FOR_SHOWING_SUCCESS = exports.MILLIS_FOR_SHOWING_SUCCESS = 1000;
12
+ const MAX_JOB_RETRIES_COUNT = exports.MAX_JOB_RETRIES_COUNT = 4;
12
13
  class TagsBulkAssignAsyncState {
13
14
  constructor(params) {
14
15
  (0, _defineProperty2.default)(this, "collectionState", void 0);
@@ -22,6 +23,7 @@ class TagsBulkAssignAsyncState {
22
23
  (0, _defineProperty2.default)(this, "isDuringApplyChanges", false);
23
24
  (0, _defineProperty2.default)(this, "currentInvocationParams", null);
24
25
  (0, _defineProperty2.default)(this, "updatingTagsToast", null);
26
+ (0, _defineProperty2.default)(this, "getJobRetriesCount", 0);
25
27
  (0, _defineProperty2.default)(this, "openAsyncJobProgressModal", () => {
26
28
  this.asyncJobProgressModalState.modal.open();
27
29
  });
@@ -128,27 +130,41 @@ class TagsBulkAssignAsyncState {
128
130
  }
129
131
  this.currentInvocationParams = params;
130
132
  try {
131
- this.asyncJobProgressModalState.modal.open();
132
- const {
133
- jobId
134
- } = await this.asyncBulkUpdateTags(params);
135
- await this.pollJobStatus(jobId);
133
+ await this.startTagUpdateProcess(params);
136
134
  } catch (error) {
137
135
  this.showFailToCreateJobToast(error);
138
136
  this.resetStateParams();
139
137
  }
140
138
  }
139
+ async startTagUpdateProcess(params) {
140
+ this.openAsyncJobProgressModal();
141
+ const {
142
+ jobId
143
+ } = await this.asyncBulkUpdateTags(params);
144
+ await this.pollJobStatus(jobId);
145
+ }
141
146
  async pollJobStatus(jobId) {
142
- const job = await this.fetchJobStatus(jobId);
147
+ let job = null;
148
+ try {
149
+ job = await this.fetchJobStatus(jobId);
150
+ } catch (error) {
151
+ this.handlePollingError(error);
152
+ return;
153
+ }
143
154
  (0, _mobx.runInAction)(() => {
144
155
  this.job = job;
145
- if (this.isJobInProgress) {
156
+ if (this.isJobInProgress || !job) {
146
157
  this.scheduleNextPoll(jobId);
147
158
  } else if (this.isJobEnded) {
148
159
  this.handleJobEnd();
149
160
  }
150
161
  });
151
162
  }
163
+ handlePollingError(error) {
164
+ this.asyncJobProgressModalState.modal.close();
165
+ this.showFailedToPollToast(error);
166
+ this.resetStateParams();
167
+ }
152
168
  async fetchJobStatus(jobId) {
153
169
  try {
154
170
  const job = await this.container.errorHandler.withErrorHandler(async () => {
@@ -163,11 +179,16 @@ class TagsBulkAssignAsyncState {
163
179
  }, {
164
180
  errorCodesMap: {}
165
181
  });
182
+ this.getJobRetriesCount = 0;
166
183
  return job;
167
184
  } catch (error) {
168
- this.asyncJobProgressModalState.modal.close();
169
- this.showFailedToPollToast(error);
170
- this.resetStateParams();
185
+ if (this.getJobRetriesCount >= MAX_JOB_RETRIES_COUNT) {
186
+ throw new _bexCore.WixPatternsError({
187
+ originalException: error,
188
+ errorCode: 'BulkAssignTagsFailed'
189
+ });
190
+ }
191
+ this.getJobRetriesCount++;
171
192
  return null;
172
193
  }
173
194
  }
@@ -179,11 +200,11 @@ class TagsBulkAssignAsyncState {
179
200
  handleJobEnd() {
180
201
  this.timeout = setTimeout(() => {
181
202
  (0, _mobx.runInAction)(() => {
182
- this.handleJobCompletion();
203
+ this.scheduleJobCompletionHandling();
183
204
  });
184
205
  }, MILLIS_FOR_SHOWING_SUCCESS);
185
206
  }
186
- handleJobCompletion() {
207
+ scheduleJobCompletionHandling() {
187
208
  const lastInvocationParams = this.currentInvocationParams;
188
209
  const {
189
210
  showToast,
@@ -217,6 +238,7 @@ class TagsBulkAssignAsyncState {
217
238
  }
218
239
  resetStateParams() {
219
240
  var _this$updatingTagsToa;
241
+ this.getJobRetriesCount = 0;
220
242
  this.job = null;
221
243
  this.currentInvocationParams = null;
222
244
  this.isDuringApplyChanges = false;
@@ -1 +1 @@
1
- {"version":3,"names":["_bexCore","require","_mobx","_http","POLL_DELAY","exports","MILLIS_FOR_SHOWING_SUCCESS","TagsBulkAssignAsyncState","constructor","params","_defineProperty2","default","ConditionalModalState","asyncJobProgressModalState","modal","open","close","isJobInProgress","_this$container$showT","_this$container","updatingTagsToast","container","showToast","call","type","message","translate","action","text","onClick","openAsyncJobProgressModal","removeToastOnClick","timeout","biName","collectionState","optimisticActions","tagsBIReporter","asyncBulkUpdateTags","makeObservable","job","observable","ref","isDuringApplyChanges","init","applyChanges","pollJobStatus","canBulkAssignAsync","computed","isJobCompleted","isJobFailed","isJobEnded","updatedItemsPercentage","onBeforeUnload","onBeforeUnloadSubscription","event","preventDefault","disposers","remove","clearTimeout","forEach","disposer","newAssignedTagIds","newUnassignedTagIds","bulkSelect","result","allSelected","selectedValues","uncheckedValues","query","originQuery","assignTags","privateTags","tagIds","unassignTags","triggerBulkAssign","Error","currentInvocationParams","jobId","error","showFailToCreateJobToast","resetStateParams","fetchJobStatus","runInAction","scheduleNextPoll","handleJobEnd","errorHandler","withErrorHandler","data","httpClient","request","getAsyncJob","errorCodesMap","showFailedToPollToast","setTimeout","handleJobCompletion","lastInvocationParams","t","handleJobSuccess","_this$job","total","counts","failCount","_this$job2","showPartialFailureToast","showJobCompletedSuccessfullyToast","refreshCollection","_this$updatingTagsToa","closeAsyncJobProgressModal","_this$container$showT2","_this$container2","_this$container$showT3","_this$container3","resolvedError","getResolvedError","selectedCountOrTotal","refreshAllPages","_this$job3","status","_this$job4","_this$job5","_this$job6","_this$job$counts","_this$job$counts2","_this$job7","alreadyUpdatedItemsCount","successCount","totalUpdatingItemsCount","Math","floor"],"sources":["../../../src/state/TagsBulkAssignAsyncState.ts"],"sourcesContent":["import {\n ConditionalModalState,\n FiltersMap,\n ShowToast,\n Tags,\n} from '@wix/bex-core';\n\nimport {\n TagsBulkAssignPopoverState,\n TagsBulkAssignPopoverStateParams,\n} from './TagsBulkAssignPopoverState';\nimport { BulkActionModalRenderPropParams } from '../components/BulkAction';\nimport {\n computed,\n makeObservable,\n observable,\n runInAction,\n action,\n} from 'mobx';\nimport { getAsyncJob } from '@wix/bex-utils/@wix/ambassador-infra-asyncjobs-v1-async-job/http';\nimport { AsyncJob } from '@wix/bex-utils/@wix/ambassador-infra-asyncjobs-v1-async-job/types';\n\nexport const POLL_DELAY = 500;\nexport const MILLIS_FOR_SHOWING_SUCCESS = 1000;\nexport interface AsyncBulkUpdateTagsParams<T, F extends FiltersMap>\n extends Pick<\n BulkActionModalRenderPropParams<T, F>,\n 'allSelected' | 'selectedValues' | 'uncheckedValues' | 'query'\n > {\n assignTags: Tags;\n unassignTags: Tags;\n}\n\nexport interface TagsBulkAssignAsyncStateParams<T, F extends FiltersMap>\n extends Pick<\n TagsBulkAssignPopoverStateParams<T, F>,\n 'asyncBulkUpdateTags' | 'collectionState'\n > {\n container: TagsBulkAssignPopoverState<T, F>['container'];\n optimisticActions: TagsBulkAssignPopoverState<T, F>['optimisticActions'];\n tagsBIReporter: TagsBulkAssignPopoverState<T, F>['tagsBIReporter'];\n}\n\nexport class TagsBulkAssignAsyncState<T, F extends FiltersMap> {\n readonly collectionState;\n readonly optimisticActions;\n readonly container;\n readonly tagsBIReporter;\n readonly asyncBulkUpdateTags;\n readonly asyncJobProgressModalState = new ConditionalModalState();\n\n job: AsyncJob | null = null;\n timeout: NodeJS.Timeout | null = null;\n isDuringApplyChanges = false;\n currentInvocationParams: AsyncBulkUpdateTagsParams<T, F> | null = null;\n updatingTagsToast: ReturnType<ShowToast> | null = null;\n\n constructor(params: TagsBulkAssignAsyncStateParams<T, F>) {\n const {\n collectionState,\n optimisticActions,\n container,\n tagsBIReporter,\n asyncBulkUpdateTags,\n } = params;\n this.collectionState = collectionState;\n this.optimisticActions = optimisticActions;\n this.container = container;\n this.tagsBIReporter = tagsBIReporter;\n this.asyncBulkUpdateTags = asyncBulkUpdateTags;\n\n makeObservable(this, {\n job: observable.ref,\n isDuringApplyChanges: observable,\n init: action,\n applyChanges: action,\n pollJobStatus: action,\n canBulkAssignAsync: computed,\n isJobCompleted: computed,\n isJobFailed: computed,\n isJobEnded: computed,\n isJobInProgress: computed,\n updatedItemsPercentage: computed,\n });\n }\n\n init() {\n const { onBeforeUnload } = this.container;\n const onBeforeUnloadSubscription = onBeforeUnload?.(\n action((event: Event) => {\n if (this.isDuringApplyChanges) {\n event.preventDefault();\n }\n }),\n );\n const disposers = [\n () => {\n onBeforeUnloadSubscription?.remove();\n },\n () => {\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\n },\n ];\n\n return () => {\n disposers.forEach((disposer) => disposer());\n };\n }\n\n async applyChanges({\n newAssignedTagIds,\n newUnassignedTagIds,\n }: {\n newAssignedTagIds: string[];\n newUnassignedTagIds: string[];\n }) {\n this.isDuringApplyChanges = true;\n const { bulkSelect, result } = this.collectionState;\n const { allSelected, selectedValues, uncheckedValues } = bulkSelect;\n\n const params = {\n allSelected,\n selectedValues,\n uncheckedValues,\n query: result.originQuery,\n assignTags: { privateTags: { tagIds: newAssignedTagIds } },\n unassignTags: { privateTags: { tagIds: newUnassignedTagIds } },\n };\n\n await this.triggerBulkAssign(params);\n }\n\n async triggerBulkAssign(params: AsyncBulkUpdateTagsParams<T, F>) {\n if (!this.asyncBulkUpdateTags) {\n throw new Error(\n 'tried to bulk assign tags async without asyncBulkUpdateTags prop given',\n );\n }\n\n this.currentInvocationParams = params;\n\n try {\n this.asyncJobProgressModalState.modal.open();\n const { jobId } = await this.asyncBulkUpdateTags(params);\n await this.pollJobStatus(jobId);\n } catch (error) {\n this.showFailToCreateJobToast(error);\n this.resetStateParams();\n }\n }\n\n async pollJobStatus(jobId: string) {\n const job = await this.fetchJobStatus(jobId);\n\n runInAction(() => {\n this.job = job;\n if (this.isJobInProgress) {\n this.scheduleNextPoll(jobId);\n } else if (this.isJobEnded) {\n this.handleJobEnd();\n }\n });\n }\n\n async fetchJobStatus(jobId: string): Promise<AsyncJob | null> {\n try {\n const job = await this.container.errorHandler.withErrorHandler(\n async () => {\n const {\n data: { job },\n } = await this.container.httpClient.request(getAsyncJob({ jobId }));\n\n return job as AsyncJob;\n },\n {\n errorCodesMap: {},\n },\n );\n\n return job;\n } catch (error) {\n this.asyncJobProgressModalState.modal.close();\n\n this.showFailedToPollToast(error);\n this.resetStateParams();\n\n return null;\n }\n }\n\n scheduleNextPoll(jobId: string): void {\n this.timeout = setTimeout(() => {\n runInAction(() => this.pollJobStatus(jobId));\n }, POLL_DELAY);\n }\n\n handleJobEnd(): void {\n this.timeout = setTimeout(() => {\n runInAction(() => {\n this.handleJobCompletion();\n });\n }, MILLIS_FOR_SHOWING_SUCCESS);\n }\n\n handleJobCompletion() {\n const lastInvocationParams = this.currentInvocationParams;\n const { showToast, translate: t } = this.container;\n\n if (this.isJobCompleted) {\n this.handleJobSuccess(lastInvocationParams);\n } else if (this.isJobFailed) {\n showToast?.({\n type: 'ERROR',\n message: t('cairo.tags.bulkItemUpdate.toast.error', {\n total: this.job?.counts?.failCount!,\n }),\n biName: 'cairo-update-bulk-assign-tags-async-job-status-fail',\n });\n }\n\n this.resetStateParams();\n }\n\n handleJobSuccess(\n lastInvocationParams: AsyncBulkUpdateTagsParams<T, F> | null,\n ) {\n const failCount = this.job?.counts?.failCount;\n if (failCount) {\n this.showPartialFailureToast({ failCount, lastInvocationParams });\n }\n this.showJobCompletedSuccessfullyToast();\n this.refreshCollection();\n }\n\n resetStateParams() {\n this.job = null;\n this.currentInvocationParams = null;\n this.isDuringApplyChanges = false;\n this.updatingTagsToast?.remove();\n this.updatingTagsToast = null;\n this.closeAsyncJobProgressModal();\n }\n\n showPartialFailureToast({\n failCount,\n lastInvocationParams,\n }: {\n failCount: number;\n lastInvocationParams: AsyncBulkUpdateTagsParams<T, F> | null;\n }) {\n this.container.showToast?.({\n type: 'WARNING',\n message: this.container.translate(\n 'cairo.tags.bulkItemUpdate.toast.error',\n { total: failCount },\n ),\n action: {\n text: this.container.translate(\n 'cairo.tags.bulkItemUpdate.toast.error.CTA',\n ),\n onClick: async () => {\n if (lastInvocationParams) {\n await this.triggerBulkAssign(lastInvocationParams);\n }\n },\n removeToastOnClick: true,\n },\n biName: 'cairo-update-bulk-assign-tags-async-fail',\n });\n }\n\n showJobCompletedSuccessfullyToast() {\n this.container.showToast?.({\n type: 'SUCCESS',\n message: this.container.translate(\n 'cairo.tags.bulkItemUpdate.toast.success',\n ),\n biName: 'cairo-update-bulk-assign-tags-async-success',\n });\n }\n\n showFailToCreateJobToast(error: unknown) {\n const { errorHandler, showToast, translate: t } = this.container;\n const resolvedError = errorHandler?.getResolvedError?.(error);\n\n showToast?.({\n type: 'ERROR',\n message:\n resolvedError?.message ??\n t('cairo.tags.bulkItemUpdate.toast.error', {\n total: this.collectionState.bulkSelect.selectedCountOrTotal,\n }),\n action: resolvedError?.action,\n biName: 'cairo-update-bulk-assign-tags-async-create-job-fail',\n });\n }\n\n showFailedToPollToast(error: unknown) {\n const { errorHandler, showToast } = this.container;\n\n const resolvedError = errorHandler?.getResolvedError?.(error);\n\n showToast?.({\n type: 'ERROR',\n message: resolvedError?.message!,\n action: resolvedError?.action,\n biName: 'cairo-update-bulk-assign-tags-async-poll-fail',\n });\n }\n\n refreshCollection() {\n this.collectionState.refreshAllPages();\n }\n\n openAsyncJobProgressModal = () => {\n this.asyncJobProgressModalState.modal.open();\n };\n\n closeAsyncJobProgressModal = () => {\n this.asyncJobProgressModalState.modal.close();\n if (this.isJobInProgress) {\n this.updatingTagsToast =\n this.container.showToast?.({\n type: 'STANDARD',\n message: this.container.translate(\n 'cairo.tags.bulkItemUpdate.updatingTags.toast',\n ),\n action: {\n text: this.container.translate(\n 'cairo.tags.bulkItemUpdate.updatingTags.toast.CTA',\n ),\n onClick: async () => {\n this.openAsyncJobProgressModal();\n },\n removeToastOnClick: true,\n },\n timeout: 'NONE',\n biName: 'cairo-updating-bulk-assign-tags-async',\n }) || null;\n }\n };\n\n get isJobCompleted() {\n return this.job?.status === 'FINISHED';\n }\n\n get isJobFailed() {\n return this.job?.status === 'FAILED';\n }\n\n get isJobEnded() {\n return this.isJobCompleted || this.isJobFailed;\n }\n\n get isJobInProgress() {\n return (\n this.job?.status === 'PROCESSING' || this.job?.status === 'INITIALIZED'\n );\n }\n\n get canBulkAssignAsync() {\n return !!this.asyncBulkUpdateTags;\n }\n\n get updatedItemsPercentage() {\n if (!this.job) {\n return 0;\n }\n\n const alreadyUpdatedItemsCount =\n (this.job.counts?.successCount || 0) + (this.job.counts?.failCount || 0);\n const totalUpdatingItemsCount =\n this.job?.counts?.total ||\n this.collectionState.bulkSelect.selectedCountOrTotal;\n\n return Math.floor(\n 100 * (alreadyUpdatedItemsCount / totalUpdatingItemsCount),\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_bexCore","require","_mobx","_http","POLL_DELAY","exports","MILLIS_FOR_SHOWING_SUCCESS","MAX_JOB_RETRIES_COUNT","TagsBulkAssignAsyncState","constructor","params","_defineProperty2","default","ConditionalModalState","asyncJobProgressModalState","modal","open","close","isJobInProgress","_this$container$showT","_this$container","updatingTagsToast","container","showToast","call","type","message","translate","action","text","onClick","openAsyncJobProgressModal","removeToastOnClick","timeout","biName","collectionState","optimisticActions","tagsBIReporter","asyncBulkUpdateTags","makeObservable","job","observable","ref","isDuringApplyChanges","init","applyChanges","pollJobStatus","canBulkAssignAsync","computed","isJobCompleted","isJobFailed","isJobEnded","updatedItemsPercentage","onBeforeUnload","onBeforeUnloadSubscription","event","preventDefault","disposers","remove","clearTimeout","forEach","disposer","newAssignedTagIds","newUnassignedTagIds","bulkSelect","result","allSelected","selectedValues","uncheckedValues","query","originQuery","assignTags","privateTags","tagIds","unassignTags","triggerBulkAssign","Error","currentInvocationParams","startTagUpdateProcess","error","showFailToCreateJobToast","resetStateParams","jobId","fetchJobStatus","handlePollingError","runInAction","scheduleNextPoll","handleJobEnd","showFailedToPollToast","errorHandler","withErrorHandler","data","httpClient","request","getAsyncJob","errorCodesMap","getJobRetriesCount","WixPatternsError","originalException","errorCode","setTimeout","scheduleJobCompletionHandling","lastInvocationParams","t","handleJobSuccess","_this$job","total","counts","failCount","_this$job2","showPartialFailureToast","showJobCompletedSuccessfullyToast","refreshCollection","_this$updatingTagsToa","closeAsyncJobProgressModal","_this$container$showT2","_this$container2","_this$container$showT3","_this$container3","resolvedError","getResolvedError","selectedCountOrTotal","refreshAllPages","_this$job3","status","_this$job4","_this$job5","_this$job6","_this$job$counts","_this$job$counts2","_this$job7","alreadyUpdatedItemsCount","successCount","totalUpdatingItemsCount","Math","floor"],"sources":["../../../src/state/TagsBulkAssignAsyncState.ts"],"sourcesContent":["import {\n ConditionalModalState,\n FiltersMap,\n ShowToast,\n Tags,\n WixPatternsError,\n} from '@wix/bex-core';\n\nimport {\n TagsBulkAssignPopoverState,\n TagsBulkAssignPopoverStateParams,\n} from './TagsBulkAssignPopoverState';\nimport { BulkActionModalRenderPropParams } from '../components/BulkAction';\nimport {\n computed,\n makeObservable,\n observable,\n runInAction,\n action,\n} from 'mobx';\nimport { getAsyncJob } from '@wix/bex-utils/@wix/ambassador-infra-asyncjobs-v1-async-job/http';\nimport { AsyncJob } from '@wix/bex-utils/@wix/ambassador-infra-asyncjobs-v1-async-job/types';\n\nexport const POLL_DELAY = 500;\nexport const MILLIS_FOR_SHOWING_SUCCESS = 1000;\nexport const MAX_JOB_RETRIES_COUNT = 4;\nexport interface AsyncBulkUpdateTagsParams<T, F extends FiltersMap>\n extends Pick<\n BulkActionModalRenderPropParams<T, F>,\n 'allSelected' | 'selectedValues' | 'uncheckedValues' | 'query'\n > {\n assignTags: Tags;\n unassignTags: Tags;\n}\n\nexport interface TagsBulkAssignAsyncStateParams<T, F extends FiltersMap>\n extends Pick<\n TagsBulkAssignPopoverStateParams<T, F>,\n 'asyncBulkUpdateTags' | 'collectionState'\n > {\n container: TagsBulkAssignPopoverState<T, F>['container'];\n optimisticActions: TagsBulkAssignPopoverState<T, F>['optimisticActions'];\n tagsBIReporter: TagsBulkAssignPopoverState<T, F>['tagsBIReporter'];\n}\n\nexport class TagsBulkAssignAsyncState<T, F extends FiltersMap> {\n readonly collectionState;\n readonly optimisticActions;\n readonly container;\n readonly tagsBIReporter;\n readonly asyncBulkUpdateTags;\n readonly asyncJobProgressModalState = new ConditionalModalState();\n\n job: AsyncJob | null = null;\n timeout: NodeJS.Timeout | null = null;\n isDuringApplyChanges = false;\n currentInvocationParams: AsyncBulkUpdateTagsParams<T, F> | null = null;\n updatingTagsToast: ReturnType<ShowToast> | null = null;\n\n getJobRetriesCount = 0;\n\n constructor(params: TagsBulkAssignAsyncStateParams<T, F>) {\n const {\n collectionState,\n optimisticActions,\n container,\n tagsBIReporter,\n asyncBulkUpdateTags,\n } = params;\n this.collectionState = collectionState;\n this.optimisticActions = optimisticActions;\n this.container = container;\n this.tagsBIReporter = tagsBIReporter;\n this.asyncBulkUpdateTags = asyncBulkUpdateTags;\n\n makeObservable(this, {\n job: observable.ref,\n isDuringApplyChanges: observable,\n init: action,\n applyChanges: action,\n pollJobStatus: action,\n canBulkAssignAsync: computed,\n isJobCompleted: computed,\n isJobFailed: computed,\n isJobEnded: computed,\n isJobInProgress: computed,\n updatedItemsPercentage: computed,\n });\n }\n\n init() {\n const { onBeforeUnload } = this.container;\n const onBeforeUnloadSubscription = onBeforeUnload?.(\n action((event: Event) => {\n if (this.isDuringApplyChanges) {\n event.preventDefault();\n }\n }),\n );\n const disposers = [\n () => {\n onBeforeUnloadSubscription?.remove();\n },\n () => {\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\n },\n ];\n\n return () => {\n disposers.forEach((disposer) => disposer());\n };\n }\n\n async applyChanges({\n newAssignedTagIds,\n newUnassignedTagIds,\n }: {\n newAssignedTagIds: string[];\n newUnassignedTagIds: string[];\n }) {\n this.isDuringApplyChanges = true;\n const { bulkSelect, result } = this.collectionState;\n const { allSelected, selectedValues, uncheckedValues } = bulkSelect;\n\n const params = {\n allSelected,\n selectedValues,\n uncheckedValues,\n query: result.originQuery,\n assignTags: { privateTags: { tagIds: newAssignedTagIds } },\n unassignTags: { privateTags: { tagIds: newUnassignedTagIds } },\n };\n\n await this.triggerBulkAssign(params);\n }\n\n async triggerBulkAssign(params: AsyncBulkUpdateTagsParams<T, F>) {\n if (!this.asyncBulkUpdateTags) {\n throw new Error(\n 'tried to bulk assign tags async without asyncBulkUpdateTags prop given',\n );\n }\n\n this.currentInvocationParams = params;\n\n try {\n await this.startTagUpdateProcess(params);\n } catch (error) {\n this.showFailToCreateJobToast(error);\n this.resetStateParams();\n }\n }\n\n async startTagUpdateProcess(params: AsyncBulkUpdateTagsParams<T, F>) {\n this.openAsyncJobProgressModal();\n const { jobId } = await this.asyncBulkUpdateTags!(params);\n await this.pollJobStatus(jobId);\n }\n\n async pollJobStatus(jobId: string) {\n let job: AsyncJob | null = null;\n try {\n job = await this.fetchJobStatus(jobId);\n } catch (error) {\n this.handlePollingError(error);\n return;\n }\n\n runInAction(() => {\n this.job = job;\n if (this.isJobInProgress || !job) {\n this.scheduleNextPoll(jobId);\n } else if (this.isJobEnded) {\n this.handleJobEnd();\n }\n });\n }\n\n handlePollingError(error: unknown) {\n this.asyncJobProgressModalState.modal.close();\n\n this.showFailedToPollToast(error);\n this.resetStateParams();\n }\n\n async fetchJobStatus(jobId: string): Promise<AsyncJob | null> {\n try {\n const job = await this.container.errorHandler.withErrorHandler(\n async () => {\n const {\n data: { job },\n } = await this.container.httpClient.request(getAsyncJob({ jobId }));\n\n return job as AsyncJob;\n },\n {\n errorCodesMap: {},\n },\n );\n\n this.getJobRetriesCount = 0;\n\n return job;\n } catch (error) {\n if (this.getJobRetriesCount >= MAX_JOB_RETRIES_COUNT) {\n throw new WixPatternsError({\n originalException: error,\n errorCode: 'BulkAssignTagsFailed',\n });\n }\n this.getJobRetriesCount++;\n return null;\n }\n }\n\n scheduleNextPoll(jobId: string): void {\n this.timeout = setTimeout(() => {\n runInAction(() => this.pollJobStatus(jobId));\n }, POLL_DELAY);\n }\n\n handleJobEnd(): void {\n this.timeout = setTimeout(() => {\n runInAction(() => {\n this.scheduleJobCompletionHandling();\n });\n }, MILLIS_FOR_SHOWING_SUCCESS);\n }\n\n scheduleJobCompletionHandling() {\n const lastInvocationParams = this.currentInvocationParams;\n const { showToast, translate: t } = this.container;\n\n if (this.isJobCompleted) {\n this.handleJobSuccess(lastInvocationParams);\n } else if (this.isJobFailed) {\n showToast?.({\n type: 'ERROR',\n message: t('cairo.tags.bulkItemUpdate.toast.error', {\n total: this.job?.counts?.failCount!,\n }),\n biName: 'cairo-update-bulk-assign-tags-async-job-status-fail',\n });\n }\n\n this.resetStateParams();\n }\n\n handleJobSuccess(\n lastInvocationParams: AsyncBulkUpdateTagsParams<T, F> | null,\n ) {\n const failCount = this.job?.counts?.failCount;\n if (failCount) {\n this.showPartialFailureToast({ failCount, lastInvocationParams });\n }\n this.showJobCompletedSuccessfullyToast();\n this.refreshCollection();\n }\n\n resetStateParams() {\n this.getJobRetriesCount = 0;\n this.job = null;\n this.currentInvocationParams = null;\n this.isDuringApplyChanges = false;\n this.updatingTagsToast?.remove();\n this.updatingTagsToast = null;\n this.closeAsyncJobProgressModal();\n }\n\n showPartialFailureToast({\n failCount,\n lastInvocationParams,\n }: {\n failCount: number;\n lastInvocationParams: AsyncBulkUpdateTagsParams<T, F> | null;\n }) {\n this.container.showToast?.({\n type: 'WARNING',\n message: this.container.translate(\n 'cairo.tags.bulkItemUpdate.toast.error',\n { total: failCount },\n ),\n action: {\n text: this.container.translate(\n 'cairo.tags.bulkItemUpdate.toast.error.CTA',\n ),\n onClick: async () => {\n if (lastInvocationParams) {\n await this.triggerBulkAssign(lastInvocationParams);\n }\n },\n removeToastOnClick: true,\n },\n biName: 'cairo-update-bulk-assign-tags-async-fail',\n });\n }\n\n showJobCompletedSuccessfullyToast() {\n this.container.showToast?.({\n type: 'SUCCESS',\n message: this.container.translate(\n 'cairo.tags.bulkItemUpdate.toast.success',\n ),\n biName: 'cairo-update-bulk-assign-tags-async-success',\n });\n }\n\n showFailToCreateJobToast(error: unknown) {\n const { errorHandler, showToast, translate: t } = this.container;\n const resolvedError = errorHandler?.getResolvedError?.(error);\n\n showToast?.({\n type: 'ERROR',\n message:\n resolvedError?.message ??\n t('cairo.tags.bulkItemUpdate.toast.error', {\n total: this.collectionState.bulkSelect.selectedCountOrTotal,\n }),\n action: resolvedError?.action,\n biName: 'cairo-update-bulk-assign-tags-async-create-job-fail',\n });\n }\n\n showFailedToPollToast(error: unknown) {\n const { errorHandler, showToast } = this.container;\n\n const resolvedError = errorHandler?.getResolvedError?.(error);\n\n showToast?.({\n type: 'ERROR',\n message: resolvedError?.message!,\n action: resolvedError?.action,\n biName: 'cairo-update-bulk-assign-tags-async-poll-fail',\n });\n }\n\n refreshCollection() {\n this.collectionState.refreshAllPages();\n }\n\n openAsyncJobProgressModal = () => {\n this.asyncJobProgressModalState.modal.open();\n };\n\n closeAsyncJobProgressModal = () => {\n this.asyncJobProgressModalState.modal.close();\n if (this.isJobInProgress) {\n this.updatingTagsToast =\n this.container.showToast?.({\n type: 'STANDARD',\n message: this.container.translate(\n 'cairo.tags.bulkItemUpdate.updatingTags.toast',\n ),\n action: {\n text: this.container.translate(\n 'cairo.tags.bulkItemUpdate.updatingTags.toast.CTA',\n ),\n onClick: async () => {\n this.openAsyncJobProgressModal();\n },\n removeToastOnClick: true,\n },\n timeout: 'NONE',\n biName: 'cairo-updating-bulk-assign-tags-async',\n }) || null;\n }\n };\n\n get isJobCompleted() {\n return this.job?.status === 'FINISHED';\n }\n\n get isJobFailed() {\n return this.job?.status === 'FAILED';\n }\n\n get isJobEnded() {\n return this.isJobCompleted || this.isJobFailed;\n }\n\n get isJobInProgress() {\n return (\n this.job?.status === 'PROCESSING' || this.job?.status === 'INITIALIZED'\n );\n }\n\n get canBulkAssignAsync() {\n return !!this.asyncBulkUpdateTags;\n }\n\n get updatedItemsPercentage() {\n if (!this.job) {\n return 0;\n }\n\n const alreadyUpdatedItemsCount =\n (this.job.counts?.successCount || 0) + (this.job.counts?.failCount || 0);\n const totalUpdatingItemsCount =\n this.job?.counts?.total ||\n this.collectionState.bulkSelect.selectedCountOrTotal;\n\n return Math.floor(\n 100 * (alreadyUpdatedItemsCount / totalUpdatingItemsCount),\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -12,7 +12,7 @@ class ToolbarResponsivePriorityState {
12
12
  (0, _defineProperty2.default)(this, "getNextToExpand", void 0);
13
13
  (0, _defineProperty2.default)(this, "_count", void 0);
14
14
  (0, _defineProperty2.default)(this, "_minWidth", void 0);
15
- (0, _defineProperty2.default)(this, "_collapsedWidth", 0);
15
+ (0, _defineProperty2.default)(this, "_collapsedWidth", void 0);
16
16
  (0, _defineProperty2.default)(this, "_shouldShrink", false);
17
17
  (0, _defineProperty2.default)(this, "_groupElement", void 0);
18
18
  this._count = params.count;
@@ -23,10 +23,33 @@ class ToolbarResponsivePriorityState {
23
23
  this.getNextToExpand = params.getNextToExpand;
24
24
  (0, _mobx.makeObservable)(this, {
25
25
  _minWidth: _mobx.observable.ref,
26
- _shouldShrink: _mobx.observable.ref
26
+ _shouldShrink: _mobx.observable.ref,
27
+ _syncWidth: _mobx.action,
28
+ _expandIfNeeded: _mobx.action,
29
+ _shrinkIfNeeded: _mobx.action
27
30
  });
28
31
  }
29
- _expandIfNeeded() {
32
+ _syncWidth() {
33
+ const {
34
+ _groupElement,
35
+ _shouldShrink,
36
+ responsive
37
+ } = this;
38
+ if (responsive.responsiveDisabled) {
39
+ return;
40
+ }
41
+ if (!_groupElement) {
42
+ return;
43
+ }
44
+ if (_shouldShrink) {
45
+ this._collapsedWidth = _groupElement.scrollWidth;
46
+ } else {
47
+ this._minWidth = _groupElement.scrollWidth;
48
+ }
49
+ }
50
+ _expandIfNeeded({
51
+ preCalculatedAvailableSpace
52
+ } = {}) {
30
53
  const {
31
54
  responsive,
32
55
  _collapsedWidth
@@ -37,13 +60,19 @@ class ToolbarResponsivePriorityState {
37
60
  available
38
61
  }
39
62
  } = responsive;
40
- if (_nextToExpand !== this || available + _collapsedWidth <= this._minWidth || !this._shouldShrink) {
63
+ if (_nextToExpand !== this || (preCalculatedAvailableSpace ?? available) + _collapsedWidth <= this._minWidth || !this._shouldShrink) {
41
64
  return;
42
65
  }
43
66
  this._shouldShrink = false;
44
67
  responsive._nextToExpand = _nextToExpand.getNextToExpand();
45
68
  responsive._nextToShrink = this;
46
- responsive.overflow._syncThrottled();
69
+ responsive.actionsAvailableSpace._syncThrottled();
70
+
71
+ // experimental - expanding the next item without waiting for the layout tick
72
+ // const availableAfterExpand = available + _collapsedWidth - this._minWidth;
73
+ // responsive._nextToExpand._expandIfNeeded({
74
+ // preCalculatedAvailableSpace: availableAfterExpand,
75
+ // });
47
76
  }
48
77
  _shrinkIfNeeded() {
49
78
  const {
@@ -1 +1 @@
1
- {"version":3,"names":["_mobx","require","ToolbarResponsivePriorityState","constructor","params","_defineProperty2","default","_count","count","_minWidth","minWidth","_collapsedWidth","responsive","getNextToShrink","getNextToExpand","makeObservable","observable","ref","_shouldShrink","_expandIfNeeded","_nextToExpand","actionsAvailableSpace","available","_nextToShrink","overflow","_syncThrottled","_shrinkIfNeeded","_isOverflowing","exports"],"sources":["../../../../src/state/Toolbar/ToolbarResponsivePriorityState.ts"],"sourcesContent":["import { ToolbarResponsiveState } from './ToolbarResponsiveState';\nimport { makeObservable, observable } from 'mobx';\n\nexport interface ToolbarResponsivePriorityStateParams {\n responsive: ToolbarResponsiveState;\n getNextToShrink: () => ToolbarResponsivePriorityState;\n getNextToExpand: () => ToolbarResponsivePriorityState;\n count: number;\n minWidth?: number;\n}\n\nexport class ToolbarResponsivePriorityState {\n readonly responsive;\n readonly getNextToShrink;\n readonly getNextToExpand;\n readonly _count;\n\n _minWidth;\n _collapsedWidth = 0;\n\n _shouldShrink = false;\n\n _groupElement?: HTMLElement | null | undefined;\n\n constructor(params: ToolbarResponsivePriorityStateParams) {\n this._count = params.count;\n\n this._minWidth = params.minWidth ?? 0;\n this._collapsedWidth = params.minWidth ?? 0;\n\n this.responsive = params.responsive;\n this.getNextToShrink = params.getNextToShrink;\n this.getNextToExpand = params.getNextToExpand;\n\n makeObservable(this, {\n _minWidth: observable.ref,\n _shouldShrink: observable.ref,\n });\n }\n\n _expandIfNeeded() {\n const { responsive, _collapsedWidth } = this;\n\n const {\n _nextToExpand,\n actionsAvailableSpace: { available },\n } = responsive;\n\n if (\n _nextToExpand !== this ||\n available + _collapsedWidth <= this._minWidth ||\n !this._shouldShrink\n ) {\n return;\n }\n\n this._shouldShrink = false;\n responsive._nextToExpand = _nextToExpand.getNextToExpand();\n responsive._nextToShrink = this;\n responsive.overflow._syncThrottled();\n }\n\n _shrinkIfNeeded() {\n const { responsive } = this;\n\n const { _nextToShrink, overflow } = responsive;\n\n if (\n _nextToShrink !== this ||\n !overflow._isOverflowing ||\n this._shouldShrink\n ) {\n return;\n }\n\n this._shouldShrink = true;\n responsive._nextToShrink = _nextToShrink.getNextToShrink();\n responsive._nextToExpand = this;\n responsive.overflow._syncThrottled();\n }\n}\n"],"mappings":";;;;;;AACA,IAAAA,KAAA,GAAAC,OAAA;AAUO,MAAMC,8BAA8B,CAAC;EAa1CC,WAAWA,CAACC,MAA4C,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,2BANxC,CAAC;IAAA,IAAAD,gBAAA,CAAAC,OAAA,yBAEH,KAAK;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAKnB,IAAI,CAACC,MAAM,GAAGH,MAAM,CAACI,KAAK;IAE1B,IAAI,CAACC,SAAS,GAAGL,MAAM,CAACM,QAAQ,IAAI,CAAC;IACrC,IAAI,CAACC,eAAe,GAAGP,MAAM,CAACM,QAAQ,IAAI,CAAC;IAE3C,IAAI,CAACE,UAAU,GAAGR,MAAM,CAACQ,UAAU;IACnC,IAAI,CAACC,eAAe,GAAGT,MAAM,CAACS,eAAe;IAC7C,IAAI,CAACC,eAAe,GAAGV,MAAM,CAACU,eAAe;IAE7C,IAAAC,oBAAc,EAAC,IAAI,EAAE;MACnBN,SAAS,EAAEO,gBAAU,CAACC,GAAG;MACzBC,aAAa,EAAEF,gBAAU,CAACC;IAC5B,CAAC,CAAC;EACJ;EAEAE,eAAeA,CAAA,EAAG;IAChB,MAAM;MAAEP,UAAU;MAAED;IAAgB,CAAC,GAAG,IAAI;IAE5C,MAAM;MACJS,aAAa;MACbC,qBAAqB,EAAE;QAAEC;MAAU;IACrC,CAAC,GAAGV,UAAU;IAEd,IACEQ,aAAa,KAAK,IAAI,IACtBE,SAAS,GAAGX,eAAe,IAAI,IAAI,CAACF,SAAS,IAC7C,CAAC,IAAI,CAACS,aAAa,EACnB;MACA;IACF;IAEA,IAAI,CAACA,aAAa,GAAG,KAAK;IAC1BN,UAAU,CAACQ,aAAa,GAAGA,aAAa,CAACN,eAAe,CAAC,CAAC;IAC1DF,UAAU,CAACW,aAAa,GAAG,IAAI;IAC/BX,UAAU,CAACY,QAAQ,CAACC,cAAc,CAAC,CAAC;EACtC;EAEAC,eAAeA,CAAA,EAAG;IAChB,MAAM;MAAEd;IAAW,CAAC,GAAG,IAAI;IAE3B,MAAM;MAAEW,aAAa;MAAEC;IAAS,CAAC,GAAGZ,UAAU;IAE9C,IACEW,aAAa,KAAK,IAAI,IACtB,CAACC,QAAQ,CAACG,cAAc,IACxB,IAAI,CAACT,aAAa,EAClB;MACA;IACF;IAEA,IAAI,CAACA,aAAa,GAAG,IAAI;IACzBN,UAAU,CAACW,aAAa,GAAGA,aAAa,CAACV,eAAe,CAAC,CAAC;IAC1DD,UAAU,CAACQ,aAAa,GAAG,IAAI;IAC/BR,UAAU,CAACY,QAAQ,CAACC,cAAc,CAAC,CAAC;EACtC;AACF;AAACG,OAAA,CAAA1B,8BAAA,GAAAA,8BAAA","ignoreList":[]}
1
+ {"version":3,"names":["_mobx","require","ToolbarResponsivePriorityState","constructor","params","_defineProperty2","default","_count","count","_minWidth","minWidth","_collapsedWidth","responsive","getNextToShrink","getNextToExpand","makeObservable","observable","ref","_shouldShrink","_syncWidth","action","_expandIfNeeded","_shrinkIfNeeded","_groupElement","responsiveDisabled","scrollWidth","preCalculatedAvailableSpace","_nextToExpand","actionsAvailableSpace","available","_nextToShrink","_syncThrottled","overflow","_isOverflowing","exports"],"sources":["../../../../src/state/Toolbar/ToolbarResponsivePriorityState.ts"],"sourcesContent":["import { ToolbarResponsiveState } from './ToolbarResponsiveState';\nimport { action, makeObservable, observable } from 'mobx';\n\nexport interface ToolbarResponsivePriorityStateParams {\n responsive: ToolbarResponsiveState;\n getNextToShrink: () => ToolbarResponsivePriorityState;\n getNextToExpand: () => ToolbarResponsivePriorityState;\n count: number;\n minWidth?: number;\n}\n\nexport class ToolbarResponsivePriorityState {\n readonly responsive;\n readonly getNextToShrink;\n readonly getNextToExpand;\n readonly _count;\n\n _minWidth;\n _collapsedWidth;\n\n _shouldShrink = false;\n\n _groupElement?: HTMLElement | null | undefined;\n\n constructor(params: ToolbarResponsivePriorityStateParams) {\n this._count = params.count;\n\n this._minWidth = params.minWidth ?? 0;\n this._collapsedWidth = params.minWidth ?? 0;\n\n this.responsive = params.responsive;\n this.getNextToShrink = params.getNextToShrink;\n this.getNextToExpand = params.getNextToExpand;\n\n makeObservable(this, {\n _minWidth: observable.ref,\n _shouldShrink: observable.ref,\n _syncWidth: action,\n _expandIfNeeded: action,\n _shrinkIfNeeded: action,\n });\n }\n\n _syncWidth() {\n const { _groupElement, _shouldShrink, responsive } = this;\n if (responsive.responsiveDisabled) {\n return;\n }\n if (!_groupElement) {\n return;\n }\n if (_shouldShrink) {\n this._collapsedWidth = _groupElement.scrollWidth;\n } else {\n this._minWidth = _groupElement.scrollWidth;\n }\n }\n\n _expandIfNeeded({\n preCalculatedAvailableSpace,\n }: {\n preCalculatedAvailableSpace?: number;\n } = {}) {\n const { responsive, _collapsedWidth } = this;\n\n const {\n _nextToExpand,\n actionsAvailableSpace: { available },\n } = responsive;\n\n if (\n _nextToExpand !== this ||\n (preCalculatedAvailableSpace ?? available) + _collapsedWidth <=\n this._minWidth ||\n !this._shouldShrink\n ) {\n return;\n }\n\n this._shouldShrink = false;\n responsive._nextToExpand = _nextToExpand.getNextToExpand();\n responsive._nextToShrink = this;\n responsive.actionsAvailableSpace._syncThrottled();\n\n // experimental - expanding the next item without waiting for the layout tick\n // const availableAfterExpand = available + _collapsedWidth - this._minWidth;\n // responsive._nextToExpand._expandIfNeeded({\n // preCalculatedAvailableSpace: availableAfterExpand,\n // });\n }\n\n _shrinkIfNeeded() {\n const { responsive } = this;\n\n const { _nextToShrink, overflow } = responsive;\n\n if (\n _nextToShrink !== this ||\n !overflow._isOverflowing ||\n this._shouldShrink\n ) {\n return;\n }\n\n this._shouldShrink = true;\n responsive._nextToShrink = _nextToShrink.getNextToShrink();\n responsive._nextToExpand = this;\n responsive.overflow._syncThrottled();\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -23,7 +23,9 @@ class ToolbarResponsiveState {
23
23
  (0, _defineProperty2.default)(this, "overflow", void 0);
24
24
  (0, _defineProperty2.default)(this, "toolbar", void 0);
25
25
  this.toolbar = params.toolbar;
26
- this.overflow = new _HorizontalOverflowState.HorizontalOverflowState(this);
26
+ this.overflow = new _HorizontalOverflowState.HorizontalOverflowState({
27
+ state: this
28
+ });
27
29
  this.search = new _ToolbarResponsivePriorityState.ToolbarResponsivePriorityState({
28
30
  responsive: this,
29
31
  getNextToShrink: () => this.actions,
@@ -45,15 +47,27 @@ class ToolbarResponsiveState {
45
47
  });
46
48
  this._nextToShrink = this.search;
47
49
  this._nextToExpand = this.search;
48
- this.actionsAvailableSpace = new _HorizontalSpaceAvailableState.HorizontalSpaceAvailableState(this);
50
+ this.actionsAvailableSpace = new _HorizontalSpaceAvailableState.HorizontalSpaceAvailableState({
51
+ state: this
52
+ });
49
53
  (0, _mobx.makeObservable)(this, {
50
54
  _nextToShrink: _mobx.observable.ref,
51
- _nextToExpand: _mobx.observable.ref
55
+ _nextToExpand: _mobx.observable.ref,
56
+ responsiveDisabled: _mobx.computed
52
57
  });
53
58
  }
54
59
  get responsiveDisabled() {
55
- var _this$container$inter;
56
- return !((_this$container$inter = this.container.internalExperiments) != null && _this$container$inter.enabled('specs.cairo.EnableResponsiveToolbar'));
60
+ const {
61
+ toolbar: {
62
+ toolbar: {
63
+ _syncedProps
64
+ }
65
+ },
66
+ container: {
67
+ internalExperiments
68
+ }
69
+ } = this;
70
+ return !(_syncedProps != null && _syncedProps.useResponsiveLayout) || !(internalExperiments != null && internalExperiments.enabled('specs.cairo.EnableResponsiveToolbar'));
57
71
  }
58
72
  init() {
59
73
  const {
@@ -1 +1 @@
1
- {"version":3,"names":["_bexCore","require","_mobx","_HorizontalSpaceAvailableState","_ToolbarResponsivePriorityState","_HorizontalOverflowState","ToolbarResponsiveState","container","toolbar","constructor","params","_defineProperty2","default","overflow","HorizontalOverflowState","search","ToolbarResponsivePriorityState","responsive","getNextToShrink","actions","getNextToExpand","count","minWidth","filters","_nextToShrink","_nextToExpand","actionsAvailableSpace","HorizontalSpaceAvailableState","makeObservable","observable","ref","responsiveDisabled","_this$container$inter","internalExperiments","enabled","init","disposers","addResizeObserver","toolbarRect","element","_syncThrottled","reaction","_isOverflowing","_scrollWidth","_clientWidth","_shrinkIfNeeded","fireImmediately","available","_expandIfNeeded","forEach","d","exports"],"sources":["../../../../src/state/Toolbar/ToolbarResponsiveState.ts"],"sourcesContent":["import { addResizeObserver } from '@wix/bex-core';\nimport { makeObservable, observable, reaction } from 'mobx';\nimport { HorizontalSpaceAvailableState } from '../Responsive/HorizontalSpaceAvailableState';\nimport { ToolbarResponsivePriorityState } from './ToolbarResponsivePriorityState';\nimport { HorizontalOverflowState } from '../Responsive/HorizontalOverflowState';\nimport { ToolbarState } from '../../components/CollectionToolbars/ToolbarState';\n\nexport interface ToolbarResponsiveStateParams {\n readonly toolbar: ToolbarState<any, any>;\n}\n\nexport class ToolbarResponsiveState {\n readonly actions: ToolbarResponsivePriorityState;\n readonly search: ToolbarResponsivePriorityState;\n readonly filters: ToolbarResponsivePriorityState;\n\n _nextToShrink;\n _nextToExpand;\n\n readonly actionsAvailableSpace;\n readonly overflow;\n\n readonly toolbar;\n\n get container() {\n return this.toolbar.toolbar.container;\n }\n\n constructor(params: ToolbarResponsiveStateParams) {\n this.toolbar = params.toolbar;\n\n this.overflow = new HorizontalOverflowState(this);\n\n this.search = new ToolbarResponsivePriorityState({\n responsive: this,\n getNextToShrink: () => this.actions,\n getNextToExpand: () => this.search,\n count: 1,\n minWidth: 140,\n });\n\n this.actions = new ToolbarResponsivePriorityState({\n responsive: this,\n getNextToShrink: () => this.filters,\n getNextToExpand: () => this.search,\n count: 2,\n });\n\n this.filters = new ToolbarResponsivePriorityState({\n responsive: this,\n getNextToShrink: () => this.filters,\n getNextToExpand: () => this.actions,\n count: 3,\n });\n\n this._nextToShrink = this.search;\n this._nextToExpand = this.search;\n\n this.actionsAvailableSpace = new HorizontalSpaceAvailableState(this);\n\n makeObservable(this, {\n _nextToShrink: observable.ref,\n _nextToExpand: observable.ref,\n });\n }\n\n get responsiveDisabled() {\n return !this.container.internalExperiments?.enabled(\n 'specs.cairo.EnableResponsiveToolbar',\n );\n }\n\n init() {\n const {\n toolbar: { toolbar },\n overflow,\n actionsAvailableSpace,\n responsiveDisabled,\n } = this;\n\n if (responsiveDisabled) {\n return;\n }\n\n const disposers = [\n addResizeObserver(\n toolbar.toolbarRect.element,\n actionsAvailableSpace._syncThrottled,\n ),\n reaction(\n () => ({\n _isOverflowing: overflow._isOverflowing,\n _scrollWidth: overflow._scrollWidth,\n _clientWidth: overflow._clientWidth,\n }),\n () => {\n this._nextToShrink._shrinkIfNeeded();\n },\n {\n fireImmediately: true,\n },\n ),\n reaction(\n () => actionsAvailableSpace.available,\n () => {\n this._nextToExpand._expandIfNeeded();\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":["_bexCore","require","_mobx","_HorizontalSpaceAvailableState","_ToolbarResponsivePriorityState","_HorizontalOverflowState","ToolbarResponsiveState","container","toolbar","constructor","params","_defineProperty2","default","overflow","HorizontalOverflowState","state","search","ToolbarResponsivePriorityState","responsive","getNextToShrink","actions","getNextToExpand","count","minWidth","filters","_nextToShrink","_nextToExpand","actionsAvailableSpace","HorizontalSpaceAvailableState","makeObservable","observable","ref","responsiveDisabled","computed","_syncedProps","internalExperiments","useResponsiveLayout","enabled","init","disposers","addResizeObserver","toolbarRect","element","_syncThrottled","reaction","_isOverflowing","_scrollWidth","_clientWidth","_shrinkIfNeeded","fireImmediately","available","_expandIfNeeded","forEach","d","exports"],"sources":["../../../../src/state/Toolbar/ToolbarResponsiveState.ts"],"sourcesContent":["import { addResizeObserver } from '@wix/bex-core';\nimport { computed, makeObservable, observable, reaction } from 'mobx';\nimport { HorizontalSpaceAvailableState } from '../Responsive/HorizontalSpaceAvailableState';\nimport { ToolbarResponsivePriorityState } from './ToolbarResponsivePriorityState';\nimport { HorizontalOverflowState } from '../Responsive/HorizontalOverflowState';\nimport { ToolbarState } from '../../components/CollectionToolbars/ToolbarState';\n\nexport interface ToolbarResponsiveStateParams {\n readonly toolbar: ToolbarState<any, any>;\n}\n\nexport class ToolbarResponsiveState {\n readonly actions: ToolbarResponsivePriorityState;\n readonly search: ToolbarResponsivePriorityState;\n readonly filters: ToolbarResponsivePriorityState;\n\n _nextToShrink;\n _nextToExpand;\n\n readonly actionsAvailableSpace;\n readonly overflow;\n\n readonly toolbar;\n\n get container() {\n return this.toolbar.toolbar.container;\n }\n\n constructor(params: ToolbarResponsiveStateParams) {\n this.toolbar = params.toolbar;\n\n this.overflow = new HorizontalOverflowState({\n state: this,\n });\n\n this.search = new ToolbarResponsivePriorityState({\n responsive: this,\n getNextToShrink: () => this.actions,\n getNextToExpand: () => this.search,\n count: 1,\n minWidth: 140,\n });\n\n this.actions = new ToolbarResponsivePriorityState({\n responsive: this,\n getNextToShrink: () => this.filters,\n getNextToExpand: () => this.search,\n count: 2,\n });\n\n this.filters = new ToolbarResponsivePriorityState({\n responsive: this,\n getNextToShrink: () => this.filters,\n getNextToExpand: () => this.actions,\n count: 3,\n });\n\n this._nextToShrink = this.search;\n this._nextToExpand = this.search;\n\n this.actionsAvailableSpace = new HorizontalSpaceAvailableState({\n state: this,\n });\n\n makeObservable(this, {\n _nextToShrink: observable.ref,\n _nextToExpand: observable.ref,\n responsiveDisabled: computed,\n });\n }\n\n get responsiveDisabled() {\n const {\n toolbar: {\n toolbar: { _syncedProps },\n },\n container: { internalExperiments },\n } = this;\n\n return (\n !_syncedProps?.useResponsiveLayout ||\n !internalExperiments?.enabled('specs.cairo.EnableResponsiveToolbar')\n );\n }\n\n init() {\n const {\n toolbar: { toolbar },\n overflow,\n actionsAvailableSpace,\n responsiveDisabled,\n } = this;\n\n if (responsiveDisabled) {\n return;\n }\n\n const disposers = [\n addResizeObserver(\n toolbar.toolbarRect.element,\n actionsAvailableSpace._syncThrottled,\n ),\n reaction(\n () => ({\n _isOverflowing: overflow._isOverflowing,\n _scrollWidth: overflow._scrollWidth,\n _clientWidth: overflow._clientWidth,\n }),\n () => {\n this._nextToShrink._shrinkIfNeeded();\n },\n {\n fireImmediately: true,\n },\n ),\n reaction(\n () => actionsAvailableSpace.available,\n () => {\n this._nextToExpand._expandIfNeeded();\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":[]}
@@ -37,6 +37,7 @@ class ToolbarCollectionState {
37
37
  (0, _defineProperty2.default)(this, "bulk", void 0);
38
38
  (0, _defineProperty2.default)(this, "multi", void 0);
39
39
  (0, _defineProperty2.default)(this, "componentType", void 0);
40
+ (0, _defineProperty2.default)(this, "_syncedProps", void 0);
40
41
  (0, _defineProperty2.default)(this, "_userColumns", []);
41
42
  // columns propagated from user
42
43
  (0, _defineProperty2.default)(this, "_featureColumns", _mobx.observable.array());