@shopify/shopify-app-remix 3.6.0 → 3.7.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 (37) hide show
  1. package/dist/cjs/react/components/AppProxyForm/AppProxyForm.js +8 -5
  2. package/dist/cjs/react/components/AppProxyForm/AppProxyForm.js.map +1 -1
  3. package/dist/cjs/server/authenticate/login/login.js.map +1 -1
  4. package/dist/cjs/server/authenticate/public/factory.js +3 -0
  5. package/dist/cjs/server/authenticate/public/factory.js.map +1 -1
  6. package/dist/cjs/server/authenticate/public/pos/authenticate.js +10 -0
  7. package/dist/cjs/server/authenticate/public/pos/authenticate.js.map +1 -0
  8. package/dist/cjs/server/clients/admin/graphql.js +1 -0
  9. package/dist/cjs/server/clients/admin/graphql.js.map +1 -1
  10. package/dist/cjs/server/version.js +1 -1
  11. package/dist/esm/react/components/AppProxyForm/AppProxyForm.mjs +8 -5
  12. package/dist/esm/react/components/AppProxyForm/AppProxyForm.mjs.map +1 -1
  13. package/dist/esm/server/authenticate/login/login.mjs.map +1 -1
  14. package/dist/esm/server/authenticate/public/factory.mjs +3 -0
  15. package/dist/esm/server/authenticate/public/factory.mjs.map +1 -1
  16. package/dist/esm/server/authenticate/public/pos/authenticate.mjs +8 -0
  17. package/dist/esm/server/authenticate/public/pos/authenticate.mjs.map +1 -0
  18. package/dist/esm/server/clients/admin/graphql.mjs +1 -0
  19. package/dist/esm/server/clients/admin/graphql.mjs.map +1 -1
  20. package/dist/esm/server/version.mjs +1 -1
  21. package/dist/ts/react/components/AppProxyForm/AppProxyForm.d.ts +8 -5
  22. package/dist/ts/react/components/AppProxyForm/AppProxyForm.d.ts.map +1 -1
  23. package/dist/ts/server/authenticate/public/factory.d.ts.map +1 -1
  24. package/dist/ts/server/authenticate/public/pos/authenticate.d.ts +4 -0
  25. package/dist/ts/server/authenticate/public/pos/authenticate.d.ts.map +1 -0
  26. package/dist/ts/server/authenticate/public/pos/types.d.ts +58 -0
  27. package/dist/ts/server/authenticate/public/pos/types.d.ts.map +1 -0
  28. package/dist/ts/server/authenticate/public/types.d.ts +20 -0
  29. package/dist/ts/server/authenticate/public/types.d.ts.map +1 -1
  30. package/dist/ts/server/clients/admin/graphql.d.ts.map +1 -1
  31. package/dist/ts/server/clients/types.d.ts +4 -0
  32. package/dist/ts/server/clients/types.d.ts.map +1 -1
  33. package/dist/ts/server/unauthenticated/admin/types.d.ts +2 -1
  34. package/dist/ts/server/unauthenticated/admin/types.d.ts.map +1 -1
  35. package/dist/ts/server/version.d.ts +1 -1
  36. package/dist/tsconfig.build.tsbuildinfo +1 -1
  37. package/package.json +16 -13
@@ -6,15 +6,19 @@ var react = require('@remix-run/react');
6
6
  var AppProxyProvider = require('../AppProxyProvider/AppProxyProvider.js');
7
7
 
