@wix/patterns 1.498.0 → 1.500.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 (593) hide show
  1. package/dist/cjs/components/CardContainer/CardContainer.st.css.js +2 -2
  2. package/dist/cjs/components/CardContainer/CardContainer.st.css.js.map +1 -1
  3. package/dist/cjs/components/CmsFieldManagement/CmsFieldForm.st.css.js +3 -3
  4. package/dist/cjs/components/CmsFieldManagement/CmsFieldForm.st.css.js.map +1 -1
  5. package/dist/cjs/components/CmsFieldManagement/CmsFieldModal.st.css.js +3 -3
  6. package/dist/cjs/components/CmsFieldManagement/CmsFieldModal.st.css.js.map +1 -1
  7. package/dist/cjs/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js +3 -3
  8. package/dist/cjs/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js.map +1 -1
  9. package/dist/cjs/components/Collapse/Collapse.st.css.js +3 -3
  10. package/dist/cjs/components/Collapse/Collapse.st.css.js.map +1 -1
  11. package/dist/cjs/components/CollectionItemActions/CollectionItemActionsHelper.js +2 -2
  12. package/dist/cjs/components/CollectionItemActions/CollectionItemActionsHelper.js.map +1 -1
  13. package/dist/cjs/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
  14. package/dist/cjs/components/CollectionPageNew/CollectionPage.st.css.js.map +1 -1
  15. package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +3 -3
  16. package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js.map +1 -1
  17. package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js +2 -2
  18. package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js.map +1 -1
  19. package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.st.css.js +2 -2
  20. package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.st.css.js.map +1 -1
  21. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js +5 -5
  22. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js.map +1 -1
  23. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +4 -4
  24. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
  25. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  26. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
  27. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  28. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
  29. package/dist/cjs/components/CustomColumnsPanel/ColumnListTableListItem.js +24 -27
  30. package/dist/cjs/components/CustomColumnsPanel/ColumnListTableListItem.js.map +1 -1
  31. package/dist/cjs/components/CustomFieldModal/CustomFieldCollectionInput.js +30 -15
  32. package/dist/cjs/components/CustomFieldModal/CustomFieldCollectionInput.js.map +1 -1
  33. package/dist/cjs/components/CustomFieldModal/CustomFieldFormPiiFields.st.css.js +3 -3
  34. package/dist/cjs/components/CustomFieldModal/CustomFieldFormPiiFields.st.css.js.map +1 -1
  35. package/dist/cjs/components/DragHandle/DragHandle.st.css.js +2 -2
  36. package/dist/cjs/components/DragHandle/DragHandle.st.css.js.map +1 -1
  37. package/dist/cjs/components/EditableTable/EditableCell.st.css.js +6 -6
  38. package/dist/cjs/components/EditableTable/EditableCell.st.css.js.map +1 -1
  39. package/dist/cjs/components/EditableTable/HeaderActionsPopover.st.css.js +2 -2
  40. package/dist/cjs/components/EditableTable/HeaderActionsPopover.st.css.js.map +1 -1
  41. package/dist/cjs/components/EditableTable/cellTypes/CellViewLayout.st.css.js +2 -2
  42. package/dist/cjs/components/EditableTable/cellTypes/CellViewLayout.st.css.js.map +1 -1
  43. package/dist/cjs/components/EditableTable/cellTypes/JsonInputEdit.st.css.js +3 -3
  44. package/dist/cjs/components/EditableTable/cellTypes/JsonInputEdit.st.css.js.map +1 -1
  45. package/dist/cjs/components/EditableTable/cellTypes/address/Edit.st.css.js +3 -3
  46. package/dist/cjs/components/EditableTable/cellTypes/address/Edit.st.css.js.map +1 -1
  47. package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js +3 -3
  48. package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js.map +1 -1
  49. package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js +3 -3
  50. package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js.map +1 -1
  51. package/dist/cjs/components/EditableTable/cellTypes/color/Edit.st.css.js +2 -2
  52. package/dist/cjs/components/EditableTable/cellTypes/color/Edit.st.css.js.map +1 -1
  53. package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js +3 -3
  54. package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js.map +1 -1
  55. package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
  56. package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js.map +1 -1
  57. package/dist/cjs/components/EditableTable/cellTypes/datetime/Edit.st.css.js +8 -8
  58. package/dist/cjs/components/EditableTable/cellTypes/datetime/Edit.st.css.js.map +1 -1
  59. package/dist/cjs/components/EditableTable/cellTypes/datetime/View.st.css.js +7 -7
  60. package/dist/cjs/components/EditableTable/cellTypes/datetime/View.st.css.js.map +1 -1
  61. package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js +3 -3
  62. package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js.map +1 -1
  63. package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
  64. package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js.map +1 -1
  65. package/dist/cjs/components/EditableTable/cellTypes/mediaImage/Edit.st.css.js +2 -2
  66. package/dist/cjs/components/EditableTable/cellTypes/mediaImage/Edit.st.css.js.map +1 -1
  67. package/dist/cjs/components/EditableTable/cellTypes/mediaImage/index.js +1 -10
  68. package/dist/cjs/components/EditableTable/cellTypes/mediaImage/index.js.map +1 -1
  69. package/dist/cjs/components/EditableTable/cellTypes/multiDocument/Edit.st.css.js +3 -3
  70. package/dist/cjs/components/EditableTable/cellTypes/multiDocument/Edit.st.css.js.map +1 -1
  71. package/dist/cjs/components/EditableTable/cellTypes/multiReference/Edit.js +2 -2
  72. package/dist/cjs/components/EditableTable/cellTypes/multiReference/Edit.js.map +1 -1
  73. package/dist/cjs/components/EditableTable/cellTypes/multiReference/View.js +2 -2
  74. package/dist/cjs/components/EditableTable/cellTypes/multiReference/View.js.map +1 -1
  75. package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js +3 -3
  76. package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js.map +1 -1
  77. package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js +3 -3
  78. package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js.map +1 -1
  79. package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
  80. package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js.map +1 -1
  81. package/dist/cjs/components/EditableTable/cellTypes/reference/Edit.js +2 -2
  82. package/dist/cjs/components/EditableTable/cellTypes/reference/Edit.js.map +1 -1
  83. package/dist/cjs/components/EditableTable/cellTypes/reference/EmptyReferenceView.st.css.js +6 -6
  84. package/dist/cjs/components/EditableTable/cellTypes/reference/EmptyReferenceView.st.css.js.map +1 -1
  85. package/dist/cjs/components/EditableTable/cellTypes/reference/View.js +5 -5
  86. package/dist/cjs/components/EditableTable/cellTypes/reference/View.js.map +1 -1
  87. package/dist/cjs/components/EditableTable/cellTypes/reference/types.js.map +1 -1
  88. package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js +3 -3
  89. package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js.map +1 -1
  90. package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js +4 -4
  91. package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js.map +1 -1
  92. package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js +2 -2
  93. package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js.map +1 -1
  94. package/dist/cjs/components/EditableTable/cellTypes/time/Edit.st.css.js +4 -4
  95. package/dist/cjs/components/EditableTable/cellTypes/time/Edit.st.css.js.map +1 -1
  96. package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js +3 -3
  97. package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js.map +1 -1
  98. package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js +5 -5
  99. package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js.map +1 -1
  100. package/dist/cjs/components/EmptyState/EmptyStateBase.st.css.js +2 -2
  101. package/dist/cjs/components/EmptyState/EmptyStateBase.st.css.js.map +1 -1
  102. package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js +2 -2
  103. package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js.map +1 -1
  104. package/dist/cjs/components/EntityPageFields/EntityPageField.st.css.js +3 -3
  105. package/dist/cjs/components/EntityPageFields/EntityPageField.st.css.js.map +1 -1
  106. package/dist/cjs/components/EntityPageFields/EntityPageReferenceField.js +6 -5
  107. package/dist/cjs/components/EntityPageFields/EntityPageReferenceField.js.map +1 -1
  108. package/dist/cjs/components/EntityPageFields/EntityPageReferenceValue.js +7 -6
  109. package/dist/cjs/components/EntityPageFields/EntityPageReferenceValue.js.map +1 -1
  110. package/dist/cjs/components/EntityPageFields/EntityPageReferenceValue.st.css.js +2 -2
  111. package/dist/cjs/components/EntityPageFields/EntityPageReferenceValue.st.css.js.map +1 -1
  112. package/dist/cjs/components/EntityPageFields/useReferencedSchema.js +0 -6
  113. package/dist/cjs/components/EntityPageFields/useReferencedSchema.js.map +1 -1
  114. package/dist/cjs/components/Fade/Fade.st.css.js +2 -2
  115. package/dist/cjs/components/Fade/Fade.st.css.js.map +1 -1
  116. package/dist/cjs/components/Grid/GridSingleGridContent.js +7 -4
  117. package/dist/cjs/components/Grid/GridSingleGridContent.js.map +1 -1
  118. package/dist/cjs/components/GridSections/GridSectionsContent.js +5 -4
  119. package/dist/cjs/components/GridSections/GridSectionsContent.js.map +1 -1
  120. package/dist/cjs/components/Heading/Heading.st.css.js +2 -2
  121. package/dist/cjs/components/Heading/Heading.st.css.js.map +1 -1
  122. package/dist/cjs/components/ImportButton/ImportButtonModalLayout.js +49 -15
  123. package/dist/cjs/components/ImportButton/ImportButtonModalLayout.js.map +1 -1
  124. package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js +3 -3
  125. package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js.map +1 -1
  126. package/dist/cjs/components/ImportButton/SchemaImportFieldEditor.js +2 -13
  127. package/dist/cjs/components/ImportButton/SchemaImportFieldEditor.js.map +1 -1
  128. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js +2 -2
  129. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
  130. package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js +3 -3
  131. package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js.map +1 -1
  132. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  133. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
  134. package/dist/cjs/components/MaxLines/MaxLines.st.css.js +2 -2
  135. package/dist/cjs/components/MaxLines/MaxLines.st.css.js.map +1 -1
  136. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +5 -5
  137. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
  138. package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  139. package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
  140. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js +5 -5
  141. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
  142. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
  143. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
  144. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
  145. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
  146. package/dist/cjs/components/PickerContent/PickerContent.st.css.js +2 -2
  147. package/dist/cjs/components/PickerContent/PickerContent.st.css.js.map +1 -1
  148. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js +4 -4
  149. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
  150. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  151. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
  152. package/dist/cjs/components/PrimaryActions/PrimaryActions.js +1 -1
  153. package/dist/cjs/components/PrimaryActions/PrimaryActions.js.map +1 -1
  154. package/dist/cjs/components/SchemaSource/ReferenceFieldCell.js +7 -7
  155. package/dist/cjs/components/SchemaSource/ReferenceFieldCell.js.map +1 -1
  156. package/dist/cjs/components/SchemaSource/referenceCells.js +3 -8
  157. package/dist/cjs/components/SchemaSource/referenceCells.js.map +1 -1
  158. package/dist/cjs/components/SchemaSource/schemaFieldActions.js +15 -1
  159. package/dist/cjs/components/SchemaSource/schemaFieldActions.js.map +1 -1
  160. package/dist/cjs/components/SchemaSource/schemaFieldManagement.js.map +1 -1
  161. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  162. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
  163. package/dist/cjs/components/SetupWidget/SetupWidget.st.css.js +10 -10
  164. package/dist/cjs/components/SetupWidget/SetupWidget.st.css.js.map +1 -1
  165. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js +3 -3
  166. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
  167. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js +2 -2
  168. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
  169. package/dist/cjs/components/Table/AddFieldColumnHeader.st.css.js +6 -6
  170. package/dist/cjs/components/Table/AddFieldColumnHeader.st.css.js.map +1 -1
  171. package/dist/cjs/components/Table/NumberCell.st.css.js +2 -2
  172. package/dist/cjs/components/Table/NumberCell.st.css.js.map +1 -1
  173. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js +3 -3
  174. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
  175. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  176. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
  177. package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
  178. package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js.map +1 -1
  179. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  180. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
  181. package/dist/cjs/components/common.st.css.js +4 -4
  182. package/dist/cjs/components/common.st.css.js.map +1 -1
  183. package/dist/cjs/exports/schema.js.map +1 -1
  184. package/dist/cjs/index.js.map +1 -1
  185. package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js +3 -3
  186. package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js.map +1 -1
  187. package/dist/cjs/state/CollectionPage/MobilePrimaryActionBar.st.css.js +2 -2
  188. package/dist/cjs/state/CollectionPage/MobilePrimaryActionBar.st.css.js.map +1 -1
  189. package/dist/cjs/state/CollectionPage/TitleBadges.st.css.js +4 -4
  190. package/dist/cjs/state/CollectionPage/TitleBadges.st.css.js.map +1 -1
  191. package/dist/cjs/state/CustomColumnsEntityPageState.js +30 -2
  192. package/dist/cjs/state/CustomColumnsEntityPageState.js.map +1 -1
  193. package/dist/cjs/state/CustomColumnsPanelStateBase.js.map +1 -1
  194. package/dist/cjs/state/CustomColumnsState.js +18 -6
  195. package/dist/cjs/state/CustomColumnsState.js.map +1 -1
  196. package/dist/cjs/state/EditableTable/CellValueState.js +154 -7
  197. package/dist/cjs/state/EditableTable/CellValueState.js.map +1 -1
  198. package/dist/cjs/state/EditableTable/ClipboardState.js +30 -14
  199. package/dist/cjs/state/EditableTable/ClipboardState.js.map +1 -1
  200. package/dist/cjs/state/EditableTable/EditableTableState.js +1 -1
  201. package/dist/cjs/state/EditableTable/EditableTableState.js.map +1 -1
  202. package/dist/cjs/state/EditableTable/MutationState.js +31 -7
  203. package/dist/cjs/state/EditableTable/MutationState.js.map +1 -1
  204. package/dist/cjs/state/EntityPage/EntityPageState.js +24 -0
  205. package/dist/cjs/state/EntityPage/EntityPageState.js.map +1 -1
  206. package/dist/cjs/state/EntityPage/EntityPageStateBIReporter.js +55 -2
  207. package/dist/cjs/state/EntityPage/EntityPageStateBIReporter.js.map +1 -1
  208. package/dist/cjs/state/FormPage/FormPageHeader.st.css.js +2 -2
  209. package/dist/cjs/state/FormPage/FormPageHeader.st.css.js.map +1 -1
  210. package/dist/cjs/state/NestedTableState/NestedTableNestedModeState.js +1 -1
  211. package/dist/cjs/state/NestedTableState/NestedTableNestedModeState.js.map +1 -1
  212. package/dist/cjs/state/OperatorFilterPickerState.js +2 -1
  213. package/dist/cjs/state/OperatorFilterPickerState.js.map +1 -1
  214. package/dist/cjs/styles.global.css +2 -2
  215. package/dist/cjs/utils/referenceImage.js +35 -0
  216. package/dist/cjs/utils/referenceImage.js.map +1 -0
  217. package/dist/cjs/version.js +1 -1
  218. package/dist/cjs/version.js.map +1 -1
  219. package/dist/docs/CustomFieldType.md +25 -0
  220. package/dist/docs/Explore Apps.md +1 -0
  221. package/dist/docs/ImportButton.md +3 -1
  222. package/dist/docs/Settings Page Template.md +1 -1
  223. package/dist/docs/Table.md +3 -1
  224. package/dist/docs/useGridCollection.md +1 -0
  225. package/dist/docs/useTableCollection.md +16 -1
  226. package/dist/docs/useTableGridSwitchCollection.md +1 -0
  227. package/dist/dts-bundle/components/EditableTable.d.ts +4 -3
  228. package/dist/dts-bundle/components/LayoutSwitch.d.ts +4 -3
  229. package/dist/dts-bundle/hooks/usePickerModal.d.ts +9 -0
  230. package/dist/dts-bundle/index.json +29 -29
  231. package/dist/dts-bundle/index.txt +7 -7
  232. package/dist/dts-bundle/types/CellType.d.ts +13 -3
  233. package/dist/dts-bundle/types/SchemaSource.d.ts +6 -1
  234. package/dist/dts-bundle/types/SchemaSourceInput.d.ts +6 -1
  235. package/dist/dts-bundle/types/UseCmsSchemaSourceDeps.d.ts +6 -1
  236. package/dist/esm/components/CardContainer/CardContainer.st.css.js +2 -2
  237. package/dist/esm/components/CmsFieldManagement/CmsFieldForm.st.css.js +2 -2
  238. package/dist/esm/components/CmsFieldManagement/CmsFieldModal.st.css.js +2 -2
  239. package/dist/esm/components/CmsFieldManagement/CmsFieldModal.st.css.js.map +1 -1
  240. package/dist/esm/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js +2 -2
  241. package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
  242. package/dist/esm/components/Collapse/Collapse.st.css.js.map +1 -1
  243. package/dist/esm/components/CollectionItemActions/CollectionItemActionsHelper.js +8 -2
  244. package/dist/esm/components/CollectionItemActions/CollectionItemActionsHelper.js.map +1 -1
  245. package/dist/esm/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
  246. package/dist/esm/components/CollectionPageNew/CollectionPage.st.css.js.map +1 -1
  247. package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +2 -2
  248. package/dist/esm/components/CollectionTable/CollectionTable.st.css.js +2 -2
  249. package/dist/esm/components/CollectionTable/CollectionTable.st.css.js.map +1 -1
  250. package/dist/esm/components/CollectionTable/CollectionTableWSRTable.st.css.js +2 -2
  251. package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
  252. package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js.map +1 -1
  253. package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
  254. package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  255. package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
  256. package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  257. package/dist/esm/components/CustomColumnsPanel/ColumnListTableListItem.js +12 -13
  258. package/dist/esm/components/CustomColumnsPanel/ColumnListTableListItem.js.map +1 -1
  259. package/dist/esm/components/CustomFieldModal/CustomFieldCollectionInput.js +31 -10
  260. package/dist/esm/components/CustomFieldModal/CustomFieldCollectionInput.js.map +1 -1
  261. package/dist/esm/components/CustomFieldModal/CustomFieldFormPiiFields.st.css.js +2 -2
  262. package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
  263. package/dist/esm/components/EditableTable/EditableCell.st.css.js +2 -2
  264. package/dist/esm/components/EditableTable/EditableCell.st.css.js.map +1 -1
  265. package/dist/esm/components/EditableTable/HeaderActionsPopover.st.css.js +2 -2
  266. package/dist/esm/components/EditableTable/HeaderActionsPopover.st.css.js.map +1 -1
  267. package/dist/esm/components/EditableTable/cellTypes/CellViewLayout.st.css.js +2 -2
  268. package/dist/esm/components/EditableTable/cellTypes/JsonInputEdit.st.css.js +2 -2
  269. package/dist/esm/components/EditableTable/cellTypes/address/Edit.st.css.js +2 -2
  270. package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.st.css.js +2 -2
  271. package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.st.css.js.map +1 -1
  272. package/dist/esm/components/EditableTable/cellTypes/boolean/View.st.css.js +2 -2
  273. package/dist/esm/components/EditableTable/cellTypes/color/Edit.st.css.js +2 -2
  274. package/dist/esm/components/EditableTable/cellTypes/date/Edit.st.css.js +2 -2
  275. package/dist/esm/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
  276. package/dist/esm/components/EditableTable/cellTypes/date/View.st.css.js.map +1 -1
  277. package/dist/esm/components/EditableTable/cellTypes/datetime/Edit.st.css.js +2 -2
  278. package/dist/esm/components/EditableTable/cellTypes/datetime/Edit.st.css.js.map +1 -1
  279. package/dist/esm/components/EditableTable/cellTypes/datetime/View.st.css.js +2 -2
  280. package/dist/esm/components/EditableTable/cellTypes/email/Edit.st.css.js +2 -2
  281. package/dist/esm/components/EditableTable/cellTypes/email/Edit.st.css.js.map +1 -1
  282. package/dist/esm/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
  283. package/dist/esm/components/EditableTable/cellTypes/mediaImage/Edit.st.css.js +2 -2
  284. package/dist/esm/components/EditableTable/cellTypes/mediaImage/index.js +2 -11
  285. package/dist/esm/components/EditableTable/cellTypes/mediaImage/index.js.map +1 -1
  286. package/dist/esm/components/EditableTable/cellTypes/multiDocument/Edit.st.css.js +2 -2
  287. package/dist/esm/components/EditableTable/cellTypes/multiReference/Edit.js +1 -1
  288. package/dist/esm/components/EditableTable/cellTypes/multiReference/Edit.js.map +1 -1
  289. package/dist/esm/components/EditableTable/cellTypes/multiReference/View.js +1 -1
  290. package/dist/esm/components/EditableTable/cellTypes/multiReference/View.js.map +1 -1
  291. package/dist/esm/components/EditableTable/cellTypes/number/Edit.st.css.js +2 -2
  292. package/dist/esm/components/EditableTable/cellTypes/number/Edit.st.css.js.map +1 -1
  293. package/dist/esm/components/EditableTable/cellTypes/number/View.st.css.js +2 -2
  294. package/dist/esm/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
  295. package/dist/esm/components/EditableTable/cellTypes/reference/Edit.js +1 -1
  296. package/dist/esm/components/EditableTable/cellTypes/reference/Edit.js.map +1 -1
  297. package/dist/esm/components/EditableTable/cellTypes/reference/EmptyReferenceView.st.css.js +2 -2
  298. package/dist/esm/components/EditableTable/cellTypes/reference/View.js +3 -5
  299. package/dist/esm/components/EditableTable/cellTypes/reference/View.js.map +1 -1
  300. package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css.js +2 -2
  301. package/dist/esm/components/EditableTable/cellTypes/text/Edit.st.css.js +2 -2
  302. package/dist/esm/components/EditableTable/cellTypes/text/View.st.css.js +2 -2
  303. package/dist/esm/components/EditableTable/cellTypes/time/Edit.st.css.js +2 -2
  304. package/dist/esm/components/EditableTable/cellTypes/url/Edit.st.css.js +2 -2
  305. package/dist/esm/components/EditableTable/cellTypes/url/View.st.css.js +2 -2
  306. package/dist/esm/components/EmptyState/EmptyStateBase.st.css.js +2 -2
  307. package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js +2 -2
  308. package/dist/esm/components/EntityPageFields/EntityPageField.st.css.js +2 -2
  309. package/dist/esm/components/EntityPageFields/EntityPageReferenceField.js +4 -5
  310. package/dist/esm/components/EntityPageFields/EntityPageReferenceField.js.map +1 -1
  311. package/dist/esm/components/EntityPageFields/EntityPageReferenceValue.js +5 -6
  312. package/dist/esm/components/EntityPageFields/EntityPageReferenceValue.js.map +1 -1
  313. package/dist/esm/components/EntityPageFields/EntityPageReferenceValue.st.css.js +2 -2
  314. package/dist/esm/components/EntityPageFields/useReferencedSchema.js +0 -1
  315. package/dist/esm/components/EntityPageFields/useReferencedSchema.js.map +1 -1
  316. package/dist/esm/components/Fade/Fade.st.css.js +2 -2
  317. package/dist/esm/components/Grid/GridSingleGridContent.js +5 -2
  318. package/dist/esm/components/Grid/GridSingleGridContent.js.map +1 -1
  319. package/dist/esm/components/GridSections/GridSectionsContent.js +2 -1
  320. package/dist/esm/components/GridSections/GridSectionsContent.js.map +1 -1
  321. package/dist/esm/components/Heading/Heading.st.css.js +2 -2
  322. package/dist/esm/components/Heading/Heading.st.css.js.map +1 -1
  323. package/dist/esm/components/ImportButton/ImportButtonModalLayout.js +35 -2
  324. package/dist/esm/components/ImportButton/ImportButtonModalLayout.js.map +1 -1
  325. package/dist/esm/components/ImportButton/ImportStepUpload.st.css.js +2 -2
  326. package/dist/esm/components/ImportButton/ImportStepUpload.st.css.js.map +1 -1
  327. package/dist/esm/components/ImportButton/SchemaImportFieldEditor.js +2 -12
  328. package/dist/esm/components/ImportButton/SchemaImportFieldEditor.js.map +1 -1
  329. package/dist/esm/components/InputOverflow/InputOverflow.st.css.js +2 -2
  330. package/dist/esm/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
  331. package/dist/esm/components/LoadingRow/LoadingRow.st.css.js +3 -3
  332. package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  333. package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
  334. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
  335. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
  336. package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  337. package/dist/esm/components/NestedTable/NestedTableRow.st.css.js +2 -2
  338. package/dist/esm/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
  339. package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
  340. package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
  341. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
  342. package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
  343. package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js +2 -2
  344. package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
  345. package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  346. package/dist/esm/components/PrimaryActions/PrimaryActions.js +1 -1
  347. package/dist/esm/components/PrimaryActions/PrimaryActions.js.map +1 -1
  348. package/dist/esm/components/SchemaSource/ReferenceFieldCell.js +4 -5
  349. package/dist/esm/components/SchemaSource/ReferenceFieldCell.js.map +1 -1
  350. package/dist/esm/components/SchemaSource/referenceCells.js +3 -5
  351. package/dist/esm/components/SchemaSource/referenceCells.js.map +1 -1
  352. package/dist/esm/components/SchemaSource/schemaFieldActions.js +14 -2
  353. package/dist/esm/components/SchemaSource/schemaFieldActions.js.map +1 -1
  354. package/dist/esm/components/SchemaSource/schemaFieldManagement.js.map +1 -1
  355. package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  356. package/dist/esm/components/SetupWidget/SetupWidget.st.css.js +2 -2
  357. package/dist/esm/components/SetupWidget/SetupWidget.st.css.js.map +1 -1
  358. package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js +2 -2
  359. package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
  360. package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +2 -2
  361. package/dist/esm/components/Table/AddFieldColumnHeader.st.css.js +2 -2
  362. package/dist/esm/components/Table/AddFieldColumnHeader.st.css.js.map +1 -1
  363. package/dist/esm/components/Table/NumberCell.st.css.js +2 -2
  364. package/dist/esm/components/TabsFilter/TabsFilter.st.css.js +2 -2
  365. package/dist/esm/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
  366. package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  367. package/dist/esm/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
  368. package/dist/esm/components/ToolbarItem/ToolbarItem.st.css.js.map +1 -1
  369. package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  370. package/dist/esm/components/common.st.css.js +2 -2
  371. package/dist/esm/index.js.map +1 -1
  372. package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
  373. package/dist/esm/state/CollectionPage/MobilePrimaryActionBar.st.css.js +2 -2
  374. package/dist/esm/state/CollectionPage/TitleBadges.st.css.js +2 -2
  375. package/dist/esm/state/CustomColumnsEntityPageState.js +23 -2
  376. package/dist/esm/state/CustomColumnsEntityPageState.js.map +1 -1
  377. package/dist/esm/state/CustomColumnsPanelStateBase.js.map +1 -1
  378. package/dist/esm/state/CustomColumnsState.js +15 -6
  379. package/dist/esm/state/CustomColumnsState.js.map +1 -1
  380. package/dist/esm/state/EditableTable/CellValueState.js +146 -7
  381. package/dist/esm/state/EditableTable/CellValueState.js.map +1 -1
  382. package/dist/esm/state/EditableTable/ClipboardState.js +16 -15
  383. package/dist/esm/state/EditableTable/ClipboardState.js.map +1 -1
  384. package/dist/esm/state/EditableTable/EditableTableState.js +1 -1
  385. package/dist/esm/state/EditableTable/EditableTableState.js.map +1 -1
  386. package/dist/esm/state/EditableTable/MutationState.js +28 -7
  387. package/dist/esm/state/EditableTable/MutationState.js.map +1 -1
  388. package/dist/esm/state/EntityPage/EntityPageState.js +24 -0
  389. package/dist/esm/state/EntityPage/EntityPageState.js.map +1 -1
  390. package/dist/esm/state/EntityPage/EntityPageStateBIReporter.js +38 -1
  391. package/dist/esm/state/EntityPage/EntityPageStateBIReporter.js.map +1 -1
  392. package/dist/esm/state/FormPage/FormPageHeader.st.css.js +2 -2
  393. package/dist/esm/state/FormPage/FormPageHeader.st.css.js.map +1 -1
  394. package/dist/esm/state/NestedTableState/NestedTableNestedModeState.js +1 -1
  395. package/dist/esm/state/NestedTableState/NestedTableNestedModeState.js.map +1 -1
  396. package/dist/esm/state/OperatorFilterPickerState.js +1 -0
  397. package/dist/esm/state/OperatorFilterPickerState.js.map +1 -1
  398. package/dist/esm/styles.global.css +2 -2
  399. package/dist/esm/utils/referenceImage.js +20 -0
  400. package/dist/esm/utils/referenceImage.js.map +1 -0
  401. package/dist/esm/version.js +1 -1
  402. package/dist/examples/Table/mobile-columns.tsx +66 -98
  403. package/dist/templates/collection-entity/ItemEntityPage.tsx +4 -3
  404. package/dist/templates/settings-page/SettingsPageView.tsx +4 -3
  405. package/dist/types/components/CmsFieldManagement/CmsFieldModal.st.css.d.ts.map +1 -1
  406. package/dist/types/components/Collapse/Collapse.st.css.d.ts.map +1 -1
  407. package/dist/types/components/CollectionItemActions/CollectionItemActionsHelper.d.ts.map +1 -1
  408. package/dist/types/components/CollectionPageNew/CollectionPage.st.css.d.ts.map +1 -1
  409. package/dist/types/components/CollectionTable/CollectionTable.st.css.d.ts.map +1 -1
  410. package/dist/types/components/CollectionToolbar/CollectionToolbar.st.css.d.ts.map +1 -1
  411. package/dist/types/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.d.ts.map +1 -1
  412. package/dist/types/components/CustomColumnsPanel/ColumnListTableListItem.d.ts.map +1 -1
  413. package/dist/types/components/CustomFieldModal/CustomFieldCollectionInput.d.ts.map +1 -1
  414. package/dist/types/components/EditableTable/EditableCell.st.css.d.ts.map +1 -1
  415. package/dist/types/components/EditableTable/HeaderActionsPopover.st.css.d.ts.map +1 -1
  416. package/dist/types/components/EditableTable/cellTypes/boolean/Edit.st.css.d.ts.map +1 -1
  417. package/dist/types/components/EditableTable/cellTypes/date/View.st.css.d.ts.map +1 -1
  418. package/dist/types/components/EditableTable/cellTypes/datetime/Edit.st.css.d.ts.map +1 -1
  419. package/dist/types/components/EditableTable/cellTypes/email/Edit.st.css.d.ts.map +1 -1
  420. package/dist/types/components/EditableTable/cellTypes/mediaImage/index.d.ts.map +1 -1
  421. package/dist/types/components/EditableTable/cellTypes/number/Edit.st.css.d.ts.map +1 -1
  422. package/dist/types/components/EditableTable/cellTypes/reference/View.d.ts.map +1 -1
  423. package/dist/types/components/EditableTable/cellTypes/reference/types.d.ts +3 -3
  424. package/dist/types/components/EditableTable/cellTypes/reference/types.d.ts.map +1 -1
  425. package/dist/types/components/EntityPageFields/EntityPageReferenceField.d.ts.map +1 -1
  426. package/dist/types/components/EntityPageFields/EntityPageReferenceValue.d.ts.map +1 -1
  427. package/dist/types/components/EntityPageFields/useReferencedSchema.d.ts +0 -1
  428. package/dist/types/components/EntityPageFields/useReferencedSchema.d.ts.map +1 -1
  429. package/dist/types/components/Grid/GridSingleGridContent.d.ts +5 -1
  430. package/dist/types/components/Grid/GridSingleGridContent.d.ts.map +1 -1
  431. package/dist/types/components/GridSections/GridSectionsContent.d.ts.map +1 -1
  432. package/dist/types/components/Heading/Heading.st.css.d.ts.map +1 -1
  433. package/dist/types/components/ImportButton/ImportButtonModalLayout.d.ts.map +1 -1
  434. package/dist/types/components/ImportButton/ImportStepUpload.st.css.d.ts.map +1 -1
  435. package/dist/types/components/ImportButton/SchemaImportFieldEditor.d.ts.map +1 -1
  436. package/dist/types/components/InputOverflow/InputOverflow.st.css.d.ts.map +1 -1
  437. package/dist/types/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.d.ts.map +1 -1
  438. package/dist/types/components/NestedTable/NestedTableRow.st.css.d.ts.map +1 -1
  439. package/dist/types/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.d.ts.map +1 -1
  440. package/dist/types/components/PickerContent/PickerContentAdditionalStep.st.css.d.ts.map +1 -1
  441. package/dist/types/components/SchemaSource/ReferenceFieldCell.d.ts.map +1 -1
  442. package/dist/types/components/SchemaSource/referenceCells.d.ts.map +1 -1
  443. package/dist/types/components/SchemaSource/schemaFieldActions.d.ts.map +1 -1
  444. package/dist/types/components/SchemaSource/schemaFieldManagement.d.ts.map +1 -1
  445. package/dist/types/components/SetupWidget/SetupWidget.st.css.d.ts.map +1 -1
  446. package/dist/types/components/SkeletonCard/SkeletonCard.st.css.d.ts.map +1 -1
  447. package/dist/types/components/Table/AddFieldColumnHeader.st.css.d.ts.map +1 -1
  448. package/dist/types/components/TabsFilter/TabsFilter.st.css.d.ts.map +1 -1
  449. package/dist/types/components/ToolbarItem/ToolbarItem.st.css.d.ts.map +1 -1
  450. package/dist/types/exports/schema.d.ts +1 -1
  451. package/dist/types/exports/schema.d.ts.map +1 -1
  452. package/dist/types/index.d.ts +1 -1
  453. package/dist/types/index.d.ts.map +1 -1
  454. package/dist/types/state/CustomColumnsEntityPageState.d.ts +3 -1
  455. package/dist/types/state/CustomColumnsEntityPageState.d.ts.map +1 -1
  456. package/dist/types/state/CustomColumnsPanelStateBase.d.ts +1 -0
  457. package/dist/types/state/CustomColumnsPanelStateBase.d.ts.map +1 -1
  458. package/dist/types/state/CustomColumnsState.d.ts +2 -1
  459. package/dist/types/state/CustomColumnsState.d.ts.map +1 -1
  460. package/dist/types/state/EditableTable/CellValueState.d.ts +40 -6
  461. package/dist/types/state/EditableTable/CellValueState.d.ts.map +1 -1
  462. package/dist/types/state/EditableTable/ClipboardState.d.ts +1 -1
  463. package/dist/types/state/EditableTable/ClipboardState.d.ts.map +1 -1
  464. package/dist/types/state/EditableTable/MutationState.d.ts +18 -1
  465. package/dist/types/state/EditableTable/MutationState.d.ts.map +1 -1
  466. package/dist/types/state/EntityPage/EntityPageState.d.ts.map +1 -1
  467. package/dist/types/state/EntityPage/EntityPageStateBIReporter.d.ts +10 -0
  468. package/dist/types/state/EntityPage/EntityPageStateBIReporter.d.ts.map +1 -1
  469. package/dist/types/state/FormPage/FormPageHeader.st.css.d.ts.map +1 -1
  470. package/dist/types/state/OperatorFilterPickerState.d.ts.map +1 -1
  471. package/dist/types/utils/referenceImage.d.ts +11 -0
  472. package/dist/types/utils/referenceImage.d.ts.map +1 -0
  473. package/dist/types/version.d.ts +1 -1
  474. package/package.json +8 -8
  475. package/src/components/CardContainer/CardContainer.st.css.ts +2 -2
  476. package/src/components/CmsFieldManagement/CmsFieldForm.st.css.ts +2 -2
  477. package/src/components/CmsFieldManagement/CmsFieldModal.st.css.ts +2 -2
  478. package/src/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.ts +2 -2
  479. package/src/components/Collapse/Collapse.st.css.ts +2 -2
  480. package/src/components/CollectionItemActions/CollectionItemActionsHelper.ts +9 -2
  481. package/src/components/CollectionPageNew/CollectionPage.st.css.ts +2 -2
  482. package/src/components/CollectionSectionHeader/CollectionSectionHeader.st.css.ts +2 -2
  483. package/src/components/CollectionTable/CollectionTable.st.css.ts +2 -2
  484. package/src/components/CollectionTable/CollectionTableWSRTable.st.css.ts +2 -2
  485. package/src/components/CollectionToolbar/CollectionToolbar.st.css.ts +2 -2
  486. package/src/components/CollectionToolbar/SearchOrCustomFilter.st.css.ts +2 -2
  487. package/src/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.ts +2 -2
  488. package/src/components/CollectionViewsDropdown/ViewsDropdown.st.css.ts +2 -2
  489. package/src/components/CustomColumnsPanel/ColumnListTableListItem.tsx +12 -13
  490. package/src/components/CustomFieldModal/CustomFieldCollectionInput.tsx +49 -13
  491. package/src/components/CustomFieldModal/CustomFieldFormPiiFields.st.css.ts +2 -2
  492. package/src/components/DragHandle/DragHandle.st.css.ts +2 -2
  493. package/src/components/EditableTable/EditableCell.st.css.ts +2 -2
  494. package/src/components/EditableTable/HeaderActionsPopover.st.css.ts +2 -2
  495. package/src/components/EditableTable/cellTypes/CellViewLayout.st.css.ts +2 -2
  496. package/src/components/EditableTable/cellTypes/JsonInputEdit.st.css.ts +2 -2
  497. package/src/components/EditableTable/cellTypes/address/Edit.st.css.ts +2 -2
  498. package/src/components/EditableTable/cellTypes/boolean/Edit.st.css.ts +2 -2
  499. package/src/components/EditableTable/cellTypes/boolean/View.st.css.ts +2 -2
  500. package/src/components/EditableTable/cellTypes/color/Edit.st.css.ts +2 -2
  501. package/src/components/EditableTable/cellTypes/date/Edit.st.css.ts +2 -2
  502. package/src/components/EditableTable/cellTypes/date/View.st.css.ts +2 -2
  503. package/src/components/EditableTable/cellTypes/datetime/Edit.st.css.ts +2 -2
  504. package/src/components/EditableTable/cellTypes/datetime/View.st.css.ts +2 -2
  505. package/src/components/EditableTable/cellTypes/email/Edit.st.css.ts +2 -2
  506. package/src/components/EditableTable/cellTypes/email/View.st.css.ts +2 -2
  507. package/src/components/EditableTable/cellTypes/mediaImage/Edit.st.css.ts +2 -2
  508. package/src/components/EditableTable/cellTypes/mediaImage/index.ts +2 -11
  509. package/src/components/EditableTable/cellTypes/multiDocument/Edit.st.css.ts +2 -2
  510. package/src/components/EditableTable/cellTypes/multiReference/Edit.tsx +2 -2
  511. package/src/components/EditableTable/cellTypes/multiReference/View.tsx +2 -2
  512. package/src/components/EditableTable/cellTypes/number/Edit.st.css.ts +2 -2
  513. package/src/components/EditableTable/cellTypes/number/View.st.css.ts +2 -2
  514. package/src/components/EditableTable/cellTypes/object/View.st.css.ts +2 -2
  515. package/src/components/EditableTable/cellTypes/reference/Edit.tsx +2 -2
  516. package/src/components/EditableTable/cellTypes/reference/EmptyReferenceView.st.css.ts +2 -2
  517. package/src/components/EditableTable/cellTypes/reference/View.tsx +3 -9
  518. package/src/components/EditableTable/cellTypes/reference/types.ts +3 -4
  519. package/src/components/EditableTable/cellTypes/select/Edit.st.css.ts +2 -2
  520. package/src/components/EditableTable/cellTypes/text/Edit.st.css.ts +2 -2
  521. package/src/components/EditableTable/cellTypes/text/View.st.css.ts +2 -2
  522. package/src/components/EditableTable/cellTypes/time/Edit.st.css.ts +2 -2
  523. package/src/components/EditableTable/cellTypes/url/Edit.st.css.ts +2 -2
  524. package/src/components/EditableTable/cellTypes/url/View.st.css.ts +2 -2
  525. package/src/components/EmptyState/EmptyStateBase.st.css.ts +2 -2
  526. package/src/components/EntityPage/EntityPagePlain.st.css.ts +2 -2
  527. package/src/components/EntityPageFields/EntityPageField.st.css.ts +2 -2
  528. package/src/components/EntityPageFields/EntityPageReferenceField.tsx +4 -5
  529. package/src/components/EntityPageFields/EntityPageReferenceValue.st.css.ts +2 -2
  530. package/src/components/EntityPageFields/EntityPageReferenceValue.tsx +5 -6
  531. package/src/components/EntityPageFields/useReferencedSchema.ts +0 -5
  532. package/src/components/Fade/Fade.st.css.ts +2 -2
  533. package/src/components/Grid/GridSingleGridContent.tsx +8 -2
  534. package/src/components/GridSections/GridSectionsContent.tsx +4 -1
  535. package/src/components/Heading/Heading.st.css.ts +2 -2
  536. package/src/components/ImportButton/ImportButtonModalLayout.tsx +42 -1
  537. package/src/components/ImportButton/ImportStepUpload.st.css.ts +2 -2
  538. package/src/components/ImportButton/SchemaImportFieldEditor.tsx +1 -20
  539. package/src/components/InputOverflow/InputOverflow.st.css.ts +2 -2
  540. package/src/components/LoadingRow/LoadingRow.st.css.ts +3 -3
  541. package/src/components/MaxHeightText/MaxHeightText.st.css.ts +2 -2
  542. package/src/components/MaxLines/MaxLines.st.css.ts +2 -2
  543. package/src/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.ts +2 -2
  544. package/src/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.ts +2 -2
  545. package/src/components/NestedTable/NestedTableRow.st.css.ts +2 -2
  546. package/src/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.ts +2 -2
  547. package/src/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.ts +2 -2
  548. package/src/components/PickerContent/PickerContent.st.css.ts +2 -2
  549. package/src/components/PickerContent/PickerContentAdditionalStep.st.css.ts +2 -2
  550. package/src/components/PickerTableListItem/PickerTableListItem.st.css.ts +2 -2
  551. package/src/components/PrimaryActions/PrimaryActions.tsx +1 -1
  552. package/src/components/SchemaSource/ReferenceFieldCell.tsx +5 -8
  553. package/src/components/SchemaSource/referenceCells.ts +4 -10
  554. package/src/components/SchemaSource/schemaFieldActions.ts +16 -2
  555. package/src/components/SchemaSource/schemaFieldManagement.ts +3 -1
  556. package/src/components/ScrollableContent/ScrollableContent.st.css.ts +2 -2
  557. package/src/components/SetupWidget/SetupWidget.st.css.ts +2 -2
  558. package/src/components/SkeletonCard/SkeletonCard.st.css.ts +2 -2
  559. package/src/components/SlidingModal/SlidingModal.st.css.ts +2 -2
  560. package/src/components/Table/AddFieldColumnHeader.st.css.ts +2 -2
  561. package/src/components/Table/NumberCell.st.css.ts +2 -2
  562. package/src/components/TabsFilter/TabsFilter.st.css.ts +2 -2
  563. package/src/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.ts +2 -2
  564. package/src/components/ToolbarItem/ToolbarItem.st.css.ts +2 -2
  565. package/src/components/ToolbarItemBox/ToolbarItemBox.st.css.ts +2 -2
  566. package/src/components/common.st.css.ts +2 -2
  567. package/src/exports/schema.ts +2 -0
  568. package/src/index.ts +2 -0
  569. package/src/state/CollectionPage/CollectionPageHeader.st.css.ts +2 -2
  570. package/src/state/CollectionPage/MobilePrimaryActionBar.st.css.ts +2 -2
  571. package/src/state/CollectionPage/TitleBadges.st.css.ts +2 -2
  572. package/src/state/CustomColumnsEntityPageState.ts +28 -3
  573. package/src/state/CustomColumnsPanelStateBase.ts +1 -0
  574. package/src/state/CustomColumnsState.ts +17 -8
  575. package/src/state/EditableTable/CellValueState.ts +197 -8
  576. package/src/state/EditableTable/ClipboardState.ts +24 -22
  577. package/src/state/EditableTable/EditableTableState.ts +1 -1
  578. package/src/state/EditableTable/MutationState.ts +56 -7
  579. package/src/state/EntityPage/EntityPageState.ts +25 -0
  580. package/src/state/EntityPage/EntityPageStateBIReporter.ts +55 -0
  581. package/src/state/FormPage/FormPageHeader.st.css.ts +2 -2
  582. package/src/state/NestedTableState/NestedTableNestedModeState.ts +1 -1
  583. package/src/state/OperatorFilterPickerState.ts +2 -0
  584. package/src/styles.global.css +2 -2
  585. package/src/utils/referenceImage.ts +35 -0
  586. package/src/version.ts +1 -1
  587. package/dist/cjs/components/EditableTable/cellTypes/reference/getImageFieldId.js +0 -10
  588. package/dist/cjs/components/EditableTable/cellTypes/reference/getImageFieldId.js.map +0 -1
  589. package/dist/esm/components/EditableTable/cellTypes/reference/getImageFieldId.js +0 -2
  590. package/dist/esm/components/EditableTable/cellTypes/reference/getImageFieldId.js.map +0 -1
  591. package/dist/types/components/EditableTable/cellTypes/reference/getImageFieldId.d.ts +0 -3
  592. package/dist/types/components/EditableTable/cellTypes/reference/getImageFieldId.d.ts.map +0 -1
  593. package/src/components/EditableTable/cellTypes/reference/getImageFieldId.ts +0 -6
