@wix/patterns 1.467.0 → 1.469.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 (969) hide show
  1. package/dist/cjs/components/ActionCell/ActionCell.js.map +1 -1
  2. package/dist/cjs/components/CardContainer/CardContainer.st.css.js +2 -2
  3. package/dist/cjs/components/CardContainer/CardContainer.st.css.js.map +1 -1
  4. package/dist/cjs/components/CmsFieldManagement/CmsFieldForm.st.css.js +3 -3
  5. package/dist/cjs/components/CmsFieldManagement/CmsFieldForm.st.css.js.map +1 -1
  6. package/dist/cjs/components/CmsFieldManagement/CmsFieldModal.st.css.js +3 -3
  7. package/dist/cjs/components/CmsFieldManagement/CmsFieldModal.st.css.js.map +1 -1
  8. package/dist/cjs/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js +3 -3
  9. package/dist/cjs/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js.map +1 -1
  10. package/dist/cjs/components/Collapse/Collapse.st.css.js +3 -3
  11. package/dist/cjs/components/Collapse/Collapse.st.css.js.map +1 -1
  12. package/dist/cjs/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
  13. package/dist/cjs/components/CollectionPageNew/CollectionPage.st.css.js.map +1 -1
  14. package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +3 -3
  15. package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js.map +1 -1
  16. package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js +2 -2
  17. package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js.map +1 -1
  18. package/dist/cjs/components/CollectionTable/CollectionTable.uni.driver.js +5 -1
  19. package/dist/cjs/components/CollectionTable/CollectionTable.uni.driver.js.map +1 -1
  20. package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.st.css.js +2 -2
  21. package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.st.css.js.map +1 -1
  22. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js +5 -5
  23. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js.map +1 -1
  24. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +4 -4
  25. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
  26. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  27. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
  28. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  29. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
  30. package/dist/cjs/components/DragHandle/DragHandle.st.css.js +2 -2
  31. package/dist/cjs/components/DragHandle/DragHandle.st.css.js.map +1 -1
  32. package/dist/cjs/components/EditableTable/EditableCell.js +10 -7
  33. package/dist/cjs/components/EditableTable/EditableCell.js.map +1 -1
  34. package/dist/cjs/components/EditableTable/EditableCell.st.css +32 -2
  35. package/dist/cjs/components/EditableTable/EditableCell.st.css.js +9 -4
  36. package/dist/cjs/components/EditableTable/EditableCell.st.css.js.map +1 -1
  37. package/dist/cjs/components/EditableTable/EditableCell.uni.driver.js +4 -0
  38. package/dist/cjs/components/EditableTable/EditableCell.uni.driver.js.map +1 -1
  39. package/dist/cjs/components/EditableTable/EditableTable.js +21 -14
  40. package/dist/cjs/components/EditableTable/EditableTable.js.map +1 -1
  41. package/dist/cjs/components/EditableTable/EditableTable.uni.driver.js +4 -0
  42. package/dist/cjs/components/EditableTable/EditableTable.uni.driver.js.map +1 -1
  43. package/dist/cjs/components/EditableTable/HeaderActionsPopover.st.css.js +2 -2
  44. package/dist/cjs/components/EditableTable/HeaderActionsPopover.st.css.js.map +1 -1
  45. package/dist/cjs/components/EditableTable/cellTypes/CellViewLayout.st.css.js +2 -2
  46. package/dist/cjs/components/EditableTable/cellTypes/CellViewLayout.st.css.js.map +1 -1
  47. package/dist/cjs/components/EditableTable/cellTypes/address/Edit.js +7 -6
  48. package/dist/cjs/components/EditableTable/cellTypes/address/Edit.js.map +1 -1
  49. package/dist/cjs/components/EditableTable/cellTypes/address/Edit.st.css.js +3 -3
  50. package/dist/cjs/components/EditableTable/cellTypes/address/Edit.st.css.js.map +1 -1
  51. package/dist/cjs/components/EditableTable/cellTypes/address/Edit.uni.driver.js +10 -6
  52. package/dist/cjs/components/EditableTable/cellTypes/address/Edit.uni.driver.js.map +1 -1
  53. package/dist/cjs/components/EditableTable/cellTypes/address/View.js +1 -1
  54. package/dist/cjs/components/EditableTable/cellTypes/address/View.js.map +1 -1
  55. package/dist/cjs/components/EditableTable/cellTypes/address/index.js +9 -12
  56. package/dist/cjs/components/EditableTable/cellTypes/address/index.js.map +1 -1
  57. package/dist/cjs/components/EditableTable/cellTypes/array/Edit.st.css.js +3 -3
  58. package/dist/cjs/components/EditableTable/cellTypes/array/Edit.st.css.js.map +1 -1
  59. package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js +3 -3
  60. package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js.map +1 -1
  61. package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js +3 -3
  62. package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js.map +1 -1
  63. package/dist/cjs/components/EditableTable/cellTypes/color/Edit.st.css.js +2 -2
  64. package/dist/cjs/components/EditableTable/cellTypes/color/Edit.st.css.js.map +1 -1
  65. package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js +3 -3
  66. package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js.map +1 -1
  67. package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
  68. package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js.map +1 -1
  69. package/dist/cjs/components/EditableTable/cellTypes/datetime/Edit.st.css.js +8 -8
  70. package/dist/cjs/components/EditableTable/cellTypes/datetime/Edit.st.css.js.map +1 -1
  71. package/dist/cjs/components/EditableTable/cellTypes/datetime/View.st.css.js +7 -7
  72. package/dist/cjs/components/EditableTable/cellTypes/datetime/View.st.css.js.map +1 -1
  73. package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js +3 -3
  74. package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js.map +1 -1
  75. package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
  76. package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js.map +1 -1
  77. package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js +3 -3
  78. package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js.map +1 -1
  79. package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js +3 -3
  80. package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js.map +1 -1
  81. package/dist/cjs/components/EditableTable/cellTypes/object/Edit.st.css.js +3 -3
  82. package/dist/cjs/components/EditableTable/cellTypes/object/Edit.st.css.js.map +1 -1
  83. package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
  84. package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js.map +1 -1
  85. package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js +3 -3
  86. package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js.map +1 -1
  87. package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js +4 -4
  88. package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js.map +1 -1
  89. package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js +2 -2
  90. package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js.map +1 -1
  91. package/dist/cjs/components/EditableTable/cellTypes/time/Edit.st.css.js +4 -4
  92. package/dist/cjs/components/EditableTable/cellTypes/time/Edit.st.css.js.map +1 -1
  93. package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js +3 -3
  94. package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js.map +1 -1
  95. package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js +5 -5
  96. package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js.map +1 -1
  97. package/dist/cjs/components/EditableTable/useClearFocusOnBlur.js +10 -2
  98. package/dist/cjs/components/EditableTable/useClearFocusOnBlur.js.map +1 -1
  99. package/dist/cjs/components/EmptyState/EmptyStateBase.st.css.js +2 -2
  100. package/dist/cjs/components/EmptyState/EmptyStateBase.st.css.js.map +1 -1
  101. package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js +2 -2
  102. package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js.map +1 -1
  103. package/dist/cjs/components/EntityPageFields/EntityPageField.js +78 -8
  104. package/dist/cjs/components/EntityPageFields/EntityPageField.js.map +1 -1
  105. package/dist/cjs/components/EntityPageFields/EntityPageFields.js +5 -4
  106. package/dist/cjs/components/EntityPageFields/EntityPageFields.js.map +1 -1
  107. package/dist/cjs/components/EntityPageFields/EntityPageReferenceField.js +10 -31
  108. package/dist/cjs/components/EntityPageFields/EntityPageReferenceField.js.map +1 -1
  109. package/dist/cjs/components/EntityPageFields/EntityPageReferenceValue.js +71 -0
  110. package/dist/cjs/components/EntityPageFields/EntityPageReferenceValue.js.map +1 -0
  111. package/dist/cjs/components/EntityPageFields/useReferencedSchema.js +42 -0
  112. package/dist/cjs/components/EntityPageFields/useReferencedSchema.js.map +1 -0
  113. package/dist/cjs/components/Fade/Fade.st.css.js +2 -2
  114. package/dist/cjs/components/Fade/Fade.st.css.js.map +1 -1
  115. package/dist/cjs/components/FieldCell/FieldCell.js +24 -22
  116. package/dist/cjs/components/FieldCell/FieldCell.js.map +1 -1
  117. package/dist/cjs/components/Heading/Heading.st.css.js +2 -2
  118. package/dist/cjs/components/Heading/Heading.st.css.js.map +1 -1
  119. package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js +3 -3
  120. package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js.map +1 -1
  121. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js +2 -2
  122. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
  123. package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js +3 -3
  124. package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js.map +1 -1
  125. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  126. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
  127. package/dist/cjs/components/MaxLines/MaxLines.st.css.js +2 -2
  128. package/dist/cjs/components/MaxLines/MaxLines.st.css.js.map +1 -1
  129. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +5 -5
  130. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
  131. package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  132. package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
  133. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js +5 -5
  134. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
  135. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
  136. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
  137. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
  138. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
  139. package/dist/cjs/components/PickerContent/PickerContent.st.css.js +2 -2
  140. package/dist/cjs/components/PickerContent/PickerContent.st.css.js.map +1 -1
  141. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js +4 -4
  142. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
  143. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  144. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
  145. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  146. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
  147. package/dist/cjs/components/SetupWidget/SetupWidget.st.css.js +10 -10
  148. package/dist/cjs/components/SetupWidget/SetupWidget.st.css.js.map +1 -1
  149. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js +3 -3
  150. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
  151. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js +2 -2
  152. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
  153. package/dist/cjs/components/Table/AddFieldColumnHeader.js +91 -44
  154. package/dist/cjs/components/Table/AddFieldColumnHeader.js.map +1 -1
  155. package/dist/cjs/components/Table/AddFieldColumnHeader.st.css +43 -20
  156. package/dist/cjs/components/Table/AddFieldColumnHeader.st.css.js +14 -5
  157. package/dist/cjs/components/Table/AddFieldColumnHeader.st.css.js.map +1 -1
  158. package/dist/cjs/components/Table/AddFieldColumnHeader.uni.driver.js +27 -0
  159. package/dist/cjs/components/Table/AddFieldColumnHeader.uni.driver.js.map +1 -0
  160. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js +3 -3
  161. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
  162. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  163. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
  164. package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
  165. package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js.map +1 -1
  166. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  167. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
  168. package/dist/cjs/components/common.st.css.js +4 -4
  169. package/dist/cjs/components/common.st.css.js.map +1 -1
  170. package/dist/cjs/hooks/useCollectionTableResize.js +5 -0
  171. package/dist/cjs/hooks/useCollectionTableResize.js.map +1 -1
  172. package/dist/cjs/hooks/useCreateWSRColumnBase.js +2 -1
  173. package/dist/cjs/hooks/useCreateWSRColumnBase.js.map +1 -1
  174. package/dist/cjs/index.js.map +1 -1
  175. package/dist/cjs/schema/EntityPageFieldsCard.js +8 -8
  176. package/dist/cjs/schema/EntityPageFieldsCard.js.map +1 -1
  177. package/dist/cjs/state/CollectionFieldsSourceState.js +13 -2
  178. package/dist/cjs/state/CollectionFieldsSourceState.js.map +1 -1
  179. package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
  180. package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js.map +1 -1
  181. package/dist/cjs/state/ColumnSizesState.js +7 -1
  182. package/dist/cjs/state/ColumnSizesState.js.map +1 -1
  183. package/dist/cjs/state/CustomColumnsEntityPageState.js +3 -4
  184. package/dist/cjs/state/CustomColumnsEntityPageState.js.map +1 -1
  185. package/dist/cjs/state/CustomColumnsState.js +32 -2
  186. package/dist/cjs/state/CustomColumnsState.js.map +1 -1
  187. package/dist/cjs/state/EditableTable/fieldTypeToCellType.js +1 -1
  188. package/dist/cjs/state/EditableTable/fieldTypeToCellType.js.map +1 -1
  189. package/dist/cjs/state/EntityPage/resolveEntityPageFields.js +15 -9
  190. package/dist/cjs/state/EntityPage/resolveEntityPageFields.js.map +1 -1
  191. package/dist/cjs/state/EntityPageFieldsCardState.js +5 -10
  192. package/dist/cjs/state/EntityPageFieldsCardState.js.map +1 -1
  193. package/dist/cjs/state/FormPage/FormPageHeader.st.css.js +2 -2
  194. package/dist/cjs/state/FormPage/FormPageHeader.st.css.js.map +1 -1
  195. package/dist/cjs/state/ToolbarCollectionState.js +7 -1
  196. package/dist/cjs/state/ToolbarCollectionState.js.map +1 -1
  197. package/dist/cjs/state/buildEditableFieldColumns.js +8 -2
  198. package/dist/cjs/state/buildEditableFieldColumns.js.map +1 -1
  199. package/dist/cjs/state/buildFieldColumns.js +6 -1
  200. package/dist/cjs/state/buildFieldColumns.js.map +1 -1
  201. package/dist/cjs/styles.global.css +2 -2
  202. package/dist/cjs/version.js +1 -1
  203. package/dist/cjs/version.js.map +1 -1
  204. package/dist/docs/AI Assistant.md +2 -0
  205. package/dist/docs/ActionCellProps.md +2 -0
  206. package/dist/docs/Allow Users to Add Extended Fields.md +4 -0
  207. package/dist/docs/AutoCompleteFilter.md +4 -0
  208. package/dist/docs/Collection Toolkit.md +116 -0
  209. package/dist/docs/Collection to Entity Flow.md +145 -0
  210. package/dist/docs/CollectionEmptyState.md +5 -3
  211. package/dist/docs/CollectionErrorState.md +2 -0
  212. package/dist/docs/CollectionNoResultsState.md +4 -0
  213. package/dist/docs/CollectionOptimisticActions.md +12 -8
  214. package/dist/docs/CollectionPage.Content.md +2 -0
  215. package/dist/docs/CollectionPage.Header.md +5 -3
  216. package/dist/docs/CollectionPage.md +2 -0
  217. package/dist/docs/CollectionPremiumEmptyState.md +4 -0
  218. package/dist/docs/CollectionSearch.md +6 -4
  219. package/dist/docs/Component Tests.md +4 -0
  220. package/dist/docs/Composition and Providers.md +135 -0
  221. package/dist/docs/ComputedQuery.md +2 -0
  222. package/dist/docs/CustomColumns.md +11 -9
  223. package/dist/docs/CustomFieldType.md +7 -5
  224. package/dist/docs/CustomFieldsViewWidget.md +4 -0
  225. package/dist/docs/CustomFieldsWidget.md +11 -7
  226. package/dist/docs/DateRangeFilter.Components.md +2 -0
  227. package/dist/docs/Display Extended Fields.md +4 -0
  228. package/dist/docs/Enable Filters for Extended Fields.md +4 -0
  229. package/dist/docs/EntityPage.AdditionalContent.md +2 -0
  230. package/dist/docs/EntityPage.Card.md +2 -0
  231. package/dist/docs/EntityPage.Content.md +2 -0
  232. package/dist/docs/EntityPage.Header.md +4 -0
  233. package/dist/docs/EntityPage.MainContent.md +2 -0
  234. package/dist/docs/EntityPage.Slots.md +2 -0
  235. package/dist/docs/EntityPage.md +13 -11
  236. package/dist/docs/EntityPageState.md +2 -0
  237. package/dist/docs/Explore Apps.md +2 -0
  238. package/dist/docs/ExportTo.md +8 -4
  239. package/dist/docs/Filter Overview.md +3 -1
  240. package/dist/docs/Grid Sections.md +2 -0
  241. package/dist/docs/Grid.md +8 -6
  242. package/dist/docs/GridDragAndDrop.md +2 -0
  243. package/dist/docs/GridFolders.md +4 -0
  244. package/dist/docs/GridFoldersSection.md +2 -0
  245. package/dist/docs/Highlighted Search.md +2 -0
  246. package/dist/docs/ImportButton.md +11 -7
  247. package/dist/docs/InMemoryBackend.md +2 -0
  248. package/dist/docs/Indeterminate.md +6 -2
  249. package/dist/docs/Internal Scroll.md +4 -2
  250. package/dist/docs/More Actions.md +11 -9
  251. package/dist/docs/MultiAutoInlineCheckboxFilter.md +2 -0
  252. package/dist/docs/MultiBulkActionToolbar.md +8 -6
  253. package/dist/docs/MultiInlineCheckboxFilter.md +2 -0
  254. package/dist/docs/MultiLevelSorting.md +5 -3
  255. package/dist/docs/MultiSelectCheckboxFilter.md +4 -0
  256. package/dist/docs/MultiSelectCollectionFilter.md +4 -0
  257. package/dist/docs/NestedTable.md +10 -6
  258. package/dist/docs/NumberRangeFilter.md +2 -0
  259. package/dist/docs/OperatorFilterPicker.md +2 -0
  260. package/dist/docs/PageWrapper.md +2 -0
  261. package/dist/docs/PatternsReactRoute.md +9 -1
  262. package/dist/docs/PatternsReactRouter.md +14 -2
  263. package/dist/docs/PickerContent.md +2 -0
  264. package/dist/docs/PickerModal.md +9 -5
  265. package/dist/docs/PickerStandalone.md +8 -4
  266. package/dist/docs/PrimaryActionButton.md +2 -0
  267. package/dist/docs/PrimaryActions.md +2 -0
  268. package/dist/docs/PrimaryPageButton.md +2 -0
  269. package/dist/docs/RadioGroupFilter.md +2 -0
  270. package/dist/docs/Reading the Doc Indices.md +186 -0
  271. package/dist/docs/RequestId.md +2 -0
  272. package/dist/docs/SecondaryActions.md +2 -0
  273. package/dist/docs/SettingsPage.AdditionalContent.md +2 -0
  274. package/dist/docs/SettingsPage.Card.md +2 -0
  275. package/dist/docs/SettingsPage.Content.md +2 -0
  276. package/dist/docs/SettingsPage.Header.md +4 -0
  277. package/dist/docs/SettingsPage.MainContent.md +2 -0
  278. package/dist/docs/SettingsPage.md +9 -7
  279. package/dist/docs/SettingsPageState.md +2 -0
  280. package/dist/docs/SingleSelectFilter.md +9 -5
  281. package/dist/docs/Sled Tests.md +4 -0
  282. package/dist/docs/Sortable Columns.md +4 -2
  283. package/dist/docs/Suggestions.md +6 -4
  284. package/dist/docs/SummaryBar.md +7 -5
  285. package/dist/docs/Table Sections.md +6 -4
  286. package/dist/docs/Table.md +16 -12
  287. package/dist/docs/TableDragAndDrop.md +8 -4
  288. package/dist/docs/TableFolders.md +7 -3
  289. package/dist/docs/TableGridSwitch.md +4 -2
  290. package/dist/docs/TableGridSwitchDragAndDrop.md +2 -0
  291. package/dist/docs/TableGridSwitchFolders.md +7 -3
  292. package/dist/docs/TableTopNotification.md +6 -2
  293. package/dist/docs/TabsFilter.md +6 -4
  294. package/dist/docs/Tags.md +9 -5
  295. package/dist/docs/TagsWidget.md +4 -0
  296. package/dist/docs/ToolbarFilters.md +12 -10
  297. package/dist/docs/ToolbarSecondaryActions.md +6 -4
  298. package/dist/docs/ToolbarTitle.md +8 -6
  299. package/dist/docs/Views.md +6 -4
  300. package/dist/docs/WidgetsFormProvider.md +2 -0
  301. package/dist/docs/WixPatternsBMProvider.md +2 -0
  302. package/dist/docs/WixPatternsBaseProvider.md +4 -0
  303. package/dist/docs/WixPatternsEssentialsProvider.md +2 -0
  304. package/dist/docs/WixPatternsGizaProvider.md +2 -0
  305. package/dist/docs/WixPatternsProvider.md +2 -0
  306. package/dist/docs/Working with Cache.md +4 -0
  307. package/dist/docs/arrayFilter.md +2 -0
  308. package/dist/docs/bulkActionModal.md +2 -0
  309. package/dist/docs/customFilter.md +2 -0
  310. package/dist/docs/dateRangeFilter.Factories.md +2 -0
  311. package/dist/docs/deleteSecondaryAction.md +2 -0
  312. package/dist/docs/idNameArrayFilter.md +4 -0
  313. package/dist/docs/index.json +684 -165
  314. package/dist/docs/operatorFilter.md +2 -0
  315. package/dist/docs/stringFilter.md +2 -0
  316. package/dist/docs/stringsArrayFilter.md +2 -0
  317. package/dist/docs/useAmbassadorCollection.md +4 -0
  318. package/dist/docs/useCollection.md +5 -19
  319. package/dist/docs/useEntity.md +2 -0
  320. package/dist/docs/useEntityPage.md +41 -1
  321. package/dist/docs/useEntityPageContext.md +2 -0
  322. package/dist/docs/useFilterCollection.md +2 -0
  323. package/dist/docs/useGridCollection.md +2 -0
  324. package/dist/docs/useGridFolders.md +2 -0
  325. package/dist/docs/useItemsSelectionFilter.md +2 -0
  326. package/dist/docs/useNestedTable.md +4 -0
  327. package/dist/docs/useOptimisticActions.md +11 -7
  328. package/dist/docs/usePatternsNavigate.md +4 -2
  329. package/dist/docs/usePickerContent.md +2 -0
  330. package/dist/docs/usePickerModal.md +4 -0
  331. package/dist/docs/usePickerStandalone.md +4 -0
  332. package/dist/docs/useSelector.md +2 -0
  333. package/dist/docs/useSettingsPage.md +2 -0
  334. package/dist/docs/useSettingsPageContext.md +2 -0
  335. package/dist/docs/useStaticListFilterCollection.md +2 -0
  336. package/dist/docs/useTableCollection.md +2 -0
  337. package/dist/docs/useTableFolders.md +2 -0
  338. package/dist/docs/useTableGridSwitchCollection.md +4 -0
  339. package/dist/docs/useTableGridSwitchFolders.md +2 -0
  340. package/dist/docs/useWidgetsFormContext.md +2 -0
  341. package/dist/docs/withDashboard.md +2 -0
  342. package/dist/dts-bundle/components/AutoCompleteFilter.d.ts +2 -2
  343. package/dist/dts-bundle/components/CollectionOptimisticActions.d.ts +2 -2
  344. package/dist/dts-bundle/components/CollectionPage.d.ts +2 -2
  345. package/dist/dts-bundle/components/CollectionSearch.d.ts +1 -1
  346. package/dist/dts-bundle/components/CollectionToolbarFilters.d.ts +1 -1
  347. package/dist/dts-bundle/components/Controller.d.ts +48 -0
  348. package/dist/dts-bundle/components/DateRangeFilter.d.ts +2 -2
  349. package/dist/dts-bundle/components/EntityPage.d.ts +2 -2
  350. package/dist/dts-bundle/components/ExportButton.d.ts +2 -2
  351. package/dist/dts-bundle/components/Grid.d.ts +6 -6
  352. package/dist/dts-bundle/components/GridFolders.d.ts +5 -5
  353. package/dist/dts-bundle/components/MoreActions.d.ts +1 -1
  354. package/dist/dts-bundle/components/MultiAutoInlineCheckboxFilter.d.ts +1 -1
  355. package/dist/dts-bundle/components/MultiBulkActionToolbar.d.ts +1 -1
  356. package/dist/dts-bundle/components/MultiInlineCheckboxFilter.d.ts +1 -1
  357. package/dist/dts-bundle/components/MultiSelectCheckboxFilter.d.ts +2 -2
  358. package/dist/dts-bundle/components/MultiSelectCollectionFilter.d.ts +2 -2
  359. package/dist/dts-bundle/components/NumberRangeFilter.d.ts +2 -2
  360. package/dist/dts-bundle/components/OperatorFilterPicker.d.ts +1 -1
  361. package/dist/dts-bundle/components/PickerModal.d.ts +1 -1
  362. package/dist/dts-bundle/components/PrimaryActions.d.ts +1 -1
  363. package/dist/dts-bundle/components/RadioGroupFilter.d.ts +1 -1
  364. package/dist/dts-bundle/components/SecondaryActions.d.ts +1 -1
  365. package/dist/dts-bundle/components/SettingsPage.d.ts +1 -1
  366. package/dist/dts-bundle/components/SingleSelectFilter.d.ts +2 -2
  367. package/dist/dts-bundle/components/Table.d.ts +3 -3
  368. package/dist/dts-bundle/components/TableFolders.d.ts +6 -6
  369. package/dist/dts-bundle/components/TableGridSwitch.d.ts +9 -9
  370. package/dist/dts-bundle/components/TabsFilter.d.ts +2 -2
  371. package/dist/dts-bundle/exports/core.d.ts +1 -0
  372. package/dist/dts-bundle/exports/form.d.ts +2 -0
  373. package/dist/dts-bundle/exports/index.d.ts +1 -0
  374. package/dist/dts-bundle/exports/schema.d.ts +2 -0
  375. package/dist/dts-bundle/functions/dateRangeFilter.d.ts +1 -1
  376. package/dist/dts-bundle/functions/deleteSecondaryAction.d.ts +2 -2
  377. package/dist/dts-bundle/hooks/useCollection.d.ts +331 -0
  378. package/dist/dts-bundle/hooks/useCreateCollection.d.ts +5 -5
  379. package/dist/dts-bundle/hooks/useEntity.d.ts +1 -1
  380. package/dist/dts-bundle/hooks/useEntityPage.d.ts +9 -723
  381. package/dist/dts-bundle/hooks/useEntityPageContext.d.ts +1 -1
  382. package/dist/dts-bundle/hooks/useExportConfig.d.ts +2 -2
  383. package/dist/dts-bundle/hooks/useFilterCollection.d.ts +5 -5
  384. package/dist/dts-bundle/hooks/useGridCollection.d.ts +6 -6
  385. package/dist/dts-bundle/hooks/useGridFolders.d.ts +2 -2
  386. package/dist/dts-bundle/hooks/useOptimisticActions.d.ts +3 -3
  387. package/dist/dts-bundle/hooks/usePickerModal.d.ts +8 -5
  388. package/dist/dts-bundle/hooks/useStaticListFilterCollection.d.ts +1 -1
  389. package/dist/dts-bundle/hooks/useTableCollection.d.ts +6 -6
  390. package/dist/dts-bundle/hooks/useTableFolders.d.ts +2 -2
  391. package/dist/dts-bundle/hooks/useTableGridSwitchCollection.d.ts +6 -6
  392. package/dist/dts-bundle/index.json +643 -150
  393. package/dist/dts-bundle/index.txt +112 -0
  394. package/dist/dts-bundle/types/ActionCell.d.ts +2 -2
  395. package/dist/dts-bundle/types/ActionCellProps.d.ts +3 -2
  396. package/dist/dts-bundle/types/BulkActionModalRenderPropParams.d.ts +2 -2
  397. package/dist/dts-bundle/types/CollectionTableBaseProps.d.ts +10 -10
  398. package/dist/dts-bundle/types/CollectionViewsDropdownBaseProps.d.ts +1 -1
  399. package/dist/dts-bundle/types/Column.d.ts +1 -1
  400. package/dist/dts-bundle/types/ComputedQuery.d.ts +1 -1
  401. package/dist/dts-bundle/types/CursorQuery.d.ts +4 -4
  402. package/dist/dts-bundle/types/EntityPageState.d.ts +12 -473
  403. package/dist/dts-bundle/types/EntityPageStateParams.d.ts +7 -721
  404. package/dist/dts-bundle/types/FilterProps.d.ts +1 -1
  405. package/dist/dts-bundle/types/GridFoldersState.d.ts +1 -1
  406. package/dist/dts-bundle/types/GridState.d.ts +1 -1
  407. package/dist/dts-bundle/types/OffsetQuery.d.ts +4 -4
  408. package/dist/dts-bundle/types/OnSaveParams.d.ts +7 -721
  409. package/dist/dts-bundle/types/SchemaSource.d.ts +799 -0
  410. package/dist/dts-bundle/types/TableColumn.d.ts +1 -1
  411. package/dist/dts-bundle/types/TableFoldersState.d.ts +2 -2
  412. package/dist/dts-bundle/types/TableGridSwitchState.d.ts +3 -3
  413. package/dist/dts-bundle/types/TableState.d.ts +2 -2
  414. package/dist/dts-bundle/types/TagsProps.d.ts +4 -4
  415. package/dist/dts-bundle/types/ToolbarBaseProps.d.ts +4 -4
  416. package/dist/dts-bundle/types/ToolbarCollectionBaseProps.d.ts +10 -10
  417. package/dist/dts-bundle/types/ToolbarTitleProps.d.ts +1 -1
  418. package/dist/dts-bundle/types/UseEntityPageParams.d.ts +8 -722
  419. package/dist/dts-bundle/types/UseFormReturn.d.ts +713 -0
  420. package/dist/esm/components/CardContainer/CardContainer.st.css.js +2 -2
  421. package/dist/esm/components/CmsFieldManagement/CmsFieldForm.st.css.js +2 -2
  422. package/dist/esm/components/CmsFieldManagement/CmsFieldModal.st.css.js +2 -2
  423. package/dist/esm/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js +2 -2
  424. package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
  425. package/dist/esm/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
  426. package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +2 -2
  427. package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js.map +1 -1
  428. package/dist/esm/components/CollectionTable/CollectionTable.st.css.js +2 -2
  429. package/dist/esm/components/CollectionTable/CollectionTable.uni.driver.js +8 -1
  430. package/dist/esm/components/CollectionTable/CollectionTable.uni.driver.js.map +1 -1
  431. package/dist/esm/components/CollectionTable/CollectionTableWSRTable.st.css.js +2 -2
  432. package/dist/esm/components/CollectionTable/CollectionTableWSRTable.st.css.js.map +1 -1
  433. package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
  434. package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
  435. package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  436. package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
  437. package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  438. package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
  439. package/dist/esm/components/EditableTable/EditableCell.js +3 -2
  440. package/dist/esm/components/EditableTable/EditableCell.js.map +1 -1
  441. package/dist/esm/components/EditableTable/EditableCell.st.css +32 -2
  442. package/dist/esm/components/EditableTable/EditableCell.st.css.js +3 -3
  443. package/dist/esm/components/EditableTable/EditableCell.st.css.js.map +1 -1
  444. package/dist/esm/components/EditableTable/EditableCell.uni.driver.js +4 -0
  445. package/dist/esm/components/EditableTable/EditableCell.uni.driver.js.map +1 -1
  446. package/dist/esm/components/EditableTable/EditableTable.js +13 -6
  447. package/dist/esm/components/EditableTable/EditableTable.js.map +1 -1
  448. package/dist/esm/components/EditableTable/EditableTable.uni.driver.js +5 -1
  449. package/dist/esm/components/EditableTable/EditableTable.uni.driver.js.map +1 -1
  450. package/dist/esm/components/EditableTable/HeaderActionsPopover.st.css.js +2 -2
  451. package/dist/esm/components/EditableTable/HeaderActionsPopover.st.css.js.map +1 -1
  452. package/dist/esm/components/EditableTable/cellTypes/CellViewLayout.st.css.js +2 -2
  453. package/dist/esm/components/EditableTable/cellTypes/address/Edit.js +2 -1
  454. package/dist/esm/components/EditableTable/cellTypes/address/Edit.js.map +1 -1
  455. package/dist/esm/components/EditableTable/cellTypes/address/Edit.st.css.js +2 -2
  456. package/dist/esm/components/EditableTable/cellTypes/address/Edit.uni.driver.js +9 -6
  457. package/dist/esm/components/EditableTable/cellTypes/address/Edit.uni.driver.js.map +1 -1
  458. package/dist/esm/components/EditableTable/cellTypes/address/View.js +2 -2
  459. package/dist/esm/components/EditableTable/cellTypes/address/View.js.map +1 -1
  460. package/dist/esm/components/EditableTable/cellTypes/address/index.js +6 -12
  461. package/dist/esm/components/EditableTable/cellTypes/address/index.js.map +1 -1
  462. package/dist/esm/components/EditableTable/cellTypes/array/Edit.st.css.js +2 -2
  463. package/dist/esm/components/EditableTable/cellTypes/array/Edit.st.css.js.map +1 -1
  464. package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.st.css.js +2 -2
  465. package/dist/esm/components/EditableTable/cellTypes/boolean/View.st.css.js +2 -2
  466. package/dist/esm/components/EditableTable/cellTypes/color/Edit.st.css.js +2 -2
  467. package/dist/esm/components/EditableTable/cellTypes/date/Edit.st.css.js +2 -2
  468. package/dist/esm/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
  469. package/dist/esm/components/EditableTable/cellTypes/datetime/Edit.st.css.js +2 -2
  470. package/dist/esm/components/EditableTable/cellTypes/datetime/Edit.st.css.js.map +1 -1
  471. package/dist/esm/components/EditableTable/cellTypes/datetime/View.st.css.js +2 -2
  472. package/dist/esm/components/EditableTable/cellTypes/datetime/View.st.css.js.map +1 -1
  473. package/dist/esm/components/EditableTable/cellTypes/email/Edit.st.css.js +2 -2
  474. package/dist/esm/components/EditableTable/cellTypes/email/Edit.st.css.js.map +1 -1
  475. package/dist/esm/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
  476. package/dist/esm/components/EditableTable/cellTypes/number/Edit.st.css.js +2 -2
  477. package/dist/esm/components/EditableTable/cellTypes/number/Edit.st.css.js.map +1 -1
  478. package/dist/esm/components/EditableTable/cellTypes/number/View.st.css.js +2 -2
  479. package/dist/esm/components/EditableTable/cellTypes/object/Edit.st.css.js +2 -2
  480. package/dist/esm/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
  481. package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css.js +2 -2
  482. package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css.js.map +1 -1
  483. package/dist/esm/components/EditableTable/cellTypes/text/Edit.st.css.js +2 -2
  484. package/dist/esm/components/EditableTable/cellTypes/text/Edit.st.css.js.map +1 -1
  485. package/dist/esm/components/EditableTable/cellTypes/text/View.st.css.js +2 -2
  486. package/dist/esm/components/EditableTable/cellTypes/time/Edit.st.css.js +2 -2
  487. package/dist/esm/components/EditableTable/cellTypes/time/Edit.st.css.js.map +1 -1
  488. package/dist/esm/components/EditableTable/cellTypes/url/Edit.st.css.js +2 -2
  489. package/dist/esm/components/EditableTable/cellTypes/url/View.st.css.js +2 -2
  490. package/dist/esm/components/EditableTable/useClearFocusOnBlur.js +9 -2
  491. package/dist/esm/components/EditableTable/useClearFocusOnBlur.js.map +1 -1
  492. package/dist/esm/components/EmptyState/EmptyStateBase.st.css.js +2 -2
  493. package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js +2 -2
  494. package/dist/esm/components/EntityPageFields/EntityPageField.js +13 -3
  495. package/dist/esm/components/EntityPageFields/EntityPageField.js.map +1 -1
  496. package/dist/esm/components/EntityPageFields/EntityPageFields.js +3 -3
  497. package/dist/esm/components/EntityPageFields/EntityPageFields.js.map +1 -1
  498. package/dist/esm/components/EntityPageFields/EntityPageReferenceField.js +4 -25
  499. package/dist/esm/components/EntityPageFields/EntityPageReferenceField.js.map +1 -1
  500. package/dist/esm/components/EntityPageFields/EntityPageReferenceValue.js +37 -0
  501. package/dist/esm/components/EntityPageFields/EntityPageReferenceValue.js.map +1 -0
  502. package/dist/esm/components/EntityPageFields/useReferencedSchema.js +30 -0
  503. package/dist/esm/components/EntityPageFields/useReferencedSchema.js.map +1 -0
  504. package/dist/esm/components/Fade/Fade.st.css.js +2 -2
  505. package/dist/esm/components/Fade/Fade.st.css.js.map +1 -1
  506. package/dist/esm/components/FieldCell/FieldCell.js +1 -1
  507. package/dist/esm/components/FieldCell/FieldCell.js.map +1 -1
  508. package/dist/esm/components/Heading/Heading.st.css.js +2 -2
  509. package/dist/esm/components/Heading/Heading.st.css.js.map +1 -1
  510. package/dist/esm/components/ImportButton/ImportStepUpload.st.css.js +2 -2
  511. package/dist/esm/components/InputOverflow/InputOverflow.st.css.js +2 -2
  512. package/dist/esm/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
  513. package/dist/esm/components/LoadingRow/LoadingRow.st.css.js +3 -3
  514. package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  515. package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
  516. package/dist/esm/components/MaxLines/MaxLines.st.css.js.map +1 -1
  517. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
  518. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
  519. package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  520. package/dist/esm/components/NestedTable/NestedTableRow.st.css.js +2 -2
  521. package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
  522. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
  523. package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
  524. package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js +2 -2
  525. package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  526. package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  527. package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
  528. package/dist/esm/components/SetupWidget/SetupWidget.st.css.js +2 -2
  529. package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js +2 -2
  530. package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +2 -2
  531. package/dist/esm/components/Table/AddFieldColumnHeader.js +50 -25
  532. package/dist/esm/components/Table/AddFieldColumnHeader.js.map +1 -1
  533. package/dist/esm/components/Table/AddFieldColumnHeader.st.css +43 -20
  534. package/dist/esm/components/Table/AddFieldColumnHeader.st.css.js +3 -3
  535. package/dist/esm/components/Table/AddFieldColumnHeader.st.css.js.map +1 -1
  536. package/dist/esm/components/Table/AddFieldColumnHeader.uni.driver.js +22 -0
  537. package/dist/esm/components/Table/AddFieldColumnHeader.uni.driver.js.map +1 -0
  538. package/dist/esm/components/TabsFilter/TabsFilter.st.css.js +2 -2
  539. package/dist/esm/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
  540. package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  541. package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
  542. package/dist/esm/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
  543. package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  544. package/dist/esm/components/common.st.css.js +2 -2
  545. package/dist/esm/hooks/useCollectionTableResize.js +5 -0
  546. package/dist/esm/hooks/useCollectionTableResize.js.map +1 -1
  547. package/dist/esm/hooks/useCreateWSRColumnBase.js +2 -2
  548. package/dist/esm/hooks/useCreateWSRColumnBase.js.map +1 -1
  549. package/dist/esm/index.js.map +1 -1
  550. package/dist/esm/schema/EntityPageFieldsCard.js.map +1 -1
  551. package/dist/esm/state/CollectionFieldsSourceState.js +8 -0
  552. package/dist/esm/state/CollectionFieldsSourceState.js.map +1 -1
  553. package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
  554. package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js.map +1 -1
  555. package/dist/esm/state/ColumnSizesState.js +7 -1
  556. package/dist/esm/state/ColumnSizesState.js.map +1 -1
  557. package/dist/esm/state/CustomColumnsEntityPageState.js +2 -3
  558. package/dist/esm/state/CustomColumnsEntityPageState.js.map +1 -1
  559. package/dist/esm/state/CustomColumnsState.js +32 -3
  560. package/dist/esm/state/CustomColumnsState.js.map +1 -1
  561. package/dist/esm/state/EditableTable/fieldTypeToCellType.js +1 -1
  562. package/dist/esm/state/EntityPage/resolveEntityPageFields.js +12 -9
  563. package/dist/esm/state/EntityPage/resolveEntityPageFields.js.map +1 -1
  564. package/dist/esm/state/EntityPageFieldsCardState.js +4 -6
  565. package/dist/esm/state/EntityPageFieldsCardState.js.map +1 -1
  566. package/dist/esm/state/FormPage/FormPageHeader.st.css.js +2 -2
  567. package/dist/esm/state/ToolbarCollectionState.js +9 -1
  568. package/dist/esm/state/ToolbarCollectionState.js.map +1 -1
  569. package/dist/esm/state/buildEditableFieldColumns.js +7 -2
  570. package/dist/esm/state/buildEditableFieldColumns.js.map +1 -1
  571. package/dist/esm/state/buildFieldColumns.js +4 -1
  572. package/dist/esm/state/buildFieldColumns.js.map +1 -1
  573. package/dist/esm/styles.global.css +2 -2
  574. package/dist/esm/version.js +1 -1
  575. package/dist/{docs → examples}/CollectionEmptyState/2-ctas.tsx +6 -0
  576. package/dist/{docs → examples}/CollectionEmptyState/demo.tsx +6 -0
  577. package/dist/{docs → examples}/CollectionEmptyState/passive-empty-state.tsx +6 -0
  578. package/dist/{docs → examples}/CollectionOptimisticActions/create-many.tsx +6 -0
  579. package/dist/{docs → examples}/CollectionOptimisticActions/create-one.tsx +6 -0
  580. package/dist/{docs → examples}/CollectionOptimisticActions/delete-all.tsx +14 -0
  581. package/dist/{docs → examples}/CollectionOptimisticActions/delete-many.tsx +6 -0
  582. package/dist/{docs → examples}/CollectionOptimisticActions/delete-one.tsx +6 -0
  583. package/dist/{docs → examples}/CollectionOptimisticActions/update-all.tsx +14 -0
  584. package/dist/{docs → examples}/CollectionOptimisticActions/update-many.tsx +6 -0
  585. package/dist/{docs → examples}/CollectionOptimisticActions/update-one.tsx +6 -0
  586. package/dist/{docs → examples}/CollectionPage.Header/full.tsx +6 -0
  587. package/dist/{docs → examples}/CollectionPage.Header/with-badges.tsx +6 -0
  588. package/dist/{docs → examples}/CollectionPage.Header/without-total.tsx +6 -0
  589. package/dist/{docs → examples}/CollectionSearch/default.tsx +6 -0
  590. package/dist/{docs → examples}/CollectionSearch/max-length.tsx +6 -0
  591. package/dist/{docs → examples}/CollectionSearch/placeholder.tsx +6 -0
  592. package/dist/{docs → examples}/CollectionSearch/search-highlighting.tsx +6 -0
  593. package/dist/{docs → examples}/CustomColumns/add-a-tooltip.tsx +6 -0
  594. package/dist/{docs → examples}/CustomColumns/basic.tsx +6 -0
  595. package/dist/{docs → examples}/CustomColumns/exclude-columns.tsx +6 -0
  596. package/dist/{docs → examples}/CustomColumns/freeze-column-reorder.tsx +6 -0
  597. package/dist/{docs → examples}/CustomColumns/get-visible-columns.tsx +6 -0
  598. package/dist/{docs → examples}/CustomColumns/hide-specific-columns-by-default.tsx +6 -0
  599. package/dist/{docs → examples}/CustomColumns/load-only-selected-columns.tsx +6 -0
  600. package/dist/{docs → examples}/CustomColumns/lock-columns.tsx +6 -0
  601. package/dist/{docs → examples}/CustomColumns/reorder-columns.tsx +6 -0
  602. package/dist/{docs → examples}/CustomFieldType/add-field-modal.tsx +6 -0
  603. package/dist/{docs → examples}/CustomFieldType/editable-cell.tsx +6 -0
  604. package/dist/{docs → examples}/CustomFieldType/entity-page-form.tsx +6 -0
  605. package/dist/{docs → examples}/CustomFieldType/table-cell-and-filter.tsx +6 -0
  606. package/dist/{docs → examples}/CustomFieldsWidget/basic.tsx +12 -0
  607. package/dist/{docs → examples}/CustomFieldsWidget/controllable-state.tsx +12 -0
  608. package/dist/{docs → examples}/CustomFieldsWidget/empty-state.tsx +6 -0
  609. package/dist/{docs → examples}/CustomFieldsWidget/inline-theme.tsx +12 -0
  610. package/dist/{docs → examples}/CustomFieldsWidget/responsive.tsx +12 -0
  611. package/dist/{docs → examples}/CustomFieldsWidget/with-tpa-fields.tsx +12 -0
  612. package/dist/{docs → examples}/CustomFieldsWidget/without-entity-page.tsx +12 -0
  613. package/dist/{docs → examples}/EntityPage/2-columns.tsx +6 -0
  614. package/dist/{docs → examples}/EntityPage/basic.tsx +6 -0
  615. package/dist/{docs → examples}/EntityPage/delete-action.tsx +6 -0
  616. package/dist/{docs → examples}/EntityPage/delete-error-handling.tsx +6 -0
  617. package/dist/{docs → examples}/EntityPage/demo.tsx +6 -0
  618. package/dist/{docs → examples}/EntityPage/error-on-fetch.tsx +6 -0
  619. package/dist/{docs → examples}/EntityPage/error-on-save.tsx +6 -0
  620. package/dist/{docs → examples}/EntityPage/input-initialization-with-controller.tsx +6 -0
  621. package/dist/{docs → examples}/EntityPage/input-initialization-with-usecontroller.tsx +6 -0
  622. package/dist/{docs → examples}/EntityPage/loading.tsx +6 -0
  623. package/dist/{docs → examples}/EntityPage/overriding-save-button-text.tsx +6 -0
  624. package/dist/{docs → examples}/ExportTo/cta-is-out-of-the-table.tsx +14 -0
  625. package/dist/{docs → examples}/ExportTo/export-all-table.tsx +14 -0
  626. package/dist/{docs → examples}/ExportTo/export-filtered-table.tsx +14 -0
  627. package/dist/{docs → examples}/ExportTo/export-table-with-selection-bulk-selection.tsx +14 -0
  628. package/dist/{docs → examples}/Filter Overview/interactive-example.tsx +6 -0
  629. package/dist/{docs → examples}/Grid/card-with-a-cta-that-opens-a-modal.tsx +6 -0
  630. package/dist/{docs → examples}/Grid/card-with-a-cta-that-opens-a-popup.tsx +6 -0
  631. package/dist/{docs → examples}/Grid/demo.tsx +6 -0
  632. package/dist/{docs → examples}/Grid/grid-sections.tsx +6 -0
  633. package/dist/{docs → examples}/Grid/grid-with-a-reduced-width.tsx +6 -0
  634. package/dist/{docs → examples}/Grid/use-the-preset-prop.tsx +6 -0
  635. package/dist/{docs → examples}/ImportButton/backup-error-handling.tsx +14 -0
  636. package/dist/{docs → examples}/ImportButton/cms-import.tsx +12 -0
  637. package/dist/{docs → examples}/ImportButton/create-new-field.tsx +12 -0
  638. package/dist/{docs → examples}/ImportButton/platformized-import-fields-inline.tsx +14 -0
  639. package/dist/{docs → examples}/ImportButton/platformized-import-from-a-source.tsx +6 -0
  640. package/dist/{docs → examples}/ImportButton/required-fields.tsx +14 -0
  641. package/dist/{docs → examples}/ImportButton/update-or-skip-by-id.tsx +12 -0
  642. package/dist/{docs → examples}/Indeterminate/all-indeterminate.tsx +14 -0
  643. package/dist/{docs → examples}/Indeterminate/items-indeterminate-status.tsx +14 -0
  644. package/dist/{docs → examples}/Internal Scroll/full-width-section.tsx +6 -0
  645. package/dist/{docs → examples}/Internal Scroll/narrow-side-section.tsx +6 -0
  646. package/dist/{docs → examples}/More Actions/collection-page-2.tsx +6 -0
  647. package/dist/{docs → examples}/More Actions/collection-page.tsx +6 -0
  648. package/dist/{docs → examples}/More Actions/explore-related-apps.tsx +6 -0
  649. package/dist/{docs → examples}/More Actions/featured-more-actions-custom-position.tsx +6 -0
  650. package/dist/{docs → examples}/More Actions/featured-more-actions-opt-out.tsx +6 -0
  651. package/dist/{docs → examples}/More Actions/featured-more-actions.tsx +6 -0
  652. package/dist/{docs → examples}/More Actions/integrate-with-extension.tsx +6 -0
  653. package/dist/{docs → examples}/More Actions/more-actions-in-the-toolbar.tsx +6 -0
  654. package/dist/{docs → examples}/More Actions/more-actions-with-a-divider.tsx +6 -0
  655. package/dist/{docs → examples}/MultiBulkActionToolbar/basic-secondary-action.tsx +6 -0
  656. package/dist/{docs → examples}/MultiBulkActionToolbar/bulk-action.tsx +6 -0
  657. package/dist/{docs → examples}/MultiBulkActionToolbar/extend-menu-items.tsx +6 -0
  658. package/dist/{docs → examples}/MultiBulkActionToolbar/maximum-selection.tsx +6 -0
  659. package/dist/{docs → examples}/MultiBulkActionToolbar/popover-menu.tsx +6 -0
  660. package/dist/{docs → examples}/MultiBulkActionToolbar/primary-secondary-actions-with-a-divider.tsx +6 -0
  661. package/dist/{docs → examples}/MultiLevelSorting/basic-multi-level-sorting.tsx +6 -0
  662. package/dist/{docs → examples}/MultiLevelSorting/multi-level-sorting-with-custom-sort-order.tsx +6 -0
  663. package/dist/{docs → examples}/MultiLevelSorting/multi-level-sorting-with-defined-sort-directions.tsx +6 -0
  664. package/dist/{docs → examples}/NestedTable/drag-and-drop.tsx +14 -0
  665. package/dist/{docs → examples}/NestedTable/filters.tsx +6 -0
  666. package/dist/{docs → examples}/NestedTable/flat-mode-search.tsx +14 -0
  667. package/dist/{docs → examples}/NestedTable/node-api-usage.tsx +14 -0
  668. package/dist/{docs → examples}/NestedTable/single-entity.tsx +14 -0
  669. package/dist/{docs → examples}/NestedTable/various-entities.tsx +14 -0
  670. package/dist/{docs → examples}/PickerModal/multi-select.tsx +14 -0
  671. package/dist/{docs → examples}/PickerModal/pre-selected-item.tsx +14 -0
  672. package/dist/{docs → examples}/PickerModal/search-override.tsx +14 -0
  673. package/dist/{docs → examples}/PickerModal/single-selection.tsx +14 -0
  674. package/dist/{docs → examples}/PickerModal/with-filter-dropdown.tsx +14 -0
  675. package/dist/{docs → examples}/PickerStandalone/basic.tsx +13 -0
  676. package/dist/{docs → examples}/PickerStandalone/createnew.tsx +13 -0
  677. package/dist/{docs → examples}/PickerStandalone/custom-empty-state.tsx +12 -0
  678. package/dist/{docs → examples}/PickerStandalone/custom-items.tsx +13 -0
  679. package/dist/{docs → examples}/SettingsPage/2-columns.tsx +6 -0
  680. package/dist/{docs → examples}/SettingsPage/basic.tsx +6 -0
  681. package/dist/{docs → examples}/SettingsPage/error-on-fetch.tsx +6 -0
  682. package/dist/{docs → examples}/SettingsPage/error-on-save.tsx +6 -0
  683. package/dist/{docs → examples}/SettingsPage/input-initialization-with-controller.tsx +6 -0
  684. package/dist/{docs → examples}/SettingsPage/input-initialization-with-usecontroller.tsx +6 -0
  685. package/dist/{docs → examples}/SettingsPage/loading.tsx +6 -0
  686. package/dist/{docs → examples}/SingleSelectFilter/custom-render-items.tsx +12 -0
  687. package/dist/{docs → examples}/SingleSelectFilter/empty-state.tsx +6 -0
  688. package/dist/{docs → examples}/SingleSelectFilter/sections.tsx +12 -0
  689. package/dist/{docs → examples}/SingleSelectFilter/server-data.tsx +12 -0
  690. package/dist/{docs → examples}/SingleSelectFilter/static-data.tsx +6 -0
  691. package/dist/{docs → examples}/Sortable Columns/basic-sortable-column.tsx +6 -0
  692. package/dist/{docs → examples}/Sortable Columns/custom-sort-order.tsx +6 -0
  693. package/dist/{docs → examples}/Suggestions/carousel-customization.tsx +6 -0
  694. package/dist/{docs → examples}/Suggestions/carousel-vs-container-layout.tsx +6 -0
  695. package/dist/{docs → examples}/Suggestions/custom-card-rendering.tsx +6 -0
  696. package/dist/{docs → examples}/Suggestions/with-transform-function.tsx +6 -0
  697. package/dist/{docs → examples}/SummaryBar/error.tsx +6 -0
  698. package/dist/{docs → examples}/SummaryBar/loading-with-error.tsx +6 -0
  699. package/dist/{docs → examples}/SummaryBar/loading-with-success.tsx +6 -0
  700. package/dist/{docs → examples}/SummaryBar/loading.tsx +6 -0
  701. package/dist/{docs → examples}/SummaryBar/success.tsx +6 -0
  702. package/dist/{docs → examples}/Table/basic-table.tsx +6 -0
  703. package/dist/{docs → examples}/Table/cursor-pagination.tsx +12 -0
  704. package/dist/{docs → examples}/Table/fetch-total-async.tsx +12 -0
  705. package/dist/{docs → examples}/Table/filters.tsx +6 -0
  706. package/dist/{docs → examples}/Table/header.tsx +6 -0
  707. package/dist/{docs → examples}/Table/horizontal-scroll.tsx +6 -0
  708. package/dist/{docs → examples}/Table/table-disabled-rows.tsx +6 -0
  709. package/dist/{docs → examples}/Table/using-ambassador.tsx +12 -0
  710. package/dist/{docs → examples}/Table/using-with-external-data-source.tsx +6 -0
  711. package/dist/{docs → examples}/Table/virtual.tsx +6 -0
  712. package/dist/{docs → examples}/Table Sections/demo.tsx +6 -0
  713. package/dist/{docs → examples}/Table Sections/with-badge.tsx +6 -0
  714. package/dist/{docs → examples}/Table Sections/with-collapse.tsx +6 -0
  715. package/dist/{docs → examples}/Table Sections/with-summary.tsx +6 -0
  716. package/dist/{docs → examples}/TableDragAndDrop/save-order-mode.tsx +6 -0
  717. package/dist/{docs → examples}/TableDragAndDrop/specific-filters.tsx +6 -0
  718. package/dist/{docs → examples}/TableDragAndDrop/specific-tabs.tsx +12 -0
  719. package/dist/{docs → examples}/TableDragAndDrop/table.tsx +6 -0
  720. package/dist/{docs → examples}/TableFolders/demo.tsx +14 -0
  721. package/dist/{docs → examples}/TableFolders/table-folders.tsx +14 -0
  722. package/dist/{docs → examples}/TableFolders/with-tags.tsx +15 -0
  723. package/dist/{docs → examples}/TableGridSwitch/basic-table-grid-switch.tsx +6 -0
  724. package/dist/{docs → examples}/TableGridSwitch/custom-columns.tsx +6 -0
  725. package/dist/{docs → examples}/TableGridSwitchFolders/demo.tsx +14 -0
  726. package/dist/{docs → examples}/TableGridSwitchFolders/tablegridswitchfolders.tsx +14 -0
  727. package/dist/{docs → examples}/TableGridSwitchFolders/with-tags.tsx +15 -0
  728. package/dist/{docs → examples}/TableTopNotification/base.tsx +14 -0
  729. package/dist/{docs → examples}/TableTopNotification/nested-table.tsx +14 -0
  730. package/dist/{docs → examples}/TabsFilter/basic-tabs.tsx +6 -0
  731. package/dist/{docs → examples}/TabsFilter/disabled-tabs.tsx +6 -0
  732. package/dist/{docs → examples}/TabsFilter/tabs-with-a-basic-counter.tsx +6 -0
  733. package/dist/{docs → examples}/TabsFilter/tabs-with-a-counter-badge.tsx +6 -0
  734. package/dist/{docs → examples}/Tags/basic.tsx +12 -0
  735. package/dist/{docs → examples}/Tags/custom-config-for-tags-column.tsx +12 -0
  736. package/dist/{docs → examples}/Tags/customized-filter-position.tsx +12 -0
  737. package/dist/{docs → examples}/Tags/customized-tags-column-position.tsx +12 -0
  738. package/dist/{docs → examples}/Tags/on-table-with-folders.tsx +15 -0
  739. package/dist/{docs → examples}/ToolbarFilters/2-filters-with-a-title.tsx +6 -0
  740. package/dist/{docs → examples}/ToolbarFilters/2-filters-without-a-title.tsx +6 -0
  741. package/dist/{docs → examples}/ToolbarFilters/add-filter-presets-for-future-dates.tsx +6 -0
  742. package/dist/{docs → examples}/ToolbarFilters/apply-changes.tsx +6 -0
  743. package/dist/{docs → examples}/ToolbarFilters/custom-label-for-tags.tsx +6 -0
  744. package/dist/{docs → examples}/ToolbarFilters/customize-filter-display-tags.tsx +6 -0
  745. package/dist/{docs → examples}/ToolbarFilters/mini-toolbar-with-filters.tsx +6 -0
  746. package/dist/{docs → examples}/ToolbarFilters/mini-toolbar.tsx +6 -0
  747. package/dist/{docs → examples}/ToolbarFilters/more-than-2-filters.tsx +6 -0
  748. package/dist/{docs → examples}/ToolbarFilters/postpone-collection-filter-initial-fetch.tsx +6 -0
  749. package/dist/{docs → examples}/ToolbarSecondaryActions/grouped-actions-with-dividers.tsx +6 -0
  750. package/dist/{docs → examples}/ToolbarSecondaryActions/mixed-buttons-and-dropdown-menus.tsx +6 -0
  751. package/dist/{docs → examples}/ToolbarSecondaryActions/multiple-actions-with-dropdown-menus.tsx +6 -0
  752. package/dist/{docs → examples}/ToolbarSecondaryActions/multiple-secondary-action-buttons.tsx +6 -0
  753. package/dist/{docs → examples}/ToolbarTitle/title-and-count.tsx +6 -0
  754. package/dist/{docs → examples}/ToolbarTitle/title-count-and-the-collection-s-item-limit.tsx +6 -0
  755. package/dist/{docs → examples}/ToolbarTitle/title-subtitle-and-learn-more.tsx +6 -0
  756. package/dist/{docs → examples}/ToolbarTitle/title.tsx +6 -0
  757. package/dist/{docs → examples}/Views/basic-view-that-can-be-chosen.tsx +6 -0
  758. package/dist/{docs → examples}/Views/basic-view.tsx +6 -0
  759. package/dist/{docs → examples}/Views/view-with-selected-columns.tsx +6 -0
  760. package/dist/{docs → examples}/Views/views-separated-by-category-in-the-dropdown.tsx +6 -0
  761. package/dist/{docs → examples}/useOptimisticActions/custom-error-handling.tsx +6 -0
  762. package/dist/{docs → examples}/useOptimisticActions/default-behaviour.tsx +6 -0
  763. package/dist/{docs → examples}/useOptimisticActions/error-handling-and-retries.tsx +6 -0
  764. package/dist/{docs → examples}/useOptimisticActions/items-orders.tsx +6 -0
  765. package/dist/{docs → examples}/useOptimisticActions/revision-handling.tsx +6 -0
  766. package/dist/{docs → examples}/useOptimisticActions/success-toast-with-undo.tsx +6 -0
  767. package/dist/{docs → examples}/useOptimisticActions/update-with-query.tsx +14 -0
  768. package/dist/types/components/ActionCell/ActionCell.d.ts +1 -0
  769. package/dist/types/components/ActionCell/ActionCell.d.ts.map +1 -1
  770. package/dist/types/components/CollectionSectionHeader/CollectionSectionHeader.st.css.d.ts.map +1 -1
  771. package/dist/types/components/CollectionTable/CollectionTable.uni.driver.d.ts +20 -4
  772. package/dist/types/components/CollectionTable/CollectionTable.uni.driver.d.ts.map +1 -1
  773. package/dist/types/components/CollectionTable/CollectionTableWSRTable.st.css.d.ts.map +1 -1
  774. package/dist/types/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.d.ts.map +1 -1
  775. package/dist/types/components/EditableTable/EditableCell.d.ts +2 -1
  776. package/dist/types/components/EditableTable/EditableCell.d.ts.map +1 -1
  777. package/dist/types/components/EditableTable/EditableCell.st.css.d.ts +5 -0
  778. package/dist/types/components/EditableTable/EditableCell.st.css.d.ts.map +1 -1
  779. package/dist/types/components/EditableTable/EditableCell.uni.driver.d.ts +18 -2
  780. package/dist/types/components/EditableTable/EditableCell.uni.driver.d.ts.map +1 -1
  781. package/dist/types/components/EditableTable/EditableTable.d.ts.map +1 -1
  782. package/dist/types/components/EditableTable/EditableTable.uni.driver.d.ts +109 -48
  783. package/dist/types/components/EditableTable/EditableTable.uni.driver.d.ts.map +1 -1
  784. package/dist/types/components/EditableTable/HeaderActionsPopover.st.css.d.ts.map +1 -1
  785. package/dist/types/components/EditableTable/cellTypes/address/Edit.d.ts +1 -1
  786. package/dist/types/components/EditableTable/cellTypes/address/Edit.d.ts.map +1 -1
  787. package/dist/types/components/EditableTable/cellTypes/address/Edit.uni.driver.d.ts +5 -2
  788. package/dist/types/components/EditableTable/cellTypes/address/Edit.uni.driver.d.ts.map +1 -1
  789. package/dist/types/components/EditableTable/cellTypes/address/View.d.ts +1 -1
  790. package/dist/types/components/EditableTable/cellTypes/address/View.d.ts.map +1 -1
  791. package/dist/types/components/EditableTable/cellTypes/address/index.d.ts.map +1 -1
  792. package/dist/types/components/EditableTable/cellTypes/array/Edit.st.css.d.ts.map +1 -1
  793. package/dist/types/components/EditableTable/cellTypes/datetime/Edit.st.css.d.ts.map +1 -1
  794. package/dist/types/components/EditableTable/cellTypes/datetime/View.st.css.d.ts.map +1 -1
  795. package/dist/types/components/EditableTable/cellTypes/email/Edit.st.css.d.ts.map +1 -1
  796. package/dist/types/components/EditableTable/cellTypes/number/Edit.st.css.d.ts.map +1 -1
  797. package/dist/types/components/EditableTable/cellTypes/select/Edit.st.css.d.ts.map +1 -1
  798. package/dist/types/components/EditableTable/cellTypes/text/Edit.st.css.d.ts.map +1 -1
  799. package/dist/types/components/EditableTable/cellTypes/time/Edit.st.css.d.ts.map +1 -1
  800. package/dist/types/components/EditableTable/useClearFocusOnBlur.d.ts +2 -1
  801. package/dist/types/components/EditableTable/useClearFocusOnBlur.d.ts.map +1 -1
  802. package/dist/types/components/EntityPageFields/EntityPageField.d.ts +3 -1
  803. package/dist/types/components/EntityPageFields/EntityPageField.d.ts.map +1 -1
  804. package/dist/types/components/EntityPageFields/EntityPageFields.d.ts.map +1 -1
  805. package/dist/types/components/EntityPageFields/EntityPageReferenceField.d.ts.map +1 -1
  806. package/dist/types/components/EntityPageFields/EntityPageReferenceValue.d.ts +11 -0
  807. package/dist/types/components/EntityPageFields/EntityPageReferenceValue.d.ts.map +1 -0
  808. package/dist/types/components/EntityPageFields/useReferencedSchema.d.ts +8 -0
  809. package/dist/types/components/EntityPageFields/useReferencedSchema.d.ts.map +1 -0
  810. package/dist/types/components/Fade/Fade.st.css.d.ts.map +1 -1
  811. package/dist/types/components/FieldCell/FieldCell.d.ts +5 -0
  812. package/dist/types/components/FieldCell/FieldCell.d.ts.map +1 -1
  813. package/dist/types/components/Heading/Heading.st.css.d.ts.map +1 -1
  814. package/dist/types/components/InputOverflow/InputOverflow.st.css.d.ts.map +1 -1
  815. package/dist/types/components/MaxLines/MaxLines.st.css.d.ts.map +1 -1
  816. package/dist/types/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.d.ts.map +1 -1
  817. package/dist/types/components/NestedTable/NestedTable.uni.driver.d.ts +1 -0
  818. package/dist/types/components/NestedTable/NestedTable.uni.driver.d.ts.map +1 -1
  819. package/dist/types/components/ScrollableContent/ScrollableContent.st.css.d.ts.map +1 -1
  820. package/dist/types/components/Table/AddFieldColumnHeader.d.ts +5 -1
  821. package/dist/types/components/Table/AddFieldColumnHeader.d.ts.map +1 -1
  822. package/dist/types/components/Table/AddFieldColumnHeader.st.css.d.ts +10 -1
  823. package/dist/types/components/Table/AddFieldColumnHeader.st.css.d.ts.map +1 -1
  824. package/dist/types/components/Table/AddFieldColumnHeader.uni.driver.d.ts +20 -0
  825. package/dist/types/components/Table/AddFieldColumnHeader.uni.driver.d.ts.map +1 -0
  826. package/dist/types/components/Table/Table.uni.driver.d.ts +1 -0
  827. package/dist/types/components/Table/Table.uni.driver.d.ts.map +1 -1
  828. package/dist/types/components/TableFolders/TableFolders.uni.driver.d.ts +1 -0
  829. package/dist/types/components/TableFolders/TableFolders.uni.driver.d.ts.map +1 -1
  830. package/dist/types/components/TableGridSwitch/TableGridSwitch.uni.driver.d.ts +1 -0
  831. package/dist/types/components/TableGridSwitch/TableGridSwitch.uni.driver.d.ts.map +1 -1
  832. package/dist/types/components/TabsFilter/TabsFilter.st.css.d.ts.map +1 -1
  833. package/dist/types/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.d.ts.map +1 -1
  834. package/dist/types/hooks/useCollectionTableResize.d.ts.map +1 -1
  835. package/dist/types/hooks/useCreateWSRColumnBase.d.ts.map +1 -1
  836. package/dist/types/index.d.ts +1 -1
  837. package/dist/types/index.d.ts.map +1 -1
  838. package/dist/types/schema/EntityPageFieldsCard.d.ts +2 -1
  839. package/dist/types/schema/EntityPageFieldsCard.d.ts.map +1 -1
  840. package/dist/types/state/CollectionFieldsSourceState.d.ts.map +1 -1
  841. package/dist/types/state/CollectionPage/CollectionPageHeader.st.css.d.ts.map +1 -1
  842. package/dist/types/state/ColumnSizesState.d.ts +2 -0
  843. package/dist/types/state/ColumnSizesState.d.ts.map +1 -1
  844. package/dist/types/state/CustomColumnsEntityPageState.d.ts +1 -1
  845. package/dist/types/state/CustomColumnsEntityPageState.d.ts.map +1 -1
  846. package/dist/types/state/CustomColumnsState.d.ts +7 -0
  847. package/dist/types/state/CustomColumnsState.d.ts.map +1 -1
  848. package/dist/types/state/EditableTable/fieldTypeToCellType.d.ts +1 -1
  849. package/dist/types/state/EntityPage/resolveEntityPageFields.d.ts +4 -4
  850. package/dist/types/state/EntityPage/resolveEntityPageFields.d.ts.map +1 -1
  851. package/dist/types/state/EntityPageFieldsCardState.d.ts +1 -3
  852. package/dist/types/state/EntityPageFieldsCardState.d.ts.map +1 -1
  853. package/dist/types/state/ToolbarCollectionState.d.ts.map +1 -1
  854. package/dist/types/state/buildEditableFieldColumns.d.ts.map +1 -1
  855. package/dist/types/state/buildFieldColumns.d.ts.map +1 -1
  856. package/dist/types/testkit/enzyme.d.ts +4 -0
  857. package/dist/types/testkit/enzyme.d.ts.map +1 -1
  858. package/dist/types/testkit/jsdom.d.ts +32 -0
  859. package/dist/types/testkit/jsdom.d.ts.map +1 -1
  860. package/dist/types/testkit/playwright.d.ts +32 -0
  861. package/dist/types/testkit/playwright.d.ts.map +1 -1
  862. package/dist/types/testkit/puppeteer.d.ts +32 -0
  863. package/dist/types/testkit/puppeteer.d.ts.map +1 -1
  864. package/dist/types/version.d.ts +1 -1
  865. package/package.json +8 -7
  866. package/src/components/ActionCell/ActionCell.ts +1 -0
  867. package/src/components/CardContainer/CardContainer.st.css.ts +2 -2
  868. package/src/components/CmsFieldManagement/CmsFieldForm.st.css.ts +2 -2
  869. package/src/components/CmsFieldManagement/CmsFieldModal.st.css.ts +2 -2
  870. package/src/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.ts +2 -2
  871. package/src/components/Collapse/Collapse.st.css.ts +2 -2
  872. package/src/components/CollectionPageNew/CollectionPage.st.css.ts +2 -2
  873. package/src/components/CollectionSectionHeader/CollectionSectionHeader.st.css.ts +2 -2
  874. package/src/components/CollectionTable/CollectionTable.st.css.ts +2 -2
  875. package/src/components/CollectionTable/CollectionTable.uni.driver.ts +13 -0
  876. package/src/components/CollectionTable/CollectionTableWSRTable.st.css.ts +2 -2
  877. package/src/components/CollectionToolbar/CollectionToolbar.st.css.ts +2 -2
  878. package/src/components/CollectionToolbar/SearchOrCustomFilter.st.css.ts +2 -2
  879. package/src/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.ts +2 -2
  880. package/src/components/CollectionViewsDropdown/ViewsDropdown.st.css.ts +2 -2
  881. package/src/components/DragHandle/DragHandle.st.css.ts +2 -2
  882. package/src/components/EditableTable/EditableCell.st.css +32 -2
  883. package/src/components/EditableTable/EditableCell.st.css.ts +3 -3
  884. package/src/components/EditableTable/EditableCell.tsx +4 -0
  885. package/src/components/EditableTable/EditableCell.uni.driver.ts +6 -0
  886. package/src/components/EditableTable/EditableTable.tsx +23 -6
  887. package/src/components/EditableTable/EditableTable.uni.driver.ts +15 -1
  888. package/src/components/EditableTable/HeaderActionsPopover.st.css.ts +2 -2
  889. package/src/components/EditableTable/cellTypes/CellViewLayout.st.css.ts +2 -2
  890. package/src/components/EditableTable/cellTypes/address/Edit.st.css.ts +2 -2
  891. package/src/components/EditableTable/cellTypes/address/Edit.tsx +6 -3
  892. package/src/components/EditableTable/cellTypes/address/Edit.uni.driver.ts +15 -8
  893. package/src/components/EditableTable/cellTypes/address/View.tsx +4 -4
  894. package/src/components/EditableTable/cellTypes/address/index.tsx +8 -15
  895. package/src/components/EditableTable/cellTypes/array/Edit.st.css.ts +2 -2
  896. package/src/components/EditableTable/cellTypes/boolean/Edit.st.css.ts +2 -2
  897. package/src/components/EditableTable/cellTypes/boolean/View.st.css.ts +2 -2
  898. package/src/components/EditableTable/cellTypes/color/Edit.st.css.ts +2 -2
  899. package/src/components/EditableTable/cellTypes/date/Edit.st.css.ts +2 -2
  900. package/src/components/EditableTable/cellTypes/date/View.st.css.ts +2 -2
  901. package/src/components/EditableTable/cellTypes/datetime/Edit.st.css.ts +2 -2
  902. package/src/components/EditableTable/cellTypes/datetime/View.st.css.ts +2 -2
  903. package/src/components/EditableTable/cellTypes/email/Edit.st.css.ts +2 -2
  904. package/src/components/EditableTable/cellTypes/email/View.st.css.ts +2 -2
  905. package/src/components/EditableTable/cellTypes/number/Edit.st.css.ts +2 -2
  906. package/src/components/EditableTable/cellTypes/number/View.st.css.ts +2 -2
  907. package/src/components/EditableTable/cellTypes/object/Edit.st.css.ts +2 -2
  908. package/src/components/EditableTable/cellTypes/object/View.st.css.ts +2 -2
  909. package/src/components/EditableTable/cellTypes/select/Edit.st.css.ts +2 -2
  910. package/src/components/EditableTable/cellTypes/text/Edit.st.css.ts +2 -2
  911. package/src/components/EditableTable/cellTypes/text/View.st.css.ts +2 -2
  912. package/src/components/EditableTable/cellTypes/time/Edit.st.css.ts +2 -2
  913. package/src/components/EditableTable/cellTypes/url/Edit.st.css.ts +2 -2
  914. package/src/components/EditableTable/cellTypes/url/View.st.css.ts +2 -2
  915. package/src/components/EditableTable/useClearFocusOnBlur.ts +13 -2
  916. package/src/components/EmptyState/EmptyStateBase.st.css.ts +2 -2
  917. package/src/components/EntityPage/EntityPagePlain.st.css.ts +2 -2
  918. package/src/components/EntityPageFields/EntityPageField.tsx +47 -2
  919. package/src/components/EntityPageFields/EntityPageFields.tsx +6 -6
  920. package/src/components/EntityPageFields/EntityPageReferenceField.tsx +5 -39
  921. package/src/components/EntityPageFields/EntityPageReferenceValue.tsx +64 -0
  922. package/src/components/EntityPageFields/useReferencedSchema.ts +42 -0
  923. package/src/components/Fade/Fade.st.css.ts +2 -2
  924. package/src/components/FieldCell/FieldCell.tsx +12 -1
  925. package/src/components/Heading/Heading.st.css.ts +2 -2
  926. package/src/components/ImportButton/ImportStepUpload.st.css.ts +2 -2
  927. package/src/components/InputOverflow/InputOverflow.st.css.ts +2 -2
  928. package/src/components/LoadingRow/LoadingRow.st.css.ts +3 -3
  929. package/src/components/MaxHeightText/MaxHeightText.st.css.ts +2 -2
  930. package/src/components/MaxLines/MaxLines.st.css.ts +2 -2
  931. package/src/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.ts +2 -2
  932. package/src/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.ts +2 -2
  933. package/src/components/NestedTable/NestedTableRow.st.css.ts +2 -2
  934. package/src/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.ts +2 -2
  935. package/src/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.ts +2 -2
  936. package/src/components/PickerContent/PickerContent.st.css.ts +2 -2
  937. package/src/components/PickerContent/PickerContentAdditionalStep.st.css.ts +2 -2
  938. package/src/components/PickerTableListItem/PickerTableListItem.st.css.ts +2 -2
  939. package/src/components/ScrollableContent/ScrollableContent.st.css.ts +2 -2
  940. package/src/components/SetupWidget/SetupWidget.st.css.ts +2 -2
  941. package/src/components/SkeletonCard/SkeletonCard.st.css.ts +2 -2
  942. package/src/components/SlidingModal/SlidingModal.st.css.ts +2 -2
  943. package/src/components/Table/AddFieldColumnHeader.st.css +43 -20
  944. package/src/components/Table/AddFieldColumnHeader.st.css.ts +3 -3
  945. package/src/components/Table/AddFieldColumnHeader.tsx +103 -54
  946. package/src/components/Table/AddFieldColumnHeader.uni.driver.ts +33 -0
  947. package/src/components/TabsFilter/TabsFilter.st.css.ts +2 -2
  948. package/src/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.ts +2 -2
  949. package/src/components/ToolbarItem/ToolbarItem.st.css.ts +2 -2
  950. package/src/components/ToolbarItemBox/ToolbarItemBox.st.css.ts +2 -2
  951. package/src/components/common.st.css.ts +2 -2
  952. package/src/hooks/useCollectionTableResize.ts +5 -0
  953. package/src/hooks/useCreateWSRColumnBase.tsx +4 -2
  954. package/src/index.ts +1 -0
  955. package/src/schema/EntityPageFieldsCard.tsx +2 -1
  956. package/src/state/CollectionFieldsSourceState.ts +12 -0
  957. package/src/state/CollectionPage/CollectionPageHeader.st.css.ts +2 -2
  958. package/src/state/ColumnSizesState.ts +8 -1
  959. package/src/state/CustomColumnsEntityPageState.ts +7 -4
  960. package/src/state/CustomColumnsState.ts +38 -3
  961. package/src/state/EditableTable/fieldTypeToCellType.ts +1 -1
  962. package/src/state/EntityPage/resolveEntityPageFields.ts +22 -11
  963. package/src/state/EntityPageFieldsCardState.ts +11 -12
  964. package/src/state/FormPage/FormPageHeader.st.css.ts +2 -2
  965. package/src/state/ToolbarCollectionState.ts +12 -1
  966. package/src/state/buildEditableFieldColumns.ts +7 -2
  967. package/src/state/buildFieldColumns.tsx +5 -0
  968. package/src/styles.global.css +2 -2
  969. package/src/version.ts +1 -1
