@selectwin/kit 0.1.67 → 0.1.68
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.
- package/dist/SelectPreviewFrame.d.ts +15 -1
- package/dist/index.js +16 -15
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ReactNode } from 'react';
|
|
1
|
+
import { ReactNode, Ref } from 'react';
|
|
2
2
|
type Device = 'desktop' | 'mobile';
|
|
3
3
|
export interface SelectPreviewFrameProps {
|
|
4
4
|
/** Preview URL. Empty/undefined shows the placeholder. */
|
|
@@ -23,6 +23,20 @@ export interface SelectPreviewFrameProps {
|
|
|
23
23
|
* desatualizada. Então: avisa e oferece o botão — não age.
|
|
24
24
|
*/
|
|
25
25
|
notice?: ReactNode;
|
|
26
|
+
/**
|
|
27
|
+
* Ref para o `<iframe>` INTERNO — o `ref` do componente aponta para o wrapper, e de um
|
|
28
|
+
* `<div>` não se alcança `contentWindow`.
|
|
29
|
+
*
|
|
30
|
+
* Existe para quem DIRIGE o conteúdo do frame por `postMessage` em vez de recarregá-lo: um
|
|
31
|
+
* builder que manda o desenho ao vivo precisa da janela do frame, e a alternativa — sair
|
|
32
|
+
* fazendo `querySelector('iframe')` no wrapper — amarraria a página à árvore interna deste
|
|
33
|
+
* componente, que é exatamente o que a prop existe para evitar.
|
|
34
|
+
*
|
|
35
|
+
* ⚠️ O frame REMONTA a cada recarga (o `key` do nonce), então o ref troca de nó. Quem
|
|
36
|
+
* dirige não deve guardar `contentWindow`: leia-o do ref na hora de mandar, e refaça o
|
|
37
|
+
* aperto de mão a cada `load`.
|
|
38
|
+
*/
|
|
39
|
+
iframeRef?: Ref<HTMLIFrameElement>;
|
|
26
40
|
initialDevice?: Device;
|
|
27
41
|
showDeviceToggle?: boolean;
|
|
28
42
|
emptyLabel?: string;
|
package/dist/index.js
CHANGED
|
@@ -4622,15 +4622,15 @@ function Lo() {
|
|
|
4622
4622
|
if (!t) throw new Error("useSelectToast must be used within a SelectToastProvider");
|
|
4623
4623
|
return t;
|
|
4624
4624
|
}
|
|
4625
|
-
const ta = { desktop: "100%", mobile: 390 }, Ao = R(function({ src: n, title: l = "Pré-visualização", height: c = 560, fill: s = !1, initialDevice: a = "desktop", showDeviceToggle: o = !0, emptyLabel: i = "Salve para gerar a pré-visualização.", onReload: r, notice: d,
|
|
4626
|
-
const [
|
|
4627
|
-
if (
|
|
4625
|
+
const ta = { desktop: "100%", mobile: 390 }, Ao = R(function({ src: n, title: l = "Pré-visualização", height: c = 560, fill: s = !1, initialDevice: a = "desktop", showDeviceToggle: o = !0, emptyLabel: i = "Salve para gerar a pré-visualização.", onReload: r, notice: d, iframeRef: u, className: h, ...f }, g) {
|
|
4626
|
+
const [_, y] = W(a), [N, S] = W(0), [v, m] = W(!0), M = n ? `${n}${n.includes("?") ? "&" : "?"}_pv=${N}` : "", k = () => {
|
|
4627
|
+
if (m(!0), r) {
|
|
4628
4628
|
r();
|
|
4629
4629
|
return;
|
|
4630
4630
|
}
|
|
4631
|
-
|
|
4631
|
+
S((w) => w + 1);
|
|
4632
4632
|
};
|
|
4633
|
-
return /* @__PURE__ */ p("div", { ref:
|
|
4633
|
+
return /* @__PURE__ */ p("div", { ref: g, ...f, className: `select-preview${s ? " select-preview--fill" : ""}${h ? " " + h : ""}`, children: [
|
|
4634
4634
|
/* @__PURE__ */ p("div", { className: "select-preview__bar", children: [
|
|
4635
4635
|
/* @__PURE__ */ e("span", { className: "select-preview__title", children: l }),
|
|
4636
4636
|
d && /* @__PURE__ */ e("span", { className: "select-preview__notice", children: d }),
|
|
@@ -4642,8 +4642,8 @@ const ta = { desktop: "100%", mobile: 390 }, Ao = R(function({ src: n, title: l
|
|
|
4642
4642
|
size: "sm",
|
|
4643
4643
|
icon: /* @__PURE__ */ e(fl, {}),
|
|
4644
4644
|
label: "Visualizar em desktop",
|
|
4645
|
-
active:
|
|
4646
|
-
onClick: () =>
|
|
4645
|
+
active: _ === "desktop",
|
|
4646
|
+
onClick: () => y("desktop")
|
|
4647
4647
|
}
|
|
4648
4648
|
),
|
|
4649
4649
|
/* @__PURE__ */ e(
|
|
@@ -4652,12 +4652,12 @@ const ta = { desktop: "100%", mobile: 390 }, Ao = R(function({ src: n, title: l
|
|
|
4652
4652
|
size: "sm",
|
|
4653
4653
|
icon: /* @__PURE__ */ e(_l, {}),
|
|
4654
4654
|
label: "Visualizar em mobile",
|
|
4655
|
-
active:
|
|
4656
|
-
onClick: () =>
|
|
4655
|
+
active: _ === "mobile",
|
|
4656
|
+
onClick: () => y("mobile")
|
|
4657
4657
|
}
|
|
4658
4658
|
)
|
|
4659
4659
|
] }),
|
|
4660
|
-
/* @__PURE__ */ e(De, { size: "sm", icon: /* @__PURE__ */ e(bc, {}), label: "Recarregar", onClick:
|
|
4660
|
+
/* @__PURE__ */ e(De, { size: "sm", icon: /* @__PURE__ */ e(bc, {}), label: "Recarregar", onClick: k, disabled: !n }),
|
|
4661
4661
|
n && /* @__PURE__ */ e(
|
|
4662
4662
|
"a",
|
|
4663
4663
|
{
|
|
@@ -4672,17 +4672,18 @@ const ta = { desktop: "100%", mobile: 390 }, Ao = R(function({ src: n, title: l
|
|
|
4672
4672
|
)
|
|
4673
4673
|
] })
|
|
4674
4674
|
] }),
|
|
4675
|
-
/* @__PURE__ */ e("div", { className: "select-preview__stage", style: s ? void 0 : { height: c }, children:
|
|
4676
|
-
|
|
4675
|
+
/* @__PURE__ */ e("div", { className: "select-preview__stage", style: s ? void 0 : { height: c }, children: M ? /* @__PURE__ */ p("div", { className: "select-preview__device", style: { width: ta[_] }, children: [
|
|
4676
|
+
v && /* @__PURE__ */ e("div", { className: "select-preview__loading", children: /* @__PURE__ */ e(Ns, {}) }),
|
|
4677
4677
|
/* @__PURE__ */ e(
|
|
4678
4678
|
"iframe",
|
|
4679
4679
|
{
|
|
4680
|
+
ref: u,
|
|
4680
4681
|
title: l,
|
|
4681
|
-
src:
|
|
4682
|
-
onLoad: () =>
|
|
4682
|
+
src: M,
|
|
4683
|
+
onLoad: () => m(!1),
|
|
4683
4684
|
className: "select-preview__iframe"
|
|
4684
4685
|
},
|
|
4685
|
-
|
|
4686
|
+
N
|
|
4686
4687
|
)
|
|
4687
4688
|
] }) : /* @__PURE__ */ e("p", { className: "select-preview__empty", children: i }) })
|
|
4688
4689
|
] });
|
package/package.json
CHANGED