@shipengine/elements 2.24.1 → 2.25.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 (206) hide show
  1. package/README.md +187 -6
  2. package/dist/cjs/components/field/credit-card-input/credit-card-input.cjs +46 -29
  3. package/dist/cjs/components/field/rate-select/rate-card/rate-card.cjs +29 -5
  4. package/dist/cjs/components/field/rate-select/rate-card/rate-card.styles.cjs +8 -3
  5. package/dist/cjs/components/field/rate-select/rate-select.cjs +26 -5
  6. package/dist/cjs/components/forms/address-form/address-form-schema.cjs +3 -3
  7. package/dist/cjs/components/forms/edit-billing-form/edit-billing-form.cjs +57 -4
  8. package/dist/cjs/components/service-card/service-card.cjs +4 -4
  9. package/dist/cjs/components/service-card/service-card.styles.cjs +5 -2
  10. package/dist/cjs/components/service-point-display/service-point-display.cjs +1 -36
  11. package/dist/cjs/components/service-point-display/service-point-display.styles.cjs +0 -12
  12. package/dist/cjs/components/shipment-not-found-error/index.cjs +7 -0
  13. package/dist/cjs/components/shipment-not-found-error/shipment-not-found-error.cjs +40 -0
  14. package/dist/cjs/components/shipment-not-found-error/shipment-not-found-error.styles.cjs +24 -0
  15. package/dist/cjs/components/suspend-purchase/suspend-purchase.cjs +11 -3
  16. package/dist/cjs/elements/purchase-label/components/rate-form/rate-form.cjs +13 -3
  17. package/dist/cjs/elements/purchase-label/components/rate-form/rate-schema.cjs +7 -2
  18. package/dist/cjs/elements/purchase-label/components/rate-form/rate-view.cjs +2 -0
  19. package/dist/cjs/elements/purchase-label/hooks/use-rate-options.cjs +31 -2
  20. package/dist/cjs/elements/purchase-label/hooks/use-rates-form.cjs +14 -18
  21. package/dist/cjs/elements/purchase-label/hooks/use-request-rates.cjs +20 -20
  22. package/dist/cjs/elements/purchase-label/purchase-label.cjs +4 -1
  23. package/dist/cjs/elements/shipment-summary/components/label-display/label-card.cjs +16 -31
  24. package/dist/cjs/elements/shipment-summary/components/label-display/label-card.styles.cjs +0 -19
  25. package/dist/cjs/elements/shipment-summary/components/label-display/paperless-label-display.cjs +54 -0
  26. package/dist/cjs/elements/shipment-summary/components/label-display/paperless-label-display.styles.cjs +27 -0
  27. package/dist/cjs/features/payment-method-settings/payment-method-settings.cjs +56 -18
  28. package/dist/cjs/hooks/use-configure-shipment.cjs +32 -11
  29. package/dist/cjs/hooks/use-helpers.cjs +4 -1
  30. package/dist/cjs/index.cjs +15 -12
  31. package/dist/cjs/locales/en/account-settings.json.cjs +6 -0
  32. package/dist/cjs/locales/en/common.json.cjs +2 -0
  33. package/dist/cjs/locales/en/purchase-label.json.cjs +5 -3
  34. package/dist/cjs/package.json.cjs +1 -1
  35. package/dist/cjs/utilities/address.cjs +29 -0
  36. package/dist/cjs/utilities/index.cjs +3 -0
  37. package/dist/cjs/utilities/money.cjs +14 -0
  38. package/dist/cjs/utilities/rate-warning-messages.cjs +25 -0
  39. package/dist/cjs/utilities/shipengine/warehouses.cjs +2 -1
  40. package/dist/cjs/workflows/connect-external-carrier/connect-external-carrier.cjs +7 -3
  41. package/dist/cjs/workflows/label-workflow/label-workflow.cjs +11 -3
  42. package/dist/cjs/workflows/onboarding/components/confirmation-and-submission-step/confirmation-and-submission-step.cjs +1 -1
  43. package/dist/cjs/workflows/onboarding/components/confirmation-and-submission-step/use-confirmation-and-submission-step.cjs +17 -1
  44. package/dist/cjs/workflows/onboarding/components/onboarding-wizard/onboarding-wizard.cjs +4 -1
  45. package/dist/cjs/workflows/onboarding/components/terms-agreement-form/terms-agreement-form.cjs +4 -1
  46. package/dist/cjs/workflows/onboarding/components/terms-agreement-step/terms-agreement-step.cjs +14 -3
  47. package/dist/cjs/workflows/onboarding/components/terms-agreement-step/use-terms-agreement-step.cjs +12 -12
  48. package/dist/esm/components/field/credit-card-input/credit-card-input.js +47 -30
  49. package/dist/esm/components/field/rate-select/rate-card/rate-card.js +30 -6
  50. package/dist/esm/components/field/rate-select/rate-card/rate-card.styles.js +8 -3
  51. package/dist/esm/components/field/rate-select/rate-select.js +26 -5
  52. package/dist/esm/components/forms/address-form/address-form-schema.js +3 -3
  53. package/dist/esm/components/forms/edit-billing-form/edit-billing-form.js +58 -5
  54. package/dist/esm/components/service-card/service-card.js +4 -4
  55. package/dist/esm/components/service-card/service-card.styles.js +5 -2
  56. package/dist/esm/components/service-point-display/service-point-display.js +2 -37
  57. package/dist/esm/components/service-point-display/service-point-display.styles.js +0 -12
  58. package/dist/esm/components/shipment-not-found-error/index.js +1 -0
  59. package/dist/esm/components/shipment-not-found-error/shipment-not-found-error.js +38 -0
  60. package/dist/esm/components/shipment-not-found-error/shipment-not-found-error.styles.js +22 -0
  61. package/dist/esm/components/suspend-purchase/suspend-purchase.js +11 -3
  62. package/dist/esm/elements/purchase-label/components/rate-form/rate-form.js +14 -4
  63. package/dist/esm/elements/purchase-label/components/rate-form/rate-schema.js +7 -2
  64. package/dist/esm/elements/purchase-label/components/rate-form/rate-view.js +2 -0
  65. package/dist/esm/elements/purchase-label/hooks/use-rate-options.js +31 -2
  66. package/dist/esm/elements/purchase-label/hooks/use-rates-form.js +14 -18
  67. package/dist/esm/elements/purchase-label/hooks/use-request-rates.js +20 -20
  68. package/dist/esm/elements/purchase-label/purchase-label.js +4 -1
  69. package/dist/esm/elements/shipment-summary/components/label-display/label-card.js +18 -33
  70. package/dist/esm/elements/shipment-summary/components/label-display/label-card.styles.js +0 -19
  71. package/dist/esm/elements/shipment-summary/components/label-display/paperless-label-display.js +52 -0
  72. package/dist/esm/elements/shipment-summary/components/label-display/paperless-label-display.styles.js +25 -0
  73. package/dist/esm/features/payment-method-settings/payment-method-settings.js +57 -19
  74. package/dist/esm/hooks/use-configure-shipment.js +33 -12
  75. package/dist/esm/hooks/use-helpers.js +4 -1
  76. package/dist/esm/index.js +1 -0
  77. package/dist/esm/locales/en/account-settings.json.js +6 -0
  78. package/dist/esm/locales/en/common.json.js +2 -0
  79. package/dist/esm/locales/en/purchase-label.json.js +5 -3
  80. package/dist/esm/package.json.js +1 -1
  81. package/dist/esm/utilities/address.js +26 -0
  82. package/dist/esm/utilities/index.js +1 -0
  83. package/dist/esm/utilities/money.js +14 -1
  84. package/dist/esm/utilities/rate-warning-messages.js +23 -0
  85. package/dist/esm/utilities/shipengine/warehouses.js +2 -1
  86. package/dist/esm/workflows/connect-external-carrier/connect-external-carrier.js +7 -3
  87. package/dist/esm/workflows/label-workflow/label-workflow.js +11 -3
  88. package/dist/esm/workflows/onboarding/components/confirmation-and-submission-step/confirmation-and-submission-step.js +1 -1
  89. package/dist/esm/workflows/onboarding/components/confirmation-and-submission-step/use-confirmation-and-submission-step.js +17 -1
  90. package/dist/esm/workflows/onboarding/components/onboarding-wizard/onboarding-wizard.js +4 -1
  91. package/dist/esm/workflows/onboarding/components/terms-agreement-form/terms-agreement-form.js +4 -1
  92. package/dist/esm/workflows/onboarding/components/terms-agreement-step/terms-agreement-step.js +14 -3
  93. package/dist/esm/workflows/onboarding/components/terms-agreement-step/use-terms-agreement-step.js +12 -12
  94. package/dist/types/components/field/credit-card-input/credit-card-input.d.ts.map +1 -1
  95. package/dist/types/components/field/rate-select/rate-card/rate-card.d.ts +4 -2
  96. package/dist/types/components/field/rate-select/rate-card/rate-card.d.ts.map +1 -1
  97. package/dist/types/components/field/rate-select/rate-card/rate-card.styles.d.ts +7 -2
  98. package/dist/types/components/field/rate-select/rate-card/rate-card.styles.d.ts.map +1 -1
  99. package/dist/types/components/field/rate-select/rate-select.d.ts +1 -0
  100. package/dist/types/components/field/rate-select/rate-select.d.ts.map +1 -1
  101. package/dist/types/components/forms/address-form/address-form-schema.d.ts.map +1 -1
  102. package/dist/types/components/forms/edit-billing-form/edit-billing-form.d.ts +2 -1
  103. package/dist/types/components/forms/edit-billing-form/edit-billing-form.d.ts.map +1 -1
  104. package/dist/types/components/service-card/service-card.d.ts +1 -1
  105. package/dist/types/components/service-card/service-card.d.ts.map +1 -1
  106. package/dist/types/components/service-card/service-card.styles.d.ts +4 -1
  107. package/dist/types/components/service-card/service-card.styles.d.ts.map +1 -1
  108. package/dist/types/components/service-point-display/service-point-display.d.ts.map +1 -1
  109. package/dist/types/components/service-point-display/service-point-display.styles.d.ts +0 -12
  110. package/dist/types/components/service-point-display/service-point-display.styles.d.ts.map +1 -1
  111. package/dist/types/components/shipment-not-found-error/index.d.ts +2 -0
  112. package/dist/types/components/shipment-not-found-error/index.d.ts.map +1 -0
  113. package/dist/types/components/shipment-not-found-error/shipment-not-found-error.d.ts +6 -0
  114. package/dist/types/components/shipment-not-found-error/shipment-not-found-error.d.ts.map +1 -0
  115. package/dist/types/components/shipment-not-found-error/shipment-not-found-error.styles.d.ts +19 -0
  116. package/dist/types/components/shipment-not-found-error/shipment-not-found-error.styles.d.ts.map +1 -0
  117. package/dist/types/components/suspend-purchase/suspend-purchase.d.ts +4 -2
  118. package/dist/types/components/suspend-purchase/suspend-purchase.d.ts.map +1 -1
  119. package/dist/types/elements/labels-grid/labels-grid.d.ts +11 -1
  120. package/dist/types/elements/labels-grid/labels-grid.d.ts.map +1 -1
  121. package/dist/types/elements/manage-carriers/manage-carriers.d.ts +11 -1
  122. package/dist/types/elements/manage-carriers/manage-carriers.d.ts.map +1 -1
  123. package/dist/types/elements/manage-external-carriers/manage-external-carriers.d.ts +11 -1
  124. package/dist/types/elements/manage-external-carriers/manage-external-carriers.d.ts.map +1 -1
  125. package/dist/types/elements/manage-funding/manage-funding-element.d.ts +11 -1
  126. package/dist/types/elements/manage-funding/manage-funding-element.d.ts.map +1 -1
  127. package/dist/types/elements/manage-warehouses/manage-warehouses.d.ts +11 -1
  128. package/dist/types/elements/manage-warehouses/manage-warehouses.d.ts.map +1 -1
  129. package/dist/types/elements/payment-method-settings/payment-method-settings-element.d.ts +11 -1
  130. package/dist/types/elements/payment-method-settings/payment-method-settings-element.d.ts.map +1 -1
  131. package/dist/types/elements/purchase-label/components/rate-form/rate-form.d.ts +1 -1
  132. package/dist/types/elements/purchase-label/components/rate-form/rate-form.d.ts.map +1 -1
  133. package/dist/types/elements/purchase-label/components/rate-form/rate-schema.d.ts +10 -1
  134. package/dist/types/elements/purchase-label/components/rate-form/rate-schema.d.ts.map +1 -1
  135. package/dist/types/elements/purchase-label/components/rate-form/rate-view.d.ts +2 -1
  136. package/dist/types/elements/purchase-label/components/rate-form/rate-view.d.ts.map +1 -1
  137. package/dist/types/elements/purchase-label/hooks/use-rate-options.d.ts.map +1 -1
  138. package/dist/types/elements/purchase-label/hooks/use-rates-form.d.ts +2 -2
  139. package/dist/types/elements/purchase-label/hooks/use-rates-form.d.ts.map +1 -1
  140. package/dist/types/elements/purchase-label/hooks/use-request-rates.d.ts.map +1 -1
  141. package/dist/types/elements/purchase-label/purchase-label.d.ts +11 -1
  142. package/dist/types/elements/purchase-label/purchase-label.d.ts.map +1 -1
  143. package/dist/types/elements/select-label-layout/select-label-layout-element.d.ts +11 -1
  144. package/dist/types/elements/select-label-layout/select-label-layout-element.d.ts.map +1 -1
  145. package/dist/types/elements/shipment-summary/components/label-display/label-card.d.ts.map +1 -1
  146. package/dist/types/elements/shipment-summary/components/label-display/label-card.styles.d.ts +0 -19
  147. package/dist/types/elements/shipment-summary/components/label-display/label-card.styles.d.ts.map +1 -1
  148. package/dist/types/elements/shipment-summary/components/label-display/paperless-label-display.d.ts +8 -0
  149. package/dist/types/elements/shipment-summary/components/label-display/paperless-label-display.d.ts.map +1 -0
  150. package/dist/types/elements/shipment-summary/components/label-display/paperless-label-display.styles.d.ts +22 -0
  151. package/dist/types/elements/shipment-summary/components/label-display/paperless-label-display.styles.d.ts.map +1 -0
  152. package/dist/types/elements/shipment-summary/shipment-summary.d.ts +11 -1
  153. package/dist/types/elements/shipment-summary/shipment-summary.d.ts.map +1 -1
  154. package/dist/types/elements/shipments-grid/hooks/use-shipments-grid.d.ts.map +1 -1
  155. package/dist/types/elements/shipments-grid/shipments-grid.d.ts +11 -1
  156. package/dist/types/elements/shipments-grid/shipments-grid.d.ts.map +1 -1
  157. package/dist/types/elements/theme-creator/theme-creator.d.ts +11 -1
  158. package/dist/types/elements/theme-creator/theme-creator.d.ts.map +1 -1
  159. package/dist/types/elements/transaction-history/transaction-history-element.d.ts +11 -1
  160. package/dist/types/elements/transaction-history/transaction-history-element.d.ts.map +1 -1
  161. package/dist/types/elements/unit-settings/unit-settings-element.d.ts +11 -1
  162. package/dist/types/elements/unit-settings/unit-settings-element.d.ts.map +1 -1
  163. package/dist/types/elements/vat-settings/vat-settings-element.d.ts +11 -1
  164. package/dist/types/elements/vat-settings/vat-settings-element.d.ts.map +1 -1
  165. package/dist/types/elements/void-label/void-label.d.ts +11 -1
  166. package/dist/types/elements/void-label/void-label.d.ts.map +1 -1
  167. package/dist/types/features/payment-method-settings/payment-method-settings.d.ts.map +1 -1
  168. package/dist/types/hooks/use-configure-shipment.d.ts +1 -0
  169. package/dist/types/hooks/use-configure-shipment.d.ts.map +1 -1
  170. package/dist/types/hooks/use-helpers.d.ts +2 -0
  171. package/dist/types/hooks/use-helpers.d.ts.map +1 -1
  172. package/dist/types/index.d.ts +1 -1
  173. package/dist/types/index.d.ts.map +1 -1
  174. package/dist/types/locales/en/index.d.ts +11 -1
  175. package/dist/types/locales/en/index.d.ts.map +1 -1
  176. package/dist/types/types/rates.d.ts +1 -0
  177. package/dist/types/types/rates.d.ts.map +1 -1
  178. package/dist/types/utilities/address.d.ts +21 -0
  179. package/dist/types/utilities/address.d.ts.map +1 -0
  180. package/dist/types/utilities/feature-flags/types.d.ts +1 -1
  181. package/dist/types/utilities/feature-flags/types.d.ts.map +1 -1
  182. package/dist/types/utilities/index.d.ts +1 -0
  183. package/dist/types/utilities/index.d.ts.map +1 -1
  184. package/dist/types/utilities/money.d.ts +6 -0
  185. package/dist/types/utilities/money.d.ts.map +1 -1
  186. package/dist/types/utilities/rate-warning-messages.d.ts +15 -0
  187. package/dist/types/utilities/rate-warning-messages.d.ts.map +1 -0
  188. package/dist/types/workflows/account-settings/account-settings.d.ts +11 -1
  189. package/dist/types/workflows/account-settings/account-settings.d.ts.map +1 -1
  190. package/dist/types/workflows/carrier-services/carrier-services.d.ts +11 -1
  191. package/dist/types/workflows/carrier-services/carrier-services.d.ts.map +1 -1
  192. package/dist/types/workflows/connect-external-carrier/connect-external-carrier.d.ts +11 -1
  193. package/dist/types/workflows/connect-external-carrier/connect-external-carrier.d.ts.map +1 -1
  194. package/dist/types/workflows/label-workflow/label-workflow.d.ts +11 -1
  195. package/dist/types/workflows/label-workflow/label-workflow.d.ts.map +1 -1
  196. package/dist/types/workflows/onboarding/components/confirmation-and-submission-step/use-confirmation-and-submission-step.d.ts.map +1 -1
  197. package/dist/types/workflows/onboarding/components/onboarding-wizard/onboarding-wizard.d.ts.map +1 -1
  198. package/dist/types/workflows/onboarding/components/terms-agreement-form/terms-agreement-form.d.ts +2 -1
  199. package/dist/types/workflows/onboarding/components/terms-agreement-form/terms-agreement-form.d.ts.map +1 -1
  200. package/dist/types/workflows/onboarding/components/terms-agreement-step/terms-agreement-step.d.ts +3 -1
  201. package/dist/types/workflows/onboarding/components/terms-agreement-step/terms-agreement-step.d.ts.map +1 -1
  202. package/dist/types/workflows/onboarding/components/terms-agreement-step/use-terms-agreement-step.d.ts +1 -0
  203. package/dist/types/workflows/onboarding/components/terms-agreement-step/use-terms-agreement-step.d.ts.map +1 -1
  204. package/dist/types/workflows/onboarding/onboarding.d.ts +11 -1
  205. package/dist/types/workflows/onboarding/onboarding.d.ts.map +1 -1
  206. package/package.json +3 -3
