@m3e/core 1.0.0-rc.4 → 1.0.1

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.
@@ -118,11 +118,6 @@
118
118
  "description": "Whether the ripple always originates from the center of the element's bounds, rather\r\nthan originating from the location of the click event.",
119
119
  "values": []
120
120
  },
121
- {
122
- "name": "disable-enter",
123
- "description": "Whether the ripple is disabled when the enter key is pressed.",
124
- "values": []
125
- },
126
121
  {
127
122
  "name": "disabled",
128
123
  "description": "Whether click events will not trigger the ripple.\r\nRipples can be still controlled manually by using the `show` and 'hide' methods.",
package/dist/index.js CHANGED
@@ -429,7 +429,7 @@ class MutationController extends MonitorControllerBase {
429
429
  }
430
430
  _MutationController_host = new WeakMap(), _MutationController_callback = new WeakMap(), _MutationController_skipInitial = new WeakMap(), _MutationController_config = new WeakMap(), _MutationController_observer = new WeakMap(), _MutationController_unobservedUpdate = new WeakMap();
431
431
 
432
- var _PressedController_instances, _PressedController_capture, _PressedController_callback, _PressedController_isPressedKey, _PressedController_pressedTargets, _PressedController_minPressedDuration, _PressedController_pointerDownHandler, _PressedController_pointerUpHandler, _PressedController_keyDownHandler, _PressedController_keyUpHandler, _PressedController_handlePointerDown, _PressedController_handlePointerUp, _PressedController_handleKeyDown, _PressedController_handleKeyUp;
432
+ var _PressedController_instances, _PressedController_capture, _PressedController_callback, _PressedController_isPressedKey, _PressedController_pressedTargets, _PressedController_minPressedDuration, _PressedController_pointerDownHandler, _PressedController_pointerUpHandler, _PressedController_touchEndHandler, _PressedController_keyDownHandler, _PressedController_keyUpHandler, _PressedController_handlePointerDown, _PressedController_handlePointerUp, _PressedController_handleTouchEnd, _PressedController_handleKeyDown, _PressedController_handleKeyUp;
433
433
  /** A `ReactiveController` used to monitor the pressed state of one or more elements. */
434
434
  class PressedController extends MonitorControllerBase {
435
435
  /**
@@ -447,6 +447,7 @@ class PressedController extends MonitorControllerBase {
447
447
  /** @private */ _PressedController_minPressedDuration.set(this, void 0);
448
448
  /** @private */ _PressedController_pointerDownHandler.set(this, (e) => __classPrivateFieldGet(this, _PressedController_instances, "m", _PressedController_handlePointerDown).call(this, e));
449
449
  /** @private */ _PressedController_pointerUpHandler.set(this, (e) => __classPrivateFieldGet(this, _PressedController_instances, "m", _PressedController_handlePointerUp).call(this, e));
450
+ /** @private */ _PressedController_touchEndHandler.set(this, (e) => __classPrivateFieldGet(this, _PressedController_instances, "m", _PressedController_handleTouchEnd).call(this, e));
450
451
  /** @private */ _PressedController_keyDownHandler.set(this, (e) => __classPrivateFieldGet(this, _PressedController_instances, "m", _PressedController_handleKeyDown).call(this, e));
451
452
  /** @private */ _PressedController_keyUpHandler.set(this, (e) => __classPrivateFieldGet(this, _PressedController_instances, "m", _PressedController_handleKeyUp).call(this, e));
452
453
  __classPrivateFieldSet(this, _PressedController_capture, options.capture, "f");
@@ -457,11 +458,15 @@ class PressedController extends MonitorControllerBase {
457
458
  /** @inheritdoc */
458
459
  hostConnected() {
459
460
  document.addEventListener("pointerup", __classPrivateFieldGet(this, _PressedController_pointerUpHandler, "f"), { capture: __classPrivateFieldGet(this, _PressedController_capture, "f") });
461
+ document.addEventListener("touchend", __classPrivateFieldGet(this, _PressedController_touchEndHandler, "f"), { capture: __classPrivateFieldGet(this, _PressedController_capture, "f") });
462
+ document.addEventListener("touchcancel", __classPrivateFieldGet(this, _PressedController_touchEndHandler, "f"), { capture: __classPrivateFieldGet(this, _PressedController_capture, "f") });
460
463
  super.hostConnected();
461
464
  }
462
465
  /** @inheritdoc */
463
466
  hostDisconnected() {
464
467
  document.removeEventListener("pointerup", __classPrivateFieldGet(this, _PressedController_pointerUpHandler, "f"), { capture: __classPrivateFieldGet(this, _PressedController_capture, "f") });
468
+ document.addEventListener("touchend", __classPrivateFieldGet(this, _PressedController_touchEndHandler, "f"), { capture: __classPrivateFieldGet(this, _PressedController_capture, "f") });
469
+ document.addEventListener("touchcancel", __classPrivateFieldGet(this, _PressedController_touchEndHandler, "f"), { capture: __classPrivateFieldGet(this, _PressedController_capture, "f") });
465
470
  super.hostDisconnected();
466
471
  __classPrivateFieldGet(this, _PressedController_pressedTargets, "f").clear();
467
472
  }
@@ -488,7 +493,7 @@ class PressedController extends MonitorControllerBase {
488
493
  }
489
494
  }
490
495
  }
491
- _PressedController_capture = new WeakMap(), _PressedController_callback = new WeakMap(), _PressedController_isPressedKey = new WeakMap(), _PressedController_pressedTargets = new WeakMap(), _PressedController_minPressedDuration = new WeakMap(), _PressedController_pointerDownHandler = new WeakMap(), _PressedController_pointerUpHandler = new WeakMap(), _PressedController_keyDownHandler = new WeakMap(), _PressedController_keyUpHandler = new WeakMap(), _PressedController_instances = new WeakSet(), _PressedController_handlePointerDown = function _PressedController_handlePointerDown(e) {
496
+ _PressedController_capture = new WeakMap(), _PressedController_callback = new WeakMap(), _PressedController_isPressedKey = new WeakMap(), _PressedController_pressedTargets = new WeakMap(), _PressedController_minPressedDuration = new WeakMap(), _PressedController_pointerDownHandler = new WeakMap(), _PressedController_pointerUpHandler = new WeakMap(), _PressedController_touchEndHandler = new WeakMap(), _PressedController_keyDownHandler = new WeakMap(), _PressedController_keyUpHandler = new WeakMap(), _PressedController_instances = new WeakSet(), _PressedController_handlePointerDown = function _PressedController_handlePointerDown(e) {
492
497
  if (e.pointerType === "mouse" && e.button > 1)
493
498
  return;
494
499
  for (const target of e.composedPath()) {
@@ -518,6 +523,22 @@ _PressedController_capture = new WeakMap(), _PressedController_callback = new We
518
523
  __classPrivateFieldGet(this, _PressedController_callback, "f").call(this, false, { x, y }, target);
519
524
  }
520
525
  }
526
+ }, _PressedController_handleTouchEnd = function _PressedController_handleTouchEnd(e) {
527
+ const x = e.touches[0]?.clientX ?? 0;
528
+ const y = e.touches[0]?.clientY ?? 0;
529
+ for (const target of __classPrivateFieldGet(this, _PressedController_pressedTargets, "f").keys()) {
530
+ const remainingTime = __classPrivateFieldGet(this, _PressedController_minPressedDuration, "f") - (performance.now() - __classPrivateFieldGet(this, _PressedController_pressedTargets, "f").get(target));
531
+ if (remainingTime > 0) {
532
+ setTimeout(() => {
533
+ __classPrivateFieldGet(this, _PressedController_pressedTargets, "f").delete(target);
534
+ __classPrivateFieldGet(this, _PressedController_callback, "f").call(this, false, { x, y }, target);
535
+ }, remainingTime);
536
+ }
537
+ else {
538
+ __classPrivateFieldGet(this, _PressedController_pressedTargets, "f").delete(target);
539
+ __classPrivateFieldGet(this, _PressedController_callback, "f").call(this, false, { x, y }, target);
540
+ }
541
+ }
521
542
  }, _PressedController_handleKeyDown = function _PressedController_handleKeyDown(e) {
522
543
  if (e.target !== e.currentTarget)
523
544
  return;
@@ -3764,8 +3785,7 @@ var _M3eRippleElement_instances, _M3eRippleElement_ripple, _M3eRippleElement_pre
3764
3785
  * The component can be attached to an interactive element using the `for` attribute or programmatically using the `attach` method.
3765
3786
  * The ripple is displayed when the interactive element is pressed and hidden when released. This can be disabled using the `disabled` attribute.
3766
3787
  *
3767
- * The pressed state actives either using both pointer and keyboard events. For keyboard events, `SPACE` and `ENTER` activate a ripple.
3768
- * You can disabled whether the `ENTER` key actives a ripple using the `disable-enter` attribute.
3788
+ * The pressed state actives either using both pointer and keyboard events. For keyboard events, `SPACE` activate a ripple.
3769
3789
  *
3770
3790
  * Alternately, you can use the `show` and `hide` methods to programmatically control the ripple.
3771
3791
  *
@@ -3783,7 +3803,6 @@ var _M3eRippleElement_instances, _M3eRippleElement_ripple, _M3eRippleElement_pre
3783
3803
  * @tag m3e-ripple
3784
3804
  *
3785
3805
  * @attr centered - Whether the ripple always originates from the center of the element's bounds, rather than originating from the location of the click event.
3786
- * @attr disable-enter - Whether the ripple is disabled when the enter key is pressed.
3787
3806
  * @attr disabled - Whether click events will not trigger the ripple. Ripples can be still controlled manually by using the `show` and 'hide' methods.
3788
3807
  * @attr for - The identifier of the interactive control to which this element is attached.
3789
3808
  * @attr radius - The radius, in pixels, of the ripple.
@@ -3804,7 +3823,7 @@ let M3eRippleElement = class M3eRippleElement extends HtmlFor(Role(LitElement, "
3804
3823
  /** @private */ _M3eRippleElement_pressedController.set(this, new PressedController(this, {
3805
3824
  target: null,
3806
3825
  minPressedDuration: 150,
3807
- isPressedKey: (key) => key === " " || (!this.disableEnter && key === "Enter"),
3826
+ isPressedKey: (key) => key === " ",
3808
3827
  callback: (pressed, { x, y }) => __classPrivateFieldGet(this, _M3eRippleElement_instances, "m", _M3eRippleElement_handlePressedChange).call(this, pressed, x, y),
3809
3828
  }));
3810
3829
  /**
@@ -3813,11 +3832,6 @@ let M3eRippleElement = class M3eRippleElement extends HtmlFor(Role(LitElement, "
3813
3832
  * @default false
3814
3833
  */
3815
3834
  this.disabled = false;
3816
- /**
3817
- * Whether the ripple is disabled when the enter key is pressed.
3818
- * @default false
3819
- */
3820
- this.disableEnter = false;
3821
3835
  /**
3822
3836
  * Whether the ripple always originates from the center of the element's bounds, rather
3823
3837
  * than originating from the location of the click event.
@@ -4009,9 +4023,6 @@ M3eRippleElement.styles = css `
4009
4023
  __decorate([
4010
4024
  n$1({ type: Boolean, reflect: true })
4011
4025
  ], M3eRippleElement.prototype, "disabled", void 0);
4012
- __decorate([
4013
- n$1({ attribute: "disable-enter", type: Boolean, reflect: true })
4014
- ], M3eRippleElement.prototype, "disableEnter", void 0);
4015
4026
  __decorate([
4016
4027
  n$1({ type: Boolean, reflect: true })
4017
4028
  ], M3eRippleElement.prototype, "centered", void 0);
@@ -4346,7 +4357,7 @@ let M3eStateLayerElement = class M3eStateLayerElement extends HtmlFor(Role(LitEl
4346
4357
  /** @private */
4347
4358
  _M3eStateLayerElement_focusController.set(this, new FocusController(this, {
4348
4359
  target: null,
4349
- callback: (focused) => __classPrivateFieldGet(this, _M3eStateLayerElement_instances, "m", _M3eStateLayerElement_handleFocusChange).call(this, focused),
4360
+ callback: (focused, focusVisible) => __classPrivateFieldGet(this, _M3eStateLayerElement_instances, "m", _M3eStateLayerElement_handleFocusChange).call(this, focused && focusVisible),
4350
4361
  }));
4351
4362
  /**
4352
4363
  * Whether hover and focus event will not trigger the state layer. State layers can still