@wix/patterns 1.137.0 → 1.139.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 (328) hide show
  1. package/dist/cjs/components/ActionModal/CustomActionModal.js +3 -3
  2. package/dist/cjs/components/ActionModal/CustomActionModal.js.map +1 -1
  3. package/dist/cjs/components/Collapse/Collapse.st.css.js +3 -3
  4. package/dist/cjs/components/Collapse/Collapse.st.css.js.map +1 -1
  5. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js +5 -5
  6. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js.map +1 -1
  7. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.uni.driver.js +7 -2
  8. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.uni.driver.js.map +1 -1
  9. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +3 -3
  10. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
  11. package/dist/cjs/components/CollectionToolbars/CollectionToolbars.js +1 -1
  12. package/dist/cjs/components/CollectionToolbars/CollectionToolbars.js.map +1 -1
  13. package/dist/cjs/components/CollectionToolbars/ToolbarAndTitlebarContainer.js +4 -6
  14. package/dist/cjs/components/CollectionToolbars/ToolbarAndTitlebarContainer.js.map +1 -1
  15. package/dist/cjs/components/CollectionToolbars/ToolbarState.js +11 -2
  16. package/dist/cjs/components/CollectionToolbars/ToolbarState.js.map +1 -1
  17. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  18. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
  19. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  20. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
  21. package/dist/cjs/components/CustomColumnsPanel/CustomColumnsCTAButton.js +20 -21
  22. package/dist/cjs/components/CustomColumnsPanel/CustomColumnsCTAButton.js.map +1 -1
  23. package/dist/cjs/components/CustomFieldModal/CustomFieldFormPiiFields.js +9 -8
  24. package/dist/cjs/components/CustomFieldModal/CustomFieldFormPiiFields.js.map +1 -1
  25. package/dist/cjs/components/CustomFieldModal/CustomFieldModal.uni.driver.js +5 -1
  26. package/dist/cjs/components/CustomFieldModal/CustomFieldModal.uni.driver.js.map +1 -1
  27. package/dist/cjs/components/CustomFieldsForm/CustomFieldsForm.js +22 -29
  28. package/dist/cjs/components/CustomFieldsForm/CustomFieldsForm.js.map +1 -1
  29. package/dist/cjs/components/CustomFieldsWidget/CustomFieldsWidget.js +11 -6
  30. package/dist/cjs/components/CustomFieldsWidget/CustomFieldsWidget.js.map +1 -1
  31. package/dist/cjs/components/DragHandle/DragHandle.st.css.js +2 -2
  32. package/dist/cjs/components/DragHandle/DragHandle.st.css.js.map +1 -1
  33. package/dist/cjs/components/ExportButton/ExportButton.js +23 -26
  34. package/dist/cjs/components/ExportButton/ExportButton.js.map +1 -1
  35. package/dist/cjs/components/Fade/Fade.st.css.js +2 -2
  36. package/dist/cjs/components/Fade/Fade.st.css.js.map +1 -1
  37. package/dist/cjs/components/FormFieldInput/FormFieldInput.js +7 -4
  38. package/dist/cjs/components/FormFieldInput/FormFieldInput.js.map +1 -1
  39. package/dist/cjs/components/Heading/Heading.st.css.js +2 -2
  40. package/dist/cjs/components/Heading/Heading.st.css.js.map +1 -1
  41. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js +2 -2
  42. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
  43. package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js +3 -3
  44. package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js.map +1 -1
  45. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  46. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
  47. package/dist/cjs/components/MaxLines/MaxLines.st.css.js +2 -2
  48. package/dist/cjs/components/MaxLines/MaxLines.st.css.js.map +1 -1
  49. package/dist/cjs/components/MoreFiltersCTA/MoreFiltersCTA.js +12 -9
  50. package/dist/cjs/components/MoreFiltersCTA/MoreFiltersCTA.js.map +1 -1
  51. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
  52. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
  53. package/dist/cjs/components/MultiLevelSorting/MultiLevelSortingCTAButton.js +17 -22
  54. package/dist/cjs/components/MultiLevelSorting/MultiLevelSortingCTAButton.js.map +1 -1
  55. package/dist/cjs/components/MultiLevelSorting/MultiLevelSortingCTAButton.uni.driver.js +11 -0
  56. package/dist/cjs/components/MultiLevelSorting/MultiLevelSortingCTAButton.uni.driver.js.map +1 -0
  57. package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  58. package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
  59. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js +5 -5
  60. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
  61. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
  62. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
  63. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
  64. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
  65. package/dist/cjs/components/PickerContent/PickerContent.st.css.js +2 -2
  66. package/dist/cjs/components/PickerContent/PickerContent.st.css.js.map +1 -1
  67. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js +4 -4
  68. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
  69. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  70. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
  71. package/dist/cjs/components/ResponsiveButton/ResponsiveButton.js +76 -0
  72. package/dist/cjs/components/ResponsiveButton/ResponsiveButton.js.map +1 -0
  73. package/dist/cjs/components/ResponsiveButton/ResponsiveButton.uni.driver.js +15 -0
  74. package/dist/cjs/components/ResponsiveButton/ResponsiveButton.uni.driver.js.map +1 -0
  75. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  76. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
  77. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js +3 -3
  78. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
  79. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js +2 -2
  80. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
  81. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js +3 -3
  82. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
  83. package/dist/cjs/components/Tags/BulkAssignTagsPopover/AsyncJobProgressModal.js +7 -4
  84. package/dist/cjs/components/Tags/BulkAssignTagsPopover/AsyncJobProgressModal.js.map +1 -1
  85. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  86. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
  87. package/dist/cjs/components/Tags/TagsBulkAssignUtils.js +40 -0
  88. package/dist/cjs/components/Tags/TagsBulkAssignUtils.js.map +1 -0
  89. package/dist/cjs/components/Tags/useTagsBulkAssignFoldersUtils.js +7 -7
  90. package/dist/cjs/components/Tags/useTagsBulkAssignFoldersUtils.js.map +1 -1
  91. package/dist/cjs/components/Tags/useTagsBulkAssignUtils.js +7 -7
  92. package/dist/cjs/components/Tags/useTagsBulkAssignUtils.js.map +1 -1
  93. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  94. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
  95. package/dist/cjs/components/common.st.css.js +4 -4
  96. package/dist/cjs/components/common.st.css.js.map +1 -1
  97. package/dist/cjs/state/CustomFields/CustomFieldsFormState.js +1 -31
  98. package/dist/cjs/state/CustomFields/CustomFieldsFormState.js.map +1 -1
  99. package/dist/cjs/state/EntityPage/EntityPageState.js.map +1 -1
  100. package/dist/cjs/state/FoldersAndItemsCollectionsState.js +2 -2
  101. package/dist/cjs/state/FoldersAndItemsCollectionsState.js.map +1 -1
  102. package/dist/cjs/state/Responsive/HorizontalOverflowState.js +61 -0
  103. package/dist/cjs/state/Responsive/HorizontalOverflowState.js.map +1 -0
  104. package/dist/cjs/state/Responsive/HorizontalSpaceAvailableState.js +64 -0
  105. package/dist/cjs/state/Responsive/HorizontalSpaceAvailableState.js.map +1 -0
  106. package/dist/cjs/state/SettingsPage/SettingsPageState.js.map +1 -1
  107. package/dist/cjs/state/TagsBulkAssignAsyncState.js +98 -35
  108. package/dist/cjs/state/TagsBulkAssignAsyncState.js.map +1 -1
  109. package/dist/cjs/state/TagsBulkAssignPopoverState.js +3 -11
  110. package/dist/cjs/state/TagsBulkAssignPopoverState.js.map +1 -1
  111. package/dist/cjs/state/TagsBulkAssignSyncState.js +9 -1
  112. package/dist/cjs/state/TagsBulkAssignSyncState.js.map +1 -1
  113. package/dist/cjs/state/Toolbar/ToolbarResponsivePriorityState.js +66 -0
  114. package/dist/cjs/state/Toolbar/ToolbarResponsivePriorityState.js.map +1 -0
  115. package/dist/cjs/state/Toolbar/ToolbarResponsiveState.js +89 -0
  116. package/dist/cjs/state/Toolbar/ToolbarResponsiveState.js.map +1 -0
  117. package/dist/cjs/state/ToolbarCollectionState.js +3 -0
  118. package/dist/cjs/state/ToolbarCollectionState.js.map +1 -1
  119. package/dist/cjs/styles.global.css +1 -1
  120. package/dist/cjs/test-utils/AsyncJobMocks.js +16 -1
  121. package/dist/cjs/test-utils/AsyncJobMocks.js.map +1 -1
  122. package/dist/cjs/test-utils/WixPatternsEssentialsTestProvider.js +12 -7
  123. package/dist/cjs/test-utils/WixPatternsEssentialsTestProvider.js.map +1 -1
  124. package/dist/cjs/version.js +1 -1
  125. package/dist/cjs/version.js.map +1 -1
  126. package/dist/esm/components/ActionModal/CustomActionModal.js +6 -4
  127. package/dist/esm/components/ActionModal/CustomActionModal.js.map +1 -1
  128. package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
  129. package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
  130. package/dist/esm/components/CollectionToolbar/CollectionToolbar.uni.driver.js +7 -2
  131. package/dist/esm/components/CollectionToolbar/CollectionToolbar.uni.driver.js.map +1 -1
  132. package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
  133. package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
  134. package/dist/esm/components/CollectionToolbars/CollectionToolbars.js +1 -1
  135. package/dist/esm/components/CollectionToolbars/CollectionToolbars.js.map +1 -1
  136. package/dist/esm/components/CollectionToolbars/ToolbarAndTitlebarContainer.js +4 -6
  137. package/dist/esm/components/CollectionToolbars/ToolbarAndTitlebarContainer.js.map +1 -1
  138. package/dist/esm/components/CollectionToolbars/ToolbarState.js +7 -1
  139. package/dist/esm/components/CollectionToolbars/ToolbarState.js.map +1 -1
  140. package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  141. package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  142. package/dist/esm/components/CustomColumnsPanel/CustomColumnsCTAButton.js +4 -5
  143. package/dist/esm/components/CustomColumnsPanel/CustomColumnsCTAButton.js.map +1 -1
  144. package/dist/esm/components/CustomFieldModal/CustomFieldFormPiiFields.js +1 -1
  145. package/dist/esm/components/CustomFieldModal/CustomFieldFormPiiFields.js.map +1 -1
  146. package/dist/esm/components/CustomFieldModal/CustomFieldModal.uni.driver.js +5 -1
  147. package/dist/esm/components/CustomFieldModal/CustomFieldModal.uni.driver.js.map +1 -1
  148. package/dist/esm/components/CustomFieldsForm/CustomFieldsForm.js +11 -11
  149. package/dist/esm/components/CustomFieldsForm/CustomFieldsForm.js.map +1 -1
  150. package/dist/esm/components/CustomFieldsWidget/CustomFieldsWidget.js +6 -1
  151. package/dist/esm/components/CustomFieldsWidget/CustomFieldsWidget.js.map +1 -1
  152. package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
  153. package/dist/esm/components/DragHandle/DragHandle.st.css.js.map +1 -1
  154. package/dist/esm/components/ExportButton/ExportButton.js +4 -4
  155. package/dist/esm/components/ExportButton/ExportButton.js.map +1 -1
  156. package/dist/esm/components/Fade/Fade.st.css.js +2 -2
  157. package/dist/esm/components/Fade/Fade.st.css.js.map +1 -1
  158. package/dist/esm/components/FormFieldInput/FormFieldInput.js +4 -1
  159. package/dist/esm/components/FormFieldInput/FormFieldInput.js.map +1 -1
  160. package/dist/esm/components/Heading/Heading.st.css.js +2 -2
  161. package/dist/esm/components/InputOverflow/InputOverflow.st.css.js +2 -2
  162. package/dist/esm/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
  163. package/dist/esm/components/LoadingRow/LoadingRow.st.css.js +3 -3
  164. package/dist/esm/components/LoadingRow/LoadingRow.st.css.js.map +1 -1
  165. package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  166. package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
  167. package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
  168. package/dist/esm/components/MoreFiltersCTA/MoreFiltersCTA.js +3 -3
  169. package/dist/esm/components/MoreFiltersCTA/MoreFiltersCTA.js.map +1 -1
  170. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
  171. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
  172. package/dist/esm/components/MultiLevelSorting/MultiLevelSortingCTAButton.js +13 -15
  173. package/dist/esm/components/MultiLevelSorting/MultiLevelSortingCTAButton.js.map +1 -1
  174. package/dist/esm/components/MultiLevelSorting/MultiLevelSortingCTAButton.uni.driver.js +7 -0
  175. package/dist/esm/components/MultiLevelSorting/MultiLevelSortingCTAButton.uni.driver.js.map +1 -0
  176. package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  177. package/dist/esm/components/NestedTable/NestedTableRow.st.css.js +2 -2
  178. package/dist/esm/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
  179. package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
  180. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
  181. package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
  182. package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js +2 -2
  183. package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  184. package/dist/esm/components/ResponsiveButton/ResponsiveButton.js +17 -0
  185. package/dist/esm/components/ResponsiveButton/ResponsiveButton.js.map +1 -0
  186. package/dist/esm/components/ResponsiveButton/ResponsiveButton.uni.driver.js +9 -0
  187. package/dist/esm/components/ResponsiveButton/ResponsiveButton.uni.driver.js.map +1 -0
  188. package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  189. package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
  190. package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js +2 -2
  191. package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
  192. package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +2 -2
  193. package/dist/esm/components/TabsFilter/TabsFilter.st.css.js +2 -2
  194. package/dist/esm/components/Tags/BulkAssignTagsPopover/AsyncJobProgressModal.js +2 -2
  195. package/dist/esm/components/Tags/BulkAssignTagsPopover/AsyncJobProgressModal.js.map +1 -1
  196. package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  197. package/dist/esm/components/Tags/TagsBulkAssignUtils.js +24 -0
  198. package/dist/esm/components/Tags/TagsBulkAssignUtils.js.map +1 -0
  199. package/dist/esm/components/Tags/useTagsBulkAssignFoldersUtils.js +8 -5
  200. package/dist/esm/components/Tags/useTagsBulkAssignFoldersUtils.js.map +1 -1
  201. package/dist/esm/components/Tags/useTagsBulkAssignUtils.js +5 -4
  202. package/dist/esm/components/Tags/useTagsBulkAssignUtils.js.map +1 -1
  203. package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  204. package/dist/esm/components/common.st.css.js +2 -2
  205. package/dist/esm/state/CustomFields/CustomFieldsFormState.js +1 -31
  206. package/dist/esm/state/CustomFields/CustomFieldsFormState.js.map +1 -1
  207. package/dist/esm/state/EntityPage/EntityPageState.js.map +1 -1
  208. package/dist/esm/state/FoldersAndItemsCollectionsState.js +2 -2
  209. package/dist/esm/state/FoldersAndItemsCollectionsState.js.map +1 -1
  210. package/dist/esm/state/Responsive/HorizontalOverflowState.js +45 -0
  211. package/dist/esm/state/Responsive/HorizontalOverflowState.js.map +1 -0
  212. package/dist/esm/state/Responsive/HorizontalSpaceAvailableState.js +45 -0
  213. package/dist/esm/state/Responsive/HorizontalSpaceAvailableState.js.map +1 -0
  214. package/dist/esm/state/SettingsPage/SettingsPageState.js.map +1 -1
  215. package/dist/esm/state/TagsBulkAssignAsyncState.js +74 -18
  216. package/dist/esm/state/TagsBulkAssignAsyncState.js.map +1 -1
  217. package/dist/esm/state/TagsBulkAssignPopoverState.js +2 -8
  218. package/dist/esm/state/TagsBulkAssignPopoverState.js.map +1 -1
  219. package/dist/esm/state/TagsBulkAssignSyncState.js +6 -0
  220. package/dist/esm/state/TagsBulkAssignSyncState.js.map +1 -1
  221. package/dist/esm/state/Toolbar/ToolbarResponsivePriorityState.js +44 -0
  222. package/dist/esm/state/Toolbar/ToolbarResponsivePriorityState.js.map +1 -0
  223. package/dist/esm/state/Toolbar/ToolbarResponsiveState.js +70 -0
  224. package/dist/esm/state/Toolbar/ToolbarResponsiveState.js.map +1 -0
  225. package/dist/esm/state/ToolbarCollectionState.js +2 -0
  226. package/dist/esm/state/ToolbarCollectionState.js.map +1 -1
  227. package/dist/esm/styles.global.css +1 -1
  228. package/dist/esm/test-utils/AsyncJobMocks.js +11 -0
  229. package/dist/esm/test-utils/AsyncJobMocks.js.map +1 -1
  230. package/dist/esm/test-utils/WixPatternsEssentialsTestProvider.js +14 -7
  231. package/dist/esm/test-utils/WixPatternsEssentialsTestProvider.js.map +1 -1
  232. package/dist/esm/version.js +1 -1
  233. package/dist/types/components/ActionModal/CustomActionModal.d.ts.map +1 -1
  234. package/dist/types/components/CollectionTable/CollectionTable.uni.driver.d.ts +52 -2
  235. package/dist/types/components/CollectionTable/CollectionTable.uni.driver.d.ts.map +1 -1
  236. package/dist/types/components/CollectionToolbar/CollectionToolbar.uni.driver.d.ts +37 -11
  237. package/dist/types/components/CollectionToolbar/CollectionToolbar.uni.driver.d.ts.map +1 -1
  238. package/dist/types/components/CollectionToolbar/SearchOrCustomFilter.st.css.d.ts.map +1 -1
  239. package/dist/types/components/CollectionToolbars/ToolbarAndTitlebarContainer.d.ts +2 -2
  240. package/dist/types/components/CollectionToolbars/ToolbarAndTitlebarContainer.d.ts.map +1 -1
  241. package/dist/types/components/CollectionToolbars/ToolbarState.d.ts +2 -0
  242. package/dist/types/components/CollectionToolbars/ToolbarState.d.ts.map +1 -1
  243. package/dist/types/components/CustomColumnsPanel/CustomColumnsCTAButton.d.ts.map +1 -1
  244. package/dist/types/components/CustomFieldModal/CustomFieldFormPiiFields.d.ts.map +1 -1
  245. package/dist/types/components/CustomFieldModal/CustomFieldModal.uni.driver.d.ts +1 -0
  246. package/dist/types/components/CustomFieldModal/CustomFieldModal.uni.driver.d.ts.map +1 -1
  247. package/dist/types/components/CustomFieldsForm/CustomFieldsForm.d.ts.map +1 -1
  248. package/dist/types/components/CustomFieldsWidget/CustomFieldsWidget.d.ts.map +1 -1
  249. package/dist/types/components/CustomFieldsWidget/CustomFieldsWidget.uni.driver.d.ts +2 -0
  250. package/dist/types/components/CustomFieldsWidget/CustomFieldsWidget.uni.driver.d.ts.map +1 -1
  251. package/dist/types/components/DragHandle/DragHandle.st.css.d.ts.map +1 -1
  252. package/dist/types/components/ExportButton/ExportButton.d.ts.map +1 -1
  253. package/dist/types/components/Fade/Fade.st.css.d.ts.map +1 -1
  254. package/dist/types/components/FormFieldInput/FormFieldInput.d.ts +13 -0
  255. package/dist/types/components/FormFieldInput/FormFieldInput.d.ts.map +1 -1
  256. package/dist/types/components/Grid/Grid.uni.driver.d.ts +26 -1
  257. package/dist/types/components/Grid/Grid.uni.driver.d.ts.map +1 -1
  258. package/dist/types/components/Grid/GridFolders.uni.driver.d.ts +75 -0
  259. package/dist/types/components/Grid/GridFolders.uni.driver.d.ts.map +1 -1
  260. package/dist/types/components/Grid/GridFoldersSection.uni.driver.d.ts +25 -0
  261. package/dist/types/components/Grid/GridFoldersSection.uni.driver.d.ts.map +1 -1
  262. package/dist/types/components/InputOverflow/InputOverflow.st.css.d.ts.map +1 -1
  263. package/dist/types/components/LoadingRow/LoadingRow.st.css.d.ts.map +1 -1
  264. package/dist/types/components/MaxHeightText/MaxHeightText.st.css.d.ts.map +1 -1
  265. package/dist/types/components/MoreFiltersCTA/MoreFiltersCTA.d.ts.map +1 -1
  266. package/dist/types/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.d.ts.map +1 -1
  267. package/dist/types/components/MultiLevelSorting/MultiLevelSortingCTAButton.d.ts.map +1 -1
  268. package/dist/types/components/MultiLevelSorting/MultiLevelSortingCTAButton.uni.driver.d.ts +29 -0
  269. package/dist/types/components/MultiLevelSorting/MultiLevelSortingCTAButton.uni.driver.d.ts.map +1 -0
  270. package/dist/types/components/NestedTable/NestedTable.uni.driver.d.ts +76 -36
  271. package/dist/types/components/NestedTable/NestedTable.uni.driver.d.ts.map +1 -1
  272. package/dist/types/components/NestedTable/NestedTableRow.st.css.d.ts.map +1 -1
  273. package/dist/types/components/ResponsiveButton/ResponsiveButton.d.ts +15 -0
  274. package/dist/types/components/ResponsiveButton/ResponsiveButton.d.ts.map +1 -0
  275. package/dist/types/components/ResponsiveButton/ResponsiveButton.uni.driver.d.ts +29 -0
  276. package/dist/types/components/ResponsiveButton/ResponsiveButton.uni.driver.d.ts.map +1 -0
  277. package/dist/types/components/ScrollableContent/ScrollableContent.st.css.d.ts.map +1 -1
  278. package/dist/types/components/SkeletonCard/SkeletonCard.st.css.d.ts.map +1 -1
  279. package/dist/types/components/Table/Table.uni.driver.d.ts +51 -0
  280. package/dist/types/components/Table/Table.uni.driver.d.ts.map +1 -1
  281. package/dist/types/components/TableFolders/TableFolders.uni.driver.d.ts +76 -0
  282. package/dist/types/components/TableFolders/TableFolders.uni.driver.d.ts.map +1 -1
  283. package/dist/types/components/TableGridSwitch/TableGridSwitch.uni.driver.d.ts +76 -0
  284. package/dist/types/components/TableGridSwitch/TableGridSwitch.uni.driver.d.ts.map +1 -1
  285. package/dist/types/components/TableGridSwitchFolders/TableGridSwitchFolders.uni.driver.d.ts +151 -0
  286. package/dist/types/components/TableGridSwitchFolders/TableGridSwitchFolders.uni.driver.d.ts.map +1 -1
  287. package/dist/types/components/Tags/BulkAssignTagsPopover/AsyncJobProgressModal.d.ts.map +1 -1
  288. package/dist/types/components/Tags/TagsBulkAssignUtils.d.ts +13 -0
  289. package/dist/types/components/Tags/TagsBulkAssignUtils.d.ts.map +1 -0
  290. package/dist/types/components/Tags/useTagsBulkAssignFoldersUtils.d.ts.map +1 -1
  291. package/dist/types/components/Tags/useTagsBulkAssignUtils.d.ts.map +1 -1
  292. package/dist/types/state/CustomFields/CustomFieldsFormState.d.ts +0 -8
  293. package/dist/types/state/CustomFields/CustomFieldsFormState.d.ts.map +1 -1
  294. package/dist/types/state/FoldersAndItemsCollectionsState.d.ts +1 -1
  295. package/dist/types/state/FoldersAndItemsCollectionsState.d.ts.map +1 -1
  296. package/dist/types/state/Responsive/HorizontalOverflowState.d.ts +19 -0
  297. package/dist/types/state/Responsive/HorizontalOverflowState.d.ts.map +1 -0
  298. package/dist/types/state/Responsive/HorizontalSpaceAvailableState.d.ts +20 -0
  299. package/dist/types/state/Responsive/HorizontalSpaceAvailableState.d.ts.map +1 -0
  300. package/dist/types/state/TagsBulkAssignAsyncState.d.ts +5 -0
  301. package/dist/types/state/TagsBulkAssignAsyncState.d.ts.map +1 -1
  302. package/dist/types/state/TagsBulkAssignPopoverState.d.ts +0 -2
  303. package/dist/types/state/TagsBulkAssignPopoverState.d.ts.map +1 -1
  304. package/dist/types/state/TagsBulkAssignSyncState.d.ts +2 -0
  305. package/dist/types/state/TagsBulkAssignSyncState.d.ts.map +1 -1
  306. package/dist/types/state/Toolbar/ToolbarResponsivePriorityState.d.ts +22 -0
  307. package/dist/types/state/Toolbar/ToolbarResponsivePriorityState.d.ts.map +1 -0
  308. package/dist/types/state/Toolbar/ToolbarResponsiveState.d.ts +22 -0
  309. package/dist/types/state/Toolbar/ToolbarResponsiveState.d.ts.map +1 -0
  310. package/dist/types/state/ToolbarCollectionState.d.ts +2 -0
  311. package/dist/types/state/ToolbarCollectionState.d.ts.map +1 -1
  312. package/dist/types/test-utils/AsyncJobMocks.d.ts +4 -0
  313. package/dist/types/test-utils/AsyncJobMocks.d.ts.map +1 -1
  314. package/dist/types/test-utils/WixPatternsEssentialsTestProvider.d.ts.map +1 -1
  315. package/dist/types/testkit/enzyme.d.ts +531 -0
  316. package/dist/types/testkit/enzyme.d.ts.map +1 -1
  317. package/dist/types/testkit/jsdom.d.ts +532 -0
  318. package/dist/types/testkit/jsdom.d.ts.map +1 -1
  319. package/dist/types/testkit/puppeteer.d.ts +531 -0
  320. package/dist/types/testkit/puppeteer.d.ts.map +1 -1
  321. package/dist/types/version.d.ts +1 -1
  322. package/package.json +3 -3
  323. package/dist/cjs/components/Tags/useTagsBulkAssignBaseUtils.js +0 -28
  324. package/dist/cjs/components/Tags/useTagsBulkAssignBaseUtils.js.map +0 -1
  325. package/dist/esm/components/Tags/useTagsBulkAssignBaseUtils.js +0 -16
  326. package/dist/esm/components/Tags/useTagsBulkAssignBaseUtils.js.map +0 -1
  327. package/dist/types/components/Tags/useTagsBulkAssignBaseUtils.d.ts +0 -15
  328. package/dist/types/components/Tags/useTagsBulkAssignBaseUtils.d.ts.map +0 -1
