coveragebook_components 0.8.3 → 0.8.4

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,5 +1,5 @@
1
1
  /*
2
- ! tailwindcss v3.3.2 | MIT License | https://tailwindcss.com
2
+ ! tailwindcss v3.3.5 | MIT License | https://tailwindcss.com
3
3
  *//*
4
4
  1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
5
5
  2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
@@ -167,6 +167,8 @@ optgroup,
167
167
  select,
168
168
  textarea {
169
169
  font-family: inherit; /* 1 */
170
+ font-feature-settings: inherit; /* 1 */
171
+ font-variation-settings: inherit; /* 1 */
170
172
  font-size: 100%; /* 1 */
171
173
  font-weight: inherit; /* 1 */
172
174
  line-height: inherit; /* 1 */
@@ -304,6 +306,13 @@ menu {
304
306
  padding: 0;
305
307
  }
306
308
 
309
+ /*
310
+ Reset default styling for dialogs.
311
+ */
312
+ dialog {
313
+ padding: 0;
314
+ }
315
+
307
316
  /*
308
317
  Prevent resizing textareas horizontally by default.
309
318
  */
@@ -377,7 +386,7 @@ video {
377
386
  display: none;
378
387
  }
379
388
 
380
- [type='text'],[type='email'],[type='url'],[type='password'],[type='number'],[type='date'],[type='datetime-local'],[type='month'],[type='search'],[type='tel'],[type='time'],[type='week'],[multiple],textarea,select {
389
+ [type='text'],input:where(:not([type])),[type='email'],[type='url'],[type='password'],[type='number'],[type='date'],[type='datetime-local'],[type='month'],[type='search'],[type='tel'],[type='time'],[type='week'],[multiple],textarea,select {
381
390
  -webkit-appearance: none;
382
391
  -moz-appearance: none;
383
392
  appearance: none;
@@ -394,7 +403,7 @@ video {
394
403
  --tw-shadow: 0 0 #0000;
395
404
  }
396
405
 
397
- [type='text']:focus, [type='email']:focus, [type='url']:focus, [type='password']:focus, [type='number']:focus, [type='date']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='week']:focus, [multiple]:focus, textarea:focus, select:focus {
406
+ [type='text']:focus, input:where(:not([type])):focus, [type='email']:focus, [type='url']:focus, [type='password']:focus, [type='number']:focus, [type='date']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='week']:focus, [multiple]:focus, textarea:focus, select:focus {
398
407
  outline: 2px solid transparent;
399
408
  outline-offset: 2px;
400
409
  --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
@@ -423,6 +432,11 @@ input::placeholder,textarea::placeholder {
423
432
 
424
433
  ::-webkit-date-and-time-value {
425
434
  min-height: 1.5em;
435
+ text-align: inherit;
436
+ }
437
+
438
+ ::-webkit-datetime-edit {
439
+ display: inline-flex;
426
440
  }
427
441
 
428
442
  ::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field {
@@ -440,7 +454,7 @@ select {
440
454
  print-color-adjust: exact;
441
455
  }
442
456
 
443
- [multiple] {
457
+ [multiple],[size]:where(select:not([size="1"])) {
444
458
  background-image: initial;
445
459
  background-position: initial;
446
460
  background-repeat: unset;
@@ -5650,17 +5650,17 @@
5650
5650
  switch (e2.type) {
5651
5651
  case 4:
5652
5652
  return function(e3, t3) {
5653
- const o2 = n(e3.left, t3), s2 = n(e3.right, t3), l3 = e3.operator;
5653
+ const o2 = n(e3.left, t3), s2 = n(e3.right, t3), l2 = e3.operator;
5654
5654
  if (4 === o2.type && 4 === s2.type || 5 === o2.type && 5 === s2.type)
5655
5655
  return function(e4, t4, n2) {
5656
5656
  return 1 === n2 ? r(e4.value === t4.value) : { type: 1 };
5657
- }(o2, s2, l3);
5657
+ }(o2, s2, l2);
5658
5658
  if (3 === o2.type || 3 === s2.type) {
5659
5659
  const e4 = c(o2, t3), n2 = c(s2, t3);
5660
5660
  if (null != e4 && null != n2)
5661
- return u(e4, n2, l3);
5661
+ return u(e4, n2, l2);
5662
5662
  } else if (2 === o2.type && 2 === s2.type)
5663
- return u(o2.value, s2.value, l3);
5663
+ return u(o2.value, s2.value, l2);
5664
5664
  return { type: 1 };
5665
5665
  }(e2, t2);
5666
5666
  case 2:
@@ -5728,7 +5728,7 @@
5728
5728
  const e3 = r3.codePointAt(0);
5729
5729
  n2 && 10 !== e3 && (n2 = false, t2.push(10)), 0 === e3 || e3 >= 55296 && e3 <= 57343 ? t2.push(65533) : 13 === e3 ? n2 = true : t2.push(e3);
5730
5730
  }
5731
- const r2 = q(t2, -1), { at: u2, consume: o2, error: s2, reconsume: l3 } = r2;
5731
+ const r2 = q(t2, -1), { at: u2, consume: o2, error: s2, reconsume: l2 } = r2;
5732
5732
  function c2() {
5733
5733
  return String.fromCodePoint(r2.value);
5734
5734
  }
@@ -5808,7 +5808,7 @@
5808
5808
  if (-1 === n3 || n3 === e3)
5809
5809
  return -1 === n3 && s2(), { type: 2, value: t3 };
5810
5810
  if (E(n3))
5811
- return s2(), l3(), { type: 3 };
5811
+ return s2(), l2(), { type: 3 };
5812
5812
  if (92 === n3) {
5813
5813
  const e4 = u2(1);
5814
5814
  if (-1 === e4)
@@ -5848,7 +5848,7 @@
5848
5848
  e3 += c2();
5849
5849
  else {
5850
5850
  if (!j(t3, u2(1)))
5851
- return l3(), e3;
5851
+ return l2(), e3;
5852
5852
  e3 += v2();
5853
5853
  }
5854
5854
  }
@@ -5879,14 +5879,14 @@
5879
5879
  else if (41 === e3)
5880
5880
  yield { type: 5 };
5881
5881
  else if (43 === e3)
5882
- m2(e3, u2(1), u2(2)) ? (l3(), yield p2()) : yield i2();
5882
+ m2(e3, u2(1), u2(2)) ? (l2(), yield p2()) : yield i2();
5883
5883
  else if (44 === e3)
5884
5884
  yield { type: 6 };
5885
5885
  else if (45 === e3) {
5886
5886
  const t3 = u2(1), n3 = u2(2);
5887
- m2(e3, t3, n3) ? (l3(), yield p2()) : 45 === t3 && 62 === n3 ? (o2(2), yield { type: 19 }) : d2(e3, t3, n3) ? (l3(), yield y2()) : yield i2();
5887
+ m2(e3, t3, n3) ? (l2(), yield p2()) : 45 === t3 && 62 === n3 ? (o2(2), yield { type: 19 }) : d2(e3, t3, n3) ? (l2(), yield y2()) : yield i2();
5888
5888
  } else if (46 === e3)
5889
- m2(e3, u2(1), u2(2)) ? (l3(), yield p2()) : yield i2();
5889
+ m2(e3, u2(1), u2(2)) ? (l2(), yield p2()) : yield i2();
5890
5890
  else if (58 === e3)
5891
5891
  yield { type: 7 };
5892
5892
  else if (59 === e3)
@@ -5902,7 +5902,7 @@
5902
5902
  else if (91 === e3)
5903
5903
  yield { type: 9 };
5904
5904
  else if (92 === e3)
5905
- j(e3, u2(1)) ? (l3(), yield y2()) : (s2(), yield i2());
5905
+ j(e3, u2(1)) ? (l2(), yield y2()) : (s2(), yield i2());
5906
5906
  else if (93 === e3)
5907
5907
  yield { type: 10 };
5908
5908
  else if (123 === e3)
@@ -5910,9 +5910,9 @@
5910
5910
  else if (125 === e3)
5911
5911
  yield { type: 12 };
5912
5912
  else if (k(e3))
5913
- l3(), yield p2();
5913
+ l2(), yield p2();
5914
5914
  else if (L(e3))
5915
- l3(), yield y2();
5915
+ l2(), yield y2();
5916
5916
  else {
5917
5917
  if (-1 === e3)
5918
5918
  return yield { type: 0 }, r2.errorIndices;
@@ -6447,8 +6447,8 @@
6447
6447
  const s2 = J(e4);
6448
6448
  if (s2 === x || !(X(u2) && X(s2) || K(u2) && K(s2)))
6449
6449
  return x;
6450
- const l3 = Y(e4, false), c2 = Z(o2, t4);
6451
- return c2 !== x ? { type: 2, feature: c2, bounds: [[u2, n4], [s2, l3]] } : x;
6450
+ const l2 = Y(e4, false), c2 = Z(o2, t4);
6451
+ return c2 !== x ? { type: 2, feature: c2, bounds: [[u2, n4], [s2, l2]] } : x;
6452
6452
  }(e3, ie);
6453
6453
  if (n3 === x)
6454
6454
  return x;
@@ -6625,14 +6625,14 @@
6625
6625
  if (t3.value) {
6626
6626
  const r2 = $e(t3.prelude);
6627
6627
  if (r2 !== x) {
6628
- const u2 = { rule: r2, selector: null, parent: n3.parent, uid: "c" + Ae++ }, o2 = /* @__PURE__ */ new Set(), s2 = [], l3 = Oe(P(t3.value.value.value), { descriptors: n3.descriptors, parent: u2, transformStyleRule: (t4) => {
6628
+ const u2 = { rule: r2, selector: null, parent: n3.parent, uid: "c" + Ae++ }, o2 = /* @__PURE__ */ new Set(), s2 = [], l2 = Oe(P(t3.value.value.value), { descriptors: n3.descriptors, parent: u2, transformStyleRule: (t4) => {
6629
6629
  const [n4, r3] = function(e2, t5, n5) {
6630
6630
  const r4 = C(e2), u3 = [], o3 = [];
6631
6631
  for (; ; ) {
6632
6632
  if (0 === r4.at(1).type)
6633
6633
  return [u3, o3];
6634
6634
  const n6 = Math.max(0, r4.index);
6635
- for (; l5 = r4.at(1), c2 = r4.at(2), !(Fe(l5) || 7 === l5.type && (7 === c2.type || 24 === c2.type && Me.has(c2.value.toLowerCase()))); )
6635
+ for (; l4 = r4.at(1), c2 = r4.at(2), !(Fe(l4) || 7 === l4.type && (7 === c2.type || 24 === c2.type && Me.has(c2.value.toLowerCase()))); )
6636
6636
  r4.consume(1);
6637
6637
  const i2 = r4.index + 1, a2 = e2.slice(n6, i2), f2 = a2.length > 0 ? Ue(a2) : [ee("*")];
6638
6638
  for (; !Fe(r4.at(1)); )
@@ -6647,13 +6647,13 @@
6647
6647
  }
6648
6648
  u3.push(...f2), o3.push(...y2), o3.push(...h2), o3.push(...p2), r4.consume(1);
6649
6649
  }
6650
- var l5, c2;
6650
+ var l4, c2;
6651
6651
  }(t4.prelude, u2.uid);
6652
6652
  if (s2.length > 0)
6653
6653
  return t4;
6654
- const l4 = n4.map(B).join("");
6654
+ const l3 = n4.map(B).join("");
6655
6655
  try {
6656
- je.matches(l4), o2.add(l4);
6656
+ je.matches(l3), o2.add(l3);
6657
6657
  } catch (e2) {
6658
6658
  }
6659
6659
  return e({}, t4, { prelude: r3 });
@@ -6670,7 +6670,7 @@
6670
6670
 
6671
6671
  ${t4.join("\n")}`);
6672
6672
  }
6673
- return o2.size > 0 && (u2.selector = Array.from(o2).join(", ")), n3.descriptors.push(u2), { type: 25, name: "media", prelude: [ne("all")], value: e({}, t3.value, { value: { type: 3, value: l3 } }) };
6673
+ return o2.size > 0 && (u2.selector = Array.from(o2).join(", ")), n3.descriptors.push(u2), { type: 25, name: "media", prelude: [ne("all")], value: e({}, t3.value, { value: { type: 3, value: l2 } }) };
6674
6674
  }
6675
6675
  }
6676
6676
  return t3;
@@ -6739,8 +6739,8 @@ ${t4.join("\n")}`);
6739
6739
  if ("stylesheet" === t2.rel) {
6740
6740
  const n2 = new URL(t2.href, document.baseURI);
6741
6741
  n2.origin === location.origin && (this.controller = rt(async function(r2) {
6742
- const u2 = await fetch(n2.toString(), { signal: r2 }), o2 = await u2.text(), s2 = e2.styleSheet = await e2.context.registerStyleSheet({ source: o2, url: n2, signal: r2 }), l3 = new Blob([s2.source], { type: "text/css" }), c2 = new Image();
6743
- c2.onload = c2.onerror = s2.refresh, c2.src = t2.href = URL.createObjectURL(l3);
6742
+ const u2 = await fetch(n2.toString(), { signal: r2 }), o2 = await u2.text(), s2 = e2.styleSheet = await e2.context.registerStyleSheet({ source: o2, url: n2, signal: r2 }), l2 = new Blob([s2.source], { type: "text/css" }), c2 = new Image();
6743
+ c2.onload = c2.onerror = s2.refresh, c2.src = t2.href = URL.createObjectURL(l2);
6744
6744
  }));
6745
6745
  }
6746
6746
  }
@@ -6856,7 +6856,7 @@ ${t4.join("\n")}`);
6856
6856
  t2.target.nodeType !== Node.DOCUMENT_NODE && t2.target.nodeType !== Node.DOCUMENT_FRAGMENT_NODE && null === t2.target.parentNode || "attributes" === t2.type && t2.attributeName && (t2.attributeName === v || t2.attributeName === d || t2.target instanceof Element && t2.target.getAttribute(t2.attributeName) === t2.oldValue) || (A2(t2.target).mutate(), S2());
6857
6857
  }
6858
6858
  }).observe(u2, { childList: true, subtree: true, attributes: true, attributeOldValue: true });
6859
- const l3 = new ResizeObserver((e2) => {
6859
+ const l2 = new ResizeObserver((e2) => {
6860
6860
  for (const t2 of e2)
6861
6861
  A2(t2.target).resize();
6862
6862
  A2(u2).update(C2());
@@ -6882,18 +6882,18 @@ ${t4.join("\n")}`);
6882
6882
  }
6883
6883
  }(t2, n3 ? n3.toString() : void 0);
6884
6884
  let s3 = () => {
6885
- }, l4 = () => {
6885
+ }, l3 = () => {
6886
6886
  };
6887
6887
  const c3 = A2(u2);
6888
6888
  let i2 = false;
6889
- return null != r3 && r3.aborted || (l4 = () => {
6889
+ return null != r3 && r3.aborted || (l3 = () => {
6890
6890
  if (!i2) {
6891
6891
  const { sheet: t3 } = e2;
6892
6892
  null != t3 && (pt(t3, o3.descriptors), i2 = true, s3 = () => {
6893
6893
  pt(t3), c3.mutate(), S2();
6894
6894
  }, c3.mutate(), S2());
6895
6895
  }
6896
- }), { source: o3.source, dispose: s3, refresh: l4 };
6896
+ }), { source: o3.source, dispose: s3, refresh: l3 };
6897
6897
  }
6898
6898
  const p2 = { cqw: null, cqh: null };
6899
6899
  function y2({ width: e2, height: t2 }) {
@@ -6910,7 +6910,7 @@ ${t4.join("\n")}`);
6910
6910
  }
6911
6911
  }
6912
6912
  function S2() {
6913
- l3.unobserve(u2), l3.observe(u2);
6913
+ l2.unobserve(u2), l2.observe(u2);
6914
6914
  }
6915
6915
  const x2 = () => {
6916
6916
  const e2 = [];
@@ -6936,14 +6936,14 @@ ${t4.join("\n")}`);
6936
6936
  return (...n6) => {
6937
6937
  if (null == u3 || !De(u3[0], n6)) {
6938
6938
  const o3 = ((n7, u4) => {
6939
- const { context: o4, conditions: s3 } = n7, l4 = (e2) => r4.getPropertyValue(e2), c3 = it(l4), a3 = e({}, o4, { writingAxis: c3.writingAxis });
6939
+ const { context: o4, conditions: s3 } = n7, l3 = (e2) => r4.getPropertyValue(e2), c3 = it(l3), a3 = e({}, o4, { writingAxis: c3.writingAxis });
6940
6940
  let f3 = s3, p4 = false, y3 = c3.displayFlags;
6941
6941
  0 == (1 & n7.displayFlags) && (y3 = 0);
6942
6942
  const { containerType: h3, containerNames: v2 } = c3;
6943
6943
  if (h3 > 0) {
6944
6944
  const e2 = h3 > 0 && 2 == (2 & y3), n8 = new Map(s3.map((e3) => [e3[0].value, e3[1]]));
6945
6945
  if (f3 = [], p4 = true, e2) {
6946
- const e3 = ct(l4);
6946
+ const e3 = ct(l3);
6947
6947
  a3.fontSize = e3.fontSize;
6948
6948
  const r5 = function(e4, t2) {
6949
6949
  const n9 = { value: t2.width }, r6 = { value: t2.height };
@@ -6965,8 +6965,8 @@ ${t4.join("\n")}`);
6965
6965
  const o6 = i(e5.condition, { sizeFeatures: r7, treeContext: n9.treeContext });
6966
6966
  return 5 === o6.type ? o6.value : null;
6967
6967
  }(r6, u5) : null;
6968
- var l5;
6969
- return null == s4 ? 1 === ((null != (l5 = n8.get(e4)) ? l5 : 0) && 1) : true === s4;
6968
+ var l4;
6969
+ return null == s4 ? 1 === ((null != (l4 = n8.get(e4)) ? l4 : 0) && 1) : true === s4;
6970
6970
  }, y4 = (e4, t2) => {
6971
6971
  let n9 = e4.get(t2);
6972
6972
  if (null == n9) {
@@ -7002,7 +7002,7 @@ ${t4.join("\n")}`);
7002
7002
  A2(e2);
7003
7003
  p3.connected();
7004
7004
  }, disconnect() {
7005
- n3 instanceof Element && (l3.unobserve(n3), n3.removeAttribute(v), n3.removeAttribute(d)), z2 && (z2.removeProperty(g), z2.removeProperty(b), z2.removeProperty(m), z2.removeProperty(w));
7005
+ n3 instanceof Element && (l2.unobserve(n3), n3.removeAttribute(v), n3.removeAttribute(d)), z2 && (z2.removeProperty(g), z2.removeProperty(b), z2.removeProperty(m), z2.removeProperty(w));
7006
7006
  for (let e2 = n3.firstChild; null != e2; e2 = e2.nextSibling) {
7007
7007
  const t2 = r2(e2);
7008
7008
  null == t2 || t2.disconnect();
@@ -7013,12 +7013,12 @@ ${t4.join("\n")}`);
7013
7013
  if (r3) {
7014
7014
  if (h2(n3, e2, d), h2(n3, t2, v), n3 instanceof Element) {
7015
7015
  const e3 = x3 || t2.isQueryContainer;
7016
- e3 && !L2 ? (l3.observe(n3), L2 = true) : !e3 && L2 && (l3.unobserve(n3), L2 = false);
7016
+ e3 && !L2 ? (l2.observe(n3), L2 = true) : !e3 && L2 && (l2.unobserve(n3), L2 = false);
7017
7017
  }
7018
7018
  if (z2) {
7019
7019
  const n4 = t2.context, r4 = n4.writingAxis;
7020
- let u3 = null, o3 = null, s3 = null, l4 = null;
7021
- (r4 !== e2.context.writingAxis || t2.isQueryContainer) && (u3 = `var(${0 === r4 ? m : w})`, o3 = `var(${1 === r4 ? m : w})`), e2 && !t2.isQueryContainer || (n4.cqw && (s3 = n4.cqw + "px"), n4.cqh && (l4 = n4.cqh + "px")), at(z2, g, u3), at(z2, b, o3), at(z2, m, s3), at(z2, w, l4);
7020
+ let u3 = null, o3 = null, s3 = null, l3 = null;
7021
+ (r4 !== e2.context.writingAxis || t2.isQueryContainer) && (u3 = `var(${0 === r4 ? m : w})`, o3 = `var(${1 === r4 ? m : w})`), e2 && !t2.isQueryContainer || (n4.cqw && (s3 = n4.cqw + "px"), n4.cqh && (l3 = n4.cqh + "px")), at(z2, g, u3), at(z2, b, o3), at(z2, m, s3), at(z2, w, l3);
7022
7022
  }
7023
7023
  p3.updated();
7024
7024
  }
@@ -8765,7 +8765,7 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
8765
8765
  const method = Array.prototype[key];
8766
8766
  arrayInstrumentations[key] = function(...args) {
8767
8767
  const arr = toRaw(this);
8768
- for (let i2 = 0, l3 = this.length; i2 < l3; i2++) {
8768
+ for (let i2 = 0, l2 = this.length; i2 < l2; i2++) {
8769
8769
  track(arr, "get", i2 + "");
8770
8770
  }
8771
8771
  const res = method.apply(arr, args);
@@ -10443,7 +10443,7 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
10443
10443
  let evaluate2 = evaluateLater2(expression);
10444
10444
  let options = {
10445
10445
  rootMargin: getRootMargin(modifiers),
10446
- threshold: getThreshold(modifiers)
10446
+ threshold: getThreshhold(modifiers)
10447
10447
  };
10448
10448
  let observer2 = new IntersectionObserver((entries) => {
10449
10449
  entries.forEach((entry) => {
@@ -10459,7 +10459,7 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
10459
10459
  });
10460
10460
  });
10461
10461
  }
10462
- function getThreshold(modifiers) {
10462
+ function getThreshhold(modifiers) {
10463
10463
  if (modifiers.includes("full"))
10464
10464
  return 0.99;
10465
10465
  if (modifiers.includes("half"))
@@ -10621,9 +10621,7 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
10621
10621
  return "-";
10622
10622
  if (/^\D+$/.test(input))
10623
10623
  return "9";
10624
- if (thousands === null || thousands === void 0) {
10625
- thousands = delimiter === "," ? "." : ",";
10626
- }
10624
+ thousands = thousands != null ? thousands : delimiter === "," ? "." : ",";
10627
10625
  let addThousands = (input2, thousands2) => {
10628
10626
  let output = "";
10629
10627
  let counter = 0;
@@ -10657,7 +10655,7 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
10657
10655
  }
10658
10656
  var module_default5 = src_default5;
10659
10657
 
10660
- // ../../../node_modules/@alpinejs/focus/dist/module.esm.js
10658
+ // ../../../node_modules/tabbable/dist/index.esm.js
10661
10659
  var candidateSelectors = ["input", "select", "textarea", "a[href]", "button", "[tabindex]:not(slot)", "audio[controls]", "video[controls]", '[contenteditable]:not([contenteditable="false"])', "details>summary:first-of-type", "details"];
10662
10660
  var candidateSelector = /* @__PURE__ */ candidateSelectors.join(",");
10663
10661
  var NoElement = typeof Element === "undefined";
@@ -10931,6 +10929,8 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
10931
10929
  }
10932
10930
  return isNodeMatchingSelectorFocusable(options, node);
10933
10931
  };
10932
+
10933
+ // ../../../node_modules/focus-trap/dist/focus-trap.esm.js
10934
10934
  function ownKeys2(object, enumerableOnly) {
10935
10935
  var keys = Object.keys(object);
10936
10936
  if (Object.getOwnPropertySymbols) {
@@ -11452,6 +11452,8 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
11452
11452
  trap.updateContainerElements(elements);
11453
11453
  return trap;
11454
11454
  };
11455
+
11456
+ // ../../../node_modules/@alpinejs/focus/dist/module.esm.js
11455
11457
  function src_default6(Alpine3) {
11456
11458
  let lastFocused;
11457
11459
  let currentFocused;
@@ -11655,22 +11657,6 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
11655
11657
  }
11656
11658
  var module_default6 = src_default6;
11657
11659
 
11658
- // ../../../node_modules/alpinejs-tash/dist/tash.esm.js
11659
- function l2(s2) {
11660
- s2.directive("tash", (r2, { modifiers: c2, expression: a2 }, { evaluate: u2, effect: m2 }) => {
11661
- let p2 = (e2) => new RegExp(`${d2}${e2}${f2}`, "g"), i2 = c2.includes("vue"), o2 = c2.includes("angular"), d2 = i2 ? "{{ " : o2 ? "{{" : "{", f2 = i2 ? " }}" : o2 ? "}}" : "}", g2 = a2.split(",").map((e2) => e2.trim()), t2 = document.createElement("template");
11662
- t2.innerHTML = r2.innerHTML;
11663
- let n2 = `${t2.innerHTML}`;
11664
- m2(() => {
11665
- g2.forEach((e2) => {
11666
- let H2 = u2(e2), h2 = p2(e2);
11667
- n2 = n2.replace(h2, H2);
11668
- }), r2.innerHTML = n2, n2 = t2.innerHTML;
11669
- });
11670
- });
11671
- }
11672
- var M2 = l2;
11673
-
11674
11660
  // helpers/alpine.js
11675
11661
  function registerComponents(components) {
11676
11662
  document.addEventListener("alpine:init", () => {
@@ -15091,7 +15077,6 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
15091
15077
 
15092
15078
  // libs/alpine/index.js
15093
15079
  window.Alpine = module_default;
15094
- module_default.plugin(M2);
15095
15080
  module_default.plugin(module_default5);
15096
15081
  module_default.plugin(module_default6);
15097
15082
  module_default.plugin(module_default2);
@@ -15394,7 +15379,7 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
15394
15379
 
15395
15380
  // helpers/location.js
15396
15381
  function navigateTo(url, options = {}) {
15397
- if (window.Turbo && options.turbo !== false) {
15382
+ if (window.Turbo && options.turbo === true) {
15398
15383
  delete options.turbo;
15399
15384
  turboOptions = Object.assign({ action: "advance" }, options);
15400
15385
  window.Turbo.visit(url, turboOptions);
@@ -15586,19 +15571,15 @@ lodash/lodash.js:
15586
15571
  * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
15587
15572
  *)
15588
15573
 
15589
- @alpinejs/focus/dist/module.esm.js:
15590
- (*! Bundled license information:
15591
-
15592
- tabbable/dist/index.esm.js:
15593
- (*!
15594
- * tabbable 5.3.3
15595
- * @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE
15596
- *)
15597
-
15598
- focus-trap/dist/focus-trap.esm.js:
15599
- (*!
15600
- * focus-trap 6.9.4
15601
- * @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE
15602
- *)
15574
+ tabbable/dist/index.esm.js:
15575
+ (*!
15576
+ * tabbable 5.3.3
15577
+ * @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE
15578
+ *)
15579
+
15580
+ focus-trap/dist/focus-trap.esm.js:
15581
+ (*!
15582
+ * focus-trap 6.9.4
15583
+ * @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE
15603
15584
  *)
15604
15585
  */
@@ -1,5 +1,5 @@
1
1
  function navigateTo(url, options = {}) {
2
- if (window.Turbo && options.turbo !== false) {
2
+ if (window.Turbo && options.turbo === true) {
3
3
  delete options.turbo;
4
4
  turboOptions = Object.assign({ action: "advance" }, options);
5
5
  window.Turbo.visit(url, turboOptions);
@@ -5,7 +5,6 @@ import collapse from "@alpinejs/collapse";
5
5
  import intersect from "@alpinejs/intersect";
6
6
  import mask from "@alpinejs/mask";
7
7
  import focus from "@alpinejs/focus";
8
- import tash from "alpinejs-tash";
9
8
 
10
9
  import undo from "@assets/js/libs/alpine/directives/undo";
11
10
  import options from "@assets/js/libs/alpine/directives/options";
@@ -19,7 +18,6 @@ window.Alpine = Alpine;
19
18
 
20
19
  // Third party plugins
21
20
 
22
- Alpine.plugin(tash);
23
21
  Alpine.plugin(mask);
24
22
  Alpine.plugin(focus);
25
23
  Alpine.plugin(morph);
@@ -5,5 +5,5 @@
5
5
  <label class="nav-item-label">
6
6
  <%= label %>
7
7
  </label>
8
- <%= tag.template(menu, id: menu_id, "x-ref": "menu") if menu? %>
8
+ <%= tag.template(menu, id: menu_id) if menu? %>
9
9
  <% end %>
@@ -4,30 +4,45 @@ import { CocoComponent } from "@js/coco";
4
4
  export default CocoComponent("appSidebarNavItem", () => {
5
5
  return {
6
6
  menu: null,
7
+ menuObserver: null,
7
8
  active: false,
8
9
 
9
10
  init() {
10
- if (this.$refs.menu) {
11
- this.menu = tippy(this.$el, {
12
- theme: "coco-naked-dropdown",
13
- placement: this.menuPlacement,
14
- arrow: false,
15
- offset: [0, 0],
16
- trigger: "click",
17
- interactive: true,
18
- maxWidth: null,
19
- onShow: () => {
20
- this.active = true;
21
- },
22
- onHide: () => {
23
- this.active = false;
24
- },
25
- content: () => this.$refs.menu.innerHTML,
26
- });
11
+ if (this.menuTemplate) {
12
+ this.initMenu();
13
+ this.observeMenuForChanges();
27
14
  }
28
15
 
29
- this.$watch("mobileLayout", () => {
30
- this.onOrientationChange();
16
+ this.$watch("mobileLayout", () => this.onOrientationChange());
17
+ },
18
+
19
+ initMenu() {
20
+ this.menu = tippy(this.$root, {
21
+ theme: "coco-naked-dropdown",
22
+ placement: this.menuPlacement,
23
+ arrow: false,
24
+ offset: [0, 0],
25
+ trigger: "click",
26
+ interactive: true,
27
+ maxWidth: null,
28
+ onShow: () => {
29
+ this.active = true;
30
+ },
31
+ onHide: () => {
32
+ this.active = false;
33
+ },
34
+ content: () => this.menuTemplate.innerHTML,
35
+ });
36
+ },
37
+
38
+ observeMenuForChanges() {
39
+ this.menuObserver = new MutationObserver((mutations) => {
40
+ this.$nextTick(() => this.menu.setContent(this.menuTemplate.innerHTML));
41
+ });
42
+
43
+ this.menuObserver.observe(this.$root, {
44
+ subtree: true,
45
+ childList: true,
31
46
  });
32
47
  },
33
48
 
@@ -39,11 +54,25 @@ export default CocoComponent("appSidebarNavItem", () => {
39
54
  }
40
55
  },
41
56
 
57
+ destroy() {
58
+ if (this.menuObserver) {
59
+ this.menuObserver.disconnect();
60
+ }
61
+ },
62
+
42
63
  root: {
43
- "@click": "if (menu) $event.preventDefault()",
64
+ ["@turbo:load.document"]() {
65
+ if (this.menu) {
66
+ this.menu.hide();
67
+ }
68
+ },
44
69
  ":class": "{active}",
45
70
  },
46
71
 
72
+ get menuTemplate() {
73
+ return this.$root.querySelector("template");
74
+ },
75
+
47
76
  get menuPlacement() {
48
77
  return this.mobileLayout ? "top" : "right-start";
49
78
  },
@@ -1,4 +1,3 @@
1
- import tippy from "@libs/tippy";
2
1
  import { CocoComponent } from "@js/coco";
3
2
  import { navigateTo } from "@helpers/location";
4
3
 
data/lib/coco.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Coco
2
- VERSION = "0.8.3"
2
+ VERSION = "0.8.4"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: coveragebook_components
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.3
4
+ version: 0.8.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mark Perkins
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-10-29 00:00:00.000000000 Z
11
+ date: 2023-11-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails