@wix/patterns 1.24.0 → 1.26.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 (171) hide show
  1. package/dist/cjs/components/Collapse/Collapse.st.css.js +3 -3
  2. package/dist/cjs/components/Collapse/Collapse.st.css.js.map +1 -1
  3. package/dist/cjs/components/CollectionTable/CollectionTable.js +10 -10
  4. package/dist/cjs/components/CollectionTable/CollectionTable.js.map +1 -1
  5. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js +5 -5
  6. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js.map +1 -1
  7. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +3 -3
  8. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
  9. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  10. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
  11. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  12. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
  13. package/dist/cjs/components/CustomFieldsPanel/AddCustomFieldCTAButton.js +1 -1
  14. package/dist/cjs/components/CustomFieldsPanel/AddCustomFieldCTAButton.js.map +1 -1
  15. package/dist/cjs/components/CustomFieldsPanel/CustomColumnsEditCustomFieldCTAButton.js +1 -1
  16. package/dist/cjs/components/CustomFieldsPanel/CustomColumnsEditCustomFieldCTAButton.js.map +1 -1
  17. package/dist/cjs/components/CustomFieldsWidget/CustomFieldsViewWidgetSection.st.css.js +3 -3
  18. package/dist/cjs/components/CustomFieldsWidget/CustomFieldsViewWidgetSection.st.css.js.map +1 -1
  19. package/dist/cjs/components/DataExtension/CollectionDataExtensionState.js +1 -1
  20. package/dist/cjs/components/DataExtension/CollectionDataExtensionState.js.map +1 -1
  21. package/dist/cjs/components/DragHandle/DragHandle.st.css.js +2 -2
  22. package/dist/cjs/components/DragHandle/DragHandle.st.css.js.map +1 -1
  23. package/dist/cjs/components/Fade/Fade.st.css.js +2 -2
  24. package/dist/cjs/components/Fade/Fade.st.css.js.map +1 -1
  25. package/dist/cjs/components/Heading/Heading.st.css.js +2 -2
  26. package/dist/cjs/components/Heading/Heading.st.css.js.map +1 -1
  27. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js +2 -2
  28. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
  29. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  30. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
  31. package/dist/cjs/components/MaxLines/MaxLines.st.css.js +2 -2
  32. package/dist/cjs/components/MaxLines/MaxLines.st.css.js.map +1 -1
  33. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
  34. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
  35. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js +5 -5
  36. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
  37. package/dist/cjs/components/PickerContent/PickerContent.st.css.js +2 -2
  38. package/dist/cjs/components/PickerContent/PickerContent.st.css.js.map +1 -1
  39. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js +4 -4
  40. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
  41. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  42. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
  43. package/dist/cjs/components/Router/PatternsReactRouter.js +1 -0
  44. package/dist/cjs/components/Router/PatternsReactRouter.js.map +1 -1
  45. package/dist/cjs/components/Router/types.js.map +1 -1
  46. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  47. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
  48. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js +3 -3
  49. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
  50. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js +2 -2
  51. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
  52. package/dist/cjs/components/Table/TableVirtualHeader.st.css.js +2 -2
  53. package/dist/cjs/components/Table/TableVirtualHeader.st.css.js.map +1 -1
  54. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js +3 -3
  55. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
  56. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  57. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
  58. package/dist/cjs/components/ToolbarCollection/useToolbarCollectionSyncProps.js +1 -1
  59. package/dist/cjs/components/ToolbarCollection/useToolbarCollectionSyncProps.js.map +1 -1
  60. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  61. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
  62. package/dist/cjs/components/common.st.css.js +4 -4
  63. package/dist/cjs/components/common.st.css.js.map +1 -1
  64. package/dist/cjs/hooks/useCachedUpdatedEntity.js +101 -0
  65. package/dist/cjs/hooks/useCachedUpdatedEntity.js.map +1 -0
  66. package/dist/cjs/hooks/useColumnsSyncProps.js +5 -0
  67. package/dist/cjs/hooks/useColumnsSyncProps.js.map +1 -1
  68. package/dist/cjs/hooks/useOptionalCachedState.js +10 -3
  69. package/dist/cjs/hooks/useOptionalCachedState.js.map +1 -1
  70. package/dist/cjs/model/tableColumn.js +12 -0
  71. package/dist/cjs/model/tableColumn.js.map +1 -1
  72. package/dist/cjs/providers/WixPatternsRouterProvider.js +11 -1
  73. package/dist/cjs/providers/WixPatternsRouterProvider.js.map +1 -1
  74. package/dist/cjs/state/EntityPage/EntityPageState.js +16 -5
  75. package/dist/cjs/state/EntityPage/EntityPageState.js.map +1 -1
  76. package/dist/cjs/state/WixPatternsRouterState.js +10 -0
  77. package/dist/cjs/state/WixPatternsRouterState.js.map +1 -1
  78. package/dist/cjs/styles.global.css +1 -1
  79. package/dist/cjs/test-utils/CairoTestApp.js +1 -0
  80. package/dist/cjs/test-utils/CairoTestApp.js.map +1 -1
  81. package/dist/cjs/test-utils/Router.js +13 -5
  82. package/dist/cjs/test-utils/Router.js.map +1 -1
  83. package/dist/cjs/version.js +1 -1
  84. package/dist/cjs/version.js.map +1 -1
  85. package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
  86. package/dist/esm/components/CollectionTable/CollectionTable.js.map +1 -1
  87. package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
  88. package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js.map +1 -1
  89. package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
  90. package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  91. package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  92. package/dist/esm/components/CustomFieldsPanel/AddCustomFieldCTAButton.js +1 -1
  93. package/dist/esm/components/CustomFieldsPanel/AddCustomFieldCTAButton.js.map +1 -1
  94. package/dist/esm/components/CustomFieldsPanel/CustomColumnsEditCustomFieldCTAButton.js +1 -1
  95. package/dist/esm/components/CustomFieldsPanel/CustomColumnsEditCustomFieldCTAButton.js.map +1 -1
  96. package/dist/esm/components/CustomFieldsWidget/CustomFieldsViewWidgetSection.st.css.js +2 -2
  97. package/dist/esm/components/DataExtension/CollectionDataExtensionState.js +1 -1
  98. package/dist/esm/components/DataExtension/CollectionDataExtensionState.js.map +1 -1
  99. package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
  100. package/dist/esm/components/Fade/Fade.st.css.js +2 -2
  101. package/dist/esm/components/Heading/Heading.st.css.js +2 -2
  102. package/dist/esm/components/Heading/Heading.st.css.js.map +1 -1
  103. package/dist/esm/components/InputOverflow/InputOverflow.st.css.js +2 -2
  104. package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  105. package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
  106. package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
  107. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
  108. package/dist/esm/components/NestedTable/NestedTableRow.st.css.js +2 -2
  109. package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
  110. package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js +2 -2
  111. package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  112. package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
  113. package/dist/esm/components/Router/PatternsReactRouter.js +1 -1
  114. package/dist/esm/components/Router/PatternsReactRouter.js.map +1 -1
  115. package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  116. package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js +2 -2
  117. package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +2 -2
  118. package/dist/esm/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
  119. package/dist/esm/components/Table/TableVirtualHeader.st.css.js +2 -2
  120. package/dist/esm/components/TabsFilter/TabsFilter.st.css.js +2 -2
  121. package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  122. package/dist/esm/components/ToolbarCollection/useToolbarCollectionSyncProps.js +1 -1
  123. package/dist/esm/components/ToolbarCollection/useToolbarCollectionSyncProps.js.map +1 -1
  124. package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  125. package/dist/esm/components/common.st.css.js +2 -2
  126. package/dist/esm/components/common.st.css.js.map +1 -1
  127. package/dist/esm/hooks/useCachedUpdatedEntity.js +98 -0
  128. package/dist/esm/hooks/useCachedUpdatedEntity.js.map +1 -0
  129. package/dist/esm/hooks/useColumnsSyncProps.js +5 -0
  130. package/dist/esm/hooks/useColumnsSyncProps.js.map +1 -1
  131. package/dist/esm/hooks/useOptionalCachedState.js +10 -3
  132. package/dist/esm/hooks/useOptionalCachedState.js.map +1 -1
  133. package/dist/esm/model/tableColumn.js +4 -0
  134. package/dist/esm/model/tableColumn.js.map +1 -1
  135. package/dist/esm/providers/WixPatternsRouterProvider.js +9 -2
  136. package/dist/esm/providers/WixPatternsRouterProvider.js.map +1 -1
  137. package/dist/esm/state/EntityPage/EntityPageState.js +15 -4
  138. package/dist/esm/state/EntityPage/EntityPageState.js.map +1 -1
  139. package/dist/esm/state/WixPatternsRouterState.js +10 -0
  140. package/dist/esm/state/WixPatternsRouterState.js.map +1 -1
  141. package/dist/esm/styles.global.css +1 -1
  142. package/dist/esm/test-utils/CairoTestApp.js +1 -1
  143. package/dist/esm/test-utils/CairoTestApp.js.map +1 -1
  144. package/dist/esm/test-utils/Router.js +10 -4
  145. package/dist/esm/test-utils/Router.js.map +1 -1
  146. package/dist/esm/version.js +1 -1
  147. package/dist/types/components/CollectionTable/CollectionTable.d.ts +1 -5
  148. package/dist/types/components/CollectionTable/CollectionTable.d.ts.map +1 -1
  149. package/dist/types/components/CollectionToolbar/CollectionToolbar.st.css.d.ts.map +1 -1
  150. package/dist/types/components/Heading/Heading.st.css.d.ts.map +1 -1
  151. package/dist/types/components/MaxHeightText/MaxHeightText.st.css.d.ts.map +1 -1
  152. package/dist/types/components/PickerTableListItem/PickerTableListItem.st.css.d.ts.map +1 -1
  153. package/dist/types/components/Router/types.d.ts +1 -1
  154. package/dist/types/components/Router/types.d.ts.map +1 -1
  155. package/dist/types/components/SlidingModal/SlidingModal.st.css.d.ts.map +1 -1
  156. package/dist/types/components/common.st.css.d.ts.map +1 -1
  157. package/dist/types/hooks/useCachedUpdatedEntity.d.ts +3 -0
  158. package/dist/types/hooks/useCachedUpdatedEntity.d.ts.map +1 -0
  159. package/dist/types/hooks/useColumnsSyncProps.d.ts.map +1 -1
  160. package/dist/types/hooks/useOptionalCachedState.d.ts.map +1 -1
  161. package/dist/types/model/tableColumn.d.ts +39 -0
  162. package/dist/types/model/tableColumn.d.ts.map +1 -1
  163. package/dist/types/providers/WixPatternsRouterProvider.d.ts +3 -1
  164. package/dist/types/providers/WixPatternsRouterProvider.d.ts.map +1 -1
  165. package/dist/types/state/EntityPage/EntityPageState.d.ts +8 -1
  166. package/dist/types/state/EntityPage/EntityPageState.d.ts.map +1 -1
  167. package/dist/types/state/WixPatternsRouterState.d.ts +4 -0
  168. package/dist/types/state/WixPatternsRouterState.d.ts.map +1 -1
  169. package/dist/types/test-utils/Router.d.ts.map +1 -1
  170. package/dist/types/version.d.ts +1 -1
  171. package/package.json +3 -3
@@ -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_ = "ToolbarItemBox3362106165";
8
+ var _namespace_ = "ToolbarItemBox1469399201";
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": "ToolbarItemBox3362106165__root"
15
+ "root": "ToolbarItemBox1469399201__root"
16
16
  };
17
17
  var keyframes = exports.keyframes = {};
18
18
  var layers = exports.layers = {};
@@ -1 +1 @@
1
- {"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../src/components/ToolbarItemBox/ToolbarItemBox.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"ToolbarItemBox3362106165\";\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\":\"ToolbarItemBox3362106165__root\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {}; \n\n\n\n\n"],"mappings":";;;;AAGA,IAAAA,mBAAA,GAAAC,OAAA;AAHA;;AAOA,IAAIC,WAAW,GAAG,0BAA0B;AAC5C,IAAIC,OAAO,GAAGC,kCAAc,CAACC,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AAE7C,IAAII,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAGE,iCAAa,CAACH,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AACrD,IAAIO,KAAK,GAAAF,OAAA,CAAAE,KAAA,GAAGN,OAAO;AACnB,IAAIO,EAA0C,GAAAH,OAAA,CAAAG,EAAA,GAAGP,OAAO;AAExD,IAAIQ,SAAS,GAAAJ,OAAA,CAAAI,SAAA,GAAGT,WAAW;AAC3B,IAAIU,OAAO,GAAAL,OAAA,CAAAK,OAAA,GAAG;EAAC,MAAM,EAAC;AAAgC,CAAC;AACvD,IAAIC,SAAS,GAAAN,OAAA,CAAAM,SAAA,GAAG,CAAC,CAAC;AAClB,IAAIC,MAAM,GAAAP,OAAA,CAAAO,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,UAAU,GAAAR,OAAA,CAAAQ,UAAA,GAAG,CAAC,CAAC;AACnB,IAAIC,MAAM,GAAAT,OAAA,CAAAS,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,IAAI,GAAAV,OAAA,CAAAU,IAAA,GAAG,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../src/components/ToolbarItemBox/ToolbarItemBox.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"ToolbarItemBox1469399201\";\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\":\"ToolbarItemBox1469399201__root\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {}; \n\n\n\n\n"],"mappings":";;;;AAGA,IAAAA,mBAAA,GAAAC,OAAA;AAHA;;AAOA,IAAIC,WAAW,GAAG,0BAA0B;AAC5C,IAAIC,OAAO,GAAGC,kCAAc,CAACC,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AAE7C,IAAII,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAGE,iCAAa,CAACH,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AACrD,IAAIO,KAAK,GAAAF,OAAA,CAAAE,KAAA,GAAGN,OAAO;AACnB,IAAIO,EAA0C,GAAAH,OAAA,CAAAG,EAAA,GAAGP,OAAO;AAExD,IAAIQ,SAAS,GAAAJ,OAAA,CAAAI,SAAA,GAAGT,WAAW;AAC3B,IAAIU,OAAO,GAAAL,OAAA,CAAAK,OAAA,GAAG;EAAC,MAAM,EAAC;AAAgC,CAAC;AACvD,IAAIC,SAAS,GAAAN,OAAA,CAAAM,SAAA,GAAG,CAAC,CAAC;AAClB,IAAIC,MAAM,GAAAP,OAAA,CAAAO,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,UAAU,GAAAR,OAAA,CAAAQ,UAAA,GAAG,CAAC,CAAC;AACnB,IAAIC,MAAM,GAAAT,OAAA,CAAAS,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,IAAI,GAAAV,OAAA,CAAAU,IAAA,GAAG,CAAC,CAAC","ignoreList":[]}
@@ -5,16 +5,16 @@ exports.vars = exports.style = exports.stVars = exports.st = exports.namespace =
5
5
  var _stylableEsmRuntime = require("../stylable-esm-runtime.js");
6
6
  // @ts-nocheck
7
7
 
8
- var _namespace_ = "common357767711";
8
+ var _namespace_ = "common2751232590";
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": "common357767711__root",
16
- "column": "common357767711__column",
17
- "fullHeight": "common357767711__fullHeight"
15
+ "root": "common2751232590__root",
16
+ "column": "common2751232590__column",
17
+ "fullHeight": "common2751232590__fullHeight"
18
18
  };
19
19
  var keyframes = exports.keyframes = {};
20
20
  var layers = exports.layers = {};
@@ -1 +1 @@
1
- {"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../src/components/common.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"common357767711\";\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\":\"common357767711__root\",\"column\":\"common357767711__column\",\"fullHeight\":\"common357767711__fullHeight\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {}; \n\n\n\n\n"],"mappings":";;;;AAGA,IAAAA,mBAAA,GAAAC,OAAA;AAHA;;AAOA,IAAIC,WAAW,GAAG,iBAAiB;AACnC,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,uBAAuB;EAAC,QAAQ,EAAC,yBAAyB;EAAC,YAAY,EAAC;AAA6B,CAAC;AAC5H,IAAIC,SAAS,GAAAN,OAAA,CAAAM,SAAA,GAAG,CAAC,CAAC;AAClB,IAAIC,MAAM,GAAAP,OAAA,CAAAO,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,UAAU,GAAAR,OAAA,CAAAQ,UAAA,GAAG,CAAC,CAAC;AACnB,IAAIC,MAAM,GAAAT,OAAA,CAAAS,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,IAAI,GAAAV,OAAA,CAAAU,IAAA,GAAG,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../src/components/common.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"common2751232590\";\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\":\"common2751232590__root\",\"column\":\"common2751232590__column\",\"fullHeight\":\"common2751232590__fullHeight\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {}; \n\n\n\n\n"],"mappings":";;;;AAGA,IAAAA,mBAAA,GAAAC,OAAA;AAHA;;AAOA,IAAIC,WAAW,GAAG,kBAAkB;AACpC,IAAIC,OAAO,GAAGC,kCAAc,CAACC,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AAE7C,IAAII,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAGE,iCAAa,CAACH,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AACrD,IAAIO,KAAK,GAAAF,OAAA,CAAAE,KAAA,GAAGN,OAAO;AACnB,IAAIO,EAA0C,GAAAH,OAAA,CAAAG,EAAA,GAAGP,OAAO;AAExD,IAAIQ,SAAS,GAAAJ,OAAA,CAAAI,SAAA,GAAGT,WAAW;AAC3B,IAAIU,OAAO,GAAAL,OAAA,CAAAK,OAAA,GAAG;EAAC,MAAM,EAAC,wBAAwB;EAAC,QAAQ,EAAC,0BAA0B;EAAC,YAAY,EAAC;AAA8B,CAAC;AAC/H,IAAIC,SAAS,GAAAN,OAAA,CAAAM,SAAA,GAAG,CAAC,CAAC;AAClB,IAAIC,MAAM,GAAAP,OAAA,CAAAO,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,UAAU,GAAAR,OAAA,CAAAQ,UAAA,GAAG,CAAC,CAAC;AACnB,IAAIC,MAAM,GAAAT,OAAA,CAAAS,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,IAAI,GAAAV,OAAA,CAAAU,IAAA,GAAG,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.useCachedUpdatedEntity = useCachedUpdatedEntity;
5
+ var _react = require("react");
6
+ var _WixPatternsRouterProvider = require("../providers/WixPatternsRouterProvider");
7
+ var _react2 = require("@wix/bex-core/react");
8
+ var _useSelector = require("../useSelector");
9
+ function useCachedUpdatedEntity(cachedState) {
10
+ const container = (0, _react2.useWixPatternsContainer)();
11
+ const router = (0, _WixPatternsRouterProvider.useWixPatternsRouter)();
12
+ const routeState = (0, _useSelector.useSelector)(() => router == null ? void 0 : router.currentState);
13
+ const [currentToast, setCurrentToast] = (0, _react.useState)(null);
14
+ (0, _react.useEffect)(() => {
15
+ if (cachedState) {
16
+ try {
17
+ if (routeState) {
18
+ const routeStateObject = JSON.parse(routeState);
19
+ const updatedEntity = routeStateObject._updatedEntity;
20
+ if (updatedEntity) {
21
+ const collection = cachedState.toolbar.collection;
22
+ collection.changeItem(updatedEntity);
23
+ const fetchPageForItem = itemQuery => {
24
+ var _collection$getKeyedI;
25
+ const itemKey = collection.itemKey(updatedEntity);
26
+ const currentIndex = (_collection$getKeyedI = collection.getKeyedItem(itemKey)) == null ? void 0 : _collection$getKeyedI.indexWithinPage;
27
+ collection.fetchData(itemQuery).then(updatedData => {
28
+ const newIndex = updatedData.items.findIndex(item => itemKey === collection.itemKey(item));
29
+ if (currentIndex !== newIndex) {
30
+ const toast = container.showToast == null ? void 0 : container.showToast({
31
+ type: 'STANDARD',
32
+ timeout: 'NONE',
33
+ message: container.translate('cairo.updatedView.collectionPage.toast.desc'),
34
+ onCloseClick: () => {
35
+ setCurrentToast(null);
36
+ },
37
+ biName: 'cairo-collection-page-updated-toast',
38
+ action: {
39
+ text: container.translate('cairo.updatedView.collectionPage.toast.cta'),
40
+ onClick: () => {
41
+ collection.refreshAllPages();
42
+ setCurrentToast(null);
43
+ }
44
+ }
45
+ });
46
+ if (toast) {
47
+ setCurrentToast(toast);
48
+ }
49
+ }
50
+ });
51
+ };
52
+ const checkIfViewWasUpdated = () => {
53
+ const itemKey = collection.itemKey(updatedEntity);
54
+ let fetchedPageInfo = null;
55
+ for (let fetchIndex = collection.fetchesHistory.length - 1; fetchIndex >= 0; fetchIndex--) {
56
+ const fetch = collection.fetchesHistory[fetchIndex];
57
+ if (fetch.itemsKeys.some(fetchedItemKey => fetchedItemKey === itemKey)) {
58
+ fetchedPageInfo = fetch.queryPageInfo;
59
+ break;
60
+ }
61
+ }
62
+ if (!fetchedPageInfo) {
63
+ console.error('Fetched page info for updated entity not found');
64
+ return;
65
+ }
66
+ const itemQuery = {
67
+ ...collection.query.asComputed,
68
+ ...fetchedPageInfo
69
+ };
70
+ fetchPageForItem(itemQuery);
71
+ };
72
+ setTimeout(checkIfViewWasUpdated, 3000);
73
+ }
74
+ }
75
+ } catch (e) {} finally {
76
+ if (router) {
77
+ router.setCurrentState(null);
78
+ }
79
+ }
80
+ }
81
+ }, [cachedState, routeState]);
82
+ (0, _react.useEffect)(() => {
83
+ if (!currentToast || !cachedState) {
84
+ return () => {};
85
+ }
86
+ const removeToast = () => {
87
+ currentToast == null || currentToast.remove();
88
+ setCurrentToast(null);
89
+ };
90
+ const collection = cachedState.toolbar.collection;
91
+ collection.emitter.on('fetch', () => {
92
+ removeToast();
93
+ });
94
+ return () => {
95
+ collection.emitter.off('fetch', () => {
96
+ removeToast();
97
+ });
98
+ };
99
+ }, [currentToast]);
100
+ }
101
+ //# sourceMappingURL=useCachedUpdatedEntity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_WixPatternsRouterProvider","_react2","_useSelector","useCachedUpdatedEntity","cachedState","container","useWixPatternsContainer","router","useWixPatternsRouter","routeState","useSelector","currentState","currentToast","setCurrentToast","useState","useEffect","routeStateObject","JSON","parse","updatedEntity","_updatedEntity","collection","toolbar","changeItem","fetchPageForItem","itemQuery","_collection$getKeyedI","itemKey","currentIndex","getKeyedItem","indexWithinPage","fetchData","then","updatedData","newIndex","items","findIndex","item","toast","showToast","type","timeout","message","translate","onCloseClick","biName","action","text","onClick","refreshAllPages","checkIfViewWasUpdated","fetchedPageInfo","fetchIndex","fetchesHistory","length","fetch","itemsKeys","some","fetchedItemKey","queryPageInfo","console","error","query","asComputed","setTimeout","e","setCurrentState","removeToast","remove","emitter","on","off"],"sources":["../../../src/hooks/useCachedUpdatedEntity.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport { useWixPatternsRouter } from '../providers/WixPatternsRouterProvider';\nimport { ICollectionComponentState } from '../state/ICollectionComponentState';\nimport { useWixPatternsContainer } from '@wix/bex-core/react';\nimport { ComputedQuery, RemoveToast } from '@wix/bex-core';\nimport { useSelector } from '../useSelector';\n\nexport function useCachedUpdatedEntity<T extends ICollectionComponentState>(\n cachedState?: T,\n) {\n const container = useWixPatternsContainer();\n const router = useWixPatternsRouter();\n\n const routeState = useSelector(() => router?.currentState);\n\n const [currentToast, setCurrentToast] = useState<{\n remove: RemoveToast;\n } | null>(null);\n\n useEffect(() => {\n if (cachedState) {\n try {\n if (routeState) {\n const routeStateObject = JSON.parse(routeState as string);\n const updatedEntity = routeStateObject._updatedEntity;\n\n if (updatedEntity) {\n const collection = cachedState.toolbar.collection;\n collection.changeItem(updatedEntity);\n\n const fetchPageForItem = (itemQuery: ComputedQuery<any>) => {\n const itemKey = collection.itemKey(updatedEntity);\n const currentIndex =\n collection.getKeyedItem(itemKey)?.indexWithinPage;\n\n collection.fetchData(itemQuery).then((updatedData) => {\n const newIndex = updatedData.items.findIndex(\n (item) => itemKey === collection.itemKey(item),\n );\n\n if (currentIndex !== newIndex) {\n const toast = container.showToast?.({\n type: 'STANDARD',\n timeout: 'NONE',\n message: container.translate(\n 'cairo.updatedView.collectionPage.toast.desc',\n ),\n onCloseClick: () => {\n setCurrentToast(null);\n },\n biName: 'cairo-collection-page-updated-toast',\n action: {\n text: container.translate(\n 'cairo.updatedView.collectionPage.toast.cta',\n ),\n onClick: () => {\n collection.refreshAllPages();\n setCurrentToast(null);\n },\n },\n });\n\n if (toast) {\n setCurrentToast(toast);\n }\n }\n });\n };\n\n const checkIfViewWasUpdated = () => {\n const itemKey = collection.itemKey(updatedEntity);\n let fetchedPageInfo = null;\n for (\n let fetchIndex = collection.fetchesHistory.length - 1;\n fetchIndex >= 0;\n fetchIndex--\n ) {\n const fetch = collection.fetchesHistory[fetchIndex];\n if (\n fetch.itemsKeys.some(\n (fetchedItemKey) => fetchedItemKey === itemKey,\n )\n ) {\n fetchedPageInfo = fetch.queryPageInfo;\n break;\n }\n }\n\n if (!fetchedPageInfo) {\n console.error('Fetched page info for updated entity not found');\n return;\n }\n\n const itemQuery = {\n ...collection.query.asComputed,\n ...fetchedPageInfo,\n };\n\n fetchPageForItem(itemQuery);\n };\n\n setTimeout(checkIfViewWasUpdated, 3000);\n }\n }\n } catch (e) {\n } finally {\n if (router) {\n router.setCurrentState(null);\n }\n }\n }\n }, [cachedState, routeState]);\n\n useEffect(() => {\n if (!currentToast || !cachedState) {\n return () => {};\n }\n\n const removeToast = () => {\n currentToast?.remove();\n setCurrentToast(null);\n };\n\n const collection = cachedState.toolbar.collection;\n collection.emitter.on('fetch', () => {\n removeToast();\n });\n return () => {\n collection.emitter.off('fetch', () => {\n removeToast();\n });\n };\n }, [currentToast]);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -5,6 +5,7 @@ exports.useColumnsSyncProps = useColumnsSyncProps;
5
5
  var _react = require("react");
6
6
  var _mobx = require("mobx");
7
7
  var _react2 = require("@wix/bex-core/react");
8
+ var _WixPatternsRouterProvider = require("../providers/WixPatternsRouterProvider");
8
9
  function useColumnsSyncProps(props) {
9
10
  const {
10
11
  toolbar,
@@ -14,6 +15,7 @@ function useColumnsSyncProps(props) {
14
15
  const {
15
16
  modalsContainerRef
16
17
  } = (0, _react2.usePageContext)();
18
+ const router = (0, _WixPatternsRouterProvider.useWixPatternsRouter)();
17
19
  const customColumnsProps = (0, _react.useMemo)(() => {
18
20
  if (customColumns == null) {
19
21
  return null;
@@ -39,6 +41,9 @@ function useColumnsSyncProps(props) {
39
41
  });
40
42
  }, [customColumnsProps]);
41
43
  (0, _react.useEffect)(() => {
44
+ if (router != null && router.isUsingCache) {
45
+ return;
46
+ }
42
47
  toolbar._adjustSortWithNewColumns(tableColumns);
43
48
  }, [tableColumns.map((e, i) => e.id ?? i).join('')]);
44
49
  (0, _react.useEffect)(() => {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_mobx","_react2","useColumnsSyncProps","props","toolbar","customColumns","columns","tableColumns","modalsContainerRef","usePageContext","customColumnsProps","useMemo","onColumnClick","dragAndDrop","type","useState","setCustomColumnsState","useEffect","runInAction","_adjustSortWithNewColumns","map","e","i","id","join","setNewColumns","customColumnsStateInitialized","customColumnsDependency","JSON","stringify","reorderDisabled","hiddenFromCustomColumnsSelection","hideable","_adjustSelectedColumns"],"sources":["../../../src/hooks/useColumnsSyncProps.ts"],"sourcesContent":["import { useEffect, useMemo, useState } from 'react';\nimport { runInAction } from 'mobx';\nimport { TableColumn } from '../model';\nimport { ToolbarCollectionState } from '../state';\nimport { FiltersMap } from '@wix/bex-core';\nimport { CustomColumnsElement } from '../components/assertComponentType';\nimport { usePageContext } from '@wix/bex-core/react';\n\nexport interface UseColumnsSyncPropsParams<T, F extends FiltersMap> {\n customColumns?: CustomColumnsElement | null;\n columns: TableColumn<T>[];\n toolbar: ToolbarCollectionState<T, F>;\n}\n\nexport function useColumnsSyncProps<T, F extends FiltersMap>(\n props: UseColumnsSyncPropsParams<T, F>,\n) {\n const { toolbar, customColumns, columns: tableColumns } = props;\n const { modalsContainerRef } = usePageContext();\n\n const customColumnsProps = useMemo(() => {\n if (customColumns == null) {\n return null;\n }\n\n const { onColumnClick } = customColumns.props;\n\n return {\n onColumnClick,\n dragAndDrop: customColumns.type.dragAndDrop,\n };\n }, [customColumns]);\n\n useState(() =>\n customColumns?.type.setCustomColumnsState({\n toolbar,\n customColumnsProps: {\n dragAndDrop: customColumnsProps?.dragAndDrop,\n },\n modalsContainerRef,\n }),\n );\n\n useEffect(() => {\n runInAction(() => {\n toolbar.customColumnsProps = customColumnsProps;\n });\n }, [customColumnsProps]);\n\n useEffect(() => {\n toolbar._adjustSortWithNewColumns(tableColumns);\n }, [tableColumns.map((e, i) => e.id ?? i).join('')]);\n\n useEffect(() => {\n toolbar.setNewColumns(tableColumns);\n }, [\n tableColumns,\n customColumnsProps != null,\n toolbar.customColumnsStateInitialized,\n ]);\n\n const customColumnsDependency = useMemo(\n () =>\n JSON.stringify(\n tableColumns.map(\n (\n { id, reorderDisabled, hiddenFromCustomColumnsSelection, hideable },\n i,\n ) => ({\n id: id ?? i,\n reorderDisabled,\n hiddenFromCustomColumnsSelection,\n hideable,\n }),\n ),\n ),\n [tableColumns],\n );\n\n useEffect(() => {\n toolbar._adjustSelectedColumns();\n }, [\n customColumnsDependency,\n customColumnsProps != null,\n toolbar.customColumnsStateInitialized,\n ]);\n}\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAKA,IAAAE,OAAA,GAAAF,OAAA;AAQO,SAASG,mBAAmBA,CACjCC,KAAsC,EACtC;EACA,MAAM;IAAEC,OAAO;IAAEC,aAAa;IAAEC,OAAO,EAAEC;EAAa,CAAC,GAAGJ,KAAK;EAC/D,MAAM;IAAEK;EAAmB,CAAC,GAAG,IAAAC,sBAAc,EAAC,CAAC;EAE/C,MAAMC,kBAAkB,GAAG,IAAAC,cAAO,EAAC,MAAM;IACvC,IAAIN,aAAa,IAAI,IAAI,EAAE;MACzB,OAAO,IAAI;IACb;IAEA,MAAM;MAAEO;IAAc,CAAC,GAAGP,aAAa,CAACF,KAAK;IAE7C,OAAO;MACLS,aAAa;MACbC,WAAW,EAAER,aAAa,CAACS,IAAI,CAACD;IAClC,CAAC;EACH,CAAC,EAAE,CAACR,aAAa,CAAC,CAAC;EAEnB,IAAAU,eAAQ,EAAC,MACPV,aAAa,oBAAbA,aAAa,CAAES,IAAI,CAACE,qBAAqB,CAAC;IACxCZ,OAAO;IACPM,kBAAkB,EAAE;MAClBG,WAAW,EAAEH,kBAAkB,oBAAlBA,kBAAkB,CAAEG;IACnC,CAAC;IACDL;EACF,CAAC,CACH,CAAC;EAED,IAAAS,gBAAS,EAAC,MAAM;IACd,IAAAC,iBAAW,EAAC,MAAM;MAChBd,OAAO,CAACM,kBAAkB,GAAGA,kBAAkB;IACjD,CAAC,CAAC;EACJ,CAAC,EAAE,CAACA,kBAAkB,CAAC,CAAC;EAExB,IAAAO,gBAAS,EAAC,MAAM;IACdb,OAAO,CAACe,yBAAyB,CAACZ,YAAY,CAAC;EACjD,CAAC,EAAE,CAACA,YAAY,CAACa,GAAG,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,CAACE,EAAE,IAAID,CAAC,CAAC,CAACE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;EAEpD,IAAAP,gBAAS,EAAC,MAAM;IACdb,OAAO,CAACqB,aAAa,CAAClB,YAAY,CAAC;EACrC,CAAC,EAAE,CACDA,YAAY,EACZG,kBAAkB,IAAI,IAAI,EAC1BN,OAAO,CAACsB,6BAA6B,CACtC,CAAC;EAEF,MAAMC,uBAAuB,GAAG,IAAAhB,cAAO,EACrC,MACEiB,IAAI,CAACC,SAAS,CACZtB,YAAY,CAACa,GAAG,CACd,CACE;IAAEG,EAAE;IAAEO,eAAe;IAAEC,gCAAgC;IAAEC;EAAS,CAAC,EACnEV,CAAC,MACG;IACJC,EAAE,EAAEA,EAAE,IAAID,CAAC;IACXQ,eAAe;IACfC,gCAAgC;IAChCC;EACF,CAAC,CACH,CACF,CAAC,EACH,CAACzB,YAAY,CACf,CAAC;EAED,IAAAU,gBAAS,EAAC,MAAM;IACdb,OAAO,CAAC6B,sBAAsB,CAAC,CAAC;EAClC,CAAC,EAAE,CACDN,uBAAuB,EACvBjB,kBAAkB,IAAI,IAAI,EAC1BN,OAAO,CAACsB,6BAA6B,CACtC,CAAC;AACJ","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_mobx","_react2","_WixPatternsRouterProvider","useColumnsSyncProps","props","toolbar","customColumns","columns","tableColumns","modalsContainerRef","usePageContext","router","useWixPatternsRouter","customColumnsProps","useMemo","onColumnClick","dragAndDrop","type","useState","setCustomColumnsState","useEffect","runInAction","isUsingCache","_adjustSortWithNewColumns","map","e","i","id","join","setNewColumns","customColumnsStateInitialized","customColumnsDependency","JSON","stringify","reorderDisabled","hiddenFromCustomColumnsSelection","hideable","_adjustSelectedColumns"],"sources":["../../../src/hooks/useColumnsSyncProps.ts"],"sourcesContent":["import { useEffect, useMemo, useState } from 'react';\nimport { runInAction } from 'mobx';\nimport { TableColumn } from '../model';\nimport { ToolbarCollectionState } from '../state';\nimport { FiltersMap } from '@wix/bex-core';\nimport { CustomColumnsElement } from '../components/assertComponentType';\nimport { usePageContext } from '@wix/bex-core/react';\nimport { useWixPatternsRouter } from '../providers/WixPatternsRouterProvider';\n\nexport interface UseColumnsSyncPropsParams<T, F extends FiltersMap> {\n customColumns?: CustomColumnsElement | null;\n columns: TableColumn<T>[];\n toolbar: ToolbarCollectionState<T, F>;\n}\n\nexport function useColumnsSyncProps<T, F extends FiltersMap>(\n props: UseColumnsSyncPropsParams<T, F>,\n) {\n const { toolbar, customColumns, columns: tableColumns } = props;\n const { modalsContainerRef } = usePageContext();\n const router = useWixPatternsRouter();\n\n const customColumnsProps = useMemo(() => {\n if (customColumns == null) {\n return null;\n }\n\n const { onColumnClick } = customColumns.props;\n\n return {\n onColumnClick,\n dragAndDrop: customColumns.type.dragAndDrop,\n };\n }, [customColumns]);\n\n useState(() =>\n customColumns?.type.setCustomColumnsState({\n toolbar,\n customColumnsProps: {\n dragAndDrop: customColumnsProps?.dragAndDrop,\n },\n modalsContainerRef,\n }),\n );\n\n useEffect(() => {\n runInAction(() => {\n toolbar.customColumnsProps = customColumnsProps;\n });\n }, [customColumnsProps]);\n\n useEffect(() => {\n if (router?.isUsingCache) {\n return;\n }\n\n toolbar._adjustSortWithNewColumns(tableColumns);\n }, [tableColumns.map((e, i) => e.id ?? i).join('')]);\n\n useEffect(() => {\n toolbar.setNewColumns(tableColumns);\n }, [\n tableColumns,\n customColumnsProps != null,\n toolbar.customColumnsStateInitialized,\n ]);\n\n const customColumnsDependency = useMemo(\n () =>\n JSON.stringify(\n tableColumns.map(\n (\n { id, reorderDisabled, hiddenFromCustomColumnsSelection, hideable },\n i,\n ) => ({\n id: id ?? i,\n reorderDisabled,\n hiddenFromCustomColumnsSelection,\n hideable,\n }),\n ),\n ),\n [tableColumns],\n );\n\n useEffect(() => {\n toolbar._adjustSelectedColumns();\n }, [\n customColumnsDependency,\n customColumnsProps != null,\n toolbar.customColumnsStateInitialized,\n ]);\n}\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAKA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,0BAAA,GAAAH,OAAA;AAQO,SAASI,mBAAmBA,CACjCC,KAAsC,EACtC;EACA,MAAM;IAAEC,OAAO;IAAEC,aAAa;IAAEC,OAAO,EAAEC;EAAa,CAAC,GAAGJ,KAAK;EAC/D,MAAM;IAAEK;EAAmB,CAAC,GAAG,IAAAC,sBAAc,EAAC,CAAC;EAC/C,MAAMC,MAAM,GAAG,IAAAC,+CAAoB,EAAC,CAAC;EAErC,MAAMC,kBAAkB,GAAG,IAAAC,cAAO,EAAC,MAAM;IACvC,IAAIR,aAAa,IAAI,IAAI,EAAE;MACzB,OAAO,IAAI;IACb;IAEA,MAAM;MAAES;IAAc,CAAC,GAAGT,aAAa,CAACF,KAAK;IAE7C,OAAO;MACLW,aAAa;MACbC,WAAW,EAAEV,aAAa,CAACW,IAAI,CAACD;IAClC,CAAC;EACH,CAAC,EAAE,CAACV,aAAa,CAAC,CAAC;EAEnB,IAAAY,eAAQ,EAAC,MACPZ,aAAa,oBAAbA,aAAa,CAAEW,IAAI,CAACE,qBAAqB,CAAC;IACxCd,OAAO;IACPQ,kBAAkB,EAAE;MAClBG,WAAW,EAAEH,kBAAkB,oBAAlBA,kBAAkB,CAAEG;IACnC,CAAC;IACDP;EACF,CAAC,CACH,CAAC;EAED,IAAAW,gBAAS,EAAC,MAAM;IACd,IAAAC,iBAAW,EAAC,MAAM;MAChBhB,OAAO,CAACQ,kBAAkB,GAAGA,kBAAkB;IACjD,CAAC,CAAC;EACJ,CAAC,EAAE,CAACA,kBAAkB,CAAC,CAAC;EAExB,IAAAO,gBAAS,EAAC,MAAM;IACd,IAAIT,MAAM,YAANA,MAAM,CAAEW,YAAY,EAAE;MACxB;IACF;IAEAjB,OAAO,CAACkB,yBAAyB,CAACf,YAAY,CAAC;EACjD,CAAC,EAAE,CAACA,YAAY,CAACgB,GAAG,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,CAACE,EAAE,IAAID,CAAC,CAAC,CAACE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;EAEpD,IAAAR,gBAAS,EAAC,MAAM;IACdf,OAAO,CAACwB,aAAa,CAACrB,YAAY,CAAC;EACrC,CAAC,EAAE,CACDA,YAAY,EACZK,kBAAkB,IAAI,IAAI,EAC1BR,OAAO,CAACyB,6BAA6B,CACtC,CAAC;EAEF,MAAMC,uBAAuB,GAAG,IAAAjB,cAAO,EACrC,MACEkB,IAAI,CAACC,SAAS,CACZzB,YAAY,CAACgB,GAAG,CACd,CACE;IAAEG,EAAE;IAAEO,eAAe;IAAEC,gCAAgC;IAAEC;EAAS,CAAC,EACnEV,CAAC,MACG;IACJC,EAAE,EAAEA,EAAE,IAAID,CAAC;IACXQ,eAAe;IACfC,gCAAgC;IAChCC;EACF,CAAC,CACH,CACF,CAAC,EACH,CAAC5B,YAAY,CACf,CAAC;EAED,IAAAY,gBAAS,EAAC,MAAM;IACdf,OAAO,CAACgC,sBAAsB,CAAC,CAAC;EAClC,CAAC,EAAE,CACDN,uBAAuB,EACvBlB,kBAAkB,IAAI,IAAI,EAC1BR,OAAO,CAACyB,6BAA6B,CACtC,CAAC;AACJ","ignoreList":[]}
@@ -5,12 +5,19 @@ exports.useOptionalCachedState = useOptionalCachedState;
5
5
  var _react = require("react");
6
6
  var _WixPatternsRouterProvider = require("../providers/WixPatternsRouterProvider");
7
7
  var _getCollectionComponentUniqueId = require("../utils/getCollectionComponentUniqueId");
8
+ var _useCachedUpdatedEntity = require("./useCachedUpdatedEntity");
8
9
  function useOptionalCachedState(createState) {
9
10
  const router = (0, _WixPatternsRouterProvider.useWixPatternsRouter)();
10
- const [state] = (0, _react.useState)(() => {
11
- const maybeNewState = createState();
11
+ const [maybeNewState] = (0, _react.useState)(() => createState());
12
+ const [cachedState] = (0, _react.useState)(() => {
12
13
  const uniqueId = (0, _getCollectionComponentUniqueId.getCollectionComponentUniqueId)(maybeNewState);
13
- const cachedState = router == null ? void 0 : router.stateRefs.get(uniqueId);
14
+ return router == null ? void 0 : router.stateRefs.get(uniqueId);
15
+ });
16
+ (0, _useCachedUpdatedEntity.useCachedUpdatedEntity)(cachedState);
17
+ const [state] = (0, _react.useState)(() => {
18
+ if (router) {
19
+ router.isUsingCache = !!cachedState;
20
+ }
14
21
  if (cachedState) {
15
22
  return cachedState;
16
23
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_WixPatternsRouterProvider","_getCollectionComponentUniqueId","useOptionalCachedState","createState","router","useWixPatternsRouter","state","useState","maybeNewState","uniqueId","getCollectionComponentUniqueId","cachedState","stateRefs","get","saveState"],"sources":["../../../src/hooks/useOptionalCachedState.ts"],"sourcesContent":["import { useState } from 'react';\nimport { useWixPatternsRouter } from '../providers/WixPatternsRouterProvider';\nimport { ICollectionComponentState } from '../state/ICollectionComponentState';\nimport { getCollectionComponentUniqueId } from '../utils/getCollectionComponentUniqueId';\n\nexport function useOptionalCachedState<T extends ICollectionComponentState>(\n createState: () => T,\n): T {\n const router = useWixPatternsRouter();\n const [state] = useState<T>(() => {\n const maybeNewState = createState();\n const uniqueId = getCollectionComponentUniqueId(maybeNewState);\n const cachedState = router?.stateRefs.get(uniqueId) as T | undefined;\n\n if (cachedState) {\n return cachedState;\n }\n\n router?.saveState<T>(maybeNewState);\n return maybeNewState;\n });\n\n return state;\n}\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,0BAAA,GAAAD,OAAA;AAEA,IAAAE,+BAAA,GAAAF,OAAA;AAEO,SAASG,sBAAsBA,CACpCC,WAAoB,EACjB;EACH,MAAMC,MAAM,GAAG,IAAAC,+CAAoB,EAAC,CAAC;EACrC,MAAM,CAACC,KAAK,CAAC,GAAG,IAAAC,eAAQ,EAAI,MAAM;IAChC,MAAMC,aAAa,GAAGL,WAAW,CAAC,CAAC;IACnC,MAAMM,QAAQ,GAAG,IAAAC,8DAA8B,EAACF,aAAa,CAAC;IAC9D,MAAMG,WAAW,GAAGP,MAAM,oBAANA,MAAM,CAAEQ,SAAS,CAACC,GAAG,CAACJ,QAAQ,CAAkB;IAEpE,IAAIE,WAAW,EAAE;MACf,OAAOA,WAAW;IACpB;IAEAP,MAAM,YAANA,MAAM,CAAEU,SAAS,CAAIN,aAAa,CAAC;IACnC,OAAOA,aAAa;EACtB,CAAC,CAAC;EAEF,OAAOF,KAAK;AACd","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_WixPatternsRouterProvider","_getCollectionComponentUniqueId","_useCachedUpdatedEntity","useOptionalCachedState","createState","router","useWixPatternsRouter","maybeNewState","useState","cachedState","uniqueId","getCollectionComponentUniqueId","stateRefs","get","useCachedUpdatedEntity","state","isUsingCache","saveState"],"sources":["../../../src/hooks/useOptionalCachedState.ts"],"sourcesContent":["import { useState } from 'react';\nimport { useWixPatternsRouter } from '../providers/WixPatternsRouterProvider';\nimport { ICollectionComponentState } from '../state/ICollectionComponentState';\nimport { getCollectionComponentUniqueId } from '../utils/getCollectionComponentUniqueId';\nimport { useCachedUpdatedEntity } from './useCachedUpdatedEntity';\n\nexport function useOptionalCachedState<T extends ICollectionComponentState>(\n createState: () => T,\n): T {\n const router = useWixPatternsRouter();\n\n const [maybeNewState] = useState<T>(() => createState());\n const [cachedState] = useState<T | undefined>(() => {\n const uniqueId = getCollectionComponentUniqueId(maybeNewState);\n return router?.stateRefs.get(uniqueId) as T | undefined;\n });\n\n useCachedUpdatedEntity(cachedState);\n\n const [state] = useState<T>(() => {\n if (router) {\n router.isUsingCache = !!cachedState;\n }\n\n if (cachedState) {\n return cachedState;\n }\n\n router?.saveState<T>(maybeNewState);\n return maybeNewState;\n });\n\n return state;\n}\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,0BAAA,GAAAD,OAAA;AAEA,IAAAE,+BAAA,GAAAF,OAAA;AACA,IAAAG,uBAAA,GAAAH,OAAA;AAEO,SAASI,sBAAsBA,CACpCC,WAAoB,EACjB;EACH,MAAMC,MAAM,GAAG,IAAAC,+CAAoB,EAAC,CAAC;EAErC,MAAM,CAACC,aAAa,CAAC,GAAG,IAAAC,eAAQ,EAAI,MAAMJ,WAAW,CAAC,CAAC,CAAC;EACxD,MAAM,CAACK,WAAW,CAAC,GAAG,IAAAD,eAAQ,EAAgB,MAAM;IAClD,MAAME,QAAQ,GAAG,IAAAC,8DAA8B,EAACJ,aAAa,CAAC;IAC9D,OAAOF,MAAM,oBAANA,MAAM,CAAEO,SAAS,CAACC,GAAG,CAACH,QAAQ,CAAC;EACxC,CAAC,CAAC;EAEF,IAAAI,8CAAsB,EAACL,WAAW,CAAC;EAEnC,MAAM,CAACM,KAAK,CAAC,GAAG,IAAAP,eAAQ,EAAI,MAAM;IAChC,IAAIH,MAAM,EAAE;MACVA,MAAM,CAACW,YAAY,GAAG,CAAC,CAACP,WAAW;IACrC;IAEA,IAAIA,WAAW,EAAE;MACf,OAAOA,WAAW;IACpB;IAEAJ,MAAM,YAANA,MAAM,CAAEY,SAAS,CAAIV,aAAa,CAAC;IACnC,OAAOA,aAAa;EACtB,CAAC,CAAC;EAEF,OAAOQ,KAAK;AACd","ignoreList":[]}
@@ -1,4 +1,16 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
+ // disallow specifying `hideable` / `defaultHidden` or setting `hiddenFromCustomColumnsSelection` as false when `id` is missing
5
+
6
+ // common case for custom column definition
7
+
8
+ // allow `name` to be optional when `title` exists
9
+
10
+ // force `defaultHidden=false|undefined` when `hideable=false`
11
+
12
+ // @ts-ignore
13
+ function _tableColumnPublicApiTest(c) {
14
+ return c;
15
+ }
4
16
  //# sourceMappingURL=tableColumn.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../src/model/tableColumn.ts"],"sourcesContent":["import type { TableColumn as TableColumnWSR } from '@wix/design-system';\nimport type { KeyedItem, SortMode, SortOrder } from '@wix/bex-core';\nimport { CSSProperties, ReactNode } from 'react';\n\ntype TableColumnBase<T = any> = Omit<\n TableColumnWSR<T>,\n 'sortDescending' | 'sortable' | 'infoTooltipProps' | 'style'\n> & {\n style?:\n | CSSProperties\n | ((\n column: TableColumnWSR,\n rowData: KeyedItem<T>,\n rowNum: number,\n ) => CSSProperties);\n reorderDisabled?: boolean;\n defaultSortOrder?: SortOrder;\n sortMode?: SortMode;\n infoTooltipProps?: TableColumnWSR['infoTooltipProps'] & {\n panelContent?: ReactNode;\n };\n};\n\n// disallow specifying `hideable` / `defaultHidden` or setting `hiddenFromCustomColumnsSelection` as false when `id` is missing\ninterface TableColumnOptional<T> extends TableColumnBase<T> {\n id?: string;\n name?: string;\n hiddenFromCustomColumnsSelection?: undefined | true;\n hideable?: undefined;\n defaultHidden?: undefined;\n}\n\n// common case for custom column definition\ninterface TableColumnCustom<T> extends TableColumnBase<T> {\n id: string;\n name: string;\n hiddenFromCustomColumnsSelection?: false;\n hideable?: true;\n defaultHidden?: boolean;\n}\n\n// allow `name` to be optional when `title` exists\ninterface TableColumnCustomOptionalName<T> extends TableColumnBase<T> {\n id: string;\n name?: string;\n title: TableColumnBase['title'];\n hiddenFromCustomColumnsSelection?: false;\n hideable?: true;\n defaultHidden?: boolean;\n}\n\n// force `defaultHidden=false|undefined` when `hideable=false`\ninterface TableColumnCustomDefaultHidden<T> extends TableColumnBase<T> {\n id: string;\n name?: string;\n title: TableColumnBase['title'];\n hiddenFromCustomColumnsSelection?: false;\n hideable: false;\n defaultHidden?: undefined | false;\n}\n\nexport type CustomColumnConfig<T> =\n | TableColumnOptional<T>\n | TableColumnCustom<T>\n | TableColumnCustomDefaultHidden<T>\n | TableColumnCustomOptionalName<T>;\n\nexport interface SortableColumnConfig<T> extends TableColumnBase<T> {\n id: string;\n sortable: true;\n}\n\nexport interface NotSortableColumnConfig<T> extends TableColumnBase<T> {\n id?: string;\n sortable?: false;\n}\n\nexport type SortableConfig<T> =\n | SortableColumnConfig<T>\n | NotSortableColumnConfig<T>;\n\nexport type TableColumn<T> = CustomColumnConfig<T> & SortableConfig<T>;\n\nexport interface Column {\n id: string;\n name: string;\n title: TableColumnBase['title'];\n hiddenFromCustomColumnsSelection?: boolean;\n hideable?: boolean;\n reorderDisabled?: boolean;\n sortable?: boolean;\n sortDescending?: boolean;\n sortMode?: SortMode;\n defaultSortOrder?: SortOrder;\n defaultHidden?: boolean;\n dataExtension?: { id: string; editable: boolean };\n infoTooltipProps?: {\n content?: ReactNode;\n panelContent?: ReactNode;\n };\n render: TableColumnWSR['render'];\n width?: TableColumnWSR['width'];\n style?: TableColumnWSR['style'];\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":["_tableColumnPublicApiTest","c"],"sources":["../../../src/model/tableColumn.ts"],"sourcesContent":["import type { TableColumn as TableColumnWSR } from '@wix/design-system';\nimport type { KeyedItem, SortMode, SortOrder } from '@wix/bex-core';\nimport { CSSProperties, ReactNode } from 'react';\n\ntype TableColumnBase<T = any> = Omit<\n TableColumnWSR<T>,\n 'sortDescending' | 'sortable' | 'infoTooltipProps' | 'style'\n> & {\n style?:\n | CSSProperties\n | ((\n column: TableColumnWSR,\n rowData: KeyedItem<T>,\n rowNum: number,\n ) => CSSProperties);\n reorderDisabled?: boolean;\n defaultSortOrder?: SortOrder;\n sortMode?: SortMode;\n infoTooltipProps?: TableColumnWSR['infoTooltipProps'] & {\n panelContent?: ReactNode;\n };\n};\n\n// disallow specifying `hideable` / `defaultHidden` or setting `hiddenFromCustomColumnsSelection` as false when `id` is missing\ninterface TableColumnOptional<T> extends TableColumnBase<T> {\n id?: string;\n name?: string;\n hiddenFromCustomColumnsSelection?: undefined | true;\n hideable?: undefined;\n defaultHidden?: undefined;\n}\n\n// common case for custom column definition\ninterface TableColumnCustom<T> extends TableColumnBase<T> {\n id: string;\n name: string;\n hiddenFromCustomColumnsSelection?: false;\n hideable?: true;\n defaultHidden?: boolean;\n}\n\n// allow `name` to be optional when `title` exists\ninterface TableColumnCustomOptionalName<T> extends TableColumnBase<T> {\n id: string;\n name?: string;\n title: TableColumnBase['title'];\n hiddenFromCustomColumnsSelection?: false;\n hideable?: true;\n defaultHidden?: boolean;\n}\n\n// force `defaultHidden=false|undefined` when `hideable=false`\ninterface TableColumnCustomDefaultHidden<T> extends TableColumnBase<T> {\n id: string;\n name?: string;\n title: TableColumnBase['title'];\n hiddenFromCustomColumnsSelection?: false;\n hideable: false;\n defaultHidden?: undefined | false;\n}\n\nexport type CustomColumnConfig<T> =\n | TableColumnOptional<T>\n | TableColumnCustom<T>\n | TableColumnCustomDefaultHidden<T>\n | TableColumnCustomOptionalName<T>;\n\nexport interface SortableColumnConfig<T> extends TableColumnBase<T> {\n id: string;\n sortable: true;\n}\n\nexport interface NotSortableColumnConfig<T> extends TableColumnBase<T> {\n id?: string;\n sortable?: false;\n}\n\nexport type SortableConfig<T> =\n | SortableColumnConfig<T>\n | NotSortableColumnConfig<T>;\n\nexport type TableColumn<T> = CustomColumnConfig<T> & SortableConfig<T>;\n\nexport interface Column {\n /**\n * A unique identifier for the column. This value is required to enable [custom columns](./?path=/story/features-display-custom-columns--overview) or [sortable columns](./?path=/story/features-sort-sortable-columns-sortable-columns--sortable-columns).\n * @external\n */\n id: string;\n /**\n * A name for the column. This value is shown in the [custom columns](./?path=/story/features-display-custom-columns--overview) dropdown.\n * @external\n */\n name: string;\n /**\n * The text to be shown at the top of the column.\n * @external\n */\n title: TableColumnBase['title'];\n /**\n * Hides the column from the custom column selection panel, making it always visible. Relevant for [custom columns](./?path=/story/features-display-custom-columns--overview). \n * @external\n */\n hiddenFromCustomColumnsSelection?: boolean;\n /**\n * When `false`, the column is always selected and displayed. Relevant for [custom columns](./?path=/story/features-display-custom-columns--overview). \n */\n hideable?: boolean;\n /**\n * When `true`, disables drag and drop for the column.\n * @external\n */\n reorderDisabled?: boolean;\n /**\n * When `true`, makes the column a [sortable column](./?path=/story/features-sort-sortable-columns-sortable-columns--sortable-columns).\n * @external\n */\n sortable?: boolean;\n sortDescending?: boolean;\n sortMode?: SortMode;\n /**\n * Determines the default sort order for the column, either `asc` or `desc`. The column must be a [sortable column](./?path=/story/features-sort-sortable-columns-sortable-columns--sortable-columns).\n * @external\n */\n defaultSortOrder?: SortOrder;\n /**\n * For [custom columns](./?path=/story/features-display-custom-columns--overview), when `true`, this property causes the column to be unchecked and thus not shown by default. This isn't relevant when `hideable` `=` `false`.\n * @external\n */\n defaultHidden?: boolean;\n dataExtension?: { id: string; editable: boolean };\n infoTooltipProps?: {\n content?: ReactNode;\n panelContent?: ReactNode;\n };\n /**\n * A callback that is called for each row in the data to display the value of this row for the specified column.\n * @external\n */\n render: TableColumnWSR['render'];\n width?: TableColumnWSR['width'];\n style?: TableColumnWSR['style'];\n}\n\n// @ts-ignore\nfunction _tableColumnPublicApiTest<T>(\n c: TableColumn<T>,\n): Omit<Column, 'id' | 'name'> & Pick<Partial<Column>, 'id' | 'name'> {\n return c;\n}\n"],"mappings":";;;AAuBA;;AASA;;AASA;;AAUA;;AA6FA;AACA,SAASA,yBAAyBA,CAChCC,CAAiB,EACmD;EACpE,OAAOA,CAAC;AACV","ignoreList":[]}
@@ -9,15 +9,25 @@ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return
9
9
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
10
10
  const WixPatternsRouterContext = exports.WixPatternsRouterContext = /*#__PURE__*/(0, _react.createContext)(null);
11
11
  const WixPatternsRouterProvider = ({
12
+ history,
12
13
  children
13
14
  }) => {
14
15
  const [routerState] = (0, _react.useState)(() => new _WixPatternsRouterState.WixPatternsRouterState());
16
+ (0, _react.useEffect)(() => {
17
+ history.listen(({
18
+ location
19
+ }) => {
20
+ if (location.state) {
21
+ routerState.setCurrentState(location.state);
22
+ }
23
+ });
24
+ }, []);
15
25
  return /*#__PURE__*/_react.default.createElement(WixPatternsRouterContext.Provider, {
16
26
  value: routerState,
17
27
  __self: void 0,
18
28
  __source: {
19
29
  fileName: _jsxFileName,
20
- lineNumber: 17,
30
+ lineNumber: 28,
21
31
  columnNumber: 5
22
32
  }
23
33
  }, children);
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_WixPatternsRouterState","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","WixPatternsRouterContext","exports","createContext","WixPatternsRouterProvider","children","routerState","useState","WixPatternsRouterState","createElement","Provider","value","__self","__source","fileName","lineNumber","columnNumber","useWixPatternsRouter","useContext"],"sources":["../../../src/providers/WixPatternsRouterProvider.tsx"],"sourcesContent":["import React, { createContext, useContext, useState } from 'react';\nimport { WixPatternsRouterState } from '../state/WixPatternsRouterState';\n\nexport const WixPatternsRouterContext =\n createContext<WixPatternsRouterState | null>(null);\n\nexport interface WixPatternsRouterProviderProps {\n children: React.ReactNode;\n}\n\nexport const WixPatternsRouterProvider = ({\n children,\n}: WixPatternsRouterProviderProps) => {\n const [routerState] = useState(() => new WixPatternsRouterState());\n\n return (\n <WixPatternsRouterContext.Provider value={routerState}>\n {children}\n </WixPatternsRouterContext.Provider>\n );\n};\n\nexport const useWixPatternsRouter = () => {\n const value = useContext(WixPatternsRouterContext);\n return value;\n};\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,uBAAA,GAAAD,OAAA;AAAyE,IAAAE,YAAA;AAAA,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAL,wBAAAK,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAElE,MAAMW,wBAAwB,GAAAC,OAAA,CAAAD,wBAAA,gBACnC,IAAAE,oBAAa,EAAgC,IAAI,CAAC;AAM7C,MAAMC,yBAAyB,GAAGA,CAAC;EACxCC;AAC8B,CAAC,KAAK;EACpC,MAAM,CAACC,WAAW,CAAC,GAAG,IAAAC,eAAQ,EAAC,MAAM,IAAIC,8CAAsB,CAAC,CAAC,CAAC;EAElE,oBACEhC,MAAA,CAAAW,OAAA,CAAAsB,aAAA,CAACR,wBAAwB,CAACS,QAAQ;IAACC,KAAK,EAAEL,WAAY;IAAAM,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAlC,YAAA;MAAAmC,UAAA;MAAAC,YAAA;IAAA;EAAA,GACnDX,QACgC,CAAC;AAExC,CAAC;AAACH,OAAA,CAAAE,yBAAA,GAAAA,yBAAA;AAEK,MAAMa,oBAAoB,GAAGA,CAAA,KAAM;EACxC,MAAMN,KAAK,GAAG,IAAAO,iBAAU,EAACjB,wBAAwB,CAAC;EAClD,OAAOU,KAAK;AACd,CAAC;AAACT,OAAA,CAAAe,oBAAA,GAAAA,oBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_WixPatternsRouterState","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","WixPatternsRouterContext","exports","createContext","WixPatternsRouterProvider","history","children","routerState","useState","WixPatternsRouterState","useEffect","listen","location","state","setCurrentState","createElement","Provider","value","__self","__source","fileName","lineNumber","columnNumber","useWixPatternsRouter","useContext"],"sources":["../../../src/providers/WixPatternsRouterProvider.tsx"],"sourcesContent":["import React, { createContext, useContext, useEffect, useState } from 'react';\nimport { WixPatternsRouterState } from '../state/WixPatternsRouterState';\nimport { BrowserHistory } from 'history';\n\nexport const WixPatternsRouterContext =\n createContext<WixPatternsRouterState | null>(null);\n\nexport interface WixPatternsRouterProviderProps {\n history: BrowserHistory;\n children: React.ReactNode;\n}\n\nexport const WixPatternsRouterProvider = ({\n history,\n children,\n}: WixPatternsRouterProviderProps) => {\n const [routerState] = useState(() => new WixPatternsRouterState());\n\n useEffect(() => {\n history.listen(({ location }) => {\n if (location.state) {\n routerState.setCurrentState(location.state);\n }\n });\n }, []);\n\n return (\n <WixPatternsRouterContext.Provider value={routerState}>\n {children}\n </WixPatternsRouterContext.Provider>\n );\n};\n\nexport const useWixPatternsRouter = () => {\n const value = useContext(WixPatternsRouterContext);\n return value;\n};\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,uBAAA,GAAAD,OAAA;AAAyE,IAAAE,YAAA;AAAA,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAL,wBAAAK,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAGlE,MAAMW,wBAAwB,GAAAC,OAAA,CAAAD,wBAAA,gBACnC,IAAAE,oBAAa,EAAgC,IAAI,CAAC;AAO7C,MAAMC,yBAAyB,GAAGA,CAAC;EACxCC,OAAO;EACPC;AAC8B,CAAC,KAAK;EACpC,MAAM,CAACC,WAAW,CAAC,GAAG,IAAAC,eAAQ,EAAC,MAAM,IAAIC,8CAAsB,CAAC,CAAC,CAAC;EAElE,IAAAC,gBAAS,EAAC,MAAM;IACdL,OAAO,CAACM,MAAM,CAAC,CAAC;MAAEC;IAAS,CAAC,KAAK;MAC/B,IAAIA,QAAQ,CAACC,KAAK,EAAE;QAClBN,WAAW,CAACO,eAAe,CAACF,QAAQ,CAACC,KAAK,CAAC;MAC7C;IACF,CAAC,CAAC;EACJ,CAAC,EAAE,EAAE,CAAC;EAEN,oBACErC,MAAA,CAAAW,OAAA,CAAA4B,aAAA,CAACd,wBAAwB,CAACe,QAAQ;IAACC,KAAK,EAAEV,WAAY;IAAAW,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAxC,YAAA;MAAAyC,UAAA;MAAAC,YAAA;IAAA;EAAA,GACnDhB,QACgC,CAAC;AAExC,CAAC;AAACJ,OAAA,CAAAE,yBAAA,GAAAA,yBAAA;AAEK,MAAMmB,oBAAoB,GAAGA,CAAA,KAAM;EACxC,MAAMN,KAAK,GAAG,IAAAO,iBAAU,EAACvB,wBAAwB,CAAC;EAClD,OAAOgB,KAAK;AACd,CAAC;AAACf,OAAA,CAAAqB,oBAAA,GAAAA,oBAAA","ignoreList":[]}
@@ -16,6 +16,7 @@ class EntityPageState {
16
16
  (0, _defineProperty2.default)(this, "onSave", void 0);
17
17
  (0, _defineProperty2.default)(this, "saveSuccessToast", void 0);
18
18
  (0, _defineProperty2.default)(this, "saveErrorToast", void 0);
19
+ (0, _defineProperty2.default)(this, "transformEntityToCollectionItem", void 0);
19
20
  (0, _defineProperty2.default)(this, "_entity", null);
20
21
  (0, _defineProperty2.default)(this, "_form", void 0);
21
22
  (0, _defineProperty2.default)(this, "_parentPageId", void 0);
@@ -34,6 +35,7 @@ class EntityPageState {
34
35
  this.saveErrorToast = params.saveErrorToast;
35
36
  this._form = params.form;
36
37
  this._parentPageId = params.parentPageId;
38
+ this.transformEntityToCollectionItem = params.transformEntityToCollectionItem || (anEntity => anEntity);
37
39
  this._parentPath = params.parentPath;
38
40
  this.container = params.container;
39
41
  this.reportBI = this.container.createBILogger({
@@ -117,12 +119,18 @@ class EntityPageState {
117
119
  });
118
120
  this.navigateToParent();
119
121
  }
120
- navigateToParent() {
122
+ navigateToParent(updatedEntity) {
123
+ const entityString = updatedEntity ? JSON.stringify({
124
+ _updatedEntity: updatedEntity
125
+ }) : undefined;
121
126
  if (this._withinRouter) {
122
- this.container.navigate(this._parentPath);
127
+ this.container.navigate(this._parentPath, {
128
+ state: entityString
129
+ });
123
130
  } else {
124
131
  this.container.navigateTo({
125
- pageId: this._parentPageId
132
+ pageId: this._parentPageId,
133
+ appState: entityString
126
134
  });
127
135
  }
128
136
  }
@@ -177,6 +185,7 @@ class EntityPageState {
177
185
  bi
178
186
  } = this;
179
187
  submitTask.run(async () => {
188
+ let savedEntity;
180
189
  await form.handleSubmit(async () => {
181
190
  bi.reportButtonClick({
182
191
  ctaName: 'Save',
@@ -184,11 +193,12 @@ class EntityPageState {
184
193
  });
185
194
  try {
186
195
  if (this.isFormDirty) {
187
- await this.onSave({
196
+ const onSaveResult = await this.onSave({
188
197
  widgetsFormData: {
189
198
  ...extraFields
190
199
  }
191
200
  });
201
+ savedEntity = onSaveResult == null ? void 0 : onSaveResult.updatedEntity;
192
202
  }
193
203
  this._showSuccessToast();
194
204
  } catch (err) {
@@ -207,7 +217,8 @@ class EntityPageState {
207
217
  if (!form.formState.isSubmitSuccessful) {
208
218
  return;
209
219
  }
210
- this.navigateToParent();
220
+ const transformedItem = savedEntity && this.transformEntityToCollectionItem ? this.transformEntityToCollectionItem(savedEntity) : savedEntity;
221
+ this.navigateToParent(transformedItem);
211
222
  });
212
223
  await this.submitTask.status.promise;
213
224
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_bexCore","require","_mobx","_EntityPageStateBIReporter","_events","EntityPageState","constructor","params","_defineProperty2","default","TaskState","undefined","FormPageState","EventEmitter","fetch","onSave","saveSuccessToast","saveErrorToast","_form","form","_parentPageId","parentPageId","_parentPath","parentPath","container","reportBI","createBILogger","componentType","pageType","route","window","location","pathname","bi","EntityPageStateBIReporter","entityPageState","init","makeObservable","handleSubmit","action","isFetching","computed","_entity","observable","ref","setEntity","_isFormDirty","isFormDirty","withinRouter","_withinRouter","_checkPageParams","initTask","onBeforeUnload","onBeforeUnloadSubscription","event","formState","isSubmitSuccessful","preventDefault","reportOnBeforeUnload","runOnce","_this$bi$appLoaded","_this$bi","data","Promise","all","status","promise","entity","appLoaded","call","remove","retryFetch","newEntity","isLoading","isIdle","flag","_isSubmitSuccessful","formPage","isDirty","onCancel","reportButtonClick","ctaName","navigateToParent","navigate","navigateTo","pageId","_showErrorToast","err","e","_this$saveErrorToast","_this$container$showT","_this$container","errorToast","message","showTryAgain","tryAgain","showToast","type","biName","translate","code","uiType","text","onClick","reportSaveTryAgain","removeToastOnClick","_showSuccessToast","_this$saveSuccessToas","_this$container$showT2","_this$container2","submitTask","events","emit","isValid","extraFields","validate","run","widgetsFormData","errorMonitor","captureException","setError","Error","exports"],"sources":["../../../../src/state/EntityPage/EntityPageState.ts"],"sourcesContent":["import {\n FormPageState,\n ReportBI,\n TaskState,\n WixPatternsContainer,\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';\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 an optional message and a `tryAgain` flag, or it can directly return a string message.\n */\n saveErrorToast?: (\n err: unknown,\n ) => { message?: string; tryAgain?: boolean } | string;\n\n /**\n * An object representing the form state and methods, typically returned by a useForm hook.\n */\n form: UseFormReturn<V>;\n\n /**\n * An object representing the container, possibly for dependency injection or component management.\n */\n container: WixPatternsContainer;\n\n /**\n * A string representing the ID of the parent page.\n * Must be passed if not using Patterns Router\n */\n parentPageId?: string;\n\n /**\n * A string representing the path of the parent page.\n * Must be passed if using Patterns Router\n */\n parentPath?: string;\n}\n\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 initTask = new TaskState();\n readonly submitTask = new TaskState();\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\n _entity: T | null = null;\n private readonly _form: UseFormReturn<V>;\n private readonly _parentPageId?: string;\n private readonly _parentPath?: string;\n\n readonly container: WixPatternsContainer;\n readonly reportBI: ReportBI;\n readonly bi: EntityPageStateBIReporter<T, V>;\n\n _isSubmitSuccessful?: boolean = undefined;\n _isFormDirty = false;\n\n _withinRouter = false;\n\n readonly formPage = new FormPageState();\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._form = params.form;\n this._parentPageId = params.parentPageId;\n this._parentPath = params.parentPath;\n\n this.container = params.container;\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 isFetching: computed,\n _entity: observable.ref,\n setEntity: action,\n _isFormDirty: observable.ref,\n isFormDirty: computed,\n });\n }\n\n init({ withinRouter }: { withinRouter: boolean }) {\n this._withinRouter = withinRouter;\n this._checkPageParams();\n const { initTask, container } = this;\n const { onBeforeUnload } = container;\n\n const onBeforeUnloadSubscription = onBeforeUnload?.(\n action((event) => {\n const { form } = this;\n if (form.formState.isSubmitSuccessful || !this.isFormDirty) {\n return;\n }\n event.preventDefault();\n this.bi.reportOnBeforeUnload();\n }),\n );\n\n initTask.runOnce(async () => {\n const [data] = await Promise.all([\n this.fetch(),\n container.initTask.status.promise,\n ]);\n\n this.setEntity(data.entity ?? null);\n this.bi.appLoaded?.();\n });\n\n return () => {\n onBeforeUnloadSubscription?.remove();\n };\n }\n\n retryFetch() {\n this.initTask.runOnce();\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.initTask.status.isLoading || this.initTask.status.isIdle;\n }\n\n get form() {\n return this._form;\n }\n\n set isSubmitSuccessful(flag: boolean) {\n this._isSubmitSuccessful = flag;\n }\n\n set isFormDirty(flag: boolean) {\n this._isFormDirty = flag;\n }\n\n get isFormDirty() {\n return this._isFormDirty || this.formPage.isDirty;\n }\n\n onCancel() {\n this.bi.reportButtonClick({ ctaName: 'Cancel' });\n this.navigateToParent();\n }\n\n navigateToParent() {\n if (this._withinRouter) {\n this.container.navigate!(this._parentPath!);\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 const message =\n typeof errorToast === 'string' ? errorToast : errorToast?.message;\n const showTryAgain =\n typeof errorToast === 'string' ? true : errorToast?.tryAgain !== false;\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: showTryAgain\n ? {\n uiType: 'LINK',\n text: this.container.translate('cairo.toast.retry'),\n onClick: () => {\n this.bi.reportSaveTryAgain();\n this.handleSubmit(e);\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 async handleSubmit(e?: React.BaseSyntheticEvent) {\n if (this.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 { form, submitTask, bi } = this;\n\n submitTask.run(async () => {\n await form.handleSubmit(\n async () => {\n bi.reportButtonClick({ ctaName: 'Save', isValid: true });\n try {\n if (this.isFormDirty) {\n await this.onSave({\n widgetsFormData: { ...extraFields },\n });\n }\n this._showSuccessToast();\n } catch (err) {\n this._showErrorToast(err, e);\n this.container.errorMonitor.captureException(err);\n this.events.emit('saveError', err);\n form.setError('root.serverError', {}); // https://react-hook-form.com/docs/useform/seterror\n }\n },\n () => {\n bi.reportButtonClick({ ctaName: 'Save', isValid: false });\n }, // can be used to report validation errors\n )(e);\n\n if (!form.formState.isSubmitSuccessful) {\n return;\n }\n\n this.navigateToParent();\n });\n await this.submitTask.status.promise;\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\n if (!this.container.navigate) {\n throw new Error('navigate was not defined in Patterns Provider');\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","TaskState","undefined","FormPageState","EventEmitter","fetch","onSave","saveSuccessToast","saveErrorToast","_form","form","_parentPageId","parentPageId","transformEntityToCollectionItem","anEntity","_parentPath","parentPath","container","reportBI","createBILogger","componentType","pageType","route","window","location","pathname","bi","EntityPageStateBIReporter","entityPageState","init","makeObservable","handleSubmit","action","isFetching","computed","_entity","observable","ref","setEntity","_isFormDirty","isFormDirty","withinRouter","_withinRouter","_checkPageParams","initTask","onBeforeUnload","onBeforeUnloadSubscription","event","formState","isSubmitSuccessful","preventDefault","reportOnBeforeUnload","runOnce","_this$bi$appLoaded","_this$bi","data","Promise","all","status","promise","entity","appLoaded","call","remove","retryFetch","newEntity","isLoading","isIdle","flag","_isSubmitSuccessful","formPage","isDirty","onCancel","reportButtonClick","ctaName","navigateToParent","updatedEntity","entityString","JSON","stringify","_updatedEntity","navigate","state","navigateTo","pageId","appState","_showErrorToast","err","e","_this$saveErrorToast","_this$container$showT","_this$container","errorToast","message","showTryAgain","tryAgain","showToast","type","biName","translate","code","uiType","text","onClick","reportSaveTryAgain","removeToastOnClick","_showSuccessToast","_this$saveSuccessToas","_this$container$showT2","_this$container2","submitTask","events","emit","isValid","extraFields","validate","run","savedEntity","onSaveResult","widgetsFormData","errorMonitor","captureException","setError","transformedItem","Error","exports"],"sources":["../../../../src/state/EntityPage/EntityPageState.ts"],"sourcesContent":["import {\n FormPageState,\n ReportBI,\n TaskState,\n WixPatternsContainer,\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';\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 an optional message and a `tryAgain` flag, or it can directly return a string message.\n */\n saveErrorToast?: (\n err: unknown,\n ) => { message?: string; tryAgain?: boolean } | 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 /**\n * An object representing the form state and methods, typically returned by a useForm hook.\n */\n form: UseFormReturn<V>;\n\n /**\n * An object representing the container, possibly for dependency injection or component management.\n */\n container: WixPatternsContainer;\n\n /**\n * A string representing the ID of the parent page.\n * Must be passed if not using Patterns Router\n */\n parentPageId?: string;\n\n /**\n * A string representing the path of the parent page.\n * Must be passed if using Patterns Router\n */\n parentPath?: string;\n}\n\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 initTask = new TaskState();\n readonly submitTask = new TaskState();\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 _form: UseFormReturn<V>;\n private readonly _parentPageId?: string;\n private readonly _parentPath?: string;\n\n readonly container: WixPatternsContainer;\n readonly reportBI: ReportBI;\n readonly bi: EntityPageStateBIReporter<T, V>;\n\n _isSubmitSuccessful?: boolean = undefined;\n _isFormDirty = false;\n\n _withinRouter = false;\n\n readonly formPage = new FormPageState();\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._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.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 isFetching: computed,\n _entity: observable.ref,\n setEntity: action,\n _isFormDirty: observable.ref,\n isFormDirty: computed,\n });\n }\n\n init({ withinRouter }: { withinRouter: boolean }) {\n this._withinRouter = withinRouter;\n this._checkPageParams();\n const { initTask, container } = this;\n const { onBeforeUnload } = container;\n\n const onBeforeUnloadSubscription = onBeforeUnload?.(\n action((event) => {\n const { form } = this;\n if (form.formState.isSubmitSuccessful || !this.isFormDirty) {\n return;\n }\n event.preventDefault();\n this.bi.reportOnBeforeUnload();\n }),\n );\n\n initTask.runOnce(async () => {\n const [data] = await Promise.all([\n this.fetch(),\n container.initTask.status.promise,\n ]);\n\n this.setEntity(data.entity ?? null);\n this.bi.appLoaded?.();\n });\n\n return () => {\n onBeforeUnloadSubscription?.remove();\n };\n }\n\n retryFetch() {\n this.initTask.runOnce();\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.initTask.status.isLoading || this.initTask.status.isIdle;\n }\n\n get form() {\n return this._form;\n }\n\n set isSubmitSuccessful(flag: boolean) {\n this._isSubmitSuccessful = flag;\n }\n\n set isFormDirty(flag: boolean) {\n this._isFormDirty = flag;\n }\n\n get isFormDirty() {\n return this._isFormDirty || this.formPage.isDirty;\n }\n\n onCancel() {\n this.bi.reportButtonClick({ ctaName: 'Cancel' });\n this.navigateToParent();\n }\n\n navigateToParent(updatedEntity?: any) {\n const entityString = updatedEntity\n ? JSON.stringify({ _updatedEntity: updatedEntity })\n : undefined;\n if (this._withinRouter) {\n this.container.navigate!(this._parentPath!, { state: entityString });\n } else {\n this.container.navigateTo!({\n pageId: this._parentPageId!,\n appState: entityString,\n });\n }\n }\n\n _showErrorToast(err: any, e?: React.BaseSyntheticEvent) {\n const errorToast = this.saveErrorToast?.(err);\n const message =\n typeof errorToast === 'string' ? errorToast : errorToast?.message;\n const showTryAgain =\n typeof errorToast === 'string' ? true : errorToast?.tryAgain !== false;\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: showTryAgain\n ? {\n uiType: 'LINK',\n text: this.container.translate('cairo.toast.retry'),\n onClick: () => {\n this.bi.reportSaveTryAgain();\n this.handleSubmit(e);\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 async handleSubmit(e?: React.BaseSyntheticEvent) {\n if (this.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 { form, submitTask, bi } = this;\n\n submitTask.run(async () => {\n let savedEntity: T | undefined;\n await form.handleSubmit(\n async () => {\n bi.reportButtonClick({ ctaName: 'Save', isValid: true });\n try {\n if (this.isFormDirty) {\n const onSaveResult = await this.onSave({\n widgetsFormData: { ...extraFields },\n });\n savedEntity = onSaveResult?.updatedEntity;\n }\n this._showSuccessToast();\n } catch (err) {\n this._showErrorToast(err, e);\n this.container.errorMonitor.captureException(err);\n this.events.emit('saveError', err);\n form.setError('root.serverError', {}); // https://react-hook-form.com/docs/useform/seterror\n }\n },\n () => {\n bi.reportButtonClick({ ctaName: 'Save', isValid: false });\n }, // can be used to report validation errors\n )(e);\n\n if (!form.formState.isSubmitSuccessful) {\n return;\n }\n\n const transformedItem =\n savedEntity && this.transformEntityToCollectionItem\n ? this.transformEntityToCollectionItem(savedEntity)\n : savedEntity;\n this.navigateToParent(transformedItem);\n });\n await this.submitTask.status.promise;\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\n if (!this.container.navigate) {\n throw new Error('navigate was not defined in Patterns Provider');\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":[]}
@@ -4,10 +4,20 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  exports.__esModule = true;
5
5
  exports.WixPatternsRouterState = void 0;
6
6
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
7
+ var _mobx = require("mobx");
7
8
  var _getCollectionComponentUniqueId = require("../utils/getCollectionComponentUniqueId");
8
9
  class WixPatternsRouterState {
9
10
  constructor() {
10
11
  (0, _defineProperty2.default)(this, "stateRefs", new Map());
12
+ (0, _defineProperty2.default)(this, "currentState", null);
13
+ (0, _defineProperty2.default)(this, "isUsingCache", false);
14
+ (0, _mobx.makeObservable)(this, {
15
+ currentState: _mobx.observable,
16
+ setCurrentState: _mobx.action
17
+ });
18
+ }
19
+ setCurrentState(state) {
20
+ this.currentState = state;
11
21
  }
12
22
  saveState(state) {
13
23
  const uniqueId = (0, _getCollectionComponentUniqueId.getCollectionComponentUniqueId)(state);
@@ -1 +1 @@
1
- {"version":3,"names":["_getCollectionComponentUniqueId","require","WixPatternsRouterState","constructor","_defineProperty2","default","Map","saveState","state","uniqueId","getCollectionComponentUniqueId","stateRefs","set","exports"],"sources":["../../../src/state/WixPatternsRouterState.ts"],"sourcesContent":["import { getCollectionComponentUniqueId } from '../utils/getCollectionComponentUniqueId';\nimport { ICollectionComponentState } from './ICollectionComponentState';\n\nexport class WixPatternsRouterState {\n readonly stateRefs: Map<string, ICollectionComponentState> = new Map();\n\n saveState<T extends ICollectionComponentState>(state: T) {\n const uniqueId = getCollectionComponentUniqueId(state);\n this.stateRefs.set(uniqueId, state);\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,+BAAA,GAAAC,OAAA;AAGO,MAAMC,sBAAsB,CAAC;EAAAC,YAAA;IAAA,IAAAC,gBAAA,CAAAC,OAAA,qBAC2B,IAAIC,GAAG,CAAC,CAAC;EAAA;EAEtEC,SAASA,CAAsCC,KAAQ,EAAE;IACvD,MAAMC,QAAQ,GAAG,IAAAC,8DAA8B,EAACF,KAAK,CAAC;IACtD,IAAI,CAACG,SAAS,CAACC,GAAG,CAACH,QAAQ,EAAED,KAAK,CAAC;EACrC;AACF;AAACK,OAAA,CAAAX,sBAAA,GAAAA,sBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_mobx","require","_getCollectionComponentUniqueId","WixPatternsRouterState","constructor","_defineProperty2","default","Map","makeObservable","currentState","observable","setCurrentState","action","state","saveState","uniqueId","getCollectionComponentUniqueId","stateRefs","set","exports"],"sources":["../../../src/state/WixPatternsRouterState.ts"],"sourcesContent":["import { action, makeObservable, observable } from 'mobx';\nimport { getCollectionComponentUniqueId } from '../utils/getCollectionComponentUniqueId';\nimport { ICollectionComponentState } from './ICollectionComponentState';\n\nexport class WixPatternsRouterState {\n readonly stateRefs: Map<string, ICollectionComponentState> = new Map();\n currentState: unknown = null;\n isUsingCache = false;\n\n constructor() {\n makeObservable(this, {\n currentState: observable,\n setCurrentState: action,\n });\n }\n\n setCurrentState(state: unknown) {\n this.currentState = state;\n }\n\n saveState<T extends ICollectionComponentState>(state: T) {\n const uniqueId = getCollectionComponentUniqueId(state);\n this.stateRefs.set(uniqueId, state);\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,+BAAA,GAAAD,OAAA;AAGO,MAAME,sBAAsB,CAAC;EAKlCC,WAAWA,CAAA,EAAG;IAAA,IAAAC,gBAAA,CAAAC,OAAA,qBAJ+C,IAAIC,GAAG,CAAC,CAAC;IAAA,IAAAF,gBAAA,CAAAC,OAAA,wBAC9C,IAAI;IAAA,IAAAD,gBAAA,CAAAC,OAAA,wBACb,KAAK;IAGlB,IAAAE,oBAAc,EAAC,IAAI,EAAE;MACnBC,YAAY,EAAEC,gBAAU;MACxBC,eAAe,EAAEC;IACnB,CAAC,CAAC;EACJ;EAEAD,eAAeA,CAACE,KAAc,EAAE;IAC9B,IAAI,CAACJ,YAAY,GAAGI,KAAK;EAC3B;EAEAC,SAASA,CAAsCD,KAAQ,EAAE;IACvD,MAAME,QAAQ,GAAG,IAAAC,8DAA8B,EAACH,KAAK,CAAC;IACtD,IAAI,CAACI,SAAS,CAACC,GAAG,CAACH,QAAQ,EAAEF,KAAK,CAAC;EACrC;AACF;AAACM,OAAA,CAAAhB,sBAAA,GAAAA,sBAAA","ignoreList":[]}
@@ -1 +1 @@
1
- .Collapse200685492__root{transition-property:height;transition-timing-function:cubic-bezier(.4,0,.2,1)}.Collapse200685492__exit{height:0}.CollectionToolbar708153543__left{min-width:0}.CollectionToolbar708153543__left.CollectionToolbar708153543--expandable{flex:auto}.CollectionToolbar708153543__root .CollectionToolbar708153543__right{justify-content:flex-end!important;flex:auto}.CollectionToolbar708153543__root .CollectionToolbar708153543__right.CollectionToolbar708153543__fullWidth{margin-inline-start:0!important}.SearchOrCustomFilter4167917555__search{min-width:140px;max-width:240px;flex:1 0}.AutoCompleteReadonly3576403181__root.AutoCompleteReadonly3576403181--disableEditing{cursor:pointer}.AutoCompleteReadonly3576403181__root.AutoCompleteReadonly3576403181--disableEditing input{cursor:pointer}.ViewsDropdown1802984316__root{width:200px}.CustomFieldsViewWidgetSection2089949195__breakWord{overflow-wrap:break-word}.DragHandle2593738537__root{display:flex;align-items:center}.DragHandle2593738537__root:not(.DragHandle2593738537--disabled){cursor:grab;color:#a8caff}.DragHandle2593738537__root.DragHandle2593738537--disabled{color:#acafc4}.DragHandle2593738537__root:focus-visible:not(.DragHandle2593738537--disabled){outline:0;box-shadow:0 0 0 3px #a6d0ff}.DragHandle2593738537__root.DragHandle2593738537--disabled{pointer-events:none}.DragHandle2593738537__root.DragHandle2593738537--dragging:not(.DragHandle2593738537--disabled){cursor:grabbing}.Fade3783293778__root{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);opacity:1}.Fade3783293778__root.Fade3783293778--exit{opacity:0}.Heading1471626361__root{visibility:visible}.Heading1471626361__root.Heading1471626361--appearanceH2{font-size:28px!important;line-height:36px!important}.InputOverflow2531393618__root.InputOverflow2531393618--selected:not(.InputOverflow2531393618--focused) input::placeholder{color:#000624}.MaxHeightText257919231__root{opacity:1}.MaxHeightText257919231__root.MaxHeightText257919231--height24{line-height:24px}.MaxLines2343339277__root{overflow:hidden}.MaxLines2343339277__root.MaxLines2343339277--clamp{-webkit-box-orient:vertical;display:-webkit-box}.MultiBulkActionToolbar4222909596__root{min-width:0}.NestedTableRow591791413__firstLevel td{padding-top:18px!important;padding-bottom:18px!important}.NestedTableRow591791413__root:hover{background-color:#e7f0ff}.NestedTableRow591791413__root.NestedTableRow591791413--expandable{cursor:pointer}.NestedTableRow591791413__placeholder td{padding:0!important;width:100%}.NestedTableRow591791413__root:hover td:first-of-type::before,.NestedTableRow591791413__parentHovered td:first-of-type::before{content:"";position:absolute;top:0;bottom:0;left:0;width:2px;background-color:#5999ff}.PickerContent2543780596__root{display:flex}.PickerContentAdditionalStep1979828647__titles{display:flex;justify-content:center;flex:1 1 auto;overflow:hidden;flex-direction:column}.PickerContentAdditionalStep1979828647__suffix{display:flex;align-items:center;flex:0 0 auto;overflow:hidden}.PickerTableListItem95919896__root{box-sizing:border-box}.ScrollableContent1543107606__root.ScrollableContent1543107606--overflowY{overflow-y:auto}.ScrollableContent1543107606__root.ScrollableContent1543107606--overflowX{overflow-x:auto}.ScrollableContent1543107606__root.ScrollableContent1543107606--smooth{scroll-behavior:smooth}.SkeletonCard1155970813__headerLoading{display:block!important}.SlidingModal171974605__root{box-shadow:0 3px 24px 0 rgba(22,45,61,.18),0 8px 8px 0 rgba(22,45,61,.12);transition:transform .4s ease 0s;position:fixed;z-index:1}.TableVirtualHeader307686508__root{display:flex}.TabsFilter2685523472__root .TabsFilter2685523472__title{color:inherit!important}.ManageTagsModal1030186632__root{display:flex}.ToolbarItemBox3362106165__root{min-width:0}.ToolbarItemBox3362106165__root.ToolbarItemBox3362106165--removeStartPadding{margin-left:-24px}.ToolbarItemBox3362106165__root.ToolbarItemBox3362106165--expandable{flex:1 0}.common357767711__column{display:flex;flex-direction:column}.common357767711__fullHeight{height:100%;min-height:0}
1
+ .Collapse401033987__root{transition-property:height;transition-timing-function:cubic-bezier(.4,0,.2,1)}.Collapse401033987__exit{height:0}.CollectionToolbar1593236824__left{min-width:0}.CollectionToolbar1593236824__left.CollectionToolbar1593236824--expandable{flex:auto}.CollectionToolbar1593236824__root .CollectionToolbar1593236824__right{justify-content:flex-end!important;flex:auto}.CollectionToolbar1593236824__root .CollectionToolbar1593236824__right.CollectionToolbar1593236824__fullWidth{margin-inline-start:0!important}.SearchOrCustomFilter3359407384__search{min-width:140px;max-width:240px;flex:1 0}.AutoCompleteReadonly1245389005__root.AutoCompleteReadonly1245389005--disableEditing{cursor:pointer}.AutoCompleteReadonly1245389005__root.AutoCompleteReadonly1245389005--disableEditing input{cursor:pointer}.ViewsDropdown1392337707__root{width:200px}.CustomFieldsViewWidgetSection2355713834__breakWord{overflow-wrap:break-word}.DragHandle1811221332__root{display:flex;align-items:center}.DragHandle1811221332__root:not(.DragHandle1811221332--disabled){cursor:grab;color:#a8caff}.DragHandle1811221332__root.DragHandle1811221332--disabled{color:#acafc4}.DragHandle1811221332__root:focus-visible:not(.DragHandle1811221332--disabled){outline:0;box-shadow:0 0 0 3px #a6d0ff}.DragHandle1811221332__root.DragHandle1811221332--disabled{pointer-events:none}.DragHandle1811221332__root.DragHandle1811221332--dragging:not(.DragHandle1811221332--disabled){cursor:grabbing}.Fade1123890278__root{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);opacity:1}.Fade1123890278__root.Fade1123890278--exit{opacity:0}.Heading584654544__root{visibility:visible}.Heading584654544__root.Heading584654544--appearanceH2{font-size:28px!important;line-height:36px!important}.InputOverflow2447034123__root.InputOverflow2447034123--selected:not(.InputOverflow2447034123--focused) input::placeholder{color:#000624}.MaxHeightText1415250991__root{opacity:1}.MaxHeightText1415250991__root.MaxHeightText1415250991--height24{line-height:24px}.MaxLines3756215714__root{overflow:hidden}.MaxLines3756215714__root.MaxLines3756215714--clamp{-webkit-box-orient:vertical;display:-webkit-box}.MultiBulkActionToolbar2474517587__root{min-width:0}.NestedTableRow962718213__firstLevel td{padding-top:18px!important;padding-bottom:18px!important}.NestedTableRow962718213__root:hover{background-color:#e7f0ff}.NestedTableRow962718213__root.NestedTableRow962718213--expandable{cursor:pointer}.NestedTableRow962718213__placeholder td{padding:0!important;width:100%}.NestedTableRow962718213__root:hover td:first-of-type::before,.NestedTableRow962718213__parentHovered td:first-of-type::before{content:"";position:absolute;top:0;bottom:0;left:0;width:2px;background-color:#5999ff}.PickerContent1362446465__root{display:flex}.PickerContentAdditionalStep3391094618__titles{display:flex;justify-content:center;flex:1 1 auto;overflow:hidden;flex-direction:column}.PickerContentAdditionalStep3391094618__suffix{display:flex;align-items:center;flex:0 0 auto;overflow:hidden}.PickerTableListItem609232411__root{box-sizing:border-box}.ScrollableContent2983680219__root.ScrollableContent2983680219--overflowY{overflow-y:auto}.ScrollableContent2983680219__root.ScrollableContent2983680219--overflowX{overflow-x:auto}.ScrollableContent2983680219__root.ScrollableContent2983680219--smooth{scroll-behavior:smooth}.SkeletonCard3875076072__headerLoading{display:block!important}.SlidingModal3158838121__root{box-shadow:0 3px 24px 0 rgba(22,45,61,.18),0 8px 8px 0 rgba(22,45,61,.12);transition:transform .4s ease 0s;position:fixed;z-index:1}.TableVirtualHeader427809860__root{display:flex}.TabsFilter1910146209__root .TabsFilter1910146209__title{color:inherit!important}.ManageTagsModal1588379874__root{display:flex}.ToolbarItemBox1469399201__root{min-width:0}.ToolbarItemBox1469399201__root.ToolbarItemBox1469399201--removeStartPadding{margin-left:-24px}.ToolbarItemBox1469399201__root.ToolbarItemBox1469399201--expandable{flex:1 0}.common2751232590__column{display:flex;flex-direction:column}.common2751232590__fullHeight{height:100%;min-height:0}
@@ -140,6 +140,7 @@ function CairoTestApp({
140
140
  }
141
141
  });
142
142
  child = /*#__PURE__*/_react.default.createElement(_WixPatternsRouterProvider.WixPatternsRouterProvider, {
143
+ history: routerParams.history,
143
144
  __self: this,
144
145
  __source: {
145
146
  fileName: _jsxFileName,