@wix/patterns 1.431.0 → 1.433.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 (674) hide show
  1. package/dist/cjs/components/ActionCell/DisabledActionCellMenu.js +3 -3
  2. package/dist/cjs/components/ActionCell/DisabledActionCellMenu.js.map +1 -1
  3. package/dist/cjs/components/BulkActionButton/BulkActionButton.js +6 -7
  4. package/dist/cjs/components/BulkActionButton/BulkActionButton.js.map +1 -1
  5. package/dist/cjs/components/CardContainer/CardContainer.st.css.js +2 -2
  6. package/dist/cjs/components/CardContainer/CardContainer.st.css.js.map +1 -1
  7. package/dist/cjs/components/CmsFieldManagement/CmsFieldForm.st.css.js +3 -3
  8. package/dist/cjs/components/CmsFieldManagement/CmsFieldForm.st.css.js.map +1 -1
  9. package/dist/cjs/components/CmsFieldManagement/CmsFieldModal.st.css.js +3 -3
  10. package/dist/cjs/components/CmsFieldManagement/CmsFieldModal.st.css.js.map +1 -1
  11. package/dist/cjs/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js +3 -3
  12. package/dist/cjs/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js.map +1 -1
  13. package/dist/cjs/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.js +3 -3
  14. package/dist/cjs/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.js.map +1 -1
  15. package/dist/cjs/components/Collapse/Collapse.st.css.js +3 -3
  16. package/dist/cjs/components/Collapse/Collapse.st.css.js.map +1 -1
  17. package/dist/cjs/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
  18. package/dist/cjs/components/CollectionPageNew/CollectionPage.st.css.js.map +1 -1
  19. package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +3 -3
  20. package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js.map +1 -1
  21. package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js +2 -2
  22. package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js.map +1 -1
  23. package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.js +10 -8
  24. package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.js.map +1 -1
  25. package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.st.css.js +2 -2
  26. package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.st.css.js.map +1 -1
  27. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js +5 -5
  28. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js.map +1 -1
  29. package/dist/cjs/components/CollectionToolbar/PrimaryActionButton.js +0 -1
  30. package/dist/cjs/components/CollectionToolbar/PrimaryActionButton.js.map +1 -1
  31. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +4 -4
  32. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
  33. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  34. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
  35. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  36. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
  37. package/dist/cjs/components/CustomColumnsPanel/ColumnListTableListItem.js +2 -2
  38. package/dist/cjs/components/CustomColumnsPanel/ColumnListTableListItem.js.map +1 -1
  39. package/dist/cjs/components/CustomColumnsPanel/CustomColumnsPanel.js +30 -25
  40. package/dist/cjs/components/CustomColumnsPanel/CustomColumnsPanel.js.map +1 -1
  41. package/dist/cjs/components/CustomFieldModal/CustomFieldFormPiiFieldsV2.js +172 -0
  42. package/dist/cjs/components/CustomFieldModal/CustomFieldFormPiiFieldsV2.js.map +1 -0
  43. package/dist/cjs/components/CustomFieldModal/CustomFieldFormV2.js +86 -22
  44. package/dist/cjs/components/CustomFieldModal/CustomFieldFormV2.js.map +1 -1
  45. package/dist/cjs/components/CustomFieldModal/CustomFieldFormV2Permissions.js +296 -0
  46. package/dist/cjs/components/CustomFieldModal/CustomFieldFormV2Permissions.js.map +1 -0
  47. package/dist/cjs/components/CustomFieldModal/CustomFieldModal.js +11 -8
  48. package/dist/cjs/components/CustomFieldModal/CustomFieldModal.js.map +1 -1
  49. package/dist/cjs/components/CustomFieldModal/CustomFieldModal.uni.driver.js +9 -0
  50. package/dist/cjs/components/CustomFieldModal/CustomFieldModal.uni.driver.js.map +1 -1
  51. package/dist/cjs/components/CustomFieldModal/CustomFieldTypeDropdownV2.js +19 -12
  52. package/dist/cjs/components/CustomFieldModal/CustomFieldTypeDropdownV2.js.map +1 -1
  53. package/dist/cjs/components/CustomFieldsPanel/FieldManagementModals.js +5 -6
  54. package/dist/cjs/components/CustomFieldsPanel/FieldManagementModals.js.map +1 -1
  55. package/dist/cjs/components/CustomFieldsPanel/FieldsSourceAddFieldCTA.js +5 -5
  56. package/dist/cjs/components/CustomFieldsPanel/FieldsSourceAddFieldCTA.js.map +1 -1
  57. package/dist/cjs/components/DataExtension/dataExtensionFieldManagement.js +2 -0
  58. package/dist/cjs/components/DataExtension/dataExtensionFieldManagement.js.map +1 -1
  59. package/dist/cjs/components/DragHandle/DragHandle.st.css.js +2 -2
  60. package/dist/cjs/components/DragHandle/DragHandle.st.css.js.map +1 -1
  61. package/dist/cjs/components/EditableTable/EditableCell.st.css.js +3 -3
  62. package/dist/cjs/components/EditableTable/EditableCell.st.css.js.map +1 -1
  63. package/dist/cjs/components/EditableTable/EditableTable.js +11 -9
  64. package/dist/cjs/components/EditableTable/EditableTable.js.map +1 -1
  65. package/dist/cjs/components/EditableTable/EditableTableContextMenu.js +120 -69
  66. package/dist/cjs/components/EditableTable/EditableTableContextMenu.js.map +1 -1
  67. package/dist/cjs/components/EditableTable/EditableTableContextMenu.uni.driver.js +8 -2
  68. package/dist/cjs/components/EditableTable/EditableTableContextMenu.uni.driver.js.map +1 -1
  69. package/dist/cjs/components/EditableTable/HeaderActionsPopover.st.css.js +2 -2
  70. package/dist/cjs/components/EditableTable/HeaderActionsPopover.st.css.js.map +1 -1
  71. package/dist/cjs/components/EditableTable/cellTypes/CellViewLayout.st.css.js +2 -2
  72. package/dist/cjs/components/EditableTable/cellTypes/CellViewLayout.st.css.js.map +1 -1
  73. package/dist/cjs/components/EditableTable/cellTypes/address/Edit.st.css.js +3 -3
  74. package/dist/cjs/components/EditableTable/cellTypes/address/Edit.st.css.js.map +1 -1
  75. package/dist/cjs/components/EditableTable/cellTypes/array/Edit.st.css.js +3 -3
  76. package/dist/cjs/components/EditableTable/cellTypes/array/Edit.st.css.js.map +1 -1
  77. package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js +3 -3
  78. package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js.map +1 -1
  79. package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js +3 -3
  80. package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js.map +1 -1
  81. package/dist/cjs/components/EditableTable/cellTypes/color/Edit.st.css.js +2 -2
  82. package/dist/cjs/components/EditableTable/cellTypes/color/Edit.st.css.js.map +1 -1
  83. package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js +3 -3
  84. package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js.map +1 -1
  85. package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
  86. package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js.map +1 -1
  87. package/dist/cjs/components/EditableTable/cellTypes/datetime/Edit.st.css.js +8 -8
  88. package/dist/cjs/components/EditableTable/cellTypes/datetime/Edit.st.css.js.map +1 -1
  89. package/dist/cjs/components/EditableTable/cellTypes/datetime/View.st.css.js +7 -7
  90. package/dist/cjs/components/EditableTable/cellTypes/datetime/View.st.css.js.map +1 -1
  91. package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js +3 -3
  92. package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js.map +1 -1
  93. package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
  94. package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js.map +1 -1
  95. package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js +3 -3
  96. package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js.map +1 -1
  97. package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js +3 -3
  98. package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js.map +1 -1
  99. package/dist/cjs/components/EditableTable/cellTypes/object/Edit.st.css.js +3 -3
  100. package/dist/cjs/components/EditableTable/cellTypes/object/Edit.st.css.js.map +1 -1
  101. package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
  102. package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js.map +1 -1
  103. package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js +3 -3
  104. package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js.map +1 -1
  105. package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js +4 -4
  106. package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js.map +1 -1
  107. package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js +2 -2
  108. package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js.map +1 -1
  109. package/dist/cjs/components/EditableTable/cellTypes/time/Edit.st.css.js +4 -4
  110. package/dist/cjs/components/EditableTable/cellTypes/time/Edit.st.css.js.map +1 -1
  111. package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js +3 -3
  112. package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js.map +1 -1
  113. package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js +5 -5
  114. package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js.map +1 -1
  115. package/dist/cjs/components/EntityPage/EntityPageColumnsPanelEntry.js +32 -0
  116. package/dist/cjs/components/EntityPage/EntityPageColumnsPanelEntry.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/EntityPage/EntityPageSidePanels.js +52 -0
  120. package/dist/cjs/components/EntityPage/EntityPageSidePanels.js.map +1 -0
  121. package/dist/cjs/components/ExportButton/ExportButton.js +0 -1
  122. package/dist/cjs/components/ExportButton/ExportButton.js.map +1 -1
  123. package/dist/cjs/components/Fade/Fade.st.css.js +2 -2
  124. package/dist/cjs/components/Fade/Fade.st.css.js.map +1 -1
  125. package/dist/cjs/components/Grid/GridContent.js +9 -7
  126. package/dist/cjs/components/Grid/GridContent.js.map +1 -1
  127. package/dist/cjs/components/Grid/useGridItemActions.js +5 -5
  128. package/dist/cjs/components/Grid/useGridItemActions.js.map +1 -1
  129. package/dist/cjs/components/Heading/Heading.st.css.js +2 -2
  130. package/dist/cjs/components/Heading/Heading.st.css.js.map +1 -1
  131. package/dist/cjs/components/ImportButton/ImportButton.js +0 -1
  132. package/dist/cjs/components/ImportButton/ImportButton.js.map +1 -1
  133. package/dist/cjs/components/ImportButton/ImportStepProgress.js +1 -4
  134. package/dist/cjs/components/ImportButton/ImportStepProgress.js.map +1 -1
  135. package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js +3 -3
  136. package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js.map +1 -1
  137. package/dist/cjs/components/ImportButton/getImportModalStepProps.js +3 -7
  138. package/dist/cjs/components/ImportButton/getImportModalStepProps.js.map +1 -1
  139. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js +2 -2
  140. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
  141. package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js +3 -3
  142. package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js.map +1 -1
  143. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  144. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
  145. package/dist/cjs/components/MaxLines/MaxLines.st.css.js +2 -2
  146. package/dist/cjs/components/MaxLines/MaxLines.st.css.js.map +1 -1
  147. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +5 -5
  148. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
  149. package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  150. package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
  151. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js +5 -5
  152. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
  153. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
  154. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
  155. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
  156. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
  157. package/dist/cjs/components/PageWrapper/PageWrapperBase.js +7 -6
  158. package/dist/cjs/components/PageWrapper/PageWrapperBase.js.map +1 -1
  159. package/dist/cjs/components/PickerContent/PickerContent.st.css.js +2 -2
  160. package/dist/cjs/components/PickerContent/PickerContent.st.css.js.map +1 -1
  161. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js +4 -4
  162. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
  163. package/dist/cjs/components/PickerModal/PickerModal.js +6 -5
  164. package/dist/cjs/components/PickerModal/PickerModal.js.map +1 -1
  165. package/dist/cjs/components/PickerStandalone/PickerStandalone.js +10 -9
  166. package/dist/cjs/components/PickerStandalone/PickerStandalone.js.map +1 -1
  167. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  168. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
  169. package/dist/cjs/components/SchemaSource/schemaFieldManagement.js +4 -0
  170. package/dist/cjs/components/SchemaSource/schemaFieldManagement.js.map +1 -1
  171. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  172. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
  173. package/dist/cjs/components/SetupWidget/SetupStepCard.js +17 -17
  174. package/dist/cjs/components/SetupWidget/SetupStepCard.js.map +1 -1
  175. package/dist/cjs/components/SetupWidget/SetupStepIcon.js +4 -4
  176. package/dist/cjs/components/SetupWidget/SetupStepIcon.js.map +1 -1
  177. package/dist/cjs/components/SetupWidget/SetupWidget.st.css.js +9 -9
  178. package/dist/cjs/components/SetupWidget/SetupWidget.st.css.js.map +1 -1
  179. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js +3 -3
  180. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
  181. package/dist/cjs/components/SlidingModal/SlidingModal.js +3 -1
  182. package/dist/cjs/components/SlidingModal/SlidingModal.js.map +1 -1
  183. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js +2 -2
  184. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
  185. package/dist/cjs/components/Table/AddFieldColumnHeader.st.css.js +4 -4
  186. package/dist/cjs/components/Table/AddFieldColumnHeader.st.css.js.map +1 -1
  187. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js +3 -3
  188. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
  189. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  190. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
  191. package/dist/cjs/components/TagsAssignButton/TagsAssignButton.js +1 -2
  192. package/dist/cjs/components/TagsAssignButton/TagsAssignButton.js.map +1 -1
  193. package/dist/cjs/components/ToolbarCollection/useToolbarCollectionSyncProps.js +15 -17
  194. package/dist/cjs/components/ToolbarCollection/useToolbarCollectionSyncProps.js.map +1 -1
  195. package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
  196. package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js.map +1 -1
  197. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  198. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
  199. package/dist/cjs/components/common.st.css.js +4 -4
  200. package/dist/cjs/components/common.st.css.js.map +1 -1
  201. package/dist/cjs/hooks/useEditableTableCollection.js.map +1 -1
  202. package/dist/cjs/schema/EntityPageFieldsCard.js +42 -12
  203. package/dist/cjs/schema/EntityPageFieldsCard.js.map +1 -1
  204. package/dist/cjs/schema/entityPageFieldManagement.js +45 -0
  205. package/dist/cjs/schema/entityPageFieldManagement.js.map +1 -0
  206. package/dist/cjs/schema/syncSourcePermissions.js +10 -5
  207. package/dist/cjs/schema/syncSourcePermissions.js.map +1 -1
  208. package/dist/cjs/schema/useLayoutSwitchCollection.js.map +1 -1
  209. package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
  210. package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js.map +1 -1
  211. package/dist/cjs/state/CustomColumnsEntityPageState.js +8 -3
  212. package/dist/cjs/state/CustomColumnsEntityPageState.js.map +1 -1
  213. package/dist/cjs/state/CustomColumnsPanelStateBase.js +4 -1
  214. package/dist/cjs/state/CustomColumnsPanelStateBase.js.map +1 -1
  215. package/dist/cjs/state/CustomColumnsState.js +1 -1
  216. package/dist/cjs/state/CustomColumnsState.js.map +1 -1
  217. package/dist/cjs/state/EditableTable/EditableTableState.js +45 -5
  218. package/dist/cjs/state/EditableTable/EditableTableState.js.map +1 -1
  219. package/dist/cjs/state/EditableTable/index.js.map +1 -1
  220. package/dist/cjs/state/EntityPage/EntityPageState.js +19 -1
  221. package/dist/cjs/state/EntityPage/EntityPageState.js.map +1 -1
  222. package/dist/cjs/state/EntityPageFieldsCardState.js +49 -18
  223. package/dist/cjs/state/EntityPageFieldsCardState.js.map +1 -1
  224. package/dist/cjs/state/FormPage/FormPageHeader.st.css.js +2 -2
  225. package/dist/cjs/state/FormPage/FormPageHeader.st.css.js.map +1 -1
  226. package/dist/cjs/state/LayoutSwitchState.js.map +1 -1
  227. package/dist/cjs/state/ManageFieldsSource.js +4 -0
  228. package/dist/cjs/state/ManageFieldsSource.js.map +1 -0
  229. package/dist/cjs/state/SidePanelsState.js +11 -0
  230. package/dist/cjs/state/SidePanelsState.js.map +1 -1
  231. package/dist/cjs/styles.global.css +2 -2
  232. package/dist/cjs/version.js +1 -1
  233. package/dist/cjs/version.js.map +1 -1
  234. package/dist/docs/EntityPageState.md +2 -0
  235. package/dist/docs/index.json +42 -42
  236. package/dist/docs/useEntity.md +2 -0
  237. package/dist/esm/components/ActionCell/DisabledActionCellMenu.js +1 -3
  238. package/dist/esm/components/ActionCell/DisabledActionCellMenu.js.map +1 -1
  239. package/dist/esm/components/BulkActionButton/BulkActionButton.js +1 -1
  240. package/dist/esm/components/BulkActionButton/BulkActionButton.js.map +1 -1
  241. package/dist/esm/components/CardContainer/CardContainer.st.css.js +2 -2
  242. package/dist/esm/components/CmsFieldManagement/CmsFieldForm.st.css.js +2 -2
  243. package/dist/esm/components/CmsFieldManagement/CmsFieldModal.st.css.js +2 -2
  244. package/dist/esm/components/CmsFieldManagement/CmsFieldModal.st.css.js.map +1 -1
  245. package/dist/esm/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js +2 -2
  246. package/dist/esm/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js.map +1 -1
  247. package/dist/esm/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.js +2 -2
  248. package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
  249. package/dist/esm/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
  250. package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +2 -2
  251. package/dist/esm/components/CollectionTable/CollectionTable.st.css.js +2 -2
  252. package/dist/esm/components/CollectionTable/CollectionTable.st.css.js.map +1 -1
  253. package/dist/esm/components/CollectionTable/CollectionTableWSRTable.js +2 -1
  254. package/dist/esm/components/CollectionTable/CollectionTableWSRTable.js.map +1 -1
  255. package/dist/esm/components/CollectionTable/CollectionTableWSRTable.st.css.js +2 -2
  256. package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
  257. package/dist/esm/components/CollectionToolbar/PrimaryActionButton.js +1 -1
  258. package/dist/esm/components/CollectionToolbar/PrimaryActionButton.js.map +1 -1
  259. package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
  260. package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  261. package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
  262. package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  263. package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
  264. package/dist/esm/components/CustomColumnsPanel/ColumnListTableListItem.js +2 -2
  265. package/dist/esm/components/CustomColumnsPanel/ColumnListTableListItem.js.map +1 -1
  266. package/dist/esm/components/CustomColumnsPanel/CustomColumnsPanel.js +11 -7
  267. package/dist/esm/components/CustomColumnsPanel/CustomColumnsPanel.js.map +1 -1
  268. package/dist/esm/components/CustomFieldModal/CustomFieldFormPiiFieldsV2.js +32 -0
  269. package/dist/esm/components/CustomFieldModal/CustomFieldFormPiiFieldsV2.js.map +1 -0
  270. package/dist/esm/components/CustomFieldModal/CustomFieldFormV2.js +27 -6
  271. package/dist/esm/components/CustomFieldModal/CustomFieldFormV2.js.map +1 -1
  272. package/dist/esm/components/CustomFieldModal/CustomFieldFormV2Permissions.js +64 -0
  273. package/dist/esm/components/CustomFieldModal/CustomFieldFormV2Permissions.js.map +1 -0
  274. package/dist/esm/components/CustomFieldModal/CustomFieldModal.js +3 -1
  275. package/dist/esm/components/CustomFieldModal/CustomFieldModal.js.map +1 -1
  276. package/dist/esm/components/CustomFieldModal/CustomFieldModal.uni.driver.js +10 -1
  277. package/dist/esm/components/CustomFieldModal/CustomFieldModal.uni.driver.js.map +1 -1
  278. package/dist/esm/components/CustomFieldModal/CustomFieldTypeDropdownV2.js +12 -12
  279. package/dist/esm/components/CustomFieldModal/CustomFieldTypeDropdownV2.js.map +1 -1
  280. package/dist/esm/components/CustomFieldsPanel/FieldManagementModals.js +3 -4
  281. package/dist/esm/components/CustomFieldsPanel/FieldManagementModals.js.map +1 -1
  282. package/dist/esm/components/CustomFieldsPanel/FieldsSourceAddFieldCTA.js +1 -1
  283. package/dist/esm/components/CustomFieldsPanel/FieldsSourceAddFieldCTA.js.map +1 -1
  284. package/dist/esm/components/DataExtension/dataExtensionFieldManagement.js +2 -0
  285. package/dist/esm/components/DataExtension/dataExtensionFieldManagement.js.map +1 -1
  286. package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
  287. package/dist/esm/components/DragHandle/DragHandle.st.css.js.map +1 -1
  288. package/dist/esm/components/EditableTable/EditableCell.st.css.js +2 -2
  289. package/dist/esm/components/EditableTable/EditableTable.js +2 -1
  290. package/dist/esm/components/EditableTable/EditableTable.js.map +1 -1
  291. package/dist/esm/components/EditableTable/EditableTableContextMenu.js +87 -39
  292. package/dist/esm/components/EditableTable/EditableTableContextMenu.js.map +1 -1
  293. package/dist/esm/components/EditableTable/EditableTableContextMenu.uni.driver.js +8 -4
  294. package/dist/esm/components/EditableTable/EditableTableContextMenu.uni.driver.js.map +1 -1
  295. package/dist/esm/components/EditableTable/HeaderActionsPopover.st.css.js +2 -2
  296. package/dist/esm/components/EditableTable/cellTypes/CellViewLayout.st.css.js +2 -2
  297. package/dist/esm/components/EditableTable/cellTypes/address/Edit.st.css.js +2 -2
  298. package/dist/esm/components/EditableTable/cellTypes/array/Edit.st.css.js +2 -2
  299. package/dist/esm/components/EditableTable/cellTypes/array/Edit.st.css.js.map +1 -1
  300. package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.st.css.js +2 -2
  301. package/dist/esm/components/EditableTable/cellTypes/boolean/View.st.css.js +2 -2
  302. package/dist/esm/components/EditableTable/cellTypes/boolean/View.st.css.js.map +1 -1
  303. package/dist/esm/components/EditableTable/cellTypes/color/Edit.st.css.js +2 -2
  304. package/dist/esm/components/EditableTable/cellTypes/date/Edit.st.css.js +2 -2
  305. package/dist/esm/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
  306. package/dist/esm/components/EditableTable/cellTypes/date/View.st.css.js.map +1 -1
  307. package/dist/esm/components/EditableTable/cellTypes/datetime/Edit.st.css.js +2 -2
  308. package/dist/esm/components/EditableTable/cellTypes/datetime/View.st.css.js +2 -2
  309. package/dist/esm/components/EditableTable/cellTypes/email/Edit.st.css.js +2 -2
  310. package/dist/esm/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
  311. package/dist/esm/components/EditableTable/cellTypes/email/View.st.css.js.map +1 -1
  312. package/dist/esm/components/EditableTable/cellTypes/number/Edit.st.css.js +2 -2
  313. package/dist/esm/components/EditableTable/cellTypes/number/View.st.css.js +2 -2
  314. package/dist/esm/components/EditableTable/cellTypes/object/Edit.st.css.js +2 -2
  315. package/dist/esm/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
  316. package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css.js +2 -2
  317. package/dist/esm/components/EditableTable/cellTypes/text/Edit.st.css.js +2 -2
  318. package/dist/esm/components/EditableTable/cellTypes/text/Edit.st.css.js.map +1 -1
  319. package/dist/esm/components/EditableTable/cellTypes/text/View.st.css.js +2 -2
  320. package/dist/esm/components/EditableTable/cellTypes/text/View.st.css.js.map +1 -1
  321. package/dist/esm/components/EditableTable/cellTypes/time/Edit.st.css.js +2 -2
  322. package/dist/esm/components/EditableTable/cellTypes/time/Edit.st.css.js.map +1 -1
  323. package/dist/esm/components/EditableTable/cellTypes/url/Edit.st.css.js +2 -2
  324. package/dist/esm/components/EditableTable/cellTypes/url/View.st.css.js +2 -2
  325. package/dist/esm/components/EntityPage/EntityPageColumnsPanelEntry.js +16 -0
  326. package/dist/esm/components/EntityPage/EntityPageColumnsPanelEntry.js.map +1 -0
  327. package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js +2 -2
  328. package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js.map +1 -1
  329. package/dist/esm/components/EntityPage/EntityPageSidePanels.js +20 -0
  330. package/dist/esm/components/EntityPage/EntityPageSidePanels.js.map +1 -0
  331. package/dist/esm/components/ExportButton/ExportButton.js +1 -1
  332. package/dist/esm/components/ExportButton/ExportButton.js.map +1 -1
  333. package/dist/esm/components/Fade/Fade.st.css.js +2 -2
  334. package/dist/esm/components/Grid/GridContent.js +2 -1
  335. package/dist/esm/components/Grid/GridContent.js.map +1 -1
  336. package/dist/esm/components/Grid/useGridItemActions.js.map +1 -1
  337. package/dist/esm/components/Heading/Heading.st.css.js +2 -2
  338. package/dist/esm/components/ImportButton/ImportButton.js +1 -1
  339. package/dist/esm/components/ImportButton/ImportButton.js.map +1 -1
  340. package/dist/esm/components/ImportButton/ImportStepProgress.js +1 -4
  341. package/dist/esm/components/ImportButton/ImportStepProgress.js.map +1 -1
  342. package/dist/esm/components/ImportButton/ImportStepUpload.st.css.js +2 -2
  343. package/dist/esm/components/ImportButton/getImportModalStepProps.js +2 -5
  344. package/dist/esm/components/ImportButton/getImportModalStepProps.js.map +1 -1
  345. package/dist/esm/components/InputOverflow/InputOverflow.st.css.js +2 -2
  346. package/dist/esm/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
  347. package/dist/esm/components/LoadingRow/LoadingRow.st.css.js +3 -3
  348. package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  349. package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
  350. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
  351. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
  352. package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  353. package/dist/esm/components/NestedTable/NestedTableRow.st.css.js +2 -2
  354. package/dist/esm/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
  355. package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
  356. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
  357. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
  358. package/dist/esm/components/PageWrapper/PageWrapperBase.js +2 -1
  359. package/dist/esm/components/PageWrapper/PageWrapperBase.js.map +1 -1
  360. package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
  361. package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js +2 -2
  362. package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
  363. package/dist/esm/components/PickerModal/PickerModal.js +2 -1
  364. package/dist/esm/components/PickerModal/PickerModal.js.map +1 -1
  365. package/dist/esm/components/PickerStandalone/PickerStandalone.js +2 -1
  366. package/dist/esm/components/PickerStandalone/PickerStandalone.js.map +1 -1
  367. package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  368. package/dist/esm/components/SchemaSource/schemaFieldManagement.js +4 -0
  369. package/dist/esm/components/SchemaSource/schemaFieldManagement.js.map +1 -1
  370. package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  371. package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
  372. package/dist/esm/components/SetupWidget/SetupStepCard.js +1 -1
  373. package/dist/esm/components/SetupWidget/SetupStepCard.js.map +1 -1
  374. package/dist/esm/components/SetupWidget/SetupStepIcon.js +1 -1
  375. package/dist/esm/components/SetupWidget/SetupStepIcon.js.map +1 -1
  376. package/dist/esm/components/SetupWidget/SetupWidget.st.css.js +2 -2
  377. package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js +2 -2
  378. package/dist/esm/components/SlidingModal/SlidingModal.js +2 -1
  379. package/dist/esm/components/SlidingModal/SlidingModal.js.map +1 -1
  380. package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +2 -2
  381. package/dist/esm/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
  382. package/dist/esm/components/Table/AddFieldColumnHeader.st.css.js +2 -2
  383. package/dist/esm/components/Table/AddFieldColumnHeader.st.css.js.map +1 -1
  384. package/dist/esm/components/TabsFilter/TabsFilter.st.css.js +2 -2
  385. package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  386. package/dist/esm/components/TagsAssignButton/TagsAssignButton.js +1 -1
  387. package/dist/esm/components/TagsAssignButton/TagsAssignButton.js.map +1 -1
  388. package/dist/esm/components/ToolbarCollection/useToolbarCollectionSyncProps.js +16 -13
  389. package/dist/esm/components/ToolbarCollection/useToolbarCollectionSyncProps.js.map +1 -1
  390. package/dist/esm/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
  391. package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  392. package/dist/esm/components/common.st.css.js +2 -2
  393. package/dist/esm/schema/EntityPageFieldsCard.js +26 -4
  394. package/dist/esm/schema/EntityPageFieldsCard.js.map +1 -1
  395. package/dist/esm/schema/entityPageFieldManagement.js +34 -0
  396. package/dist/esm/schema/entityPageFieldManagement.js.map +1 -0
  397. package/dist/esm/schema/syncSourcePermissions.js +14 -8
  398. package/dist/esm/schema/syncSourcePermissions.js.map +1 -1
  399. package/dist/esm/schema/useLayoutSwitchCollection.js.map +1 -1
  400. package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
  401. package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js.map +1 -1
  402. package/dist/esm/state/CustomColumnsEntityPageState.js +14 -3
  403. package/dist/esm/state/CustomColumnsEntityPageState.js.map +1 -1
  404. package/dist/esm/state/CustomColumnsPanelStateBase.js +1 -1
  405. package/dist/esm/state/CustomColumnsPanelStateBase.js.map +1 -1
  406. package/dist/esm/state/CustomColumnsState.js +1 -1
  407. package/dist/esm/state/CustomColumnsState.js.map +1 -1
  408. package/dist/esm/state/EditableTable/EditableTableState.js +46 -5
  409. package/dist/esm/state/EditableTable/EditableTableState.js.map +1 -1
  410. package/dist/esm/state/EntityPage/EntityPageState.js +19 -1
  411. package/dist/esm/state/EntityPage/EntityPageState.js.map +1 -1
  412. package/dist/esm/state/EntityPageFieldsCardState.js +34 -18
  413. package/dist/esm/state/EntityPageFieldsCardState.js.map +1 -1
  414. package/dist/esm/state/FormPage/FormPageHeader.st.css.js +2 -2
  415. package/dist/esm/state/FormPage/FormPageHeader.st.css.js.map +1 -1
  416. package/dist/esm/state/ManageFieldsSource.js +2 -0
  417. package/dist/esm/state/ManageFieldsSource.js.map +1 -0
  418. package/dist/esm/state/SidePanelsState.js +11 -0
  419. package/dist/esm/state/SidePanelsState.js.map +1 -1
  420. package/dist/esm/styles.global.css +2 -2
  421. package/dist/esm/version.js +1 -1
  422. package/dist/types/components/ActionCell/DisabledActionCellMenu.d.ts.map +1 -1
  423. package/dist/types/components/BulkActionButton/BulkActionButton.d.ts.map +1 -1
  424. package/dist/types/components/CmsFieldManagement/CmsFieldModal.st.css.d.ts.map +1 -1
  425. package/dist/types/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.d.ts.map +1 -1
  426. package/dist/types/components/CollectionTable/CollectionTable.st.css.d.ts.map +1 -1
  427. package/dist/types/components/CollectionTable/CollectionTable.uni.driver.d.ts +28 -28
  428. package/dist/types/components/CollectionTable/CollectionTableWSRTable.d.ts.map +1 -1
  429. package/dist/types/components/CollectionToolbar/CollectionToolbar.uni.driver.d.ts +11 -11
  430. package/dist/types/components/CollectionToolbar/PrimaryActionButton.d.ts.map +1 -1
  431. package/dist/types/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.d.ts.map +1 -1
  432. package/dist/types/components/CollectionViewsDropdown/ViewsDropdown.st.css.d.ts.map +1 -1
  433. package/dist/types/components/CustomColumnsPanel/CustomColumnsPanel.d.ts.map +1 -1
  434. package/dist/types/components/CustomFieldModal/CustomFieldFormPiiFieldsV2.d.ts +15 -0
  435. package/dist/types/components/CustomFieldModal/CustomFieldFormPiiFieldsV2.d.ts.map +1 -0
  436. package/dist/types/components/CustomFieldModal/CustomFieldFormV2.d.ts.map +1 -1
  437. package/dist/types/components/CustomFieldModal/CustomFieldFormV2Permissions.d.ts +10 -0
  438. package/dist/types/components/CustomFieldModal/CustomFieldFormV2Permissions.d.ts.map +1 -0
  439. package/dist/types/components/CustomFieldModal/CustomFieldModal.d.ts.map +1 -1
  440. package/dist/types/components/CustomFieldModal/CustomFieldModal.uni.driver.d.ts +7 -3
  441. package/dist/types/components/CustomFieldModal/CustomFieldModal.uni.driver.d.ts.map +1 -1
  442. package/dist/types/components/CustomFieldModal/CustomFieldTypeDropdownV2.d.ts.map +1 -1
  443. package/dist/types/components/CustomFieldsPanel/FieldManagementModals.d.ts +5 -6
  444. package/dist/types/components/CustomFieldsPanel/FieldManagementModals.d.ts.map +1 -1
  445. package/dist/types/components/CustomFieldsPanel/FieldsSourceAddFieldCTA.d.ts +3 -3
  446. package/dist/types/components/CustomFieldsPanel/FieldsSourceAddFieldCTA.d.ts.map +1 -1
  447. package/dist/types/components/CustomFieldsWidget/CustomFieldsWidget.uni.driver.d.ts +9 -5
  448. package/dist/types/components/CustomFieldsWidget/CustomFieldsWidget.uni.driver.d.ts.map +1 -1
  449. package/dist/types/components/DataExtension/dataExtensionFieldManagement.d.ts.map +1 -1
  450. package/dist/types/components/DragHandle/DragHandle.st.css.d.ts.map +1 -1
  451. package/dist/types/components/DropdownFilter/CollectionDropdownFilter.uni.driver.d.ts +1 -1
  452. package/dist/types/components/EditableTable/EditableCell.uni.driver.d.ts +1 -1
  453. package/dist/types/components/EditableTable/EditableTable.d.ts.map +1 -1
  454. package/dist/types/components/EditableTable/EditableTable.uni.driver.d.ts +38 -33
  455. package/dist/types/components/EditableTable/EditableTable.uni.driver.d.ts.map +1 -1
  456. package/dist/types/components/EditableTable/EditableTableContextMenu.d.ts.map +1 -1
  457. package/dist/types/components/EditableTable/EditableTableContextMenu.uni.driver.d.ts +1 -0
  458. package/dist/types/components/EditableTable/EditableTableContextMenu.uni.driver.d.ts.map +1 -1
  459. package/dist/types/components/EditableTable/cellTypes/array/Edit.st.css.d.ts.map +1 -1
  460. package/dist/types/components/EditableTable/cellTypes/boolean/View.st.css.d.ts.map +1 -1
  461. package/dist/types/components/EditableTable/cellTypes/date/View.st.css.d.ts.map +1 -1
  462. package/dist/types/components/EditableTable/cellTypes/email/View.st.css.d.ts.map +1 -1
  463. package/dist/types/components/EditableTable/cellTypes/reference/Edit.uni.driver.d.ts +1 -1
  464. package/dist/types/components/EditableTable/cellTypes/text/Edit.st.css.d.ts.map +1 -1
  465. package/dist/types/components/EditableTable/cellTypes/text/View.st.css.d.ts.map +1 -1
  466. package/dist/types/components/EditableTable/cellTypes/time/Edit.st.css.d.ts.map +1 -1
  467. package/dist/types/components/EntityPage/EntityPageColumnsPanelEntry.d.ts +10 -0
  468. package/dist/types/components/EntityPage/EntityPageColumnsPanelEntry.d.ts.map +1 -0
  469. package/dist/types/components/EntityPage/EntityPagePlain.st.css.d.ts.map +1 -1
  470. package/dist/types/components/EntityPage/EntityPageSidePanels.d.ts +16 -0
  471. package/dist/types/components/EntityPage/EntityPageSidePanels.d.ts.map +1 -0
  472. package/dist/types/components/ExportButton/ExportButton.d.ts.map +1 -1
  473. package/dist/types/components/FiltersPanel/FiltersPanel.uni.driver.d.ts +4 -4
  474. package/dist/types/components/Grid/Grid.uni.driver.d.ts +13 -13
  475. package/dist/types/components/Grid/GridContent.d.ts.map +1 -1
  476. package/dist/types/components/Grid/GridFolders.uni.driver.d.ts +38 -38
  477. package/dist/types/components/Grid/GridFoldersSection.uni.driver.d.ts +13 -13
  478. package/dist/types/components/Grid/useGridItemActions.d.ts.map +1 -1
  479. package/dist/types/components/ImportButton/ImportButton.d.ts.map +1 -1
  480. package/dist/types/components/ImportButton/ImportButton.uni.driver.d.ts +2 -2
  481. package/dist/types/components/ImportButton/ImportModal.uni.driver.d.ts +2 -2
  482. package/dist/types/components/ImportButton/ImportStepProgress.d.ts.map +1 -1
  483. package/dist/types/components/ImportButton/getImportModalStepProps.d.ts.map +1 -1
  484. package/dist/types/components/InputOverflow/InputOverflow.st.css.d.ts.map +1 -1
  485. package/dist/types/components/Kanban/Kanban.uni.driver.d.ts +11 -11
  486. package/dist/types/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.d.ts.map +1 -1
  487. package/dist/types/components/NestedTable/NestedTable.uni.driver.d.ts +47 -54
  488. package/dist/types/components/NestedTable/NestedTable.uni.driver.d.ts.map +1 -1
  489. package/dist/types/components/NestedTable/NestedTableRow.st.css.d.ts.map +1 -1
  490. package/dist/types/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.d.ts.map +1 -1
  491. package/dist/types/components/PageWrapper/PageWrapperBase.d.ts.map +1 -1
  492. package/dist/types/components/PickerContent/PickerContentAdditionalStep.st.css.d.ts.map +1 -1
  493. package/dist/types/components/PickerModal/PickerModal.d.ts.map +1 -1
  494. package/dist/types/components/PickerModal/PickerModal.uni.driver.d.ts +1 -1
  495. package/dist/types/components/PickerModal/PickerModalLayout.uni.driver.d.ts +1 -1
  496. package/dist/types/components/PickerStandalone/PickerStandalone.d.ts.map +1 -1
  497. package/dist/types/components/SchemaSource/schemaFieldManagement.d.ts.map +1 -1
  498. package/dist/types/components/ScrollableContent/ScrollableContent.st.css.d.ts.map +1 -1
  499. package/dist/types/components/SetupWidget/SetupStepCard.d.ts.map +1 -1
  500. package/dist/types/components/SetupWidget/SetupStepIcon.d.ts.map +1 -1
  501. package/dist/types/components/SlidingModal/SlidingModal.d.ts.map +1 -1
  502. package/dist/types/components/SlidingModal/SlidingModal.st.css.d.ts.map +1 -1
  503. package/dist/types/components/SummaryBar/SummaryBar.uni.driver.d.ts +1 -1
  504. package/dist/types/components/Table/AddFieldColumnHeader.st.css.d.ts.map +1 -1
  505. package/dist/types/components/Table/Table.uni.driver.d.ts +35 -31
  506. package/dist/types/components/Table/Table.uni.driver.d.ts.map +1 -1
  507. package/dist/types/components/TableFolders/TableFolders.uni.driver.d.ts +46 -42
  508. package/dist/types/components/TableFolders/TableFolders.uni.driver.d.ts.map +1 -1
  509. package/dist/types/components/TableGridSwitch/TableGridSwitch.uni.driver.d.ts +49 -45
  510. package/dist/types/components/TableGridSwitch/TableGridSwitch.uni.driver.d.ts.map +1 -1
  511. package/dist/types/components/TabsFilter/TabsFilter.uni.driver.d.ts +1 -1
  512. package/dist/types/components/TagsAssignButton/TagsAssignButton.d.ts.map +1 -1
  513. package/dist/types/components/ToolbarCollection/useToolbarCollectionSyncProps.d.ts.map +1 -1
  514. package/dist/types/hooks/useEditableTableCollection.d.ts +1 -1
  515. package/dist/types/hooks/useEditableTableCollection.d.ts.map +1 -1
  516. package/dist/types/schema/EntityPageFieldsCard.d.ts +12 -4
  517. package/dist/types/schema/EntityPageFieldsCard.d.ts.map +1 -1
  518. package/dist/types/schema/entityPageFieldManagement.d.ts +16 -0
  519. package/dist/types/schema/entityPageFieldManagement.d.ts.map +1 -0
  520. package/dist/types/schema/syncSourcePermissions.d.ts +3 -1
  521. package/dist/types/schema/syncSourcePermissions.d.ts.map +1 -1
  522. package/dist/types/schema/useLayoutSwitchCollection.d.ts +1 -1
  523. package/dist/types/schema/useLayoutSwitchCollection.d.ts.map +1 -1
  524. package/dist/types/state/CollectionPage/CollectionPageHeader.st.css.d.ts.map +1 -1
  525. package/dist/types/state/CustomColumnsEntityPageState.d.ts +10 -2
  526. package/dist/types/state/CustomColumnsEntityPageState.d.ts.map +1 -1
  527. package/dist/types/state/CustomColumnsPanelStateBase.d.ts +4 -3
  528. package/dist/types/state/CustomColumnsPanelStateBase.d.ts.map +1 -1
  529. package/dist/types/state/CustomColumnsState.d.ts +1 -1
  530. package/dist/types/state/CustomColumnsState.d.ts.map +1 -1
  531. package/dist/types/state/EditableTable/EditableTableState.d.ts +25 -3
  532. package/dist/types/state/EditableTable/EditableTableState.d.ts.map +1 -1
  533. package/dist/types/state/EditableTable/index.d.ts +1 -1
  534. package/dist/types/state/EditableTable/index.d.ts.map +1 -1
  535. package/dist/types/state/EntityPage/EntityPageState.d.ts +14 -0
  536. package/dist/types/state/EntityPage/EntityPageState.d.ts.map +1 -1
  537. package/dist/types/state/EntityPageFieldsCardState.d.ts +18 -4
  538. package/dist/types/state/EntityPageFieldsCardState.d.ts.map +1 -1
  539. package/dist/types/state/FormPage/FormPageHeader.st.css.d.ts.map +1 -1
  540. package/dist/types/state/LayoutSwitchState.d.ts +1 -1
  541. package/dist/types/state/LayoutSwitchState.d.ts.map +1 -1
  542. package/dist/types/state/ManageFieldsSource.d.ts +21 -0
  543. package/dist/types/state/ManageFieldsSource.d.ts.map +1 -0
  544. package/dist/types/state/SidePanelsState.d.ts +8 -0
  545. package/dist/types/state/SidePanelsState.d.ts.map +1 -1
  546. package/dist/types/testkit/enzyme.d.ts +236 -216
  547. package/dist/types/testkit/enzyme.d.ts.map +1 -1
  548. package/dist/types/testkit/jsdom.d.ts +292 -263
  549. package/dist/types/testkit/jsdom.d.ts.map +1 -1
  550. package/dist/types/testkit/playwright.d.ts +274 -249
  551. package/dist/types/testkit/playwright.d.ts.map +1 -1
  552. package/dist/types/testkit/puppeteer.d.ts +285 -260
  553. package/dist/types/testkit/puppeteer.d.ts.map +1 -1
  554. package/dist/types/version.d.ts +1 -1
  555. package/package.json +6 -6
  556. package/src/components/ActionCell/DisabledActionCellMenu.tsx +1 -3
  557. package/src/components/BulkActionButton/BulkActionButton.tsx +33 -37
  558. package/src/components/CardContainer/CardContainer.st.css.ts +2 -2
  559. package/src/components/CmsFieldManagement/CmsFieldForm.st.css.ts +2 -2
  560. package/src/components/CmsFieldManagement/CmsFieldModal.st.css.ts +2 -2
  561. package/src/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.ts +2 -2
  562. package/src/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.ts +2 -2
  563. package/src/components/Collapse/Collapse.st.css.ts +2 -2
  564. package/src/components/CollectionPageNew/CollectionPage.st.css.ts +2 -2
  565. package/src/components/CollectionSectionHeader/CollectionSectionHeader.st.css.ts +2 -2
  566. package/src/components/CollectionTable/CollectionTable.st.css.ts +2 -2
  567. package/src/components/CollectionTable/CollectionTableWSRTable.st.css.ts +2 -2
  568. package/src/components/CollectionTable/CollectionTableWSRTable.tsx +2 -0
  569. package/src/components/CollectionToolbar/CollectionToolbar.st.css.ts +2 -2
  570. package/src/components/CollectionToolbar/PrimaryActionButton.tsx +0 -1
  571. package/src/components/CollectionToolbar/SearchOrCustomFilter.st.css.ts +2 -2
  572. package/src/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.ts +2 -2
  573. package/src/components/CollectionViewsDropdown/ViewsDropdown.st.css.ts +2 -2
  574. package/src/components/CustomColumnsPanel/ColumnListTableListItem.tsx +2 -2
  575. package/src/components/CustomColumnsPanel/CustomColumnsPanel.tsx +12 -9
  576. package/src/components/CustomFieldModal/CustomFieldFormPiiFieldsV2.tsx +115 -0
  577. package/src/components/CustomFieldModal/CustomFieldFormV2.tsx +52 -4
  578. package/src/components/CustomFieldModal/CustomFieldFormV2Permissions.tsx +212 -0
  579. package/src/components/CustomFieldModal/CustomFieldModal.tsx +3 -1
  580. package/src/components/CustomFieldModal/CustomFieldModal.uni.driver.ts +14 -0
  581. package/src/components/CustomFieldModal/CustomFieldTypeDropdownV2.tsx +13 -10
  582. package/src/components/CustomFieldsPanel/FieldManagementModals.tsx +4 -9
  583. package/src/components/CustomFieldsPanel/FieldsSourceAddFieldCTA.tsx +2 -6
  584. package/src/components/DataExtension/dataExtensionFieldManagement.ts +4 -0
  585. package/src/components/DragHandle/DragHandle.st.css.ts +2 -2
  586. package/src/components/EditableTable/EditableCell.st.css.ts +2 -2
  587. package/src/components/EditableTable/EditableTable.tsx +2 -0
  588. package/src/components/EditableTable/EditableTableContextMenu.tsx +119 -42
  589. package/src/components/EditableTable/EditableTableContextMenu.uni.driver.ts +11 -4
  590. package/src/components/EditableTable/HeaderActionsPopover.st.css.ts +2 -2
  591. package/src/components/EditableTable/cellTypes/CellViewLayout.st.css.ts +2 -2
  592. package/src/components/EditableTable/cellTypes/address/Edit.st.css.ts +2 -2
  593. package/src/components/EditableTable/cellTypes/array/Edit.st.css.ts +2 -2
  594. package/src/components/EditableTable/cellTypes/boolean/Edit.st.css.ts +2 -2
  595. package/src/components/EditableTable/cellTypes/boolean/View.st.css.ts +2 -2
  596. package/src/components/EditableTable/cellTypes/color/Edit.st.css.ts +2 -2
  597. package/src/components/EditableTable/cellTypes/date/Edit.st.css.ts +2 -2
  598. package/src/components/EditableTable/cellTypes/date/View.st.css.ts +2 -2
  599. package/src/components/EditableTable/cellTypes/datetime/Edit.st.css.ts +2 -2
  600. package/src/components/EditableTable/cellTypes/datetime/View.st.css.ts +2 -2
  601. package/src/components/EditableTable/cellTypes/email/Edit.st.css.ts +2 -2
  602. package/src/components/EditableTable/cellTypes/email/View.st.css.ts +2 -2
  603. package/src/components/EditableTable/cellTypes/number/Edit.st.css.ts +2 -2
  604. package/src/components/EditableTable/cellTypes/number/View.st.css.ts +2 -2
  605. package/src/components/EditableTable/cellTypes/object/Edit.st.css.ts +2 -2
  606. package/src/components/EditableTable/cellTypes/object/View.st.css.ts +2 -2
  607. package/src/components/EditableTable/cellTypes/select/Edit.st.css.ts +2 -2
  608. package/src/components/EditableTable/cellTypes/text/Edit.st.css.ts +2 -2
  609. package/src/components/EditableTable/cellTypes/text/View.st.css.ts +2 -2
  610. package/src/components/EditableTable/cellTypes/time/Edit.st.css.ts +2 -2
  611. package/src/components/EditableTable/cellTypes/url/Edit.st.css.ts +2 -2
  612. package/src/components/EditableTable/cellTypes/url/View.st.css.ts +2 -2
  613. package/src/components/EntityPage/EntityPageColumnsPanelEntry.tsx +21 -0
  614. package/src/components/EntityPage/EntityPagePlain.st.css.ts +2 -2
  615. package/src/components/EntityPage/EntityPageSidePanels.tsx +36 -0
  616. package/src/components/ExportButton/ExportButton.tsx +0 -1
  617. package/src/components/Fade/Fade.st.css.ts +2 -2
  618. package/src/components/Grid/GridContent.tsx +2 -0
  619. package/src/components/Grid/useGridItemActions.tsx +3 -1
  620. package/src/components/Heading/Heading.st.css.ts +2 -2
  621. package/src/components/ImportButton/ImportButton.tsx +0 -1
  622. package/src/components/ImportButton/ImportStepProgress.tsx +1 -4
  623. package/src/components/ImportButton/ImportStepUpload.st.css.ts +2 -2
  624. package/src/components/ImportButton/getImportModalStepProps.tsx +2 -5
  625. package/src/components/InputOverflow/InputOverflow.st.css.ts +2 -2
  626. package/src/components/LoadingRow/LoadingRow.st.css.ts +3 -3
  627. package/src/components/MaxHeightText/MaxHeightText.st.css.ts +2 -2
  628. package/src/components/MaxLines/MaxLines.st.css.ts +2 -2
  629. package/src/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.ts +2 -2
  630. package/src/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.ts +2 -2
  631. package/src/components/NestedTable/NestedTableRow.st.css.ts +2 -2
  632. package/src/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.ts +2 -2
  633. package/src/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.ts +2 -2
  634. package/src/components/PageWrapper/PageWrapperBase.tsx +2 -1
  635. package/src/components/PickerContent/PickerContent.st.css.ts +2 -2
  636. package/src/components/PickerContent/PickerContentAdditionalStep.st.css.ts +2 -2
  637. package/src/components/PickerModal/PickerModal.tsx +2 -1
  638. package/src/components/PickerStandalone/PickerStandalone.tsx +2 -1
  639. package/src/components/PickerTableListItem/PickerTableListItem.st.css.ts +2 -2
  640. package/src/components/SchemaSource/schemaFieldManagement.ts +4 -0
  641. package/src/components/ScrollableContent/ScrollableContent.st.css.ts +2 -2
  642. package/src/components/SetupWidget/SetupStepCard.tsx +5 -1
  643. package/src/components/SetupWidget/SetupStepIcon.tsx +4 -1
  644. package/src/components/SetupWidget/SetupWidget.st.css.ts +2 -2
  645. package/src/components/SkeletonCard/SkeletonCard.st.css.ts +2 -2
  646. package/src/components/SlidingModal/SlidingModal.st.css.ts +2 -2
  647. package/src/components/SlidingModal/SlidingModal.tsx +2 -0
  648. package/src/components/Table/AddFieldColumnHeader.st.css.ts +2 -2
  649. package/src/components/TabsFilter/TabsFilter.st.css.ts +2 -2
  650. package/src/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.ts +2 -2
  651. package/src/components/TagsAssignButton/TagsAssignButton.tsx +0 -1
  652. package/src/components/ToolbarCollection/useToolbarCollectionSyncProps.ts +19 -18
  653. package/src/components/ToolbarItem/ToolbarItem.st.css.ts +2 -2
  654. package/src/components/ToolbarItemBox/ToolbarItemBox.st.css.ts +2 -2
  655. package/src/components/common.st.css.ts +2 -2
  656. package/src/hooks/useEditableTableCollection.ts +1 -1
  657. package/src/schema/EntityPageFieldsCard.tsx +39 -6
  658. package/src/schema/entityPageFieldManagement.ts +44 -0
  659. package/src/schema/syncSourcePermissions.ts +17 -8
  660. package/src/schema/useLayoutSwitchCollection.ts +3 -1
  661. package/src/state/CollectionPage/CollectionPageHeader.st.css.ts +2 -2
  662. package/src/state/CustomColumnsEntityPageState.ts +23 -4
  663. package/src/state/CustomColumnsPanelStateBase.ts +4 -6
  664. package/src/state/CustomColumnsState.ts +1 -1
  665. package/src/state/EditableTable/EditableTableState.ts +72 -8
  666. package/src/state/EditableTable/index.ts +1 -0
  667. package/src/state/EntityPage/EntityPageState.ts +23 -1
  668. package/src/state/EntityPageFieldsCardState.ts +53 -17
  669. package/src/state/FormPage/FormPageHeader.st.css.ts +2 -2
  670. package/src/state/LayoutSwitchState.ts +1 -1
  671. package/src/state/ManageFieldsSource.ts +24 -0
  672. package/src/state/SidePanelsState.ts +15 -0
  673. package/src/styles.global.css +2 -2
  674. package/src/version.ts +1 -1
