@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
@@ -1 +1 @@
1
- {"version":3,"names":["_mobx","require","_bexCore","_schemaFieldsContainer","_buildFieldColumns","_handleFieldsSourceLoadError","_buildFieldFilters","_CustomFieldsPanelState","CollectionFieldsSourceState","constructor","params","_defineProperty2","default","TaskState","fieldsSource","toolbar","featuredPageActions","props","filterConfig","columnOverrides","schemaSource","editableCellFor","components","errorCode","customFieldsPanel","CustomFieldsPanelState","container","reportBi","closeSidePanel","createFieldActionsMenu","openFieldModal","opts","openCustomFieldModal","fieldId","origin","customOrigin","onSave","initialField","lockedProperties","fieldActionsMenu","fieldActionHandlers","createFieldActionHandlers","setOnTable","source","collectionFieldsSource","buildFilters","buildFieldFilters","ReferenceFieldFilter","registerFilters","registerFieldFilters","buildColumns","firstBuild","initTask","status","isSuccess","buildFieldColumns","syncColumns","columns","hasBuiltColumns","setExtendedColumns","mergeFields","fields","_this$fieldsSource$me","_this$fieldsSource","call","init","_fieldsContainerOf","_this$initTask$status","_this$toolbar$customC","fieldsContainerOf","runOnce","load","promise","catch","handleLoadError","disposers","reaction","filterableFields","fireImmediately","customColumnsState","events","addEventListener","_this$initTask$status2","forEach","d","handleFieldsSourceLoadError","error","reload","retryLoad","reset","exports"],"sources":["../../../src/state/CollectionFieldsSourceState.ts"],"sourcesContent":["import { reaction } from 'mobx';\nimport type { ComponentType } from 'react';\nimport { addEventListener, TaskState } from '@wix/bex-core';\nimport type {\n FieldsSource,\n CustomFieldOrigin,\n Field,\n OpenFieldModalOptions,\n Schema,\n SchemaSource,\n WixPatternsErrorCode,\n} from '@wix/bex-core';\nimport type { Column } from '../model';\nimport { fieldsContainerOf } from '../model/schemaFieldsContainer';\nimport type { ToolbarCollectionState } from './ToolbarCollectionState';\nimport { buildFieldColumns, ColumnOverridesContext } from './buildFieldColumns';\nimport { handleFieldsSourceLoadError } from './handleFieldsSourceLoadError';\nimport {\n buildFieldFilters,\n registerFieldFilters,\n type FieldFilterConfig,\n} from './buildFieldFilters';\nimport type {\n FilterElement,\n CollectionToolbarFiltersProps,\n} from '../components/CollectionToolbarFilters';\nimport type { MoreActionItemFactory } from '../components/MoreActions/MoreActionsBase';\nimport {\n CustomFieldsPanelState,\n type FieldActionsMenuBuilder,\n} from './CustomFields/CustomFieldsPanelState';\nimport type { FieldActionHandlersConfig } from '../components/FieldActions';\nimport type { CustomColumnsBaseProps } from '../components/CustomColumns/CustomColumns';\nimport type { ReferenceFieldFilterProps } from '../components/ReferenceFieldFilter/ReferenceFieldFilter';\n\n/** A cell type plus the config its editor needs, for a field the default\n * type→cell mapping can't fully resolve on its own. */\nexport interface EditableCellUpgrade {\n cellType: string;\n typeConfig: unknown;\n}\n\n/** Builds the raw field-management for one field (handlers + registry metadata). */\ntype FieldActionHandlersBuilder = (args: {\n fieldId: string;\n origin: CustomFieldOrigin;\n location: string;\n}) => FieldActionHandlersConfig | null;\n\n/**\n * Components the source attaches at construction time so the table chunk can\n * render them via `source.components.X` instead of statically importing them.\n * Each source's rendering file (dataExtensionRendering / schemaRendering) is\n * the only place these are imported — those files are reachable only from the\n * source's feature module, so the components ship in that chunk, not the\n * table chunk.\n */\nexport interface FieldsSourceComponents {\n FieldManagementModals: ComponentType<{ source: CollectionFieldsSourceState }>;\n CustomColumns: ComponentType<CustomColumnsBaseProps>;\n CollectionToolbarFilters: ComponentType<CollectionToolbarFiltersProps>;\n /** Filters a reference field by the referenced items. Omit it and reference\n * fields get no filter — which is what a source with no reference fields\n * wants, since the component pulls the referenced-item avatar in with it. */\n ReferenceFieldFilter?: ComponentType<ReferenceFieldFilterProps>;\n}\n\n/**\n * The source-specific behavior a collection supplies on top of its FieldsSource\n * (data) — column tweaks, filter behavior, the manage-fields panel, page actions,\n * field actions, and the field-management modal states. A source builds one of\n * these (dataExtensionRendering / schemaRendering); it is spread onto\n * CollectionFieldsSourceState, which owns the pieces directly. The collection\n * renders these with shared, source-neutral components.\n */\nexport interface FieldsSourceRendering {\n /** The schema behind this source, when it has one. The collection initializes\n * the fields container the schema carries; the components read it off the\n * same object for React context. */\n schemaSource?: SchemaSource<any>;\n /**\n * Lets a source replace any column property the shared builder produces,\n * including the render function for media types. Called per field.\n */\n columnOverrides?(field: Field, ctx: ColumnOverridesContext): Partial<Column>;\n /**\n * The editable cell for a field whose editor needs `typeConfig` only the\n * source can supply (a reference cell's referenced collection). Called per\n * field when building editable columns; `undefined` keeps the default mapping\n * for that field type, which for those types is a read-only display.\n */\n editableCellFor?(field: Field): EditableCellUpgrade | undefined;\n /** Per-source filter behavior (text operators, decimal, type icon). */\n filterConfig: FieldFilterConfig;\n /**\n * Builds the source's per-field actions menu for the panel it belongs to. The\n * spine builds the panel and passes it in; the resulting menu drives both the\n * manage-fields panel and the customize-columns header.\n */\n createFieldActionsMenu: (\n panel: CustomFieldsPanelState,\n ) => FieldActionsMenuBuilder;\n /**\n * Builds the raw field-management for one field (handlers + registry metadata)\n * for the panel it belongs to, before grouping. The header merges these with\n * its table-intrinsic actions (sort / hide / filter). Omitted by sources with\n * no field actions.\n */\n createFieldActionHandlers?: (\n panel: CustomFieldsPanelState,\n ) => FieldActionHandlersBuilder;\n featuredPageActions: MoreActionItemFactory[];\n props?: { disableDefaultPageAction?: boolean };\n /** BI error code reported when the source's load fails. Default: 'InitCustomFieldsDataExtensionFailed'. */\n errorCode?: WixPatternsErrorCode;\n /** The source provides these so the table chunk renders them via DI rather\n * than static import. See FieldsSourceComponents. */\n components: FieldsSourceComponents;\n}\n\n/**\n * A collection's field source: the FieldsSource (data) plus the source's UI,\n * held as flat members. The toolbar holds one of these rather than a specific\n * source. It owns the load status (initTask); field and filter reads pass\n * through to the FieldsSource's own observables.\n */\nexport class CollectionFieldsSourceState {\n readonly fieldsSource: FieldsSource;\n /** The field-management state (modals + per-field menu). Built here from the\n * source's config so every source gets the same panel. */\n readonly customFieldsPanel: CustomFieldsPanelState;\n readonly featuredPageActions: MoreActionItemFactory[];\n readonly props?: { disableDefaultPageAction?: boolean };\n readonly filterConfig: FieldFilterConfig;\n readonly openFieldModal: (opts?: OpenFieldModalOptions) => void;\n readonly fieldActionsMenu: FieldActionsMenuBuilder;\n readonly fieldActionHandlers?: FieldActionHandlersBuilder;\n readonly components: FieldsSourceComponents;\n /** Read by the source-driven components, which put its fields container in\n * React context. */\n readonly schemaSource?: SchemaSource<any>;\n /** Read by EditableTableState when it builds the source's editable columns. */\n readonly editableCellFor?: FieldsSourceRendering['editableCellFor'];\n private readonly columnOverrides?: FieldsSourceRendering['columnOverrides'];\n private readonly toolbar: ToolbarCollectionState<any, any>;\n private readonly errorCode: WixPatternsErrorCode;\n private hasBuiltColumns = false;\n\n constructor(\n params: {\n fieldsSource: FieldsSource;\n toolbar: ToolbarCollectionState<any, any>;\n } & FieldsSourceRendering,\n ) {\n this.fieldsSource = params.fieldsSource;\n this.toolbar = params.toolbar;\n this.featuredPageActions = params.featuredPageActions;\n this.props = params.props;\n this.filterConfig = params.filterConfig;\n this.columnOverrides = params.columnOverrides;\n this.schemaSource = params.schemaSource;\n this.editableCellFor = params.editableCellFor;\n this.components = params.components;\n this.errorCode = params.errorCode ?? 'InitCustomFieldsDataExtensionFailed';\n\n // The panel is generic — the source supplies only its config (the menu\n // factory); the table's container/reportBi wire it up. The panel builds all\n // three field-management modals (add/edit, archive, delete) itself.\n this.customFieldsPanel = new CustomFieldsPanelState({\n fieldsSource: params.fieldsSource,\n container: this.toolbar.container,\n reportBi: this.toolbar.reportBi,\n closeSidePanel: this.toolbar.closeSidePanel,\n createFieldActionsMenu: params.createFieldActionsMenu,\n });\n // Opening the add/edit modal and reading the per-field menu are the same for\n // every source, so derive them from the panel rather than per-source.\n this.openFieldModal = (opts) =>\n this.customFieldsPanel.openCustomFieldModal({\n fieldId: opts?.fieldId,\n origin: opts?.origin ?? 'external',\n customOrigin: opts?.customOrigin,\n onSave: opts?.onSave,\n initialField: opts?.initialField,\n lockedProperties: opts?.lockedProperties,\n });\n this.fieldActionsMenu = this.customFieldsPanel.fieldActionsMenu;\n this.fieldActionHandlers = params.createFieldActionHandlers?.(\n this.customFieldsPanel,\n );\n }\n\n /**\n * Attaches a source to a table's toolbar. Builds the wrapper once; calling it\n * again (e.g. on re-render) is a no-op.\n */\n static setOnTable(\n toolbar: ToolbarCollectionState<any, any>,\n source: { fieldsSource: FieldsSource } & FieldsSourceRendering,\n ) {\n toolbar.collectionFieldsSource ??= new CollectionFieldsSourceState({\n ...source,\n toolbar,\n });\n }\n\n readonly initTask = new TaskState();\n\n buildFilters(): FilterElement[] {\n return buildFieldFilters(\n this.toolbar,\n this.fieldsSource,\n this.filterConfig,\n this.components.ReferenceFieldFilter,\n );\n }\n\n /** Registers a filter state per filterable field on the collection query. */\n registerFilters() {\n registerFieldFilters(\n this.toolbar,\n this.fieldsSource,\n this.filterConfig,\n this.components.ReferenceFieldFilter,\n );\n }\n\n /**\n * Builds the columns from the fields, or null while the source is still\n * loading so existing columns are kept.\n */\n buildColumns(firstBuild: boolean): Column[] | null {\n if (!this.initTask.status.isSuccess) {\n return null;\n }\n return buildFieldColumns(this.fieldsSource, this.columnOverrides, {\n firstBuild,\n });\n }\n\n syncColumns() {\n const columns = this.buildColumns(!this.hasBuiltColumns);\n if (columns) {\n this.toolbar.setExtendedColumns(columns);\n this.hasBuiltColumns = true;\n }\n }\n\n /** Merges a returned fields map into the source (no refetch). No-ops for sources\n * that don't support in-place merging. The fields reaction rebuilds columns. */\n mergeFields(fields: Schema['fields']) {\n this.fieldsSource.mergeFields?.(fields);\n }\n\n init() {\n // Idempotent, and the field renderers can't translate until it resolves.\n fieldsContainerOf(this.schemaSource)?.init();\n this.initTask.runOnce(() => this.fieldsSource.load());\n this.initTask.status.promise?.catch(() => this.handleLoadError());\n\n const disposers = [\n // Push the columns once the source loads, and again whenever the field\n // list changes (add/edit/delete field). The first push starts every\n // column hidden; later pushes keep the user's selection.\n reaction(\n () =>\n [this.fieldsSource.fields, this.initTask.status.isSuccess] as const,\n () => this.syncColumns(),\n ),\n // Register a filter state per filterable field. filterableFields populates\n // inside the source's load (before initTask resolves), so the collection's\n // initial fetch still waits for these — matching the prior per-source timing.\n reaction(\n () => this.fieldsSource.filterableFields,\n () => this.registerFilters(),\n { fireImmediately: true },\n ),\n // Make custom-columns storage reconciliation wait until this source's\n // columns are built, so a stored hide/show selection for source fields\n // survives a reload. Covers any source.\n ...(this.toolbar.customColumnsState?.events\n ? [\n addEventListener(\n this.toolbar.customColumnsState.events,\n 'beforeInitialFetch',\n () => this.initTask.status.promise?.catch(() => {}),\n ),\n ]\n : []),\n ];\n\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n\n private handleLoadError() {\n handleFieldsSourceLoadError({\n container: this.toolbar.container,\n reportBi: this.toolbar.reportBi,\n error: this.initTask.status.error,\n errorCode: this.errorCode,\n reload: () => this.retryLoad(),\n });\n }\n\n /** Re-runs the source load after a failure (the retry toast). */\n private retryLoad() {\n this.initTask.reset();\n this.initTask.runOnce(() => this.fieldsSource.load());\n return this.initTask.status.promise;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_mobx","require","_bexCore","_schemaFieldsContainer","_buildFieldColumns","_handleFieldsSourceLoadError","_buildFieldFilters","_CustomFieldsPanelState","CollectionFieldsSourceState","constructor","params","_defineProperty2","default","TaskState","fieldsSource","toolbar","featuredPageActions","props","filterConfig","columnOverrides","schemaSource","editableCellFor","components","errorCode","customFieldsPanel","CustomFieldsPanelState","container","reportBi","closeSidePanel","createFieldActionsMenu","openFieldModal","opts","openCustomFieldModal","fieldId","origin","customOrigin","onSave","initialField","lockedProperties","fieldActionsMenu","fieldActionHandlers","createFieldActionHandlers","setOnTable","source","collectionFieldsSource","buildFilters","buildFieldFilters","ReferenceFieldFilter","registerFilters","registerFieldFilters","buildColumns","firstBuild","initTask","status","isSuccess","buildFieldColumns","syncColumns","columns","hasBuiltColumns","setExtendedColumns","mergeFields","fields","_this$fieldsSource$me","_this$fieldsSource","call","init","_fieldsContainerOf","_this$initTask$status","_this$toolbar$customC2","fieldsContainerOf","runOnce","load","promise","catch","handleLoadError","modal","customFieldModal","modalState","disposers","reaction","filterableFields","fireImmediately","isOpen","confirming","isLoading","isClosedAndSettled","_this$toolbar$customC","customColumnsState","clearPendingInsertPosition","events","addEventListener","_this$initTask$status2","forEach","d","handleFieldsSourceLoadError","error","reload","retryLoad","reset","exports"],"sources":["../../../src/state/CollectionFieldsSourceState.ts"],"sourcesContent":["import { reaction } from 'mobx';\nimport type { ComponentType } from 'react';\nimport { addEventListener, TaskState } from '@wix/bex-core';\nimport type {\n FieldsSource,\n CustomFieldOrigin,\n Field,\n OpenFieldModalOptions,\n Schema,\n SchemaSource,\n WixPatternsErrorCode,\n} from '@wix/bex-core';\nimport type { Column } from '../model';\nimport { fieldsContainerOf } from '../model/schemaFieldsContainer';\nimport type { ToolbarCollectionState } from './ToolbarCollectionState';\nimport { buildFieldColumns, ColumnOverridesContext } from './buildFieldColumns';\nimport { handleFieldsSourceLoadError } from './handleFieldsSourceLoadError';\nimport {\n buildFieldFilters,\n registerFieldFilters,\n type FieldFilterConfig,\n} from './buildFieldFilters';\nimport type {\n FilterElement,\n CollectionToolbarFiltersProps,\n} from '../components/CollectionToolbarFilters';\nimport type { MoreActionItemFactory } from '../components/MoreActions/MoreActionsBase';\nimport {\n CustomFieldsPanelState,\n type FieldActionsMenuBuilder,\n} from './CustomFields/CustomFieldsPanelState';\nimport type { FieldActionHandlersConfig } from '../components/FieldActions';\nimport type { CustomColumnsBaseProps } from '../components/CustomColumns/CustomColumns';\nimport type { ReferenceFieldFilterProps } from '../components/ReferenceFieldFilter/ReferenceFieldFilter';\n\n/** A cell type plus the config its editor needs, for a field the default\n * type→cell mapping can't fully resolve on its own. */\nexport interface EditableCellUpgrade {\n cellType: string;\n typeConfig: unknown;\n}\n\n/** Builds the raw field-management for one field (handlers + registry metadata). */\ntype FieldActionHandlersBuilder = (args: {\n fieldId: string;\n origin: CustomFieldOrigin;\n location: string;\n}) => FieldActionHandlersConfig | null;\n\n/**\n * Components the source attaches at construction time so the table chunk can\n * render them via `source.components.X` instead of statically importing them.\n * Each source's rendering file (dataExtensionRendering / schemaRendering) is\n * the only place these are imported — those files are reachable only from the\n * source's feature module, so the components ship in that chunk, not the\n * table chunk.\n */\nexport interface FieldsSourceComponents {\n FieldManagementModals: ComponentType<{ source: CollectionFieldsSourceState }>;\n CustomColumns: ComponentType<CustomColumnsBaseProps>;\n CollectionToolbarFilters: ComponentType<CollectionToolbarFiltersProps>;\n /** Filters a reference field by the referenced items. Omit it and reference\n * fields get no filter — which is what a source with no reference fields\n * wants, since the component pulls the referenced-item avatar in with it. */\n ReferenceFieldFilter?: ComponentType<ReferenceFieldFilterProps>;\n}\n\n/**\n * The source-specific behavior a collection supplies on top of its FieldsSource\n * (data) — column tweaks, filter behavior, the manage-fields panel, page actions,\n * field actions, and the field-management modal states. A source builds one of\n * these (dataExtensionRendering / schemaRendering); it is spread onto\n * CollectionFieldsSourceState, which owns the pieces directly. The collection\n * renders these with shared, source-neutral components.\n */\nexport interface FieldsSourceRendering {\n /** The schema behind this source, when it has one. The collection initializes\n * the fields container the schema carries; the components read it off the\n * same object for React context. */\n schemaSource?: SchemaSource<any>;\n /**\n * Lets a source replace any column property the shared builder produces,\n * including the render function for media types. Called per field.\n */\n columnOverrides?(field: Field, ctx: ColumnOverridesContext): Partial<Column>;\n /**\n * The editable cell for a field whose editor needs `typeConfig` only the\n * source can supply (a reference cell's referenced collection). Called per\n * field when building editable columns; `undefined` keeps the default mapping\n * for that field type, which for those types is a read-only display.\n */\n editableCellFor?(field: Field): EditableCellUpgrade | undefined;\n /** Per-source filter behavior (text operators, decimal, type icon). */\n filterConfig: FieldFilterConfig;\n /**\n * Builds the source's per-field actions menu for the panel it belongs to. The\n * spine builds the panel and passes it in; the resulting menu drives both the\n * manage-fields panel and the customize-columns header.\n */\n createFieldActionsMenu: (\n panel: CustomFieldsPanelState,\n ) => FieldActionsMenuBuilder;\n /**\n * Builds the raw field-management for one field (handlers + registry metadata)\n * for the panel it belongs to, before grouping. The header merges these with\n * its table-intrinsic actions (sort / hide / filter). Omitted by sources with\n * no field actions.\n */\n createFieldActionHandlers?: (\n panel: CustomFieldsPanelState,\n ) => FieldActionHandlersBuilder;\n featuredPageActions: MoreActionItemFactory[];\n props?: { disableDefaultPageAction?: boolean };\n /** BI error code reported when the source's load fails. Default: 'InitCustomFieldsDataExtensionFailed'. */\n errorCode?: WixPatternsErrorCode;\n /** The source provides these so the table chunk renders them via DI rather\n * than static import. See FieldsSourceComponents. */\n components: FieldsSourceComponents;\n}\n\n/**\n * A collection's field source: the FieldsSource (data) plus the source's UI,\n * held as flat members. The toolbar holds one of these rather than a specific\n * source. It owns the load status (initTask); field and filter reads pass\n * through to the FieldsSource's own observables.\n */\nexport class CollectionFieldsSourceState {\n readonly fieldsSource: FieldsSource;\n /** The field-management state (modals + per-field menu). Built here from the\n * source's config so every source gets the same panel. */\n readonly customFieldsPanel: CustomFieldsPanelState;\n readonly featuredPageActions: MoreActionItemFactory[];\n readonly props?: { disableDefaultPageAction?: boolean };\n readonly filterConfig: FieldFilterConfig;\n readonly openFieldModal: (opts?: OpenFieldModalOptions) => void;\n readonly fieldActionsMenu: FieldActionsMenuBuilder;\n readonly fieldActionHandlers?: FieldActionHandlersBuilder;\n readonly components: FieldsSourceComponents;\n /** Read by the source-driven components, which put its fields container in\n * React context. */\n readonly schemaSource?: SchemaSource<any>;\n /** Read by EditableTableState when it builds the source's editable columns. */\n readonly editableCellFor?: FieldsSourceRendering['editableCellFor'];\n private readonly columnOverrides?: FieldsSourceRendering['columnOverrides'];\n private readonly toolbar: ToolbarCollectionState<any, any>;\n private readonly errorCode: WixPatternsErrorCode;\n private hasBuiltColumns = false;\n\n constructor(\n params: {\n fieldsSource: FieldsSource;\n toolbar: ToolbarCollectionState<any, any>;\n } & FieldsSourceRendering,\n ) {\n this.fieldsSource = params.fieldsSource;\n this.toolbar = params.toolbar;\n this.featuredPageActions = params.featuredPageActions;\n this.props = params.props;\n this.filterConfig = params.filterConfig;\n this.columnOverrides = params.columnOverrides;\n this.schemaSource = params.schemaSource;\n this.editableCellFor = params.editableCellFor;\n this.components = params.components;\n this.errorCode = params.errorCode ?? 'InitCustomFieldsDataExtensionFailed';\n\n // The panel is generic — the source supplies only its config (the menu\n // factory); the table's container/reportBi wire it up. The panel builds all\n // three field-management modals (add/edit, archive, delete) itself.\n this.customFieldsPanel = new CustomFieldsPanelState({\n fieldsSource: params.fieldsSource,\n container: this.toolbar.container,\n reportBi: this.toolbar.reportBi,\n closeSidePanel: this.toolbar.closeSidePanel,\n createFieldActionsMenu: params.createFieldActionsMenu,\n });\n // Opening the add/edit modal and reading the per-field menu are the same for\n // every source, so derive them from the panel rather than per-source.\n this.openFieldModal = (opts) =>\n this.customFieldsPanel.openCustomFieldModal({\n fieldId: opts?.fieldId,\n origin: opts?.origin ?? 'external',\n customOrigin: opts?.customOrigin,\n onSave: opts?.onSave,\n initialField: opts?.initialField,\n lockedProperties: opts?.lockedProperties,\n });\n this.fieldActionsMenu = this.customFieldsPanel.fieldActionsMenu;\n this.fieldActionHandlers = params.createFieldActionHandlers?.(\n this.customFieldsPanel,\n );\n }\n\n /**\n * Attaches a source to a table's toolbar. Builds the wrapper once; calling it\n * again (e.g. on re-render) is a no-op.\n */\n static setOnTable(\n toolbar: ToolbarCollectionState<any, any>,\n source: { fieldsSource: FieldsSource } & FieldsSourceRendering,\n ) {\n toolbar.collectionFieldsSource ??= new CollectionFieldsSourceState({\n ...source,\n toolbar,\n });\n }\n\n readonly initTask = new TaskState();\n\n buildFilters(): FilterElement[] {\n return buildFieldFilters(\n this.toolbar,\n this.fieldsSource,\n this.filterConfig,\n this.components.ReferenceFieldFilter,\n );\n }\n\n /** Registers a filter state per filterable field on the collection query. */\n registerFilters() {\n registerFieldFilters(\n this.toolbar,\n this.fieldsSource,\n this.filterConfig,\n this.components.ReferenceFieldFilter,\n );\n }\n\n /**\n * Builds the columns from the fields, or null while the source is still\n * loading so existing columns are kept.\n */\n buildColumns(firstBuild: boolean): Column[] | null {\n if (!this.initTask.status.isSuccess) {\n return null;\n }\n return buildFieldColumns(this.fieldsSource, this.columnOverrides, {\n firstBuild,\n });\n }\n\n syncColumns() {\n const columns = this.buildColumns(!this.hasBuiltColumns);\n if (columns) {\n this.toolbar.setExtendedColumns(columns);\n this.hasBuiltColumns = true;\n }\n }\n\n /** Merges a returned fields map into the source (no refetch). No-ops for sources\n * that don't support in-place merging. The fields reaction rebuilds columns. */\n mergeFields(fields: Schema['fields']) {\n this.fieldsSource.mergeFields?.(fields);\n }\n\n init() {\n // Idempotent, and the field renderers can't translate until it resolves.\n fieldsContainerOf(this.schemaSource)?.init();\n this.initTask.runOnce(() => this.fieldsSource.load());\n this.initTask.status.promise?.catch(() => this.handleLoadError());\n\n const { modal } = this.customFieldsPanel.customFieldModal.modalState;\n\n const disposers = [\n // Push the columns once the source loads, and again whenever the field\n // list changes (add/edit/delete field). The first push starts every\n // column hidden; later pushes keep the user's selection.\n reaction(\n () =>\n [this.fieldsSource.fields, this.initTask.status.isSuccess] as const,\n () => this.syncColumns(),\n ),\n // Register a filter state per filterable field. filterableFields populates\n // inside the source's load (before initTask resolves), so the collection's\n // initial fetch still waits for these — matching the prior per-source timing.\n reaction(\n () => this.fieldsSource.filterableFields,\n () => this.registerFilters(),\n { fireImmediately: true },\n ),\n // Dismissing the modal doesn't cancel an in-flight field creation.\n // Keep its position until the request finishes, including on failure.\n reaction(\n () => !modal.isOpen && !modal.confirming.isLoading,\n (isClosedAndSettled) => {\n if (isClosedAndSettled) {\n this.toolbar.customColumnsState?.clearPendingInsertPosition();\n }\n },\n ),\n // Make custom-columns storage reconciliation wait until this source's\n // columns are built, so a stored hide/show selection for source fields\n // survives a reload. Covers any source.\n ...(this.toolbar.customColumnsState?.events\n ? [\n addEventListener(\n this.toolbar.customColumnsState.events,\n 'beforeInitialFetch',\n () => this.initTask.status.promise?.catch(() => {}),\n ),\n ]\n : []),\n ];\n\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n\n private handleLoadError() {\n handleFieldsSourceLoadError({\n container: this.toolbar.container,\n reportBi: this.toolbar.reportBi,\n error: this.initTask.status.error,\n errorCode: this.errorCode,\n reload: () => this.retryLoad(),\n });\n }\n\n /** Re-runs the source load after a failure (the retry toast). */\n private retryLoad() {\n this.initTask.reset();\n this.initTask.runOnce(() => this.fieldsSource.load());\n return this.initTask.status.promise;\n }\n}\n"],"mappings":"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","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_ = "CollectionPageHeader917972330";
8
+ var _namespace_ = "CollectionPageHeader3232782993";
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": "CollectionPageHeader917972330__root"
15
+ "root": "CollectionPageHeader3232782993__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/CollectionPage/CollectionPageHeader.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"CollectionPageHeader917972330\";\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\":\"CollectionPageHeader917972330__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,+BAA+B;AACjD,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;AAAqC,CAAC;AAC5D,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/CollectionPage/CollectionPageHeader.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"CollectionPageHeader3232782993\";\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\":\"CollectionPageHeader3232782993__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,gCAAgC;AAClD,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;AAAsC,CAAC;AAC7D,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":[]}
@@ -13,6 +13,7 @@ class ColumnSizesState {
13
13
  (0, _defineProperty2.default)(this, "container", void 0);
14
14
  (0, _defineProperty2.default)(this, "initTask", new _bexCore.TaskState());
15
15
  (0, _defineProperty2.default)(this, "columnWidths", undefined);
16
+ (0, _defineProperty2.default)(this, "isResizing", false);
16
17
  this.container = params.container;
17
18
  this.columnSizeService = new _services.ColumnSizesService({
18
19
  fqdn: params.fqdn,
@@ -20,9 +21,14 @@ class ColumnSizesState {
20
21
  errorHandler: params.container.errorHandler
21
22
  });
22
23
  (0, _mobx.makeObservable)(this, {
23
- columnWidths: _mobx.observable.ref
24
+ columnWidths: _mobx.observable.ref,
25
+ isResizing: _mobx.observable.ref,
26
+ setResizing: _mobx.action
24
27
  });
25
28
  }
29
+ setResizing(isResizing) {
30
+ this.isResizing = isResizing;
31
+ }
26
32
  init() {
27
33
  this.initTask.runOnce(async () => {
28
34
  const data = await this.columnSizeService.fetchColumnSizes();
@@ -1 +1 @@
1
- {"version":3,"names":["_bexCore","require","_services","_mobx","ColumnSizesState","constructor","params","_defineProperty2","default","TaskState","undefined","container","columnSizeService","ColumnSizesService","fqdn","storage","dataCapsule","errorHandler","makeObservable","columnWidths","observable","ref","init","initTask","runOnce","data","fetchColumnSizes","runInAction","mergeSizes","baseColumns","merged","map","column","_this$columnWidths","persistedWidth","id","width","updateColumnWidth","columnId","oldColumnWidths","newColumnWidths","updateColumnWidths","error","_this$container$error","_this$container","resolvedError","getResolvedError","showToast","biName","message","type","exports"],"sources":["../../../src/state/ColumnSizesState.ts"],"sourcesContent":["import { DataCapsule, TaskState, WixPatternsContainer } from '@wix/bex-core';\nimport { ColumnSizesService } from '../services';\nimport { makeObservable, observable, runInAction } from 'mobx';\nimport { Column } from '../model';\n\nexport interface ColumnSizesStateParams {\n dataCapsule: DataCapsule;\n container: WixPatternsContainer;\n fqdn: string;\n}\n\nexport class ColumnSizesState {\n private readonly columnSizeService: ColumnSizesService;\n private readonly container: WixPatternsContainer;\n\n readonly initTask = new TaskState();\n columnWidths: Record<string, number> | undefined = undefined;\n\n constructor(params: ColumnSizesStateParams) {\n this.container = params.container;\n\n this.columnSizeService = new ColumnSizesService({\n fqdn: params.fqdn,\n storage: params.dataCapsule,\n errorHandler: params.container.errorHandler,\n });\n\n makeObservable(this, {\n columnWidths: observable.ref,\n });\n }\n\n init() {\n this.initTask.runOnce(async () => {\n const data = await this.columnSizeService.fetchColumnSizes();\n runInAction(() => {\n this.columnWidths = data?.columnWidths;\n });\n });\n }\n\n mergeSizes(baseColumns: Column[]) {\n const merged = baseColumns.map((column) => {\n const persistedWidth = column.id\n ? this.columnWidths?.[column.id]\n : undefined;\n return persistedWidth ? { ...column, width: persistedWidth } : column;\n });\n\n return merged;\n }\n\n async updateColumnWidth(columnId: string, width: number) {\n const oldColumnWidths = { ...this.columnWidths };\n const newColumnWidths = {\n ...oldColumnWidths,\n [columnId]: width,\n };\n\n runInAction(() => {\n this.columnWidths = newColumnWidths;\n });\n\n try {\n await this.columnSizeService.updateColumnWidths(newColumnWidths);\n } catch (error) {\n const resolvedError =\n this.container.errorHandler?.getResolvedError?.(error);\n this.container?.showToast?.({\n biName: 'cairo-column-sizes-update-error',\n message: resolvedError?.message!,\n type: 'ERROR',\n });\n }\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AASO,MAAMG,gBAAgB,CAAC;EAO5BC,WAAWA,CAACC,MAA8B,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,oBAHxB,IAAIC,kBAAS,CAAC,CAAC;IAAA,IAAAF,gBAAA,CAAAC,OAAA,wBACgBE,SAAS;IAG1D,IAAI,CAACC,SAAS,GAAGL,MAAM,CAACK,SAAS;IAEjC,IAAI,CAACC,iBAAiB,GAAG,IAAIC,4BAAkB,CAAC;MAC9CC,IAAI,EAAER,MAAM,CAACQ,IAAI;MACjBC,OAAO,EAAET,MAAM,CAACU,WAAW;MAC3BC,YAAY,EAAEX,MAAM,CAACK,SAAS,CAACM;IACjC,CAAC,CAAC;IAEF,IAAAC,oBAAc,EAAC,IAAI,EAAE;MACnBC,YAAY,EAAEC,gBAAU,CAACC;IAC3B,CAAC,CAAC;EACJ;EAEAC,IAAIA,CAAA,EAAG;IACL,IAAI,CAACC,QAAQ,CAACC,OAAO,CAAC,YAAY;MAChC,MAAMC,IAAI,GAAG,MAAM,IAAI,CAACb,iBAAiB,CAACc,gBAAgB,CAAC,CAAC;MAC5D,IAAAC,iBAAW,EAAC,MAAM;QAChB,IAAI,CAACR,YAAY,GAAGM,IAAI,oBAAJA,IAAI,CAAEN,YAAY;MACxC,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ;EAEAS,UAAUA,CAACC,WAAqB,EAAE;IAChC,MAAMC,MAAM,GAAGD,WAAW,CAACE,GAAG,CAAEC,MAAM,IAAK;MAAA,IAAAC,kBAAA;MACzC,MAAMC,cAAc,GAAGF,MAAM,CAACG,EAAE,IAAAF,kBAAA,GAC5B,IAAI,CAACd,YAAY,qBAAjBc,kBAAA,CAAoBD,MAAM,CAACG,EAAE,CAAC,GAC9BzB,SAAS;MACb,OAAOwB,cAAc,GAAG;QAAE,GAAGF,MAAM;QAAEI,KAAK,EAAEF;MAAe,CAAC,GAAGF,MAAM;IACvE,CAAC,CAAC;IAEF,OAAOF,MAAM;EACf;EAEA,MAAMO,iBAAiBA,CAACC,QAAgB,EAAEF,KAAa,EAAE;IACvD,MAAMG,eAAe,GAAG;MAAE,GAAG,IAAI,CAACpB;IAAa,CAAC;IAChD,MAAMqB,eAAe,GAAG;MACtB,GAAGD,eAAe;MAClB,CAACD,QAAQ,GAAGF;IACd,CAAC;IAED,IAAAT,iBAAW,EAAC,MAAM;MAChB,IAAI,CAACR,YAAY,GAAGqB,eAAe;IACrC,CAAC,CAAC;IAEF,IAAI;MACF,MAAM,IAAI,CAAC5B,iBAAiB,CAAC6B,kBAAkB,CAACD,eAAe,CAAC;IAClE,CAAC,CAAC,OAAOE,KAAK,EAAE;MAAA,IAAAC,qBAAA,EAAAC,eAAA;MACd,MAAMC,aAAa,IAAAF,qBAAA,GACjB,IAAI,CAAChC,SAAS,CAACM,YAAY,aAA3B0B,qBAAA,CAA6BG,gBAAgB,oBAA7CH,qBAAA,CAA6BG,gBAAgB,CAAGJ,KAAK,CAAC;MACxD,CAAAE,eAAA,OAAI,CAACjC,SAAS,aAAdiC,eAAA,CAAgBG,SAAS,YAAzBH,eAAA,CAAgBG,SAAS,CAAG;QAC1BC,MAAM,EAAE,iCAAiC;QACzCC,OAAO,EAAEJ,aAAa,oBAAbA,aAAa,CAAEI,OAAQ;QAChCC,IAAI,EAAE;MACR,CAAC,CAAC;IACJ;EACF;AACF;AAACC,OAAA,CAAA/C,gBAAA,GAAAA,gBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_bexCore","require","_services","_mobx","ColumnSizesState","constructor","params","_defineProperty2","default","TaskState","undefined","container","columnSizeService","ColumnSizesService","fqdn","storage","dataCapsule","errorHandler","makeObservable","columnWidths","observable","ref","isResizing","setResizing","action","init","initTask","runOnce","data","fetchColumnSizes","runInAction","mergeSizes","baseColumns","merged","map","column","_this$columnWidths","persistedWidth","id","width","updateColumnWidth","columnId","oldColumnWidths","newColumnWidths","updateColumnWidths","error","_this$container$error","_this$container","resolvedError","getResolvedError","showToast","biName","message","type","exports"],"sources":["../../../src/state/ColumnSizesState.ts"],"sourcesContent":["import { DataCapsule, TaskState, WixPatternsContainer } from '@wix/bex-core';\nimport { ColumnSizesService } from '../services';\nimport { action, makeObservable, observable, runInAction } from 'mobx';\nimport { Column } from '../model';\n\nexport interface ColumnSizesStateParams {\n dataCapsule: DataCapsule;\n container: WixPatternsContainer;\n fqdn: string;\n}\n\nexport class ColumnSizesState {\n private readonly columnSizeService: ColumnSizesService;\n private readonly container: WixPatternsContainer;\n\n readonly initTask = new TaskState();\n columnWidths: Record<string, number> | undefined = undefined;\n isResizing = false;\n\n constructor(params: ColumnSizesStateParams) {\n this.container = params.container;\n\n this.columnSizeService = new ColumnSizesService({\n fqdn: params.fqdn,\n storage: params.dataCapsule,\n errorHandler: params.container.errorHandler,\n });\n\n makeObservable(this, {\n columnWidths: observable.ref,\n isResizing: observable.ref,\n setResizing: action,\n });\n }\n\n setResizing(isResizing: boolean) {\n this.isResizing = isResizing;\n }\n\n init() {\n this.initTask.runOnce(async () => {\n const data = await this.columnSizeService.fetchColumnSizes();\n runInAction(() => {\n this.columnWidths = data?.columnWidths;\n });\n });\n }\n\n mergeSizes(baseColumns: Column[]) {\n const merged = baseColumns.map((column) => {\n const persistedWidth = column.id\n ? this.columnWidths?.[column.id]\n : undefined;\n return persistedWidth ? { ...column, width: persistedWidth } : column;\n });\n\n return merged;\n }\n\n async updateColumnWidth(columnId: string, width: number) {\n const oldColumnWidths = { ...this.columnWidths };\n const newColumnWidths = {\n ...oldColumnWidths,\n [columnId]: width,\n };\n\n runInAction(() => {\n this.columnWidths = newColumnWidths;\n });\n\n try {\n await this.columnSizeService.updateColumnWidths(newColumnWidths);\n } catch (error) {\n const resolvedError =\n this.container.errorHandler?.getResolvedError?.(error);\n this.container?.showToast?.({\n biName: 'cairo-column-sizes-update-error',\n message: resolvedError?.message!,\n type: 'ERROR',\n });\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -6,6 +6,7 @@ exports.CustomColumnsEntityPageState = void 0;
6
6
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
7
7
  var _mobx = require("mobx");
8
8
  var _CustomColumnsPanelStateBase = require("./CustomColumnsPanelStateBase");
9
+ var _resolveEntityPageFields = require("./EntityPage/resolveEntityPageFields");
9
10
  function fieldToColumn(field, hideable) {
10
11
  var _field$validation;
11
12
  return {
@@ -92,14 +93,12 @@ class CustomColumnsEntityPageState extends _CustomColumnsPanelStateBase.CustomCo
92
93
  return [];
93
94
  }
94
95
  return this.fieldsState.orderedFields.map(viewConfig => {
95
- var _field$validation2;
96
+ var _this$schema2;
96
97
  const field = fields[viewConfig.id];
97
98
  if (!field) {
98
99
  return null;
99
100
  }
100
- const isRequired = ((_field$validation2 = field.validation) == null ? void 0 : _field$validation2.required) === true;
101
- const hideable = !isRequired;
102
- return fieldToColumn(field, hideable);
101
+ return fieldToColumn(field, (0, _resolveEntityPageFields.isEntityPageFieldHideable)(field, (_this$schema2 = this.schema) == null ? void 0 : _this$schema2.idField));
103
102
  }).filter(Boolean);
104
103
  }
105
104
  get showFieldTypeIcons() {
@@ -1 +1 @@
1
- {"version":3,"names":["_mobx","require","_CustomColumnsPanelStateBase","fieldToColumn","field","hideable","_field$validation","id","name","displayName","title","render","fieldType","type","isPii","isSystem","isPrimary","validation","required","message","undefined","CustomColumnsEntityPageState","CustomColumnsPanelStateBase","constructor","params","container","queryName","environment","componentId","collectionId","schema","filter","Boolean","join","_defineProperty2","default","panels","fieldsState","_showFieldTypeIcons","showFieldTypeIcons","_schema","_isFieldsEditable","isFieldsEditable","_manageFieldsSource","manageFieldsSource","dragAndDrop","self","CustomColumnsDragAndDropState","DnDState","_dragAndDrop","customColumns","dataSource","columns","orderedColumns","selectedColumns","value","orderedFields","map","f","isSelected","isFieldVisible","refresh","reordered","setFieldOrder","s","isVisible","components","modalsContainerRef","initBaseObservables","_this$schema","fields","viewConfig","_field$validation2","isRequired","sidePanelTransition","sidePanel","transition","customizeColumnsInSidePanelBi","_params","onClose","closeSidePanel","init","_this$_dragAndDrop","disposers","reaction","select","clear","forceSetMany","status","finalStatus","startStatus","columnsCollection","refreshAllPages","fireImmediately","selectedValues","isChecked","isCurrentlyVisible","setFieldVisibility","forEach","d","exports"],"sources":["../../../src/state/CustomColumnsEntityPageState.ts"],"sourcesContent":["import { TransitionState } from '@wix/bex-core';\nimport { reaction } from 'mobx';\nimport { Column } from '../model';\nimport { CustomColumnsActionName } from './CustomColumnsState';\nimport { SidePanelsState } from './SidePanelsState';\nimport { CustomColumnsPanelStateBase } from './CustomColumnsPanelStateBase';\nimport { SchemaFieldsState } from './SchemaCard/SchemaFieldsState';\nimport type { ManageFieldsSource } from './ManageFieldsSource';\nimport type { CustomColumnsDragAndDrop } from '../components/CustomColumns/CustomColumnsDragAndDrop';\nimport type { CustomColumnsDragAndDropState } from './CustomColumnsDragAndDropState';\nimport type { Field, SchemaConfig } from '../types/SchemaConfig';\n\ntype SchemaFields = Pick<SchemaConfig, 'id' | 'fields'>;\n\nexport interface CustomColumnsEntityPageStateParams {\n panels: SidePanelsState;\n container: import('@wix/bex-core').WixPatternsContainer;\n fieldsState: SchemaFieldsState;\n /** Only the fields map is read, so a `SchemaConfig` and a source's `Schema`\n * both fit. Pass a function when the schema loads after this state is\n * created — it is read reactively. */\n schema: SchemaFields | (() => SchemaFields | null);\n /** Whether the panel presents itself as field management rather than column\n * selection. Default: `false`. */\n isFieldsEditable?: boolean;\n /** Add / edit / delete field. Omitted ⇒ the panel only shows and reorders. */\n manageFieldsSource?: ManageFieldsSource;\n /** Namespaces this panel's column collection, the way a table's is namespaced\n * by its collection. Default: the schema's id, when the schema is already\n * loaded. */\n collectionId?: string;\n showFieldTypeIcons?: boolean;\n dragAndDrop?: typeof CustomColumnsDragAndDrop;\n modalsContainerRef: {\n current: HTMLElement | null | undefined;\n };\n}\n\nfunction fieldToColumn(\n field: Field & { isPii?: boolean; isSystem?: boolean; isPrimary?: boolean },\n hideable: boolean,\n): Column {\n return {\n id: field.id,\n // The panel's per-field menu is keyed off this — without it a row has no\n // edit / delete action.\n field,\n name: field.displayName,\n title: field.displayName,\n render: () => null,\n fieldType: field.type as Column['fieldType'],\n hideable,\n isPii: field.isPii,\n isSystem: field.isSystem,\n isPrimary: field.isPrimary,\n validation: field.validation?.required\n ? [{ type: 'required' as const, message: '' }]\n : undefined,\n };\n}\n\nexport class CustomColumnsEntityPageState extends CustomColumnsPanelStateBase {\n readonly panels: SidePanelsState;\n readonly fieldsState: SchemaFieldsState;\n readonly _showFieldTypeIcons: boolean;\n readonly _schema: SchemaFields | (() => SchemaFields | null);\n readonly _isFieldsEditable: boolean;\n readonly _manageFieldsSource?: ManageFieldsSource;\n readonly _dragAndDrop?: CustomColumnsDragAndDropState<unknown, any>;\n\n constructor(params: CustomColumnsEntityPageStateParams) {\n super({\n container: params.container,\n queryName: [\n params.container.environment.componentId,\n params.collectionId ??\n (typeof params.schema === 'function' ? undefined : params.schema.id),\n 'entity-page-custom-columns',\n ]\n .filter(Boolean)\n .join('/'),\n });\n\n this.panels = params.panels;\n this.fieldsState = params.fieldsState;\n this._showFieldTypeIcons = params.showFieldTypeIcons ?? true;\n this._schema = params.schema;\n this._isFieldsEditable = params.isFieldsEditable ?? false;\n this._manageFieldsSource = params.manageFieldsSource;\n\n if (params.dragAndDrop) {\n const { fieldsState } = params;\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const self = this;\n const { CustomColumnsDragAndDropState: DnDState } = params.dragAndDrop;\n this._dragAndDrop = new DnDState({\n customColumns: this,\n dataSource: {\n get columns() {\n return self.orderedColumns;\n },\n selectedColumns: {\n get value() {\n return fieldsState.orderedFields.map((f) => ({\n id: f.id,\n isSelected: fieldsState.isFieldVisible(f.id),\n }));\n },\n refresh(reordered) {\n fieldsState.setFieldOrder(\n reordered.map((s) => ({\n id: s.id,\n isVisible: s.isSelected ?? true,\n })),\n );\n },\n },\n },\n components: params.dragAndDrop,\n modalsContainerRef: params.modalsContainerRef,\n });\n }\n\n this.initBaseObservables();\n }\n\n get schema(): SchemaFields | null {\n return typeof this._schema === 'function' ? this._schema() : this._schema;\n }\n\n get orderedColumns(): Column[] {\n const fields = this.schema?.fields;\n if (!fields) {\n return [];\n }\n return this.fieldsState.orderedFields\n .map((viewConfig) => {\n const field = fields[viewConfig.id];\n if (!field) {\n return null;\n }\n const isRequired = field.validation?.required === true;\n const hideable = !isRequired;\n return fieldToColumn(field, hideable);\n })\n .filter(Boolean) as Column[];\n }\n\n get showFieldTypeIcons() {\n return this._showFieldTypeIcons;\n }\n\n get isFieldsEditable() {\n return this._isFieldsEditable;\n }\n\n get manageFieldsSource() {\n return this._manageFieldsSource;\n }\n\n get sidePanelTransition(): TransitionState<string> | undefined {\n return this.panels.sidePanel.transition;\n }\n\n get dragAndDrop() {\n return this._dragAndDrop;\n }\n\n customizeColumnsInSidePanelBi(_params: {\n actionName: CustomColumnsActionName;\n }) {\n // BI reporting — to be wired\n }\n\n onClose() {\n this.panels.closeSidePanel();\n }\n\n init() {\n const disposers = [\n reaction(\n () => this.fieldsState.orderedFields,\n async () => {\n const fields = this.fieldsState.orderedFields;\n this.select.clear();\n this.select.forceSetMany(\n fields.map((field) => ({\n value: { id: field.id },\n status: this.fieldsState.isFieldVisible(field.id)\n ? this.select.finalStatus\n : this.select.startStatus,\n })),\n );\n await this.columnsCollection.refreshAllPages();\n },\n { fireImmediately: true },\n ),\n reaction(\n () => this.select.selectedValues,\n () => {\n const fields = this.fieldsState.orderedFields;\n for (const field of fields) {\n const isChecked = this.select.isChecked(field.id);\n const isCurrentlyVisible = this.fieldsState.isFieldVisible(\n field.id,\n );\n if (isChecked !== isCurrentlyVisible) {\n this.fieldsState.setFieldVisibility(field.id, isChecked);\n }\n }\n },\n ),\n this.columnsCollection.init(),\n this._dragAndDrop?.init(),\n ];\n\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_mobx","require","_CustomColumnsPanelStateBase","_resolveEntityPageFields","fieldToColumn","field","hideable","_field$validation","id","name","displayName","title","render","fieldType","type","isPii","isSystem","isPrimary","validation","required","message","undefined","CustomColumnsEntityPageState","CustomColumnsPanelStateBase","constructor","params","container","queryName","environment","componentId","collectionId","schema","filter","Boolean","join","_defineProperty2","default","panels","fieldsState","_showFieldTypeIcons","showFieldTypeIcons","_schema","_isFieldsEditable","isFieldsEditable","_manageFieldsSource","manageFieldsSource","dragAndDrop","self","CustomColumnsDragAndDropState","DnDState","_dragAndDrop","customColumns","dataSource","columns","orderedColumns","selectedColumns","value","orderedFields","map","f","isSelected","isFieldVisible","refresh","reordered","setFieldOrder","s","isVisible","components","modalsContainerRef","initBaseObservables","_this$schema","fields","viewConfig","_this$schema2","isEntityPageFieldHideable","idField","sidePanelTransition","sidePanel","transition","customizeColumnsInSidePanelBi","_params","onClose","closeSidePanel","init","_this$_dragAndDrop","disposers","reaction","select","clear","forceSetMany","status","finalStatus","startStatus","columnsCollection","refreshAllPages","fireImmediately","selectedValues","isChecked","isCurrentlyVisible","setFieldVisibility","forEach","d","exports"],"sources":["../../../src/state/CustomColumnsEntityPageState.ts"],"sourcesContent":["import { TransitionState } from '@wix/bex-core';\nimport { reaction } from 'mobx';\nimport { Column } from '../model';\nimport { CustomColumnsActionName } from './CustomColumnsState';\nimport { SidePanelsState } from './SidePanelsState';\nimport { CustomColumnsPanelStateBase } from './CustomColumnsPanelStateBase';\nimport { SchemaFieldsState } from './SchemaCard/SchemaFieldsState';\nimport type { ManageFieldsSource } from './ManageFieldsSource';\nimport type { CustomColumnsDragAndDrop } from '../components/CustomColumns/CustomColumnsDragAndDrop';\nimport type { CustomColumnsDragAndDropState } from './CustomColumnsDragAndDropState';\nimport type { Field, SchemaConfig } from '../types/SchemaConfig';\nimport { isEntityPageFieldHideable } from './EntityPage/resolveEntityPageFields';\n\ntype SchemaFields = Pick<SchemaConfig, 'id' | 'fields'> &\n Partial<Pick<SchemaConfig, 'idField'>>;\n\nexport interface CustomColumnsEntityPageStateParams {\n panels: SidePanelsState;\n container: import('@wix/bex-core').WixPatternsContainer;\n fieldsState: SchemaFieldsState;\n /** Only the fields map is read, so a `SchemaConfig` and a source's `Schema`\n * both fit. Pass a function when the schema loads after this state is\n * created — it is read reactively. */\n schema: SchemaFields | (() => SchemaFields | null);\n /** Whether the panel presents itself as field management rather than column\n * selection. Default: `false`. */\n isFieldsEditable?: boolean;\n /** Add / edit / delete field. Omitted ⇒ the panel only shows and reorders. */\n manageFieldsSource?: ManageFieldsSource;\n /** Namespaces this panel's column collection, the way a table's is namespaced\n * by its collection. Default: the schema's id, when the schema is already\n * loaded. */\n collectionId?: string;\n showFieldTypeIcons?: boolean;\n dragAndDrop?: typeof CustomColumnsDragAndDrop;\n modalsContainerRef: {\n current: HTMLElement | null | undefined;\n };\n}\n\nfunction fieldToColumn(\n field: Field & { isPii?: boolean; isSystem?: boolean; isPrimary?: boolean },\n hideable: boolean,\n): Column {\n return {\n id: field.id,\n // The panel's per-field menu is keyed off this — without it a row has no\n // edit / delete action.\n field,\n name: field.displayName,\n title: field.displayName,\n render: () => null,\n fieldType: field.type as Column['fieldType'],\n hideable,\n isPii: field.isPii,\n isSystem: field.isSystem,\n isPrimary: field.isPrimary,\n validation: field.validation?.required\n ? [{ type: 'required' as const, message: '' }]\n : undefined,\n };\n}\n\nexport class CustomColumnsEntityPageState extends CustomColumnsPanelStateBase {\n readonly panels: SidePanelsState;\n readonly fieldsState: SchemaFieldsState;\n readonly _showFieldTypeIcons: boolean;\n readonly _schema: SchemaFields | (() => SchemaFields | null);\n readonly _isFieldsEditable: boolean;\n readonly _manageFieldsSource?: ManageFieldsSource;\n readonly _dragAndDrop?: CustomColumnsDragAndDropState<unknown, any>;\n\n constructor(params: CustomColumnsEntityPageStateParams) {\n super({\n container: params.container,\n queryName: [\n params.container.environment.componentId,\n params.collectionId ??\n (typeof params.schema === 'function' ? undefined : params.schema.id),\n 'entity-page-custom-columns',\n ]\n .filter(Boolean)\n .join('/'),\n });\n\n this.panels = params.panels;\n this.fieldsState = params.fieldsState;\n this._showFieldTypeIcons = params.showFieldTypeIcons ?? true;\n this._schema = params.schema;\n this._isFieldsEditable = params.isFieldsEditable ?? false;\n this._manageFieldsSource = params.manageFieldsSource;\n\n if (params.dragAndDrop) {\n const { fieldsState } = params;\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const self = this;\n const { CustomColumnsDragAndDropState: DnDState } = params.dragAndDrop;\n this._dragAndDrop = new DnDState({\n customColumns: this,\n dataSource: {\n get columns() {\n return self.orderedColumns;\n },\n selectedColumns: {\n get value() {\n return fieldsState.orderedFields.map((f) => ({\n id: f.id,\n isSelected: fieldsState.isFieldVisible(f.id),\n }));\n },\n refresh(reordered) {\n fieldsState.setFieldOrder(\n reordered.map((s) => ({\n id: s.id,\n isVisible: s.isSelected ?? true,\n })),\n );\n },\n },\n },\n components: params.dragAndDrop,\n modalsContainerRef: params.modalsContainerRef,\n });\n }\n\n this.initBaseObservables();\n }\n\n get schema(): SchemaFields | null {\n return typeof this._schema === 'function' ? this._schema() : this._schema;\n }\n\n get orderedColumns(): Column[] {\n const fields = this.schema?.fields;\n if (!fields) {\n return [];\n }\n return this.fieldsState.orderedFields\n .map((viewConfig) => {\n const field = fields[viewConfig.id];\n if (!field) {\n return null;\n }\n return fieldToColumn(\n field,\n isEntityPageFieldHideable(field, this.schema?.idField),\n );\n })\n .filter(Boolean) as Column[];\n }\n\n get showFieldTypeIcons() {\n return this._showFieldTypeIcons;\n }\n\n get isFieldsEditable() {\n return this._isFieldsEditable;\n }\n\n get manageFieldsSource() {\n return this._manageFieldsSource;\n }\n\n get sidePanelTransition(): TransitionState<string> | undefined {\n return this.panels.sidePanel.transition;\n }\n\n get dragAndDrop() {\n return this._dragAndDrop;\n }\n\n customizeColumnsInSidePanelBi(_params: {\n actionName: CustomColumnsActionName;\n }) {\n // BI reporting — to be wired\n }\n\n onClose() {\n this.panels.closeSidePanel();\n }\n\n init() {\n const disposers = [\n reaction(\n () => this.fieldsState.orderedFields,\n async () => {\n const fields = this.fieldsState.orderedFields;\n this.select.clear();\n this.select.forceSetMany(\n fields.map((field) => ({\n value: { id: field.id },\n status: this.fieldsState.isFieldVisible(field.id)\n ? this.select.finalStatus\n : this.select.startStatus,\n })),\n );\n await this.columnsCollection.refreshAllPages();\n },\n { fireImmediately: true },\n ),\n reaction(\n () => this.select.selectedValues,\n () => {\n const fields = this.fieldsState.orderedFields;\n for (const field of fields) {\n const isChecked = this.select.isChecked(field.id);\n const isCurrentlyVisible = this.fieldsState.isFieldVisible(\n field.id,\n );\n if (isChecked !== isCurrentlyVisible) {\n this.fieldsState.setFieldVisibility(field.id, isChecked);\n }\n }\n },\n ),\n this.columnsCollection.init(),\n this._dragAndDrop?.init(),\n ];\n\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -30,6 +30,9 @@ class CustomColumnsState extends _CustomColumnsPanelStateBase.CustomColumnsPanel
30
30
  (0, _defineProperty2.default)(this, "_performedCustomColumnsActions", new Map());
31
31
  (0, _defineProperty2.default)(this, "initTask", new _bexCore.TaskState());
32
32
  (0, _defineProperty2.default)(this, "_touched", false);
33
+ /** Where the next new column goes. `afterColumnId: null` means the start.
34
+ * Consumed by the next `mergeNewColumns`. */
35
+ (0, _defineProperty2.default)(this, "pendingInsertPosition", undefined);
33
36
  (0, _defineProperty2.default)(this, "events", new _events.EventEmitter());
34
37
  this.table = params.table;
35
38
  if (params.dragAndDrop) {
@@ -54,6 +57,9 @@ class CustomColumnsState extends _CustomColumnsPanelStateBase.CustomColumnsPanel
54
57
  }) : null;
55
58
  this.initBaseObservables();
56
59
  (0, _mobx.makeObservable)(this, {
60
+ pendingInsertPosition: _mobx.observable.ref,
61
+ setPendingInsertPosition: _mobx.action.bound,
62
+ clearPendingInsertPosition: _mobx.action.bound,
57
63
  persistCustomColumns: _mobx.action.bound,
58
64
  toSelectedColumns: _mobx.computed,
59
65
  selectedOrderedColumns: _mobx.computed,
@@ -111,6 +117,14 @@ class CustomColumnsState extends _CustomColumnsPanelStateBase.CustomColumnsPanel
111
117
  table.selectedColumns.events.off('refresh', this.persistCustomColumns);
112
118
  };
113
119
  }
120
+ setPendingInsertPosition(afterColumnId) {
121
+ this.pendingInsertPosition = {
122
+ afterColumnId
123
+ };
124
+ }
125
+ clearPendingInsertPosition() {
126
+ this.pendingInsertPosition = undefined;
127
+ }
114
128
  mergeNewColumns() {
115
129
  const {
116
130
  table: {
@@ -139,9 +153,25 @@ class CustomColumnsState extends _CustomColumnsPanelStateBase.CustomColumnsPanel
139
153
  ...c,
140
154
  defaultHidden: defaultHidden || c.defaultHidden
141
155
  }));
156
+ const pending = this.pendingInsertPosition;
157
+ let pendingIndex = null;
158
+ if (pending) {
159
+ this.clearPendingInsertPosition();
160
+ if (pending.afterColumnId == null) {
161
+ pendingIndex = 0;
162
+ } else {
163
+ const afterIndex = mergeTargetSelectedColumns.findIndex(c => c.id === pending.afterColumnId);
164
+ pendingIndex = afterIndex === -1 ? null : afterIndex + 1;
165
+ }
166
+ }
142
167
 
143
- // place new columns according to their order in the original columns prop
144
- diffColumns.forEach(d => {
168
+ // place new columns where the user picked, or according to their order in
169
+ // the original columns prop
170
+ diffColumns.forEach((d, i) => {
171
+ if (pendingIndex != null) {
172
+ mergeTargetSelectedColumns.splice(pendingIndex + i, 0, d);
173
+ return;
174
+ }
145
175
  const originalIndex = columns.findIndex(c => c.id === d.id);
146
176
  const afterId = originalIndex > 0 ? columns[originalIndex - 1].id : null;
147
177
  const afterIndex = afterId != null ? mergeTargetSelectedColumns.findIndex(c => c.id === afterId) + 1 : originalIndex === 0 ? 0 : mergeTargetSelectedColumns.length;
@@ -1 +1 @@
1
- {"version":3,"names":["_bexCore","require","_mobx","_CustomColumnsHistoryState","_indexOfCompareFn","_events","_bi","_CustomColumnsPanelStateBase","CUSTOM_COLUMNS_KEY","exports","SPREADSHEET_CUSTOM_COLUMNS_KEY","getCustomColumnsKeyForLayout","layout","asStoredColumnsOrNull","customColumnsResult","Array","isArray","CustomColumnsState","CustomColumnsPanelStateBase","constructor","params","container","queryName","environment","componentId","table","collection","filter","Boolean","join","_defineProperty2","default","Map","TaskState","EventEmitter","dragAndDrop","CustomColumnsDragAndDropState","customColumns","dataSource","columns","selectedColumns","components","modalsContainerRef","customColumnsHistory","persistQueryToUrl","CustomColumnsHistoryState","history","initBaseObservables","makeObservable","persistCustomColumns","action","bound","toSelectedColumns","computed","selectedOrderedColumns","init","orderedColumns","customColumnsState","value","column","some","selectedColumn","id","isSelected","_table$layoutState","dataCapsule","viewsProps","_touched","setItem","layoutState","viewType","registerSelectedColumnChange","events","on","off","mergeNewColumns","_toStoredColumn","_didFirstColumnsMerge","defaultHidden","length","mergeTargetSelectedColumns","s","every","c","map","existing","find","hideable","hiddenFromCustomColumnsSelection","diffColumns","forEach","d","originalIndex","findIndex","afterId","afterIndex","splice","getStickyColumnsCount","stickyColumns","reorderDisabled","reorderDisabledColumns","orderedColumnsByReorderDisabled","select","isChecked","selectionChanged","i","a","b","_this$dragAndDrop","_this$customColumnsHi","customColumnsStateInitialized","disposers","reaction","columnsCollection","clear","forceSetMany","status","finalStatus","startStatus","refreshAllPages","fireImmediately","selectedValues","setValue","emitEvents","_this$table$layoutSta","newLayout","prevLayout","_cacheRestoredLayout","stored","_getStoredCustomColumns","reset","_fetchFromStorage","disposer","_this$table$layoutSta2","storedValue","getItem","e","Error","message","_tableInit","initTask","multi","collections","runOnce","beforeInitialFetchListeners","listeners","Promise","all","l","console","error","query","refreshOnColumnsChange","hooks","addListener","promise","_customColumnsState$c","hasUrlColumnsForCurrentLayout","storedCustomColumns","selectedColumnsFromStorage","tableColumn","name","sort","indexOfCompareFn","customizeColumnsInSidePanelBi","actionName","_performedCustomColumnsActions","get","set","reportBi","withoutDefaults","cairoCustomizeColumnsInSidePanel","showFieldTypeIcons","manageFieldsSource","collectionFieldsSource","sidePanelTransition","sidePanel","transition","onClose","cairoFiltersPanelUsed","isOpened","feature","origin","close"],"sources":["../../../src/state/CustomColumnsState.ts"],"sourcesContent":["import {\n FiltersMap,\n TaskState,\n TypedEmitter,\n withoutDefaults,\n} from '@wix/bex-core';\nimport { action, computed, makeObservable, reaction } from 'mobx';\nimport { ToolbarCollectionState } from './ToolbarCollectionState';\nimport { Column, ViewType } from '../model';\nimport type { CustomColumnsDragAndDrop } from '../components/CustomColumns/CustomColumnsDragAndDrop';\nimport { CustomColumnsHistoryState } from './CustomColumnsHistoryState';\nimport { indexOfCompareFn } from './indexOfCompareFn';\nimport { EventEmitter } from 'events';\nimport {\n cairoCustomizeColumnsInSidePanel,\n cairoFiltersPanelUsed,\n} from '@wix/bex-core/bi';\nimport type { CustomColumnsDragAndDropState } from './CustomColumnsDragAndDropState';\nimport { CustomColumnsPanelStateBase } from './CustomColumnsPanelStateBase';\n\nexport type { CustomColumnsDragAndDropState };\n\nexport type CustomColumnsPanelState<\n T = unknown,\n F extends FiltersMap = FiltersMap,\n> = CustomColumnsPanelStateBase<T, F>;\n\ntype StoredColumn =\n | { id?: string; name?: string; isSelected?: boolean }\n | null\n | undefined;\n\n// Legacy `custom-columns` stays bound to non-spreadsheet layouts so existing\n// stored values keep their meaning; spreadsheet uses a sibling key.\nexport const CUSTOM_COLUMNS_KEY = 'custom-columns';\nexport const SPREADSHEET_CUSTOM_COLUMNS_KEY = 'spreadsheet-custom-columns';\n\nconst getCustomColumnsKeyForLayout = (layout: ViewType | undefined): string =>\n layout === 'spreadsheet'\n ? SPREADSHEET_CUSTOM_COLUMNS_KEY\n : CUSTOM_COLUMNS_KEY;\n\nconst asStoredColumnsOrNull = (customColumnsResult: unknown) =>\n Array.isArray(customColumnsResult)\n ? (customColumnsResult as StoredColumn[])\n : null;\n\nexport interface CustomColumnsStateParams<T, F extends FiltersMap> {\n readonly table: ToolbarCollectionState<T, F>;\n readonly container: import('@wix/bex-core').WixPatternsContainer;\n readonly dragAndDrop?: typeof CustomColumnsDragAndDrop;\n readonly modalsContainerRef: {\n current: HTMLElement | null | undefined;\n };\n}\n\nexport type CustomColumnsActionName = 'visibility' | 'reorder';\n\nexport class CustomColumnsState<\n T,\n F extends FiltersMap,\n> extends CustomColumnsPanelStateBase<T, F> {\n readonly table;\n\n readonly dragAndDrop: CustomColumnsDragAndDropState<T, F> | undefined;\n\n readonly customColumnsHistory;\n\n _didFirstColumnsMerge?: boolean;\n _performedCustomColumnsActions: Map<CustomColumnsActionName, boolean> =\n new Map();\n\n readonly initTask = new TaskState();\n\n _touched = false;\n\n readonly events = new EventEmitter() as TypedEmitter<{\n beforeInitialFetch: () => void;\n }>;\n\n constructor(params: CustomColumnsStateParams<T, F>) {\n super({\n container: params.container,\n queryName: [\n params.container.environment.componentId,\n params.table.collection.queryName,\n 'customColumns',\n ]\n .filter(Boolean)\n .join('/'),\n });\n\n this.table = params.table;\n\n if (params.dragAndDrop) {\n const { CustomColumnsDragAndDropState } = params.dragAndDrop;\n this.dragAndDrop = new CustomColumnsDragAndDropState({\n customColumns: this,\n dataSource: {\n get columns() {\n return params.table.columns;\n },\n selectedColumns: params.table.selectedColumns,\n },\n components: params.dragAndDrop,\n modalsContainerRef: params.modalsContainerRef,\n });\n }\n\n this.customColumnsHistory = this.table.collection.persistQueryToUrl\n ? new CustomColumnsHistoryState({\n customColumns: this,\n history: params.container.history,\n })\n : null;\n\n this.initBaseObservables();\n makeObservable(this, {\n persistCustomColumns: action.bound,\n toSelectedColumns: computed,\n selectedOrderedColumns: computed,\n init: action,\n });\n }\n\n get orderedColumns(): Column[] {\n const { dragAndDrop, table } = this;\n const { columns, customColumnsState } = table;\n\n if (customColumnsState?.dragAndDrop && dragAndDrop) {\n return dragAndDrop.orderedColumns;\n }\n\n return columns;\n }\n\n get selectedOrderedColumns() {\n const {\n orderedColumns,\n table: {\n selectedColumns: { value: selectedColumns },\n },\n } = this;\n\n return orderedColumns.filter((column) =>\n selectedColumns.some(\n (selectedColumn) =>\n selectedColumn.id === column.id && selectedColumn.isSelected,\n ),\n );\n }\n\n async persistCustomColumns() {\n const { table } = this;\n const { dataCapsule, viewsProps } = table;\n\n // if views enabled columns persists inside the view instead of data capsule\n if (viewsProps) {\n return;\n }\n\n this._touched = true;\n await dataCapsule.setItem(\n getCustomColumnsKeyForLayout(table.layoutState?.viewType),\n table.selectedColumns.value,\n );\n }\n\n private registerSelectedColumnChange() {\n const { table } = this;\n table.selectedColumns.events.on('refresh', this.persistCustomColumns);\n\n return () => {\n table.selectedColumns.events.off('refresh', this.persistCustomColumns);\n };\n }\n\n mergeNewColumns() {\n const {\n table: { columns, selectedColumns, _toStoredColumn, customColumnsState },\n _didFirstColumnsMerge,\n } = this;\n\n const defaultHidden =\n !_didFirstColumnsMerge && !!selectedColumns.value.length;\n\n const mergeTargetSelectedColumns = [...selectedColumns.value];\n\n if (customColumnsState?.dragAndDrop == null) {\n return [\n ...mergeTargetSelectedColumns.filter((s) =>\n columns.every((c) => s.id !== c.id),\n ),\n ...columns.map((c) => {\n const existing = selectedColumns.value.find((s) => s.id === c.id);\n if (existing == null) {\n return _toStoredColumn(c);\n }\n\n return {\n ...existing,\n isSelected:\n c.hideable === false ||\n c.hiddenFromCustomColumnsSelection ||\n existing.isSelected,\n };\n }),\n ];\n }\n\n const diffColumns = columns\n .filter((c) => selectedColumns.value.every((s) => s.id !== c.id))\n .map((c) =>\n _toStoredColumn({\n ...c,\n defaultHidden: defaultHidden || c.defaultHidden,\n }),\n );\n\n // place new columns according to their order in the original columns prop\n diffColumns.forEach((d) => {\n const originalIndex = columns.findIndex((c) => c.id === d.id);\n const afterId = originalIndex > 0 ? columns[originalIndex - 1].id : null;\n const afterIndex =\n afterId != null\n ? mergeTargetSelectedColumns.findIndex((c) => c.id === afterId) + 1\n : originalIndex === 0\n ? 0\n : mergeTargetSelectedColumns.length;\n mergeTargetSelectedColumns.splice(afterIndex, 0, d);\n });\n\n this._didFirstColumnsMerge = true;\n return mergeTargetSelectedColumns;\n }\n\n getStickyColumnsCount({ stickyColumns }: { stickyColumns: number }) {\n const {\n dragAndDrop,\n table: {\n selectedColumns: { value: selectedColumns },\n },\n } = this;\n\n if (dragAndDrop == null) {\n return stickyColumns;\n }\n\n const { reorderDisabled: reorderDisabledColumns } =\n dragAndDrop.orderedColumnsByReorderDisabled;\n\n if (!reorderDisabledColumns.length) {\n return stickyColumns;\n }\n\n return dragAndDrop.orderedColumnsByReorderDisabled.reorderDisabled.filter(\n (column) =>\n selectedColumns.some(\n (selectedColumn) =>\n selectedColumn.id === column.id && selectedColumn.isSelected,\n ),\n ).length;\n }\n\n get toSelectedColumns() {\n const {\n select,\n table: {\n selectedColumns: { value },\n },\n } = this;\n\n return value.map(({ id }) => ({\n id,\n isSelected: select.isChecked(id),\n }));\n }\n\n get selectionChanged() {\n const {\n toSelectedColumns,\n table: {\n selectedColumns: { value },\n },\n } = this;\n\n if (value.length !== toSelectedColumns.length) {\n return true;\n }\n\n for (let i = 0; i < value.length; i++) {\n const a = value[i];\n const b = toSelectedColumns[i];\n\n if (a.id !== b.id || a.isSelected !== b.isSelected) {\n return true;\n }\n }\n\n return false;\n }\n\n init() {\n const { table } = this;\n table.customColumnsStateInitialized = true;\n\n const disposers = [\n reaction(\n () => this.table.selectedColumns.value,\n async (selectedColumns) => {\n const { select, columnsCollection } = this;\n\n select.clear();\n select.forceSetMany(\n selectedColumns.map(({ id, isSelected }) => ({\n value: { id },\n status: isSelected ? select.finalStatus : select.startStatus,\n })),\n );\n await columnsCollection.refreshAllPages();\n },\n {\n fireImmediately: true,\n },\n ),\n reaction(\n () => this.select.selectedValues,\n () => {\n const {\n table: { selectedColumns },\n } = this;\n\n if (!this.selectionChanged) {\n return;\n }\n\n selectedColumns.setValue(this.toSelectedColumns, {\n emitEvents: ['change', 'beforeRefresh', 'refresh'],\n });\n },\n ),\n\n this.registerSelectedColumnChange(),\n this.columnsCollection.init(),\n this.dragAndDrop?.init(),\n this.customColumnsHistory?.init(),\n reaction(\n () => this.table.layoutState?.viewType,\n async (newLayout, prevLayout) => {\n if (!newLayout || !prevLayout || newLayout === prevLayout) {\n return;\n }\n if (this.table._cacheRestoredLayout === newLayout) {\n return;\n }\n // Views path is handled by CollectionViewsState's own reaction.\n if (this.table.viewsProps) {\n return;\n }\n const stored = await this._getStoredCustomColumns();\n if (stored == null) {\n this.table.selectedColumns.reset();\n } else {\n await this._fetchFromStorage();\n }\n },\n ),\n ];\n\n return () => {\n disposers.forEach((disposer) => disposer?.());\n };\n }\n\n async _getStoredCustomColumns() {\n const { dataCapsule } = this.table;\n try {\n const storedValue = await asStoredColumnsOrNull(\n await dataCapsule.getItem(\n getCustomColumnsKeyForLayout(this.table.layoutState?.viewType),\n ),\n );\n this._touched = storedValue != null;\n return storedValue;\n } catch (e) {\n if (e instanceof Error && e.message === 'Key was not found in capsule') {\n return null;\n }\n\n throw e;\n }\n }\n\n _tableInit() {\n const {\n initTask,\n table: {\n multi: { collections },\n },\n } = this;\n initTask.runOnce(async () => {\n try {\n const beforeInitialFetchListeners =\n this.events.listeners('beforeInitialFetch');\n await Promise.all(beforeInitialFetchListeners.map((l) => l()));\n await this._fetchFromStorage();\n } catch (e) {\n console.error(e);\n }\n });\n\n collections.forEach((collection) => {\n if (collection.query.refreshOnColumnsChange) {\n collection.hooks.addListener(\n 'beforeInitialFetch',\n () => initTask.status.promise,\n );\n }\n });\n }\n\n async _fetchFromStorage() {\n const {\n table: {\n viewsProps,\n columns,\n selectedColumns,\n customColumnsState,\n _toStoredColumn,\n },\n } = this;\n\n if (viewsProps) {\n return;\n }\n\n if (\n customColumnsState?.customColumnsHistory?.hasUrlColumnsForCurrentLayout\n ) {\n return;\n }\n\n const storedCustomColumns = await this._getStoredCustomColumns();\n\n if (storedCustomColumns == null) {\n return;\n }\n\n const selectedColumnsFromStorage = columns.map((tableColumn) => {\n const existing = storedCustomColumns.find(\n (c) => c?.id === tableColumn.id,\n );\n\n // If the column is not found in the stored columns, it means it was added after the last visit, so its \"isSelected\" state should be calculated based on the column prop passed via code\n if (existing == null) {\n return _toStoredColumn(tableColumn);\n }\n\n // If the column is found in the stored columns, it means it was already configured by the user, so its \"isSelected\" state should be taken from the stored columns\n const { id, name, hideable, hiddenFromCustomColumnsSelection } =\n tableColumn;\n\n return {\n id,\n name,\n isSelected:\n storedCustomColumns.some(\n (c) => c?.id === id && c?.isSelected !== false,\n ) ||\n !hideable ||\n hiddenFromCustomColumnsSelection === true,\n };\n });\n\n selectedColumns.setValue(\n customColumnsState?.dragAndDrop\n ? selectedColumnsFromStorage.sort(\n indexOfCompareFn(storedCustomColumns, (e) => e?.id),\n )\n : selectedColumnsFromStorage,\n );\n }\n\n customizeColumnsInSidePanelBi({\n actionName,\n }: {\n actionName: CustomColumnsActionName;\n }) {\n if (this._performedCustomColumnsActions.get(actionName)) {\n return;\n }\n this._performedCustomColumnsActions.set(actionName, true);\n this.table.reportBi(\n withoutDefaults(cairoCustomizeColumnsInSidePanel)({\n actionName,\n }),\n );\n }\n\n get showFieldTypeIcons() {\n return this.table.showFieldTypeIcons;\n }\n\n get manageFieldsSource() {\n return this.table.collectionFieldsSource;\n }\n\n get sidePanelTransition() {\n return this.table.sidePanel.transition;\n }\n\n onClose() {\n this.table.reportBi(\n withoutDefaults(cairoFiltersPanelUsed)({\n isOpened: false,\n feature: 'Custom Columns',\n origin: 'X Button',\n }),\n );\n this.table.sidePanel.close();\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_bexCore","require","_mobx","_CustomColumnsHistoryState","_indexOfCompareFn","_events","_bi","_CustomColumnsPanelStateBase","CUSTOM_COLUMNS_KEY","exports","SPREADSHEET_CUSTOM_COLUMNS_KEY","getCustomColumnsKeyForLayout","layout","asStoredColumnsOrNull","customColumnsResult","Array","isArray","CustomColumnsState","CustomColumnsPanelStateBase","constructor","params","container","queryName","environment","componentId","table","collection","filter","Boolean","join","_defineProperty2","default","Map","TaskState","undefined","EventEmitter","dragAndDrop","CustomColumnsDragAndDropState","customColumns","dataSource","columns","selectedColumns","components","modalsContainerRef","customColumnsHistory","persistQueryToUrl","CustomColumnsHistoryState","history","initBaseObservables","makeObservable","pendingInsertPosition","observable","ref","setPendingInsertPosition","action","bound","clearPendingInsertPosition","persistCustomColumns","toSelectedColumns","computed","selectedOrderedColumns","init","orderedColumns","customColumnsState","value","column","some","selectedColumn","id","isSelected","_table$layoutState","dataCapsule","viewsProps","_touched","setItem","layoutState","viewType","registerSelectedColumnChange","events","on","off","afterColumnId","mergeNewColumns","_toStoredColumn","_didFirstColumnsMerge","defaultHidden","length","mergeTargetSelectedColumns","s","every","c","map","existing","find","hideable","hiddenFromCustomColumnsSelection","diffColumns","pending","pendingIndex","afterIndex","findIndex","forEach","d","i","splice","originalIndex","afterId","getStickyColumnsCount","stickyColumns","reorderDisabled","reorderDisabledColumns","orderedColumnsByReorderDisabled","select","isChecked","selectionChanged","a","b","_this$dragAndDrop","_this$customColumnsHi","customColumnsStateInitialized","disposers","reaction","columnsCollection","clear","forceSetMany","status","finalStatus","startStatus","refreshAllPages","fireImmediately","selectedValues","setValue","emitEvents","_this$table$layoutSta","newLayout","prevLayout","_cacheRestoredLayout","stored","_getStoredCustomColumns","reset","_fetchFromStorage","disposer","_this$table$layoutSta2","storedValue","getItem","e","Error","message","_tableInit","initTask","multi","collections","runOnce","beforeInitialFetchListeners","listeners","Promise","all","l","console","error","query","refreshOnColumnsChange","hooks","addListener","promise","_customColumnsState$c","hasUrlColumnsForCurrentLayout","storedCustomColumns","selectedColumnsFromStorage","tableColumn","name","sort","indexOfCompareFn","customizeColumnsInSidePanelBi","actionName","_performedCustomColumnsActions","get","set","reportBi","withoutDefaults","cairoCustomizeColumnsInSidePanel","showFieldTypeIcons","manageFieldsSource","collectionFieldsSource","sidePanelTransition","sidePanel","transition","onClose","cairoFiltersPanelUsed","isOpened","feature","origin","close"],"sources":["../../../src/state/CustomColumnsState.ts"],"sourcesContent":["import {\n FiltersMap,\n TaskState,\n TypedEmitter,\n withoutDefaults,\n} from '@wix/bex-core';\nimport { action, computed, makeObservable, observable, reaction } from 'mobx';\nimport { ToolbarCollectionState } from './ToolbarCollectionState';\nimport { Column, ViewType } from '../model';\nimport type { CustomColumnsDragAndDrop } from '../components/CustomColumns/CustomColumnsDragAndDrop';\nimport { CustomColumnsHistoryState } from './CustomColumnsHistoryState';\nimport { indexOfCompareFn } from './indexOfCompareFn';\nimport { EventEmitter } from 'events';\nimport {\n cairoCustomizeColumnsInSidePanel,\n cairoFiltersPanelUsed,\n} from '@wix/bex-core/bi';\nimport type { CustomColumnsDragAndDropState } from './CustomColumnsDragAndDropState';\nimport { CustomColumnsPanelStateBase } from './CustomColumnsPanelStateBase';\n\nexport type { CustomColumnsDragAndDropState };\n\nexport type CustomColumnsPanelState<\n T = unknown,\n F extends FiltersMap = FiltersMap,\n> = CustomColumnsPanelStateBase<T, F>;\n\ntype StoredColumn =\n | { id?: string; name?: string; isSelected?: boolean }\n | null\n | undefined;\n\n// Legacy `custom-columns` stays bound to non-spreadsheet layouts so existing\n// stored values keep their meaning; spreadsheet uses a sibling key.\nexport const CUSTOM_COLUMNS_KEY = 'custom-columns';\nexport const SPREADSHEET_CUSTOM_COLUMNS_KEY = 'spreadsheet-custom-columns';\n\nconst getCustomColumnsKeyForLayout = (layout: ViewType | undefined): string =>\n layout === 'spreadsheet'\n ? SPREADSHEET_CUSTOM_COLUMNS_KEY\n : CUSTOM_COLUMNS_KEY;\n\nconst asStoredColumnsOrNull = (customColumnsResult: unknown) =>\n Array.isArray(customColumnsResult)\n ? (customColumnsResult as StoredColumn[])\n : null;\n\nexport interface CustomColumnsStateParams<T, F extends FiltersMap> {\n readonly table: ToolbarCollectionState<T, F>;\n readonly container: import('@wix/bex-core').WixPatternsContainer;\n readonly dragAndDrop?: typeof CustomColumnsDragAndDrop;\n readonly modalsContainerRef: {\n current: HTMLElement | null | undefined;\n };\n}\n\nexport type CustomColumnsActionName = 'visibility' | 'reorder';\n\nexport class CustomColumnsState<\n T,\n F extends FiltersMap,\n> extends CustomColumnsPanelStateBase<T, F> {\n readonly table;\n\n readonly dragAndDrop: CustomColumnsDragAndDropState<T, F> | undefined;\n\n readonly customColumnsHistory;\n\n _didFirstColumnsMerge?: boolean;\n _performedCustomColumnsActions: Map<CustomColumnsActionName, boolean> =\n new Map();\n\n readonly initTask = new TaskState();\n\n _touched = false;\n\n /** Where the next new column goes. `afterColumnId: null` means the start.\n * Consumed by the next `mergeNewColumns`. */\n pendingInsertPosition: { afterColumnId: string | null } | undefined =\n undefined;\n\n readonly events = new EventEmitter() as TypedEmitter<{\n beforeInitialFetch: () => void;\n }>;\n\n constructor(params: CustomColumnsStateParams<T, F>) {\n super({\n container: params.container,\n queryName: [\n params.container.environment.componentId,\n params.table.collection.queryName,\n 'customColumns',\n ]\n .filter(Boolean)\n .join('/'),\n });\n\n this.table = params.table;\n\n if (params.dragAndDrop) {\n const { CustomColumnsDragAndDropState } = params.dragAndDrop;\n this.dragAndDrop = new CustomColumnsDragAndDropState({\n customColumns: this,\n dataSource: {\n get columns() {\n return params.table.columns;\n },\n selectedColumns: params.table.selectedColumns,\n },\n components: params.dragAndDrop,\n modalsContainerRef: params.modalsContainerRef,\n });\n }\n\n this.customColumnsHistory = this.table.collection.persistQueryToUrl\n ? new CustomColumnsHistoryState({\n customColumns: this,\n history: params.container.history,\n })\n : null;\n\n this.initBaseObservables();\n makeObservable(this, {\n pendingInsertPosition: observable.ref,\n setPendingInsertPosition: action.bound,\n clearPendingInsertPosition: action.bound,\n persistCustomColumns: action.bound,\n toSelectedColumns: computed,\n selectedOrderedColumns: computed,\n init: action,\n });\n }\n\n get orderedColumns(): Column[] {\n const { dragAndDrop, table } = this;\n const { columns, customColumnsState } = table;\n\n if (customColumnsState?.dragAndDrop && dragAndDrop) {\n return dragAndDrop.orderedColumns;\n }\n\n return columns;\n }\n\n get selectedOrderedColumns() {\n const {\n orderedColumns,\n table: {\n selectedColumns: { value: selectedColumns },\n },\n } = this;\n\n return orderedColumns.filter((column) =>\n selectedColumns.some(\n (selectedColumn) =>\n selectedColumn.id === column.id && selectedColumn.isSelected,\n ),\n );\n }\n\n async persistCustomColumns() {\n const { table } = this;\n const { dataCapsule, viewsProps } = table;\n\n // if views enabled columns persists inside the view instead of data capsule\n if (viewsProps) {\n return;\n }\n\n this._touched = true;\n await dataCapsule.setItem(\n getCustomColumnsKeyForLayout(table.layoutState?.viewType),\n table.selectedColumns.value,\n );\n }\n\n private registerSelectedColumnChange() {\n const { table } = this;\n table.selectedColumns.events.on('refresh', this.persistCustomColumns);\n\n return () => {\n table.selectedColumns.events.off('refresh', this.persistCustomColumns);\n };\n }\n\n setPendingInsertPosition(afterColumnId: string | null) {\n this.pendingInsertPosition = { afterColumnId };\n }\n\n clearPendingInsertPosition() {\n this.pendingInsertPosition = undefined;\n }\n\n mergeNewColumns() {\n const {\n table: { columns, selectedColumns, _toStoredColumn, customColumnsState },\n _didFirstColumnsMerge,\n } = this;\n\n const defaultHidden =\n !_didFirstColumnsMerge && !!selectedColumns.value.length;\n\n const mergeTargetSelectedColumns = [...selectedColumns.value];\n\n if (customColumnsState?.dragAndDrop == null) {\n return [\n ...mergeTargetSelectedColumns.filter((s) =>\n columns.every((c) => s.id !== c.id),\n ),\n ...columns.map((c) => {\n const existing = selectedColumns.value.find((s) => s.id === c.id);\n if (existing == null) {\n return _toStoredColumn(c);\n }\n\n return {\n ...existing,\n isSelected:\n c.hideable === false ||\n c.hiddenFromCustomColumnsSelection ||\n existing.isSelected,\n };\n }),\n ];\n }\n\n const diffColumns = columns\n .filter((c) => selectedColumns.value.every((s) => s.id !== c.id))\n .map((c) =>\n _toStoredColumn({\n ...c,\n defaultHidden: defaultHidden || c.defaultHidden,\n }),\n );\n\n const pending = this.pendingInsertPosition;\n let pendingIndex: number | null = null;\n if (pending) {\n this.clearPendingInsertPosition();\n if (pending.afterColumnId == null) {\n pendingIndex = 0;\n } else {\n const afterIndex = mergeTargetSelectedColumns.findIndex(\n (c) => c.id === pending.afterColumnId,\n );\n pendingIndex = afterIndex === -1 ? null : afterIndex + 1;\n }\n }\n\n // place new columns where the user picked, or according to their order in\n // the original columns prop\n diffColumns.forEach((d, i) => {\n if (pendingIndex != null) {\n mergeTargetSelectedColumns.splice(pendingIndex + i, 0, d);\n return;\n }\n const originalIndex = columns.findIndex((c) => c.id === d.id);\n const afterId = originalIndex > 0 ? columns[originalIndex - 1].id : null;\n const afterIndex =\n afterId != null\n ? mergeTargetSelectedColumns.findIndex((c) => c.id === afterId) + 1\n : originalIndex === 0\n ? 0\n : mergeTargetSelectedColumns.length;\n mergeTargetSelectedColumns.splice(afterIndex, 0, d);\n });\n\n this._didFirstColumnsMerge = true;\n return mergeTargetSelectedColumns;\n }\n\n getStickyColumnsCount({ stickyColumns }: { stickyColumns: number }) {\n const {\n dragAndDrop,\n table: {\n selectedColumns: { value: selectedColumns },\n },\n } = this;\n\n if (dragAndDrop == null) {\n return stickyColumns;\n }\n\n const { reorderDisabled: reorderDisabledColumns } =\n dragAndDrop.orderedColumnsByReorderDisabled;\n\n if (!reorderDisabledColumns.length) {\n return stickyColumns;\n }\n\n return dragAndDrop.orderedColumnsByReorderDisabled.reorderDisabled.filter(\n (column) =>\n selectedColumns.some(\n (selectedColumn) =>\n selectedColumn.id === column.id && selectedColumn.isSelected,\n ),\n ).length;\n }\n\n get toSelectedColumns() {\n const {\n select,\n table: {\n selectedColumns: { value },\n },\n } = this;\n\n return value.map(({ id }) => ({\n id,\n isSelected: select.isChecked(id),\n }));\n }\n\n get selectionChanged() {\n const {\n toSelectedColumns,\n table: {\n selectedColumns: { value },\n },\n } = this;\n\n if (value.length !== toSelectedColumns.length) {\n return true;\n }\n\n for (let i = 0; i < value.length; i++) {\n const a = value[i];\n const b = toSelectedColumns[i];\n\n if (a.id !== b.id || a.isSelected !== b.isSelected) {\n return true;\n }\n }\n\n return false;\n }\n\n init() {\n const { table } = this;\n table.customColumnsStateInitialized = true;\n\n const disposers = [\n reaction(\n () => this.table.selectedColumns.value,\n async (selectedColumns) => {\n const { select, columnsCollection } = this;\n\n select.clear();\n select.forceSetMany(\n selectedColumns.map(({ id, isSelected }) => ({\n value: { id },\n status: isSelected ? select.finalStatus : select.startStatus,\n })),\n );\n await columnsCollection.refreshAllPages();\n },\n {\n fireImmediately: true,\n },\n ),\n reaction(\n () => this.select.selectedValues,\n () => {\n const {\n table: { selectedColumns },\n } = this;\n\n if (!this.selectionChanged) {\n return;\n }\n\n selectedColumns.setValue(this.toSelectedColumns, {\n emitEvents: ['change', 'beforeRefresh', 'refresh'],\n });\n },\n ),\n\n this.registerSelectedColumnChange(),\n this.columnsCollection.init(),\n this.dragAndDrop?.init(),\n this.customColumnsHistory?.init(),\n reaction(\n () => this.table.layoutState?.viewType,\n async (newLayout, prevLayout) => {\n if (!newLayout || !prevLayout || newLayout === prevLayout) {\n return;\n }\n if (this.table._cacheRestoredLayout === newLayout) {\n return;\n }\n // Views path is handled by CollectionViewsState's own reaction.\n if (this.table.viewsProps) {\n return;\n }\n const stored = await this._getStoredCustomColumns();\n if (stored == null) {\n this.table.selectedColumns.reset();\n } else {\n await this._fetchFromStorage();\n }\n },\n ),\n ];\n\n return () => {\n disposers.forEach((disposer) => disposer?.());\n };\n }\n\n async _getStoredCustomColumns() {\n const { dataCapsule } = this.table;\n try {\n const storedValue = await asStoredColumnsOrNull(\n await dataCapsule.getItem(\n getCustomColumnsKeyForLayout(this.table.layoutState?.viewType),\n ),\n );\n this._touched = storedValue != null;\n return storedValue;\n } catch (e) {\n if (e instanceof Error && e.message === 'Key was not found in capsule') {\n return null;\n }\n\n throw e;\n }\n }\n\n _tableInit() {\n const {\n initTask,\n table: {\n multi: { collections },\n },\n } = this;\n initTask.runOnce(async () => {\n try {\n const beforeInitialFetchListeners =\n this.events.listeners('beforeInitialFetch');\n await Promise.all(beforeInitialFetchListeners.map((l) => l()));\n await this._fetchFromStorage();\n } catch (e) {\n console.error(e);\n }\n });\n\n collections.forEach((collection) => {\n if (collection.query.refreshOnColumnsChange) {\n collection.hooks.addListener(\n 'beforeInitialFetch',\n () => initTask.status.promise,\n );\n }\n });\n }\n\n async _fetchFromStorage() {\n const {\n table: {\n viewsProps,\n columns,\n selectedColumns,\n customColumnsState,\n _toStoredColumn,\n },\n } = this;\n\n if (viewsProps) {\n return;\n }\n\n if (\n customColumnsState?.customColumnsHistory?.hasUrlColumnsForCurrentLayout\n ) {\n return;\n }\n\n const storedCustomColumns = await this._getStoredCustomColumns();\n\n if (storedCustomColumns == null) {\n return;\n }\n\n const selectedColumnsFromStorage = columns.map((tableColumn) => {\n const existing = storedCustomColumns.find(\n (c) => c?.id === tableColumn.id,\n );\n\n // If the column is not found in the stored columns, it means it was added after the last visit, so its \"isSelected\" state should be calculated based on the column prop passed via code\n if (existing == null) {\n return _toStoredColumn(tableColumn);\n }\n\n // If the column is found in the stored columns, it means it was already configured by the user, so its \"isSelected\" state should be taken from the stored columns\n const { id, name, hideable, hiddenFromCustomColumnsSelection } =\n tableColumn;\n\n return {\n id,\n name,\n isSelected:\n storedCustomColumns.some(\n (c) => c?.id === id && c?.isSelected !== false,\n ) ||\n !hideable ||\n hiddenFromCustomColumnsSelection === true,\n };\n });\n\n selectedColumns.setValue(\n customColumnsState?.dragAndDrop\n ? selectedColumnsFromStorage.sort(\n indexOfCompareFn(storedCustomColumns, (e) => e?.id),\n )\n : selectedColumnsFromStorage,\n );\n }\n\n customizeColumnsInSidePanelBi({\n actionName,\n }: {\n actionName: CustomColumnsActionName;\n }) {\n if (this._performedCustomColumnsActions.get(actionName)) {\n return;\n }\n this._performedCustomColumnsActions.set(actionName, true);\n this.table.reportBi(\n withoutDefaults(cairoCustomizeColumnsInSidePanel)({\n actionName,\n }),\n );\n }\n\n get showFieldTypeIcons() {\n return this.table.showFieldTypeIcons;\n }\n\n get manageFieldsSource() {\n return this.table.collectionFieldsSource;\n }\n\n get sidePanelTransition() {\n return this.table.sidePanel.transition;\n }\n\n onClose() {\n this.table.reportBi(\n withoutDefaults(cairoFiltersPanelUsed)({\n isOpened: false,\n feature: 'Custom Columns',\n origin: 'X Button',\n }),\n );\n this.table.sidePanel.close();\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -4,7 +4,7 @@ exports.__esModule = true;
4
4
  exports.FIELD_TYPE_TO_CELL_TYPE = void 0;
5
5
  /**
6
6
  * Maps a source field's neutral type to the EditableTable cell type used to
7
- * render and edit it. Reference / multi-reference / address need extra
7
+ * render and edit it. Reference / multi-reference need extra
8
8
  * typeConfig the projection can't supply yet, so the projection downgrades
9
9
  * those to a read-only display (see NEEDS_TYPE_CONFIG in
10
10
  * buildEditableFieldColumns); the ideal mapping is kept here for when that
@@ -1 +1 @@
1
- {"version":3,"names":["FIELD_TYPE_TO_CELL_TYPE","exports","SHORT_TEXT","LONG_TEXT","NUMBER","BOOLEAN","DATE","DATETIME","TIME","URL","EMAIL","COLOR","IMAGE","VIDEO","AUDIO","MEDIA_GALLERY","DOCUMENT","MULTI_DOCUMENT","RICH_TEXT","RICH_CONTENT","ADDRESS","REFERENCE","MULTI_REFERENCE","ARRAY","OBJECT","CUSTOM","UNKNOWN"],"sources":["../../../../src/state/EditableTable/fieldTypeToCellType.ts"],"sourcesContent":["import type { PatternsFieldType } from '@wix/bex-core';\nimport type { CellTypeConfigMap } from './types';\n\n/**\n * Maps a source field's neutral type to the EditableTable cell type used to\n * render and edit it. Reference / multi-reference / address need extra\n * typeConfig the projection can't supply yet, so the projection downgrades\n * those to a read-only display (see NEEDS_TYPE_CONFIG in\n * buildEditableFieldColumns); the ideal mapping is kept here for when that\n * lands. UNKNOWN has no cell of its own, so it displays as 'object'.\n */\nexport const FIELD_TYPE_TO_CELL_TYPE: Record<\n PatternsFieldType,\n keyof CellTypeConfigMap\n> = {\n SHORT_TEXT: 'text',\n LONG_TEXT: 'text',\n NUMBER: 'number',\n BOOLEAN: 'boolean',\n DATE: 'date',\n DATETIME: 'datetime',\n TIME: 'time',\n URL: 'url',\n EMAIL: 'email',\n COLOR: 'color',\n IMAGE: 'image',\n VIDEO: 'video',\n AUDIO: 'audio',\n MEDIA_GALLERY: 'mediaGallery',\n DOCUMENT: 'document',\n MULTI_DOCUMENT: 'multiDocument',\n RICH_TEXT: 'richText',\n RICH_CONTENT: 'richContent',\n ADDRESS: 'address',\n REFERENCE: 'reference',\n MULTI_REFERENCE: 'multiReference',\n ARRAY: 'array',\n OBJECT: 'object',\n // Reached only when a CUSTOM field's definition is missing or has no\n // editableTable slot — the column builder resolves the definition first.\n CUSTOM: 'object',\n UNKNOWN: 'object',\n};\n"],"mappings":";;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,uBAGZ,GAAAC,OAAA,CAAAD,uBAAA,GAAG;EACFE,UAAU,EAAE,MAAM;EAClBC,SAAS,EAAE,MAAM;EACjBC,MAAM,EAAE,QAAQ;EAChBC,OAAO,EAAE,SAAS;EAClBC,IAAI,EAAE,MAAM;EACZC,QAAQ,EAAE,UAAU;EACpBC,IAAI,EAAE,MAAM;EACZC,GAAG,EAAE,KAAK;EACVC,KAAK,EAAE,OAAO;EACdC,KAAK,EAAE,OAAO;EACdC,KAAK,EAAE,OAAO;EACdC,KAAK,EAAE,OAAO;EACdC,KAAK,EAAE,OAAO;EACdC,aAAa,EAAE,cAAc;EAC7BC,QAAQ,EAAE,UAAU;EACpBC,cAAc,EAAE,eAAe;EAC/BC,SAAS,EAAE,UAAU;EACrBC,YAAY,EAAE,aAAa;EAC3BC,OAAO,EAAE,SAAS;EAClBC,SAAS,EAAE,WAAW;EACtBC,eAAe,EAAE,gBAAgB;EACjCC,KAAK,EAAE,OAAO;EACdC,MAAM,EAAE,QAAQ;EAChB;EACA;EACAC,MAAM,EAAE,QAAQ;EAChBC,OAAO,EAAE;AACX,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["FIELD_TYPE_TO_CELL_TYPE","exports","SHORT_TEXT","LONG_TEXT","NUMBER","BOOLEAN","DATE","DATETIME","TIME","URL","EMAIL","COLOR","IMAGE","VIDEO","AUDIO","MEDIA_GALLERY","DOCUMENT","MULTI_DOCUMENT","RICH_TEXT","RICH_CONTENT","ADDRESS","REFERENCE","MULTI_REFERENCE","ARRAY","OBJECT","CUSTOM","UNKNOWN"],"sources":["../../../../src/state/EditableTable/fieldTypeToCellType.ts"],"sourcesContent":["import type { PatternsFieldType } from '@wix/bex-core';\nimport type { CellTypeConfigMap } from './types';\n\n/**\n * Maps a source field's neutral type to the EditableTable cell type used to\n * render and edit it. Reference / multi-reference need extra\n * typeConfig the projection can't supply yet, so the projection downgrades\n * those to a read-only display (see NEEDS_TYPE_CONFIG in\n * buildEditableFieldColumns); the ideal mapping is kept here for when that\n * lands. UNKNOWN has no cell of its own, so it displays as 'object'.\n */\nexport const FIELD_TYPE_TO_CELL_TYPE: Record<\n PatternsFieldType,\n keyof CellTypeConfigMap\n> = {\n SHORT_TEXT: 'text',\n LONG_TEXT: 'text',\n NUMBER: 'number',\n BOOLEAN: 'boolean',\n DATE: 'date',\n DATETIME: 'datetime',\n TIME: 'time',\n URL: 'url',\n EMAIL: 'email',\n COLOR: 'color',\n IMAGE: 'image',\n VIDEO: 'video',\n AUDIO: 'audio',\n MEDIA_GALLERY: 'mediaGallery',\n DOCUMENT: 'document',\n MULTI_DOCUMENT: 'multiDocument',\n RICH_TEXT: 'richText',\n RICH_CONTENT: 'richContent',\n ADDRESS: 'address',\n REFERENCE: 'reference',\n MULTI_REFERENCE: 'multiReference',\n ARRAY: 'array',\n OBJECT: 'object',\n // Reached only when a CUSTOM field's definition is missing or has no\n // editableTable slot — the column builder resolves the definition first.\n CUSTOM: 'object',\n UNKNOWN: 'object',\n};\n"],"mappings":";;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,uBAGZ,GAAAC,OAAA,CAAAD,uBAAA,GAAG;EACFE,UAAU,EAAE,MAAM;EAClBC,SAAS,EAAE,MAAM;EACjBC,MAAM,EAAE,QAAQ;EAChBC,OAAO,EAAE,SAAS;EAClBC,IAAI,EAAE,MAAM;EACZC,QAAQ,EAAE,UAAU;EACpBC,IAAI,EAAE,MAAM;EACZC,GAAG,EAAE,KAAK;EACVC,KAAK,EAAE,OAAO;EACdC,KAAK,EAAE,OAAO;EACdC,KAAK,EAAE,OAAO;EACdC,KAAK,EAAE,OAAO;EACdC,KAAK,EAAE,OAAO;EACdC,aAAa,EAAE,cAAc;EAC7BC,QAAQ,EAAE,UAAU;EACpBC,cAAc,EAAE,eAAe;EAC/BC,SAAS,EAAE,UAAU;EACrBC,YAAY,EAAE,aAAa;EAC3BC,OAAO,EAAE,SAAS;EAClBC,SAAS,EAAE,WAAW;EACtBC,eAAe,EAAE,gBAAgB;EACjCC,KAAK,EAAE,OAAO;EACdC,MAAM,EAAE,QAAQ;EAChB;EACA;EACAC,MAAM,EAAE,QAAQ;EAChBC,OAAO,EAAE;AACX,CAAC","ignoreList":[]}
@@ -1,19 +1,25 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
+ exports.isEntityPageFieldHideable = isEntityPageFieldHideable;
5
+ exports.isEntityPageReadOnlyField = isEntityPageReadOnlyField;
4
6
  exports.resolveEntityPageFields = resolveEntityPageFields;
5
- /** The fields an entity page renders: the given ids, or every editable schema
6
- * field. Lives here so the fields component and the card that wraps it offer
7
- * the same list. */
8
- function resolveEntityPageFields(fields, idField, fieldIds) {
9
- // An explicit fieldIds list is taken as-is — the consumer chose those fields.
7
+ /** The given ids, or every schema field. */
8
+ function resolveEntityPageFields(fields, fieldIds) {
10
9
  if (fieldIds) {
11
10
  return fieldIds.map(id => fields[id]).filter(field => Boolean(field));
12
11
  }
12
+ return Object.values(fields).filter(field => Boolean(field));
13
+ }
14
+ function isEntityPageReadOnlyField(field, idField) {
15
+ return field.isSystem === true || field.id === idField;
16
+ }
13
17
 
14
- // By default, skip the id field and system fields (e.g. `_id`, `_manualSort`,
15
- // `_createdDate`): they are not user-editable, and rendering a required one
16
- // would silently block save (react-hook-form marks the form invalid).
17
- return Object.values(fields).filter(field => Boolean(field) && !field.isSystem && field.id !== idField);
18
+ // Hiding a required input would leave the form invalid with nothing on screen
19
+ // to fix. A read-only field is not in the form, so its `required` does not
20
+ // apply.
21
+ function isEntityPageFieldHideable(field, idField) {
22
+ var _field$validation;
23
+ return isEntityPageReadOnlyField(field, idField) || !((_field$validation = field.validation) != null && _field$validation.required);
18
24
  }
19
25
  //# sourceMappingURL=resolveEntityPageFields.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["resolveEntityPageFields","fields","idField","fieldIds","map","id","filter","field","Boolean","Object","values","isSystem"],"sources":["../../../../src/state/EntityPage/resolveEntityPageFields.ts"],"sourcesContent":["import type { Field } from '@wix/bex-core';\n\n/** The fields an entity page renders: the given ids, or every editable schema\n * field. Lives here so the fields component and the card that wraps it offer\n * the same list. */\nexport function resolveEntityPageFields(\n fields: Record<string, Field | undefined>,\n idField: string,\n fieldIds?: string[],\n): Field[] {\n // An explicit fieldIds list is taken as-is — the consumer chose those fields.\n if (fieldIds) {\n return fieldIds\n .map((id) => fields[id])\n .filter((field): field is Field => Boolean(field));\n }\n\n // By default, skip the id field and system fields (e.g. `_id`, `_manualSort`,\n // `_createdDate`): they are not user-editable, and rendering a required one\n // would silently block save (react-hook-form marks the form invalid).\n return Object.values(fields).filter(\n (field): field is Field =>\n Boolean(field) && !field!.isSystem && field!.id !== idField,\n );\n}\n"],"mappings":";;;;AAEA;AACA;AACA;AACO,SAASA,uBAAuBA,CACrCC,MAAyC,EACzCC,OAAe,EACfC,QAAmB,EACV;EACT;EACA,IAAIA,QAAQ,EAAE;IACZ,OAAOA,QAAQ,CACZC,GAAG,CAAEC,EAAE,IAAKJ,MAAM,CAACI,EAAE,CAAC,CAAC,CACvBC,MAAM,CAAEC,KAAK,IAAqBC,OAAO,CAACD,KAAK,CAAC,CAAC;EACtD;;EAEA;EACA;EACA;EACA,OAAOE,MAAM,CAACC,MAAM,CAACT,MAAM,CAAC,CAACK,MAAM,CAChCC,KAAK,IACJC,OAAO,CAACD,KAAK,CAAC,IAAI,CAACA,KAAK,CAAEI,QAAQ,IAAIJ,KAAK,CAAEF,EAAE,KAAKH,OACxD,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["resolveEntityPageFields","fields","fieldIds","map","id","filter","field","Boolean","Object","values","isEntityPageReadOnlyField","idField","isSystem","isEntityPageFieldHideable","_field$validation","validation","required"],"sources":["../../../../src/state/EntityPage/resolveEntityPageFields.ts"],"sourcesContent":["import type { Field } from '@wix/bex-core';\n\n/** The given ids, or every schema field. */\nexport function resolveEntityPageFields(\n fields: Record<string, Field | undefined>,\n fieldIds?: string[],\n): Field[] {\n if (fieldIds) {\n return fieldIds\n .map((id) => fields[id])\n .filter((field): field is Field => Boolean(field));\n }\n\n return Object.values(fields).filter((field): field is Field =>\n Boolean(field),\n );\n}\n\nexport function isEntityPageReadOnlyField(\n field: Field,\n idField: string | undefined,\n): boolean {\n return field.isSystem === true || field.id === idField;\n}\n\n// Hiding a required input would leave the form invalid with nothing on screen\n// to fix. A read-only field is not in the form, so its `required` does not\n// apply.\nexport function isEntityPageFieldHideable(\n field: Field,\n idField: string | undefined,\n): boolean {\n return (\n isEntityPageReadOnlyField(field, idField) || !field.validation?.required\n );\n}\n"],"mappings":";;;;;;AAEA;AACO,SAASA,uBAAuBA,CACrCC,MAAyC,EACzCC,QAAmB,EACV;EACT,IAAIA,QAAQ,EAAE;IACZ,OAAOA,QAAQ,CACZC,GAAG,CAAEC,EAAE,IAAKH,MAAM,CAACG,EAAE,CAAC,CAAC,CACvBC,MAAM,CAAEC,KAAK,IAAqBC,OAAO,CAACD,KAAK,CAAC,CAAC;EACtD;EAEA,OAAOE,MAAM,CAACC,MAAM,CAACR,MAAM,CAAC,CAACI,MAAM,CAAEC,KAAK,IACxCC,OAAO,CAACD,KAAK,CACf,CAAC;AACH;AAEO,SAASI,yBAAyBA,CACvCJ,KAAY,EACZK,OAA2B,EAClB;EACT,OAAOL,KAAK,CAACM,QAAQ,KAAK,IAAI,IAAIN,KAAK,CAACF,EAAE,KAAKO,OAAO;AACxD;;AAEA;AACA;AACA;AACO,SAASE,yBAAyBA,CACvCP,KAAY,EACZK,OAA2B,EAClB;EAAA,IAAAG,iBAAA;EACT,OACEJ,yBAAyB,CAACJ,KAAK,EAAEK,OAAO,CAAC,IAAI,GAAAG,iBAAA,GAACR,KAAK,CAACS,UAAU,aAAhBD,iBAAA,CAAkBE,QAAQ;AAE5E","ignoreList":[]}