@tmsoft/webphone 5.0.3 → 5.0.4

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.
@@ -6631,11 +6631,7 @@ var UserAgent = class e {
6631
6631
  0: [941, 1336],
6632
6632
  "#": [941, 1477],
6633
6633
  D: [941, 1633]
6634
- }, ringtoneInterval = ref(null), ringtonePulseTimeout = ref(null), ringbackInterval = ref(null), notificationVolume = ref(.5), ringtoneVolume = ref(1), ringtoneTone = ref("classic"), ringtoneActive = ref(!1), ringtonePresets = {
6635
- classic: {
6636
- frequencies: [440, 480],
6637
- type: "sine"
6638
- },
6634
+ }, ringtoneInterval = ref(null), ringtonePulseTimeout = ref(null), ringbackInterval = ref(null), notificationVolume = ref(.5), ringtoneVolume = ref(1), ringtoneTone = ref("original"), ringtoneActive = ref(!1), ringtonePresets = {
6639
6635
  original: {
6640
6636
  frequencies: [
6641
6637
  523.25,
@@ -6643,19 +6639,53 @@ var UserAgent = class e {
6643
6639
  783.99
6644
6640
  ],
6645
6641
  type: "sine",
6646
- originalMelody: !0
6642
+ originalMelody: !0,
6643
+ gain: .7,
6644
+ duration: .5,
6645
+ repeatDelay: 400
6646
+ },
6647
+ aurora: {
6648
+ frequencies: [
6649
+ 523.25,
6650
+ 659.25,
6651
+ 783.99,
6652
+ 1046.5
6653
+ ],
6654
+ type: "sine",
6655
+ originalMelody: !0,
6656
+ gain: .85,
6657
+ duration: .55,
6658
+ repeatDelay: 400
6659
+ },
6660
+ resonancia: {
6661
+ frequencies: [
6662
+ 392,
6663
+ 523.25,
6664
+ 659.25,
6665
+ 783.99
6666
+ ],
6667
+ type: "triangle",
6668
+ originalMelody: !0,
6669
+ gain: 1,
6670
+ duration: .6,
6671
+ repeatDelay: 400
6647
6672
  }
6648
6673
  };
6649
6674
  const useAudioSounds = () => {
6650
- let e = (e) => {
6651
- notificationVolume.value = Math.max(0, Math.min(1, e / 100));
6675
+ let e = {
6676
+ classic: "original",
6677
+ "original-loud": "aurora",
6678
+ "original-intense": "resonancia"
6652
6679
  }, t = (e) => {
6680
+ notificationVolume.value = Math.max(0, Math.min(1, e / 100));
6681
+ }, n = (e) => {
6653
6682
  ringtoneVolume.value = Math.max(0, Math.min(1, e / 100));
6654
- }, n = () => {
6655
- ringtoneActive.value && (s(), o());
6656
- }, i = (e) => {
6657
- ringtoneTone.value = ringtonePresets[e] ? e : "classic", n();
6658
- }, a = (e, t = 150) => {
6683
+ }, i = () => {
6684
+ ringtoneActive.value && (l(), s());
6685
+ }, a = (t) => {
6686
+ let n = e[t] ?? t;
6687
+ ringtoneTone.value = ringtonePresets[n] ? n : "original", i();
6688
+ }, o = (e, t = 150) => {
6659
6689
  audioContext.state === "suspended" && audioContext.resume();
6660
6690
  let n = DTMF_FREQUENCIES[e.toUpperCase()];
6661
6691
  if (!n) return;
@@ -6663,30 +6693,33 @@ const useAudioSounds = () => {
6663
6693
  i.frequency.value = n[0], a.frequency.value = n[1], i.type = "sine", a.type = "sine", o.gain.value = .1 * notificationVolume.value, i.connect(o), a.connect(o), o.connect(audioContext.destination), i.start(), a.start(), setTimeout(() => {
6664
6694
  i.stop(), a.stop(), i.disconnect(), a.disconnect(), o.disconnect();
6665
6695
  }, t);
6666
- }, o = () => {
6696
+ }, s = () => {
6667
6697
  if (ringtoneActive.value) return;
6668
6698
  ringtoneActive.value = !0, audioContext.state === "suspended" && audioContext.resume();
6669
6699
  let e = () => {
6670
- let e = audioContext.currentTime, t = ringtonePresets[ringtoneTone.value] || ringtonePresets.classic, n = audioContext.createGain(), i = t.originalMelody ? .5 : 1.2, a = (t.originalMelody ? [t.frequencies[0]] : t.frequencies).map((i) => {
6700
+ let e = audioContext.currentTime, t = ringtonePresets[ringtoneTone.value] || ringtonePresets.original, n = audioContext.createGain(), i = t.duration, a = (t.originalMelody ? [t.frequencies[0]] : t.frequencies).map((i) => {
6671
6701
  let a = audioContext.createOscillator();
6672
6702
  return a.type = t.type, a.frequency.setValueAtTime(i, e), t.originalMelody && t.frequencies.slice(1).forEach((t, n) => {
6673
6703
  a.frequency.setValueAtTime(t, e + (n + 1) * .1);
6674
6704
  }), a.connect(n), a;
6675
6705
  });
6676
- t.originalMelody ? (n.gain.setValueAtTime(.7 * ringtoneVolume.value, e), n.gain.exponentialRampToValueAtTime(.001, e + i)) : (n.gain.setValueAtTime(0, e), n.gain.linearRampToValueAtTime(.7 * ringtoneVolume.value, e + .02), n.gain.setValueAtTime(.7 * ringtoneVolume.value, e + 1.05), n.gain.linearRampToValueAtTime(0, e + i)), n.connect(audioContext.destination), a.forEach((t) => {
6706
+ t.originalMelody ? (n.gain.setValueAtTime(t.gain * ringtoneVolume.value, e), n.gain.exponentialRampToValueAtTime(.001, e + i)) : (n.gain.setValueAtTime(0, e), n.gain.linearRampToValueAtTime(.7 * ringtoneVolume.value, e + .02), n.gain.setValueAtTime(.7 * ringtoneVolume.value, e + 1.05), n.gain.linearRampToValueAtTime(0, e + i)), n.connect(audioContext.destination), a.forEach((t) => {
6677
6707
  t.start(e), t.stop(e + i);
6678
6708
  });
6709
+ }, t = () => {
6710
+ let t = ringtonePresets[ringtoneTone.value] || ringtonePresets.original;
6711
+ ringtonePulseTimeout.value = window.setTimeout(e, t.repeatDelay);
6679
6712
  };
6680
- e(), ringtoneInterval.value = window.setInterval(() => {
6681
- e(), ringtoneTone.value === "original" && (ringtonePulseTimeout.value = window.setTimeout(e, 400));
6713
+ e(), t(), ringtoneInterval.value = window.setInterval(() => {
6714
+ e(), t();
6682
6715
  }, 3e3);
6683
- }, s = () => {
6716
+ }, l = () => {
6684
6717
  ringtoneInterval.value &&= (clearInterval(ringtoneInterval.value), null), ringtonePulseTimeout.value &&= (clearTimeout(ringtonePulseTimeout.value), null), ringtoneActive.value = !1;
6685
6718
  };
6686
6719
  return {
6687
- playDtmf: a,
6688
- startRingtone: o,
6689
- stopRingtone: s,
6720
+ playDtmf: o,
6721
+ startRingtone: s,
6722
+ stopRingtone: l,
6690
6723
  startRingback: () => {
6691
6724
  if (ringbackInterval.value) return;
6692
6725
  audioContext.state === "suspended" && audioContext.resume();
@@ -6701,9 +6734,9 @@ const useAudioSounds = () => {
6701
6734
  stopRingback: () => {
6702
6735
  ringbackInterval.value &&= (clearInterval(ringbackInterval.value), null);
6703
6736
  },
6704
- setNotificationVolume: e,
6705
- setRingtoneVolume: t,
6706
- setRingtoneTone: i
6737
+ setNotificationVolume: t,
6738
+ setRingtoneVolume: n,
6739
+ setRingtoneTone: a
6707
6740
  };
6708
6741
  };
6709
6742
  function r(e) {
@@ -17048,7 +17081,11 @@ var icon_phone_default = { render }, Tooltip_default = /* @__PURE__ */ defineCom
17048
17081
  props: { visible: { type: Boolean } },
17049
17082
  emits: ["update:visible"],
17050
17083
  setup(e, { emit: t }) {
17051
- let i = t, a = navigator.platform.toUpperCase().indexOf("MAC") >= 0 ? "⌘" : "Ctrl+", o = inject("sip"), { setVolume: p, setOutputDevice: _, setInputDevice: v, setNotificationVolume: y } = o, b = o.setRingtoneVolume ?? (() => {}), x = o.setRingtoneTone ?? (() => {}), S = ref([]), E = ref([]), D = useStorage("webphone-input-device", ""), O = useStorage("webphone-output-device", ""), k = useStorage("webphone-volume", 100), A = useStorage("webphone-notification-volume", 100), j = useStorage("webphone-ringtone-volume", 100), M = useStorage("webphone-ringtone-tone", "classic"), N = async () => {
17084
+ let i = t, a = navigator.platform.toUpperCase().indexOf("MAC") >= 0 ? "⌘" : "Ctrl+", o = inject("sip"), { setVolume: p, setOutputDevice: _, setInputDevice: v, setNotificationVolume: y } = o, b = o.setRingtoneVolume ?? (() => {}), x = o.setRingtoneTone ?? (() => {}), S = ref([]), E = ref([]), D = useStorage("webphone-input-device", ""), O = useStorage("webphone-output-device", ""), k = useStorage("webphone-volume", 100), A = useStorage("webphone-notification-volume", 100), j = useStorage("webphone-ringtone-volume", 100), M = useStorage("webphone-ringtone-tone", "original"), N = {
17085
+ classic: "original",
17086
+ "original-loud": "aurora",
17087
+ "original-intense": "resonancia"
17088
+ }, F = async () => {
17052
17089
  try {
17053
17090
  await navigator.mediaDevices.getUserMedia({ audio: !0 });
17054
17091
  let e = await navigator.mediaDevices.enumerateDevices();
@@ -17066,32 +17103,38 @@ var icon_phone_default = { render }, Tooltip_default = /* @__PURE__ */ defineCom
17066
17103
  } catch (e) {
17067
17104
  console.error("Error loading devices", e);
17068
17105
  }
17069
- }, F = (e) => {
17106
+ }, I = (e) => {
17070
17107
  let t = String(e);
17071
17108
  D.value = t, v(t);
17072
- }, I = (e) => {
17109
+ }, L = (e) => {
17073
17110
  let t = String(e);
17074
17111
  O.value = t, _(t);
17075
- }, L = (e, t = 35) => e.length <= t ? e : e.substring(0, t) + "...", z = computed({
17112
+ }, z = (e, t = 35) => e.length <= t ? e : e.substring(0, t) + "...", B = computed({
17076
17113
  get: () => [k.value],
17077
17114
  set: (e) => {
17078
17115
  k.value = e[0], p(k.value);
17079
17116
  }
17080
- }), B = computed({
17117
+ }), H = computed({
17081
17118
  get: () => [A.value],
17082
17119
  set: (e) => {
17083
17120
  A.value = e[0], y(A.value);
17084
17121
  }
17085
- }), H = computed({
17122
+ }), U = computed({
17086
17123
  get: () => [j.value],
17087
17124
  set: (e) => {
17088
17125
  j.value = e[0] ?? 100, b(j.value);
17089
17126
  }
17090
- }), U = (e) => {
17127
+ }), W = (e) => {
17091
17128
  M.value = String(e), x(M.value);
17092
17129
  };
17093
17130
  return onMounted(() => {
17094
- N(), p(k.value), y(A.value), b(j.value), localStorage.removeItem("webphone-custom-ringtone"), ["classic", "original"].includes(M.value) || (M.value = "classic"), x(M.value);
17131
+ F(), p(k.value), y(A.value), b(j.value), localStorage.removeItem("webphone-custom-ringtone");
17132
+ let e = N[M.value] ?? M.value;
17133
+ M.value = [
17134
+ "original",
17135
+ "aurora",
17136
+ "resonancia"
17137
+ ].includes(e) ? e : "original", x(M.value);
17095
17138
  }), (t, o) => e.visible ? (openBlock(), createBlock(unref(Dialog_default), {
17096
17139
  key: 0,
17097
17140
  open: e.visible,
@@ -17112,7 +17155,7 @@ var icon_phone_default = { render }, Tooltip_default = /* @__PURE__ */ defineCom
17112
17155
  _: 1
17113
17156
  }), createVNode(unref(Select_default), {
17114
17157
  modelValue: unref(D),
17115
- "onUpdate:modelValue": [o[0] ||= (e) => isRef(D) ? D.value = e : null, F]
17158
+ "onUpdate:modelValue": [o[0] ||= (e) => isRef(D) ? D.value = e : null, I]
17116
17159
  }, {
17117
17160
  default: withCtx(() => [createVNode(unref(SelectTrigger_default), { class: "wp:w-full" }, {
17118
17161
  default: withCtx(() => [createVNode(unref(SelectValue_default), { placeholder: "Select Microphone" })]),
@@ -17124,7 +17167,7 @@ var icon_phone_default = { render }, Tooltip_default = /* @__PURE__ */ defineCom
17124
17167
  value: e.deviceId,
17125
17168
  title: e.label
17126
17169
  }, {
17127
- default: withCtx(() => [createTextVNode(toDisplayString(L(e.label)), 1)]),
17170
+ default: withCtx(() => [createTextVNode(toDisplayString(z(e.label)), 1)]),
17128
17171
  _: 2
17129
17172
  }, 1032, ["value", "title"]))), 128))]),
17130
17173
  _: 1
@@ -17138,7 +17181,7 @@ var icon_phone_default = { render }, Tooltip_default = /* @__PURE__ */ defineCom
17138
17181
  _: 1
17139
17182
  }), createVNode(unref(Select_default), {
17140
17183
  modelValue: unref(O),
17141
- "onUpdate:modelValue": [o[1] ||= (e) => isRef(O) ? O.value = e : null, I]
17184
+ "onUpdate:modelValue": [o[1] ||= (e) => isRef(O) ? O.value = e : null, L]
17142
17185
  }, {
17143
17186
  default: withCtx(() => [createVNode(unref(SelectTrigger_default), { class: "wp:w-full" }, {
17144
17187
  default: withCtx(() => [createVNode(unref(SelectValue_default), { placeholder: "Select Speaker" })]),
@@ -17150,7 +17193,7 @@ var icon_phone_default = { render }, Tooltip_default = /* @__PURE__ */ defineCom
17150
17193
  value: e.deviceId,
17151
17194
  title: e.label
17152
17195
  }, {
17153
- default: withCtx(() => [createTextVNode(toDisplayString(L(e.label)), 1)]),
17196
+ default: withCtx(() => [createTextVNode(toDisplayString(z(e.label)), 1)]),
17154
17197
  _: 2
17155
17198
  }, 1032, ["value", "title"]))), 128))]),
17156
17199
  _: 1
@@ -17163,8 +17206,8 @@ var icon_phone_default = { render }, Tooltip_default = /* @__PURE__ */ defineCom
17163
17206
  default: withCtx(() => [...o[10] ||= [createTextVNode("Media Volume", -1)]]),
17164
17207
  _: 1
17165
17208
  }), createElementVNode("span", _hoisted_6$3, toDisplayString(unref(k)) + "%", 1)]), createVNode(unref(Slider_default), {
17166
- modelValue: z.value,
17167
- "onUpdate:modelValue": o[2] ||= (e) => z.value = e,
17209
+ modelValue: B.value,
17210
+ "onUpdate:modelValue": o[2] ||= (e) => B.value = e,
17168
17211
  max: 100,
17169
17212
  step: 1
17170
17213
  }, null, 8, ["modelValue"])]),
@@ -17172,8 +17215,8 @@ var icon_phone_default = { render }, Tooltip_default = /* @__PURE__ */ defineCom
17172
17215
  default: withCtx(() => [...o[11] ||= [createTextVNode("Notification Volume", -1)]]),
17173
17216
  _: 1
17174
17217
  }), createElementVNode("span", _hoisted_9$3, toDisplayString(unref(A)) + "%", 1)]), createVNode(unref(Slider_default), {
17175
- modelValue: B.value,
17176
- "onUpdate:modelValue": o[3] ||= (e) => B.value = e,
17218
+ modelValue: H.value,
17219
+ "onUpdate:modelValue": o[3] ||= (e) => H.value = e,
17177
17220
  max: 100,
17178
17221
  step: 1
17179
17222
  }, null, 8, ["modelValue"])]),
