@tmsoft/webphone 3.0.22 → 3.0.24

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.
@@ -8497,7 +8497,10 @@ const createSipService = (e, t = {}) => {
8497
8497
  n.value = new UserAgent({
8498
8498
  uri: a,
8499
8499
  logLevel: "error",
8500
- transportOptions: { server: t.transportOptions.server },
8500
+ transportOptions: {
8501
+ server: t.transportOptions.server,
8502
+ keepAliveInterval: t.transportOptions.keepAliveInterval ?? 30
8503
+ },
8501
8504
  authorizationUsername: t.authorizationUsername,
8502
8505
  authorizationPassword: t.authorizationPassword,
8503
8506
  reconnectionDelay: 5,
@@ -8753,14 +8756,20 @@ const createSipService = (e, t = {}) => {
8753
8756
  B(o, e.channels.value.find((e) => e.id === t)), $(o);
8754
8757
  } else tm();
8755
8758
  }, Xp = (t) => {
8759
+ if (!/^[0-9*#]$/.test(t)) return;
8756
8760
  let n = a.value.get(e.activeChannelId.value);
8757
8761
  if (n?.state !== SessionState.Established) return;
8758
- let i = { requestOptions: { body: {
8762
+ let i = n.sessionDescriptionHandler?.peerConnection?.getSenders().find((e) => e.track?.kind === "audio")?.dtmf;
8763
+ if (i?.canInsertDTMF) {
8764
+ i.insertDTMF(t, 160, 70);
8765
+ return;
8766
+ }
8767
+ let o = { requestOptions: { body: {
8759
8768
  content: `Signal=${t}\r\nDuration=160`,
8760
8769
  contentType: "application/dtmf-relay",
8761
8770
  contentDisposition: "signal"
8762
8771
  } } };
8763
- n.info(i);
8772
+ n.info(o);
8764
8773
  }, Zp = (t, n) => {
8765
8774
  let i = e.channels.value.find((e) => e.id === t);
8766
8775
  !i || i.status !== "connected" || ($(n), B(n, i), Wp(n), o.play().catch(() => {}));
@@ -15409,6 +15418,7 @@ var _hoisted_1$17 = {
15409
15418
  Object,
15410
15419
  Array
15411
15420
  ] },
15421
+ type: { default: "button" },
15412
15422
  asChild: { type: Boolean },
15413
15423
  as: { default: "button" }
15414
15424
  },
@@ -15418,6 +15428,7 @@ var _hoisted_1$17 = {
15418
15428
  "data-slot": "button",
15419
15429
  as: e.as,
15420
15430
  "as-child": e.asChild,
15431
+ type: e.as === "button" ? e.type : void 0,
15421
15432
  class: normalizeClass(unref(cn)(unref(buttonVariants)({
15422
15433
  variant: e.variant,
15423
15434
  size: e.size
@@ -15428,6 +15439,7 @@ var _hoisted_1$17 = {
15428
15439
  }, 8, [
15429
15440
  "as",
15430
15441
  "as-child",
15442
+ "type",
15431
15443
  "class"
15432
15444
  ]));
15433
15445
  }
@@ -15473,10 +15485,11 @@ var _hoisted_1$15 = { class: "webphone-keypad wp:grid wp:grid-cols-3 wp:gap-y-3
15473
15485
  "0",
15474
15486
  "#"
15475
15487
  ], s = (e) => {
15476
- a(e), t.callStatus === "connected" ? i(e) : t.appendKeypad(e);
15488
+ a(e), t.callStatus === "connected" && i(e), t.appendKeypad(e);
15477
15489
  };
15478
15490
  return (e, t) => (openBlock(), createElementBlock("div", _hoisted_1$15, [(openBlock(), createElementBlock(Fragment, null, renderList(o, (e) => createVNode(unref(Button_default), {
15479
15491
  key: e,
15492
+ type: "button",
15480
15493
  onClick: (t) => s(e),
15481
15494
  variant: "ghost",
15482
15495
  size: "icon",
@@ -15871,63 +15884,78 @@ var IconDelete_default = { render: render$1 }, _hoisted_1$7 = ["data-call-status
15871
15884
  "cancelTransfer"
15872
15885
  ],
15873
15886
  setup(e, { emit: t }) {
15874
- let i = inject("webphone"), { makeCall: a, hangupCall: o, answerCall: p, toggleMute: _, toggleHold: v } = inject("sip"), y = e, b = t, x = computed(() => !!i.transferInProgress), S = computed(() => y.destination || i.keypadValue || i.lastDialedNumber || ""), T = computed(() => !!y.destination || /^[+]?[0-9*#]+$/.test(i.keypadValue)), E = computed(() => T.value || !!i.lastDialedNumber), D = computed(() => !y.isVideo || !T.value ? !1 : S.value ? /^[0-9*#]{1,5}$/.test(S.value) : !0), O = async (e) => {
15887
+ let i = inject("webphone"), { makeCall: a, hangupCall: o, answerCall: p, toggleMute: _, toggleHold: v, sendDTMF: y } = inject("sip"), b = /^[0-9*#]+$/, x = (e) => {
15888
+ if (b.test(e)) {
15889
+ for (let t of e) y(t);
15890
+ for (let t of e) i.appendKeypad(t);
15891
+ }
15892
+ }, S = (e) => {
15893
+ e.ctrlKey || e.metaKey || e.altKey || e.key.length !== 1 || (e.preventDefault(), e.stopPropagation(), x(e.key));
15894
+ }, T = (e) => {
15895
+ e.data && (e.preventDefault(), e.stopPropagation(), x(e.data));
15896
+ }, E = (e) => {
15897
+ e.preventDefault(), e.stopPropagation(), x(e.clipboardData?.getData("text").replace(/\s/g, "") || "");
15898
+ };
15899
+ watch(() => i.callStatus, (e, t) => {
15900
+ e === "connected" && t !== "connected" && i.clearKeypad();
15901
+ });
15902
+ let D = e, O = t, k = computed(() => !!i.transferInProgress), j = computed(() => D.destination || i.keypadValue || i.lastDialedNumber || ""), M = computed(() => !!D.destination || /^[+]?[0-9*#]+$/.test(i.keypadValue)), N = computed(() => M.value || !!i.lastDialedNumber), P = computed(() => !D.isVideo || !M.value ? !1 : j.value ? /^[0-9*#]{1,5}$/.test(j.value) : !0), F = async (e) => {
15875
15903
  try {
15876
- y.destination ? await a(y.destination, e) : i.keypadValue ? await a(i.keypadValue, e) : i.lastDialedNumber && (i.keypadValue = i.lastDialedNumber);
15904
+ D.destination ? await a(D.destination, e) : i.keypadValue ? await a(i.keypadValue, e) : i.lastDialedNumber && (i.keypadValue = i.lastDialedNumber);
15877
15905
  } catch (t) {
15878
15906
  if (console.error("Error initiating call:", t), e) {
15879
15907
  let e = "No se pudo acceder a la cámara.", n = t instanceof Error ? t.name : String(t);
15880
- n === "NotReadableError" ? e = "La cámara parece estar en uso por otra aplicación (ej: Zoom, Meet) o no se puede acceder al hardware." : n === "NotAllowedError" || n === "PermissionDeniedError" ? e = "Permiso de cámara denegado. Por favor, permita el acceso a la cámara." : n === "NotFoundError" ? e = "No se detectó ninguna cámara en el sistema." : e += " " + (t instanceof Error ? t.message : String(t)), confirm(`${e}\n\n¿Desea realizar la llamada solo con AUDIO?`) && O(!1);
15908
+ n === "NotReadableError" ? e = "La cámara parece estar en uso por otra aplicación (ej: Zoom, Meet) o no se puede acceder al hardware." : n === "NotAllowedError" || n === "PermissionDeniedError" ? e = "Permiso de cámara denegado. Por favor, permita el acceso a la cámara." : n === "NotFoundError" ? e = "No se detectó ninguna cámara en el sistema." : e += " " + (t instanceof Error ? t.message : String(t)), confirm(`${e}\n\n¿Desea realizar la llamada solo con AUDIO?`) && F(!1);
15881
15909
  } else alert("Error al iniciar la llamada: " + (t instanceof Error ? t.message : String(t)));
15882
15910
  }
15883
- }, k = (e = !1) => {
15884
- if (y.onAnswer) {
15885
- y.onAnswer(e);
15911
+ }, I = (e = !1) => {
15912
+ if (D.onAnswer) {
15913
+ D.onAnswer(e);
15886
15914
  return;
15887
15915
  }
15888
15916
  p(e);
15889
- }, j = () => {
15890
- if (y.onHangup) {
15891
- y.onHangup();
15917
+ }, L = () => {
15918
+ if (D.onHangup) {
15919
+ D.onHangup();
15892
15920
  return;
15893
15921
  }
15894
15922
  o();
15895
- }, M = () => {
15896
- if (y.onReject) {
15897
- y.onReject();
15923
+ }, z = () => {
15924
+ if (D.onReject) {
15925
+ D.onReject();
15898
15926
  return;
15899
15927
  }
15900
15928
  o();
15901
- }, N = computed(() => {
15929
+ }, B = computed(() => {
15902
15930
  let e = {};
15903
15931
  return i.channels.forEach((t) => {
15904
15932
  let n = t.status === "connected" || t.status === "calling" || t.status === "incoming";
15905
15933
  e[t.id] = n ? "wp:text-[var(--color-red)]" : "wp:text-[var(--color-avaible)]";
15906
15934
  }), e;
15907
- }), P = computed(() => N.value[i.activeChannelId] ?? "wp:text-[var(--p-primary-color)]");
15935
+ }), Up = computed(() => B.value[i.activeChannelId] ?? "wp:text-[var(--p-primary-color)]");
15908
15936
  return (e, t) => (openBlock(), createElementBlock("div", {
15909
15937
  class: "webphone-actions wp:flex wp:justify-center wp:items-center wp:gap-2 wp:px-4 wp:relative wp:mb-4",
15910
15938
  "data-call-status": unref(i).callStatus
15911
15939
  }, [
15912
- unref(i).callStatus === "idle" ? (openBlock(), createElementBlock("div", _hoisted_2$5, [E.value ? (openBlock(), createBlock(unref(Button_default), {
15940
+ unref(i).callStatus === "idle" ? (openBlock(), createElementBlock("div", _hoisted_2$5, [N.value ? (openBlock(), createBlock(unref(Button_default), {
15913
15941
  key: 0,
15914
15942
  variant: "default",
15915
15943
  size: "icon",
15916
- onClick: t[0] ||= (e) => O(!1),
15944
+ onClick: t[0] ||= (e) => F(!1),
15917
15945
  "aria-label": "Audio Call",
15918
15946
  class: "webphone-actions__button webphone-actions__button--call wp:w-full wp:px-4 wp:border-0 wp:bg-gradient-to-r wp:from-[color:var(--p-primary-color)]/80 wp:to-[color:var(--p-primary-color)]/100 wp:hover:from-[color:var(--p-primary-color)]/75 wp:hover:to-[color:var(--p-primary-color)]"
15919
15947
  }, {
15920
- default: withCtx(() => [createVNode(unref(phone_call_icon_default), { class: "webphone-actions__button-icon wp:size-7 wp:text-white" }), t[13] ||= createElementVNode("span", { class: "webphone-actions__button-label wp:w-full wp:text-white wp:text-xs" }, "Llamar", -1)]),
15948
+ default: withCtx(() => [createVNode(unref(phone_call_icon_default), { class: "webphone-actions__button-icon wp:size-7 wp:text-white" }), t[12] ||= createElementVNode("span", { class: "webphone-actions__button-label wp:w-full wp:text-white wp:text-xs" }, "Llamar", -1)]),
15921
15949
  _: 1
15922
- })) : createCommentVNode("", !0), D.value ? (openBlock(), createBlock(unref(Button_default), {
15950
+ })) : createCommentVNode("", !0), P.value ? (openBlock(), createBlock(unref(Button_default), {
15923
15951
  key: 1,
15924
15952
  variant: "outline",
15925
15953
  size: "icon",
15926
- onClick: t[1] ||= (e) => O(!0),
15954
+ onClick: t[1] ||= (e) => F(!0),
15927
15955
  "aria-label": "Video Call",
15928
15956
  class: "webphone-actions__button webphone-actions__button--video wp:w-full wp:px-4 wp:bg-transparent wp:border wp:border-primary wp:hover:bg-[var(--p-primary-color)]/8"
15929
15957
  }, {
15930
- default: withCtx(() => [createVNode(unref(videocall_icon_default), { class: normalizeClass(["webphone-actions__button-icon wp:size-6 wp:text-primary wp:dark:text-white", P.value]) }, null, 8, ["class"]), t[14] ||= createElementVNode("span", { class: "webphone-actions__button-label wp:w-full wp:text-primary wp:text-xs wp:dark:text-white" }, " Video llamada a extensiones ", -1)]),
15958
+ default: withCtx(() => [createVNode(unref(videocall_icon_default), { class: normalizeClass(["webphone-actions__button-icon wp:size-6 wp:text-primary wp:dark:text-white", Up.value]) }, null, 8, ["class"]), t[13] ||= createElementVNode("span", { class: "webphone-actions__button-label wp:w-full wp:text-primary wp:text-xs wp:dark:text-white" }, " Video llamada a extensiones ", -1)]),
15931
15959
  _: 1
15932
15960
  })) : createCommentVNode("", !0)])) : createCommentVNode("", !0),
15933
15961
  unref(i).callStatus === "incoming" ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
@@ -15935,7 +15963,7 @@ var IconDelete_default = { render: render$1 }, _hoisted_1$7 = ["data-call-status
15935
15963
  key: 0,
15936
15964
  variant: "default",
15937
15965
  size: "icon",
15938
- onClick: t[2] ||= (e) => k(!0),
15966
+ onClick: t[2] ||= (e) => I(!0),
15939
15967
  class: "webphone-actions__button webphone-actions__button--answer-video wp:animate-pulse wp:w-12 wp:h-12 wp:rounded-full wp:bg-transparent wp:hover:bg-[var(--p-primary-color)]/10",
15940
15968
  "aria-label": "Answer Video"
15941
15969
  }, {
@@ -15945,7 +15973,7 @@ var IconDelete_default = { render: render$1 }, _hoisted_1$7 = ["data-call-status
15945
15973
  createVNode(unref(Button_default), {
15946
15974
  variant: "default",
15947
15975
  size: "icon",
15948
- onClick: t[3] ||= (e) => k(!1),
15976
+ onClick: t[3] ||= (e) => I(!1),
15949
15977
  class: "webphone-actions__button webphone-actions__button--answer wp:animate-pulse wp:w-12 wp:h-12 wp:rounded-full wp:border-0 wp:bg-status-available wp:hover:bg-status-available/90",
15950
15978
  "aria-label": "Answer"
15951
15979
  }, {
@@ -15955,7 +15983,7 @@ var IconDelete_default = { render: render$1 }, _hoisted_1$7 = ["data-call-status
15955
15983
  createVNode(unref(Button_default), {
15956
15984
  variant: "destructive",
15957
15985
  size: "icon",
15958
- onClick: M,
15986
+ onClick: z,
15959
15987
  "aria-label": "Reject",
15960
15988
  class: "webphone-actions__button webphone-actions__button--hangup webphone-actions__button--reject wp:w-12 wp:h-12 wp:rounded-full wp:border-0 wp:bg-gradient-to-r wp:from-destructive/60 wp:to-destructive/90 wp:hover:from-destructive/70 wp:hover:to-destructive/95"
15961
15989
  }, {
@@ -15997,11 +16025,11 @@ var IconDelete_default = { render: render$1 }, _hoisted_1$7 = ["data-call-status
15997
16025
  }))]),
15998
16026
  _: 1
15999
16027
  }, 8, ["variant", "onClick"]),
16000
- x.value ? createCommentVNode("", !0) : (openBlock(), createBlock(unref(Button_default), {
16028
+ k.value ? createCommentVNode("", !0) : (openBlock(), createBlock(unref(Button_default), {
16001
16029
  key: 0,
16002
16030
  variant: "secondary",
16003
16031
  size: "icon",
16004
- onClick: t[4] ||= (e) => b("transfer"),
16032
+ onClick: t[4] ||= (e) => O("transfer"),
16005
16033
  "aria-label": "Transfer",
16006
16034
  class: "webphone-actions__button webphone-actions__button--transfer wp:w-12 wp:h-12 wp:rounded-full wp:bg-primary/10 wp:hover:bg-[var(--p-primary-color)]/20"
16007
16035
  }, {
@@ -16027,14 +16055,20 @@ var IconDelete_default = { render: render$1 }, _hoisted_1$7 = ["data-call-status
16027
16055
  _: 1
16028
16056
  }, 8, ["aria-label"]),
16029
16057
  createVNode(unref(Input_default), {
16030
- modelValue: unref(i).keypadValue,
16031
- "onUpdate:modelValue": t[6] ||= (e) => unref(i).keypadValue = e,
16032
- placeholder: "Ingresa el numero a llamar...",
16058
+ "model-value": unref(i).keypadValue,
16059
+ type: "text",
16060
+ inputmode: "tel",
16061
+ pattern: "[0-9*#]*",
16062
+ placeholder: "Marcar opción (0-9, * o #)...",
16063
+ "aria-label": "Tonos de marcación",
16064
+ onKeydown: S,
16065
+ onBeforeinput: T,
16066
+ onPaste: E,
16033
16067
  class: "p-input webphone-actions__input wp:h-10 wp:text-center wp:select-text wp:px-14 wp:text-base hover:wp:border-[var(--p-primary-color)] wp:dark:hover:bg-neutral-900 focus-visible:wp:border-[var(--p-primary-color)] focus-visible:wp:ring-2 montserrat"
16034
- }, null, 8, ["modelValue"]),
16068
+ }, null, 8, ["model-value"]),
16035
16069
  createElementVNode("div", {
16036
16070
  class: "webphone-actions__backspace wp:absolute wp:right-1 wp:top-1/2 wp:-translate-y-1/2 wp:z-10 wp:flex wp:h-8 wp:w-8 wp:cursor-pointer wp:items-center wp:justify-center wp:hover:bg-accent wp:rounded-full",
16037
- onClick: t[7] ||= withModifiers((e) => unref(i).backspaceKeypad(), ["stop"])
16071
+ onClick: t[6] ||= withModifiers((e) => unref(i).backspaceKeypad(), ["stop"])
16038
16072
  }, [createVNode(unref(IconDelete_default), { class: "webphone-actions__backspace-icon wp:w-[16px] wp:h-[16px] wp:text-black wp:hover:text-status-disconnected wp:dark:text-neutral-500 wp:dark:hover:text-status-disconnected wp:transition-colors" })])
16039
16073
  ]),
16040
16074
  createElementVNode("div", {
@@ -16043,11 +16077,11 @@ var IconDelete_default = { render: render$1 }, _hoisted_1$7 = ["data-call-status
16043
16077
  }, [createVNode(KeyPad_default)], 10, _hoisted_6$5),
16044
16078
  createVNode(unref(Button_default), {
16045
16079
  size: "icon",
16046
- onClick: j,
16080
+ onClick: L,
16047
16081
  "aria-label": "Hangup",
16048
16082
  class: "webphone-actions__button webphone-actions__button--hangup wp:w-full wp:px-4 wp:border-0 wp:bg-gradient-to-r wp:from-destructive/60 wp:to-destructive/90 wp:hover:from-destructive/70 wp:hover:to-destructive/95"
16049
16083
  }, {
16050
- default: withCtx(() => [createVNode(unref(phone_off_icon_default), { class: "webphone-actions__button-icon wp:size-6 wp:text-white" }), t[15] ||= createElementVNode("span", { class: "webphone-actions__button-label wp:w-full wp:text-white wp:text-xs" }, "Colgar", -1)]),
16084
+ default: withCtx(() => [createVNode(unref(phone_off_icon_default), { class: "webphone-actions__button-icon wp:size-6 wp:text-white" }), t[14] ||= createElementVNode("span", { class: "webphone-actions__button-label wp:w-full wp:text-white wp:text-xs" }, "Colgar", -1)]),
16051
16085
  _: 1
16052
16086
  })
16053
16087
  ])) : createCommentVNode("", !0),
@@ -16056,7 +16090,7 @@ var IconDelete_default = { render: render$1 }, _hoisted_1$7 = ["data-call-status
16056
16090
  createVNode(unref(Button_default), {
16057
16091
  variant: "ghost",
16058
16092
  size: "icon",
16059
- onClick: t[8] ||= (e) => unref(i).toggleKeypad(),
16093
+ onClick: t[7] ||= (e) => unref(i).toggleKeypad(),
16060
16094
  "aria-label": unref(i).isKeypadVisible ? "Ocultar teclado" : "Mostrar teclado",
16061
16095
  class: "webphone-actions__keypad-toggle wp:absolute wp:left-0.5 wp:top-1/2 wp:-translate-y-1/2 wp:z-10 wp:h-9 wp:w-9 wp:rounded-full wp:text-[var(--p-primary-color)] wp:hover:opacity-80"
16062
16096
  }, {
@@ -16071,13 +16105,13 @@ var IconDelete_default = { render: render$1 }, _hoisted_1$7 = ["data-call-status
16071
16105
  }, 8, ["aria-label"]),
16072
16106
  createVNode(unref(Input_default), {
16073
16107
  modelValue: unref(i).keypadValue,
16074
- "onUpdate:modelValue": t[9] ||= (e) => unref(i).keypadValue = e,
16108
+ "onUpdate:modelValue": t[8] ||= (e) => unref(i).keypadValue = e,
16075
16109
  placeholder: "Ingresa el numero a llamar...",
16076
16110
  class: "p-input webphone-actions__input wp:h-10 wp:text-center wp:select-text wp:px-14 wp:text-base hover:wp:border-[var(--p-primary-color)] wp:dark:hover:bg-neutral-900 focus-visible:wp:border-[var(--p-primary-color)] focus-visible:wp:ring-2 montserrat"
16077
16111
  }, null, 8, ["modelValue"]),
16078
16112
  createElementVNode("div", {
16079
16113
  class: "webphone-actions__backspace wp:absolute wp:right-1 wp:top-1/2 wp:-translate-y-1/2 wp:z-10 wp:flex wp:h-8 wp:w-8 wp:cursor-pointer wp:items-center wp:justify-center wp:hover:bg-accent wp:rounded-full",
16080
- onClick: t[10] ||= withModifiers((e) => unref(i).backspaceKeypad(), ["stop"])
16114
+ onClick: t[9] ||= withModifiers((e) => unref(i).backspaceKeypad(), ["stop"])
16081
16115
  }, [createVNode(unref(IconDelete_default), { class: "webphone-actions__backspace-icon wp:w-[16px] wp:h-[16px] wp:text-black wp:hover:text-status-disconnected wp:dark:text-neutral-500 wp:dark:hover:text-status-disconnected wp:transition-colors" })])
16082
16116
  ]),
16083
16117
  createElementVNode("div", {
@@ -16087,29 +16121,29 @@ var IconDelete_default = { render: render$1 }, _hoisted_1$7 = ["data-call-status
16087
16121
  createVNode(unref(Button_default), {
16088
16122
  variant: "destructive",
16089
16123
  size: "lg",
16090
- onClick: j,
16124
+ onClick: L,
16091
16125
  "aria-label": "Cancel",
16092
16126
  class: "webphone-actions__button webphone-actions__button--hangup webphone-actions__button--cancel wp:w-full wp:px-4 wp:border-0 wp:bg-gradient-to-r wp:from-destructive/60 wp:to-destructive/90 wp:hover:from-destructive/70 wp:hover:to-destructive/95"
16093
16127
  }, {
16094
- default: withCtx(() => [createVNode(unref(phone_off_icon_default), { class: "webphone-actions__button-icon wp:size-6 wp:text-white" }), t[16] ||= createElementVNode("span", { class: "webphone-actions__button-label wp:w-full wp:text-white" }, "Colgar", -1)]),
16128
+ default: withCtx(() => [createVNode(unref(phone_off_icon_default), { class: "webphone-actions__button-icon wp:size-6 wp:text-white" }), t[15] ||= createElementVNode("span", { class: "webphone-actions__button-label wp:w-full wp:text-white" }, "Colgar", -1)]),
16095
16129
  _: 1
16096
16130
  })
16097
16131
  ])) : createCommentVNode("", !0),
16098
- x.value && unref(i).callStatus === "connected" ? (openBlock(), createElementBlock("div", _hoisted_10$4, [createVNode(unref(Button_default), {
16132
+ k.value && unref(i).callStatus === "connected" ? (openBlock(), createElementBlock("div", _hoisted_10$4, [createVNode(unref(Button_default), {
16099
16133
  variant: "default",
16100
16134
  size: "sm",
16101
- onClick: t[11] ||= (e) => b("completeTransfer"),
16135
+ onClick: t[10] ||= (e) => O("completeTransfer"),
16102
16136
  class: "webphone-actions__button webphone-actions__button--complete-transfer wp:gap-2 wp:bg-status-available wp:hover:bg-status-available/90 wp:text-white"
16103
16137
  }, {
16104
- default: withCtx(() => [createVNode(unref(Check), { class: "wp:w-4 wp:h-4" }), t[17] ||= createTextVNode(" Completar Transferencia ", -1)]),
16138
+ default: withCtx(() => [createVNode(unref(Check), { class: "wp:w-4 wp:h-4" }), t[16] ||= createTextVNode(" Completar Transferencia ", -1)]),
16105
16139
  _: 1
16106
16140
  }), createVNode(unref(Button_default), {
16107
16141
  variant: "destructive",
16108
16142
  size: "sm",
16109
- onClick: t[12] ||= (e) => b("cancelTransfer"),
16143
+ onClick: t[11] ||= (e) => O("cancelTransfer"),
16110
16144
  class: "webphone-actions__button webphone-actions__button--cancel-transfer wp:gap-2"
16111
16145
  }, {
16112
- default: withCtx(() => [createVNode(unref(X), { class: "wp:w-4 wp:h-4" }), t[18] ||= createTextVNode(" Cancelar ", -1)]),
16146
+ default: withCtx(() => [createVNode(unref(X), { class: "wp:w-4 wp:h-4" }), t[17] ||= createTextVNode(" Cancelar ", -1)]),
16113
16147
  _: 1
16114
16148
  })])) : createCommentVNode("", !0)
16115
16149
  ], 8, _hoisted_1$7));