@@ -5,14 +5,14 @@ exports.vars = exports.style = exports.stVars = exports.st = exports.namespace =
5
5
  var _stylableEsmRuntime = require("../../../../stylable-esm-runtime.js");
6
6
  // @ts-nocheck
7
7
 
8
- var _namespace_ = "ManageTagsModal2157987524";
8
+ var _namespace_ = "ManageTagsModal3942422089";
9
9
  var _style_ = _stylableEsmRuntime.classesRuntime.bind(null, _namespace_);
10
10
  var cssStates = exports.cssStates = _stylableEsmRuntime.statesRuntime.bind(null, _namespace_);
11
11
  var style = exports.style = _style_;
12
12
  var st = exports.st = _style_;
13
13
  var namespace = exports.namespace = _namespace_;
14
14
  var classes = exports.classes = {
15
- "root": "ManageTagsModal2157987524__root"
15
+ "root": "ManageTagsModal3942422089__root"
16
16
  };
17
17
  var keyframes = exports.keyframes = {};
18
18
  var layers = exports.layers = {};
@@ -1 +1 @@
1
- {"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../../../src/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"ManageTagsModal2157987524\";\nvar _style_ = classesRuntime.bind(null, _namespace_);\n\nexport var cssStates = statesRuntime.bind(null, _namespace_);\nexport var style = _style_;\nexport var st: import(\"@stylable/runtime\").STFunction = _style_;\n\nexport var namespace = _namespace_;\nexport var classes = {\"root\":\"ManageTagsModal2157987524__root\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {}; \n\n\n\n\n"],"mappings":";;;;AAGA,IAAAA,mBAAA,GAAAC,OAAA;AAHA;;AAOA,IAAIC,WAAW,GAAG,2BAA2B;AAC7C,IAAIC,OAAO,GAAGC,kCAAc,CAACC,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AAE7C,IAAII,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAGE,iCAAa,CAACH,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AACrD,IAAIO,KAAK,GAAAF,OAAA,CAAAE,KAAA,GAAGN,OAAO;AACnB,IAAIO,EAA0C,GAAAH,OAAA,CAAAG,EAAA,GAAGP,OAAO;AAExD,IAAIQ,SAAS,GAAAJ,OAAA,CAAAI,SAAA,GAAGT,WAAW;AAC3B,IAAIU,OAAO,GAAAL,OAAA,CAAAK,OAAA,GAAG;EAAC,MAAM,EAAC;AAAiC,CAAC;AACxD,IAAIC,SAAS,GAAAN,OAAA,CAAAM,SAAA,GAAG,CAAC,CAAC;AAClB,IAAIC,MAAM,GAAAP,OAAA,CAAAO,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,UAAU,GAAAR,OAAA,CAAAQ,UAAA,GAAG,CAAC,CAAC;AACnB,IAAIC,MAAM,GAAAT,OAAA,CAAAS,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,IAAI,GAAAV,OAAA,CAAAU,IAAA,GAAG,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../../../src/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"ManageTagsModal3942422089\";\nvar _style_ = classesRuntime.bind(null, _namespace_);\n\nexport var cssStates = statesRuntime.bind(null, _namespace_);\nexport var style = _style_;\nexport var st: import(\"@stylable/runtime\").STFunction = _style_;\n\nexport var namespace = _namespace_;\nexport var classes = {\"root\":\"ManageTagsModal3942422089__root\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {}; \n\n\n\n\n"],"mappings":";;;;AAGA,IAAAA,mBAAA,GAAAC,OAAA;AAHA;;AAOA,IAAIC,WAAW,GAAG,2BAA2B;AAC7C,IAAIC,OAAO,GAAGC,kCAAc,CAACC,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AAE7C,IAAII,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAGE,iCAAa,CAACH,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AACrD,IAAIO,KAAK,GAAAF,OAAA,CAAAE,KAAA,GAAGN,OAAO;AACnB,IAAIO,EAA0C,GAAAH,OAAA,CAAAG,EAAA,GAAGP,OAAO;AAExD,IAAIQ,SAAS,GAAAJ,OAAA,CAAAI,SAAA,GAAGT,WAAW;AAC3B,IAAIU,OAAO,GAAAL,OAAA,CAAAK,OAAA,GAAG;EAAC,MAAM,EAAC;AAAiC,CAAC;AACxD,IAAIC,SAAS,GAAAN,OAAA,CAAAM,SAAA,GAAG,CAAC,CAAC;AAClB,IAAIC,MAAM,GAAAP,OAAA,CAAAO,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,UAAU,GAAAR,OAAA,CAAAQ,UAAA,GAAG,CAAC,CAAC;AACnB,IAAIC,MAAM,GAAAT,OAAA,CAAAS,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,IAAI,GAAAV,OAAA,CAAAU,IAAA,GAAG,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.getBulkAssignStatus = getBulkAssignStatus;
5
+ exports.getDisabledTooltipContent = getDisabledTooltipContent;
6
+ function getBulkAssignStatus({
7
+ state
8
+ }) {
9
+ var _state$tagsCollection, _state$tagsCollection2, _state$tagsCollection3;
10
+ const canUseBulkSync = (_state$tagsCollection = state.tagsCollectionState) == null ? void 0 : _state$tagsCollection.tagsBulkAssignPopoverState.bulkAssignSyncState.canUseBulkSync;
11
+ const canBulkAssignAsync = (_state$tagsCollection2 = state.tagsCollectionState) == null ? void 0 : _state$tagsCollection2.tagsBulkAssignPopoverState.bulkAssignAsyncState.canBulkAssignAsync;
12
+ const hasReachedMaxSelectedItems = !canUseBulkSync && !canBulkAssignAsync;
13
+ const isDuringApplyChanges = (_state$tagsCollection3 = state.tagsCollectionState) == null ? void 0 : _state$tagsCollection3.tagsBulkAssignPopoverState.bulkAssignAsyncState.isDuringApplyChanges;
14
+ return {
15
+ hasReachedMaxSelectedItems,
16
+ isDuringApplyChanges
17
+ };
18
+ }
19
+ function getDisabledTooltipContent({
20
+ state,
21
+ hasSelectedFolders
22
+ }) {
23
+ const {
24
+ hasReachedMaxSelectedItems,
25
+ isDuringApplyChanges
26
+ } = getBulkAssignStatus({
27
+ state
28
+ });
29
+ switch (true) {
30
+ case isDuringApplyChanges:
31
+ return state.container.translate('cairo.tags.popover.bulkItemUpdate.tooltip');
32
+ case hasSelectedFolders:
33
+ return state.container.translate('cairo.tags.popover.assignFolder.tooltip');
34
+ case hasReachedMaxSelectedItems:
35
+ return state.container.translate('cairo.tags.popover.bulkItemLimit.tooltip');
36
+ default:
37
+ return null;
38
+ }
39
+ }
40
+ //# sourceMappingURL=TagsBulkAssignUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getBulkAssignStatus","state","_state$tagsCollection","_state$tagsCollection2","_state$tagsCollection3","canUseBulkSync","tagsCollectionState","tagsBulkAssignPopoverState","bulkAssignSyncState","canBulkAssignAsync","bulkAssignAsyncState","hasReachedMaxSelectedItems","isDuringApplyChanges","getDisabledTooltipContent","hasSelectedFolders","container","translate"],"sources":["../../../../src/components/Tags/TagsBulkAssignUtils.ts"],"sourcesContent":["import { ToolbarCollectionState } from '../../state';\nimport { FiltersMap } from '@wix/bex-core';\n\nexport function getBulkAssignStatus<T, F extends FiltersMap>({\n state,\n}: {\n state: ToolbarCollectionState<T, F>;\n}) {\n const canUseBulkSync =\n state.tagsCollectionState?.tagsBulkAssignPopoverState.bulkAssignSyncState\n .canUseBulkSync;\n const canBulkAssignAsync =\n state.tagsCollectionState?.tagsBulkAssignPopoverState.bulkAssignAsyncState\n .canBulkAssignAsync;\n const hasReachedMaxSelectedItems = !canUseBulkSync && !canBulkAssignAsync;\n\n const isDuringApplyChanges =\n state.tagsCollectionState?.tagsBulkAssignPopoverState.bulkAssignAsyncState\n .isDuringApplyChanges;\n\n return { hasReachedMaxSelectedItems, isDuringApplyChanges };\n}\n\nexport function getDisabledTooltipContent<T, F extends FiltersMap>({\n state,\n hasSelectedFolders,\n}: {\n state: ToolbarCollectionState<T, F>;\n hasSelectedFolders?: boolean;\n}) {\n const { hasReachedMaxSelectedItems, isDuringApplyChanges } =\n getBulkAssignStatus({ state });\n\n switch (true) {\n case isDuringApplyChanges:\n return state.container.translate(\n 'cairo.tags.popover.bulkItemUpdate.tooltip',\n );\n case hasSelectedFolders:\n return state.container.translate(\n 'cairo.tags.popover.assignFolder.tooltip',\n );\n case hasReachedMaxSelectedItems:\n return state.container.translate(\n 'cairo.tags.popover.bulkItemLimit.tooltip',\n );\n default:\n return null;\n }\n}\n"],"mappings":";;;;;AAGO,SAASA,mBAAmBA,CAA0B;EAC3DC;AAGF,CAAC,EAAE;EAAA,IAAAC,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA;EACD,MAAMC,cAAc,IAAAH,qBAAA,GAClBD,KAAK,CAACK,mBAAmB,qBAAzBJ,qBAAA,CAA2BK,0BAA0B,CAACC,mBAAmB,CACtEH,cAAc;EACnB,MAAMI,kBAAkB,IAAAN,sBAAA,GACtBF,KAAK,CAACK,mBAAmB,qBAAzBH,sBAAA,CAA2BI,0BAA0B,CAACG,oBAAoB,CACvED,kBAAkB;EACvB,MAAME,0BAA0B,GAAG,CAACN,cAAc,IAAI,CAACI,kBAAkB;EAEzE,MAAMG,oBAAoB,IAAAR,sBAAA,GACxBH,KAAK,CAACK,mBAAmB,qBAAzBF,sBAAA,CAA2BG,0BAA0B,CAACG,oBAAoB,CACvEE,oBAAoB;EAEzB,OAAO;IAAED,0BAA0B;IAAEC;EAAqB,CAAC;AAC7D;AAEO,SAASC,yBAAyBA,CAA0B;EACjEZ,KAAK;EACLa;AAIF,CAAC,EAAE;EACD,MAAM;IAAEH,0BAA0B;IAAEC;EAAqB,CAAC,GACxDZ,mBAAmB,CAAC;IAAEC;EAAM,CAAC,CAAC;EAEhC,QAAQ,IAAI;IACV,KAAKW,oBAAoB;MACvB,OAAOX,KAAK,CAACc,SAAS,CAACC,SAAS,CAC9B,2CACF,CAAC;IACH,KAAKF,kBAAkB;MACrB,OAAOb,KAAK,CAACc,SAAS,CAACC,SAAS,CAC9B,yCACF,CAAC;IACH,KAAKL,0BAA0B;MAC7B,OAAOV,KAAK,CAACc,SAAS,CAACC,SAAS,CAC9B,0CACF,CAAC;IACH;MACE,OAAO,IAAI;EACf;AACF","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  exports.__esModule = true;
4
4
  exports.useTagsBulkAssignFoldersUtils = useTagsBulkAssignFoldersUtils;
