@sonic-equipment/ui 0.0.108 → 0.0.110

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/index.d.ts CHANGED
@@ -4174,6 +4174,19 @@ interface ButtonProps$1 {
4174
4174
 
4175
4175
  declare const RouteButton: React.FC<ButtonProps$1 & WithRoutingProps>;
4176
4176
 
4177
+ interface IconButtonProps$1 {
4178
+ children: React.ReactNode
4179
+ className?: string
4180
+ color?: 'primary' | 'secondary' | 'current-color'
4181
+ isDisabled?: boolean
4182
+ onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void
4183
+ size?: 'md' | 'lg'
4184
+ title?: string
4185
+ type?: 'button' | 'submit' | 'reset'
4186
+ }
4187
+
4188
+ declare const RouteIconButton: React.FC<IconButtonProps$1 & WithRoutingProps>;
4189
+
4177
4190
  interface DPRSrcSet {
4178
4191
  1: string
4179
4192
  2: string
@@ -4288,6 +4301,18 @@ interface ProductHit$1 {
4288
4301
  }
4289
4302
  declare function isProductHit(hit: ProductHit$1 | PromoHit$1): hit is ProductHit$1;
4290
4303
 
4304
+ interface BadgeProps {
4305
+ count?: number;
4306
+ variant?: 'red' | 'orange' | 'green';
4307
+ }
4308
+ declare function Badge({ count, variant }: BadgeProps): react_jsx_runtime.JSX.Element;
4309
+
4310
+ interface IconWithBadgeProps {
4311
+ badge: ReactNode;
4312
+ icon: ReactNode;
4313
+ }
4314
+ declare function IconWithBadge({ badge, icon }: IconWithBadgeProps): react_jsx_runtime.JSX.Element;
4315
+
4291
4316
  interface BreadcrumbLink$1 {
4292
4317
  href: string;
4293
4318
  label: string;
@@ -4328,9 +4353,10 @@ interface IconButtonProps {
4328
4353
  isDisabled?: boolean;
4329
4354
  onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void;
4330
4355
  size?: 'md' | 'lg';
4356
+ title?: string;
4331
4357
  type?: 'button' | 'submit' | 'reset';
4332
4358
  }
4333
- declare function IconButton({ children, className, color, isDisabled, onClick, size, type, }: IconButtonProps): react_jsx_runtime.JSX.Element;
4359
+ declare function IconButton({ children, className, color, isDisabled, onClick: _onClick, size, title, type, ...rest }: IconButtonProps): react_jsx_runtime.JSX.Element;
4334
4360
 
4335
4361
  interface LinkProps extends AnchorHTMLAttributes<HTMLAnchorElement> {
4336
4362
  areaSelected?: boolean;
@@ -5056,4 +5082,4 @@ declare function ReactQueryContainer({ children }: {
5056
5082
  children: ReactNode;
5057
5083
  }): react_jsx_runtime.JSX.Element;
5058
5084
 
5059
- export { Accordion, type AccountCollectionModel, type AccountModel, type AccountPaymentProfileCollectionModel, type AccountPaymentProfileModel, type AccountSettingsModel, type AccountShipToCollectionModel, type AccountShipToModel, type AccountsReceivableDto$1 as AccountsReceivableDto, type AddProductToCurrentCartParams$1 as AddProductToCurrentCartParams, AddToCartButton, type AddressFieldCollectionModel, type AddressFieldDisplayCollectionModel, type AddressFieldDisplayModel, type AgingBucketDto$1 as AgingBucketDto, AlgoliaActiveCategories, AlgoliaCategoriesFilters, AlgoliaFilterPanel, type AlgoliaFilterPanelProps, AlgoliaInsightsProvider, AlgoliaInsightsProviderContext, type AlgoliaInsightsProviderState, AlgoliaMultiSelectFilterSection, AlgoliaPagination, AlgoliaProvider, AlgoliaResultsCount, AlgoliaSortBy, AnnouncementProvider, type AttributeTypeDto, type AttributeTypeFacetModel, type AttributeTypeModel, type AttributeValueDto, type AttributeValueFacetModel, type AttributeValueModel, type AuthenticationResponse$1 as AuthenticationResponse, type AutocompleteItemModel, type AutocompleteModel, type AutocompleteProductCollectionModel, type AutocompleteProductModel, type AvailabilityDto$2 as AvailabilityDto, AvailabilityMessageType$2 as AvailabilityMessageType, BadRequestError, BadgeImagePlacementValues, type BadgeModel, BadgeStyleValues, BadgeTypeValues, type BaseAddressModel, type BaseModel$1 as BaseModel, type BillToCollectionModel, type BillToModel$1 as BillToModel, type BrandAlphabetLetterModel, type BrandAlphabetModel, type BrandAutocompleteModel, type BrandCategoryCollectionModel, type BrandCategoryModel, type BrandCollectionModel, type BrandDto$2 as BrandDto, type BrandModel, type BrandProductLineCollectionModel, type BrandProductLineModel, type BreadCrumbModel, Breadcrumb, type BreadcrumbLink$1 as BreadcrumbLink, type BreadcrumbProps, type BreakPriceDto$2 as BreakPriceDto, type BreakPriceRfqModel, type BudgetCalendarCollectionModel, type BudgetCalendarModel, type BudgetCollectionModel, type BudgetLineModel, type BudgetModel, Button, type ButtonProps, type CalculationMethod, type CarrierDto, type CartCollectionModel, type CartLineCollectionModel, type CartLineModel$2 as CartLineModel, type CartModel, CartProvider, type CartSettingsModel, type CatalogPageModel, CategoryCarousel, type CategoryCarouselProps, type CategoryCollectionModel, type CategoryFacetModel, type CategoryModel, Checkbox, type CheckboxProps$1 as CheckboxProps, type ChildTraitValueModel, ColorCheckbox, type ColorCheckboxProps, type ConfigSectionDto, type ConfigSectionModel, type ConfigSectionOptionDto, type ConfigurationModel, ConnectedAddToCartButton, ConnectedCartIcon, type ContactUsModel, type ContentModel, type CostCodeDto, type CostCodeModel$1 as CostCodeModel, type CountryCollectionModel, type CountryModel$1 as CountryModel, CountrySelector, type CreateSessionRequestBody, type CreditCardBillingAddressDto, type CreditCardDto, type CrossSellCollectionModel, type CurrencyCollectionModel, type CurrencyModel$1 as CurrencyModel, CurrencyPositioningType$1 as CurrencyPositioningType, type CustomerCostCodeDto, type CustomerOrderTaxDto, type CustomerSettingsModel, type CustomerValidationDto$1 as CustomerValidationDto, type DashboardPanelCollectionModel, type DashboardPanelModel, type DealerCollectionModel, type DealerModel, type DetailModel, type DocumentDto, type DocumentModel, type ECheckDto, type Environment, type FacetModel, FavoriteButton, type FavoriteButtonProps, FavoriteProvider, type FieldScoreDetailedDto, type FieldScoreDetailedModel, type FieldScoreDto, type FieldScoreModel, type FieldValidationDto$1 as FieldValidationDto, type FilterOption, FilterSection, type Filters, ForbiddenRequestError, FormattedMessage, type FormattedMessageFunction, type FormattedMessageProps, GlobalSearch, GlobalSearchDisclosureContext, GlobalSearchProvider, GlobalStateProvider, GlobalStateProviderContext, IconButton, type IconButtonProps, Image, type ImageModel, InternalServerErrorRequest, IntlProvider, type InventoryAvailabilityDto, type InventoryWarehousesDto, type InvoiceCollectionModel, type InvoiceHistoryTaxDto, type InvoiceLineModel, type InvoiceModel, type InvoiceSettingsModel, type JobQuoteCollectionModel, type JobQuoteLineModel, type JobQuoteModel, type LanguageCollectionModel, type LanguageModel$1 as LanguageModel, type LegacyConfigurationDto, Link, type LinkProps, LoadingOverlay, type MessageCollectionModel, type MessageModel, type MobileAppSettingsModel, type MobileContentModel, type MobilePageDto, type MobileWidgetDto, MultiSelect, type MultiSelectProps, type NavigateFn, type NavigateOptions, NotFoundRequestError, NumberField, type NumberFieldSize, type OrderApprovalCollectionModel, type OrderCollectionModel, type OrderHistoryTaxDto, type OrderLineModel, type OrderModel, type OrderPromotionModel, type OrderRequestModel, type OrderSettingsModel, type OrderStatusMappingCollectionModel, type OrderStatusMappingModel, Page, PageContainer, type PageProps, type PaginationModel$1 as PaginationModel, type PaymentMethodDto, type PaymentOptionsDto, type PersonaModel$1 as PersonaModel, type PoRequisitionModel, type PriceFacetModel, type PriceRangeModel, type PricingRfqModel, type ProductAutocompleteItemModel, type ProductAvailabilityModel, ProductCard, type ProductCardProps, type ProductCollectionModel, ProductDetailsPage, type ProductDetailsPageProps, type ProductDto, type ProductHit$1 as ProductHit, type ProductImageDto, type ProductInventoryDto, type ProductLineDto, type ProductLineModel, ProductListingPage, type ProductListingPageProps, type ProductModel, ProductOverviewGrid, type ProductOverviewGridProps, ProductPrice, type ProductPriceDto$2 as ProductPriceDto, type ProductPriceModel, type ProductPriceProps, type ProductSettingsModel, ProductSku, type ProductSkuProps, type ProductSubscriptionDto$2 as ProductSubscriptionDto, type ProductSubscriptionModel, type ProductUnitOfMeasureDto$1 as ProductUnitOfMeasureDto, type ProfileTransactionRequestModel, ProgressCircle, type ProgressCircleProps, type PromoHit$1 as PromoHit, type PromotionCollectionModel, type PromotionModel, type QuoteCollectionModel, type QuoteLineModel, type QuoteModel, type QuoteSettingsModel, ReactQueryContainer, type RealTimeCartInventoryModel, type RealTimeInventoryModel, type RealTimePricingModel, type RefinementListItem, type RelatedProductDto, RequestError, type RequestHeaders, type RequisitionCollectionModel, type RequisitionLineCollectionModel, type RequisitionLineModel, type RequisitionModel, type RmaLineDto, type RmaModel, RouteButton, RouteLink, RouteProvider, type RouteProviderProps, type SalespersonModel, type ScoreExplanationDto, type ScoreExplanationModel, SearchResultsPage, SearchRoot, type SectionOptionDto$2 as SectionOptionDto, type SectionOptionModel, Select, type SelectProps, type SessionModel$1 as SessionModel, type SessionRequestModel, type SettingsCollectionModel, type SetupRequestModel, type ShareEntityModel, type ShareOrderModel, type ShipToCollectionModel, type ShipToModel$1 as ShipToModel, type ShipViaDto, type ShipmentPackageDto, type ShipmentPackageLineDto, ShowAll, type ShowAllPropsControlled, type ShowAllPropsUncontrolled, Sidebar, SidebarDetectBreakpoint, type SidebarProps, SidebarProvider, type SiteMessageCollectionModel, type SiteMessageModel, type SortOptionModel$1 as SortOptionModel, type SpecificationDto, type SpecificationModel, type StateCollectionModel, type StateModel$1 as StateModel, type StyleTraitDto, type StyleValueDto, type StyledProductDto, type SuggestionModel, type TellAFriendModel, TextField, TimeoutRequestError, ToastProvider, type TraitValueModel, type TranslationDictionaryCollectionModel, type TranslationDictionaryModel, type TranslationId, UnauthorizedRequestError, type UnitOfMeasureModel, UnprocessableContentRequestError, type UpdateCartLineParams, type UpdateGlobalState$1 as UpdateGlobalState, type UpdateWishListLineCollectionModel, type UseAlgoliaEventResult, type UseToastReturnType, VariantDisplayTypeValues, type VariantTraitModel, type VmiBinCollectionModel, type VmiBinCountModel, type VmiBinModel, type VmiCountCollectionModel, type VmiCountModel, type VmiLocationCollectionModel, type VmiLocationModel, type VmiNoteCollectionModel, type VmiNoteModel, type VmiUserImportCollectionModel, type VmiUserImportModel, type VmiUserModel, type WarehouseCollectionModel, type WarehouseDto, type WarehouseModel$1 as WarehouseModel, type WebsiteModel, type WebsiteSettingsModel, type WishListCollectionModel$1 as WishListCollectionModel, type WishListEmailScheduleModel$1 as WishListEmailScheduleModel, type WishListLine$1 as WishListLine, type WishListLineCollectionModel$1 as WishListLineCollectionModel, type WishListLineModel$1 as WishListLineModel, type WishListLines$1 as WishListLines, type WishListModel$1 as WishListModel, WishListNameAlreadyExistsError, type WishListSettingsModel, type WishListShareModel$1 as WishListShareModel, addProductToCurrentCart, addWishListItemToWishList, config, configPerEnvironment, createSession, createSonicSearchClient, createWishList, deleteCartLineById, deleteWishList, deleteWishListItemFromWishList, environment, environments, fetchCurrentCartLines, fetchTranslations, getSession, getWishList, getWishListItemsByWishListId, getWishLists, isProductHit, isRequestError, request, signIn, signOut, transformAlgoliaProductHitToProductHit, transformAlgoliaPromoHitToPromoHit, updateCartLineById, useAddProductToCurrentCart, useAddWishListItemToCurrentWishList, useAddWishListItemToWishList, useAlgolia, useAlgoliaInsights, useAlgoliaSearch, useBreakpoint, useCartEvents, useCreateWishList, useDebouncedCallback, useDeleteCartLineById, useDeleteWishListItemFromWishList, useDisclosure, useFavorite, useFavoriteProduct, useFeatureFlags, useFetchAllWishListsItems, useFetchCurrentCartLines, useFetchTranslations, useFetchWishLists, useFormattedMessage, useGlobalSearchDisclosure, useGlobalState, useIsAuthenticated, useIsBreakpoint, useNavigate, useOnNavigate, useScrollLock, useSession, useSignIn, useSignOut, useToast, useUpdateCartLineById, userToken };
5085
+ export { Accordion, type AccountCollectionModel, type AccountModel, type AccountPaymentProfileCollectionModel, type AccountPaymentProfileModel, type AccountSettingsModel, type AccountShipToCollectionModel, type AccountShipToModel, type AccountsReceivableDto$1 as AccountsReceivableDto, type AddProductToCurrentCartParams$1 as AddProductToCurrentCartParams, AddToCartButton, type AddressFieldCollectionModel, type AddressFieldDisplayCollectionModel, type AddressFieldDisplayModel, type AgingBucketDto$1 as AgingBucketDto, AlgoliaActiveCategories, AlgoliaCategoriesFilters, AlgoliaFilterPanel, type AlgoliaFilterPanelProps, AlgoliaInsightsProvider, AlgoliaInsightsProviderContext, type AlgoliaInsightsProviderState, AlgoliaMultiSelectFilterSection, AlgoliaPagination, AlgoliaProvider, AlgoliaResultsCount, AlgoliaSortBy, AnnouncementProvider, type AttributeTypeDto, type AttributeTypeFacetModel, type AttributeTypeModel, type AttributeValueDto, type AttributeValueFacetModel, type AttributeValueModel, type AuthenticationResponse$1 as AuthenticationResponse, type AutocompleteItemModel, type AutocompleteModel, type AutocompleteProductCollectionModel, type AutocompleteProductModel, type AvailabilityDto$2 as AvailabilityDto, AvailabilityMessageType$2 as AvailabilityMessageType, BadRequestError, Badge, BadgeImagePlacementValues, type BadgeModel, type BadgeProps, BadgeStyleValues, BadgeTypeValues, type BaseAddressModel, type BaseModel$1 as BaseModel, type BillToCollectionModel, type BillToModel$1 as BillToModel, type BrandAlphabetLetterModel, type BrandAlphabetModel, type BrandAutocompleteModel, type BrandCategoryCollectionModel, type BrandCategoryModel, type BrandCollectionModel, type BrandDto$2 as BrandDto, type BrandModel, type BrandProductLineCollectionModel, type BrandProductLineModel, type BreadCrumbModel, Breadcrumb, type BreadcrumbLink$1 as BreadcrumbLink, type BreadcrumbProps, type BreakPriceDto$2 as BreakPriceDto, type BreakPriceRfqModel, type BudgetCalendarCollectionModel, type BudgetCalendarModel, type BudgetCollectionModel, type BudgetLineModel, type BudgetModel, Button, type ButtonProps, type CalculationMethod, type CarrierDto, type CartCollectionModel, type CartLineCollectionModel, type CartLineModel$2 as CartLineModel, type CartModel, CartProvider, type CartSettingsModel, type CatalogPageModel, CategoryCarousel, type CategoryCarouselProps, type CategoryCollectionModel, type CategoryFacetModel, type CategoryModel, Checkbox, type CheckboxProps$1 as CheckboxProps, type ChildTraitValueModel, ColorCheckbox, type ColorCheckboxProps, type ConfigSectionDto, type ConfigSectionModel, type ConfigSectionOptionDto, type ConfigurationModel, ConnectedAddToCartButton, ConnectedCartIcon, type ContactUsModel, type ContentModel, type CostCodeDto, type CostCodeModel$1 as CostCodeModel, type CountryCollectionModel, type CountryModel$1 as CountryModel, CountrySelector, type CreateSessionRequestBody, type CreditCardBillingAddressDto, type CreditCardDto, type CrossSellCollectionModel, type CurrencyCollectionModel, type CurrencyModel$1 as CurrencyModel, CurrencyPositioningType$1 as CurrencyPositioningType, type CustomerCostCodeDto, type CustomerOrderTaxDto, type CustomerSettingsModel, type CustomerValidationDto$1 as CustomerValidationDto, type DashboardPanelCollectionModel, type DashboardPanelModel, type DealerCollectionModel, type DealerModel, type DetailModel, type DocumentDto, type DocumentModel, type ECheckDto, type Environment, type FacetModel, FavoriteButton, type FavoriteButtonProps, FavoriteProvider, type FieldScoreDetailedDto, type FieldScoreDetailedModel, type FieldScoreDto, type FieldScoreModel, type FieldValidationDto$1 as FieldValidationDto, type FilterOption, FilterSection, type Filters, ForbiddenRequestError, FormattedMessage, type FormattedMessageFunction, type FormattedMessageProps, GlobalSearch, GlobalSearchDisclosureContext, GlobalSearchProvider, GlobalStateProvider, GlobalStateProviderContext, IconButton, type IconButtonProps, IconWithBadge, type IconWithBadgeProps, Image, type ImageModel, InternalServerErrorRequest, IntlProvider, type InventoryAvailabilityDto, type InventoryWarehousesDto, type InvoiceCollectionModel, type InvoiceHistoryTaxDto, type InvoiceLineModel, type InvoiceModel, type InvoiceSettingsModel, type JobQuoteCollectionModel, type JobQuoteLineModel, type JobQuoteModel, type LanguageCollectionModel, type LanguageModel$1 as LanguageModel, type LegacyConfigurationDto, Link, type LinkProps, LoadingOverlay, type MessageCollectionModel, type MessageModel, type MobileAppSettingsModel, type MobileContentModel, type MobilePageDto, type MobileWidgetDto, MultiSelect, type MultiSelectProps, type NavigateFn, type NavigateOptions, NotFoundRequestError, NumberField, type NumberFieldSize, type OrderApprovalCollectionModel, type OrderCollectionModel, type OrderHistoryTaxDto, type OrderLineModel, type OrderModel, type OrderPromotionModel, type OrderRequestModel, type OrderSettingsModel, type OrderStatusMappingCollectionModel, type OrderStatusMappingModel, Page, PageContainer, type PageProps, type PaginationModel$1 as PaginationModel, type PaymentMethodDto, type PaymentOptionsDto, type PersonaModel$1 as PersonaModel, type PoRequisitionModel, type PriceFacetModel, type PriceRangeModel, type PricingRfqModel, type ProductAutocompleteItemModel, type ProductAvailabilityModel, ProductCard, type ProductCardProps, type ProductCollectionModel, ProductDetailsPage, type ProductDetailsPageProps, type ProductDto, type ProductHit$1 as ProductHit, type ProductImageDto, type ProductInventoryDto, type ProductLineDto, type ProductLineModel, ProductListingPage, type ProductListingPageProps, type ProductModel, ProductOverviewGrid, type ProductOverviewGridProps, ProductPrice, type ProductPriceDto$2 as ProductPriceDto, type ProductPriceModel, type ProductPriceProps, type ProductSettingsModel, ProductSku, type ProductSkuProps, type ProductSubscriptionDto$2 as ProductSubscriptionDto, type ProductSubscriptionModel, type ProductUnitOfMeasureDto$1 as ProductUnitOfMeasureDto, type ProfileTransactionRequestModel, ProgressCircle, type ProgressCircleProps, type PromoHit$1 as PromoHit, type PromotionCollectionModel, type PromotionModel, type QuoteCollectionModel, type QuoteLineModel, type QuoteModel, type QuoteSettingsModel, ReactQueryContainer, type RealTimeCartInventoryModel, type RealTimeInventoryModel, type RealTimePricingModel, type RefinementListItem, type RelatedProductDto, RequestError, type RequestHeaders, type RequisitionCollectionModel, type RequisitionLineCollectionModel, type RequisitionLineModel, type RequisitionModel, type RmaLineDto, type RmaModel, RouteButton, RouteIconButton, RouteLink, RouteProvider, type RouteProviderProps, type SalespersonModel, type ScoreExplanationDto, type ScoreExplanationModel, SearchResultsPage, SearchRoot, type SectionOptionDto$2 as SectionOptionDto, type SectionOptionModel, Select, type SelectProps, type SessionModel$1 as SessionModel, type SessionRequestModel, type SettingsCollectionModel, type SetupRequestModel, type ShareEntityModel, type ShareOrderModel, type ShipToCollectionModel, type ShipToModel$1 as ShipToModel, type ShipViaDto, type ShipmentPackageDto, type ShipmentPackageLineDto, ShowAll, type ShowAllPropsControlled, type ShowAllPropsUncontrolled, Sidebar, SidebarDetectBreakpoint, type SidebarProps, SidebarProvider, type SiteMessageCollectionModel, type SiteMessageModel, type SortOptionModel$1 as SortOptionModel, type SpecificationDto, type SpecificationModel, type StateCollectionModel, type StateModel$1 as StateModel, type StyleTraitDto, type StyleValueDto, type StyledProductDto, type SuggestionModel, type TellAFriendModel, TextField, TimeoutRequestError, ToastProvider, type TraitValueModel, type TranslationDictionaryCollectionModel, type TranslationDictionaryModel, type TranslationId, UnauthorizedRequestError, type UnitOfMeasureModel, UnprocessableContentRequestError, type UpdateCartLineParams, type UpdateGlobalState$1 as UpdateGlobalState, type UpdateWishListLineCollectionModel, type UseAlgoliaEventResult, type UseToastReturnType, VariantDisplayTypeValues, type VariantTraitModel, type VmiBinCollectionModel, type VmiBinCountModel, type VmiBinModel, type VmiCountCollectionModel, type VmiCountModel, type VmiLocationCollectionModel, type VmiLocationModel, type VmiNoteCollectionModel, type VmiNoteModel, type VmiUserImportCollectionModel, type VmiUserImportModel, type VmiUserModel, type WarehouseCollectionModel, type WarehouseDto, type WarehouseModel$1 as WarehouseModel, type WebsiteModel, type WebsiteSettingsModel, type WishListCollectionModel$1 as WishListCollectionModel, type WishListEmailScheduleModel$1 as WishListEmailScheduleModel, type WishListLine$1 as WishListLine, type WishListLineCollectionModel$1 as WishListLineCollectionModel, type WishListLineModel$1 as WishListLineModel, type WishListLines$1 as WishListLines, type WishListModel$1 as WishListModel, WishListNameAlreadyExistsError, type WishListSettingsModel, type WishListShareModel$1 as WishListShareModel, addProductToCurrentCart, addWishListItemToWishList, config, configPerEnvironment, createSession, createSonicSearchClient, createWishList, deleteCartLineById, deleteWishList, deleteWishListItemFromWishList, environment, environments, fetchCurrentCartLines, fetchTranslations, getSession, getWishList, getWishListItemsByWishListId, getWishLists, isProductHit, isRequestError, request, signIn, signOut, transformAlgoliaProductHitToProductHit, transformAlgoliaPromoHitToPromoHit, updateCartLineById, useAddProductToCurrentCart, useAddWishListItemToCurrentWishList, useAddWishListItemToWishList, useAlgolia, useAlgoliaInsights, useAlgoliaSearch, useBreakpoint, useCartEvents, useCreateWishList, useDebouncedCallback, useDeleteCartLineById, useDeleteWishListItemFromWishList, useDisclosure, useFavorite, useFavoriteProduct, useFeatureFlags, useFetchAllWishListsItems, useFetchCurrentCartLines, useFetchTranslations, useFetchWishLists, useFormattedMessage, useGlobalSearchDisclosure, useGlobalState, useIsAuthenticated, useIsBreakpoint, useNavigate, useOnNavigate, useScrollLock, useSession, useSignIn, useSignOut, useToast, useUpdateCartLineById, userToken };
package/dist/index.js CHANGED
@@ -1358,6 +1358,19 @@ function Button({ _pseudo = 'none', children, className, color = 'primary', cond
1358
1358
 
1359
1359
  const RouteButton = withRouting(Button);
1360
1360
 
1361
+ var styles$18 = {"icon-button":"icon-button-module-4PDK-","md":"icon-button-module-k3s9J","lg":"icon-button-module-agk6Y","primary":"icon-button-module-fTeP4","secondary":"icon-button-module-dM0eo","current-color":"icon-button-module-71HRy"};
1362
+
1363
+ function IconButton({ children, className, color = 'primary', isDisabled, onClick: _onClick, size = 'md', title, type = 'button', ...rest }) {
1364
+ const onClick = (e) => {
1365
+ e.preventDefault();
1366
+ e.stopPropagation();
1367
+ _onClick?.(e);
1368
+ };
1369
+ return (jsx("button", { className: clsx(styles$18['icon-button'], styles$18[size], styles$18[color], className), "data-disabled": isDisabled ? true : undefined, disabled: isDisabled, onClick: onClick, title: title, type: type, ...rest, children: children }));
1370
+ }
1371
+
1372
+ const RouteIconButton = withRouting(IconButton);
1373
+
1361
1374
  function transformAlgoliaPromoHitToPromoHit(algoliaPromoHit) {
1362
1375
  return {
1363
1376
  hit: algoliaPromoHit,
@@ -1402,6 +1415,29 @@ function isProductHit(hit) {
1402
1415
  return hit.type === 'product';
1403
1416
  }
1404
1417
 
1418
+ var styles$17 = {"badge":"badge-module-X5Au9","count":"badge-module-ododp","is-animating":"badge-module-Q03Go","pulse":"badge-module-YSs-l","red":"badge-module-kqfth","orange":"badge-module-Y5LU3","green":"badge-module-S-L8C"};
1419
+
1420
+ const ANIMATION_DURATION = 600;
1421
+ function Badge({ count, variant = 'red' }) {
1422
+ const [isAnimating, setIsAnimating] = useState(false);
1423
+ useEffect(() => {
1424
+ if (count === undefined)
1425
+ return;
1426
+ setIsAnimating(true);
1427
+ const timer = setTimeout(() => setIsAnimating(false), ANIMATION_DURATION);
1428
+ return () => clearTimeout(timer);
1429
+ }, [count]);
1430
+ return (jsx("span", { className: clsx(styles$17.badge, styles$17[variant], {
1431
+ [styles$17['is-animating']]: isAnimating,
1432
+ }), style: { '--animation-duration': `${ANIMATION_DURATION}ms` }, children: count !== undefined && jsx("span", { className: styles$17.count, children: count }) }, count));
1433
+ }
1434
+
1435
+ var styles$16 = {"icon-with-badge":"icon-with-badge-module-eCTIN","badge-wrapper":"icon-with-badge-module-NUjwN"};
1436
+
1437
+ function IconWithBadge({ badge, icon }) {
1438
+ return (jsxs("div", { className: styles$16['icon-with-badge'], children: [icon, jsx("div", { className: styles$16['badge-wrapper'], children: badge })] }));
1439
+ }
1440
+
1405
1441
  function GlyphsChevronsSlimLeftIcon(props) {
1406
1442
  return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", ...props, fill: "currentColor", height: "12", viewBox: "0 0 12 12", width: "12", children: jsx("path", { d: "M3,6 L7.93354971,1 C8.12109594,1.08169007 8.30512588,1.19817561 8.48563954,1.34945663 C8.6661532,1.50073764 8.83760669,1.68216803 9,1.89374779 L4.91652188,5.98800959 L9,9.9960307 C8.83350762,10.2121071 8.66205413,10.4031847 8.48563954,10.5692635 C8.30922495,10.7353424 8.12519501,10.8789212 7.93354971,11 L3,6 Z", fillRule: "evenodd" }) }));
1407
1443
  }
@@ -1410,24 +1446,24 @@ function SolidHomeIcon(props) {
1410
1446
  return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", ...props, fill: "currentColor", height: "24", viewBox: "0 0 24 24", width: "24", children: jsx("path", { d: "M15.039782,22 C14.6690193,22 14.3684378,21.6994185 14.3684378,21.3286559 L14.3684378,15.6029043 L9.34495251,15.6029043 L9.34495251,21.3286559 C9.34495251,21.6994185 9.04437101,22 8.67345678,22 L3.67134415,22 C3.3005815,22 3,21.6994185 3,21.3286559 L3,9.79560307 C3,9.60127857 3.08412644,9.41665514 3.23055192,9.28917706 L11.4158271,2.16495603 C11.6686612,1.94501466 12.0447291,1.94501466 12.2975632,2.16495603 L20.4828384,9.28917706 C20.6292639,9.41665514 20.7133903,9.60127857 20.7133903,9.79560307 L20.7133903,21.3286559 C20.7133903,21.6994185 20.4128088,22 20.0418946,22 L15.039782,22 Z", fillRule: "evenodd" }) }));
1411
1447
  }
1412
1448
 
1413
- var styles$18 = {"breadcrumbs":"breadcrumb-module-CQGse","breadcrumb":"breadcrumb-module-hxhDY","link":"breadcrumb-module-fp2Q6","icon":"breadcrumb-module-uIn3w","previous-icon":"breadcrumb-module-K-wMJ"};
1449
+ var styles$15 = {"breadcrumbs":"breadcrumb-module-CQGse","breadcrumb":"breadcrumb-module-hxhDY","link":"breadcrumb-module-fp2Q6","icon":"breadcrumb-module-uIn3w","previous-icon":"breadcrumb-module-K-wMJ"};
1414
1450
 
1415
1451
  function BreadcrumbShort({ links }) {
1416
1452
  const homeLink = links[0];
1417
1453
  const previousLink = links[links.length - 2];
1418
1454
  const isHomeLink = previousLink === undefined || previousLink === homeLink;
1419
1455
  const href = previousLink?.href || homeLink?.href;
1420
- return (jsx(Breadcrumbs, { className: styles$18.breadcrumbs, children: jsx(Breadcrumb$1, { className: styles$18.breadcrumb, children: jsxs(RouteLink, { className: styles$18.link, href: href, isDisabled: false, children: [jsx(GlyphsChevronsSlimLeftIcon, { className: styles$18.icon }), isHomeLink ? (jsx(SolidHomeIcon, { className: styles$18.icon })) : (jsx("span", { children: previousLink.label }))] }) }) }));
1456
+ return (jsx(Breadcrumbs, { className: styles$15.breadcrumbs, children: jsx(Breadcrumb$1, { className: styles$15.breadcrumb, children: jsxs(RouteLink, { className: styles$15.link, href: href, isDisabled: false, children: [jsx(GlyphsChevronsSlimLeftIcon, { className: styles$15.icon }), isHomeLink ? (jsx(SolidHomeIcon, { className: styles$15.icon })) : (jsx("span", { children: previousLink.label }))] }) }) }));
1421
1457
  }
1422
1458
  function BreadcrumbLongItem({ index, isDisabled, link, }) {
1423
- return (jsx(Breadcrumb$1, { className: styles$18.breadcrumb, children: jsxs(RouteLink, { className: styles$18.link, color: "secondary", href: link.href, isDisabled: isDisabled, children: [jsx(GlyphsChevronsSlimLeftIcon, { className: clsx(styles$18['previous-icon'], styles$18.icon) }), link.label] }) }, index));
1459
+ return (jsx(Breadcrumb$1, { className: styles$15.breadcrumb, children: jsxs(RouteLink, { className: styles$15.link, color: "secondary", href: link.href, isDisabled: isDisabled, children: [jsx(GlyphsChevronsSlimLeftIcon, { className: clsx(styles$15['previous-icon'], styles$15.icon) }), link.label] }) }, index));
1424
1460
  }
1425
1461
  function BreadcrumbLong({ links }) {
1426
1462
  const linksWithoutFirst = links.slice(1);
1427
1463
  const homeLink = links[0];
1428
1464
  if (!homeLink)
1429
1465
  return null;
1430
- return (jsxs(Breadcrumbs, { className: styles$18.breadcrumbs, children: [jsx(Breadcrumb$1, { className: styles$18.breadcrumb, children: jsx(RouteLink, { className: styles$18.link, href: homeLink.href, children: jsx(SolidHomeIcon, { className: clsx(styles$18['home-icon'], styles$18.icon) }) }) }), linksWithoutFirst.map((link, index) => (jsx(BreadcrumbLongItem, { index: index, isDisabled: linksWithoutFirst.length - 1 === index, link: link }, index)))] }));
1466
+ return (jsxs(Breadcrumbs, { className: styles$15.breadcrumbs, children: [jsx(Breadcrumb$1, { className: styles$15.breadcrumb, children: jsx(RouteLink, { className: styles$15.link, href: homeLink.href, children: jsx(SolidHomeIcon, { className: clsx(styles$15['home-icon'], styles$15.icon) }) }) }), linksWithoutFirst.map((link, index) => (jsx(BreadcrumbLongItem, { index: index, isDisabled: linksWithoutFirst.length - 1 === index, link: link }, index)))] }));
1431
1467
  }
1432
1468
  function Breadcrumb({ links }) {
1433
1469
  const { lg } = useBreakpoint();
@@ -1436,16 +1472,6 @@ function Breadcrumb({ links }) {
1436
1472
  return lg ? BreadcrumbLong({ links }) : BreadcrumbShort({ links });
1437
1473
  }
1438
1474
 
1439
- var styles$17 = {"icon-button":"icon-button-module-4PDK-","md":"icon-button-module-k3s9J","lg":"icon-button-module-agk6Y","primary":"icon-button-module-fTeP4","secondary":"icon-button-module-dM0eo","current-color":"icon-button-module-71HRy"};
1440
-
1441
- function IconButton({ children, className, color = 'primary', isDisabled, onClick, size = 'md', type = 'button', }) {
1442
- return (jsx("button", { className: clsx(styles$17['icon-button'], styles$17[size], styles$17[color], className), "data-disabled": isDisabled ? true : undefined, disabled: isDisabled, onClick: e => {
1443
- e.preventDefault();
1444
- e.stopPropagation();
1445
- onClick?.(e);
1446
- }, type: type, children: children }));
1447
- }
1448
-
1449
1475
  function SolidFavoriteIcon(props) {
1450
1476
  return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", ...props, fill: "currentColor", height: "24", viewBox: "0 0 24 24", width: "24", children: jsx("path", { d: "M11.9999248,22 L11.9999248,22 C11.7899542,22 11.5920163,21.9009968 11.4662746,21.7328866 L3.22733528,10.7206953 C2.41121748,9.59905954 2,8.45954615 2,7.32679321 C2,4.3895979 4.39255176,2 7.33334336,2 C9.22503403,2 11.0018124,2.98206975 12.0000752,4.46801926 C12.9980372,2.98206975 14.774966,2 16.6666566,2 C19.6074482,2 22,4.3895979 22,7.32679321 C22,8.45969638 21.5889329,9.59920978 20.777929,10.7136343 L12.533575,21.7328866 C12.4078333,21.9009968 12.2098954,22 11.9999248,22", fillRule: "evenodd" }) }));
1451
1477
  }
@@ -1454,21 +1480,21 @@ function StrokeFavoriteIcon(props) {
1454
1480
  return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", ...props, fill: "currentColor", height: "24", viewBox: "0 0 24 24", width: "24", children: jsx("path", { d: "M7.33319295,3.33090958 C5.12714802,3.33090958 3.33232058,5.12348359 3.33232058,7.32679321 C3.33232058,8.18447047 3.64878056,9.03643889 4.29989998,9.93107334 L11.9997744,20.2227497 L19.7053643,9.92401241 C20.351069,9.03643889 20.6673786,8.1846207 20.6673786,7.32679321 C20.6673786,5.12348359 18.8727016,3.33090958 16.6666566,3.33090958 C14.8537801,3.33090958 13.1222748,4.56251549 12.6388611,6.19569283 C12.5552338,6.47843037 12.2951771,6.67253074 11.9999248,6.67253074 C11.7046724,6.67253074 11.4447662,6.47843037 11.3609885,6.19569283 C10.8775748,4.56251549 9.14606944,3.33090958 7.33319295,3.33090958 M11.9997744,22 L11.9997744,22 C11.7898038,22 11.5918659,21.9008466 11.4662746,21.7327364 L3.22718487,10.720545 C2.41106707,9.59905954 2,8.45954615 2,7.32679321 C2,4.3895979 4.39240135,2 7.33319295,2 C9.22488362,2 11.0018124,2.98206975 11.9999248,4.46786903 C12.9978868,2.98206975 14.774966,2 16.6666566,2 C19.6072978,2 22,4.3895979 22,7.32679321 C22,8.45969638 21.5887825,9.59920978 20.777929,10.7136343 L12.5334246,21.7327364 C12.4076829,21.9008466 12.2098954,22 11.9997744,22", fillRule: "evenodd" }) }));
1455
1481
  }
1456
1482
 
1457
- var styles$16 = {"favorite-button":"favorite-button-module-tXSS3","is-favorite":"favorite-button-module-l557q","favorite-on":"favorite-button-module-6Tsmy","favorite-off":"favorite-button-module-LQauU"};
1483
+ var styles$14 = {"favorite-button":"favorite-button-module-tXSS3","is-favorite":"favorite-button-module-l557q","favorite-on":"favorite-button-module-6Tsmy","favorite-off":"favorite-button-module-LQauU"};
1458
1484
 
1459
1485
  function FavoriteButton({ isDisabled, isFavorite, onClick: onClick, }) {
1460
- return (jsx(IconButton, { className: clsx(styles$16['favorite-button'], {
1461
- [styles$16['is-favorite']]: isFavorite,
1486
+ return (jsx(IconButton, { className: clsx(styles$14['favorite-button'], {
1487
+ [styles$14['is-favorite']]: isFavorite,
1462
1488
  }), color: "secondary", isDisabled: isDisabled, onClick: onClick, children: isFavorite ? jsx(SolidFavoriteIcon, {}) : jsx(StrokeFavoriteIcon, {}) }));
1463
1489
  }
1464
1490
 
1465
- var styles$15 = {"field-error":"field-error-module-FXnIg"};
1491
+ var styles$13 = {"field-error":"field-error-module-FXnIg"};
1466
1492
 
1467
1493
  function FieldError({ children }) {
1468
- return (jsx(FieldError$1, { className: styles$15['field-error'], children: children }));
1494
+ return (jsx(FieldError$1, { className: styles$13['field-error'], children: children }));
1469
1495
  }
1470
1496
 
1471
- var styles$14 = {"input-container":"input-module-2woJR","shadow-input":"input-module-pNKEt","lg":"input-module-Dx2qC","md":"input-module-sH6e7","focus":"input-module-hEEuy","growing-input":"input-module-6HwY4"};
1497
+ var styles$12 = {"input-container":"input-module-2woJR","shadow-input":"input-module-pNKEt","lg":"input-module-Dx2qC","md":"input-module-sH6e7","focus":"input-module-hEEuy","growing-input":"input-module-6HwY4"};
1472
1498
 
1473
1499
  /**
1474
1500
  * This component is used to create an input that grows as the user types.
@@ -1484,20 +1510,20 @@ const Input = forwardRef(({ _pseudo = 'none', autoGrow, size = 'lg', ...inputPro
1484
1510
  ? onChange?.(event)
1485
1511
  : setUncontrolledValue(event.target.value);
1486
1512
  const { pressProps } = usePress({});
1487
- return (jsx("div", { className: clsx(styles$14['input-container'], styles$14[size], styles$14[_pseudo]), children: jsxs("div", { className: clsx({ [styles$14['growing-input']]: autoGrow }), children: [jsx(Input$1, { size: autoGrow ? 1 : undefined, ...props, ...pressProps, ref: ref, onChange: handleChange, onClick: e => {
1513
+ return (jsx("div", { className: clsx(styles$12['input-container'], styles$12[size], styles$12[_pseudo]), children: jsxs("div", { className: clsx({ [styles$12['growing-input']]: autoGrow }), children: [jsx(Input$1, { size: autoGrow ? 1 : undefined, ...props, ...pressProps, ref: ref, onChange: handleChange, onClick: e => {
1488
1514
  e.preventDefault();
1489
1515
  e.stopPropagation();
1490
1516
  e.target.focus();
1491
- } }), autoGrow && jsx("span", { className: styles$14['shadow-input'], children: value })] }) }));
1517
+ } }), autoGrow && jsx("span", { className: styles$12['shadow-input'], children: value })] }) }));
1492
1518
  });
1493
1519
  Input.displayName = 'Input';
1494
1520
 
1495
- var styles$13 = {"label":"label-module-LGfJt","required":"label-module-oTWaS"};
1521
+ var styles$11 = {"label":"label-module-LGfJt","required":"label-module-oTWaS"};
1496
1522
 
1497
1523
  function Label({ children, isRequired }) {
1498
1524
  if (!children)
1499
1525
  return null;
1500
- return (jsxs(Label$1, { className: styles$13.label, children: [children, isRequired && jsx("span", { className: styles$13.required, children: "*" })] }));
1526
+ return (jsxs(Label$1, { className: styles$11.label, children: [children, isRequired && jsx("span", { className: styles$11.required, children: "*" })] }));
1501
1527
  }
1502
1528
 
1503
1529
  function StrokeCollapseIcon(props) {
@@ -1512,7 +1538,7 @@ function StrokeTrashIcon(props) {
1512
1538
  return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", ...props, fill: "currentColor", height: "24", viewBox: "0 0 24 24", width: "24", children: jsx("path", { d: "M7.77273912,6.04398453 L9.07201126,6.04398453 L9.07201126,4.11757519 C9.07201126,3.84748949 9.15880324,3.63104347 9.33238719,3.46823712 C9.50597114,3.30543077 9.73570292,3.22402759 10.0215825,3.22402759 L13.3263825,3.22402759 C13.6186194,3.22402759 13.850313,3.30543077 14.0214633,3.46823712 C14.1926136,3.63104347 14.2781888,3.84748949 14.2781888,4.11757519 L14.2781888,6.04398453 L15.5846129,6.04398453 L15.5846129,4.04352264 C15.5846129,3.40769382 15.3900697,2.90814951 15.0009834,2.5448897 C14.6118971,2.1816299 14.0799703,2 13.405203,2 L9.942762,2 C9.26869007,2 8.73850162,2.1816299 8.35219662,2.5448897 C7.96589162,2.90814951 7.77273912,3.40769382 7.77273912,4.04352264 L7.77273912,6.04398453 Z M3.60955531,6.6940676 L19.7561406,6.6940676 C19.9248076,6.6940676 20.0683931,6.6332263 20.186897,6.51154371 C20.305401,6.38986111 20.3646529,6.242352 20.3646529,6.06901638 C20.3646529,5.9003494 20.3052023,5.75537328 20.186301,5.63408801 C20.0673997,5.51280275 19.9240129,5.45216011 19.7561406,5.45216011 L3.60955531,5.45216011 C3.44734496,5.45216011 3.30519982,5.51300141 3.18311989,5.63468401 C3.06103996,5.75636661 3,5.90114406 3,6.06901638 C3,6.24314666 3.06103996,6.39085444 3.18311989,6.5121397 C3.30519982,6.63342497 3.44734496,6.6940676 3.60955531,6.6940676 Z M7.56920636,22 L15.8049825,22 C16.4210441,22 16.9252074,21.8108208 17.3174724,21.4324624 C17.7097373,21.0541041 17.9209684,20.5545101 17.9511655,19.9336805 L18.6066126,6.5283806 L17.2870766,6.5283806 L16.6578534,19.8059883 C16.6444435,20.0808419 16.5455825,20.3084381 16.3612707,20.4887766 C16.1769588,20.6691152 15.9469787,20.7592845 15.6713303,20.7592845 L7.68497866,20.7592845 C7.41479362,20.7592845 7.18757,20.6677246 7.00330778,20.4846047 C6.81904556,20.3014848 6.72015983,20.0752793 6.70665057,19.8059883 L6.05358753,6.5295726 L4.76996029,6.5295726 L5.41587138,19.9420245 C5.4468632,20.562854 5.65806942,21.0610573 6.04949005,21.4366344 C6.44091068,21.8122115 6.94748278,22 7.56920636,22 Z M9.00213069,19.1375783 C9.15957307,19.1375783 9.2862223,19.0920591 9.38207839,19.0010206 C9.47793448,18.9099822 9.5230812,18.7917017 9.51751857,18.6461793 L9.2314403,8.86811345 C9.22587767,8.72338566 9.17618647,8.60729053 9.0823667,8.51982806 C8.98854694,8.43236558 8.86649184,8.38863435 8.71620142,8.38863435 C8.55945437,8.38863435 8.43436962,8.43395491 8.34094719,8.52459603 C8.24752475,8.61523714 8.20081354,8.73371626 8.20081354,8.88003338 L8.48555081,18.6485633 C8.49121278,18.7988537 8.54055631,18.9179288 8.63358142,19.0057886 C8.72660652,19.0936484 8.84945628,19.1375783 9.00213069,19.1375783 Z M11.6876904,19.1375783 C11.8451328,19.1375783 11.9717821,19.0922578 12.0676381,19.0016166 C12.1634942,18.9109755 12.2114223,18.7924964 12.2114223,18.6461793 L12.2114223,8.88003338 C12.2114223,8.73451092 12.1634942,8.61623047 12.0676381,8.52519202 C11.9717821,8.43415357 11.8451328,8.38863435 11.6876904,8.38863435 C11.5310427,8.38863435 11.4032015,8.43415357 11.3041668,8.52519202 C11.205132,8.61623047 11.1556147,8.73451092 11.1556147,8.88003338 L11.1556147,18.6461793 C11.1556147,18.7924964 11.205132,18.9109755 11.3041668,19.0016166 C11.4032015,19.0922578 11.5310427,19.1375783 11.6876904,19.1375783 Z M14.3635653,19.1387703 C14.516339,19.1387703 14.6392384,19.0948404 14.7322635,19.0069806 C14.8252886,18.9191208 14.8745825,18.802827 14.8801451,18.6580992 L15.1662234,8.88122537 C15.1662234,8.73490825 15.1194873,8.6166278 15.0260152,8.52638402 C14.9325431,8.43614023 14.8070859,8.39101833 14.6496435,8.39101833 C14.4993531,8.39101833 14.3772732,8.4345509 14.2834037,8.52161604 C14.1895343,8.60868118 14.1398183,8.7277563 14.1342556,8.87884138 L13.8483264,18.6485633 C13.8483264,18.7932911 13.8948389,18.9111742 13.987864,19.0022126 C14.0808891,19.0932511 14.2061229,19.1387703 14.3635653,19.1387703 Z" }) }));
1513
1539
  }
1514
1540
 
1515
- var styles$12 = {"field":"number-field-module-gmnog","button-input-container":"number-field-module-8Lvgh","zoom-in-text":"number-field-module-OlEoa"};
1541
+ var styles$10 = {"field":"number-field-module-gmnog","button-input-container":"number-field-module-8Lvgh","zoom-in-text":"number-field-module-OlEoa"};
1516
1542
 
1517
1543
  /**
1518
1544
  * This component is used to create a number field.
@@ -1520,7 +1546,7 @@ var styles$12 = {"field":"number-field-module-gmnog","button-input-container":"n
1520
1546
  */
1521
1547
  function NumberField({ autoFocus, autoGrow, defaultValue, formatOptions = { style: 'decimal', useGrouping: false }, isDisabled, isInvalid, isReadOnly, isRequired, label, maxLength, maxValue, minValue, name, onChange, onInput, onKeyUp, placeholder, showLabel = false, size = 'lg', value, withButtons, }) {
1522
1548
  const inputRef = useRef(null);
1523
- return (jsxs(NumberField$1, { "aria-label": label, autoFocus: autoFocus, className: clsx(styles$12.field, styles$12[size]), defaultValue: defaultValue, formatOptions: formatOptions, isDisabled: isDisabled, isInvalid: isInvalid, isReadOnly: isReadOnly, isRequired: isRequired, maxValue: maxValue, minValue: minValue, name: name, onChange: onChange, onInput: onInput, value: value, children: [showLabel && jsx(Label, { isRequired: isRequired, children: label }), jsxs("div", { className: styles$12['button-input-container'], children: [withButtons && (jsx(Button$1, { isDisabled: isDisabled,
1549
+ return (jsxs(NumberField$1, { "aria-label": label, autoFocus: autoFocus, className: clsx(styles$10.field, styles$10[size]), defaultValue: defaultValue, formatOptions: formatOptions, isDisabled: isDisabled, isInvalid: isInvalid, isReadOnly: isReadOnly, isRequired: isRequired, maxValue: maxValue, minValue: minValue, name: name, onChange: onChange, onInput: onInput, value: value, children: [showLabel && jsx(Label, { isRequired: isRequired, children: label }), jsxs("div", { className: styles$10['button-input-container'], children: [withButtons && (jsx(Button$1, { isDisabled: isDisabled,
1524
1550
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
1525
1551
  // @ts-expect-error
1526
1552
  onClick: e => e.preventDefault(), onPressStart: e => e.target.focus(), slot: "decrement", children: (value || 0) <= 1 ? jsx(StrokeTrashIcon, {}) : jsx(StrokeCollapseIcon, {}) })), jsx(Input, { ref: inputRef, autoGrow: autoGrow, maxLength: maxLength, onFocus: e => (e.target.selectionStart = e.target.value.length || 0), onKeyUp: e => onKeyUp?.(e), placeholder: placeholder, size: size }), withButtons && (jsx(Button$1, { isDisabled: isDisabled,
@@ -1533,7 +1559,7 @@ function SolidCartIcon(props) {
1533
1559
  return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", ...props, fill: "currentColor", height: "24", viewBox: "0 0 24 24", width: "24", children: jsx("path", { d: "M7.89619008,16.6656848 C9.33405626,16.6656848 10.4996925,17.831321 10.4996925,19.2690253 C10.4996925,20.7068915 9.33405626,21.8725278 7.89619008,21.8725278 C6.45832389,21.8725278 5.29268766,20.7068915 5.29268766,19.2690253 C5.29268766,17.831321 6.45832389,16.6656848 7.89619008,16.6656848 Z M16.8207199,16.6656848 C18.2585861,16.6656848 19.4242223,17.831321 19.4242223,19.2690253 C19.4242223,20.7068915 18.2585861,21.8725278 16.8207199,21.8725278 C15.3828537,21.8725278 14.2172175,20.7068915 14.2172175,19.2690253 C14.2172175,17.831321 15.3828537,16.6656848 16.8207199,16.6656848 Z M7.89619008,18.0995047 C7.25122196,18.0995047 6.72650762,18.6242191 6.72650762,19.2690253 C6.72650762,19.9139935 7.25122196,20.4387078 7.89619008,20.4387078 C8.54115819,20.4387078 9.06587253,19.9139935 9.06587253,19.2690253 C9.06587253,18.6242191 8.54115819,18.0995047 7.89619008,18.0995047 Z M16.8207199,18.0995047 C16.1757518,18.0995047 15.6510375,18.6242191 15.6510375,19.2690253 C15.6510375,19.9139935 16.1757518,20.4387078 16.8207199,20.4387078 C17.465688,20.4387078 17.9904024,19.9139935 17.9904024,19.2690253 C17.9904024,18.6242191 17.465688,18.0995047 16.8207199,18.0995047 Z M4.58909785,3 C4.6054446,3 4.6206584,3.00372253 4.63668145,3.00485547 C4.65869291,3.00631211 4.68038067,3.0079306 4.70174473,3.01132943 C4.72958275,3.0158612 4.75628783,3.02233516 4.78299291,3.02994206 C4.8001489,3.03479753 4.81698119,3.03949115 4.83365164,3.04564141 C4.8622989,3.05616159 4.88948953,3.06862396 4.91619461,3.08254297 L4.956495,3.10439258 C4.98287638,3.12025378 5.00763927,3.13789532 5.03175477,3.15699349 L5.06736154,3.18645 C5.08921115,3.20603373 5.10911857,3.22707409 5.1283786,3.2492474 C5.13986987,3.26251902 5.1511993,3.27562878 5.16171948,3.28970964 C5.17806623,3.31155925 5.19230894,3.33421811 5.2060661,3.35768621 C5.21626258,3.37500405 5.22597352,3.39216004 5.23455152,3.41028712 C5.24555725,3.43326967 5.25462079,3.45706147 5.26319878,3.48150066 C5.27032014,3.50205548 5.27711779,3.52244845 5.28245881,3.54381251 C5.28860907,3.56825171 5.29249345,3.59317645 5.29605412,3.61858673 C5.29799631,3.63299129 5.30252808,3.64642476 5.30382287,3.66115301 L5.510504,6.30738355 L21.2869744,6.30772748 C21.3139222,6.30835464 21.3370666,6.31256272 21.3603729,6.3151523 C21.3861069,6.31790373 21.4120027,6.31936037 21.4369275,6.32486324 C21.4591008,6.32923316 21.4726961,6.33603082 21.4875862,6.34056259 C21.5163953,6.34914058 21.5452044,6.35723303 21.5722332,6.36920985 C21.5918169,6.37778785 21.6092966,6.38911728 21.6275855,6.39931376 C21.6497588,6.41145243 21.6722559,6.42278186 21.6928107,6.43718642 C21.711747,6.45029618 21.7280937,6.46583368 21.7455734,6.48072379 C21.763215,6.49577574 21.7815039,6.51001845 21.7976888,6.52668889 C21.8132263,6.54287379 21.8261742,6.56067718 21.8400932,6.57815686 C21.8551452,6.59676949 21.8706827,6.61473473 21.8836306,6.634804 C21.8954456,6.65293108 21.9043473,6.67251481 21.9145437,6.69161299 C21.9258732,6.71330075 21.9381737,6.73434111 21.9473991,6.75716182 C21.9559771,6.77868773 21.9614799,6.80134658 21.9679539,6.82368174 C21.9744279,6.8456932 21.9820348,6.86705726 21.9864047,6.89003981 C21.9915839,6.91658304 21.9925549,6.94393552 21.994659,6.97128799 C21.9959538,6.98909138 22,7.00608552 22,7.0242126 C21.9988671,7.05496391 21.994659,7.07794646 21.9922312,7.10109086 C21.9894798,7.1269867 21.9880232,7.15320623 21.9825203,7.17813097 L20.5915903,13.2322533 L20.587706,13.2487619 C20.5797754,13.2835594 20.5681222,13.3164147 20.555498,13.3486227 C20.5524229,13.3567151 20.5499951,13.3651313 20.5465963,13.3730619 C20.5299259,13.4117438 20.5096948,13.4483216 20.4870359,13.4827955 C20.4797527,13.4938012 20.4710129,13.5031884 20.4632441,13.5137086 C20.445117,13.5381478 20.4265044,13.5619396 20.4056259,13.5836274 C20.3944583,13.5952805 20.3823196,13.605477 20.3705046,13.6163208 C20.3505972,13.6344479 20.3302043,13.6517658 20.3083546,13.6674651 C20.2941119,13.6778235 20.2795455,13.6872107 20.2646554,13.6964361 C20.2424821,13.7101932 20.2198233,13.7223319 20.1963552,13.7334995 L20.148286,13.7550254 C20.1214191,13.7655456 20.0935811,13.7734762 20.0654194,13.7807594 C20.0513385,13.7843201 20.037905,13.7888518 20.0235005,13.7916033 C19.9798012,13.8000194 19.9351309,13.8053604 19.8898132,13.8053604 L6.09623539,13.8051986 L6.20774933,15.2317353 L19.411064,15.2317353 C19.8069466,15.2317353 20.1278931,15.5528437 20.1278931,15.9487262 C20.1278931,16.3446088 19.8069466,16.6657172 19.411064,16.6657172 L5.54384488,16.6657172 C5.49593759,16.6657172 5.44932509,16.660538 5.40384553,16.6514744 C5.38863173,16.6483993 5.37471272,16.6425728 5.35998446,16.6386884 C5.33052795,16.6307578 5.30090959,16.6231509 5.27290972,16.6116596 C5.25543003,16.6043764 5.23940699,16.5945036 5.22257469,16.5859256 C5.19910659,16.5741106 5.17547665,16.5627812 5.15362704,16.5485385 C5.13711844,16.5376946 5.12255203,16.5249086 5.10701453,16.5127699 C5.08694526,16.4972324 5.06687599,16.4821804 5.04874891,16.4647007 C5.03434435,16.4509436 5.02204383,16.4357298 5.00893406,16.4208397 C4.99226362,16.4019033 4.97575503,16.3834526 4.96118862,16.3628977 C4.94937364,16.3463891 4.93966271,16.3285858 4.92930437,16.3111061 C4.91668015,16.2899039 4.90437963,16.2688635 4.8940213,16.2462046 C4.88511961,16.2267828 4.87832195,16.2065516 4.87103875,16.1861587 C4.86310815,16.163338 4.8553394,16.1406791 4.84967468,16.1168873 C4.84433367,16.0950377 4.84109669,16.0728644 4.83785971,16.0502055 L4.82992911,16.0045641 L3.92600265,4.43381996 L2.7169909,4.43381996 C2.32110834,4.43381996 2,4.11287347 2,3.7169909 C2,3.32094649 2.32110834,3 2.7169909,3 Z", fillRule: "evenodd" }) }));
1534
1560
  }
1535
1561
 
1536
- var styles$11 = {"manual-input-container":"add-to-cart-button-module-AWFvQ","left-button-spacer":"add-to-cart-button-module-SS7WM"};
1562
+ var styles$$ = {"manual-input-container":"add-to-cart-button-module-AWFvQ","left-button-spacer":"add-to-cart-button-module-SS7WM"};
1537
1563
 
1538
1564
  function AddToCartButton({ initialState = 'initial', isDisabled = false, onChange, quantity, }) {
1539
1565
  const [currentState, setState] = useState(initialState);
@@ -1627,7 +1653,7 @@ function ManualInputState({ isDisabled, onCancel, onConfirm, quantity, }) {
1627
1653
  if (e.key === 'Escape')
1628
1654
  onCancel();
1629
1655
  };
1630
- return (jsxs("div", { className: styles$11['manual-input-container'], children: [jsx("div", { className: styles$11['left-button-spacer'] }), jsx(NumberField, { autoFocus: true, autoGrow: true, defaultValue: quantity ? ensureNumber(quantity) : undefined, formatOptions: {
1656
+ return (jsxs("div", { className: styles$$['manual-input-container'], children: [jsx("div", { className: styles$$['left-button-spacer'] }), jsx(NumberField, { autoFocus: true, autoGrow: true, defaultValue: quantity ? ensureNumber(quantity) : undefined, formatOptions: {
1631
1657
  maximumFractionDigits: 0,
1632
1658
  style: 'decimal',
1633
1659
  useGrouping: false,
@@ -1705,7 +1731,7 @@ function StrokeCloseboxIcon(props) {
1705
1731
  return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", ...props, height: "24", viewBox: "0 0 24 24", width: "24", children: jsx("path", { d: "M8,8 L16,16 M16,8 L8,16", fill: "currentColor", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "1.4" }) }));
1706
1732
  }
1707
1733
 
1708
- var styles$10 = {"toast":"toast-module-VzLw4","close":"toast-module-mAwpu","icon":"toast-module-JqNiT","success":"toast-module-cuSIT","info":"toast-module-ABLCP","warning":"toast-module-jGWiH","danger":"toast-module-t33Ra"};
1734
+ var styles$_ = {"toast":"toast-module-VzLw4","close":"toast-module-mAwpu","icon":"toast-module-JqNiT","success":"toast-module-cuSIT","info":"toast-module-ABLCP","warning":"toast-module-jGWiH","danger":"toast-module-t33Ra"};
1709
1735
 
1710
1736
  const icons = {
1711
1737
  danger: jsx(SolidAttentionIcon, {}),
@@ -1714,7 +1740,7 @@ const icons = {
1714
1740
  warning: jsx(SolidNoticeIcon, {}),
1715
1741
  };
1716
1742
  const Toast = forwardRef(({ className, id, onClose, toastMessage: { body, isUserDismissable, messageType = 'info' }, }, ref) => {
1717
- return (jsxs("div", { ref: ref, className: clsx(styles$10.toast, styles$10[messageType], className), "data-test-selector": `toast${messageType}`, children: [jsx("span", { className: styles$10.icon, children: icons[messageType] }), body, isUserDismissable && (jsx(IconButton, { className: styles$10.close, color: "secondary", onClick: () => onClose?.(id), children: jsx(StrokeCloseboxIcon, {}) }))] }));
1743
+ return (jsxs("div", { ref: ref, className: clsx(styles$_.toast, styles$_[messageType], className), "data-test-selector": `toast${messageType}`, children: [jsx("span", { className: styles$_.icon, children: icons[messageType] }), body, isUserDismissable && (jsx(IconButton, { className: styles$_.close, color: "secondary", onClick: () => onClose?.(id), children: jsx(StrokeCloseboxIcon, {}) }))] }));
1718
1744
  });
1719
1745
  Toast.displayName = 'Toast';
1720
1746
 
@@ -1811,15 +1837,15 @@ const ConnectedAddToCartButton = ({ onAddToCart, productId }) => {
1811
1837
  return (jsx(AddToCartButton, { isDisabled: isPendingDeleteCartLine || isLoadingCartLines || isPendingAddToCart, onChange: handleChange, quantity: quantity }));
1812
1838
  };
1813
1839
 
1814
- var styles$$ = {"tag":"tag-module-B7r15","body":"tag-module-4cfCf","shape":"tag-module-c7CRb"};
1840
+ var styles$Z = {"tag":"tag-module-B7r15","body":"tag-module-4cfCf","shape":"tag-module-c7CRb"};
1815
1841
 
1816
1842
  function Tag({ children }) {
1817
1843
  if (!children)
1818
1844
  return null;
1819
- return (jsxs("div", { className: styles$$.tag, children: [jsx("div", { className: styles$$.body, children: children }), jsx("svg", { className: styles$$.shape, height: "16", viewBox: "0 0 9 16", width: "9", xmlns: "http://www.w3.org/2000/svg", children: jsx("path", { d: "M1.92461763,0 L0,0 L0,16 L1.92461763,16 L6.4117887,16 L8.87489381,7.57121588 C9.23711515,6.3325062 8.79482383,4.99454094 7.78060408,4.2560794 L1.92461763,0 Z", fill: "currentColor" }) })] }));
1845
+ return (jsxs("div", { className: styles$Z.tag, children: [jsx("div", { className: styles$Z.body, children: children }), jsx("svg", { className: styles$Z.shape, height: "16", viewBox: "0 0 9 16", width: "9", xmlns: "http://www.w3.org/2000/svg", children: jsx("path", { d: "M1.92461763,0 L0,0 L0,16 L1.92461763,16 L6.4117887,16 L8.87489381,7.57121588 C9.23711515,6.3325062 8.79482383,4.99454094 7.78060408,4.2560794 L1.92461763,0 Z", fill: "currentColor" }) })] }));
1820
1846
  }
1821
1847
 
1822
- var styles$_ = {"product-price":"product-price-module-oIU1K","original-price":"product-price-module-til0s","is-hidden":"product-price-module-V1NCf","current-price-wrapper":"product-price-module-FfVhl","current-price":"product-price-module-pvy2w","wholes":"product-price-module-GCw07","dot":"product-price-module-N56iV","decimals":"product-price-module-eWOOF","vat":"product-price-module-96DoG"};
1848
+ var styles$Y = {"product-price":"product-price-module-oIU1K","original-price":"product-price-module-til0s","is-hidden":"product-price-module-V1NCf","current-price-wrapper":"product-price-module-FfVhl","current-price":"product-price-module-pvy2w","wholes":"product-price-module-GCw07","dot":"product-price-module-N56iV","decimals":"product-price-module-eWOOF","vat":"product-price-module-96DoG"};
1823
1849
 
1824
1850
  const formatPrice = (price) => new Intl.NumberFormat('en-US', {
1825
1851
  maximumFractionDigits: 2,
@@ -1832,22 +1858,22 @@ function ProductPrice({ className, isVatIncluded, originalPrice, price, }) {
1832
1858
  const priceWithCurrency = formatPrice(price);
1833
1859
  const [wholes, decimals] = priceWithCurrency.split('.');
1834
1860
  const showOriginalPrice = priceWithCurrency !== originalPriceWithCurrency;
1835
- return (jsxs("div", { className: clsx(className, styles$_['product-price']), children: [jsx("span", { className: clsx(styles$_['original-price'], {
1836
- [styles$_['is-hidden']]: !showOriginalPrice,
1837
- }), children: originalPriceWithCurrency }), jsxs("div", { className: styles$_['current-price-wrapper'], children: [jsxs("div", { className: styles$_['current-price'], children: [jsx("span", { className: styles$_.wholes, children: wholes }), jsx("span", { className: styles$_.dot, children: "." }), jsx("span", { className: styles$_.decimals, children: decimals })] }), jsx("span", { className: styles$_.vat, children: isVatIncluded ? (jsx(FormattedMessage, { id: "Incl. VAT" })) : (jsx(FormattedMessage, { id: "Excl. VAT" })) })] })] }));
1861
+ return (jsxs("div", { className: clsx(className, styles$Y['product-price']), children: [jsx("span", { className: clsx(styles$Y['original-price'], {
1862
+ [styles$Y['is-hidden']]: !showOriginalPrice,
1863
+ }), children: originalPriceWithCurrency }), jsxs("div", { className: styles$Y['current-price-wrapper'], children: [jsxs("div", { className: styles$Y['current-price'], children: [jsx("span", { className: styles$Y.wholes, children: wholes }), jsx("span", { className: styles$Y.dot, children: "." }), jsx("span", { className: styles$Y.decimals, children: decimals })] }), jsx("span", { className: styles$Y.vat, children: isVatIncluded ? (jsx(FormattedMessage, { id: "Incl. VAT" })) : (jsx(FormattedMessage, { id: "Excl. VAT" })) })] })] }));
1838
1864
  }
1839
1865
 
1840
- var styles$Z = {"product-sku":"product-sku-module-ITb8x"};
1866
+ var styles$X = {"product-sku":"product-sku-module-ITb8x"};
1841
1867
 
1842
1868
  function ProductSku({ sku }) {
1843
- return (jsx("p", { className: styles$Z['product-sku'], "data-test-selector": "productNumber", children: sku }));
1869
+ return (jsx("p", { className: styles$X['product-sku'], "data-test-selector": "productNumber", children: sku }));
1844
1870
  }
1845
1871
 
1846
1872
  function isResponsiveImage(image) {
1847
1873
  return Boolean(image?.lg);
1848
1874
  }
1849
1875
 
1850
- var styles$Y = {"image":"image-module-lg7Kj","contain":"image-module-KFEgG","cover":"image-module-tVKFe","has-error":"image-module-LM93B","picture":"image-module-pNYjR"};
1876
+ var styles$W = {"image":"image-module-lg7Kj","contain":"image-module-KFEgG","cover":"image-module-tVKFe","has-error":"image-module-LM93B","picture":"image-module-pNYjR"};
1851
1877
 
1852
1878
  function Image({ className, fallbackSrc = 'https://res.cloudinary.com/dkz9eknwh/image/upload/v1716545808/images/product-card/fallback_p6ngjz.svg', fit = 'cover', height, image, loading = 'eager', title, width, }) {
1853
1879
  const [hasError, setHasError] = useState(false);
@@ -1871,26 +1897,26 @@ function Image({ className, fallbackSrc = 'https://res.cloudinary.com/dkz9eknwh/
1871
1897
  }
1872
1898
  function ImageComponent({ className, fallbackSrc, fit = 'cover', hasError, image, ...rest }) {
1873
1899
  if (!image)
1874
- return (jsx("img", { className: clsx(styles$Y.image, className, styles$Y[fit], styles$Y['has-error']), src: fallbackSrc, ...rest }));
1900
+ return (jsx("img", { className: clsx(styles$W.image, className, styles$W[fit], styles$W['has-error']), src: fallbackSrc, ...rest }));
1875
1901
  const srcSet = !hasError
1876
1902
  ? `${image[1]} 1x, ${image[2]} 2x, ${image[3]} 3x`
1877
1903
  : undefined;
1878
- return (jsx("img", { alt: image.altText, className: clsx(styles$Y.image, className, styles$Y[fit], {
1879
- [styles$Y['has-error']]: hasError,
1904
+ return (jsx("img", { alt: image.altText, className: clsx(styles$W.image, className, styles$W[fit], {
1905
+ [styles$W['has-error']]: hasError,
1880
1906
  }), src: !hasError ? image[3] : fallbackSrc, srcSet: srcSet, ...rest }));
1881
1907
  }
1882
1908
  function PictureComponent({ className, fallbackSrc, fit = 'cover', hasError, image, ...rest }) {
1883
1909
  if (!image)
1884
- return (jsx("picture", { className: clsx(styles$Y.picture, className), children: jsx("img", { className: clsx(styles$Y.image, styles$Y[fit], styles$Y['has-error']), src: fallbackSrc, ...rest }) }));
1885
- return (jsxs("picture", { className: clsx(styles$Y.picture, className), children: [jsx("source", { media: "(max-width: 768px)", srcSet: `${image.sm[1]} 1x, ${image.sm[2]} 2x, ${image.sm[3]} 3x` }), jsx("source", { media: "(max-width: 1439px)", srcSet: `${image.md[1]} 1x, ${image.md[2]} 2x, ${image.md[3]} 3x` }), jsx("source", { media: "(min-width: 1440px)", srcSet: `${image.lg[1]} 1x, ${image.lg[2]} 2x, ${image.lg[3]} 3x` }), jsx("img", { className: clsx(styles$Y.image, styles$Y[fit], {
1886
- [styles$Y['has-error']]: hasError,
1910
+ return (jsx("picture", { className: clsx(styles$W.picture, className), children: jsx("img", { className: clsx(styles$W.image, styles$W[fit], styles$W['has-error']), src: fallbackSrc, ...rest }) }));
1911
+ return (jsxs("picture", { className: clsx(styles$W.picture, className), children: [jsx("source", { media: "(max-width: 768px)", srcSet: `${image.sm[1]} 1x, ${image.sm[2]} 2x, ${image.sm[3]} 3x` }), jsx("source", { media: "(max-width: 1439px)", srcSet: `${image.md[1]} 1x, ${image.md[2]} 2x, ${image.md[3]} 3x` }), jsx("source", { media: "(min-width: 1440px)", srcSet: `${image.lg[1]} 1x, ${image.lg[2]} 2x, ${image.lg[3]} 3x` }), jsx("img", { className: clsx(styles$W.image, styles$W[fit], {
1912
+ [styles$W['has-error']]: hasError,
1887
1913
  }), src: !hasError ? image.lg[3] : fallbackSrc, ...rest })] }));
1888
1914
  }
1889
1915
 
1890
- var styles$X = {"product-card-container":"product-card-module-LepTy","product-card":"product-card-module-pLaiB","favorite-button":"product-card-module-tvEdz","content":"product-card-module-e0kMu","top":"product-card-module-Q0VvF","tag":"product-card-module-HkWBE","title":"product-card-module-CStNi","bottom":"product-card-module-kD2tU","image":"product-card-module-p-zoi","price":"product-card-module-irW0D","add-to-cart-button":"product-card-module-SnCvX"};
1916
+ var styles$V = {"product-card-container":"product-card-module-LepTy","product-card":"product-card-module-pLaiB","favorite-button":"product-card-module-tvEdz","content":"product-card-module-e0kMu","top":"product-card-module-Q0VvF","tag":"product-card-module-HkWBE","title":"product-card-module-CStNi","bottom":"product-card-module-kD2tU","image":"product-card-module-p-zoi","price":"product-card-module-irW0D","add-to-cart-button":"product-card-module-SnCvX"};
1891
1917
 
1892
1918
  function ProductCard({ addToCartButton: AddToCartButton, favoriteButton: FavoriteButton, href, id, image, onClick, price, sku, tags, title, }) {
1893
- return (jsx("div", { className: styles$X['product-card-container'], children: jsxs(RouteLink, { className: styles$X['product-card'], "data-product-id": sku, href: href, id: id, onClick: onClick, children: [jsx("div", { className: styles$X.image, children: jsx(Image, { ...image }) }), jsx("div", { className: styles$X['favorite-button'], children: FavoriteButton && FavoriteButton }), jsxs("div", { className: styles$X.content, children: [jsxs("div", { className: styles$X.top, children: [jsx("div", { className: styles$X.tag, children: tags?.map(tag => (jsx(Tag, { children: jsx(FormattedMessage, { optional: true, fallbackValue: tag, id: `tag.${tag.toLowerCase()}` }) }, tag))) }), jsx("h2", { className: styles$X.title, children: title }), jsx(ProductSku, { sku: sku })] }), jsxs("div", { className: styles$X.bottom, children: [jsx("div", { className: styles$X.price, children: jsx(ProductPrice, { isVatIncluded: price.isVatIncluded, originalPrice: price.originalPrice, price: price.price }) }), jsx("div", { className: styles$X['add-to-cart-button'], children: AddToCartButton })] })] })] }) }));
1919
+ return (jsx("div", { className: styles$V['product-card-container'], children: jsxs(RouteLink, { className: styles$V['product-card'], "data-product-id": sku, href: href, id: id, onClick: onClick, children: [jsx("div", { className: styles$V.image, children: jsx(Image, { ...image }) }), jsx("div", { className: styles$V['favorite-button'], children: FavoriteButton && FavoriteButton }), jsxs("div", { className: styles$V.content, children: [jsxs("div", { className: styles$V.top, children: [jsx("div", { className: styles$V.tag, children: tags?.map(tag => (jsx(Tag, { children: jsx(FormattedMessage, { optional: true, fallbackValue: tag, id: `tag.${tag.toLowerCase()}` }) }, tag))) }), jsx("h2", { className: styles$V.title, children: title }), jsx(ProductSku, { sku: sku })] }), jsxs("div", { className: styles$V.bottom, children: [jsx("div", { className: styles$V.price, children: jsx(ProductPrice, { isVatIncluded: price.isVatIncluded, originalPrice: price.originalPrice, price: price.price }) }), jsx("div", { className: styles$V['add-to-cart-button'], children: AddToCartButton })] })] })] }) }));
1894
1920
  }
1895
1921
 
1896
1922
  /* eslint-disable @typescript-eslint/no-explicit-any */
@@ -7669,13 +7695,13 @@ function GlyphsArrowBoldCapsLeftIcon(props) {
7669
7695
  return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", ...props, fill: "currentColor", height: "11", viewBox: "0 0 11 11", width: "11", children: jsx("path", { d: "M2.31124163,11 C2.06716529,11 1.91839241,10.7730596 2.04771379,10.5980857 L6.08820761,5.13116556 C6.42092595,4.68081431 6.37243043,4.10595375 5.96732409,3.70073526 L2.70240329,0.432177991 C2.53178078,0.261409485 2.67540212,0 2.93972934,0 L5.48361239,0 C5.57518542,0 5.6619622,0.0340936243 5.72102726,0.0931942463 L8.14882304,2.52367916 C9.1607451,3.53657521 9.28198389,4.9729381 8.45036569,6.09787751 L4.91836426,10.876542 C4.86160851,10.9533653 4.7620417,11 4.65492523,11 L2.31124163,11 Z", fillRule: "evenodd", transform: "matrix(-1 0 0 1 11 0)" }) }));
7670
7696
  }
7671
7697
 
7672
- var styles$W = {"carousel-navigation-button":"carousel-navigation-button-module-a1-I4"};
7698
+ var styles$U = {"carousel-navigation-button":"carousel-navigation-button-module-a1-I4"};
7673
7699
 
7674
7700
  const CarouselNavigationButton = forwardRef(function NavigationButton({ className, direction, onClick }, ref) {
7675
- return (jsx("button", { ref: ref, className: clsx(styles$W['carousel-navigation-button'], className), onClick: () => onClick?.(direction), children: direction === 'previous' ? (jsx(GlyphsArrowBoldCapsLeftIcon, {})) : (jsx(GlyphsArrowBoldCapsRightIcon, {})) }));
7701
+ return (jsx("button", { ref: ref, className: clsx(styles$U['carousel-navigation-button'], className), onClick: () => onClick?.(direction), children: direction === 'previous' ? (jsx(GlyphsArrowBoldCapsLeftIcon, {})) : (jsx(GlyphsArrowBoldCapsRightIcon, {})) }));
7676
7702
  });
7677
7703
 
7678
- var styles$V = {"carousel":"carousel-module-ealh-","swiper":"carousel-module-IftbN","is-ready":"carousel-module-RCpfc","has-overflow":"carousel-module-tPg7k","slide":"carousel-module-bUMlb","navigation-button-next":"carousel-module-T7bTr","is-dragging":"carousel-module-34OWD","navigation-button-prev":"carousel-module-984Rr","navigation-buttons":"carousel-module-k7Z4S","navigation-button":"carousel-module-kcqEE","top":"carousel-module-nL-O8","center":"carousel-module-5SGYn"};
7704
+ var styles$T = {"carousel":"carousel-module-ealh-","swiper":"carousel-module-IftbN","is-ready":"carousel-module-RCpfc","has-overflow":"carousel-module-tPg7k","slide":"carousel-module-bUMlb","navigation-button-next":"carousel-module-T7bTr","is-dragging":"carousel-module-34OWD","navigation-button-prev":"carousel-module-984Rr","navigation-buttons":"carousel-module-k7Z4S","navigation-button":"carousel-module-kcqEE","top":"carousel-module-nL-O8","center":"carousel-module-5SGYn"};
7679
7705
 
7680
7706
  function generateSlidesPerViewBreakpoints(slidesPerView) {
7681
7707
  return Object.keys(slidesPerView).reduce((result, breakpoint) => ({
@@ -7714,12 +7740,12 @@ function Carousel({ breakpoints: _breakpoints, className, hasNavigation = true,
7714
7740
  }
7715
7741
  if (slides.length === 0)
7716
7742
  return null;
7717
- return (jsxs("div", { className: clsx(styles$V.carousel, className), style: spaceBetween !== undefined
7743
+ return (jsxs("div", { className: clsx(styles$T.carousel, className), style: spaceBetween !== undefined
7718
7744
  ? { '--column-gap': `${spaceBetween}px` }
7719
- : undefined, children: [jsx(Swiper, { breakpoints: _breakpoints, className: clsx(styles$V.swiper, {
7720
- [styles$V['is-dragging']]: isDragging,
7721
- [styles$V['has-overflow']]: hasOverflow,
7722
- [styles$V['is-ready']]: isReady,
7745
+ : undefined, children: [jsx(Swiper, { breakpoints: _breakpoints, className: clsx(styles$T.swiper, {
7746
+ [styles$T['is-dragging']]: isDragging,
7747
+ [styles$T['has-overflow']]: hasOverflow,
7748
+ [styles$T['is-ready']]: isReady,
7723
7749
  }), freeMode: {
7724
7750
  enabled: false,
7725
7751
  sticky: true,
@@ -7730,19 +7756,19 @@ function Carousel({ breakpoints: _breakpoints, className, hasNavigation = true,
7730
7756
  }, onBeforeInit: swiper => (swiperRef.current = swiper), onSliderMove: () => setIsDragging(true), onSlidesUpdated: () => {
7731
7757
  if (!isReady)
7732
7758
  setIsReady(true);
7733
- }, onTouchEnd: () => setIsDragging(false), slidesPerGroupAuto: slidesPerView === 'auto', slidesPerView: slidesPerView, spaceBetween: spaceBetween, children: slides.map((slide, index) => (jsx(SwiperSlide, { className: clsx(styles$V.slide, slideClasses), children: slide }, index))) }), hasNavigation && (jsxs("div", { className: clsx(styles$V['navigation-buttons'], styles$V[navigationButtonsPosition]), children: [jsx(CarouselNavigationButton, { ref: prevEl, className: clsx(styles$V['navigation-button'], styles$V['navigation-button-prev']), direction: "previous", onClick: direction => handleNavigationButtonClick(direction) }), jsx(CarouselNavigationButton, { ref: nextEl, className: clsx(styles$V['navigation-button'], styles$V['navigation-button-next']), direction: "next", onClick: direction => handleNavigationButtonClick(direction) })] }))] }));
7759
+ }, onTouchEnd: () => setIsDragging(false), slidesPerGroupAuto: slidesPerView === 'auto', slidesPerView: slidesPerView, spaceBetween: spaceBetween, children: slides.map((slide, index) => (jsx(SwiperSlide, { className: clsx(styles$T.slide, slideClasses), children: slide }, index))) }), hasNavigation && (jsxs("div", { className: clsx(styles$T['navigation-buttons'], styles$T[navigationButtonsPosition]), children: [jsx(CarouselNavigationButton, { ref: prevEl, className: clsx(styles$T['navigation-button'], styles$T['navigation-button-prev']), direction: "previous", onClick: direction => handleNavigationButtonClick(direction) }), jsx(CarouselNavigationButton, { ref: nextEl, className: clsx(styles$T['navigation-button'], styles$T['navigation-button-next']), direction: "next", onClick: direction => handleNavigationButtonClick(direction) })] }))] }));
7734
7760
  }
7735
7761
 
7736
- var styles$U = {"slide":"category-carousel-module-muLq-"};
7762
+ var styles$S = {"slide":"category-carousel-module-muLq-"};
7737
7763
 
7738
7764
  function CategoryCarousel({ categoryCards }) {
7739
- return jsx(Carousel, { slideClasses: styles$U.slide, slides: categoryCards });
7765
+ return jsx(Carousel, { slideClasses: styles$S.slide, slides: categoryCards });
7740
7766
  }
7741
7767
 
7742
- var styles$T = {"accordion":"accordion-module-9WvAH","indented":"accordion-module-6CcEH","white":"accordion-module-CaVdG","accordion-item":"accordion-module-lf9d-","lg":"accordion-module-0qnae","with-seperators":"accordion-module-yOLrW","button":"accordion-module--Rwpb","icon":"accordion-module-Y50uq","focus":"accordion-module-M4BZs","panel":"accordion-module-KZjMo","content":"accordion-module-ejMH3","border-type-bottom":"accordion-module-oTdZK","border-type-top":"accordion-module-0mrLq","border-type-middle":"accordion-module-aAr-R","is-open":"accordion-module-W0F1z","border-type-middle-accentuated":"accordion-module-OB98a"};
7768
+ var styles$R = {"accordion":"accordion-module-9WvAH","indented":"accordion-module-6CcEH","white":"accordion-module-CaVdG","accordion-item":"accordion-module-lf9d-","lg":"accordion-module-0qnae","with-seperators":"accordion-module-yOLrW","button":"accordion-module--Rwpb","icon":"accordion-module-Y50uq","focus":"accordion-module-M4BZs","panel":"accordion-module-KZjMo","content":"accordion-module-ejMH3","border-type-bottom":"accordion-module-oTdZK","border-type-top":"accordion-module-0mrLq","border-type-middle":"accordion-module-aAr-R","is-open":"accordion-module-W0F1z","border-type-middle-accentuated":"accordion-module-OB98a"};
7743
7769
 
7744
7770
  function Accordion({ borderType = 'bottom', children, color = 'black', hasLineSeparator = true, indented, size = 'md', }) {
7745
- return (jsx("div", { className: clsx({ [styles$T.indented]: indented }, styles$T.accordion, styles$T[color], styles$T[size], hasLineSeparator && styles$T['with-seperators']), children: Boolean(children) &&
7771
+ return (jsx("div", { className: clsx({ [styles$R.indented]: indented }, styles$R.accordion, styles$R[color], styles$R[size], hasLineSeparator && styles$R['with-seperators']), children: Boolean(children) &&
7746
7772
  Children.map(children, child => {
7747
7773
  if (!child)
7748
7774
  return null;
@@ -7779,7 +7805,7 @@ function useResizeObserver(resizeCallback) {
7779
7805
  };
7780
7806
  }
7781
7807
 
7782
- var styles$S = {"show-all":"show-all-module-BDp21","panel":"show-all-module-bEdda","content":"show-all-module-RF--F","has-transparency":"show-all-module-30y7l","button":"show-all-module-58e7Q","icon":"show-all-module-fqncI","is-open":"show-all-module-hQeGI","content-fits":"show-all-module-OhPfm"};
7808
+ var styles$Q = {"show-all":"show-all-module-BDp21","panel":"show-all-module-bEdda","content":"show-all-module-RF--F","has-transparency":"show-all-module-30y7l","button":"show-all-module-58e7Q","icon":"show-all-module-fqncI","is-open":"show-all-module-hQeGI","content-fits":"show-all-module-OhPfm"};
7783
7809
 
7784
7810
  function ShowAll({ children, hasTransparency = true, initialHeight = 0, initialIsOpen = false, isOpen: isControlledOpen, onToggle, }) {
7785
7811
  const isControlled = isControlledOpen !== undefined && onToggle !== undefined;
@@ -7790,23 +7816,23 @@ function ShowAll({ children, hasTransparency = true, initialHeight = 0, initialI
7790
7816
  const { ref } = useResizeObserver((_target, size) => {
7791
7817
  setContentFits((size.height || 0) <= initialHeight);
7792
7818
  });
7793
- return (jsxs("div", { ref: showAllRef, className: clsx(styles$S['show-all'], {
7794
- [styles$S['content-fits']]: contentFits,
7795
- [styles$S['is-open']]: isReallyOpen,
7796
- }), style: contentFits ? undefined : { '--initital-height': `${initialHeight}px` }, children: [jsx("div", { className: styles$S.panel, children: jsx("div", { className: clsx(styles$S.content, {
7797
- [styles$S['has-transparency']]: !contentFits && hasTransparency,
7798
- }), children: jsx("div", { ref: ref, children: children }) }) }), !contentFits && (jsxs(RouteLink, { className: styles$S.button, color: "secondary", onClick: () => {
7819
+ return (jsxs("div", { ref: showAllRef, className: clsx(styles$Q['show-all'], {
7820
+ [styles$Q['content-fits']]: contentFits,
7821
+ [styles$Q['is-open']]: isReallyOpen,
7822
+ }), style: contentFits ? undefined : { '--initital-height': `${initialHeight}px` }, children: [jsx("div", { className: styles$Q.panel, children: jsx("div", { className: clsx(styles$Q.content, {
7823
+ [styles$Q['has-transparency']]: !contentFits && hasTransparency,
7824
+ }), children: jsx("div", { ref: ref, children: children }) }) }), !contentFits && (jsxs(RouteLink, { className: styles$Q.button, color: "secondary", onClick: () => {
7799
7825
  if (isControlled)
7800
7826
  return onToggle(!isControlled);
7801
7827
  toggle();
7802
- }, children: [jsx(GlyphsChevronsSlimDownIcon, { className: styles$S.icon }), isReallyOpen ? (jsx(FormattedMessage, { id: "Show less" })) : (jsx(FormattedMessage, { id: "Show all" }))] }))] }));
7828
+ }, children: [jsx(GlyphsChevronsSlimDownIcon, { className: styles$Q.icon }), isReallyOpen ? (jsx(FormattedMessage, { id: "Show less" })) : (jsx(FormattedMessage, { id: "Show all" }))] }))] }));
7803
7829
  }
7804
7830
 
7805
7831
  function StrokeCheckmarkIcon(props) {
7806
7832
  return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", ...props, fill: "currentColor", height: "24", viewBox: "0 0 24 24", width: "24", children: jsx("path", { d: "M10.8641425,17 C10.6636971,17 10.4855234,16.9548533 10.3296214,16.8645598 C10.1737194,16.7742664 10.0252413,16.6388262 9.88418708,16.4582393 L6.27839644,12.2189616 C6.09279881,11.9857035 6,11.744921 6,11.496614 C6,11.2332581 6.08723088,11.0094056 6.26169265,10.8250564 C6.43615442,10.6407073 6.65330364,10.5485327 6.91314031,10.5485327 C7.06904232,10.5485327 7.21195249,10.5823928 7.34187082,10.6501129 C7.47178916,10.717833 7.59985152,10.8382242 7.72605791,11.0112867 L10.8195991,14.7200903 L16.2405345,6.53047404 C16.4558278,6.17682468 16.7230883,6 17.0423163,6 C17.2873051,6 17.5081663,6.08088789 17.7048998,6.24266366 C17.9016333,6.40443943 18,6.61700527 18,6.88036117 C18,7.00075245 17.9721604,7.12302483 17.9164811,7.24717833 C17.8608018,7.37133183 17.7958426,7.48984199 17.7216036,7.6027088 L11.7884187,16.4469526 C11.5582777,16.8156509 11.2501856,17 10.8641425,17 Z", fillRule: "evenodd" }) }));
7807
7833
  }
7808
7834
 
7809
- var styles$R = {"select":"select-module-ui-Wc","sm":"select-module-44a1l","md":"select-module-QUm-8","button":"select-module-aMQIQ","chevron":"select-module-00uRU","focus":"select-module-XMc0P","solid":"select-module-IRd4F","popover":"select-module-z8cWq","listbox":"select-module-S21ba","header":"select-module-4Bm2j","item":"select-module-LgEJO","check":"select-module-lQFw3"};
7835
+ var styles$P = {"select":"select-module-ui-Wc","sm":"select-module-44a1l","md":"select-module-QUm-8","button":"select-module-aMQIQ","chevron":"select-module-00uRU","focus":"select-module-XMc0P","solid":"select-module-IRd4F","popover":"select-module-z8cWq","listbox":"select-module-S21ba","header":"select-module-4Bm2j","item":"select-module-LgEJO","check":"select-module-lQFw3"};
7810
7836
 
7811
7837
  function Select({ isDisabled = false, label, onChange, options, placeholder, selectedOption, showLabel = true, showPlaceholder = true, size = 'md', variant = 'outline', }) {
7812
7838
  const selectRef = useRef(null);
@@ -7823,12 +7849,12 @@ function Select({ isDisabled = false, label, onChange, options, placeholder, sel
7823
7849
  window.addEventListener('resize', updateWidth);
7824
7850
  return () => window.removeEventListener('resize', updateWidth);
7825
7851
  }, []);
7826
- return (jsxs(Select$1, { ref: selectRef, "aria-label": label, className: clsx(styles$R.select, styles$R[size], styles$R[variant]), isDisabled: isDisabled, onSelectionChange: selected => onChange(selected), placeholder: placeholder || label, selectedKey: String(selectedOption), children: [showLabel && jsx(Label, { children: label }), jsxs(Button$1, { className: styles$R.button, children: [jsx(SelectValue, {}), jsx(GlyphsChevronsSlimDownIcon, { "aria-hidden": "true", className: styles$R.chevron })] }), jsx(Popover, { ref: ref =>
7852
+ return (jsxs(Select$1, { ref: selectRef, "aria-label": label, className: clsx(styles$P.select, styles$P[size], styles$P[variant]), isDisabled: isDisabled, onSelectionChange: selected => onChange(selected), placeholder: placeholder || label, selectedKey: String(selectedOption), children: [showLabel && jsx(Label, { children: label }), jsxs(Button$1, { className: styles$P.button, children: [jsx(SelectValue, {}), jsx(GlyphsChevronsSlimDownIcon, { "aria-hidden": "true", className: styles$P.chevron })] }), jsx(Popover, { ref: ref =>
7827
7853
  // Workaround for react/react-aria #1513
7828
- ref?.addEventListener('touchend', e => e.preventDefault()), className: clsx(styles$R.popover, styles$R[variant]), placement: "bottom left", triggerRef: selectRef, children: jsx(ListBox, { className: styles$R.listbox, children: jsxs(Section, { children: [showPlaceholder && (jsx(Header, { className: styles$R.header, children: placeholder || label })), Object.entries(options).map(([key, value]) => (jsxs(ListBoxItem, { "aria-label": value, className: styles$R.item, id: key, textValue: value, children: [selectedOption === key && (jsx("span", { slot: "description", children: jsx(StrokeCheckmarkIcon, { className: styles$R.check }) })), jsx("span", { slot: "label", children: value })] }, key)))] }) }) })] }));
7854
+ ref?.addEventListener('touchend', e => e.preventDefault()), className: clsx(styles$P.popover, styles$P[variant]), placement: "bottom left", triggerRef: selectRef, children: jsx(ListBox, { className: styles$P.listbox, children: jsxs(Section, { children: [showPlaceholder && (jsx(Header, { className: styles$P.header, children: placeholder || label })), Object.entries(options).map(([key, value]) => (jsxs(ListBoxItem, { "aria-label": value, className: styles$P.item, id: key, textValue: value, children: [selectedOption === key && (jsx("span", { slot: "description", children: jsx(StrokeCheckmarkIcon, { className: styles$P.check }) })), jsx("span", { slot: "label", children: value })] }, key)))] }) }) })] }));
7829
7855
  }
7830
7856
 
7831
- var styles$Q = {"modal-overlay":"modal-module-rVFJc","modal-fade":"modal-module-63Uyl","is-full-screen":"modal-module-uwets","modal":"modal-module-6vlFt","content":"modal-module-FJxzx","modal-slide":"modal-module-jkAe7","modal-delayed-fade":"modal-module-WOZ01","close":"modal-module-7zIZE","modal-zoom":"modal-module-aPJ7X"};
7857
+ var styles$O = {"modal-overlay":"modal-module-rVFJc","modal-fade":"modal-module-63Uyl","is-full-screen":"modal-module-uwets","modal":"modal-module-6vlFt","content":"modal-module-FJxzx","modal-slide":"modal-module-jkAe7","modal-delayed-fade":"modal-module-WOZ01","close":"modal-module-7zIZE","modal-zoom":"modal-module-aPJ7X"};
7832
7858
 
7833
7859
  function Modal({ children, className, hasCloseButton, isDismissable, isFullScreen, isKeyboardDismissDisabled, isOpen, onOpenChange, shouldCloseOnInteractOutside = true, }) {
7834
7860
  return (jsx(ModalOverlay, { ref: ref => {
@@ -7846,12 +7872,12 @@ function Modal({ children, className, hasCloseButton, isDismissable, isFullScree
7846
7872
  e.preventDefault();
7847
7873
  e.stopPropagation();
7848
7874
  });
7849
- }, className: clsx(styles$Q['modal-overlay'], className), isDismissable: isDismissable, isKeyboardDismissDisabled: isKeyboardDismissDisabled, isOpen: isOpen, onOpenChange: onOpenChange, shouldCloseOnInteractOutside: () => shouldCloseOnInteractOutside, children: jsxs(Modal$1, { className: clsx(styles$Q.modal, {
7850
- [styles$Q['is-full-screen']]: isFullScreen,
7851
- }), children: [hasCloseButton && (jsx("div", { className: styles$Q.close, children: jsx(IconButton, { color: "secondary", isDisabled: !isDismissable, onClick: () => onOpenChange(false), children: jsx(StrokeCloseboxIcon, {}) }) })), jsx("div", { className: styles$Q.content, children: children })] }) }));
7875
+ }, className: clsx(styles$O['modal-overlay'], className), isDismissable: isDismissable, isKeyboardDismissDisabled: isKeyboardDismissDisabled, isOpen: isOpen, onOpenChange: onOpenChange, shouldCloseOnInteractOutside: () => shouldCloseOnInteractOutside, children: jsxs(Modal$1, { className: clsx(styles$O.modal, {
7876
+ [styles$O['is-full-screen']]: isFullScreen,
7877
+ }), children: [hasCloseButton && (jsx("div", { className: styles$O.close, children: jsx(IconButton, { color: "secondary", isDisabled: !isDismissable, onClick: () => onOpenChange(false), children: jsx(StrokeCloseboxIcon, {}) }) })), jsx("div", { className: styles$O.content, children: children })] }) }));
7852
7878
  }
7853
7879
 
7854
- var styles$P = {"heading":"heading-module-pMC65","uppercase":"heading-module-6spgX","italic":"heading-module-XXMDM","bold":"heading-module-xvrxo","xxl":"heading-module-Kn3ZN","xl":"heading-module--hZs-","l":"heading-module-WrJRY","m":"heading-module-hTexc","s":"heading-module-7W29m","xs":"heading-module-SgaLB","xxs":"heading-module-33en7"};
7880
+ var styles$N = {"heading":"heading-module-pMC65","uppercase":"heading-module-6spgX","italic":"heading-module-XXMDM","bold":"heading-module-xvrxo","xxl":"heading-module-Kn3ZN","xl":"heading-module--hZs-","l":"heading-module-WrJRY","m":"heading-module-hTexc","s":"heading-module-7W29m","xs":"heading-module-SgaLB","xxs":"heading-module-33en7"};
7855
7881
 
7856
7882
  const sizeToTag = {
7857
7883
  l: 'h3',
@@ -7864,24 +7890,24 @@ const sizeToTag = {
7864
7890
  };
7865
7891
  function Heading({ bold = true, children, className, italic, size = 'xxl', tag, uppercase, }) {
7866
7892
  return createElement$1(tag || sizeToTag[size], {
7867
- className: clsx(className, styles$P.heading, styles$P[size], {
7868
- [styles$P.uppercase]: uppercase,
7869
- [styles$P.italic]: italic,
7870
- [styles$P.bold]: bold,
7893
+ className: clsx(className, styles$N.heading, styles$N[size], {
7894
+ [styles$N.uppercase]: uppercase,
7895
+ [styles$N.italic]: italic,
7896
+ [styles$N.bold]: bold,
7871
7897
  }),
7872
7898
  }, children);
7873
7899
  }
7874
7900
 
7875
- var styles$O = {"dialog":"dialog-module-qKzgy","header":"dialog-module-ZnsAe","close":"dialog-module-Y7Tqg","footer":"dialog-module-y7Axm"};
7901
+ var styles$M = {"dialog":"dialog-module-qKzgy","header":"dialog-module-ZnsAe","close":"dialog-module-Y7Tqg","footer":"dialog-module-y7Axm"};
7876
7902
 
7877
7903
  function Footer({ close }) {
7878
7904
  return (jsxs(Fragment, { children: [jsx(Button, { withArrow: true, color: "primary", size: "md", type: "submit", children: "Submit" }), jsx(Button, { color: "secondary", onClick: close, size: "md", variant: "outline", children: "Close" })] }));
7879
7905
  }
7880
7906
  function Dialog({ allowClose = true, children, className, dialogClassName, footer = Footer, hasCloseButton = true, hideTitle, isDismissable, isFullScreen, isKeyboardDismissDisabled, isOpen, onOpenChange, onSubmit, shouldCloseOnInteractOutside, title, validationErrors, }) {
7881
- return (jsx(Modal, { className: clsx(styles$O['modal-overlay'], className), hasCloseButton: false, isDismissable: isDismissable, isFullScreen: isFullScreen, isKeyboardDismissDisabled: isKeyboardDismissDisabled, isOpen: isOpen, onOpenChange: onOpenChange, shouldCloseOnInteractOutside: shouldCloseOnInteractOutside, children: jsx(Dialog$1, { "aria-label": title, className: clsx(styles$O.dialog, dialogClassName), children: ({ close }) => (jsxs(Form, { className: styles$O.form, onSubmit: onSubmit || (e => e.preventDefault), validationErrors: validationErrors, children: [jsxs("header", { className: styles$O.header, children: [!hideTitle && (jsx(Heading, { className: styles$O.heading, size: "xs", children: title })), hasCloseButton && (jsx("div", { className: styles$O.close, children: jsx(IconButton, { color: "secondary", isDisabled: !allowClose, onClick: close, children: jsx(StrokeCloseboxIcon, {}) }) }))] }), jsx("div", { className: styles$O.content, children: children instanceof Function ? children({ close }) : children }), jsx("footer", { className: styles$O.footer, children: footer instanceof Function ? footer({ close }) : footer })] })) }) }));
7907
+ return (jsx(Modal, { className: clsx(styles$M['modal-overlay'], className), hasCloseButton: false, isDismissable: isDismissable, isFullScreen: isFullScreen, isKeyboardDismissDisabled: isKeyboardDismissDisabled, isOpen: isOpen, onOpenChange: onOpenChange, shouldCloseOnInteractOutside: shouldCloseOnInteractOutside, children: jsx(Dialog$1, { "aria-label": title, className: clsx(styles$M.dialog, dialogClassName), children: ({ close }) => (jsxs(Form, { className: styles$M.form, onSubmit: onSubmit || (e => e.preventDefault), validationErrors: validationErrors, children: [jsxs("header", { className: styles$M.header, children: [!hideTitle && (jsx(Heading, { className: styles$M.heading, size: "xs", children: title })), hasCloseButton && (jsx("div", { className: styles$M.close, children: jsx(IconButton, { color: "secondary", isDisabled: !allowClose, onClick: close, children: jsx(StrokeCloseboxIcon, {}) }) }))] }), jsx("div", { className: styles$M.content, children: children instanceof Function ? children({ close }) : children }), jsx("footer", { className: styles$M.footer, children: footer instanceof Function ? footer({ close }) : footer })] })) }) }));
7882
7908
  }
7883
7909
 
7884
- var styles$N = {"country-selector-dialog":"country-selector-dialog-module-mMJS0","content":"country-selector-dialog-module-z-ZqY","logo":"country-selector-dialog-module-7VjsF","intro":"country-selector-dialog-module-IdVDt","selects":"country-selector-dialog-module-Nvikf"};
7910
+ var styles$L = {"country-selector-dialog":"country-selector-dialog-module-mMJS0","content":"country-selector-dialog-module-z-ZqY","logo":"country-selector-dialog-module-7VjsF","intro":"country-selector-dialog-module-IdVDt","selects":"country-selector-dialog-module-Nvikf"};
7885
7911
 
7886
7912
  function CountrySelectorDialog({ countries, isOpen, onSubmit, selectedCountry, selectedLanguage, showCountry = true, }) {
7887
7913
  const t = useFormattedMessage();
@@ -7903,15 +7929,15 @@ function CountrySelectorDialog({ countries, isOpen, onSubmit, selectedCountry, s
7903
7929
  setCurrentLanguage(fallbackLanguage);
7904
7930
  // eslint-disable-next-line react-hooks/exhaustive-deps
7905
7931
  }, [currentCountry]);
7906
- return (jsx(Dialog, { hideTitle: true, allowClose: true, className: styles$N.modal, dialogClassName: styles$N['country-selector-dialog'], footer: jsx(Button, { withArrow: true, type: "submit", children: jsx(FormattedMessage, { id: "Save" }) }), hasCloseButton: false, isOpen: isOpen, onOpenChange: () => { }, onSubmit: e => {
7932
+ return (jsx(Dialog, { hideTitle: true, allowClose: true, className: styles$L.modal, dialogClassName: styles$L['country-selector-dialog'], footer: jsx(Button, { withArrow: true, type: "submit", children: jsx(FormattedMessage, { id: "Save" }) }), hasCloseButton: false, isOpen: isOpen, onOpenChange: () => { }, onSubmit: e => {
7907
7933
  onSubmit({ country: currentCountry, language: currentLanguage });
7908
7934
  e.preventDefault();
7909
7935
  e.stopPropagation();
7910
- }, title: "Country Selector", children: jsxs("div", { className: styles$N.content, children: [jsx("svg", { className: styles$N.logo, height: "32", viewBox: "0 0 134 32", width: "134", xmlns: "http://www.w3.org/2000/svg", children: jsxs("g", { fill: "none", fillRule: "evenodd", children: [jsx("path", { d: "M15.83 11.533c2.42 0 4.382 1.977 4.382 4.415 0 8.794-7.1 15.95-15.83 15.95C1.963 31.897 0 29.92 0 27.481c0-2.354 1.83-4.278 4.134-4.408l.249-.007c3.797 0 6.905-3.036 7.058-6.826l.006-.293c0-2.438 1.963-4.415 4.383-4.415zM15.83 0c2.42 0 4.383 1.977 4.383 4.415 0 2.355-1.83 4.279-4.134 4.409l-.249.007c-3.8 0-6.906 3.035-7.059 6.824l-.006.293c0 2.438-1.962 4.415-4.382 4.415S0 18.386 0 15.948C0 7.154 7.101 0 15.83 0zm8.208 16.022c0 8.794 7.101 15.95 15.83 15.95s15.83-7.156 15.83-15.95S48.597.074 39.868.074s-15.83 7.154-15.83 15.948zm8.765 0c0-3.924 3.169-7.118 7.065-7.118 3.895 0 7.065 3.194 7.065 7.118 0 3.926-3.17 7.119-7.065 7.119-3.896 0-7.065-3.193-7.065-7.12zm76.888-11.276c-6.173 6.217-6.173 16.335-.002 22.553 6.173 6.217 16.215 6.217 22.388 0a4.44 4.44 0 0 0 .001-6.244 4.359 4.359 0 0 0-6.003-.184l-.194.184a7.04 7.04 0 0 1-9.994 0c-2.753-2.775-2.753-7.29.002-10.065a7.036 7.036 0 0 1 9.751-.233l.24.231a4.36 4.36 0 0 0 6.198 0 4.44 4.44 0 0 0-.001-6.245c-6.173-6.217-16.215-6.216-22.386.003zm-17.162-.174v22.863c0 2.439 1.961 4.416 4.381 4.416 2.422 0 4.384-1.977 4.384-4.416V4.572c0-2.439-1.962-4.416-4.384-4.416-2.42 0-4.38 1.977-4.38 4.416zM64.1.1c-2.42 0-4.383 1.977-4.383 4.415v23.07c0 2.438 1.962 4.415 4.382 4.415s4.383-1.977 4.383-4.415V8.93h3.933c3.895 0 7.065 3.192 7.065 7.118v11.537c0 2.438 1.962 4.415 4.382 4.415s4.383-1.977 4.383-4.415V16.048C88.244 7.254 81.143.1 72.414.1h-8.316z", fill: "#000" }), jsx("path", { d: "M47.036 16.022c0 3.99-3.209 7.222-7.168 7.222-3.96 0-7.169-3.233-7.169-7.222 0-3.989 3.21-7.222 7.169-7.222 3.96 0 7.168 3.233 7.168 7.222", fill: "#E30613" })] }) }), jsx("p", { className: styles$N.intro, children: jsx(FormattedMessage, { id: "Welcome to Sonic Equipment. Please choose your country and language below." }) }), jsxs("div", { className: styles$N.selects, children: [showCountry && (jsx(Select, { label: t('Country'), onChange: value => setCurrentCountry(countries.find(country => country.id === value) ||
7936
+ }, title: "Country Selector", children: jsxs("div", { className: styles$L.content, children: [jsx("svg", { className: styles$L.logo, height: "32", viewBox: "0 0 134 32", width: "134", xmlns: "http://www.w3.org/2000/svg", children: jsxs("g", { fill: "none", fillRule: "evenodd", children: [jsx("path", { d: "M15.83 11.533c2.42 0 4.382 1.977 4.382 4.415 0 8.794-7.1 15.95-15.83 15.95C1.963 31.897 0 29.92 0 27.481c0-2.354 1.83-4.278 4.134-4.408l.249-.007c3.797 0 6.905-3.036 7.058-6.826l.006-.293c0-2.438 1.963-4.415 4.383-4.415zM15.83 0c2.42 0 4.383 1.977 4.383 4.415 0 2.355-1.83 4.279-4.134 4.409l-.249.007c-3.8 0-6.906 3.035-7.059 6.824l-.006.293c0 2.438-1.962 4.415-4.382 4.415S0 18.386 0 15.948C0 7.154 7.101 0 15.83 0zm8.208 16.022c0 8.794 7.101 15.95 15.83 15.95s15.83-7.156 15.83-15.95S48.597.074 39.868.074s-15.83 7.154-15.83 15.948zm8.765 0c0-3.924 3.169-7.118 7.065-7.118 3.895 0 7.065 3.194 7.065 7.118 0 3.926-3.17 7.119-7.065 7.119-3.896 0-7.065-3.193-7.065-7.12zm76.888-11.276c-6.173 6.217-6.173 16.335-.002 22.553 6.173 6.217 16.215 6.217 22.388 0a4.44 4.44 0 0 0 .001-6.244 4.359 4.359 0 0 0-6.003-.184l-.194.184a7.04 7.04 0 0 1-9.994 0c-2.753-2.775-2.753-7.29.002-10.065a7.036 7.036 0 0 1 9.751-.233l.24.231a4.36 4.36 0 0 0 6.198 0 4.44 4.44 0 0 0-.001-6.245c-6.173-6.217-16.215-6.216-22.386.003zm-17.162-.174v22.863c0 2.439 1.961 4.416 4.381 4.416 2.422 0 4.384-1.977 4.384-4.416V4.572c0-2.439-1.962-4.416-4.384-4.416-2.42 0-4.38 1.977-4.38 4.416zM64.1.1c-2.42 0-4.383 1.977-4.383 4.415v23.07c0 2.438 1.962 4.415 4.382 4.415s4.383-1.977 4.383-4.415V8.93h3.933c3.895 0 7.065 3.192 7.065 7.118v11.537c0 2.438 1.962 4.415 4.382 4.415s4.383-1.977 4.383-4.415V16.048C88.244 7.254 81.143.1 72.414.1h-8.316z", fill: "#000" }), jsx("path", { d: "M47.036 16.022c0 3.99-3.209 7.222-7.168 7.222-3.96 0-7.169-3.233-7.169-7.222 0-3.989 3.21-7.222 7.169-7.222 3.96 0 7.168 3.233 7.168 7.222", fill: "#E30613" })] }) }), jsx("p", { className: styles$L.intro, children: jsx(FormattedMessage, { id: "Welcome to Sonic Equipment. Please choose your country and language below." }) }), jsxs("div", { className: styles$L.selects, children: [showCountry && (jsx(Select, { label: t('Country'), onChange: value => setCurrentCountry(countries.find(country => country.id === value) ||
7911
7937
  currentCountry), options: countryOptions, selectedOption: currentCountry.id, showPlaceholder: false, variant: "solid" })), jsx(Select, { label: t('Language'), onChange: value => setCurrentLanguage(currentCountry.languages.find(language => language.id === value) || currentLanguage), options: languageOptions, selectedOption: currentLanguage.id, showPlaceholder: false, variant: "solid" })] })] }) }));
7912
7938
  }
7913
7939
 
7914
- var styles$M = {"country-selector-trigger":"country-selector-trigger-module-aioDu","flag":"country-selector-trigger-module-zOSJK","text":"country-selector-trigger-module-TE8tl","divider":"country-selector-trigger-module-GNRDD"};
7940
+ var styles$K = {"country-selector-trigger":"country-selector-trigger-module-aioDu","flag":"country-selector-trigger-module-zOSJK","text":"country-selector-trigger-module-TE8tl","divider":"country-selector-trigger-module-GNRDD"};
7915
7941
 
7916
7942
  function CountrySelectorTrigger({ onClick, selectedCountry, selectedLanguage, showCountry = true, }) {
7917
7943
  const t = useFormattedMessage();
@@ -7919,7 +7945,7 @@ function CountrySelectorTrigger({ onClick, selectedCountry, selectedLanguage, sh
7919
7945
  return;
7920
7946
  const abbreviation = selectedCountry.abbreviation.toLowerCase();
7921
7947
  const flagSrc = `https://res.cloudinary.com/dkz9eknwh/image/upload/v1729678637/images/flags/${abbreviation}.svg`;
7922
- return (jsxs("button", { "aria-label": "Open country selector dialog", className: styles$M['country-selector-trigger'], onClick: onClick, type: "button", children: [jsx(Image, { className: styles$M.flag, height: 24, image: { 1: flagSrc, 2: flagSrc, 3: flagSrc, altText: abbreviation }, title: abbreviation, width: 24 }), jsxs("div", { className: styles$M.text, children: [showCountry && (jsxs(Fragment, { children: [jsx("span", { children: t(`clSelector.${selectedCountry.name}`) }), jsx("span", { className: styles$M.divider, children: "-" })] })), jsx("span", { children: selectedLanguage.description })] })] }));
7948
+ return (jsxs("button", { "aria-label": "Open country selector dialog", className: styles$K['country-selector-trigger'], onClick: onClick, type: "button", children: [jsx(Image, { className: styles$K.flag, height: 24, image: { 1: flagSrc, 2: flagSrc, 3: flagSrc, altText: abbreviation }, title: abbreviation, width: 24 }), jsxs("div", { className: styles$K.text, children: [showCountry && (jsxs(Fragment, { children: [jsx("span", { children: t(`clSelector.${selectedCountry.name}`) }), jsx("span", { className: styles$K.divider, children: "-" })] })), jsx("span", { children: selectedLanguage.description })] })] }));
7923
7949
  }
7924
7950
 
7925
7951
  async function fetchCountriesLanguages() {
@@ -8100,7 +8126,7 @@ function CountrySelector({ defaultCountryCode, defaultLanguageCode, onChange, sh
8100
8126
  }, selectedCountry: selectedCountry || defaultCountry, selectedLanguage: selectedLanguage || defaultLanguage, showCountry: showCountry })] }));
8101
8127
  }
8102
8128
 
8103
- var styles$L = {"multi-select":"multi-select-module-DC7Ix","filter-item":"multi-select-module-OW-NK"};
8129
+ var styles$J = {"multi-select":"multi-select-module-DC7Ix","filter-item":"multi-select-module-OW-NK"};
8104
8130
 
8105
8131
  function MultiSelect({ amountShown = 3, onChange, options, render, }) {
8106
8132
  const shownOptions = options.slice(0, amountShown);
@@ -8111,24 +8137,24 @@ function MultiSelect({ amountShown = 3, onChange, options, render, }) {
8111
8137
  options.filter(option => option.isSelected).length === 0) {
8112
8138
  return null;
8113
8139
  }
8114
- return (jsxs("div", { className: styles$L['multi-select'], children: [jsx("div", { className: styles$L['filter-items'], children: shownOptions
8140
+ return (jsxs("div", { className: styles$J['multi-select'], children: [jsx("div", { className: styles$J['filter-items'], children: shownOptions
8115
8141
  .concat(isOpen ? [] : hiddenSelectedOptions)
8116
- .map(option => (jsxs("div", { className: styles$L['filter-item'], children: [render({ onChange: () => onChange(option), option }), jsxs("span", { children: ["(", option.amount, ")"] })] }, option.value))) }), hiddenOptions.length > 0 && (jsx(ShowAll, { hasTransparency: false, isOpen: isOpen, onToggle: toggle, children: jsx("div", { className: clsx(styles$L['filter-items'], styles$L['hidden']), children: hiddenOptions.map(option => (jsxs("div", { className: styles$L['filter-item'], children: [render({ onChange: () => onChange(option), option }), jsxs("span", { children: ["(", option.amount, ")"] })] }, option.value))) }) }))] }));
8142
+ .map(option => (jsxs("div", { className: styles$J['filter-item'], children: [render({ onChange: () => onChange(option), option }), jsxs("span", { children: ["(", option.amount, ")"] })] }, option.value))) }), hiddenOptions.length > 0 && (jsx(ShowAll, { hasTransparency: false, isOpen: isOpen, onToggle: toggle, children: jsx("div", { className: clsx(styles$J['filter-items'], styles$J['hidden']), children: hiddenOptions.map(option => (jsxs("div", { className: styles$J['filter-item'], children: [render({ onChange: () => onChange(option), option }), jsxs("span", { children: ["(", option.amount, ")"] })] }, option.value))) }) }))] }));
8117
8143
  }
8118
8144
 
8119
- var styles$K = {"checkbox":"checkbox-module-YNVdd","box":"checkbox-module-UKoyf","checkmark":"checkbox-module-pHIwh","focus":"checkbox-module-v23jy","active":"checkbox-module-7UG-b","color-checkbox":"checkbox-module-nEhvW"};
8145
+ var styles$I = {"checkbox":"checkbox-module-YNVdd","box":"checkbox-module-UKoyf","checkmark":"checkbox-module-pHIwh","focus":"checkbox-module-v23jy","active":"checkbox-module-7UG-b","color-checkbox":"checkbox-module-nEhvW"};
8120
8146
 
8121
8147
  function Checkbox({ _pseudo = 'none', children, className, isDisabled, isSelected, onChange, value, }) {
8122
- return (jsxs(Checkbox$1, { className: clsx(className, styles$K.checkbox, styles$K[_pseudo]), isDisabled: isDisabled, isSelected: isSelected, onChange: onChange, value: value, children: [jsx("div", { className: styles$K.box, children: jsx("svg", { "aria-hidden": "true", className: styles$K.checkmark, viewBox: "0 0 18 18", children: jsx("polyline", { points: "1 9 7 14 15 4" }) }) }), children] }));
8148
+ return (jsxs(Checkbox$1, { className: clsx(className, styles$I.checkbox, styles$I[_pseudo]), isDisabled: isDisabled, isSelected: isSelected, onChange: onChange, value: value, children: [jsx("div", { className: styles$I.box, children: jsx("svg", { "aria-hidden": "true", className: styles$I.checkmark, viewBox: "0 0 18 18", children: jsx("polyline", { points: "1 9 7 14 15 4" }) }) }), children] }));
8123
8149
  }
8124
8150
 
8125
8151
  function ColorCheckbox({ _pseudo = 'none', children, className, color, isDisabled, isSelected, onChange, value, }) {
8126
- return (jsxs(Checkbox$1, { className: clsx(className, styles$K.checkbox, styles$K['color-checkbox'], styles$K[_pseudo]), isDisabled: isDisabled, isSelected: isSelected, onChange: onChange, style: {
8152
+ return (jsxs(Checkbox$1, { className: clsx(className, styles$I.checkbox, styles$I['color-checkbox'], styles$I[_pseudo]), isDisabled: isDisabled, isSelected: isSelected, onChange: onChange, style: {
8127
8153
  '--selected-color': color,
8128
- }, value: value, children: [jsx("div", { className: styles$K.box }), children] }));
8154
+ }, value: value, children: [jsx("div", { className: styles$I.box }), children] }));
8129
8155
  }
8130
8156
 
8131
- var styles$J = {"input-container":"textarea-module-C6Xr1","lg":"textarea-module-vksG-","md":"textarea-module-6JrQJ"};
8157
+ var styles$H = {"input-container":"textarea-module-C6Xr1","lg":"textarea-module-vksG-","md":"textarea-module-6JrQJ"};
8132
8158
 
8133
8159
  /**
8134
8160
  * This component is used to create a textarea that can grow as the user types.
@@ -8163,7 +8189,7 @@ const TextArea = forwardRef(({ autoGrow, size, ...textAreaProps }, _ref) => {
8163
8189
  }
8164
8190
  updateHeight();
8165
8191
  }, [ref, autoGrow, updateHeight, size]);
8166
- return (jsx("div", { className: styles$J['input-container'], children: jsx(TextArea$1, { ...textAreaProps, ref: node => {
8192
+ return (jsx("div", { className: styles$H['input-container'], children: jsx(TextArea$1, { ...textAreaProps, ref: node => {
8167
8193
  ref.current =
8168
8194
  node;
8169
8195
  textAreaRef.current = node;
@@ -8174,7 +8200,7 @@ const TextArea = forwardRef(({ autoGrow, size, ...textAreaProps }, _ref) => {
8174
8200
  });
8175
8201
  TextArea.displayName = 'TextArea';
8176
8202
 
8177
- var styles$I = {"field":"text-field-module-JeaK0"};
8203
+ var styles$G = {"field":"text-field-module-JeaK0"};
8178
8204
 
8179
8205
  /**
8180
8206
  * This component is used to create a text field.
@@ -8182,44 +8208,19 @@ var styles$I = {"field":"text-field-module-JeaK0"};
8182
8208
  * This field can also grow when a user types in text.
8183
8209
  */
8184
8210
  function TextField({ autoFocus, autoGrow, defaultValue, isDisabled, isInvalid, isMultiline, isReadOnly, isRequired, label, maxLength, name, onChange, onInput, onKeyUp, placeholder, rows, showLabel = false, size = 'lg', value, }) {
8185
- return (jsxs(TextField$1, { "aria-label": label, autoFocus: autoFocus, className: clsx(styles$I.field, styles$I[size]), defaultValue: defaultValue, isDisabled: isDisabled, isInvalid: isInvalid, isReadOnly: isReadOnly, isRequired: isRequired, maxLength: maxLength, name: name, onChange: value => {
8211
+ return (jsxs(TextField$1, { "aria-label": label, autoFocus: autoFocus, className: clsx(styles$G.field, styles$G[size]), defaultValue: defaultValue, isDisabled: isDisabled, isInvalid: isInvalid, isReadOnly: isReadOnly, isRequired: isRequired, maxLength: maxLength, name: name, onChange: value => {
8186
8212
  onChange?.(value);
8187
8213
  }, onInput: onInput, onKeyUp: e => onKeyUp?.(e), value: value, children: [showLabel && jsx(Label, { isRequired: isRequired, children: label }), isMultiline ? (jsx(TextArea, { autoGrow: autoGrow, placeholder: placeholder, rows: rows, size: size })) : (jsx(Input, { autoGrow: autoGrow, placeholder: placeholder, size: size })), jsx(FieldError, {})] }));
8188
8214
  }
8189
8215
 
8190
- var styles$H = {"badge":"badge-module-X5Au9","count":"badge-module-ododp","is-animating":"badge-module-Q03Go","pulse":"badge-module-YSs-l","red":"badge-module-kqfth","orange":"badge-module-Y5LU3","green":"badge-module-S-L8C"};
8191
-
8192
- const ANIMATION_DURATION = 600;
8193
- function Badge({ count, variant = 'red' }) {
8194
- const [isAnimating, setIsAnimating] = useState(false);
8195
- useEffect(() => {
8196
- if (count === undefined)
8197
- return;
8198
- setIsAnimating(true);
8199
- const timer = setTimeout(() => setIsAnimating(false), ANIMATION_DURATION);
8200
- return () => clearTimeout(timer);
8201
- }, [count]);
8202
- return (jsx("span", { className: clsx(styles$H.badge, styles$H[variant], {
8203
- [styles$H['is-animating']]: isAnimating,
8204
- }), style: { '--animation-duration': `${ANIMATION_DURATION}ms` }, children: count !== undefined && jsx("span", { className: styles$H.count, children: count }) }, count));
8205
- }
8206
-
8207
- var styles$G = {"icon-with-badge":"icon-with-badge-module-eCTIN","badge-wrapper":"icon-with-badge-module-NUjwN"};
8208
-
8209
- function IconWithBadge({ badge, icon }) {
8210
- return (jsxs("div", { className: styles$G['icon-with-badge'], children: [icon, jsx("div", { className: styles$G['badge-wrapper'], children: badge })] }));
8211
- }
8212
-
8213
8216
  function useFetchCurrentCartCount() {
8214
8217
  const { data } = useFetchCurrentCartLines();
8215
8218
  return data?.reduce((acc, cartLine) => acc + (cartLine.qtyOrdered || 0), 0);
8216
8219
  }
8217
8220
 
8218
- const RouteIconButton = withRouting(IconButton);
8219
-
8220
8221
  function ConnectedCartIcon({ href }) {
8221
8222
  const count = useFetchCurrentCartCount();
8222
- return (jsx(RouteIconButton, { href: href, children: jsx(IconWithBadge, { badge: count ? jsx(Badge, { count: count }) : undefined, icon: jsx(SolidCartIcon, {}) }) }));
8223
+ return (jsx(RouteIconButton, { "data-test-selector": "cartIcon", href: href, children: jsx(IconWithBadge, { badge: count ? jsx(Badge, { count: count }) : undefined, icon: jsx(SolidCartIcon, {}) }) }));
8223
8224
  }
8224
8225
 
8225
8226
  function IntlProvider({ children, formatMessage, languageCode: _languageCode, }) {
@@ -8811,9 +8812,9 @@ function AccordionItem({ _pseudo = 'none', borderType = 'bottom', children, clas
8811
8812
  const panelId = `panel-${id}`;
8812
8813
  return (jsxs("div", { className: clsx(className, ...[]
8813
8814
  .concat(borderType)
8814
- .map(type => styles$T[`border-type-${type}`]), styles$T['accordion-item'], {
8815
- [styles$T['is-open']]: isOpen,
8816
- }), children: [jsx("h3", { children: jsxs("button", { "aria-controls": panelId, "aria-expanded": isOpen, className: clsx(styles$T.button, styles$T[_pseudo]), disabled: isDisabled, id: id, onClick: toggle, type: "button", children: [title, jsx("span", { className: styles$T.icon, children: size === 'lg' ? (jsx(GlyphsChevronsBoldDownIcon, {})) : (jsx(GlyphsChevronsSlimDownIcon, {})) })] }) }), jsx("div", { "aria-labelledby": id, className: styles$T.panel, id: panelId, role: "region", children: jsx("div", { className: styles$T.content, children: children }) })] }));
8815
+ .map(type => styles$R[`border-type-${type}`]), styles$R['accordion-item'], {
8816
+ [styles$R['is-open']]: isOpen,
8817
+ }), children: [jsx("h3", { children: jsxs("button", { "aria-controls": panelId, "aria-expanded": isOpen, className: clsx(styles$R.button, styles$R[_pseudo]), disabled: isDisabled, id: id, onClick: toggle, type: "button", children: [title, jsx("span", { className: styles$R.icon, children: size === 'lg' ? (jsx(GlyphsChevronsBoldDownIcon, {})) : (jsx(GlyphsChevronsSlimDownIcon, {})) })] }) }), jsx("div", { "aria-labelledby": id, className: styles$R.panel, id: panelId, role: "region", children: jsx("div", { className: styles$R.content, children: children }) })] }));
8817
8818
  }
8818
8819
 
8819
8820
  function StrokeDownloadIcon(props) {
@@ -10640,4 +10641,4 @@ console.log(`@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
10640
10641
  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
10641
10642
  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@`);
10642
10643
 
10643
- export { Accordion, AddToCartButton, AlgoliaActiveCategories, AlgoliaCategoriesFilters, AlgoliaFilterPanel, AlgoliaInsightsProvider, AlgoliaInsightsProviderContext, AlgoliaMultiSelectFilterSection, AlgoliaPagination, AlgoliaProvider, AlgoliaResultsCount, AlgoliaSortBy, AnnouncementProvider, AvailabilityMessageType, BadRequestError, BadgeImagePlacementValues, BadgeStyleValues, BadgeTypeValues, Breadcrumb, Button, CartProvider, CategoryCarousel, Checkbox, ColorCheckbox, ConnectedAddToCartButton, ConnectedCartIcon, CountrySelector, CurrencyPositioningType, FavoriteButton, FavoriteProvider, FilterSection, ForbiddenRequestError, FormattedMessage, GlobalSearch, GlobalSearchDisclosureContext, GlobalSearchProvider, GlobalStateProvider, GlobalStateProviderContext, IconButton, Image, InternalServerErrorRequest, IntlProvider, Link, LoadingOverlay, MultiSelect, NotFoundRequestError, NumberField, Page, PageContainer, ProductCard, ProductDetailsPage, ProductListingPage, ProductOverviewGrid, ProductPrice, ProductSku, ProgressCircle, ReactQueryContainer, RequestError, RouteButton, RouteLink, RouteProvider, SearchResultsPage, SearchRoot, Select, ShowAll, Sidebar, SidebarDetectBreakpoint, SidebarProvider, TextField, TimeoutRequestError, ToastProvider, UnauthorizedRequestError, UnprocessableContentRequestError, VariantDisplayTypeValues, WishListNameAlreadyExistsError, addProductToCurrentCart, addWishListItemToWishList, config, configPerEnvironment, createSession, createSonicSearchClient, createWishList, deleteCartLineById, deleteWishList, deleteWishListItemFromWishList, environment, environments, fetchCurrentCartLines, fetchTranslations, getSession, getWishList, getWishListItemsByWishListId, getWishLists, isProductHit, isRequestError, request, signIn, signOut, transformAlgoliaProductHitToProductHit, transformAlgoliaPromoHitToPromoHit, updateCartLineById, useAddProductToCurrentCart, useAddWishListItemToCurrentWishList, useAddWishListItemToWishList, useAlgolia, useAlgoliaInsights, useAlgoliaSearch, useBreakpoint, useCartEvents, useCreateWishList, useDebouncedCallback, useDeleteCartLineById, useDeleteWishListItemFromWishList, useDisclosure, useFavorite, useFavoriteProduct, useFeatureFlags, useFetchAllWishListsItems, useFetchCurrentCartLines, useFetchTranslations, useFetchWishLists, useFormattedMessage, useGlobalSearchDisclosure, useGlobalState, useIsAuthenticated, useIsBreakpoint, useNavigate, useOnNavigate, useScrollLock, useSession, useSignIn, useSignOut, useToast, useUpdateCartLineById, userToken };
10644
+ export { Accordion, AddToCartButton, AlgoliaActiveCategories, AlgoliaCategoriesFilters, AlgoliaFilterPanel, AlgoliaInsightsProvider, AlgoliaInsightsProviderContext, AlgoliaMultiSelectFilterSection, AlgoliaPagination, AlgoliaProvider, AlgoliaResultsCount, AlgoliaSortBy, AnnouncementProvider, AvailabilityMessageType, BadRequestError, Badge, BadgeImagePlacementValues, BadgeStyleValues, BadgeTypeValues, Breadcrumb, Button, CartProvider, CategoryCarousel, Checkbox, ColorCheckbox, ConnectedAddToCartButton, ConnectedCartIcon, CountrySelector, CurrencyPositioningType, FavoriteButton, FavoriteProvider, FilterSection, ForbiddenRequestError, FormattedMessage, GlobalSearch, GlobalSearchDisclosureContext, GlobalSearchProvider, GlobalStateProvider, GlobalStateProviderContext, IconButton, IconWithBadge, Image, InternalServerErrorRequest, IntlProvider, Link, LoadingOverlay, MultiSelect, NotFoundRequestError, NumberField, Page, PageContainer, ProductCard, ProductDetailsPage, ProductListingPage, ProductOverviewGrid, ProductPrice, ProductSku, ProgressCircle, ReactQueryContainer, RequestError, RouteButton, RouteIconButton, RouteLink, RouteProvider, SearchResultsPage, SearchRoot, Select, ShowAll, Sidebar, SidebarDetectBreakpoint, SidebarProvider, TextField, TimeoutRequestError, ToastProvider, UnauthorizedRequestError, UnprocessableContentRequestError, VariantDisplayTypeValues, WishListNameAlreadyExistsError, addProductToCurrentCart, addWishListItemToWishList, config, configPerEnvironment, createSession, createSonicSearchClient, createWishList, deleteCartLineById, deleteWishList, deleteWishListItemFromWishList, environment, environments, fetchCurrentCartLines, fetchTranslations, getSession, getWishList, getWishListItemsByWishListId, getWishLists, isProductHit, isRequestError, request, signIn, signOut, transformAlgoliaProductHitToProductHit, transformAlgoliaPromoHitToPromoHit, updateCartLineById, useAddProductToCurrentCart, useAddWishListItemToCurrentWishList, useAddWishListItemToWishList, useAlgolia, useAlgoliaInsights, useAlgoliaSearch, useBreakpoint, useCartEvents, useCreateWishList, useDebouncedCallback, useDeleteCartLineById, useDeleteWishListItemFromWishList, useDisclosure, useFavorite, useFavoriteProduct, useFeatureFlags, useFetchAllWishListsItems, useFetchCurrentCartLines, useFetchTranslations, useFetchWishLists, useFormattedMessage, useGlobalSearchDisclosure, useGlobalState, useIsAuthenticated, useIsBreakpoint, useNavigate, useOnNavigate, useScrollLock, useSession, useSignIn, useSignOut, useToast, useUpdateCartLineById, userToken };
@@ -5,6 +5,7 @@ export interface IconButtonProps {
5
5
  isDisabled?: boolean;
6
6
  onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void;
7
7
  size?: 'md' | 'lg';
8
+ title?: string;
8
9
  type?: 'button' | 'submit' | 'reset';
9
10
  }
10
- export declare function IconButton({ children, className, color, isDisabled, onClick, size, type, }: IconButtonProps): import("react/jsx-runtime").JSX.Element;
11
+ export declare function IconButton({ children, className, color, isDisabled, onClick: _onClick, size, title, type, ...rest }: IconButtonProps): import("react/jsx-runtime").JSX.Element;
@@ -35,7 +35,10 @@ export * from './shared/providers/global-state-provider';
35
35
  export * from './shared/routing/route-provider';
36
36
  export * from './shared/routing/route-link';
37
37
  export * from './shared/routing/route-button';
38
+ export * from './shared/routing/route-icon-button';
38
39
  export * from './shared/model/hit';
40
+ export * from './badges/badge/badge';
41
+ export * from './badges/badge/icon-with-badge/icon-with-badge';
39
42
  export * from './breadcrumbs/breadcrumb';
40
43
  export * from './buttons/button/button';
41
44
  export * from './buttons/favorite/favorite-button';
package/dist/styles.css CHANGED
@@ -435,6 +435,139 @@
435
435
  color: var(--color-red-300);
436
436
  }
437
437
 
438
+ .icon-button-module-4PDK- {
439
+ all: unset;
440
+ display: flex;
441
+ min-width: 48px;
442
+ min-height: 48px;
443
+ align-items: center;
444
+ justify-content: center;
445
+ border: none;
446
+ background-color: transparent;
447
+ cursor: pointer;
448
+ -webkit-tap-highlight-color: transparent;
449
+ }
450
+
451
+ .icon-button-module-4PDK-[data-disabled] {
452
+ cursor: default;
453
+ opacity: 0.4;
454
+ }
455
+
456
+ /*********************************************************
457
+ *
458
+ * Sizes
459
+ *
460
+ *********************************************************/
461
+
462
+ .icon-button-module-k3s9J svg {
463
+ width: 24px;
464
+ height: 24px;
465
+ }
466
+
467
+ .icon-button-module-agk6Y svg {
468
+ width: 32px;
469
+ height: 32px;
470
+ }
471
+
472
+ /*********************************************************
473
+ *
474
+ * Variants
475
+ *
476
+ *********************************************************/
477
+
478
+ .icon-button-module-fTeP4 {
479
+ color: var(--color-brand-black);
480
+ }
481
+
482
+ .icon-button-module-dM0eo {
483
+ color: var(--color-brand-dark-gray);
484
+ }
485
+
486
+ .icon-button-module-71HRy {
487
+ color: currentcolor;
488
+ }
489
+
490
+ @media (hover: hover) {
491
+ .icon-button-module-fTeP4:hover, .icon-button-module-dM0eo:hover {
492
+ color: var(--color-brand-red);
493
+ }
494
+ }
495
+
496
+ .badge-module-X5Au9 {
497
+ --shadow-color: 48 209 88;
498
+ --animation-duration: 1000ms;
499
+
500
+ display: flex;
501
+ min-width: 16px;
502
+ height: 16px;
503
+ box-sizing: border-box;
504
+ align-items: center;
505
+ justify-content: center;
506
+ padding: var(--space-4);
507
+ border: 1px solid var(--color-white);
508
+ border-radius: var(--border-radius-8);
509
+ }
510
+
511
+ .badge-module-X5Au9 .badge-module-ododp {
512
+ display: flex;
513
+ align-items: center;
514
+ justify-content: center;
515
+ color: var(--color-white);
516
+ font-size: var(--font-size-8);
517
+ font-weight: var(--font-weight-bold);
518
+ }
519
+
520
+ .badge-module-X5Au9:where(.badge-module-Q03Go) {
521
+ animation: badge-module-YSs-l var(--animation-duration) ease-in-out infinite;
522
+ }
523
+
524
+ .badge-module-X5Au9:where(.badge-module-kqfth) {
525
+ --shadow-color: 227 6 19;
526
+
527
+ background-color: var(--color-semantic-stop);
528
+ }
529
+
530
+ .badge-module-X5Au9:where(.badge-module-Y5LU3) {
531
+ --shadow-color: 255 159 10;
532
+
533
+ background-color: var(--color-semantic-notify);
534
+ }
535
+
536
+ .badge-module-X5Au9:where(.badge-module-S-L8C) {
537
+ --shadow-color: 48 209 88;
538
+
539
+ background-color: var(--color-semantic-okay);
540
+ }
541
+
542
+ @keyframes badge-module-YSs-l {
543
+ 0% {
544
+ box-shadow: 0 0 0 0 rgb(var(--shadow-color) / 70%);
545
+ scale: 1;
546
+ }
547
+
548
+ 50% {
549
+ box-shadow: 0 0 4px 2px rgb(var(--shadow-color) / 40%);
550
+ scale: 1.28;
551
+ }
552
+
553
+ 100% {
554
+ box-shadow: 0 0 0 0 rgb(var(--shadow-color) / 0%);
555
+ scale: 1;
556
+ }
557
+ }
558
+
559
+ .icon-with-badge-module-eCTIN {
560
+ position: relative;
561
+ display: inline-flex;
562
+ }
563
+
564
+ .icon-with-badge-module-eCTIN .icon-with-badge-module-NUjwN {
565
+ position: absolute;
566
+ top: 2px;
567
+ right: 2px;
568
+ transform: translate(50%, -50%);
569
+ }
570
+
438
571
  /* stylelint-disable max-nesting-depth */
439
572
  .breadcrumb-module-CQGse {
440
573
  display: flex;
@@ -500,64 +633,6 @@
500
633
  }
501
634
  }
502
635
 
503
- .icon-button-module-4PDK- {
504
- all: unset;
505
- display: flex;
506
- min-width: 48px;
507
- min-height: 48px;
508
- align-items: center;
509
- justify-content: center;
510
- border: none;
511
- background-color: transparent;
512
- cursor: pointer;
513
- -webkit-tap-highlight-color: transparent;
514
- }
515
-
516
- .icon-button-module-4PDK-[data-disabled] {
517
- cursor: default;
518
- opacity: 0.4;
519
- }
520
-
521
- /*********************************************************
522
- *
523
- * Sizes
524
- *
525
- *********************************************************/
526
-
527
- .icon-button-module-k3s9J svg {
528
- width: 24px;
529
- height: 24px;
530
- }
531
-
532
- .icon-button-module-agk6Y svg {
533
- width: 32px;
534
- height: 32px;
535
- }
536
-
537
- /*********************************************************
538
- *
539
- * Variants
540
- *
541
- *********************************************************/
542
-
543
- .icon-button-module-fTeP4 {
544
- color: var(--color-brand-black);
545
- }
546
-
547
- .icon-button-module-dM0eo {
548
- color: var(--color-brand-dark-gray);
549
- }
550
-
551
- .icon-button-module-71HRy {
552
- color: currentcolor;
553
- }
554
-
555
- @media (hover: hover) {
556
- .icon-button-module-fTeP4:hover, .icon-button-module-dM0eo:hover {
557
- color: var(--color-brand-red);
558
- }
559
- }
560
-
561
636
  .favorite-button-module-tXSS3:where(.favorite-button-module-l557q) {
562
637
  animation: favorite-button-module-6Tsmy 0.4s ease-in-out 0s 1 normal both;
563
638
  color: var(--color-brand-red);
@@ -2383,81 +2458,6 @@
2383
2458
  display: none;
2384
2459
  }
2385
2460
 
2386
- .badge-module-X5Au9 {
2387
- --shadow-color: 48 209 88;
2388
- --animation-duration: 1000ms;
2389
-
2390
- display: flex;
2391
- min-width: 16px;
2392
- height: 16px;
2393
- box-sizing: border-box;
2394
- align-items: center;
2395
- justify-content: center;
2396
- padding: var(--space-4);
2397
- border: 1px solid var(--color-white);
2398
- border-radius: var(--border-radius-8);
2399
- }
2400
-
2401
- .badge-module-X5Au9 .badge-module-ododp {
2402
- display: flex;
2403
- align-items: center;
2404
- justify-content: center;
2405
- color: var(--color-white);
2406
- font-size: var(--font-size-8);
2407
- font-weight: var(--font-weight-bold);
2408
- }
2409
-
2410
- .badge-module-X5Au9:where(.badge-module-Q03Go) {
2411
- animation: badge-module-YSs-l var(--animation-duration) ease-in-out infinite;
2412
- }
2413
-
2414
- .badge-module-X5Au9:where(.badge-module-kqfth) {
2415
- --shadow-color: 227 6 19;
2416
-
2417
- background-color: var(--color-semantic-stop);
2418
- }
2419
-
2420
- .badge-module-X5Au9:where(.badge-module-Y5LU3) {
2421
- --shadow-color: 255 159 10;
2422
-
2423
- background-color: var(--color-semantic-notify);
2424
- }
2425
-
2426
- .badge-module-X5Au9:where(.badge-module-S-L8C) {
2427
- --shadow-color: 48 209 88;
2428
-
2429
- background-color: var(--color-semantic-okay);
2430
- }
2431
-
2432
- @keyframes badge-module-YSs-l {
2433
- 0% {
2434
- box-shadow: 0 0 0 0 rgb(var(--shadow-color) / 70%);
2435
- scale: 1;
2436
- }
2437
-
2438
- 50% {
2439
- box-shadow: 0 0 4px 2px rgb(var(--shadow-color) / 40%);
2440
- scale: 1.28;
2441
- }
2442
-
2443
- 100% {
2444
- box-shadow: 0 0 0 0 rgb(var(--shadow-color) / 0%);
2445
- scale: 1;
2446
- }
2447
- }
2448
-
2449
- .icon-with-badge-module-eCTIN {
2450
- position: relative;
2451
- display: inline-flex;
2452
- }
2453
-
2454
- .icon-with-badge-module-eCTIN .icon-with-badge-module-NUjwN {
2455
- position: absolute;
2456
- top: 2px;
2457
- right: 2px;
2458
- transform: translate(50%, -50%);
2459
- }
2460
-
2461
2461
  .progress-circle-module-4nweP {
2462
2462
  --width: var(--space-24);
2463
2463
 
@@ -2675,7 +2675,7 @@
2675
2675
  .announcement-module-Xi0L5 .announcement-module-4XVjD .announcement-module-1Jn7y .announcement-module-8k2rK {
2676
2676
  margin: 0;
2677
2677
  font-size: var(--font-size-base);
2678
- font-weight: var(--font-weight-bold);
2678
+ font-weight: var(--font-weight-medium);
2679
2679
  }
2680
2680
 
2681
2681
  .announcement-module-Xi0L5 .announcement-module-4XVjD .announcement-module-1Jn7y .announcement-module-yXGsN {
@@ -2874,8 +2874,6 @@
2874
2874
 
2875
2875
  .card-carousel-module-DxKOG.card-carousel-module-8uKSt {
2876
2876
  --slide-width: var(--slide-width-narrow);
2877
-
2878
- max-height: calc(var(--slide-width) * 1.8177);
2879
2877
  }
2880
2878
 
2881
2879
  .card-carousel-module-DxKOG.card-carousel-module-l-ylK {
@@ -2932,8 +2930,6 @@
2932
2930
 
2933
2931
  .card-carousel-module-DxKOG.card-carousel-module-8uKSt {
2934
2932
  --slide-width: var(--slide-width-narrow);
2935
-
2936
- max-height: calc(var(--slide-width) * 1.8177);
2937
2933
  }
2938
2934
 
2939
2935
  .card-carousel-module-DxKOG.card-carousel-module-l-ylK {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sonic-equipment/ui",
3
- "version": "0.0.108",
3
+ "version": "0.0.110",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "engines": {