haori-bootstrap 0.4.0 → 0.5.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.
@@ -1,114 +1,114 @@
1
- function ee(e) {
1
+ function Z(e) {
2
2
  return typeof e == "function";
3
3
  }
4
+ function ee(e) {
5
+ return Z(e?.Modal) ? e?.Modal : void 0;
6
+ }
4
7
  function te(e) {
5
- return ee(e?.Modal) ? e?.Modal : void 0;
8
+ return Z(e?.Toast) ? e?.Toast : void 0;
6
9
  }
7
- function oe(e) {
8
- return ee(e?.Toast) ? e?.Toast : void 0;
10
+ function L(e) {
11
+ return !!ee(e);
9
12
  }
10
- function I(e) {
13
+ function Ae(e) {
11
14
  return !!te(e);
12
15
  }
13
- function ve(e) {
14
- return !!oe(e);
15
- }
16
- function x(e, t, o) {
17
- const n = te(o);
18
- if (n)
19
- return typeof n.getOrCreateInstance == "function" ? n.getOrCreateInstance(e, t) : new n(e, t);
16
+ function B(e, t, n) {
17
+ const o = ee(n);
18
+ if (o)
19
+ return typeof o.getOrCreateInstance == "function" ? o.getOrCreateInstance(e, t) : new o(e, t);
20
20
  }
21
- function Te(e, t, o) {
22
- const n = oe(o);
23
- if (n)
24
- return typeof n.getOrCreateInstance == "function" ? n.getOrCreateInstance(e, t) : new n(e, t);
21
+ function ge(e, t, n) {
22
+ const o = te(n);
23
+ if (o)
24
+ return typeof o.getOrCreateInstance == "function" ? o.getOrCreateInstance(e, t) : new o(e, t);
25
25
  }
26
- const Ae = "data-haori-bootstrap-dialog", w = "data-haori-bootstrap-action", ge = "data-haori-bootstrap-dialog-title";
27
- let Ce = 0;
28
- function ne() {
26
+ const Ce = "data-haori-dialog", we = "data-haori-confirm", Se = "data-haori-dialog-title", ne = "data-haori-dialog-ok", oe = "data-haori-confirm-ok", re = "data-haori-confirm-cancel";
27
+ let ye = 0;
28
+ function ie() {
29
29
  return {
30
30
  backdrop: "static",
31
31
  keyboard: !1
32
32
  };
33
33
  }
34
- function re(e, t) {
34
+ function se(e, t) {
35
35
  if (t.dialogContainerSelector) {
36
- const o = e.querySelector(
36
+ const n = e.querySelector(
37
37
  t.dialogContainerSelector
38
38
  );
39
- if (o)
40
- return o;
39
+ if (n)
40
+ return n;
41
41
  }
42
42
  return e.body;
43
43
  }
44
- function se(e, t, o, n) {
44
+ function ae(e, t, n, o) {
45
45
  const r = e.createElement("div");
46
- r.className = "modal fade", r.tabIndex = -1, r.setAttribute(Ae, "true"), r.setAttribute("aria-hidden", "true");
47
- const s = e.createElement("div");
48
- s.className = "modal-dialog modal-dialog-centered";
46
+ r.className = "modal fade", r.tabIndex = -1, r.setAttribute(n ? we : Ce, "true"), r.setAttribute("aria-hidden", "true");
47
+ const i = e.createElement("div");
48
+ i.className = "modal-dialog modal-dialog-centered";
49
49
  const c = e.createElement("div");
50
- if (c.className = "modal-content", n) {
51
- const u = `haori-dialog-title-${++Ce}`, p = e.createElement("div");
52
- p.className = "modal-header";
50
+ if (c.className = "modal-content", o) {
51
+ const d = `haori-dialog-title-${++ye}`, h = e.createElement("div");
52
+ h.className = "modal-header";
53
53
  const C = e.createElement("h5");
54
- C.className = "modal-title", C.id = u, C.setAttribute(ge, "true"), C.textContent = n, p.appendChild(C), c.appendChild(p), r.setAttribute("aria-labelledby", u);
54
+ C.className = "modal-title", C.id = d, C.setAttribute(Se, "true"), C.textContent = o, h.appendChild(C), c.appendChild(h), r.setAttribute("aria-labelledby", d);
55
55
  }
56
56
  const a = e.createElement("div");
57
57
  a.className = "modal-body";
58
- const d = e.createElement("p");
59
- d.className = "mb-0", d.style.whiteSpace = "pre-line", d.textContent = t, a.appendChild(d);
58
+ const u = e.createElement("p");
59
+ u.className = "mb-0", u.style.whiteSpace = "pre-line", u.textContent = t, a.appendChild(u);
60
60
  const l = e.createElement("div");
61
- if (l.className = "modal-footer", o) {
62
- const u = e.createElement("button");
63
- u.type = "button", u.className = "btn btn-secondary", u.setAttribute(w, "cancel"), u.textContent = "Cancel", l.appendChild(u);
61
+ if (l.className = "modal-footer", n) {
62
+ const d = e.createElement("button");
63
+ d.type = "button", d.className = "btn btn-secondary", d.setAttribute(re, "true"), d.textContent = "Cancel", l.appendChild(d);
64
64
  }
65
65
  const m = e.createElement("button");
66
- return m.type = "button", m.className = "btn btn-primary", m.setAttribute(w, "ok"), m.textContent = "OK", l.appendChild(m), c.append(a, l), s.appendChild(c), r.appendChild(s), r;
67
- }
68
- function we(e, t) {
69
- const o = globalThis.document, n = se(o, e, !1, t.dialogTitle);
70
- re(o, t).appendChild(n);
71
- const r = x(
72
- n,
73
- ne(),
66
+ return m.type = "button", m.className = "btn btn-primary", m.setAttribute(n ? oe : ne, "true"), m.textContent = "OK", l.appendChild(m), c.append(a, l), i.appendChild(c), r.appendChild(i), r;
67
+ }
68
+ function Ie(e, t) {
69
+ const n = globalThis.document, o = ae(n, e, !1, t.dialogTitle);
70
+ se(n, t).appendChild(o);
71
+ const r = B(
72
+ o,
73
+ ie(),
74
74
  t.bootstrap
75
75
  );
76
- return r ? new Promise((s, c) => {
76
+ return r ? new Promise((i, c) => {
77
77
  const a = () => {
78
- n.removeEventListener("hidden.bs.modal", d), n.remove(), r.dispose?.(), s();
79
- }, d = () => {
78
+ o.removeEventListener("hidden.bs.modal", u), o.remove(), r.dispose?.(), i();
79
+ }, u = () => {
80
80
  a();
81
81
  };
82
- n.querySelector(`[${w}="ok"]`)?.addEventListener(
82
+ o.querySelector(`[${ne}]`)?.addEventListener(
83
83
  "click",
84
84
  () => {
85
85
  r.hide();
86
86
  },
87
87
  { once: !0 }
88
- ), n.addEventListener("hidden.bs.modal", d, { once: !0 });
88
+ ), o.addEventListener("hidden.bs.modal", u, { once: !0 });
89
89
  try {
90
90
  r.show();
91
91
  } catch (m) {
92
- n.removeEventListener("hidden.bs.modal", d), n.remove(), r.dispose?.(), c(m);
92
+ o.removeEventListener("hidden.bs.modal", u), o.remove(), r.dispose?.(), c(m);
93
93
  }
94
- }) : (n.remove(), Promise.reject(new Error("Bootstrap Modal is unavailable.")));
95
- }
96
- function Se(e, t) {
97
- const o = globalThis.document, n = se(o, e, !0, t.dialogTitle);
98
- re(o, t).appendChild(n);
99
- const r = x(
100
- n,
101
- ne(),
94
+ }) : (o.remove(), Promise.reject(new Error("Bootstrap Modal is unavailable.")));
95
+ }
96
+ function Le(e, t) {
97
+ const n = globalThis.document, o = ae(n, e, !0, t.dialogTitle);
98
+ se(n, t).appendChild(o);
99
+ const r = B(
100
+ o,
101
+ ie(),
102
102
  t.bootstrap
103
103
  );
104
- return r ? new Promise((s, c) => {
104
+ return r ? new Promise((i, c) => {
105
105
  let a = !1;
106
- const d = () => {
107
- n.removeEventListener("hidden.bs.modal", l), n.remove(), r.dispose?.(), s(a);
106
+ const u = () => {
107
+ o.removeEventListener("hidden.bs.modal", l), o.remove(), r.dispose?.(), i(a);
108
108
  }, l = () => {
109
- d();
110
- }, m = n.querySelector(`[${w}="ok"]`), u = n.querySelector(
111
- `[${w}="cancel"]`
109
+ u();
110
+ }, m = o.querySelector(`[${oe}]`), d = o.querySelector(
111
+ `[${re}]`
112
112
  );
113
113
  m?.addEventListener(
114
114
  "click",
@@ -116,107 +116,107 @@ function Se(e, t) {
116
116
  a = !0, r.hide();
117
117
  },
118
118
  { once: !0 }
119
- ), u?.addEventListener(
119
+ ), d?.addEventListener(
120
120
  "click",
121
121
  () => {
122
122
  a = !1, r.hide();
123
123
  },
124
124
  { once: !0 }
125
- ), n.addEventListener("hidden.bs.modal", l, { once: !0 });
125
+ ), o.addEventListener("hidden.bs.modal", l, { once: !0 });
126
126
  try {
127
127
  r.show();
128
- } catch (p) {
129
- n.removeEventListener("hidden.bs.modal", l), n.remove(), r.dispose?.(), c(p);
128
+ } catch (h) {
129
+ o.removeEventListener("hidden.bs.modal", l), o.remove(), r.dispose?.(), c(h);
130
130
  }
131
- }) : (n.remove(), Promise.reject(new Error("Bootstrap Modal is unavailable.")));
131
+ }) : (o.remove(), Promise.reject(new Error("Bootstrap Modal is unavailable.")));
132
132
  }
133
- const T = "data-haori-bootstrap-owned", b = "data-haori-bootstrap-message-container", g = "data-haori-bootstrap-invalid-target", S = "data-haori-bootstrap-valid-target";
134
- function y(e) {
133
+ const T = "data-haori-owned", b = "data-haori-message-container", g = "data-haori-invalid-target", w = "data-haori-valid-target";
134
+ function S(e) {
135
135
  return e instanceof HTMLInputElement && (e.type === "checkbox" || e.type === "radio");
136
136
  }
137
137
  function v(e) {
138
138
  return e instanceof HTMLInputElement && e.type === "radio";
139
139
  }
140
- function M(e) {
140
+ function y(e) {
141
141
  return e instanceof HTMLInputElement || e instanceof HTMLSelectElement || e instanceof HTMLTextAreaElement;
142
142
  }
143
- function P(e) {
143
+ function _(e) {
144
144
  return Array.from(e.children).find(
145
145
  (t) => t instanceof HTMLElement && t.getAttribute(b) === "true"
146
146
  );
147
147
  }
148
- function ie(e, t) {
149
- const o = e.createElement("div");
150
- return o.setAttribute(T, "true"), o.textContent = t, o;
148
+ function ce(e, t) {
149
+ const n = e.createElement("div");
150
+ return n.setAttribute(T, "true"), n.textContent = t, n;
151
151
  }
152
- function ae(e) {
153
- return P(e);
152
+ function le(e) {
153
+ return _(e);
154
154
  }
155
- function L(e) {
155
+ function I(e) {
156
156
  if (e.name) {
157
- const t = e.form ?? e.ownerDocument, o = typeof CSS < "u" && typeof CSS.escape == "function" ? CSS.escape(e.name) : e.name.replace(/(["\\])/g, "\\$1"), n = Array.from(
158
- t.querySelectorAll(`input[type="radio"][name="${o}"]`)
157
+ const t = e.form ?? e.ownerDocument, n = typeof CSS < "u" && typeof CSS.escape == "function" ? CSS.escape(e.name) : e.name.replace(/(["\\])/g, "\\$1"), o = Array.from(
158
+ t.querySelectorAll(`input[type="radio"][name="${n}"]`)
159
159
  );
160
- if (n.length > 0)
161
- return n;
160
+ if (o.length > 0)
161
+ return o;
162
162
  }
163
163
  return [e];
164
164
  }
165
- function ye(e) {
166
- const [t, ...o] = e;
165
+ function Me(e) {
166
+ const [t, ...n] = e;
167
167
  if (!t)
168
168
  return;
169
- let n = t;
170
- for (; n; ) {
171
- if (o.every((r) => n?.contains(r)))
172
- return n;
173
- n = n.parentElement;
169
+ let o = t;
170
+ for (; o; ) {
171
+ if (n.every((r) => o?.contains(r)))
172
+ return o;
173
+ o = o.parentElement;
174
174
  }
175
175
  }
176
- function U(e) {
177
- const o = L(e).map((n) => n.closest(".form-check")).filter((n) => n instanceof HTMLElement);
178
- if (o.length > 1) {
179
- const n = ye(o);
180
- if (n && !o.includes(n))
181
- return n;
176
+ function O(e) {
177
+ const n = I(e).map((o) => o.closest(".form-check")).filter((o) => o instanceof HTMLElement);
178
+ if (n.length > 1) {
179
+ const o = Me(n);
180
+ if (o && !n.includes(o))
181
+ return o;
182
182
  }
183
- return D(e);
183
+ return x(e);
184
184
  }
185
- function D(e) {
185
+ function x(e) {
186
186
  const t = e.closest(".form-check");
187
187
  return t instanceof HTMLElement ? t : void 0;
188
188
  }
189
- function ce(e) {
189
+ function de(e) {
190
190
  const t = e.nextElementSibling;
191
191
  if (t instanceof HTMLElement && t.getAttribute(b) === "true")
192
192
  return t;
193
- const o = document.createElement("div");
194
- return o.className = "invalid-feedback d-block", o.setAttribute(T, "true"), o.setAttribute(b, "true"), e.insertAdjacentElement("afterend", o), o;
193
+ const n = document.createElement("div");
194
+ return n.className = "invalid-feedback d-block", n.setAttribute(T, "true"), n.setAttribute(b, "true"), e.insertAdjacentElement("afterend", n), n;
195
195
  }
196
- function Me(e) {
197
- const t = v(e) ? U(e) : D(e);
196
+ function Ne(e) {
197
+ const t = v(e) ? O(e) : x(e);
198
198
  if (!t)
199
- return ce(e);
200
- const o = P(t);
201
- if (o)
202
- return o;
203
- const n = document.createElement("div");
204
- return n.className = "invalid-feedback d-block", n.setAttribute(T, "true"), n.setAttribute(b, "true"), t.appendChild(n), n;
199
+ return de(e);
200
+ const n = _(t);
201
+ if (n)
202
+ return n;
203
+ const o = document.createElement("div");
204
+ return o.className = "invalid-feedback d-block", o.setAttribute(T, "true"), o.setAttribute(b, "true"), t.appendChild(o), o;
205
205
  }
206
- function Le(e) {
207
- const t = ae(e);
206
+ function ke(e) {
207
+ const t = le(e);
208
208
  if (t)
209
209
  return t;
210
- const o = document.createElement("div");
211
- return o.className = "alert alert-danger", o.setAttribute("role", "alert"), o.setAttribute(T, "true"), o.setAttribute(b, "true"), e.insertAdjacentElement("afterbegin", o), o;
210
+ const n = document.createElement("div");
211
+ return n.className = "alert alert-danger", n.setAttribute("role", "alert"), n.setAttribute(T, "true"), n.setAttribute(b, "true"), e.insertAdjacentElement("afterbegin", n), n;
212
212
  }
213
- function h(e) {
213
+ function p(e) {
214
214
  e.getAttribute(g) === "true" && (e.classList.remove("is-invalid"), e.removeAttribute(g));
215
215
  }
216
216
  function E(e) {
217
- e.getAttribute(S) === "true" && (e.classList.remove("is-valid"), e.removeAttribute(S));
217
+ e.getAttribute(w) === "true" && (e.classList.remove("is-valid"), e.removeAttribute(w));
218
218
  }
219
- function W(e) {
219
+ function z(e) {
220
220
  switch (e) {
221
221
  case "success":
222
222
  return "alert alert-success";
@@ -228,64 +228,64 @@ function W(e) {
228
228
  return "alert alert-danger";
229
229
  }
230
230
  }
231
- function k(e) {
231
+ function N(e) {
232
232
  return e === "success" ? "valid-feedback d-block" : "invalid-feedback d-block";
233
233
  }
234
- function le(e) {
235
- (v(e) ? L(e) : [e]).forEach((o) => {
236
- o.classList.add("is-invalid"), o.setAttribute(g, "true");
234
+ function ue(e) {
235
+ (v(e) ? I(e) : [e]).forEach((n) => {
236
+ n.classList.add("is-invalid"), n.setAttribute(g, "true");
237
237
  });
238
238
  }
239
- function Ie(e) {
240
- (v(e) ? L(e) : [e]).forEach((o) => {
241
- h(o);
239
+ function He(e) {
240
+ (v(e) ? I(e) : [e]).forEach((n) => {
241
+ p(n);
242
242
  });
243
243
  }
244
- function ue(e, t) {
245
- const o = e.nextElementSibling;
246
- if (o instanceof HTMLElement && o.getAttribute(b) === "true")
247
- return o.className = k(t), o;
248
- const n = document.createElement("div");
249
- return n.className = k(t), n.setAttribute(T, "true"), n.setAttribute(b, "true"), e.insertAdjacentElement("afterend", n), n;
244
+ function fe(e, t) {
245
+ const n = e.nextElementSibling;
246
+ if (n instanceof HTMLElement && n.getAttribute(b) === "true")
247
+ return n.className = N(t), n;
248
+ const o = document.createElement("div");
249
+ return o.className = N(t), o.setAttribute(T, "true"), o.setAttribute(b, "true"), e.insertAdjacentElement("afterend", o), o;
250
250
  }
251
- function Ne(e, t) {
252
- const o = v(e) ? U(e) : D(e);
253
- if (!o)
254
- return ue(e, t);
255
- const n = P(o);
256
- if (n)
257
- return n.className = k(t), n;
251
+ function Re(e, t) {
252
+ const n = v(e) ? O(e) : x(e);
253
+ if (!n)
254
+ return fe(e, t);
255
+ const o = _(n);
256
+ if (o)
257
+ return o.className = N(t), o;
258
258
  const r = document.createElement("div");
259
- return r.className = k(t), r.setAttribute(T, "true"), r.setAttribute(b, "true"), o.appendChild(r), r;
259
+ return r.className = N(t), r.setAttribute(T, "true"), r.setAttribute(b, "true"), n.appendChild(r), r;
260
260
  }
261
- function ke(e, t) {
262
- const o = ae(e);
263
- if (o)
264
- return o.className = W(t), o;
265
- const n = document.createElement("div");
266
- return n.className = W(t), n.setAttribute("role", "alert"), n.setAttribute(T, "true"), n.setAttribute(b, "true"), e.insertAdjacentElement("afterbegin", n), n;
267
- }
268
- function He(e, t) {
269
- return (y(e) ? Me(e) : M(e) ? ce(e) : Le(e)).appendChild(ie(document, t)), y(e) ? le(e) : M(e) && (e.classList.add("is-invalid"), e.setAttribute(g, "true")), Promise.resolve();
270
- }
271
- function Be(e, t, o) {
272
- if ((y(e) ? Ne(e, o) : M(e) ? ue(e, o) : ke(e, o)).appendChild(ie(document, t)), y(e)) {
273
- const r = v(e) ? L(e) : [e];
274
- o === "success" ? r.forEach((s) => {
275
- h(s), s.classList.add("is-valid"), s.setAttribute(S, "true");
276
- }) : !o || o === "error" ? (r.forEach((s) => E(s)), le(e)) : r.forEach((s) => {
277
- E(s), h(s);
261
+ function Be(e, t) {
262
+ const n = le(e);
263
+ if (n)
264
+ return n.className = z(t), n;
265
+ const o = document.createElement("div");
266
+ return o.className = z(t), o.setAttribute("role", "alert"), o.setAttribute(T, "true"), o.setAttribute(b, "true"), e.insertAdjacentElement("afterbegin", o), o;
267
+ }
268
+ function _e(e, t) {
269
+ return (S(e) ? Ne(e) : y(e) ? de(e) : ke(e)).appendChild(ce(document, t)), S(e) ? ue(e) : y(e) && (e.classList.add("is-invalid"), e.setAttribute(g, "true")), Promise.resolve();
270
+ }
271
+ function xe(e, t, n) {
272
+ if ((S(e) ? Re(e, n) : y(e) ? fe(e, n) : Be(e, n)).appendChild(ce(document, t)), S(e)) {
273
+ const r = v(e) ? I(e) : [e];
274
+ n === "success" ? r.forEach((i) => {
275
+ p(i), i.classList.add("is-valid"), i.setAttribute(w, "true");
276
+ }) : !n || n === "error" ? (r.forEach((i) => E(i)), ue(e)) : r.forEach((i) => {
277
+ E(i), p(i);
278
278
  });
279
- } else M(e) && (o === "success" ? (h(e), e.classList.add("is-valid"), e.setAttribute(S, "true")) : !o || o === "error" ? (E(e), e.classList.add("is-invalid"), e.setAttribute(g, "true")) : (E(e), h(e)));
279
+ } else y(e) && (n === "success" ? (p(e), e.classList.add("is-valid"), e.setAttribute(w, "true")) : !n || n === "error" ? (E(e), e.classList.add("is-invalid"), e.setAttribute(g, "true")) : (E(e), p(e)));
280
280
  return Promise.resolve();
281
281
  }
282
- function Re(e) {
283
- if (y(e)) {
284
- const r = v(e) ? U(e) : D(e);
285
- (r ? P(r) : void 0)?.remove(), Ie(e), (v(e) ? L(e) : [e]).forEach((a) => E(a));
286
- } else if (M(e)) {
282
+ function De(e) {
283
+ if (S(e)) {
284
+ const r = v(e) ? O(e) : x(e);
285
+ (r ? _(r) : void 0)?.remove(), He(e), (v(e) ? I(e) : [e]).forEach((a) => E(a));
286
+ } else if (y(e)) {
287
287
  const r = e.nextElementSibling;
288
- r instanceof HTMLElement && r.getAttribute(b) === "true" && r.remove(), h(e), E(e);
288
+ r instanceof HTMLElement && r.getAttribute(b) === "true" && r.remove(), p(e), E(e);
289
289
  }
290
290
  return e.querySelectorAll(
291
291
  `[${b}="true"]`
@@ -294,27 +294,27 @@ function Re(e) {
294
294
  }), e.querySelectorAll(
295
295
  `[${g}="true"]`
296
296
  ).forEach((r) => {
297
- h(r);
297
+ p(r);
298
298
  }), e.querySelectorAll(
299
- `[${S}="true"]`
299
+ `[${w}="true"]`
300
300
  ).forEach((r) => {
301
301
  E(r);
302
302
  }), Promise.resolve();
303
303
  }
304
- function de(e) {
304
+ function me(e) {
305
305
  e.classList.contains("modal") || e.classList.add("modal"), e.tabIndex < 0 && (e.tabIndex = -1), e.hasAttribute("aria-hidden") || e.setAttribute("aria-hidden", "true");
306
306
  }
307
- function xe(e, t) {
308
- de(e);
309
- const o = x(e, void 0, t.bootstrap);
310
- return o ? (o.show(), Promise.resolve()) : Promise.reject(new Error("Bootstrap Modal is unavailable."));
311
- }
312
307
  function Pe(e, t) {
313
- de(e);
314
- const o = x(e, void 0, t.bootstrap);
315
- return o ? (o.hide(), Promise.resolve()) : Promise.reject(new Error("Bootstrap Modal is unavailable."));
308
+ me(e);
309
+ const n = B(e, void 0, t.bootstrap);
310
+ return n ? (n.show(), Promise.resolve()) : Promise.reject(new Error("Bootstrap Modal is unavailable."));
311
+ }
312
+ function $e(e, t) {
313
+ me(e);
314
+ const n = B(e, void 0, t.bootstrap);
315
+ return n ? (n.hide(), Promise.resolve()) : Promise.reject(new Error("Bootstrap Modal is unavailable."));
316
316
  }
317
- const G = "data-haori-bootstrap-toast-container", De = "data-haori-bootstrap-toast", _e = "data-haori-bootstrap-toast-accent", $e = "data-haori-bootstrap-toast-dismiss", V = {
317
+ const W = "data-haori-toast-container", Oe = "data-haori-toast", Ue = "data-haori-toast-level", qe = "data-haori-toast-accent", Fe = "data-haori-toast-dismiss", G = {
318
318
  "top-start": "top-0 start-0",
319
319
  "top-center": "top-0 start-50 translate-middle-x",
320
320
  "top-end": "top-0 end-0",
@@ -322,118 +322,118 @@ const G = "data-haori-bootstrap-toast-container", De = "data-haori-bootstrap-toa
322
322
  "bottom-center": "bottom-0 start-50 translate-middle-x",
323
323
  "bottom-end": "bottom-0 end-0"
324
324
  };
325
- function qe(e) {
325
+ function ze(e) {
326
326
  switch (e) {
327
327
  case "success":
328
- return { accentClassName: "bg-success" };
328
+ return { accentClassName: "bg-success", level: "success" };
329
329
  case "warning":
330
- return { accentClassName: "bg-warning" };
330
+ return { accentClassName: "bg-warning", level: "warning" };
331
331
  case "error":
332
- return { accentClassName: "bg-danger" };
332
+ return { accentClassName: "bg-danger", level: "error" };
333
333
  default:
334
- return { accentClassName: "bg-info" };
334
+ return { accentClassName: "bg-info", level: "info" };
335
335
  }
336
336
  }
337
- function Ue(e, t) {
337
+ function We(e, t) {
338
338
  if (t.toastContainerSelector) {
339
- const o = e.querySelector(t.toastContainerSelector);
340
- if (o)
341
- return o;
339
+ const n = e.querySelector(t.toastContainerSelector);
340
+ if (n)
341
+ return n;
342
342
  }
343
343
  return e.body;
344
344
  }
345
- function Oe(e, t) {
346
- const o = Ue(e, t), n = V[t.toastPosition ?? "bottom-end"], r = o.querySelector(
347
- `[${G}="true"]`
345
+ function Ge(e, t) {
346
+ const n = We(e, t), o = G[t.toastPosition ?? "bottom-end"], r = n.querySelector(
347
+ `[${W}="true"]`
348
348
  );
349
349
  if (r) {
350
- const c = Object.values(V).flatMap((a) => a.split(" "));
351
- return r.classList.remove(...c), r.classList.add(...n.split(" ")), r;
350
+ const c = Object.values(G).flatMap((a) => a.split(" "));
351
+ return r.classList.remove(...c), r.classList.add(...o.split(" ")), r;
352
352
  }
353
- const s = e.createElement("div");
354
- return s.className = `toast-container position-fixed ${n} p-3`, s.setAttribute(G, "true"), o.appendChild(s), s;
353
+ const i = e.createElement("div");
354
+ return i.className = `toast-container position-fixed ${o} p-3`, i.setAttribute(W, "true"), n.appendChild(i), i;
355
355
  }
356
- function Fe(e, t, o) {
357
- const n = globalThis.document, r = qe(t), s = n.createElement("div");
358
- s.className = "toast border bg-body text-body shadow-sm", s.setAttribute("role", "status"), s.setAttribute("aria-live", "polite"), s.setAttribute("aria-atomic", "true"), s.setAttribute(De, "true");
359
- const c = n.createElement("div");
356
+ function Ve(e, t, n) {
357
+ const o = globalThis.document, r = ze(t), i = o.createElement("div");
358
+ i.className = "toast border bg-body text-body shadow-sm", i.setAttribute("role", "status"), i.setAttribute("aria-live", "polite"), i.setAttribute("aria-atomic", "true"), i.setAttribute(Oe, "true"), i.setAttribute(Ue, r.level);
359
+ const c = o.createElement("div");
360
360
  c.className = "d-flex align-items-stretch";
361
- const a = n.createElement("div");
362
- a.className = `flex-shrink-0 rounded-start ${r.accentClassName}`, a.style.width = "0.375rem", a.setAttribute(_e, "true");
363
- const d = n.createElement("div");
364
- d.className = "toast-body", d.style.whiteSpace = "pre-line", d.textContent = e;
365
- const l = n.createElement("button");
366
- l.type = "button", l.className = "btn-close me-2 m-auto flex-shrink-0", l.setAttribute("aria-label", "Close"), l.setAttribute($e, "true"), c.appendChild(a), c.appendChild(d), c.appendChild(l), s.appendChild(c), Oe(n, o).appendChild(s);
367
- const m = o.toastDelay !== void 0 ? { delay: o.toastDelay } : void 0, u = Te(s, m, o.bootstrap);
368
- if (!u)
369
- return s.remove(), Promise.reject(new Error("Bootstrap Toast is unavailable."));
361
+ const a = o.createElement("div");
362
+ a.className = `flex-shrink-0 rounded-start ${r.accentClassName}`, a.style.width = "0.375rem", a.setAttribute(qe, "true");
363
+ const u = o.createElement("div");
364
+ u.className = "toast-body", u.style.whiteSpace = "pre-line", u.textContent = e;
365
+ const l = o.createElement("button");
366
+ l.type = "button", l.className = "btn-close me-2 m-auto flex-shrink-0", l.setAttribute("aria-label", "Close"), l.setAttribute(Fe, "true"), c.appendChild(a), c.appendChild(u), c.appendChild(l), i.appendChild(c), Ge(o, n).appendChild(i);
367
+ const m = n.toastDelay !== void 0 ? { delay: n.toastDelay } : void 0, d = ge(i, m, n.bootstrap);
368
+ if (!d)
369
+ return i.remove(), Promise.reject(new Error("Bootstrap Toast is unavailable."));
370
370
  l.addEventListener("click", () => {
371
- u.hide?.();
372
- }), s.addEventListener(
371
+ d.hide?.();
372
+ }), i.addEventListener(
373
373
  "hidden.bs.toast",
374
374
  () => {
375
- s.remove(), u.dispose?.();
375
+ i.remove(), d.dispose?.();
376
376
  },
377
377
  { once: !0 }
378
378
  );
379
379
  try {
380
- return u.show(), Promise.resolve();
381
- } catch (p) {
382
- return s.remove(), u.dispose?.(), Promise.reject(p);
380
+ return d.show(), Promise.resolve();
381
+ } catch (h) {
382
+ return i.remove(), d.dispose?.(), Promise.reject(h);
383
383
  }
384
384
  }
385
- const ze = {
385
+ const Ke = {
386
386
  options: {
387
387
  fallbackToNative: !0
388
388
  }
389
389
  };
390
- let f = ze;
390
+ let f = Ke;
391
391
  function A(e) {
392
392
  return e.replace(/\\n/g, `
393
393
  `);
394
394
  }
395
- function fe() {
395
+ function be() {
396
396
  return globalThis.window;
397
397
  }
398
- function O(e) {
398
+ function U(e) {
399
399
  return Promise.resolve(e).then(() => {
400
400
  });
401
401
  }
402
- function _(e) {
402
+ function D(e) {
403
403
  const t = f.originalHaori?.[e];
404
404
  return typeof t == "function" ? t : void 0;
405
405
  }
406
- function $(e) {
406
+ function P(e) {
407
407
  console.warn(`[haori-bootstrap] ${e} skipped because Bootstrap support is unavailable.`);
408
408
  }
409
- function j(e) {
410
- const t = A(e), o = _("dialog");
411
- if (o)
412
- return O(o(t));
413
- const n = fe();
414
- return f.options.fallbackToNative && typeof n?.alert == "function" ? (n.alert(t), Promise.resolve()) : ($("dialog"), Promise.resolve());
409
+ function V(e) {
410
+ const t = A(e), n = D("dialog");
411
+ if (n)
412
+ return U(n(t));
413
+ const o = be();
414
+ return f.options.fallbackToNative && typeof o?.alert == "function" ? (o.alert(t), Promise.resolve()) : (P("dialog"), Promise.resolve());
415
415
  }
416
416
  function K(e) {
417
- const t = A(e), o = _("confirm");
418
- if (o)
419
- return Promise.resolve(o(t)).then(
417
+ const t = A(e), n = D("confirm");
418
+ if (n)
419
+ return Promise.resolve(n(t)).then(
420
420
  (r) => !!r
421
421
  );
422
- const n = fe();
423
- return f.options.fallbackToNative && typeof n?.confirm == "function" ? Promise.resolve(n.confirm(t)) : ($("confirm"), Promise.resolve(!1));
422
+ const o = be();
423
+ return f.options.fallbackToNative && typeof o?.confirm == "function" ? Promise.resolve(o.confirm(t)) : (P("confirm"), Promise.resolve(!1));
424
424
  }
425
- function J(e, t) {
426
- const o = A(e), n = _("toast");
427
- return n ? O(n(o, t)) : ($("toast"), Promise.resolve());
425
+ function j(e, t) {
426
+ const n = A(e), o = D("toast");
427
+ return o ? U(o(n, t)) : (P("toast"), Promise.resolve());
428
428
  }
429
- function N(e, t) {
430
- const o = _(e);
431
- return o ? O(o(t)) : ($(e), Promise.resolve());
429
+ function M(e, t) {
430
+ const n = D(e);
431
+ return n ? U(n(t)) : (P(e), Promise.resolve());
432
432
  }
433
- function We(e) {
433
+ function je(e) {
434
434
  f = e;
435
435
  }
436
- class Ge {
436
+ class Je {
437
437
  /**
438
438
  * 情報表示ダイアログを表示する。
439
439
  *
@@ -441,8 +441,8 @@ class Ge {
441
441
  * @return 完了時に解決される Promise。
442
442
  */
443
443
  static dialog(t) {
444
- const o = A(t);
445
- return I(f.options.bootstrap) ? we(o, f.options).catch(() => j(o)) : j(o);
444
+ const n = A(t);
445
+ return L(f.options.bootstrap) ? Ie(n, f.options).catch(() => V(n)) : V(n);
446
446
  }
447
447
  /**
448
448
  * 確認ダイアログを表示する。
@@ -451,8 +451,8 @@ class Ge {
451
451
  * @return OK のみ true を返す Promise。
452
452
  */
453
453
  static confirm(t) {
454
- const o = A(t);
455
- return I(f.options.bootstrap) ? Se(o, f.options).catch(() => K(o)) : K(o);
454
+ const n = A(t);
455
+ return L(f.options.bootstrap) ? Le(n, f.options).catch(() => K(n)) : K(n);
456
456
  }
457
457
  /**
458
458
  * トースト通知を表示する。
@@ -461,11 +461,11 @@ class Ge {
461
461
  * @param level 通知レベル。
462
462
  * @return 完了時に解決される Promise。
463
463
  */
464
- static toast(t, o) {
465
- const n = A(t);
466
- return ve(f.options.bootstrap) ? Fe(n, o, f.options).catch(
467
- () => J(n, o)
468
- ) : J(n, o);
464
+ static toast(t, n) {
465
+ const o = A(t);
466
+ return Ae(f.options.bootstrap) ? Ve(o, n, f.options).catch(
467
+ () => j(o, n)
468
+ ) : j(o, n);
469
469
  }
470
470
  /**
471
471
  * 任意のダイアログ要素を開く。
@@ -474,9 +474,9 @@ class Ge {
474
474
  * @return 完了時に解決される Promise。
475
475
  */
476
476
  static openDialog(t) {
477
- return I(f.options.bootstrap) ? xe(t, f.options).catch(
478
- () => N("openDialog", t)
479
- ) : N("openDialog", t);
477
+ return L(f.options.bootstrap) ? Pe(t, f.options).catch(
478
+ () => M("openDialog", t)
479
+ ) : M("openDialog", t);
480
480
  }
481
481
  /**
482
482
  * 任意のダイアログ要素を閉じる。
@@ -485,9 +485,9 @@ class Ge {
485
485
  * @return 完了時に解決される Promise。
486
486
  */
487
487
  static closeDialog(t) {
488
- return I(f.options.bootstrap) ? Pe(t, f.options).catch(
489
- () => N("closeDialog", t)
490
- ) : N("closeDialog", t);
488
+ return L(f.options.bootstrap) ? $e(t, f.options).catch(
489
+ () => M("closeDialog", t)
490
+ ) : M("closeDialog", t);
491
491
  }
492
492
  /**
493
493
  * 管理対象のエラーメッセージを追加する。
@@ -496,8 +496,8 @@ class Ge {
496
496
  * @param message 表示するメッセージ。
497
497
  * @return 完了時に解決される Promise。
498
498
  */
499
- static addErrorMessage(t, o) {
500
- return He(t, o);
499
+ static addErrorMessage(t, n) {
500
+ return _e(t, n);
501
501
  }
502
502
  /**
503
503
  * 管理対象のメッセージをレベル付きで追加する。
@@ -507,8 +507,8 @@ class Ge {
507
507
  * @param level メッセージレベル (error / success / warning / info)。省略時は error。
508
508
  * @return 完了時に解決される Promise。
509
509
  */
510
- static addMessage(t, o, n) {
511
- return Be(t, o, n);
510
+ static addMessage(t, n, o) {
511
+ return xe(t, n, o);
512
512
  }
513
513
  /**
514
514
  * 管理対象のメッセージを削除する。
@@ -517,77 +517,77 @@ class Ge {
517
517
  * @return 完了時に解決される Promise。
518
518
  */
519
519
  static clearMessages(t) {
520
- return Re(t);
520
+ return De(t);
521
521
  }
522
522
  }
523
- const Ve = "haori-bootstrap:collapse:", H = "data-haori-bootstrap-persist";
524
- let B = !1, R, q;
525
- function me(e) {
526
- return Ve + e;
523
+ const Xe = "haori-bootstrap:collapse:", k = "data-haori-persist";
524
+ let H = !1, R, $;
525
+ function he(e) {
526
+ return Xe + e;
527
527
  }
528
- function je(e) {
528
+ function Qe(e) {
529
529
  try {
530
- const t = window.sessionStorage.getItem(me(e));
530
+ const t = window.sessionStorage.getItem(he(e));
531
531
  return t === "shown" || t === "hidden" ? t : void 0;
532
532
  } catch {
533
533
  return;
534
534
  }
535
535
  }
536
- function Ke(e, t) {
536
+ function Ye(e, t) {
537
537
  try {
538
- window.sessionStorage.setItem(me(e), t);
538
+ window.sessionStorage.setItem(he(e), t);
539
539
  } catch {
540
540
  }
541
541
  }
542
- function X(e, t) {
543
- const o = e.id, n = [`[data-bs-toggle="collapse"][data-bs-target="#${o}"]`];
544
- if (o && n.push(`[data-bs-toggle="collapse"][href="#${o}"]`), !o)
542
+ function J(e, t) {
543
+ const n = e.id, o = [`[data-bs-toggle="collapse"][data-bs-target="#${n}"]`];
544
+ if (n && o.push(`[data-bs-toggle="collapse"][href="#${n}"]`), !n)
545
545
  return;
546
- e.ownerDocument.querySelectorAll(n.join(",")).forEach((s) => {
547
- s.setAttribute("aria-expanded", t ? "true" : "false"), s.classList.toggle("collapsed", !t);
546
+ e.ownerDocument.querySelectorAll(o.join(",")).forEach((i) => {
547
+ i.setAttribute("aria-expanded", t ? "true" : "false"), i.classList.toggle("collapsed", !t);
548
548
  });
549
549
  }
550
- function Q(e) {
551
- const t = e.getAttribute(H);
550
+ function X(e) {
551
+ const t = e.getAttribute(k);
552
552
  if (!t)
553
553
  return;
554
- const o = je(t);
555
- if (!o)
554
+ const n = Qe(t);
555
+ if (!n)
556
556
  return;
557
- const n = e.classList.contains("show");
558
- o === "shown" && !n ? (e.classList.add("show"), X(e, !0)) : o === "hidden" && n && (e.classList.remove("show"), X(e, !1));
557
+ const o = e.classList.contains("show");
558
+ n === "shown" && !o ? (e.classList.add("show"), J(e, !0)) : n === "hidden" && o && (e.classList.remove("show"), J(e, !1));
559
559
  }
560
- function Y(e) {
561
- e instanceof HTMLElement && e.hasAttribute(H) && Q(e), e.querySelectorAll(`[${H}]`).forEach(Q);
560
+ function Q(e) {
561
+ e instanceof HTMLElement && e.hasAttribute(k) && X(e), e.querySelectorAll(`[${k}]`).forEach(X);
562
562
  }
563
- function be(e, t) {
564
- const o = e.target;
565
- if (!(o instanceof HTMLElement))
563
+ function pe(e, t) {
564
+ const n = e.target;
565
+ if (!(n instanceof HTMLElement))
566
566
  return;
567
- const n = o.getAttribute(H);
568
- n && Ke(n, t);
567
+ const o = n.getAttribute(k);
568
+ o && Ye(o, t);
569
569
  }
570
- const pe = (e) => be(e, "shown"), he = (e) => be(e, "hidden");
571
- function Je(e = document) {
572
- if (B)
570
+ const Ee = (e) => pe(e, "shown"), ve = (e) => pe(e, "hidden");
571
+ function Ze(e = document) {
572
+ if (H)
573
573
  return;
574
- B = !0, q = e, e.addEventListener("shown.bs.collapse", pe), e.addEventListener("hidden.bs.collapse", he);
574
+ H = !0, $ = e, e.addEventListener("shown.bs.collapse", Ee), e.addEventListener("hidden.bs.collapse", ve);
575
575
  const t = () => {
576
- Y(e), R = new MutationObserver((o) => {
577
- for (const n of o)
578
- n.addedNodes.forEach((r) => {
579
- r instanceof HTMLElement && Y(r);
576
+ Q(e), R = new MutationObserver((n) => {
577
+ for (const o of n)
578
+ o.addedNodes.forEach((r) => {
579
+ r instanceof HTMLElement && Q(r);
580
580
  });
581
581
  }), e.body && R.observe(e.body, { childList: !0, subtree: !0 });
582
582
  };
583
583
  e.body ? t() : e.addEventListener("DOMContentLoaded", t, { once: !0 });
584
584
  }
585
- function Xe(e = q ?? document) {
586
- B && (B = !1, e.removeEventListener("shown.bs.collapse", pe), e.removeEventListener("hidden.bs.collapse", he), R?.disconnect(), R = void 0, q = void 0);
585
+ function et(e = $ ?? document) {
586
+ H && (H = !1, e.removeEventListener("shown.bs.collapse", Ee), e.removeEventListener("hidden.bs.collapse", ve), R?.disconnect(), R = void 0, $ = void 0);
587
587
  }
588
- const F = {
588
+ const q = {
589
589
  fallbackToNative: !0
590
- }, Z = /* @__PURE__ */ new Set([
590
+ }, Y = /* @__PURE__ */ new Set([
591
591
  "dialog",
592
592
  "confirm",
593
593
  "toast",
@@ -597,98 +597,98 @@ const F = {
597
597
  "addMessage",
598
598
  "clearMessages"
599
599
  ]);
600
- function Qe(e) {
601
- const t = Ge;
600
+ function tt(e) {
601
+ const t = Je;
602
602
  return new Proxy(e, {
603
- get(o, n, r) {
604
- return typeof n == "string" && Z.has(n) ? t[n] : Reflect.get(o, n, r);
603
+ get(n, o, r) {
604
+ return typeof o == "string" && Y.has(o) ? t[o] : Reflect.get(n, o, r);
605
605
  },
606
- has(o, n) {
607
- return typeof n == "string" && Z.has(n) ? !0 : Reflect.has(o, n);
606
+ has(n, o) {
607
+ return typeof o == "string" && Y.has(o) ? !0 : Reflect.has(n, o);
608
608
  }
609
609
  });
610
610
  }
611
- const i = {
611
+ const s = {
612
612
  installed: !1,
613
- options: F
613
+ options: q
614
614
  };
615
- function z() {
615
+ function F() {
616
616
  return globalThis.window;
617
617
  }
618
- function Ye(e, t) {
618
+ function nt(e, t) {
619
619
  return {
620
620
  bootstrap: e.bootstrap ?? t?.bootstrap,
621
- fallbackToNative: e.fallbackToNative ?? F.fallbackToNative,
622
- runtime: e.runtime ?? i.options.runtime ?? t?.Haori?.runtime,
623
- toastContainerSelector: e.toastContainerSelector ?? i.options.toastContainerSelector,
624
- dialogContainerSelector: e.dialogContainerSelector ?? i.options.dialogContainerSelector,
625
- dialogTitle: e.dialogTitle ?? i.options.dialogTitle,
626
- toastPosition: e.toastPosition ?? i.options.toastPosition,
627
- toastDelay: e.toastDelay ?? i.options.toastDelay
621
+ fallbackToNative: e.fallbackToNative ?? q.fallbackToNative,
622
+ runtime: e.runtime ?? s.options.runtime ?? t?.Haori?.runtime,
623
+ toastContainerSelector: e.toastContainerSelector ?? s.options.toastContainerSelector,
624
+ dialogContainerSelector: e.dialogContainerSelector ?? s.options.dialogContainerSelector,
625
+ dialogTitle: e.dialogTitle ?? s.options.dialogTitle,
626
+ toastPosition: e.toastPosition ?? s.options.toastPosition,
627
+ toastDelay: e.toastDelay ?? s.options.toastDelay
628
628
  };
629
629
  }
630
- function Ze(e = z()) {
630
+ function ot(e = F()) {
631
631
  return !!(e?.Haori && e.bootstrap);
632
632
  }
633
- function et(e = {}) {
634
- const t = z();
633
+ function rt(e = {}) {
634
+ const t = F();
635
635
  if (!t?.Haori)
636
636
  throw new Error("window.Haori is required before calling install().");
637
- if (i.originalHaori || (i.originalHaori = t.Haori, i.originalRuntime = t.Haori.runtime), i.options = Ye(e, t), i.options.runtime) {
638
- const o = i.originalHaori ?? t.Haori;
639
- typeof o.setRuntime == "function" ? o.setRuntime(i.options.runtime) : console.warn(
637
+ if (s.originalHaori || (s.originalHaori = t.Haori, s.originalRuntime = t.Haori.runtime), s.options = nt(e, t), s.options.runtime) {
638
+ const n = s.originalHaori ?? t.Haori;
639
+ typeof n.setRuntime == "function" ? n.setRuntime(s.options.runtime) : console.warn(
640
640
  "[haori-bootstrap] Haori.setRuntime が利用できません。runtime 設定は無視されます。"
641
641
  );
642
642
  }
643
- We({
644
- originalHaori: i.originalHaori,
645
- options: i.options
646
- }), t.Haori = Qe(i.originalHaori), Je(), i.installed = !0;
647
- }
648
- function st() {
649
- const e = z();
650
- if (!e || !i.originalHaori)
643
+ je({
644
+ originalHaori: s.originalHaori,
645
+ options: s.options
646
+ }), t.Haori = tt(s.originalHaori), Ze(), s.installed = !0;
647
+ }
648
+ function lt() {
649
+ const e = F();
650
+ if (!e || !s.originalHaori)
651
651
  return;
652
- const t = i.originalHaori;
653
- typeof t.setRuntime == "function" ? t.setRuntime(i.originalRuntime) : t.runtime = i.originalRuntime, e.Haori = i.originalHaori, Xe(), i.installed = !1, i.originalHaori = void 0, i.originalRuntime = void 0, i.options = F;
652
+ const t = s.originalHaori;
653
+ typeof t.setRuntime == "function" ? t.setRuntime(s.originalRuntime) : t.runtime = s.originalRuntime, e.Haori = s.originalHaori, et(), s.installed = !1, s.originalHaori = void 0, s.originalRuntime = void 0, s.options = q;
654
654
  }
655
- function it() {
656
- return i.installed;
655
+ function dt() {
656
+ return s.installed;
657
657
  }
658
- const Ee = "__haoriJsBootstrapAutoEnabled__";
659
- function tt() {
658
+ const Te = "__haoriJsBootstrapAutoEnabled__";
659
+ function it() {
660
660
  return globalThis.window;
661
661
  }
662
- function ot(e) {
663
- return !!e[Ee];
662
+ function st(e) {
663
+ return !!e[Te];
664
664
  }
665
- function nt(e) {
666
- e[Ee] = !0;
665
+ function at(e) {
666
+ e[Te] = !0;
667
667
  }
668
- function rt() {
669
- const e = tt();
670
- if (!(!e || ot(e))) {
671
- if (!Ze(e)) {
668
+ function ct() {
669
+ const e = it();
670
+ if (!(!e || st(e))) {
671
+ if (!ot(e)) {
672
672
  console.warn(
673
673
  "[haori-bootstrap] Auto-enable skipped because window.Haori or window.bootstrap is missing."
674
674
  );
675
675
  return;
676
676
  }
677
677
  try {
678
- et({ bootstrap: e.bootstrap }), nt(e);
678
+ rt({ bootstrap: e.bootstrap }), at(e);
679
679
  } catch (t) {
680
680
  console.warn("[haori-bootstrap] Auto-enable failed.", t);
681
681
  }
682
682
  }
683
683
  }
684
- rt();
685
- const at = "0.4.0";
684
+ ct();
685
+ const ut = "0.5.0";
686
686
  export {
687
- Ge as BootstrapHaori,
688
- Ze as hasAutoEnablePrerequisites,
689
- et as install,
690
- it as isInstalled,
691
- st as uninstall,
692
- at as version
687
+ Je as BootstrapHaori,
688
+ ot as hasAutoEnablePrerequisites,
689
+ rt as install,
690
+ dt as isInstalled,
691
+ lt as uninstall,
692
+ ut as version
693
693
  };
694
694
  //# sourceMappingURL=haori-bootstrap.js.map