@wildwinter/app-shell 0.25.0 → 0.27.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/index.cjs CHANGED
@@ -130,6 +130,14 @@ var icon = {
130
130
  /** Read-only on disk with no other holder: the resting state of everything
131
131
  * in a lock-based working copy that nobody has checked out yet. */
132
132
  readOnly: "\u25CB",
133
+ /** YOU hold this one: checked out / opened by the current user, still yours to
134
+ * edit. Shares its glyph with `note`, which the table permits: an entry is a
135
+ * MEANING, and two meanings may draw the same shape. */
136
+ checkedOut: "\u270E",
137
+ /** Tracked, with local changes not yet committed. */
138
+ modified: "\u25CF",
139
+ /** Not in version control yet: new since the last commit. */
140
+ untracked: "+",
133
141
  /** Something needs attention but is not fatal. */
134
142
  warning: "\u203C",
135
143
  /** A live thing: the running position, an active marker. */
@@ -477,7 +485,9 @@ function pinButton(opts) {
477
485
  const reflect = () => {
478
486
  b.classList.toggle("on", pinned);
479
487
  b.setAttribute("aria-pressed", String(pinned));
480
- b.title = pinned ? "Pinned on top: click to unpin" : "Click to keep on top";
488
+ const label2 = pinned ? "Pinned on top: click to unpin" : "Click to keep on top";
489
+ b.dataset["tip"] = label2;
490
+ b.setAttribute("aria-label", label2);
481
491
  };
482
492
  reflect();
483
493
  b.addEventListener("click", () => {
@@ -784,12 +794,18 @@ function foldVc(shards, keys) {
784
794
  if (!s.writable) out.writable = false;
785
795
  if (s.lockedBy?.length) out.lockedBy = [.../* @__PURE__ */ new Set([...out.lockedBy ?? [], ...s.lockedBy])];
786
796
  if (s.outOfDate) out.outOfDate = true;
797
+ if (s.checkedOutByMe) out.checkedOutByMe = true;
798
+ if (s.dirty) out.dirty = true;
799
+ if (s.untracked) out.untracked = true;
787
800
  }
788
801
  return out;
789
802
  }
790
803
  function vcBadgeFor(s) {
791
804
  if (s?.lockedBy?.length) return { glyph: icon.locked, cls: "vc-locked", title: `Locked by ${s.lockedBy.join(", ")}` };
792
805
  if (s?.outOfDate) return { glyph: icon.down, cls: "vc-stale", title: "Out of date - a newer version is on the server" };
806
+ if (s?.checkedOutByMe) return { glyph: icon.checkedOut, cls: "vc-mine", title: "Checked out by you" };
807
+ if (s?.dirty) return { glyph: icon.modified, cls: "vc-dirty", title: "Modified - uncommitted local changes" };
808
+ if (s?.untracked) return { glyph: icon.untracked, cls: "vc-new", title: "New - not yet committed" };
793
809
  if (s && !s.writable) return { glyph: icon.readOnly, cls: "vc-frozen", title: "Read-only on disk - saving checks it out" };
794
810
  return null;
795
811
  }