@wix/patterns 1.410.0 → 1.412.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 (586) hide show
  1. package/dist/cjs/bm/buildBMCairoEssentials.js +19 -1
  2. package/dist/cjs/bm/buildBMCairoEssentials.js.map +1 -1
  3. package/dist/cjs/components/CardContainer/CardContainer.st.css.js +2 -2
  4. package/dist/cjs/components/CardContainer/CardContainer.st.css.js.map +1 -1
  5. package/dist/cjs/components/CmsFieldManagement/CmsFieldForm.st.css.js +3 -3
  6. package/dist/cjs/components/CmsFieldManagement/CmsFieldForm.st.css.js.map +1 -1
  7. package/dist/cjs/components/CmsFieldManagement/CmsFieldModal.st.css.js +3 -3
  8. package/dist/cjs/components/CmsFieldManagement/CmsFieldModal.st.css.js.map +1 -1
  9. package/dist/cjs/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js +3 -3
  10. package/dist/cjs/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js.map +1 -1
  11. package/dist/cjs/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.js +3 -3
  12. package/dist/cjs/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.js.map +1 -1
  13. package/dist/cjs/components/Collapse/Collapse.st.css.js +3 -3
  14. package/dist/cjs/components/Collapse/Collapse.st.css.js.map +1 -1
  15. package/dist/cjs/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
  16. package/dist/cjs/components/CollectionPageNew/CollectionPage.st.css.js.map +1 -1
  17. package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +3 -3
  18. package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js.map +1 -1
  19. package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js +2 -2
  20. package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js.map +1 -1
  21. package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.st.css.js +2 -2
  22. package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.st.css.js.map +1 -1
  23. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js +5 -5
  24. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js.map +1 -1
  25. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +4 -4
  26. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
  27. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  28. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
  29. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  30. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
  31. package/dist/cjs/components/DragHandle/DragHandle.st.css.js +2 -2
  32. package/dist/cjs/components/DragHandle/DragHandle.st.css.js.map +1 -1
  33. package/dist/cjs/components/EditableTable/EditableCell.js +43 -27
  34. package/dist/cjs/components/EditableTable/EditableCell.js.map +1 -1
  35. package/dist/cjs/components/EditableTable/EditableCell.st.css +13 -0
  36. package/dist/cjs/components/EditableTable/EditableCell.st.css.js +3 -3
  37. package/dist/cjs/components/EditableTable/EditableCell.st.css.js.map +1 -1
  38. package/dist/cjs/components/EditableTable/EditableTable.js +17 -9
  39. package/dist/cjs/components/EditableTable/EditableTable.js.map +1 -1
  40. package/dist/cjs/components/EditableTable/HeaderActionsPopover.st.css.js +2 -2
  41. package/dist/cjs/components/EditableTable/HeaderActionsPopover.st.css.js.map +1 -1
  42. package/dist/cjs/components/EditableTable/cellTypes/CellViewLayout.st.css.js +2 -2
  43. package/dist/cjs/components/EditableTable/cellTypes/CellViewLayout.st.css.js.map +1 -1
  44. package/dist/cjs/components/EditableTable/cellTypes/address/Edit.st.css.js +3 -3
  45. package/dist/cjs/components/EditableTable/cellTypes/address/Edit.st.css.js.map +1 -1
  46. package/dist/cjs/components/EditableTable/cellTypes/audio/Edit.js +32 -0
  47. package/dist/cjs/components/EditableTable/cellTypes/audio/Edit.js.map +1 -0
  48. package/dist/cjs/components/EditableTable/cellTypes/audio/Edit.uni.driver.js +15 -0
  49. package/dist/cjs/components/EditableTable/cellTypes/audio/Edit.uni.driver.js.map +1 -0
  50. package/dist/cjs/components/EditableTable/cellTypes/audio/View.js +22 -0
  51. package/dist/cjs/components/EditableTable/cellTypes/audio/View.js.map +1 -0
  52. package/dist/cjs/components/EditableTable/cellTypes/audio/View.uni.driver.js +16 -0
  53. package/dist/cjs/components/EditableTable/cellTypes/audio/View.uni.driver.js.map +1 -0
  54. package/dist/cjs/components/EditableTable/cellTypes/audio/index.js +22 -0
  55. package/dist/cjs/components/EditableTable/cellTypes/audio/index.js.map +1 -0
  56. package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js +3 -3
  57. package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js.map +1 -1
  58. package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js +3 -3
  59. package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js.map +1 -1
  60. package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js +3 -3
  61. package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js.map +1 -1
  62. package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
  63. package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js.map +1 -1
  64. package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js +3 -3
  65. package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js.map +1 -1
  66. package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
  67. package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js.map +1 -1
  68. package/dist/cjs/components/EditableTable/cellTypes/index.js +5 -1
  69. package/dist/cjs/components/EditableTable/cellTypes/index.js.map +1 -1
  70. package/dist/cjs/components/EditableTable/cellTypes/multiDocument/Edit.js +35 -0
  71. package/dist/cjs/components/EditableTable/cellTypes/multiDocument/Edit.js.map +1 -0
  72. package/dist/cjs/components/EditableTable/cellTypes/multiDocument/Edit.uni.driver.js +15 -0
  73. package/dist/cjs/components/EditableTable/cellTypes/multiDocument/Edit.uni.driver.js.map +1 -0
  74. package/dist/cjs/components/EditableTable/cellTypes/multiDocument/View.js +25 -0
  75. package/dist/cjs/components/EditableTable/cellTypes/multiDocument/View.js.map +1 -0
  76. package/dist/cjs/components/EditableTable/cellTypes/multiDocument/View.uni.driver.js +18 -0
  77. package/dist/cjs/components/EditableTable/cellTypes/multiDocument/View.uni.driver.js.map +1 -0
  78. package/dist/cjs/components/EditableTable/cellTypes/multiDocument/index.js +23 -0
  79. package/dist/cjs/components/EditableTable/cellTypes/multiDocument/index.js.map +1 -0
  80. package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js +3 -3
  81. package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js.map +1 -1
  82. package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js +3 -3
  83. package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js.map +1 -1
  84. package/dist/cjs/components/EditableTable/cellTypes/object/Edit.st.css.js +3 -3
  85. package/dist/cjs/components/EditableTable/cellTypes/object/Edit.st.css.js.map +1 -1
  86. package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
  87. package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js.map +1 -1
  88. package/dist/cjs/components/EditableTable/cellTypes/reference/Edit.js +16 -8
  89. package/dist/cjs/components/EditableTable/cellTypes/reference/Edit.js.map +1 -1
  90. package/dist/cjs/components/EditableTable/cellTypes/reference/Edit.uni.driver.js +7 -0
  91. package/dist/cjs/components/EditableTable/cellTypes/reference/Edit.uni.driver.js.map +1 -1
  92. package/dist/cjs/components/EditableTable/cellTypes/reference/ReferenceEditWrapper.js +38 -0
  93. package/dist/cjs/components/EditableTable/cellTypes/reference/ReferenceEditWrapper.js.map +1 -0
  94. package/dist/cjs/components/EditableTable/cellTypes/reference/index.js +2 -0
  95. package/dist/cjs/components/EditableTable/cellTypes/reference/index.js.map +1 -1
  96. package/dist/cjs/components/EditableTable/cellTypes/reference/openCollectionContext.js +18 -0
  97. package/dist/cjs/components/EditableTable/cellTypes/reference/openCollectionContext.js.map +1 -0
  98. package/dist/cjs/components/EditableTable/cellTypes/reference/types.js.map +1 -1
  99. package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js +3 -3
  100. package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js.map +1 -1
  101. package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js +4 -4
  102. package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js.map +1 -1
  103. package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js +2 -2
  104. package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js.map +1 -1
  105. package/dist/cjs/components/EditableTable/cellTypes/time/Edit.st.css.js +4 -4
  106. package/dist/cjs/components/EditableTable/cellTypes/time/Edit.st.css.js.map +1 -1
  107. package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js +3 -3
  108. package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js.map +1 -1
  109. package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js +5 -5
  110. package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js.map +1 -1
  111. package/dist/cjs/components/EditableTable/types.js +8 -0
  112. package/dist/cjs/components/EditableTable/types.js.map +1 -1
  113. package/dist/cjs/components/EditableTable/useAddRow.js +2 -0
  114. package/dist/cjs/components/EditableTable/useAddRow.js.map +1 -1
  115. package/dist/cjs/components/EditableTable/useOpenCollectionOverlay.js +68 -0
  116. package/dist/cjs/components/EditableTable/useOpenCollectionOverlay.js.map +1 -0
  117. package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js +2 -2
  118. package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js.map +1 -1
  119. package/dist/cjs/components/Fade/Fade.st.css.js +2 -2
  120. package/dist/cjs/components/Fade/Fade.st.css.js.map +1 -1
  121. package/dist/cjs/components/Heading/Heading.st.css.js +2 -2
  122. package/dist/cjs/components/Heading/Heading.st.css.js.map +1 -1
  123. package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js +3 -3
  124. package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js.map +1 -1
  125. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js +2 -2
  126. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
  127. package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js +3 -3
  128. package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js.map +1 -1
  129. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  130. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
  131. package/dist/cjs/components/MaxLines/MaxLines.st.css.js +2 -2
  132. package/dist/cjs/components/MaxLines/MaxLines.st.css.js.map +1 -1
  133. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +5 -5
  134. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
  135. package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  136. package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
  137. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js +5 -5
  138. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
  139. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
  140. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
  141. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
  142. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
  143. package/dist/cjs/components/PageWrapper/PageWrapperBase.js +8 -13
  144. package/dist/cjs/components/PageWrapper/PageWrapperBase.js.map +1 -1
  145. package/dist/cjs/components/PickerContent/PickerContent.st.css.js +2 -2
  146. package/dist/cjs/components/PickerContent/PickerContent.st.css.js.map +1 -1
  147. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js +4 -4
  148. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
  149. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  150. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
  151. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  152. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
  153. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js +3 -3
  154. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
  155. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js +2 -2
  156. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
  157. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js +3 -3
  158. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
  159. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.js +85 -69
  160. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.js.map +1 -1
  161. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  162. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
  163. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.uni.driver.js +10 -1
  164. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.uni.driver.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/dashboard/WixPatternsDashboardBaseProvider.js +8 -2
  172. package/dist/cjs/dashboard/WixPatternsDashboardBaseProvider.js.map +1 -1
  173. package/dist/cjs/giza/WixPatternsGizaProvider.js +7 -2
  174. package/dist/cjs/giza/WixPatternsGizaProvider.js.map +1 -1
  175. package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
  176. package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js.map +1 -1
  177. package/dist/cjs/state/CollectionViewsQueryCompareHelper.js +7 -0
  178. package/dist/cjs/state/CollectionViewsQueryCompareHelper.js.map +1 -1
  179. package/dist/cjs/state/CollectionViewsState.js +13 -0
  180. package/dist/cjs/state/CollectionViewsState.js.map +1 -1
  181. package/dist/cjs/state/CustomColumnsHistoryState.js +3 -0
  182. package/dist/cjs/state/CustomColumnsHistoryState.js.map +1 -1
  183. package/dist/cjs/state/CustomColumnsState.js +3 -0
  184. package/dist/cjs/state/CustomColumnsState.js.map +1 -1
  185. package/dist/cjs/state/EditableTable/EditableTableState.js +3 -0
  186. package/dist/cjs/state/EditableTable/EditableTableState.js.map +1 -1
  187. package/dist/cjs/state/EditableTable/types.js.map +1 -1
  188. package/dist/cjs/state/FormPage/FormPageHeader.st.css.js +2 -2
  189. package/dist/cjs/state/FormPage/FormPageHeader.st.css.js.map +1 -1
  190. package/dist/cjs/state/ToolbarCollectionState.js +64 -1
  191. package/dist/cjs/state/ToolbarCollectionState.js.map +1 -1
  192. package/dist/cjs/styles.global.css +2 -2
  193. package/dist/cjs/version.js +1 -1
  194. package/dist/cjs/version.js.map +1 -1
  195. package/dist/docs/ActionCellProps.md +1 -0
  196. package/dist/docs/AutoCompleteFilter.md +1 -1
  197. package/dist/docs/CollectionPage.md +1 -1
  198. package/dist/docs/DateRangeFilter.md +1 -1
  199. package/dist/docs/EntityPage.md +1 -1
  200. package/dist/docs/FilterProps.md +1 -1
  201. package/dist/docs/MultiAutoInlineCheckboxFilter.md +1 -1
  202. package/dist/docs/MultiInlineCheckboxFilter.md +1 -1
  203. package/dist/docs/MultiSelectCheckboxFilter.md +1 -1
  204. package/dist/docs/MultiSelectCollectionFilter.md +1 -1
  205. package/dist/docs/NumberRangeFilter.md +1 -1
  206. package/dist/docs/OperatorFilterPicker.md +1 -1
  207. package/dist/docs/RadioGroupFilter.md +1 -1
  208. package/dist/docs/SettingsPage.md +1 -1
  209. package/dist/docs/SingleSelectFilter.md +1 -1
  210. package/dist/docs/TableTopNotification.md +1 -0
  211. package/dist/docs/index.json +23 -23
  212. package/dist/esm/bm/buildBMCairoEssentials.js +10 -1
  213. package/dist/esm/bm/buildBMCairoEssentials.js.map +1 -1
  214. package/dist/esm/components/CardContainer/CardContainer.st.css.js +2 -2
  215. package/dist/esm/components/CmsFieldManagement/CmsFieldForm.st.css.js +2 -2
  216. package/dist/esm/components/CmsFieldManagement/CmsFieldModal.st.css.js +2 -2
  217. package/dist/esm/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js +2 -2
  218. package/dist/esm/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js.map +1 -1
  219. package/dist/esm/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.js +2 -2
  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/CollectionTable/CollectionTable.st.css.js +2 -2
  224. package/dist/esm/components/CollectionTable/CollectionTableWSRTable.st.css.js +2 -2
  225. package/dist/esm/components/CollectionTable/CollectionTableWSRTable.st.css.js.map +1 -1
  226. package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
  227. package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
  228. package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  229. package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  230. package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
  231. package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
  232. package/dist/esm/components/EditableTable/EditableCell.js +8 -3
  233. package/dist/esm/components/EditableTable/EditableCell.js.map +1 -1
  234. package/dist/esm/components/EditableTable/EditableCell.st.css +13 -0
  235. package/dist/esm/components/EditableTable/EditableCell.st.css.js +2 -2
  236. package/dist/esm/components/EditableTable/EditableCell.st.css.js.map +1 -1
  237. package/dist/esm/components/EditableTable/EditableTable.js +3 -1
  238. package/dist/esm/components/EditableTable/EditableTable.js.map +1 -1
  239. package/dist/esm/components/EditableTable/HeaderActionsPopover.st.css.js +2 -2
  240. package/dist/esm/components/EditableTable/cellTypes/CellViewLayout.st.css.js +2 -2
  241. package/dist/esm/components/EditableTable/cellTypes/CellViewLayout.st.css.js.map +1 -1
  242. package/dist/esm/components/EditableTable/cellTypes/address/Edit.st.css.js +2 -2
  243. package/dist/esm/components/EditableTable/cellTypes/audio/Edit.js +4 -0
  244. package/dist/esm/components/EditableTable/cellTypes/audio/Edit.js.map +1 -0
  245. package/dist/esm/components/EditableTable/cellTypes/audio/Edit.uni.driver.js +11 -0
  246. package/dist/esm/components/EditableTable/cellTypes/audio/Edit.uni.driver.js.map +1 -0
  247. package/dist/esm/components/EditableTable/cellTypes/audio/View.js +4 -0
  248. package/dist/esm/components/EditableTable/cellTypes/audio/View.js.map +1 -0
  249. package/dist/esm/components/EditableTable/cellTypes/audio/View.uni.driver.js +12 -0
  250. package/dist/esm/components/EditableTable/cellTypes/audio/View.uni.driver.js.map +1 -0
  251. package/dist/esm/components/EditableTable/cellTypes/audio/index.js +17 -0
  252. package/dist/esm/components/EditableTable/cellTypes/audio/index.js.map +1 -0
  253. package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.st.css.js +2 -2
  254. package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.st.css.js.map +1 -1
  255. package/dist/esm/components/EditableTable/cellTypes/boolean/View.st.css.js +2 -2
  256. package/dist/esm/components/EditableTable/cellTypes/date/Edit.st.css.js +2 -2
  257. package/dist/esm/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
  258. package/dist/esm/components/EditableTable/cellTypes/email/Edit.st.css.js +2 -2
  259. package/dist/esm/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
  260. package/dist/esm/components/EditableTable/cellTypes/index.js +5 -1
  261. package/dist/esm/components/EditableTable/cellTypes/index.js.map +1 -1
  262. package/dist/esm/components/EditableTable/cellTypes/multiDocument/Edit.js +4 -0
  263. package/dist/esm/components/EditableTable/cellTypes/multiDocument/Edit.js.map +1 -0
  264. package/dist/esm/components/EditableTable/cellTypes/multiDocument/Edit.uni.driver.js +11 -0
  265. package/dist/esm/components/EditableTable/cellTypes/multiDocument/Edit.uni.driver.js.map +1 -0
  266. package/dist/esm/components/EditableTable/cellTypes/multiDocument/View.js +4 -0
  267. package/dist/esm/components/EditableTable/cellTypes/multiDocument/View.js.map +1 -0
  268. package/dist/esm/components/EditableTable/cellTypes/multiDocument/View.uni.driver.js +14 -0
  269. package/dist/esm/components/EditableTable/cellTypes/multiDocument/View.uni.driver.js.map +1 -0
  270. package/dist/esm/components/EditableTable/cellTypes/multiDocument/index.js +18 -0
  271. package/dist/esm/components/EditableTable/cellTypes/multiDocument/index.js.map +1 -0
  272. package/dist/esm/components/EditableTable/cellTypes/number/Edit.st.css.js +2 -2
  273. package/dist/esm/components/EditableTable/cellTypes/number/View.st.css.js +2 -2
  274. package/dist/esm/components/EditableTable/cellTypes/number/View.st.css.js.map +1 -1
  275. package/dist/esm/components/EditableTable/cellTypes/object/Edit.st.css.js +2 -2
  276. package/dist/esm/components/EditableTable/cellTypes/object/Edit.st.css.js.map +1 -1
  277. package/dist/esm/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
  278. package/dist/esm/components/EditableTable/cellTypes/object/View.st.css.js.map +1 -1
  279. package/dist/esm/components/EditableTable/cellTypes/reference/Edit.js +11 -4
  280. package/dist/esm/components/EditableTable/cellTypes/reference/Edit.js.map +1 -1
  281. package/dist/esm/components/EditableTable/cellTypes/reference/Edit.uni.driver.js +7 -0
  282. package/dist/esm/components/EditableTable/cellTypes/reference/Edit.uni.driver.js.map +1 -1
  283. package/dist/esm/components/EditableTable/cellTypes/reference/ReferenceEditWrapper.js +19 -0
  284. package/dist/esm/components/EditableTable/cellTypes/reference/ReferenceEditWrapper.js.map +1 -0
  285. package/dist/esm/components/EditableTable/cellTypes/reference/index.js +2 -0
  286. package/dist/esm/components/EditableTable/cellTypes/reference/index.js.map +1 -1
  287. package/dist/esm/components/EditableTable/cellTypes/reference/openCollectionContext.js +13 -0
  288. package/dist/esm/components/EditableTable/cellTypes/reference/openCollectionContext.js.map +1 -0
  289. package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css.js +2 -2
  290. package/dist/esm/components/EditableTable/cellTypes/text/Edit.st.css.js +2 -2
  291. package/dist/esm/components/EditableTable/cellTypes/text/View.st.css.js +2 -2
  292. package/dist/esm/components/EditableTable/cellTypes/time/Edit.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/View.st.css.js +2 -2
  295. package/dist/esm/components/EditableTable/cellTypes/url/View.st.css.js.map +1 -1
  296. package/dist/esm/components/EditableTable/types.js.map +1 -1
  297. package/dist/esm/components/EditableTable/useAddRow.js +1 -0
  298. package/dist/esm/components/EditableTable/useAddRow.js.map +1 -1
  299. package/dist/esm/components/EditableTable/useOpenCollectionOverlay.js +59 -0
  300. package/dist/esm/components/EditableTable/useOpenCollectionOverlay.js.map +1 -0
  301. package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js +2 -2
  302. package/dist/esm/components/Fade/Fade.st.css.js +2 -2
  303. package/dist/esm/components/Heading/Heading.st.css.js +2 -2
  304. package/dist/esm/components/ImportButton/ImportStepUpload.st.css.js +2 -2
  305. package/dist/esm/components/InputOverflow/InputOverflow.st.css.js +2 -2
  306. package/dist/esm/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
  307. package/dist/esm/components/LoadingRow/LoadingRow.st.css.js +3 -3
  308. package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  309. package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
  310. package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
  311. package/dist/esm/components/MaxLines/MaxLines.st.css.js.map +1 -1
  312. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
  313. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
  314. package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  315. package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
  316. package/dist/esm/components/NestedTable/NestedTableRow.st.css.js +2 -2
  317. package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
  318. package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
  319. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
  320. package/dist/esm/components/PageWrapper/PageWrapperBase.js +2 -6
  321. package/dist/esm/components/PageWrapper/PageWrapperBase.js.map +1 -1
  322. package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
  323. package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js +2 -2
  324. package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  325. package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  326. package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js +2 -2
  327. package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +2 -2
  328. package/dist/esm/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
  329. package/dist/esm/components/TabsFilter/TabsFilter.st.css.js +2 -2
  330. package/dist/esm/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
  331. package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.js +40 -33
  332. package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.js.map +1 -1
  333. package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  334. package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
  335. package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.uni.driver.js +10 -0
  336. package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.uni.driver.js.map +1 -1
  337. package/dist/esm/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
  338. package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  339. package/dist/esm/components/common.st.css.js +2 -2
  340. package/dist/esm/components/common.st.css.js.map +1 -1
  341. package/dist/esm/dashboard/WixPatternsDashboardBaseProvider.js +2 -1
  342. package/dist/esm/dashboard/WixPatternsDashboardBaseProvider.js.map +1 -1
  343. package/dist/esm/giza/WixPatternsGizaProvider.js +2 -2
  344. package/dist/esm/giza/WixPatternsGizaProvider.js.map +1 -1
  345. package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
  346. package/dist/esm/state/CollectionViewsQueryCompareHelper.js +7 -0
  347. package/dist/esm/state/CollectionViewsQueryCompareHelper.js.map +1 -1
  348. package/dist/esm/state/CollectionViewsState.js +13 -0
  349. package/dist/esm/state/CollectionViewsState.js.map +1 -1
  350. package/dist/esm/state/CustomColumnsHistoryState.js +3 -0
  351. package/dist/esm/state/CustomColumnsHistoryState.js.map +1 -1
  352. package/dist/esm/state/CustomColumnsState.js +3 -0
  353. package/dist/esm/state/CustomColumnsState.js.map +1 -1
  354. package/dist/esm/state/EditableTable/EditableTableState.js +3 -0
  355. package/dist/esm/state/EditableTable/EditableTableState.js.map +1 -1
  356. package/dist/esm/state/FormPage/FormPageHeader.st.css.js +2 -2
  357. package/dist/esm/state/FormPage/FormPageHeader.st.css.js.map +1 -1
  358. package/dist/esm/state/ToolbarCollectionState.js +53 -0
  359. package/dist/esm/state/ToolbarCollectionState.js.map +1 -1
  360. package/dist/esm/styles.global.css +2 -2
  361. package/dist/esm/version.js +1 -1
  362. package/dist/types/bm/buildBMCairoEssentials.d.ts.map +1 -1
  363. package/dist/types/components/AppliedFiltersTagList/AppliedFiltersTagList.uni.driver.d.ts +4 -0
  364. package/dist/types/components/AppliedFiltersTagList/AppliedFiltersTagList.uni.driver.d.ts.map +1 -1
  365. package/dist/types/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.d.ts.map +1 -1
  366. package/dist/types/components/CollectionSectionHeader/CollectionSectionHeader.uni.driver.d.ts +2 -0
  367. package/dist/types/components/CollectionSectionHeader/CollectionSectionHeader.uni.driver.d.ts.map +1 -1
  368. package/dist/types/components/CollectionTable/CollectionTable.uni.driver.d.ts +8 -0
  369. package/dist/types/components/CollectionTable/CollectionTable.uni.driver.d.ts.map +1 -1
  370. package/dist/types/components/CollectionTable/CollectionTableWSRTable.st.css.d.ts.map +1 -1
  371. package/dist/types/components/CollectionViewsDropdown/ViewsDropdown.st.css.d.ts.map +1 -1
  372. package/dist/types/components/EditableTable/EditableCell.d.ts.map +1 -1
  373. package/dist/types/components/EditableTable/EditableCell.st.css.d.ts.map +1 -1
  374. package/dist/types/components/EditableTable/EditableCell.uni.driver.d.ts +2 -0
  375. package/dist/types/components/EditableTable/EditableCell.uni.driver.d.ts.map +1 -1
  376. package/dist/types/components/EditableTable/EditableTable.d.ts.map +1 -1
  377. package/dist/types/components/EditableTable/EditableTable.uni.driver.d.ts +4 -0
  378. package/dist/types/components/EditableTable/EditableTable.uni.driver.d.ts.map +1 -1
  379. package/dist/types/components/EditableTable/cellTypes/CellViewLayout.st.css.d.ts.map +1 -1
  380. package/dist/types/components/EditableTable/cellTypes/audio/Edit.d.ts +4 -0
  381. package/dist/types/components/EditableTable/cellTypes/audio/Edit.d.ts.map +1 -0
  382. package/dist/types/components/EditableTable/cellTypes/audio/Edit.uni.driver.d.ts +18 -0
  383. package/dist/types/components/EditableTable/cellTypes/audio/Edit.uni.driver.d.ts.map +1 -0
  384. package/dist/types/components/EditableTable/cellTypes/audio/View.d.ts +4 -0
  385. package/dist/types/components/EditableTable/cellTypes/audio/View.d.ts.map +1 -0
  386. package/dist/types/components/EditableTable/cellTypes/audio/View.uni.driver.d.ts +16 -0
  387. package/dist/types/components/EditableTable/cellTypes/audio/View.uni.driver.d.ts.map +1 -0
  388. package/dist/types/components/EditableTable/cellTypes/audio/index.d.ts +5 -0
  389. package/dist/types/components/EditableTable/cellTypes/audio/index.d.ts.map +1 -0
  390. package/dist/types/components/EditableTable/cellTypes/boolean/Edit.st.css.d.ts.map +1 -1
  391. package/dist/types/components/EditableTable/cellTypes/index.d.ts +3 -1
  392. package/dist/types/components/EditableTable/cellTypes/index.d.ts.map +1 -1
  393. package/dist/types/components/EditableTable/cellTypes/multiDocument/Edit.d.ts +4 -0
  394. package/dist/types/components/EditableTable/cellTypes/multiDocument/Edit.d.ts.map +1 -0
  395. package/dist/types/components/EditableTable/cellTypes/multiDocument/Edit.uni.driver.d.ts +18 -0
  396. package/dist/types/components/EditableTable/cellTypes/multiDocument/Edit.uni.driver.d.ts.map +1 -0
  397. package/dist/types/components/EditableTable/cellTypes/multiDocument/View.d.ts +4 -0
  398. package/dist/types/components/EditableTable/cellTypes/multiDocument/View.d.ts.map +1 -0
  399. package/dist/types/components/EditableTable/cellTypes/multiDocument/View.uni.driver.d.ts +19 -0
  400. package/dist/types/components/EditableTable/cellTypes/multiDocument/View.uni.driver.d.ts.map +1 -0
  401. package/dist/types/components/EditableTable/cellTypes/multiDocument/index.d.ts +5 -0
  402. package/dist/types/components/EditableTable/cellTypes/multiDocument/index.d.ts.map +1 -0
  403. package/dist/types/components/EditableTable/cellTypes/number/View.st.css.d.ts.map +1 -1
  404. package/dist/types/components/EditableTable/cellTypes/object/Edit.st.css.d.ts.map +1 -1
  405. package/dist/types/components/EditableTable/cellTypes/object/View.st.css.d.ts.map +1 -1
  406. package/dist/types/components/EditableTable/cellTypes/reference/Edit.d.ts.map +1 -1
  407. package/dist/types/components/EditableTable/cellTypes/reference/Edit.uni.driver.d.ts +2 -0
  408. package/dist/types/components/EditableTable/cellTypes/reference/Edit.uni.driver.d.ts.map +1 -1
  409. package/dist/types/components/EditableTable/cellTypes/reference/ReferenceEditWrapper.d.ts +13 -0
  410. package/dist/types/components/EditableTable/cellTypes/reference/ReferenceEditWrapper.d.ts.map +1 -0
  411. package/dist/types/components/EditableTable/cellTypes/reference/index.d.ts.map +1 -1
  412. package/dist/types/components/EditableTable/cellTypes/reference/openCollectionContext.d.ts +14 -0
  413. package/dist/types/components/EditableTable/cellTypes/reference/openCollectionContext.d.ts.map +1 -0
  414. package/dist/types/components/EditableTable/cellTypes/reference/types.d.ts +3 -4
  415. package/dist/types/components/EditableTable/cellTypes/reference/types.d.ts.map +1 -1
  416. package/dist/types/components/EditableTable/cellTypes/url/View.st.css.d.ts.map +1 -1
  417. package/dist/types/components/EditableTable/types.d.ts +18 -1
  418. package/dist/types/components/EditableTable/types.d.ts.map +1 -1
  419. package/dist/types/components/EditableTable/useAddRow.d.ts.map +1 -1
  420. package/dist/types/components/EditableTable/useOpenCollectionOverlay.d.ts +20 -0
  421. package/dist/types/components/EditableTable/useOpenCollectionOverlay.d.ts.map +1 -0
  422. package/dist/types/components/Grid/Grid.uni.driver.d.ts +2 -0
  423. package/dist/types/components/Grid/Grid.uni.driver.d.ts.map +1 -1
  424. package/dist/types/components/Grid/GridFolders.uni.driver.d.ts +8 -0
  425. package/dist/types/components/Grid/GridFolders.uni.driver.d.ts.map +1 -1
  426. package/dist/types/components/Grid/GridFoldersSection.uni.driver.d.ts +2 -0
  427. package/dist/types/components/Grid/GridFoldersSection.uni.driver.d.ts.map +1 -1
  428. package/dist/types/components/ImportButton/ImportButton.uni.driver.d.ts +2 -0
  429. package/dist/types/components/ImportButton/ImportButton.uni.driver.d.ts.map +1 -1
  430. package/dist/types/components/ImportButton/ImportModal.uni.driver.d.ts +2 -0
  431. package/dist/types/components/ImportButton/ImportModal.uni.driver.d.ts.map +1 -1
  432. package/dist/types/components/InputOverflow/InputOverflow.st.css.d.ts.map +1 -1
  433. package/dist/types/components/Kanban/Kanban.uni.driver.d.ts +5 -0
  434. package/dist/types/components/Kanban/Kanban.uni.driver.d.ts.map +1 -1
  435. package/dist/types/components/LayoutSwitch/LayoutSwitch.uni.driver.d.ts +18 -0
  436. package/dist/types/components/LayoutSwitch/LayoutSwitch.uni.driver.d.ts.map +1 -1
  437. package/dist/types/components/MaxHeightText/MaxHeightText.st.css.d.ts.map +1 -1
  438. package/dist/types/components/MaxLines/MaxLines.st.css.d.ts.map +1 -1
  439. package/dist/types/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.d.ts.map +1 -1
  440. package/dist/types/components/NestedTable/NestedTable.uni.driver.d.ts +16 -0
  441. package/dist/types/components/NestedTable/NestedTable.uni.driver.d.ts.map +1 -1
  442. package/dist/types/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.d.ts.map +1 -1
  443. package/dist/types/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.d.ts.map +1 -1
  444. package/dist/types/components/PageWrapper/PageWrapperBase.d.ts.map +1 -1
  445. package/dist/types/components/SlidingModal/SlidingModal.st.css.d.ts.map +1 -1
  446. package/dist/types/components/Table/Table.uni.driver.d.ts +12 -0
  447. package/dist/types/components/Table/Table.uni.driver.d.ts.map +1 -1
  448. package/dist/types/components/TableFolders/TableFolders.uni.driver.d.ts +16 -0
  449. package/dist/types/components/TableFolders/TableFolders.uni.driver.d.ts.map +1 -1
  450. package/dist/types/components/TableGridSwitch/TableGridSwitch.uni.driver.d.ts +14 -0
  451. package/dist/types/components/TableGridSwitch/TableGridSwitch.uni.driver.d.ts.map +1 -1
  452. package/dist/types/components/TabsFilter/TabsFilter.st.css.d.ts.map +1 -1
  453. package/dist/types/components/Tags/BulkAssignTagsPopover/BulkAssignTagsPopover.uni.driver.d.ts +1 -0
  454. package/dist/types/components/Tags/BulkAssignTagsPopover/BulkAssignTagsPopover.uni.driver.d.ts.map +1 -1
  455. package/dist/types/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.d.ts.map +1 -1
  456. package/dist/types/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.d.ts.map +1 -1
  457. package/dist/types/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.uni.driver.d.ts +1 -0
  458. package/dist/types/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.uni.driver.d.ts.map +1 -1
  459. package/dist/types/components/TagsAssignButton/TagsAssignButton.uni.driver.d.ts +1 -0
  460. package/dist/types/components/TagsAssignButton/TagsAssignButton.uni.driver.d.ts.map +1 -1
  461. package/dist/types/components/TagsWidget/TagsWidget.uni.driver.d.ts +2 -1
  462. package/dist/types/components/TagsWidget/TagsWidget.uni.driver.d.ts.map +1 -1
  463. package/dist/types/components/common.st.css.d.ts.map +1 -1
  464. package/dist/types/dashboard/WixPatternsDashboardBaseProvider.d.ts +1 -1
  465. package/dist/types/dashboard/WixPatternsDashboardBaseProvider.d.ts.map +1 -1
  466. package/dist/types/giza/WixPatternsGizaProvider.d.ts.map +1 -1
  467. package/dist/types/state/CollectionViewsQueryCompareHelper.d.ts.map +1 -1
  468. package/dist/types/state/CollectionViewsState.d.ts.map +1 -1
  469. package/dist/types/state/CustomColumnsHistoryState.d.ts.map +1 -1
  470. package/dist/types/state/CustomColumnsState.d.ts.map +1 -1
  471. package/dist/types/state/EditableTable/EditableTableState.d.ts +1 -0
  472. package/dist/types/state/EditableTable/EditableTableState.d.ts.map +1 -1
  473. package/dist/types/state/EditableTable/types.d.ts +16 -1
  474. package/dist/types/state/EditableTable/types.d.ts.map +1 -1
  475. package/dist/types/state/FormPage/FormPageHeader.st.css.d.ts.map +1 -1
  476. package/dist/types/state/ToolbarCollectionState.d.ts +9 -0
  477. package/dist/types/state/ToolbarCollectionState.d.ts.map +1 -1
  478. package/dist/types/testkit/enzyme.d.ts +68 -0
  479. package/dist/types/testkit/enzyme.d.ts.map +1 -1
  480. package/dist/types/testkit/jsdom.d.ts +96 -0
  481. package/dist/types/testkit/jsdom.d.ts.map +1 -1
  482. package/dist/types/testkit/playwright.d.ts +73 -0
  483. package/dist/types/testkit/playwright.d.ts.map +1 -1
  484. package/dist/types/testkit/puppeteer.d.ts +78 -0
  485. package/dist/types/testkit/puppeteer.d.ts.map +1 -1
  486. package/dist/types/version.d.ts +1 -1
  487. package/package.json +7 -7
  488. package/src/bm/buildBMCairoEssentials.ts +12 -1
  489. package/src/components/CardContainer/CardContainer.st.css.ts +2 -2
  490. package/src/components/CmsFieldManagement/CmsFieldForm.st.css.ts +2 -2
  491. package/src/components/CmsFieldManagement/CmsFieldModal.st.css.ts +2 -2
  492. package/src/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.ts +2 -2
  493. package/src/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.ts +2 -2
  494. package/src/components/Collapse/Collapse.st.css.ts +2 -2
  495. package/src/components/CollectionPageNew/CollectionPage.st.css.ts +2 -2
  496. package/src/components/CollectionSectionHeader/CollectionSectionHeader.st.css.ts +2 -2
  497. package/src/components/CollectionTable/CollectionTable.st.css.ts +2 -2
  498. package/src/components/CollectionTable/CollectionTableWSRTable.st.css.ts +2 -2
  499. package/src/components/CollectionToolbar/CollectionToolbar.st.css.ts +2 -2
  500. package/src/components/CollectionToolbar/SearchOrCustomFilter.st.css.ts +2 -2
  501. package/src/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.ts +2 -2
  502. package/src/components/CollectionViewsDropdown/ViewsDropdown.st.css.ts +2 -2
  503. package/src/components/DragHandle/DragHandle.st.css.ts +2 -2
  504. package/src/components/EditableTable/EditableCell.st.css +13 -0
  505. package/src/components/EditableTable/EditableCell.st.css.ts +2 -2
  506. package/src/components/EditableTable/EditableCell.tsx +39 -22
  507. package/src/components/EditableTable/EditableTable.tsx +2 -0
  508. package/src/components/EditableTable/HeaderActionsPopover.st.css.ts +2 -2
  509. package/src/components/EditableTable/cellTypes/CellViewLayout.st.css.ts +2 -2
  510. package/src/components/EditableTable/cellTypes/address/Edit.st.css.ts +2 -2
  511. package/src/components/EditableTable/cellTypes/audio/Edit.tsx +22 -0
  512. package/src/components/EditableTable/cellTypes/audio/Edit.uni.driver.ts +14 -0
  513. package/src/components/EditableTable/cellTypes/audio/View.tsx +7 -0
  514. package/src/components/EditableTable/cellTypes/audio/View.uni.driver.ts +13 -0
  515. package/src/components/EditableTable/cellTypes/audio/index.ts +18 -0
  516. package/src/components/EditableTable/cellTypes/boolean/Edit.st.css.ts +2 -2
  517. package/src/components/EditableTable/cellTypes/boolean/View.st.css.ts +2 -2
  518. package/src/components/EditableTable/cellTypes/date/Edit.st.css.ts +2 -2
  519. package/src/components/EditableTable/cellTypes/date/View.st.css.ts +2 -2
  520. package/src/components/EditableTable/cellTypes/email/Edit.st.css.ts +2 -2
  521. package/src/components/EditableTable/cellTypes/email/View.st.css.ts +2 -2
  522. package/src/components/EditableTable/cellTypes/index.ts +6 -0
  523. package/src/components/EditableTable/cellTypes/multiDocument/Edit.tsx +25 -0
  524. package/src/components/EditableTable/cellTypes/multiDocument/Edit.uni.driver.ts +16 -0
  525. package/src/components/EditableTable/cellTypes/multiDocument/View.tsx +15 -0
  526. package/src/components/EditableTable/cellTypes/multiDocument/View.uni.driver.ts +15 -0
  527. package/src/components/EditableTable/cellTypes/multiDocument/index.ts +19 -0
  528. package/src/components/EditableTable/cellTypes/number/Edit.st.css.ts +2 -2
  529. package/src/components/EditableTable/cellTypes/number/View.st.css.ts +2 -2
  530. package/src/components/EditableTable/cellTypes/object/Edit.st.css.ts +2 -2
  531. package/src/components/EditableTable/cellTypes/object/View.st.css.ts +2 -2
  532. package/src/components/EditableTable/cellTypes/reference/Edit.tsx +14 -4
  533. package/src/components/EditableTable/cellTypes/reference/Edit.uni.driver.ts +10 -0
  534. package/src/components/EditableTable/cellTypes/reference/ReferenceEditWrapper.tsx +29 -0
  535. package/src/components/EditableTable/cellTypes/reference/index.ts +2 -0
  536. package/src/components/EditableTable/cellTypes/reference/openCollectionContext.ts +18 -0
  537. package/src/components/EditableTable/cellTypes/reference/types.ts +3 -4
  538. package/src/components/EditableTable/cellTypes/select/Edit.st.css.ts +2 -2
  539. package/src/components/EditableTable/cellTypes/text/Edit.st.css.ts +2 -2
  540. package/src/components/EditableTable/cellTypes/text/View.st.css.ts +2 -2
  541. package/src/components/EditableTable/cellTypes/time/Edit.st.css.ts +2 -2
  542. package/src/components/EditableTable/cellTypes/url/Edit.st.css.ts +2 -2
  543. package/src/components/EditableTable/cellTypes/url/View.st.css.ts +2 -2
  544. package/src/components/EditableTable/types.ts +24 -1
  545. package/src/components/EditableTable/useAddRow.ts +2 -0
  546. package/src/components/EditableTable/useOpenCollectionOverlay.ts +77 -0
  547. package/src/components/EntityPage/EntityPagePlain.st.css.ts +2 -2
  548. package/src/components/Fade/Fade.st.css.ts +2 -2
  549. package/src/components/Heading/Heading.st.css.ts +2 -2
  550. package/src/components/ImportButton/ImportStepUpload.st.css.ts +2 -2
  551. package/src/components/InputOverflow/InputOverflow.st.css.ts +2 -2
  552. package/src/components/LoadingRow/LoadingRow.st.css.ts +3 -3
  553. package/src/components/MaxHeightText/MaxHeightText.st.css.ts +2 -2
  554. package/src/components/MaxLines/MaxLines.st.css.ts +2 -2
  555. package/src/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.ts +2 -2
  556. package/src/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.ts +2 -2
  557. package/src/components/NestedTable/NestedTableRow.st.css.ts +2 -2
  558. package/src/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.ts +2 -2
  559. package/src/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.ts +2 -2
  560. package/src/components/PageWrapper/PageWrapperBase.tsx +3 -7
  561. package/src/components/PickerContent/PickerContent.st.css.ts +2 -2
  562. package/src/components/PickerContent/PickerContentAdditionalStep.st.css.ts +2 -2
  563. package/src/components/PickerTableListItem/PickerTableListItem.st.css.ts +2 -2
  564. package/src/components/ScrollableContent/ScrollableContent.st.css.ts +2 -2
  565. package/src/components/SkeletonCard/SkeletonCard.st.css.ts +2 -2
  566. package/src/components/SlidingModal/SlidingModal.st.css.ts +2 -2
  567. package/src/components/TabsFilter/TabsFilter.st.css.ts +2 -2
  568. package/src/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.ts +2 -2
  569. package/src/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.tsx +145 -130
  570. package/src/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.uni.driver.ts +11 -0
  571. package/src/components/ToolbarItem/ToolbarItem.st.css.ts +2 -2
  572. package/src/components/ToolbarItemBox/ToolbarItemBox.st.css.ts +2 -2
  573. package/src/components/common.st.css.ts +2 -2
  574. package/src/dashboard/WixPatternsDashboardBaseProvider.tsx +9 -2
  575. package/src/giza/WixPatternsGizaProvider.tsx +16 -6
  576. package/src/state/CollectionPage/CollectionPageHeader.st.css.ts +2 -2
  577. package/src/state/CollectionViewsQueryCompareHelper.ts +9 -0
  578. package/src/state/CollectionViewsState.ts +13 -0
  579. package/src/state/CustomColumnsHistoryState.ts +3 -0
  580. package/src/state/CustomColumnsState.ts +3 -0
  581. package/src/state/EditableTable/EditableTableState.ts +4 -0
  582. package/src/state/EditableTable/types.ts +18 -0
  583. package/src/state/FormPage/FormPageHeader.st.css.ts +2 -2
  584. package/src/state/ToolbarCollectionState.ts +69 -0
  585. package/src/styles.global.css +2 -2
  586. package/src/version.ts +1 -1
@@ -121,6 +121,9 @@ class CollectionViewsState {
121
121
  if (!newLayout || !prevLayout || newLayout === prevLayout) {
122
122
  return;
123
123
  }
124
+ if (this.table._cacheRestoredLayout === newLayout) {
125
+ return;
126
+ }
124
127
  if (!this.views.currentView) {
125
128
  return;
126
129
  }
@@ -200,11 +203,16 @@ class CollectionViewsState {
200
203
  } = collection;
201
204
  // Layout must settle first — _setSelectedViewToCollectionQuery reads layout-aware columns.
202
205
  if (this.table.layoutState && currentView != null && currentView.layout) {
206
+ if (currentView.layout !== this.table.layoutState.viewType) {
207
+ this.table._skipNextLayoutCoordinator = true;
208
+ }
203
209
  this.table.layoutState.viewType = currentView.layout;
204
210
  }
205
211
  this._setSelectedViewToCollectionQuery();
206
212
  (_query$queryHistory = query.queryHistory) == null || _query$queryHistory.persistAll();
207
213
  query.events.emit('refresh');
214
+ // A view selection is a clean reset of column config for every layout.
215
+ this.table._clearColumnsCache();
208
216
  }
209
217
  get currentViewColumns() {
210
218
  const {
@@ -308,6 +316,8 @@ class CollectionViewsState {
308
316
  (_this$onSaveViewChang = this.onSaveViewChanges) == null || _this$onSaveViewChang.call(this, newView);
309
317
  this.viewsStateBIReporter.saveViewChangesBI(newView, oldView);
310
318
  }
319
+ // Every cached layout was just flushed into the saved view by currentViewBase.
320
+ this.table._clearColumnsCache();
311
321
  }
312
322
  sendSaveNewViewSelectedBI() {
313
323
  this.viewsStateBIReporter.saveNewViewSelectedBI();
@@ -322,6 +332,9 @@ class CollectionViewsState {
322
332
  });
323
333
  (_this$onSaveView = this.onSaveView) == null || _this$onSaveView.call(this, newView);
324
334
  this.viewsStateBIReporter.saveNewViewBI(newView);
335
+ // The persisted baseline now matches every cached layout (currentViewBase
336
+ // flushed each one into the saved view), so the whole cache is stale.
337
+ this.table._clearColumnsCache();
325
338
  } catch (err) {
326
339
  throw new _bexCore.WixPatternsError({
327
340
  errorCode: 'SaveViewFailed',
@@ -1 +1 @@
1
- {"version":3,"names":["_bexCore","require","_ViewsState","_mobx","_model","_CollectionViewsStateBIReporter","_events","_indexOfCompareFn","_CollectionViewsQueryCompareHelper","_ViewsHistoryState","CollectionViewsState","getLayout","_this$table$layoutSta","table","layoutState","viewType","constructor","params","_defineProperty2","default","TaskState","EventEmitter","onDeleteView","onSaveViewChanges","onSaveView","onRenameView","onSetAsDefaultView","learnMoreLink","viewNamePlaceholder","views","ViewsState","oldNamespace","namespace","container","presets","fqdn","collection","queryName","allItemsViewProps","reportBI","reportBi","_migrateOrdersViews","viewsState","_ref","call","_fixMissingContactsViews","_fixMissingContactsVi","_ref2","queryCompareHelper","CollectionViewsQueryCompareHelper","collectionViews","viewsStateBIReporter","CollectionViewsStateBIReporter","collectionViewState","makeObservable","_setSelectedViewToCollectionQuery","action","bound","_onSelectViewAndRefresh","_selectInitialView","isViewChanged","computed","currentViewColumns","currentViewColumnsOrDefaultColumns","currentView","isSelectedColumnsChanged","isSortChanged","isFiltersChanged","_doNotWaitForViewsExperimentEnabled","experiments","internalExperiments","enabled","init","initTask","history","_getAllItemsAndPresetViews","disposers","addEventListener","hooks","query","_initializedFromHistory","_this$initTask$status","status","promise","catch","_subscribeOnSelectView","_subscribeOnViewAction","ViewsHistoryState","reaction","_this$table$layoutSta2","newLayout","prevLayout","cols","selectedColumns","setValue","reset","runOnce","runInAction","result","items","clearResultAndMoveToStart","forEach","disposer","initialSelectItem","_getInitialSelectItem","_initialViewIdFromUrl","view","getView","id","events","undoActionBI","bind","tryAgainBI","errorBI","needFiltersReset","_query$queryHistory","layout","queryHistory","persistAll","emit","columns","customColumnsState","viewSelectedColumns","getViewSelectedColumnsForLayout","length","selectedColumnsToSet","map","hideable","hiddenFromCustomColumnsSelection","isSelected","some","c","dragAndDrop","sort","indexOfCompareFn","e","defaultValue","resetFilters","filters","Object","entries","filterName","filter","queryFilter","value","decode","resetSorting","sortDirections","setSortQuery","sortInView","field","columnId","direction","emitChangeEvent","setExtra","extra","deleteView","_this$onDeleteView","viewToDelete","deleteViewSelectedBI","deleteViewBI","WixPatternsError","originalException","errorCode","saveViewChanges","saveViewChangesSelectedBI","oldView","undefined","newView","currentViewBase","_this$onSaveViewChang","saveViewChangesBI","sendSaveNewViewSelectedBI","saveNewViewSelectedBI","saveNewView","name","_this$views$currentVi","_this$onSaveView","saveView","createNewView","isNew","oldViewId","saveNewViewBI","err","sendRenameViewSelectedBI","renameViewSelectedBI","renameView","_this$views$currentVi2","_this$onRenameView","oldName","renameViewBI","setAsDefaultView","_this$onSetAsDefaultV","isDefault","defaultViewId","setAsDefaultViewSelectedBI","setAsDefaultViewBI","exports"],"sources":["../../../src/state/CollectionViewsState.ts"],"sourcesContent":["import {\n addEventListener,\n FiltersMap,\n TaskState,\n TypedEmitter,\n WixPatternsContainer,\n WixPatternsError,\n} from '@wix/bex-core';\nimport { ViewsState } from './ViewsState';\nimport { ViewsProps } from '../index';\nimport { action, computed, makeObservable, reaction, runInAction } from 'mobx';\nimport {\n AllItemsViewProps,\n Category,\n getViewSelectedColumnsForLayout,\n PrivateView,\n View,\n ViewType,\n} from '../model';\nimport { ToolbarCollectionState } from './ToolbarCollectionState';\nimport { CollectionViewsStateBIReporter } from './CollectionViewsStateBIReporter';\nimport { EventEmitter } from 'events';\nimport { indexOfCompareFn } from './indexOfCompareFn';\nimport { CollectionViewsQueryCompareHelper } from './CollectionViewsQueryCompareHelper';\nimport { ViewsHistoryState } from './ViewsHistoryState';\nimport { MigrateOrdersViewsState } from '../hooks/useMigrateOrdersViews';\nimport { FixMissingContactsViewsState } from '../hooks/useFixMissingContactsViews';\n\nexport interface CollectionViewsStateParams<T, F extends FiltersMap> {\n presets?: Category<F>[];\n container: WixPatternsContainer;\n table: ToolbarCollectionState<T, F>;\n allItemsViewProps?: AllItemsViewProps<F>;\n onDeleteView?: (view: View<F>) => void | Promise<void>;\n onSaveViewChanges?: (view: View<F>) => void | Promise<void>;\n onSaveView?: (view: View<F>) => void | Promise<void>;\n onRenameView?: (view: View<F>) => void | Promise<void>;\n onSetAsDefaultView?: (\n view: View<F>,\n isDefault: boolean,\n ) => void | Promise<void>;\n learnMoreLink?: ViewsProps<F>['learnMoreLink'];\n viewNamePlaceholder?: ViewsProps<F>['viewNamePlaceholder'];\n}\n\nexport class CollectionViewsState<T, F extends FiltersMap> {\n readonly views: ViewsState<F>;\n readonly table: ToolbarCollectionState<T, F>;\n readonly initTask = new TaskState();\n readonly emitter = new EventEmitter() as TypedEmitter<{\n openManageViewPopoverMenu: () => unknown;\n }>;\n readonly queryCompareHelper: CollectionViewsQueryCompareHelper<T, F>;\n readonly onDeleteView?: (view: View<F>) => void | Promise<void>;\n readonly onSaveViewChanges?: (view: View<F>) => void | Promise<void>;\n readonly onSaveView?: (view: View<F>) => void | Promise<void>;\n readonly onRenameView?: (view: View<F>) => void | Promise<void>;\n readonly onSetAsDefaultView?: (\n view: View<F>,\n isDefault: boolean,\n ) => void | Promise<void>;\n\n readonly learnMoreLink?: string;\n readonly viewNamePlaceholder?: string;\n\n viewsStateBIReporter: CollectionViewsStateBIReporter<T, F>;\n\n getLayout(): ViewType | undefined {\n return this.table.layoutState?.viewType;\n }\n constructor(params: CollectionViewsStateParams<T, F>) {\n this.table = params.table;\n this.onDeleteView = params.onDeleteView;\n this.onSaveViewChanges = params.onSaveViewChanges;\n this.onSaveView = params.onSaveView;\n this.onRenameView = params.onRenameView;\n this.onSetAsDefaultView = params.onSetAsDefaultView;\n\n this.learnMoreLink = params.learnMoreLink;\n this.viewNamePlaceholder = params.viewNamePlaceholder;\n\n this.views = new ViewsState({\n oldNamespace: this.table.namespace,\n container: params.container,\n presets: params.presets,\n fqdn: this.table.collection.queryName,\n allItemsViewProps: params.allItemsViewProps,\n reportBI: this.table.reportBi,\n });\n\n this.views._migrateOrdersViews = (viewsState) => {\n (\n this.table.collection as MigrateOrdersViewsState<F>\n )._migrateOrdersViews?.(viewsState);\n };\n\n this.views._fixMissingContactsViews = (viewsState) => {\n (\n this.table.collection as FixMissingContactsViewsState<F>\n )._fixMissingContactsViews?.(viewsState);\n };\n\n this.queryCompareHelper = new CollectionViewsQueryCompareHelper<T, F>({\n table: this.table,\n collectionViews: this,\n });\n\n this.viewsStateBIReporter = new CollectionViewsStateBIReporter({\n reportBI: this.table.reportBi,\n collectionViewState: this,\n });\n\n makeObservable(this, {\n _setSelectedViewToCollectionQuery: action.bound,\n _onSelectViewAndRefresh: action.bound,\n _selectInitialView: action.bound,\n isViewChanged: computed,\n currentViewColumns: computed,\n currentViewColumnsOrDefaultColumns: computed,\n });\n }\n\n get isViewChanged() {\n const {\n views: { currentView },\n } = this;\n\n return (\n !currentView ||\n this.queryCompareHelper.isSelectedColumnsChanged ||\n this.queryCompareHelper.isSortChanged ||\n this.queryCompareHelper.isFiltersChanged\n );\n }\n\n get _doNotWaitForViewsExperimentEnabled() {\n const {\n table: {\n container: { experiments, internalExperiments },\n },\n } = this;\n\n return (\n internalExperiments?.enabled('specs.cairo.doNotWaitForViews') ||\n experiments.enabled('specs.cairo.stores.doNotWaitForViews')\n );\n }\n\n init() {\n const {\n views,\n initTask,\n table: {\n collection,\n container: { history },\n },\n } = this;\n\n if (this._doNotWaitForViewsExperimentEnabled) {\n this._selectInitialView(views._getAllItemsAndPresetViews());\n }\n\n const disposers = [\n addEventListener(\n collection.hooks,\n 'beforeInitialFetch',\n action(async () => {\n if (\n !this._doNotWaitForViewsExperimentEnabled &&\n !collection.query._initializedFromHistory\n ) {\n await this.initTask.status.promise?.catch(() => {});\n }\n }),\n ),\n views.init(),\n ...this._subscribeOnSelectView(),\n ...this._subscribeOnViewAction(),\n this.viewsStateBIReporter.init(),\n new ViewsHistoryState({\n views: this.views,\n history,\n }).init(),\n reaction(\n () => this.table.layoutState?.viewType,\n (newLayout, prevLayout) => {\n if (!newLayout || !prevLayout || newLayout === prevLayout) {\n return;\n }\n if (!this.views.currentView) {\n return;\n }\n const cols = this.currentViewColumns;\n if (cols) {\n this.table.selectedColumns.setValue(cols);\n } else {\n this.table.selectedColumns.reset();\n }\n },\n ),\n ];\n\n initTask.runOnce(async () => {\n await views.initTask.status.promise;\n runInAction(() => {\n if (this._selectInitialView(views.collection.result.items)) {\n // when not waiting for views, we need to refresh the collection as the initialView after views loaded might have changed the query\n if (this._doNotWaitForViewsExperimentEnabled) {\n this.table.collection.clearResultAndMoveToStart();\n }\n }\n });\n });\n\n return () => {\n disposers.forEach((disposer) => disposer());\n };\n }\n\n _selectInitialView(items: PrivateView<F>[]): void | boolean {\n const {\n views,\n table: { collection },\n } = this;\n\n if (this.views.currentView) {\n return;\n }\n\n const initialSelectItem = views._getInitialSelectItem(items);\n\n if (initialSelectItem == null) {\n return;\n }\n\n if (\n !views._initialViewIdFromUrl &&\n collection.query._initializedFromHistory\n ) {\n return;\n }\n\n const view = views.getView(initialSelectItem.id);\n views.currentView = view ?? null;\n\n if (!collection.query._initializedFromHistory) {\n this._setSelectedViewToCollectionQuery();\n return true;\n }\n }\n\n private _subscribeOnViewAction() {\n const { views } = this;\n return [\n addEventListener(\n views.events,\n 'undoAction',\n this.viewsStateBIReporter.undoActionBI.bind(this.viewsStateBIReporter),\n ),\n addEventListener(\n views.events,\n 'tryAgainAction',\n this.viewsStateBIReporter.tryAgainBI.bind(this.viewsStateBIReporter),\n ),\n addEventListener(\n views.events,\n 'errorAction',\n this.viewsStateBIReporter.errorBI.bind(this.viewsStateBIReporter),\n ),\n ];\n }\n\n private _subscribeOnSelectView() {\n const { views } = this;\n return [\n addEventListener(\n views.events,\n 'selectAndRefresh',\n action(this._onSelectViewAndRefresh),\n ),\n ];\n }\n\n _onSelectViewAndRefresh(needFiltersReset = true) {\n if (!needFiltersReset) {\n return;\n }\n\n const {\n table: { collection },\n views: { currentView },\n } = this;\n const { query } = collection;\n // Layout must settle first — _setSelectedViewToCollectionQuery reads layout-aware columns.\n if (this.table.layoutState && currentView?.layout) {\n this.table.layoutState.viewType = currentView.layout;\n }\n this._setSelectedViewToCollectionQuery();\n query.queryHistory?.persistAll();\n\n query.events.emit('refresh');\n }\n\n get currentViewColumns() {\n const { views, table } = this;\n const { columns, customColumnsState } = table;\n const { currentView } = views;\n const viewSelectedColumns = getViewSelectedColumnsForLayout(\n currentView,\n this.getLayout(),\n );\n\n if (!viewSelectedColumns?.length) {\n return null;\n }\n\n const selectedColumnsToSet = columns.map(\n ({ id, hideable, hiddenFromCustomColumnsSelection }) => ({\n id,\n isSelected:\n viewSelectedColumns.some(\n (c) => c.id === id && c.isSelected !== false,\n ) ||\n !hideable ||\n hiddenFromCustomColumnsSelection === true,\n }),\n );\n\n return customColumnsState?.dragAndDrop\n ? selectedColumnsToSet.sort(\n indexOfCompareFn(viewSelectedColumns, (e) => e?.id),\n )\n : selectedColumnsToSet;\n }\n\n get currentViewColumnsOrDefaultColumns() {\n return this.currentViewColumns ?? this.table.selectedColumns.defaultValue;\n }\n\n _setSelectedViewToCollectionQuery() {\n const { views, table } = this;\n const { selectedColumns, collection } = table;\n const { currentView } = views;\n\n const { query } = collection;\n\n query.resetFilters();\n if (currentView?.filters) {\n Object.entries(currentView.filters).forEach(([filterName, filter]) => {\n const queryFilter = query.filters[filterName];\n if (queryFilter && queryFilter.value !== filter?.value) {\n queryFilter.setValue(queryFilter.decode(filter?.value));\n }\n });\n }\n\n query.resetSorting();\n if (currentView?.sortDirections && currentView.sortDirections.length > 0) {\n query.sort.setSortQuery(\n currentView.sortDirections.map((sortInView) => ({\n field: sortInView.columnId,\n direction: sortInView.direction === 'Ascending' ? 'asc' : 'desc',\n })),\n { emitChangeEvent: true },\n );\n } else {\n query.resetSorting({ emitChangeEvent: true });\n }\n\n if (this.currentViewColumns) {\n selectedColumns.setValue(this.currentViewColumns);\n } else {\n selectedColumns.reset();\n }\n\n query.setExtra(currentView?.extra);\n }\n\n async deleteView(view?: PrivateView<F>) {\n try {\n const viewToDelete = view ?? this.views.currentView;\n if (!viewToDelete) {\n return;\n }\n this.viewsStateBIReporter.deleteViewSelectedBI();\n this.onDeleteView?.(viewToDelete);\n await this.views.deleteView(viewToDelete);\n this.viewsStateBIReporter.deleteViewBI(viewToDelete);\n } catch (e) {\n throw new WixPatternsError({\n originalException: e,\n errorCode: 'DeleteViewFailed',\n });\n }\n }\n\n async saveViewChanges() {\n this.viewsStateBIReporter.saveViewChangesSelectedBI();\n\n const oldView = this.views.currentView\n ? ({ ...this.views.currentView } as PrivateView<F>)\n : undefined;\n\n const newView = await this.views.saveViewChanges(\n this.queryCompareHelper.currentViewBase,\n );\n\n if (newView) {\n this.onSaveViewChanges?.(newView);\n this.viewsStateBIReporter.saveViewChangesBI(newView, oldView);\n }\n }\n\n sendSaveNewViewSelectedBI() {\n this.viewsStateBIReporter.saveNewViewSelectedBI();\n }\n\n async saveNewView(name: string) {\n try {\n const newView = await this.views.saveView({\n newView: this.views.createNewView(\n name,\n this.queryCompareHelper.currentViewBase,\n ),\n isNew: true,\n oldViewId: this.views.currentView?.id,\n });\n this.onSaveView?.(newView);\n this.viewsStateBIReporter.saveNewViewBI(newView);\n } catch (err) {\n throw new WixPatternsError({\n errorCode: 'SaveViewFailed',\n originalException: err,\n });\n }\n }\n\n sendRenameViewSelectedBI() {\n this.viewsStateBIReporter.renameViewSelectedBI();\n }\n\n async renameView(name: string) {\n try {\n if (!this.views.currentView) {\n return;\n }\n const oldName = this.views.currentView.name;\n const newView = await this.views.renameView(\n { ...this.views.currentView, name } as PrivateView<F>,\n this.views.currentView?.name ?? '',\n );\n this.onRenameView?.(newView);\n this.viewsStateBIReporter.renameViewBI(newView, oldName);\n } catch (e) {\n throw new WixPatternsError({\n originalException: e,\n errorCode: 'RenameViewFailed',\n });\n }\n }\n\n async setAsDefaultView() {\n try {\n if (!this.views.currentView) {\n return;\n }\n const isDefault = this.views.defaultViewId !== this.views.currentView.id;\n this.viewsStateBIReporter.setAsDefaultViewSelectedBI(isDefault);\n const newView = await this.views.setAsDefaultView(\n this.views.currentView,\n isDefault,\n );\n this.onSetAsDefaultView?.(newView, isDefault);\n this.viewsStateBIReporter.setAsDefaultViewBI(isDefault, newView);\n } catch (e) {\n throw new WixPatternsError({\n originalException: e,\n errorCode: 'SetAsDefaultViewFailed',\n });\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_bexCore","require","_ViewsState","_mobx","_model","_CollectionViewsStateBIReporter","_events","_indexOfCompareFn","_CollectionViewsQueryCompareHelper","_ViewsHistoryState","CollectionViewsState","getLayout","_this$table$layoutSta","table","layoutState","viewType","constructor","params","_defineProperty2","default","TaskState","EventEmitter","onDeleteView","onSaveViewChanges","onSaveView","onRenameView","onSetAsDefaultView","learnMoreLink","viewNamePlaceholder","views","ViewsState","oldNamespace","namespace","container","presets","fqdn","collection","queryName","allItemsViewProps","reportBI","reportBi","_migrateOrdersViews","viewsState","_ref","call","_fixMissingContactsViews","_fixMissingContactsVi","_ref2","queryCompareHelper","CollectionViewsQueryCompareHelper","collectionViews","viewsStateBIReporter","CollectionViewsStateBIReporter","collectionViewState","makeObservable","_setSelectedViewToCollectionQuery","action","bound","_onSelectViewAndRefresh","_selectInitialView","isViewChanged","computed","currentViewColumns","currentViewColumnsOrDefaultColumns","currentView","isSelectedColumnsChanged","isSortChanged","isFiltersChanged","_doNotWaitForViewsExperimentEnabled","experiments","internalExperiments","enabled","init","initTask","history","_getAllItemsAndPresetViews","disposers","addEventListener","hooks","query","_initializedFromHistory","_this$initTask$status","status","promise","catch","_subscribeOnSelectView","_subscribeOnViewAction","ViewsHistoryState","reaction","_this$table$layoutSta2","newLayout","prevLayout","_cacheRestoredLayout","cols","selectedColumns","setValue","reset","runOnce","runInAction","result","items","clearResultAndMoveToStart","forEach","disposer","initialSelectItem","_getInitialSelectItem","_initialViewIdFromUrl","view","getView","id","events","undoActionBI","bind","tryAgainBI","errorBI","needFiltersReset","_query$queryHistory","layout","_skipNextLayoutCoordinator","queryHistory","persistAll","emit","_clearColumnsCache","columns","customColumnsState","viewSelectedColumns","getViewSelectedColumnsForLayout","length","selectedColumnsToSet","map","hideable","hiddenFromCustomColumnsSelection","isSelected","some","c","dragAndDrop","sort","indexOfCompareFn","e","defaultValue","resetFilters","filters","Object","entries","filterName","filter","queryFilter","value","decode","resetSorting","sortDirections","setSortQuery","sortInView","field","columnId","direction","emitChangeEvent","setExtra","extra","deleteView","_this$onDeleteView","viewToDelete","deleteViewSelectedBI","deleteViewBI","WixPatternsError","originalException","errorCode","saveViewChanges","saveViewChangesSelectedBI","oldView","undefined","newView","currentViewBase","_this$onSaveViewChang","saveViewChangesBI","sendSaveNewViewSelectedBI","saveNewViewSelectedBI","saveNewView","name","_this$views$currentVi","_this$onSaveView","saveView","createNewView","isNew","oldViewId","saveNewViewBI","err","sendRenameViewSelectedBI","renameViewSelectedBI","renameView","_this$views$currentVi2","_this$onRenameView","oldName","renameViewBI","setAsDefaultView","_this$onSetAsDefaultV","isDefault","defaultViewId","setAsDefaultViewSelectedBI","setAsDefaultViewBI","exports"],"sources":["../../../src/state/CollectionViewsState.ts"],"sourcesContent":["import {\n addEventListener,\n FiltersMap,\n TaskState,\n TypedEmitter,\n WixPatternsContainer,\n WixPatternsError,\n} from '@wix/bex-core';\nimport { ViewsState } from './ViewsState';\nimport { ViewsProps } from '../index';\nimport { action, computed, makeObservable, reaction, runInAction } from 'mobx';\nimport {\n AllItemsViewProps,\n Category,\n getViewSelectedColumnsForLayout,\n PrivateView,\n View,\n ViewType,\n} from '../model';\nimport { ToolbarCollectionState } from './ToolbarCollectionState';\nimport { CollectionViewsStateBIReporter } from './CollectionViewsStateBIReporter';\nimport { EventEmitter } from 'events';\nimport { indexOfCompareFn } from './indexOfCompareFn';\nimport { CollectionViewsQueryCompareHelper } from './CollectionViewsQueryCompareHelper';\nimport { ViewsHistoryState } from './ViewsHistoryState';\nimport { MigrateOrdersViewsState } from '../hooks/useMigrateOrdersViews';\nimport { FixMissingContactsViewsState } from '../hooks/useFixMissingContactsViews';\n\nexport interface CollectionViewsStateParams<T, F extends FiltersMap> {\n presets?: Category<F>[];\n container: WixPatternsContainer;\n table: ToolbarCollectionState<T, F>;\n allItemsViewProps?: AllItemsViewProps<F>;\n onDeleteView?: (view: View<F>) => void | Promise<void>;\n onSaveViewChanges?: (view: View<F>) => void | Promise<void>;\n onSaveView?: (view: View<F>) => void | Promise<void>;\n onRenameView?: (view: View<F>) => void | Promise<void>;\n onSetAsDefaultView?: (\n view: View<F>,\n isDefault: boolean,\n ) => void | Promise<void>;\n learnMoreLink?: ViewsProps<F>['learnMoreLink'];\n viewNamePlaceholder?: ViewsProps<F>['viewNamePlaceholder'];\n}\n\nexport class CollectionViewsState<T, F extends FiltersMap> {\n readonly views: ViewsState<F>;\n readonly table: ToolbarCollectionState<T, F>;\n readonly initTask = new TaskState();\n readonly emitter = new EventEmitter() as TypedEmitter<{\n openManageViewPopoverMenu: () => unknown;\n }>;\n readonly queryCompareHelper: CollectionViewsQueryCompareHelper<T, F>;\n readonly onDeleteView?: (view: View<F>) => void | Promise<void>;\n readonly onSaveViewChanges?: (view: View<F>) => void | Promise<void>;\n readonly onSaveView?: (view: View<F>) => void | Promise<void>;\n readonly onRenameView?: (view: View<F>) => void | Promise<void>;\n readonly onSetAsDefaultView?: (\n view: View<F>,\n isDefault: boolean,\n ) => void | Promise<void>;\n\n readonly learnMoreLink?: string;\n readonly viewNamePlaceholder?: string;\n\n viewsStateBIReporter: CollectionViewsStateBIReporter<T, F>;\n\n getLayout(): ViewType | undefined {\n return this.table.layoutState?.viewType;\n }\n constructor(params: CollectionViewsStateParams<T, F>) {\n this.table = params.table;\n this.onDeleteView = params.onDeleteView;\n this.onSaveViewChanges = params.onSaveViewChanges;\n this.onSaveView = params.onSaveView;\n this.onRenameView = params.onRenameView;\n this.onSetAsDefaultView = params.onSetAsDefaultView;\n\n this.learnMoreLink = params.learnMoreLink;\n this.viewNamePlaceholder = params.viewNamePlaceholder;\n\n this.views = new ViewsState({\n oldNamespace: this.table.namespace,\n container: params.container,\n presets: params.presets,\n fqdn: this.table.collection.queryName,\n allItemsViewProps: params.allItemsViewProps,\n reportBI: this.table.reportBi,\n });\n\n this.views._migrateOrdersViews = (viewsState) => {\n (\n this.table.collection as MigrateOrdersViewsState<F>\n )._migrateOrdersViews?.(viewsState);\n };\n\n this.views._fixMissingContactsViews = (viewsState) => {\n (\n this.table.collection as FixMissingContactsViewsState<F>\n )._fixMissingContactsViews?.(viewsState);\n };\n\n this.queryCompareHelper = new CollectionViewsQueryCompareHelper<T, F>({\n table: this.table,\n collectionViews: this,\n });\n\n this.viewsStateBIReporter = new CollectionViewsStateBIReporter({\n reportBI: this.table.reportBi,\n collectionViewState: this,\n });\n\n makeObservable(this, {\n _setSelectedViewToCollectionQuery: action.bound,\n _onSelectViewAndRefresh: action.bound,\n _selectInitialView: action.bound,\n isViewChanged: computed,\n currentViewColumns: computed,\n currentViewColumnsOrDefaultColumns: computed,\n });\n }\n\n get isViewChanged() {\n const {\n views: { currentView },\n } = this;\n\n return (\n !currentView ||\n this.queryCompareHelper.isSelectedColumnsChanged ||\n this.queryCompareHelper.isSortChanged ||\n this.queryCompareHelper.isFiltersChanged\n );\n }\n\n get _doNotWaitForViewsExperimentEnabled() {\n const {\n table: {\n container: { experiments, internalExperiments },\n },\n } = this;\n\n return (\n internalExperiments?.enabled('specs.cairo.doNotWaitForViews') ||\n experiments.enabled('specs.cairo.stores.doNotWaitForViews')\n );\n }\n\n init() {\n const {\n views,\n initTask,\n table: {\n collection,\n container: { history },\n },\n } = this;\n\n if (this._doNotWaitForViewsExperimentEnabled) {\n this._selectInitialView(views._getAllItemsAndPresetViews());\n }\n\n const disposers = [\n addEventListener(\n collection.hooks,\n 'beforeInitialFetch',\n action(async () => {\n if (\n !this._doNotWaitForViewsExperimentEnabled &&\n !collection.query._initializedFromHistory\n ) {\n await this.initTask.status.promise?.catch(() => {});\n }\n }),\n ),\n views.init(),\n ...this._subscribeOnSelectView(),\n ...this._subscribeOnViewAction(),\n this.viewsStateBIReporter.init(),\n new ViewsHistoryState({\n views: this.views,\n history,\n }).init(),\n reaction(\n () => this.table.layoutState?.viewType,\n (newLayout, prevLayout) => {\n if (!newLayout || !prevLayout || newLayout === prevLayout) {\n return;\n }\n if (this.table._cacheRestoredLayout === newLayout) {\n return;\n }\n if (!this.views.currentView) {\n return;\n }\n const cols = this.currentViewColumns;\n if (cols) {\n this.table.selectedColumns.setValue(cols);\n } else {\n this.table.selectedColumns.reset();\n }\n },\n ),\n ];\n\n initTask.runOnce(async () => {\n await views.initTask.status.promise;\n runInAction(() => {\n if (this._selectInitialView(views.collection.result.items)) {\n // when not waiting for views, we need to refresh the collection as the initialView after views loaded might have changed the query\n if (this._doNotWaitForViewsExperimentEnabled) {\n this.table.collection.clearResultAndMoveToStart();\n }\n }\n });\n });\n\n return () => {\n disposers.forEach((disposer) => disposer());\n };\n }\n\n _selectInitialView(items: PrivateView<F>[]): void | boolean {\n const {\n views,\n table: { collection },\n } = this;\n\n if (this.views.currentView) {\n return;\n }\n\n const initialSelectItem = views._getInitialSelectItem(items);\n\n if (initialSelectItem == null) {\n return;\n }\n\n if (\n !views._initialViewIdFromUrl &&\n collection.query._initializedFromHistory\n ) {\n return;\n }\n\n const view = views.getView(initialSelectItem.id);\n views.currentView = view ?? null;\n\n if (!collection.query._initializedFromHistory) {\n this._setSelectedViewToCollectionQuery();\n return true;\n }\n }\n\n private _subscribeOnViewAction() {\n const { views } = this;\n return [\n addEventListener(\n views.events,\n 'undoAction',\n this.viewsStateBIReporter.undoActionBI.bind(this.viewsStateBIReporter),\n ),\n addEventListener(\n views.events,\n 'tryAgainAction',\n this.viewsStateBIReporter.tryAgainBI.bind(this.viewsStateBIReporter),\n ),\n addEventListener(\n views.events,\n 'errorAction',\n this.viewsStateBIReporter.errorBI.bind(this.viewsStateBIReporter),\n ),\n ];\n }\n\n private _subscribeOnSelectView() {\n const { views } = this;\n return [\n addEventListener(\n views.events,\n 'selectAndRefresh',\n action(this._onSelectViewAndRefresh),\n ),\n ];\n }\n\n _onSelectViewAndRefresh(needFiltersReset = true) {\n if (!needFiltersReset) {\n return;\n }\n\n const {\n table: { collection },\n views: { currentView },\n } = this;\n const { query } = collection;\n // Layout must settle first — _setSelectedViewToCollectionQuery reads layout-aware columns.\n if (this.table.layoutState && currentView?.layout) {\n if (currentView.layout !== this.table.layoutState.viewType) {\n this.table._skipNextLayoutCoordinator = true;\n }\n this.table.layoutState.viewType = currentView.layout;\n }\n this._setSelectedViewToCollectionQuery();\n query.queryHistory?.persistAll();\n\n query.events.emit('refresh');\n // A view selection is a clean reset of column config for every layout.\n this.table._clearColumnsCache();\n }\n\n get currentViewColumns() {\n const { views, table } = this;\n const { columns, customColumnsState } = table;\n const { currentView } = views;\n const viewSelectedColumns = getViewSelectedColumnsForLayout(\n currentView,\n this.getLayout(),\n );\n\n if (!viewSelectedColumns?.length) {\n return null;\n }\n\n const selectedColumnsToSet = columns.map(\n ({ id, hideable, hiddenFromCustomColumnsSelection }) => ({\n id,\n isSelected:\n viewSelectedColumns.some(\n (c) => c.id === id && c.isSelected !== false,\n ) ||\n !hideable ||\n hiddenFromCustomColumnsSelection === true,\n }),\n );\n\n return customColumnsState?.dragAndDrop\n ? selectedColumnsToSet.sort(\n indexOfCompareFn(viewSelectedColumns, (e) => e?.id),\n )\n : selectedColumnsToSet;\n }\n\n get currentViewColumnsOrDefaultColumns() {\n return this.currentViewColumns ?? this.table.selectedColumns.defaultValue;\n }\n\n _setSelectedViewToCollectionQuery() {\n const { views, table } = this;\n const { selectedColumns, collection } = table;\n const { currentView } = views;\n\n const { query } = collection;\n\n query.resetFilters();\n if (currentView?.filters) {\n Object.entries(currentView.filters).forEach(([filterName, filter]) => {\n const queryFilter = query.filters[filterName];\n if (queryFilter && queryFilter.value !== filter?.value) {\n queryFilter.setValue(queryFilter.decode(filter?.value));\n }\n });\n }\n\n query.resetSorting();\n if (currentView?.sortDirections && currentView.sortDirections.length > 0) {\n query.sort.setSortQuery(\n currentView.sortDirections.map((sortInView) => ({\n field: sortInView.columnId,\n direction: sortInView.direction === 'Ascending' ? 'asc' : 'desc',\n })),\n { emitChangeEvent: true },\n );\n } else {\n query.resetSorting({ emitChangeEvent: true });\n }\n\n if (this.currentViewColumns) {\n selectedColumns.setValue(this.currentViewColumns);\n } else {\n selectedColumns.reset();\n }\n\n query.setExtra(currentView?.extra);\n }\n\n async deleteView(view?: PrivateView<F>) {\n try {\n const viewToDelete = view ?? this.views.currentView;\n if (!viewToDelete) {\n return;\n }\n this.viewsStateBIReporter.deleteViewSelectedBI();\n this.onDeleteView?.(viewToDelete);\n await this.views.deleteView(viewToDelete);\n this.viewsStateBIReporter.deleteViewBI(viewToDelete);\n } catch (e) {\n throw new WixPatternsError({\n originalException: e,\n errorCode: 'DeleteViewFailed',\n });\n }\n }\n\n async saveViewChanges() {\n this.viewsStateBIReporter.saveViewChangesSelectedBI();\n\n const oldView = this.views.currentView\n ? ({ ...this.views.currentView } as PrivateView<F>)\n : undefined;\n\n const newView = await this.views.saveViewChanges(\n this.queryCompareHelper.currentViewBase,\n );\n\n if (newView) {\n this.onSaveViewChanges?.(newView);\n this.viewsStateBIReporter.saveViewChangesBI(newView, oldView);\n }\n // Every cached layout was just flushed into the saved view by currentViewBase.\n this.table._clearColumnsCache();\n }\n\n sendSaveNewViewSelectedBI() {\n this.viewsStateBIReporter.saveNewViewSelectedBI();\n }\n\n async saveNewView(name: string) {\n try {\n const newView = await this.views.saveView({\n newView: this.views.createNewView(\n name,\n this.queryCompareHelper.currentViewBase,\n ),\n isNew: true,\n oldViewId: this.views.currentView?.id,\n });\n this.onSaveView?.(newView);\n this.viewsStateBIReporter.saveNewViewBI(newView);\n // The persisted baseline now matches every cached layout (currentViewBase\n // flushed each one into the saved view), so the whole cache is stale.\n this.table._clearColumnsCache();\n } catch (err) {\n throw new WixPatternsError({\n errorCode: 'SaveViewFailed',\n originalException: err,\n });\n }\n }\n\n sendRenameViewSelectedBI() {\n this.viewsStateBIReporter.renameViewSelectedBI();\n }\n\n async renameView(name: string) {\n try {\n if (!this.views.currentView) {\n return;\n }\n const oldName = this.views.currentView.name;\n const newView = await this.views.renameView(\n { ...this.views.currentView, name } as PrivateView<F>,\n this.views.currentView?.name ?? '',\n );\n this.onRenameView?.(newView);\n this.viewsStateBIReporter.renameViewBI(newView, oldName);\n } catch (e) {\n throw new WixPatternsError({\n originalException: e,\n errorCode: 'RenameViewFailed',\n });\n }\n }\n\n async setAsDefaultView() {\n try {\n if (!this.views.currentView) {\n return;\n }\n const isDefault = this.views.defaultViewId !== this.views.currentView.id;\n this.viewsStateBIReporter.setAsDefaultViewSelectedBI(isDefault);\n const newView = await this.views.setAsDefaultView(\n this.views.currentView,\n isDefault,\n );\n this.onSetAsDefaultView?.(newView, isDefault);\n this.viewsStateBIReporter.setAsDefaultViewBI(isDefault, newView);\n } catch (e) {\n throw new WixPatternsError({\n originalException: e,\n errorCode: 'SetAsDefaultViewFailed',\n });\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -81,6 +81,9 @@ class CustomColumnsHistoryState {
81
81
  if (!newLayout || !prevLayout || newLayout === prevLayout) {
82
82
  return;
83
83
  }
84
+ if (this.customColumns.table._cacheRestoredLayout === newLayout) {
85
+ return;
86
+ }
84
87
  // Views path is handled by CollectionViewsState's own reaction.
85
88
  if (this.customColumns.table.viewsProps) {
86
89
  return;
@@ -1 +1 @@
1
- {"version":3,"names":["_mobx","require","_bexCore","parseSelectedColumnsString","selectedColumnsFromUrl","split","map","columnExpression","id","isSelected","decodeURIComponent","filter","SELECTED_COLUMNS_PARAM","SPREADSHEET_SELECTED_COLUMNS_PARAM","getSelectedColumnsParamForLayout","layout","serializeSelectedColumns","selectedColumns","c","encodeURIComponent","join","CustomColumnsHistoryState","selectedColumnsSearchParamName","_this$customColumns$t","customColumns","table","layoutState","viewType","hasUrlColumnsForCurrentLayout","params","URLSearchParams","history","location","search","get","constructor","_defineProperty2","default","_preInitHistoryPersistence","searchParams","_selectedColumnsFromUrl","setValue","multi","collections","forEach","query","_initializedFromHistory","init","disposers","reaction","value","paramName","replaceSearchParamsWith","length","set","delete","fireImmediately","delay","_this$customColumns$t2","newLayout","prevLayout","viewsProps","reset","d","exports"],"sources":["../../../src/state/CustomColumnsHistoryState.ts"],"sourcesContent":["import { reaction } from 'mobx';\nimport { History, replaceSearchParamsWith } from '@wix/bex-core';\nimport { CustomColumnsState } from './CustomColumnsState';\nimport { ViewType } from '../model';\n\nfunction parseSelectedColumnsString(selectedColumnsFromUrl: string) {\n return selectedColumnsFromUrl\n .split(',')\n .map((columnExpression) => {\n const [id = '', isSelected] = columnExpression.split(' ');\n\n return {\n id: decodeURIComponent(id),\n isSelected: isSelected !== 'false',\n };\n })\n .filter(({ id }) => id);\n}\n\n// Legacy `selectedColumns` stays bound to non-spreadsheet layouts so existing\n// deep links keep their meaning; spreadsheet uses a sibling param.\nconst SELECTED_COLUMNS_PARAM = 'selectedColumns';\nconst SPREADSHEET_SELECTED_COLUMNS_PARAM = 'spreadsheetSelectedColumns';\n\nconst getSelectedColumnsParamForLayout = (\n layout: ViewType | undefined,\n): string =>\n layout === 'spreadsheet'\n ? SPREADSHEET_SELECTED_COLUMNS_PARAM\n : SELECTED_COLUMNS_PARAM;\n\nconst serializeSelectedColumns = (\n selectedColumns: readonly {\n id: string;\n isSelected?: boolean;\n }[],\n) =>\n selectedColumns\n .map(\n (c) =>\n `${encodeURIComponent(c.id)}${!c.isSelected ? ' false' : ''}`,\n )\n .join(',');\n\nexport interface CustomColumnsHistoryStateParams {\n customColumns: CustomColumnsState<any, any>;\n history: History;\n}\n\nexport class CustomColumnsHistoryState {\n readonly customColumns;\n readonly history;\n\n get selectedColumnsSearchParamName(): string {\n return getSelectedColumnsParamForLayout(\n this.customColumns.table.layoutState?.viewType,\n );\n }\n\n // Live, per-layout read — unlike `_selectedColumnsFromUrl` (frozen at the\n // initial layout), this reflects the active layout after a switch so URL\n // takes precedence over dataCapsule per layout, not just on first load.\n get hasUrlColumnsForCurrentLayout(): boolean {\n const params = new URLSearchParams(this.history.location.search);\n return !!params.get(this.selectedColumnsSearchParamName);\n }\n\n _selectedColumnsFromUrl?: string | null;\n\n constructor(params: CustomColumnsHistoryStateParams) {\n this.customColumns = params.customColumns;\n this.history = params.history;\n\n this._preInitHistoryPersistence();\n }\n\n _preInitHistoryPersistence() {\n const { history, customColumns } = this;\n\n const searchParams = new URLSearchParams(history.location.search);\n\n this._selectedColumnsFromUrl = searchParams.get(\n this.selectedColumnsSearchParamName,\n );\n\n if (this._selectedColumnsFromUrl) {\n this.customColumns.table.selectedColumns.setValue(\n parseSelectedColumnsString(this._selectedColumnsFromUrl),\n );\n customColumns.table.multi.collections.forEach(({ query }) => {\n query._initializedFromHistory = true;\n });\n }\n }\n\n init() {\n const disposers = [\n reaction(\n () => this.customColumns.table.selectedColumns.value,\n (selectedColumns) => {\n const paramName = this.selectedColumnsSearchParamName;\n replaceSearchParamsWith(this.history, (searchParams) => {\n if (selectedColumns.length) {\n searchParams.set(\n paramName,\n serializeSelectedColumns(selectedColumns),\n );\n } else {\n searchParams.delete(paramName);\n }\n });\n },\n {\n fireImmediately: true,\n delay: 250,\n },\n ),\n reaction(\n () => this.customColumns.table.layoutState?.viewType,\n (newLayout, prevLayout) => {\n if (!newLayout || !prevLayout || newLayout === prevLayout) {\n return;\n }\n // Views path is handled by CollectionViewsState's own reaction.\n if (this.customColumns.table.viewsProps) {\n return;\n }\n const searchParams = new URLSearchParams(\n this.history.location.search,\n );\n const value = searchParams.get(\n getSelectedColumnsParamForLayout(newLayout),\n );\n if (value) {\n this.customColumns.table.selectedColumns.setValue(\n parseSelectedColumnsString(value),\n );\n } else {\n this.customColumns.table.selectedColumns.reset();\n }\n },\n ),\n ];\n\n return () => {\n disposers.forEach((d) => d());\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_mobx","require","_bexCore","parseSelectedColumnsString","selectedColumnsFromUrl","split","map","columnExpression","id","isSelected","decodeURIComponent","filter","SELECTED_COLUMNS_PARAM","SPREADSHEET_SELECTED_COLUMNS_PARAM","getSelectedColumnsParamForLayout","layout","serializeSelectedColumns","selectedColumns","c","encodeURIComponent","join","CustomColumnsHistoryState","selectedColumnsSearchParamName","_this$customColumns$t","customColumns","table","layoutState","viewType","hasUrlColumnsForCurrentLayout","params","URLSearchParams","history","location","search","get","constructor","_defineProperty2","default","_preInitHistoryPersistence","searchParams","_selectedColumnsFromUrl","setValue","multi","collections","forEach","query","_initializedFromHistory","init","disposers","reaction","value","paramName","replaceSearchParamsWith","length","set","delete","fireImmediately","delay","_this$customColumns$t2","newLayout","prevLayout","_cacheRestoredLayout","viewsProps","reset","d","exports"],"sources":["../../../src/state/CustomColumnsHistoryState.ts"],"sourcesContent":["import { reaction } from 'mobx';\nimport { History, replaceSearchParamsWith } from '@wix/bex-core';\nimport { CustomColumnsState } from './CustomColumnsState';\nimport { ViewType } from '../model';\n\nfunction parseSelectedColumnsString(selectedColumnsFromUrl: string) {\n return selectedColumnsFromUrl\n .split(',')\n .map((columnExpression) => {\n const [id = '', isSelected] = columnExpression.split(' ');\n\n return {\n id: decodeURIComponent(id),\n isSelected: isSelected !== 'false',\n };\n })\n .filter(({ id }) => id);\n}\n\n// Legacy `selectedColumns` stays bound to non-spreadsheet layouts so existing\n// deep links keep their meaning; spreadsheet uses a sibling param.\nconst SELECTED_COLUMNS_PARAM = 'selectedColumns';\nconst SPREADSHEET_SELECTED_COLUMNS_PARAM = 'spreadsheetSelectedColumns';\n\nconst getSelectedColumnsParamForLayout = (\n layout: ViewType | undefined,\n): string =>\n layout === 'spreadsheet'\n ? SPREADSHEET_SELECTED_COLUMNS_PARAM\n : SELECTED_COLUMNS_PARAM;\n\nconst serializeSelectedColumns = (\n selectedColumns: readonly {\n id: string;\n isSelected?: boolean;\n }[],\n) =>\n selectedColumns\n .map(\n (c) =>\n `${encodeURIComponent(c.id)}${!c.isSelected ? ' false' : ''}`,\n )\n .join(',');\n\nexport interface CustomColumnsHistoryStateParams {\n customColumns: CustomColumnsState<any, any>;\n history: History;\n}\n\nexport class CustomColumnsHistoryState {\n readonly customColumns;\n readonly history;\n\n get selectedColumnsSearchParamName(): string {\n return getSelectedColumnsParamForLayout(\n this.customColumns.table.layoutState?.viewType,\n );\n }\n\n // Live, per-layout read — unlike `_selectedColumnsFromUrl` (frozen at the\n // initial layout), this reflects the active layout after a switch so URL\n // takes precedence over dataCapsule per layout, not just on first load.\n get hasUrlColumnsForCurrentLayout(): boolean {\n const params = new URLSearchParams(this.history.location.search);\n return !!params.get(this.selectedColumnsSearchParamName);\n }\n\n _selectedColumnsFromUrl?: string | null;\n\n constructor(params: CustomColumnsHistoryStateParams) {\n this.customColumns = params.customColumns;\n this.history = params.history;\n\n this._preInitHistoryPersistence();\n }\n\n _preInitHistoryPersistence() {\n const { history, customColumns } = this;\n\n const searchParams = new URLSearchParams(history.location.search);\n\n this._selectedColumnsFromUrl = searchParams.get(\n this.selectedColumnsSearchParamName,\n );\n\n if (this._selectedColumnsFromUrl) {\n this.customColumns.table.selectedColumns.setValue(\n parseSelectedColumnsString(this._selectedColumnsFromUrl),\n );\n customColumns.table.multi.collections.forEach(({ query }) => {\n query._initializedFromHistory = true;\n });\n }\n }\n\n init() {\n const disposers = [\n reaction(\n () => this.customColumns.table.selectedColumns.value,\n (selectedColumns) => {\n const paramName = this.selectedColumnsSearchParamName;\n replaceSearchParamsWith(this.history, (searchParams) => {\n if (selectedColumns.length) {\n searchParams.set(\n paramName,\n serializeSelectedColumns(selectedColumns),\n );\n } else {\n searchParams.delete(paramName);\n }\n });\n },\n {\n fireImmediately: true,\n delay: 250,\n },\n ),\n reaction(\n () => this.customColumns.table.layoutState?.viewType,\n (newLayout, prevLayout) => {\n if (!newLayout || !prevLayout || newLayout === prevLayout) {\n return;\n }\n if (this.customColumns.table._cacheRestoredLayout === newLayout) {\n return;\n }\n // Views path is handled by CollectionViewsState's own reaction.\n if (this.customColumns.table.viewsProps) {\n return;\n }\n const searchParams = new URLSearchParams(\n this.history.location.search,\n );\n const value = searchParams.get(\n getSelectedColumnsParamForLayout(newLayout),\n );\n if (value) {\n this.customColumns.table.selectedColumns.setValue(\n parseSelectedColumnsString(value),\n );\n } else {\n this.customColumns.table.selectedColumns.reset();\n }\n },\n ),\n ];\n\n return () => {\n disposers.forEach((d) => d());\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -252,6 +252,9 @@ class CustomColumnsState extends _CustomColumnsPanelStateBase.CustomColumnsPanel
252
252
  if (!newLayout || !prevLayout || newLayout === prevLayout) {
253
253
  return;
254
254
  }
255
+ if (this.table._cacheRestoredLayout === newLayout) {
256
+ return;
257
+ }
255
258
  // Views path is handled by CollectionViewsState's own reaction.
256
259
  if (this.table.viewsProps) {
257
260
  return;
@@ -1 +1 @@
1
- {"version":3,"names":["_bexCore","require","_mobx","_CustomColumnsHistoryState","_indexOfCompareFn","_events","_bi","_CustomColumnsPanelStateBase","CUSTOM_COLUMNS_KEY","exports","SPREADSHEET_CUSTOM_COLUMNS_KEY","getCustomColumnsKeyForLayout","layout","asStoredColumnsOrNull","customColumnsResult","Array","isArray","CustomColumnsState","CustomColumnsPanelStateBase","constructor","params","container","queryName","environment","componentId","table","collection","filter","Boolean","join","_defineProperty2","default","Map","TaskState","EventEmitter","dragAndDrop","CustomColumnsDragAndDropState","customColumns","dataSource","columns","selectedColumns","components","modalsContainerRef","customColumnsHistory","persistQueryToUrl","CustomColumnsHistoryState","history","initBaseObservables","makeObservable","persistCustomColumns","action","bound","toSelectedColumns","computed","selectedOrderedColumns","init","orderedColumns","customColumnsState","value","column","some","selectedColumn","id","isSelected","_table$layoutState","dataCapsule","viewsProps","_touched","setItem","layoutState","viewType","registerSelectedColumnChange","events","on","off","mergeNewColumns","_toStoredColumn","_didFirstColumnsMerge","defaultHidden","length","mergeTargetSelectedColumns","s","every","c","map","existing","find","hideable","hiddenFromCustomColumnsSelection","diffColumns","forEach","d","originalIndex","findIndex","afterId","afterIndex","splice","getStickyColumnsCount","stickyColumns","reorderDisabled","reorderDisabledColumns","orderedColumnsByReorderDisabled","select","isChecked","selectionChanged","i","a","b","_this$dragAndDrop","_this$customColumnsHi","customColumnsStateInitialized","disposers","reaction","columnsCollection","clear","forceSetMany","status","finalStatus","startStatus","refreshAllPages","fireImmediately","selectedValues","setValue","emitEvents","_this$table$layoutSta","newLayout","prevLayout","stored","_getStoredCustomColumns","reset","_fetchFromStorage","disposer","_this$table$layoutSta2","storedValue","getItem","e","Error","message","_tableInit","initTask","multi","collections","runOnce","beforeInitialFetchListeners","listeners","Promise","all","l","console","error","query","refreshOnColumnsChange","hooks","addListener","promise","_customColumnsState$c","hasUrlColumnsForCurrentLayout","storedCustomColumns","selectedColumnsFromStorage","tableColumn","name","sort","indexOfCompareFn","customizeColumnsInSidePanelBi","actionName","_performedCustomColumnsActions","get","set","reportBi","withoutDefaults","cairoCustomizeColumnsInSidePanel","showFieldTypeIcons","collectionDataExtension","sidePanelTransition","sidePanel","transition","onClose","cairoFiltersPanelUsed","isOpened","feature","origin","close"],"sources":["../../../src/state/CustomColumnsState.ts"],"sourcesContent":["import {\n FiltersMap,\n TaskState,\n TypedEmitter,\n withoutDefaults,\n} from '@wix/bex-core';\nimport { action, computed, makeObservable, reaction } from 'mobx';\nimport { ToolbarCollectionState } from './ToolbarCollectionState';\nimport { Column, ViewType } from '../model';\nimport type { CustomColumnsDragAndDrop } from '../components/CustomColumns/CustomColumnsDragAndDrop';\nimport { CustomColumnsHistoryState } from './CustomColumnsHistoryState';\nimport { indexOfCompareFn } from './indexOfCompareFn';\nimport { EventEmitter } from 'events';\nimport {\n cairoCustomizeColumnsInSidePanel,\n cairoFiltersPanelUsed,\n} from '@wix/bex-core/bi';\nimport type { CustomColumnsDragAndDropState } from './CustomColumnsDragAndDropState';\nimport type { CollectionDataExtensionState } from '../components/DataExtension';\nimport { CustomColumnsPanelStateBase } from './CustomColumnsPanelStateBase';\n\nexport type { CustomColumnsDragAndDropState };\nexport type { CollectionDataExtensionState };\n\nexport type CustomColumnsPanelState<\n T = unknown,\n F extends FiltersMap = FiltersMap,\n> = CustomColumnsPanelStateBase<T, F>;\n\ntype StoredColumn =\n | { id?: string; name?: string; isSelected?: boolean }\n | null\n | undefined;\n\n// Legacy `custom-columns` stays bound to non-spreadsheet layouts so existing\n// stored values keep their meaning; spreadsheet uses a sibling key.\nexport const CUSTOM_COLUMNS_KEY = 'custom-columns';\nexport const SPREADSHEET_CUSTOM_COLUMNS_KEY = 'spreadsheet-custom-columns';\n\nconst getCustomColumnsKeyForLayout = (layout: ViewType | undefined): string =>\n layout === 'spreadsheet'\n ? SPREADSHEET_CUSTOM_COLUMNS_KEY\n : CUSTOM_COLUMNS_KEY;\n\nconst asStoredColumnsOrNull = (customColumnsResult: unknown) =>\n Array.isArray(customColumnsResult)\n ? (customColumnsResult as StoredColumn[])\n : null;\n\nexport interface CustomColumnsStateParams<T, F extends FiltersMap> {\n readonly table: ToolbarCollectionState<T, F>;\n readonly container: import('@wix/bex-core').WixPatternsContainer;\n readonly dragAndDrop?: typeof CustomColumnsDragAndDrop;\n readonly modalsContainerRef: {\n current: HTMLElement | null | undefined;\n };\n}\n\nexport type CustomColumnsActionName = 'visibility' | 'reorder';\n\nexport class CustomColumnsState<\n T,\n F extends FiltersMap,\n> extends CustomColumnsPanelStateBase<T, F> {\n readonly table;\n\n readonly dragAndDrop: CustomColumnsDragAndDropState<T, F> | undefined;\n\n readonly customColumnsHistory;\n\n _didFirstColumnsMerge?: boolean;\n _performedCustomColumnsActions: Map<CustomColumnsActionName, boolean> =\n new Map();\n\n readonly initTask = new TaskState();\n\n _touched = false;\n\n readonly events = new EventEmitter() as TypedEmitter<{\n beforeInitialFetch: () => void;\n }>;\n\n constructor(params: CustomColumnsStateParams<T, F>) {\n super({\n container: params.container,\n queryName: [\n params.container.environment.componentId,\n params.table.collection.queryName,\n 'customColumns',\n ]\n .filter(Boolean)\n .join('/'),\n });\n\n this.table = params.table;\n\n if (params.dragAndDrop) {\n const { CustomColumnsDragAndDropState } = params.dragAndDrop;\n this.dragAndDrop = new CustomColumnsDragAndDropState({\n customColumns: this,\n dataSource: {\n get columns() {\n return params.table.columns;\n },\n selectedColumns: params.table.selectedColumns,\n },\n components: params.dragAndDrop,\n modalsContainerRef: params.modalsContainerRef,\n });\n }\n\n this.customColumnsHistory = this.table.collection.persistQueryToUrl\n ? new CustomColumnsHistoryState({\n customColumns: this,\n history: params.container.history,\n })\n : null;\n\n this.initBaseObservables();\n makeObservable(this, {\n persistCustomColumns: action.bound,\n toSelectedColumns: computed,\n selectedOrderedColumns: computed,\n init: action,\n });\n }\n\n get orderedColumns(): Column[] {\n const { dragAndDrop, table } = this;\n const { columns, customColumnsState } = table;\n\n if (customColumnsState?.dragAndDrop && dragAndDrop) {\n return dragAndDrop.orderedColumns;\n }\n\n return columns;\n }\n\n get selectedOrderedColumns() {\n const {\n orderedColumns,\n table: {\n selectedColumns: { value: selectedColumns },\n },\n } = this;\n\n return orderedColumns.filter((column) =>\n selectedColumns.some(\n (selectedColumn) =>\n selectedColumn.id === column.id && selectedColumn.isSelected,\n ),\n );\n }\n\n async persistCustomColumns() {\n const { table } = this;\n const { dataCapsule, viewsProps } = table;\n\n // if views enabled columns persists inside the view instead of data capsule\n if (viewsProps) {\n return;\n }\n\n this._touched = true;\n await dataCapsule.setItem(\n getCustomColumnsKeyForLayout(table.layoutState?.viewType),\n table.selectedColumns.value,\n );\n }\n\n private registerSelectedColumnChange() {\n const { table } = this;\n table.selectedColumns.events.on('refresh', this.persistCustomColumns);\n\n return () => {\n table.selectedColumns.events.off('refresh', this.persistCustomColumns);\n };\n }\n\n mergeNewColumns() {\n const {\n table: { columns, selectedColumns, _toStoredColumn, customColumnsState },\n _didFirstColumnsMerge,\n } = this;\n\n const defaultHidden =\n !_didFirstColumnsMerge && !!selectedColumns.value.length;\n\n const mergeTargetSelectedColumns = [...selectedColumns.value];\n\n if (customColumnsState?.dragAndDrop == null) {\n return [\n ...mergeTargetSelectedColumns.filter((s) =>\n columns.every((c) => s.id !== c.id),\n ),\n ...columns.map((c) => {\n const existing = selectedColumns.value.find((s) => s.id === c.id);\n if (existing == null) {\n return _toStoredColumn(c);\n }\n\n return {\n ...existing,\n isSelected:\n c.hideable === false ||\n c.hiddenFromCustomColumnsSelection ||\n existing.isSelected,\n };\n }),\n ];\n }\n\n const diffColumns = columns\n .filter((c) => selectedColumns.value.every((s) => s.id !== c.id))\n .map((c) =>\n _toStoredColumn({\n ...c,\n defaultHidden: defaultHidden || c.defaultHidden,\n }),\n );\n\n // place new columns according to their order in the original columns prop\n diffColumns.forEach((d) => {\n const originalIndex = columns.findIndex((c) => c.id === d.id);\n const afterId = originalIndex > 0 ? columns[originalIndex - 1].id : null;\n const afterIndex =\n afterId != null\n ? mergeTargetSelectedColumns.findIndex((c) => c.id === afterId) + 1\n : originalIndex === 0\n ? 0\n : mergeTargetSelectedColumns.length;\n mergeTargetSelectedColumns.splice(afterIndex, 0, d);\n });\n\n this._didFirstColumnsMerge = true;\n return mergeTargetSelectedColumns;\n }\n\n getStickyColumnsCount({ stickyColumns }: { stickyColumns: number }) {\n const {\n dragAndDrop,\n table: {\n selectedColumns: { value: selectedColumns },\n },\n } = this;\n\n if (dragAndDrop == null) {\n return stickyColumns;\n }\n\n const { reorderDisabled: reorderDisabledColumns } =\n dragAndDrop.orderedColumnsByReorderDisabled;\n\n if (!reorderDisabledColumns.length) {\n return stickyColumns;\n }\n\n return dragAndDrop.orderedColumnsByReorderDisabled.reorderDisabled.filter(\n (column) =>\n selectedColumns.some(\n (selectedColumn) =>\n selectedColumn.id === column.id && selectedColumn.isSelected,\n ),\n ).length;\n }\n\n get toSelectedColumns() {\n const {\n select,\n table: {\n selectedColumns: { value },\n },\n } = this;\n\n return value.map(({ id }) => ({\n id,\n isSelected: select.isChecked(id),\n }));\n }\n\n get selectionChanged() {\n const {\n toSelectedColumns,\n table: {\n selectedColumns: { value },\n },\n } = this;\n\n if (value.length !== toSelectedColumns.length) {\n return true;\n }\n\n for (let i = 0; i < value.length; i++) {\n const a = value[i];\n const b = toSelectedColumns[i];\n\n if (a.id !== b.id || a.isSelected !== b.isSelected) {\n return true;\n }\n }\n\n return false;\n }\n\n init() {\n const { table } = this;\n table.customColumnsStateInitialized = true;\n\n const disposers = [\n reaction(\n () => this.table.selectedColumns.value,\n async (selectedColumns) => {\n const { select, columnsCollection } = this;\n\n select.clear();\n select.forceSetMany(\n selectedColumns.map(({ id, isSelected }) => ({\n value: { id },\n status: isSelected ? select.finalStatus : select.startStatus,\n })),\n );\n await columnsCollection.refreshAllPages();\n },\n {\n fireImmediately: true,\n },\n ),\n reaction(\n () => this.select.selectedValues,\n () => {\n const {\n table: { selectedColumns },\n } = this;\n\n if (!this.selectionChanged) {\n return;\n }\n\n selectedColumns.setValue(this.toSelectedColumns, {\n emitEvents: ['change', 'beforeRefresh', 'refresh'],\n });\n },\n ),\n\n this.registerSelectedColumnChange(),\n this.columnsCollection.init(),\n this.dragAndDrop?.init(),\n this.customColumnsHistory?.init(),\n reaction(\n () => this.table.layoutState?.viewType,\n async (newLayout, prevLayout) => {\n if (!newLayout || !prevLayout || newLayout === prevLayout) {\n return;\n }\n // Views path is handled by CollectionViewsState's own reaction.\n if (this.table.viewsProps) {\n return;\n }\n const stored = await this._getStoredCustomColumns();\n if (stored == null) {\n this.table.selectedColumns.reset();\n } else {\n await this._fetchFromStorage();\n }\n },\n ),\n ];\n\n return () => {\n disposers.forEach((disposer) => disposer?.());\n };\n }\n\n async _getStoredCustomColumns() {\n const { dataCapsule } = this.table;\n try {\n const storedValue = await asStoredColumnsOrNull(\n await dataCapsule.getItem(\n getCustomColumnsKeyForLayout(this.table.layoutState?.viewType),\n ),\n );\n this._touched = storedValue != null;\n return storedValue;\n } catch (e) {\n if (e instanceof Error && e.message === 'Key was not found in capsule') {\n return null;\n }\n\n throw e;\n }\n }\n\n _tableInit() {\n const {\n initTask,\n table: {\n multi: { collections },\n },\n } = this;\n initTask.runOnce(async () => {\n try {\n const beforeInitialFetchListeners =\n this.events.listeners('beforeInitialFetch');\n await Promise.all(beforeInitialFetchListeners.map((l) => l()));\n await this._fetchFromStorage();\n } catch (e) {\n console.error(e);\n }\n });\n\n collections.forEach((collection) => {\n if (collection.query.refreshOnColumnsChange) {\n collection.hooks.addListener(\n 'beforeInitialFetch',\n () => initTask.status.promise,\n );\n }\n });\n }\n\n async _fetchFromStorage() {\n const {\n table: {\n viewsProps,\n columns,\n selectedColumns,\n customColumnsState,\n _toStoredColumn,\n },\n } = this;\n\n if (viewsProps) {\n return;\n }\n\n if (\n customColumnsState?.customColumnsHistory?.hasUrlColumnsForCurrentLayout\n ) {\n return;\n }\n\n const storedCustomColumns = await this._getStoredCustomColumns();\n\n if (storedCustomColumns == null) {\n return;\n }\n\n const selectedColumnsFromStorage = columns.map((tableColumn) => {\n const existing = storedCustomColumns.find(\n (c) => c?.id === tableColumn.id,\n );\n\n // If the column is not found in the stored columns, it means it was added after the last visit, so its \"isSelected\" state should be calculated based on the column prop passed via code\n if (existing == null) {\n return _toStoredColumn(tableColumn);\n }\n\n // If the column is found in the stored columns, it means it was already configured by the user, so its \"isSelected\" state should be taken from the stored columns\n const { id, name, hideable, hiddenFromCustomColumnsSelection } =\n tableColumn;\n\n return {\n id,\n name,\n isSelected:\n storedCustomColumns.some(\n (c) => c?.id === id && c?.isSelected !== false,\n ) ||\n !hideable ||\n hiddenFromCustomColumnsSelection === true,\n };\n });\n\n selectedColumns.setValue(\n customColumnsState?.dragAndDrop\n ? selectedColumnsFromStorage.sort(\n indexOfCompareFn(storedCustomColumns, (e) => e?.id),\n )\n : selectedColumnsFromStorage,\n );\n }\n\n customizeColumnsInSidePanelBi({\n actionName,\n }: {\n actionName: CustomColumnsActionName;\n }) {\n if (this._performedCustomColumnsActions.get(actionName)) {\n return;\n }\n this._performedCustomColumnsActions.set(actionName, true);\n this.table.reportBi(\n withoutDefaults(cairoCustomizeColumnsInSidePanel)({\n actionName,\n }),\n );\n }\n\n get showFieldTypeIcons() {\n return this.table.showFieldTypeIcons;\n }\n\n get collectionDataExtension() {\n return this.table.collectionDataExtension;\n }\n\n get sidePanelTransition() {\n return this.table.sidePanel.transition;\n }\n\n onClose() {\n this.table.reportBi(\n withoutDefaults(cairoFiltersPanelUsed)({\n isOpened: false,\n feature: 'Custom Columns',\n origin: 'X Button',\n }),\n );\n this.table.sidePanel.close();\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_bexCore","require","_mobx","_CustomColumnsHistoryState","_indexOfCompareFn","_events","_bi","_CustomColumnsPanelStateBase","CUSTOM_COLUMNS_KEY","exports","SPREADSHEET_CUSTOM_COLUMNS_KEY","getCustomColumnsKeyForLayout","layout","asStoredColumnsOrNull","customColumnsResult","Array","isArray","CustomColumnsState","CustomColumnsPanelStateBase","constructor","params","container","queryName","environment","componentId","table","collection","filter","Boolean","join","_defineProperty2","default","Map","TaskState","EventEmitter","dragAndDrop","CustomColumnsDragAndDropState","customColumns","dataSource","columns","selectedColumns","components","modalsContainerRef","customColumnsHistory","persistQueryToUrl","CustomColumnsHistoryState","history","initBaseObservables","makeObservable","persistCustomColumns","action","bound","toSelectedColumns","computed","selectedOrderedColumns","init","orderedColumns","customColumnsState","value","column","some","selectedColumn","id","isSelected","_table$layoutState","dataCapsule","viewsProps","_touched","setItem","layoutState","viewType","registerSelectedColumnChange","events","on","off","mergeNewColumns","_toStoredColumn","_didFirstColumnsMerge","defaultHidden","length","mergeTargetSelectedColumns","s","every","c","map","existing","find","hideable","hiddenFromCustomColumnsSelection","diffColumns","forEach","d","originalIndex","findIndex","afterId","afterIndex","splice","getStickyColumnsCount","stickyColumns","reorderDisabled","reorderDisabledColumns","orderedColumnsByReorderDisabled","select","isChecked","selectionChanged","i","a","b","_this$dragAndDrop","_this$customColumnsHi","customColumnsStateInitialized","disposers","reaction","columnsCollection","clear","forceSetMany","status","finalStatus","startStatus","refreshAllPages","fireImmediately","selectedValues","setValue","emitEvents","_this$table$layoutSta","newLayout","prevLayout","_cacheRestoredLayout","stored","_getStoredCustomColumns","reset","_fetchFromStorage","disposer","_this$table$layoutSta2","storedValue","getItem","e","Error","message","_tableInit","initTask","multi","collections","runOnce","beforeInitialFetchListeners","listeners","Promise","all","l","console","error","query","refreshOnColumnsChange","hooks","addListener","promise","_customColumnsState$c","hasUrlColumnsForCurrentLayout","storedCustomColumns","selectedColumnsFromStorage","tableColumn","name","sort","indexOfCompareFn","customizeColumnsInSidePanelBi","actionName","_performedCustomColumnsActions","get","set","reportBi","withoutDefaults","cairoCustomizeColumnsInSidePanel","showFieldTypeIcons","collectionDataExtension","sidePanelTransition","sidePanel","transition","onClose","cairoFiltersPanelUsed","isOpened","feature","origin","close"],"sources":["../../../src/state/CustomColumnsState.ts"],"sourcesContent":["import {\n FiltersMap,\n TaskState,\n TypedEmitter,\n withoutDefaults,\n} from '@wix/bex-core';\nimport { action, computed, makeObservable, reaction } from 'mobx';\nimport { ToolbarCollectionState } from './ToolbarCollectionState';\nimport { Column, ViewType } from '../model';\nimport type { CustomColumnsDragAndDrop } from '../components/CustomColumns/CustomColumnsDragAndDrop';\nimport { CustomColumnsHistoryState } from './CustomColumnsHistoryState';\nimport { indexOfCompareFn } from './indexOfCompareFn';\nimport { EventEmitter } from 'events';\nimport {\n cairoCustomizeColumnsInSidePanel,\n cairoFiltersPanelUsed,\n} from '@wix/bex-core/bi';\nimport type { CustomColumnsDragAndDropState } from './CustomColumnsDragAndDropState';\nimport type { CollectionDataExtensionState } from '../components/DataExtension';\nimport { CustomColumnsPanelStateBase } from './CustomColumnsPanelStateBase';\n\nexport type { CustomColumnsDragAndDropState };\nexport type { CollectionDataExtensionState };\n\nexport type CustomColumnsPanelState<\n T = unknown,\n F extends FiltersMap = FiltersMap,\n> = CustomColumnsPanelStateBase<T, F>;\n\ntype StoredColumn =\n | { id?: string; name?: string; isSelected?: boolean }\n | null\n | undefined;\n\n// Legacy `custom-columns` stays bound to non-spreadsheet layouts so existing\n// stored values keep their meaning; spreadsheet uses a sibling key.\nexport const CUSTOM_COLUMNS_KEY = 'custom-columns';\nexport const SPREADSHEET_CUSTOM_COLUMNS_KEY = 'spreadsheet-custom-columns';\n\nconst getCustomColumnsKeyForLayout = (layout: ViewType | undefined): string =>\n layout === 'spreadsheet'\n ? SPREADSHEET_CUSTOM_COLUMNS_KEY\n : CUSTOM_COLUMNS_KEY;\n\nconst asStoredColumnsOrNull = (customColumnsResult: unknown) =>\n Array.isArray(customColumnsResult)\n ? (customColumnsResult as StoredColumn[])\n : null;\n\nexport interface CustomColumnsStateParams<T, F extends FiltersMap> {\n readonly table: ToolbarCollectionState<T, F>;\n readonly container: import('@wix/bex-core').WixPatternsContainer;\n readonly dragAndDrop?: typeof CustomColumnsDragAndDrop;\n readonly modalsContainerRef: {\n current: HTMLElement | null | undefined;\n };\n}\n\nexport type CustomColumnsActionName = 'visibility' | 'reorder';\n\nexport class CustomColumnsState<\n T,\n F extends FiltersMap,\n> extends CustomColumnsPanelStateBase<T, F> {\n readonly table;\n\n readonly dragAndDrop: CustomColumnsDragAndDropState<T, F> | undefined;\n\n readonly customColumnsHistory;\n\n _didFirstColumnsMerge?: boolean;\n _performedCustomColumnsActions: Map<CustomColumnsActionName, boolean> =\n new Map();\n\n readonly initTask = new TaskState();\n\n _touched = false;\n\n readonly events = new EventEmitter() as TypedEmitter<{\n beforeInitialFetch: () => void;\n }>;\n\n constructor(params: CustomColumnsStateParams<T, F>) {\n super({\n container: params.container,\n queryName: [\n params.container.environment.componentId,\n params.table.collection.queryName,\n 'customColumns',\n ]\n .filter(Boolean)\n .join('/'),\n });\n\n this.table = params.table;\n\n if (params.dragAndDrop) {\n const { CustomColumnsDragAndDropState } = params.dragAndDrop;\n this.dragAndDrop = new CustomColumnsDragAndDropState({\n customColumns: this,\n dataSource: {\n get columns() {\n return params.table.columns;\n },\n selectedColumns: params.table.selectedColumns,\n },\n components: params.dragAndDrop,\n modalsContainerRef: params.modalsContainerRef,\n });\n }\n\n this.customColumnsHistory = this.table.collection.persistQueryToUrl\n ? new CustomColumnsHistoryState({\n customColumns: this,\n history: params.container.history,\n })\n : null;\n\n this.initBaseObservables();\n makeObservable(this, {\n persistCustomColumns: action.bound,\n toSelectedColumns: computed,\n selectedOrderedColumns: computed,\n init: action,\n });\n }\n\n get orderedColumns(): Column[] {\n const { dragAndDrop, table } = this;\n const { columns, customColumnsState } = table;\n\n if (customColumnsState?.dragAndDrop && dragAndDrop) {\n return dragAndDrop.orderedColumns;\n }\n\n return columns;\n }\n\n get selectedOrderedColumns() {\n const {\n orderedColumns,\n table: {\n selectedColumns: { value: selectedColumns },\n },\n } = this;\n\n return orderedColumns.filter((column) =>\n selectedColumns.some(\n (selectedColumn) =>\n selectedColumn.id === column.id && selectedColumn.isSelected,\n ),\n );\n }\n\n async persistCustomColumns() {\n const { table } = this;\n const { dataCapsule, viewsProps } = table;\n\n // if views enabled columns persists inside the view instead of data capsule\n if (viewsProps) {\n return;\n }\n\n this._touched = true;\n await dataCapsule.setItem(\n getCustomColumnsKeyForLayout(table.layoutState?.viewType),\n table.selectedColumns.value,\n );\n }\n\n private registerSelectedColumnChange() {\n const { table } = this;\n table.selectedColumns.events.on('refresh', this.persistCustomColumns);\n\n return () => {\n table.selectedColumns.events.off('refresh', this.persistCustomColumns);\n };\n }\n\n mergeNewColumns() {\n const {\n table: { columns, selectedColumns, _toStoredColumn, customColumnsState },\n _didFirstColumnsMerge,\n } = this;\n\n const defaultHidden =\n !_didFirstColumnsMerge && !!selectedColumns.value.length;\n\n const mergeTargetSelectedColumns = [...selectedColumns.value];\n\n if (customColumnsState?.dragAndDrop == null) {\n return [\n ...mergeTargetSelectedColumns.filter((s) =>\n columns.every((c) => s.id !== c.id),\n ),\n ...columns.map((c) => {\n const existing = selectedColumns.value.find((s) => s.id === c.id);\n if (existing == null) {\n return _toStoredColumn(c);\n }\n\n return {\n ...existing,\n isSelected:\n c.hideable === false ||\n c.hiddenFromCustomColumnsSelection ||\n existing.isSelected,\n };\n }),\n ];\n }\n\n const diffColumns = columns\n .filter((c) => selectedColumns.value.every((s) => s.id !== c.id))\n .map((c) =>\n _toStoredColumn({\n ...c,\n defaultHidden: defaultHidden || c.defaultHidden,\n }),\n );\n\n // place new columns according to their order in the original columns prop\n diffColumns.forEach((d) => {\n const originalIndex = columns.findIndex((c) => c.id === d.id);\n const afterId = originalIndex > 0 ? columns[originalIndex - 1].id : null;\n const afterIndex =\n afterId != null\n ? mergeTargetSelectedColumns.findIndex((c) => c.id === afterId) + 1\n : originalIndex === 0\n ? 0\n : mergeTargetSelectedColumns.length;\n mergeTargetSelectedColumns.splice(afterIndex, 0, d);\n });\n\n this._didFirstColumnsMerge = true;\n return mergeTargetSelectedColumns;\n }\n\n getStickyColumnsCount({ stickyColumns }: { stickyColumns: number }) {\n const {\n dragAndDrop,\n table: {\n selectedColumns: { value: selectedColumns },\n },\n } = this;\n\n if (dragAndDrop == null) {\n return stickyColumns;\n }\n\n const { reorderDisabled: reorderDisabledColumns } =\n dragAndDrop.orderedColumnsByReorderDisabled;\n\n if (!reorderDisabledColumns.length) {\n return stickyColumns;\n }\n\n return dragAndDrop.orderedColumnsByReorderDisabled.reorderDisabled.filter(\n (column) =>\n selectedColumns.some(\n (selectedColumn) =>\n selectedColumn.id === column.id && selectedColumn.isSelected,\n ),\n ).length;\n }\n\n get toSelectedColumns() {\n const {\n select,\n table: {\n selectedColumns: { value },\n },\n } = this;\n\n return value.map(({ id }) => ({\n id,\n isSelected: select.isChecked(id),\n }));\n }\n\n get selectionChanged() {\n const {\n toSelectedColumns,\n table: {\n selectedColumns: { value },\n },\n } = this;\n\n if (value.length !== toSelectedColumns.length) {\n return true;\n }\n\n for (let i = 0; i < value.length; i++) {\n const a = value[i];\n const b = toSelectedColumns[i];\n\n if (a.id !== b.id || a.isSelected !== b.isSelected) {\n return true;\n }\n }\n\n return false;\n }\n\n init() {\n const { table } = this;\n table.customColumnsStateInitialized = true;\n\n const disposers = [\n reaction(\n () => this.table.selectedColumns.value,\n async (selectedColumns) => {\n const { select, columnsCollection } = this;\n\n select.clear();\n select.forceSetMany(\n selectedColumns.map(({ id, isSelected }) => ({\n value: { id },\n status: isSelected ? select.finalStatus : select.startStatus,\n })),\n );\n await columnsCollection.refreshAllPages();\n },\n {\n fireImmediately: true,\n },\n ),\n reaction(\n () => this.select.selectedValues,\n () => {\n const {\n table: { selectedColumns },\n } = this;\n\n if (!this.selectionChanged) {\n return;\n }\n\n selectedColumns.setValue(this.toSelectedColumns, {\n emitEvents: ['change', 'beforeRefresh', 'refresh'],\n });\n },\n ),\n\n this.registerSelectedColumnChange(),\n this.columnsCollection.init(),\n this.dragAndDrop?.init(),\n this.customColumnsHistory?.init(),\n reaction(\n () => this.table.layoutState?.viewType,\n async (newLayout, prevLayout) => {\n if (!newLayout || !prevLayout || newLayout === prevLayout) {\n return;\n }\n if (this.table._cacheRestoredLayout === newLayout) {\n return;\n }\n // Views path is handled by CollectionViewsState's own reaction.\n if (this.table.viewsProps) {\n return;\n }\n const stored = await this._getStoredCustomColumns();\n if (stored == null) {\n this.table.selectedColumns.reset();\n } else {\n await this._fetchFromStorage();\n }\n },\n ),\n ];\n\n return () => {\n disposers.forEach((disposer) => disposer?.());\n };\n }\n\n async _getStoredCustomColumns() {\n const { dataCapsule } = this.table;\n try {\n const storedValue = await asStoredColumnsOrNull(\n await dataCapsule.getItem(\n getCustomColumnsKeyForLayout(this.table.layoutState?.viewType),\n ),\n );\n this._touched = storedValue != null;\n return storedValue;\n } catch (e) {\n if (e instanceof Error && e.message === 'Key was not found in capsule') {\n return null;\n }\n\n throw e;\n }\n }\n\n _tableInit() {\n const {\n initTask,\n table: {\n multi: { collections },\n },\n } = this;\n initTask.runOnce(async () => {\n try {\n const beforeInitialFetchListeners =\n this.events.listeners('beforeInitialFetch');\n await Promise.all(beforeInitialFetchListeners.map((l) => l()));\n await this._fetchFromStorage();\n } catch (e) {\n console.error(e);\n }\n });\n\n collections.forEach((collection) => {\n if (collection.query.refreshOnColumnsChange) {\n collection.hooks.addListener(\n 'beforeInitialFetch',\n () => initTask.status.promise,\n );\n }\n });\n }\n\n async _fetchFromStorage() {\n const {\n table: {\n viewsProps,\n columns,\n selectedColumns,\n customColumnsState,\n _toStoredColumn,\n },\n } = this;\n\n if (viewsProps) {\n return;\n }\n\n if (\n customColumnsState?.customColumnsHistory?.hasUrlColumnsForCurrentLayout\n ) {\n return;\n }\n\n const storedCustomColumns = await this._getStoredCustomColumns();\n\n if (storedCustomColumns == null) {\n return;\n }\n\n const selectedColumnsFromStorage = columns.map((tableColumn) => {\n const existing = storedCustomColumns.find(\n (c) => c?.id === tableColumn.id,\n );\n\n // If the column is not found in the stored columns, it means it was added after the last visit, so its \"isSelected\" state should be calculated based on the column prop passed via code\n if (existing == null) {\n return _toStoredColumn(tableColumn);\n }\n\n // If the column is found in the stored columns, it means it was already configured by the user, so its \"isSelected\" state should be taken from the stored columns\n const { id, name, hideable, hiddenFromCustomColumnsSelection } =\n tableColumn;\n\n return {\n id,\n name,\n isSelected:\n storedCustomColumns.some(\n (c) => c?.id === id && c?.isSelected !== false,\n ) ||\n !hideable ||\n hiddenFromCustomColumnsSelection === true,\n };\n });\n\n selectedColumns.setValue(\n customColumnsState?.dragAndDrop\n ? selectedColumnsFromStorage.sort(\n indexOfCompareFn(storedCustomColumns, (e) => e?.id),\n )\n : selectedColumnsFromStorage,\n );\n }\n\n customizeColumnsInSidePanelBi({\n actionName,\n }: {\n actionName: CustomColumnsActionName;\n }) {\n if (this._performedCustomColumnsActions.get(actionName)) {\n return;\n }\n this._performedCustomColumnsActions.set(actionName, true);\n this.table.reportBi(\n withoutDefaults(cairoCustomizeColumnsInSidePanel)({\n actionName,\n }),\n );\n }\n\n get showFieldTypeIcons() {\n return this.table.showFieldTypeIcons;\n }\n\n get collectionDataExtension() {\n return this.table.collectionDataExtension;\n }\n\n get sidePanelTransition() {\n return this.table.sidePanel.transition;\n }\n\n onClose() {\n this.table.reportBi(\n withoutDefaults(cairoFiltersPanelUsed)({\n isOpened: false,\n feature: 'Custom Columns',\n origin: 'X Button',\n }),\n );\n this.table.sidePanel.close();\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -31,6 +31,9 @@ class EditableTableState {
31
31
  (0, _defineProperty2.default)(this, "onAddItemActionComplete", items => {
32
32
  return this.tableState.onAddItemActionComplete(items);
33
33
  });
34
+ (0, _defineProperty2.default)(this, "onAddItemClick", origin => {
35
+ this.toolbar.toolbarBIReporter.onAddItemClick(origin);
36
+ });
34
37
  (0, _defineProperty2.default)(this, "sort", (columnId, {
35
38
  forceDirection,
36
39
  multiple
@@ -1 +1 @@
1
- {"version":3,"names":["_mobx","require","_bexCore","_ToolbarCollectionState","_TableState","_CellInteractionState","_CellValueState","_ClipboardState","_MutationState","_FieldActionsState","EditableTableState","constructor","params","_params$extraCellType","_params$permissions","_defineProperty2","default","ConditionalModalState","items","tableState","onAddItemActionComplete","columnId","forceDirection","multiple","collection","sort","id","clearResult","toolbar","ToolbarCollectionState","container","componentType","TableState","cellValue","CellValueState","Map","extraCellTypes","map","ct","type","cellInteraction","CellInteractionState","editingValue","cell","commitHandler","clipboard","ClipboardState","mutation","MutationState","mutations","createOptimisticActions","fieldActions","FieldActionsState","translate","permissions","showToast","refresh","makeObservable","addItemDisabled","observable","updateItemDisabled","removeItemDisabled","_allColumns","ref","editableColumns","computed","_columnMap","init","action","confirmDeleteItems","keyedItems","visibleColumns","itemsToRenderCount","c","_getKeyedItem","key","getKeyedItem","_toIndices","pos","row","findIndex","ki","rowKey","col","_toPosition","visibleIds","length","find","filter","undefined","columns","_buildCellTypeMap","addItem","afterItemKey","duplicateItem","deleteItems","rowKeys","t","deleteConfirmModal","open","theme","title","content","primaryButtonText","secondaryButtonText","primaryButtonOnClick","resolveCellTypeByColumnId","getCellDisplayValue","getCellValidation","isCellEditable","clearCells","cells","handleCellClick","shiftKey","isEditing","isCellEditing","commitEdit","get","res","editOnClick","val","focusCell","startEdit","column","resolved","toggleValue","showEditWhenFocused","value","selectionAnchor","selectRange","handleCellDoubleClick","exports"],"sources":["../../../../src/state/EditableTable/EditableTableState.ts"],"sourcesContent":["import { action, computed, makeObservable, observable } from 'mobx';\nimport {\n CollectionOptimisticActions,\n CollectionState,\n ConditionalModalState,\n FiltersMap,\n SortOrder,\n WixPatternsContainer,\n} from '@wix/bex-core';\nimport type { MessageModalLayoutProps } from '@wix/design-system';\nimport type { KeyedItem } from '@wix/bex-core';\nimport { ToolbarCollectionState } from '../ToolbarCollectionState';\nimport { TableState } from '../TableState';\nimport { ICollectionComponentState } from '../ICollectionComponentState';\nimport { CellInteractionState } from './CellInteractionState';\nimport { CellValueState } from './CellValueState';\nimport { ClipboardState } from './ClipboardState';\nimport { MutationState } from './MutationState';\nimport { FieldActionsState } from '../FieldActionsState';\nimport type { EditableTableMutationHandlers } from './MutationState';\nimport type { Cell, CellType, EditableColumn, ValidationResult } from './types';\nimport type { FieldActions } from '../../types/SchemaConfig';\nimport type { FieldActionPermissions } from '../../components/FieldActions';\n\nexport type EditableTableFieldActionsPermissions = FieldActionPermissions;\n\nexport interface EditableTablePermissions {\n addItemDisabled?: boolean;\n updateItemDisabled?: boolean;\n removeItemDisabled?: boolean;\n fieldActions?: EditableTableFieldActionsPermissions;\n}\n\nexport interface EditableTableStateParams<T, F extends FiltersMap> {\n readonly collection: CollectionState<T, F>;\n readonly container: WixPatternsContainer;\n readonly toolbar?: ToolbarCollectionState<T, F>;\n readonly permissions?: EditableTablePermissions;\n readonly mutations: EditableTableMutationHandlers<T>;\n readonly fieldActions?: FieldActions;\n readonly refresh?: () => Promise<void>;\n readonly createOptimisticActions: (\n collection: CollectionState<T, F>,\n ) => CollectionOptimisticActions<T, F>;\n /**\n * Additional cell types to register alongside the built-in ones.\n * Augment `CellTypeConfigMap` to use these types on `EditableColumn.cellType`.\n */\n readonly extraCellTypes?: CellType[];\n}\n\nexport interface EditableTableStatePublicAPI<T, F extends FiltersMap> {\n /** Underlying CollectionState instance */\n readonly collection: CollectionState<T, F>;\n /** Underlying ToolbarCollectionState instance */\n readonly toolbar: ToolbarCollectionState<T, F>;\n /** Reset active filters & sorting and adds new items to the collection */\n onAddItemActionComplete(items: T[]): void;\n /** Sort by column */\n sort: (\n columnId: string,\n params?: { forceDirection?: SortOrder; multiple?: boolean },\n ) => void;\n}\n\nexport class EditableTableState<T, F extends FiltersMap>\n implements ICollectionComponentState, EditableTableStatePublicAPI<T, F>\n{\n readonly toolbar: ToolbarCollectionState<T, F>;\n readonly tableState: TableState<T, F>;\n\n readonly cellInteraction: CellInteractionState<T, F>;\n readonly cellValue: CellValueState<T, F>;\n readonly clipboard: ClipboardState<T, F>;\n readonly mutation: MutationState<T, F>;\n readonly deleteConfirmModal = new ConditionalModalState<\n Partial<MessageModalLayoutProps>\n >();\n readonly fieldActions: FieldActionsState;\n\n addItemDisabled = false;\n updateItemDisabled = false;\n removeItemDisabled = false;\n\n _allColumns: EditableColumn<T>[] = [];\n\n constructor(params: EditableTableStateParams<T, F>) {\n this.toolbar =\n params.toolbar ??\n new ToolbarCollectionState({\n collection: params.collection,\n container: params.container,\n componentType: 'EditableTable',\n });\n\n this.tableState = new TableState({\n collection: params.collection,\n container: params.container,\n toolbar: this.toolbar,\n });\n\n this.cellValue = new CellValueState<T, F>(\n this,\n new Map(params.extraCellTypes?.map((ct) => [ct.type, ct])),\n );\n\n this.cellInteraction = new CellInteractionState<T, F>(\n (editingValue, cell) => {\n this.cellValue.commitHandler(editingValue, cell);\n },\n this,\n );\n this.clipboard = new ClipboardState<T, F>(this);\n this.mutation = new MutationState<T, F>(\n this,\n params.mutations,\n params.createOptimisticActions,\n );\n this.fieldActions = new FieldActionsState(\n params.collection.translate,\n params.fieldActions,\n params.permissions?.fieldActions,\n params.collection.showToast,\n params.refresh,\n );\n\n makeObservable(this, {\n addItemDisabled: observable,\n updateItemDisabled: observable,\n removeItemDisabled: observable,\n _allColumns: observable.ref,\n editableColumns: computed,\n _columnMap: computed,\n init: action,\n confirmDeleteItems: action,\n });\n\n if (params.permissions) {\n this.addItemDisabled = params.permissions.addItemDisabled ?? false;\n this.updateItemDisabled = params.permissions.updateItemDisabled ?? false;\n this.removeItemDisabled = params.permissions.removeItemDisabled ?? false;\n }\n }\n\n get collection() {\n return this.tableState.collection;\n }\n\n get keyedItems() {\n return this.tableState.keyedItems;\n }\n\n get visibleColumns() {\n return this.tableState.visibleColumns;\n }\n\n get itemsToRenderCount() {\n return this.tableState.itemsToRenderCount;\n }\n\n get _columnMap(): Map<string, EditableColumn<T>> {\n return new Map(this._allColumns.map((c) => [c.id, c]));\n }\n\n _getKeyedItem(key: string): KeyedItem<T> | undefined | null {\n return this.collection.getKeyedItem(key);\n }\n\n _toIndices(pos: Cell): { row: number; col: number } | null {\n const row = this.keyedItems.findIndex((ki) => ki.key === pos.rowKey);\n const col = this.editableColumns.findIndex((c) => c.id === pos.columnId);\n return row === -1 || col === -1 ? null : { row, col };\n }\n\n _toPosition(row: number, col: number): Cell | null {\n const ki = this.keyedItems[row];\n const c = this.editableColumns[col];\n return ki && c ? { rowKey: ki.key, columnId: c.id } : null;\n }\n\n onAddItemActionComplete = (items: T[]) => {\n return this.tableState.onAddItemActionComplete(items);\n };\n\n get editableColumns(): EditableColumn<T>[] {\n const visibleIds = this.visibleColumns.map((c) => c.id);\n if (!visibleIds.length) {\n return this._allColumns;\n }\n return visibleIds\n .map((id) => this._allColumns.find((c) => c.id === id))\n .filter((c): c is EditableColumn<T> => c !== undefined);\n }\n\n init(columns: EditableColumn<T>[]) {\n this._allColumns = columns;\n this.cellValue._buildCellTypeMap();\n return this.mutation.init();\n }\n\n addItem(afterItemKey?: string): string {\n return this.mutation.addItem(afterItemKey);\n }\n\n duplicateItem(rowKey: string) {\n this.mutation.duplicateItem(rowKey);\n }\n\n deleteItems(rowKeys: string[]) {\n this.mutation.deleteItems(rowKeys);\n }\n\n confirmDeleteItems(rowKeys: string[]) {\n const { translate: t } = this.collection;\n this.deleteConfirmModal.open({\n theme: 'destructive',\n title: t('cairo.deleteModal.title'),\n content: t('cairo.deleteModal.body'),\n primaryButtonText: t('cairo.delete.button'),\n secondaryButtonText: t('cairo.cancel.button'),\n primaryButtonOnClick: () => {\n this.deleteItems(rowKeys);\n },\n });\n }\n\n resolveCellTypeByColumnId(columnId: string) {\n return this.cellValue.resolveCellTypeByColumnId(columnId);\n }\n\n getCellDisplayValue(rowKey: string, columnId: string): any {\n return this.cellValue.getCellDisplayValue(rowKey, columnId);\n }\n\n getCellValidation(rowKey: string, columnId: string): ValidationResult {\n return this.cellValue.getCellValidation(rowKey, columnId);\n }\n\n isCellEditable(rowKey: string, columnId: string): boolean {\n return this.cellValue.isCellEditable(rowKey, columnId);\n }\n\n clearCells(cells: Cell[]) {\n this.cellValue.clearCells(cells);\n }\n\n handleCellClick(rowKey: string, columnId: string, shiftKey: boolean) {\n if (this.cellInteraction.isEditing) {\n if (this.cellInteraction.isCellEditing(rowKey, columnId)) {\n // Click landed inside the active editor — let the editor handle it.\n return;\n }\n // Shift-click while editing: ignore — extending a range selection during\n // an active edit is not a meaningful action.\n if (shiftKey) {\n return;\n }\n // Plain click on a different cell: commit the edit and move focus.\n this.cellInteraction.commitEdit();\n\n // If the target cell wants edit-on-click, enter edit directly.\n const col = this._columnMap.get(columnId);\n const res = col ? this.resolveCellTypeByColumnId(col.id) : null;\n if (res?.editOnClick) {\n const val = this.getCellDisplayValue(rowKey, columnId);\n if (res.editOnClick(val) && this.isCellEditable(rowKey, columnId)) {\n this.cellInteraction.focusCell(rowKey, columnId);\n this.cellInteraction.startEdit(rowKey, columnId, 'click');\n return;\n }\n }\n\n this.cellInteraction.focusCell(rowKey, columnId);\n return;\n }\n\n const column = this._columnMap.get(columnId);\n const resolved = column ? this.resolveCellTypeByColumnId(column.id) : null;\n if (resolved?.toggleValue || resolved?.showEditWhenFocused) {\n // Toggle/showEditWhenFocused cells: click focuses the cell and shows the\n // EditComponent affordance. Keyboard navigation remains active.\n this.cellInteraction.focusCell(rowKey, columnId);\n return;\n }\n\n if (resolved?.editOnClick) {\n const value = this.getCellDisplayValue(rowKey, columnId);\n if (\n resolved.editOnClick(value) &&\n this.isCellEditable(rowKey, columnId)\n ) {\n this.cellInteraction.focusCell(rowKey, columnId);\n this.cellInteraction.startEdit(rowKey, columnId, 'click');\n return;\n }\n }\n\n if (shiftKey && this.cellInteraction.selectionAnchor) {\n this.cellInteraction.selectRange(this.cellInteraction.selectionAnchor, {\n rowKey,\n columnId,\n });\n } else {\n this.cellInteraction.focusCell(rowKey, columnId);\n }\n }\n\n handleCellDoubleClick(rowKey: string, columnId: string) {\n if (this.updateItemDisabled) {\n return;\n }\n const column = this._columnMap.get(columnId);\n const resolved = column ? this.resolveCellTypeByColumnId(column.id) : null;\n // Toggle-value cells (e.g. boolean) activate on single click, not double-click.\n // Entering edit mode on double-click would apply the editing box-shadow\n // without any EditComponent being shown, causing a visual border glitch.\n if (resolved?.toggleValue || resolved?.showEditWhenFocused) {\n return;\n }\n if (this.isCellEditable(rowKey, columnId)) {\n this.cellInteraction.startEdit(rowKey, columnId, 'doubleClick');\n }\n }\n\n sort = (\n columnId: string,\n {\n forceDirection,\n multiple,\n }: { forceDirection?: SortOrder; multiple?: boolean } = {},\n ) => {\n this.collection.sort(\n { id: columnId },\n { forceDirection, clearResult: true, multiple },\n );\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_mobx","require","_bexCore","_ToolbarCollectionState","_TableState","_CellInteractionState","_CellValueState","_ClipboardState","_MutationState","_FieldActionsState","EditableTableState","constructor","params","_params$extraCellType","_params$permissions","_defineProperty2","default","ConditionalModalState","items","tableState","onAddItemActionComplete","origin","toolbar","toolbarBIReporter","onAddItemClick","columnId","forceDirection","multiple","collection","sort","id","clearResult","ToolbarCollectionState","container","componentType","TableState","cellValue","CellValueState","Map","extraCellTypes","map","ct","type","cellInteraction","CellInteractionState","editingValue","cell","commitHandler","clipboard","ClipboardState","mutation","MutationState","mutations","createOptimisticActions","fieldActions","FieldActionsState","translate","permissions","showToast","refresh","makeObservable","addItemDisabled","observable","updateItemDisabled","removeItemDisabled","_allColumns","ref","editableColumns","computed","_columnMap","init","action","confirmDeleteItems","keyedItems","visibleColumns","itemsToRenderCount","c","_getKeyedItem","key","getKeyedItem","_toIndices","pos","row","findIndex","ki","rowKey","col","_toPosition","visibleIds","length","find","filter","undefined","columns","_buildCellTypeMap","addItem","afterItemKey","duplicateItem","deleteItems","rowKeys","t","deleteConfirmModal","open","theme","title","content","primaryButtonText","secondaryButtonText","primaryButtonOnClick","resolveCellTypeByColumnId","getCellDisplayValue","getCellValidation","isCellEditable","clearCells","cells","handleCellClick","shiftKey","isEditing","isCellEditing","commitEdit","get","res","editOnClick","val","focusCell","startEdit","column","resolved","toggleValue","showEditWhenFocused","value","selectionAnchor","selectRange","handleCellDoubleClick","exports"],"sources":["../../../../src/state/EditableTable/EditableTableState.ts"],"sourcesContent":["import { action, computed, makeObservable, observable } from 'mobx';\nimport {\n CollectionOptimisticActions,\n CollectionState,\n ConditionalModalState,\n FiltersMap,\n SortOrder,\n WixPatternsContainer,\n} from '@wix/bex-core';\nimport type { MessageModalLayoutProps } from '@wix/design-system';\nimport type { KeyedItem } from '@wix/bex-core';\nimport { ToolbarCollectionState } from '../ToolbarCollectionState';\nimport { TableState } from '../TableState';\nimport { ICollectionComponentState } from '../ICollectionComponentState';\nimport { CellInteractionState } from './CellInteractionState';\nimport { CellValueState } from './CellValueState';\nimport { ClipboardState } from './ClipboardState';\nimport { MutationState } from './MutationState';\nimport { FieldActionsState } from '../FieldActionsState';\nimport type { EditableTableMutationHandlers } from './MutationState';\nimport type { Cell, CellType, EditableColumn, ValidationResult } from './types';\nimport type { FieldActions } from '../../types/SchemaConfig';\nimport type { FieldActionPermissions } from '../../components/FieldActions';\n\nexport type EditableTableFieldActionsPermissions = FieldActionPermissions;\n\nexport interface EditableTablePermissions {\n addItemDisabled?: boolean;\n updateItemDisabled?: boolean;\n removeItemDisabled?: boolean;\n fieldActions?: EditableTableFieldActionsPermissions;\n}\n\nexport interface EditableTableStateParams<T, F extends FiltersMap> {\n readonly collection: CollectionState<T, F>;\n readonly container: WixPatternsContainer;\n readonly toolbar?: ToolbarCollectionState<T, F>;\n readonly permissions?: EditableTablePermissions;\n readonly mutations: EditableTableMutationHandlers<T>;\n readonly fieldActions?: FieldActions;\n readonly refresh?: () => Promise<void>;\n readonly createOptimisticActions: (\n collection: CollectionState<T, F>,\n ) => CollectionOptimisticActions<T, F>;\n /**\n * Additional cell types to register alongside the built-in ones.\n * Augment `CellTypeConfigMap` to use these types on `EditableColumn.cellType`.\n */\n readonly extraCellTypes?: CellType[];\n}\n\nexport interface EditableTableStatePublicAPI<T, F extends FiltersMap> {\n /** Underlying CollectionState instance */\n readonly collection: CollectionState<T, F>;\n /** Underlying ToolbarCollectionState instance */\n readonly toolbar: ToolbarCollectionState<T, F>;\n /** Reset active filters & sorting and adds new items to the collection */\n onAddItemActionComplete(items: T[]): void;\n /** Sort by column */\n sort: (\n columnId: string,\n params?: { forceDirection?: SortOrder; multiple?: boolean },\n ) => void;\n}\n\nexport class EditableTableState<T, F extends FiltersMap>\n implements ICollectionComponentState, EditableTableStatePublicAPI<T, F>\n{\n readonly toolbar: ToolbarCollectionState<T, F>;\n readonly tableState: TableState<T, F>;\n\n readonly cellInteraction: CellInteractionState<T, F>;\n readonly cellValue: CellValueState<T, F>;\n readonly clipboard: ClipboardState<T, F>;\n readonly mutation: MutationState<T, F>;\n readonly deleteConfirmModal = new ConditionalModalState<\n Partial<MessageModalLayoutProps>\n >();\n readonly fieldActions: FieldActionsState;\n\n addItemDisabled = false;\n updateItemDisabled = false;\n removeItemDisabled = false;\n\n _allColumns: EditableColumn<T>[] = [];\n\n constructor(params: EditableTableStateParams<T, F>) {\n this.toolbar =\n params.toolbar ??\n new ToolbarCollectionState({\n collection: params.collection,\n container: params.container,\n componentType: 'EditableTable',\n });\n\n this.tableState = new TableState({\n collection: params.collection,\n container: params.container,\n toolbar: this.toolbar,\n });\n\n this.cellValue = new CellValueState<T, F>(\n this,\n new Map(params.extraCellTypes?.map((ct) => [ct.type, ct])),\n );\n\n this.cellInteraction = new CellInteractionState<T, F>(\n (editingValue, cell) => {\n this.cellValue.commitHandler(editingValue, cell);\n },\n this,\n );\n this.clipboard = new ClipboardState<T, F>(this);\n this.mutation = new MutationState<T, F>(\n this,\n params.mutations,\n params.createOptimisticActions,\n );\n this.fieldActions = new FieldActionsState(\n params.collection.translate,\n params.fieldActions,\n params.permissions?.fieldActions,\n params.collection.showToast,\n params.refresh,\n );\n\n makeObservable(this, {\n addItemDisabled: observable,\n updateItemDisabled: observable,\n removeItemDisabled: observable,\n _allColumns: observable.ref,\n editableColumns: computed,\n _columnMap: computed,\n init: action,\n confirmDeleteItems: action,\n });\n\n if (params.permissions) {\n this.addItemDisabled = params.permissions.addItemDisabled ?? false;\n this.updateItemDisabled = params.permissions.updateItemDisabled ?? false;\n this.removeItemDisabled = params.permissions.removeItemDisabled ?? false;\n }\n }\n\n get collection() {\n return this.tableState.collection;\n }\n\n get keyedItems() {\n return this.tableState.keyedItems;\n }\n\n get visibleColumns() {\n return this.tableState.visibleColumns;\n }\n\n get itemsToRenderCount() {\n return this.tableState.itemsToRenderCount;\n }\n\n get _columnMap(): Map<string, EditableColumn<T>> {\n return new Map(this._allColumns.map((c) => [c.id, c]));\n }\n\n _getKeyedItem(key: string): KeyedItem<T> | undefined | null {\n return this.collection.getKeyedItem(key);\n }\n\n _toIndices(pos: Cell): { row: number; col: number } | null {\n const row = this.keyedItems.findIndex((ki) => ki.key === pos.rowKey);\n const col = this.editableColumns.findIndex((c) => c.id === pos.columnId);\n return row === -1 || col === -1 ? null : { row, col };\n }\n\n _toPosition(row: number, col: number): Cell | null {\n const ki = this.keyedItems[row];\n const c = this.editableColumns[col];\n return ki && c ? { rowKey: ki.key, columnId: c.id } : null;\n }\n\n onAddItemActionComplete = (items: T[]) => {\n return this.tableState.onAddItemActionComplete(items);\n };\n\n onAddItemClick = (origin?: string) => {\n this.toolbar.toolbarBIReporter.onAddItemClick(origin);\n };\n\n get editableColumns(): EditableColumn<T>[] {\n const visibleIds = this.visibleColumns.map((c) => c.id);\n if (!visibleIds.length) {\n return this._allColumns;\n }\n return visibleIds\n .map((id) => this._allColumns.find((c) => c.id === id))\n .filter((c): c is EditableColumn<T> => c !== undefined);\n }\n\n init(columns: EditableColumn<T>[]) {\n this._allColumns = columns;\n this.cellValue._buildCellTypeMap();\n return this.mutation.init();\n }\n\n addItem(afterItemKey?: string): string {\n return this.mutation.addItem(afterItemKey);\n }\n\n duplicateItem(rowKey: string) {\n this.mutation.duplicateItem(rowKey);\n }\n\n deleteItems(rowKeys: string[]) {\n this.mutation.deleteItems(rowKeys);\n }\n\n confirmDeleteItems(rowKeys: string[]) {\n const { translate: t } = this.collection;\n this.deleteConfirmModal.open({\n theme: 'destructive',\n title: t('cairo.deleteModal.title'),\n content: t('cairo.deleteModal.body'),\n primaryButtonText: t('cairo.delete.button'),\n secondaryButtonText: t('cairo.cancel.button'),\n primaryButtonOnClick: () => {\n this.deleteItems(rowKeys);\n },\n });\n }\n\n resolveCellTypeByColumnId(columnId: string) {\n return this.cellValue.resolveCellTypeByColumnId(columnId);\n }\n\n getCellDisplayValue(rowKey: string, columnId: string): any {\n return this.cellValue.getCellDisplayValue(rowKey, columnId);\n }\n\n getCellValidation(rowKey: string, columnId: string): ValidationResult {\n return this.cellValue.getCellValidation(rowKey, columnId);\n }\n\n isCellEditable(rowKey: string, columnId: string): boolean {\n return this.cellValue.isCellEditable(rowKey, columnId);\n }\n\n clearCells(cells: Cell[]) {\n this.cellValue.clearCells(cells);\n }\n\n handleCellClick(rowKey: string, columnId: string, shiftKey: boolean) {\n if (this.cellInteraction.isEditing) {\n if (this.cellInteraction.isCellEditing(rowKey, columnId)) {\n // Click landed inside the active editor — let the editor handle it.\n return;\n }\n // Shift-click while editing: ignore — extending a range selection during\n // an active edit is not a meaningful action.\n if (shiftKey) {\n return;\n }\n // Plain click on a different cell: commit the edit and move focus.\n this.cellInteraction.commitEdit();\n\n // If the target cell wants edit-on-click, enter edit directly.\n const col = this._columnMap.get(columnId);\n const res = col ? this.resolveCellTypeByColumnId(col.id) : null;\n if (res?.editOnClick) {\n const val = this.getCellDisplayValue(rowKey, columnId);\n if (res.editOnClick(val) && this.isCellEditable(rowKey, columnId)) {\n this.cellInteraction.focusCell(rowKey, columnId);\n this.cellInteraction.startEdit(rowKey, columnId, 'click');\n return;\n }\n }\n\n this.cellInteraction.focusCell(rowKey, columnId);\n return;\n }\n\n const column = this._columnMap.get(columnId);\n const resolved = column ? this.resolveCellTypeByColumnId(column.id) : null;\n if (resolved?.toggleValue || resolved?.showEditWhenFocused) {\n // Toggle/showEditWhenFocused cells: click focuses the cell and shows the\n // EditComponent affordance. Keyboard navigation remains active.\n this.cellInteraction.focusCell(rowKey, columnId);\n return;\n }\n\n if (resolved?.editOnClick) {\n const value = this.getCellDisplayValue(rowKey, columnId);\n if (\n resolved.editOnClick(value) &&\n this.isCellEditable(rowKey, columnId)\n ) {\n this.cellInteraction.focusCell(rowKey, columnId);\n this.cellInteraction.startEdit(rowKey, columnId, 'click');\n return;\n }\n }\n\n if (shiftKey && this.cellInteraction.selectionAnchor) {\n this.cellInteraction.selectRange(this.cellInteraction.selectionAnchor, {\n rowKey,\n columnId,\n });\n } else {\n this.cellInteraction.focusCell(rowKey, columnId);\n }\n }\n\n handleCellDoubleClick(rowKey: string, columnId: string) {\n if (this.updateItemDisabled) {\n return;\n }\n const column = this._columnMap.get(columnId);\n const resolved = column ? this.resolveCellTypeByColumnId(column.id) : null;\n // Toggle-value cells (e.g. boolean) activate on single click, not double-click.\n // Entering edit mode on double-click would apply the editing box-shadow\n // without any EditComponent being shown, causing a visual border glitch.\n if (resolved?.toggleValue || resolved?.showEditWhenFocused) {\n return;\n }\n if (this.isCellEditable(rowKey, columnId)) {\n this.cellInteraction.startEdit(rowKey, columnId, 'doubleClick');\n }\n }\n\n sort = (\n columnId: string,\n {\n forceDirection,\n multiple,\n }: { forceDirection?: SortOrder; multiple?: boolean } = {},\n ) => {\n this.collection.sort(\n { id: columnId },\n { forceDirection, clearResult: true, multiple },\n );\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../../src/state/EditableTable/types.ts"],"sourcesContent":["import type { ComponentType } from 'react';\nimport type { RichTextStyleVariables } from '@wix/patterns-fields';\nimport type { TableColumn } from '../../model/tableColumn';\nimport type { ReferenceTypeConfig } from '../../components/EditableTable/cellTypes/reference/types';\nimport type { AddressCellTypeConfig } from '../../components/EditableTable/cellTypes/address';\nimport type {\n CellViewProps,\n CellEditProps,\n} from '../../components/EditableTable/types';\n\nexport interface RichTextCellTypeConfig {\n textStyle?: RichTextStyleVariables;\n}\n\nexport interface Cell {\n rowKey: string;\n columnId: string;\n}\n\nexport interface CellBorder {\n top: boolean;\n bottom: boolean;\n left: boolean;\n right: boolean;\n}\n\nexport type ValidationRule =\n | { type: 'required'; message: string }\n | { type: 'min' | 'max'; value: number; message: string }\n | { type: 'minLength' | 'maxLength'; value: number; message: string }\n | { type: 'pattern'; value: RegExp; message: string }\n | { type: 'custom'; validate: (value: unknown) => boolean; message: string }\n | {\n type: 'specificValues';\n values: { id: string; value: string }[];\n message: string;\n };\n\nexport interface ValidationResult {\n valid: boolean;\n errors?: string[];\n}\n\nexport interface CellType {\n type: keyof CellTypeConfigMap;\n\n /** Render cell in view mode (read-only display) */\n ViewComponent: ComponentType<CellViewProps<any>>;\n\n /** Render cell in edit mode (inline editor). Optional — omit for view-only cells. */\n EditComponent?: ComponentType<CellEditProps<any>>;\n\n /** Serialize value to clipboard string */\n serialize?: (value: any) => string;\n\n /** Deserialize clipboard string to value */\n deserialize?: (raw: string) => any;\n\n /** Validate a cell value. Return null if valid, or error message string. */\n validate?: (value: any, rules?: ValidationRule[]) => string | null;\n\n /** Can this cell type be edited? (default: true) */\n editable?: boolean;\n\n /** Can this cell type be cleared with Delete key? (default: true) */\n clearable?: boolean;\n\n /** Toggle value on single click (e.g., boolean checkbox). Skips focus→edit flow. */\n toggleValue?: (value: any) => any;\n\n /** Enter edit mode on single click (e.g., image cell with no value). */\n editOnClick?: (value: any) => boolean;\n\n /** Show the EditComponent when the cell is focused, without entering edit mode.\n * Keyboard navigation remains active. Similar to toggleValue but without toggling. */\n showEditWhenFocused?: boolean;\n\n /** Called on type-to-edit. Return object with cleared value and/or prevent flag.\n * CMS-web pattern: text clears to '', number clears only for digits, date blocks non-digits.\n * Return undefined to block the key. Return {} to enter edit mode without changing the value. */\n onTypeToEdit?: (params: {\n key: string;\n validation?: ValidationRule[];\n }) => { value?: any } | undefined;\n\n /** Optional hook to normalize the committed value (e.g. auto-prepend https://).\n * Called before commitEdit() from EditableCell (blur/Enter) and useKeyboardNavigation (Tab).\n * The value is written back to editingValue via runInAction before committing. */\n normalizeOnCommit?: (value: any) => any;\n\n /** When true, type-to-edit flushes the edit-mode render synchronously and\n * focuses the input within the same keydown event, then lets the browser's\n * default action deliver the keystroke to the now-focused input naturally\n * (no preventDefault, no programmatic value injection).\n * Mirrors cms-web's `focusOnTyping` pattern. Use for cells that wrap a\n * controlled input whose value can't be seeded via props (e.g. WSR TimeInput). */\n nativeTypeToEdit?: boolean;\n}\n\nexport interface CellTypeConfigMap {\n text: never;\n number: never;\n boolean: never;\n url: never;\n email: never;\n date: never;\n time: never;\n object: never;\n image: never;\n document: never;\n richContent: never;\n video: never;\n richText: RichTextCellTypeConfig;\n mediaGallery: never;\n reference: ReferenceTypeConfig;\n address: AddressCellTypeConfig;\n custom: Omit<CellType, 'type'>;\n}\n\ninterface EditableColumnBase<T> extends Omit<TableColumn<T>, 'render'> {\n id: string;\n /** Column type — maps to a CellType in the registry */\n cellType: keyof CellTypeConfigMap;\n\n /** Extract the cell value from the row data */\n getValue: (item: T) => any;\n\n /** Return updated item with new cell value (immutable) */\n setValue?: (item: T, value: any) => T;\n\n /** Column-level validation rules */\n validation?: ValidationRule[];\n\n /** Is this column editable? (default: true if setValue exists) */\n editable?: boolean | ((item: T) => boolean);\n\n /** True if this column represents the schema's primary field. Drives header-action disable rules (e.g. blocks Delete, blocks Make Primary). */\n isPrimary?: boolean;\n\n /** True if this column represents a system field. Drives header-action disable rules (e.g. blocks Edit, Delete, Duplicate). */\n isSystem?: boolean;\n}\n\nexport type EditableColumn<\n T,\n C extends keyof CellTypeConfigMap = keyof CellTypeConfigMap,\n> = C extends C\n ? EditableColumnBase<T> & {\n cellType: C;\n typeConfig?: CellTypeConfigMap[C] extends never\n ? never\n : CellTypeConfigMap[C];\n }\n : never;\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["../../../../src/state/EditableTable/types.ts"],"sourcesContent":["import type { ComponentType } from 'react';\nimport type { RichTextStyleVariables } from '@wix/patterns-fields';\nimport type { TableColumn } from '../../model/tableColumn';\nimport type { ReferenceTypeConfig } from '../../components/EditableTable/cellTypes/reference/types';\nimport type { AddressCellTypeConfig } from '../../components/EditableTable/cellTypes/address';\nimport type {\n CellViewProps,\n CellEditProps,\n CellEditWrapperProps,\n} from '../../components/EditableTable/types';\n\nexport interface RichTextCellTypeConfig {\n textStyle?: RichTextStyleVariables;\n}\n\nexport interface Cell {\n rowKey: string;\n columnId: string;\n}\n\nexport interface CellBorder {\n top: boolean;\n bottom: boolean;\n left: boolean;\n right: boolean;\n}\n\nexport type ValidationRule =\n | { type: 'required'; message: string }\n | { type: 'min' | 'max'; value: number; message: string }\n | { type: 'minLength' | 'maxLength'; value: number; message: string }\n | { type: 'pattern'; value: RegExp; message: string }\n | { type: 'custom'; validate: (value: unknown) => boolean; message: string }\n | {\n type: 'specificValues';\n values: { id: string; value: string }[];\n message: string;\n };\n\nexport interface ValidationResult {\n valid: boolean;\n errors?: string[];\n}\n\nexport interface CellType {\n type: keyof CellTypeConfigMap;\n\n /** Render cell in view mode (read-only display) */\n ViewComponent: ComponentType<CellViewProps<any>>;\n\n /** Render cell in edit mode (inline editor). Optional — omit for view-only cells. */\n EditComponent?: ComponentType<CellEditProps<any>>;\n\n /** Serialize value to clipboard string */\n serialize?: (value: any) => string;\n\n /** Deserialize clipboard string to value */\n deserialize?: (raw: string) => any;\n\n /** Validate a cell value. Return null if valid, or error message string. */\n validate?: (value: any, rules?: ValidationRule[]) => string | null;\n\n /** Can this cell type be edited? (default: true) */\n editable?: boolean;\n\n /** Can this cell type be cleared with Delete key? (default: true) */\n clearable?: boolean;\n\n /** Toggle value on single click (e.g., boolean checkbox). Skips focus→edit flow. */\n toggleValue?: (value: any) => any;\n\n /** Enter edit mode on single click (e.g., image cell with no value). */\n editOnClick?: (value: any) => boolean;\n\n /** Show the EditComponent when the cell is focused, without entering edit mode.\n * Keyboard navigation remains active. Similar to toggleValue but without toggling. */\n showEditWhenFocused?: boolean;\n\n /** Optional wrapper component the cell type defines to own behavior that must\n * outlive the inline editor. EditableCell mounts it around the cell content\n * and keeps it mounted across the edit↔view transition (e.g. a reference cell\n * navigating to an overlay and refreshing the table on return). The wrapper\n * hands anything the editor needs down via its own context. */\n EditWrapper?: ComponentType<CellEditWrapperProps>;\n\n /** Cell content can grow past row height when focused (e.g. multi-document\n * wraps chips into multiple rows). The framework releases the bottom anchor\n * and lays an opaque base under the selection tint so the overflow doesn't\n * bleed adjacent rows through.\n * Only applies to showEditWhenFocused cells — others release the bottom\n * anchor via :editing already. */\n growable?: boolean;\n\n /** Called on type-to-edit. Return object with cleared value and/or prevent flag.\n * CMS-web pattern: text clears to '', number clears only for digits, date blocks non-digits.\n * Return undefined to block the key. Return {} to enter edit mode without changing the value. */\n onTypeToEdit?: (params: {\n key: string;\n validation?: ValidationRule[];\n }) => { value?: any } | undefined;\n\n /** Optional hook to normalize the committed value (e.g. auto-prepend https://).\n * Called before commitEdit() from EditableCell (blur/Enter) and useKeyboardNavigation (Tab).\n * The value is written back to editingValue via runInAction before committing. */\n normalizeOnCommit?: (value: any) => any;\n\n /** When true, type-to-edit flushes the edit-mode render synchronously and\n * focuses the input within the same keydown event, then lets the browser's\n * default action deliver the keystroke to the now-focused input naturally\n * (no preventDefault, no programmatic value injection).\n * Mirrors cms-web's `focusOnTyping` pattern. Use for cells that wrap a\n * controlled input whose value can't be seeded via props (e.g. WSR TimeInput). */\n nativeTypeToEdit?: boolean;\n}\n\nexport interface CellTypeConfigMap {\n text: never;\n number: never;\n boolean: never;\n url: never;\n email: never;\n date: never;\n time: never;\n object: never;\n image: never;\n document: never;\n multiDocument: never;\n richContent: never;\n video: never;\n audio: never;\n richText: RichTextCellTypeConfig;\n mediaGallery: never;\n reference: ReferenceTypeConfig;\n address: AddressCellTypeConfig;\n custom: Omit<CellType, 'type'>;\n}\n\ninterface EditableColumnBase<T> extends Omit<TableColumn<T>, 'render'> {\n id: string;\n /** Column type — maps to a CellType in the registry */\n cellType: keyof CellTypeConfigMap;\n\n /** Extract the cell value from the row data */\n getValue: (item: T) => any;\n\n /** Return updated item with new cell value (immutable) */\n setValue?: (item: T, value: any) => T;\n\n /** Column-level validation rules */\n validation?: ValidationRule[];\n\n /** Is this column editable? (default: true if setValue exists) */\n editable?: boolean | ((item: T) => boolean);\n\n /** True if this column represents the schema's primary field. Drives header-action disable rules (e.g. blocks Delete, blocks Make Primary). */\n isPrimary?: boolean;\n\n /** True if this column represents a system field. Drives header-action disable rules (e.g. blocks Edit, Delete, Duplicate). */\n isSystem?: boolean;\n}\n\nexport type EditableColumn<\n T,\n C extends keyof CellTypeConfigMap = keyof CellTypeConfigMap,\n> = C extends C\n ? EditableColumnBase<T> & {\n cellType: C;\n typeConfig?: CellTypeConfigMap[C] extends never\n ? never\n : CellTypeConfigMap[C];\n }\n : never;\n"],"mappings":"","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_ = "FormPageHeader347568306";
8
+ var _namespace_ = "FormPageHeader3486606014";
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": "FormPageHeader347568306__root"
15
+ "root": "FormPageHeader3486606014__root"
16
16
  };
17
17
  var keyframes = exports.keyframes = {};
18
18
  var layers = exports.layers = {};