@wix/patterns 1.447.0 → 1.449.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 (601) hide show
  1. package/dist/cjs/components/CardContainer/CardContainer.st.css.js +2 -2
  2. package/dist/cjs/components/CardContainer/CardContainer.st.css.js.map +1 -1
  3. package/dist/cjs/components/CmsFieldManagement/CmsFieldForm.st.css.js +3 -3
  4. package/dist/cjs/components/CmsFieldManagement/CmsFieldForm.st.css.js.map +1 -1
  5. package/dist/cjs/components/CmsFieldManagement/CmsFieldModal.st.css.js +3 -3
  6. package/dist/cjs/components/CmsFieldManagement/CmsFieldModal.st.css.js.map +1 -1
  7. package/dist/cjs/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js +3 -3
  8. package/dist/cjs/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js.map +1 -1
  9. package/dist/cjs/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.js +3 -3
  10. package/dist/cjs/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.js.map +1 -1
  11. package/dist/cjs/components/Collapse/Collapse.st.css.js +3 -3
  12. package/dist/cjs/components/Collapse/Collapse.st.css.js.map +1 -1
  13. package/dist/cjs/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
  14. package/dist/cjs/components/CollectionPageNew/CollectionPage.st.css.js.map +1 -1
  15. package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +3 -3
  16. package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js.map +1 -1
  17. package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js +2 -2
  18. package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js.map +1 -1
  19. package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.st.css.js +2 -2
  20. package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.st.css.js.map +1 -1
  21. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js +5 -5
  22. package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js.map +1 -1
  23. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +4 -4
  24. package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
  25. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  26. package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
  27. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  28. package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
  29. package/dist/cjs/components/DragHandle/DragHandle.st.css.js +2 -2
  30. package/dist/cjs/components/DragHandle/DragHandle.st.css.js.map +1 -1
  31. package/dist/cjs/components/EditableTable/EditableCell.st.css.js +3 -3
  32. package/dist/cjs/components/EditableTable/EditableCell.st.css.js.map +1 -1
  33. package/dist/cjs/components/EditableTable/HeaderActionsPopover.st.css.js +2 -2
  34. package/dist/cjs/components/EditableTable/HeaderActionsPopover.st.css.js.map +1 -1
  35. package/dist/cjs/components/EditableTable/cellTypes/CellViewLayout.st.css.js +2 -2
  36. package/dist/cjs/components/EditableTable/cellTypes/CellViewLayout.st.css.js.map +1 -1
  37. package/dist/cjs/components/EditableTable/cellTypes/address/Edit.st.css.js +3 -3
  38. package/dist/cjs/components/EditableTable/cellTypes/address/Edit.st.css.js.map +1 -1
  39. package/dist/cjs/components/EditableTable/cellTypes/array/Edit.st.css.js +3 -3
  40. package/dist/cjs/components/EditableTable/cellTypes/array/Edit.st.css.js.map +1 -1
  41. package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js +3 -3
  42. package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js.map +1 -1
  43. package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js +3 -3
  44. package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js.map +1 -1
  45. package/dist/cjs/components/EditableTable/cellTypes/color/Edit.st.css.js +2 -2
  46. package/dist/cjs/components/EditableTable/cellTypes/color/Edit.st.css.js.map +1 -1
  47. package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js +3 -3
  48. package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js.map +1 -1
  49. package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
  50. package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js.map +1 -1
  51. package/dist/cjs/components/EditableTable/cellTypes/datetime/Edit.st.css.js +8 -8
  52. package/dist/cjs/components/EditableTable/cellTypes/datetime/Edit.st.css.js.map +1 -1
  53. package/dist/cjs/components/EditableTable/cellTypes/datetime/View.st.css.js +7 -7
  54. package/dist/cjs/components/EditableTable/cellTypes/datetime/View.st.css.js.map +1 -1
  55. package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js +3 -3
  56. package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js.map +1 -1
  57. package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
  58. package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js.map +1 -1
  59. package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js +3 -3
  60. package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js.map +1 -1
  61. package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js +3 -3
  62. package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js.map +1 -1
  63. package/dist/cjs/components/EditableTable/cellTypes/object/Edit.st.css.js +3 -3
  64. package/dist/cjs/components/EditableTable/cellTypes/object/Edit.st.css.js.map +1 -1
  65. package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
  66. package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js.map +1 -1
  67. package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js +3 -3
  68. package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js.map +1 -1
  69. package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js +4 -4
  70. package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js.map +1 -1
  71. package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js +2 -2
  72. package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js.map +1 -1
  73. package/dist/cjs/components/EditableTable/cellTypes/time/Edit.st.css.js +4 -4
  74. package/dist/cjs/components/EditableTable/cellTypes/time/Edit.st.css.js.map +1 -1
  75. package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js +3 -3
  76. package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js.map +1 -1
  77. package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js +5 -5
  78. package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js.map +1 -1
  79. package/dist/cjs/components/EmptyState/EmptyStateBase.st.css.js +2 -2
  80. package/dist/cjs/components/EmptyState/EmptyStateBase.st.css.js.map +1 -1
  81. package/dist/cjs/components/EntityPage/EntityPage.uni.driver.js +2 -0
  82. package/dist/cjs/components/EntityPage/EntityPage.uni.driver.js.map +1 -1
  83. package/dist/cjs/components/EntityPage/EntityPageActionsBar.js +88 -10
  84. package/dist/cjs/components/EntityPage/EntityPageActionsBar.js.map +1 -1
  85. package/dist/cjs/components/EntityPage/EntityPageDeleteAction.js +71 -0
  86. package/dist/cjs/components/EntityPage/EntityPageDeleteAction.js.map +1 -0
  87. package/dist/cjs/components/EntityPage/EntityPageDeleteConfirmModal.js +46 -0
  88. package/dist/cjs/components/EntityPage/EntityPageDeleteConfirmModal.js.map +1 -0
  89. package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js +2 -2
  90. package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js.map +1 -1
  91. package/dist/cjs/components/Fade/Fade.st.css.js +2 -2
  92. package/dist/cjs/components/Fade/Fade.st.css.js.map +1 -1
  93. package/dist/cjs/components/FormPage/FormPageActionsBar.js +6 -5
  94. package/dist/cjs/components/FormPage/FormPageActionsBar.js.map +1 -1
  95. package/dist/cjs/components/Heading/Heading.st.css.js +2 -2
  96. package/dist/cjs/components/Heading/Heading.st.css.js.map +1 -1
  97. package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js +3 -3
  98. package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js.map +1 -1
  99. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js +2 -2
  100. package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
  101. package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js +3 -3
  102. package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js.map +1 -1
  103. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  104. package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
  105. package/dist/cjs/components/MaxLines/MaxLines.st.css.js +2 -2
  106. package/dist/cjs/components/MaxLines/MaxLines.st.css.js.map +1 -1
  107. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +5 -5
  108. package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
  109. package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  110. package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
  111. package/dist/cjs/components/NestedTable/NestedTableRow.js +2 -2
  112. package/dist/cjs/components/NestedTable/NestedTableRow.js.map +1 -1
  113. package/dist/cjs/components/NestedTable/NestedTableRow.st.css +14 -4
  114. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js +12 -6
  115. package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
  116. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css +16 -7
  117. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +8 -3
  118. package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
  119. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css +5 -1
  120. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +6 -3
  121. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
  122. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragHandle.js +7 -4
  123. package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragHandle.js.map +1 -1
  124. package/dist/cjs/components/PickerContent/PickerContent.st.css.js +2 -2
  125. package/dist/cjs/components/PickerContent/PickerContent.st.css.js.map +1 -1
  126. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js +4 -4
  127. package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
  128. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  129. package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
  130. package/dist/cjs/components/QuerySearch.js +4 -1
  131. package/dist/cjs/components/QuerySearch.js.map +1 -1
  132. package/dist/cjs/components/ReferenceFieldFilter/ReferenceFieldFilter.js +22 -15
  133. package/dist/cjs/components/ReferenceFieldFilter/ReferenceFieldFilter.js.map +1 -1
  134. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  135. package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
  136. package/dist/cjs/components/SetupWidget/SetupWidget.st.css.js +10 -10
  137. package/dist/cjs/components/SetupWidget/SetupWidget.st.css.js.map +1 -1
  138. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js +3 -3
  139. package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
  140. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js +2 -2
  141. package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
  142. package/dist/cjs/components/Table/AddFieldColumnHeader.st.css.js +4 -4
  143. package/dist/cjs/components/Table/AddFieldColumnHeader.st.css.js.map +1 -1
  144. package/dist/cjs/components/TabsFilter/TabTitle.js +7 -10
  145. package/dist/cjs/components/TabsFilter/TabTitle.js.map +1 -1
  146. package/dist/cjs/components/TabsFilter/TabsFilter.js +6 -8
  147. package/dist/cjs/components/TabsFilter/TabsFilter.js.map +1 -1
  148. package/dist/cjs/components/TabsFilter/TabsFilter.st.css +4 -17
  149. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js +4 -10
  150. package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
  151. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  152. package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
  153. package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
  154. package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js.map +1 -1
  155. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  156. package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
  157. package/dist/cjs/components/common.st.css.js +4 -4
  158. package/dist/cjs/components/common.st.css.js.map +1 -1
  159. package/dist/cjs/exports/schema.js.map +1 -1
  160. package/dist/cjs/hooks/index.js +6 -0
  161. package/dist/cjs/hooks/index.js.map +1 -1
  162. package/dist/cjs/hooks/useEntityPage.js.map +1 -1
  163. package/dist/cjs/hooks/useOptionalCachedState.js +2 -0
  164. package/dist/cjs/hooks/useOptionalCachedState.js.map +1 -1
  165. package/dist/cjs/hooks/useSyncCollectionOnEntityDelete.js +40 -0
  166. package/dist/cjs/hooks/useSyncCollectionOnEntityDelete.js.map +1 -0
  167. package/dist/cjs/hooks/useSyncCollectionOnEntityReturn.js +13 -20
  168. package/dist/cjs/hooks/useSyncCollectionOnEntityReturn.js.map +1 -1
  169. package/dist/cjs/schema/sourceMutations.js +4 -1
  170. package/dist/cjs/schema/sourceMutations.js.map +1 -1
  171. package/dist/cjs/schema/useEntityPage.js +25 -4
  172. package/dist/cjs/schema/useEntityPage.js.map +1 -1
  173. package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
  174. package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js.map +1 -1
  175. package/dist/cjs/state/EditableTable/CellValueState.js +35 -10
  176. package/dist/cjs/state/EditableTable/CellValueState.js.map +1 -1
  177. package/dist/cjs/state/EditableTable/MutationState.js +25 -2
  178. package/dist/cjs/state/EditableTable/MutationState.js.map +1 -1
  179. package/dist/cjs/state/EntityPage/EntityPageDeleteActionState.js +147 -0
  180. package/dist/cjs/state/EntityPage/EntityPageDeleteActionState.js.map +1 -0
  181. package/dist/cjs/state/EntityPage/EntityPageState.js +41 -3
  182. package/dist/cjs/state/EntityPage/EntityPageState.js.map +1 -1
  183. package/dist/cjs/state/EntityPage/index.js +6 -0
  184. package/dist/cjs/state/EntityPage/index.js.map +1 -1
  185. package/dist/cjs/state/FormPage/FormPageHeader.st.css.js +2 -2
  186. package/dist/cjs/state/FormPage/FormPageHeader.st.css.js.map +1 -1
  187. package/dist/cjs/state/WixPatternsRouterState.js.map +1 -1
  188. package/dist/cjs/state/index.js +6 -0
  189. package/dist/cjs/state/index.js.map +1 -1
  190. package/dist/cjs/styles.global.css +2 -2
  191. package/dist/cjs/version.js +1 -1
  192. package/dist/cjs/version.js.map +1 -1
  193. package/dist/docs/Allow Users to Add Extended Fields.md +18 -16
  194. package/dist/docs/CollectionSearch.md +3 -1
  195. package/dist/docs/CollectionToolbar.md +1 -1
  196. package/dist/docs/Component Tests.md +4 -4
  197. package/dist/docs/CustomColumns.md +1 -1
  198. package/dist/docs/CustomFieldType.md +9 -9
  199. package/dist/docs/CustomFieldsViewWidget.md +10 -10
  200. package/dist/docs/CustomFieldsWidget.md +46 -35
  201. package/dist/docs/Display Extended Fields.md +21 -15
  202. package/dist/docs/Enable Filters for Extended Fields.md +4 -2
  203. package/dist/docs/EntityPage.AdditionalContent.md +1 -1
  204. package/dist/docs/EntityPage.Card.md +11 -11
  205. package/dist/docs/EntityPage.Content.md +1 -1
  206. package/dist/docs/EntityPage.Header.md +9 -6
  207. package/dist/docs/EntityPage.MainContent.md +1 -1
  208. package/dist/docs/EntityPageState.md +1 -1
  209. package/dist/docs/Explore Apps.md +8 -1
  210. package/dist/docs/ExportTo.md +6 -6
  211. package/dist/docs/Filter Overview.md +23 -8
  212. package/dist/docs/Grid.md +3 -3
  213. package/dist/docs/ImportButton.md +18 -8
  214. package/dist/docs/MultiBulkActionToolbar.md +1 -1
  215. package/dist/docs/MultiLevelSorting.md +3 -3
  216. package/dist/docs/Next.js.md +19 -19
  217. package/dist/docs/NumberRangeFilter.md +5 -5
  218. package/dist/docs/PageWrapper.md +1 -1
  219. package/dist/docs/PatternsReactRouter.md +77 -1
  220. package/dist/docs/PickerContent.md +14 -9
  221. package/dist/docs/PickerModal.md +4 -4
  222. package/dist/docs/PrimaryActionButton.md +2 -2
  223. package/dist/docs/SettingsPage.AdditionalContent.md +1 -1
  224. package/dist/docs/SettingsPage.Card.md +11 -11
  225. package/dist/docs/SettingsPage.Content.md +1 -1
  226. package/dist/docs/SettingsPage.Header.md +8 -5
  227. package/dist/docs/SettingsPage.MainContent.md +1 -1
  228. package/dist/docs/SettingsPageState.md +1 -1
  229. package/dist/docs/Suggestions.md +10 -10
  230. package/dist/docs/SummaryBar.md +6 -6
  231. package/dist/docs/TableTopNotification.md +1 -1
  232. package/dist/docs/TabsFilter.md +5 -5
  233. package/dist/docs/Tags.md +15 -7
  234. package/dist/docs/TagsWidget.md +48 -31
  235. package/dist/docs/ToolbarFilters.md +4 -4
  236. package/dist/docs/ToolbarTitle.md +4 -4
  237. package/dist/docs/Views.md +8 -8
  238. package/dist/docs/WidgetsFormProvider.md +11 -7
  239. package/dist/docs/WixPatternsProvider.md +48 -4
  240. package/dist/docs/Working with Cache.md +5 -5
  241. package/dist/docs/bulkActionModal.md +13 -8
  242. package/dist/docs/index.json +30 -30
  243. package/dist/docs/useAmbassadorCollection.md +4 -1
  244. package/dist/docs/useEntity.md +8 -5
  245. package/dist/docs/useEntityPage.md +10 -7
  246. package/dist/docs/useEntityPageContext.md +1 -1
  247. package/dist/docs/useGridCollection.md +8 -2
  248. package/dist/docs/useNestedTable.md +2 -2
  249. package/dist/docs/useOptimisticActions.md +2 -2
  250. package/dist/docs/usePatternsNavigate.md +8 -2
  251. package/dist/docs/usePickerContent.md +5 -2
  252. package/dist/docs/usePickerModal.md +4 -4
  253. package/dist/docs/usePickerStandalone.md +5 -2
  254. package/dist/docs/useSettingsPage.md +7 -7
  255. package/dist/docs/useSettingsPageContext.md +1 -1
  256. package/dist/docs/useTableCollection.md +8 -2
  257. package/dist/docs/useTableGridSwitchCollection.md +8 -2
  258. package/dist/esm/components/CardContainer/CardContainer.st.css.js +2 -2
  259. package/dist/esm/components/CmsFieldManagement/CmsFieldForm.st.css.js +2 -2
  260. package/dist/esm/components/CmsFieldManagement/CmsFieldModal.st.css.js +2 -2
  261. package/dist/esm/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js +2 -2
  262. package/dist/esm/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.js +2 -2
  263. package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
  264. package/dist/esm/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
  265. package/dist/esm/components/CollectionPageNew/CollectionPage.st.css.js.map +1 -1
  266. package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +2 -2
  267. package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js.map +1 -1
  268. package/dist/esm/components/CollectionTable/CollectionTable.st.css.js +2 -2
  269. package/dist/esm/components/CollectionTable/CollectionTable.st.css.js.map +1 -1
  270. package/dist/esm/components/CollectionTable/CollectionTableWSRTable.st.css.js +2 -2
  271. package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
  272. package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
  273. package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
  274. package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
  275. package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
  276. package/dist/esm/components/DragHandle/DragHandle.st.css.js.map +1 -1
  277. package/dist/esm/components/EditableTable/EditableCell.st.css.js +2 -2
  278. package/dist/esm/components/EditableTable/HeaderActionsPopover.st.css.js +2 -2
  279. package/dist/esm/components/EditableTable/cellTypes/CellViewLayout.st.css.js +2 -2
  280. package/dist/esm/components/EditableTable/cellTypes/address/Edit.st.css.js +2 -2
  281. package/dist/esm/components/EditableTable/cellTypes/array/Edit.st.css.js +2 -2
  282. package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.st.css.js +2 -2
  283. package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.st.css.js.map +1 -1
  284. package/dist/esm/components/EditableTable/cellTypes/boolean/View.st.css.js +2 -2
  285. package/dist/esm/components/EditableTable/cellTypes/boolean/View.st.css.js.map +1 -1
  286. package/dist/esm/components/EditableTable/cellTypes/color/Edit.st.css.js +2 -2
  287. package/dist/esm/components/EditableTable/cellTypes/color/Edit.st.css.js.map +1 -1
  288. package/dist/esm/components/EditableTable/cellTypes/date/Edit.st.css.js +2 -2
  289. package/dist/esm/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
  290. package/dist/esm/components/EditableTable/cellTypes/date/View.st.css.js.map +1 -1
  291. package/dist/esm/components/EditableTable/cellTypes/datetime/Edit.st.css.js +2 -2
  292. package/dist/esm/components/EditableTable/cellTypes/datetime/Edit.st.css.js.map +1 -1
  293. package/dist/esm/components/EditableTable/cellTypes/datetime/View.st.css.js +2 -2
  294. package/dist/esm/components/EditableTable/cellTypes/datetime/View.st.css.js.map +1 -1
  295. package/dist/esm/components/EditableTable/cellTypes/email/Edit.st.css.js +2 -2
  296. package/dist/esm/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
  297. package/dist/esm/components/EditableTable/cellTypes/number/Edit.st.css.js +2 -2
  298. package/dist/esm/components/EditableTable/cellTypes/number/View.st.css.js +2 -2
  299. package/dist/esm/components/EditableTable/cellTypes/object/Edit.st.css.js +2 -2
  300. package/dist/esm/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
  301. package/dist/esm/components/EditableTable/cellTypes/object/View.st.css.js.map +1 -1
  302. package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css.js +2 -2
  303. package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css.js.map +1 -1
  304. package/dist/esm/components/EditableTable/cellTypes/text/Edit.st.css.js +2 -2
  305. package/dist/esm/components/EditableTable/cellTypes/text/View.st.css.js +2 -2
  306. package/dist/esm/components/EditableTable/cellTypes/text/View.st.css.js.map +1 -1
  307. package/dist/esm/components/EditableTable/cellTypes/time/Edit.st.css.js +2 -2
  308. package/dist/esm/components/EditableTable/cellTypes/url/Edit.st.css.js +2 -2
  309. package/dist/esm/components/EditableTable/cellTypes/url/View.st.css.js +2 -2
  310. package/dist/esm/components/EditableTable/cellTypes/url/View.st.css.js.map +1 -1
  311. package/dist/esm/components/EmptyState/EmptyStateBase.st.css.js +2 -2
  312. package/dist/esm/components/EntityPage/EntityPage.uni.driver.js +3 -1
  313. package/dist/esm/components/EntityPage/EntityPage.uni.driver.js.map +1 -1
  314. package/dist/esm/components/EntityPage/EntityPageActionsBar.js +46 -3
  315. package/dist/esm/components/EntityPage/EntityPageActionsBar.js.map +1 -1
  316. package/dist/esm/components/EntityPage/EntityPageDeleteAction.js +31 -0
  317. package/dist/esm/components/EntityPage/EntityPageDeleteAction.js.map +1 -0
  318. package/dist/esm/components/EntityPage/EntityPageDeleteConfirmModal.js +16 -0
  319. package/dist/esm/components/EntityPage/EntityPageDeleteConfirmModal.js.map +1 -0
  320. package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js +2 -2
  321. package/dist/esm/components/Fade/Fade.st.css.js +2 -2
  322. package/dist/esm/components/Fade/Fade.st.css.js.map +1 -1
  323. package/dist/esm/components/FormPage/FormPageActionsBar.js +2 -1
  324. package/dist/esm/components/FormPage/FormPageActionsBar.js.map +1 -1
  325. package/dist/esm/components/Heading/Heading.st.css.js +2 -2
  326. package/dist/esm/components/Heading/Heading.st.css.js.map +1 -1
  327. package/dist/esm/components/ImportButton/ImportStepUpload.st.css.js +2 -2
  328. package/dist/esm/components/InputOverflow/InputOverflow.st.css.js +2 -2
  329. package/dist/esm/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
  330. package/dist/esm/components/LoadingRow/LoadingRow.st.css.js +3 -3
  331. package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
  332. package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
  333. package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
  334. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
  335. package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
  336. package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
  337. package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
  338. package/dist/esm/components/NestedTable/NestedTableRow.js +1 -3
  339. package/dist/esm/components/NestedTable/NestedTableRow.js.map +1 -1
  340. package/dist/esm/components/NestedTable/NestedTableRow.st.css +14 -4
  341. package/dist/esm/components/NestedTable/NestedTableRow.st.css.js +3 -3
  342. package/dist/esm/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
  343. package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css +16 -7
  344. package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +3 -3
  345. package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
  346. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css +5 -1
  347. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +3 -3
  348. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
  349. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragHandle.js +4 -1
  350. package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragHandle.js.map +1 -1
  351. package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
  352. package/dist/esm/components/PickerContent/PickerContent.st.css.js.map +1 -1
  353. package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js +2 -2
  354. package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
  355. package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
  356. package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
  357. package/dist/esm/components/QuerySearch.js +3 -1
  358. package/dist/esm/components/QuerySearch.js.map +1 -1
  359. package/dist/esm/components/ReferenceFieldFilter/ReferenceFieldFilter.js +11 -6
  360. package/dist/esm/components/ReferenceFieldFilter/ReferenceFieldFilter.js.map +1 -1
  361. package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
  362. package/dist/esm/components/SetupWidget/SetupWidget.st.css.js +2 -2
  363. package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js +2 -2
  364. package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +2 -2
  365. package/dist/esm/components/Table/AddFieldColumnHeader.st.css.js +2 -2
  366. package/dist/esm/components/TabsFilter/TabTitle.js +5 -5
  367. package/dist/esm/components/TabsFilter/TabTitle.js.map +1 -1
  368. package/dist/esm/components/TabsFilter/TabsFilter.js +2 -3
  369. package/dist/esm/components/TabsFilter/TabsFilter.js.map +1 -1
  370. package/dist/esm/components/TabsFilter/TabsFilter.st.css +4 -17
  371. package/dist/esm/components/TabsFilter/TabsFilter.st.css.js +3 -3
  372. package/dist/esm/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
  373. package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
  374. package/dist/esm/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
  375. package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
  376. package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
  377. package/dist/esm/components/common.st.css.js +2 -2
  378. package/dist/esm/components/common.st.css.js.map +1 -1
  379. package/dist/esm/hooks/index.js +1 -0
  380. package/dist/esm/hooks/index.js.map +1 -1
  381. package/dist/esm/hooks/useEntityPage.js.map +1 -1
  382. package/dist/esm/hooks/useOptionalCachedState.js +2 -0
  383. package/dist/esm/hooks/useOptionalCachedState.js.map +1 -1
  384. package/dist/esm/hooks/useSyncCollectionOnEntityDelete.js +36 -0
  385. package/dist/esm/hooks/useSyncCollectionOnEntityDelete.js.map +1 -0
  386. package/dist/esm/hooks/useSyncCollectionOnEntityReturn.js +24 -21
  387. package/dist/esm/hooks/useSyncCollectionOnEntityReturn.js.map +1 -1
  388. package/dist/esm/schema/sourceMutations.js +4 -1
  389. package/dist/esm/schema/sourceMutations.js.map +1 -1
  390. package/dist/esm/schema/useEntityPage.js +24 -2
  391. package/dist/esm/schema/useEntityPage.js.map +1 -1
  392. package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
  393. package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js.map +1 -1
  394. package/dist/esm/state/EditableTable/CellValueState.js +24 -11
  395. package/dist/esm/state/EditableTable/CellValueState.js.map +1 -1
  396. package/dist/esm/state/EditableTable/MutationState.js +26 -2
  397. package/dist/esm/state/EditableTable/MutationState.js.map +1 -1
  398. package/dist/esm/state/EntityPage/EntityPageDeleteActionState.js +136 -0
  399. package/dist/esm/state/EntityPage/EntityPageDeleteActionState.js.map +1 -0
  400. package/dist/esm/state/EntityPage/EntityPageState.js +40 -2
  401. package/dist/esm/state/EntityPage/EntityPageState.js.map +1 -1
  402. package/dist/esm/state/EntityPage/index.js +1 -0
  403. package/dist/esm/state/EntityPage/index.js.map +1 -1
  404. package/dist/esm/state/FormPage/FormPageHeader.st.css.js +2 -2
  405. package/dist/esm/state/WixPatternsRouterState.js.map +1 -1
  406. package/dist/esm/state/index.js +1 -0
  407. package/dist/esm/state/index.js.map +1 -1
  408. package/dist/esm/styles.global.css +2 -2
  409. package/dist/esm/version.js +1 -1
  410. package/dist/types/components/CollectionPageNew/CollectionPage.st.css.d.ts.map +1 -1
  411. package/dist/types/components/CollectionSectionHeader/CollectionSectionHeader.st.css.d.ts.map +1 -1
  412. package/dist/types/components/CollectionTable/CollectionTable.st.css.d.ts.map +1 -1
  413. package/dist/types/components/DragHandle/DragHandle.st.css.d.ts.map +1 -1
  414. package/dist/types/components/EditableTable/cellTypes/boolean/Edit.st.css.d.ts.map +1 -1
  415. package/dist/types/components/EditableTable/cellTypes/boolean/View.st.css.d.ts.map +1 -1
  416. package/dist/types/components/EditableTable/cellTypes/color/Edit.st.css.d.ts.map +1 -1
  417. package/dist/types/components/EditableTable/cellTypes/date/View.st.css.d.ts.map +1 -1
  418. package/dist/types/components/EditableTable/cellTypes/datetime/Edit.st.css.d.ts.map +1 -1
  419. package/dist/types/components/EditableTable/cellTypes/datetime/View.st.css.d.ts.map +1 -1
  420. package/dist/types/components/EditableTable/cellTypes/object/View.st.css.d.ts.map +1 -1
  421. package/dist/types/components/EditableTable/cellTypes/select/Edit.st.css.d.ts.map +1 -1
  422. package/dist/types/components/EditableTable/cellTypes/text/View.st.css.d.ts.map +1 -1
  423. package/dist/types/components/EditableTable/cellTypes/url/View.st.css.d.ts.map +1 -1
  424. package/dist/types/components/EntityPage/EntityPage.uni.driver.d.ts +97 -1
  425. package/dist/types/components/EntityPage/EntityPage.uni.driver.d.ts.map +1 -1
  426. package/dist/types/components/EntityPage/EntityPageActionsBar.d.ts +2 -2
  427. package/dist/types/components/EntityPage/EntityPageActionsBar.d.ts.map +1 -1
  428. package/dist/types/components/EntityPage/EntityPageDeleteAction.d.ts +7 -0
  429. package/dist/types/components/EntityPage/EntityPageDeleteAction.d.ts.map +1 -0
  430. package/dist/types/components/EntityPage/EntityPageDeleteConfirmModal.d.ts +11 -0
  431. package/dist/types/components/EntityPage/EntityPageDeleteConfirmModal.d.ts.map +1 -0
  432. package/dist/types/components/Fade/Fade.st.css.d.ts.map +1 -1
  433. package/dist/types/components/FormPage/FormPageActionsBar.d.ts +3 -2
  434. package/dist/types/components/FormPage/FormPageActionsBar.d.ts.map +1 -1
  435. package/dist/types/components/Heading/Heading.st.css.d.ts.map +1 -1
  436. package/dist/types/components/InputOverflow/InputOverflow.st.css.d.ts.map +1 -1
  437. package/dist/types/components/MaxHeightText/MaxHeightText.st.css.d.ts.map +1 -1
  438. package/dist/types/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.d.ts.map +1 -1
  439. package/dist/types/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.d.ts.map +1 -1
  440. package/dist/types/components/NestedTable/NestedTableRow.d.ts.map +1 -1
  441. package/dist/types/components/NestedTable/NestedTableRow.st.css.d.ts +7 -1
  442. package/dist/types/components/NestedTable/NestedTableRow.st.css.d.ts.map +1 -1
  443. package/dist/types/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.d.ts +6 -1
  444. package/dist/types/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.d.ts.map +1 -1
  445. package/dist/types/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.d.ts +4 -1
  446. package/dist/types/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.d.ts.map +1 -1
  447. package/dist/types/components/NestedTableDragAndDrop/NestedTableDragHandle.d.ts.map +1 -1
  448. package/dist/types/components/PickerContent/PickerContent.st.css.d.ts.map +1 -1
  449. package/dist/types/components/PickerContent/PickerContentAdditionalStep.st.css.d.ts.map +1 -1
  450. package/dist/types/components/PickerTableListItem/PickerTableListItem.st.css.d.ts.map +1 -1
  451. package/dist/types/components/QuerySearch.d.ts.map +1 -1
  452. package/dist/types/components/ReferenceFieldFilter/ReferenceFieldFilter.d.ts +2 -1
  453. package/dist/types/components/ReferenceFieldFilter/ReferenceFieldFilter.d.ts.map +1 -1
  454. package/dist/types/components/TabsFilter/TabTitle.d.ts +1 -2
  455. package/dist/types/components/TabsFilter/TabTitle.d.ts.map +1 -1
  456. package/dist/types/components/TabsFilter/TabsFilter.d.ts.map +1 -1
  457. package/dist/types/components/TabsFilter/TabsFilter.st.css.d.ts +2 -8
  458. package/dist/types/components/TabsFilter/TabsFilter.st.css.d.ts.map +1 -1
  459. package/dist/types/components/ToolbarItemBox/ToolbarItemBox.st.css.d.ts.map +1 -1
  460. package/dist/types/components/common.st.css.d.ts.map +1 -1
  461. package/dist/types/exports/schema.d.ts +1 -1
  462. package/dist/types/exports/schema.d.ts.map +1 -1
  463. package/dist/types/hooks/index.d.ts +1 -0
  464. package/dist/types/hooks/index.d.ts.map +1 -1
  465. package/dist/types/hooks/useEntityPage.d.ts +1 -1
  466. package/dist/types/hooks/useEntityPage.d.ts.map +1 -1
  467. package/dist/types/hooks/useOptionalCachedState.d.ts.map +1 -1
  468. package/dist/types/hooks/useSyncCollectionOnEntityDelete.d.ts +4 -0
  469. package/dist/types/hooks/useSyncCollectionOnEntityDelete.d.ts.map +1 -0
  470. package/dist/types/hooks/useSyncCollectionOnEntityReturn.d.ts +1 -0
  471. package/dist/types/hooks/useSyncCollectionOnEntityReturn.d.ts.map +1 -1
  472. package/dist/types/schema/sourceMutations.d.ts.map +1 -1
  473. package/dist/types/schema/useEntityPage.d.ts +1 -1
  474. package/dist/types/schema/useEntityPage.d.ts.map +1 -1
  475. package/dist/types/state/CollectionPage/CollectionPageHeader.st.css.d.ts.map +1 -1
  476. package/dist/types/state/EditableTable/CellValueState.d.ts.map +1 -1
  477. package/dist/types/state/EditableTable/MutationState.d.ts +5 -3
  478. package/dist/types/state/EditableTable/MutationState.d.ts.map +1 -1
  479. package/dist/types/state/EntityPage/EntityPageDeleteActionState.d.ts +55 -0
  480. package/dist/types/state/EntityPage/EntityPageDeleteActionState.d.ts.map +1 -0
  481. package/dist/types/state/EntityPage/EntityPageState.d.ts +27 -0
  482. package/dist/types/state/EntityPage/EntityPageState.d.ts.map +1 -1
  483. package/dist/types/state/EntityPage/index.d.ts +1 -0
  484. package/dist/types/state/EntityPage/index.d.ts.map +1 -1
  485. package/dist/types/state/WixPatternsRouterState.d.ts +1 -0
  486. package/dist/types/state/WixPatternsRouterState.d.ts.map +1 -1
  487. package/dist/types/state/index.d.ts +1 -0
  488. package/dist/types/state/index.d.ts.map +1 -1
  489. package/dist/types/testkit/enzyme.d.ts +94 -0
  490. package/dist/types/testkit/enzyme.d.ts.map +1 -1
  491. package/dist/types/testkit/jsdom.d.ts +94 -0
  492. package/dist/types/testkit/jsdom.d.ts.map +1 -1
  493. package/dist/types/testkit/playwright.d.ts +94 -0
  494. package/dist/types/testkit/playwright.d.ts.map +1 -1
  495. package/dist/types/testkit/puppeteer.d.ts +94 -0
  496. package/dist/types/testkit/puppeteer.d.ts.map +1 -1
  497. package/dist/types/version.d.ts +1 -1
  498. package/package.json +7 -7
  499. package/src/components/CardContainer/CardContainer.st.css.ts +2 -2
  500. package/src/components/CmsFieldManagement/CmsFieldForm.st.css.ts +2 -2
  501. package/src/components/CmsFieldManagement/CmsFieldModal.st.css.ts +2 -2
  502. package/src/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.ts +2 -2
  503. package/src/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.ts +2 -2
  504. package/src/components/Collapse/Collapse.st.css.ts +2 -2
  505. package/src/components/CollectionPageNew/CollectionPage.st.css.ts +2 -2
  506. package/src/components/CollectionSectionHeader/CollectionSectionHeader.st.css.ts +2 -2
  507. package/src/components/CollectionTable/CollectionTable.st.css.ts +2 -2
  508. package/src/components/CollectionTable/CollectionTableWSRTable.st.css.ts +2 -2
  509. package/src/components/CollectionToolbar/CollectionToolbar.st.css.ts +2 -2
  510. package/src/components/CollectionToolbar/SearchOrCustomFilter.st.css.ts +2 -2
  511. package/src/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.ts +2 -2
  512. package/src/components/CollectionViewsDropdown/ViewsDropdown.st.css.ts +2 -2
  513. package/src/components/DragHandle/DragHandle.st.css.ts +2 -2
  514. package/src/components/EditableTable/EditableCell.st.css.ts +2 -2
  515. package/src/components/EditableTable/HeaderActionsPopover.st.css.ts +2 -2
  516. package/src/components/EditableTable/cellTypes/CellViewLayout.st.css.ts +2 -2
  517. package/src/components/EditableTable/cellTypes/address/Edit.st.css.ts +2 -2
  518. package/src/components/EditableTable/cellTypes/array/Edit.st.css.ts +2 -2
  519. package/src/components/EditableTable/cellTypes/boolean/Edit.st.css.ts +2 -2
  520. package/src/components/EditableTable/cellTypes/boolean/View.st.css.ts +2 -2
  521. package/src/components/EditableTable/cellTypes/color/Edit.st.css.ts +2 -2
  522. package/src/components/EditableTable/cellTypes/date/Edit.st.css.ts +2 -2
  523. package/src/components/EditableTable/cellTypes/date/View.st.css.ts +2 -2
  524. package/src/components/EditableTable/cellTypes/datetime/Edit.st.css.ts +2 -2
  525. package/src/components/EditableTable/cellTypes/datetime/View.st.css.ts +2 -2
  526. package/src/components/EditableTable/cellTypes/email/Edit.st.css.ts +2 -2
  527. package/src/components/EditableTable/cellTypes/email/View.st.css.ts +2 -2
  528. package/src/components/EditableTable/cellTypes/number/Edit.st.css.ts +2 -2
  529. package/src/components/EditableTable/cellTypes/number/View.st.css.ts +2 -2
  530. package/src/components/EditableTable/cellTypes/object/Edit.st.css.ts +2 -2
  531. package/src/components/EditableTable/cellTypes/object/View.st.css.ts +2 -2
  532. package/src/components/EditableTable/cellTypes/select/Edit.st.css.ts +2 -2
  533. package/src/components/EditableTable/cellTypes/text/Edit.st.css.ts +2 -2
  534. package/src/components/EditableTable/cellTypes/text/View.st.css.ts +2 -2
  535. package/src/components/EditableTable/cellTypes/time/Edit.st.css.ts +2 -2
  536. package/src/components/EditableTable/cellTypes/url/Edit.st.css.ts +2 -2
  537. package/src/components/EditableTable/cellTypes/url/View.st.css.ts +2 -2
  538. package/src/components/EmptyState/EmptyStateBase.st.css.ts +2 -2
  539. package/src/components/EntityPage/EntityPage.uni.driver.ts +13 -0
  540. package/src/components/EntityPage/EntityPageActionsBar.tsx +93 -9
  541. package/src/components/EntityPage/EntityPageDeleteAction.tsx +50 -0
  542. package/src/components/EntityPage/EntityPageDeleteConfirmModal.tsx +40 -0
  543. package/src/components/EntityPage/EntityPagePlain.st.css.ts +2 -2
  544. package/src/components/Fade/Fade.st.css.ts +2 -2
  545. package/src/components/FormPage/FormPageActionsBar.tsx +4 -1
  546. package/src/components/Heading/Heading.st.css.ts +2 -2
  547. package/src/components/ImportButton/ImportStepUpload.st.css.ts +2 -2
  548. package/src/components/InputOverflow/InputOverflow.st.css.ts +2 -2
  549. package/src/components/LoadingRow/LoadingRow.st.css.ts +3 -3
  550. package/src/components/MaxHeightText/MaxHeightText.st.css.ts +2 -2
  551. package/src/components/MaxLines/MaxLines.st.css.ts +2 -2
  552. package/src/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.ts +2 -2
  553. package/src/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.ts +2 -2
  554. package/src/components/NestedTable/NestedTableRow.st.css +14 -4
  555. package/src/components/NestedTable/NestedTableRow.st.css.ts +3 -3
  556. package/src/components/NestedTable/NestedTableRow.tsx +1 -4
  557. package/src/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css +16 -7
  558. package/src/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.ts +3 -3
  559. package/src/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css +5 -1
  560. package/src/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.ts +3 -3
  561. package/src/components/NestedTableDragAndDrop/NestedTableDragHandle.tsx +4 -2
  562. package/src/components/PickerContent/PickerContent.st.css.ts +2 -2
  563. package/src/components/PickerContent/PickerContentAdditionalStep.st.css.ts +2 -2
  564. package/src/components/PickerTableListItem/PickerTableListItem.st.css.ts +2 -2
  565. package/src/components/QuerySearch.tsx +3 -0
  566. package/src/components/ReferenceFieldFilter/ReferenceFieldFilter.tsx +14 -6
  567. package/src/components/ScrollableContent/ScrollableContent.st.css.ts +2 -2
  568. package/src/components/SetupWidget/SetupWidget.st.css.ts +2 -2
  569. package/src/components/SkeletonCard/SkeletonCard.st.css.ts +2 -2
  570. package/src/components/SlidingModal/SlidingModal.st.css.ts +2 -2
  571. package/src/components/Table/AddFieldColumnHeader.st.css.ts +2 -2
  572. package/src/components/TabsFilter/TabTitle.tsx +8 -6
  573. package/src/components/TabsFilter/TabsFilter.st.css +4 -17
  574. package/src/components/TabsFilter/TabsFilter.st.css.ts +3 -3
  575. package/src/components/TabsFilter/TabsFilter.tsx +0 -3
  576. package/src/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.ts +2 -2
  577. package/src/components/ToolbarItem/ToolbarItem.st.css.ts +2 -2
  578. package/src/components/ToolbarItemBox/ToolbarItemBox.st.css.ts +2 -2
  579. package/src/components/common.st.css.ts +2 -2
  580. package/src/exports/schema.ts +1 -0
  581. package/src/hooks/index.ts +1 -0
  582. package/src/hooks/useEntityPage.ts +3 -0
  583. package/src/hooks/useOptionalCachedState.ts +2 -0
  584. package/src/hooks/useSyncCollectionOnEntityDelete.ts +74 -0
  585. package/src/hooks/useSyncCollectionOnEntityReturn.ts +26 -23
  586. package/src/schema/sourceMutations.ts +5 -2
  587. package/src/schema/useEntityPage.ts +47 -7
  588. package/src/state/CollectionPage/CollectionPageHeader.st.css.ts +2 -2
  589. package/src/state/EditableTable/CellValueState.ts +37 -16
  590. package/src/state/EditableTable/MutationState.ts +58 -3
  591. package/src/state/EntityPage/EntityPageDeleteActionState.ts +228 -0
  592. package/src/state/EntityPage/EntityPageState.ts +72 -2
  593. package/src/state/EntityPage/index.ts +1 -0
  594. package/src/state/FormPage/FormPageHeader.st.css.ts +2 -2
  595. package/src/state/WixPatternsRouterState.ts +1 -0
  596. package/src/state/index.ts +1 -0
  597. package/src/styles.global.css +2 -2
  598. package/src/version.ts +1 -1
  599. package/dist/cjs/components/ReferenceFieldFilter/pr-5715-comments.md +0 -73
  600. package/dist/esm/components/ReferenceFieldFilter/pr-5715-comments.md +0 -73
  601. package/src/components/ReferenceFieldFilter/pr-5715-comments.md +0 -73
