@timebraid/vue 1.15.0 → 1.16.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 +18 -2
- package/dist/index.d.ts +754 -192
- package/dist/style.css +1 -1
- package/dist/timebraid-vue.js +3618 -1895
- package/dist/timebraid-vue.umd.cjs +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -36,12 +36,13 @@ Import `@timebraid/tokens/styles.css` once in `main.ts` (or `@timebraid/vue/styl
|
|
|
36
36
|
| `TSelect` | Trailing-value select with `chevrons-up-down`, used inside `TRow`; name the control with `label` (rendered visually hidden) or `ariaLabel` |
|
|
37
37
|
| `TBadge` | Status pill: neutral, running, green, red, soon |
|
|
38
38
|
| `TBar` | Animated value bar |
|
|
39
|
+
| `TBudgetBar` | A budget bar for Reports: used fills the track, the gap up to where the budget stands by now is tinted and marked, time past the budget runs red |
|
|
39
40
|
| `TGoalBar` | Today's goal bar: done fills a `--fill` track in green and the catch-up share of the target is hatched in orange at the right end until the goal is met |
|
|
40
41
|
| `TGoalStatus` | Today's goal status pill: "+19m catch-up" ("+19m" when `short`), Ahead or Done; nothing for `none` |
|
|
41
42
|
| `TAvatar` | Initials avatar; pass `src` for a photo instead |
|
|
42
43
|
| `TAvatarStack` | Overlapping `TAvatar`s with a `+N` overflow count |
|
|
43
44
|
| `TLargeTitle` | Large collapsing page title; `sticky` pins it above its scrolling content |
|
|
44
|
-
| `TSheet` | Centred sheet on desktop, bottom sheet on phones; on phones drag the grabber, the header or, at the top of its scroll, the content to dismiss - it follows the finger and closes or springs back by release direction |
|
|
45
|
+
| `TSheet` | Centred sheet on desktop, bottom sheet on phones, capped at the window height minus 48px (54px on phones) with the header and desktop footer pinned and the body scrolling; the phone header is a `1fr auto 1fr` grid whose left spot is Cancel, the `left` slot, or nothing with `cancelLabel` `null`; on phones drag the grabber, the header or, at the top of its scroll, the content to dismiss - it follows the finger and closes or springs back by release direction |
|
|
45
46
|
| `TDot` | Status dot with a pulsing ring when running |
|
|
46
47
|
| `TDur` | Duration readout, mono and tabular |
|
|
47
48
|
| `TWaterfall` | Parallel-time waterfall timeline for reports, one lane per task grouped under its project; `showWs` adds a workspace tag per project |
|
|
@@ -64,8 +65,21 @@ Import `@timebraid/tokens/styles.css` once in `main.ts` (or `@timebraid/vue/styl
|
|
|
64
65
|
| `TAuthCard` | Sign-in layout card |
|
|
65
66
|
| `TCheckbox` | Checkbox control |
|
|
66
67
|
| `TTooltip` | Hover tooltip |
|
|
68
|
+
| `TDaysTimeline` | Several days as bands on one shared am/pm hour axis (minutes from midnight), the day in a left gutter: parallel timers stack into lanes per day, each task in its `taskSwatches` colour (striped past seven), names inside wide bars, running bars run to the now line, `hiddenIds` leave the chart, hover syncs with the rows, and `highlightIds` fades non-matching bars in place |
|
|
69
|
+
| `TEyeToggle` | The eye that hides an entry from the chart (crossed out when hidden), with a tooltip that says so |
|
|
70
|
+
| `TOrderButton` | The sort icon beside Filters, newest or oldest first, with a tooltip that explains the order |
|
|
71
|
+
| `TPeriodStepper` | ‹ This week › at the top of a chart card: the arrows step one day, week or month, the label opens a `TMenu` of Day, Week, Month and Custom range…, and a text link returns to the current period |
|
|
72
|
+
| `TMenu` | A small choice menu: a 230px popover under its anchor on the desktop, a bottom sheet of rows on the phone, the chosen item in accent with a check |
|
|
73
|
+
| `TSearchField` | Page search field with a `/` keycap that focuses it from anywhere, a clear button once there is text, and Escape to clear and blur; `size="sm"` for lists in sheets, `busy` for a spinner |
|
|
74
|
+
| `TParallelMark` | Two short running bars, titled "Ran alongside {names}"; replaces the "in parallel" chip on rows |
|
|
75
|
+
| `TAutoStopMark` | An orange `timer-off`, titled "Stopped automatically. Check the end time"; replaces that chip on rows |
|
|
76
|
+
| `TFilterButton` | The Filters button beside search; accent with a count badge when filters are on, icon-only with a corner badge when `compact` |
|
|
77
|
+
| `TChipRow` | Add entry's chip row: section label, 30px pills with a colour dot or an icon, single or `multiple` |
|
|
78
|
+
| `TFilterSheet` | The Filters sheet of Entries and Reports: an accordion of Workspace, Project, Task and Person (each a `TPickList` fed by `fetchOptions`), Show only (switch rows) and Notes (a check list), with each value on the right; picks cascade through `parentOf`, it keeps a draft and emits `apply` |
|
|
79
|
+
| `TPickList` | A long multi-pick list that stays five rows tall: debounced server search with a spinner and dimmed old rows, picked rows first and frozen while open, 20 more rows per page as you scroll, and a fade at the bottom until the end |
|
|
80
|
+
| `THighlight` | Text with every word of a query marked in `--accent-soft-2` |
|
|
67
81
|
|
|
68
|
-
Also exported: `formatDuration(seconds, 'clock' | 'short' | 'compact')`, `PROJECT_COLORS`, `TIMEBRAID_ICON_BASE`, `DEFAULT_ICON_BASE`, `resolveTheme`, `applyTheme`, `watchTheme`, `THEME_PREFERENCES`.
|
|
82
|
+
Also exported: `formatDuration(seconds, 'clock' | 'short' | 'compact' | 'friendly')`, the timeline helpers (`timelineSpan`, `isRunningEntry`, `parallelMinutes`, `parallelPartners`), the task colours (`taskSwatches`, `swatchFill`, `swatchInk`, `SWATCH_COLORS`, `STRIPES`, `RUNNING_SHEEN`), `hourLabel`, `minutesToAmPm`, `toggleId`, the filter helpers (`emptyFilters`, `copyFilters`, `filterCount`, `entriesText`, `ENTRY_FLAGS`, `NOTE_FILTERS`, `DIMENSION_KEYS`, `FLAG_LABELS`, `FLAG_HINTS`, `NOTE_LABELS`) and their types, `PickItem` and `PickPage`, `highlightSegments`, `PROJECT_COLORS`, `TIMEBRAID_ICON_BASE`, `DEFAULT_ICON_BASE`, `resolveTheme`, `applyTheme`, `watchTheme`, `THEME_PREFERENCES`.
|
|
69
83
|
|
|
70
84
|
`TIcon` ships its glyphs: `scripts/glyphs.mjs` writes the Lucide paths for every name the products use into `packages/vue/src/icons/glyphs.ts`, and the component renders them inline in `currentColor`. Nothing is fetched at runtime. To add a glyph, add its name to `NAMES` in the script and run `pnpm glyphs`. `ICON_NAMES` and `hasIcon()` are exported so an app can assert every name it uses is bundled. A name missing from the table still masks from `TIMEBRAID_ICON_BASE` (or the `base` prop) with a dev warning, so nothing breaks while the table catches up.
|
|
71
85
|
|
|
@@ -74,6 +88,8 @@ Also exported: `formatDuration(seconds, 'clock' | 'short' | 'compact')`, `PROJEC
|
|
|
74
88
|
- `TBadge tone="soon"` with the words "Coming soon" on every roadmap item.
|
|
75
89
|
- Indigo (`--accent`) is the accent and the running colour. Amber lives in the app icon only.
|
|
76
90
|
- Project colours come from `PROJECT_COLORS` (Okabe-Ito). Nothing else.
|
|
91
|
+
- No chips on list rows; marks with tooltips instead (`TParallelMark`, `TAutoStopMark`, and the workspace once as a `TWsIcon` beside the project).
|
|
92
|
+
- Long option lists use `TPickList` (server search, 5 rows, paged by 20). On/off filters are switch rows, single choices are check lists. No pills or tabs in sheets.
|
|
77
93
|
|
|
78
94
|
## Develop
|
|
79
95
|
|