@commercelayer/app-elements 1.24.3 → 2.0.1

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 (51) hide show
  1. package/dist/{InputDateComponent-CleoXv8d.js → InputDateComponent-Bf24XIVj.js} +1 -1
  2. package/dist/helpers/appsNavigation.d.ts +1 -1
  3. package/dist/helpers/currencies.d.ts +7 -0
  4. package/dist/helpers/resources.d.ts +1 -2
  5. package/dist/helpers/tracking.d.ts +8 -8
  6. package/dist/{main-DR41ueVi.js → main-DfjsadJg.js} +20888 -16920
  7. package/dist/main.d.ts +3 -3
  8. package/dist/main.js +78 -76
  9. package/dist/providers/CoreSdkProvider/useCoreApi.d.ts +1 -2
  10. package/dist/providers/TokenProvider/TokenProvider.d.ts +1 -2
  11. package/dist/providers/TokenProvider/types.d.ts +1 -1
  12. package/dist/style.css +1 -1
  13. package/dist/ui/atoms/Card.d.ts +12 -12
  14. package/dist/ui/atoms/Icon/icons.d.ts +1 -0
  15. package/dist/ui/atoms/{PageHeading.d.ts → PageHeading/PageHeading.d.ts} +7 -6
  16. package/dist/ui/atoms/PageHeading/PageHeading.test.d.ts +1 -0
  17. package/dist/ui/atoms/PageHeading/PageHeadingToolbar.d.ts +25 -0
  18. package/dist/ui/atoms/PageHeading/PageHeadingToolbar.test.d.ts +1 -0
  19. package/dist/ui/atoms/PageHeading/index.d.ts +1 -0
  20. package/dist/ui/composite/Dropdown/DropdownItem.d.ts +14 -14
  21. package/dist/ui/composite/PageLayout.d.ts +2 -2
  22. package/dist/ui/forms/InputRadioGroup/InputRadioGroup.d.ts +2 -2
  23. package/dist/ui/forms/InputReadonly.d.ts +1 -1
  24. package/dist/ui/forms/InputResourceGroup/FullList.d.ts +12 -6
  25. package/dist/ui/forms/InputResourceGroup/InputResourceGroup.d.ts +1 -1
  26. package/dist/ui/forms/InputResourceGroup/index.d.ts +1 -0
  27. package/dist/ui/forms/InputResourceGroup/utils.d.ts +1 -2
  28. package/dist/ui/forms/InputSelect/InputSelect.d.ts +1 -1
  29. package/dist/ui/forms/InputSelect/overrides.d.ts +3 -1
  30. package/dist/ui/forms/ReactHookForm/setApiFormErrors.d.ts +1 -1
  31. package/dist/ui/resources/ResourceAddress/ResourceAddress.d.ts +7 -0
  32. package/dist/ui/resources/ResourceAddress/ResourceAddress.mocks.d.ts +21 -0
  33. package/dist/ui/resources/ResourceAddress/ResourceAddressForm.d.ts +2 -0
  34. package/dist/ui/resources/ResourceAddress/ResourceAddressFormFields.d.ts +56 -1
  35. package/dist/ui/resources/ResourceAddress/useResourceAddressOverlay.d.ts +2 -1
  36. package/dist/ui/resources/ResourceList/ResourceList.d.ts +13 -5
  37. package/dist/ui/resources/ResourceList/infiniteFetcher.d.ts +1 -2
  38. package/dist/ui/resources/ResourceList/metricsApiClient.d.ts +1 -2
  39. package/dist/ui/resources/ResourceList/reducer.d.ts +1 -1
  40. package/dist/ui/resources/ResourceListItem/common.d.ts +2 -2
  41. package/dist/ui/resources/ResourceMetadata/ResourceMetadata.d.ts +1 -1
  42. package/dist/ui/resources/ResourceMetadata/ResourceMetadataForm.d.ts +1 -1
  43. package/dist/ui/resources/ResourceTags.d.ts +1 -1
  44. package/dist/ui/resources/useResourceFilters/adaptFormValuesToSdk.d.ts +1 -1
  45. package/dist/ui/resources/useResourceFilters/adaptSdkToMetrics.d.ts +1 -2
  46. package/dist/ui/resources/useResourceFilters/adaptSdkToUrlQuery.d.ts +1 -1
  47. package/dist/ui/resources/useResourceFilters/adaptUrlQueryToSdk.d.ts +1 -1
  48. package/dist/ui/resources/useResourceFilters/adapters.types.d.ts +1 -1
  49. package/dist/ui/resources/useResourceFilters/useResourceFilters.d.ts +1 -2
  50. package/package.json +3 -3
  51. /package/dist/{ui/atoms/PageHeading.test.d.ts → helpers/currencies.test.d.ts} +0 -0
