coveragebook_components 0.8.2 → 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.
Files changed (73) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/build/coco/app.css +445 -308
  3. data/app/assets/build/coco/app.js +631 -397
  4. data/app/assets/build/coco/book.css +18 -4
  5. data/app/assets/build/coco/book.js +408 -224
  6. data/app/assets/build/coco/icons/armchair.svg +1 -1
  7. data/app/assets/build/coco/icons/folder-archive.svg +1 -1
  8. data/app/assets/build/coco/icons/folder-check.svg +1 -1
  9. data/app/assets/build/coco/icons/folder-clock.svg +1 -1
  10. data/app/assets/build/coco/icons/folder-closed.svg +1 -1
  11. data/app/assets/build/coco/icons/folder-cog.svg +1 -1
  12. data/app/assets/build/coco/icons/folder-down.svg +1 -1
  13. data/app/assets/build/coco/icons/folder-edit.svg +1 -1
  14. data/app/assets/build/coco/icons/folder-git.svg +1 -1
  15. data/app/assets/build/coco/icons/folder-heart.svg +1 -1
  16. data/app/assets/build/coco/icons/folder-input.svg +1 -1
  17. data/app/assets/build/coco/icons/folder-key.svg +1 -1
  18. data/app/assets/build/coco/icons/folder-lock.svg +1 -1
  19. data/app/assets/build/coco/icons/folder-minus.svg +1 -1
  20. data/app/assets/build/coco/icons/folder-open.svg +1 -1
  21. data/app/assets/build/coco/icons/folder-plus.svg +1 -1
  22. data/app/assets/build/coco/icons/folder-search-2.svg +1 -1
  23. data/app/assets/build/coco/icons/folder-search.svg +1 -1
  24. data/app/assets/build/coco/icons/folder-tree.svg +1 -1
  25. data/app/assets/build/coco/icons/folder-up.svg +1 -1
  26. data/app/assets/build/coco/icons/folder-x.svg +1 -1
  27. data/app/assets/build/coco/icons/folder.svg +1 -1
  28. data/app/assets/build/coco/icons/folders.svg +1 -1
  29. data/app/assets/build/coco/icons/git-commit-vertical.svg +1 -0
  30. data/app/assets/build/coco/icons/git-compare-arrows.svg +1 -0
  31. data/app/assets/build/coco/icons/git-fork.svg +1 -1
  32. data/app/assets/build/coco/icons/git-graph.svg +1 -0
  33. data/app/assets/build/coco/icons/git-pull-request-arrow.svg +1 -0
  34. data/app/assets/build/coco/icons/git-pull-request-closed.svg +1 -1
  35. data/app/assets/build/coco/icons/git-pull-request-create-arrow.svg +1 -0
  36. data/app/assets/build/coco/icons/git-pull-request-create.svg +1 -0
  37. data/app/assets/build/coco/icons/power-circle.svg +1 -0
  38. data/app/assets/build/coco/icons/power-square.svg +1 -0
  39. data/app/assets/build/coco/icons/power.svg +1 -1
  40. data/app/assets/js/helpers/location.js +1 -1
  41. data/app/assets/js/libs/alpine/index.js +0 -2
  42. data/app/components/coco/app/blocks/sidebar_nav/item/item.css +121 -0
  43. data/app/components/coco/app/blocks/sidebar_nav/item/item.html.erb +9 -0
  44. data/app/components/coco/app/blocks/sidebar_nav/item/item.js +80 -0
  45. data/app/components/coco/app/blocks/sidebar_nav/item/item.rb +50 -0
  46. data/app/components/coco/app/blocks/sidebar_nav/menu/menu.css +138 -0
  47. data/app/components/coco/app/blocks/sidebar_nav/menu/menu.html.erb +24 -0
  48. data/app/components/coco/app/blocks/sidebar_nav/menu/menu.js +12 -0
  49. data/app/components/coco/app/blocks/sidebar_nav/menu/menu.rb +48 -0
  50. data/app/components/coco/app/blocks/sidebar_nav/navbar/navbar.css +75 -0
  51. data/app/components/coco/app/blocks/sidebar_nav/navbar/navbar.html.erb +29 -0
  52. data/app/components/coco/app/blocks/sidebar_nav/navbar/navbar.rb +50 -0
  53. data/app/components/coco/base/icon/icon.rb +1 -0
  54. data/app/components/coco/component.rb +2 -2
  55. data/app/helpers/coco/app_helper.rb +5 -1
  56. data/app/helpers/coco/book_helper.rb +4 -4
  57. data/app/helpers/coco/component_helper.rb +2 -2
  58. data/app/helpers/coco/integration_helper.rb +4 -4
  59. data/config/icons.json +9 -1
  60. data/config/tokens.cjs +6 -0
  61. data/lib/coco/options/group.rb +9 -9
  62. data/lib/coco/test_helpers.rb +2 -2
  63. data/lib/coco.rb +1 -1
  64. metadata +23 -11
  65. data/app/components/coco/app/blocks/sidebar_nav/sidebar_nav.css +0 -110
  66. data/app/components/coco/app/blocks/sidebar_nav/sidebar_nav.html.erb +0 -42
  67. data/app/components/coco/app/blocks/sidebar_nav/sidebar_nav.rb +0 -28
  68. data/app/components/coco/app/blocks/sidebar_nav_item/sidebar_nav_item.css +0 -153
  69. data/app/components/coco/app/blocks/sidebar_nav_item/sidebar_nav_item.html.erb +0 -45
  70. data/app/components/coco/app/blocks/sidebar_nav_item/sidebar_nav_item.js +0 -44
  71. data/app/components/coco/app/blocks/sidebar_nav_item/sidebar_nav_item.rb +0 -108
  72. /data/app/assets/build/coco/icons/{git-commit.svg → git-commit-horizontal.svg} +0 -0
  73. /data/app/components/coco/app/blocks/sidebar_nav/{sidebar_nav.js → navbar/navbar.js} +0 -0
@@ -6154,6 +6154,12 @@
6154
6154
  xl: "1200px",
6155
6155
  "2xl": "1400px",
6156
6156
  max: "1800px",
6157
+ "max-sm": { max: "576px" },
6158
+ "max-md": { max: "768px" },
6159
+ "max-lg": { max: "992px" },
6160
+ "max-xl": { max: "1200px" },
6161
+ "max-2xl": { max: "1400px" },
6162
+ "max-max": { max: "1800px" },
6157
6163
  letterbox: { raw: "(max-height: 760px) and (min-width: 576px)" },
6158
6164
  print: { raw: "print" }
6159
6165
  // Note: PDFs are rendered at a viewport width of 1280px
@@ -6350,7 +6356,7 @@
6350
6356
  }
