@leaflink/stash 45.1.5 → 45.1.7

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/dist/index.js CHANGED
@@ -1,18 +1,16 @@
1
- var j = Object.defineProperty;
2
- var D = (e, r, a) => r in e ? j(e, r, { enumerable: !0, configurable: !0, writable: !0, value: a }) : e[r] = a;
3
- var E = (e, r, a) => (D(e, typeof r != "symbol" ? r + "" : r, a), a);
4
- import L from "./locale.js";
5
- import { ref as P, reactive as X, readonly as x, defineComponent as G, computed as N, openBlock as _, createBlock as $, mergeProps as H, createSlots as F, renderList as q, unref as A, withCtx as U, createVNode as M, h as W, render as V } from "vue";
6
- import z from "lodash-es/omit";
7
- import J from "./CustomRender.js";
8
- import K from "./Dialog.js";
9
- import { M as Q } from "./MenusPlugin-9288029a.js";
10
- import Z from "./ModalsPlugin.js";
11
- import S from "./ToastsPlugin.js";
12
- import { overridePersistentStorage as C } from "./storage.js";
13
- import { persistentStorage as Ue } from "./storage.js";
14
- import { S as Ve, a as ze } from "./misc-76697f61.js";
15
- import { a as Ke, S as Qe, b as Ze } from "./statusLevels-a8b041f4.js";
1
+ import Y from "./locale.js";
2
+ import { defineComponent as B, computed as M, openBlock as j, createBlock as P, mergeProps as X, createSlots as D, renderList as x, unref as G, withCtx as N, createVNode as I, h as _, render as $ } from "vue";
3
+ import H from "lodash-es/omit";
4
+ import F from "./useDialog.js";
5
+ import q from "./CustomRender.js";
6
+ import A from "./Dialog.js";
7
+ import { M as U } from "./MenusPlugin-9288029a.js";
8
+ import W from "./ModalsPlugin.js";
9
+ import V from "./ToastsPlugin.js";
10
+ import { overridePersistentStorage as z } from "./storage.js";
11
+ import { persistentStorage as Ge } from "./storage.js";
12
+ import { S as _e, a as $e } from "./misc-76697f61.js";
13
+ import { a as Fe, S as qe, b as Ae } from "./statusLevels-a8b041f4.js";
16
14
  import "lodash-es/get";
17
15
  import "lodash-es/capitalize";
18
16
  import "lodash-es/uniqueId";
@@ -35,27 +33,27 @@ import "lodash-es/camelCase";
35
33
  import "lodash-es/isFinite";
36
34
  import "lodash-es/isPlainObject";
37
35
  import "./constants.js";
