@hraness/peopleblade 0.3.0 → 0.3.3
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/THIRD_PARTY_NOTICES.md +8 -0
- package/dist/peopleblade.js +203 -5
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -15,7 +15,7 @@ Installation includes the pinned runtime dependencies Zod 4.4.3 and Effect 3.22.
|
|
|
15
15
|
## Install
|
|
16
16
|
|
|
17
17
|
```bash
|
|
18
|
-
bun add --global @hraness/peopleblade@0.3.
|
|
18
|
+
bun add --global @hraness/peopleblade@0.3.3
|
|
19
19
|
peopleblade --version
|
|
20
20
|
peopleblade init
|
|
21
21
|
peopleblade stats --json
|
|
@@ -51,7 +51,7 @@ execution runtime.
|
|
|
51
51
|
path. When both variables are set, they must name the same executable. The
|
|
52
52
|
bridge still requires exact Ghostget 0.17.3 before invoking a provider operation.
|
|
53
53
|
|
|
54
|
-
PeopleBlade 0.3.
|
|
54
|
+
PeopleBlade 0.3.3 contains the reviewed Ghostget-backed Beeper, Google, and WhatsApp
|
|
55
55
|
live sync commands. Running them requires the separately installed public
|
|
56
56
|
`@hraness/ghostget` 0.17.3 package. Beeper support is bounded to account-aware
|
|
57
57
|
`contacts.list@3` reads, `contacts.search@1`, `messaging.search@2`, and the separate
|
package/THIRD_PARTY_NOTICES.md
CHANGED
|
@@ -28,3 +28,11 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
|
28
28
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
29
29
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
30
30
|
SOFTWARE.
|
|
31
|
+
|
|
32
|
+
## Hraness Paper theme
|
|
33
|
+
|
|
34
|
+
The local workspace embeds the portable Paper theme from `@hraness/design-kit`.
|
|
35
|
+
Its reviewed source identity and file hashes are recorded in the source repository at
|
|
36
|
+
`styles/vendor/hraness-paper/provenance.json`. The theme is copyright (c) 2026 Hraness
|
|
37
|
+
and distributed under the MIT license reproduced in this package’s `LICENSE`.
|
|
38
|
+
It contains no fonts, scripts, or runtime dependencies.
|
package/dist/peopleblade.js
CHANGED
|
@@ -6420,9 +6420,208 @@ function parseGranolaImportJson(raw) {
|
|
|
6420
6420
|
}
|
|
6421
6421
|
}
|
|
6422
6422
|
|
|
6423
|
+
// styles/vendor/hraness-paper/paper-theme.css
|
|
6424
|
+
var paper_theme_default = `/* @hraness/design-kit paper-theme.css, portable contract 1.
|
|
6425
|
+
* Generated by scripts/generate-paper-theme.ts from src/palettes.ts.
|
|
6426
|
+
* Opt in with data-hraness-theme="paper". Import after existing theme rules.
|
|
6427
|
+
* No imports, asset requests, resets, component recipes, or runtime dependencies.
|
|
6428
|
+
* Appearance uses inherited color-scheme; set data-theme on the boundary for
|
|
6429
|
+
* an explicit island. A root without a mode follows the operating system.
|
|
6430
|
+
* A non-paper data-palette on the boundary retains its selected colors.
|
|
6431
|
+
* Requires CSS light-dark() (Chrome 123+, Firefox 120+, Safari 17.5+).
|
|
6432
|
+
*/
|
|
6433
|
+
|
|
6434
|
+
[data-hraness-theme="paper"] {
|
|
6435
|
+
--font-text: "Nebula Sans", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
6436
|
+
--font-heading: var(--font-text);
|
|
6437
|
+
--font-sans: var(--font-text);
|
|
6438
|
+
--font-mono: ui-monospace, "SFMono-Regular", Menlo, Monaco, Consolas, monospace;
|
|
6439
|
+
--ui-font-sans: var(--font-text);
|
|
6440
|
+
--ui-font-heading: var(--font-heading);
|
|
6441
|
+
--ui-font-mono: var(--font-mono);
|
|
6442
|
+
--text-body: 1rem;
|
|
6443
|
+
--text-caption: .75rem;
|
|
6444
|
+
--text-label: .875rem;
|
|
6445
|
+
--font-weight-regular: 400;
|
|
6446
|
+
--font-weight-medium: 550;
|
|
6447
|
+
--font-weight-bold: 700;
|
|
6448
|
+
--radius-sm: .375rem;
|
|
6449
|
+
--radius-md: .625rem;
|
|
6450
|
+
--radius-lg: .875rem;
|
|
6451
|
+
--ui-radius: .875rem;
|
|
6452
|
+
--control-radius: .625rem;
|
|
6453
|
+
--hraness-paper-heading-size: clamp(1.75rem, 3vw, 2.375rem);
|
|
6454
|
+
--hraness-paper-section-heading-size: clamp(1.25rem, 2.2vw, 1.75rem);
|
|
6455
|
+
--hraness-paper-summary-size: 1rem;
|
|
6456
|
+
--hraness-paper-heading-leading: 1.15;
|
|
6457
|
+
--hraness-paper-heading-tracking: -.035em;
|
|
6458
|
+
--hraness-marketing-measure: 80rem;
|
|
6459
|
+
--hraness-marketing-copy-measure: 40rem;
|
|
6460
|
+
--hraness-marketing-prose-measure: 68ch;
|
|
6461
|
+
--hraness-marketing-gutter: clamp(1.25rem, 4vw, 3rem);
|
|
6462
|
+
--hraness-marketing-radius: .625rem;
|
|
6463
|
+
--hraness-marketing-frame-radius: .875rem;
|
|
6464
|
+
--hraness-marketing-heading-weight: 550;
|
|
6465
|
+
--hraness-marketing-heading-tracking: -.025em;
|
|
6466
|
+
--hraness-marketing-section-space: clamp(3rem, 7vw, 6rem);
|
|
6467
|
+
--hraness-marketing-action-height: 2.75rem;
|
|
6468
|
+
font-family: var(--font-text);
|
|
6469
|
+
}
|
|
6470
|
+
|
|
6471
|
+
/* Existing marketing roles declare defaults directly, so inherit this
|
|
6472
|
+
* opt-in rhythm at each role boundary without replacing component recipes. */
|
|
6473
|
+
[data-hraness-theme="paper"] :where(.hraness-marketing-page, .hraness-marketing-header, .hraness-marketing-hero, .hraness-marketing-pillars, .hraness-marketing-install, .hraness-marketing-section, .hraness-marketing-primitives, .hraness-marketing-stats, .hraness-marketing-interfaces, .hraness-marketing-trust, .hraness-marketing-quotes, .hraness-marketing-pricing, .hraness-marketing-questions, .hraness-marketing-maker, .hraness-marketing-cta, .hraness-marketing-proof-frame) {
|
|
6474
|
+
--hraness-marketing-measure: inherit;
|
|
6475
|
+
--hraness-marketing-copy-measure: inherit;
|
|
6476
|
+
--hraness-marketing-prose-measure: inherit;
|
|
6477
|
+
--hraness-marketing-gutter: inherit;
|
|
6478
|
+
--hraness-marketing-radius: inherit;
|
|
6479
|
+
--hraness-marketing-frame-radius: inherit;
|
|
6480
|
+
--hraness-marketing-heading-weight: inherit;
|
|
6481
|
+
--hraness-marketing-heading-tracking: inherit;
|
|
6482
|
+
--hraness-marketing-section-space: inherit;
|
|
6483
|
+
--hraness-marketing-action-height: inherit;
|
|
6484
|
+
}
|
|
6485
|
+
|
|
6486
|
+
:root[data-hraness-theme="paper"]:where(:not([data-theme]):not(.dark), [data-theme="system"]) { color-scheme: light dark; }
|
|
6487
|
+
[data-hraness-theme="paper"]:where([data-theme="dark"], .dark:not([data-theme="light"])) { color-scheme: dark; }
|
|
6488
|
+
[data-hraness-theme="paper"][data-theme="light"] { color-scheme: light; }
|
|
6489
|
+
|
|
6490
|
+
:root[data-hraness-theme="paper"]:where(:not([data-palette]), [data-palette="paper"]),
|
|
6491
|
+
[data-hraness-theme="paper"]:where(:not([data-palette]), [data-palette="paper"]) {
|
|
6492
|
+
--background: light-dark(#f8f7f4, #12100f);
|
|
6493
|
+
--foreground: light-dark(#1c1917, #f5f2ed);
|
|
6494
|
+
--muted: light-dark(#6c665f, #aaa29a);
|
|
6495
|
+
--faint: light-dark(#6c665f, #aaa29a);
|
|
6496
|
+
--grid: light-dark(#dfdcd6, #302b27);
|
|
6497
|
+
--line: light-dark(#b9b3ab, #514a44);
|
|
6498
|
+
--control-border: light-dark(#8a8177, #827a72);
|
|
6499
|
+
--surface: light-dark(#fffefa, #1d1a18);
|
|
6500
|
+
--surface-raised: light-dark(#fffefa, #211d1a);
|
|
6501
|
+
--surface-hover: light-dark(#ebe8e3, #292522);
|
|
6502
|
+
--card: light-dark(#fffefa, #1d1a18);
|
|
6503
|
+
--card-foreground: light-dark(#1c1917, #f5f2ed);
|
|
6504
|
+
--popover: light-dark(#fffefa, #211d1a);
|
|
6505
|
+
--popover-foreground: light-dark(#1c1917, #f5f2ed);
|
|
6506
|
+
--primary: light-dark(#1e5ae1, #8fb0ff);
|
|
6507
|
+
--primary-foreground: light-dark(#f8f7f4, #12100f);
|
|
6508
|
+
--primary-soft: light-dark(#dee5f3, #21232c);
|
|
6509
|
+
--secondary: light-dark(#ebe8e3, #292522);
|
|
6510
|
+
--secondary-foreground: light-dark(#1c1917, #f5f2ed);
|
|
6511
|
+
--accent: light-dark(#dee5f3, #21232c);
|
|
6512
|
+
--accent-foreground: light-dark(#1c1917, #f5f2ed);
|
|
6513
|
+
--focus: light-dark(#1e5ae1, #8fb0ff);
|
|
6514
|
+
--scrim: light-dark(#00000070, #000000b8);
|
|
6515
|
+
--disabled: light-dark(#fffefa, #211d1a);
|
|
6516
|
+
--disabled-foreground: light-dark(#6c665f, #aaa29a);
|
|
6517
|
+
--inverse: light-dark(#1c1917, #f5f2ed);
|
|
6518
|
+
--inverse-foreground: light-dark(#f8f7f4, #12100f);
|
|
6519
|
+
--danger: light-dark(#b23c34, #ef8c82);
|
|
6520
|
+
--danger-foreground: light-dark(#f8f7f4, #12100f);
|
|
6521
|
+
--danger-soft: light-dark(#f0e1dd, #2d1f1d);
|
|
6522
|
+
--warning: light-dark(#975600, #efae55);
|
|
6523
|
+
--warning-foreground: light-dark(#f8f7f4, #12100f);
|
|
6524
|
+
--warning-soft: light-dark(#eee5d7, #2d2317);
|
|
6525
|
+
--success: light-dark(#227445, #5fc98b);
|
|
6526
|
+
--success-foreground: light-dark(#f8f7f4, #12100f);
|
|
6527
|
+
--success-soft: light-dark(#dfe9e0, #1b261e);
|
|
6528
|
+
--info: light-dark(#1e5ae1, #8fb0ff);
|
|
6529
|
+
--info-foreground: light-dark(#f8f7f4, #12100f);
|
|
6530
|
+
--info-soft: light-dark(#dee5f3, #21232c);
|
|
6531
|
+
--chart1: light-dark(#a24a64, #db91aa);
|
|
6532
|
+
--chart2: light-dark(#227445, #5fc98b);
|
|
6533
|
+
--chart3: light-dark(#1e5ae1, #8fb0ff);
|
|
6534
|
+
--chart4: light-dark(#975600, #efae55);
|
|
6535
|
+
--chart5: light-dark(#7858a3, #b7a0dc);
|
|
6536
|
+
--ui-background: var(--background);
|
|
6537
|
+
--ui-foreground: var(--foreground);
|
|
6538
|
+
--ui-card: var(--card);
|
|
6539
|
+
--ui-card-foreground: var(--card-foreground);
|
|
6540
|
+
--ui-popover: var(--popover);
|
|
6541
|
+
--ui-popover-foreground: var(--popover-foreground);
|
|
6542
|
+
--ui-primary: var(--primary);
|
|
6543
|
+
--ui-primary-foreground: var(--primary-foreground);
|
|
6544
|
+
--ui-secondary: var(--secondary);
|
|
6545
|
+
--ui-secondary-foreground: var(--secondary-foreground);
|
|
6546
|
+
--ui-muted: var(--secondary);
|
|
6547
|
+
--ui-muted-foreground: var(--muted);
|
|
6548
|
+
--ui-accent: var(--accent);
|
|
6549
|
+
--ui-accent-foreground: var(--accent-foreground);
|
|
6550
|
+
--ui-destructive: var(--danger);
|
|
6551
|
+
--ui-destructive-foreground: var(--danger-foreground);
|
|
6552
|
+
--ui-destructive-soft: var(--danger-soft);
|
|
6553
|
+
--ui-border: var(--line);
|
|
6554
|
+
--ui-input: var(--control-border);
|
|
6555
|
+
--ui-ring: var(--focus);
|
|
6556
|
+
--ui-success: var(--success);
|
|
6557
|
+
--ui-success-foreground: var(--success-foreground);
|
|
6558
|
+
--ui-success-soft: var(--success-soft);
|
|
6559
|
+
--ui-warning: var(--warning);
|
|
6560
|
+
--ui-warning-foreground: var(--warning-foreground);
|
|
6561
|
+
--ui-warning-soft: var(--warning-soft);
|
|
6562
|
+
--ui-info: var(--info);
|
|
6563
|
+
--ui-info-foreground: var(--info-foreground);
|
|
6564
|
+
--ui-info-soft: var(--info-soft);
|
|
6565
|
+
--ui-chart-1: var(--chart1);
|
|
6566
|
+
--ui-chart-2: var(--chart2);
|
|
6567
|
+
--ui-chart-3: var(--chart3);
|
|
6568
|
+
--ui-chart-4: var(--chart4);
|
|
6569
|
+
--ui-chart-5: var(--chart5);
|
|
6570
|
+
--hraness-site-accent: var(--primary);
|
|
6571
|
+
--hraness-site-accent-ink: var(--primary-foreground);
|
|
6572
|
+
--plain-background: var(--background);
|
|
6573
|
+
--plain-foreground: var(--foreground);
|
|
6574
|
+
--plain-muted: var(--muted);
|
|
6575
|
+
--plain-line: var(--grid);
|
|
6576
|
+
--plain-surface: var(--secondary);
|
|
6577
|
+
--plain-link: var(--primary);
|
|
6578
|
+
--plain-syntax-keyword: var(--warning);
|
|
6579
|
+
--plain-syntax-string: var(--success);
|
|
6580
|
+
--plain-syntax-number: var(--danger);
|
|
6581
|
+
--plain-syntax-name: var(--info);
|
|
6582
|
+
--elevation-low: 0 1px 2px light-dark(rgb(33 25 18 / 8%), rgb(0 0 0 / 24%));
|
|
6583
|
+
--elevation-raised: 0 8px 24px -12px light-dark(rgb(33 25 18 / 22%), rgb(0 0 0 / 48%));
|
|
6584
|
+
--elevation-overlay: 0 18px 54px light-dark(rgb(33 25 18 / 20%), rgb(0 0 0 / 58%));
|
|
6585
|
+
}
|
|
6586
|
+
|
|
6587
|
+
@media (forced-colors: active) {
|
|
6588
|
+
:root[data-hraness-theme="paper"]:where(:not([data-palette]), [data-palette="paper"]),
|
|
6589
|
+
[data-hraness-theme="paper"]:where(:not([data-palette]), [data-palette="paper"]) {
|
|
6590
|
+
--background: Canvas;
|
|
6591
|
+
--foreground: CanvasText;
|
|
6592
|
+
--muted: CanvasText;
|
|
6593
|
+
--faint: CanvasText;
|
|
6594
|
+
--surface: Canvas;
|
|
6595
|
+
--surface-raised: Canvas;
|
|
6596
|
+
--surface-hover: Canvas;
|
|
6597
|
+
--card: Canvas;
|
|
6598
|
+
--card-foreground: CanvasText;
|
|
6599
|
+
--popover: Canvas;
|
|
6600
|
+
--popover-foreground: CanvasText;
|
|
6601
|
+
--secondary: Canvas;
|
|
6602
|
+
--secondary-foreground: CanvasText;
|
|
6603
|
+
--grid: CanvasText;
|
|
6604
|
+
--line: CanvasText;
|
|
6605
|
+
--control-border: ButtonText;
|
|
6606
|
+
--primary: Highlight;
|
|
6607
|
+
--primary-foreground: HighlightText;
|
|
6608
|
+
--accent: Highlight;
|
|
6609
|
+
--accent-foreground: HighlightText;
|
|
6610
|
+
--focus: Highlight;
|
|
6611
|
+
--inverse: CanvasText;
|
|
6612
|
+
--inverse-foreground: Canvas;
|
|
6613
|
+
--disabled: Canvas;
|
|
6614
|
+
--disabled-foreground: GrayText;
|
|
6615
|
+
--elevation-low: none;
|
|
6616
|
+
--elevation-raised: none;
|
|
6617
|
+
--elevation-overlay: none;
|
|
6618
|
+
}
|
|
6619
|
+
}
|
|
6620
|
+
`;
|
|
6621
|
+
|
|
6423
6622
|
// src/local/workspace-assets.ts
|
|
6424
6623
|
var workspaceHtml = `<!doctype html>
|
|
6425
|
-
<html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1">
|
|
6624
|
+
<html lang="en" data-hraness-theme="paper"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1">
|
|
6426
6625
|
<title>PeopleBlade \xB7 Local workspace</title><link rel="stylesheet" href="/workspace.css"><script src="/workspace.js" defer></script></head>
|
|
6427
6626
|
<body><a class="skip" href="#workspace">Skip to contacts</a><header><a class="brand" href="/">PeopleBlade<span>LOCAL WORKSPACE</span></a><p>Your people. Your machine.</p><span class="privacy">No cloud sync \xB7 no enrichment calls</span></header>
|
|
6428
6627
|
<main id="workspace"><section id="unlock" class="unlock"><span class="eyebrow">PRIVATE BY DEFAULT</span><h1>Open your local contact book.</h1><p>Select the access file printed by <code>peopleblade ui</code>. It connects this tab to that running process only. The file is not uploaded to a remote service.</p><label class="file-label">Workspace access file<input id="access-file" type="file" accept="application/json,.json"></label><p class="muted">Keep the terminal running. Closing it locks the workspace. Notes never leave this machine.</p></section>
|
|
@@ -6431,9 +6630,8 @@ var workspaceHtml = `<!doctype html>
|
|
|
6431
6630
|
<div class="workspace-grid"><section class="records" aria-label="Contacts"><div class="table-toolbar"><span id="range" aria-live="polite"></span><div><label>Sort <select id="sort"><option value="interactions">Interactions</option><option value="name">Name</option><option value="organization">Company</option><option value="last-contact">Last interaction</option></select></label><button id="direction" type="button" aria-label="Toggle sort direction">Descending \u2193</button></div></div><div class="table-scroll" tabindex="0" aria-label="Scrollable contacts"><table><caption class="sr-only">Local contacts; open a person to inspect details and notes.</caption><thead><tr><th scope="col">Person</th><th scope="col">Company</th><th scope="col">Interactions</th></tr></thead><tbody id="rows"></tbody></table></div><div id="empty" class="empty" hidden>No matches. Try another search or import a source with the CLI.</div><nav class="pagination" aria-label="Contact pages"><button id="previous" type="button">\u2190 Previous</button><span id="page"></span><button id="next" type="button">Next \u2192</button></nav><p class="live-note">Live view: imports and identity reviews can move rows between pages. Refresh after changes.</p></section>
|
|
6432
6631
|
<aside id="detail" class="detail" aria-label="Contact details"><div class="empty"><h2>A little context goes a long way.</h2><p>Open a person to see their contact methods, sources and private notes.</p></div></aside></div></section>
|
|
6433
6632
|
<p id="status" role="status" aria-live="polite"></p></main><footer>PeopleBlade \xB7 Local authority, reviewable identity, private notes.</footer></body></html>`;
|
|
6434
|
-
var workspaceCss = `
|
|
6435
|
-
:root{
|
|
6436
|
-
@media(prefers-color-scheme:dark){:root{--bg:#151a17;--panel:#1c231e;--text:#e1e7dc;--muted:#a3b19e;--line:#354136;--accent:#a9c4a3;--soft:#28342b;--danger:#ffb4a9}.primary{color:#182019}}
|
|
6633
|
+
var workspaceCss = paper_theme_default + `
|
|
6634
|
+
:root{--bg:var(--background);--panel:var(--surface);--text:var(--foreground);--soft:var(--secondary)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.55 var(--font-text)}button,input,select,textarea{font:inherit;color:inherit}button,input,select,textarea{border:1px solid var(--line);border-radius:7px;background:var(--panel);padding:9px 12px}button{cursor:pointer;font-weight:550}button:hover{border-color:var(--primary);background:var(--soft)}button:disabled{opacity:.45;cursor:default}a{color:var(--primary)}:focus-visible{outline:3px solid var(--primary);outline-offset:3px}header{display:flex;align-items:center;gap:30px;padding:22px 32px;border-bottom:1px solid var(--line);background:var(--panel)}header p{color:var(--muted);margin:0}.brand{color:var(--text);font-size:22px;line-height:1.1;text-decoration:none;font-weight:650;letter-spacing:-.7px}.brand span{display:block;font-size:9px;letter-spacing:1.8px;color:var(--muted);margin-top:8px}.privacy{margin-left:auto;border:1px solid var(--line);border-radius:99px;padding:6px 12px;font-size:11px;color:var(--muted)}main{max-width:1600px;margin:auto;padding:36px 32px}h1{font-size:34px;line-height:1.2;letter-spacing:-1px;font-weight:550;margin:8px 0 24px}h2{font-size:21px;line-height:1.3;letter-spacing:-.5px;margin:0 0 12px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--muted);font-weight:650}.unlock{max-width:600px;margin:7vh auto;padding:36px;background:var(--panel);border:1px solid var(--line);border-radius:12px}.unlock p{color:var(--muted)}.file-label{display:grid;gap:8px;margin:25px 0}.page-heading{display:flex;align-items:center;justify-content:space-between}.page-heading button{margin-bottom:20px}.filters{display:flex;gap:10px;align-items:end;margin-bottom:20px;flex-wrap:wrap}.filters label{display:grid;gap:5px;font-size:11px;color:var(--muted)}.filters input,.filters select{font-size:13px;color:var(--text);min-height:42px}.filters .search{flex:1;min-width:220px}.workspace-grid{display:grid;grid-template-columns:minmax(420px,1.4fr) minmax(320px,1fr);gap:20px;align-items:start}.records,.detail{border:1px solid var(--line);background:var(--panel);border-radius:10px;overflow:hidden}.table-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 16px;border-bottom:1px solid var(--line);color:var(--muted);font-size:12px;flex-wrap:wrap}.table-toolbar>div{display:flex;align-items:center;gap:6px}.table-toolbar select,.table-toolbar button{padding:5px 8px;font-size:12px}.table-scroll{overflow:auto;max-height:65vh}table{width:100%;border-collapse:collapse;text-align:left}th{position:sticky;top:0;background:var(--soft);font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);z-index:1}th,td{padding:11px 16px;border-bottom:1px solid var(--line);vertical-align:top}td{font-size:12px}td small{display:block;color:var(--muted);margin-top:2px}td button{padding:0;border:0;background:none;text-align:left;font-size:13px;color:var(--text)}tr.selected{background:var(--soft)}tr:hover{background:var(--soft)}.pagination{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;font-size:12px}.pagination button{font-size:12px;padding:6px 10px}.live-note{font-size:10px;color:var(--muted);padding:0 16px 12px;margin:0}.detail{padding:24px;position:sticky;top:20px;max-height:83vh;overflow:auto}.detail h2{font-size:25px}.detail dl{display:grid;grid-template-columns:90px 1fr;gap:8px;margin:22px 0}.detail dt{font-size:11px;color:var(--muted)}.detail dd{margin:0;font-size:12px;overflow-wrap:anywhere}.detail dd span{display:block}.pill{display:inline-block;border:1px solid var(--line);border-radius:99px;padding:2px 8px;margin:0 4px 5px 0;color:var(--muted);font-size:10px}.notes-heading{border-top:1px solid var(--line);padding-top:22px;margin-top:24px;display:flex;justify-content:space-between;align-items:center}.notes-heading h3{margin:0;font-weight:550}.note-card{border-bottom:1px solid var(--line);padding:16px 0}.note-card>button{font-size:12px;padding:5px 9px;margin:8px 6px 0 0}.note-meta{font-size:10px;color:var(--muted);margin:4px 0 10px}.note-title{font-size:14px;font-weight:600;margin:0}.markdown{font-size:13px;overflow-wrap:anywhere}.markdown h1,.markdown h2,.markdown h3{font-size:17px;margin:12px 0}.markdown pre{overflow:auto;background:var(--soft);padding:12px;border-radius:6px}.markdown img{display:none}.markdown blockquote{margin-left:0;padding-left:12px;border-left:3px solid var(--line);color:var(--muted)}.markdown p{margin:8px 0}.markdown td,.markdown th{padding:5px;position:static}.editor{display:grid;gap:10px}.editor label{display:grid;gap:4px;font-size:11px;color:var(--muted)}.editor textarea{min-height:230px;resize:vertical;font-family:ui-monospace,SFMono-Regular,monospace;font-size:12px;tab-size:2}.editor-actions{display:flex;gap:6px;flex-wrap:wrap}.editor-actions button{font-size:12px}.primary{background:var(--primary);color:var(--primary-foreground)}.primary:hover{background:var(--primary);color:var(--primary-foreground)}.empty{padding:44px 22px;color:var(--muted);text-align:center}.empty h2{font-size:21px}.muted{color:var(--muted);font-size:12px}.danger{color:var(--danger)}#status{background:var(--panel);border:1px solid var(--line);padding:12px 16px;border-radius:8px}#status:empty{display:none}footer{color:var(--muted);font-size:11px;text-align:center;padding:20px}.skip{position:absolute;left:12px;top:-100px;padding:8px;background:var(--panel);z-index:5}.skip:focus{top:8px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
|
|
6437
6635
|
@media(max-width:1000px){.workspace-grid{grid-template-columns:1fr}.detail{position:static;max-height:none}.privacy{display:none}}@media(max-width:600px){header{padding:18px;gap:18px}header p{font-size:11px}main{padding:26px 14px}.unlock{padding:22px;margin:25px 0}h1{font-size:28px}.filters{gap:8px}.filters label{flex:1;min-width:125px}.filters .search{flex-basis:100%}th,td{padding:10px}.detail{padding:18px}.table-toolbar{padding:10px}.page-heading{align-items:start}.page-heading button{font-size:11px}.table-scroll{max-height:50vh}}
|
|
6438
6636
|
`;
|
|
6439
6637
|
function workspaceClient() {
|
|
@@ -26057,7 +26255,7 @@ function syncWhatsAppRelationships(database, options = {}) {
|
|
|
26057
26255
|
}
|
|
26058
26256
|
|
|
26059
26257
|
// src/cli/version.ts
|
|
26060
|
-
var peoplebladeVersion = "0.3.
|
|
26258
|
+
var peoplebladeVersion = "0.3.3";
|
|
26061
26259
|
|
|
26062
26260
|
// src/cli/main.ts
|
|
26063
26261
|
var usage = `PeopleBlade \u2014 local-first contact intelligence
|