The Base Store now has new components: EmptyState, Suggestions, and SearchHistory. Also to improve the page's performance, inline icons were removed from the final bundle.
๐ New featureโ
New
EmptyStatecomponent - #367 Use theEmptyStatein theCartSidebarandProductGallerycomponents to display a custom page for empty carts and product results.
Self-contained
sections- #371 The logic developed in thepagesfolder has been moved to thesectionscomponent. As a result, CMS users can rearrange and reorder each storefront section.New Search
Suggestionscomponent - #372 Use theSuggestionscomponent to encapsulate autocomplete suggestions and suggested products.
New
SearchHistorycomponent - #391 Use theSearchHistorycomponent to show the user's search history in the store page.
New session query - #392 Use the
StoreSessionquery to get new sales channels when a user changes their postal code.New
interactivevariant added to theBadgecomponent - #396 Use theinteractivevariant in aBadgecomponent to allow users to close the badge.
Added
hideUnavailableItemstostore.config- #400 The Search API now has thehideUnavailableItemsparameter. This parameter either hides (true) or displays (false) an out-of-stock product.New
styles/globalfolder - #407 This PR sets the stage for the upcoming Theming structure by gathering all CSS variables (tokens) into thestyles/globalfolder. It applies a coherent naming scheme and simplifies global styles.
๐ Bug fixโ
Fixed the
HeroImagesize and css - #363 TheHeroImageHTML size property has been fixed. The browser will now create a better image to fetch based on the device's screen (mobile or desktop).Fixed facets - #380 The
filteron the mobile version is now stable, and users can choose which facets to apply.Fixed the
Tilescomponent semantic markup - #383 The semantic markup forTilesis now fixed toulandliinstead of a genericdiv.Fixed the
CartItemtitle and image - #405 The image size no longer breaks when a product title is longer than two lines. Now, the image size remains the same, and the product title is shortened.Fixed the Button cursor - #419 Now the browser chooses which cursor to use depending on the component. For example, for links, use
pointer, and for buttons, usedefault.
โจ Enhancementโ
Improved performance with
content-visibilityinSection- #368 Thecontent-visibilityCSS property was added to theSectioncomponent. The property lazy loads part of the page's content and saves loading time.Avoided performance decrease with the removal of inline icons - #378 In order to remove unnecessary JavaScript and improve page performance, inline icons were removed from the final bundle and moved to SVG files.
๐งน Choreโ
Fixes in PLP loading - #362 Following the implementation of the Skeleton Loading components, some loading logic on the PLP has been changed: - The useTotalCount hook was removed. - The
SortandFilterSkeleton buttons are now loaded at the same time. - The most recentFilteritems are now kept expanded in the mobile versionBadgevariants renamed - #381 TheBadgevariants have been renamed so that the semantic meaning ofBadgeis not jeopardized. Changes made include:- Before:
`BadgeVariants = 'outOfStock' | 'new' | 'recommended' | 'neutral'`
- Now:
`BadgeVariants = 'neutral' | 'info' | 'highlighted'`Moved UI components and IconSVG to the
uifolder - #386 Theuifolder centralizes UI components and IconSVG, making it easier to add UI components and icons to the storefront.Replaced inline
<style/>tags by tags - #408 Inline styles are now contained in their own stylesheet, eliminating CSS code splitting and lowering the Total Blocking Time (TBT) metric.Removed frontend computation to the backend - #411 Offers are now sorted according to the order of the offers array.
Improved the login performance - #418 Now the API returns
nullfor the person query when executed by an anonymous user, avoiding a mismatch with the default user session values, preventing the session of the anonymous user from being reset, and lowering the Total Blocking Time (TBT) metric.