@@ -1 +1 @@
1
- {"version":3,"names":["_bexCore","require","_mobx","CustomColumnsPanelStateBase","constructor","params","_defineProperty2","default","SelectState","keyGetter","column","id","Promise","resolve","refresh","columnsRefresh","then","columnsCollection","refreshAllPages","catch","undefined","action","value","searchValue","refreshColumns","select","onColumnClick","toggle","isChecked","container","CollectionState","events","queryName","fetchData","items","filteredColumns","filter","hiddenFromCustomColumnsSelection","filters","itemKey","item","itemName","name","initBaseObservables","makeObservable","observable","setSearchValue","bound","orderedColumns","computed","isFieldsEditable","trim","searchLower","toLowerCase","title","includes","exports"],"sources":["../../../src/state/CustomColumnsPanelStateBase.ts"],"sourcesContent":["import {\n CollectionState,\n FiltersMap,\n SelectState,\n TransitionState,\n WixPatternsContainer,\n} from '@wix/bex-core';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport { Column } from '../model';\nimport { CustomColumnsActionName } from './CustomColumnsState';\nimport type { CustomColumnsDragAndDropState } from './CustomColumnsDragAndDropState';\nimport type { ManageFieldsSource } from './ManageFieldsSource';\n\nexport interface CustomColumnsPanelStateBaseParams {\n container: WixPatternsContainer;\n queryName: string;\n}\n\nexport abstract class CustomColumnsPanelStateBase<\n T = unknown,\n F extends FiltersMap = FiltersMap,\n> {\n readonly container: WixPatternsContainer;\n readonly columnsCollection: CollectionState<Column, FiltersMap>;\n\n readonly select = new SelectState<{ id: string }>({\n keyGetter: (column) => column.id,\n });\n\n searchValue = '';\n\n private columnsRefresh: Promise<void> = Promise.resolve();\n\n onColumnClick?: (column: Column, checked: boolean) => unknown;\n\n constructor(params: CustomColumnsPanelStateBaseParams) {\n this.container = params.container;\n\n this.columnsCollection = new CollectionState({\n ...this.container,\n events: {},\n queryName: params.queryName,\n fetchData: async () => {\n const items = this.filteredColumns.filter(\n (column) => column.hiddenFromCustomColumnsSelection !== true,\n );\n return { items };\n },\n filters: {},\n itemKey: (item) => item.id,\n itemName: (item) => item.name,\n });\n }\n\n protected initBaseObservables() {\n makeObservable(this, {\n searchValue: observable,\n setSearchValue: action.bound,\n orderedColumns: computed,\n filteredColumns: computed,\n });\n }\n\n abstract get orderedColumns(): Column[];\n\n abstract get showFieldTypeIcons(): boolean;\n\n /** Whether the panel manages schema fields rather than picking columns —\n * drives its title and subtitle. Sources that carry their own field\n * management report it through `manageFieldsSource` instead. */\n get isFieldsEditable(): boolean {\n return false;\n }\n\n /** Add / edit / delete field, when the surface offers it. */\n abstract get manageFieldsSource(): ManageFieldsSource | null | undefined;\n\n abstract get sidePanelTransition(): TransitionState<string> | undefined;\n\n abstract get dragAndDrop(): CustomColumnsDragAndDropState<T, F> | undefined;\n\n abstract customizeColumnsInSidePanelBi(params: {\n actionName: CustomColumnsActionName;\n }): void;\n\n abstract onClose(): void;\n\n abstract init(): () => void;\n\n get filteredColumns(): Column[] {\n const { orderedColumns, searchValue } = this;\n\n if (!searchValue.trim()) {\n return orderedColumns;\n }\n\n const searchLower = searchValue.toLowerCase();\n return orderedColumns.filter((column) => {\n const name =\n column.name ||\n (typeof column.title === 'string' ? column.title : column.id);\n return name.toLowerCase().includes(searchLower);\n });\n }\n\n refreshColumns = () => {\n // Overlapping refreshes share a query promise, which can contain columns\n // from before the latest schema or layout update.\n const refresh = this.columnsRefresh.then(() =>\n this.columnsCollection.refreshAllPages(),\n );\n this.columnsRefresh = refresh.catch(() => undefined);\n return refresh;\n };\n\n setSearchValue = action((value: string) => {\n this.searchValue = value;\n void this.refreshColumns();\n });\n\n onColumnCheckboxToggle = action((column: Column) => {\n const { select, onColumnClick } = this;\n select.toggle(column);\n onColumnClick?.(column, select.isChecked(column.id));\n });\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_bexCore","require","_mobx","CustomColumnsPanelStateBase","constructor","params","_defineProperty2","default","SelectState","keyGetter","column","id","Promise","resolve","refresh","columnsRefresh","then","columnsCollection","refreshAllPages","catch","undefined","action","value","searchValue","refreshColumns","select","onColumnClick","toggle","isChecked","container","CollectionState","events","queryName","fetchData","items","filteredColumns","filter","hiddenFromCustomColumnsSelection","filters","itemKey","item","itemName","name","initBaseObservables","makeObservable","observable","setSearchValue","bound","orderedColumns","computed","isFieldsEditable","trim","searchLower","toLowerCase","title","includes","exports"],"sources":["../../../src/state/CustomColumnsPanelStateBase.ts"],"sourcesContent":["import {\n CollectionState,\n FiltersMap,\n SelectState,\n TransitionState,\n WixPatternsContainer,\n} from '@wix/bex-core';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport { Column } from '../model';\nimport { CustomColumnsActionName } from './CustomColumnsState';\nimport type { CustomColumnsDragAndDropState } from './CustomColumnsDragAndDropState';\nimport type { ManageFieldsSource } from './ManageFieldsSource';\n\nexport interface CustomColumnsPanelStateBaseParams {\n container: WixPatternsContainer;\n queryName: string;\n}\n\nexport abstract class CustomColumnsPanelStateBase<\n T = unknown,\n F extends FiltersMap = FiltersMap,\n> {\n readonly container: WixPatternsContainer;\n readonly columnsCollection: CollectionState<Column, FiltersMap>;\n\n readonly select = new SelectState<{ id: string }>({\n keyGetter: (column) => column.id,\n });\n\n searchValue = '';\n\n private columnsRefresh: Promise<void> = Promise.resolve();\n\n onColumnClick?: (column: Column, checked: boolean) => unknown;\n\n constructor(params: CustomColumnsPanelStateBaseParams) {\n this.container = params.container;\n\n this.columnsCollection = new CollectionState({\n ...this.container,\n events: {},\n queryName: params.queryName,\n fetchData: async () => {\n const items = this.filteredColumns.filter(\n (column) => column.hiddenFromCustomColumnsSelection !== true,\n );\n return { items };\n },\n filters: {},\n itemKey: (item) => item.id,\n itemName: (item) => item.name,\n });\n }\n\n protected initBaseObservables() {\n makeObservable(this, {\n searchValue: observable,\n setSearchValue: action.bound,\n orderedColumns: computed,\n filteredColumns: computed,\n });\n }\n\n abstract get orderedColumns(): Column[];\n\n abstract get showFieldTypeIcons(): boolean;\n\n /** Whether the panel manages schema fields rather than picking columns —\n * drives its title and subtitle. Sources that carry their own field\n * management report it through `manageFieldsSource` instead. */\n get isFieldsEditable(): boolean {\n return false;\n }\n\n /** Add / edit / delete field, when the surface offers it. */\n abstract get manageFieldsSource(): ManageFieldsSource | null | undefined;\n\n abstract get sidePanelTransition(): TransitionState<string> | undefined;\n\n abstract get dragAndDrop(): CustomColumnsDragAndDropState<T, F> | undefined;\n\n abstract customizeColumnsInSidePanelBi(params: {\n actionName: CustomColumnsActionName;\n key?: string;\n }): void;\n\n abstract onClose(): void;\n\n abstract init(): () => void;\n\n get filteredColumns(): Column[] {\n const { orderedColumns, searchValue } = this;\n\n if (!searchValue.trim()) {\n return orderedColumns;\n }\n\n const searchLower = searchValue.toLowerCase();\n return orderedColumns.filter((column) => {\n const name =\n column.name ||\n (typeof column.title === 'string' ? column.title : column.id);\n return name.toLowerCase().includes(searchLower);\n });\n }\n\n refreshColumns = () => {\n // Overlapping refreshes share a query promise, which can contain columns\n // from before the latest schema or layout update.\n const refresh = this.columnsRefresh.then(() =>\n this.columnsCollection.refreshAllPages(),\n );\n this.columnsRefresh = refresh.catch(() => undefined);\n return refresh;\n };\n\n setSearchValue = action((value: string) => {\n this.searchValue = value;\n void this.refreshColumns();\n });\n\n onColumnCheckboxToggle = action((column: Column) => {\n const { select, onColumnClick } = this;\n select.toggle(column);\n onColumnClick?.(column, select.isChecked(column.id));\n });\n}\n"],"mappings":"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","ignoreList":[]}
@@ -404,15 +404,27 @@ class CustomColumnsState extends _CustomColumnsPanelStateBase.CustomColumnsPanel
404
404
  selectedColumns.setValue(customColumnsState != null && customColumnsState.dragAndDrop ? selectedColumnsFromStorage.sort((0, _indexOfCompareFn.indexOfCompareFn)(storedCustomColumns, e => e == null ? void 0 : e.id)) : selectedColumnsFromStorage);
