@timebraid/vue 1.8.0 → 1.9.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/README.md +2 -2
- package/dist/timebraid-vue.js +5 -5
- package/dist/timebraid-vue.umd.cjs +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -41,13 +41,13 @@ Import `@timebraid/tokens/styles.css` once in `main.ts` (or `@timebraid/vue/styl
|
|
|
41
41
|
| `TDot` | Status dot with a pulsing ring when running |
|
|
42
42
|
| `TDur` | Duration readout, mono and tabular |
|
|
43
43
|
| `TWaterfall` | Parallel-time waterfall timeline for reports, one lane per task grouped under its project; `showWs` adds a workspace tag per project |
|
|
44
|
-
| `TPill` | The floating always-visible timer pill: count first, the longest timer leads; the `popover` slot (scoped with `running`) replaces the popover body, grouped by workspace then project, and `open` is consumer-owned through `update:open
|
|
44
|
+
| `TPill` | The floating always-visible timer pill: count first, the longest timer leads; the `popover` slot (scoped with `running`) replaces the popover body, grouped by workspace then project, and `open` is consumer-owned through `update:open`; with several timers its stop control opens the popover, where Stop all sits top right |
|
|
45
45
|
| `TWsIcon` | Workspace glyph: a coloured initial square, or the app mark when `all` |
|
|
46
46
|
| `TWsTag` | Small workspace label, the square plus its name; appears only in the All-workspaces scope |
|
|
47
47
|
| `TWorkspaceSwitcher` | Scope selector: All workspaces or one |
|
|
48
48
|
| `TWorkspaceMenu` | The workspace list shared by the switcher's popover and the drawer; `embedded` drops its shadow for inline use |
|
|
49
49
|
| `TWorkspaceDrawer` | Full-height phone workspace list; drag the panel to dismiss |
|
|
50
|
-
| `TTimerBar` | Phone bottom timer bar: takes the full `timers` array, count first with the longest leading |
|
|
50
|
+
| `TTimerBar` | Phone bottom timer bar: takes the full `timers` array, count first with the longest leading; with several timers its stop control emits `open` for the running sheet instead of stopping them all |
|
|
51
51
|
| `TStrokes` | Oversized faded tally strokes behind sign-in and empty states |
|
|
52
52
|
| `TStartHero` | The pill-shaped start field that opens Today: "Start a timer" with "Quick start" chips on desktop when nothing runs, "Start another timer" with a "Runs in parallel" hint (chips kept) when `hasRunning`, the bare pill when `mobile` |
|
|
53
53
|
| `TIOSNav` | iOS nav bar under the status-bar inset (`--inset-top`); the `leading` control, the large title and the `right` actions share one line and the title collapses in place on scroll |
|
package/dist/timebraid-vue.js
CHANGED
|
@@ -1198,7 +1198,7 @@ const Ee = { style: { position: "relative", display: "inline-block" } }, he = {
|
|
|
1198
1198
|
});
|
|
1199
1199
|
const T = () => {
|
|
1200
1200
|
if (e.paused) return l("start");
|
|
1201
|
-
if (J.value) return l("
|
|
1201
|
+
if (J.value) return l("update:open", !0);
|
|
1202
1202
|
f.value && l("stop", f.value.id);
|
|
1203
1203
|
}, O = { display: "flex", alignItems: "center", gap: "10px", width: "100%", padding: "9px 10px", borderRadius: "var(--r-btn)", fontSize: "13.5px", textAlign: "left" };
|
|
1204
1204
|
return (h, Y) => (i(), n("div", Ee, [
|
|
@@ -1339,7 +1339,7 @@ const Ee = { style: { position: "relative", display: "inline-block" } }, he = {
|
|
|
1339
1339
|
}, null, 8, ["label"])) : (i(), I(V, {
|
|
1340
1340
|
key: 1,
|
|
1341
1341
|
icon: A.paused ? "play" : "square",
|
|
1342
|
-
label: A.paused ? "Resume" : J.value ? "Stop
|
|
1342
|
+
label: A.paused ? "Resume" : J.value ? "Stop timers" : "Stop",
|
|
1343
1343
|
size: 30,
|
|
1344
1344
|
tone: "accent",
|
|
1345
1345
|
onClick: T
|
|
@@ -1694,7 +1694,7 @@ const Ee = { style: { position: "relative", display: "inline-block" } }, he = {
|
|
|
1694
1694
|
var m, r;
|
|
1695
1695
|
return x.value ? `Longest: ${((m = f.value) == null ? void 0 : m.task) ?? ""}` : ((r = f.value) == null ? void 0 : r.project) ?? "";
|
|
1696
1696
|
}), a = () => {
|
|
1697
|
-
if (x.value) return l("
|
|
1697
|
+
if (x.value) return l("open");
|
|
1698
1698
|
f.value && l("stop", f.value.id);
|
|
1699
1699
|
}, E = (m) => {
|
|
1700
1700
|
m.target instanceof Element && m.target.closest("button") !== null || l("open");
|
|
@@ -1746,8 +1746,8 @@ const Ee = { style: { position: "relative", display: "inline-block" } }, he = {
|
|
|
1746
1746
|
c("button", {
|
|
1747
1747
|
type: "button",
|
|
1748
1748
|
class: "press",
|
|
1749
|
-
"aria-label": x.value ? "Stop
|
|
1750
|
-
title: x.value ? "Stop
|
|
1749
|
+
"aria-label": x.value ? "Stop timers" : "Stop",
|
|
1750
|
+
title: x.value ? "Stop timers" : "Stop",
|
|
1751
1751
|
style: { width: "36px", height: "36px", "border-radius": "50%", background: "var(--accent)", display: "grid", "place-items": "center", flex: "none" },
|
|
1752
1752
|
onClick: a
|
|
1753
1753
|
}, [...r[0] || (r[0] = [
|