File tree 3 files changed +32
-0
lines changed
3 files changed +32
-0
lines changed Original file line number Diff line number Diff line change @@ -7,6 +7,7 @@ Notable changes to this project are documented in this file. The format is based
7
7
Breaking changes:
8
8
- Migrate FFI to ES modules (#51 by @JordanMartinez )
9
9
- Unwrap returned ` Effect ` for ` doctype ` (#52 by @JordanMartinez )
10
+ - Port ` getBoundingClientRect ` from ` web-html ` ; set arg to ` Element ` (#53 by @JordanMartinez )
10
11
11
12
New features:
12
13
Original file line number Diff line number Diff line change @@ -185,6 +185,22 @@ export function clientHeight(el) {
185
185
} ;
186
186
}
187
187
188
+ export function getBoundingClientRect ( el ) {
189
+ return function ( ) {
190
+ var rect = el . getBoundingClientRect ( ) ;
191
+ return {
192
+ top : rect . top ,
193
+ right : rect . right ,
194
+ bottom : rect . bottom ,
195
+ left : rect . left ,
196
+ width : rect . width ,
197
+ height : rect . height ,
198
+ x : rect . x ,
199
+ y : rect . y
200
+ } ;
201
+ } ;
202
+ }
203
+
188
204
export function _attachShadow ( props ) {
189
205
return function ( el ) {
190
206
return function ( ) {
Original file line number Diff line number Diff line change @@ -38,6 +38,8 @@ module Web.DOM.Element
38
38
, clientLeft
39
39
, clientWidth
40
40
, clientHeight
41
+ , getBoundingClientRect
42
+ , DOMRect
41
43
, ShadowRootInit
42
44
, attachShadow
43
45
) where
@@ -144,6 +146,19 @@ foreign import clientLeft :: Element -> Effect Number
144
146
foreign import clientWidth :: Element -> Effect Number
145
147
foreign import clientHeight :: Element -> Effect Number
146
148
149
+ type DOMRect =
150
+ { top :: Number
151
+ , right :: Number
152
+ , bottom :: Number
153
+ , left :: Number
154
+ , width :: Number
155
+ , height :: Number
156
+ , x :: Number
157
+ , y :: Number
158
+ }
159
+
160
+ foreign import getBoundingClientRect :: Element -> Effect DOMRect
161
+
147
162
type ShadowRootInit = {
148
163
mode :: ShadowRootMode ,
149
164
delegatesFocus :: Boolean
You can’t perform that action at this time.
0 commit comments