coveragebook_components 0.8.2 → 0.8.4

Sign up to get free protection for your applications and to get access to all the features.
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