6351
6357
  function __spreadArray(to, from, pack2) {
6352
6358
  if (pack2 || arguments.length === 2)
6353
- for (var i4 = 0, l3 = from.length, ar; i4 < l3; i4++) {
6359
+ for (var i4 = 0, l2 = from.length, ar; i4 < l2; i4++) {
6354
6360
  if (ar || !(i4 in from)) {
6355
6361
  if (!ar)
6356
6362
  ar = Array.prototype.slice.call(from, 0, i4);
@@ -7990,13 +7996,13 @@
7990
7996
  var hue = tokens2[0], saturation = tokens2[1], lightness = tokens2[2], alpha = tokens2[3];
7991
7997
  var h3 = (hue.type === 17 ? deg(hue.number) : angle.parse(context, hue)) / (Math.PI * 2);
7992
7998
  var s3 = isLengthPercentage(saturation) ? saturation.number / 100 : 0;
7993
- var l3 = isLengthPercentage(lightness) ? lightness.number / 100 : 0;
7999
+ var l2 = isLengthPercentage(lightness) ? lightness.number / 100 : 0;
7994
8000
  var a4 = typeof alpha !== "undefined" && isLengthPercentage(alpha) ? getAbsoluteValue(alpha, 1) : 1;
7995
8001
  if (s3 === 0) {
7996
- return pack(l3 * 255, l3 * 255, l3 * 255, 1);
8002
+ return pack(l2 * 255, l2 * 255, l2 * 255, 1);
7997
8003
  }
7998
- var t22 = l3 <= 0.5 ? l3 * (s3 + 1) : l3 + s3 - l3 * s3;
7999
- var t1 = l3 * 2 - t22;
8004
+ var t22 = l2 <= 0.5 ? l2 * (s3 + 1) : l2 + s3 - l2 * s3;
8005
+ var t1 = l2 * 2 - t22;
8000
8006
  var r3 = hue2rgb(t1, t22, h3 + 1 / 3);
8001
8007
  var g3 = hue2rgb(t1, t22, h3);
8002
8008
  var b3 = hue2rgb(t1, t22, h3 - 1 / 3);
@@ -14038,7 +14044,7 @@
14038
14044
  var package_default = {
14039
14045
  name: "coveragebook-components",
14040
14046
  type: "module",
14041
- version: "0.8.2",
14047
+ version: "0.8.4",
14042
14048
  main: "index.js",
14043
14049
  repository: "git@github.com:coveragebook/coco.git",
14044
14050
  author: "Mark Perkins <mark@coveragebook.com>",
@@ -14047,45 +14053,42 @@
14047
14053
  "defaults"
14048
14054
  ],
14049
14055
  dependencies: {
14050
- "@alpinejs/collapse": "^3.11.1",
14051
- "@alpinejs/focus": "^3.11.1",
14052
- "@alpinejs/intersect": "^3.11.1",
14053
- "@alpinejs/mask": "^3.12.0",
14054
- "@alpinejs/morph": "^3.11.1",
14056
+ "@alpinejs/collapse": "3.12.1",
14057
+ "@alpinejs/focus": "3.12.1",
14058
+ "@alpinejs/intersect": "3.12.1",
14059
+ "@alpinejs/mask": "3.12.1",
14060
+ "@alpinejs/morph": "3.12.1",
14055
14061
  "@jaames/iro": "^5.5.2",
14056
14062
  "@tailwindcss/container-queries": "^0.1.0",
14057
- "@tailwindcss/forms": "^0.5.3",
14058
- alpinejs: "^3.11.1",
14063
+ "@tailwindcss/forms": "^0.5.6",
14064
+ alpinejs: "3.12.2",
14059
14065
  "container-query-polyfill": "^1.0.2",
14060
- del: "^7.0.0",
14066
+ del: "^7.1.0",
14061
14067
  html2canvas: "^1.4.1",
14062
14068
  "js-cookie": "^3.0.5",
14063
14069
  lodash: "^4.17.21",
14064
- "lucide-static": "^0.288.0",
14065
- tailwindcss: "^3.3.0",
14070
+ "lucide-static": "^0.290.0",
14071
+ tailwindcss: "^3.3.5",
14066
14072
  "tippy.js": "^6.3.7"
14067
14073
  },
14068
14074
  devDependencies: {
14069
- "@percy/cli": "^1.26.1",
14070
- "alias-hq": "^6.1.0",
14071
- "alpinejs-tash": "^1.0.9",
14072
- autoprefixer: "^10.4.13",
14075
+ "@percy/cli": "^1.27.3",
14076
+ "alias-hq": "^6.2.2",
14077
+ autoprefixer: "^10.4.16",
14073
14078
  esbuild: "^0.17.10",
14074
14079
  "esbuild-plugin-copy": "^2.0.2",
14075
- "fast-glob": "^3.2.12",
14080
+ "fast-glob": "^3.3.1",
14076
14081
  "fast-sort": "^3.2.1",
14077
14082
  husky: "^8.0.3",
14078
14083
  jest: "^29.4.3",
14079
14084
  "jest-environment-jsdom": "^29.4.3",
14080
- "lint-staged": "^13.1.2",
14081
- postcss: "^8.4.21",
14085
+ "lint-staged": "^15.0.2",
14086
+ postcss: "^8.4.31",
14082
14087
  "postcss-cli": "^10.1.0",
14083
14088
  "postcss-value-parser": "^4.2.0",
14084
14089
  prettier: "^2.8.4",
14085
14090
  "release-it": "^15.10.3",
14086
- svgo: "^3.0.2",
14087
- vite: "^4.1.4",
14088
- "vite-plugin-ruby": "^3.1.3"
14091
+ svgo: "^3.0.2"
14089
14092
  },
14090
14093
  scripts: {
14091
14094
  "js:build": "node esbuild.config.js",
@@ -14246,17 +14249,17 @@
14246
14249
  switch (e3.type) {
14247
14250
  case 4:
14248
14251
  return function(e4, t4) {
14249
- const o3 = n(e4.left, t4), s3 = n(e4.right, t4), l3 = e4.operator;
14252
+ const o3 = n(e4.left, t4), s3 = n(e4.right, t4), l2 = e4.operator;
14250
14253
  if (4 === o3.type && 4 === s3.type || 5 === o3.type && 5 === s3.type)
14251
14254
  return function(e5, t5, n3) {
14252
14255
  return 1 === n3 ? r(e5.value === t5.value) : { type: 1 };
14253
- }(o3, s3, l3);
14256
+ }(o3, s3, l2);
14254
14257
  if (3 === o3.type || 3 === s3.type) {
14255
14258
  const e5 = c(o3, t4), n3 = c(s3, t4);
14256
14259
  if (null != e5 && null != n3)
14257
- return u(e5, n3, l3);
14260
+ return u(e5, n3, l2);
14258
14261
  } else if (2 === o3.type && 2 === s3.type)
14259
- return u(o3.value, s3.value, l3);
14262
+ return u(o3.value, s3.value, l2);
14260
14263
  return { type: 1 };
14261
14264
  }(e3, t3);
14262
14265
  case 2:
@@ -14324,7 +14327,7 @@
14324
14327
  const e4 = r4.codePointAt(0);
14325
14328
  n3 && 10 !== e4 && (n3 = false, t3.push(10)), 0 === e4 || e4 >= 55296 && e4 <= 57343 ? t3.push(65533) : 13 === e4 ? n3 = true : t3.push(e4);
14326
14329
  }
14327
- const r3 = q(t3, -1), { at: u3, consume: o3, error: s3, reconsume: l3 } = r3;
14330
+ const r3 = q(t3, -1), { at: u3, consume: o3, error: s3, reconsume: l2 } = r3;
14328
14331
  function c3() {
14329
14332
  return String.fromCodePoint(r3.value);
14330
14333
  }
@@ -14404,7 +14407,7 @@
14404
14407
  if (-1 === n4 || n4 === e4)
14405
14408
  return -1 === n4 && s3(), { type: 2, value: t4 };
14406
14409
  if (E(n4))
14407
- return s3(), l3(), { type: 3 };
14410
+ return s3(), l2(), { type: 3 };
14408
14411
  if (92 === n4) {
14409
14412
  const e5 = u3(1);
14410
14413
  if (-1 === e5)
@@ -14444,7 +14447,7 @@
14444
14447
  e4 += c3();
14445
14448
  else {
14446
14449
  if (!j(t4, u3(1)))
14447
- return l3(), e4;
14450
+ return l2(), e4;
14448
14451
  e4 += v3();
14449
14452
  }
14450
14453
  }
@@ -14475,14 +14478,14 @@
14475
14478
  else if (41 === e4)
14476
14479
  yield { type: 5 };
14477
14480
  else if (43 === e4)
14478
- m3(e4, u3(1), u3(2)) ? (l3(), yield p2()) : yield i3();
14481
+ m3(e4, u3(1), u3(2)) ? (l2(), yield p2()) : yield i3();
14479
14482
  else if (44 === e4)
14480
14483
  yield { type: 6 };
14481
14484
  else if (45 === e4) {
14482
14485
  const t4 = u3(1), n4 = u3(2);
14483
- m3(e4, t4, n4) ? (l3(), yield p2()) : 45 === t4 && 62 === n4 ? (o3(2), yield { type: 19 }) : d3(e4, t4, n4) ? (l3(), yield y3()) : yield i3();
14486
+ m3(e4, t4, n4) ? (l2(), yield p2()) : 45 === t4 && 62 === n4 ? (o3(2), yield { type: 19 }) : d3(e4, t4, n4) ? (l2(), yield y3()) : yield i3();
14484
14487
  } else if (46 === e4)
14485
- m3(e4, u3(1), u3(2)) ? (l3(), yield p2()) : yield i3();
14488
+ m3(e4, u3(1), u3(2)) ? (l2(), yield p2()) : yield i3();
14486
14489
  else if (58 === e4)
14487
14490
  yield { type: 7 };
14488
14491
  else if (59 === e4)
@@ -14498,7 +14501,7 @@
14498
14501
  else if (91 === e4)
14499
14502
  yield { type: 9 };
14500
14503
  else if (92 === e4)
14501
- j(e4, u3(1)) ? (l3(), yield y3()) : (s3(), yield i3());
14504
+ j(e4, u3(1)) ? (l2(), yield y3()) : (s3(), yield i3());
14502
14505
  else if (93 === e4)
14503
14506
  yield { type: 10 };
14504
14507
  else if (123 === e4)
@@ -14506,9 +14509,9 @@
14506
14509
  else if (125 === e4)
14507
14510
  yield { type: 12 };
14508
14511
  else if (k(e4))
14509
- l3(), yield p2();
14512
+ l2(), yield p2();
14510
14513
  else if (L(e4))
14511
- l3(), yield y3();
14514
+ l2(), yield y3();
14512
14515
  else {
14513
14516
  if (-1 === e4)
14514
14517
  return yield { type: 0 }, r3.errorIndices;
@@ -15043,8 +15046,8 @@
15043
15046
  const s3 = J(e5);
15044
15047
  if (s3 === x || !(X(u3) && X(s3) || K(u3) && K(s3)))
15045
15048
  return x;
15046
- const l3 = Y(e5, false), c3 = Z(o3, t5);
15047
- return c3 !== x ? { type: 2, feature: c3, bounds: [[u3, n5], [s3, l3]] } : x;
15049
+ const l2 = Y(e5, false), c3 = Z(o3, t5);
15050
+ return c3 !== x ? { type: 2, feature: c3, bounds: [[u3, n5], [s3, l2]] } : x;
15048
15051
  }(e4, ie);
15049
15052
  if (n4 === x)
15050
15053
  return x;
@@ -15221,14 +15224,14 @@
15221
15224
  if (t4.value) {
15222
15225
  const r3 = $e(t4.prelude);
15223
15226
  if (r3 !== x) {
15224
- const u3 = { rule: r3, selector: null, parent: n4.parent, uid: "c" + Ae++ }, o3 = /* @__PURE__ */ new Set(), s3 = [], l3 = Oe(P(t4.value.value.value), { descriptors: n4.descriptors, parent: u3, transformStyleRule: (t5) => {
15227
+ const u3 = { rule: r3, selector: null, parent: n4.parent, uid: "c" + Ae++ }, o3 = /* @__PURE__ */ new Set(), s3 = [], l2 = Oe(P(t4.value.value.value), { descriptors: n4.descriptors, parent: u3, transformStyleRule: (t5) => {
15225
15228
  const [n5, r4] = function(e3, t6, n6) {
15226
15229
  const r5 = C(e3), u4 = [], o4 = [];
15227
15230
  for (; ; ) {
15228
15231
  if (0 === r5.at(1).type)
15229
15232
  return [u4, o4];
15230
15233
  const n7 = Math.max(0, r5.index);
15231
- for (; l5 = r5.at(1), c3 = r5.at(2), !(Fe(l5) || 7 === l5.type && (7 === c3.type || 24 === c3.type && Me.has(c3.value.toLowerCase()))); )
15234
+ for (; l4 = r5.at(1), c3 = r5.at(2), !(Fe(l4) || 7 === l4.type && (7 === c3.type || 24 === c3.type && Me.has(c3.value.toLowerCase()))); )
15232
15235
  r5.consume(1);
15233
15236
  const i3 = r5.index + 1, a3 = e3.slice(n7, i3), f3 = a3.length > 0 ? Ue(a3) : [ee("*")];
15234
15237
  for (; !Fe(r5.at(1)); )
@@ -15243,13 +15246,13 @@
15243
15246
  }
15244
15247
  u4.push(...f3), o4.push(...y3), o4.push(...h3), o4.push(...p2), r5.consume(1);
15245
15248
  }
15246
- var l5, c3;
15249
+ var l4, c3;
15247
15250
  }(t5.prelude, u3.uid);
15248
15251
  if (s3.length > 0)
15249
15252
  return t5;
15250
- const l4 = n5.map(B).join("");
15253
+ const l3 = n5.map(B).join("");
15251
15254
  try {
15252
- je.matches(l4), o3.add(l4);
15255
+ je.matches(l3), o3.add(l3);
15253
15256
  } catch (e3) {
15254
15257
  }
15255
15258
  return e({}, t5, { prelude: r4 });
@@ -15266,7 +15269,7 @@
15266
15269
 
15267
15270
  ${t5.join("\n")}`);
15268
15271
  }
15269
- return o3.size > 0 && (u3.selector = Array.from(o3).join(", ")), n4.descriptors.push(u3), { type: 25, name: "media", prelude: [ne("all")], value: e({}, t4.value, { value: { type: 3, value: l3 } }) };
15272
+ return o3.size > 0 && (u3.selector = Array.from(o3).join(", ")), n4.descriptors.push(u3), { type: 25, name: "media", prelude: [ne("all")], value: e({}, t4.value, { value: { type: 3, value: l2 } }) };
15270
15273
  }
15271
15274
  }
15272
15275
  return t4;
@@ -15335,8 +15338,8 @@ ${t5.join("\n")}`);
15335
15338
  if ("stylesheet" === t3.rel) {
15336
15339
  const n3 = new URL(t3.href, document.baseURI);
15337
15340
  n3.origin === location.origin && (this.controller = rt(async function(r3) {
15338
- const u3 = await fetch(n3.toString(), { signal: r3 }), o3 = await u3.text(), s3 = e3.styleSheet = await e3.context.registerStyleSheet({ source: o3, url: n3, signal: r3 }), l3 = new Blob([s3.source], { type: "text/css" }), c3 = new Image();
15339
- c3.onload = c3.onerror = s3.refresh, c3.src = t3.href = URL.createObjectURL(l3);
15341
+ const u3 = await fetch(n3.toString(), { signal: r3 }), o3 = await u3.text(), s3 = e3.styleSheet = await e3.context.registerStyleSheet({ source: o3, url: n3, signal: r3 }), l2 = new Blob([s3.source], { type: "text/css" }), c3 = new Image();
15342
+ c3.onload = c3.onerror = s3.refresh, c3.src = t3.href = URL.createObjectURL(l2);
15340
15343
  }));
15341
15344
  }
15342
15345
  }
@@ -15452,7 +15455,7 @@ ${t5.join("\n")}`);
15452
15455
  t3.target.nodeType !== Node.DOCUMENT_NODE && t3.target.nodeType !== Node.DOCUMENT_FRAGMENT_NODE && null === t3.target.parentNode || "attributes" === t3.type && t3.attributeName && (t3.attributeName === v || t3.attributeName === d || t3.target instanceof Element && t3.target.getAttribute(t3.attributeName) === t3.oldValue) || (A3(t3.target).mutate(), S2());
15453
15456
  }
15454
15457
  }).observe(u3, { childList: true, subtree: true, attributes: true, attributeOldValue: true });
15455
- const l3 = new ResizeObserver((e3) => {
15458
+ const l2 = new ResizeObserver((e3) => {
15456
15459
  for (const t3 of e3)
15457
15460
  A3(t3.target).resize();
15458
15461
  A3(u3).update(C3());
@@ -15478,18 +15481,18 @@ ${t5.join("\n")}`);
15478
15481
  }
15479
15482
  }(t3, n4 ? n4.toString() : void 0);
15480
15483
  let s4 = () => {
15481
- }, l4 = () => {
15484
+ }, l3 = () => {
15482
15485
  };
15483
15486
  const c4 = A3(u3);
15484
15487
  let i3 = false;
15485
- return null != r4 && r4.aborted || (l4 = () => {
15488
+ return null != r4 && r4.aborted || (l3 = () => {
15486
15489
  if (!i3) {
15487
15490
  const { sheet: t4 } = e3;
15488
15491
  null != t4 && (pt(t4, o4.descriptors), i3 = true, s4 = () => {
15489
15492
  pt(t4), c4.mutate(), S2();
15490
15493
  }, c4.mutate(), S2());
15491
15494
  }
15492
- }), { source: o4.source, dispose: s4, refresh: l4 };
15495
+ }), { source: o4.source, dispose: s4, refresh: l3 };
15493
15496
  }
15494
15497
  const p2 = { cqw: null, cqh: null };
15495
15498
  function y3({ width: e3, height: t3 }) {
@@ -15506,7 +15509,7 @@ ${t5.join("\n")}`);
15506
15509
  }
15507
15510
  }
15508
15511
  function S2() {
15509
- l3.unobserve(u3), l3.observe(u3);
15512
+ l2.unobserve(u3), l2.observe(u3);
15510
15513
  }
15511
15514
  const x3 = () => {
15512
15515
  const e3 = [];
@@ -15532,14 +15535,14 @@ ${t5.join("\n")}`);
15532
15535
  return (...n7) => {
15533
15536
  if (null == u4 || !De(u4[0], n7)) {
15534
15537
  const o4 = ((n8, u5) => {
15535
- const { context: o5, conditions: s4 } = n8, l4 = (e3) => r5.getPropertyValue(e3), c4 = it(l4), a4 = e({}, o5, { writingAxis: c4.writingAxis });
15538
+ const { context: o5, conditions: s4 } = n8, l3 = (e3) => r5.getPropertyValue(e3), c4 = it(l3), a4 = e({}, o5, { writingAxis: c4.writingAxis });
15536
15539
  let f4 = s4, p4 = false, y4 = c4.displayFlags;
15537
15540
  0 == (1 & n8.displayFlags) && (y4 = 0);
15538
15541
  const { containerType: h4, containerNames: v3 } = c4;
15539
15542
  if (h4 > 0) {
15540
15543
  const e3 = h4 > 0 && 2 == (2 & y4), n9 = new Map(s4.map((e4) => [e4[0].value, e4[1]]));
15541
15544
  if (f4 = [], p4 = true, e3) {
15542
- const e4 = ct(l4);
15545
+ const e4 = ct(l3);
15543
15546
  a4.fontSize = e4.fontSize;
15544
15547
  const r6 = function(e5, t3) {
15545
15548
  const n10 = { value: t3.width }, r7 = { value: t3.height };
@@ -15561,8 +15564,8 @@ ${t5.join("\n")}`);
15561
15564
  const o7 = i(e6.condition, { sizeFeatures: r8, treeContext: n10.treeContext });
15562
15565
  return 5 === o7.type ? o7.value : null;
15563
15566
  }(r7, u6) : null;
15564
- var l5;
15565
- return null == s5 ? 1 === ((null != (l5 = n9.get(e5)) ? l5 : 0) && 1) : true === s5;
15567
+ var l4;
15568
+ return null == s5 ? 1 === ((null != (l4 = n9.get(e5)) ? l4 : 0) && 1) : true === s5;
15566
15569
  }, y5 = (e5, t3) => {
15567
15570
  let n10 = e5.get(t3);
15568
15571
  if (null == n10) {
@@ -15598,7 +15601,7 @@ ${t5.join("\n")}`);
15598
15601
  A3(e3);
15599
15602
  p3.connected();
15600
15603
  }, disconnect() {
15601
- n4 instanceof Element && (l3.unobserve(n4), n4.removeAttribute(v), n4.removeAttribute(d)), z3 && (z3.removeProperty(g), z3.removeProperty(b), z3.removeProperty(m), z3.removeProperty(w));
15604
+ n4 instanceof Element && (l2.unobserve(n4), n4.removeAttribute(v), n4.removeAttribute(d)), z3 && (z3.removeProperty(g), z3.removeProperty(b), z3.removeProperty(m), z3.removeProperty(w));
15602
15605
  for (let e3 = n4.firstChild; null != e3; e3 = e3.nextSibling) {
15603
15606
  const t3 = r3(e3);
15604
15607
  null == t3 || t3.disconnect();
@@ -15609,12 +15612,12 @@ ${t5.join("\n")}`);
15609
15612
  if (r4) {
15610
15613
  if (h3(n4, e3, d), h3(n4, t3, v), n4 instanceof Element) {
15611
15614
  const e4 = x4 || t3.isQueryContainer;
15612
- e4 && !L2 ? (l3.observe(n4), L2 = true) : !e4 && L2 && (l3.unobserve(n4), L2 = false);
15615
+ e4 && !L2 ? (l2.observe(n4), L2 = true) : !e4 && L2 && (l2.unobserve(n4), L2 = false);
15613
15616
  }
15614
15617
  if (z3) {
15615
15618
  const n5 = t3.context, r5 = n5.writingAxis;
15616
- let u4 = null, o4 = null, s4 = null, l4 = null;
15617
- (r5 !== e3.context.writingAxis || t3.isQueryContainer) && (u4 = `var(${0 === r5 ? m : w})`, o4 = `var(${1 === r5 ? m : w})`), e3 && !t3.isQueryContainer || (n5.cqw && (s4 = n5.cqw + "px"), n5.cqh && (l4 = n5.cqh + "px")), at(z3, g, u4), at(z3, b, o4), at(z3, m, s4), at(z3, w, l4);
15619
+ let u4 = null, o4 = null, s4 = null, l3 = null;
15620
+ (r5 !== e3.context.writingAxis || t3.isQueryContainer) && (u4 = `var(${0 === r5 ? m : w})`, o4 = `var(${1 === r5 ? m : w})`), e3 && !t3.isQueryContainer || (n5.cqw && (s4 = n5.cqw + "px"), n5.cqh && (l3 = n5.cqh + "px")), at(z3, g, u4), at(z3, b, o4), at(z3, m, s4), at(z3, w, l3);
15618
15621
  }
15619
15622
  p3.updated();
15620
15623
  }
@@ -17361,7 +17364,7 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
17361
17364
  const method = Array.prototype[key];
17362
17365
  arrayInstrumentations[key] = function(...args) {
17363
17366
  const arr = toRaw(this);
17364
- for (let i3 = 0, l3 = this.length; i3 < l3; i3++) {
17367
+ for (let i3 = 0, l2 = this.length; i3 < l2; i3++) {
17365
17368
  track(arr, "get", i3 + "");
17366
17369
  }
17367
17370
  const res = method.apply(arr, args);
@@ -19103,8 +19106,9 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
19103
19106
  evaluator((value2) => {
19104
19107
  result = typeof value2 === "function" ? value2(input) : value2;
19105
19108
  }, { scope: {
19106
- $input: input,
19107
- $money: formatMoney.bind({ el })
19109
+ // These are "magics" we'll make available to the x-mask:function:
19110
+ "$input": input,
19111
+ "$money": formatMoney.bind({ el })
19108
19112
  } });
19109
19113
  });
19110
19114
  return result;
@@ -19152,7 +19156,13 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
19152
19156
  let unformattedValue = el.value;
19153
19157
  callback();
19154
19158
  let beforeLeftOfCursorBeforeFormatting = unformattedValue.slice(0, cursorPosition);
19155
- let newPosition = buildUp(template, stripDown(template, beforeLeftOfCursorBeforeFormatting)).length;
19159
+ let newPosition = buildUp(
19160
+ template,
19161
+ stripDown(
19162
+ template,
19163
+ beforeLeftOfCursorBeforeFormatting
19164
+ )
19165
+ ).length;
19156
19166
  el.setSelectionRange(newPosition, newPosition);
19157
19167
  }
19158
19168
  function stripDown(template, input) {
@@ -19160,7 +19170,7 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
19160
19170
  let output = "";
19161
19171
  let regexes = {
19162
19172
  "9": /[0-9]/,
19163
- a: /[a-zA-Z]/,
19173
+ "a": /[a-zA-Z]/,
19164
19174
  "*": /[a-zA-Z0-9]/
19165
19175
  };
19166
19176
  let wildcardTemplate = "";
@@ -19244,11 +19254,17 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
19244
19254
  }
19245
19255
  var module_default5 = src_default5;
19246
19256
 
19247
- // ../../../node_modules/@alpinejs/focus/dist/module.esm.js
19248
- var candidateSelectors = ["input", "select", "textarea", "a[href]", "button", "[tabindex]", "audio[controls]", "video[controls]", '[contenteditable]:not([contenteditable="false"])', "details>summary:first-of-type", "details"];
19257
+ // ../../../node_modules/tabbable/dist/index.esm.js
19258
+ 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"];
19249
19259
  var candidateSelector = /* @__PURE__ */ candidateSelectors.join(",");
19250
- var matches = typeof Element === "undefined" ? function() {
19260
+ var NoElement = typeof Element === "undefined";
19261
+ var matches = NoElement ? function() {
19251
19262
  } : Element.prototype.matches || Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;
19263
+ var getRootNode = !NoElement && Element.prototype.getRootNode ? function(element) {
19264
+ return element.getRootNode();
19265
+ } : function(element) {
19266
+ return element.ownerDocument;
19267
+ };
19252
19268
  var getCandidates = function getCandidates2(el, includeContainer, filter) {
19253
19269
  var candidates = Array.prototype.slice.apply(el.querySelectorAll(candidateSelector));
19254
19270
  if (includeContainer && matches.call(el, candidateSelector)) {
@@ -19257,19 +19273,53 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
19257
19273
  candidates = candidates.filter(filter);
19258
19274
  return candidates;
19259
19275
  };
19260
- var isContentEditable = function isContentEditable2(node) {
19261
- return node.contentEditable === "true";
19262
- };
19263
- var getTabindex = function getTabindex2(node) {
19264
- var tabindexAttr = parseInt(node.getAttribute("tabindex"), 10);
19265
- if (!isNaN(tabindexAttr)) {
19266
- return tabindexAttr;
19267
- }
19268
- if (isContentEditable(node)) {
19269
- return 0;
19276
+ var getCandidatesIteratively = function getCandidatesIteratively2(elements, includeContainer, options) {
19277
+ var candidates = [];
19278
+ var elementsToCheck = Array.from(elements);
19279
+ while (elementsToCheck.length) {
19280
+ var element = elementsToCheck.shift();
19281
+ if (element.tagName === "SLOT") {
19282
+ var assigned = element.assignedElements();
19283
+ var content2 = assigned.length ? assigned : element.children;
19284
+ var nestedCandidates = getCandidatesIteratively2(content2, true, options);
19285
+ if (options.flatten) {
19286
+ candidates.push.apply(candidates, nestedCandidates);
19287
+ } else {
19288
+ candidates.push({
19289
+ scope: element,
19290
+ candidates: nestedCandidates
19291
+ });
19292
+ }
19293
+ } else {
19294
+ var validCandidate = matches.call(element, candidateSelector);
19295
+ if (validCandidate && options.filter(element) && (includeContainer || !elements.includes(element))) {
19296
+ candidates.push(element);
19297
+ }
19298
+ var shadowRoot = element.shadowRoot || // check for an undisclosed shadow
19299
+ typeof options.getShadowRoot === "function" && options.getShadowRoot(element);
19300
+ var validShadowRoot = !options.shadowRootFilter || options.shadowRootFilter(element);
19301
+ if (shadowRoot && validShadowRoot) {
19302
+ var _nestedCandidates = getCandidatesIteratively2(shadowRoot === true ? element.children : shadowRoot.children, true, options);
19303
+ if (options.flatten) {
19304
+ candidates.push.apply(candidates, _nestedCandidates);
19305
+ } else {
19306
+ candidates.push({
19307
+ scope: element,
19308
+ candidates: _nestedCandidates
19309
+ });
19310
+ }
19311
+ } else {
19312
+ elementsToCheck.unshift.apply(elementsToCheck, element.children);
19313
+ }
19314
+ }
19270
19315
  }
19271
- if ((node.nodeName === "AUDIO" || node.nodeName === "VIDEO" || node.nodeName === "DETAILS") && node.getAttribute("tabindex") === null) {
19272
- return 0;
19316
+ return candidates;
19317
+ };
19318
+ var getTabindex = function getTabindex2(node, isScope) {
19319
+ if (node.tabIndex < 0) {
19320
+ if ((isScope || /^(AUDIO|VIDEO|DETAILS)$/.test(node.tagName) || node.isContentEditable) && isNaN(parseInt(node.getAttribute("tabindex"), 10))) {
19321
+ return 0;
19322
+ }
19273
19323
  }
19274
19324
  return node.tabIndex;
19275
19325
  };
@@ -19299,7 +19349,7 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
19299
19349
  if (!node.name) {
19300
19350
  return true;
19301
19351
  }
19302
- var radioScope = node.form || node.ownerDocument;
19352
+ var radioScope = node.form || getRootNode(node);
19303
19353
  var queryRadios = function queryRadios2(name) {
19304
19354
  return radioScope.querySelectorAll('input[type="radio"][name="' + name + '"]');
19305
19355
  };
@@ -19323,7 +19373,12 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
19323
19373
  var isNonTabbableRadio = function isNonTabbableRadio2(node) {
19324
19374
  return isRadio(node) && !isTabbableRadio(node);
19325
19375
  };
19326
- var isHidden = function isHidden2(node, displayCheck) {
19376
+ var isZeroArea = function isZeroArea2(node) {
19377
+ var _node$getBoundingClie = node.getBoundingClientRect(), width = _node$getBoundingClie.width, height = _node$getBoundingClie.height;
19378
+ return width === 0 && height === 0;
19379
+ };
19380
+ var isHidden = function isHidden2(node, _ref) {
19381
+ var displayCheck = _ref.displayCheck, getShadowRoot = _ref.getShadowRoot;
19327
19382
  if (getComputedStyle(node).visibility === "hidden") {
19328
19383
  return true;
19329
19384
  }
@@ -19332,31 +19387,43 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
19332
19387
  if (matches.call(nodeUnderDetails, "details:not([open]) *")) {
19333
19388
  return true;
19334
19389
  }
19390
+ var nodeRootHost = getRootNode(node).host;
19391
+ var nodeIsAttached = (nodeRootHost === null || nodeRootHost === void 0 ? void 0 : nodeRootHost.ownerDocument.contains(nodeRootHost)) || node.ownerDocument.contains(node);
19335
19392
  if (!displayCheck || displayCheck === "full") {
19336
- while (node) {
19337
- if (getComputedStyle(node).display === "none") {
19338
- return true;
19393
+ if (typeof getShadowRoot === "function") {
19394
+ var originalNode = node;
19395
+ while (node) {
19396
+ var parentElement = node.parentElement;
19397
+ var rootNode = getRootNode(node);
19398
+ if (parentElement && !parentElement.shadowRoot && getShadowRoot(parentElement) === true) {
19399
+ return isZeroArea(node);
19400
+ } else if (node.assignedSlot) {
19401
+ node = node.assignedSlot;
19402
+ } else if (!parentElement && rootNode !== node.ownerDocument) {
19403
+ node = rootNode.host;
19404
+ } else {
19405
+ node = parentElement;
19406
+ }
19339
19407
  }
19340
- node = node.parentElement;
19408
+ node = originalNode;
19409
+ }
19410
+ if (nodeIsAttached) {
19411
+ return !node.getClientRects().length;
19341
19412
  }
19342
19413
  } else if (displayCheck === "non-zero-area") {
19343
- var _node$getBoundingClie = node.getBoundingClientRect(), width = _node$getBoundingClie.width, height = _node$getBoundingClie.height;
19344
- return width === 0 && height === 0;
19414
+ return isZeroArea(node);
19345
19415
  }
19346
19416
  return false;
19347
19417
  };
19348
19418
  var isDisabledFromFieldset = function isDisabledFromFieldset2(node) {
19349
- if (isInput(node) || node.tagName === "SELECT" || node.tagName === "TEXTAREA" || node.tagName === "BUTTON") {
19419
+ if (/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(node.tagName)) {
19350
19420
  var parentNode = node.parentElement;
19351
19421
  while (parentNode) {
19352
19422
  if (parentNode.tagName === "FIELDSET" && parentNode.disabled) {
19353
19423
  for (var i3 = 0; i3 < parentNode.children.length; i3++) {
19354
19424
  var child = parentNode.children.item(i3);
19355
19425
  if (child.tagName === "LEGEND") {
19356
- if (child.contains(node)) {
19357
- return false;
19358
- }
19359
- return true;
19426
+ return matches.call(parentNode, "fieldset[disabled] *") ? true : !child.contains(node);
19360
19427
  }
19361
19428
  }
19362
19429
  return true;
@@ -19367,44 +19434,89 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
19367
19434
  return false;
19368
19435
  };
19369
19436
  var isNodeMatchingSelectorFocusable = function isNodeMatchingSelectorFocusable2(options, node) {
19370
- if (node.disabled || isHiddenInput(node) || isHidden(node, options.displayCheck) || isDetailsWithSummary(node) || isDisabledFromFieldset(node)) {
19437
+ if (node.disabled || isHiddenInput(node) || isHidden(node, options) || // For a details element with a summary, the summary element gets the focus
19438
+ isDetailsWithSummary(node) || isDisabledFromFieldset(node)) {
19371
19439
  return false;
19372
19440
  }
19373
19441
  return true;
19374
19442
  };
19375
19443
  var isNodeMatchingSelectorTabbable = function isNodeMatchingSelectorTabbable2(options, node) {
19376
- if (!isNodeMatchingSelectorFocusable(options, node) || isNonTabbableRadio(node) || getTabindex(node) < 0) {
19444
+ if (isNonTabbableRadio(node) || getTabindex(node) < 0 || !isNodeMatchingSelectorFocusable(options, node)) {
19377
19445
  return false;
19378
19446
  }
19379
19447
  return true;
19380
19448
  };
19381
- var tabbable = function tabbable2(el, options) {
19382
- options = options || {};
19449
+ var isValidShadowRootTabbable = function isValidShadowRootTabbable2(shadowHostNode) {
19450
+ var tabIndex = parseInt(shadowHostNode.getAttribute("tabindex"), 10);
19451
+ if (isNaN(tabIndex) || tabIndex >= 0) {
19452
+ return true;
19453
+ }
19454
+ return false;
19455
+ };
19456
+ var sortByOrder = function sortByOrder2(candidates) {
19383
19457
  var regularTabbables = [];
19384
19458
  var orderedTabbables = [];
19385
- var candidates = getCandidates(el, options.includeContainer, isNodeMatchingSelectorTabbable.bind(null, options));
19386
- candidates.forEach(function(candidate, i3) {
19387
- var candidateTabindex = getTabindex(candidate);
19459
+ candidates.forEach(function(item, i3) {
19460
+ var isScope = !!item.scope;
19461
+ var element = isScope ? item.scope : item;
19462
+ var candidateTabindex = getTabindex(element, isScope);
19463
+ var elements = isScope ? sortByOrder2(item.candidates) : element;
19388
19464
  if (candidateTabindex === 0) {
19389
- regularTabbables.push(candidate);
19465
+ isScope ? regularTabbables.push.apply(regularTabbables, elements) : regularTabbables.push(element);
19390
19466
  } else {
19391
19467
  orderedTabbables.push({
19392
19468
  documentOrder: i3,
19393
19469
  tabIndex: candidateTabindex,
19394
- node: candidate
19470
+ item,
19471
+ isScope,
19472
+ content: elements
19395
19473
  });
19396
19474
  }
19397
19475
  });
19398
- var tabbableNodes = orderedTabbables.sort(sortOrderedTabbables).map(function(a3) {
19399
- return a3.node;
19400
- }).concat(regularTabbables);
19401
- return tabbableNodes;
19476
+ return orderedTabbables.sort(sortOrderedTabbables).reduce(function(acc, sortable) {
19477
+ sortable.isScope ? acc.push.apply(acc, sortable.content) : acc.push(sortable.content);
19478
+ return acc;
19479
+ }, []).concat(regularTabbables);
19480
+ };
19481
+ var tabbable = function tabbable2(el, options) {
19482
+ options = options || {};
19483
+ var candidates;
19484
+ if (options.getShadowRoot) {
19485
+ candidates = getCandidatesIteratively([el], options.includeContainer, {
19486
+ filter: isNodeMatchingSelectorTabbable.bind(null, options),
19487
+ flatten: false,
19488
+ getShadowRoot: options.getShadowRoot,
19489
+ shadowRootFilter: isValidShadowRootTabbable
19490
+ });
19491
+ } else {
19492
+ candidates = getCandidates(el, options.includeContainer, isNodeMatchingSelectorTabbable.bind(null, options));
19493
+ }
19494
+ return sortByOrder(candidates);
19402
19495
  };
19403
19496
  var focusable = function focusable2(el, options) {
19404
19497
  options = options || {};
19405
- var candidates = getCandidates(el, options.includeContainer, isNodeMatchingSelectorFocusable.bind(null, options));
19498
+ var candidates;
19499
+ if (options.getShadowRoot) {
19500
+ candidates = getCandidatesIteratively([el], options.includeContainer, {
19501
+ filter: isNodeMatchingSelectorFocusable.bind(null, options),
19502
+ flatten: true,
19503
+ getShadowRoot: options.getShadowRoot
19504
+ });
19505
+ } else {
19506
+ candidates = getCandidates(el, options.includeContainer, isNodeMatchingSelectorFocusable.bind(null, options));
19507
+ }
19406
19508
  return candidates;
19407
19509
  };
19510
+ var isTabbable = function isTabbable2(node, options) {
19511
+ options = options || {};
19512
+ if (!node) {
19513
+ throw new Error("No node provided");
19514
+ }
19515
+ if (matches.call(node, candidateSelector) === false) {
19516
+ return false;
19517
+ }
19518
+ return isNodeMatchingSelectorTabbable(options, node);
19519
+ };
19408
19520
  var focusableCandidateSelector = /* @__PURE__ */ candidateSelectors.concat("iframe").join(",");
19409
19521
  var isFocusable = function isFocusable2(node, options) {
19410
19522
  options = options || {};
@@ -19416,33 +19528,26 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
19416
19528
  }
19417
19529
  return isNodeMatchingSelectorFocusable(options, node);
19418
19530
  };
19531
+
19532
+ // ../../../node_modules/focus-trap/dist/focus-trap.esm.js
19419
19533
  function ownKeys2(object, enumerableOnly) {
19420
19534
  var keys = Object.keys(object);
19421
19535
  if (Object.getOwnPropertySymbols) {
19422
19536
  var symbols = Object.getOwnPropertySymbols(object);
19423
- if (enumerableOnly) {
19424
- symbols = symbols.filter(function(sym) {
19425
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
19426
- });
19427
- }
19428
- keys.push.apply(keys, symbols);
19537
+ enumerableOnly && (symbols = symbols.filter(function(sym) {
19538
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
19539
+ })), keys.push.apply(keys, symbols);
19429
19540
  }
19430
19541
  return keys;
19431
19542
  }
19432
19543
  function _objectSpread2(target) {
19433
19544
  for (var i3 = 1; i3 < arguments.length; i3++) {
19434
- var source = arguments[i3] != null ? arguments[i3] : {};
19435
- if (i3 % 2) {
19436
- ownKeys2(Object(source), true).forEach(function(key) {
19437
- _defineProperty(target, key, source[key]);
19438
- });
19439
- } else if (Object.getOwnPropertyDescriptors) {
19440
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
19441
- } else {
19442
- ownKeys2(Object(source)).forEach(function(key) {
19443
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
19444
- });
19445
- }
19545
+ var source = null != arguments[i3] ? arguments[i3] : {};
19546
+ i3 % 2 ? ownKeys2(Object(source), true).forEach(function(key) {
19547
+ _defineProperty(target, key, source[key]);
19548
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys2(Object(source)).forEach(function(key) {
19549
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
19550
+ });
19446
19551
  }
19447
19552
  return target;
19448
19553
  }
@@ -19517,64 +19622,103 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
19517
19622
  }
19518
19623
  return typeof value === "function" ? value.apply(void 0, params) : value;
19519
19624
  };
19625
+ var getActualTarget = function getActualTarget2(event) {
19626
+ return event.target.shadowRoot && typeof event.composedPath === "function" ? event.composedPath()[0] : event.target;
19627
+ };
19520
19628
  var createFocusTrap = function createFocusTrap2(elements, userOptions) {
19521
- var doc = document;
19629
+ var doc = (userOptions === null || userOptions === void 0 ? void 0 : userOptions.document) || document;
19522
19630
  var config = _objectSpread2({
19523
19631
  returnFocusOnDeactivate: true,
19524
19632
  escapeDeactivates: true,
19525
19633
  delayInitialFocus: true
19526
19634
  }, userOptions);
19527
19635
  var state = {
19636
+ // containers given to createFocusTrap()
19637
+ // @type {Array<HTMLElement>}
19528
19638
  containers: [],
19639
+ // list of objects identifying tabbable nodes in `containers` in the trap
19640
+ // NOTE: it's possible that a group has no tabbable nodes if nodes get removed while the trap
19641
+ // is active, but the trap should never get to a state where there isn't at least one group
19642
+ // with at least one tabbable node in it (that would lead to an error condition that would
19643
+ // result in an error being thrown)
19644
+ // @type {Array<{
19645
+ // container: HTMLElement,
19646
+ // tabbableNodes: Array<HTMLElement>, // empty if none
19647
+ // focusableNodes: Array<HTMLElement>, // empty if none
19648
+ // firstTabbableNode: HTMLElement|null,
19649
+ // lastTabbableNode: HTMLElement|null,
19650
+ // nextTabbableNode: (node: HTMLElement, forward: boolean) => HTMLElement|undefined
19651
+ // }>}
19652
+ containerGroups: [],
19653
+ // same order/length as `containers` list
19654
+ // references to objects in `containerGroups`, but only those that actually have
19655
+ // tabbable nodes in them
19656
+ // NOTE: same order as `containers` and `containerGroups`, but __not necessarily__
19657
+ // the same length
19529
19658
  tabbableGroups: [],
19530
19659
  nodeFocusedBeforeActivation: null,
19531
19660
  mostRecentlyFocusedNode: null,
19532
19661
  active: false,
19533
19662
  paused: false,
19663
+ // timer ID for when delayInitialFocus is true and initial focus in this trap
19664
+ // has been delayed during activation
19534
19665
  delayInitialFocusTimer: void 0
19535
19666
  };
19536
19667
  var trap;
19537
19668
  var getOption = function getOption2(configOverrideOptions, optionName, configOptionName) {
19538
19669
  return configOverrideOptions && configOverrideOptions[optionName] !== void 0 ? configOverrideOptions[optionName] : config[configOptionName || optionName];
19539
19670
  };
19540
- var containersContain = function containersContain2(element) {
19541
- return state.containers.some(function(container) {
19542
- return container.contains(element);
19671
+ var findContainerIndex = function findContainerIndex2(element) {
19672
+ return state.containerGroups.findIndex(function(_ref) {
19673
+ var container = _ref.container, tabbableNodes = _ref.tabbableNodes;
19674
+ return container.contains(element) || // fall back to explicit tabbable search which will take into consideration any
19675
+ // web components if the `tabbableOptions.getShadowRoot` option was used for
19676
+ // the trap, enabling shadow DOM support in tabbable (`Node.contains()` doesn't
19677
+ // look inside web components even if open)
19678
+ tabbableNodes.find(function(node) {
19679
+ return node === element;
19680
+ });
19543
19681
  });
19544
19682
  };
19545
19683
  var getNodeForOption = function getNodeForOption2(optionName) {
19546
19684
  var optionValue = config[optionName];
19685
+ if (typeof optionValue === "function") {
19686
+ for (var _len2 = arguments.length, params = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
19687
+ params[_key2 - 1] = arguments[_key2];
19688
+ }
19689
+ optionValue = optionValue.apply(void 0, params);
19690
+ }
19691
+ if (optionValue === true) {
19692
+ optionValue = void 0;
19693
+ }
19547
19694
  if (!optionValue) {
19548
- return null;
19695
+ if (optionValue === void 0 || optionValue === false) {
19696
+ return optionValue;
19697
+ }
19698
+ throw new Error("`".concat(optionName, "` was specified but was not a node, or did not return a node"));
19549
19699
  }
19550
19700
  var node = optionValue;
19551
19701
  if (typeof optionValue === "string") {
19552
19702
  node = doc.querySelector(optionValue);
19553
19703
  if (!node) {
19554
- throw new Error("`".concat(optionName, "` refers to no known node"));
19555
- }
19556
- }
19557
- if (typeof optionValue === "function") {
19558
- node = optionValue();
19559
- if (!node) {
19560
- throw new Error("`".concat(optionName, "` did not return a node"));
19704
+ throw new Error("`".concat(optionName, "` as selector refers to no known node"));
19561
19705
  }
19562
19706
  }
19563
19707
  return node;
19564
19708
  };
19565
19709
  var getInitialFocusNode = function getInitialFocusNode2() {
19566
- var node;
19567
- if (getOption({}, "initialFocus") === false) {
19710
+ var node = getNodeForOption("initialFocus");
19711
+ if (node === false) {
19568
19712
  return false;
19569
19713
  }
19570
- if (getNodeForOption("initialFocus") !== null) {
19571
- node = getNodeForOption("initialFocus");
19572
- } else if (containersContain(doc.activeElement)) {
19573
- node = doc.activeElement;
19574
- } else {
19575
- var firstTabbableGroup = state.tabbableGroups[0];
19576
- var firstTabbableNode = firstTabbableGroup && firstTabbableGroup.firstTabbableNode;
19577
- node = firstTabbableNode || getNodeForOption("fallbackFocus");
19714
+ if (node === void 0) {
19715
+ if (findContainerIndex(doc.activeElement) >= 0) {
19716
+ node = doc.activeElement;
19717
+ } else {
19718
+ var firstTabbableGroup = state.tabbableGroups[0];
19719
+ var firstTabbableNode = firstTabbableGroup && firstTabbableGroup.firstTabbableNode;
19720
+ node = firstTabbableNode || getNodeForOption("fallbackFocus");
19721
+ }
19578
19722
  }
19579
19723
  if (!node) {
19580
19724
  throw new Error("Your focus-trap needs to have at least one focusable element");
@@ -19582,18 +19726,44 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
19582
19726
  return node;
19583
19727
  };
19584
19728
  var updateTabbableNodes = function updateTabbableNodes2() {
19585
- state.tabbableGroups = state.containers.map(function(container) {
19586
- var tabbableNodes = tabbable(container);
19587
- if (tabbableNodes.length > 0) {
19588
- return {
19589
- container,
19590
- firstTabbableNode: tabbableNodes[0],
19591
- lastTabbableNode: tabbableNodes[tabbableNodes.length - 1]
19592
- };
19593
- }
19594
- return void 0;
19595
- }).filter(function(group) {
19596
- return !!group;
19729
+ state.containerGroups = state.containers.map(function(container) {
19730
+ var tabbableNodes = tabbable(container, config.tabbableOptions);
19731
+ var focusableNodes = focusable(container, config.tabbableOptions);
19732
+ return {
19733
+ container,
19734
+ tabbableNodes,
19735
+ focusableNodes,
19736
+ firstTabbableNode: tabbableNodes.length > 0 ? tabbableNodes[0] : null,
19737
+ lastTabbableNode: tabbableNodes.length > 0 ? tabbableNodes[tabbableNodes.length - 1] : null,
19738
+ /**
19739
+ * Finds the __tabbable__ node that follows the given node in the specified direction,
19740
+ * in this container, if any.
19741
+ * @param {HTMLElement} node
19742
+ * @param {boolean} [forward] True if going in forward tab order; false if going
19743
+ * in reverse.
19744
+ * @returns {HTMLElement|undefined} The next tabbable node, if any.
19745
+ */
19746
+ nextTabbableNode: function nextTabbableNode(node) {
19747
+ var forward = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true;
19748
+ var nodeIdx = focusableNodes.findIndex(function(n3) {
19749
+ return n3 === node;
19750
+ });
19751
+ if (nodeIdx < 0) {
19752
+ return void 0;
19753
+ }
19754
+ if (forward) {
19755
+ return focusableNodes.slice(nodeIdx + 1).find(function(n3) {
19756
+ return isTabbable(n3, config.tabbableOptions);
19757
+ });
19758
+ }
19759
+ return focusableNodes.slice(0, nodeIdx).reverse().find(function(n3) {
19760
+ return isTabbable(n3, config.tabbableOptions);
19761
+ });
19762
+ }
19763
+ };
19764
+ });
19765
+ state.tabbableGroups = state.containerGroups.filter(function(group) {
19766
+ return group.tabbableNodes.length > 0;
19597
19767
  });
19598
19768
  if (state.tabbableGroups.length <= 0 && !getNodeForOption("fallbackFocus")) {
19599
19769
  throw new Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times");
@@ -19619,16 +19789,28 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
19619
19789
  }
19620
19790
  };
19621
19791
  var getReturnFocusNode = function getReturnFocusNode2(previousActiveElement) {
19622
- var node = getNodeForOption("setReturnFocus");
19623
- return node ? node : previousActiveElement;
19792
+ var node = getNodeForOption("setReturnFocus", previousActiveElement);
19793
+ return node ? node : node === false ? false : previousActiveElement;
19624
19794
  };
19625
19795
  var checkPointerDown = function checkPointerDown2(e3) {
19626
- if (containersContain(e3.target)) {
19796
+ var target = getActualTarget(e3);
19797
+ if (findContainerIndex(target) >= 0) {
19627
19798
  return;
19628
19799
  }
19629
19800
  if (valueOrHandler(config.clickOutsideDeactivates, e3)) {
19630
19801
  trap.deactivate({
19631
- returnFocus: config.returnFocusOnDeactivate && !isFocusable(e3.target)
19802
+ // if, on deactivation, we should return focus to the node originally-focused
19803
+ // when the trap was activated (or the configured `setReturnFocus` node),
19804
+ // then assume it's also OK to return focus to the outside node that was
19805
+ // just clicked, causing deactivation, as long as that node is focusable;
19806
+ // if it isn't focusable, then return focus to the original node focused
19807
+ // on activation (or the configured `setReturnFocus` node)
19808
+ // NOTE: by setting `returnFocus: false`, deactivate() will do nothing,
19809
+ // which will result in the outside click setting focus to the node
19810
+ // that was clicked, whether it's focusable or not; by setting
19811
+ // `returnFocus: true`, we'll attempt to re-focus the node originally-focused
19812
+ // on activation (or the configured `setReturnFocus` node)
19813
+ returnFocus: config.returnFocusOnDeactivate && !isFocusable(target, config.tabbableOptions)
19632
19814
  });
19633
19815
  return;
19634
19816
  }
@@ -19638,10 +19820,11 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
19638
19820
  e3.preventDefault();
19639
19821
  };
19640
19822
  var checkFocusIn = function checkFocusIn2(e3) {
19641
- var targetContained = containersContain(e3.target);
19642
- if (targetContained || e3.target instanceof Document) {
19823
+ var target = getActualTarget(e3);
19824
+ var targetContained = findContainerIndex(target) >= 0;
19825
+ if (targetContained || target instanceof Document) {
19643
19826
  if (targetContained) {
19644
- state.mostRecentlyFocusedNode = e3.target;
19827
+ state.mostRecentlyFocusedNode = target;
19645
19828
  }
19646
19829
  } else {
19647
19830
  e3.stopImmediatePropagation();
@@ -19649,13 +19832,12 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
19649
19832
  }
19650
19833
  };
19651
19834
  var checkTab = function checkTab2(e3) {
19835
+ var target = getActualTarget(e3);
19652
19836
  updateTabbableNodes();
19653
19837
  var destinationNode = null;
19654
19838
  if (state.tabbableGroups.length > 0) {
19655
- var containerIndex = findIndex(state.tabbableGroups, function(_ref) {
19656
- var container = _ref.container;
19657
- return container.contains(e3.target);
19658
- });
19839
+ var containerIndex = findContainerIndex(target);
19840
+ var containerGroup = containerIndex >= 0 ? state.containerGroups[containerIndex] : void 0;
19659
19841
  if (containerIndex < 0) {
19660
19842
  if (e3.shiftKey) {
19661
19843
  destinationNode = state.tabbableGroups[state.tabbableGroups.length - 1].lastTabbableNode;
@@ -19665,9 +19847,9 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
19665
19847
  } else if (e3.shiftKey) {
19666
19848
  var startOfGroupIndex = findIndex(state.tabbableGroups, function(_ref2) {
19667
19849
  var firstTabbableNode = _ref2.firstTabbableNode;
19668
- return e3.target === firstTabbableNode;
19850
+ return target === firstTabbableNode;
19669
19851
  });
19670
- if (startOfGroupIndex < 0 && state.tabbableGroups[containerIndex].container === e3.target) {
19852
+ if (startOfGroupIndex < 0 && (containerGroup.container === target || isFocusable(target, config.tabbableOptions) && !isTabbable(target, config.tabbableOptions) && !containerGroup.nextTabbableNode(target, false))) {
19671
19853
  startOfGroupIndex = containerIndex;
19672
19854
  }
19673
19855
  if (startOfGroupIndex >= 0) {
@@ -19678,9 +19860,9 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
19678
19860
  } else {
19679
19861
  var lastOfGroupIndex = findIndex(state.tabbableGroups, function(_ref3) {
19680
19862
  var lastTabbableNode = _ref3.lastTabbableNode;
19681
- return e3.target === lastTabbableNode;
19863
+ return target === lastTabbableNode;
19682
19864
  });
19683
- if (lastOfGroupIndex < 0 && state.tabbableGroups[containerIndex].container === e3.target) {
19865
+ if (lastOfGroupIndex < 0 && (containerGroup.container === target || isFocusable(target, config.tabbableOptions) && !isTabbable(target, config.tabbableOptions) && !containerGroup.nextTabbableNode(target))) {
19684
19866
  lastOfGroupIndex = containerIndex;
19685
19867
  }
19686
19868
  if (lastOfGroupIndex >= 0) {
@@ -19698,7 +19880,7 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
19698
19880
  }
19699
19881
  };
19700
19882
  var checkKey = function checkKey2(e3) {
19701
- if (isEscapeEvent(e3) && valueOrHandler(config.escapeDeactivates) !== false) {
19883
+ if (isEscapeEvent(e3) && valueOrHandler(config.escapeDeactivates, e3) !== false) {
19702
19884
  e3.preventDefault();
19703
19885
  trap.deactivate();
19704
19886
  return;
@@ -19709,10 +19891,11 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
19709
19891
  }
19710
19892
  };
19711
19893
  var checkClick = function checkClick2(e3) {
19712
- if (valueOrHandler(config.clickOutsideDeactivates, e3)) {
19894
+ var target = getActualTarget(e3);
19895
+ if (findContainerIndex(target) >= 0) {
19713
19896
  return;
19714
19897
  }
19715
- if (containersContain(e3.target)) {
19898
+ if (valueOrHandler(config.clickOutsideDeactivates, e3)) {
19716
19899
  return;
19717
19900
  }
19718
19901
  if (valueOrHandler(config.allowOutsideClick, e3)) {
@@ -19760,6 +19943,12 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
19760
19943
  return trap;
19761
19944
  };
19762
19945
  trap = {
19946
+ get active() {
19947
+ return state.active;
19948
+ },
19949
+ get paused() {
19950
+ return state.paused;
19951
+ },
19763
19952
  activate: function activate(activateOptions) {
19764
19953
  if (state.active) {
19765
19954
  return this;
@@ -19796,19 +19985,24 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
19796
19985
  if (!state.active) {
19797
19986
  return this;
19798
19987
  }
19988
+ var options = _objectSpread2({
19989
+ onDeactivate: config.onDeactivate,
19990
+ onPostDeactivate: config.onPostDeactivate,
19991
+ checkCanReturnFocus: config.checkCanReturnFocus
19992
+ }, deactivateOptions);
19799
19993
  clearTimeout(state.delayInitialFocusTimer);
19800
19994
  state.delayInitialFocusTimer = void 0;
19801
19995
  removeListeners();
19802
19996
  state.active = false;
19803
19997
  state.paused = false;
19804
19998
  activeFocusTraps.deactivateTrap(trap);
19805
- var onDeactivate = getOption(deactivateOptions, "onDeactivate");
19806
- var onPostDeactivate = getOption(deactivateOptions, "onPostDeactivate");
19807
- var checkCanReturnFocus = getOption(deactivateOptions, "checkCanReturnFocus");
19999
+ var onDeactivate = getOption(options, "onDeactivate");
20000
+ var onPostDeactivate = getOption(options, "onPostDeactivate");
20001
+ var checkCanReturnFocus = getOption(options, "checkCanReturnFocus");
20002
+ var returnFocus = getOption(options, "returnFocus", "returnFocusOnDeactivate");
19808
20003
  if (onDeactivate) {
19809
20004
  onDeactivate();
19810
20005
  }
19811
- var returnFocus = getOption(deactivateOptions, "returnFocus", "returnFocusOnDeactivate");
19812
20006
  var finishDeactivation = function finishDeactivation2() {
19813
20007
  delay(function() {
19814
20008
  if (returnFocus) {
@@ -19857,6 +20051,8 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
19857
20051
  trap.updateContainerElements(elements);
19858
20052
  return trap;
19859
20053
  };
20054
+
20055
+ // ../../../node_modules/@alpinejs/focus/dist/module.esm.js
19860
20056
  function src_default6(Alpine3) {
19861
20057
  let lastFocused;
19862
20058
  let currentFocused;
@@ -19968,55 +20164,61 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
19968
20164
  }
19969
20165
  };
19970
20166
  });
19971
- Alpine3.directive("trap", Alpine3.skipDuringClone((el, { expression, modifiers }, { effect: effect7, evaluateLater: evaluateLater2, cleanup: cleanup2 }) => {
19972
- let evaluator = evaluateLater2(expression);
19973
- let oldValue = false;
19974
- let options = {
19975
- escapeDeactivates: false,
19976
- allowOutsideClick: true,
19977
- fallbackFocus: () => el
19978
- };
19979
- let autofocusEl = el.querySelector("[autofocus]");
19980
- if (autofocusEl)
19981
- options.initialFocus = autofocusEl;
19982
- let trap = createFocusTrap(el, options);
19983
- let undoInert = () => {
19984
- };
19985
- let undoDisableScrolling = () => {
19986
- };
19987
- const releaseFocus = () => {
19988
- undoInert();
19989
- undoInert = () => {
19990
- };
19991
- undoDisableScrolling();
19992
- undoDisableScrolling = () => {
19993
- };
19994
- trap.deactivate({
19995
- returnFocus: !modifiers.includes("noreturn")
19996
- });
19997
- };
19998
- effect7(() => evaluator((value) => {
19999
- if (oldValue === value)
20000
- return;
20001
- if (value && !oldValue) {
20002
- setTimeout(() => {
20003
- if (modifiers.includes("inert"))
20004
- undoInert = setInert(el);
20005
- if (modifiers.includes("noscroll"))
20006
- undoDisableScrolling = disableScrolling();
20007
- trap.activate();
20167
+ Alpine3.directive("trap", Alpine3.skipDuringClone(
20168
+ (el, { expression, modifiers }, { effect: effect7, evaluateLater: evaluateLater2, cleanup: cleanup2 }) => {
20169
+ let evaluator = evaluateLater2(expression);
20170
+ let oldValue = false;
20171
+ let options = {
20172
+ escapeDeactivates: false,
20173
+ allowOutsideClick: true,
20174
+ fallbackFocus: () => el
20175
+ };
20176
+ let autofocusEl = el.querySelector("[autofocus]");
20177
+ if (autofocusEl)
20178
+ options.initialFocus = autofocusEl;
20179
+ let trap = createFocusTrap(el, options);
20180
+ let undoInert = () => {
20181
+ };
20182
+ let undoDisableScrolling = () => {
20183
+ };
20184
+ const releaseFocus = () => {
20185
+ undoInert();
20186
+ undoInert = () => {
20187
+ };
20188
+ undoDisableScrolling();
20189
+ undoDisableScrolling = () => {
20190
+ };
20191
+ trap.deactivate({
20192
+ returnFocus: !modifiers.includes("noreturn")
20008
20193
  });
20009
- }
20010
- if (!value && oldValue) {
20011
- releaseFocus();
20012
- }
20013
- oldValue = !!value;
20014
- }));
20015
- cleanup2(releaseFocus);
20016
- }, (el, { expression, modifiers }, { evaluate: evaluate2 }) => {
20017
- if (modifiers.includes("inert") && evaluate2(expression))
20018
- setInert(el);
20019
- }));
20194
+ };
20195
+ effect7(() => evaluator((value) => {
20196
+ if (oldValue === value)
20197
+ return;
20198
+ if (value && !oldValue) {
20199
+ setTimeout(() => {
20200
+ if (modifiers.includes("inert"))
20201
+ undoInert = setInert(el);
20202
+ if (modifiers.includes("noscroll"))
20203
+ undoDisableScrolling = disableScrolling();
20204
+ trap.activate();
20205
+ });
20206
+ }
20207
+ if (!value && oldValue) {
20208
+ releaseFocus();
20209
+ }
20210
+ oldValue = !!value;
20211
+ }));
20212
+ cleanup2(releaseFocus);
20213
+ },
20214
+ // When cloning, we only want to add aria-hidden attributes to the
20215
+ // DOM and not try to actually trap, as trapping can mess with the
20216
+ // live DOM and isn't just isolated to the cloned DOM.
20217
+ (el, { expression, modifiers }, { evaluate: evaluate2 }) => {
20218
+ if (modifiers.includes("inert") && evaluate2(expression))
20219
+ setInert(el);
20220
+ }
20221
+ ));
20020
20222
  }
20021
20223
  function setInert(el) {
20022
20224
  let undos = [];
@@ -20054,22 +20256,6 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
20054
20256
  }
20055
20257
  var module_default6 = src_default6;
20056
20258
 
20057
- // ../../../node_modules/alpinejs-tash/dist/tash.esm.js
20058
- function l2(s3) {
20059
- s3.directive("tash", (r3, { modifiers: c3, expression: a3 }, { evaluate: u3, effect: m3 }) => {
20060
- let p2 = (e3) => new RegExp(`${d3}${e3}${f3}`, "g"), i3 = c3.includes("vue"), o3 = c3.includes("angular"), d3 = i3 ? "{{ " : o3 ? "{{" : "{", f3 = i3 ? " }}" : o3 ? "}}" : "}", g3 = a3.split(",").map((e3) => e3.trim()), t3 = document.createElement("template");
20061
- t3.innerHTML = r3.innerHTML;
20062
- let n3 = `${t3.innerHTML}`;
20063
- m3(() => {
20064
- g3.forEach((e3) => {
20065
- let H3 = u3(e3), h3 = p2(e3);
20066
- n3 = n3.replace(h3, H3);
20067
- }), r3.innerHTML = n3, n3 = t3.innerHTML;
20068
- });
20069
- });
20070
- }
20071
- var M2 = l2;
20072
-
20073
20259
  // helpers/alpine.js
20074
20260
  function registerComponents(components) {
20075
20261
  document.addEventListener("alpine:init", () => {
@@ -23664,7 +23850,6 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
23664
23850
 
23665
23851
  // libs/alpine/index.js
23666
23852
  window.Alpine = module_default;
23667
- module_default.plugin(M2);
23668
23853
  module_default.plugin(module_default5);
23669
23854
  module_default.plugin(module_default6);
23670
23855
  module_default.plugin(module_default2);
@@ -23681,7 +23866,7 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
23681
23866
 
23682
23867
  // helpers/location.js
23683
23868
  function navigateTo(url, options = {}) {
23684
- if (window.Turbo && options.turbo !== false) {
23869
+ if (window.Turbo && options.turbo === true) {
23685
23870
  delete options.turbo;
23686
23871
  turboOptions = Object.assign({ action: "advance" }, options);
23687
23872
  window.Turbo.visit(url, turboOptions);
@@ -24199,14 +24384,102 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
24199
24384
  };
24200
24385
  });
24201
24386
 
24202
- // ../../components/coco/app/blocks/sidebar_nav/sidebar_nav.js
24203
- var sidebar_nav_exports = {};
24204
- __export(sidebar_nav_exports, {
24205
- default: () => sidebar_nav_default
24387
+ // ../../components/coco/app/blocks/sidebar_nav/item/item.js
24388
+ var item_exports = {};
24389
+ __export(item_exports, {
24390
+ default: () => item_default
24391
+ });
24392
+ var item_default = CocoComponent("appSidebarNavItem", () => {
24393
+ return {
24394
+ menu: null,
24395
+ menuObserver: null,
24396
+ active: false,
24397
+ init() {
24398
+ if (this.menuTemplate) {
24399
+ this.initMenu();
24400
+ this.observeMenuForChanges();
24401
+ }
24402
+ this.$watch("mobileLayout", () => this.onOrientationChange());
24403
+ },
24404
+ initMenu() {
24405
+ this.menu = tippy_default(this.$root, {
24406
+ theme: "coco-naked-dropdown",
24407
+ placement: this.menuPlacement,
24408
+ arrow: false,
24409
+ offset: [0, 0],
24410
+ trigger: "click",
24411
+ interactive: true,
24412
+ maxWidth: null,
24413
+ onShow: () => {
24414
+ this.active = true;
24415
+ },
24416
+ onHide: () => {
24417
+ this.active = false;
24418
+ },
24419
+ content: () => this.menuTemplate.innerHTML
24420
+ });
24421
+ },
24422
+ observeMenuForChanges() {
24423
+ this.menuObserver = new MutationObserver((mutations) => {
24424
+ this.$nextTick(() => this.menu.setContent(this.menuTemplate.innerHTML));
24425
+ });
24426
+ this.menuObserver.observe(this.$root, {
24427
+ subtree: true,
24428
+ childList: true
24429
+ });
24430
+ },
24431
+ onOrientationChange() {
24432
+ if (this.menu) {
24433
+ this.menu.setProps({
24434
+ placement: this.menuPlacement
24435
+ });
24436
+ }
24437
+ },
24438
+ destroy() {
24439
+ if (this.menuObserver) {
24440
+ this.menuObserver.disconnect();
24441
+ }
24442
+ },
24443
+ root: {
24444
+ ["@turbo:load.document"]() {
24445
+ if (this.menu) {
24446
+ this.menu.hide();
24447
+ }
24448
+ },
24449
+ ":class": "{active}"
24450
+ },
24451
+ get menuTemplate() {
24452
+ return this.$root.querySelector("template");
24453
+ },
24454
+ get menuPlacement() {
24455
+ return this.mobileLayout ? "top" : "right-start";
24456
+ }
24457
+ };
24458
+ });
24459
+
24460
+ // ../../components/coco/app/blocks/sidebar_nav/menu/menu.js
24461
+ var menu_exports = {};
24462
+ __export(menu_exports, {
24463
+ default: () => menu_default
24464
+ });
24465
+ var menu_default = CocoComponent("appSidebarNavMenu", () => {
24466
+ return {
24467
+ navigateTo(url) {
24468
+ if (url !== "") {
24469
+ navigateTo(url);
24470
+ }
24471
+ }
24472
+ };
24473
+ });
24474
+
24475
+ // ../../components/coco/app/blocks/sidebar_nav/navbar/navbar.js
24476
+ var navbar_exports = {};
24477
+ __export(navbar_exports, {
24478
+ default: () => navbar_default
24206
24479
  });
24207
24480
  var import_tokens = __toESM(require_tokens(), 1);
24208
24481
  var mobileMaxWidth = parseInt(import_tokens.default.app.screens.sm, 10);
24209
- var sidebar_nav_default = CocoComponent("appSidebarNav", () => {
24482
+ var navbar_default = CocoComponent("appSidebarNav", () => {
24210
24483
  return {
24211
24484
  sizeObserver: null,
24212
24485
  mobileLayout: true,
@@ -24227,47 +24500,6 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
24227
24500
  };
24228
24501
  });
24229
24502
 
24230
- // ../../components/coco/app/blocks/sidebar_nav_item/sidebar_nav_item.js
24231
- var sidebar_nav_item_exports = {};
24232
- __export(sidebar_nav_item_exports, {
24233
- default: () => sidebar_nav_item_default
24234
- });
24235
- var sidebar_nav_item_default = CocoComponent("appSidebarNavItem", () => {
24236
- return {
24237
- menu: null,
24238
- init() {
24239
- this.navigateTo = navigateTo;
24240
- if (this.$refs.menu) {
24241
- this.menu = tippy_default(this.$el, {
24242
- theme: "coco-naked-dropdown",
24243
- placement: this.menuPlacement,
24244
- arrow: false,
24245
- offset: [0, 0],
24246
- trigger: "click",
24247
- interactive: true,
24248
- maxWidth: null,
24249
- content: () => {
24250
- return this.$refs.menu.innerHTML;
24251
- }
24252
- });
24253
- }
24254
- this.$watch("mobileLayout", () => {
24255
- this.onOrientationChange();
24256
- });
24257
- },
24258
- onOrientationChange() {
24259
- if (this.menu) {
24260
- this.menu.setProps({
24261
- placement: this.menuPlacement
24262
- });
24263
- }
24264
- },
24265
- get menuPlacement() {
24266
- return this.mobileLayout ? "top" : "right-start";
24267
- }
24268
- };
24269
- });
24270
-
24271
24503
  // ../../components/coco/app/blocks/slide_editor/slide_editor.js
24272
24504
  var slide_editor_exports = {};
24273
24505
  __export(slide_editor_exports, {
@@ -24709,32 +24941,32 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
24709
24941
  var f2 = {};
24710
24942
  var e2 = [];
24711
24943
  var c2 = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|^--/i;
24712
- function s2(n3, l3) {
24713
- for (var u3 in l3) {
24714
- n3[u3] = l3[u3];
24944
+ function s2(n3, l2) {
24945
+ for (var u3 in l2) {
24946
+ n3[u3] = l2[u3];
24715
24947
  }
24716
24948
  return n3;
24717
24949
  }
24718
24950
  function a2(n3) {
24719
- var l3 = n3.parentNode;
24720
- l3 && l3.removeChild(n3);
24951
+ var l2 = n3.parentNode;
24952
+ l2 && l2.removeChild(n3);
24721
24953
  }
24722
- function h2(n3, l3, u3) {
24954
+ function h2(n3, l2, u3) {
24723
24955
  var t3, i3, r3, o3, f3 = arguments;
24724
- if (l3 = s2({}, l3), arguments.length > 3) {
24956
+ if (l2 = s2({}, l2), arguments.length > 3) {
24725
24957
  for (u3 = [u3], t3 = 3; t3 < arguments.length; t3++) {
24726
24958
  u3.push(f3[t3]);
24727
24959
  }
24728
24960
  }
24729
- if (null != u3 && (l3.children = u3), null != n3 && null != n3.defaultProps) {
24961
+ if (null != u3 && (l2.children = u3), null != n3 && null != n3.defaultProps) {
24730
24962
  for (i3 in n3.defaultProps) {
24731
- void 0 === l3[i3] && (l3[i3] = n3.defaultProps[i3]);
24963
+ void 0 === l2[i3] && (l2[i3] = n3.defaultProps[i3]);
24732
24964
  }
24733
24965
  }
24734
- return o3 = l3.key, null != (r3 = l3.ref) && delete l3.ref, null != o3 && delete l3.key, v2(n3, l3, o3, r3);
24966
+ return o3 = l2.key, null != (r3 = l2.ref) && delete l2.ref, null != o3 && delete l2.key, v2(n3, l2, o3, r3);
24735
24967
  }
24736
- function v2(l3, u3, t3, i3) {
24737
- var r3 = { type: l3, props: u3, key: t3, ref: i3, __k: null, __p: null, __b: 0, __e: null, l: null, __c: null, constructor: void 0 };
24968
+ function v2(l2, u3, t3, i3) {
24969
+ var r3 = { type: l2, props: u3, key: t3, ref: i3, __k: null, __p: null, __b: 0, __e: null, l: null, __c: null, constructor: void 0 };
24738
24970
  return n2.vnode && n2.vnode(r3), r3;
24739
24971
  }
24740
24972
  function d2(n3) {
@@ -24748,30 +24980,30 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
24748
24980
  return v2(null, n3, null, null);
24749
24981
  }
24750
24982
  if (null != n3.__e || null != n3.__c) {
24751
- var l3 = v2(n3.type, n3.props, n3.key, null);
24752
- return l3.__e = n3.__e, l3;
24983
+ var l2 = v2(n3.type, n3.props, n3.key, null);
24984
+ return l2.__e = n3.__e, l2;
24753
24985
  }
24754
24986
  return n3;
24755
24987
  }
24756
- function m2(n3, l3) {
24757
- this.props = n3, this.context = l3;
24988
+ function m2(n3, l2) {
24989
+ this.props = n3, this.context = l2;
24758
24990
  }
24759
- function w2(n3, l3) {
24760
- if (null == l3) {
24991
+ function w2(n3, l2) {
24992
+ if (null == l2) {
24761
24993
  return n3.__p ? w2(n3.__p, n3.__p.__k.indexOf(n3) + 1) : null;
24762
24994
  }
24763
- for (var u3; l3 < n3.__k.length; l3++) {
24764
- if (null != (u3 = n3.__k[l3]) && null != u3.__e) {
24995
+ for (var u3; l2 < n3.__k.length; l2++) {
24996
+ if (null != (u3 = n3.__k[l2]) && null != u3.__e) {
24765
24997
  return u3.__e;
24766
24998
  }
24767
24999
  }
24768
25000
  return "function" == typeof n3.type ? w2(n3) : null;
24769
25001
  }
24770
25002
  function g2(n3) {
24771
- var l3, u3;
25003
+ var l2, u3;
24772
25004
  if (null != (n3 = n3.__p) && null != n3.__c) {
24773
- for (n3.__e = n3.__c.base = null, l3 = 0; l3 < n3.__k.length; l3++) {
24774
- if (null != (u3 = n3.__k[l3]) && null != u3.__e) {
25005
+ for (n3.__e = n3.__c.base = null, l2 = 0; l2 < n3.__k.length; l2++) {
25006
+ if (null != (u3 = n3.__k[l2]) && null != u3.__e) {
24775
25007
  n3.__e = n3.__c.base = u3.__e;
24776
25008
  break;
24777
25009
  }
@@ -24779,22 +25011,22 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
24779
25011
  return g2(n3);
24780
25012
  }
24781
25013
  }
24782
- function k2(l3) {
24783
- (!l3.__d && (l3.__d = true) && 1 === u2.push(l3) || i2 !== n2.debounceRendering) && (i2 = n2.debounceRendering, (n2.debounceRendering || t2)(_2));
25014
+ function k2(l2) {
25015
+ (!l2.__d && (l2.__d = true) && 1 === u2.push(l2) || i2 !== n2.debounceRendering) && (i2 = n2.debounceRendering, (n2.debounceRendering || t2)(_2));
24784
25016
  }
24785
25017
  function _2() {
24786
- var n3, l3, t3, i3, r3, o3, f3, e3;
24787
- for (u2.sort(function(n4, l4) {
24788
- return l4.__v.__b - n4.__v.__b;
25018
+ var n3, l2, t3, i3, r3, o3, f3, e3;
25019
+ for (u2.sort(function(n4, l3) {
25020
+ return l3.__v.__b - n4.__v.__b;
24789
25021
  }); n3 = u2.pop(); ) {
24790
- n3.__d && (t3 = void 0, i3 = void 0, o3 = (r3 = (l3 = n3).__v).__e, f3 = l3.__P, e3 = l3.u, l3.u = false, f3 && (t3 = [], i3 = $2(f3, r3, s2({}, r3), l3.__n, void 0 !== f3.ownerSVGElement, null, t3, e3, null == o3 ? w2(r3) : o3), j2(t3, r3), i3 != o3 && g2(r3)));
25022
+ n3.__d && (t3 = void 0, i3 = void 0, o3 = (r3 = (l2 = n3).__v).__e, f3 = l2.__P, e3 = l2.u, l2.u = false, f3 && (t3 = [], i3 = $2(f3, r3, s2({}, r3), l2.__n, void 0 !== f3.ownerSVGElement, null, t3, e3, null == o3 ? w2(r3) : o3), j2(t3, r3), i3 != o3 && g2(r3)));
24791
25023
  }
24792
25024
  }
24793
- function b2(n3, l3, u3, t3, i3, r3, o3, c3, s3) {
25025
+ function b2(n3, l2, u3, t3, i3, r3, o3, c3, s3) {
24794
25026
  var h3, v3, p2, d3, y3, m3, g3, k3 = u3 && u3.__k || e2, _3 = k3.length;
24795
- if (c3 == f2 && (c3 = null != r3 ? r3[0] : _3 ? w2(u3, 0) : null), h3 = 0, l3.__k = x2(l3.__k, function(u4) {
25027
+ if (c3 == f2 && (c3 = null != r3 ? r3[0] : _3 ? w2(u3, 0) : null), h3 = 0, l2.__k = x2(l2.__k, function(u4) {
24796
25028
  if (null != u4) {
24797
- if (u4.__p = l3, u4.__b = l3.__b + 1, null === (p2 = k3[h3]) || p2 && u4.key == p2.key && u4.type === p2.type) {
25029
+ if (u4.__p = l2, u4.__b = l2.__b + 1, null === (p2 = k3[h3]) || p2 && u4.key == p2.key && u4.type === p2.type) {
24798
25030
  k3[h3] = void 0;
24799
25031
  } else {
24800
25032
  for (v3 = 0; v3 < _3; v3++) {
@@ -24820,13 +25052,13 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
24820
25052
  }
24821
25053
  n3.insertBefore(d3, c3);
24822
25054
  }
24823
- "option" == l3.type && (n3.value = "");
25055
+ "option" == l2.type && (n3.value = "");
24824
25056
  }
24825
- c3 = d3.nextSibling, "function" == typeof l3.type && (l3.l = d3);
25057
+ c3 = d3.nextSibling, "function" == typeof l2.type && (l2.l = d3);
24826
25058
  }
24827
25059
  }
24828
25060
  return h3++, u4;
24829
- }), l3.__e = m3, null != r3 && "function" != typeof l3.type) {
25061
+ }), l2.__e = m3, null != r3 && "function" != typeof l2.type) {
24830
25062
  for (h3 = r3.length; h3--; ) {
24831
25063
  null != r3[h3] && a2(r3[h3]);
24832
25064
  }
@@ -24840,35 +25072,35 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
24840
25072
  }
24841
25073
  }
24842
25074
  }
24843
- function x2(n3, l3, u3) {
25075
+ function x2(n3, l2, u3) {
24844
25076
  if (null == u3 && (u3 = []), null == n3 || "boolean" == typeof n3) {
24845
- l3 && u3.push(l3(null));
25077
+ l2 && u3.push(l2(null));
24846
25078
  } else if (Array.isArray(n3)) {
24847
25079
  for (var t3 = 0; t3 < n3.length; t3++) {
24848
- x2(n3[t3], l3, u3);
25080
+ x2(n3[t3], l2, u3);
24849
25081
  }
24850
25082
  } else {
24851
- u3.push(l3 ? l3(y2(n3)) : n3);
25083
+ u3.push(l2 ? l2(y2(n3)) : n3);
24852
25084
  }
24853
25085
  return u3;
24854
25086
  }
24855
- function C2(n3, l3, u3, t3, i3) {
25087
+ function C2(n3, l2, u3, t3, i3) {
24856
25088
  var r3;
24857
25089
  for (r3 in u3) {
24858
- r3 in l3 || N2(n3, r3, null, u3[r3], t3);
25090
+ r3 in l2 || N2(n3, r3, null, u3[r3], t3);
24859
25091
  }
24860
- for (r3 in l3) {
24861
- i3 && "function" != typeof l3[r3] || "value" === r3 || "checked" === r3 || u3[r3] === l3[r3] || N2(n3, r3, l3[r3], u3[r3], t3);
25092
+ for (r3 in l2) {
25093
+ i3 && "function" != typeof l2[r3] || "value" === r3 || "checked" === r3 || u3[r3] === l2[r3] || N2(n3, r3, l2[r3], u3[r3], t3);
24862
25094
  }
24863
25095
  }
24864
- function P2(n3, l3, u3) {
24865
- "-" === l3[0] ? n3.setProperty(l3, u3) : n3[l3] = "number" == typeof u3 && false === c2.test(l3) ? u3 + "px" : null == u3 ? "" : u3;
25096
+ function P2(n3, l2, u3) {
25097
+ "-" === l2[0] ? n3.setProperty(l2, u3) : n3[l2] = "number" == typeof u3 && false === c2.test(l2) ? u3 + "px" : null == u3 ? "" : u3;
24866
25098
  }
24867
- function N2(n3, l3, u3, t3, i3) {
25099
+ function N2(n3, l2, u3, t3, i3) {
24868
25100
  var r3, o3, f3, e3, c3;
24869
- if ("key" === (l3 = i3 ? "className" === l3 ? "class" : l3 : "class" === l3 ? "className" : l3) || "children" === l3)
25101
+ if ("key" === (l2 = i3 ? "className" === l2 ? "class" : l2 : "class" === l2 ? "className" : l2) || "children" === l2)
24870
25102
  ;
24871
- else if ("style" === l3) {
25103
+ else if ("style" === l2) {
24872
25104
  if (r3 = n3.style, "string" == typeof u3) {
24873
25105
  r3.cssText = u3;
24874
25106
  } else {
@@ -24884,13 +25116,13 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
24884
25116
  }
24885
25117
  }
24886
25118
  } else {
24887
- "o" === l3[0] && "n" === l3[1] ? (e3 = l3 !== (l3 = l3.replace(/Capture$/, "")), c3 = l3.toLowerCase(), l3 = (c3 in n3 ? c3 : l3).slice(2), u3 ? (t3 || n3.addEventListener(l3, T2, e3), (n3.t || (n3.t = {}))[l3] = u3) : n3.removeEventListener(l3, T2, e3)) : "list" !== l3 && "tagName" !== l3 && "form" !== l3 && !i3 && l3 in n3 ? n3[l3] = null == u3 ? "" : u3 : "function" != typeof u3 && "dangerouslySetInnerHTML" !== l3 && (l3 !== (l3 = l3.replace(/^xlink:?/, "")) ? null == u3 || false === u3 ? n3.removeAttributeNS("http://www.w3.org/1999/xlink", l3.toLowerCase()) : n3.setAttributeNS("http://www.w3.org/1999/xlink", l3.toLowerCase(), u3) : null == u3 || false === u3 ? n3.removeAttribute(l3) : n3.setAttribute(l3, u3));
25119
+ "o" === l2[0] && "n" === l2[1] ? (e3 = l2 !== (l2 = l2.replace(/Capture$/, "")), c3 = l2.toLowerCase(), l2 = (c3 in n3 ? c3 : l2).slice(2), u3 ? (t3 || n3.addEventListener(l2, T2, e3), (n3.t || (n3.t = {}))[l2] = u3) : n3.removeEventListener(l2, T2, e3)) : "list" !== l2 && "tagName" !== l2 && "form" !== l2 && !i3 && l2 in n3 ? n3[l2] = null == u3 ? "" : u3 : "function" != typeof u3 && "dangerouslySetInnerHTML" !== l2 && (l2 !== (l2 = l2.replace(/^xlink:?/, "")) ? null == u3 || false === u3 ? n3.removeAttributeNS("http://www.w3.org/1999/xlink", l2.toLowerCase()) : n3.setAttributeNS("http://www.w3.org/1999/xlink", l2.toLowerCase(), u3) : null == u3 || false === u3 ? n3.removeAttribute(l2) : n3.setAttribute(l2, u3));
24888
25120
  }
24889
25121
  }
24890
- function T2(l3) {
24891
- return this.t[l3.type](n2.event ? n2.event(l3) : l3);
25122
+ function T2(l2) {
25123
+ return this.t[l2.type](n2.event ? n2.event(l2) : l2);
24892
25124
  }
24893
- function $2(l3, u3, t3, i3, r3, o3, f3, e3, c3, a3) {
25125
+ function $2(l2, u3, t3, i3, r3, o3, f3, e3, c3, a3) {
24894
25126
  var h3, v3, p2, y3, w3, g3, k3, _3, C3, P3, N3 = u3.type;
24895
25127
  if (void 0 !== u3.constructor) {
24896
25128
  return null;
@@ -24910,7 +25142,7 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
24910
25142
  }
24911
25143
  null != v3.componentWillUpdate && v3.componentWillUpdate(_3, v3.__s, P3);
24912
25144
  }
24913
- for (y3 = v3.props, w3 = v3.state, v3.context = P3, v3.props = _3, v3.state = v3.__s, (h3 = n2.__r) && h3(u3), v3.__d = false, v3.__v = u3, v3.__P = l3, h3 = v3.render(v3.props, v3.state, v3.context), u3.__k = x2(null != h3 && h3.type == d2 && null == h3.key ? h3.props.children : h3), null != v3.getChildContext && (i3 = s2(s2({}, i3), v3.getChildContext())), p2 || null == v3.getSnapshotBeforeUpdate || (g3 = v3.getSnapshotBeforeUpdate(y3, w3)), b2(l3, u3, t3, i3, r3, o3, f3, c3, a3), v3.base = u3.__e; h3 = v3.__h.pop(); ) {
25145
+ for (y3 = v3.props, w3 = v3.state, v3.context = P3, v3.props = _3, v3.state = v3.__s, (h3 = n2.__r) && h3(u3), v3.__d = false, v3.__v = u3, v3.__P = l2, h3 = v3.render(v3.props, v3.state, v3.context), u3.__k = x2(null != h3 && h3.type == d2 && null == h3.key ? h3.props.children : h3), null != v3.getChildContext && (i3 = s2(s2({}, i3), v3.getChildContext())), p2 || null == v3.getSnapshotBeforeUpdate || (g3 = v3.getSnapshotBeforeUpdate(y3, w3)), b2(l2, u3, t3, i3, r3, o3, f3, c3, a3), v3.base = u3.__e; h3 = v3.__h.pop(); ) {
24914
25146
  v3.__s && (v3.state = v3.__s), h3.call(v3);
24915
25147
  }
24916
25148
  p2 || null == y3 || null == v3.componentDidUpdate || v3.componentDidUpdate(y3, w3, g3), k3 && (v3.__E = v3.__p = null);
@@ -24918,80 +25150,80 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
24918
25150
  u3.__e = z2(t3.__e, u3, t3, i3, r3, o3, f3, a3);
24919
25151
  }
24920
25152
  (h3 = n2.diffed) && h3(u3);
24921
- } catch (l4) {
24922
- n2.__e(l4, u3, t3);
25153
+ } catch (l3) {
25154
+ n2.__e(l3, u3, t3);
24923
25155
  }
24924
25156
  return u3.__e;
24925
25157
  }
24926
- function j2(l3, u3) {
24927
- for (var t3; t3 = l3.pop(); ) {
25158
+ function j2(l2, u3) {
25159
+ for (var t3; t3 = l2.pop(); ) {
24928
25160
  try {
24929
25161
  t3.componentDidMount();
24930
- } catch (l4) {
24931
- n2.__e(l4, t3.__v);
25162
+ } catch (l3) {
25163
+ n2.__e(l3, t3.__v);
24932
25164
  }
24933
25165
  }
24934
25166
  n2.__c && n2.__c(u3);
24935
25167
  }
24936
- function z2(n3, l3, u3, t3, i3, r3, o3, c3) {
24937
- var s3, a3, h3, v3, p2 = u3.props, d3 = l3.props;
24938
- if (i3 = "svg" === l3.type || i3, null == n3 && null != r3) {
25168
+ function z2(n3, l2, u3, t3, i3, r3, o3, c3) {
25169
+ var s3, a3, h3, v3, p2 = u3.props, d3 = l2.props;
25170
+ if (i3 = "svg" === l2.type || i3, null == n3 && null != r3) {
24939
25171
  for (s3 = 0; s3 < r3.length; s3++) {
24940
- if (null != (a3 = r3[s3]) && (null === l3.type ? 3 === a3.nodeType : a3.localName === l3.type)) {
25172
+ if (null != (a3 = r3[s3]) && (null === l2.type ? 3 === a3.nodeType : a3.localName === l2.type)) {
24941
25173
  n3 = a3, r3[s3] = null;
24942
25174
  break;
24943
25175
  }
24944
25176
  }
24945
25177
  }
24946
25178
  if (null == n3) {
24947
- if (null === l3.type) {
25179
+ if (null === l2.type) {
24948
25180
  return document.createTextNode(d3);
24949
25181
  }
24950
- n3 = i3 ? document.createElementNS("http://www.w3.org/2000/svg", l3.type) : document.createElement(l3.type), r3 = null;
25182
+ n3 = i3 ? document.createElementNS("http://www.w3.org/2000/svg", l2.type) : document.createElement(l2.type), r3 = null;
24951
25183
  }
24952
- return null === l3.type ? p2 !== d3 && (null != r3 && (r3[r3.indexOf(n3)] = null), n3.data = d3) : l3 !== u3 && (null != r3 && (r3 = e2.slice.call(n3.childNodes)), h3 = (p2 = u3.props || f2).dangerouslySetInnerHTML, v3 = d3.dangerouslySetInnerHTML, c3 || (v3 || h3) && (v3 && h3 && v3.__html == h3.__html || (n3.innerHTML = v3 && v3.__html || "")), C2(n3, d3, p2, i3, c3), l3.__k = l3.props.children, v3 || b2(n3, l3, u3, t3, "foreignObject" !== l3.type && i3, r3, o3, f2, c3), c3 || ("value" in d3 && void 0 !== d3.value && d3.value !== n3.value && (n3.value = null == d3.value ? "" : d3.value), "checked" in d3 && void 0 !== d3.checked && d3.checked !== n3.checked && (n3.checked = d3.checked))), n3;
25184
+ return null === l2.type ? p2 !== d3 && (null != r3 && (r3[r3.indexOf(n3)] = null), n3.data = d3) : l2 !== u3 && (null != r3 && (r3 = e2.slice.call(n3.childNodes)), h3 = (p2 = u3.props || f2).dangerouslySetInnerHTML, v3 = d3.dangerouslySetInnerHTML, c3 || (v3 || h3) && (v3 && h3 && v3.__html == h3.__html || (n3.innerHTML = v3 && v3.__html || "")), C2(n3, d3, p2, i3, c3), l2.__k = l2.props.children, v3 || b2(n3, l2, u3, t3, "foreignObject" !== l2.type && i3, r3, o3, f2, c3), c3 || ("value" in d3 && void 0 !== d3.value && d3.value !== n3.value && (n3.value = null == d3.value ? "" : d3.value), "checked" in d3 && void 0 !== d3.checked && d3.checked !== n3.checked && (n3.checked = d3.checked))), n3;
24953
25185
  }
24954
- function A2(l3, u3, t3) {
25186
+ function A2(l2, u3, t3) {
24955
25187
  try {
24956
- "function" == typeof l3 ? l3(u3) : l3.current = u3;
24957
- } catch (l4) {
24958
- n2.__e(l4, t3);
25188
+ "function" == typeof l2 ? l2(u3) : l2.current = u3;
25189
+ } catch (l3) {
25190
+ n2.__e(l3, t3);
24959
25191
  }
24960
25192
  }
24961
- function D2(l3, u3, t3) {
25193
+ function D2(l2, u3, t3) {
24962
25194
  var i3, r3, o3;
24963
- if (n2.unmount && n2.unmount(l3), (i3 = l3.ref) && A2(i3, null, u3), t3 || "function" == typeof l3.type || (t3 = null != (r3 = l3.__e)), l3.__e = l3.l = null, null != (i3 = l3.__c)) {
25195
+ if (n2.unmount && n2.unmount(l2), (i3 = l2.ref) && A2(i3, null, u3), t3 || "function" == typeof l2.type || (t3 = null != (r3 = l2.__e)), l2.__e = l2.l = null, null != (i3 = l2.__c)) {
24964
25196
  if (i3.componentWillUnmount) {
24965
25197
  try {
24966
25198
  i3.componentWillUnmount();
24967
- } catch (l4) {
24968
- n2.__e(l4, u3);
25199
+ } catch (l3) {
25200
+ n2.__e(l3, u3);
24969
25201
  }
24970
25202
  }
24971
25203
  i3.base = i3.__P = null;
24972
25204
  }
24973
- if (i3 = l3.__k) {
25205
+ if (i3 = l2.__k) {
24974
25206
  for (o3 = 0; o3 < i3.length; o3++) {
24975
25207
  i3[o3] && D2(i3[o3], u3, t3);
24976
25208
  }
24977
25209
  }
24978
25210
  null != r3 && a2(r3);
24979
25211
  }
24980
- function H2(n3, l3, u3) {
25212
+ function H2(n3, l2, u3) {
24981
25213
  return this.constructor(n3, u3);
24982
25214
  }
24983
- function I2(l3, u3, t3) {
25215
+ function I2(l2, u3, t3) {
24984
25216
  var i3, o3, c3;
24985
- n2.__p && n2.__p(l3, u3), o3 = (i3 = t3 === r2) ? null : t3 && t3.__k || u3.__k, l3 = h2(d2, null, [l3]), c3 = [], $2(u3, i3 ? u3.__k = l3 : (t3 || u3).__k = l3, o3 || f2, f2, void 0 !== u3.ownerSVGElement, t3 && !i3 ? [t3] : o3 ? null : e2.slice.call(u3.childNodes), c3, false, t3 || f2, i3), j2(c3, l3);
25217
+ n2.__p && n2.__p(l2, u3), o3 = (i3 = t3 === r2) ? null : t3 && t3.__k || u3.__k, l2 = h2(d2, null, [l2]), c3 = [], $2(u3, i3 ? u3.__k = l2 : (t3 || u3).__k = l2, o3 || f2, f2, void 0 !== u3.ownerSVGElement, t3 && !i3 ? [t3] : o3 ? null : e2.slice.call(u3.childNodes), c3, false, t3 || f2, i3), j2(c3, l2);
24986
25218
  }
24987
- n2 = {}, m2.prototype.setState = function(n3, l3) {
25219
+ n2 = {}, m2.prototype.setState = function(n3, l2) {
24988
25220
  var u3 = this.__s !== this.state && this.__s || (this.__s = s2({}, this.state));
24989
- ("function" != typeof n3 || (n3 = n3(u3, this.props))) && s2(u3, n3), null != n3 && this.__v && (this.u = false, l3 && this.__h.push(l3), k2(this));
25221
+ ("function" != typeof n3 || (n3 = n3(u3, this.props))) && s2(u3, n3), null != n3 && this.__v && (this.u = false, l2 && this.__h.push(l2), k2(this));
24990
25222
  }, m2.prototype.forceUpdate = function(n3) {
24991
25223
  this.__v && (n3 && this.__h.push(n3), this.u = true, k2(this));
24992
- }, m2.prototype.render = d2, u2 = [], t2 = "function" == typeof Promise ? Promise.prototype.then.bind(Promise.resolve()) : setTimeout, i2 = n2.debounceRendering, n2.__e = function(n3, l3, u3) {
24993
- for (var t3; l3 = l3.__p; ) {
24994
- if ((t3 = l3.__c) && !t3.__p) {
25224
+ }, m2.prototype.render = d2, u2 = [], t2 = "function" == typeof Promise ? Promise.prototype.then.bind(Promise.resolve()) : setTimeout, i2 = n2.debounceRendering, n2.__e = function(n3, l2, u3) {
25225
+ for (var t3; l2 = l2.__p; ) {
25226
+ if ((t3 = l2.__c) && !t3.__p) {
24995
25227
  try {
24996
25228
  if (t3.constructor && null != t3.constructor.getDerivedStateFromError) {
24997
25229
  t3.setState(t3.constructor.getDerivedStateFromError(n3));
@@ -25002,8 +25234,8 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
25002
25234
  t3.componentDidCatch(n3);
25003
25235
  }
25004
25236
  return k2(t3.__E = t3);
25005
- } catch (l4) {
25006
- n3 = l4;
25237
+ } catch (l3) {
25238
+ n3 = l3;
25007
25239
  }
25008
25240
  }
25009
25241
  }
@@ -25184,23 +25416,23 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
25184
25416
  IroColor2.hsvToHsl = function hsvToHsl(hsv) {
25185
25417
  var s3 = hsv.s / 100;
25186
25418
  var v3 = hsv.v / 100;
25187
- var l3 = (2 - s3) * v3;
25188
- var divisor = l3 <= 1 ? l3 : 2 - l3;
25419
+ var l2 = (2 - s3) * v3;
25420
+ var divisor = l2 <= 1 ? l2 : 2 - l2;
25189
25421
  var saturation = divisor < 1e-9 ? 0 : s3 * v3 / divisor;
25190
25422
  return {
25191
25423
  h: hsv.h,
25192
25424
  s: clamp(saturation * 100, 0, 100),
25193
- l: clamp(l3 * 50, 0, 100)
25425
+ l: clamp(l2 * 50, 0, 100)
25194
25426
  };
25195
25427
  };
25196
25428
  IroColor2.hslToHsv = function hslToHsv(hsl) {
25197
- var l3 = hsl.l * 2;
25198
- var s3 = hsl.s * (l3 <= 100 ? l3 : 200 - l3) / 100;
25199
- var saturation = l3 + s3 < 1e-9 ? 0 : 2 * s3 / (l3 + s3);
25429
+ var l2 = hsl.l * 2;
25430
+ var s3 = hsl.s * (l2 <= 100 ? l2 : 200 - l2) / 100;
25431
+ var saturation = l2 + s3 < 1e-9 ? 0 : 2 * s3 / (l2 + s3);
25200
25432
  return {
25201
25433
  h: hsl.h,
25202
25434
  s: clamp(saturation * 100, 0, 100),
25203
- v: clamp((l3 + s3) / 2, 0, 100)
25435
+ v: clamp((l2 + s3) / 2, 0, 100)
25204
25436
  };
25205
25437
  };
25206
25438
  IroColor2.kelvinToRgb = function kelvinToRgb(kelvin) {
@@ -25386,11 +25618,11 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
25386
25618
  }, {
25387
25619
  key: "hsl",
25388
25620
  get: function get3() {
25389
- var _IroColor$hsvToHsl = IroColor2.hsvToHsl(this.$), h3 = _IroColor$hsvToHsl.h, s3 = _IroColor$hsvToHsl.s, l3 = _IroColor$hsvToHsl.l;
25621
+ var _IroColor$hsvToHsl = IroColor2.hsvToHsl(this.$), h3 = _IroColor$hsvToHsl.h, s3 = _IroColor$hsvToHsl.s, l2 = _IroColor$hsvToHsl.l;
25390
25622
  return {
25391
25623
  h: round2(h3),
25392
25624
  s: round2(s3),
25393
- l: round2(l3)
25625
+ l: round2(l2)
25394
25626
  };
25395
25627
  },
25396
25628
  set: function set3(value) {
@@ -25503,22 +25735,22 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
25503
25735
  },
25504
25736
  set: function set3(value) {
25505
25737
  var match;
25506
- var h3, s3, l3, a3 = 1;
25738
+ var h3, s3, l2, a3 = 1;
25507
25739
  if (match = REGEX_FUNCTIONAL_HSL.exec(value)) {
25508
25740
  h3 = parseUnit(match[1], 360);
25509
25741
  s3 = parseUnit(match[2], 100);
25510
- l3 = parseUnit(match[3], 100);
25742
+ l2 = parseUnit(match[3], 100);
25511
25743
  } else if (match = REGEX_FUNCTIONAL_HSLA.exec(value)) {
25512
25744
  h3 = parseUnit(match[1], 360);
25513
25745
  s3 = parseUnit(match[2], 100);
25514
- l3 = parseUnit(match[3], 100);
25746
+ l2 = parseUnit(match[3], 100);
25515
25747
  a3 = parseUnit(match[4], 1);
25516
25748
  }
25517
25749
  if (match) {
25518
25750
  this.hsl = {
25519
25751
  h: h3,
25520
25752
  s: s3,
25521
- l: l3,
25753
+ l: l2,
25522
25754
  a: a3
25523
25755
  };
25524
25756
  } else {
@@ -26945,7 +27177,7 @@ ${expression ? 'Expression: "' + expression + '"\n\n' : ""}`, el);
26945
27177
  });
26946
27178
 
26947
27179
  // import-glob:/Users/mark/Code/coveragebook/coco/app/assets/js/app|@appComponents/**/*.js
26948
- var modules3 = [header_exports, nav_drawer_exports, sidebar_nav_exports, sidebar_nav_item_exports, slide_editor_exports, alert_exports, button_group_exports, color_picker_exports, color_picker_button_exports, confirm_panel_exports, image_picker_exports, image_picker_button_exports, layout_picker_button_exports, menu_button_exports, notice_exports, seamless_textarea_exports, snackbar_exports, system_banner_exports, toast_exports, toolbar_exports, application_exports];
27180
+ var modules3 = [header_exports, nav_drawer_exports, item_exports, menu_exports, navbar_exports, slide_editor_exports, alert_exports, button_group_exports, color_picker_exports, color_picker_button_exports, confirm_panel_exports, image_picker_exports, image_picker_button_exports, layout_picker_button_exports, menu_button_exports, notice_exports, seamless_textarea_exports, snackbar_exports, system_banner_exports, toast_exports, toolbar_exports, application_exports];
26949
27181
  var __default3 = modules3;
26950
27182
 
26951
27183
  // app/components.js
@@ -26988,13 +27220,15 @@ html2canvas/dist/html2canvas.js:
26988
27220
  PERFORMANCE OF THIS SOFTWARE.
26989
27221
  ***************************************************************************** *)
26990
27222
 
26991
- @alpinejs/focus/dist/module.esm.js:
27223
+ tabbable/dist/index.esm.js:
26992
27224
  (*!
26993
- * tabbable 5.2.1
27225
+ * tabbable 5.3.3
26994
27226
  * @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE
26995
27227
  *)
27228
+
27229
+ focus-trap/dist/focus-trap.esm.js:
26996
27230
  (*!
26997
- * focus-trap 6.6.1
27231
+ * focus-trap 6.9.4
26998
27232
  * @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE
26999
27233
  *)
27000
27234