@social-mail/social-mail-client 1.8.343 → 1.8.344

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@social-mail/social-mail-client",
3
- "version": "1.8.343",
3
+ "version": "1.8.344",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -233,14 +233,9 @@ const eventPointerDown = (editor: HtmlPageEditor, e: PointerEvent) => {
233
233
  const element = e.target as HTMLElement;
234
234
  const currentElement = e.currentTarget as HTMLElement;
235
235
  if (!currentElement.hasAttribute("data-edit")) {
236
- setTimeout(() => currentElement.hasAttribute("data-edit")
237
- ? currentElement.focus({ preventScroll: true })
238
- : void 0, 250);
239
236
  return;
240
237
  }
241
238
 
242
- currentElement.focus({ preventScroll: true });
243
-
244
239
  const resize = element.getAttribute("data-resize");
245
240
  if (resize) {
246
241
 
@@ -303,6 +298,12 @@ const eventKeyDown = (editor: HtmlPageEditor, e: KeyboardEvent) => {
303
298
  if (!currentElement.hasAttribute("data-edit")) {
304
299
  return;
305
300
  }
301
+
302
+ let sc: ReturnType<typeof beginDrag> = currentElement[keyboardEditingSymbol];
303
+ if (sc) {
304
+ return;
305
+ }
306
+
306
307
  // e.preventDefault();
307
308
 
308
309
  let dx = 0;
@@ -311,63 +312,71 @@ const eventKeyDown = (editor: HtmlPageEditor, e: KeyboardEvent) => {
311
312
  switch(e.key) {
312
313
  case "ArrowDown":
313
314
  // Do something for "down arrow" key press.
314
- dy = e.repeat ? 5 : 1;
315
+ dy = 1;
315
316
  break;
316
317
  case "ArrowUp":
317
318
  // Do something for "up arrow" key press.
318
- dy = e.repeat ? -5 : -1;
319
+ dy = -1;
319
320
  break;
320
321
  case "ArrowLeft":
321
322
  // Do something for "left arrow" key press.
322
- dx = e.repeat ? -5 : -1;
323
+ dx = -1;
323
324
  break;
324
325
  case "ArrowRight":
325
326
  // Do something for "right arrow" key press.
326
- dx = e.repeat ? 5 : 1;
327
+ dx = 1;
327
328
  break;
328
329
  default:
329
330
  return;
330
331
  }
331
332
 
332
- let sc: ReturnType<typeof beginDrag> = currentElement[keyboardEditingSymbol];
333
+ const sx = dx * 5;
334
+ const sy = dy * 5;
333
335
 
334
- if(!sc) {
336
+ const fx = (r) => {
337
+ r.top += r.dy;
338
+ r.left += r.dx;
339
+ r.bottom -= r.dy;
340
+ r.right -= r.dx;
341
+ r.move = true;
342
+ return r;
343
+ };
335
344
 
336
- const fx = (r) => {
337
- r.top += r.dy;
338
- r.left += r.dx;
339
- r.bottom -= r.dy;
340
- r.right -= r.dx;
341
- r.move = true;
342
- return r;
343
- };
345
+ sc = beginDrag(editor, element);
346
+ currentElement[keyboardEditingSymbol] = sc;
344
347
 
345
- sc = beginDrag(editor, element);
346
- currentElement[keyboardEditingSymbol] = sc;
348
+ sc.move({ dx, dy, fx });
347
349
 
350
+ const timer = setInterval(() => {
351
+ dx += sx;
352
+ dy += sy;
348
353
  sc.move({ dx, dy, fx });
354
+ }, 250);
349
355
 
350
- const timer = setInterval(() =>
351
- sc.move({ dx, dy, fx })
352
- , 250);
353
356
 
357
+ const release = () => {
358
+ clearInterval(timer);
359
+ currentElement[keyboardEditingSymbol] = void 0;
360
+ currentElement.removeEventListener("keyup", release);
361
+ sc.commit();
362
+ };
363
+ currentElement.addEventListener("keyup", release);
354
364
 
355
- const release = () => {
356
- clearInterval(timer);
357
- currentElement[keyboardEditingSymbol] = void 0;
358
- currentElement.removeEventListener("keyup", release);
359
- sc.commit();
360
- };
361
- currentElement.addEventListener("keyup", release);
362
- }
363
365
 
364
366
  };
365
367
 
368
+ const updateFocus = (e, b) => {
369
+ if (b) {
370
+ e.focus();
371
+ }
372
+ return b;
373
+ };
374
+
366
375
  export function SelectionUI() {
367
376
  return <selected-element data-element="selection"
368
377
  tabIndex="-1"
369
- data-edit={BindEditor.oneWay((e) => /relative/i.test(e.selection.parentStyle.position)
370
- && /absolute|fixed/i.test(e.selection.currentStyle.position) ? "1" : null)}
378
+ data-edit={BindEditor.oneWay((editor,e) => updateFocus(e, /relative/i.test(editor.selection.parentStyle.position)
379
+ && /absolute|fixed/i.test(editor.selection.currentStyle.position) ? "1" : null))}
371
380
  event-pointerdown={BindEditor.event(eventPointerDown as any)}
372
381
  event-keydown={BindEditor.event(eventKeyDown as any)}
373
382
  style-left={BindEditor.oneWay((e) => e.selection.left)}