@wix/patterns 1.378.0 → 1.380.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 (649) hide show
  1. package/dist/cjs/components/CardContainer/CardContainer.st.css.js +2 -2
  2. package/dist/cjs/components/CardContainer/CardContainer.st.css.js.map +1 -1
  3. package/dist/cjs/components/Collapse/Collapse.st.css.js +3 -3
  4. package/dist/cjs/components/Collapse/Collapse.st.css.js.map +1 -1
  5. package/dist/cjs/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
  6. package/dist/cjs/components/CollectionPageNew/CollectionPage.st.css.js.map +1 -1
  7. package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +3 -3
  8. package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js.map +1 -1
  9. package/dist/cjs/components/CollectionTable/CollectionTable.js +14 -16
  10. package/dist/cjs/components/CollectionTable/CollectionTable.js.map +1 -1
  11. package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js +2 -2
  12. package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js.map +1 -1
  13. package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.js +14 -10
  14. package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.js.map +1 -1
  15. package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.st.css +12 -0
  16. package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.st.css.js +22 -0
  17. package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.st.css.js.map +1 -0
  18. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js +5 -5
  19. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js.map +1 -1
  20. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.uni.driver.js +1 -1
  21. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.uni.driver.js.map +1 -1
  22. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +4 -4
  23. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
  24. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  25. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
  26. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  27. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
  28. package/dist/cjs/components/CustomColumnsPanel/ColumnListTableListItem.js +14 -15
  29. package/dist/cjs/components/CustomColumnsPanel/ColumnListTableListItem.js.map +1 -1
  30. package/dist/cjs/components/CustomColumnsPanel/ColumnsList.js +8 -10
  31. package/dist/cjs/components/CustomColumnsPanel/ColumnsList.js.map +1 -1
  32. package/dist/cjs/components/CustomColumnsPanel/CustomColumnsPanel.js +13 -26
  33. package/dist/cjs/components/CustomColumnsPanel/CustomColumnsPanel.js.map +1 -1
  34. package/dist/cjs/components/DragHandle/DragHandle.st.css.js +2 -2
  35. package/dist/cjs/components/DragHandle/DragHandle.st.css.js.map +1 -1
  36. package/dist/cjs/components/EditableTable/AddItemRow.js +43 -0
  37. package/dist/cjs/components/EditableTable/AddItemRow.js.map +1 -0
  38. package/dist/cjs/components/EditableTable/EditableCell.js +14 -7
  39. package/dist/cjs/components/EditableTable/EditableCell.js.map +1 -1
  40. package/dist/cjs/components/EditableTable/EditableCell.st.css +17 -3
  41. package/dist/cjs/components/EditableTable/EditableCell.st.css.js +3 -3
  42. package/dist/cjs/components/EditableTable/EditableCell.st.css.js.map +1 -1
  43. package/dist/cjs/components/EditableTable/EditableTable.js +22 -6
  44. package/dist/cjs/components/EditableTable/EditableTable.js.map +1 -1
  45. package/dist/cjs/components/EditableTable/EditableTable.uni.driver.js +2 -0
  46. package/dist/cjs/components/EditableTable/EditableTable.uni.driver.js.map +1 -1
  47. package/dist/cjs/components/EditableTable/HeaderActionsPopover.st.css.js +2 -2
  48. package/dist/cjs/components/EditableTable/HeaderActionsPopover.st.css.js.map +1 -1
  49. package/dist/cjs/components/EditableTable/cellTypes/CellViewLayout.st.css.js +2 -2
  50. package/dist/cjs/components/EditableTable/cellTypes/CellViewLayout.st.css.js.map +1 -1
  51. package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js +3 -3
  52. package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js.map +1 -1
  53. package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js +3 -3
  54. package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js.map +1 -1
  55. package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js +3 -3
  56. package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js.map +1 -1
  57. package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
  58. package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js.map +1 -1
  59. package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js +3 -3
  60. package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js.map +1 -1
  61. package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
  62. package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js.map +1 -1
  63. package/dist/cjs/components/EditableTable/cellTypes/image/Edit.js +35 -0
  64. package/dist/cjs/components/EditableTable/cellTypes/image/Edit.js.map +1 -0
  65. package/dist/cjs/components/EditableTable/cellTypes/image/Edit.uni.driver.js +16 -0
  66. package/dist/cjs/components/EditableTable/cellTypes/image/Edit.uni.driver.js.map +1 -0
  67. package/dist/cjs/components/EditableTable/cellTypes/image/View.js +22 -0
  68. package/dist/cjs/components/EditableTable/cellTypes/image/View.js.map +1 -0
  69. package/dist/cjs/components/EditableTable/cellTypes/image/View.uni.driver.js +16 -0
  70. package/dist/cjs/components/EditableTable/cellTypes/image/View.uni.driver.js.map +1 -0
  71. package/dist/cjs/components/EditableTable/cellTypes/image/index.js +22 -0
  72. package/dist/cjs/components/EditableTable/cellTypes/image/index.js.map +1 -0
  73. package/dist/cjs/components/EditableTable/cellTypes/index.js +3 -1
  74. package/dist/cjs/components/EditableTable/cellTypes/index.js.map +1 -1
  75. package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js +3 -3
  76. package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js.map +1 -1
  77. package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js +3 -3
  78. package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js.map +1 -1
  79. package/dist/cjs/components/EditableTable/cellTypes/object/Edit.st.css.js +3 -3
  80. package/dist/cjs/components/EditableTable/cellTypes/object/Edit.st.css.js.map +1 -1
  81. package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
  82. package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js.map +1 -1
  83. package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js +3 -3
  84. package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js.map +1 -1
  85. package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js +4 -4
  86. package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js.map +1 -1
  87. package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js +2 -2
  88. package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js.map +1 -1
  89. package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js +3 -3
  90. package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js.map +1 -1
  91. package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js +5 -5
  92. package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js.map +1 -1
  93. package/dist/cjs/components/EditableTable/types.js +5 -0
  94. package/dist/cjs/components/EditableTable/types.js.map +1 -1
  95. package/dist/cjs/components/EditableTable/useAddRow.js +35 -0
  96. package/dist/cjs/components/EditableTable/useAddRow.js.map +1 -0
  97. package/dist/cjs/components/EditableTable/useCellFocusAndEditing.js +22 -7
  98. package/dist/cjs/components/EditableTable/useCellFocusAndEditing.js.map +1 -1
  99. package/dist/cjs/components/EditableTable/useClearFocusOnBlur.js +6 -0
  100. package/dist/cjs/components/EditableTable/useClearFocusOnBlur.js.map +1 -1
  101. package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js +2 -2
  102. package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js.map +1 -1
  103. package/dist/cjs/components/Fade/Fade.st.css.js +2 -2
  104. package/dist/cjs/components/Fade/Fade.st.css.js.map +1 -1
  105. package/dist/cjs/components/Heading/Heading.st.css.js +2 -2
  106. package/dist/cjs/components/Heading/Heading.st.css.js.map +1 -1
  107. package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js +3 -3
  108. package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js.map +1 -1
  109. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js +2 -2
  110. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
  111. package/dist/cjs/components/LayoutSwitch/LayoutSwitch.js +172 -0
  112. package/dist/cjs/components/LayoutSwitch/LayoutSwitch.js.map +1 -0
  113. package/dist/cjs/components/LayoutSwitch/LayoutSwitch.uni.driver.js +33 -0
  114. package/dist/cjs/components/LayoutSwitch/LayoutSwitch.uni.driver.js.map +1 -0
  115. package/dist/cjs/components/LayoutSwitch/index.js +10 -0
  116. package/dist/cjs/components/LayoutSwitch/index.js.map +1 -0
  117. package/dist/cjs/components/LayoutSwitchButton/LayoutSwitchButton.js +108 -0
  118. package/dist/cjs/components/LayoutSwitchButton/LayoutSwitchButton.js.map +1 -0
  119. package/dist/cjs/components/LayoutSwitchButton/index.js +10 -0
  120. package/dist/cjs/components/LayoutSwitchButton/index.js.map +1 -0
  121. package/dist/cjs/components/LayoutSwitchButton/layoutConfig.js +44 -0
  122. package/dist/cjs/components/LayoutSwitchButton/layoutConfig.js.map +1 -0
  123. package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js +3 -3
  124. package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js.map +1 -1
  125. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  126. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
  127. package/dist/cjs/components/MaxLines/MaxLines.st.css.js +2 -2
  128. package/dist/cjs/components/MaxLines/MaxLines.st.css.js.map +1 -1
  129. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +5 -5
  130. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
  131. package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  132. package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
  133. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js +5 -5
  134. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
  135. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
  136. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
  137. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
  138. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
  139. package/dist/cjs/components/PickerContent/PickerContent.st.css.js +2 -2
  140. package/dist/cjs/components/PickerContent/PickerContent.st.css.js.map +1 -1
  141. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js +4 -4
  142. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
  143. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  144. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
  145. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  146. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
  147. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js +3 -3
  148. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
  149. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js +2 -2
  150. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
  151. package/dist/cjs/components/TableGridSwitch/TableGridSwitch.js +25 -62
  152. package/dist/cjs/components/TableGridSwitch/TableGridSwitch.js.map +1 -1
  153. package/dist/cjs/components/TableGridSwitch/TableGridSwitch.uni.driver.js +2 -2
  154. package/dist/cjs/components/TableGridSwitch/TableGridSwitch.uni.driver.js.map +1 -1
  155. package/dist/cjs/components/TableGridSwitchButton/TableGridSwitchButton.js +12 -119
  156. package/dist/cjs/components/TableGridSwitchButton/TableGridSwitchButton.js.map +1 -1
  157. package/dist/cjs/components/TableGridSwitchButton/TableGridSwitchButton.uni.driver.js +2 -2
  158. package/dist/cjs/components/TableGridSwitchButton/TableGridSwitchButton.uni.driver.js.map +1 -1
  159. package/dist/cjs/components/TableGridSwitchButton/layoutConfig.js +2 -28
  160. package/dist/cjs/components/TableGridSwitchButton/layoutConfig.js.map +1 -1
  161. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js +3 -3
  162. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
  163. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  164. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
  165. package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
  166. package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js.map +1 -1
  167. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  168. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
  169. package/dist/cjs/components/common.st.css.js +4 -4
  170. package/dist/cjs/components/common.st.css.js.map +1 -1
  171. package/dist/cjs/exports/testkit/unidriver.js +3 -1
  172. package/dist/cjs/exports/testkit/unidriver.js.map +1 -1
  173. package/dist/cjs/hooks/useCollectionTableResize.js +4 -9
  174. package/dist/cjs/hooks/useCollectionTableResize.js.map +1 -1
  175. package/dist/cjs/hooks/useEntityPage.js.map +1 -1
  176. package/dist/cjs/hooks/useLayoutSwitchCollection.js +31 -0
  177. package/dist/cjs/hooks/useLayoutSwitchCollection.js.map +1 -0
  178. package/dist/cjs/index.js +35 -0
  179. package/dist/cjs/index.js.map +1 -1
  180. package/dist/cjs/model/view.js.map +1 -1
  181. package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
  182. package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js.map +1 -1
  183. package/dist/cjs/state/CustomColumnsState.js +17 -0
  184. package/dist/cjs/state/CustomColumnsState.js.map +1 -1
  185. package/dist/cjs/state/EditableTable/CellInteractionState.js.map +1 -1
  186. package/dist/cjs/state/EditableTable/EditableTableState.js +25 -7
  187. package/dist/cjs/state/EditableTable/EditableTableState.js.map +1 -1
  188. package/dist/cjs/state/EditableTable/MutationState.js +1 -0
  189. package/dist/cjs/state/EditableTable/MutationState.js.map +1 -1
  190. package/dist/cjs/state/EditableTable/types.js.map +1 -1
  191. package/dist/cjs/state/EntityPage/EntityPageFieldsState.js +142 -0
  192. package/dist/cjs/state/EntityPage/EntityPageFieldsState.js.map +1 -0
  193. package/dist/cjs/state/EntityPage/EntityPageState.js +28 -1
  194. package/dist/cjs/state/EntityPage/EntityPageState.js.map +1 -1
  195. package/dist/cjs/state/EntityPage/index.js.map +1 -1
  196. package/dist/cjs/state/FormPage/FormPageHeader.st.css.js +2 -2
  197. package/dist/cjs/state/FormPage/FormPageHeader.st.css.js.map +1 -1
  198. package/dist/cjs/state/ILayoutSwitchState.js +4 -0
  199. package/dist/cjs/state/ILayoutSwitchState.js.map +1 -0
  200. package/dist/cjs/state/LayoutSwitchState.js +95 -0
  201. package/dist/cjs/state/LayoutSwitchState.js.map +1 -0
  202. package/dist/cjs/state/TableGridSwitchFoldersState.js +2 -1
  203. package/dist/cjs/state/TableGridSwitchFoldersState.js.map +1 -1
  204. package/dist/cjs/state/TableGridSwitchState.js +2 -1
  205. package/dist/cjs/state/TableGridSwitchState.js.map +1 -1
  206. package/dist/cjs/state/ViewTypeState.js +7 -3
  207. package/dist/cjs/state/ViewTypeState.js.map +1 -1
  208. package/dist/cjs/styles.global.css +1 -1
  209. package/dist/cjs/test-utils/CairoTestApp.js +21 -29
  210. package/dist/cjs/test-utils/CairoTestApp.js.map +1 -1
  211. package/dist/cjs/testkit/jsdom.js +3 -1
  212. package/dist/cjs/testkit/jsdom.js.map +1 -1
  213. package/dist/cjs/version.js +1 -1
  214. package/dist/cjs/version.js.map +1 -1
  215. package/dist/docs/View.md +1 -1
  216. package/dist/docs/index.json +18 -18
  217. package/dist/docs/useEntityPage.md +0 -1
  218. package/dist/esm/components/CardContainer/CardContainer.st.css.js +2 -2
  219. package/dist/esm/components/CardContainer/CardContainer.st.css.js.map +1 -1
  220. package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
  221. package/dist/esm/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
  222. package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +2 -2
  223. package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js.map +1 -1
  224. package/dist/esm/components/CollectionTable/CollectionTable.js +7 -6
  225. package/dist/esm/components/CollectionTable/CollectionTable.js.map +1 -1
  226. package/dist/esm/components/CollectionTable/CollectionTable.st.css.js +2 -2
  227. package/dist/esm/components/CollectionTable/CollectionTable.st.css.js.map +1 -1
  228. package/dist/esm/components/CollectionTable/CollectionTableWSRTable.js +3 -2
  229. package/dist/esm/components/CollectionTable/CollectionTableWSRTable.js.map +1 -1
  230. package/dist/esm/components/CollectionTable/CollectionTableWSRTable.st.css +12 -0
  231. package/dist/esm/components/CollectionTable/CollectionTableWSRTable.st.css.js +15 -0
  232. package/dist/esm/components/CollectionTable/CollectionTableWSRTable.st.css.js.map +1 -0
  233. package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
  234. package/dist/esm/components/CollectionToolbar/CollectionToolbar.uni.driver.js +1 -1
  235. package/dist/esm/components/CollectionToolbar/CollectionToolbar.uni.driver.js.map +1 -1
  236. package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
  237. package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  238. package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
  239. package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  240. package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
  241. package/dist/esm/components/CustomColumnsPanel/ColumnListTableListItem.js +2 -3
  242. package/dist/esm/components/CustomColumnsPanel/ColumnListTableListItem.js.map +1 -1
  243. package/dist/esm/components/CustomColumnsPanel/ColumnsList.js +8 -4
  244. package/dist/esm/components/CustomColumnsPanel/ColumnsList.js.map +1 -1
  245. package/dist/esm/components/CustomColumnsPanel/CustomColumnsPanel.js +3 -13
  246. package/dist/esm/components/CustomColumnsPanel/CustomColumnsPanel.js.map +1 -1
  247. package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
  248. package/dist/esm/components/DragHandle/DragHandle.st.css.js.map +1 -1
  249. package/dist/esm/components/EditableTable/AddItemRow.js +14 -0
  250. package/dist/esm/components/EditableTable/AddItemRow.js.map +1 -0
  251. package/dist/esm/components/EditableTable/EditableCell.js +14 -2
  252. package/dist/esm/components/EditableTable/EditableCell.js.map +1 -1
  253. package/dist/esm/components/EditableTable/EditableCell.st.css +17 -3
  254. package/dist/esm/components/EditableTable/EditableCell.st.css.js +2 -2
  255. package/dist/esm/components/EditableTable/EditableCell.st.css.js.map +1 -1
  256. package/dist/esm/components/EditableTable/EditableTable.js +4 -1
  257. package/dist/esm/components/EditableTable/EditableTable.js.map +1 -1
  258. package/dist/esm/components/EditableTable/EditableTable.uni.driver.js +3 -1
  259. package/dist/esm/components/EditableTable/EditableTable.uni.driver.js.map +1 -1
  260. package/dist/esm/components/EditableTable/HeaderActionsPopover.st.css.js +2 -2
  261. package/dist/esm/components/EditableTable/HeaderActionsPopover.st.css.js.map +1 -1
  262. package/dist/esm/components/EditableTable/cellTypes/CellViewLayout.st.css.js +2 -2
  263. package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.st.css.js +2 -2
  264. package/dist/esm/components/EditableTable/cellTypes/boolean/View.st.css.js +2 -2
  265. package/dist/esm/components/EditableTable/cellTypes/date/Edit.st.css.js +2 -2
  266. package/dist/esm/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
  267. package/dist/esm/components/EditableTable/cellTypes/email/Edit.st.css.js +2 -2
  268. package/dist/esm/components/EditableTable/cellTypes/email/Edit.st.css.js.map +1 -1
  269. package/dist/esm/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
  270. package/dist/esm/components/EditableTable/cellTypes/image/Edit.js +7 -0
  271. package/dist/esm/components/EditableTable/cellTypes/image/Edit.js.map +1 -0
  272. package/dist/esm/components/EditableTable/cellTypes/image/Edit.uni.driver.js +12 -0
  273. package/dist/esm/components/EditableTable/cellTypes/image/Edit.uni.driver.js.map +1 -0
  274. package/dist/esm/components/EditableTable/cellTypes/image/View.js +4 -0
  275. package/dist/esm/components/EditableTable/cellTypes/image/View.js.map +1 -0
  276. package/dist/esm/components/EditableTable/cellTypes/image/View.uni.driver.js +12 -0
  277. package/dist/esm/components/EditableTable/cellTypes/image/View.uni.driver.js.map +1 -0
  278. package/dist/esm/components/EditableTable/cellTypes/image/index.js +17 -0
  279. package/dist/esm/components/EditableTable/cellTypes/image/index.js.map +1 -0
  280. package/dist/esm/components/EditableTable/cellTypes/index.js +3 -1
  281. package/dist/esm/components/EditableTable/cellTypes/index.js.map +1 -1
  282. package/dist/esm/components/EditableTable/cellTypes/number/Edit.st.css.js +2 -2
  283. package/dist/esm/components/EditableTable/cellTypes/number/View.st.css.js +2 -2
  284. package/dist/esm/components/EditableTable/cellTypes/number/View.st.css.js.map +1 -1
  285. package/dist/esm/components/EditableTable/cellTypes/object/Edit.st.css.js +2 -2
  286. package/dist/esm/components/EditableTable/cellTypes/object/Edit.st.css.js.map +1 -1
  287. package/dist/esm/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
  288. package/dist/esm/components/EditableTable/cellTypes/object/View.st.css.js.map +1 -1
  289. package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css.js +2 -2
  290. package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css.js.map +1 -1
  291. package/dist/esm/components/EditableTable/cellTypes/text/Edit.st.css.js +2 -2
  292. package/dist/esm/components/EditableTable/cellTypes/text/View.st.css.js +2 -2
  293. package/dist/esm/components/EditableTable/cellTypes/url/Edit.st.css.js +2 -2
  294. package/dist/esm/components/EditableTable/cellTypes/url/Edit.st.css.js.map +1 -1
  295. package/dist/esm/components/EditableTable/cellTypes/url/View.st.css.js +2 -2
  296. package/dist/esm/components/EditableTable/types.js.map +1 -1
  297. package/dist/esm/components/EditableTable/useAddRow.js +28 -0
  298. package/dist/esm/components/EditableTable/useAddRow.js.map +1 -0
  299. package/dist/esm/components/EditableTable/useCellFocusAndEditing.js +17 -3
  300. package/dist/esm/components/EditableTable/useCellFocusAndEditing.js.map +1 -1
  301. package/dist/esm/components/EditableTable/useClearFocusOnBlur.js +6 -0
  302. package/dist/esm/components/EditableTable/useClearFocusOnBlur.js.map +1 -1
  303. package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js +2 -2
  304. package/dist/esm/components/Fade/Fade.st.css.js +2 -2
  305. package/dist/esm/components/Heading/Heading.st.css.js +2 -2
  306. package/dist/esm/components/Heading/Heading.st.css.js.map +1 -1
  307. package/dist/esm/components/ImportButton/ImportStepUpload.st.css.js +2 -2
  308. package/dist/esm/components/InputOverflow/InputOverflow.st.css.js +2 -2
  309. package/dist/esm/components/LayoutSwitch/LayoutSwitch.js +67 -0
  310. package/dist/esm/components/LayoutSwitch/LayoutSwitch.js.map +1 -0
  311. package/dist/esm/components/LayoutSwitch/LayoutSwitch.uni.driver.js +28 -0
  312. package/dist/esm/components/LayoutSwitch/LayoutSwitch.uni.driver.js.map +1 -0
  313. package/dist/esm/components/LayoutSwitch/index.js +2 -0
  314. package/dist/esm/components/LayoutSwitch/index.js.map +1 -0
  315. package/dist/esm/components/LayoutSwitchButton/LayoutSwitchButton.js +38 -0
  316. package/dist/esm/components/LayoutSwitchButton/LayoutSwitchButton.js.map +1 -0
  317. package/dist/esm/components/LayoutSwitchButton/index.js +2 -0
  318. package/dist/esm/components/LayoutSwitchButton/index.js.map +1 -0
  319. package/dist/esm/components/LayoutSwitchButton/layoutConfig.js +17 -0
  320. package/dist/esm/components/LayoutSwitchButton/layoutConfig.js.map +1 -0
  321. package/dist/esm/components/LoadingRow/LoadingRow.st.css.js +3 -3
  322. package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  323. package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
  324. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
  325. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
  326. package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  327. package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
  328. package/dist/esm/components/NestedTable/NestedTableRow.st.css.js +2 -2
  329. package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
  330. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
  331. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
  332. package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
  333. package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js +2 -2
  334. package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  335. package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  336. package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js +2 -2
  337. package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
  338. package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +2 -2
  339. package/dist/esm/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
  340. package/dist/esm/components/TableGridSwitch/TableGridSwitch.js +20 -17
  341. package/dist/esm/components/TableGridSwitch/TableGridSwitch.js.map +1 -1
  342. package/dist/esm/components/TableGridSwitch/TableGridSwitch.uni.driver.js +2 -2
  343. package/dist/esm/components/TableGridSwitch/TableGridSwitch.uni.driver.js.map +1 -1
  344. package/dist/esm/components/TableGridSwitchButton/TableGridSwitchButton.js +4 -40
  345. package/dist/esm/components/TableGridSwitchButton/TableGridSwitchButton.js.map +1 -1
  346. package/dist/esm/components/TableGridSwitchButton/TableGridSwitchButton.uni.driver.js +6 -2
  347. package/dist/esm/components/TableGridSwitchButton/TableGridSwitchButton.uni.driver.js.map +1 -1
  348. package/dist/esm/components/TableGridSwitchButton/layoutConfig.js +1 -12
  349. package/dist/esm/components/TableGridSwitchButton/layoutConfig.js.map +1 -1
  350. package/dist/esm/components/TabsFilter/TabsFilter.st.css.js +2 -2
  351. package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  352. package/dist/esm/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
  353. package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  354. package/dist/esm/components/common.st.css.js +2 -2
  355. package/dist/esm/exports/testkit/unidriver.js +1 -0
  356. package/dist/esm/exports/testkit/unidriver.js.map +1 -1
  357. package/dist/esm/hooks/useCollectionTableResize.js +7 -8
  358. package/dist/esm/hooks/useCollectionTableResize.js.map +1 -1
  359. package/dist/esm/hooks/useEntityPage.js.map +1 -1
  360. package/dist/esm/hooks/useLayoutSwitchCollection.js +28 -0
  361. package/dist/esm/hooks/useLayoutSwitchCollection.js.map +1 -0
  362. package/dist/esm/index.js +5 -0
  363. package/dist/esm/index.js.map +1 -1
  364. package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
  365. package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js.map +1 -1
  366. package/dist/esm/state/CustomColumnsState.js +18 -1
  367. package/dist/esm/state/CustomColumnsState.js.map +1 -1
  368. package/dist/esm/state/EditableTable/CellInteractionState.js.map +1 -1
  369. package/dist/esm/state/EditableTable/EditableTableState.js +25 -7
  370. package/dist/esm/state/EditableTable/EditableTableState.js.map +1 -1
  371. package/dist/esm/state/EditableTable/MutationState.js +1 -0
  372. package/dist/esm/state/EditableTable/MutationState.js.map +1 -1
  373. package/dist/esm/state/EntityPage/EntityPageFieldsState.js +126 -0
  374. package/dist/esm/state/EntityPage/EntityPageFieldsState.js.map +1 -0
  375. package/dist/esm/state/EntityPage/EntityPageState.js +22 -0
  376. package/dist/esm/state/EntityPage/EntityPageState.js.map +1 -1
  377. package/dist/esm/state/EntityPage/index.js.map +1 -1
  378. package/dist/esm/state/FormPage/FormPageHeader.st.css.js +2 -2
  379. package/dist/esm/state/FormPage/FormPageHeader.st.css.js.map +1 -1
  380. package/dist/esm/state/ILayoutSwitchState.js +2 -0
  381. package/dist/esm/state/ILayoutSwitchState.js.map +1 -0
  382. package/dist/esm/state/LayoutSwitchState.js +88 -0
  383. package/dist/esm/state/LayoutSwitchState.js.map +1 -0
  384. package/dist/esm/state/TableGridSwitchFoldersState.js +1 -0
  385. package/dist/esm/state/TableGridSwitchFoldersState.js.map +1 -1
  386. package/dist/esm/state/TableGridSwitchState.js +1 -0
  387. package/dist/esm/state/TableGridSwitchState.js.map +1 -1
  388. package/dist/esm/state/ViewTypeState.js +8 -3
  389. package/dist/esm/state/ViewTypeState.js.map +1 -1
  390. package/dist/esm/styles.global.css +1 -1
  391. package/dist/esm/test-utils/CairoTestApp.js +1 -3
  392. package/dist/esm/test-utils/CairoTestApp.js.map +1 -1
  393. package/dist/esm/testkit/jsdom.js +2 -0
  394. package/dist/esm/testkit/jsdom.js.map +1 -1
  395. package/dist/esm/version.js +1 -1
  396. package/dist/types/components/CardContainer/CardContainer.st.css.d.ts.map +1 -1
  397. package/dist/types/components/CollectionSectionHeader/CollectionSectionHeader.st.css.d.ts.map +1 -1
  398. package/dist/types/components/CollectionTable/CollectionTable.d.ts +1 -0
  399. package/dist/types/components/CollectionTable/CollectionTable.d.ts.map +1 -1
  400. package/dist/types/components/CollectionTable/CollectionTable.st.css.d.ts.map +1 -1
  401. package/dist/types/components/CollectionTable/CollectionTable.uni.driver.d.ts +38 -40
  402. package/dist/types/components/CollectionTable/CollectionTable.uni.driver.d.ts.map +1 -1
  403. package/dist/types/components/CollectionTable/CollectionTableWSRTable.d.ts.map +1 -1
  404. package/dist/types/components/CollectionTable/CollectionTableWSRTable.st.css.d.ts +13 -0
  405. package/dist/types/components/CollectionTable/CollectionTableWSRTable.st.css.d.ts.map +1 -0
  406. package/dist/types/components/CollectionToolbar/CollectionToolbar.uni.driver.d.ts +65 -34
  407. package/dist/types/components/CollectionToolbar/CollectionToolbar.uni.driver.d.ts.map +1 -1
  408. package/dist/types/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.d.ts.map +1 -1
  409. package/dist/types/components/CollectionViewsDropdown/ViewsDropdown.st.css.d.ts.map +1 -1
  410. package/dist/types/components/CustomColumnsPanel/ColumnListTableListItem.d.ts +1 -1
  411. package/dist/types/components/CustomColumnsPanel/ColumnListTableListItem.d.ts.map +1 -1
  412. package/dist/types/components/CustomColumnsPanel/ColumnsList.d.ts.map +1 -1
  413. package/dist/types/components/CustomColumnsPanel/CustomColumnsPanel.d.ts.map +1 -1
  414. package/dist/types/components/CustomFieldModal/CustomFieldModal.uni.driver.d.ts +2 -2
  415. package/dist/types/components/CustomFieldsWidget/CustomFieldsWidget.uni.driver.d.ts +3 -3
  416. package/dist/types/components/DragHandle/DragHandle.st.css.d.ts.map +1 -1
  417. package/dist/types/components/DropdownFilter/CollectionDropdownFilter.uni.driver.d.ts +1 -1
  418. package/dist/types/components/EditableTable/AddItemRow.d.ts +6 -0
  419. package/dist/types/components/EditableTable/AddItemRow.d.ts.map +1 -0
  420. package/dist/types/components/EditableTable/EditableCell.d.ts.map +1 -1
  421. package/dist/types/components/EditableTable/EditableCell.st.css.d.ts.map +1 -1
  422. package/dist/types/components/EditableTable/EditableTable.d.ts +1 -1
  423. package/dist/types/components/EditableTable/EditableTable.d.ts.map +1 -1
  424. package/dist/types/components/EditableTable/EditableTable.uni.driver.d.ts +27 -5
  425. package/dist/types/components/EditableTable/EditableTable.uni.driver.d.ts.map +1 -1
  426. package/dist/types/components/EditableTable/HeaderActionsPopover.st.css.d.ts.map +1 -1
  427. package/dist/types/components/EditableTable/cellTypes/email/Edit.st.css.d.ts.map +1 -1
  428. package/dist/types/components/EditableTable/cellTypes/image/Edit.d.ts +4 -0
  429. package/dist/types/components/EditableTable/cellTypes/image/Edit.d.ts.map +1 -0
  430. package/dist/types/components/EditableTable/cellTypes/image/Edit.uni.driver.d.ts +19 -0
  431. package/dist/types/components/EditableTable/cellTypes/image/Edit.uni.driver.d.ts.map +1 -0
  432. package/dist/types/components/EditableTable/cellTypes/image/View.d.ts +4 -0
  433. package/dist/types/components/EditableTable/cellTypes/image/View.d.ts.map +1 -0
  434. package/dist/types/components/EditableTable/cellTypes/image/View.uni.driver.d.ts +16 -0
  435. package/dist/types/components/EditableTable/cellTypes/image/View.uni.driver.d.ts.map +1 -0
  436. package/dist/types/components/EditableTable/cellTypes/image/index.d.ts +5 -0
  437. package/dist/types/components/EditableTable/cellTypes/image/index.d.ts.map +1 -0
  438. package/dist/types/components/EditableTable/cellTypes/index.d.ts +2 -1
  439. package/dist/types/components/EditableTable/cellTypes/index.d.ts.map +1 -1
  440. package/dist/types/components/EditableTable/cellTypes/number/View.st.css.d.ts.map +1 -1
  441. package/dist/types/components/EditableTable/cellTypes/object/Edit.st.css.d.ts.map +1 -1
  442. package/dist/types/components/EditableTable/cellTypes/object/View.st.css.d.ts.map +1 -1
  443. package/dist/types/components/EditableTable/cellTypes/select/Edit.st.css.d.ts.map +1 -1
  444. package/dist/types/components/EditableTable/cellTypes/url/Edit.st.css.d.ts.map +1 -1
  445. package/dist/types/components/EditableTable/types.d.ts +22 -9
  446. package/dist/types/components/EditableTable/types.d.ts.map +1 -1
  447. package/dist/types/components/EditableTable/useAddRow.d.ts +7 -0
  448. package/dist/types/components/EditableTable/useAddRow.d.ts.map +1 -0
  449. package/dist/types/components/EditableTable/useCellFocusAndEditing.d.ts.map +1 -1
  450. package/dist/types/components/EditableTable/useClearFocusOnBlur.d.ts +6 -0
  451. package/dist/types/components/EditableTable/useClearFocusOnBlur.d.ts.map +1 -1
  452. package/dist/types/components/FiltersPanel/FiltersPanel.uni.driver.d.ts +4 -4
  453. package/dist/types/components/Grid/Grid.uni.driver.d.ts +14 -14
  454. package/dist/types/components/Grid/GridFolders.uni.driver.d.ts +41 -41
  455. package/dist/types/components/Grid/GridFoldersSection.uni.driver.d.ts +14 -14
  456. package/dist/types/components/Heading/Heading.st.css.d.ts.map +1 -1
  457. package/dist/types/components/Kanban/Kanban.uni.driver.d.ts +12 -12
  458. package/dist/types/components/LayoutSwitch/LayoutSwitch.d.ts +18 -0
  459. package/dist/types/components/LayoutSwitch/LayoutSwitch.d.ts.map +1 -0
  460. package/dist/types/components/LayoutSwitch/LayoutSwitch.uni.driver.d.ts +17812 -0
  461. package/dist/types/components/LayoutSwitch/LayoutSwitch.uni.driver.d.ts.map +1 -0
  462. package/dist/types/components/LayoutSwitch/index.d.ts +2 -0
  463. package/dist/types/components/LayoutSwitch/index.d.ts.map +1 -0
  464. package/dist/types/components/LayoutSwitchButton/LayoutSwitchButton.d.ts +12 -0
  465. package/dist/types/components/LayoutSwitchButton/LayoutSwitchButton.d.ts.map +1 -0
  466. package/dist/types/components/LayoutSwitchButton/index.d.ts +2 -0
  467. package/dist/types/components/LayoutSwitchButton/index.d.ts.map +1 -0
  468. package/dist/types/components/LayoutSwitchButton/layoutConfig.d.ts +8 -0
  469. package/dist/types/components/LayoutSwitchButton/layoutConfig.d.ts.map +1 -0
  470. package/dist/types/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.d.ts.map +1 -1
  471. package/dist/types/components/NestedTable/NestedTable.uni.driver.d.ts +40 -40
  472. package/dist/types/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.d.ts.map +1 -1
  473. package/dist/types/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.d.ts.map +1 -1
  474. package/dist/types/components/SkeletonCard/SkeletonCard.st.css.d.ts.map +1 -1
  475. package/dist/types/components/SlidingModal/SlidingModal.st.css.d.ts.map +1 -1
  476. package/dist/types/components/SummaryBar/SummaryBar.uni.driver.d.ts +1 -1
  477. package/dist/types/components/Table/Table.uni.driver.d.ts +32 -58
  478. package/dist/types/components/Table/Table.uni.driver.d.ts.map +1 -1
  479. package/dist/types/components/TableFolders/TableFolders.uni.driver.d.ts +40 -40
  480. package/dist/types/components/TableGridSwitch/TableGridSwitch.d.ts +2 -2
  481. package/dist/types/components/TableGridSwitch/TableGridSwitch.d.ts.map +1 -1
  482. package/dist/types/components/TableGridSwitch/TableGridSwitch.uni.driver.d.ts +85 -123
  483. package/dist/types/components/TableGridSwitch/TableGridSwitch.uni.driver.d.ts.map +1 -1
  484. package/dist/types/components/TableGridSwitchButton/TableGridSwitchButton.d.ts +1 -1
  485. package/dist/types/components/TableGridSwitchButton/TableGridSwitchButton.d.ts.map +1 -1
  486. package/dist/types/components/TableGridSwitchButton/TableGridSwitchButton.uni.driver.d.ts +1 -1
  487. package/dist/types/components/TableGridSwitchButton/TableGridSwitchButton.uni.driver.d.ts.map +1 -1
  488. package/dist/types/components/TableGridSwitchButton/layoutConfig.d.ts +1 -6
  489. package/dist/types/components/TableGridSwitchButton/layoutConfig.d.ts.map +1 -1
  490. package/dist/types/components/TabsFilter/TabsFilter.uni.driver.d.ts +1 -1
  491. package/dist/types/exports/testkit/unidriver.d.ts +1 -0
  492. package/dist/types/exports/testkit/unidriver.d.ts.map +1 -1
  493. package/dist/types/hooks/useCollectionTableResize.d.ts +2 -6
  494. package/dist/types/hooks/useCollectionTableResize.d.ts.map +1 -1
  495. package/dist/types/hooks/useEntityPage.d.ts +10 -2
  496. package/dist/types/hooks/useEntityPage.d.ts.map +1 -1
  497. package/dist/types/hooks/useLayoutSwitchCollection.d.ts +10 -0
  498. package/dist/types/hooks/useLayoutSwitchCollection.d.ts.map +1 -0
  499. package/dist/types/index.d.ts +6 -0
  500. package/dist/types/index.d.ts.map +1 -1
  501. package/dist/types/model/view.d.ts +1 -1
  502. package/dist/types/model/view.d.ts.map +1 -1
  503. package/dist/types/state/CollectionPage/CollectionPageHeader.st.css.d.ts.map +1 -1
  504. package/dist/types/state/CustomColumnsState.d.ts +27 -2
  505. package/dist/types/state/CustomColumnsState.d.ts.map +1 -1
  506. package/dist/types/state/EditableTable/CellInteractionState.d.ts +1 -4
  507. package/dist/types/state/EditableTable/CellInteractionState.d.ts.map +1 -1
  508. package/dist/types/state/EditableTable/EditableTableState.d.ts +1 -1
  509. package/dist/types/state/EditableTable/EditableTableState.d.ts.map +1 -1
  510. package/dist/types/state/EditableTable/MutationState.d.ts +1 -1
  511. package/dist/types/state/EditableTable/MutationState.d.ts.map +1 -1
  512. package/dist/types/state/EditableTable/types.d.ts +6 -0
  513. package/dist/types/state/EditableTable/types.d.ts.map +1 -1
  514. package/dist/types/state/EntityPage/EntityPageFieldsState.d.ts +25 -0
  515. package/dist/types/state/EntityPage/EntityPageFieldsState.d.ts.map +1 -0
  516. package/dist/types/state/EntityPage/EntityPageState.d.ts +22 -4
  517. package/dist/types/state/EntityPage/EntityPageState.d.ts.map +1 -1
  518. package/dist/types/state/EntityPage/index.d.ts +1 -0
  519. package/dist/types/state/EntityPage/index.d.ts.map +1 -1
  520. package/dist/types/state/FormPage/FormPageHeader.st.css.d.ts.map +1 -1
  521. package/dist/types/state/ILayoutSwitchState.d.ts +10 -0
  522. package/dist/types/state/ILayoutSwitchState.d.ts.map +1 -0
  523. package/dist/types/state/LayoutSwitchState.d.ts +41 -0
  524. package/dist/types/state/LayoutSwitchState.d.ts.map +1 -0
  525. package/dist/types/state/TableGridSwitchFoldersState.d.ts.map +1 -1
  526. package/dist/types/state/TableGridSwitchState.d.ts.map +1 -1
  527. package/dist/types/state/ViewTypeState.d.ts +3 -1
  528. package/dist/types/state/ViewTypeState.d.ts.map +1 -1
  529. package/dist/types/test-utils/CairoTestApp.d.ts.map +1 -1
  530. package/dist/types/testkit/enzyme.d.ts +210 -210
  531. package/dist/types/testkit/jsdom.d.ts +18013 -224
  532. package/dist/types/testkit/jsdom.d.ts.map +1 -1
  533. package/dist/types/testkit/playwright.d.ts +229 -210
  534. package/dist/types/testkit/playwright.d.ts.map +1 -1
  535. package/dist/types/testkit/puppeteer.d.ts +241 -222
  536. package/dist/types/testkit/puppeteer.d.ts.map +1 -1
  537. package/dist/types/version.d.ts +1 -1
  538. package/package.json +6 -6
  539. package/src/components/CardContainer/CardContainer.st.css.ts +2 -2
  540. package/src/components/Collapse/Collapse.st.css.ts +2 -2
  541. package/src/components/CollectionPageNew/CollectionPage.st.css.ts +2 -2
  542. package/src/components/CollectionSectionHeader/CollectionSectionHeader.st.css.ts +2 -2
  543. package/src/components/CollectionTable/CollectionTable.st.css.ts +2 -2
  544. package/src/components/CollectionTable/CollectionTable.tsx +15 -14
  545. package/src/components/CollectionTable/CollectionTableWSRTable.st.css +12 -0
  546. package/src/components/CollectionTable/CollectionTableWSRTable.st.css.ts +25 -0
  547. package/src/components/CollectionTable/CollectionTableWSRTable.tsx +10 -1
  548. package/src/components/CollectionToolbar/CollectionToolbar.st.css.ts +2 -2
  549. package/src/components/CollectionToolbar/CollectionToolbar.uni.driver.ts +1 -1
  550. package/src/components/CollectionToolbar/SearchOrCustomFilter.st.css.ts +2 -2
  551. package/src/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.ts +2 -2
  552. package/src/components/CollectionViewsDropdown/ViewsDropdown.st.css.ts +2 -2
  553. package/src/components/CustomColumnsPanel/ColumnListTableListItem.tsx +3 -4
  554. package/src/components/CustomColumnsPanel/ColumnsList.tsx +9 -6
  555. package/src/components/CustomColumnsPanel/CustomColumnsPanel.tsx +4 -15
  556. package/src/components/DragHandle/DragHandle.st.css.ts +2 -2
  557. package/src/components/EditableTable/AddItemRow.tsx +35 -0
  558. package/src/components/EditableTable/EditableCell.st.css +17 -3
  559. package/src/components/EditableTable/EditableCell.st.css.ts +2 -2
  560. package/src/components/EditableTable/EditableCell.tsx +26 -3
  561. package/src/components/EditableTable/EditableTable.tsx +13 -2
  562. package/src/components/EditableTable/EditableTable.uni.driver.ts +8 -1
  563. package/src/components/EditableTable/HeaderActionsPopover.st.css.ts +2 -2
  564. package/src/components/EditableTable/cellTypes/CellViewLayout.st.css.ts +2 -2
  565. package/src/components/EditableTable/cellTypes/boolean/Edit.st.css.ts +2 -2
  566. package/src/components/EditableTable/cellTypes/boolean/View.st.css.ts +2 -2
  567. package/src/components/EditableTable/cellTypes/date/Edit.st.css.ts +2 -2
  568. package/src/components/EditableTable/cellTypes/date/View.st.css.ts +2 -2
  569. package/src/components/EditableTable/cellTypes/email/Edit.st.css.ts +2 -2
  570. package/src/components/EditableTable/cellTypes/email/View.st.css.ts +2 -2
  571. package/src/components/EditableTable/cellTypes/image/Edit.tsx +29 -0
  572. package/src/components/EditableTable/cellTypes/image/Edit.uni.driver.ts +16 -0
  573. package/src/components/EditableTable/cellTypes/image/View.tsx +7 -0
  574. package/src/components/EditableTable/cellTypes/image/View.uni.driver.ts +13 -0
  575. package/src/components/EditableTable/cellTypes/image/index.ts +18 -0
  576. package/src/components/EditableTable/cellTypes/index.ts +3 -0
  577. package/src/components/EditableTable/cellTypes/number/Edit.st.css.ts +2 -2
  578. package/src/components/EditableTable/cellTypes/number/View.st.css.ts +2 -2
  579. package/src/components/EditableTable/cellTypes/object/Edit.st.css.ts +2 -2
  580. package/src/components/EditableTable/cellTypes/object/View.st.css.ts +2 -2
  581. package/src/components/EditableTable/cellTypes/select/Edit.st.css.ts +2 -2
  582. package/src/components/EditableTable/cellTypes/text/Edit.st.css.ts +2 -2
  583. package/src/components/EditableTable/cellTypes/text/View.st.css.ts +2 -2
  584. package/src/components/EditableTable/cellTypes/url/Edit.st.css.ts +2 -2
  585. package/src/components/EditableTable/cellTypes/url/View.st.css.ts +2 -2
  586. package/src/components/EditableTable/types.ts +33 -9
  587. package/src/components/EditableTable/useAddRow.ts +39 -0
  588. package/src/components/EditableTable/useCellFocusAndEditing.ts +16 -3
  589. package/src/components/EditableTable/useClearFocusOnBlur.ts +6 -0
  590. package/src/components/EntityPage/EntityPagePlain.st.css.ts +2 -2
  591. package/src/components/Fade/Fade.st.css.ts +2 -2
  592. package/src/components/Heading/Heading.st.css.ts +2 -2
  593. package/src/components/ImportButton/ImportStepUpload.st.css.ts +2 -2
  594. package/src/components/InputOverflow/InputOverflow.st.css.ts +2 -2
  595. package/src/components/LayoutSwitch/LayoutSwitch.tsx +121 -0
  596. package/src/components/LayoutSwitch/LayoutSwitch.uni.driver.ts +36 -0
  597. package/src/components/LayoutSwitch/index.ts +1 -0
  598. package/src/components/LayoutSwitchButton/LayoutSwitchButton.tsx +102 -0
  599. package/src/components/LayoutSwitchButton/index.ts +1 -0
  600. package/src/components/LayoutSwitchButton/layoutConfig.tsx +26 -0
  601. package/src/components/LoadingRow/LoadingRow.st.css.ts +3 -3
  602. package/src/components/MaxHeightText/MaxHeightText.st.css.ts +2 -2
  603. package/src/components/MaxLines/MaxLines.st.css.ts +2 -2
  604. package/src/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.ts +2 -2
  605. package/src/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.ts +2 -2
  606. package/src/components/NestedTable/NestedTableRow.st.css.ts +2 -2
  607. package/src/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.ts +2 -2
  608. package/src/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.ts +2 -2
  609. package/src/components/PickerContent/PickerContent.st.css.ts +2 -2
  610. package/src/components/PickerContent/PickerContentAdditionalStep.st.css.ts +2 -2
  611. package/src/components/PickerTableListItem/PickerTableListItem.st.css.ts +2 -2
  612. package/src/components/ScrollableContent/ScrollableContent.st.css.ts +2 -2
  613. package/src/components/SkeletonCard/SkeletonCard.st.css.ts +2 -2
  614. package/src/components/SlidingModal/SlidingModal.st.css.ts +2 -2
  615. package/src/components/TableGridSwitch/TableGridSwitch.tsx +26 -46
  616. package/src/components/TableGridSwitch/TableGridSwitch.uni.driver.ts +2 -4
  617. package/src/components/TableGridSwitchButton/TableGridSwitchButton.tsx +5 -102
  618. package/src/components/TableGridSwitchButton/TableGridSwitchButton.uni.driver.ts +9 -3
  619. package/src/components/TableGridSwitchButton/layoutConfig.tsx +1 -17
  620. package/src/components/TabsFilter/TabsFilter.st.css.ts +2 -2
  621. package/src/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.ts +2 -2
  622. package/src/components/ToolbarItem/ToolbarItem.st.css.ts +2 -2
  623. package/src/components/ToolbarItemBox/ToolbarItemBox.st.css.ts +2 -2
  624. package/src/components/common.st.css.ts +2 -2
  625. package/src/exports/testkit/unidriver.ts +1 -0
  626. package/src/hooks/useCollectionTableResize.ts +8 -11
  627. package/src/hooks/useEntityPage.ts +20 -12
  628. package/src/hooks/useLayoutSwitchCollection.ts +60 -0
  629. package/src/index.ts +6 -0
  630. package/src/model/view.ts +1 -1
  631. package/src/state/CollectionPage/CollectionPageHeader.st.css.ts +2 -2
  632. package/src/state/CustomColumnsState.ts +51 -1
  633. package/src/state/EditableTable/CellInteractionState.ts +1 -4
  634. package/src/state/EditableTable/EditableTableState.ts +31 -8
  635. package/src/state/EditableTable/MutationState.ts +2 -1
  636. package/src/state/EditableTable/types.ts +13 -2
  637. package/src/state/EntityPage/EntityPageFieldsState.ts +158 -0
  638. package/src/state/EntityPage/EntityPageState.ts +57 -6
  639. package/src/state/EntityPage/index.ts +1 -0
  640. package/src/state/FormPage/FormPageHeader.st.css.ts +2 -2
  641. package/src/state/ILayoutSwitchState.ts +10 -0
  642. package/src/state/LayoutSwitchState.ts +147 -0
  643. package/src/state/TableGridSwitchFoldersState.ts +1 -0
  644. package/src/state/TableGridSwitchState.ts +1 -0
  645. package/src/state/ViewTypeState.ts +10 -4
  646. package/src/styles.global.css +1 -1
  647. package/src/test-utils/CairoTestApp.tsx +1 -2
  648. package/src/testkit/jsdom.ts +5 -0
  649. package/src/version.ts +1 -1
@@ -0,0 +1,142 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports.EntityPageFieldsState = void 0;
6
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
7
+ var _bexCore = require("@wix/bex-core");
8
+ var _mobx = require("mobx");
9
+ var _indexOfCompareFn = require("../indexOfCompareFn");
10
+ const STORAGE_KEY = 'entity-page-layout';
11
+ class EntityPageFieldsState {
12
+ constructor(params) {
13
+ (0, _defineProperty2.default)(this, "_storedFields", []);
14
+ (0, _defineProperty2.default)(this, "initTask", new _bexCore.TaskState());
15
+ (0, _defineProperty2.default)(this, "_persistQueue", Promise.resolve());
16
+ (0, _defineProperty2.default)(this, "params", void 0);
17
+ this.params = params;
18
+ (0, _mobx.makeObservable)(this, {
19
+ _storedFields: _mobx.observable,
20
+ orderedFields: _mobx.computed,
21
+ setFieldVisibility: _mobx.action.bound,
22
+ setFieldOrder: _mobx.action.bound
23
+ });
24
+ }
25
+
26
+ // Called from EntityPageState.init() — mirrors CustomColumnsState._tableInit()
27
+ init() {
28
+ this.initTask.runOnce(async () => {
29
+ try {
30
+ await this._fetchFromStorage();
31
+ } catch (e) {
32
+ console.error(e);
33
+ }
34
+ });
35
+ }
36
+ get orderedFields() {
37
+ if (!this._storedFields.length) {
38
+ return this.params.fields;
39
+ }
40
+ // Fields not in storage all get index -1; stable sort preserves their declaration order
41
+ return [...this.params.fields].sort((0, _indexOfCompareFn.indexOfCompareFn)(this._storedFields, f => f == null ? void 0 : f.id));
42
+ }
43
+ isFieldVisible(id) {
44
+ const field = this.params.fields.find(f => f.id === id);
45
+ if (!field) {
46
+ return true;
47
+ } // unknown id — render by default
48
+ if (field.hideable === false) {
49
+ return true;
50
+ } // non-hideable — always visible
51
+ const stored = this._storedFields.find(f => f.id === id);
52
+ return stored ? stored.isVisible ?? true : field.isVisible ?? true;
53
+ }
54
+ setFieldVisibility(id, isVisible) {
55
+ const idx = this._storedFields.findIndex(f => f.id === id);
56
+ if (idx >= 0) {
57
+ // Replace element (not mutate in-place) so MobX tracks the array change
58
+ this._storedFields[idx] = {
59
+ ...this._storedFields[idx],
60
+ isVisible
61
+ };
62
+ } else {
63
+ this._storedFields.push({
64
+ id,
65
+ isVisible
66
+ });
67
+ }
68
+ // Wait for init to complete before persisting — prevents overwriting the
69
+ // full stored layout when called before _fetchFromStorage resolves.
70
+ // Serialize writes: chain onto the queue so rapid toggles don't race.
71
+ this._persistQueue = this._persistQueue.then(() => this.initTask.status.promise).then(() => this.persistFields()).catch(e => console.error(e));
72
+ }
73
+ setFieldOrder(orderedFields) {
74
+ const storedMap = new Map(this._storedFields.map(f => [f.id, f]));
75
+ const declaredMap = new Map(this.params.fields.map(f => [f.id, f]));
76
+
77
+ // Rebuild _storedFields in the new order, preserving existing visibility.
78
+ // Only include fields that are still declared; unknown ids are silently dropped.
79
+ this._storedFields = orderedFields.filter(f => declaredMap.has(f.id)).map(f => storedMap.get(f.id) ?? {
80
+ id: f.id,
81
+ isVisible: declaredMap.get(f.id).isVisible ?? true
82
+ });
83
+ this._persistQueue = this._persistQueue.then(() => this.initTask.status.promise).then(() => this.persistFields()).catch(e => console.error(e));
84
+ }
85
+ async persistFields() {
86
+ const fields = this._storedFields.map(({
87
+ id,
88
+ isVisible
89
+ }) => ({
90
+ id,
91
+ isVisible
92
+ }));
93
+ await this.params.dataCapsule.setItem(STORAGE_KEY, {
94
+ fields
95
+ });
96
+ }
97
+ async _fetchFromStorage() {
98
+ const {
99
+ dataCapsule,
100
+ fields
101
+ } = this.params;
102
+ let storedLayout = null;
103
+ try {
104
+ const raw = await dataCapsule.getItem(STORAGE_KEY);
105
+ storedLayout = raw && typeof raw === 'object' && Array.isArray(raw.fields) ? raw : null;
106
+ } catch (e) {
107
+ if (e instanceof Error && e.message === 'Key was not found in capsule') {
108
+ storedLayout = null;
109
+ } else {
110
+ throw e;
111
+ }
112
+ }
113
+ if (!storedLayout) {
114
+ return;
115
+ }
116
+
117
+ // Merge: keep stored order/visibility; append new fields; drop removed ones.
118
+ // Dedup by id — keeps the first occurrence, discarding any corrupt duplicates.
119
+ const declaredIds = new Set(fields.map(f => f.id));
120
+ const seenIds = new Set();
121
+ const merged = storedLayout.fields.filter(f => {
122
+ if (!(f != null && f.id) || !declaredIds.has(f.id) || seenIds.has(f.id)) {
123
+ return false;
124
+ }
125
+ seenIds.add(f.id);
126
+ return true;
127
+ });
128
+ fields.forEach(f => {
129
+ if (!merged.some(s => s.id === f.id)) {
130
+ merged.push({
131
+ id: f.id,
132
+ isVisible: f.isVisible ?? true
133
+ });
134
+ }
135
+ });
136
+ (0, _mobx.runInAction)(() => {
137
+ this._storedFields = merged;
138
+ });
139
+ }
140
+ }
141
+ exports.EntityPageFieldsState = EntityPageFieldsState;
142
+ //# sourceMappingURL=EntityPageFieldsState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_bexCore","require","_mobx","_indexOfCompareFn","STORAGE_KEY","EntityPageFieldsState","constructor","params","_defineProperty2","default","TaskState","Promise","resolve","makeObservable","_storedFields","observable","orderedFields","computed","setFieldVisibility","action","bound","setFieldOrder","init","initTask","runOnce","_fetchFromStorage","e","console","error","length","fields","sort","indexOfCompareFn","f","id","isFieldVisible","field","find","hideable","stored","isVisible","idx","findIndex","push","_persistQueue","then","status","promise","persistFields","catch","storedMap","Map","map","declaredMap","filter","has","get","dataCapsule","setItem","storedLayout","raw","getItem","Array","isArray","Error","message","declaredIds","Set","seenIds","merged","add","forEach","some","s","runInAction","exports"],"sources":["../../../../src/state/EntityPage/EntityPageFieldsState.ts"],"sourcesContent":["import { DataCapsule, TaskState } from '@wix/bex-core';\nimport {\n action,\n computed,\n makeObservable,\n observable,\n runInAction,\n} from 'mobx';\nimport { indexOfCompareFn } from '../indexOfCompareFn';\n\nconst STORAGE_KEY = 'entity-page-layout';\n\nexport interface EntityViewConfig {\n id: string;\n isVisible?: boolean;\n hideable?: boolean; // not persisted — consumer-only; false = always visible\n}\n\ntype StoredLayout = {\n fields: Pick<EntityViewConfig, 'id' | 'isVisible'>[];\n};\n\nexport interface EntityPageFieldsStateParams {\n dataCapsule: DataCapsule;\n fields: EntityViewConfig[];\n}\n\nexport class EntityPageFieldsState {\n _storedFields: EntityViewConfig[] = [];\n readonly initTask = new TaskState();\n private _persistQueue: Promise<void> = Promise.resolve();\n private readonly params: EntityPageFieldsStateParams;\n\n constructor(params: EntityPageFieldsStateParams) {\n this.params = params;\n makeObservable(this, {\n _storedFields: observable,\n orderedFields: computed,\n setFieldVisibility: action.bound,\n setFieldOrder: action.bound,\n });\n }\n\n // Called from EntityPageState.init() — mirrors CustomColumnsState._tableInit()\n init() {\n this.initTask.runOnce(async () => {\n try {\n await this._fetchFromStorage();\n } catch (e) {\n console.error(e);\n }\n });\n }\n\n get orderedFields(): EntityViewConfig[] {\n if (!this._storedFields.length) {\n return this.params.fields;\n }\n // Fields not in storage all get index -1; stable sort preserves their declaration order\n return [...this.params.fields].sort(\n indexOfCompareFn(this._storedFields, (f) => f?.id),\n );\n }\n\n isFieldVisible(id: string): boolean {\n const field = this.params.fields.find((f) => f.id === id);\n if (!field) {\n return true;\n } // unknown id — render by default\n if (field.hideable === false) {\n return true;\n } // non-hideable — always visible\n const stored = this._storedFields.find((f) => f.id === id);\n return stored ? stored.isVisible ?? true : field.isVisible ?? true;\n }\n\n setFieldVisibility(id: string, isVisible: boolean) {\n const idx = this._storedFields.findIndex((f) => f.id === id);\n if (idx >= 0) {\n // Replace element (not mutate in-place) so MobX tracks the array change\n this._storedFields[idx] = { ...this._storedFields[idx], isVisible };\n } else {\n this._storedFields.push({ id, isVisible });\n }\n // Wait for init to complete before persisting — prevents overwriting the\n // full stored layout when called before _fetchFromStorage resolves.\n // Serialize writes: chain onto the queue so rapid toggles don't race.\n this._persistQueue = this._persistQueue\n .then(() => this.initTask.status.promise)\n .then(() => this.persistFields())\n .catch((e) => console.error(e));\n }\n\n setFieldOrder(orderedFields: EntityViewConfig[]) {\n const storedMap = new Map(this._storedFields.map((f) => [f.id, f]));\n const declaredMap = new Map(this.params.fields.map((f) => [f.id, f]));\n\n // Rebuild _storedFields in the new order, preserving existing visibility.\n // Only include fields that are still declared; unknown ids are silently dropped.\n this._storedFields = orderedFields\n .filter((f) => declaredMap.has(f.id))\n .map((f) => storedMap.get(f.id) ?? { id: f.id, isVisible: declaredMap.get(f.id)!.isVisible ?? true });\n\n this._persistQueue = this._persistQueue\n .then(() => this.initTask.status.promise)\n .then(() => this.persistFields())\n .catch((e) => console.error(e));\n }\n\n private async persistFields() {\n const fields = this._storedFields.map(({ id, isVisible }) => ({\n id,\n isVisible,\n }));\n await this.params.dataCapsule.setItem(STORAGE_KEY, { fields });\n }\n\n async _fetchFromStorage() {\n const { dataCapsule, fields } = this.params;\n let storedLayout: StoredLayout | null = null;\n try {\n const raw = await dataCapsule.getItem<StoredLayout>(STORAGE_KEY);\n storedLayout =\n raw && typeof raw === 'object' && Array.isArray(raw.fields)\n ? raw\n : null;\n } catch (e) {\n if (e instanceof Error && e.message === 'Key was not found in capsule') {\n storedLayout = null;\n } else {\n throw e;\n }\n }\n if (!storedLayout) {\n return;\n }\n\n // Merge: keep stored order/visibility; append new fields; drop removed ones.\n // Dedup by id — keeps the first occurrence, discarding any corrupt duplicates.\n const declaredIds = new Set(fields.map((f) => f.id));\n const seenIds = new Set<string>();\n const merged: EntityViewConfig[] = storedLayout.fields.filter((f) => {\n if (!f?.id || !declaredIds.has(f.id) || seenIds.has(f.id)) {\n return false;\n }\n seenIds.add(f.id);\n return true;\n });\n fields.forEach((f) => {\n if (!merged.some((s) => s.id === f.id)) {\n merged.push({ id: f.id, isVisible: f.isVisible ?? true });\n }\n });\n runInAction(() => {\n this._storedFields = merged;\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -5,9 +5,16 @@ exports.__esModule = true;
5
5
  exports.EntityPageState = void 0;
6
6
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
7
7
  var _bexCore = require("@wix/bex-core");
8
+ var _lodash = require("lodash");
8
9
  var _mobx = require("mobx");
9
10
  var _EntityPageStateBIReporter = require("./EntityPageStateBIReporter");
10
11
  var _events = require("@wix/bex-core/events");
12
+ var _EntityPageFieldsState = require("./EntityPageFieldsState");
13
+ /**
14
+ * Pass both `fields` and `persistencyKey` together to enable field order and visibility persistency.
15
+ * Omit both to disable persistency.
16
+ */
17
+
11
18
  class EntityPageState {
12
19
  constructor(params) {
13
20
  (0, _defineProperty2.default)(this, "fetch", void 0);
@@ -22,6 +29,7 @@ class EntityPageState {
22
29
  (0, _defineProperty2.default)(this, "container", void 0);
23
30
  (0, _defineProperty2.default)(this, "reportBI", void 0);
24
31
  (0, _defineProperty2.default)(this, "bi", void 0);
32
+ (0, _defineProperty2.default)(this, "fieldsState", void 0);
25
33
  (0, _defineProperty2.default)(this, "_routerState", null);
26
34
  (0, _defineProperty2.default)(this, "formPage", void 0);
27
35
  (0, _defineProperty2.default)(this, "events", new _events.EventEmitter());
@@ -36,6 +44,24 @@ class EntityPageState {
36
44
  this.transformEntityToCollectionItem = params.transformEntityToCollectionItem || (anEntity => anEntity);
37
45
  this._parentPath = params.parentPath;
38
46
  this.container = params.container;
47
+ if (params.persistencyKey) {
48
+ if ((0, _lodash.isEmpty)(params.fields)) {
49
+ console.warn('EntityPageState: `fields` is empty — field persistency will not be enabled.');
50
+ } else {
51
+ const {
52
+ componentId,
53
+ artifactId
54
+ } = params.container.environment;
55
+ const namespace = [componentId || artifactId, params.persistencyKey].join('.');
56
+ const dataCapsule = params.container._createComponentSettings({
57
+ namespace
58
+ });
59
+ this.fieldsState = new _EntityPageFieldsState.EntityPageFieldsState({
60
+ dataCapsule,
61
+ fields: params.fields
62
+ });
63
+ }
64
+ }
39
65
  this._routerState = params.routerState ?? null;
40
66
  if (this._routerState) {
41
67
  var _this$_routerState$cu;
@@ -85,7 +111,8 @@ class EntityPageState {
85
111
  this.bi.reportOnBeforeUnload();
86
112
  }));
87
113
  initTask.runOnce(async () => {
88
- var _this$bi$appLoaded, _this$bi;
114
+ var _this$fieldsState, _this$bi$appLoaded, _this$bi;
115
+ (_this$fieldsState = this.fieldsState) == null || _this$fieldsState.init(); // starts async storage read (non-blocking)
89
116
  const [data] = await Promise.all([this.fetch(), container.initTask.status.promise]);
90
117
  this.setEntity(data.entity ?? null);
91
118
  (_this$bi$appLoaded = (_this$bi = this.bi).appLoaded) == null || _this$bi$appLoaded.call(_this$bi);
@@ -1 +1 @@
1
- {"version":3,"names":["_bexCore","require","_mobx","_EntityPageStateBIReporter","_events","EntityPageState","constructor","params","_defineProperty2","default","EventEmitter","fetch","onSave","saveSuccessToast","saveErrorToast","formPage","FormPageState","form","_parentPageId","parentPageId","transformEntityToCollectionItem","anEntity","_parentPath","parentPath","container","_routerState","routerState","_this$_routerState$cu","_entity","currentState","_chosenEntity","entity","reportBI","createBILogger","componentType","pageType","route","window","location","pathname","bi","EntityPageStateBIReporter","entityPageState","init","makeObservable","handleSubmit","action","observable","ref","setEntity","isFormDirty","computed","_withinRouter","_checkPageParams","initTask","onBeforeUnload","onBeforeUnloadSubscription","event","isMobileDevice","formState","isSubmitSuccessful","_isSubmitSuccessful","preventDefault","reportOnBeforeUnload","runOnce","_this$bi$appLoaded","_this$bi","data","Promise","all","status","promise","appLoaded","call","remove","retryFetch","newEntity","isFetching","flag","isDirty","_isFormDirty","val","onCancel","_this$actionsBarConfi","reportButtonClick","ctaName","additionalInfo","actionsBarConfig","cancelCta","biAdditionalInfo","navigateToParent","updatedEntity","entityStringKey","entityObject","navigate","state","navigateTo","pageId","_showErrorToast","err","e","_this$saveErrorToast","_this$container$showT","_this$container","errorToast","retry","message","showTryAgain","tryAgain","undefined","showToast","type","biName","translate","code","uiType","text","onClick","reportSaveTryAgain","removeToastOnClick","_showSuccessToast","_this$saveSuccessToas","_this$container$showT2","_this$container2","submitTask","isLoading","events","emit","isValid","widgetsFormData","validate","_this$actionsBarConfi2","saveCta","run","savedEntity","submitSuccessful","_this$actionsBarConfi3","onSaveResult","errorMonitor","captureException","setError","_this$actionsBarConfi4","transformedItem","Error","exports"],"sources":["../../../../src/state/EntityPage/EntityPageState.ts"],"sourcesContent":["import {\n FormPageState,\n ReportBI,\n WixPatternsContainer,\n ActionsBarConfig,\n isMobileDevice,\n} from '@wix/bex-core';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport { FieldValues, UseFormReturn } from 'react-hook-form';\nimport { EntityPageStateBIReporter } from './EntityPageStateBIReporter';\nimport { EventEmitter, TypedEmitter } from '@wix/bex-core/events';\nimport { WixPatternsRouterState } from '../WixPatternsRouterState';\n\ntype OnSaveParams = {\n widgetsFormData: { [key: string]: any };\n};\n\nexport interface EntityPageStateParams<T, V extends FieldValues = FieldValues> {\n /**\n * A function that fetches the entity data.\n * @returns a promise that resolves to an object containing the entity.\n */\n fetch: () => Promise<{ entity: T | undefined }>;\n\n /**\n * A function to handle the save action.\n * @returns promise that resolves to an object that contains a 'updatedEntity' object.\n */\n onSave: (params: OnSaveParams) => Promise<{ updatedEntity: T }>;\n\n /**\n * An optional object with an optional message, or it can directly get a string message.\n */\n saveSuccessToast?: { message?: string } | string;\n\n /**\n * An optional function to display an error toast message when a save operation fails.\n * @returns An object with a `message` and an `action` object. Alternatively, it can return an object with an optional `message` and a `tryAgain` flag, or a string message.\n * The previous return types are still supported but are now deprecated.\n */\n saveErrorToast?: (\n err: unknown,\n params: { retry: () => void },\n ) =>\n | {\n message?: string;\n /**\n * @deprecated use `action` instead\n */\n tryAgain?: boolean;\n action?: { text: string; onClick: () => void };\n }\n | string;\n\n /**\n * An optional function to transform the updated entity data before it is passed to the collection page.\n * @param entity the updated entity.\n * @returns an object representing the entity in the collection page.\n */\n transformEntityToCollectionItem?: (entity: T) => any;\n\n form: UseFormReturn<V>;\n /**\n * An object representing the container, possibly for dependency injection or component management.\n */\n container: WixPatternsContainer;\n\n /**\n * A string representing the ID of the parent page.\n * Must be passed if not using Patterns Router\n */\n parentPageId?: string;\n\n /**\n * A string representing the path of the parent page.\n * Must be passed if using Patterns Router\n */\n parentPath?: string;\n\n /**\n * An object representing the router state\n */\n routerState?: WixPatternsRouterState | null;\n\n /**\n * An optional object to override the actions bar.\n */\n actionsBarConfig?: ActionsBarConfig;\n\n /**\n * Entity fqdn.\n */\n fqdn?: string;\n}\n\nexport interface EntityPageStateInterface {}\n\nexport interface EntityPageWidgetState {\n validate: () => Promise<{ isValid: boolean; values?: any }>;\n isDirty: boolean;\n}\n\nexport class EntityPageState<T, V extends FieldValues = FieldValues>\n implements EntityPageStateInterface\n{\n readonly fetch: EntityPageStateParams<T>['fetch'];\n readonly onSave: EntityPageStateParams<T, V>['onSave'];\n readonly saveSuccessToast?: EntityPageStateParams<T>['saveSuccessToast'];\n readonly saveErrorToast?: EntityPageStateParams<T>['saveErrorToast'];\n readonly transformEntityToCollectionItem: (entity: T) => any;\n\n _entity: T | null = null;\n private readonly _parentPageId?: string;\n private readonly _parentPath?: string;\n\n actionsBarConfig?: EntityPageStateParams<T>['actionsBarConfig'];\n\n readonly container: WixPatternsContainer;\n readonly reportBI: ReportBI;\n readonly bi: EntityPageStateBIReporter<T, V>;\n\n _routerState: WixPatternsRouterState | null = null;\n\n readonly formPage: FormPageState<V>;\n\n readonly events = new EventEmitter() as TypedEmitter<{\n save: () => void;\n saveError: (err: unknown) => void;\n }>;\n\n constructor(params: EntityPageStateParams<T, V>) {\n this.fetch = params.fetch;\n this.onSave = params.onSave;\n this.saveSuccessToast = params.saveSuccessToast;\n this.saveErrorToast = params.saveErrorToast;\n this.formPage = new FormPageState<V>({ form: params.form });\n this._parentPageId = params.parentPageId;\n this.transformEntityToCollectionItem =\n params.transformEntityToCollectionItem || ((anEntity: T) => anEntity);\n this._parentPath = params.parentPath;\n\n this.container = params.container;\n\n this._routerState = params.routerState ?? null;\n\n if (this._routerState) {\n this._entity = this._routerState.currentState?._chosenEntity?.entity;\n }\n\n this.reportBI = this.container.createBILogger({\n componentType: 'Entity page',\n pageType: 'Entity',\n route: window.location.pathname,\n });\n\n this.bi = new EntityPageStateBIReporter({\n reportBI: this.reportBI,\n entityPageState: this,\n });\n this.bi.init();\n\n makeObservable(this, {\n handleSubmit: action,\n _entity: observable.ref,\n setEntity: action,\n isFormDirty: computed,\n _withinRouter: computed,\n });\n }\n\n init() {\n this._checkPageParams();\n const {\n formPage: { initTask },\n container,\n } = this;\n const { onBeforeUnload } = container;\n\n const onBeforeUnloadSubscription = onBeforeUnload?.(\n action((event: Event) => {\n if (isMobileDevice()) {\n return;\n }\n\n const { form } = this;\n // Check both react-hook-form's state AND the explicitly set flag\n if (\n form.formState.isSubmitSuccessful ||\n this.formPage._isSubmitSuccessful ||\n !this.isFormDirty\n ) {\n return;\n }\n event.preventDefault();\n this.bi.reportOnBeforeUnload();\n }),\n );\n\n initTask.runOnce(async () => {\n const [data] = await Promise.all([\n this.fetch(),\n container.initTask.status.promise,\n ]);\n\n this.setEntity(data.entity ?? null);\n this.bi.appLoaded?.();\n });\n\n return () => {\n onBeforeUnloadSubscription?.remove();\n };\n }\n\n retryFetch() {\n this.formPage.retryFetch();\n }\n\n setEntity(newEntity: T | null) {\n this._entity = newEntity;\n }\n\n get entity(): T | null {\n return this._entity;\n }\n\n get isFetching() {\n return this.formPage.isFetching;\n }\n\n get form() {\n return this.formPage.form;\n }\n\n set isSubmitSuccessful(flag: boolean) {\n this.formPage.isSubmitSuccessful = flag;\n }\n\n get isFormDirty() {\n return this.formPage.isDirty;\n }\n\n // backwards compatibility\n set _isFormDirty(val: boolean) {\n this.formPage._isFormDirty = val;\n }\n\n get _withinRouter() {\n return !!this._routerState;\n }\n\n onCancel() {\n this.bi.reportButtonClick({\n ctaName: 'Cancel',\n additionalInfo: this.actionsBarConfig?.cancelCta?.biAdditionalInfo,\n });\n this.navigateToParent();\n }\n\n navigateToParent(updatedEntity?: any) {\n const entityStringKey = this._entity ? '_updatedEntity' : '_createdEntity';\n const entityObject = { [entityStringKey]: updatedEntity };\n\n if (this._withinRouter) {\n this._routerState!.navigate(this._parentPath!, { state: entityObject });\n } else {\n this.container.navigateTo!({\n pageId: this._parentPageId!,\n });\n }\n }\n\n _showErrorToast(err: any, e?: React.BaseSyntheticEvent) {\n const errorToast = this.saveErrorToast?.(err, {\n retry: () => this.handleSubmit(e),\n });\n const message =\n typeof errorToast === 'string' ? errorToast : errorToast?.message;\n const showTryAgain =\n typeof errorToast === 'string' ? true : errorToast?.tryAgain !== false;\n const action =\n typeof errorToast === 'string' ? undefined : errorToast?.action;\n\n this.container.showToast?.({\n type: 'ERROR',\n biName: 'cairo-entity-page-save-error-toast',\n message:\n message ??\n this.container.translate(\n err?.code === 'ERR_NETWORK'\n ? 'cairo.entityPage.saveError-offline.toast.description'\n : 'cairo.entityPage.saveError-technical.toast.description',\n ),\n action:\n action || showTryAgain\n ? {\n uiType: 'LINK',\n text:\n action?.text ?? this.container.translate('cairo.toast.retry'),\n onClick: () => {\n if (action?.onClick) {\n action.onClick();\n } else {\n this.bi.reportSaveTryAgain();\n this.handleSubmit(e);\n }\n },\n removeToastOnClick: true,\n }\n : undefined,\n });\n }\n\n _showSuccessToast() {\n const message =\n typeof this.saveSuccessToast === 'string'\n ? this.saveSuccessToast\n : this.saveSuccessToast?.message;\n\n this.container.showToast?.({\n type: 'SUCCESS',\n biName: 'cairo-entity-page-save-success-toast',\n message:\n message ?? this.container.translate('cairo.entityPage.success.toast'),\n });\n }\n\n async handleSubmit(e?: React.BaseSyntheticEvent) {\n if (this.formPage.submitTask.status.isLoading) {\n return;\n }\n\n this.events.emit('save');\n\n const { isValid, data: widgetsFormData } = await this.formPage.validate();\n\n if (!isValid) {\n this.bi.reportButtonClick({\n ctaName: 'Save',\n isValid: false,\n additionalInfo: this.actionsBarConfig?.saveCta?.biAdditionalInfo,\n });\n return;\n }\n\n const {\n form,\n formPage: { submitTask },\n bi,\n } = this;\n\n submitTask.run(async () => {\n let savedEntity: T | undefined;\n let submitSuccessful = false;\n\n await form.handleSubmit(\n async () => {\n bi.reportButtonClick({\n ctaName: 'Save',\n isValid: true,\n additionalInfo: this.actionsBarConfig?.saveCta?.biAdditionalInfo,\n });\n try {\n if (!this.isFetching) {\n const onSaveResult = await this.onSave({\n widgetsFormData,\n });\n savedEntity = onSaveResult?.updatedEntity;\n }\n this._showSuccessToast();\n submitSuccessful = true; // Mark as successful locally\n // Explicitly set isSubmitSuccessful to prevent onBeforeUnload from triggering\n this.isSubmitSuccessful = true;\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({\n ctaName: 'Save',\n isValid: false,\n additionalInfo: this.actionsBarConfig?.saveCta?.biAdditionalInfo,\n });\n }, // can be used to report validation errors\n )(e);\n\n if (!submitSuccessful) {\n return;\n }\n const transformedItem =\n savedEntity && this.transformEntityToCollectionItem\n ? this.transformEntityToCollectionItem(savedEntity)\n : savedEntity;\n this.navigateToParent(transformedItem);\n });\n await this.formPage.submitTask.status.promise;\n }\n\n get initTask() {\n return this.formPage.initTask;\n }\n\n get submitTask() {\n return this.formPage.submitTask;\n }\n\n private _checkPageParams() {\n if (this._withinRouter) {\n if (this._parentPath === undefined) {\n throw new Error('parentPath was not defined in useEntityPage');\n }\n } else {\n if (this._parentPageId === undefined) {\n throw new Error('parentPageId was not defined in useEntityPage');\n }\n\n if (!this.container.navigateTo) {\n throw new Error('navigateTo was not defined in Patterns Provider');\n }\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_bexCore","require","_lodash","_mobx","_EntityPageStateBIReporter","_events","_EntityPageFieldsState","EntityPageState","constructor","params","_defineProperty2","default","EventEmitter","fetch","onSave","saveSuccessToast","saveErrorToast","formPage","FormPageState","form","_parentPageId","parentPageId","transformEntityToCollectionItem","anEntity","_parentPath","parentPath","container","persistencyKey","isEmpty","fields","console","warn","componentId","artifactId","environment","namespace","join","dataCapsule","_createComponentSettings","fieldsState","EntityPageFieldsState","_routerState","routerState","_this$_routerState$cu","_entity","currentState","_chosenEntity","entity","reportBI","createBILogger","componentType","pageType","route","window","location","pathname","bi","EntityPageStateBIReporter","entityPageState","init","makeObservable","handleSubmit","action","observable","ref","setEntity","isFormDirty","computed","_withinRouter","_checkPageParams","initTask","onBeforeUnload","onBeforeUnloadSubscription","event","isMobileDevice","formState","isSubmitSuccessful","_isSubmitSuccessful","preventDefault","reportOnBeforeUnload","runOnce","_this$fieldsState","_this$bi$appLoaded","_this$bi","data","Promise","all","status","promise","appLoaded","call","remove","retryFetch","newEntity","isFetching","flag","isDirty","_isFormDirty","val","onCancel","_this$actionsBarConfi","reportButtonClick","ctaName","additionalInfo","actionsBarConfig","cancelCta","biAdditionalInfo","navigateToParent","updatedEntity","entityStringKey","entityObject","navigate","state","navigateTo","pageId","_showErrorToast","err","e","_this$saveErrorToast","_this$container$showT","_this$container","errorToast","retry","message","showTryAgain","tryAgain","undefined","showToast","type","biName","translate","code","uiType","text","onClick","reportSaveTryAgain","removeToastOnClick","_showSuccessToast","_this$saveSuccessToas","_this$container$showT2","_this$container2","submitTask","isLoading","events","emit","isValid","widgetsFormData","validate","_this$actionsBarConfi2","saveCta","run","savedEntity","submitSuccessful","_this$actionsBarConfi3","onSaveResult","errorMonitor","captureException","setError","_this$actionsBarConfi4","transformedItem","Error","exports"],"sources":["../../../../src/state/EntityPage/EntityPageState.ts"],"sourcesContent":["import {\n FormPageState,\n ReportBI,\n WixPatternsContainer,\n ActionsBarConfig,\n isMobileDevice,\n} from '@wix/bex-core';\nimport { isEmpty } from 'lodash';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport { FieldValues, UseFormReturn } from 'react-hook-form';\nimport { EntityPageStateBIReporter } from './EntityPageStateBIReporter';\nimport { EventEmitter, TypedEmitter } from '@wix/bex-core/events';\nimport { WixPatternsRouterState } from '../WixPatternsRouterState';\nimport {\n EntityPageFieldsState,\n EntityViewConfig,\n} from './EntityPageFieldsState';\n\ntype OnSaveParams = {\n widgetsFormData: { [key: string]: any };\n};\n\ninterface EntityPageStateParamsBase<T, V extends FieldValues = FieldValues> {\n /**\n * A function that fetches the entity data.\n * @returns a promise that resolves to an object containing the entity.\n */\n fetch: () => Promise<{ entity: T | undefined }>;\n\n /**\n * A function to handle the save action.\n * @returns promise that resolves to an object that contains a 'updatedEntity' object.\n */\n onSave: (params: OnSaveParams) => Promise<{ updatedEntity: T }>;\n\n /**\n * An optional object with an optional message, or it can directly get a string message.\n */\n saveSuccessToast?: { message?: string } | string;\n\n /**\n * An optional function to display an error toast message when a save operation fails.\n * @returns An object with a `message` and an `action` object. Alternatively, it can return an object with an optional `message` and a `tryAgain` flag, or a string message.\n * The previous return types are still supported but are now deprecated.\n */\n saveErrorToast?: (\n err: unknown,\n params: { retry: () => void },\n ) =>\n | {\n message?: string;\n /**\n * @deprecated use `action` instead\n */\n tryAgain?: boolean;\n action?: { text: string; onClick: () => void };\n }\n | string;\n\n /**\n * An optional function to transform the updated entity data before it is passed to the collection page.\n * @param entity the updated entity.\n * @returns an object representing the entity in the collection page.\n */\n transformEntityToCollectionItem?: (entity: T) => any;\n\n form: UseFormReturn<V>;\n /**\n * An object representing the container, possibly for dependency injection or component management.\n */\n container: WixPatternsContainer;\n\n /**\n * A string representing the ID of the parent page.\n * Must be passed if not using Patterns Router\n */\n parentPageId?: string;\n\n /**\n * A string representing the path of the parent page.\n * Must be passed if using Patterns Router\n */\n parentPath?: string;\n\n /**\n * An object representing the router state\n */\n routerState?: WixPatternsRouterState | null;\n\n /**\n * An optional object to override the actions bar.\n */\n actionsBarConfig?: ActionsBarConfig;\n}\n\n/**\n * Pass both `fields` and `persistencyKey` together to enable field order and visibility persistency.\n * Omit both to disable persistency.\n */\nexport type EntityPageStateParams<\n T,\n V extends FieldValues = FieldValues,\n> = EntityPageStateParamsBase<T, V> &\n (\n | {\n /**\n * Field definitions for persistency.\n * Must be accompanied by `persistencyKey`.\n */\n fields: EntityViewConfig[];\n /**\n * A unique key identifying this entity page, used as the storage namespace for field\n * order and visibility persistency. Required when `fields` is set.\n * Should be unique per entity page type within the app (e.g. 'contacts', 'products').\n */\n persistencyKey: string;\n }\n | {\n fields?: never;\n persistencyKey?: never;\n }\n );\n\nexport interface EntityPageStateInterface {}\n\nexport interface EntityPageWidgetState {\n validate: () => Promise<{ isValid: boolean; values?: any }>;\n isDirty: boolean;\n}\n\nexport class EntityPageState<T, V extends FieldValues = FieldValues>\n implements EntityPageStateInterface\n{\n readonly fetch: EntityPageStateParams<T>['fetch'];\n readonly onSave: EntityPageStateParams<T, V>['onSave'];\n readonly saveSuccessToast?: EntityPageStateParams<T>['saveSuccessToast'];\n readonly saveErrorToast?: EntityPageStateParams<T>['saveErrorToast'];\n readonly transformEntityToCollectionItem: (entity: T) => any;\n\n _entity: T | null = null;\n private readonly _parentPageId?: string;\n private readonly _parentPath?: string;\n\n actionsBarConfig?: EntityPageStateParams<T>['actionsBarConfig'];\n\n readonly container: WixPatternsContainer;\n readonly reportBI: ReportBI;\n readonly bi: EntityPageStateBIReporter<T, V>;\n readonly fieldsState?: EntityPageFieldsState;\n\n _routerState: WixPatternsRouterState | null = null;\n\n readonly formPage: FormPageState<V>;\n\n readonly events = new EventEmitter() as TypedEmitter<{\n save: () => void;\n saveError: (err: unknown) => void;\n }>;\n\n constructor(params: EntityPageStateParams<T, V>) {\n this.fetch = params.fetch;\n this.onSave = params.onSave;\n this.saveSuccessToast = params.saveSuccessToast;\n this.saveErrorToast = params.saveErrorToast;\n this.formPage = new FormPageState<V>({ form: params.form });\n this._parentPageId = params.parentPageId;\n this.transformEntityToCollectionItem =\n params.transformEntityToCollectionItem || ((anEntity: T) => anEntity);\n this._parentPath = params.parentPath;\n\n this.container = params.container;\n\n if (params.persistencyKey) {\n if (isEmpty(params.fields)) {\n console.warn(\n 'EntityPageState: `fields` is empty — field persistency will not be enabled.',\n );\n } else {\n const { componentId, artifactId } = params.container.environment;\n const namespace = [\n componentId || artifactId,\n params.persistencyKey,\n ].join('.');\n const dataCapsule = params.container._createComponentSettings({\n namespace,\n });\n this.fieldsState = new EntityPageFieldsState({\n dataCapsule,\n fields: params.fields!,\n });\n }\n }\n\n this._routerState = params.routerState ?? null;\n\n if (this._routerState) {\n this._entity = this._routerState.currentState?._chosenEntity?.entity;\n }\n\n this.reportBI = this.container.createBILogger({\n componentType: 'Entity page',\n pageType: 'Entity',\n route: window.location.pathname,\n });\n\n this.bi = new EntityPageStateBIReporter({\n reportBI: this.reportBI,\n entityPageState: this,\n });\n this.bi.init();\n\n makeObservable(this, {\n handleSubmit: action,\n _entity: observable.ref,\n setEntity: action,\n isFormDirty: computed,\n _withinRouter: computed,\n });\n }\n\n init() {\n this._checkPageParams();\n const {\n formPage: { initTask },\n container,\n } = this;\n const { onBeforeUnload } = container;\n\n const onBeforeUnloadSubscription = onBeforeUnload?.(\n action((event: Event) => {\n if (isMobileDevice()) {\n return;\n }\n\n const { form } = this;\n // Check both react-hook-form's state AND the explicitly set flag\n if (\n form.formState.isSubmitSuccessful ||\n this.formPage._isSubmitSuccessful ||\n !this.isFormDirty\n ) {\n return;\n }\n event.preventDefault();\n this.bi.reportOnBeforeUnload();\n }),\n );\n\n initTask.runOnce(async () => {\n this.fieldsState?.init(); // starts async storage read (non-blocking)\n const [data] = await Promise.all([\n this.fetch(),\n container.initTask.status.promise,\n ]);\n\n this.setEntity(data.entity ?? null);\n this.bi.appLoaded?.();\n });\n\n return () => {\n onBeforeUnloadSubscription?.remove();\n };\n }\n\n retryFetch() {\n this.formPage.retryFetch();\n }\n\n setEntity(newEntity: T | null) {\n this._entity = newEntity;\n }\n\n get entity(): T | null {\n return this._entity;\n }\n\n get isFetching() {\n return this.formPage.isFetching;\n }\n\n get form() {\n return this.formPage.form;\n }\n\n set isSubmitSuccessful(flag: boolean) {\n this.formPage.isSubmitSuccessful = flag;\n }\n\n get isFormDirty() {\n return this.formPage.isDirty;\n }\n\n // backwards compatibility\n set _isFormDirty(val: boolean) {\n this.formPage._isFormDirty = val;\n }\n\n get _withinRouter() {\n return !!this._routerState;\n }\n\n onCancel() {\n this.bi.reportButtonClick({\n ctaName: 'Cancel',\n additionalInfo: this.actionsBarConfig?.cancelCta?.biAdditionalInfo,\n });\n this.navigateToParent();\n }\n\n navigateToParent(updatedEntity?: any) {\n const entityStringKey = this._entity ? '_updatedEntity' : '_createdEntity';\n const entityObject = { [entityStringKey]: updatedEntity };\n\n if (this._withinRouter) {\n this._routerState!.navigate(this._parentPath!, { state: entityObject });\n } else {\n this.container.navigateTo!({\n pageId: this._parentPageId!,\n });\n }\n }\n\n _showErrorToast(err: any, e?: React.BaseSyntheticEvent) {\n const errorToast = this.saveErrorToast?.(err, {\n retry: () => this.handleSubmit(e),\n });\n const message =\n typeof errorToast === 'string' ? errorToast : errorToast?.message;\n const showTryAgain =\n typeof errorToast === 'string' ? true : errorToast?.tryAgain !== false;\n const action =\n typeof errorToast === 'string' ? undefined : errorToast?.action;\n\n this.container.showToast?.({\n type: 'ERROR',\n biName: 'cairo-entity-page-save-error-toast',\n message:\n message ??\n this.container.translate(\n err?.code === 'ERR_NETWORK'\n ? 'cairo.entityPage.saveError-offline.toast.description'\n : 'cairo.entityPage.saveError-technical.toast.description',\n ),\n action:\n action || showTryAgain\n ? {\n uiType: 'LINK',\n text:\n action?.text ?? this.container.translate('cairo.toast.retry'),\n onClick: () => {\n if (action?.onClick) {\n action.onClick();\n } else {\n this.bi.reportSaveTryAgain();\n this.handleSubmit(e);\n }\n },\n removeToastOnClick: true,\n }\n : undefined,\n });\n }\n\n _showSuccessToast() {\n const message =\n typeof this.saveSuccessToast === 'string'\n ? this.saveSuccessToast\n : this.saveSuccessToast?.message;\n\n this.container.showToast?.({\n type: 'SUCCESS',\n biName: 'cairo-entity-page-save-success-toast',\n message:\n message ?? this.container.translate('cairo.entityPage.success.toast'),\n });\n }\n\n async handleSubmit(e?: React.BaseSyntheticEvent) {\n if (this.formPage.submitTask.status.isLoading) {\n return;\n }\n\n this.events.emit('save');\n\n const { isValid, data: widgetsFormData } = await this.formPage.validate();\n\n if (!isValid) {\n this.bi.reportButtonClick({\n ctaName: 'Save',\n isValid: false,\n additionalInfo: this.actionsBarConfig?.saveCta?.biAdditionalInfo,\n });\n return;\n }\n\n const {\n form,\n formPage: { submitTask },\n bi,\n } = this;\n\n submitTask.run(async () => {\n let savedEntity: T | undefined;\n let submitSuccessful = false;\n\n await form.handleSubmit(\n async () => {\n bi.reportButtonClick({\n ctaName: 'Save',\n isValid: true,\n additionalInfo: this.actionsBarConfig?.saveCta?.biAdditionalInfo,\n });\n try {\n if (!this.isFetching) {\n const onSaveResult = await this.onSave({\n widgetsFormData,\n });\n savedEntity = onSaveResult?.updatedEntity;\n }\n this._showSuccessToast();\n submitSuccessful = true; // Mark as successful locally\n // Explicitly set isSubmitSuccessful to prevent onBeforeUnload from triggering\n this.isSubmitSuccessful = true;\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({\n ctaName: 'Save',\n isValid: false,\n additionalInfo: this.actionsBarConfig?.saveCta?.biAdditionalInfo,\n });\n }, // can be used to report validation errors\n )(e);\n\n if (!submitSuccessful) {\n return;\n }\n const transformedItem =\n savedEntity && this.transformEntityToCollectionItem\n ? this.transformEntityToCollectionItem(savedEntity)\n : savedEntity;\n this.navigateToParent(transformedItem);\n });\n await this.formPage.submitTask.status.promise;\n }\n\n get initTask() {\n return this.formPage.initTask;\n }\n\n get submitTask() {\n return this.formPage.submitTask;\n }\n\n private _checkPageParams() {\n if (this._withinRouter) {\n if (this._parentPath === undefined) {\n throw new Error('parentPath was not defined in useEntityPage');\n }\n } else {\n if (this._parentPageId === undefined) {\n throw new Error('parentPageId was not defined in useEntityPage');\n }\n\n if (!this.container.navigateTo) {\n throw new Error('navigateTo was not defined in Patterns Provider');\n }\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_EntityPageState","require","Object","keys","forEach","key","exports","_useEntityPageHeader","_useEntityPageContent"],"sources":["../../../../src/state/EntityPage/index.ts"],"sourcesContent":["export * from './EntityPageState';\nexport * from './useEntityPageHeader';\nexport * from './useEntityPageContent';\n"],"mappings":";;;AAAA,IAAAA,gBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,gBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,gBAAA,CAAAK,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAL,gBAAA,CAAAK,GAAA;AAAA;AACA,IAAAE,oBAAA,GAAAN,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAI,oBAAA,EAAAH,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAE,oBAAA,CAAAF,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAE,oBAAA,CAAAF,GAAA;AAAA;AACA,IAAAG,qBAAA,GAAAP,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAK,qBAAA,EAAAJ,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAG,qBAAA,CAAAH,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAG,qBAAA,CAAAH,GAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["_EntityPageState","require","Object","keys","forEach","key","exports","_useEntityPageHeader","_useEntityPageContent"],"sources":["../../../../src/state/EntityPage/index.ts"],"sourcesContent":["export * from './EntityPageState';\nexport type { EntityViewConfig } from './EntityPageFieldsState';\nexport * from './useEntityPageHeader';\nexport * from './useEntityPageContent';\n"],"mappings":";;;AAAA,IAAAA,gBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,gBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,gBAAA,CAAAK,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAL,gBAAA,CAAAK,GAAA;AAAA;AAEA,IAAAE,oBAAA,GAAAN,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAI,oBAAA,EAAAH,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAE,oBAAA,CAAAF,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAE,oBAAA,CAAAF,GAAA;AAAA;AACA,IAAAG,qBAAA,GAAAP,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAK,qBAAA,EAAAJ,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAG,qBAAA,CAAAH,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAG,qBAAA,CAAAH,GAAA;AAAA","ignoreList":[]}
@@ -5,14 +5,14 @@ exports.vars = exports.style = exports.stVars = exports.st = exports.namespace =
5
5
  var _stylableEsmRuntime = require("../../stylable-esm-runtime.js");
6
6
  // @ts-nocheck
7
7
 
8
- var _namespace_ = "FormPageHeader3242311320";
8
+ var _namespace_ = "FormPageHeader624971763";
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": "FormPageHeader3242311320__root"
15
+ "root": "FormPageHeader624971763__root"
16
16
  };
17
17
  var keyframes = exports.keyframes = {};
18
18
  var layers = exports.layers = {};
@@ -1 +1 @@
1
- {"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../src/state/FormPage/FormPageHeader.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"FormPageHeader3242311320\";\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\":\"FormPageHeader3242311320__root\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {}; \n\n\n\n\n"],"mappings":";;;;AAGA,IAAAA,mBAAA,GAAAC,OAAA;AAHA;;AAOA,IAAIC,WAAW,GAAG,0BAA0B;AAC5C,IAAIC,OAAO,GAAGC,kCAAc,CAACC,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AAE7C,IAAII,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAGE,iCAAa,CAACH,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AACrD,IAAIO,KAAK,GAAAF,OAAA,CAAAE,KAAA,GAAGN,OAAO;AACnB,IAAIO,EAA0C,GAAAH,OAAA,CAAAG,EAAA,GAAGP,OAAO;AAExD,IAAIQ,SAAS,GAAAJ,OAAA,CAAAI,SAAA,GAAGT,WAAW;AAC3B,IAAIU,OAAO,GAAAL,OAAA,CAAAK,OAAA,GAAG;EAAC,MAAM,EAAC;AAAgC,CAAC;AACvD,IAAIC,SAAS,GAAAN,OAAA,CAAAM,SAAA,GAAG,CAAC,CAAC;AAClB,IAAIC,MAAM,GAAAP,OAAA,CAAAO,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,UAAU,GAAAR,OAAA,CAAAQ,UAAA,GAAG,CAAC,CAAC;AACnB,IAAIC,MAAM,GAAAT,OAAA,CAAAS,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,IAAI,GAAAV,OAAA,CAAAU,IAAA,GAAG,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../src/state/FormPage/FormPageHeader.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"FormPageHeader624971763\";\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\":\"FormPageHeader624971763__root\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {}; \n\n\n\n\n"],"mappings":";;;;AAGA,IAAAA,mBAAA,GAAAC,OAAA;AAHA;;AAOA,IAAIC,WAAW,GAAG,yBAAyB;AAC3C,IAAIC,OAAO,GAAGC,kCAAc,CAACC,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AAE7C,IAAII,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAGE,iCAAa,CAACH,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AACrD,IAAIO,KAAK,GAAAF,OAAA,CAAAE,KAAA,GAAGN,OAAO;AACnB,IAAIO,EAA0C,GAAAH,OAAA,CAAAG,EAAA,GAAGP,OAAO;AAExD,IAAIQ,SAAS,GAAAJ,OAAA,CAAAI,SAAA,GAAGT,WAAW;AAC3B,IAAIU,OAAO,GAAAL,OAAA,CAAAK,OAAA,GAAG;EAAC,MAAM,EAAC;AAA+B,CAAC;AACtD,IAAIC,SAAS,GAAAN,OAAA,CAAAM,SAAA,GAAG,CAAC,CAAC;AAClB,IAAIC,MAAM,GAAAP,OAAA,CAAAO,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,UAAU,GAAAR,OAAA,CAAAQ,UAAA,GAAG,CAAC,CAAC;AACnB,IAAIC,MAAM,GAAAT,OAAA,CAAAS,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,IAAI,GAAAV,OAAA,CAAAU,IAAA,GAAG,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ //# sourceMappingURL=ILayoutSwitchState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["../../../src/state/ILayoutSwitchState.ts"],"sourcesContent":["import { FiltersMap, TaskState } from '@wix/bex-core';\nimport { ToolbarCollectionState } from './ToolbarCollectionState';\nimport { ViewTypeState } from './ViewTypeState';\n\nexport interface ILayoutSwitchState<T, F extends FiltersMap> {\n readonly viewTypeState: ViewTypeState;\n readonly toolbar: ToolbarCollectionState<T, F>;\n readonly initTask: TaskState<unknown>;\n init(): void;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports.LayoutSwitchState = void 0;
6
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
7
+ var _bexCore = require("@wix/bex-core");
8
+ var _mobx = require("mobx");
9
+ var _EditableTable = require("./EditableTable");
10
+ var _GridState = require("./GridState");
11
+ var _TableState = require("./TableState");
12
+ var _ToolbarCollectionState = require("./ToolbarCollectionState");
13
+ var _ViewTypeState = require("./ViewTypeState");
14
+ const componentType = 'LayoutSwitch';
15
+ class LayoutSwitchState {
16
+ get viewType() {
17
+ return this.viewTypeState.viewType;
18
+ }
19
+ set viewType(v) {
20
+ (0, _mobx.runInAction)(() => {
21
+ this.viewTypeState.viewType = v;
22
+ });
23
+ }
24
+ get options() {
25
+ return this.viewTypeState.options;
26
+ }
27
+ constructor(params) {
28
+ (0, _defineProperty2.default)(this, "collection", void 0);
29
+ (0, _defineProperty2.default)(this, "toolbar", void 0);
30
+ (0, _defineProperty2.default)(this, "containerOverrides", void 0);
31
+ (0, _defineProperty2.default)(this, "tableState", void 0);
32
+ (0, _defineProperty2.default)(this, "gridState", void 0);
33
+ (0, _defineProperty2.default)(this, "spreadsheetState", void 0);
34
+ (0, _defineProperty2.default)(this, "viewTypeState", void 0);
35
+ (0, _defineProperty2.default)(this, "initTask", new _bexCore.TaskState());
36
+ this.collection = params.collection;
37
+ this.containerOverrides = params.containerOverrides;
38
+ this.toolbar = new _ToolbarCollectionState.ToolbarCollectionState({
39
+ componentType,
40
+ collection: this.collection,
41
+ container: params.container,
42
+ reportBi: biParams => params.container.reportBi({
43
+ ...biParams,
44
+ params: {
45
+ ...biParams.params,
46
+ componentStatus: this.viewTypeState.viewType
47
+ }
48
+ })
49
+ });
50
+ this.tableState = params.table ? new _TableState.TableState({
51
+ collection: this.collection,
52
+ container: params.container,
53
+ toolbar: this.toolbar
54
+ }) : undefined;
55
+ this.gridState = params.grid ? new _GridState.GridState({
56
+ collection: this.collection,
57
+ container: params.container,
58
+ toolbar: this.toolbar
59
+ }) : undefined;
60
+ this.spreadsheetState = params.spreadsheet ? new _EditableTable.EditableTableState({
61
+ collection: this.collection,
62
+ container: params.container,
63
+ toolbar: this.toolbar,
64
+ mutations: params.spreadsheet.mutations,
65
+ permissions: params.spreadsheet.permissions,
66
+ createOptimisticActions: params.spreadsheet.createOptimisticActions
67
+ }) : undefined;
68
+ const enabledLayouts = [params.table ? 'table' : null, params.grid ? 'grid' : null, params.spreadsheet ? 'spreadsheet' : null].filter(Boolean);
69
+ this.viewTypeState = new _ViewTypeState.ViewTypeState({
70
+ container: params.container,
71
+ dataCapsule: this.toolbar.dataCapsule,
72
+ componentType,
73
+ collection: this.collection,
74
+ options: enabledLayouts
75
+ });
76
+ this.toolbar.layoutState = this;
77
+ (0, _mobx.makeObservable)(this, {
78
+ viewType: _mobx.computed,
79
+ options: _mobx.computed
80
+ });
81
+ }
82
+ init() {
83
+ const {
84
+ viewTypeState,
85
+ initTask
86
+ } = this;
87
+ viewTypeState.init();
88
+ initTask.runOnce(async () => {
89
+ viewTypeState.initTask.runOnce();
90
+ await viewTypeState.initTask.status.promise;
91
+ });
92
+ }
93
+ }
94
+ exports.LayoutSwitchState = LayoutSwitchState;
95
+ //# sourceMappingURL=LayoutSwitchState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_bexCore","require","_mobx","_EditableTable","_GridState","_TableState","_ToolbarCollectionState","_ViewTypeState","componentType","LayoutSwitchState","viewType","viewTypeState","v","runInAction","options","constructor","params","_defineProperty2","default","TaskState","collection","containerOverrides","toolbar","ToolbarCollectionState","container","reportBi","biParams","componentStatus","tableState","table","TableState","undefined","gridState","grid","GridState","spreadsheetState","spreadsheet","EditableTableState","mutations","permissions","createOptimisticActions","enabledLayouts","filter","Boolean","ViewTypeState","dataCapsule","layoutState","makeObservable","computed","init","initTask","runOnce","status","promise","exports"],"sources":["../../../src/state/LayoutSwitchState.ts"],"sourcesContent":["import {\n CollectionOptimisticActions,\n CollectionState,\n FiltersMap,\n TaskState,\n WixPatternsContainer,\n WixPatternsContainerParams,\n} from '@wix/bex-core';\nimport { computed, makeObservable, runInAction } from 'mobx';\nimport {\n EditableTableState,\n EditableTablePermissions,\n EditableTableMutationHandlers,\n} from './EditableTable';\nimport { GridState } from './GridState';\nimport { ICollectionComponentState } from './ICollectionComponentState';\nimport { ILayoutSwitchState } from './ILayoutSwitchState';\nimport { TableState } from './TableState';\nimport { ToolbarCollectionState } from './ToolbarCollectionState';\nimport { ViewType, ViewTypeState } from './ViewTypeState';\n\nexport interface TableLayoutConfig {}\n\nexport interface GridLayoutConfig {}\n\nexport interface SpreadsheetLayoutConfig<T, F extends FiltersMap> {\n mutations: EditableTableMutationHandlers<T>;\n permissions?: EditableTablePermissions;\n createOptimisticActions: (\n collection: CollectionState<T, F>,\n ) => CollectionOptimisticActions<T, F>;\n}\n\nexport interface LayoutSwitchStateParams<T, F extends FiltersMap> {\n collection: CollectionState<T, F>;\n container: WixPatternsContainer;\n containerOverrides: Partial<WixPatternsContainerParams>;\n table?: TableLayoutConfig;\n grid?: GridLayoutConfig;\n spreadsheet?: SpreadsheetLayoutConfig<T, F>;\n}\n\nconst componentType = 'LayoutSwitch';\n\nexport class LayoutSwitchState<T, F extends FiltersMap>\n implements ICollectionComponentState, ILayoutSwitchState<T, F>\n{\n readonly collection: CollectionState<T, F>;\n readonly toolbar: ToolbarCollectionState<T, F>;\n readonly containerOverrides: Partial<WixPatternsContainerParams>;\n readonly tableState: TableState<T, F> | undefined;\n readonly gridState: GridState<T, F> | undefined;\n readonly spreadsheetState: EditableTableState<T, F> | undefined;\n readonly viewTypeState: ViewTypeState;\n readonly initTask = new TaskState();\n\n get viewType(): ViewType {\n return this.viewTypeState.viewType;\n }\n\n set viewType(v: ViewType) {\n runInAction(() => {\n this.viewTypeState.viewType = v;\n });\n }\n\n get options(): ViewType[] {\n return this.viewTypeState.options;\n }\n\n constructor(params: LayoutSwitchStateParams<T, F>) {\n this.collection = params.collection;\n this.containerOverrides = params.containerOverrides;\n\n this.toolbar = new ToolbarCollectionState({\n componentType,\n collection: this.collection,\n container: params.container,\n reportBi: (biParams) =>\n params.container.reportBi({\n ...biParams,\n params: {\n ...biParams.params,\n componentStatus: this.viewTypeState.viewType,\n },\n }),\n });\n\n this.tableState = params.table\n ? new TableState({\n collection: this.collection,\n container: params.container,\n toolbar: this.toolbar,\n })\n : undefined;\n\n this.gridState = params.grid\n ? new GridState({\n collection: this.collection,\n container: params.container,\n toolbar: this.toolbar,\n })\n : undefined;\n\n this.spreadsheetState = params.spreadsheet\n ? new EditableTableState({\n collection: this.collection,\n container: params.container,\n toolbar: this.toolbar,\n mutations: params.spreadsheet.mutations,\n permissions: params.spreadsheet.permissions,\n createOptimisticActions: params.spreadsheet.createOptimisticActions,\n })\n : undefined;\n\n const enabledLayouts: ViewType[] = [\n params.table ? 'table' : null,\n params.grid ? 'grid' : null,\n params.spreadsheet ? 'spreadsheet' : null,\n ].filter(Boolean) as ViewType[];\n\n this.viewTypeState = new ViewTypeState({\n container: params.container,\n dataCapsule: this.toolbar.dataCapsule,\n componentType,\n collection: this.collection,\n options: enabledLayouts,\n });\n\n this.toolbar.layoutState = this;\n\n makeObservable(this, {\n viewType: computed,\n options: computed,\n });\n }\n\n init() {\n const { viewTypeState, initTask } = this;\n viewTypeState.init();\n\n initTask.runOnce(async () => {\n viewTypeState.initTask.runOnce();\n await viewTypeState.initTask.status.promise;\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -47,7 +47,8 @@ class TableGridSwitchFoldersState {
47
47
  this.viewTypeState = new _ViewTypeState.ViewTypeState({
48
48
  container: this.container,
49
49
  dataCapsule: this.toolbar.dataCapsule,
50
- componentType: 'TableGridSwitchFolders'
50
+ componentType: 'TableGridSwitchFolders',
51
+ options: ['table', 'grid']
51
52
  });
52
53
  this.toolbar.layoutState = this;
53
54
  (0, _mobx.makeObservable)(this, {
@@ -1 +1 @@
1
- {"version":3,"names":["_bexCore","require","_GridFoldersState","_TableFoldersState","_mobx","_ToolbarCollectionState","_ViewTypeState","TableGridSwitchFoldersState","constructor","params","_defineProperty2","default","TaskState","container","containerOverrides","tableFoldersState","TableFoldersState","items","folders","toolbar","ToolbarCollectionState","componentType","collection","reportBi","biParams","componentStatus","viewTypeState","viewType","gridFoldersState","GridFoldersState","collections","ViewTypeState","dataCapsule","layoutState","makeObservable","computed","runInAction","init","initTask","runOnce","exports"],"sources":["../../../src/state/TableGridSwitchFoldersState.ts"],"sourcesContent":["import {\n WixPatternsContainer,\n WixPatternsContainerParams,\n CollectionState,\n FiltersMap,\n TaskState,\n} from '@wix/bex-core';\nimport { GridFoldersState } from './GridFoldersState';\nimport { TableFoldersState } from './TableFoldersState';\nimport { runInAction, makeObservable, computed } from 'mobx';\nimport { ToolbarCollectionState } from './ToolbarCollectionState';\nimport { PartialAllFilters } from './FoldersAndItemsCollectionsState';\nimport { ViewTypeState, ViewType } from './ViewTypeState';\nimport { ICollectionComponentState } from './ICollectionComponentState';\n\nexport interface TableGridSwitchStateFoldersParams<\n T1,\n F1 extends FiltersMap,\n T2,\n F2 extends FiltersMap,\n> {\n readonly items: CollectionState<T1, F1>;\n readonly folders: CollectionState<T2, F2>;\n readonly container: WixPatternsContainer;\n readonly containerOverrides: Partial<WixPatternsContainerParams>;\n}\nexport class TableGridSwitchFoldersState<\n T1,\n F1 extends FiltersMap,\n T2,\n F2 extends FiltersMap,\n> implements ICollectionComponentState\n{\n readonly container;\n readonly initTask = new TaskState();\n readonly containerOverrides: Partial<WixPatternsContainerParams>;\n\n readonly gridFoldersState: GridFoldersState<T1, F1, T2, F2>;\n readonly tableFoldersState: TableFoldersState<T1, F1, T2, F2>;\n readonly viewTypeState: ViewTypeState;\n\n constructor(params: TableGridSwitchStateFoldersParams<T1, F1, T2, F2>) {\n this.container = params.container;\n this.containerOverrides = params.containerOverrides;\n\n this.tableFoldersState = new TableFoldersState({\n items: params.items,\n folders: params.folders,\n container: this.container,\n toolbar: new ToolbarCollectionState({\n componentType: 'TableGridSwitchFolders',\n collection: params.items as CollectionState<T1, {}> as CollectionState<\n T1,\n PartialAllFilters<F1, F2>\n >,\n container: params.container,\n reportBi: (biParams) =>\n this.container.reportBi({\n ...biParams,\n params: {\n ...biParams.params,\n componentStatus: this.viewTypeState.viewType,\n },\n }),\n }),\n });\n\n this.gridFoldersState = new GridFoldersState({\n items: params.items,\n folders: params.folders,\n container: this.container,\n toolbar: this.tableFoldersState.toolbar,\n collections: this.tableFoldersState.collections,\n });\n\n this.viewTypeState = new ViewTypeState({\n container: this.container,\n dataCapsule: this.toolbar.dataCapsule,\n componentType: 'TableGridSwitchFolders',\n });\n\n this.toolbar.layoutState = this;\n\n makeObservable(this, {\n viewType: computed,\n });\n }\n\n get viewType() {\n return this.viewTypeState.viewType;\n }\n\n set viewType(viewType: ViewType) {\n runInAction(() => {\n this.viewTypeState.viewType = viewType;\n });\n }\n\n get toolbar() {\n return this.tableFoldersState.toolbar;\n }\n\n init() {\n this.initTask.runOnce(async () => {\n await this.viewTypeState.init();\n });\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAOA,IAAAC,iBAAA,GAAAD,OAAA;AACA,IAAAE,kBAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,uBAAA,GAAAJ,OAAA;AAEA,IAAAK,cAAA,GAAAL,OAAA;AAcO,MAAMM,2BAA2B,CAMxC;EASEC,WAAWA,CAACC,MAAyD,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,oBAPnD,IAAIC,kBAAS,CAAC,CAAC;IAAA,IAAAF,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAQjC,IAAI,CAACE,SAAS,GAAGJ,MAAM,CAACI,SAAS;IACjC,IAAI,CAACC,kBAAkB,GAAGL,MAAM,CAACK,kBAAkB;IAEnD,IAAI,CAACC,iBAAiB,GAAG,IAAIC,oCAAiB,CAAC;MAC7CC,KAAK,EAAER,MAAM,CAACQ,KAAK;MACnBC,OAAO,EAAET,MAAM,CAACS,OAAO;MACvBL,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBM,OAAO,EAAE,IAAIC,8CAAsB,CAAC;QAClCC,aAAa,EAAE,wBAAwB;QACvCC,UAAU,EAAEb,MAAM,CAACQ,KAGlB;QACDJ,SAAS,EAAEJ,MAAM,CAACI,SAAS;QAC3BU,QAAQ,EAAGC,QAAQ,IACjB,IAAI,CAACX,SAAS,CAACU,QAAQ,CAAC;UACtB,GAAGC,QAAQ;UACXf,MAAM,EAAE;YACN,GAAGe,QAAQ,CAACf,MAAM;YAClBgB,eAAe,EAAE,IAAI,CAACC,aAAa,CAACC;UACtC;QACF,CAAC;MACL,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,CAACC,gBAAgB,GAAG,IAAIC,kCAAgB,CAAC;MAC3CZ,KAAK,EAAER,MAAM,CAACQ,KAAK;MACnBC,OAAO,EAAET,MAAM,CAACS,OAAO;MACvBL,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBM,OAAO,EAAE,IAAI,CAACJ,iBAAiB,CAACI,OAAO;MACvCW,WAAW,EAAE,IAAI,CAACf,iBAAiB,CAACe;IACtC,CAAC,CAAC;IAEF,IAAI,CAACJ,aAAa,GAAG,IAAIK,4BAAa,CAAC;MACrClB,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBmB,WAAW,EAAE,IAAI,CAACb,OAAO,CAACa,WAAW;MACrCX,aAAa,EAAE;IACjB,CAAC,CAAC;IAEF,IAAI,CAACF,OAAO,CAACc,WAAW,GAAG,IAAI;IAE/B,IAAAC,oBAAc,EAAC,IAAI,EAAE;MACnBP,QAAQ,EAAEQ;IACZ,CAAC,CAAC;EACJ;EAEA,IAAIR,QAAQA,CAAA,EAAG;IACb,OAAO,IAAI,CAACD,aAAa,CAACC,QAAQ;EACpC;EAEA,IAAIA,QAAQA,CAACA,QAAkB,EAAE;IAC/B,IAAAS,iBAAW,EAAC,MAAM;MAChB,IAAI,CAACV,aAAa,CAACC,QAAQ,GAAGA,QAAQ;IACxC,CAAC,CAAC;EACJ;EAEA,IAAIR,OAAOA,CAAA,EAAG;IACZ,OAAO,IAAI,CAACJ,iBAAiB,CAACI,OAAO;EACvC;EAEAkB,IAAIA,CAAA,EAAG;IACL,IAAI,CAACC,QAAQ,CAACC,OAAO,CAAC,YAAY;MAChC,MAAM,IAAI,CAACb,aAAa,CAACW,IAAI,CAAC,CAAC;IACjC,CAAC,CAAC;EACJ;AACF;AAACG,OAAA,CAAAjC,2BAAA,GAAAA,2BAAA","ignoreList":[]}
1
+ {"version":3,"names":["_bexCore","require","_GridFoldersState","_TableFoldersState","_mobx","_ToolbarCollectionState","_ViewTypeState","TableGridSwitchFoldersState","constructor","params","_defineProperty2","default","TaskState","container","containerOverrides","tableFoldersState","TableFoldersState","items","folders","toolbar","ToolbarCollectionState","componentType","collection","reportBi","biParams","componentStatus","viewTypeState","viewType","gridFoldersState","GridFoldersState","collections","ViewTypeState","dataCapsule","options","layoutState","makeObservable","computed","runInAction","init","initTask","runOnce","exports"],"sources":["../../../src/state/TableGridSwitchFoldersState.ts"],"sourcesContent":["import {\n WixPatternsContainer,\n WixPatternsContainerParams,\n CollectionState,\n FiltersMap,\n TaskState,\n} from '@wix/bex-core';\nimport { GridFoldersState } from './GridFoldersState';\nimport { TableFoldersState } from './TableFoldersState';\nimport { runInAction, makeObservable, computed } from 'mobx';\nimport { ToolbarCollectionState } from './ToolbarCollectionState';\nimport { PartialAllFilters } from './FoldersAndItemsCollectionsState';\nimport { ViewTypeState, ViewType } from './ViewTypeState';\nimport { ICollectionComponentState } from './ICollectionComponentState';\n\nexport interface TableGridSwitchStateFoldersParams<\n T1,\n F1 extends FiltersMap,\n T2,\n F2 extends FiltersMap,\n> {\n readonly items: CollectionState<T1, F1>;\n readonly folders: CollectionState<T2, F2>;\n readonly container: WixPatternsContainer;\n readonly containerOverrides: Partial<WixPatternsContainerParams>;\n}\nexport class TableGridSwitchFoldersState<\n T1,\n F1 extends FiltersMap,\n T2,\n F2 extends FiltersMap,\n> implements ICollectionComponentState\n{\n readonly container;\n readonly initTask = new TaskState();\n readonly containerOverrides: Partial<WixPatternsContainerParams>;\n\n readonly gridFoldersState: GridFoldersState<T1, F1, T2, F2>;\n readonly tableFoldersState: TableFoldersState<T1, F1, T2, F2>;\n readonly viewTypeState: ViewTypeState;\n\n constructor(params: TableGridSwitchStateFoldersParams<T1, F1, T2, F2>) {\n this.container = params.container;\n this.containerOverrides = params.containerOverrides;\n\n this.tableFoldersState = new TableFoldersState({\n items: params.items,\n folders: params.folders,\n container: this.container,\n toolbar: new ToolbarCollectionState({\n componentType: 'TableGridSwitchFolders',\n collection: params.items as CollectionState<T1, {}> as CollectionState<\n T1,\n PartialAllFilters<F1, F2>\n >,\n container: params.container,\n reportBi: (biParams) =>\n this.container.reportBi({\n ...biParams,\n params: {\n ...biParams.params,\n componentStatus: this.viewTypeState.viewType,\n },\n }),\n }),\n });\n\n this.gridFoldersState = new GridFoldersState({\n items: params.items,\n folders: params.folders,\n container: this.container,\n toolbar: this.tableFoldersState.toolbar,\n collections: this.tableFoldersState.collections,\n });\n\n this.viewTypeState = new ViewTypeState({\n container: this.container,\n dataCapsule: this.toolbar.dataCapsule,\n componentType: 'TableGridSwitchFolders',\n options: ['table', 'grid'],\n });\n\n this.toolbar.layoutState = this;\n\n makeObservable(this, {\n viewType: computed,\n });\n }\n\n get viewType() {\n return this.viewTypeState.viewType;\n }\n\n set viewType(viewType: ViewType) {\n runInAction(() => {\n this.viewTypeState.viewType = viewType;\n });\n }\n\n get toolbar() {\n return this.tableFoldersState.toolbar;\n }\n\n init() {\n this.initTask.runOnce(async () => {\n await this.viewTypeState.init();\n });\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAOA,IAAAC,iBAAA,GAAAD,OAAA;AACA,IAAAE,kBAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,uBAAA,GAAAJ,OAAA;AAEA,IAAAK,cAAA,GAAAL,OAAA;AAcO,MAAMM,2BAA2B,CAMxC;EASEC,WAAWA,CAACC,MAAyD,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,oBAPnD,IAAIC,kBAAS,CAAC,CAAC;IAAA,IAAAF,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAQjC,IAAI,CAACE,SAAS,GAAGJ,MAAM,CAACI,SAAS;IACjC,IAAI,CAACC,kBAAkB,GAAGL,MAAM,CAACK,kBAAkB;IAEnD,IAAI,CAACC,iBAAiB,GAAG,IAAIC,oCAAiB,CAAC;MAC7CC,KAAK,EAAER,MAAM,CAACQ,KAAK;MACnBC,OAAO,EAAET,MAAM,CAACS,OAAO;MACvBL,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBM,OAAO,EAAE,IAAIC,8CAAsB,CAAC;QAClCC,aAAa,EAAE,wBAAwB;QACvCC,UAAU,EAAEb,MAAM,CAACQ,KAGlB;QACDJ,SAAS,EAAEJ,MAAM,CAACI,SAAS;QAC3BU,QAAQ,EAAGC,QAAQ,IACjB,IAAI,CAACX,SAAS,CAACU,QAAQ,CAAC;UACtB,GAAGC,QAAQ;UACXf,MAAM,EAAE;YACN,GAAGe,QAAQ,CAACf,MAAM;YAClBgB,eAAe,EAAE,IAAI,CAACC,aAAa,CAACC;UACtC;QACF,CAAC;MACL,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,CAACC,gBAAgB,GAAG,IAAIC,kCAAgB,CAAC;MAC3CZ,KAAK,EAAER,MAAM,CAACQ,KAAK;MACnBC,OAAO,EAAET,MAAM,CAACS,OAAO;MACvBL,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBM,OAAO,EAAE,IAAI,CAACJ,iBAAiB,CAACI,OAAO;MACvCW,WAAW,EAAE,IAAI,CAACf,iBAAiB,CAACe;IACtC,CAAC,CAAC;IAEF,IAAI,CAACJ,aAAa,GAAG,IAAIK,4BAAa,CAAC;MACrClB,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBmB,WAAW,EAAE,IAAI,CAACb,OAAO,CAACa,WAAW;MACrCX,aAAa,EAAE,wBAAwB;MACvCY,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM;IAC3B,CAAC,CAAC;IAEF,IAAI,CAACd,OAAO,CAACe,WAAW,GAAG,IAAI;IAE/B,IAAAC,oBAAc,EAAC,IAAI,EAAE;MACnBR,QAAQ,EAAES;IACZ,CAAC,CAAC;EACJ;EAEA,IAAIT,QAAQA,CAAA,EAAG;IACb,OAAO,IAAI,CAACD,aAAa,CAACC,QAAQ;EACpC;EAEA,IAAIA,QAAQA,CAACA,QAAkB,EAAE;IAC/B,IAAAU,iBAAW,EAAC,MAAM;MAChB,IAAI,CAACX,aAAa,CAACC,QAAQ,GAAGA,QAAQ;IACxC,CAAC,CAAC;EACJ;EAEA,IAAIR,OAAOA,CAAA,EAAG;IACZ,OAAO,IAAI,CAACJ,iBAAiB,CAACI,OAAO;EACvC;EAEAmB,IAAIA,CAAA,EAAG;IACL,IAAI,CAACC,QAAQ,CAACC,OAAO,CAAC,YAAY;MAChC,MAAM,IAAI,CAACd,aAAa,CAACY,IAAI,CAAC,CAAC;IACjC,CAAC,CAAC;EACJ;AACF;AAACG,OAAA,CAAAlC,2BAAA,GAAAA,2BAAA","ignoreList":[]}
@@ -48,7 +48,8 @@ class TableGridSwitchState {
48
48
  container: this.container,
49
49
  dataCapsule: this.toolbar.dataCapsule,
50
50
  componentType,
51
- collection: this.collection
51
+ collection: this.collection,
52
+ options: ['table', 'grid']
52
53
  });
53
54
  this.toolbar.layoutState = this;
54
55
  (0, _mobx.makeObservable)(this, {
@@ -1 +1 @@
1
- {"version":3,"names":["_bexCore","require","_TableState","_GridState","_mobx","_ToolbarCollectionState","_ViewTypeState","componentType","TableGridSwitchState","constructor","params","_defineProperty2","default","TaskState","container","containerOverrides","collection","tableState","TableState","toolbar","ToolbarCollectionState","reportBi","biParams","componentStatus","viewTypeState","viewType","gridState","GridState","ViewTypeState","dataCapsule","layoutState","makeObservable","computed","runInAction","init","initTask","runOnce","status","promise","exports"],"sources":["../../../src/state/TableGridSwitchState.ts"],"sourcesContent":["import {\n CollectionState,\n FiltersMap,\n TaskState,\n WixPatternsContainer,\n WixPatternsContainerParams,\n} from '@wix/bex-core';\nimport { TableState } from './TableState';\nimport { GridState } from './GridState';\nimport { computed, makeObservable, runInAction } from 'mobx';\nimport { ToolbarCollectionState } from './ToolbarCollectionState';\nimport { ViewTypeState, ViewType } from './ViewTypeState';\nimport { ICollectionComponentState } from './ICollectionComponentState';\n\nexport interface TableGridSwitchStateParams<T, F extends FiltersMap> {\n readonly collection: CollectionState<T, F>;\n readonly container: WixPatternsContainer;\n readonly containerOverrides: Partial<WixPatternsContainerParams>;\n}\nconst componentType = 'TableGridSwitch';\nexport class TableGridSwitchState<T, F extends FiltersMap>\n implements ICollectionComponentState\n{\n collection: CollectionState<T, F>;\n readonly container;\n readonly containerOverrides: Partial<WixPatternsContainerParams>;\n readonly initTask = new TaskState();\n readonly gridState: GridState<T, F>;\n readonly tableState: TableState<T, F>;\n readonly viewTypeState: ViewTypeState;\n\n constructor(params: TableGridSwitchStateParams<T, F>) {\n this.container = params.container;\n this.containerOverrides = params.containerOverrides;\n\n this.collection = params.collection;\n\n this.tableState = new TableState({\n collection: this.collection,\n container: this.container,\n toolbar: new ToolbarCollectionState({\n componentType,\n collection: this.collection,\n container: this.container,\n reportBi: (biParams) =>\n this.container.reportBi({\n ...biParams,\n params: {\n ...biParams.params,\n componentStatus: this.viewTypeState.viewType,\n },\n }),\n }),\n });\n\n this.gridState = new GridState({\n collection: this.collection,\n container: this.container,\n toolbar: this.tableState.toolbar,\n });\n\n this.viewTypeState = new ViewTypeState({\n container: this.container,\n dataCapsule: this.toolbar.dataCapsule,\n componentType,\n collection: this.collection,\n });\n\n this.toolbar.layoutState = this;\n\n makeObservable(this, {\n viewType: computed,\n });\n }\n\n get viewType() {\n return this.viewTypeState.viewType;\n }\n\n set viewType(viewType: ViewType) {\n runInAction(() => {\n this.viewTypeState.viewType = viewType;\n });\n }\n\n get toolbar() {\n return this.tableState.toolbar;\n }\n\n init() {\n const { viewTypeState, initTask } = this;\n viewTypeState.init();\n\n initTask.runOnce(async () => {\n viewTypeState.initTask.runOnce();\n\n await viewTypeState.initTask.status.promise;\n });\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAOA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,uBAAA,GAAAJ,OAAA;AACA,IAAAK,cAAA,GAAAL,OAAA;AAQA,MAAMM,aAAa,GAAG,iBAAiB;AAChC,MAAMC,oBAAoB,CAEjC;EASEC,WAAWA,CAACC,MAAwC,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,oBALlC,IAAIC,kBAAS,CAAC,CAAC;IAAA,IAAAF,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAMjC,IAAI,CAACE,SAAS,GAAGJ,MAAM,CAACI,SAAS;IACjC,IAAI,CAACC,kBAAkB,GAAGL,MAAM,CAACK,kBAAkB;IAEnD,IAAI,CAACC,UAAU,GAAGN,MAAM,CAACM,UAAU;IAEnC,IAAI,CAACC,UAAU,GAAG,IAAIC,sBAAU,CAAC;MAC/BF,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3BF,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBK,OAAO,EAAE,IAAIC,8CAAsB,CAAC;QAClCb,aAAa;QACbS,UAAU,EAAE,IAAI,CAACA,UAAU;QAC3BF,SAAS,EAAE,IAAI,CAACA,SAAS;QACzBO,QAAQ,EAAGC,QAAQ,IACjB,IAAI,CAACR,SAAS,CAACO,QAAQ,CAAC;UACtB,GAAGC,QAAQ;UACXZ,MAAM,EAAE;YACN,GAAGY,QAAQ,CAACZ,MAAM;YAClBa,eAAe,EAAE,IAAI,CAACC,aAAa,CAACC;UACtC;QACF,CAAC;MACL,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,CAACC,SAAS,GAAG,IAAIC,oBAAS,CAAC;MAC7BX,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3BF,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBK,OAAO,EAAE,IAAI,CAACF,UAAU,CAACE;IAC3B,CAAC,CAAC;IAEF,IAAI,CAACK,aAAa,GAAG,IAAII,4BAAa,CAAC;MACrCd,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBe,WAAW,EAAE,IAAI,CAACV,OAAO,CAACU,WAAW;MACrCtB,aAAa;MACbS,UAAU,EAAE,IAAI,CAACA;IACnB,CAAC,CAAC;IAEF,IAAI,CAACG,OAAO,CAACW,WAAW,GAAG,IAAI;IAE/B,IAAAC,oBAAc,EAAC,IAAI,EAAE;MACnBN,QAAQ,EAAEO;IACZ,CAAC,CAAC;EACJ;EAEA,IAAIP,QAAQA,CAAA,EAAG;IACb,OAAO,IAAI,CAACD,aAAa,CAACC,QAAQ;EACpC;EAEA,IAAIA,QAAQA,CAACA,QAAkB,EAAE;IAC/B,IAAAQ,iBAAW,EAAC,MAAM;MAChB,IAAI,CAACT,aAAa,CAACC,QAAQ,GAAGA,QAAQ;IACxC,CAAC,CAAC;EACJ;EAEA,IAAIN,OAAOA,CAAA,EAAG;IACZ,OAAO,IAAI,CAACF,UAAU,CAACE,OAAO;EAChC;EAEAe,IAAIA,CAAA,EAAG;IACL,MAAM;MAAEV,aAAa;MAAEW;IAAS,CAAC,GAAG,IAAI;IACxCX,aAAa,CAACU,IAAI,CAAC,CAAC;IAEpBC,QAAQ,CAACC,OAAO,CAAC,YAAY;MAC3BZ,aAAa,CAACW,QAAQ,CAACC,OAAO,CAAC,CAAC;MAEhC,MAAMZ,aAAa,CAACW,QAAQ,CAACE,MAAM,CAACC,OAAO;IAC7C,CAAC,CAAC;EACJ;AACF;AAACC,OAAA,CAAA/B,oBAAA,GAAAA,oBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_bexCore","require","_TableState","_GridState","_mobx","_ToolbarCollectionState","_ViewTypeState","componentType","TableGridSwitchState","constructor","params","_defineProperty2","default","TaskState","container","containerOverrides","collection","tableState","TableState","toolbar","ToolbarCollectionState","reportBi","biParams","componentStatus","viewTypeState","viewType","gridState","GridState","ViewTypeState","dataCapsule","options","layoutState","makeObservable","computed","runInAction","init","initTask","runOnce","status","promise","exports"],"sources":["../../../src/state/TableGridSwitchState.ts"],"sourcesContent":["import {\n CollectionState,\n FiltersMap,\n TaskState,\n WixPatternsContainer,\n WixPatternsContainerParams,\n} from '@wix/bex-core';\nimport { TableState } from './TableState';\nimport { GridState } from './GridState';\nimport { computed, makeObservable, runInAction } from 'mobx';\nimport { ToolbarCollectionState } from './ToolbarCollectionState';\nimport { ViewTypeState, ViewType } from './ViewTypeState';\nimport { ICollectionComponentState } from './ICollectionComponentState';\n\nexport interface TableGridSwitchStateParams<T, F extends FiltersMap> {\n readonly collection: CollectionState<T, F>;\n readonly container: WixPatternsContainer;\n readonly containerOverrides: Partial<WixPatternsContainerParams>;\n}\nconst componentType = 'TableGridSwitch';\nexport class TableGridSwitchState<T, F extends FiltersMap>\n implements ICollectionComponentState\n{\n collection: CollectionState<T, F>;\n readonly container;\n readonly containerOverrides: Partial<WixPatternsContainerParams>;\n readonly initTask = new TaskState();\n readonly gridState: GridState<T, F>;\n readonly tableState: TableState<T, F>;\n readonly viewTypeState: ViewTypeState;\n\n constructor(params: TableGridSwitchStateParams<T, F>) {\n this.container = params.container;\n this.containerOverrides = params.containerOverrides;\n\n this.collection = params.collection;\n\n this.tableState = new TableState({\n collection: this.collection,\n container: this.container,\n toolbar: new ToolbarCollectionState({\n componentType,\n collection: this.collection,\n container: this.container,\n reportBi: (biParams) =>\n this.container.reportBi({\n ...biParams,\n params: {\n ...biParams.params,\n componentStatus: this.viewTypeState.viewType,\n },\n }),\n }),\n });\n\n this.gridState = new GridState({\n collection: this.collection,\n container: this.container,\n toolbar: this.tableState.toolbar,\n });\n\n this.viewTypeState = new ViewTypeState({\n container: this.container,\n dataCapsule: this.toolbar.dataCapsule,\n componentType,\n collection: this.collection,\n options: ['table', 'grid'],\n });\n\n this.toolbar.layoutState = this;\n\n makeObservable(this, {\n viewType: computed,\n });\n }\n\n get viewType() {\n return this.viewTypeState.viewType;\n }\n\n set viewType(viewType: ViewType) {\n runInAction(() => {\n this.viewTypeState.viewType = viewType;\n });\n }\n\n get toolbar() {\n return this.tableState.toolbar;\n }\n\n init() {\n const { viewTypeState, initTask } = this;\n viewTypeState.init();\n\n initTask.runOnce(async () => {\n viewTypeState.initTask.runOnce();\n\n await viewTypeState.initTask.status.promise;\n });\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAOA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,uBAAA,GAAAJ,OAAA;AACA,IAAAK,cAAA,GAAAL,OAAA;AAQA,MAAMM,aAAa,GAAG,iBAAiB;AAChC,MAAMC,oBAAoB,CAEjC;EASEC,WAAWA,CAACC,MAAwC,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,oBALlC,IAAIC,kBAAS,CAAC,CAAC;IAAA,IAAAF,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAMjC,IAAI,CAACE,SAAS,GAAGJ,MAAM,CAACI,SAAS;IACjC,IAAI,CAACC,kBAAkB,GAAGL,MAAM,CAACK,kBAAkB;IAEnD,IAAI,CAACC,UAAU,GAAGN,MAAM,CAACM,UAAU;IAEnC,IAAI,CAACC,UAAU,GAAG,IAAIC,sBAAU,CAAC;MAC/BF,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3BF,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBK,OAAO,EAAE,IAAIC,8CAAsB,CAAC;QAClCb,aAAa;QACbS,UAAU,EAAE,IAAI,CAACA,UAAU;QAC3BF,SAAS,EAAE,IAAI,CAACA,SAAS;QACzBO,QAAQ,EAAGC,QAAQ,IACjB,IAAI,CAACR,SAAS,CAACO,QAAQ,CAAC;UACtB,GAAGC,QAAQ;UACXZ,MAAM,EAAE;YACN,GAAGY,QAAQ,CAACZ,MAAM;YAClBa,eAAe,EAAE,IAAI,CAACC,aAAa,CAACC;UACtC;QACF,CAAC;MACL,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,CAACC,SAAS,GAAG,IAAIC,oBAAS,CAAC;MAC7BX,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3BF,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBK,OAAO,EAAE,IAAI,CAACF,UAAU,CAACE;IAC3B,CAAC,CAAC;IAEF,IAAI,CAACK,aAAa,GAAG,IAAII,4BAAa,CAAC;MACrCd,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBe,WAAW,EAAE,IAAI,CAACV,OAAO,CAACU,WAAW;MACrCtB,aAAa;MACbS,UAAU,EAAE,IAAI,CAACA,UAAU;MAC3Bc,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM;IAC3B,CAAC,CAAC;IAEF,IAAI,CAACX,OAAO,CAACY,WAAW,GAAG,IAAI;IAE/B,IAAAC,oBAAc,EAAC,IAAI,EAAE;MACnBP,QAAQ,EAAEQ;IACZ,CAAC,CAAC;EACJ;EAEA,IAAIR,QAAQA,CAAA,EAAG;IACb,OAAO,IAAI,CAACD,aAAa,CAACC,QAAQ;EACpC;EAEA,IAAIA,QAAQA,CAACA,QAAkB,EAAE;IAC/B,IAAAS,iBAAW,EAAC,MAAM;MAChB,IAAI,CAACV,aAAa,CAACC,QAAQ,GAAGA,QAAQ;IACxC,CAAC,CAAC;EACJ;EAEA,IAAIN,OAAOA,CAAA,EAAG;IACZ,OAAO,IAAI,CAACF,UAAU,CAACE,OAAO;EAChC;EAEAgB,IAAIA,CAAA,EAAG;IACL,MAAM;MAAEX,aAAa;MAAEY;IAAS,CAAC,GAAG,IAAI;IACxCZ,aAAa,CAACW,IAAI,CAAC,CAAC;IAEpBC,QAAQ,CAACC,OAAO,CAAC,YAAY;MAC3Bb,aAAa,CAACY,QAAQ,CAACC,OAAO,CAAC,CAAC;MAEhC,MAAMb,aAAa,CAACY,QAAQ,CAACE,MAAM,CAACC,OAAO;IAC7C,CAAC,CAAC;EACJ;AACF;AAACC,OAAA,CAAAhC,oBAAA,GAAAA,oBAAA","ignoreList":[]}