8
8
  /**
9
- * Sets up a Remix `<Form>` component that works when rendered behind an app proxy.
9
+ * Sets up a Remix `<Form>` component that works when rendered on an app proxy page.
10
10
  *
11
11
  * Supports any properties accepted by the `<Form>` component.
12
12
  *
13
+ * Because Remix doesn't support URL rewriting, any route using this component should <b>match the pathname of the proxy
14
+ * URL exactly</b>, and <b>end in a trailing slash</b> (e.g., `https://<shop>/apps/proxy/`), or set the Remix Form prop
15
+ * `navigate` to `false`.
16
+ *
13
17
  * @example
14
18
  * <caption>Render a form element in a proxied route.</caption>
15
19
  * <description>Use an `AppProxyForm` within an `AppProxy` to create a form.</description>
16
20
  * ```ts
17
- * // /app/routes/**\/*.ts
21
+ * // /app/routes/apps/appProxy.ts
18
22
  * import {
19
23
  * AppProxyProvider,
20
24
  * AppProxyForm,
@@ -44,12 +48,11 @@ var AppProxyProvider = require('../AppProxyProvider/AppProxyProvider.js');
44
48
  *
45
49
  * export default function App() {
46
50
  * const { appUrl } = useLoaderData();
47
- * const data = useActionData();
48
51
  *
49
52
  * return (
50
53
  * <AppProxyProvider appUrl={appUrl}>
51
- * <AppProxyForm action="/">
52
- * <input type="text" name="field" defaultValue={data?.field} />
54
+ * <AppProxyForm action="/apps/appProxy" method="post">
55
+ * <input type="text" name="field" />
53
56
  *
54
57
  * <input type="submit" name="Submit" />
55
58
  * </AppProxyForm>
@@ -1 +1 @@
1
- {"version":3,"file":"AppProxyForm.js","sources":["../../../../../../src/react/components/AppProxyForm/AppProxyForm.tsx"],"sourcesContent":[null],"names":["useContext","AppProxyProviderContext","_jsx","Form"],"mappings":";;;;;;;AASA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoDG;AACG,SAAU,YAAY,CAAC,KAAwB,EAAA;AACnD,IAAA,MAAM,OAAO,GAAGA,gBAAU,CAACC,wCAAuB,CAAC;IAEnD,IAAI,CAAC,OAAO,EAAE;AACZ,QAAA,MAAM,IAAI,KAAK,CACb,gEAAgE,CACjE;;IAGH,MAAM,EAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,UAAU,EAAC,GAAG,KAAK;IAE/C,QACEC,eAACC,UAAI,EAAA,EAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,EAAM,GAAA,UAAU,YAC3D,QAAQ,EAAA,CACJ;AAEX;;;;"}
1
+ {"version":3,"file":"AppProxyForm.js","sources":["../../../../../../src/react/components/AppProxyForm/AppProxyForm.tsx"],"sourcesContent":[null],"names":["useContext","AppProxyProviderContext","_jsx","Form"],"mappings":";;;;;;;AASA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuDG;AACG,SAAU,YAAY,CAAC,KAAwB,EAAA;AACnD,IAAA,MAAM,OAAO,GAAGA,gBAAU,CAACC,wCAAuB,CAAC;IAEnD,IAAI,CAAC,OAAO,EAAE;AACZ,QAAA,MAAM,IAAI,KAAK,CACb,gEAAgE,CACjE;;IAGH,MAAM,EAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,UAAU,EAAC,GAAG,KAAK;IAE/C,QACEC,eAACC,UAAI,EAAA,EAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,EAAM,GAAA,UAAU,YAC3D,QAAQ,EAAA,CACJ;AAEX;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"login.js","sources":["../../../../../../src/server/authenticate/login/login.ts"],"sourcesContent":[null],"names":["LoginErrorType","redirect"],"mappings":";;;;;AAIM,SAAU,YAAY,CAAC,MAAmB,EAAA;IAC9C,MAAM,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC,GAAG,MAAM;AAEpC,IAAA,OAAO,eAAe,KAAK,CAAC,OAAgB,EAAA;QAC1C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC;QAChC,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC;QAE9C,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,CAAC,SAAS,EAAE;AAC1C,YAAA,OAAO,EAAE;;AAGX,QAAA,MAAM,IAAI,GACR,SAAS,IAAK,CAAC,MAAM,OAAO,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,MAAM,CAAY;QAEjE,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAC,IAAI,EAAC,CAAC;AAC9C,YAAA,OAAO,EAAC,IAAI,EAAEA,oBAAc,CAAC,WAAW,EAAC;;QAG3C,MAAM,mBAAmB,GAAG;AACzB,aAAA,OAAO,CAAC,cAAc,EAAE,EAAE;AAC1B,aAAA,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QACrB,MAAM,cAAc,GAClB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;cACpB,CAAG,EAAA,mBAAmB,CAAgB,cAAA;cACtC,mBAAmB;QACzB,MAAM,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC;QAE5D,IAAI,CAAC,aAAa,EAAE;YAClB,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAC,IAAI,EAAC,CAAC;AAC9C,YAAA,OAAO,EAAC,IAAI,EAAEA,oBAAc,CAAC,WAAW,EAAC;;AAG3C,QAAA,MAAM,QAAQ,GAAG,CAAG,EAAA,MAAM,CAAC,MAAM,CAAA,EAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAS,MAAA,EAAA,aAAa,EAAE;QAE5E,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,uBAAuB,CAAC,aAAa,CAAC;QAClE,MAAM,WAAW,GAAG,CAAW,QAAA,EAAA,SAAS,4BAA4B,MAAM,CAAC,MAAM,CAAA,CAAE;QAEnF,MAAM,aAAa,GACjB,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,MAAM,CAAC,gCAAgC;QACxE,MAAM,WAAW,GAAG,aAAa,GAAG,WAAW,GAAG,QAAQ;AAE1D,QAAA,MAAM,CAAC,IAAI,CAAC,CAAgC,6BAAA,EAAA,WAAW,EAAE,EAAE;AACzD,YAAA,IAAI,EAAE,aAAa;AACpB,SAAA,CAAC;AAEF,QAAA,MAAMC,sBAAQ,CAAC,WAAW,CAAC;AAC7B,KAAC;AACH;;;;"}
1
+ {"version":3,"file":"login.js","sources":["../../../../../../src/server/authenticate/login/login.ts"],"sourcesContent":[null],"names":["LoginErrorType","redirect"],"mappings":";;;;;AAIM,SAAU,YAAY,CAAC,MAAmB,EAAA;IAC9C,MAAM,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC,GAAG,MAAM;AAEpC,IAAA,OAAO,eAAe,KAAK,CAAC,OAAgB,EAAA;QAC1C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC;QAChC,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC;QAE9C,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,CAAC,SAAS,EAAE;AAC1C,YAAA,OAAO,EAAE;;AAGX,QAAA,MAAM,IAAI,GACR,SAAS,IAAK,CAAC,MAAM,OAAO,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,MAAM,CAAY;QAEjE,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAC,IAAI,EAAC,CAAC;AAC9C,YAAA,OAAO,EAAC,IAAI,EAAEA,oBAAc,CAAC,WAAW,EAAC;;QAG3C,MAAM,mBAAmB,GAAG;AACzB,aAAA,OAAO,CAAC,cAAc,EAAE,EAAE;AAC1B,aAAA,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QACrB,MAAM,cAAc,GAClB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK;cACnB,CAAG,EAAA,mBAAmB,CAAgB,cAAA;cACtC,mBAAmB;QACzB,MAAM,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC;QAE5D,IAAI,CAAC,aAAa,EAAE;YAClB,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAC,IAAI,EAAC,CAAC;AAC9C,YAAA,OAAO,EAAC,IAAI,EAAEA,oBAAc,CAAC,WAAW,EAAC;;AAG3C,QAAA,MAAM,QAAQ,GAAG,CAAG,EAAA,MAAM,CAAC,MAAM,CAAA,EAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAS,MAAA,EAAA,aAAa,EAAE;QAE5E,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,uBAAuB,CAAC,aAAa,CAAC;QAClE,MAAM,WAAW,GAAG,CAAW,QAAA,EAAA,SAAS,4BAA4B,MAAM,CAAC,MAAM,CAAA,CAAE;QAEnF,MAAM,aAAa,GACjB,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,MAAM,CAAC,gCAAgC;QACxE,MAAM,WAAW,GAAG,aAAa,GAAG,WAAW,GAAG,QAAQ;AAE1D,QAAA,MAAM,CAAC,IAAI,CAAC,CAAgC,6BAAA,EAAA,WAAW,EAAE,EAAE;AACzD,YAAA,IAAI,EAAE,aAAa;AACpB,SAAA,CAAC;AAEF,QAAA,MAAMC,sBAAQ,CAAC,WAAW,CAAC;AAC7B,KAAC;AACH;;;;"}
@@ -3,15 +3,18 @@
3
3
  var authenticate = require('./checkout/authenticate.js');
4
4
  var authenticate$1 = require('./appProxy/authenticate.js');
5
5
  var authenticate$2 = require('./customer-account/authenticate.js');
6
+ var authenticate$3 = require('./pos/authenticate.js');
6
7
 
7
8
  function authenticatePublicFactory(params) {
8
9
  const authenticateCheckout = authenticate.authenticateCheckoutFactory(params);
9
10
  const authenticateAppProxy = authenticate$1.authenticateAppProxyFactory(params);
10
11
  const authenticateCustomerAccount = authenticate$2.authenticateCustomerAccountFactory(params);
12
+ const authenticatePOS = authenticate$3.authenticatePOSFactory(params);
11
13
  const context = {
12
14
  checkout: authenticateCheckout,
13
15
  appProxy: authenticateAppProxy,
14
16
  customerAccount: authenticateCustomerAccount,
17
+ pos: authenticatePOS,
15
18
  };
16
19
  return context;
17
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sources":["../../../../../../src/server/authenticate/public/factory.ts"],"sourcesContent":[null],"names":["authenticateCheckoutFactory","authenticateAppProxyFactory","authenticateCustomerAccountFactory"],"mappings":";;;;;;AAUM,SAAU,yBAAyB,CAGvC,MAAmB,EAAA;AACnB,IAAA,MAAM,oBAAoB,GAAGA,wCAA2B,CAAC,MAAM,CAAC;AAChE,IAAA,MAAM,oBAAoB,GAAGC,0CAA2B,CAGtD,MAAM,CAAC;AACT,IAAA,MAAM,2BAA2B,GAC/BC,iDAAkC,CAAC,MAAM,CAAC;AAE5C,IAAA,MAAM,OAAO,GAAkC;AAC7C,QAAA,QAAQ,EAAE,oBAAoB;AAC9B,QAAA,QAAQ,EAAE,oBAAoB;AAC9B,QAAA,eAAe,EAAE,2BAA2B;KAC7C;AAED,IAAA,OAAO,OAAO;AAChB;;;;"}
1
+ {"version":3,"file":"factory.js","sources":["../../../../../../src/server/authenticate/public/factory.ts"],"sourcesContent":[null],"names":["authenticateCheckoutFactory","authenticateAppProxyFactory","authenticateCustomerAccountFactory","authenticatePOSFactory"],"mappings":";;;;;;;AAWM,SAAU,yBAAyB,CAGvC,MAAmB,EAAA;AACnB,IAAA,MAAM,oBAAoB,GAAGA,wCAA2B,CAAC,MAAM,CAAC;AAChE,IAAA,MAAM,oBAAoB,GAAGC,0CAA2B,CAGtD,MAAM,CAAC;AACT,IAAA,MAAM,2BAA2B,GAC/BC,iDAAkC,CAAC,MAAM,CAAC;AAC5C,IAAA,MAAM,eAAe,GAAGC,qCAAsB,CAAC,MAAM,CAAC;AAEtD,IAAA,MAAM,OAAO,GAAkC;AAC7C,QAAA,QAAQ,EAAE,oBAAoB;AAC9B,QAAA,QAAQ,EAAE,oBAAoB;AAC9B,QAAA,eAAe,EAAE,2BAA2B;AAC5C,QAAA,GAAG,EAAE,eAAe;KACrB;AAED,IAAA,OAAO,OAAO;AAChB;;;;"}
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ var authenticate = require('../extension/authenticate.js');
4
+
5
+ function authenticatePOSFactory(params) {
6
+ return authenticate.authenticateExtensionFactory(params, 'pos');
7
+ }
8
+
9
+ exports.authenticatePOSFactory = authenticatePOSFactory;
10
+ //# sourceMappingURL=authenticate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authenticate.js","sources":["../../../../../../../src/server/authenticate/public/pos/authenticate.ts"],"sourcesContent":[null],"names":["authenticateExtensionFactory"],"mappings":";;;;AAKM,SAAU,sBAAsB,CAAC,MAAmB,EAAA;AACxD,IAAA,OAAOA,yCAA4B,CAAC,MAAM,EAAE,KAAK,CAAoB;AACvE;;;;"}
@@ -16,6 +16,7 @@ function graphqlClientFactory({ params, handleClientError, session, }) {
16
16
  variables: options?.variables,
17
17
  retries: options?.tries ? options.tries - 1 : 0,
18
18
  headers: options?.headers,
19
+ signal: options?.signal,
19
20
  });
20
21
  return new Response(JSON.stringify(apiResponse));
21
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"graphql.js","sources":["../../../../../../src/server/clients/admin/graphql.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAMA;AACA;AACA;AACA;AACM,SAAU,oBAAoB,CAAC,EACnC,MAAM,EACN,iBAAiB,EACjB,OAAO,GACY,EAAA;AACnB,IAAA,OAAO,eAAe,KAAK,CAAC,SAAS,EAAE,OAAO,EAAA;QAC5C,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;YAC5C,OAAO;YACP,UAAU,EAAE,OAAO,EAAE,UAAU;AAChC,SAAA,CAAC;AAEF,QAAA,IAAI;;YAEF,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE;gBAClD,SAAS,EAAE,OAAO,EAAE,SAAS;AAC7B,gBAAA,OAAO,EAAE,OAAO,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC;gBAC/C,OAAO,EAAE,OAAO,EAAE,OAAO;AAC1B,aAAA,CAAC;YAEF,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;;QAChD,OAAO,KAAK,EAAE;YACd,IAAI,iBAAiB,EAAE;gBACrB,MAAM,MAAM,iBAAiB,CAAC,EAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAC,CAAC;;AAGzD,YAAA,MAAM,KAAK;;AAEf,KAAC;AACH;;;;"}
1
+ {"version":3,"file":"graphql.js","sources":["../../../../../../src/server/clients/admin/graphql.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAMA;AACA;AACA;AACA;AACM,SAAU,oBAAoB,CAAC,EACnC,MAAM,EACN,iBAAiB,EACjB,OAAO,GACY,EAAA;AACnB,IAAA,OAAO,eAAe,KAAK,CAAC,SAAS,EAAE,OAAO,EAAA;QAC5C,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;YAC5C,OAAO;YACP,UAAU,EAAE,OAAO,EAAE,UAAU;AAChC,SAAA,CAAC;AAEF,QAAA,IAAI;;YAEF,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE;gBAClD,SAAS,EAAE,OAAO,EAAE,SAAS;AAC7B,gBAAA,OAAO,EAAE,OAAO,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC;gBAC/C,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,MAAM,EAAE,OAAO,EAAE,MAAM;AACxB,aAAA,CAAC;YAEF,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;;QAChD,OAAO,KAAK,EAAE;YACd,IAAI,iBAAiB,EAAE;gBACrB,MAAM,MAAM,iBAAiB,CAAC,EAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAC,CAAC;;AAGzD,YAAA,MAAM,KAAK;;AAEf,KAAC;AACH;;;;"}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const SHOPIFY_REMIX_LIBRARY_VERSION = '3.6.0';
3
+ const SHOPIFY_REMIX_LIBRARY_VERSION = '3.7.0';
4
4
 
5
5
  exports.SHOPIFY_REMIX_LIBRARY_VERSION = SHOPIFY_REMIX_LIBRARY_VERSION;
6
6
  //# sourceMappingURL=version.js.map
@@ -4,15 +4,19 @@ import { Form } from '@remix-run/react';
4
4
  import { AppProxyProviderContext } from '../AppProxyProvider/AppProxyProvider.mjs';
5
5
 
6
6
  /**
7
- * Sets up a Remix `<Form>` component that works when rendered behind an app proxy.
7
+ * Sets up a Remix `<Form>` component that works when rendered on an app proxy page.
8
8
  *
9
9
  * Supports any properties accepted by the `<Form>` component.
10
10
  *
11
+ * Because Remix doesn't support URL rewriting, any route using this component should <b>match the pathname of the proxy
12
+ * URL exactly</b>, and <b>end in a trailing slash</b> (e.g., `https://<shop>/apps/proxy/`), or set the Remix Form prop
13
+ * `navigate` to `false`.
14
+ *
11
15
  * @example
12
16
  * <caption>Render a form element in a proxied route.</caption>
13
17
  * <description>Use an `AppProxyForm` within an `AppProxy` to create a form.</description>
14
18
  * ```ts
15
- * // /app/routes/**\/*.ts
19
+ * // /app/routes/apps/appProxy.ts
16
20
  * import {
17
21
  * AppProxyProvider,
18
22
  * AppProxyForm,
@@ -42,12 +46,11 @@ import { AppProxyProviderContext } from '../AppProxyProvider/AppProxyProvider.mj
42
46
  *
43
47
  * export default function App() {
44
48
  * const { appUrl } = useLoaderData();
45
- * const data = useActionData();
46
49
  *
47
50
  * return (
48
51
  * <AppProxyProvider appUrl={appUrl}>
49
- * <AppProxyForm action="/">
50
- * <input type="text" name="field" defaultValue={data?.field} />
52
+ * <AppProxyForm action="/apps/appProxy" method="post">
53
+ * <input type="text" name="field" />
51
54
  *
52
55
  * <input type="submit" name="Submit" />
53
56
  * </AppProxyForm>
@@ -1 +1 @@
1
- {"version":3,"file":"AppProxyForm.mjs","sources":["../../../../../../src/react/components/AppProxyForm/AppProxyForm.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":";;;;;AASA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoDG;AACG,SAAU,YAAY,CAAC,KAAwB,EAAA;AACnD,IAAA,MAAM,OAAO,GAAG,UAAU,CAAC,uBAAuB,CAAC;IAEnD,IAAI,CAAC,OAAO,EAAE;AACZ,QAAA,MAAM,IAAI,KAAK,CACb,gEAAgE,CACjE;;IAGH,MAAM,EAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,UAAU,EAAC,GAAG,KAAK;IAE/C,QACEA,IAAC,IAAI,EAAA,EAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,EAAM,GAAA,UAAU,YAC3D,QAAQ,EAAA,CACJ;AAEX;;;;"}
1
+ {"version":3,"file":"AppProxyForm.mjs","sources":["../../../../../../src/react/components/AppProxyForm/AppProxyForm.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":";;;;;AASA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuDG;AACG,SAAU,YAAY,CAAC,KAAwB,EAAA;AACnD,IAAA,MAAM,OAAO,GAAG,UAAU,CAAC,uBAAuB,CAAC;IAEnD,IAAI,CAAC,OAAO,EAAE;AACZ,QAAA,MAAM,IAAI,KAAK,CACb,gEAAgE,CACjE;;IAGH,MAAM,EAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,UAAU,EAAC,GAAG,KAAK;IAE/C,QACEA,IAAC,IAAI,EAAA,EAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,EAAM,GAAA,UAAU,YAC3D,QAAQ,EAAA,CACJ;AAEX;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"login.mjs","sources":["../../../../../../src/server/authenticate/login/login.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAIM,SAAU,YAAY,CAAC,MAAmB,EAAA;IAC9C,MAAM,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC,GAAG,MAAM;AAEpC,IAAA,OAAO,eAAe,KAAK,CAAC,OAAgB,EAAA;QAC1C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC;QAChC,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC;QAE9C,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,CAAC,SAAS,EAAE;AAC1C,YAAA,OAAO,EAAE;;AAGX,QAAA,MAAM,IAAI,GACR,SAAS,IAAK,CAAC,MAAM,OAAO,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,MAAM,CAAY;QAEjE,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAC,IAAI,EAAC,CAAC;AAC9C,YAAA,OAAO,EAAC,IAAI,EAAE,cAAc,CAAC,WAAW,EAAC;;QAG3C,MAAM,mBAAmB,GAAG;AACzB,aAAA,OAAO,CAAC,cAAc,EAAE,EAAE;AAC1B,aAAA,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QACrB,MAAM,cAAc,GAClB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;cACpB,CAAG,EAAA,mBAAmB,CAAgB,cAAA;cACtC,mBAAmB;QACzB,MAAM,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC;QAE5D,IAAI,CAAC,aAAa,EAAE;YAClB,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAC,IAAI,EAAC,CAAC;AAC9C,YAAA,OAAO,EAAC,IAAI,EAAE,cAAc,CAAC,WAAW,EAAC;;AAG3C,QAAA,MAAM,QAAQ,GAAG,CAAG,EAAA,MAAM,CAAC,MAAM,CAAA,EAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAS,MAAA,EAAA,aAAa,EAAE;QAE5E,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,uBAAuB,CAAC,aAAa,CAAC;QAClE,MAAM,WAAW,GAAG,CAAW,QAAA,EAAA,SAAS,4BAA4B,MAAM,CAAC,MAAM,CAAA,CAAE;QAEnF,MAAM,aAAa,GACjB,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,MAAM,CAAC,gCAAgC;QACxE,MAAM,WAAW,GAAG,aAAa,GAAG,WAAW,GAAG,QAAQ;AAE1D,QAAA,MAAM,CAAC,IAAI,CAAC,CAAgC,6BAAA,EAAA,WAAW,EAAE,EAAE;AACzD,YAAA,IAAI,EAAE,aAAa;AACpB,SAAA,CAAC;AAEF,QAAA,MAAM,QAAQ,CAAC,WAAW,CAAC;AAC7B,KAAC;AACH;;;;"}
1
+ {"version":3,"file":"login.mjs","sources":["../../../../../../src/server/authenticate/login/login.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAIM,SAAU,YAAY,CAAC,MAAmB,EAAA;IAC9C,MAAM,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAC,GAAG,MAAM;AAEpC,IAAA,OAAO,eAAe,KAAK,CAAC,OAAgB,EAAA;QAC1C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC;QAChC,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC;QAE9C,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,CAAC,SAAS,EAAE;AAC1C,YAAA,OAAO,EAAE;;AAGX,QAAA,MAAM,IAAI,GACR,SAAS,IAAK,CAAC,MAAM,OAAO,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,MAAM,CAAY;QAEjE,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAC,IAAI,EAAC,CAAC;AAC9C,YAAA,OAAO,EAAC,IAAI,EAAE,cAAc,CAAC,WAAW,EAAC;;QAG3C,MAAM,mBAAmB,GAAG;AACzB,aAAA,OAAO,CAAC,cAAc,EAAE,EAAE;AAC1B,aAAA,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QACrB,MAAM,cAAc,GAClB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK;cACnB,CAAG,EAAA,mBAAmB,CAAgB,cAAA;cACtC,mBAAmB;QACzB,MAAM,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC;QAE5D,IAAI,CAAC,aAAa,EAAE;YAClB,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAC,IAAI,EAAC,CAAC;AAC9C,YAAA,OAAO,EAAC,IAAI,EAAE,cAAc,CAAC,WAAW,EAAC;;AAG3C,QAAA,MAAM,QAAQ,GAAG,CAAG,EAAA,MAAM,CAAC,MAAM,CAAA,EAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAS,MAAA,EAAA,aAAa,EAAE;QAE5E,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,uBAAuB,CAAC,aAAa,CAAC;QAClE,MAAM,WAAW,GAAG,CAAW,QAAA,EAAA,SAAS,4BAA4B,MAAM,CAAC,MAAM,CAAA,CAAE;QAEnF,MAAM,aAAa,GACjB,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,MAAM,CAAC,gCAAgC;QACxE,MAAM,WAAW,GAAG,aAAa,GAAG,WAAW,GAAG,QAAQ;AAE1D,QAAA,MAAM,CAAC,IAAI,CAAC,CAAgC,6BAAA,EAAA,WAAW,EAAE,EAAE;AACzD,YAAA,IAAI,EAAE,aAAa;AACpB,SAAA,CAAC;AAEF,QAAA,MAAM,QAAQ,CAAC,WAAW,CAAC;AAC7B,KAAC;AACH;;;;"}
@@ -1,15 +1,18 @@
1
1
  import { authenticateCheckoutFactory } from './checkout/authenticate.mjs';
2
2
  import { authenticateAppProxyFactory } from './appProxy/authenticate.mjs';
3
3
  import { authenticateCustomerAccountFactory } from './customer-account/authenticate.mjs';
4
+ import { authenticatePOSFactory } from './pos/authenticate.mjs';
4
5
 
5
6
  function authenticatePublicFactory(params) {
6
7
  const authenticateCheckout = authenticateCheckoutFactory(params);
7
8
  const authenticateAppProxy = authenticateAppProxyFactory(params);
8
9
  const authenticateCustomerAccount = authenticateCustomerAccountFactory(params);
10
+ const authenticatePOS = authenticatePOSFactory(params);
9
11
  const context = {
10
12
  checkout: authenticateCheckout,
11
13
  appProxy: authenticateAppProxy,
12
14
  customerAccount: authenticateCustomerAccount,
15
+ pos: authenticatePOS,
13
16
  };
14
17
  return context;
15
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"factory.mjs","sources":["../../../../../../src/server/authenticate/public/factory.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAUM,SAAU,yBAAyB,CAGvC,MAAmB,EAAA;AACnB,IAAA,MAAM,oBAAoB,GAAG,2BAA2B,CAAC,MAAM,CAAC;AAChE,IAAA,MAAM,oBAAoB,GAAG,2BAA2B,CAGtD,MAAM,CAAC;AACT,IAAA,MAAM,2BAA2B,GAC/B,kCAAkC,CAAC,MAAM,CAAC;AAE5C,IAAA,MAAM,OAAO,GAAkC;AAC7C,QAAA,QAAQ,EAAE,oBAAoB;AAC9B,QAAA,QAAQ,EAAE,oBAAoB;AAC9B,QAAA,eAAe,EAAE,2BAA2B;KAC7C;AAED,IAAA,OAAO,OAAO;AAChB;;;;"}
1
+ {"version":3,"file":"factory.mjs","sources":["../../../../../../src/server/authenticate/public/factory.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAWM,SAAU,yBAAyB,CAGvC,MAAmB,EAAA;AACnB,IAAA,MAAM,oBAAoB,GAAG,2BAA2B,CAAC,MAAM,CAAC;AAChE,IAAA,MAAM,oBAAoB,GAAG,2BAA2B,CAGtD,MAAM,CAAC;AACT,IAAA,MAAM,2BAA2B,GAC/B,kCAAkC,CAAC,MAAM,CAAC;AAC5C,IAAA,MAAM,eAAe,GAAG,sBAAsB,CAAC,MAAM,CAAC;AAEtD,IAAA,MAAM,OAAO,GAAkC;AAC7C,QAAA,QAAQ,EAAE,oBAAoB;AAC9B,QAAA,QAAQ,EAAE,oBAAoB;AAC9B,QAAA,eAAe,EAAE,2BAA2B;AAC5C,QAAA,GAAG,EAAE,eAAe;KACrB;AAED,IAAA,OAAO,OAAO;AAChB;;;;"}
@@ -0,0 +1,8 @@
1
+ import { authenticateExtensionFactory } from '../extension/authenticate.mjs';
2
+
3
+ function authenticatePOSFactory(params) {
4
+ return authenticateExtensionFactory(params, 'pos');
5
+ }
6
+
7
+ export { authenticatePOSFactory };
8
+ //# sourceMappingURL=authenticate.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authenticate.mjs","sources":["../../../../../../../src/server/authenticate/public/pos/authenticate.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAKM,SAAU,sBAAsB,CAAC,MAAmB,EAAA;AACxD,IAAA,OAAO,4BAA4B,CAAC,MAAM,EAAE,KAAK,CAAoB;AACvE;;;;"}
@@ -14,6 +14,7 @@ function graphqlClientFactory({ params, handleClientError, session, }) {
14
14
  variables: options?.variables,
15
15
  retries: options?.tries ? options.tries - 1 : 0,
16
16
  headers: options?.headers,
17
+ signal: options?.signal,
17
18
  });
18
19
  return new Response(JSON.stringify(apiResponse));
19
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"graphql.mjs","sources":["../../../../../../src/server/clients/admin/graphql.ts"],"sourcesContent":[null],"names":[],"mappings":"AAMA;AACA;AACA;AACA;AACM,SAAU,oBAAoB,CAAC,EACnC,MAAM,EACN,iBAAiB,EACjB,OAAO,GACY,EAAA;AACnB,IAAA,OAAO,eAAe,KAAK,CAAC,SAAS,EAAE,OAAO,EAAA;QAC5C,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;YAC5C,OAAO;YACP,UAAU,EAAE,OAAO,EAAE,UAAU;AAChC,SAAA,CAAC;AAEF,QAAA,IAAI;;YAEF,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE;gBAClD,SAAS,EAAE,OAAO,EAAE,SAAS;AAC7B,gBAAA,OAAO,EAAE,OAAO,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC;gBAC/C,OAAO,EAAE,OAAO,EAAE,OAAO;AAC1B,aAAA,CAAC;YAEF,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;;QAChD,OAAO,KAAK,EAAE;YACd,IAAI,iBAAiB,EAAE;gBACrB,MAAM,MAAM,iBAAiB,CAAC,EAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAC,CAAC;;AAGzD,YAAA,MAAM,KAAK;;AAEf,KAAC;AACH;;;;"}
1
+ {"version":3,"file":"graphql.mjs","sources":["../../../../../../src/server/clients/admin/graphql.ts"],"sourcesContent":[null],"names":[],"mappings":"AAMA;AACA;AACA;AACA;AACM,SAAU,oBAAoB,CAAC,EACnC,MAAM,EACN,iBAAiB,EACjB,OAAO,GACY,EAAA;AACnB,IAAA,OAAO,eAAe,KAAK,CAAC,SAAS,EAAE,OAAO,EAAA;QAC5C,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;YAC5C,OAAO;YACP,UAAU,EAAE,OAAO,EAAE,UAAU;AAChC,SAAA,CAAC;AAEF,QAAA,IAAI;;YAEF,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE;gBAClD,SAAS,EAAE,OAAO,EAAE,SAAS;AAC7B,gBAAA,OAAO,EAAE,OAAO,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC;gBAC/C,OAAO,EAAE,OAAO,EAAE,OAAO;gBACzB,MAAM,EAAE,OAAO,EAAE,MAAM;AACxB,aAAA,CAAC;YAEF,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;;QAChD,OAAO,KAAK,EAAE;YACd,IAAI,iBAAiB,EAAE;gBACrB,MAAM,MAAM,iBAAiB,CAAC,EAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAC,CAAC;;AAGzD,YAAA,MAAM,KAAK;;AAEf,KAAC;AACH;;;;"}
@@ -1,4 +1,4 @@
1
- const SHOPIFY_REMIX_LIBRARY_VERSION = '3.6.0';
1
+ const SHOPIFY_REMIX_LIBRARY_VERSION = '3.7.0';
2
2
 
3
3
  export { SHOPIFY_REMIX_LIBRARY_VERSION };
4
4
  //# sourceMappingURL=version.mjs.map
@@ -3,15 +3,19 @@ export interface AppProxyFormProps extends FormProps {
3
3
  action: string;
4
4
  }
5
5
  /**
6
- * Sets up a Remix `<Form>` component that works when rendered behind an app proxy.
6
+ * Sets up a Remix `<Form>` component that works when rendered on an app proxy page.
7
7
  *
8
8
  * Supports any properties accepted by the `<Form>` component.
9
9
  *
10
+ * Because Remix doesn't support URL rewriting, any route using this component should <b>match the pathname of the proxy
11
+ * URL exactly</b>, and <b>end in a trailing slash</b> (e.g., `https://<shop>/apps/proxy/`), or set the Remix Form prop
12
+ * `navigate` to `false`.
13
+ *
10
14
  * @example
11
15
  * <caption>Render a form element in a proxied route.</caption>
12
16
  * <description>Use an `AppProxyForm` within an `AppProxy` to create a form.</description>
13
17
  * ```ts
14
- * // /app/routes/**\/*.ts
18
+ * // /app/routes/apps/appProxy.ts
15
19
  * import {
16
20
  * AppProxyProvider,
17
21
  * AppProxyForm,
@@ -41,12 +45,11 @@ export interface AppProxyFormProps extends FormProps {
41
45
  *
42
46
  * export default function App() {
43
47
  * const { appUrl } = useLoaderData();
44
- * const data = useActionData();
45
48
  *
46
49
  * return (
47
50
  * <AppProxyProvider appUrl={appUrl}>
48
- * <AppProxyForm action="/">
49
- * <input type="text" name="field" defaultValue={data?.field} />
51
+ * <AppProxyForm action="/apps/appProxy" method="post">
52
+ * <input type="text" name="field" />
50
53
  *
51
54
  * <input type="submit" name="Submit" />
52
55
  * </AppProxyForm>
@@ -1 +1 @@
1
- {"version":3,"file":"AppProxyForm.d.ts","sourceRoot":"","sources":["../../../../../src/react/components/AppProxyForm/AppProxyForm.tsx"],"names":[],"mappings":"AACA,OAAO,EAAO,KAAK,SAAS,EAAC,MAAM,kBAAkB,CAAC;AAItD,MAAM,WAAW,iBAAkB,SAAQ,SAAS;IAClD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,2CAgBpD"}
1
+ {"version":3,"file":"AppProxyForm.d.ts","sourceRoot":"","sources":["../../../../../src/react/components/AppProxyForm/AppProxyForm.tsx"],"names":[],"mappings":"AACA,OAAO,EAAO,KAAK,SAAS,EAAC,MAAM,kBAAkB,CAAC;AAItD,MAAM,WAAW,iBAAkB,SAAQ,SAAS;IAClD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,2CAgBpD"}
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../../../src/server/authenticate/public/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AAKxC,OAAO,EAAC,kBAAkB,EAAC,MAAM,SAAS,CAAC;AAE3C,wBAAgB,yBAAyB,CACvC,SAAS,SAAS,YAAY,EAC9B,SAAS,SAAS,oBAAoB,EACtC,MAAM,EAAE,WAAW,iCAgBpB"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../../../src/server/authenticate/public/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AAKxC,OAAO,EAAC,kBAAkB,EAAC,MAAM,SAAS,CAAC;AAG3C,wBAAgB,yBAAyB,CACvC,SAAS,SAAS,YAAY,EAC9B,SAAS,SAAS,oBAAoB,EACtC,MAAM,EAAE,WAAW,iCAkBpB"}
@@ -0,0 +1,4 @@
1
+ import { BasicParams } from '../../../types';
2
+ import type { AuthenticatePOS } from './types';
3
+ export declare function authenticatePOSFactory(params: BasicParams): AuthenticatePOS;
4
+ //# sourceMappingURL=authenticate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authenticate.d.ts","sourceRoot":"","sources":["../../../../../../src/server/authenticate/public/pos/authenticate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAG3C,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,SAAS,CAAC;AAE7C,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,WAAW,GAAG,eAAe,CAE3E"}
@@ -0,0 +1,58 @@
1
+ import { JwtPayload } from '@shopify/shopify-api';
2
+ import { EnsureCORSFunction } from '../../helpers/ensure-cors-headers';
3
+ export type AuthenticatePOS = (request: Request, options?: AuthenticatePOSOptions) => Promise<POSContext>;
4
+ export interface AuthenticatePOSOptions {
5
+ corsHeaders?: string[];
6
+ }
7
+ /**
8
+ * Authenticated Context for a POS UI extension request
9
+ */
10
+ export interface POSContext {
11
+ /**
12
+ * The decoded and validated session token for the request
13
+ *
14
+ * Refer to the OAuth docs for the [session token payload](https://shopify.dev/docs/apps/auth/oauth/session-tokens#payload).
15
+ *
16
+ * @example
17
+ * <caption>Using the decoded session token.</caption>
18
+ * <description>Get store-specific data using the `sessionToken` object.</description>
19
+ * ```ts
20
+ * // app/routes/public/my-route.ts
21
+ * import { LoaderFunctionArgs, json } from "@remix-run/node";
22
+ * import { authenticate } from "../shopify.server";
23
+ * import { getMyAppData } from "~/db/model.server";
24
+ *
25
+ * export const loader = async ({ request }: LoaderFunctionArgs) => {
26
+ * const { sessionToken } = await authenticate.public.pos(
27
+ * request
28
+ * );
29
+ * return json(await getMyAppData({shop: sessionToken.dest}));
30
+ * };
31
+ * ```
32
+ */
33
+ sessionToken: JwtPayload;
34
+ /**
35
+ * A function that ensures the CORS headers are set correctly for the response.
36
+ *
37
+ * @example
38
+ * <caption>Setting CORS headers for a public request.</caption>
39
+ * <description>Use the `cors` helper to ensure your app can respond to POS UI extension requests.</description>
40
+ * ```ts
41
+ * // app/routes/public/my-route.ts
42
+ * import { LoaderFunctionArgs, json } from "@remix-run/node";
43
+ * import { authenticate } from "../shopify.server";
44
+ * import { getMyAppData } from "~/db/model.server";
45
+ *
46
+ * export const loader = async ({ request }: LoaderFunctionArgs) => {
47
+ * const { sessionToken, cors } = await authenticate.public.pos(
48
+ * request,
49
+ * { corsHeaders: ["X-My-Custom-Header"] }
50
+ * );
51
+ * const data = await getMyAppData({shop: sessionToken.dest});
52
+ * return cors(json(data));
53
+ * };
54
+ * ```
55
+ */
56
+ cors: EnsureCORSFunction;
57
+ }
58
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/server/authenticate/public/pos/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EAAC,kBAAkB,EAAC,MAAM,mCAAmC,CAAC;AAErE,MAAM,MAAM,eAAe,GAAG,CAC5B,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,sBAAsB,KAC7B,OAAO,CAAC,UAAU,CAAC,CAAC;AAEzB,MAAM,WAAW,sBAAsB;IACrC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,YAAY,EAAE,UAAU,CAAC;IAEzB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,IAAI,EAAE,kBAAkB,CAAC;CAC1B"}
@@ -2,6 +2,7 @@ import type { AppConfigArg } from '../../config-types';
2
2
  import type { AuthenticateCheckout } from './checkout/types';
