flexdesk 0.12.0 → 0.13.0

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/widgets.js CHANGED
@@ -9,14 +9,14 @@ import {
9
9
  hideContextMenu,
10
10
  setHelpProvider,
11
11
  showContextMenu
12
- } from "./chunk-5QPGYHBN.js";
12
+ } from "./chunk-CWPMLX67.js";
13
13
  import {
14
14
  modalHost,
15
15
  openConfirm,
16
16
  openForm,
17
17
  openModal,
18
18
  setModalHost
19
- } from "./chunk-6EZPPN4E.js";
19
+ } from "./chunk-NNFTETK3.js";
20
20
  import {
21
21
  ActionDropdown
22
22
  } from "./chunk-O5OHMWBB.js";
package/dist/wm.js CHANGED
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  HelpModal,
3
3
  showContextMenu
4
- } from "./chunk-5QPGYHBN.js";
4
+ } from "./chunk-CWPMLX67.js";
5
5
  import {
6
6
  openForm
7
- } from "./chunk-6EZPPN4E.js";
7
+ } from "./chunk-NNFTETK3.js";
8
8
  import {
9
9
  ManagedWindow,
10
10
  isRowActivation
@@ -3420,7 +3420,7 @@ var TileRenderer = class {
3420
3420
  const kindKey = this._leafKindKey(leaf);
3421
3421
  let entry = this._leafCache.get(leaf.id);
3422
3422
  if (entry && entry.kindKey === kindKey) {
3423
- entry.titleEl.textContent = leaf.title || (leaf.content ? leaf.content.kind : "empty");
3423
+ entry.titleEl.textContent = entry.liveTitle || leaf.title || (leaf.content ? leaf.content.kind : "empty");
3424
3424
  _paintLeafIcon(entry.iconEl, leaf, entry.content, this.ctx);
3425
3425
  if (this.tabLayout === "header") this._refreshHeaderLabels(leaf, entry);
3426
3426
  return entry.wrapEl;
@@ -3545,11 +3545,26 @@ var TileRenderer = class {
3545
3545
  this.ctx.onLeafAction?.(leaf.id, btn.dataset.action);
3546
3546
  });
3547
3547
  let content = {};
3548
+ let liveTitle = null;
3549
+ let liveEntry = null;
3548
3550
  if (leaf.content) {
3549
- const leafCtx = { ...this.ctx, leafId: leaf.id };
3551
+ const setTitle = (text) => {
3552
+ const next = text == null || text === "" ? null : String(text);
3553
+ if (!liveEntry) {
3554
+ liveTitle = next;
3555
+ title.textContent = next || leaf.title || leaf.content.kind;
3556
+ return;
3557
+ }
3558
+ if (this._leafCache.get(leaf.id) !== liveEntry) return;
3559
+ liveEntry.liveTitle = next;
3560
+ const now = this.tree?.get?.(leaf.id) || leaf;
3561
+ liveEntry.titleEl.textContent = next || now.title || (now.content ? now.content.kind : "empty");
3562
+ };
3563
+ const leafCtx = { ...this.ctx, leafId: leaf.id, setTitle };
3550
3564
  const activeProps = activeTab?.props ?? leaf.content.props;
3551
3565
  content = this.content.mount(leaf.content.kind, body, activeProps, leafCtx);
3552
3566
  if (content.title) title.textContent = content.title;
3567
+ if (liveTitle) title.textContent = liveTitle;
3553
3568
  _paintLeafIcon(icon, leaf, content, this.ctx);
3554
3569
  _paintContentActions(contentActions, content.chromeActions);
3555
3570
  _vetoStructuralActions(actions, content.chrome);
@@ -3575,9 +3590,12 @@ var TileRenderer = class {
3575
3590
  // mounts into. Null under the `bottom` layout, which is plain
3576
3591
  // markup this file writes itself.
3577
3592
  tabStrip: null,
3578
- tabStripHostEl: null
3593
+ tabStripHostEl: null,
3594
+ // C41. Null until the content calls `ctx.setTitle`.
3595
+ liveTitle
3579
3596
  };
3580
3597
  this._leafCache.set(leaf.id, entry);
3598
+ liveEntry = entry;
3581
3599
  this._renderTabBar(leaf, entry);
3582
3600
  return wrap;
3583
3601
  }