38
- function k(e) {
36
+ function h(e) {
39
37
  return e.type.indexOf("mouse") !== -1 ? e.clientX : e.touches[0].clientX;
40
38
  }
41
- function I(e) {
39
+ function L(e) {
42
40
  return e.type.indexOf("mouse") !== -1 ? e.clientY : e.touches[0].clientY;
43
41
  }
44
- var ee = function() {
42
+ var J = function() {
45
43
  var e = !1;
46
44
  try {
47
- var r = Object.defineProperty({}, "passive", {
45
+ var u = Object.defineProperty({}, "passive", {
48
46
  get: function() {
49
47
  e = !0;
50
48
  }
51
49
  });
52
- window.addEventListener("test", null, r);
50
+ window.addEventListener("test", null, u);
53
51
  } catch {
54
52
  }
55
53
  return e;
56
- }(), te = {
57
- install: function(e, r) {
58
- var a = Object.assign({}, {
54
+ }(), K = {
55
+ install: function(e, u) {
56
+ var m = Object.assign({}, {
59
57
  disableClick: !1,
60
58
  tapTolerance: 10,
61
59
  // px
@@ -70,255 +68,216 @@ var ee = function() {
70
68
  // ms
71
69
  rollOverFrequency: 100
72
70
  // ms
73
- }, r);
71
+ }, u);
74
72
  function c(i) {
75
- var t = this.$$touchObj, u = i.type.indexOf("touch") >= 0, v = i.type.indexOf("mouse") >= 0, m = this;
76
- u && (t.lastTouchStartTime = i.timeStamp), !(v && t.lastTouchStartTime && i.timeStamp - t.lastTouchStartTime < 350) && (t.touchStarted || (Y(this), t.touchStarted = !0, t.touchMoved = !1, t.swipeOutBounded = !1, t.startX = k(i), t.startY = I(i), t.currentX = 0, t.currentY = 0, t.touchStartTime = i.timeStamp, t.hasSwipe = l(this, "swipe") || l(this, "swipe.left") || l(this, "swipe.right") || l(this, "swipe.top") || l(this, "swipe.bottom"), l(this, "hold") && (t.touchHoldTimer = setTimeout(function() {
77
- t.touchHoldTimer = null, T(i, m, "hold");
78
- }, t.options.touchHoldTolerance)), T(i, this, "press")));
73
+ var t = this.$$touchObj, r = i.type.indexOf("touch") >= 0, o = i.type.indexOf("mouse") >= 0, v = this;
74
+ r && (t.lastTouchStartTime = i.timeStamp), !(o && t.lastTouchStartTime && i.timeStamp - t.lastTouchStartTime < 350) && (t.touchStarted || (R(this), t.touchStarted = !0, t.touchMoved = !1, t.swipeOutBounded = !1, t.startX = h(i), t.startY = L(i), t.currentX = 0, t.currentY = 0, t.touchStartTime = i.timeStamp, t.hasSwipe = n(this, "swipe") || n(this, "swipe.left") || n(this, "swipe.right") || n(this, "swipe.top") || n(this, "swipe.bottom"), n(this, "hold") && (t.touchHoldTimer = setTimeout(function() {
75
+ t.touchHoldTimer = null, s(i, v, "hold");
76
+ }, t.options.touchHoldTolerance)), s(i, this, "press")));
79
77
  }
80
- function s(i) {
81
- var t = this.$$touchObj, u = k(i), v = I(i), m = t.currentX != u || t.currentY != v;
82
- if (t.currentX = u, t.currentY = v, t.touchMoved) {
78
+ function g(i) {
79
+ var t = this.$$touchObj, r = h(i), o = L(i), v = t.currentX != r || t.currentY != o;
80
+ if (t.currentX = r, t.currentY = o, t.touchMoved) {
83
81
  if (t.hasSwipe && !t.swipeOutBounded) {
84
- var d = t.options.swipeTolerance;
85
- t.swipeOutBounded = Math.abs(t.startX - t.currentX) > d && Math.abs(t.startY - t.currentY) > d;
82
+ var f = t.options.swipeTolerance;
83
+ t.swipeOutBounded = Math.abs(t.startX - t.currentX) > f && Math.abs(t.startY - t.currentY) > f;
86
84
  }
87
85
  } else {
88
- var f = t.options.tapTolerance;
89
- t.touchMoved = Math.abs(t.startX - t.currentX) > f || Math.abs(t.startY - t.currentY) > f, t.touchMoved && (h(t), T(i, this, "drag.once"));
86
+ var l = t.options.tapTolerance;
87
+ t.touchMoved = Math.abs(t.startX - t.currentX) > l || Math.abs(t.startY - t.currentY) > l, t.touchMoved && (O(t), s(i, this, "drag.once"));
90
88
  }
91
- if (l(this, "rollover") && m) {
92
- var n = i.timeStamp, w = t.options.rollOverFrequency;
93
- (t.touchRollTime == null || n > t.touchRollTime + w) && (t.touchRollTime = n, T(i, this, "rollover"));
89
+ if (n(this, "rollover") && v) {
90
+ var a = i.timeStamp, w = t.options.rollOverFrequency;
91
+ (t.touchRollTime == null || a > t.touchRollTime + w) && (t.touchRollTime = a, s(i, this, "rollover"));
94
92
  }
95
- if (l(this, "drag") && t.touchStarted && t.touchMoved && m) {
96
- var n = i.timeStamp, w = t.options.dragFrequency;
97
- (t.touchDragTime == null || n > t.touchDragTime + w) && (t.touchDragTime = n, T(i, this, "drag"));
93
+ if (n(this, "drag") && t.touchStarted && t.touchMoved && v) {
94
+ var a = i.timeStamp, w = t.options.dragFrequency;
95
+ (t.touchDragTime == null || a > t.touchDragTime + w) && (t.touchDragTime = a, s(i, this, "drag"));
98
96
  }
99
97
  }
100
- function g() {
98
+ function T() {
101
99
  var i = this.$$touchObj;
102
- h(i), O(this), i.touchStarted = i.touchMoved = !1, i.startX = i.startY = 0;
100
+ O(i), y(this), i.touchStarted = i.touchMoved = !1, i.startX = i.startY = 0;
103
101
  }
104
102
  function p(i) {
105
- var t = this.$$touchObj, u = i.type.indexOf("touch") >= 0, v = i.type.indexOf("mouse") >= 0;
106
- u && (t.lastTouchEndTime = i.timeStamp);
107
- var m = u && !t.touchHoldTimer;
108
- if (h(t), t.touchStarted = !1, O(this), !(v && t.lastTouchEndTime && i.timeStamp - t.lastTouchEndTime < 350))
109
- if (T(i, this, "release"), t.touchMoved) {
103
+ var t = this.$$touchObj, r = i.type.indexOf("touch") >= 0, o = i.type.indexOf("mouse") >= 0;
104
+ r && (t.lastTouchEndTime = i.timeStamp);
105
+ var v = r && !t.touchHoldTimer;
106
+ if (O(t), t.touchStarted = !1, y(this), !(o && t.lastTouchEndTime && i.timeStamp - t.lastTouchEndTime < 350))
107
+ if (s(i, this, "release"), t.touchMoved) {
110
108
  if (t.hasSwipe && !t.swipeOutBounded) {
111
- var f = t.options.swipeTolerance, d, n = Math.abs(t.startY - t.currentY), w = Math.abs(t.startX - t.currentX);
112
- (n > f || w > f) && (n > f ? d = t.startY > t.currentY ? "top" : "bottom" : d = t.startX > t.currentX ? "left" : "right", l(this, "swipe." + d) ? T(i, this, "swipe." + d, d) : T(i, this, "swipe", d));
109
+ var l = t.options.swipeTolerance, f, a = Math.abs(t.startY - t.currentY), w = Math.abs(t.startX - t.currentX);
110
+ (a > l || w > l) && (a > l ? f = t.startY > t.currentY ? "top" : "bottom" : f = t.startX > t.currentX ? "left" : "right", n(this, "swipe." + f) ? s(i, this, "swipe." + f, f) : s(i, this, "swipe", f));
113
111
  }
114
- } else if (l(this, "longtap") && i.timeStamp - t.touchStartTime > t.options.longTapTimeInterval)
115
- i.cancelable && i.preventDefault(), T(i, this, "longtap");
116
- else if (l(this, "hold") && m) {
112
+ } else if (n(this, "longtap") && i.timeStamp - t.touchStartTime > t.options.longTapTimeInterval)
113
+ i.cancelable && i.preventDefault(), s(i, this, "longtap");
114
+ else if (n(this, "hold") && v) {
117
115
  i.cancelable && i.preventDefault();
118
116
  return;
119
117
  } else
120
- T(i, this, "tap");
118
+ s(i, this, "tap");
121
119
  }
122
- function o() {
123
- Y(this);
120
+ function d() {
121
+ R(this);
124
122
  }
125
123
  function b() {
126
- O(this);
124
+ y(this);
127
125
  }
128
- function l(i, t) {
129
- var u = i.$$touchObj.callbacks[t];
130
- return u != null && u.length > 0;
126
+ function n(i, t) {
127
+ var r = i.$$touchObj.callbacks[t];
128
+ return r != null && r.length > 0;
131
129
  }
132
- function T(i, t, u, v) {
133
- var m = t.$$touchObj, f = m.callbacks[u];
134
- if (f == null || f.length === 0)
130
+ function s(i, t, r, o) {
131
+ var v = t.$$touchObj, l = v.callbacks[r];
132
+ if (l == null || l.length === 0)
135
133
  return null;
136
- for (var d = 0; d < f.length; d++) {
137
- var n = f[d];
138
- n.modifiers.stop && i.stopPropagation(), n.modifiers.prevent && i.preventDefault(), !(n.modifiers.self && i.target !== i.currentTarget) && typeof n.value == "function" && (v ? n.value(v, i) : n.value(i));
134
+ for (var f = 0; f < l.length; f++) {
135
+ var a = l[f];
136
+ a.modifiers.stop && i.stopPropagation(), a.modifiers.prevent && i.preventDefault(), !(a.modifiers.self && i.target !== i.currentTarget) && typeof a.value == "function" && (o ? a.value(o, i) : a.value(i));
139
137
  }
140
138
  }
141
- function Y(i) {
139
+ function R(i) {
142
140
  var t = i.$$touchObj.options.touchClass;
143
141
  t && i.classList.add(t);
144
142
  }
145
- function O(i) {
143
+ function y(i) {
146
144
  var t = i.$$touchObj.options.touchClass;
147
145
  t && i.classList.remove(t);
148
146
  }
149
- function h(i) {
147
+ function O(i) {
150
148
  i.touchHoldTimer && (clearTimeout(i.touchHoldTimer), i.touchHoldTimer = null);
151
149
  }
152
- function R(i, t) {
153
- var u = i.$$touchObj || {
150
+ function E(i, t) {
151
+ var r = i.$$touchObj || {
154
152
  // an object contains all callbacks registered,
155
153
  // key is event name, value is an array
156
154
  callbacks: {},
157
155
  // prevent bind twice, set to true when event bound
158
156
  hasBindTouchEvents: !1,
159
157
  // default options, would be override by v-touch-options
160
- options: a
158
+ options: m
161
159
  };
162
- return t && (u.options = Object.assign({}, u.options, t)), i.$$touchObj = u, i.$$touchObj;
160
+ return t && (r.options = Object.assign({}, r.options, t)), i.$$touchObj = r, i.$$touchObj;
163
161
  }
164
162
  e.directive("touch", {
165
163
  beforeMount: function(i, t) {
166
- var u = R(i), v = ee ? { passive: !0 } : !1, m = t.arg || "tap";
167
- switch (m) {
164
+ var r = E(i), o = J ? { passive: !0 } : !1, v = t.arg || "tap";
165
+ switch (v) {
168
166
  case "swipe":
169
- var f = t.modifiers;
170
- if (f.left || f.right || f.top || f.bottom) {
171
- for (var d in t.modifiers)
172
- if (["left", "right", "top", "bottom"].indexOf(d) >= 0) {
173
- var n = "swipe." + d;
174
- u.callbacks[n] = u.callbacks[n] || [], u.callbacks[n].push(t);
167
+ var l = t.modifiers;
168
+ if (l.left || l.right || l.top || l.bottom) {
169
+ for (var f in t.modifiers)
170
+ if (["left", "right", "top", "bottom"].indexOf(f) >= 0) {
171
+ var a = "swipe." + f;
172
+ r.callbacks[a] = r.callbacks[a] || [], r.callbacks[a].push(t);
175
173
  }
176
174
  } else
177
- u.callbacks.swipe = u.callbacks.swipe || [], u.callbacks.swipe.push(t);
175
+ r.callbacks.swipe = r.callbacks.swipe || [], r.callbacks.swipe.push(t);
178
176
  break;
179
177
  case "press":
180
178
  case "drag":
181
- t.modifiers.disablePassive && (v = !1);
179
+ t.modifiers.disablePassive && (o = !1);
182
180
  default:
183
- u.callbacks[m] = u.callbacks[m] || [], u.callbacks[m].push(t);
181
+ r.callbacks[v] = r.callbacks[v] || [], r.callbacks[v].push(t);
184
182
  }
185
- u.hasBindTouchEvents || (i.addEventListener("touchstart", c, v), i.addEventListener("touchmove", s, v), i.addEventListener("touchcancel", g), i.addEventListener("touchend", p), u.options.disableClick || (i.addEventListener("mousedown", c), i.addEventListener("mousemove", s), i.addEventListener("mouseup", p), i.addEventListener("mouseenter", o), i.addEventListener("mouseleave", b)), u.hasBindTouchEvents = !0);
183
+ r.hasBindTouchEvents || (i.addEventListener("touchstart", c, o), i.addEventListener("touchmove", g, o), i.addEventListener("touchcancel", T), i.addEventListener("touchend", p), r.options.disableClick || (i.addEventListener("mousedown", c), i.addEventListener("mousemove", g), i.addEventListener("mouseup", p), i.addEventListener("mouseenter", d), i.addEventListener("mouseleave", b)), r.hasBindTouchEvents = !0);
186
184
  },
187
185
  unmounted: function(i) {
188
- i.removeEventListener("touchstart", c), i.removeEventListener("touchmove", s), i.removeEventListener("touchcancel", g), i.removeEventListener("touchend", p), i.$$touchObj && !i.$$touchObj.options.disableClick && (i.removeEventListener("mousedown", c), i.removeEventListener("mousemove", s), i.removeEventListener("mouseup", p), i.removeEventListener("mouseenter", o), i.removeEventListener("mouseleave", b)), delete i.$$touchObj;
186
+ i.removeEventListener("touchstart", c), i.removeEventListener("touchmove", g), i.removeEventListener("touchcancel", T), i.removeEventListener("touchend", p), i.$$touchObj && !i.$$touchObj.options.disableClick && (i.removeEventListener("mousedown", c), i.removeEventListener("mousemove", g), i.removeEventListener("mouseup", p), i.removeEventListener("mouseenter", d), i.removeEventListener("mouseleave", b)), delete i.$$touchObj;
189
187
  }
190
188
  }), e.directive("touch-class", {
191
189
  beforeMount: function(i, t) {
192
- R(i, {
190
+ E(i, {
193
191
  touchClass: t.value
194
192
  });
195
193
  }
196
194
  }), e.directive("touch-options", {
197
195
  beforeMount: function(i, t) {
198
- R(i, t.value);
196
+ E(i, t.value);
199
197
  }
200
198
  });
201
199
  }
202
200
  };
203
- class ie {
204
- constructor() {
205
- E(this, "promise");
206
- E(this, "reject");
207
- E(this, "resolve");
208
- this.promise = new Promise((r, a) => {
209
- this.reject = a, this.resolve = r;
210
- });
211
- }
212
- }
213
- const y = P();
214
- function re() {
215
- function e(a) {
216
- var c;
217
- if (y.value)
218
- throw new Error("A Dialog is already being displayed");
219
- return y.value = {
220
- ...a,
221
- deferred: new ie()
222
- }, (c = y.value.deferred) == null ? void 0 : c.promise;
223
- }
224
- function r() {
225
- y.value = void 0;
226
- }
227
- return X({
228
- /**
229
- * The currently open dialog information.
230
- */
231
- active: x(y),
232
- /**
233
- * Opens the dialog.
234
- */
235
- open: e,
236
- /**
237
- * Closes the dialog.
238
- */
239
- close: r
240
- });
241
- }
242
- const ue = /* @__PURE__ */ G({
201
+ const Q = /* @__PURE__ */ B({
243
202
  __name: "Dialogs",
244
203
  setup(e) {
245
- const r = re(), a = N(() => r.active ? z(r.active, ["deferred", "onConfirm", "onCancel", "slots"]) : null);
204
+ const u = F(), m = M(() => u.active ? H(u.active, ["deferred", "onConfirm", "onCancel", "slots"]) : null);
246
205
  function c() {
247
- var g, p, o;
248
- (g = r.active) != null && g.onCancel && r.active.onCancel(), (o = (p = r.active) == null ? void 0 : p.deferred) == null || o.resolve({
206
+ var T, p, d;
207
+ (T = u.active) != null && T.onCancel && u.active.onCancel(), (d = (p = u.active) == null ? void 0 : p.deferred) == null || d.resolve({
249
208
  isCanceled: !0
250
- }), r.close();
209
+ }), u.close();
251
210
  }
252
- async function s() {
253
- var g, p, o;
254
- (g = r.active) != null && g.onConfirm && await r.active.onConfirm(), (o = (p = r.active) == null ? void 0 : p.deferred) == null || o.resolve({
211
+ async function g() {
212
+ var T, p, d;
213
+ (T = u.active) != null && T.onConfirm && await u.active.onConfirm(), (d = (p = u.active) == null ? void 0 : p.deferred) == null || d.resolve({
255
214
  isConfirmed: !0
256
- }), r.close();
215
+ }), u.close();
257
216
  }
258
- return (g, p) => {
259
- var o;
260
- return _(), $(K, H({
261
- open: !!a.value
262
- }, a.value, {
263
- onConfirm: s,
217
+ return (T, p) => {
218
+ var d;
219
+ return j(), P(A, X({
220
+ open: !!m.value
221
+ }, m.value, {
222
+ onConfirm: g,
264
223
  onCancel: c
265
- }), F({ _: 2 }, [
266
- q((o = A(r).active) == null ? void 0 : o.slots, (b, l) => ({
267
- name: l,
268
- fn: U(() => [
269
- M(J, { render: b }, null, 8, ["render"])
224
+ }), D({ _: 2 }, [
225
+ x((d = G(u).active) == null ? void 0 : d.slots, (b, n) => ({
226
+ name: n,
227
+ fn: N(() => [
228
+ I(q, { render: b }, null, 8, ["render"])
270
229
  ])
271
230
  }))
272
231
  ]), 1040, ["open"]);
273
232
  };
274
233
  }
275
- }), B = "stash-dialogs-mount-node", ae = {
276
- install(e, r) {
277
- const a = (r == null ? void 0 : r.mountNodeId) || B;
278
- let c = document.getElementById(a);
234
+ }), k = "stash-dialogs-mount-node", Z = {
235
+ install(e, u) {
236
+ const m = (u == null ? void 0 : u.mountNodeId) || k;
237
+ let c = document.getElementById(m);
279
238
  if (c)
280
239
  return;
281
- c = document.createElement("div"), c.id = a, c.dataset.test = B, r != null && r.mountNodeClass && c.classList.add(r.mountNodeClass);
282
- const s = M(W(ue));
283
- document.body.appendChild(c), s.appContext = e._context, V(s, c);
240
+ c = document.createElement("div"), c.id = m, c.dataset.test = k, u != null && u.mountNodeClass && c.classList.add(u.mountNodeClass);
241
+ const g = I(_(Q));
242
+ document.body.appendChild(c), g.appContext = e._context, $(g, c);
284
243
  }
285
244
  };
286
- var ce = /* @__PURE__ */ ((e) => (e.Purple900 = "purple-900", e.Purple800 = "purple-800", e.Purple700 = "purple-700", e.Purple600 = "purple-600", e.Purple500 = "purple-500", e.Purple400 = "purple-400", e.Purple300 = "purple-300", e.Purple200 = "purple-200", e.Purple100 = "purple-100", e.Royal900 = "royal-900", e.Royal800 = "royal-800", e.Royal700 = "royal-700", e.Royal600 = "royal-600", e.Royal500 = "royal-500", e.Royal400 = "royal-400", e.Royal300 = "royal-300", e.Royal200 = "royal-200", e.Royal100 = "royal-100", e.Blue900 = "blue-900", e.Blue800 = "blue-800", e.Blue700 = "blue-700", e.Blue600 = "blue-600", e.Blue500 = "blue-500", e.Blue400 = "blue-400", e.Blue300 = "blue-300", e.Blue200 = "blue-200", e.Blue100 = "blue-100", e.Teal900 = "teal-900", e.Teal800 = "teal-800", e.Teal700 = "teal-700", e.Teal600 = "teal-600", e.Teal500 = "teal-500", e.Teal400 = "teal-400", e.Teal300 = "teal-300", e.Teal200 = "teal-200", e.Teal100 = "teal-100", e.Green900 = "green-900", e.Green800 = "green-800", e.Green700 = "green-700", e.Green600 = "green-600", e.Green500 = "green-500", e.Green400 = "green-400", e.Green300 = "green-300", e.Green200 = "green-200", e.Green100 = "green-100", e.Seafoam900 = "seafoam-900", e.Seafoam800 = "seafoam-800", e.Seafoam700 = "seafoam-700", e.Seafoam600 = "seafoam-600", e.Seafoam500 = "seafoam-500", e.Seafoam400 = "seafoam-400", e.Seafoam300 = "seafoam-300", e.Seafoam200 = "seafoam-200", e.Seafoam100 = "seafoam-100", e.Yellow900 = "yellow-900", e.Yellow800 = "yellow-800", e.Yellow700 = "yellow-700", e.Yellow600 = "yellow-600", e.Yellow500 = "yellow-500", e.Yellow400 = "yellow-400", e.Yellow300 = "yellow-300", e.Yellow200 = "yellow-200", e.Yellow100 = "yellow-100", e.Orange900 = "orange-900", e.Orange800 = "orange-800", e.Orange700 = "orange-700", e.Orange600 = "orange-600", e.Orange500 = "orange-500", e.Orange400 = "orange-400", e.Orange300 = "orange-300", e.Orange200 = "orange-200", e.Orange100 = "orange-100", e.Red900 = "red-900", e.Red800 = "red-800", e.Red700 = "red-700", e.Red600 = "red-600", e.Red500 = "red-500", e.Red400 = "red-400", e.Red300 = "red-300", e.Red200 = "red-200", e.Red100 = "red-100", e.Ice900 = "ice-900", e.Ice800 = "ice-800", e.Ice700 = "ice-700", e.Ice600 = "ice-600", e.Ice500 = "ice-500", e.Ice400 = "ice-400", e.Ice300 = "ice-300", e.Ice200 = "ice-200", e.Ice100 = "ice-100", e.White = "white", e.Black = "black", e))(ce || {}), ne = /* @__PURE__ */ ((e) => (e.Purple700 = "purple-700", e.Purple500 = "purple-500", e.Purple100 = "purple-100", e.Royal700 = "royal-700", e.Royal500 = "royal-500", e.Royal100 = "royal-100", e.Blue700 = "blue-700", e.Blue500 = "blue-500", e.Blue100 = "blue-100", e.Teal700 = "teal-700", e.Teal500 = "teal-500", e.Teal100 = "teal-100", e.Green700 = "green-700", e.Green500 = "green-500", e.Green100 = "green-100", e.Seafoam700 = "seafoam-700", e.Seafoam500 = "seafoam-500", e.Seafoam100 = "seafoam-100", e.Yellow700 = "yellow-700", e.Yellow500 = "yellow-500", e.Yellow100 = "yellow-100", e.Orange700 = "orange-700", e.Orange500 = "orange-500", e.Orange100 = "orange-100", e.Red700 = "red-700", e.Red500 = "red-500", e.Red100 = "red-100", e.Ice700 = "ice-700", e.Ice500 = "ice-500", e.Ice200 = "ice-200", e.Ice100 = "ice-100", e.White = "white", e.Black = "black", e))(ne || {}), le = /* @__PURE__ */ ((e) => (e.Blue500 = "blue-500", e.Green500 = "green-500", e.Ice500 = "ice-500", e.Orange500 = "orange-500", e.Purple500 = "purple-500", e.Red500 = "red-500", e.Royal500 = "royal-500", e.Seafoam500 = "seafoam-500", e.Teal500 = "teal-500", e.Yellow500 = "yellow-500", e))(le || {});
287
- const Fe = {
245
+ var S = /* @__PURE__ */ ((e) => (e.Purple900 = "purple-900", e.Purple800 = "purple-800", e.Purple700 = "purple-700", e.Purple600 = "purple-600", e.Purple500 = "purple-500", e.Purple400 = "purple-400", e.Purple300 = "purple-300", e.Purple200 = "purple-200", e.Purple100 = "purple-100", e.Royal900 = "royal-900", e.Royal800 = "royal-800", e.Royal700 = "royal-700", e.Royal600 = "royal-600", e.Royal500 = "royal-500", e.Royal400 = "royal-400", e.Royal300 = "royal-300", e.Royal200 = "royal-200", e.Royal100 = "royal-100", e.Blue900 = "blue-900", e.Blue800 = "blue-800", e.Blue700 = "blue-700", e.Blue600 = "blue-600", e.Blue500 = "blue-500", e.Blue400 = "blue-400", e.Blue300 = "blue-300", e.Blue200 = "blue-200", e.Blue100 = "blue-100", e.Teal900 = "teal-900", e.Teal800 = "teal-800", e.Teal700 = "teal-700", e.Teal600 = "teal-600", e.Teal500 = "teal-500", e.Teal400 = "teal-400", e.Teal300 = "teal-300", e.Teal200 = "teal-200", e.Teal100 = "teal-100", e.Green900 = "green-900", e.Green800 = "green-800", e.Green700 = "green-700", e.Green600 = "green-600", e.Green500 = "green-500", e.Green400 = "green-400", e.Green300 = "green-300", e.Green200 = "green-200", e.Green100 = "green-100", e.Seafoam900 = "seafoam-900", e.Seafoam800 = "seafoam-800", e.Seafoam700 = "seafoam-700", e.Seafoam600 = "seafoam-600", e.Seafoam500 = "seafoam-500", e.Seafoam400 = "seafoam-400", e.Seafoam300 = "seafoam-300", e.Seafoam200 = "seafoam-200", e.Seafoam100 = "seafoam-100", e.Yellow900 = "yellow-900", e.Yellow800 = "yellow-800", e.Yellow700 = "yellow-700", e.Yellow600 = "yellow-600", e.Yellow500 = "yellow-500", e.Yellow400 = "yellow-400", e.Yellow300 = "yellow-300", e.Yellow200 = "yellow-200", e.Yellow100 = "yellow-100", e.Orange900 = "orange-900", e.Orange800 = "orange-800", e.Orange700 = "orange-700", e.Orange600 = "orange-600", e.Orange500 = "orange-500", e.Orange400 = "orange-400", e.Orange300 = "orange-300", e.Orange200 = "orange-200", e.Orange100 = "orange-100", e.Red900 = "red-900", e.Red800 = "red-800", e.Red700 = "red-700", e.Red600 = "red-600", e.Red500 = "red-500", e.Red400 = "red-400", e.Red300 = "red-300", e.Red200 = "red-200", e.Red100 = "red-100", e.Ice900 = "ice-900", e.Ice800 = "ice-800", e.Ice700 = "ice-700", e.Ice600 = "ice-600", e.Ice500 = "ice-500", e.Ice400 = "ice-400", e.Ice300 = "ice-300", e.Ice200 = "ice-200", e.Ice100 = "ice-100", e.White = "white", e.Black = "black", e))(S || {}), C = /* @__PURE__ */ ((e) => (e.Purple700 = "purple-700", e.Purple500 = "purple-500", e.Purple100 = "purple-100", e.Royal700 = "royal-700", e.Royal500 = "royal-500", e.Royal100 = "royal-100", e.Blue700 = "blue-700", e.Blue500 = "blue-500", e.Blue100 = "blue-100", e.Teal700 = "teal-700", e.Teal500 = "teal-500", e.Teal100 = "teal-100", e.Green700 = "green-700", e.Green500 = "green-500", e.Green100 = "green-100", e.Seafoam700 = "seafoam-700", e.Seafoam500 = "seafoam-500", e.Seafoam100 = "seafoam-100", e.Yellow700 = "yellow-700", e.Yellow500 = "yellow-500", e.Yellow100 = "yellow-100", e.Orange700 = "orange-700", e.Orange500 = "orange-500", e.Orange100 = "orange-100", e.Red700 = "red-700", e.Red500 = "red-500", e.Red100 = "red-100", e.Ice700 = "ice-700", e.Ice500 = "ice-500", e.Ice200 = "ice-200", e.Ice100 = "ice-100", e.White = "white", e.Black = "black", e))(C || {}), ee = /* @__PURE__ */ ((e) => (e.Blue500 = "blue-500", e.Green500 = "green-500", e.Ice500 = "ice-500", e.Orange500 = "orange-500", e.Purple500 = "purple-500", e.Red500 = "red-500", e.Royal500 = "royal-500", e.Seafoam500 = "seafoam-500", e.Teal500 = "teal-500", e.Yellow500 = "yellow-500", e))(ee || {});
246
+ const Xe = {
288
247
  install(e, {
289
- i18n: r = void 0,
290
- storage: a = void 0,
248
+ i18n: u = void 0,
249
+ storage: m = void 0,
291
250
  staticPath: c = "/static",
292
- images: s = {
251
+ images: g = {
293
252
  provider: "static",
294
253
  staticDomains: []
295
254
  },
296
- googleMapsApiKey: g = void 0,
255
+ googleMapsApiKey: T = void 0,
297
256
  menus: p,
298
- modals: o,
257
+ modals: d,
299
258
  toasts: b,
300
- dialogs: l
259
+ dialogs: n
301
260
  } = {}) {
302
- e.use(te), r && (L.use(r.locale), L.i18n(r && r.t)), a && C(a), e.provide("stashOptions", {
303
- i18n: r,
304
- images: s,
305
- storage: a,
261
+ e.use(K), u && (Y.use(u.locale), Y.i18n(u && u.t)), m && z(m), e.provide("stashOptions", {
262
+ i18n: u,
263
+ images: g,
264
+ storage: m,
306
265
  staticPath: c,
307
- googleMapsApiKey: g
308
- }), p !== !1 && e.use(Q, p), o !== !1 && e.use(Z, o), b !== !1 && e.use(S, b), l !== !1 && e.use(ae, l);
266
+ googleMapsApiKey: T
267
+ }), p !== !1 && e.use(U, p), d !== !1 && e.use(W, d), b !== !1 && e.use(V, b), n !== !1 && e.use(Z, n);
309
268
  }
310
269
  };
311
270
  export {
312
- Ve as SpacingDensity,
313
- ce as StashColors,
314
- ne as StashCommonColors,
315
- ze as StashImageProvider,
316
- le as StashPrimaryColors,
317
- Ke as StatusColors,
318
- Qe as StatusIcons,
319
- Ze as StatusSeverities,
320
- Fe as default,
321
- C as overridePersistentStorage,
322
- Ue as persistentStorage
271
+ _e as SpacingDensity,
272
+ S as StashColors,
273
+ C as StashCommonColors,
274
+ $e as StashImageProvider,
275
+ ee as StashPrimaryColors,
276
+ Fe as StatusColors,
277
+ qe as StatusIcons,
278
+ Ae as StatusSeverities,
279
+ Xe as default,
280
+ z as overridePersistentStorage,
281
+ Ge as persistentStorage
323
282
  };
324
283
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../node_modules/vue3-touch-events/index.js","../src/utils/Deferred.ts","../src/composables/useDialog/useDialog.ts","../src/components/Dialogs/Dialogs.vue","../src/plugins/DialogsPlugin.ts","../types/colors.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","export default class Deferred<T> {\n public promise: Promise<T>;\n\n public reject!: (value: T | PromiseLike<T>) => void;\n public resolve!: (value: T | PromiseLike<T>) => void;\n\n constructor() {\n this.promise = new Promise((resolve, reject) => {\n this.reject = reject;\n this.resolve = resolve;\n });\n }\n}\n","import { h, reactive, readonly, ref } from 'vue';\n\nimport { DialogProps } from '../../components/Dialog/Dialog.vue';\nimport Deferred from '../../utils/Deferred';\n\nexport interface Result {\n isConfirmed?: boolean;\n isCanceled?: boolean;\n}\n\nexport interface ActiveDialog extends DialogProps {\n deferred?: Deferred<Result>;\n onConfirm?: () => void;\n onCancel?: () => void;\n slots?: Record<string, typeof h>;\n}\n\nconst active = ref<ActiveDialog>();\n\nexport default function useDialog() {\n function open(dialog: Omit<ActiveDialog, 'deferred'>) {\n if (active.value) {\n throw new Error('A Dialog is already being displayed');\n }\n\n active.value = {\n ...dialog,\n deferred: new Deferred(),\n };\n\n return active.value.deferred?.promise;\n }\n\n function close() {\n active.value = undefined;\n }\n\n return reactive({\n /**\n * The currently open dialog information.\n */\n active: readonly(active),\n\n /**\n * Opens the dialog.\n */\n open,\n\n /**\n * Closes the dialog.\n */\n close,\n });\n}\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","/**\n * The names of the color groups.\n */\nexport type StashPrimaryColorGroup =\n | 'blue'\n | 'green'\n | 'ice'\n | 'orange'\n | 'purple'\n | 'red'\n | 'royal'\n | 'seafoam'\n | 'teal'\n | 'yellow';\n\n/**\n * Complete list of Stash brand colors & their shades.\n */\nexport enum StashColors {\n Purple900 = 'purple-900',\n Purple800 = 'purple-800',\n Purple700 = 'purple-700',\n Purple600 = 'purple-600',\n Purple500 = 'purple-500',\n Purple400 = 'purple-400',\n Purple300 = 'purple-300',\n Purple200 = 'purple-200',\n Purple100 = 'purple-100',\n\n Royal900 = 'royal-900',\n Royal800 = 'royal-800',\n Royal700 = 'royal-700',\n Royal600 = 'royal-600',\n Royal500 = 'royal-500',\n Royal400 = 'royal-400',\n Royal300 = 'royal-300',\n Royal200 = 'royal-200',\n Royal100 = 'royal-100',\n\n Blue900 = 'blue-900',\n Blue800 = 'blue-800',\n Blue700 = 'blue-700',\n Blue600 = 'blue-600',\n Blue500 = 'blue-500',\n Blue400 = 'blue-400',\n Blue300 = 'blue-300',\n Blue200 = 'blue-200',\n Blue100 = 'blue-100',\n\n Teal900 = 'teal-900',\n Teal800 = 'teal-800',\n Teal700 = 'teal-700',\n Teal600 = 'teal-600',\n Teal500 = 'teal-500',\n Teal400 = 'teal-400',\n Teal300 = 'teal-300',\n Teal200 = 'teal-200',\n Teal100 = 'teal-100',\n\n Green900 = 'green-900',\n Green800 = 'green-800',\n Green700 = 'green-700',\n Green600 = 'green-600',\n Green500 = 'green-500',\n Green400 = 'green-400',\n Green300 = 'green-300',\n Green200 = 'green-200',\n Green100 = 'green-100',\n\n Seafoam900 = 'seafoam-900',\n Seafoam800 = 'seafoam-800',\n Seafoam700 = 'seafoam-700',\n Seafoam600 = 'seafoam-600',\n Seafoam500 = 'seafoam-500',\n Seafoam400 = 'seafoam-400',\n Seafoam300 = 'seafoam-300',\n Seafoam200 = 'seafoam-200',\n Seafoam100 = 'seafoam-100',\n\n Yellow900 = 'yellow-900',\n Yellow800 = 'yellow-800',\n Yellow700 = 'yellow-700',\n Yellow600 = 'yellow-600',\n Yellow500 = 'yellow-500',\n Yellow400 = 'yellow-400',\n Yellow300 = 'yellow-300',\n Yellow200 = 'yellow-200',\n Yellow100 = 'yellow-100',\n\n Orange900 = 'orange-900',\n Orange800 = 'orange-800',\n Orange700 = 'orange-700',\n Orange600 = 'orange-600',\n Orange500 = 'orange-500',\n Orange400 = 'orange-400',\n Orange300 = 'orange-300',\n Orange200 = 'orange-200',\n Orange100 = 'orange-100',\n\n Red900 = 'red-900',\n Red800 = 'red-800',\n Red700 = 'red-700',\n Red600 = 'red-600',\n Red500 = 'red-500',\n Red400 = 'red-400',\n Red300 = 'red-300',\n Red200 = 'red-200',\n Red100 = 'red-100',\n\n Ice900 = 'ice-900',\n Ice800 = 'ice-800',\n Ice700 = 'ice-700',\n Ice600 = 'ice-600',\n Ice500 = 'ice-500',\n Ice400 = 'ice-400',\n Ice300 = 'ice-300',\n Ice200 = 'ice-200',\n Ice100 = 'ice-100',\n\n White = 'white',\n Black = 'black',\n}\n\nexport type StashColor = `${StashColors}`;\n\n/**\n * A limited list of stash brand colors, only including their 100, 500, and 700 shades.\n */\nexport enum StashCommonColors {\n Purple700 = StashColors.Purple700,\n Purple500 = StashColors.Purple500,\n Purple100 = StashColors.Purple100,\n\n Royal700 = StashColors.Royal700,\n Royal500 = StashColors.Royal500,\n Royal100 = StashColors.Royal100,\n\n Blue700 = StashColors.Blue700,\n Blue500 = StashColors.Blue500,\n Blue100 = StashColors.Blue100,\n\n Teal700 = StashColors.Teal700,\n Teal500 = StashColors.Teal500,\n Teal100 = StashColors.Teal100,\n\n Green700 = StashColors.Green700,\n Green500 = StashColors.Green500,\n Green100 = StashColors.Green100,\n\n Seafoam700 = StashColors.Seafoam700,\n Seafoam500 = StashColors.Seafoam500,\n Seafoam100 = StashColors.Seafoam100,\n\n Yellow700 = StashColors.Yellow700,\n Yellow500 = StashColors.Yellow500,\n Yellow100 = StashColors.Yellow100,\n\n Orange700 = StashColors.Orange700,\n Orange500 = StashColors.Orange500,\n Orange100 = StashColors.Orange100,\n\n Red700 = StashColors.Red700,\n Red500 = StashColors.Red500,\n Red100 = StashColors.Red100,\n\n Ice700 = StashColors.Ice700,\n Ice500 = StashColors.Ice500,\n Ice200 = StashColors.Ice200, // This is the one outlier, but it's used purposefully in a few places\n Ice100 = StashColors.Ice100,\n\n White = 'white',\n Black = 'black',\n}\n\nexport type StashCommonColor = `${StashCommonColors}`;\n\n/**\n * A limited list of stash brand colors, only including their primary (500) shade.\n */\nexport enum StashPrimaryColors {\n Blue500 = 'blue-500',\n Green500 = 'green-500',\n Ice500 = 'ice-500',\n Orange500 = 'orange-500',\n Purple500 = 'purple-500',\n Red500 = 'red-500',\n Royal500 = 'royal-500',\n Seafoam500 = 'seafoam-500',\n Teal500 = 'teal-500',\n Yellow500 = 'yellow-500',\n}\n\nexport type StashPrimaryColor = `${StashPrimaryColors}`;\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 staticDomains: [],\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","e","param","i","binding","className","buildTouchObj","extraOptions","touchObj","passiveOpt","_m","_e","Deferred","__publicField","resolve","reject","active","ref","useDialog","open","dialog","_a","close","reactive","readonly","attributes","computed","omit","onCancel","_c","_b","onConfirm","DEFAULT_DIALOGS_PLUGIN_NODE_ID","DialogsPlugin","options","mountNodeId","mountNode","vNode","createVNode","h","Dialogs","render","StashColors","StashCommonColors","StashPrimaryColors","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","../types/colors.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","/**\n * The names of the color groups.\n */\nexport type StashPrimaryColorGroup =\n | 'blue'\n | 'green'\n | 'ice'\n | 'orange'\n | 'purple'\n | 'red'\n | 'royal'\n | 'seafoam'\n | 'teal'\n | 'yellow';\n\n/**\n * Complete list of Stash brand colors & their shades.\n */\nexport enum StashColors {\n Purple900 = 'purple-900',\n Purple800 = 'purple-800',\n Purple700 = 'purple-700',\n Purple600 = 'purple-600',\n Purple500 = 'purple-500',\n Purple400 = 'purple-400',\n Purple300 = 'purple-300',\n Purple200 = 'purple-200',\n Purple100 = 'purple-100',\n\n Royal900 = 'royal-900',\n Royal800 = 'royal-800',\n Royal700 = 'royal-700',\n Royal600 = 'royal-600',\n Royal500 = 'royal-500',\n Royal400 = 'royal-400',\n Royal300 = 'royal-300',\n Royal200 = 'royal-200',\n Royal100 = 'royal-100',\n\n Blue900 = 'blue-900',\n Blue800 = 'blue-800',\n Blue700 = 'blue-700',\n Blue600 = 'blue-600',\n Blue500 = 'blue-500',\n Blue400 = 'blue-400',\n Blue300 = 'blue-300',\n Blue200 = 'blue-200',\n Blue100 = 'blue-100',\n\n Teal900 = 'teal-900',\n Teal800 = 'teal-800',\n Teal700 = 'teal-700',\n Teal600 = 'teal-600',\n Teal500 = 'teal-500',\n Teal400 = 'teal-400',\n Teal300 = 'teal-300',\n Teal200 = 'teal-200',\n Teal100 = 'teal-100',\n\n Green900 = 'green-900',\n Green800 = 'green-800',\n Green700 = 'green-700',\n Green600 = 'green-600',\n Green500 = 'green-500',\n Green400 = 'green-400',\n Green300 = 'green-300',\n Green200 = 'green-200',\n Green100 = 'green-100',\n\n Seafoam900 = 'seafoam-900',\n Seafoam800 = 'seafoam-800',\n Seafoam700 = 'seafoam-700',\n Seafoam600 = 'seafoam-600',\n Seafoam500 = 'seafoam-500',\n Seafoam400 = 'seafoam-400',\n Seafoam300 = 'seafoam-300',\n Seafoam200 = 'seafoam-200',\n Seafoam100 = 'seafoam-100',\n\n Yellow900 = 'yellow-900',\n Yellow800 = 'yellow-800',\n Yellow700 = 'yellow-700',\n Yellow600 = 'yellow-600',\n Yellow500 = 'yellow-500',\n Yellow400 = 'yellow-400',\n Yellow300 = 'yellow-300',\n Yellow200 = 'yellow-200',\n Yellow100 = 'yellow-100',\n\n Orange900 = 'orange-900',\n Orange800 = 'orange-800',\n Orange700 = 'orange-700',\n Orange600 = 'orange-600',\n Orange500 = 'orange-500',\n Orange400 = 'orange-400',\n Orange300 = 'orange-300',\n Orange200 = 'orange-200',\n Orange100 = 'orange-100',\n\n Red900 = 'red-900',\n Red800 = 'red-800',\n Red700 = 'red-700',\n Red600 = 'red-600',\n Red500 = 'red-500',\n Red400 = 'red-400',\n Red300 = 'red-300',\n Red200 = 'red-200',\n Red100 = 'red-100',\n\n Ice900 = 'ice-900',\n Ice800 = 'ice-800',\n Ice700 = 'ice-700',\n Ice600 = 'ice-600',\n Ice500 = 'ice-500',\n Ice400 = 'ice-400',\n Ice300 = 'ice-300',\n Ice200 = 'ice-200',\n Ice100 = 'ice-100',\n\n White = 'white',\n Black = 'black',\n}\n\nexport type StashColor = `${StashColors}`;\n\n/**\n * A limited list of stash brand colors, only including their 100, 500, and 700 shades.\n */\nexport enum StashCommonColors {\n Purple700 = StashColors.Purple700,\n Purple500 = StashColors.Purple500,\n Purple100 = StashColors.Purple100,\n\n Royal700 = StashColors.Royal700,\n Royal500 = StashColors.Royal500,\n Royal100 = StashColors.Royal100,\n\n Blue700 = StashColors.Blue700,\n Blue500 = StashColors.Blue500,\n Blue100 = StashColors.Blue100,\n\n Teal700 = StashColors.Teal700,\n Teal500 = StashColors.Teal500,\n Teal100 = StashColors.Teal100,\n\n Green700 = StashColors.Green700,\n Green500 = StashColors.Green500,\n Green100 = StashColors.Green100,\n\n Seafoam700 = StashColors.Seafoam700,\n Seafoam500 = StashColors.Seafoam500,\n Seafoam100 = StashColors.Seafoam100,\n\n Yellow700 = StashColors.Yellow700,\n Yellow500 = StashColors.Yellow500,\n Yellow100 = StashColors.Yellow100,\n\n Orange700 = StashColors.Orange700,\n Orange500 = StashColors.Orange500,\n Orange100 = StashColors.Orange100,\n\n Red700 = StashColors.Red700,\n Red500 = StashColors.Red500,\n Red100 = StashColors.Red100,\n\n Ice700 = StashColors.Ice700,\n Ice500 = StashColors.Ice500,\n Ice200 = StashColors.Ice200, // This is the one outlier, but it's used purposefully in a few places\n Ice100 = StashColors.Ice100,\n\n White = 'white',\n Black = 'black',\n}\n\nexport type StashCommonColor = `${StashCommonColors}`;\n\n/**\n * A limited list of stash brand colors, only including their primary (500) shade.\n */\nexport enum StashPrimaryColors {\n Blue500 = 'blue-500',\n Green500 = 'green-500',\n Ice500 = 'ice-500',\n Orange500 = 'orange-500',\n Purple500 = 'purple-500',\n Red500 = 'red-500',\n Royal500 = 'royal-500',\n Seafoam500 = 'seafoam-500',\n Teal500 = 'teal-500',\n Yellow500 = 'yellow-500',\n}\n\nexport type StashPrimaryColor = `${StashPrimaryColors}`;\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 staticDomains: [],\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","e","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","StashColors","StashCommonColors","StashPrimaryColors","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,105 @@
1
+ import { h } from 'vue';
2
+
3
+ export declare interface ActiveDialog extends DialogProps {
4
+ deferred?: Deferred<Result>;
5
+ onConfirm?: () => void;
6
+ onCancel?: () => void;
7
+ slots?: Record<string, typeof h>;
8
+ }
9
+
10
+ declare class Deferred<T> {
11
+ promise: Promise<T>;
12
+ reject: (value: T | PromiseLike<T>) => void;
13
+ resolve: (value: T | PromiseLike<T>) => void;
14
+ constructor();
15
+ }
16
+
17
+ declare interface DialogProps {
18
+ /**
19
+ * Shows or hides the dialog.
20
+ * Usage: v-model:open="isOpen"
21
+ */
22
+ open?: boolean;
23
+ /**
24
+ * Whether the confirmation button is enabled or not.
25
+ */
26
+ disabled?: boolean;
27
+ /**
28
+ * Is this a dangerous action? Will turn the confirmation button red.
29
+ */
30
+ dangerZone?: boolean;
31
+ /**
32
+ * Header text.
33
+ */
34
+ header?: string;
35
+ /**
36
+ * Description text.
37
+ */
38
+ description?: string;
39
+ /**
40
+ * Cancel button text.
41
+ */
42
+ cancelText?: string;
43
+ /**
44
+ * Confirm button text.
45
+ */
46
+ confirmText?: string;
47
+ /**
48
+ * Treats it like an Alert Dialog, with only the confirmation button showing.
49
+ *
50
+ * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Window/alert}
51
+ */
52
+ alert?: boolean;
53
+ /**
54
+ * Adds a top accent border and icon next to the header.
55
+ * This behaves similarly to the Alert component in respect to the levels, icons, and colors
56
+ * passing `error` will treat the dialog the same as `dangerZone`
57
+ */
58
+ status?: StatusSeverity;
59
+ }
60
+
61
+ export declare interface Result {
62
+ isConfirmed?: boolean;
63
+ isCanceled?: boolean;
64
+ }
65
+
66
+ declare enum StatusSeverities {
67
+ Error = "error",
68
+ Warning = "warning",
69
+ Info = "info",
70
+ Success = "success"
71
+ }
72
+
73
+ declare type StatusSeverity = `${StatusSeverities}`;
74
+
75
+ declare function useDialog(): {
76
+ active: {
77
+ readonly deferred?: {
78
+ readonly promise: Promise<{
79
+ readonly isConfirmed?: boolean | undefined;
80
+ readonly isCanceled?: boolean | undefined;
81
+ }>;
82
+ readonly reject: (value: Result | PromiseLike<Result>) => void;
83
+ readonly resolve: (value: Result | PromiseLike<Result>) => void;
84
+ } | undefined;
85
+ readonly onConfirm?: (() => void) | undefined;
86
+ readonly onCancel?: (() => void) | undefined;
87
+ readonly slots?: {
88
+ readonly [x: string]: typeof h;
89
+ } | undefined;
90
+ readonly open?: boolean | undefined;
91
+ readonly disabled?: boolean | undefined;
92
+ readonly dangerZone?: boolean | undefined;
93
+ readonly header?: string | undefined;
94
+ readonly description?: string | undefined;
95
+ readonly cancelText?: string | undefined;
96
+ readonly confirmText?: string | undefined;
97
+ readonly alert?: boolean | undefined;
98
+ readonly status?: "error" | "warning" | "info" | "success" | undefined;
99
+ } | undefined;
100
+ open: (dialog: Omit<ActiveDialog, 'deferred'>) => Promise<Result> | undefined;
101
+ close: () => void;
102
+ };
103
+ export default useDialog;
104
+
105
+ export { }
@@ -0,0 +1,47 @@
1
+ var a = Object.defineProperty;
2
+ var n = (o, e, r) => e in o ? a(o, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : o[e] = r;
3
+ var t = (o, e, r) => (n(o, typeof e != "symbol" ? e + "" : e, r), r);
4
+ import { ref as l, reactive as c, readonly as u } from "vue";
5
+ class d {
6
+ constructor() {
7
+ t(this, "promise");
8
+ t(this, "reject");
9
+ t(this, "resolve");
10
+ this.promise = new Promise((e, r) => {
11
+ this.reject = r, this.resolve = e;
12
+ });
13
+ }
14
+ }
15
+ const i = l();
16
+ function p() {
17
+ function o(r) {
18
+ var s;
19
+ if (i.value)
20
+ throw new Error("A Dialog is already being displayed");
21
+ return i.value = {
22
+ ...r,
23
+ deferred: new d()
24
+ }, (s = i.value.deferred) == null ? void 0 : s.promise;
25
+ }
26
+ function e() {
27
+ i.value = void 0;
28
+ }
29
+ return c({
30
+ /**
31
+ * The currently open dialog information.
32
+ */
33
+ active: u(i),
34
+ /**
35
+ * Opens the dialog.
36
+ */
37
+ open: o,
38
+ /**
39
+ * Closes the dialog.
40
+ */
41
+ close: e
42
+ });
43
+ }
44
+ export {
45
+ p as default
46
+ };
47
+ //# sourceMappingURL=useDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDialog.js","sources":["../src/utils/Deferred.ts","../src/composables/useDialog/useDialog.ts"],"sourcesContent":["export default class Deferred<T> {\n public promise: Promise<T>;\n\n public reject!: (value: T | PromiseLike<T>) => void;\n public resolve!: (value: T | PromiseLike<T>) => void;\n\n constructor() {\n this.promise = new Promise((resolve, reject) => {\n this.reject = reject;\n this.resolve = resolve;\n });\n }\n}\n","import { h, reactive, readonly, ref } from 'vue';\n\nimport { DialogProps } from '../../components/Dialog/Dialog.vue';\nimport Deferred from '../../utils/Deferred';\n\nexport interface Result {\n isConfirmed?: boolean;\n isCanceled?: boolean;\n}\n\nexport interface ActiveDialog extends DialogProps {\n deferred?: Deferred<Result>;\n onConfirm?: () => void;\n onCancel?: () => void;\n slots?: Record<string, typeof h>;\n}\n\nconst active = ref<ActiveDialog>();\n\nexport default function useDialog() {\n function open(dialog: Omit<ActiveDialog, 'deferred'>) {\n if (active.value) {\n throw new Error('A Dialog is already being displayed');\n }\n\n active.value = {\n ...dialog,\n deferred: new Deferred(),\n };\n\n return active.value.deferred?.promise;\n }\n\n function close() {\n active.value = undefined;\n }\n\n return reactive({\n /**\n * The currently open dialog information.\n */\n active: readonly(active),\n\n /**\n * Opens the dialog.\n */\n open,\n\n /**\n * Closes the dialog.\n */\n close,\n });\n}\n"],"names":["Deferred","__publicField","resolve","reject","active","ref","useDialog","open","dialog","_a","close","reactive","readonly"],"mappings":";;;;AAAA,MAAqBA,EAAY;AAAA,EAM/B,cAAc;AALP,IAAAC,EAAA;AAEA,IAAAA,EAAA;AACA,IAAAA,EAAA;AAGL,SAAK,UAAU,IAAI,QAAQ,CAACC,GAASC,MAAW;AAC9C,WAAK,SAASA,GACd,KAAK,UAAUD;AAAA,IAAA,CAChB;AAAA,EACH;AACF;ACKA,MAAME,IAASC,EAAkB;AAEjC,SAAwBC,IAAY;AAClC,WAASC,EAAKC,GAAwC;;AACpD,QAAIJ,EAAO;AACH,YAAA,IAAI,MAAM,qCAAqC;AAGvD,WAAAA,EAAO,QAAQ;AAAA,MACb,GAAGI;AAAA,MACH,UAAU,IAAIR,EAAS;AAAA,IAAA,IAGlBS,IAAAL,EAAO,MAAM,aAAb,gBAAAK,EAAuB;AAAA,EAChC;AAEA,WAASC,IAAQ;AACf,IAAAN,EAAO,QAAQ;AAAA,EACjB;AAEA,SAAOO,EAAS;AAAA;AAAA;AAAA;AAAA,IAId,QAAQC,EAASR,CAAM;AAAA;AAAA;AAAA;AAAA,IAKvB,MAAAG;AAAA;AAAA;AAAA;AAAA,IAKA,OAAAG;AAAA,EAAA,CACD;AACH;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leaflink/stash",
3
- "version": "45.1.5",
3
+ "version": "45.1.7",
4
4
  "description": "LeafLink's design system.",
5
5
  "homepage": "https://stash.leaflink.com",
6
6
  "main": "./dist/index.ts",