@sonic-equipment/ui 0.0.19 → 0.0.20
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/algolia/algolia-active-filters.d.ts +1 -0
- package/dist/algolia/algolia-filter-panel.d.ts +1 -0
- package/dist/algolia/algolia-multi-select.d.ts +5 -0
- package/dist/algolia/algolia-pagination.d.ts +1 -0
- package/dist/algolia/algolia-product-list.d.ts +1 -0
- package/dist/algolia/algolia-results-count.d.ts +1 -0
- package/dist/algolia/algolia-searchclient-mock.d.ts +4 -0
- package/dist/algolia/algolia-sort-by.d.ts +1 -0
- package/dist/algolia/algolia.stories.d.ts +17 -0
- package/dist/buttons/button/button.d.ts +5 -4
- package/dist/buttons/button/button.stories.d.ts +1 -0
- package/dist/buttons/link-button/link-button.d.ts +10 -0
- package/dist/buttons/link-button/link-button.stories.d.ts +19 -0
- package/dist/collapsables/accordion/accordion.stories.d.ts +0 -1
- package/dist/collapsables/show-all/show-all.d.ts +9 -0
- package/dist/collapsables/show-all/show-all.stories.d.ts +17 -0
- package/dist/filters/active-filters/active-filters.d.ts +13 -0
- package/dist/filters/active-filters/active-filters.stories.d.ts +15 -0
- package/dist/filters/multi-select/multi-select.d.ts +19 -0
- package/dist/filters/multi-select/multi-select.stories.d.ts +20 -0
- package/dist/forms/color-checkbox/color-checkbox.stories.d.ts +1 -0
- package/dist/forms/select/select.d.ts +5 -5
- package/dist/forms/select/select.stories.d.ts +10 -3
- package/dist/icons/close/close-filled-icon.d.ts +2 -0
- package/dist/icons/filter/filter-outlined-icon.d.ts +2 -0
- package/dist/index.d.ts +66 -25
- package/dist/index.js +128 -52
- package/dist/intl/translation-id.d.ts +1 -5
- package/dist/product-listing/product-listing.d.ts +12 -10
- package/dist/product-listing/product-listing.stories.d.ts +1 -1
- package/dist/shared/hooks/use-device.d.ts +5 -0
- package/dist/shared/hooks/use-disclosure.d.ts +9 -0
- package/dist/shared/hooks/use-scroll-lock.d.ts +1 -0
- package/dist/sidebar/sidebar-context.d.ts +6 -0
- package/dist/sidebar/sidebar-provider.d.ts +6 -0
- package/dist/sidebar/sidebar.d.ts +5 -0
- package/dist/sidebar/sidebar.stories.d.ts +8 -0
- package/dist/sidebar/toggle-sidebar-button.d.ts +1 -0
- package/dist/sidebar/use-sidebar.d.ts +2 -0
- package/dist/styles.css +218 -7
- package/package.json +34 -30
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function AlgoliaActiveFilters(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function AlgoliaFilterPanel(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function AlgoliaPagination(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function AlgoliaProductList(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function AlgoliaResultsCount(): string | null;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function AlgoliaSortBy(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { StoryObj } from '@storybook/react';
|
|
2
|
+
interface Props {
|
|
3
|
+
online: boolean;
|
|
4
|
+
}
|
|
5
|
+
declare const meta: {
|
|
6
|
+
argTypes: {
|
|
7
|
+
online: {
|
|
8
|
+
control: "boolean";
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
args: {
|
|
12
|
+
online: false;
|
|
13
|
+
};
|
|
14
|
+
title: string;
|
|
15
|
+
};
|
|
16
|
+
export default meta;
|
|
17
|
+
export declare const Default: StoryObj<Props>;
|
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
2
|
export interface ButtonProps {
|
|
3
3
|
_pseudo?: 'none' | 'focus' | 'hover' | 'active';
|
|
4
|
-
children?: string;
|
|
4
|
+
children?: ReactNode | string;
|
|
5
5
|
className?: string;
|
|
6
6
|
color?: 'primary' | 'secondary';
|
|
7
7
|
condensed?: boolean;
|
|
8
8
|
icon?: React.ReactNode;
|
|
9
|
+
iconPosition?: 'left' | 'right';
|
|
9
10
|
isDisabled?: boolean;
|
|
10
11
|
onPress?: VoidFunction;
|
|
11
|
-
size?: 'md' | 'lg';
|
|
12
|
+
size?: 'sm' | 'md' | 'lg';
|
|
12
13
|
type?: 'button' | 'submit' | 'reset';
|
|
13
14
|
variant?: 'solid' | 'outline' | 'ghost';
|
|
14
15
|
withArrow?: boolean;
|
|
15
16
|
}
|
|
16
|
-
export declare function Button({ _pseudo, children, className, color, condensed, icon, isDisabled, onPress, size, type, variant, withArrow, }: ButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
export declare function Button({ _pseudo, children, className, color, condensed, icon, iconPosition, isDisabled, onPress, size, type, variant, withArrow, }: ButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { HTMLAttributeAnchorTarget } from 'react';
|
|
2
|
+
export interface LinkButtonProps {
|
|
3
|
+
children?: React.ReactNode | string;
|
|
4
|
+
className?: string;
|
|
5
|
+
href?: string;
|
|
6
|
+
isDisabled?: boolean;
|
|
7
|
+
onPress?: VoidFunction;
|
|
8
|
+
target?: HTMLAttributeAnchorTarget;
|
|
9
|
+
}
|
|
10
|
+
export declare function LinkButton({ children, className, href, isDisabled, onPress, target, }: LinkButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { StoryObj } from '@storybook/react';
|
|
2
|
+
import { LinkButton } from './link-button';
|
|
3
|
+
declare const meta: {
|
|
4
|
+
args: {
|
|
5
|
+
onPress: import("@vitest/spy").Mock<[], void>;
|
|
6
|
+
};
|
|
7
|
+
component: typeof LinkButton;
|
|
8
|
+
parameters: {
|
|
9
|
+
layout: string;
|
|
10
|
+
};
|
|
11
|
+
tags: string[];
|
|
12
|
+
title: string;
|
|
13
|
+
};
|
|
14
|
+
export default meta;
|
|
15
|
+
type Story = StoryObj<typeof meta>;
|
|
16
|
+
export declare const Default: Story;
|
|
17
|
+
export declare const WithIcon: Story;
|
|
18
|
+
export declare const AsButton: Story;
|
|
19
|
+
export declare const Disabled: Story;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type ReactElement } from 'react';
|
|
2
|
+
export interface ShowAllProps {
|
|
3
|
+
children?: ReactElement | ReactElement[];
|
|
4
|
+
hasTransparency?: boolean;
|
|
5
|
+
initialHeight?: number;
|
|
6
|
+
isOpen?: boolean;
|
|
7
|
+
onToggle: (isOpen: boolean) => void;
|
|
8
|
+
}
|
|
9
|
+
export declare const ShowAll: ({ children, hasTransparency, initialHeight, isOpen, onToggle, }: ShowAllProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { StoryObj } from '@storybook/react';
|
|
2
|
+
import { ShowAllProps } from './show-all';
|
|
3
|
+
declare const meta: {
|
|
4
|
+
args: {
|
|
5
|
+
onToggle: import("@vitest/spy").Mock<[isOpen: boolean], void>;
|
|
6
|
+
};
|
|
7
|
+
component: ({ children, hasTransparency, initialHeight, isOpen, onToggle, }: ShowAllProps) => import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
parameters: {
|
|
9
|
+
layout: string;
|
|
10
|
+
};
|
|
11
|
+
tags: string[];
|
|
12
|
+
title: string;
|
|
13
|
+
};
|
|
14
|
+
export default meta;
|
|
15
|
+
type Story = StoryObj<typeof meta>;
|
|
16
|
+
export declare const Text: Story;
|
|
17
|
+
export declare const Checkboxes: Story;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface SelectedFilterCategory {
|
|
2
|
+
filters: {
|
|
3
|
+
label: string;
|
|
4
|
+
value: string;
|
|
5
|
+
}[];
|
|
6
|
+
name: string;
|
|
7
|
+
}
|
|
8
|
+
export interface ActiveFiltersProps {
|
|
9
|
+
onClearAllFilters: () => void;
|
|
10
|
+
onClearFilter: (category: string, filter: string) => void;
|
|
11
|
+
selectedFilters: SelectedFilterCategory[];
|
|
12
|
+
}
|
|
13
|
+
export declare const ActiveFilters: ({ onClearAllFilters, onClearFilter, selectedFilters, }: ActiveFiltersProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { StoryObj } from '@storybook/react';
|
|
2
|
+
declare const meta: {
|
|
3
|
+
args: {
|
|
4
|
+
onClearAllFilters: import("@vitest/spy").Mock<[], void>;
|
|
5
|
+
onClearFilter: import("@vitest/spy").Mock<[category: string, filter: string], void>;
|
|
6
|
+
};
|
|
7
|
+
component: ({ onClearAllFilters, onClearFilter, selectedFilters, }: import("./active-filters").ActiveFiltersProps) => import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
parameters: {
|
|
9
|
+
layout: string;
|
|
10
|
+
};
|
|
11
|
+
title: string;
|
|
12
|
+
};
|
|
13
|
+
export default meta;
|
|
14
|
+
type Story = StoryObj<typeof meta>;
|
|
15
|
+
export declare const Default: Story;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface FilterOption {
|
|
3
|
+
amount: number;
|
|
4
|
+
isSelected: boolean;
|
|
5
|
+
label: string;
|
|
6
|
+
value: string;
|
|
7
|
+
}
|
|
8
|
+
export interface MultiSelectProps<T extends FilterOption> {
|
|
9
|
+
amountShown?: number;
|
|
10
|
+
isOpen: boolean;
|
|
11
|
+
onChange: (value: T) => void;
|
|
12
|
+
onToggleOpen: (isOpen: boolean) => void;
|
|
13
|
+
options: T[];
|
|
14
|
+
render: ({ onChange, option, }: {
|
|
15
|
+
onChange: (key: string) => void;
|
|
16
|
+
option: T;
|
|
17
|
+
}) => ReactNode;
|
|
18
|
+
}
|
|
19
|
+
export declare function MultiSelect<T extends FilterOption>({ amountShown, isOpen, onChange, onToggleOpen, options, render, }: MultiSelectProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { StoryObj } from '@storybook/react';
|
|
2
|
+
import { FilterOption, MultiSelect, MultiSelectProps } from './multi-select';
|
|
3
|
+
type ColorFilterOption = FilterOption & {
|
|
4
|
+
color: string;
|
|
5
|
+
};
|
|
6
|
+
declare const meta: {
|
|
7
|
+
args: {
|
|
8
|
+
onChange: import("@vitest/spy").Mock<[value: FilterOption], void>;
|
|
9
|
+
onToggleOpen: import("@vitest/spy").Mock<[isOpen: boolean], void>;
|
|
10
|
+
};
|
|
11
|
+
component: typeof MultiSelect;
|
|
12
|
+
parameters: {
|
|
13
|
+
layout: string;
|
|
14
|
+
};
|
|
15
|
+
title: string;
|
|
16
|
+
};
|
|
17
|
+
export default meta;
|
|
18
|
+
type Story = StoryObj<typeof meta>;
|
|
19
|
+
export declare const WithCheckboxes: Story;
|
|
20
|
+
export declare const WithColorCheckboxes: StoryObj<MultiSelectProps<ColorFilterOption>>;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export interface SelectProps {
|
|
1
|
+
export interface SelectProps<T> {
|
|
2
2
|
disabled?: boolean;
|
|
3
3
|
label: string;
|
|
4
|
-
onChange: (value:
|
|
5
|
-
options:
|
|
6
|
-
selectedOption?:
|
|
4
|
+
onChange: (value: keyof T) => void;
|
|
5
|
+
options: T;
|
|
6
|
+
selectedOption?: keyof T;
|
|
7
7
|
showLabel?: boolean;
|
|
8
8
|
}
|
|
9
|
-
export declare
|
|
9
|
+
export declare function Select<T extends object>({ disabled, label, onChange, options, selectedOption, showLabel, }: SelectProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,10 +1,17 @@
|
|
|
1
1
|
import type { StoryObj } from '@storybook/react';
|
|
2
2
|
import { Select } from './select';
|
|
3
|
+
declare const options: {
|
|
4
|
+
readonly new: "New";
|
|
5
|
+
readonly popular: "Popular";
|
|
6
|
+
readonly price_asc: "Price: Low - High";
|
|
7
|
+
readonly price_desc: "Price: High - Low";
|
|
8
|
+
readonly recommended: "Recommended";
|
|
9
|
+
};
|
|
3
10
|
declare const meta: {
|
|
4
11
|
args: {
|
|
5
|
-
onChange: import("@vitest/spy").Mock<[value:
|
|
12
|
+
onChange: import("@vitest/spy").Mock<[value: never], void>;
|
|
6
13
|
};
|
|
7
|
-
component:
|
|
14
|
+
component: typeof Select;
|
|
8
15
|
parameters: {
|
|
9
16
|
layout: string;
|
|
10
17
|
};
|
|
@@ -15,5 +22,5 @@ export default meta;
|
|
|
15
22
|
type Story = StoryObj<typeof Select>;
|
|
16
23
|
export declare const WithLabel: Story;
|
|
17
24
|
export declare const WithoutLabel: Story;
|
|
18
|
-
export declare const DefaultSelected:
|
|
25
|
+
export declare const DefaultSelected: StoryObj<typeof Select<typeof options>>;
|
|
19
26
|
export declare const Disabled: Story;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
3
|
-
import {
|
|
3
|
+
import { ReactNode, HTMLAttributeAnchorTarget, ReactElement, FormEventHandler, KeyboardEvent, ComponentType } from 'react';
|
|
4
4
|
|
|
5
5
|
type AddToCartState = 'initial' | 'spinner' | 'manual-input';
|
|
6
6
|
interface AddToCartButtonProps {
|
|
@@ -12,19 +12,20 @@ declare function AddToCartButton({ initialState, onChange, quantity, }: AddToCar
|
|
|
12
12
|
|
|
13
13
|
interface ButtonProps {
|
|
14
14
|
_pseudo?: 'none' | 'focus' | 'hover' | 'active';
|
|
15
|
-
children?: string;
|
|
15
|
+
children?: ReactNode | string;
|
|
16
16
|
className?: string;
|
|
17
17
|
color?: 'primary' | 'secondary';
|
|
18
18
|
condensed?: boolean;
|
|
19
19
|
icon?: React.ReactNode;
|
|
20
|
+
iconPosition?: 'left' | 'right';
|
|
20
21
|
isDisabled?: boolean;
|
|
21
22
|
onPress?: VoidFunction;
|
|
22
|
-
size?: 'md' | 'lg';
|
|
23
|
+
size?: 'sm' | 'md' | 'lg';
|
|
23
24
|
type?: 'button' | 'submit' | 'reset';
|
|
24
25
|
variant?: 'solid' | 'outline' | 'ghost';
|
|
25
26
|
withArrow?: boolean;
|
|
26
27
|
}
|
|
27
|
-
declare function Button({ _pseudo, children, className, color, condensed, icon, isDisabled, onPress, size, type, variant, withArrow, }: ButtonProps): react_jsx_runtime.JSX.Element;
|
|
28
|
+
declare function Button({ _pseudo, children, className, color, condensed, icon, iconPosition, isDisabled, onPress, size, type, variant, withArrow, }: ButtonProps): react_jsx_runtime.JSX.Element;
|
|
28
29
|
|
|
29
30
|
interface FavoriteButtonProps {
|
|
30
31
|
isFavorite: boolean;
|
|
@@ -41,6 +42,16 @@ interface IconButtonProps {
|
|
|
41
42
|
}
|
|
42
43
|
declare function IconButton({ children, className, color, onPress, size, }: IconButtonProps): react_jsx_runtime.JSX.Element;
|
|
43
44
|
|
|
45
|
+
interface LinkButtonProps {
|
|
46
|
+
children?: React.ReactNode | string;
|
|
47
|
+
className?: string;
|
|
48
|
+
href?: string;
|
|
49
|
+
isDisabled?: boolean;
|
|
50
|
+
onPress?: VoidFunction;
|
|
51
|
+
target?: HTMLAttributeAnchorTarget;
|
|
52
|
+
}
|
|
53
|
+
declare function LinkButton({ children, className, href, isDisabled, onPress, target, }: LinkButtonProps): react_jsx_runtime.JSX.Element;
|
|
54
|
+
|
|
44
55
|
interface Source$1 {
|
|
45
56
|
url: string
|
|
46
57
|
width: number
|
|
@@ -100,6 +111,15 @@ interface AccordionProps {
|
|
|
100
111
|
}
|
|
101
112
|
declare function Accordion({ children, color, hasLineSeparator, size, }: AccordionProps): react_jsx_runtime.JSX.Element;
|
|
102
113
|
|
|
114
|
+
interface ShowAllProps {
|
|
115
|
+
children?: ReactElement | ReactElement[];
|
|
116
|
+
hasTransparency?: boolean;
|
|
117
|
+
initialHeight?: number;
|
|
118
|
+
isOpen?: boolean;
|
|
119
|
+
onToggle: (isOpen: boolean) => void;
|
|
120
|
+
}
|
|
121
|
+
declare const ShowAll: ({ children, hasTransparency, initialHeight, isOpen, onToggle, }: ShowAllProps) => react_jsx_runtime.JSX.Element;
|
|
122
|
+
|
|
103
123
|
interface ProductPriceProps {
|
|
104
124
|
className?: string;
|
|
105
125
|
current: number;
|
|
@@ -113,6 +133,25 @@ interface ProductSkuProps {
|
|
|
113
133
|
}
|
|
114
134
|
declare function ProductSku({ sku }: ProductSkuProps): react_jsx_runtime.JSX.Element;
|
|
115
135
|
|
|
136
|
+
interface FilterOption {
|
|
137
|
+
amount: number;
|
|
138
|
+
isSelected: boolean;
|
|
139
|
+
label: string;
|
|
140
|
+
value: string;
|
|
141
|
+
}
|
|
142
|
+
interface MultiSelectProps<T extends FilterOption> {
|
|
143
|
+
amountShown?: number;
|
|
144
|
+
isOpen: boolean;
|
|
145
|
+
onChange: (value: T) => void;
|
|
146
|
+
onToggleOpen: (isOpen: boolean) => void;
|
|
147
|
+
options: T[];
|
|
148
|
+
render: ({ onChange, option, }: {
|
|
149
|
+
onChange: (key: string) => void;
|
|
150
|
+
option: T;
|
|
151
|
+
}) => ReactNode;
|
|
152
|
+
}
|
|
153
|
+
declare function MultiSelect<T extends FilterOption>({ amountShown, isOpen, onChange, onToggleOpen, options, render, }: MultiSelectProps<T>): react_jsx_runtime.JSX.Element;
|
|
154
|
+
|
|
116
155
|
interface CheckboxProps$1 {
|
|
117
156
|
_pseudo?: 'none' | 'focus' | 'hover' | 'active';
|
|
118
157
|
children: ReactNode;
|
|
@@ -169,15 +208,15 @@ interface NumberFieldProps {
|
|
|
169
208
|
*/
|
|
170
209
|
declare function NumberField({ autoFocus, autoGrow, defaultValue, formatOptions, isDisabled, isInvalid, isReadOnly, isRequired, label, maxLength, maxValue, minValue, name, onChange, onInput, onKeyUp, placeholder, showLabel, size, value, withButtons, }: NumberFieldProps): react_jsx_runtime.JSX.Element;
|
|
171
210
|
|
|
172
|
-
interface SelectProps {
|
|
211
|
+
interface SelectProps<T> {
|
|
173
212
|
disabled?: boolean;
|
|
174
213
|
label: string;
|
|
175
|
-
onChange: (value:
|
|
176
|
-
options:
|
|
177
|
-
selectedOption?:
|
|
214
|
+
onChange: (value: keyof T) => void;
|
|
215
|
+
options: T;
|
|
216
|
+
selectedOption?: keyof T;
|
|
178
217
|
showLabel?: boolean;
|
|
179
218
|
}
|
|
180
|
-
declare
|
|
219
|
+
declare function Select<T extends object>({ disabled, label, onChange, options, selectedOption, showLabel, }: SelectProps<T>): react_jsx_runtime.JSX.Element;
|
|
181
220
|
|
|
182
221
|
interface TextFieldProps {
|
|
183
222
|
autoFocus?: boolean;
|
|
@@ -220,11 +259,7 @@ declare function FavoriteOutlinedIcon(props: React.SVGProps<SVGSVGElement>): rea
|
|
|
220
259
|
|
|
221
260
|
declare function HashedOutlinedIcon(props: React.SVGProps<SVGSVGElement>): react_jsx_runtime.JSX.Element;
|
|
222
261
|
|
|
223
|
-
|
|
224
|
-
'Excl. VAT': string;
|
|
225
|
-
'Incl. VAT': string;
|
|
226
|
-
}
|
|
227
|
-
type TranslationId = keyof Translations;
|
|
262
|
+
type TranslationId = 'Chosen filters' | 'Clear filters' | 'Excl. VAT' | 'Incl. VAT' | 'Show all' | 'Show filters' | 'Show less' | 'Sort' | 'articles' | 'article';
|
|
228
263
|
|
|
229
264
|
interface FormattedMessageProps {
|
|
230
265
|
id: TranslationId;
|
|
@@ -278,28 +313,29 @@ interface Filters {
|
|
|
278
313
|
}[];
|
|
279
314
|
};
|
|
280
315
|
}
|
|
316
|
+
declare const sortOptions: {
|
|
317
|
+
readonly new: "New";
|
|
318
|
+
readonly popular: "Popular";
|
|
319
|
+
readonly price_asc: "Price: Low - High";
|
|
320
|
+
readonly price_desc: "Price: High - Low";
|
|
321
|
+
readonly recommended: "Recommended";
|
|
322
|
+
};
|
|
323
|
+
type SortKey = keyof typeof sortOptions;
|
|
281
324
|
type ActiveFilters = {
|
|
282
325
|
colors: string[];
|
|
283
326
|
};
|
|
284
|
-
type Sort = {
|
|
285
|
-
by: string;
|
|
286
|
-
direction: string;
|
|
287
|
-
};
|
|
288
327
|
type ProductListingProps = {
|
|
289
328
|
activeFilters: ActiveFilters;
|
|
290
329
|
filters: Filters;
|
|
291
330
|
isLoading?: boolean;
|
|
292
331
|
onFilterChange: (filters: ActiveFilters) => void;
|
|
293
|
-
onSortChange: (sort:
|
|
294
|
-
productCard: ComponentType
|
|
332
|
+
onSortChange: (sort: SortKey) => void;
|
|
333
|
+
productCard: ComponentType;
|
|
295
334
|
products: {
|
|
296
335
|
id: string;
|
|
297
336
|
title: string;
|
|
298
337
|
}[];
|
|
299
|
-
sort:
|
|
300
|
-
by: string;
|
|
301
|
-
direction: string;
|
|
302
|
-
};
|
|
338
|
+
sort: SortKey;
|
|
303
339
|
total: number;
|
|
304
340
|
};
|
|
305
341
|
declare function ProductListing({ activeFilters, filters, isLoading, onFilterChange, onSortChange, productCard: ProductCard, products, }: ProductListingProps): react_jsx_runtime.JSX.Element;
|
|
@@ -323,4 +359,9 @@ declare function parseProductListingSearchParams(params: URLSearchParams): {
|
|
|
323
359
|
};
|
|
324
360
|
};
|
|
325
361
|
|
|
326
|
-
|
|
362
|
+
interface SidebarProps {
|
|
363
|
+
children: React.ReactNode;
|
|
364
|
+
}
|
|
365
|
+
declare function Sidebar({ children }: SidebarProps): react_jsx_runtime.JSX.Element;
|
|
366
|
+
|
|
367
|
+
export { Accordion, type ActiveFilters, AddToCartButton, Button, type ButtonProps, CartFilledIcon, CartOutlinedIcon, Checkbox, type CheckboxProps$1 as CheckboxProps, ColorCheckbox, type ColorCheckboxProps, DehashedOutlinedIcon, FavoriteButton, type FavoriteButtonProps, FavoriteFilledIcon, FavoriteOutlinedIcon, type FilterOption, type Filters, FormattedMessage, type FormattedMessageFunction, type FormattedMessageProps, HashedOutlinedIcon, IconButton, type IconButtonProps, Image, type ImageProps, IntlProvider, LinkButton, type LinkButtonProps, MultiSelect, type MultiSelectProps, NumberField, type NumberFieldSize, ProductCard, type ProductCardProps, ProductListing, type ProductListingProps, ProductOverviewGrid, type ProductOverviewGridProps, ProductPrice, type ProductPriceProps, ProductSku, type ProductSkuProps, RightArrowFilledIcon, Select, type SelectProps, ShowAll, type ShowAllProps, Sidebar, type SidebarProps, TextField, createProductListingSearchParams, parseProductListingSearchParams, useFormattedMessage };
|