@trebired/frontend 13.20.0 → 13.21.1

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/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # Changelog
2
2
 
3
+ ## 13.21.1
4
+
5
+ - `EmbedFrame` no longer blanks an embed that has already loaded. The timeout fired regardless of the state it found, so it cleared the source of a working embed once the deadline passed. It is cancelled on load and returns early if the state has settled.
6
+
7
+ ## 13.21.0
8
+
9
+ - `EmbedFrame` now renders the embed in an `<object type="text/html">` instead of an `<iframe>`, so a refused embed raises an `error` event and the component shows its own failure state. An `<iframe>` gives the embedding page nothing to act on: a document blocked by `frame-ancestors` or `X-Frame-Options` fires `load` exactly like a successful one, and `contentWindow.location`, `contentDocument` and `origin` throw in both cases, so the browser's own "refused to connect" page was the only thing a visitor ever saw.
10
+ - The failure state now covers refusal as well as timeout, and its default text says so. `labels.error` still overrides it.
11
+ - The status marks are Remix Icon artwork, inlined rather than resolved through the icon runtime so they render on static sites with no icon endpoint. The failure mark is `error-warning-line`.
12
+ - `allowFullScreen` is honoured with a hover-revealed control that fullscreens the embed's own wrapper through the frontend fullscreen system, because `<object>` carries no `allowfullscreen` attribute. `labels.fullscreen` sets its label.
13
+ - Passing `sandbox` keeps the old `<iframe>` element, since `<object>` cannot carry a sandbox. Failure detection is unavailable in that mode.
14
+ - `MapEmbed` no longer sets `referrerPolicy`, which `<object>` does not carry and which only restated the browser default.
15
+
3
16
  ## 13.20.0
4
17
 
5
18
  - Smooth scrolling no longer animates the browser's scroll restoration. With `design.scrollBehavior: "smooth"`, reloading a page that was scrolled made the browser ease its way back to the saved position over a few hundred milliseconds, which looks like the page sliding or fading itself into place. The generated stylesheet now pairs `html { scroll-behavior: smooth }` with `html[data-…-scroll-settling] { scroll-behavior: auto }`, so the restore lands in one frame.
@@ -1,5 +1,6 @@
1
1
  type EmbedFrameLabels = {
2
2
  error?: string;
3
+ fullscreen?: string;
3
4
  loading?: string;
4
5
  open?: string;
5
6
  };
@@ -16,6 +17,6 @@ type EmbedFrameProps = {
16
17
  title: string;
17
18
  };
18
19
  type EmbedFrameState = "error" | "loading" | "ready";
19
- export declare function EmbedFrame({ allowFullScreen, aspectRatio, className, labels, onState, referrerPolicy, sandbox, src, timeoutMs, title, }: EmbedFrameProps): import("react").JSX.Element;
20
+ export declare function EmbedFrame(props: EmbedFrameProps): import("react").JSX.Element;
20
21
  export type { EmbedFrameLabels, EmbedFrameProps, EmbedFrameState };
21
22
  //# sourceMappingURL=embed-frame.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"embed-frame.d.ts","sourceRoot":"","sources":["../../../src/media/embed-frame.tsx"],"names":[],"mappings":"AAIA,KAAK,gBAAgB,GAAG;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IAC3C,cAAc,CAAC,EAAE,KAAK,CAAC,2BAA2B,CAAC;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,eAAe,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;AA+BrD,wBAAgB,UAAU,CAAC,EACvB,eAAe,EACf,WAAW,EACX,SAAS,EACT,MAAM,EACN,OAAO,EACP,cAAc,EACd,OAAO,EACP,GAAG,EACH,SAAS,EACT,KAAK,GACR,EAAE,eAAe,+BA6DjB;AAED,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"embed-frame.d.ts","sourceRoot":"","sources":["../../../src/media/embed-frame.tsx"],"names":[],"mappings":"AAKA,KAAK,gBAAgB,GAAG;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IAC3C,cAAc,CAAC,EAAE,KAAK,CAAC,2BAA2B,CAAC;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,eAAe,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;AAuJrD,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,+BAyBhD;AAED,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC"}
@@ -1,13 +1,22 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useEffect, useRef, useState } from "react";
3
3
  import { frontendClassName } from "../namespace/index.js";
