@tmsoft/webphone 3.0.18 → 3.0.19

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.
@@ -7020,7 +7020,7 @@ var concatArrays = (e, t) => {
7020
7020
  "max",
7021
7021
  "fit",
7022
7022
  ...O()
7023
- ], R = () => [
7023
+ ], Up = () => [
7024
7024
  isFraction,
7025
7025
  "screen",
7026
7026
  "full",
@@ -7031,7 +7031,7 @@ var concatArrays = (e, t) => {
7031
7031
  "max",
7032
7032
  "fit",
7033
7033
  ...O()
7034
- ], z = () => [
7034
+ ], R = () => [
7035
7035
  isFraction,
7036
7036
  "screen",
7037
7037
  "full",
@@ -7043,22 +7043,22 @@ var concatArrays = (e, t) => {
7043
7043
  "max",
7044
7044
  "fit",
7045
7045
  ...O()
7046
- ], B = () => [
7046
+ ], z = () => [
7047
7047
  e,
7048
7048
  isArbitraryVariable,
7049
7049
  isArbitraryValue
7050
- ], V = () => [
7050
+ ], Wp = () => [
7051
7051
  ...w(),
7052
7052
  isArbitraryVariablePosition,
7053
7053
  isArbitraryPosition,
7054
7054
  { position: [isArbitraryVariable, isArbitraryValue] }
7055
- ], Vp = () => ["no-repeat", { repeat: [
7055
+ ], B = () => ["no-repeat", { repeat: [
7056
7056
  "",
7057
7057
  "x",
7058
7058
  "y",
7059
7059
  "space",
7060
7060
  "round"
7061
- ] }], Hp = () => [
7061
+ ] }], V = () => [
7062
7062
  "auto",
7063
7063
  "cover",
7064
7064
  "contain",
@@ -7081,12 +7081,12 @@ var concatArrays = (e, t) => {
7081
7081
  isNumber,
7082
7082
  isArbitraryVariableLength,
7083
7083
  isArbitraryLength
7084
- ], Up = () => [
7084
+ ], Gp = () => [
7085
7085
  "solid",
7086
7086
  "dashed",
7087
7087
  "dotted",
7088
7088
  "double"
7089
- ], Wp = () => [
7089
+ ], Kp = () => [
7090
7090
  "normal",
7091
7091
  "multiply",
7092
7092
  "screen",
@@ -7108,7 +7108,7 @@ var concatArrays = (e, t) => {
7108
7108
  isPercent,
7109
7109
  isArbitraryVariablePosition,
7110
7110
  isArbitraryPosition
7111
- ], Gp = () => [
7111
+ ], qp = () => [
7112
7112
  "",
7113
7113
  "none",
7114
7114
  _,
@@ -7417,12 +7417,12 @@ var concatArrays = (e, t) => {
7417
7417
  "space-y": [{ "space-y": O() }],
7418
7418
  "space-y-reverse": ["space-y-reverse"],
7419
7419
  size: [{ size: L() }],
7420
- "inline-size": [{ inline: ["auto", ...R()] }],
7421
- "min-inline-size": [{ "min-inline": ["auto", ...R()] }],
7422
- "max-inline-size": [{ "max-inline": ["none", ...R()] }],
7423
- "block-size": [{ block: ["auto", ...z()] }],
7424
- "min-block-size": [{ "min-block": ["auto", ...z()] }],
7425
- "max-block-size": [{ "max-block": ["none", ...z()] }],
7420
+ "inline-size": [{ inline: ["auto", ...Up()] }],
7421
+ "min-inline-size": [{ "min-inline": ["auto", ...Up()] }],
7422
+ "max-inline-size": [{ "max-inline": ["none", ...Up()] }],
7423
+ "block-size": [{ block: ["auto", ...R()] }],
7424
+ "min-block-size": [{ "min-block": ["auto", ...R()] }],
7425
+ "max-block-size": [{ "max-block": ["none", ...R()] }],
7426
7426
  w: [{ w: [
7427
7427
  l,
7428
7428
  "screen",
@@ -7529,15 +7529,15 @@ var concatArrays = (e, t) => {
7529
7529
  "start",
7530
7530
  "end"
7531
7531
  ] }],
7532
- "placeholder-color": [{ placeholder: B() }],
7533
- "text-color": [{ text: B() }],
7532
+ "placeholder-color": [{ placeholder: z() }],
7533
+ "text-color": [{ text: z() }],
7534
7534
  "text-decoration": [
7535
7535
  "underline",
7536
7536
  "overline",
7537
7537
  "line-through",
7538
7538
  "no-underline"
7539
7539
  ],
7540
- "text-decoration-style": [{ decoration: [...Up(), "wavy"] }],
7540
+ "text-decoration-style": [{ decoration: [...Gp(), "wavy"] }],
7541
7541
  "text-decoration-thickness": [{ decoration: [
7542
7542
  isNumber,
7543
7543
  "from-font",
@@ -7545,7 +7545,7 @@ var concatArrays = (e, t) => {
7545
7545
  isArbitraryVariable,
7546
7546
  isArbitraryLength
7547
7547
  ] }],
7548
- "text-decoration-color": [{ decoration: B() }],
7548
+ "text-decoration-color": [{ decoration: z() }],
7549
7549
  "underline-offset": [{ "underline-offset": [
7550
7550
  isNumber,
7551
7551
  "auto",
@@ -7627,9 +7627,9 @@ var concatArrays = (e, t) => {
7627
7627
  "padding",
7628
7628
  "content"
7629
7629
  ] }],
7630
- "bg-position": [{ bg: V() }],
7631
- "bg-repeat": [{ bg: Vp() }],
7632
- "bg-size": [{ bg: Hp() }],
7630
+ "bg-position": [{ bg: Wp() }],
7631
+ "bg-repeat": [{ bg: B() }],
7632
+ "bg-size": [{ bg: V() }],
7633
7633
  "bg-image": [{ bg: [
7634
7634
  "none",
7635
7635
  {
@@ -7662,13 +7662,13 @@ var concatArrays = (e, t) => {
7662
7662
  isArbitraryVariableImage,
7663
7663
  isArbitraryImage
7664
7664
  ] }],
7665
- "bg-color": [{ bg: B() }],
7665
+ "bg-color": [{ bg: z() }],
7666
7666
  "gradient-from-pos": [{ from: H() }],
7667
7667
  "gradient-via-pos": [{ via: H() }],
7668
7668
  "gradient-to-pos": [{ to: H() }],
7669
- "gradient-from": [{ from: B() }],
7670
- "gradient-via": [{ via: B() }],
7671
- "gradient-to": [{ to: B() }],
7669
+ "gradient-from": [{ from: z() }],
7670
+ "gradient-via": [{ via: z() }],
7671
+ "gradient-to": [{ to: z() }],
7672
7672
  rounded: [{ rounded: U() }],
7673
7673
  "rounded-s": [{ "rounded-s": U() }],
7674
7674
  "rounded-e": [{ "rounded-e": U() }],
@@ -7700,29 +7700,29 @@ var concatArrays = (e, t) => {
7700
7700
  "divide-y": [{ "divide-y": W() }],
7701
7701
  "divide-y-reverse": ["divide-y-reverse"],
7702
7702
  "border-style": [{ border: [
7703
- ...Up(),
7703
+ ...Gp(),
7704
7704
  "hidden",
7705
7705
  "none"
7706
7706
  ] }],
7707
7707
  "divide-style": [{ divide: [
7708
- ...Up(),
7708
+ ...Gp(),
7709
7709
  "hidden",
7710
7710
  "none"
7711
7711
  ] }],
7712
- "border-color": [{ border: B() }],
7713
- "border-color-x": [{ "border-x": B() }],
7714
- "border-color-y": [{ "border-y": B() }],
7715
- "border-color-s": [{ "border-s": B() }],
7716
- "border-color-e": [{ "border-e": B() }],
7717
- "border-color-bs": [{ "border-bs": B() }],
7718
- "border-color-be": [{ "border-be": B() }],
7719
- "border-color-t": [{ "border-t": B() }],
7720
- "border-color-r": [{ "border-r": B() }],
7721
- "border-color-b": [{ "border-b": B() }],
7722
- "border-color-l": [{ "border-l": B() }],
7723
- "divide-color": [{ divide: B() }],
7712
+ "border-color": [{ border: z() }],
7713
+ "border-color-x": [{ "border-x": z() }],
7714
+ "border-color-y": [{ "border-y": z() }],
7715
+ "border-color-s": [{ "border-s": z() }],
7716
+ "border-color-e": [{ "border-e": z() }],
7717
+ "border-color-bs": [{ "border-bs": z() }],
7718
+ "border-color-be": [{ "border-be": z() }],
7719
+ "border-color-t": [{ "border-t": z() }],
7720
+ "border-color-r": [{ "border-r": z() }],
7721
+ "border-color-b": [{ "border-b": z() }],
7722
+ "border-color-l": [{ "border-l": z() }],
7723
+ "divide-color": [{ divide: z() }],
7724
7724
  "outline-style": [{ outline: [
7725
- ...Up(),
7725
+ ...Gp(),
7726
7726
  "none",
7727
7727
  "hidden"
7728
7728
  ] }],
@@ -7737,7 +7737,7 @@ var concatArrays = (e, t) => {
7737
7737
  isArbitraryVariableLength,
7738
7738
  isArbitraryLength
7739
7739
  ] }],
7740
- "outline-color": [{ outline: B() }],
7740
+ "outline-color": [{ outline: z() }],
7741
7741
  shadow: [{ shadow: [
7742
7742
  "",
7743
7743
  "none",
@@ -7745,39 +7745,39 @@ var concatArrays = (e, t) => {
7745
7745
  isArbitraryVariableShadow,
7746
7746
  isArbitraryShadow
7747
7747
  ] }],
7748
- "shadow-color": [{ shadow: B() }],
7748
+ "shadow-color": [{ shadow: z() }],
7749
7749
  "inset-shadow": [{ "inset-shadow": [
7750
7750
  "none",
7751
7751
  p,
7752
7752
  isArbitraryVariableShadow,
7753
7753
  isArbitraryShadow
7754
7754
  ] }],
7755
- "inset-shadow-color": [{ "inset-shadow": B() }],
7755
+ "inset-shadow-color": [{ "inset-shadow": z() }],
7756
7756
  "ring-w": [{ ring: W() }],
7757
7757
  "ring-w-inset": ["ring-inset"],
7758
- "ring-color": [{ ring: B() }],
7758
+ "ring-color": [{ ring: z() }],
7759
7759
  "ring-offset-w": [{ "ring-offset": [isNumber, isArbitraryLength] }],
7760
- "ring-offset-color": [{ "ring-offset": B() }],
7760
+ "ring-offset-color": [{ "ring-offset": z() }],
7761
7761
  "inset-ring-w": [{ "inset-ring": W() }],
7762
- "inset-ring-color": [{ "inset-ring": B() }],
7762
+ "inset-ring-color": [{ "inset-ring": z() }],
7763
7763
  "text-shadow": [{ "text-shadow": [
7764
7764
  "none",
7765
7765
  m,
7766
7766
  isArbitraryVariableShadow,
7767
7767
  isArbitraryShadow
7768
7768
  ] }],
7769
- "text-shadow-color": [{ "text-shadow": B() }],
7769
+ "text-shadow-color": [{ "text-shadow": z() }],
7770
7770
  opacity: [{ opacity: [
7771
7771
  isNumber,
7772
7772
  isArbitraryVariable,
7773
7773
  isArbitraryValue
7774
7774
  ] }],
7775
7775
  "mix-blend": [{ "mix-blend": [
7776
- ...Wp(),
7776
+ ...Kp(),
7777
7777
  "plus-darker",
7778
7778
  "plus-lighter"
7779
7779
  ] }],
7780
- "bg-blend": [{ "bg-blend": Wp() }],
7780
+ "bg-blend": [{ "bg-blend": Kp() }],
7781
7781
  "mask-clip": [{ "mask-clip": [
7782
7782
  "border",
7783
7783
  "padding",
@@ -7795,37 +7795,37 @@ var concatArrays = (e, t) => {
7795
7795
  "mask-image-linear-pos": [{ "mask-linear": [isNumber] }],
7796
7796
  "mask-image-linear-from-pos": [{ "mask-linear-from": G() }],
7797
7797
  "mask-image-linear-to-pos": [{ "mask-linear-to": G() }],
7798
- "mask-image-linear-from-color": [{ "mask-linear-from": B() }],
7799
- "mask-image-linear-to-color": [{ "mask-linear-to": B() }],
7798
+ "mask-image-linear-from-color": [{ "mask-linear-from": z() }],
7799
+ "mask-image-linear-to-color": [{ "mask-linear-to": z() }],
7800
7800
  "mask-image-t-from-pos": [{ "mask-t-from": G() }],
7801
7801
  "mask-image-t-to-pos": [{ "mask-t-to": G() }],
7802
- "mask-image-t-from-color": [{ "mask-t-from": B() }],
7803
- "mask-image-t-to-color": [{ "mask-t-to": B() }],
7802
+ "mask-image-t-from-color": [{ "mask-t-from": z() }],
7803
+ "mask-image-t-to-color": [{ "mask-t-to": z() }],
7804
7804
  "mask-image-r-from-pos": [{ "mask-r-from": G() }],
7805
7805
  "mask-image-r-to-pos": [{ "mask-r-to": G() }],
7806
- "mask-image-r-from-color": [{ "mask-r-from": B() }],
7807
- "mask-image-r-to-color": [{ "mask-r-to": B() }],
7806
+ "mask-image-r-from-color": [{ "mask-r-from": z() }],
7807
+ "mask-image-r-to-color": [{ "mask-r-to": z() }],
7808
7808
  "mask-image-b-from-pos": [{ "mask-b-from": G() }],
7809
7809
  "mask-image-b-to-pos": [{ "mask-b-to": G() }],
7810
- "mask-image-b-from-color": [{ "mask-b-from": B() }],
7811
- "mask-image-b-to-color": [{ "mask-b-to": B() }],
7810
+ "mask-image-b-from-color": [{ "mask-b-from": z() }],
7811
+ "mask-image-b-to-color": [{ "mask-b-to": z() }],
7812
7812
  "mask-image-l-from-pos": [{ "mask-l-from": G() }],
7813
7813
  "mask-image-l-to-pos": [{ "mask-l-to": G() }],
7814
- "mask-image-l-from-color": [{ "mask-l-from": B() }],
7815
- "mask-image-l-to-color": [{ "mask-l-to": B() }],
7814
+ "mask-image-l-from-color": [{ "mask-l-from": z() }],
7815
+ "mask-image-l-to-color": [{ "mask-l-to": z() }],
7816
7816
  "mask-image-x-from-pos": [{ "mask-x-from": G() }],
7817
7817
  "mask-image-x-to-pos": [{ "mask-x-to": G() }],
7818
- "mask-image-x-from-color": [{ "mask-x-from": B() }],
7819
- "mask-image-x-to-color": [{ "mask-x-to": B() }],
7818
+ "mask-image-x-from-color": [{ "mask-x-from": z() }],
7819
+ "mask-image-x-to-color": [{ "mask-x-to": z() }],
7820
7820
  "mask-image-y-from-pos": [{ "mask-y-from": G() }],
7821
7821
  "mask-image-y-to-pos": [{ "mask-y-to": G() }],
7822
- "mask-image-y-from-color": [{ "mask-y-from": B() }],
7823
- "mask-image-y-to-color": [{ "mask-y-to": B() }],
7822
+ "mask-image-y-from-color": [{ "mask-y-from": z() }],
7823
+ "mask-image-y-to-color": [{ "mask-y-to": z() }],
7824
7824
  "mask-image-radial": [{ "mask-radial": [isArbitraryVariable, isArbitraryValue] }],
7825
7825
  "mask-image-radial-from-pos": [{ "mask-radial-from": G() }],
7826
7826
  "mask-image-radial-to-pos": [{ "mask-radial-to": G() }],
7827
- "mask-image-radial-from-color": [{ "mask-radial-from": B() }],
7828
- "mask-image-radial-to-color": [{ "mask-radial-to": B() }],
7827
+ "mask-image-radial-from-color": [{ "mask-radial-from": z() }],
7828
+ "mask-image-radial-to-color": [{ "mask-radial-to": z() }],
7829
7829
  "mask-image-radial-shape": [{ "mask-radial": ["circle", "ellipse"] }],
7830
7830
  "mask-image-radial-size": [{ "mask-radial": [{
7831
7831
  closest: ["side", "corner"],
@@ -7835,8 +7835,8 @@ var concatArrays = (e, t) => {
7835
7835
  "mask-image-conic-pos": [{ "mask-conic": [isNumber] }],
7836
7836
  "mask-image-conic-from-pos": [{ "mask-conic-from": G() }],
7837
7837
  "mask-image-conic-to-pos": [{ "mask-conic-to": G() }],
7838
- "mask-image-conic-from-color": [{ "mask-conic-from": B() }],
7839
- "mask-image-conic-to-color": [{ "mask-conic-to": B() }],
7838
+ "mask-image-conic-from-color": [{ "mask-conic-from": z() }],
7839
+ "mask-image-conic-to-color": [{ "mask-conic-to": z() }],
7840
7840
  "mask-mode": [{ mask: [
7841
7841
  "alpha",
7842
7842
  "luminance",
@@ -7850,9 +7850,9 @@ var concatArrays = (e, t) => {
7850
7850
  "stroke",
7851
7851
  "view"
7852
7852
  ] }],
7853
- "mask-position": [{ mask: V() }],
7854
- "mask-repeat": [{ mask: Vp() }],
7855
- "mask-size": [{ mask: Hp() }],
7853
+ "mask-position": [{ mask: Wp() }],
7854
+ "mask-repeat": [{ mask: B() }],
7855
+ "mask-size": [{ mask: V() }],
7856
7856
  "mask-type": [{ "mask-type": ["alpha", "luminance"] }],
7857
7857
  "mask-image": [{ mask: [
7858
7858
  "none",
@@ -7865,7 +7865,7 @@ var concatArrays = (e, t) => {
7865
7865
  isArbitraryVariable,
7866
7866
  isArbitraryValue
7867
7867
  ] }],
7868
- blur: [{ blur: Gp() }],
7868
+ blur: [{ blur: qp() }],
7869
7869
  brightness: [{ brightness: [
7870
7870
  isNumber,
7871
7871
  isArbitraryVariable,
@@ -7883,7 +7883,7 @@ var concatArrays = (e, t) => {
7883
7883
  isArbitraryVariableShadow,
7884
7884
  isArbitraryShadow
7885
7885
  ] }],
7886
- "drop-shadow-color": [{ "drop-shadow": B() }],
7886
+ "drop-shadow-color": [{ "drop-shadow": z() }],
7887
7887
  grayscale: [{ grayscale: [
7888
7888
  "",
7889
7889
  isNumber,
@@ -7918,7 +7918,7 @@ var concatArrays = (e, t) => {
7918
7918
  isArbitraryVariable,
7919
7919
  isArbitraryValue
7920
7920
  ] }],
7921
- "backdrop-blur": [{ "backdrop-blur": Gp() }],
7921
+ "backdrop-blur": [{ "backdrop-blur": qp() }],
7922
7922
  "backdrop-brightness": [{ "backdrop-brightness": [
7923
7923
  isNumber,
7924
7924
  isArbitraryVariable,
@@ -8038,9 +8038,9 @@ var concatArrays = (e, t) => {
8038
8038
  "translate-y": [{ "translate-y": Y() }],
8039
8039
  "translate-z": [{ "translate-z": Y() }],
8040
8040
  "translate-none": ["translate-none"],
8041
- accent: [{ accent: B() }],
8041
+ accent: [{ accent: z() }],
8042
8042
  appearance: [{ appearance: ["none", "auto"] }],
8043
- "caret-color": [{ caret: B() }],
8043
+ "caret-color": [{ caret: z() }],
8044
8044
  "color-scheme": [{ scheme: [
8045
8045
  "normal",
8046
8046
  "dark",
@@ -8164,14 +8164,14 @@ var concatArrays = (e, t) => {
8164
8164
  isArbitraryVariable,
8165
8165
  isArbitraryValue
8166
8166
  ] }],
8167
- fill: [{ fill: ["none", ...B()] }],
8167
+ fill: [{ fill: ["none", ...z()] }],
8168
8168
  "stroke-w": [{ stroke: [
8169
8169
  isNumber,
8170
8170
  isArbitraryVariableLength,
8171
8171
  isArbitraryLength,
8172
8172
  isArbitraryNumber
8173
8173
  ] }],
8174
- stroke: [{ stroke: ["none", ...B()] }],
8174
+ stroke: [{ stroke: ["none", ...z()] }],
8175
8175
  "forced-color-adjust": [{ "forced-color-adjust": ["auto", "none"] }]
8176
8176
  },
8177
8177
  conflictingClassGroups: {
@@ -8374,26 +8374,36 @@ const cn = (...e) => twMerge(clsx(e)), extractCallerNumber = (e, t) => {
8374
8374
  var cleanPhoneNumber = (e) => e.replace(/[^\d+*#]/g, ""), isValidPhoneOrExtension = (e) => /^\+?[\d*#]{2,}$/.test(e), extractNumberFromDisplayName = (e) => {
8375
8375
  let t = e.match(/^([+]?[\d*#]{2,})\s*[-:]/);
8376
8376
  return t && t[1] || (t = e.match(/\(([+]?[\d*#]{2,})\)/), t && t[1]) || (t = e.match(/(?:ext\.?|extension)\s*([+]?[\d*#]{2,})/i), t && t[1]) ? t[1] : (t = e.match(/([+]?\d{1,3}[-.\s]?\(?\d{1,4}\)?[-.\s]?\d{1,4}[-.\s]?\d{1,9})/), t && t[1] ? cleanPhoneNumber(t[1]) : null);
8377
- };
8377
+ }, QUEUE_NAME_HEADER = "X-Nebula-Queue", QUEUE_ID_HEADER = "X-Nebula-Queue-Id";
8378
8378
  const createSipService = (e, t = {}) => {
8379
8379
  let n = shallowRef(null), i = shallowRef(null), a = shallowRef(/* @__PURE__ */ new Map()), o = new Audio();
8380
8380
  o.autoplay = !0;
8381
- let l = shallowRef(void 0), u = shallowRef(null), d = shallowRef(null), f = /* @__PURE__ */ new Map(), p = /* @__PURE__ */ new Map(), m = /* @__PURE__ */ new Set(), g = null, _ = null, v = null, y = null, b = null, x = computed(() => n.value?.configuration.uri?.user || ""), { startRingtone: S, stopRingtone: w, startRingback: T, stopRingback: E, setNotificationVolume: D } = useAudioSounds(), O = (e) => e instanceof Inviter || e instanceof Invitation ? e.request?.callId || e.dialog?.callId || e.id || crypto.randomUUID() : e.dialog?.callId || e.id || crypto.randomUUID(), k = (e, n, i, a) => {
8382
- let o = {
8381
+ let l = shallowRef(void 0), u = shallowRef(null), d = shallowRef(null), f = /* @__PURE__ */ new Map(), p = /* @__PURE__ */ new Map(), m = /* @__PURE__ */ new Set(), g = null, _ = null, v = null, y = null, b = null, x = computed(() => n.value?.configuration.uri?.user || ""), { startRingtone: S, stopRingtone: w, startRingback: T, stopRingback: E, setNotificationVolume: D } = useAudioSounds(), O = (e) => e instanceof Inviter || e instanceof Invitation ? e.request?.callId || e.dialog?.callId || e.id || crypto.randomUUID() : e.dialog?.callId || e.id || crypto.randomUUID(), k = (e) => {
8382
+ if (!(e instanceof Invitation)) return;
8383
+ let t = e.request;
8384
+ if (!t) return;
8385
+ let n = t.getHeader(QUEUE_NAME_HEADER)?.trim(), i = t.getHeader(QUEUE_ID_HEADER)?.trim();
8386
+ if (!(!n && !i)) return {
8387
+ ...i ? { id: i } : {},
8388
+ ...n ? { name: n } : {}
8389
+ };
8390
+ }, A = (e, n, i, a) => {
8391
+ let o = k(e), s = {
8383
8392
  channelId: n,
8384
8393
  sipCallId: O(e),
8385
8394
  direction: i,
8386
- remoteNumber: a
8395
+ remoteNumber: a,
8396
+ ...o ? { queue: o } : {}
8387
8397
  };
8388
- return f.set(n, o), t.onCallContext?.(o), o;
8389
- }, A = (e, n) => {
8398
+ return f.set(n, s), t.onCallContext?.(s), s;
8399
+ }, j = (e, n) => {
8390
8400
  let i = f.get(e);
8391
8401
  i && t.onCallState?.({
8392
8402
  ...i,
8393
8403
  state: n,
8394
8404
  timestamp: Date.now()
8395
8405
  });
8396
- }, j = (e, n) => {
8406
+ }, M = (e, n) => {
8397
8407
  if (e.state !== SessionState.Established) return;
8398
8408
  let i = f.get(n), a = e.sessionDescriptionHandler, o = a?.localMediaStream ?? d.value, s = a?.remoteMediaStream ?? u.value, l = o?.getAudioTracks() ?? [], m = s?.getAudioTracks() ?? [];
8399
8409
  if (!i || !o || !s || l.length === 0 || m.length === 0) return;
@@ -8407,17 +8417,17 @@ const createSipService = (e, t = {}) => {
8407
8417
  localStream: o,
8408
8418
  remoteStream: s
8409
8419
  }));
8410
- }, M = (e) => {
8420
+ }, N = (e) => {
8411
8421
  f.delete(e), p.delete(e), m.delete(e);
8412
- }, N = () => {
8422
+ }, P = () => {
8413
8423
  e.channels.value.some((e) => e.status === "incoming") ? S() : w(), e.activeChannel.value?.status === "calling" ? T() : E();
8414
- }, P = (e) => {
8424
+ }, F = (e) => {
8415
8425
  o.volume = e / 100;
8416
- }, F = async (e) => {
8426
+ }, I = async (e) => {
8417
8427
  typeof o.setSinkId == "function" && await o.setSinkId(e);
8418
- }, I = (e) => {
8428
+ }, L = (e) => {
8419
8429
  l.value = e;
8420
- }, L = (e, t) => {
8430
+ }, Up = (e, t) => {
8421
8431
  let n = !1, i = e.sessionDescriptionHandler;
8422
8432
  return i?.peerConnection && i.peerConnection.getSenders().forEach((e) => {
8423
8433
  e.track && e.track.kind === "audio" && (e.track.enabled = t, n = !0);
@@ -8428,31 +8438,31 @@ const createSipService = (e, t = {}) => {
8428
8438
  n.enabled = e, t = !0;
8429
8439
  }), t;
8430
8440
  }, z = (e, t) => {
8431
- let n = !(t?.isHeld || t?.isMuted), i = L(e, n), a = R(n);
8441
+ let n = !(t?.isHeld || t?.isMuted), i = Up(e, n), a = R(n);
8432
8442
  !i && !a && console.warn("[SipJs] No audio tracks found to apply channel audio state");
8433
- }, B = (t) => {
8443
+ }, Wp = (t) => {
8434
8444
  for (let [n, i] of a.value.entries()) if (i === t) return e.channels.value.find((e) => e.id === n) || null;
8435
8445
  return e.activeChannel.value || null;
8436
- }, V = async (e) => {
8446
+ }, B = async (e) => {
8437
8447
  let t = e.sessionDescriptionHandler?.peerConnection;
8438
8448
  if (!t) return;
8439
- let n = B(e), i = !(n?.isHeld || n?.isMuted), a = t.getSenders().find((e) => e.track?.kind === "audio");
8449
+ let n = Wp(e), i = !(n?.isHeld || n?.isMuted), a = t.getSenders().find((e) => e.track?.kind === "audio");
8440
8450
  if (a?.track) {
8441
- a.track.enabled = i, n && j(e, n.id);
8451
+ a.track.enabled = i, n && M(e, n.id);
8442
8452
  return;
8443
8453
  }
8444
8454
  try {
8445
- let [a] = (await navigator.mediaDevices.getUserMedia(Vp(!1))).getAudioTracks();
8455
+ let [a] = (await navigator.mediaDevices.getUserMedia(V(!1))).getAudioTracks();
8446
8456
  if (!a) return;
8447
8457
  a.enabled = i;
8448
8458
  let o = new MediaStream([a]);
8449
8459
  d.value = o;
8450
8460
  let s = t.getSenders().find((e) => e.track === null);
8451
- s ? await s.replaceTrack(a) : t.addTrack(a, o), z(e, n), n && j(e, n.id);
8461
+ s ? await s.replaceTrack(a) : t.addTrack(a, o), z(e, n), n && M(e, n.id);
8452
8462
  } catch (e) {
8453
8463
  console.warn("[SipJs] Failed to recover outbound audio track:", e);
8454
8464
  }
8455
- }, Vp = (e = !1) => {
8465
+ }, V = (e = !1) => {
8456
8466
  let t = {
8457
8467
  echoCancellation: { ideal: !0 },
8458
8468
  noiseSuppression: { ideal: !1 },
@@ -8463,7 +8473,7 @@ const createSipService = (e, t = {}) => {
8463
8473
  audio: t,
8464
8474
  video: e
8465
8475
  };
8466
- }, Hp = async (t) => {
8476
+ }, H = async (t) => {
8467
8477
  if (!n.value) {
8468
8478
  try {
8469
8479
  (await navigator.mediaDevices.getUserMedia({ audio: !0 })).getTracks().forEach((e) => e.stop());
@@ -8485,16 +8495,16 @@ const createSipService = (e, t = {}) => {
8485
8495
  delegate: {
8486
8496
  onConnect: () => e.setConnected(!0),
8487
8497
  onDisconnect: () => e.setConnected(!1),
8488
- onInvite: (e) => Wp(e)
8498
+ onInvite: (e) => G(e)
8489
8499
  }
8490
- }), await n.value.start(), i.value = new Registerer(n.value), await i.value.register(), H();
8500
+ }), await n.value.start(), i.value = new Registerer(n.value), await i.value.register(), U();
8491
8501
  } catch {}
8492
8502
  }
8493
- }, H = () => {
8503
+ }, U = () => {
8494
8504
  v = new AbortController();
8495
8505
  let { signal: t } = v, n = Date.now(), i = (e = 1e3) => {
8496
8506
  y && clearTimeout(y), y = setTimeout(async () => {
8497
- y = null, await U();
8507
+ y = null, await Gp();
8498
8508
  }, e);
8499
8509
  }, a = () => {
8500
8510
  if (document.visibilityState === "visible") {
@@ -8517,7 +8527,7 @@ const createSipService = (e, t = {}) => {
8517
8527
  }, { signal: t }), document.addEventListener("resume", () => {
8518
8528
  console.log("[SipJs] Page resumed"), n = Date.now(), l(), i(1e3);
8519
8529
  }, { signal: t }), l();
8520
- }, U = async () => {
8530
+ }, Gp = async () => {
8521
8531
  if (n.value) {
8522
8532
  if (!navigator.onLine) {
8523
8533
  console.log("[SipJs] Skipping reconnect, device is offline");
@@ -8535,7 +8545,7 @@ const createSipService = (e, t = {}) => {
8535
8545
  console.error("[SipJs] Reconnection failed:", e);
8536
8546
  }
8537
8547
  }
8538
- }, Up = async () => {
8548
+ }, Kp = async () => {
8539
8549
  v?.abort(), v = null, y &&= (clearTimeout(y), null), b &&= (clearInterval(b), null);
8540
8550
  let e = i.value, t = n.value;
8541
8551
  if (i.value = null, n.value = null, e) try {
@@ -8548,7 +8558,7 @@ const createSipService = (e, t = {}) => {
8548
8558
  } catch (e) {
8549
8559
  console.warn("[SipJs] UserAgent stop failed:", e);
8550
8560
  }
8551
- }, Wp = (t) => {
8561
+ }, G = (t) => {
8552
8562
  console.log("[SipJs] 📞 Llamada entrante recibida"), console.log("[SipJs] Remote Identity URI:", t.remoteIdentity.uri.toString()), console.log("[SipJs] Remote Identity URI user:", t.remoteIdentity.uri.user), console.log("[SipJs] Remote Identity displayName:", t.remoteIdentity.displayName);
8553
8563
  let n = e.channels.value.find((e) => e.status === "idle");
8554
8564
  if (!n) {
@@ -8563,7 +8573,7 @@ const createSipService = (e, t = {}) => {
8563
8573
  remoteNumber: s,
8564
8574
  remoteDisplayName: t.remoteIdentity.displayName || void 0,
8565
8575
  hasVideo: o
8566
- }), k(t, i, "incoming", s), A(i, "ringing"), N(), e.setActiveChannelId(i), t.stateChange.addListener((n) => {
8576
+ }), A(t, i, "incoming", s), j(i, "ringing"), P(), e.setActiveChannelId(i), t.stateChange.addListener((n) => {
8567
8577
  switch (n) {
8568
8578
  case SessionState.Terminated: {
8569
8579
  let n = e.channels.value.find((e) => e.id === i), o = extractCallerNumber(t.remoteIdentity.uri.user, t.remoteIdentity.displayName);
@@ -8583,25 +8593,25 @@ const createSipService = (e, t = {}) => {
8583
8593
  startTime: Date.now(),
8584
8594
  duration: 0
8585
8595
  });
8586
- A(i, m.has(i) ? "ended" : "failed"), M(i), e.updateChannelState(i, {
8596
+ j(i, m.has(i) ? "ended" : "failed"), N(i), e.updateChannelState(i, {
8587
8597
  status: "idle",
8588
8598
  remoteNumber: "",
8589
8599
  isMuted: !1,
8590
8600
  isHeld: !1,
8591
8601
  hasVideo: !1,
8592
8602
  hasEarlyMedia: !1
8593
- }), a.value.delete(i), e.activeChannelId.value === i && $p(), N();
8603
+ }), a.value.delete(i), e.activeChannelId.value === i && tm(), P();
8594
8604
  break;
8595
8605
  }
8596
8606
  case SessionState.Established:
8597
8607
  m.add(i), e.updateChannelState(i, {
8598
8608
  status: "connected",
8599
8609
  startTime: Date.now()
8600
- }), A(i, "connected"), e.activeChannelId.value === i && (Qp(t), V(t).then(() => j(t, i))), N();
8610
+ }), j(i, "connected"), e.activeChannelId.value === i && (Q(t), B(t).then(() => M(t, i))), P();
8601
8611
  break;
8602
8612
  }
8603
8613
  });
8604
- }, G = async (t, i = !1) => {
8614
+ }, qp = async (t, i = !1) => {
8605
8615
  if (!n.value) return;
8606
8616
  let o = e.activeChannelId.value;
8607
8617
  if (a.value.has(o)) return;
@@ -8612,17 +8622,17 @@ const createSipService = (e, t = {}) => {
8612
8622
  }
8613
8623
  if (!s) return;
8614
8624
  let l = new Inviter(n.value, s);
8615
- a.value.set(o, l), k(l, o, "outgoing", t), A(o, "dialing"), e.updateChannelState(o, {
8625
+ a.value.set(o, l), A(l, o, "outgoing", t), j(o, "dialing"), e.updateChannelState(o, {
8616
8626
  status: "calling",
8617
8627
  remoteNumber: t,
8618
8628
  hasVideo: i
8619
- }), e.setLastDialedNumber(t), N(), l.stateChange.addListener((n) => {
8629
+ }), e.setLastDialedNumber(t), P(), l.stateChange.addListener((n) => {
8620
8630
  switch (n) {
8621
8631
  case SessionState.Established:
8622
8632
  m.add(o), e.channels.value.find((e) => e.id === o)?.status !== "connected" && (e.updateChannelState(o, {
8623
8633
  status: "connected",
8624
8634
  startTime: Date.now()
8625
- }), A(o, "connected"), Qp(l), V(l).then(() => j(l, o)), N());
8635
+ }), j(o, "connected"), Q(l), B(l).then(() => M(l, o)), P());
8626
8636
  break;
8627
8637
  case SessionState.Terminated: {
8628
8638
  let n = e.channels.value.find((e) => e.id === o);
@@ -8642,7 +8652,7 @@ const createSipService = (e, t = {}) => {
8642
8652
  startTime: Date.now(),
8643
8653
  duration: 0
8644
8654
  });
8645
- A(o, m.has(o) ? "ended" : "failed"), M(o), e.updateChannelState(o, {
8655
+ j(o, m.has(o) ? "ended" : "failed"), N(o), e.updateChannelState(o, {
8646
8656
  status: "idle",
8647
8657
  remoteNumber: "",
8648
8658
  isMuted: !1,
@@ -8650,41 +8660,41 @@ const createSipService = (e, t = {}) => {
8650
8660
  startTime: void 0,
8651
8661
  keypadValue: "",
8652
8662
  hasVideo: !1
8653
- }), a.value.delete(o), e.activeChannelId.value === o && $p(), N();
8663
+ }), a.value.delete(o), e.activeChannelId.value === o && tm(), P();
8654
8664
  break;
8655
8665
  }
8656
8666
  }
8657
8667
  });
8658
8668
  let u = {
8659
- sessionDescriptionHandlerOptions: { constraints: Vp(i) },
8669
+ sessionDescriptionHandlerOptions: { constraints: V(i) },
8660
8670
  requestDelegate: {
8661
8671
  onProgress: (t) => {
8662
- (t.message.statusCode === 180 || t.message.statusCode === 183) && (t.message.body && (e.updateChannelState(o, { hasEarlyMedia: !0 }), Qp(l)), N());
8672
+ (t.message.statusCode === 180 || t.message.statusCode === 183) && (t.message.body && (e.updateChannelState(o, { hasEarlyMedia: !0 }), Q(l)), P());
8663
8673
  },
8664
8674
  onAccept: (t) => {
8665
8675
  e.channels.value.find((e) => e.id === o)?.status !== "connected" && (m.add(o), e.updateChannelState(o, {
8666
8676
  status: "connected",
8667
8677
  startTime: Date.now()
8668
- }), A(o, "connected"), Qp(l), V(l).then(() => j(l, o)), N());
8678
+ }), j(o, "connected"), Q(l), B(l).then(() => M(l, o)), P());
8669
8679
  }
8670
8680
  }
8671
8681
  };
8672
8682
  await l.invite(u);
8673
- }, Gp = async (t = !1) => {
8683
+ }, K = async (t = !1) => {
8674
8684
  let n = e.activeChannelId.value, i = a.value.get(n);
8675
8685
  if (i instanceof Invitation && i.state === SessionState.Initial) {
8676
8686
  for (let [t, n] of a.value.entries()) if (t !== e.activeChannelId.value && n.state === SessionState.Established && !e.channels.value.find((e) => e.id === t)?.isHeld) try {
8677
- await J(n, !0), e.updateChannelState(t, { isHeld: !0 });
8687
+ await Y(n, !0), e.updateChannelState(t, { isHeld: !0 });
8678
8688
  } catch (e) {
8679
8689
  console.error(`[SipJs] Failed to hold channel ${t}:`, e);
8680
8690
  }
8681
- let o = { sessionDescriptionHandlerOptions: { constraints: Vp(t) } };
8691
+ let o = { sessionDescriptionHandlerOptions: { constraints: V(t) } };
8682
8692
  e.updateChannelState(n, {
8683
8693
  status: "connected",
8684
8694
  startTime: Date.now()
8685
8695
  });
8686
8696
  try {
8687
- await i.accept(o), await V(i), N();
8697
+ await i.accept(o), await B(i), P();
8688
8698
  } catch (t) {
8689
8699
  let i = a.value.get(n);
8690
8700
  throw i instanceof Invitation && i.state === SessionState.Initial && e.updateChannelState(n, {
@@ -8693,7 +8703,7 @@ const createSipService = (e, t = {}) => {
8693
8703
  }), t;
8694
8704
  }
8695
8705
  }
8696
- }, K = async () => {
8706
+ }, q = async () => {
8697
8707
  let t = a.value.get(e.activeChannelId.value);
8698
8708
  if (t) switch (t.state) {
8699
8709
  case SessionState.Initial:
@@ -8704,35 +8714,35 @@ const createSipService = (e, t = {}) => {
8704
8714
  await t.bye();
8705
8715
  break;
8706
8716
  }
8707
- }, q = () => {
8717
+ }, J = () => {
8708
8718
  let t = a.value.get(e.activeChannelId.value);
8709
8719
  if (!t) return;
8710
8720
  let n = !e.isMuted.value;
8711
8721
  e.setMuted(n), z(t, e.channels.value.find((t) => t.id === e.activeChannelId.value));
8712
- }, J = async (e, t) => {
8722
+ }, Y = async (e, t) => {
8713
8723
  let n = { sessionDescriptionHandlerOptions: { hold: t } };
8714
8724
  await e.invite(n);
8715
- }, Y = async () => {
8725
+ }, Jp = async () => {
8716
8726
  let t = a.value.get(e.activeChannelId.value);
8717
8727
  if (t?.state !== SessionState.Established) return;
8718
8728
  let n = !e.isHeld.value;
8719
8729
  try {
8720
- await J(t, n), e.setHeld(n), z(t, e.channels.value.find((t) => t.id === e.activeChannelId.value));
8730
+ await Y(t, n), e.setHeld(n), z(t, e.channels.value.find((t) => t.id === e.activeChannelId.value));
8721
8731
  } catch {}
8722
- }, Kp = async (t) => {
8732
+ }, Z = async (t) => {
8723
8733
  let n = e.activeChannelId.value;
8724
8734
  if (n === t) return;
8725
8735
  let i = a.value.get(n), o = a.value.get(t), s = e.channels.value.find((e) => e.id === n), l = e.channels.value.find((e) => e.id === t);
8726
8736
  if (i && i.state === SessionState.Established && !s?.isHeld) try {
8727
- await J(i, !0), e.updateChannelState(n, { isHeld: !0 }), z(i, e.channels.value.find((e) => e.id === n));
8737
+ await Y(i, !0), e.updateChannelState(n, { isHeld: !0 }), z(i, e.channels.value.find((e) => e.id === n));
8728
8738
  } catch {}
8729
- if (e.setActiveChannelId(t), N(), o && o.state === SessionState.Established) {
8739
+ if (e.setActiveChannelId(t), P(), o && o.state === SessionState.Established) {
8730
8740
  if (l?.isHeld) try {
8731
- await J(o, !1), e.updateChannelState(t, { isHeld: !1 });
8741
+ await Y(o, !1), e.updateChannelState(t, { isHeld: !1 });
8732
8742
  } catch {}
8733
- z(o, e.channels.value.find((e) => e.id === t)), Qp(o);
8734
- } else $p();
8735
- }, Z = (t) => {
8743
+ z(o, e.channels.value.find((e) => e.id === t)), Q(o);
8744
+ } else tm();
8745
+ }, Yp = (t) => {
8736
8746
  let n = a.value.get(e.activeChannelId.value);
8737
8747
  if (n?.state !== SessionState.Established) return;
8738
8748
  let i = { requestOptions: { body: {
@@ -8741,10 +8751,10 @@ const createSipService = (e, t = {}) => {
8741
8751
  contentDisposition: "signal"
8742
8752
  } } };
8743
8753
  n.info(i);
8744
- }, qp = (t, n) => {
8754
+ }, Xp = (t, n) => {
8745
8755
  let i = e.channels.value.find((e) => e.id === t);
8746
- !i || i.status !== "connected" || (Qp(n), z(n, i), V(n), o.play().catch(() => {}));
8747
- }, Jp = async (t) => {
8756
+ !i || i.status !== "connected" || (Q(n), z(n, i), B(n), o.play().catch(() => {}));
8757
+ }, Zp = async (t) => {
8748
8758
  console.log("[SipJs] 🔄 transferCall iniciado"), console.log("[SipJs] Target:", t);
8749
8759
  let i = e.activeChannelId.value, o = a.value.get(i);
8750
8760
  if (!o) throw console.error("[SipJs] ❌ No hay sesión activa en el canal", i), Error("No active session to transfer");
@@ -8764,7 +8774,7 @@ const createSipService = (e, t = {}) => {
8764
8774
  },
8765
8775
  onReject: (e) => {
8766
8776
  let t = e.message.statusCode;
8767
- console.error("[SipJs] ❌ Transfer REFER rechazado:", t), console.error("[SipJs] Response completo:", e.message), qp(i, o);
8777
+ console.error("[SipJs] ❌ Transfer REFER rechazado:", t), console.error("[SipJs] Response completo:", e.message), Xp(i, o);
8768
8778
  }
8769
8779
  },
8770
8780
  onNotify: (e) => {
@@ -8787,7 +8797,7 @@ const createSipService = (e, t = {}) => {
8787
8797
  487: "Transferencia cancelada",
8788
8798
  503: "Servicio no disponible - el destino puede estar fuera de línea"
8789
8799
  }[t] || `Error en transferencia (código ${t})`;
8790
- console.warn("[SipJs] 💬", e), qp(i, o);
8800
+ console.warn("[SipJs] 💬", e), Xp(i, o);
8791
8801
  } else t >= 100 && t < 200 && console.log("[SipJs] 📞 Transferencia en progreso:", t, n);
8792
8802
  } else console.warn("[SipJs] ⚠️ No se pudo extraer el código de estado del NOTIFY body");
8793
8803
  } else console.warn("[SipJs] ⚠️ NOTIFY sin body");
@@ -8796,28 +8806,28 @@ const createSipService = (e, t = {}) => {
8796
8806
  } catch (e) {
8797
8807
  throw console.error("[SipJs] ❌ Error en transferCall:", e), console.error("[SipJs] Error type:", e?.constructor?.name), console.error("[SipJs] Error message:", e instanceof Error ? e.message : String(e)), console.error("[SipJs] Error stack:", e instanceof Error ? e.stack : "N/A"), e;
8798
8808
  }
8799
- }, Yp = async (t) => {
8809
+ }, Qp = async (t) => {
8800
8810
  console.log("[SipJs] 🔄 startAttendedTransfer iniciado"), console.log("[SipJs] Target:", t);
8801
8811
  let n = e.activeChannelId.value, i = a.value.get(n);
8802
8812
  if (console.log("[SipJs] Canal original:", n), console.log("[SipJs] Sesión original:", i?.state), !i || i.state !== SessionState.Established) throw console.error("[SipJs] ❌ No hay llamada establecida para transferir"), Error("No established call to transfer");
8803
8813
  let o = e.channels.value.find((e) => e.status === "idle");
8804
8814
  if (console.log("[SipJs] Canal de consulta encontrado:", o?.id), !o) throw console.error("[SipJs] ❌ No hay canales disponibles para llamada de consulta"), Error("No available channel for consultation call");
8805
8815
  try {
8806
- console.log("[SipJs] 🔇 Poniendo llamada original en hold..."), await J(i, !0), e.updateChannelState(n, { isHeld: !0 }), console.log("[SipJs] ✅ Llamada original en hold");
8816
+ console.log("[SipJs] 🔇 Poniendo llamada original en hold..."), await Y(i, !0), e.updateChannelState(n, { isHeld: !0 }), console.log("[SipJs] ✅ Llamada original en hold");
8807
8817
  } catch (e) {
8808
8818
  throw console.error("[SipJs] ❌ Failed to hold original call:", e), Error("Failed to put call on hold");
8809
8819
  }
8810
8820
  console.log("[SipJs] 🔄 Cambiando al canal de consulta:", o.id), e.setActiveChannelId(o.id);
8811
8821
  try {
8812
- console.log("[SipJs] 📞 Iniciando llamada de consulta a:", t), await G(t, !1), console.log("[SipJs] ✅ Llamada de consulta iniciada"), e.setTransferInProgress({
8822
+ console.log("[SipJs] 📞 Iniciando llamada de consulta a:", t), await qp(t, !1), console.log("[SipJs] ✅ Llamada de consulta iniciada"), e.setTransferInProgress({
8813
8823
  originalChannelId: n,
8814
8824
  consultationChannelId: o.id,
8815
8825
  targetNumber: t
8816
8826
  }), console.log("[SipJs] 📋 Transferencia en progreso registrada");
8817
8827
  } catch (t) {
8818
- throw console.error("[SipJs] ❌ Failed to start consultation call:", t), console.log("[SipJs] 🔄 Volviendo al canal original y quitando hold..."), e.setActiveChannelId(n), await J(i, !1).catch(() => {}), e.updateChannelState(n, { isHeld: !1 }), Error("Failed to initiate consultation call");
8828
+ throw console.error("[SipJs] ❌ Failed to start consultation call:", t), console.log("[SipJs] 🔄 Volviendo al canal original y quitando hold..."), e.setActiveChannelId(n), await Y(i, !1).catch(() => {}), e.updateChannelState(n, { isHeld: !1 }), Error("Failed to initiate consultation call");
8819
8829
  }
8820
- }, Xp = async () => {
8830
+ }, $p = async () => {
8821
8831
  console.log("[SipJs] 🔄 completeAttendedTransfer iniciado");
8822
8832
  let t = e.transferInProgress.value;
8823
8833
  if (!t) throw console.error("[SipJs] ❌ No hay transferencia en progreso"), Error("No transfer in progress");
@@ -8860,7 +8870,7 @@ const createSipService = (e, t = {}) => {
8860
8870
  } catch (e) {
8861
8871
  throw console.error("[SipJs] Attended transfer failed:", e), e;
8862
8872
  }
8863
- }, Zp = async () => {
8873
+ }, em = async () => {
8864
8874
  let t = e.transferInProgress.value;
8865
8875
  if (!t) throw Error("No transfer in progress");
8866
8876
  console.log("[SipJs] Canceling attended transfer...");
@@ -8871,12 +8881,12 @@ const createSipService = (e, t = {}) => {
8871
8881
  console.warn("[SipJs] Error ending consultation:", e);
8872
8882
  }
8873
8883
  if (n) try {
8874
- e.setActiveChannelId(t.originalChannelId), await J(n, !1), e.updateChannelState(t.originalChannelId, { isHeld: !1 }), console.log("[SipJs] Returned to original call");
8884
+ e.setActiveChannelId(t.originalChannelId), await Y(n, !1), e.updateChannelState(t.originalChannelId, { isHeld: !1 }), console.log("[SipJs] Returned to original call");
8875
8885
  } catch (e) {
8876
8886
  console.warn("[SipJs] Error resuming original call:", e);
8877
8887
  }
8878
8888
  e.setTransferInProgress(null);
8879
- }, Qp = (e) => {
8889
+ }, Q = (e) => {
8880
8890
  let t = e.sessionDescriptionHandler;
8881
8891
  if (!t) {
8882
8892
  console.error("[SipJs] setupRemoteMedia: no sessionDescriptionHandler");
@@ -8889,8 +8899,8 @@ const createSipService = (e, t = {}) => {
8889
8899
  }
8890
8900
  if (u.value === n) return;
8891
8901
  o.pause(), o.srcObject = null, g?.abort(), g = new AbortController(), u.value = n, d.value = t.localMediaStream ?? null;
8892
- let i = B(e);
8893
- z(e, i), i && j(e, i.id);
8902
+ let i = Wp(e);
8903
+ z(e, i), i && M(e, i.id);
8894
8904
  let a = (e) => {
8895
8905
  _?.abort(), _ = new AbortController();
8896
8906
  let { signal: t } = _, n = () => {
@@ -8903,32 +8913,32 @@ const createSipService = (e, t = {}) => {
8903
8913
  }, { signal: t }), n();
8904
8914
  };
8905
8915
  n.addEventListener("addtrack", (t) => {
8906
- t.track.kind === "audio" && (o.srcObject = null, o.srcObject = n, a(t.track), i && j(e, i.id));
8916
+ t.track.kind === "audio" && (o.srcObject = null, o.srcObject = n, a(t.track), i && M(e, i.id));
8907
8917
  }, { signal: g.signal });
8908
8918
  let [s] = n.getTracks();
8909
- s && (o.srcObject = n, a(s), i && j(e, i.id));
8910
- }, $p = () => {
8919
+ s && (o.srcObject = n, a(s), i && M(e, i.id));
8920
+ }, tm = () => {
8911
8921
  _?.abort(), _ = null, g?.abort(), g = null, o.pause(), o.srcObject = null, u.value = null, d.value = null;
8912
8922
  };
8913
8923
  return {
8914
- initUserAgent: Hp,
8915
- stop: Up,
8916
- makeCall: G,
8917
- answerCall: Gp,
8918
- hangupCall: K,
8919
- toggleMute: q,
8920
- toggleHold: Y,
8921
- sendDTMF: Z,
8922
- transferCall: Jp,
8923
- startAttendedTransfer: Yp,
8924
- completeAttendedTransfer: Xp,
8925
- cancelAttendedTransfer: Zp,
8926
- switchChannel: Kp,
8924
+ initUserAgent: H,
8925
+ stop: Kp,
8926
+ makeCall: qp,
8927
+ answerCall: K,
8928
+ hangupCall: q,
8929
+ toggleMute: J,
8930
+ toggleHold: Jp,
8931
+ sendDTMF: Yp,
8932
+ transferCall: Zp,
8933
+ startAttendedTransfer: Qp,
8934
+ completeAttendedTransfer: $p,
8935
+ cancelAttendedTransfer: em,
8936
+ switchChannel: Z,
8927
8937
  extension: x,
8928
- setVolume: P,
8938
+ setVolume: F,
8929
8939
  setNotificationVolume: D,
8930
- setOutputDevice: F,
8931
- setInputDevice: I,
8940
+ setOutputDevice: I,
8941
+ setInputDevice: L,
8932
8942
  remoteStream: u,
8933
8943
  localStream: d
8934
8944
  };
@@ -16308,7 +16318,7 @@ var icon_phone_default = { render }, Tooltip_default = /* @__PURE__ */ defineCom
16308
16318
  if (!t) return "Unknown";
16309
16319
  let i = I(t), a = o.contacts?.find((e) => I(e.number) === i);
16310
16320
  return a ? a.name : n || t;
16311
- }), z = computed(() => {
16321
+ }), R = computed(() => {
16312
16322
  let e = p.value;
16313
16323
  return e?.remoteNumber || e?.keypadValue || "";
16314
16324
  });
@@ -16397,7 +16407,7 @@ var icon_phone_default = { render }, Tooltip_default = /* @__PURE__ */ defineCom
16397
16407
  })) : (openBlock(), createBlock(unref(CircleUser), {
16398
16408
  key: 4,
16399
16409
  class: "wp:w-3 wp:h-3"
16400
- }))], 2), createElementVNode("div", _hoisted_9$4, [createElementVNode("span", _hoisted_10$3, toDisplayString(e.name), 1), createElementVNode("span", _hoisted_11$3, toDisplayString(e.number), 1)])], 40, _hoisted_8$4))), 128))], 512), [[vShow, v.value && x.value && (T.value.length > 0 || S.value)]])], 512)])) : (p.value?.status || "idle") === "connected" ? (openBlock(), createElementBlock("div", _hoisted_12$3, [createElementVNode("div", _hoisted_13$1, [createElementVNode("div", _hoisted_14$1, " En llamada con " + toDisplayString(L.value), 1), L.value === z.value ? createCommentVNode("", !0) : (openBlock(), createElementBlock("div", _hoisted_15$1, toDisplayString(z.value), 1))])])) : (p.value?.status || "idle") === "idle" ? createCommentVNode("", !0) : (openBlock(), createElementBlock("div", _hoisted_16$1, [createElementVNode("div", _hoisted_17$1, [createElementVNode("div", _hoisted_18, [createElementVNode("div", _hoisted_19, toDisplayString(L.value), 1), L.value === z.value ? createCommentVNode("", !0) : (openBlock(), createElementBlock("div", _hoisted_20, toDisplayString(z.value), 1))]), createVNode(unref(TooltipProvider_default), null, {
16410
+ }))], 2), createElementVNode("div", _hoisted_9$4, [createElementVNode("span", _hoisted_10$3, toDisplayString(e.name), 1), createElementVNode("span", _hoisted_11$3, toDisplayString(e.number), 1)])], 40, _hoisted_8$4))), 128))], 512), [[vShow, v.value && x.value && (T.value.length > 0 || S.value)]])], 512)])) : (p.value?.status || "idle") === "connected" ? (openBlock(), createElementBlock("div", _hoisted_12$3, [createElementVNode("div", _hoisted_13$1, [createElementVNode("div", _hoisted_14$1, " En llamada con " + toDisplayString(L.value), 1), L.value === R.value ? createCommentVNode("", !0) : (openBlock(), createElementBlock("div", _hoisted_15$1, toDisplayString(R.value), 1))])])) : (p.value?.status || "idle") === "idle" ? createCommentVNode("", !0) : (openBlock(), createElementBlock("div", _hoisted_16$1, [createElementVNode("div", _hoisted_17$1, [createElementVNode("div", _hoisted_18, [createElementVNode("div", _hoisted_19, toDisplayString(L.value), 1), L.value === R.value ? createCommentVNode("", !0) : (openBlock(), createElementBlock("div", _hoisted_20, toDisplayString(R.value), 1))]), createVNode(unref(TooltipProvider_default), null, {
16401
16411
  default: withCtx(() => [createVNode(unref(Tooltip_default), null, {
16402
16412
  default: withCtx(() => [createVNode(unref(TooltipTrigger_default), { "as-child": "" }), createVNode(unref(TooltipContent_default), { class: "wp:flex wp:items-center wp:gap-2" }, {
16403
16413
  default: withCtx(() => [createElementVNode("span", null, toDisplayString(unref(t).isKeypadVisible ? "Ocultar" : "Mostrar") + " teclado", 1), createVNode(unref(Kbd_default), null, {
@@ -17309,14 +17319,14 @@ var icon_phone_default = { render }, Tooltip_default = /* @__PURE__ */ defineCom
17309
17319
  onMounted(() => {
17310
17320
  o.value = "documentPictureInPicture" in window, document.addEventListener("visibilitychange", y), window.addEventListener("blur", b);
17311
17321
  }), onUnmounted(() => {
17312
- document.removeEventListener("visibilitychange", y), window.removeEventListener("blur", b), g &&= (clearTimeout(g), null), S(), z();
17322
+ document.removeEventListener("visibilitychange", y), window.removeEventListener("blur", b), g &&= (clearTimeout(g), null), S(), R();
17313
17323
  });
17314
17324
  let _ = () => {
17315
17325
  let e = i.callStatus !== "idle", t = document.hidden || !document.hasFocus();
17316
17326
  return i.autoOpenOnBlur !== !1 && e && o.value && t && !l.value && !u.value;
17317
17327
  }, v = () => {
17318
17328
  _() && (g && clearTimeout(g), g = setTimeout(() => {
17319
- _() && R();
17329
+ _() && Up();
17320
17330
  }, 120));
17321
17331
  }, y = () => {
17322
17332
  v();
@@ -17333,9 +17343,9 @@ var icon_phone_default = { render }, Tooltip_default = /* @__PURE__ */ defineCom
17333
17343
  return `${t.toString().padStart(2, "0")}:${n.toString().padStart(2, "0")}`;
17334
17344
  };
17335
17345
  watch(() => i.callStatus, (e, t) => {
17336
- e === "connected" && t !== "connected" ? x() : e === "idle" && t !== "idle" && (S(), l.value && z());
17346
+ e === "connected" && t !== "connected" ? x() : e === "idle" && t !== "idle" && (S(), l.value && R());
17337
17347
  }, { immediate: !0 }), watch(() => i.isConnected, (e) => {
17338
- !e && l.value && (S(), z());
17348
+ !e && l.value && (S(), R());
17339
17349
  }), watch(() => [
17340
17350
  i.callStatus,
17341
17351
  i.isMuted,
@@ -17409,7 +17419,7 @@ var icon_phone_default = { render }, Tooltip_default = /* @__PURE__ */ defineCom
17409
17419
  n.className = "pip-btn pip-btn-answer", n.title = "Contestar", n.innerHTML = E.phone, n.onclick = () => a("answer", !1), t.appendChild(n);
17410
17420
  let o = e.createElement("button");
17411
17421
  o.className = "pip-btn pip-btn-hangup", o.title = "Rechazar", o.innerHTML = E.phoneOff, o.onclick = () => {
17412
- a("hangup"), z();
17422
+ a("hangup"), R();
17413
17423
  }, t.appendChild(o);
17414
17424
  } else if (i.callStatus === "connected") {
17415
17425
  let n = e.createElement("button");
@@ -17420,12 +17430,12 @@ var icon_phone_default = { render }, Tooltip_default = /* @__PURE__ */ defineCom
17420
17430
  s.className = "pip-btn pip-btn-transfer", s.title = "Transferir", s.innerHTML = E.transfer, s.onclick = () => a("transfer"), t.appendChild(s);
17421
17431
  let l = e.createElement("button");
17422
17432
  l.className = "pip-btn pip-btn-hangup", l.title = "Colgar", l.innerHTML = E.phoneOff, l.onclick = () => {
17423
- a("hangup"), z();
17433
+ a("hangup"), R();
17424
17434
  }, t.appendChild(l);
17425
17435
  } else if (i.callStatus === "calling") {
17426
17436
  let n = e.createElement("button");
17427
17437
  n.className = "pip-btn pip-btn-hangup", n.title = "Cancelar", n.innerHTML = E.phoneOff, n.onclick = () => {
17428
- a("hangup"), z();
17438
+ a("hangup"), R();
17429
17439
  }, t.appendChild(n);
17430
17440
  }
17431
17441
  }
@@ -17441,7 +17451,7 @@ var icon_phone_default = { render }, Tooltip_default = /* @__PURE__ */ defineCom
17441
17451
  }, 1e3));
17442
17452
  }, L = () => {
17443
17453
  m &&= (clearInterval(m), null);
17444
- }, R = async () => {
17454
+ }, Up = async () => {
17445
17455
  if (!(!o.value || l.value || u.value)) {
17446
17456
  u.value = !0;
17447
17457
  try {
@@ -17461,14 +17471,14 @@ var icon_phone_default = { render }, Tooltip_default = /* @__PURE__ */ defineCom
17461
17471
  u.value = !1;
17462
17472
  }
17463
17473
  }
17464
- }, z = () => {
17474
+ }, R = () => {
17465
17475
  L(), d.value && (d.value.close(), d.value = null, l.value = !1, a("update:active", !1));
17466
17476
  };
17467
17477
  return t({
17468
- open: R,
17469
- close: z,
17478
+ open: Up,
17479
+ close: R,
17470
17480
  toggle: () => {
17471
- l.value ? z() : R();
17481
+ l.value ? R() : Up();
17472
17482
  },
17473
17483
  isActive: l,
17474
17484
  isSupported: o,
@@ -17554,7 +17564,7 @@ var icon_phone_default = { render }, Tooltip_default = /* @__PURE__ */ defineCom
17554
17564
  provide("webphone", x), provide("sip", S), t({ stop: S.stop }), watchEffect(() => {
17555
17565
  o.mode === "webcall" && (o.to || console.error("WebPhone: \"to\" prop is required when mode is \"webcall\""), o.logo || console.error("WebPhone: \"logo\" prop is required when mode is \"webcall\""));
17556
17566
  });
17557
- let O = ref(!1), k = ref(!1), j = ref(!1), N = ref(null), F = ref(null), L = ref(null), Hp = navigator.platform.toUpperCase().indexOf("MAC") >= 0 ? "⌘" : "Ctrl+", H = computed(() => o.mode === "webcall"), U = ref(0), W = (e) => !!e && e.getVideoTracks().length > 0;
17567
+ let O = ref(!1), k = ref(!1), j = ref(!1), N = ref(null), F = ref(null), L = ref(null), V = navigator.platform.toUpperCase().indexOf("MAC") >= 0 ? "⌘" : "Ctrl+", H = computed(() => o.mode === "webcall"), U = ref(0), W = (e) => !!e && e.getVideoTracks().length > 0;
17558
17568
  watch(() => x.callStatus, (e) => {
17559
17569
  if (e === "idle" && !x.isKeypadVisible) {
17560
17570
  x.toggleKeypad();
@@ -17562,68 +17572,68 @@ var icon_phone_default = { render }, Tooltip_default = /* @__PURE__ */ defineCom
17562
17572
  }
17563
17573
  e !== "idle" && x.isKeypadVisible && x.toggleKeypad();
17564
17574
  });
17565
- let Wp = computed(() => x.channels.find((e) => e.id === x.activeChannelId) ?? null), G = (e) => {
17575
+ let Kp = computed(() => x.channels.find((e) => e.id === x.activeChannelId) ?? null), G = (e) => {
17566
17576
  if (!e) return "";
17567
17577
  let t = e.trim(), n = t.startsWith("+"), i = t.replace(/[^\d]/g, "");
17568
17578
  return n ? `+${i}` : i;
17569
- }, Gp = computed(() => {
17570
- let e = Wp.value?.remoteNumber || x.remoteNumber, t = G(e);
17579
+ }, qp = computed(() => {
17580
+ let e = Kp.value?.remoteNumber || x.remoteNumber, t = G(e);
17571
17581
  return o.contacts.find((e) => G(e.number) === t)?.name || e || "Llamada";
17572
- }), K = computed(() => (U.value, !!Wp.value?.hasVideo || W(E.value) || W(D.value))), { isOnline: q } = useNetwork(), J = computed(() => !q.value), Y = ref(null), Z = ref(!1), Xp = computed(() => o.enablePictureInPicture), $p = () => {
17573
- Xp.value && Y.value?.toggle();
17574
- }, em = async (e, t) => {
17582
+ }), K = computed(() => (U.value, !!Kp.value?.hasVideo || W(E.value) || W(D.value))), { isOnline: q } = useNetwork(), J = computed(() => !q.value), Y = ref(null), Z = ref(!1), Qp = computed(() => o.enablePictureInPicture), Q = () => {
17583
+ Qp.value && Y.value?.toggle();
17584
+ }, tm = async (e, t) => {
17575
17585
  try {
17576
17586
  t === "blind" ? await S.transferCall(e) : await S.startAttendedTransfer(e);
17577
17587
  } catch (e) {
17578
17588
  console.error("[WebPhone] Transfer error:", e), alert(e instanceof Error ? e.message : "Transfer failed. Please try again.");
17579
17589
  }
17580
- }, tm = async () => {
17590
+ }, nm = async () => {
17581
17591
  try {
17582
17592
  await S.completeAttendedTransfer();
17583
17593
  } catch (e) {
17584
17594
  console.error("[WebPhone] Complete transfer error:", e), alert(e instanceof Error ? e.message : "Failed to complete transfer.");
17585
17595
  }
17586
- }, nm = async () => {
17596
+ }, rm = async () => {
17587
17597
  try {
17588
17598
  await S.cancelAttendedTransfer();
17589
17599
  } catch (e) {
17590
17600
  console.error("[WebPhone] Cancel transfer error:", e), alert(e instanceof Error ? e.message : "Failed to cancel transfer.");
17591
17601
  }
17592
- }, rm = (e) => {
17593
- x.keypadValue = e, S.makeCall(e);
17594
17602
  }, im = (e) => {
17603
+ x.keypadValue = e, S.makeCall(e);
17604
+ }, am = (e) => {
17595
17605
  if (o.onAnswer) {
17596
17606
  o.onAnswer(e);
17597
17607
  return;
17598
17608
  }
17599
17609
  S.answerCall(e);
17600
- }, am = () => {
17610
+ }, om = () => {
17601
17611
  if (o.onHangup) {
17602
17612
  o.onHangup();
17603
17613
  return;
17604
17614
  }
17605
17615
  S.hangupCall();
17606
- }, om = () => {
17616
+ }, sm = () => {
17607
17617
  if (o.onReject) {
17608
17618
  o.onReject();
17609
17619
  return;
17610
17620
  }
17611
17621
  S.hangupCall();
17612
- }, sm = () => {
17613
- j.value = !0, Y.value?.close(), window.focus();
17614
17622
  }, cm = () => {
17615
- if (!Xp.value) return !1;
17623
+ j.value = !0, Y.value?.close(), window.focus();
17624
+ }, lm = () => {
17625
+ if (!Qp.value) return !1;
17616
17626
  let e = x.callStatus !== "idle", t = document.hidden || !document.hasFocus();
17617
17627
  return e && t && !Z.value;
17618
- }, Q = () => {
17628
+ }, $ = () => {
17619
17629
  window.setTimeout(() => {
17620
- cm() && Y.value?.open();
17630
+ lm() && Y.value?.open();
17621
17631
  }, 150);
17622
17632
  };
17623
17633
  watchEffect(() => {
17624
17634
  F.value && (Z.value || !E.value ? F.value.srcObject = null : F.value.srcObject = E.value), L.value && (Z.value || !D.value ? L.value.srcObject = null : L.value.srcObject = D.value);
17625
17635
  });
17626
- let lm = (e) => {
17636
+ let um = (e) => {
17627
17637
  if (!e || typeof e.addEventListener != "function" || typeof e.removeEventListener != "function") return () => {};
17628
17638
  let t = () => {
17629
17639
  U.value += 1;
@@ -17633,11 +17643,11 @@ var icon_phone_default = { render }, Tooltip_default = /* @__PURE__ */ defineCom
17633
17643
  };
17634
17644
  };
17635
17645
  watch(E, (e, t, n) => {
17636
- U.value += 1, n(lm(e));
17646
+ U.value += 1, n(um(e));
17637
17647
  }, { immediate: !0 }), watch(D, (e, t, n) => {
17638
- U.value += 1, n(lm(e));
17648
+ U.value += 1, n(um(e));
17639
17649
  }, { immediate: !0 });
17640
- let um = [
17650
+ let dm = [
17641
17651
  "button",
17642
17652
  "a",
17643
17653
  "input",
@@ -17648,15 +17658,15 @@ var icon_phone_default = { render }, Tooltip_default = /* @__PURE__ */ defineCom
17648
17658
  "[role=\"button\"]",
17649
17659
  "[role=\"radio\"]",
17650
17660
  "[data-no-drag]"
17651
- ].join(", "), dm = () => {
17661
+ ].join(", "), fm = () => {
17652
17662
  let e = window.innerWidth < 640, t = window.innerWidth < 1024, n = 360;
17653
17663
  return e ? n = window.innerWidth * .9 : t && (n = 340), {
17654
17664
  x: Math.max(0, (window.innerWidth - n) / 2),
17655
17665
  y: e ? 30 : 80
17656
17666
  };
17657
- }, { x: fm, y: pm, style: mm } = useDraggable(N, {
17667
+ }, { x: pm, y: mm, style: hm } = useDraggable(N, {
17658
17668
  initialValue: computed(() => {
17659
- let e = dm();
17669
+ let e = fm();
17660
17670
  return {
17661
17671
  x: o.position.x ?? e.x,
17662
17672
  y: o.position.y ?? e.y
@@ -17665,14 +17675,14 @@ var icon_phone_default = { render }, Tooltip_default = /* @__PURE__ */ defineCom
17665
17675
  preventDefault: !0,
17666
17676
  onStart: (e, t) => {
17667
17677
  let n = t.target;
17668
- if (n instanceof HTMLElement && n.closest(um)) return !1;
17678
+ if (n instanceof HTMLElement && n.closest(dm)) return !1;
17669
17679
  }
17670
17680
  });
17671
17681
  watch(() => o.position, (e) => {
17672
- let t = dm();
17673
- fm.value = e.x ?? t.x, pm.value = e.y ?? t.y;
17682
+ let t = fm();
17683
+ pm.value = e.x ?? t.x, mm.value = e.y ?? t.y;
17674
17684
  }, { deep: !0 });
17675
- let hm = [
17685
+ let gm = [
17676
17686
  {
17677
17687
  label: "Canal 1",
17678
17688
  value: 0
@@ -17685,27 +17695,27 @@ var icon_phone_default = { render }, Tooltip_default = /* @__PURE__ */ defineCom
17685
17695
  label: "Canal 3",
17686
17696
  value: 2
17687
17697
  }
17688
- ], gm = ref(!1), $ = computed({
17698
+ ], _m = ref(!1), vm = computed({
17689
17699
  get: () => x.activeChannelId.toString(),
17690
17700
  set: async (e) => {
17691
- if (!J.value && e && !gm.value) {
17692
- gm.value = !0;
17701
+ if (!J.value && e && !_m.value) {
17702
+ _m.value = !0;
17693
17703
  try {
17694
17704
  await T(parseInt(e));
17695
17705
  } finally {
17696
- gm.value = !1;
17706
+ _m.value = !1;
17697
17707
  }
17698
17708
  }
17699
17709
  }
17700
- }), _m = (e) => {
17710
+ }), ym = (e) => {
17701
17711
  let t = x.channels.find((t) => t.id === e);
17702
17712
  return t ? t.status === "connected" || t.status === "calling" || t.status === "incoming" : !1;
17703
- }, vm = (e) => {
17713
+ }, bm = (e) => {
17704
17714
  let t = x.channels.find((t) => t.id === e);
17705
17715
  return t ? t.isHeld || t.status === "held" : !1;
17706
- }, ym = (e) => {
17707
- J.value || ($.value = e.toString());
17708
- }, bm = (e) => {
17716
+ }, xm = (e) => {
17717
+ J.value || (vm.value = e.toString());
17718
+ }, Sm = (e) => {
17709
17719
  if (!J.value && ((e.metaKey || e.ctrlKey) && e.key.toLowerCase() === "h" && (e.preventDefault(), k.value = !0), (e.metaKey || e.ctrlKey) && e.key === "," && (e.preventDefault(), O.value = !0), (e.metaKey || e.ctrlKey) && e.key.toLowerCase() === "k" && (e.preventDefault(), x.toggleKeypad()), (e.metaKey || e.ctrlKey) && [
17710
17720
  "1",
17711
17721
  "2",
@@ -17713,43 +17723,43 @@ var icon_phone_default = { render }, Tooltip_default = /* @__PURE__ */ defineCom
17713
17723
  ].includes(e.key))) {
17714
17724
  e.preventDefault();
17715
17725
  let t = parseInt(e.key) - 1;
17716
- gm.value || (gm.value = !0, T(t).finally(() => {
17717
- gm.value = !1;
17726
+ _m.value || (_m.value = !0, T(t).finally(() => {
17727
+ _m.value = !1;
17718
17728
  }));
17719
17729
  }
17720
17730
  };
17721
17731
  watch(() => x.callStatus, () => {
17722
- cm() && Q();
17732
+ lm() && $();
17723
17733
  }), watch(() => x.isConnected, (e) => {
17724
17734
  v.value && a.set(v.value, e);
17725
- }, { immediate: !0 }), watch(Xp, (e) => {
17735
+ }, { immediate: !0 }), watch(Qp, (e) => {
17726
17736
  !e && Z.value && Y.value?.close();
17727
17737
  });
17728
- let xm = ref(!1), Sm = async () => {
17729
- xm.value || J.value || !o.host || !o.extension || !o.password || (await w({
17738
+ let Cm = ref(!1), wm = async () => {
17739
+ Cm.value || J.value || !o.host || !o.extension || !o.password || (await w({
17730
17740
  uri: `sip:${o.extension}@${o.host}`,
17731
17741
  transportOptions: { server: _.value },
17732
17742
  authorizationUsername: o.extension,
17733
17743
  authorizationPassword: o.password
17734
- }), S.extension.value && (xm.value = !0, o.mode === "webcall" && o.to && S.makeCall(o.to)));
17744
+ }), S.extension.value && (Cm.value = !0, o.mode === "webcall" && o.to && S.makeCall(o.to)));
17735
17745
  };
17736
17746
  return provide("webphoneRegistration", {
17737
17747
  isConnected: computed(() => x.isConnected),
17738
- register: () => Sm(),
17748
+ register: () => wm(),
17739
17749
  unregister: async () => {
17740
- await S.stop(), xm.value = !1;
17750
+ await S.stop(), Cm.value = !1;
17741
17751
  }
17742
17752
  }), onMounted(async () => {
17743
- window.addEventListener("keydown", bm), document.addEventListener("visibilitychange", Q), window.addEventListener("blur", Q), window.addEventListener("pagehide", Q), !(o.mode === "webcall" && (!o.to || !o.logo)) && await Sm();
17753
+ window.addEventListener("keydown", Sm), document.addEventListener("visibilitychange", $), window.addEventListener("blur", $), window.addEventListener("pagehide", $), !(o.mode === "webcall" && (!o.to || !o.logo)) && await wm();
17744
17754
  }), watch(() => q.value, async (e) => {
17745
- e && await Sm();
17755
+ e && await wm();
17746
17756
  }), onUnmounted(() => {
17747
- S.stop(), window.removeEventListener("keydown", bm), document.removeEventListener("visibilitychange", Q), window.removeEventListener("blur", Q), window.removeEventListener("pagehide", Q);
17757
+ S.stop(), window.removeEventListener("keydown", Sm), document.removeEventListener("visibilitychange", $), window.removeEventListener("blur", $), window.removeEventListener("pagehide", $);
17748
17758
  }), (e, t) => (openBlock(), createElementBlock(Fragment, null, [
17749
17759
  createElementVNode("div", {
17750
17760
  ref_key: "phoneRef",
17751
17761
  ref: N,
17752
- style: normalizeStyle(unref(mm)),
17762
+ style: normalizeStyle(unref(hm)),
17753
17763
  class: normalizeClass(["webphone webphone-container wp:bg-white wp:dark:bg-neutral-800 wp:rounded-lg wp:shadow-sm wp:inset-shadow-2xs wp:w-[min(92vw,330px)] wp:fixed wp:z-50 wp:select-none wp:[&_button]:cursor-pointer wp:**:[[role=button]]:cursor-pointer", J.value ? "wp:opacity-70" : ""]),
17754
17764
  "data-mode": o.mode,
17755
17765
  "data-call-status": x.callStatus,
@@ -17771,22 +17781,22 @@ var icon_phone_default = { render }, Tooltip_default = /* @__PURE__ */ defineCom
17771
17781
  }, null, 512)])])) : createCommentVNode("", !0),
17772
17782
  createElementVNode("div", _hoisted_4, [
17773
17783
  H.value ? createCommentVNode("", !0) : (openBlock(), createElementBlock("div", _hoisted_5, [createElementVNode("div", _hoisted_6, [
17774
- createElementVNode("div", _hoisted_7, [(openBlock(), createElementBlock(Fragment, null, renderList(hm, (e) => createElementVNode("button", {
17784
+ createElementVNode("div", _hoisted_7, [(openBlock(), createElementBlock(Fragment, null, renderList(gm, (e) => createElementVNode("button", {
17775
17785
  key: e.value,
17776
17786
  type: "button",
17777
17787
  role: "radio",
17778
- "aria-checked": $.value === e.value.toString(),
17788
+ "aria-checked": vm.value === e.value.toString(),
17779
17789
  disabled: J.value,
17780
- title: `${e.label} (${unref(Hp)}${e.value + 1})`,
17781
- class: normalizeClass(["webphone__channel-button wp:flex wp:items-center wp:gap-1 wp:px-2 wp:py-2 wp:rounded-lg wp:transition-colors wp:duration-200 wp:outline-none wp:focus-visible:ring-2 wp:focus-visible:ring-[var(--p-primary-color)] wp:focus-visible:ring-offset-2 wp:focus-visible:ring-offset-white wp:dark:focus-visible:ring-offset-neutral-900", vm(e.value) ? "wp:bg-status-hold/12 hover:wp:bg-status-hold/18" : _m(e.value) ? "wp:bg-[var(--color-red)]/12 hover:wp:bg-[var(--color-red)]/18" : $.value === e.value.toString() ? "wp:bg-[var(--p-primary-color)]/12" : "wp:hover:bg-neutral-100 wp:dark:hover:bg-neutral-800/80"]),
17790
+ title: `${e.label} (${unref(V)}${e.value + 1})`,
17791
+ class: normalizeClass(["webphone__channel-button wp:flex wp:items-center wp:gap-1 wp:px-2 wp:py-2 wp:rounded-lg wp:transition-colors wp:duration-200 wp:outline-none wp:focus-visible:ring-2 wp:focus-visible:ring-[var(--p-primary-color)] wp:focus-visible:ring-offset-2 wp:focus-visible:ring-offset-white wp:dark:focus-visible:ring-offset-neutral-900", bm(e.value) ? "wp:bg-status-hold/12 hover:wp:bg-status-hold/18" : ym(e.value) ? "wp:bg-[var(--color-red)]/12 hover:wp:bg-[var(--color-red)]/18" : vm.value === e.value.toString() ? "wp:bg-[var(--p-primary-color)]/12" : "wp:hover:bg-neutral-100 wp:dark:hover:bg-neutral-800/80"]),
17782
17792
  "data-channel-id": e.value,
17783
- "data-state": $.value === e.value.toString() ? "active" : "idle",
17784
- "data-call-state": vm(e.value) ? "held" : _m(e.value) ? "busy" : "available",
17785
- onClick: (t) => ym(e.value)
17793
+ "data-state": vm.value === e.value.toString() ? "active" : "idle",
17794
+ "data-call-state": bm(e.value) ? "held" : ym(e.value) ? "busy" : "available",
17795
+ onClick: (t) => xm(e.value)
17786
17796
  }, [createVNode(unref(icon_phone_default), {
17787
- class: normalizeClass(["webphone__channel-icon wp:size-3 wp:shrink-0", vm(e.value) ? "wp:text-status-hold" : _m(e.value) ? "wp:text-[var(--color-red)]" : $.value === e.value.toString() ? "wp:text-[var(--p-primary-color)]" : "wp:text-neutral-400"]),
17797
+ class: normalizeClass(["webphone__channel-icon wp:size-3 wp:shrink-0", bm(e.value) ? "wp:text-status-hold" : ym(e.value) ? "wp:text-[var(--color-red)]" : vm.value === e.value.toString() ? "wp:text-[var(--p-primary-color)]" : "wp:text-neutral-400"]),
17788
17798
  "stroke-width": 1.8
17789
- }, null, 8, ["class"]), createElementVNode("span", { class: normalizeClass(["webphone__channel-label wp:text-[11px] wp:leading-none manrope wp:font-bold", vm(e.value) ? "wp:text-status-hold" : _m(e.value) ? "wp:text-[var(--color-red)]" : $.value === e.value.toString() ? "wp:text-[var(--p-primary-color)]" : "wp:text-neutral-500 wp:dark:text-neutral-400"]) }, toDisplayString(e.label), 3)], 10, _hoisted_8)), 64))]),
17799
+ }, null, 8, ["class"]), createElementVNode("span", { class: normalizeClass(["webphone__channel-label wp:text-[11px] wp:leading-none manrope wp:font-bold", bm(e.value) ? "wp:text-status-hold" : ym(e.value) ? "wp:text-[var(--color-red)]" : vm.value === e.value.toString() ? "wp:text-[var(--p-primary-color)]" : "wp:text-neutral-500 wp:dark:text-neutral-400"]) }, toDisplayString(e.label), 3)], 10, _hoisted_8)), 64))]),
17790
17800
  createVNode(unref(TooltipProvider_default), null, {
17791
17801
  default: withCtx(() => [createVNode(unref(Tooltip_default), null, {
17792
17802
  default: withCtx(() => [createVNode(unref(TooltipTrigger_default), { "as-child": "" }, {
@@ -17795,7 +17805,7 @@ var icon_phone_default = { render }, Tooltip_default = /* @__PURE__ */ defineCom
17795
17805
  size: "icon",
17796
17806
  class: normalizeClass(["wp:h-8 wp:w-8 wp:rounded-full", Z.value ? "wp:text-primary" : ""]),
17797
17807
  title: "Picture-in-Picture",
17798
- onClick: $p
17808
+ onClick: Q
17799
17809
  }, {
17800
17810
  default: withCtx(() => [createVNode(unref(PictureInPicture2), { class: "wp:w-4 wp:h-4 wp:text-[var(--color-settings)]" })]),
17801
17811
  _: 1
@@ -17824,7 +17834,7 @@ var icon_phone_default = { render }, Tooltip_default = /* @__PURE__ */ defineCom
17824
17834
  _: 1
17825
17835
  }), createVNode(unref(TooltipContent_default), { class: "wp:flex wp:items-center wp:gap-2" }, {
17826
17836
  default: withCtx(() => [t[9] ||= createElementVNode("span", null, "Configuración", -1), createVNode(unref(Kbd_default), null, {
17827
- default: withCtx(() => [createTextVNode(toDisplayString(unref(Hp)) + ",", 1)]),
17837
+ default: withCtx(() => [createTextVNode(toDisplayString(unref(V)) + ",", 1)]),
17828
17838
  _: 1
17829
17839
  })]),
17830
17840
  _: 1
@@ -17863,8 +17873,8 @@ var icon_phone_default = { render }, Tooltip_default = /* @__PURE__ */ defineCom
17863
17873
  "on-hangup": o.onHangup,
17864
17874
  "on-reject": o.onReject,
17865
17875
  onTransfer: t[1] ||= (e) => j.value = !0,
17866
- onCompleteTransfer: tm,
17867
- onCancelTransfer: nm
17876
+ onCompleteTransfer: nm,
17877
+ onCancelTransfer: rm
17868
17878
  }, null, 8, [
17869
17879
  "style",
17870
17880
  "destination",
@@ -17889,23 +17899,23 @@ var icon_phone_default = { render }, Tooltip_default = /* @__PURE__ */ defineCom
17889
17899
  visible: k.value,
17890
17900
  "onUpdate:visible": t[3] ||= (e) => k.value = e,
17891
17901
  contacts: o.contacts,
17892
- onCall: rm
17902
+ onCall: im
17893
17903
  }, null, 8, ["visible", "contacts"]),
17894
17904
  createVNode(TransferDialog_default, {
17895
17905
  visible: j.value,
17896
17906
  "onUpdate:visible": t[4] ||= (e) => j.value = e,
17897
17907
  contacts: o.contacts,
17898
- onTransfer: em
17908
+ onTransfer: tm
17899
17909
  }, null, 8, ["visible", "contacts"]),
17900
17910
  createVNode(DocumentPip_default, {
17901
17911
  ref_key: "documentPipRef",
17902
17912
  ref: Y,
17903
17913
  active: Z.value,
17904
17914
  "onUpdate:active": t[5] ||= (e) => Z.value = e,
17905
- "auto-open-on-blur": Xp.value,
17915
+ "auto-open-on-blur": Qp.value,
17906
17916
  "is-connected": x.isConnected,
17907
17917
  "remote-number": x.remoteNumber,
17908
- "caller-name": Gp.value,
17918
+ "caller-name": qp.value,
17909
17919
  "has-video": K.value ?? !1,
17910
17920
  "remote-stream": unref(E),
17911
17921
  "local-stream": unref(D),
@@ -17914,11 +17924,11 @@ var icon_phone_default = { render }, Tooltip_default = /* @__PURE__ */ defineCom
17914
17924
  "call-status": x.callStatus,
17915
17925
  "is-muted": x.isMuted,
17916
17926
  "is-held": x.isHeld,
17917
- onTransfer: sm,
17918
- onTransferRequest: em,
17919
- onHangup: am,
17920
- onReject: om,
17921
- onAnswer: im,
17927
+ onTransfer: cm,
17928
+ onTransferRequest: tm,
17929
+ onHangup: om,
17930
+ onReject: sm,
17931
+ onAnswer: am,
17922
17932
  onToggleMute: t[6] ||= (e) => unref(S).toggleMute(),
17923
17933
  onToggleHold: t[7] ||= (e) => unref(S).toggleHold()
17924
17934
  }, null, 8, [