3
3
  import type { AuthenticateAppProxy } from './appProxy/types';
4
4
  import type { AuthenticateCustomerAccount } from './customer-account/types';
5
+ import type { AuthenticatePOS } from './pos/types';
5
6
  export interface AuthenticatePublic<Config extends AppConfigArg> {
6
7
  /**
7
8
  * Authenticate a request from a checkout extension
@@ -65,5 +66,24 @@ export interface AuthenticatePublic<Config extends AppConfigArg> {
65
66
  * ```
66
67
  */
67
68
  customerAccount: AuthenticateCustomerAccount;
69
+ /**
70
+ * Authenticate a request from a POS UI extension
71
+ *
72
+ * @example
73
+ * <caption>Authenticating a POS UI extension request</caption>
74
+ * ```ts
75
+ * // /app/routes/public/widgets.ts
76
+ * import { LoaderFunctionArgs, json } from "@remix-run/node";
77
+ * import { authenticate } from "../shopify.server";
78
+ *
79
+ * export const loader = async ({ request }: LoaderFunctionArgs) => {
80
+ * const { sessionToken, cors } = await authenticate.public.pos(
81
+ * request,
82
+ * );
83
+ * return cors(json({my: "data", shop: sessionToken.dest}));
84
+ * };
85
+ * ```
86
+ */
87
+ pos: AuthenticatePOS;
68
88
  }
