@sonic-equipment/ui 0.0.10 → 0.0.12

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.
Files changed (38) hide show
  1. package/README.md +46 -18
  2. package/dist/badges/tag/tag.d.ts +5 -0
  3. package/dist/badges/tag/tag.stories.d.ts +18 -0
  4. package/dist/base.css +18 -0
  5. package/dist/buttons/button/button.d.ts +13 -8
  6. package/dist/buttons/button/button.stories.d.ts +11 -6
  7. package/dist/buttons/favorite/favorite-button.d.ts +2 -2
  8. package/dist/buttons/favorite/favorite-button.stories.d.ts +6 -6
  9. package/dist/buttons/icon-button/icon-button.d.ts +9 -7
  10. package/dist/buttons/icon-button/icon-button.stories.d.ts +6 -6
  11. package/dist/cards/product-card/product-card.d.ts +9 -9
  12. package/dist/cards/product-card/product-card.stories.d.ts +3 -3
  13. package/dist/display/product-price/product-price.d.ts +11 -0
  14. package/dist/display/product-price/product-price.stories.d.ts +15 -0
  15. package/dist/display/product-sku/product-sku.d.ts +4 -0
  16. package/dist/display/product-sku/product-sku.stories.d.ts +13 -0
  17. package/dist/fonts.css +96 -49
  18. package/dist/icons/arrows/left-arrow-filled-icon.d.ts +2 -0
  19. package/dist/icons/arrows/right-arrow-filled-icon.d.ts +2 -0
  20. package/dist/icons/cart/cart-filled-icon.d.ts +2 -0
  21. package/dist/icons/cart/cart-outlined-icon.d.ts +2 -0
  22. package/dist/index.d.ts +89 -45
  23. package/dist/index.js +72 -31
  24. package/dist/inputs/checkbox/checkbox.d.ts +11 -4
  25. package/dist/inputs/checkbox/checkbox.stories.d.ts +8 -6
  26. package/dist/product-listing/filters/colors/color-filter.d.ts +5 -5
  27. package/dist/product-listing/filters/filter/filter.d.ts +4 -4
  28. package/dist/product-listing/product-listing.d.ts +16 -13
  29. package/dist/product-listing/product-listing.stories.d.ts +7 -7
  30. package/dist/product-listing/search-params.d.ts +3 -3
  31. package/dist/shared/types/product.d.ts +4 -0
  32. package/dist/styles.css +296 -89
  33. package/dist/tokens/tokens.d.ts +2 -0
  34. package/dist/typography/heading/heading.d.ts +17 -0
  35. package/dist/typography/heading/heading.stories.d.ts +37 -0
  36. package/package.json +50 -30
  37. package/dist/reset.css +0 -384
  38. /package/dist/icons/favorite/{favorite-outline-icon.d.ts → favorite-outlined-icon.d.ts} +0 -0
package/README.md CHANGED
@@ -26,32 +26,23 @@ npm install @sonic-equipment/ui
26
26
  #### Import styles
27
27
 
28
28
  ```css
29
- @import "@sonic-equipment/ui/reset.css";
30
- @import "@sonic-equipment/ui/fonts.css";
31
- @import "@sonic-equipment/ui/styles.css";
29
+ @import '@sonic-equipment/ui/fonts.css';
30
+ @import '@sonic-equipment/ui/styles.css';
32
31
  ```
33
32
 
34
33
  Or within your App.tsx
35
34
 
36
35
  ```tsx
37
- import "@sonic-equipment/ui/reset.css";
38
- import "@sonic-equipment/ui/fonts.css";
39
- import "@sonic-equipment/ui/styles.css";
36
+ import '@sonic-equipment/ui/fonts.css'
37
+ import '@sonic-equipment/ui/styles.css'
40
38
  ```
41
39
 
42
40
  #### Apply base styles
43
41
 