405
405
  }
406
406
  customizeColumnsInSidePanelBi({
407
- actionName
407
+ actionName,
408
+ key
408
409
  }) {
409
- if (this._performedCustomColumnsActions.get(actionName)) {
410
- return;
410
+ if (actionName !== 'visibility') {
411
+ if (this._performedCustomColumnsActions.get(actionName)) {
412
+ return;
413
+ }
414
+ this._performedCustomColumnsActions.set(actionName, true);
411
415
  }
412
- this._performedCustomColumnsActions.set(actionName, true);
413
- this.table.reportBi((0, _bexCore.withoutDefaults)(_bi.cairoCustomizeColumnsInSidePanel)({
416
+ const event = (0, _bexCore.withoutDefaults)(_bi.cairoCustomizeColumnsInSidePanel)({
414
417
  actionName
415
- }));
418
+ });
419
+ this.table.reportBi({
420
+ ...event,
421
+ params: {
422
+ ...event.params,
423
+ ...(key ? {
424
+ key
425
+ } : {})
426
+ }
427
+ });
416
428
  }
417
429
  get showFieldTypeIcons() {
418
430
  return this.table.showFieldTypeIcons;
@@ -1 +1 @@
1
- {"version":3,"names":["_bexCore","require","_mobx","_CustomColumnsHistoryState","_indexOfCompareFn","_events","_bi","_CustomColumnsPanelStateBase","CUSTOM_COLUMNS_KEY","exports","SPREADSHEET_CUSTOM_COLUMNS_KEY","getCustomColumnsKeyForLayout","layout","asText","content","undefined","toPanelRow","column","_column$infoTooltipPr","_column$infoTooltipPr2","_column$validation","id","name","title","fieldType","infoText","infoTooltipProps","panelContent","isPrimary","isPii","isSystem","appFieldEditable","dataExtension","editable","required","validation","some","rule","type","hideable","reorderDisabled","hiddenFromCustomColumnsSelection","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","pendingInsertPosition","observable","ref","setPendingInsertPosition","action","bound","clearPendingInsertPosition","persistCustomColumns","toSelectedColumns","computed","selectedOrderedColumns","init","orderedColumns","customColumnsState","value","selectedColumn","isSelected","_table$layoutState","dataCapsule","viewsProps","_touched","setItem","layoutState","viewType","registerSelectedColumnChange","events","on","off","afterColumnId","mergeNewColumns","_toStoredColumn","_didFirstColumnsMerge","defaultHidden","length","mergeTargetSelectedColumns","s","every","c","map","existing","find","diffColumns","pending","pendingIndex","afterIndex","findIndex","forEach","d","i","splice","originalIndex","afterId","getStickyColumnsCount","stickyColumns","reorderDisabledColumns","orderedColumnsByReorderDisabled","select","isChecked","selectionChanged","a","b","_this$dragAndDrop","_this$customColumnsHi","customColumnsStateInitialized","disposers","reaction","clear","forceSetMany","status","finalStatus","startStatus","refreshColumns","fireImmediately","selectedValues","setValue","emitEvents","equals","comparer","structural","columnsCollection","_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","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 {\n action,\n comparer,\n computed,\n makeObservable,\n observable,\n reaction,\n} 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 asText = (content: unknown) =>\n typeof content === 'string' ? content : undefined;\n\nconst toPanelRow = (column: Column) => ({\n id: column.id,\n name: column.name || asText(column.title),\n fieldType: column.fieldType,\n infoText: asText(\n column.infoTooltipProps?.panelContent || column.infoTooltipProps?.content,\n ),\n isPrimary: column.isPrimary,\n isPii: column.isPii,\n isSystem: column.isSystem,\n appFieldEditable: column.dataExtension\n ? !!column.dataExtension.editable\n : undefined,\n required: column.validation?.some((rule) => rule.type === 'required'),\n hideable: column.hideable,\n reorderDisabled: column.reorderDisabled,\n hiddenFromCustomColumnsSelection: column.hiddenFromCustomColumnsSelection,\n});\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 /** Where the next new column goes. `afterColumnId: null` means the start.\n * Consumed by the next `mergeNewColumns`. */\n pendingInsertPosition: { afterColumnId: string | null } | undefined =\n undefined;\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 pendingInsertPosition: observable.ref,\n setPendingInsertPosition: action.bound,\n clearPendingInsertPosition: action.bound,\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 setPendingInsertPosition(afterColumnId: string | null) {\n this.pendingInsertPosition = { afterColumnId };\n }\n\n clearPendingInsertPosition() {\n this.pendingInsertPosition = undefined;\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 const pending = this.pendingInsertPosition;\n let pendingIndex: number | null = null;\n if (pending) {\n this.clearPendingInsertPosition();\n if (pending.afterColumnId == null) {\n pendingIndex = 0;\n } else {\n const afterIndex = mergeTargetSelectedColumns.findIndex(\n (c) => c.id === pending.afterColumnId,\n );\n pendingIndex = afterIndex === -1 ? null : afterIndex + 1;\n }\n }\n\n // place new columns where the user picked, or according to their order in\n // the original columns prop\n diffColumns.forEach((d, i) => {\n if (pendingIndex != null) {\n mergeTargetSelectedColumns.splice(pendingIndex + i, 0, d);\n return;\n }\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 } = 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 this.refreshColumns();\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 reaction(\n () => this.table.columns.map(toPanelRow),\n () => void this.refreshColumns(),\n { equals: comparer.structural },\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":"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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","asText","content","undefined","toPanelRow","column","_column$infoTooltipPr","_column$infoTooltipPr2","_column$validation","id","name","title","fieldType","infoText","infoTooltipProps","panelContent","isPrimary","isPii","isSystem","appFieldEditable","dataExtension","editable","required","validation","some","rule","type","hideable","reorderDisabled","hiddenFromCustomColumnsSelection","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","pendingInsertPosition","observable","ref","setPendingInsertPosition","action","bound","clearPendingInsertPosition","persistCustomColumns","toSelectedColumns","computed","selectedOrderedColumns","init","orderedColumns","customColumnsState","value","selectedColumn","isSelected","_table$layoutState","dataCapsule","viewsProps","_touched","setItem","layoutState","viewType","registerSelectedColumnChange","events","on","off","afterColumnId","mergeNewColumns","_toStoredColumn","_didFirstColumnsMerge","defaultHidden","length","mergeTargetSelectedColumns","s","every","c","map","existing","find","diffColumns","pending","pendingIndex","afterIndex","findIndex","forEach","d","i","splice","originalIndex","afterId","getStickyColumnsCount","stickyColumns","reorderDisabledColumns","orderedColumnsByReorderDisabled","select","isChecked","selectionChanged","a","b","_this$dragAndDrop","_this$customColumnsHi","customColumnsStateInitialized","disposers","reaction","clear","forceSetMany","status","finalStatus","startStatus","refreshColumns","fireImmediately","selectedValues","setValue","emitEvents","equals","comparer","structural","columnsCollection","_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","sort","indexOfCompareFn","customizeColumnsInSidePanelBi","actionName","key","_performedCustomColumnsActions","get","set","event","withoutDefaults","cairoCustomizeColumnsInSidePanel","reportBi","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 {\n action,\n comparer,\n computed,\n makeObservable,\n observable,\n reaction,\n} 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 asText = (content: unknown) =>\n typeof content === 'string' ? content : undefined;\n\nconst toPanelRow = (column: Column) => ({\n id: column.id,\n name: column.name || asText(column.title),\n fieldType: column.fieldType,\n infoText: asText(\n column.infoTooltipProps?.panelContent || column.infoTooltipProps?.content,\n ),\n isPrimary: column.isPrimary,\n isPii: column.isPii,\n isSystem: column.isSystem,\n appFieldEditable: column.dataExtension\n ? !!column.dataExtension.editable\n : undefined,\n required: column.validation?.some((rule) => rule.type === 'required'),\n hideable: column.hideable,\n reorderDisabled: column.reorderDisabled,\n hiddenFromCustomColumnsSelection: column.hiddenFromCustomColumnsSelection,\n});\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 /** Where the next new column goes. `afterColumnId: null` means the start.\n * Consumed by the next `mergeNewColumns`. */\n pendingInsertPosition: { afterColumnId: string | null } | undefined =\n undefined;\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 pendingInsertPosition: observable.ref,\n setPendingInsertPosition: action.bound,\n clearPendingInsertPosition: action.bound,\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 setPendingInsertPosition(afterColumnId: string | null) {\n this.pendingInsertPosition = { afterColumnId };\n }\n\n clearPendingInsertPosition() {\n this.pendingInsertPosition = undefined;\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 const pending = this.pendingInsertPosition;\n let pendingIndex: number | null = null;\n if (pending) {\n this.clearPendingInsertPosition();\n if (pending.afterColumnId == null) {\n pendingIndex = 0;\n } else {\n const afterIndex = mergeTargetSelectedColumns.findIndex(\n (c) => c.id === pending.afterColumnId,\n );\n pendingIndex = afterIndex === -1 ? null : afterIndex + 1;\n }\n }\n\n // place new columns where the user picked, or according to their order in\n // the original columns prop\n diffColumns.forEach((d, i) => {\n if (pendingIndex != null) {\n mergeTargetSelectedColumns.splice(pendingIndex + i, 0, d);\n return;\n }\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 } = 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 this.refreshColumns();\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 reaction(\n () => this.table.columns.map(toPanelRow),\n () => void this.refreshColumns(),\n { equals: comparer.structural },\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 key,\n }: {\n actionName: CustomColumnsActionName;\n key?: string;\n }) {\n if (actionName !== 'visibility') {\n if (this._performedCustomColumnsActions.get(actionName)) {\n return;\n }\n this._performedCustomColumnsActions.set(actionName, true);\n }\n const event = withoutDefaults(cairoCustomizeColumnsInSidePanel)({\n actionName,\n });\n this.table.reportBi({\n ...event,\n params: {\n ...event.params,\n ...(key ? { key } : {}),\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":"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","ignoreList":[]}
@@ -16,6 +16,9 @@ class CellValueState {
16
16
  /** Valid committed values not yet saved, keyed by `${itemId}:${colId}`.
17
17
  * Each row's drafts are flushed as one update when focus leaves the row. */
18
18
  (0, _defineProperty2.default)(this, "_draftCells", new Map());
19
+ /** Local new rows not to create yet, with how many open paste toasts hold
20
+ * each. See `applyPastedValues`. */
21
+ (0, _defineProperty2.default)(this, "_heldNewRows", new Map());
19
22
  (0, _defineProperty2.default)(this, "_parent", void 0);
20
23
  (0, _defineProperty2.default)(this, "_extraCellTypes", void 0);
21
24
  this._parent = parent;
@@ -29,8 +32,10 @@ class CellValueState {
29
32
  commitHandler: _mobx.action,
30
33
  applyBulkRawValues: _mobx.action,
31
34
  applyBulkValues: _mobx.action,
35
+ applyPastedValues: _mobx.action,
32
36
  revalidatePendingCells: _mobx.action,
33
37
  flushDrafts: _mobx.action,
38
+ flushDraftsOnUnmount: _mobx.action,
34
39
  flushRow: _mobx.action,
35
40
  dropRowCellState: _mobx.action
36
41
  });
@@ -301,6 +306,12 @@ class CellValueState {
301
306
  * Handles conversion failures by storing them as pending cells.
302
307
  */
303
308
  applyBulkRawValues(rawChanges) {
309
+ this.applyBulkValues(this._deserializeRawValues(rawChanges));
310
+ }
311
+
312
+ /** Values that fail are stored as pending cells with their error and left
313
+ * out of the result. */
314
+ _deserializeRawValues(rawChanges) {
304
315
  const changes = [];
305
316
  for (const {
306
317
  rowKey,
@@ -328,7 +339,7 @@ class CellValueState {
328
339
  });
329
340
  }
330
341
  }
331
- this.applyBulkValues(changes);
342
+ return changes;
332
343
  }
333
344
 
334
345
  /**
@@ -338,7 +349,7 @@ class CellValueState {
338
349
  * checking isColumnEditable here — not just at the call sites — keeps
339
350
  * read-only cells protected regardless of entry point.
340
351
  */
341
- applyBulkValues(changes) {
352
+ applyBulkValues(changes, options) {
342
353
  const rowUpdates = new Map();
343
354
  for (const {
344
355
  rowKey,
@@ -394,7 +405,127 @@ class CellValueState {
394
405
  item
395
406
  }) => item), updates.map(({
396
407
  changedFieldIds
397
- }) => Array.from(changedFieldIds)));
408
+ }) => Array.from(changedFieldIds)), options);
409
+ }
410
+
411
+ /**
412
+ * Applies pasted values and shows `successToast` with Undo. The server call
413
+ * waits until the toast closes or times out. With `batchWait` the toast has
414
+ * no Undo (see `MutationState.updatesAreBatched`).
415
+ *
416
+ * Undo rolls back the saved rows, and puts back the unsaved state (invalid
417
+ * values and drafts) of the pasted cells and of the drafts in their rows,
418
+ * which the paste saves along with it. A cell changed again after the paste
419
+ * keeps its newer value.
420
+ *
421
+ * Local new rows the paste touched are not created while the toast is open.
422
+ * Otherwise the click on Undo, which takes focus out of the table, would
423
+ * create them with the pasted values first.
424
+ */
425
+ applyPastedValues(changes, rawChanges, successToast) {
426
+ if (this._parent.mutation.updatesAreBatched) {
427
+ this.applyBulkValues([...changes, ...this._deserializeRawValues(rawChanges)], {
428
+ successToast
429
+ });
430
+ return;
431
+ }
432
+ const pastedCells = [...changes, ...rawChanges];
433
+ const rowKeys = new Set(pastedCells.map(({
434
+ rowKey
435
+ }) => rowKey));
436
+ const affectedCellKeys = new Set();
437
+ for (const {
438
+ rowKey,
439
+ columnId
440
+ } of pastedCells) {
441
+ const key = this._pendingCellKey(rowKey, columnId);
442
+ if (key) {
443
+ affectedCellKeys.add(key);
444
+ }
445
+ }
446
+ for (const [key, draft] of this._draftCells) {
447
+ if (rowKeys.has(draft.rowKey)) {
448
+ affectedCellKeys.add(key);
449
+ }
450
+ }
451
+ const beforePaste = this._snapshotUnsavedCells(affectedCellKeys);
452
+ // Replaced right after the paste below. `onUndo` reads it, and core calls
453
+ // `onUndo` only on a click on the toast, after that.
454
+ let afterPaste = beforePaste;
455
+ const newRowKeys = new Set([...rowKeys].filter(rowKey => this._parent.mutation.isLocalNewRow(rowKey)));
456
+ for (const rowKey of newRowKeys) {
457
+ this._heldNewRows.set(rowKey, (this._heldNewRows.get(rowKey) ?? 0) + 1);
458
+ }
459
+ let toastOpen = true;
460
+ // Retry calls `onKept` again; only the first call counts.
461
+ const endUndoWindow = () => {
462
+ if (!toastOpen) {
463
+ return false;
464
+ }
465
+ toastOpen = false;
466
+ for (const rowKey of newRowKeys) {
467
+ const holds = (this._heldNewRows.get(rowKey) ?? 1) - 1;
468
+ if (holds > 0) {
469
+ this._heldNewRows.set(rowKey, holds);
470
+ } else {
471
+ this._heldNewRows.delete(rowKey);
472
+ }
473
+ }
474
+ return true;
475
+ };
476
+ this.applyBulkValues(
477
+ // After the snapshot: this writes invalid values into `_pendingCells`.
478
+ [...changes, ...this._deserializeRawValues(rawChanges)], {
479
+ successToast,
480
+ undo: {
481
+ onUndo: (0, _mobx.action)(() => {
482
+ const wasOpen = endUndoWindow();
483
+ if (!wasOpen) {
484
+ return;
485
+ }
486
+ const restoredDraftRows = new Set();
487
+ for (const key of affectedCellKeys) {
488
+ const pasted = afterPaste.get(key);
489
+ if (this._pendingCells.get(key) !== (pasted == null ? void 0 : pasted.pending) || this._draftCells.get(key) !== (pasted == null ? void 0 : pasted.draft)) {
490
+ continue;
491
+ }
492
+ const {
493
+ pending,
494
+ draft
495
+ } = beforePaste.get(key) ?? {};
496
+ setOrDelete(this._pendingCells, key, pending);
497
+ setOrDelete(this._draftCells, key, draft);
498
+ if (draft) {
499
+ restoredDraftRows.add(draft.rowKey);
500
+ }
501
+ }
502
+ // The click on Undo already flushed the table, before these drafts
503
+ // were back. No toast: nothing should confirm the Undo.
504
+ this._flushRowsWithoutFocus(restoredDraftRows, {
505
+ successToast: null
506
+ });
507
+ }),
508
+ onKept: (0, _mobx.action)(() => {
509
+ const wasOpen = endUndoWindow();
510
+ if (!wasOpen) {
511
+ return;
512
+ }
513
+ this._flushRowsWithoutFocus(newRowKeys);
514
+ })
515
+ }
516
+ });
517
+ afterPaste = this._snapshotUnsavedCells(affectedCellKeys);
518
+ }
519
+ _snapshotUnsavedCells(keys) {
520
+ return new Map([...keys].map(key => [key, {
521
+ pending: this._pendingCells.get(key),
522
+ draft: this._draftCells.get(key)
523
+ }]));
524
+ }
525
+ _flushRowsWithoutFocus(rowKeys, options) {
526
+ var _this$_parent$cellInt;
527
+ const focusedRowKey = (_this$_parent$cellInt = this._parent.cellInteraction.focusedCell) == null ? void 0 : _this$_parent$cellInt.rowKey;
528
+ this._flushRows(rowKey => rowKeys.has(rowKey) && rowKey !== focusedRowKey, options);
398
529
  }
