@lemonadejs/modal 2.7.0 → 2.7.2

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.
Files changed (2) hide show
  1. package/dist/index.js +34 -22
  2. package/package.json +2 -2
package/dist/index.js CHANGED
@@ -215,10 +215,8 @@ if (!lemonade && typeof (require) === 'function') {
215
215
  // Minimize modals
216
216
  minimizedModals.push(self);
217
217
 
218
- let rect = self.el.getBoundingClientRect();
219
-
220
- self.el.top = rect.top;
221
- self.el.left = rect.left;
218
+ self.el.top = self.el.offsetTop;
219
+ self.el.left = self.el.offsetLeft;
222
220
 
223
221
  if (! self.el.style.top) {
224
222
  self.el.style.top = self.el.top + 'px';
@@ -259,13 +257,13 @@ if (!lemonade && typeof (require) === 'function') {
259
257
 
260
258
  const removeMargin = function(self) {
261
259
  if (self.el.style.marginLeft) {
262
- let y = self.left + parseInt(self.el.style.marginLeft);
260
+ let y = self.el.offsetLeft;
263
261
  self.el.style.marginLeft = '';
264
262
  self.left = y;
265
263
  }
266
264
 
267
265
  if (self.el.style.marginTop) {
268
- let x = self.top + parseInt(self.el.style.marginTop);
266
+ let x = self.el.offsetTop;
269
267
  self.el.style.marginTop = '';
270
268
  self.top = x;
271
269
  }
@@ -277,25 +275,32 @@ if (!lemonade && typeof (require) === 'function') {
277
275
  }
278
276
 
279
277
  self.el.style.marginLeft = '';
280
- let rect = self.el.getBoundingClientRect();
281
278
  let viewportWidth = window.innerWidth;
282
279
  let margin = 10;
283
280
 
284
281
  if (self.position) {
285
282
  if (self.position === 'absolute') {
286
- viewportWidth = document.documentElement.clientWidth;
287
- } else {
283
+ viewportWidth = document.documentElement.offsetWidth;
284
+ } else if (self.position !== 'center') {
288
285
  margin = 0;
289
286
  }
290
287
  }
291
288
 
292
- let rightEdgeDistance = viewportWidth - (rect.right);
289
+ let rightEdgeDistance = viewportWidth - (self.el.offsetLeft + self.el.offsetWidth);
293
290
  let transformX = 0;
294
- if (rightEdgeDistance < margin) {
295
- transformX = rightEdgeDistance - margin;
291
+
292
+ if (self.position === 'absolute') {
293
+ if (rightEdgeDistance < 5) {
294
+ transformX = (-1 * self.el.offsetWidth) - margin;
295
+ }
296
+ } else {
297
+ if (rightEdgeDistance < 0) {
298
+ transformX = rightEdgeDistance - margin;
299
+ }
296
300
  }
297
- if (rect.left < margin) {
298
- transformX = margin - rect.left;
301
+
302
+ if (self.el.offsetLeft < 0) {
303
+ transformX = margin - self.el.offsetLeft;
299
304
  }
300
305
  if (transformX !== 0) {
301
306
  self.el.style.marginLeft = transformX + 'px';
@@ -308,25 +313,32 @@ if (!lemonade && typeof (require) === 'function') {
308
313
  }
309
314
 
310
315
  self.el.style.marginTop = '';
311
- let rect = self.el.getBoundingClientRect();
312
316
  let viewportHeight = window.innerHeight;
313
317
  let margin = 10;
314
318
 
315
319
  if (self.position) {
316
320
  if (self.position === 'absolute') {
317
- viewportHeight = document.documentElement.clientHeight;
318
- } else {
321
+ viewportHeight = document.documentElement.offsetHeight;
322
+ } else if (self.position !== 'center') {
319
323
  margin = 0;
320
324
  }
321
325
  }
322
326
 
323
- let bottomEdgeDistance = viewportHeight - (rect.bottom);
327
+ let bottomEdgeDistance = viewportHeight - (self.el.offsetTop + self.el.offsetHeight);
324
328
  let transformY = 0;
325
- if (bottomEdgeDistance < margin) {
326
- transformY = bottomEdgeDistance - margin;
329
+
330
+ if (self.position === 'absolute') {
331
+ if (bottomEdgeDistance < 5) {
332
+ transformY = (-1 * self.el.offsetHeight) - margin;
333
+ }
334
+ } else {
335
+ if (bottomEdgeDistance < 0) {
336
+ transformY = bottomEdgeDistance - margin;
337
+ }
327
338
  }
328
- if (rect.top < margin) {
329
- transformY = margin - rect.top;
339
+
340
+ if (self.el.offsetTop < 0) {
341
+ transformY = margin - self.el.offsetTop;
330
342
  }
331
343
  if (transformY !== 0) {
332
344
  self.el.style.marginTop = transformY + 'px';
package/package.json CHANGED
@@ -13,9 +13,9 @@
13
13
  "modal js"
14
14
  ],
15
15
  "dependencies": {
16
- "lemonadejs": "^4.0.7"
16
+ "lemonadejs": "^4.1.1"
17
17
  },
18
18
  "main": "dist/index.js",
19
19
  "types": "dist/index.d.ts",
20
- "version": "2.7.0"
20
+ "version": "2.7.2"
21
21
  }