@social-mail/social-mail-client 1.2.453 → 1.2.455

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.
@@ -1976,7 +1976,7 @@ const UMD = new UMDClass();
1976
1976
 
1977
1977
  AmdLoader.instance.register(
1978
1978
  ["@social-mail/social-mail-client","@web-atoms/core","reflect-metadata","@web-atoms/date-time","@web-atoms/entity","@web-atoms/web-controls","@web-atoms/data-styles"],
1979
- ["@social-mail/social-mail-client/dist/public/store/Store","@social-mail/social-mail-client/dist/public/store/StoreItemDetailView","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/core/AtomBinder","@web-atoms/core/dist/core/types","reflect-metadata","@web-atoms/core/dist/core/AtomMap","@web-atoms/core/dist/core/AtomComponent","@web-atoms/core/dist/App","@web-atoms/core/dist/core/AtomDispatcher","@web-atoms/core/dist/di/RegisterSingleton","@web-atoms/core/dist/di/Register","@web-atoms/core/dist/di/ServiceCollection","@web-atoms/core/dist/di/TypeKey","@web-atoms/core/dist/di/ServiceProvider","@web-atoms/core/dist/core/TransientDisposable","@web-atoms/core/dist/di/Inject","@web-atoms/core/dist/services/BusyIndicatorService","@web-atoms/core/dist/core/AtomDisposableList","@web-atoms/core/dist/core/AtomWatcher","@web-atoms/core/dist/core/ExpressionParser","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/Hacks","@web-atoms/core/dist/web/core/AtomUI","@web-atoms/core/dist/core/InheritedProperty","@web-atoms/core/dist/core/PropertyMap","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/Command","@web-atoms/core/dist/core/EventScope","@web-atoms/date-time/dist/DateTime","@web-atoms/date-time/dist/TimeSpan","@web-atoms/core/dist/core/Route","@web-atoms/core/dist/core/StringHelper","@web-atoms/core/dist/core/FormattedString","@web-atoms/core/dist/core/WebImage","@web-atoms/core/dist/web/styles/AtomStyle","@web-atoms/core/dist/web/styles/AtomStyleSheet","@social-mail/social-mail-client/dist/services/EntityService","@web-atoms/core/dist/di/DISingleton","@web-atoms/entity/dist/services/BaseEntityService","@web-atoms/entity/dist/models/Cloner","@web-atoms/entity/dist/models/cloneSource","@web-atoms/entity/dist/models/IEntityModel","@web-atoms/entity/dist/services/HttpSession","@web-atoms/core/dist/services/http/JsonError","@web-atoms/entity/dist/models/TaskManager","@web-atoms/entity/dist/models/Queue","@web-atoms/entity/dist/services/mergeProperties","@web-atoms/entity/dist/services/Query","@web-atoms/entity/dist/services/StringHelper","@web-atoms/entity/dist/services/resolve","@social-mail/social-mail-client/dist/services/BusyProgress","@web-atoms/core/dist/style/styled","@social-mail/social-mail-client/dist/common/apiPath","@social-mail/social-mail-client/dist/model/model","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/core/Colors","@web-atoms/core/dist/core/WatchProperty","@web-atoms/core/dist/web/services/PopupService","@web-atoms/core/dist/web/services/PopupWindow","@web-atoms/core/dist/core/sleep","@web-atoms/web-controls/dist/basic/InlinePopup","@web-atoms/web-controls/dist/basic/styles/inline-popup-style","@web-atoms/web-controls/dist/basic/MergeNode","@web-atoms/web-controls/dist/basic/ItemPath","@web-atoms/web-controls/dist/basic/styles/ui-display-none-style","@web-atoms/web-controls/dist/basic/styles/popup-style","@web-atoms/web-controls/dist/basic/styles/suggestion-popup","@web-atoms/web-controls/dist/basic/styles/repeater-style","@web-atoms/web-controls/dist/DataAttributes","@web-atoms/web-controls/dist/basic/PinchZoomView","@web-atoms/web-controls/dist/basic/styles/pinch-zoom-view-style","@social-mail/social-mail-client/dist/common/fileUrl","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/services/NavigationService","@web-atoms/core/dist/core/AtomUri","@web-atoms/core/dist/services/ReferenceService","@web-atoms/core/dist/services/FetchBuilder","@social-mail/social-mail-client/dist/common/currency","@web-atoms/web-controls/dist/basic/ToggleButtonBar","@web-atoms/web-controls/dist/basic/styles/toggle-button-bar-style","@social-mail/social-mail-client/dist/public/store/StoreItemListView","@social-mail/social-mail-client/dist/common/controls/repeater/InfiniteRepeater","@social-mail/social-mail-client/dist/common/Sql","@social-mail/social-mail-client/dist/public/store/storeItemLink","@social-mail/social-mail-client/dist/common/toBase36","@social-mail/social-mail-client/dist/style/GlobalStyle","@web-atoms/core/dist/core/AtomList","@social-mail/social-mail-client/dist/style/OverrideAppStyle","@web-atoms/data-styles/data-styles","@web-atoms/core/dist/Pack","@web-atoms/core/dist/web/WebApp","@web-atoms/core/dist/core/AtomOnce","@web-atoms/core/dist/web/services/WebBusyIndicatorService","@web-atoms/core/dist/web/styles/StyleBuilder","@web-atoms/core/dist/web/services/WindowService","@web-atoms/core/dist/Atom","@web-atoms/core/dist/core/AtomLoader","@web-atoms/core/dist/services/JsonService","@web-atoms/core/dist/core/FormattedError","@web-atoms/core/dist/view-model/AtomWindowViewModel","@web-atoms/core/dist/view-model/AtomViewModel","@web-atoms/core/dist/view-model/baseTypes","@web-atoms/core/dist/web/controls/AtomAlertWindow","@web-atoms/core/dist/web/styles/AtomAlertWindowStyle","@web-atoms/core/dist/web/styles/AtomWindowStyle","@web-atoms/core/src/web/images/close-button-hover.svg","@web-atoms/core/dist/web/controls/AtomWindow","@web-atoms/core/dist/web/controls/AtomTemplate","@web-atoms/core/dist/web/controls/AtomNotification","@web-atoms/core/dist/web/styles/AtomNotificationStyle","@web-atoms/core/dist/web/styles/AtomPopupStyle","@web-atoms/core/dist/web/services/NotificationPopup","@web-atoms/core/dist/web/styles/AtomTheme"]);
1979
+ ["@social-mail/social-mail-client/dist/public/store/Store","@social-mail/social-mail-client/dist/public/store/StoreItemDetailView","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/core/AtomBinder","@web-atoms/core/dist/core/types","reflect-metadata","@web-atoms/core/dist/core/AtomMap","@web-atoms/core/dist/core/AtomComponent","@web-atoms/core/dist/App","@web-atoms/core/dist/core/AtomDispatcher","@web-atoms/core/dist/di/RegisterSingleton","@web-atoms/core/dist/di/Register","@web-atoms/core/dist/di/ServiceCollection","@web-atoms/core/dist/di/TypeKey","@web-atoms/core/dist/di/ServiceProvider","@web-atoms/core/dist/core/TransientDisposable","@web-atoms/core/dist/di/Inject","@web-atoms/core/dist/services/BusyIndicatorService","@web-atoms/core/dist/core/AtomDisposableList","@web-atoms/core/dist/core/AtomWatcher","@web-atoms/core/dist/core/ExpressionParser","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/Hacks","@web-atoms/core/dist/web/core/AtomUI","@web-atoms/core/dist/core/InheritedProperty","@web-atoms/core/dist/core/PropertyMap","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/Command","@web-atoms/core/dist/core/EventScope","@web-atoms/date-time/dist/DateTime","@web-atoms/date-time/dist/TimeSpan","@web-atoms/core/dist/core/Route","@web-atoms/core/dist/core/StringHelper","@web-atoms/core/dist/core/FormattedString","@web-atoms/core/dist/core/WebImage","@web-atoms/core/dist/web/styles/AtomStyle","@web-atoms/core/dist/web/styles/AtomStyleSheet","@social-mail/social-mail-client/dist/services/EntityService","@web-atoms/core/dist/di/DISingleton","@web-atoms/entity/dist/services/BaseEntityService","@web-atoms/entity/dist/models/Cloner","@web-atoms/entity/dist/models/cloneSource","@web-atoms/entity/dist/models/IEntityModel","@web-atoms/entity/dist/services/HttpSession","@web-atoms/core/dist/services/http/JsonError","@web-atoms/entity/dist/models/TaskManager","@web-atoms/entity/dist/models/Queue","@web-atoms/entity/dist/services/mergeProperties","@web-atoms/entity/dist/services/Query","@web-atoms/entity/dist/services/StringHelper","@web-atoms/entity/dist/services/resolve","@social-mail/social-mail-client/dist/services/BusyProgress","@web-atoms/core/dist/style/styled","@social-mail/social-mail-client/dist/common/apiPath","@social-mail/social-mail-client/dist/model/model","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/core/Colors","@web-atoms/core/dist/core/WatchProperty","@web-atoms/core/dist/web/services/PopupService","@web-atoms/core/dist/web/services/PopupWindow","@web-atoms/core/dist/core/sleep","@web-atoms/web-controls/dist/basic/InlinePopup","@web-atoms/web-controls/dist/basic/styles/inline-popup-style","@web-atoms/web-controls/dist/basic/MergeNode","@web-atoms/web-controls/dist/basic/ItemPath","@web-atoms/web-controls/dist/basic/styles/ui-display-none-style","@web-atoms/web-controls/dist/basic/styles/popup-style","@web-atoms/web-controls/dist/basic/styles/suggestion-popup","@web-atoms/web-controls/dist/basic/styles/repeater-style","@web-atoms/web-controls/dist/DataAttributes","@web-atoms/web-controls/dist/basic/ZoomView","@web-atoms/web-controls/dist/basic/styles/zoom-view-style","@social-mail/social-mail-client/dist/common/fileUrl","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/services/NavigationService","@web-atoms/core/dist/core/AtomUri","@web-atoms/core/dist/services/ReferenceService","@web-atoms/core/dist/services/FetchBuilder","@social-mail/social-mail-client/dist/common/currency","@web-atoms/web-controls/dist/basic/ToggleButtonBar","@web-atoms/web-controls/dist/basic/styles/toggle-button-bar-style","@social-mail/social-mail-client/dist/public/store/StoreItemListView","@social-mail/social-mail-client/dist/common/controls/repeater/InfiniteRepeater","@social-mail/social-mail-client/dist/common/Sql","@social-mail/social-mail-client/dist/public/store/storeItemLink","@social-mail/social-mail-client/dist/common/toBase36","@social-mail/social-mail-client/dist/style/GlobalStyle","@web-atoms/core/dist/core/AtomList","@social-mail/social-mail-client/dist/style/OverrideAppStyle","@web-atoms/data-styles/data-styles","@web-atoms/core/dist/Pack","@web-atoms/core/dist/web/WebApp","@web-atoms/core/dist/core/AtomOnce","@web-atoms/core/dist/web/services/WebBusyIndicatorService","@web-atoms/core/dist/web/styles/StyleBuilder","@web-atoms/core/dist/web/services/WindowService","@web-atoms/core/dist/Atom","@web-atoms/core/dist/core/AtomLoader","@web-atoms/core/dist/services/JsonService","@web-atoms/core/dist/core/FormattedError","@web-atoms/core/dist/view-model/AtomWindowViewModel","@web-atoms/core/dist/view-model/AtomViewModel","@web-atoms/core/dist/view-model/baseTypes","@web-atoms/core/dist/web/controls/AtomAlertWindow","@web-atoms/core/dist/web/styles/AtomAlertWindowStyle","@web-atoms/core/dist/web/styles/AtomWindowStyle","@web-atoms/core/src/web/images/close-button-hover.svg","@web-atoms/core/dist/web/controls/AtomWindow","@web-atoms/core/dist/web/controls/AtomTemplate","@web-atoms/core/dist/web/controls/AtomNotification","@web-atoms/core/dist/web/styles/AtomNotificationStyle","@web-atoms/core/dist/web/styles/AtomPopupStyle","@web-atoms/core/dist/web/services/NotificationPopup","@web-atoms/core/dist/web/styles/AtomTheme"]);
1980
1980
 