@@ -17181,8 +17224,8 @@ var icon_phone_default = { render }, Tooltip_default = /* @__PURE__ */ defineCom
17181
17224
  default: withCtx(() => [...o[12] ||= [createTextVNode("Volumen del tono", -1)]]),
17182
17225
  _: 1
17183
17226
  }), createElementVNode("span", _hoisted_12$2, toDisplayString(unref(j)) + "%", 1)]), createVNode(unref(Slider_default), {
17184
- modelValue: H.value,
17185
- "onUpdate:modelValue": o[4] ||= (e) => H.value = e,
17227
+ modelValue: U.value,
17228
+ "onUpdate:modelValue": o[4] ||= (e) => U.value = e,
17186
17229
  max: 100,
17187
17230
  step: 1
17188
17231
  }, null, 8, ["modelValue"])]),
@@ -17191,20 +17234,27 @@ var icon_phone_default = { render }, Tooltip_default = /* @__PURE__ */ defineCom
17191
17234
  _: 1
17192
17235
  }), createVNode(unref(Select_default), {
17193
17236
  "model-value": unref(M),
17194
- "onUpdate:modelValue": U
17237
+ "onUpdate:modelValue": W
17195
17238
  }, {
17196
17239
  default: withCtx(() => [createVNode(unref(SelectTrigger_default), { class: "wp:w-full" }, {
17197
17240
  default: withCtx(() => [createVNode(unref(SelectValue_default), { placeholder: "Seleccionar tono" })]),
17198
17241
  _: 1
17199
17242
  }), createVNode(unref(SelectContent_default), null, {
17200
17243
  default: withCtx(() => [createVNode(unref(SelectGroup_default), null, {
17201
- default: withCtx(() => [createVNode(unref(SelectItem_default), { value: "classic" }, {
17202
- default: withCtx(() => [...o[14] ||= [createTextVNode("Teléfono clásico", -1)]]),
17203
- _: 1
17204
- }), createVNode(unref(SelectItem_default), { value: "original" }, {
17205
- default: withCtx(() => [...o[15] ||= [createTextVNode("Original", -1)]]),
17206
- _: 1
17207
- })]),
17244
+ default: withCtx(() => [
17245
+ createVNode(unref(SelectItem_default), { value: "original" }, {
17246
+ default: withCtx(() => [...o[14] ||= [createTextVNode("Original", -1)]]),
17247
+ _: 1
17248
+ }),
17249
+ createVNode(unref(SelectItem_default), { value: "aurora" }, {
17250
+ default: withCtx(() => [...o[15] ||= [createTextVNode("Aurora", -1)]]),
17251
+ _: 1
17252
+ }),
17253
+ createVNode(unref(SelectItem_default), { value: "resonancia" }, {
17254
+ default: withCtx(() => [...o[16] ||= [createTextVNode("Resonancia", -1)]]),
17255
+ _: 1
17256
+ })
17257
+ ]),
17208
17258
  _: 1
17209
17259
  })]),
17210
17260
  _: 1
@@ -17213,30 +17263,30 @@ var icon_phone_default = { render }, Tooltip_default = /* @__PURE__ */ defineCom
17213
17263
  }, 8, ["model-value"])]),
17214
17264
  createVNode(unref(Separator_default)),
17215
17265
  createElementVNode("div", _hoisted_14, [createVNode(unref(Label_default), { class: "wp:text-base" }, {
17216
- default: withCtx(() => [...o[16] ||= [createTextVNode("Atajos de teclado", -1)]]),
17266
+ default: withCtx(() => [...o[17] ||= [createTextVNode("Atajos de teclado", -1)]]),
17217
17267
  _: 1
17218
17268
  }), createElementVNode("div", _hoisted_15, [
17219
- createElementVNode("div", _hoisted_16, [o[17] ||= createElementVNode("span", { class: "wp:text-muted-foreground" }, "Historial", -1), createVNode(unref(Kbd_default), null, {
17269
+ createElementVNode("div", _hoisted_16, [o[18] ||= createElementVNode("span", { class: "wp:text-muted-foreground" }, "Historial", -1), createVNode(unref(Kbd_default), null, {
17220
17270
  default: withCtx(() => [createTextVNode(toDisplayString(unref(a)) + "H", 1)]),
17221
17271
  _: 1
17222
17272
  })]),
17223
- createElementVNode("div", _hoisted_17, [o[18] ||= createElementVNode("span", { class: "wp:text-muted-foreground" }, "Configuración", -1), createVNode(unref(Kbd_default), null, {
17273
+ createElementVNode("div", _hoisted_17, [o[19] ||= createElementVNode("span", { class: "wp:text-muted-foreground" }, "Configuración", -1), createVNode(unref(Kbd_default), null, {
17224
17274
  default: withCtx(() => [createTextVNode(toDisplayString(unref(a)) + ",", 1)]),
17225
17275
  _: 1
17226
17276
  })]),
17227
- createElementVNode("div", _hoisted_18, [o[19] ||= createElementVNode("span", { class: "wp:text-muted-foreground" }, "Teclado", -1), createVNode(unref(Kbd_default), null, {
17277
+ createElementVNode("div", _hoisted_18, [o[20] ||= createElementVNode("span", { class: "wp:text-muted-foreground" }, "Teclado", -1), createVNode(unref(Kbd_default), null, {
17228
17278
  default: withCtx(() => [createTextVNode(toDisplayString(unref(a)) + "K", 1)]),
17229
17279
  _: 1
17230
17280
  })]),
17231
- createElementVNode("div", _hoisted_19, [o[20] ||= createElementVNode("span", { class: "wp:text-muted-foreground" }, "Línea 1", -1), createVNode(unref(Kbd_default), null, {
17281
+ createElementVNode("div", _hoisted_19, [o[21] ||= createElementVNode("span", { class: "wp:text-muted-foreground" }, "Línea 1", -1), createVNode(unref(Kbd_default), null, {
17232
17282
  default: withCtx(() => [createTextVNode(toDisplayString(unref(a)) + "1", 1)]),
17233
17283
  _: 1
17234
17284
  })]),
17235
- createElementVNode("div", _hoisted_20, [o[21] ||= createElementVNode("span", { class: "wp:text-muted-foreground" }, "Línea 2", -1), createVNode(unref(Kbd_default), null, {
17285
+ createElementVNode("div", _hoisted_20, [o[22] ||= createElementVNode("span", { class: "wp:text-muted-foreground" }, "Línea 2", -1), createVNode(unref(Kbd_default), null, {
17236
17286
  default: withCtx(() => [createTextVNode(toDisplayString(unref(a)) + "2", 1)]),
17237
17287
  _: 1
17238
17288
  })]),
17239
- createElementVNode("div", _hoisted_21, [o[22] ||= createElementVNode("span", { class: "wp:text-muted-foreground" }, "Línea 3", -1), createVNode(unref(Kbd_default), null, {
17289
+ createElementVNode("div", _hoisted_21, [o[23] ||= createElementVNode("span", { class: "wp:text-muted-foreground" }, "Línea 3", -1), createVNode(unref(Kbd_default), null, {
17240
17290
  default: withCtx(() => [createTextVNode(toDisplayString(unref(a)) + "3", 1)]),
17241
17291
  _: 1
17242
17292
  })])
@@ -17247,7 +17297,7 @@ var icon_phone_default = { render }, Tooltip_default = /* @__PURE__ */ defineCom
17247
17297
  variant: "secondary",
17248
17298
  onClick: o[5] ||= (e) => i("update:visible", !1)
17249
17299
  }, {
17250
- default: withCtx(() => [...o[23] ||= [createTextVNode("Close", -1)]]),
17300
+ default: withCtx(() => [...o[24] ||= [createTextVNode("Close", -1)]]),
17251
17301
  _: 1
17252
17302
  })]),
17253
17303
  _: 1