5
5
  var _react = require("react");
6
- var _useTagsBulkAssignBaseUtils = require("./useTagsBulkAssignBaseUtils");
6
+ var _TagsBulkAssignUtils = require("./TagsBulkAssignUtils");
7
7
  function useTagsBulkAssignFoldersUtils({
8
8
  state
9
9
  }) {
@@ -12,19 +12,19 @@ function useTagsBulkAssignFoldersUtils({
12
12
  tagsBulkAssignButtonState
13
13
  } = ((_state$toolbar$tagsCo = state.toolbar.tagsCollectionState) == null ? void 0 : _state$toolbar$tagsCo.tagsBulkAssignPopoverState) ?? {};
14
14
  const {
15
- bulkJob
16
- } = (0, _useTagsBulkAssignBaseUtils.useTagsBulkAssignBaseUtils)({
15
+ hasReachedMaxSelectedItems,
16
+ isDuringApplyChanges
17
+ } = (0, _TagsBulkAssignUtils.getBulkAssignStatus)({
17
18
  state: state.toolbar
18
19
  });
19
20
  (0, _react.useEffect)(() => {
20
21
  if (tagsBulkAssignButtonState) {
21
- const tooltipContent = (0, _useTagsBulkAssignBaseUtils.getDisabledTooltipContent)({
22
+ const tooltipContent = (0, _TagsBulkAssignUtils.getDisabledTooltipContent)({
22
23
  state: state.toolbar,
23
- bulkJob,
24
- hasBulkSelectFolders: state.collections.hasBulkSelectFolders
24
+ hasSelectedFolders: state.collections.hasSelectedFolders
25
25
  });
26
26
  tagsBulkAssignButtonState.setTooltipContent(tooltipContent);
27
27
  }
28
- }, [bulkJob, state.collections.hasBulkSelectFolders]);
28
+ }, [hasReachedMaxSelectedItems, isDuringApplyChanges, state.collections.hasSelectedFolders]);
29
29
  }
30
30
  //# sourceMappingURL=useTagsBulkAssignFoldersUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_useTagsBulkAssignBaseUtils","useTagsBulkAssignFoldersUtils","state","_state$toolbar$tagsCo","tagsBulkAssignButtonState","toolbar","tagsCollectionState","tagsBulkAssignPopoverState","bulkJob","useTagsBulkAssignBaseUtils","useEffect","tooltipContent","getDisabledTooltipContent","hasBulkSelectFolders","collections","setTooltipContent"],"sources":["../../../../src/components/Tags/useTagsBulkAssignFoldersUtils.ts"],"sourcesContent":["import { useEffect } from 'react';\nimport { TableFoldersState } from '../../state';\nimport { FiltersMap } from '@wix/bex-core';\nimport {\n getDisabledTooltipContent,\n useTagsBulkAssignBaseUtils,\n} from './useTagsBulkAssignBaseUtils';\n\ninterface UseTagsBulkAssignFoldersUtilsProps<\n T1,\n F1 extends FiltersMap,\n T2,\n F2 extends FiltersMap,\n> {\n state: TableFoldersState<T1, F1, T2, F2>;\n}\n\nexport function useTagsBulkAssignFoldersUtils<\n T1,\n F1 extends FiltersMap,\n T2,\n F2 extends FiltersMap,\n>({ state }: UseTagsBulkAssignFoldersUtilsProps<T1, F1, T2, F2>) {\n const { tagsBulkAssignButtonState } =\n state.toolbar.tagsCollectionState?.tagsBulkAssignPopoverState ?? {};\n\n const { bulkJob } = useTagsBulkAssignBaseUtils({\n state: state.toolbar,\n });\n\n useEffect(() => {\n if (tagsBulkAssignButtonState) {\n const tooltipContent = getDisabledTooltipContent({\n state: state.toolbar,\n bulkJob,\n hasBulkSelectFolders: state.collections.hasBulkSelectFolders,\n });\n tagsBulkAssignButtonState.setTooltipContent(tooltipContent);\n }\n }, [bulkJob, state.collections.hasBulkSelectFolders]);\n}\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGA,IAAAC,2BAAA,GAAAD,OAAA;AAcO,SAASE,6BAA6BA,CAK3C;EAAEC;AAA0D,CAAC,EAAE;EAAA,IAAAC,qBAAA;EAC/D,MAAM;IAAEC;EAA0B,CAAC,GACjC,EAAAD,qBAAA,GAAAD,KAAK,CAACG,OAAO,CAACC,mBAAmB,qBAAjCH,qBAAA,CAAmCI,0BAA0B,KAAI,CAAC,CAAC;EAErE,MAAM;IAAEC;EAAQ,CAAC,GAAG,IAAAC,sDAA0B,EAAC;IAC7CP,KAAK,EAAEA,KAAK,CAACG;EACf,CAAC,CAAC;EAEF,IAAAK,gBAAS,EAAC,MAAM;IACd,IAAIN,yBAAyB,EAAE;MAC7B,MAAMO,cAAc,GAAG,IAAAC,qDAAyB,EAAC;QAC/CV,KAAK,EAAEA,KAAK,CAACG,OAAO;QACpBG,OAAO;QACPK,oBAAoB,EAAEX,KAAK,CAACY,WAAW,CAACD;MAC1C,CAAC,CAAC;MACFT,yBAAyB,CAACW,iBAAiB,CAACJ,cAAc,CAAC;IAC7D;EACF,CAAC,EAAE,CAACH,OAAO,EAAEN,KAAK,CAACY,WAAW,CAACD,oBAAoB,CAAC,CAAC;AACvD","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_TagsBulkAssignUtils","useTagsBulkAssignFoldersUtils","state","_state$toolbar$tagsCo","tagsBulkAssignButtonState","toolbar","tagsCollectionState","tagsBulkAssignPopoverState","hasReachedMaxSelectedItems","isDuringApplyChanges","getBulkAssignStatus","useEffect","tooltipContent","getDisabledTooltipContent","hasSelectedFolders","collections","setTooltipContent"],"sources":["../../../../src/components/Tags/useTagsBulkAssignFoldersUtils.ts"],"sourcesContent":["import { useEffect } from 'react';\nimport { TableFoldersState } from '../../state';\nimport { FiltersMap } from '@wix/bex-core';\nimport {\n getBulkAssignStatus,\n getDisabledTooltipContent,\n} from './TagsBulkAssignUtils';\n\ninterface UseTagsBulkAssignFoldersUtilsProps<\n T1,\n F1 extends FiltersMap,\n T2,\n F2 extends FiltersMap,\n> {\n state: TableFoldersState<T1, F1, T2, F2>;\n}\n\nexport function useTagsBulkAssignFoldersUtils<\n T1,\n F1 extends FiltersMap,\n T2,\n F2 extends FiltersMap,\n>({ state }: UseTagsBulkAssignFoldersUtilsProps<T1, F1, T2, F2>) {\n const { tagsBulkAssignButtonState } =\n state.toolbar.tagsCollectionState?.tagsBulkAssignPopoverState ?? {};\n\n const { hasReachedMaxSelectedItems, isDuringApplyChanges } =\n getBulkAssignStatus({\n state: state.toolbar,\n });\n\n useEffect(() => {\n if (tagsBulkAssignButtonState) {\n const tooltipContent = getDisabledTooltipContent({\n state: state.toolbar,\n hasSelectedFolders: state.collections.hasSelectedFolders,\n });\n tagsBulkAssignButtonState.setTooltipContent(tooltipContent);\n }\n }, [\n hasReachedMaxSelectedItems,\n isDuringApplyChanges,\n state.collections.hasSelectedFolders,\n ]);\n}\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGA,IAAAC,oBAAA,GAAAD,OAAA;AAcO,SAASE,6BAA6BA,CAK3C;EAAEC;AAA0D,CAAC,EAAE;EAAA,IAAAC,qBAAA;EAC/D,MAAM;IAAEC;EAA0B,CAAC,GACjC,EAAAD,qBAAA,GAAAD,KAAK,CAACG,OAAO,CAACC,mBAAmB,qBAAjCH,qBAAA,CAAmCI,0BAA0B,KAAI,CAAC,CAAC;EAErE,MAAM;IAAEC,0BAA0B;IAAEC;EAAqB,CAAC,GACxD,IAAAC,wCAAmB,EAAC;IAClBR,KAAK,EAAEA,KAAK,CAACG;EACf,CAAC,CAAC;EAEJ,IAAAM,gBAAS,EAAC,MAAM;IACd,IAAIP,yBAAyB,EAAE;MAC7B,MAAMQ,cAAc,GAAG,IAAAC,8CAAyB,EAAC;QAC/CX,KAAK,EAAEA,KAAK,CAACG,OAAO;QACpBS,kBAAkB,EAAEZ,KAAK,CAACa,WAAW,CAACD;MACxC,CAAC,CAAC;MACFV,yBAAyB,CAACY,iBAAiB,CAACJ,cAAc,CAAC;IAC7D;EACF,CAAC,EAAE,CACDJ,0BAA0B,EAC1BC,oBAAoB,EACpBP,KAAK,CAACa,WAAW,CAACD,kBAAkB,CACrC,CAAC;AACJ","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  exports.__esModule = true;
4
4
  exports.useTagsBulkAssignUtils = useTagsBulkAssignUtils;
5
5
  var _react = require("react");
6
- var _useTagsBulkAssignBaseUtils = require("./useTagsBulkAssignBaseUtils");
6
+ var _TagsBulkAssignUtils = require("./TagsBulkAssignUtils");
7
7
  function useTagsBulkAssignUtils({
8
8
  state
9
9
  }) {
@@ -12,18 +12,18 @@ function useTagsBulkAssignUtils({
12
12
  tagsBulkAssignButtonState
13
13
  } = ((_state$toolbar$tagsCo = state.toolbar.tagsCollectionState) == null ? void 0 : _state$toolbar$tagsCo.tagsBulkAssignPopoverState) ?? {};
14
14
  const {
15
- bulkJob
16
- } = (0, _useTagsBulkAssignBaseUtils.useTagsBulkAssignBaseUtils)({
15
+ hasReachedMaxSelectedItems,
16
+ isDuringApplyChanges
17
+ } = (0, _TagsBulkAssignUtils.getBulkAssignStatus)({
17
18
  state: state.toolbar
18
19
  });
19
20
  (0, _react.useEffect)(() => {
20
21
  if (tagsBulkAssignButtonState) {
21
- const tooltipContent = (0, _useTagsBulkAssignBaseUtils.getDisabledTooltipContent)({
22
- state: state.toolbar,
23
- bulkJob
22
+ const tooltipContent = (0, _TagsBulkAssignUtils.getDisabledTooltipContent)({
23
+ state: state.toolbar
24
24
  });
25
25
  tagsBulkAssignButtonState.setTooltipContent(tooltipContent);
26
26
  }
27
- }, [bulkJob]);
27
+ }, [hasReachedMaxSelectedItems, isDuringApplyChanges]);
28
28
  }
29
29
  //# sourceMappingURL=useTagsBulkAssignUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_useTagsBulkAssignBaseUtils","useTagsBulkAssignUtils","state","_state$toolbar$tagsCo","tagsBulkAssignButtonState","toolbar","tagsCollectionState","tagsBulkAssignPopoverState","bulkJob","useTagsBulkAssignBaseUtils","useEffect","tooltipContent","getDisabledTooltipContent","setTooltipContent"],"sources":["../../../../src/components/Tags/useTagsBulkAssignUtils.ts"],"sourcesContent":["import { useEffect } from 'react';\nimport { TableState } from '../../state';\nimport { FiltersMap } from '@wix/bex-core';\nimport {\n getDisabledTooltipContent,\n useTagsBulkAssignBaseUtils,\n} from './useTagsBulkAssignBaseUtils';\n\ninterface UseTagsBulkAssignUtilsProps<T1, F1 extends FiltersMap> {\n state: TableState<T1, F1>;\n}\n\nexport function useTagsBulkAssignUtils<T1, F1 extends FiltersMap>({\n state,\n}: UseTagsBulkAssignUtilsProps<T1, F1>) {\n const { tagsBulkAssignButtonState } =\n state.toolbar.tagsCollectionState?.tagsBulkAssignPopoverState ?? {};\n\n const { bulkJob } = useTagsBulkAssignBaseUtils({ state: state.toolbar });\n\n useEffect(() => {\n if (tagsBulkAssignButtonState) {\n const tooltipContent = getDisabledTooltipContent({\n state: state.toolbar,\n bulkJob,\n });\n tagsBulkAssignButtonState.setTooltipContent(tooltipContent);\n }\n }, [bulkJob]);\n}\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGA,IAAAC,2BAAA,GAAAD,OAAA;AASO,SAASE,sBAAsBA,CAA4B;EAChEC;AACmC,CAAC,EAAE;EAAA,IAAAC,qBAAA;EACtC,MAAM;IAAEC;EAA0B,CAAC,GACjC,EAAAD,qBAAA,GAAAD,KAAK,CAACG,OAAO,CAACC,mBAAmB,qBAAjCH,qBAAA,CAAmCI,0BAA0B,KAAI,CAAC,CAAC;EAErE,MAAM;IAAEC;EAAQ,CAAC,GAAG,IAAAC,sDAA0B,EAAC;IAAEP,KAAK,EAAEA,KAAK,CAACG;EAAQ,CAAC,CAAC;EAExE,IAAAK,gBAAS,EAAC,MAAM;IACd,IAAIN,yBAAyB,EAAE;MAC7B,MAAMO,cAAc,GAAG,IAAAC,qDAAyB,EAAC;QAC/CV,KAAK,EAAEA,KAAK,CAACG,OAAO;QACpBG;MACF,CAAC,CAAC;MACFJ,yBAAyB,CAACS,iBAAiB,CAACF,cAAc,CAAC;IAC7D;EACF,CAAC,EAAE,CAACH,OAAO,CAAC,CAAC;AACf","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_TagsBulkAssignUtils","useTagsBulkAssignUtils","state","_state$toolbar$tagsCo","tagsBulkAssignButtonState","toolbar","tagsCollectionState","tagsBulkAssignPopoverState","hasReachedMaxSelectedItems","isDuringApplyChanges","getBulkAssignStatus","useEffect","tooltipContent","getDisabledTooltipContent","setTooltipContent"],"sources":["../../../../src/components/Tags/useTagsBulkAssignUtils.ts"],"sourcesContent":["import { useEffect } from 'react';\nimport { TableState } from '../../state';\nimport { FiltersMap } from '@wix/bex-core';\nimport {\n getBulkAssignStatus,\n getDisabledTooltipContent,\n} from './TagsBulkAssignUtils';\n\ninterface UseTagsBulkAssignUtilsProps<T1, F1 extends FiltersMap> {\n state: TableState<T1, F1>;\n}\n\nexport function useTagsBulkAssignUtils<T1, F1 extends FiltersMap>({\n state,\n}: UseTagsBulkAssignUtilsProps<T1, F1>) {\n const { tagsBulkAssignButtonState } =\n state.toolbar.tagsCollectionState?.tagsBulkAssignPopoverState ?? {};\n\n const { hasReachedMaxSelectedItems, isDuringApplyChanges } =\n getBulkAssignStatus({\n state: state.toolbar,\n });\n useEffect(() => {\n if (tagsBulkAssignButtonState) {\n const tooltipContent = getDisabledTooltipContent({\n state: state.toolbar,\n });\n tagsBulkAssignButtonState.setTooltipContent(tooltipContent);\n }\n }, [hasReachedMaxSelectedItems, isDuringApplyChanges]);\n}\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGA,IAAAC,oBAAA,GAAAD,OAAA;AASO,SAASE,sBAAsBA,CAA4B;EAChEC;AACmC,CAAC,EAAE;EAAA,IAAAC,qBAAA;EACtC,MAAM;IAAEC;EAA0B,CAAC,GACjC,EAAAD,qBAAA,GAAAD,KAAK,CAACG,OAAO,CAACC,mBAAmB,qBAAjCH,qBAAA,CAAmCI,0BAA0B,KAAI,CAAC,CAAC;EAErE,MAAM;IAAEC,0BAA0B;IAAEC;EAAqB,CAAC,GACxD,IAAAC,wCAAmB,EAAC;IAClBR,KAAK,EAAEA,KAAK,CAACG;EACf,CAAC,CAAC;EACJ,IAAAM,gBAAS,EAAC,MAAM;IACd,IAAIP,yBAAyB,EAAE;MAC7B,MAAMQ,cAAc,GAAG,IAAAC,8CAAyB,EAAC;QAC/CX,KAAK,EAAEA,KAAK,CAACG;MACf,CAAC,CAAC;MACFD,yBAAyB,CAACU,iBAAiB,CAACF,cAAc,CAAC;IAC7D;EACF,CAAC,EAAE,CAACJ,0BAA0B,EAAEC,oBAAoB,CAAC,CAAC;AACxD","ignoreList":[]}
@@ -5,14 +5,14 @@ exports.vars = exports.style = exports.stVars = exports.st = exports.namespace =
5
5
  var _stylableEsmRuntime = require("../../stylable-esm-runtime.js");
6
6
  // @ts-nocheck
7
7
 
8
- var _namespace_ = "ToolbarItemBox3217190567";
8
+ var _namespace_ = "ToolbarItemBox2945322218";
9
9
  var _style_ = _stylableEsmRuntime.classesRuntime.bind(null, _namespace_);
10
10
  var cssStates = exports.cssStates = _stylableEsmRuntime.statesRuntime.bind(null, _namespace_);
11
11
  var style = exports.style = _style_;
12
12
  var st = exports.st = _style_;
13
13
  var namespace = exports.namespace = _namespace_;
14
14
  var classes = exports.classes = {
15
- "root": "ToolbarItemBox3217190567__root"
15
+ "root": "ToolbarItemBox2945322218__root"
16
16
  };
17
17
  var keyframes = exports.keyframes = {};
18
18
  var layers = exports.layers = {};
@@ -1 +1 @@
1
- {"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../src/components/ToolbarItemBox/ToolbarItemBox.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"ToolbarItemBox3217190567\";\nvar _style_ = classesRuntime.bind(null, _namespace_);\n\nexport var cssStates = statesRuntime.bind(null, _namespace_);\nexport var style = _style_;\nexport var st: import(\"@stylable/runtime\").STFunction = _style_;\n\nexport var namespace = _namespace_;\nexport var classes = {\"root\":\"ToolbarItemBox3217190567__root\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {}; \n\n\n\n\n"],"mappings":";;;;AAGA,IAAAA,mBAAA,GAAAC,OAAA;AAHA;;AAOA,IAAIC,WAAW,GAAG,0BAA0B;AAC5C,IAAIC,OAAO,GAAGC,kCAAc,CAACC,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AAE7C,IAAII,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAGE,iCAAa,CAACH,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AACrD,IAAIO,KAAK,GAAAF,OAAA,CAAAE,KAAA,GAAGN,OAAO;AACnB,IAAIO,EAA0C,GAAAH,OAAA,CAAAG,EAAA,GAAGP,OAAO;AAExD,IAAIQ,SAAS,GAAAJ,OAAA,CAAAI,SAAA,GAAGT,WAAW;AAC3B,IAAIU,OAAO,GAAAL,OAAA,CAAAK,OAAA,GAAG;EAAC,MAAM,EAAC;AAAgC,CAAC;AACvD,IAAIC,SAAS,GAAAN,OAAA,CAAAM,SAAA,GAAG,CAAC,CAAC;AAClB,IAAIC,MAAM,GAAAP,OAAA,CAAAO,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,UAAU,GAAAR,OAAA,CAAAQ,UAAA,GAAG,CAAC,CAAC;AACnB,IAAIC,MAAM,GAAAT,OAAA,CAAAS,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,IAAI,GAAAV,OAAA,CAAAU,IAAA,GAAG,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../src/components/ToolbarItemBox/ToolbarItemBox.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"ToolbarItemBox2945322218\";\nvar _style_ = classesRuntime.bind(null, _namespace_);\n\nexport var cssStates = statesRuntime.bind(null, _namespace_);\nexport var style = _style_;\nexport var st: import(\"@stylable/runtime\").STFunction = _style_;\n\nexport var namespace = _namespace_;\nexport var classes = {\"root\":\"ToolbarItemBox2945322218__root\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {}; \n\n\n\n\n"],"mappings":";;;;AAGA,IAAAA,mBAAA,GAAAC,OAAA;AAHA;;AAOA,IAAIC,WAAW,GAAG,0BAA0B;AAC5C,IAAIC,OAAO,GAAGC,kCAAc,CAACC,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AAE7C,IAAII,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAGE,iCAAa,CAACH,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AACrD,IAAIO,KAAK,GAAAF,OAAA,CAAAE,KAAA,GAAGN,OAAO;AACnB,IAAIO,EAA0C,GAAAH,OAAA,CAAAG,EAAA,GAAGP,OAAO;AAExD,IAAIQ,SAAS,GAAAJ,OAAA,CAAAI,SAAA,GAAGT,WAAW;AAC3B,IAAIU,OAAO,GAAAL,OAAA,CAAAK,OAAA,GAAG;EAAC,MAAM,EAAC;AAAgC,CAAC;AACvD,IAAIC,SAAS,GAAAN,OAAA,CAAAM,SAAA,GAAG,CAAC,CAAC;AAClB,IAAIC,MAAM,GAAAP,OAAA,CAAAO,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,UAAU,GAAAR,OAAA,CAAAQ,UAAA,GAAG,CAAC,CAAC;AACnB,IAAIC,MAAM,GAAAT,OAAA,CAAAS,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,IAAI,GAAAV,OAAA,CAAAU,IAAA,GAAG,CAAC,CAAC","ignoreList":[]}
@@ -5,16 +5,16 @@ exports.vars = exports.style = exports.stVars = exports.st = exports.namespace =
5
5
  var _stylableEsmRuntime = require("../stylable-esm-runtime.js");
6
6
  // @ts-nocheck
7
7
 
8
- var _namespace_ = "common1284001297";
8
+ var _namespace_ = "common2069776073";
9
9
  var _style_ = _stylableEsmRuntime.classesRuntime.bind(null, _namespace_);
10
10
  var cssStates = exports.cssStates = _stylableEsmRuntime.statesRuntime.bind(null, _namespace_);
11
11
  var style = exports.style = _style_;
12
12
  var st = exports.st = _style_;
13
13
  var namespace = exports.namespace = _namespace_;
14
14
  var classes = exports.classes = {
15
- "root": "common1284001297__root",
16
- "column": "common1284001297__column",
17
- "fullHeight": "common1284001297__fullHeight"
15
+ "root": "common2069776073__root",
16
+ "column": "common2069776073__column",
17
+ "fullHeight": "common2069776073__fullHeight"
18
18
  };
19
19
  var keyframes = exports.keyframes = {};
20
20
  var layers = exports.layers = {};
@@ -1 +1 @@
1
- {"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../src/components/common.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"common1284001297\";\nvar _style_ = classesRuntime.bind(null, _namespace_);\n\nexport var cssStates = statesRuntime.bind(null, _namespace_);\nexport var style = _style_;\nexport var st: import(\"@stylable/runtime\").STFunction = _style_;\n\nexport var namespace = _namespace_;\nexport var classes = {\"root\":\"common1284001297__root\",\"column\":\"common1284001297__column\",\"fullHeight\":\"common1284001297__fullHeight\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {}; \n\n\n\n\n"],"mappings":";;;;AAGA,IAAAA,mBAAA,GAAAC,OAAA;AAHA;;AAOA,IAAIC,WAAW,GAAG,kBAAkB;AACpC,IAAIC,OAAO,GAAGC,kCAAc,CAACC,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AAE7C,IAAII,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAGE,iCAAa,CAACH,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AACrD,IAAIO,KAAK,GAAAF,OAAA,CAAAE,KAAA,GAAGN,OAAO;AACnB,IAAIO,EAA0C,GAAAH,OAAA,CAAAG,EAAA,GAAGP,OAAO;AAExD,IAAIQ,SAAS,GAAAJ,OAAA,CAAAI,SAAA,GAAGT,WAAW;AAC3B,IAAIU,OAAO,GAAAL,OAAA,CAAAK,OAAA,GAAG;EAAC,MAAM,EAAC,wBAAwB;EAAC,QAAQ,EAAC,0BAA0B;EAAC,YAAY,EAAC;AAA8B,CAAC;AAC/H,IAAIC,SAAS,GAAAN,OAAA,CAAAM,SAAA,GAAG,CAAC,CAAC;AAClB,IAAIC,MAAM,GAAAP,OAAA,CAAAO,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,UAAU,GAAAR,OAAA,CAAAQ,UAAA,GAAG,CAAC,CAAC;AACnB,IAAIC,MAAM,GAAAT,OAAA,CAAAS,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,IAAI,GAAAV,OAAA,CAAAU,IAAA,GAAG,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../src/components/common.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"common2069776073\";\nvar _style_ = classesRuntime.bind(null, _namespace_);\n\nexport var cssStates = statesRuntime.bind(null, _namespace_);\nexport var style = _style_;\nexport var st: import(\"@stylable/runtime\").STFunction = _style_;\n\nexport var namespace = _namespace_;\nexport var classes = {\"root\":\"common2069776073__root\",\"column\":\"common2069776073__column\",\"fullHeight\":\"common2069776073__fullHeight\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {}; \n\n\n\n\n"],"mappings":";;;;AAGA,IAAAA,mBAAA,GAAAC,OAAA;AAHA;;AAOA,IAAIC,WAAW,GAAG,kBAAkB;AACpC,IAAIC,OAAO,GAAGC,kCAAc,CAACC,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AAE7C,IAAII,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAGE,iCAAa,CAACH,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AACrD,IAAIO,KAAK,GAAAF,OAAA,CAAAE,KAAA,GAAGN,OAAO;AACnB,IAAIO,EAA0C,GAAAH,OAAA,CAAAG,EAAA,GAAGP,OAAO;AAExD,IAAIQ,SAAS,GAAAJ,OAAA,CAAAI,SAAA,GAAGT,WAAW;AAC3B,IAAIU,OAAO,GAAAL,OAAA,CAAAK,OAAA,GAAG;EAAC,MAAM,EAAC,wBAAwB;EAAC,QAAQ,EAAC,0BAA0B;EAAC,YAAY,EAAC;AAA8B,CAAC;AAC/H,IAAIC,SAAS,GAAAN,OAAA,CAAAM,SAAA,GAAG,CAAC,CAAC;AAClB,IAAIC,MAAM,GAAAP,OAAA,CAAAO,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,UAAU,GAAAR,OAAA,CAAAQ,UAAA,GAAG,CAAC,CAAC;AACnB,IAAIC,MAAM,GAAAT,OAAA,CAAAS,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,IAAI,GAAAV,OAAA,CAAAU,IAAA,GAAG,CAAC,CAAC","ignoreList":[]}
@@ -5,20 +5,15 @@ exports.__esModule = true;
5
5
  exports.CustomFieldsFormState = void 0;