4
+ import { fullscreenSupported, toggleFullscreen } from "../fullscreen/index.js";
4
5
  const DEFAULT_TIMEOUT_MS = 10000;
5
6
  const DEFAULT_LABELS = {
6
- error: "This content could not be loaded. It may be unreachable or taking too long to respond.",
7
+ error: "This content could not be loaded. It may be unreachable, or it may refuse to be embedded.",
8
+ fullscreen: "Toggle fullscreen",
7
9
  loading: "Loading…",
8
10
  };
9
- function WarningMark() {
10
- return (_jsx("svg", { viewBox: "0 0 24 24", width: "28", height: "28", "aria-hidden": "true", focusable: "false", children: _jsx("path", { d: "M12 3.2 1.8 20.8h20.4L12 3.2Zm0 5.6a1 1 0 0 1 1 1v4.6a1 1 0 0 1-2 0V9.8a1 1 0 0 1 1-1Zm0 8a1.2 1.2 0 1 1 0 2.4 1.2 1.2 0 0 1 0-2.4Z", fill: "currentColor" }) }));
11
+ const REMIX_PATHS = {
12
+ "error-warning-line": "M12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22Z"
13
+ + "M12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4C7.58172 4 4 7.58172 4 12C4 16.4183 7.58172 20 12 20Z"
14
+ + "M11 15H13V17H11V15ZM11 7H13V13H11V7Z",
15
+ "fullscreen-exit-line": "M18 7H22V9H16V3H18V7ZM8 9H2V7H6V3H8V9ZM18 17V21H16V15H22V17H18ZM8 15V21H6V17H2V15H8Z",
16
+ "fullscreen-line": "M8 3V5H4V9H2V3H8ZM2 21V15H4V19H8V21H2ZM22 21H16V19H20V15H22V21ZM22 9H20V5H16V3H22V9Z",
17
+ };
18
+ function RemixIcon({ className, name }) {
19
+ return (_jsx("svg", { viewBox: "0 0 24 24", className: className, width: "1em", height: "1em", fill: "currentColor", "aria-hidden": "true", focusable: "false", children: _jsx("path", { d: REMIX_PATHS[name] }) }));
11
20
  }
12
21
  function whenDocumentSettled(run) {
13
22
  if (typeof document === "undefined")
@@ -19,42 +28,87 @@ function whenDocumentSettled(run) {
19
28
  window.addEventListener("load", run, { once: true });
20
29
  return () => window.removeEventListener("load", run);
21
30
  }
22
- export function EmbedFrame({ allowFullScreen, aspectRatio, className, labels, onState, referrerPolicy, sandbox, src, timeoutMs, title, }) {
31
+ function EmbedStatus({ label, state }) {
32
+ return (_jsxs("div", { className: frontendClassName("embed-frame-status"), role: "status", children: [state === "error"
33
+ ? _jsx(RemixIcon, { name: "error-warning-line", className: frontendClassName("embed-frame-mark") })
34
+ : _jsx("div", { className: "loader-circle lg", "aria-hidden": "true" }), _jsx("p", { children: label })] }));
35
+ }
36
+ function FullscreenButton({ label, target }) {
37
+ const [active, setActive] = useState(false);
38
+ if (!fullscreenSupported())
39
+ return null;
40
+ return (_jsx("button", { type: "button", "aria-label": label, title: label, className: frontendClassName("embed-frame-fullscreen"), onClick: () => {
41
+ if (!target)
42
+ return;
43
+ toggleFullscreen(target);
44
+ setActive((value) => !value);
45
+ }, children: _jsx(RemixIcon, { name: active ? "fullscreen-exit-line" : "fullscreen-line" }) }));
46
+ }
47
+ function EmbedSurface({ props, refs }) {
48
+ if (typeof props.sandbox === "string") {
49
+ return (_jsx("iframe", { ref: refs.frameRef, allowFullScreen: props.allowFullScreen, loading: "lazy", referrerPolicy: props.referrerPolicy, sandbox: props.sandbox, title: props.title }));
50
+ }
51
+ return _jsx("object", { ref: refs.objectRef, type: "text/html", "aria-label": props.title });
52
+ }
53
+ function useEmbedLifecycle(props) {
54
+ const objectRef = useRef(null);
23
55
  const frameRef = useRef(null);
56
+ const report = useRef(props.onState);
24
57
  const settled = useRef(false);
25
58
  const [state, setState] = useState("loading");
26
- function settle(next) {
27
- if (settled.current)
28
- return;
29
- settled.current = true;
30
- setState(next);
31
- onState?.(next);
32
- }
59
+ const { src, timeoutMs } = props;
60
+ report.current = props.onState;
33
61
  useEffect(() => {
34
62
  let timer = 0;
35
63
  settled.current = false;
36
- const start = () => {
37
- const frame = frameRef.current;
38
- if (!frame)
64
+ setState("loading");
65
+ const target = objectRef.current || frameRef.current;
66
+ const settle = (next) => {
67
+ if (settled.current)
39
68
  return;
40
- frame.src = src;
41
- timer = window.setTimeout(() => {
42
- if (settled.current)
43
- return;
44
- settle("error");
45
- if (frameRef.current)
46
- frameRef.current.src = "about:blank";
47
- }, timeoutMs && timeoutMs > 0 ? timeoutMs : DEFAULT_TIMEOUT_MS);
69
+ settled.current = true;
70
+ setState(next);
71
+ report.current?.(next);
48
72
  };
73
+ const onLoad = () => {
74
+ window.clearTimeout(timer);
75
+ settle("ready");
76
+ };
77
+ const onError = () => {
78
+ if (settled.current)
79
+ return;
80
+ settle("error");
81
+ if (objectRef.current)
82
+ objectRef.current.removeAttribute("data");
83
+ if (frameRef.current)
84
+ frameRef.current.src = "about:blank";
85
+ };
86
+ const start = () => {
87
+ if (objectRef.current)
88
+ objectRef.current.data = src;
89
+ if (frameRef.current)
90
+ frameRef.current.src = src;
91
+ timer = window.setTimeout(onError, timeoutMs && timeoutMs > 0 ? timeoutMs : DEFAULT_TIMEOUT_MS);
92
+ };
93
+ target?.addEventListener("load", onLoad);
94
+ target?.addEventListener("error", onError);
49
95
  const stop = whenDocumentSettled(start);
50
96
  return () => {
51
97
  stop();
98
+ target?.removeEventListener("load", onLoad);
99
+ target?.removeEventListener("error", onError);
52
100
  window.clearTimeout(timer);
53
101
  };
54
102
  }, [src, timeoutMs]);
103
+ return { frameRef, objectRef, state };
104
+ }
105
+ export function EmbedFrame(props) {
106
+ const rootRef = useRef(null);
107
+ const { frameRef, objectRef, state } = useEmbedLifecycle(props);
108
+ const { allowFullScreen, aspectRatio, className, labels, sandbox } = props;
55
109
  const text = state === "error"
56
110
  ? labels?.error || DEFAULT_LABELS.error
57
111
  : labels?.loading || DEFAULT_LABELS.loading;
58
- return (_jsxs("div", { className: [frontendClassName("embed-frame"), className].filter(Boolean).join(" "), "data-embed-state": state, style: aspectRatio ? { aspectRatio } : undefined, children: [_jsx("iframe", { ref: frameRef, allowFullScreen: allowFullScreen, loading: "lazy", referrerPolicy: referrerPolicy, sandbox: sandbox, title: title, onLoad: () => settle("ready") }), state === "ready" ? null : (_jsxs("div", { className: frontendClassName("embed-frame-status"), role: "status", children: [state === "error" ? _jsx(WarningMark, {}) : _jsx("div", { className: "loader-circle lg", "aria-hidden": "true" }), _jsx("p", { children: text })] }))] }));
112
+ return (_jsxs("div", { ref: rootRef, className: [frontendClassName("embed-frame"), className].filter(Boolean).join(" "), "data-embed-state": state, style: aspectRatio ? { aspectRatio } : undefined, children: [_jsx(EmbedSurface, { props: props, refs: { frameRef, objectRef } }), state === "ready" ? null : _jsx(EmbedStatus, { label: text, state: state }), allowFullScreen && typeof sandbox !== "string" && state === "ready" ? (_jsx(FullscreenButton, { label: labels?.fullscreen || DEFAULT_LABELS.fullscreen, target: rootRef.current })) : null] }));
59
113
  }
60
114
  //# sourceMappingURL=embed-frame.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"embed-frame.js","sourceRoot":"","sources":["../../../src/media/embed-frame.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"embed-frame.js","sourceRoot":"","sources":["../../../src/media/embed-frame.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"map-embed.d.ts","sourceRoot":"","sources":["../../../src/media/map-embed.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAErE,KAAK,aAAa,GAAG;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,iBAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,aAAa,+BAY5E;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC;AACpB,YAAY,EAAE,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"map-embed.d.ts","sourceRoot":"","sources":["../../../src/media/map-embed.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAErE,KAAK,aAAa,GAAG;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,iBAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,aAAa,+BAW5E;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC;AACpB,YAAY,EAAE,aAAa,EAAE,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { EmbedFrame } from "./embed-frame.js";
3
3
  function MapEmbed({ className, labels, src, timeoutMs, title }) {
4
- return (_jsx(EmbedFrame, { allowFullScreen: true, className: className, labels: labels, referrerPolicy: "no-referrer-when-downgrade", src: src, timeoutMs: timeoutMs, title: title }));
4
+ return (_jsx(EmbedFrame, { allowFullScreen: true, className: className, labels: labels, src: src, timeoutMs: timeoutMs, title: title }));
5
5
  }
6
6
  export { MapEmbed };
7
7
  //# sourceMappingURL=map-embed.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"map-embed.js","sourceRoot":"","sources":["../../../src/media/map-embed.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAyB,MAAM,kBAAkB,CAAC;AAUrE,SAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAiB;IAC3E,OAAO,CACL,KAAC,UAAU,IACX,eAAe,QACf,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,cAAc,EAAC,4BAA4B,EAC3C,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,GACV,CACH,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}
1
+ {"version":3,"file":"map-embed.js","sourceRoot":"","sources":["../../../src/media/map-embed.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAyB,MAAM,kBAAkB,CAAC;AAUrE,SAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAiB;IAC3E,OAAO,CACL,KAAC,UAAU,IACX,eAAe,QACf,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,GACV,CACH,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}
@@ -34,3 +34,47 @@
34
34
  font-size: 0.95rem;
35
35
  line-height: 1.6;
36
36
  }
37
+
38
+ #{ns.class("embed-frame-mark")} {
39
+ font-size: 1.9rem;
40
+ line-height: 1;
41
+ }
42
+
43
+ #{ns.class("embed-frame-fullscreen")} {
44
+ position: absolute;
45
+ bottom: 0.6rem;
46
+ left: 0.6rem;
47
+ display: inline-flex;
48
+ align-items: center;
49
+ justify-content: center;
50
+ width: 2rem;
51
+ height: 2rem;
52
+ border: var(--border-width, var(#{ns.css-var("border-width")}, 1px)) solid
53
+ var(--border-surface-1, var(#{ns.css-var("border")}, currentColor));
54
+ border-radius: 999px;
55
+ background: var(--background-surface-1, var(#{ns.css-var("surface")}, transparent));
56
+ color: inherit;
57
+ cursor: pointer;
58
+ opacity: 0;
59
+ transition: opacity 0.2s ease;
60
+ }
61
+
62
+ #{ns.class("embed-frame")}:hover #{ns.class("embed-frame-fullscreen")},
63
+
64
+ #{ns.class("embed-frame")}:focus-within #{ns.class("embed-frame-fullscreen")} {
65
+ opacity: 0.8;
66
+ }
67
+
68
+ #{ns.class("embed-frame-fullscreen")}:hover,
69
+
70
+ #{ns.class("embed-frame-fullscreen")}:focus-visible {
71
+ opacity: 1;
72
+ }
73
+
74
+ #{ns.class("embed-frame")} object {
75
+ position: absolute;
76
+ inset: 0;
77
+ width: 100%;
78
+ height: 100%;
79
+ border: 0;
80
+ }
@@ -1,5 +1,6 @@
1
1
  type EmbedFrameLabels = {
2
2
  error?: string;
3
+ fullscreen?: string;
3
4
  loading?: string;
4
5
  open?: string;
5
6
  };
@@ -16,6 +17,6 @@ type EmbedFrameProps = {
16
17
  title: string;
17
18
  };
18
19
  type EmbedFrameState = "error" | "loading" | "ready";
19
- export declare function EmbedFrame({ allowFullScreen, aspectRatio, className, labels, onState, referrerPolicy, sandbox, src, timeoutMs, title, }: EmbedFrameProps): import("react").JSX.Element;
20
+ export declare function EmbedFrame(props: EmbedFrameProps): import("react").JSX.Element;
20
21
  export type { EmbedFrameLabels, EmbedFrameProps, EmbedFrameState };
21
22
  //# sourceMappingURL=embed-frame.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"embed-frame.d.ts","sourceRoot":"","sources":["../../../src/media/embed-frame.tsx"],"names":[],"mappings":"AAIA,KAAK,gBAAgB,GAAG;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IAC3C,cAAc,CAAC,EAAE,KAAK,CAAC,2BAA2B,CAAC;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,eAAe,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;AA+BrD,wBAAgB,UAAU,CAAC,EACvB,eAAe,EACf,WAAW,EACX,SAAS,EACT,MAAM,EACN,OAAO,EACP,cAAc,EACd,OAAO,EACP,GAAG,EACH,SAAS,EACT,KAAK,GACR,EAAE,eAAe,+BA6DjB;AAED,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"embed-frame.d.ts","sourceRoot":"","sources":["../../../src/media/embed-frame.tsx"],"names":[],"mappings":"AAKA,KAAK,gBAAgB,GAAG;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IAC3C,cAAc,CAAC,EAAE,KAAK,CAAC,2BAA2B,CAAC;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,eAAe,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;AAuJrD,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,+BAyBhD;AAED,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC"}
@@ -1,13 +1,22 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useEffect, useRef, useState } from "react";
3
3
  import { frontendClassName } from "../../namespace/index.js";
4
+ import { fullscreenSupported, toggleFullscreen } from "../../fullscreen/index.js";
4
5
  const DEFAULT_TIMEOUT_MS = 10000;
5
6
  const DEFAULT_LABELS = {
6
- error: "This content could not be loaded. It may be unreachable or taking too long to respond.",
7
+ error: "This content could not be loaded. It may be unreachable, or it may refuse to be embedded.",
8
+ fullscreen: "Toggle fullscreen",
7
9
  loading: "Loading…",
8
10
  };
9
- function WarningMark() {
10
- return (_jsx("svg", { viewBox: "0 0 24 24", width: "28", height: "28", "aria-hidden": "true", focusable: "false", children: _jsx("path", { d: "M12 3.2 1.8 20.8h20.4L12 3.2Zm0 5.6a1 1 0 0 1 1 1v4.6a1 1 0 0 1-2 0V9.8a1 1 0 0 1 1-1Zm0 8a1.2 1.2 0 1 1 0 2.4 1.2 1.2 0 0 1 0-2.4Z", fill: "currentColor" }) }));
11
+ const REMIX_PATHS = {
12
+ "error-warning-line": "M12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22Z"
13
+ + "M12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4C7.58172 4 4 7.58172 4 12C4 16.4183 7.58172 20 12 20Z"
14
+ + "M11 15H13V17H11V15ZM11 7H13V13H11V7Z",
15
+ "fullscreen-exit-line": "M18 7H22V9H16V3H18V7ZM8 9H2V7H6V3H8V9ZM18 17V21H16V15H22V17H18ZM8 15V21H6V17H2V15H8Z",
16
+ "fullscreen-line": "M8 3V5H4V9H2V3H8ZM2 21V15H4V19H8V21H2ZM22 21H16V19H20V15H22V21ZM22 9H20V5H16V3H22V9Z",
17
+ };
18
+ function RemixIcon({ className, name }) {
19
+ return (_jsx("svg", { viewBox: "0 0 24 24", className: className, width: "1em", height: "1em", fill: "currentColor", "aria-hidden": "true", focusable: "false", children: _jsx("path", { d: REMIX_PATHS[name] }) }));
11
20
  }
12
21
  function whenDocumentSettled(run) {
13
22
  if (typeof document === "undefined")
@@ -19,42 +28,87 @@ function whenDocumentSettled(run) {
19
28
  window.addEventListener("load", run, { once: true });
20
29
  return () => window.removeEventListener("load", run);
21
30
  }
22
- export function EmbedFrame({ allowFullScreen, aspectRatio, className, labels, onState, referrerPolicy, sandbox, src, timeoutMs, title, }) {
31
+ function EmbedStatus({ label, state }) {
32
+ return (_jsxs("div", { className: frontendClassName("embed-frame-status"), role: "status", children: [state === "error"
33
+ ? _jsx(RemixIcon, { name: "error-warning-line", className: frontendClassName("embed-frame-mark") })
34
+ : _jsx("div", { className: "loader-circle lg", "aria-hidden": "true" }), _jsx("p", { children: label })] }));
35
+ }
36
+ function FullscreenButton({ label, target }) {
37
+ const [active, setActive] = useState(false);
38
+ if (!fullscreenSupported())
39
+ return null;
40
+ return (_jsx("button", { type: "button", "aria-label": label, title: label, className: frontendClassName("embed-frame-fullscreen"), onClick: () => {
41
+ if (!target)
42
+ return;
43
+ toggleFullscreen(target);
44
+ setActive((value) => !value);
45
+ }, children: _jsx(RemixIcon, { name: active ? "fullscreen-exit-line" : "fullscreen-line" }) }));
46
+ }
47
+ function EmbedSurface({ props, refs }) {
48
+ if (typeof props.sandbox === "string") {
49
+ return (_jsx("iframe", { ref: refs.frameRef, allowFullScreen: props.allowFullScreen, loading: "lazy", referrerPolicy: props.referrerPolicy, sandbox: props.sandbox, title: props.title }));
50
+ }
51
+ return _jsx("object", { ref: refs.objectRef, type: "text/html", "aria-label": props.title });
52
+ }
53
+ function useEmbedLifecycle(props) {
54
+ const objectRef = useRef(null);
23
55
  const frameRef = useRef(null);
56
+ const report = useRef(props.onState);
24
57
  const settled = useRef(false);
25
58
  const [state, setState] = useState("loading");
26
- function settle(next) {
27
- if (settled.current)
28
- return;
29
- settled.current = true;
30
- setState(next);
31
- onState?.(next);
32
- }
59
+ const { src, timeoutMs } = props;
60
+ report.current = props.onState;
33
61
  useEffect(() => {
34
62
  let timer = 0;
35
63
  settled.current = false;
36
- const start = () => {
37
- const frame = frameRef.current;
38
- if (!frame)
64
+ setState("loading");
65
+ const target = objectRef.current || frameRef.current;
66
+ const settle = (next) => {
67
+ if (settled.current)
39
68
  return;
40
- frame.src = src;
41
- timer = window.setTimeout(() => {
42
- if (settled.current)
43
- return;
44
- settle("error");
45
- if (frameRef.current)
46
- frameRef.current.src = "about:blank";
47
- }, timeoutMs && timeoutMs > 0 ? timeoutMs : DEFAULT_TIMEOUT_MS);
69
+ settled.current = true;
70
+ setState(next);
71
+ report.current?.(next);
48
72
  };
73
+ const onLoad = () => {
74
+ window.clearTimeout(timer);
75
+ settle("ready");
76
+ };
77
+ const onError = () => {
78
+ if (settled.current)
79
+ return;
80
+ settle("error");
81
+ if (objectRef.current)
82
+ objectRef.current.removeAttribute("data");
83
+ if (frameRef.current)
84
+ frameRef.current.src = "about:blank";
85
+ };
86
+ const start = () => {
87
+ if (objectRef.current)
88
+ objectRef.current.data = src;
89
+ if (frameRef.current)
90
+ frameRef.current.src = src;
91
+ timer = window.setTimeout(onError, timeoutMs && timeoutMs > 0 ? timeoutMs : DEFAULT_TIMEOUT_MS);
92
+ };
93
+ target?.addEventListener("load", onLoad);
94
+ target?.addEventListener("error", onError);
49
95
  const stop = whenDocumentSettled(start);
50
96
  return () => {
51
97
  stop();
98
+ target?.removeEventListener("load", onLoad);
99
+ target?.removeEventListener("error", onError);
52
100
  window.clearTimeout(timer);
53
101
  };
54
102
  }, [src, timeoutMs]);
103
+ return { frameRef, objectRef, state };
104
+ }
105
+ export function EmbedFrame(props) {
106
+ const rootRef = useRef(null);
107
+ const { frameRef, objectRef, state } = useEmbedLifecycle(props);
108
+ const { allowFullScreen, aspectRatio, className, labels, sandbox } = props;
55
109
  const text = state === "error"
56
110
  ? labels?.error || DEFAULT_LABELS.error
57
111
  : labels?.loading || DEFAULT_LABELS.loading;
58
- return (_jsxs("div", { className: [frontendClassName("embed-frame"), className].filter(Boolean).join(" "), "data-embed-state": state, style: aspectRatio ? { aspectRatio } : undefined, children: [_jsx("iframe", { ref: frameRef, allowFullScreen: allowFullScreen, loading: "lazy", referrerPolicy: referrerPolicy, sandbox: sandbox, title: title, onLoad: () => settle("ready") }), state === "ready" ? null : (_jsxs("div", { className: frontendClassName("embed-frame-status"), role: "status", children: [state === "error" ? _jsx(WarningMark, {}) : _jsx("div", { className: "loader-circle lg", "aria-hidden": "true" }), _jsx("p", { children: text })] }))] }));
112
+ return (_jsxs("div", { ref: rootRef, className: [frontendClassName("embed-frame"), className].filter(Boolean).join(" "), "data-embed-state": state, style: aspectRatio ? { aspectRatio } : undefined, children: [_jsx(EmbedSurface, { props: props, refs: { frameRef, objectRef } }), state === "ready" ? null : _jsx(EmbedStatus, { label: text, state: state }), allowFullScreen && typeof sandbox !== "string" && state === "ready" ? (_jsx(FullscreenButton, { label: labels?.fullscreen || DEFAULT_LABELS.fullscreen, target: rootRef.current })) : null] }));
59
113
  }
60
114
  //# sourceMappingURL=embed-frame.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"embed-frame.js","sourceRoot":"","sources":["../../../src/media/embed-frame.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"embed-frame.js","sourceRoot":"","sources":["../../../src/media/embed-frame.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"map-embed.d.ts","sourceRoot":"","sources":["../../../src/media/map-embed.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAErE,KAAK,aAAa,GAAG;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,iBAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,aAAa,+BAY5E;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC;AACpB,YAAY,EAAE,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"map-embed.d.ts","sourceRoot":"","sources":["../../../src/media/map-embed.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAErE,KAAK,aAAa,GAAG;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,iBAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,aAAa,+BAW5E;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC;AACpB,YAAY,EAAE,aAAa,EAAE,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { EmbedFrame } from "./embed-frame.js";
3
3
  function MapEmbed({ className, labels, src, timeoutMs, title }) {
4
- return (_jsx(EmbedFrame, { allowFullScreen: true, className: className, labels: labels, referrerPolicy: "no-referrer-when-downgrade", src: src, timeoutMs: timeoutMs, title: title }));
4
+ return (_jsx(EmbedFrame, { allowFullScreen: true, className: className, labels: labels, src: src, timeoutMs: timeoutMs, title: title }));
5
5
  }
6
6
  export { MapEmbed };
7
7
  //# sourceMappingURL=map-embed.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"map-embed.js","sourceRoot":"","sources":["../../../src/media/map-embed.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAyB,MAAM,kBAAkB,CAAC;AAUrE,SAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAiB;IAC3E,OAAO,CACL,KAAC,UAAU,IACX,eAAe,QACf,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,cAAc,EAAC,4BAA4B,EAC3C,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,GACV,CACH,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}
1
+ {"version":3,"file":"map-embed.js","sourceRoot":"","sources":["../../../src/media/map-embed.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAyB,MAAM,kBAAkB,CAAC;AAUrE,SAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAiB;IAC3E,OAAO,CACL,KAAC,UAAU,IACX,eAAe,QACf,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,GACV,CACH,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  }
9
9
  },
10
10
  "name": "@trebired/frontend",
11
- "version": "13.20.0",
11
+ "version": "13.21.1",
12
12
  "description": "Generic browser runtime systems for Trebired frontend packages and applications.",
13
13
  "type": "module",
14
14
  "private": false,