PageSourceSearch

https://gestionposmobile.web.app/node_modules_ionic_core_dist_esm_index-0bc00b33_js.js

js gestionposmobile.web.app collected 2026-10-03 12:24:41 UTC 6,400 bytes, 205 lines download raw bytes

1"use strict";
2(self["webpackChunkapp"] = self["webpackChunkapp"] || []).push([["node_modules_ionic_core_dist_esm_index-0bc00b33_js"],{
3
4/***/ 40198:
5/*!*************************************************************!*\
6  !*** ./node_modules/@ionic/core/dist/esm/index-0bc00b33.js ***!
7  \*************************************************************/
8/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
9
10__webpack_require__.r(__webpack_exports__);
11/* harmony export */ __webpack_require__.d(__webpack_exports__, {
12/* harmony export */   "startTapClick": () => (/* binding */ startTapClick)
13/* harmony export */ });
14/* harmony import */ var _helpers_3b390e48_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./helpers-3b390e48.js */ 97140);
15/*!
16 * (C) Ionic http://ionicframework.com - MIT License
17 */
18
19
20const startTapClick = (config) => {
21  let lastTouch = -MOUSE_WAIT * 10;
22  let lastActivated = 0;
23  let activatableEle;
24  let activeRipple;
25  let activeDefer;
26  const useRippleEffect = config.getBoolean('animated', true) && config.getBoolean('rippleEffect', true);
27  const clearDefers = new WeakMap();
28  // Touch Events
29  const onTouchStart = (ev) => {
30    lastTouch = (0,_helpers_3b390e48_js__WEBPACK_IMPORTED_MODULE_0__.u)(ev);
31    pointerDown(ev);
32  };
33  const onTouchEnd = (ev) => {
34    lastTouch = (0,_helpers_3b390e48_js__WEBPACK_IMPORTED_MODULE_0__.u)(ev);
35    pointerUp(ev);
36  };
37  const onMouseDown = (ev) => {
38    // Ignore right clicks
39    if (ev.button === 2) {
40      return;
41    }
42    const t = (0,_helpers_3b390e48_js__WEBPACK_IMPORTED_MODULE_0__.u)(ev) - MOUSE_WAIT;
43    if (lastTouch < t) {
44      pointerDown(ev);
45    }
46  };
47  const onMouseUp = (ev) => {
48    const t = (0,_helpers_3b390e48_js__WEBPACK_IMPORTED_MODULE_0__.u)(ev) - MOUSE_WAIT;
49    if (lastTouch < t) {
50      pointerUp(ev);
51    }
52  };
53  const cancelActive = () => {
54    clearTimeout(activeDefer);
55    activeDefer = undefined;
56    if (activatableEle) {
57      removeActivated(false);
58      activatableEle = undefined;
59    }
60  };
61  const pointerDown = (ev) => {
62    if (activatableEle) {
63      return;
64    }
65    setActivatedElement(getActivatableTarget(ev), ev);
66  };
67  const pointerUp = (ev) => {
68    setActivatedElement(undefined, ev);
69  };
70  const setActivatedElement = (el, ev) => {
71    // do nothing
72    if (el && el === activatableEle) {
73      return;
74    }
75    clearTimeout(activeDefer);
76    activeDefer = undefined;
77    const { x, y } = (0,_helpers_3b390e48_js__WEBPACK_IMPORTED_MODULE_0__.p)(ev);
78    // deactivate selected
79    if (activatableEle) {
80      if (clearDefers.has(activatableEle)) {
81        throw new Error('internal error');
82      }
83      if (!activatableEle.classList.contains(ACTIVATED)) {
84        addActivated(activatableEle, x, y);
85      }
86      removeActivated(true);
87    }
88    // activate
89    if (el) {
90      const deferId = clearDefers.get(el);
91      if (deferId) {
92        clearTimeout(deferId);
93        clearDefers.delete(el);
94      }
95      const delay = isInstant(el) ? 0 : ADD_ACTIVATED_DEFERS;
96      el.classList.remove(ACTIVATED);
97      activeDefer = setTimeout(() => {
98        addActivated(el, x, y);
99        activeDefer = undefined;
100      }, delay);
101    }
102    activatableEle = el;
103  };
104  const addActivated = (el, x, y) => {
105    lastActivated = Date.now();
106    el.classList.add(ACTIVATED);
107    if (!useRippleEffect)
108      return;
109    const rippleEffect = getRippleEffect(el);
110    if (rippleEffect !== null) {
111      removeRipple();
112      activeRipple = rippleEffect.addRipple(x, y);
113    }
114  };
115  const removeRipple = () => {
116    if (activeRipple !== undefined) {
117      activeRipple.then((remove) => remove());
118      activeRipple = undefined;
119    }
120  };
121  const removeActivated = (smooth) => {
122    removeRipple();
123    const active = activatableEle;
124    if (!active) {
125      return;
126    }
127    const time = CLEAR_STATE_DEFERS - Date.now() + lastActivated;
128    if (smooth && time > 0 && !isInstant(active)) {
129      const deferId = setTimeout(() => {
130        active.classList.remove(ACTIVATED);
131        clearDefers.delete(active);
132      }, CLEAR_STATE_DEFERS);
133      clearDefers.set(active, deferId);
134    }
135    else {
136      active.classList.remove(ACTIVATED);
137    }
138  };
139  const doc = document;
140  doc.addEventListener('ionGestureCaptured', cancelActive);
141  doc.addEventListener('touchstart', onTouchStart, true);
142  doc.addEventListener('touchcancel', onTouchEnd, true);
143  doc.addEventListener('touchend', onTouchEnd, true);
144  /**
145   * Tap click effects such as the ripple effect should
146   * not happen when scrolling. For example, if a user scrolls
147   * the page but also happens to do a touchstart on a button
148   * as part of the scroll, the ripple effect should not
149   * be dispatched. The ripple effect should only happen
150   * if the button is activated and the page is not scrolling.
151   *
152   * pointercancel is dispatched on a gesture when scrolling
153   * starts, so this lets us avoid having to listen for
154   * ion-content's scroll events.
155   */
156  doc.addEventListener('pointercancel', cancelActive, true);
157  doc.addEventListener('mousedown', onMouseDown, true);
158  doc.addEventListener('mouseup', onMouseUp, true);
159};
160const getActivatableTarget = (ev) => {
161  if (ev.composedPath !== undefined) {
162    /**
163     * composedPath returns EventTarget[]. However,
164     * objects other than Element can be targets too.
165     * For example, AudioContext can be a target. In this
166     * case, we know that the event is a UIEvent so we
167     * can assume that the path will contain either Element
168     * or ShadowRoot.
169     */
170    const path = ev.composedPath();
171    for (let i = 0; i < path.length - 2; i++) {
172      const el = path[i];
173      if (!(el instanceof ShadowRoot) && el.classList.contains('ion-activatable')) {
174        return el;
175      }
176    }
177  }
178  else {
179    return ev.target.closest('.ion-activatable');
180  }
181};
182const isInstant = (el) => {
183  return el.classList.contains('ion-activatable-instant');
184};
185const getRippleEffect = (el) => {
186  if (el.shadowRoot) {
187    const ripple = el.shadowRoot.querySelector('ion-ripple-effect');
188    if (ripple) {
189      return ripple;
190    }
191  }
192  return el.querySelector('ion-ripple-effect');
193};
194const ACTIVATED = 'ion-activated';
195const ADD_ACTIVATED_DEFERS = 200;
196const CLEAR_STATE_DEFERS = 200;
197const MOUSE_WAIT = 2500;
198
199
200
201
202/***/ })
203
204}]);
205//# sourceMappingURL=node_modules_ionic_core_dist_esm_index-0bc00b33_js.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.