@aura360/aura-nine-dot-menu 1.7.1 → 1.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.es.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import mt, { useRef as _t, useEffect as X } from "react";
2
- const H = globalThis, V = H.ShadowRoot && (H.ShadyCSS === void 0 || H.ShadyCSS.nativeShadow) && "adoptedStyleSheets" in Document.prototype && "replace" in CSSStyleSheet.prototype, K = /* @__PURE__ */ Symbol(), tt = /* @__PURE__ */ new WeakMap();
2
+ const N = globalThis, V = N.ShadowRoot && (N.ShadyCSS === void 0 || N.ShadyCSS.nativeShadow) && "adoptedStyleSheets" in Document.prototype && "replace" in CSSStyleSheet.prototype, K = /* @__PURE__ */ Symbol(), tt = /* @__PURE__ */ new WeakMap();
3
3
  let ct = class {
4
4
  constructor(t, e, s) {
5
5
  if (this._$cssResult$ = !0, s !== K) throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");
@@ -18,25 +18,25 @@ let ct = class {
18
18
  return this.cssText;
19
19
  }
20
20
  };
21
- const yt = (r) => new ct(typeof r == "string" ? r : r + "", void 0, K), j = (r, ...t) => {
21
+ const vt = (r) => new ct(typeof r == "string" ? r : r + "", void 0, K), z = (r, ...t) => {
22
22
  const e = r.length === 1 ? r[0] : t.reduce((s, i, n) => s + ((o) => {
23
23
  if (o._$cssResult$ === !0) return o.cssText;
24
24
  if (typeof o == "number") return o;
25
25
  throw Error("Value passed to 'css' function must be a 'css' function result: " + o + ". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.");
26
26
  })(i) + r[n + 1], r[0]);
27
27
  return new ct(e, r, K);
28
- }, bt = (r, t) => {
28
+ }, yt = (r, t) => {
29
29
  if (V) r.adoptedStyleSheets = t.map((e) => e instanceof CSSStyleSheet ? e : e.styleSheet);
30
30
  else for (const e of t) {
31
- const s = document.createElement("style"), i = H.litNonce;
31
+ const s = document.createElement("style"), i = N.litNonce;
32
32
  i !== void 0 && s.setAttribute("nonce", i), s.textContent = e.cssText, r.appendChild(s);
33
33
  }
34
34
  }, et = V ? (r) => r : (r) => r instanceof CSSStyleSheet ? ((t) => {
35
35
  let e = "";
36
36
  for (const s of t.cssRules) e += s.cssText;
37
- return yt(e);
37
+ return vt(e);
38
38
  })(r) : r;
39
- const { is: vt, defineProperty: At, getOwnPropertyDescriptor: xt, getOwnPropertyNames: wt, getOwnPropertySymbols: Et, getPrototypeOf: St } = Object, z = globalThis, st = z.trustedTypes, Pt = st ? st.emptyScript : "", Ct = z.reactiveElementPolyfillSupport, P = (r, t) => r, N = { toAttribute(r, t) {
39
+ const { is: bt, defineProperty: xt, getOwnPropertyDescriptor: At, getOwnPropertyNames: wt, getOwnPropertySymbols: Et, getPrototypeOf: St } = Object, B = globalThis, st = B.trustedTypes, Pt = st ? st.emptyScript : "", Ct = B.reactiveElementPolyfillSupport, P = (r, t) => r, D = { toAttribute(r, t) {
40
40
  switch (t) {
41
41
  case Boolean:
42
42
  r = r ? Pt : null;
@@ -64,8 +64,8 @@ const { is: vt, defineProperty: At, getOwnPropertyDescriptor: xt, getOwnProperty
64
64
  }
65
65
  }
66
66
  return e;
67
- } }, Y = (r, t) => !vt(r, t), it = { attribute: !0, type: String, converter: N, reflect: !1, useDefault: !1, hasChanged: Y };
68
- Symbol.metadata ??= /* @__PURE__ */ Symbol("metadata"), z.litPropertyMetadata ??= /* @__PURE__ */ new WeakMap();
67
+ } }, Y = (r, t) => !bt(r, t), it = { attribute: !0, type: String, converter: D, reflect: !1, useDefault: !1, hasChanged: Y };
68
+ Symbol.metadata ??= /* @__PURE__ */ Symbol("metadata"), B.litPropertyMetadata ??= /* @__PURE__ */ new WeakMap();
69
69
  let A = class extends HTMLElement {
70
70
  static addInitializer(t) {
71
71
  this._$Ei(), (this.l ??= []).push(t);
@@ -76,11 +76,11 @@ let A = class extends HTMLElement {
76
76
  static createProperty(t, e = it) {
77
77
  if (e.state && (e.attribute = !1), this._$Ei(), this.prototype.hasOwnProperty(t) && ((e = Object.create(e)).wrapped = !0), this.elementProperties.set(t, e), !e.noAccessor) {
78
78
  const s = /* @__PURE__ */ Symbol(), i = this.getPropertyDescriptor(t, s, e);
79
- i !== void 0 && At(this.prototype, t, i);
79
+ i !== void 0 && xt(this.prototype, t, i);
80
80
  }
81
81
  }
82
82
  static getPropertyDescriptor(t, e, s) {
83
- const { get: i, set: n } = xt(this.prototype, t) ?? { get() {
83
+ const { get: i, set: n } = At(this.prototype, t) ?? { get() {
84
84
  return this[e];
85
85
  }, set(o) {
86
86
  this[e] = o;
@@ -147,7 +147,7 @@ let A = class extends HTMLElement {
147
147
  }
148
148
  createRenderRoot() {
149
149
  const t = this.shadowRoot ?? this.attachShadow(this.constructor.shadowRootOptions);
150
- return bt(t, this.constructor.elementStyles), t;
150
+ return yt(t, this.constructor.elementStyles), t;
151
151
  }
152
152
  connectedCallback() {
153
153
  this.renderRoot ??= this.createRenderRoot(), this.enableUpdating(!0), this._$EO?.forEach((t) => t.hostConnected?.());
@@ -163,14 +163,14 @@ let A = class extends HTMLElement {
163
163
  _$ET(t, e) {
164
164
  const s = this.constructor.elementProperties.get(t), i = this.constructor._$Eu(t, s);
165
165
  if (i !== void 0 && s.reflect === !0) {
166
- const n = (s.converter?.toAttribute !== void 0 ? s.converter : N).toAttribute(e, s.type);
166
+ const n = (s.converter?.toAttribute !== void 0 ? s.converter : D).toAttribute(e, s.type);
167
167
  this._$Em = t, n == null ? this.removeAttribute(i) : this.setAttribute(i, n), this._$Em = null;
168
168
  }
169
169
  }
170
170
  _$AK(t, e) {
171
171
  const s = this.constructor, i = s._$Eh.get(t);
172
172
  if (i !== void 0 && this._$Em !== i) {
173
- const n = s.getPropertyOptions(i), o = typeof n.converter == "function" ? { fromAttribute: n.converter } : n.converter?.fromAttribute !== void 0 ? n.converter : N;
173
+ const n = s.getPropertyOptions(i), o = typeof n.converter == "function" ? { fromAttribute: n.converter } : n.converter?.fromAttribute !== void 0 ? n.converter : D;
174
174
  this._$Em = i;
175
175
  const l = o.fromAttribute(e, n.type);
176
176
  this[i] = l ?? this._$Ej?.get(i) ?? l, this._$Em = null;
@@ -247,10 +247,10 @@ let A = class extends HTMLElement {
247
247
  firstUpdated(t) {
248
248
  }
249
249
  };
250
- A.elementStyles = [], A.shadowRootOptions = { mode: "open" }, A[P("elementProperties")] = /* @__PURE__ */ new Map(), A[P("finalized")] = /* @__PURE__ */ new Map(), Ct?.({ ReactiveElement: A }), (z.reactiveElementVersions ??= []).push("2.1.2");
251
- const Z = globalThis, rt = (r) => r, D = Z.trustedTypes, nt = D ? D.createPolicy("lit-html", { createHTML: (r) => r }) : void 0, dt = "$lit$", $ = `lit$${Math.random().toFixed(9).slice(2)}$`, ut = "?" + $, Ot = `<${ut}>`, v = document, C = () => v.createComment(""), O = (r) => r === null || typeof r != "object" && typeof r != "function", F = Array.isArray, Ut = (r) => F(r) || typeof r?.[Symbol.iterator] == "function", q = `[
252
- \f\r]`, S = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g, ot = /-->/g, at = />/g, _ = RegExp(`>|${q}(?:([^\\s"'>=/]+)(${q}*=${q}*(?:[^
253
- \f\r"'\`<>=]|("|')|))|$)`, "g"), lt = /'/g, ht = /"/g, ft = /^(?:script|style|textarea|title)$/i, Rt = (r) => (t, ...e) => ({ _$litType$: r, strings: t, values: e }), b = Rt(1), x = /* @__PURE__ */ Symbol.for("lit-noChange"), c = /* @__PURE__ */ Symbol.for("lit-nothing"), pt = /* @__PURE__ */ new WeakMap(), y = v.createTreeWalker(v, 129);
250
+ A.elementStyles = [], A.shadowRootOptions = { mode: "open" }, A[P("elementProperties")] = /* @__PURE__ */ new Map(), A[P("finalized")] = /* @__PURE__ */ new Map(), Ct?.({ ReactiveElement: A }), (B.reactiveElementVersions ??= []).push("2.1.2");
251
+ const Z = globalThis, rt = (r) => r, j = Z.trustedTypes, nt = j ? j.createPolicy("lit-html", { createHTML: (r) => r }) : void 0, dt = "$lit$", m = `lit$${Math.random().toFixed(9).slice(2)}$`, ut = "?" + m, Ot = `<${ut}>`, b = document, C = () => b.createComment(""), O = (r) => r === null || typeof r != "object" && typeof r != "function", F = Array.isArray, Ut = (r) => F(r) || typeof r?.[Symbol.iterator] == "function", q = `[
252
+ \f\r]`, S = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g, ot = /-->/g, at = />/g, v = RegExp(`>|${q}(?:([^\\s"'>=/]+)(${q}*=${q}*(?:[^
253
+ \f\r"'\`<>=]|("|')|))|$)`, "g"), lt = /'/g, ht = /"/g, ft = /^(?:script|style|textarea|title)$/i, Rt = (r) => (t, ...e) => ({ _$litType$: r, strings: t, values: e }), u = Rt(1), w = /* @__PURE__ */ Symbol.for("lit-noChange"), c = /* @__PURE__ */ Symbol.for("lit-nothing"), pt = /* @__PURE__ */ new WeakMap(), y = b.createTreeWalker(b, 129);
254
254
  function $t(r, t) {
255
255
  if (!F(r) || !r.hasOwnProperty("raw")) throw Error("invalid template strings array");
256
256
  return nt !== void 0 ? nt.createHTML(t) : t;
@@ -260,10 +260,10 @@ const Tt = (r, t) => {
260
260
  let i, n = t === 2 ? "<svg>" : t === 3 ? "<math>" : "", o = S;
261
261
  for (let l = 0; l < e; l++) {
262
262
  const a = r[l];
263
- let p, d, h = -1, u = 0;
264
- for (; u < a.length && (o.lastIndex = u, d = o.exec(a), d !== null); ) u = o.lastIndex, o === S ? d[1] === "!--" ? o = ot : d[1] !== void 0 ? o = at : d[2] !== void 0 ? (ft.test(d[2]) && (i = RegExp("</" + d[2], "g")), o = _) : d[3] !== void 0 && (o = _) : o === _ ? d[0] === ">" ? (o = i ?? S, h = -1) : d[1] === void 0 ? h = -2 : (h = o.lastIndex - d[2].length, p = d[1], o = d[3] === void 0 ? _ : d[3] === '"' ? ht : lt) : o === ht || o === lt ? o = _ : o === ot || o === at ? o = S : (o = _, i = void 0);
265
- const f = o === _ && r[l + 1].startsWith("/>") ? " " : "";
266
- n += o === S ? a + Ot : h >= 0 ? (s.push(p), a.slice(0, h) + dt + a.slice(h) + $ + f) : a + $ + (h === -2 ? l : f);
263
+ let p, d, h = -1, f = 0;
264
+ for (; f < a.length && (o.lastIndex = f, d = o.exec(a), d !== null); ) f = o.lastIndex, o === S ? d[1] === "!--" ? o = ot : d[1] !== void 0 ? o = at : d[2] !== void 0 ? (ft.test(d[2]) && (i = RegExp("</" + d[2], "g")), o = v) : d[3] !== void 0 && (o = v) : o === v ? d[0] === ">" ? (o = i ?? S, h = -1) : d[1] === void 0 ? h = -2 : (h = o.lastIndex - d[2].length, p = d[1], o = d[3] === void 0 ? v : d[3] === '"' ? ht : lt) : o === ht || o === lt ? o = v : o === ot || o === at ? o = S : (o = v, i = void 0);
265
+ const g = o === v && r[l + 1].startsWith("/>") ? " " : "";
266
+ n += o === S ? a + Ot : h >= 0 ? (s.push(p), a.slice(0, h) + dt + a.slice(h) + m + g) : a + m + (h === -2 ? l : g);
267
267
  }
268
268
  return [$t(r, n + (r[e] || "<?>") + (t === 2 ? "</svg>" : t === 3 ? "</math>" : "")), s];
269
269
  };
@@ -280,37 +280,37 @@ class U {
280
280
  for (; (i = y.nextNode()) !== null && a.length < l; ) {
281
281
  if (i.nodeType === 1) {
282
282
  if (i.hasAttributes()) for (const h of i.getAttributeNames()) if (h.endsWith(dt)) {
283
- const u = d[o++], f = i.getAttribute(h).split($), k = /([.?@])?(.*)/.exec(u);
284
- a.push({ type: 1, index: n, name: k[2], strings: f, ctor: k[1] === "." ? kt : k[1] === "?" ? Ht : k[1] === "@" ? Nt : B }), i.removeAttribute(h);
285
- } else h.startsWith($) && (a.push({ type: 6, index: n }), i.removeAttribute(h));
283
+ const f = d[o++], g = i.getAttribute(h).split(m), H = /([.?@])?(.*)/.exec(f);
284
+ a.push({ type: 1, index: n, name: H[2], strings: g, ctor: H[1] === "." ? Mt : H[1] === "?" ? Ht : H[1] === "@" ? Nt : I }), i.removeAttribute(h);
285
+ } else h.startsWith(m) && (a.push({ type: 6, index: n }), i.removeAttribute(h));
286
286
  if (ft.test(i.tagName)) {
287
- const h = i.textContent.split($), u = h.length - 1;
288
- if (u > 0) {
289
- i.textContent = D ? D.emptyScript : "";
290
- for (let f = 0; f < u; f++) i.append(h[f], C()), y.nextNode(), a.push({ type: 2, index: ++n });
291
- i.append(h[u], C());
287
+ const h = i.textContent.split(m), f = h.length - 1;
288
+ if (f > 0) {
289
+ i.textContent = j ? j.emptyScript : "";
290
+ for (let g = 0; g < f; g++) i.append(h[g], C()), y.nextNode(), a.push({ type: 2, index: ++n });
291
+ i.append(h[f], C());
292
292
  }
293
293
  }
294
294
  } else if (i.nodeType === 8) if (i.data === ut) a.push({ type: 2, index: n });
295
295
  else {
296
296
  let h = -1;
297
- for (; (h = i.data.indexOf($, h + 1)) !== -1; ) a.push({ type: 7, index: n }), h += $.length - 1;
297
+ for (; (h = i.data.indexOf(m, h + 1)) !== -1; ) a.push({ type: 7, index: n }), h += m.length - 1;
298
298
  }
299
299
  n++;
300
300
  }
301
301
  }
302
302
  static createElement(t, e) {
303
- const s = v.createElement("template");
303
+ const s = b.createElement("template");
304
304
  return s.innerHTML = t, s;
305
305
  }
306
306
  }
307
- function w(r, t, e = r, s) {
308
- if (t === x) return t;
307
+ function E(r, t, e = r, s) {
308
+ if (t === w) return t;
309
309
  let i = s !== void 0 ? e._$Co?.[s] : e._$Cl;
310
310
  const n = O(t) ? void 0 : t._$litDirective$;
311
- return i?.constructor !== n && (i?._$AO?.(!1), n === void 0 ? i = void 0 : (i = new n(r), i._$AT(r, e, s)), s !== void 0 ? (e._$Co ??= [])[s] = i : e._$Cl = i), i !== void 0 && (t = w(r, i._$AS(r, t.values), i, s)), t;
311
+ return i?.constructor !== n && (i?._$AO?.(!1), n === void 0 ? i = void 0 : (i = new n(r), i._$AT(r, e, s)), s !== void 0 ? (e._$Co ??= [])[s] = i : e._$Cl = i), i !== void 0 && (t = E(r, i._$AS(r, t.values), i, s)), t;
312
312
  }
313
- class Mt {
313
+ class kt {
314
314
  constructor(t, e) {
315
315
  this._$AV = [], this._$AN = void 0, this._$AD = t, this._$AM = e;
316
316
  }
@@ -321,24 +321,24 @@ class Mt {
321
321
  return this._$AM._$AU;
322
322
  }
323
323
  u(t) {
324
- const { el: { content: e }, parts: s } = this._$AD, i = (t?.creationScope ?? v).importNode(e, !0);
324
+ const { el: { content: e }, parts: s } = this._$AD, i = (t?.creationScope ?? b).importNode(e, !0);
325
325
  y.currentNode = i;
326
326
  let n = y.nextNode(), o = 0, l = 0, a = s[0];
327
327
  for (; a !== void 0; ) {
328
328
  if (o === a.index) {
329
329
  let p;
330
- a.type === 2 ? p = new M(n, n.nextSibling, this, t) : a.type === 1 ? p = new a.ctor(n, a.name, a.strings, this, t) : a.type === 6 && (p = new Dt(n, this, t)), this._$AV.push(p), a = s[++l];
330
+ a.type === 2 ? p = new k(n, n.nextSibling, this, t) : a.type === 1 ? p = new a.ctor(n, a.name, a.strings, this, t) : a.type === 6 && (p = new Dt(n, this, t)), this._$AV.push(p), a = s[++l];
331
331
  }
332
332
  o !== a?.index && (n = y.nextNode(), o++);
333
333
  }
334
- return y.currentNode = v, i;
334
+ return y.currentNode = b, i;
335
335
  }
336
336
  p(t) {
337
337
  let e = 0;
338
338
  for (const s of this._$AV) s !== void 0 && (s.strings !== void 0 ? (s._$AI(t, s, e), e += s.strings.length - 2) : s._$AI(t[e])), e++;
339
339
  }
340
340
  }
341
- class M {
341
+ class k {
342
342
  get _$AU() {
343
343
  return this._$AM?._$AU ?? this._$Cv;
344
344
  }
@@ -357,7 +357,7 @@ class M {
357
357
  return this._$AB;
358
358
  }
359
359
  _$AI(t, e = this) {
360
- t = w(this, t, e), O(t) ? t === c || t == null || t === "" ? (this._$AH !== c && this._$AR(), this._$AH = c) : t !== this._$AH && t !== x && this._(t) : t._$litType$ !== void 0 ? this.$(t) : t.nodeType !== void 0 ? this.T(t) : Ut(t) ? this.k(t) : this._(t);
360
+ t = E(this, t, e), O(t) ? t === c || t == null || t === "" ? (this._$AH !== c && this._$AR(), this._$AH = c) : t !== this._$AH && t !== w && this._(t) : t._$litType$ !== void 0 ? this.$(t) : t.nodeType !== void 0 ? this.T(t) : Ut(t) ? this.k(t) : this._(t);
361
361
  }
362
362
  O(t) {
363
363
  return this._$AA.parentNode.insertBefore(t, this._$AB);
@@ -366,13 +366,13 @@ class M {
366
366
  this._$AH !== t && (this._$AR(), this._$AH = this.O(t));
367
367
  }
368
368
  _(t) {
369
- this._$AH !== c && O(this._$AH) ? this._$AA.nextSibling.data = t : this.T(v.createTextNode(t)), this._$AH = t;
369
+ this._$AH !== c && O(this._$AH) ? this._$AA.nextSibling.data = t : this.T(b.createTextNode(t)), this._$AH = t;
370
370
  }
371
371
  $(t) {
372
372
  const { values: e, _$litType$: s } = t, i = typeof s == "number" ? this._$AC(t) : (s.el === void 0 && (s.el = U.createElement($t(s.h, s.h[0]), this.options)), s);
373
373
  if (this._$AH?._$AD === i) this._$AH.p(e);
374
374
  else {
375
- const n = new Mt(i, this), o = n.u(this.options);
375
+ const n = new kt(i, this), o = n.u(this.options);
376
376
  n.p(e), this.T(o), this._$AH = n;
377
377
  }
378
378
  }
@@ -384,7 +384,7 @@ class M {
384
384
  F(this._$AH) || (this._$AH = [], this._$AR());
385
385
  const e = this._$AH;
386
386
  let s, i = 0;
387
- for (const n of t) i === e.length ? e.push(s = new M(this.O(C()), this.O(C()), this, this.options)) : s = e[i], s._$AI(n), i++;
387
+ for (const n of t) i === e.length ? e.push(s = new k(this.O(C()), this.O(C()), this, this.options)) : s = e[i], s._$AI(n), i++;
388
388
  i < e.length && (this._$AR(s && s._$AB.nextSibling, i), e.length = i);
389
389
  }
390
390
  _$AR(t = this._$AA.nextSibling, e) {
@@ -397,7 +397,7 @@ class M {
397
397
  this._$AM === void 0 && (this._$Cv = t, this._$AP?.(t));
398
398
  }
399
399
  }
400
- class B {
400
+ class I {
401
401
  get tagName() {
402
402
  return this.element.tagName;
403
403
  }
@@ -410,11 +410,11 @@ class B {
410
410
  _$AI(t, e = this, s, i) {
411
411
  const n = this.strings;
412
412
  let o = !1;
413
- if (n === void 0) t = w(this, t, e, 0), o = !O(t) || t !== this._$AH && t !== x, o && (this._$AH = t);
413
+ if (n === void 0) t = E(this, t, e, 0), o = !O(t) || t !== this._$AH && t !== w, o && (this._$AH = t);
414
414
  else {
415
415
  const l = t;
416
416
  let a, p;
417
- for (t = n[0], a = 0; a < n.length - 1; a++) p = w(this, l[s + a], e, a), p === x && (p = this._$AH[a]), o ||= !O(p) || p !== this._$AH[a], p === c ? t = c : t !== c && (t += (p ?? "") + n[a + 1]), this._$AH[a] = p;
417
+ for (t = n[0], a = 0; a < n.length - 1; a++) p = E(this, l[s + a], e, a), p === w && (p = this._$AH[a]), o ||= !O(p) || p !== this._$AH[a], p === c ? t = c : t !== c && (t += (p ?? "") + n[a + 1]), this._$AH[a] = p;
418
418
  }
419
419
  o && !i && this.j(t);
420
420
  }
@@ -422,7 +422,7 @@ class B {
422
422
  t === c ? this.element.removeAttribute(this.name) : this.element.setAttribute(this.name, t ?? "");
423
423
  }
424
424
  }
425
- class kt extends B {
425
+ class Mt extends I {
426
426
  constructor() {
427
427
  super(...arguments), this.type = 3;
428
428
  }
@@ -430,7 +430,7 @@ class kt extends B {
430
430
  this.element[this.name] = t === c ? void 0 : t;
431
431
  }
432
432
  }
433
- class Ht extends B {
433
+ class Ht extends I {
434
434
  constructor() {
435
435
  super(...arguments), this.type = 4;
436
436
  }
@@ -438,12 +438,12 @@ class Ht extends B {
438
438
  this.element.toggleAttribute(this.name, !!t && t !== c);
439
439
  }
440
440
  }
441
- class Nt extends B {
441
+ class Nt extends I {
442
442
  constructor(t, e, s, i, n) {
443
443
  super(t, e, s, i, n), this.type = 5;
444
444
  }
445
445
  _$AI(t, e = this) {
446
- if ((t = w(this, t, e, 0) ?? c) === x) return;
446
+ if ((t = E(this, t, e, 0) ?? c) === w) return;
447
447
  const s = this._$AH, i = t === c && s !== c || t.capture !== s.capture || t.once !== s.once || t.passive !== s.passive, n = t !== c && (s === c || i);
448
448
  i && this.element.removeEventListener(this.name, this, s), n && this.element.addEventListener(this.name, this, t), this._$AH = t;
449
449
  }
@@ -459,22 +459,22 @@ class Dt {
459
459
  return this._$AM._$AU;
460
460
  }
461
461
  _$AI(t) {
462
- w(this, t);
462
+ E(this, t);
463
463
  }
464
464
  }
465
- const Lt = Z.litHtmlPolyfillSupport;
466
- Lt?.(U, M), (Z.litHtmlVersions ??= []).push("3.3.2");
467
- const jt = (r, t, e) => {
465
+ const jt = Z.litHtmlPolyfillSupport;
466
+ jt?.(U, k), (Z.litHtmlVersions ??= []).push("3.3.2");
467
+ const Lt = (r, t, e) => {
468
468
  const s = e?.renderBefore ?? t;
469
469
  let i = s._$litPart$;
470
470
  if (i === void 0) {
471
471
  const n = e?.renderBefore ?? null;
472
- s._$litPart$ = i = new M(t.insertBefore(C(), n), n, void 0, e ?? {});
472
+ s._$litPart$ = i = new k(t.insertBefore(C(), n), n, void 0, e ?? {});
473
473
  }
474
474
  return i._$AI(r), i;
475
475
  };
476
476
  const J = globalThis;
477
- class g extends A {
477
+ class _ extends A {
478
478
  constructor() {
479
479
  super(...arguments), this.renderOptions = { host: this }, this._$Do = void 0;
480
480
  }
@@ -484,7 +484,7 @@ class g extends A {
484
484
  }
485
485
  update(t) {
486
486
  const e = this.render();
487
- this.hasUpdated || (this.renderOptions.isConnected = this.isConnected), super.update(t), this._$Do = jt(e, this.renderRoot, this.renderOptions);
487
+ this.hasUpdated || (this.renderOptions.isConnected = this.isConnected), super.update(t), this._$Do = Lt(e, this.renderRoot, this.renderOptions);
488
488
  }
489
489
  connectedCallback() {
490
490
  super.connectedCallback(), this._$Do?.setConnected(!0);
@@ -493,19 +493,19 @@ class g extends A {
493
493
  super.disconnectedCallback(), this._$Do?.setConnected(!1);
494
494
  }
495
495
  render() {
496
- return x;
496
+ return w;
497
497
  }
498
498
  }
499
- g._$litElement$ = !0, g.finalized = !0, J.litElementHydrateSupport?.({ LitElement: g });
499
+ _._$litElement$ = !0, _.finalized = !0, J.litElementHydrateSupport?.({ LitElement: _ });
500
500
  const zt = J.litElementPolyfillSupport;
501
- zt?.({ LitElement: g });
501
+ zt?.({ LitElement: _ });
502
502
  (J.litElementVersions ??= []).push("4.2.2");
503
- const I = (r) => (t, e) => {
503
+ const W = (r) => (t, e) => {
504
504
  e !== void 0 ? e.addInitializer(() => {
505
505
  customElements.define(r, t);
506
506
  }) : customElements.define(r, t);
507
507
  };
508
- const Bt = { attribute: !0, type: String, converter: N, reflect: !1, hasChanged: Y }, It = (r = Bt, t, e) => {
508
+ const Bt = { attribute: !0, type: String, converter: D, reflect: !1, hasChanged: Y }, It = (r = Bt, t, e) => {
509
509
  const { kind: s, metadata: i } = e;
510
510
  let n = globalThis.litPropertyMetadata.get(i);
511
511
  if (n === void 0 && globalThis.litPropertyMetadata.set(i, n = /* @__PURE__ */ new Map()), s === "setter" && ((r = Object.create(r)).wrapped = !0), n.set(e.name, r), s === "accessor") {
@@ -526,23 +526,23 @@ const Bt = { attribute: !0, type: String, converter: N, reflect: !1, hasChanged:
526
526
  }
527
527
  throw Error("Unsupported decorator location: " + s);
528
528
  };
529
- function m(r) {
529
+ function $(r) {
530
530
  return (t, e) => typeof e == "object" ? It(r, t, e) : ((s, i, n) => {
531
531
  const o = i.hasOwnProperty(n);
532
532
  return i.constructor.createProperty(n, s), o ? Object.getOwnPropertyDescriptor(i, n) : void 0;
533
533
  })(r, t, e);
534
534
  }
535
535
  function Wt(r) {
536
- return m({ ...r, state: !0, attribute: !1 });
536
+ return $({ ...r, state: !0, attribute: !1 });
537
537
  }
538
- var qt = Object.defineProperty, Vt = Object.getOwnPropertyDescriptor, W = (r, t, e, s) => {
538
+ var qt = Object.defineProperty, Vt = Object.getOwnPropertyDescriptor, M = (r, t, e, s) => {
539
539
  for (var i = s > 1 ? void 0 : s ? Vt(t, e) : t, n = r.length - 1, o; n >= 0; n--)
540
540
  (o = r[n]) && (i = (s ? o(t, e, i) : o(i)) || i);
541
541
  return s && i && qt(t, e, i), i;
542
542
  };
543
- let E = class extends g {
543
+ let x = class extends _ {
544
544
  constructor() {
545
- super(...arguments), this.data = [], this.theme = "light", this.open = !1, this.toggle = (t) => {
545
+ super(...arguments), this.data = [], this.theme = "light", this.loading = !1, this.open = !1, this.toggle = (t) => {
546
546
  t.stopPropagation(), this.open = !this.open, this.open ? this.updateComplete.then(() => {
547
547
  this.positionPanel(), document.addEventListener("click", this.handleOutsideClick), window.addEventListener("resize", this.handleResize);
548
548
  }) : this.cleanupListeners();
@@ -561,24 +561,34 @@ let E = class extends g {
561
561
  super.disconnectedCallback(), document.removeEventListener("keydown", this.handleKeyDown), this.cleanupListeners();
562
562
  }
563
563
  render() {
564
- return b`
564
+ return u`
565
565
  <div class="trigger" @click=${this.toggle}
566
566
  ${(t) => this.triggerRef = t}>
567
567
  <div class="dots">
568
- ${Array.from({ length: 9 }).map(() => b`<span class="dot"></span>`)}
568
+ ${Array.from({ length: 9 }).map(() => u`<span class="dot"></span>`)}
569
569
  </div>
570
570
  </div>
571
571
 
572
572
  <div class="panel ${this.open ? "open" : ""}"
573
573
  ${(t) => this.panelRef = t}>
574
- <div class="apps">
575
- ${this.data.map((t) => this.renderCard(t))}
576
- </div>
574
+ ${this.loading ? u`
575
+ <div class="loader-container">
576
+ <div class="spinner"></div>
577
+ </div>
578
+ ` : this.data.length === 0 ? u`
579
+ <div class="loader-container">
580
+ <span>No applications available</span>
581
+ </div>
582
+ ` : u`
583
+ <div class="apps">
584
+ ${this.data.map((t) => this.renderCard(t))}
585
+ </div>
586
+ `}
577
587
  </div>
578
588
  `;
579
589
  }
580
590
  renderCard(t) {
581
- return b`
591
+ return u`
582
592
  <aura-app href=${t.url} .newTab=${t.newTab ?? !0} key=${t.id}>
583
593
  <aura-app-icon .icon=${t.icon} .label=${t.label}></aura-app-icon>
584
594
  <aura-app-text .label=${t.label}></aura-app-text>
@@ -594,7 +604,7 @@ let E = class extends g {
594
604
  s < e.offsetWidth && i > e.offsetWidth ? (e.style.left = "0", e.style.right = "auto", e.style.transformOrigin = "top left") : (e.style.right = "0", e.style.left = "auto", e.style.transformOrigin = "top right"), n < e.offsetHeight && o > e.offsetHeight ? (e.style.top = "auto", e.style.bottom = "calc(100% + 12px)", e.style.transformOrigin = e.style.transformOrigin.replace("top", "bottom")) : (e.style.top = "calc(100% + 12px)", e.style.bottom = "auto");
595
605
  }
596
606
  };
597
- E.styles = j`
607
+ x.styles = z`
598
608
  :host {
599
609
  --menu-bg: #202124;
600
610
  --menu-text: #ffffff;
@@ -633,7 +643,7 @@ E.styles = j`
633
643
  .dots {
634
644
  display: grid;
635
645
  grid-template-columns: repeat(3, 6px);
636
- gap: 3px;
646
+ gap: 4px;
637
647
  }
638
648
 
639
649
  .dot {
@@ -733,31 +743,56 @@ E.styles = j`
733
743
  width: 32px;
734
744
  height: 32px;
735
745
  }
746
+
747
+ .loader-container {
748
+ display: flex;
749
+ justify-content: center;
750
+ align-items: center;
751
+ height: 160px;
752
+ }
753
+
754
+ .spinner {
755
+ width: 32px;
756
+ height: 32px;
757
+ border: 3px solid rgba(255, 255, 255, 0.2);
758
+ border-top: 3px solid var(--menu-text);
759
+ border-radius: 50%;
760
+ animation: spin 0.8s linear infinite;
761
+ }
762
+
763
+ @keyframes spin {
764
+ to {
765
+ transform: rotate(360deg);
766
+ }
767
+ }
736
768
  }
737
769
  `;
738
- W([
739
- m({ type: Array })
740
- ], E.prototype, "data", 2);
741
- W([
742
- m({ reflect: !0 })
743
- ], E.prototype, "theme", 2);
744
- W([
770
+ M([
771
+ $({ type: Array })
772
+ ], x.prototype, "data", 2);
773
+ M([
774
+ $({ reflect: !0 })
775
+ ], x.prototype, "theme", 2);
776
+ M([
777
+ $({ type: Boolean })
778
+ ], x.prototype, "loading", 2);
779
+ M([
745
780
  Wt()
746
- ], E.prototype, "open", 2);
747
- E = W([
748
- I("aura-nine-dot-menu")
749
- ], E);
781
+ ], x.prototype, "open", 2);
782
+ x = M([
783
+ W("aura-nine-dot-menu")
784
+ ], x);
750
785
  var Kt = Object.defineProperty, Yt = Object.getOwnPropertyDescriptor, G = (r, t, e, s) => {
751
786
  for (var i = s > 1 ? void 0 : s ? Yt(t, e) : t, n = r.length - 1, o; n >= 0; n--)
752
787
  (o = r[n]) && (i = (s ? o(t, e, i) : o(i)) || i);
753
788
  return s && i && Kt(t, e, i), i;
754
789
  };
755
- let R = class extends g {
790
+ let R = class extends _ {
756
791
  constructor() {
757
792
  super(...arguments), this.href = "", this.newTab = !0;
758
793
  }
759
794
  render() {
760
- return b`
795
+ return u`
761
796
  <a
762
797
  href=${this.href}
763
798
  target=${this.newTab ? "_blank" : "_self"}
@@ -768,7 +803,7 @@ let R = class extends g {
768
803
  `;
769
804
  }
770
805
  };
771
- R.styles = j`
806
+ R.styles = z`
772
807
  :host {
773
808
  display: block;
774
809
  }
@@ -802,48 +837,42 @@ R.styles = j`
802
837
  }
803
838
  `;
804
839
  G([
805
- m()
840
+ $()
806
841
  ], R.prototype, "href", 2);
807
842
  G([
808
- m({ type: Boolean })
843
+ $({ type: Boolean })
809
844
  ], R.prototype, "newTab", 2);
810
845
  R = G([
811
- I("aura-app")
846
+ W("aura-app")
812
847
  ], R);
813
848
  var Zt = Object.defineProperty, Ft = Object.getOwnPropertyDescriptor, Q = (r, t, e, s) => {
814
849
  for (var i = s > 1 ? void 0 : s ? Ft(t, e) : t, n = r.length - 1, o; n >= 0; n--)
815
850
  (o = r[n]) && (i = (s ? o(t, e, i) : o(i)) || i);
816
851
  return s && i && Zt(t, e, i), i;
817
852
  };
818
- let T = class extends g {
853
+ let T = class extends _ {
819
854
  constructor() {
820
855
  super(...arguments), this.icon = "", this.label = "";
821
856
  }
822
857
  getInitial() {
823
858
  return this.label?.trim()?.charAt(0)?.toUpperCase() ?? "?";
824
859
  }
825
- stringToColor(r) {
826
- let t = 0;
827
- for (let e = 0; e < r.length; e++)
828
- t = r.charCodeAt(e) + ((t << 5) - t);
829
- return `hsl(${t % 360}, 65%, 55%)`;
830
- }
831
860
  render() {
832
- return this.icon ? b`
861
+ return this.icon ? u`
833
862
  <img
834
863
  src=${this.icon}
835
864
  alt=${this.label}
836
865
  @error=${() => this.icon = ""}
837
866
  />
838
- ` : b`
867
+ ` : u`
839
868
  <div class="fallback"
840
- style="background:${this.stringToColor(this.label)}">
869
+ style="background:hsl(126deg 7.19% 52.47% / 28%)">
841
870
  ${this.getInitial()}
842
871
  </div>
843
872
  `;
844
873
  }
845
874
  };
846
- T.styles = j`
875
+ T.styles = z`
847
876
  :host {
848
877
  display: inline-flex;
849
878
  }
@@ -886,28 +915,28 @@ T.styles = j`
886
915
  }
887
916
  `;
888
917
  Q([
889
- m()
918
+ $()
890
919
  ], T.prototype, "icon", 2);
891
920
  Q([
892
- m()
921
+ $()
893
922
  ], T.prototype, "label", 2);
894
923
  T = Q([
895
- I("aura-app-icon")
924
+ W("aura-app-icon")
896
925
  ], T);
897
926
  var Jt = Object.defineProperty, Gt = Object.getOwnPropertyDescriptor, gt = (r, t, e, s) => {
898
927
  for (var i = s > 1 ? void 0 : s ? Gt(t, e) : t, n = r.length - 1, o; n >= 0; n--)
899
928
  (o = r[n]) && (i = (s ? o(t, e, i) : o(i)) || i);
900
929
  return s && i && Jt(t, e, i), i;
901
930
  };
902
- let L = class extends g {
931
+ let L = class extends _ {
903
932
  constructor() {
904
933
  super(...arguments), this.label = "";
905
934
  }
906
935
  render() {
907
- return b`${this.label}`;
936
+ return u`${this.label}`;
908
937
  }
909
938
  };
910
- L.styles = j`
939
+ L.styles = z`
911
940
  :host {
912
941
  display: block;
913
942
 
@@ -931,10 +960,10 @@ L.styles = j`
931
960
  }
932
961
  `;
933
962
  gt([
934
- m()
963
+ $()
935
964
  ], L.prototype, "label", 2);
936
965
  L = gt([
937
- I("aura-app-text")
966
+ W("aura-app-text")
938
967
  ], L);
939
968
  const se = ({
940
969
  data: r,
package/dist/index.umd.js CHANGED
@@ -1,25 +1,35 @@
1
- (function(y,f){typeof exports=="object"&&typeof module<"u"?f(exports,require("react")):typeof define=="function"&&define.amd?define(["exports","react"],f):(y=typeof globalThis<"u"?globalThis:y||self,f(y.AuraNineDotMenu={},y.React))})(this,(function(y,f){"use strict";const N=globalThis,K=N.ShadowRoot&&(N.ShadyCSS===void 0||N.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,Y=Symbol(),et=new WeakMap;let st=class{constructor(t,e,s){if(this._$cssResult$=!0,s!==Y)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const e=this.t;if(K&&t===void 0){const s=e!==void 0&&e.length===1;s&&(t=et.get(e)),t===void 0&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),s&&et.set(e,t))}return t}toString(){return this.cssText}};const _t=r=>new st(typeof r=="string"?r:r+"",void 0,Y),D=(r,...t)=>{const e=r.length===1?r[0]:t.reduce((s,i,n)=>s+(o=>{if(o._$cssResult$===!0)return o.cssText;if(typeof o=="number")return o;throw Error("Value passed to 'css' function must be a 'css' function result: "+o+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(i)+r[n+1],r[0]);return new st(e,r,Y)},yt=(r,t)=>{if(K)r.adoptedStyleSheets=t.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(const e of t){const s=document.createElement("style"),i=N.litNonce;i!==void 0&&s.setAttribute("nonce",i),s.textContent=e.cssText,r.appendChild(s)}},it=K?r=>r:r=>r instanceof CSSStyleSheet?(t=>{let e="";for(const s of t.cssRules)e+=s.cssText;return _t(e)})(r):r;const{is:bt,defineProperty:vt,getOwnPropertyDescriptor:At,getOwnPropertyNames:xt,getOwnPropertySymbols:wt,getPrototypeOf:Et}=Object,j=globalThis,rt=j.trustedTypes,St=rt?rt.emptyScript:"",Pt=j.reactiveElementPolyfillSupport,C=(r,t)=>r,L={toAttribute(r,t){switch(t){case Boolean:r=r?St:null;break;case Object:case Array:r=r==null?r:JSON.stringify(r)}return r},fromAttribute(r,t){let e=r;switch(t){case Boolean:e=r!==null;break;case Number:e=r===null?null:Number(r);break;case Object:case Array:try{e=JSON.parse(r)}catch{e=null}}return e}},Z=(r,t)=>!bt(r,t),nt={attribute:!0,type:String,converter:L,reflect:!1,useDefault:!1,hasChanged:Z};Symbol.metadata??=Symbol("metadata"),j.litPropertyMetadata??=new WeakMap;let w=class extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,e=nt){if(e.state&&(e.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((e=Object.create(e)).wrapped=!0),this.elementProperties.set(t,e),!e.noAccessor){const s=Symbol(),i=this.getPropertyDescriptor(t,s,e);i!==void 0&&vt(this.prototype,t,i)}}static getPropertyDescriptor(t,e,s){const{get:i,set:n}=At(this.prototype,t)??{get(){return this[e]},set(o){this[e]=o}};return{get:i,set(o){const l=i?.call(this);n?.call(this,o),this.requestUpdate(t,l,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??nt}static _$Ei(){if(this.hasOwnProperty(C("elementProperties")))return;const t=Et(this);t.finalize(),t.l!==void 0&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(C("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(C("properties"))){const e=this.properties,s=[...xt(e),...wt(e)];for(const i of s)this.createProperty(i,e[i])}const t=this[Symbol.metadata];if(t!==null){const e=litPropertyMetadata.get(t);if(e!==void 0)for(const[s,i]of e)this.elementProperties.set(s,i)}this._$Eh=new Map;for(const[e,s]of this.elementProperties){const i=this._$Eu(e,s);i!==void 0&&this._$Eh.set(i,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const s=new Set(t.flat(1/0).reverse());for(const i of s)e.unshift(it(i))}else t!==void 0&&e.push(it(t));return e}static _$Eu(t,e){const s=e.attribute;return s===!1?void 0:typeof s=="string"?s:typeof t=="string"?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(t=>t(this))}addController(t){(this._$EO??=new Set).add(t),this.renderRoot!==void 0&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,e=this.constructor.elementProperties;for(const s of e.keys())this.hasOwnProperty(s)&&(t.set(s,this[s]),delete this[s]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return yt(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(t=>t.hostConnected?.())}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach(t=>t.hostDisconnected?.())}attributeChangedCallback(t,e,s){this._$AK(t,s)}_$ET(t,e){const s=this.constructor.elementProperties.get(t),i=this.constructor._$Eu(t,s);if(i!==void 0&&s.reflect===!0){const n=(s.converter?.toAttribute!==void 0?s.converter:L).toAttribute(e,s.type);this._$Em=t,n==null?this.removeAttribute(i):this.setAttribute(i,n),this._$Em=null}}_$AK(t,e){const s=this.constructor,i=s._$Eh.get(t);if(i!==void 0&&this._$Em!==i){const n=s.getPropertyOptions(i),o=typeof n.converter=="function"?{fromAttribute:n.converter}:n.converter?.fromAttribute!==void 0?n.converter:L;this._$Em=i;const l=o.fromAttribute(e,n.type);this[i]=l??this._$Ej?.get(i)??l,this._$Em=null}}requestUpdate(t,e,s,i=!1,n){if(t!==void 0){const o=this.constructor;if(i===!1&&(n=this[t]),s??=o.getPropertyOptions(t),!((s.hasChanged??Z)(n,e)||s.useDefault&&s.reflect&&n===this._$Ej?.get(t)&&!this.hasAttribute(o._$Eu(t,s))))return;this.C(t,e,s)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(t,e,{useDefault:s,reflect:i,wrapped:n},o){s&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,o??e??this[t]),n!==!0||o!==void 0)||(this._$AL.has(t)||(this.hasUpdated||s||(e=void 0),this._$AL.set(t,e)),i===!0&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}const t=this.scheduleUpdate();return t!=null&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[i,n]of this._$Ep)this[i]=n;this._$Ep=void 0}const s=this.constructor.elementProperties;if(s.size>0)for(const[i,n]of s){const{wrapped:o}=n,l=this[i];o!==!0||this._$AL.has(i)||l===void 0||this.C(i,void 0,n,l)}}let t=!1;const e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),this._$EO?.forEach(s=>s.hostUpdate?.()),this.update(e)):this._$EM()}catch(s){throw t=!1,this._$EM(),s}t&&this._$AE(e)}willUpdate(t){}_$AE(t){this._$EO?.forEach(e=>e.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach(e=>this._$ET(e,this[e])),this._$EM()}updated(t){}firstUpdated(t){}};w.elementStyles=[],w.shadowRootOptions={mode:"open"},w[C("elementProperties")]=new Map,w[C("finalized")]=new Map,Pt?.({ReactiveElement:w}),(j.reactiveElementVersions??=[]).push("2.1.2");const F=globalThis,ot=r=>r,z=F.trustedTypes,at=z?z.createPolicy("lit-html",{createHTML:r=>r}):void 0,lt="$lit$",$=`lit$${Math.random().toFixed(9).slice(2)}$`,ht="?"+$,Ct=`<${ht}>`,b=document,O=()=>b.createComment(""),T=r=>r===null||typeof r!="object"&&typeof r!="function",J=Array.isArray,Ot=r=>J(r)||typeof r?.[Symbol.iterator]=="function",G=`[
2
- \f\r]`,U=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,pt=/-->/g,ct=/>/g,v=RegExp(`>|${G}(?:([^\\s"'>=/]+)(${G}*=${G}*(?:[^
3
- \f\r"'\`<>=]|("|')|))|$)`,"g"),dt=/'/g,ut=/"/g,ft=/^(?:script|style|textarea|title)$/i,Tt=r=>(t,...e)=>({_$litType$:r,strings:t,values:e}),A=Tt(1),E=Symbol.for("lit-noChange"),p=Symbol.for("lit-nothing"),$t=new WeakMap,x=b.createTreeWalker(b,129);function gt(r,t){if(!J(r)||!r.hasOwnProperty("raw"))throw Error("invalid template strings array");return at!==void 0?at.createHTML(t):t}const Ut=(r,t)=>{const e=r.length-1,s=[];let i,n=t===2?"<svg>":t===3?"<math>":"",o=U;for(let l=0;l<e;l++){const a=r[l];let c,d,h=-1,u=0;for(;u<a.length&&(o.lastIndex=u,d=o.exec(a),d!==null);)u=o.lastIndex,o===U?d[1]==="!--"?o=pt:d[1]!==void 0?o=ct:d[2]!==void 0?(ft.test(d[2])&&(i=RegExp("</"+d[2],"g")),o=v):d[3]!==void 0&&(o=v):o===v?d[0]===">"?(o=i??U,h=-1):d[1]===void 0?h=-2:(h=o.lastIndex-d[2].length,c=d[1],o=d[3]===void 0?v:d[3]==='"'?ut:dt):o===ut||o===dt?o=v:o===pt||o===ct?o=U:(o=v,i=void 0);const _=o===v&&r[l+1].startsWith("/>")?" ":"";n+=o===U?a+Ct:h>=0?(s.push(c),a.slice(0,h)+lt+a.slice(h)+$+_):a+$+(h===-2?l:_)}return[gt(r,n+(r[e]||"<?>")+(t===2?"</svg>":t===3?"</math>":"")),s]};class M{constructor({strings:t,_$litType$:e},s){let i;this.parts=[];let n=0,o=0;const l=t.length-1,a=this.parts,[c,d]=Ut(t,e);if(this.el=M.createElement(c,s),x.currentNode=this.el.content,e===2||e===3){const h=this.el.content.firstChild;h.replaceWith(...h.childNodes)}for(;(i=x.nextNode())!==null&&a.length<l;){if(i.nodeType===1){if(i.hasAttributes())for(const h of i.getAttributeNames())if(h.endsWith(lt)){const u=d[o++],_=i.getAttribute(h).split($),V=/([.?@])?(.*)/.exec(u);a.push({type:1,index:n,name:V[2],strings:_,ctor:V[1]==="."?Rt:V[1]==="?"?kt:V[1]==="@"?Ht:B}),i.removeAttribute(h)}else h.startsWith($)&&(a.push({type:6,index:n}),i.removeAttribute(h));if(ft.test(i.tagName)){const h=i.textContent.split($),u=h.length-1;if(u>0){i.textContent=z?z.emptyScript:"";for(let _=0;_<u;_++)i.append(h[_],O()),x.nextNode(),a.push({type:2,index:++n});i.append(h[u],O())}}}else if(i.nodeType===8)if(i.data===ht)a.push({type:2,index:n});else{let h=-1;for(;(h=i.data.indexOf($,h+1))!==-1;)a.push({type:7,index:n}),h+=$.length-1}n++}}static createElement(t,e){const s=b.createElement("template");return s.innerHTML=t,s}}function S(r,t,e=r,s){if(t===E)return t;let i=s!==void 0?e._$Co?.[s]:e._$Cl;const n=T(t)?void 0:t._$litDirective$;return i?.constructor!==n&&(i?._$AO?.(!1),n===void 0?i=void 0:(i=new n(r),i._$AT(r,e,s)),s!==void 0?(e._$Co??=[])[s]=i:e._$Cl=i),i!==void 0&&(t=S(r,i._$AS(r,t.values),i,s)),t}class Mt{constructor(t,e){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:e},parts:s}=this._$AD,i=(t?.creationScope??b).importNode(e,!0);x.currentNode=i;let n=x.nextNode(),o=0,l=0,a=s[0];for(;a!==void 0;){if(o===a.index){let c;a.type===2?c=new R(n,n.nextSibling,this,t):a.type===1?c=new a.ctor(n,a.name,a.strings,this,t):a.type===6&&(c=new Nt(n,this,t)),this._$AV.push(c),a=s[++l]}o!==a?.index&&(n=x.nextNode(),o++)}return x.currentNode=b,i}p(t){let e=0;for(const s of this._$AV)s!==void 0&&(s.strings!==void 0?(s._$AI(t,s,e),e+=s.strings.length-2):s._$AI(t[e])),e++}}class R{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,e,s,i){this.type=2,this._$AH=p,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=s,this.options=i,this._$Cv=i?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const e=this._$AM;return e!==void 0&&t?.nodeType===11&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=S(this,t,e),T(t)?t===p||t==null||t===""?(this._$AH!==p&&this._$AR(),this._$AH=p):t!==this._$AH&&t!==E&&this._(t):t._$litType$!==void 0?this.$(t):t.nodeType!==void 0?this.T(t):Ot(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==p&&T(this._$AH)?this._$AA.nextSibling.data=t:this.T(b.createTextNode(t)),this._$AH=t}$(t){const{values:e,_$litType$:s}=t,i=typeof s=="number"?this._$AC(t):(s.el===void 0&&(s.el=M.createElement(gt(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===i)this._$AH.p(e);else{const n=new Mt(i,this),o=n.u(this.options);n.p(e),this.T(o),this._$AH=n}}_$AC(t){let e=$t.get(t.strings);return e===void 0&&$t.set(t.strings,e=new M(t)),e}k(t){J(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let s,i=0;for(const n of t)i===e.length?e.push(s=new R(this.O(O()),this.O(O()),this,this.options)):s=e[i],s._$AI(n),i++;i<e.length&&(this._$AR(s&&s._$AB.nextSibling,i),e.length=i)}_$AR(t=this._$AA.nextSibling,e){for(this._$AP?.(!1,!0,e);t!==this._$AB;){const s=ot(t).nextSibling;ot(t).remove(),t=s}}setConnected(t){this._$AM===void 0&&(this._$Cv=t,this._$AP?.(t))}}class B{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,e,s,i,n){this.type=1,this._$AH=p,this._$AN=void 0,this.element=t,this.name=e,this._$AM=i,this.options=n,s.length>2||s[0]!==""||s[1]!==""?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=p}_$AI(t,e=this,s,i){const n=this.strings;let o=!1;if(n===void 0)t=S(this,t,e,0),o=!T(t)||t!==this._$AH&&t!==E,o&&(this._$AH=t);else{const l=t;let a,c;for(t=n[0],a=0;a<n.length-1;a++)c=S(this,l[s+a],e,a),c===E&&(c=this._$AH[a]),o||=!T(c)||c!==this._$AH[a],c===p?t=p:t!==p&&(t+=(c??"")+n[a+1]),this._$AH[a]=c}o&&!i&&this.j(t)}j(t){t===p?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}}class Rt extends B{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===p?void 0:t}}class kt extends B{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==p)}}class Ht extends B{constructor(t,e,s,i,n){super(t,e,s,i,n),this.type=5}_$AI(t,e=this){if((t=S(this,t,e,0)??p)===E)return;const s=this._$AH,i=t===p&&s!==p||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,n=t!==p&&(s===p||i);i&&this.element.removeEventListener(this.name,this,s),n&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){typeof this._$AH=="function"?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class Nt{constructor(t,e,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){S(this,t)}}const Dt=F.litHtmlPolyfillSupport;Dt?.(M,R),(F.litHtmlVersions??=[]).push("3.3.2");const jt=(r,t,e)=>{const s=e?.renderBefore??t;let i=s._$litPart$;if(i===void 0){const n=e?.renderBefore??null;s._$litPart$=i=new R(t.insertBefore(O(),n),n,void 0,e??{})}return i._$AI(r),i};const Q=globalThis;class g extends w{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=jt(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return E}}g._$litElement$=!0,g.finalized=!0,Q.litElementHydrateSupport?.({LitElement:g});const Lt=Q.litElementPolyfillSupport;Lt?.({LitElement:g}),(Q.litElementVersions??=[]).push("4.2.2");const I=r=>(t,e)=>{e!==void 0?e.addInitializer(()=>{customElements.define(r,t)}):customElements.define(r,t)};const zt={attribute:!0,type:String,converter:L,reflect:!1,hasChanged:Z},Bt=(r=zt,t,e)=>{const{kind:s,metadata:i}=e;let n=globalThis.litPropertyMetadata.get(i);if(n===void 0&&globalThis.litPropertyMetadata.set(i,n=new Map),s==="setter"&&((r=Object.create(r)).wrapped=!0),n.set(e.name,r),s==="accessor"){const{name:o}=e;return{set(l){const a=t.get.call(this);t.set.call(this,l),this.requestUpdate(o,a,r,!0,l)},init(l){return l!==void 0&&this.C(o,void 0,r,l),l}}}if(s==="setter"){const{name:o}=e;return function(l){const a=this[o];t.call(this,l),this.requestUpdate(o,a,r,!0,l)}}throw Error("Unsupported decorator location: "+s)};function m(r){return(t,e)=>typeof e=="object"?Bt(r,t,e):((s,i,n)=>{const o=i.hasOwnProperty(n);return i.constructor.createProperty(n,s),o?Object.getOwnPropertyDescriptor(i,n):void 0})(r,t,e)}function It(r){return m({...r,state:!0,attribute:!1})}var Wt=Object.defineProperty,qt=Object.getOwnPropertyDescriptor,W=(r,t,e,s)=>{for(var i=s>1?void 0:s?qt(t,e):t,n=r.length-1,o;n>=0;n--)(o=r[n])&&(i=(s?o(t,e,i):o(i))||i);return s&&i&&Wt(t,e,i),i};let P=class extends g{constructor(){super(...arguments),this.data=[],this.theme="light",this.open=!1,this.toggle=t=>{t.stopPropagation(),this.open=!this.open,this.open?this.updateComplete.then(()=>{this.positionPanel(),document.addEventListener("click",this.handleOutsideClick),window.addEventListener("resize",this.handleResize)}):this.cleanupListeners()},this.handleOutsideClick=t=>{this.contains(t.target)||(this.open=!1,this.cleanupListeners())},this.handleResize=()=>{this.open&&this.positionPanel()},this.handleKeyDown=t=>{t.key==="Escape"&&(this.open=!1,this.cleanupListeners())}}connectedCallback(){super.connectedCallback(),document.addEventListener("keydown",this.handleKeyDown)}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("keydown",this.handleKeyDown),this.cleanupListeners()}render(){return A`
1
+ (function(v,g){typeof exports=="object"&&typeof module<"u"?g(exports,require("react")):typeof define=="function"&&define.amd?define(["exports","react"],g):(v=typeof globalThis<"u"?globalThis:v||self,g(v.AuraNineDotMenu={},v.React))})(this,(function(v,g){"use strict";const D=globalThis,K=D.ShadowRoot&&(D.ShadyCSS===void 0||D.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,Y=Symbol(),et=new WeakMap;let st=class{constructor(t,e,s){if(this._$cssResult$=!0,s!==Y)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const e=this.t;if(K&&t===void 0){const s=e!==void 0&&e.length===1;s&&(t=et.get(e)),t===void 0&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),s&&et.set(e,t))}return t}toString(){return this.cssText}};const _t=r=>new st(typeof r=="string"?r:r+"",void 0,Y),j=(r,...t)=>{const e=r.length===1?r[0]:t.reduce((s,i,n)=>s+(o=>{if(o._$cssResult$===!0)return o.cssText;if(typeof o=="number")return o;throw Error("Value passed to 'css' function must be a 'css' function result: "+o+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(i)+r[n+1],r[0]);return new st(e,r,Y)},yt=(r,t)=>{if(K)r.adoptedStyleSheets=t.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(const e of t){const s=document.createElement("style"),i=D.litNonce;i!==void 0&&s.setAttribute("nonce",i),s.textContent=e.cssText,r.appendChild(s)}},it=K?r=>r:r=>r instanceof CSSStyleSheet?(t=>{let e="";for(const s of t.cssRules)e+=s.cssText;return _t(e)})(r):r;const{is:vt,defineProperty:bt,getOwnPropertyDescriptor:xt,getOwnPropertyNames:At,getOwnPropertySymbols:wt,getPrototypeOf:Et}=Object,L=globalThis,rt=L.trustedTypes,St=rt?rt.emptyScript:"",Pt=L.reactiveElementPolyfillSupport,C=(r,t)=>r,z={toAttribute(r,t){switch(t){case Boolean:r=r?St:null;break;case Object:case Array:r=r==null?r:JSON.stringify(r)}return r},fromAttribute(r,t){let e=r;switch(t){case Boolean:e=r!==null;break;case Number:e=r===null?null:Number(r);break;case Object:case Array:try{e=JSON.parse(r)}catch{e=null}}return e}},Z=(r,t)=>!vt(r,t),nt={attribute:!0,type:String,converter:z,reflect:!1,useDefault:!1,hasChanged:Z};Symbol.metadata??=Symbol("metadata"),L.litPropertyMetadata??=new WeakMap;let E=class extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,e=nt){if(e.state&&(e.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((e=Object.create(e)).wrapped=!0),this.elementProperties.set(t,e),!e.noAccessor){const s=Symbol(),i=this.getPropertyDescriptor(t,s,e);i!==void 0&&bt(this.prototype,t,i)}}static getPropertyDescriptor(t,e,s){const{get:i,set:n}=xt(this.prototype,t)??{get(){return this[e]},set(o){this[e]=o}};return{get:i,set(o){const l=i?.call(this);n?.call(this,o),this.requestUpdate(t,l,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??nt}static _$Ei(){if(this.hasOwnProperty(C("elementProperties")))return;const t=Et(this);t.finalize(),t.l!==void 0&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(C("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(C("properties"))){const e=this.properties,s=[...At(e),...wt(e)];for(const i of s)this.createProperty(i,e[i])}const t=this[Symbol.metadata];if(t!==null){const e=litPropertyMetadata.get(t);if(e!==void 0)for(const[s,i]of e)this.elementProperties.set(s,i)}this._$Eh=new Map;for(const[e,s]of this.elementProperties){const i=this._$Eu(e,s);i!==void 0&&this._$Eh.set(i,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const s=new Set(t.flat(1/0).reverse());for(const i of s)e.unshift(it(i))}else t!==void 0&&e.push(it(t));return e}static _$Eu(t,e){const s=e.attribute;return s===!1?void 0:typeof s=="string"?s:typeof t=="string"?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(t=>t(this))}addController(t){(this._$EO??=new Set).add(t),this.renderRoot!==void 0&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,e=this.constructor.elementProperties;for(const s of e.keys())this.hasOwnProperty(s)&&(t.set(s,this[s]),delete this[s]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return yt(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(t=>t.hostConnected?.())}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach(t=>t.hostDisconnected?.())}attributeChangedCallback(t,e,s){this._$AK(t,s)}_$ET(t,e){const s=this.constructor.elementProperties.get(t),i=this.constructor._$Eu(t,s);if(i!==void 0&&s.reflect===!0){const n=(s.converter?.toAttribute!==void 0?s.converter:z).toAttribute(e,s.type);this._$Em=t,n==null?this.removeAttribute(i):this.setAttribute(i,n),this._$Em=null}}_$AK(t,e){const s=this.constructor,i=s._$Eh.get(t);if(i!==void 0&&this._$Em!==i){const n=s.getPropertyOptions(i),o=typeof n.converter=="function"?{fromAttribute:n.converter}:n.converter?.fromAttribute!==void 0?n.converter:z;this._$Em=i;const l=o.fromAttribute(e,n.type);this[i]=l??this._$Ej?.get(i)??l,this._$Em=null}}requestUpdate(t,e,s,i=!1,n){if(t!==void 0){const o=this.constructor;if(i===!1&&(n=this[t]),s??=o.getPropertyOptions(t),!((s.hasChanged??Z)(n,e)||s.useDefault&&s.reflect&&n===this._$Ej?.get(t)&&!this.hasAttribute(o._$Eu(t,s))))return;this.C(t,e,s)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(t,e,{useDefault:s,reflect:i,wrapped:n},o){s&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,o??e??this[t]),n!==!0||o!==void 0)||(this._$AL.has(t)||(this.hasUpdated||s||(e=void 0),this._$AL.set(t,e)),i===!0&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}const t=this.scheduleUpdate();return t!=null&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[i,n]of this._$Ep)this[i]=n;this._$Ep=void 0}const s=this.constructor.elementProperties;if(s.size>0)for(const[i,n]of s){const{wrapped:o}=n,l=this[i];o!==!0||this._$AL.has(i)||l===void 0||this.C(i,void 0,n,l)}}let t=!1;const e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),this._$EO?.forEach(s=>s.hostUpdate?.()),this.update(e)):this._$EM()}catch(s){throw t=!1,this._$EM(),s}t&&this._$AE(e)}willUpdate(t){}_$AE(t){this._$EO?.forEach(e=>e.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach(e=>this._$ET(e,this[e])),this._$EM()}updated(t){}firstUpdated(t){}};E.elementStyles=[],E.shadowRootOptions={mode:"open"},E[C("elementProperties")]=new Map,E[C("finalized")]=new Map,Pt?.({ReactiveElement:E}),(L.reactiveElementVersions??=[]).push("2.1.2");const F=globalThis,ot=r=>r,B=F.trustedTypes,at=B?B.createPolicy("lit-html",{createHTML:r=>r}):void 0,lt="$lit$",m=`lit$${Math.random().toFixed(9).slice(2)}$`,ht="?"+m,Ct=`<${ht}>`,b=document,O=()=>b.createComment(""),U=r=>r===null||typeof r!="object"&&typeof r!="function",J=Array.isArray,Ot=r=>J(r)||typeof r?.[Symbol.iterator]=="function",G=`[
2
+ \f\r]`,T=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,pt=/-->/g,ct=/>/g,x=RegExp(`>|${G}(?:([^\\s"'>=/]+)(${G}*=${G}*(?:[^
3
+ \f\r"'\`<>=]|("|')|))|$)`,"g"),dt=/'/g,ut=/"/g,ft=/^(?:script|style|textarea|title)$/i,Ut=r=>(t,...e)=>({_$litType$:r,strings:t,values:e}),u=Ut(1),S=Symbol.for("lit-noChange"),p=Symbol.for("lit-nothing"),$t=new WeakMap,A=b.createTreeWalker(b,129);function gt(r,t){if(!J(r)||!r.hasOwnProperty("raw"))throw Error("invalid template strings array");return at!==void 0?at.createHTML(t):t}const Tt=(r,t)=>{const e=r.length-1,s=[];let i,n=t===2?"<svg>":t===3?"<math>":"",o=T;for(let l=0;l<e;l++){const a=r[l];let c,d,h=-1,$=0;for(;$<a.length&&(o.lastIndex=$,d=o.exec(a),d!==null);)$=o.lastIndex,o===T?d[1]==="!--"?o=pt:d[1]!==void 0?o=ct:d[2]!==void 0?(ft.test(d[2])&&(i=RegExp("</"+d[2],"g")),o=x):d[3]!==void 0&&(o=x):o===x?d[0]===">"?(o=i??T,h=-1):d[1]===void 0?h=-2:(h=o.lastIndex-d[2].length,c=d[1],o=d[3]===void 0?x:d[3]==='"'?ut:dt):o===ut||o===dt?o=x:o===pt||o===ct?o=T:(o=x,i=void 0);const y=o===x&&r[l+1].startsWith("/>")?" ":"";n+=o===T?a+Ct:h>=0?(s.push(c),a.slice(0,h)+lt+a.slice(h)+m+y):a+m+(h===-2?l:y)}return[gt(r,n+(r[e]||"<?>")+(t===2?"</svg>":t===3?"</math>":"")),s]};class M{constructor({strings:t,_$litType$:e},s){let i;this.parts=[];let n=0,o=0;const l=t.length-1,a=this.parts,[c,d]=Tt(t,e);if(this.el=M.createElement(c,s),A.currentNode=this.el.content,e===2||e===3){const h=this.el.content.firstChild;h.replaceWith(...h.childNodes)}for(;(i=A.nextNode())!==null&&a.length<l;){if(i.nodeType===1){if(i.hasAttributes())for(const h of i.getAttributeNames())if(h.endsWith(lt)){const $=d[o++],y=i.getAttribute(h).split(m),V=/([.?@])?(.*)/.exec($);a.push({type:1,index:n,name:V[2],strings:y,ctor:V[1]==="."?Rt:V[1]==="?"?kt:V[1]==="@"?Ht:I}),i.removeAttribute(h)}else h.startsWith(m)&&(a.push({type:6,index:n}),i.removeAttribute(h));if(ft.test(i.tagName)){const h=i.textContent.split(m),$=h.length-1;if($>0){i.textContent=B?B.emptyScript:"";for(let y=0;y<$;y++)i.append(h[y],O()),A.nextNode(),a.push({type:2,index:++n});i.append(h[$],O())}}}else if(i.nodeType===8)if(i.data===ht)a.push({type:2,index:n});else{let h=-1;for(;(h=i.data.indexOf(m,h+1))!==-1;)a.push({type:7,index:n}),h+=m.length-1}n++}}static createElement(t,e){const s=b.createElement("template");return s.innerHTML=t,s}}function P(r,t,e=r,s){if(t===S)return t;let i=s!==void 0?e._$Co?.[s]:e._$Cl;const n=U(t)?void 0:t._$litDirective$;return i?.constructor!==n&&(i?._$AO?.(!1),n===void 0?i=void 0:(i=new n(r),i._$AT(r,e,s)),s!==void 0?(e._$Co??=[])[s]=i:e._$Cl=i),i!==void 0&&(t=P(r,i._$AS(r,t.values),i,s)),t}class Mt{constructor(t,e){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:e},parts:s}=this._$AD,i=(t?.creationScope??b).importNode(e,!0);A.currentNode=i;let n=A.nextNode(),o=0,l=0,a=s[0];for(;a!==void 0;){if(o===a.index){let c;a.type===2?c=new R(n,n.nextSibling,this,t):a.type===1?c=new a.ctor(n,a.name,a.strings,this,t):a.type===6&&(c=new Nt(n,this,t)),this._$AV.push(c),a=s[++l]}o!==a?.index&&(n=A.nextNode(),o++)}return A.currentNode=b,i}p(t){let e=0;for(const s of this._$AV)s!==void 0&&(s.strings!==void 0?(s._$AI(t,s,e),e+=s.strings.length-2):s._$AI(t[e])),e++}}class R{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,e,s,i){this.type=2,this._$AH=p,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=s,this.options=i,this._$Cv=i?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const e=this._$AM;return e!==void 0&&t?.nodeType===11&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=P(this,t,e),U(t)?t===p||t==null||t===""?(this._$AH!==p&&this._$AR(),this._$AH=p):t!==this._$AH&&t!==S&&this._(t):t._$litType$!==void 0?this.$(t):t.nodeType!==void 0?this.T(t):Ot(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==p&&U(this._$AH)?this._$AA.nextSibling.data=t:this.T(b.createTextNode(t)),this._$AH=t}$(t){const{values:e,_$litType$:s}=t,i=typeof s=="number"?this._$AC(t):(s.el===void 0&&(s.el=M.createElement(gt(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===i)this._$AH.p(e);else{const n=new Mt(i,this),o=n.u(this.options);n.p(e),this.T(o),this._$AH=n}}_$AC(t){let e=$t.get(t.strings);return e===void 0&&$t.set(t.strings,e=new M(t)),e}k(t){J(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let s,i=0;for(const n of t)i===e.length?e.push(s=new R(this.O(O()),this.O(O()),this,this.options)):s=e[i],s._$AI(n),i++;i<e.length&&(this._$AR(s&&s._$AB.nextSibling,i),e.length=i)}_$AR(t=this._$AA.nextSibling,e){for(this._$AP?.(!1,!0,e);t!==this._$AB;){const s=ot(t).nextSibling;ot(t).remove(),t=s}}setConnected(t){this._$AM===void 0&&(this._$Cv=t,this._$AP?.(t))}}class I{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,e,s,i,n){this.type=1,this._$AH=p,this._$AN=void 0,this.element=t,this.name=e,this._$AM=i,this.options=n,s.length>2||s[0]!==""||s[1]!==""?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=p}_$AI(t,e=this,s,i){const n=this.strings;let o=!1;if(n===void 0)t=P(this,t,e,0),o=!U(t)||t!==this._$AH&&t!==S,o&&(this._$AH=t);else{const l=t;let a,c;for(t=n[0],a=0;a<n.length-1;a++)c=P(this,l[s+a],e,a),c===S&&(c=this._$AH[a]),o||=!U(c)||c!==this._$AH[a],c===p?t=p:t!==p&&(t+=(c??"")+n[a+1]),this._$AH[a]=c}o&&!i&&this.j(t)}j(t){t===p?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}}class Rt extends I{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===p?void 0:t}}class kt extends I{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==p)}}class Ht extends I{constructor(t,e,s,i,n){super(t,e,s,i,n),this.type=5}_$AI(t,e=this){if((t=P(this,t,e,0)??p)===S)return;const s=this._$AH,i=t===p&&s!==p||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,n=t!==p&&(s===p||i);i&&this.element.removeEventListener(this.name,this,s),n&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){typeof this._$AH=="function"?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class Nt{constructor(t,e,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){P(this,t)}}const Dt=F.litHtmlPolyfillSupport;Dt?.(M,R),(F.litHtmlVersions??=[]).push("3.3.2");const jt=(r,t,e)=>{const s=e?.renderBefore??t;let i=s._$litPart$;if(i===void 0){const n=e?.renderBefore??null;s._$litPart$=i=new R(t.insertBefore(O(),n),n,void 0,e??{})}return i._$AI(r),i};const Q=globalThis;class _ extends E{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=jt(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return S}}_._$litElement$=!0,_.finalized=!0,Q.litElementHydrateSupport?.({LitElement:_});const Lt=Q.litElementPolyfillSupport;Lt?.({LitElement:_}),(Q.litElementVersions??=[]).push("4.2.2");const W=r=>(t,e)=>{e!==void 0?e.addInitializer(()=>{customElements.define(r,t)}):customElements.define(r,t)};const zt={attribute:!0,type:String,converter:z,reflect:!1,hasChanged:Z},Bt=(r=zt,t,e)=>{const{kind:s,metadata:i}=e;let n=globalThis.litPropertyMetadata.get(i);if(n===void 0&&globalThis.litPropertyMetadata.set(i,n=new Map),s==="setter"&&((r=Object.create(r)).wrapped=!0),n.set(e.name,r),s==="accessor"){const{name:o}=e;return{set(l){const a=t.get.call(this);t.set.call(this,l),this.requestUpdate(o,a,r,!0,l)},init(l){return l!==void 0&&this.C(o,void 0,r,l),l}}}if(s==="setter"){const{name:o}=e;return function(l){const a=this[o];t.call(this,l),this.requestUpdate(o,a,r,!0,l)}}throw Error("Unsupported decorator location: "+s)};function f(r){return(t,e)=>typeof e=="object"?Bt(r,t,e):((s,i,n)=>{const o=i.hasOwnProperty(n);return i.constructor.createProperty(n,s),o?Object.getOwnPropertyDescriptor(i,n):void 0})(r,t,e)}function It(r){return f({...r,state:!0,attribute:!1})}var Wt=Object.defineProperty,qt=Object.getOwnPropertyDescriptor,k=(r,t,e,s)=>{for(var i=s>1?void 0:s?qt(t,e):t,n=r.length-1,o;n>=0;n--)(o=r[n])&&(i=(s?o(t,e,i):o(i))||i);return s&&i&&Wt(t,e,i),i};let w=class extends _{constructor(){super(...arguments),this.data=[],this.theme="light",this.loading=!1,this.open=!1,this.toggle=t=>{t.stopPropagation(),this.open=!this.open,this.open?this.updateComplete.then(()=>{this.positionPanel(),document.addEventListener("click",this.handleOutsideClick),window.addEventListener("resize",this.handleResize)}):this.cleanupListeners()},this.handleOutsideClick=t=>{this.contains(t.target)||(this.open=!1,this.cleanupListeners())},this.handleResize=()=>{this.open&&this.positionPanel()},this.handleKeyDown=t=>{t.key==="Escape"&&(this.open=!1,this.cleanupListeners())}}connectedCallback(){super.connectedCallback(),document.addEventListener("keydown",this.handleKeyDown)}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("keydown",this.handleKeyDown),this.cleanupListeners()}render(){return u`
4
4
  <div class="trigger" @click=${this.toggle}
5
5
  ${t=>this.triggerRef=t}>
6
6
  <div class="dots">
7
- ${Array.from({length:9}).map(()=>A`<span class="dot"></span>`)}
7
+ ${Array.from({length:9}).map(()=>u`<span class="dot"></span>`)}
8
8
  </div>
9
9
  </div>
10
10
 
11
11
  <div class="panel ${this.open?"open":""}"
12
12
  ${t=>this.panelRef=t}>
13
- <div class="apps">
14
- ${this.data.map(t=>this.renderCard(t))}
15
- </div>
13
+ ${this.loading?u`
14
+ <div class="loader-container">
15
+ <div class="spinner"></div>
16
+ </div>
17
+ `:this.data.length===0?u`
18
+ <div class="loader-container">
19
+ <span>No applications available</span>
20
+ </div>
21
+ `:u`
22
+ <div class="apps">
23
+ ${this.data.map(t=>this.renderCard(t))}
24
+ </div>
25
+ `}
16
26
  </div>
17
- `}renderCard(t){return A`
27
+ `}renderCard(t){return u`
18
28
  <aura-app href=${t.url} .newTab=${t.newTab??!0} key=${t.id}>
19
29
  <aura-app-icon .icon=${t.icon} .label=${t.label}></aura-app-icon>
20
30
  <aura-app-text .label=${t.label}></aura-app-text>
21
31
  </aura-app>
22
- `}cleanupListeners(){document.removeEventListener("click",this.handleOutsideClick),window.removeEventListener("resize",this.handleResize)}positionPanel(){if(!this.triggerRef||!this.panelRef)return;const t=this.triggerRef.getBoundingClientRect(),e=this.panelRef,s=window.innerWidth-t.left,i=t.right,n=window.innerHeight-t.bottom,o=t.top;s<e.offsetWidth&&i>e.offsetWidth?(e.style.left="0",e.style.right="auto",e.style.transformOrigin="top left"):(e.style.right="0",e.style.left="auto",e.style.transformOrigin="top right"),n<e.offsetHeight&&o>e.offsetHeight?(e.style.top="auto",e.style.bottom="calc(100% + 12px)",e.style.transformOrigin=e.style.transformOrigin.replace("top","bottom")):(e.style.top="calc(100% + 12px)",e.style.bottom="auto")}};P.styles=D`
32
+ `}cleanupListeners(){document.removeEventListener("click",this.handleOutsideClick),window.removeEventListener("resize",this.handleResize)}positionPanel(){if(!this.triggerRef||!this.panelRef)return;const t=this.triggerRef.getBoundingClientRect(),e=this.panelRef,s=window.innerWidth-t.left,i=t.right,n=window.innerHeight-t.bottom,o=t.top;s<e.offsetWidth&&i>e.offsetWidth?(e.style.left="0",e.style.right="auto",e.style.transformOrigin="top left"):(e.style.right="0",e.style.left="auto",e.style.transformOrigin="top right"),n<e.offsetHeight&&o>e.offsetHeight?(e.style.top="auto",e.style.bottom="calc(100% + 12px)",e.style.transformOrigin=e.style.transformOrigin.replace("top","bottom")):(e.style.top="calc(100% + 12px)",e.style.bottom="auto")}};w.styles=j`
23
33
  :host {
24
34
  --menu-bg: #202124;
25
35
  --menu-text: #ffffff;
@@ -58,7 +68,7 @@
58
68
  .dots {
59
69
  display: grid;
60
70
  grid-template-columns: repeat(3, 6px);
61
- gap: 3px;
71
+ gap: 4px;
62
72
  }
63
73
 
64
74
  .dot {
@@ -158,8 +168,30 @@
158
168
  width: 32px;
159
169
  height: 32px;
160
170
  }
171
+
172
+ .loader-container {
173
+ display: flex;
174
+ justify-content: center;
175
+ align-items: center;
176
+ height: 160px;
177
+ }
178
+
179
+ .spinner {
180
+ width: 32px;
181
+ height: 32px;
182
+ border: 3px solid rgba(255, 255, 255, 0.2);
183
+ border-top: 3px solid var(--menu-text);
184
+ border-radius: 50%;
185
+ animation: spin 0.8s linear infinite;
186
+ }
187
+
188
+ @keyframes spin {
189
+ to {
190
+ transform: rotate(360deg);
191
+ }
192
+ }
161
193
  }
162
- `,W([m({type:Array})],P.prototype,"data",2),W([m({reflect:!0})],P.prototype,"theme",2),W([It()],P.prototype,"open",2),P=W([I("aura-nine-dot-menu")],P);var Vt=Object.defineProperty,Kt=Object.getOwnPropertyDescriptor,X=(r,t,e,s)=>{for(var i=s>1?void 0:s?Kt(t,e):t,n=r.length-1,o;n>=0;n--)(o=r[n])&&(i=(s?o(t,e,i):o(i))||i);return s&&i&&Vt(t,e,i),i};let k=class extends g{constructor(){super(...arguments),this.href="",this.newTab=!0}render(){return A`
194
+ `,k([f({type:Array})],w.prototype,"data",2),k([f({reflect:!0})],w.prototype,"theme",2),k([f({type:Boolean})],w.prototype,"loading",2),k([It()],w.prototype,"open",2),w=k([W("aura-nine-dot-menu")],w);var Vt=Object.defineProperty,Kt=Object.getOwnPropertyDescriptor,X=(r,t,e,s)=>{for(var i=s>1?void 0:s?Kt(t,e):t,n=r.length-1,o;n>=0;n--)(o=r[n])&&(i=(s?o(t,e,i):o(i))||i);return s&&i&&Vt(t,e,i),i};let H=class extends _{constructor(){super(...arguments),this.href="",this.newTab=!0}render(){return u`
163
195
  <a
164
196
  href=${this.href}
165
197
  target=${this.newTab?"_blank":"_self"}
@@ -167,7 +199,7 @@
167
199
  >
168
200
  <slot></slot>
169
201
  </a>
170
- `}};k.styles=D`
202
+ `}};H.styles=j`
171
203
  :host {
172
204
  display: block;
173
205
  }
@@ -199,18 +231,18 @@
199
231
  transform: translateY(0);
200
232
  box-shadow: none;
201
233
  }
202
- `,X([m()],k.prototype,"href",2),X([m({type:Boolean})],k.prototype,"newTab",2),k=X([I("aura-app")],k);var Yt=Object.defineProperty,Zt=Object.getOwnPropertyDescriptor,tt=(r,t,e,s)=>{for(var i=s>1?void 0:s?Zt(t,e):t,n=r.length-1,o;n>=0;n--)(o=r[n])&&(i=(s?o(t,e,i):o(i))||i);return s&&i&&Yt(t,e,i),i};let H=class extends g{constructor(){super(...arguments),this.icon="",this.label=""}getInitial(){return this.label?.trim()?.charAt(0)?.toUpperCase()??"?"}stringToColor(r){let t=0;for(let e=0;e<r.length;e++)t=r.charCodeAt(e)+((t<<5)-t);return`hsl(${t%360}, 65%, 55%)`}render(){return this.icon?A`
234
+ `,X([f()],H.prototype,"href",2),X([f({type:Boolean})],H.prototype,"newTab",2),H=X([W("aura-app")],H);var Yt=Object.defineProperty,Zt=Object.getOwnPropertyDescriptor,tt=(r,t,e,s)=>{for(var i=s>1?void 0:s?Zt(t,e):t,n=r.length-1,o;n>=0;n--)(o=r[n])&&(i=(s?o(t,e,i):o(i))||i);return s&&i&&Yt(t,e,i),i};let N=class extends _{constructor(){super(...arguments),this.icon="",this.label=""}getInitial(){return this.label?.trim()?.charAt(0)?.toUpperCase()??"?"}render(){return this.icon?u`
203
235
  <img
204
236
  src=${this.icon}
205
237
  alt=${this.label}
206
238
  @error=${()=>this.icon=""}
207
239
  />
208
- `:A`
240
+ `:u`
209
241
  <div class="fallback"
210
- style="background:${this.stringToColor(this.label)}">
242
+ style="background:hsl(126deg 7.19% 52.47% / 28%)">
211
243
  ${this.getInitial()}
212
244
  </div>
213
- `}};H.styles=D`
245
+ `}};N.styles=j`
214
246
  :host {
215
247
  display: inline-flex;
216
248
  }
@@ -251,7 +283,7 @@
251
283
  backdrop-filter: blur(4px);
252
284
  color: var(--menu-text);
253
285
  }
254
- `,tt([m()],H.prototype,"icon",2),tt([m()],H.prototype,"label",2),H=tt([I("aura-app-icon")],H);var Ft=Object.defineProperty,Jt=Object.getOwnPropertyDescriptor,mt=(r,t,e,s)=>{for(var i=s>1?void 0:s?Jt(t,e):t,n=r.length-1,o;n>=0;n--)(o=r[n])&&(i=(s?o(t,e,i):o(i))||i);return s&&i&&Ft(t,e,i),i};let q=class extends g{constructor(){super(...arguments),this.label=""}render(){return A`${this.label}`}};q.styles=D`
286
+ `,tt([f()],N.prototype,"icon",2),tt([f()],N.prototype,"label",2),N=tt([W("aura-app-icon")],N);var Ft=Object.defineProperty,Jt=Object.getOwnPropertyDescriptor,mt=(r,t,e,s)=>{for(var i=s>1?void 0:s?Jt(t,e):t,n=r.length-1,o;n>=0;n--)(o=r[n])&&(i=(s?o(t,e,i):o(i))||i);return s&&i&&Ft(t,e,i),i};let q=class extends _{constructor(){super(...arguments),this.label=""}render(){return u`${this.label}`}};q.styles=j`
255
287
  :host {
256
288
  display: block;
257
289
 
@@ -273,4 +305,4 @@
273
305
 
274
306
  -webkit-font-smoothing: antialiased;
275
307
  }
276
- `,mt([m()],q.prototype,"label",2),q=mt([I("aura-app-text")],q);const Gt=({data:r,theme:t="light",position:e="top-right",onItemClick:s})=>{const i=f.useRef(null);return f.useEffect(()=>{i.current&&(i.current.data=r,i.current.theme=t,i.current.position=e)},[r,t,e]),f.useEffect(()=>{const n=i.current;if(!n)return;const o=l=>{s?.(l.detail)};return n.addEventListener("item-click",o),()=>n.removeEventListener("item-click",o)},[s]),f.createElement("aura-nine-dot-menu",{ref:i})};y.AuraNineDotMenu=Gt,Object.defineProperty(y,Symbol.toStringTag,{value:"Module"})}));
308
+ `,mt([f()],q.prototype,"label",2),q=mt([W("aura-app-text")],q);const Gt=({data:r,theme:t="light",position:e="top-right",onItemClick:s})=>{const i=g.useRef(null);return g.useEffect(()=>{i.current&&(i.current.data=r,i.current.theme=t,i.current.position=e)},[r,t,e]),g.useEffect(()=>{const n=i.current;if(!n)return;const o=l=>{s?.(l.detail)};return n.addEventListener("item-click",o),()=>n.removeEventListener("item-click",o)},[s]),g.createElement("aura-nine-dot-menu",{ref:i})};v.AuraNineDotMenu=Gt,Object.defineProperty(v,Symbol.toStringTag,{value:"Module"})}));
@@ -4,6 +4,5 @@ export declare class AuraAppIcon extends LitElement {
4
4
  label: string;
5
5
  static styles: import('lit').CSSResult;
6
6
  private getInitial;
7
- private stringToColor;
8
7
  render(): import('lit-html').TemplateResult<1>;
9
8
  }
@@ -9,6 +9,7 @@ interface AuraAppCard {
9
9
  export declare class AuraNineDotMenu extends LitElement {
10
10
  data: AuraAppCard[];
11
11
  theme: 'light' | 'dark';
12
+ loading: boolean;
12
13
  private open;
13
14
  private triggerRef;
14
15
  private panelRef;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aura360/aura-nine-dot-menu",
3
- "version": "1.7.1",
3
+ "version": "1.8.1",
4
4
  "description": "Aura Nine Dot Menu (Lit Web Component + React Wrapper)",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs",