@leaflink/stash 48.20.0 → 48.21.0

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 (44) hide show
  1. package/dist/Accordion.js +43 -37
  2. package/dist/Accordion.js.map +1 -1
  3. package/dist/Accordion.vue.d.ts +5 -1
  4. package/dist/AddressSelect.js +1 -1
  5. package/dist/Carousel.js +238 -231
  6. package/dist/Carousel.js.map +1 -1
  7. package/dist/DatePicker.js +4766 -7897
  8. package/dist/DatePicker.js.map +1 -1
  9. package/dist/Filters.js +6 -6
  10. package/dist/InputOptions.js +1 -1
  11. package/dist/ListView.js +5 -5
  12. package/dist/Select.js +1 -1
  13. package/dist/SelectStatus.js +1 -1
  14. package/dist/components.css +1 -1
  15. package/dist/formatDateTime-a5e70901.js +1336 -0
  16. package/dist/formatDateTime-a5e70901.js.map +1 -0
  17. package/dist/index.js +82 -81
  18. package/dist/index.js.map +1 -1
  19. package/dist/isValid-4b2b7a54.js +18 -0
  20. package/dist/isValid-4b2b7a54.js.map +1 -0
  21. package/dist/parseISO-ed4094c1.js +133 -0
  22. package/dist/parseISO-ed4094c1.js.map +1 -0
  23. package/dist/searchFuzzy-9b74ec4e.js +446 -0
  24. package/dist/searchFuzzy-9b74ec4e.js.map +1 -0
  25. package/dist/toTimeZone-a2ed6470.js +328 -0
  26. package/dist/toTimeZone-a2ed6470.js.map +1 -0
  27. package/dist/useSearch.js +1 -1
  28. package/dist/useValidation.js.map +1 -1
  29. package/dist/utils/createValidDate.js +2 -2
  30. package/dist/utils/formatDateTime.js +7 -1730
  31. package/dist/utils/formatDateTime.js.map +1 -1
  32. package/dist/utils/normalizeDate.js +1 -1
  33. package/dist/utils/searchFuzzy.js +1 -1
  34. package/dist/utils/toTimeZone.js +3 -4
  35. package/dist/utils/toTimeZone.js.map +1 -1
  36. package/package.json +29 -29
  37. package/dist/index-5e5945a9.js +0 -134
  38. package/dist/index-5e5945a9.js.map +0 -1
  39. package/dist/index-fe8d3765.js +0 -36
  40. package/dist/index-fe8d3765.js.map +0 -1
  41. package/dist/searchFuzzy-74a7de1c.js +0 -326
  42. package/dist/searchFuzzy-74a7de1c.js.map +0 -1
  43. package/dist/toTimeZone-e6e9ab75.js +0 -351
  44. package/dist/toTimeZone-e6e9ab75.js.map +0 -1
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import w from "./locale.js";
2
- import { defineComponent as y, computed as X, openBlock as x, createBlock as Y, mergeProps as D, createSlots as P, renderList as N, unref as _, withCtx as I, createVNode as j, h as $, render as H } from "vue";
2
+ import { defineComponent as y, computed as x, openBlock as X, createBlock as Y, mergeProps as D, createSlots as P, renderList as $, unref as N, withCtx as _, createVNode as k, h as I, render as H } from "vue";
3
3
  import B from "lodash-es/omit";
4
4
  import F from "./useDialog.js";
5
5
  import q from "./CustomRender.js";
@@ -9,7 +9,7 @@ import G from "./ModalsPlugin.js";
9
9
  import U from "./ToastsPlugin.js";
10
10
  import { overridePersistentStorage as V } from "./storage.js";
11
11
  import { persistentStorage as Dt } from "./storage.js";
12
- import { S as Nt, a as _t, b as It } from "./colors-8d9b9429.js";
12
+ import { S as $t, a as Nt, b as _t } from "./colors-8d9b9429.js";
13
13
  import { S as Ht, a as Bt } from "./misc-76697f61.js";
14
14
  import { a as qt, S as At, b as Rt } from "./statusLevels-a8b041f4.js";
15
15
  import "lodash-es/get";