1981
1981
  System.register([], function (_export, _context) {
1982
1982
  "use strict";
@@ -18110,13 +18110,38 @@ System.register(["@web-atoms/core/dist/style/styled"], function (_export, _conte
18110
18110
  svg = svgAsCssDataUrl(`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Pro 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2024 Fonticons, Inc.--><path d="M502.6 54.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L336 130.7 336 80c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 128c0 17.7 14.3 32 32 32l128 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-50.7 0L502.6 54.6zM80 272c-17.7 0-32 14.3-32 32s14.3 32 32 32l50.7 0L9.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L176 381.3l0 50.7c0 17.7 14.3 32 32 32s32-14.3 32-32l0-128c0-17.7-14.3-32-32-32L80 272z"/></svg>`);
18111
18111
  styled.css`
18112
18112
  position: relative;
18113
- overflow: hidden;
18114
18113
  cursor: grab;
18114
+ overflow: hidden;
18115
18115
 
18116
18116
  &[data-state=grabbing] {
18117
18117
  cursor: grabbing;
18118
18118
  }
18119
18119
 
18120
+ & > div {
18121
+
18122
+ position: absolute;
18123
+ left: 0;
18124
+ top: 0;
18125
+ right: 0;
18126
+ bottom: 0;
18127
+ scrollbar-width: none;
18128
+ overflow: auto;
18129
+
18130
+
18131
+ & > .image-container {
18132
+ position: absolute;
18133
+ left: 0;
18134
+ top: 0;
18135
+ right: 0;
18136
+ bottom: 0;
18137
+ overflow: hidden;
18138
+ object-fit: contain;
18139
+ width: 100%;
18140
+ height: 100%;
18141
+ }
18142
+
18143
+ }
18144
+
18120
18145
  & > .scale {
18121
18146
  position: absolute;
18122
18147
  right: 10px;
@@ -18134,19 +18159,6 @@ System.register(["@web-atoms/core/dist/style/styled"], function (_export, _conte
18134
18159
  background-repeat: no-repeat;
18135
18160
  }
18136
18161
 
18137
- & > .image-container {
18138
- position: absolute;
18139
- left: 0;
18140
- top: 0;
18141
- right: 0;
18142
- bottom: 0;
18143
- overflow: hidden;
18144
- display: grid;
18145
- align-items: center;
18146
- justify-items: center;
18147
- justify-content: center;
18148
- }
18149
-
18150
18162
  & > .spinner {
18151
18163
  position: absolute;
18152
18164
  left: 0;
@@ -18162,18 +18174,18 @@ System.register(["@web-atoms/core/dist/style/styled"], function (_export, _conte
18162
18174
  & > .hide {
18163
18175
  display: none;
18164
18176
  }
18165
- `.installGlobal("div[data-pinch-zoom]");
18177
+ `.installGlobal("div[data-zoom-view]");
18166
18178
  }
18167
18179
  };
18168
18180
  });
18169
- //# sourceMappingURL=pinch-zoom-view-style.js.map
18181
+ //# sourceMappingURL=zoom-view-style.js.map
18170
18182
 
18171
- AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/styles/pinch-zoom-view-style");
18183
+ AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/styles/zoom-view-style");
18172
18184
 
18173
- System.register(["tslib", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dist/core/BindableProperty", "@web-atoms/core/dist/core/XNode", "@web-atoms/core/dist/web/controls/AtomControl", "./styles/pinch-zoom-view-style"], function (_export, _context) {
18185
+ System.register(["tslib", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dist/core/BindableProperty", "@web-atoms/core/dist/core/XNode", "@web-atoms/core/dist/web/controls/AtomControl", "./styles/zoom-view-style"], function (_export, _context) {
18174
18186
  "use strict";
18175
18187
 
18176
- var __decorate, __metadata, Bind, BindableProperty, XNode, AtomControl, PinchZoomView, center, distance;
18188
+ var __decorate, __metadata, Bind, BindableProperty, XNode, AtomControl, ZoomView, center, distance, findLargestDistance;
18177
18189
  _export("default", void 0);
18178
18190
  return {
18179
18191
  setters: [function (_tslib) {
@@ -18187,7 +18199,7 @@ System.register(["tslib", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dis
18187
18199
  XNode = _webAtomsCoreDistCoreXNode.default;
18188
18200
  }, function (_webAtomsCoreDistWebControlsAtomControl) {
18189
18201
  AtomControl = _webAtomsCoreDistWebControlsAtomControl.AtomControl;
18190
- }, function (_stylesPinchZoomViewStyle) {}],
18202
+ }, function (_stylesZoomViewStyle) {}],
18191
18203
  execute: function () {
18192
18204
  center = ev => {
18193
18205
  const touch = ev.touches[0];
@@ -18205,7 +18217,33 @@ System.register(["tslib", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dis
18205
18217
  distance = (first, second) => {
18206
18218
  return Math.hypot(first.pageX - second.pageX, first.pageY - second.pageY);
18207
18219
  };
18208
- _export("default", PinchZoomView = class PinchZoomView extends AtomControl {
18220
+ findLargestDistance = touches => {
18221
+ let pair = null;
18222
+ for (let i = 0; i < touches.length; i++) {
18223
+ const t1 = touches[i];
18224
+ for (let j = i + 1; j < touches.length; j++) {
18225
+ const t2 = touches[j];
18226
+ const distance = Math.hypot(t1.pageX - t2.pageX, t1.pageY - t2.pageY);
18227
+ if (pair === null) {
18228
+ pair = {
18229
+ t1,
18230
+ t2,
18231
+ distance
18232
+ };
18233
+ continue;
18234
+ }
18235
+ if (pair.distance < distance) {
18236
+ pair = {
18237
+ t1,
18238
+ t2,
18239
+ distance
18240
+ };
18241
+ }
18242
+ }
18243
+ }
18244
+ return pair;
18245
+ };
18246
+ _export("default", ZoomView = class ZoomView extends AtomControl {
18209
18247
  preCreate() {
18210
18248
  this.element.title = "Use mouse wheel to zoom";
18211
18249
  this.loading = false;
@@ -18216,11 +18254,12 @@ System.register(["tslib", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dis
18216
18254
  x: 0,
18217
18255
  y: 0
18218
18256
  };
18219
- this.element.dataset.pinchZoom = "true";
18257
+ this.element.setAttribute("data-zoom-view", "zoom-view");
18220
18258
  this.element.draggable = false;
18221
18259
  this.render(XNode.create("div", null, XNode.create("div", {
18222
- class: "image-container"
18260
+ class: "scroll"
18223
18261
  }, XNode.create("img", {
18262
+ class: "image-container",
18224
18263
  src: Bind.oneWay(() => this.getSource(this.source)),
18225
18264
  "style-opacity": Bind.oneWay(() => this.loading ? "0.3" : "1"),
18226
18265
  "event-load": () => {
@@ -18234,8 +18273,9 @@ System.register(["tslib", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dis
18234
18273
  class: Bind.oneWay(() => this.zoom.scale ? "scale" : "hide"),
18235
18274
  title: "Display entire image"
18236
18275
  })));
18237
- this.imageContainer = this.element.firstElementChild;
18238
- this.image = this.imageContainer.firstElementChild;
18276
+ this.scrollDiv = this.element.firstElementChild;
18277
+ this.imageContainer = this.scrollDiv.firstElementChild;
18278
+ this.image = this.imageContainer;
18239
18279
  const scrollView = this.element;
18240
18280
  let previous;
18241
18281
  let touchMoveDisposable;
@@ -18251,15 +18291,14 @@ System.register(["tslib", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dis
18251
18291
  anchorY,
18252
18292
  scale
18253
18293
  } = this.zoom;
18254
- if (ev.touches.length === 2) {
18294
+ if (ev.touches.length > 1) {
18255
18295
  ev.preventDefault();
18256
18296
  ev.stopImmediatePropagation();
18257
18297
  const rect = this.element.getBoundingClientRect();
18258
- const first = ev.touches[0];
18259
- const second = ev.touches[1];
18260
- anchorX = (first.clientX + second.clientX) / 2 - rect.left;
18261
- anchorY = (first.clientY + second.clientY) / 2 - rect.top;
18262
- const newScale = distance(first, second);
18298
+ const ld = findLargestDistance(ev.touches);
18299
+ const first = ld.t1;
18300
+ const second = ld.t2;
18301
+ const newScale = ld.distance;
18263
18302
  if (previousDistance === void 0) {
18264
18303
  previousDistance = newScale;
18265
18304
  return;
@@ -18267,6 +18306,8 @@ System.register(["tslib", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dis
18267
18306
  if (previousDistance === newScale) {
18268
18307
  return;
18269
18308
  }
18309
+ anchorX = (first.clientX + second.clientX) / 2 - rect.left;
18310
+ anchorY = (first.clientY + second.clientY) / 2 - rect.top;
18270
18311
  scale += newScale - previousDistance;
18271
18312
  previousDistance = newScale;
18272
18313
  this.updateZoom({
@@ -18278,20 +18319,6 @@ System.register(["tslib", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dis
18278
18319
  });
18279
18320
  return;
18280
18321
  }
18281
- if (!previous) {
18282
- return;
18283
- }
18284
- const cp = center(ev);
18285
- x += cp.x - previous.x;
18286
- y += cp.y - previous.y;
18287
- previous = cp;
18288
- this.updateZoom({
18289
- anchorX,
18290
- anchorY,
18291
- x,
18292
- y,
18293
- scale
18294
- });
18295
18322
  });
18296
18323
  touchEndDisposable !== null && touchEndDisposable !== void 0 ? touchEndDisposable : touchEndDisposable = this.bindEvent(scrollView, "touchend", ev => {
18297
18324
  touchMoveDisposable === null || touchMoveDisposable === void 0 ? void 0 : touchMoveDisposable.dispose();
@@ -18317,29 +18344,14 @@ System.register(["tslib", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dis
18317
18344
  var _a;
18318
18345
  e.preventDefault();
18319
18346
  (_a = e.stopImmediatePropagation) === null || _a === void 0 ? void 0 : _a.call(e);
18320
- const {
18321
- anchorX,
18322
- anchorY,
18323
- scale
18324
- } = this.zoom;
18325
- let {
18326
- x,
18327
- y
18328
- } = this.zoom;
18329
18347
  const cp = {
18330
18348
  x: e.clientX,
18331
18349
  y: e.clientY
18332
18350
  };
18333
- x += cp.x - previous.x;
18334
- y += cp.y - previous.y;
18351
+ const diffX = previous.x - cp.x;
18352
+ const diffY = previous.y - cp.y;
18335
18353
  previous = cp;
18336
- this.updateZoom({
18337
- anchorX,
18338
- anchorY,
18339
- x,
18340
- y,
18341
- scale
18342
- });
18354
+ this.scrollDiv.scrollBy(diffX, diffY);
18343
18355
  });
18344
18356
  mouseUpDisposable !== null && mouseUpDisposable !== void 0 ? mouseUpDisposable : mouseUpDisposable = this.bindEvent(scrollView, "mouseup", e => {
18345
18357
  var _a;
@@ -18355,7 +18367,6 @@ System.register(["tslib", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dis
18355
18367
  });
18356
18368
  this.bindEvent(scrollView, "wheel", ev => {
18357
18369
  var _a;
18358
- const target = ev.currentTarget;
18359
18370
  ev.preventDefault();
18360
18371
  (_a = ev.stopImmediatePropagation) === null || _a === void 0 ? void 0 : _a.call(ev);
18361
18372
  const newScale = this.zoom.scale - (ev.deltaY < 0 ? -50 : 50);
@@ -18408,29 +18419,39 @@ System.register(["tslib", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dis
18408
18419
  if (scale <= 0) {
18409
18420
  scale = 0;
18410
18421
  }
18411
- const newWidth = this.element.clientWidth + scale + "px";
18412
- const newHeight = this.element.clientHeight + scale + "px";
18413
- this.image.style.maxWidth = this.element.clientWidth + "px";
18414
- this.image.style.maxHeight = this.element.clientHeight + "px";
18422
+ const {
18423
+ clientWidth,
18424
+ clientHeight
18425
+ } = this.element;
18415
18426
  if (scale <= 0) {
18416
- this.imageContainer.style.transform = "";
18427
+ this.element.scrollTo(0, 0);
18428
+ this.imageContainer.style.transform = ``;
18417
18429
  return;
18418
18430
  }
18419
- const clientWidth = this.element.clientWidth;
18420
18431
  const scaleFactor = (clientWidth + scale) / clientWidth;
18421
- this.imageContainer.style.transformOrigin = `${anchorX}px ${anchorY}`;
18422
- this.imageContainer.style.transform = `translate(${x}px, ${y}px) scale(${scaleFactor})`;
18432
+ this.imageContainer.style.transformOrigin = `${anchorX}px ${anchorY}px`;
18433
+ this.imageContainer.style.transform = `scale(${scaleFactor})`;
18434
+ const e = this.imageContainer.getBoundingClientRect();
18435
+ const left = -e.left;
18436
+ const top = -e.top;
18437
+ this.imageContainer.style.transformOrigin = "0 0";
18438
+ const de = this.imageContainer.getBoundingClientRect();
18439
+ this.scrollDiv.scrollTo({
18440
+ left: left + de.left,
18441
+ top: top + de.top,
18442
+ behavior: "instant"
18443
+ });
18423
18444
  }
18424
18445
  });
18425
- __decorate([BindableProperty, __metadata("design:type", Object)], PinchZoomView.prototype, "zoom", void 0);
18426
- __decorate([BindableProperty, __metadata("design:type", String)], PinchZoomView.prototype, "source", void 0);
18427
- __decorate([BindableProperty, __metadata("design:type", Boolean)], PinchZoomView.prototype, "loading", void 0);
18446
+ __decorate([BindableProperty, __metadata("design:type", Object)], ZoomView.prototype, "zoom", void 0);
18447
+ __decorate([BindableProperty, __metadata("design:type", String)], ZoomView.prototype, "source", void 0);
18448
+ __decorate([BindableProperty, __metadata("design:type", Boolean)], ZoomView.prototype, "loading", void 0);
18428
18449
  }
18429
18450
  };
18430
18451
  });
18431
- //# sourceMappingURL=PinchZoomView.js.map
18452
+ //# sourceMappingURL=ZoomView.js.map
18432
18453
 
18433
- AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/PinchZoomView");
18454
+ AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/ZoomView");
18434
18455
 
18435
18456
  System.register(["./apiPath"], function (_export, _context) {
18436
18457
  "use strict";
@@ -19444,10 +19465,10 @@ System.register(["tslib", "@web-atoms/core/dist/core/BindableProperty", "@web-at
19444
19465
 
19445
19466
  AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/ToggleButtonBar");
19446
19467
 
19447
- System.register(["tslib", "@web-atoms/core/dist/core/InjectProperty", "@web-atoms/core/dist/web/controls/AtomControl", "../../services/EntityService", "../../model/model", "@web-atoms/core/dist/core/XNode", "@web-atoms/web-controls/dist/basic/AtomRepeater", "@web-atoms/web-controls/dist/basic/PinchZoomView", "../../common/fileUrl", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dist/view-model/Action", "@web-atoms/core/dist/style/styled", "@web-atoms/core/dist/services/FetchBuilder", "../../common/currency", "@web-atoms/web-controls/dist/basic/ToggleButtonBar"], function (_export, _context) {
19468
+ System.register(["tslib", "@web-atoms/core/dist/core/InjectProperty", "@web-atoms/core/dist/web/controls/AtomControl", "../../services/EntityService", "../../model/model", "@web-atoms/core/dist/core/XNode", "@web-atoms/web-controls/dist/basic/AtomRepeater", "@web-atoms/web-controls/dist/basic/ZoomView", "../../common/fileUrl", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dist/view-model/Action", "@web-atoms/core/dist/style/styled", "@web-atoms/core/dist/services/FetchBuilder", "../../common/currency", "@web-atoms/web-controls/dist/basic/ToggleButtonBar"], function (_export, _context) {
19448
19469
  "use strict";
19449
19470
 
19450
- var __awaiter, __decorate, __metadata, InjectProperty, AtomControl, EntityService, StoreItem, XNode, AtomRepeater, PinchZoomView, signedImageUrl, signedUrl, Bind, Action, styled, FetchBuilder, formatPrice, ToggleButtonBar, StoreItemDetailView, _a, url, storeID, itemID, css;
19471
+ var __awaiter, __decorate, __metadata, InjectProperty, AtomControl, EntityService, StoreItem, XNode, AtomRepeater, ZoomView, signedImageUrl, signedUrl, Bind, Action, styled, FetchBuilder, formatPrice, ToggleButtonBar, StoreItemDetailView, _a, url, storeID, itemID, css;
19451
19472
  _export("default", void 0);
19452
19473
  return {
19453
19474
  setters: [function (_tslib) {
@@ -19466,8 +19487,8 @@ System.register(["tslib", "@web-atoms/core/dist/core/InjectProperty", "@web-atom
19466
19487
  XNode = _webAtomsCoreDistCoreXNode.default;
19467
19488
  }, function (_webAtomsWebControlsDistBasicAtomRepeater) {
19468
19489
  AtomRepeater = _webAtomsWebControlsDistBasicAtomRepeater.default;
19469
- }, function (_webAtomsWebControlsDistBasicPinchZoomView) {
19470
- PinchZoomView = _webAtomsWebControlsDistBasicPinchZoomView.default;
19490
+ }, function (_webAtomsWebControlsDistBasicZoomView) {
19491
+ ZoomView = _webAtomsWebControlsDistBasicZoomView.default;
19471
19492
  }, function (_commonFileUrl) {
19472
19493
  signedImageUrl = _commonFileUrl.signedImageUrl;
19473
19494
  signedUrl = _commonFileUrl.signedUrl;
@@ -19649,7 +19670,7 @@ System.register(["tslib", "@web-atoms/core/dist/core/InjectProperty", "@web-atom
19649
19670
  src: signedImageUrl(x, 150)
19650
19671
  }),
19651
19672
  class: "thumbnails"
19652
- }), XNode.create(PinchZoomView, {
19673
+ }), XNode.create(ZoomView, {
19653
19674
  class: "preview",
19654
19675
  source: Bind.oneWay(() => signedImageUrl(this.selectedFile, 720))
19655
19676
  })), XNode.create("section", {