@@ -1,6 +1,7 @@
1
1
  import { z } from 'zod';
2
2
 
3
- export declare const resourceAddressFormFieldsSchema: z.ZodObject<{
3
+ export declare const resourceAddressFormFieldsSchema: z.ZodEffects<z.ZodObject<{
4
+ business: z.ZodDefault<z.ZodOptional<z.ZodNullable<z.ZodBoolean>>>;
4
5
  first_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
5
6
  last_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
6
7
  company: z.ZodOptional<z.ZodNullable<z.ZodString>>;
@@ -16,6 +17,7 @@ export declare const resourceAddressFormFieldsSchema: z.ZodObject<{
16
17
  }, "strip", z.ZodTypeAny, {
17
18
  city: string;
18
19
  country_code: string;
20
+ business: boolean | null;
19
21
  line_1: string;
20
22
  state_code: string;
21
23
  phone: string;
@@ -32,6 +34,35 @@ export declare const resourceAddressFormFieldsSchema: z.ZodObject<{
32
34
  line_1: string;
33
35
  state_code: string;
34
36
  phone: string;
37
+ business?: boolean | null | undefined;
38
+ first_name?: string | null | undefined;
39
+ last_name?: string | null | undefined;
40
+ company?: string | null | undefined;
41
+ line_2?: string | null | undefined;
42
+ zip_code?: string | null | undefined;
43
+ notes?: string | null | undefined;
44
+ billing_info?: string | null | undefined;
45
+ }>, {
46
+ city: string;
47
+ country_code: string;
48
+ business: boolean | null;
49
+ line_1: string;
50
+ state_code: string;
51
+ phone: string;
52
+ first_name?: string | null | undefined;
53
+ last_name?: string | null | undefined;
54
+ company?: string | null | undefined;
55
+ line_2?: string | null | undefined;
56
+ zip_code?: string | null | undefined;
57
+ notes?: string | null | undefined;
58
+ billing_info?: string | null | undefined;
59
+ }, {
60
+ city: string;
61
+ country_code: string;
62
+ line_1: string;
63
+ state_code: string;
64
+ phone: string;
65
+ business?: boolean | null | undefined;
35
66
  first_name?: string | null | undefined;
36
67
  last_name?: string | null | undefined;
37
68
  company?: string | null | undefined;
@@ -41,12 +72,36 @@ export declare const resourceAddressFormFieldsSchema: z.ZodObject<{
41
72
  billing_info?: string | null | undefined;
42
73
  }>;
43
74
  export interface ResourceAddressFormFieldsProps {
75
+ /**
76
+ * Optional namespace.
77
+ * @example If you set `name="address"` then all input names will be prepended by `address.` (e.g. `address.first_name`).
78
+ */
44
79
  name?: string;
80
+ /**
81
+ * Optional setting to define if given `Address` `billing_info` data is visible.
82
+ * @default false
83
+ */
45
84
  showBillingInfo?: boolean;
85
+ /**
86
+ * Optional setting to define if given `Address` `billing_info` data is visible.
87
+ * @default true
88
+ */
89
+ showNotes?: boolean;
90
+ /**
91
+ * Determines whether to show only business fields (`company`) or non-business fields (`first_name` and `last_name`).
92
+ *
93
+ * When `business` is set to **`true`** the `first_name` and `last_name` fields are hidden.
94
+ * When `business` is set to **`false`** the `company` field is hidden.
95
+ *
96
+ * @default false
97
+ */
98
+ showNameOrCompany?: boolean;
46
99
  }
47
100
  export declare const ResourceAddressFormFields: import('../../atoms/SkeletonTemplate').SkeletonTemplateComponent<{
48
101
  name?: string | undefined;
49
102
  showBillingInfo?: boolean | undefined;
103
+ showNotes?: boolean | undefined;
104
+ showNameOrCompany?: boolean | undefined;
50
105
  delayMs?: number | undefined;
51
106
  isLoading?: boolean | undefined;
52
107
  }>;
@@ -1,9 +1,10 @@
1
1
  import { Address } from '@commercelayer/sdk';
2
2
 
3
- export declare const useResourceAddressOverlay: ({ title, address, showBillingInfo, onUpdate }: {
3
+ export declare const useResourceAddressOverlay: ({ title, address, showBillingInfo, showNotes, onUpdate }: {
4
4
  title?: string;
5
5
  address: Address;
6
6
  showBillingInfo?: boolean;
7
+ showNotes?: boolean;
7
8
  onUpdate?: (updatedAddress: Address) => void;
8
9
  }) => {
9
10
  ResourceAddressOverlay: () => false | import("react/jsx-runtime").JSX.Element;
@@ -1,6 +1,5 @@
1
- import { FC } from 'react';
2
- import { ListableResourceType } from '@commercelayer/sdk/lib/cjs/api';
3
- import { QueryParamsList } from '@commercelayer/sdk';
1
+ import { default as React, FC } from 'react';
2
+ import { ListableResourceType, QueryParamsList } from '@commercelayer/sdk';
4
3
  import { FetcherResponse, Resource } from './infiniteFetcher';
5
4
  import { SkeletonTemplateProps } from '../../atoms/SkeletonTemplate';
6
5
  import { SectionProps } from '../../atoms/Section';
@@ -25,7 +24,7 @@ export interface ResourceListItemTemplate<TResource extends ListableResourceType
25
24
  */
26
25
  ItemTemplate: FC<ResourceListItemTemplateProps<TResource>>;
27
26
  }
28
- export type ResourceListProps<TResource extends ListableResourceType> = Pick<SectionProps, 'title' | 'actionButton'> & {
27
+ export type ResourceListProps<TResource extends ListableResourceType> = Pick<SectionProps, 'actionButton'> & {
29
28
  /**
30
29
  * The resource type to be fetched in the list
31
30
  */
@@ -50,6 +49,14 @@ export type ResourceListProps<TResource extends ListableResourceType> = Pick<Sec
50
49
  * An element to be rendered when the list is empty.
51
50
  */
52
51
  emptyState: JSX.Element;
52
+ /**
53
+ * Title.
54
+ */
55
+ title?: ((recordCount: number | undefined) => React.ReactNode) | React.ReactNode;
56
+ /**
57
+ *
58
+ */
59
+ variant?: 'boxed';
53
60
  } & (ResourceListItemTemplate<TResource> | {
54
61
  /**
55
62
  * Children as a function to render a custom element.
@@ -63,6 +70,7 @@ export type ResourceListProps<TResource extends ListableResourceType> = Pick<Sec
63
70
  children: (childrenProps: {
64
71
  isLoading: boolean;
65
72
  data?: FetcherResponse<Resource<TResource>>;
73
+ isFirstLoading: boolean;
66
74
  }) => React.ReactNode;
67
75
  });
68
76
  /**
@@ -70,7 +78,7 @@ export type ResourceListProps<TResource extends ListableResourceType> = Pick<Sec
70
78
  * It's possible to specify a query to filter the list and either
71
79
  * a React component (`ItemTemplate`) to be used as item template for the list or a function as `children` to render a custom element.
72
80
  */
73
- export declare function ResourceList<TResource extends ListableResourceType>({ type, query, title, actionButton, emptyState, metricsQuery, ...props }: ResourceListProps<TResource>): JSX.Element;
81
+ export declare function ResourceList<TResource extends ListableResourceType>({ type, query, title, variant, actionButton, emptyState, metricsQuery, ...props }: ResourceListProps<TResource>): JSX.Element;
74
82
  export declare namespace ResourceList {
75
83
  var displayName: string;
76
84
  }
@@ -1,5 +1,4 @@
1
- import { ListableResourceType } from '@commercelayer/sdk/lib/cjs/api';
2
- import { CommerceLayerClient, QueryParamsList } from '@commercelayer/sdk';
1
+ import { CommerceLayerClient, ListableResourceType, QueryParamsList } from '@commercelayer/sdk';
3
2
  import { MetricsApiClient } from './metricsApiClient';
4
3
 
5
4
  type ListResource<TResource extends ListableResourceType> = Awaited<ReturnType<CommerceLayerClient[TResource]['list']>>;
@@ -1,6 +1,5 @@
1
1
  import { Writable } from 'type-fest';
2
- import { ListMeta, ListResponse } from '@commercelayer/sdk/lib/cjs/resource';
3
- import { ListableResourceType } from '@commercelayer/sdk/lib/cjs/api';
2
+ import { ListableResourceType, ListMeta, ListResponse } from '@commercelayer/sdk';
4
3
  import { MetricsFilters } from '../useResourceFilters/adaptSdkToMetrics';
5
4
  import { Resource } from './infiniteFetcher';
6
5
 
@@ -1,5 +1,5 @@
1
1
  import { FetcherResponse, Resource } from './infiniteFetcher';
2
- import { ListableResourceType } from '@commercelayer/sdk/lib/cjs/api';
2
+ import { ListableResourceType } from '@commercelayer/sdk';
3
3
 
4
4
  interface ResourceListInternalState<TResource extends ListableResourceType> {
5
5
  isLoading: boolean;
@@ -8,8 +8,8 @@ export declare const ListItemDescription: import('../../atoms/SkeletonTemplate')
8
8
  isLoading?: boolean | undefined;
9
9
  }>;
10
10
  export declare const ListItemIcon: import('../../atoms/SkeletonTemplate').SkeletonTemplateComponent<{
11
- color: "none" | "green" | "orange" | "red" | "gray" | "lightGray" | "teal" | "white" | "black" | undefined;
12
- icon: "download" | "package" | "tag" | "list" | "warning" | "info" | "x" | "airplaneTakeoff" | "appWindow" | "arrowBendDownRight" | "arrowCircleDown" | "arrowCircleUp" | "arrowClockwise" | "arrowDown" | "arrowLeft" | "arrowRight" | "arrowsLeftRight" | "arrowSquareOut" | "arrowUpRight" | "arrowUUpLeft" | "asteriskSimple" | "bank" | "bookOpenText" | "bracketsCurly" | "buildings" | "calculator" | "calendarBlank" | "calendarCheck" | "camera" | "caretDown" | "caretRight" | "chat" | "chatCircle" | "check" | "clipboardText" | "clockClockwise" | "cloudArrowUp" | "creditCard" | "currencyEur" | "dotsThree" | "envelopeSimple" | "eye" | "eyeSlash" | "flag" | "folderOpen" | "funnelSimple" | "gearFine" | "gift" | "gitFork" | "githubLogo" | "globe" | "globeSimple" | "googleLogo" | "hourglass" | "houseSimple" | "lifebuoy" | "lightbulbFilament" | "linkSimple" | "lockSimple" | "lockSimpleOpen" | "magnifyingGlass" | "mapPin" | "megaphoneSimple" | "minus" | "minusCircle" | "pencilSimple" | "percent" | "plus" | "printer" | "pulse" | "pushPin" | "puzzlePiece" | "question" | "receipt" | "rocketLaunch" | "seal" | "shapes" | "shield" | "shoppingBag" | "signOut" | "slackLogo" | "sliders" | "squaresFour" | "stack" | "storefront" | "suitcaseSimple" | "ticket" | "trash" | "treeStructure" | "truck" | "tShirt" | "upload" | "user" | "userCircle" | "userRectangle" | "users" | "warehouse" | "warningCircle" | "webhooksLogo" | "xCircle";
11
+ color: "none" | "black" | "gray" | "green" | "orange" | "red" | "teal" | "white" | "lightGray" | undefined;
12
+ icon: "x" | "airplaneTakeoff" | "appWindow" | "arrowBendDownRight" | "arrowCircleDown" | "arrowCircleUp" | "arrowClockwise" | "arrowDown" | "arrowLeft" | "arrowRight" | "arrowsLeftRight" | "arrowSquareOut" | "arrowUpRight" | "arrowUUpLeft" | "asteriskSimple" | "bank" | "bookOpenText" | "bracketsCurly" | "buildings" | "calculator" | "calendarBlank" | "calendarCheck" | "camera" | "caretDown" | "caretRight" | "chat" | "chatCircle" | "check" | "clipboardText" | "clockClockwise" | "cloudArrowUp" | "creditCard" | "currencyEur" | "dotsSixVertical" | "dotsThree" | "download" | "envelopeSimple" | "eye" | "eyeSlash" | "flag" | "folderOpen" | "funnelSimple" | "gearFine" | "gift" | "gitFork" | "githubLogo" | "globe" | "globeSimple" | "googleLogo" | "hourglass" | "houseSimple" | "info" | "lifebuoy" | "lightbulbFilament" | "linkSimple" | "list" | "lockSimple" | "lockSimpleOpen" | "magnifyingGlass" | "mapPin" | "megaphoneSimple" | "minus" | "minusCircle" | "package" | "pencilSimple" | "percent" | "plus" | "printer" | "pulse" | "pushPin" | "puzzlePiece" | "question" | "receipt" | "rocketLaunch" | "seal" | "shapes" | "shield" | "shoppingBag" | "signOut" | "slackLogo" | "sliders" | "squaresFour" | "stack" | "storefront" | "suitcaseSimple" | "tag" | "ticket" | "trash" | "treeStructure" | "truck" | "tShirt" | "upload" | "user" | "userCircle" | "userRectangle" | "users" | "warehouse" | "warning" | "warningCircle" | "webhooksLogo" | "xCircle";
13
13
  delayMs?: number | undefined;
14
14
  isLoading?: boolean | undefined;
15
15
  }>;
@@ -1,4 +1,4 @@
1
- import { ListableResourceType } from '@commercelayer/sdk/lib/cjs/api';
1
+ import { ListableResourceType } from '@commercelayer/sdk';
2
2
 
3
3
  export interface ResourceMetadataOverlay {
4
4
  /**
@@ -1,5 +1,5 @@
1
1
  import { ResourceMetadataProps } from './ResourceMetadata';
2
- import { Metadata } from '@commercelayer/sdk/lib/cjs/resource';
2
+ import { Metadata } from '@commercelayer/sdk';
3
3
 
4
4
  interface ResourceMetadataFormValues {
5
5
  metadata: Metadata;
@@ -1,4 +1,4 @@
1
- import { ListableResourceType } from '@commercelayer/sdk/lib/cjs/api';
1
+ import { ListableResourceType } from '@commercelayer/sdk';
2
2
 
3
3
  type TaggableResource = Extract<ListableResourceType, 'addresses' | 'bundles' | 'customers' | 'coupons' | 'gift_cards' | 'line_items' | 'orders' | 'returns' | 'sku_options' | 'skus' | 'shipments'>;
4
4
  interface TagsOverlay {
@@ -1,5 +1,5 @@
1
1
  import { CurrencyRangeFieldValue, FiltersInstructions, UiFilterName, UiFilterValue } from './types';
2
- import { QueryFilter } from '@commercelayer/sdk/lib/cjs/query';
2
+ import { QueryFilter } from '@commercelayer/sdk';
3
3
 
4
4
  export interface AdaptFormValuesToSdkParams<FilterFormValues> {
5
5
  formValues: FilterFormValues;
@@ -1,5 +1,4 @@
1
- import { QueryFilter } from '@commercelayer/sdk/lib/cjs/query';
2
- import { ListableResourceType } from '@commercelayer/sdk/lib/cjs/api';
1
+ import { ListableResourceType, QueryFilter } from '@commercelayer/sdk';
3
2
  import { FiltersInstructions } from './types';
4
3
 
5
4
  export type CoreResourceEnabledInMetrics = 'orders' | 'returns';
@@ -1,4 +1,4 @@
1
- import { QueryFilter } from '@commercelayer/sdk/lib/cjs/query';
1
+ import { QueryFilter } from '@commercelayer/sdk';
2
2
  import { FiltersInstructions } from './types';
3
3
 
4
4
  export interface AdaptSdkToUrlQueryParams {
@@ -1,5 +1,5 @@
1
1
  import { FiltersInstructions } from './types';
2
- import { QueryFilter } from '@commercelayer/sdk/lib/cjs/query';
2
+ import { QueryFilter } from '@commercelayer/sdk';
3
3
 
4
4
  export interface AdaptUrlQueryToSdkParams {
5
5
  queryString: string;
@@ -6,7 +6,7 @@ import { AdaptSdkToUrlQueryParams } from './adaptSdkToUrlQuery';
6
6
  import { AdaptSdkToMetricsParams, MetricsFilters } from './adaptSdkToMetrics';
7
7
  import { AdaptFormValuesToUrlQueryParams } from './adaptFormValuesToUrlQuery';
8
8
  import { AdaptFormValuesToSdkParams } from './adaptFormValuesToSdk';
9
- import { QueryFilter } from '@commercelayer/sdk/lib/cjs/query';
9
+ import { QueryFilter } from '@commercelayer/sdk';
10
10
 
11
11
  interface MakeFilterAdaptersParams {
12
12
  instructions: FiltersInstructions;
@@ -2,8 +2,7 @@ import { FiltersInstructions } from './types';
2
2
  import { makeFilterAdapters } from './adapters';
3
3
  import { FiltersNavProps } from './FiltersNav';
4
4
  import { FiltersFormProps } from './FiltersForm';
5
- import { QueryFilter } from '@commercelayer/sdk/lib/cjs/query';
6
- import { ListableResourceType } from '@commercelayer/sdk/lib/cjs/api';
5
+ import { ListableResourceType, QueryFilter } from '@commercelayer/sdk';
7
6
  import { ResourceListItemTemplate } from '../ResourceList/ResourceList';
8
7
  import { ResourceListProps } from '../ResourceList';
9
8
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@commercelayer/app-elements",
3
- "version": "1.24.3",
3
+ "version": "2.0.1",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "files": [
@@ -27,7 +27,7 @@
27
27
  "pnpm": ">=7"
28
28
  },
29
29
  "dependencies": {
30
- "@commercelayer/sdk": "5.37.0",
30
+ "@commercelayer/sdk": "6.0.2",
31
31
  "@types/lodash": "^4.17.0",
32
32
  "@types/react": "^18.2.78",
33
33
  "@types/react-datepicker": "^6.2.0",
@@ -78,7 +78,7 @@
78
78
  "wouter": "^3.1.2"
79
79
  },
80
80
  "peerDependencies": {
81
- "@commercelayer/sdk": "^5.x",
81
+ "@commercelayer/sdk": "^6.x",
82
82
  "query-string": "^8.2.x",
83
83
  "react": "^18.2.x",
84
84
  "react-dom": "^18.2.x",