6
6
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
7
7
  var _mobx = require("mobx");
8
- var _bexCore = require("@wix/bex-core");
9
8
  class CustomFieldsFormState {
10
9
  constructor(params) {
11
10
  (0, _defineProperty2.default)(this, "_namespace", void 0);
12
11
  (0, _defineProperty2.default)(this, "_customFieldsWidgetState", void 0);
13
12
  (0, _defineProperty2.default)(this, "_fields", void 0);
14
- (0, _defineProperty2.default)(this, "_size", void 0);
15
13
  (0, _defineProperty2.default)(this, "_extendedFieldsDataMap", void 0);
16
14
  (0, _defineProperty2.default)(this, "_initialValues", void 0);
17
15
  (0, _defineProperty2.default)(this, "_translate", void 0);
18
16
  (0, _defineProperty2.default)(this, "_inputRefs", void 0);
19
- (0, _defineProperty2.default)(this, "_formContainerRef", {
20
- current: null
21
- });
22
17
  (0, _defineProperty2.default)(this, "onChange", void 0);
23
18
  const {
24
19
  namespace,
@@ -38,44 +33,24 @@ class CustomFieldsFormState {
38
33
  ...extendedFieldsDataMap
39
34
  };
40
35
  this._inputRefs = {};
41
- this._size = 'default';
42
36
  this._translate = translate;
43
37
  this.onChange = onChange;
44
38
  (0, _mobx.makeObservable)(this, {
45
39
  setValue: _mobx.action,
46
40
  setNewFields: _mobx.action,
47
- setContainerRef: _mobx.action,
48
41
  values: _mobx.computed,
49
- formSize: _mobx.computed,
50
42
  fields: _mobx.computed,
51
43
  isDirty: _mobx.computed,
52
44
  _fields: _mobx.observable.ref,
53
45
  writeableFields: _mobx.computed,
54
46
  _isUserFieldsNamespace: _mobx.computed,
55
47
  _inputRefs: _mobx.observable.ref,
56
- _formContainerRef: _mobx.observable.ref,
57
- _size: _mobx.observable.ref,
58
- _adjustExtendedFields: _mobx.action,
59
- _adjustFormSize: _mobx.action.bound,
60
48
  appName: _mobx.computed
61
49
  });
62
50
  }
63
51
  _getFullyQualifiedFieldId(originalId) {
64
52
  return `extendedFields.namespaces.${this._namespace}.${originalId}`;
65
53
  }
66
- _adjustFormSize() {
67
- if (this._formContainerRef.current) {
68
- const element = this._formContainerRef.current;
69
- if (element.clientWidth < 842) {
70
- this._size = 'small';
71
- } else {
72
- this._size = 'default';
73
- }
74
- }
75
- }
76
- get formSize() {
77
- return this._size;
78
- }
79
54
  get fields() {
80
55
  return this._fields;
81
56
  }
@@ -104,10 +79,9 @@ class CustomFieldsFormState {
104
79
  }
105
80
  init() {
106
81
  const {
107
- _formContainerRef,
108
82
  _customFieldsWidgetState
109
83
  } = this;
110
- const disposers = [(0, _bexCore.addResizeObserver)(_formContainerRef.current, this._adjustFormSize), (0, _mobx.reaction)(() => _customFieldsWidgetState.getNamespaceFormSchemaAndData(this._namespace), ({
84
+ const disposers = [(0, _mobx.reaction)(() => _customFieldsWidgetState.getNamespaceFormSchemaAndData(this._namespace), ({
111
85
  fields
112
86
  }) => {
113
87
  if (!fields) {
@@ -117,7 +91,6 @@ class CustomFieldsFormState {
117
91
  }, {
118
92
  fireImmediately: true
119
93
  })];
120
- this._adjustFormSize();
121
94
  return () => {
122
95
  disposers.forEach(d => d == null ? void 0 : d());
123
96
  };
@@ -147,9 +120,6 @@ class CustomFieldsFormState {
147
120
  this._fields = fields;
148
121
  this._adjustExtendedFields();
149
122
  }
150
- setContainerRef(ref) {
151
- this._formContainerRef.current = ref;
152
- }
153
123
  _adjustExtendedFields() {
154
124
  const existingFields = this._fields.map(field => field.id);
155
125
  this._extendedFieldsDataMap.forEach((_, key) => {
@@ -1 +1 @@
1
- {"version":3,"names":["_mobx","require","_bexCore","CustomFieldsFormState","constructor","params","_defineProperty2","default","current","namespace","customFieldsWidgetState","translate","onChange","_namespace","_customFieldsWidgetState","fields","extendedFieldsDataMap","getNamespaceFormSchemaAndData","_fields","_extendedFieldsDataMap","observable","map","_initialValues","_inputRefs","_size","_translate","makeObservable","setValue","action","setNewFields","setContainerRef","values","computed","formSize","isDirty","ref","writeableFields","_isUserFieldsNamespace","_formContainerRef","_adjustExtendedFields","_adjustFormSize","bound","appName","_getFullyQualifiedFieldId","originalId","element","clientWidth","filter","field","_field$permissions","permissions","write","includes","_userFieldsNamespace","init","disposers","addResizeObserver","reaction","fireImmediately","forEach","d","id","value","_this$onChange","set","call","allFields","Object","keys","reduce","acc","fieldId","getInitialValue","setInputRef","input","existingFields","_","key","delete","validate","invalid","find","_this$_inputRefs$inva","_this$_inputRefs$inva2","focus","isValid","extendedFields","Array","from","entries","customField","type","hasOwnProperty","_dataExtension$appSch","apps","dataExtension","dataExtensionService","userFieldsNamespace","appSchema","appSchemas","schema","appNames","appDefId","fromEntries","exports"],"sources":["../../../../src/state/CustomFields/CustomFieldsFormState.ts"],"sourcesContent":["import { action, computed, makeObservable, observable, reaction } from 'mobx';\nimport {\n addResizeObserver,\n CustomField,\n ExtendedFieldsDataMap,\n Translate,\n} from '@wix/bex-core';\nimport type { OnCustomFieldChange } from '../../components/CustomFieldsWidget/OnCustomFieldChange';\nimport { BaseInputRef } from '../../fields';\nimport { CustomFieldsWidgetState } from './CustomFieldsWidgetState';\n\nexport interface CustomFieldsFormStateParams {\n namespace: string;\n customFieldsWidgetState: CustomFieldsWidgetState;\n translate: Translate;\n onChange?: OnCustomFieldChange;\n}\n\nexport type CustomFieldsFormSize = 'default' | 'small';\n\nexport class CustomFieldsFormState {\n readonly _namespace;\n readonly _customFieldsWidgetState;\n _fields;\n _size: CustomFieldsFormSize;\n _extendedFieldsDataMap;\n _initialValues;\n _translate: Translate;\n _inputRefs: { [fieldId: string]: BaseInputRef };\n _formContainerRef: { current: HTMLDivElement | null } = {\n current: null,\n };\n onChange?: OnCustomFieldChange;\n\n constructor(params: CustomFieldsFormStateParams) {\n const { namespace, customFieldsWidgetState, translate, onChange } = params;\n\n this._namespace = namespace;\n this._customFieldsWidgetState = customFieldsWidgetState;\n\n const { fields, extendedFieldsDataMap } =\n customFieldsWidgetState.getNamespaceFormSchemaAndData(namespace);\n\n this._fields = fields ?? [];\n this._extendedFieldsDataMap = observable.map<string, any>(\n extendedFieldsDataMap,\n );\n this._initialValues = { ...extendedFieldsDataMap };\n this._inputRefs = {};\n this._size = 'default';\n this._translate = translate;\n this.onChange = onChange;\n\n makeObservable(this, {\n setValue: action,\n setNewFields: action,\n setContainerRef: action,\n values: computed,\n formSize: computed,\n fields: computed,\n isDirty: computed,\n _fields: observable.ref,\n writeableFields: computed,\n _isUserFieldsNamespace: computed,\n _inputRefs: observable.ref,\n _formContainerRef: observable.ref,\n _size: observable.ref,\n _adjustExtendedFields: action,\n _adjustFormSize: action.bound,\n appName: computed,\n });\n }\n\n _getFullyQualifiedFieldId(originalId: string) {\n return `extendedFields.namespaces.${this._namespace}.${originalId}`;\n }\n\n _adjustFormSize() {\n if (this._formContainerRef.current) {\n const element = this._formContainerRef.current;\n\n if (element.clientWidth < 842) {\n this._size = 'small';\n } else {\n this._size = 'default';\n }\n }\n }\n\n get formSize() {\n return this._size;\n }\n\n get fields() {\n return this._fields;\n }\n\n get writeableFields() {\n const { _isUserFieldsNamespace, _fields } = this;\n if (_isUserFieldsNamespace) {\n return _fields;\n }\n return _fields.filter((field) =>\n field.permissions?.write?.includes('users'),\n );\n }\n\n get _isUserFieldsNamespace() {\n const { _customFieldsWidgetState, _namespace } = this;\n const { _userFieldsNamespace } = _customFieldsWidgetState;\n\n return _namespace === _userFieldsNamespace;\n }\n\n init() {\n const { _formContainerRef, _customFieldsWidgetState } = this;\n\n const disposers = [\n addResizeObserver(_formContainerRef.current, this._adjustFormSize),\n reaction(\n () =>\n _customFieldsWidgetState.getNamespaceFormSchemaAndData(\n this._namespace,\n ),\n ({ fields }) => {\n if (!fields) {\n return;\n }\n this.setNewFields(fields);\n },\n {\n fireImmediately: true,\n },\n ),\n ];\n\n this._adjustFormSize();\n\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n\n setValue<T>(id: string, value: T) {\n this._extendedFieldsDataMap.set(id, value);\n this.onChange?.({\n id: `extendedFields.namespaces.${this._namespace}.${id}`,\n value,\n allFields: Object.keys(this.values).reduce((acc, fieldId) => {\n acc[fieldId] = {\n id: this._getFullyQualifiedFieldId(fieldId),\n value: this.values[fieldId],\n };\n return acc;\n }, {} as Record<string, { id: string; value: any }>),\n });\n }\n\n getInitialValue(id: string) {\n return this._initialValues[id];\n }\n\n setInputRef(id: string, input: BaseInputRef) {\n this._inputRefs[id] = input;\n }\n\n setNewFields(fields: CustomField[]) {\n this._fields = fields;\n this._adjustExtendedFields();\n }\n\n setContainerRef(ref: HTMLDivElement | null) {\n this._formContainerRef.current = ref;\n }\n\n _adjustExtendedFields() {\n const existingFields = this._fields.map((field) => field.id);\n this._extendedFieldsDataMap.forEach((_, key) => {\n if (!existingFields.includes(key)) {\n this._extendedFieldsDataMap.delete(key);\n }\n });\n }\n\n validate(): { isValid: boolean; extendedFields?: ExtendedFieldsDataMap } {\n const invalid = Object.keys(this._inputRefs).find((fieldId) => {\n const ref = this._inputRefs[fieldId];\n return ref.invalid;\n });\n\n if (invalid) {\n this._inputRefs[invalid].focus?.();\n return { isValid: false };\n }\n\n return { isValid: true, extendedFields: this.values };\n }\n\n get isDirty() {\n return !!Array.from(this._extendedFieldsDataMap.entries()).find(\n ([key, value]) => {\n // Files field is not considered dirty since it cannot be changed\n const customField = this._fields.find((field) => field.id === key);\n if (customField?.type === 'files') {\n return false;\n }\n if (this._initialValues.hasOwnProperty(key)) {\n return this._initialValues[key] !== value;\n } else {\n // includes both any string value and boolean types (all existing field types values)\n return !!value;\n }\n },\n );\n }\n\n get appName() {\n const { _customFieldsWidgetState, _namespace } = this;\n const { apps, dataExtension } = _customFieldsWidgetState;\n const {\n dataExtensionService: { userFieldsNamespace },\n } = dataExtension;\n\n if (_namespace === userFieldsNamespace) {\n return this._translate('cairo.customFields.entityPage.sectionTitle');\n }\n\n const appSchema = dataExtension.appSchemas?.find(\n (schema) => schema.namespace === _namespace,\n );\n\n return apps.appNames[appSchema?.appDefId || ''];\n }\n\n get values() {\n return Object.fromEntries(this._extendedFieldsDataMap);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_mobx","require","CustomFieldsFormState","constructor","params","_defineProperty2","default","namespace","customFieldsWidgetState","translate","onChange","_namespace","_customFieldsWidgetState","fields","extendedFieldsDataMap","getNamespaceFormSchemaAndData","_fields","_extendedFieldsDataMap","observable","map","_initialValues","_inputRefs","_translate","makeObservable","setValue","action","setNewFields","values","computed","isDirty","ref","writeableFields","_isUserFieldsNamespace","appName","_getFullyQualifiedFieldId","originalId","filter","field","_field$permissions","permissions","write","includes","_userFieldsNamespace","init","disposers","reaction","fireImmediately","forEach","d","id","value","_this$onChange","set","call","allFields","Object","keys","reduce","acc","fieldId","getInitialValue","setInputRef","input","_adjustExtendedFields","existingFields","_","key","delete","validate","invalid","find","_this$_inputRefs$inva","_this$_inputRefs$inva2","focus","isValid","extendedFields","Array","from","entries","customField","type","hasOwnProperty","_dataExtension$appSch","apps","dataExtension","dataExtensionService","userFieldsNamespace","appSchema","appSchemas","schema","appNames","appDefId","fromEntries","exports"],"sources":["../../../../src/state/CustomFields/CustomFieldsFormState.ts"],"sourcesContent":["import { action, computed, makeObservable, observable, reaction } from 'mobx';\nimport { CustomField, ExtendedFieldsDataMap, Translate } from '@wix/bex-core';\nimport type { OnCustomFieldChange } from '../../components/CustomFieldsWidget/OnCustomFieldChange';\nimport { BaseInputRef } from '../../fields';\nimport { CustomFieldsWidgetState } from './CustomFieldsWidgetState';\n\nexport interface CustomFieldsFormStateParams {\n namespace: string;\n customFieldsWidgetState: CustomFieldsWidgetState;\n translate: Translate;\n onChange?: OnCustomFieldChange;\n}\n\nexport class CustomFieldsFormState {\n readonly _namespace;\n readonly _customFieldsWidgetState;\n _fields;\n _extendedFieldsDataMap;\n _initialValues;\n _translate: Translate;\n _inputRefs: { [fieldId: string]: BaseInputRef };\n onChange?: OnCustomFieldChange;\n\n constructor(params: CustomFieldsFormStateParams) {\n const { namespace, customFieldsWidgetState, translate, onChange } = params;\n\n this._namespace = namespace;\n this._customFieldsWidgetState = customFieldsWidgetState;\n\n const { fields, extendedFieldsDataMap } =\n customFieldsWidgetState.getNamespaceFormSchemaAndData(namespace);\n\n this._fields = fields ?? [];\n this._extendedFieldsDataMap = observable.map<string, any>(\n extendedFieldsDataMap,\n );\n this._initialValues = { ...extendedFieldsDataMap };\n this._inputRefs = {};\n this._translate = translate;\n this.onChange = onChange;\n\n makeObservable(this, {\n setValue: action,\n setNewFields: action,\n values: computed,\n fields: computed,\n isDirty: computed,\n _fields: observable.ref,\n writeableFields: computed,\n _isUserFieldsNamespace: computed,\n _inputRefs: observable.ref,\n appName: computed,\n });\n }\n\n _getFullyQualifiedFieldId(originalId: string) {\n return `extendedFields.namespaces.${this._namespace}.${originalId}`;\n }\n\n get fields() {\n return this._fields;\n }\n\n get writeableFields() {\n const { _isUserFieldsNamespace, _fields } = this;\n if (_isUserFieldsNamespace) {\n return _fields;\n }\n return _fields.filter((field) =>\n field.permissions?.write?.includes('users'),\n );\n }\n\n get _isUserFieldsNamespace() {\n const { _customFieldsWidgetState, _namespace } = this;\n const { _userFieldsNamespace } = _customFieldsWidgetState;\n\n return _namespace === _userFieldsNamespace;\n }\n\n init() {\n const { _customFieldsWidgetState } = this;\n\n const disposers = [\n reaction(\n () =>\n _customFieldsWidgetState.getNamespaceFormSchemaAndData(\n this._namespace,\n ),\n ({ fields }) => {\n if (!fields) {\n return;\n }\n this.setNewFields(fields);\n },\n {\n fireImmediately: true,\n },\n ),\n ];\n\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n\n setValue<T>(id: string, value: T) {\n this._extendedFieldsDataMap.set(id, value);\n this.onChange?.({\n id: `extendedFields.namespaces.${this._namespace}.${id}`,\n value,\n allFields: Object.keys(this.values).reduce((acc, fieldId) => {\n acc[fieldId] = {\n id: this._getFullyQualifiedFieldId(fieldId),\n value: this.values[fieldId],\n };\n return acc;\n }, {} as Record<string, { id: string; value: any }>),\n });\n }\n\n getInitialValue(id: string) {\n return this._initialValues[id];\n }\n\n setInputRef(id: string, input: BaseInputRef) {\n this._inputRefs[id] = input;\n }\n\n setNewFields(fields: CustomField[]) {\n this._fields = fields;\n this._adjustExtendedFields();\n }\n\n _adjustExtendedFields() {\n const existingFields = this._fields.map((field) => field.id);\n this._extendedFieldsDataMap.forEach((_, key) => {\n if (!existingFields.includes(key)) {\n this._extendedFieldsDataMap.delete(key);\n }\n });\n }\n\n validate(): { isValid: boolean; extendedFields?: ExtendedFieldsDataMap } {\n const invalid = Object.keys(this._inputRefs).find((fieldId) => {\n const ref = this._inputRefs[fieldId];\n return ref.invalid;\n });\n\n if (invalid) {\n this._inputRefs[invalid].focus?.();\n return { isValid: false };\n }\n\n return { isValid: true, extendedFields: this.values };\n }\n\n get isDirty() {\n return !!Array.from(this._extendedFieldsDataMap.entries()).find(\n ([key, value]) => {\n // Files field is not considered dirty since it cannot be changed\n const customField = this._fields.find((field) => field.id === key);\n if (customField?.type === 'files') {\n return false;\n }\n if (this._initialValues.hasOwnProperty(key)) {\n return this._initialValues[key] !== value;\n } else {\n // includes both any string value and boolean types (all existing field types values)\n return !!value;\n }\n },\n );\n }\n\n get appName() {\n const { _customFieldsWidgetState, _namespace } = this;\n const { apps, dataExtension } = _customFieldsWidgetState;\n const {\n dataExtensionService: { userFieldsNamespace },\n } = dataExtension;\n\n if (_namespace === userFieldsNamespace) {\n return this._translate('cairo.customFields.entityPage.sectionTitle');\n }\n\n const appSchema = dataExtension.appSchemas?.find(\n (schema) => schema.namespace === _namespace,\n );\n\n return apps.appNames[appSchema?.appDefId || ''];\n }\n\n get values() {\n return Object.fromEntries(this._extendedFieldsDataMap);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_bexCore","require","_mobx","_EntityPageStateBIReporter","_events","EntityPageState","constructor","params","_defineProperty2","default","EventEmitter","fetch","onSave","saveSuccessToast","saveErrorToast","formPage","FormPageState","form","_parentPageId","parentPageId","transformEntityToCollectionItem","anEntity","_parentPath","parentPath","container","_routerState","routerState","_this$_routerState$cu","_entity","currentState","_chosenEntity","entity","reportBI","createBILogger","componentType","pageType","route","window","location","pathname","bi","EntityPageStateBIReporter","entityPageState","init","makeObservable","handleSubmit","action","observable","ref","setEntity","isFormDirty","computed","_withinRouter","_checkPageParams","initTask","onBeforeUnload","onBeforeUnloadSubscription","event","formState","isSubmitSuccessful","preventDefault","reportOnBeforeUnload","runOnce","_this$bi$appLoaded","_this$bi","data","Promise","all","status","promise","appLoaded","call","remove","retryFetch","newEntity","isFetching","flag","isDirty","_isFormDirty","val","onCancel","reportButtonClick","ctaName","navigateToParent","updatedEntity","entityStringKey","entityObject","navigate","state","navigateTo","pageId","_showErrorToast","err","e","_this$saveErrorToast","_this$container$showT","_this$container","errorToast","retry","message","showTryAgain","tryAgain","undefined","showToast","type","biName","translate","code","uiType","text","onClick","reportSaveTryAgain","removeToastOnClick","_showSuccessToast","_this$saveSuccessToas","_this$container$showT2","_this$container2","submitTask","isLoading","events","emit","isValid","extraFields","validate","run","savedEntity","onSaveResult","widgetsFormData","errorMonitor","captureException","setError","transformedItem","Error","exports"],"sources":["../../../../src/state/EntityPage/EntityPageState.ts"],"sourcesContent":["import {\n FormPageState,\n ReportBI,\n WixPatternsContainer,\n ActionsBarConfig,\n} from '@wix/bex-core';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport { FieldValues } from 'react-hook-form';\nimport { EntityPageStateBIReporter } from './EntityPageStateBIReporter';\nimport { EventEmitter, TypedEmitter } from '@wix/bex-core/events';\nimport { WixPatternsRouterState } from '../WixPatternsRouterState';\n\ntype OnSaveParams = {\n widgetsFormData: { [key: string]: any };\n};\n\nexport interface EntityPageStateParams<T, V extends FieldValues = FieldValues> {\n /**\n * A function that fetches the entity data.\n * @returns a promise that resolves to an object containing the entity.\n */\n fetch: () => Promise<{ entity: T | undefined }>;\n\n /**\n * A function to handle the save action.\n * @returns promise that resolves to an object that contains a 'updatedEntity' object.\n */\n onSave: (params: OnSaveParams) => Promise<{ updatedEntity: T }>;\n\n /**\n * An optional object with an optional message, or it can directly get a string message.\n */\n saveSuccessToast?: { message?: string } | string;\n\n /**\n * An optional function to display an error toast message when a save operation fails.\n * @returns An object with a `message` and an `action` object. Alternatively, it can return an object with an optional `message` and a `tryAgain` flag, or a string message.\n * The previous return types are still supported but are now deprecated.\n */\n saveErrorToast?: (\n err: unknown,\n params: { retry: () => void },\n ) =>\n | {\n message?: string;\n /**\n * @deprecated use `action` instead\n */\n tryAgain?: boolean;\n action?: { text: string; onClick: () => void };\n }\n | string;\n\n /**\n * An optional function to transform the updated entity data before it is passed to the collection page.\n * @param entity the updated entity.\n * @returns an object representing the entity in the collection page.\n */\n transformEntityToCollectionItem?: (entity: T) => any;\n\n form: FormPageState<V>['form'];\n\n /**\n * An object representing the container, possibly for dependency injection or component management.\n */\n container: WixPatternsContainer;\n\n /**\n * A string representing the ID of the parent page.\n * Must be passed if not using Patterns Router\n */\n parentPageId?: string;\n\n /**\n * A string representing the path of the parent page.\n * Must be passed if using Patterns Router\n */\n parentPath?: string;\n\n /**\n * An object representing the router state\n */\n routerState?: WixPatternsRouterState | null;\n\n /**\n * An optional object to override the actions bar.\n */\n actionsBarConfig?: ActionsBarConfig;\n}\n\nexport interface EntityPageStateInterface {}\n\nexport interface EntityPageWidgetState {\n validate: () => Promise<{ isValid: boolean; values?: any }>;\n isDirty: boolean;\n}\n\nexport class EntityPageState<T, V extends FieldValues = FieldValues>\n implements EntityPageStateInterface\n{\n readonly fetch: EntityPageStateParams<T>['fetch'];\n readonly onSave: EntityPageStateParams<T, V>['onSave'];\n readonly saveSuccessToast?: EntityPageStateParams<T>['saveSuccessToast'];\n readonly saveErrorToast?: EntityPageStateParams<T>['saveErrorToast'];\n readonly transformEntityToCollectionItem: (entity: T) => any;\n\n _entity: T | null = null;\n private readonly _parentPageId?: string;\n private readonly _parentPath?: string;\n\n actionsBarConfig?: EntityPageStateParams<T>['actionsBarConfig'];\n\n readonly container: WixPatternsContainer;\n readonly reportBI: ReportBI;\n readonly bi: EntityPageStateBIReporter<T, V>;\n\n _routerState: WixPatternsRouterState | null = null;\n\n readonly formPage: FormPageState<V>;\n\n readonly events = new EventEmitter() as TypedEmitter<{\n save: () => void;\n saveError: (err: unknown) => void;\n }>;\n\n constructor(params: EntityPageStateParams<T, V>) {\n this.fetch = params.fetch;\n this.onSave = params.onSave;\n this.saveSuccessToast = params.saveSuccessToast;\n this.saveErrorToast = params.saveErrorToast;\n this.formPage = new FormPageState<V>({ form: params.form });\n this._parentPageId = params.parentPageId;\n this.transformEntityToCollectionItem =\n params.transformEntityToCollectionItem || ((anEntity: T) => anEntity);\n this._parentPath = params.parentPath;\n\n this.container = params.container;\n\n this._routerState = params.routerState ?? null;\n\n if (this._routerState) {\n this._entity = this._routerState.currentState?._chosenEntity?.entity;\n }\n\n this.reportBI = this.container.createBILogger({\n componentType: 'Entity page',\n pageType: 'Entity',\n route: window.location.pathname,\n });\n\n this.bi = new EntityPageStateBIReporter({\n reportBI: this.reportBI,\n entityPageState: this,\n });\n this.bi.init();\n\n makeObservable(this, {\n handleSubmit: action,\n _entity: observable.ref,\n setEntity: action,\n isFormDirty: computed,\n _withinRouter: computed,\n });\n }\n\n init() {\n this._checkPageParams();\n const {\n formPage: { initTask },\n container,\n } = this;\n const { onBeforeUnload } = container;\n\n const onBeforeUnloadSubscription = onBeforeUnload?.(\n action((event) => {\n const { form } = this;\n if (form.formState.isSubmitSuccessful || !this.isFormDirty) {\n return;\n }\n event.preventDefault();\n this.bi.reportOnBeforeUnload();\n }),\n );\n\n initTask.runOnce(async () => {\n const [data] = await Promise.all([\n this.fetch(),\n container.initTask.status.promise,\n ]);\n\n this.setEntity(data.entity ?? null);\n this.bi.appLoaded?.();\n });\n\n return () => {\n onBeforeUnloadSubscription?.remove();\n };\n }\n\n retryFetch() {\n this.formPage.retryFetch();\n }\n\n setEntity(newEntity: T | null) {\n this._entity = newEntity;\n }\n\n get entity(): T | null {\n return this._entity;\n }\n\n get isFetching() {\n return this.formPage.isFetching;\n }\n\n get form() {\n return this.formPage.form;\n }\n\n set isSubmitSuccessful(flag: boolean) {\n this.formPage.isSubmitSuccessful = flag;\n }\n\n get isFormDirty() {\n return this.formPage.isDirty;\n }\n\n // backwards compatibility\n set _isFormDirty(val: boolean) {\n this.formPage._isFormDirty = val;\n }\n\n get _withinRouter() {\n return !!this._routerState;\n }\n\n onCancel() {\n this.bi.reportButtonClick({ ctaName: 'Cancel' });\n this.navigateToParent();\n }\n\n navigateToParent(updatedEntity?: any) {\n const entityStringKey = this._entity ? '_updatedEntity' : '_createdEntity';\n const entityObject = { [entityStringKey]: updatedEntity };\n\n if (this._withinRouter) {\n this._routerState!.navigate(this._parentPath!, { state: entityObject });\n } else {\n this.container.navigateTo!({\n pageId: this._parentPageId!,\n });\n }\n }\n\n _showErrorToast(err: any, e?: React.BaseSyntheticEvent) {\n const errorToast = this.saveErrorToast?.(err, {\n retry: () => this.handleSubmit(e),\n });\n const message =\n typeof errorToast === 'string' ? errorToast : errorToast?.message;\n const showTryAgain =\n typeof errorToast === 'string' ? true : errorToast?.tryAgain !== false;\n const action =\n typeof errorToast === 'string' ? undefined : errorToast?.action;\n\n this.container.showToast?.({\n type: 'ERROR',\n biName: 'cairo-entity-page-save-error-toast',\n message:\n message ??\n this.container.translate(\n err?.code === 'ERR_NETWORK'\n ? 'cairo.entityPage.saveError-offline.toast.description'\n : 'cairo.entityPage.saveError-technical.toast.description',\n ),\n action:\n action || showTryAgain\n ? {\n uiType: 'LINK',\n text:\n action?.text ?? this.container.translate('cairo.toast.retry'),\n onClick: () => {\n if (action?.onClick) {\n action.onClick();\n } else {\n this.bi.reportSaveTryAgain();\n this.handleSubmit(e);\n }\n },\n removeToastOnClick: true,\n }\n : undefined,\n });\n }\n\n _showSuccessToast() {\n const message =\n typeof this.saveSuccessToast === 'string'\n ? this.saveSuccessToast\n : this.saveSuccessToast?.message;\n\n this.container.showToast?.({\n type: 'SUCCESS',\n biName: 'cairo-entity-page-save-success-toast',\n message:\n message ?? this.container.translate('cairo.entityPage.success.toast'),\n });\n }\n\n async handleSubmit(e?: React.BaseSyntheticEvent) {\n if (this.formPage.submitTask.status.isLoading) {\n return;\n }\n\n this.events.emit('save');\n\n const { isValid, data: extraFields } = await this.formPage.validate();\n\n if (!isValid) {\n this.bi.reportButtonClick({ ctaName: 'Save', isValid: false });\n return;\n }\n\n const {\n form,\n formPage: { submitTask },\n bi,\n } = this;\n\n submitTask.run(async () => {\n let savedEntity: T | undefined;\n await form.handleSubmit(\n async () => {\n bi.reportButtonClick({ ctaName: 'Save', isValid: true });\n try {\n if (!this.isFetching) {\n const onSaveResult = await this.onSave({\n widgetsFormData: { ...extraFields },\n });\n savedEntity = onSaveResult?.updatedEntity;\n }\n this._showSuccessToast();\n } catch (err) {\n this._showErrorToast(err, e);\n this.container.errorMonitor.captureException(err);\n this.events.emit('saveError', err);\n form.setError('root.serverError', {}); // https://react-hook-form.com/docs/useform/seterror\n }\n },\n () => {\n bi.reportButtonClick({ ctaName: 'Save', isValid: false });\n }, // can be used to report validation errors\n )(e);\n\n if (!form.formState.isSubmitSuccessful) {\n return;\n }\n\n const transformedItem =\n savedEntity && this.transformEntityToCollectionItem\n ? this.transformEntityToCollectionItem(savedEntity)\n : savedEntity;\n this.navigateToParent(transformedItem);\n });\n await this.formPage.submitTask.status.promise;\n }\n\n get initTask() {\n return this.formPage.initTask;\n }\n\n get submitTask() {\n return this.formPage.submitTask;\n }\n\n private _checkPageParams() {\n if (this._withinRouter) {\n if (this._parentPath === undefined) {\n throw new Error('parentPath was not defined in useEntityPage');\n }\n } else {\n if (this._parentPageId === undefined) {\n throw new Error('parentPageId was not defined in useEntityPage');\n }\n\n if (!this.container.navigateTo) {\n throw new Error('navigateTo was not defined in Patterns Provider');\n }\n }\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAMA,IAAAC,KAAA,GAAAD,OAAA;AAEA,IAAAE,0BAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAwFO,MAAMI,eAAe,CAE5B;EA0BEC,WAAWA,CAACC,MAAmC,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,mBAnB7B,IAAI;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,wBAUsB,IAAI;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,kBAIhC,IAAIC,oBAAY,CAAC,CAAC;IAMlC,IAAI,CAACC,KAAK,GAAGJ,MAAM,CAACI,KAAK;IACzB,IAAI,CAACC,MAAM,GAAGL,MAAM,CAACK,MAAM;IAC3B,IAAI,CAACC,gBAAgB,GAAGN,MAAM,CAACM,gBAAgB;IAC/C,IAAI,CAACC,cAAc,GAAGP,MAAM,CAACO,cAAc;IAC3C,IAAI,CAACC,QAAQ,GAAG,IAAIC,sBAAa,CAAI;MAAEC,IAAI,EAAEV,MAAM,CAACU;IAAK,CAAC,CAAC;IAC3D,IAAI,CAACC,aAAa,GAAGX,MAAM,CAACY,YAAY;IACxC,IAAI,CAACC,+BAA+B,GAClCb,MAAM,CAACa,+BAA+B,KAAMC,QAAW,IAAKA,QAAQ,CAAC;IACvE,IAAI,CAACC,WAAW,GAAGf,MAAM,CAACgB,UAAU;IAEpC,IAAI,CAACC,SAAS,GAAGjB,MAAM,CAACiB,SAAS;IAEjC,IAAI,CAACC,YAAY,GAAGlB,MAAM,CAACmB,WAAW,IAAI,IAAI;IAE9C,IAAI,IAAI,CAACD,YAAY,EAAE;MAAA,IAAAE,qBAAA;MACrB,IAAI,CAACC,OAAO,IAAAD,qBAAA,GAAG,IAAI,CAACF,YAAY,CAACI,YAAY,cAAAF,qBAAA,GAA9BA,qBAAA,CAAgCG,aAAa,qBAA7CH,qBAAA,CAA+CI,MAAM;IACtE;IAEA,IAAI,CAACC,QAAQ,GAAG,IAAI,CAACR,SAAS,CAACS,cAAc,CAAC;MAC5CC,aAAa,EAAE,aAAa;MAC5BC,QAAQ,EAAE,QAAQ;MAClBC,KAAK,EAAEC,MAAM,CAACC,QAAQ,CAACC;IACzB,CAAC,CAAC;IAEF,IAAI,CAACC,EAAE,GAAG,IAAIC,oDAAyB,CAAC;MACtCT,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBU,eAAe,EAAE;IACnB,CAAC,CAAC;IACF,IAAI,CAACF,EAAE,CAACG,IAAI,CAAC,CAAC;IAEd,IAAAC,oBAAc,EAAC,IAAI,EAAE;MACnBC,YAAY,EAAEC,YAAM;MACpBlB,OAAO,EAAEmB,gBAAU,CAACC,GAAG;MACvBC,SAAS,EAAEH,YAAM;MACjBI,WAAW,EAAEC,cAAQ;MACrBC,aAAa,EAAED;IACjB,CAAC,CAAC;EACJ;EAEAR,IAAIA,CAAA,EAAG;IACL,IAAI,CAACU,gBAAgB,CAAC,CAAC;IACvB,MAAM;MACJtC,QAAQ,EAAE;QAAEuC;MAAS,CAAC;MACtB9B;IACF,CAAC,GAAG,IAAI;IACR,MAAM;MAAE+B;IAAe,CAAC,GAAG/B,SAAS;IAEpC,MAAMgC,0BAA0B,GAAGD,cAAc,oBAAdA,cAAc,CAC/C,IAAAT,YAAM,EAAEW,KAAK,IAAK;MAChB,MAAM;QAAExC;MAAK,CAAC,GAAG,IAAI;MACrB,IAAIA,IAAI,CAACyC,SAAS,CAACC,kBAAkB,IAAI,CAAC,IAAI,CAACT,WAAW,EAAE;QAC1D;MACF;MACAO,KAAK,CAACG,cAAc,CAAC,CAAC;MACtB,IAAI,CAACpB,EAAE,CAACqB,oBAAoB,CAAC,CAAC;IAChC,CAAC,CACH,CAAC;IAEDP,QAAQ,CAACQ,OAAO,CAAC,YAAY;MAAA,IAAAC,kBAAA,EAAAC,QAAA;MAC3B,MAAM,CAACC,IAAI,CAAC,GAAG,MAAMC,OAAO,CAACC,GAAG,CAAC,CAC/B,IAAI,CAACxD,KAAK,CAAC,CAAC,EACZa,SAAS,CAAC8B,QAAQ,CAACc,MAAM,CAACC,OAAO,CAClC,CAAC;MAEF,IAAI,CAACpB,SAAS,CAACgB,IAAI,CAAClC,MAAM,IAAI,IAAI,CAAC;MACnC,CAAAgC,kBAAA,IAAAC,QAAA,OAAI,CAACxB,EAAE,EAAC8B,SAAS,aAAjBP,kBAAA,CAAAQ,IAAA,CAAAP,QAAoB,CAAC;IACvB,CAAC,CAAC;IAEF,OAAO,MAAM;MACXR,0BAA0B,YAA1BA,0BAA0B,CAAEgB,MAAM,CAAC,CAAC;IACtC,CAAC;EACH;EAEAC,UAAUA,CAAA,EAAG;IACX,IAAI,CAAC1D,QAAQ,CAAC0D,UAAU,CAAC,CAAC;EAC5B;EAEAxB,SAASA,CAACyB,SAAmB,EAAE;IAC7B,IAAI,CAAC9C,OAAO,GAAG8C,SAAS;EAC1B;EAEA,IAAI3C,MAAMA,CAAA,EAAa;IACrB,OAAO,IAAI,CAACH,OAAO;EACrB;EAEA,IAAI+C,UAAUA,CAAA,EAAG;IACf,OAAO,IAAI,CAAC5D,QAAQ,CAAC4D,UAAU;EACjC;EAEA,IAAI1D,IAAIA,CAAA,EAAG;IACT,OAAO,IAAI,CAACF,QAAQ,CAACE,IAAI;EAC3B;EAEA,IAAI0C,kBAAkBA,CAACiB,IAAa,EAAE;IACpC,IAAI,CAAC7D,QAAQ,CAAC4C,kBAAkB,GAAGiB,IAAI;EACzC;EAEA,IAAI1B,WAAWA,CAAA,EAAG;IAChB,OAAO,IAAI,CAACnC,QAAQ,CAAC8D,OAAO;EAC9B;;EAEA;EACA,IAAIC,YAAYA,CAACC,GAAY,EAAE;IAC7B,IAAI,CAAChE,QAAQ,CAAC+D,YAAY,GAAGC,GAAG;EAClC;EAEA,IAAI3B,aAAaA,CAAA,EAAG;IAClB,OAAO,CAAC,CAAC,IAAI,CAAC3B,YAAY;EAC5B;EAEAuD,QAAQA,CAAA,EAAG;IACT,IAAI,CAACxC,EAAE,CAACyC,iBAAiB,CAAC;MAAEC,OAAO,EAAE;IAAS,CAAC,CAAC;IAChD,IAAI,CAACC,gBAAgB,CAAC,CAAC;EACzB;EAEAA,gBAAgBA,CAACC,aAAmB,EAAE;IACpC,MAAMC,eAAe,GAAG,IAAI,CAACzD,OAAO,GAAG,gBAAgB,GAAG,gBAAgB;IAC1E,MAAM0D,YAAY,GAAG;MAAE,CAACD,eAAe,GAAGD;IAAc,CAAC;IAEzD,IAAI,IAAI,CAAChC,aAAa,EAAE;MACtB,IAAI,CAAC3B,YAAY,CAAE8D,QAAQ,CAAC,IAAI,CAACjE,WAAW,EAAG;QAAEkE,KAAK,EAAEF;MAAa,CAAC,CAAC;IACzE,CAAC,MAAM;MACL,IAAI,CAAC9D,SAAS,CAACiE,UAAU,CAAE;QACzBC,MAAM,EAAE,IAAI,CAACxE;MACf,CAAC,CAAC;IACJ;EACF;EAEAyE,eAAeA,CAACC,GAAQ,EAAEC,CAA4B,EAAE;IAAA,IAAAC,oBAAA,EAAAC,qBAAA,EAAAC,eAAA;IACtD,MAAMC,UAAU,IAAAH,oBAAA,GAAG,IAAI,CAAChF,cAAc,qBAAnBgF,oBAAA,CAAAvB,IAAA,KAAI,EAAkBqB,GAAG,EAAE;MAC5CM,KAAK,EAAEA,CAAA,KAAM,IAAI,CAACrD,YAAY,CAACgD,CAAC;IAClC,CAAC,CAAC;IACF,MAAMM,OAAO,GACX,OAAOF,UAAU,KAAK,QAAQ,GAAGA,UAAU,GAAGA,UAAU,oBAAVA,UAAU,CAAEE,OAAO;IACnE,MAAMC,YAAY,GAChB,OAAOH,UAAU,KAAK,QAAQ,GAAG,IAAI,GAAG,CAAAA,UAAU,oBAAVA,UAAU,CAAEI,QAAQ,MAAK,KAAK;IACxE,MAAMvD,MAAM,GACV,OAAOmD,UAAU,KAAK,QAAQ,GAAGK,SAAS,GAAGL,UAAU,oBAAVA,UAAU,CAAEnD,MAAM;IAEjE,CAAAiD,qBAAA,IAAAC,eAAA,OAAI,CAACxE,SAAS,EAAC+E,SAAS,aAAxBR,qBAAA,CAAAxB,IAAA,CAAAyB,eAAA,EAA2B;MACzBQ,IAAI,EAAE,OAAO;MACbC,MAAM,EAAE,oCAAoC;MAC5CN,OAAO,EACLA,OAAO,IACP,IAAI,CAAC3E,SAAS,CAACkF,SAAS,CACtB,CAAAd,GAAG,oBAAHA,GAAG,CAAEe,IAAI,MAAK,aAAa,GACvB,sDAAsD,GACtD,wDACN,CAAC;MACH7D,MAAM,EACJA,MAAM,IAAIsD,YAAY,GAClB;QACEQ,MAAM,EAAE,MAAM;QACdC,IAAI,EACF,CAAA/D,MAAM,oBAANA,MAAM,CAAE+D,IAAI,KAAI,IAAI,CAACrF,SAAS,CAACkF,SAAS,CAAC,mBAAmB,CAAC;QAC/DI,OAAO,EAAEA,CAAA,KAAM;UACb,IAAIhE,MAAM,YAANA,MAAM,CAAEgE,OAAO,EAAE;YACnBhE,MAAM,CAACgE,OAAO,CAAC,CAAC;UAClB,CAAC,MAAM;YACL,IAAI,CAACtE,EAAE,CAACuE,kBAAkB,CAAC,CAAC;YAC5B,IAAI,CAAClE,YAAY,CAACgD,CAAC,CAAC;UACtB;QACF,CAAC;QACDmB,kBAAkB,EAAE;MACtB,CAAC,GACDV;IACR,CAAC,CAAC;EACJ;EAEAW,iBAAiBA,CAAA,EAAG;IAAA,IAAAC,qBAAA,EAAAC,sBAAA,EAAAC,gBAAA;IAClB,MAAMjB,OAAO,GACX,OAAO,IAAI,CAACtF,gBAAgB,KAAK,QAAQ,GACrC,IAAI,CAACA,gBAAgB,IAAAqG,qBAAA,GACrB,IAAI,CAACrG,gBAAgB,qBAArBqG,qBAAA,CAAuBf,OAAO;IAEpC,CAAAgB,sBAAA,IAAAC,gBAAA,OAAI,CAAC5F,SAAS,EAAC+E,SAAS,aAAxBY,sBAAA,CAAA5C,IAAA,CAAA6C,gBAAA,EAA2B;MACzBZ,IAAI,EAAE,SAAS;MACfC,MAAM,EAAE,sCAAsC;MAC9CN,OAAO,EACLA,OAAO,IAAI,IAAI,CAAC3E,SAAS,CAACkF,SAAS,CAAC,gCAAgC;IACxE,CAAC,CAAC;EACJ;EAEA,MAAM7D,YAAYA,CAACgD,CAA4B,EAAE;IAC/C,IAAI,IAAI,CAAC9E,QAAQ,CAACsG,UAAU,CAACjD,MAAM,CAACkD,SAAS,EAAE;MAC7C;IACF;IAEA,IAAI,CAACC,MAAM,CAACC,IAAI,CAAC,MAAM,CAAC;IAExB,MAAM;MAAEC,OAAO;MAAExD,IAAI,EAAEyD;IAAY,CAAC,GAAG,MAAM,IAAI,CAAC3G,QAAQ,CAAC4G,QAAQ,CAAC,CAAC;IAErE,IAAI,CAACF,OAAO,EAAE;MACZ,IAAI,CAACjF,EAAE,CAACyC,iBAAiB,CAAC;QAAEC,OAAO,EAAE,MAAM;QAAEuC,OAAO,EAAE;MAAM,CAAC,CAAC;MAC9D;IACF;IAEA,MAAM;MACJxG,IAAI;MACJF,QAAQ,EAAE;QAAEsG;MAAW,CAAC;MACxB7E;IACF,CAAC,GAAG,IAAI;IAER6E,UAAU,CAACO,GAAG,CAAC,YAAY;MACzB,IAAIC,WAA0B;MAC9B,MAAM5G,IAAI,CAAC4B,YAAY,CACrB,YAAY;QACVL,EAAE,CAACyC,iBAAiB,CAAC;UAAEC,OAAO,EAAE,MAAM;UAAEuC,OAAO,EAAE;QAAK,CAAC,CAAC;QACxD,IAAI;UACF,IAAI,CAAC,IAAI,CAAC9C,UAAU,EAAE;YACpB,MAAMmD,YAAY,GAAG,MAAM,IAAI,CAAClH,MAAM,CAAC;cACrCmH,eAAe,EAAE;gBAAE,GAAGL;cAAY;YACpC,CAAC,CAAC;YACFG,WAAW,GAAGC,YAAY,oBAAZA,YAAY,CAAE1C,aAAa;UAC3C;UACA,IAAI,CAAC6B,iBAAiB,CAAC,CAAC;QAC1B,CAAC,CAAC,OAAOrB,GAAG,EAAE;UACZ,IAAI,CAACD,eAAe,CAACC,GAAG,EAAEC,CAAC,CAAC;UAC5B,IAAI,CAACrE,SAAS,CAACwG,YAAY,CAACC,gBAAgB,CAACrC,GAAG,CAAC;UACjD,IAAI,CAAC2B,MAAM,CAACC,IAAI,CAAC,WAAW,EAAE5B,GAAG,CAAC;UAClC3E,IAAI,CAACiH,QAAQ,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC;MACF,CAAC,EACD,MAAM;QACJ1F,EAAE,CAACyC,iBAAiB,CAAC;UAAEC,OAAO,EAAE,MAAM;UAAEuC,OAAO,EAAE;QAAM,CAAC,CAAC;MAC3D,CAAC,CAAE;MACL,CAAC,CAAC5B,CAAC,CAAC;MAEJ,IAAI,CAAC5E,IAAI,CAACyC,SAAS,CAACC,kBAAkB,EAAE;QACtC;MACF;MAEA,MAAMwE,eAAe,GACnBN,WAAW,IAAI,IAAI,CAACzG,+BAA+B,GAC/C,IAAI,CAACA,+BAA+B,CAACyG,WAAW,CAAC,GACjDA,WAAW;MACjB,IAAI,CAAC1C,gBAAgB,CAACgD,eAAe,CAAC;IACxC,CAAC,CAAC;IACF,MAAM,IAAI,CAACpH,QAAQ,CAACsG,UAAU,CAACjD,MAAM,CAACC,OAAO;EAC/C;EAEA,IAAIf,QAAQA,CAAA,EAAG;IACb,OAAO,IAAI,CAACvC,QAAQ,CAACuC,QAAQ;EAC/B;EAEA,IAAI+D,UAAUA,CAAA,EAAG;IACf,OAAO,IAAI,CAACtG,QAAQ,CAACsG,UAAU;EACjC;EAEQhE,gBAAgBA,CAAA,EAAG;IACzB,IAAI,IAAI,CAACD,aAAa,EAAE;MACtB,IAAI,IAAI,CAAC9B,WAAW,KAAKgF,SAAS,EAAE;QAClC,MAAM,IAAI8B,KAAK,CAAC,6CAA6C,CAAC;MAChE;IACF,CAAC,MAAM;MACL,IAAI,IAAI,CAAClH,aAAa,KAAKoF,SAAS,EAAE;QACpC,MAAM,IAAI8B,KAAK,CAAC,+CAA+C,CAAC;MAClE;MAEA,IAAI,CAAC,IAAI,CAAC5G,SAAS,CAACiE,UAAU,EAAE;QAC9B,MAAM,IAAI2C,KAAK,CAAC,iDAAiD,CAAC;MACpE;IACF;EACF;AACF;AAACC,OAAA,CAAAhI,eAAA,GAAAA,eAAA","ignoreList":[]}
1
+ {"version":3,"names":["_bexCore","require","_mobx","_EntityPageStateBIReporter","_events","EntityPageState","constructor","params","_defineProperty2","default","EventEmitter","fetch","onSave","saveSuccessToast","saveErrorToast","formPage","FormPageState","form","_parentPageId","parentPageId","transformEntityToCollectionItem","anEntity","_parentPath","parentPath","container","_routerState","routerState","_this$_routerState$cu","_entity","currentState","_chosenEntity","entity","reportBI","createBILogger","componentType","pageType","route","window","location","pathname","bi","EntityPageStateBIReporter","entityPageState","init","makeObservable","handleSubmit","action","observable","ref","setEntity","isFormDirty","computed","_withinRouter","_checkPageParams","initTask","onBeforeUnload","onBeforeUnloadSubscription","event","formState","isSubmitSuccessful","preventDefault","reportOnBeforeUnload","runOnce","_this$bi$appLoaded","_this$bi","data","Promise","all","status","promise","appLoaded","call","remove","retryFetch","newEntity","isFetching","flag","isDirty","_isFormDirty","val","onCancel","reportButtonClick","ctaName","navigateToParent","updatedEntity","entityStringKey","entityObject","navigate","state","navigateTo","pageId","_showErrorToast","err","e","_this$saveErrorToast","_this$container$showT","_this$container","errorToast","retry","message","showTryAgain","tryAgain","undefined","showToast","type","biName","translate","code","uiType","text","onClick","reportSaveTryAgain","removeToastOnClick","_showSuccessToast","_this$saveSuccessToas","_this$container$showT2","_this$container2","submitTask","isLoading","events","emit","isValid","extraFields","validate","run","savedEntity","onSaveResult","widgetsFormData","errorMonitor","captureException","setError","transformedItem","Error","exports"],"sources":["../../../../src/state/EntityPage/EntityPageState.ts"],"sourcesContent":["import {\n FormPageState,\n ReportBI,\n WixPatternsContainer,\n ActionsBarConfig,\n} from '@wix/bex-core';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport { FieldValues } from 'react-hook-form';\nimport { EntityPageStateBIReporter } from './EntityPageStateBIReporter';\nimport { EventEmitter, TypedEmitter } from '@wix/bex-core/events';\nimport { WixPatternsRouterState } from '../WixPatternsRouterState';\n\ntype OnSaveParams = {\n widgetsFormData: { [key: string]: any };\n};\n\nexport interface EntityPageStateParams<T, V extends FieldValues = FieldValues> {\n /**\n * A function that fetches the entity data.\n * @returns a promise that resolves to an object containing the entity.\n */\n fetch: () => Promise<{ entity: T | undefined }>;\n\n /**\n * A function to handle the save action.\n * @returns promise that resolves to an object that contains a 'updatedEntity' object.\n */\n onSave: (params: OnSaveParams) => Promise<{ updatedEntity: T }>;\n\n /**\n * An optional object with an optional message, or it can directly get a string message.\n */\n saveSuccessToast?: { message?: string } | string;\n\n /**\n * An optional function to display an error toast message when a save operation fails.\n * @returns An object with a `message` and an `action` object. Alternatively, it can return an object with an optional `message` and a `tryAgain` flag, or a string message.\n * The previous return types are still supported but are now deprecated.\n */\n saveErrorToast?: (\n err: unknown,\n params: { retry: () => void },\n ) =>\n | {\n message?: string;\n /**\n * @deprecated use `action` instead\n */\n tryAgain?: boolean;\n action?: { text: string; onClick: () => void };\n }\n | string;\n\n /**\n * An optional function to transform the updated entity data before it is passed to the collection page.\n * @param entity the updated entity.\n * @returns an object representing the entity in the collection page.\n */\n transformEntityToCollectionItem?: (entity: T) => any;\n\n form: FormPageState<V>['form'];\n\n /**\n * An object representing the container, possibly for dependency injection or component management.\n */\n container: WixPatternsContainer;\n\n /**\n * A string representing the ID of the parent page.\n * Must be passed if not using Patterns Router\n */\n parentPageId?: string;\n\n /**\n * A string representing the path of the parent page.\n * Must be passed if using Patterns Router\n */\n parentPath?: string;\n\n /**\n * An object representing the router state\n */\n routerState?: WixPatternsRouterState | null;\n\n /**\n * An optional object to override the actions bar.\n */\n actionsBarConfig?: ActionsBarConfig;\n}\n\nexport interface EntityPageStateInterface {}\n\nexport interface EntityPageWidgetState {\n validate: () => Promise<{ isValid: boolean; values?: any }>;\n isDirty: boolean;\n}\n\nexport class EntityPageState<T, V extends FieldValues = FieldValues>\n implements EntityPageStateInterface\n{\n readonly fetch: EntityPageStateParams<T>['fetch'];\n readonly onSave: EntityPageStateParams<T, V>['onSave'];\n readonly saveSuccessToast?: EntityPageStateParams<T>['saveSuccessToast'];\n readonly saveErrorToast?: EntityPageStateParams<T>['saveErrorToast'];\n readonly transformEntityToCollectionItem: (entity: T) => any;\n\n _entity: T | null = null;\n private readonly _parentPageId?: string;\n private readonly _parentPath?: string;\n\n actionsBarConfig?: EntityPageStateParams<T>['actionsBarConfig'];\n\n readonly container: WixPatternsContainer;\n readonly reportBI: ReportBI;\n readonly bi: EntityPageStateBIReporter<T, V>;\n\n _routerState: WixPatternsRouterState | null = null;\n\n readonly formPage: FormPageState<V>;\n\n readonly events = new EventEmitter() as TypedEmitter<{\n save: () => void;\n saveError: (err: unknown) => void;\n }>;\n\n constructor(params: EntityPageStateParams<T, V>) {\n this.fetch = params.fetch;\n this.onSave = params.onSave;\n this.saveSuccessToast = params.saveSuccessToast;\n this.saveErrorToast = params.saveErrorToast;\n this.formPage = new FormPageState<V>({ form: params.form });\n this._parentPageId = params.parentPageId;\n this.transformEntityToCollectionItem =\n params.transformEntityToCollectionItem || ((anEntity: T) => anEntity);\n this._parentPath = params.parentPath;\n\n this.container = params.container;\n\n this._routerState = params.routerState ?? null;\n\n if (this._routerState) {\n this._entity = this._routerState.currentState?._chosenEntity?.entity;\n }\n\n this.reportBI = this.container.createBILogger({\n componentType: 'Entity page',\n pageType: 'Entity',\n route: window.location.pathname,\n });\n\n this.bi = new EntityPageStateBIReporter({\n reportBI: this.reportBI,\n entityPageState: this,\n });\n this.bi.init();\n\n makeObservable(this, {\n handleSubmit: action,\n _entity: observable.ref,\n setEntity: action,\n isFormDirty: computed,\n _withinRouter: computed,\n });\n }\n\n init() {\n this._checkPageParams();\n const {\n formPage: { initTask },\n container,\n } = this;\n const { onBeforeUnload } = container;\n\n const onBeforeUnloadSubscription = onBeforeUnload?.(\n action((event: Event) => {\n const { form } = this;\n if (form.formState.isSubmitSuccessful || !this.isFormDirty) {\n return;\n }\n event.preventDefault();\n this.bi.reportOnBeforeUnload();\n }),\n );\n\n initTask.runOnce(async () => {\n const [data] = await Promise.all([\n this.fetch(),\n container.initTask.status.promise,\n ]);\n\n this.setEntity(data.entity ?? null);\n this.bi.appLoaded?.();\n });\n\n return () => {\n onBeforeUnloadSubscription?.remove();\n };\n }\n\n retryFetch() {\n this.formPage.retryFetch();\n }\n\n setEntity(newEntity: T | null) {\n this._entity = newEntity;\n }\n\n get entity(): T | null {\n return this._entity;\n }\n\n get isFetching() {\n return this.formPage.isFetching;\n }\n\n get form() {\n return this.formPage.form;\n }\n\n set isSubmitSuccessful(flag: boolean) {\n this.formPage.isSubmitSuccessful = flag;\n }\n\n get isFormDirty() {\n return this.formPage.isDirty;\n }\n\n // backwards compatibility\n set _isFormDirty(val: boolean) {\n this.formPage._isFormDirty = val;\n }\n\n get _withinRouter() {\n return !!this._routerState;\n }\n\n onCancel() {\n this.bi.reportButtonClick({ ctaName: 'Cancel' });\n this.navigateToParent();\n }\n\n navigateToParent(updatedEntity?: any) {\n const entityStringKey = this._entity ? '_updatedEntity' : '_createdEntity';\n const entityObject = { [entityStringKey]: updatedEntity };\n\n if (this._withinRouter) {\n this._routerState!.navigate(this._parentPath!, { state: entityObject });\n } else {\n this.container.navigateTo!({\n pageId: this._parentPageId!,\n });\n }\n }\n\n _showErrorToast(err: any, e?: React.BaseSyntheticEvent) {\n const errorToast = this.saveErrorToast?.(err, {\n retry: () => this.handleSubmit(e),\n });\n const message =\n typeof errorToast === 'string' ? errorToast : errorToast?.message;\n const showTryAgain =\n typeof errorToast === 'string' ? true : errorToast?.tryAgain !== false;\n const action =\n typeof errorToast === 'string' ? undefined : errorToast?.action;\n\n this.container.showToast?.({\n type: 'ERROR',\n biName: 'cairo-entity-page-save-error-toast',\n message:\n message ??\n this.container.translate(\n err?.code === 'ERR_NETWORK'\n ? 'cairo.entityPage.saveError-offline.toast.description'\n : 'cairo.entityPage.saveError-technical.toast.description',\n ),\n action:\n action || showTryAgain\n ? {\n uiType: 'LINK',\n text:\n action?.text ?? this.container.translate('cairo.toast.retry'),\n onClick: () => {\n if (action?.onClick) {\n action.onClick();\n } else {\n this.bi.reportSaveTryAgain();\n this.handleSubmit(e);\n }\n },\n removeToastOnClick: true,\n }\n : undefined,\n });\n }\n\n _showSuccessToast() {\n const message =\n typeof this.saveSuccessToast === 'string'\n ? this.saveSuccessToast\n : this.saveSuccessToast?.message;\n\n this.container.showToast?.({\n type: 'SUCCESS',\n biName: 'cairo-entity-page-save-success-toast',\n message:\n message ?? this.container.translate('cairo.entityPage.success.toast'),\n });\n }\n\n async handleSubmit(e?: React.BaseSyntheticEvent) {\n if (this.formPage.submitTask.status.isLoading) {\n return;\n }\n\n this.events.emit('save');\n\n const { isValid, data: extraFields } = await this.formPage.validate();\n\n if (!isValid) {\n this.bi.reportButtonClick({ ctaName: 'Save', isValid: false });\n return;\n }\n\n const {\n form,\n formPage: { submitTask },\n bi,\n } = this;\n\n submitTask.run(async () => {\n let savedEntity: T | undefined;\n await form.handleSubmit(\n async () => {\n bi.reportButtonClick({ ctaName: 'Save', isValid: true });\n try {\n if (!this.isFetching) {\n const onSaveResult = await this.onSave({\n widgetsFormData: { ...extraFields },\n });\n savedEntity = onSaveResult?.updatedEntity;\n }\n this._showSuccessToast();\n } catch (err) {\n this._showErrorToast(err, e);\n this.container.errorMonitor.captureException(err);\n this.events.emit('saveError', err);\n form.setError('root.serverError', {}); // https://react-hook-form.com/docs/useform/seterror\n }\n },\n () => {\n bi.reportButtonClick({ ctaName: 'Save', isValid: false });\n }, // can be used to report validation errors\n )(e);\n\n if (!form.formState.isSubmitSuccessful) {\n return;\n }\n\n const transformedItem =\n savedEntity && this.transformEntityToCollectionItem\n ? this.transformEntityToCollectionItem(savedEntity)\n : savedEntity;\n this.navigateToParent(transformedItem);\n });\n await this.formPage.submitTask.status.promise;\n }\n\n get initTask() {\n return this.formPage.initTask;\n }\n\n get submitTask() {\n return this.formPage.submitTask;\n }\n\n private _checkPageParams() {\n if (this._withinRouter) {\n if (this._parentPath === undefined) {\n throw new Error('parentPath was not defined in useEntityPage');\n }\n } else {\n if (this._parentPageId === undefined) {\n throw new Error('parentPageId was not defined in useEntityPage');\n }\n\n if (!this.container.navigateTo) {\n throw new Error('navigateTo was not defined in Patterns Provider');\n }\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -28,7 +28,7 @@ class FoldersAndItemsCollectionsState {
28
28
  hasItemsOnlyActiveFilters: _mobx.computed,
29
29
  hasFoldersOnlyActiveFilters: _mobx.computed,
30
30
  showEmptyState: _mobx.computed,
31
- hasBulkSelectFolders: _mobx.computed
31
+ hasSelectedFolders: _mobx.computed
32
32
  });
33
33
  }
34
34
  get hasFoldersOnlyActiveFilters() {
@@ -94,7 +94,7 @@ class FoldersAndItemsCollectionsState {
94
94
  get query() {
95
95
  return this.items.query;
96
96
  }
97
- get hasBulkSelectFolders() {
97
+ get hasSelectedFolders() {
98
98
  return !!this.folders.bulkSelect.selectedIds.length;
99
99
  }
100
100
  init(initParams) {
@@ -1 +1 @@
1
- {"version":3,"names":["_bexCore","require","_util","_mobx","isActiveFilterAndNotInCollection","query","filtersArray","f1","isEmpty","some","f2","FoldersAndItemsCollectionsState","constructor","params","_defineProperty2","default","toolbar","items","folders","multi","collections","push","syncWithSharedQuery","bulkSelect","useNewSelectAllLogic","makeObservable","hasItemsOnlyActiveFilters","computed","hasFoldersOnlyActiveFilters","showEmptyState","hasBulkSelectFolders","hasAvailableItems","resultOriginQuerySearch","hasNonPersistentActiveFilters","selectedIds","length","init","initParams","disposers","addEventListener","emitter","clearResult","_runSearch","clearResultAndMoveToStart","_runSort","emit","forEach","d","exports"],"sources":["../../../src/state/FoldersAndItemsCollectionsState.ts"],"sourcesContent":["import {\n CollectionState,\n Filter,\n FiltersMap,\n syncWithSharedQuery,\n} from '@wix/bex-core';\nimport {\n ToolbarCollectionState,\n ToolbarCollectionStateParamsInitParams,\n} from './ToolbarCollectionState';\nimport { addEventListener } from '@wix/bex-core/util';\nimport { computed, makeObservable } from 'mobx';\n\nexport type PartialAllFilters<\n F1 extends FiltersMap,\n F2 extends FiltersMap,\n> = Partial<F1 & F2>;\n\nconst isActiveFilterAndNotInCollection =\n <T>({ query: { filtersArray } }: CollectionState<T, {}>) =>\n (f1: Filter<unknown>) =>\n !f1.isEmpty && !filtersArray.some((f2) => f2 === f1);\n\nexport interface FoldersAndItemsCollectionsStateInitParams\n extends ToolbarCollectionStateParamsInitParams {}\n\nexport interface FoldersAndItemsCollectionsStateParams<\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 toolbar: ToolbarCollectionState<T1, PartialAllFilters<F1, F2>>;\n}\n\nexport class FoldersAndItemsCollectionsState<\n T1,\n F1 extends FiltersMap,\n T2,\n F2 extends FiltersMap,\n> {\n readonly toolbar;\n readonly items;\n readonly folders;\n\n constructor(params: FoldersAndItemsCollectionsStateParams<T1, F1, T2, F2>) {\n this.toolbar = params.toolbar;\n this.items = params.items;\n this.folders = params.folders;\n\n this.toolbar.multi.collections.push(\n this.folders as CollectionState<unknown, {}>,\n );\n\n syncWithSharedQuery(this.folders.query, this.items.query);\n this.items.bulkSelect.useNewSelectAllLogic = true;\n this.folders.bulkSelect.useNewSelectAllLogic = true;\n\n makeObservable(this, {\n hasItemsOnlyActiveFilters: computed,\n hasFoldersOnlyActiveFilters: computed,\n showEmptyState: computed,\n hasBulkSelectFolders: computed,\n });\n }\n\n get hasFoldersOnlyActiveFilters() {\n const { folders, items } = this;\n return folders.query.filtersArray.some(\n isActiveFilterAndNotInCollection(items),\n );\n }\n\n get hasItemsOnlyActiveFilters() {\n const { folders, items } = this;\n return items.query.filtersArray.some(\n isActiveFilterAndNotInCollection(folders),\n );\n }\n\n get showEmptyState() {\n const {\n toolbar: {\n multi: { showEmptyState },\n },\n items,\n folders,\n hasFoldersOnlyActiveFilters,\n hasItemsOnlyActiveFilters,\n } = this;\n return (\n showEmptyState ||\n (folders.showEmptyState && hasFoldersOnlyActiveFilters) ||\n (items.showEmptyState && hasItemsOnlyActiveFilters)\n );\n }\n\n get hasAvailableItems() {\n const {\n toolbar: {\n multi: { hasAvailableItems },\n },\n items,\n folders,\n } = this;\n return (\n hasAvailableItems || folders.hasAvailableItems || items.hasAvailableItems\n );\n }\n\n get resultOriginQuerySearch() {\n const {\n toolbar: {\n multi: { resultOriginQuerySearch },\n },\n } = this;\n return resultOriginQuerySearch;\n }\n\n get hasNonPersistentActiveFilters() {\n const {\n toolbar: {\n multi: { hasNonPersistentActiveFilters },\n },\n } = this;\n return hasNonPersistentActiveFilters;\n }\n\n get query() {\n return this.items.query;\n }\n\n get hasBulkSelectFolders() {\n return !!this.folders.bulkSelect.selectedIds.length;\n }\n\n init(initParams: FoldersAndItemsCollectionsStateInitParams) {\n const { items, folders, toolbar } = this;\n const disposers = [\n toolbar.init(initParams),\n addEventListener(items.emitter, 'search', ({ clearResult }) => {\n folders._runSearch(clearResult);\n }),\n addEventListener(items.emitter, 'clearSearch', () => {\n folders.clearResultAndMoveToStart();\n }),\n addEventListener(items.emitter, 'sort', (params) => {\n folders._runSort(params);\n }),\n addEventListener(items.emitter, 'beforeSortStart', (params) => {\n folders.emitter.emit('beforeSortStart', params);\n }),\n addEventListener(items.emitter, 'sortStart', (params) => {\n folders.emitter.emit('sortStart', params);\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","_util","_mobx","isActiveFilterAndNotInCollection","query","filtersArray","f1","isEmpty","some","f2","FoldersAndItemsCollectionsState","constructor","params","_defineProperty2","default","toolbar","items","folders","multi","collections","push","syncWithSharedQuery","bulkSelect","useNewSelectAllLogic","makeObservable","hasItemsOnlyActiveFilters","computed","hasFoldersOnlyActiveFilters","showEmptyState","hasSelectedFolders","hasAvailableItems","resultOriginQuerySearch","hasNonPersistentActiveFilters","selectedIds","length","init","initParams","disposers","addEventListener","emitter","clearResult","_runSearch","clearResultAndMoveToStart","_runSort","emit","forEach","d","exports"],"sources":["../../../src/state/FoldersAndItemsCollectionsState.ts"],"sourcesContent":["import {\n CollectionState,\n Filter,\n FiltersMap,\n syncWithSharedQuery,\n} from '@wix/bex-core';\nimport {\n ToolbarCollectionState,\n ToolbarCollectionStateParamsInitParams,\n} from './ToolbarCollectionState';\nimport { addEventListener } from '@wix/bex-core/util';\nimport { computed, makeObservable } from 'mobx';\n\nexport type PartialAllFilters<\n F1 extends FiltersMap,\n F2 extends FiltersMap,\n> = Partial<F1 & F2>;\n\nconst isActiveFilterAndNotInCollection =\n <T>({ query: { filtersArray } }: CollectionState<T, {}>) =>\n (f1: Filter<unknown>) =>\n !f1.isEmpty && !filtersArray.some((f2) => f2 === f1);\n\nexport interface FoldersAndItemsCollectionsStateInitParams\n extends ToolbarCollectionStateParamsInitParams {}\n\nexport interface FoldersAndItemsCollectionsStateParams<\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 toolbar: ToolbarCollectionState<T1, PartialAllFilters<F1, F2>>;\n}\n\nexport class FoldersAndItemsCollectionsState<\n T1,\n F1 extends FiltersMap,\n T2,\n F2 extends FiltersMap,\n> {\n readonly toolbar;\n readonly items;\n readonly folders;\n\n constructor(params: FoldersAndItemsCollectionsStateParams<T1, F1, T2, F2>) {\n this.toolbar = params.toolbar;\n this.items = params.items;\n this.folders = params.folders;\n\n this.toolbar.multi.collections.push(\n this.folders as CollectionState<unknown, {}>,\n );\n\n syncWithSharedQuery(this.folders.query, this.items.query);\n this.items.bulkSelect.useNewSelectAllLogic = true;\n this.folders.bulkSelect.useNewSelectAllLogic = true;\n\n makeObservable(this, {\n hasItemsOnlyActiveFilters: computed,\n hasFoldersOnlyActiveFilters: computed,\n showEmptyState: computed,\n hasSelectedFolders: computed,\n });\n }\n\n get hasFoldersOnlyActiveFilters() {\n const { folders, items } = this;\n return folders.query.filtersArray.some(\n isActiveFilterAndNotInCollection(items),\n );\n }\n\n get hasItemsOnlyActiveFilters() {\n const { folders, items } = this;\n return items.query.filtersArray.some(\n isActiveFilterAndNotInCollection(folders),\n );\n }\n\n get showEmptyState() {\n const {\n toolbar: {\n multi: { showEmptyState },\n },\n items,\n folders,\n hasFoldersOnlyActiveFilters,\n hasItemsOnlyActiveFilters,\n } = this;\n return (\n showEmptyState ||\n (folders.showEmptyState && hasFoldersOnlyActiveFilters) ||\n (items.showEmptyState && hasItemsOnlyActiveFilters)\n );\n }\n\n get hasAvailableItems() {\n const {\n toolbar: {\n multi: { hasAvailableItems },\n },\n items,\n folders,\n } = this;\n return (\n hasAvailableItems || folders.hasAvailableItems || items.hasAvailableItems\n );\n }\n\n get resultOriginQuerySearch() {\n const {\n toolbar: {\n multi: { resultOriginQuerySearch },\n },\n } = this;\n return resultOriginQuerySearch;\n }\n\n get hasNonPersistentActiveFilters() {\n const {\n toolbar: {\n multi: { hasNonPersistentActiveFilters },\n },\n } = this;\n return hasNonPersistentActiveFilters;\n }\n\n get query() {\n return this.items.query;\n }\n\n get hasSelectedFolders() {\n return !!this.folders.bulkSelect.selectedIds.length;\n }\n\n init(initParams: FoldersAndItemsCollectionsStateInitParams) {\n const { items, folders, toolbar } = this;\n const disposers = [\n toolbar.init(initParams),\n addEventListener(items.emitter, 'search', ({ clearResult }) => {\n folders._runSearch(clearResult);\n }),\n addEventListener(items.emitter, 'clearSearch', () => {\n folders.clearResultAndMoveToStart();\n }),\n addEventListener(items.emitter, 'sort', (params) => {\n folders._runSort(params);\n }),\n addEventListener(items.emitter, 'beforeSortStart', (params) => {\n folders.emitter.emit('beforeSortStart', params);\n }),\n addEventListener(items.emitter, 'sortStart', (params) => {\n folders.emitter.emit('sortStart', params);\n }),\n ];\n\n return () => {\n disposers.forEach((d) => d());\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}