@vibes.diy/base 4.0.11 → 4.0.13

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 CHANGED
@@ -32,7 +32,7 @@ The whole platform is open source under Apache 2.0. Read the code, open an issue
32
32
  ## Quick Start
33
33
 
34
34
  1. [Try the demo](https://vibes.diy/) — no setup required.
35
- 2. Or hack on the code: clone the repo, `pnpm install`, and `pnpm build` — the build, lint, and test suite work from a fresh clone with no secrets. Running the full web app locally currently requires extra setup; the [Contributing Guide](CONTRIBUTING.md#getting-started) covers exactly what works out of the box and what doesn't yet.
35
+ 2. Or hack on the code: clone the repo, `pnpm install`, and `pnpm build` — the build, lint, and test suite work from a fresh clone with no secrets. The full web app runs locally too: `pnpm dev:setup` generates the needed dev environment (no team secrets required); the [Contributing Guide](CONTRIBUTING.md#running-the-web-app-locally) walks the whole path.
36
36
 
37
37
  ## Community
38
38
 
@@ -0,0 +1,20 @@
1
+ import React from "react";
2
+ export interface HandleLookupItem {
3
+ readonly slug: string;
4
+ readonly known: boolean;
5
+ readonly avatarUrl?: string;
6
+ }
7
+ export interface HandleLookupViewProps {
8
+ readonly value: string | null;
9
+ readonly query: string;
10
+ readonly items: readonly HandleLookupItem[];
11
+ readonly onQueryChange: (query: string) => void;
12
+ readonly onSelect: (slug: string) => void;
13
+ readonly onClear: () => void;
14
+ readonly renderTag?: (slug: string) => React.ReactNode;
15
+ readonly placeholder?: string;
16
+ readonly disabled?: boolean;
17
+ readonly style?: React.CSSProperties;
18
+ }
19
+ export declare function HandleLookupView({ value, query, items, onQueryChange, onSelect, onClear, renderTag, placeholder, disabled, style, }: HandleLookupViewProps): React.ReactElement;
20
+ export default HandleLookupView;
@@ -0,0 +1,158 @@
1
+ import React, { useEffect, useRef, useState } from "react";
2
+ import { toRFC2822_32ByteLength } from "@vibes.diy/vibe-types";
3
+ const sanitize = toRFC2822_32ByteLength;
4
+ export function HandleLookupView({ value, query, items, onQueryChange, onSelect, onClear, renderTag, placeholder, disabled, style, }) {
5
+ const [open, setOpen] = useState(false);
6
+ const [highlight, setHighlight] = useState(-1);
7
+ const rootRef = useRef(null);
8
+ const inputRef = useRef(null);
9
+ useEffect(() => {
10
+ if (!open)
11
+ return;
12
+ function onDocPointerDown(e) {
13
+ if (rootRef.current && e.target instanceof Node && !rootRef.current.contains(e.target)) {
14
+ setOpen(false);
15
+ }
16
+ }
17
+ document.addEventListener("pointerdown", onDocPointerDown);
18
+ return () => document.removeEventListener("pointerdown", onDocPointerDown);
19
+ }, [open]);
20
+ useEffect(() => {
21
+ setHighlight((h) => (h >= items.length ? items.length - 1 : h));
22
+ }, [items.length]);
23
+ if (value) {
24
+ return (React.createElement("span", { style: { display: "inline-flex", alignItems: "center", gap: 6, ...style } },
25
+ renderTag ? (renderTag(value)) : (React.createElement("span", { style: {
26
+ display: "inline-flex",
27
+ alignItems: "center",
28
+ gap: 6,
29
+ background: "var(--card-bg, rgba(255,255,255,0.07))",
30
+ border: "1px solid var(--border, rgba(255,255,255,0.15))",
31
+ borderRadius: 999,
32
+ padding: "5px 14px",
33
+ fontSize: 14,
34
+ color: "var(--text, #e0e0e0)",
35
+ } },
36
+ "@",
37
+ value)),
38
+ React.createElement("button", { type: "button", "aria-label": `Clear handle @${value}`, disabled: disabled, onClick: onClear, style: {
39
+ width: 22,
40
+ height: 22,
41
+ borderRadius: "50%",
42
+ border: "1px solid var(--border, rgba(255,255,255,0.2))",
43
+ background: "transparent",
44
+ color: "var(--muted, #888)",
45
+ cursor: disabled ? "default" : "pointer",
46
+ fontSize: 12,
47
+ lineHeight: 1,
48
+ display: "inline-flex",
49
+ alignItems: "center",
50
+ justifyContent: "center",
51
+ flexShrink: 0,
52
+ } }, "\u00D7")));
53
+ }
54
+ const sanitized = sanitize(query);
55
+ const canCommitRaw = sanitized.length > 0;
56
+ const commit = (slug) => {
57
+ onSelect(slug);
58
+ setOpen(false);
59
+ setHighlight(-1);
60
+ };
61
+ function onKeyDown(e) {
62
+ if (e.key === "ArrowDown") {
63
+ e.preventDefault();
64
+ setOpen(true);
65
+ setHighlight((h) => Math.min(h + 1, items.length - 1));
66
+ }
67
+ else if (e.key === "ArrowUp") {
68
+ e.preventDefault();
69
+ setHighlight((h) => Math.max(h - 1, -1));
70
+ }
71
+ else if (e.key === "Enter") {
72
+ e.preventDefault();
73
+ const picked = highlight >= 0 ? items[highlight]?.slug : undefined;
74
+ if (picked)
75
+ commit(picked);
76
+ else if (canCommitRaw)
77
+ commit(sanitized);
78
+ }
79
+ else if (e.key === "Escape") {
80
+ e.preventDefault();
81
+ setOpen(false);
82
+ setHighlight(-1);
83
+ }
84
+ }
85
+ const firstGlobal = items.findIndex((it) => !it.known);
86
+ return (React.createElement("div", { ref: rootRef, style: { position: "relative", display: "inline-block", minWidth: 180, ...style } },
87
+ React.createElement("input", { ref: inputRef, type: "text", role: "combobox", "aria-expanded": open && (items.length > 0 || canCommitRaw), "aria-autocomplete": "list", "aria-label": placeholder ?? "Find a handle", value: query, disabled: disabled, placeholder: placeholder ?? "@handle", onChange: (e) => {
88
+ onQueryChange(e.target.value);
89
+ setOpen(true);
90
+ }, onFocus: () => setOpen(true), onKeyDown: onKeyDown, style: {
91
+ width: "100%",
92
+ boxSizing: "border-box",
93
+ padding: "6px 10px",
94
+ borderRadius: 999,
95
+ border: "1px solid var(--border, rgba(255,255,255,0.2))",
96
+ background: "var(--card-bg, rgba(255,255,255,0.07))",
97
+ color: "var(--text, inherit)",
98
+ fontSize: 14,
99
+ outline: "none",
100
+ } }),
101
+ open && (items.length > 0 || canCommitRaw) && (React.createElement("div", { role: "listbox", "aria-label": "Matching handles", style: {
102
+ position: "absolute",
103
+ top: "calc(100% + 6px)",
104
+ left: 0,
105
+ minWidth: "100%",
106
+ maxWidth: "calc(100vw - 48px)",
107
+ background: "var(--color-light-background-00, #fff)",
108
+ border: "1px solid var(--color-light-decorative-01, #ddd)",
109
+ borderRadius: 12,
110
+ boxShadow: "0 10px 36px rgba(0,0,0,0.28)",
111
+ padding: 6,
112
+ zIndex: 10,
113
+ maxHeight: "min(40vh, 320px)",
114
+ overflowY: "auto",
115
+ }, className: "text-light-primary dark:text-dark-primary" },
116
+ items.map((it, i) => (React.createElement(React.Fragment, { key: it.slug },
117
+ i === firstGlobal && i > 0 && (React.createElement("div", { style: { height: 1, background: "var(--color-light-decorative-00, #eee)", margin: "6px 0" } })),
118
+ React.createElement(LookupRow, { slug: it.slug, avatarUrl: it.avatarUrl, highlighted: i === highlight, onHover: () => setHighlight(i), onPick: () => commit(it.slug) })))),
119
+ canCommitRaw && !items.some((it) => it.slug === sanitized) && (React.createElement(React.Fragment, null,
120
+ items.length > 0 && (React.createElement("div", { style: { height: 1, background: "var(--color-light-decorative-00, #eee)", margin: "6px 0" } })),
121
+ React.createElement(LookupRow, { slug: sanitized, label: `Use "@${sanitized}"`, highlighted: highlight === -1 || highlight >= items.length, onHover: () => setHighlight(-1), onPick: () => commit(sanitized) })))))));
122
+ }
123
+ function LookupRow({ slug, label, avatarUrl, highlighted, onHover, onPick, }) {
124
+ const [broken, setBroken] = useState(false);
125
+ const showImage = Boolean(avatarUrl && !broken);
126
+ return (React.createElement("button", { type: "button", role: "option", "aria-selected": highlighted ? "true" : "false", onPointerDown: (e) => {
127
+ e.preventDefault();
128
+ onPick();
129
+ }, onMouseEnter: onHover, style: {
130
+ display: "flex",
131
+ alignItems: "center",
132
+ gap: 8,
133
+ width: "100%",
134
+ textAlign: "left",
135
+ padding: "7px 8px",
136
+ borderRadius: 8,
137
+ border: "none",
138
+ cursor: "pointer",
139
+ background: highlighted ? "var(--color-light-background-01, #eee)" : "transparent",
140
+ }, className: "text-light-primary dark:text-dark-primary" },
141
+ React.createElement("span", { "aria-hidden": true, style: {
142
+ width: 24,
143
+ height: 24,
144
+ borderRadius: "50%",
145
+ overflow: "hidden",
146
+ background: "#6366f1",
147
+ display: "flex",
148
+ alignItems: "center",
149
+ justifyContent: "center",
150
+ color: "#fff",
151
+ fontSize: 11,
152
+ fontWeight: 700,
153
+ flexShrink: 0,
154
+ } }, showImage ? (React.createElement("img", { src: avatarUrl, alt: "", onError: () => setBroken(true), style: { width: "100%", height: "100%", objectFit: "cover" } })) : (slug.charAt(0).toUpperCase())),
155
+ React.createElement("span", { className: "text-sm", style: { flex: 1, minWidth: 0, overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap" } }, label ?? `@${slug}`)));
156
+ }
157
+ export default HandleLookupView;
158
+ //# sourceMappingURL=HandleLookupView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HandleLookupView.js","sourceRoot":"","sources":["../../jsr/components/HandleLookupView.tsx"],"names":[],"mappings":"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"}
@@ -13,5 +13,6 @@ export * from "./VibesSwitch.js";
13
13
  export * from "./OptionButtons.js";
14
14
  export * from "./ViewerTagView.js";
15
15
  export * from "./HandlePickerMenu.js";
16
+ export * from "./HandleLookupView.js";
16
17
  export * from "./UnifiedVibeCard.js";
17
18
  export * from "./SharePanelView.js";
@@ -13,6 +13,7 @@ export * from "./VibesSwitch.js";
13
13
  export * from "./OptionButtons.js";
14
14
  export * from "./ViewerTagView.js";
15
15
  export * from "./HandlePickerMenu.js";
16
+ export * from "./HandleLookupView.js";
16
17
  export * from "./UnifiedVibeCard.js";
17
18
  export * from "./SharePanelView.js";
18
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../jsr/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../jsr/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibes.diy/base",
3
- "version": "4.0.11",
3
+ "version": "4.0.13",
4
4
  "type": "module",
5
5
  "main": "./index.js",
6
6
  "scripts": {
@@ -9,9 +9,9 @@
9
9
  "dependencies": {
10
10
  "@adviser/cement": "~0.5.34",
11
11
  "@emotion/css": "~11.13.5",
12
- "@vibes.diy/use-vibes-types": "4.0.11",
13
- "@vibes.diy/vibe-runtime": "4.0.11",
14
- "@vibes.diy/vibe-types": "4.0.11",
12
+ "@vibes.diy/use-vibes-types": "4.0.13",
13
+ "@vibes.diy/vibe-runtime": "4.0.13",
14
+ "@vibes.diy/vibe-types": "4.0.13",
15
15
  "qrcode": "~1.5.4",
16
16
  "react": "~19.2.7",
17
17
  "react-dom": "~19.2.7"