@achyutlabsau/vue-payment-gateway 0.8.0 → 0.8.1

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.
@@ -0,0 +1,20 @@
1
+ import { defineComponent, createBlock, openBlock, unref } from "vue";
2
+ import { QBtn } from "quasar";
3
+ const _sfc_main = /* @__PURE__ */ defineComponent({
4
+ __name: "PBtn",
5
+ setup(__props) {
6
+ return (_ctx, _cache) => {
7
+ return openBlock(), createBlock(unref(QBtn), {
8
+ label: "Cancel",
9
+ color: "primary",
10
+ size: "16px",
11
+ class: "!py-2.5",
12
+ unelevated: "",
13
+ ripple: false
14
+ });
15
+ };
16
+ }
17
+ });
18
+ export {
19
+ _sfc_main as _
20
+ };
@@ -1,5 +1,6 @@
1
1
  import { reactive, ref, defineComponent, createBlock, openBlock, unref, withCtx, createElementVNode, createVNode, createElementBlock, Fragment, renderList, toDisplayString } from "vue";
2
- import { QCard, QIcon, QBtn } from "quasar";
2
+ import { QCard, QIcon } from "quasar";
3
+ import { _ as _sfc_main$1 } from "./PBtn.vue_vue_type_script_setup_true_lang-BZRHAS0P.js";
3
4
  var PaymentGateways = /* @__PURE__ */ ((PaymentGateways2) => {
4
5
  PaymentGateways2["Tyro"] = "tyro";
5
6
  PaymentGateways2["TillPayment"] = "till-instore";
@@ -23,6 +24,7 @@ const state = reactive({
23
24
  mx51DeviceApiKey: ""
24
25
  });
25
26
  const environment = ref("production");
27
+ const isDense = ref(true);
26
28
  const isPluginInitialized = ref(false);
27
29
  const setState = (options) => {
28
30
  options.productName && (state.productName = options.productName);
@@ -54,7 +56,7 @@ const _hoisted_2 = { class: "flex items-center justify-center" };
54
56
  const _hoisted_3 = { class: "mb-8 space-y-4" };
55
57
  const _hoisted_4 = { class: "flex h-8 w-8 flex-shrink-0 items-center justify-center rounded-full bg-gray-100 font-semibold dark:bg-gray-700" };
56
58
  const _hoisted_5 = { class: "text-gray-700 dark:text-gray-200" };
57
- const _hoisted_6 = { class: "mb-6 flex items-start space-x-3 rounded-lg bg-amber-50 p-4 dark:bg-slate-700" };
59
+ const _hoisted_6 = { class: "mb-6 flex items-start space-x-3 rounded-lg bg-amber-50 p-4 text-base dark:bg-slate-700" };
58
60
  const _hoisted_7 = { class: "flex justify-end" };
59
61
  const _sfc_main = /* @__PURE__ */ defineComponent({
60
62
  __name: "PairInstructions",
@@ -70,18 +72,18 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
70
72
  createElementVNode("div", _hoisted_2, [
71
73
  createVNode(unref(QIcon), {
72
74
  name: unref(mdiDevices),
73
- size: "3rem",
75
+ size: "4rem",
74
76
  class: "text-primary"
75
77
  }, null, 8, ["name"])
76
78
  ]),
77
- _cache[1] || (_cache[1] = createElementVNode("h2", { class: "text-center text-2xl font-bold" }, "Terminal Setup Instructions", -1)),
78
- _cache[2] || (_cache[2] = createElementVNode("p", { class: "text-center text-gray-600 dark:text-gray-200" }, "Please follow these steps to pair your terminal", -1))
79
+ _cache[1] || (_cache[1] = createElementVNode("h2", { class: "text-center text-2xl !font-medium" }, "Terminal Setup Instructions", -1)),
80
+ _cache[2] || (_cache[2] = createElementVNode("p", { class: "text-center text-base text-gray-600 dark:text-gray-200" }, " Please follow these steps to pair your terminal ", -1))
79
81
  ]),
80
82
  createElementVNode("ul", _hoisted_3, [
81
- (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.steps, (step, index) => {
83
+ (openBlock(true), createElementBlock(Fragment, null, renderList(__props.steps, (step, index) => {
82
84
  return openBlock(), createElementBlock("li", {
83
85
  key: index,
84
- class: "flex items-center space-x-3"
86
+ class: "flex items-center space-x-3 text-base"
85
87
  }, [
86
88
  createElementVNode("span", _hoisted_4, toDisplayString(index + 1), 1),
87
89
  createElementVNode("span", _hoisted_5, toDisplayString(step), 1)
@@ -91,7 +93,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
91
93
  createElementVNode("div", _hoisted_6, [
92
94
  createVNode(unref(QIcon), {
93
95
  name: unref(mdiInformation),
94
- size: "sm",
96
+ size: "md",
95
97
  class: "mt-0.5 text-amber-500 dark:text-white"
96
98
  }, null, 8, ["name"]),
97
99
  _cache[3] || (_cache[3] = createElementVNode("div", { class: "flex-1" }, [
@@ -100,13 +102,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
100
102
  ], -1))
101
103
  ]),
102
104
  createElementVNode("div", _hoisted_7, [
103
- createVNode(unref(QBtn), {
104
- color: "primary",
105
- unelevated: "",
105
+ createVNode(_sfc_main$1, {
106
106
  "icon-right": "chevron_right",
107
107
  label: "Next",
108
- "no-caps": "",
109
- ripple: false,
110
108
  onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("next"))
111
109
  })
112
110
  ])
@@ -119,15 +117,16 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
119
117
  export {
120
118
  PaymentGateways as P,
121
119
  _sfc_main as _,
122
- setEnvironment as a,
123
- state as b,
124
- mdiRefresh as c,
125
- mdiChevronLeft as d,
120
+ isPluginInitialized as a,
121
+ setEnvironment as b,
122
+ state as c,
123
+ mdiRefresh as d,
126
124
  environment as e,
127
- mdiLink as f,
128
- checkPluginInitialized as g,
129
- mdiBarcode as h,
130
- isPluginInitialized as i,
125
+ mdiChevronLeft as f,
126
+ mdiLink as g,
127
+ checkPluginInitialized as h,
128
+ isDense as i,
129
+ mdiBarcode as j,
131
130
  mdiCheckCircle as m,
132
131
  setState as s
133
132
  };
@@ -4,8 +4,8 @@ import { i as isNetworkError, a as isServerError, d as delay, g as generateTrans
4
4
  import axios, { isAxiosError, HttpStatusCode } from "axios";
5
5
  import { v7 } from "uuid";
6
6
  import { d as dialogDefaultOpts } from "./utils-GrbVNAXw.js";
7
- import { e as environment, b as state, m as mdiCheckCircle, d as mdiChevronLeft, c as mdiRefresh, _ as _sfc_main$3, f as mdiLink } from "./PairInstructions.vue_vue_type_script_setup_true_lang-gQoPMiBm.js";
8
- import { _ as _sfc_main$2 } from "./TransactionDialog.vue_vue_type_script_setup_true_lang-DTIELKw0.js";
7
+ import { e as environment, c as state, m as mdiCheckCircle, f as mdiChevronLeft, d as mdiRefresh, _ as _sfc_main$3, g as mdiLink } from "./PairInstructions.vue_vue_type_script_setup_true_lang-Ckf0Q7kS.js";
8
+ import { _ as _sfc_main$2 } from "./TransactionDialog.vue_vue_type_script_setup_true_lang-C6l6nnLB.js";
9
9
  import { useLocalStorage } from "@vueuse/core";
10
10
  const LINKLY_CONSTANTS = {
11
11
  PATHS: {
@@ -115,7 +115,9 @@ class LinklyPaymentGateway {
115
115
  throw new Error("No valid authentication method available");
116
116
  }
117
117
  } catch (error) {
118
- throw new Error("Failed to renew authentication token. Please check your Linkly account credentials.");
118
+ throw new Error("Failed to renew authentication token. Please check your Linkly account credentials.", {
119
+ cause: error
120
+ });
119
121
  }
120
122
  }
121
123
  }
@@ -174,7 +176,7 @@ class LinklyPaymentGateway {
174
176
  console.error("Get token error:", error);
175
177
  if (axios.isAxiosError(error) && error.response?.status === HttpStatusCode.Unauthorized) {
176
178
  this._clearCredentials();
177
- throw new Error("Authentication failed. Pairing may have been reset or credentials changed.");
179
+ throw new Error("Authentication failed. Pairing may have been reset or credentials changed.", { cause: error });
178
180
  }
179
181
  throw error;
180
182
  }
@@ -199,7 +201,7 @@ class LinklyPaymentGateway {
199
201
  await this.getLinklyAuthToken();
200
202
  return this.sendTransactionRequest(data);
201
203
  } catch {
202
- throw new Error("Failed to authenticate. Please check your Linkly account credentials.");
204
+ throw new Error("Failed to authenticate. Please check your Linkly account credentials.", { cause: error });
203
205
  }
204
206
  }
205
207
  if (status === HttpStatusCode.RequestTimeout || isServerError(error)) {
@@ -229,7 +231,9 @@ class LinklyPaymentGateway {
229
231
  interval = Math.min(interval + INTERVAL_INCREMENT, MAX_INTERVAL_TIME);
230
232
  return doRequest();
231
233
  }
232
- throw new Error("Unable to get the transaction details. Please contact service provider!");
234
+ throw new Error("Unable to get the transaction details. Please contact service provider!", {
235
+ cause: error
236
+ });
233
237
  } else if (status === HttpStatusCode.Unauthorized) {
234
238
  await this.getLinklyAuthToken();
235
239
  return doRequest();
@@ -255,7 +259,7 @@ class LinklyPaymentGateway {
255
259
  params: DEFAULT_REQUEST_PARAMS
256
260
  });
257
261
  const isSuccess = res.data?.response?.success ?? false;
258
- const message = isSuccess ? "Receipt printed successfully." : "Failed to print receipt: " + res.data?.response?.responseText;
262
+ const message = isSuccess ? "Receipt printed successfully." : `Failed to print receipt: ${res.data?.response?.responseText}`;
259
263
  return {
260
264
  success: isSuccess,
261
265
  message,
@@ -1,8 +1,9 @@
1
1
  import { defineComponent, ref, computed, onMounted, watch, resolveDirective, createElementBlock, openBlock, createBlock, unref, withCtx, createElementVNode, createVNode, createCommentVNode, toDisplayString, withDirectives } from "vue";
2
- import { QCard, QForm, QSelect, QInput, QIcon, QBtn, QDialog, QCardSection, Dialog } from "quasar";
2
+ import { QCard, QForm, QSelect, QInput, QIcon, QDialog, QCardSection, Dialog } from "quasar";
3
3
  import { Spi, TransactionOptions, SuccessState, TransactionType, SpiStatus } from "@mx51/spi-client-js";
4
4
  import { useEventListener } from "@vueuse/core";
5
- import { b as state, _ as _sfc_main$1 } from "./PairInstructions.vue_vue_type_script_setup_true_lang-gQoPMiBm.js";
5
+ import { c as state, _ as _sfc_main$1 } from "./PairInstructions.vue_vue_type_script_setup_true_lang-Ckf0Q7kS.js";
6
+ import { _ as _sfc_main$2 } from "./PBtn.vue_vue_type_script_setup_true_lang-BZRHAS0P.js";
6
7
  const spiSettings = {
7
8
  secureWebSockets: true,
8
9
  // checks for HTTPs
@@ -447,7 +448,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
447
448
  _cache[9] || (_cache[9] = createElementVNode("div", null, "Paired and trying to connect", -1))
448
449
  ])) : createCommentVNode("", true)
449
450
  ]),
450
- !isPaired.value ? (openBlock(), createBlock(unref(QBtn), {
451
+ !isPaired.value ? (openBlock(), createBlock(_sfc_main$2, {
451
452
  key: 0,
452
453
  label: "Pair",
453
454
  type: "submit",
@@ -456,7 +457,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
456
457
  unelevated: "",
457
458
  "no-caps": "",
458
459
  ripple: false
459
- })) : (openBlock(), createBlock(unref(QBtn), {
460
+ })) : (openBlock(), createBlock(_sfc_main$2, {
460
461
  key: 1,
461
462
  label: "Unpair",
462
463
  type: "button",
@@ -482,7 +483,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
482
483
  pairInfo.value.state === "INPROGRESS" ? (openBlock(), createBlock(unref(QCardSection), { key: 0 }, {
483
484
  default: withCtx(() => [
484
485
  createElementVNode("div", _hoisted_8, toDisplayString(pairInfo.value.message), 1),
485
- createVNode(unref(QBtn), {
486
+ createVNode(_sfc_main$2, {
486
487
  label: "Cancel",
487
488
  onClick: unref(cancelPairing),
488
489
  color: "primary",
@@ -504,7 +505,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
504
505
  })) : pairInfo.value.state === "FINISHED" ? (openBlock(), createBlock(unref(QCardSection), { key: 2 }, {
505
506
  default: withCtx(() => [
506
507
  createElementVNode("div", _hoisted_10, toDisplayString(pairInfo.value.message), 1),
507
- withDirectives(createVNode(unref(QBtn), {
508
+ withDirectives(createVNode(_sfc_main$2, {
508
509
  label: "OK",
509
510
  color: "primary",
510
511
  outline: "",
@@ -1,7 +1,7 @@
1
1
  import { defineComponent, ref, createBlock, createElementBlock, unref, openBlock, withCtx, createElementVNode, createVNode, createTextVNode, toDisplayString, withModifiers } from "vue";
2
2
  import { useLocalStorage } from "@vueuse/core";
3
3
  import { Dialog, QCard, QIcon, QBtn, QInput } from "quasar";
4
- import { b as state, e as environment, m as mdiCheckCircle, c as mdiRefresh, _ as _sfc_main$1, d as mdiChevronLeft, f as mdiLink } from "./PairInstructions.vue_vue_type_script_setup_true_lang-gQoPMiBm.js";
4
+ import { c as state, e as environment, m as mdiCheckCircle, d as mdiRefresh, _ as _sfc_main$1, f as mdiChevronLeft, g as mdiLink } from "./PairInstructions.vue_vue_type_script_setup_true_lang-Ckf0Q7kS.js";
5
5
  import axios, { HttpStatusCode, isAxiosError } from "axios";
6
6
  import { d as delay } from "./index-e4lpzJsL.js";
7
7
  import { d as dialogDefaultOpts } from "./utils-GrbVNAXw.js";
@@ -152,7 +152,7 @@ class SmartConnectAPI {
152
152
  await delay();
153
153
  return poll();
154
154
  } else {
155
- throw new Error("Polling timed out");
155
+ throw new Error("Polling timed out", { cause: error });
156
156
  }
157
157
  }
158
158
  };
@@ -289,10 +289,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
289
289
  setup(__props) {
290
290
  const SETUP_STEPS = [
291
291
  'Press the "Menu" Button',
292
- 'Select "Configuration"',
293
- 'Select "Integrated EFTPOS"',
294
- 'Select "Pair with POS"',
295
- 'Press "Start"'
292
+ "Select 'CONFIG'",
293
+ "Enter authentication code and press 'Enter'",
294
+ "Select 'POS Integrations'",
295
+ "Select 'Authorise POS'",
296
+ "You will get a new 'Pairing code'. Enter that in the form on next screen"
296
297
  ];
297
298
  const { pairTerminal } = useSmartPay();
298
299
  const pairConfig = useLocalStorage("smartpay.pairConfig", {
@@ -4,8 +4,8 @@ import axios, { isAxiosError, HttpStatusCode } from "axios";
4
4
  import dayjs from "dayjs";
5
5
  import { Loading, Dialog, QDialog, QCard, QForm, QToolbar, QToolbarTitle, QIcon, QCardSection, QInput, QCardActions, QBtn, Notify, QSelect } from "quasar";
6
6
  import { d as delay } from "./index-e4lpzJsL.js";
7
- import { b as state, m as mdiCheckCircle, d as mdiChevronLeft, c as mdiRefresh, _ as _sfc_main$3, f as mdiLink } from "./PairInstructions.vue_vue_type_script_setup_true_lang-gQoPMiBm.js";
8
- import { _ as _sfc_main$2 } from "./TransactionDialog.vue_vue_type_script_setup_true_lang-DTIELKw0.js";
7
+ import { c as state, m as mdiCheckCircle, f as mdiChevronLeft, d as mdiRefresh, _ as _sfc_main$3, g as mdiLink } from "./PairInstructions.vue_vue_type_script_setup_true_lang-Ckf0Q7kS.js";
8
+ import { _ as _sfc_main$2 } from "./TransactionDialog.vue_vue_type_script_setup_true_lang-C6l6nnLB.js";
9
9
  import { validate } from "uuid";
10
10
  var SettlementTypes = /* @__PURE__ */ ((SettlementTypes2) => {
11
11
  SettlementTypes2["SETTLEMENT"] = "SETTLEMENT";
@@ -65,7 +65,7 @@ const generateReceipt = (receiptName, rawReceipt) => {
65
65
  const currencyWidth = 8;
66
66
  const amountWidth = 10;
67
67
  const formatLine = (type, amount) => {
68
- return `${type.padEnd(typeWidth)}${" AUD".padEnd(currencyWidth)}${("$" + amount).padStart(amountWidth)}`;
68
+ return `${type.padEnd(typeWidth)}${" AUD".padEnd(currencyWidth)}${`$${amount}`.padStart(amountWidth)}`;
69
69
  };
70
70
  const header = ` ${receiptName}
71
71
 
@@ -98,7 +98,7 @@ ${data.tvr ? `TVR: ${data.tvr}
98
98
  Terminal ID: ${terminalId}
99
99
  ${dayjs(data.dateTime).format("DD MMM YYYY [at] hh:mm A")}
100
100
 
101
- ${data.authorizationMethod !== "NONE" ? data.authorizationMethod + " APPROVED" : "APPROVED"}
101
+ ${data.authorizationMethod !== "NONE" ? `${data.authorizationMethod} APPROVED` : "APPROVED"}
102
102
  `;
103
103
  return [
104
104
  header,
@@ -1,7 +1,7 @@
1
1
  import { defineComponent, useModel, resolveDirective, createBlock, openBlock, unref, withCtx, createVNode, createElementVNode, withDirectives, createTextVNode, ref, createElementBlock, toDisplayString, withModifiers } from "vue";
2
2
  import { useLocalStorage } from "@vueuse/core";
3
3
  import { QSpinnerHourglass, Dialog, QDialog, QCard, QToolbar, QToolbarTitle, QIcon, QBtn, QInput } from "quasar";
4
- import { g as checkPluginInitialized, e as environment, b as state, m as mdiCheckCircle, c as mdiRefresh, _ as _sfc_main$2, h as mdiBarcode, d as mdiChevronLeft, f as mdiLink } from "./PairInstructions.vue_vue_type_script_setup_true_lang-gQoPMiBm.js";
4
+ import { h as checkPluginInitialized, e as environment, c as state, m as mdiCheckCircle, d as mdiRefresh, _ as _sfc_main$2, j as mdiBarcode, f as mdiChevronLeft, g as mdiLink } from "./PairInstructions.vue_vue_type_script_setup_true_lang-Ckf0Q7kS.js";
5
5
  const dialogDefaultOpts = {
6
6
  message: "Pairing in progress...",
7
7
  class: "text-lg",
@@ -1,8 +1,9 @@
1
1
  import { defineComponent, resolveDirective, createBlock, openBlock, unref, withCtx, createVNode, createCommentVNode, createElementVNode, toDisplayString, withDirectives } from "vue";
2
- import { useDialogPluginComponent, QDialog, QCard, QCardSection, QBtn } from "quasar";
3
- const _hoisted_1 = { class: "text-center font-semibold text-gray-500 uppercase" };
4
- const _hoisted_2 = { class: "text-center font-semibold text-gray-500 uppercase" };
5
- const _hoisted_3 = { class: "text-center font-semibold text-gray-500 uppercase" };
2
+ import { useDialogPluginComponent, QDialog, QCard, QCardSection } from "quasar";
3
+ import { _ as _sfc_main$1 } from "./PBtn.vue_vue_type_script_setup_true_lang-BZRHAS0P.js";
4
+ const _hoisted_1 = { class: "text-center text-lg font-semibold uppercase text-gray-500" };
5
+ const _hoisted_2 = { class: "text-center text-lg font-semibold uppercase text-gray-500" };
6
+ const _hoisted_3 = { class: "text-center text-lg font-semibold uppercase text-gray-500" };
6
7
  const _sfc_main = /* @__PURE__ */ defineComponent({
7
8
  __name: "TransactionDialog",
8
9
  props: {
@@ -26,47 +27,41 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
26
27
  persistent: ""
27
28
  }, {
28
29
  default: withCtx(() => [
29
- createVNode(unref(QCard), { class: "q-dialog-plugin" }, {
30
+ createVNode(unref(QCard), { class: "q-dialog-plugin px-6 py-3" }, {
30
31
  default: withCtx(() => [
31
- _ctx.title === "INPROGRESS" ? (openBlock(), createBlock(unref(QCardSection), { key: 0 }, {
32
+ __props.title === "INPROGRESS" ? (openBlock(), createBlock(unref(QCardSection), { key: 0 }, {
32
33
  default: withCtx(() => [
33
- createElementVNode("div", _hoisted_1, toDisplayString(_ctx.message), 1),
34
- createVNode(unref(QBtn), {
34
+ createElementVNode("div", _hoisted_1, toDisplayString(__props.message), 1),
35
+ createVNode(_sfc_main$1, {
35
36
  label: "Cancel",
36
- onClick: _ctx.cancelTxn,
37
+ onClick: __props.cancelTxn,
37
38
  color: "primary",
38
39
  outline: "",
39
- class: "!mt-6 !w-full",
40
- unelevated: "",
41
- ripple: false
40
+ class: "!mt-6 !w-full"
42
41
  }, null, 8, ["onClick"])
43
42
  ]),
44
43
  _: 1
45
- })) : _ctx.title === "SUCCESS" ? (openBlock(), createBlock(unref(QCardSection), { key: 1 }, {
44
+ })) : __props.title === "SUCCESS" ? (openBlock(), createBlock(unref(QCardSection), { key: 1 }, {
46
45
  default: withCtx(() => [
47
- createElementVNode("div", _hoisted_2, toDisplayString(_ctx.message), 1),
48
- withDirectives(createVNode(unref(QBtn), {
46
+ createElementVNode("div", _hoisted_2, toDisplayString(__props.message), 1),
47
+ withDirectives(createVNode(_sfc_main$1, {
49
48
  label: "OK",
50
49
  color: "primary",
51
50
  outline: "",
52
- class: "!mt-6 !w-full",
53
- unelevated: "",
54
- ripple: false
51
+ class: "!mt-6 !w-full"
55
52
  }, null, 512), [
56
53
  [_directive_close_popup]
57
54
  ])
58
55
  ]),
59
56
  _: 1
60
- })) : _ctx.title === "FAILED" ? (openBlock(), createBlock(unref(QCardSection), { key: 2 }, {
57
+ })) : __props.title === "FAILED" ? (openBlock(), createBlock(unref(QCardSection), { key: 2 }, {
61
58
  default: withCtx(() => [
62
- createElementVNode("div", _hoisted_3, toDisplayString(_ctx.message), 1),
63
- withDirectives(createVNode(unref(QBtn), {
59
+ createElementVNode("div", _hoisted_3, toDisplayString(__props.message), 1),
60
+ withDirectives(createVNode(_sfc_main$1, {
64
61
  label: "OK",
65
62
  color: "primary",
66
63
  outline: "",
67
- class: "!mt-6 !w-full",
68
- unelevated: "",
69
- ripple: false
64
+ class: "!mt-6 !w-full"
70
65
  }, null, 512), [
71
66
  [_directive_close_popup]
72
67
  ])
package/dist/index.d.ts CHANGED
@@ -22,6 +22,10 @@ export declare const generateTransactionId: () => string;
22
22
 
23
23
  declare interface InstallOptions extends POSConfig {
24
24
  environment?: Environment;
25
+ /**
26
+ * @default true
27
+ */
28
+ dense?: boolean;
25
29
  /**
26
30
  *
27
31
  * @param receipt - receipt string
package/dist/index.js CHANGED
@@ -1,19 +1,19 @@
1
- import { i as isPluginInitialized, s as setState, a as setEnvironment, P as PaymentGateways } from "./PairInstructions.vue_vue_type_script_setup_true_lang-gQoPMiBm.js";
1
+ import { i as isDense, a as isPluginInitialized, s as setState, b as setEnvironment, P as PaymentGateways } from "./PairInstructions.vue_vue_type_script_setup_true_lang-Ckf0Q7kS.js";
2
2
  import "quasar";
3
- import { T as TYRO_CONSTANTS, _ as _sfc_main$1 } from "./PairTyro.vue_vue_type_script_setup_true_lang-cMWE2xPj.js";
3
+ import { T as TYRO_CONSTANTS, _ as _sfc_main$1 } from "./PairTyro.vue_vue_type_script_setup_true_lang-ClmlRTyD.js";
4
4
  import { defineComponent, createElementBlock, openBlock, createBlock, createCommentVNode, unref } from "vue";
5
5
  import { useEventListener, useScriptTag } from "@vueuse/core";
6
- import { s as spi, _ as _sfc_main$2 } from "./PairMX51.vue_vue_type_script_setup_true_lang-Cv8VxL-t.js";
6
+ import { s as spi, _ as _sfc_main$2 } from "./PairMX51.vue_vue_type_script_setup_true_lang-DHGuS3zp.js";
7
7
  import "@mx51/spi-client-js";
8
8
  import "uuid";
9
9
  import "./emitter-B70DsNvX.js";
10
10
  import { TimApiEvents, timApi, PairTimapi as _sfc_main$4 } from "./worldline.js";
11
11
  import "axios";
12
- import "./TransactionDialog.vue_vue_type_script_setup_true_lang-DTIELKw0.js";
13
- import { _ as _sfc_main$3 } from "./PairLinkly.vue_vue_type_script_setup_true_lang-DrddzJ84.js";
14
- import { _ as _sfc_main$6 } from "./PairSmartPay.vue_vue_type_script_setup_true_lang-vW3iqk9q.js";
12
+ import "./TransactionDialog.vue_vue_type_script_setup_true_lang-C6l6nnLB.js";
13
+ import { _ as _sfc_main$3 } from "./PairLinkly.vue_vue_type_script_setup_true_lang-OzYd90mq.js";
14
+ import { _ as _sfc_main$6 } from "./PairSmartPay.vue_vue_type_script_setup_true_lang-BxMFKCdq.js";
15
15
  import "dayjs";
16
- import { _ as _sfc_main$5 } from "./PairTillPayment.vue_vue_type_script_setup_true_lang-DNK3I79n.js";
16
+ import { _ as _sfc_main$5 } from "./PairTillPayment.vue_vue_type_script_setup_true_lang-Cy392bZw.js";
17
17
  import { g } from "./index-e4lpzJsL.js";
18
18
  var ReceiptTypes = /* @__PURE__ */ ((ReceiptTypes2) => {
19
19
  ReceiptTypes2["MERCHANT_COPY"] = "MERCHANT_COPY";
@@ -27,6 +27,7 @@ const install = (_app, options) => {
27
27
  }
28
28
  setupEventHandlers(options);
29
29
  initializeConfigurations(options);
30
+ isDense.value = options.dense ?? true;
30
31
  isPluginInitialized.value = true;
31
32
  };
32
33
  function setupEventHandlers(options) {
@@ -124,18 +125,18 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
124
125
  };
125
126
  return (_ctx, _cache) => {
126
127
  return openBlock(), createElementBlock("div", _hoisted_1, [
127
- _ctx.gateway === unref(PaymentGateways).Tyro ? (openBlock(), createBlock(unref(_sfc_main$1), {
128
+ __props.gateway === unref(PaymentGateways).Tyro ? (openBlock(), createBlock(unref(_sfc_main$1), {
128
129
  key: 0,
129
- "merchant-id": _ctx.merchantId
130
+ "merchant-id": __props.merchantId
130
131
  }, null, 8, ["merchant-id"])) : createCommentVNode("", true),
131
- _ctx.gateway === unref(PaymentGateways).MX51 ? (openBlock(), createBlock(unref(_sfc_main$2), { key: 1 })) : createCommentVNode("", true),
132
- _ctx.gateway === unref(PaymentGateways).Linkly ? (openBlock(), createBlock(unref(_sfc_main$3), {
132
+ __props.gateway === unref(PaymentGateways).MX51 ? (openBlock(), createBlock(unref(_sfc_main$2), { key: 1 })) : createCommentVNode("", true),
133
+ __props.gateway === unref(PaymentGateways).Linkly ? (openBlock(), createBlock(unref(_sfc_main$3), {
133
134
  key: 2,
134
135
  onPairingSuccess: _cache[0] || (_cache[0] = ($event) => onPairingSuccess($event, unref(PaymentGateways).Linkly))
135
136
  })) : createCommentVNode("", true),
136
- _ctx.gateway === unref(PaymentGateways).ANZ ? (openBlock(), createBlock(_sfc_main$4, { key: 3 })) : createCommentVNode("", true),
137
- _ctx.gateway === unref(PaymentGateways).TillPayment ? (openBlock(), createBlock(unref(_sfc_main$5), { key: 4 })) : createCommentVNode("", true),
138
- _ctx.gateway === unref(PaymentGateways).SmartPay ? (openBlock(), createBlock(unref(_sfc_main$6), { key: 5 })) : createCommentVNode("", true)
137
+ __props.gateway === unref(PaymentGateways).ANZ ? (openBlock(), createBlock(_sfc_main$4, { key: 3 })) : createCommentVNode("", true),
138
+ __props.gateway === unref(PaymentGateways).TillPayment ? (openBlock(), createBlock(unref(_sfc_main$5), { key: 4 })) : createCommentVNode("", true),
139
+ __props.gateway === unref(PaymentGateways).SmartPay ? (openBlock(), createBlock(unref(_sfc_main$6), { key: 5 })) : createCommentVNode("", true)
139
140
  ]);
140
141
  };
141
142
  }
package/dist/linkly.js CHANGED
@@ -1,4 +1,4 @@
1
- import { C, L, _, R, a, b, T, u } from "./PairLinkly.vue_vue_type_script_setup_true_lang-DrddzJ84.js";
1
+ import { C, L, _, R, a, b, T, u } from "./PairLinkly.vue_vue_type_script_setup_true_lang-OzYd90mq.js";
2
2
  export {
3
3
  C as CurrencyCodes,
4
4
  L as LinklyKeyType,
package/dist/mx51.js CHANGED
@@ -1,11 +1,12 @@
1
- import { s as spi, r as receiptOptions } from "./PairMX51.vue_vue_type_script_setup_true_lang-Cv8VxL-t.js";
2
- import { _, l } from "./PairMX51.vue_vue_type_script_setup_true_lang-Cv8VxL-t.js";
1
+ import { s as spi, r as receiptOptions } from "./PairMX51.vue_vue_type_script_setup_true_lang-DHGuS3zp.js";
2
+ import { _, l } from "./PairMX51.vue_vue_type_script_setup_true_lang-DHGuS3zp.js";
3
3
  import { defineComponent, ref, onMounted, resolveDirective, createBlock, openBlock, unref, withCtx, createVNode, createCommentVNode, createElementVNode, toDisplayString, withDirectives } from "vue";
4
4
  import { SuccessState, TransactionType, SpiStatus } from "@mx51/spi-client-js";
5
5
  import { v4 } from "uuid";
6
- import { QDialog, QCard, QCardSection, QBtn, Dialog } from "quasar";
6
+ import { QDialog, QCard, QCardSection, Dialog } from "quasar";
7
7
  import { useLocalStorage } from "@vueuse/core";
8
8
  import { e as emitter } from "./emitter-B70DsNvX.js";
9
+ import { _ as _sfc_main$1 } from "./PBtn.vue_vue_type_script_setup_true_lang-BZRHAS0P.js";
9
10
  function posRefIdGenerator(type) {
10
11
  return (/* @__PURE__ */ new Date()).toISOString() + "-" + type + v4();
11
12
  }
@@ -158,7 +159,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
158
159
  default: withCtx(() => [
159
160
  createElementVNode("div", _hoisted_1, toDisplayString(unref(runningTxData).txType) + " of $" + toDisplayString(unref(runningTxData).txnAmount) + " in progress... ", 1),
160
161
  createElementVNode("div", _hoisted_2, toDisplayString(pairInfo.value.message), 1),
161
- createVNode(unref(QBtn), {
162
+ createVNode(_sfc_main$1, {
162
163
  label: "Cancel",
163
164
  onClick: unref(cancelTransaction),
164
165
  color: "primary",
@@ -181,7 +182,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
181
182
  _cache[6] || (_cache[6] = createElementVNode("div", { class: "text-center font-semibold uppercase text-gray-500 dark:text-gray-300" }, " Was the transaction successful ", -1)),
182
183
  _cache[7] || (_cache[7] = createElementVNode("div", { class: "text-center font-semibold text-gray-500 dark:text-gray-300" }, "Check the EFTPOS terminal", -1)),
183
184
  createElementVNode("div", _hoisted_4, [
184
- createVNode(unref(QBtn), {
185
+ createVNode(_sfc_main$1, {
185
186
  label: "Yes",
186
187
  color: "primary",
187
188
  onClick: _cache[0] || (_cache[0] = ($event) => overrideTransaction(true)),
@@ -191,7 +192,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
191
192
  "no-caps": "",
192
193
  ripple: false
193
194
  }),
194
- createVNode(unref(QBtn), {
195
+ createVNode(_sfc_main$1, {
195
196
  label: "No",
196
197
  color: "primary",
197
198
  outline: "",
@@ -209,7 +210,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
209
210
  _cache[8] || (_cache[8] = createElementVNode("div", { class: "text-center font-semibold uppercase text-gray-500 dark:text-gray-300" }, " Confirm the customer's signature ", -1)),
210
211
  createElementVNode("div", _hoisted_5, toDisplayString(pairInfo.value.message), 1),
211
212
  createElementVNode("div", _hoisted_6, [
212
- createVNode(unref(QBtn), {
213
+ createVNode(_sfc_main$1, {
213
214
  label: "Accept",
214
215
  color: "primary",
215
216
  onClick: _cache[2] || (_cache[2] = ($event) => unref(acceptSignature)(true)),
@@ -219,7 +220,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
219
220
  "no-caps": "",
220
221
  ripple: false
221
222
  }),
222
- createVNode(unref(QBtn), {
223
+ createVNode(_sfc_main$1, {
223
224
  label: "Decline",
224
225
  color: "primary",
225
226
  outline: "",
@@ -235,14 +236,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
235
236
  })) : pairInfo.value.state === "SUCCESS" ? (openBlock(), createBlock(unref(QCardSection), { key: 4 }, {
236
237
  default: withCtx(() => [
237
238
  _cache[9] || (_cache[9] = createElementVNode("div", { class: "text-center font-semibold uppercase text-gray-500 dark:text-gray-300" }, "Transaction Successful", -1)),
238
- withDirectives(createVNode(unref(QBtn), {
239
+ withDirectives(createVNode(_sfc_main$1, {
239
240
  label: "OK",
240
241
  color: "primary",
241
242
  outline: "",
242
- class: "!mt-6 !w-full",
243
- unelevated: "",
244
- "no-caps": "",
245
- ripple: false
243
+ class: "!mt-6 !w-full"
246
244
  }, null, 512), [
247
245
  [_directive_close_popup]
248
246
  ])
@@ -252,14 +250,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
252
250
  default: withCtx(() => [
253
251
  _cache[10] || (_cache[10] = createElementVNode("div", { class: "text-center font-semibold uppercase text-gray-500 dark:text-gray-300" }, "Transaction Failed", -1)),
254
252
  createElementVNode("div", _hoisted_7, toDisplayString(pairInfo.value.message), 1),
255
- withDirectives(createVNode(unref(QBtn), {
253
+ withDirectives(createVNode(_sfc_main$1, {
256
254
  label: "OK",
257
255
  color: "primary",
258
256
  outline: "",
259
- class: "!mt-6 !w-full",
260
- unelevated: "",
261
- "no-caps": "",
262
- ripple: false
257
+ class: "!mt-6 !w-full"
263
258
  }, null, 512), [
264
259
  [_directive_close_popup]
265
260
  ])
@@ -280,7 +275,14 @@ const useMX51 = () => {
280
275
  if (spi._currentStatus !== SpiStatus.PairedConnected) {
281
276
  Dialog.create({
282
277
  title: "Failed!",
283
- message: "The EFTPOS terminal and the POS are not connected."
278
+ html: true,
279
+ message: "<p class='text-base'>The EFTPOS terminal and the POS are not connected.</p>",
280
+ ok: {
281
+ size: "16px",
282
+ color: "primary",
283
+ unelevated: true,
284
+ label: "OK"
285
+ }
284
286
  });
285
287
  return;
286
288
  }
@@ -291,7 +293,14 @@ const useMX51 = () => {
291
293
  if (spi._currentStatus !== SpiStatus.PairedConnected) {
292
294
  Dialog.create({
293
295
  title: "Failed!",
294
- message: "The EFTPOS terminal and the POS are not connected."
296
+ html: true,
297
+ message: "<p class='text-base'>The EFTPOS terminal and the POS are not connected.</p>",
298
+ ok: {
299
+ size: "16px",
300
+ color: "primary",
301
+ unelevated: true,
302
+ label: "OK"
303
+ }
295
304
  });
296
305
  return;
297
306
  }
package/dist/smartpay.js CHANGED
@@ -1,4 +1,4 @@
1
- import { D, P, _, R, S, T, b, a, c, u } from "./PairSmartPay.vue_vue_type_script_setup_true_lang-vW3iqk9q.js";
1
+ import { D, P, _, R, S, T, b, a, c, u } from "./PairSmartPay.vue_vue_type_script_setup_true_lang-BxMFKCdq.js";
2
2
  export {
3
3
  D as DEV_SMARTPAY_API_URL,
4
4
  P as PROD_SMARTPAY_API_URL,
@@ -1,4 +1,4 @@
1
- import { _, S, T, b, a, u } from "./PairTillPayment.vue_vue_type_script_setup_true_lang-DNK3I79n.js";
1
+ import { _, S, T, b, a, u } from "./PairTillPayment.vue_vue_type_script_setup_true_lang-Cy392bZw.js";
2
2
  export {
3
3
  _ as PairTillPayment,
4
4
  S as SettlementTypes,
package/dist/tyro.js CHANGED
@@ -1,4 +1,4 @@
1
- import { a, _, T, b, u } from "./PairTyro.vue_vue_type_script_setup_true_lang-cMWE2xPj.js";
1
+ import { a, _, T, b, u } from "./PairTyro.vue_vue_type_script_setup_true_lang-ClmlRTyD.js";
2
2
  export {
3
3
  a as ClientLogsDialog,
4
4
  _ as PairTyro,
package/dist/worldline.js CHANGED
@@ -2,8 +2,9 @@ import dayjs from "dayjs";
2
2
  import Dexie, { liveQuery } from "dexie";
3
3
  import { e as emitter } from "./emitter-B70DsNvX.js";
4
4
  import { defineComponent, ref, resolveDirective, createBlock, openBlock, unref, withCtx, createVNode, createElementVNode, createCommentVNode, toDisplayString, withDirectives, nextTick, createElementBlock, useModel, createTextVNode, Fragment, renderList } from "vue";
5
- import { QCard, QForm, QInput, QBtn, QDialog, QCardSection, Dialog, QToolbar, QToolbarTitle, QIcon } from "quasar";
5
+ import { QCard, QForm, QInput, QDialog, QCardSection, Dialog, QToolbar, QToolbarTitle, QIcon, QBtn } from "quasar";
6
6
  import { useLocalStorage, useEventListener, whenever } from "@vueuse/core";
7
+ import { _ as _sfc_main$3 } from "./PBtn.vue_vue_type_script_setup_true_lang-BZRHAS0P.js";
7
8
  import { useObservable } from "@vueuse/rxjs";
8
9
  function downloadTxtFile(filename, dataArray) {
9
10
  const blob = new Blob([dataArray.join("\n")], { type: "text/plain" });
@@ -190,7 +191,7 @@ class AdvanceEcr {
190
191
  }
191
192
  const ipAddress = localStorage.getItem(LS_KEYS.IP_ADDRESS);
192
193
  const ipPort = localStorage.getItem(LS_KEYS.IP_PORT);
193
- this.terminal = this.createTerminal(ipAddress ?? "127.0.0.1", Number(ipPort) ?? 8080);
194
+ this.terminal = this.createTerminal(ipAddress ?? "127.0.0.1", Number(ipPort ?? 8080));
194
195
  this.terminal.addListener(eventListener());
195
196
  return this.terminal;
196
197
  }
@@ -310,7 +311,7 @@ class AdvanceEcr {
310
311
  this.ensureTerminal().transactionAsync(timapi.constants.TransactionType.reversal, void 0);
311
312
  emitter.emit("txnStarted", 0, "reversal");
312
313
  } catch (err) {
313
- console.log("Error: " + err);
314
+ console.log("Error: ", err);
314
315
  }
315
316
  }
316
317
  actionPurchase(purchaseAmount) {
@@ -327,7 +328,7 @@ class AdvanceEcr {
327
328
  terminal: this.ensureTerminal(),
328
329
  requestType: "purchase"
329
330
  });
330
- console.log("Error: " + err);
331
+ console.log("Error: ", err);
331
332
  }
332
333
  }
333
334
  actionRefund(refundAmount) {
@@ -344,7 +345,7 @@ class AdvanceEcr {
344
345
  terminal: this.ensureTerminal(),
345
346
  requestType: "refund"
346
347
  });
347
- console.log("Error: " + err);
348
+ console.log("Error: ", err);
348
349
  }
349
350
  }
350
351
  actionCancel() {
@@ -390,7 +391,7 @@ const timApi = new AdvanceEcr({
390
391
  });
391
392
  const _hoisted_1$2 = { class: "text-center font-semibold uppercase" };
392
393
  const _hoisted_2$2 = { class: "text-center font-semibold uppercase" };
393
- const _sfc_main$3 = /* @__PURE__ */ defineComponent({
394
+ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
394
395
  __name: "PairTimapi",
395
396
  setup(__props) {
396
397
  function isValidIP(str) {
@@ -479,7 +480,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
479
480
  label: "Connection Port",
480
481
  rules: [(v) => !!v || "Connection Port is required"]
481
482
  }, null, 8, ["disable", "modelValue", "rules"]),
482
- !unref(isPaired) ? (openBlock(), createBlock(unref(QBtn), {
483
+ !unref(isPaired) ? (openBlock(), createBlock(_sfc_main$3, {
483
484
  key: 0,
484
485
  label: "Pair Terminal",
485
486
  type: "submit",
@@ -488,7 +489,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
488
489
  unelevated: "",
489
490
  "no-caps": "",
490
491
  ripple: false
491
- })) : (openBlock(), createBlock(unref(QBtn), {
492
+ })) : (openBlock(), createBlock(_sfc_main$3, {
492
493
  key: 1,
493
494
  label: "Unpair",
494
495
  type: "button",
@@ -514,7 +515,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
514
515
  pairInfo.value.state === "INPROGRESS" ? (openBlock(), createBlock(unref(QCardSection), { key: 0 }, {
515
516
  default: withCtx(() => [
516
517
  createElementVNode("div", _hoisted_1$2, toDisplayString(pairInfo.value.message), 1),
517
- createVNode(unref(QBtn), {
518
+ createVNode(_sfc_main$3, {
518
519
  label: "Cancel",
519
520
  onClick: cancelPairing,
520
521
  color: "primary",
@@ -529,7 +530,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
529
530
  })) : pairInfo.value.state === "FINISHED" ? (openBlock(), createBlock(unref(QCardSection), { key: 1 }, {
530
531
  default: withCtx(() => [
531
532
  createElementVNode("div", _hoisted_2$2, toDisplayString(pairInfo.value.message), 1),
532
- withDirectives(createVNode(unref(QBtn), {
533
+ withDirectives(createVNode(_sfc_main$3, {
533
534
  label: "OK",
534
535
  color: "primary",
535
536
  outline: "",
@@ -555,20 +556,6 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
555
556
  };
556
557
  }
557
558
  });
558
- const _sfc_main$2 = /* @__PURE__ */ defineComponent({
559
- __name: "PBtn",
560
- setup(__props) {
561
- return (_ctx, _cache) => {
562
- return openBlock(), createBlock(unref(QBtn), {
563
- label: "Cancel",
564
- color: "primary",
565
- class: "!py-2.5",
566
- unelevated: "",
567
- ripple: false
568
- });
569
- };
570
- }
571
- });
572
559
  const _hoisted_1$1 = { key: 0 };
573
560
  const _hoisted_2$1 = { class: "text-center font-semibold text-gray-500" };
574
561
  const _hoisted_3$1 = { key: 1 };
@@ -653,7 +640,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
653
640
  ])) : (openBlock(), createElementBlock("div", _hoisted_3$1, [
654
641
  unref(runningTxData).txType === "reversal" ? (openBlock(), createElementBlock("div", _hoisted_4$1, " Transaction reversal is in progress... ")) : (openBlock(), createElementBlock("div", _hoisted_5, toDisplayString(unref(runningTxData).txType) + " of $" + toDisplayString(unref(runningTxData).txnAmount) + " in progress... ", 1)),
655
642
  createElementVNode("div", _hoisted_6, toDisplayString(pairInfo.value.message), 1),
656
- createVNode(_sfc_main$2, {
643
+ createVNode(_sfc_main$3, {
657
644
  label: "Cancel",
658
645
  onClick: cancelTransaction,
659
646
  outline: "",
@@ -671,7 +658,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
671
658
  })) : pairInfo.value.state === "SUCCESS" ? (openBlock(), createBlock(unref(QCardSection), { key: 2 }, {
672
659
  default: withCtx(() => [
673
660
  createElementVNode("div", _hoisted_8, toDisplayString(pairInfo.value.message), 1),
674
- withDirectives(createVNode(_sfc_main$2, {
661
+ withDirectives(createVNode(_sfc_main$3, {
675
662
  label: "OK",
676
663
  outline: "",
677
664
  class: "!mt-6 !w-full"
@@ -684,7 +671,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
684
671
  default: withCtx(() => [
685
672
  _cache[3] || (_cache[3] = createElementVNode("div", { class: "text-center font-semibold uppercase text-gray-500" }, "Transaction Failed", -1)),
686
673
  createElementVNode("div", _hoisted_9, toDisplayString(pairInfo.value.message), 1),
687
- withDirectives(createVNode(_sfc_main$2, {
674
+ withDirectives(createVNode(_sfc_main$3, {
688
675
  label: "OK",
689
676
  outline: "",
690
677
  class: "!mt-6 !w-full"
@@ -796,7 +783,7 @@ onTimApiLog = (message) => {
796
783
  timApiLogger.addItem(message);
797
784
  };
798
785
  export {
799
- _sfc_main$3 as PairTimapi,
786
+ _sfc_main$2 as PairTimapi,
800
787
  _sfc_main$1 as TimApiDialog,
801
788
  TimApiEvents,
802
789
  _sfc_main as TimApiLogs,
package/package.json CHANGED
@@ -1,92 +1,93 @@
1
- {
2
- "name": "@achyutlabsau/vue-payment-gateway",
3
- "private": false,
4
- "version": "0.8.0",
5
- "type": "module",
6
- "repository": {
7
- "type": "git",
8
- "url": "git+https://github.com/Achyut-Labs/al-pay-npm-pkg.git"
9
- },
10
- "bugs": {
11
- "url": "https://github.com/Achyut-Labs/al-pay-npm-pkg/issues"
12
- },
13
- "homepage": "https://github.com/Achyut-Labs/al-pay-npm-pkg#readme",
14
- "files": [
15
- "dist"
16
- ],
17
- "main": "./dist/index.js",
18
- "module": "./dist/index.js",
19
- "exports": {
20
- "./worldline": {
21
- "types": "./dist/worldline.d.ts",
22
- "import": "./dist/worldline.js"
23
- },
24
- "./mx51": {
25
- "types": "./dist/mx51.d.ts",
26
- "import": "./dist/mx51.js"
27
- },
28
- "./till-payment": {
29
- "types": "./dist/till-payment.d.ts",
30
- "import": "./dist/till-payment.js"
31
- },
32
- "./linkly": {
33
- "types": "./dist/linkly.d.ts",
34
- "import": "./dist/linkly.js"
35
- },
36
- "./smartpay": {
37
- "types": "./dist/smartpay.d.ts",
38
- "import": "./dist/smartpay.js"
39
- },
40
- "./tyro": {
41
- "types": "./dist/tyro.d.ts",
42
- "import": "./dist/tyro.js"
43
- },
44
- ".": {
45
- "types": "./dist/index.d.ts",
46
- "import": "./dist/index.js"
47
- }
48
- },
49
- "scripts": {
50
- "dev": "cd examples && vite",
51
- "build": "vue-tsc -b && vite build",
52
- "preview": "vite preview",
53
- "docs:dev": "vitepress dev docs",
54
- "docs:build": "vitepress build docs",
55
- "docs:preview": "vitepress preview docs"
56
- },
57
- "dependencies": {
58
- "@mx51/spi-client-js": "^2.9.13",
59
- "@vueuse/core": "^13.9",
60
- "@vueuse/rxjs": "^13.9.0",
61
- "axios": "1.12.2",
62
- "dayjs": "1.11.18",
63
- "dexie": "^4.2.0",
64
- "uuid": "^13.0.0"
65
- },
66
- "peerDependencies": {
67
- "@vueuse/core": ">=13",
68
- "axios": ">=1.7",
69
- "dayjs": "^1",
70
- "quasar": "^2",
71
- "uuid": ">=11",
72
- "vue": ">=3.3.0"
73
- },
74
- "devDependencies": {
75
- "@microsoft/api-extractor": "^7.52.13",
76
- "@quasar/extras": "^1.17.0",
77
- "@tailwindcss/vite": "^4.1.13",
78
- "@types/node": "*",
79
- "@vitejs/plugin-vue": "^6.0.1",
80
- "@vue/language-core": "^3.0.7",
81
- "prettier": "^3.6.2",
82
- "prettier-plugin-tailwindcss": "^0.6.14",
83
- "quasar": "^2.18.5",
84
- "tailwindcss": "^4.1.13",
85
- "typescript": "5.8.2",
86
- "unplugin-dts": "^1.0.0-beta.6",
87
- "vite": "^7.1.6",
88
- "vitepress": "^2.0.0-alpha.8",
89
- "vue": "^3.5.21",
90
- "vue-tsc": "^3.0.7"
91
- }
92
- }
1
+ {
2
+ "name": "@achyutlabsau/vue-payment-gateway",
3
+ "private": false,
4
+ "version": "0.8.1",
5
+ "type": "module",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/Achyut-Labs/al-pay-npm-pkg.git"
9
+ },
10
+ "bugs": {
11
+ "url": "https://github.com/Achyut-Labs/al-pay-npm-pkg/issues"
12
+ },
13
+ "homepage": "https://github.com/Achyut-Labs/al-pay-npm-pkg#readme",
14
+ "files": [
15
+ "dist"
16
+ ],
17
+ "main": "./dist/index.js",
18
+ "module": "./dist/index.js",
19
+ "exports": {
20
+ "./worldline": {
21
+ "types": "./dist/worldline.d.ts",
22
+ "import": "./dist/worldline.js"
23
+ },
24
+ "./mx51": {
25
+ "types": "./dist/mx51.d.ts",
26
+ "import": "./dist/mx51.js"
27
+ },
28
+ "./till-payment": {
29
+ "types": "./dist/till-payment.d.ts",
30
+ "import": "./dist/till-payment.js"
31
+ },
32
+ "./linkly": {
33
+ "types": "./dist/linkly.d.ts",
34
+ "import": "./dist/linkly.js"
35
+ },
36
+ "./smartpay": {
37
+ "types": "./dist/smartpay.d.ts",
38
+ "import": "./dist/smartpay.js"
39
+ },
40
+ "./tyro": {
41
+ "types": "./dist/tyro.d.ts",
42
+ "import": "./dist/tyro.js"
43
+ },
44
+ ".": {
45
+ "types": "./dist/index.d.ts",
46
+ "import": "./dist/index.js"
47
+ }
48
+ },
49
+ "scripts": {
50
+ "dev": "cd examples && vite",
51
+ "build": "vue-tsc -b && vite build",
52
+ "preview": "vite preview",
53
+ "docs:dev": "vitepress dev docs",
54
+ "docs:build": "vitepress build docs",
55
+ "docs:preview": "vitepress preview docs"
56
+ },
57
+ "dependencies": {
58
+ "@mx51/spi-client-js": "^2.9.13",
59
+ "@vueuse/core": "^14.0",
60
+ "@vueuse/rxjs": "^14.0.0",
61
+ "axios": "1.13.1",
62
+ "dayjs": "1.11.19",
63
+ "dexie": "^4.2.1",
64
+ "uuid": "^13.0.0"
65
+ },
66
+ "peerDependencies": {
67
+ "@vueuse/core": ">=13",
68
+ "axios": ">=1.7",
69
+ "dayjs": "^1",
70
+ "quasar": "^2",
71
+ "uuid": ">=11",
72
+ "vue": ">=3.3.0"
73
+ },
74
+ "devDependencies": {
75
+ "@microsoft/api-extractor": "^7.53.3",
76
+ "@quasar/extras": "^1.17.0",
77
+ "@tailwindcss/vite": "^4.1.16",
78
+ "@types/node": "*",
79
+ "@vitejs/plugin-vue": "^6.0.1",
80
+ "@vue/language-core": "^3.1.2",
81
+ "oxlint": "^1.25.0",
82
+ "prettier": "^3.6.2",
83
+ "prettier-plugin-tailwindcss": "^0.7.1",
84
+ "quasar": "^2.18.5",
85
+ "tailwindcss": "^4.1.16",
86
+ "typescript": "5.9.3",
87
+ "unplugin-dts": "^1.0.0-beta.6",
88
+ "vite": "^7.1.12",
89
+ "vitepress": "^2.0.0-alpha.8",
90
+ "vue": "^3.5.22",
91
+ "vue-tsc": "^3.1.2"
92
+ }
93
+ }