@iframe-resizer/child 6.0.0-beta.2 → 6.0.0-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.d.ts ADDED
@@ -0,0 +1,94 @@
1
+ /**
2
+ * Type definitions for @iframe-resizer/child
3
+ */
4
+
5
+ /** Configuration options set via window.iframeResizer before loading the child script. */
6
+ export interface PageOptions {
7
+ /** Restrict which elements are checked for resizing. */
8
+ ignoreSelector?: string
9
+ /** Offset added to the calculated size. */
10
+ offsetSize?: number
11
+ /** CSS selector for elements to use for size calculation. */
12
+ sizeSelector?: string
13
+ /** Restrict which parent origins can communicate with the iframe. */
14
+ targetOrigin?: string | string[]
15
+ /** Called before new size is set. Return a number to modify the new size. */
16
+ onBeforeResize?(newSize: number): number
17
+ /** Receive message posted from the parent page. */
18
+ onMessage?(message: any): void
19
+ /** Called once iframe-resizer has been initialized. */
20
+ onReady?(): void
21
+ }
22
+
23
+ /** Parent page properties returned by getParentProps(). */
24
+ export interface ParentProps {
25
+ /** Values from iframe.getBoundingClientRect() */
26
+ iframe: {
27
+ x: number
28
+ y: number
29
+ width: number
30
+ height: number
31
+ top: number
32
+ right: number
33
+ bottom: number
34
+ left: number
35
+ }
36
+ /** Document scroll dimensions */
37
+ document: {
38
+ scrollWidth: number
39
+ scrollHeight: number
40
+ }
41
+ /** Visual viewport properties */
42
+ viewport: {
43
+ width: number
44
+ height: number
45
+ offsetLeft: number
46
+ offsetTop: number
47
+ pageLeft: number
48
+ pageTop: number
49
+ scale: number
50
+ }
51
+ }
52
+
53
+ /** Child public API available at window.parentIframe. */
54
+ export interface ParentIframe {
55
+ /** Turn autoResizing of the iframe on and off. Returns current state. */
56
+ autoResize(resize?: boolean): boolean
57
+ /** Remove the iframe from the parent page. */
58
+ close(): void
59
+ /** Returns the ID of the iframe. */
60
+ getId(): string
61
+ /** Returns the origin of the parent page. */
62
+ getParentOrigin(): string
63
+ /**
64
+ * Request parent page properties. Your callback is recalled on
65
+ * parent scroll/resize. Returns an unsubscribe function.
66
+ */
67
+ getParentProps(callback: (data: ParentProps) => void): () => void
68
+ /** Move to anchor in parent page. */
69
+ moveToAnchor(hash: string): void
70
+ /**
71
+ * Manually force iframe to resize. Disable autoResize first to use
72
+ * passed arguments. Enable sizeWidth to set the width.
73
+ */
74
+ resize(customHeight?: number, customWidth?: number): void
75
+ /** Scroll the parent page by x and y. */
76
+ scrollBy(x: number, y: number): void
77
+ /** Scroll the parent page to the coordinates x and y. */
78
+ scrollTo(x: number, y: number): void
79
+ /** Scroll the parent page to x and y relative to the iframe position. */
80
+ scrollToOffset(x: number, y: number): void
81
+ /** Send data to the containing page. */
82
+ sendMessage(message: any, targetOrigin?: string): void
83
+ /** Set offset added to the calculated size. */
84
+ setOffsetSize(offsetSize: number): void
85
+ /** Set default target origin for postMessage. */
86
+ setTargetOrigin(targetOrigin: string): void
87
+ }
88
+
89
+ declare global {
90
+ interface Window {
91
+ iframeResizer: PageOptions
92
+ parentIframe: ParentIframe
93
+ }
94
+ }