@mathews_cometchat/bubble-builder 1.0.0-alpha25 → 1.0.0-alpha27

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.
@@ -8207,6 +8207,7 @@ var P = ee((e, t) => ({
8207
8207
  fallbackText: "",
8208
8208
  notificationTitle: "",
8209
8209
  notificationBody: "",
8210
+ notificationData: [],
8210
8211
  notificationEnabled: !1,
8211
8212
  canvasView: "bubble",
8212
8213
  channels: "inapp",
@@ -8554,6 +8555,18 @@ var P = ee((e, t) => ({
8554
8555
  notificationBody: t,
8555
8556
  isDirty: !0
8556
8557
  }),
8558
+ setNotificationData: (t) => {
8559
+ e({
8560
+ notificationData: t,
8561
+ isDirty: !0
8562
+ });
8563
+ let n = O.notification;
8564
+ if (n?.onNotificationDataChange) {
8565
+ let e = {};
8566
+ for (let { key: n, value: r } of t) n.trim() && (e[n.trim()] = r);
8567
+ n.onNotificationDataChange(e);
8568
+ }
8569
+ },
8557
8570
  setNotificationEnabled: (t) => e({ notificationEnabled: t }),
8558
8571
  setCanvasView: (t) => e({ canvasView: t }),
8559
8572
  setChannels: (t) => e({
@@ -8599,6 +8612,7 @@ var P = ee((e, t) => ({
8599
8612
  fallbackText: "",
8600
8613
  notificationTitle: "",
8601
8614
  notificationBody: "",
8615
+ notificationData: [],
8602
8616
  selectedPath: null,
8603
8617
  selectedPaths: [],
8604
8618
  clipboard: null,
@@ -16552,357 +16566,375 @@ var Kn = 375, qn = 667, Jn = /* @__PURE__ */ new Date(), Yn = Jn.toLocaleTimeStr
16552
16566
  })
16553
16567
  ]
16554
16568
  }), Qn = (0, S.memo)(function({ platform: e }) {
16555
- let t = P((e) => e.notificationTitle), n = P((e) => e.notificationBody), r = O.notification, i = r?.appName ?? "App", a = r?.appIcon;
16556
- return /* @__PURE__ */ (0, F.jsx)("div", {
16569
+ let t = P((e) => e.notificationTitle), n = P((e) => e.notificationBody), r = O.notification, i = r?.appName ?? "App", a = r?.appIcon, o = (0, S.useRef)(null), [s, c] = (0, S.useState)(1);
16570
+ return (0, S.useEffect)(() => {
16571
+ let e = o.current?.parentElement;
16572
+ if (!e) return;
16573
+ let t = () => {
16574
+ let t = e.getBoundingClientRect(), n = t.height - 64, r = t.width - 100, i = Math.min(n / qn, r / Kn);
16575
+ c(Math.round(Math.max(i, .4) * 100) / 100);
16576
+ };
16577
+ t();
16578
+ let n = new ResizeObserver(t);
16579
+ return n.observe(e), () => n.disconnect();
16580
+ }, []), /* @__PURE__ */ (0, F.jsx)("div", {
16581
+ ref: o,
16557
16582
  style: {
16558
16583
  display: "flex",
16559
16584
  alignItems: "center",
16560
16585
  justifyContent: "center",
16561
- padding: "16px 0",
16562
16586
  height: "100%"
16563
16587
  },
16564
- children: /* @__PURE__ */ (0, F.jsxs)("div", {
16588
+ children: /* @__PURE__ */ (0, F.jsx)("div", {
16565
16589
  style: {
16566
- width: Kn,
16567
- height: qn,
16568
- overflow: "hidden",
16569
- flexShrink: 0,
16570
- borderRadius: e === "ios" ? 48 : 24,
16571
- background: "linear-gradient(162deg, rgb(131,151,230) 0%, rgb(130,84,219) 49%, rgb(135,184,189) 100%)",
16572
- boxShadow: "0 8px 32px rgba(0,0,0,0.18)",
16573
- fontFamily: e === "ios" ? "-apple-system, BlinkMacSystemFont, \"SF Pro Display\", sans-serif" : "\"Roboto\", \"Google Sans\", sans-serif",
16574
- color: "#fff",
16575
- position: "relative",
16576
- display: "flex",
16577
- flexDirection: "column",
16578
- justifyContent: e === "ios" ? "space-between" : "flex-start",
16579
- padding: 16
16590
+ width: Kn * s,
16591
+ height: qn * s,
16592
+ flexShrink: 0
16580
16593
  },
16581
- children: [/* @__PURE__ */ (0, F.jsxs)("div", { children: [e === "ios" ? /* @__PURE__ */ (0, F.jsx)("div", {
16582
- style: {
16583
- display: "flex",
16584
- justifyContent: "flex-end",
16585
- padding: "0 8px",
16586
- height: 32
16587
- },
16588
- children: Zn
16589
- }) : /* @__PURE__ */ (0, F.jsxs)("div", {
16594
+ children: /* @__PURE__ */ (0, F.jsxs)("div", {
16590
16595
  style: {
16596
+ width: Kn,
16597
+ height: qn,
16598
+ overflow: "hidden",
16599
+ transform: `scale(${s})`,
16600
+ transformOrigin: "top left",
16601
+ borderRadius: e === "ios" ? 48 : 24,
16602
+ background: "linear-gradient(162deg, rgb(131,151,230) 0%, rgb(130,84,219) 49%, rgb(135,184,189) 100%)",
16603
+ boxShadow: "0 8px 32px rgba(0,0,0,0.18)",
16604
+ fontFamily: e === "ios" ? "-apple-system, BlinkMacSystemFont, \"SF Pro Display\", sans-serif" : "\"Roboto\", \"Google Sans\", sans-serif",
16605
+ color: "#fff",
16606
+ position: "relative",
16591
16607
  display: "flex",
16592
- justifyContent: "space-between",
16593
- alignItems: "center",
16594
- padding: "0 8px",
16595
- height: 32
16608
+ flexDirection: "column",
16609
+ justifyContent: e === "ios" ? "space-between" : "flex-start",
16610
+ padding: 16
16596
16611
  },
16597
- children: [/* @__PURE__ */ (0, F.jsx)("span", {
16612
+ children: [/* @__PURE__ */ (0, F.jsxs)("div", { children: [e === "ios" ? /* @__PURE__ */ (0, F.jsx)("div", {
16598
16613
  style: {
16599
- fontSize: 13,
16600
- fontWeight: 600
16614
+ display: "flex",
16615
+ justifyContent: "flex-end",
16616
+ padding: "0 8px",
16617
+ height: 32
16601
16618
  },
16602
- children: Yn
16603
- }), Zn]
16604
- }), e === "ios" ? /* @__PURE__ */ (0, F.jsxs)(F.Fragment, { children: [/* @__PURE__ */ (0, F.jsx)("div", {
16605
- style: {
16606
- marginTop: 40,
16607
- textAlign: "center",
16608
- fontSize: 20,
16609
- fontWeight: 600,
16610
- lineHeight: "20px",
16611
- color: "rgba(255,255,255,0.8)"
16612
- },
16613
- children: Xn
16614
- }), /* @__PURE__ */ (0, F.jsx)("div", {
16615
- style: {
16616
- textAlign: "center",
16617
- fontSize: 86,
16618
- lineHeight: "96px",
16619
- letterSpacing: -4,
16620
- color: "rgba(255,255,255,0.8)"
16621
- },
16622
- children: Yn
16623
- })] }) : /* @__PURE__ */ (0, F.jsxs)(F.Fragment, { children: [/* @__PURE__ */ (0, F.jsx)("div", {
16624
- style: {
16625
- textAlign: "center",
16626
- fontSize: 80,
16627
- lineHeight: "94px",
16628
- letterSpacing: -4,
16629
- color: "#fff",
16630
- marginTop: 64
16631
- },
16632
- children: Yn
16633
- }), /* @__PURE__ */ (0, F.jsx)("div", {
16634
- style: {
16635
- textAlign: "center",
16636
- fontSize: 16,
16637
- textTransform: "uppercase",
16638
- letterSpacing: 1.4,
16639
- color: "#fff",
16640
- marginBottom: 34
16641
- },
16642
- children: Xn
16643
- })] })] }), /* @__PURE__ */ (0, F.jsxs)("div", { children: [
16644
- /* @__PURE__ */ (0, F.jsxs)("div", {
16619
+ children: Zn
16620
+ }) : /* @__PURE__ */ (0, F.jsxs)("div", {
16645
16621
  style: {
16646
- borderRadius: 20,
16647
- background: "rgba(255,255,255,0.56)",
16648
- padding: e === "ios" ? "16px 14px" : "14px 16px",
16649
- color: "#000",
16650
- backdropFilter: "blur(20px)",
16651
16622
  display: "flex",
16652
- gap: 10,
16653
- alignItems: "flex-start"
16623
+ justifyContent: "space-between",
16624
+ alignItems: "center",
16625
+ padding: "0 8px",
16626
+ height: 32
16654
16627
  },
16655
- children: [e === "ios" ? a ? /* @__PURE__ */ (0, F.jsx)("img", {
16656
- src: a,
16657
- alt: "",
16658
- style: {
16659
- width: 38,
16660
- height: 38,
16661
- borderRadius: 10,
16662
- objectFit: "cover",
16663
- flexShrink: 0,
16664
- background: "#fff"
16665
- }
16666
- }) : /* @__PURE__ */ (0, F.jsx)("div", {
16628
+ children: [/* @__PURE__ */ (0, F.jsx)("span", {
16667
16629
  style: {
16668
- width: 38,
16669
- height: 38,
16670
- borderRadius: 10,
16671
- background: "#fff",
16672
- flexShrink: 0,
16673
- display: "flex",
16674
- alignItems: "center",
16675
- justifyContent: "center"
16630
+ fontSize: 13,
16631
+ fontWeight: 600
16676
16632
  },
16677
- children: /* @__PURE__ */ (0, F.jsx)("div", { style: {
16678
- width: 20,
16679
- height: 20,
16680
- borderRadius: 4,
16681
- background: "#6852D6"
16682
- } })
16683
- }) : null, /* @__PURE__ */ (0, F.jsx)("div", {
16633
+ children: Yn
16634
+ }), Zn]
16635
+ }), e === "ios" ? /* @__PURE__ */ (0, F.jsxs)(F.Fragment, { children: [/* @__PURE__ */ (0, F.jsx)("div", {
16636
+ style: {
16637
+ marginTop: 40,
16638
+ textAlign: "center",
16639
+ fontSize: 20,
16640
+ fontWeight: 600,
16641
+ lineHeight: "20px",
16642
+ color: "rgba(255,255,255,0.8)"
16643
+ },
16644
+ children: Xn
16645
+ }), /* @__PURE__ */ (0, F.jsx)("div", {
16646
+ style: {
16647
+ textAlign: "center",
16648
+ fontSize: 86,
16649
+ lineHeight: "96px",
16650
+ letterSpacing: -4,
16651
+ color: "rgba(255,255,255,0.8)"
16652
+ },
16653
+ children: Yn
16654
+ })] }) : /* @__PURE__ */ (0, F.jsxs)(F.Fragment, { children: [/* @__PURE__ */ (0, F.jsx)("div", {
16655
+ style: {
16656
+ textAlign: "center",
16657
+ fontSize: 80,
16658
+ lineHeight: "94px",
16659
+ letterSpacing: -4,
16660
+ color: "#fff",
16661
+ marginTop: 64
16662
+ },
16663
+ children: Yn
16664
+ }), /* @__PURE__ */ (0, F.jsx)("div", {
16665
+ style: {
16666
+ textAlign: "center",
16667
+ fontSize: 16,
16668
+ textTransform: "uppercase",
16669
+ letterSpacing: 1.4,
16670
+ color: "#fff",
16671
+ marginBottom: 34
16672
+ },
16673
+ children: Xn
16674
+ })] })] }), /* @__PURE__ */ (0, F.jsxs)("div", { children: [
16675
+ /* @__PURE__ */ (0, F.jsxs)("div", {
16684
16676
  style: {
16685
- flex: 1,
16686
- minWidth: 0
16677
+ borderRadius: 20,
16678
+ background: "rgba(255,255,255,0.56)",
16679
+ padding: e === "ios" ? "16px 14px" : "14px 16px",
16680
+ color: "#000",
16681
+ backdropFilter: "blur(20px)",
16682
+ display: "flex",
16683
+ gap: 10,
16684
+ alignItems: "flex-start"
16687
16685
  },
16688
- children: e === "ios" ? /* @__PURE__ */ (0, F.jsxs)(F.Fragment, { children: [
16689
- /* @__PURE__ */ (0, F.jsxs)("div", {
16690
- style: {
16691
- display: "flex",
16692
- gap: 4,
16693
- alignItems: "baseline"
16694
- },
16695
- children: [/* @__PURE__ */ (0, F.jsx)("span", {
16686
+ children: [e === "ios" ? a ? /* @__PURE__ */ (0, F.jsx)("img", {
16687
+ src: a,
16688
+ alt: "",
16689
+ style: {
16690
+ width: 38,
16691
+ height: 38,
16692
+ borderRadius: 10,
16693
+ objectFit: "cover",
16694
+ flexShrink: 0,
16695
+ background: "#fff"
16696
+ }
16697
+ }) : /* @__PURE__ */ (0, F.jsx)("div", {
16698
+ style: {
16699
+ width: 38,
16700
+ height: 38,
16701
+ borderRadius: 10,
16702
+ background: "#fff",
16703
+ flexShrink: 0,
16704
+ display: "flex",
16705
+ alignItems: "center",
16706
+ justifyContent: "center"
16707
+ },
16708
+ children: /* @__PURE__ */ (0, F.jsx)("div", { style: {
16709
+ width: 20,
16710
+ height: 20,
16711
+ borderRadius: 4,
16712
+ background: "#6852D6"
16713
+ } })
16714
+ }) : null, /* @__PURE__ */ (0, F.jsx)("div", {
16715
+ style: {
16716
+ flex: 1,
16717
+ minWidth: 0
16718
+ },
16719
+ children: e === "ios" ? /* @__PURE__ */ (0, F.jsxs)(F.Fragment, { children: [
16720
+ /* @__PURE__ */ (0, F.jsxs)("div", {
16721
+ style: {
16722
+ display: "flex",
16723
+ gap: 4,
16724
+ alignItems: "baseline"
16725
+ },
16726
+ children: [/* @__PURE__ */ (0, F.jsx)("span", {
16727
+ style: {
16728
+ fontWeight: 700,
16729
+ fontSize: 15,
16730
+ lineHeight: "18px",
16731
+ flex: 1,
16732
+ overflow: "hidden",
16733
+ textOverflow: "ellipsis",
16734
+ whiteSpace: "nowrap"
16735
+ },
16736
+ children: t || i
16737
+ }), /* @__PURE__ */ (0, F.jsx)("span", {
16738
+ style: {
16739
+ fontSize: 12,
16740
+ color: "#4f4f4f",
16741
+ flexShrink: 0
16742
+ },
16743
+ children: "now"
16744
+ })]
16745
+ }),
16746
+ n && /* @__PURE__ */ (0, F.jsx)("div", {
16696
16747
  style: {
16697
- fontWeight: 700,
16698
16748
  fontSize: 15,
16699
16749
  lineHeight: "18px",
16700
- flex: 1,
16750
+ opacity: .88,
16701
16751
  overflow: "hidden",
16702
16752
  textOverflow: "ellipsis",
16703
- whiteSpace: "nowrap"
16753
+ whiteSpace: "nowrap",
16754
+ marginTop: 4
16704
16755
  },
16705
- children: t || i
16706
- }), /* @__PURE__ */ (0, F.jsx)("span", {
16756
+ children: n
16757
+ }),
16758
+ !t && !n && /* @__PURE__ */ (0, F.jsx)("div", {
16707
16759
  style: {
16708
- fontSize: 12,
16709
- color: "#4f4f4f",
16710
- flexShrink: 0
16760
+ fontSize: 13,
16761
+ color: "#aaa",
16762
+ fontStyle: "italic",
16763
+ marginTop: 2
16711
16764
  },
16712
- children: "now"
16713
- })]
16714
- }),
16715
- n && /* @__PURE__ */ (0, F.jsx)("div", {
16716
- style: {
16717
- fontSize: 15,
16718
- lineHeight: "18px",
16719
- opacity: .88,
16720
- overflow: "hidden",
16721
- textOverflow: "ellipsis",
16722
- whiteSpace: "nowrap",
16723
- marginTop: 4
16724
- },
16725
- children: n
16726
- }),
16727
- !t && !n && /* @__PURE__ */ (0, F.jsx)("div", {
16728
- style: {
16729
- fontSize: 13,
16730
- color: "#aaa",
16731
- fontStyle: "italic",
16732
- marginTop: 2
16733
- },
16734
- children: "Enter title and body in the Notification tab"
16735
- })
16736
- ] }) : /* @__PURE__ */ (0, F.jsx)(F.Fragment, { children: /* @__PURE__ */ (0, F.jsxs)("div", {
16737
- style: {
16738
- display: "flex",
16739
- gap: 10,
16740
- alignItems: "flex-start"
16741
- },
16742
- children: [a ? /* @__PURE__ */ (0, F.jsx)("img", {
16743
- src: a,
16744
- alt: "",
16745
- style: {
16746
- width: 38,
16747
- height: 38,
16748
- borderRadius: 19,
16749
- objectFit: "cover",
16750
- flexShrink: 0,
16751
- background: "#fff"
16752
- }
16753
- }) : /* @__PURE__ */ (0, F.jsx)("div", {
16754
- style: {
16755
- width: 38,
16756
- height: 38,
16757
- borderRadius: 19,
16758
- background: "#fff",
16759
- flexShrink: 0,
16760
- display: "flex",
16761
- alignItems: "center",
16762
- justifyContent: "center"
16763
- },
16764
- children: /* @__PURE__ */ (0, F.jsx)("div", { style: {
16765
- width: 20,
16766
- height: 20,
16767
- borderRadius: 4,
16768
- background: "#6852D6"
16769
- } })
16770
- }), /* @__PURE__ */ (0, F.jsxs)("div", {
16765
+ children: "Enter title and body in the Notification tab"
16766
+ })
16767
+ ] }) : /* @__PURE__ */ (0, F.jsx)(F.Fragment, { children: /* @__PURE__ */ (0, F.jsxs)("div", {
16771
16768
  style: {
16772
- flex: 1,
16773
- minWidth: 0,
16774
16769
  display: "flex",
16775
- flexDirection: "column",
16776
- gap: 6
16770
+ gap: 10,
16771
+ alignItems: "flex-start"
16777
16772
  },
16778
- children: [
16779
- /* @__PURE__ */ (0, F.jsxs)("div", {
16780
- style: {
16781
- display: "flex",
16782
- gap: 6,
16783
- alignItems: "center"
16784
- },
16785
- children: [
16786
- /* @__PURE__ */ (0, F.jsx)("span", {
16787
- style: {
16788
- fontWeight: 700,
16789
- fontSize: 14,
16790
- lineHeight: "16px",
16791
- overflow: "hidden",
16792
- textOverflow: "ellipsis",
16793
- whiteSpace: "nowrap"
16794
- },
16795
- children: t || i
16796
- }),
16797
- /* @__PURE__ */ (0, F.jsx)("span", {
16798
- style: {
16799
- fontSize: 12,
16800
- color: "#4f4f4f",
16801
- flexGrow: 1
16802
- },
16803
- children: "now"
16804
- }),
16805
- /* @__PURE__ */ (0, F.jsx)("svg", {
16806
- width: "16",
16807
- height: "16",
16808
- viewBox: "0 0 16 16",
16809
- fill: "none",
16810
- style: { flexShrink: 0 },
16811
- children: /* @__PURE__ */ (0, F.jsx)("path", {
16812
- fillRule: "evenodd",
16813
- clipRule: "evenodd",
16814
- d: "M3.53 6.47l.94-.94 3.53 3.53 3.53-3.53.94.94L8 10.94 3.53 6.47z",
16815
- fill: "#5E5E5E"
16773
+ children: [a ? /* @__PURE__ */ (0, F.jsx)("img", {
16774
+ src: a,
16775
+ alt: "",
16776
+ style: {
16777
+ width: 38,
16778
+ height: 38,
16779
+ borderRadius: 19,
16780
+ objectFit: "cover",
16781
+ flexShrink: 0,
16782
+ background: "#fff"
16783
+ }
16784
+ }) : /* @__PURE__ */ (0, F.jsx)("div", {
16785
+ style: {
16786
+ width: 38,
16787
+ height: 38,
16788
+ borderRadius: 19,
16789
+ background: "#fff",
16790
+ flexShrink: 0,
16791
+ display: "flex",
16792
+ alignItems: "center",
16793
+ justifyContent: "center"
16794
+ },
16795
+ children: /* @__PURE__ */ (0, F.jsx)("div", { style: {
16796
+ width: 20,
16797
+ height: 20,
16798
+ borderRadius: 4,
16799
+ background: "#6852D6"
16800
+ } })
16801
+ }), /* @__PURE__ */ (0, F.jsxs)("div", {
16802
+ style: {
16803
+ flex: 1,
16804
+ minWidth: 0,
16805
+ display: "flex",
16806
+ flexDirection: "column",
16807
+ gap: 6
16808
+ },
16809
+ children: [
16810
+ /* @__PURE__ */ (0, F.jsxs)("div", {
16811
+ style: {
16812
+ display: "flex",
16813
+ gap: 6,
16814
+ alignItems: "center"
16815
+ },
16816
+ children: [
16817
+ /* @__PURE__ */ (0, F.jsx)("span", {
16818
+ style: {
16819
+ fontWeight: 700,
16820
+ fontSize: 14,
16821
+ lineHeight: "16px",
16822
+ overflow: "hidden",
16823
+ textOverflow: "ellipsis",
16824
+ whiteSpace: "nowrap"
16825
+ },
16826
+ children: t || i
16827
+ }),
16828
+ /* @__PURE__ */ (0, F.jsx)("span", {
16829
+ style: {
16830
+ fontSize: 12,
16831
+ color: "#4f4f4f",
16832
+ flexGrow: 1
16833
+ },
16834
+ children: "now"
16835
+ }),
16836
+ /* @__PURE__ */ (0, F.jsx)("svg", {
16837
+ width: "16",
16838
+ height: "16",
16839
+ viewBox: "0 0 16 16",
16840
+ fill: "none",
16841
+ style: { flexShrink: 0 },
16842
+ children: /* @__PURE__ */ (0, F.jsx)("path", {
16843
+ fillRule: "evenodd",
16844
+ clipRule: "evenodd",
16845
+ d: "M3.53 6.47l.94-.94 3.53 3.53 3.53-3.53.94.94L8 10.94 3.53 6.47z",
16846
+ fill: "#5E5E5E"
16847
+ })
16816
16848
  })
16817
- })
16818
- ]
16819
- }),
16820
- n && /* @__PURE__ */ (0, F.jsx)("div", {
16821
- style: {
16822
- fontSize: 14,
16823
- lineHeight: "16px",
16824
- color: "#4f4f4f",
16825
- overflow: "hidden",
16826
- textOverflow: "ellipsis",
16827
- whiteSpace: "nowrap"
16828
- },
16829
- children: n
16830
- }),
16831
- !t && !n && /* @__PURE__ */ (0, F.jsx)("div", {
16832
- style: {
16833
- fontSize: 13,
16834
- color: "#aaa",
16835
- fontStyle: "italic"
16836
- },
16837
- children: "Enter title and body in the Notification tab"
16838
- })
16839
- ]
16840
- })]
16841
- }) })
16842
- })]
16843
- }),
16844
- e === "ios" && /* @__PURE__ */ (0, F.jsxs)("div", {
16845
- style: {
16846
- display: "flex",
16847
- justifyContent: "center",
16848
- gap: 190,
16849
- marginTop: 16,
16850
- marginBottom: -10
16851
- },
16852
- children: [/* @__PURE__ */ (0, F.jsx)("div", {
16853
- style: {
16854
- width: 50,
16855
- height: 50,
16856
- borderRadius: 25,
16857
- background: "rgba(255,255,255,0.15)",
16858
- display: "flex",
16859
- alignItems: "center",
16860
- justifyContent: "center"
16861
- },
16862
- children: /* @__PURE__ */ (0, F.jsxs)("svg", {
16863
- width: "18",
16864
- height: "18",
16865
- viewBox: "0 0 24 24",
16866
- fill: "none",
16867
- stroke: "white",
16868
- strokeWidth: "2",
16869
- strokeLinecap: "round",
16870
- strokeLinejoin: "round",
16871
- children: [
16872
- /* @__PURE__ */ (0, F.jsx)("path", { d: "M9 18h6" }),
16873
- /* @__PURE__ */ (0, F.jsx)("path", { d: "M10 22h4" }),
16874
- /* @__PURE__ */ (0, F.jsx)("path", { d: "M15.09 14c.18-.98.65-1.74 1.41-2.5A4.65 4.65 0 0018 8 6 6 0 006 8c0 1 .23 2.23 1.5 3.5A4.61 4.61 0 018.91 14" })
16875
- ]
16876
- })
16877
- }), /* @__PURE__ */ (0, F.jsx)("div", {
16849
+ ]
16850
+ }),
16851
+ n && /* @__PURE__ */ (0, F.jsx)("div", {
16852
+ style: {
16853
+ fontSize: 14,
16854
+ lineHeight: "16px",
16855
+ color: "#4f4f4f",
16856
+ overflow: "hidden",
16857
+ textOverflow: "ellipsis",
16858
+ whiteSpace: "nowrap"
16859
+ },
16860
+ children: n
16861
+ }),
16862
+ !t && !n && /* @__PURE__ */ (0, F.jsx)("div", {
16863
+ style: {
16864
+ fontSize: 13,
16865
+ color: "#aaa",
16866
+ fontStyle: "italic"
16867
+ },
16868
+ children: "Enter title and body in the Notification tab"
16869
+ })
16870
+ ]
16871
+ })]
16872
+ }) })
16873
+ })]
16874
+ }),
16875
+ e === "ios" && /* @__PURE__ */ (0, F.jsxs)("div", {
16878
16876
  style: {
16879
- width: 50,
16880
- height: 50,
16881
- borderRadius: 25,
16882
- background: "rgba(255,255,255,0.15)",
16883
16877
  display: "flex",
16884
- alignItems: "center",
16885
- justifyContent: "center"
16878
+ justifyContent: "center",
16879
+ gap: 190,
16880
+ marginTop: 16,
16881
+ marginBottom: -10
16886
16882
  },
16887
- children: /* @__PURE__ */ (0, F.jsxs)("svg", {
16888
- width: "20",
16889
- height: "20",
16890
- viewBox: "0 0 24 24",
16891
- fill: "white",
16892
- children: [/* @__PURE__ */ (0, F.jsx)("path", { d: "M12 15.2a3.2 3.2 0 100-6.4 3.2 3.2 0 000 6.4z" }), /* @__PURE__ */ (0, F.jsx)("path", { d: "M9 2L7.17 4H4a2 2 0 00-2 2v12a2 2 0 002 2h16a2 2 0 002-2V6a2 2 0 00-2-2h-3.17L15 2H9zm3 15a5 5 0 110-10 5 5 0 010 10z" })]
16893
- })
16894
- })]
16895
- }),
16896
- e === "ios" && /* @__PURE__ */ (0, F.jsx)("div", { style: {
16897
- height: 5,
16898
- width: 134,
16899
- borderRadius: 3,
16900
- background: "#fff",
16901
- alignSelf: "center",
16902
- margin: "0 auto",
16903
- marginTop: 16
16904
- } })
16905
- ] })]
16883
+ children: [/* @__PURE__ */ (0, F.jsx)("div", {
16884
+ style: {
16885
+ width: 50,
16886
+ height: 50,
16887
+ borderRadius: 25,
16888
+ background: "rgba(255,255,255,0.15)",
16889
+ display: "flex",
16890
+ alignItems: "center",
16891
+ justifyContent: "center"
16892
+ },
16893
+ children: /* @__PURE__ */ (0, F.jsxs)("svg", {
16894
+ width: "18",
16895
+ height: "18",
16896
+ viewBox: "0 0 24 24",
16897
+ fill: "none",
16898
+ stroke: "white",
16899
+ strokeWidth: "2",
16900
+ strokeLinecap: "round",
16901
+ strokeLinejoin: "round",
16902
+ children: [
16903
+ /* @__PURE__ */ (0, F.jsx)("path", { d: "M9 18h6" }),
16904
+ /* @__PURE__ */ (0, F.jsx)("path", { d: "M10 22h4" }),
16905
+ /* @__PURE__ */ (0, F.jsx)("path", { d: "M15.09 14c.18-.98.65-1.74 1.41-2.5A4.65 4.65 0 0018 8 6 6 0 006 8c0 1 .23 2.23 1.5 3.5A4.61 4.61 0 018.91 14" })
16906
+ ]
16907
+ })
16908
+ }), /* @__PURE__ */ (0, F.jsx)("div", {
16909
+ style: {
16910
+ width: 50,
16911
+ height: 50,
16912
+ borderRadius: 25,
16913
+ background: "rgba(255,255,255,0.15)",
16914
+ display: "flex",
16915
+ alignItems: "center",
16916
+ justifyContent: "center"
16917
+ },
16918
+ children: /* @__PURE__ */ (0, F.jsxs)("svg", {
16919
+ width: "20",
16920
+ height: "20",
16921
+ viewBox: "0 0 24 24",
16922
+ fill: "white",
16923
+ children: [/* @__PURE__ */ (0, F.jsx)("path", { d: "M12 15.2a3.2 3.2 0 100-6.4 3.2 3.2 0 000 6.4z" }), /* @__PURE__ */ (0, F.jsx)("path", { d: "M9 2L7.17 4H4a2 2 0 00-2 2v12a2 2 0 002 2h16a2 2 0 002-2V6a2 2 0 00-2-2h-3.17L15 2H9zm3 15a5 5 0 110-10 5 5 0 010 10z" })]
16924
+ })
16925
+ })]
16926
+ }),
16927
+ e === "ios" && /* @__PURE__ */ (0, F.jsx)("div", { style: {
16928
+ height: 5,
16929
+ width: 134,
16930
+ borderRadius: 3,
16931
+ background: "#fff",
16932
+ alignSelf: "center",
16933
+ margin: "0 auto",
16934
+ marginTop: 16
16935
+ } })
16936
+ ] })]
16937
+ })
16906
16938
  })
16907
16939
  });
16908
16940
  }), $n = {
@@ -16933,7 +16965,7 @@ var Kn = 375, qn = 667, Jn = /* @__PURE__ */ new Date(), Yn = Jn.toLocaleTimeStr
16933
16965
  transition: "all 0.15s"
16934
16966
  }, tr = (0, S.memo)(function({ platform: e, setPlatform: t }) {
16935
16967
  let n = P((e) => e.canvasView), r = P((e) => e.setCanvasView), i = P((e) => e.channels);
16936
- return i === "inapp" ? null : /* @__PURE__ */ (0, F.jsxs)("div", {
16968
+ return i === "inapp" || O.notification?.showPreview === !1 ? null : /* @__PURE__ */ (0, F.jsxs)("div", {
16937
16969
  style: {
16938
16970
  display: "flex",
16939
16971
  flexDirection: "column",
@@ -17096,7 +17128,7 @@ var rr = /* @__PURE__ */ (0, F.jsxs)("div", {
17096
17128
  /* @__PURE__ */ (0, F.jsxs)("div", {
17097
17129
  className: "canvas-area",
17098
17130
  ref: w,
17099
- children: [b === "notification" ? /* @__PURE__ */ (0, F.jsx)(Qn, { platform: x }) : /* @__PURE__ */ (0, F.jsx)("div", {
17131
+ children: [b === "notification" && O.notification?.showPreview !== !1 ? /* @__PURE__ */ (0, F.jsx)(Qn, { platform: x }) : /* @__PURE__ */ (0, F.jsx)("div", {
17100
17132
  style: {
17101
17133
  width: 375 * f,
17102
17134
  height: 667 * f,
@@ -20006,7 +20038,19 @@ var Wr = (0, S.memo)(function() {
20006
20038
  })
20007
20039
  ] });
20008
20040
  }), Gr = (0, S.memo)(function() {
20009
- let e = P((e) => e.notificationTitle), t = P((e) => e.notificationBody), n = P((e) => e.setNotificationTitle), r = P((e) => e.setNotificationBody);
20041
+ let e = P((e) => e.notificationTitle), t = P((e) => e.notificationBody), n = P((e) => e.notificationData), r = P((e) => e.setNotificationTitle), i = P((e) => e.setNotificationBody), a = P((e) => e.setNotificationData), o = O.notification?.enableData, s = (0, S.useCallback)(() => {
20042
+ a([...n, {
20043
+ key: "",
20044
+ value: ""
20045
+ }]);
20046
+ }, [n, a]), c = (0, S.useCallback)((e, t, r) => {
20047
+ a(n.map((n, i) => i === e ? {
20048
+ ...n,
20049
+ [t]: r
20050
+ } : n));
20051
+ }, [n, a]), l = (0, S.useCallback)((e) => {
20052
+ a(n.filter((t, n) => n !== e));
20053
+ }, [n, a]);
20010
20054
  return /* @__PURE__ */ (0, F.jsxs)("div", { children: [
20011
20055
  /* @__PURE__ */ (0, F.jsx)("div", {
20012
20056
  className: "prop-badge",
@@ -20026,7 +20070,7 @@ var Wr = (0, S.memo)(function() {
20026
20070
  children: "Title"
20027
20071
  }), /* @__PURE__ */ (0, F.jsx)(dr, {
20028
20072
  value: e,
20029
- onChange: n,
20073
+ onChange: r,
20030
20074
  placeholder: "Notification title..."
20031
20075
  })]
20032
20076
  }),
@@ -20037,7 +20081,7 @@ var Wr = (0, S.memo)(function() {
20037
20081
  children: "Body"
20038
20082
  }), /* @__PURE__ */ (0, F.jsx)(dr, {
20039
20083
  value: t,
20040
- onChange: r,
20084
+ onChange: i,
20041
20085
  placeholder: "Notification body...",
20042
20086
  multiline: !0,
20043
20087
  rows: 3
@@ -20045,9 +20089,114 @@ var Wr = (0, S.memo)(function() {
20045
20089
  })
20046
20090
  ]
20047
20091
  }),
20092
+ o && /* @__PURE__ */ (0, F.jsxs)("div", {
20093
+ className: "prop-group",
20094
+ children: [/* @__PURE__ */ (0, F.jsxs)("div", {
20095
+ style: {
20096
+ display: "flex",
20097
+ justifyContent: "space-between",
20098
+ alignItems: "center",
20099
+ marginBottom: 12
20100
+ },
20101
+ children: [/* @__PURE__ */ (0, F.jsx)("div", {
20102
+ className: "prop-group-title",
20103
+ style: { marginBottom: 0 },
20104
+ children: "Data"
20105
+ }), /* @__PURE__ */ (0, F.jsx)("button", {
20106
+ onClick: s,
20107
+ className: "prop-label",
20108
+ style: {
20109
+ fontWeight: 600,
20110
+ color: "var(--accent-primary)",
20111
+ background: "var(--accent-light)",
20112
+ border: "1px solid var(--border-accent)",
20113
+ borderRadius: 6,
20114
+ padding: "4px 10px",
20115
+ cursor: "pointer"
20116
+ },
20117
+ children: "Add +"
20118
+ })]
20119
+ }), n.length === 0 ? /* @__PURE__ */ (0, F.jsx)("div", {
20120
+ style: {
20121
+ color: "var(--text-muted)",
20122
+ padding: "8px 0"
20123
+ },
20124
+ children: "No data entries. Click \"Add +\" to add key-value pairs."
20125
+ }) : n.map((e, t) => /* @__PURE__ */ (0, F.jsxs)("div", {
20126
+ style: {
20127
+ border: "1px solid var(--border-subtle)",
20128
+ borderRadius: 6,
20129
+ padding: 10,
20130
+ marginBottom: 6
20131
+ },
20132
+ children: [
20133
+ /* @__PURE__ */ (0, F.jsxs)("div", {
20134
+ style: {
20135
+ display: "flex",
20136
+ justifyContent: "space-between",
20137
+ alignItems: "center",
20138
+ marginBottom: 6
20139
+ },
20140
+ children: [/* @__PURE__ */ (0, F.jsxs)("span", {
20141
+ className: "prop-label",
20142
+ style: {
20143
+ fontWeight: 600,
20144
+ marginBottom: 0
20145
+ },
20146
+ children: ["Data ", t + 1]
20147
+ }), /* @__PURE__ */ (0, F.jsx)("button", {
20148
+ onClick: () => l(t),
20149
+ title: "Remove",
20150
+ style: {
20151
+ color: "var(--text-secondary)",
20152
+ cursor: "pointer",
20153
+ display: "flex",
20154
+ alignItems: "center",
20155
+ justifyContent: "center"
20156
+ },
20157
+ children: /* @__PURE__ */ (0, F.jsxs)("svg", {
20158
+ width: "13",
20159
+ height: "13",
20160
+ viewBox: "0 0 24 24",
20161
+ fill: "currentColor",
20162
+ children: [/* @__PURE__ */ (0, F.jsx)("path", { d: "M8.5 2A2.5 2.5 0 0 0 6 4.5V6h2V4.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5V6h2V4.5A2.5 2.5 0 0 0 15.5 2h-7ZM13 18v-6h2v6h-2ZM9 12v6h2v-6H9Z" }), /* @__PURE__ */ (0, F.jsx)("path", {
20163
+ fillRule: "evenodd",
20164
+ d: "M4 7.5h16v.016h2v2h-2V19.5a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 4 19.5V9.516H2v-2h2V7.5Zm14 2.016H6V19.5a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 .5-.5V9.516Z",
20165
+ clipRule: "evenodd"
20166
+ })]
20167
+ })
20168
+ })]
20169
+ }),
20170
+ /* @__PURE__ */ (0, F.jsxs)("div", {
20171
+ className: "prop-field",
20172
+ children: [/* @__PURE__ */ (0, F.jsx)("label", {
20173
+ className: "prop-label",
20174
+ children: "Key"
20175
+ }), /* @__PURE__ */ (0, F.jsx)("input", {
20176
+ value: e.key,
20177
+ onChange: (e) => c(t, "key", e.target.value),
20178
+ placeholder: "Up to 10 characters",
20179
+ maxLength: 10
20180
+ })]
20181
+ }),
20182
+ /* @__PURE__ */ (0, F.jsxs)("div", {
20183
+ className: "prop-field",
20184
+ style: { marginBottom: 0 },
20185
+ children: [/* @__PURE__ */ (0, F.jsx)("label", {
20186
+ className: "prop-label",
20187
+ children: "Value (optional)"
20188
+ }), /* @__PURE__ */ (0, F.jsx)("input", {
20189
+ value: e.value,
20190
+ onChange: (e) => c(t, "value", e.target.value),
20191
+ placeholder: "Up to 50 characters",
20192
+ maxLength: 50
20193
+ })]
20194
+ })
20195
+ ]
20196
+ }, t))]
20197
+ }),
20048
20198
  /* @__PURE__ */ (0, F.jsx)("div", {
20049
20199
  style: {
20050
- fontSize: 11,
20051
20200
  color: "var(--text-muted)",
20052
20201
  padding: "8px 12px",
20053
20202
  lineHeight: 1.5
@@ -22409,7 +22558,9 @@ function os(e, t) {
22409
22558
  }
22410
22559
  var ss = (0, S.memo)(function() {
22411
22560
  let e = P((e) => e.selectedPath), t = P((e) => e.body), n = P((e) => e.updateElement), r = P((e) => e.setCanvasView), i = P((e) => e.channels), [a, o] = (0, S.useState)(i === "push" ? "notification" : "tree"), s = i === "push" || i === "both", c = e ? os(t, e) : null, l = (0, S.useCallback)((e) => {
22412
- o(e), r(e === "notification" ? "notification" : "bubble");
22561
+ o(e);
22562
+ let t = O.notification?.showPreview !== !1;
22563
+ r(e === "notification" && t ? "notification" : "bubble");
22413
22564
  }, [r]), u = (0, S.useCallback)((e) => {
22414
22565
  let t = P.getState().selectedPath;
22415
22566
  t && n(t, e);
@@ -22592,7 +22743,7 @@ function fs() {
22592
22743
  //#endregion
22593
22744
  //#region src/lib.tsx
22594
22745
  function ps(e, t) {
22595
- O.appId = t.appId, O.region = t.region, O.token = t.token, O.onSave = t.onSave, O.onChange = t.onChange, O.hideTopBar = t.hideTopBar, O.hideTemplateLibrary = t.hideTemplateLibrary, O.channels = t.channels ?? "inapp", O.notification = t.notification, P.getState().setChannels(O.channels), t.variables && P.getState().setVariables(t.variables), t.hiddenElements && P.getState().setHiddenElements(t.hiddenElements), t.hiddenComponents && P.getState().setHiddenComponents(t.hiddenComponents), t.hideTemplateLibrary && P.getState().setView("editor"), console.log("[BubbleBuilder] mountBubbleBuilder called with:", {
22746
+ O.appId = t.appId, O.region = t.region, O.token = t.token, O.onSave = t.onSave, O.onChange = t.onChange, O.hideTopBar = t.hideTopBar, O.hideTemplateLibrary = t.hideTemplateLibrary, O.channels = t.channels ?? "both", O.notification = t.notification, P.getState().setChannels(O.channels), t.variables && P.getState().setVariables(t.variables), t.hiddenElements && P.getState().setHiddenElements(t.hiddenElements), t.hiddenComponents && P.getState().setHiddenComponents(t.hiddenComponents), t.hideTemplateLibrary && P.getState().setView("editor"), console.log("[BubbleBuilder] mountBubbleBuilder called with:", {
22596
22747
  appId: t.appId,
22597
22748
  region: t.region,
22598
22749
  token: t.token ? "***" + t.token.slice(-4) : void 0,