@shipengine/elements 0.34.0 → 0.36.0

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 (100) hide show
  1. package/index.cjs +2019 -577
  2. package/index.js +2012 -578
  3. package/package.json +1 -1
  4. package/src/components/add-funds-form/add-funds-form.d.ts +20 -2
  5. package/src/components/add-funds-form/add-funds-schema.d.ts +26 -0
  6. package/src/components/address-preference-context/address-preference-context.d.ts +8 -0
  7. package/src/components/auto-funding-form/auto-funding-form.d.ts +22 -0
  8. package/src/components/auto-funding-form/auto-funding-schema.d.ts +17 -0
  9. package/src/components/button-group/button-group.d.ts +29 -0
  10. package/src/components/carrier-balance/carrier-balance.d.ts +23 -0
  11. package/src/components/collapsible-panel/collapsible-panel.d.ts +32 -0
  12. package/src/components/copy/copy-button.d.ts +4 -0
  13. package/src/components/cube/cube.d.ts +16 -0
  14. package/src/components/date-range-combo/date-range-combo.d.ts +14 -0
  15. package/src/components/date-range-select/date-range-select.d.ts +6 -0
  16. package/src/components/error-fallback/error-fallback.d.ts +12 -1
  17. package/src/components/field-label/field-label.d.ts +10 -0
  18. package/src/components/form-portal/form-portal.d.ts +9 -0
  19. package/src/components/fund-and-purchase/fund-and-purchase.d.ts +13 -0
  20. package/src/components/inline-label/inline-label.d.ts +10 -0
  21. package/src/components/items-breakdown/items-breakdown.d.ts +15 -0
  22. package/src/components/label-layout/label-layout.d.ts +5 -0
  23. package/src/components/link-action/link-action.d.ts +10 -0
  24. package/src/components/loader/loader.d.ts +5 -0
  25. package/src/components/manage-funding/manage-funding.d.ts +26 -0
  26. package/src/components/payment-method-settings/payment-method-settings.d.ts +19 -0
  27. package/src/components/portal/portal.d.ts +10 -1
  28. package/src/components/powered-by-shipengine/powered-by-shipengine.d.ts +8 -0
  29. package/src/components/section/section.d.ts +10 -0
  30. package/src/components/spacer/spacer.d.ts +30 -0
  31. package/src/components/spread/spread.d.ts +10 -0
  32. package/src/components/story-notes/story-notes.d.ts +10 -1
  33. package/src/components/templates/rate-form/rate-form.d.ts +2 -2
  34. package/src/components/templates/shipment-form/shipment-form.d.ts +2 -1
  35. package/src/components/templates/shipment-form/shipment-schema.d.ts +179 -17
  36. package/src/components/unit-settings/unit-settings.d.ts +5 -0
  37. package/src/constants/shipengine/address.d.ts +75 -0
  38. package/src/elements/account-settings/account-settings.d.ts +136 -1
  39. package/src/elements/configure-shipment/configure-shipment.d.ts +1 -0
  40. package/src/elements/configure-shipment/hooks/use-rates-form.d.ts +2 -2
  41. package/src/elements/configure-shipment/hooks/use-rates-with-cache.d.ts +1 -1
  42. package/src/elements/configure-shipment/hooks/use-request-rates.d.ts +1 -1
  43. package/src/elements/configure-shipment/hooks/use-shipment-form.d.ts +1 -0
  44. package/src/elements/list-carriers/list-carriers.d.ts +31 -0
  45. package/src/elements/manage-warehouses/manage-warehouses.d.ts +34 -0
  46. package/src/elements/onboarding/onboarding.d.ts +93 -2
  47. package/src/elements/purchase-label/purchase-label.d.ts +191 -7
  48. package/src/elements/shipengine-workflow/label-workflow.d.ts +138 -2
  49. package/src/elements/view-shipment/view-shipment.d.ts +128 -2
  50. package/src/elements/void-label/void-label.d.ts +134 -3
  51. package/src/extensions/zod.d.ts +5 -0
  52. package/src/factories/shipengine/package.d.ts +11 -0
  53. package/src/features/wallet-history/wallet-history.d.ts +5 -0
  54. package/src/hooks/index.d.ts +1 -0
  55. package/src/hooks/options/use-confirmation-options.d.ts +7 -0
  56. package/src/hooks/options/use-country-code-options.d.ts +16 -3
  57. package/src/hooks/options/use-customs-contents-options.d.ts +7 -0
  58. package/src/hooks/options/use-customs-non-delivery-options.d.ts +7 -0
  59. package/src/hooks/options/use-date-range-options.d.ts +22 -1
  60. package/src/hooks/options/use-expiration-month-options.d.ts +7 -0
  61. package/src/hooks/options/use-insurance-provider-options.d.ts +7 -0
  62. package/src/hooks/options/use-package-options.d.ts +7 -0
  63. package/src/hooks/options/use-rate-options.d.ts +11 -1
  64. package/src/hooks/options/use-service-code-options.d.ts +7 -0
  65. package/src/hooks/options/use-shipment-metadata.d.ts +8 -0
  66. package/src/hooks/options/use-shipping-presets-options.d.ts +10 -0
  67. package/src/hooks/options/use-state-code-options.d.ts +7 -0
  68. package/src/hooks/options/use-warehouse-options.d.ts +7 -0
  69. package/src/hooks/use-address-validation.d.ts +7 -0
  70. package/src/hooks/use-black-box-detection.d.ts +17 -1
  71. package/src/hooks/use-carrier-metadata.d.ts +7 -0
  72. package/src/hooks/use-nested-form.d.ts +9 -0
  73. package/src/hooks/use-page-layout.d.ts +25 -1
  74. package/src/hooks/use-root-portal.d.ts +15 -2
  75. package/src/hooks/use-run-once-on-true.d.ts +5 -1
  76. package/src/hooks/use-scrub-errors.d.ts +6 -3
  77. package/src/hooks/use-toggle.d.ts +5 -1
  78. package/src/locales/en/index.d.ts +8 -1
  79. package/src/schemas/shipengine/money.d.ts +4 -0
  80. package/src/schemas/shipengine/phone.d.ts +8 -0
  81. package/src/types/carrier-metadata.d.ts +20 -0
  82. package/src/utilities/create-dictionary.d.ts +4 -0
  83. package/src/utilities/date.d.ts +51 -2
  84. package/src/utilities/error.d.ts +16 -2
  85. package/src/utilities/feature-flags.d.ts +181 -0
  86. package/src/utilities/form-logger.d.ts +4 -0
  87. package/src/utilities/index.d.ts +1 -1
  88. package/src/utilities/money.d.ts +25 -0
  89. package/src/utilities/predicates/isString.d.ts +7 -0
  90. package/src/utilities/rates.d.ts +22 -1
  91. package/src/utilities/shipengine/address.d.ts +31 -0
  92. package/src/utilities/shipengine/carrier.d.ts +21 -0
  93. package/src/utilities/shipengine/dimensions.d.ts +27 -4
  94. package/src/utilities/shipengine/package.d.ts +4 -0
  95. package/src/utilities/shipengine/sales-order.d.ts +26 -0
  96. package/src/utilities/shipengine/shipment.d.ts +12 -0
  97. package/src/utilities/shipengine/weight.d.ts +92 -2
  98. package/src/utilities/string.d.ts +7 -0
  99. package/src/utilities/styles.d.ts +4 -0
  100. package/src/utilities/validation.d.ts +8 -0