@@ -19,18 +19,6 @@ const styles = styles$1.createStyles({
19
19
  gap: styles$1.scopeTheme(theme).spacing(1),
20
20
  justifyContent: "space-between"
21
21
  }),
22
- paperlessIcon: theme => ({
23
- color: styles$1.scopeTheme(theme).palette.gray[600],
24
- paddingRight: "4px"
25
- }),
26
- paperlessText: theme => ({
27
- color: styles$1.scopeTheme(theme).palette.gray[600],
28
- paddingLeft: styles$1.scopeTheme(theme).spacing(0.5)
29
- }),
30
- paperlessWrapper: () => ({
31
- display: "flex",
32
- marginBottom: "12px"
33
- }),
34
22
  selectButton: theme => ({
35
23
  backgroundColor: styles$1.scopeTheme(theme).palette.primary.main,
36
24
  borderRadius: styles$1.scopeTheme(theme).borderRadius.S,
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ var shipmentNotFoundError = require('./shipment-not-found-error.cjs');
4
+
5
+
6
+
7
+ exports.ShipmentNotFoundError = shipmentNotFoundError.ShipmentNotFoundError;
@@ -0,0 +1,40 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('@emotion/react/jsx-runtime');
4
+ var giger = require('@shipengine/giger');
5
+ var gigerTheme = require('@shipengine/giger-theme');
6
+ var reactI18next = require('react-i18next');
7
+ var shipmentNotFoundError_styles = require('./shipment-not-found-error.styles.cjs');
8
+
9
+ const ShipmentNotFoundError = ({
10
+ shipmentId,
11
+ onCreateNewShipment
12
+ }) => {
13
+ const {
14
+ t
15
+ } = reactI18next.useTranslation(["common", "purchase-label"]);
16
+ return jsxRuntime.jsxs("div", {
17
+ css: shipmentNotFoundError_styles.styles.container,
18
+ children: [jsxRuntime.jsx("div", {
19
+ css: shipmentNotFoundError_styles.styles.iconContainer,
20
+ children: jsxRuntime.jsx(giger.Icon, {
21
+ name: gigerTheme.IconNames.CANCEL,
22
+ size: giger.IconSize.SIZE_LARGE
23
+ })
24
+ }), jsxRuntime.jsx("div", {
25
+ css: shipmentNotFoundError_styles.styles.message,
26
+ children: t("common:errorMessages.shipmentNotFound", {
27
+ id: shipmentId
28
+ })
29
+ }), jsxRuntime.jsx(giger.Button, {
30
+ "data-testid": "create-new-shipment",
31
+ onClick: () => {
32
+ void (onCreateNewShipment === null || onCreateNewShipment === void 0 ? void 0 : onCreateNewShipment());
33
+ },
34
+ type: "button",
35
+ children: t("purchase-label:actions.createNewShipment")
36
+ })]
37
+ });
38
+ };
39
+
40
+ exports.ShipmentNotFoundError = ShipmentNotFoundError;
@@ -0,0 +1,24 @@
1
+ 'use strict';
2
+
3
+ var styles$1 = require('../../utilities/styles.cjs');
4
+
5
+ const styles = styles$1.createStyles({
6
+ container: {
7
+ alignItems: "center",
8
+ display: "flex",
9
+ flexDirection: "column",
10
+ height: "100%",
11
+ justifyContent: "center",
12
+ textAlign: "center",
13
+ width: "100%"
14
+ },
15
+ iconContainer: theme => ({
16
+ color: styles$1.scopeTheme(theme).palette.error.main,
17
+ marginBottom: styles$1.scopeTheme(theme).spacing(2)
18
+ }),
19
+ message: theme => ({
20
+ marginBottom: styles$1.scopeTheme(theme).spacing(2)
21
+ })
22
+ });
23
+
24
+ exports.styles = styles;
@@ -2,13 +2,16 @@
2
2
 
3
3
  var jsxRuntime = require('@emotion/react/jsx-runtime');
4
4
  var reactI18next = require('react-i18next');
5
+ var shipmentNotFoundError = require('../shipment-not-found-error/shipment-not-found-error.cjs');
5
6
  var loader = require('../loader/loader.cjs');
6
7
 
7
8
  const SuspendPurchase = ({
8
9
  children,
9
10
  errors,
10
11
  isLoading,
11
- data
12
+ data,
13
+ onCreateNewShipment,
14
+ shipmentId
12
15
  }) => {
13
16
  const {
14
17
  t
@@ -17,7 +20,7 @@ const SuspendPurchase = ({
17
20
  message: t("loading.shipment")
18
21
  });
19
22
  if (errors) {
20
- errors.forEach(error => {
23
+ for (const error of errors) {
21
24
  switch (error.message) {
22
25
  case "no_carriers":
23
26
  throw new Error(t("common:errorMessages.incompleteLabelPurchaseRequirements", {
@@ -33,8 +36,13 @@ const SuspendPurchase = ({
33
36
  }));
34
37
  case "label_purchased":
35
38
  throw new Error(t("common:errorMessages.labelHasBeenPurchased"));
39
+ case "shipment_not_found":
40
+ return jsxRuntime.jsx(shipmentNotFoundError.ShipmentNotFoundError, {
41
+ onCreateNewShipment: onCreateNewShipment,
42
+ shipmentId: shipmentId
43
+ });
36
44
  }
37
- });
45
+ }
38
46
  throw new Error(errors.map(e => e.message).join(", "));
39
47
  }
40
48
  if (!data) throw new Error("errorMessages.unableToLoad.shipment");
@@ -64,19 +64,28 @@ const RateForm = ({
64
64
  defaultValues: {
65
65
  rate: {
66
66
  isAcknowledged: true,
67
- rateId: undefined
67
+ rateId: undefined,
68
+ labelDisplayScheme: undefined
68
69
  }
69
70
  },
70
71
  mode: "onChange",
71
72
  resolver: validation.validationResolver(rateSchema.rateSchema)
72
73
  });
74
+ const handlePaperlessAcknowledgementChange = React.useCallback((_usePaperlessLabel, labelDisplayScheme) => {
75
+ form.setValue("rate.labelDisplayScheme", labelDisplayScheme, {
76
+ shouldDirty: true
77
+ });
78
+ }, [form]);
73
79
  const {
74
80
  rateId: selectedRateId
75
81
  } = form.watch("rate");
76
82
  const handleSubmit = formLogger.formLogger.capture(form.handleSubmit(values => _tslib.__awaiter(void 0, void 0, void 0, function* () {
77
- const rateId = values;
83
+ const {
84
+ rateId,
85
+ labelDisplayScheme
86
+ } = values;
78
87
  try {
79
- yield onSubmit === null || onSubmit === void 0 ? void 0 : onSubmit(rateId, selectedServicePoint);
88
+ yield onSubmit === null || onSubmit === void 0 ? void 0 : onSubmit(rateId, selectedServicePoint, labelDisplayScheme);
80
89
  } finally {
81
90
  // Invalidate carrier queries after the rate form is submitted, regardless of success.
82
91
  // This allows the carrier balance to refresh if the purchase failed but funding succeeded.
@@ -179,6 +188,7 @@ const RateForm = ({
179
188
  form: form,
180
189
  isCalculatingRates: isCalculatingRates,
181
190
  isSavingRate: isSavingRate,
191
+ onPaperlessAcknowledgementChange: handlePaperlessAcknowledgementChange,
182
192
  onSelectRate: rateId => {
183
193
  const selectedRate = rateOptions.find(r => r.rateId === rateId);
184
194
  if (selectedRate) {
@@ -2,11 +2,16 @@
2
2
 
3
3
  var zod = require('zod');
4
4
 
5
+ const labelDisplaySchemeEnum = zod.z.enum(["label", "paperless", "qr_code", "label_and_paperless"]);
5
6
  const rateSchema = zod.z.object({
6
7
  rate: zod.z.object({
7
8
  isAcknowledged: zod.z.boolean().refine(v => v === true, "purchase-label:schemaErrors.needToAcknowledge"),
8
- rateId: zod.z.string()
9
+ rateId: zod.z.string(),
10
+ labelDisplayScheme: labelDisplaySchemeEnum.optional()
9
11
  })
10
- }).transform(schema => schema.rate.rateId);
12
+ }).transform(schema => ({
13
+ rateId: schema.rate.rateId,
14
+ labelDisplayScheme: schema.rate.labelDisplayScheme
15
+ }));
11
16
 
12
17
  exports.rateSchema = rateSchema;
@@ -23,6 +23,7 @@ const RateView = ({
23
23
  form,
24
24
  isCalculatingRates,
25
25
  isSavingRate,
26
+ onPaperlessAcknowledgementChange,
26
27
  onSelectRate,
27
28
  preferredServiceCodes,
28
29
  pudoServicePointDetails = {
@@ -196,6 +197,7 @@ const RateView = ({
196
197
  label: "Rate",
197
198
  name: "rate",
198
199
  onClick: onSelectRate,
200
+ onPaperlessAcknowledgementChange: onPaperlessAcknowledgementChange,
199
201
  onSelectServicePoint: onSelectServicePoint,
200
202
  options: showHiddenRates ? expandedRateOptionList : collapsedRateOptionList
201
203
  }, rateSelectCommonProps)), expandedRateOptionList.length > COLLAPSED_RATE_VIEW_LIMIT && jsxRuntime.jsx(linkAction.LinkAction, {
@@ -11,6 +11,22 @@ var useWindsorFramework = require('./use-windsor-framework.cjs');
11
11
  var pudo$1 = require('../../../types/pudo.cjs');
12
12
  var canadaDdp = require('../../../types/canada-ddp.cjs');
13
13
 
14
+ /* https://auctane.atlassian.net/browse/ENGINE-7329
15
+ * For iteration one we would hardcode services for which it will be available (in the future this data will be in the registry. We will change hardcoding then)
16
+ * carriersWithPaperless and servicesWithPaperless are hardcoded for iteration one
17
+ */
18
+ const hermesPaperlessSupportedServices = ["hermes_domestic_parcelshop_dropoff", "hermes_domestic_parcelshop_dropoff_next_day", "hermes_postable", "hermes_postable_next_day"];
19
+ const paperlessSupportedCarriers = [{
20
+ carrier: "hermes",
21
+ services: hermesPaperlessSupportedServices,
22
+ displaySchemes: ["label_and_paperless"]
23
+ }, {
24
+ carrier: "usps",
25
+ displaySchemes: ["qr_code"]
26
+ }, {
27
+ carrier: "stamps_com",
28
+ displaySchemes: ["qr_code"]
29
+ }];
14
30
  /**
15
31
  * @internal
16
32
  *
@@ -37,6 +53,17 @@ const useRateOptions = (rates$1, fundingOrigin, preferredRates, carriers, shipme
37
53
  var _a;
38
54
  return ((_a = shipment === null || shipment === void 0 ? void 0 : shipment.advancedOptions) === null || _a === void 0 ? void 0 : _a.canadaDeliveredDuty) === canadaDdp.CanadaDeliveredDutyOptions.SENDER_PREPAY;
39
55
  }, [(_a = shipment === null || shipment === void 0 ? void 0 : shipment.advancedOptions) === null || _a === void 0 ? void 0 : _a.canadaDeliveredDuty]);
56
+ const buildSupportedLabelDisplaySchemes = (carrierCode, serviceCode) => {
57
+ const carrier = paperlessSupportedCarriers.find(c => c.carrier === carrierCode);
58
+ if (!carrier || carrier.services && !carrier.services.includes(serviceCode)) {
59
+ return [];
60
+ }
61
+ // Only return USPS/stamps_com display schemes for domestic shipments
62
+ if ((carrierCode === 'usps' || carrierCode === 'stamps_com') && isInternational) {
63
+ return [];
64
+ }
65
+ return [...carrier.displaySchemes];
66
+ };
40
67
  const rateOptionsFilters = React.useCallback(carrierCode => {
41
68
  return (
42
69
  // Filter out non-USPS carriers for Canada Delivered Duty prepaid shipments
@@ -59,7 +86,8 @@ const useRateOptions = (rates$1, fundingOrigin, preferredRates, carriers, shipme
59
86
  messages: r.rate.warningMessages,
60
87
  rateAcknowledgementMessage: r.rateAcknowledgementMessage,
61
88
  requiresAcknowledgement: !!r.rateAcknowledgementMessage,
62
- requiresFundedAmount: false
89
+ requiresFundedAmount: false,
90
+ paperlessDisplaySchemes: buildSupportedLabelDisplaySchemes(r.rate.carrierCode, r.rate.serviceCode)
63
91
  }));
64
92
  }, [preferredRates, rateOptionsFilters]);
65
93
  const noRatesForServiceMessage = t("purchase-label:rates.noRateService");
@@ -75,7 +103,8 @@ const useRateOptions = (rates$1, fundingOrigin, preferredRates, carriers, shipme
75
103
  balance: fundingOrigin === null || fundingOrigin === void 0 ? void 0 : fundingOrigin.balance,
76
104
  messages: r.warningMessages,
77
105
  requiresAcknowledgement: rates.getRateRequiresAcknowledgement(r.serviceCode, r.packageType, !!requireDhlTermsAcknowledgement),
78
- requiresFundedAmount
106
+ requiresFundedAmount,
107
+ paperlessDisplaySchemes: buildSupportedLabelDisplaySchemes(r.carrierCode, r.serviceCode)
79
108
  });
80
109
  if (r.shippingAmount.amount === 0 && !r.warningMessages.includes(noRatesForServiceMessage)) {
81
110
  baseRateOption.messages.push(noRatesForServiceMessage);
@@ -14,11 +14,6 @@ var useRatesWithCache = require('./use-rates-with-cache.cjs');
14
14
  var useServicePoints = require('./use-service-points.cjs');
15
15
  var elementsContextProvider = require('../../../elements-provider/elements-context-provider.cjs');
16
16
 
17
- /* https://auctane.atlassian.net/browse/ENGINE-7329
18
- * For iteration one we would hardcode services for which it will be available (in the future this data will be in the registry. We will change hardcoding then)
19
- * carriersWithPaperless and servicesWithPaperless are hardcoded for iteration one
20
- */
21
- const servicesWithPaperless = ["hermes_domestic_parcelshop_dropoff", "hermes_domestic_parcelshop_dropoff_next_day", "hermes_postable", "hermes_postable_next_day"];
22
17
  const useRatesForm = ({
23
18
  getPreferredRates,
24
19
  disabledShippingServices,
@@ -91,17 +86,11 @@ const useRatesForm = ({
91
86
  listServicePointsErrors,
92
87
  servicePointSearchQuery
93
88
  } = useServicePoints.useServicePoints(ratesResponse === null || ratesResponse === void 0 ? void 0 : ratesResponse.rates, shipment);
94
- const isDisplaySchemePaperless = rate => {
95
- if ("hermes" === rate.carrierCode) {
96
- return !!servicesWithPaperless.find(service => service === rate.serviceCode);
97
- }
98
- return false;
99
- };
100
- const purchaseLabel = React.useCallback((rateId, shipment, rate, servicePoint) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
89
+ const purchaseLabel = React.useCallback((rateId, shipment, rate, servicePoint, displayScheme) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
101
90
  var _a;
102
91
  try {
103
92
  const label = yield createLabel({
104
- displayScheme: isDisplaySchemePaperless(rate) ? "label_and_paperless" : "label",
93
+ displayScheme: displayScheme !== null && displayScheme !== void 0 ? displayScheme : "label",
105
94
  labelDownloadType: "url",
106
95
  labelFormat: "pdf",
107
96
  labelLayout: (_a = printLabelLayout === null || printLabelLayout === void 0 ? void 0 : printLabelLayout.toLowerCase()) !== null && _a !== void 0 ? _a : "4x6",
@@ -114,8 +103,15 @@ const useRatesForm = ({
114
103
  } else {
115
104
  yield onLabelCreateFailure === null || onLabelCreateFailure === void 0 ? void 0 : onLabelCreateFailure(rate, shipment);
116
105
  }
117
- } catch (_b) {
118
- yield onLabelCreateFailure === null || onLabelCreateFailure === void 0 ? void 0 : onLabelCreateFailure(rate, shipment);
106
+ } catch (error) {
107
+ // Only return errors from the createLabel mutation in the callback
108
+ let callbackErrors;
109
+ if (Array.isArray(error)) {
110
+ if (error[0] instanceof reactApi.SE.CodedError) {
111
+ callbackErrors = error;
112
+ }
113
+ }
114
+ yield onLabelCreateFailure === null || onLabelCreateFailure === void 0 ? void 0 : onLabelCreateFailure(rate, shipment, callbackErrors);
119
115
  }
120
116
  }), [createLabel, onLabelCreateFailure, onLabelCreateSuccess, printLabelLayout]);
121
117
  const onUpdatedShipment = React.useCallback(shipment => _tslib.__awaiter(void 0, void 0, void 0, function* () {
@@ -189,7 +185,7 @@ const useRatesForm = ({
189
185
  return;
190
186
  }
191
187
  }), [onBeforeRateSaved, onUpdatedShipment, resetRates, shipment, updateShipment]);
192
- const handleSubmit = React.useCallback((rateId, servicePoint) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
188
+ const handleSubmit = React.useCallback((rateId, servicePoint, displayScheme) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
193
189
  var _a, _b, _c, _d;
194
190
  setBeforeCreateError(undefined);
195
191
  if (!shipment) return;
@@ -237,12 +233,12 @@ const useRatesForm = ({
237
233
  });
238
234
  throw new Error("Insufficient funds. Please add funds before purchasing and try again.");
239
235
  } else {
240
- yield purchaseLabel(rate.rateId, updatedShipment !== null && updatedShipment !== void 0 ? updatedShipment : shipment, rate, servicePoint);
236
+ yield purchaseLabel(rate.rateId, updatedShipment !== null && updatedShipment !== void 0 ? updatedShipment : shipment, rate, servicePoint, displayScheme);
241
237
  return;
242
238
  }
243
239
  }
244
240
  // The user has selected a standard rate and no further action is required before purchase
245
- yield purchaseLabel(rateId, shipment, rate, servicePoint);
241
+ yield purchaseLabel(rateId, shipment, rate, servicePoint, displayScheme);
246
242
  return;
247
243
  } catch (e) {
248
244
  if (Array.isArray(e)) {
@@ -4,7 +4,7 @@ var _tslib = require('../../../_virtual/_tslib.cjs');
4
4
  var reactApi = require('@shipengine/react-api');
5
5
  var date = require('../../../utilities/date.cjs');
6
6
  var React = require('react');
7
- var rateMessages = require('../../../data/rate-messages.json.cjs');
7
+ var rateWarningMessages = require('../../../utilities/rate-warning-messages.cjs');
8
8
  var useRequestPreferredRates = require('./use-request-preferred-rates.cjs');
9
9
  var utils = require('../../../utilities/feature-flags/utils.cjs');
10
10
 
@@ -91,26 +91,26 @@ const useRequestRates = ({
91
91
  }, [ratedShipment]);
92
92
  const ratesCalculating = getPreferredRates ? preferredRatesCalculating || standardRatesCalculating : standardRatesCalculating;
93
93
  ratesResponse = React.useMemo(() => ratesResponse && Object.assign(Object.assign({}, ratesResponse), {
94
- rates: ratesResponse.rates.map(rate => {
95
- var _a, _b, _c;
96
- return Object.assign(Object.assign({}, rate), {
97
- warningMessages: [
98
- // add additional rateMessages based on combinations of serviceCode, packageType and shipDay
99
- ...((_a = rateMessages.default[`${rate.serviceCode}:${shipDay}`]) !== null && _a !== void 0 ? _a : []), ...((_b = rateMessages.default[`${rate.serviceCode}:${rate.packageType}`]) !== null && _b !== void 0 ? _b : []), ...((_c = rateMessages.default[rate.serviceCode]) !== null && _c !== void 0 ? _c : []), ...rate.warningMessages]
100
- });
101
- })
94
+ rates: ratesResponse.rates.map(rate => Object.assign(Object.assign({}, rate), {
95
+ warningMessages: rateWarningMessages.buildRateWarningMessages({
96
+ serviceCode: rate.serviceCode,
97
+ packageType: rate.packageType,
98
+ shipDay,
99
+ existingWarningMessages: rate.warningMessages
100
+ })
101
+ }))
102
102
  }), [ratesResponse, shipDay]);
103
- const preferredRatesResponse = React.useMemo(() => preferredResponse && preferredResponse.map(r => {
104
- var _a, _b, _c;
105
- return {
106
- rate: Object.assign(Object.assign({}, r.rate), {
107
- warningMessages: [
108
- // add additional rateMessages based on combinations of serviceCode, packageType and shipDay
109
- ...((_a = rateMessages.default[`${r.rate.serviceCode}:${shipDay}`]) !== null && _a !== void 0 ? _a : []), ...((_b = rateMessages.default[`${r.rate.serviceCode}:${r.rate.packageType}`]) !== null && _b !== void 0 ? _b : []), ...((_c = rateMessages.default[r.rate.serviceCode]) !== null && _c !== void 0 ? _c : []), ...r.rate.warningMessages]
110
- }),
111
- rateAcknowledgementMessage: r.rateAcknowledgementMessage
112
- };
113
- }), [preferredResponse, shipDay]);
103
+ const preferredRatesResponse = React.useMemo(() => preferredResponse && preferredResponse.map(r => ({
104
+ rate: Object.assign(Object.assign({}, r.rate), {
105
+ warningMessages: rateWarningMessages.buildRateWarningMessages({
106
+ serviceCode: r.rate.serviceCode,
107
+ packageType: r.rate.packageType,
108
+ shipDay,
109
+ existingWarningMessages: r.rate.warningMessages
110
+ })
111
+ }),
112
+ rateAcknowledgementMessage: r.rateAcknowledgementMessage
113
+ })), [preferredResponse, shipDay]);
114
114
  return {
115
115
  isCalculating: ratesCalculating,
116
116
  preferredRatesResponse,
@@ -65,7 +65,8 @@ const Component = _a => {
65
65
  salesOrder,
66
66
  refetchPendingSalesOrderShipments,
67
67
  isLoading,
68
- errors
68
+ errors,
69
+ createNewShipmentForNotFound
69
70
  } = useConfigureShipment.useConfigureShipment({
70
71
  errorWhenShipmentCancelled: features === null || features === void 0 ? void 0 : features.enableErrorWhenShipmentCancelled,
71
72
  externalOrderId,
@@ -92,6 +93,8 @@ const Component = _a => {
92
93
  data: shipment || salesOrder,
93
94
  errors: errors,
94
95
  isLoading: isLoading || insuranceIsLoading,
96
+ onCreateNewShipment: createNewShipmentForNotFound,
97
+ shipmentId: shipmentId,
95
98
  children: jsxRuntime.jsx(configureShipment.ConfigureShipment, Object.assign({
96
99
  currency: currency,
97
100
  features: features,
@@ -9,6 +9,7 @@ var trackingFormatter = require('../../../../utilities/tracking-formatter.cjs');
9
9
  var React = require('react');
10
10
  var reactI18next = require('react-i18next');
11
11
  var labelCard_styles = require('./label-card.styles.cjs');
12
+ var paperlessLabelDisplay = require('./paperless-label-display.cjs');
12
13
  var serviceCard = require('../../../../components/service-card/service-card.cjs');
13
14
  var insurancePopover = require('../../../../components/insurance-popover/insurance-popover.cjs');
14
15
  var elementsContextProvider = require('../../../../elements-provider/elements-context-provider.cjs');
@@ -46,7 +47,8 @@ const LabelCard = ({
46
47
  trackable = undefined,
47
48
  trackingNumber = undefined,
48
49
  trackingStatus = undefined,
49
- trackingUrl = undefined
50
+ trackingUrl = undefined,
51
+ qrCodeDownload = undefined
50
52
  } = !displayAsVoided ? label : {};
51
53
  const carrierCode = carrier === null || carrier === void 0 ? void 0 : carrier.carrierCode;
52
54
  const carrierFriendlyName = carrier === null || carrier === void 0 ? void 0 : carrier.friendlyName;
@@ -144,6 +146,18 @@ const LabelCard = ({
144
146
  shippingAmount,
145
147
  showExtendedData: selected
146
148
  };
149
+ const paperlessDownloadProps = React.useMemo(() => {
150
+ // USPS paperless labels populate the qrCodeDownload property instead of paperlessDownload, use qrCodeDownload href if available and paperlessDownload is empty
151
+ if (!paperlessDownload || Object.keys(paperlessDownload).length === 0) {
152
+ if (qrCodeDownload && qrCodeDownload.href) {
153
+ return {
154
+ href: qrCodeDownload.href
155
+ };
156
+ }
157
+ return undefined;
158
+ }
159
+ return paperlessDownload;
160
+ }, [paperlessDownload, qrCodeDownload]);
147
161
  return jsxRuntime.jsxs(serviceCard.ServiceCardContainer, {
148
162
  selected: selected,
149
163
  voided: displayAsVoided,
@@ -160,36 +174,7 @@ const LabelCard = ({
160
174
  },
161
175
  voided: displayAsVoided,
162
176
  children: trackable && jsxRuntime.jsx(TrackingNumberDisplay, {})
163
- }), paperlessDownload && jsxRuntime.jsxs("div", {
164
- css: labelCard_styles.styles.paperlessDownloadwrapper,
165
- children: [jsxRuntime.jsxs("div", {
166
- css: labelCard_styles.styles.codewrapper,
167
- children: [jsxRuntime.jsx("img", {
168
- alt: "paperless code",
169
- css: labelCard_styles.styles.codeImage,
170
- src: paperlessDownload === null || paperlessDownload === void 0 ? void 0 : paperlessDownload.href
171
- }), jsxRuntime.jsx("div", {
172
- css: labelCard_styles.styles.handoffCode,
173
- children: paperlessDownload === null || paperlessDownload === void 0 ? void 0 : paperlessDownload.handoffCode.toString()
174
- }), jsxRuntime.jsxs(giger.Next.Link, {
175
- buttonProps: {
176
- variant: giger.ButtonVariant.OUTLINED
177
- },
178
- css: labelCard_styles.styles.button,
179
- download: true,
180
- href: paperlessDownload === null || paperlessDownload === void 0 ? void 0 : paperlessDownload.href,
181
- isButton: true,
182
- children: [jsxRuntime.jsx(giger.Icon, {
183
- name: gigerTheme.IconNames.PRINTER,
184
- size: giger.IconSize.SIZE_SMALL
185
- }), jsxRuntime.jsx("span", {
186
- children: t("view-shipment:actions.download")
187
- })]
188
- })]
189
- }), jsxRuntime.jsx(giger.Typography, {
190
- children: paperlessDownload === null || paperlessDownload === void 0 ? void 0 : paperlessDownload.instructions
191
- })]
192
- }), showFooter && jsxRuntime.jsx(serviceCard.ServiceCardFooter, {
177
+ }), paperlessDownloadProps && "href" in paperlessDownloadProps && jsxRuntime.jsx(paperlessLabelDisplay.PaperlessLabelDisplay, Object.assign({}, paperlessDownloadProps)), showFooter && jsxRuntime.jsx(serviceCard.ServiceCardFooter, {
193
178
  messages: labelMessages
194
179
  })]
195
180
  });
@@ -3,31 +3,12 @@
3
3
  var styles$1 = require('../../../../utilities/styles.cjs');
4
4
 
5
5
  const styles = styles$1.createStyles({
6
- button: () => ({
7
- cursor: "pointer"
8
- }),
9
- codeImage: () => ({
10
- height: "120px",
11
- maxWidth: "200px",
12
- width: "auto"
13
- }),
14
- codewrapper: () => ({
15
- alignItems: "center",
16
- display: "flex",
17
- flexDirection: "column"
18
- }),
19
- handoffCode: theme => ({
20
- margin: `${styles$1.scopeTheme(theme).spacing(2)}px 0`
21
- }),
22
6
  insuranceInfoIcon: theme => ({
23
7
  ":hover": {
24
8
  cursor: "pointer"
25
9
  },
26
10
  marginLeft: styles$1.scopeTheme(theme).spacing(0.5)
27
11
  }),
28
- paperlessDownloadwrapper: theme => ({
29
- padding: styles$1.scopeTheme(theme).spacing(2)
30
- }),
31
12
  trackingNumber: () => ({
32
13
  maxWidth: "100%",
33
14
  overflow: "hidden",
@@ -0,0 +1,54 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('@emotion/react/jsx-runtime');
4
+ var giger = require('@shipengine/giger');
5
+ var gigerTheme = require('@shipengine/giger-theme');
6
+ var reactI18next = require('react-i18next');
7
+ var paperlessLabelDisplay_styles = require('./paperless-label-display.styles.cjs');
8
+ var spacer = require('../../../../components/spacer/spacer.cjs');
9
+
10
+ const PaperlessLabelDisplay = ({
11
+ handoffCode,
12
+ href,
13
+ instructions
14
+ }) => {
15
+ const {
16
+ t
17
+ } = reactI18next.useTranslation();
18
+ return jsxRuntime.jsxs("div", {
19
+ css: paperlessLabelDisplay_styles.styles.paperlessDownloadwrapper,
20
+ children: [jsxRuntime.jsxs("div", {
21
+ css: paperlessLabelDisplay_styles.styles.codewrapper,
22
+ children: [jsxRuntime.jsx("img", {
23
+ alt: "paperless code",
24
+ css: paperlessLabelDisplay_styles.styles.codeImage,
25
+ src: href
26
+ }), handoffCode && jsxRuntime.jsx("div", {
27
+ css: paperlessLabelDisplay_styles.styles.handoffCode,
28
+ children: handoffCode
29
+ }), jsxRuntime.jsxs(giger.Next.Link, {
30
+ buttonProps: {
31
+ variant: giger.ButtonVariant.OUTLINED
32
+ },
33
+ css: paperlessLabelDisplay_styles.styles.button,
34
+ download: true,
35
+ href: href,
36
+ isButton: true,
37
+ children: [jsxRuntime.jsx(giger.Icon, {
38
+ name: gigerTheme.IconNames.PRINTER,
39
+ size: giger.IconSize.SIZE_SMALL
40
+ }), jsxRuntime.jsx("span", {
41
+ children: t("view-shipment:actions.download")
42
+ })]
43
+ })]
44
+ }), instructions && jsxRuntime.jsxs(jsxRuntime.Fragment, {
45
+ children: [jsxRuntime.jsx(spacer.Spacer, {
46
+ multiplier: 2
47
+ }), " ", jsxRuntime.jsx(giger.Typography, {
48
+ children: instructions
49
+ })]
50
+ })]
51
+ });
52
+ };
53
+
54
+ exports.PaperlessLabelDisplay = PaperlessLabelDisplay;
@@ -0,0 +1,27 @@
1
+ 'use strict';
2
+
3
+ var styles$1 = require('../../../../utilities/styles.cjs');
4
+
5
+ const styles = styles$1.createStyles({
6
+ button: () => ({
7
+ cursor: "pointer"
8
+ }),
9
+ codeImage: () => ({
10
+ height: "120px",
11
+ maxWidth: "200px",
12
+ width: "auto"
13
+ }),
14
+ codewrapper: () => ({
15
+ alignItems: "center",
16
+ display: "flex",
17
+ flexDirection: "column"
18
+ }),
19
+ handoffCode: theme => ({
20
+ margin: `${styles$1.scopeTheme(theme).spacing(2)}px 0`
21
+ }),
22
+ paperlessDownloadwrapper: theme => ({
23
+ padding: styles$1.scopeTheme(theme).spacing(2)
24
+ })
25
+ });
26
+
27
+ exports.styles = styles;