69
89
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/server/authenticate/public/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAErD,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAC,2BAA2B,EAAC,MAAM,0BAA0B,CAAC;AAO1E,MAAM,WAAW,kBAAkB,CAAC,MAAM,SAAS,YAAY;IAC7D;;;;;;;;;;;;;;;;;OAiBG;IACH,QAAQ,EAAE,oBAAoB,CAAC;IAE/B;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,QAAQ,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAEvC;;;;;;;;;;;;;;;;;OAiBG;IACH,eAAe,EAAE,2BAA2B,CAAC;CAC9C"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/server/authenticate/public/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAErD,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAC,2BAA2B,EAAC,MAAM,0BAA0B,CAAC;AAC1E,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,aAAa,CAAC;AAOjD,MAAM,WAAW,kBAAkB,CAAC,MAAM,SAAS,YAAY;IAC7D;;;;;;;;;;;;;;;;;OAiBG;IACH,QAAQ,EAAE,oBAAoB,CAAC;IAE/B;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,QAAQ,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAEvC;;;;;;;;;;;;;;;;;OAiBG;IACH,eAAe,EAAE,2BAA2B,CAAC;IAE7C;;;;;;;;;;;;;;;;;OAiBG;IACH,GAAG,EAAE,eAAe,CAAC;CACtB"}
@@ -1 +1 @@
1
- {"version":3,"file":"graphql.d.ts","sourceRoot":"","sources":["../../../../../src/server/clients/admin/graphql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAC,aAAa,EAAC,MAAM,UAAU,CAAC;AAEvC,OAAO,EAAC,kBAAkB,EAAC,MAAM,SAAS,CAAC;AAM3C,wBAAgB,oBAAoB,CAAC,EACnC,MAAM,EACN,iBAAiB,EACjB,OAAO,GACR,EAAE,kBAAkB,GAAG,aAAa,CAAC,eAAe,CAAC,CAwBrD"}
1
+ {"version":3,"file":"graphql.d.ts","sourceRoot":"","sources":["../../../../../src/server/clients/admin/graphql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAC,aAAa,EAAC,MAAM,UAAU,CAAC;AAEvC,OAAO,EAAC,kBAAkB,EAAC,MAAM,SAAS,CAAC;AAM3C,wBAAgB,oBAAoB,CAAC,EACnC,MAAM,EACN,iBAAiB,EACjB,OAAO,GACR,EAAE,kBAAkB,GAAG,aAAa,CAAC,eAAe,CAAC,CAyBrD"}
@@ -17,6 +17,10 @@ export interface GraphQLQueryOptions<Operation extends keyof Operations, Operati
17
17
  * The total number of times to try the request if it fails.
18
18
  */
19
19
  tries?: number;
20
+ /**
21
+ * An optional AbortSignal to cancel the request.
22
+ */
23
+ signal?: AbortSignal;
20
24
  }
21
25
  export type GraphQLResponse<Operation extends keyof Operations, Operations extends AllOperations> = ResponseWithType<FetchResponseBody<ReturnData<Operation, Operations>>>;
22
26
  export type GraphQLClient<Operations extends AllOperations> = <Operation extends keyof Operations>(query: Operation, options?: GraphQLQueryOptions<Operation, Operations>) => Promise<GraphQLResponse<Operation, Operations>>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/server/clients/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,UAAU,EACV,iBAAiB,EACjB,uBAAuB,EACvB,gBAAgB,EACjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AAEhD,MAAM,WAAW,mBAAmB,CAClC,SAAS,SAAS,MAAM,UAAU,EAClC,UAAU,SAAS,aAAa;IAEhC;;OAEG;IACH,SAAS,CAAC,EAAE,uBAAuB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,WAAW,CAAC,CAAC;IACxE;;OAEG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,eAAe,CACzB,SAAS,SAAS,MAAM,UAAU,EAClC,UAAU,SAAS,aAAa,IAC9B,gBAAgB,CAAC,iBAAiB,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;AAE3E,MAAM,MAAM,aAAa,CAAC,UAAU,SAAS,aAAa,IAAI,CAC5D,SAAS,SAAS,MAAM,UAAU,EAElC,KAAK,EAAE,SAAS,EAChB,OAAO,CAAC,EAAE,mBAAmB,CAAC,SAAS,EAAE,UAAU,CAAC,KACjD,OAAO,CAAC,eAAe,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/server/clients/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,UAAU,EACV,iBAAiB,EACjB,uBAAuB,EACvB,gBAAgB,EACjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AAEhD,MAAM,WAAW,mBAAmB,CAClC,SAAS,SAAS,MAAM,UAAU,EAClC,UAAU,SAAS,aAAa;IAEhC;;OAEG;IACH,SAAS,CAAC,EAAE,uBAAuB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,WAAW,CAAC,CAAC;IACxE;;OAEG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,MAAM,eAAe,CACzB,SAAS,SAAS,MAAM,UAAU,EAClC,UAAU,SAAS,aAAa,IAC9B,gBAAgB,CAAC,iBAAiB,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;AAE3E,MAAM,MAAM,aAAa,CAAC,UAAU,SAAS,aAAa,IAAI,CAC5D,SAAS,SAAS,MAAM,UAAU,EAElC,KAAK,EAAE,SAAS,EAChB,OAAO,CAAC,EAAE,mBAAmB,CAAC,SAAS,EAAE,UAAU,CAAC,KACjD,OAAO,CAAC,eAAe,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC"}
@@ -38,7 +38,8 @@ export interface UnauthenticatedAdminContext<ConfigArg extends AppConfigArg, Res
38
38
  * import { unauthenticated } from "../shopify.server";
39
39
  *
40
40
  * export async function action({ request }: ActionFunctionArgs) {
41
- * const { admin } = await unauthenticated.admin(request);
41
+ * const shop = getShopFromExternalRequest(request);
42
+ * const { admin } = await unauthenticated.admin(shop);
42
43
  *
43
44
  * const response = await admin.graphql(
44
45
  * `#graphql
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/server/unauthenticated/admin/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AAEnE,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;AAE9C,MAAM,WAAW,2BAA2B,CAC1C,SAAS,SAAS,YAAY,EAC9B,SAAS,SAAS,oBAAoB;IAEtC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyCG;IACH,KAAK,EAAE,eAAe,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;CAC9C;AAED,MAAM,MAAM,8BAA8B,CACxC,SAAS,SAAS,YAAY,EAC9B,SAAS,SAAS,oBAAoB,IACpC,CACF,IAAI,EAAE,MAAM,KACT,OAAO,CAAC,2BAA2B,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/server/unauthenticated/admin/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AAEnE,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;AAE9C,MAAM,WAAW,2BAA2B,CAC1C,SAAS,SAAS,YAAY,EAC9B,SAAS,SAAS,oBAAoB;IAEtC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0CG;IACH,KAAK,EAAE,eAAe,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;CAC9C;AAED,MAAM,MAAM,8BAA8B,CACxC,SAAS,SAAS,YAAY,EAC9B,SAAS,SAAS,oBAAoB,IACpC,CACF,IAAI,EAAE,MAAM,KACT,OAAO,CAAC,2BAA2B,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC"}
@@ -1,2 +1,2 @@
1
- export declare const SHOPIFY_REMIX_LIBRARY_VERSION = "3.6.0";
1
+ export declare const SHOPIFY_REMIX_LIBRARY_VERSION = "3.7.0";
2
2
  //# sourceMappingURL=version.d.ts.map