@shopify/app-bridge-react 2.0.19 → 2.0.22

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 (44) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/components/ClientRouter/ClientRouter.js +4 -2
  3. package/components/ClientRouter/hook.js +3 -3
  4. package/components/ClientRouter/index.js +6 -2
  5. package/components/ClientRouter/router.d.ts +1 -1
  6. package/components/ContextualSaveBar/ContextualSaveBar.d.ts +13 -0
  7. package/components/ContextualSaveBar/ContextualSaveBar.js +64 -0
  8. package/components/ContextualSaveBar/index.d.ts +3 -0
  9. package/components/ContextualSaveBar/index.js +7 -0
  10. package/components/Loading/Loading.js +3 -1
  11. package/components/Modal/Modal.js +5 -4
  12. package/components/Modal/ModalContent/ModalContent.js +3 -1
  13. package/components/Modal/index.js +2 -1
  14. package/components/Provider/Provider.js +12 -5
  15. package/components/ResourcePicker/ResourcePicker.js +3 -1
  16. package/components/RoutePropagator/RoutePropagator.js +5 -3
  17. package/components/RoutePropagator/globals.d.ts +1 -1
  18. package/components/RoutePropagator/hook.js +3 -3
  19. package/components/RoutePropagator/index.js +6 -2
  20. package/components/RoutePropagator/route-propagator.d.ts +1 -1
  21. package/components/RoutePropagator/route-propagator.js +5 -5
  22. package/components/TitleBar/TitleBar.js +5 -3
  23. package/components/Toast/Toast.js +3 -1
  24. package/components/index.d.ts +1 -0
  25. package/components/index.js +18 -8
  26. package/context.d.ts +1 -1
  27. package/context.js +1 -1
  28. package/hooks/index.d.ts +1 -0
  29. package/hooks/index.js +3 -0
  30. package/hooks/useContextualSaveBar/index.d.ts +1 -0
  31. package/hooks/useContextualSaveBar/index.js +5 -0
  32. package/hooks/useContextualSaveBar/useContextualSaveBar.d.ts +13 -0
  33. package/hooks/useContextualSaveBar/useContextualSaveBar.js +68 -0
  34. package/hooks/useNavigationHistory/index.js +1 -0
  35. package/hooks/useNavigationHistory/useNavigationHistory.js +2 -2
  36. package/hooks/useToast/index.js +1 -0
  37. package/hooks/useToast/useToast.js +4 -4
  38. package/index.js +7 -2
  39. package/package.json +3 -3
  40. package/umd/index.js +3 -3
  41. package/useAppBridge.d.ts +1 -1
  42. package/useAppBridge.js +1 -1
  43. package/utilities/transformers.d.ts +3 -3
  44. package/utilities/transformers.js +13 -11
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ var __rest = (this && this.__rest) || function (s, e) {
3
+ var t = {};
4
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
+ t[p] = s[p];
6
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
+ t[p[i]] = s[p[i]];
10
+ }
11
+ return t;
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.useContextualSaveBar = void 0;
15
+ var react_1 = require("react");
16
+ var ContextualSaveBar_1 = require("@shopify/app-bridge/actions/ContextualSaveBar");
17
+ var useAppBridge_1 = require("../../useAppBridge");
18
+ function useContextualSaveBar(_a) {
19
+ var discardAction = _a.discardAction, saveAction = _a.saveAction, fullWidth = _a.fullWidth, leaveConfirmationDisable = _a.leaveConfirmationDisable, visible = _a.visible;
20
+ var app = (0, useAppBridge_1.useAppBridge)();
21
+ var onSaveAction = saveAction.onAction, saveActionProps = __rest(saveAction, ["onAction"]);
22
+ var onDiscardAction = discardAction.onAction, discardActionProps = __rest(discardAction, ["onAction"]);
23
+ /* We want to reuse the same ContextualSaveBar instance, even when props change
24
+ * (so we don't include all the props in the dependency array).
25
+ * Instead of recreating the component on every change, we use the set method,
26
+ * in the useEffect block below, to dispatch updates when props change.
27
+ */
28
+ var contextualSaveBar = (0, react_1.useMemo)(function () {
29
+ return (0, ContextualSaveBar_1.create)(app, {
30
+ saveAction: saveActionProps,
31
+ discardAction: discardActionProps,
32
+ fullWidth: fullWidth,
33
+ leaveConfirmationDisable: leaveConfirmationDisable,
34
+ });
35
+ }, [app]);
36
+ (0, react_1.useEffect)(function () {
37
+ contextualSaveBar.set({
38
+ saveAction: saveActionProps,
39
+ discardAction: discardActionProps,
40
+ fullWidth: fullWidth,
41
+ leaveConfirmationDisable: leaveConfirmationDisable,
42
+ }, Boolean(visible));
43
+ }, [
44
+ contextualSaveBar,
45
+ saveActionProps,
46
+ discardActionProps,
47
+ fullWidth,
48
+ leaveConfirmationDisable,
49
+ visible,
50
+ ]);
51
+ (0, react_1.useEffect)(function () {
52
+ contextualSaveBar.subscribe(ContextualSaveBar_1.Action.DISCARD, onDiscardAction);
53
+ contextualSaveBar.subscribe(ContextualSaveBar_1.Action.SAVE, onSaveAction);
54
+ return function () {
55
+ contextualSaveBar.unsubscribe();
56
+ };
57
+ }, [contextualSaveBar]);
58
+ (0, react_1.useEffect)(function () {
59
+ if (visible) {
60
+ contextualSaveBar.dispatch(ContextualSaveBar_1.Action.SHOW);
61
+ }
62
+ else {
63
+ contextualSaveBar.dispatch(ContextualSaveBar_1.Action.HIDE);
64
+ }
65
+ }, [contextualSaveBar, visible]);
66
+ return null;
67
+ }
68
+ exports.useContextualSaveBar = useContextualSaveBar;
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useNavigationHistory = void 0;
3
4
  var useNavigationHistory_1 = require("./useNavigationHistory");