399
530
  _applyValue(rowKey, columnId, value) {
400
531
  var _this$_parent$collect4;
@@ -442,20 +573,29 @@ class CellValueState {
442
573
  this._flushRows(rowKey => rowKey !== exceptRowKey);
443
574
  }
444
575
 
576
+ /** Like `flushDrafts()`, but also saves new rows held by an open paste
577
+ * toast: focus can stay on a held row on unmount, and the toast doesn't
578
+ * create a focused row. */
579
+ flushDraftsOnUnmount() {
580
+ this._heldNewRows.clear();
581
+ this.flushDrafts();
582
+ }
583
+
445
584
  /** Save one row's drafts now, leaving other rows' drafts buffered. */
446
585
  flushRow(rowKey) {
447
586
  this._flushRows(key => key === rowKey);
448
587
  }
449
- _flushRows(includeRow) {
588
+ _flushRows(includeRow, options) {
589
+ const include = rowKey => includeRow(rowKey) && !this._heldNewRows.has(rowKey);
450
590
  const invalidNewRows = new Set();
451
591
  for (const rowKey of this._parent.mutation._drafts.keys()) {
452
- if (includeRow(rowKey) && !this._validateNewRow(rowKey)) {
592
+ if (include(rowKey) && !this._validateNewRow(rowKey)) {
453
593
  invalidNewRows.add(rowKey);
454
594
  }
455
595
  }
456
596
  const rowKeys = new Set();
457
597
  for (const entry of this._draftCells.values()) {
458
- if (includeRow(entry.rowKey)) {
598
+ if (include(entry.rowKey)) {
459
599
  rowKeys.add(entry.rowKey);
460
600
  }
461
601
  }
@@ -479,7 +619,7 @@ class CellValueState {
479
619
  item
480
620
  }) => item), updates.map(({
481
621
  changedFieldIds
482
- }) => changedFieldIds));
622
+ }) => changedFieldIds), options);
483
623
  }
484
624
  }
485
625
 
@@ -550,4 +690,11 @@ class CellValueState {
550
690
  }
551
691
  }
552
692
  exports.CellValueState = CellValueState;
693
+ const setOrDelete = (map, key, value) => {
694
+ if (value === undefined) {
695
+ map.delete(key);
696
+ } else {
697
+ map.set(key, value);
698
+ }
699
+ };
553
700
  //# sourceMappingURL=CellValueState.js.map