@@ -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","_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","collectionFieldsSource","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 { CustomColumnsPanelStateBase } from './CustomColumnsPanelStateBase';\n\nexport type { CustomColumnsDragAndDropState };\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 collectionFieldsSource() {\n return this.table.collectionFieldsSource;\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","manageFieldsSource","collectionFieldsSource","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 { CustomColumnsPanelStateBase } from './CustomColumnsPanelStateBase';\n\nexport type { CustomColumnsDragAndDropState };\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 manageFieldsSource() {\n return this.table.collectionFieldsSource;\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":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAMA,IAAAC,KAAA,GAAAD,OAAA;AAIA,IAAAE,0BAAA,GAAAF,OAAA;AACA,IAAAG,iBAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AACA,IAAAK,GAAA,GAAAL,OAAA;AAKA,IAAAM,4BAAA,GAAAN,OAAA;AAcA;AACA;AACO,MAAMO,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,GAAG,gBAAgB;AAC3C,MAAME,8BAA8B,GAAAD,OAAA,CAAAC,8BAAA,GAAG,4BAA4B;AAE1E,MAAMC,4BAA4B,GAAIC,MAA4B,IAChEA,MAAM,KAAK,aAAa,GACpBF,8BAA8B,GAC9BF,kBAAkB;AAExB,MAAMK,qBAAqB,GAAIC,mBAA4B,IACzDC,KAAK,CAACC,OAAO,CAACF,mBAAmB,CAAC,GAC7BA,mBAAmB,GACpB,IAAI;AAaH,MAAMG,kBAAkB,SAGrBC,wDAA2B,CAAO;EAmB1CC,WAAWA,CAACC,MAAsC,EAAE;IAClD,KAAK,CAAC;MACJC,SAAS,EAAED,MAAM,CAACC,SAAS;MAC3BC,SAAS,EAAE,CACTF,MAAM,CAACC,SAAS,CAACE,WAAW,CAACC,WAAW,EACxCJ,MAAM,CAACK,KAAK,CAACC,UAAU,CAACJ,SAAS,EACjC,eAAe,CAChB,CACEK,MAAM,CAACC,OAAO,CAAC,CACfC,IAAI,CAAC,GAAG;IACb,CAAC,CAAC;IAAC,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,0CApBH,IAAIC,GAAG,CAAC,CAAC;IAAA,IAAAF,gBAAA,CAAAC,OAAA,oBAES,IAAIE,kBAAS,CAAC,CAAC;IAAA,IAAAH,gBAAA,CAAAC,OAAA,oBAExB,KAAK;IAAA,IAAAD,gBAAA,CAAAC,OAAA,kBAEE,IAAIG,oBAAY,CAAC,CAAC;IAgBlC,IAAI,CAACT,KAAK,GAAGL,MAAM,CAACK,KAAK;IAEzB,IAAIL,MAAM,CAACe,WAAW,EAAE;MACtB,MAAM;QAAEC;MAA8B,CAAC,GAAGhB,MAAM,CAACe,WAAW;MAC5D,IAAI,CAACA,WAAW,GAAG,IAAIC,6BAA6B,CAAC;QACnDC,aAAa,EAAE,IAAI;QACnBC,UAAU,EAAE;UACV,IAAIC,OAAOA,CAAA,EAAG;YACZ,OAAOnB,MAAM,CAACK,KAAK,CAACc,OAAO;UAC7B,CAAC;UACDC,eAAe,EAAEpB,MAAM,CAACK,KAAK,CAACe;QAChC,CAAC;QACDC,UAAU,EAAErB,MAAM,CAACe,WAAW;QAC9BO,kBAAkB,EAAEtB,MAAM,CAACsB;MAC7B,CAAC,CAAC;IACJ;IAEA,IAAI,CAACC,oBAAoB,GAAG,IAAI,CAAClB,KAAK,CAACC,UAAU,CAACkB,iBAAiB,GAC/D,IAAIC,oDAAyB,CAAC;MAC5BR,aAAa,EAAE,IAAI;MACnBS,OAAO,EAAE1B,MAAM,CAACC,SAAS,CAACyB;IAC5B,CAAC,CAAC,GACF,IAAI;IAER,IAAI,CAACC,mBAAmB,CAAC,CAAC;IAC1B,IAAAC,oBAAc,EAAC,IAAI,EAAE;MACnBC,oBAAoB,EAAEC,YAAM,CAACC,KAAK;MAClCC,iBAAiB,EAAEC,cAAQ;MAC3BC,sBAAsB,EAAED,cAAQ;MAChCE,IAAI,EAAEL;IACR,CAAC,CAAC;EACJ;EAEA,IAAIM,cAAcA,CAAA,EAAa;IAC7B,MAAM;MAAErB,WAAW;MAAEV;IAAM,CAAC,GAAG,IAAI;IACnC,MAAM;MAAEc,OAAO;MAAEkB;IAAmB,CAAC,GAAGhC,KAAK;IAE7C,IAAIgC,kBAAkB,YAAlBA,kBAAkB,CAAEtB,WAAW,IAAIA,WAAW,EAAE;MAClD,OAAOA,WAAW,CAACqB,cAAc;IACnC;IAEA,OAAOjB,OAAO;EAChB;EAEA,IAAIe,sBAAsBA,CAAA,EAAG;IAC3B,MAAM;MACJE,cAAc;MACd/B,KAAK,EAAE;QACLe,eAAe,EAAE;UAAEkB,KAAK,EAAElB;QAAgB;MAC5C;IACF,CAAC,GAAG,IAAI;IAER,OAAOgB,cAAc,CAAC7B,MAAM,CAAEgC,MAAM,IAClCnB,eAAe,CAACoB,IAAI,CACjBC,cAAc,IACbA,cAAc,CAACC,EAAE,KAAKH,MAAM,CAACG,EAAE,IAAID,cAAc,CAACE,UACtD,CACF,CAAC;EACH;EAEA,MAAMd,oBAAoBA,CAAA,EAAG;IAAA,IAAAe,kBAAA;IAC3B,MAAM;MAAEvC;IAAM,CAAC,GAAG,IAAI;IACtB,MAAM;MAAEwC,WAAW;MAAEC;IAAW,CAAC,GAAGzC,KAAK;;IAEzC;IACA,IAAIyC,UAAU,EAAE;MACd;IACF;IAEA,IAAI,CAACC,QAAQ,GAAG,IAAI;IACpB,MAAMF,WAAW,CAACG,OAAO,CACvBzD,4BAA4B,EAAAqD,kBAAA,GAACvC,KAAK,CAAC4C,WAAW,qBAAjBL,kBAAA,CAAmBM,QAAQ,CAAC,EACzD7C,KAAK,CAACe,eAAe,CAACkB,KACxB,CAAC;EACH;EAEQa,4BAA4BA,CAAA,EAAG;IACrC,MAAM;MAAE9C;IAAM,CAAC,GAAG,IAAI;IACtBA,KAAK,CAACe,eAAe,CAACgC,MAAM,CAACC,EAAE,CAAC,SAAS,EAAE,IAAI,CAACxB,oBAAoB,CAAC;IAErE,OAAO,MAAM;MACXxB,KAAK,CAACe,eAAe,CAACgC,MAAM,CAACE,GAAG,CAAC,SAAS,EAAE,IAAI,CAACzB,oBAAoB,CAAC;IACxE,CAAC;EACH;EAEA0B,eAAeA,CAAA,EAAG;IAChB,MAAM;MACJlD,KAAK,EAAE;QAAEc,OAAO;QAAEC,eAAe;QAAEoC,eAAe;QAAEnB;MAAmB,CAAC;MACxEoB;IACF,CAAC,GAAG,IAAI;IAER,MAAMC,aAAa,GACjB,CAACD,qBAAqB,IAAI,CAAC,CAACrC,eAAe,CAACkB,KAAK,CAACqB,MAAM;IAE1D,MAAMC,0BAA0B,GAAG,CAAC,GAAGxC,eAAe,CAACkB,KAAK,CAAC;IAE7D,IAAI,CAAAD,kBAAkB,oBAAlBA,kBAAkB,CAAEtB,WAAW,KAAI,IAAI,EAAE;MAC3C,OAAO,CACL,GAAG6C,0BAA0B,CAACrD,MAAM,CAAEsD,CAAC,IACrC1C,OAAO,CAAC2C,KAAK,CAAEC,CAAC,IAAKF,CAAC,CAACnB,EAAE,KAAKqB,CAAC,CAACrB,EAAE,CACpC,CAAC,EACD,GAAGvB,OAAO,CAAC6C,GAAG,CAAED,CAAC,IAAK;QACpB,MAAME,QAAQ,GAAG7C,eAAe,CAACkB,KAAK,CAAC4B,IAAI,CAAEL,CAAC,IAAKA,CAAC,CAACnB,EAAE,KAAKqB,CAAC,CAACrB,EAAE,CAAC;QACjE,IAAIuB,QAAQ,IAAI,IAAI,EAAE;UACpB,OAAOT,eAAe,CAACO,CAAC,CAAC;QAC3B;QAEA,OAAO;UACL,GAAGE,QAAQ;UACXtB,UAAU,EACRoB,CAAC,CAACI,QAAQ,KAAK,KAAK,IACpBJ,CAAC,CAACK,gCAAgC,IAClCH,QAAQ,CAACtB;QACb,CAAC;MACH,CAAC,CAAC,CACH;IACH;IAEA,MAAM0B,WAAW,GAAGlD,OAAO,CACxBZ,MAAM,CAAEwD,CAAC,IAAK3C,eAAe,CAACkB,KAAK,CAACwB,KAAK,CAAED,CAAC,IAAKA,CAAC,CAACnB,EAAE,KAAKqB,CAAC,CAACrB,EAAE,CAAC,CAAC,CAChEsB,GAAG,CAAED,CAAC,IACLP,eAAe,CAAC;MACd,GAAGO,CAAC;MACJL,aAAa,EAAEA,aAAa,IAAIK,CAAC,CAACL;IACpC,CAAC,CACH,CAAC;;IAEH;IACAW,WAAW,CAACC,OAAO,CAAEC,CAAC,IAAK;MACzB,MAAMC,aAAa,GAAGrD,OAAO,CAACsD,SAAS,CAAEV,CAAC,IAAKA,CAAC,CAACrB,EAAE,KAAK6B,CAAC,CAAC7B,EAAE,CAAC;MAC7D,MAAMgC,OAAO,GAAGF,aAAa,GAAG,CAAC,GAAGrD,OAAO,CAACqD,aAAa,GAAG,CAAC,CAAC,CAAC9B,EAAE,GAAG,IAAI;MACxE,MAAMiC,UAAU,GACdD,OAAO,IAAI,IAAI,GACXd,0BAA0B,CAACa,SAAS,CAAEV,CAAC,IAAKA,CAAC,CAACrB,EAAE,KAAKgC,OAAO,CAAC,GAAG,CAAC,GACjEF,aAAa,KAAK,CAAC,GACnB,CAAC,GACDZ,0BAA0B,CAACD,MAAM;MACvCC,0BAA0B,CAACgB,MAAM,CAACD,UAAU,EAAE,CAAC,EAAEJ,CAAC,CAAC;IACrD,CAAC,CAAC;IAEF,IAAI,CAACd,qBAAqB,GAAG,IAAI;IACjC,OAAOG,0BAA0B;EACnC;EAEAiB,qBAAqBA,CAAC;IAAEC;EAAyC,CAAC,EAAE;IAClE,MAAM;MACJ/D,WAAW;MACXV,KAAK,EAAE;QACLe,eAAe,EAAE;UAAEkB,KAAK,EAAElB;QAAgB;MAC5C;IACF,CAAC,GAAG,IAAI;IAER,IAAIL,WAAW,IAAI,IAAI,EAAE;MACvB,OAAO+D,aAAa;IACtB;IAEA,MAAM;MAAEC,eAAe,EAAEC;IAAuB,CAAC,GAC/CjE,WAAW,CAACkE,+BAA+B;IAE7C,IAAI,CAACD,sBAAsB,CAACrB,MAAM,EAAE;MAClC,OAAOmB,aAAa;IACtB;IAEA,OAAO/D,WAAW,CAACkE,+BAA+B,CAACF,eAAe,CAACxE,MAAM,CACtEgC,MAAM,IACLnB,eAAe,CAACoB,IAAI,CACjBC,cAAc,IACbA,cAAc,CAACC,EAAE,KAAKH,MAAM,CAACG,EAAE,IAAID,cAAc,CAACE,UACtD,CACJ,CAAC,CAACgB,MAAM;EACV;EAEA,IAAI3B,iBAAiBA,CAAA,EAAG;IACtB,MAAM;MACJkD,MAAM;MACN7E,KAAK,EAAE;QACLe,eAAe,EAAE;UAAEkB;QAAM;MAC3B;IACF,CAAC,GAAG,IAAI;IAER,OAAOA,KAAK,CAAC0B,GAAG,CAAC,CAAC;MAAEtB;IAAG,CAAC,MAAM;MAC5BA,EAAE;MACFC,UAAU,EAAEuC,MAAM,CAACC,SAAS,CAACzC,EAAE;IACjC,CAAC,CAAC,CAAC;EACL;EAEA,IAAI0C,gBAAgBA,CAAA,EAAG;IACrB,MAAM;MACJpD,iBAAiB;MACjB3B,KAAK,EAAE;QACLe,eAAe,EAAE;UAAEkB;QAAM;MAC3B;IACF,CAAC,GAAG,IAAI;IAER,IAAIA,KAAK,CAACqB,MAAM,KAAK3B,iBAAiB,CAAC2B,MAAM,EAAE;MAC7C,OAAO,IAAI;IACb;IAEA,KAAK,IAAI0B,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG/C,KAAK,CAACqB,MAAM,EAAE0B,CAAC,EAAE,EAAE;MACrC,MAAMC,CAAC,GAAGhD,KAAK,CAAC+C,CAAC,CAAC;MAClB,MAAME,CAAC,GAAGvD,iBAAiB,CAACqD,CAAC,CAAC;MAE9B,IAAIC,CAAC,CAAC5C,EAAE,KAAK6C,CAAC,CAAC7C,EAAE,IAAI4C,CAAC,CAAC3C,UAAU,KAAK4C,CAAC,CAAC5C,UAAU,EAAE;QAClD,OAAO,IAAI;MACb;IACF;IAEA,OAAO,KAAK;EACd;EAEAR,IAAIA,CAAA,EAAG;IAAA,IAAAqD,iBAAA,EAAAC,qBAAA;IACL,MAAM;MAAEpF;IAAM,CAAC,GAAG,IAAI;IACtBA,KAAK,CAACqF,6BAA6B,GAAG,IAAI;IAE1C,MAAMC,SAAS,GAAG,CAChB,IAAAC,cAAQ,EACN,MAAM,IAAI,CAACvF,KAAK,CAACe,eAAe,CAACkB,KAAK,EACtC,MAAOlB,eAAe,IAAK;MACzB,MAAM;QAAE8D,MAAM;QAAEW;MAAkB,CAAC,GAAG,IAAI;MAE1CX,MAAM,CAACY,KAAK,CAAC,CAAC;MACdZ,MAAM,CAACa,YAAY,CACjB3E,eAAe,CAAC4C,GAAG,CAAC,CAAC;QAAEtB,EAAE;QAAEC;MAAW,CAAC,MAAM;QAC3CL,KAAK,EAAE;UAAEI;QAAG,CAAC;QACbsD,MAAM,EAAErD,UAAU,GAAGuC,MAAM,CAACe,WAAW,GAAGf,MAAM,CAACgB;MACnD,CAAC,CAAC,CACJ,CAAC;MACD,MAAML,iBAAiB,CAACM,eAAe,CAAC,CAAC;IAC3C,CAAC,EACD;MACEC,eAAe,EAAE;IACnB,CACF,CAAC,EACD,IAAAR,cAAQ,EACN,MAAM,IAAI,CAACV,MAAM,CAACmB,cAAc,EAChC,MAAM;MACJ,MAAM;QACJhG,KAAK,EAAE;UAAEe;QAAgB;MAC3B,CAAC,GAAG,IAAI;MAER,IAAI,CAAC,IAAI,CAACgE,gBAAgB,EAAE;QAC1B;MACF;MAEAhE,eAAe,CAACkF,QAAQ,CAAC,IAAI,CAACtE,iBAAiB,EAAE;QAC/CuE,UAAU,EAAE,CAAC,QAAQ,EAAE,eAAe,EAAE,SAAS;MACnD,CAAC,CAAC;IACJ,CACF,CAAC,EAED,IAAI,CAACpD,4BAA4B,CAAC,CAAC,EACnC,IAAI,CAAC0C,iBAAiB,CAAC1D,IAAI,CAAC,CAAC,GAAAqD,iBAAA,GAC7B,IAAI,CAACzE,WAAW,qBAAhByE,iBAAA,CAAkBrD,IAAI,CAAC,CAAC,GAAAsD,qBAAA,GACxB,IAAI,CAAClE,oBAAoB,qBAAzBkE,qBAAA,CAA2BtD,IAAI,CAAC,CAAC,EACjC,IAAAyD,cAAQ,EACN;MAAA,IAAAY,qBAAA;MAAA,QAAAA,qBAAA,GAAM,IAAI,CAACnG,KAAK,CAAC4C,WAAW,qBAAtBuD,qBAAA,CAAwBtD,QAAQ;IAAA,GACtC,OAAOuD,SAAS,EAAEC,UAAU,KAAK;MAC/B,IAAI,CAACD,SAAS,IAAI,CAACC,UAAU,IAAID,SAAS,KAAKC,UAAU,EAAE;QACzD;MACF;MACA,IAAI,IAAI,CAACrG,KAAK,CAACsG,oBAAoB,KAAKF,SAAS,EAAE;QACjD;MACF;MACA;MACA,IAAI,IAAI,CAACpG,KAAK,CAACyC,UAAU,EAAE;QACzB;MACF;MACA,MAAM8D,MAAM,GAAG,MAAM,IAAI,CAACC,uBAAuB,CAAC,CAAC;MACnD,IAAID,MAAM,IAAI,IAAI,EAAE;QAClB,IAAI,CAACvG,KAAK,CAACe,eAAe,CAAC0F,KAAK,CAAC,CAAC;MACpC,CAAC,MAAM;QACL,MAAM,IAAI,CAACC,iBAAiB,CAAC,CAAC;MAChC;IACF,CACF,CAAC,CACF;IAED,OAAO,MAAM;MACXpB,SAAS,CAACrB,OAAO,CAAE0C,QAAQ,IAAKA,QAAQ,oBAARA,QAAQ,CAAG,CAAC,CAAC;IAC/C,CAAC;EACH;EAEA,MAAMH,uBAAuBA,CAAA,EAAG;IAC9B,MAAM;MAAEhE;IAAY,CAAC,GAAG,IAAI,CAACxC,KAAK;IAClC,IAAI;MAAA,IAAA4G,sBAAA;MACF,MAAMC,WAAW,GAAG,MAAMzH,qBAAqB,CAC7C,MAAMoD,WAAW,CAACsE,OAAO,CACvB5H,4BAA4B,EAAA0H,sBAAA,GAAC,IAAI,CAAC5G,KAAK,CAAC4C,WAAW,qBAAtBgE,sBAAA,CAAwB/D,QAAQ,CAC/D,CACF,CAAC;MACD,IAAI,CAACH,QAAQ,GAAGmE,WAAW,IAAI,IAAI;MACnC,OAAOA,WAAW;IACpB,CAAC,CAAC,OAAOE,CAAC,EAAE;MACV,IAAIA,CAAC,YAAYC,KAAK,IAAID,CAAC,CAACE,OAAO,KAAK,8BAA8B,EAAE;QACtE,OAAO,IAAI;MACb;MAEA,MAAMF,CAAC;IACT;EACF;EAEAG,UAAUA,CAAA,EAAG;IACX,MAAM;MACJC,QAAQ;MACRnH,KAAK,EAAE;QACLoH,KAAK,EAAE;UAAEC;QAAY;MACvB;IACF,CAAC,GAAG,IAAI;IACRF,QAAQ,CAACG,OAAO,CAAC,YAAY;MAC3B,IAAI;QACF,MAAMC,2BAA2B,GAC/B,IAAI,CAACxE,MAAM,CAACyE,SAAS,CAAC,oBAAoB,CAAC;QAC7C,MAAMC,OAAO,CAACC,GAAG,CAACH,2BAA2B,CAAC5D,GAAG,CAAEgE,CAAC,IAAKA,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9D,MAAM,IAAI,CAACjB,iBAAiB,CAAC,CAAC;MAChC,CAAC,CAAC,OAAOK,CAAC,EAAE;QACVa,OAAO,CAACC,KAAK,CAACd,CAAC,CAAC;MAClB;IACF,CAAC,CAAC;IAEFM,WAAW,CAACpD,OAAO,CAAEhE,UAAU,IAAK;MAClC,IAAIA,UAAU,CAAC6H,KAAK,CAACC,sBAAsB,EAAE;QAC3C9H,UAAU,CAAC+H,KAAK,CAACC,WAAW,CAC1B,oBAAoB,EACpB,MAAMd,QAAQ,CAACxB,MAAM,CAACuC,OACxB,CAAC;MACH;IACF,CAAC,CAAC;EACJ;EAEA,MAAMxB,iBAAiBA,CAAA,EAAG;IAAA,IAAAyB,qBAAA;IACxB,MAAM;MACJnI,KAAK,EAAE;QACLyC,UAAU;QACV3B,OAAO;QACPC,eAAe;QACfiB,kBAAkB;QAClBmB;MACF;IACF,CAAC,GAAG,IAAI;IAER,IAAIV,UAAU,EAAE;MACd;IACF;IAEA,IACET,kBAAkB,aAAAmG,qBAAA,GAAlBnG,kBAAkB,CAAEd,oBAAoB,aAAxCiH,qBAAA,CAA0CC,6BAA6B,EACvE;MACA;IACF;IAEA,MAAMC,mBAAmB,GAAG,MAAM,IAAI,CAAC7B,uBAAuB,CAAC,CAAC;IAEhE,IAAI6B,mBAAmB,IAAI,IAAI,EAAE;MAC/B;IACF;IAEA,MAAMC,0BAA0B,GAAGxH,OAAO,CAAC6C,GAAG,CAAE4E,WAAW,IAAK;MAC9D,MAAM3E,QAAQ,GAAGyE,mBAAmB,CAACxE,IAAI,CACtCH,CAAC,IAAK,CAAAA,CAAC,oBAADA,CAAC,CAAErB,EAAE,MAAKkG,WAAW,CAAClG,EAC/B,CAAC;;MAED;MACA,IAAIuB,QAAQ,IAAI,IAAI,EAAE;QACpB,OAAOT,eAAe,CAACoF,WAAW,CAAC;MACrC;;MAEA;MACA,MAAM;QAAElG,EAAE;QAAEmG,IAAI;QAAE1E,QAAQ;QAAEC;MAAiC,CAAC,GAC5DwE,WAAW;MAEb,OAAO;QACLlG,EAAE;QACFmG,IAAI;QACJlG,UAAU,EACR+F,mBAAmB,CAAClG,IAAI,CACrBuB,CAAC,IAAK,CAAAA,CAAC,oBAADA,CAAC,CAAErB,EAAE,MAAKA,EAAE,IAAI,CAAAqB,CAAC,oBAADA,CAAC,CAAEpB,UAAU,MAAK,KAC3C,CAAC,IACD,CAACwB,QAAQ,IACTC,gCAAgC,KAAK;MACzC,CAAC;IACH,CAAC,CAAC;IAEFhD,eAAe,CAACkF,QAAQ,CACtBjE,kBAAkB,YAAlBA,kBAAkB,CAAEtB,WAAW,GAC3B4H,0BAA0B,CAACG,IAAI,CAC7B,IAAAC,kCAAgB,EAACL,mBAAmB,EAAGtB,CAAC,IAAKA,CAAC,oBAADA,CAAC,CAAE1E,EAAE,CACpD,CAAC,GACDiG,0BACN,CAAC;EACH;EAEAK,6BAA6BA,CAAC;IAC5BC;EAGF,CAAC,EAAE;IACD,IAAI,IAAI,CAACC,8BAA8B,CAACC,GAAG,CAACF,UAAU,CAAC,EAAE;MACvD;IACF;IACA,IAAI,CAACC,8BAA8B,CAACE,GAAG,CAACH,UAAU,EAAE,IAAI,CAAC;IACzD,IAAI,CAAC5I,KAAK,CAACgJ,QAAQ,CACjB,IAAAC,wBAAe,EAACC,oCAAgC,CAAC,CAAC;MAChDN;IACF,CAAC,CACH,CAAC;EACH;EAEA,IAAIO,kBAAkBA,CAAA,EAAG;IACvB,OAAO,IAAI,CAACnJ,KAAK,CAACmJ,kBAAkB;EACtC;EAEA,IAAIC,kBAAkBA,CAAA,EAAG;IACvB,OAAO,IAAI,CAACpJ,KAAK,CAACqJ,sBAAsB;EAC1C;EAEA,IAAIC,mBAAmBA,CAAA,EAAG;IACxB,OAAO,IAAI,CAACtJ,KAAK,CAACuJ,SAAS,CAACC,UAAU;EACxC;EAEAC,OAAOA,CAAA,EAAG;IACR,IAAI,CAACzJ,KAAK,CAACgJ,QAAQ,CACjB,IAAAC,wBAAe,EAACS,yBAAqB,CAAC,CAAC;MACrCC,QAAQ,EAAE,KAAK;MACfC,OAAO,EAAE,gBAAgB;MACzBC,MAAM,EAAE;IACV,CAAC,CACH,CAAC;IACD,IAAI,CAAC7J,KAAK,CAACuJ,SAAS,CAACO,KAAK,CAAC,CAAC;EAC9B;AACF;AAAC9K,OAAA,CAAAQ,kBAAA,GAAAA,kBAAA","ignoreList":[]}
@@ -26,6 +26,10 @@ class EditableTableState {
26
26
  (0, _defineProperty2.default)(this, "addItemDisabled", false);
27
27
  (0, _defineProperty2.default)(this, "updateItemDisabled", false);
28
28
  (0, _defineProperty2.default)(this, "removeItemDisabled", false);
29
+ (0, _defineProperty2.default)(this, "multiDeleteDisabled", false);
30
+ // Needs an explicit initializer: a declaration-only field is erased at
31
+ // compile time, and makeObservable throws on a property that doesn't exist.
32
+ (0, _defineProperty2.default)(this, "isRemoveItemDisabled", undefined);
29
33
  (0, _defineProperty2.default)(this, "_providedColumns", []);
30
34
  (0, _defineProperty2.default)(this, "onAddItemActionComplete", items => {
31
35
  return this.tableState.onAddItemActionComplete(items);
@@ -65,6 +69,9 @@ class EditableTableState {
65
69
  addItemDisabled: _mobx.observable,
66
70
  updateItemDisabled: _mobx.observable,
67
71
  removeItemDisabled: _mobx.observable,
72
+ multiDeleteDisabled: _mobx.observable,
73
+ isRemoveItemDisabled: _mobx.observable.ref,
74
+ setPermissions: _mobx.action,
68
75
  _providedColumns: _mobx.observable.ref,
69
76
  editableColumns: _mobx.computed,
70
77
  sourceColumns: _mobx.computed,
@@ -73,11 +80,38 @@ class EditableTableState {
73
80
  init: _mobx.action,
74
81
  confirmDeleteItems: _mobx.action
75
82
  });
76
- if (params.permissions) {
77
- this.addItemDisabled = params.permissions.addItemDisabled ?? false;
78
- this.updateItemDisabled = params.permissions.updateItemDisabled ?? false;
79
- this.removeItemDisabled = params.permissions.removeItemDisabled ?? false;
83
+ this.setPermissions(params.permissions ?? {});
84
+ }
85
+ setPermissions(permissions) {
86
+ this.addItemDisabled = permissions.addItemDisabled ?? false;
87
+ this.updateItemDisabled = permissions.updateItemDisabled ?? false;
88
+ this.removeItemDisabled = permissions.removeItemDisabled ?? false;
89
+ this.multiDeleteDisabled = permissions.multiDeleteDisabled ?? this.removeItemDisabled;
90
+ this.isRemoveItemDisabled = permissions.isRemoveItemDisabled;
91
+ }
92
+ isRowDeleteDisabled(rowKey) {
93
+ if (this.removeItemDisabled) {
94
+ return true;
95
+ }
96
+ if (!this.isRemoveItemDisabled) {
97
+ return false;
98
+ }
99
+ const keyed = this._getKeyedItem(rowKey);
100
+ return keyed ? this.isRemoveItemDisabled(keyed.item).disabled : false;
101
+ }
102
+ rowDeleteDisabledReason(rowKey) {
103
+ if (!this.isRemoveItemDisabled) {
104
+ return undefined;
80
105
  }
106
+ const keyed = this._getKeyedItem(rowKey);
107
+ const result = keyed ? this.isRemoveItemDisabled(keyed.item) : undefined;
108
+ return result != null && result.disabled ? result.reason : undefined;
109
+ }
110
+ isMultiDeleteDisabled(rowKeys) {
111
+ if (this.multiDeleteDisabled) {
112
+ return true;
113
+ }
114
+ return rowKeys.some(key => this.isRowDeleteDisabled(key));
81
115
  }
82
116
  get collection() {
83
117
  return this.tableState.collection;
@@ -152,6 +186,12 @@ class EditableTableState {
152
186
  this.mutation.deleteItems(rowKeys);
153
187
  }
154
188
  confirmDeleteItems(rowKeys) {
189
+ // The context menu disables blocked deletes; this filter is the barrier
190
+ // for callers that bypass the UI gate.
191
+ const deletableRowKeys = rowKeys.filter(key => !this.isRowDeleteDisabled(key));
192
+ if (!deletableRowKeys.length) {
193
+ return;
194
+ }
155
195
  const {
156
196
  translate: t
157
197
  } = this.collection;
@@ -162,7 +202,7 @@ class EditableTableState {
162
202
  primaryButtonText: t('cairo.delete.button'),
163
203
  secondaryButtonText: t('cairo.cancel.button'),
164
204
  primaryButtonOnClick: () => {
165
- this.deleteItems(rowKeys);
205
+ this.deleteItems(deletableRowKeys);
166
206
  }
167
207
  });
168
208
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_mobx","require","_bexCore","_ToolbarCollectionState","_TableState","_CellInteractionState","_CellValueState","_ClipboardState","_MutationState","_buildEditableFieldColumns","EditableTableState","constructor","params","_params$extraCellType","_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","makeObservable","addItemDisabled","observable","updateItemDisabled","removeItemDisabled","_providedColumns","ref","editableColumns","computed","sourceColumns","allColumns","_columnMap","init","action","confirmDeleteItems","permissions","keyedItems","visibleColumns","itemsToRenderCount","source","collectionFieldsSource","initTask","status","isSuccess","buildEditableFieldColumns","fieldsSource","editableCellFor","c","_getKeyedItem","key","getKeyedItem","_toIndices","pos","row","findIndex","ki","rowKey","col","_toPosition","visibleIds","length","find","filter","undefined","columns","addItem","afterItemKey","duplicateItem","deleteItems","rowKeys","translate","t","deleteConfirmModal","open","theme","title","content","primaryButtonText","secondaryButtonText","primaryButtonOnClick","resolveCellTypeByColumnId","getCellDisplayValue","getCellValidation","isCellEditable","isColumnEditable","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 type { EditableTableMutationHandlers } from './MutationState';\nimport type { Cell, CellType, EditableColumn, ValidationResult } from './types';\nimport { buildEditableFieldColumns } from '../buildEditableFieldColumns';\n\nexport interface EditableTablePermissions {\n addItemDisabled?: boolean;\n updateItemDisabled?: boolean;\n removeItemDisabled?: boolean;\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 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\n addItemDisabled = false;\n updateItemDisabled = false;\n removeItemDisabled = false;\n\n _providedColumns: 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 makeObservable(this, {\n addItemDisabled: observable,\n updateItemDisabled: observable,\n removeItemDisabled: observable,\n _providedColumns: observable.ref,\n editableColumns: computed,\n sourceColumns: computed,\n allColumns: 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 /** Editable columns built from the wired fields source, once it loads. */\n get sourceColumns(): EditableColumn<T>[] {\n const source = this.toolbar.collectionFieldsSource;\n if (!source || !source.initTask.status.isSuccess) {\n return [];\n }\n return buildEditableFieldColumns(\n source.fieldsSource,\n source.editableCellFor,\n ) as EditableColumn<T>[];\n }\n\n /**\n * Consumer columns plus the columns built from the fields source, merged the\n * same way the toolbar merges its columns (ToolbarCollectionState.columns).\n * Consumer and source columns are expected to be disjoint by id.\n */\n get allColumns(): EditableColumn<T>[] {\n return [...this._providedColumns, ...this.sourceColumns];\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._providedColumns = columns;\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 isColumnEditable(rowKey: string, columnId: string): boolean {\n return this.cellValue.isColumnEditable(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","_buildEditableFieldColumns","EditableTableState","constructor","params","_params$extraCellType","_defineProperty2","default","ConditionalModalState","undefined","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","makeObservable","addItemDisabled","observable","updateItemDisabled","removeItemDisabled","multiDeleteDisabled","isRemoveItemDisabled","ref","setPermissions","action","_providedColumns","editableColumns","computed","sourceColumns","allColumns","_columnMap","init","confirmDeleteItems","permissions","isRowDeleteDisabled","rowKey","keyed","_getKeyedItem","item","disabled","rowDeleteDisabledReason","result","reason","isMultiDeleteDisabled","rowKeys","some","key","keyedItems","visibleColumns","itemsToRenderCount","source","collectionFieldsSource","initTask","status","isSuccess","buildEditableFieldColumns","fieldsSource","editableCellFor","c","getKeyedItem","_toIndices","pos","row","findIndex","ki","col","_toPosition","visibleIds","length","find","filter","columns","addItem","afterItemKey","duplicateItem","deleteItems","deletableRowKeys","translate","t","deleteConfirmModal","open","theme","title","content","primaryButtonText","secondaryButtonText","primaryButtonOnClick","resolveCellTypeByColumnId","getCellDisplayValue","getCellValidation","isCellEditable","isColumnEditable","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, RemoveItemDisabledResult } 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 type { EditableTableMutationHandlers } from './MutationState';\nimport type { Cell, CellType, EditableColumn, ValidationResult } from './types';\nimport { buildEditableFieldColumns } from '../buildEditableFieldColumns';\n\nexport type { RemoveItemDisabledResult } from '@wix/bex-core';\n\nexport interface EditableTablePermissions<T = unknown> {\n addItemDisabled?: boolean;\n updateItemDisabled?: boolean;\n removeItemDisabled?: boolean;\n /** Deleting several rows in one operation. Absent = follows `removeItemDisabled`. */\n multiDeleteDisabled?: boolean;\n /** Per-item refinement of `removeItemDisabled`: disables deleting an item\n * even though deleting is generally allowed, optionally with a reason.\n * Must be pure and synchronous. Absent = all items deletable. */\n isRemoveItemDisabled?: (item: T) => RemoveItemDisabledResult;\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<T>;\n readonly mutations: EditableTableMutationHandlers<T>;\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 /** Replace all permission flags and the per-item delete predicate */\n setPermissions(permissions: EditableTablePermissions<T>): void;\n /** Whether deleting the given row is disabled (user-level or per-item) */\n isRowDeleteDisabled(rowKey: string): boolean;\n /** The reason the given row cannot be deleted, when the per-item predicate\n * returned one. `undefined` when the row is deletable or no reason was given. */\n rowDeleteDisabledReason(rowKey: string): string | undefined;\n /** Whether deleting the given rows in one operation is disabled */\n isMultiDeleteDisabled(rowKeys: string[]): boolean;\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\n addItemDisabled = false;\n updateItemDisabled = false;\n removeItemDisabled = false;\n multiDeleteDisabled = false;\n // Needs an explicit initializer: a declaration-only field is erased at\n // compile time, and makeObservable throws on a property that doesn't exist.\n isRemoveItemDisabled?: (item: T) => RemoveItemDisabledResult = undefined;\n\n _providedColumns: 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 makeObservable(this, {\n addItemDisabled: observable,\n updateItemDisabled: observable,\n removeItemDisabled: observable,\n multiDeleteDisabled: observable,\n isRemoveItemDisabled: observable.ref,\n setPermissions: action,\n _providedColumns: observable.ref,\n editableColumns: computed,\n sourceColumns: computed,\n allColumns: computed,\n _columnMap: computed,\n init: action,\n confirmDeleteItems: action,\n });\n\n this.setPermissions(params.permissions ?? {});\n }\n\n setPermissions(permissions: EditableTablePermissions<T>) {\n this.addItemDisabled = permissions.addItemDisabled ?? false;\n this.updateItemDisabled = permissions.updateItemDisabled ?? false;\n this.removeItemDisabled = permissions.removeItemDisabled ?? false;\n this.multiDeleteDisabled =\n permissions.multiDeleteDisabled ?? this.removeItemDisabled;\n this.isRemoveItemDisabled = permissions.isRemoveItemDisabled;\n }\n\n isRowDeleteDisabled(rowKey: string): boolean {\n if (this.removeItemDisabled) {\n return true;\n }\n if (!this.isRemoveItemDisabled) {\n return false;\n }\n const keyed = this._getKeyedItem(rowKey);\n return keyed ? this.isRemoveItemDisabled(keyed.item).disabled : false;\n }\n\n rowDeleteDisabledReason(rowKey: string): string | undefined {\n if (!this.isRemoveItemDisabled) {\n return undefined;\n }\n const keyed = this._getKeyedItem(rowKey);\n const result = keyed ? this.isRemoveItemDisabled(keyed.item) : undefined;\n return result?.disabled ? result.reason : undefined;\n }\n\n isMultiDeleteDisabled(rowKeys: string[]): boolean {\n if (this.multiDeleteDisabled) {\n return true;\n }\n return rowKeys.some((key) => this.isRowDeleteDisabled(key));\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 /** Editable columns built from the wired fields source, once it loads. */\n get sourceColumns(): EditableColumn<T>[] {\n const source = this.toolbar.collectionFieldsSource;\n if (!source || !source.initTask.status.isSuccess) {\n return [];\n }\n return buildEditableFieldColumns(\n source.fieldsSource,\n source.editableCellFor,\n ) as EditableColumn<T>[];\n }\n\n /**\n * Consumer columns plus the columns built from the fields source, merged the\n * same way the toolbar merges its columns (ToolbarCollectionState.columns).\n * Consumer and source columns are expected to be disjoint by id.\n */\n get allColumns(): EditableColumn<T>[] {\n return [...this._providedColumns, ...this.sourceColumns];\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._providedColumns = columns;\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 // The context menu disables blocked deletes; this filter is the barrier\n // for callers that bypass the UI gate.\n const deletableRowKeys = rowKeys.filter(\n (key) => !this.isRowDeleteDisabled(key),\n );\n if (!deletableRowKeys.length) {\n return;\n }\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(deletableRowKeys);\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 isColumnEditable(rowKey: string, columnId: string): boolean {\n return this.cellValue.isColumnEditable(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":["_EditableTableState","require","exports","EditableTableState"],"sources":["../../../../src/state/EditableTable/index.ts"],"sourcesContent":["export { EditableTableState } from './EditableTableState';\nexport type {\n EditableTableStateParams,\n EditableTableStatePublicAPI,\n EditableTablePermissions,\n} from './EditableTableState';\n\nexport type { EditableTableMutationHandlers } from './MutationState';\n\nexport type {\n Cell,\n ValidationResult,\n CellType,\n EditableColumn,\n CellTypeConfigMap,\n} from './types';\n"],"mappings":";;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA;AAA0DC,OAAA,CAAAC,kBAAA,GAAAH,mBAAA,CAAAG,kBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_EditableTableState","require","exports","EditableTableState"],"sources":["../../../../src/state/EditableTable/index.ts"],"sourcesContent":["export { EditableTableState } from './EditableTableState';\nexport type {\n EditableTableStateParams,\n EditableTableStatePublicAPI,\n EditableTablePermissions,\n RemoveItemDisabledResult,\n} from './EditableTableState';\n\nexport type { EditableTableMutationHandlers } from './MutationState';\n\nexport type {\n Cell,\n ValidationResult,\n CellType,\n EditableColumn,\n CellTypeConfigMap,\n} from './types';\n"],"mappings":";;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA;AAA0DC,OAAA,CAAAC,kBAAA,GAAAH,mBAAA,CAAAG,kBAAA","ignoreList":[]}
@@ -30,6 +30,18 @@ class EntityPageState {
30
30
  (0, _defineProperty2.default)(this, "_parentPageId", void 0);
31
31
  (0, _defineProperty2.default)(this, "_parentPath", void 0);
32
32
  (0, _defineProperty2.default)(this, "actionsBarConfig", void 0);
33
+ /**
34
+ * The page's side-panel host, the way a table's lives on its toolbar.
35
+ * Attached by the first feature that needs one, through
36
+ * `SidePanelsState.setOnPage` — so a page with no panels neither builds nor
37
+ * bundles the side-panel code. Everything on the page shares this host, which
38
+ * is what keeps one panel open at a time.
39
+ */
40
+ (0, _defineProperty2.default)(this, "panels", null);
41
+ /** The fields card's "Manage fields" state, set by the card that owns it —
42
+ * the panel is rendered by the host with no props and reads it from here,
43
+ * as a table's panel reads `toolbar.customColumnsState`. */
44
+ (0, _defineProperty2.default)(this, "customColumnsState", null);
33
45
  (0, _defineProperty2.default)(this, "schemaSource", void 0);
34
46
  (0, _defineProperty2.default)(this, "container", void 0);
35
47
  (0, _defineProperty2.default)(this, "reportBI", void 0);
@@ -70,6 +82,7 @@ class EntityPageState {
70
82
  setEntity: _mobx.action,
71
83
  _schema: _mobx.observable.ref,
72
84
  setSchema: _mobx.action,
85
+ customColumnsState: _mobx.observable.ref,
73
86
  isFormDirty: _mobx.computed,
74
87
  _withinRouter: _mobx.computed
75
88
  });
@@ -106,7 +119,12 @@ class EntityPageState {
106
119
  (_this$fieldsContainer = this.fieldsContainer) == null || _this$fieldsContainer.init();
107
120
  const [data, loadedSchema] = await Promise.all([this.fetch(), (_this$schemaSource = this.schemaSource) == null ? void 0 : _this$schemaSource.loadSchema(), container.initTask.status.promise, (_this$fieldsContainer2 = this.fieldsContainer) == null ? void 0 : _this$fieldsContainer2.initTask.status.promise]);
108
121
  this.setEntity(data.entity ?? null);
109
- if (loadedSchema) {
122
+ // Don't overwrite a schema something already set. A fields card mirrors the
123
+ // schema its field mutations merge into, and `loadSchema` is memoized — so
124
+ // setting it here again would put the pre-mutation fields map back and drop
125
+ // a field the server already has. Nothing is lost by keeping the newer one:
126
+ // this only ever re-sets the very same object (e.g. on `retryFetch`).
127
+ if (loadedSchema && !this.schema) {
110
128
  this.setSchema(loadedSchema.schema);
111
129
  }
112
130
  (_this$bi$appLoaded = (_this$bi = this.bi).appLoaded) == null || _this$bi$appLoaded.call(_this$bi);
@@ -1 +1 @@
1
- {"version":3,"names":["_bexCore","require","_mobx","_schemaFieldsContainer","_EntityPageStateBIReporter","_events","EntityPageState","fieldsContainer","fieldsContainerOf","schemaSource","constructor","params","_defineProperty2","default","EventEmitter","fetch","onSave","saveSuccessToast","saveErrorToast","formPage","FormPageState","form","_parentPageId","parentPageId","transformEntityToCollectionItem","anEntity","_parentPath","parentPath","container","_routerState","routerState","_this$_routerState$cu","_entity","currentState","_chosenEntity","entity","reportBI","createBILogger","componentType","pageType","route","window","location","pathname","bi","EntityPageStateBIReporter","entityPageState","init","makeObservable","handleSubmit","action","observable","ref","setEntity","_schema","setSchema","isFormDirty","computed","_withinRouter","_checkPageParams","initTask","onBeforeUnload","onBeforeUnloadSubscription","event","isMobileDevice","formState","isSubmitSuccessful","_isSubmitSuccessful","preventDefault","reportOnBeforeUnload","runOnce","_this$fieldsContainer","_this$schemaSource","_this$fieldsContainer2","_this$bi$appLoaded","_this$bi","data","loadedSchema","Promise","all","loadSchema","status","promise","schema","appLoaded","call","remove","retryFetch","newEntity","isFetching","flag","isDirty","_isFormDirty","val","onCancel","_this$actionsBarConfi","reportButtonClick","ctaName","additionalInfo","actionsBarConfig","cancelCta","biAdditionalInfo","navigateToParent","updatedEntity","entityStringKey","entityObject","navigate","state","navigateTo","pageId","_showErrorToast","err","e","_this$saveErrorToast","_this$container$showT","_this$container","errorToast","retry","message","showTryAgain","tryAgain","undefined","showToast","type","biName","translate","code","uiType","text","onClick","reportSaveTryAgain","removeToastOnClick","_showSuccessToast","_this$saveSuccessToas","_this$container$showT2","_this$container2","submitTask","isLoading","events","emit","isValid","widgetsFormData","validate","_this$actionsBarConfi2","saveCta","run","savedEntity","submitSuccessful","_this$actionsBarConfi3","onSaveResult","errorMonitor","captureException","setError","_this$actionsBarConfi4","transformedItem","Error","exports"],"sources":["../../../../src/state/EntityPage/EntityPageState.ts"],"sourcesContent":["import {\n FormPageState,\n ReportBI,\n WixPatternsContainer,\n ActionsBarConfig,\n isMobileDevice,\n SchemaSource,\n Schema,\n} from '@wix/bex-core';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport type { PatternsFieldsAppContainer } from '@wix/patterns-fields/providers';\nimport { fieldsContainerOf } from '../../model/schemaFieldsContainer';\nimport { FieldValues, UseFormReturn } from 'react-hook-form';\nimport { EntityPageStateBIReporter } from './EntityPageStateBIReporter';\nimport { EventEmitter, TypedEmitter } from '@wix/bex-core/events';\nimport { WixPatternsRouterState } from '../WixPatternsRouterState';\n\ntype OnSaveParams = {\n widgetsFormData: { [key: string]: any };\n};\n\ninterface EntityPageStateParamsBase<T, V extends FieldValues = FieldValues> {\n /**\n * A function that fetches the entity data.\n * @returns a promise that resolves to an object containing the entity.\n */\n fetch: () => Promise<{ entity: T | undefined }>;\n\n /**\n * A function to handle the save action.\n * @returns promise that resolves to an object that contains a 'updatedEntity' object.\n */\n onSave: (params: OnSaveParams) => Promise<{ updatedEntity: T }>;\n\n /**\n * An optional object with an optional message, or it can directly get a string message.\n */\n saveSuccessToast?: { message?: string } | string;\n\n /**\n * An optional function to display an error toast message when a save operation fails.\n * @returns An object with a `message` and an `action` object. Alternatively, it can return an object with an optional `message` and a `tryAgain` flag, or a string message.\n * The previous return types are still supported but are now deprecated.\n */\n saveErrorToast?: (\n err: unknown,\n params: { retry: () => void },\n ) =>\n | {\n message?: string;\n /**\n * @deprecated use `action` instead\n */\n tryAgain?: boolean;\n action?: { text: string; onClick: () => void };\n }\n | string;\n\n /**\n * An optional function to transform the updated entity data before it is passed to the collection page.\n * @param entity the updated entity.\n * @returns an object representing the entity in the collection page.\n */\n transformEntityToCollectionItem?: (entity: T) => any;\n\n form: UseFormReturn<V>;\n /**\n * An object representing the container, possibly for dependency injection or component management.\n */\n container: WixPatternsContainer;\n\n /**\n * A string representing the ID of the parent page.\n * Must be passed if not using Patterns Router\n */\n parentPageId?: string;\n\n /**\n * A string representing the path of the parent page.\n * Must be passed if using Patterns Router\n */\n parentPath?: string;\n\n /**\n * An object representing the router state\n */\n routerState?: WixPatternsRouterState | null;\n\n /**\n * An optional object to override the actions bar.\n */\n actionsBarConfig?: ActionsBarConfig;\n\n /**\n * An optional schema source describing how to load the schema and access\n * the entity's data. When present, the page can read fields from the source\n * instead of relying only on hand-wired fetch/onSave callbacks.\n */\n schemaSource?: SchemaSource<T>;\n}\n\nexport type EntityPageStateParams<\n T,\n V extends FieldValues = FieldValues,\n> = EntityPageStateParamsBase<T, V>;\n\nexport interface EntityPageStateInterface {}\n\nexport interface EntityPageWidgetState {\n validate: () => Promise<{ isValid: boolean; values?: any }>;\n isDirty: boolean;\n}\n\nexport class EntityPageState<T, V extends FieldValues = FieldValues>\n implements EntityPageStateInterface\n{\n readonly fetch: EntityPageStateParams<T>['fetch'];\n readonly onSave: EntityPageStateParams<T, V>['onSave'];\n readonly saveSuccessToast?: EntityPageStateParams<T>['saveSuccessToast'];\n readonly saveErrorToast?: EntityPageStateParams<T>['saveErrorToast'];\n readonly transformEntityToCollectionItem: (entity: T) => any;\n\n _entity: T | null = null;\n _schema: Schema | null = null;\n private readonly _parentPageId?: string;\n private readonly _parentPath?: string;\n\n actionsBarConfig?: EntityPageStateParams<T>['actionsBarConfig'];\n\n readonly schemaSource?: SchemaSource<T>;\n\n /**\n * The container the page's field renderers are built with — the one the schema\n * carries, so a table on the same schema shares it. Initialized in `init()`\n * below, next to the schema load the fields also wait on; the schema-entry\n * EntityPage puts it in React context.\n */\n get fieldsContainer(): PatternsFieldsAppContainer | undefined {\n return fieldsContainerOf(this.schemaSource);\n }\n\n readonly container: WixPatternsContainer;\n readonly reportBI: ReportBI;\n readonly bi: EntityPageStateBIReporter<T, V>;\n\n _routerState: WixPatternsRouterState | null = null;\n\n readonly formPage: FormPageState<V>;\n\n readonly events = new EventEmitter() as TypedEmitter<{\n save: () => void;\n saveError: (err: unknown) => void;\n }>;\n\n constructor(params: EntityPageStateParams<T, V>) {\n this.fetch = params.fetch;\n this.onSave = params.onSave;\n this.saveSuccessToast = params.saveSuccessToast;\n this.saveErrorToast = params.saveErrorToast;\n this.formPage = new FormPageState<V>({ form: params.form });\n this._parentPageId = params.parentPageId;\n this.transformEntityToCollectionItem =\n params.transformEntityToCollectionItem || ((anEntity: T) => anEntity);\n this._parentPath = params.parentPath;\n this.schemaSource = params.schemaSource;\n\n this.container = params.container;\n\n this._routerState = params.routerState ?? null;\n\n if (this._routerState) {\n this._entity = this._routerState.currentState?._chosenEntity?.entity;\n }\n\n this.reportBI = this.container.createBILogger({\n componentType: 'Entity page',\n pageType: 'Entity',\n route: window.location.pathname,\n });\n\n this.bi = new EntityPageStateBIReporter({\n reportBI: this.reportBI,\n entityPageState: this,\n });\n this.bi.init();\n\n makeObservable(this, {\n handleSubmit: action,\n _entity: observable.ref,\n setEntity: action,\n _schema: observable.ref,\n setSchema: action,\n isFormDirty: computed,\n _withinRouter: computed,\n });\n }\n\n init() {\n this._checkPageParams();\n const {\n formPage: { initTask },\n container,\n } = this;\n const { onBeforeUnload } = container;\n\n const onBeforeUnloadSubscription = onBeforeUnload?.(\n action((event: Event) => {\n if (isMobileDevice()) {\n return;\n }\n\n const { form } = this;\n // Check both react-hook-form's state AND the explicitly set flag\n if (\n form.formState.isSubmitSuccessful ||\n this.formPage._isSubmitSuccessful ||\n !this.isFormDirty\n ) {\n return;\n }\n event.preventDefault();\n this.bi.reportOnBeforeUnload();\n }),\n );\n\n initTask.runOnce(async () => {\n // The field renderers can't translate until this resolves, so the page\n // waits on it alongside the fetch. Idempotent.\n this.fieldsContainer?.init();\n\n const [data, loadedSchema] = await Promise.all([\n this.fetch(),\n this.schemaSource?.loadSchema(),\n container.initTask.status.promise,\n this.fieldsContainer?.initTask.status.promise,\n ]);\n\n this.setEntity(data.entity ?? null);\n if (loadedSchema) {\n this.setSchema(loadedSchema.schema);\n }\n this.bi.appLoaded?.();\n });\n\n return () => {\n onBeforeUnloadSubscription?.remove();\n };\n }\n\n retryFetch() {\n this.formPage.retryFetch();\n }\n\n setEntity(newEntity: T | null) {\n this._entity = newEntity;\n }\n\n get entity(): T | null {\n return this._entity;\n }\n\n setSchema(schema: Schema | null) {\n this._schema = schema;\n }\n\n get schema(): Schema | null {\n return this._schema;\n }\n\n get isFetching() {\n return this.formPage.isFetching;\n }\n\n get form() {\n return this.formPage.form;\n }\n\n set isSubmitSuccessful(flag: boolean) {\n this.formPage.isSubmitSuccessful = flag;\n }\n\n get isFormDirty() {\n return this.formPage.isDirty;\n }\n\n // backwards compatibility\n set _isFormDirty(val: boolean) {\n this.formPage._isFormDirty = val;\n }\n\n get _withinRouter() {\n return !!this._routerState;\n }\n\n onCancel() {\n this.bi.reportButtonClick({\n ctaName: 'Cancel',\n additionalInfo: this.actionsBarConfig?.cancelCta?.biAdditionalInfo,\n });\n this.navigateToParent();\n }\n\n navigateToParent(updatedEntity?: any) {\n const entityStringKey = this._entity ? '_updatedEntity' : '_createdEntity';\n const entityObject = { [entityStringKey]: updatedEntity };\n\n if (this._withinRouter) {\n this._routerState!.navigate(this._parentPath!, { state: entityObject });\n } else {\n this.container.navigateTo!({\n pageId: this._parentPageId!,\n });\n }\n }\n\n _showErrorToast(err: any, e?: React.BaseSyntheticEvent) {\n const errorToast = this.saveErrorToast?.(err, {\n retry: () => this.handleSubmit(e),\n });\n const message =\n typeof errorToast === 'string' ? errorToast : errorToast?.message;\n const showTryAgain =\n typeof errorToast === 'string' ? true : errorToast?.tryAgain !== false;\n const action =\n typeof errorToast === 'string' ? undefined : errorToast?.action;\n\n this.container.showToast?.({\n type: 'ERROR',\n biName: 'cairo-entity-page-save-error-toast',\n message:\n message ??\n this.container.translate(\n err?.code === 'ERR_NETWORK'\n ? 'cairo.entityPage.saveError-offline.toast.description'\n : 'cairo.entityPage.saveError-technical.toast.description',\n ),\n action:\n action || showTryAgain\n ? {\n uiType: 'LINK',\n text:\n action?.text ?? this.container.translate('cairo.toast.retry'),\n onClick: () => {\n if (action?.onClick) {\n action.onClick();\n } else {\n this.bi.reportSaveTryAgain();\n this.handleSubmit(e);\n }\n },\n removeToastOnClick: true,\n }\n : undefined,\n });\n }\n\n _showSuccessToast() {\n const message =\n typeof this.saveSuccessToast === 'string'\n ? this.saveSuccessToast\n : this.saveSuccessToast?.message;\n\n this.container.showToast?.({\n type: 'SUCCESS',\n biName: 'cairo-entity-page-save-success-toast',\n message:\n message ?? this.container.translate('cairo.entityPage.success.toast'),\n });\n }\n\n async handleSubmit(e?: React.BaseSyntheticEvent) {\n if (this.formPage.submitTask.status.isLoading) {\n return;\n }\n\n this.events.emit('save');\n\n const { isValid, data: widgetsFormData } = await this.formPage.validate();\n\n if (!isValid) {\n this.bi.reportButtonClick({\n ctaName: 'Save',\n isValid: false,\n additionalInfo: this.actionsBarConfig?.saveCta?.biAdditionalInfo,\n });\n return;\n }\n\n const {\n form,\n formPage: { submitTask },\n bi,\n } = this;\n\n submitTask.run(async () => {\n let savedEntity: T | undefined;\n let submitSuccessful = false;\n\n await form.handleSubmit(\n async () => {\n bi.reportButtonClick({\n ctaName: 'Save',\n isValid: true,\n additionalInfo: this.actionsBarConfig?.saveCta?.biAdditionalInfo,\n });\n try {\n if (!this.isFetching) {\n const onSaveResult = await this.onSave({\n widgetsFormData,\n });\n savedEntity = onSaveResult?.updatedEntity;\n }\n this._showSuccessToast();\n submitSuccessful = true; // Mark as successful locally\n // Explicitly set isSubmitSuccessful to prevent onBeforeUnload from triggering\n this.isSubmitSuccessful = true;\n } catch (err) {\n this._showErrorToast(err, e);\n this.container.errorMonitor.captureException(err);\n this.events.emit('saveError', err);\n form.setError('root.serverError', {}); // https://react-hook-form.com/docs/useform/seterror\n }\n },\n () => {\n bi.reportButtonClick({\n ctaName: 'Save',\n isValid: false,\n additionalInfo: this.actionsBarConfig?.saveCta?.biAdditionalInfo,\n });\n }, // can be used to report validation errors\n )(e);\n\n if (!submitSuccessful) {\n return;\n }\n const transformedItem =\n savedEntity && this.transformEntityToCollectionItem\n ? this.transformEntityToCollectionItem(savedEntity)\n : savedEntity;\n this.navigateToParent(transformedItem);\n });\n await this.formPage.submitTask.status.promise;\n }\n\n get initTask() {\n return this.formPage.initTask;\n }\n\n get submitTask() {\n return this.formPage.submitTask;\n }\n\n private _checkPageParams() {\n if (this._withinRouter) {\n if (this._parentPath === undefined) {\n throw new Error('parentPath was not defined in useEntityPage');\n }\n } else {\n if (this._parentPageId === undefined) {\n throw new Error('parentPageId was not defined in useEntityPage');\n }\n\n if (!this.container.navigateTo) {\n throw new Error('navigateTo was not defined in Patterns Provider');\n }\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_bexCore","require","_mobx","_schemaFieldsContainer","_EntityPageStateBIReporter","_events","EntityPageState","fieldsContainer","fieldsContainerOf","schemaSource","constructor","params","_defineProperty2","default","EventEmitter","fetch","onSave","saveSuccessToast","saveErrorToast","formPage","FormPageState","form","_parentPageId","parentPageId","transformEntityToCollectionItem","anEntity","_parentPath","parentPath","container","_routerState","routerState","_this$_routerState$cu","_entity","currentState","_chosenEntity","entity","reportBI","createBILogger","componentType","pageType","route","window","location","pathname","bi","EntityPageStateBIReporter","entityPageState","init","makeObservable","handleSubmit","action","observable","ref","setEntity","_schema","setSchema","customColumnsState","isFormDirty","computed","_withinRouter","_checkPageParams","initTask","onBeforeUnload","onBeforeUnloadSubscription","event","isMobileDevice","formState","isSubmitSuccessful","_isSubmitSuccessful","preventDefault","reportOnBeforeUnload","runOnce","_this$fieldsContainer","_this$schemaSource","_this$fieldsContainer2","_this$bi$appLoaded","_this$bi","data","loadedSchema","Promise","all","loadSchema","status","promise","schema","appLoaded","call","remove","retryFetch","newEntity","isFetching","flag","isDirty","_isFormDirty","val","onCancel","_this$actionsBarConfi","reportButtonClick","ctaName","additionalInfo","actionsBarConfig","cancelCta","biAdditionalInfo","navigateToParent","updatedEntity","entityStringKey","entityObject","navigate","state","navigateTo","pageId","_showErrorToast","err","e","_this$saveErrorToast","_this$container$showT","_this$container","errorToast","retry","message","showTryAgain","tryAgain","undefined","showToast","type","biName","translate","code","uiType","text","onClick","reportSaveTryAgain","removeToastOnClick","_showSuccessToast","_this$saveSuccessToas","_this$container$showT2","_this$container2","submitTask","isLoading","events","emit","isValid","widgetsFormData","validate","_this$actionsBarConfi2","saveCta","run","savedEntity","submitSuccessful","_this$actionsBarConfi3","onSaveResult","errorMonitor","captureException","setError","_this$actionsBarConfi4","transformedItem","Error","exports"],"sources":["../../../../src/state/EntityPage/EntityPageState.ts"],"sourcesContent":["import {\n FormPageState,\n ReportBI,\n WixPatternsContainer,\n ActionsBarConfig,\n isMobileDevice,\n SchemaSource,\n Schema,\n} from '@wix/bex-core';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport type { PatternsFieldsAppContainer } from '@wix/patterns-fields/providers';\nimport { fieldsContainerOf } from '../../model/schemaFieldsContainer';\nimport { FieldValues, UseFormReturn } from 'react-hook-form';\nimport { EntityPageStateBIReporter } from './EntityPageStateBIReporter';\nimport { EventEmitter, TypedEmitter } from '@wix/bex-core/events';\nimport { WixPatternsRouterState } from '../WixPatternsRouterState';\nimport type { SidePanelsState } from '../SidePanelsState';\nimport type { CustomColumnsEntityPageState } from '../CustomColumnsEntityPageState';\n\ntype OnSaveParams = {\n widgetsFormData: { [key: string]: any };\n};\n\ninterface EntityPageStateParamsBase<T, V extends FieldValues = FieldValues> {\n /**\n * A function that fetches the entity data.\n * @returns a promise that resolves to an object containing the entity.\n */\n fetch: () => Promise<{ entity: T | undefined }>;\n\n /**\n * A function to handle the save action.\n * @returns promise that resolves to an object that contains a 'updatedEntity' object.\n */\n onSave: (params: OnSaveParams) => Promise<{ updatedEntity: T }>;\n\n /**\n * An optional object with an optional message, or it can directly get a string message.\n */\n saveSuccessToast?: { message?: string } | string;\n\n /**\n * An optional function to display an error toast message when a save operation fails.\n * @returns An object with a `message` and an `action` object. Alternatively, it can return an object with an optional `message` and a `tryAgain` flag, or a string message.\n * The previous return types are still supported but are now deprecated.\n */\n saveErrorToast?: (\n err: unknown,\n params: { retry: () => void },\n ) =>\n | {\n message?: string;\n /**\n * @deprecated use `action` instead\n */\n tryAgain?: boolean;\n action?: { text: string; onClick: () => void };\n }\n | string;\n\n /**\n * An optional function to transform the updated entity data before it is passed to the collection page.\n * @param entity the updated entity.\n * @returns an object representing the entity in the collection page.\n */\n transformEntityToCollectionItem?: (entity: T) => any;\n\n form: UseFormReturn<V>;\n /**\n * An object representing the container, possibly for dependency injection or component management.\n */\n container: WixPatternsContainer;\n\n /**\n * A string representing the ID of the parent page.\n * Must be passed if not using Patterns Router\n */\n parentPageId?: string;\n\n /**\n * A string representing the path of the parent page.\n * Must be passed if using Patterns Router\n */\n parentPath?: string;\n\n /**\n * An object representing the router state\n */\n routerState?: WixPatternsRouterState | null;\n\n /**\n * An optional object to override the actions bar.\n */\n actionsBarConfig?: ActionsBarConfig;\n\n /**\n * An optional schema source describing how to load the schema and access\n * the entity's data. When present, the page can read fields from the source\n * instead of relying only on hand-wired fetch/onSave callbacks.\n */\n schemaSource?: SchemaSource<T>;\n}\n\nexport type EntityPageStateParams<\n T,\n V extends FieldValues = FieldValues,\n> = EntityPageStateParamsBase<T, V>;\n\nexport interface EntityPageStateInterface {}\n\nexport interface EntityPageWidgetState {\n validate: () => Promise<{ isValid: boolean; values?: any }>;\n isDirty: boolean;\n}\n\nexport class EntityPageState<T, V extends FieldValues = FieldValues>\n implements EntityPageStateInterface\n{\n readonly fetch: EntityPageStateParams<T>['fetch'];\n readonly onSave: EntityPageStateParams<T, V>['onSave'];\n readonly saveSuccessToast?: EntityPageStateParams<T>['saveSuccessToast'];\n readonly saveErrorToast?: EntityPageStateParams<T>['saveErrorToast'];\n readonly transformEntityToCollectionItem: (entity: T) => any;\n\n _entity: T | null = null;\n _schema: Schema | null = null;\n private readonly _parentPageId?: string;\n private readonly _parentPath?: string;\n\n actionsBarConfig?: EntityPageStateParams<T>['actionsBarConfig'];\n\n /**\n * The page's side-panel host, the way a table's lives on its toolbar.\n * Attached by the first feature that needs one, through\n * `SidePanelsState.setOnPage` — so a page with no panels neither builds nor\n * bundles the side-panel code. Everything on the page shares this host, which\n * is what keeps one panel open at a time.\n */\n panels: SidePanelsState | null = null;\n\n /** The fields card's \"Manage fields\" state, set by the card that owns it —\n * the panel is rendered by the host with no props and reads it from here,\n * as a table's panel reads `toolbar.customColumnsState`. */\n customColumnsState: CustomColumnsEntityPageState | null = null;\n\n readonly schemaSource?: SchemaSource<T>;\n\n /**\n * The container the page's field renderers are built with — the one the schema\n * carries, so a table on the same schema shares it. Initialized in `init()`\n * below, next to the schema load the fields also wait on; the schema-entry\n * EntityPage puts it in React context.\n */\n get fieldsContainer(): PatternsFieldsAppContainer | undefined {\n return fieldsContainerOf(this.schemaSource);\n }\n\n readonly container: WixPatternsContainer;\n readonly reportBI: ReportBI;\n readonly bi: EntityPageStateBIReporter<T, V>;\n\n _routerState: WixPatternsRouterState | null = null;\n\n readonly formPage: FormPageState<V>;\n\n readonly events = new EventEmitter() as TypedEmitter<{\n save: () => void;\n saveError: (err: unknown) => void;\n }>;\n\n constructor(params: EntityPageStateParams<T, V>) {\n this.fetch = params.fetch;\n this.onSave = params.onSave;\n this.saveSuccessToast = params.saveSuccessToast;\n this.saveErrorToast = params.saveErrorToast;\n this.formPage = new FormPageState<V>({ form: params.form });\n this._parentPageId = params.parentPageId;\n this.transformEntityToCollectionItem =\n params.transformEntityToCollectionItem || ((anEntity: T) => anEntity);\n this._parentPath = params.parentPath;\n this.schemaSource = params.schemaSource;\n\n this.container = params.container;\n\n this._routerState = params.routerState ?? null;\n\n if (this._routerState) {\n this._entity = this._routerState.currentState?._chosenEntity?.entity;\n }\n\n this.reportBI = this.container.createBILogger({\n componentType: 'Entity page',\n pageType: 'Entity',\n route: window.location.pathname,\n });\n\n this.bi = new EntityPageStateBIReporter({\n reportBI: this.reportBI,\n entityPageState: this,\n });\n this.bi.init();\n\n makeObservable(this, {\n handleSubmit: action,\n _entity: observable.ref,\n setEntity: action,\n _schema: observable.ref,\n setSchema: action,\n customColumnsState: observable.ref,\n isFormDirty: computed,\n _withinRouter: computed,\n });\n }\n\n init() {\n this._checkPageParams();\n const {\n formPage: { initTask },\n container,\n } = this;\n const { onBeforeUnload } = container;\n\n const onBeforeUnloadSubscription = onBeforeUnload?.(\n action((event: Event) => {\n if (isMobileDevice()) {\n return;\n }\n\n const { form } = this;\n // Check both react-hook-form's state AND the explicitly set flag\n if (\n form.formState.isSubmitSuccessful ||\n this.formPage._isSubmitSuccessful ||\n !this.isFormDirty\n ) {\n return;\n }\n event.preventDefault();\n this.bi.reportOnBeforeUnload();\n }),\n );\n\n initTask.runOnce(async () => {\n // The field renderers can't translate until this resolves, so the page\n // waits on it alongside the fetch. Idempotent.\n this.fieldsContainer?.init();\n\n const [data, loadedSchema] = await Promise.all([\n this.fetch(),\n this.schemaSource?.loadSchema(),\n container.initTask.status.promise,\n this.fieldsContainer?.initTask.status.promise,\n ]);\n\n this.setEntity(data.entity ?? null);\n // Don't overwrite a schema something already set. A fields card mirrors the\n // schema its field mutations merge into, and `loadSchema` is memoized — so\n // setting it here again would put the pre-mutation fields map back and drop\n // a field the server already has. Nothing is lost by keeping the newer one:\n // this only ever re-sets the very same object (e.g. on `retryFetch`).\n if (loadedSchema && !this.schema) {\n this.setSchema(loadedSchema.schema);\n }\n this.bi.appLoaded?.();\n });\n\n return () => {\n onBeforeUnloadSubscription?.remove();\n };\n }\n\n retryFetch() {\n this.formPage.retryFetch();\n }\n\n setEntity(newEntity: T | null) {\n this._entity = newEntity;\n }\n\n get entity(): T | null {\n return this._entity;\n }\n\n setSchema(schema: Schema | null) {\n this._schema = schema;\n }\n\n get schema(): Schema | null {\n return this._schema;\n }\n\n get isFetching() {\n return this.formPage.isFetching;\n }\n\n get form() {\n return this.formPage.form;\n }\n\n set isSubmitSuccessful(flag: boolean) {\n this.formPage.isSubmitSuccessful = flag;\n }\n\n get isFormDirty() {\n return this.formPage.isDirty;\n }\n\n // backwards compatibility\n set _isFormDirty(val: boolean) {\n this.formPage._isFormDirty = val;\n }\n\n get _withinRouter() {\n return !!this._routerState;\n }\n\n onCancel() {\n this.bi.reportButtonClick({\n ctaName: 'Cancel',\n additionalInfo: this.actionsBarConfig?.cancelCta?.biAdditionalInfo,\n });\n this.navigateToParent();\n }\n\n navigateToParent(updatedEntity?: any) {\n const entityStringKey = this._entity ? '_updatedEntity' : '_createdEntity';\n const entityObject = { [entityStringKey]: updatedEntity };\n\n if (this._withinRouter) {\n this._routerState!.navigate(this._parentPath!, { state: entityObject });\n } else {\n this.container.navigateTo!({\n pageId: this._parentPageId!,\n });\n }\n }\n\n _showErrorToast(err: any, e?: React.BaseSyntheticEvent) {\n const errorToast = this.saveErrorToast?.(err, {\n retry: () => this.handleSubmit(e),\n });\n const message =\n typeof errorToast === 'string' ? errorToast : errorToast?.message;\n const showTryAgain =\n typeof errorToast === 'string' ? true : errorToast?.tryAgain !== false;\n const action =\n typeof errorToast === 'string' ? undefined : errorToast?.action;\n\n this.container.showToast?.({\n type: 'ERROR',\n biName: 'cairo-entity-page-save-error-toast',\n message:\n message ??\n this.container.translate(\n err?.code === 'ERR_NETWORK'\n ? 'cairo.entityPage.saveError-offline.toast.description'\n : 'cairo.entityPage.saveError-technical.toast.description',\n ),\n action:\n action || showTryAgain\n ? {\n uiType: 'LINK',\n text:\n action?.text ?? this.container.translate('cairo.toast.retry'),\n onClick: () => {\n if (action?.onClick) {\n action.onClick();\n } else {\n this.bi.reportSaveTryAgain();\n this.handleSubmit(e);\n }\n },\n removeToastOnClick: true,\n }\n : undefined,\n });\n }\n\n _showSuccessToast() {\n const message =\n typeof this.saveSuccessToast === 'string'\n ? this.saveSuccessToast\n : this.saveSuccessToast?.message;\n\n this.container.showToast?.({\n type: 'SUCCESS',\n biName: 'cairo-entity-page-save-success-toast',\n message:\n message ?? this.container.translate('cairo.entityPage.success.toast'),\n });\n }\n\n async handleSubmit(e?: React.BaseSyntheticEvent) {\n if (this.formPage.submitTask.status.isLoading) {\n return;\n }\n\n this.events.emit('save');\n\n const { isValid, data: widgetsFormData } = await this.formPage.validate();\n\n if (!isValid) {\n this.bi.reportButtonClick({\n ctaName: 'Save',\n isValid: false,\n additionalInfo: this.actionsBarConfig?.saveCta?.biAdditionalInfo,\n });\n return;\n }\n\n const {\n form,\n formPage: { submitTask },\n bi,\n } = this;\n\n submitTask.run(async () => {\n let savedEntity: T | undefined;\n let submitSuccessful = false;\n\n await form.handleSubmit(\n async () => {\n bi.reportButtonClick({\n ctaName: 'Save',\n isValid: true,\n additionalInfo: this.actionsBarConfig?.saveCta?.biAdditionalInfo,\n });\n try {\n if (!this.isFetching) {\n const onSaveResult = await this.onSave({\n widgetsFormData,\n });\n savedEntity = onSaveResult?.updatedEntity;\n }\n this._showSuccessToast();\n submitSuccessful = true; // Mark as successful locally\n // Explicitly set isSubmitSuccessful to prevent onBeforeUnload from triggering\n this.isSubmitSuccessful = true;\n } catch (err) {\n this._showErrorToast(err, e);\n this.container.errorMonitor.captureException(err);\n this.events.emit('saveError', err);\n form.setError('root.serverError', {}); // https://react-hook-form.com/docs/useform/seterror\n }\n },\n () => {\n bi.reportButtonClick({\n ctaName: 'Save',\n isValid: false,\n additionalInfo: this.actionsBarConfig?.saveCta?.biAdditionalInfo,\n });\n }, // can be used to report validation errors\n )(e);\n\n if (!submitSuccessful) {\n return;\n }\n const transformedItem =\n savedEntity && this.transformEntityToCollectionItem\n ? this.transformEntityToCollectionItem(savedEntity)\n : savedEntity;\n this.navigateToParent(transformedItem);\n });\n await this.formPage.submitTask.status.promise;\n }\n\n get initTask() {\n return this.formPage.initTask;\n }\n\n get submitTask() {\n return this.formPage.submitTask;\n }\n\n private _checkPageParams() {\n if (this._withinRouter) {\n if (this._parentPath === undefined) {\n throw new Error('parentPath was not defined in useEntityPage');\n }\n } else {\n if (this._parentPageId === undefined) {\n throw new Error('parentPageId was not defined in useEntityPage');\n }\n\n if (!this.container.navigateTo) {\n throw new Error('navigateTo was not defined in Patterns Provider');\n }\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}