@wix/patterns 1.308.0 → 1.317.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/ActionSubItemProps.js.map +1 -1
- package/dist/cjs/components/ArchivedItemsPanel/ArchivedItemsCTAButton.js +25 -15
- package/dist/cjs/components/ArchivedItemsPanel/ArchivedItemsCTAButton.js.map +1 -1
- package/dist/cjs/components/ArchivedItemsPanel/ArchivedItemsPanel.js +26 -79
- package/dist/cjs/components/ArchivedItemsPanel/ArchivedItemsPanel.js.map +1 -1
- package/dist/cjs/components/ArchivedItemsPanel/DeleteFieldModal.js +74 -0
- package/dist/cjs/components/ArchivedItemsPanel/DeleteFieldModal.js.map +1 -0
- 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/CollectionCard/CollectionCard.js +24 -15
- package/dist/cjs/components/CollectionCard/CollectionCard.js.map +1 -1
- package/dist/cjs/components/CollectionErrorState/CollectionErrorState.js.map +1 -1
- package/dist/cjs/components/CollectionPageHeaderNew/CollectionPageHeader.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.js +26 -24
- package/dist/cjs/components/CollectionToolbar/CollectionToolbar.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/CollectionToolbarActionsGroupProps.js.map +1 -1
- package/dist/cjs/components/CollectionToolbar/CollectionToolbarActionsGroupResponsiveLayout.js +12 -10
- package/dist/cjs/components/CollectionToolbar/CollectionToolbarActionsGroupResponsiveLayout.js.map +1 -1
- package/dist/cjs/components/CollectionToolbar/CollectionToolbarActionsToolbarItemsGroup.js +42 -28
- package/dist/cjs/components/CollectionToolbar/CollectionToolbarActionsToolbarItemsGroup.js.map +1 -1
- package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.js +14 -10
- package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.js.map +1 -1
- package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css +4 -5
- 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/CollectionToolbar/useIsCollectionToolbarExists.js +3 -2
- package/dist/cjs/components/CollectionToolbar/useIsCollectionToolbarExists.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/CustomColumnsPanel/CustomColumnsPanel.js +5 -2
- package/dist/cjs/components/CustomColumnsPanel/CustomColumnsPanel.js.map +1 -1
- package/dist/cjs/components/CustomDrawerLayout.js +99 -0
- package/dist/cjs/components/CustomDrawerLayout.js.map +1 -0
- package/dist/cjs/components/CustomFieldsWidget/CustomFieldsWidgetCommonComponents.js +12 -3
- package/dist/cjs/components/CustomFieldsWidget/CustomFieldsWidgetCommonComponents.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/ExportButton/ExportButton.js +55 -37
- package/dist/cjs/components/ExportButton/ExportButton.js.map +1 -1
- package/dist/cjs/components/ExportButton/ExportButtonModalLayout.js +16 -1
- package/dist/cjs/components/ExportButton/ExportButtonModalLayout.js.map +1 -1
- package/dist/cjs/components/ExportButton/ExportModal.js +26 -10
- package/dist/cjs/components/ExportButton/ExportModal.js.map +1 -1
- package/dist/cjs/components/ExportButton/ExportModal.uni.driver.js +8 -7
- package/dist/cjs/components/ExportButton/ExportModal.uni.driver.js.map +1 -1
- package/dist/cjs/components/ExportButton/ExportStepProgress.js +1 -1
- package/dist/cjs/components/ExportButton/ExportStepProgress.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/FiltersPanelAppliedFiltersSection.js +2 -0
- package/dist/cjs/components/FiltersPanel/FiltersPanelAppliedFiltersSection.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/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 +244 -0
- package/dist/cjs/components/Suggestions/MarketingCard.js.map +1 -0
- package/dist/cjs/components/Suggestions/MarketingCard.uni.driver.js +26 -0
- package/dist/cjs/components/Suggestions/MarketingCard.uni.driver.js.map +1 -0
- package/dist/cjs/components/Suggestions/Suggestions.js +102 -48
- package/dist/cjs/components/Suggestions/Suggestions.js.map +1 -1
- package/dist/cjs/components/Suggestions/Suggestions.uni.driver.js +67 -17
- package/dist/cjs/components/Suggestions/Suggestions.uni.driver.js.map +1 -1
- package/dist/cjs/components/Suggestions/index.js +5 -5
- package/dist/cjs/components/Suggestions/index.js.map +1 -1
- package/dist/cjs/components/Suggestions/types.js +4 -0
- package/dist/cjs/components/Suggestions/types.js.map +1 -0
- package/dist/cjs/components/TabTotal/TabTotalCounterBadge.js +4 -1
- package/dist/cjs/components/TabTotal/TabTotalCounterBadge.js.map +1 -1
- package/dist/cjs/components/TabsFilter/TabsDropdown.js +8 -6
- package/dist/cjs/components/TabsFilter/TabsDropdown.js.map +1 -1
- package/dist/cjs/components/TabsFilter/TabsFilter.js +14 -8
- package/dist/cjs/components/TabsFilter/TabsFilter.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/ToolbarCollection/ToolbarCollection.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/ToolbarTitle/ToolbarTitle.js +17 -9
- package/dist/cjs/components/ToolbarTitle/ToolbarTitle.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/testkit/unidriver.js +4 -1
- package/dist/cjs/exports/testkit/unidriver.js.map +1 -1
- package/dist/cjs/hooks/useBulkActionMobileGroups.js +2 -1
- package/dist/cjs/hooks/useBulkActionMobileGroups.js.map +1 -1
- package/dist/cjs/hooks/useItemsSelectionFilter/useItemsSelectionFilter.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/NestedTableState/NestedTableNodeStateOptimisticActions.js.map +1 -1
- package/dist/cjs/state/NestedTableState/NestedTableNodeStatePublicAPI.js.map +1 -1
- package/dist/cjs/state/NestedTableState/index.js +5 -2
- package/dist/cjs/state/NestedTableState/index.js.map +1 -1
- package/dist/cjs/state/ToolbarCollectionState.js +3 -1
- package/dist/cjs/state/ToolbarCollectionState.js.map +1 -1
- package/dist/cjs/styles.global.css +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/version.js.map +1 -1
- package/dist/cjs/wix-design-system-version.js +1 -1
- package/dist/cjs/wix-design-system-version.js.map +1 -1
- package/dist/esm/components/ArchivedItemsPanel/ArchivedItemsCTAButton.js +6 -5
- package/dist/esm/components/ArchivedItemsPanel/ArchivedItemsCTAButton.js.map +1 -1
- package/dist/esm/components/ArchivedItemsPanel/ArchivedItemsPanel.js +25 -44
- package/dist/esm/components/ArchivedItemsPanel/ArchivedItemsPanel.js.map +1 -1
- package/dist/esm/components/ArchivedItemsPanel/DeleteFieldModal.js +22 -0
- package/dist/esm/components/ArchivedItemsPanel/DeleteFieldModal.js.map +1 -0
- package/dist/esm/components/CardContainer/CardContainer.st.css.js +2 -2
- package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
- package/dist/esm/components/CollectionCard/CollectionCard.js +3 -1
- package/dist/esm/components/CollectionCard/CollectionCard.js.map +1 -1
- 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.js +3 -2
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.js.map +1 -1
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js.map +1 -1
- package/dist/esm/components/CollectionToolbar/CollectionToolbarActionsGroupResponsiveLayout.js +2 -2
- package/dist/esm/components/CollectionToolbar/CollectionToolbarActionsGroupResponsiveLayout.js.map +1 -1
- package/dist/esm/components/CollectionToolbar/CollectionToolbarActionsToolbarItemsGroup.js +20 -14
- package/dist/esm/components/CollectionToolbar/CollectionToolbarActionsToolbarItemsGroup.js.map +1 -1
- package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.js +11 -8
- package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.js.map +1 -1
- package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css +4 -5
- package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
- package/dist/esm/components/CollectionToolbar/useIsCollectionToolbarExists.js +2 -2
- package/dist/esm/components/CollectionToolbar/useIsCollectionToolbarExists.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/CustomColumnsPanel/CustomColumnsPanel.js +1 -1
- package/dist/esm/components/CustomColumnsPanel/CustomColumnsPanel.js.map +1 -1
- package/dist/esm/components/CustomDrawerLayout.js +13 -0
- package/dist/esm/components/CustomDrawerLayout.js.map +1 -0
- package/dist/esm/components/CustomFieldsWidget/CustomFieldsWidgetCommonComponents.js +3 -1
- package/dist/esm/components/CustomFieldsWidget/CustomFieldsWidgetCommonComponents.js.map +1 -1
- package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
- package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js +2 -2
- package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js.map +1 -1
- package/dist/esm/components/ExportButton/ExportButton.js +10 -3
- package/dist/esm/components/ExportButton/ExportButton.js.map +1 -1
- package/dist/esm/components/ExportButton/ExportButtonModalLayout.js +6 -0
- package/dist/esm/components/ExportButton/ExportButtonModalLayout.js.map +1 -1
- package/dist/esm/components/ExportButton/ExportModal.js +8 -3
- package/dist/esm/components/ExportButton/ExportModal.js.map +1 -1
- package/dist/esm/components/ExportButton/ExportModal.uni.driver.js +8 -7
- package/dist/esm/components/ExportButton/ExportModal.uni.driver.js.map +1 -1
- package/dist/esm/components/ExportButton/ExportStepProgress.js +1 -1
- package/dist/esm/components/ExportButton/ExportStepProgress.js.map +1 -1
- 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/FiltersPanelAppliedFiltersSection.js +1 -0
- package/dist/esm/components/FiltersPanel/FiltersPanelAppliedFiltersSection.js.map +1 -1
- package/dist/esm/components/Heading/Heading.st.css.js +2 -2
- 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/LoadingRow/LoadingRow.st.css.js.map +1 -1
- package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
- package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
- package/dist/esm/components/MaxLines/MaxLines.st.css.js.map +1 -1
- 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/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
- package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
- package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js +2 -2
- 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/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 +60 -0
- package/dist/esm/components/Suggestions/MarketingCard.js.map +1 -0
- package/dist/esm/components/Suggestions/MarketingCard.uni.driver.js +22 -0
- package/dist/esm/components/Suggestions/MarketingCard.uni.driver.js.map +1 -0
- package/dist/esm/components/Suggestions/Suggestions.js +33 -6
- package/dist/esm/components/Suggestions/Suggestions.js.map +1 -1
- package/dist/esm/components/Suggestions/Suggestions.uni.driver.js +67 -18
- package/dist/esm/components/Suggestions/Suggestions.uni.driver.js.map +1 -1
- package/dist/esm/components/Suggestions/index.js +4 -1
- package/dist/esm/components/Suggestions/index.js.map +1 -1
- package/dist/esm/components/Suggestions/types.js +2 -0
- package/dist/esm/components/Suggestions/types.js.map +1 -0
- package/dist/esm/components/TabTotal/TabTotalCounterBadge.js +2 -2
- package/dist/esm/components/TabTotal/TabTotalCounterBadge.js.map +1 -1
- package/dist/esm/components/TabsFilter/TabsDropdown.js +3 -3
- package/dist/esm/components/TabsFilter/TabsDropdown.js.map +1 -1
- package/dist/esm/components/TabsFilter/TabsFilter.js +2 -2
- package/dist/esm/components/TabsFilter/TabsFilter.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/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.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/ToolbarTitle/ToolbarTitle.js +8 -2
- package/dist/esm/components/ToolbarTitle/ToolbarTitle.js.map +1 -1
- package/dist/esm/components/common.st.css.js +2 -2
- package/dist/esm/exports/testkit/unidriver.js +2 -1
- package/dist/esm/exports/testkit/unidriver.js.map +1 -1
- package/dist/esm/hooks/useBulkActionMobileGroups.js +2 -1
- package/dist/esm/hooks/useBulkActionMobileGroups.js.map +1 -1
- package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
- 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/NestedTableState/NestedTableNodeStateOptimisticActions.js.map +1 -1
- package/dist/esm/state/ToolbarCollectionState.js +2 -0
- package/dist/esm/state/ToolbarCollectionState.js.map +1 -1
- package/dist/esm/styles.global.css +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/wix-design-system-version.js +1 -1
- package/dist/types/components/ActionControl/ActionSubItemProps.d.ts +8 -6
- package/dist/types/components/ActionControl/ActionSubItemProps.d.ts.map +1 -1
- package/dist/types/components/ArchivedItemsPanel/ArchivedItemsCTAButton.d.ts +3 -1
- package/dist/types/components/ArchivedItemsPanel/ArchivedItemsCTAButton.d.ts.map +1 -1
- package/dist/types/components/ArchivedItemsPanel/ArchivedItemsPanel.d.ts.map +1 -1
- package/dist/types/components/ArchivedItemsPanel/DeleteFieldModal.d.ts +11 -0
- package/dist/types/components/ArchivedItemsPanel/DeleteFieldModal.d.ts.map +1 -0
- package/dist/types/components/CollectionCard/CollectionCard.d.ts.map +1 -1
- package/dist/types/components/CollectionErrorState/CollectionErrorState.d.ts +1 -1
- package/dist/types/components/CollectionPageHeaderNew/CollectionPageHeader.d.ts +4 -4
- 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/CollectionToolbar/CollectionToolbar.d.ts.map +1 -1
- package/dist/types/components/CollectionToolbar/CollectionToolbar.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionToolbar/CollectionToolbarActionsGroupProps.d.ts +2 -0
- package/dist/types/components/CollectionToolbar/CollectionToolbarActionsGroupProps.d.ts.map +1 -1
- package/dist/types/components/CollectionToolbar/CollectionToolbarActionsGroupResponsiveLayout.d.ts.map +1 -1
- package/dist/types/components/CollectionToolbar/CollectionToolbarActionsToolbarItemsGroup.d.ts +5 -1
- package/dist/types/components/CollectionToolbar/CollectionToolbarActionsToolbarItemsGroup.d.ts.map +1 -1
- package/dist/types/components/CollectionToolbar/SearchOrCustomFilter.d.ts +3 -0
- package/dist/types/components/CollectionToolbar/SearchOrCustomFilter.d.ts.map +1 -1
- package/dist/types/components/CollectionToolbar/useIsCollectionToolbarExists.d.ts +2 -1
- package/dist/types/components/CollectionToolbar/useIsCollectionToolbarExists.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/CustomColumnsPanel/CustomColumnsPanel.d.ts.map +1 -1
- package/dist/types/components/CustomDrawerLayout.d.ts +15 -0
- package/dist/types/components/CustomDrawerLayout.d.ts.map +1 -0
- package/dist/types/components/CustomFieldsWidget/CustomFieldsWidgetCommonComponents.d.ts.map +1 -1
- package/dist/types/components/EntityPage/EntityPagePlain.st.css.d.ts.map +1 -1
- package/dist/types/components/ExportButton/ExportButton.d.ts.map +1 -1
- package/dist/types/components/ExportButton/ExportButtonModalLayout.d.ts.map +1 -1
- package/dist/types/components/ExportButton/ExportModal.d.ts.map +1 -1
- package/dist/types/components/ExportButton/ExportModal.uni.driver.d.ts.map +1 -1
- package/dist/types/components/Fade/Fade.st.css.d.ts.map +1 -1
- package/dist/types/components/FiltersPanel/FiltersPanelAppliedFiltersSection.d.ts.map +1 -1
- package/dist/types/components/Grid/GridFolders.uni.driver.d.ts +4 -0
- package/dist/types/components/Grid/GridFolders.uni.driver.d.ts.map +1 -1
- package/dist/types/components/LoadingRow/LoadingRow.st.css.d.ts.map +1 -1
- package/dist/types/components/MaxLines/MaxLines.st.css.d.ts.map +1 -1
- package/dist/types/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.d.ts.map +1 -1
- package/dist/types/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.d.ts.map +1 -1
- package/dist/types/components/Suggestions/MarketingCard.d.ts +41 -0
- package/dist/types/components/Suggestions/MarketingCard.d.ts.map +1 -0
- package/dist/types/components/Suggestions/MarketingCard.uni.driver.d.ts +61 -0
- package/dist/types/components/Suggestions/MarketingCard.uni.driver.d.ts.map +1 -0
- package/dist/types/components/Suggestions/Suggestions.d.ts +1 -23
- package/dist/types/components/Suggestions/Suggestions.d.ts.map +1 -1
- package/dist/types/components/Suggestions/Suggestions.uni.driver.d.ts +18 -8
- package/dist/types/components/Suggestions/Suggestions.uni.driver.d.ts.map +1 -1
- package/dist/types/components/Suggestions/index.d.ts +4 -1
- package/dist/types/components/Suggestions/index.d.ts.map +1 -1
- package/dist/types/components/Suggestions/types.d.ts +38 -0
- package/dist/types/components/Suggestions/types.d.ts.map +1 -0
- package/dist/types/components/TabTotal/TabTotalCounterBadge.d.ts.map +1 -1
- package/dist/types/components/TabsFilter/TabsDropdown.d.ts +2 -0
- package/dist/types/components/TabsFilter/TabsDropdown.d.ts.map +1 -1
- package/dist/types/components/TabsFilter/TabsFilter.d.ts +15 -4
- package/dist/types/components/TabsFilter/TabsFilter.d.ts.map +1 -1
- package/dist/types/components/TabsFilter/TabsFilter.st.css.d.ts.map +1 -1
- package/dist/types/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.d.ts.map +1 -1
- package/dist/types/components/ToolbarCollection/ToolbarCollection.d.ts +3 -3
- package/dist/types/components/ToolbarTitle/ToolbarTitle.d.ts.map +1 -1
- package/dist/types/exports/testkit/unidriver.d.ts +2 -1
- package/dist/types/exports/testkit/unidriver.d.ts.map +1 -1
- package/dist/types/hooks/useBulkActionMobileGroups.d.ts.map +1 -1
- package/dist/types/hooks/useItemsSelectionFilter/useItemsSelectionFilter.d.ts +1 -1
- package/dist/types/state/FormPage/FormPageHeader.st.css.d.ts.map +1 -1
- package/dist/types/state/NestedTableState/NestedTableNodeStateOptimisticActions.d.ts +24 -0
- package/dist/types/state/NestedTableState/NestedTableNodeStateOptimisticActions.d.ts.map +1 -1
- package/dist/types/state/NestedTableState/NestedTableNodeStatePublicAPI.d.ts +1 -0
- package/dist/types/state/NestedTableState/NestedTableNodeStatePublicAPI.d.ts.map +1 -1
- package/dist/types/state/NestedTableState/index.d.ts +1 -0
- package/dist/types/state/NestedTableState/index.d.ts.map +1 -1
- package/dist/types/state/ToolbarCollectionState.d.ts +1 -0
- package/dist/types/state/ToolbarCollectionState.d.ts.map +1 -1
- package/dist/types/testkit/jsdom.d.ts +11 -7
- package/dist/types/testkit/jsdom.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/dist/types/wix-design-system-version.d.ts +1 -1
- package/package.json +6 -6
- package/src/components/ActionControl/ActionSubItemProps.tsx +8 -6
- package/src/components/ArchivedItemsPanel/ArchivedItemsCTAButton.tsx +15 -5
- package/src/components/ArchivedItemsPanel/ArchivedItemsPanel.tsx +41 -85
- package/src/components/ArchivedItemsPanel/DeleteFieldModal.tsx +50 -0
- package/src/components/CardContainer/CardContainer.st.css.ts +2 -2
- package/src/components/Collapse/Collapse.st.css.ts +2 -2
- package/src/components/CollectionCard/CollectionCard.tsx +6 -0
- package/src/components/CollectionErrorState/CollectionErrorState.tsx +1 -1
- package/src/components/CollectionPageHeaderNew/CollectionPageHeader.tsx +4 -4
- 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.tsx +6 -3
- package/src/components/CollectionToolbar/CollectionToolbarActionsGroupProps.ts +2 -0
- package/src/components/CollectionToolbar/CollectionToolbarActionsGroupResponsiveLayout.tsx +2 -1
- package/src/components/CollectionToolbar/CollectionToolbarActionsToolbarItemsGroup.tsx +58 -41
- package/src/components/CollectionToolbar/SearchOrCustomFilter.st.css +4 -5
- package/src/components/CollectionToolbar/SearchOrCustomFilter.st.css.ts +2 -2
- package/src/components/CollectionToolbar/SearchOrCustomFilter.tsx +16 -9
- package/src/components/CollectionToolbar/useIsCollectionToolbarExists.tsx +5 -2
- package/src/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.ts +2 -2
- package/src/components/CollectionViewsDropdown/ViewsDropdown.st.css.ts +2 -2
- package/src/components/CustomColumnsPanel/CustomColumnsPanel.tsx +1 -0
- package/src/components/CustomDrawerLayout.tsx +82 -0
- package/src/components/CustomFieldsWidget/CustomFieldsWidgetCommonComponents.tsx +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/ExportButton/ExportButton.tsx +30 -9
- package/src/components/ExportButton/ExportButtonModalLayout.tsx +14 -0
- package/src/components/ExportButton/ExportModal.tsx +21 -2
- package/src/components/ExportButton/ExportModal.uni.driver.ts +11 -10
- package/src/components/ExportButton/ExportStepProgress.tsx +1 -1
- package/src/components/Fade/Fade.st.css.ts +2 -2
- package/src/components/FiltersPanel/FiltersPanelAppliedFiltersSection.tsx +1 -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/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 +196 -0
- package/src/components/Suggestions/MarketingCard.uni.driver.ts +53 -0
- package/src/components/Suggestions/Suggestions.tsx +99 -63
- package/src/components/Suggestions/Suggestions.uni.driver.ts +89 -23
- package/src/components/Suggestions/index.ts +14 -1
- package/src/components/Suggestions/types.ts +41 -0
- package/src/components/TabTotal/TabTotalCounterBadge.tsx +4 -2
- package/src/components/TabsFilter/TabsDropdown.tsx +9 -2
- package/src/components/TabsFilter/TabsFilter.st.css.ts +2 -2
- package/src/components/TabsFilter/TabsFilter.tsx +23 -4
- package/src/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.ts +2 -2
- package/src/components/ToolbarCollection/ToolbarCollection.tsx +3 -3
- package/src/components/ToolbarItem/ToolbarItem.st.css.ts +2 -2
- package/src/components/ToolbarItemBox/ToolbarItemBox.st.css.ts +2 -2
- package/src/components/ToolbarTitle/ToolbarTitle.tsx +10 -0
- package/src/components/common.st.css.ts +2 -2
- package/src/exports/testkit/unidriver.ts +5 -1
- package/src/hooks/useBulkActionMobileGroups.ts +2 -1
- package/src/hooks/useItemsSelectionFilter/useItemsSelectionFilter.ts +1 -1
- package/src/state/CollectionPage/CollectionPageHeader.st.css.ts +2 -2
- package/src/state/FormPage/FormPageHeader.st.css.ts +2 -2
- package/src/state/NestedTableState/NestedTableNodeStateOptimisticActions.ts +24 -0
- package/src/state/NestedTableState/NestedTableNodeStatePublicAPI.ts +1 -0
- package/src/state/NestedTableState/index.ts +1 -0
- package/src/state/ToolbarCollectionState.ts +3 -0
- package/src/styles.global.css +1 -1
- package/src/version.ts +1 -1
- package/src/wix-design-system-version.ts +1 -1
- package/dist/cjs/components/Suggestions/Suggestions.driver.js +0 -58
- package/dist/cjs/components/Suggestions/Suggestions.driver.js.map +0 -1
- package/dist/esm/components/Suggestions/Suggestions.driver.js +0 -32
- package/dist/esm/components/Suggestions/Suggestions.driver.js.map +0 -1
- package/dist/types/components/Suggestions/Suggestions.driver.d.ts +0 -40
- package/dist/types/components/Suggestions/Suggestions.driver.d.ts.map +0 -1
- package/src/components/Suggestions/Suggestions.driver.tsx +0 -47
|
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var _namespace_ = "
|
|
8
|
+
var _namespace_ = "PickerContentAdditionalStep2051639453";
|
|
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":"PickerContentAdditionalStep2051639453__root","titles":"PickerContentAdditionalStep2051639453__titles","suffix":"PickerContentAdditionalStep2051639453__suffix"};
|
|
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_ = "PickerTableListItem2181412847";
|
|
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":"PickerTableListItem2181412847__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_ = "ScrollableContent3215793638";
|
|
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":"ScrollableContent3215793638__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_ = "SkeletonCard837474356";
|
|
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":"SkeletonCard837474356__root","headerLoading":"SkeletonCard837474356__headerLoading"};
|
|
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_ = "SlidingModal1449859352";
|
|
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":"SlidingModal1449859352__root"};
|
|
17
17
|
export var keyframes = {};
|
|
18
18
|
export var layers = {};
|
|
19
19
|
export var containers = {};
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import {
|
|
3
|
+
Box,
|
|
4
|
+
MarketingLayout,
|
|
5
|
+
SkeletonLine,
|
|
6
|
+
Card,
|
|
7
|
+
Button,
|
|
8
|
+
BadgeSkin,
|
|
9
|
+
ButtonSkin,
|
|
10
|
+
Image,
|
|
11
|
+
Text,
|
|
12
|
+
TextButton,
|
|
13
|
+
Badge,
|
|
14
|
+
SkeletonRectangle,
|
|
15
|
+
ButtonPriority,
|
|
16
|
+
} from '@wix/design-system';
|
|
17
|
+
import { Offer } from '@wix/bex-utils/@wix/ambassador-dealer-v1-serving-offer/types';
|
|
18
|
+
import { BaseCardComponentProps, SuggestionsCardProps } from './types';
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Schema for marketing card content.
|
|
22
|
+
* This defines the structure expected in offer.asset.creative for MarketingCard rendering.
|
|
23
|
+
*/
|
|
24
|
+
export interface MarketingCardSchema {
|
|
25
|
+
title: string;
|
|
26
|
+
description: {
|
|
27
|
+
text: string;
|
|
28
|
+
learnMore?: {
|
|
29
|
+
link: string;
|
|
30
|
+
text?: string; // defaults to 'Learn more'
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
imageUrl: string;
|
|
34
|
+
ctaButton?: {
|
|
35
|
+
text: string;
|
|
36
|
+
link: string;
|
|
37
|
+
skin?: Extract<ButtonSkin, 'standard' | 'premium' | 'ai'>; // defaults to 'standard'
|
|
38
|
+
priority?: Extract<ButtonPriority, 'primary' | 'secondary'>; // defaults to 'secondary'
|
|
39
|
+
};
|
|
40
|
+
badge?: {
|
|
41
|
+
text: string;
|
|
42
|
+
skin?: Extract<BadgeSkin, 'general' | 'success' | 'premium'>; // defaults to 'general'
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
const getCardWidth = (totalOffers: number) => {
|
|
47
|
+
if (totalOffers === 1) {
|
|
48
|
+
return '100%';
|
|
49
|
+
}
|
|
50
|
+
if (totalOffers === 2) {
|
|
51
|
+
return '50%';
|
|
52
|
+
}
|
|
53
|
+
return '550px';
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
interface MarketingCardInternalProps {
|
|
57
|
+
schema: MarketingCardSchema;
|
|
58
|
+
totalOffers: number;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
const MarketingCardInternal: React.FC<MarketingCardInternalProps> = ({
|
|
62
|
+
schema,
|
|
63
|
+
totalOffers,
|
|
64
|
+
}) => {
|
|
65
|
+
const {
|
|
66
|
+
title,
|
|
67
|
+
description: descriptionData,
|
|
68
|
+
imageUrl,
|
|
69
|
+
ctaButton: ctaButtonData,
|
|
70
|
+
badge: badgeData,
|
|
71
|
+
} = schema;
|
|
72
|
+
|
|
73
|
+
const handleCtaClick = () => {
|
|
74
|
+
if (ctaButtonData?.link) {
|
|
75
|
+
window.open(ctaButtonData.link, '_blank');
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
const handleLearnMoreClick = () => {
|
|
80
|
+
if (descriptionData?.learnMore?.link) {
|
|
81
|
+
window.open(descriptionData.learnMore.link, '_blank');
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
const description = (
|
|
86
|
+
<>
|
|
87
|
+
<Text size="small" secondary dataHook="suggestions-card-subtitle">
|
|
88
|
+
{descriptionData.text}{' '}
|
|
89
|
+
</Text>
|
|
90
|
+
{descriptionData.learnMore && (
|
|
91
|
+
<TextButton
|
|
92
|
+
size="small"
|
|
93
|
+
secondary
|
|
94
|
+
dataHook="suggestions-card-learn-more"
|
|
95
|
+
onClick={handleLearnMoreClick}
|
|
96
|
+
>
|
|
97
|
+
{descriptionData.learnMore.text ?? 'Learn more'}
|
|
98
|
+
</TextButton>
|
|
99
|
+
)}
|
|
100
|
+
</>
|
|
101
|
+
);
|
|
102
|
+
|
|
103
|
+
const ctaButton = ctaButtonData ? (
|
|
104
|
+
<Button
|
|
105
|
+
size="small"
|
|
106
|
+
skin={ctaButtonData.skin || 'standard'}
|
|
107
|
+
priority={ctaButtonData.priority || 'secondary'}
|
|
108
|
+
dataHook="suggestions-card-button"
|
|
109
|
+
onClick={handleCtaClick}
|
|
110
|
+
>
|
|
111
|
+
{ctaButtonData.text}
|
|
112
|
+
</Button>
|
|
113
|
+
) : null;
|
|
114
|
+
|
|
115
|
+
const badge = badgeData ? (
|
|
116
|
+
<Badge
|
|
117
|
+
skin={badgeData.skin || 'general'}
|
|
118
|
+
size="small"
|
|
119
|
+
dataHook="suggestion-card-badge"
|
|
120
|
+
uppercase={false}
|
|
121
|
+
>
|
|
122
|
+
{badgeData.text}
|
|
123
|
+
</Badge>
|
|
124
|
+
) : null;
|
|
125
|
+
|
|
126
|
+
const image = (
|
|
127
|
+
<Image
|
|
128
|
+
src={imageUrl}
|
|
129
|
+
width={96}
|
|
130
|
+
height={96}
|
|
131
|
+
borderRadius="8px"
|
|
132
|
+
dataHook="suggestions-card-image"
|
|
133
|
+
/>
|
|
134
|
+
);
|
|
135
|
+
|
|
136
|
+
return (
|
|
137
|
+
<Box dataHook="suggestions-card" width={getCardWidth(totalOffers)}>
|
|
138
|
+
<Card stretchVertically>
|
|
139
|
+
<MarketingLayout
|
|
140
|
+
title={title}
|
|
141
|
+
description={description}
|
|
142
|
+
image={image}
|
|
143
|
+
actions={[ctaButton]}
|
|
144
|
+
badge={badge}
|
|
145
|
+
hiddenBadge={!badge}
|
|
146
|
+
/>
|
|
147
|
+
</Card>
|
|
148
|
+
</Box>
|
|
149
|
+
);
|
|
150
|
+
};
|
|
151
|
+
|
|
152
|
+
/**
|
|
153
|
+
* Creates a render function for marketing cards.
|
|
154
|
+
* @param translateOffer - Optional function to transform offer data into MarketingCardSchema.
|
|
155
|
+
* If not provided, uses offer.asset.creative directly.
|
|
156
|
+
* @returns A render function compatible with Suggestions.renderCard prop.
|
|
157
|
+
*/
|
|
158
|
+
export const renderMarketingCard =
|
|
159
|
+
(translateOffer?: (offer: Offer) => MarketingCardSchema | null) =>
|
|
160
|
+
(props: SuggestionsCardProps): React.ReactNode | null => {
|
|
161
|
+
const schema = translateOffer
|
|
162
|
+
? translateOffer(props.offer)
|
|
163
|
+
: (props.offer?.asset?.creative as MarketingCardSchema | null);
|
|
164
|
+
|
|
165
|
+
const requiredFieldsExist =
|
|
166
|
+
schema?.title && schema?.imageUrl && schema?.description?.text;
|
|
167
|
+
|
|
168
|
+
if (!requiredFieldsExist) {
|
|
169
|
+
return null;
|
|
170
|
+
}
|
|
171
|
+
return (
|
|
172
|
+
<MarketingCardInternal schema={schema} totalOffers={props.totalOffers} />
|
|
173
|
+
);
|
|
174
|
+
};
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* Skeleton component for MarketingCard during loading state.
|
|
178
|
+
*/
|
|
179
|
+
export const MarketingCardSkeleton: React.FC<BaseCardComponentProps> = ({
|
|
180
|
+
totalOffers,
|
|
181
|
+
}) => {
|
|
182
|
+
return (
|
|
183
|
+
<Box dataHook="suggestions-card" width={getCardWidth(totalOffers)}>
|
|
184
|
+
<Card stretchVertically>
|
|
185
|
+
<MarketingLayout
|
|
186
|
+
title={<SkeletonLine width="120px" />}
|
|
187
|
+
description={<SkeletonLine width="168px" />}
|
|
188
|
+
actions={[<SkeletonRectangle width="72px" height="30px" />]}
|
|
189
|
+
image={<SkeletonRectangle width="96px" height="96px" />}
|
|
190
|
+
badge={<Badge />}
|
|
191
|
+
hiddenBadge={true}
|
|
192
|
+
/>
|
|
193
|
+
</Card>
|
|
194
|
+
</Box>
|
|
195
|
+
);
|
|
196
|
+
};
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { UniDriver } from '@wix/wix-ui-test-utils/unidriver';
|
|
2
|
+
import {
|
|
3
|
+
MarketingLayoutUniDriver,
|
|
4
|
+
BadgeUniDriver,
|
|
5
|
+
ButtonUniDriver,
|
|
6
|
+
TextButtonUniDriver,
|
|
7
|
+
TextUniDriver,
|
|
8
|
+
ImageUniDriver,
|
|
9
|
+
} from '@wix/design-system/dist/testkit/unidriver';
|
|
10
|
+
import { baseUniDriverFactory } from '../../unidriver';
|
|
11
|
+
|
|
12
|
+
export function MarketingCardUniDriver(base: UniDriver, body: UniDriver) {
|
|
13
|
+
const marketingLayout = MarketingLayoutUniDriver(base, body);
|
|
14
|
+
|
|
15
|
+
const subtitle = TextUniDriver(
|
|
16
|
+
base.$('[data-hook="suggestions-card-subtitle"]'),
|
|
17
|
+
body,
|
|
18
|
+
);
|
|
19
|
+
const learnMore = TextButtonUniDriver(
|
|
20
|
+
base.$('[data-hook="suggestions-card-learn-more"]'),
|
|
21
|
+
body,
|
|
22
|
+
);
|
|
23
|
+
|
|
24
|
+
const ctaButton = ButtonUniDriver(
|
|
25
|
+
base.$('[data-hook="suggestions-card-button"]'),
|
|
26
|
+
body,
|
|
27
|
+
);
|
|
28
|
+
const badge = BadgeUniDriver(
|
|
29
|
+
base.$('[data-hook="suggestion-card-badge"]'),
|
|
30
|
+
body,
|
|
31
|
+
);
|
|
32
|
+
const image = ImageUniDriver(
|
|
33
|
+
base.$('[data-hook="suggestions-card-image"]'),
|
|
34
|
+
body,
|
|
35
|
+
);
|
|
36
|
+
|
|
37
|
+
return {
|
|
38
|
+
...baseUniDriverFactory(base),
|
|
39
|
+
|
|
40
|
+
getTitleText: () => marketingLayout.getTitleText(),
|
|
41
|
+
description: {
|
|
42
|
+
subtitle,
|
|
43
|
+
learnMore,
|
|
44
|
+
},
|
|
45
|
+
ctaButton,
|
|
46
|
+
badge,
|
|
47
|
+
image,
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export type MarketingCardUniDriverType = ReturnType<
|
|
52
|
+
typeof MarketingCardUniDriver
|
|
53
|
+
>;
|
|
@@ -1,33 +1,15 @@
|
|
|
1
1
|
import React, { useEffect, useState } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
CarouselWIP,
|
|
4
|
+
CarouselWIPProps,
|
|
5
|
+
COLOR_TOKENS,
|
|
6
|
+
Box,
|
|
7
|
+
} from '@wix/design-system';
|
|
3
8
|
import { SuggestionsState } from '../../state/Suggestions/SuggestionsState';
|
|
4
9
|
import { observer } from 'mobx-react-lite';
|
|
5
|
-
import { Offer } from '@wix/bex-utils/@wix/ambassador-dealer-v1-serving-offer/types';
|
|
6
10
|
import { useWixPatternsContainer } from '@wix/bex-core/react';
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
index: number;
|
|
10
|
-
totalCards: number;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
export interface SuggestionsCardComponentProps extends BaseCardComponentProps {
|
|
14
|
-
offer: Offer;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export interface SuggestionsProps {
|
|
18
|
-
/** The placement ID to fetch offers for */
|
|
19
|
-
placementId: string;
|
|
20
|
-
/** Props to pass to the carousel component */
|
|
21
|
-
carouselProps?: CarouselWIPProps;
|
|
22
|
-
/** Card component to render each offer */
|
|
23
|
-
CardComponent: React.ComponentType<SuggestionsCardComponentProps>;
|
|
24
|
-
/** Skeleton component to render when loading */
|
|
25
|
-
CardSkeleton: React.ComponentType<BaseCardComponentProps>;
|
|
26
|
-
/** Number of skeletons to render when loading */
|
|
27
|
-
skeletonsNumber?: number;
|
|
28
|
-
/** Data hook to use for the suggestions component */
|
|
29
|
-
dataHook?: string;
|
|
30
|
-
}
|
|
11
|
+
import { MarketingCardSkeleton } from './MarketingCard';
|
|
12
|
+
import { SuggestionsProps } from './types';
|
|
31
13
|
|
|
32
14
|
const defaultCarouselProps: CarouselWIPProps = {
|
|
33
15
|
hideDots: true,
|
|
@@ -39,14 +21,56 @@ const defaultCarouselProps: CarouselWIPProps = {
|
|
|
39
21
|
controlsStartEnd: 'hidden',
|
|
40
22
|
};
|
|
41
23
|
|
|
24
|
+
interface SuggestionsContainerProps {
|
|
25
|
+
count: number;
|
|
26
|
+
children: React.ReactNode;
|
|
27
|
+
carouselProps?: CarouselWIPProps;
|
|
28
|
+
dataHook: string;
|
|
29
|
+
dataState: 'idle' | 'loading';
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
const SuggestionsContainer: React.FC<SuggestionsContainerProps> = ({
|
|
33
|
+
count,
|
|
34
|
+
children,
|
|
35
|
+
carouselProps,
|
|
36
|
+
dataHook,
|
|
37
|
+
dataState,
|
|
38
|
+
}) => {
|
|
39
|
+
if (count <= 2) {
|
|
40
|
+
return (
|
|
41
|
+
<div data-hook={dataHook}>
|
|
42
|
+
<Box
|
|
43
|
+
direction="horizontal"
|
|
44
|
+
gap="SP4"
|
|
45
|
+
dataHook={`${dataHook}-container-${dataState}`}
|
|
46
|
+
>
|
|
47
|
+
{children}
|
|
48
|
+
</Box>
|
|
49
|
+
</div>
|
|
50
|
+
);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
return (
|
|
54
|
+
<div data-hook={dataHook}>
|
|
55
|
+
<CarouselWIP
|
|
56
|
+
dataHook={`${dataHook}-carousel-${dataState}`}
|
|
57
|
+
{...defaultCarouselProps}
|
|
58
|
+
{...carouselProps}
|
|
59
|
+
>
|
|
60
|
+
{children}
|
|
61
|
+
</CarouselWIP>
|
|
62
|
+
</div>
|
|
63
|
+
);
|
|
64
|
+
};
|
|
65
|
+
|
|
42
66
|
export const Suggestions: React.FC<SuggestionsProps> = observer(
|
|
43
67
|
({
|
|
44
68
|
placementId,
|
|
45
|
-
|
|
46
|
-
CardSkeleton,
|
|
69
|
+
renderCard,
|
|
70
|
+
CardSkeleton = MarketingCardSkeleton,
|
|
47
71
|
carouselProps,
|
|
48
72
|
skeletonsNumber = 4,
|
|
49
|
-
dataHook,
|
|
73
|
+
dataHook = 'suggestions',
|
|
50
74
|
}) => {
|
|
51
75
|
const { httpClient } = useWixPatternsContainer();
|
|
52
76
|
|
|
@@ -59,46 +83,58 @@ export const Suggestions: React.FC<SuggestionsProps> = observer(
|
|
|
59
83
|
}, [state]);
|
|
60
84
|
|
|
61
85
|
if (state.hasOffers) {
|
|
86
|
+
const cardCount = state.offers.length;
|
|
87
|
+
const cards = state.offers
|
|
88
|
+
.map((offer, index) => ({
|
|
89
|
+
key: offer.offerGuid || `suggestion-${index}`,
|
|
90
|
+
element: renderCard({
|
|
91
|
+
offer,
|
|
92
|
+
index,
|
|
93
|
+
totalOffers: state.offers.length,
|
|
94
|
+
}),
|
|
95
|
+
}))
|
|
96
|
+
.filter(({ element }) => element !== null);
|
|
97
|
+
|
|
98
|
+
// Return null if all cards filtered out
|
|
99
|
+
if (cards.length === 0) {
|
|
100
|
+
return null;
|
|
101
|
+
}
|
|
102
|
+
|
|
62
103
|
return (
|
|
63
|
-
<
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
totalCards={state.offers.length}
|
|
75
|
-
key={offer.offerGuid || `suggestion-${index}`}
|
|
76
|
-
/>
|
|
77
|
-
))}
|
|
78
|
-
</CarouselWIP>
|
|
79
|
-
</div>
|
|
104
|
+
<SuggestionsContainer
|
|
105
|
+
// use initial cards count for container, to match the count the cards get rendered with
|
|
106
|
+
count={cardCount}
|
|
107
|
+
carouselProps={carouselProps}
|
|
108
|
+
dataHook={dataHook}
|
|
109
|
+
dataState="idle"
|
|
110
|
+
>
|
|
111
|
+
{cards.map(({ key, element }) => (
|
|
112
|
+
<React.Fragment key={key}>{element}</React.Fragment>
|
|
113
|
+
))}
|
|
114
|
+
</SuggestionsContainer>
|
|
80
115
|
);
|
|
81
116
|
}
|
|
82
117
|
|
|
83
118
|
if (state.isFetching) {
|
|
119
|
+
const skeletons = Array.from({ length: skeletonsNumber }).map(
|
|
120
|
+
(_, index) => (
|
|
121
|
+
<CardSkeleton
|
|
122
|
+
index={index}
|
|
123
|
+
totalOffers={skeletonsNumber}
|
|
124
|
+
key={index}
|
|
125
|
+
/>
|
|
126
|
+
),
|
|
127
|
+
);
|
|
128
|
+
|
|
84
129
|
return (
|
|
85
|
-
<
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
{Array.from({ length: skeletonsNumber }).map((_, index) => (
|
|
94
|
-
<CardSkeleton
|
|
95
|
-
index={index}
|
|
96
|
-
totalCards={skeletonsNumber}
|
|
97
|
-
key={index}
|
|
98
|
-
/>
|
|
99
|
-
))}
|
|
100
|
-
</CarouselWIP>
|
|
101
|
-
</div>
|
|
130
|
+
<SuggestionsContainer
|
|
131
|
+
count={skeletonsNumber}
|
|
132
|
+
carouselProps={{ ...carouselProps, controlsPosition: 'none' }}
|
|
133
|
+
dataHook={dataHook}
|
|
134
|
+
dataState="loading"
|
|
135
|
+
>
|
|
136
|
+
{skeletons}
|
|
137
|
+
</SuggestionsContainer>
|
|
102
138
|
);
|
|
103
139
|
}
|
|
104
140
|
|
|
@@ -4,35 +4,101 @@ import {
|
|
|
4
4
|
UniDriver,
|
|
5
5
|
} from '@wix/wix-ui-test-utils/unidriver';
|
|
6
6
|
|
|
7
|
-
export
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
export interface SuggestionsUniDriverOptions {
|
|
8
|
+
/** Data hook for the Suggestions component (default: 'suggestions') */
|
|
9
|
+
dataHook?: string;
|
|
10
|
+
/** Data hook for individual cards (default: 'suggestions-card' for MarketingCard) */
|
|
11
|
+
cardDataHook?: string;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export const SuggestionsUniDriver = (
|
|
15
|
+
base: UniDriver,
|
|
16
|
+
body: UniDriver,
|
|
17
|
+
options: SuggestionsUniDriverOptions = {},
|
|
18
|
+
) => {
|
|
19
|
+
const dataHook = options.dataHook ?? 'suggestions';
|
|
20
|
+
const cardDataHook = options.cardDataHook ?? 'suggestions-card';
|
|
21
|
+
|
|
22
|
+
const carouselIdle = CarouselWIPUniDriver(
|
|
23
|
+
base.$(`[data-hook="${dataHook}-carousel-idle"]`),
|
|
10
24
|
body,
|
|
11
25
|
);
|
|
12
|
-
const
|
|
13
|
-
base.$(
|
|
26
|
+
const carouselLoading = CarouselWIPUniDriver(
|
|
27
|
+
base.$(`[data-hook="${dataHook}-carousel-loading"]`),
|
|
14
28
|
body,
|
|
15
29
|
);
|
|
16
30
|
|
|
31
|
+
const containerIdle = base.$(`[data-hook="${dataHook}-container-idle"]`);
|
|
32
|
+
const containerLoading = base.$(
|
|
33
|
+
`[data-hook="${dataHook}-container-loading"]`,
|
|
34
|
+
);
|
|
35
|
+
|
|
36
|
+
const getCarouselChildren = async (): Promise<UniDriver[] | null> => {
|
|
37
|
+
if (await carouselIdle.exists()) {
|
|
38
|
+
// @ts-expect-error carousel types are wrong, getChildren returns a Promise of an array and not UniDriverList
|
|
39
|
+
return carouselIdle.getChildren();
|
|
40
|
+
}
|
|
41
|
+
if (await carouselLoading.exists()) {
|
|
42
|
+
// @ts-expect-error carousel types are wrong, getChildren returns a Promise of an array and not UniDriverList
|
|
43
|
+
return carouselLoading.getChildren();
|
|
44
|
+
}
|
|
45
|
+
return null;
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
const getContainerChildren = async () => {
|
|
49
|
+
if (await containerIdle.exists()) {
|
|
50
|
+
return containerIdle.$$(`[data-hook="${cardDataHook}"]`);
|
|
51
|
+
}
|
|
52
|
+
if (await containerLoading.exists()) {
|
|
53
|
+
return containerLoading.$$(`[data-hook="${cardDataHook}"]`);
|
|
54
|
+
}
|
|
55
|
+
return null;
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
const isLoadingState = async () => {
|
|
59
|
+
const isContainerLoading = await containerLoading.exists();
|
|
60
|
+
const isCarouselLoading = await carouselLoading.exists();
|
|
61
|
+
return isContainerLoading || isCarouselLoading;
|
|
62
|
+
};
|
|
63
|
+
|
|
17
64
|
return {
|
|
18
65
|
...baseUniDriverFactory(base),
|
|
19
|
-
isLoading:
|
|
20
|
-
hasOffers: () =>
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
66
|
+
isLoading: isLoadingState,
|
|
67
|
+
hasOffers: async () => {
|
|
68
|
+
const carouselExists = await carouselIdle.exists();
|
|
69
|
+
const containerExists = await containerIdle.exists();
|
|
70
|
+
return carouselExists || containerExists;
|
|
71
|
+
},
|
|
72
|
+
isEmpty: async () => {
|
|
73
|
+
const carouselExists = await carouselIdle.exists();
|
|
74
|
+
const containerExists = await containerIdle.exists();
|
|
75
|
+
return !carouselExists && !containerExists;
|
|
76
|
+
},
|
|
77
|
+
getCardsCounts: async () => {
|
|
78
|
+
const carouselChildren = await getCarouselChildren();
|
|
79
|
+
if (carouselChildren) {
|
|
80
|
+
return carouselChildren.length;
|
|
81
|
+
}
|
|
82
|
+
const containerChildren = await getContainerChildren();
|
|
83
|
+
if (containerChildren) {
|
|
84
|
+
return containerChildren.count();
|
|
85
|
+
}
|
|
86
|
+
return 0;
|
|
87
|
+
},
|
|
88
|
+
getCardAt: async (index: number) => {
|
|
89
|
+
const carouselChildren = await getCarouselChildren();
|
|
90
|
+
if (carouselChildren) {
|
|
91
|
+
return carouselChildren[index];
|
|
92
|
+
}
|
|
93
|
+
const containerChildren = await getContainerChildren();
|
|
94
|
+
if (containerChildren) {
|
|
95
|
+
return containerChildren.at(index);
|
|
96
|
+
}
|
|
97
|
+
throw new Error(`No cards found at index ${index}`);
|
|
98
|
+
},
|
|
99
|
+
carousel: async () =>
|
|
100
|
+
(await carouselIdle.exists()) ? carouselIdle : carouselLoading,
|
|
101
|
+
container: async () =>
|
|
102
|
+
(await containerIdle.exists()) ? containerIdle : containerLoading,
|
|
37
103
|
};
|
|
38
104
|
};
|
|
@@ -1 +1,14 @@
|
|
|
1
|
-
|
|
1
|
+
// Main component
|
|
2
|
+
export { Suggestions } from './Suggestions';
|
|
3
|
+
|
|
4
|
+
// Types
|
|
5
|
+
export type {
|
|
6
|
+
SuggestionsProps,
|
|
7
|
+
SuggestionsCardProps,
|
|
8
|
+
BaseCardComponentProps,
|
|
9
|
+
Offer,
|
|
10
|
+
} from './types';
|
|
11
|
+
|
|
12
|
+
// MarketingCard - pre-built card component
|
|
13
|
+
export { renderMarketingCard, MarketingCardSkeleton } from './MarketingCard';
|
|
14
|
+
export type { MarketingCardSchema } from './MarketingCard';
|