@@ -54,7 +54,7 @@ var z = function() {
54
54
  return s;
55
55
  }(), J = {
56
56
  install: function(s, o) {
57
- var d = Object.assign({}, {
57
+ var n = Object.assign({}, {
58
58
  disableClick: !1,
59
59
  tapTolerance: 10,
60
60
  // px
@@ -67,88 +67,89 @@ var z = function() {
67
67
  touchClass: "",
68
68
  dragFrequency: 100,
69
69
  // ms
70
- rollOverFrequency: 100
70
+ rollOverFrequency: 100,
71
71
  // ms
72
+ namespace: "touch"
72
73
  }, o);
73
74
  function a(e) {
74
- var t = this.$$touchObj, r = e.type.indexOf("touch") >= 0, m = e.type.indexOf("mouse") >= 0, f = this;
75
- r && (t.lastTouchStartTime = e.timeStamp), !(m && t.lastTouchStartTime && e.timeStamp - t.lastTouchStartTime < 350) && (t.touchStarted || (C(this), t.touchStarted = !0, t.touchMoved = !1, t.swipeOutBounded = !1, t.startX = L(e), t.startY = M(e), t.currentX = 0, t.currentY = 0, t.touchStartTime = e.timeStamp, t.hasSwipe = c(this, "swipe") || c(this, "swipe.left") || c(this, "swipe.right") || c(this, "swipe.top") || c(this, "swipe.bottom"), c(this, "hold") && (t.touchHoldTimer = setTimeout(function() {
76
- t.touchHoldTimer = null, T(e, f, "hold");
75
+ var t = this.$$touchObj, r = e.type.indexOf("touch") >= 0, f = e.type.indexOf("mouse") >= 0, d = this;
76
+ r && (t.lastTouchStartTime = e.timeStamp), !(f && t.lastTouchStartTime && e.timeStamp - t.lastTouchStartTime < 350) && (t.touchStarted || (C(this), t.touchStarted = !0, t.touchMoved = !1, t.swipeOutBounded = !1, t.startX = L(e), t.startY = M(e), t.currentX = 0, t.currentY = 0, t.touchStartTime = e.timeStamp, t.hasSwipe = c(this, "swipe") || c(this, "swipe.left") || c(this, "swipe.right") || c(this, "swipe.top") || c(this, "swipe.bottom"), c(this, "hold") && (t.touchHoldTimer = setTimeout(function() {
77
+ t.touchHoldTimer = null, T(e, d, "hold");
77
78
  }, t.options.touchHoldTolerance)), T(e, this, "press")));
78
79
  }
79
80
  function p(e) {
80
- var t = this.$$touchObj, r = L(e), m = M(e), f = t.currentX != r || t.currentY != m;
81
- if (t.currentX = r, t.currentY = m, t.touchMoved) {
81
+ var t = this.$$touchObj, r = L(e), f = M(e), d = t.currentX != r || t.currentY != f;
82
+ if (t.currentX = r, t.currentY = f, t.touchMoved) {
82
83
  if (t.hasSwipe && !t.swipeOutBounded) {
83
- var n = t.options.swipeTolerance;
84
- t.swipeOutBounded = Math.abs(t.startX - t.currentX) > n && Math.abs(t.startY - t.currentY) > n;
84
+ var u = t.options.swipeTolerance;
85
+ t.swipeOutBounded = Math.abs(t.startX - t.currentX) > u && Math.abs(t.startY - t.currentY) > u;
85
86
  }
86
87
  } else {
87
- var u = t.options.tapTolerance;
88
- t.touchMoved = Math.abs(t.startX - t.currentX) > u || Math.abs(t.startY - t.currentY) > u, t.touchMoved && (g(t), T(e, this, "drag.once"));
88
+ var l = t.options.tapTolerance;
89
+ t.touchMoved = Math.abs(t.startX - t.currentX) > l || Math.abs(t.startY - t.currentY) > l, t.touchMoved && (S(t), T(e, this, "drag.once"));
89
90
  }
90
- if (c(this, "rollover") && f) {
91
+ if (c(this, "rollover") && d) {
91
92
  var i = e.timeStamp, E = t.options.rollOverFrequency;
92
93
  (t.touchRollTime == null || i > t.touchRollTime + E) && (t.touchRollTime = i, T(e, this, "rollover"));
93
94
  }
94
- if (c(this, "drag") && t.touchStarted && t.touchMoved && f) {
95
+ if (c(this, "drag") && t.touchStarted && t.touchMoved && d) {
95
96
  var i = e.timeStamp, E = t.options.dragFrequency;
96
97
  (t.touchDragTime == null || i > t.touchDragTime + E) && (t.touchDragTime = i, T(e, this, "drag"));
97
98
  }
98
99
  }
99
100
  function v() {
100
101
  var e = this.$$touchObj;
101
- g(e), S(this), e.touchStarted = e.touchMoved = !1, e.startX = e.startY = 0;
102
+ S(e), O(this), e.touchStarted = e.touchMoved = !1, e.startX = e.startY = 0;
102
103
  }
103
- function l(e) {
104
- var t = this.$$touchObj, r = e.type.indexOf("touch") >= 0, m = e.type.indexOf("mouse") >= 0;
104
+ function h(e) {
105
+ var t = this.$$touchObj, r = e.type.indexOf("touch") >= 0, f = e.type.indexOf("mouse") >= 0;
105
106
  r && (t.lastTouchEndTime = e.timeStamp);
106
- var f = r && !t.touchHoldTimer;
107
- if (g(t), t.touchStarted = !1, S(this), !(m && t.lastTouchEndTime && e.timeStamp - t.lastTouchEndTime < 350))
107
+ var d = r && !t.touchHoldTimer;
108
+ if (S(t), t.touchStarted = !1, O(this), !(f && t.lastTouchEndTime && e.timeStamp - t.lastTouchEndTime < 350))
108
109
  if (T(e, this, "release"), t.touchMoved) {
109
110
  if (t.hasSwipe && !t.swipeOutBounded) {
110
- var u = t.options.swipeTolerance, n, i = Math.abs(t.startY - t.currentY), E = Math.abs(t.startX - t.currentX);
111
- (i > u || E > u) && (i > u ? n = t.startY > t.currentY ? "top" : "bottom" : n = t.startX > t.currentX ? "left" : "right", c(this, "swipe." + n) ? T(e, this, "swipe." + n, n) : T(e, this, "swipe", n));
111
+ var l = t.options.swipeTolerance, u, i = Math.abs(t.startY - t.currentY), E = Math.abs(t.startX - t.currentX);
112
+ (i > l || E > l) && (i > E ? u = t.startY > t.currentY ? "top" : "bottom" : u = t.startX > t.currentX ? "left" : "right", c(this, "swipe." + u) ? T(e, this, "swipe." + u, u) : T(e, this, "swipe", u));
112
113
  }
113
114
  } else if (c(this, "longtap") && e.timeStamp - t.touchStartTime > t.options.longTapTimeInterval)
114
115
  e.cancelable && e.preventDefault(), T(e, this, "longtap");
115
- else if (c(this, "hold") && f) {
116
+ else if (c(this, "hold") && d) {
116
117
  e.cancelable && e.preventDefault();
117
118
  return;
118
119
  } else
119
120
  T(e, this, "tap");
120
121
  }
121
- function h() {
122
+ function m() {
122
123
  C(this);
123
124
  }
124
125
  function b() {
125
- S(this);
126
+ O(this);
126
127
  }
127
128
  function c(e, t) {
128
129
  var r = e.$$touchObj.callbacks[t];
129
130
  return r != null && r.length > 0;
130
131
  }
131
- function T(e, t, r, m) {
132
- var f = t.$$touchObj, u = f.callbacks[r];
133
- if (u == null || u.length === 0)
132
+ function T(e, t, r, f) {
133
+ var d = t.$$touchObj, l = d.callbacks[r];
134
+ if (l == null || l.length === 0)
134
135
  return null;
135
- for (var n = 0; n < u.length; n++) {
136
- var i = u[n];
137
- i.modifiers.stop && e.stopPropagation(), i.modifiers.prevent && e.preventDefault(), !(i.modifiers.self && e.target !== e.currentTarget) && typeof i.value == "function" && (m ? i.value(m, e) : i.value(e));
136
+ for (var u = 0; u < l.length; u++) {
137
+ var i = l[u];
138
+ i.modifiers.stop && e.stopPropagation(), i.modifiers.prevent && e.preventDefault(), !(i.modifiers.self && e.target !== e.currentTarget) && typeof i.value == "function" && (f ? i.value(f, e) : i.value(e));
138
139
  }
139
140
  }
140
141
  function C(e) {
141
142
  var t = e.$$touchObj.options.touchClass;
142
143
  t && e.classList.add(t);
143
144
  }
144
- function S(e) {
145
+ function O(e) {
145
146
  var t = e.$$touchObj.options.touchClass;
146
147
  t && e.classList.remove(t);
147
148
  }
148
- function g(e) {
149
- e.touchHoldTimer && (clearTimeout(e.touchHoldTimer), e.touchHoldTimer = null);
149
+ function S(e) {
150
+ e && e.touchHoldTimer && (clearTimeout(e.touchHoldTimer), e.touchHoldTimer = null);
150
151
  }
151
- function O(e, t) {
152
+ function g(e, t) {
152
153
  var r = e.$$touchObj || {
153
154
  // an object contains all callbacks registered,
154
155
  // key is event name, value is an array
@@ -156,20 +157,20 @@ var z = function() {
156
157
  // prevent bind twice, set to true when event bound
157
158
  hasBindTouchEvents: !1,
158
159
  // default options, would be override by v-touch-options
159
- options: d
160
+ options: n
160
161
  };
161
162
  return t && (r.options = Object.assign({}, r.options, t)), e.$$touchObj = r, e.$$touchObj;
162
163
  }
163
- s.directive("touch", {
164
+ s.directive(n.namespace, {
164
165
  beforeMount: function(e, t) {
165
- var r = O(e), m = z ? { passive: !0 } : !1, f = t.arg || "tap";
166
- switch (f) {
166
+ var r = g(e), f = z ? { passive: !0 } : !1, d = t.arg || "tap";
167
+ switch (d) {
167
168
  case "swipe":
168
- var u = t.modifiers;
169
- if (u.left || u.right || u.top || u.bottom) {
170
- for (var n in t.modifiers)
171
- if (["left", "right", "top", "bottom"].indexOf(n) >= 0) {
172
- var i = "swipe." + n;
169
+ var l = t.modifiers;
170
+ if (l.left || l.right || l.top || l.bottom) {
171
+ for (var u in t.modifiers)
172
+ if (["left", "right", "top", "bottom"].indexOf(u) >= 0) {
173
+ var i = "swipe." + u;
173
174
  r.callbacks[i] = r.callbacks[i] || [], r.callbacks[i].push(t);
174
175
  }
175
176
  } else
@@ -177,24 +178,24 @@ var z = function() {
177
178
  break;
178
179
  case "press":
179
180
  case "drag":
180
- t.modifiers.disablePassive && (m = !1);
181
+ t.modifiers.disablePassive && (f = !1);
181
182
  default:
182
- r.callbacks[f] = r.callbacks[f] || [], r.callbacks[f].push(t);
183
+ r.callbacks[d] = r.callbacks[d] || [], r.callbacks[d].push(t);
183
184
  }
184
- r.hasBindTouchEvents || (e.addEventListener("touchstart", a, m), e.addEventListener("touchmove", p, m), e.addEventListener("touchcancel", v), e.addEventListener("touchend", l), r.options.disableClick || (e.addEventListener("mousedown", a), e.addEventListener("mousemove", p), e.addEventListener("mouseup", l), e.addEventListener("mouseenter", h), e.addEventListener("mouseleave", b)), r.hasBindTouchEvents = !0);
185
+ r.hasBindTouchEvents || (e.addEventListener("touchstart", a, f), e.addEventListener("touchmove", p, f), e.addEventListener("touchcancel", v), e.addEventListener("touchend", h), r.options.disableClick || (e.addEventListener("mousedown", a), e.addEventListener("mousemove", p), e.addEventListener("mouseup", h), e.addEventListener("mouseenter", m), e.addEventListener("mouseleave", b)), r.hasBindTouchEvents = !0);
185
186
  },
186
187
  unmounted: function(e) {
187
- e.removeEventListener("touchstart", a), e.removeEventListener("touchmove", p), e.removeEventListener("touchcancel", v), e.removeEventListener("touchend", l), e.$$touchObj && !e.$$touchObj.options.disableClick && (e.removeEventListener("mousedown", a), e.removeEventListener("mousemove", p), e.removeEventListener("mouseup", l), e.removeEventListener("mouseenter", h), e.removeEventListener("mouseleave", b)), delete e.$$touchObj;
188
+ S(e.$$touchObj), e.removeEventListener("touchstart", a), e.removeEventListener("touchmove", p), e.removeEventListener("touchcancel", v), e.removeEventListener("touchend", h), e.$$touchObj && !e.$$touchObj.options.disableClick && (e.removeEventListener("mousedown", a), e.removeEventListener("mousemove", p), e.removeEventListener("mouseup", h), e.removeEventListener("mouseenter", m), e.removeEventListener("mouseleave", b)), delete e.$$touchObj;
188
189
  }
189
- }), s.directive("touch-class", {
190
+ }), s.directive(`${n.namespace}-class`, {
190
191
  beforeMount: function(e, t) {
191
- O(e, {
192
+ g(e, {
192
193
  touchClass: t.value
193
194
  });
194
195
  }
195
- }), s.directive("touch-options", {
196
+ }), s.directive(`${n.namespace}-options`, {
196
197
  beforeMount: function(e, t) {
197
- O(e, t.value);
198
+ g(e, t.value);
198
199
  }
199
200
  });
200
201
  }
@@ -202,79 +203,79 @@ var z = function() {
202
203
  const K = /* @__PURE__ */ y({
203
204
  __name: "Dialogs",
204
205
  setup(s) {
205
- const o = F(), d = X(() => o.active ? B(o.active, ["deferred", "onConfirm", "onCancel", "slots"]) : null);
206
+ const o = F(), n = x(() => o.active ? B(o.active, ["deferred", "onConfirm", "onCancel", "slots"]) : null);
206
207
  function a() {
207
- var v, l, h;
208
- (v = o.active) != null && v.onCancel && o.active.onCancel(), (h = (l = o.active) == null ? void 0 : l.deferred) == null || h.resolve({
208
+ var v, h, m;
209
+ (v = o.active) != null && v.onCancel && o.active.onCancel(), (m = (h = o.active) == null ? void 0 : h.deferred) == null || m.resolve({
209
210
  isCanceled: !0
210
211
  }), o.close();
211
212
  }
212
213
  async function p() {
213
- var v, l, h;
214
- (v = o.active) != null && v.onConfirm && await o.active.onConfirm(), (h = (l = o.active) == null ? void 0 : l.deferred) == null || h.resolve({
214
+ var v, h, m;
215
+ (v = o.active) != null && v.onConfirm && await o.active.onConfirm(), (m = (h = o.active) == null ? void 0 : h.deferred) == null || m.resolve({
215
216
  isConfirmed: !0
216
217
  }), o.close();
217
218
  }
218
- return (v, l) => {
219
- var h;
220
- return x(), Y(A, D({
221
- open: !!d.value
222
- }, d.value, {
219
+ return (v, h) => {
220
+ var m;
221
+ return X(), Y(A, D({
222
+ open: !!n.value
223
+ }, n.value, {
223
224
  onConfirm: p,
224
225
  onCancel: a
225
226
  }), P({ _: 2 }, [
226
- N((h = _(o).active) == null ? void 0 : h.slots, (b, c) => ({
227
+ $((m = N(o).active) == null ? void 0 : m.slots, (b, c) => ({
227
228
  name: c,
228
- fn: I(() => [
229
- j(q, { render: b }, null, 8, ["render"])
229
+ fn: _(() => [
230
+ k(q, { render: b }, null, 8, ["render"])
230
231
  ])
231
232
  }))
232
233
  ]), 1040, ["open"]);
233
234
  };
234
235
  }
235
- }), k = "stash-dialogs-mount-node", Q = {
236
+ }), j = "stash-dialogs-mount-node", Q = {
236
237
  install(s, o) {
237
- const d = (o == null ? void 0 : o.mountNodeId) || k;
238
- let a = document.getElementById(d);
238
+ const n = (o == null ? void 0 : o.mountNodeId) || j;
239
+ let a = document.getElementById(n);
239
240
  if (a)
240
241
  return;
241
- a = document.createElement("div"), a.id = d, a.dataset.test = k, o != null && o.mountNodeClass && a.classList.add(o.mountNodeClass);
242
- const p = j($(K));
242
+ a = document.createElement("div"), a.id = n, a.dataset.test = j, o != null && o.mountNodeClass && a.classList.add(o.mountNodeClass);
243
+ const p = k(I(K));
243
244
  document.body.appendChild(a), p.appContext = s._context, H(p, a);
244
245
  }
245
- }, Xt = {
246
+ }, xt = {
246
247
  install(s, {
247
248
  i18n: o = void 0,
248
- storage: d = void 0,
249
+ storage: n = void 0,
249
250
  staticPath: a = "/static",
250
251
  images: p = {
251
252
  provider: "static"
252
253
  },
253
254
  googleMapsApiKey: v = void 0,
254
- menus: l,
255
- modals: h,
255
+ menus: h,
256
+ modals: m,
256
257
  toasts: b,
257
258
  dialogs: c
258
259
  } = {}) {
259
- s.use(J), o && (w.use(o.locale), w.i18n(o && o.t)), d && V(d), s.provide("stashOptions", {
260
+ s.use(J, {}), o && (w.use(o.locale), w.i18n(o && o.t)), n && V(n), s.provide("stashOptions", {
260
261
  i18n: o,
261
262
  images: p,
262
- storage: d,
263
+ storage: n,
263
264
  staticPath: a,
264
265
  googleMapsApiKey: v
265
- }), l !== !1 && s.use(R, l), h !== !1 && s.use(G, h), b !== !1 && s.use(U, b), c !== !1 && s.use(Q, c);
266
+ }), h !== !1 && s.use(R, h), m !== !1 && s.use(G, m), b !== !1 && s.use(U, b), c !== !1 && s.use(Q, c);
266
267
  }
267
268
  };
268
269
  export {
269
270
  Ht as SpacingDensity,
270
- Nt as StashColors,
271
- _t as StashCommonColors,
271
+ $t as StashColors,
272
+ Nt as StashCommonColors,
272
273
  Bt as StashImageProvider,
273
- It as StashPrimaryColors,
274
+ _t as StashPrimaryColors,
274
275
  qt as StatusColors,
275
276
  At as StatusIcons,
276
277
  Rt as StatusSeverities,
277
- Xt as default,
278
+ xt as default,
278
279
  V as overridePersistentStorage,
279
280
  Dt as persistentStorage
280
281
  };
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../node_modules/vue3-touch-events/index.js","../src/components/Dialogs/Dialogs.vue","../src/plugins/DialogsPlugin.ts","../src/index.ts"],"sourcesContent":["/**\r\n * @project vue3-touch-events\r\n * @author Robin Rodricks, Xavier Julien, Jerry Bendy\r\n * @since 30/4/2021\r\n * @url https://github.com/robinrodricks/vue3-touch-events\r\n */\r\n\r\nfunction touchX(event) {\r\n if(event.type.indexOf('mouse') !== -1){\r\n return event.clientX;\r\n }\r\n return event.touches[0].clientX;\r\n}\r\n\r\nfunction touchY(event) {\r\n if(event.type.indexOf('mouse') !== -1){\r\n return event.clientY;\r\n }\r\n return event.touches[0].clientY;\r\n}\r\n\r\nvar isPassiveSupported = (function() {\r\n var supportsPassive = false;\r\n try {\r\n var opts = Object.defineProperty({}, 'passive', {\r\n get: function() {\r\n supportsPassive = true;\r\n }\r\n });\r\n window.addEventListener('test', null, opts);\r\n } catch (e) {}\r\n return supportsPassive;\r\n})();\r\n\r\nvar vueTouchEvents = {\r\n install: function (app, constructorOptions) {\r\n\t\t\r\n var globalOptions = Object.assign({}, {\r\n disableClick: false,\r\n tapTolerance: 10, // px\r\n swipeTolerance: 30, // px\r\n touchHoldTolerance: 400, // ms\r\n longTapTimeInterval: 400, // ms\r\n touchClass: '',\r\n\t\t\tdragFrequency: 100, // ms\r\n\t\t\trollOverFrequency: 100, // ms\r\n }, constructorOptions);\r\n\r\n function touchStartEvent(event) {\r\n var $this = this.$$touchObj,\r\n isTouchEvent = event.type.indexOf('touch') >= 0,\r\n isMouseEvent = event.type.indexOf('mouse') >= 0,\r\n $el = this;\r\n\r\n if (isTouchEvent) {\r\n $this.lastTouchStartTime = event.timeStamp;\r\n }\r\n\r\n if (isMouseEvent && $this.lastTouchStartTime && event.timeStamp - $this.lastTouchStartTime < 350) {\r\n return;\r\n }\r\n\r\n if ($this.touchStarted) {\r\n return;\r\n }\r\n\r\n addTouchClass(this);\r\n\r\n $this.touchStarted = true; // always true while the element is being PRESSED\r\n\r\n $this.touchMoved = false; // true only when the element is PRESSED and DRAGGED a bit\r\n $this.swipeOutBounded = false;\r\n\r\n $this.startX = touchX(event);\r\n $this.startY = touchY(event);\r\n\r\n $this.currentX = 0; // always updated with the last mouse X/Y while over the element\r\n $this.currentY = 0;\r\n\r\n $this.touchStartTime = event.timeStamp;\r\n\t\t\t\r\n\t\t\t// performance: only process swipe events if `swipe.*` event is registered on this element\r\n\t\t\t$this.hasSwipe = hasEvent(this, 'swipe')\r\n\t\t\t\t|| hasEvent(this, 'swipe.left') || hasEvent(this, 'swipe.right')\r\n\t\t\t\t|| hasEvent(this, 'swipe.top') || hasEvent(this, 'swipe.bottom');\r\n\r\n\t\t\t// performance: only start hold timer if the `hold` event is registered on this element\r\n\t\t\tif (hasEvent(this, 'hold')){\r\n\t\t\t\t\r\n\t\t\t\t// Trigger touchhold event after `touchHoldTolerance` MS\r\n\t\t\t\t$this.touchHoldTimer = setTimeout(function() {\r\n\t\t\t\t\t$this.touchHoldTimer = null;\r\n\t\t\t\t\ttriggerEvent(event, $el, 'hold');\r\n\t\t\t\t}, $this.options.touchHoldTolerance);\r\n\t\t\t}\r\n\t\t\t\r\n triggerEvent(event, this, 'press');\r\n }\r\n\r\n function touchMoveEvent(event) {\r\n var $this = this.$$touchObj;\r\n\t\t\t\r\n\t\t\tvar curX = touchX(event);\r\n\t\t\tvar curY = touchY(event);\r\n\r\n\t\t\tvar movedAgain = ($this.currentX != curX) || ($this.currentY != curY);\r\n\t\t\t\r\n $this.currentX = curX;\r\n $this.currentY = curY;\r\n\r\n if (!$this.touchMoved) {\r\n var tapTolerance = $this.options.tapTolerance;\r\n\r\n $this.touchMoved = Math.abs($this.startX - $this.currentX) > tapTolerance ||\r\n\t\t\t\t\t\t\t\t Math.abs($this.startY - $this.currentY) > tapTolerance;\r\n\r\n\t\t\t\t// trigger `drag.once` only once after mouse FIRST moved while dragging the element\r\n\t\t\t\t// (`touchMoved` is the flag that indicates we no longer need to trigger this)\r\n if($this.touchMoved){\r\n cancelTouchHoldTimer($this);\r\n triggerEvent(event, this, 'drag.once');\r\n }\r\n\r\n\t\t\t// performance: only process swipe events if `swipe.*` event is registered on this element\r\n } else if ($this.hasSwipe && !$this.swipeOutBounded) {\r\n\t\t\t\tvar swipeOutBounded = $this.options.swipeTolerance;\r\n\r\n\t\t\t\t$this.swipeOutBounded = Math.abs($this.startX - $this.currentX) > swipeOutBounded &&\r\n\t\t\t\t\tMath.abs($this.startY - $this.currentY) > swipeOutBounded;\r\n }\r\n\r\n\t\t\t// only trigger `rollover` event if cursor actually moved over this element\r\n if(hasEvent(this, 'rollover') && movedAgain){\r\n\t\t\t\t\r\n\t\t\t\t// throttle the `rollover` event based on `rollOverFrequency`\r\n\t\t\t\tvar now = event.timeStamp;\r\n\t\t\t\tvar throttle = $this.options.rollOverFrequency;\r\n\t\t\t\tif ($this.touchRollTime == null || now > ($this.touchRollTime + throttle)){\r\n\t\t\t\t\t$this.touchRollTime = now;\r\n\t\t\t\t\t\r\n\t\t\t\t\ttriggerEvent(event, this, 'rollover');\r\n\t\t\t\t}\r\n }\r\n\r\n\t\t\t// only trigger `drag` event if cursor actually moved and if we are still dragging this element\r\n if(hasEvent(this, 'drag') && $this.touchStarted && $this.touchMoved && movedAgain){\r\n\t\t\t\t\r\n\t\t\t\t// throttle the `drag` event based on `dragFrequency`\r\n\t\t\t\tvar now = event.timeStamp;\r\n\t\t\t\tvar throttle = $this.options.dragFrequency;\r\n\t\t\t\tif ($this.touchDragTime == null || now > ($this.touchDragTime + throttle)){\r\n\t\t\t\t\t$this.touchDragTime = now;\r\n\t\t\t\t\t\r\n\t\t\t\t\ttriggerEvent(event, this, 'drag');\r\n\t\t\t\t}\r\n }\r\n }\r\n\r\n function touchCancelEvent() {\r\n var $this = this.$$touchObj;\r\n\r\n cancelTouchHoldTimer($this);\r\n removeTouchClass(this);\r\n\r\n $this.touchStarted = $this.touchMoved = false;\r\n $this.startX = $this.startY = 0;\r\n }\r\n\r\n function touchEndEvent(event) {\r\n var $this = this.$$touchObj,\r\n isTouchEvent = event.type.indexOf('touch') >= 0,\r\n isMouseEvent = event.type.indexOf('mouse') >= 0;\r\n\r\n if (isTouchEvent) {\r\n $this.lastTouchEndTime = event.timeStamp;\r\n }\r\n\r\n var touchholdEnd = isTouchEvent && !$this.touchHoldTimer;\r\n cancelTouchHoldTimer($this);\r\n\r\n $this.touchStarted = false;\r\n\r\n removeTouchClass(this);\r\n\r\n if (isMouseEvent && $this.lastTouchEndTime && event.timeStamp - $this.lastTouchEndTime < 350) {\r\n return;\r\n }\r\n\r\n // trigger `end` event when touch stopped\r\n triggerEvent(event, this, 'release');\r\n\r\n if (!$this.touchMoved) {\r\n // detect if this is a longTap event or not\r\n if (hasEvent(this, 'longtap') && event.timeStamp - $this.touchStartTime > $this.options.longTapTimeInterval) {\r\n if (event.cancelable) {\r\n event.preventDefault();\r\n }\r\n triggerEvent(event, this, 'longtap');\r\n\r\n } else if (hasEvent(this, 'hold') && touchholdEnd) {\r\n if (event.cancelable) {\r\n event.preventDefault();\r\n }\r\n return;\r\n } else {\r\n // emit tap event\r\n triggerEvent(event, this, 'tap');\r\n }\r\n\r\n\t\t\t// performance: only process swipe events if `swipe.*` event is registered on this element\r\n } else if ($this.hasSwipe && !$this.swipeOutBounded) {\r\n var swipeOutBounded = $this.options.swipeTolerance,\r\n direction,\r\n distanceY = Math.abs($this.startY - $this.currentY),\r\n distanceX = Math.abs($this.startX - $this.currentX);\r\n\r\n if (distanceY > swipeOutBounded || distanceX > swipeOutBounded) {\r\n if (distanceY > swipeOutBounded) {\r\n direction = $this.startY > $this.currentY ? 'top' : 'bottom';\r\n } else {\r\n direction = $this.startX > $this.currentX ? 'left' : 'right';\r\n }\r\n\r\n // Only emit the specified event when it has modifiers\r\n if (hasEvent(this, 'swipe.' + direction)) {\r\n triggerEvent(event, this, 'swipe.' + direction, direction);\r\n } else {\r\n // Emit a common event when it has no any modifier\r\n triggerEvent(event, this, 'swipe', direction);\r\n }\r\n }\r\n }\r\n }\r\n\r\n function mouseEnterEvent() {\r\n addTouchClass(this);\r\n }\r\n\r\n function mouseLeaveEvent() {\r\n removeTouchClass(this);\r\n }\r\n\r\n function hasEvent($el, eventType) {\r\n var callbacks = $el.$$touchObj.callbacks[eventType];\r\n\t\t\treturn (callbacks != null && callbacks.length > 0);\r\n\t\t}\r\n\t\t\r\n function triggerEvent(e, $el, eventType, param) {\r\n var $this = $el.$$touchObj;\r\n\r\n // get the subscribers for this event\r\n var callbacks = $this.callbacks[eventType];\r\n\t\t\t\r\n\t\t\t// exit if no subscribers to this particular event\r\n if (callbacks == null || callbacks.length === 0) {\r\n return null;\r\n }\r\n\r\n\t\t\t// per callback\r\n for (var i = 0; i < callbacks.length; i++) {\r\n var binding = callbacks[i];\r\n\r\n if (binding.modifiers.stop) {\r\n e.stopPropagation();\r\n }\r\n\r\n if (binding.modifiers.prevent) {\r\n e.preventDefault();\r\n }\r\n\r\n // handle `self` modifier`\r\n if (binding.modifiers.self && e.target !== e.currentTarget) {\r\n continue;\r\n }\r\n\r\n if (typeof binding.value === 'function') {\r\n if (param) {\r\n binding.value(param, e);\r\n } else {\r\n binding.value(e);\r\n }\r\n }\r\n }\r\n }\r\n\r\n function addTouchClass($el) {\r\n var className = $el.$$touchObj.options.touchClass;\r\n className && $el.classList.add(className);\r\n }\r\n\r\n function removeTouchClass($el) {\r\n var className = $el.$$touchObj.options.touchClass;\r\n className && $el.classList.remove(className);\r\n }\r\n\r\n function cancelTouchHoldTimer($this) {\r\n if ($this.touchHoldTimer) {\r\n clearTimeout($this.touchHoldTimer);\r\n $this.touchHoldTimer = null;\r\n }\r\n }\r\n\r\n function buildTouchObj($el, extraOptions) {\r\n var touchObj = $el.$$touchObj || {\r\n // an object contains all callbacks registered,\r\n // key is event name, value is an array\r\n callbacks: {},\r\n // prevent bind twice, set to true when event bound\r\n hasBindTouchEvents: false,\r\n // default options, would be override by v-touch-options\r\n options: globalOptions\r\n };\r\n if (extraOptions) {\r\n touchObj.options = Object.assign({}, touchObj.options, extraOptions);\r\n }\r\n $el.$$touchObj = touchObj;\r\n return $el.$$touchObj;\r\n }\r\n\r\n app.directive('touch', {\r\n beforeMount: function ($el, binding) {\r\n // build a touch configuration object\r\n var $this = buildTouchObj($el);\r\n // declare passive option for the event listener. Defaults to { passive: true } if supported\r\n var passiveOpt = isPassiveSupported ? { passive: true } : false;\r\n // register callback\r\n var eventType = binding.arg || 'tap';\r\n switch (eventType) {\r\n case 'swipe':\r\n var _m = binding.modifiers;\r\n if (_m.left || _m.right || _m.top || _m.bottom) {\r\n for (var i in binding.modifiers) {\r\n if (['left', 'right', 'top', 'bottom'].indexOf(i) >= 0) {\r\n var _e = 'swipe.' + i;\r\n $this.callbacks[_e] = $this.callbacks[_e] || [];\r\n $this.callbacks[_e].push(binding);\r\n }\r\n }\r\n } else {\r\n $this.callbacks.swipe = $this.callbacks.swipe || [];\r\n $this.callbacks.swipe.push(binding);\r\n }\r\n break;\r\n\r\n case 'press':\r\n case 'drag':\r\n if (binding.modifiers.disablePassive) {\r\n // change the passive option for the `drag` event if disablePassive modifier exists\r\n passiveOpt = false;\r\n }\r\n default:\r\n $this.callbacks[eventType] = $this.callbacks[eventType] || [];\r\n $this.callbacks[eventType].push(binding);\r\n }\r\n\r\n // prevent bind twice\r\n if ($this.hasBindTouchEvents) {\r\n return;\r\n }\r\n\r\n $el.addEventListener('touchstart', touchStartEvent, passiveOpt);\r\n $el.addEventListener('touchmove', touchMoveEvent, passiveOpt);\r\n $el.addEventListener('touchcancel', touchCancelEvent);\r\n $el.addEventListener('touchend', touchEndEvent);\r\n\r\n if (!$this.options.disableClick) {\r\n $el.addEventListener('mousedown', touchStartEvent);\r\n $el.addEventListener('mousemove', touchMoveEvent);\r\n $el.addEventListener('mouseup', touchEndEvent);\r\n $el.addEventListener('mouseenter', mouseEnterEvent);\r\n $el.addEventListener('mouseleave', mouseLeaveEvent);\r\n }\r\n\r\n // set bind mark to true\r\n $this.hasBindTouchEvents = true;\r\n },\r\n\r\n unmounted: function ($el) {\r\n $el.removeEventListener('touchstart', touchStartEvent);\r\n $el.removeEventListener('touchmove', touchMoveEvent);\r\n $el.removeEventListener('touchcancel', touchCancelEvent);\r\n $el.removeEventListener('touchend', touchEndEvent);\r\n\r\n if ($el.$$touchObj && !$el.$$touchObj.options.disableClick) {\r\n $el.removeEventListener('mousedown', touchStartEvent);\r\n $el.removeEventListener('mousemove', touchMoveEvent);\r\n $el.removeEventListener('mouseup', touchEndEvent);\r\n $el.removeEventListener('mouseenter', mouseEnterEvent);\r\n $el.removeEventListener('mouseleave', mouseLeaveEvent);\r\n }\r\n\r\n // remove vars\r\n delete $el.$$touchObj;\r\n }\r\n });\r\n\r\n app.directive('touch-class', {\r\n beforeMount: function ($el, binding) {\r\n buildTouchObj($el, {\r\n touchClass: binding.value\r\n });\r\n }\r\n });\r\n\r\n app.directive('touch-options', {\r\n beforeMount: function($el, binding) {\r\n buildTouchObj($el, binding.value);\r\n }\r\n });\r\n }\r\n};\r\n\r\n/*\r\n * Exports\r\n */\r\nexport default vueTouchEvents","<script setup lang=\"ts\">\n import omit from 'lodash-es/omit';\n import { computed } from 'vue';\n\n import useDialog from '../../composables/useDialog/useDialog';\n import CustomRender from '../CustomRender/CustomRender.vue';\n import Dialog from '../Dialog/Dialog.vue';\n\n const dialog = useDialog();\n\n const attributes = computed(() => {\n if (!dialog.active) return null;\n\n return omit(dialog.active, ['deferred', 'onConfirm', 'onCancel', 'slots']);\n });\n\n function onCancel() {\n if (dialog.active?.onCancel) {\n dialog.active.onCancel();\n }\n\n dialog.active?.deferred?.resolve({\n isCanceled: true,\n });\n\n dialog.close();\n }\n\n async function onConfirm() {\n if (dialog.active?.onConfirm) {\n await dialog.active.onConfirm();\n }\n\n dialog.active?.deferred?.resolve({\n isConfirmed: true,\n });\n\n dialog.close();\n }\n</script>\n\n<template>\n <Dialog :open=\"!!attributes\" v-bind=\"attributes\" @confirm=\"onConfirm\" @cancel=\"onCancel\">\n <template v-for=\"(value, name) in dialog.active?.slots\" :key=\"name\" #[name]>\n <CustomRender :render=\"value\" />\n </template>\n </Dialog>\n</template>\n","import { App, createVNode, h, Plugin, render } from 'vue';\n\nimport Dialogs from '../components/Dialogs/Dialogs.vue';\n\nexport interface DialogsPluginOptions {\n mountNodeClass?: string;\n mountNodeId?: string;\n}\n\nexport const DEFAULT_DIALOGS_PLUGIN_NODE_ID = 'stash-dialogs-mount-node';\n\nexport default <Plugin>{\n install(app: App, options?: DialogsPluginOptions) {\n const mountNodeId = options?.mountNodeId || DEFAULT_DIALOGS_PLUGIN_NODE_ID;\n let mountNode = document.getElementById(mountNodeId);\n\n // If the mount node already exists, do nothing\n if (mountNode) {\n return;\n }\n\n mountNode = document.createElement('div');\n mountNode.id = mountNodeId;\n mountNode.dataset.test = DEFAULT_DIALOGS_PLUGIN_NODE_ID;\n\n if (options?.mountNodeClass) {\n mountNode.classList.add(options.mountNodeClass);\n }\n\n const vNode = createVNode(h(Dialogs));\n document.body.appendChild(mountNode);\n vNode.appContext = app._context;\n\n render(vNode, mountNode);\n },\n};\n","import { Plugin } from 'vue';\nimport Vue3TouchEvents from 'vue3-touch-events';\n\nimport { I18nPlugin, StashOptionImages, StashProvideState } from '../types/misc';\nimport locale from './locale';\n// this is valid syntax per the TS docs, but prettier throws an error expecting a comma after `type`\n// eslint-disable-next-line prettier/prettier\nimport DialogsPlugin, { type DialogsPluginOptions } from './plugins/DialogsPlugin';\nimport MenusPlugin, { type MenusPluginOptions } from './plugins/MenusPlugin';\nimport ModalsPlugin, { type ModalsPluginOptions } from './plugins/ModalsPlugin';\nimport ToastsPlugin, { type ToastsPluginOptions } from './plugins/ToastsPlugin';\nimport { overridePersistentStorage, persistentStorage } from './storage';\n\nexport interface StashPluginOptions {\n i18n?: I18nPlugin;\n storage?: {\n set: <T = unknown>(name: string, data: T, options?: { [key: string]: unknown }) => void;\n get: <T = unknown>(name: string, options?: { [key: string]: unknown }) => T;\n };\n staticPath?: string;\n images?: StashOptionImages;\n googleMapsApiKey?: string;\n menus?: false | MenusPluginOptions;\n modals?: false | ModalsPluginOptions;\n toasts?: false | ToastsPluginOptions;\n dialogs?: false | DialogsPluginOptions;\n}\n\nexport default <Plugin>{\n install(\n app,\n {\n i18n = undefined,\n storage = undefined,\n staticPath = '/static',\n images = {\n provider: 'static',\n },\n googleMapsApiKey = undefined,\n menus,\n modals,\n toasts,\n dialogs,\n }: StashPluginOptions = {},\n ) {\n app.use(Vue3TouchEvents);\n\n // locale\n if (i18n) {\n locale.use(i18n.locale);\n locale.i18n(i18n && i18n.t);\n }\n\n // persistent storage (localStorage)\n if (storage) {\n overridePersistentStorage(storage);\n }\n\n // expose stash options to the rest of your application\n app.provide<StashProvideState>('stashOptions', {\n i18n,\n images,\n storage,\n staticPath,\n googleMapsApiKey,\n });\n\n if (menus !== false) {\n app.use(MenusPlugin, menus);\n }\n\n if (modals !== false) {\n app.use(ModalsPlugin, modals);\n }\n\n if (toasts !== false) {\n app.use(ToastsPlugin, toasts);\n }\n\n if (dialogs !== false) {\n app.use(DialogsPlugin, dialogs);\n }\n },\n};\n\nexport { persistentStorage };\n\n// Re-export things that are useful for consumers\nexport * from '../types';\nexport * from './storage';\n\n// Todo: Investigate tree-shaking issues to see if we can expose these. Theoritically\n// should be no issue, however test framework startup time, specifically w/ Jest,\n// seems to be the major blocker here.\n// export * from './components';\n// export * from './composables';\n// export * from './constants';\n// export * from './directives';\n// export * from './locale';\n// export * from './plugins';\n// export { default as ToastsPlugin } from './plugins/ToastsPlugin';\n"],"names":["touchX","event","touchY","isPassiveSupported","supportsPassive","opts","vueTouchEvents","app","constructorOptions","globalOptions","touchStartEvent","$this","isTouchEvent","isMouseEvent","$el","addTouchClass","hasEvent","triggerEvent","touchMoveEvent","curX","curY","movedAgain","swipeOutBounded","tapTolerance","cancelTouchHoldTimer","now","throttle","touchCancelEvent","removeTouchClass","touchEndEvent","touchholdEnd","direction","distanceY","distanceX","mouseEnterEvent","mouseLeaveEvent","eventType","callbacks","param","i","binding","className","buildTouchObj","extraOptions","touchObj","passiveOpt","_m","_e","dialog","useDialog","attributes","computed","omit","onCancel","_a","_c","_b","onConfirm","DEFAULT_DIALOGS_PLUGIN_NODE_ID","DialogsPlugin","options","mountNodeId","mountNode","vNode","createVNode","h","Dialogs","render","index","i18n","storage","staticPath","images","googleMapsApiKey","menus","modals","toasts","dialogs","Vue3TouchEvents","locale","overridePersistentStorage","MenusPlugin","ModalsPlugin","ToastsPlugin"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.js","sources":["../node_modules/vue3-touch-events/index.js","../src/components/Dialogs/Dialogs.vue","../src/plugins/DialogsPlugin.ts","../src/index.ts"],"sourcesContent":["/**\r\n * @project vue3-touch-events\r\n * @author Robin Rodricks, Xavier Julien, Jerry Bendy\r\n * @since 30/4/2021\r\n * @url https://github.com/robinrodricks/vue3-touch-events\r\n */\r\n\r\nfunction touchX(event) {\r\n if(event.type.indexOf('mouse') !== -1){\r\n return event.clientX;\r\n }\r\n return event.touches[0].clientX;\r\n}\r\n\r\nfunction touchY(event) {\r\n if(event.type.indexOf('mouse') !== -1){\r\n return event.clientY;\r\n }\r\n return event.touches[0].clientY;\r\n}\r\n\r\nvar isPassiveSupported = (function() {\r\n var supportsPassive = false;\r\n try {\r\n var opts = Object.defineProperty({}, 'passive', {\r\n get: function() {\r\n supportsPassive = true;\r\n }\r\n });\r\n window.addEventListener('test', null, opts);\r\n } catch (e) {}\r\n return supportsPassive;\r\n})();\r\n\r\nvar vueTouchEvents = {\r\n install: function (app, constructorOptions) {\r\n\t\t\r\n var globalOptions = Object.assign({}, {\r\n disableClick: false,\r\n tapTolerance: 10, // px\r\n swipeTolerance: 30, // px\r\n touchHoldTolerance: 400, // ms\r\n longTapTimeInterval: 400, // ms\r\n touchClass: '',\r\n\t\t\tdragFrequency: 100, // ms\r\n\t\t\trollOverFrequency: 100, // ms\r\n namespace: 'touch',\r\n }, constructorOptions);\r\n\r\n function touchStartEvent(event) {\r\n var $this = this.$$touchObj,\r\n isTouchEvent = event.type.indexOf('touch') >= 0,\r\n isMouseEvent = event.type.indexOf('mouse') >= 0,\r\n $el = this;\r\n\r\n if (isTouchEvent) {\r\n $this.lastTouchStartTime = event.timeStamp;\r\n }\r\n\r\n if (isMouseEvent && $this.lastTouchStartTime && event.timeStamp - $this.lastTouchStartTime < 350) {\r\n return;\r\n }\r\n\r\n if ($this.touchStarted) {\r\n return;\r\n }\r\n\r\n addTouchClass(this);\r\n\r\n $this.touchStarted = true; // always true while the element is being PRESSED\r\n\r\n $this.touchMoved = false; // true only when the element is PRESSED and DRAGGED a bit\r\n $this.swipeOutBounded = false;\r\n\r\n $this.startX = touchX(event);\r\n $this.startY = touchY(event);\r\n\r\n $this.currentX = 0; // always updated with the last mouse X/Y while over the element\r\n $this.currentY = 0;\r\n\r\n $this.touchStartTime = event.timeStamp;\r\n\t\t\t\r\n\t\t\t// performance: only process swipe events if `swipe.*` event is registered on this element\r\n\t\t\t$this.hasSwipe = hasEvent(this, 'swipe')\r\n\t\t\t\t|| hasEvent(this, 'swipe.left') || hasEvent(this, 'swipe.right')\r\n\t\t\t\t|| hasEvent(this, 'swipe.top') || hasEvent(this, 'swipe.bottom');\r\n\r\n\t\t\t// performance: only start hold timer if the `hold` event is registered on this element\r\n\t\t\tif (hasEvent(this, 'hold')){\r\n\t\t\t\t\r\n\t\t\t\t// Trigger touchhold event after `touchHoldTolerance` MS\r\n\t\t\t\t$this.touchHoldTimer = setTimeout(function() {\r\n\t\t\t\t\t$this.touchHoldTimer = null;\r\n\t\t\t\t\ttriggerEvent(event, $el, 'hold');\r\n\t\t\t\t}, $this.options.touchHoldTolerance);\r\n\t\t\t}\r\n\t\t\t\r\n triggerEvent(event, this, 'press');\r\n }\r\n\r\n function touchMoveEvent(event) {\r\n var $this = this.$$touchObj;\r\n\t\t\t\r\n\t\t\tvar curX = touchX(event);\r\n\t\t\tvar curY = touchY(event);\r\n\r\n\t\t\tvar movedAgain = ($this.currentX != curX) || ($this.currentY != curY);\r\n\t\t\t\r\n $this.currentX = curX;\r\n $this.currentY = curY;\r\n\r\n if (!$this.touchMoved) {\r\n var tapTolerance = $this.options.tapTolerance;\r\n\r\n $this.touchMoved = Math.abs($this.startX - $this.currentX) > tapTolerance ||\r\n\t\t\t\t\t\t\t\t Math.abs($this.startY - $this.currentY) > tapTolerance;\r\n\r\n\t\t\t\t// trigger `drag.once` only once after mouse FIRST moved while dragging the element\r\n\t\t\t\t// (`touchMoved` is the flag that indicates we no longer need to trigger this)\r\n if($this.touchMoved){\r\n cancelTouchHoldTimer($this);\r\n triggerEvent(event, this, 'drag.once');\r\n }\r\n\r\n\t\t\t// performance: only process swipe events if `swipe.*` event is registered on this element\r\n } else if ($this.hasSwipe && !$this.swipeOutBounded) {\r\n\t\t\t\tvar swipeOutBounded = $this.options.swipeTolerance;\r\n\r\n\t\t\t\t$this.swipeOutBounded = Math.abs($this.startX - $this.currentX) > swipeOutBounded &&\r\n\t\t\t\t\tMath.abs($this.startY - $this.currentY) > swipeOutBounded;\r\n }\r\n\r\n\t\t\t// only trigger `rollover` event if cursor actually moved over this element\r\n if(hasEvent(this, 'rollover') && movedAgain){\r\n\t\t\t\t\r\n\t\t\t\t// throttle the `rollover` event based on `rollOverFrequency`\r\n\t\t\t\tvar now = event.timeStamp;\r\n\t\t\t\tvar throttle = $this.options.rollOverFrequency;\r\n\t\t\t\tif ($this.touchRollTime == null || now > ($this.touchRollTime + throttle)){\r\n\t\t\t\t\t$this.touchRollTime = now;\r\n\t\t\t\t\t\r\n\t\t\t\t\ttriggerEvent(event, this, 'rollover');\r\n\t\t\t\t}\r\n }\r\n\r\n\t\t\t// only trigger `drag` event if cursor actually moved and if we are still dragging this element\r\n if(hasEvent(this, 'drag') && $this.touchStarted && $this.touchMoved && movedAgain){\r\n\t\t\t\t\r\n\t\t\t\t// throttle the `drag` event based on `dragFrequency`\r\n\t\t\t\tvar now = event.timeStamp;\r\n\t\t\t\tvar throttle = $this.options.dragFrequency;\r\n\t\t\t\tif ($this.touchDragTime == null || now > ($this.touchDragTime + throttle)){\r\n\t\t\t\t\t$this.touchDragTime = now;\r\n\t\t\t\t\t\r\n\t\t\t\t\ttriggerEvent(event, this, 'drag');\r\n\t\t\t\t}\r\n }\r\n }\r\n\r\n function touchCancelEvent() {\r\n var $this = this.$$touchObj;\r\n\r\n cancelTouchHoldTimer($this);\r\n removeTouchClass(this);\r\n\r\n $this.touchStarted = $this.touchMoved = false;\r\n $this.startX = $this.startY = 0;\r\n }\r\n\r\n function touchEndEvent(event) {\r\n var $this = this.$$touchObj,\r\n isTouchEvent = event.type.indexOf('touch') >= 0,\r\n isMouseEvent = event.type.indexOf('mouse') >= 0;\r\n\r\n if (isTouchEvent) {\r\n $this.lastTouchEndTime = event.timeStamp;\r\n }\r\n\r\n var touchholdEnd = isTouchEvent && !$this.touchHoldTimer;\r\n cancelTouchHoldTimer($this);\r\n\r\n $this.touchStarted = false;\r\n\r\n removeTouchClass(this);\r\n\r\n if (isMouseEvent && $this.lastTouchEndTime && event.timeStamp - $this.lastTouchEndTime < 350) {\r\n return;\r\n }\r\n\r\n // trigger `end` event when touch stopped\r\n triggerEvent(event, this, 'release');\r\n\r\n if (!$this.touchMoved) {\r\n // detect if this is a longTap event or not\r\n if (hasEvent(this, 'longtap') && event.timeStamp - $this.touchStartTime > $this.options.longTapTimeInterval) {\r\n if (event.cancelable) {\r\n event.preventDefault();\r\n }\r\n triggerEvent(event, this, 'longtap');\r\n\r\n } else if (hasEvent(this, 'hold') && touchholdEnd) {\r\n if (event.cancelable) {\r\n event.preventDefault();\r\n }\r\n return;\r\n } else {\r\n // emit tap event\r\n triggerEvent(event, this, 'tap');\r\n }\r\n\r\n\t\t\t// performance: only process swipe events if `swipe.*` event is registered on this element\r\n } else if ($this.hasSwipe && !$this.swipeOutBounded) {\r\n var swipeOutBounded = $this.options.swipeTolerance,\r\n direction,\r\n distanceY = Math.abs($this.startY - $this.currentY),\r\n distanceX = Math.abs($this.startX - $this.currentX);\r\n\r\n if (distanceY > swipeOutBounded || distanceX > swipeOutBounded) {\r\n if (distanceY > distanceX) {\r\n direction = $this.startY > $this.currentY ? 'top' : 'bottom';\r\n } else {\r\n direction = $this.startX > $this.currentX ? 'left' : 'right';\r\n }\r\n\r\n // Only emit the specified event when it has modifiers\r\n if (hasEvent(this, 'swipe.' + direction)) {\r\n triggerEvent(event, this, 'swipe.' + direction, direction);\r\n } else {\r\n // Emit a common event when it has no any modifier\r\n triggerEvent(event, this, 'swipe', direction);\r\n }\r\n }\r\n }\r\n }\r\n\r\n function mouseEnterEvent() {\r\n addTouchClass(this);\r\n }\r\n\r\n function mouseLeaveEvent() {\r\n removeTouchClass(this);\r\n }\r\n\r\n function hasEvent($el, eventType) {\r\n var callbacks = $el.$$touchObj.callbacks[eventType];\r\n\t\t\treturn (callbacks != null && callbacks.length > 0);\r\n\t\t}\r\n\t\t\r\n function triggerEvent(e, $el, eventType, param) {\r\n var $this = $el.$$touchObj;\r\n\r\n // get the subscribers for this event\r\n var callbacks = $this.callbacks[eventType];\r\n\t\t\t\r\n\t\t\t// exit if no subscribers to this particular event\r\n if (callbacks == null || callbacks.length === 0) {\r\n return null;\r\n }\r\n\r\n\t\t\t// per callback\r\n for (var i = 0; i < callbacks.length; i++) {\r\n var binding = callbacks[i];\r\n\r\n if (binding.modifiers.stop) {\r\n e.stopPropagation();\r\n }\r\n\r\n if (binding.modifiers.prevent) {\r\n e.preventDefault();\r\n }\r\n\r\n // handle `self` modifier`\r\n if (binding.modifiers.self && e.target !== e.currentTarget) {\r\n continue;\r\n }\r\n\r\n if (typeof binding.value === 'function') {\r\n if (param) {\r\n binding.value(param, e);\r\n } else {\r\n binding.value(e);\r\n }\r\n }\r\n }\r\n }\r\n\r\n function addTouchClass($el) {\r\n var className = $el.$$touchObj.options.touchClass;\r\n className && $el.classList.add(className);\r\n }\r\n\r\n function removeTouchClass($el) {\r\n var className = $el.$$touchObj.options.touchClass;\r\n className && $el.classList.remove(className);\r\n }\r\n\r\n function cancelTouchHoldTimer($this) {\r\n if ($this && $this.touchHoldTimer) {\r\n clearTimeout($this.touchHoldTimer);\r\n $this.touchHoldTimer = null;\r\n }\r\n }\r\n\r\n function buildTouchObj($el, extraOptions) {\r\n var touchObj = $el.$$touchObj || {\r\n // an object contains all callbacks registered,\r\n // key is event name, value is an array\r\n callbacks: {},\r\n // prevent bind twice, set to true when event bound\r\n hasBindTouchEvents: false,\r\n // default options, would be override by v-touch-options\r\n options: globalOptions\r\n };\r\n if (extraOptions) {\r\n touchObj.options = Object.assign({}, touchObj.options, extraOptions);\r\n }\r\n $el.$$touchObj = touchObj;\r\n return $el.$$touchObj;\r\n }\r\n\r\n app.directive(globalOptions.namespace, {\r\n beforeMount: function ($el, binding) {\r\n // build a touch configuration object\r\n var $this = buildTouchObj($el);\r\n // declare passive option for the event listener. Defaults to { passive: true } if supported\r\n var passiveOpt = isPassiveSupported ? { passive: true } : false;\r\n // register callback\r\n var eventType = binding.arg || 'tap';\r\n switch (eventType) {\r\n case 'swipe':\r\n var _m = binding.modifiers;\r\n if (_m.left || _m.right || _m.top || _m.bottom) {\r\n for (var i in binding.modifiers) {\r\n if (['left', 'right', 'top', 'bottom'].indexOf(i) >= 0) {\r\n var _e = 'swipe.' + i;\r\n $this.callbacks[_e] = $this.callbacks[_e] || [];\r\n $this.callbacks[_e].push(binding);\r\n }\r\n }\r\n } else {\r\n $this.callbacks.swipe = $this.callbacks.swipe || [];\r\n $this.callbacks.swipe.push(binding);\r\n }\r\n break;\r\n\r\n case 'press':\r\n case 'drag':\r\n if (binding.modifiers.disablePassive) {\r\n // change the passive option for the `drag` event if disablePassive modifier exists\r\n passiveOpt = false;\r\n }\r\n default:\r\n $this.callbacks[eventType] = $this.callbacks[eventType] || [];\r\n $this.callbacks[eventType].push(binding);\r\n }\r\n\r\n // prevent bind twice\r\n if ($this.hasBindTouchEvents) {\r\n return;\r\n }\r\n\r\n $el.addEventListener('touchstart', touchStartEvent, passiveOpt);\r\n $el.addEventListener('touchmove', touchMoveEvent, passiveOpt);\r\n $el.addEventListener('touchcancel', touchCancelEvent);\r\n $el.addEventListener('touchend', touchEndEvent);\r\n\r\n if (!$this.options.disableClick) {\r\n $el.addEventListener('mousedown', touchStartEvent);\r\n $el.addEventListener('mousemove', touchMoveEvent);\r\n $el.addEventListener('mouseup', touchEndEvent);\r\n $el.addEventListener('mouseenter', mouseEnterEvent);\r\n $el.addEventListener('mouseleave', mouseLeaveEvent);\r\n }\r\n\r\n // set bind mark to true\r\n $this.hasBindTouchEvents = true;\r\n },\r\n\r\n unmounted: function ($el) {\r\n cancelTouchHoldTimer($el.$$touchObj)\r\n\r\n $el.removeEventListener('touchstart', touchStartEvent);\r\n $el.removeEventListener('touchmove', touchMoveEvent);\r\n $el.removeEventListener('touchcancel', touchCancelEvent);\r\n $el.removeEventListener('touchend', touchEndEvent);\r\n\r\n if ($el.$$touchObj && !$el.$$touchObj.options.disableClick) {\r\n $el.removeEventListener('mousedown', touchStartEvent);\r\n $el.removeEventListener('mousemove', touchMoveEvent);\r\n $el.removeEventListener('mouseup', touchEndEvent);\r\n $el.removeEventListener('mouseenter', mouseEnterEvent);\r\n $el.removeEventListener('mouseleave', mouseLeaveEvent);\r\n }\r\n\r\n // remove vars\r\n delete $el.$$touchObj;\r\n }\r\n });\r\n\r\n app.directive(`${globalOptions.namespace}-class`, {\r\n beforeMount: function ($el, binding) {\r\n buildTouchObj($el, {\r\n touchClass: binding.value\r\n });\r\n }\r\n });\r\n\r\n app.directive(`${globalOptions.namespace}-options`, {\r\n beforeMount: function($el, binding) {\r\n buildTouchObj($el, binding.value);\r\n }\r\n });\r\n }\r\n};\r\n\r\n/*\r\n * Exports\r\n */\r\nexport default vueTouchEvents\r\n","<script setup lang=\"ts\">\n import omit from 'lodash-es/omit';\n import { computed } from 'vue';\n\n import useDialog from '../../composables/useDialog/useDialog';\n import CustomRender from '../CustomRender/CustomRender.vue';\n import Dialog from '../Dialog/Dialog.vue';\n\n const dialog = useDialog();\n\n const attributes = computed(() => {\n if (!dialog.active) return null;\n\n return omit(dialog.active, ['deferred', 'onConfirm', 'onCancel', 'slots']);\n });\n\n function onCancel() {\n if (dialog.active?.onCancel) {\n dialog.active.onCancel();\n }\n\n dialog.active?.deferred?.resolve({\n isCanceled: true,\n });\n\n dialog.close();\n }\n\n async function onConfirm() {\n if (dialog.active?.onConfirm) {\n await dialog.active.onConfirm();\n }\n\n dialog.active?.deferred?.resolve({\n isConfirmed: true,\n });\n\n dialog.close();\n }\n</script>\n\n<template>\n <Dialog :open=\"!!attributes\" v-bind=\"attributes\" @confirm=\"onConfirm\" @cancel=\"onCancel\">\n <template v-for=\"(value, name) in dialog.active?.slots\" :key=\"name\" #[name]>\n <CustomRender :render=\"value\" />\n </template>\n </Dialog>\n</template>\n","import { App, createVNode, h, Plugin, render } from 'vue';\n\nimport Dialogs from '../components/Dialogs/Dialogs.vue';\n\nexport interface DialogsPluginOptions {\n mountNodeClass?: string;\n mountNodeId?: string;\n}\n\nexport const DEFAULT_DIALOGS_PLUGIN_NODE_ID = 'stash-dialogs-mount-node';\n\nexport default <Plugin>{\n install(app: App, options?: DialogsPluginOptions) {\n const mountNodeId = options?.mountNodeId || DEFAULT_DIALOGS_PLUGIN_NODE_ID;\n let mountNode = document.getElementById(mountNodeId);\n\n // If the mount node already exists, do nothing\n if (mountNode) {\n return;\n }\n\n mountNode = document.createElement('div');\n mountNode.id = mountNodeId;\n mountNode.dataset.test = DEFAULT_DIALOGS_PLUGIN_NODE_ID;\n\n if (options?.mountNodeClass) {\n mountNode.classList.add(options.mountNodeClass);\n }\n\n const vNode = createVNode(h(Dialogs));\n document.body.appendChild(mountNode);\n vNode.appContext = app._context;\n\n render(vNode, mountNode);\n },\n};\n","import { Plugin } from 'vue';\nimport Vue3TouchEvents, { type Vue3TouchEventsOptions } from 'vue3-touch-events';\n\nimport { I18nPlugin, StashOptionImages, StashProvideState } from '../types/misc';\nimport locale from './locale';\n// this is valid syntax per the TS docs, but prettier throws an error expecting a comma after `type`\n// eslint-disable-next-line prettier/prettier\nimport DialogsPlugin, { type DialogsPluginOptions } from './plugins/DialogsPlugin';\nimport MenusPlugin, { type MenusPluginOptions } from './plugins/MenusPlugin';\nimport ModalsPlugin, { type ModalsPluginOptions } from './plugins/ModalsPlugin';\nimport ToastsPlugin, { type ToastsPluginOptions } from './plugins/ToastsPlugin';\nimport { overridePersistentStorage, persistentStorage } from './storage';\n\nexport interface StashPluginOptions {\n i18n?: I18nPlugin;\n storage?: {\n set: <T = unknown>(name: string, data: T, options?: { [key: string]: unknown }) => void;\n get: <T = unknown>(name: string, options?: { [key: string]: unknown }) => T;\n };\n staticPath?: string;\n images?: StashOptionImages;\n googleMapsApiKey?: string;\n menus?: false | MenusPluginOptions;\n modals?: false | ModalsPluginOptions;\n toasts?: false | ToastsPluginOptions;\n dialogs?: false | DialogsPluginOptions;\n}\n\nexport default <Plugin>{\n install(\n app,\n {\n i18n = undefined,\n storage = undefined,\n staticPath = '/static',\n images = {\n provider: 'static',\n },\n googleMapsApiKey = undefined,\n menus,\n modals,\n toasts,\n dialogs,\n }: StashPluginOptions = {},\n ) {\n app.use<Vue3TouchEventsOptions>(Vue3TouchEvents, {});\n\n // locale\n if (i18n) {\n locale.use(i18n.locale);\n locale.i18n(i18n && i18n.t);\n }\n\n // persistent storage (localStorage)\n if (storage) {\n overridePersistentStorage(storage);\n }\n\n // expose stash options to the rest of your application\n app.provide<StashProvideState>('stashOptions', {\n i18n,\n images,\n storage,\n staticPath,\n googleMapsApiKey,\n });\n\n if (menus !== false) {\n app.use(MenusPlugin, menus);\n }\n\n if (modals !== false) {\n app.use(ModalsPlugin, modals);\n }\n\n if (toasts !== false) {\n app.use(ToastsPlugin, toasts);\n }\n\n if (dialogs !== false) {\n app.use(DialogsPlugin, dialogs);\n }\n },\n};\n\nexport { persistentStorage };\n\n// Re-export things that are useful for consumers\nexport * from '../types';\nexport * from './storage';\n\n// Todo: Investigate tree-shaking issues to see if we can expose these. Theoritically\n// should be no issue, however test framework startup time, specifically w/ Jest,\n// seems to be the major blocker here.\n// export * from './components';\n// export * from './composables';\n// export * from './constants';\n// export * from './directives';\n// export * from './locale';\n// export * from './plugins';\n// export { default as ToastsPlugin } from './plugins/ToastsPlugin';\n"],"names":["touchX","event","touchY","isPassiveSupported","supportsPassive","opts","vueTouchEvents","app","constructorOptions","globalOptions","touchStartEvent","$this","isTouchEvent","isMouseEvent","$el","addTouchClass","hasEvent","triggerEvent","touchMoveEvent","curX","curY","movedAgain","swipeOutBounded","tapTolerance","cancelTouchHoldTimer","now","throttle","touchCancelEvent","removeTouchClass","touchEndEvent","touchholdEnd","direction","distanceY","distanceX","mouseEnterEvent","mouseLeaveEvent","eventType","callbacks","param","i","binding","className","buildTouchObj","extraOptions","touchObj","passiveOpt","_m","_e","dialog","useDialog","attributes","computed","omit","onCancel","_a","_c","_b","onConfirm","DEFAULT_DIALOGS_PLUGIN_NODE_ID","DialogsPlugin","options","mountNodeId","mountNode","vNode","createVNode","h","Dialogs","render","index","i18n","storage","staticPath","images","googleMapsApiKey","menus","modals","toasts","dialogs","Vue3TouchEvents","locale","overridePersistentStorage","MenusPlugin","ModalsPlugin","ToastsPlugin"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,18 @@
1
+ function o(t) {
2
+ const e = Object.prototype.toString.call(t);
3
+ return t instanceof Date || typeof t == "object" && e === "[object Date]" ? new t.constructor(+t) : typeof t == "number" || e === "[object Number]" || typeof t == "string" || e === "[object String]" ? new Date(t) : /* @__PURE__ */ new Date(NaN);
4
+ }
5
+ function n(t) {
6
+ return t instanceof Date || typeof t == "object" && Object.prototype.toString.call(t) === "[object Date]";
7
+ }
8
+ function r(t) {
9
+ if (!n(t) && typeof t != "number")
10
+ return !1;
11
+ const e = o(t);
12
+ return !isNaN(Number(e));
13
+ }
14
+ export {
15
+ r as i,
16
+ o as t
17
+ };
18
+ //# sourceMappingURL=isValid-4b2b7a54.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isValid-4b2b7a54.js","sources":["../node_modules/date-fns/toDate.mjs","../node_modules/date-fns/isDate.mjs","../node_modules/date-fns/isValid.mjs"],"sourcesContent":["/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If the argument is none of the above, the function returns Invalid Date.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param argument - The value to convert\n *\n * @returns The parsed date in the local time zone\n *\n * @example\n * // Clone the date:\n * const result = toDate(new Date(2014, 1, 11, 11, 30, 30))\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert the timestamp to date:\n * const result = toDate(1392098430000)\n * //=> Tue Feb 11 2014 11:30:30\n */\nexport function toDate(argument) {\n const argStr = Object.prototype.toString.call(argument);\n\n // Clone the date\n if (\n argument instanceof Date ||\n (typeof argument === \"object\" && argStr === \"[object Date]\")\n ) {\n // Prevent the date to lose the milliseconds when passed to new Date() in IE10\n return new argument.constructor(+argument);\n } else if (\n typeof argument === \"number\" ||\n argStr === \"[object Number]\" ||\n typeof argument === \"string\" ||\n argStr === \"[object String]\"\n ) {\n // TODO: Can we get rid of as?\n return new Date(argument);\n } else {\n // TODO: Can we get rid of as?\n return new Date(NaN);\n }\n}\n\n// Fallback for modularized imports:\nexport default toDate;\n","/**\n * @name isDate\n * @category Common Helpers\n * @summary Is the given value a date?\n *\n * @description\n * Returns true if the given value is an instance of Date. The function works for dates transferred across iframes.\n *\n * @param value - The value to check\n *\n * @returns True if the given value is a date\n *\n * @example\n * // For a valid date:\n * const result = isDate(new Date())\n * //=> true\n *\n * @example\n * // For an invalid date:\n * const result = isDate(new Date(NaN))\n * //=> true\n *\n * @example\n * // For some value:\n * const result = isDate('2014-02-31')\n * //=> false\n *\n * @example\n * // For an object:\n * const result = isDate({})\n * //=> false\n */\nexport function isDate(value) {\n return (\n value instanceof Date ||\n (typeof value === \"object\" &&\n Object.prototype.toString.call(value) === \"[object Date]\")\n );\n}\n\n// Fallback for modularized imports:\nexport default isDate;\n","import { isDate } from \"./isDate.mjs\";\nimport { toDate } from \"./toDate.mjs\";\n\n/**\n * @name isValid\n * @category Common Helpers\n * @summary Is the given date valid?\n *\n * @description\n * Returns false if argument is Invalid Date and true otherwise.\n * Argument is converted to Date using `toDate`. See [toDate](https://date-fns.org/docs/toDate)\n * Invalid Date is a Date, whose time value is NaN.\n *\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n *\n * @param date - The date to check\n *\n * @returns The date is valid\n *\n * @example\n * // For the valid date:\n * const result = isValid(new Date(2014, 1, 31))\n * //=> true\n *\n * @example\n * // For the value, convertable into a date:\n * const result = isValid(1393804800000)\n * //=> true\n *\n * @example\n * // For the invalid date:\n * const result = isValid(new Date(''))\n * //=> false\n */\nexport function isValid(date) {\n if (!isDate(date) && typeof date !== \"number\") {\n return false;\n }\n const _date = toDate(date);\n return !isNaN(Number(_date));\n}\n\n// Fallback for modularized imports:\nexport default isValid;\n"],"names":["toDate","argument","argStr","isDate","value","isValid","date","_date"],"mappings":"AAgCO,SAASA,EAAOC,GAAU;AAC/B,QAAMC,IAAS,OAAO,UAAU,SAAS,KAAKD,CAAQ;AAGtD,SACEA,aAAoB,QACnB,OAAOA,KAAa,YAAYC,MAAW,kBAGrC,IAAID,EAAS,YAAY,CAACA,CAAQ,IAEzC,OAAOA,KAAa,YACpBC,MAAW,qBACX,OAAOD,KAAa,YACpBC,MAAW,oBAGJ,IAAI,KAAKD,CAAQ,IAGjB,oBAAI,KAAK,GAAG;AAEvB;ACtBO,SAASE,EAAOC,GAAO;AAC5B,SACEA,aAAiB,QAChB,OAAOA,KAAU,YAChB,OAAO,UAAU,SAAS,KAAKA,CAAK,MAAM;AAEhD;ACFO,SAASC,EAAQC,GAAM;AAC5B,MAAI,CAACH,EAAOG,CAAI,KAAK,OAAOA,KAAS;AACnC,WAAO;AAET,QAAMC,IAAQP,EAAOM,CAAI;AACzB,SAAO,CAAC,MAAM,OAAOC,CAAK,CAAC;AAC7B;","x_google_ignoreList":[0,1,2]}