@@ -3,9 +3,33 @@ type PageLayoutContextValue = {
3
3
  FooterPortal: React.FC<PropsWithChildren>;
4
4
  HeaderPortal: React.FC<PropsWithChildren>;
5
5
  };
6
- type PageLayoutProviderProps = {
6
+ /**
7
+ * @internal
8
+ *
9
+ * # Page Layout Props
10
+ *
11
+ * @see {@link PageLayoutProvider | The `<PageLayoutProvider />` component}
12
+ */
13
+ export type PageLayoutProviderProps = {
14
+ /**
15
+ * `children` are the elements that will be rendered inside the page layout.
16
+ */
7
17
  children: React.ReactNode;
8
18
  };
19
+ /**
20
+ * @internal
21
+ *
22
+ * # Page Layout Component
23
+ *
24
+ * @see {@link PageLayoutProviderProps | The props passed into the `<PageLayoutProvider />` component}
25
+ */
9
26
  export declare const PageLayoutProvider: ({ children }: PageLayoutProviderProps) => import("@emotion/react/jsx-runtime").JSX.Element;
27
+ /**
28
+ * @internal
29
+ *
30
+ * # Page Layout Hook
31
+ *
32
+ * @category Hooks
33
+ */
10
34
  export declare const usePageLayout: () => PageLayoutContextValue;
11
35
  export {};
@@ -3,17 +3,30 @@ type RootPortalProviderProps = {
3
3
  children: React.ReactNode;
4
4
  };
5
5
  /**
6
+ * @internal
7
+ *
8
+ * # Root Portal Provider
9
+ *
6
10
  * Provides access to a top-level 'root-portal' DOM node, adjacent the app 'root' div
7
11
  *
8
12
  * @category Providers
9
13
  *
10
- * @see {@link ElementsProvider}
14
+ * @see {@link useRootPortal | The associated `hook` for this provider}
11
15
  */
12
16
  export declare const RootPortalProvider: ({ children }: RootPortalProviderProps) => import("@emotion/react/jsx-runtime").JSX.Element;
13
17
  /**
14
- * Must be used within {@link RootPortalProvider}
18
+ * @internal
19
+ *
20
+ * # Root Portal Provider Hook
21
+ *
22
+ * The `useRootPortal` hook provides access to a top-level 'root-portal' DOM node, adjacent
23
+ * the app 'root' div.
24
+ *
25
+ * - Must be used within {@link RootPortalProvider | a `<RootPortalProvider />`}
15
26
  *
16
27
  * @category Elements Hooks
28
+ *
29
+ * @see {@link RootPortalProvider | The associated `provider` for this hook}
17
30
  */
18
31
  export declare const useRootPortal: () => HTMLDivElement;
19
32
  export {};
@@ -1,5 +1,9 @@
1
1
  /**
2
- * Runs a callback once and only once when a condition is true.
2
+ * @internal
3
+ *
4
+ * # Run Once On True Hook
5
+ *
6
+ * - Runs a callback once and only once when a condition is true.
3
7
  *
4
8
  * @param conditionalEffect A logical expression ending with a callback
5
9
  * @example useRunOnceOnTrue(testValue && anotherTestValue && (() => console.log("Hello world!")));
@@ -5,10 +5,13 @@ type UseScrubErrorsProps = {
5
5
  scrubber: (e: SE.CodedError) => string;
6
6
  };
7
7
  /**
8
+ * @internal
9
+ *
10
+ * # Scrub Errors Hook
11
+ *
8
12
  * Generic error pretty printer
9
- * @param errors
10
- * @param predicate
11
- * @param scrubber
13
+ *
14
+ * @category Hooks
12
15
  */
13
16
  export declare const useScrubErrors: ({ scrubber, errors, predicate }: UseScrubErrorsProps) => string[] | undefined;
14
17
  export {};
@@ -1,5 +1,9 @@
1
1
  /**
2
- * Create a boolean that can be toggled or set to a specific value
2
+ * @internal
3
+ *
4
+ * # Toggle Hook
5
+ *
6
+ * - Create a boolean that can be toggled or set to a specific value
3
7
  *
4
8
  * @example
5
9
  * ```tsx
@@ -202,6 +202,7 @@ declare const _default: {
202
202
  rates: {
203
203
  uspsMediaMailAcknowledgement: string;
204
204
  uspsFirstClassMailAcknowledgement_leof: string;
205
+ dhlExpressTermsAcknowledgement: string;
205
206
  };
206
207
  shipToAddressFormFields: string;
207
208
  sections: {
@@ -588,11 +589,16 @@ declare const _default: {
588
589
  ounces: string;
589
590
  pounds_one: string;
590
591
  pounds_other: string;
592
+ kilogram: string;
593
+ gram: string;
591
594
  };
592
595
  units: {
593
- in: string;
596
+ inch: string;
594
597
  lbs: string;
595
598
  oz: string;
599
+ centimeter: string;
600
+ gram: string;
601
+ kilogram: string;
596
602
  };
597
603
  "VGhlIHNlbGVjdGVkIHNlcnZpY2UgaW5jbHVkZXMgaW5zdXJhbmNlIGZvciBhbiBpbnN1cmVkIGFtb3VudCB1cCB0byAkMTAwLgo=": string;
598
604
  "VGhlIHNlbGVjdGVkIHNlcnZpY2UgaW5jbHVkZXMgaW5zdXJhbmNlIGZvciBhbiBpbnN1cmVkIGFtb3VudCB1cCB0byAkNTAuCg==": string;
@@ -601,6 +607,7 @@ declare const _default: {
601
607
  QSBzaGlwcGluZyBjYXJyaWVyIGVycm9yIG9jY3VycmVkOiBVUFMgd2VpZ2h0IGxpbWl0IHBlciBwYWNrYWdlIGlzIDE1MCBsYnMu: string;
602
608
  UGxlYXNlIGFkZCBhIFN0YW1wcy5jb20gYWNjb3VudCB0byBTaGlwRW5naW5lIGluIG9yZGVyIHRvIGNyZWF0ZSBzaGlwcGluZyBsYWJlbHMu: string;
603
609
  QSBzaGlwcGluZyBlcnJvciBvY2N1cnJlZDogTWlzc2luZyBvciBpbnZhbGlkIHNoaXBwZXIgbnVtYmVy: string;
610
+ QSBzaGlwcGluZyBjYXJyaWVyIGVycm9yIG9jY3VycmVkOiBNaXNzaW5nIG9yIGludmFsaWQgc2hpcHBlciBuYW1l: string;
604
611
  "QSBzaGlwcGluZyBjYXJyaWVyIGVycm9yIG9jY3VycmVkOiBNaXNzaW5nIG9yIGludmFsaWQgc2hpcCB0byBTdGF0ZVByb3ZpbmNlQ29kZQ==": string;
605
612
  "QSBzaGlwcGluZyBjYXJyaWVyIGVycm9yIG9jY3VycmVkOiBJbnZhbGlkIHNvbGQgdG8gc3RhdGUgcHJvdmluY2UgY29kZS4gVmFsaWQgbGVuZ3RoIGlzIDAgdG8gNSBhbHBoYW51bWVyaWM=": string;
606
613
  };
@@ -1,6 +1,10 @@
1
1
  import { z } from "zod";
2
2
  import { SE } from "@shipengine/alchemy";
3
3
  /**
4
+ * @internal
5
+ *
6
+ * # Money Schema
7
+ *
4
8
  * @category Form Validation
5
9
  */
6
10
  export declare const moneySchema: z.ZodObject<{
@@ -1,10 +1,18 @@
1
1
  import { CountryCode } from "libphonenumber-js/min";
2
2
  import { z } from "zod";
3
3
  /**
4
+ * @internal
5
+ *
6
+ * # Phone utils
7
+ *
4
8
  * @category Form Validation
5
9
  */
6
10
  export declare const phoneSchema: (defaultCountryCode?: CountryCode) => z.ZodEffects<z.ZodString, string, string>;
7
11
  /**
12
+ * @internal
13
+ *
14
+ * # Phone utils
15
+ *
8
16
  * @category Form Validation
9
17
  */
10
18
  export declare const phoneSchemaUnvalidated: z.ZodString;
@@ -1,4 +1,9 @@
1
1
  import { CarrierConnection, SE } from "@shipengine/alchemy";
2
+ /**
3
+ * @internal
4
+ *
5
+ * # Carrier Metadata - Terms
6
+ */
2
7
  export type CarrierTerm = {
3
8
  description: string;
4
9
  name: string;
@@ -6,11 +11,21 @@ export type CarrierTerm = {
6
11
  url: string;
7
12
  version: string;
8
13
  };
14
+ /**
15
+ * @internal
16
+ *
17
+ * # Carrier Metadata - Terms
18
+ */
9
19
  export type CarrierTerms = {
10
20
  content: string[];
11
21
  links: CarrierTerm[];
12
22
  title: string;
13
23
  };
24
+ /**
25
+ * @internal
26
+ *
27
+ * # Carrier Metadata
28
+ */
14
29
  export type CarrierMetadata = {
15
30
  carrierCode: CarrierConnection["carrierCode"];
16
31
  logo: string;
@@ -20,6 +35,11 @@ export type CarrierMetadata = {
20
35
  shortname: string;
21
36
  terms?: CarrierTerms;
22
37
  };
38
+ /**
39
+ * @internal
40
+ *
41
+ * # Carrier Metadata - Features
42
+ */
23
43
  export type CarriersFeatures = {
24
44
  enabledCarriers?: SE.Carrier["carrierCode"][];
25
45
  };
@@ -1,4 +1,8 @@
1
1
  /**
2
+ * @internal
3
+ *
4
+ * # Create Dictionary Utility Function
5
+ *
2
6
  * @category Utilities
3
7
  */
4
8
  export declare const createDictionary: <T extends object, U>(items: T[] | undefined, getEntry: (item: T, partialResults: Record<string, U | undefined>) => Record<string, U | undefined>) => Record<string, U | undefined>;
@@ -1,42 +1,92 @@
1
1
  /**
2
+ * @internal
3
+ *
4
+ * # Date Utils - getDaysInMonth
5
+ *
2
6
  * @category Utilities
3
7
  */
4
8
  export declare const formatDate: (date: string, locale?: string) => string;
5
9
  /**
10
+ * @internal
11
+ *
12
+ * # Date Utils - formatDateDDMMYY
13
+ *
6
14
  * @category Utilities
7
15
  */
8
16
  export declare const formatDateDDMMYY: (date: string, locale?: string) => string;
9
17
  /**
18
+ * @internal
19
+ *
20
+ * # Date Utils - getDaysInMonth
21
+ *
10
22
  * @category Utilities
11
23
  */
12
24
  export declare const daysAfter: (days: number, date?: Date) => Date;
13
25
  /**
26
+ * @internal
27
+ *
28
+ * # Date Utils - getDaysInMonth
29
+ *
14
30
  * @category Utilities
15
31
  */
16
32
  export declare const nextDayCutoff: (cutoff: number, date?: Date) => Date;
17
33
  /**
34
+ * @internal
35
+ *
36
+ * # Date Utils - getDaysInMonth
37
+ *
18
38
  * @category Utilities
19
39
  */
20
40
  export declare const mostRecent: (...dates: Date[]) => Date;
21
41
  /**
42
+ * @internal
43
+ *
44
+ * # Date Utils - getDaysInMonth
45
+ *
22
46
  * @category Utilities
23
47
  */
24
48
  export declare const omitTime: (shipDate?: string) => Date;
25
49
  /**
50
+ * @internal
51
+ *
52
+ * # Date Utils - getExpirationYears
53
+ *
26
54
  * @category Utilities
27
55
  */
28
56
  export declare const getExpirationYears: (yearsValid: number) => string[];
29
57
  /**
58
+ * @internal
59
+ *
60
+ * # Date Utilities - HasCreationDate Type
61
+ *
30
62
  * @category Utilities
31
63
  */
32
- type HasCreationDate = {
64
+ export type HasCreationDate = {
33
65
  createdAt: string;
34
66
  };
67
+ /**
68
+ * @internal
69
+ *
70
+ * # Date Utilities - sortByCreationDate
71
+ *
72
+ * @category Utilities
73
+ */
35
74
  export declare const sortByCreationDate: (a: HasCreationDate, b: HasCreationDate, order?: "asc" | "desc") => number;
36
75
  /**
76
+ * @internal
77
+ *
78
+ * # Date Utilities - isNowOrInTheFuture
79
+ *
37
80
  * @category Utilities
38
81
  */
39
82
  export declare const isNowOrInTheFuture: (shipDate?: string) => boolean;
83
+ /**
84
+ * @internal
85
+ *
86
+ * # Date Utilities - getRelativeDates
87
+ *
88
+ * @category Utilities
89
+ */
40
90
  export declare const getRelativeDates: (from?: Date) => {
41
91
  firstDayOfMonth: Date;
42
92
  lastDayOfTheMonth: Date;
@@ -45,4 +95,3 @@ export declare const getRelativeDates: (from?: Date) => {
45
95
  previousMonthLastDay: Date;
46
96
  thirtyDaysAgo: Date;
47
97
  };
48
- export {};
@@ -1,5 +1,11 @@
1
1
  import { SE } from "@shipengine/alchemy";
2
2
  /**
3
+ * @internal
4
+ *
5
+ * # Create Coded Errors Utlity Function
6
+ *
7
+ * - This function extracts errors from our `Axios Responses`.
8
+ *
3
9
  * @category Utilities
4
10
  */
5
11
  export declare const createCodedErrors: (err: any) => any;
@@ -7,11 +13,19 @@ type HasMessage = {
7
13
  message: string;
8
14
  };
9
15
  /**
10
- * Joins a list of error-like object's messages and throws them as a single error.
16
+ * @internal
17
+ *
18
+ * - Joins a list of error-like object's messages and throws them as a single error.
19
+ *
20
+ * @category Utilities
11
21
  */
12
22
  export declare function throwJoinedMessages(errors: HasMessage[]): never;
13
23
  /**
14
- * If any CodedErrors exist, throw them all as a single error, otherwise assert errors is null.
24
+ * @internal
25
+ *
26
+ * - If any CodedErrors exist, throw them all as a single error, otherwise assert errors is null.
27
+ *
28
+ * @category Utilities
15
29
  */
16
30
  export declare function throwAny(errors: SE.CodedError[] | null): asserts errors is null;
17
31
  export {};
@@ -1,3 +1,184 @@
1
+ /**
2
+ * @namespace featureFlags
3
+ *
4
+ * - The `featureFlags` namespace contains all the feature flags available throughout the
5
+ * application. All features are scoped by name to the component they are intended for.
6
+ *
7
+ * @example
8
+ * ```tsx
9
+ * export const featureFlags = {
10
+ * ConfigureSalesOrderShipment: {
11
+ * compatibleCountryCodes: ["AU", "CA", "FR", "DE", "GB", "IL", "IT", "NO", "ES", "SE", "US"],
12
+ * rateForm: {
13
+ * enableFunding: false,
14
+ * enableGlobalPostFiltering: false,
15
+ * labelLayout: false,
16
+ * nicknameRate: true,
17
+ * saveRate: true,
18
+ * },
19
+ * shipmentForm: {
20
+ * browseRates: true,
21
+ * includeShipsuranceInsurance: true,
22
+ * includeThirdPartyInsurance: true,
23
+ * selectService: true,
24
+ * shippingPresets: false,
25
+ * },
26
+ * },
27
+ * Global: {
28
+ * carriers: {
29
+ * enabledCarriers: ["stamps_com", "ups", "dhl_express_walleted"],
30
+ * },
31
+ * presentation: {
32
+ * poweredByShipEngine: false,
33
+ * },
34
+ * },
35
+ * ViewShipment: {
36
+ * shipment: {
37
+ * schedulePickup: true,
38
+ * },
39
+ * },
40
+ * } as const;
41
+ * ```
42
+ */
43
+ export declare const featureFlags: {
44
+ /**
45
+ * `ConfigureSalesOrderShipment` all scoped feature flags for the shipment configuration
46
+ * section of the `<PurchaseLabel />` element.
47
+ */
48
+ readonly ConfigureSalesOrderShipment: {
49
+ /**
50
+ * `compatibleCountryCodes` is a list of all supported `countries` available in ShipEngine
51
+ * Elements.
52
+ */
53
+ readonly compatibleCountryCodes: readonly ["AU", "CA", "FR", "DE", "GB", "IL", "IT", "NO", "ES", "SE", "US"];
54
+ /**
55
+ * `rateForm` all scoped feature flags for the `rate form` section of the `<PurchaseLabel />`
56
+ * element.
57
+ */
58
+ readonly rateForm: {
59
+ /**
60
+ * `enableFunding` enables the `funding` section of the rate form.
61
+ */
62
+ readonly enableFunding: false;
63
+ /**
64
+ * `enableGlobalPostFiltering` enables the `global post filtering` on all rates fetched
65
+ * in the rates form.
66
+ */
67
+ readonly enableGlobalPostFiltering: false;
68
+ /**
69
+ * `labelLayout` enables the `label layout` section of the `<PurchaseLabel /> element.
70
+ */
71
+ readonly labelLayout: false;
72
+ /**
73
+ * `nicknameRate` enables showing the `carrier nickname` when rates are fetched.
74
+ */
75
+ readonly nicknameRate: true;
76
+ readonly requireDhlTermsAcknowledgement: false;
77
+ /**
78
+ * `saveRate` enables the `save rate` button in the rate form. This allows users to save a
79
+ * `rateId` for a shipment to be purchased later.
80
+ */
81
+ readonly saveRate: true;
82
+ };
83
+ /**
84
+ * `shipmentForm` all scoped feature flags for the `shipment form` section of the
85
+ * `<PurchaseLabel />` element.
86
+ */
87
+ readonly shipmentForm: {
88
+ /**
89
+ * `browseRates` enables the `browse rates` button in the shipment form. This allows users
90
+ * to browse rates for a shipment with varying shipment configurations. This is useful for
91
+ * rate shopping.
92
+ */
93
+ readonly browseRates: true;
94
+ /**
95
+ * `includeShipsuranceInsurance` enables the `shipsurance insurance` feature, allowing users
96
+ * to select Shipsurance when insuring their shipment.
97
+ */
98
+ readonly includeShipsuranceInsurance: true;
99
+ /**
100
+ * `includeThirdPartyInsurance` enables the `third party insurance` feature, allowing users
101
+ * to opt for third party insurance when insuring their shipment.
102
+ */
103
+ readonly includeThirdPartyInsurance: true;
104
+ /**
105
+ * `selectService` enables the `select service` feature, allowing users to select a service
106
+ * when rate shopping across multiple carrier providers.
107
+ */
108
+ readonly selectService: true;
109
+ /**
110
+ * `shippingPresets` enables the `shipping presets` feature, allowing users to pass in a set
111
+ * of shipping presets they wish to use within the shipment form of the `<PurchaseLabel />`
112
+ * element.
113
+ */
114
+ readonly shippingPresets: false;
115
+ };
116
+ };
117
+ /**
118
+ * `Global` all feature flags that are intended for use anywhere in ShipEngine Elements.
119
+ */
120
+ readonly Global: {
121
+ /**
122
+ * All global `carrier` related feature flags.
123
+ */
124
+ readonly carriers: {
125
+ /**
126
+ * `enabledCarriers` is a list of all `carriers` that are enabled for use in ShipEngine
127
+ * Elements.
128
+ */
129
+ readonly enabledCarriers: readonly ["stamps_com", "ups", "dhl_express_walleted"];
130
+ };
131
+ /**
132
+ * All global `presentation` related feature flags.
133
+ */
134
+ readonly presentation: {
135
+ /**
136
+ * `poweredByShipEngine` enables the `powered by ShipEngine` logo in the footer various
137
+ * elements.
138
+ */
139
+ readonly poweredByShipEngine: false;
140
+ };
141
+ };
142
+ /**
143
+ * `ViewShipment` all scoped feature flags for the `<ViewShipment />` element.
144
+ */
145
+ readonly ViewShipment: {
146
+ /**
147
+ * `shipment` all shipment related features available in the `<ViewShipment />` element.
148
+ */
149
+ readonly shipment: {
150
+ /**
151
+ * `schedulePickup` enables the `schedule pickup` button in the `<ViewShipment />` element,
152
+ * allowing users to schedule pick-ups for their shipments.
153
+ */
154
+ readonly schedulePickup: true;
155
+ };
156
+ };
157
+ };
158
+ /**
159
+ * @internal
160
+ *
161
+ * # Feature Flags - featureFlagComponentNameLookup
162
+ */
1
163
  export declare const featureFlagComponentNameLookup: (componentName: string) => string;
164
+ /**
165
+ * @internal
166
+ *
167
+ * # Feature Flags - getFeatures
168
+ */
2
169
  export declare const getFeatures: (...element: string[]) => any;
170
+ /**
171
+ * # Feature Flags - useFeatures
172
+ *
173
+ * - The `useFeatures` hook is used to retrieve the feature flags for a given component.
174
+ *
175
+ * @example
176
+ * ```tsx
177
+ * const features = useFeatures("Global");
178
+ * ```
179
+ *
180
+ * <br />
181
+ *
182
+ * @see {@link featureFlags | All available `Feature Flags`}
183
+ */
3
184
  export declare const useFeatures: (...element: string[]) => any;
@@ -1,5 +1,9 @@
1
1
  import { FieldValues, ResolverResult, UseFormHandleSubmit } from "react-hook-form";
2
2
  /**
3
+ * @internal
4
+ *
5
+ * # Form Logger
6
+ *
3
7
  * @description
4
8
  * This will log the values that are submitted to the validation resolver
5
9
  * (only REGISTERED form fields) and the results of that validation.
@@ -1,6 +1,7 @@
1
1
  export * from "./create-dictionary";
2
2
  export * from "./date";
3
3
  export * from "./error";
4
+ export * from "./feature-flags";
4
5
  export * from "./form-logger";
5
6
  export * from "./money";
6
7
  export * from "./predicates";
@@ -9,4 +10,3 @@ export * from "./shipengine";
9
10
  export * from "./string";
10
11
  export * from "./styles";
11
12
  export * from "./validation";
12
- export * from "./feature-flags";
@@ -1,6 +1,31 @@
1
1
  import { SE } from "@shipengine/alchemy";
2
+ /**
3
+ * @internal
4
+ *
5
+ * # Money Utils - currency Symbol
6
+ */
2
7
  export declare const currencySymbol: Record<SE.Currency, string>;
8
+ /**
9
+ * @internal
10
+ *
11
+ * # Money Utils - formatMoney
12
+ */
3
13
  export declare const formatMoney: (value: SE.Money, locale?: string) => string;
14
+ /**
15
+ * @internal
16
+ *
17
+ * # Money Utils - calculateTotal
18
+ */
4
19
  export declare const calculateTotal: (...values: SE.Money[]) => number;
20
+ /**
21
+ * @internal
22
+ *
23
+ * # Money Utils - formatCreditCardNumber
24
+ */
5
25
  export declare const formatCreditCardNumber: (cc: string) => string;
26
+ /**
27
+ * @internal
28
+ *
29
+ * # Money Utils - formatExpiration
30
+ */
6
31
  export declare const formatExpiration: (exp: string) => string;
@@ -1 +1,8 @@
1
+ /**
2
+ * @internal
3
+ *
4
+ * # String Predicate Utilities
5
+ *
6
+ * @category Utilities
7
+ */
1
8
  export declare const isString: (x: unknown) => x is string;
@@ -1,5 +1,19 @@
1
1
  import { SE } from "@shipengine/alchemy";
2
- export declare const getRateRequiresAcknowledgement: (serviceCode: string, packageType: string) => boolean;
2
+ /**
3
+ * @internal
4
+ *
5
+ * # Rates Utilities - getRateRequiresAcknowledgement
6
+ *
7
+ * @category Utilities
8
+ */
9
+ export declare const getRateRequiresAcknowledgement: (serviceCode: string, packageType: string, requireDhlTermsAcknowledgement: boolean) => boolean;
10
+ /**
11
+ * @internal
12
+ *
13
+ * # Rates Utilities - getTotalRateAmount
14
+ *
15
+ * @category Utilities
16
+ */
3
17
  export declare const getTotalRateAmount: (rateCosts?: {
4
18
  confirmationAmount?: SE.Money;
5
19
  insuranceAmount?: SE.Money;
@@ -7,4 +21,11 @@ export declare const getTotalRateAmount: (rateCosts?: {
7
21
  shippingAmount?: SE.Money;
8
22
  taxAmount?: SE.Money;
9
23
  }) => number;
24
+ /**
25
+ * @internal
26
+ *
27
+ * # Rates Utilities - overrideCarrierCodes
28
+ *
29
+ * @category Utilities
30
+ */
10
31
  export declare const overrideCarrierCodes: (carrier: string, overrides: object) => never;