@getflip/bridge 0.0.0-new-shell-20231128130728

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 (109) hide show
  1. package/LICENSE.md +25 -0
  2. package/README.md +472 -0
  3. package/dist/dialog/dialog.d.ts +10 -0
  4. package/dist/dialog/dialog.js +45 -0
  5. package/dist/dialog/dialog.js.map +1 -0
  6. package/dist/dialog/dialog.spec.d.ts +1 -0
  7. package/dist/dialog/dialog.spec.js +83 -0
  8. package/dist/dialog/dialog.spec.js.map +1 -0
  9. package/dist/dialog/dialog.types.d.ts +33 -0
  10. package/dist/dialog/dialog.types.js +2 -0
  11. package/dist/dialog/dialog.types.js.map +1 -0
  12. package/dist/dialog/index.d.ts +2 -0
  13. package/dist/dialog/index.js +3 -0
  14. package/dist/dialog/index.js.map +1 -0
  15. package/dist/events/events.d.ts +3 -0
  16. package/dist/events/events.js +44 -0
  17. package/dist/events/events.js.map +1 -0
  18. package/dist/events/events.spec.d.ts +1 -0
  19. package/dist/events/events.spec.js +64 -0
  20. package/dist/events/events.spec.js.map +1 -0
  21. package/dist/events/events.types.d.ts +27 -0
  22. package/dist/events/events.types.js +8 -0
  23. package/dist/events/events.types.js.map +1 -0
  24. package/dist/events/index.d.ts +2 -0
  25. package/dist/events/index.js +3 -0
  26. package/dist/events/index.js.map +1 -0
  27. package/dist/i18n/i18n.d.ts +3 -0
  28. package/dist/i18n/i18n.js +18 -0
  29. package/dist/i18n/i18n.js.map +1 -0
  30. package/dist/i18n/i18n.spec.d.ts +1 -0
  31. package/dist/i18n/i18n.spec.js +27 -0
  32. package/dist/i18n/i18n.spec.js.map +1 -0
  33. package/dist/i18n/i18n.types.d.ts +6 -0
  34. package/dist/i18n/i18n.types.js +2 -0
  35. package/dist/i18n/i18n.types.js.map +1 -0
  36. package/dist/i18n/index.d.ts +2 -0
  37. package/dist/i18n/index.js +3 -0
  38. package/dist/i18n/index.js.map +1 -0
  39. package/dist/index.cjs.js +290 -0
  40. package/dist/index.cjs.js.map +1 -0
  41. package/dist/index.d.ts +15 -0
  42. package/dist/index.js +16 -0
  43. package/dist/index.js.map +1 -0
  44. package/dist/index.mjs +274 -0
  45. package/dist/index.mjs.map +1 -0
  46. package/dist/index.spec.d.ts +1 -0
  47. package/dist/index.spec.js +20 -0
  48. package/dist/index.spec.js.map +1 -0
  49. package/dist/logging/index.d.ts +1 -0
  50. package/dist/logging/index.js +2 -0
  51. package/dist/logging/index.js.map +1 -0
  52. package/dist/logging/logging.d.ts +1 -0
  53. package/dist/logging/logging.js +8 -0
  54. package/dist/logging/logging.js.map +1 -0
  55. package/dist/logging/logging.spec.d.ts +1 -0
  56. package/dist/logging/logging.spec.js +19 -0
  57. package/dist/logging/logging.spec.js.map +1 -0
  58. package/dist/messaging/index.d.ts +2 -0
  59. package/dist/messaging/index.js +3 -0
  60. package/dist/messaging/index.js.map +1 -0
  61. package/dist/messaging/messaging.d.ts +15 -0
  62. package/dist/messaging/messaging.js +70 -0
  63. package/dist/messaging/messaging.js.map +1 -0
  64. package/dist/messaging/messaging.spec.d.ts +1 -0
  65. package/dist/messaging/messaging.spec.js +59 -0
  66. package/dist/messaging/messaging.spec.js.map +1 -0
  67. package/dist/messaging/messaging.types.d.ts +11 -0
  68. package/dist/messaging/messaging.types.js +2 -0
  69. package/dist/messaging/messaging.types.js.map +1 -0
  70. package/dist/modal/index.d.ts +2 -0
  71. package/dist/modal/index.js +3 -0
  72. package/dist/modal/index.js.map +1 -0
  73. package/dist/modal/modal.d.ts +10 -0
  74. package/dist/modal/modal.js +45 -0
  75. package/dist/modal/modal.js.map +1 -0
  76. package/dist/modal/modal.spec.d.ts +1 -0
  77. package/dist/modal/modal.spec.js +81 -0
  78. package/dist/modal/modal.spec.js.map +1 -0
  79. package/dist/modal/modal.types.d.ts +30 -0
  80. package/dist/modal/modal.types.js +2 -0
  81. package/dist/modal/modal.types.js.map +1 -0
  82. package/dist/navigation/index.d.ts +2 -0
  83. package/dist/navigation/index.js +3 -0
  84. package/dist/navigation/index.js.map +1 -0
  85. package/dist/navigation/navigation.d.ts +1 -0
  86. package/dist/navigation/navigation.js +12 -0
  87. package/dist/navigation/navigation.js.map +1 -0
  88. package/dist/navigation/navigation.spec.d.ts +1 -0
  89. package/dist/navigation/navigation.spec.js +22 -0
  90. package/dist/navigation/navigation.spec.js.map +1 -0
  91. package/dist/navigation/navigation.types.d.ts +6 -0
  92. package/dist/navigation/navigation.types.js +2 -0
  93. package/dist/navigation/navigation.types.js.map +1 -0
  94. package/dist/theming/index.d.ts +2 -0
  95. package/dist/theming/index.js +3 -0
  96. package/dist/theming/index.js.map +1 -0
  97. package/dist/theming/theming.d.ts +2 -0
  98. package/dist/theming/theming.js +11 -0
  99. package/dist/theming/theming.js.map +1 -0
  100. package/dist/theming/theming.spec.d.ts +1 -0
  101. package/dist/theming/theming.spec.js +19 -0
  102. package/dist/theming/theming.spec.js.map +1 -0
  103. package/dist/theming/theming.types.d.ts +8 -0
  104. package/dist/theming/theming.types.js +2 -0
  105. package/dist/theming/theming.types.js.map +1 -0
  106. package/dist/types.d.ts +49 -0
  107. package/dist/types.js +23 -0
  108. package/dist/types.js.map +1 -0
  109. package/package.json +37 -0
