@wix/patterns 1.245.0 → 1.247.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 (298) hide show
  1. package/dist/cjs/components/ActionControl/ActionSubItemProps.js.map +1 -1
  2. package/dist/cjs/components/CardContainer/CardContainer.st.css.js +2 -2
  3. package/dist/cjs/components/CardContainer/CardContainer.st.css.js.map +1 -1
  4. package/dist/cjs/components/Collapse/Collapse.st.css.js +3 -3
  5. package/dist/cjs/components/Collapse/Collapse.st.css.js.map +1 -1
  6. package/dist/cjs/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
  7. package/dist/cjs/components/CollectionPageNew/CollectionPage.st.css.js.map +1 -1
  8. package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js +2 -2
  9. package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js.map +1 -1
  10. package/dist/cjs/components/CollectionTable/CollectionTable.uni.driver.js +2 -0
  11. package/dist/cjs/components/CollectionTable/CollectionTable.uni.driver.js.map +1 -1
  12. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js +5 -5
  13. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js.map +1 -1
  14. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +4 -4
  15. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
  16. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  17. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
  18. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  19. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
  20. package/dist/cjs/components/DataExtension/CollectionDataExtensionState.js +5 -0
  21. package/dist/cjs/components/DataExtension/CollectionDataExtensionState.js.map +1 -1
  22. package/dist/cjs/components/DataExtension/DataExtension.js +3 -0
  23. package/dist/cjs/components/DataExtension/DataExtension.js.map +1 -1
  24. package/dist/cjs/components/DataExtension/manageCustomFieldsPageAction.js +34 -0
  25. package/dist/cjs/components/DataExtension/manageCustomFieldsPageAction.js.map +1 -0
  26. package/dist/cjs/components/DragHandle/DragHandle.st.css.js +2 -2
  27. package/dist/cjs/components/DragHandle/DragHandle.st.css.js.map +1 -1
  28. package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js +2 -2
  29. package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js.map +1 -1
  30. package/dist/cjs/components/Fade/Fade.st.css.js +2 -2
  31. package/dist/cjs/components/Fade/Fade.st.css.js.map +1 -1
  32. package/dist/cjs/components/Heading/Heading.st.css.js +2 -2
  33. package/dist/cjs/components/Heading/Heading.st.css.js.map +1 -1
  34. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js +2 -2
  35. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
  36. package/dist/cjs/components/Kanban/useCardActions.js +56 -32
  37. package/dist/cjs/components/Kanban/useCardActions.js.map +1 -1
  38. package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js +3 -3
  39. package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js.map +1 -1
  40. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  41. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
  42. package/dist/cjs/components/MaxLines/MaxLines.st.css.js +2 -2
  43. package/dist/cjs/components/MaxLines/MaxLines.st.css.js.map +1 -1
  44. package/dist/cjs/components/MoreActions/MoreActionsBase.js +18 -9
  45. package/dist/cjs/components/MoreActions/MoreActionsBase.js.map +1 -1
  46. package/dist/cjs/components/MoreActions/MoreActionsElement.js +4 -0
  47. package/dist/cjs/components/MoreActions/MoreActionsElement.js.map +1 -0
  48. package/dist/cjs/components/MoreActions/MoreActionsIcon.js +5 -5
  49. package/dist/cjs/components/MoreActions/MoreActionsIcon.js.map +1 -1
  50. package/dist/cjs/components/MoreActions/MoreActionsItem.js +4 -0
  51. package/dist/cjs/components/MoreActions/MoreActionsItem.js.map +1 -0
  52. package/dist/cjs/components/MoreActions/MoreActionsProps.js +4 -0
  53. package/dist/cjs/components/MoreActions/MoreActionsProps.js.map +1 -0
  54. package/dist/cjs/components/MoreActions/MoreActionsText.js +3 -3
  55. package/dist/cjs/components/MoreActions/MoreActionsText.js.map +1 -1
  56. package/dist/cjs/components/MoreActions/index.js +6 -4
  57. package/dist/cjs/components/MoreActions/index.js.map +1 -1
  58. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
  59. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
  60. package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  61. package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
  62. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js +5 -5
  63. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
  64. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
  65. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
  66. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
  67. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
  68. package/dist/cjs/components/PickerContent/PickerContent.st.css.js +2 -2
  69. package/dist/cjs/components/PickerContent/PickerContent.st.css.js.map +1 -1
  70. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js +4 -4
  71. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
  72. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  73. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
  74. package/dist/cjs/components/PrimaryActions/PrimaryActions.js +7 -4
  75. package/dist/cjs/components/PrimaryActions/PrimaryActions.js.map +1 -1
  76. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  77. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
  78. package/dist/cjs/components/SecondaryActions/SecondaryActions.js +6 -3
  79. package/dist/cjs/components/SecondaryActions/SecondaryActions.js.map +1 -1
  80. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js +3 -3
  81. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
  82. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js +2 -2
  83. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
  84. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js +3 -3
  85. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
  86. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  87. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
  88. package/dist/cjs/components/Tags/Tags.js +4 -0
  89. package/dist/cjs/components/Tags/Tags.js.map +1 -1
  90. package/dist/cjs/components/Tags/manageTagsPageAction.js +34 -0
  91. package/dist/cjs/components/Tags/manageTagsPageAction.js.map +1 -0
  92. package/dist/cjs/components/ToolbarCollection/useToolbarCollectionSyncProps.js +8 -0
  93. package/dist/cjs/components/ToolbarCollection/useToolbarCollectionSyncProps.js.map +1 -1
  94. package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
  95. package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js.map +1 -1
  96. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  97. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
  98. package/dist/cjs/components/common.st.css.js +4 -4
  99. package/dist/cjs/components/common.st.css.js.map +1 -1
  100. package/dist/cjs/dashboard/WixPatternsDashboardBaseProvider.js +9 -3
  101. package/dist/cjs/dashboard/WixPatternsDashboardBaseProvider.js.map +1 -1
  102. package/dist/cjs/dashboard/WixPatternsDashboardTestProvider.js +7 -2
  103. package/dist/cjs/dashboard/WixPatternsDashboardTestProvider.js.map +1 -1
  104. package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
  105. package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js.map +1 -1
  106. package/dist/cjs/state/CollectionPage/pushFactoryIfNotExistsOrAddToTopOfGroup.js +35 -0
  107. package/dist/cjs/state/CollectionPage/pushFactoryIfNotExistsOrAddToTopOfGroup.js.map +1 -0
  108. package/dist/cjs/state/CollectionPage/useCollectionPageHeader.js +61 -16
  109. package/dist/cjs/state/CollectionPage/useCollectionPageHeader.js.map +1 -1
  110. package/dist/cjs/state/EntityPage/EntityPageState.js +14 -8
  111. package/dist/cjs/state/EntityPage/EntityPageState.js.map +1 -1
  112. package/dist/cjs/state/EntityPage/EntityPageStateBIReporter.js +4 -2
  113. package/dist/cjs/state/EntityPage/EntityPageStateBIReporter.js.map +1 -1
  114. package/dist/cjs/state/FormPage/FormPageHeader.st.css.js +2 -2
  115. package/dist/cjs/state/FormPage/FormPageHeader.st.css.js.map +1 -1
  116. package/dist/cjs/state/KanbanState/KanbanStateBIReporter.js +4 -2
  117. package/dist/cjs/state/KanbanState/KanbanStateBIReporter.js.map +1 -1
  118. package/dist/cjs/state/TagsCollectionState.js +10 -1
  119. package/dist/cjs/state/TagsCollectionState.js.map +1 -1
  120. package/dist/cjs/state/ToolbarCollectionState.js +10 -0
  121. package/dist/cjs/state/ToolbarCollectionState.js.map +1 -1
  122. package/dist/cjs/styles.global.css +1 -1
  123. package/dist/cjs/test-utils/CairoTestApp.js +28 -24
  124. package/dist/cjs/test-utils/CairoTestApp.js.map +1 -1
  125. package/dist/cjs/version.js +1 -1
  126. package/dist/cjs/version.js.map +1 -1
  127. package/dist/esm/components/CardContainer/CardContainer.st.css.js +2 -2
  128. package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
  129. package/dist/esm/components/Collapse/Collapse.st.css.js.map +1 -1
  130. package/dist/esm/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
  131. package/dist/esm/components/CollectionTable/CollectionTable.st.css.js +2 -2
  132. package/dist/esm/components/CollectionTable/CollectionTable.st.css.js.map +1 -1
  133. package/dist/esm/components/CollectionTable/CollectionTable.uni.driver.js +2 -0
  134. package/dist/esm/components/CollectionTable/CollectionTable.uni.driver.js.map +1 -1
  135. package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
  136. package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
  137. package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  138. package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  139. package/dist/esm/components/DataExtension/CollectionDataExtensionState.js +4 -0
  140. package/dist/esm/components/DataExtension/CollectionDataExtensionState.js.map +1 -1
  141. package/dist/esm/components/DataExtension/DataExtension.js +3 -0
  142. package/dist/esm/components/DataExtension/DataExtension.js.map +1 -1
  143. package/dist/esm/components/DataExtension/manageCustomFieldsPageAction.js +15 -0
  144. package/dist/esm/components/DataExtension/manageCustomFieldsPageAction.js.map +1 -0
  145. package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
  146. package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js +2 -2
  147. package/dist/esm/components/Fade/Fade.st.css.js +2 -2
  148. package/dist/esm/components/Heading/Heading.st.css.js +2 -2
  149. package/dist/esm/components/InputOverflow/InputOverflow.st.css.js +2 -2
  150. package/dist/esm/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
  151. package/dist/esm/components/Kanban/useCardActions.js +36 -11
  152. package/dist/esm/components/Kanban/useCardActions.js.map +1 -1
  153. package/dist/esm/components/LoadingRow/LoadingRow.st.css.js +3 -3
  154. package/dist/esm/components/LoadingRow/LoadingRow.st.css.js.map +1 -1
  155. package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  156. package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
  157. package/dist/esm/components/MaxLines/MaxLines.st.css.js.map +1 -1
  158. package/dist/esm/components/MoreActions/MoreActionsBase.js +12 -5
  159. package/dist/esm/components/MoreActions/MoreActionsBase.js.map +1 -1
  160. package/dist/esm/components/MoreActions/MoreActionsElement.js +2 -0
  161. package/dist/esm/components/MoreActions/MoreActionsElement.js.map +1 -0
  162. package/dist/esm/components/MoreActions/MoreActionsIcon.js.map +1 -1
  163. package/dist/esm/components/MoreActions/MoreActionsItem.js +2 -0
  164. package/dist/esm/components/MoreActions/MoreActionsItem.js.map +1 -0
  165. package/dist/esm/components/MoreActions/MoreActionsProps.js +2 -0
  166. package/dist/esm/components/MoreActions/MoreActionsProps.js.map +1 -0
  167. package/dist/esm/components/MoreActions/MoreActionsText.js.map +1 -1
  168. package/dist/esm/components/MoreActions/index.js.map +1 -1
  169. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
  170. package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  171. package/dist/esm/components/NestedTable/NestedTableRow.st.css.js +2 -2
  172. package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
  173. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
  174. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
  175. package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
  176. package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js +2 -2
  177. package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  178. package/dist/esm/components/PrimaryActions/PrimaryActions.js +3 -0
  179. package/dist/esm/components/PrimaryActions/PrimaryActions.js.map +1 -1
  180. package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  181. package/dist/esm/components/SecondaryActions/SecondaryActions.js +3 -0
  182. package/dist/esm/components/SecondaryActions/SecondaryActions.js.map +1 -1
  183. package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js +2 -2
  184. package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +2 -2
  185. package/dist/esm/components/TabsFilter/TabsFilter.st.css.js +2 -2
  186. package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  187. package/dist/esm/components/Tags/Tags.js +4 -0
  188. package/dist/esm/components/Tags/Tags.js.map +1 -1
  189. package/dist/esm/components/Tags/manageTagsPageAction.js +15 -0
  190. package/dist/esm/components/Tags/manageTagsPageAction.js.map +1 -0
  191. package/dist/esm/components/ToolbarCollection/useToolbarCollectionSyncProps.js +8 -0
  192. package/dist/esm/components/ToolbarCollection/useToolbarCollectionSyncProps.js.map +1 -1
  193. package/dist/esm/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
  194. package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  195. package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
  196. package/dist/esm/components/common.st.css.js +2 -2
  197. package/dist/esm/components/common.st.css.js.map +1 -1
  198. package/dist/esm/dashboard/WixPatternsDashboardBaseProvider.js +10 -2
  199. package/dist/esm/dashboard/WixPatternsDashboardBaseProvider.js.map +1 -1
  200. package/dist/esm/dashboard/WixPatternsDashboardTestProvider.js +5 -0
  201. package/dist/esm/dashboard/WixPatternsDashboardTestProvider.js.map +1 -1
  202. package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
  203. package/dist/esm/state/CollectionPage/pushFactoryIfNotExistsOrAddToTopOfGroup.js +29 -0
  204. package/dist/esm/state/CollectionPage/pushFactoryIfNotExistsOrAddToTopOfGroup.js.map +1 -0
  205. package/dist/esm/state/CollectionPage/useCollectionPageHeader.js +21 -7
  206. package/dist/esm/state/CollectionPage/useCollectionPageHeader.js.map +1 -1
  207. package/dist/esm/state/EntityPage/EntityPageState.js +6 -6
  208. package/dist/esm/state/EntityPage/EntityPageState.js.map +1 -1
  209. package/dist/esm/state/EntityPage/EntityPageStateBIReporter.js +2 -1
  210. package/dist/esm/state/EntityPage/EntityPageStateBIReporter.js.map +1 -1
  211. package/dist/esm/state/FormPage/FormPageHeader.st.css.js +2 -2
  212. package/dist/esm/state/FormPage/FormPageHeader.st.css.js.map +1 -1
  213. package/dist/esm/state/KanbanState/KanbanStateBIReporter.js +2 -0
  214. package/dist/esm/state/KanbanState/KanbanStateBIReporter.js.map +1 -1
  215. package/dist/esm/state/TagsCollectionState.js +7 -2
  216. package/dist/esm/state/TagsCollectionState.js.map +1 -1
  217. package/dist/esm/state/ToolbarCollectionState.js +7 -0
  218. package/dist/esm/state/ToolbarCollectionState.js.map +1 -1
  219. package/dist/esm/styles.global.css +1 -1
  220. package/dist/esm/test-utils/CairoTestApp.js +2 -2
  221. package/dist/esm/test-utils/CairoTestApp.js.map +1 -1
  222. package/dist/esm/version.js +1 -1
  223. package/dist/types/components/ActionControl/ActionSubItemProps.d.ts +5 -1
  224. package/dist/types/components/ActionControl/ActionSubItemProps.d.ts.map +1 -1
  225. package/dist/types/components/Collapse/Collapse.st.css.d.ts.map +1 -1
  226. package/dist/types/components/CollectionTable/CollectionTable.st.css.d.ts.map +1 -1
  227. package/dist/types/components/CollectionTable/CollectionTable.uni.driver.d.ts +68 -44
  228. package/dist/types/components/CollectionTable/CollectionTable.uni.driver.d.ts.map +1 -1
  229. package/dist/types/components/DataExtension/CollectionDataExtensionState.d.ts +5 -1
  230. package/dist/types/components/DataExtension/CollectionDataExtensionState.d.ts.map +1 -1
  231. package/dist/types/components/DataExtension/DataExtension.d.ts +6 -1
  232. package/dist/types/components/DataExtension/DataExtension.d.ts.map +1 -1
  233. package/dist/types/components/DataExtension/manageCustomFieldsPageAction.d.ts +7 -0
  234. package/dist/types/components/DataExtension/manageCustomFieldsPageAction.d.ts.map +1 -0
  235. package/dist/types/components/InputOverflow/InputOverflow.st.css.d.ts.map +1 -1
  236. package/dist/types/components/Kanban/useCardActions.d.ts.map +1 -1
  237. package/dist/types/components/LoadingRow/LoadingRow.st.css.d.ts.map +1 -1
  238. package/dist/types/components/MaxLines/MaxLines.st.css.d.ts.map +1 -1
  239. package/dist/types/components/MoreActions/MoreActionsBase.d.ts +9 -62
  240. package/dist/types/components/MoreActions/MoreActionsBase.d.ts.map +1 -1
  241. package/dist/types/components/MoreActions/MoreActionsElement.d.ts +5 -0
  242. package/dist/types/components/MoreActions/MoreActionsElement.d.ts.map +1 -0
  243. package/dist/types/components/MoreActions/MoreActionsIcon.d.ts +5 -4
  244. package/dist/types/components/MoreActions/MoreActionsIcon.d.ts.map +1 -1
  245. package/dist/types/components/MoreActions/MoreActionsItem.d.ts +53 -0
  246. package/dist/types/components/MoreActions/MoreActionsItem.d.ts.map +1 -0
  247. package/dist/types/components/MoreActions/MoreActionsProps.d.ts +24 -0
  248. package/dist/types/components/MoreActions/MoreActionsProps.d.ts.map +1 -0
  249. package/dist/types/components/MoreActions/MoreActionsText.d.ts +4 -2
  250. package/dist/types/components/MoreActions/MoreActionsText.d.ts.map +1 -1
  251. package/dist/types/components/MoreActions/index.d.ts +4 -2
  252. package/dist/types/components/MoreActions/index.d.ts.map +1 -1
  253. package/dist/types/components/NestedTable/NestedTable.uni.driver.d.ts +30 -0
  254. package/dist/types/components/NestedTable/NestedTable.uni.driver.d.ts.map +1 -1
  255. package/dist/types/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.d.ts.map +1 -1
  256. package/dist/types/components/PrimaryActions/PrimaryActions.d.ts.map +1 -1
  257. package/dist/types/components/SecondaryActions/SecondaryActions.d.ts.map +1 -1
  258. package/dist/types/components/Table/Table.uni.driver.d.ts +37 -13
  259. package/dist/types/components/Table/Table.uni.driver.d.ts.map +1 -1
  260. package/dist/types/components/TableFolders/TableFolders.uni.driver.d.ts +30 -0
  261. package/dist/types/components/TableFolders/TableFolders.uni.driver.d.ts.map +1 -1
  262. package/dist/types/components/TableGridSwitch/TableGridSwitch.uni.driver.d.ts +32 -0
  263. package/dist/types/components/TableGridSwitch/TableGridSwitch.uni.driver.d.ts.map +1 -1
  264. package/dist/types/components/TableGridSwitchFolders/TableGridSwitchFolders.uni.driver.d.ts +30 -0
  265. package/dist/types/components/TableGridSwitchFolders/TableGridSwitchFolders.uni.driver.d.ts.map +1 -1
  266. package/dist/types/components/Tags/Tags.d.ts +9 -1
  267. package/dist/types/components/Tags/Tags.d.ts.map +1 -1
  268. package/dist/types/components/Tags/manageTagsPageAction.d.ts +7 -0
  269. package/dist/types/components/Tags/manageTagsPageAction.d.ts.map +1 -0
  270. package/dist/types/components/ToolbarCollection/useToolbarCollectionSyncProps.d.ts.map +1 -1
  271. package/dist/types/components/ToolbarItemBox/ToolbarItemBox.st.css.d.ts.map +1 -1
  272. package/dist/types/components/common.st.css.d.ts.map +1 -1
  273. package/dist/types/dashboard/WixPatternsDashboardBaseProvider.d.ts +1 -1
  274. package/dist/types/dashboard/WixPatternsDashboardBaseProvider.d.ts.map +1 -1
  275. package/dist/types/dashboard/WixPatternsDashboardTestProvider.d.ts.map +1 -1
  276. package/dist/types/state/CollectionPage/pushFactoryIfNotExistsOrAddToTopOfGroup.d.ts +8 -0
  277. package/dist/types/state/CollectionPage/pushFactoryIfNotExistsOrAddToTopOfGroup.d.ts.map +1 -0
  278. package/dist/types/state/CollectionPage/useCollectionPageHeader.d.ts.map +1 -1
  279. package/dist/types/state/EntityPage/EntityPageStateBIReporter.d.ts +2 -1
  280. package/dist/types/state/EntityPage/EntityPageStateBIReporter.d.ts.map +1 -1
  281. package/dist/types/state/FormPage/FormPageHeader.st.css.d.ts.map +1 -1
  282. package/dist/types/state/KanbanState/KanbanStateBIReporter.d.ts.map +1 -1
  283. package/dist/types/state/TagsCollectionState.d.ts +11 -2
  284. package/dist/types/state/TagsCollectionState.d.ts.map +1 -1
  285. package/dist/types/state/ToolbarCollectionState.d.ts +4 -2
  286. package/dist/types/state/ToolbarCollectionState.d.ts.map +1 -1
  287. package/dist/types/test-utils/CairoTestApp.d.ts +3 -1
  288. package/dist/types/test-utils/CairoTestApp.d.ts.map +1 -1
  289. package/dist/types/testkit/enzyme.d.ts +150 -0
  290. package/dist/types/testkit/enzyme.d.ts.map +1 -1
  291. package/dist/types/testkit/jsdom.d.ts +150 -0
  292. package/dist/types/testkit/jsdom.d.ts.map +1 -1
  293. package/dist/types/testkit/playwright.d.ts +150 -0
  294. package/dist/types/testkit/playwright.d.ts.map +1 -1
  295. package/dist/types/testkit/puppeteer.d.ts +150 -0
  296. package/dist/types/testkit/puppeteer.d.ts.map +1 -1
  297. package/dist/types/version.d.ts +1 -1
  298. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_WixPatternsDashboardBaseProvider","_testkit","_client","_client2","_dataExtensionServiceMocks","_tagsServiceMocks","_AsyncJobMocks","_jsxFileName","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","WixPatternsDashboardTestProvider","props","dashboard","useState","showToast","remove","navigate","environment","language","locale","pageLocation","pageId","pathname","search","hash","essentials","testkit","getTestContext","experiments","bag","httpClient","scenarios","appSettingsMocks","whenRequest","exportServiceMocks","mocks","dataExtensionServiceMocks","asyncJobMocks","tagsServiceMocks","useEffect","state","mounted","afterAll","beforeAll","then","createElement","WixPatternsDashboardBaseProvider","_extends2","__self","__source","fileName","lineNumber","columnNumber"],"sources":["../../../src/dashboard/WixPatternsDashboardTestProvider.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport {\n WixPatternsDashboardBaseProvider,\n WixPatternsProviderProps,\n} from './WixPatternsDashboardBaseProvider';\nimport { testkit } from '@wix/bex-utils/@wix/bex-bundled-mini-essentials/testkit';\nimport { whenRequest } from '@wix/bex-utils/@wix/bex-bundled-mini-essentials/http-client/testkit/client';\nimport {\n exportServiceMocks,\n appSettingsMocks,\n} from '@wix/bex-core/testkit/client';\nimport { dataExtensionServiceMocks } from '../test-utils/dataExtensionServiceMocks';\nimport { tagsServiceMocks } from '../test-utils/tagsServiceMocks';\nimport { asyncJobMocks } from '../test-utils/AsyncJobMocks';\n\nexport function WixPatternsDashboardTestProvider(\n props: WixPatternsProviderProps,\n) {\n const [dashboard] = useState(() => ({\n showToast: () => {\n return {\n remove: () => {},\n };\n },\n navigate: () => {},\n }));\n\n const [environment] = useState(() => ({\n language: 'en',\n locale: 'en',\n pageLocation: {\n pageId: '',\n pathname: '',\n search: '',\n hash: '',\n },\n }));\n\n const [essentials] = useState(() =>\n testkit.getTestContext({\n experiments: {\n bag: {},\n },\n httpClient: {\n scenarios: [\n ...appSettingsMocks(whenRequest),\n ...exportServiceMocks(whenRequest).mocks,\n ...dataExtensionServiceMocks(whenRequest).mocks,\n ...asyncJobMocks(whenRequest).mocks,\n ...tagsServiceMocks(whenRequest).mocks,\n ],\n },\n }),\n );\n\n useEffect(() => {\n const state = {\n mounted: true,\n afterAll: null as (() => void) | null,\n };\n testkit.beforeAll().then(({ afterAll }) => {\n state.afterAll = afterAll;\n if (!state.mounted) {\n afterAll();\n }\n });\n\n return () => {\n state.mounted = false;\n state.afterAll?.();\n };\n }, []);\n\n return (\n <WixPatternsDashboardBaseProvider\n {...props}\n dashboard={dashboard}\n environment={environment}\n essentials={essentials}\n />\n );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_WixPatternsDashboardBaseProvider","_testkit","_client","_client2","_dataExtensionServiceMocks","_tagsServiceMocks","_AsyncJobMocks","_jsxFileName","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","WixPatternsDashboardTestProvider","props","dashboard","useState","showToast","remove","navigate","onBeforeUnload","environment","language","locale","pageLocation","pageId","pathname","search","hash","essentials","testkit","getTestContext","experiments","bag","httpClient","scenarios","appSettingsMocks","whenRequest","exportServiceMocks","mocks","dataExtensionServiceMocks","asyncJobMocks","tagsServiceMocks","useEffect","state","mounted","afterAll","beforeAll","then","createElement","WixPatternsDashboardBaseProvider","_extends2","__self","__source","fileName","lineNumber","columnNumber"],"sources":["../../../src/dashboard/WixPatternsDashboardTestProvider.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport {\n WixPatternsDashboardBaseProvider,\n WixPatternsProviderProps,\n} from './WixPatternsDashboardBaseProvider';\nimport { testkit } from '@wix/bex-utils/@wix/bex-bundled-mini-essentials/testkit';\nimport { whenRequest } from '@wix/bex-utils/@wix/bex-bundled-mini-essentials/http-client/testkit/client';\nimport {\n exportServiceMocks,\n appSettingsMocks,\n} from '@wix/bex-core/testkit/client';\nimport { dataExtensionServiceMocks } from '../test-utils/dataExtensionServiceMocks';\nimport { tagsServiceMocks } from '../test-utils/tagsServiceMocks';\nimport { asyncJobMocks } from '../test-utils/AsyncJobMocks';\n\nexport function WixPatternsDashboardTestProvider(\n props: WixPatternsProviderProps,\n) {\n const [dashboard] = useState(() => ({\n showToast: () => {\n return {\n remove: () => {},\n };\n },\n navigate: () => {},\n onBeforeUnload: () => {\n return {\n remove: () => {},\n };\n },\n }));\n\n const [environment] = useState(() => ({\n language: 'en',\n locale: 'en',\n pageLocation: {\n pageId: '',\n pathname: '',\n search: '',\n hash: '',\n },\n }));\n\n const [essentials] = useState(() =>\n testkit.getTestContext({\n experiments: {\n bag: {},\n },\n httpClient: {\n scenarios: [\n ...appSettingsMocks(whenRequest),\n ...exportServiceMocks(whenRequest).mocks,\n ...dataExtensionServiceMocks(whenRequest).mocks,\n ...asyncJobMocks(whenRequest).mocks,\n ...tagsServiceMocks(whenRequest).mocks,\n ],\n },\n }),\n );\n\n useEffect(() => {\n const state = {\n mounted: true,\n afterAll: null as (() => void) | null,\n };\n testkit.beforeAll().then(({ afterAll }) => {\n state.afterAll = afterAll;\n if (!state.mounted) {\n afterAll();\n }\n });\n\n return () => {\n state.mounted = false;\n state.afterAll?.();\n };\n }, []);\n\n return (\n <WixPatternsDashboardBaseProvider\n {...props}\n dashboard={dashboard}\n environment={environment}\n essentials={essentials}\n />\n );\n}\n"],"mappings":"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","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_ = "CollectionPageHeader3423094274";
8
+ var _namespace_ = "CollectionPageHeader3204920807";
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": "CollectionPageHeader3423094274__root"
15
+ "root": "CollectionPageHeader3204920807__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/state/CollectionPage/CollectionPageHeader.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"CollectionPageHeader3423094274\";\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\":\"CollectionPageHeader3423094274__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,gCAAgC;AAClD,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;AAAsC,CAAC;AAC7D,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/state/CollectionPage/CollectionPageHeader.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"CollectionPageHeader3204920807\";\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\":\"CollectionPageHeader3204920807__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,gCAAgC;AAClD,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;AAAsC,CAAC;AAC7D,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,35 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.pushFactoryIfNotExists = pushFactoryIfNotExists;
5
+ exports.pushFactoryIfNotExistsOrAddToTopOfGroup = pushFactoryIfNotExistsOrAddToTopOfGroup;
6
+ const isGroups = items => items != null && Array.isArray(items[0]);
7
+
8
+ /**
9
+ * Pushes factory in the list of more actions with the condition that it does not already exist.
10
+ * Does not modify the original items array.
11
+ */
12
+ function pushFactoryIfNotExists(items, factory) {
13
+ if (!items) {
14
+ return [factory];
15
+ }
16
+ const idx = items.findIndex(item => item === factory);
17
+ if (idx !== -1) {
18
+ return items;
19
+ }
20
+ return [factory, ...items];
21
+ }
22
+ function pushFactoryIfNotExistsOrAddToTopOfGroup(items, factory) {
23
+ if (!factory) {
24
+ return items;
25
+ }
26
+ if (!isGroups(items)) {
27
+ return pushFactoryIfNotExists(items, factory);
28
+ }
29
+ const existsInSome = items.some(group => group.some(item => item === factory));
30
+ if (existsInSome) {
31
+ return items;
32
+ }
33
+ return [[factory, ...(items[0] || [])], ...items.slice(1)];
34
+ }
35
+ //# sourceMappingURL=pushFactoryIfNotExistsOrAddToTopOfGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["isGroups","items","Array","isArray","pushFactoryIfNotExists","factory","idx","findIndex","item","pushFactoryIfNotExistsOrAddToTopOfGroup","existsInSome","some","group","slice"],"sources":["../../../../src/state/CollectionPage/pushFactoryIfNotExistsOrAddToTopOfGroup.ts"],"sourcesContent":["import {\n MoreActionItemFactory,\n MoreActionsPropItem,\n} from '../../components/MoreActions/MoreActionsBase';\n\nconst isGroups = (\n items: MoreActionsPropItem[] | MoreActionsPropItem[][] | undefined,\n): items is MoreActionsPropItem[][] => items != null && Array.isArray(items[0]);\n\n/**\n * Pushes factory in the list of more actions with the condition that it does not already exist.\n * Does not modify the original items array.\n */\nexport function pushFactoryIfNotExists(\n items: MoreActionsPropItem[] | undefined,\n factory: MoreActionItemFactory,\n): MoreActionsPropItem[] | undefined {\n if (!items) {\n return [factory];\n }\n\n const idx = items.findIndex((item) => item === factory);\n\n if (idx !== -1) {\n return items;\n }\n\n return [factory, ...items];\n}\n\nexport function pushFactoryIfNotExistsOrAddToTopOfGroup(\n items: MoreActionsPropItem[] | MoreActionsPropItem[][] | undefined,\n factory: MoreActionItemFactory | undefined,\n): MoreActionsPropItem[] | MoreActionsPropItem[][] | undefined {\n if (!factory) {\n return items;\n }\n\n if (!isGroups(items)) {\n return pushFactoryIfNotExists(items, factory);\n }\n\n const existsInSome = items.some((group) =>\n group.some((item) => item === factory),\n );\n\n if (existsInSome) {\n return items;\n }\n\n return [[factory, ...(items[0] || [])], ...items.slice(1)];\n}\n"],"mappings":";;;;;AAKA,MAAMA,QAAQ,GACZC,KAAkE,IAC7BA,KAAK,IAAI,IAAI,IAAIC,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC,CAAC,CAAC,CAAC;;AAE/E;AACA;AACA;AACA;AACO,SAASG,sBAAsBA,CACpCH,KAAwC,EACxCI,OAA8B,EACK;EACnC,IAAI,CAACJ,KAAK,EAAE;IACV,OAAO,CAACI,OAAO,CAAC;EAClB;EAEA,MAAMC,GAAG,GAAGL,KAAK,CAACM,SAAS,CAAEC,IAAI,IAAKA,IAAI,KAAKH,OAAO,CAAC;EAEvD,IAAIC,GAAG,KAAK,CAAC,CAAC,EAAE;IACd,OAAOL,KAAK;EACd;EAEA,OAAO,CAACI,OAAO,EAAE,GAAGJ,KAAK,CAAC;AAC5B;AAEO,SAASQ,uCAAuCA,CACrDR,KAAkE,EAClEI,OAA0C,EACmB;EAC7D,IAAI,CAACA,OAAO,EAAE;IACZ,OAAOJ,KAAK;EACd;EAEA,IAAI,CAACD,QAAQ,CAACC,KAAK,CAAC,EAAE;IACpB,OAAOG,sBAAsB,CAACH,KAAK,EAAEI,OAAO,CAAC;EAC/C;EAEA,MAAMK,YAAY,GAAGT,KAAK,CAACU,IAAI,CAAEC,KAAK,IACpCA,KAAK,CAACD,IAAI,CAAEH,IAAI,IAAKA,IAAI,KAAKH,OAAO,CACvC,CAAC;EAED,IAAIK,YAAY,EAAE;IAChB,OAAOT,KAAK;EACd;EAEA,OAAO,CAAC,CAACI,OAAO,EAAE,IAAIJ,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,GAAGA,KAAK,CAACY,KAAK,CAAC,CAAC,CAAC,CAAC;AAC5D","ignoreList":[]}
@@ -12,23 +12,60 @@ var _PageSubTitle = require("../../components/PageSubTitle");
12
12
  var _MoreActionsText = require("../../components/MoreActions/MoreActionsText");
13
13
  var _useIsMobile = require("../../hooks/useIsMobile");
14
14
  var _CollectionPageHeaderStCss = require("./CollectionPageHeader.st.css.js");
15
+ var _pushFactoryIfNotExistsOrAddToTopOfGroup = require("./pushFactoryIfNotExistsOrAddToTopOfGroup");
16
+ var _MoreActions = require("../../components/MoreActions");
15
17
  var _jsxFileName = "/home/builduser/work/db7ea24852bc3350/packages/cairo/dist/cjs/state/CollectionPage/useCollectionPageHeader.tsx";
16
- const renderMoreActionsBySecondaryAction = child => {
17
- if (!child.props.moreActions) {
18
+ const MoreActionsBySecondaryAction = (0, _mobxReactLite.observer)(({
19
+ child
20
+ }) => {
21
+ const pageState = (0, _providers.useCollectionPageContext)();
22
+ const {
23
+ primaryToolbar
24
+ } = pageState;
25
+ const featuredActions = primaryToolbar == null ? void 0 : primaryToolbar.getPageFeaturedActions();
26
+ const forceMoreActions = featuredActions != null && featuredActions.length ? /*#__PURE__*/_react.default.createElement(_MoreActions.MoreActions, {
27
+ __self: void 0,
28
+ __source: {
29
+ fileName: _jsxFileName,
30
+ lineNumber: 21,
31
+ columnNumber: 7
32
+ }
33
+ }) : undefined;
34
+ const moreActions = child.props.moreActions ?? forceMoreActions;
35
+ if (!moreActions) {
18
36
  return null;
19
37
  }
38
+ const {
39
+ type: MoreActionsElementType,
40
+ props: moreActionsProps
41
+ } = moreActions;
42
+ let items = moreActionsProps.items;
43
+ if (featuredActions) {
44
+ for (const factory of featuredActions) {
45
+ items = (0, _pushFactoryIfNotExistsOrAddToTopOfGroup.pushFactoryIfNotExistsOrAddToTopOfGroup)(items, factory);
46
+ }
47
+ }
20
48
  if (child.props.secondaryActions) {
21
- return child.props.moreActions; // MoreActionIcon component
49
+ return /*#__PURE__*/_react.default.createElement(MoreActionsElementType, (0, _extends2.default)({}, moreActionsProps, {
50
+ items: items,
51
+ __self: void 0,
52
+ __source: {
53
+ fileName: _jsxFileName,
54
+ lineNumber: 42,
55
+ columnNumber: 14
56
+ }
57
+ }));
22
58
  }
23
- return /*#__PURE__*/_react.default.createElement(_MoreActionsText.MoreActionsText, (0, _extends2.default)({}, child.props.moreActions.props, {
59
+ return /*#__PURE__*/_react.default.createElement(_MoreActionsText.MoreActionsText, (0, _extends2.default)({}, moreActionsProps, {
60
+ items: items,
24
61
  __self: void 0,
25
62
  __source: {
26
63
  fileName: _jsxFileName,
27
- lineNumber: 22,
28
- columnNumber: 10
64
+ lineNumber: 45,
65
+ columnNumber: 12
29
66
  }
30
67
  }));
31
- };
68
+ });
32
69
  function useCollectionPageHeader(child) {
33
70
  const isMobile = (0, _useIsMobile.useIsMobile)();
34
71
  return /*#__PURE__*/_react.default.createElement(_designSystem.Page.Header, {
@@ -42,7 +79,7 @@ function useCollectionPageHeader(child) {
42
79
  __self: this,
43
80
  __source: {
44
81
  fileName: _jsxFileName,
45
- lineNumber: 32,
82
+ lineNumber: 56,
46
83
  columnNumber: 29
47
84
  }
48
85
  }),
@@ -50,7 +87,7 @@ function useCollectionPageHeader(child) {
50
87
  __self: this,
51
88
  __source: {
52
89
  fileName: _jsxFileName,
53
- lineNumber: 35,
90
+ lineNumber: 59,
54
91
  columnNumber: 11
55
92
  }
56
93
  })) : undefined,
@@ -59,16 +96,24 @@ function useCollectionPageHeader(child) {
59
96
  __self: this,
60
97
  __source: {
61
98
  fileName: _jsxFileName,
62
- lineNumber: 39,
99
+ lineNumber: 63,
63
100
  columnNumber: 9
64
101
  }
65
- }, !isMobile && renderMoreActionsBySecondaryAction(child), !isMobile && child.props.secondaryActions, child.props.primaryAction),
102
+ }, !isMobile && /*#__PURE__*/_react.default.createElement(MoreActionsBySecondaryAction, {
103
+ child: child,
104
+ __self: this,
105
+ __source: {
106
+ fileName: _jsxFileName,
107
+ lineNumber: 64,
108
+ columnNumber: 25
109
+ }
110
+ }), !isMobile && child.props.secondaryActions, child.props.primaryAction),
66
111
  breadcrumbs: isMobile ? () => {
67
112
  return /*#__PURE__*/_react.default.createElement("div", {
68
113
  __self: this,
69
114
  __source: {
70
115
  fileName: _jsxFileName,
71
- lineNumber: 48,
116
+ lineNumber: 72,
72
117
  columnNumber: 22
73
118
  }
74
119
  });
@@ -76,7 +121,7 @@ function useCollectionPageHeader(child) {
76
121
  __self: this,
77
122
  __source: {
78
123
  fileName: _jsxFileName,
79
- lineNumber: 28,
124
+ lineNumber: 52,
80
125
  columnNumber: 5
81
126
  }
82
127
  });
@@ -92,7 +137,7 @@ const CollectionPageHeaderTitle = (0, _mobxReactLite.observer)(({
92
137
  __self: void 0,
93
138
  __source: {
94
139
  fileName: _jsxFileName,
95
- lineNumber: 62,
140
+ lineNumber: 86,
96
141
  columnNumber: 9
97
142
  }
98
143
  }, state.pageTitle), state.total !== false && !state.hideHeaderTotal && /*#__PURE__*/_react.default.createElement(_designSystem.Box, {
@@ -102,7 +147,7 @@ const CollectionPageHeaderTitle = (0, _mobxReactLite.observer)(({
102
147
  __self: void 0,
103
148
  __source: {
104
149
  fileName: _jsxFileName,
105
- lineNumber: 66,
150
+ lineNumber: 90,
106
151
  columnNumber: 11
107
152
  }
108
153
  }, state.total));
@@ -114,7 +159,7 @@ const CollectionPageHeaderTitle = (0, _mobxReactLite.observer)(({
114
159
  __self: void 0,
115
160
  __source: {
116
161
  fileName: _jsxFileName,
117
- lineNumber: 78,
162
+ lineNumber: 102,
118
163
  columnNumber: 7
119
164
  }
120
165
  }, titleContent);
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_designSystem","_providers","_mobxReactLite","_PageSubTitle","_MoreActionsText","_useIsMobile","_CollectionPageHeaderStCss","_jsxFileName","renderMoreActionsBySecondaryAction","child","props","moreActions","secondaryActions","default","createElement","MoreActionsText","_extends2","__self","__source","fileName","lineNumber","columnNumber","useCollectionPageHeader","isMobile","useIsMobile","Page","Header","key","className","st","classes","root","mobile","dataHook","title","minimized","CollectionPageHeaderTitle","subtitle","PageSubTitle","undefined","actionsBar","Box","gap","primaryAction","breadcrumbs","observer","state","useCollectionPageContext","titleContent","Fragment","inline","paddingRight","pageTitle","total","hideHeaderTotal","color","Heading","size"],"sources":["../../../../src/state/CollectionPage/useCollectionPageHeader.tsx"],"sourcesContent":["import React from 'react';\nimport { Box, Heading, Page } from '@wix/design-system';\nimport { CollectionPageHeaderElement } from '../../components/CollectionPageHeaderNew';\nimport { useCollectionPageContext } from '../../providers';\nimport { observer } from 'mobx-react-lite';\nimport { PageSubTitle } from '../../components/PageSubTitle';\nimport { MoreActionsText } from '../../components/MoreActions/MoreActionsText';\nimport { useIsMobile } from '../../hooks/useIsMobile';\nimport { st, classes } from './CollectionPageHeader.st.css.js';\n\nconst renderMoreActionsBySecondaryAction = (\n child: CollectionPageHeaderElement,\n) => {\n if (!child.props.moreActions) {\n return null;\n }\n\n if (child.props.secondaryActions) {\n return child.props.moreActions; // MoreActionIcon component\n }\n\n return <MoreActionsText {...child.props.moreActions.props} />;\n};\n\nexport function useCollectionPageHeader(child: CollectionPageHeaderElement) {\n const isMobile = useIsMobile();\n return (\n <Page.Header\n key={child.key}\n className={st(classes.root, { mobile: isMobile })}\n dataHook=\"collection-page-header\"\n title={(minimized) => <CollectionPageHeaderTitle minimized={minimized} />}\n subtitle={\n child.props.subtitle ? (\n <PageSubTitle {...child.props.subtitle} />\n ) : undefined\n }\n actionsBar={\n <Box gap=\"SP2\">\n {!isMobile && renderMoreActionsBySecondaryAction(child)}\n {!isMobile && child.props.secondaryActions}\n {child.props.primaryAction}\n </Box>\n }\n breadcrumbs={\n isMobile\n ? () => {\n return <div></div>;\n }\n : child.props.breadcrumbs\n }\n />\n );\n}\n\nconst CollectionPageHeaderTitle = observer(\n ({ minimized }: { minimized: boolean }) => {\n const state = useCollectionPageContext();\n const isMobile = useIsMobile();\n const titleContent = (\n <>\n <Box inline paddingRight=\"9px\">\n {state.pageTitle}\n </Box>\n {state.total !== false && !state.hideHeaderTotal && (\n <Box inline color=\"D40\" dataHook=\"page-header-total-count\">\n {state.total}\n </Box>\n )}\n </>\n );\n\n if (minimized) {\n return titleContent;\n }\n\n return (\n <Heading size={isMobile ? 'large' : 'extraLarge'}>{titleContent}</Heading>\n );\n },\n);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_designSystem","_providers","_mobxReactLite","_PageSubTitle","_MoreActionsText","_useIsMobile","_CollectionPageHeaderStCss","_pushFactoryIfNotExistsOrAddToTopOfGroup","_MoreActions","_jsxFileName","MoreActionsBySecondaryAction","observer","child","pageState","useCollectionPageContext","primaryToolbar","featuredActions","getPageFeaturedActions","forceMoreActions","length","default","createElement","MoreActions","__self","__source","fileName","lineNumber","columnNumber","undefined","moreActions","props","type","MoreActionsElementType","moreActionsProps","items","factory","pushFactoryIfNotExistsOrAddToTopOfGroup","secondaryActions","_extends2","MoreActionsText","useCollectionPageHeader","isMobile","useIsMobile","Page","Header","key","className","st","classes","root","mobile","dataHook","title","minimized","CollectionPageHeaderTitle","subtitle","PageSubTitle","actionsBar","Box","gap","primaryAction","breadcrumbs","state","titleContent","Fragment","inline","paddingRight","pageTitle","total","hideHeaderTotal","color","Heading","size"],"sources":["../../../../src/state/CollectionPage/useCollectionPageHeader.tsx"],"sourcesContent":["import React from 'react';\nimport { Box, Heading, Page } from '@wix/design-system';\nimport { CollectionPageHeaderElement } from '../../components/CollectionPageHeaderNew';\nimport { useCollectionPageContext } from '../../providers';\nimport { observer } from 'mobx-react-lite';\nimport { PageSubTitle } from '../../components/PageSubTitle';\nimport { MoreActionsText } from '../../components/MoreActions/MoreActionsText';\nimport { useIsMobile } from '../../hooks/useIsMobile';\nimport { classes, st } from './CollectionPageHeader.st.css.js';\nimport { pushFactoryIfNotExistsOrAddToTopOfGroup } from './pushFactoryIfNotExistsOrAddToTopOfGroup';\nimport { MoreActions } from '../../components/MoreActions';\n\nconst MoreActionsBySecondaryAction = observer(\n ({ child }: { child: CollectionPageHeaderElement }) => {\n const pageState = useCollectionPageContext();\n const { primaryToolbar } = pageState;\n\n const featuredActions = primaryToolbar?.getPageFeaturedActions();\n\n const forceMoreActions = featuredActions?.length ? (\n <MoreActions />\n ) : undefined;\n\n const moreActions = child.props.moreActions ?? forceMoreActions;\n\n if (!moreActions) {\n return null;\n }\n\n const { type: MoreActionsElementType, props: moreActionsProps } =\n moreActions;\n\n let items = moreActionsProps.items;\n\n if (featuredActions) {\n for (const factory of featuredActions) {\n items = pushFactoryIfNotExistsOrAddToTopOfGroup(items, factory);\n }\n }\n\n if (child.props.secondaryActions) {\n return <MoreActionsElementType {...moreActionsProps} items={items} />;\n }\n\n return <MoreActionsText {...moreActionsProps} items={items} />;\n },\n);\n\nexport function useCollectionPageHeader(child: CollectionPageHeaderElement) {\n const isMobile = useIsMobile();\n return (\n <Page.Header\n key={child.key}\n className={st(classes.root, { mobile: isMobile })}\n dataHook=\"collection-page-header\"\n title={(minimized) => <CollectionPageHeaderTitle minimized={minimized} />}\n subtitle={\n child.props.subtitle ? (\n <PageSubTitle {...child.props.subtitle} />\n ) : undefined\n }\n actionsBar={\n <Box gap=\"SP2\">\n {!isMobile && <MoreActionsBySecondaryAction child={child} />}\n {!isMobile && child.props.secondaryActions}\n {child.props.primaryAction}\n </Box>\n }\n breadcrumbs={\n isMobile\n ? () => {\n return <div></div>;\n }\n : child.props.breadcrumbs\n }\n />\n );\n}\n\nconst CollectionPageHeaderTitle = observer(\n ({ minimized }: { minimized: boolean }) => {\n const state = useCollectionPageContext();\n const isMobile = useIsMobile();\n const titleContent = (\n <>\n <Box inline paddingRight=\"9px\">\n {state.pageTitle}\n </Box>\n {state.total !== false && !state.hideHeaderTotal && (\n <Box inline color=\"D40\" dataHook=\"page-header-total-count\">\n {state.total}\n </Box>\n )}\n </>\n );\n\n if (minimized) {\n return titleContent;\n }\n\n return (\n <Heading size={isMobile ? 'large' : 'extraLarge'}>{titleContent}</Heading>\n );\n },\n);\n"],"mappings":"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","ignoreList":[]}
@@ -124,8 +124,10 @@ class EntityPageState {
124
124
  return !!this._routerState;
125
125
  }
126
126
  onCancel() {
127
+ var _this$actionsBarConfi;
127
128
  this.bi.reportButtonClick({
128
- ctaName: 'Cancel'
129
+ ctaName: 'Cancel',
130
+ extraFields: (_this$actionsBarConfi = this.actionsBarConfig) == null || (_this$actionsBarConfi = _this$actionsBarConfi.cancelCta) == null ? void 0 : _this$actionsBarConfi.biExtraFields
129
131
  });
130
132
  this.navigateToParent();
131
133
  }
@@ -187,12 +189,14 @@ class EntityPageState {
187
189
  this.events.emit('save');
188
190
  const {
189
191
  isValid,
190
- data: extraFields
192
+ data: widgetsFormData
191
193
  } = await this.formPage.validate();
192
194
  if (!isValid) {
195
+ var _this$actionsBarConfi2;
193
196
  this.bi.reportButtonClick({
194
197
  ctaName: 'Save',
195
- isValid: false
198
+ isValid: false,
199
+ extraFields: (_this$actionsBarConfi2 = this.actionsBarConfig) == null || (_this$actionsBarConfi2 = _this$actionsBarConfi2.saveCta) == null ? void 0 : _this$actionsBarConfi2.biExtraFields
196
200
  });
197
201
  return;
198
202
  }
@@ -207,16 +211,16 @@ class EntityPageState {
207
211
  let savedEntity;
208
212
  let submitSuccessful = false;
209
213
  await form.handleSubmit(async () => {
214
+ var _this$actionsBarConfi3;
210
215
  bi.reportButtonClick({
211
216
  ctaName: 'Save',
212
- isValid: true
217
+ isValid: true,
218
+ extraFields: (_this$actionsBarConfi3 = this.actionsBarConfig) == null || (_this$actionsBarConfi3 = _this$actionsBarConfi3.saveCta) == null ? void 0 : _this$actionsBarConfi3.biExtraFields
213
219
  });
214
220
  try {
215
221
  if (!this.isFetching) {
216
222
  const onSaveResult = await this.onSave({
217
- widgetsFormData: {
218
- ...extraFields
219
- }
223
+ widgetsFormData
220
224
  });
221
225
  savedEntity = onSaveResult == null ? void 0 : onSaveResult.updatedEntity;
222
226
  }
@@ -229,9 +233,11 @@ class EntityPageState {
229
233
  form.setError('root.serverError', {}); // https://react-hook-form.com/docs/useform/seterror
230
234
  }
231
235
  }, () => {
236
+ var _this$actionsBarConfi4;
232
237
  bi.reportButtonClick({
233
238
  ctaName: 'Save',
234
- isValid: false
239
+ isValid: false,
240
+ extraFields: (_this$actionsBarConfi4 = this.actionsBarConfig) == null || (_this$actionsBarConfi4 = _this$actionsBarConfi4.saveCta) == null ? void 0 : _this$actionsBarConfi4.biExtraFields
235
241
  });
236
242
  } // can be used to report validation errors
237
243
  )(e);
@@ -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","isMobile","matchMedia","MOBILE_BREAKPOINT","matches","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","submitSuccessful","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 MOBILE_BREAKPOINT,\n} from '@wix/bex-core';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport { FieldValues, UseFormReturn } 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: UseFormReturn<V>;\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 /**\n * Entity fqdn.\n */\n fqdn?: string;\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 isMobile =\n this.container.window.matchMedia &&\n this.container.window.matchMedia(\n `(max-width: ${MOBILE_BREAKPOINT}px)`,\n ).matches;\n if (isMobile) {\n return;\n }\n\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 let submitSuccessful = false;\n\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 submitSuccessful = true; // Mark as successful locally\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 (!submitSuccessful) {\n return;\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":[]}
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","isMobile","matchMedia","MOBILE_BREAKPOINT","matches","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","_this$actionsBarConfi","reportButtonClick","ctaName","extraFields","actionsBarConfig","cancelCta","biExtraFields","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","widgetsFormData","validate","_this$actionsBarConfi2","saveCta","run","savedEntity","submitSuccessful","_this$actionsBarConfi3","onSaveResult","errorMonitor","captureException","setError","_this$actionsBarConfi4","transformedItem","Error","exports"],"sources":["../../../../src/state/EntityPage/EntityPageState.ts"],"sourcesContent":["import {\n FormPageState,\n ReportBI,\n WixPatternsContainer,\n ActionsBarConfig,\n MOBILE_BREAKPOINT,\n} from '@wix/bex-core';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport { FieldValues, UseFormReturn } 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: UseFormReturn<V>;\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 /**\n * Entity fqdn.\n */\n fqdn?: string;\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 isMobile =\n this.container.window.matchMedia &&\n this.container.window.matchMedia(\n `(max-width: ${MOBILE_BREAKPOINT}px)`,\n ).matches;\n if (isMobile) {\n return;\n }\n\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', extraFields: this.actionsBarConfig?.cancelCta?.biExtraFields });\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: widgetsFormData } = await this.formPage.validate();\n\n if (!isValid) {\n this.bi.reportButtonClick({ ctaName: 'Save', isValid: false, extraFields: this.actionsBarConfig?.saveCta?.biExtraFields });\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 let submitSuccessful = false;\n\n await form.handleSubmit(\n async () => {\n bi.reportButtonClick({ ctaName: 'Save', isValid: true, extraFields: this.actionsBarConfig?.saveCta?.biExtraFields });\n try {\n if (!this.isFetching) {\n const onSaveResult = await this.onSave({\n widgetsFormData,\n });\n savedEntity = onSaveResult?.updatedEntity;\n }\n this._showSuccessToast();\n submitSuccessful = true; // Mark as successful locally\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, extraFields: this.actionsBarConfig?.saveCta?.biExtraFields });\n }, // can be used to report validation errors\n )(e);\n\n if (!submitSuccessful) {\n return;\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;AAOA,IAAAC,KAAA,GAAAD,OAAA;AAEA,IAAAE,0BAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AA4FO,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,KAAY,IAAK;MACvB,MAAMC,QAAQ,GACZ,IAAI,CAAClC,SAAS,CAACa,MAAM,CAACsB,UAAU,IAChC,IAAI,CAACnC,SAAS,CAACa,MAAM,CAACsB,UAAU,CAC9B,eAAeC,0BAAiB,KAClC,CAAC,CAACC,OAAO;MACX,IAAIH,QAAQ,EAAE;QACZ;MACF;MAEA,MAAM;QAAEzC;MAAK,CAAC,GAAG,IAAI;MACrB,IAAIA,IAAI,CAAC6C,SAAS,CAACC,kBAAkB,IAAI,CAAC,IAAI,CAACb,WAAW,EAAE;QAC1D;MACF;MACAO,KAAK,CAACO,cAAc,CAAC,CAAC;MACtB,IAAI,CAACxB,EAAE,CAACyB,oBAAoB,CAAC,CAAC;IAChC,CAAC,CACH,CAAC;IAEDX,QAAQ,CAACY,OAAO,CAAC,YAAY;MAAA,IAAAC,kBAAA,EAAAC,QAAA;MAC3B,MAAM,CAACC,IAAI,CAAC,GAAG,MAAMC,OAAO,CAACC,GAAG,CAAC,CAC/B,IAAI,CAAC5D,KAAK,CAAC,CAAC,EACZa,SAAS,CAAC8B,QAAQ,CAACkB,MAAM,CAACC,OAAO,CAClC,CAAC;MAEF,IAAI,CAACxB,SAAS,CAACoB,IAAI,CAACtC,MAAM,IAAI,IAAI,CAAC;MACnC,CAAAoC,kBAAA,IAAAC,QAAA,OAAI,CAAC5B,EAAE,EAACkC,SAAS,aAAjBP,kBAAA,CAAAQ,IAAA,CAAAP,QAAoB,CAAC;IACvB,CAAC,CAAC;IAEF,OAAO,MAAM;MACXZ,0BAA0B,YAA1BA,0BAA0B,CAAEoB,MAAM,CAAC,CAAC;IACtC,CAAC;EACH;EAEAC,UAAUA,CAAA,EAAG;IACX,IAAI,CAAC9D,QAAQ,CAAC8D,UAAU,CAAC,CAAC;EAC5B;EAEA5B,SAASA,CAAC6B,SAAmB,EAAE;IAC7B,IAAI,CAAClD,OAAO,GAAGkD,SAAS;EAC1B;EAEA,IAAI/C,MAAMA,CAAA,EAAa;IACrB,OAAO,IAAI,CAACH,OAAO;EACrB;EAEA,IAAImD,UAAUA,CAAA,EAAG;IACf,OAAO,IAAI,CAAChE,QAAQ,CAACgE,UAAU;EACjC;EAEA,IAAI9D,IAAIA,CAAA,EAAG;IACT,OAAO,IAAI,CAACF,QAAQ,CAACE,IAAI;EAC3B;EAEA,IAAI8C,kBAAkBA,CAACiB,IAAa,EAAE;IACpC,IAAI,CAACjE,QAAQ,CAACgD,kBAAkB,GAAGiB,IAAI;EACzC;EAEA,IAAI9B,WAAWA,CAAA,EAAG;IAChB,OAAO,IAAI,CAACnC,QAAQ,CAACkE,OAAO;EAC9B;;EAEA;EACA,IAAIC,YAAYA,CAACC,GAAY,EAAE;IAC7B,IAAI,CAACpE,QAAQ,CAACmE,YAAY,GAAGC,GAAG;EAClC;EAEA,IAAI/B,aAAaA,CAAA,EAAG;IAClB,OAAO,CAAC,CAAC,IAAI,CAAC3B,YAAY;EAC5B;EAEA2D,QAAQA,CAAA,EAAG;IAAA,IAAAC,qBAAA;IACT,IAAI,CAAC7C,EAAE,CAAC8C,iBAAiB,CAAC;MAAEC,OAAO,EAAE,QAAQ;MAAEC,WAAW,GAAAH,qBAAA,GAAE,IAAI,CAACI,gBAAgB,cAAAJ,qBAAA,GAArBA,qBAAA,CAAuBK,SAAS,qBAAhCL,qBAAA,CAAkCM;IAAc,CAAC,CAAC;IAC9G,IAAI,CAACC,gBAAgB,CAAC,CAAC;EACzB;EAEAA,gBAAgBA,CAACC,aAAmB,EAAE;IACpC,MAAMC,eAAe,GAAG,IAAI,CAAClE,OAAO,GAAG,gBAAgB,GAAG,gBAAgB;IAC1E,MAAMmE,YAAY,GAAG;MAAE,CAACD,eAAe,GAAGD;IAAc,CAAC;IAEzD,IAAI,IAAI,CAACzC,aAAa,EAAE;MACtB,IAAI,CAAC3B,YAAY,CAAEuE,QAAQ,CAAC,IAAI,CAAC1E,WAAW,EAAG;QAAE2E,KAAK,EAAEF;MAAa,CAAC,CAAC;IACzE,CAAC,MAAM;MACL,IAAI,CAACvE,SAAS,CAAC0E,UAAU,CAAE;QACzBC,MAAM,EAAE,IAAI,CAACjF;MACf,CAAC,CAAC;IACJ;EACF;EAEAkF,eAAeA,CAACC,GAAQ,EAAEC,CAA4B,EAAE;IAAA,IAAAC,oBAAA,EAAAC,qBAAA,EAAAC,eAAA;IACtD,MAAMC,UAAU,IAAAH,oBAAA,GAAG,IAAI,CAACzF,cAAc,qBAAnByF,oBAAA,CAAA5B,IAAA,KAAI,EAAkB0B,GAAG,EAAE;MAC5CM,KAAK,EAAEA,CAAA,KAAM,IAAI,CAAC9D,YAAY,CAACyD,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,MAAMhE,MAAM,GACV,OAAO4D,UAAU,KAAK,QAAQ,GAAGK,SAAS,GAAGL,UAAU,oBAAVA,UAAU,CAAE5D,MAAM;IAEjE,CAAA0D,qBAAA,IAAAC,eAAA,OAAI,CAACjF,SAAS,EAACwF,SAAS,aAAxBR,qBAAA,CAAA7B,IAAA,CAAA8B,eAAA,EAA2B;MACzBQ,IAAI,EAAE,OAAO;MACbC,MAAM,EAAE,oCAAoC;MAC5CN,OAAO,EACLA,OAAO,IACP,IAAI,CAACpF,SAAS,CAAC2F,SAAS,CACtB,CAAAd,GAAG,oBAAHA,GAAG,CAAEe,IAAI,MAAK,aAAa,GACvB,sDAAsD,GACtD,wDACN,CAAC;MACHtE,MAAM,EACJA,MAAM,IAAI+D,YAAY,GAClB;QACEQ,MAAM,EAAE,MAAM;QACdC,IAAI,EACF,CAAAxE,MAAM,oBAANA,MAAM,CAAEwE,IAAI,KAAI,IAAI,CAAC9F,SAAS,CAAC2F,SAAS,CAAC,mBAAmB,CAAC;QAC/DI,OAAO,EAAEA,CAAA,KAAM;UACb,IAAIzE,MAAM,YAANA,MAAM,CAAEyE,OAAO,EAAE;YACnBzE,MAAM,CAACyE,OAAO,CAAC,CAAC;UAClB,CAAC,MAAM;YACL,IAAI,CAAC/E,EAAE,CAACgF,kBAAkB,CAAC,CAAC;YAC5B,IAAI,CAAC3E,YAAY,CAACyD,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,CAAC/F,gBAAgB,KAAK,QAAQ,GACrC,IAAI,CAACA,gBAAgB,IAAA8G,qBAAA,GACrB,IAAI,CAAC9G,gBAAgB,qBAArB8G,qBAAA,CAAuBf,OAAO;IAEpC,CAAAgB,sBAAA,IAAAC,gBAAA,OAAI,CAACrG,SAAS,EAACwF,SAAS,aAAxBY,sBAAA,CAAAjD,IAAA,CAAAkD,gBAAA,EAA2B;MACzBZ,IAAI,EAAE,SAAS;MACfC,MAAM,EAAE,sCAAsC;MAC9CN,OAAO,EACLA,OAAO,IAAI,IAAI,CAACpF,SAAS,CAAC2F,SAAS,CAAC,gCAAgC;IACxE,CAAC,CAAC;EACJ;EAEA,MAAMtE,YAAYA,CAACyD,CAA4B,EAAE;IAC/C,IAAI,IAAI,CAACvF,QAAQ,CAAC+G,UAAU,CAACtD,MAAM,CAACuD,SAAS,EAAE;MAC7C;IACF;IAEA,IAAI,CAACC,MAAM,CAACC,IAAI,CAAC,MAAM,CAAC;IAExB,MAAM;MAAEC,OAAO;MAAE7D,IAAI,EAAE8D;IAAgB,CAAC,GAAG,MAAM,IAAI,CAACpH,QAAQ,CAACqH,QAAQ,CAAC,CAAC;IAEzE,IAAI,CAACF,OAAO,EAAE;MAAA,IAAAG,sBAAA;MACZ,IAAI,CAAC7F,EAAE,CAAC8C,iBAAiB,CAAC;QAAEC,OAAO,EAAE,MAAM;QAAE2C,OAAO,EAAE,KAAK;QAAE1C,WAAW,GAAA6C,sBAAA,GAAE,IAAI,CAAC5C,gBAAgB,cAAA4C,sBAAA,GAArBA,sBAAA,CAAuBC,OAAO,qBAA9BD,sBAAA,CAAgC1C;MAAc,CAAC,CAAC;MAC1H;IACF;IAEA,MAAM;MACJ1E,IAAI;MACJF,QAAQ,EAAE;QAAE+G;MAAW,CAAC;MACxBtF;IACF,CAAC,GAAG,IAAI;IAERsF,UAAU,CAACS,GAAG,CAAC,YAAY;MACzB,IAAIC,WAA0B;MAC9B,IAAIC,gBAAgB,GAAG,KAAK;MAE5B,MAAMxH,IAAI,CAAC4B,YAAY,CACrB,YAAY;QAAA,IAAA6F,sBAAA;QACVlG,EAAE,CAAC8C,iBAAiB,CAAC;UAAEC,OAAO,EAAE,MAAM;UAAE2C,OAAO,EAAE,IAAI;UAAE1C,WAAW,GAAAkD,sBAAA,GAAE,IAAI,CAACjD,gBAAgB,cAAAiD,sBAAA,GAArBA,sBAAA,CAAuBJ,OAAO,qBAA9BI,sBAAA,CAAgC/C;QAAc,CAAC,CAAC;QACpH,IAAI;UACF,IAAI,CAAC,IAAI,CAACZ,UAAU,EAAE;YACpB,MAAM4D,YAAY,GAAG,MAAM,IAAI,CAAC/H,MAAM,CAAC;cACrCuH;YACF,CAAC,CAAC;YACFK,WAAW,GAAGG,YAAY,oBAAZA,YAAY,CAAE9C,aAAa;UAC3C;UACA,IAAI,CAAC6B,iBAAiB,CAAC,CAAC;UACxBe,gBAAgB,GAAG,IAAI,CAAC,CAAC;QAC3B,CAAC,CAAC,OAAOpC,GAAG,EAAE;UACZ,IAAI,CAACD,eAAe,CAACC,GAAG,EAAEC,CAAC,CAAC;UAC5B,IAAI,CAAC9E,SAAS,CAACoH,YAAY,CAACC,gBAAgB,CAACxC,GAAG,CAAC;UACjD,IAAI,CAAC2B,MAAM,CAACC,IAAI,CAAC,WAAW,EAAE5B,GAAG,CAAC;UAClCpF,IAAI,CAAC6H,QAAQ,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC;MACF,CAAC,EACD,MAAM;QAAA,IAAAC,sBAAA;QACJvG,EAAE,CAAC8C,iBAAiB,CAAC;UAAEC,OAAO,EAAE,MAAM;UAAE2C,OAAO,EAAE,KAAK;UAAE1C,WAAW,GAAAuD,sBAAA,GAAE,IAAI,CAACtD,gBAAgB,cAAAsD,sBAAA,GAArBA,sBAAA,CAAuBT,OAAO,qBAA9BS,sBAAA,CAAgCpD;QAAc,CAAC,CAAC;MACvH,CAAC,CAAE;MACL,CAAC,CAACW,CAAC,CAAC;MAEJ,IAAI,CAACmC,gBAAgB,EAAE;QACrB;MACF;MACA,MAAMO,eAAe,GACnBR,WAAW,IAAI,IAAI,CAACpH,+BAA+B,GAC/C,IAAI,CAACA,+BAA+B,CAACoH,WAAW,CAAC,GACjDA,WAAW;MACjB,IAAI,CAAC5C,gBAAgB,CAACoD,eAAe,CAAC;IACxC,CAAC,CAAC;IACF,MAAM,IAAI,CAACjI,QAAQ,CAAC+G,UAAU,CAACtD,MAAM,CAACC,OAAO;EAC/C;EAEA,IAAInB,QAAQA,CAAA,EAAG;IACb,OAAO,IAAI,CAACvC,QAAQ,CAACuC,QAAQ;EAC/B;EAEA,IAAIwE,UAAUA,CAAA,EAAG;IACf,OAAO,IAAI,CAAC/G,QAAQ,CAAC+G,UAAU;EACjC;EAEQzE,gBAAgBA,CAAA,EAAG;IACzB,IAAI,IAAI,CAACD,aAAa,EAAE;MACtB,IAAI,IAAI,CAAC9B,WAAW,KAAKyF,SAAS,EAAE;QAClC,MAAM,IAAIkC,KAAK,CAAC,6CAA6C,CAAC;MAChE;IACF,CAAC,MAAM;MACL,IAAI,IAAI,CAAC/H,aAAa,KAAK6F,SAAS,EAAE;QACpC,MAAM,IAAIkC,KAAK,CAAC,+CAA+C,CAAC;MAClE;MAEA,IAAI,CAAC,IAAI,CAACzH,SAAS,CAAC0E,UAAU,EAAE;QAC9B,MAAM,IAAI+C,KAAK,CAAC,iDAAiD,CAAC;MACpE;IACF;EACF;AACF;AAACC,OAAA,CAAA7I,eAAA,GAAAA,eAAA","ignoreList":[]}
@@ -37,13 +37,15 @@ class EntityPageStateBIReporter {
37
37
  }
38
38
  reportButtonClick({
39
39
  ctaName,
40
- isValid
40
+ isValid,
41
+ extraFields
41
42
  }) {
42
43
  this.reportBI((0, _bexCore.withoutDefaults)(_bi.cairoPageCtaClicked)({
43
44
  ctaName,
44
45
  ctaType: 'Main',
45
46
  location: 'Entity page header',
46
- isValid
47
+ isValid,
48
+ extraFields
47
49
  }));
48
50
  }
49
51
  reportSaveTryAgain() {
@@ -1 +1 @@
1
- {"version":3,"names":["_bexCore","require","_mobx","_bi","EntityPageStateBIReporter","constructor","params","_defineProperty2","default","performance","now","entityPageState","reportBI","_getErrorType","e","isNetworkError","code","init","events","disposers","addEventListener","action","once","err","reportSaveError","startTime","appLoaded","reportOnLoadStart","forEach","disposer","reportButtonClick","ctaName","isValid","withoutDefaults","cairoPageCtaClicked","ctaType","location","reportSaveTryAgain","cairoTryAgainClicked","actionName","loaction","cairoApiRequestDataLoadEnd","errorType","duration","reportOnBeforeUnload","values","form","getValues","fields","Object","keys","cairoPageDiscardChangesBeforeSave","numOfFields","length","numOfActions","reduce","prev","key","_this$entityPageState","getFieldState","isDirty","loadStart","_commonDynamicBiParams","reportOnLoadEnd","Math","round","endTime","loadEnd","loadingTime","url","window","href","route","pathname","routerUsage","_withinRouter","exports"],"sources":["../../../../src/state/EntityPage/EntityPageStateBIReporter.ts"],"sourcesContent":["import { addEventListener, ReportBI, withoutDefaults } from '@wix/bex-core'; // withoutDefaults\nimport { EntityPageState } from './EntityPageState';\nimport { FieldValues } from 'react-hook-form';\nimport { action } from 'mobx';\nimport {\n cairoTryAgainClicked,\n cairoApiRequestDataLoadEnd,\n cairoPageCtaClicked,\n cairoPageDiscardChangesBeforeSave,\n loadStart,\n loadEnd,\n} from '@wix/bex-core/bi';\n\nexport interface EntityPageStateBIReporterParams<\n T,\n V extends FieldValues = FieldValues,\n> {\n reportBI: ReportBI;\n entityPageState: EntityPageState<T, V>;\n}\n\nexport class EntityPageStateBIReporter<T, V extends FieldValues> {\n readonly entityPageState: EntityPageState<T, V>;\n readonly reportBI: ReportBI;\n readonly startTime: number = performance.now();\n appLoaded?: () => void;\n\n constructor(params: EntityPageStateBIReporterParams<T, V>) {\n this.entityPageState = params.entityPageState;\n this.reportBI = params.reportBI;\n }\n\n _getErrorType(e: any) {\n const isNetworkError = e?.code === 'ERR_NETWORK';\n return isNetworkError ? 'Network error' : 'Technical issue';\n }\n\n init() {\n const { events } = this.entityPageState;\n const disposers = [\n addEventListener(\n events,\n 'save',\n action(() => {\n events.once('saveError', (err) => {\n this.reportSaveError(err, this.startTime);\n });\n }),\n ),\n (this.appLoaded = this.reportOnLoadStart(this.startTime)),\n ];\n\n return () => {\n disposers.forEach((disposer) => disposer());\n };\n }\n\n reportButtonClick({\n ctaName,\n isValid,\n }: {\n ctaName: string;\n isValid?: boolean;\n }) {\n this.reportBI(\n withoutDefaults(cairoPageCtaClicked)({\n ctaName,\n ctaType: 'Main',\n location: 'Entity page header',\n isValid,\n }),\n );\n }\n\n reportSaveTryAgain() {\n this.reportBI(\n withoutDefaults(cairoTryAgainClicked)({\n actionName: 'Saving Entity',\n loaction: 'toast',\n }),\n );\n }\n\n reportSaveError(e: any, startTime: number) {\n this.reportBI(\n withoutDefaults(cairoApiRequestDataLoadEnd)({\n errorType: this._getErrorType(e),\n duration: performance.now() - startTime,\n }),\n );\n }\n\n reportOnBeforeUnload() {\n const values = this.entityPageState.form.getValues();\n const fields = Object.keys(values);\n this.reportBI(\n withoutDefaults(cairoPageDiscardChangesBeforeSave)({\n numOfFields: fields.length,\n numOfActions: fields.reduce(\n (prev, key: any) =>\n prev + +this.entityPageState.form.getFieldState(key)?.isDirty,\n 0,\n ),\n }),\n );\n }\n\n reportOnLoadStart(startTime: number) {\n this.reportBI(\n withoutDefaults(loadStart)({\n ...this._commonDynamicBiParams(),\n }),\n );\n return () => {\n this.reportOnLoadEnd(Math.round(performance.now() - startTime));\n };\n }\n\n reportOnLoadEnd(endTime: number) {\n this.reportBI(\n withoutDefaults(loadEnd)({\n ...this._commonDynamicBiParams(),\n loadingTime: endTime,\n }),\n );\n }\n\n _commonDynamicBiParams() {\n return {\n url: window.location.href,\n route: window.location.pathname,\n routerUsage: this.entityPageState._withinRouter,\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_bexCore","require","_mobx","_bi","EntityPageStateBIReporter","constructor","params","_defineProperty2","default","performance","now","entityPageState","reportBI","_getErrorType","e","isNetworkError","code","init","events","disposers","addEventListener","action","once","err","reportSaveError","startTime","appLoaded","reportOnLoadStart","forEach","disposer","reportButtonClick","ctaName","isValid","extraFields","withoutDefaults","cairoPageCtaClicked","ctaType","location","reportSaveTryAgain","cairoTryAgainClicked","actionName","loaction","cairoApiRequestDataLoadEnd","errorType","duration","reportOnBeforeUnload","values","form","getValues","fields","Object","keys","cairoPageDiscardChangesBeforeSave","numOfFields","length","numOfActions","reduce","prev","key","_this$entityPageState","getFieldState","isDirty","loadStart","_commonDynamicBiParams","reportOnLoadEnd","Math","round","endTime","loadEnd","loadingTime","url","window","href","route","pathname","routerUsage","_withinRouter","exports"],"sources":["../../../../src/state/EntityPage/EntityPageStateBIReporter.ts"],"sourcesContent":["import { addEventListener, ReportBI, withoutDefaults } from '@wix/bex-core'; // withoutDefaults\nimport { EntityPageState } from './EntityPageState';\nimport { FieldValues } from 'react-hook-form';\nimport { action } from 'mobx';\nimport {\n cairoTryAgainClicked,\n cairoApiRequestDataLoadEnd,\n cairoPageCtaClicked,\n cairoPageDiscardChangesBeforeSave,\n loadStart,\n loadEnd,\n} from '@wix/bex-core/bi';\n\nexport interface EntityPageStateBIReporterParams<\n T,\n V extends FieldValues = FieldValues,\n> {\n reportBI: ReportBI;\n entityPageState: EntityPageState<T, V>;\n}\n\nexport class EntityPageStateBIReporter<T, V extends FieldValues> {\n readonly entityPageState: EntityPageState<T, V>;\n readonly reportBI: ReportBI;\n readonly startTime: number = performance.now();\n appLoaded?: () => void;\n\n constructor(params: EntityPageStateBIReporterParams<T, V>) {\n this.entityPageState = params.entityPageState;\n this.reportBI = params.reportBI;\n }\n\n _getErrorType(e: any) {\n const isNetworkError = e?.code === 'ERR_NETWORK';\n return isNetworkError ? 'Network error' : 'Technical issue';\n }\n\n init() {\n const { events } = this.entityPageState;\n const disposers = [\n addEventListener(\n events,\n 'save',\n action(() => {\n events.once('saveError', (err) => {\n this.reportSaveError(err, this.startTime);\n });\n }),\n ),\n (this.appLoaded = this.reportOnLoadStart(this.startTime)),\n ];\n\n return () => {\n disposers.forEach((disposer) => disposer());\n };\n }\n\n reportButtonClick({\n ctaName,\n isValid,\n extraFields,\n }: {\n ctaName: string;\n isValid?: boolean;\n extraFields?: string;\n }) {\n this.reportBI(\n withoutDefaults(cairoPageCtaClicked)({\n ctaName,\n ctaType: 'Main',\n location: 'Entity page header',\n isValid,\n extraFields,\n }),\n );\n }\n\n reportSaveTryAgain() {\n this.reportBI(\n withoutDefaults(cairoTryAgainClicked)({\n actionName: 'Saving Entity',\n loaction: 'toast',\n }),\n );\n }\n\n reportSaveError(e: any, startTime: number) {\n this.reportBI(\n withoutDefaults(cairoApiRequestDataLoadEnd)({\n errorType: this._getErrorType(e),\n duration: performance.now() - startTime,\n }),\n );\n }\n\n reportOnBeforeUnload() {\n const values = this.entityPageState.form.getValues();\n const fields = Object.keys(values);\n this.reportBI(\n withoutDefaults(cairoPageDiscardChangesBeforeSave)({\n numOfFields: fields.length,\n numOfActions: fields.reduce(\n (prev, key: any) =>\n prev + +this.entityPageState.form.getFieldState(key)?.isDirty,\n 0,\n ),\n }),\n );\n }\n\n reportOnLoadStart(startTime: number) {\n this.reportBI(\n withoutDefaults(loadStart)({\n ...this._commonDynamicBiParams(),\n }),\n );\n return () => {\n this.reportOnLoadEnd(Math.round(performance.now() - startTime));\n };\n }\n\n reportOnLoadEnd(endTime: number) {\n this.reportBI(\n withoutDefaults(loadEnd)({\n ...this._commonDynamicBiParams(),\n loadingTime: endTime,\n }),\n );\n }\n\n _commonDynamicBiParams() {\n return {\n url: window.location.href,\n route: window.location.pathname,\n routerUsage: this.entityPageState._withinRouter,\n };\n }\n}\n"],"mappings":"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","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_ = "FormPageHeader1769589516";
8
+ var _namespace_ = "FormPageHeader191003167";
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": "FormPageHeader1769589516__root"
15
+ "root": "FormPageHeader191003167__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/state/FormPage/FormPageHeader.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"FormPageHeader1769589516\";\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\":\"FormPageHeader1769589516__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/state/FormPage/FormPageHeader.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"FormPageHeader191003167\";\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\":\"FormPageHeader191003167__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,yBAAyB;AAC3C,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;AAA+B,CAAC;AACtD,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":[]}
@@ -53,7 +53,8 @@ class KanbanStateBIReporter {
53
53
  origin: 'toolbar',
54
54
  filteredListSize: this.getTotalCardsCount(),
55
55
  numFiltersActive: this.kanbanState.query.activeFiltersCount,
56
- actionType: 'add'
56
+ actionType: 'add',
57
+ kanbanId: this.kanbanState.kanbanId
57
58
  }
58
59
  });
59
60
  return () => {
@@ -70,7 +71,8 @@ class KanbanStateBIReporter {
70
71
  searchResultsCnt: searchResultsCount,
71
72
  stageCardCnt: this.getStageCardCounts(),
72
73
  searchTerm,
73
- loadingTime: Math.round(performance.now() - startTime)
74
+ loadingTime: Math.round(performance.now() - startTime),
75
+ kanbanId: this.kanbanState.kanbanId
74
76
  }
75
77
  });
76
78
  };