arkenstone-ui 0.0.24 → 0.0.25

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 (30) hide show
  1. package/dist/index.js +8546 -5053
  2. package/dist/style.css +1 -1
  3. package/dist/types/components/custom/search.d.ts +11 -9
  4. package/dist/types/components/data-manager/data-manager.d.ts +6 -0
  5. package/dist/types/components/data-manager/display-engine.d.ts +22 -0
  6. package/dist/types/components/data-manager/index.d.ts +5 -0
  7. package/dist/types/components/data-manager/input-engine.d.ts +13 -0
  8. package/dist/types/components/data-manager/layout-manager.d.ts +12 -0
  9. package/dist/types/components/data-manager/types.d.ts +53 -0
  10. package/dist/types/components/index.d.ts +1 -0
  11. package/dist/types/components/ui/textarea.d.ts +3 -0
  12. package/dist/types/e-commerce/product/components/catelog/components/category-filter.d.ts +3 -1
  13. package/dist/types/e-commerce/product/components/catelog/components/filter.d.ts +3 -2
  14. package/dist/types/e-commerce/product/components/catelog/components/pagination.d.ts +2 -3
  15. package/dist/types/e-commerce/product/components/catelog/components/sort-bar.d.ts +2 -2
  16. package/dist/types/e-commerce/product/components/catelog/components/view-mode.d.ts +12 -5
  17. package/dist/types/e-commerce/product/components/catelog/layouts/catelog-content-layout.d.ts +10 -1
  18. package/dist/types/e-commerce/product/components/product-card/components/brand-title.d.ts +2 -2
  19. package/dist/types/e-commerce/product/components/product-card/components/categories.d.ts +2 -2
  20. package/dist/types/e-commerce/product/components/product-card/components/price-card.d.ts +1 -2
  21. package/dist/types/e-commerce/product/components/product-card/components/product-image.d.ts +2 -2
  22. package/dist/types/e-commerce/product/components/product-card/components/wishlist-button.d.ts +2 -3
  23. package/dist/types/e-commerce/product/components/product-card/layouts/product-card-image-layout.d.ts +3 -4
  24. package/dist/types/e-commerce/product/components/product-card/layouts/product-card-layout.d.ts +2 -3
  25. package/dist/types/e-commerce/product/service/brand-service.d.ts +6 -66
  26. package/dist/types/e-commerce/product/service/category-service.d.ts +6 -67
  27. package/dist/types/e-commerce/product/service/product-image-service.d.ts +6 -43
  28. package/dist/types/e-commerce/product/service/product-service.d.ts +6 -66
  29. package/dist/types/stores/catelog.store.d.ts +67 -0
  30. package/package.json +1 -1