42
+ Use the following import to apply the base styles to your project or copy the content of `base.css` into your project's global styles:
43
+
44
44
  ```css
45
- html {
46
- font-family: var(--font-family-sonic);
47
- font-size: var(--font-size-base);
48
- text-size-adjust: none;
49
-
50
- font-synthesis: none;
51
- text-rendering: optimizeLegibility;
52
- -webkit-font-smoothing: antialiased;
53
- -moz-osx-font-smoothing: grayscale;
54
- }
45
+ import '@sonic-equipment/ui/base.css'
55
46
  ```
56
47
 
57
48
  ### Usage
@@ -59,13 +50,13 @@ html {
59
50
  Import and use a component from the library like so:
60
51
 
61
52
  ```jsx
62
- import { Button } from "@sonic-equipment/ui";
53
+ import { Button } from '@sonic-equipment/ui'
63
54
 
64
55
  const App = () => (
65
56
  <Button variant="solid" color="primary">
66
57
  Click Me
67
58
  </Button>
68
- );
59
+ )
69
60
  ```
70
61
 
71
62
  ## Styling
@@ -189,3 +180,40 @@ Publishing is handled via a private npm registry. Ensure you have the necessary
189
180
  ```bash
190
181
  pnpm publish
191
182
  ```
183
+
184
+ ## Best practices
185
+
186
+ ### TypeScript - Types vs Interfaces
187
+
188
+ When defining types for prefer interfaces to describe data types / object structures and use types for union types, tuples, and other types.
189
+
190
+ Examples for interfaces:
191
+
192
+ ```ts
193
+ interface ButtonProps {
194
+ variant: 'solid' | 'outline' | 'ghost'
195
+ color: 'primary' | 'secondary' | 'tertiary'
196
+ }
197
+
198
+ interface CheckboxProps extends ExternalLibraryCheckboxProps {
199
+ checked: boolean
200
+ onChange: (checked: boolean) => void
201
+ }
202
+
203
+ interface Product {
204
+ id: string
205
+ name: string
206
+ price: number
207
+ }
208
+ ```
209
+
210
+ Examples for types:
211
+
212
+ ```ts
213
+ type ButtonVariant = 'solid' | 'outline' | 'ghost'
214
+ type ButtonColor = 'primary' | 'secondary' | 'tertiary'
215
+
216
+ type OnClickHandler = (event: MouseEvent) => void
217
+
218
+ type Key = string | number
219
+ ```
@@ -0,0 +1,5 @@
1
+ interface TagProps {
2
+ children: string;
3
+ }
4
+ export declare function Tag({ children }: TagProps): import("react/jsx-runtime").JSX.Element | null;
5
+ export {};
@@ -0,0 +1,18 @@
1
+ import type { StoryObj } from '@storybook/react';
2
+ import { Tag } from './tag';
3
+ declare const meta: {
4
+ args: {
5
+ children: string;
6
+ };
7
+ component: typeof Tag;
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 LongText: Story;
18
+ export declare const NoText: Story;
package/dist/base.css ADDED
@@ -0,0 +1,18 @@
1
+ /*********************************************************
2
+ *
3
+ * Base styling for the entire application
4
+ *
5
+ *********************************************************/
6
+
7
+ html {
8
+ font-family: var(--font-family-sonic);
9
+ font-size: var(--font-size-base);
10
+ -webkit-text-size-adjust: none;
11
+ -moz-text-size-adjust: none;
12
+ text-size-adjust: none;
13
+
14
+ font-synthesis: none;
15
+ text-rendering: optimizeLegibility;
16
+ -webkit-font-smoothing: antialiased;
17
+ -moz-osx-font-smoothing: grayscale;
18
+ }
@@ -1,9 +1,14 @@
1
- import { Button as AriaButton } from "react-aria-components";
2
- import { ComponentPropsWithoutRef } from "react";
3
- export type ButtonProps = ComponentPropsWithoutRef<typeof AriaButton> & {
4
- variant?: "solid" | "outline" | "ghost";
5
- size?: "md" | "lg";
6
- color?: "primary" | "secondary" | "tertiary" | "quaternary";
1
+ /// <reference types="react" />
2
+ export interface ButtonProps {
3
+ _pseudo?: 'none' | 'focus' | 'hover' | 'active';
4
+ children: string;
5
+ className?: string;
6
+ color?: 'primary' | 'secondary';
7
+ icon?: React.ReactNode;
8
+ isDisabled?: boolean;
9
+ onPress?: VoidFunction;
10
+ size?: 'md' | 'lg';
11
+ variant?: 'solid' | 'outline' | 'ghost';
7
12
  withArrow?: boolean;
8
- };
9
- export declare function Button({ children, variant, size, color, className, ...props }: ButtonProps): import("react/jsx-runtime").JSX.Element;
13
+ }
14
+ export declare function Button({ _pseudo, children, className, color, icon, isDisabled, onPress, size, variant, withArrow, }: ButtonProps): import("react/jsx-runtime").JSX.Element;
@@ -1,18 +1,23 @@
1
- import type { StoryObj } from "@storybook/react";
2
- import { Button } from "./button";
1
+ import type { StoryObj } from '@storybook/react';
2
+ import { Button } from './button';
3
3
  declare const meta: {
4
- title: string;
4
+ args: {
5
+ onPress: import("@vitest/spy").Mock<[], void>;
6
+ };
5
7
  component: typeof Button;
6
8
  parameters: {
7
9
  layout: string;
8
10
  };
9
11
  tags: string[];
10
- args: {
11
- onPress: import("@storybook/test").Mock<[e: import("react-aria-components").PressEvent], void>;
12
- };
12
+ title: string;
13
13
  };
14
14
  export default meta;
15
15
  type Story = StoryObj<typeof meta>;
16
16
  export declare const Solid: Story;
17
+ export declare const PrimaryActive: Story;
18
+ export declare const PrimaryDisabled: Story;
19
+ export declare const IconOnly: Story;
20
+ export declare const WithArrow: Story;
17
21
  export declare const Outlined: Story;
22
+ export declare const SecondaryActive: Story;
18
23
  export declare const Ghost: Story;
@@ -1,5 +1,5 @@
1
- export type FavoriteButtonProps = {
1
+ export interface FavoriteButtonProps {
2
2
  isFavorite: boolean;
3
3
  onPress: () => void;
4
- };
4
+ }
5
5
  export declare function FavoriteButton({ isFavorite, onPress }: FavoriteButtonProps): import("react/jsx-runtime").JSX.Element;
@@ -1,15 +1,15 @@
1
- import { StoryObj } from "@storybook/react";
2
- import { FavoriteButton } from "./favorite-button";
1
+ import { StoryObj } from '@storybook/react';
2
+ import { FavoriteButton } from './favorite-button';
3
3
  declare const meta: {
4
- title: string;
4
+ args: {
5
+ onPress: import("@vitest/spy").Mock<[], void>;
6
+ };
5
7
  component: typeof FavoriteButton;
6
8
  parameters: {
7
9
  layout: string;
8
10
  };
9
11
  tags: string[];
10
- args: {
11
- onPress: import("@storybook/test").Mock<[], void>;
12
- };
12
+ title: string;
13
13
  };
14
14
  export default meta;
15
15
  type Story = StoryObj<typeof meta>;
@@ -1,7 +1,9 @@
1
- import { ComponentPropsWithoutRef } from "react";
2
- import { Button as AriaButton } from "react-aria-components";
3
- export type IconButtonProps = ComponentPropsWithoutRef<typeof AriaButton> & {
4
- size?: "md" | "lg";
5
- color?: "primary" | "secondary";
6
- };
7
- export declare function IconButton({ size, color, className, ...props }: IconButtonProps): import("react/jsx-runtime").JSX.Element;
1
+ /// <reference types="react" />
2
+ export interface IconButtonProps {
3
+ children: React.ReactNode;
4
+ className?: string;
5
+ color?: 'primary' | 'secondary';
6
+ onPress?: VoidFunction;
7
+ size?: 'md' | 'lg';
8
+ }
9
+ export declare function IconButton({ children, className, color, onPress, size, }: IconButtonProps): import("react/jsx-runtime").JSX.Element;
@@ -1,15 +1,15 @@
1
- import type { StoryObj } from "@storybook/react";
2
- import { IconButton } from "./icon-button";
1
+ import type { StoryObj } from '@storybook/react';
2
+ import { IconButton } from './icon-button';
3
3
  declare const meta: {
4
- title: string;
4
+ args: {
5
+ onPress: import("@vitest/spy").Mock<[], void>;
6
+ };
5
7
  component: typeof IconButton;
6
8
  parameters: {
7
9
  layout: string;
8
10
  };
9
11
  tags: string[];
10
- args: {
11
- onPress: import("@storybook/test").Mock<[e: import("react-aria-components").PressEvent], void>;
12
- };
12
+ title: string;
13
13
  };
14
14
  export default meta;
15
15
  type Story = StoryObj<typeof meta>;
@@ -1,9 +1,9 @@
1
- import { ComponentType } from "react";
2
- export type ProductCardProps = {
3
- product: {
4
- id: string;
5
- title: string;
6
- };
7
- favoriteButton: ComponentType<any>;
8
- };
9
- export declare function ProductCard({ product, favoriteButton: FavoriteButton, }: ProductCardProps): import("react/jsx-runtime").JSX.Element;
1
+ import { ComponentType } from 'react';
2
+ import type { Product } from 'shared/types/product';
3
+ export interface ProductCardProps {
4
+ favoriteButton: ComponentType<{
5
+ productId: string;
6
+ }>;
7
+ product: Product;
8
+ }
9
+ export declare function ProductCard({ favoriteButton: FavoriteButton, product, }: ProductCardProps): import("react/jsx-runtime").JSX.Element;
@@ -1,12 +1,12 @@
1
- import { StoryObj } from "@storybook/react";
2
- import { ProductCard } from "./product-card";
1
+ import { StoryObj } from '@storybook/react';
2
+ import { ProductCard } from './product-card';
3
3
  declare const meta: {
4
- title: string;
5
4
  component: typeof ProductCard;
6
5
  parameters: {
7
6
  layout: string;
8
7
  };
9
8
  tags: string[];
9
+ title: string;
10
10
  };
11
11
  export default meta;
12
12
  type Story = StoryObj<typeof meta>;
@@ -0,0 +1,11 @@
1
+ interface Price {
2
+ exclVat: number;
3
+ inclVat: number;
4
+ }
5
+ export interface ProductPriceProps {
6
+ current: Price;
7
+ includeVat?: boolean;
8
+ original?: Price;
9
+ }
10
+ export declare function ProductPrice({ current, includeVat, original, }: ProductPriceProps): import("react/jsx-runtime").JSX.Element | undefined;
11
+ export {};
@@ -0,0 +1,15 @@
1
+ import type { StoryObj } from '@storybook/react';
2
+ import { ProductPrice } from './product-price';
3
+ declare const meta: {
4
+ component: typeof ProductPrice;
5
+ parameters: {
6
+ layout: string;
7
+ };
8
+ tags: string[];
9
+ title: string;
10
+ };
11
+ export default meta;
12
+ type Story = StoryObj<typeof meta>;
13
+ export declare const InclVat: Story;
14
+ export declare const ExclVat: Story;
15
+ export declare const WithoutOriginalPrice: Story;
@@ -0,0 +1,4 @@
1
+ export interface ProductSkuProps {
2
+ sku: string;
3
+ }
4
+ export declare function ProductSku({ sku }: ProductSkuProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,13 @@
1
+ import type { StoryObj } from '@storybook/react';
2
+ import { ProductSku } from './product-sku';
3
+ declare const meta: {
4
+ component: typeof ProductSku;
5
+ parameters: {
6
+ layout: string;
7
+ };
8
+ tags: string[];
9
+ title: string;
10
+ };
11
+ export default meta;
12
+ type Story = StoryObj<typeof meta>;
13
+ export declare const Default: Story;
package/dist/fonts.css CHANGED
@@ -6,145 +6,192 @@
6
6
 
7
7
  @font-face {
8
8
  font-display: swap;
9
- font-family: "Pancetta";
10
- src: url("https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711100022/fonts/pancetta/pancettapro-thin-webfont.woff2") format("woff2"),
11
- url("https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711100018/fonts/pancetta/pancettapro-thin-webfont.woff") format("woff");
9
+ font-family: 'Pancetta';
10
+ src:
11
+ url('https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711100022/fonts/pancetta/pancettapro-thin-webfont.woff2')
12
+ format('woff2'),
13
+ url('https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711100018/fonts/pancetta/pancettapro-thin-webfont.woff')
14
+ format('woff');
12
15
  font-weight: 100;
13
16
  font-style: normal;
14
17
  }
15
18
 
16
19
  @font-face {
17
20
  font-display: swap;
18
- font-family: "Pancetta";
19
- src: url("https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711100030/fonts/pancetta/pancettapro-thinitalic-webfont.woff2") format("woff2"),
20
- url("https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711100042/fonts/pancetta/pancettapro-thinitalic-webfont.woff") format("woff");
21
+ font-family: 'Pancetta';
22
+ src:
23
+ url('https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711100030/fonts/pancetta/pancettapro-thinitalic-webfont.woff2')
24
+ format('woff2'),
25
+ url('https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711100042/fonts/pancetta/pancettapro-thinitalic-webfont.woff')
26
+ format('woff');
21
27
  font-weight: 100;
22
28
  font-style: italic;
23
29
  }
24
30
 
25
31
  @font-face {
26
32
  font-display: swap;
27
- font-family: "Pancetta";
28
- src: url("https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711099957/fonts/pancetta/pancettapro-extralight-webfont.woff2") format("woff2"),
29
- url("https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711099944/fonts/pancetta/pancettapro-extralight-webfont.woff") format("woff");
33
+ font-family: 'Pancetta';
34
+ src:
35
+ url('https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711099957/fonts/pancetta/pancettapro-extralight-webfont.woff2')
36
+ format('woff2'),
37
+ url('https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711099944/fonts/pancetta/pancettapro-extralight-webfont.woff')
38
+ format('woff');
30
39
  font-weight: 200;
31
40
  font-style: normal;
32
41
  }
33
42
 
34
43
  @font-face {
35
44
  font-display: swap;
36
- font-family: "Pancetta";
37
- src: url("https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711099964/fonts/pancetta/pancettapro-extralightitalic-webfont.woff2") format("woff2"),
38
- url("https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711099960/fonts/pancetta/pancettapro-extralightitalic-webfont.woff") format("woff");
45
+ font-family: 'Pancetta';
46
+ src:
47
+ url('https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711099964/fonts/pancetta/pancettapro-extralightitalic-webfont.woff2')
48
+ format('woff2'),
49
+ url('https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711099960/fonts/pancetta/pancettapro-extralightitalic-webfont.woff')
50
+ format('woff');
39
51
  font-weight: 200;
40
52
  font-style: italic;
41
53
  }
42
54
 
43
-
44
55
  @font-face {
45
56
  font-display: swap;
46
- font-family: "Pancetta";
47
- src: url("https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711099985/fonts/pancetta/pancettapro-light-webfont.woff2") format("woff2"),
48
- url("https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711099977/fonts/pancetta/pancettapro-light-webfont.woff") format("woff");
57
+ font-family: 'Pancetta';
58
+ src:
59
+ url('https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711099985/fonts/pancetta/pancettapro-light-webfont.woff2')
60
+ format('woff2'),
61
+ url('https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711099977/fonts/pancetta/pancettapro-light-webfont.woff')
62
+ format('woff');
49
63
  font-weight: 300;
50
64
  font-style: normal;
51
65
  }
52
66
 
53
67
  @font-face {
54
68
  font-display: swap;
55
- font-family: "Pancetta";
56
- src: url("https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711100009/fonts/pancetta/pancettapro-lightitalic-webfont.woff2") format("woff2"),
57
- url("https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711099989/fonts/pancetta/pancettapro-lightitalic-webfont.woff") format("woff");
69
+ font-family: 'Pancetta';
70
+ src:
71
+ url('https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711100009/fonts/pancetta/pancettapro-lightitalic-webfont.woff2')
72
+ format('woff2'),
73
+ url('https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711099989/fonts/pancetta/pancettapro-lightitalic-webfont.woff')
74
+ format('woff');
58
75
  font-weight: 300;
59
76
  font-style: italic;
60
77
  }
61
78
 
62
79
  @font-face {
63
80
  font-display: swap;
64
- font-family: "Pancetta";
65
- src: url("https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711100013/fonts/pancetta/pancettapro-regular-webfont.woff2") format("woff2"),
66
- url("https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711100005/fonts/pancetta/pancettapro-regular-webfont.woff") format("woff");
81
+ font-family: 'Pancetta';
82
+ src:
83
+ url('https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711100013/fonts/pancetta/pancettapro-regular-webfont.woff2')
84
+ format('woff2'),
85
+ url('https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711100005/fonts/pancetta/pancettapro-regular-webfont.woff')
86
+ format('woff');
67
87
  font-weight: 400;
68
88
  font-style: normal;
69
89
  }
70
90
 
71
91
  @font-face {
72
92
  font-display: swap;
73
- font-family: "Pancetta";
74
- src: url("https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711099973/fonts/pancetta/pancettapro-italic-webfont.woff2") format("woff2"),
75
- url("https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711099969/fonts/pancetta/pancettapro-italic-webfont.woff") format("woff");
93
+ font-family: 'Pancetta';
94
+ src:
95
+ url('https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711099973/fonts/pancetta/pancettapro-italic-webfont.woff2')
96
+ format('woff2'),
97
+ url('https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711099969/fonts/pancetta/pancettapro-italic-webfont.woff')
98
+ format('woff');
76
99
  font-weight: 400;
77
100
  font-style: italic;
78
101
  }
79
102
 
80
103
  @font-face {
81
104
  font-display: swap;
82
- font-family: "Pancetta";
83
- src: url("https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711099997/fonts/pancetta/pancettapro-medium-webfont.woff2") format("woff2"),
84
- url("https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711099981/fonts/pancetta/pancettapro-medium-webfont.woff") format("woff");
105
+ font-family: 'Pancetta';
106
+ src:
107
+ url('https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711099997/fonts/pancetta/pancettapro-medium-webfont.woff2')
108
+ format('woff2'),
109
+ url('https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711099981/fonts/pancetta/pancettapro-medium-webfont.woff')
110
+ format('woff');
85
111
  font-weight: 500;
86
112
  font-style: normal;
87
113
  }
88
114
 
89
115
  @font-face {
90
116
  font-display: swap;
91
- font-family: "Pancetta";
92
- src: url("https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711100001/fonts/pancetta/pancettapro-mediumitalic-webfont.woff2") format("woff2"),
93
- url("https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711099993/fonts/pancetta/pancettapro-mediumitalic-webfont.woff") format("woff");
117
+ font-family: 'Pancetta';
118
+ src:
119
+ url('https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711100001/fonts/pancetta/pancettapro-mediumitalic-webfont.woff2')
120
+ format('woff2'),
121
+ url('https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711099993/fonts/pancetta/pancettapro-mediumitalic-webfont.woff')
122
+ format('woff');
94
123
  font-weight: 500;
95
124
  font-style: italic;
96
125
  }
97
126
 
98
127
  @font-face {
99
128
  font-display: swap;
100
- font-family: "Pancetta";
101
- src: url("https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711100038/fonts/pancetta/pancettapro-semibold-webfont.woff2") format("woff2"),
102
- url("https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711100034/fonts/pancetta/pancettapro-semibold-webfont.woff") format("woff");
129
+ font-family: 'Pancetta';
130
+ src:
131
+ url('https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711100038/fonts/pancetta/pancettapro-semibold-webfont.woff2')
132
+ format('woff2'),
133
+ url('https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711100034/fonts/pancetta/pancettapro-semibold-webfont.woff')
134
+ format('woff');
103
135
  font-weight: 600;
104
136
  font-style: normal;
105
137
  }
106
138
 
107
139
  @font-face {
108
140
  font-display: swap;
109
- font-family: "Pancetta";
110
- src: url("https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711100026/fonts/pancetta/pancettapro-semibolditalic-webfont.woff2") format("woff2"),
111
- url("https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711100047/fonts/pancetta/pancettapro-semibolditalic-webfont.woff") format("woff");
141
+ font-family: 'Pancetta';
142
+ src:
143
+ url('https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711100026/fonts/pancetta/pancettapro-semibolditalic-webfont.woff2')
144
+ format('woff2'),
145
+ url('https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711100047/fonts/pancetta/pancettapro-semibolditalic-webfont.woff')
146
+ format('woff');
112
147
  font-weight: 600;
113
148
  font-style: italic;
114
149
  }
115
150
 
116
151
  @font-face {
117
152
  font-display: swap;
118
- font-family: "Pancetta";
119
- src: url("https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711099948/fonts/pancetta/pancettapro-bold-webfont.woff2") format("woff2"),
120
- url("https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711099932/fonts/pancetta/pancettapro-bold-webfont.woff") format("woff");
153
+ font-family: 'Pancetta';
154
+ src:
155
+ url('https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711099948/fonts/pancetta/pancettapro-bold-webfont.woff2')
156
+ format('woff2'),
157
+ url('https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711099932/fonts/pancetta/pancettapro-bold-webfont.woff')
158
+ format('woff');
121
159
  font-weight: 700;
122
160
  font-style: normal;
123
161
  }
124
162
 
125
163
  @font-face {
126
164
  font-display: swap;
127
- font-family: "Pancetta";
128
- src: url("https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711099952/fonts/pancetta/pancettapro-bolditalic-webfont.woff2") format("woff2"),
129
- url("https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711099936/fonts/pancetta/pancettapro-bolditalic-webfont.woff") format("woff");
165
+ font-family: 'Pancetta';
166
+ src:
167
+ url('https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711099952/fonts/pancetta/pancettapro-bolditalic-webfont.woff2')
168
+ format('woff2'),
169
+ url('https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711099936/fonts/pancetta/pancettapro-bolditalic-webfont.woff')
170
+ format('woff');
130
171
  font-weight: 700;
131
172
  font-style: italic;
132
173
  }
133
174
 
134
175
  @font-face {
135
176
  font-display: swap;
136
- font-family: "Pancetta";
137
- src: url("https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711099929/fonts/pancetta/pancettapro-black-webfont.woff2") format("woff2"),
138
- url("https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711099921/fonts/pancetta/pancettapro-black-webfont.woff") format("woff");
177
+ font-family: 'Pancetta';
178
+ src:
179
+ url('https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711099929/fonts/pancetta/pancettapro-black-webfont.woff2')
180
+ format('woff2'),
181
+ url('https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711099921/fonts/pancetta/pancettapro-black-webfont.woff')
182
+ format('woff');
139
183
  font-weight: 900;
140
184
  font-style: normal;
141
185
  }
142
186
 
143
187
  @font-face {
144
188
  font-display: swap;
145
- font-family: "Pancetta";
146
- src: url("https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711099941/fonts/pancetta/pancettapro-blackitalic-webfont.woff2") format("woff2"),
147
- url("https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711099924/fonts/pancetta/pancettapro-blackitalic-webfont.woff") format("woff");
189
+ font-family: 'Pancetta';
190
+ src:
191
+ url('https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711099941/fonts/pancetta/pancettapro-blackitalic-webfont.woff2')
192
+ format('woff2'),
193
+ url('https://res.cloudinary.com/dkz9eknwh/raw/upload/v1711099924/fonts/pancetta/pancettapro-blackitalic-webfont.woff')
194
+ format('woff');
148
195
  font-weight: 900;
149
196
  font-style: italic;
150
197
  }
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare function LeftArrowFilledIcon(props: React.SVGProps<SVGSVGElement>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare function RightArrowFilledIcon(props: React.SVGProps<SVGSVGElement>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare function CartFilledIcon(props: React.SVGProps<SVGSVGElement>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare function CartOutlinedIcon(props: React.SVGProps<SVGSVGElement>): import("react/jsx-runtime").JSX.Element;