mesurer-solid 0.2.1-beta.13 → 0.2.1-beta.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -104,10 +104,10 @@ function te() {
104
104
  e.De === v && (e._e === void 0 || e._e === v) && (e.t || (U.delete(e), e.ut?.()));
105
105
  }
106
106
  }
107
- function G(e) {
107
+ function ne(e) {
108
108
  H = e;
109
109
  }
110
- function ne() {
110
+ function re() {
111
111
  return {
112
112
  de: I,
113
113
  Qt: [],
@@ -124,7 +124,7 @@ function ne() {
124
124
  ln: /* @__PURE__ */ new Set()
125
125
  };
126
126
  }
127
- function re(e, t) {
127
+ function ie(e, t) {
128
128
  t.fn = e, e.ie.push(...t.ie);
129
129
  for (let n of T) n.Ne === t && (n.Ne = e);
130
130
  t.Me.length && (e.Me.push(...t.Me), t.Me.length = 0), t.A.length && (e.A.push(...t.A), t.A.length = 0);
@@ -136,14 +136,14 @@ function re(e, t) {
136
136
  }
137
137
  for (let n of t.ln) e.ln.add(n);
138
138
  }
139
- function ie() {
139
+ function ae() {
140
140
  if (z) {
141
141
  oe();
142
142
  return;
143
143
  }
144
144
  R || (R = !0, !V && !_e.gt && !H && queueMicrotask(ye));
145
145
  }
146
- function ae(e) {
146
+ function G(e) {
147
147
  if (z) return;
148
148
  z = !0;
149
149
  let t = "[REACTIVITY_HALTED]";
@@ -184,7 +184,7 @@ var se = 0, ce = class {
184
184
  }
185
185
  }
186
186
  enqueue(e, t) {
187
- e && (vt ? E(vt).rn[e - 1].push(t) : this.bt[e - 1].push(t)), ie();
187
+ e && (vt ? E(vt).rn[e - 1].push(t) : this.bt[e - 1].push(t)), ae();
188
188
  }
189
189
  stashQueues(e) {
190
190
  e.bt[0].push(...this.bt[0]), e.bt[1].push(...this.bt[1]), this.bt = [[], []];
@@ -205,7 +205,7 @@ var se = 0, ce = class {
205
205
  }
206
206
  }, K = class e extends ce {
207
207
  gt = !1;
208
- m = ne();
208
+ m = re();
209
209
  static Ce;
210
210
  static me;
211
211
  static et;
@@ -245,12 +245,12 @@ var se = 0, ce = class {
245
245
  if (Ne(N, e.Ce), L) {
246
246
  if (!Se(L)) {
247
247
  let t = L;
248
- Ne(P, this.m === t ? F : e.Ce), this.m === t && (ve = this.m = ne()), T.size && (e.In(1), e.In(2)), this.stashQueues(t.yt), I++, R = N.EE >= N.Ve || this.m.Qt.length > 0, ge(t.Qt), L = null, me(null, !0);
248
+ Ne(P, this.m === t ? F : e.Ce), this.m === t && (ve = this.m = re()), T.size && (e.In(1), e.In(2)), this.stashQueues(t.yt), I++, R = N.EE >= N.Ve || this.m.Qt.length > 0, ge(t.Qt), L = null, me(null, !0);
249
249
  return;
250
250
  }
251
251
  let t = L, n = this.m;
252
252
  if (n !== t && n.Qt.push(...t.Qt), this.restoreQueues(t.yt), M.delete(t), L = null, ge(n.Qt), me(t), n === t) {
253
- let e = ne();
253
+ let e = re();
254
254
  e.Qt = n.Qt, e.Me = n.Me, e.A = n.A, e.cn = n.cn, ve = this.m = e;
255
255
  }
256
256
  } else ee(this) ? (pe(), N.EE >= N.Ve && (Ne(N, e.Ce), pe())) : (M.size && Ne(P, e.Ce), me());
@@ -269,7 +269,7 @@ var se = 0, ce = class {
269
269
  let n = t.source, r = L.Ie.get(n);
270
270
  r || L.Ie.set(n, r = /* @__PURE__ */ new Set());
271
271
  let i = r.size;
272
- r.add(e), r.size !== i && ie();
272
+ r.add(e), r.size !== i && ae();
273
273
  }
274
274
  }
275
275
  return !0;
@@ -278,10 +278,10 @@ var se = 0, ce = class {
278
278
  }
279
279
  initTransition(e) {
280
280
  if (e &&= Ce(e), e && e === L || !e && L && L.de === I) return;
281
- if (!L) L = e ?? ne();
281
+ if (!L) L = e ?? re();
282
282
  else if (e) {
283
283
  let t = L;
284
- re(e, t), M.delete(t), L = e;
284
+ ie(e, t), M.delete(t), L = e;
285
285
  }
286
286
  M.add(L), L.de = I;
287
287
  let t = this.m;
@@ -341,7 +341,7 @@ function me(e = null, t = !1) {
341
341
  let t = e ?? _e.m;
342
342
  if (t.Me.length && K.En(t.Me), t.ln.size) {
343
343
  for (let e of t.ln) e.se & 64 || Ee(e);
344
- t.ln.clear(), ie();
344
+ t.ln.clear(), ae();
345
345
  }
346
346
  t.A.length && (K.G(t.A), _e.vt.length && he(_e)), t.cn.size && K.Dt(t.cn, e), te(), T.size && K.dn(e);
347
347
  }
@@ -698,7 +698,7 @@ function st(e, t) {
698
698
  let n = !1, r = /* @__PURE__ */ new Set(), i = (e) => {
699
699
  r.has(e) || (r.add(e), e._ === t && (Ee(e), n = !0), it(e, i));
700
700
  };
701
- it(e, i), n && ie();
701
+ it(e, i), n && ae();
702
702
  }
703
703
  function ct(e) {
704
704
  let t = !1, n, r = /* @__PURE__ */ new Set(), i = K.Se, a = (o) => {
@@ -708,7 +708,7 @@ function ct(e) {
708
708
  s ? (c || rt(o, s), i !== null && i(o)) : (o.S &= -2, c || rt(o), i !== null && i(o), o.ue && (Ee(o), t = !0), o.ue = !1, !o.o && o.T & 32 && (n ??= []).push(o)), it(o, a);
709
709
  };
710
710
  if (it(e, a), n) for (let e of n) at(e);
711
- t && ie();
711
+ t && ae();
712
712
  }
713
713
  function lt(e) {
714
714
  return typeof e == "object" && !!e && typeof e.then == "function";
@@ -754,7 +754,7 @@ function ut(e, t, n) {
754
754
  } catch (t) {
755
755
  ft(e, 2, t);
756
756
  }
757
- e.De === v && (e.Ee = !1), ct(e), ie(), ye(), i?.();
757
+ e.De === v && (e.Ee = !1), ct(e), ae(), ye(), i?.();
758
758
  }, l = () => e.T & 32 && !e.o && !(e.S & 1) ? (Ze(e), !0) : !1;
759
759
  if (i) {
760
760
  let n = !1, r = !1, i, o = !0;
@@ -787,7 +787,7 @@ function ut(e, t, n) {
787
787
  if ((lt(_) ? _ : { then: (e) => void e(_) }).then((n) => {
788
788
  if (g && o) d = n, m = !0, n.done && (i = !0);
789
789
  else if (e.Te !== t) return;
790
- else n.done ? (i = !0, r ? (ie(), ye()) : c(void 0), l()) : (r = !0, c(n.value, u));
790
+ else n.done ? (i = !0, r ? (ae(), ye()) : c(void 0), l()) : (r = !0, c(n.value, u));
791
791
  }, (n) => {
792
792
  g ? (p = n, h = !0) : e.Te === t && (i = !0, s(n), l());
793
793
  }), g = !1, h) {
@@ -820,7 +820,7 @@ function ft(e, t, n, r, i) {
820
820
  it(e, (e, r) => {
821
821
  if (e.de = I, t === 1 && a && !e.oe?.has(a) || t !== 1 && (e._ !== n || e.oe)) {
822
822
  if (r.Ge && t !== 1 && !(n instanceof d)) {
823
- Ee(e), ie();
823
+ Ee(e), ae();
824
824
  return;
825
825
  }
826
826
  !l && !e.Ne && le(e), ft(e, t, n, l, u);
@@ -1050,10 +1050,10 @@ function Mt(e) {
1050
1050
  function Nt(e, t) {
1051
1051
  if (e.Ne && L !== e.Ne && _e.initTransition(e.Ne), e._e !== void 0 && !H) return K.Gt(e, t);
1052
1052
  let n = e.De === v ? e.Ue : e.De;
1053
- return typeof t == "function" && (t = t(n)), e.S & 4 || !e.be || !e.be(n, t) ? (e.De === v && le(e), e.De = t, (e.ge !== void 0 || e.pe !== void 0) && K.Pe !== null && K.Pe(e, t), e.de = I, de(e), ie(), t) : t;
1053
+ return typeof t == "function" && (t = t(n)), e.S & 4 || !e.be || !e.be(n, t) ? (e.De === v && le(e), e.De = t, (e.ge !== void 0 || e.pe !== void 0) && K.Pe !== null && K.Pe(e, t), e.de = I, de(e), ae(), t) : t;
1054
1054
  }
1055
1055
  function Pt(e) {
1056
- Ae(e, Te(e)), !(e.se & 1024) && e.De === v && (le(e), ie()), e.se = e.se & -4 | g;
1056
+ Ae(e, Te(e)), !(e.se & 1024) && e.De === v && (le(e), ae()), e.se = e.se & -4 | g;
1057
1057
  }
1058
1058
  function Ft(e, t) {
1059
1059
  let n = Nt(e, t);
@@ -1111,7 +1111,7 @@ function Ut(e, t) {
1111
1111
  this.S & 2 && (this.Je = !0, this.C.enqueue(this.Re, this.Xe ??= Wt.bind(null, this)));
1112
1112
  return;
1113
1113
  }
1114
- if (!this.C.notify(this, 2, 2)) throw ae(p(r)), r;
1114
+ if (!this.C.notify(this, 2, 2)) throw G(p(r)), r;
1115
1115
  } else this.Re === 1 && this.C.notify(this, 3, n, r);
1116
1116
  }
1117
1117
  function Wt(e) {
@@ -1125,7 +1125,7 @@ function Wt(e) {
1125
1125
  e.Tt = void 0, t?.();
1126
1126
  }) : console.error(t);
1127
1127
  } catch (t) {
1128
- if (!e.C.notify(e, 2, 2)) throw ae(t), t;
1128
+ if (!e.C.notify(e, 2, 2)) throw G(t), t;
1129
1129
  }
1130
1130
  return;
1131
1131
  }
@@ -1134,7 +1134,7 @@ function Wt(e) {
1134
1134
  try {
1135
1135
  t?.(), e.Tt = e.ft(e.Ue, e._t);
1136
1136
  } catch (t) {
1137
- if (e._ = new f(e, t), e.S |= 2, !e.C.notify(e, 2, 2)) throw ae(t), t;
1137
+ if (e._ = new f(e, t), e.S |= 2, !e.C.notify(e, 2, 2)) throw G(t), t;
1138
1138
  } finally {
1139
1139
  e._t = e.Ue, e.Je = !1;
1140
1140
  }
@@ -1158,7 +1158,7 @@ function Gt(e, t) {
1158
1158
  if ((e === void 0 ? r.S : e) & 2) {
1159
1159
  r.C.notify(r, 1, 0);
1160
1160
  let e = t === void 0 ? r._ : t;
1161
- if (!r.C.notify(r, 2, 2)) throw ae(p(e)), e;
1161
+ if (!r.C.notify(r, 2, 2)) throw G(p(e)), e;
1162
1162
  }
1163
1163
  }, r.Ft = n, r.C.enqueue(2, n);
1164
1164
  }
@@ -1516,41 +1516,41 @@ function Tn(e, t) {
1516
1516
  let n = {
1517
1517
  get(e, t) {
1518
1518
  let r;
1519
- Jn(!0), G(!0);
1519
+ Jn(!0), ne(!0);
1520
1520
  try {
1521
1521
  r = e[t];
1522
1522
  } finally {
1523
- Jn(!1), G(!1);
1523
+ Jn(!1), ne(!1);
1524
1524
  }
1525
1525
  return t === Dn ? r : typeof r == "object" && r ? new Proxy(r, n) : r;
1526
1526
  },
1527
1527
  has(e, t) {
1528
1528
  let n;
1529
- Jn(!0), G(!0);
1529
+ Jn(!0), ne(!0);
1530
1530
  try {
1531
1531
  n = t in e;
1532
1532
  } finally {
1533
- Jn(!1), G(!1);
1533
+ Jn(!1), ne(!1);
1534
1534
  }
1535
1535
  return n;
1536
1536
  },
1537
1537
  set(n, r, i) {
1538
1538
  if (e && !e()) return !0;
1539
- Jn(!0), G(!0);
1539
+ Jn(!0), ne(!0);
1540
1540
  try {
1541
1541
  n[r] = i, t?.();
1542
1542
  } finally {
1543
- Jn(!1), G(!1);
1543
+ Jn(!1), ne(!1);
1544
1544
  }
1545
1545
  return !0;
1546
1546
  },
1547
1547
  deleteProperty(n, r) {
1548
1548
  if (e && !e()) return !0;
1549
- Jn(!0), G(!0);
1549
+ Jn(!0), ne(!0);
1550
1550
  try {
1551
1551
  delete n[r], t?.();
1552
1552
  } finally {
1553
- Jn(!1), G(!1);
1553
+ Jn(!1), ne(!1);
1554
1554
  }
1555
1555
  return !0;
1556
1556
  }
@@ -8150,7 +8150,7 @@ function Hu(e) {
8150
8150
  D = e.setTimeout(() => {
8151
8151
  D = 0, t === A && M(Sl(j()), t);
8152
8152
  }, 100);
8153
- }, P = () => e.model.state.toolMode === "select", F = () => e.model.state.xrayVisible, I = () => e.model.state.colorPickerActive, L = () => e.model.state.rulersVisible, R = () => e.model.state.toolMode === "text-inspector" || (e.typographyContextActive ?? !1), z = () => e.model.state.toolMode === "guides", B = () => e.model.state.settingsOpen, V = () => (e.pluginTools ?? []).find((e) => e.modeSwitch === !0 && e.toolbarMode === "edit"), H = () => V()?.active?.() ? "edit" : "select", U = () => (e.pluginTools ?? []).filter((e) => e.toolbarMode === "select" && !e.modeSwitch), W = () => (e.pluginTools ?? []).filter((e) => e.toolbarMode === "edit" && !e.modeSwitch), ee = () => (e.pluginTools ?? []).filter((e) => e.toolbarMode === "always" || e.toolbarMode === void 0), te = () => ee().some((e) => e.active?.() ?? !1), G = () => P() || F() || I() || L() || R() || z(), ne = (e, t = !1) => t || !d() || e, re = () => ee().length > 0 && (!d() || G() || te()), ie = () => !d() || G() || te() || B(), ae = () => !r() && !a() && !e.model.state.settingsOpen, oe = (t) => e.isBuiltinActionDisabled?.(t) ?? !1, se = () => e.ownerWindow.innerHeight || 0, ce = () => t().y < 56, K = () => se() > 0 && t().y > se() - 56, le = () => ce() && !K() ? "bottom" : "top", ue = () => {
8153
+ }, P = () => e.model.state.toolMode === "select", F = () => e.model.state.xrayVisible, I = () => e.model.state.colorPickerActive, L = () => e.model.state.rulersVisible, R = () => e.model.state.toolMode === "text-inspector" || (e.typographyContextActive ?? !1), z = () => e.model.state.toolMode === "guides", B = () => e.model.state.settingsOpen, V = () => (e.pluginTools ?? []).find((e) => e.modeSwitch === !0 && e.toolbarMode === "edit"), H = () => V()?.active?.() ? "edit" : "select", U = () => (e.pluginTools ?? []).filter((e) => e.toolbarMode === "select" && !e.modeSwitch), W = () => (e.pluginTools ?? []).filter((e) => e.toolbarMode === "edit" && !e.modeSwitch), ee = () => (e.pluginTools ?? []).filter((e) => e.toolbarMode === "always" || e.toolbarMode === void 0), te = () => ee().some((e) => e.active?.() ?? !1), ne = () => P() || F() || I() || L() || R() || z(), re = (e, t = !1) => t || !d() || e, ie = () => ee().length > 0 && (!d() || ne() || te()), ae = () => !d() || ne() || te() || B(), G = () => !r() && !a() && !e.model.state.settingsOpen, oe = (t) => e.isBuiltinActionDisabled?.(t) ?? !1, se = () => e.ownerWindow.innerHeight || 0, ce = () => t().y < 56, K = () => se() > 0 && t().y > se() - 56, le = () => ce() && !K() ? "bottom" : "top", ue = () => {
8154
8154
  t();
8155
8155
  let e = v?.getBoundingClientRect();
8156
8156
  if (!e) return K() ? "top" : "bottom";
@@ -8255,7 +8255,7 @@ function Hu(e) {
8255
8255
  !t || t.disabled?.() || (i(!1), o(null), xe(), e.onPluginTool?.(t));
8256
8256
  }, we = (t) => ({
8257
8257
  shortcutsEnabled: e.model.state.settings.shortcutsEnabled,
8258
- tooltipVisible: ae() && h.visibleTooltipId() === t,
8258
+ tooltipVisible: G() && h.visibleTooltipId() === t,
8259
8259
  tooltipInstant: h.tooltipInstant(),
8260
8260
  tooltipSide: le(),
8261
8261
  onTooltipEnter: h.onTooltipEnter,
@@ -8322,7 +8322,7 @@ function Hu(e) {
8322
8322
  }
8323
8323
  }), Ee = (t, n = !1) => Y(Ru, {
8324
8324
  get visible() {
8325
- return ne(t.active?.() ?? !1, n);
8325
+ return re(t.active?.() ?? !1, n);
8326
8326
  },
8327
8327
  get children() {
8328
8328
  return Y(q, {
@@ -8390,7 +8390,7 @@ function Hu(e) {
8390
8390
  return `${t.label} options`;
8391
8391
  },
8392
8392
  get visible() {
8393
- return ea(() => !!ae())() ? h.visibleTooltipId() === `plugin-menu:${t.id}` : ae();
8393
+ return ea(() => !!G())() ? h.visibleTooltipId() === `plugin-menu:${t.id}` : G();
8394
8394
  },
8395
8395
  get instant() {
8396
8396
  return h.tooltipInstant();
@@ -8464,13 +8464,17 @@ function Hu(e) {
8464
8464
  }), Ne = X("div", {
8465
8465
  class: "mesurer-toolbar-mode-slot",
8466
8466
  "data-mode": "edit"
8467
- }), Pe = X("div", { class: "mesurer-toolbar-mode-panel" }), Fe = X("div", { class: "msr:flex msr:items-stretch msr:px-0.5 msr:py-1" }), Ie = X("div", { class: "msr:flex msr:items-center msr:p-1" }), Le = X("button", {
8467
+ }), Pe = X("div", { class: "mesurer-toolbar-mode-panel" }), Fe = X("div", {
8468
+ role: "group",
8469
+ "aria-label": "Shared guide tools",
8470
+ class: "msr:flex msr:items-stretch msr:py-1"
8471
+ }), Ie = X("div", { class: "msr:flex msr:items-stretch msr:px-0.5 msr:py-1" }), Le = X("div", { class: "msr:flex msr:items-center msr:p-1" }), Re = X("button", {
8468
8472
  type: "button",
8469
8473
  "data-mesurer-toolbar-compact-toggle": "true",
8470
8474
  class: "msr:flex msr:size-7 msr:select-none msr:items-center msr:justify-center msr:rounded-[7px] msr:text-black msr:outline-none msr:hover:bg-black/4",
8471
8475
  onClick: be
8472
8476
  });
8473
- return Z(De, Oe), Z(De, Fe), Z(De, Ie), aa(() => (e) => {
8477
+ return Z(De, Oe), Z(De, Fe), Z(De, Ie), Z(De, Le), aa(() => (e) => {
8474
8478
  g = e;
8475
8479
  }, De), Q(De, Y(Bu, {
8476
8480
  get value() {
@@ -8495,7 +8499,7 @@ function Hu(e) {
8495
8499
  return e.model.state.settings.shortcutsEnabled;
8496
8500
  },
8497
8501
  get tooltipVisibleId() {
8498
- return ea(() => !!ae())() ? h.visibleTooltipId() : null;
8502
+ return ea(() => !!G())() ? h.visibleTooltipId() : null;
8499
8503
  },
8500
8504
  get tooltipInstant() {
8501
8505
  return h.tooltipInstant();
@@ -8521,7 +8525,7 @@ function Hu(e) {
8521
8525
  b = e;
8522
8526
  }, je), Q(Me, Y(Ru, {
8523
8527
  get visible() {
8524
- return ne(P());
8528
+ return re(P());
8525
8529
  },
8526
8530
  get children() {
8527
8531
  return Y(Lu, ra({
@@ -8539,7 +8543,7 @@ function Hu(e) {
8539
8543
  }
8540
8544
  }), null), Q(Me, Y(Ru, {
8541
8545
  get visible() {
8542
- return ne(F());
8546
+ return re(F());
8543
8547
  },
8544
8548
  get children() {
8545
8549
  return Y(Lu, ra({
@@ -8562,7 +8566,7 @@ function Hu(e) {
8562
8566
  get children() {
8563
8567
  return Y(Ru, {
8564
8568
  get visible() {
8565
- return ne(I());
8569
+ return re(I());
8566
8570
  },
8567
8571
  get children() {
8568
8572
  return Y(Lu, ra({
@@ -8585,25 +8589,7 @@ function Hu(e) {
8585
8589
  }
8586
8590
  }), null), Q(Me, Y(Ru, {
8587
8591
  get visible() {
8588
- return ne(L(), !0);
8589
- },
8590
- get children() {
8591
- return Y(Lu, ra({
8592
- id: "rulers",
8593
- builtin: "rulers",
8594
- get active() {
8595
- return L();
8596
- },
8597
- label: "Rulers",
8598
- shortcut: "R",
8599
- onClick: () => e.onBuiltinAction("rulers")
8600
- }, () => we("rulers"), { get children() {
8601
- return Y(Gl, { size: 20 });
8602
- } }));
8603
- }
8604
- }), null), Q(Me, Y(Ru, {
8605
- get visible() {
8606
- return ne(R());
8592
+ return re(R());
8607
8593
  },
8608
8594
  get children() {
8609
8595
  return Y(Lu, ra({
@@ -8622,9 +8608,65 @@ function Hu(e) {
8622
8608
  return Y(Yl, { size: 20 });
8623
8609
  } }));
8624
8610
  }
8625
- }), null), Q(Me, Y(Ru, {
8611
+ }), null), Q(je, Y(q, {
8612
+ get when() {
8613
+ return U().length > 0;
8614
+ },
8615
+ get children() {
8616
+ return [Y(zu, { marker: "select-plugins" }), (() => {
8617
+ var e = X("div", {
8618
+ role: "group",
8619
+ "aria-label": "Select plugin tools",
8620
+ class: "msr:flex msr:items-stretch msr:px-0.5 msr:py-1"
8621
+ });
8622
+ return Q(e, Y(Zr, {
8623
+ get each() {
8624
+ return U();
8625
+ },
8626
+ children: (e) => Ee(e, e.compactPinned ?? !1)
8627
+ })), e;
8628
+ })()];
8629
+ }
8630
+ }), null), Z(Ne, Pe), aa(() => (e) => {
8631
+ x = e;
8632
+ }, Pe), Q(Pe, Y(q, {
8633
+ get when() {
8634
+ return W().length > 0;
8635
+ },
8636
+ get children() {
8637
+ var e = X("div", {
8638
+ role: "group",
8639
+ "aria-label": "Edit tools",
8640
+ class: "msr:flex msr:items-stretch msr:px-0.5 msr:py-1"
8641
+ });
8642
+ return Q(e, Y(Zr, {
8643
+ get each() {
8644
+ return W();
8645
+ },
8646
+ children: (e) => Ee(e)
8647
+ })), e;
8648
+ }
8649
+ })), Q(Fe, Y(Ru, {
8650
+ get visible() {
8651
+ return re(L(), !0);
8652
+ },
8653
+ get children() {
8654
+ return Y(Lu, ra({
8655
+ id: "rulers",
8656
+ builtin: "rulers",
8657
+ get active() {
8658
+ return L();
8659
+ },
8660
+ label: "Rulers",
8661
+ shortcut: "R",
8662
+ onClick: () => e.onBuiltinAction("rulers")
8663
+ }, () => we("rulers"), { get children() {
8664
+ return Y(Gl, { size: 20 });
8665
+ } }));
8666
+ }
8667
+ }), null), Q(Fe, Y(Ru, {
8626
8668
  get visible() {
8627
- return ne(z(), !0);
8669
+ return re(z(), !0);
8628
8670
  },
8629
8671
  get children() {
8630
8672
  return [Y(Lu, ra({
@@ -8664,7 +8706,7 @@ function Hu(e) {
8664
8706
  }, t), Q(n, Y(Kl, { size: 8 })), Q(t, Y(bo, {
8665
8707
  label: "Orientation Guide",
8666
8708
  get visible() {
8667
- return ea(() => !!ae())() ? h.visibleTooltipId() === "guide-menu" : ae();
8709
+ return ea(() => !!G())() ? h.visibleTooltipId() === "guide-menu" : G();
8668
8710
  },
8669
8711
  get instant() {
8670
8712
  return h.tooltipInstant();
@@ -8722,52 +8764,14 @@ function Hu(e) {
8722
8764
  }), t;
8723
8765
  })()];
8724
8766
  }
8725
- }), null), Q(je, Y(q, {
8726
- get when() {
8727
- return U().length > 0;
8728
- },
8729
- get children() {
8730
- return [Y(zu, { marker: "select-plugins" }), (() => {
8731
- var e = X("div", {
8732
- role: "group",
8733
- "aria-label": "Select plugin tools",
8734
- class: "msr:flex msr:items-stretch msr:px-0.5 msr:py-1"
8735
- });
8736
- return Q(e, Y(Zr, {
8737
- get each() {
8738
- return U();
8739
- },
8740
- children: (e) => Ee(e, e.compactPinned ?? !1)
8741
- })), e;
8742
- })()];
8743
- }
8744
- }), null), Z(Ne, Pe), aa(() => (e) => {
8745
- x = e;
8746
- }, Pe), Q(Pe, Y(q, {
8747
- get when() {
8748
- return W().length > 0;
8749
- },
8750
- get children() {
8751
- var e = X("div", {
8752
- role: "group",
8753
- "aria-label": "Edit tools",
8754
- class: "msr:flex msr:items-stretch msr:px-0.5 msr:py-1"
8755
- });
8756
- return Q(e, Y(Zr, {
8757
- get each() {
8758
- return W();
8759
- },
8760
- children: (e) => Ee(e)
8761
- })), e;
8762
- }
8763
- })), Q(De, Y(q, {
8767
+ }), null), Q(De, Y(q, {
8764
8768
  get when() {
8765
8769
  return ee().length > 0;
8766
8770
  },
8767
8771
  get children() {
8768
8772
  return [Y(zu, {
8769
8773
  get visible() {
8770
- return re();
8774
+ return ie();
8771
8775
  },
8772
8776
  marker: "plugins"
8773
8777
  }), (() => {
@@ -8784,9 +8788,9 @@ function Hu(e) {
8784
8788
  })), e;
8785
8789
  })()];
8786
8790
  }
8787
- }), Fe), Q(Fe, Y(Ru, {
8791
+ }), Ie), Q(Ie, Y(Ru, {
8788
8792
  get visible() {
8789
- return ne(B());
8793
+ return re(B());
8790
8794
  },
8791
8795
  get children() {
8792
8796
  var t = X("div", {
@@ -8852,10 +8856,10 @@ function Hu(e) {
8852
8856
  }
8853
8857
  })), Q(De, Y(zu, {
8854
8858
  get visible() {
8855
- return ie();
8859
+ return ae();
8856
8860
  },
8857
8861
  marker: "compact"
8858
- }), Ie), Z(Ie, Le), Q(Le, Y(Kl, {
8862
+ }), Le), Z(Le, Re), Q(Re, Y(Kl, {
8859
8863
  size: 10,
8860
8864
  get class() {
8861
8865
  return d() ? "msr:-rotate-90" : "msr:rotate-90";
@@ -8878,7 +8882,7 @@ function Hu(e) {
8878
8882
  u: d() ? "Expand toolbar" : "Compact toolbar",
8879
8883
  c: d() ? "true" : "false"
8880
8884
  }), ({ e, t, a: n, o: r, i, n: a, s: o, h: s, r: c, d: l, l: u, u: d, c: f }, p) => {
8881
- e !== p?.e && $(De, "data-mesurer-toolbar-compact", e, p?.e), t !== p?.t && $(De, "data-mesurer-toolbar-mode", t, p?.t), n !== p?.a && $(De, "style", n, p?.a), r !== p?.o && $(De, "onMouseLeave", r, p?.o), i !== p?.i && $(Oe, "data-mode", i, p?.i), a !== p?.n && $(Ae, "data-open", a, p?.n), o !== p?.s && $(Ae, "aria-hidden", o, p?.s), s !== p?.h && $(Ae, "inert", s, p?.h), c !== p?.r && $(Ne, "data-open", c, p?.r), l !== p?.d && $(Ne, "aria-hidden", l, p?.d), u !== p?.l && $(Ne, "inert", u, p?.l), d !== p?.u && $(Le, "aria-label", d, p?.u), f !== p?.c && $(Le, "aria-pressed", f, p?.c);
8885
+ e !== p?.e && $(De, "data-mesurer-toolbar-compact", e, p?.e), t !== p?.t && $(De, "data-mesurer-toolbar-mode", t, p?.t), n !== p?.a && $(De, "style", n, p?.a), r !== p?.o && $(De, "onMouseLeave", r, p?.o), i !== p?.i && $(Oe, "data-mode", i, p?.i), a !== p?.n && $(Ae, "data-open", a, p?.n), o !== p?.s && $(Ae, "aria-hidden", o, p?.s), s !== p?.h && $(Ae, "inert", s, p?.h), c !== p?.r && $(Ne, "data-open", c, p?.r), l !== p?.d && $(Ne, "aria-hidden", l, p?.d), u !== p?.l && $(Ne, "inert", u, p?.l), d !== p?.u && $(Re, "aria-label", d, p?.u), f !== p?.c && $(Re, "aria-pressed", f, p?.c);
8882
8886
  }), De;
8883
8887
  }
8884
8888
  var Uu = (e) => Number.parseFloat(e) || 0, Wu = 0, Gu = (e, t) => {
@@ -10132,18 +10136,18 @@ function op(e = {}, t = !1) {
10132
10136
  E.push(m), m.detach = ee(m), d.querySelector(".mesurer-ti-close")?.addEventListener("click", (e) => {
10133
10137
  e.preventDefault(), e.stopPropagation(), U(m);
10134
10138
  }), o && e.onPin?.(t, f);
10135
- }, G = (e) => {
10139
+ }, ne = (e) => {
10136
10140
  W(!1);
10137
10141
  for (let t of e) t.sourceEl.isConnected && te(t.sourceEl, t, !1, !1);
10138
- }, ne = () => {
10139
- let e = D.pop();
10140
- return e ? (O.push(V()), G(e), !0) : !1;
10141
10142
  }, re = () => {
10142
- let e = O.pop();
10143
- return e ? (D.push(V()), G(e), !0) : !1;
10143
+ let e = D.pop();
10144
+ return e ? (O.push(V()), ne(e), !0) : !1;
10144
10145
  }, ie = () => {
10145
- E.length && (H(), W(!0));
10146
+ let e = O.pop();
10147
+ return e ? (D.push(V()), ne(e), !0) : !1;
10146
10148
  }, ae = () => {
10149
+ E.length && (H(), W(!0));
10150
+ }, G = () => {
10147
10151
  for (let e of E.slice()) {
10148
10152
  if (!e.sourceEl.isConnected) {
10149
10153
  U(e, !1, !1);
@@ -10165,7 +10169,7 @@ function op(e = {}, t = !1) {
10165
10169
  M(g, t), M(_, t);
10166
10170
  }
10167
10171
  }
10168
- ae();
10172
+ G();
10169
10173
  }
10170
10174
  }, se = () => {
10171
10175
  if (!m) return;
@@ -10176,7 +10180,7 @@ function op(e = {}, t = !1) {
10176
10180
  let t = e.getBoundingClientRect();
10177
10181
  Rf(g, t), Vf(r, _, t);
10178
10182
  }
10179
- ae();
10183
+ G();
10180
10184
  }, ce = () => {
10181
10185
  b ||= r.requestAnimationFrame(() => {
10182
10186
  b = 0, se();
@@ -10241,9 +10245,9 @@ function op(e = {}, t = !1) {
10241
10245
  return {
10242
10246
  enable: he,
10243
10247
  disable: ge,
10244
- undo: ne,
10245
- redo: re,
10246
- clear: ie,
10248
+ undo: re,
10249
+ redo: ie,
10250
+ clear: ae,
10247
10251
  inspect: B,
10248
10252
  isEnabled: () => m,
10249
10253
  canUndo: () => D.length > 0,
@@ -10536,7 +10540,7 @@ function Tp(e) {
10536
10540
  end: n,
10537
10541
  isDragging: a
10538
10542
  });
10539
- }, G = (e) => {
10543
+ }, ne = (e) => {
10540
10544
  if (!t.current.enabled) return;
10541
10545
  if (t.current.toolMode === "guides") {
10542
10546
  H(), e.currentTarget.hasPointerCapture?.(e.pointerId) && e.currentTarget.releasePointerCapture?.(e.pointerId), W();
@@ -10606,9 +10610,9 @@ function Tp(e) {
10606
10610
  t.setActiveMeasurement(r);
10607
10611
  } else e.shiftKey || (t.checkpoint(), t.setSelectedMeasurements([], null));
10608
10612
  W();
10609
- }, ne = () => {
10613
+ }, re = () => {
10610
10614
  H(), t.current.draggingGuideId || W(), t.setTransient({ guidePreview: null });
10611
- }, re = (e, n) => {
10615
+ }, ie = (e, n) => {
10612
10616
  if (!(!t.current.enabled || n.button !== 0 || t.current.settingsOpen)) {
10613
10617
  if (n.preventDefault(), n.stopPropagation(), t.checkpoint(), n.shiftKey) {
10614
10618
  let n = t.current.selectedGuideIds.includes(e.id) ? t.current.selectedGuideIds.filter((t) => t !== e.id) : [...t.current.selectedGuideIds, e.id];
@@ -10617,9 +10621,9 @@ function Tp(e) {
10617
10621
  }
10618
10622
  t.setSelectedGuideIds([e.id]), t.setTransient({ draggingGuideId: e.id }), ms(n.currentTarget, n.pointerId);
10619
10623
  }
10620
- }, ie = (e, n) => {
10624
+ }, ae = (e, n) => {
10621
10625
  n.stopPropagation(), t.setTransient({ draggingGuideId: null }), n.currentTarget.hasPointerCapture?.(n.pointerId) && n.currentTarget.releasePointerCapture?.(n.pointerId);
10622
- }, ae = (e, n, r = null) => Nd({
10626
+ }, G = (e, n, r = null) => Nd({
10623
10627
  orientation: e,
10624
10628
  point: e === "vertical" ? {
10625
10629
  x: n,
@@ -10639,11 +10643,11 @@ function Tp(e) {
10639
10643
  return t.addGuide({
10640
10644
  id: r,
10641
10645
  orientation: e,
10642
- position: ae(e, n)
10646
+ position: G(e, n)
10643
10647
  }), t.setSelectedGuideIds([]), r;
10644
10648
  }, se = (e, n) => {
10645
10649
  let r = t.current.guides.find((t) => t.id === e);
10646
- r && t.updateGuide(e, { position: ae(r.orientation, n, e) });
10650
+ r && t.updateGuide(e, { position: G(r.orientation, n, e) });
10647
10651
  }, ce = (e) => {
10648
10652
  t.current.settings.selectNewGuideEnabled && t.setSelectedGuideIds([e]);
10649
10653
  }, K = (e) => t.setGuides(t.current.guides.filter((t) => t.id !== e)), le = () => {
@@ -10856,7 +10860,7 @@ function Tp(e) {
10856
10860
  let n = t.current.draggingGuideId;
10857
10861
  if (!n) return;
10858
10862
  let r = t.current.guides.find((e) => e.id === n);
10859
- r && t.updateGuide(n, { position: ae(r.orientation, r.orientation === "vertical" ? e.clientX : e.clientY, n) });
10863
+ r && t.updateGuide(n, { position: G(r.orientation, r.orientation === "vertical" ? e.clientX : e.clientY, n) });
10860
10864
  }, I = () => t.setTransient({ draggingGuideId: null });
10861
10865
  return s.addEventListener("pointermove", F, !0), s.addEventListener("pointerup", I, !0), s.addEventListener("pointercancel", I, !0), () => {
10862
10866
  s.cancelAnimationFrame(w), s.cancelAnimationFrame(y), H(), s.clearTimeout(A), s.clearTimeout(_), t.current.settings.persistOnReload && a.saveWorkspace(t.serializeWorkspace()), p?.(), x(), a.setErrorHandler?.(void 0), s.removeEventListener("keydown", S), s.removeEventListener("keyup", C), s.removeEventListener("scroll", P, !0), s.removeEventListener("resize", M, !0), s.removeEventListener("pointermove", F, !0), s.removeEventListener("pointerup", I, !0), s.removeEventListener("pointercancel", I, !0), m?.destroy(), m = null, k.dispose(), E.dispose(), r.onBuiltinController?.(null);
@@ -10929,10 +10933,10 @@ function Tp(e) {
10929
10933
  editSelectionHover: () => r.editSelectionHover?.() ?? !1,
10930
10934
  onPointerDown: ee,
10931
10935
  onPointerMove: te,
10932
- onPointerUp: G,
10933
- onPointerLeave: ne,
10934
- onGuidePointerDown: re,
10935
- onGuidePointerUp: ie
10936
+ onPointerUp: ne,
10937
+ onPointerLeave: re,
10938
+ onGuidePointerDown: ie,
10939
+ onGuidePointerUp: ae
10936
10940
  }), null), Q(n, Y(So, {
10937
10941
  model: t,
10938
10942
  ownerWindow: s,
@@ -11283,7 +11287,7 @@ var Dp = "mesurer.presentation.preferences", Op = "presentation", kp = {
11283
11287
  }, ee = () => !!(n.querySelector(nm) || s.querySelector(nm)), te = () => {
11284
11288
  for (let [e, t] of g) t.value || t.priority ? e.style.setProperty("visibility", t.value, t.priority) : e.style.removeProperty("visibility");
11285
11289
  g.clear();
11286
- }, G = () => {
11290
+ }, ne = () => {
11287
11291
  if (ee()) {
11288
11292
  te();
11289
11293
  return;
@@ -11292,43 +11296,43 @@ var Dp = "mesurer.presentation.preferences", Op = "presentation", kp = {
11292
11296
  value: e.style.getPropertyValue("visibility"),
11293
11297
  priority: e.style.getPropertyPriority("visibility")
11294
11298
  }), e.style.setProperty("visibility", "hidden", "important")));
11295
- }, ne = (e) => {
11299
+ }, re = (e) => {
11296
11300
  if (e.parentElement instanceof c.HTMLElement) return e.parentElement;
11297
11301
  let t = e.getRootNode();
11298
11302
  return t instanceof c.ShadowRoot && t.host instanceof c.HTMLElement ? t.host : null;
11299
- }, re = (e, t) => {
11300
- let n = ne(e);
11303
+ }, ie = (e, t) => {
11304
+ let n = re(e);
11301
11305
  for (; n;) {
11302
11306
  let e = t.get(n);
11303
11307
  if (e) return e;
11304
- n = ne(n);
11308
+ n = re(n);
11305
11309
  }
11306
11310
  return {
11307
11311
  x: 0,
11308
11312
  y: 0
11309
11313
  };
11310
- }, ie = (e = A()) => {
11314
+ }, ae = (e = A()) => {
11311
11315
  let t = /* @__PURE__ */ new Map();
11312
11316
  for (let n of e) for (let e of n.targets) {
11313
11317
  let n = F(e);
11314
11318
  n && t.set(n, e);
11315
11319
  }
11316
11320
  return t;
11317
- }, ae = (e) => e.offsetSpace !== "local" || e.desiredLocalOffsetX === null || e.desiredLocalOffsetY === null ? null : {
11321
+ }, G = (e) => e.offsetSpace !== "local" || e.desiredLocalOffsetX === null || e.desiredLocalOffsetY === null ? null : {
11318
11322
  x: e.desiredLocalOffsetX,
11319
11323
  y: e.desiredLocalOffsetY
11320
11324
  }, oe = (e, t) => {
11321
- let n = ne(e);
11325
+ let n = re(e);
11322
11326
  for (; n;) {
11323
11327
  if (t.has(n)) return n;
11324
- n = ne(n);
11328
+ n = re(n);
11325
11329
  }
11326
11330
  return null;
11327
11331
  }, se = (e = A(), t = /* @__PURE__ */ new Map()) => {
11328
- let n = ie(e), r = /* @__PURE__ */ new Set([...n.keys(), ...t.keys()]), i = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ new Set(), o = (e) => {
11332
+ let n = ae(e), r = /* @__PURE__ */ new Set([...n.keys(), ...t.keys()]), i = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ new Set(), o = (e) => {
11329
11333
  let s = i.get(e);
11330
11334
  if (s) return s;
11331
- let c = n.get(e), l = t.get(e) ?? (c ? ae(c) : null);
11335
+ let c = n.get(e), l = t.get(e) ?? (c ? G(c) : null);
11332
11336
  if (!l && c) {
11333
11337
  let t = {
11334
11338
  x: c.desiredOffsetX,
@@ -11373,7 +11377,7 @@ var Dp = "mesurer.presentation.preferences", Op = "presentation", kp = {
11373
11377
  }, K = (e) => {
11374
11378
  let t = [...e].flatMap(([t, n]) => {
11375
11379
  if (!t.isConnected || !M(t)) return [];
11376
- let r = re(t, e), i = {
11380
+ let r = ie(t, e), i = {
11377
11381
  x: n.x - r.x,
11378
11382
  y: n.y - r.y
11379
11383
  };
@@ -11424,13 +11428,13 @@ var Dp = "mesurer.presentation.preferences", Op = "presentation", kp = {
11424
11428
  he();
11425
11429
  return;
11426
11430
  }
11427
- let t = A(), r = ie(t), i = se(t), a = /* @__PURE__ */ new Set();
11431
+ let t = A(), r = ae(t), i = se(t), a = /* @__PURE__ */ new Set();
11428
11432
  for (let t of de()) {
11429
11433
  let o = r.get(t);
11430
11434
  if (!o) continue;
11431
11435
  let s = i.get(t);
11432
11436
  if (!s) continue;
11433
- let c = re(t, i), u = ae(o) ?? {
11437
+ let c = ie(t, i), u = G(o) ?? {
11434
11438
  x: s.x - c.x,
11435
11439
  y: s.y - c.y
11436
11440
  };
@@ -11554,14 +11558,14 @@ var Dp = "mesurer.presentation.preferences", Op = "presentation", kp = {
11554
11558
  v = {
11555
11559
  intentId: null,
11556
11560
  state: "desired"
11557
- }, le(), U(), E() ? G() : te();
11561
+ }, le(), U(), E() ? ne() : te();
11558
11562
  }, Ce = () => {
11559
11563
  v = {
11560
11564
  intentId: null,
11561
11565
  state: "live"
11562
11566
  }, H(), U(), te();
11563
11567
  }, we = () => {
11564
- S || y || (le(), U(), E() ? G() : te(), xe());
11568
+ S || y || (le(), U(), E() ? ne() : te(), xe());
11565
11569
  }, Te = () => {
11566
11570
  C || S || (C = r.requestAnimationFrame(() => {
11567
11571
  C = 0, we();
@@ -11588,10 +11592,10 @@ var Dp = "mesurer.presentation.preferences", Op = "presentation", kp = {
11588
11592
  intentId: null,
11589
11593
  state: "desired"
11590
11594
  }, le();
11591
- let u = ie(A()), d = se(A()), p = new Set(r);
11595
+ let u = ae(A()), d = se(A()), p = new Set(r);
11592
11596
  V();
11593
11597
  let m = r.map((e, t) => {
11594
- let n = Yu(e), r = re(e, d), i = d.get(e) ?? r, a = u.get(e), o = (a ? ae(a) : null) ?? {
11598
+ let n = Yu(e), r = ie(e, d), i = d.get(e) ?? r, a = u.get(e), o = (a ? G(a) : null) ?? {
11595
11599
  x: i.x - r.x,
11596
11600
  y: i.y - r.y
11597
11601
  }, s = im(n, i), c = gd(e);
@@ -11637,7 +11641,7 @@ var Dp = "mesurer.presentation.preferences", Op = "presentation", kp = {
11637
11641
  le();
11638
11642
  return;
11639
11643
  }
11640
- le(), G(), U(), y = {
11644
+ le(), ne(), U(), y = {
11641
11645
  pointerId: e.pointerId,
11642
11646
  originX: e.clientX,
11643
11647
  originY: e.clientY,
@@ -12021,7 +12025,7 @@ var Dp = "mesurer.presentation.preferences", Op = "presentation", kp = {
12021
12025
  e.state.update(Fp, () => ({ intents: [] })), v = {
12022
12026
  intentId: null,
12023
12027
  state: "desired"
12024
- }, H(), U(), E() ? G() : te(), xe();
12028
+ }, H(), U(), E() ? ne() : te(), xe();
12025
12029
  }), e.service.provide(Pp, Be), le(), xe(), e.lifecycle.onDispose(() => {
12026
12030
  S = !0, C && r.cancelAnimationFrame(C), w?.disconnect(), w = null, f.removeEventListener("pointerdown", De), f.removeEventListener("pointermove", ke), f.removeEventListener("pointerup", je), f.removeEventListener("pointercancel", Me), r.removeEventListener("pointermove", Pe, !0), r.removeEventListener("keydown", Fe, !0), r.removeEventListener("resize", Te), r.removeEventListener("scroll", Te, !0), o.removeEventListener("scroll", Te, !0), Ie(), Le.dispose(), H(), he(), U(), te(), i.dispose(), a.dispose();
12027
12031
  });
@@ -12165,7 +12169,7 @@ function Um(e, t) {
12165
12169
  c = !1, l = !1;
12166
12170
  return;
12167
12171
  }
12168
- if (n === "select") {
12172
+ if (n === "select" || n === "guides") {
12169
12173
  c = !1, l = !1;
12170
12174
  return;
12171
12175
  }
@@ -12177,7 +12181,7 @@ function Um(e, t) {
12177
12181
  }));
12178
12182
  }, d = () => {
12179
12183
  let e = t.currentToolMode?.();
12180
- s === "select" && e !== void 0 && e !== "select" && (l = !0), s = e, u();
12184
+ (s === "select" || s === "guides") && e !== void 0 && e !== "select" && e !== "guides" && (l = !0), s = e, u();
12181
12185
  }, f = () => {
12182
12186
  let t = e.state.get("mesurer.arrange.active") ?? !1;
12183
12187
  t && !o && (c = !0), o = t, u();
@@ -12981,28 +12985,28 @@ function Yh(e, t) {
12981
12985
  return n === void 0 ? [] : [[e, n]];
12982
12986
  });
12983
12987
  H(e, n), e.editor.focus({ preventScroll: !0 });
12984
- }, G = (e) => {
12988
+ }, ne = (e) => {
12985
12989
  let t = B(e, "font-weight"), n = R(e, "font-weight");
12986
12990
  if (n && Wh(n.desired) >= 600 && Wh(n.before) < 600) {
12987
12991
  U(e, "font-weight", n.before);
12988
12992
  return;
12989
12993
  }
12990
12994
  U(e, "font-weight", Wh(t) >= 600 ? "400" : "700");
12991
- }, ne = (e) => {
12995
+ }, re = (e) => {
12992
12996
  let t = B(e, "font-style"), n = R(e, "font-style");
12993
12997
  if (n && n.desired !== "normal" && n.before === "normal") {
12994
12998
  U(e, "font-style", n.before);
12995
12999
  return;
12996
13000
  }
12997
13001
  U(e, "font-style", t === "normal" ? "italic" : "normal");
12998
- }, re = (e) => {
13002
+ }, ie = (e) => {
12999
13003
  let t = B(e, "text-decoration-line"), n = R(e, "text-decoration-line");
13000
13004
  if (n && n.desired.includes("underline") && !n.before.includes("underline")) {
13001
13005
  U(e, "text-decoration-line", n.before);
13002
13006
  return;
13003
13007
  }
13004
13008
  U(e, "text-decoration-line", t.includes("underline") ? "none" : "underline");
13005
- }, ie = (e, t, r, i, a) => {
13009
+ }, ae = (e, t, r, i, a) => {
13006
13010
  let o = n.createElement("button");
13007
13011
  return o.type = "button", o.textContent = t, o.title = r, o.setAttribute("aria-label", r), o.setAttribute("aria-pressed", i ? "true" : "false"), o.dataset.mesurerTextStyleButton = r.toLowerCase(), Object.assign(o.style, {
13008
13012
  width: "32px",
@@ -13023,7 +13027,7 @@ function Yh(e, t) {
13023
13027
  }), o.addEventListener("click", (t) => {
13024
13028
  t.preventDefault(), t.stopPropagation(), m === e && (a(), e.editor.focus({ preventScroll: !0 }));
13025
13029
  }), o;
13026
- }, ae = (e, t, r, i, a, o) => {
13030
+ }, G = (e, t, r, i, a, o) => {
13027
13031
  let s = n.createElement("label");
13028
13032
  Object.assign(s.style, {
13029
13033
  display: "grid",
@@ -13148,7 +13152,7 @@ function Yh(e, t) {
13148
13152
  for (let n of e.catalog.presets) t.append(ce(e, n, r?.id === n.id));
13149
13153
  t.append(K());
13150
13154
  let i = B(e, "font-family"), a = B(e, "font-size"), o = B(e, "font-weight"), s = B(e, "line-height"), c = B(e, "letter-spacing"), l = B(e, "color");
13151
- t.append(ae(e, "Font", e.catalog.fontFamilies, i, Uh, (t) => U(e, "font-family", t)), ae(e, "Size", e.catalog.fontSizes, a, (e) => e, (t) => U(e, "font-size", t)), ae(e, "Weight", e.catalog.fontWeights, o, (e) => e, (t) => U(e, "font-weight", t)), oe(e, "Line", "line-height", s), oe(e, "Tracking", "letter-spacing", c)), t.append(K());
13155
+ t.append(G(e, "Font", e.catalog.fontFamilies, i, Uh, (t) => U(e, "font-family", t)), G(e, "Size", e.catalog.fontSizes, a, (e) => e, (t) => U(e, "font-size", t)), G(e, "Weight", e.catalog.fontWeights, o, (e) => e, (t) => U(e, "font-weight", t)), oe(e, "Line", "line-height", s), oe(e, "Tracking", "letter-spacing", c)), t.append(K());
13152
13156
  let u = n.createElement("div");
13153
13157
  Object.assign(u.style, {
13154
13158
  display: "grid",
@@ -13231,7 +13235,7 @@ function Yh(e, t) {
13231
13235
  let t = e.toolbar;
13232
13236
  t.replaceChildren();
13233
13237
  let n = B(e, "font-weight"), r = B(e, "font-style"), i = B(e, "text-decoration-line");
13234
- t.append(ie(e, "B", "Bold", Wh(n) >= 600, () => G(e)), ie(e, "I", "Italic", r === "italic" || r === "oblique", () => ne(e)), ie(e, "U", "Underline", i.includes("underline"), () => re(e)), ue(e)), le(e);
13238
+ t.append(ae(e, "B", "Bold", Wh(n) >= 600, () => ne(e)), ae(e, "I", "Italic", r === "italic" || r === "oblique", () => re(e)), ae(e, "U", "Underline", i.includes("underline"), () => ie(e)), ue(e)), le(e);
13235
13239
  }, fe = () => {
13236
13240
  let e = m;
13237
13241
  if (!e || !e.element.isConnected) return;
@@ -13510,7 +13514,7 @@ function Yh(e, t) {
13510
13514
  if (e && (t.metaKey || t.ctrlKey) && !t.altKey && !t.shiftKey) {
13511
13515
  let e = t.key.toLowerCase();
13512
13516
  if (e === "b" || e === "i" || e === "u") {
13513
- t.preventDefault(), t.stopImmediatePropagation(), e === "b" ? G(n) : e === "i" ? ne(n) : re(n), n.editor.focus({ preventScroll: !0 });
13517
+ t.preventDefault(), t.stopImmediatePropagation(), e === "b" ? ne(n) : e === "i" ? re(n) : ie(n), n.editor.focus({ preventScroll: !0 });
13514
13518
  return;
13515
13519
  }
13516
13520
  }
@@ -15741,7 +15745,7 @@ function rv(e) {
15741
15745
  xrayVisible: t?.current.xrayVisible ?? !1,
15742
15746
  rulersVisible: t?.current.rulersVisible ?? !1,
15743
15747
  pluginToolIds: r
15744
- }, e && t && (t.current.xrayVisible && e.deactivate("xray"), t.current.rulersVisible && e.deactivate("rulers"), t.current.colorPickerActive && e.deactivate("color-picker"), t.current.toolMode === "text-inspector" && e.deactivate("text-inspector"), t.current.toolMode === "guides" && e.deactivate("guides"));
15748
+ }, e && t && (t.current.xrayVisible && e.deactivate("xray"), t.current.colorPickerActive && e.deactivate("color-picker"), t.current.toolMode === "text-inspector" && e.deactivate("text-inspector"));
15745
15749
  for (let e of r) {
15746
15750
  let t = n.tools().find((t) => t.id === e);
15747
15751
  !t || !(t.active?.() ?? !1) || await n.command.execute(t.command, void 0, {
@@ -15794,16 +15798,16 @@ function rv(e) {
15794
15798
  }, ee = () => {
15795
15799
  if (!_) throw Error("Mesurer built-in controller is unavailable for runtime bridge setup.");
15796
15800
  return _;
15797
- }, te = () => U().current.settings.theme, G = (e) => {
15801
+ }, te = () => U().current.settings.theme, ne = (e) => {
15798
15802
  let t = te();
15799
15803
  return e(t), U().subscribe(() => {
15800
15804
  let n = te();
15801
15805
  n !== t && (t = n, e(n));
15802
15806
  });
15803
- }, ne = () => {
15807
+ }, re = () => {
15804
15808
  let e = z.createElement("div");
15805
15809
  e.dataset.mesurerInspectorUi = "true";
15806
- let t = G((t) => {
15810
+ let t = ne((t) => {
15807
15811
  e.dataset.theme = t;
15808
15812
  });
15809
15813
  W().append(e);
@@ -15814,16 +15818,16 @@ function rv(e) {
15814
15818
  n || (n = !0, t(), e.remove());
15815
15819
  }
15816
15820
  };
15817
- }, re = (e) => J_({
15821
+ }, ie = (e) => J_({
15818
15822
  model: U(),
15819
15823
  ownerDocument: z,
15820
15824
  ownerWindow: B,
15821
15825
  uiRoot: I,
15822
15826
  pageTarget: V,
15823
15827
  persistenceKey: e ? `${P.persistKey ?? X_}:${e}:${B.location.origin}` : void 0
15824
- }), ie = z.createElement("style");
15825
- ie.dataset.mesurerPluginVisibility = "true", ie.dataset.mesurerInspectorUi = "true", ie.textContent = j(), I.append(ie);
15826
- let ae = P.persistKey ? `${P.persistKey}:plugins` : X_, oe = `${ae}:availability`, se = /* @__PURE__ */ new Map();
15828
+ }), ae = z.createElement("style");
15829
+ ae.dataset.mesurerPluginVisibility = "true", ae.dataset.mesurerInspectorUi = "true", ae.textContent = j(), I.append(ae);
15830
+ let G = P.persistKey ? `${P.persistKey}:plugins` : X_, oe = `${G}:availability`, se = /* @__PURE__ */ new Map();
15827
15831
  try {
15828
15832
  let e = B.localStorage.getItem(oe);
15829
15833
  if (e) {
@@ -15850,7 +15854,7 @@ function rv(e) {
15850
15854
  }, K = () => {
15851
15855
  o = 0;
15852
15856
  try {
15853
- B.localStorage.setItem(ae, JSON.stringify(N.state.serialize("persist")));
15857
+ B.localStorage.setItem(G, JSON.stringify(N.state.serialize("persist")));
15854
15858
  } catch (e) {
15855
15859
  P.onPluginError?.(e, "plugin-persistence");
15856
15860
  }
@@ -15861,7 +15865,7 @@ function rv(e) {
15861
15865
  }, de = () => ue();
15862
15866
  B.addEventListener("pagehide", de);
15863
15867
  let fe = N.subscribe((e) => {
15864
- if (x((e) => e + 1), ie.textContent = j(), (e.reason === "state" || e.reason === "history" || e.reason === "remove" || e.reason === "replace") && le(), S() && !b && (e.reason === "load" || e.reason === "remove" || e.reason === "replace") && ce(), e.reason === "remove" && e.pluginId?.startsWith("mesurer.")) {
15868
+ if (x((e) => e + 1), ae.textContent = j(), (e.reason === "state" || e.reason === "history" || e.reason === "remove" || e.reason === "replace") && le(), S() && !b && (e.reason === "load" || e.reason === "remove" || e.reason === "replace") && ce(), e.reason === "remove" && e.pluginId?.startsWith("mesurer.")) {
15865
15869
  let t = e.pluginId.slice(8);
15866
15870
  ev(t) && _?.deactivate(t);
15867
15871
  }
@@ -15940,7 +15944,7 @@ function rv(e) {
15940
15944
  let t = g?.current;
15941
15945
  return t ? e === "select" ? t.toolMode === "select" : e === "xray" ? t.xrayVisible : e === "color-picker" ? t.colorPickerActive : e === "rulers" ? t.rulersVisible : e === "text-inspector" ? t.toolMode === "text-inspector" : e === "guides" ? t.toolMode === "guides" : e === "settings" && t.settingsOpen : !1;
15942
15946
  }, Se = async (e) => {
15943
- if (D(e) || e !== "settings" && E() && (await F("select-mode-builtin"), e === "select" || xe(e))) return;
15947
+ if (D(e) || e !== "settings" && e !== "rulers" && e !== "guides" && E() && (await F("select-mode-builtin"), e === "select" || xe(e))) return;
15944
15948
  let t = w(e);
15945
15949
  if (t) {
15946
15950
  await L(t, {
@@ -15949,7 +15953,13 @@ function rv(e) {
15949
15953
  });
15950
15954
  return;
15951
15955
  }
15952
- T(e) && await ee().run(e);
15956
+ if (!T(e)) return;
15957
+ let n = ee();
15958
+ if (e === "guides" && E() && xe("guides")) {
15959
+ await n.run("select");
15960
+ return;
15961
+ }
15962
+ await n.run(e);
15953
15963
  };
15954
15964
  (async () => {
15955
15965
  for (let e of s) await me(e);
@@ -15967,9 +15977,9 @@ function rv(e) {
15967
15977
  currentToolMode: () => U().current.toolMode,
15968
15978
  currentToolbarMode: () => E() ? "edit" : "select",
15969
15979
  theme: te,
15970
- subscribeTheme: G,
15971
- createWorkspaceRuntime: re,
15972
- createInspectorMount: ne
15980
+ subscribeTheme: ne,
15981
+ createWorkspaceRuntime: ie,
15982
+ createInspectorMount: re
15973
15983
  };
15974
15984
  e.service.provide("runtime:solid", t), Mp(e), Um(e, t), H_(e, t);
15975
15985
  for (let t of Y_) e.command.register(tv(t), () => Se(t));
@@ -15986,7 +15996,7 @@ function rv(e) {
15986
15996
  h.clear();
15987
15997
  for (let e of N.settings()) h.set(e.id, new Map((e.controls ?? []).map((e) => [e.id, e.value()])));
15988
15998
  try {
15989
- let e = B.localStorage.getItem(ae);
15999
+ let e = B.localStorage.getItem(G);
15990
16000
  if (e) {
15991
16001
  let t = JSON.parse(e);
15992
16002
  N.state.restore(t, "persist");
@@ -15994,7 +16004,7 @@ function rv(e) {
15994
16004
  } catch (e) {
15995
16005
  P.onPluginError?.(e, "plugin-persistence");
15996
16006
  }
15997
- t && (C(!0), ie.textContent = j(), P.onPluginsReady?.(N));
16007
+ t && (C(!0), ae.textContent = j(), P.onPluginsReady?.(N));
15998
16008
  }
15999
16009
  })();
16000
16010
  let Ce = (e) => {
@@ -16053,7 +16063,7 @@ function rv(e) {
16053
16063
  return B.addEventListener("keydown", we, !0), () => {
16054
16064
  t = !1;
16055
16065
  for (let e of A) N.cancelLoad(e);
16056
- A.clear(), ue(), B.removeEventListener("pagehide", de), B.removeEventListener("keydown", we, !0), fe(), ie.remove(), g = null, _ = null, v = () => void 0, y = async () => void 0, r && N.dispose();
16066
+ A.clear(), ue(), B.removeEventListener("pagehide", de), B.removeEventListener("keydown", we, !0), fe(), ae.remove(), g = null, _ = null, v = () => void 0, y = async () => void 0, r && N.dispose();
16057
16067
  };
16058
16068
  }), Y(Nl, {
16059
16069
  runtime: {
@@ -16264,21 +16274,21 @@ function _v(e) {
16264
16274
  elements: [...t.elements],
16265
16275
  region: t.region ? { ...t.region } : null
16266
16276
  };
16267
- }, G = (e, t) => e.elements.length !== t.elements.length || e.elements.some((e, n) => e !== t.elements[n]) ? !1 : e.region === t.region ? !0 : !e.region || !t.region ? !1 : e.region.left === t.region.left && e.region.top === t.region.top && e.region.width === t.region.width && e.region.height === t.region.height, ne = () => {
16277
+ }, ne = (e, t) => e.elements.length !== t.elements.length || e.elements.some((e, n) => e !== t.elements[n]) ? !1 : e.region === t.region ? !0 : !e.region || !t.region ? !1 : e.region.left === t.region.left && e.region.top === t.region.top && e.region.width === t.region.width && e.region.height === t.region.height, re = () => {
16268
16278
  A = null, v(""), g(!1), b(null), m(null);
16269
- }, re = () => {
16279
+ }, ie = () => {
16270
16280
  let e = H();
16271
16281
  return !!(e.CSS?.supports("anchor-name: --mesurer-annotation-trigger") && e.CSS.supports("position-anchor: --mesurer-annotation-trigger") && e.CSS.supports("left: anchor(left)"));
16272
- }, ie = () => {
16282
+ }, ae = () => {
16273
16283
  let t = e.runtime.currentSelection().elements;
16274
16284
  if (!t.length) return null;
16275
16285
  let n = e.runtime.hoveredElement();
16276
16286
  return t.find((e) => e === n) ?? t.find((e) => n && e.contains(n)) ?? t[0];
16277
- }, ae = () => N?.parentElement, oe = () => {
16278
- let e = ae();
16287
+ }, G = () => N?.parentElement, oe = () => {
16288
+ let e = G();
16279
16289
  return e ? [...e.querySelectorAll("[data-mesurer-annotation-trigger='true'], [data-mesurer-annotation-composer='true']")].filter((e) => e !== P || I === null) : [];
16280
16290
  }, se = (e) => {
16281
- let t = ae();
16291
+ let t = G();
16282
16292
  return t ? [...t.querySelectorAll("[data-mesurer-annotation-id]")].filter((t) => t.dataset.mesurerAnnotationId === e) : [];
16283
16293
  }, ce = (e) => {
16284
16294
  let t = V.get(e);
@@ -16286,7 +16296,7 @@ function _v(e) {
16286
16296
  }, K = (t) => {
16287
16297
  let n = e.runtime.annotation(t);
16288
16298
  return !n || n.anchor.kind !== "elements" ? null : n.resolvedTargets.find(({ element: e }) => e?.isConnected)?.element ?? null;
16289
- }, le = (e) => !!(fv(e) && U() && N && re() && e.getRootNode() === N.getRootNode()), ue = (e) => {
16299
+ }, le = (e) => !!(fv(e) && U() && N && ie() && e.getRootNode() === N.getRootNode()), ue = (e) => {
16290
16300
  let t = K(e), n = V.get(e);
16291
16301
  if (!t) {
16292
16302
  n && (ce(e), i((e) => e + 1));
@@ -16328,11 +16338,11 @@ function _v(e) {
16328
16338
  for (let e of V.values()) e.anchorName || e.scroll.rebase();
16329
16339
  });
16330
16340
  };
16331
- e.initialTriggerFallback && (O = ie());
16341
+ e.initialTriggerFallback && (O = ae());
16332
16342
  let me = () => {
16333
16343
  R?.release(), R = null, L?.(), L = null, F = null, I = null;
16334
- }, he = (e) => !!(fv(e) && U() && N && e !== O && re() && e.getRootNode() === N.getRootNode()), ge = () => {
16335
- let e = ie();
16344
+ }, he = (e) => !!(fv(e) && U() && N && e !== O && ie() && e.getRootNode() === N.getRootNode()), ge = () => {
16345
+ let e = ae();
16336
16346
  O && e !== O && (O = null);
16337
16347
  let t = F, n = !!(e?.isConnected && he(e)), r = I === e;
16338
16348
  if (e === F && e?.isConnected && n === r) {
@@ -16363,12 +16373,12 @@ function _v(e) {
16363
16373
  function ye() {
16364
16374
  i((e) => e + 1);
16365
16375
  }
16366
- let be = ie();
16376
+ let be = ae();
16367
16377
  _e(be);
16368
16378
  let xe = e.runtime.subscribe(() => {
16369
16379
  let t = e.runtime.selectGestureActive();
16370
- h() && t ? (k = !0, ne()) : h() && A !== null && !G(A, te()) && (O = ie(), k = !1, ne());
16371
- let r = ie(), i = r !== be;
16380
+ h() && t ? (k = !0, re()) : h() && A !== null && !ne(A, te()) && (O = ae(), k = !1, re());
16381
+ let r = ae(), i = r !== be;
16372
16382
  i && (be = r, _e(be), k && (k = !1, O = r)), ge(), i && ye(), n((e) => e + 1), pe();
16373
16383
  });
16374
16384
  ge(), H().queueMicrotask(de), Kt(() => {
@@ -16402,7 +16412,7 @@ function _v(e) {
16402
16412
  }), Oe = () => Se().elements.length > 0 || Se().region !== null, ke = () => {
16403
16413
  t();
16404
16414
  let e = A;
16405
- return e !== null && G(e, te());
16415
+ return e !== null && ne(e, te());
16406
16416
  }, Ae = Wr(() => {
16407
16417
  let e = Se(), t = e.elements.filter((e) => e.isConnected).map((e) => {
16408
16418
  let t = e.getBoundingClientRect();
@@ -16640,7 +16650,7 @@ function _v(e) {
16640
16650
  S(!1);
16641
16651
  }
16642
16652
  }
16643
- }, Je = ne, Ye = () => {
16653
+ }, Je = re, Ye = () => {
16644
16654
  if (!Oe()) return;
16645
16655
  k = !1, A = te(), v(""), b(null), w(null), o(null);
16646
16656
  let e = je();
@@ -16654,7 +16664,7 @@ function _v(e) {
16654
16664
  g(!0), H().queueMicrotask(() => R?.sync());
16655
16665
  }, Xe = () => {
16656
16666
  let e = h();
16657
- A !== null && !G(A, te()) ? (O = ie(), k = !1, ge(), ye()) : e && (k = !1), Je();
16667
+ A !== null && !ne(A, te()) ? (O = ae(), k = !1, ge(), ye()) : e && (k = !1), Je();
16658
16668
  }, Ze = () => {
16659
16669
  h() && (k = !0, Je());
16660
16670
  }, Qe = () => {
@@ -17630,7 +17640,7 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
17630
17640
  shortcut: "L",
17631
17641
  command: Zv,
17632
17642
  order: 38,
17633
- toolbarMode: "select",
17643
+ toolbarMode: "always",
17634
17644
  compactPinned: !0,
17635
17645
  icon: vy,
17636
17646
  active: u
@@ -18337,26 +18347,26 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
18337
18347
  "font-size": "11px",
18338
18348
  "line-height": "16px"
18339
18349
  }), o.append(P);
18340
- let F = null, I = null, L = !1, R = !1, z = 0, B = ["webm"], V = "webm", H = 1, U = 0, W = 0, ee = null, te = null, G = null, ne = (e) => {
18350
+ let F = null, I = null, L = !1, R = !1, z = 0, B = ["webm"], V = "webm", H = 1, U = 0, W = 0, ee = null, te = null, ne = null, re = (e) => {
18341
18351
  let t = F?.duration ?? 0;
18342
18352
  return t <= 0 ? 0 : Math.min(1, Math.max(0, e / t));
18343
- }, re = () => ({
18353
+ }, ie = () => ({
18344
18354
  start: U,
18345
18355
  end: W
18346
- }), ie = (e) => {
18356
+ }), ae = (e) => {
18347
18357
  let t = F?.duration ?? 0, n = h.getBoundingClientRect();
18348
18358
  return t <= 0 || n.width <= 0 ? 0 : Math.min(t, Math.max(0, (e - n.left) / n.width * t));
18349
- }, ae = () => {
18350
- let e = F?.duration ?? 0, t = Math.min(e, Math.max(0, c.currentTime || 0)), n = ne(U) * 100, r = ne(W) * 100;
18351
- x.style.left = `${n}%`, S.style.left = `${r}%`, _.style.left = `${n}%`, _.style.width = `${Math.max(0, r - n)}%`, y.style.left = `${ne(t) * 100}%`, x.setAttribute("aria-valuemax", String(Math.max(0, W - lb))), x.setAttribute("aria-valuenow", String(U)), x.setAttribute("aria-valuetext", pb(U)), S.setAttribute("aria-valuemin", String(Math.min(e, U + lb))), S.setAttribute("aria-valuemax", String(e)), S.setAttribute("aria-valuenow", String(W)), S.setAttribute("aria-valuetext", pb(W)), p.textContent = pb(t), C.textContent = pb(e);
18359
+ }, G = () => {
18360
+ let e = F?.duration ?? 0, t = Math.min(e, Math.max(0, c.currentTime || 0)), n = re(U) * 100, r = re(W) * 100;
18361
+ x.style.left = `${n}%`, S.style.left = `${r}%`, _.style.left = `${n}%`, _.style.width = `${Math.max(0, r - n)}%`, y.style.left = `${re(t) * 100}%`, x.setAttribute("aria-valuemax", String(Math.max(0, W - lb))), x.setAttribute("aria-valuenow", String(U)), x.setAttribute("aria-valuetext", pb(U)), S.setAttribute("aria-valuemin", String(Math.min(e, U + lb))), S.setAttribute("aria-valuemax", String(e)), S.setAttribute("aria-valuenow", String(W)), S.setAttribute("aria-valuetext", pb(W)), p.textContent = pb(t), C.textContent = pb(e);
18352
18362
  }, oe = (e, t = !0) => {
18353
18363
  if (!F) return;
18354
18364
  let n = Math.min(W, Math.max(U, e));
18355
- t && !c.paused && c.pause(), c.currentTime = n, ae();
18365
+ t && !c.paused && c.pause(), c.currentTime = n, G();
18356
18366
  }, se = (e, t = !1) => {
18357
- F && (U = Math.min(Math.max(0, e), Math.max(0, W - lb)), (t || c.currentTime < U) && oe(U), ae());
18367
+ F && (U = Math.min(Math.max(0, e), Math.max(0, W - lb)), (t || c.currentTime < U) && oe(U), G());
18358
18368
  }, ce = (e, t = !1) => {
18359
- F && (W = Math.max(Math.min(F.duration, e), Math.min(F.duration, U + lb)), t ? oe(W) : c.currentTime > W && oe(U), ae());
18369
+ F && (W = Math.max(Math.min(F.duration, e), Math.min(F.duration, U + lb)), t ? oe(W) : c.currentTime > W && oe(U), G());
18360
18370
  }, K = () => {
18361
18371
  T.textContent = `${H}×`;
18362
18372
  for (let e of j) {
@@ -18396,9 +18406,9 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
18396
18406
  }, he = () => {
18397
18407
  c.pause(), c.removeAttribute("src"), c.load(), I &&= (globalThis.URL.revokeObjectURL(I), null);
18398
18408
  }, ge = () => {
18399
- z += 1, G &&= (G.cancel(), null), he(), F = null, ee = null, te = null, de(!1), o.style.display = "none", o.style.pointerEvents = "auto", o.style.opacity = "1", o.style.transform = "translateX(-50%)", o.style.removeProperty("transform-origin"), o.style.removeProperty("will-change"), P.style.display = "none", fe(!1);
18409
+ z += 1, ne &&= (ne.cancel(), null), he(), F = null, ee = null, te = null, de(!1), o.style.display = "none", o.style.pointerEvents = "auto", o.style.opacity = "1", o.style.transform = "translateX(-50%)", o.style.removeProperty("transform-origin"), o.style.removeProperty("will-change"), P.style.display = "none", fe(!1);
18400
18410
  }, _e = () => {
18401
- if (!F || o.style.display === "none" || G) return;
18411
+ if (!F || o.style.display === "none" || ne) return;
18402
18412
  let e = o.getBoundingClientRect(), t = pe()?.getBoundingClientRect(), n = t ? t.left + t.width / 2 : e.left + e.width / 2, r = t ? t.top + t.height / 2 : e.top + e.height / 2;
18403
18413
  c.pause(), de(!1), o.style.pointerEvents = "none", o.style.left = `${e.left}px`, o.style.top = `${e.top}px`, o.style.transform = "none", o.style.transformOrigin = `${n - e.left}px ${r - e.top}px`, o.style.willChange = "transform, opacity";
18404
18414
  let a = o.animate([{
@@ -18412,8 +18422,8 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
18412
18422
  easing: "ease",
18413
18423
  fill: "forwards"
18414
18424
  });
18415
- G = a, a.finished.catch(() => void 0).then(() => {
18416
- G === a && (a.cancel(), G = null, o.style.removeProperty("will-change"), i());
18425
+ ne = a, a.finished.catch(() => void 0).then(() => {
18426
+ ne === a && (a.cancel(), ne = null, o.style.removeProperty("will-change"), i());
18417
18427
  });
18418
18428
  }, ve = () => {
18419
18429
  if (!(!F || R)) {
@@ -18427,7 +18437,7 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
18427
18437
  ee = null, te = null, y.style.height = "8px";
18428
18438
  }, be = (e) => {
18429
18439
  if (!ee) return;
18430
- let t = ie(e);
18440
+ let t = ae(e);
18431
18441
  ee === "start" ? se(t, !0) : ee === "end" ? ce(t, !0) : oe(t);
18432
18442
  }, xe = (e, t) => {
18433
18443
  !F || R || t.button !== 0 || (t.preventDefault(), t.stopPropagation(), ee = e, te = t.pointerId, y.style.height = "10px", be(t.clientX));
@@ -18440,7 +18450,7 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
18440
18450
  let t = e.target;
18441
18451
  t instanceof Element && t.closest("[data-mesurer-recording-trim-handle]") || xe("playhead", e);
18442
18452
  }), m.addEventListener("pointermove", (e) => {
18443
- te === null && (v.style.display = "block", v.style.left = `${ne(ie(e.clientX)) * 100}%`);
18453
+ te === null && (v.style.display = "block", v.style.left = `${re(ae(e.clientX)) * 100}%`);
18444
18454
  }), m.addEventListener("pointerleave", () => {
18445
18455
  v.style.display = "none";
18446
18456
  });
@@ -18460,9 +18470,9 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
18460
18470
  }), c.addEventListener("pause", () => {
18461
18471
  f.textContent = "▶", f.setAttribute("aria-label", "Play"), f.title = "Play";
18462
18472
  }), c.addEventListener("timeupdate", () => {
18463
- F && (c.currentTime >= W - .01 ? (c.pause(), c.currentTime = U) : c.currentTime < U && (c.currentTime = U), ae());
18473
+ F && (c.currentTime >= W - .01 ? (c.pause(), c.currentTime = U) : c.currentTime < U && (c.currentTime = U), G());
18464
18474
  }), c.addEventListener("loadedmetadata", () => {
18465
- ae();
18475
+ G();
18466
18476
  }), T.addEventListener("click", () => {
18467
18477
  R || de(E.style.display === "none");
18468
18478
  });
@@ -18476,7 +18486,7 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
18476
18486
  L = !L, o.style.width = `${L ? ob : ab}px`, s.style.maxHeight = L ? "448px" : "144px", c.style.maxHeight = L ? "448px" : "144px", N.textContent = L ? "↙" : "↗", N.setAttribute("aria-label", L ? "Shrink preview" : "Grow preview"), N.title = L ? "Shrink preview" : "Grow preview", t.requestAnimationFrame(me);
18477
18487
  }), M.addEventListener("click", () => {
18478
18488
  if (!F || R || B.length === 0) return;
18479
- let n = ++z, { start: r, end: i } = re();
18489
+ let n = ++z, { start: r, end: i } = ie();
18480
18490
  fe(!0), de(!1), P.style.display = "none", a({
18481
18491
  format: V,
18482
18492
  startTime: r,
@@ -18503,9 +18513,9 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
18503
18513
  let Te = () => me();
18504
18514
  return t.addEventListener("resize", Te), {
18505
18515
  show(e) {
18506
- z += 1, G &&= (G.cancel(), null), o.style.pointerEvents = "auto", o.style.opacity = "1", o.style.transform = "translateX(-50%)", o.style.removeProperty("transform-origin"), o.style.removeProperty("will-change"), he(), F = e, L = !1, H = 1, V = "webm", B = ["webm"], U = 0, W = e.duration, ee = null, te = null;
18516
+ z += 1, ne &&= (ne.cancel(), null), o.style.pointerEvents = "auto", o.style.opacity = "1", o.style.transform = "translateX(-50%)", o.style.removeProperty("transform-origin"), o.style.removeProperty("will-change"), he(), F = e, L = !1, H = 1, V = "webm", B = ["webm"], U = 0, W = e.duration, ee = null, te = null;
18507
18517
  let n = globalThis.URL.createObjectURL(e.blob);
18508
- I = n, c.src = n, c.currentTime = 0, s.style.aspectRatio = e.width > 0 && e.height > 0 ? `${e.width} / ${e.height}` : "16 / 9", o.style.width = `${ab}px`, s.style.maxHeight = "144px", c.style.maxHeight = "144px", N.textContent = "↗", N.setAttribute("aria-label", "Grow preview"), N.title = "Grow preview", p.textContent = "0:00.00", C.textContent = pb(e.duration), P.style.display = "none", P.style.color = "var(--msr-color-ink-500, #64748b)", de(!1), le(), K(), ae(), fe(!1), o.style.display = "block", me(), o.focus({ preventScroll: !0 });
18518
+ I = n, c.src = n, c.currentTime = 0, s.style.aspectRatio = e.width > 0 && e.height > 0 ? `${e.width} / ${e.height}` : "16 / 9", o.style.width = `${ab}px`, s.style.maxHeight = "144px", c.style.maxHeight = "144px", N.textContent = "↗", N.setAttribute("aria-label", "Grow preview"), N.title = "Grow preview", p.textContent = "0:00.00", C.textContent = pb(e.duration), P.style.display = "none", P.style.color = "var(--msr-color-ink-500, #64748b)", de(!1), le(), K(), G(), fe(!1), o.style.display = "block", me(), o.focus({ preventScroll: !0 });
18509
18519
  let i = z;
18510
18520
  r(e).then((e) => {
18511
18521
  i !== z || !F || (B = e, V = e.includes(V) ? V : e[0] ?? "webm", le(), M.disabled = e.length === 0, e.length === 0 && (P.style.display = "block", P.style.color = "var(--msr-danger-text, #dc2626)", P.textContent = "No MediaBunny video encoder is available in this runtime."));
@@ -18563,10 +18573,22 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
18563
18573
  setup(t) {
18564
18574
  let n = t.service.get(xb);
18565
18575
  if (!n) throw Error("Recording plugin requires the Solid renderer runtime.");
18566
- let { ownerDocument: r, ownerWindow: i } = n, a = n.createInspectorMount(), o = a.element, s = n.createInspectorMount(), c = s.element, l = n.rendererRoot ?? n.portalTarget.querySelector("[data-mesurer-root='true']"), u = (e) => {
18567
- l?.toggleAttribute("data-mesurer-recording-active", e);
18576
+ let { ownerDocument: r, ownerWindow: i } = n, a = n.createInspectorMount(), o = a.element, s = n.createInspectorMount(), c = s.element, l = n.rendererRoot ?? n.portalTarget.querySelector("[data-mesurer-root='true']"), u = null, d = () => {
18577
+ let e = u;
18578
+ e && (u = null, e.pointerEvents || e.pointerEventsPriority ? e.element.style.setProperty("pointer-events", e.pointerEvents, e.pointerEventsPriority) : e.element.style.removeProperty("pointer-events"), e.cursor || e.cursorPriority ? e.element.style.setProperty("cursor", e.cursor, e.cursorPriority) : e.element.style.removeProperty("cursor"));
18579
+ }, f = (e) => {
18580
+ if (l?.toggleAttribute("data-mesurer-recording-active", e), !e) {
18581
+ d();
18582
+ return;
18583
+ }
18568
18584
  let t = l?.querySelector("[data-mesurer-interaction-overlay='true']");
18569
- t && (e ? (t.style.setProperty("pointer-events", "none", "important"), t.style.setProperty("cursor", "default", "important")) : (t.style.removeProperty("pointer-events"), t.style.removeProperty("cursor")));
18585
+ t && ((!u || u.element !== t) && (d(), u = {
18586
+ element: t,
18587
+ pointerEvents: t.style.getPropertyValue("pointer-events"),
18588
+ pointerEventsPriority: t.style.getPropertyPriority("pointer-events"),
18589
+ cursor: t.style.getPropertyValue("cursor"),
18590
+ cursorPriority: t.style.getPropertyPriority("cursor")
18591
+ }), t.style.setProperty("pointer-events", "none", "important"), t.style.setProperty("cursor", "default", "important"));
18570
18592
  };
18571
18593
  o.dataset.mesurerRecording = "true", c.dataset.mesurerRecordingStatusRoot = "true", Mb(o, {
18572
18594
  position: "fixed",
@@ -18581,7 +18603,7 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
18581
18603
  "pointer-events": "none",
18582
18604
  "font-family": "ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif"
18583
18605
  });
18584
- let d = Math.max(1, Math.min(600, e.maxDurationSeconds ?? Db)), f = e.quality ?? "medium";
18606
+ let p = Math.max(1, Math.min(600, e.maxDurationSeconds ?? Db)), m = e.quality ?? "medium";
18585
18607
  t.state.register({
18586
18608
  id: bb,
18587
18609
  initial: {
@@ -18590,19 +18612,19 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
18590
18612
  },
18591
18613
  persist: !0
18592
18614
  });
18593
- let p = () => {
18615
+ let h = () => {
18594
18616
  let e = t.state.get(bb);
18595
18617
  return {
18596
18618
  toolEnabled: e?.toolEnabled ?? !0,
18597
18619
  frameRate: e?.frameRate === 120 ? 120 : 60
18598
18620
  };
18599
- }, m = (e) => {
18621
+ }, g = (e) => {
18600
18622
  t.state.update(bb, (t) => {
18601
18623
  let n = { ...t };
18602
18624
  return e.toolEnabled !== void 0 && (n.toolEnabled = e.toolEnabled), (e.frameRate === 60 || e.frameRate === 120) && (n.frameRate = e.frameRate), n;
18603
18625
  });
18604
- }, h = r.createElement("div");
18605
- h.dataset.mesurerRecordingSelect = "true", h.dataset.mesurerInspectorUi = "true", h.setAttribute("role", "application"), h.setAttribute("aria-label", "Recording selection"), Mb(h, {
18626
+ }, _ = r.createElement("div");
18627
+ _.dataset.mesurerRecordingSelect = "true", _.dataset.mesurerInspectorUi = "true", _.setAttribute("role", "application"), _.setAttribute("aria-label", "Recording selection"), Mb(_, {
18606
18628
  position: "fixed",
18607
18629
  inset: "0",
18608
18630
  display: "none",
@@ -18611,16 +18633,16 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
18611
18633
  "pointer-events": "auto",
18612
18634
  "user-select": "none",
18613
18635
  "touch-action": "none"
18614
- }), o.append(h);
18615
- let g = Array.from({ length: 4 }, () => {
18636
+ }), o.append(_);
18637
+ let v = Array.from({ length: 4 }, () => {
18616
18638
  let e = r.createElement("div");
18617
18639
  return e.dataset.mesurerRecordingShade = "true", Mb(e, {
18618
18640
  position: "fixed",
18619
18641
  background: "rgb(0 0 0 / 40%)",
18620
18642
  "pointer-events": "none"
18621
- }), h.append(e), e;
18622
- }), _ = r.createElement("div");
18623
- _.dataset.mesurerRecordingMask = "true", Mb(_, {
18643
+ }), _.append(e), e;
18644
+ }), y = r.createElement("div");
18645
+ y.dataset.mesurerRecordingMask = "true", Mb(y, {
18624
18646
  position: "fixed",
18625
18647
  display: "none",
18626
18648
  background: "transparent",
@@ -18628,17 +18650,17 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
18628
18650
  "outline-offset": "-1px",
18629
18651
  "box-shadow": "0 0 0 100vmax rgb(0 0 0 / 40%)",
18630
18652
  "pointer-events": "none"
18631
- }), h.append(_);
18632
- let v = r.createElement("div");
18633
- v.dataset.mesurerRecordingSelection = "true", Mb(v, {
18653
+ }), _.append(y);
18654
+ let b = r.createElement("div");
18655
+ b.dataset.mesurerRecordingSelection = "true", Mb(b, {
18634
18656
  position: "fixed",
18635
18657
  display: "none",
18636
18658
  border: "1px solid var(--msr-accent, #0d99ff)",
18637
18659
  "box-sizing": "border-box",
18638
18660
  "pointer-events": "none"
18639
- }), h.append(v);
18640
- let y = r.createElement("div");
18641
- Mb(y, {
18661
+ }), _.append(b);
18662
+ let x = r.createElement("div");
18663
+ Mb(x, {
18642
18664
  position: "fixed",
18643
18665
  display: "none",
18644
18666
  transform: "translateX(-50%)",
@@ -18649,9 +18671,9 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
18649
18671
  "font-size": "10px",
18650
18672
  "font-variant-numeric": "tabular-nums",
18651
18673
  "pointer-events": "none"
18652
- }), h.append(y);
18653
- let b = r.createElement("div");
18654
- b.textContent = "Drag a region to record · Esc to cancel", Mb(b, {
18674
+ }), _.append(x);
18675
+ let S = r.createElement("div");
18676
+ S.textContent = "Drag a region to record · Esc to cancel", Mb(S, {
18655
18677
  position: "fixed",
18656
18678
  left: "50%",
18657
18679
  bottom: "16px",
@@ -18662,9 +18684,9 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
18662
18684
  color: "var(--msr-surface, #fff)",
18663
18685
  "font-size": "11px",
18664
18686
  "pointer-events": "none"
18665
- }), h.append(b);
18666
- let x = r.createElement("div");
18667
- x.dataset.mesurerRecordingRegion = "true", x.dataset.mesurerInspectorUi = "true", x.setAttribute("role", "dialog"), x.setAttribute("aria-label", "Recording region"), Mb(x, {
18687
+ }), _.append(S);
18688
+ let C = r.createElement("div");
18689
+ C.dataset.mesurerRecordingRegion = "true", C.dataset.mesurerInspectorUi = "true", C.setAttribute("role", "dialog"), C.setAttribute("aria-label", "Recording region"), Mb(C, {
18668
18690
  position: "fixed",
18669
18691
  display: "none",
18670
18692
  width: "220px",
@@ -18679,8 +18701,8 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
18679
18701
  "font-size": "11px",
18680
18702
  "pointer-events": "auto",
18681
18703
  transform: "translateX(-50%)"
18682
- }), h.append(x);
18683
- let S = (e) => {
18704
+ }), _.append(C);
18705
+ let w = (e) => {
18684
18706
  let t = r.createElement("label");
18685
18707
  Mb(t, {
18686
18708
  display: "grid",
@@ -18696,8 +18718,8 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
18696
18718
  "align-items": "center",
18697
18719
  gap: "4px",
18698
18720
  "min-width": "0"
18699
- }), t.append(i), x.append(t), i;
18700
- }, C = (e) => {
18721
+ }), t.append(i), C.append(t), i;
18722
+ }, T = (e) => {
18701
18723
  let t = r.createElement("input");
18702
18724
  return t.type = "number", t.setAttribute("aria-label", e), t.step = "1", Mb(t, {
18703
18725
  width: "0",
@@ -18713,20 +18735,20 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
18713
18735
  "font-size": "10px",
18714
18736
  "font-variant-numeric": "tabular-nums"
18715
18737
  }), t;
18716
- }, w = S("Size"), T = C("Width"), E = C("Height");
18717
- w.append(T);
18718
- let D = r.createElement("span");
18719
- D.textContent = "×", D.style.color = "var(--msr-color-ink-500, #64748b)", w.append(D, E);
18720
- let O = r.createElement("span");
18721
- O.textContent = "px", O.style.color = "var(--msr-color-ink-500, #64748b)", w.append(O);
18722
- let k = S("Position");
18723
- k.style.marginTop = "8px";
18724
- let A = C("Left"), j = C("Top");
18725
- k.append(A, j);
18726
- let M = r.createElement("span");
18727
- M.textContent = "px", M.style.color = "var(--msr-color-ink-500, #64748b)", k.append(M);
18728
- let N = r.createElement("button");
18729
- N.type = "button", N.dataset.mesurerRecordingStart = "true", N.textContent = "● Start recording", Mb(N, {
18738
+ }, E = w("Size"), D = T("Width"), O = T("Height");
18739
+ E.append(D);
18740
+ let k = r.createElement("span");
18741
+ k.textContent = "×", k.style.color = "var(--msr-color-ink-500, #64748b)", E.append(k, O);
18742
+ let A = r.createElement("span");
18743
+ A.textContent = "px", A.style.color = "var(--msr-color-ink-500, #64748b)", E.append(A);
18744
+ let j = w("Position");
18745
+ j.style.marginTop = "8px";
18746
+ let M = T("Left"), N = T("Top");
18747
+ j.append(M, N);
18748
+ let P = r.createElement("span");
18749
+ P.textContent = "px", P.style.color = "var(--msr-color-ink-500, #64748b)", j.append(P);
18750
+ let F = r.createElement("button");
18751
+ F.type = "button", F.dataset.mesurerRecordingStart = "true", F.textContent = "● Start recording", Mb(F, {
18730
18752
  width: "100%",
18731
18753
  height: "28px",
18732
18754
  "margin-top": "8px",
@@ -18738,44 +18760,44 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
18738
18760
  "font-size": "11px",
18739
18761
  "font-weight": "500",
18740
18762
  cursor: "pointer"
18741
- }), x.append(N);
18742
- let P = r.createElement("div");
18743
- P.dataset.mesurerRecordingGrid = "true", Mb(P, {
18763
+ }), C.append(F);
18764
+ let I = r.createElement("div");
18765
+ I.dataset.mesurerRecordingGrid = "true", Mb(I, {
18744
18766
  position: "absolute",
18745
18767
  inset: "0",
18746
18768
  display: "none",
18747
18769
  "pointer-events": "none"
18748
- }), v.append(P);
18749
- let F = (e) => {
18770
+ }), b.append(I);
18771
+ let L = (e) => {
18750
18772
  let t = r.createElement("div");
18751
18773
  Mb(t, {
18752
18774
  position: "absolute",
18753
18775
  opacity: "0.3",
18754
18776
  ...e
18755
- }), P.append(t);
18777
+ }), I.append(t);
18756
18778
  };
18757
- F({
18779
+ L({
18758
18780
  left: "33.333%",
18759
18781
  top: "0",
18760
18782
  bottom: "0",
18761
18783
  borderLeft: "1px dashed var(--msr-color-ink-500, #64748b)"
18762
- }), F({
18784
+ }), L({
18763
18785
  left: "66.666%",
18764
18786
  top: "0",
18765
18787
  bottom: "0",
18766
18788
  borderLeft: "1px dashed var(--msr-color-ink-500, #64748b)"
18767
- }), F({
18789
+ }), L({
18768
18790
  top: "33.333%",
18769
18791
  left: "0",
18770
18792
  right: "0",
18771
18793
  borderTop: "1px dashed var(--msr-color-ink-500, #64748b)"
18772
- }), F({
18794
+ }), L({
18773
18795
  top: "66.666%",
18774
18796
  left: "0",
18775
18797
  right: "0",
18776
18798
  borderTop: "1px dashed var(--msr-color-ink-500, #64748b)"
18777
18799
  });
18778
- let I = Object.entries({
18800
+ let R = Object.entries({
18779
18801
  nw: {
18780
18802
  left: "0",
18781
18803
  top: "0"
@@ -18825,9 +18847,9 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
18825
18847
  transform: "translate(-50%, -50%)",
18826
18848
  cursor: e === "n" || e === "s" ? "ns-resize" : e === "e" || e === "w" ? "ew-resize" : e === "nw" || e === "se" ? "nwse-resize" : "nesw-resize",
18827
18849
  "pointer-events": "auto"
18828
- }), v.append(n), n;
18829
- }), L = r.createElement("section");
18830
- L.dataset.mesurerRecordingStatus = "true", L.dataset.mesurerInspectorUi = "true", L.setAttribute("aria-label", "Screen recording"), Mb(L, {
18850
+ }), b.append(n), n;
18851
+ }), z = r.createElement("section");
18852
+ z.dataset.mesurerRecordingStatus = "true", z.dataset.mesurerInspectorUi = "true", z.setAttribute("aria-label", "Screen recording"), Mb(z, {
18831
18853
  position: "fixed",
18832
18854
  display: "none",
18833
18855
  height: "34px",
@@ -18843,23 +18865,23 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
18843
18865
  "font-size": "11px",
18844
18866
  "pointer-events": "auto"
18845
18867
  });
18846
- let R = r.createElement("span");
18847
- R.setAttribute("aria-hidden", "true"), Mb(R, {
18868
+ let B = r.createElement("span");
18869
+ B.setAttribute("aria-hidden", "true"), Mb(B, {
18848
18870
  width: "6px",
18849
18871
  height: "6px",
18850
18872
  "border-radius": "999px",
18851
18873
  background: "var(--msr-danger-solid-bg, #dc2626)",
18852
18874
  "flex-shrink": "0"
18853
- }), L.append(R);
18854
- let z = r.createElement("span");
18855
- z.dataset.mesurerRecordingTime = "true", z.textContent = "00:00", Mb(z, {
18875
+ }), z.append(B);
18876
+ let V = r.createElement("span");
18877
+ V.dataset.mesurerRecordingTime = "true", V.textContent = "00:00", Mb(V, {
18856
18878
  color: "var(--msr-content, #18181b)",
18857
18879
  "font-family": "ui-monospace, SFMono-Regular, Menlo, monospace",
18858
18880
  "font-size": "11px",
18859
18881
  "font-variant-numeric": "tabular-nums"
18860
- }), L.append(z);
18861
- let B = r.createElement("button");
18862
- B.type = "button", B.dataset.mesurerRecordingStop = "true", B.textContent = "Stop", B.setAttribute("aria-label", "Stop recording"), Mb(B, {
18882
+ }), z.append(V);
18883
+ let H = r.createElement("button");
18884
+ H.type = "button", H.dataset.mesurerRecordingStop = "true", H.textContent = "Stop", H.setAttribute("aria-label", "Stop recording"), Mb(H, {
18863
18885
  height: "24px",
18864
18886
  padding: "0 8px",
18865
18887
  border: "0",
@@ -18870,9 +18892,9 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
18870
18892
  "font-size": "11px",
18871
18893
  "font-weight": "500",
18872
18894
  cursor: "pointer"
18873
- }), L.append(B), c.append(L);
18874
- let V = r.createElement("div");
18875
- V.dataset.mesurerRecordingError = "true", V.dataset.mesurerInspectorUi = "true", V.setAttribute("role", "status"), Mb(V, {
18895
+ }), z.append(H), c.append(z);
18896
+ let U = r.createElement("div");
18897
+ U.dataset.mesurerRecordingError = "true", U.dataset.mesurerInspectorUi = "true", U.setAttribute("role", "status"), Mb(U, {
18876
18898
  position: "fixed",
18877
18899
  display: "none",
18878
18900
  left: "8px",
@@ -18884,8 +18906,8 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
18884
18906
  color: "#fff",
18885
18907
  "font-size": "11px",
18886
18908
  "pointer-events": "none"
18887
- }), c.append(V);
18888
- let H = {
18909
+ }), c.append(U);
18910
+ let W = {
18889
18911
  status: "idle",
18890
18912
  elapsed: 0,
18891
18913
  rect: null,
@@ -18893,28 +18915,28 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
18893
18915
  width: null,
18894
18916
  height: null,
18895
18917
  error: null
18896
- }, U = /* @__PURE__ */ new Set(), W = null, ee = null, te = null, G = null, ne = null, re = null, ie = !1, ae = null, oe = null, se = 0, ce = 0, K = 0, le = 0, ue = 0, de = -1, fe = !1, pe = null, me = () => {
18897
- let e = jb(H);
18898
- for (let t of U) t(e);
18899
- }, he = (e) => {
18900
- H = {
18901
- ...H,
18918
+ }, ee = /* @__PURE__ */ new Set(), te = null, ne = null, re = null, ie = null, ae = null, G = null, oe = !1, se = null, ce = null, K = 0, le = 0, ue = 0, de = 0, fe = 0, pe = -1, me = !1, he = null, ge = () => {
18919
+ let e = jb(W);
18920
+ for (let t of ee) t(e);
18921
+ }, _e = (e) => {
18922
+ W = {
18923
+ ...W,
18902
18924
  ...e,
18903
- rect: e.rect === void 0 ? H.rect : Ab(e.rect)
18904
- }, me();
18905
- }, ge = () => H.status === "selecting" || H.status === "recording" || H.status === "exporting", _e = () => {
18906
- if (oe) return;
18925
+ rect: e.rect === void 0 ? W.rect : Ab(e.rect)
18926
+ }, ge();
18927
+ }, ve = () => W.status === "selecting" || W.status === "recording" || W.status === "exporting", ye = () => {
18928
+ if (ce) return;
18907
18929
  let e = n.portalTarget.querySelector("[data-mesurer-toolbar='true']");
18908
- e && (oe = {
18930
+ e && (ce = {
18909
18931
  element: e,
18910
18932
  value: e.style.getPropertyValue("visibility"),
18911
18933
  priority: e.style.getPropertyPriority("visibility")
18912
18934
  }, e.style.setProperty("visibility", "hidden", "important"));
18913
- }, ve = () => {
18914
- if (!oe) return;
18915
- let e = oe;
18916
- oe = null, e.value || e.priority ? e.element.style.setProperty("visibility", e.value, e.priority) : e.element.style.removeProperty("visibility");
18917
- }, ye = (e, t) => {
18935
+ }, be = () => {
18936
+ if (!ce) return;
18937
+ let e = ce;
18938
+ ce = null, e.value || e.priority ? e.element.style.setProperty("visibility", e.value, e.priority) : e.element.style.removeProperty("visibility");
18939
+ }, xe = (e, t) => {
18918
18940
  for (let n of [
18919
18941
  "left",
18920
18942
  "top",
@@ -18924,7 +18946,7 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
18924
18946
  let r = t[n];
18925
18947
  r === void 0 ? e.style.removeProperty(n) : e.style.setProperty(n, `${r}px`);
18926
18948
  }
18927
- }, be = (e) => {
18949
+ }, Se = (e) => {
18928
18950
  let t = i.innerWidth, n = i.innerHeight, r = Math.min(t, Math.max(4, Math.round(e.width))), a = Math.min(n, Math.max(4, Math.round(e.height)));
18929
18951
  return {
18930
18952
  left: Math.min(Math.max(0, Math.round(e.left)), Math.max(0, t - r)),
@@ -18932,106 +18954,106 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
18932
18954
  width: r,
18933
18955
  height: a
18934
18956
  };
18935
- }, xe = (e, t) => t.x >= e.left && t.x <= e.left + e.width && t.y >= e.top && t.y <= e.top + e.height, Se = (e) => {
18957
+ }, Ce = (e, t) => t.x >= e.left && t.x <= e.left + e.width && t.y >= e.top && t.y <= e.top + e.height, we = (e) => {
18936
18958
  let t = i.innerWidth, n = i.innerHeight;
18937
18959
  if (!e || e.width <= 0 || e.height <= 0) {
18938
- ye(g[0], {
18960
+ xe(v[0], {
18939
18961
  left: 0,
18940
18962
  top: 0,
18941
18963
  width: t,
18942
18964
  height: n
18943
18965
  });
18944
- for (let e of g.slice(1)) ye(e, {
18966
+ for (let e of v.slice(1)) xe(e, {
18945
18967
  left: 0,
18946
18968
  top: 0,
18947
18969
  width: 0,
18948
18970
  height: 0
18949
18971
  });
18950
- v.style.display = "none", v.style.pointerEvents = "none", P.style.display = "none";
18951
- for (let e of I) e.style.display = "none";
18952
- y.style.display = "none", x.style.display = "none", b.textContent = "Drag to select a region · Esc to cancel";
18972
+ b.style.display = "none", b.style.pointerEvents = "none", I.style.display = "none";
18973
+ for (let e of R) e.style.display = "none";
18974
+ x.style.display = "none", C.style.display = "none", S.textContent = "Drag to select a region · Esc to cancel";
18953
18975
  return;
18954
18976
  }
18955
- if (ye(g[0], {
18977
+ if (xe(v[0], {
18956
18978
  left: 0,
18957
18979
  top: 0,
18958
18980
  width: t,
18959
18981
  height: e.top
18960
- }), ye(g[1], {
18982
+ }), xe(v[1], {
18961
18983
  left: 0,
18962
18984
  top: e.top,
18963
18985
  width: e.left,
18964
18986
  height: e.height
18965
- }), ye(g[2], {
18987
+ }), xe(v[2], {
18966
18988
  left: e.left + e.width,
18967
18989
  top: e.top,
18968
18990
  width: Math.max(0, t - e.left - e.width),
18969
18991
  height: e.height
18970
- }), ye(g[3], {
18992
+ }), xe(v[3], {
18971
18993
  left: 0,
18972
18994
  top: e.top + e.height,
18973
18995
  width: t,
18974
18996
  height: Math.max(0, n - e.top - e.height)
18975
- }), v.style.display = "block", ye(v, e), ie) {
18976
- v.style.pointerEvents = "auto", v.style.cursor = "move", P.style.display = "block";
18977
- for (let e of I) e.style.display = "block";
18978
- y.style.display = "none", T.value = String(Math.round(e.width)), E.value = String(Math.round(e.height)), A.value = String(Math.round(e.left)), j.value = String(Math.round(e.top)), T.max = String(t), E.max = String(n), A.max = String(Math.max(0, t - e.width)), j.max = String(Math.max(0, n - e.height));
18997
+ }), b.style.display = "block", xe(b, e), oe) {
18998
+ b.style.pointerEvents = "auto", b.style.cursor = "move", I.style.display = "block";
18999
+ for (let e of R) e.style.display = "block";
19000
+ x.style.display = "none", D.value = String(Math.round(e.width)), O.value = String(Math.round(e.height)), M.value = String(Math.round(e.left)), N.value = String(Math.round(e.top)), D.max = String(t), O.max = String(n), M.max = String(Math.max(0, t - e.width)), N.max = String(Math.max(0, n - e.height));
18979
19001
  let r = Math.min(Math.max(118, e.left + e.width / 2), Math.max(118, t - 110 - 8)), i = e.top + e.height + 12, a = i + 112 <= n ? i : Math.max(8, e.top - 112);
18980
- x.style.left = `${r}px`, x.style.top = `${a}px`, x.style.display = "block", b.textContent = "Adjust region · Enter to start · Esc to cancel";
19002
+ C.style.left = `${r}px`, C.style.top = `${a}px`, C.style.display = "block", S.textContent = "Adjust region · Enter to start · Esc to cancel";
18981
19003
  } else {
18982
- v.style.pointerEvents = "none", v.style.cursor = "", P.style.display = "none";
18983
- for (let e of I) e.style.display = "none";
18984
- x.style.display = "none", y.style.display = "block", y.textContent = `${Math.round(e.width)} × ${Math.round(e.height)}`, ye(y, {
19004
+ b.style.pointerEvents = "none", b.style.cursor = "", I.style.display = "none";
19005
+ for (let e of R) e.style.display = "none";
19006
+ C.style.display = "none", x.style.display = "block", x.textContent = `${Math.round(e.width)} × ${Math.round(e.height)}`, xe(x, {
18985
19007
  left: e.left + e.width / 2,
18986
19008
  top: Math.min(n - 22, e.top + e.height + 6)
18987
- }), b.textContent = "Drag to select a region · Esc to cancel";
19009
+ }), S.textContent = "Drag to select a region · Esc to cancel";
18988
19010
  }
18989
- }, Ce = (e) => {
18990
- let t = be(e);
18991
- re = t, he({ rect: t }), Se(t);
18992
- }, we = (e) => {
18993
- for (let e of g) ye(e, {
19011
+ }, Te = (e) => {
19012
+ let t = Se(e);
19013
+ G = t, _e({ rect: t }), we(t);
19014
+ }, Ee = (e) => {
19015
+ for (let e of v) xe(e, {
18994
19016
  left: 0,
18995
19017
  top: 0,
18996
19018
  width: 0,
18997
19019
  height: 0
18998
19020
  });
18999
- ye(_, e), _.style.display = "block", v.style.display = "none", y.style.display = "none", x.style.display = "none", P.style.display = "none", b.style.display = "none";
19000
- for (let e of I) e.style.display = "none";
19001
- h.style.display = "block", h.style.pointerEvents = "none", h.style.cursor = "default";
19002
- }, Te = () => {
19003
- u(!1), _.style.display = "none", h.style.display = "none", h.style.pointerEvents = "auto", h.style.cursor = "crosshair", b.style.removeProperty("display");
19004
- }, Ee = () => {
19005
- ne = null, re = null, ie = !1, ae = null, Se(null), h.style.display = "none", h.style.cursor = "crosshair", o.style.pointerEvents = "none";
19006
- }, De = (e) => {
19021
+ xe(y, e), y.style.display = "block", b.style.display = "none", x.style.display = "none", C.style.display = "none", I.style.display = "none", S.style.display = "none";
19022
+ for (let e of R) e.style.display = "none";
19023
+ _.style.display = "block", _.style.pointerEvents = "none", _.style.cursor = "default";
19024
+ }, De = () => {
19025
+ f(!1), y.style.display = "none", _.style.display = "none", _.style.pointerEvents = "auto", _.style.cursor = "crosshair", S.style.removeProperty("display");
19026
+ }, Oe = () => {
19027
+ ae = null, G = null, oe = !1, se = null, we(null), _.style.display = "none", _.style.cursor = "crosshair", o.style.pointerEvents = "none";
19028
+ }, ke = (e) => {
19007
19029
  let t = i.innerHeight, n = i.innerWidth;
19008
- L.style.visibility = "hidden", L.style.display = "flex";
19009
- let r = Math.max(112, L.offsetWidth || 112), a = Math.min(n - r - 8, Math.max(8, e.left + e.width / 2 - r / 2)), o = l?.querySelector("[data-mesurer-toolbar='true']")?.getBoundingClientRect(), s = [e.top >= 50 ? e.top - 34 - 8 : null, t - (e.top + e.height) >= 50 ? e.top + e.height + 8 : null].filter((e) => e !== null), c = (e) => o ? a < o.right && a + r > o.left && e < o.bottom && e + 34 > o.top : !1, u = s.find((e) => !c(e)) ?? s[0] ?? null;
19030
+ z.style.visibility = "hidden", z.style.display = "flex";
19031
+ let r = Math.max(112, z.offsetWidth || 112), a = Math.min(n - r - 8, Math.max(8, e.left + e.width / 2 - r / 2)), o = l?.querySelector("[data-mesurer-toolbar='true']")?.getBoundingClientRect(), s = [e.top >= 50 ? e.top - 34 - 8 : null, t - (e.top + e.height) >= 50 ? e.top + e.height + 8 : null].filter((e) => e !== null), c = (e) => o ? a < o.right && a + r > o.left && e < o.bottom && e + 34 > o.top : !1, u = s.find((e) => !c(e)) ?? s[0] ?? null;
19010
19032
  if (u === null) {
19011
- L.style.display = "none", L.style.removeProperty("visibility");
19033
+ z.style.display = "none", z.style.removeProperty("visibility");
19012
19034
  return;
19013
19035
  }
19014
- L.style.left = `${a}px`, L.style.top = `${u}px`, L.style.removeProperty("visibility");
19015
- }, Oe = () => {
19016
- L.style.display = "none";
19017
- }, ke = (e) => {
19018
- K && i.clearTimeout(K);
19036
+ z.style.left = `${a}px`, z.style.top = `${u}px`, z.style.removeProperty("visibility");
19037
+ }, Ae = () => {
19038
+ z.style.display = "none";
19039
+ }, je = (e) => {
19040
+ ue && i.clearTimeout(ue);
19019
19041
  let t = e instanceof Error ? e.message : "Could not record this region.";
19020
- V.textContent = t, V.style.display = "block", K = i.setTimeout(() => {
19021
- K = 0, V.style.display = "none";
19042
+ U.textContent = t, U.style.display = "block", ue = i.setTimeout(() => {
19043
+ ue = 0, U.style.display = "none";
19022
19044
  }, Ob);
19023
- }, Ae = async (e) => {
19024
- se && i.cancelAnimationFrame(se), se = 0, ce && i.clearTimeout(ce), ce = 0;
19025
- let t = G;
19026
- if (G = null, t) try {
19045
+ }, Me = async (e) => {
19046
+ K && i.cancelAnimationFrame(K), K = 0, le && i.clearTimeout(le), le = 0;
19047
+ let t = ie;
19048
+ if (ie = null, t) try {
19027
19049
  await t;
19028
19050
  } catch {}
19029
- let n = te;
19030
- te = null, e && await n?.cancel();
19031
- let r = ee;
19032
- ee = null, r && Uy(r), Te(), Oe();
19033
- }, je = () => {
19034
- W = null, Pe.dismiss(), he({
19051
+ let n = re;
19052
+ re = null, e && await n?.cancel();
19053
+ let r = ne;
19054
+ ne = null, r && Uy(r), De(), Ae();
19055
+ }, Ne = () => {
19056
+ te = null, Ie.dismiss(), _e({
19035
19057
  status: "idle",
19036
19058
  elapsed: 0,
19037
19059
  rect: null,
@@ -19040,14 +19062,14 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
19040
19062
  height: null,
19041
19063
  error: null
19042
19064
  }), t.hook.emit("recording:discard", {});
19043
- }, Me = async () => {
19044
- let e = W;
19045
- return $y(e?.width ?? Math.max(2, Math.round(i.innerWidth)), e?.height ?? Math.max(2, Math.round(i.innerHeight)), p().frameRate);
19046
- }, Ne = async (e = {}) => {
19047
- let n = W;
19065
+ }, Pe = async () => {
19066
+ let e = te;
19067
+ return $y(e?.width ?? Math.max(2, Math.round(i.innerWidth)), e?.height ?? Math.max(2, Math.round(i.innerHeight)), h().frameRate);
19068
+ }, Fe = async (e = {}) => {
19069
+ let n = te;
19048
19070
  if (!n) throw Error("No recording is ready to export.");
19049
- let r = H.status;
19050
- he({
19071
+ let r = W.status;
19072
+ _e({
19051
19073
  status: "exporting",
19052
19074
  error: null
19053
19075
  });
@@ -19056,7 +19078,7 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
19056
19078
  ...r,
19057
19079
  filename: ib(r.format)
19058
19080
  };
19059
- return he({
19081
+ return _e({
19060
19082
  status: "ready",
19061
19083
  duration: n.duration,
19062
19084
  width: n.width,
@@ -19071,29 +19093,29 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
19071
19093
  bytes: i.blob.size
19072
19094
  }), i;
19073
19095
  } catch (e) {
19074
- throw he({
19096
+ throw _e({
19075
19097
  status: r === "ready" ? "ready" : "error",
19076
19098
  error: e instanceof Error ? e.message : "Could not export the recording."
19077
19099
  }), e;
19078
19100
  }
19079
- }, Pe = _b({
19101
+ }, Ie = _b({
19080
19102
  ownerDocument: r,
19081
19103
  ownerWindow: i,
19082
19104
  root: o,
19083
- formats: async () => Me(),
19084
- onDiscard: je,
19085
- onExport: Ne
19086
- }), Fe = async () => {
19087
- if (pe) return pe;
19088
- if (H.status !== "recording" || !te || !ee) throw Error("No recording is active.");
19089
- let e = le, n = te, r = ee, a = Ab(H.rect);
19105
+ formats: async () => Pe(),
19106
+ onDiscard: Ne,
19107
+ onExport: Fe
19108
+ }), Le = async () => {
19109
+ if (he) return he;
19110
+ if (W.status !== "recording" || !re || !ne) throw Error("No recording is active.");
19111
+ let e = de, n = re, r = ne, a = Ab(W.rect);
19090
19112
  if (!a) throw Error("Recording region is unavailable.");
19091
- return pe = (async () => {
19092
- se && i.cancelAnimationFrame(se), se = 0, ce && i.clearTimeout(ce), ce = 0;
19093
- let s = G;
19094
- G = null, s && await s;
19113
+ return he = (async () => {
19114
+ K && i.cancelAnimationFrame(K), K = 0, le && i.clearTimeout(le), le = 0;
19115
+ let s = ie;
19116
+ ie = null, s && await s;
19095
19117
  let c = await n.finalize();
19096
- if (te = null, ee = null, Uy(r), le !== e || fe) throw Error("Recording was cancelled.");
19118
+ if (re = null, ne = null, Uy(r), de !== e || me) throw Error("Recording was cancelled.");
19097
19119
  let l = await nb(c), u = {
19098
19120
  blob: c,
19099
19121
  format: "webm",
@@ -19102,14 +19124,14 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
19102
19124
  height: l.height,
19103
19125
  createdAt: Date.now()
19104
19126
  };
19105
- return W = u, Te(), Oe(), ve(), o.style.pointerEvents = "none", he({
19127
+ return te = u, De(), Ae(), be(), o.style.pointerEvents = "none", _e({
19106
19128
  status: "ready",
19107
19129
  elapsed: l.duration,
19108
19130
  duration: l.duration,
19109
19131
  width: l.width,
19110
19132
  height: l.height,
19111
19133
  error: null
19112
- }), Pe.show(u), await t.hook.emit("recording:ready", {
19134
+ }), Ie.show(u), await t.hook.emit("recording:ready", {
19113
19135
  rect: a,
19114
19136
  duration: l.duration,
19115
19137
  width: l.width,
@@ -19117,45 +19139,45 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
19117
19139
  bytes: c.size
19118
19140
  }), u;
19119
19141
  })().catch(async (t) => {
19120
- if (await Ae(!0), ve(), le === e && !fe) {
19142
+ if (await Me(!0), be(), de === e && !me) {
19121
19143
  let e = t instanceof Error ? t.message : "Could not finish the recording.";
19122
- he({
19144
+ _e({
19123
19145
  status: "error",
19124
19146
  error: e
19125
- }), ke(t);
19147
+ }), je(t);
19126
19148
  }
19127
19149
  throw t;
19128
19150
  }).finally(() => {
19129
- pe = null;
19130
- }), pe;
19131
- }, Ie = (e, t, n, r) => {
19151
+ he = null;
19152
+ }), he;
19153
+ }, Re = (e, t, n, r) => {
19132
19154
  let a = 1 / r, o = (r) => {
19133
- if (fe || le !== n || H.status !== "recording" || te !== t || ee !== e) return;
19134
- let s = Math.max(0, (r - ue) / 1e3);
19135
- he({ elapsed: s }), z.textContent = `${String(Math.floor(s / 60)).padStart(2, "0")}:${String(Math.floor(s % 60)).padStart(2, "0")}`;
19155
+ if (me || de !== n || W.status !== "recording" || re !== t || ne !== e) return;
19156
+ let s = Math.max(0, (r - fe) / 1e3);
19157
+ _e({ elapsed: s }), V.textContent = `${String(Math.floor(s / 60)).padStart(2, "0")}:${String(Math.floor(s % 60)).padStart(2, "0")}`;
19136
19158
  let c = s;
19137
- !G && c - de >= a * .8 && (Hy(e, H.rect ?? {
19159
+ !ie && c - pe >= a * .8 && (Hy(e, W.rect ?? {
19138
19160
  left: 0,
19139
19161
  top: 0,
19140
19162
  width: i.innerWidth,
19141
19163
  height: i.innerHeight
19142
- }, Ty(i)), de = c, G = t.addFrame(c, a).catch((e) => {
19143
- throw le === n && !fe && Ae(!0).then(() => {
19144
- ve();
19164
+ }, Ty(i)), pe = c, ie = t.addFrame(c, a).catch((e) => {
19165
+ throw de === n && !me && Me(!0).then(() => {
19166
+ be();
19145
19167
  let t = e instanceof Error ? e.message : "MediaBunny could not encode the recording.";
19146
- he({
19168
+ _e({
19147
19169
  status: "error",
19148
19170
  error: t
19149
- }), ke(e);
19171
+ }), je(e);
19150
19172
  }), e;
19151
19173
  }).finally(() => {
19152
- G = null;
19153
- })), se = i.requestAnimationFrame(o);
19174
+ ie = null;
19175
+ })), K = i.requestAnimationFrame(o);
19154
19176
  };
19155
- se = i.requestAnimationFrame(o);
19156
- }, Le = async (e) => {
19157
- let n = ++le, a = p().frameRate;
19158
- Pe.dismiss(), W = null, ne = null, re = null, ie = !1, ae = null, we(e), o.style.pointerEvents = "none", u(!0), ve(), he({
19177
+ K = i.requestAnimationFrame(o);
19178
+ }, ze = async (e) => {
19179
+ let n = ++de, a = h().frameRate;
19180
+ Ie.dismiss(), te = null, ae = null, G = null, oe = !1, se = null, Ee(e), o.style.pointerEvents = "none", f(!0), be(), _e({
19159
19181
  status: "selecting",
19160
19182
  elapsed: 0,
19161
19183
  rect: e,
@@ -19163,49 +19185,49 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
19163
19185
  width: null,
19164
19186
  height: null,
19165
19187
  error: null
19166
- }), z.textContent = "00:00", De(e);
19188
+ }), V.textContent = "00:00", ke(e);
19167
19189
  try {
19168
19190
  let s = await Vy(r, i, e, a);
19169
- if (fe || le !== n) {
19191
+ if (me || de !== n) {
19170
19192
  Uy(s);
19171
19193
  return;
19172
19194
  }
19173
19195
  let c = await tb(s.canvas, {
19174
19196
  format: "webm",
19175
19197
  frameRate: a,
19176
- quality: f
19198
+ quality: m
19177
19199
  });
19178
- if (fe || le !== n) {
19200
+ if (me || de !== n) {
19179
19201
  await c.cancel(), Uy(s);
19180
19202
  return;
19181
19203
  }
19182
- if (ee = s, te = c, ue = i.performance.now(), de = 0, Hy(s, e, Ty(i)), await c.addFrame(0, 1 / a), fe || le !== n) {
19183
- await Ae(!0);
19204
+ if (ne = s, re = c, fe = i.performance.now(), pe = 0, Hy(s, e, Ty(i)), await c.addFrame(0, 1 / a), me || de !== n) {
19205
+ await Me(!0);
19184
19206
  return;
19185
19207
  }
19186
- he({
19208
+ _e({
19187
19209
  status: "recording",
19188
19210
  elapsed: 0
19189
- }), o.style.pointerEvents = "none", u(!0), we(e), z.textContent = "00:00", De(e), Ie(s, c, n, a), s.track.addEventListener("ended", () => {
19190
- le === n && H.status === "recording" && Fe().catch(() => void 0);
19191
- }, { once: !0 }), ce = i.setTimeout(() => {
19192
- le === n && H.status === "recording" && Fe().catch(() => void 0);
19193
- }, d * 1e3), await t.hook.emit("recording:start", {
19211
+ }), o.style.pointerEvents = "none", f(!0), Ee(e), V.textContent = "00:00", ke(e), Re(s, c, n, a), s.track.addEventListener("ended", () => {
19212
+ de === n && W.status === "recording" && Le().catch(() => void 0);
19213
+ }, { once: !0 }), le = i.setTimeout(() => {
19214
+ de === n && W.status === "recording" && Le().catch(() => void 0);
19215
+ }, p * 1e3), await t.hook.emit("recording:start", {
19194
19216
  rect: { ...e },
19195
19217
  frameRate: a,
19196
- maxDurationSeconds: d
19218
+ maxDurationSeconds: p
19197
19219
  });
19198
19220
  } catch (t) {
19199
- if (await Ae(!0), ve(), le !== n || fe) return;
19221
+ if (await Me(!0), be(), de !== n || me) return;
19200
19222
  let r = t instanceof DOMException && t.name === "AbortError", i = r ? null : t instanceof Error ? t.message : "Could not start the recording.";
19201
- throw he({
19223
+ throw _e({
19202
19224
  status: r ? "idle" : "error",
19203
19225
  rect: r ? null : e,
19204
19226
  error: i
19205
- }), r || ke(t), t;
19227
+ }), r || je(t), t;
19206
19228
  }
19207
- }, Re = () => {
19208
- H.status !== "selecting" && (++le, Pe.dismiss(), W = null, re = null, ie = !1, ae = null, _e(), Se(null), h.style.display = "block", h.style.pointerEvents = "auto", b.style.removeProperty("display"), o.style.pointerEvents = "auto", he({
19229
+ }, Be = () => {
19230
+ W.status !== "selecting" && (++de, Ie.dismiss(), te = null, G = null, oe = !1, se = null, ye(), we(null), _.style.display = "block", _.style.pointerEvents = "auto", S.style.removeProperty("display"), o.style.pointerEvents = "auto", _e({
19209
19231
  status: "selecting",
19210
19232
  elapsed: 0,
19211
19233
  rect: null,
@@ -19214,23 +19236,23 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
19214
19236
  height: null,
19215
19237
  error: null
19216
19238
  }));
19217
- }, ze = async (e) => {
19218
- if (H.status === "recording") {
19219
- await Fe();
19239
+ }, Ve = async (e) => {
19240
+ if (W.status === "recording") {
19241
+ await Le();
19220
19242
  return;
19221
19243
  }
19222
- if (H.status === "selecting") {
19223
- await Be();
19244
+ if (W.status === "selecting") {
19245
+ await He();
19224
19246
  return;
19225
19247
  }
19226
19248
  if (!e) {
19227
- Re();
19249
+ Be();
19228
19250
  return;
19229
19251
  }
19230
19252
  if (e.width < 4 || e.height < 4) throw Error("Recording selection must be at least 4px by 4px.");
19231
- await Le(e);
19232
- }, Be = async () => {
19233
- ++le, Ee(), await Ae(!0), ve(), H.status !== "ready" && he({
19253
+ await ze(e);
19254
+ }, He = async () => {
19255
+ ++de, Oe(), await Me(!0), be(), W.status !== "ready" && _e({
19234
19256
  status: "idle",
19235
19257
  elapsed: 0,
19236
19258
  rect: null,
@@ -19239,33 +19261,33 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
19239
19261
  height: null,
19240
19262
  error: null
19241
19263
  });
19242
- }, Ve = (e, t, n) => {
19243
- let r = re;
19244
- !ie || !r || e.button !== 0 || (e.preventDefault(), e.stopPropagation(), ae = {
19264
+ }, Ue = (e, t, n) => {
19265
+ let r = G;
19266
+ !oe || !r || e.button !== 0 || (e.preventDefault(), e.stopPropagation(), se = {
19245
19267
  kind: t,
19246
19268
  handle: n,
19247
19269
  pointerId: e.pointerId,
19248
19270
  startX: e.clientX,
19249
19271
  startY: e.clientY,
19250
19272
  rect: { ...r }
19251
- }, h.setPointerCapture?.(e.pointerId));
19252
- }, He = (e) => {
19253
- H.status === "selecting" && e.button === 0 && (ie && re && xe(re, {
19273
+ }, _.setPointerCapture?.(e.pointerId));
19274
+ }, We = (e) => {
19275
+ W.status === "selecting" && e.button === 0 && (oe && G && Ce(G, {
19254
19276
  x: e.clientX,
19255
19277
  y: e.clientY
19256
- }) || (e.preventDefault(), e.stopPropagation(), ie = !1, re = null, he({ rect: null }), h.style.cursor = "crosshair", ne = {
19278
+ }) || (e.preventDefault(), e.stopPropagation(), oe = !1, G = null, _e({ rect: null }), _.style.cursor = "crosshair", ae = {
19257
19279
  x: e.clientX,
19258
19280
  y: e.clientY
19259
- }, Se(qa(ne, ne, {
19281
+ }, we(qa(ae, ae, {
19260
19282
  width: i.innerWidth,
19261
19283
  height: i.innerHeight
19262
- })), h.setPointerCapture?.(e.pointerId)));
19263
- }, Ue = (e) => {
19264
- if (H.status === "selecting") {
19265
- if (ae) {
19266
- let t = ae, n = e.clientX - t.startX, r = e.clientY - t.startY, a = i.innerWidth, o = i.innerHeight;
19284
+ })), _.setPointerCapture?.(e.pointerId)));
19285
+ }, Ge = (e) => {
19286
+ if (W.status === "selecting") {
19287
+ if (se) {
19288
+ let t = se, n = e.clientX - t.startX, r = e.clientY - t.startY, a = i.innerWidth, o = i.innerHeight;
19267
19289
  if (t.kind === "move") {
19268
- Ce({
19290
+ Te({
19269
19291
  ...t.rect,
19270
19292
  left: t.rect.left + n,
19271
19293
  top: t.rect.top + r
@@ -19273,7 +19295,7 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
19273
19295
  return;
19274
19296
  }
19275
19297
  let s = t.handle ?? "", c = t.rect.left, l = t.rect.top, u = t.rect.left + t.rect.width, d = t.rect.top + t.rect.height;
19276
- s.includes("w") && (c = Math.min(u - 4, Math.max(0, t.rect.left + n))), s.includes("e") && (u = Math.max(c + 4, Math.min(a, t.rect.left + t.rect.width + n))), s.includes("n") && (l = Math.min(d - 4, Math.max(0, t.rect.top + r))), s.includes("s") && (d = Math.max(l + 4, Math.min(o, t.rect.top + t.rect.height + r))), Ce({
19298
+ s.includes("w") && (c = Math.min(u - 4, Math.max(0, t.rect.left + n))), s.includes("e") && (u = Math.max(c + 4, Math.min(a, t.rect.left + t.rect.width + n))), s.includes("n") && (l = Math.min(d - 4, Math.max(0, t.rect.top + r))), s.includes("s") && (d = Math.max(l + 4, Math.min(o, t.rect.top + t.rect.height + r))), Te({
19277
19299
  left: c,
19278
19300
  top: l,
19279
19301
  width: u - c,
@@ -19281,7 +19303,7 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
19281
19303
  });
19282
19304
  return;
19283
19305
  }
19284
- ne && Se(qa(ne, {
19306
+ ae && we(qa(ae, {
19285
19307
  x: e.clientX,
19286
19308
  y: e.clientY
19287
19309
  }, {
@@ -19289,14 +19311,14 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
19289
19311
  height: i.innerHeight
19290
19312
  }));
19291
19313
  }
19292
- }, We = (e) => {
19293
- if (ae) {
19294
- ae = null, h.hasPointerCapture?.(e.pointerId) && h.releasePointerCapture(e.pointerId), re && Se(re);
19314
+ }, Ke = (e) => {
19315
+ if (se) {
19316
+ se = null, _.hasPointerCapture?.(e.pointerId) && _.releasePointerCapture(e.pointerId), G && we(G);
19295
19317
  return;
19296
19318
  }
19297
- let t = ne;
19298
- if (ne = null, H.status !== "selecting" || !t) return;
19299
- h.hasPointerCapture?.(e.pointerId) && h.releasePointerCapture(e.pointerId);
19319
+ let t = ae;
19320
+ if (ae = null, W.status !== "selecting" || !t) return;
19321
+ _.hasPointerCapture?.(e.pointerId) && _.releasePointerCapture(e.pointerId);
19300
19322
  let n = qa(t, {
19301
19323
  x: e.clientX,
19302
19324
  y: e.clientY
@@ -19305,66 +19327,66 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
19305
19327
  height: i.innerHeight
19306
19328
  });
19307
19329
  if (n.width < 4 || n.height < 4) {
19308
- re = null, ie = !1, he({ rect: null }), Se(null);
19330
+ G = null, oe = !1, _e({ rect: null }), we(null);
19309
19331
  return;
19310
19332
  }
19311
- re = be(n), ie = !0, h.style.cursor = "default", he({ rect: re }), Se(re);
19312
- }, Ge = (e) => {
19313
- ne = null, ae = null, h.hasPointerCapture?.(e.pointerId) && h.releasePointerCapture(e.pointerId), Se(re && ie ? re : null);
19314
- }, Ke = (e) => {
19315
- if (e.key === "Enter" && H.status === "selecting" && ie && re) {
19316
- e.preventDefault(), e.stopImmediatePropagation(), Le(re).catch(() => void 0);
19333
+ G = Se(n), oe = !0, _.style.cursor = "default", _e({ rect: G }), we(G);
19334
+ }, qe = (e) => {
19335
+ ae = null, se = null, _.hasPointerCapture?.(e.pointerId) && _.releasePointerCapture(e.pointerId), we(G && oe ? G : null);
19336
+ }, Je = (e) => {
19337
+ if (e.key === "Enter" && W.status === "selecting" && oe && G) {
19338
+ e.preventDefault(), e.stopImmediatePropagation(), ze(G).catch(() => void 0);
19317
19339
  return;
19318
19340
  }
19319
19341
  if (e.key === "Escape") {
19320
- if (H.status === "selecting") {
19321
- e.preventDefault(), e.stopImmediatePropagation(), Be();
19342
+ if (W.status === "selecting") {
19343
+ e.preventDefault(), e.stopImmediatePropagation(), He();
19322
19344
  return;
19323
19345
  }
19324
- H.status === "recording" && (e.preventDefault(), e.stopImmediatePropagation(), Fe().catch(() => void 0));
19346
+ W.status === "recording" && (e.preventDefault(), e.stopImmediatePropagation(), Le().catch(() => void 0));
19325
19347
  }
19326
19348
  };
19327
- h.addEventListener("pointerdown", He), h.addEventListener("pointermove", Ue), h.addEventListener("pointerup", We), h.addEventListener("pointercancel", Ge), i.addEventListener("keydown", Ke, !0), v.addEventListener("pointerdown", (e) => {
19349
+ _.addEventListener("pointerdown", We), _.addEventListener("pointermove", Ge), _.addEventListener("pointerup", Ke), _.addEventListener("pointercancel", qe), i.addEventListener("keydown", Je, !0), b.addEventListener("pointerdown", (e) => {
19328
19350
  let t = e.target;
19329
- t instanceof Element && t.closest("[data-mesurer-recording-resize]") || Ve(e, "move");
19351
+ t instanceof Element && t.closest("[data-mesurer-recording-resize]") || Ue(e, "move");
19330
19352
  });
19331
- for (let e of I) e.addEventListener("pointerdown", (t) => {
19332
- Ve(t, "resize", e.dataset.mesurerRecordingResize);
19353
+ for (let e of R) e.addEventListener("pointerdown", (t) => {
19354
+ Ue(t, "resize", e.dataset.mesurerRecordingResize);
19333
19355
  });
19334
- x.addEventListener("pointerdown", (e) => {
19356
+ C.addEventListener("pointerdown", (e) => {
19335
19357
  e.stopPropagation();
19336
- }), x.addEventListener("click", (e) => {
19358
+ }), C.addEventListener("click", (e) => {
19337
19359
  e.stopPropagation();
19338
19360
  });
19339
- let qe = (e, t) => {
19340
- let n = re, r = Number(e.value);
19341
- !n || !Number.isFinite(r) || Ce({
19361
+ let Ye = (e, t) => {
19362
+ let n = G, r = Number(e.value);
19363
+ !n || !Number.isFinite(r) || Te({
19342
19364
  ...n,
19343
19365
  [t]: r
19344
19366
  });
19345
19367
  };
19346
- T.addEventListener("change", () => qe(T, "width")), E.addEventListener("change", () => qe(E, "height")), A.addEventListener("change", () => qe(A, "left")), j.addEventListener("change", () => qe(j, "top")), N.addEventListener("click", () => {
19347
- H.status === "selecting" && ie && re && Le(re).catch(() => void 0);
19348
- }), B.addEventListener("click", () => {
19349
- if (H.status === "recording") {
19350
- Fe().catch(() => void 0);
19368
+ D.addEventListener("change", () => Ye(D, "width")), O.addEventListener("change", () => Ye(O, "height")), M.addEventListener("change", () => Ye(M, "left")), N.addEventListener("change", () => Ye(N, "top")), F.addEventListener("click", () => {
19369
+ W.status === "selecting" && oe && G && ze(G).catch(() => void 0);
19370
+ }), H.addEventListener("click", () => {
19371
+ if (W.status === "recording") {
19372
+ Le().catch(() => void 0);
19351
19373
  return;
19352
19374
  }
19353
- H.status === "selecting" && L.style.display !== "none" && Be().catch(() => void 0);
19375
+ W.status === "selecting" && z.style.display !== "none" && He().catch(() => void 0);
19354
19376
  });
19355
- let Je = {
19356
- snapshot: () => jb(H),
19377
+ let Xe = {
19378
+ snapshot: () => jb(W),
19357
19379
  subscribe(e) {
19358
- return U.add(e), () => U.delete(e);
19380
+ return ee.add(e), () => ee.delete(e);
19359
19381
  },
19360
- settings: p,
19361
- setSettings: m,
19362
- formats: Me,
19363
- start: ze,
19364
- stop: Fe,
19365
- cancel: Be,
19366
- discard: je,
19367
- export: Ne
19382
+ settings: h,
19383
+ setSettings: g,
19384
+ formats: Pe,
19385
+ start: Ve,
19386
+ stop: Le,
19387
+ cancel: He,
19388
+ discard: Ne,
19389
+ export: Fe
19368
19390
  };
19369
19391
  t.tool.register({
19370
19392
  id: "recording",
@@ -19375,28 +19397,28 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
19375
19397
  toolbarMode: "select",
19376
19398
  compactPinned: !0,
19377
19399
  icon: kb,
19378
- active: ge,
19379
- hidden: () => !p().toolEnabled,
19400
+ active: ve,
19401
+ hidden: () => !h().toolEnabled,
19380
19402
  menu: {
19381
19403
  label: "Recording options",
19382
19404
  items: [
19383
19405
  {
19384
19406
  id: "new",
19385
19407
  label: "New recording",
19386
- disabled: () => H.status === "recording" || H.status === "exporting",
19387
- run: () => ze()
19408
+ disabled: () => W.status === "recording" || W.status === "exporting",
19409
+ run: () => Ve()
19388
19410
  },
19389
19411
  {
19390
19412
  id: "stop",
19391
19413
  label: "Stop recording",
19392
- disabled: () => H.status !== "recording",
19393
- run: () => Fe().then(() => void 0)
19414
+ disabled: () => W.status !== "recording",
19415
+ run: () => Le().then(() => void 0)
19394
19416
  },
19395
19417
  {
19396
19418
  id: "discard",
19397
19419
  label: "Discard clip",
19398
- disabled: () => W === null,
19399
- run: je
19420
+ disabled: () => te === null,
19421
+ run: Ne
19400
19422
  }
19401
19423
  ]
19402
19424
  }
@@ -19409,26 +19431,26 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
19409
19431
  id: "tool",
19410
19432
  label: "Recording tool",
19411
19433
  description: "Show selected-region video recording in the Select toolbar.",
19412
- value: () => p().toolEnabled,
19434
+ value: () => h().toolEnabled,
19413
19435
  set: async (e) => {
19414
- m({ toolEnabled: e }), !e && ge() && await Be();
19436
+ g({ toolEnabled: e }), !e && ve() && await He();
19415
19437
  }
19416
19438
  }, {
19417
19439
  type: "toggle",
19418
19440
  id: "120-fps",
19419
19441
  label: "120 fps",
19420
19442
  description: "Record at 120 fps when the capture source supports it. Off records at 60 fps.",
19421
- value: () => p().frameRate === 120,
19422
- disabled: ge,
19443
+ value: () => h().frameRate === 120,
19444
+ disabled: ve,
19423
19445
  set: (e) => {
19424
- m({ frameRate: e ? 120 : 60 });
19446
+ g({ frameRate: e ? 120 : 60 });
19425
19447
  }
19426
19448
  }]
19427
- }), t.command.register(Sb, async () => (await ze(), Ib(H))), t.command.register(Cb, async () => Rb(await Fe())), t.command.register(wb, () => (je(), Ib(H))), t.command.register(Tb, async (e) => {
19428
- let t = await Ne(Fb(e));
19449
+ }), t.command.register(Sb, async () => (await Ve(), Ib(W))), t.command.register(Cb, async () => Rb(await Le())), t.command.register(wb, () => (Ne(), Ib(W))), t.command.register(Tb, async (e) => {
19450
+ let t = await Fe(Fb(e));
19429
19451
  return zb(t, r, i), Lb(t);
19430
- }), t.service.provide(yb, Je), t.lifecycle.onDispose(() => {
19431
- fe = !0, ++le, U.clear(), h.removeEventListener("pointerdown", He), h.removeEventListener("pointermove", Ue), h.removeEventListener("pointerup", We), h.removeEventListener("pointercancel", Ge), i.removeEventListener("keydown", Ke, !0), K && i.clearTimeout(K), Pe.dispose(), Ee(), ve(), Ae(!0), s.dispose(), a.dispose();
19452
+ }), t.service.provide(yb, Xe), t.lifecycle.onDispose(() => {
19453
+ me = !0, ++de, ee.clear(), _.removeEventListener("pointerdown", We), _.removeEventListener("pointermove", Ge), _.removeEventListener("pointerup", Ke), _.removeEventListener("pointercancel", qe), i.removeEventListener("keydown", Je, !0), ue && i.clearTimeout(ue), Ie.dispose(), Oe(), be(), Me(!0), s.dispose(), a.dispose();
19432
19454
  });
19433
19455
  }
19434
19456
  }), Vb = 144, Hb = 96, Ub = 8, Wb = 4, Gb = 1800, Kb = 200, qb = (e, t) => {
@@ -19665,35 +19687,35 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
19665
19687
  }, te = (e) => {
19666
19688
  let t = x?.pointerId;
19667
19689
  t != null && t === e.pointerId && z(e.clientX, e.clientY);
19668
- }, G = (e) => {
19690
+ }, ne = (e) => {
19669
19691
  let t = x?.pointerId;
19670
19692
  t != null && t === e.pointerId && (o.hasPointerCapture?.(e.pointerId) && o.releasePointerCapture(e.pointerId), B());
19671
- }, ne = (e) => {
19693
+ }, re = (e) => {
19672
19694
  let t = x?.pointerId;
19673
19695
  t != null && t === e.pointerId && (o.hasPointerCapture?.(e.pointerId) && o.releasePointerCapture(e.pointerId), V());
19674
- }, re = (e) => {
19675
- (e.key === "Enter" || e.key === " ") && (e.preventDefault(), F());
19676
19696
  }, ie = (e) => {
19677
- e.target !== s && e.preventDefault();
19697
+ (e.key === "Enter" || e.key === " ") && (e.preventDefault(), F());
19678
19698
  }, ae = (e) => {
19699
+ e.target !== s && e.preventDefault();
19700
+ }, G = (e) => {
19679
19701
  e.target === d && k();
19680
19702
  }, oe = (e) => {
19681
19703
  e.key === "Escape" && d.style.display !== "none" && (e.preventDefault(), e.stopImmediatePropagation(), k());
19682
19704
  };
19683
19705
  return c.addEventListener("pointerdown", (e) => e.stopPropagation()), c.addEventListener("mousedown", (e) => e.stopPropagation()), c.addEventListener("click", (e) => {
19684
19706
  e.stopPropagation(), M();
19685
- }), o.addEventListener("mousedown", H), o.addEventListener("pointerdown", ee), o.addEventListener("keydown", re), o.addEventListener("contextmenu", ie), d.addEventListener("click", ae), m.addEventListener("click", () => {
19707
+ }), o.addEventListener("mousedown", H), o.addEventListener("pointerdown", ee), o.addEventListener("keydown", ie), o.addEventListener("contextmenu", ae), d.addEventListener("click", G), m.addEventListener("click", () => {
19686
19708
  I();
19687
- }), h.addEventListener("click", L), g.addEventListener("click", k), t.addEventListener("mousemove", U, !0), t.addEventListener("mouseup", W, !0), t.addEventListener("pointermove", te, !0), t.addEventListener("pointerup", G, !0), t.addEventListener("pointercancel", ne, !0), t.addEventListener("keydown", oe, !0), {
19709
+ }), h.addEventListener("click", L), g.addEventListener("click", k), t.addEventListener("mousemove", U, !0), t.addEventListener("mouseup", W, !0), t.addEventListener("pointermove", te, !0), t.addEventListener("pointerup", ne, !0), t.addEventListener("pointercancel", re, !0), t.addEventListener("keydown", oe, !0), {
19688
19710
  show(e, n) {
19689
19711
  if (T) return;
19690
- E(), k(), w &&= (w.cancel(), null), o.style.opacity = "1", o.style.transform = "none", o.style.removeProperty("will-change"), o.style.pointerEvents = "auto", A(), v = e;
19712
+ E(), k(), w &&= (w.cancel(), null), o.style.opacity = "1", o.style.transform = "none", o.style.willChange = "transform, opacity", o.style.pointerEvents = "auto", A(), v = e;
19691
19713
  let i = globalThis.URL.createObjectURL(e);
19692
19714
  y = i, s.src = i, f.src = i, o.style.display = "block", P(b ?? N()), O(Xb(n)), r > 0 && (S = t.setTimeout(j, r));
19693
19715
  },
19694
19716
  dismiss: j,
19695
19717
  dispose() {
19696
- T || (T = !0, E(), D(), j(), t.removeEventListener("mousemove", U, !0), t.removeEventListener("mouseup", W, !0), t.removeEventListener("pointermove", te, !0), t.removeEventListener("pointerup", G, !0), t.removeEventListener("pointercancel", ne, !0), t.removeEventListener("keydown", oe, !0), o.removeEventListener("mousedown", H), o.removeEventListener("pointerdown", ee), o.removeEventListener("keydown", re), o.removeEventListener("contextmenu", ie), d.removeEventListener("click", ae), a.remove());
19718
+ T || (T = !0, E(), D(), j(), t.removeEventListener("mousemove", U, !0), t.removeEventListener("mouseup", W, !0), t.removeEventListener("pointermove", te, !0), t.removeEventListener("pointerup", ne, !0), t.removeEventListener("pointercancel", re, !0), t.removeEventListener("keydown", oe, !0), o.removeEventListener("mousedown", H), o.removeEventListener("pointerdown", ee), o.removeEventListener("keydown", ie), o.removeEventListener("contextmenu", ae), d.removeEventListener("click", G), a.remove());
19697
19719
  }
19698
19720
  };
19699
19721
  }, $b = "mesurer.screenshot", ex = "screenshot", tx = "mesurer.screenshot.settings", nx = "mesurer.screenshot.active", rx = "runtime:solid", ix = "screenshot.toggle", ax = 2500, ox = 0, sx = [
@@ -19961,7 +19983,7 @@ var Kv = "mesurer.layout-guides", qv = "layout-guides:v1", Jv = "mesurer.layout-
19961
19983
  Za(n, Xa(), r, i), l = !0;
19962
19984
  }) : Promise.resolve(), p = await Promise.allSettled([u, f]), m = s.copy && p[0]?.status === "rejected", h = s.download && p[1]?.status === "rejected";
19963
19985
  if (b !== o) throw Error("Screenshot capture was cancelled.");
19964
- return M.show(n, {
19986
+ return w() && F(), M.show(n, {
19965
19987
  copied: a,
19966
19988
  downloaded: l,
19967
19989
  copyFailed: m,
@@ -20504,7 +20526,7 @@ function Yx(e) {
20504
20526
  }
20505
20527
  //#endregion
20506
20528
  //#region src/version.ts
20507
- var Xx = "0.2.1-beta.13", Zx = Np, Qx = Pp, $x = () => ({
20529
+ var Xx = "0.2.1-beta.15", Zx = Np, Qx = Pp, $x = () => ({
20508
20530
  ...km(),
20509
20531
  version: Xx
20510
20532
  }), eS = Qx, tS = (e, t) => e.left <= t.left + t.width && e.left + e.width >= t.left && e.top <= t.top + t.height && e.top + e.height >= t.top, nS = (e) => {
@@ -21666,7 +21688,7 @@ function xC(e = {}) {
21666
21688
  checked: () => n === e.id,
21667
21689
  disabled: () => B(),
21668
21690
  run() {
21669
- B() || (z(e.id, !l), G());
21691
+ B() || (z(e.id, !l), ne());
21670
21692
  }
21671
21693
  };
21672
21694
  });
@@ -21674,7 +21696,7 @@ function xC(e = {}) {
21674
21696
  id: "codex.thread.show-more",
21675
21697
  label: "Show 5 more…",
21676
21698
  run() {
21677
- g = nC, G();
21699
+ g = nC, ne();
21678
21700
  }
21679
21701
  }), b?.queuedSubmissionId && b.status === "queued" && (b.dispatch === "desktop-opened" || b.dispatch === "desktop-wake-failed") && r.push({
21680
21702
  id: "codex.delivery.receipt",
@@ -21682,7 +21704,7 @@ function xC(e = {}) {
21682
21704
  disabled: () => !0,
21683
21705
  run: () => void 0
21684
21706
  }), r;
21685
- }, G = () => {
21707
+ }, ne = () => {
21686
21708
  if (!n || w) return;
21687
21709
  let t = L(), r = te(), i = !B() && !d && o !== "unavailable" && (o === "unknown" || !!t), a = s?.source === "desktop" && s.reason === "desktop-private-transport", c = !window.__MESURER_HOST__?.codexBridge, l = H() ?? (o === "unavailable" ? c ? "Codex host not connected" : a ? "Codex Desktop not connected" : "Codex unavailable" : d || o === "available" && !t ? "Choose Codex thread" : "Queue to Codex"), u = JSON.stringify({
21688
21710
  bridgeAvailability: o,
@@ -21712,7 +21734,7 @@ function xC(e = {}) {
21712
21734
  items: r
21713
21735
  } : void 0
21714
21736
  }));
21715
- }, ne = async (e) => {
21737
+ }, re = async (e) => {
21716
21738
  if (o !== "available") return;
21717
21739
  let t = await I({
21718
21740
  limit: nC,
@@ -21723,22 +21745,22 @@ function xC(e = {}) {
21723
21745
  ee = (e = !1) => w || o === "unknown" && !e ? Promise.resolve() : y || (y = (async () => {
21724
21746
  try {
21725
21747
  let e = await N();
21726
- o = "available", c = !0, f = e.thread, await ne(u ?? l ?? e.thread);
21748
+ o = "available", c = !0, f = e.thread, await re(u ?? l ?? e.thread);
21727
21749
  let t = u ?? l;
21728
21750
  t && p.includes(t) ? d = !1 : p.length === 1 ? z(p[0], !0) : d = !0, !d && t && R();
21729
21751
  } catch (e) {
21730
21752
  throw o = "unavailable", s = await j().catch(() => s), e;
21731
21753
  } finally {
21732
- y = null, G();
21754
+ y = null, ne();
21733
21755
  }
21734
21756
  })(), y);
21735
- let re = () => {
21757
+ let ie = () => {
21736
21758
  x &&= (globalThis.clearTimeout(x), 0), S &&= (globalThis.clearTimeout(S), 0);
21737
- }, ie = () => {
21759
+ }, ae = () => {
21738
21760
  S && globalThis.clearTimeout(S), S = globalThis.setTimeout(() => {
21739
- S = 0, b?.status === "completed" && (b = null, R(), G());
21761
+ S = 0, b?.status === "completed" && (b = null, R(), ne());
21740
21762
  }, $S);
21741
- }, ae = async (e) => {
21763
+ }, G = async (e) => {
21742
21764
  if (!(!b || b.id !== e.id)) {
21743
21765
  if (b = {
21744
21766
  ...b,
@@ -21748,49 +21770,49 @@ function xC(e = {}) {
21748
21770
  dispatch: e.dispatch ?? b.dispatch,
21749
21771
  dispatchError: e.dispatchError ?? b.dispatchError
21750
21772
  }, R(), e.status === "queued" && (e.dispatch === "desktop-opened" || e.dispatch === "desktop-wake-failed")) {
21751
- G();
21773
+ ne();
21752
21774
  return;
21753
21775
  }
21754
21776
  if (e.status === "completed") {
21755
21777
  if (r) for (let e of b.annotationIds) await i.removeAnnotation(e);
21756
- R(), G(), ie();
21778
+ R(), ne(), ae();
21757
21779
  return;
21758
21780
  }
21759
21781
  if (e.status === "interrupted") {
21760
- R(), G();
21782
+ R(), ne();
21761
21783
  let t = e.updatedAt > 0 ? e.updatedAt : Date.now();
21762
21784
  Date.now() - t < tC && (x = globalThis.setTimeout(() => {
21763
21785
  x = 0, oe(e.id);
21764
21786
  }, eC));
21765
21787
  return;
21766
21788
  }
21767
- G(), x = globalThis.setTimeout(() => {
21789
+ ne(), x = globalThis.setTimeout(() => {
21768
21790
  x = 0, oe(e.id);
21769
21791
  }, QS);
21770
21792
  }
21771
21793
  }, oe = async (e) => {
21772
21794
  if (!(w || b?.id !== e)) try {
21773
- await ae(await P(e));
21795
+ await G(await P(e));
21774
21796
  } catch (t) {
21775
21797
  if (b?.id !== e) return;
21776
21798
  let n = t;
21777
21799
  if (b.status === "queued" && b.thread) try {
21778
21800
  o !== "available" && await ee(!0);
21779
21801
  let e = await F(b);
21780
- await ae(e);
21802
+ await G(e);
21781
21803
  return;
21782
21804
  } catch (e) {
21783
21805
  n = e;
21784
21806
  }
21785
21807
  if (b?.id !== e) return;
21786
21808
  if (b.status === "interrupted") {
21787
- G();
21809
+ ne();
21788
21810
  return;
21789
21811
  }
21790
21812
  b = {
21791
21813
  ...b,
21792
21814
  status: "failed"
21793
- }, R(), bC(n) && (o = "unavailable"), G();
21815
+ }, R(), bC(n) && (o = "unavailable"), ne();
21794
21816
  }
21795
21817
  }, se = {
21796
21818
  health: M,
@@ -21803,7 +21825,7 @@ function xC(e = {}) {
21803
21825
  action: "target",
21804
21826
  thread: t
21805
21827
  }), r = mC(n);
21806
- return s = pC(n) ?? s, z(t, !l), f = r.thread, p = r.threads, o = "available", c = !0, G(), r;
21828
+ return s = pC(n) ?? s, z(t, !l), f = r.thread, p = r.threads, o = "available", c = !0, ne(), r;
21807
21829
  },
21808
21830
  async queue(e) {
21809
21831
  let r = await _C(i, e, t), a = e?.thread?.trim(), s = a || (n ? L() : null);
@@ -21826,7 +21848,7 @@ function xC(e = {}) {
21826
21848
  };
21827
21849
  return e.queuedSubmissionId !== void 0 && (n.queuedSubmissionId = e.queuedSubmissionId?.trim() || null), e.dispatch !== void 0 && (n.dispatch = e.dispatch), e.dispatchError !== void 0 && (n.dispatchError = e.dispatchError?.trim() || null), n;
21828
21850
  } catch (e) {
21829
- throw n && bC(e) && (o = "unavailable", G()), e;
21851
+ throw n && bC(e) && (o = "unavailable", ne()), e;
21830
21852
  }
21831
21853
  },
21832
21854
  send(e) {
@@ -21835,7 +21857,7 @@ function xC(e = {}) {
21835
21857
  };
21836
21858
  e.service.provide(YS, se);
21837
21859
  let ce = async () => {
21838
- if (!(C || B())) return re(), b = {
21860
+ if (!(C || B())) return ie(), b = {
21839
21861
  id: null,
21840
21862
  thread: L(),
21841
21863
  status: "queueing",
@@ -21843,7 +21865,7 @@ function xC(e = {}) {
21843
21865
  queuedSubmissionId: null,
21844
21866
  dispatch: null,
21845
21867
  dispatchError: null
21846
- }, G(), C = (async () => {
21868
+ }, ne(), C = (async () => {
21847
21869
  try {
21848
21870
  n && o !== "available" && await ee(!0);
21849
21871
  let e = await se.queue();
@@ -21855,7 +21877,7 @@ function xC(e = {}) {
21855
21877
  queuedSubmissionId: e.queuedSubmissionId ?? null,
21856
21878
  dispatch: e.dispatch ?? null,
21857
21879
  dispatchError: e.dispatchError ?? null
21858
- }, z(e.thread, !l), R(), G(), console.info(`[Mesurer] Queued feedback for Codex thread ${e.thread}.`), e.deliveryId ? e.status === "completed" || e.status === "interrupted" ? await ae({
21880
+ }, z(e.thread, !l), R(), ne(), console.info(`[Mesurer] Queued feedback for Codex thread ${e.thread}.`), e.deliveryId ? e.status === "completed" || e.status === "interrupted" ? await G({
21859
21881
  id: e.deliveryId,
21860
21882
  thread: e.thread,
21861
21883
  status: e.status,
@@ -21865,10 +21887,10 @@ function xC(e = {}) {
21865
21887
  }) : x = globalThis.setTimeout(() => {
21866
21888
  x = 0, oe(e.deliveryId);
21867
21889
  }, QS) : S = globalThis.setTimeout(() => {
21868
- S = 0, b?.id === null && b?.status === "queued" && (b = null, R(), G());
21890
+ S = 0, b?.id === null && b?.status === "queued" && (b = null, R(), ne());
21869
21891
  }, $S);
21870
21892
  } catch (e) {
21871
- b = null, R(), G();
21893
+ b = null, R(), ne();
21872
21894
  let t = e instanceof Error ? e.message : String(e);
21873
21895
  throw console.error(`[Mesurer] Failed to queue feedback for Codex: ${t}`), e;
21874
21896
  } finally {
@@ -21877,7 +21899,7 @@ function xC(e = {}) {
21877
21899
  })(), C;
21878
21900
  };
21879
21901
  if (e.command.register("codex.queue", ce), e.command.register("codex.send", ce), n) {
21880
- G();
21902
+ ne();
21881
21903
  try {
21882
21904
  await ee(!0);
21883
21905
  } catch (e) {
@@ -21896,7 +21918,7 @@ function xC(e = {}) {
21896
21918
  c && ee().catch(() => void 0);
21897
21919
  }, ZS);
21898
21920
  e.lifecycle.onDispose(() => {
21899
- w = !0, re(), globalThis.clearInterval(t), _?.dispose(), _ = void 0;
21921
+ w = !0, ie(), globalThis.clearInterval(t), _?.dispose(), _ = void 0;
21900
21922
  });
21901
21923
  }
21902
21924
  }
@@ -22035,7 +22057,7 @@ function NC(e = {}) {
22035
22057
  return t;
22036
22058
  }, te = async (e, t) => {
22037
22059
  (await P()).show(e, t);
22038
- }, G = async (e, t) => (await P()).capturePlan(e, t), ne = async (e, t) => (await P()).review(e, t), re = () => j.textEdits(), ie = (e) => j.textEdit(e), ae = Object.assign(j, {
22060
+ }, ne = async (e, t) => (await P()).capturePlan(e, t), re = async (e, t) => (await P()).review(e, t), ie = () => j.textEdits(), ae = (e) => j.textEdit(e), G = Object.assign(j, {
22039
22061
  capabilities: () => {
22040
22062
  let e = !!b?.service.get(AS);
22041
22063
  return {
@@ -22063,8 +22085,8 @@ function NC(e = {}) {
22063
22085
  arrangements: W,
22064
22086
  arrange: ee,
22065
22087
  showArrange: te,
22066
- arrangeCapturePlan: G,
22067
- reviewArrange: ne
22088
+ arrangeCapturePlan: ne,
22089
+ reviewArrange: re
22068
22090
  }), oe = {
22069
22091
  ...f,
22070
22092
  version: Xx,
@@ -22083,13 +22105,13 @@ function NC(e = {}) {
22083
22105
  ce = t;
22084
22106
  });
22085
22107
  K.catch(() => void 0);
22086
- let le = Promise.race([(async () => (await ae.ready(), k()))(), K]);
22108
+ let le = Promise.race([(async () => (await G.ready(), k()))(), K]);
22087
22109
  le.catch(() => void 0);
22088
22110
  let ue = null;
22089
22111
  if (A) {
22090
22112
  let e = A.globalName ?? "__MESURER__", t = Object.getOwnPropertyDescriptor(m, e);
22091
- Reflect.set(m, e, ae), ue = () => {
22092
- Object.getOwnPropertyDescriptor(m, e)?.value === ae && (t ? Object.defineProperty(m, e, t) : Reflect.deleteProperty(m, e));
22113
+ Reflect.set(m, e, G), ue = () => {
22114
+ Object.getOwnPropertyDescriptor(m, e)?.value === G && (t ? Object.defineProperty(m, e, t) : Reflect.deleteProperty(m, e));
22093
22115
  };
22094
22116
  }
22095
22117
  let de = !1, fe = () => void 0, pe = (e) => {
@@ -22102,7 +22124,7 @@ function NC(e = {}) {
22102
22124
  return b;
22103
22125
  },
22104
22126
  ready: le,
22105
- agent: ae,
22127
+ agent: G,
22106
22128
  service: M,
22107
22129
  context: F,
22108
22130
  contextText: I,
@@ -22116,10 +22138,10 @@ function NC(e = {}) {
22116
22138
  arrangements: W,
22117
22139
  arrange: ee,
22118
22140
  showArrange: te,
22119
- arrangeCapturePlan: G,
22120
- reviewArrange: ne,
22121
- textEdits: re,
22122
- textEdit: ie,
22141
+ arrangeCapturePlan: ne,
22142
+ reviewArrange: re,
22143
+ textEdits: ie,
22144
+ textEdit: ae,
22123
22145
  bringToFront: g.bringToFront,
22124
22146
  describe: async () => (await le).describe(),
22125
22147
  dispose() {