@@ -1,4 +1,3 @@
1
- import { default as React } from 'react';
2
1
  export interface WishlistButtonProps {
3
2
  isWishlisted?: boolean;
4
3
  onToggle?: (value: boolean) => void;
@@ -6,10 +5,10 @@ export interface WishlistButtonProps {
6
5
  activeIcon?: React.ReactNode;
7
6
  ariaLabel?: string;
8
7
  size?: number;
9
- className?: {
8
+ classNames?: {
10
9
  button?: string;
11
10
  icon?: string;
12
11
  };
13
12
  animationDuration?: number;
14
13
  }
15
- export declare function WishlistButton({ isWishlisted, onToggle, icon, activeIcon, ariaLabel, size, className, animationDuration, }: WishlistButtonProps): import("react/jsx-runtime").JSX.Element;
14
+ export declare function WishlistButton({ isWishlisted, onToggle, icon, activeIcon, ariaLabel, size, classNames, animationDuration, }: WishlistButtonProps): import("react/jsx-runtime").JSX.Element;
@@ -1,11 +1,10 @@
1
- import { default as React } from 'react';
2
1
  export interface ProductImageLayoutProps {
3
2
  imageUrl?: string;
4
3
  imageAlt?: string;
5
4
  width?: string | number;
6
5
  height?: string | number;
7
6
  background?: React.ReactNode;
8
- className?: {
7
+ classNames?: {
9
8
  container?: string;
10
9
  image?: string;
11
10
  overlay?: string;
@@ -21,7 +20,7 @@ export interface ProductImageLayoutProps {
21
20
  center?: React.ReactNode;
22
21
  topPlaceholder?: React.ReactNode;
23
22
  bottomPlaceholder?: React.ReactNode;
24
- placeholderClassName?: {
23
+ placeholderClassNames?: {
25
24
  top?: string;
26
25
  bottom?: string;
27
26
  };
@@ -32,4 +31,4 @@ export interface ProductImageLayoutProps {
32
31
  * - Provides 4 corner slots + center slot where you can place components (wishlist, discount badge, brand, price, view details)
33
32
  * - Fully customizable via className props and by passing custom nodes
34
33
  */
35
- export declare function ProductImageLayout({ imageUrl, imageAlt, width, height, background, className, topLeft, topRight, bottomLeft, bottomRight, center, topPlaceholder, bottomPlaceholder, placeholderClassName, }: ProductImageLayoutProps): import("react/jsx-runtime").JSX.Element;
34
+ export declare function ProductImageLayout({ imageUrl, imageAlt, width, height, background, classNames, topLeft, topRight, bottomLeft, bottomRight, center, topPlaceholder, bottomPlaceholder, placeholderClassNames, }: ProductImageLayoutProps): import("react/jsx-runtime").JSX.Element;
@@ -1,11 +1,10 @@
1
- import { default as React } from 'react';
2
1
  export type ProductLayoutType = "compact" | "detailed";
3
2
  export interface ProductCardLayoutProps {
4
3
  layout?: ProductLayoutType;
5
4
  ImageComponent: React.ReactNode;
6
5
  DetailsComponent: React.ReactNode;
7
6
  /** granular class overrides */
8
- className?: {
7
+ classNames?: {
9
8
  container?: string;
10
9
  compactWrapper?: string;
11
10
  detailedWrapper?: string;
@@ -13,4 +12,4 @@ export interface ProductCardLayoutProps {
13
12
  detailsContainer?: string;
14
13
  };
15
14
  }
16
- export declare function ProductCardLayout({ layout, ImageComponent, DetailsComponent, className, }: ProductCardLayoutProps): import("react/jsx-runtime").JSX.Element;
15
+ export declare function ProductCardLayout({ layout, ImageComponent, DetailsComponent, classNames, }: ProductCardLayoutProps): import("react/jsx-runtime").JSX.Element;
@@ -1,67 +1,7 @@
1
- import { ApiOptions } from '../../../hooks/api';
1
+ import { ServiceFactory } from '../../../services';
2
2
  import { Brand } from '../types';
3
- /**
4
- * Defines the structure of a Brand object.
5
- * Customize these properties to match your application's data model.
6
- */
7
- export interface ServiceTypeBrand extends Brand {
8
- }
9
- /**
10
- * Defines the payload for creating a new brand.
11
- * It omits server-generated fields like `id`.
12
- */
13
- export type BrandCreationPayload = Omit<ServiceTypeBrand, 'id'>;
14
- /**
15
- * Defines the payload for updating an existing brand.
16
- * All fields are optional to allow for partial updates.
17
- */
18
- export type BrandUpdatePayload = Partial<BrandCreationPayload>;
19
- /**
20
- * Defines the available query parameters for fetching a list of brands.
21
- * This is useful for implementing features like pagination, sorting, and searching.
22
- */
23
- export type BrandListQuery = {
24
- page?: number;
25
- per_page?: number;
26
- sort_by?: keyof Brand;
27
- sort_order?: 'asc' | 'desc';
28
- search?: string;
29
- };
30
- export declare const brandService: {
31
- /**
32
- * Fetches a paginated and filterable list of brands.
33
- * @param {BrandListQuery} params - Query parameters for filtering and pagination.
34
- * @param {ApiOptions} options - Custom options for the API request.
35
- * @returns {Promise<Brand[]>} A promise that resolves to an array of brands.
36
- */
37
- getBrands(params?: BrandListQuery, options?: ApiOptions): Promise<Brand[]>;
38
- /**
39
- * Fetches a single brand by its unique identifier.
40
- * @param {string | number} id - The ID of the brand.
41
- * @param {ApiOptions} options - Custom options for the API request.
42
- * @returns {Promise<Brand>} A promise that resolves to the requested brand.
43
- */
44
- getBrandById(id: string | number, options?: ApiOptions): Promise<Brand>;
45
- /**
46
- * Creates a new brand.
47
- * @param {BrandCreationPayload} brandData - The data for the new brand.
48
- * @param {ApiOptions} options - Custom options for the API request, `displaySuccess` is enabled by default.
49
- * @returns {Promise<Brand>} A promise that resolves to the newly created brand.
50
- */
51
- createBrand(brandData: BrandCreationPayload, options?: ApiOptions): Promise<Brand>;
52
- /**
53
- * Updates an existing brand's information.
54
- * @param {string | number} id - The ID of the brand to update.
55
- * @param {BrandUpdatePayload} brandData - The data to update.
56
- * @param {ApiOptions} options - Custom options for the API request, `displaySuccess` is enabled by default.
57
- * @returns {Promise<Brand>} A promise that resolves to the updated brand.
58
- */
59
- updateBrand(id: string | number, brandData: BrandUpdatePayload, options?: ApiOptions): Promise<Brand>;
60
- /**
61
- * Deletes a brand.
62
- * @param {string | number} id - The ID of the brand to delete.
63
- * @param {ApiOptions} options - Custom options for the API request, `displaySuccess` is enabled by default.
64
- * @returns {Promise<void>} A promise that resolves when the deletion is successful.
65
- */
66
- deleteBrand(id: string | number, options?: ApiOptions): Promise<void>;
67
- };
3
+ export declare const brandService: ServiceFactory<Brand, Partial<Brand>, Partial<Brand>, {
4
+ list: Brand[];
5
+ selected: Brand | null;
6
+ loading: boolean;
7
+ }>;
@@ -1,68 +1,7 @@
1
- import { ApiOptions } from '../../../hooks/api';
2
1
  import { Category } from '../types';
3
- /**
4
- * Defines the structure of a Category object.
5
- * Customize these properties to match your application's data model.
6
- */
7
- export interface ServiceTypeCategory extends Category {
8
- }
9
- /**
10
- * Defines the payload for creating a new category.
11
- * It omits server-generated fields like `id` and `children`.
12
- */
13
- export type CategoryCreationPayload = Omit<ServiceTypeCategory, 'id' | 'children'>;
14
- /**
15
- * Defines the payload for updating an existing category.
16
- * All fields are optional to allow for partial updates.
17
- */
18
- export type CategoryUpdatePayload = Partial<CategoryCreationPayload>;
19
- /**
20
- * Defines the available query parameters for fetching a list of categories.
21
- * This is useful for implementing features like pagination, sorting, and searching.
22
- */
23
- export type CategoryListQuery = {
24
- page?: number;
25
- per_page?: number;
26
- sort_by?: keyof Category;
27
- sort_order?: 'asc' | 'desc';
28
- search?: string;
29
- parent_id?: number | null;
30
- };
31
- export declare const categoryService: {
32
- /**
33
- * Fetches a hierarchical list of categories.
34
- * @param {CategoryListQuery} params - Query parameters for filtering and pagination.
35
- * @param {ApiOptions} options - Custom options for the API request.
36
- * @returns {Promise<Category[]>} A promise that resolves to an array of categories with nested children.
37
- */
38
- getCategories(params?: CategoryListQuery, options?: ApiOptions): Promise<Category[]>;
39
- /**
40
- * Fetches a single category by its unique identifier.
41
- * @param {string | number} id - The ID of the category.
42
- * @param {ApiOptions} options - Custom options for the API request.
43
- * @returns {Promise<Category>} A promise that resolves to the requested category.
44
- */
45
- getCategoryById(id: string | number, options?: ApiOptions): Promise<Category>;
46
- /**
47
- * Creates a new category.
48
- * @param {CategoryCreationPayload} categoryData - The data for the new category.
49
- * @param {ApiOptions} options - Custom options for the API request, `displaySuccess` is enabled by default.
50
- * @returns {Promise<Category>} A promise that resolves to the newly created category.
51
- */
52
- createCategory(categoryData: CategoryCreationPayload, options?: ApiOptions): Promise<Category>;
53
- /**
54
- * Updates an existing category's information.
55
- * @param {string | number} id - The ID of the category to update.
56
- * @param {CategoryUpdatePayload} categoryData - The data to update.
57
- * @param {ApiOptions} options - Custom options for the API request, `displaySuccess` is enabled by default.
58
- * @returns {Promise<Category>} A promise that resolves to the updated category.
59
- */
60
- updateCategory(id: string | number, categoryData: CategoryUpdatePayload, options?: ApiOptions): Promise<Category>;
61
- /**
62
- * Deletes a category.
63
- * @param {string | number} id - The ID of the category to delete.
64
- * @param {ApiOptions} options - Custom options for the API request, `displaySuccess` is enabled by default.
65
- * @returns {Promise<void>} A promise that resolves when the deletion is successful.
66
- */
67
- deleteCategory(id: string | number, options?: ApiOptions): Promise<void>;
68
- };
2
+ import { ServiceFactory } from '../../../services';
3
+ export declare const categoryService: ServiceFactory<Category, Partial<Category>, Partial<Category>, {
4
+ list: Category[];
5
+ selected: Category | null;
6
+ loading: boolean;
7
+ }>;
@@ -1,44 +1,7 @@
1
- import { ApiOptions } from '../../../hooks/api';
2
1
  import { ProductImage } from '../types';
3
- /**
4
- * Defines the structure of a ProductImage object.
5
- * Customize these properties to match your application's data model.
6
- */
7
- export interface ServiceTypeProductImage extends ProductImage {
8
- }
9
- /**
10
- * Defines the payload for creating a new product image.
11
- * It omits server-generated fields.
12
- */
13
- export type ProductImageCreationPayload = Omit<ServiceTypeProductImage, 'product_id' | 'url' | 'order'> & {
14
- image: File;
15
- };
16
- /**
17
- * Defines the payload for updating an existing product image.
18
- * All fields are optional to allow for partial updates.
19
- */
20
- export type ProductImageUpdatePayload = Partial<Omit<ServiceTypeProductImage, 'product_id' | 'url'>>;
21
- /**
22
- * Defines the available query parameters for fetching a list of product images.
23
- * This is useful for implementing features like filtering and searching.
24
- */
25
- export type ProductImageListQuery = {
26
- product_id?: number;
27
- is_primary?: boolean;
28
- };
29
- export declare const productImageService: {
30
- /**
31
- * Uploads a new product image.
32
- * @param {File} image - The image file to upload.
33
- * @param {ApiOptions} options - Custom options for the API request, `displaySuccess` is enabled by default.
34
- * @returns {Promise<ProductImage>} A promise that resolves to the newly uploaded product image.
35
- */
36
- uploadImage(image: File, options?: ApiOptions): Promise<ProductImage>;
37
- /**
38
- * Deletes a product image.
39
- * @param {number} imageId - The ID of the product image to delete.
40
- * @param {ApiOptions} options - Custom options for the API request, `displaySuccess` is enabled by default.
41
- * @returns {Promise<void>} A promise that resolves when the deletion is successful.
42
- */
43
- deleteImage(imageId: number, options?: ApiOptions): Promise<void>;
44
- };
2
+ import { ServiceFactory } from '../../../services';
3
+ export declare const productImageService: ServiceFactory<ProductImage, Partial<ProductImage>, Partial<ProductImage>, {
4
+ list: ProductImage[];
5
+ selected: ProductImage | null;
6
+ loading: boolean;
7
+ }>;
@@ -1,67 +1,7 @@
1
- import { ApiOptions } from '../../../hooks/api';
1
+ import { ServiceFactory } from '../../../services';
2
2
  import { Product } from '../types';
3
- /**
4
- * Defines the structure of a Product object.
5
- * Customize these properties to match your application's data model.
6
- */
7
- export interface ServiceTypeProduct extends Product {
8
- }
9
- /**
10
- * Defines the payload for creating a new product.
11
- * It omits server-generated fields like `id`, `created_at`, and `updated_at`.
12
- */
13
- export type ProductCreationPayload = Omit<ServiceTypeProduct, 'id' | 'created_at' | 'updated_at'>;
14
- /**
15
- * Defines the payload for updating an existing product.
16
- * All fields are optional to allow for partial updates.
17
- */
18
- export type ProductUpdatePayload = Partial<ProductCreationPayload>;
19
- /**
20
- * Defines the available query parameters for fetching a list of products.
21
- * This is useful for implementing features like pagination, sorting, and searching.
22
- */
23
- export interface ProductListQuery {
24
- page?: number;
25
- per_page?: number;
26
- sort_by?: keyof Product;
27
- sort_order?: 'asc' | 'desc';
28
- search?: string;
29
- }
30
- export declare const productService: {
31
- /**
32
- * Fetches a paginated and filterable list of products.
33
- * @param {ProductListQuery} params - Query parameters for filtering and pagination.
34
- * @param {ApiOptions} options - Custom options for the API request.
35
- * @returns {Promise<Product[]>} A promise that resolves to an array of products.
36
- */
37
- getProducts(params?: ProductListQuery, options?: ApiOptions): Promise<Product[]>;
38
- /**
39
- * Fetches a single product by its unique identifier.
40
- * @param {string | number} id - The ID of the product.
41
- * @param {ApiOptions} options - Custom options for the API request.
42
- * @returns {Promise<Product>} A promise that resolves to the requested product.
43
- */
44
- getProductById(id: string | number, options?: ApiOptions): Promise<Product>;
45
- /**
46
- * Creates a new product.
47
- * @param {ProductCreationPayload} productData - The data for the new product.
48
- * @param {ApiOptions} options - Custom options for the API request, `displaySuccess` is enabled by default.
49
- * @returns {Promise<Product>} A promise that resolves to the newly created product.
50
- */
51
- createProduct(productData: ProductCreationPayload, options?: ApiOptions): Promise<Product>;
52
- /**
53
- * Updates an existing product's information.
54
- * @param {string | number} id - The ID of the product to update.
55
- * @param {ProductUpdatePayload} productData - The data to update.
56
- * @param {ApiOptions} options - Custom options for the API request, `displaySuccess` is enabled by default.
57
- * @returns {Promise<Product>} A promise that resolves to the updated product.
58
- */
59
- updateProduct(id: string | number, productData: ProductUpdatePayload, options?: ApiOptions): Promise<Product>;
60
- /**
61
- * Deletes a product.
62
- * @param {string | number} id - The ID of the product to delete.
63
- * @param {ApiOptions} options - Custom options for the API request, `displaySuccess` is enabled by default.
64
- * @returns {Promise<void>} A promise that resolves when the deletion is successful.
65
- */
66
- deleteProduct(id: string | number, options?: ApiOptions): Promise<void>;
67
- };
3
+ export declare const productService: ServiceFactory<Product, Partial<Product>, Partial<Product>, {
4
+ list: Product[];
5
+ selected: Product | null;
6
+ loading: boolean;
7
+ }>;
@@ -0,0 +1,67 @@
1
+ import { Product, Category } from '../e-commerce/product/types';
2
+ interface CatalogState {
3
+ products: Product[];
4
+ total: number;
5
+ loading: boolean;
6
+ searchQuery: string;
7
+ filters: Record<string, any>;
8
+ sortOrder: "asc" | "desc";
9
+ sortBy: string;
10
+ viewMode: "list" | "card" | "table";
11
+ page: number;
12
+ pageSize: number;
13
+ }
14
+ interface CatalogActions {
15
+ setSearchQuery: (query: string) => void;
16
+ setFilters: (filters: Record<string, any>) => void;
17
+ setSortOrder: (order: "asc" | "desc") => void;
18
+ setSortBy: (by: string) => void;
19
+ setViewMode: (mode: "list" | "card" | "table") => void;
20
+ setPage: (page: number) => void;
21
+ fetchProducts: () => Promise<void>;
22
+ }
23
+ export declare const useCatalogStore: import('zustand').UseBoundStore<Omit<import('zustand').StoreApi<CatalogState & import('./store-factory').BaseActions<CatalogState> & CatalogActions>, "setState"> & {
24
+ setState(nextStateOrUpdater: (CatalogState & import('./store-factory').BaseActions<CatalogState> & CatalogActions) | Partial<CatalogState & import('./store-factory').BaseActions<CatalogState> & CatalogActions> | ((state: import('immer').WritableDraft<CatalogState & import('./store-factory').BaseActions<CatalogState> & CatalogActions>) => void), shouldReplace?: false): void;
25
+ setState(nextStateOrUpdater: (CatalogState & import('./store-factory').BaseActions<CatalogState> & CatalogActions) | ((state: import('immer').WritableDraft<CatalogState & import('./store-factory').BaseActions<CatalogState> & CatalogActions>) => void), shouldReplace: true): void;
26
+ }>;
27
+ interface ProductCardState {
28
+ wishlist: number[];
29
+ activeProductId: number | null;
30
+ }
31
+ interface ProductCardActions {
32
+ toggleWishlist: (productId: number) => void;
33
+ isWishlisted: (productId: number) => boolean;
34
+ viewDetails: (productId: number) => void;
35
+ closeDetails: () => void;
36
+ }
37
+ export declare const useProductCardStore: import('zustand').UseBoundStore<Omit<import('zustand').StoreApi<ProductCardState & import('./store-factory').BaseActions<ProductCardState> & ProductCardActions>, "setState"> & {
38
+ setState(nextStateOrUpdater: (ProductCardState & import('./store-factory').BaseActions<ProductCardState> & ProductCardActions) | Partial<ProductCardState & import('./store-factory').BaseActions<ProductCardState> & ProductCardActions> | ((state: import('immer').WritableDraft<ProductCardState & import('./store-factory').BaseActions<ProductCardState> & ProductCardActions>) => void), shouldReplace?: false): void;
39
+ setState(nextStateOrUpdater: (ProductCardState & import('./store-factory').BaseActions<ProductCardState> & ProductCardActions) | ((state: import('immer').WritableDraft<ProductCardState & import('./store-factory').BaseActions<ProductCardState> & ProductCardActions>) => void), shouldReplace: true): void;
40
+ }>;
41
+ interface CartState {
42
+ cart: Record<number, number>;
43
+ }
44
+ interface CartActions {
45
+ addToCart: (productId: number, qty?: number) => void;
46
+ removeFromCart: (productId: number) => void;
47
+ updateQuantity: (productId: number, qty: number) => void;
48
+ getCartQuantity: (productId: number) => number;
49
+ getTotalItems: () => number;
50
+ clearCart: () => void;
51
+ }
52
+ export declare const useCartStore: import('zustand').UseBoundStore<Omit<import('zustand').StoreApi<CartState & import('./store-factory').BaseActions<CartState> & CartActions>, "setState"> & {
53
+ setState(nextStateOrUpdater: (CartState & import('./store-factory').BaseActions<CartState> & CartActions) | Partial<CartState & import('./store-factory').BaseActions<CartState> & CartActions> | ((state: import('immer').WritableDraft<CartState & import('./store-factory').BaseActions<CartState> & CartActions>) => void), shouldReplace?: false): void;
54
+ setState(nextStateOrUpdater: (CartState & import('./store-factory').BaseActions<CartState> & CartActions) | ((state: import('immer').WritableDraft<CartState & import('./store-factory').BaseActions<CartState> & CartActions>) => void), shouldReplace: true): void;
55
+ }>;
56
+ interface CategoryState {
57
+ selectedCategory: Category | null;
58
+ }
59
+ interface CategoryActions {
60
+ setSelectedCategory: (cat: Category | Record<string, any> | null) => void;
61
+ clearCategory: () => void;
62
+ }
63
+ export declare const useCategoryStore: import('zustand').UseBoundStore<Omit<import('zustand').StoreApi<CategoryState & import('./store-factory').BaseActions<CategoryState> & CategoryActions>, "setState"> & {
64
+ setState(nextStateOrUpdater: (CategoryState & import('./store-factory').BaseActions<CategoryState> & CategoryActions) | Partial<CategoryState & import('./store-factory').BaseActions<CategoryState> & CategoryActions> | ((state: import('immer').WritableDraft<CategoryState & import('./store-factory').BaseActions<CategoryState> & CategoryActions>) => void), shouldReplace?: false): void;
65
+ setState(nextStateOrUpdater: (CategoryState & import('./store-factory').BaseActions<CategoryState> & CategoryActions) | ((state: import('immer').WritableDraft<CategoryState & import('./store-factory').BaseActions<CategoryState> & CategoryActions>) => void), shouldReplace: true): void;
66
+ }>;
67
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "arkenstone-ui",
3
- "version": "0.0.24",
3
+ "version": "0.0.25",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",