@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.
- package/dist/cjs/components/CardContainer/CardContainer.st.css.js +2 -2
- package/dist/cjs/components/CardContainer/CardContainer.st.css.js.map +1 -1
- package/dist/cjs/components/CmsFieldManagement/CmsFieldForm.st.css.js +3 -3
- package/dist/cjs/components/CmsFieldManagement/CmsFieldForm.st.css.js.map +1 -1
- package/dist/cjs/components/CmsFieldManagement/CmsFieldModal.st.css.js +3 -3
- package/dist/cjs/components/CmsFieldManagement/CmsFieldModal.st.css.js.map +1 -1
- package/dist/cjs/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js +3 -3
- package/dist/cjs/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js.map +1 -1
- package/dist/cjs/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.js +3 -3
- package/dist/cjs/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.js.map +1 -1
- package/dist/cjs/components/Collapse/Collapse.st.css.js +3 -3
- package/dist/cjs/components/Collapse/Collapse.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
- package/dist/cjs/components/CollectionPageNew/CollectionPage.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +3 -3
- package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js +2 -2
- package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.st.css.js +2 -2
- package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js +5 -5
- package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +4 -4
- package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
- package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
- package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
- package/dist/cjs/components/DragHandle/DragHandle.st.css.js +2 -2
- package/dist/cjs/components/DragHandle/DragHandle.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/EditableCell.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/EditableCell.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/HeaderActionsPopover.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/HeaderActionsPopover.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/CellViewLayout.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/CellViewLayout.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/address/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/address/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/array/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/array/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/color/Edit.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/color/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/datetime/Edit.st.css.js +8 -8
- package/dist/cjs/components/EditableTable/cellTypes/datetime/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/datetime/View.st.css.js +7 -7
- package/dist/cjs/components/EditableTable/cellTypes/datetime/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/object/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/object/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js +4 -4
- package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/time/Edit.st.css.js +4 -4
- package/dist/cjs/components/EditableTable/cellTypes/time/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js +5 -5
- package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js.map +1 -1
- package/dist/cjs/components/EmptyState/EmptyStateBase.st.css.js +2 -2
- package/dist/cjs/components/EmptyState/EmptyStateBase.st.css.js.map +1 -1
- package/dist/cjs/components/EntityPage/EntityPage.uni.driver.js +2 -0
- package/dist/cjs/components/EntityPage/EntityPage.uni.driver.js.map +1 -1
- package/dist/cjs/components/EntityPage/EntityPageActionsBar.js +88 -10
- package/dist/cjs/components/EntityPage/EntityPageActionsBar.js.map +1 -1
- package/dist/cjs/components/EntityPage/EntityPageDeleteAction.js +71 -0
- package/dist/cjs/components/EntityPage/EntityPageDeleteAction.js.map +1 -0
- package/dist/cjs/components/EntityPage/EntityPageDeleteConfirmModal.js +46 -0
- package/dist/cjs/components/EntityPage/EntityPageDeleteConfirmModal.js.map +1 -0
- package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js +2 -2
- package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js.map +1 -1
- package/dist/cjs/components/Fade/Fade.st.css.js +2 -2
- package/dist/cjs/components/Fade/Fade.st.css.js.map +1 -1
- package/dist/cjs/components/FormPage/FormPageActionsBar.js +6 -5
- package/dist/cjs/components/FormPage/FormPageActionsBar.js.map +1 -1
- package/dist/cjs/components/Heading/Heading.st.css.js +2 -2
- package/dist/cjs/components/Heading/Heading.st.css.js.map +1 -1
- package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js +3 -3
- package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js.map +1 -1
- package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js +2 -2
- package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
- package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js +3 -3
- package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js.map +1 -1
- package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
- package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
- package/dist/cjs/components/MaxLines/MaxLines.st.css.js +2 -2
- package/dist/cjs/components/MaxLines/MaxLines.st.css.js.map +1 -1
- package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +5 -5
- package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
- package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTable/NestedTableRow.js +2 -2
- package/dist/cjs/components/NestedTable/NestedTableRow.js.map +1 -1
- package/dist/cjs/components/NestedTable/NestedTableRow.st.css +14 -4
- package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js +12 -6
- package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css +16 -7
- package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +8 -3
- package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css +5 -1
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +6 -3
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragHandle.js +7 -4
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragHandle.js.map +1 -1
- package/dist/cjs/components/PickerContent/PickerContent.st.css.js +2 -2
- package/dist/cjs/components/PickerContent/PickerContent.st.css.js.map +1 -1
- package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js +4 -4
- package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
- package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
- package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
- package/dist/cjs/components/QuerySearch.js +4 -1
- package/dist/cjs/components/QuerySearch.js.map +1 -1
- package/dist/cjs/components/ReferenceFieldFilter/ReferenceFieldFilter.js +22 -15
- package/dist/cjs/components/ReferenceFieldFilter/ReferenceFieldFilter.js.map +1 -1
- package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
- package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
- package/dist/cjs/components/SetupWidget/SetupWidget.st.css.js +10 -10
- package/dist/cjs/components/SetupWidget/SetupWidget.st.css.js.map +1 -1
- package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js +3 -3
- package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
- package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js +2 -2
- package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
- package/dist/cjs/components/Table/AddFieldColumnHeader.st.css.js +4 -4
- package/dist/cjs/components/Table/AddFieldColumnHeader.st.css.js.map +1 -1
- package/dist/cjs/components/TabsFilter/TabTitle.js +7 -10
- package/dist/cjs/components/TabsFilter/TabTitle.js.map +1 -1
- package/dist/cjs/components/TabsFilter/TabsFilter.js +6 -8
- package/dist/cjs/components/TabsFilter/TabsFilter.js.map +1 -1
- package/dist/cjs/components/TabsFilter/TabsFilter.st.css +4 -17
- package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js +4 -10
- package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
- package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
- package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
- package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
- package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js.map +1 -1
- package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
- package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
- package/dist/cjs/components/common.st.css.js +4 -4
- package/dist/cjs/components/common.st.css.js.map +1 -1
- package/dist/cjs/exports/schema.js.map +1 -1
- package/dist/cjs/hooks/index.js +6 -0
- package/dist/cjs/hooks/index.js.map +1 -1
- package/dist/cjs/hooks/useEntityPage.js.map +1 -1
- package/dist/cjs/hooks/useOptionalCachedState.js +2 -0
- package/dist/cjs/hooks/useOptionalCachedState.js.map +1 -1
- package/dist/cjs/hooks/useSyncCollectionOnEntityDelete.js +40 -0
- package/dist/cjs/hooks/useSyncCollectionOnEntityDelete.js.map +1 -0
- package/dist/cjs/hooks/useSyncCollectionOnEntityReturn.js +13 -20
- package/dist/cjs/hooks/useSyncCollectionOnEntityReturn.js.map +1 -1
- package/dist/cjs/schema/sourceMutations.js +4 -1
- package/dist/cjs/schema/sourceMutations.js.map +1 -1
- package/dist/cjs/schema/useEntityPage.js +25 -4
- package/dist/cjs/schema/useEntityPage.js.map +1 -1
- package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
- package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js.map +1 -1
- package/dist/cjs/state/EditableTable/CellValueState.js +35 -10
- package/dist/cjs/state/EditableTable/CellValueState.js.map +1 -1
- package/dist/cjs/state/EditableTable/MutationState.js +25 -2
- package/dist/cjs/state/EditableTable/MutationState.js.map +1 -1
- package/dist/cjs/state/EntityPage/EntityPageDeleteActionState.js +147 -0
- package/dist/cjs/state/EntityPage/EntityPageDeleteActionState.js.map +1 -0
- package/dist/cjs/state/EntityPage/EntityPageState.js +41 -3
- package/dist/cjs/state/EntityPage/EntityPageState.js.map +1 -1
- package/dist/cjs/state/EntityPage/index.js +6 -0
- package/dist/cjs/state/EntityPage/index.js.map +1 -1
- package/dist/cjs/state/FormPage/FormPageHeader.st.css.js +2 -2
- package/dist/cjs/state/FormPage/FormPageHeader.st.css.js.map +1 -1
- package/dist/cjs/state/WixPatternsRouterState.js.map +1 -1
- package/dist/cjs/state/index.js +6 -0
- package/dist/cjs/state/index.js.map +1 -1
- package/dist/cjs/styles.global.css +2 -2
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/version.js.map +1 -1
- package/dist/docs/Allow Users to Add Extended Fields.md +18 -16
- package/dist/docs/CollectionSearch.md +3 -1
- package/dist/docs/CollectionToolbar.md +1 -1
- package/dist/docs/Component Tests.md +4 -4
- package/dist/docs/CustomColumns.md +1 -1
- package/dist/docs/CustomFieldType.md +9 -9
- package/dist/docs/CustomFieldsViewWidget.md +10 -10
- package/dist/docs/CustomFieldsWidget.md +46 -35
- package/dist/docs/Display Extended Fields.md +21 -15
- package/dist/docs/Enable Filters for Extended Fields.md +4 -2
- package/dist/docs/EntityPage.AdditionalContent.md +1 -1
- package/dist/docs/EntityPage.Card.md +11 -11
- package/dist/docs/EntityPage.Content.md +1 -1
- package/dist/docs/EntityPage.Header.md +9 -6
- package/dist/docs/EntityPage.MainContent.md +1 -1
- package/dist/docs/EntityPageState.md +1 -1
- package/dist/docs/Explore Apps.md +8 -1
- package/dist/docs/ExportTo.md +6 -6
- package/dist/docs/Filter Overview.md +23 -8
- package/dist/docs/Grid.md +3 -3
- package/dist/docs/ImportButton.md +18 -8
- package/dist/docs/MultiBulkActionToolbar.md +1 -1
- package/dist/docs/MultiLevelSorting.md +3 -3
- package/dist/docs/Next.js.md +19 -19
- package/dist/docs/NumberRangeFilter.md +5 -5
- package/dist/docs/PageWrapper.md +1 -1
- package/dist/docs/PatternsReactRouter.md +77 -1
- package/dist/docs/PickerContent.md +14 -9
- package/dist/docs/PickerModal.md +4 -4
- package/dist/docs/PrimaryActionButton.md +2 -2
- package/dist/docs/SettingsPage.AdditionalContent.md +1 -1
- package/dist/docs/SettingsPage.Card.md +11 -11
- package/dist/docs/SettingsPage.Content.md +1 -1
- package/dist/docs/SettingsPage.Header.md +8 -5
- package/dist/docs/SettingsPage.MainContent.md +1 -1
- package/dist/docs/SettingsPageState.md +1 -1
- package/dist/docs/Suggestions.md +10 -10
- package/dist/docs/SummaryBar.md +6 -6
- package/dist/docs/TableTopNotification.md +1 -1
- package/dist/docs/TabsFilter.md +5 -5
- package/dist/docs/Tags.md +15 -7
- package/dist/docs/TagsWidget.md +48 -31
- package/dist/docs/ToolbarFilters.md +4 -4
- package/dist/docs/ToolbarTitle.md +4 -4
- package/dist/docs/Views.md +8 -8
- package/dist/docs/WidgetsFormProvider.md +11 -7
- package/dist/docs/WixPatternsProvider.md +48 -4
- package/dist/docs/Working with Cache.md +5 -5
- package/dist/docs/bulkActionModal.md +13 -8
- package/dist/docs/index.json +30 -30
- package/dist/docs/useAmbassadorCollection.md +4 -1
- package/dist/docs/useEntity.md +8 -5
- package/dist/docs/useEntityPage.md +10 -7
- package/dist/docs/useEntityPageContext.md +1 -1
- package/dist/docs/useGridCollection.md +8 -2
- package/dist/docs/useNestedTable.md +2 -2
- package/dist/docs/useOptimisticActions.md +2 -2
- package/dist/docs/usePatternsNavigate.md +8 -2
- package/dist/docs/usePickerContent.md +5 -2
- package/dist/docs/usePickerModal.md +4 -4
- package/dist/docs/usePickerStandalone.md +5 -2
- package/dist/docs/useSettingsPage.md +7 -7
- package/dist/docs/useSettingsPageContext.md +1 -1
- package/dist/docs/useTableCollection.md +8 -2
- package/dist/docs/useTableGridSwitchCollection.md +8 -2
- package/dist/esm/components/CardContainer/CardContainer.st.css.js +2 -2
- package/dist/esm/components/CmsFieldManagement/CmsFieldForm.st.css.js +2 -2
- package/dist/esm/components/CmsFieldManagement/CmsFieldModal.st.css.js +2 -2
- package/dist/esm/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js +2 -2
- package/dist/esm/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.js +2 -2
- package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
- package/dist/esm/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
- package/dist/esm/components/CollectionPageNew/CollectionPage.st.css.js.map +1 -1
- package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +2 -2
- package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js.map +1 -1
- package/dist/esm/components/CollectionTable/CollectionTable.st.css.js +2 -2
- package/dist/esm/components/CollectionTable/CollectionTable.st.css.js.map +1 -1
- package/dist/esm/components/CollectionTable/CollectionTableWSRTable.st.css.js +2 -2
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
- package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
- package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
- package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
- package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
- package/dist/esm/components/DragHandle/DragHandle.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/EditableCell.st.css.js +2 -2
- package/dist/esm/components/EditableTable/HeaderActionsPopover.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/CellViewLayout.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/address/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/array/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/boolean/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/boolean/View.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/color/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/color/Edit.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/date/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/date/View.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/datetime/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/datetime/Edit.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/datetime/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/datetime/View.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/email/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/number/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/number/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/object/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/object/View.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/text/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/text/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/text/View.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/time/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/url/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/url/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/url/View.st.css.js.map +1 -1
- package/dist/esm/components/EmptyState/EmptyStateBase.st.css.js +2 -2
- package/dist/esm/components/EntityPage/EntityPage.uni.driver.js +3 -1
- package/dist/esm/components/EntityPage/EntityPage.uni.driver.js.map +1 -1
- package/dist/esm/components/EntityPage/EntityPageActionsBar.js +46 -3
- package/dist/esm/components/EntityPage/EntityPageActionsBar.js.map +1 -1
- package/dist/esm/components/EntityPage/EntityPageDeleteAction.js +31 -0
- package/dist/esm/components/EntityPage/EntityPageDeleteAction.js.map +1 -0
- package/dist/esm/components/EntityPage/EntityPageDeleteConfirmModal.js +16 -0
- package/dist/esm/components/EntityPage/EntityPageDeleteConfirmModal.js.map +1 -0
- package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js +2 -2
- package/dist/esm/components/Fade/Fade.st.css.js +2 -2
- package/dist/esm/components/Fade/Fade.st.css.js.map +1 -1
- package/dist/esm/components/FormPage/FormPageActionsBar.js +2 -1
- package/dist/esm/components/FormPage/FormPageActionsBar.js.map +1 -1
- package/dist/esm/components/Heading/Heading.st.css.js +2 -2
- package/dist/esm/components/Heading/Heading.st.css.js.map +1 -1
- package/dist/esm/components/ImportButton/ImportStepUpload.st.css.js +2 -2
- package/dist/esm/components/InputOverflow/InputOverflow.st.css.js +2 -2
- package/dist/esm/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
- package/dist/esm/components/LoadingRow/LoadingRow.st.css.js +3 -3
- package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
- package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
- package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
- package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
- package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
- package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
- package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
- package/dist/esm/components/NestedTable/NestedTableRow.js +1 -3
- package/dist/esm/components/NestedTable/NestedTableRow.js.map +1 -1
- package/dist/esm/components/NestedTable/NestedTableRow.st.css +14 -4
- package/dist/esm/components/NestedTable/NestedTableRow.st.css.js +3 -3
- package/dist/esm/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
- package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css +16 -7
- package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +3 -3
- package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css +5 -1
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +3 -3
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragHandle.js +4 -1
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragHandle.js.map +1 -1
- package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
- package/dist/esm/components/PickerContent/PickerContent.st.css.js.map +1 -1
- package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js +2 -2
- package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
- package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
- package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
- package/dist/esm/components/QuerySearch.js +3 -1
- package/dist/esm/components/QuerySearch.js.map +1 -1
- package/dist/esm/components/ReferenceFieldFilter/ReferenceFieldFilter.js +11 -6
- package/dist/esm/components/ReferenceFieldFilter/ReferenceFieldFilter.js.map +1 -1
- package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
- package/dist/esm/components/SetupWidget/SetupWidget.st.css.js +2 -2
- package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js +2 -2
- package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +2 -2
- package/dist/esm/components/Table/AddFieldColumnHeader.st.css.js +2 -2
- package/dist/esm/components/TabsFilter/TabTitle.js +5 -5
- package/dist/esm/components/TabsFilter/TabTitle.js.map +1 -1
- package/dist/esm/components/TabsFilter/TabsFilter.js +2 -3
- package/dist/esm/components/TabsFilter/TabsFilter.js.map +1 -1
- package/dist/esm/components/TabsFilter/TabsFilter.st.css +4 -17
- package/dist/esm/components/TabsFilter/TabsFilter.st.css.js +3 -3
- package/dist/esm/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
- package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
- package/dist/esm/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
- package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
- package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
- package/dist/esm/components/common.st.css.js +2 -2
- package/dist/esm/components/common.st.css.js.map +1 -1
- package/dist/esm/hooks/index.js +1 -0
- package/dist/esm/hooks/index.js.map +1 -1
- package/dist/esm/hooks/useEntityPage.js.map +1 -1
- package/dist/esm/hooks/useOptionalCachedState.js +2 -0
- package/dist/esm/hooks/useOptionalCachedState.js.map +1 -1
- package/dist/esm/hooks/useSyncCollectionOnEntityDelete.js +36 -0
- package/dist/esm/hooks/useSyncCollectionOnEntityDelete.js.map +1 -0
- package/dist/esm/hooks/useSyncCollectionOnEntityReturn.js +24 -21
- package/dist/esm/hooks/useSyncCollectionOnEntityReturn.js.map +1 -1
- package/dist/esm/schema/sourceMutations.js +4 -1
- package/dist/esm/schema/sourceMutations.js.map +1 -1
- package/dist/esm/schema/useEntityPage.js +24 -2
- package/dist/esm/schema/useEntityPage.js.map +1 -1
- package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
- package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js.map +1 -1
- package/dist/esm/state/EditableTable/CellValueState.js +24 -11
- package/dist/esm/state/EditableTable/CellValueState.js.map +1 -1
- package/dist/esm/state/EditableTable/MutationState.js +26 -2
- package/dist/esm/state/EditableTable/MutationState.js.map +1 -1
- package/dist/esm/state/EntityPage/EntityPageDeleteActionState.js +136 -0
- package/dist/esm/state/EntityPage/EntityPageDeleteActionState.js.map +1 -0
- package/dist/esm/state/EntityPage/EntityPageState.js +40 -2
- package/dist/esm/state/EntityPage/EntityPageState.js.map +1 -1
- package/dist/esm/state/EntityPage/index.js +1 -0
- package/dist/esm/state/EntityPage/index.js.map +1 -1
- package/dist/esm/state/FormPage/FormPageHeader.st.css.js +2 -2
- package/dist/esm/state/WixPatternsRouterState.js.map +1 -1
- package/dist/esm/state/index.js +1 -0
- package/dist/esm/state/index.js.map +1 -1
- package/dist/esm/styles.global.css +2 -2
- package/dist/esm/version.js +1 -1
- package/dist/types/components/CollectionPageNew/CollectionPage.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionSectionHeader/CollectionSectionHeader.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionTable/CollectionTable.st.css.d.ts.map +1 -1
- package/dist/types/components/DragHandle/DragHandle.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/boolean/Edit.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/boolean/View.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/color/Edit.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/date/View.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/datetime/Edit.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/datetime/View.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/object/View.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/select/Edit.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/text/View.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/url/View.st.css.d.ts.map +1 -1
- package/dist/types/components/EntityPage/EntityPage.uni.driver.d.ts +97 -1
- package/dist/types/components/EntityPage/EntityPage.uni.driver.d.ts.map +1 -1
- package/dist/types/components/EntityPage/EntityPageActionsBar.d.ts +2 -2
- package/dist/types/components/EntityPage/EntityPageActionsBar.d.ts.map +1 -1
- package/dist/types/components/EntityPage/EntityPageDeleteAction.d.ts +7 -0
- package/dist/types/components/EntityPage/EntityPageDeleteAction.d.ts.map +1 -0
- package/dist/types/components/EntityPage/EntityPageDeleteConfirmModal.d.ts +11 -0
- package/dist/types/components/EntityPage/EntityPageDeleteConfirmModal.d.ts.map +1 -0
- package/dist/types/components/Fade/Fade.st.css.d.ts.map +1 -1
- package/dist/types/components/FormPage/FormPageActionsBar.d.ts +3 -2
- package/dist/types/components/FormPage/FormPageActionsBar.d.ts.map +1 -1
- package/dist/types/components/Heading/Heading.st.css.d.ts.map +1 -1
- package/dist/types/components/InputOverflow/InputOverflow.st.css.d.ts.map +1 -1
- package/dist/types/components/MaxHeightText/MaxHeightText.st.css.d.ts.map +1 -1
- package/dist/types/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.d.ts.map +1 -1
- package/dist/types/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.d.ts.map +1 -1
- package/dist/types/components/NestedTable/NestedTableRow.d.ts.map +1 -1
- package/dist/types/components/NestedTable/NestedTableRow.st.css.d.ts +7 -1
- package/dist/types/components/NestedTable/NestedTableRow.st.css.d.ts.map +1 -1
- package/dist/types/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.d.ts +6 -1
- package/dist/types/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.d.ts.map +1 -1
- package/dist/types/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.d.ts +4 -1
- package/dist/types/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.d.ts.map +1 -1
- package/dist/types/components/NestedTableDragAndDrop/NestedTableDragHandle.d.ts.map +1 -1
- package/dist/types/components/PickerContent/PickerContent.st.css.d.ts.map +1 -1
- package/dist/types/components/PickerContent/PickerContentAdditionalStep.st.css.d.ts.map +1 -1
- package/dist/types/components/PickerTableListItem/PickerTableListItem.st.css.d.ts.map +1 -1
- package/dist/types/components/QuerySearch.d.ts.map +1 -1
- package/dist/types/components/ReferenceFieldFilter/ReferenceFieldFilter.d.ts +2 -1
- package/dist/types/components/ReferenceFieldFilter/ReferenceFieldFilter.d.ts.map +1 -1
- package/dist/types/components/TabsFilter/TabTitle.d.ts +1 -2
- package/dist/types/components/TabsFilter/TabTitle.d.ts.map +1 -1
- package/dist/types/components/TabsFilter/TabsFilter.d.ts.map +1 -1
- package/dist/types/components/TabsFilter/TabsFilter.st.css.d.ts +2 -8
- package/dist/types/components/TabsFilter/TabsFilter.st.css.d.ts.map +1 -1
- package/dist/types/components/ToolbarItemBox/ToolbarItemBox.st.css.d.ts.map +1 -1
- package/dist/types/components/common.st.css.d.ts.map +1 -1
- package/dist/types/exports/schema.d.ts +1 -1
- package/dist/types/exports/schema.d.ts.map +1 -1
- package/dist/types/hooks/index.d.ts +1 -0
- package/dist/types/hooks/index.d.ts.map +1 -1
- package/dist/types/hooks/useEntityPage.d.ts +1 -1
- package/dist/types/hooks/useEntityPage.d.ts.map +1 -1
- package/dist/types/hooks/useOptionalCachedState.d.ts.map +1 -1
- package/dist/types/hooks/useSyncCollectionOnEntityDelete.d.ts +4 -0
- package/dist/types/hooks/useSyncCollectionOnEntityDelete.d.ts.map +1 -0
- package/dist/types/hooks/useSyncCollectionOnEntityReturn.d.ts +1 -0
- package/dist/types/hooks/useSyncCollectionOnEntityReturn.d.ts.map +1 -1
- package/dist/types/schema/sourceMutations.d.ts.map +1 -1
- package/dist/types/schema/useEntityPage.d.ts +1 -1
- package/dist/types/schema/useEntityPage.d.ts.map +1 -1
- package/dist/types/state/CollectionPage/CollectionPageHeader.st.css.d.ts.map +1 -1
- package/dist/types/state/EditableTable/CellValueState.d.ts.map +1 -1
- package/dist/types/state/EditableTable/MutationState.d.ts +5 -3
- package/dist/types/state/EditableTable/MutationState.d.ts.map +1 -1
- package/dist/types/state/EntityPage/EntityPageDeleteActionState.d.ts +55 -0
- package/dist/types/state/EntityPage/EntityPageDeleteActionState.d.ts.map +1 -0
- package/dist/types/state/EntityPage/EntityPageState.d.ts +27 -0
- package/dist/types/state/EntityPage/EntityPageState.d.ts.map +1 -1
- package/dist/types/state/EntityPage/index.d.ts +1 -0
- package/dist/types/state/EntityPage/index.d.ts.map +1 -1
- package/dist/types/state/WixPatternsRouterState.d.ts +1 -0
- package/dist/types/state/WixPatternsRouterState.d.ts.map +1 -1
- package/dist/types/state/index.d.ts +1 -0
- package/dist/types/state/index.d.ts.map +1 -1
- package/dist/types/testkit/enzyme.d.ts +94 -0
- package/dist/types/testkit/enzyme.d.ts.map +1 -1
- package/dist/types/testkit/jsdom.d.ts +94 -0
- package/dist/types/testkit/jsdom.d.ts.map +1 -1
- package/dist/types/testkit/playwright.d.ts +94 -0
- package/dist/types/testkit/playwright.d.ts.map +1 -1
- package/dist/types/testkit/puppeteer.d.ts +94 -0
- package/dist/types/testkit/puppeteer.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/package.json +7 -7
- package/src/components/CardContainer/CardContainer.st.css.ts +2 -2
- package/src/components/CmsFieldManagement/CmsFieldForm.st.css.ts +2 -2
- package/src/components/CmsFieldManagement/CmsFieldModal.st.css.ts +2 -2
- package/src/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.ts +2 -2
- package/src/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.ts +2 -2
- package/src/components/Collapse/Collapse.st.css.ts +2 -2
- package/src/components/CollectionPageNew/CollectionPage.st.css.ts +2 -2
- package/src/components/CollectionSectionHeader/CollectionSectionHeader.st.css.ts +2 -2
- package/src/components/CollectionTable/CollectionTable.st.css.ts +2 -2
- package/src/components/CollectionTable/CollectionTableWSRTable.st.css.ts +2 -2
- package/src/components/CollectionToolbar/CollectionToolbar.st.css.ts +2 -2
- package/src/components/CollectionToolbar/SearchOrCustomFilter.st.css.ts +2 -2
- package/src/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.ts +2 -2
- package/src/components/CollectionViewsDropdown/ViewsDropdown.st.css.ts +2 -2
- package/src/components/DragHandle/DragHandle.st.css.ts +2 -2
- package/src/components/EditableTable/EditableCell.st.css.ts +2 -2
- package/src/components/EditableTable/HeaderActionsPopover.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/CellViewLayout.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/address/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/array/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/boolean/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/boolean/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/color/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/date/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/date/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/datetime/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/datetime/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/email/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/email/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/number/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/number/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/object/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/object/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/select/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/text/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/text/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/time/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/url/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/url/View.st.css.ts +2 -2
- package/src/components/EmptyState/EmptyStateBase.st.css.ts +2 -2
- package/src/components/EntityPage/EntityPage.uni.driver.ts +13 -0
- package/src/components/EntityPage/EntityPageActionsBar.tsx +93 -9
- package/src/components/EntityPage/EntityPageDeleteAction.tsx +50 -0
- package/src/components/EntityPage/EntityPageDeleteConfirmModal.tsx +40 -0
- package/src/components/EntityPage/EntityPagePlain.st.css.ts +2 -2
- package/src/components/Fade/Fade.st.css.ts +2 -2
- package/src/components/FormPage/FormPageActionsBar.tsx +4 -1
- package/src/components/Heading/Heading.st.css.ts +2 -2
- package/src/components/ImportButton/ImportStepUpload.st.css.ts +2 -2
- package/src/components/InputOverflow/InputOverflow.st.css.ts +2 -2
- package/src/components/LoadingRow/LoadingRow.st.css.ts +3 -3
- package/src/components/MaxHeightText/MaxHeightText.st.css.ts +2 -2
- package/src/components/MaxLines/MaxLines.st.css.ts +2 -2
- package/src/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.ts +2 -2
- package/src/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.ts +2 -2
- package/src/components/NestedTable/NestedTableRow.st.css +14 -4
- package/src/components/NestedTable/NestedTableRow.st.css.ts +3 -3
- package/src/components/NestedTable/NestedTableRow.tsx +1 -4
- package/src/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css +16 -7
- package/src/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.ts +3 -3
- package/src/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css +5 -1
- package/src/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.ts +3 -3
- package/src/components/NestedTableDragAndDrop/NestedTableDragHandle.tsx +4 -2
- package/src/components/PickerContent/PickerContent.st.css.ts +2 -2
- package/src/components/PickerContent/PickerContentAdditionalStep.st.css.ts +2 -2
- package/src/components/PickerTableListItem/PickerTableListItem.st.css.ts +2 -2
- package/src/components/QuerySearch.tsx +3 -0
- package/src/components/ReferenceFieldFilter/ReferenceFieldFilter.tsx +14 -6
- package/src/components/ScrollableContent/ScrollableContent.st.css.ts +2 -2
- package/src/components/SetupWidget/SetupWidget.st.css.ts +2 -2
- package/src/components/SkeletonCard/SkeletonCard.st.css.ts +2 -2
- package/src/components/SlidingModal/SlidingModal.st.css.ts +2 -2
- package/src/components/Table/AddFieldColumnHeader.st.css.ts +2 -2
- package/src/components/TabsFilter/TabTitle.tsx +8 -6
- package/src/components/TabsFilter/TabsFilter.st.css +4 -17
- package/src/components/TabsFilter/TabsFilter.st.css.ts +3 -3
- package/src/components/TabsFilter/TabsFilter.tsx +0 -3
- package/src/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.ts +2 -2
- package/src/components/ToolbarItem/ToolbarItem.st.css.ts +2 -2
- package/src/components/ToolbarItemBox/ToolbarItemBox.st.css.ts +2 -2
- package/src/components/common.st.css.ts +2 -2
- package/src/exports/schema.ts +1 -0
- package/src/hooks/index.ts +1 -0
- package/src/hooks/useEntityPage.ts +3 -0
- package/src/hooks/useOptionalCachedState.ts +2 -0
- package/src/hooks/useSyncCollectionOnEntityDelete.ts +74 -0
- package/src/hooks/useSyncCollectionOnEntityReturn.ts +26 -23
- package/src/schema/sourceMutations.ts +5 -2
- package/src/schema/useEntityPage.ts +47 -7
- package/src/state/CollectionPage/CollectionPageHeader.st.css.ts +2 -2
- package/src/state/EditableTable/CellValueState.ts +37 -16
- package/src/state/EditableTable/MutationState.ts +58 -3
- package/src/state/EntityPage/EntityPageDeleteActionState.ts +228 -0
- package/src/state/EntityPage/EntityPageState.ts +72 -2
- package/src/state/EntityPage/index.ts +1 -0
- package/src/state/FormPage/FormPageHeader.st.css.ts +2 -2
- package/src/state/WixPatternsRouterState.ts +1 -0
- package/src/state/index.ts +1 -0
- package/src/styles.global.css +2 -2
- package/src/version.ts +1 -1
- package/dist/cjs/components/ReferenceFieldFilter/pr-5715-comments.md +0 -73
- package/dist/esm/components/ReferenceFieldFilter/pr-5715-comments.md +0 -73
- 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.
|
|
341
|
-
|
|
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;
|
|
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var _namespace_ = "
|
|
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":"
|
|
16
|
+
export var classes = {"root":"FormPageHeader2182836129__root"};
|
|
17
17
|
export var keyframes = {};
|
|
18
18
|
export var layers = {};
|
|
19
19
|
export var containers = {};
|
package/src/state/index.ts
CHANGED
|
@@ -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';
|
package/src/styles.global.css
CHANGED
|
@@ -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
|
-
)}.
|
|
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.
|
|
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.
|