@wix/patterns 1.331.0 → 1.332.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/ActionControl/ActionButton.js +32 -9
- package/dist/cjs/components/ActionControl/ActionButton.js.map +1 -1
- package/dist/cjs/components/ActionControl/ActionPopover.js +51 -13
- package/dist/cjs/components/ActionControl/ActionPopover.js.map +1 -1
- package/dist/cjs/components/ActionControl/ActionSubItemProps.js.map +1 -1
- package/dist/cjs/components/BulkActionButton/BulkActionButton.js +36 -12
- package/dist/cjs/components/BulkActionButton/BulkActionButton.js.map +1 -1
- 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/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/CollectionTable/CollectionTable.st.css.js +2 -2
- package/dist/cjs/components/CollectionTable/CollectionTable.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/CollectionToolbar.uni.driver.js +4 -0
- package/dist/cjs/components/CollectionToolbar/CollectionToolbar.uni.driver.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/CustomFieldFilters/buildCustomFieldFilterElement.js +40 -2
- package/dist/cjs/components/CustomFieldFilters/buildCustomFieldFilterElement.js.map +1 -1
- package/dist/cjs/components/CustomFieldsTransforms/transformCustomFiltersToWQL.js +5 -1
- package/dist/cjs/components/CustomFieldsTransforms/transformCustomFiltersToWQL.js.map +1 -1
- package/dist/cjs/components/CustomFieldsTransforms/transformOperatorFilterToWQL.js +113 -0
- package/dist/cjs/components/CustomFieldsTransforms/transformOperatorFilterToWQL.js.map +1 -0
- package/dist/cjs/components/DataExtension/CollectionDataExtensionState.js +4 -1
- package/dist/cjs/components/DataExtension/CollectionDataExtensionState.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/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/FiltersPanel/FiltersPanel.uni.driver.js +26 -0
- package/dist/cjs/components/FiltersPanel/FiltersPanel.uni.driver.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/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.st.css.js +5 -5
- package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
- package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
- package/dist/cjs/components/OperatorFilterPicker/OperatorFilterPicker.js +111 -0
- package/dist/cjs/components/OperatorFilterPicker/OperatorFilterPicker.js.map +1 -0
- package/dist/cjs/components/OperatorFilterPicker/index.js +7 -0
- package/dist/cjs/components/OperatorFilterPicker/index.js.map +1 -0
- 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/ScrollableContent/ScrollableContent.st.css.js +2 -2
- package/dist/cjs/components/ScrollableContent/ScrollableContent.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/Suggestions/MarketingCard.js +33 -21
- package/dist/cjs/components/Suggestions/MarketingCard.js.map +1 -1
- package/dist/cjs/components/Suggestions/SuggestionCtaWrapper.js +28 -0
- package/dist/cjs/components/Suggestions/SuggestionCtaWrapper.js.map +1 -0
- package/dist/cjs/components/Suggestions/Suggestions.js +38 -24
- package/dist/cjs/components/Suggestions/Suggestions.js.map +1 -1
- package/dist/cjs/components/Suggestions/SuggestionsContext.js +34 -0
- package/dist/cjs/components/Suggestions/SuggestionsContext.js.map +1 -0
- package/dist/cjs/components/Suggestions/index.js +3 -1
- package/dist/cjs/components/Suggestions/index.js.map +1 -1
- package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js +3 -3
- 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/TagsAssignButton/TagsAssignButton.js +34 -11
- package/dist/cjs/components/TagsAssignButton/TagsAssignButton.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/hooks/index.js +6 -0
- package/dist/cjs/hooks/index.js.map +1 -1
- package/dist/cjs/hooks/useOperatorFilterState.js +34 -0
- package/dist/cjs/hooks/useOperatorFilterState.js.map +1 -0
- package/dist/cjs/index.js +26 -2
- package/dist/cjs/index.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/FormPage/FormPageHeader.st.css.js +2 -2
- package/dist/cjs/state/FormPage/FormPageHeader.st.css.js.map +1 -1
- package/dist/cjs/state/OperatorFilterPickerState.js +112 -0
- package/dist/cjs/state/OperatorFilterPickerState.js.map +1 -0
- package/dist/cjs/state/Suggestions/SuggestionsBIReporter.js +12 -0
- package/dist/cjs/state/Suggestions/SuggestionsBIReporter.js.map +1 -1
- package/dist/cjs/state/Suggestions/SuggestionsState.js +6 -3
- package/dist/cjs/state/Suggestions/SuggestionsState.js.map +1 -1
- package/dist/cjs/state/TagsBulkAssignPopoverState.js +8 -0
- package/dist/cjs/state/TagsBulkAssignPopoverState.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 +1 -1
- package/dist/cjs/test-utils/DealerBIMock.js +1 -1
- package/dist/cjs/test-utils/DealerBIMock.js.map +1 -1
- package/dist/cjs/utils/ReturnFocus.js +53 -0
- package/dist/cjs/utils/ReturnFocus.js.map +1 -0
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/version.js.map +1 -1
- package/dist/esm/components/ActionControl/ActionButton.js +18 -4
- package/dist/esm/components/ActionControl/ActionButton.js.map +1 -1
- package/dist/esm/components/ActionControl/ActionPopover.js +35 -6
- package/dist/esm/components/ActionControl/ActionPopover.js.map +1 -1
- package/dist/esm/components/BulkActionButton/BulkActionButton.js +20 -5
- package/dist/esm/components/BulkActionButton/BulkActionButton.js.map +1 -1
- package/dist/esm/components/CardContainer/CardContainer.st.css.js +2 -2
- package/dist/esm/components/CardContainer/CardContainer.st.css.js.map +1 -1
- 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/CollectionTable/CollectionTable.st.css.js +2 -2
- package/dist/esm/components/CollectionTable/CollectionTable.st.css.js.map +1 -1
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.uni.driver.js +4 -0
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.uni.driver.js.map +1 -1
- package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
- package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
- package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
- package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
- package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
- package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
- package/dist/esm/components/CustomFieldFilters/buildCustomFieldFilterElement.js +5 -0
- package/dist/esm/components/CustomFieldFilters/buildCustomFieldFilterElement.js.map +1 -1
- package/dist/esm/components/CustomFieldsTransforms/transformCustomFiltersToWQL.js +4 -0
- package/dist/esm/components/CustomFieldsTransforms/transformCustomFiltersToWQL.js.map +1 -1
- package/dist/esm/components/CustomFieldsTransforms/transformOperatorFilterToWQL.js +131 -0
- package/dist/esm/components/CustomFieldsTransforms/transformOperatorFilterToWQL.js.map +1 -0
- package/dist/esm/components/DataExtension/CollectionDataExtensionState.js +4 -1
- package/dist/esm/components/DataExtension/CollectionDataExtensionState.js.map +1 -1
- 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/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/FiltersPanel/FiltersPanel.uni.driver.js +27 -1
- package/dist/esm/components/FiltersPanel/FiltersPanel.uni.driver.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/InputOverflow/InputOverflow.st.css.js +2 -2
- 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/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
- package/dist/esm/components/NestedTable/NestedTableRow.st.css.js +2 -2
- package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
- package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
- package/dist/esm/components/OperatorFilterPicker/OperatorFilterPicker.js +33 -0
- package/dist/esm/components/OperatorFilterPicker/OperatorFilterPicker.js.map +1 -0
- package/dist/esm/components/OperatorFilterPicker/index.js +2 -0
- package/dist/esm/components/OperatorFilterPicker/index.js.map +1 -0
- 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/ScrollableContent/ScrollableContent.st.css.js +2 -2
- package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
- 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/Suggestions/MarketingCard.js +5 -3
- package/dist/esm/components/Suggestions/MarketingCard.js.map +1 -1
- package/dist/esm/components/Suggestions/SuggestionCtaWrapper.js +17 -0
- package/dist/esm/components/Suggestions/SuggestionCtaWrapper.js.map +1 -0
- package/dist/esm/components/Suggestions/Suggestions.js +8 -9
- package/dist/esm/components/Suggestions/Suggestions.js.map +1 -1
- package/dist/esm/components/Suggestions/SuggestionsContext.js +14 -0
- package/dist/esm/components/Suggestions/SuggestionsContext.js.map +1 -0
- package/dist/esm/components/Suggestions/index.js +2 -3
- package/dist/esm/components/Suggestions/index.js.map +1 -1
- package/dist/esm/components/TabsFilter/TabsFilter.st.css.js +2 -2
- 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/TagsAssignButton/TagsAssignButton.js +18 -5
- package/dist/esm/components/TagsAssignButton/TagsAssignButton.js.map +1 -1
- 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/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/useOperatorFilterState.js +22 -0
- package/dist/esm/hooks/useOperatorFilterState.js.map +1 -0
- package/dist/esm/index.js +3 -1
- package/dist/esm/index.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/FormPage/FormPageHeader.st.css.js +2 -2
- package/dist/esm/state/FormPage/FormPageHeader.st.css.js.map +1 -1
- package/dist/esm/state/OperatorFilterPickerState.js +88 -0
- package/dist/esm/state/OperatorFilterPickerState.js.map +1 -0
- package/dist/esm/state/Suggestions/SuggestionsBIReporter.js +12 -0
- package/dist/esm/state/Suggestions/SuggestionsBIReporter.js.map +1 -1
- package/dist/esm/state/Suggestions/SuggestionsState.js +6 -3
- package/dist/esm/state/Suggestions/SuggestionsState.js.map +1 -1
- package/dist/esm/state/TagsBulkAssignPopoverState.js +10 -0
- package/dist/esm/state/TagsBulkAssignPopoverState.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 +1 -1
- package/dist/esm/test-utils/DealerBIMock.js +1 -1
- package/dist/esm/test-utils/DealerBIMock.js.map +1 -1
- package/dist/esm/utils/ReturnFocus.js +45 -0
- package/dist/esm/utils/ReturnFocus.js.map +1 -0
- package/dist/esm/version.js +1 -1
- package/dist/types/components/ActionControl/ActionButton.d.ts.map +1 -1
- package/dist/types/components/ActionControl/ActionPopover.d.ts.map +1 -1
- package/dist/types/components/ActionControl/ActionSubItemProps.d.ts +6 -0
- package/dist/types/components/ActionControl/ActionSubItemProps.d.ts.map +1 -1
- package/dist/types/components/BulkActionButton/BulkActionButton.d.ts +1 -1
- package/dist/types/components/BulkActionButton/BulkActionButton.d.ts.map +1 -1
- package/dist/types/components/CardContainer/CardContainer.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionPageNew/CollectionPage.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionTable/CollectionTable.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionTable/CollectionTable.uni.driver.d.ts +494 -18
- package/dist/types/components/CollectionTable/CollectionTable.uni.driver.d.ts.map +1 -1
- package/dist/types/components/CollectionToolbar/CollectionToolbar.uni.driver.d.ts +243 -9
- package/dist/types/components/CollectionToolbar/CollectionToolbar.uni.driver.d.ts.map +1 -1
- package/dist/types/components/CollectionToolbar/SearchOrCustomFilter.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionViewsDropdown/ViewsDropdown.st.css.d.ts.map +1 -1
- package/dist/types/components/CustomFieldFilters/buildCustomFieldFilterElement.d.ts.map +1 -1
- package/dist/types/components/CustomFieldsTransforms/transformCustomFiltersToWQL.d.ts.map +1 -1
- package/dist/types/components/CustomFieldsTransforms/transformOperatorFilterToWQL.d.ts +65 -0
- package/dist/types/components/CustomFieldsTransforms/transformOperatorFilterToWQL.d.ts.map +1 -0
- package/dist/types/components/DataExtension/CollectionDataExtensionState.d.ts.map +1 -1
- package/dist/types/components/DragHandle/DragHandle.st.css.d.ts.map +1 -1
- package/dist/types/components/Fade/Fade.st.css.d.ts.map +1 -1
- package/dist/types/components/FiltersPanel/FiltersPanel.uni.driver.d.ts +117 -0
- package/dist/types/components/FiltersPanel/FiltersPanel.uni.driver.d.ts.map +1 -1
- package/dist/types/components/Grid/Grid.uni.driver.d.ts +234 -0
- package/dist/types/components/Grid/Grid.uni.driver.d.ts.map +1 -1
- package/dist/types/components/Grid/GridFolders.uni.driver.d.ts +726 -24
- package/dist/types/components/Grid/GridFolders.uni.driver.d.ts.map +1 -1
- package/dist/types/components/Grid/GridFoldersSection.uni.driver.d.ts +234 -0
- package/dist/types/components/Grid/GridFoldersSection.uni.driver.d.ts.map +1 -1
- package/dist/types/components/Heading/Heading.st.css.d.ts.map +1 -1
- package/dist/types/components/Kanban/Kanban.uni.driver.d.ts +234 -0
- package/dist/types/components/Kanban/Kanban.uni.driver.d.ts.map +1 -1
- package/dist/types/components/MaxHeightText/MaxHeightText.st.css.d.ts.map +1 -1
- package/dist/types/components/NestedTable/NestedTable.uni.driver.d.ts +727 -31
- package/dist/types/components/NestedTable/NestedTable.uni.driver.d.ts.map +1 -1
- package/dist/types/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.d.ts.map +1 -1
- package/dist/types/components/OperatorFilterPicker/OperatorFilterPicker.d.ts +16 -0
- package/dist/types/components/OperatorFilterPicker/OperatorFilterPicker.d.ts.map +1 -0
- package/dist/types/components/OperatorFilterPicker/index.d.ts +2 -0
- package/dist/types/components/OperatorFilterPicker/index.d.ts.map +1 -0
- 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/ScrollableContent/ScrollableContent.st.css.d.ts.map +1 -1
- package/dist/types/components/Suggestions/MarketingCard.d.ts.map +1 -1
- package/dist/types/components/Suggestions/SuggestionCtaWrapper.d.ts +18 -0
- package/dist/types/components/Suggestions/SuggestionCtaWrapper.d.ts.map +1 -0
- package/dist/types/components/Suggestions/Suggestions.d.ts.map +1 -1
- package/dist/types/components/Suggestions/SuggestionsContext.d.ts +11 -0
- package/dist/types/components/Suggestions/SuggestionsContext.d.ts.map +1 -0
- package/dist/types/components/Suggestions/index.d.ts +2 -2
- package/dist/types/components/Suggestions/index.d.ts.map +1 -1
- package/dist/types/components/Table/Table.uni.driver.d.ts +468 -0
- package/dist/types/components/Table/Table.uni.driver.d.ts.map +1 -1
- package/dist/types/components/TableFolders/TableFolders.uni.driver.d.ts +726 -24
- package/dist/types/components/TableFolders/TableFolders.uni.driver.d.ts.map +1 -1
- package/dist/types/components/TableGridSwitch/TableGridSwitch.uni.driver.d.ts +756 -18
- package/dist/types/components/TableGridSwitch/TableGridSwitch.uni.driver.d.ts.map +1 -1
- package/dist/types/components/TabsFilter/TabsFilter.st.css.d.ts.map +1 -1
- package/dist/types/components/TagsAssignButton/TagsAssignButton.d.ts.map +1 -1
- package/dist/types/components/common.st.css.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/useOperatorFilterState.d.ts +13 -0
- package/dist/types/hooks/useOperatorFilterState.d.ts.map +1 -0
- package/dist/types/index.d.ts +3 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/state/CollectionPage/CollectionPageHeader.st.css.d.ts.map +1 -1
- package/dist/types/state/FormPage/FormPageHeader.st.css.d.ts.map +1 -1
- package/dist/types/state/OperatorFilterPickerState.d.ts +40 -0
- package/dist/types/state/OperatorFilterPickerState.d.ts.map +1 -0
- package/dist/types/state/Suggestions/SuggestionsBIReporter.d.ts +1 -0
- package/dist/types/state/Suggestions/SuggestionsBIReporter.d.ts.map +1 -1
- package/dist/types/state/Suggestions/SuggestionsState.d.ts +2 -1
- package/dist/types/state/Suggestions/SuggestionsState.d.ts.map +1 -1
- package/dist/types/state/TagsBulkAssignPopoverState.d.ts +2 -0
- package/dist/types/state/TagsBulkAssignPopoverState.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/test-utils/DealerBIMock.d.ts +2 -2
- package/dist/types/test-utils/DealerBIMock.d.ts.map +1 -1
- package/dist/types/testkit/enzyme.d.ts +3822 -312
- package/dist/types/testkit/enzyme.d.ts.map +1 -1
- package/dist/types/testkit/jsdom.d.ts +4080 -336
- package/dist/types/testkit/jsdom.d.ts.map +1 -1
- package/dist/types/testkit/playwright.d.ts +3822 -312
- package/dist/types/testkit/playwright.d.ts.map +1 -1
- package/dist/types/testkit/puppeteer.d.ts +4080 -336
- package/dist/types/testkit/puppeteer.d.ts.map +1 -1
- package/dist/types/utils/ReturnFocus.d.ts +15 -0
- package/dist/types/utils/ReturnFocus.d.ts.map +1 -0
- package/dist/types/version.d.ts +1 -1
- package/package.json +3 -3
- package/src/components/ActionControl/ActionButton.tsx +39 -18
- package/src/components/ActionControl/ActionPopover.tsx +59 -22
- package/src/components/ActionControl/ActionSubItemProps.tsx +6 -0
- package/src/components/BulkActionButton/BulkActionButton.tsx +42 -18
- package/src/components/CardContainer/CardContainer.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/CollectionTable/CollectionTable.st.css.ts +2 -2
- package/src/components/CollectionToolbar/CollectionToolbar.st.css.ts +2 -2
- package/src/components/CollectionToolbar/CollectionToolbar.uni.driver.ts +6 -0
- 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/CustomFieldFilters/buildCustomFieldFilterElement.tsx +25 -1
- package/src/components/CustomFieldsTransforms/transformCustomFiltersToWQL.tsx +4 -0
- package/src/components/CustomFieldsTransforms/transformOperatorFilterToWQL.tsx +150 -0
- package/src/components/DataExtension/CollectionDataExtensionState.ts +4 -0
- package/src/components/DragHandle/DragHandle.st.css.ts +2 -2
- package/src/components/EntityPage/EntityPagePlain.st.css.ts +2 -2
- package/src/components/Fade/Fade.st.css.ts +2 -2
- package/src/components/FiltersPanel/FiltersPanel.uni.driver.ts +41 -0
- package/src/components/Heading/Heading.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.ts +2 -2
- package/src/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.ts +2 -2
- package/src/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.ts +2 -2
- package/src/components/OperatorFilterPicker/OperatorFilterPicker.tsx +99 -0
- package/src/components/OperatorFilterPicker/index.ts +4 -0
- 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/ScrollableContent/ScrollableContent.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/Suggestions/MarketingCard.tsx +19 -11
- package/src/components/Suggestions/SuggestionCtaWrapper.tsx +31 -0
- package/src/components/Suggestions/Suggestions.tsx +33 -29
- package/src/components/Suggestions/SuggestionsContext.tsx +34 -0
- package/src/components/Suggestions/index.ts +10 -5
- package/src/components/TabsFilter/TabsFilter.st.css.ts +2 -2
- package/src/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.ts +2 -2
- package/src/components/TagsAssignButton/TagsAssignButton.tsx +38 -20
- 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/hooks/index.ts +1 -0
- package/src/hooks/useOperatorFilterState.ts +37 -0
- package/src/index.ts +9 -0
- package/src/state/CollectionPage/CollectionPageHeader.st.css.ts +2 -2
- package/src/state/FormPage/FormPageHeader.st.css.ts +2 -2
- package/src/state/OperatorFilterPickerState.ts +136 -0
- package/src/state/Suggestions/SuggestionsBIReporter.ts +15 -0
- package/src/state/Suggestions/SuggestionsState.ts +6 -2
- package/src/state/TagsBulkAssignPopoverState.ts +13 -0
- package/src/state/index.ts +1 -0
- package/src/styles.global.css +1 -1
- package/src/test-utils/DealerBIMock.ts +3 -3
- package/src/utils/ReturnFocus.ts +51 -0
- package/src/version.ts +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { useCallback, useRef } from 'react';
|
|
2
2
|
import { Box, Button } from '@wix/design-system';
|
|
3
3
|
import { TagSmall } from '@wix/wix-ui-icons-common';
|
|
4
4
|
import { useToolbarCollectionContext } from '../ToolbarCollectionContext';
|
|
@@ -10,10 +10,26 @@ import { observer } from 'mobx-react-lite';
|
|
|
10
10
|
const _TagsAssignButton = () => {
|
|
11
11
|
const toolbarCollectionState = useToolbarCollectionContext();
|
|
12
12
|
const { translate: t } = useWixPatternsContainer();
|
|
13
|
+
const buttonRef = useRef<HTMLButtonElement | null>(null);
|
|
13
14
|
|
|
14
15
|
const { tagsBulkAssignPopoverState } =
|
|
15
16
|
toolbarCollectionState.tagsCollectionState ?? {};
|
|
16
17
|
|
|
18
|
+
const setButtonRef = useCallback(
|
|
19
|
+
(element: HTMLElement | null) => {
|
|
20
|
+
if (!element || !tagsBulkAssignPopoverState) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
const el = element.querySelector('button') as HTMLButtonElement | null;
|
|
24
|
+
if (!el) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
buttonRef.current = el;
|
|
28
|
+
tagsBulkAssignPopoverState.triggerButtonRef = buttonRef;
|
|
29
|
+
},
|
|
30
|
+
[tagsBulkAssignPopoverState],
|
|
31
|
+
);
|
|
32
|
+
|
|
17
33
|
if (!tagsBulkAssignPopoverState) {
|
|
18
34
|
return null;
|
|
19
35
|
}
|
|
@@ -25,26 +41,28 @@ const _TagsAssignButton = () => {
|
|
|
25
41
|
state={tagsBulkAssignPopoverState}
|
|
26
42
|
popoverElement={
|
|
27
43
|
<Box>
|
|
28
|
-
<
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
<Button
|
|
34
|
-
skin="standard"
|
|
35
|
-
priority="secondary"
|
|
36
|
-
size="small"
|
|
37
|
-
ellipsis
|
|
38
|
-
prefixIcon={<TagSmall />}
|
|
39
|
-
dataHook="tags-assign-button"
|
|
40
|
-
onClick={() => {
|
|
41
|
-
tagsBulkAssignPopoverState.showPopover();
|
|
42
|
-
}}
|
|
43
|
-
disabled={tagsBulkAssignButtonState.isDisabled}
|
|
44
|
+
<div ref={setButtonRef} style={{ display: 'contents' }}>
|
|
45
|
+
<DisabledTooltip
|
|
46
|
+
content={tagsBulkAssignButtonState.tooltipContent}
|
|
47
|
+
disabled={!tagsBulkAssignButtonState.isDisabled}
|
|
48
|
+
dataHook="tags-assign-button-disabled-tooltip"
|
|
44
49
|
>
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
50
|
+
<Button
|
|
51
|
+
skin="standard"
|
|
52
|
+
priority="secondary"
|
|
53
|
+
size="small"
|
|
54
|
+
ellipsis
|
|
55
|
+
prefixIcon={<TagSmall />}
|
|
56
|
+
dataHook="tags-assign-button"
|
|
57
|
+
onClick={() => {
|
|
58
|
+
tagsBulkAssignPopoverState.showPopover();
|
|
59
|
+
}}
|
|
60
|
+
disabled={tagsBulkAssignButtonState.isDisabled}
|
|
61
|
+
>
|
|
62
|
+
{t('cairo.tags.collectionPage.add.CTA')}
|
|
63
|
+
</Button>
|
|
64
|
+
</DisabledTooltip>
|
|
65
|
+
</div>
|
|
48
66
|
</Box>
|
|
49
67
|
}
|
|
50
68
|
/>
|
|
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var _namespace_ = "
|
|
8
|
+
var _namespace_ = "ToolbarItem1857061624";
|
|
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":"ToolbarItem1857061624__root"};
|
|
17
17
|
export var keyframes = {};
|
|
18
18
|
export var layers = {};
|
|
19
19
|
export var containers = {};
|
|
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var _namespace_ = "
|
|
8
|
+
var _namespace_ = "ToolbarItemBox4128650836";
|
|
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":"ToolbarItemBox4128650836__root"};
|
|
17
17
|
export var keyframes = {};
|
|
18
18
|
export var layers = {};
|
|
19
19
|
export var containers = {};
|
|
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../stylable-esm-runtime.js";
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var _namespace_ = "
|
|
8
|
+
var _namespace_ = "common697212429";
|
|
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":"common697212429__root","column":"common697212429__column","fullHeight":"common697212429__fullHeight"};
|
|
17
17
|
export var keyframes = {};
|
|
18
18
|
export var layers = {};
|
|
19
19
|
export var containers = {};
|
package/src/hooks/index.ts
CHANGED
|
@@ -8,6 +8,7 @@ export * from './customModalContent';
|
|
|
8
8
|
export * from './useDropdownSelectFilterState';
|
|
9
9
|
export * from './useAmbassador';
|
|
10
10
|
export * from './useDateRangeFilterState';
|
|
11
|
+
export * from './useOperatorFilterState';
|
|
11
12
|
export * from './useGridFolders';
|
|
12
13
|
export * from './useTableFolders';
|
|
13
14
|
export * from './useTableCollection';
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { useState } from 'react';
|
|
2
|
+
import { OperatorFilterPickerState } from '../state/OperatorFilterPickerState';
|
|
3
|
+
import { FilterOperator, OperatorFilterValue } from '@wix/bex-core';
|
|
4
|
+
import type { Filter } from '@wix/bex-core';
|
|
5
|
+
import { useFilterToolbarState } from '../providers';
|
|
6
|
+
|
|
7
|
+
export interface UseOperatorFilterStateParams<T> {
|
|
8
|
+
filter: Filter<OperatorFilterValue<T>>;
|
|
9
|
+
allowedOperators: FilterOperator[];
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Hook to create and manage OperatorFilterPickerState
|
|
14
|
+
* Follows the same pattern as useDateRangeFilterState
|
|
15
|
+
*/
|
|
16
|
+
export function useOperatorFilterState<T>(
|
|
17
|
+
params: UseOperatorFilterStateParams<T>,
|
|
18
|
+
) {
|
|
19
|
+
const { filter, allowedOperators } = params;
|
|
20
|
+
|
|
21
|
+
const toolbar = useFilterToolbarState();
|
|
22
|
+
|
|
23
|
+
const [state] = useState(() => {
|
|
24
|
+
if (filter.value === undefined) {
|
|
25
|
+
filter.changeValue(
|
|
26
|
+
{ operator: allowedOperators[0], value: null },
|
|
27
|
+
{ emitEvents: [] },
|
|
28
|
+
);
|
|
29
|
+
}
|
|
30
|
+
return new OperatorFilterPickerState<T>({
|
|
31
|
+
filter,
|
|
32
|
+
toolbar,
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
return state;
|
|
37
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -17,6 +17,7 @@ export * from './components/MultiSelectCollectionFilter';
|
|
|
17
17
|
export * from './components/MultiInlineCheckboxFilter';
|
|
18
18
|
export * from './components/DateRangeFilter';
|
|
19
19
|
export * from './components/NumberRangeFilter';
|
|
20
|
+
export * from './components/OperatorFilterPicker';
|
|
20
21
|
export * from './components/CollectionContext';
|
|
21
22
|
export * from './components/CollectionToolbarFilters';
|
|
22
23
|
export * from './components/BulkActionToolbar';
|
|
@@ -156,6 +157,7 @@ export { DragAndDropSubmit, IndexedItem } from './components/DragAndDrop';
|
|
|
156
157
|
|
|
157
158
|
export { DataExtension } from './components/DataExtension';
|
|
158
159
|
export { transformCustomFiltersToWQL } from './components/CustomFieldsTransforms/transformCustomFiltersToWQL';
|
|
160
|
+
export { transformOperatorFilterToWQL } from './components/CustomFieldsTransforms/transformOperatorFilterToWQL';
|
|
159
161
|
export { transformSortToWQL } from './components/CustomFieldsTransforms/transformSortToWQL';
|
|
160
162
|
|
|
161
163
|
export { ExtensionMenuItems } from './components/ExtensionMenuItems';
|
|
@@ -236,6 +238,13 @@ export {
|
|
|
236
238
|
numberRangeFilter,
|
|
237
239
|
RangeItem,
|
|
238
240
|
RangeFilterStateParams,
|
|
241
|
+
operatorFilter,
|
|
242
|
+
OperatorFilterState,
|
|
243
|
+
OperatorFilterValue,
|
|
244
|
+
OperatorFilterStateParams,
|
|
245
|
+
FilterOperator,
|
|
246
|
+
getOperatorLabel,
|
|
247
|
+
TranslationsKeys,
|
|
239
248
|
Dataset,
|
|
240
249
|
useCollectionDatasetSync,
|
|
241
250
|
} from '@wix/bex-core';
|
|
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var _namespace_ = "
|
|
8
|
+
var _namespace_ = "CollectionPageHeader3734702782";
|
|
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":"CollectionPageHeader3734702782__root"};
|
|
17
17
|
export var keyframes = {};
|
|
18
18
|
export var layers = {};
|
|
19
19
|
export var containers = {};
|
|
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var _namespace_ = "
|
|
8
|
+
var _namespace_ = "FormPageHeader634573734";
|
|
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":"FormPageHeader634573734__root"};
|
|
17
17
|
export var keyframes = {};
|
|
18
18
|
export var layers = {};
|
|
19
19
|
export var containers = {};
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Filter,
|
|
3
|
+
FilterOperator,
|
|
4
|
+
OperatorFilterValue,
|
|
5
|
+
operatorNeedsValue as coreOperatorNeedsValue,
|
|
6
|
+
} from '@wix/bex-core';
|
|
7
|
+
import { action, computed, makeObservable, observable, reaction } from 'mobx';
|
|
8
|
+
import { FilterToolbarState } from '../providers';
|
|
9
|
+
import { debounce } from 'lodash';
|
|
10
|
+
|
|
11
|
+
export interface OperatorFilterPickerStateParams<T> {
|
|
12
|
+
toolbar: FilterToolbarState;
|
|
13
|
+
filter: Filter<OperatorFilterValue<T>>;
|
|
14
|
+
/**
|
|
15
|
+
* Debounce delay in milliseconds before applying filter changes
|
|
16
|
+
* @default 300
|
|
17
|
+
*/
|
|
18
|
+
debounceMs?: number;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export class OperatorFilterPickerState<T> {
|
|
22
|
+
readonly toolbar: FilterToolbarState;
|
|
23
|
+
readonly _filter: OperatorFilterPickerStateParams<T>['filter'];
|
|
24
|
+
private readonly debouncedRefresh: () => void;
|
|
25
|
+
|
|
26
|
+
operator: FilterOperator;
|
|
27
|
+
value: T | null;
|
|
28
|
+
|
|
29
|
+
get filter() {
|
|
30
|
+
return this.toolbar.getPendingFilter(this._filter);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
constructor(params: OperatorFilterPickerStateParams<T>) {
|
|
34
|
+
this.toolbar = params.toolbar;
|
|
35
|
+
this._filter = params.filter;
|
|
36
|
+
this.operator = params.filter.value?.operator!;
|
|
37
|
+
this.value = params.filter.value?.value ?? null;
|
|
38
|
+
|
|
39
|
+
const debounceMs = params.debounceMs ?? 300;
|
|
40
|
+
this.debouncedRefresh = debounce(
|
|
41
|
+
() => this.refreshIfChanged({ actionType: 'add' }),
|
|
42
|
+
debounceMs,
|
|
43
|
+
);
|
|
44
|
+
|
|
45
|
+
makeObservable(this, {
|
|
46
|
+
operator: observable,
|
|
47
|
+
value: observable,
|
|
48
|
+
isEmpty: computed,
|
|
49
|
+
init: action,
|
|
50
|
+
setOperator: action,
|
|
51
|
+
setValue: action,
|
|
52
|
+
onChange: action,
|
|
53
|
+
applyImmediately: action,
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
get isEmpty() {
|
|
58
|
+
return this.filter.isEmpty;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
get currentValue(): OperatorFilterValue<T> {
|
|
62
|
+
return {
|
|
63
|
+
operator: this.operator,
|
|
64
|
+
value: this.value,
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
init() {
|
|
69
|
+
const dispose = reaction(
|
|
70
|
+
() => this.filter.value,
|
|
71
|
+
(filterValue) => {
|
|
72
|
+
this.operator = filterValue.operator;
|
|
73
|
+
this.value = filterValue.value;
|
|
74
|
+
},
|
|
75
|
+
{ fireImmediately: true },
|
|
76
|
+
);
|
|
77
|
+
|
|
78
|
+
return () => {
|
|
79
|
+
dispose();
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
remove() {
|
|
84
|
+
this.refreshIfChanged({ actionType: 'remove' });
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
setOperator(operator: FilterOperator) {
|
|
88
|
+
this.operator = operator;
|
|
89
|
+
if (!this.operatorNeedsValue()) {
|
|
90
|
+
this.value = null;
|
|
91
|
+
}
|
|
92
|
+
this.applyImmediately();
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
setValue(value: T | null) {
|
|
96
|
+
this.value = value;
|
|
97
|
+
this.onChange();
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Called when value changes - debounced
|
|
102
|
+
*/
|
|
103
|
+
onChange() {
|
|
104
|
+
this.debouncedRefresh();
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Apply filter changes immediately (used for operator changes)
|
|
109
|
+
*/
|
|
110
|
+
applyImmediately() {
|
|
111
|
+
this.refreshIfChanged({ actionType: 'add' });
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
private refreshIfChanged(
|
|
115
|
+
options: { actionType?: 'add' | 'remove'; clickedValueKey?: string } = {},
|
|
116
|
+
) {
|
|
117
|
+
const newValue = this.currentValue;
|
|
118
|
+
|
|
119
|
+
if (this.filter.hasDiff(newValue)) {
|
|
120
|
+
this.filter.setValue(newValue, {
|
|
121
|
+
emitEvents: ['change', 'beforeRefresh', 'refresh'],
|
|
122
|
+
...options,
|
|
123
|
+
});
|
|
124
|
+
return true;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
return false;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* Check if the given operator requires a value input
|
|
132
|
+
*/
|
|
133
|
+
operatorNeedsValue(): boolean {
|
|
134
|
+
return coreOperatorNeedsValue(this.operator);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
@@ -41,4 +41,19 @@ export class SuggestionsBIReporter {
|
|
|
41
41
|
}),
|
|
42
42
|
);
|
|
43
43
|
}
|
|
44
|
+
|
|
45
|
+
reportOfferClicked(offerId: string, targetUrl?: string) {
|
|
46
|
+
this.httpClient.request(
|
|
47
|
+
reportEvent({
|
|
48
|
+
event: {
|
|
49
|
+
type: EventType.MAIN_CTA_CLICK,
|
|
50
|
+
offerId,
|
|
51
|
+
realEstateId: this.realEstateId,
|
|
52
|
+
mainCtaClick: {
|
|
53
|
+
targetUrl: targetUrl ?? '',
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
}),
|
|
57
|
+
);
|
|
58
|
+
}
|
|
44
59
|
}
|
|
@@ -80,7 +80,11 @@ export class SuggestionsState {
|
|
|
80
80
|
return this.offers.length > 0;
|
|
81
81
|
}
|
|
82
82
|
|
|
83
|
-
onOfferViewed(offerId: string) {
|
|
83
|
+
onOfferViewed = (offerId: string) => {
|
|
84
84
|
this.bi.reportOfferViewed(offerId);
|
|
85
|
-
}
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
onOfferClicked = (offerId: string, targetUrl?: string) => {
|
|
88
|
+
this.bi.reportOfferClicked(offerId, targetUrl);
|
|
89
|
+
};
|
|
86
90
|
}
|
|
@@ -57,6 +57,7 @@ export class TagsBulkAssignPopoverState<T, F extends FiltersMap> {
|
|
|
57
57
|
optimisticNewTag: Tag | null = null;
|
|
58
58
|
isShown = false;
|
|
59
59
|
searchValue: string = '';
|
|
60
|
+
triggerButtonRef: React.RefObject<HTMLButtonElement> | null = null;
|
|
60
61
|
|
|
61
62
|
constructor({
|
|
62
63
|
tagsManagementState,
|
|
@@ -159,6 +160,18 @@ export class TagsBulkAssignPopoverState<T, F extends FiltersMap> {
|
|
|
159
160
|
this.initialSelectedIds = [];
|
|
160
161
|
this.initialIndeterminateTagIds = [];
|
|
161
162
|
this.indeterminateTagIds = [];
|
|
163
|
+
|
|
164
|
+
requestAnimationFrame(() => {
|
|
165
|
+
const el = this.triggerButtonRef?.current;
|
|
166
|
+
if (
|
|
167
|
+
el &&
|
|
168
|
+
document.contains(el) &&
|
|
169
|
+
!el.disabled &&
|
|
170
|
+
el.getAttribute('aria-disabled') !== 'true'
|
|
171
|
+
) {
|
|
172
|
+
el.focus();
|
|
173
|
+
}
|
|
174
|
+
});
|
|
162
175
|
}
|
|
163
176
|
|
|
164
177
|
async createAndAssignTag(name: string) {
|
package/src/state/index.ts
CHANGED
|
@@ -7,6 +7,7 @@ export * from './DropdownSelectFilterState';
|
|
|
7
7
|
export * from './DropdownCollectionFilterState';
|
|
8
8
|
export * from './DateRangePickerState';
|
|
9
9
|
export * from './DateRangeFilterState';
|
|
10
|
+
export * from './OperatorFilterPickerState';
|
|
10
11
|
export * from './PickerStandaloneState';
|
|
11
12
|
export * from './ViewsState';
|
|
12
13
|
export * from './PickerContentState';
|
package/src/styles.global.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.
|
|
1
|
+
.CardContainer1374981873__root.CardContainer1374981873--mobile{border-radius:0}.Collapse3883588704__root{transition-property:height;transition-timing-function:cubic-bezier(.4,0,.2,1)}.Collapse3883588704__exit{height:0}.CollectionPage1631788081__root [data-hook=page-header-wrapper]{--wds-space-300:18px}.CollectionPage1631788081__root.CollectionPage1631788081--mobile{--wds-page-header-padding-horizontal:0;--wds-color-fill-surface-sunken:#ffffff}.CollectionPage1631788081__root.CollectionPage1631788081--panel{overflow:hidden;position:relative}.CollectionTable3740269364__root td{vertical-align:middle}.CollectionTable3740269364__root.CollectionTable3740269364--mobile td:first-child{padding-left:18px}.CollectionTable3740269364__root.CollectionTable3740269364--mobile td:last-child{padding-right:18px}.CollectionToolbar1535253319__left{min-width:0}.CollectionToolbar1535253319__root.CollectionToolbar1535253319--views .CollectionToolbar1535253319__left{flex-shrink:1;flex-grow:0}.CollectionToolbar1535253319__left.CollectionToolbar1535253319--expandable{flex:auto}.CollectionToolbar1535253319__root .CollectionToolbar1535253319__right{justify-content:flex-end!important;flex-grow:1;flex-shrink:1;flex-basis:auto}.CollectionToolbar1535253319__root.CollectionToolbar1535253319--views .CollectionToolbar1535253319__right{min-width:0;flex-grow:1;flex-shrink:0;flex-basis:0}.CollectionToolbar1535253319__root .CollectionToolbar1535253319__right.CollectionToolbar1535253319__fullWidth{margin-inline-start:0!important}.CollectionToolbar1535253319__root.CollectionToolbar1535253319--mobile{padding-right:18px;padding-left:18px}.SearchOrCustomFilter107442870__search{min-width:140px;max-width:240px;flex:1 0}.SearchOrCustomFilter107442870__searchMobile{justify-content:flex-end;position:absolute;right:18px}.SearchOrCustomFilter107442870__searchMobile:not(.SearchOrCustomFilter107442870--expandable){left:18px}.SearchOrCustomFilter107442870__searchMobile.SearchOrCustomFilter107442870--expandable.SearchOrCustomFilter107442870--expanded{left:18px}.AutoCompleteReadonly2842135052__root.AutoCompleteReadonly2842135052--disableEditing{cursor:pointer}.AutoCompleteReadonly2842135052__root.AutoCompleteReadonly2842135052--disableEditing input{cursor:pointer}.ViewsDropdown375570765__root{width:200px}.DragHandle3358271943__root{display:flex;align-items:center}.DragHandle3358271943__root:not(.DragHandle3358271943--disabled){cursor:grab;color:#a8caff}.DragHandle3358271943__root.DragHandle3358271943--disabled{color:#acafc4}.DragHandle3358271943__root:focus-visible:not(.DragHandle3358271943--disabled){outline:0;box-shadow:0 0 0 3px #a6d0ff}.DragHandle3358271943__root.DragHandle3358271943--disabled{pointer-events:none}.DragHandle3358271943__root.DragHandle3358271943--dragging:not(.DragHandle3358271943--disabled){cursor:grabbing}.EntityPagePlain2787015463__root.EntityPagePlain2787015463--mobile{--wds-page-header-padding-horizontal:0}.Fade1843300999__root{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);opacity:1}.Fade1843300999__root.Fade1843300999--exit{opacity:0}.Heading544817180__root{visibility:visible}.Heading544817180__root.Heading544817180--appearanceH2{font-size:28px!important;line-height:36px!important}.InputOverflow3505318779__root.InputOverflow3505318779--selected:not(.InputOverflow3505318779--focused) input::placeholder{color:#000624}@keyframes LoadingRow2007478854__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%}}.LoadingRow2007478854__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:LoadingRow2007478854__gradientSwoosh 2s ease-out infinite alternate}.MaxHeightText34910617__root{opacity:1}.MaxHeightText34910617__root.MaxHeightText34910617--height24{line-height:24px}.MaxLines1782867392__root{overflow:hidden}.MaxLines1782867392__root.MaxLines1782867392--clamp{-webkit-box-orient:vertical;display:-webkit-box}.MultiBulkActionToolbar3671766982__root{min-width:0}.MultiBulkActionToolbar3671766982__leftGroupWrapper{overflow:hidden;padding-right:12px;min-width:0;flex-wrap:nowrap;align-items:center}.MultiBulkActionToolbar3671766982__selectedCountItem{min-width:0;flex-shrink:1;white-space:nowrap;overflow:hidden}.MultiBulkActionToolbar3671766982__selectedCountText{display:block;width:100%}.NestedTablePlaceholderStatesRow3628483870__root td{padding:0!important;width:100%}.NestedTableRow3295565450__firstLevel td{padding-top:18px!important;padding-bottom:18px!important}.NestedTableRow3295565450__root:hover{background-color:#e7f0ff!important}.NestedTableRow3295565450__root.NestedTableRow3295565450--expandable{cursor:pointer}.NestedTableRow3295565450__placeholder td{padding:0!important;width:100%}.NestedTableRow3295565450__root:hover td:first-of-type::before,.NestedTableRow3295565450__parentHovered td:first-of-type::before{content:"";position:absolute;top:0;bottom:0;left:0;width:2px;background-color:#5999ff}.MultipleDragOverlayEffect512304699__root{position:absolute;transform:translate(6px,6px);background-color:#fff;box-shadow:0 2px 4px 0 rgba(0,6,36,.12),0 0 6px 0 rgba(0,6,36,.12)}.NestedTableDragAndDropRow1845819645__root.NestedTableDragAndDropRow1845819645--draggingInto td{background-color:#e7f0ff!important}.PickerContent2079061321__root{display:flex}.PickerContentAdditionalStep3028514075__titles{display:flex;justify-content:center;flex:1 1 auto;overflow:hidden;flex-direction:column}.PickerContentAdditionalStep3028514075__suffix{display:flex;align-items:center;flex:0 0 auto;overflow:hidden}.PickerTableListItem3373986971__root{box-sizing:border-box}.ScrollableContent762496695__root.ScrollableContent762496695--overflowY{overflow-y:auto}.ScrollableContent762496695__root.ScrollableContent762496695--overflowX{overflow-x:auto}.ScrollableContent762496695__root.ScrollableContent762496695--smooth{scroll-behavior:smooth}.SkeletonCard4133525042__headerLoading{display:block!important}.SlidingModal2522931252__root{transition:transform .4s ease 0s;position:fixed;z-index:1}.SlidingModal2522931252__root.SlidingModal2522931252--overlay{transition:transform 0s ease 0s}.SlidingModal2522931252__root.SlidingModal2522931252---appendTo-6-parent{position:absolute}.SlidingModal2522931252__root:not(.SlidingModal2522931252--exited){box-shadow:0 3px 24px 0 rgba(22,45,61,.18),0 8px 8px 0 rgba(22,45,61,.12)}.TabsFilter1787234641__root .TabsFilter1787234641__title{color:inherit!important}.ManageTagsModal4215666322__root{display:flex}.ToolbarItem1857061624__root{min-width:0}.ToolbarItemBox4128650836__root{min-width:0}.ToolbarItemBox4128650836__root.ToolbarItemBox4128650836--removeStartPadding{margin-left:-24px}.ToolbarItemBox4128650836__root.ToolbarItemBox4128650836--expandable{flex:1 0}.common697212429__column{display:flex;flex-direction:column}.common697212429__fullHeight{height:100%;min-height:0}.CollectionPageHeader3734702782__root.CollectionPageHeader3734702782--mobile{flex-direction:column;padding-right:18px;padding-left:18px}.CollectionPageHeader3734702782__root.CollectionPageHeader3734702782--mobile>*{margin-left:0;margin-top:6px!important;height:auto}.FormPageHeader634573734__root.FormPageHeader634573734--mobile{flex-direction:column;padding-right:18px;padding-left:18px}.FormPageHeader634573734__root.FormPageHeader634573734--mobile>*{margin-left:0;margin-top:6px!important;height:auto}
|
|
@@ -65,8 +65,8 @@ interface DealerBITestkit {
|
|
|
65
65
|
|
|
66
66
|
/** Access VIEW events */
|
|
67
67
|
view: EventTypeAccessor;
|
|
68
|
-
/** Access
|
|
69
|
-
|
|
68
|
+
/** Access MAIN_CTA_CLICK events */
|
|
69
|
+
mainCtaClick: EventTypeAccessor;
|
|
70
70
|
|
|
71
71
|
/** Get all captured events (any type) */
|
|
72
72
|
all: () => ReportEventData[];
|
|
@@ -107,7 +107,7 @@ const dealerBITestkit: DealerBITestkit = {
|
|
|
107
107
|
httpMock,
|
|
108
108
|
|
|
109
109
|
view: createEventTypeAccessor('VIEW'),
|
|
110
|
-
|
|
110
|
+
mainCtaClick: createEventTypeAccessor('MAIN_CTA_CLICK'),
|
|
111
111
|
|
|
112
112
|
all: _getAllEventsOfType,
|
|
113
113
|
last: () => {
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Manages focus restoration when opening/closing overlays (modals, popovers).
|
|
3
|
+
*/
|
|
4
|
+
export class ReturnFocus {
|
|
5
|
+
private triggerElement: HTMLElement | null = null;
|
|
6
|
+
private fallbackSelector: string | null = null;
|
|
7
|
+
|
|
8
|
+
/** Fallback selector if the trigger element is re-mounted. */
|
|
9
|
+
setFallbackSelector(selector: string | null) {
|
|
10
|
+
this.fallbackSelector = selector;
|
|
11
|
+
return this;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/** Captures the trigger element on open. */
|
|
15
|
+
onOpen(element?: HTMLElement) {
|
|
16
|
+
this.triggerElement = element ?? (document.activeElement as HTMLElement | null);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/** Restores focus to the trigger element on close. */
|
|
20
|
+
onClose() {
|
|
21
|
+
requestAnimationFrame(() => {
|
|
22
|
+
if (this.tryFocus(this.triggerElement)) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
if (this.fallbackSelector) {
|
|
27
|
+
const bySelector = document.querySelector<HTMLElement>(
|
|
28
|
+
this.fallbackSelector,
|
|
29
|
+
);
|
|
30
|
+
this.tryFocus(bySelector);
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
private tryFocus(el: HTMLElement | null): boolean {
|
|
36
|
+
if (!el) {
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
if (!document.contains(el)) {
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
if (
|
|
43
|
+
el.matches(':disabled') ||
|
|
44
|
+
el.getAttribute('aria-disabled') === 'true'
|
|
45
|
+
) {
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
el.focus();
|
|
49
|
+
return document.activeElement === el;
|
|
50
|
+
}
|
|
51
|
+
}
|
package/src/version.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const version = 'patterns@1.
|
|
1
|
+
export const version = 'patterns@1.332.0';
|