4
5
  Object.defineProperty(exports, "useNavigationHistory", { enumerable: true, get: function () { return useNavigationHistory_1.useNavigationHistory; } });
@@ -13,8 +13,8 @@ var useAppBridge_1 = require("../../useAppBridge");
13
13
  * @public
14
14
  */
15
15
  function useNavigationHistory() {
16
- var app = useAppBridge_1.useAppBridge();
17
- return react_1.useMemo(function () {
16
+ var app = (0, useAppBridge_1.useAppBridge)();
17
+ return (0, react_1.useMemo)(function () {
18
18
  var history = actions_1.History.create(app);
19
19
  function push(location) {
20
20
  history.dispatch(actions_1.History.Action.PUSH, location.pathname);
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useToast = void 0;
3
4
  var useToast_1 = require("./useToast");
4
5
  Object.defineProperty(exports, "useToast", { enumerable: true, get: function () { return useToast_1.useToast; } });
@@ -14,11 +14,11 @@ exports.DEFAULT_TOAST_DURATION = 5000;
14
14
  * @public
15
15
  */
16
16
  function useToast() {
17
- var app = useAppBridge_1.useAppBridge();
17
+ var app = (0, useAppBridge_1.useAppBridge)();
18
18
  var toast;
19
- var show = react_1.useCallback(function (_a) {
19
+ var show = (0, react_1.useCallback)(function (_a) {
20
20
  var message = _a.content, _b = _a.duration, duration = _b === void 0 ? exports.DEFAULT_TOAST_DURATION : _b, isError = _a.isError, onDismiss = _a.onDismiss;
21
- toast = Toast_1.create(app, {
21
+ toast = (0, Toast_1.create)(app, {
22
22
  message: message,
23
23
  isError: isError,
24
24
  duration: duration,
@@ -28,7 +28,7 @@ function useToast() {
28
28
  toast.subscribe(Toast_1.Action.CLEAR, onDismiss);
29
29
  }
30
30
  }, [app]);
31
- react_1.useEffect(function () {
31
+ (0, react_1.useEffect)(function () {
32
32
  return function () {
33
33
  toast.unsubscribe();
34
34
  };
package/index.js CHANGED
@@ -1,15 +1,20 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
8
12
  }));
9
13
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
- for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
15
  };
12
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.useAppBridge = exports.Context = void 0;
13
18
  __exportStar(require("./components"), exports);
14
19
  var context_1 = require("./context");
15
20
  Object.defineProperty(exports, "Context", { enumerable: true, get: function () { return context_1.AppBridgeContext; } });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shopify/app-bridge-react",
3
- "version": "2.0.19",
3
+ "version": "2.0.22",
4
4
  "types": "index.d.ts",
5
5
  "main": "index.js",
6
6
  "unpkg": "umd/index.js",
@@ -45,7 +45,7 @@
45
45
  }
46
46
  ],
47
47
  "dependencies": {
48
- "@shopify/app-bridge": "^2.0.19"
48
+ "@shopify/app-bridge": "^2.0.22"
49
49
  },
50
50
  "devDependencies": {
51
51
  "@types/react": "^17.0.38",
@@ -55,5 +55,5 @@
55
55
  "peerDependencies": {
56
56
  "react": "^16.0.0 || ^17.0.0"
57
57
  },
58
- "gitHead": "7b9604f253934c22ef88630eaa3eb891bdfc6f7a"
58
+ "gitHead": "a22c1145bf5fbc3c9ae765a7c37c89d14c229d8c"
59
59
  }