@@ -0,0 +1,81 @@
1
+ import { BridgeMethod } from "../types";
2
+ import { closeModal, createModal, destroyModal, openModal } from "./modal";
3
+ jest.mock("../messaging", () => {
4
+ const originalModule = jest.requireActual("../messaging");
5
+ return Object.assign(Object.assign({ __esModule: true }, originalModule), { makeRequest: async (request) => {
6
+ originalModule.makeRequest(request);
7
+ return true;
8
+ } });
9
+ });
10
+ describe("modal", () => {
11
+ beforeAll(() => {
12
+ global.flipBridgeOptions = { hostAppOrigin: "http://localhost" };
13
+ });
14
+ test("'createModal' sends correct request", async () => {
15
+ const params = {
16
+ id: "my-modal",
17
+ label: "My Modal",
18
+ primaryAction: {
19
+ label: "Primary",
20
+ },
21
+ secondaryAction: {
22
+ label: "Secondary",
23
+ },
24
+ url: "http://",
25
+ };
26
+ const spy = jest.fn();
27
+ window.top.postMessage = spy;
28
+ const response = await createModal(params);
29
+ expect(spy).toHaveBeenCalledWith({
30
+ id: spy.mock.calls[0][0].id,
31
+ method: BridgeMethod.CREATE_MODAL,
32
+ params,
33
+ }, "http://localhost");
34
+ expect(response === null || response === void 0 ? void 0 : response.id).toBe(params.id);
35
+ expect(typeof (response === null || response === void 0 ? void 0 : response.close)).toBe("function");
36
+ expect(typeof (response === null || response === void 0 ? void 0 : response.open)).toBe("function");
37
+ });
38
+ test("'openModal' sends correct request", async () => {
39
+ const params = {
40
+ id: "my-modal",
41
+ };
42
+ const spy = jest.fn();
43
+ window.top.postMessage = spy;
44
+ const response = await openModal(params);
45
+ expect(spy).toHaveBeenCalledWith({
46
+ id: spy.mock.calls[0][0].id,
47
+ method: BridgeMethod.OPEN_MODAL,
48
+ params,
49
+ }, "http://localhost");
50
+ expect(response).toBe(true);
51
+ });
52
+ test("'closeModal' sends correct request", async () => {
53
+ const params = {
54
+ id: "my-modal",
55
+ };
56
+ const spy = jest.fn();
57
+ window.top.postMessage = spy;
58
+ const response = await closeModal(params);
59
+ expect(spy).toHaveBeenCalledWith({
60
+ id: spy.mock.calls[0][0].id,
61
+ method: BridgeMethod.CLOSE_MODAL,
62
+ params,
63
+ }, "http://localhost");
64
+ expect(response).toBe(true);
65
+ });
66
+ test("'destroyModal' sends correct request", async () => {
67
+ const params = {
68
+ id: "my-modal",
69
+ };
70
+ const spy = jest.fn();
71
+ window.top.postMessage = spy;
72
+ const response = await destroyModal(params);
73
+ expect(spy).toHaveBeenCalledWith({
74
+ id: spy.mock.calls[0][0].id,
75
+ method: BridgeMethod.DESTROY_MODAL,
76
+ params,
77
+ }, "http://localhost");
78
+ expect(response).toBe(true);
79
+ });
80
+ });
81
+ //# sourceMappingURL=modal.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modal.spec.js","sourceRoot":"","sources":["../../src/modal/modal.spec.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAQ3E,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE;IAC7B,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IAE1D,qCACE,UAAU,EAAE,IAAI,IACb,cAAc,KACjB,WAAW,EAAE,KAAK,EAAE,OAAsB,EAAE,EAAE;YAC5C,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACpC,OAAO,IAAI,CAAC;QACd,CAAC,IACD;AACJ,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IACrB,SAAS,CAAC,GAAG,EAAE;QACZ,MAAc,CAAC,iBAAiB,GAAG,EAAE,aAAa,EAAE,kBAAkB,EAAE,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACrD,MAAM,MAAM,GAA6B;YACvC,EAAE,EAAE,UAAU;YACd,KAAK,EAAE,UAAU;YACjB,aAAa,EAAE;gBACb,KAAK,EAAE,SAAS;aACjB;YACD,eAAe,EAAE;gBACf,KAAK,EAAE,WAAW;aACnB;YACD,GAAG,EAAE,SAAS;SACf,CAAC;QAEF,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAErB,MAAM,CAAC,GAAW,CAAC,WAAW,GAAG,GAAG,CAAC;QAEtC,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;QAE3C,MAAM,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAC9B;YACE,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YAC3B,MAAM,EAAE,YAAY,CAAC,YAAY;YACjC,MAAM;SACP,EACD,kBAAkB,CACnB,CAAC;QAEF,MAAM,CAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrC,MAAM,CAAC,OAAO,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,CAAA,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChD,MAAM,CAAC,OAAO,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,CAAA,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACnD,MAAM,MAAM,GAA2B;YACrC,EAAE,EAAE,UAAU;SACf,CAAC;QAEF,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAErB,MAAM,CAAC,GAAW,CAAC,WAAW,GAAG,GAAG,CAAC;QAEtC,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC;QAEzC,MAAM,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAC9B;YACE,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YAC3B,MAAM,EAAE,YAAY,CAAC,UAAU;YAC/B,MAAM;SACP,EACD,kBAAkB,CACnB,CAAC;QAEF,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,MAAM,GAA4B;YACtC,EAAE,EAAE,UAAU;SACf,CAAC;QAEF,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAErB,MAAM,CAAC,GAAW,CAAC,WAAW,GAAG,GAAG,CAAC;QAEtC,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC;QAE1C,MAAM,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAC9B;YACE,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YAC3B,MAAM,EAAE,YAAY,CAAC,WAAW;YAChC,MAAM;SACP,EACD,kBAAkB,CACnB,CAAC;QAEF,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACtD,MAAM,MAAM,GAA8B;YACxC,EAAE,EAAE,UAAU;SACf,CAAC;QAEF,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAErB,MAAM,CAAC,GAAW,CAAC,WAAW,GAAG,GAAG,CAAC;QAEtC,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;QAE5C,MAAM,CAAC,GAAG,CAAC,CAAC,oBAAoB,CAC9B;YACE,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YAC3B,MAAM,EAAE,YAAY,CAAC,aAAa;YAClC,MAAM;SACP,EACD,kBAAkB,CACnB,CAAC;QAEF,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { BridgeRequest } from "../messaging/messaging.types";
2
+ import { BridgeMethod } from "../types";
3
+ export type CreateModalRequestParams = {
4
+ id: string;
5
+ label: string;
6
+ primaryAction?: {
7
+ label: string;
8
+ };
9
+ secondaryAction?: {
10
+ label: string;
11
+ };
12
+ url: string;
13
+ };
14
+ export type OpenModalRequestParams = {
15
+ id: string;
16
+ };
17
+ export type CloseModalRequestParams = {
18
+ id: string;
19
+ };
20
+ export type DestroyModalRequestParams = {
21
+ id: string;
22
+ };
23
+ export type CreateModalRequest = BridgeRequest<BridgeMethod.CREATE_MODAL, CreateModalRequestParams>;
24
+ export type OpenModalRequest = BridgeRequest<BridgeMethod.OPEN_MODAL, OpenModalRequestParams>;
25
+ export type CloseModalRequest = BridgeRequest<BridgeMethod.CLOSE_MODAL, CloseModalRequestParams>;
26
+ export type DestroyModalRequest = BridgeRequest<BridgeMethod.DESTROY_MODAL, CloseModalRequestParams>;
27
+ export type CreateModalResult = boolean;
28
+ export type OpenModalResult = boolean;
29
+ export type CloseModalResult = boolean;
30
+ export type DestroyModalResult = boolean;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=modal.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modal.types.js","sourceRoot":"","sources":["../../src/modal/modal.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export * from "./navigation.types";
2
+ export * from "./navigation";
@@ -0,0 +1,3 @@
1
+ export * from "./navigation.types";
2
+ export * from "./navigation";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/navigation/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function navigate(path: string): Promise<boolean | import("../types").BridgeError>;
@@ -0,0 +1,12 @@
1
+ import { v4 as uuidv4 } from "uuid";
2
+ import { makeRequest } from "../messaging";
3
+ import { BridgeMethod } from "../types";
4
+ export function navigate(path) {
5
+ const request = {
6
+ id: uuidv4(),
7
+ method: BridgeMethod.NAVIGATE,
8
+ params: { path },
9
+ };
10
+ return makeRequest(request);
11
+ }
12
+ //# sourceMappingURL=navigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../src/navigation/navigation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAGxC,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,MAAM,OAAO,GAAoB;QAC/B,EAAE,EAAE,MAAM,EAAE;QACZ,MAAM,EAAE,YAAY,CAAC,QAAQ;QAC7B,MAAM,EAAE,EAAE,IAAI,EAAE;KACjB,CAAC;IAEF,OAAO,WAAW,CAAiB,OAAO,CAAC,CAAC;AAC9C,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,22 @@
1
+ import { makeRequest } from "../messaging";
2
+ import { navigate } from "./navigation";
3
+ jest.mock("../messaging", () => ({
4
+ makeRequest: jest.fn(),
5
+ }));
6
+ describe("navigation", () => {
7
+ beforeAll(() => {
8
+ global.flipBridgeOptions = { hostAppOrigin: "http://localhost" };
9
+ });
10
+ test("'navigate' sends correct request", async () => {
11
+ await navigate("/route");
12
+ const makeRequestMock = makeRequest;
13
+ expect(makeRequestMock).toHaveBeenCalledWith({
14
+ id: makeRequestMock.mock.calls[0][0].id,
15
+ method: "NAVIGATE",
16
+ params: {
17
+ path: "/route",
18
+ },
19
+ });
20
+ });
21
+ });
22
+ //# sourceMappingURL=navigation.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation.spec.js","sourceRoot":"","sources":["../../src/navigation/navigation.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;IAC/B,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE;CACvB,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,SAAS,CAAC,GAAG,EAAE;QACZ,MAAc,CAAC,iBAAiB,GAAG,EAAE,aAAa,EAAE,kBAAkB,EAAE,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAEzB,MAAM,eAAe,GAAG,WAEvB,CAAC;QAEF,MAAM,CAAC,eAAe,CAAC,CAAC,oBAAoB,CAAC;YAC3C,EAAE,EAAE,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YACvC,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;aACf;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { BridgeMethod } from "../types";
2
+ import { BridgeRequest } from "../messaging/messaging.types";
3
+ export type NavigateRequest = BridgeRequest<BridgeMethod.NAVIGATE, {
4
+ path: string;
5
+ }>;
6
+ export type NavigateResult = boolean;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=navigation.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation.types.js","sourceRoot":"","sources":["../../src/navigation/navigation.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export * from "./theming.types";
2
+ export * from "./theming";
@@ -0,0 +1,3 @@
1
+ export * from "./theming.types";
2
+ export * from "./theming";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/theming/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { GetThemeResult } from "./theming.types";
2
+ export declare function getTheme(): Promise<import("../types").BridgeError | GetThemeResult>;
@@ -0,0 +1,11 @@
1
+ import { v4 as uuidv4 } from "uuid";
2
+ import { makeRequest } from "../messaging";
3
+ import { BridgeMethod } from "../types";
4
+ export function getTheme() {
5
+ const request = {
6
+ id: uuidv4(),
7
+ method: BridgeMethod.GET_THEME,
8
+ };
9
+ return makeRequest(request);
10
+ }
11
+ //# sourceMappingURL=theming.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theming.js","sourceRoot":"","sources":["../../src/theming/theming.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAGxC,MAAM,UAAU,QAAQ;IACtB,MAAM,OAAO,GAAoB;QAC/B,EAAE,EAAE,MAAM,EAAE;QACZ,MAAM,EAAE,YAAY,CAAC,SAAS;KAC/B,CAAC;IAEF,OAAO,WAAW,CAAiB,OAAO,CAAC,CAAC;AAC9C,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,19 @@
1
+ import { makeRequest } from "../messaging";
2
+ import { getTheme } from "./theming";
3
+ jest.mock("../messaging", () => ({
4
+ makeRequest: jest.fn(),
5
+ }));
6
+ describe("theming", () => {
7
+ beforeAll(() => {
8
+ global.flipBridgeOptions = { hostAppOrigin: "http://localhost" };
9
+ });
10
+ test("'getTheme' sends correct request", async () => {
11
+ await getTheme();
12
+ const makeRequestMock = makeRequest;
13
+ expect(makeRequestMock).toHaveBeenCalledWith({
14
+ id: makeRequestMock.mock.calls[0][0].id,
15
+ method: "GET_THEME",
16
+ });
17
+ });
18
+ });
19
+ //# sourceMappingURL=theming.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theming.spec.js","sourceRoot":"","sources":["../../src/theming/theming.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;IAC/B,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE;CACvB,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,SAAS,CAAC,GAAG,EAAE;QACZ,MAAc,CAAC,iBAAiB,GAAG,EAAE,aAAa,EAAE,kBAAkB,EAAE,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,QAAQ,EAAE,CAAC;QAEjB,MAAM,eAAe,GAAG,WAEvB,CAAC;QAEF,MAAM,CAAC,eAAe,CAAC,CAAC,oBAAoB,CAAC;YAC3C,EAAE,EAAE,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YACvC,MAAM,EAAE,WAAW;SACpB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { SwirlOSTheme } from "@getflip/swirl-components/dist/types/components/swirl-theme-provider/swirl-theme-provider.types";
2
+ import { BridgeMethod } from "../types";
3
+ import { BridgeRequest } from "../messaging/messaging.types";
4
+ export type GetThemeRequest = BridgeRequest<BridgeMethod.GET_THEME, undefined>;
5
+ export type GetThemeResult = {
6
+ activeTheme: SwirlOSTheme;
7
+ preferredTheme: SwirlOSTheme | undefined;
8
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=theming.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theming.types.js","sourceRoot":"","sources":["../../src/theming/theming.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,49 @@
1
+ import { CloseDialogResult, CreateDialogResult, DestroyDialogResult, OpenDialogResult } from "./dialog";
2
+ import { SubscribeResult, UnsubscribeResult } from "./events/events.types";
3
+ import { GetAvailableLangsResult, GetLangResult } from "./i18n";
4
+ import { CloseModalResult, CreateModalResult, DestroyModalResult, OpenModalResult } from "./modal";
5
+ import { NavigateResult } from "./navigation";
6
+ import { GetThemeResult } from "./theming";
7
+ export type BridgeOptions = {
8
+ debug?: boolean;
9
+ hostAppOrigin: string;
10
+ };
11
+ export type BridgeError = {
12
+ code: BridgeErrorCode;
13
+ };
14
+ export declare enum BridgeErrorCode {
15
+ FORBIDDEN_ORIGIN = "FORBIDDEN_ORIGIN",
16
+ INVALID_REQUEST = "INVALID_REQUEST"
17
+ }
18
+ export declare enum BridgeMethod {
19
+ CLOSE_DIALOG = "CLOSE_DIALOG",
20
+ CLOSE_MODAL = "CLOSE_MODAL",
21
+ CREATE_DIALOG = "CREATE_DIALOG",
22
+ CREATE_MODAL = "CREATE_MODAL",
23
+ DESTROY_DIALOG = "DESTROY_DIALOG",
24
+ DESTROY_MODAL = "DESTROY_MODAL",
25
+ GET_AVAILABLE_LANGS = "GET_AVAILABLE_LANGS",
26
+ GET_LANG = "GET_LANG",
27
+ GET_THEME = "GET_THEME",
28
+ NAVIGATE = "NAVIGATE",
29
+ OPEN_DIALOG = "OPEN_DIALOG",
30
+ OPEN_MODAL = "OPEN_MODAL",
31
+ SUBSCRIBE = "SUBSCRIBE",
32
+ UNSUBSCRIBE = "UNSUBSCRIBE"
33
+ }
34
+ export type BridgeMethodResultMapping = {
35
+ [BridgeMethod.CLOSE_DIALOG]: CloseDialogResult;
36
+ [BridgeMethod.CLOSE_MODAL]: CloseModalResult;
37
+ [BridgeMethod.CREATE_DIALOG]: CreateDialogResult;
38
+ [BridgeMethod.CREATE_MODAL]: CreateModalResult;
39
+ [BridgeMethod.DESTROY_DIALOG]: DestroyDialogResult;
40
+ [BridgeMethod.DESTROY_MODAL]: DestroyModalResult;
41
+ [BridgeMethod.GET_AVAILABLE_LANGS]: GetAvailableLangsResult;
42
+ [BridgeMethod.GET_LANG]: GetLangResult;
43
+ [BridgeMethod.GET_THEME]: GetThemeResult;
44
+ [BridgeMethod.NAVIGATE]: NavigateResult;
45
+ [BridgeMethod.OPEN_DIALOG]: OpenDialogResult;
46
+ [BridgeMethod.OPEN_MODAL]: OpenModalResult;
47
+ [BridgeMethod.SUBSCRIBE]: SubscribeResult;
48
+ [BridgeMethod.UNSUBSCRIBE]: UnsubscribeResult;
49
+ };
package/dist/types.js ADDED
@@ -0,0 +1,23 @@
1
+ export var BridgeErrorCode;
2
+ (function (BridgeErrorCode) {
3
+ BridgeErrorCode["FORBIDDEN_ORIGIN"] = "FORBIDDEN_ORIGIN";
4
+ BridgeErrorCode["INVALID_REQUEST"] = "INVALID_REQUEST";
5
+ })(BridgeErrorCode || (BridgeErrorCode = {}));
6
+ export var BridgeMethod;
7
+ (function (BridgeMethod) {
8
+ BridgeMethod["CLOSE_DIALOG"] = "CLOSE_DIALOG";
9
+ BridgeMethod["CLOSE_MODAL"] = "CLOSE_MODAL";
10
+ BridgeMethod["CREATE_DIALOG"] = "CREATE_DIALOG";
11
+ BridgeMethod["CREATE_MODAL"] = "CREATE_MODAL";
12
+ BridgeMethod["DESTROY_DIALOG"] = "DESTROY_DIALOG";
13
+ BridgeMethod["DESTROY_MODAL"] = "DESTROY_MODAL";
14
+ BridgeMethod["GET_AVAILABLE_LANGS"] = "GET_AVAILABLE_LANGS";
15
+ BridgeMethod["GET_LANG"] = "GET_LANG";
16
+ BridgeMethod["GET_THEME"] = "GET_THEME";
17
+ BridgeMethod["NAVIGATE"] = "NAVIGATE";
18
+ BridgeMethod["OPEN_DIALOG"] = "OPEN_DIALOG";
19
+ BridgeMethod["OPEN_MODAL"] = "OPEN_MODAL";
20
+ BridgeMethod["SUBSCRIBE"] = "SUBSCRIBE";
21
+ BridgeMethod["UNSUBSCRIBE"] = "UNSUBSCRIBE";
22
+ })(BridgeMethod || (BridgeMethod = {}));
23
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AA0BA,MAAM,CAAN,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,wDAAqC,CAAA;IACrC,sDAAmC,CAAA;AACrC,CAAC,EAHW,eAAe,KAAf,eAAe,QAG1B;AAED,MAAM,CAAN,IAAY,YAeX;AAfD,WAAY,YAAY;IACtB,6CAA6B,CAAA;IAC7B,2CAA2B,CAAA;IAC3B,+CAA+B,CAAA;IAC/B,6CAA6B,CAAA;IAC7B,iDAAiC,CAAA;IACjC,+CAA+B,CAAA;IAC/B,2DAA2C,CAAA;IAC3C,qCAAqB,CAAA;IACrB,uCAAuB,CAAA;IACvB,qCAAqB,CAAA;IACrB,2CAA2B,CAAA;IAC3B,yCAAyB,CAAA;IACzB,uCAAuB,CAAA;IACvB,2CAA2B,CAAA;AAC7B,CAAC,EAfW,YAAY,KAAZ,YAAY,QAevB"}
package/package.json ADDED
@@ -0,0 +1,37 @@
1
+ {
2
+ "name": "@getflip/bridge",
3
+ "version": "0.0.0-new-shell-20231128130728",
4
+ "description": "Flip JavaScript Bridge for external integrations.",
5
+ "main": "dist/index.cjs.js",
6
+ "module": "dist/index.mjs",
7
+ "types": "dist/index.d.ts",
8
+ "repository": "https://github.com/getflip/swirl",
9
+ "license": "SEE LICENSE IN LICENSE.md",
10
+ "files": [
11
+ "dist/"
12
+ ],
13
+ "scripts": {
14
+ "build": "rimraf dist && tsc && rollup -c rollup.config.mjs",
15
+ "dev": "tsc -w",
16
+ "start": "yarn dev",
17
+ "test": "jest",
18
+ "test:watch": "jest --watchAll"
19
+ },
20
+ "dependencies": {
21
+ "@getflip/swirl-components": "0.0.0-new-shell-20231128130728",
22
+ "uuid": "^9.0.0"
23
+ },
24
+ "devDependencies": {
25
+ "@babel/core": "^7.20.5",
26
+ "@babel/preset-env": "^7.20.2",
27
+ "@babel/preset-typescript": "^7.18.6",
28
+ "@rollup/plugin-typescript": "^10.0.1",
29
+ "@types/jest": "^27.0.3",
30
+ "@types/uuid": "^8.3.4",
31
+ "babel-jest": "^29.3.1",
32
+ "jest": "^27.4.5",
33
+ "rimraf": "^3.0.2",
34
+ "rollup": "^3.5.1",
35
+ "typescript": "^4.9.3"
36
+ }
37
+ }