@@ -92,9 +92,7 @@ class EntityPageFieldsCardState {
92
92
  return this.params.pageState.schema ?? ((_this$sourceState = this.sourceState) == null ? void 0 : _this$sourceState.schema) ?? null;
93
93
  }
94
94
 
95
- /** The fields the card offers — empty until the schema loads. A required
96
- * field is not hideable: hiding it would leave the form invalid with nothing
97
- * on screen to fix. */
95
+ /** The fields the card offers — empty until the schema loads. */
98
96
  get declaredFields() {
99
97
  const {
100
98
  schema
@@ -102,13 +100,10 @@ class EntityPageFieldsCardState {
102
100
  if (!schema) {
103
101
  return [];
104
102
  }
105
- return (0, _resolveEntityPageFields.resolveEntityPageFields)(schema.fields, schema.idField, this.params.fieldIds).map(field => {
106
- var _field$validation;
107
- return {
108
- id: field.id,
109
- hideable: !((_field$validation = field.validation) != null && _field$validation.required)
110
- };
111
- });
103
+ return (0, _resolveEntityPageFields.resolveEntityPageFields)(schema.fields, this.params.fieldIds).map(field => ({
104
+ id: field.id,
105
+ hideable: (0, _resolveEntityPageFields.isEntityPageFieldHideable)(field, schema.idField)
106
+ }));
112
107
  }
113
108
 
114
109
  /** What the card renders. Before the schema loads this is whatever the card
@@ -1 +1 @@
1
- {"version":3,"names":["_mobx","require","_bexCore","_resolveEntityPageFields","_SchemaCardState","_CustomColumnsEntityPageState","EntityPageFieldsCardState","constructor","params","_defineProperty2","default","TaskState","makeObservable","schema","computed","declaredFields","visibleFieldIds","isLayoutReady","canManageFields","schemaSource","pageState","sourceState","SourceState","container","source","undefined","cardState","SchemaCardState","fields","persistencyKey","panels","showManageFields","_params$pageState$sch","manageFieldsSource","fieldManagement","closeSidePanel","panelState","CustomColumnsEntityPageState","collectionId","fieldsState","isFieldsEditable","showFieldTypeIcons","dragAndDrop","modalsContainerRef","customColumnsState","_this$sourceState","resolveEntityPageFields","idField","fieldIds","map","field","_field$validation","id","hideable","validation","required","length","orderedFields","filter","isFieldVisible","status","initTask","isSuccess","isError","openManageFields","_this$panelState","toggleSidePanel","init","_this$loadTask$status","loadTask","runOnce","_this$sourceState2","load","promise","catch","releaseSaveHold","holdSave","disposers","when","addEventListener","events","_this$loadTask$status2","reaction","_this$sourceState3","loadedSchema","setLoadedSchema","setSchema","forEach","dispose","exports"],"sources":["../../../src/state/EntityPageFieldsCardState.ts"],"sourcesContent":["import { computed, makeObservable, reaction, when } from 'mobx';\nimport {\n addEventListener,\n SourceState,\n TaskState,\n type Schema,\n type WixPatternsContainer,\n} from '@wix/bex-core';\nimport type { CustomColumnsDragAndDrop } from '../components/CustomColumns/CustomColumnsDragAndDrop';\nimport { resolveEntityPageFields } from './EntityPage/resolveEntityPageFields';\nimport type { EntityPageState } from './EntityPage/EntityPageState';\nimport { SchemaCardState } from './SchemaCard/SchemaCardState';\nimport type { SchemaViewConfig } from './SchemaCard/SchemaFieldsState';\nimport type { ManageFieldsSource } from './ManageFieldsSource';\nimport { CustomColumnsEntityPageState } from './CustomColumnsEntityPageState';\n\nexport interface EntityPageFieldsCardStateParams {\n pageState: EntityPageState<any, any>;\n container: WixPatternsContainer;\n /** Namespace the per-user show/hide and order are stored under. */\n persistencyKey: string;\n /** Field ids to offer, in order. Omitted ⇒ every editable schema field. */\n fieldIds?: string[];\n /** Whether to build the manage-fields panel. Default: `true`. */\n showManageFields?: boolean;\n /** Passed in rather than imported so this stays free of component imports. */\n dragAndDrop?: typeof CustomColumnsDragAndDrop;\n /** Builds add / edit / delete field over the page's source. Passed in for the\n * same reason as `dragAndDrop`. Omitted ⇒ the panel only shows and reorders. */\n fieldManagement?: (params: {\n sourceState: SourceState<any>;\n closeSidePanel: () => void;\n }) => ManageFieldsSource;\n modalsContainerRef: {\n current: HTMLElement | null | undefined;\n };\n}\n\n/**\n * Owns the card's field layout: which of the page's schema fields are visible\n * and in what order, plus the panel that edits them.\n *\n * The schema loads after this state is created, so `init()` awaits the source's\n * load and everything below reads the result through computeds — the states are\n * built once, on the first render, and fill in when the schema arrives.\n */\nexport class EntityPageFieldsCardState {\n readonly cardState: SchemaCardState;\n readonly panelState?: CustomColumnsEntityPageState;\n /** Holds the loaded schema for the card. The page loads the same (memoized)\n * schema into its own copy; this one is also what the field mutations merge\n * their result into, so an added or renamed field shows up with no reload. */\n readonly sourceState?: SourceState<any>;\n /** Add / edit / delete field, when the page has a source and the panel is on. */\n readonly manageFieldsSource?: ManageFieldsSource;\n /** The source's schema load. Owned here rather than read off the page state,\n * because this state's `init()` runs before the page's (child effects run\n * first) and the stored layout must not be read before the fields exist. */\n readonly loadTask = new TaskState();\n private readonly params: EntityPageFieldsCardStateParams;\n\n constructor(params: EntityPageFieldsCardStateParams) {\n this.params = params;\n\n makeObservable(this, {\n schema: computed,\n declaredFields: computed,\n visibleFieldIds: computed,\n isLayoutReady: computed,\n canManageFields: computed,\n });\n\n const { schemaSource } = params.pageState;\n this.sourceState = schemaSource\n ? new SourceState({ container: params.container, source: schemaSource })\n : undefined;\n\n this.cardState = new SchemaCardState({\n fields: () => this.declaredFields,\n persistencyKey: params.persistencyKey,\n container: params.container,\n });\n\n const { panels } = params.pageState;\n\n if ((params.showManageFields ?? true) && panels) {\n this.manageFieldsSource =\n this.sourceState &&\n params.fieldManagement?.({\n sourceState: this.sourceState,\n closeSidePanel: panels.closeSidePanel,\n });\n this.panelState = new CustomColumnsEntityPageState({\n container: params.container,\n // The page's host, so this panel and anything else on the page take\n // turns rather than stacking.\n panels,\n // Namespaces the panel's column collection, the way a table's is\n // namespaced by its collection.\n collectionId: params.pageState.schemaSource?.collectionId,\n fieldsState: this.cardState.fieldsState,\n schema: () => this.schema,\n manageFieldsSource: this.manageFieldsSource,\n isFieldsEditable: true,\n showFieldTypeIcons: true,\n dragAndDrop: params.dragAndDrop,\n modalsContainerRef: params.modalsContainerRef,\n });\n\n // Where the registered panel reads it from — it renders with no props.\n params.pageState.customColumnsState = this.panelState;\n }\n }\n\n /** The page's schema, or this state's own copy until the page has one — this\n * load resolves first, since the page also waits for the entity fetch. They\n * are the same object (the source memoizes its load), and after a field\n * mutation the page holds the merged one, which `init` mirrors to it. */\n get schema(): Schema | null {\n return this.params.pageState.schema ?? this.sourceState?.schema ?? null;\n }\n\n /** The fields the card offers — empty until the schema loads. A required\n * field is not hideable: hiding it would leave the form invalid with nothing\n * on screen to fix. */\n get declaredFields(): SchemaViewConfig[] {\n const { schema } = this;\n if (!schema) {\n return [];\n }\n return resolveEntityPageFields(\n schema.fields,\n schema.idField,\n this.params.fieldIds,\n ).map((field) => ({\n id: field.id,\n hideable: !field.validation?.required,\n }));\n }\n\n /** What the card renders. Before the schema loads this is whatever the card\n * was asked for, which is also what the fields show a skeleton for. */\n get visibleFieldIds(): string[] | undefined {\n if (!this.declaredFields.length) {\n return this.params.fieldIds;\n }\n const { fieldsState } = this.cardState;\n return fieldsState.orderedFields\n .filter((field) => fieldsState.isFieldVisible(field.id))\n .map((field) => field.id);\n }\n\n get isLayoutReady(): boolean {\n const { status } = this.cardState.fieldsState.initTask;\n return status.isSuccess || status.isError;\n }\n\n get canManageFields(): boolean {\n return !!this.panelState && this.declaredFields.length > 0;\n }\n\n openManageFields() {\n this.panelState?.panels.toggleSidePanel('customColumns');\n }\n\n init() {\n // `loadSchema` is memoized on the source, so this shares the one fetch the\n // page and the collection already make.\n this.loadTask.runOnce(async () => {\n await this.sourceState?.load();\n });\n // The card renders its fields regardless; a failed load leaves the page\n // itself showing the error.\n this.loadTask.status.promise?.catch(() => null);\n\n const releaseSaveHold = this.params.pageState.holdSave();\n\n const disposers: (void | (() => void))[] = [\n when(() => this.isLayoutReady, releaseSaveHold),\n releaseSaveHold,\n // Hold the stored-layout read until the schema is in, so a saved\n // show/hide and order survives a reload. Registered before the card\n // state's init below, which is what collects the listeners.\n addEventListener(\n this.cardState.fieldsState.events,\n 'beforeInitialFetch',\n () => this.loadTask.status.promise?.catch(() => {}),\n ),\n // A field mutation replaces this state's loaded schema. The page keeps\n // its own copy, so update both public views of it together.\n reaction(\n () => this.sourceState?.loadedSchema,\n (loadedSchema) => {\n if (!loadedSchema) {\n return;\n }\n this.params.pageState.setLoadedSchema(loadedSchema);\n this.params.pageState.setSchema(loadedSchema.schema);\n },\n ),\n this.cardState.init(),\n ];\n\n return () => {\n disposers.forEach((dispose) => dispose?.());\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_mobx","require","_bexCore","_resolveEntityPageFields","_SchemaCardState","_CustomColumnsEntityPageState","EntityPageFieldsCardState","constructor","params","_defineProperty2","default","TaskState","makeObservable","schema","computed","declaredFields","visibleFieldIds","isLayoutReady","canManageFields","schemaSource","pageState","sourceState","SourceState","container","source","undefined","cardState","SchemaCardState","fields","persistencyKey","panels","showManageFields","_params$pageState$sch","manageFieldsSource","fieldManagement","closeSidePanel","panelState","CustomColumnsEntityPageState","collectionId","fieldsState","isFieldsEditable","showFieldTypeIcons","dragAndDrop","modalsContainerRef","customColumnsState","_this$sourceState","resolveEntityPageFields","fieldIds","map","field","id","hideable","isEntityPageFieldHideable","idField","length","orderedFields","filter","isFieldVisible","status","initTask","isSuccess","isError","openManageFields","_this$panelState","toggleSidePanel","init","_this$loadTask$status","loadTask","runOnce","_this$sourceState2","load","promise","catch","releaseSaveHold","holdSave","disposers","when","addEventListener","events","_this$loadTask$status2","reaction","_this$sourceState3","loadedSchema","setLoadedSchema","setSchema","forEach","dispose","exports"],"sources":["../../../src/state/EntityPageFieldsCardState.ts"],"sourcesContent":["import { computed, makeObservable, reaction, when } from 'mobx';\nimport {\n addEventListener,\n SourceState,\n TaskState,\n type Schema,\n type WixPatternsContainer,\n} from '@wix/bex-core';\nimport type { CustomColumnsDragAndDrop } from '../components/CustomColumns/CustomColumnsDragAndDrop';\nimport {\n isEntityPageFieldHideable,\n resolveEntityPageFields,\n} from './EntityPage/resolveEntityPageFields';\nimport type { EntityPageState } from './EntityPage/EntityPageState';\nimport { SchemaCardState } from './SchemaCard/SchemaCardState';\nimport type { SchemaViewConfig } from './SchemaCard/SchemaFieldsState';\nimport type { ManageFieldsSource } from './ManageFieldsSource';\nimport { CustomColumnsEntityPageState } from './CustomColumnsEntityPageState';\n\nexport interface EntityPageFieldsCardStateParams {\n pageState: EntityPageState<any, any>;\n container: WixPatternsContainer;\n /** Namespace the per-user show/hide and order are stored under. */\n persistencyKey: string;\n /** Field ids to offer, in order. Omitted ⇒ every editable schema field. */\n fieldIds?: string[];\n /** Whether to build the manage-fields panel. Default: `true`. */\n showManageFields?: boolean;\n /** Passed in rather than imported so this stays free of component imports. */\n dragAndDrop?: typeof CustomColumnsDragAndDrop;\n /** Builds add / edit / delete field over the page's source. Passed in for the\n * same reason as `dragAndDrop`. Omitted ⇒ the panel only shows and reorders. */\n fieldManagement?: (params: {\n sourceState: SourceState<any>;\n closeSidePanel: () => void;\n }) => ManageFieldsSource;\n modalsContainerRef: {\n current: HTMLElement | null | undefined;\n };\n}\n\n/**\n * Owns the card's field layout: which of the page's schema fields are visible\n * and in what order, plus the panel that edits them.\n *\n * The schema loads after this state is created, so `init()` awaits the source's\n * load and everything below reads the result through computeds — the states are\n * built once, on the first render, and fill in when the schema arrives.\n */\nexport class EntityPageFieldsCardState {\n readonly cardState: SchemaCardState;\n readonly panelState?: CustomColumnsEntityPageState;\n /** Holds the loaded schema for the card. The page loads the same (memoized)\n * schema into its own copy; this one is also what the field mutations merge\n * their result into, so an added or renamed field shows up with no reload. */\n readonly sourceState?: SourceState<any>;\n /** Add / edit / delete field, when the page has a source and the panel is on. */\n readonly manageFieldsSource?: ManageFieldsSource;\n /** The source's schema load. Owned here rather than read off the page state,\n * because this state's `init()` runs before the page's (child effects run\n * first) and the stored layout must not be read before the fields exist. */\n readonly loadTask = new TaskState();\n private readonly params: EntityPageFieldsCardStateParams;\n\n constructor(params: EntityPageFieldsCardStateParams) {\n this.params = params;\n\n makeObservable(this, {\n schema: computed,\n declaredFields: computed,\n visibleFieldIds: computed,\n isLayoutReady: computed,\n canManageFields: computed,\n });\n\n const { schemaSource } = params.pageState;\n this.sourceState = schemaSource\n ? new SourceState({ container: params.container, source: schemaSource })\n : undefined;\n\n this.cardState = new SchemaCardState({\n fields: () => this.declaredFields,\n persistencyKey: params.persistencyKey,\n container: params.container,\n });\n\n const { panels } = params.pageState;\n\n if ((params.showManageFields ?? true) && panels) {\n this.manageFieldsSource =\n this.sourceState &&\n params.fieldManagement?.({\n sourceState: this.sourceState,\n closeSidePanel: panels.closeSidePanel,\n });\n this.panelState = new CustomColumnsEntityPageState({\n container: params.container,\n // The page's host, so this panel and anything else on the page take\n // turns rather than stacking.\n panels,\n // Namespaces the panel's column collection, the way a table's is\n // namespaced by its collection.\n collectionId: params.pageState.schemaSource?.collectionId,\n fieldsState: this.cardState.fieldsState,\n schema: () => this.schema,\n manageFieldsSource: this.manageFieldsSource,\n isFieldsEditable: true,\n showFieldTypeIcons: true,\n dragAndDrop: params.dragAndDrop,\n modalsContainerRef: params.modalsContainerRef,\n });\n\n // Where the registered panel reads it from — it renders with no props.\n params.pageState.customColumnsState = this.panelState;\n }\n }\n\n /** The page's schema, or this state's own copy until the page has one — this\n * load resolves first, since the page also waits for the entity fetch. They\n * are the same object (the source memoizes its load), and after a field\n * mutation the page holds the merged one, which `init` mirrors to it. */\n get schema(): Schema | null {\n return this.params.pageState.schema ?? this.sourceState?.schema ?? null;\n }\n\n /** The fields the card offers — empty until the schema loads. */\n get declaredFields(): SchemaViewConfig[] {\n const { schema } = this;\n if (!schema) {\n return [];\n }\n return resolveEntityPageFields(schema.fields, this.params.fieldIds).map(\n (field) => ({\n id: field.id,\n hideable: isEntityPageFieldHideable(field, schema.idField),\n }),\n );\n }\n\n /** What the card renders. Before the schema loads this is whatever the card\n * was asked for, which is also what the fields show a skeleton for. */\n get visibleFieldIds(): string[] | undefined {\n if (!this.declaredFields.length) {\n return this.params.fieldIds;\n }\n const { fieldsState } = this.cardState;\n return fieldsState.orderedFields\n .filter((field) => fieldsState.isFieldVisible(field.id))\n .map((field) => field.id);\n }\n\n get isLayoutReady(): boolean {\n const { status } = this.cardState.fieldsState.initTask;\n return status.isSuccess || status.isError;\n }\n\n get canManageFields(): boolean {\n return !!this.panelState && this.declaredFields.length > 0;\n }\n\n openManageFields() {\n this.panelState?.panels.toggleSidePanel('customColumns');\n }\n\n init() {\n // `loadSchema` is memoized on the source, so this shares the one fetch the\n // page and the collection already make.\n this.loadTask.runOnce(async () => {\n await this.sourceState?.load();\n });\n // The card renders its fields regardless; a failed load leaves the page\n // itself showing the error.\n this.loadTask.status.promise?.catch(() => null);\n\n const releaseSaveHold = this.params.pageState.holdSave();\n\n const disposers: (void | (() => void))[] = [\n when(() => this.isLayoutReady, releaseSaveHold),\n releaseSaveHold,\n // Hold the stored-layout read until the schema is in, so a saved\n // show/hide and order survives a reload. Registered before the card\n // state's init below, which is what collects the listeners.\n addEventListener(\n this.cardState.fieldsState.events,\n 'beforeInitialFetch',\n () => this.loadTask.status.promise?.catch(() => {}),\n ),\n // A field mutation replaces this state's loaded schema. The page keeps\n // its own copy, so update both public views of it together.\n reaction(\n () => this.sourceState?.loadedSchema,\n (loadedSchema) => {\n if (!loadedSchema) {\n return;\n }\n this.params.pageState.setLoadedSchema(loadedSchema);\n this.params.pageState.setSchema(loadedSchema.schema);\n },\n ),\n this.cardState.init(),\n ];\n\n return () => {\n disposers.forEach((dispose) => dispose?.());\n };\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAQA,IAAAE,wBAAA,GAAAF,OAAA;AAKA,IAAAG,gBAAA,GAAAH,OAAA;AAGA,IAAAI,6BAAA,GAAAJ,OAAA;AAwBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMK,yBAAyB,CAAC;EAerCC,WAAWA,CAACC,MAAuC,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAZrD;AACF;AACA;IAFE,IAAAD,gBAAA,CAAAC,OAAA;IAIA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAEA;AACF;AACA;IAFE,IAAAD,gBAAA,CAAAC,OAAA,oBAGoB,IAAIC,kBAAS,CAAC,CAAC;IAAA,IAAAF,gBAAA,CAAAC,OAAA;IAIjC,IAAI,CAACF,MAAM,GAAGA,MAAM;IAEpB,IAAAI,oBAAc,EAAC,IAAI,EAAE;MACnBC,MAAM,EAAEC,cAAQ;MAChBC,cAAc,EAAED,cAAQ;MACxBE,eAAe,EAAEF,cAAQ;MACzBG,aAAa,EAAEH,cAAQ;MACvBI,eAAe,EAAEJ;IACnB,CAAC,CAAC;IAEF,MAAM;MAAEK;IAAa,CAAC,GAAGX,MAAM,CAACY,SAAS;IACzC,IAAI,CAACC,WAAW,GAAGF,YAAY,GAC3B,IAAIG,oBAAW,CAAC;MAAEC,SAAS,EAAEf,MAAM,CAACe,SAAS;MAAEC,MAAM,EAAEL;IAAa,CAAC,CAAC,GACtEM,SAAS;IAEb,IAAI,CAACC,SAAS,GAAG,IAAIC,gCAAe,CAAC;MACnCC,MAAM,EAAEA,CAAA,KAAM,IAAI,CAACb,cAAc;MACjCc,cAAc,EAAErB,MAAM,CAACqB,cAAc;MACrCN,SAAS,EAAEf,MAAM,CAACe;IACpB,CAAC,CAAC;IAEF,MAAM;MAAEO;IAAO,CAAC,GAAGtB,MAAM,CAACY,SAAS;IAEnC,IAAI,CAACZ,MAAM,CAACuB,gBAAgB,IAAI,IAAI,KAAKD,MAAM,EAAE;MAAA,IAAAE,qBAAA;MAC/C,IAAI,CAACC,kBAAkB,GACrB,IAAI,CAACZ,WAAW,KAChBb,MAAM,CAAC0B,eAAe,oBAAtB1B,MAAM,CAAC0B,eAAe,CAAG;QACvBb,WAAW,EAAE,IAAI,CAACA,WAAW;QAC7Bc,cAAc,EAAEL,MAAM,CAACK;MACzB,CAAC,CAAC;MACJ,IAAI,CAACC,UAAU,GAAG,IAAIC,0DAA4B,CAAC;QACjDd,SAAS,EAAEf,MAAM,CAACe,SAAS;QAC3B;QACA;QACAO,MAAM;QACN;QACA;QACAQ,YAAY,GAAAN,qBAAA,GAAExB,MAAM,CAACY,SAAS,CAACD,YAAY,qBAA7Ba,qBAAA,CAA+BM,YAAY;QACzDC,WAAW,EAAE,IAAI,CAACb,SAAS,CAACa,WAAW;QACvC1B,MAAM,EAAEA,CAAA,KAAM,IAAI,CAACA,MAAM;QACzBoB,kBAAkB,EAAE,IAAI,CAACA,kBAAkB;QAC3CO,gBAAgB,EAAE,IAAI;QACtBC,kBAAkB,EAAE,IAAI;QACxBC,WAAW,EAAElC,MAAM,CAACkC,WAAW;QAC/BC,kBAAkB,EAAEnC,MAAM,CAACmC;MAC7B,CAAC,CAAC;;MAEF;MACAnC,MAAM,CAACY,SAAS,CAACwB,kBAAkB,GAAG,IAAI,CAACR,UAAU;IACvD;EACF;;EAEA;AACF;AACA;AACA;EACE,IAAIvB,MAAMA,CAAA,EAAkB;IAAA,IAAAgC,iBAAA;IAC1B,OAAO,IAAI,CAACrC,MAAM,CAACY,SAAS,CAACP,MAAM,MAAAgC,iBAAA,GAAI,IAAI,CAACxB,WAAW,qBAAhBwB,iBAAA,CAAkBhC,MAAM,KAAI,IAAI;EACzE;;EAEA;EACA,IAAIE,cAAcA,CAAA,EAAuB;IACvC,MAAM;MAAEF;IAAO,CAAC,GAAG,IAAI;IACvB,IAAI,CAACA,MAAM,EAAE;MACX,OAAO,EAAE;IACX;IACA,OAAO,IAAAiC,gDAAuB,EAACjC,MAAM,CAACe,MAAM,EAAE,IAAI,CAACpB,MAAM,CAACuC,QAAQ,CAAC,CAACC,GAAG,CACpEC,KAAK,KAAM;MACVC,EAAE,EAAED,KAAK,CAACC,EAAE;MACZC,QAAQ,EAAE,IAAAC,kDAAyB,EAACH,KAAK,EAAEpC,MAAM,CAACwC,OAAO;IAC3D,CAAC,CACH,CAAC;EACH;;EAEA;AACF;EACE,IAAIrC,eAAeA,CAAA,EAAyB;IAC1C,IAAI,CAAC,IAAI,CAACD,cAAc,CAACuC,MAAM,EAAE;MAC/B,OAAO,IAAI,CAAC9C,MAAM,CAACuC,QAAQ;IAC7B;IACA,MAAM;MAAER;IAAY,CAAC,GAAG,IAAI,CAACb,SAAS;IACtC,OAAOa,WAAW,CAACgB,aAAa,CAC7BC,MAAM,CAAEP,KAAK,IAAKV,WAAW,CAACkB,cAAc,CAACR,KAAK,CAACC,EAAE,CAAC,CAAC,CACvDF,GAAG,CAAEC,KAAK,IAAKA,KAAK,CAACC,EAAE,CAAC;EAC7B;EAEA,IAAIjC,aAAaA,CAAA,EAAY;IAC3B,MAAM;MAAEyC;IAAO,CAAC,GAAG,IAAI,CAAChC,SAAS,CAACa,WAAW,CAACoB,QAAQ;IACtD,OAAOD,MAAM,CAACE,SAAS,IAAIF,MAAM,CAACG,OAAO;EAC3C;EAEA,IAAI3C,eAAeA,CAAA,EAAY;IAC7B,OAAO,CAAC,CAAC,IAAI,CAACkB,UAAU,IAAI,IAAI,CAACrB,cAAc,CAACuC,MAAM,GAAG,CAAC;EAC5D;EAEAQ,gBAAgBA,CAAA,EAAG;IAAA,IAAAC,gBAAA;IACjB,CAAAA,gBAAA,OAAI,CAAC3B,UAAU,aAAf2B,gBAAA,CAAiBjC,MAAM,CAACkC,eAAe,CAAC,eAAe,CAAC;EAC1D;EAEAC,IAAIA,CAAA,EAAG;IAAA,IAAAC,qBAAA;IACL;IACA;IACA,IAAI,CAACC,QAAQ,CAACC,OAAO,CAAC,YAAY;MAAA,IAAAC,kBAAA;MAChC,QAAAA,kBAAA,GAAM,IAAI,CAAChD,WAAW,qBAAhBgD,kBAAA,CAAkBC,IAAI,CAAC,CAAC;IAChC,CAAC,CAAC;IACF;IACA;IACA,CAAAJ,qBAAA,OAAI,CAACC,QAAQ,CAACT,MAAM,CAACa,OAAO,aAA5BL,qBAAA,CAA8BM,KAAK,CAAC,MAAM,IAAI,CAAC;IAE/C,MAAMC,eAAe,GAAG,IAAI,CAACjE,MAAM,CAACY,SAAS,CAACsD,QAAQ,CAAC,CAAC;IAExD,MAAMC,SAAkC,GAAG,CACzC,IAAAC,UAAI,EAAC,MAAM,IAAI,CAAC3D,aAAa,EAAEwD,eAAe,CAAC,EAC/CA,eAAe;IACf;IACA;IACA;IACA,IAAAI,yBAAgB,EACd,IAAI,CAACnD,SAAS,CAACa,WAAW,CAACuC,MAAM,EACjC,oBAAoB,EACpB;MAAA,IAAAC,sBAAA;MAAA,QAAAA,sBAAA,GAAM,IAAI,CAACZ,QAAQ,CAACT,MAAM,CAACa,OAAO,qBAA5BQ,sBAAA,CAA8BP,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAAA,CACrD,CAAC;IACD;IACA;IACA,IAAAQ,cAAQ,EACN;MAAA,IAAAC,kBAAA;MAAA,QAAAA,kBAAA,GAAM,IAAI,CAAC5D,WAAW,qBAAhB4D,kBAAA,CAAkBC,YAAY;IAAA,GACnCA,YAAY,IAAK;MAChB,IAAI,CAACA,YAAY,EAAE;QACjB;MACF;MACA,IAAI,CAAC1E,MAAM,CAACY,SAAS,CAAC+D,eAAe,CAACD,YAAY,CAAC;MACnD,IAAI,CAAC1E,MAAM,CAACY,SAAS,CAACgE,SAAS,CAACF,YAAY,CAACrE,MAAM,CAAC;IACtD,CACF,CAAC,EACD,IAAI,CAACa,SAAS,CAACuC,IAAI,CAAC,CAAC,CACtB;IAED,OAAO,MAAM;MACXU,SAAS,CAACU,OAAO,CAAEC,OAAO,IAAKA,OAAO,oBAAPA,OAAO,CAAG,CAAC,CAAC;IAC7C,CAAC;EACH;AACF;AAACC,OAAA,CAAAjF,yBAAA,GAAAA,yBAAA","ignoreList":[]}
@@ -5,14 +5,14 @@ exports.vars = exports.style = exports.stVars = exports.st = exports.namespace =
5
5
  var _stylableEsmRuntime = require("../../stylable-esm-runtime.js");
6
6
  // @ts-nocheck
7
7
 
8
- var _namespace_ = "FormPageHeader3300717986";
8
+ var _namespace_ = "FormPageHeader4154625186";
9
9
  var _style_ = _stylableEsmRuntime.classesRuntime.bind(null, _namespace_);
10
10
  var cssStates = exports.cssStates = _stylableEsmRuntime.statesRuntime.bind(null, _namespace_);
11
11
  var style = exports.style = _style_;
12
12
  var st = exports.st = _style_;
13
13
  var namespace = exports.namespace = _namespace_;
14
14
  var classes = exports.classes = {
15
- "root": "FormPageHeader3300717986__root"
15
+ "root": "FormPageHeader4154625186__root"
16
16
  };
17
17
  var keyframes = exports.keyframes = {};
18
18
  var layers = exports.layers = {};
@@ -1 +1 @@
1
- {"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../src/state/FormPage/FormPageHeader.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"FormPageHeader3300717986\";\nvar _style_ = classesRuntime.bind(null, _namespace_);\n\nexport var cssStates = statesRuntime.bind(null, _namespace_);\nexport var style = _style_;\nexport var st: import(\"@stylable/runtime\").STFunction = _style_;\n\nexport var namespace = _namespace_;\nexport var classes = {\"root\":\"FormPageHeader3300717986__root\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {}; \n\n\n\n\n"],"mappings":";;;;AAGA,IAAAA,mBAAA,GAAAC,OAAA;AAHA;;AAOA,IAAIC,WAAW,GAAG,0BAA0B;AAC5C,IAAIC,OAAO,GAAGC,kCAAc,CAACC,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AAE7C,IAAII,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAGE,iCAAa,CAACH,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AACrD,IAAIO,KAAK,GAAAF,OAAA,CAAAE,KAAA,GAAGN,OAAO;AACnB,IAAIO,EAA0C,GAAAH,OAAA,CAAAG,EAAA,GAAGP,OAAO;AAExD,IAAIQ,SAAS,GAAAJ,OAAA,CAAAI,SAAA,GAAGT,WAAW;AAC3B,IAAIU,OAAO,GAAAL,OAAA,CAAAK,OAAA,GAAG;EAAC,MAAM,EAAC;AAAgC,CAAC;AACvD,IAAIC,SAAS,GAAAN,OAAA,CAAAM,SAAA,GAAG,CAAC,CAAC;AAClB,IAAIC,MAAM,GAAAP,OAAA,CAAAO,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,UAAU,GAAAR,OAAA,CAAAQ,UAAA,GAAG,CAAC,CAAC;AACnB,IAAIC,MAAM,GAAAT,OAAA,CAAAS,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,IAAI,GAAAV,OAAA,CAAAU,IAAA,GAAG,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../src/state/FormPage/FormPageHeader.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"FormPageHeader4154625186\";\nvar _style_ = classesRuntime.bind(null, _namespace_);\n\nexport var cssStates = statesRuntime.bind(null, _namespace_);\nexport var style = _style_;\nexport var st: import(\"@stylable/runtime\").STFunction = _style_;\n\nexport var namespace = _namespace_;\nexport var classes = {\"root\":\"FormPageHeader4154625186__root\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {}; \n\n\n\n\n"],"mappings":";;;;AAGA,IAAAA,mBAAA,GAAAC,OAAA;AAHA;;AAOA,IAAIC,WAAW,GAAG,0BAA0B;AAC5C,IAAIC,OAAO,GAAGC,kCAAc,CAACC,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AAE7C,IAAII,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAGE,iCAAa,CAACH,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AACrD,IAAIO,KAAK,GAAAF,OAAA,CAAAE,KAAA,GAAGN,OAAO;AACnB,IAAIO,EAA0C,GAAAH,OAAA,CAAAG,EAAA,GAAGP,OAAO;AAExD,IAAIQ,SAAS,GAAAJ,OAAA,CAAAI,SAAA,GAAGT,WAAW;AAC3B,IAAIU,OAAO,GAAAL,OAAA,CAAAK,OAAA,GAAG;EAAC,MAAM,EAAC;AAAgC,CAAC;AACvD,IAAIC,SAAS,GAAAN,OAAA,CAAAM,SAAA,GAAG,CAAC,CAAC;AAClB,IAAIC,MAAM,GAAAP,OAAA,CAAAO,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,UAAU,GAAAR,OAAA,CAAAQ,UAAA,GAAG,CAAC,CAAC;AACnB,IAAIC,MAAM,GAAAT,OAAA,CAAAS,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,IAAI,GAAAV,OAAA,CAAAU,IAAA,GAAG,CAAC,CAAC","ignoreList":[]}
@@ -147,6 +147,10 @@ class ToolbarCollectionState {
147
147
  const {
148
148
  initTask
149
149
  } = customColumnsState;
150
+ // Read before merging — `mergeNewColumns` consumes it. Only the
151
+ // drag-and-drop merge honours the spot, so without it nothing was
152
+ // placed and there is nothing to persist.
153
+ const hadPendingInsert = customColumnsState.dragAndDrop != null && customColumnsState.pendingInsertPosition != null;
150
154
  const mergedColumns = customColumnsState.mergeNewColumns();
151
155
  (0, _mobx.runInAction)(() => {
152
156
  selectedColumns.defaultValue = this.columns.map(col => {
@@ -160,7 +164,9 @@ class ToolbarCollectionState {
160
164
  };
161
165
  });
162
166
  });
163
- if (initTask.status.isSuccess && customColumnsState._touched) {
167
+ // A spot the user picked is persisted even if they never touched the
168
+ // custom-columns panel, so the column stays there after a reload.
169
+ if (initTask.status.isSuccess && (customColumnsState._touched || hadPendingInsert)) {
164
170
  selectedColumns.refresh(mergedColumns);
165
171
  } else {
166
172
  selectedColumns.setValue(mergedColumns);
@@ -1 +1 @@
1
- {"version":3,"names":["_mobx","require","_bexCore","_model","exports","ViewType","_simplifyColumns","_indexOfCompareFn","_ToolbarBIReporter","_SidePanelsState","_RectState","_BulkActionToolbarState","_util","_ToolbarState","_ColumnSizesState","ToolbarCollectionState","constructor","params","_defineProperty2","default","idArrayFilter","TaskState","moreFiltersButton","ValueBox","appliedFiltersTagList","exportButton","exportModal","importButton","importModal","observable","array","undefined","current","Map","contentPadding","height","top","_this$viewsState","_originQuery$sort","collection","result","originQuery","viewShown","viewsState","views","currentView","id","tabShown","getCurrentTabName","sortOrderApplied","sort","length","JSON","stringify","filtersApplied","filtersKey","filteredListSizeShown","total","column","defaultHidden","hideable","hiddenFromCustomColumnsSelection","isSelected","selectedColumns","customColumnsState","customColumnsProps","customColumnsStateInitialized","initTask","mergedColumns","mergeNewColumns","runInAction","defaultValue","columns","map","col","_toStoredColumn","status","isSuccess","_touched","refresh","setValue","allColumns","sidePanel","close","action","multi","isError","runOnce","retryErrorState","bulk","_selectionStartTime","performance","now","_selectedIds","change","panels","closeSidePanel","type","toggleSelectAll","location","deselectAll","value","selectOne","deselectOne","customOrigin","onSave","initialField","lockedProperties","_this$collectionField","collectionFieldsSource","openFieldModal","_this$tagsCollectionS","tagsCollectionState","openManageTagsModal","items","_resetQueryAndAddItems","toolbarBIReporter","newItemCreationEnd","_collection$_optimist","_collection$scrollabl","query","resetFilters","resetSorting","clearResultAndMoveToStart","force","_optimisticActions","createMany","submit","scrollableContent","scrollTo","behavior","container","componentType","toolbar","ToolbarState","fedopsReporter","FedopsReporter","componentName","internalMonitor","MultiCollectionSupport","collections","itemsContentRect","RectState","toolbarRect","SidePanelsState","panelGroupName","queryName","ToolbarBIReporter","reportBi","ev","_commonDynamicBiParams","BulkActionToolbarState","translate","scrollToTop","_this$collection$scro","left","namespace","environment","componentId","join","dataCapsule","createEssentials","reportBiBase","columnSizesState","ColumnSizesState","fqdn","makeObservable","forceRenderIndexes","ref","_userColumns","_extendedColumns","computed","viewsProps","dragAndDropCategories","filtersProps","shouldDisplayFiltersTags","totalStickyContentHeight","showInitialLoader","showEmptyState","showErrorState","hasSubToolbarComponents","containerRect","setFilterTagsPropsIfChanged","_initDefaultSortableColumn","minimizedHeaderHeight","tabsFilterProps","toolbarFiltersStateInitialized","hasToolbarTabs","itemsContentHeight","setNewColumns","addFeatureColumn","setExtendedColumns","_adjustSortWithNewColumns","setToolbarFiltersStateInitialized","activeFiltersEntries","_searchExpanded","showFieldTypeIcons","internalScroll","rect","bottom","right","width","containerTop","_this$containerRect","scrollElementRect","process","env","NODE_ENV","toolbarOffsetTop","sidePanelComponents","isLoading","isIdle","showRefreshLoader","errorStatus","featuredComponents","reorderModeState","_this$_dnd","_dnd","_featuredComponents$a","state","tags","isReorderModeToolbarVisible","_this$reorderModeStat","isReorderModePending","_this$reorderModeStat2","_featureColumns","extendedById","c","merged","extended","get","mergedIds","Set","filter","has","selectedOrderedColumnsOrAll","baseColumns","selectedOrderedColumns","mergeSizes","_viewsState$views$cur","_viewsState$views","_viewsState$views2","currentTab","isPredefined","isPreset","filters","numFiltersInView","_numberFiltersInView","visibleColumnsOrder","title","name","numColumns","numFiltersActive","activeFiltersCount","view","filterName","Object","keys","Array","isArray","tabs","entries","rawFilters","key","flatMap","itemKey","getPendingFilter","_this$pendingQuery","pendingQuery","getApplicableFilter","init","featuresInitializers","hasMultiLevelSorting","skipFilterListeners","_this$collectionField2","biReporters","CollectionBIReporter","tableFeatures","t","tableFeatInit","disposers","reaction","_this$layoutState","layoutState","viewType","next","prev","_skipNextLayoutCoordinator","_cacheRestoredLayout","_flushColumnsToCache","_tryRestoreColumnsFromCache","_tableInit","_columns","replace","fireImmediately","b","addEventListener","bulkSelect","events","modals","actionModal","modal","open","emitter","broadcast","message","num","startTime","loadStart","forEach","_tagsCollectionState$","_this$collectionField3","Promise","all","promise","catch","_t$initTask","loadEnd","e","d","tableColumns","simplifyColumns","featureColumn","push","simplifyColumn","_adjustSelectedColumns","_this$liveRegionRef$c","liveRegionRef","updateColumnWidth","columnId","_this$columnSizesStat","defaultSortableColumns","sortable","defaultSortOrder","sortQuery","field","direction","setSortQuery","slice","layout","_layoutColumnsCache","_this$customColumnsSt","cached","cachedEntry","find","dragAndDrop","indexOfCompareFn","_clearColumnsCache","tableColumnsIds","staleSortEntries","s","remove","emit","scheduleSort","clearResult","openFiltersPanel","openSidePanel","_onSelectAllCheckboxClick","from","_","search","reduce","entry","set","values","getPageFeaturedActions","_e$props","props","disableDefaultPageAction","featuredPageActions"],"sources":["../../../src/state/ToolbarCollectionState.ts"],"sourcesContent":["import {\n action,\n computed,\n makeObservable,\n observable,\n reaction,\n runInAction,\n} from 'mobx';\nimport type {\n ModalState,\n OpenFieldModalOptions,\n QueryPendingState,\n SortOrder,\n WixPatternsContainer,\n} from '@wix/bex-core';\nimport {\n CollectionBIReporter,\n CollectionState,\n FedopsReporter,\n Filter,\n FiltersMap,\n idArrayFilter,\n MultiCollectionSupport,\n ReportBI,\n TaskState,\n ValueBox,\n} from '@wix/bex-core';\nimport {\n Column,\n FilterProps,\n PrivateView,\n TableColumn,\n ViewType,\n} from '../model';\n\nexport { ViewType };\nimport { CustomColumnsProps } from '../components/CustomColumns';\nimport type {\n LiveRegionRefType,\n LiveRegionState,\n TableProps,\n} from '@wix/design-system';\nimport type { AppliedFiltersTagListState } from '../components/AppliedFiltersTagList/AppliedFiltersTagListState';\nimport { ToolbarFeatureInitializer } from './toolbarFeatureInitializer';\nimport { simplifyColumn, simplifyColumns } from './simplifyColumns';\nimport { indexOfCompareFn } from './indexOfCompareFn';\nimport type { CollectionViewsState } from './CollectionViewsState';\nimport { ReactElement } from 'react';\nimport { ToolbarBIReporter } from './ToolbarBIReporter';\nimport { DragAndDropState } from '../components/DragAndDrop';\nimport { CollectionViewsDropdownProps } from '../components/CollectionViewsDropdown';\nimport { ActionCellProps } from '../components/ActionCell';\nimport { ActionCellAPI } from './ItemActionsState';\nimport { CustomColumnsState } from './CustomColumnsState';\nimport { SidePanelsState } from './SidePanelsState';\nimport { CollectionToolbarFiltersState } from '../components/CollectionToolbarFilters/CollectionToolbarFiltersState';\nimport { MultiLevelSortingState } from './MultiLevelSortingState';\nimport { RectState } from './RectState';\nimport { BulkActionToolbarState } from './BulkActionToolbarState';\nimport { addEventListener } from '@wix/bex-core/util';\nimport type { AddApplyFiltersButton } from '../components/FiltersPanel/AddApplyFiltersButton';\nimport { TabsFilterState } from '../components/TabsFilter/TabsFilterState';\nimport { CollectionFieldsSourceState } from './CollectionFieldsSourceState';\nimport { TagsCollectionState } from './TagsCollectionState';\nimport {\n AdditionalFeaturesAvailabilityBIParams,\n FeaturesAvailabilityBIParams,\n} from './FeaturesAvailabilityBIParams';\nimport { ExtensionMenuItemsState } from './ExtensionMenuItemsState';\nimport { ToolbarState } from '../components/CollectionToolbars/ToolbarState';\nimport { MoreActionItemFactory } from '../components/MoreActions/MoreActionsBase';\nimport { ColumnSizesState } from './ColumnSizesState';\n\nexport type Component<C> = () => C;\n\nexport interface ToolbarCollectionStateParamsInitParams {\n featuresInitializers: (ToolbarFeatureInitializer | undefined)[];\n hasMultiLevelSorting?: boolean;\n skipFilterListeners?: boolean;\n}\n\nexport interface LayoutState {\n viewType: ViewType;\n}\n\nexport interface ToolbarCollectionStateParams<T, F extends FiltersMap> {\n readonly container: WixPatternsContainer;\n readonly collection: CollectionState<T, F>;\n readonly componentType: string;\n readonly reportBi?: ReportBI;\n}\n\nexport class ToolbarCollectionState<T, F extends FiltersMap = FiltersMap> {\n readonly collection: CollectionState<T, F>;\n readonly selectedColumns = idArrayFilter<{\n id: string;\n isSelected: boolean;\n }>();\n readonly initTask = new TaskState();\n readonly fedopsReporter;\n readonly dataCapsule;\n readonly toolbar;\n readonly container: WixPatternsContainer;\n readonly namespace;\n readonly reportBi: ReportBI;\n readonly featuredComponents = {\n moreFiltersButton: new ValueBox<Component<{}> | null>(null),\n appliedFiltersTagList: new ValueBox<{\n component: Component<{}>;\n state: AppliedFiltersTagListState<T, F>;\n } | null>(null),\n exportButton: new ValueBox<ReactElement | null>(null),\n exportModal: new ValueBox<ReactElement<{}> | null>(null),\n importButton: new ValueBox<ReactElement | null>(null),\n importModal: new ValueBox<ReactElement<{}> | null>(null),\n };\n readonly toolbarRect;\n readonly itemsContentRect;\n readonly panels;\n readonly bulk;\n readonly multi;\n readonly componentType;\n\n _syncedProps?: {\n useResponsiveLayout?: boolean;\n };\n\n _userColumns: Column[] = []; // columns propagated from user\n _featureColumns: Column[] = observable.array(); // columns propagated from installed features\n _extendedColumns: Column[] = []; // columns propagated from data-extension (can be merged with above?)\n internalScroll = undefined as boolean | undefined;\n customColumnsState: CustomColumnsState<T, F> | null = null;\n customColumnsStateInitialized = false;\n columnSizesState: ColumnSizesState | null = null;\n multiLevelSorting: MultiLevelSortingState<T, F> | null = null;\n liveRegionRef: { current: null | LiveRegionRefType } = {\n current: null,\n };\n collectionFieldsSource: CollectionFieldsSourceState | null = null;\n menuItemExtensions = new Map<string, ExtensionMenuItemsState>();\n tagsCollectionState: TagsCollectionState<T, F> | null = null;\n toolbarFiltersState: CollectionToolbarFiltersState<T, F> | null = null;\n toolbarFiltersStateInitialized = false;\n _dnd: DragAndDropState<T, F> | null = null;\n toolbarBIReporter: ToolbarBIReporter<T, F>;\n filtersProps: FilterProps<any>[] | null = null;\n viewsProps: CollectionViewsDropdownProps<F> | null | undefined = null;\n dragAndDropCategories: (keyof F)[][] | null | undefined = null;\n customColumnsProps: CustomColumnsProps | null | undefined = null;\n selectionProps = new ValueBox<{ showSelection?: boolean }>({});\n featuresAvailability: FeaturesAvailabilityBIParams = {};\n additionalFeaturesAvailability: AdditionalFeaturesAvailabilityBIParams = {};\n actionCell = new ValueBox<\n | undefined\n | ActionCellProps\n | ((item: T, index: number, api: ActionCellAPI<T, F>) => ActionCellProps)\n >(undefined);\n contentPadding = 24;\n contentPaddingPx = `${this.contentPadding}px`;\n\n scrollElementRect = observable<{\n height?: number | null;\n top?: number | null;\n }>({\n height: null,\n top: null,\n });\n scrollTopBeforeUnmount: number | null = null;\n minimizedHeaderHeight = 0;\n tabsFilterProps?: {\n filter: Filter<any>;\n } = undefined;\n viewsState?: CollectionViewsState<T, F>;\n exportState?: ModalState;\n importState?: ModalState;\n pendingQuery?: QueryPendingState;\n AddApplyFiltersButton?: typeof AddApplyFiltersButton;\n tabs?: TabsFilterState<T, F>;\n layoutState?: LayoutState;\n\n // Per-layout in-memory scratchpad of uncommitted column edits.\n _layoutColumnsCache: Partial<\n Record<ViewType, { id: string; isSelected: boolean }[]>\n > = {};\n // Set by the coordinator on cache-hit so per-flow reactions skip the same transition.\n _cacheRestoredLayout?: ViewType;\n // Set by `_onSelectViewAndRefresh` when a view-select changes layout, so the coordinator\n // skips flush/restore — the view-select already loaded the correct columns.\n _skipNextLayoutCoordinator = false;\n\n _searchExpanded = false;\n\n forceRenderIndexes: number[] | undefined = undefined;\n\n constructor(params: ToolbarCollectionStateParams<T, F>) {\n this.collection = params.collection;\n this.container = params.container;\n this.componentType = params.componentType;\n\n this.toolbar = new ToolbarState(this);\n\n this.fedopsReporter = new FedopsReporter({\n componentName: this.componentType,\n collection: this.collection,\n internalMonitor: this.container.internalMonitor,\n });\n\n this.multi = new MultiCollectionSupport<F>({\n collections: [this.collection as CollectionState<unknown, F>],\n });\n\n this.itemsContentRect = new RectState(params);\n this.toolbarRect = new RectState(params);\n\n this.panels = new SidePanelsState({\n container: this.container,\n panelGroupName: this.collection.queryName,\n });\n\n this.toolbarBIReporter = new ToolbarBIReporter<T, F>({\n toolbar: this,\n collection: this.collection,\n reportBi: (ev) => {\n this.reportBi({\n ...ev,\n params: {\n ...this._commonDynamicBiParams(),\n ...ev.params,\n },\n });\n },\n });\n\n this.bulk = new BulkActionToolbarState({\n toolbarBIReporter: this.toolbarBIReporter,\n panels: this.panels,\n multi: this.multi,\n translate: this.container.translate,\n scrollToTop: () => {\n this.collection.scrollableContent?.scrollTo({\n top: 0,\n left: 0,\n });\n },\n });\n\n this.namespace = [\n this.container.environment.componentId,\n this.collection.queryName,\n ].join('.');\n\n const { dataCapsule } = this.container.createEssentials({\n dataCapsule: {\n namespace: this.namespace,\n },\n });\n\n this.dataCapsule = dataCapsule;\n\n const reportBiBase = params.reportBi ?? this.container.reportBi;\n\n this.reportBi = (ev) => {\n reportBiBase({\n ...ev,\n params: {\n ...this._commonDynamicBiParams(),\n ...ev.params,\n },\n });\n };\n\n this.columnSizesState = new ColumnSizesState({\n container: this.container,\n dataCapsule: this.dataCapsule,\n fqdn: this.namespace,\n });\n\n makeObservable(this, {\n forceRenderIndexes: observable.ref,\n _userColumns: observable.ref,\n _extendedColumns: observable.ref,\n columns: computed,\n customColumnsStateInitialized: observable.ref,\n viewsProps: observable.ref,\n dragAndDropCategories: observable.ref,\n customColumnsProps: observable.ref,\n filtersProps: observable.ref,\n shouldDisplayFiltersTags: computed,\n totalStickyContentHeight: computed,\n showInitialLoader: computed,\n showEmptyState: computed,\n showErrorState: computed,\n hasSubToolbarComponents: computed,\n containerRect: computed,\n setFilterTagsPropsIfChanged: action,\n _initDefaultSortableColumn: action,\n minimizedHeaderHeight: observable.ref,\n tabsFilterProps: observable.ref,\n toolbarFiltersStateInitialized: observable.ref,\n hasToolbarTabs: computed,\n itemsContentHeight: computed,\n setNewColumns: action,\n addFeatureColumn: action,\n setExtendedColumns: action,\n _commonDynamicBiParams: action,\n _adjustSortWithNewColumns: action,\n setToolbarFiltersStateInitialized: action,\n activeFiltersEntries: computed,\n _searchExpanded: observable.ref,\n showFieldTypeIcons: observable.ref,\n });\n }\n\n get containerRect() {\n const { itemsContentRect, toolbarRect, internalScroll } = this;\n\n if (internalScroll && itemsContentRect.rect.height) {\n return {\n ...itemsContentRect.rect,\n };\n }\n\n if (itemsContentRect.rect.left && toolbarRect.rect.left) {\n const top = toolbarRect.rect.bottom;\n const bottom = top + itemsContentRect.rect.height;\n const left = toolbarRect.rect.left;\n const right = left + toolbarRect.rect.width;\n return {\n left,\n right,\n top,\n bottom,\n height: bottom - top,\n width: right - left,\n };\n }\n\n return undefined;\n }\n\n get containerTop() {\n return this.containerRect?.top;\n }\n\n /**\n * How much height left for the content inside the viewport\n */\n get itemsContentHeight() {\n const {\n toolbarRect,\n scrollElementRect,\n contentPadding,\n internalScroll,\n itemsContentRect,\n } = this;\n\n if (internalScroll && itemsContentRect.rect.height) {\n return itemsContentRect.rect.height;\n }\n\n if (\n toolbarRect.rect.height == null ||\n toolbarRect.rect.top == null ||\n scrollElementRect.height == null ||\n scrollElementRect.top == null\n ) {\n return 0;\n }\n\n if (process.env.NODE_ENV === 'test') {\n return 796;\n }\n\n const toolbarOffsetTop = toolbarRect.rect.top - scrollElementRect.top;\n\n return (\n scrollElementRect.height -\n toolbarOffsetTop -\n toolbarRect.rect.height -\n contentPadding\n );\n }\n\n get totalStickyContentHeight() {\n const { toolbarRect, minimizedHeaderHeight } = this;\n if (toolbarRect.rect.height == null) {\n return null;\n }\n\n return toolbarRect.rect.height + minimizedHeaderHeight;\n }\n\n get sidePanel() {\n return this.panels.sidePanel;\n }\n\n get sidePanelComponents() {\n return this.panels.sidePanelComponents;\n }\n\n get showInitialLoader() {\n const { multi, initTask } = this;\n\n return (\n multi.showInitialLoader ||\n initTask.status.isLoading ||\n initTask.status.isIdle\n );\n }\n\n get showEmptyState() {\n const {\n showInitialLoader,\n multi: { showRefreshLoader, showEmptyState },\n } = this;\n return showEmptyState && !showInitialLoader && !showRefreshLoader;\n }\n\n get errorStatus() {\n const { initTask, multi } = this;\n return initTask.errorStatus ?? multi.errorStatus;\n }\n\n get showErrorState() {\n const {\n showInitialLoader,\n multi: { showRefreshLoader, showErrorState },\n initTask,\n } = this;\n\n return (\n (showErrorState || initTask.status.isError) &&\n !showInitialLoader &&\n !showRefreshLoader\n );\n }\n\n get hasSubToolbarComponents() {\n const { appliedFiltersTagList } = this.featuredComponents;\n return appliedFiltersTagList.value != null;\n }\n\n get reorderModeState() {\n return this._dnd?.reorderModeState;\n }\n\n get shouldDisplayFiltersTags() {\n const { collectionFieldsSource, featuredComponents } = this;\n\n if (collectionFieldsSource?.initTask.status.isLoading) {\n return false;\n }\n\n return !!featuredComponents.appliedFiltersTagList.value?.state.tags.length;\n }\n\n get hasToolbarTabs() {\n return this.tabsFilterProps != null;\n }\n\n get isReorderModeToolbarVisible() {\n return this.reorderModeState?.isReorderModeToolbarVisible;\n }\n\n get isReorderModePending() {\n return this.reorderModeState?.isReorderModePending;\n }\n\n get columns(): Column[] {\n const { _userColumns, _featureColumns, _extendedColumns } = this;\n // One column per id. When a layout syncs a column a source also provides\n // (e.g. the editable table's cell defs for source fields), the layout's def\n // wins and inherits the source's column metadata; source-only columns fill\n // in the rest.\n const extendedById = new Map(_extendedColumns.map((c) => [c.id, c]));\n const merged = [..._userColumns, ..._featureColumns].map((column) => {\n const extended = extendedById.get(column.id);\n return extended ? { ...extended, ...column } : column;\n });\n const mergedIds = new Set(merged.map((c) => c.id));\n return [...merged, ..._extendedColumns.filter((c) => !mergedIds.has(c.id))];\n }\n\n /**\n * Whether to show field-type prefix icons across the collection UI.\n * Controlled by the `showFieldTypeIcons` prop on the collection component (Table, Grid, etc.).\n * @default false\n */\n showFieldTypeIcons = false;\n\n get selectedOrderedColumnsOrAll() {\n const { columns, customColumnsState, columnSizesState } = this;\n\n const baseColumns = customColumnsState\n ? customColumnsState.selectedOrderedColumns\n : columns;\n\n return columnSizesState?.mergeSizes(baseColumns) ?? baseColumns;\n }\n\n _commonDynamicBiParams(query = this.collection.result.originQuery) {\n const { collection, viewsState } = this;\n\n return {\n componentType: this.componentType,\n ...collection._commonDynamicBiParams(query),\n currentTab: this.getCurrentTabName(),\n ...(viewsState && { currentView: viewsState.views.currentView?.id }),\n ...(viewsState?.views?.currentView && {\n isPredefined: viewsState.views.currentView.isPreset,\n }),\n ...(viewsState?.views?.currentView?.filters && {\n numFiltersInView: this._numberFiltersInView(\n viewsState.views.currentView,\n ),\n }),\n visibleColumnsOrder: this.selectedOrderedColumnsOrAll\n .map((col) => col.id ?? col.title ?? col.name)\n .join(','),\n numColumns: this.selectedOrderedColumnsOrAll.length,\n numFiltersActive: collection.query.activeFiltersCount,\n };\n }\n\n _numberFiltersInView(view: PrivateView<F>) {\n let numFiltersInView = 0;\n\n if (view.filters) {\n for (const filterName of Object.keys(view.filters)) {\n const filter = view.filters[filterName];\n\n if (filter && filter.value) {\n if (Array.isArray(filter.value)) {\n numFiltersInView += filter.value.length;\n } else if (filter.value) {\n numFiltersInView += 1;\n }\n }\n }\n }\n\n return numFiltersInView;\n }\n\n getCurrentTabName() {\n const {\n tabsFilterProps,\n collection: {\n result: { originQuery: query },\n },\n } = this;\n\n const tabs =\n tabsFilterProps &&\n Object.entries(query.rawFilters)\n .filter(([key]) => key === tabsFilterProps.filter.name)\n .flatMap(([, value]) =>\n Array.isArray(value)\n ? value.map(tabsFilterProps.filter.itemKey)\n : value,\n );\n\n return tabs?.[0] as string;\n }\n\n getCollectionSnapshot = (): {\n [key: string]: string | number | undefined;\n } => {\n const {\n collection: {\n result: { originQuery },\n },\n } = this;\n\n return {\n viewShown: this.viewsState?.views.currentView?.id,\n tabShown: this.getCurrentTabName(),\n sortOrderApplied: originQuery.sort?.length\n ? JSON.stringify(originQuery.sort)\n : undefined,\n filtersApplied: JSON.stringify(originQuery.filtersKey),\n filteredListSizeShown: this.collection.result.total,\n };\n };\n\n getPendingFilter<A>(filter: A) {\n return this.pendingQuery?.getApplicableFilter(filter) ?? filter;\n }\n\n init({\n featuresInitializers,\n hasMultiLevelSorting,\n skipFilterListeners,\n }: ToolbarCollectionStateParamsInitParams) {\n const {\n collection,\n multi,\n initTask,\n panels,\n sidePanel,\n tagsCollectionState,\n bulk,\n customColumnsState,\n viewsState,\n columnSizesState,\n } = this;\n\n const biReporters = multi.collections.map(\n (collection) =>\n new CollectionBIReporter({\n collection,\n reportBi: (ev) => {\n this.reportBi({\n ...ev,\n params: {\n ...collection._commonDynamicBiParams(),\n ...ev.params,\n },\n });\n },\n }),\n );\n\n // must call `initOptionalFeatures` before collection init because we want to allow features to customize the collection before collection.init\n const tableFeatures = featuresInitializers\n .filter((t): t is ToolbarFeatureInitializer => t != null)\n .map((tableFeatInit) => tableFeatInit(this));\n\n // should be initialized before collection.init() so the sort query will be updated before the time of the first request.\n this._initDefaultSortableColumn(hasMultiLevelSorting);\n\n const disposers = [\n // Must be registered before the per-flow layout reactions so the\n // `_cacheRestoredLayout` gate they read is set first (mobx fires\n // reactions in creation order).\n reaction(\n () => this.layoutState?.viewType,\n (next, prev) => {\n if (!next || !prev || next === prev) {\n return;\n }\n if (this._skipNextLayoutCoordinator) {\n this._skipNextLayoutCoordinator = false;\n this._cacheRestoredLayout = next;\n return;\n }\n this._flushColumnsToCache(prev);\n this._cacheRestoredLayout = this._tryRestoreColumnsFromCache(next)\n ? next\n : undefined;\n },\n ),\n this.collectionFieldsSource?.init(), // the fields source should be initialized and its beforeInitialFetch promise listener registered before customColumnsState?._tableInit() because custom columns might use data extensions\n customColumnsState?._tableInit(),\n viewsState?.init(),\n columnSizesState?.init(),\n // register table feature first as they might register to the collection `beforeInitialFetch`\n ...tableFeatures.map((t) => t.init()),\n reaction(\n () => this.selectedOrderedColumnsOrAll,\n (columns) => {\n collection.query._columns.replace(columns.map((c) => c.id));\n },\n {\n fireImmediately: true,\n },\n ),\n multi.init({ skipFilterListeners }),\n ...biReporters.map((b) => b.init()),\n panels.init(),\n sidePanel.init(),\n bulk.init(),\n tagsCollectionState?.init(),\n addEventListener(\n collection.bulkSelect.events,\n 'openModal',\n this.bulk.modals.actionModal.modal.open,\n ),\n addEventListener(\n collection.bulkSelect.events,\n 'closeModal',\n this.bulk.modals.actionModal.modal.close,\n ),\n addEventListener(this.collection.emitter, 'resultUpdated', () => {\n this.broadcast({\n message: this.container.translate(\n 'cairo.a11y.liveRegion.resultsFound',\n { num: this.collection.result.total },\n ),\n });\n }),\n ];\n\n const startTime = performance.now();\n\n initTask.runOnce(async () => {\n this.toolbarBIReporter.loadStart();\n\n multi.initTask.runOnce();\n customColumnsState?.initTask.runOnce();\n\n tableFeatures.forEach(({ initTask }) => {\n if (initTask) {\n initTask.runOnce();\n }\n });\n\n try {\n await Promise.all([\n multi.initTask.status.promise,\n tagsCollectionState?.initTask.status.promise?.catch(() => null), // resilience to failed request\n this.collectionFieldsSource?.initTask.status.promise?.catch(\n () => null,\n ), // resilience to failed request\n customColumnsState?.initTask.status.promise,\n columnSizesState?.initTask.status.promise,\n ...tableFeatures.map((t) => t.initTask?.status.promise),\n ]);\n\n this.toolbarBIReporter.loadEnd(startTime);\n } catch (e) {\n throw e;\n }\n });\n\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n\n setFilterTagsPropsIfChanged(filtersProps: FilterProps<any>[] | null) {\n if (this.filtersProps !== filtersProps) {\n this.filtersProps = filtersProps;\n }\n }\n\n _toStoredColumn = (column: Column) => {\n const { id, defaultHidden, hideable, hiddenFromCustomColumnsSelection } =\n column;\n\n return {\n id,\n isSelected:\n !hideable || hiddenFromCustomColumnsSelection || !defaultHidden,\n };\n };\n\n setNewColumns(tableColumns: TableColumn<T>[]) {\n this._userColumns = simplifyColumns(tableColumns);\n }\n\n addFeatureColumn(featureColumn: TableColumn<T>) {\n this._featureColumns.push(simplifyColumn(featureColumn));\n\n this._adjustSelectedColumns();\n }\n\n setExtendedColumns(columns: Column[]) {\n this._extendedColumns = columns;\n this._adjustSelectedColumns();\n }\n\n broadcast(params: LiveRegionState) {\n this.liveRegionRef.current?.broadcast(params);\n }\n\n setToolbarFiltersStateInitialized(value: boolean) {\n this.toolbarFiltersStateInitialized = value;\n }\n\n updateColumnWidth(columnId: string, width: number) {\n this.columnSizesState?.updateColumnWidth(columnId, width);\n }\n\n _initDefaultSortableColumn(hasMultiLevelSorting = false) {\n const {\n columns,\n collection: { query },\n } = this;\n\n const defaultSortableColumns = columns.filter(\n (col): col is Column & { defaultSortOrder: SortOrder } =>\n col.sortable === true && col.id != null && col.defaultSortOrder != null,\n );\n\n if (defaultSortableColumns.length && !query.sort.value.length) {\n const sortQuery = defaultSortableColumns.map((column) => ({\n field: column.id,\n direction: column.defaultSortOrder,\n }));\n\n query.sort.setSortQuery(\n hasMultiLevelSorting ? sortQuery : sortQuery.slice(0, 1),\n );\n }\n }\n\n _adjustSelectedColumns = () => {\n const {\n selectedColumns,\n customColumnsState,\n customColumnsProps,\n customColumnsStateInitialized,\n } = this;\n\n // as long as consumer rendered `<CustomColumns/>` at least once, use `mergeNewColumns` strategy when re-rendering new columns prop\n if (customColumnsProps != null || customColumnsStateInitialized) {\n // if `customColumns` is not set yet - do nothing\n if (customColumnsState) {\n const { initTask } = customColumnsState;\n const mergedColumns = customColumnsState.mergeNewColumns();\n runInAction(() => {\n selectedColumns.defaultValue = this.columns.map((col) => {\n const { id, isSelected } = this._toStoredColumn(col);\n return { id, isSelected };\n });\n });\n if (initTask.status.isSuccess && customColumnsState._touched) {\n selectedColumns.refresh(mergedColumns);\n } else {\n selectedColumns.setValue(mergedColumns);\n }\n }\n } else {\n const allColumns = this.columns.map(({ id }) => ({\n id,\n isSelected: true,\n }));\n selectedColumns.defaultValue = allColumns;\n selectedColumns.setValue(allColumns);\n }\n };\n\n _flushColumnsToCache(layout: ViewType) {\n this._layoutColumnsCache[layout] = this.selectedColumns.value.map(\n ({ id, isSelected }) => ({ id, isSelected }),\n );\n }\n\n _tryRestoreColumnsFromCache(layout: ViewType): boolean {\n const cached = this._layoutColumnsCache[layout];\n if (!cached) {\n return false;\n }\n // Merge against current columns — mirrors `_fetchFromStorage`.\n const merged = this.columns.map((column) => {\n const cachedEntry = cached.find((c) => c.id === column.id);\n if (cachedEntry == null) {\n return this._toStoredColumn(column);\n }\n const { id, hideable, hiddenFromCustomColumnsSelection } = column;\n return {\n id,\n isSelected:\n cachedEntry.isSelected ||\n !hideable ||\n hiddenFromCustomColumnsSelection === true,\n };\n });\n this.selectedColumns.setValue(\n this.customColumnsState?.dragAndDrop\n ? merged.sort(indexOfCompareFn(cached, (e) => e?.id))\n : merged,\n );\n return true;\n }\n\n _clearColumnsCache() {\n this._layoutColumnsCache = {};\n }\n\n _adjustSortWithNewColumns(tableColumns: TableColumn<T>[]) {\n const {\n collection: { query },\n } = this;\n const tableColumnsIds = new Set(tableColumns.map((column) => column.id));\n\n const staleSortEntries = query.sort.value.filter(\n ({ field }) => !tableColumnsIds.has(field),\n );\n\n // Runs on every column add/duplicate, where the sort is still valid.\n // re-sorting there clears the loaded rows and refetches from page 1.\n if (staleSortEntries.length === 0) {\n return;\n }\n\n staleSortEntries.forEach((s) => {\n query.sort.value.remove(s);\n });\n query.sort.events.emit('change');\n this.collection.scheduleSort({ clearResult: true });\n }\n\n closeSidePanel = () => {\n this.sidePanel.close();\n };\n\n openFiltersPanel() {\n this.panels.openSidePanel('filters');\n }\n\n retryErrorState = action(() => {\n const { initTask, multi } = this;\n\n if (initTask.status.isError) {\n initTask.runOnce();\n } else {\n multi.retryErrorState();\n }\n });\n\n onSelectionStarted = () => {\n this.bulk._selectionStartTime = performance.now();\n };\n\n _onSelectAllCheckboxClick() {}\n\n get activeFiltersEntries() {\n return Array.from(\n this.multi.collections\n .flatMap(({ query }) =>\n query.activeFiltersEntries.filter(\n ([_, filter]) => filter !== query.search,\n ),\n )\n .reduce(\n (map, entry) => map.set(entry[0], entry),\n new Map<string, [string, Filter<unknown>]>(),\n )\n .values(),\n );\n }\n\n onSelectionChanged: Required<TableProps>['onSelectionChanged'] = action(\n (_selectedIds, change) => {\n if (change == null) {\n return;\n }\n\n const { panels, bulk } = this;\n\n panels.closeSidePanel();\n\n switch (change.type) {\n case 'ALL':\n bulk.toggleSelectAll({ location: 'Checkbox' });\n break;\n case 'NONE':\n bulk.deselectAll({ location: 'Checkbox' });\n break;\n case 'SINGLE_TOGGLE':\n if (change.value) {\n bulk.selectOne(change.id);\n } else {\n bulk.deselectOne(change.id);\n }\n break;\n }\n },\n );\n\n openCustomFieldModal = ({\n customOrigin,\n onSave,\n initialField,\n lockedProperties,\n }: Pick<\n OpenFieldModalOptions,\n 'customOrigin' | 'onSave' | 'initialField' | 'lockedProperties'\n > = {}) => {\n return this.collectionFieldsSource?.openFieldModal({\n customOrigin,\n onSave,\n initialField,\n lockedProperties,\n });\n };\n\n openManageTagsModal = () => {\n return this.tagsCollectionState?.openManageTagsModal();\n };\n\n onAddItemActionComplete = async (items: T[]) => {\n await this._resetQueryAndAddItems(items);\n\n this.toolbarBIReporter.newItemCreationEnd(items);\n };\n\n _resetQueryAndAddItems = async (items: T[]) => {\n const { collection } = this;\n const { query } = collection;\n\n query.resetFilters();\n query.resetSorting();\n\n await collection.clearResultAndMoveToStart({ force: true });\n\n collection._optimisticActions?.createMany(items, {\n submit: async () => items,\n });\n\n collection.scrollableContent?.scrollTo?.({\n top: 0,\n behavior: 'smooth',\n });\n };\n\n getPageFeaturedActions(): MoreActionItemFactory[] {\n const { collectionFieldsSource, tagsCollectionState } = this;\n return [collectionFieldsSource, tagsCollectionState]\n .filter(\n (e): e is CollectionFieldsSourceState | TagsCollectionState<T, F> =>\n e != null,\n )\n .filter((e) => !e.props?.disableDefaultPageAction)\n .flatMap((e) => e.featuredPageActions);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_mobx","require","_bexCore","_model","exports","ViewType","_simplifyColumns","_indexOfCompareFn","_ToolbarBIReporter","_SidePanelsState","_RectState","_BulkActionToolbarState","_util","_ToolbarState","_ColumnSizesState","ToolbarCollectionState","constructor","params","_defineProperty2","default","idArrayFilter","TaskState","moreFiltersButton","ValueBox","appliedFiltersTagList","exportButton","exportModal","importButton","importModal","observable","array","undefined","current","Map","contentPadding","height","top","_this$viewsState","_originQuery$sort","collection","result","originQuery","viewShown","viewsState","views","currentView","id","tabShown","getCurrentTabName","sortOrderApplied","sort","length","JSON","stringify","filtersApplied","filtersKey","filteredListSizeShown","total","column","defaultHidden","hideable","hiddenFromCustomColumnsSelection","isSelected","selectedColumns","customColumnsState","customColumnsProps","customColumnsStateInitialized","initTask","hadPendingInsert","dragAndDrop","pendingInsertPosition","mergedColumns","mergeNewColumns","runInAction","defaultValue","columns","map","col","_toStoredColumn","status","isSuccess","_touched","refresh","setValue","allColumns","sidePanel","close","action","multi","isError","runOnce","retryErrorState","bulk","_selectionStartTime","performance","now","_selectedIds","change","panels","closeSidePanel","type","toggleSelectAll","location","deselectAll","value","selectOne","deselectOne","customOrigin","onSave","initialField","lockedProperties","_this$collectionField","collectionFieldsSource","openFieldModal","_this$tagsCollectionS","tagsCollectionState","openManageTagsModal","items","_resetQueryAndAddItems","toolbarBIReporter","newItemCreationEnd","_collection$_optimist","_collection$scrollabl","query","resetFilters","resetSorting","clearResultAndMoveToStart","force","_optimisticActions","createMany","submit","scrollableContent","scrollTo","behavior","container","componentType","toolbar","ToolbarState","fedopsReporter","FedopsReporter","componentName","internalMonitor","MultiCollectionSupport","collections","itemsContentRect","RectState","toolbarRect","SidePanelsState","panelGroupName","queryName","ToolbarBIReporter","reportBi","ev","_commonDynamicBiParams","BulkActionToolbarState","translate","scrollToTop","_this$collection$scro","left","namespace","environment","componentId","join","dataCapsule","createEssentials","reportBiBase","columnSizesState","ColumnSizesState","fqdn","makeObservable","forceRenderIndexes","ref","_userColumns","_extendedColumns","computed","viewsProps","dragAndDropCategories","filtersProps","shouldDisplayFiltersTags","totalStickyContentHeight","showInitialLoader","showEmptyState","showErrorState","hasSubToolbarComponents","containerRect","setFilterTagsPropsIfChanged","_initDefaultSortableColumn","minimizedHeaderHeight","tabsFilterProps","toolbarFiltersStateInitialized","hasToolbarTabs","itemsContentHeight","setNewColumns","addFeatureColumn","setExtendedColumns","_adjustSortWithNewColumns","setToolbarFiltersStateInitialized","activeFiltersEntries","_searchExpanded","showFieldTypeIcons","internalScroll","rect","bottom","right","width","containerTop","_this$containerRect","scrollElementRect","process","env","NODE_ENV","toolbarOffsetTop","sidePanelComponents","isLoading","isIdle","showRefreshLoader","errorStatus","featuredComponents","reorderModeState","_this$_dnd","_dnd","_featuredComponents$a","state","tags","isReorderModeToolbarVisible","_this$reorderModeStat","isReorderModePending","_this$reorderModeStat2","_featureColumns","extendedById","c","merged","extended","get","mergedIds","Set","filter","has","selectedOrderedColumnsOrAll","baseColumns","selectedOrderedColumns","mergeSizes","_viewsState$views$cur","_viewsState$views","_viewsState$views2","currentTab","isPredefined","isPreset","filters","numFiltersInView","_numberFiltersInView","visibleColumnsOrder","title","name","numColumns","numFiltersActive","activeFiltersCount","view","filterName","Object","keys","Array","isArray","tabs","entries","rawFilters","key","flatMap","itemKey","getPendingFilter","_this$pendingQuery","pendingQuery","getApplicableFilter","init","featuresInitializers","hasMultiLevelSorting","skipFilterListeners","_this$collectionField2","biReporters","CollectionBIReporter","tableFeatures","t","tableFeatInit","disposers","reaction","_this$layoutState","layoutState","viewType","next","prev","_skipNextLayoutCoordinator","_cacheRestoredLayout","_flushColumnsToCache","_tryRestoreColumnsFromCache","_tableInit","_columns","replace","fireImmediately","b","addEventListener","bulkSelect","events","modals","actionModal","modal","open","emitter","broadcast","message","num","startTime","loadStart","forEach","_tagsCollectionState$","_this$collectionField3","Promise","all","promise","catch","_t$initTask","loadEnd","e","d","tableColumns","simplifyColumns","featureColumn","push","simplifyColumn","_adjustSelectedColumns","_this$liveRegionRef$c","liveRegionRef","updateColumnWidth","columnId","_this$columnSizesStat","defaultSortableColumns","sortable","defaultSortOrder","sortQuery","field","direction","setSortQuery","slice","layout","_layoutColumnsCache","_this$customColumnsSt","cached","cachedEntry","find","indexOfCompareFn","_clearColumnsCache","tableColumnsIds","staleSortEntries","s","remove","emit","scheduleSort","clearResult","openFiltersPanel","openSidePanel","_onSelectAllCheckboxClick","from","_","search","reduce","entry","set","values","getPageFeaturedActions","_e$props","props","disableDefaultPageAction","featuredPageActions"],"sources":["../../../src/state/ToolbarCollectionState.ts"],"sourcesContent":["import {\n action,\n computed,\n makeObservable,\n observable,\n reaction,\n runInAction,\n} from 'mobx';\nimport type {\n ModalState,\n OpenFieldModalOptions,\n QueryPendingState,\n SortOrder,\n WixPatternsContainer,\n} from '@wix/bex-core';\nimport {\n CollectionBIReporter,\n CollectionState,\n FedopsReporter,\n Filter,\n FiltersMap,\n idArrayFilter,\n MultiCollectionSupport,\n ReportBI,\n TaskState,\n ValueBox,\n} from '@wix/bex-core';\nimport {\n Column,\n FilterProps,\n PrivateView,\n TableColumn,\n ViewType,\n} from '../model';\n\nexport { ViewType };\nimport { CustomColumnsProps } from '../components/CustomColumns';\nimport type {\n LiveRegionRefType,\n LiveRegionState,\n TableProps,\n} from '@wix/design-system';\nimport type { AppliedFiltersTagListState } from '../components/AppliedFiltersTagList/AppliedFiltersTagListState';\nimport { ToolbarFeatureInitializer } from './toolbarFeatureInitializer';\nimport { simplifyColumn, simplifyColumns } from './simplifyColumns';\nimport { indexOfCompareFn } from './indexOfCompareFn';\nimport type { CollectionViewsState } from './CollectionViewsState';\nimport { ReactElement } from 'react';\nimport { ToolbarBIReporter } from './ToolbarBIReporter';\nimport { DragAndDropState } from '../components/DragAndDrop';\nimport { CollectionViewsDropdownProps } from '../components/CollectionViewsDropdown';\nimport { ActionCellProps } from '../components/ActionCell';\nimport { ActionCellAPI } from './ItemActionsState';\nimport { CustomColumnsState } from './CustomColumnsState';\nimport { SidePanelsState } from './SidePanelsState';\nimport { CollectionToolbarFiltersState } from '../components/CollectionToolbarFilters/CollectionToolbarFiltersState';\nimport { MultiLevelSortingState } from './MultiLevelSortingState';\nimport { RectState } from './RectState';\nimport { BulkActionToolbarState } from './BulkActionToolbarState';\nimport { addEventListener } from '@wix/bex-core/util';\nimport type { AddApplyFiltersButton } from '../components/FiltersPanel/AddApplyFiltersButton';\nimport { TabsFilterState } from '../components/TabsFilter/TabsFilterState';\nimport { CollectionFieldsSourceState } from './CollectionFieldsSourceState';\nimport { TagsCollectionState } from './TagsCollectionState';\nimport {\n AdditionalFeaturesAvailabilityBIParams,\n FeaturesAvailabilityBIParams,\n} from './FeaturesAvailabilityBIParams';\nimport { ExtensionMenuItemsState } from './ExtensionMenuItemsState';\nimport { ToolbarState } from '../components/CollectionToolbars/ToolbarState';\nimport { MoreActionItemFactory } from '../components/MoreActions/MoreActionsBase';\nimport { ColumnSizesState } from './ColumnSizesState';\n\nexport type Component<C> = () => C;\n\nexport interface ToolbarCollectionStateParamsInitParams {\n featuresInitializers: (ToolbarFeatureInitializer | undefined)[];\n hasMultiLevelSorting?: boolean;\n skipFilterListeners?: boolean;\n}\n\nexport interface LayoutState {\n viewType: ViewType;\n}\n\nexport interface ToolbarCollectionStateParams<T, F extends FiltersMap> {\n readonly container: WixPatternsContainer;\n readonly collection: CollectionState<T, F>;\n readonly componentType: string;\n readonly reportBi?: ReportBI;\n}\n\nexport class ToolbarCollectionState<T, F extends FiltersMap = FiltersMap> {\n readonly collection: CollectionState<T, F>;\n readonly selectedColumns = idArrayFilter<{\n id: string;\n isSelected: boolean;\n }>();\n readonly initTask = new TaskState();\n readonly fedopsReporter;\n readonly dataCapsule;\n readonly toolbar;\n readonly container: WixPatternsContainer;\n readonly namespace;\n readonly reportBi: ReportBI;\n readonly featuredComponents = {\n moreFiltersButton: new ValueBox<Component<{}> | null>(null),\n appliedFiltersTagList: new ValueBox<{\n component: Component<{}>;\n state: AppliedFiltersTagListState<T, F>;\n } | null>(null),\n exportButton: new ValueBox<ReactElement | null>(null),\n exportModal: new ValueBox<ReactElement<{}> | null>(null),\n importButton: new ValueBox<ReactElement | null>(null),\n importModal: new ValueBox<ReactElement<{}> | null>(null),\n };\n readonly toolbarRect;\n readonly itemsContentRect;\n readonly panels;\n readonly bulk;\n readonly multi;\n readonly componentType;\n\n _syncedProps?: {\n useResponsiveLayout?: boolean;\n };\n\n _userColumns: Column[] = []; // columns propagated from user\n _featureColumns: Column[] = observable.array(); // columns propagated from installed features\n _extendedColumns: Column[] = []; // columns propagated from data-extension (can be merged with above?)\n internalScroll = undefined as boolean | undefined;\n customColumnsState: CustomColumnsState<T, F> | null = null;\n customColumnsStateInitialized = false;\n columnSizesState: ColumnSizesState | null = null;\n multiLevelSorting: MultiLevelSortingState<T, F> | null = null;\n liveRegionRef: { current: null | LiveRegionRefType } = {\n current: null,\n };\n collectionFieldsSource: CollectionFieldsSourceState | null = null;\n menuItemExtensions = new Map<string, ExtensionMenuItemsState>();\n tagsCollectionState: TagsCollectionState<T, F> | null = null;\n toolbarFiltersState: CollectionToolbarFiltersState<T, F> | null = null;\n toolbarFiltersStateInitialized = false;\n _dnd: DragAndDropState<T, F> | null = null;\n toolbarBIReporter: ToolbarBIReporter<T, F>;\n filtersProps: FilterProps<any>[] | null = null;\n viewsProps: CollectionViewsDropdownProps<F> | null | undefined = null;\n dragAndDropCategories: (keyof F)[][] | null | undefined = null;\n customColumnsProps: CustomColumnsProps | null | undefined = null;\n selectionProps = new ValueBox<{ showSelection?: boolean }>({});\n featuresAvailability: FeaturesAvailabilityBIParams = {};\n additionalFeaturesAvailability: AdditionalFeaturesAvailabilityBIParams = {};\n actionCell = new ValueBox<\n | undefined\n | ActionCellProps\n | ((item: T, index: number, api: ActionCellAPI<T, F>) => ActionCellProps)\n >(undefined);\n contentPadding = 24;\n contentPaddingPx = `${this.contentPadding}px`;\n\n scrollElementRect = observable<{\n height?: number | null;\n top?: number | null;\n }>({\n height: null,\n top: null,\n });\n scrollTopBeforeUnmount: number | null = null;\n minimizedHeaderHeight = 0;\n tabsFilterProps?: {\n filter: Filter<any>;\n } = undefined;\n viewsState?: CollectionViewsState<T, F>;\n exportState?: ModalState;\n importState?: ModalState;\n pendingQuery?: QueryPendingState;\n AddApplyFiltersButton?: typeof AddApplyFiltersButton;\n tabs?: TabsFilterState<T, F>;\n layoutState?: LayoutState;\n\n // Per-layout in-memory scratchpad of uncommitted column edits.\n _layoutColumnsCache: Partial<\n Record<ViewType, { id: string; isSelected: boolean }[]>\n > = {};\n // Set by the coordinator on cache-hit so per-flow reactions skip the same transition.\n _cacheRestoredLayout?: ViewType;\n // Set by `_onSelectViewAndRefresh` when a view-select changes layout, so the coordinator\n // skips flush/restore — the view-select already loaded the correct columns.\n _skipNextLayoutCoordinator = false;\n\n _searchExpanded = false;\n\n forceRenderIndexes: number[] | undefined = undefined;\n\n constructor(params: ToolbarCollectionStateParams<T, F>) {\n this.collection = params.collection;\n this.container = params.container;\n this.componentType = params.componentType;\n\n this.toolbar = new ToolbarState(this);\n\n this.fedopsReporter = new FedopsReporter({\n componentName: this.componentType,\n collection: this.collection,\n internalMonitor: this.container.internalMonitor,\n });\n\n this.multi = new MultiCollectionSupport<F>({\n collections: [this.collection as CollectionState<unknown, F>],\n });\n\n this.itemsContentRect = new RectState(params);\n this.toolbarRect = new RectState(params);\n\n this.panels = new SidePanelsState({\n container: this.container,\n panelGroupName: this.collection.queryName,\n });\n\n this.toolbarBIReporter = new ToolbarBIReporter<T, F>({\n toolbar: this,\n collection: this.collection,\n reportBi: (ev) => {\n this.reportBi({\n ...ev,\n params: {\n ...this._commonDynamicBiParams(),\n ...ev.params,\n },\n });\n },\n });\n\n this.bulk = new BulkActionToolbarState({\n toolbarBIReporter: this.toolbarBIReporter,\n panels: this.panels,\n multi: this.multi,\n translate: this.container.translate,\n scrollToTop: () => {\n this.collection.scrollableContent?.scrollTo({\n top: 0,\n left: 0,\n });\n },\n });\n\n this.namespace = [\n this.container.environment.componentId,\n this.collection.queryName,\n ].join('.');\n\n const { dataCapsule } = this.container.createEssentials({\n dataCapsule: {\n namespace: this.namespace,\n },\n });\n\n this.dataCapsule = dataCapsule;\n\n const reportBiBase = params.reportBi ?? this.container.reportBi;\n\n this.reportBi = (ev) => {\n reportBiBase({\n ...ev,\n params: {\n ...this._commonDynamicBiParams(),\n ...ev.params,\n },\n });\n };\n\n this.columnSizesState = new ColumnSizesState({\n container: this.container,\n dataCapsule: this.dataCapsule,\n fqdn: this.namespace,\n });\n\n makeObservable(this, {\n forceRenderIndexes: observable.ref,\n _userColumns: observable.ref,\n _extendedColumns: observable.ref,\n columns: computed,\n customColumnsStateInitialized: observable.ref,\n viewsProps: observable.ref,\n dragAndDropCategories: observable.ref,\n customColumnsProps: observable.ref,\n filtersProps: observable.ref,\n shouldDisplayFiltersTags: computed,\n totalStickyContentHeight: computed,\n showInitialLoader: computed,\n showEmptyState: computed,\n showErrorState: computed,\n hasSubToolbarComponents: computed,\n containerRect: computed,\n setFilterTagsPropsIfChanged: action,\n _initDefaultSortableColumn: action,\n minimizedHeaderHeight: observable.ref,\n tabsFilterProps: observable.ref,\n toolbarFiltersStateInitialized: observable.ref,\n hasToolbarTabs: computed,\n itemsContentHeight: computed,\n setNewColumns: action,\n addFeatureColumn: action,\n setExtendedColumns: action,\n _commonDynamicBiParams: action,\n _adjustSortWithNewColumns: action,\n setToolbarFiltersStateInitialized: action,\n activeFiltersEntries: computed,\n _searchExpanded: observable.ref,\n showFieldTypeIcons: observable.ref,\n });\n }\n\n get containerRect() {\n const { itemsContentRect, toolbarRect, internalScroll } = this;\n\n if (internalScroll && itemsContentRect.rect.height) {\n return {\n ...itemsContentRect.rect,\n };\n }\n\n if (itemsContentRect.rect.left && toolbarRect.rect.left) {\n const top = toolbarRect.rect.bottom;\n const bottom = top + itemsContentRect.rect.height;\n const left = toolbarRect.rect.left;\n const right = left + toolbarRect.rect.width;\n return {\n left,\n right,\n top,\n bottom,\n height: bottom - top,\n width: right - left,\n };\n }\n\n return undefined;\n }\n\n get containerTop() {\n return this.containerRect?.top;\n }\n\n /**\n * How much height left for the content inside the viewport\n */\n get itemsContentHeight() {\n const {\n toolbarRect,\n scrollElementRect,\n contentPadding,\n internalScroll,\n itemsContentRect,\n } = this;\n\n if (internalScroll && itemsContentRect.rect.height) {\n return itemsContentRect.rect.height;\n }\n\n if (\n toolbarRect.rect.height == null ||\n toolbarRect.rect.top == null ||\n scrollElementRect.height == null ||\n scrollElementRect.top == null\n ) {\n return 0;\n }\n\n if (process.env.NODE_ENV === 'test') {\n return 796;\n }\n\n const toolbarOffsetTop = toolbarRect.rect.top - scrollElementRect.top;\n\n return (\n scrollElementRect.height -\n toolbarOffsetTop -\n toolbarRect.rect.height -\n contentPadding\n );\n }\n\n get totalStickyContentHeight() {\n const { toolbarRect, minimizedHeaderHeight } = this;\n if (toolbarRect.rect.height == null) {\n return null;\n }\n\n return toolbarRect.rect.height + minimizedHeaderHeight;\n }\n\n get sidePanel() {\n return this.panels.sidePanel;\n }\n\n get sidePanelComponents() {\n return this.panels.sidePanelComponents;\n }\n\n get showInitialLoader() {\n const { multi, initTask } = this;\n\n return (\n multi.showInitialLoader ||\n initTask.status.isLoading ||\n initTask.status.isIdle\n );\n }\n\n get showEmptyState() {\n const {\n showInitialLoader,\n multi: { showRefreshLoader, showEmptyState },\n } = this;\n return showEmptyState && !showInitialLoader && !showRefreshLoader;\n }\n\n get errorStatus() {\n const { initTask, multi } = this;\n return initTask.errorStatus ?? multi.errorStatus;\n }\n\n get showErrorState() {\n const {\n showInitialLoader,\n multi: { showRefreshLoader, showErrorState },\n initTask,\n } = this;\n\n return (\n (showErrorState || initTask.status.isError) &&\n !showInitialLoader &&\n !showRefreshLoader\n );\n }\n\n get hasSubToolbarComponents() {\n const { appliedFiltersTagList } = this.featuredComponents;\n return appliedFiltersTagList.value != null;\n }\n\n get reorderModeState() {\n return this._dnd?.reorderModeState;\n }\n\n get shouldDisplayFiltersTags() {\n const { collectionFieldsSource, featuredComponents } = this;\n\n if (collectionFieldsSource?.initTask.status.isLoading) {\n return false;\n }\n\n return !!featuredComponents.appliedFiltersTagList.value?.state.tags.length;\n }\n\n get hasToolbarTabs() {\n return this.tabsFilterProps != null;\n }\n\n get isReorderModeToolbarVisible() {\n return this.reorderModeState?.isReorderModeToolbarVisible;\n }\n\n get isReorderModePending() {\n return this.reorderModeState?.isReorderModePending;\n }\n\n get columns(): Column[] {\n const { _userColumns, _featureColumns, _extendedColumns } = this;\n // One column per id. When a layout syncs a column a source also provides\n // (e.g. the editable table's cell defs for source fields), the layout's def\n // wins and inherits the source's column metadata; source-only columns fill\n // in the rest.\n const extendedById = new Map(_extendedColumns.map((c) => [c.id, c]));\n const merged = [..._userColumns, ..._featureColumns].map((column) => {\n const extended = extendedById.get(column.id);\n return extended ? { ...extended, ...column } : column;\n });\n const mergedIds = new Set(merged.map((c) => c.id));\n return [...merged, ..._extendedColumns.filter((c) => !mergedIds.has(c.id))];\n }\n\n /**\n * Whether to show field-type prefix icons across the collection UI.\n * Controlled by the `showFieldTypeIcons` prop on the collection component (Table, Grid, etc.).\n * @default false\n */\n showFieldTypeIcons = false;\n\n get selectedOrderedColumnsOrAll() {\n const { columns, customColumnsState, columnSizesState } = this;\n\n const baseColumns = customColumnsState\n ? customColumnsState.selectedOrderedColumns\n : columns;\n\n return columnSizesState?.mergeSizes(baseColumns) ?? baseColumns;\n }\n\n _commonDynamicBiParams(query = this.collection.result.originQuery) {\n const { collection, viewsState } = this;\n\n return {\n componentType: this.componentType,\n ...collection._commonDynamicBiParams(query),\n currentTab: this.getCurrentTabName(),\n ...(viewsState && { currentView: viewsState.views.currentView?.id }),\n ...(viewsState?.views?.currentView && {\n isPredefined: viewsState.views.currentView.isPreset,\n }),\n ...(viewsState?.views?.currentView?.filters && {\n numFiltersInView: this._numberFiltersInView(\n viewsState.views.currentView,\n ),\n }),\n visibleColumnsOrder: this.selectedOrderedColumnsOrAll\n .map((col) => col.id ?? col.title ?? col.name)\n .join(','),\n numColumns: this.selectedOrderedColumnsOrAll.length,\n numFiltersActive: collection.query.activeFiltersCount,\n };\n }\n\n _numberFiltersInView(view: PrivateView<F>) {\n let numFiltersInView = 0;\n\n if (view.filters) {\n for (const filterName of Object.keys(view.filters)) {\n const filter = view.filters[filterName];\n\n if (filter && filter.value) {\n if (Array.isArray(filter.value)) {\n numFiltersInView += filter.value.length;\n } else if (filter.value) {\n numFiltersInView += 1;\n }\n }\n }\n }\n\n return numFiltersInView;\n }\n\n getCurrentTabName() {\n const {\n tabsFilterProps,\n collection: {\n result: { originQuery: query },\n },\n } = this;\n\n const tabs =\n tabsFilterProps &&\n Object.entries(query.rawFilters)\n .filter(([key]) => key === tabsFilterProps.filter.name)\n .flatMap(([, value]) =>\n Array.isArray(value)\n ? value.map(tabsFilterProps.filter.itemKey)\n : value,\n );\n\n return tabs?.[0] as string;\n }\n\n getCollectionSnapshot = (): {\n [key: string]: string | number | undefined;\n } => {\n const {\n collection: {\n result: { originQuery },\n },\n } = this;\n\n return {\n viewShown: this.viewsState?.views.currentView?.id,\n tabShown: this.getCurrentTabName(),\n sortOrderApplied: originQuery.sort?.length\n ? JSON.stringify(originQuery.sort)\n : undefined,\n filtersApplied: JSON.stringify(originQuery.filtersKey),\n filteredListSizeShown: this.collection.result.total,\n };\n };\n\n getPendingFilter<A>(filter: A) {\n return this.pendingQuery?.getApplicableFilter(filter) ?? filter;\n }\n\n init({\n featuresInitializers,\n hasMultiLevelSorting,\n skipFilterListeners,\n }: ToolbarCollectionStateParamsInitParams) {\n const {\n collection,\n multi,\n initTask,\n panels,\n sidePanel,\n tagsCollectionState,\n bulk,\n customColumnsState,\n viewsState,\n columnSizesState,\n } = this;\n\n const biReporters = multi.collections.map(\n (collection) =>\n new CollectionBIReporter({\n collection,\n reportBi: (ev) => {\n this.reportBi({\n ...ev,\n params: {\n ...collection._commonDynamicBiParams(),\n ...ev.params,\n },\n });\n },\n }),\n );\n\n // must call `initOptionalFeatures` before collection init because we want to allow features to customize the collection before collection.init\n const tableFeatures = featuresInitializers\n .filter((t): t is ToolbarFeatureInitializer => t != null)\n .map((tableFeatInit) => tableFeatInit(this));\n\n // should be initialized before collection.init() so the sort query will be updated before the time of the first request.\n this._initDefaultSortableColumn(hasMultiLevelSorting);\n\n const disposers = [\n // Must be registered before the per-flow layout reactions so the\n // `_cacheRestoredLayout` gate they read is set first (mobx fires\n // reactions in creation order).\n reaction(\n () => this.layoutState?.viewType,\n (next, prev) => {\n if (!next || !prev || next === prev) {\n return;\n }\n if (this._skipNextLayoutCoordinator) {\n this._skipNextLayoutCoordinator = false;\n this._cacheRestoredLayout = next;\n return;\n }\n this._flushColumnsToCache(prev);\n this._cacheRestoredLayout = this._tryRestoreColumnsFromCache(next)\n ? next\n : undefined;\n },\n ),\n this.collectionFieldsSource?.init(), // the fields source should be initialized and its beforeInitialFetch promise listener registered before customColumnsState?._tableInit() because custom columns might use data extensions\n customColumnsState?._tableInit(),\n viewsState?.init(),\n columnSizesState?.init(),\n // register table feature first as they might register to the collection `beforeInitialFetch`\n ...tableFeatures.map((t) => t.init()),\n reaction(\n () => this.selectedOrderedColumnsOrAll,\n (columns) => {\n collection.query._columns.replace(columns.map((c) => c.id));\n },\n {\n fireImmediately: true,\n },\n ),\n multi.init({ skipFilterListeners }),\n ...biReporters.map((b) => b.init()),\n panels.init(),\n sidePanel.init(),\n bulk.init(),\n tagsCollectionState?.init(),\n addEventListener(\n collection.bulkSelect.events,\n 'openModal',\n this.bulk.modals.actionModal.modal.open,\n ),\n addEventListener(\n collection.bulkSelect.events,\n 'closeModal',\n this.bulk.modals.actionModal.modal.close,\n ),\n addEventListener(this.collection.emitter, 'resultUpdated', () => {\n this.broadcast({\n message: this.container.translate(\n 'cairo.a11y.liveRegion.resultsFound',\n { num: this.collection.result.total },\n ),\n });\n }),\n ];\n\n const startTime = performance.now();\n\n initTask.runOnce(async () => {\n this.toolbarBIReporter.loadStart();\n\n multi.initTask.runOnce();\n customColumnsState?.initTask.runOnce();\n\n tableFeatures.forEach(({ initTask }) => {\n if (initTask) {\n initTask.runOnce();\n }\n });\n\n try {\n await Promise.all([\n multi.initTask.status.promise,\n tagsCollectionState?.initTask.status.promise?.catch(() => null), // resilience to failed request\n this.collectionFieldsSource?.initTask.status.promise?.catch(\n () => null,\n ), // resilience to failed request\n customColumnsState?.initTask.status.promise,\n columnSizesState?.initTask.status.promise,\n ...tableFeatures.map((t) => t.initTask?.status.promise),\n ]);\n\n this.toolbarBIReporter.loadEnd(startTime);\n } catch (e) {\n throw e;\n }\n });\n\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n\n setFilterTagsPropsIfChanged(filtersProps: FilterProps<any>[] | null) {\n if (this.filtersProps !== filtersProps) {\n this.filtersProps = filtersProps;\n }\n }\n\n _toStoredColumn = (column: Column) => {\n const { id, defaultHidden, hideable, hiddenFromCustomColumnsSelection } =\n column;\n\n return {\n id,\n isSelected:\n !hideable || hiddenFromCustomColumnsSelection || !defaultHidden,\n };\n };\n\n setNewColumns(tableColumns: TableColumn<T>[]) {\n this._userColumns = simplifyColumns(tableColumns);\n }\n\n addFeatureColumn(featureColumn: TableColumn<T>) {\n this._featureColumns.push(simplifyColumn(featureColumn));\n\n this._adjustSelectedColumns();\n }\n\n setExtendedColumns(columns: Column[]) {\n this._extendedColumns = columns;\n this._adjustSelectedColumns();\n }\n\n broadcast(params: LiveRegionState) {\n this.liveRegionRef.current?.broadcast(params);\n }\n\n setToolbarFiltersStateInitialized(value: boolean) {\n this.toolbarFiltersStateInitialized = value;\n }\n\n updateColumnWidth(columnId: string, width: number) {\n this.columnSizesState?.updateColumnWidth(columnId, width);\n }\n\n _initDefaultSortableColumn(hasMultiLevelSorting = false) {\n const {\n columns,\n collection: { query },\n } = this;\n\n const defaultSortableColumns = columns.filter(\n (col): col is Column & { defaultSortOrder: SortOrder } =>\n col.sortable === true && col.id != null && col.defaultSortOrder != null,\n );\n\n if (defaultSortableColumns.length && !query.sort.value.length) {\n const sortQuery = defaultSortableColumns.map((column) => ({\n field: column.id,\n direction: column.defaultSortOrder,\n }));\n\n query.sort.setSortQuery(\n hasMultiLevelSorting ? sortQuery : sortQuery.slice(0, 1),\n );\n }\n }\n\n _adjustSelectedColumns = () => {\n const {\n selectedColumns,\n customColumnsState,\n customColumnsProps,\n customColumnsStateInitialized,\n } = this;\n\n // as long as consumer rendered `<CustomColumns/>` at least once, use `mergeNewColumns` strategy when re-rendering new columns prop\n if (customColumnsProps != null || customColumnsStateInitialized) {\n // if `customColumns` is not set yet - do nothing\n if (customColumnsState) {\n const { initTask } = customColumnsState;\n // Read before merging — `mergeNewColumns` consumes it. Only the\n // drag-and-drop merge honours the spot, so without it nothing was\n // placed and there is nothing to persist.\n const hadPendingInsert =\n customColumnsState.dragAndDrop != null &&\n customColumnsState.pendingInsertPosition != null;\n const mergedColumns = customColumnsState.mergeNewColumns();\n runInAction(() => {\n selectedColumns.defaultValue = this.columns.map((col) => {\n const { id, isSelected } = this._toStoredColumn(col);\n return { id, isSelected };\n });\n });\n // A spot the user picked is persisted even if they never touched the\n // custom-columns panel, so the column stays there after a reload.\n if (\n initTask.status.isSuccess &&\n (customColumnsState._touched || hadPendingInsert)\n ) {\n selectedColumns.refresh(mergedColumns);\n } else {\n selectedColumns.setValue(mergedColumns);\n }\n }\n } else {\n const allColumns = this.columns.map(({ id }) => ({\n id,\n isSelected: true,\n }));\n selectedColumns.defaultValue = allColumns;\n selectedColumns.setValue(allColumns);\n }\n };\n\n _flushColumnsToCache(layout: ViewType) {\n this._layoutColumnsCache[layout] = this.selectedColumns.value.map(\n ({ id, isSelected }) => ({ id, isSelected }),\n );\n }\n\n _tryRestoreColumnsFromCache(layout: ViewType): boolean {\n const cached = this._layoutColumnsCache[layout];\n if (!cached) {\n return false;\n }\n // Merge against current columns — mirrors `_fetchFromStorage`.\n const merged = this.columns.map((column) => {\n const cachedEntry = cached.find((c) => c.id === column.id);\n if (cachedEntry == null) {\n return this._toStoredColumn(column);\n }\n const { id, hideable, hiddenFromCustomColumnsSelection } = column;\n return {\n id,\n isSelected:\n cachedEntry.isSelected ||\n !hideable ||\n hiddenFromCustomColumnsSelection === true,\n };\n });\n this.selectedColumns.setValue(\n this.customColumnsState?.dragAndDrop\n ? merged.sort(indexOfCompareFn(cached, (e) => e?.id))\n : merged,\n );\n return true;\n }\n\n _clearColumnsCache() {\n this._layoutColumnsCache = {};\n }\n\n _adjustSortWithNewColumns(tableColumns: TableColumn<T>[]) {\n const {\n collection: { query },\n } = this;\n const tableColumnsIds = new Set(tableColumns.map((column) => column.id));\n\n const staleSortEntries = query.sort.value.filter(\n ({ field }) => !tableColumnsIds.has(field),\n );\n\n // Runs on every column add/duplicate, where the sort is still valid.\n // re-sorting there clears the loaded rows and refetches from page 1.\n if (staleSortEntries.length === 0) {\n return;\n }\n\n staleSortEntries.forEach((s) => {\n query.sort.value.remove(s);\n });\n query.sort.events.emit('change');\n this.collection.scheduleSort({ clearResult: true });\n }\n\n closeSidePanel = () => {\n this.sidePanel.close();\n };\n\n openFiltersPanel() {\n this.panels.openSidePanel('filters');\n }\n\n retryErrorState = action(() => {\n const { initTask, multi } = this;\n\n if (initTask.status.isError) {\n initTask.runOnce();\n } else {\n multi.retryErrorState();\n }\n });\n\n onSelectionStarted = () => {\n this.bulk._selectionStartTime = performance.now();\n };\n\n _onSelectAllCheckboxClick() {}\n\n get activeFiltersEntries() {\n return Array.from(\n this.multi.collections\n .flatMap(({ query }) =>\n query.activeFiltersEntries.filter(\n ([_, filter]) => filter !== query.search,\n ),\n )\n .reduce(\n (map, entry) => map.set(entry[0], entry),\n new Map<string, [string, Filter<unknown>]>(),\n )\n .values(),\n );\n }\n\n onSelectionChanged: Required<TableProps>['onSelectionChanged'] = action(\n (_selectedIds, change) => {\n if (change == null) {\n return;\n }\n\n const { panels, bulk } = this;\n\n panels.closeSidePanel();\n\n switch (change.type) {\n case 'ALL':\n bulk.toggleSelectAll({ location: 'Checkbox' });\n break;\n case 'NONE':\n bulk.deselectAll({ location: 'Checkbox' });\n break;\n case 'SINGLE_TOGGLE':\n if (change.value) {\n bulk.selectOne(change.id);\n } else {\n bulk.deselectOne(change.id);\n }\n break;\n }\n },\n );\n\n openCustomFieldModal = ({\n customOrigin,\n onSave,\n initialField,\n lockedProperties,\n }: Pick<\n OpenFieldModalOptions,\n 'customOrigin' | 'onSave' | 'initialField' | 'lockedProperties'\n > = {}) => {\n return this.collectionFieldsSource?.openFieldModal({\n customOrigin,\n onSave,\n initialField,\n lockedProperties,\n });\n };\n\n openManageTagsModal = () => {\n return this.tagsCollectionState?.openManageTagsModal();\n };\n\n onAddItemActionComplete = async (items: T[]) => {\n await this._resetQueryAndAddItems(items);\n\n this.toolbarBIReporter.newItemCreationEnd(items);\n };\n\n _resetQueryAndAddItems = async (items: T[]) => {\n const { collection } = this;\n const { query } = collection;\n\n query.resetFilters();\n query.resetSorting();\n\n await collection.clearResultAndMoveToStart({ force: true });\n\n collection._optimisticActions?.createMany(items, {\n submit: async () => items,\n });\n\n collection.scrollableContent?.scrollTo?.({\n top: 0,\n behavior: 'smooth',\n });\n };\n\n getPageFeaturedActions(): MoreActionItemFactory[] {\n const { collectionFieldsSource, tagsCollectionState } = this;\n return [collectionFieldsSource, tagsCollectionState]\n .filter(\n (e): e is CollectionFieldsSourceState | TagsCollectionState<T, F> =>\n e != null,\n )\n .filter((e) => !e.props?.disableDefaultPageAction)\n .flatMap((e) => e.featuredPageActions);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -7,9 +7,9 @@ var _bexCore = require("@wix/bex-core");
7
7
  var _patternsFields = require("@wix/patterns-fields");
8
8
  var _fieldTypeToCellType = require("./EditableTable/fieldTypeToCellType");
9
9
  // Types whose editable cell needs typeConfig the projection can't supply yet
10
- // (referenced collection, address shape). Until that lands, they render as a
10
+ // (referenced collection). Until that lands, they render as a
11
11
  // read-only 'object' cell rather than a broken editor.
12
- const NEEDS_TYPE_CONFIG = new Set(['REFERENCE', 'MULTI_REFERENCE', 'ADDRESS']);
12
+ const NEEDS_TYPE_CONFIG = new Set(['REFERENCE', 'MULTI_REFERENCE']);
13
13
 
14
14
  /**
15
15
  * Whether this column has a usable inline editor. Read-only cases:
@@ -140,6 +140,12 @@ function buildEditableFieldColumns(source, translate, editableCellFor) {
140
140
  name: field.displayName,
141
141
  isPrimary: field.isPrimary,
142
142
  isSystem: field.isSystem,
143
+ // Also set by buildFieldColumns, and needed here too: this column reaches
144
+ // the toolbar through simplifyColumn, which always emits the key, so it
145
+ // would overwrite the display column's value with undefined.
146
+ infoTooltipProps: field.helpText ? {
147
+ content: field.helpText
148
+ } : undefined,
143
149
  hideable: true,
144
150
  sortable: (definition == null || (_definition$capabilit = definition.capabilities) == null ? void 0 : _definition$capabilit.sortable) ?? ((_field$capabilities = field.capabilities) == null ? void 0 : _field$capabilities.sortable) ?? false,
145
151
  editable,
@@ -1 +1 @@
1
- {"version":3,"names":["_bexCore","require","_patternsFields","_fieldTypeToCellType","NEEDS_TYPE_CONFIG","Set","hasEditor","field","customCell","EditComponent","type","has","toValidationRules","translate","_v$numberRange","_v$numberRange2","_v$stringLengthRange","_v$stringLengthRange2","_v$specificValues","v","validation","rules","required","push","message","fieldName","displayName","numberRange","min","value","max","stringLengthRange","minLength","maxLength","patternRegex","compilePattern","pattern","specificValues","length","values","synthesizeCellConfig","definition","_definition$value","editableTable","valueValidate","validate","buildEditableFieldColumns","source","editableCellFor","canWrite","setCellValue","fields","map","_definition$capabilit","_field$capabilities","id","columnIdForField","resolveFieldTypeDefinition","undefined","sourceCell","cellType","FIELD_TYPE_TO_CELL_TYPE","editable","isSystem","typeConfig","title","name","isPrimary","hideable","sortable","capabilities","getValue","item","getCellValue","setValue"],"sources":["../../../src/state/buildEditableFieldColumns.ts"],"sourcesContent":["import type {\n Field,\n FieldsSource,\n FieldTypeDefinition,\n PatternsFieldType,\n Translate,\n ValidationRule,\n} from '@wix/bex-core';\nimport { resolveFieldTypeDefinition } from '@wix/bex-core';\nimport { compilePattern } from '@wix/patterns-fields';\nimport type { CellType, EditableColumn } from './EditableTable/types';\nimport { FIELD_TYPE_TO_CELL_TYPE } from './EditableTable/fieldTypeToCellType';\nimport type { EditableCellUpgrade } from './CollectionFieldsSourceState';\n\n// Types whose editable cell needs typeConfig the projection can't supply yet\n// (referenced collection, address shape). Until that lands, they render as a\n// read-only 'object' cell rather than a broken editor.\nconst NEEDS_TYPE_CONFIG = new Set<PatternsFieldType>([\n 'REFERENCE',\n 'MULTI_REFERENCE',\n 'ADDRESS',\n]);\n\n/**\n * Whether this column has a usable inline editor. Read-only cases:\n * `NEEDS_TYPE_CONFIG` types are downgraded to a display cell, `UNKNOWN` has no\n * editor, and a `CUSTOM` field is only editable through a definition that\n * supplies an EditComponent. Everything else keeps its cell type's own editor —\n * including OBJECT / ARRAY, whose cells edit as JSON.\n */\nfunction hasEditor(field: Field, customCell?: Omit<CellType, 'type'>): boolean {\n if (customCell) {\n return !!customCell.EditComponent;\n }\n return (\n field.type !== 'CUSTOM' &&\n field.type !== 'UNKNOWN' &&\n !NEEDS_TYPE_CONFIG.has(field.type)\n );\n}\n\nexport function toValidationRules(\n field: Field,\n translate: Translate,\n): ValidationRule[] {\n const v = field.validation;\n if (!v) {\n return [];\n }\n const rules: ValidationRule[] = [];\n if (v.required) {\n rules.push({\n type: 'required',\n message: translate('cairo.editableTable.field.validation.required', {\n fieldName: field.displayName,\n }),\n });\n }\n if (v.numberRange?.min != null) {\n rules.push({ type: 'min', value: v.numberRange.min, message: '' });\n }\n if (v.numberRange?.max != null) {\n rules.push({ type: 'max', value: v.numberRange.max, message: '' });\n }\n if (v.stringLengthRange?.minLength != null) {\n rules.push({\n type: 'minLength',\n value: v.stringLengthRange.minLength,\n message: '',\n });\n }\n if (v.stringLengthRange?.maxLength != null) {\n rules.push({\n type: 'maxLength',\n value: v.stringLengthRange.maxLength,\n message: '',\n });\n }\n // A pattern the platform refuses to run (uncompilable, over-long, or able to\n // backtrack catastrophically) yields no rule, matching what the form inputs do.\n const patternRegex = compilePattern(v.pattern);\n if (patternRegex) {\n rules.push({\n type: 'pattern',\n value: patternRegex,\n message: translate('cairo.editableTable.field.validation.pattern', {\n fieldName: field.displayName,\n }),\n });\n }\n if (v.specificValues?.length) {\n rules.push({\n type: 'specificValues',\n values: v.specificValues,\n message: translate(\n 'cairo.editableTable.field.validation.specificValues',\n { fieldName: field.displayName },\n ),\n });\n }\n return rules;\n}\n\n// The inline-custom cell config for a resolved definition: its editableTable\n// slot, with the definition's value-level validation layered in when the slot\n// doesn't validate itself.\nfunction synthesizeCellConfig(\n definition: FieldTypeDefinition,\n): Omit<CellType, 'type'> {\n const editableTable = definition.editableTable!;\n const valueValidate = definition.value?.validate;\n const validate =\n valueValidate &&\n ((value: unknown, rules?: ValidationRule[]) => valueValidate(value, rules));\n return { ...editableTable, validate };\n}\n\n/**\n * Projects a FieldsSource's fields into EditableTable columns: a cell type by\n * field type, value read/write through the source, validation from the field,\n * and the flags the header reads for its disable rules. A cell is editable only\n * when the source can write it back (setCellValue) and the field isn't a system\n * field. A CUSTOM field renders through its definition's editableTable slot as\n * an inline custom cell; without one it falls back to a read-only object cell.\n */\nexport function buildEditableFieldColumns(\n source: FieldsSource,\n translate: Translate,\n editableCellFor?: (field: Field) => EditableCellUpgrade | undefined,\n): EditableColumn<Record<string, unknown>>[] {\n const canWrite = typeof source.setCellValue === 'function';\n return source.fields.map((field) => {\n const id = source.columnIdForField(field);\n const definition = resolveFieldTypeDefinition(source, field);\n const customCell = definition?.editableTable\n ? synthesizeCellConfig(definition)\n : undefined;\n // A source-supplied cell wins over the downgrade: it carries the typeConfig\n // that made the type read-only here in the first place.\n const sourceCell = customCell\n ? undefined\n : NEEDS_TYPE_CONFIG.has(field.type)\n ? editableCellFor?.(field)\n : undefined;\n const cellType = customCell\n ? 'custom'\n : sourceCell?.cellType ??\n (NEEDS_TYPE_CONFIG.has(field.type)\n ? 'object'\n : FIELD_TYPE_TO_CELL_TYPE[field.type] ?? 'object');\n const validation = toValidationRules(field, translate);\n const editable =\n canWrite &&\n !field.isSystem &&\n (!!sourceCell || hasEditor(field, customCell));\n return {\n id,\n cellType,\n ...(customCell && { typeConfig: customCell }),\n ...(sourceCell && { typeConfig: sourceCell.typeConfig }),\n field,\n title: field.displayName,\n name: field.displayName,\n isPrimary: field.isPrimary,\n isSystem: field.isSystem,\n hideable: true,\n sortable:\n definition?.capabilities?.sortable ??\n field.capabilities?.sortable ??\n false,\n editable,\n validation: validation.length ? validation : undefined,\n getValue: (item) => source.getCellValue(item, field),\n setValue: editable\n ? (item, value) =>\n source.setCellValue!(item, field, value) as Record<string, unknown>\n : undefined,\n } as EditableColumn<Record<string, unknown>>;\n });\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_bexCore","require","_patternsFields","_fieldTypeToCellType","NEEDS_TYPE_CONFIG","Set","hasEditor","field","customCell","EditComponent","type","has","toValidationRules","translate","_v$numberRange","_v$numberRange2","_v$stringLengthRange","_v$stringLengthRange2","_v$specificValues","v","validation","rules","required","push","message","fieldName","displayName","numberRange","min","value","max","stringLengthRange","minLength","maxLength","patternRegex","compilePattern","pattern","specificValues","length","values","synthesizeCellConfig","definition","_definition$value","editableTable","valueValidate","validate","buildEditableFieldColumns","source","editableCellFor","canWrite","setCellValue","fields","map","_definition$capabilit","_field$capabilities","id","columnIdForField","resolveFieldTypeDefinition","undefined","sourceCell","cellType","FIELD_TYPE_TO_CELL_TYPE","editable","isSystem","typeConfig","title","name","isPrimary","infoTooltipProps","helpText","content","hideable","sortable","capabilities","getValue","item","getCellValue","setValue"],"sources":["../../../src/state/buildEditableFieldColumns.ts"],"sourcesContent":["import type {\n Field,\n FieldsSource,\n FieldTypeDefinition,\n PatternsFieldType,\n Translate,\n ValidationRule,\n} from '@wix/bex-core';\nimport { resolveFieldTypeDefinition } from '@wix/bex-core';\nimport { compilePattern } from '@wix/patterns-fields';\nimport type { CellType, EditableColumn } from './EditableTable/types';\nimport { FIELD_TYPE_TO_CELL_TYPE } from './EditableTable/fieldTypeToCellType';\nimport type { EditableCellUpgrade } from './CollectionFieldsSourceState';\n\n// Types whose editable cell needs typeConfig the projection can't supply yet\n// (referenced collection). Until that lands, they render as a\n// read-only 'object' cell rather than a broken editor.\nconst NEEDS_TYPE_CONFIG = new Set<PatternsFieldType>([\n 'REFERENCE',\n 'MULTI_REFERENCE',\n]);\n\n/**\n * Whether this column has a usable inline editor. Read-only cases:\n * `NEEDS_TYPE_CONFIG` types are downgraded to a display cell, `UNKNOWN` has no\n * editor, and a `CUSTOM` field is only editable through a definition that\n * supplies an EditComponent. Everything else keeps its cell type's own editor —\n * including OBJECT / ARRAY, whose cells edit as JSON.\n */\nfunction hasEditor(field: Field, customCell?: Omit<CellType, 'type'>): boolean {\n if (customCell) {\n return !!customCell.EditComponent;\n }\n return (\n field.type !== 'CUSTOM' &&\n field.type !== 'UNKNOWN' &&\n !NEEDS_TYPE_CONFIG.has(field.type)\n );\n}\n\nexport function toValidationRules(\n field: Field,\n translate: Translate,\n): ValidationRule[] {\n const v = field.validation;\n if (!v) {\n return [];\n }\n const rules: ValidationRule[] = [];\n if (v.required) {\n rules.push({\n type: 'required',\n message: translate('cairo.editableTable.field.validation.required', {\n fieldName: field.displayName,\n }),\n });\n }\n if (v.numberRange?.min != null) {\n rules.push({ type: 'min', value: v.numberRange.min, message: '' });\n }\n if (v.numberRange?.max != null) {\n rules.push({ type: 'max', value: v.numberRange.max, message: '' });\n }\n if (v.stringLengthRange?.minLength != null) {\n rules.push({\n type: 'minLength',\n value: v.stringLengthRange.minLength,\n message: '',\n });\n }\n if (v.stringLengthRange?.maxLength != null) {\n rules.push({\n type: 'maxLength',\n value: v.stringLengthRange.maxLength,\n message: '',\n });\n }\n // A pattern the platform refuses to run (uncompilable, over-long, or able to\n // backtrack catastrophically) yields no rule, matching what the form inputs do.\n const patternRegex = compilePattern(v.pattern);\n if (patternRegex) {\n rules.push({\n type: 'pattern',\n value: patternRegex,\n message: translate('cairo.editableTable.field.validation.pattern', {\n fieldName: field.displayName,\n }),\n });\n }\n if (v.specificValues?.length) {\n rules.push({\n type: 'specificValues',\n values: v.specificValues,\n message: translate(\n 'cairo.editableTable.field.validation.specificValues',\n { fieldName: field.displayName },\n ),\n });\n }\n return rules;\n}\n\n// The inline-custom cell config for a resolved definition: its editableTable\n// slot, with the definition's value-level validation layered in when the slot\n// doesn't validate itself.\nfunction synthesizeCellConfig(\n definition: FieldTypeDefinition,\n): Omit<CellType, 'type'> {\n const editableTable = definition.editableTable!;\n const valueValidate = definition.value?.validate;\n const validate =\n valueValidate &&\n ((value: unknown, rules?: ValidationRule[]) => valueValidate(value, rules));\n return { ...editableTable, validate };\n}\n\n/**\n * Projects a FieldsSource's fields into EditableTable columns: a cell type by\n * field type, value read/write through the source, validation from the field,\n * and the flags the header reads for its disable rules. A cell is editable only\n * when the source can write it back (setCellValue) and the field isn't a system\n * field. A CUSTOM field renders through its definition's editableTable slot as\n * an inline custom cell; without one it falls back to a read-only object cell.\n */\nexport function buildEditableFieldColumns(\n source: FieldsSource,\n translate: Translate,\n editableCellFor?: (field: Field) => EditableCellUpgrade | undefined,\n): EditableColumn<Record<string, unknown>>[] {\n const canWrite = typeof source.setCellValue === 'function';\n return source.fields.map((field) => {\n const id = source.columnIdForField(field);\n const definition = resolveFieldTypeDefinition(source, field);\n const customCell = definition?.editableTable\n ? synthesizeCellConfig(definition)\n : undefined;\n // A source-supplied cell wins over the downgrade: it carries the typeConfig\n // that made the type read-only here in the first place.\n const sourceCell = customCell\n ? undefined\n : NEEDS_TYPE_CONFIG.has(field.type)\n ? editableCellFor?.(field)\n : undefined;\n const cellType = customCell\n ? 'custom'\n : sourceCell?.cellType ??\n (NEEDS_TYPE_CONFIG.has(field.type)\n ? 'object'\n : FIELD_TYPE_TO_CELL_TYPE[field.type] ?? 'object');\n const validation = toValidationRules(field, translate);\n const editable =\n canWrite &&\n !field.isSystem &&\n (!!sourceCell || hasEditor(field, customCell));\n return {\n id,\n cellType,\n ...(customCell && { typeConfig: customCell }),\n ...(sourceCell && { typeConfig: sourceCell.typeConfig }),\n field,\n title: field.displayName,\n name: field.displayName,\n isPrimary: field.isPrimary,\n isSystem: field.isSystem,\n // Also set by buildFieldColumns, and needed here too: this column reaches\n // the toolbar through simplifyColumn, which always emits the key, so it\n // would overwrite the display column's value with undefined.\n infoTooltipProps: field.helpText\n ? { content: field.helpText }\n : undefined,\n hideable: true,\n sortable:\n definition?.capabilities?.sortable ??\n field.capabilities?.sortable ??\n false,\n editable,\n validation: validation.length ? validation : undefined,\n getValue: (item) => source.getCellValue(item, field),\n setValue: editable\n ? (item, value) =>\n source.setCellValue!(item, field, value) as Record<string, unknown>\n : undefined,\n } as EditableColumn<Record<string, unknown>>;\n });\n}\n"],"mappings":"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","ignoreList":[]}
@@ -85,6 +85,9 @@ function buildFieldColumns(source, columnOverrides, ctx = {
85
85
  isPii: field.isPii,
86
86
  isSystem: field.isSystem,
87
87
  isPrimary: field.isPrimary,
88
+ infoTooltipProps: field.helpText ? {
89
+ content: field.helpText
90
+ } : undefined,
88
91
  fieldType: (0, _fieldTypePrefixIcons.toFieldType)(field.type),
89
92
  fieldTypeIcons: definition == null ? void 0 : definition.display.icons,
90
93
  width: layout.width,
@@ -93,11 +96,13 @@ function buildFieldColumns(source, columnOverrides, ctx = {
93
96
  type: field.type,
94
97
  value: source.getCellValue(row, field),
95
98
  fieldId: `${id}-${rowNum}`,
99
+ columnId: id,
100
+ row: row,
96
101
  definition: definition,
97
102
  __self: this,
98
103
  __source: {
99
104
  fileName: _jsxFileName,
100
- lineNumber: 79,
105
+ lineNumber: 82,
101
106
  columnNumber: 9
102
107
  }
103
108
  }),