@@ -7,6 +7,7 @@ import {
7
7
  SchemaSource,
8
8
  Schema,
9
9
  } from '@wix/bex-core';
10
+ import type { LoadedSchema } from '@wix/bex-core';
10
11
  import { action, computed, makeObservable, observable } from 'mobx';
11
12
  import type { PatternsFieldsAppContainer } from '@wix/patterns-fields/providers';
12
13
  import { fieldsContainerOf } from '../../model/schemaFieldsContainer';
@@ -16,6 +17,10 @@ import { EventEmitter, TypedEmitter } from '@wix/bex-core/events';
16
17
  import { WixPatternsRouterState } from '../WixPatternsRouterState';
17
18
  import type { SidePanelsState } from '../SidePanelsState';
18
19
  import type { CustomColumnsEntityPageState } from '../CustomColumnsEntityPageState';
20
+ import {
21
+ EntityPageDeleteAction,
22
+ EntityPageDeleteActionState,
23
+ } from './EntityPageDeleteActionState';
19
24
 
20
25
  type OnSaveParams = {
21
26
  widgetsFormData: { [key: string]: any };
@@ -58,6 +63,13 @@ interface EntityPageStateParamsBase<T, V extends FieldValues = FieldValues> {
58
63
  }
59
64
  | string;
60
65
 
66
+ /**
67
+ * Enables deleting the loaded entity from the entity page. Pass `true` for a
68
+ * schema-backed page to use the source backend, or an object to customize the
69
+ * action and to provide a delete handler for manually wired pages.
70
+ */
71
+ deleteAction?: EntityPageDeleteAction<T>;
72
+
61
73
  /**
62
74
  * An optional function to transform the updated entity data before it is passed to the collection page.
63
75
  * @param entity the updated entity.
@@ -105,6 +117,16 @@ interface EntityPageStateParamsBase<T, V extends FieldValues = FieldValues> {
105
117
  */
106
118
  actionsBarConfig?: ActionsBarConfig;
107
119
 
120
+ /**
121
+ * Whether the page was opened to create a new entity rather than to edit an
122
+ * existing one. Decides how a save is announced to the parent page — created
123
+ * vs updated — so a new item seeded with local defaults is still announced
124
+ * as created. Pass a getter when the route can change while the page stays
125
+ * mounted. When omitted, the announcement follows whether an entity was
126
+ * loaded.
127
+ */
128
+ isNewEntity?: boolean | (() => boolean);
129
+
108
130
  /**
109
131
  * An optional schema source describing how to load the schema and access
110
132
  * the entity's data. When present, the page can read fields from the source
@@ -136,6 +158,8 @@ export class EntityPageState<T, V extends FieldValues = FieldValues>
136
158
 
137
159
  _entity: T | null = null;
138
160
  _schema: Schema | null = null;
161
+ _loadedSchema: LoadedSchema<T> | null = null;
162
+ private readonly _isNewEntity?: boolean | (() => boolean);
139
163
  private readonly _parentPageId?: string;
140
164
  private readonly _parentPath?: string;
141
165
  private readonly _parentReferrer?: string;
@@ -175,10 +199,13 @@ export class EntityPageState<T, V extends FieldValues = FieldValues>
175
199
  _routerState: WixPatternsRouterState | null = null;
176
200
 
177
201
  readonly formPage: FormPageState<V>;
202
+ readonly deleteActionState: EntityPageDeleteActionState<T>;
178
203
 
179
204
  readonly events = new EventEmitter() as TypedEmitter<{
180
205
  save: () => void;
181
206
  saveError: (err: unknown) => void;
207
+ delete: () => void;
208
+ deleteError: (err: unknown) => void;
182
209
  }>;
183
210
 
184
211
  constructor(params: EntityPageStateParams<T, V>) {
@@ -188,6 +215,7 @@ export class EntityPageState<T, V extends FieldValues = FieldValues>
188
215
  this.saveErrorToast = params.saveErrorToast;
189
216
  this.formPage = new FormPageState<V>({ form: params.form });
190
217
  this._parentPageId = params.parentPageId;
218
+ this._isNewEntity = params.isNewEntity;
191
219
  this.transformEntityToCollectionItem =
192
220
  params.transformEntityToCollectionItem || ((anEntity: T) => anEntity);
193
221
  this._parentPath = params.parentPath;
@@ -195,6 +223,19 @@ export class EntityPageState<T, V extends FieldValues = FieldValues>
195
223
  this.schemaSource = params.schemaSource;
196
224
 
197
225
  this.container = params.container;
226
+ this.deleteActionState = new EntityPageDeleteActionState<T>({
227
+ container: this.container,
228
+ deleteAction: params.deleteAction,
229
+ schemaSource: this.schemaSource,
230
+ getEntity: () => this.entity,
231
+ getLoadedSchema: () => this.loadedSchema,
232
+ transformEntityToCollectionItem: this.transformEntityToCollectionItem,
233
+ onDeleted: action((deletedCollectionItem) =>
234
+ this.handleEntityDeleted(deletedCollectionItem),
235
+ ),
236
+ emitDelete: () => this.events.emit('delete'),
237
+ emitDeleteError: (err) => this.events.emit('deleteError', err),
238
+ });
198
239
 
199
240
  this._routerState = params.routerState ?? null;
200
241
 
@@ -220,6 +261,8 @@ export class EntityPageState<T, V extends FieldValues = FieldValues>
220
261
  setEntity: action,
221
262
  _schema: observable.ref,
222
263
  setSchema: action,
264
+ _loadedSchema: observable.ref,
265
+ setLoadedSchema: action,
223
266
  customColumnsState: observable.ref,
224
267
  isFormDirty: computed,
225
268
  _withinRouter: computed,
@@ -267,6 +310,7 @@ export class EntityPageState<T, V extends FieldValues = FieldValues>
267
310
  ]);
268
311
 
269
312
  this.setEntity(data.entity ?? null);
313
+ this.setLoadedSchema(loadedSchema ?? null);
270
314
  // Don't overwrite a schema something already set. A fields card mirrors the
271
315
  // schema its field mutations merge into, and `loadSchema` is memoized — so
272
316
  // setting it here again would put the pre-mutation fields map back and drop
@@ -303,6 +347,14 @@ export class EntityPageState<T, V extends FieldValues = FieldValues>
303
347
  return this._schema;
304
348
  }
305
349
 
350
+ setLoadedSchema(loadedSchema: LoadedSchema<T> | null) {
351
+ this._loadedSchema = loadedSchema;
352
+ }
353
+
354
+ get loadedSchema(): LoadedSchema<T> | null {
355
+ return this._loadedSchema;
356
+ }
357
+
306
358
  get isFetching() {
307
359
  return this.formPage.isFetching;
308
360
  }
@@ -336,10 +388,23 @@ export class EntityPageState<T, V extends FieldValues = FieldValues>
336
388
  this.navigateToParent();
337
389
  }
338
390
 
391
+ private get _isExistingEntity(): boolean {
392
+ const isNewEntity =
393
+ typeof this._isNewEntity === 'function'
394
+ ? this._isNewEntity()
395
+ : this._isNewEntity;
396
+ const isRouteKnown = isNewEntity !== undefined;
397
+ return isRouteKnown ? !isNewEntity : !!this._entity;
398
+ }
399
+
339
400
  navigateToParent(updatedEntity?: any) {
340
- const entityStringKey = this._entity ? '_updatedEntity' : '_createdEntity';
341
- const entityObject = { [entityStringKey]: updatedEntity };
401
+ const entityStringKey = this._isExistingEntity
402
+ ? '_updatedEntity'
403
+ : '_createdEntity';
404
+ this.navigateToParentWithState({ [entityStringKey]: updatedEntity });
405
+ }
342
406
 
407
+ navigateToParentWithState(entityObject: Record<string, unknown>) {
343
408
  if (this._withinRouter) {
344
409
  this._routerState!.navigate(this._parentPath!, { state: entityObject });
345
410
  } else {
@@ -407,6 +472,11 @@ export class EntityPageState<T, V extends FieldValues = FieldValues>
407
472
  });
408
473
  }
409
474
 
475
+ private handleEntityDeleted(deletedCollectionItem: any) {
476
+ this.isSubmitSuccessful = true;
477
+ this.navigateToParentWithState({ _deletedEntity: deletedCollectionItem });
478
+ }
479
+
410
480
  async handleSubmit(e?: React.BaseSyntheticEvent) {
411
481
  if (this.formPage.submitTask.status.isLoading) {
412
482
  return;
@@ -1,3 +1,4 @@
1
1
  export * from './EntityPageState';
2
+ export * from './EntityPageDeleteActionState';
2
3
  export * from './useEntityPageHeader';
3
4
  export * from './useEntityPageContent';
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "FormPageHeader3029584173";
8
+ var _namespace_ = "FormPageHeader2182836129";
9
9
  var _style_ = classesRuntime.bind(null, _namespace_);
10
10
 
11
11
  export var cssStates = statesRuntime.bind(null, _namespace_);
@@ -13,7 +13,7 @@ export var style = _style_;
13
13
  export var st: import("@stylable/runtime").STFunction = _style_;
14
14
 
15
15
  export var namespace = _namespace_;
16
- export var classes = {"root":"FormPageHeader3029584173__root"};
16
+ export var classes = {"root":"FormPageHeader2182836129__root"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -12,6 +12,7 @@ interface WixPatternsRouterStateParams {
12
12
  export type RouteState = {
13
13
  _createdEntity?: any;
14
14
  _updatedEntity?: any;
15
+ _deletedEntity?: any;
15
16
  _chosenEntity?: any;
16
17
  } | null;
17
18
 
@@ -29,6 +29,7 @@ export * from './TableFoldersState';
29
29
  export * from './CustomFields';
30
30
  export * from './TableGridSwitchFoldersState';
31
31
  export * from './EntityPage/EntityPageState';
32
+ export * from './EntityPage/EntityPageDeleteActionState';
32
33
  export * from './SettingsPage/SettingsPageState';
33
34
  export * from './NestedTableState';
34
35
  export * from './ExtensionMenuItemsState';
@@ -1,3 +1,3 @@
1
- .CardContainer2447633207__root.CardContainer2447633207--mobile{border-radius:0}.CmsFieldForm2298218345__fullBleedDivider{margin-top:var(--wds-space-300, 18px);margin-inline:calc(-1*var(--wds-custom-modal-content-padding-horizontal, 24px))}.CmsFieldModal4037089959__modal{--wds-custom-modal-content-padding-vertical:0}.ValidationAndDefaultsSection2505763082__accordionWrapper{margin-inline:calc(-1*var(--wds-custom-modal-content-padding-horizontal, 24px))}.CharactersLimitInput1647829329__field{flex:1;min-width:0}.Collapse4271225488__root{transition-property:height;transition-timing-function:cubic-bezier(.4,0,.2,1)}.Collapse4271225488__exit{height:0}.CollectionPage633871647__root [data-hook=page-header-wrapper]{--wds-space-300:18px}.CollectionPage633871647__root.CollectionPage633871647--mobile{--wds-page-header-padding-horizontal:0;--wds-page-header-padding-horizontal-small:0;--wds-color-fill-surface-sunken:#ffffff}.CollectionPage633871647__root.CollectionPage633871647--panel{overflow:hidden;position:relative}.CollectionSectionHeader17716278__summaryIcon{display:flex;color:var(--wds-color-text-standard-secondary)}.CollectionTable1652369058__root td{vertical-align:middle}.CollectionTable1652369058__root.CollectionTable1652369058--mobile td:first-child{padding-left:18px}.CollectionTable1652369058__root.CollectionTable1652369058--mobile td:last-child{padding-right:18px}.CollectionTableWSRTable3457958129__root.CollectionTableWSRTable3457958129--resizable table{min-width:100%}.CollectionTableWSRTable3457958129__root.CollectionTableWSRTable3457958129--resizable [data-hook=table-resize-handle]{right:-4px!important;z-index:1}.CollectionToolbar1210449187__root.CollectionToolbar1210449187--harmony .CollectionToolbar1210449187__right [data-hook=horizontal-overflow-box]>*{margin-inline-start:0}.CollectionToolbar1210449187__left{min-width:0}.CollectionToolbar1210449187__left.CollectionToolbar1210449187--expandable{flex:auto}.CollectionToolbar1210449187__left.CollectionToolbar1210449187--title>*{width:100%}.CollectionToolbar1210449187__root.CollectionToolbar1210449187---responsiveMode-5-title .CollectionToolbar1210449187__left{flex:1 100;min-width:50px}.CollectionToolbar1210449187__root.CollectionToolbar1210449187---responsiveMode-4-tabs .CollectionToolbar1210449187__left,.CollectionToolbar1210449187__root.CollectionToolbar1210449187---responsiveMode-4-tabs .CollectionToolbar1210449187__left.CollectionToolbar1210449187--expandable{flex:1 100 auto;min-width:140px}.CollectionToolbar1210449187__root.CollectionToolbar1210449187---responsiveMode-4-tabs .CollectionToolbar1210449187__left>*{flex-shrink:1;min-width:0}.CollectionToolbar1210449187__root .CollectionToolbar1210449187__right{justify-content:flex-end!important;flex-grow:1;flex-shrink:1;flex-basis:auto}.CollectionToolbar1210449187__root.CollectionToolbar1210449187--views .CollectionToolbar1210449187__right{min-width:0;flex-grow:1;flex-shrink:0;flex-basis:0}.CollectionToolbar1210449187__root.CollectionToolbar1210449187---responsiveMode-4-tabs .CollectionToolbar1210449187__right,.CollectionToolbar1210449187__root.CollectionToolbar1210449187---responsiveMode-5-title .CollectionToolbar1210449187__right{flex:0 1 auto;min-width:0}.CollectionToolbar1210449187__root .CollectionToolbar1210449187__right.CollectionToolbar1210449187__fullWidth{margin-inline-start:0!important}.CollectionToolbar1210449187__root.CollectionToolbar1210449187--mobile:not(.CollectionToolbar1210449187--harmony){padding-right:18px;padding-left:18px}.SearchOrCustomFilter1982754589__search{min-width:140px;max-width:240px;flex:1 0}.SearchOrCustomFilter1982754589__searchMobile{justify-content:flex-end;position:absolute;right:18px}.SearchOrCustomFilter1982754589__searchMobile:not(.SearchOrCustomFilter1982754589--expandable){left:18px}.SearchOrCustomFilter1982754589__searchMobile.SearchOrCustomFilter1982754589--expandable.SearchOrCustomFilter1982754589--expanded{left:18px}.AutoCompleteReadonly3466311859__root.AutoCompleteReadonly3466311859--disableEditing{cursor:pointer}.AutoCompleteReadonly3466311859__root.AutoCompleteReadonly3466311859--disableEditing input{cursor:pointer}.ViewsDropdown240576298__root{width:200px}.DragHandle756875483__root{display:flex;align-items:center}.DragHandle756875483__root:not(.DragHandle756875483--disabled){cursor:grab;color:#a8caff}.DragHandle756875483__root.DragHandle756875483--disabled{color:#acafc4}.DragHandle756875483__root:focus-visible:not(.DragHandle756875483--disabled){outline:0;box-shadow:0 0 0 3px #a6d0ff}.DragHandle756875483__root.DragHandle756875483--disabled{pointer-events:none}.DragHandle756875483__root.DragHandle756875483--dragging:not(.DragHandle756875483--disabled){cursor:grabbing}td:has(>.EditableCell2550432053__root){position:relative;overflow:visible}tr:has(.EditableCell2550432053__root)>td{padding-top:0!important;padding-bottom:0!important;height:36px}.EditableCell2550432053__root{display:flex;align-items:center;padding:0;position:absolute;top:-1px;left:-1px;right:0;bottom:0;overflow:hidden;box-sizing:border-box;outline:0;cursor:default;user-select:none;background:var(--wds-color-fill-surface-raised, var(--wsr-color-D80, #ffffff));border:var(--wds-border-width-default, 1px) solid var(--wds-color-border-dark-secondary, var(--wsr-color-D60, #dfe5eb))}tr:first-child>td>.EditableCell2550432053__root{top:0}.EditableCell2550432053__root:hover:not(.EditableCell2550432053--rowActive):not(.EditableCell2550432053--rangeSelected){background:var(--wds-color-black-750, #f6f7f9)}.EditableCell2550432053__root.EditableCell2550432053--rowActive:not(.EditableCell2550432053--rangeSelected){background:var(--wds-color-black-750, #f6f7f9);box-shadow:inset 0 22px 18px -18px rgba(0,6,36,.1)}.EditableCell2550432053__root.EditableCell2550432053--rowActive:hover:not(.EditableCell2550432053--focused):not(.EditableCell2550432053--rangeSelected){border-color:var(--wds-input-border-color-hover, var(--wsr-color-B40, #d6e6fe));box-shadow:inset 0 8px 6px -6px rgba(0,6,36,.05)}.EditableCell2550432053__root.EditableCell2550432053--focused:not(.EditableCell2550432053--rangeSelected){border-color:var(--wds-input-border-color-focus, var(--wsr-color-B10, #116dff));box-shadow:inset 0 8px 6px -6px rgba(0,6,36,.05);z-index:2}.EditableCell2550432053__root.EditableCell2550432053--editing{z-index:3;user-select:auto;overflow:visible;background:var(--wds-color-fill-surface-raised, var(--wsr-color-D80, #ffffff))}.EditableCell2550432053__root.EditableCell2550432053--editing:not(.EditableCell2550432053--showEditWhenFocused){bottom:auto;min-height:calc(100% + 1px)}.EditableCell2550432053__root.EditableCell2550432053--focused.EditableCell2550432053--growable{bottom:auto;min-height:calc(100% + 1px);z-index:3}.EditableCell2550432053__root:has([data-inner-focused]){overflow:visible;z-index:3;border-color:var(--wds-input-border-color-focus, var(--wsr-color-B10, #116dff));box-shadow:inset 0 8px 6px -6px rgba(0,6,36,.05)}.EditableCell2550432053__root.EditableCell2550432053--rangeSelected{background:rgba(56,153,236,.08)}.EditableCell2550432053__root.EditableCell2550432053--selectionTop:not(.EditableCell2550432053--editing){border-top:2px solid var(--wsr-color-B10)}.EditableCell2550432053__root.EditableCell2550432053--selectionBottom:not(.EditableCell2550432053--editing){border-bottom:2px solid var(--wsr-color-B10)}.EditableCell2550432053__root.EditableCell2550432053--selectionLeft:not(.EditableCell2550432053--editing){border-left:2px solid var(--wsr-color-B10)}.EditableCell2550432053__root.EditableCell2550432053--selectionRight:not(.EditableCell2550432053--editing){border-right:2px solid var(--wsr-color-B10)}.EditableCell2550432053__root.EditableCell2550432053--invalid,.EditableCell2550432053__root.EditableCell2550432053--invalid.EditableCell2550432053--rowActive:hover:not(.EditableCell2550432053--focused):not(.EditableCell2550432053--rangeSelected),.EditableCell2550432053__root.EditableCell2550432053--invalid.EditableCell2550432053--focused:not(.EditableCell2550432053--rangeSelected),.EditableCell2550432053__root.EditableCell2550432053--invalid:has([data-inner-focused]){border-color:var(--wds-color-red-100, var(--wsr-color-R10, #e62214))}.EditableCell2550432053__root.EditableCell2550432053--copiedTop:not(.EditableCell2550432053--selectionTop){border-top:2px dashed var(--wsr-color-B10)}.EditableCell2550432053__root.EditableCell2550432053--copiedBottom:not(.EditableCell2550432053--selectionBottom){border-bottom:2px dashed var(--wsr-color-B10)}.EditableCell2550432053__root.EditableCell2550432053--copiedLeft:not(.EditableCell2550432053--selectionLeft){border-left:2px dashed var(--wsr-color-B10)}.EditableCell2550432053__root.EditableCell2550432053--copiedRight:not(.EditableCell2550432053--selectionRight){border-right:2px dashed var(--wsr-color-B10)}.EditableCell2550432053__root.EditableCell2550432053--invalid:not(.EditableCell2550432053--focused):not(.EditableCell2550432053--editing){z-index:1}.EditableCell2550432053__errorMessage{position:absolute;top:calc(100% + 4px);left:-1px;z-index:4;box-sizing:border-box;width:max-content;max-width:240px;padding:6px 8px;pointer-events:none;border-radius:var(--wds-popover-border-radius, var(--wds-border-radius-400, 8px));background:var(--wds-popover-fill, var(--wds-color-fill-surface-overlay, var(--wsr-color-D80, #ffffff)));box-shadow:var(--wds-shadow-surface-overlay, 0 0 18px rgba(0, 6, 36, 0.1), 0 6px 6px rgba(0, 6, 36, 0.05))}.HeaderActionsPopover1093010872__root{opacity:0;transition:opacity .15s}th:hover .HeaderActionsPopover1093010872__root,.HeaderActionsPopover1093010872__root[data-menu-open=true],.HeaderActionsPopover1093010872__root:focus-within{opacity:1}.CellViewLayout4150823277__root{width:100%;height:100%;padding:6px 8px;box-sizing:border-box;display:flex;align-items:center;overflow:clip}.CellViewLayout4150823277__root>*{flex:1;min-width:0}.Edit1960941028__addressInput{width:100%;height:100%;display:flex;align-items:center;box-sizing:border-box;padding-left:8px;padding-right:8px;min-width:0;overflow:hidden}.Edit1960941028__addressInput>div,.Edit1960941028__addressInput>div>div,.Edit1960941028__addressInput>div>div>div{width:100%;min-width:0}.Edit109297893__jsonInput{width:100%;margin-left:-1px}.Edit1596998599__booleanEdit{display:flex;align-items:center;margin-left:8px}.View207708107__booleanView{display:flex;align-items:center;margin-left:8px;pointer-events:none}.Edit94166431__root{width:100%;height:100%;display:flex;align-items:center}.Edit4219668625__dateInput{width:100%;margin-left:-1px}.Edit1943091834__half{min-width:0;position:relative;display:flex;align-items:center;box-sizing:border-box}.Edit1943091834__dateHalf{flex:60 1 0}.Edit1943091834__timeHalf{flex:40 1 0}.Edit1943091834__divider{width:1px;height:16px;background:var(--wds-color-border-standard, #dfe5eb);flex-shrink:0}.Edit1943091834__passiveText{padding:6px 8px;font-size:14px;line-height:18px;font-family:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;width:100%}.Edit1943091834__placeholderText{color:var(--wds-color-text-placeholder, #868aa5)}.View133343380__leaf{min-width:0;padding:6px 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:18px;font-family:inherit;box-sizing:border-box}.View133343380__datePart{flex:60 1 0}.View133343380__timePart{flex:40 1 0}.View133343380__placeholder{color:var(--wds-color-text-placeholder, #868aa5)}.View133343380__divider{width:1px;height:16px;background:var(--wds-color-border-standard, #dfe5eb);flex-shrink:0}.Edit2257242858__emailInput{width:100%;margin-left:-1px}.Edit2246019872__numberInput{width:100%;margin-right:2px}.Edit2246019872__numberInput input{text-align:right;direction:ltr}.View2899761164__textView{width:100%;text-align:right}.Edit3247671627__jsonInput{width:100%;margin-left:-1px}.Edit604603312__selectInput{width:100%}.Edit1232124440__editWrapper{width:100%}.Edit1232124440__inputArea{background-color:transparent;width:100%}.Edit1232124440__inputArea input,.Edit1232124440__inputArea textarea{font-size:var(--wds-font-size-body-small, var(--wsr-text-font-size-small, 14px))!important;line-height:var(--wds-font-line-height-body-small, var(--wsr-text-line-height-small, 18px))!important}.Edit1232124440__inputArea input{padding:6px 8px!important;outline:0!important;border:0!important;box-sizing:border-box!important}.Edit1232124440__inputArea>div{border:0!important;border-radius:0!important;box-shadow:none!important;background-color:transparent!important;outline:0!important}.Edit1232124440__inputArea>div::after{box-shadow:none!important}.Edit1232124440__inputArea textarea{padding:6px 8px!important;outline:0!important;border:0!important;box-sizing:border-box!important}.Edit1232124440__inputArea:not(.Edit1232124440--isFocused) textarea{resize:none;overflow:hidden}.Edit1232124440__inputArea:not(.Edit1232124440--isFocused) textarea::-webkit-scrollbar{display:none}.Edit1720697502__wrapper{position:relative;width:100%;height:100%;display:flex;align-items:center;--wds-input-value-font-size-small:var(--wds-font-size-body-small);--wds-input-value-font-line-height-small:var(
1
+ .CardContainer2064326202__root.CardContainer2064326202--mobile{border-radius:0}.CmsFieldForm3961332529__fullBleedDivider{margin-top:var(--wds-space-300, 18px);margin-inline:calc(-1*var(--wds-custom-modal-content-padding-horizontal, 24px))}.CmsFieldModal2847950882__modal{--wds-custom-modal-content-padding-vertical:0}.ValidationAndDefaultsSection2004729239__accordionWrapper{margin-inline:calc(-1*var(--wds-custom-modal-content-padding-horizontal, 24px))}.CharactersLimitInput3309667009__field{flex:1;min-width:0}.Collapse4056813971__root{transition-property:height;transition-timing-function:cubic-bezier(.4,0,.2,1)}.Collapse4056813971__exit{height:0}.CollectionPage1904316449__root [data-hook=page-header-wrapper]{--wds-space-300:18px}.CollectionPage1904316449__root.CollectionPage1904316449--mobile{--wds-page-header-padding-horizontal:0;--wds-page-header-padding-horizontal-small:0;--wds-color-fill-surface-sunken:#ffffff}.CollectionPage1904316449__root.CollectionPage1904316449--panel{overflow:hidden;position:relative}.CollectionSectionHeader3946478370__summaryIcon{display:flex;color:var(--wds-color-text-standard-secondary)}.CollectionTable803127684__root td{vertical-align:middle}.CollectionTable803127684__root.CollectionTable803127684--mobile td:first-child{padding-left:18px}.CollectionTable803127684__root.CollectionTable803127684--mobile td:last-child{padding-right:18px}.CollectionTableWSRTable2817894818__root.CollectionTableWSRTable2817894818--resizable table{min-width:100%}.CollectionTableWSRTable2817894818__root.CollectionTableWSRTable2817894818--resizable [data-hook=table-resize-handle]{right:-4px!important;z-index:1}.CollectionToolbar2509914078__root.CollectionToolbar2509914078--harmony .CollectionToolbar2509914078__right [data-hook=horizontal-overflow-box]>*{margin-inline-start:0}.CollectionToolbar2509914078__left{min-width:0}.CollectionToolbar2509914078__left.CollectionToolbar2509914078--expandable{flex:auto}.CollectionToolbar2509914078__left.CollectionToolbar2509914078--title>*{width:100%}.CollectionToolbar2509914078__root.CollectionToolbar2509914078---responsiveMode-5-title .CollectionToolbar2509914078__left{flex:1 100;min-width:50px}.CollectionToolbar2509914078__root.CollectionToolbar2509914078---responsiveMode-4-tabs .CollectionToolbar2509914078__left,.CollectionToolbar2509914078__root.CollectionToolbar2509914078---responsiveMode-4-tabs .CollectionToolbar2509914078__left.CollectionToolbar2509914078--expandable{flex:1 100 auto;min-width:140px}.CollectionToolbar2509914078__root.CollectionToolbar2509914078---responsiveMode-4-tabs .CollectionToolbar2509914078__left>*{flex-shrink:1;min-width:0}.CollectionToolbar2509914078__root .CollectionToolbar2509914078__right{justify-content:flex-end!important;flex-grow:1;flex-shrink:1;flex-basis:auto}.CollectionToolbar2509914078__root.CollectionToolbar2509914078--views .CollectionToolbar2509914078__right{min-width:0;flex-grow:1;flex-shrink:0;flex-basis:0}.CollectionToolbar2509914078__root.CollectionToolbar2509914078---responsiveMode-4-tabs .CollectionToolbar2509914078__right,.CollectionToolbar2509914078__root.CollectionToolbar2509914078---responsiveMode-5-title .CollectionToolbar2509914078__right{flex:0 1 auto;min-width:0}.CollectionToolbar2509914078__root .CollectionToolbar2509914078__right.CollectionToolbar2509914078__fullWidth{margin-inline-start:0!important}.CollectionToolbar2509914078__root.CollectionToolbar2509914078--mobile:not(.CollectionToolbar2509914078--harmony){padding-right:18px;padding-left:18px}.SearchOrCustomFilter2736362716__search{min-width:140px;max-width:240px;flex:1 0}.SearchOrCustomFilter2736362716__searchMobile{justify-content:flex-end;position:absolute;right:18px}.SearchOrCustomFilter2736362716__searchMobile:not(.SearchOrCustomFilter2736362716--expandable){left:18px}.SearchOrCustomFilter2736362716__searchMobile.SearchOrCustomFilter2736362716--expandable.SearchOrCustomFilter2736362716--expanded{left:18px}.AutoCompleteReadonly3613629120__root.AutoCompleteReadonly3613629120--disableEditing{cursor:pointer}.AutoCompleteReadonly3613629120__root.AutoCompleteReadonly3613629120--disableEditing input{cursor:pointer}.ViewsDropdown655099976__root{width:200px}.DragHandle3204942429__root{display:flex;align-items:center}.DragHandle3204942429__root:not(.DragHandle3204942429--disabled){cursor:grab;color:#a8caff}.DragHandle3204942429__root.DragHandle3204942429--disabled{color:#acafc4}.DragHandle3204942429__root:focus-visible:not(.DragHandle3204942429--disabled){outline:0;box-shadow:0 0 0 3px #a6d0ff}.DragHandle3204942429__root.DragHandle3204942429--disabled{pointer-events:none}.DragHandle3204942429__root.DragHandle3204942429--dragging:not(.DragHandle3204942429--disabled){cursor:grabbing}td:has(>.EditableCell3876522111__root){position:relative;overflow:visible}tr:has(.EditableCell3876522111__root)>td{padding-top:0!important;padding-bottom:0!important;height:36px}.EditableCell3876522111__root{display:flex;align-items:center;padding:0;position:absolute;top:-1px;left:-1px;right:0;bottom:0;overflow:hidden;box-sizing:border-box;outline:0;cursor:default;user-select:none;background:var(--wds-color-fill-surface-raised, var(--wsr-color-D80, #ffffff));border:var(--wds-border-width-default, 1px) solid var(--wds-color-border-dark-secondary, var(--wsr-color-D60, #dfe5eb))}tr:first-child>td>.EditableCell3876522111__root{top:0}.EditableCell3876522111__root:hover:not(.EditableCell3876522111--rowActive):not(.EditableCell3876522111--rangeSelected){background:var(--wds-color-black-750, #f6f7f9)}.EditableCell3876522111__root.EditableCell3876522111--rowActive:not(.EditableCell3876522111--rangeSelected){background:var(--wds-color-black-750, #f6f7f9);box-shadow:inset 0 22px 18px -18px rgba(0,6,36,.1)}.EditableCell3876522111__root.EditableCell3876522111--rowActive:hover:not(.EditableCell3876522111--focused):not(.EditableCell3876522111--rangeSelected){border-color:var(--wds-input-border-color-hover, var(--wsr-color-B40, #d6e6fe));box-shadow:inset 0 8px 6px -6px rgba(0,6,36,.05)}.EditableCell3876522111__root.EditableCell3876522111--focused:not(.EditableCell3876522111--rangeSelected){border-color:var(--wds-input-border-color-focus, var(--wsr-color-B10, #116dff));box-shadow:inset 0 8px 6px -6px rgba(0,6,36,.05);z-index:2}.EditableCell3876522111__root.EditableCell3876522111--editing{z-index:3;user-select:auto;overflow:visible;background:var(--wds-color-fill-surface-raised, var(--wsr-color-D80, #ffffff))}.EditableCell3876522111__root.EditableCell3876522111--editing:not(.EditableCell3876522111--showEditWhenFocused){bottom:auto;min-height:calc(100% + 1px)}.EditableCell3876522111__root.EditableCell3876522111--focused.EditableCell3876522111--growable{bottom:auto;min-height:calc(100% + 1px);z-index:3}.EditableCell3876522111__root:has([data-inner-focused]){overflow:visible;z-index:3;border-color:var(--wds-input-border-color-focus, var(--wsr-color-B10, #116dff));box-shadow:inset 0 8px 6px -6px rgba(0,6,36,.05)}.EditableCell3876522111__root.EditableCell3876522111--rangeSelected{background:rgba(56,153,236,.08)}.EditableCell3876522111__root.EditableCell3876522111--selectionTop:not(.EditableCell3876522111--editing){border-top:2px solid var(--wsr-color-B10)}.EditableCell3876522111__root.EditableCell3876522111--selectionBottom:not(.EditableCell3876522111--editing){border-bottom:2px solid var(--wsr-color-B10)}.EditableCell3876522111__root.EditableCell3876522111--selectionLeft:not(.EditableCell3876522111--editing){border-left:2px solid var(--wsr-color-B10)}.EditableCell3876522111__root.EditableCell3876522111--selectionRight:not(.EditableCell3876522111--editing){border-right:2px solid var(--wsr-color-B10)}.EditableCell3876522111__root.EditableCell3876522111--invalid,.EditableCell3876522111__root.EditableCell3876522111--invalid.EditableCell3876522111--rowActive:hover:not(.EditableCell3876522111--focused):not(.EditableCell3876522111--rangeSelected),.EditableCell3876522111__root.EditableCell3876522111--invalid.EditableCell3876522111--focused:not(.EditableCell3876522111--rangeSelected),.EditableCell3876522111__root.EditableCell3876522111--invalid:has([data-inner-focused]){border-color:var(--wds-color-red-100, var(--wsr-color-R10, #e62214))}.EditableCell3876522111__root.EditableCell3876522111--copiedTop:not(.EditableCell3876522111--selectionTop){border-top:2px dashed var(--wsr-color-B10)}.EditableCell3876522111__root.EditableCell3876522111--copiedBottom:not(.EditableCell3876522111--selectionBottom){border-bottom:2px dashed var(--wsr-color-B10)}.EditableCell3876522111__root.EditableCell3876522111--copiedLeft:not(.EditableCell3876522111--selectionLeft){border-left:2px dashed var(--wsr-color-B10)}.EditableCell3876522111__root.EditableCell3876522111--copiedRight:not(.EditableCell3876522111--selectionRight){border-right:2px dashed var(--wsr-color-B10)}.EditableCell3876522111__root.EditableCell3876522111--invalid:not(.EditableCell3876522111--focused):not(.EditableCell3876522111--editing){z-index:1}.EditableCell3876522111__errorMessage{position:absolute;top:calc(100% + 4px);left:-1px;z-index:4;box-sizing:border-box;width:max-content;max-width:240px;padding:6px 8px;pointer-events:none;border-radius:var(--wds-popover-border-radius, var(--wds-border-radius-400, 8px));background:var(--wds-popover-fill, var(--wds-color-fill-surface-overlay, var(--wsr-color-D80, #ffffff)));box-shadow:var(--wds-shadow-surface-overlay, 0 0 18px rgba(0, 6, 36, 0.1), 0 6px 6px rgba(0, 6, 36, 0.05))}.HeaderActionsPopover3190684104__root{opacity:0;transition:opacity .15s}th:hover .HeaderActionsPopover3190684104__root,.HeaderActionsPopover3190684104__root[data-menu-open=true],.HeaderActionsPopover3190684104__root:focus-within{opacity:1}.CellViewLayout3153677172__root{width:100%;height:100%;padding:6px 8px;box-sizing:border-box;display:flex;align-items:center;overflow:clip}.CellViewLayout3153677172__root>*{flex:1;min-width:0}.Edit1063276467__addressInput{width:100%;height:100%;display:flex;align-items:center;box-sizing:border-box;padding-left:8px;padding-right:8px;min-width:0;overflow:hidden}.Edit1063276467__addressInput>div,.Edit1063276467__addressInput>div>div,.Edit1063276467__addressInput>div>div>div{width:100%;min-width:0}.Edit711841012__jsonInput{width:100%;margin-left:-1px}.Edit603573699__booleanEdit{display:flex;align-items:center;margin-left:8px}.View2605942313__booleanView{display:flex;align-items:center;margin-left:8px;pointer-events:none}.Edit2460520760__root{width:100%;height:100%;display:flex;align-items:center}.Edit1216610466__dateInput{width:100%;margin-left:-1px}.Edit848650354__half{min-width:0;position:relative;display:flex;align-items:center;box-sizing:border-box}.Edit848650354__dateHalf{flex:60 1 0}.Edit848650354__timeHalf{flex:40 1 0}.Edit848650354__divider{width:1px;height:16px;background:var(--wds-color-border-standard, #dfe5eb);flex-shrink:0}.Edit848650354__passiveText{padding:6px 8px;font-size:14px;line-height:18px;font-family:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;width:100%}.Edit848650354__placeholderText{color:var(--wds-color-text-placeholder, #868aa5)}.View3135763667__leaf{min-width:0;padding:6px 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:18px;font-family:inherit;box-sizing:border-box}.View3135763667__datePart{flex:60 1 0}.View3135763667__timePart{flex:40 1 0}.View3135763667__placeholder{color:var(--wds-color-text-placeholder, #868aa5)}.View3135763667__divider{width:1px;height:16px;background:var(--wds-color-border-standard, #dfe5eb);flex-shrink:0}.Edit3363135857__emailInput{width:100%;margin-left:-1px}.Edit2898340975__numberInput{width:100%;margin-right:2px}.Edit2898340975__numberInput input{text-align:right;direction:ltr}.View3128311539__textView{width:100%;text-align:right}.Edit3548293290__jsonInput{width:100%;margin-left:-1px}.Edit1893218128__selectInput{width:100%}.Edit1088589481__editWrapper{width:100%}.Edit1088589481__inputArea{background-color:transparent;width:100%}.Edit1088589481__inputArea input,.Edit1088589481__inputArea textarea{font-size:var(--wds-font-size-body-small, var(--wsr-text-font-size-small, 14px))!important;line-height:var(--wds-font-line-height-body-small, var(--wsr-text-line-height-small, 18px))!important}.Edit1088589481__inputArea input{padding:6px 8px!important;outline:0!important;border:0!important;box-sizing:border-box!important}.Edit1088589481__inputArea>div{border:0!important;border-radius:0!important;box-shadow:none!important;background-color:transparent!important;outline:0!important}.Edit1088589481__inputArea>div::after{box-shadow:none!important}.Edit1088589481__inputArea textarea{padding:6px 8px!important;outline:0!important;border:0!important;box-sizing:border-box!important}.Edit1088589481__inputArea:not(.Edit1088589481--isFocused) textarea{resize:none;overflow:hidden}.Edit1088589481__inputArea:not(.Edit1088589481--isFocused) textarea::-webkit-scrollbar{display:none}.Edit1479925910__wrapper{position:relative;width:100%;height:100%;display:flex;align-items:center;--wds-input-value-font-size-small:var(--wds-font-size-body-small);--wds-input-value-font-line-height-small:var(
2
2
  --wds-font-line-height-body-small
3
- )}.Edit1720697502__overlay{position:absolute;inset:2px;pointer-events:none;background:var(--wds-color-background-elevation-base, #fff)}.Edit3043044264__urlInput{width:100%;margin-left:-1px}.View2333694355__textView{width:100%;padding:9px 12px;display:flex;align-items:center;justify-content:space-between}.View2333694355__urlText{flex:1;min-width:0}.View2333694355__suffix{flex-shrink:0;margin-left:10px}.View2333694355__textView.View2333694355--suffixOnHover:not(:hover) .View2333694355__suffix{display:none}.EmptyStateBase3521723780__root{min-height:230px;align-items:center}.EntityPagePlain1564940090__root.EntityPagePlain1564940090--mobile{--wds-page-header-padding-horizontal:0}.Fade602793137__root{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);opacity:1}.Fade602793137__root.Fade602793137--exit{opacity:0}.Heading2949301540__root{visibility:visible}.Heading2949301540__root.Heading2949301540--appearanceH2{font-size:28px!important;line-height:36px!important}.ImportStepUpload3472681618__fileUpload{width:100%}.InputOverflow346442707__root.InputOverflow346442707--selected:not(.InputOverflow346442707--focused) input::placeholder{color:#000624}@keyframes LoadingRow2952309050__gradientSwoosh{0%{background-position:50% 50%;background-size:150% 125%}15%{background-position:75% 40%;background-size:130% 115%}30%{background-position:50% 50%;background-size:120% 135%}60%{background-position:30% 50%;background-size:120% 135%}80%{background-position:10% 30%;background-size:130% 155%}to{background-position:40% 45%;background-size:125% 135%}}.LoadingRow2952309050__root{background-image:linear-gradient(60deg,rgba(255,255,255,.15)0,rgba(255,255,255,.15) 50%,rgba(95,242,174,.15) 100%),linear-gradient(284.81deg,#fff 67.18%,#91bbff 158.87%),linear-gradient(29deg,rgba(145,187,255,.6)0,#fff 40%,rgba(95,242,174,.6) 100%);height:100%;background-size:150% 125%;background-repeat:no-repeat;animation:LoadingRow2952309050__gradientSwoosh 2s ease-out infinite alternate}.MaxHeightText2835948940__root{opacity:1}.MaxHeightText2835948940__root.MaxHeightText2835948940--height24{line-height:24px}.MaxLines1746004319__root{overflow:hidden}.MaxLines1746004319__root.MaxLines1746004319--clamp{-webkit-box-orient:vertical;display:-webkit-box}.MultiBulkActionToolbar592642826__root{min-width:0}.MultiBulkActionToolbar592642826__leftGroupWrapper{padding-right:12px;min-width:0;flex-wrap:nowrap;align-items:center}.MultiBulkActionToolbar592642826__selectedCountItem{min-width:0;flex-shrink:1;white-space:nowrap;overflow:hidden}.MultiBulkActionToolbar592642826__selectedCountText{display:block;width:100%}.NestedTablePlaceholderStatesRow343384427__root td{padding:0!important;width:100%}.NestedTableRow2340955180__firstLevel td{padding-top:18px!important;padding-bottom:18px!important}.NestedTableRow2340955180__root:hover{background-color:#e7f0ff!important}.NestedTableRow2340955180__root.NestedTableRow2340955180--expandable{cursor:pointer}.NestedTableRow2340955180__placeholder td{padding:0!important;width:100%}.NestedTableRow2340955180__root:hover td:first-of-type::before,.NestedTableRow2340955180__parentHovered td:first-of-type::before{content:"";position:absolute;top:0;bottom:0;left:0;width:2px;background-color:#5999ff}.MultipleDragOverlayEffect2840141890__root{position:absolute;transform:translate(6px,6px);background-color:#fff;box-shadow:0 2px 4px 0 rgba(0,6,36,.12),0 0 6px 0 rgba(0,6,36,.12)}.NestedTableDragAndDropRow151064686__root.NestedTableDragAndDropRow151064686--draggingInto td{background-color:#e7f0ff!important}.PickerContent4222478660__root{display:flex}.PickerContentAdditionalStep751880777__titles{display:flex;justify-content:center;flex:1 1 auto;overflow:hidden;flex-direction:column}.PickerContentAdditionalStep751880777__suffix{display:flex;align-items:center;flex:0 0 auto;overflow:hidden}.PickerTableListItem391151476__root{box-sizing:border-box}.ScrollableContent1387600451__root.ScrollableContent1387600451--overflowY{overflow-y:auto}.ScrollableContent1387600451__root.ScrollableContent1387600451--overflowX{overflow-x:auto}.ScrollableContent1387600451__root.ScrollableContent1387600451--smooth{scroll-behavior:smooth}.SetupWidget2519865406__row{display:flex;flex-direction:column;overflow:clip;--wds-clickable-card-outline-border-color:var(--wds-color-border-dark-secondary, var(--wsr-color-D60, #DFE5EB))}.SetupWidget2519865406__row.SetupWidget2519865406--focused{--wds-clickable-card-outline-border-color:var(--wds-color-border-standard-primary-active, var(--wsr-color-B10, #116DFF))}.SetupWidget2519865406__row.SetupWidget2519865406--focused.SetupWidget2519865406--withBackground{--wds-color-fill-surface-default:var(--wds-color-fill-standard-tertiary-hover, var(--wsr-color-B60, #F4F7FF))}.SetupWidget2519865406__completedCta,.SetupWidget2519865406__secondaryCta{opacity:0;transition:opacity .25s ease-in-out}@media (hover:hover){.SetupWidget2519865406__row:hover .SetupWidget2519865406__completedCta,.SetupWidget2519865406__row:hover .SetupWidget2519865406__secondaryCta{opacity:1}}.SetupWidget2519865406__row:focus-within .SetupWidget2519865406__completedCta,.SetupWidget2519865406__row:focus-within .SetupWidget2519865406__secondaryCta,.SetupWidget2519865406__secondaryCta:focus-within{opacity:1}.SetupWidget2519865406__card{display:block;width:100%;border:0;border-radius:var(--wds-border-radius-400, 8px);background-color:var(--wds-color-fill-standard-tertiary, var(--wsr-color-D80, #FFFFFF));box-shadow:0 0 6px 0 rgba(0,6,36,.1),0 2px 4px 0 rgba(0,6,36,.05);overflow:clip;box-sizing:border-box;text-align:start;font:inherit;color:inherit;padding:0;margin:0}.SetupWidget2519865406__card.SetupWidget2519865406--primary{background-color:var(--wds-color-fill-standard-tertiary-hover, var(--wsr-color-B60, #F4F7FF))}.SetupWidget2519865406__card.SetupWidget2519865406--clickable{cursor:pointer}.SetupWidget2519865406__stepIcon{display:flex;align-items:center;flex-shrink:0;height:24px}.SetupWidget2519865406__chevron{display:flex;flex-shrink:0;color:var(--wds-color-text-standard-primary, var(--wsr-color-D10, #000624))}.SetupWidget2519865406__chevronDisabled{display:flex;flex-shrink:0;color:var(--wds-color-text-disabled, var(--wsr-color-D10-30, rgba(0, 6, 36, 0.30)))}.SetupWidget2519865406__inProgressLabel{--wds-color-text-standard-primary:var(--wds-color-text-urgent, var(--wsr-color-O10, #FE620F));text-transform:uppercase}.SkeletonCard3225100801__headerLoading{display:block!important}.SlidingModal3327522163__root{transition:transform .4s ease 0s;position:fixed;z-index:1}.SlidingModal3327522163__root.SlidingModal3327522163--overlay{transition:transform 0s ease 0s}.SlidingModal3327522163__root.SlidingModal3327522163---appendTo-6-parent{position:absolute}.SlidingModal3327522163__root.SlidingModal3327522163--inset{border-radius:var(--wds-side-panel-standard-corner-radius, 0);will-change:transform}.SlidingModal3327522163__root:not(.SlidingModal3327522163--exited){box-shadow:0 3px 24px 0 rgba(22,45,61,.18),0 8px 8px 0 rgba(22,45,61,.12)}.AddFieldColumnHeader3457306703__root{display:inline-flex;align-items:center;width:100%;min-width:0}.AddFieldColumnHeader3457306703__title{display:flex;width:100%;min-width:0}.AddFieldColumnHeader3457306703__hoverBridge{display:inline-block;padding:4px 13px 4px 4px;background:0 0}[data-content-element^=popover-content-add-field-popover-][data-hook=popover-content][class]{background:0 0;border:0;box-shadow:none;border-radius:0;padding:0}.TabsFilter3805733533__root .TabsFilter3805733533__title{color:var(--wds-tabs-label-fill, var(--wds-color-text-standard-primary, var(--wsr-color-D10, #000624)))}.TabsFilter3805733533__root.TabsFilter3805733533--selected .TabsFilter3805733533__title,.TabsFilter3805733533__root:hover .TabsFilter3805733533__title{color:var(--wds-tabs-label-fill-active, var(--wsr-color-B10, #116DFF))}.ManageTagsModal2716814328__root{display:flex}.ManageTagsModal2716814328__root.ManageTagsModal2716814328--harmony .wds_1_301_0_TableListItem__root{padding-inline-end:16px}.ManageTagsModal2716814328__root.ManageTagsModal2716814328--harmony .wds_1_301_0_TableListItem__optionsContainer{align-items:start}.ToolbarItem1072055600__root{min-width:0}.ToolbarItemBox2420370034__root{min-width:0}.ToolbarItemBox2420370034__root.ToolbarItemBox2420370034--removeStartPadding{margin-left:-24px}.ToolbarItemBox2420370034__root.ToolbarItemBox2420370034--expandable{flex:1 0}.common267139271__column{display:flex;flex-direction:column}.common267139271__fullHeight{height:100%;min-height:0}.CollectionPageHeader4273170589__root:not(.CollectionPageHeader4273170589--mobile){gap:12px}.CollectionPageHeader4273170589__root.CollectionPageHeader4273170589--mobile{flex-direction:column;padding-right:18px;padding-left:18px}.CollectionPageHeader4273170589__root.CollectionPageHeader4273170589--mobile>*{margin-left:0;margin-top:6px!important;height:auto}.FormPageHeader3029584173__root.FormPageHeader3029584173--mobile{flex-direction:column;padding-right:18px;padding-left:18px}.FormPageHeader3029584173__root.FormPageHeader3029584173--mobile>*{margin-left:0;margin-top:6px!important;height:auto}
3
+ )}.Edit1479925910__overlay{position:absolute;inset:2px;pointer-events:none;background:var(--wds-color-background-elevation-base, #fff)}.Edit3644570053__urlInput{width:100%;margin-left:-1px}.View923297067__textView{width:100%;padding:9px 12px;display:flex;align-items:center;justify-content:space-between}.View923297067__urlText{flex:1;min-width:0}.View923297067__suffix{flex-shrink:0;margin-left:10px}.View923297067__textView.View923297067--suffixOnHover:not(:hover) .View923297067__suffix{display:none}.EmptyStateBase4129790249__root{min-height:230px;align-items:center}.EntityPagePlain1646857300__root.EntityPagePlain1646857300--mobile{--wds-page-header-padding-horizontal:0}.Fade2249166449__root{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);opacity:1}.Fade2249166449__root.Fade2249166449--exit{opacity:0}.Heading121350323__root{visibility:visible}.Heading121350323__root.Heading121350323--appearanceH2{font-size:28px!important;line-height:36px!important}.ImportStepUpload1101526918__fileUpload{width:100%}.InputOverflow2520141165__root.InputOverflow2520141165--selected:not(.InputOverflow2520141165--focused) input::placeholder{color:#000624}@keyframes LoadingRow3388347116__gradientSwoosh{0%{background-position:50% 50%;background-size:150% 125%}15%{background-position:75% 40%;background-size:130% 115%}30%{background-position:50% 50%;background-size:120% 135%}60%{background-position:30% 50%;background-size:120% 135%}80%{background-position:10% 30%;background-size:130% 155%}to{background-position:40% 45%;background-size:125% 135%}}.LoadingRow3388347116__root{background-image:linear-gradient(60deg,rgba(255,255,255,.15)0,rgba(255,255,255,.15) 50%,rgba(95,242,174,.15) 100%),linear-gradient(284.81deg,#fff 67.18%,#91bbff 158.87%),linear-gradient(29deg,rgba(145,187,255,.6)0,#fff 40%,rgba(95,242,174,.6) 100%);height:100%;background-size:150% 125%;background-repeat:no-repeat;animation:LoadingRow3388347116__gradientSwoosh 2s ease-out infinite alternate}.MaxHeightText493823936__root{opacity:1}.MaxHeightText493823936__root.MaxHeightText493823936--height24{line-height:24px}.MaxLines2821947960__root{overflow:hidden}.MaxLines2821947960__root.MaxLines2821947960--clamp{-webkit-box-orient:vertical;display:-webkit-box}.MultiBulkActionToolbar1681003559__root{min-width:0}.MultiBulkActionToolbar1681003559__leftGroupWrapper{padding-right:12px;min-width:0;flex-wrap:nowrap;align-items:center}.MultiBulkActionToolbar1681003559__selectedCountItem{min-width:0;flex-shrink:1;white-space:nowrap;overflow:hidden}.MultiBulkActionToolbar1681003559__selectedCountText{display:block;width:100%}.NestedTablePlaceholderStatesRow2027767742__root td{padding:0!important;width:100%}.NestedTableRow1044508703__firstLevel td{padding-top:var(--wds-space-300, 18px)!important;padding-bottom:var(--wds-space-300, 18px)!important}.NestedTableRow1044508703__root:hover{background-color:var(--wds-table-list-item-fill-hover, var(--wsr-color-B50, #e7f0ff))!important}.NestedTableRow1044508703__root.NestedTableRow1044508703--expandable{cursor:pointer}.NestedTableRow1044508703__placeholder td{padding:0!important;width:100%}.NestedTableRow1044508703__root:hover td:first-of-type::before,.NestedTableRow1044508703__parentHovered td:first-of-type::before{content:"";position:absolute;top:0;bottom:0;left:0;width:2px;background-color:var(--wds-color-border-standard-primary-active, var(--wsr-color-B10, #116DFF))}.MultipleDragOverlayEffect1852040764__root{position:absolute;transform:translate(6px,6px);background-color:var(--wds-color-fill-surface-overlay, var(--wsr-color-D80, #ffffff));box-shadow:var(--wds-shadow-surface-overlay, var(--wsr-shadow20, 0 2px 4px 0 rgba(22, 45, 61, 0.12), 0 0 6px 0 rgba(22, 45, 61, 0.12)))}.NestedTableDragAndDropRow3558615481__root.NestedTableDragAndDropRow3558615481--draggingInto td{background-color:var(--wds-table-list-item-fill-hover, var(--wsr-color-B50, #E7F0FF))!important}.PickerContent396127304__root{display:flex}.PickerContentAdditionalStep3143450510__titles{display:flex;justify-content:center;flex:1 1 auto;overflow:hidden;flex-direction:column}.PickerContentAdditionalStep3143450510__suffix{display:flex;align-items:center;flex:0 0 auto;overflow:hidden}.PickerTableListItem3262638855__root{box-sizing:border-box}.ScrollableContent3969433939__root.ScrollableContent3969433939--overflowY{overflow-y:auto}.ScrollableContent3969433939__root.ScrollableContent3969433939--overflowX{overflow-x:auto}.ScrollableContent3969433939__root.ScrollableContent3969433939--smooth{scroll-behavior:smooth}.SetupWidget2850626784__row{display:flex;flex-direction:column;overflow:clip;--wds-clickable-card-outline-border-color:var(--wds-color-border-dark-secondary, var(--wsr-color-D60, #DFE5EB))}.SetupWidget2850626784__row.SetupWidget2850626784--focused{--wds-clickable-card-outline-border-color:var(--wds-color-border-standard-primary-active, var(--wsr-color-B10, #116DFF))}.SetupWidget2850626784__row.SetupWidget2850626784--focused.SetupWidget2850626784--withBackground{--wds-color-fill-surface-default:var(--wds-color-fill-standard-tertiary-hover, var(--wsr-color-B60, #F4F7FF))}.SetupWidget2850626784__completedCta,.SetupWidget2850626784__secondaryCta{opacity:0;transition:opacity .25s ease-in-out}@media (hover:hover){.SetupWidget2850626784__row:hover .SetupWidget2850626784__completedCta,.SetupWidget2850626784__row:hover .SetupWidget2850626784__secondaryCta{opacity:1}}.SetupWidget2850626784__row:focus-within .SetupWidget2850626784__completedCta,.SetupWidget2850626784__row:focus-within .SetupWidget2850626784__secondaryCta,.SetupWidget2850626784__secondaryCta:focus-within{opacity:1}.SetupWidget2850626784__card{display:block;width:100%;border:0;border-radius:var(--wds-border-radius-400, 8px);background-color:var(--wds-color-fill-standard-tertiary, var(--wsr-color-D80, #FFFFFF));box-shadow:0 0 6px 0 rgba(0,6,36,.1),0 2px 4px 0 rgba(0,6,36,.05);overflow:clip;box-sizing:border-box;text-align:start;font:inherit;color:inherit;padding:0;margin:0}.SetupWidget2850626784__card.SetupWidget2850626784--primary{background-color:var(--wds-color-fill-standard-tertiary-hover, var(--wsr-color-B60, #F4F7FF))}.SetupWidget2850626784__card.SetupWidget2850626784--clickable{cursor:pointer}.SetupWidget2850626784__stepIcon{display:flex;align-items:center;flex-shrink:0;height:24px}.SetupWidget2850626784__chevron{display:flex;flex-shrink:0;color:var(--wds-color-text-standard-primary, var(--wsr-color-D10, #000624))}.SetupWidget2850626784__chevronDisabled{display:flex;flex-shrink:0;color:var(--wds-color-text-disabled, var(--wsr-color-D10-30, rgba(0, 6, 36, 0.30)))}.SetupWidget2850626784__inProgressLabel{--wds-color-text-standard-primary:var(--wds-color-text-urgent, var(--wsr-color-O10, #FE620F));text-transform:uppercase}.SkeletonCard2603318609__headerLoading{display:block!important}.SlidingModal2938545875__root{transition:transform .4s ease 0s;position:fixed;z-index:1}.SlidingModal2938545875__root.SlidingModal2938545875--overlay{transition:transform 0s ease 0s}.SlidingModal2938545875__root.SlidingModal2938545875---appendTo-6-parent{position:absolute}.SlidingModal2938545875__root.SlidingModal2938545875--inset{border-radius:var(--wds-side-panel-standard-corner-radius, 0);will-change:transform}.SlidingModal2938545875__root:not(.SlidingModal2938545875--exited){box-shadow:0 3px 24px 0 rgba(22,45,61,.18),0 8px 8px 0 rgba(22,45,61,.12)}.AddFieldColumnHeader1907546462__root{display:inline-flex;align-items:center;width:100%;min-width:0}.AddFieldColumnHeader1907546462__title{display:flex;width:100%;min-width:0}.AddFieldColumnHeader1907546462__hoverBridge{display:inline-block;padding:4px 13px 4px 4px;background:0 0}[data-content-element^=popover-content-add-field-popover-][data-hook=popover-content][class]{background:0 0;border:0;box-shadow:none;border-radius:0;padding:0}.TabsFilter4199202321__root .TabsFilter4199202321__titleBox *{color:inherit!important}.ManageTagsModal1052133035__root{display:flex}.ManageTagsModal1052133035__root.ManageTagsModal1052133035--harmony .wds_1_301_0_TableListItem__root{padding-inline-end:16px}.ManageTagsModal1052133035__root.ManageTagsModal1052133035--harmony .wds_1_301_0_TableListItem__optionsContainer{align-items:start}.ToolbarItem3030730344__root{min-width:0}.ToolbarItemBox833067609__root{min-width:0}.ToolbarItemBox833067609__root.ToolbarItemBox833067609--removeStartPadding{margin-left:-24px}.ToolbarItemBox833067609__root.ToolbarItemBox833067609--expandable{flex:1 0}.common2982988403__column{display:flex;flex-direction:column}.common2982988403__fullHeight{height:100%;min-height:0}.CollectionPageHeader572984085__root:not(.CollectionPageHeader572984085--mobile){gap:12px}.CollectionPageHeader572984085__root.CollectionPageHeader572984085--mobile{flex-direction:column;padding-right:18px;padding-left:18px}.CollectionPageHeader572984085__root.CollectionPageHeader572984085--mobile>*{margin-left:0;margin-top:6px!important;height:auto}.FormPageHeader2182836129__root.FormPageHeader2182836129--mobile{flex-direction:column;padding-right:18px;padding-left:18px}.FormPageHeader2182836129__root.FormPageHeader2182836129--mobile>*{margin-left:0;margin-top:6px!important;height:auto}
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const version = 'patterns@1.447.0';
1
+ export const version = 'patterns@1.449.0';
@@ -1,73 +0,0 @@
1
- # PR #5715 review comments
2
-
3
- [feat(FieldFilters): filter reference fields by the referenced items #CAIRO-4443](https://github.com/wix-private/cairo/pull/5715)
4
-
5
- Reviewers tracked: **github-actions[bot]** (Codex, gpt-5.6-luna) and **kobiburnley**.
6
-
7
- ## Review summaries
8
-
9
- > **[Codex Code Review](https://github.com/wix-private/cairo/pull/5715#pullrequestreview-4961993440)** — github-actions[bot], on `060fc6e8`
10
- > Found 4 issues.
11
-
12
- > **[Re-review — 4f86803](https://github.com/wix-private/cairo/pull/5715#pullrequestreview-4970108817)** — kobiburnley
13
- > **Verdict: Approve** — no blockers. Both blockers from the previous round are resolved, and the bundle one is resolved better than what I suggested […] CI agrees with the commit message's measurement (`DataExtension.umd.min.js`: 502,008 on master → 614,271 before → 502,429 after) […] Falcon was still running when I posted this.
14
-
15
- (An earlier kobiburnley review body was just `ignore` — [link](https://github.com/wix-private/cairo/pull/5715#pullrequestreview-4969822009).)
16
-
17
- **Do not collapse the two `displayName` points.** The re-review retires an earlier
18
- note about a missing `displayName` on the grounds that it "doesn't matter for an
19
- internal component" — that one is about the component's public identity, and it
20
- is indeed moot. Inline comment #2 is a different, functional problem: the toolbar
21
- reads `filter.type.displayName` to decide whether to force the side panel, so the
22
- missing name changes layout whether or not the component is public. #2 stays open.
23
-
24
- ## Inline comments
25
-
26
- | # | Comment link | Description | Severity | Status | Resolution recommendation |
27
- |---|---|---|---|---|---|
28
- | 1 | [discussion_r3804846800](https://github.com/wix-private/cairo/pull/5715#discussion_r3804846800) — `ReferenceFieldFilter.tsx:45` | `queryName: reference-filter-${fieldId}` carries no collection identity. Two fields with the same id pointing at different collections share a React Query entry; with `refetchOnMount: false` the second shows the first's options. | Major | done | Fixed in `375939be2`. The referenced collection is already on the field, so `buildFieldFilters` passes `field.referenceMetadata.referencedCollectionId` — no resolver change. Name is now `reference-filter-<collectionId>-<fieldId>`; the field id stays so two fields on one collection keep fetching independently as today. Pinned by `referenceFilterQueryName` unit tests + an element-props test in `EditableTable.referenceFieldFilters.spec.tsx`. |
29
- | 2 | [discussion_r3804846803](https://github.com/wix-private/cairo/pull/5715#discussion_r3804846803) — `ReferenceFieldFilter.tsx:41` | `CollectionToolbarFilters.forceShowSidePanel` matches on `filter.type.displayName` against a fixed list including `MultiSelectCollectionFilter`. The wrapper has no `displayName`, so a reference filter among the first `inline` filters renders inline instead of forcing the side panel. | Major | done | Fixed in `2ff75d038`. The component declares `displayName = 'ReferenceFieldFilter'` and the detection array becomes a named export, `SIDE_PANEL_FILTER_DISPLAY_NAMES`, carrying it. Did **not** set the name to `'MultiSelectCollectionFilter'` as suggested — the component would then misreport itself in devtools and error traces to satisfy a string match. Pinned from both sides in `EditableTable.referenceFieldFilters.spec.tsx` ("toolbar placement"). See F1 below for the wider gap this uncovered. |
30
- | 3 | [discussion_r3804846812](https://github.com/wix-private/cairo/pull/5715#discussion_r3804846812) — `buildFieldFilters.tsx` | The reference branch omits `fieldType`, which every other generated field filter passes. Source-driven tables enable field-type icons, so the reference filter shows the generic fallback icon. | Minor | open | **Verified real** — the generic branch passes `fieldType={config.iconType?.(field) ?? toFieldType(field.type)}`; the reference branch passes none. Pass the same expression in the reference branch. |
31
- | 4 | [discussion_r3804846821](https://github.com/wix-private/cairo/pull/5715#discussion_r3804846821) — `ReferenceFieldFilter.tsx:45` | Same cache-key collision as #1, with the added tenant/context angle: a shared cache could surface another collection's ids. | Major | done (collision) / open (tenant) | Collision fixed with #1 in `375939be2`. **The "clear or isolate the cache when that context changes" half is not addressed**: the cache lives in the container's QueryClient, so a tenant switch that replaces the container is already isolated — a deployment that keeps one container across tenants would need a broader fix than this component. |
32
- | 5 | [discussion_r3811150592](https://github.com/wix-private/cairo/pull/5715#discussion_r3811150592) — `ReferenceFieldFilter.tsx:3` | Blocker: the static `ReferenceAvatar` import from `@wix/patterns-fields` put that package in every Table/Grid's eager graph (~110kb), which is what `FieldCell.tsx`'s `lazyCell` exists to prevent. Bundle checks failing. | Blocker | done | Fixed in `4f86803c3` by injecting the component through `FieldsSourceComponents` instead of lazy-loading — the source supplies it, DataExtension supplies nothing. Measured `DataExtension.umd.min.js` 614,271 → 502,429 (master 502,008). All three bundle checks green; reviewer confirmed. |
33
- | 6 | [discussion_r3811150602](https://github.com/wix-private/cairo/pull/5715#discussion_r3811150602) — `buildFieldFilters.tsx` | Blocker: same root cause from the builder side. Plus: Falcon reported `3 failed (1 new)` vs #5714's clean run — confirm the new failure isn't the map change flipping an expectation. | Blocker | done (bundle) / **open (Falcon)** | Bundle half fixed by `4f86803c3` — `buildFieldFilters` now holds a type-only import. **The Falcon failure is not yet confirmed either way**; reviewer's own guess is the perfer bundle check counted as a test, but that is unverified. Check the latest Falcon run on `4f86803c3`. |
34
-
35
- ## Non-blocking notes from the re-review summary
36
-
37
- Not inline comments — no `comment_id`, so these are answered with a general PR comment.
38
-
39
- | # | Description | Severity | Status | Resolution recommendation |
40
- |---|---|---|---|---|
41
- | N1 | The **schema** path now eagerly pulls the `@wix/patterns-fields` root barrel via `ReferenceAvatar` → `ReferenceFieldFilter` → `SchemaState`/`schemaRendering`. `ReferenceFieldCell.tsx`, twelve lines away, lazy-loads the same barrel with `lazyView` for exactly this reason. No bundle fixture covers the schema entry, so CI cannot see it. | Major (untested by CI) | open | The ~110kb moved rather than disappeared — it now lands on schema-source consumers. Copy `lazyView` into `ReferenceFieldFilter` (~3 lines). **Highest-value item here.** |
42
- | N2 | The injected component is threaded as a 4th positional arg through four functions where it only acts as a truthiness flag, and is redundant with `config.referenceItems` (every source has both or neither). | Minor | open | Move the component onto `FieldFilterConfig` next to `referenceItems`: one parameter list, one source of truth. |
43
- | N3 | `SchemaState.filterableFields` hardcodes the imported `ReferenceFieldFilter` while `buildFilters`/`registerFilters` read `components.ReferenceFieldFilter`. | Minor | open | Collapses into N2 — with the component on `FieldFilterConfig` there is only one place to read it. |
44
- | N4 | Opening the Filters panel fires one referenced-collection query per reference field (`useCollectionFilterInitialFetchTiming` fetches on mount). | Minor | open | Pass `initialFetchTiming: 'focus'` to `MultiSelectCollectionFilter` to defer to first interaction. |
45
- | N5 | `queryName` unique per field but not per collection. | Major | done | Closed by `375939be2` with #1/#4. |
46
- | N6 | `_schemaOf` and `_request` both call `refSource.loadSchema()`; free while every `references` entry comes from `defineSchemaSource`, a double load for a hand-rolled `SchemaSource`. | Nit | open | Either route `_request` through `_schemaOf`, or document the memoization assumption at `itemsFetcherFor`. |
47
- | N7 | `simplify` keeps only `{id, name}`, so a URL-restored filter shows options without images until the collection loads. | Nit | open | Cosmetic; likely dismiss. |
48
-
49
- ## Follow-ups found while resolving
50
-
51
- | # | Description | Severity | Status |
52
- |---|---|---|---|
53
- | F1 | **`forceShowSidePanel` has never fired for any field filter.** It matches on `displayName`, and four of the five wrappers in `CustomFieldFilters/` declare none: `CheckboxCustomFieldFilter` (wraps `RadioGroupFilter`), `DateCustomFieldFilter` and `DateTimeCustomFieldFilter` (wrap `DateRangeFilter`), `HasValueCustomFieldFilter` (wraps `MultiInlineCheckboxFilter`). Only `OperatorFilterCustomFieldFilter` names itself, and its wrapped filter is correctly absent from the list. So DATE, DATETIME and BOOLEAN field filters have always rendered inline, and #5714 extended that to the 11 has-value types. | Major, pre-existing | open — **deliberately out of scope here** |
54
-
55
- Fixing F1 is one line per wrapper, but it changes toolbar layout for existing
56
- DATE / BOOLEAN / has-value filters — a visible behaviour change unrelated to
57
- this PR, worth its own change and a look from someone who owns the layout. The
58
- doc comment on `SIDE_PANEL_FILTER_DISPLAY_NAMES` names the trap so the next
59
- wrapper author sees it.
60
-
61
- ## Suggested order
62
-
63
- 1. ~~**#1/#4/N5** — cache-key collision~~ — done, `375939be2`.
64
- 1. ~~**#2** — side-panel layout~~ — done, `2ff75d038`.
65
- 2. **N1** — the bundle cost that moved to the schema entry and that CI cannot
66
- catch. Parked mid-change: the work is saved as a patch at
67
- `scratchpad/N1-lazy-avatar.patch` (extracts `lazyView` from
68
- `ReferenceFieldCell` into a shared `lazyPatternsFields` helper and uses it
69
- for `ReferenceAvatar`). Apply with `git apply` to resume.
70
- 3. **#3** — field-type icon.
71
- 4. **N2/N3** — parameter-threading cleanup.
72
- 5. **#6 Falcon** — confirm the failing test.
73
- 6. **N4**, then **N6/N7**. **F1** separately.
@@ -1,73 +0,0 @@
1
- # PR #5715 review comments
2
-
3
- [feat(FieldFilters): filter reference fields by the referenced items #CAIRO-4443](https://github.com/wix-private/cairo/pull/5715)
4
-
5
- Reviewers tracked: **github-actions[bot]** (Codex, gpt-5.6-luna) and **kobiburnley**.
6
-
7
- ## Review summaries
8
-
9
- > **[Codex Code Review](https://github.com/wix-private/cairo/pull/5715#pullrequestreview-4961993440)** — github-actions[bot], on `060fc6e8`
10
- > Found 4 issues.
11
-
12
- > **[Re-review — 4f86803](https://github.com/wix-private/cairo/pull/5715#pullrequestreview-4970108817)** — kobiburnley
13
- > **Verdict: Approve** — no blockers. Both blockers from the previous round are resolved, and the bundle one is resolved better than what I suggested […] CI agrees with the commit message's measurement (`DataExtension.umd.min.js`: 502,008 on master → 614,271 before → 502,429 after) […] Falcon was still running when I posted this.
14
-
15
- (An earlier kobiburnley review body was just `ignore` — [link](https://github.com/wix-private/cairo/pull/5715#pullrequestreview-4969822009).)
16
-
17
- **Do not collapse the two `displayName` points.** The re-review retires an earlier
18
- note about a missing `displayName` on the grounds that it "doesn't matter for an
19
- internal component" — that one is about the component's public identity, and it
20
- is indeed moot. Inline comment #2 is a different, functional problem: the toolbar
21
- reads `filter.type.displayName` to decide whether to force the side panel, so the
22
- missing name changes layout whether or not the component is public. #2 stays open.
23
-
24
- ## Inline comments
25
-
26
- | # | Comment link | Description | Severity | Status | Resolution recommendation |
27
- |---|---|---|---|---|---|
28
- | 1 | [discussion_r3804846800](https://github.com/wix-private/cairo/pull/5715#discussion_r3804846800) — `ReferenceFieldFilter.tsx:45` | `queryName: reference-filter-${fieldId}` carries no collection identity. Two fields with the same id pointing at different collections share a React Query entry; with `refetchOnMount: false` the second shows the first's options. | Major | done | Fixed in `375939be2`. The referenced collection is already on the field, so `buildFieldFilters` passes `field.referenceMetadata.referencedCollectionId` — no resolver change. Name is now `reference-filter-<collectionId>-<fieldId>`; the field id stays so two fields on one collection keep fetching independently as today. Pinned by `referenceFilterQueryName` unit tests + an element-props test in `EditableTable.referenceFieldFilters.spec.tsx`. |
29
- | 2 | [discussion_r3804846803](https://github.com/wix-private/cairo/pull/5715#discussion_r3804846803) — `ReferenceFieldFilter.tsx:41` | `CollectionToolbarFilters.forceShowSidePanel` matches on `filter.type.displayName` against a fixed list including `MultiSelectCollectionFilter`. The wrapper has no `displayName`, so a reference filter among the first `inline` filters renders inline instead of forcing the side panel. | Major | done | Fixed in `2ff75d038`. The component declares `displayName = 'ReferenceFieldFilter'` and the detection array becomes a named export, `SIDE_PANEL_FILTER_DISPLAY_NAMES`, carrying it. Did **not** set the name to `'MultiSelectCollectionFilter'` as suggested — the component would then misreport itself in devtools and error traces to satisfy a string match. Pinned from both sides in `EditableTable.referenceFieldFilters.spec.tsx` ("toolbar placement"). See F1 below for the wider gap this uncovered. |
30
- | 3 | [discussion_r3804846812](https://github.com/wix-private/cairo/pull/5715#discussion_r3804846812) — `buildFieldFilters.tsx` | The reference branch omits `fieldType`, which every other generated field filter passes. Source-driven tables enable field-type icons, so the reference filter shows the generic fallback icon. | Minor | open | **Verified real** — the generic branch passes `fieldType={config.iconType?.(field) ?? toFieldType(field.type)}`; the reference branch passes none. Pass the same expression in the reference branch. |
31
- | 4 | [discussion_r3804846821](https://github.com/wix-private/cairo/pull/5715#discussion_r3804846821) — `ReferenceFieldFilter.tsx:45` | Same cache-key collision as #1, with the added tenant/context angle: a shared cache could surface another collection's ids. | Major | done (collision) / open (tenant) | Collision fixed with #1 in `375939be2`. **The "clear or isolate the cache when that context changes" half is not addressed**: the cache lives in the container's QueryClient, so a tenant switch that replaces the container is already isolated — a deployment that keeps one container across tenants would need a broader fix than this component. |
32
- | 5 | [discussion_r3811150592](https://github.com/wix-private/cairo/pull/5715#discussion_r3811150592) — `ReferenceFieldFilter.tsx:3` | Blocker: the static `ReferenceAvatar` import from `@wix/patterns-fields` put that package in every Table/Grid's eager graph (~110kb), which is what `FieldCell.tsx`'s `lazyCell` exists to prevent. Bundle checks failing. | Blocker | done | Fixed in `4f86803c3` by injecting the component through `FieldsSourceComponents` instead of lazy-loading — the source supplies it, DataExtension supplies nothing. Measured `DataExtension.umd.min.js` 614,271 → 502,429 (master 502,008). All three bundle checks green; reviewer confirmed. |
33
- | 6 | [discussion_r3811150602](https://github.com/wix-private/cairo/pull/5715#discussion_r3811150602) — `buildFieldFilters.tsx` | Blocker: same root cause from the builder side. Plus: Falcon reported `3 failed (1 new)` vs #5714's clean run — confirm the new failure isn't the map change flipping an expectation. | Blocker | done (bundle) / **open (Falcon)** | Bundle half fixed by `4f86803c3` — `buildFieldFilters` now holds a type-only import. **The Falcon failure is not yet confirmed either way**; reviewer's own guess is the perfer bundle check counted as a test, but that is unverified. Check the latest Falcon run on `4f86803c3`. |
34
-
35
- ## Non-blocking notes from the re-review summary
36
-
37
- Not inline comments — no `comment_id`, so these are answered with a general PR comment.
38
-
39
- | # | Description | Severity | Status | Resolution recommendation |
40
- |---|---|---|---|---|
41
- | N1 | The **schema** path now eagerly pulls the `@wix/patterns-fields` root barrel via `ReferenceAvatar` → `ReferenceFieldFilter` → `SchemaState`/`schemaRendering`. `ReferenceFieldCell.tsx`, twelve lines away, lazy-loads the same barrel with `lazyView` for exactly this reason. No bundle fixture covers the schema entry, so CI cannot see it. | Major (untested by CI) | open | The ~110kb moved rather than disappeared — it now lands on schema-source consumers. Copy `lazyView` into `ReferenceFieldFilter` (~3 lines). **Highest-value item here.** |
42
- | N2 | The injected component is threaded as a 4th positional arg through four functions where it only acts as a truthiness flag, and is redundant with `config.referenceItems` (every source has both or neither). | Minor | open | Move the component onto `FieldFilterConfig` next to `referenceItems`: one parameter list, one source of truth. |
43
- | N3 | `SchemaState.filterableFields` hardcodes the imported `ReferenceFieldFilter` while `buildFilters`/`registerFilters` read `components.ReferenceFieldFilter`. | Minor | open | Collapses into N2 — with the component on `FieldFilterConfig` there is only one place to read it. |
44
- | N4 | Opening the Filters panel fires one referenced-collection query per reference field (`useCollectionFilterInitialFetchTiming` fetches on mount). | Minor | open | Pass `initialFetchTiming: 'focus'` to `MultiSelectCollectionFilter` to defer to first interaction. |
45
- | N5 | `queryName` unique per field but not per collection. | Major | done | Closed by `375939be2` with #1/#4. |
46
- | N6 | `_schemaOf` and `_request` both call `refSource.loadSchema()`; free while every `references` entry comes from `defineSchemaSource`, a double load for a hand-rolled `SchemaSource`. | Nit | open | Either route `_request` through `_schemaOf`, or document the memoization assumption at `itemsFetcherFor`. |
47
- | N7 | `simplify` keeps only `{id, name}`, so a URL-restored filter shows options without images until the collection loads. | Nit | open | Cosmetic; likely dismiss. |
48
-
49
- ## Follow-ups found while resolving
50
-
51
- | # | Description | Severity | Status |
52
- |---|---|---|---|
53
- | F1 | **`forceShowSidePanel` has never fired for any field filter.** It matches on `displayName`, and four of the five wrappers in `CustomFieldFilters/` declare none: `CheckboxCustomFieldFilter` (wraps `RadioGroupFilter`), `DateCustomFieldFilter` and `DateTimeCustomFieldFilter` (wrap `DateRangeFilter`), `HasValueCustomFieldFilter` (wraps `MultiInlineCheckboxFilter`). Only `OperatorFilterCustomFieldFilter` names itself, and its wrapped filter is correctly absent from the list. So DATE, DATETIME and BOOLEAN field filters have always rendered inline, and #5714 extended that to the 11 has-value types. | Major, pre-existing | open — **deliberately out of scope here** |
54
-
55
- Fixing F1 is one line per wrapper, but it changes toolbar layout for existing
56
- DATE / BOOLEAN / has-value filters — a visible behaviour change unrelated to
57
- this PR, worth its own change and a look from someone who owns the layout. The
58
- doc comment on `SIDE_PANEL_FILTER_DISPLAY_NAMES` names the trap so the next
59
- wrapper author sees it.
60
-
61
- ## Suggested order
62
-
63
- 1. ~~**#1/#4/N5** — cache-key collision~~ — done, `375939be2`.
64
- 1. ~~**#2** — side-panel layout~~ — done, `2ff75d038`.
65
- 2. **N1** — the bundle cost that moved to the schema entry and that CI cannot
66
- catch. Parked mid-change: the work is saved as a patch at
67
- `scratchpad/N1-lazy-avatar.patch` (extracts `lazyView` from
68
- `ReferenceFieldCell` into a shared `lazyPatternsFields` helper and uses it
69
- for `ReferenceAvatar`). Apply with `git apply` to resume.
70
- 3. **#3** — field-type icon.
71
- 4. **N2/N3** — parameter-threading cleanup.
72
- 5. **#6 Falcon** — confirm the failing test.
73
- 6. **N4**, then **N6/N7**. **F1** separately.
@@ -1,73 +0,0 @@
1
- # PR #5715 review comments
2
-
3
- [feat(FieldFilters): filter reference fields by the referenced items #CAIRO-4443](https://github.com/wix-private/cairo/pull/5715)
4
-
5
- Reviewers tracked: **github-actions[bot]** (Codex, gpt-5.6-luna) and **kobiburnley**.
6
-
7
- ## Review summaries
8
-
9
- > **[Codex Code Review](https://github.com/wix-private/cairo/pull/5715#pullrequestreview-4961993440)** — github-actions[bot], on `060fc6e8`
10
- > Found 4 issues.
11
-
12
- > **[Re-review — 4f86803](https://github.com/wix-private/cairo/pull/5715#pullrequestreview-4970108817)** — kobiburnley
13
- > **Verdict: Approve** — no blockers. Both blockers from the previous round are resolved, and the bundle one is resolved better than what I suggested […] CI agrees with the commit message's measurement (`DataExtension.umd.min.js`: 502,008 on master → 614,271 before → 502,429 after) […] Falcon was still running when I posted this.
14
-
15
- (An earlier kobiburnley review body was just `ignore` — [link](https://github.com/wix-private/cairo/pull/5715#pullrequestreview-4969822009).)
16
-
17
- **Do not collapse the two `displayName` points.** The re-review retires an earlier
18
- note about a missing `displayName` on the grounds that it "doesn't matter for an
19
- internal component" — that one is about the component's public identity, and it
20
- is indeed moot. Inline comment #2 is a different, functional problem: the toolbar
21
- reads `filter.type.displayName` to decide whether to force the side panel, so the
22
- missing name changes layout whether or not the component is public. #2 stays open.
23
-
24
- ## Inline comments
25
-
26
- | # | Comment link | Description | Severity | Status | Resolution recommendation |
27
- |---|---|---|---|---|---|
28
- | 1 | [discussion_r3804846800](https://github.com/wix-private/cairo/pull/5715#discussion_r3804846800) — `ReferenceFieldFilter.tsx:45` | `queryName: reference-filter-${fieldId}` carries no collection identity. Two fields with the same id pointing at different collections share a React Query entry; with `refetchOnMount: false` the second shows the first's options. | Major | done | Fixed in `375939be2`. The referenced collection is already on the field, so `buildFieldFilters` passes `field.referenceMetadata.referencedCollectionId` — no resolver change. Name is now `reference-filter-<collectionId>-<fieldId>`; the field id stays so two fields on one collection keep fetching independently as today. Pinned by `referenceFilterQueryName` unit tests + an element-props test in `EditableTable.referenceFieldFilters.spec.tsx`. |
29
- | 2 | [discussion_r3804846803](https://github.com/wix-private/cairo/pull/5715#discussion_r3804846803) — `ReferenceFieldFilter.tsx:41` | `CollectionToolbarFilters.forceShowSidePanel` matches on `filter.type.displayName` against a fixed list including `MultiSelectCollectionFilter`. The wrapper has no `displayName`, so a reference filter among the first `inline` filters renders inline instead of forcing the side panel. | Major | done | Fixed in `2ff75d038`. The component declares `displayName = 'ReferenceFieldFilter'` and the detection array becomes a named export, `SIDE_PANEL_FILTER_DISPLAY_NAMES`, carrying it. Did **not** set the name to `'MultiSelectCollectionFilter'` as suggested — the component would then misreport itself in devtools and error traces to satisfy a string match. Pinned from both sides in `EditableTable.referenceFieldFilters.spec.tsx` ("toolbar placement"). See F1 below for the wider gap this uncovered. |
30
- | 3 | [discussion_r3804846812](https://github.com/wix-private/cairo/pull/5715#discussion_r3804846812) — `buildFieldFilters.tsx` | The reference branch omits `fieldType`, which every other generated field filter passes. Source-driven tables enable field-type icons, so the reference filter shows the generic fallback icon. | Minor | open | **Verified real** — the generic branch passes `fieldType={config.iconType?.(field) ?? toFieldType(field.type)}`; the reference branch passes none. Pass the same expression in the reference branch. |
31
- | 4 | [discussion_r3804846821](https://github.com/wix-private/cairo/pull/5715#discussion_r3804846821) — `ReferenceFieldFilter.tsx:45` | Same cache-key collision as #1, with the added tenant/context angle: a shared cache could surface another collection's ids. | Major | done (collision) / open (tenant) | Collision fixed with #1 in `375939be2`. **The "clear or isolate the cache when that context changes" half is not addressed**: the cache lives in the container's QueryClient, so a tenant switch that replaces the container is already isolated — a deployment that keeps one container across tenants would need a broader fix than this component. |
32
- | 5 | [discussion_r3811150592](https://github.com/wix-private/cairo/pull/5715#discussion_r3811150592) — `ReferenceFieldFilter.tsx:3` | Blocker: the static `ReferenceAvatar` import from `@wix/patterns-fields` put that package in every Table/Grid's eager graph (~110kb), which is what `FieldCell.tsx`'s `lazyCell` exists to prevent. Bundle checks failing. | Blocker | done | Fixed in `4f86803c3` by injecting the component through `FieldsSourceComponents` instead of lazy-loading — the source supplies it, DataExtension supplies nothing. Measured `DataExtension.umd.min.js` 614,271 → 502,429 (master 502,008). All three bundle checks green; reviewer confirmed. |
33
- | 6 | [discussion_r3811150602](https://github.com/wix-private/cairo/pull/5715#discussion_r3811150602) — `buildFieldFilters.tsx` | Blocker: same root cause from the builder side. Plus: Falcon reported `3 failed (1 new)` vs #5714's clean run — confirm the new failure isn't the map change flipping an expectation. | Blocker | done (bundle) / **open (Falcon)** | Bundle half fixed by `4f86803c3` — `buildFieldFilters` now holds a type-only import. **The Falcon failure is not yet confirmed either way**; reviewer's own guess is the perfer bundle check counted as a test, but that is unverified. Check the latest Falcon run on `4f86803c3`. |
34
-
35
- ## Non-blocking notes from the re-review summary
36
-
37
- Not inline comments — no `comment_id`, so these are answered with a general PR comment.
38
-
39
- | # | Description | Severity | Status | Resolution recommendation |
40
- |---|---|---|---|---|
41
- | N1 | The **schema** path now eagerly pulls the `@wix/patterns-fields` root barrel via `ReferenceAvatar` → `ReferenceFieldFilter` → `SchemaState`/`schemaRendering`. `ReferenceFieldCell.tsx`, twelve lines away, lazy-loads the same barrel with `lazyView` for exactly this reason. No bundle fixture covers the schema entry, so CI cannot see it. | Major (untested by CI) | open | The ~110kb moved rather than disappeared — it now lands on schema-source consumers. Copy `lazyView` into `ReferenceFieldFilter` (~3 lines). **Highest-value item here.** |
42
- | N2 | The injected component is threaded as a 4th positional arg through four functions where it only acts as a truthiness flag, and is redundant with `config.referenceItems` (every source has both or neither). | Minor | open | Move the component onto `FieldFilterConfig` next to `referenceItems`: one parameter list, one source of truth. |
43
- | N3 | `SchemaState.filterableFields` hardcodes the imported `ReferenceFieldFilter` while `buildFilters`/`registerFilters` read `components.ReferenceFieldFilter`. | Minor | open | Collapses into N2 — with the component on `FieldFilterConfig` there is only one place to read it. |
44
- | N4 | Opening the Filters panel fires one referenced-collection query per reference field (`useCollectionFilterInitialFetchTiming` fetches on mount). | Minor | open | Pass `initialFetchTiming: 'focus'` to `MultiSelectCollectionFilter` to defer to first interaction. |
45
- | N5 | `queryName` unique per field but not per collection. | Major | done | Closed by `375939be2` with #1/#4. |
46
- | N6 | `_schemaOf` and `_request` both call `refSource.loadSchema()`; free while every `references` entry comes from `defineSchemaSource`, a double load for a hand-rolled `SchemaSource`. | Nit | open | Either route `_request` through `_schemaOf`, or document the memoization assumption at `itemsFetcherFor`. |
47
- | N7 | `simplify` keeps only `{id, name}`, so a URL-restored filter shows options without images until the collection loads. | Nit | open | Cosmetic; likely dismiss. |
48
-
49
- ## Follow-ups found while resolving
50
-
51
- | # | Description | Severity | Status |
52
- |---|---|---|---|
53
- | F1 | **`forceShowSidePanel` has never fired for any field filter.** It matches on `displayName`, and four of the five wrappers in `CustomFieldFilters/` declare none: `CheckboxCustomFieldFilter` (wraps `RadioGroupFilter`), `DateCustomFieldFilter` and `DateTimeCustomFieldFilter` (wrap `DateRangeFilter`), `HasValueCustomFieldFilter` (wraps `MultiInlineCheckboxFilter`). Only `OperatorFilterCustomFieldFilter` names itself, and its wrapped filter is correctly absent from the list. So DATE, DATETIME and BOOLEAN field filters have always rendered inline, and #5714 extended that to the 11 has-value types. | Major, pre-existing | open — **deliberately out of scope here** |
54
-
55
- Fixing F1 is one line per wrapper, but it changes toolbar layout for existing
56
- DATE / BOOLEAN / has-value filters — a visible behaviour change unrelated to
57
- this PR, worth its own change and a look from someone who owns the layout. The
58
- doc comment on `SIDE_PANEL_FILTER_DISPLAY_NAMES` names the trap so the next
59
- wrapper author sees it.
60
-
61
- ## Suggested order
62
-
63
- 1. ~~**#1/#4/N5** — cache-key collision~~ — done, `375939be2`.
64
- 1. ~~**#2** — side-panel layout~~ — done, `2ff75d038`.
65
- 2. **N1** — the bundle cost that moved to the schema entry and that CI cannot
66
- catch. Parked mid-change: the work is saved as a patch at
67
- `scratchpad/N1-lazy-avatar.patch` (extracts `lazyView` from
68
- `ReferenceFieldCell` into a shared `lazyPatternsFields` helper and uses it
69
- for `ReferenceAvatar`). Apply with `git apply` to resume.
70
- 3. **#3** — field-type icon.
71
- 4. **N2/N3** — parameter-threading cleanup.
72
- 5. **#6 Falcon** — confirm the failing test.
73
- 6. **N4**, then **N6/N7**. **F1** separately.