pith-ui 0.1.0 → 0.1.4
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/AI.md +20 -1
- package/API.md +834 -272
- package/README.md +3 -1
- package/dist/composer.d.ts.map +1 -1
- package/dist/composer.js +48 -29
- package/dist/composer.js.map +1 -1
- package/dist/content/conversation-reader.d.ts.map +1 -1
- package/dist/content/conversation-reader.js +8 -1
- package/dist/content/conversation-reader.js.map +1 -1
- package/dist/content/conversation-view.d.ts +21 -4
- package/dist/content/conversation-view.d.ts.map +1 -1
- package/dist/content/conversation-view.js +72 -13
- package/dist/content/conversation-view.js.map +1 -1
- package/dist/content/image-viewer.d.ts +4 -2
- package/dist/content/image-viewer.d.ts.map +1 -1
- package/dist/content/image-viewer.js +36 -15
- package/dist/content/image-viewer.js.map +1 -1
- package/dist/content/paged-preview.d.ts +1 -1
- package/dist/content/paged-preview.d.ts.map +1 -1
- package/dist/content/paged-preview.js +10 -5
- package/dist/content/paged-preview.js.map +1 -1
- package/dist/content/views.d.ts +3 -0
- package/dist/content/views.d.ts.map +1 -1
- package/dist/content/views.js +110 -41
- package/dist/content/views.js.map +1 -1
- package/dist/content/welcome.d.ts.map +1 -1
- package/dist/content/welcome.js +19 -7
- package/dist/content/welcome.js.map +1 -1
- package/dist/dom.js +1 -1
- package/dist/dom.js.map +1 -1
- package/dist/files/panels.d.ts +8 -1
- package/dist/files/panels.d.ts.map +1 -1
- package/dist/files/panels.js +235 -120
- package/dist/files/panels.js.map +1 -1
- package/dist/files/systems.d.ts.map +1 -1
- package/dist/files/systems.js +81 -91
- package/dist/files/systems.js.map +1 -1
- package/dist/forms/actions.d.ts +28 -7
- package/dist/forms/actions.d.ts.map +1 -1
- package/dist/forms/actions.js +59 -11
- package/dist/forms/actions.js.map +1 -1
- package/dist/forms/custom-connection.d.ts +2 -1
- package/dist/forms/custom-connection.d.ts.map +1 -1
- package/dist/forms/custom-connection.js +36 -28
- package/dist/forms/custom-connection.js.map +1 -1
- package/dist/forms/dialog-frame.d.ts +2 -0
- package/dist/forms/dialog-frame.d.ts.map +1 -1
- package/dist/forms/dialog-frame.js +46 -26
- package/dist/forms/dialog-frame.js.map +1 -1
- package/dist/forms/history.d.ts +1 -1
- package/dist/forms/history.d.ts.map +1 -1
- package/dist/forms/history.js +78 -15
- package/dist/forms/history.js.map +1 -1
- package/dist/forms/identity.d.ts +12 -0
- package/dist/forms/identity.d.ts.map +1 -1
- package/dist/forms/identity.js +16 -0
- package/dist/forms/identity.js.map +1 -1
- package/dist/forms/model-editor.d.ts +8 -3
- package/dist/forms/model-editor.d.ts.map +1 -1
- package/dist/forms/model-editor.js +73 -62
- package/dist/forms/model-editor.js.map +1 -1
- package/dist/forms/panels.d.ts +103 -7
- package/dist/forms/panels.d.ts.map +1 -1
- package/dist/forms/panels.js +183 -77
- package/dist/forms/panels.js.map +1 -1
- package/dist/forms/provider-login.d.ts.map +1 -1
- package/dist/forms/provider-login.js +25 -39
- package/dist/forms/provider-login.js.map +1 -1
- package/dist/forms/resource-editor.d.ts +9 -5
- package/dist/forms/resource-editor.d.ts.map +1 -1
- package/dist/forms/resource-editor.js +20 -9
- package/dist/forms/resource-editor.js.map +1 -1
- package/dist/foundations.d.ts +95 -0
- package/dist/foundations.d.ts.map +1 -0
- package/dist/foundations.js +299 -0
- package/dist/foundations.js.map +1 -0
- package/dist/navigation/context-menu.d.ts +8 -1
- package/dist/navigation/context-menu.d.ts.map +1 -1
- package/dist/navigation/context-menu.js +67 -50
- package/dist/navigation/context-menu.js.map +1 -1
- package/dist/navigation/navigation.d.ts +55 -7
- package/dist/navigation/navigation.d.ts.map +1 -1
- package/dist/navigation/navigation.js +167 -18
- package/dist/navigation/navigation.js.map +1 -1
- package/dist/operation.d.ts +12 -0
- package/dist/operation.d.ts.map +1 -0
- package/dist/operation.js +49 -0
- package/dist/operation.js.map +1 -0
- package/dist/primitives.d.ts +11 -1
- package/dist/primitives.d.ts.map +1 -1
- package/dist/primitives.js +164 -301
- package/dist/primitives.js.map +1 -1
- package/dist/reconcile.d.ts +11 -0
- package/dist/reconcile.d.ts.map +1 -0
- package/dist/reconcile.js +36 -0
- package/dist/reconcile.js.map +1 -0
- package/dist/select.d.ts +14 -0
- package/dist/select.d.ts.map +1 -0
- package/dist/select.js +304 -0
- package/dist/select.js.map +1 -0
- package/dist/styles.css +452 -382
- package/dist/surface.d.ts +60 -0
- package/dist/surface.d.ts.map +1 -0
- package/dist/surface.js +344 -0
- package/dist/surface.js.map +1 -0
- package/dist/tasks/approval.d.ts.map +1 -1
- package/dist/tasks/approval.js +86 -45
- package/dist/tasks/approval.js.map +1 -1
- package/dist/tasks/permission-element.d.ts +3 -0
- package/dist/tasks/permission-element.d.ts.map +1 -0
- package/dist/tasks/permission-element.js +10 -0
- package/dist/tasks/permission-element.js.map +1 -0
- package/dist/tasks/permission.d.ts +5 -3
- package/dist/tasks/permission.d.ts.map +1 -1
- package/dist/tasks/permission.js +47 -22
- package/dist/tasks/permission.js.map +1 -1
- package/dist/tasks/runtime.d.ts.map +1 -1
- package/dist/tasks/runtime.js +30 -13
- package/dist/tasks/runtime.js.map +1 -1
- package/dist/workspace.d.ts +58 -4
- package/dist/workspace.d.ts.map +1 -1
- package/dist/workspace.js +202 -44
- package/dist/workspace.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"views.js","sourceRoot":"","sources":["../../src/content/views.ts"],"names":[],"mappings":"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","sourcesContent":["export type View = { key: string; signature: string; html: () => string; children?: View[] };\ntype Entry = { element: HTMLElement; signature: string };\nlet version = 0;\nconst entries = new WeakMap<HTMLElement, Map<string, Entry>>();\n\n// Reuse unchanged nodes: selection, focus, decoded images, feedback and code\n// scrolling belong to the reader, and must survive another message's updates.\nexport function reconcileViews(parent: HTMLElement, views: View[]): void {\n const previous = entries.get(parent) || new Map<string, Entry>();\n const current = new Map<string, Entry>();\n let cursor = parent.firstElementChild;\n for (const view of views) {\n let entry = previous.get(view.key);\n let scroll: number[] | undefined;\n if (!entry || entry.signature !== view.signature) {\n const template = document.createElement('template');\n template.innerHTML = view.html();\n const element = template.content.firstElementChild as HTMLElement;\n element.dataset.renderVersion = String(++version);\n if (entry && view.children) {\n // Group summaries may change while completed tool results stay intact.\n entry.element.querySelector('summary')!.replaceWith(element.querySelector('summary')!);\n entry.signature = view.signature;\n } else {\n if (entry) {\n const images = new Map(Array.from(entry.element.querySelectorAll<HTMLImageElement>('[data-image-key]'), (image) => [image.dataset.imageKey, image]));\n for (const image of element.querySelectorAll<HTMLImageElement>('[data-image-key]')) {\n const saved = images.get(image.dataset.imageKey);\n if (saved) image.replaceWith(saved);\n }\n scroll = Array.from(entry.element.querySelectorAll('pre'), (pre) => pre.scrollLeft);\n entry.element.replaceWith(element);\n if (cursor === entry.element) cursor = element;\n }\n entry = { element, signature: view.signature };\n }\n }\n if (entry.element !== cursor) parent.insertBefore(entry.element, cursor);\n if (scroll) entry.element.querySelectorAll('pre').forEach((pre, index) => { pre.scrollLeft = scroll![index] || 0; });\n cursor = entry.element.nextElementSibling;\n if (view.children) reconcileViews(entry.element.querySelector<HTMLElement>('[data-view-children]')!, view.children);\n current.set(view.key, entry);\n }\n for (const [key, entry] of previous) if (!current.has(key)) entry.element.remove();\n entries.set(parent, current);\n}\n\nexport function clearViews(parent: HTMLElement): void { parent.replaceChildren(); entries.delete(parent); }\n"]}
|
|
1
|
+
{"version":3,"file":"views.js","sourceRoot":"","sources":["../../src/content/views.ts"],"names":[],"mappings":"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","sourcesContent":["import {reconcileKeyed} from '../reconcile.js';\n\nexport type View = { key: string; signature: string; html: () => string; children?: View[] };\ntype Entry = { element: HTMLElement; signature: string };\nlet version = 0;\nconst entries = new WeakMap<HTMLElement, Map<string, Entry>>();\n\n// Reuse unchanged nodes: selection, focus, decoded images, feedback and code\n// scrolling belong to the reader, and must survive another message's updates.\nexport function reconcileViews(parent: HTMLElement, views: View[]): void {\n const previous = entries.get(parent) || new Map<string, Entry>();\n const render = (view: View): HTMLElement => {\n const template = document.createElement('template');\n template.innerHTML = view.html();\n const element = template.content.firstElementChild as HTMLElement;\n element.dataset.renderVersion = String(++version);\n return element;\n };\n reconcileKeyed(parent, previous, views, {\n key: view => view.key, element: entry => entry.element,\n create: view => ({element:render(view), signature:view.signature}),\n update(entry, view) {\n if (entry.signature !== view.signature) {\n const next = render(view);\n if (entry.element.tagName === next.tagName) patchElement(entry.element, next);\n else {entry.element.replaceWith(next); entry.element = next;}\n entry.signature = view.signature;\n }\n if (view.children) reconcileViews(entry.element.querySelector<HTMLElement>('[data-view-children]')!, view.children);\n },\n destroy() {},\n });\n entries.set(parent, previous);\n}\n\nexport function clearViews(parent: HTMLElement): void { parent.replaceChildren(); entries.delete(parent); }\n\n/** Private patching of library-produced, sanitized markup. This is not a public\n * HTML renderer: product factories retain their own templates and state. */\nexport function patchChildren(parent: HTMLElement, source: ParentNode): void {\n const focused = parent.ownerDocument.activeElement;\n patchNodes(parent, source);\n if (focused instanceof HTMLElement && focused.isConnected && parent.contains(focused) && parent.ownerDocument.activeElement !== focused) focused.focus({preventScroll:true});\n}\n\nfunction key(node: Node): string | undefined {\n if (!(node instanceof Element)) return;\n for (const attribute of ['data-image-key', 'data-message-action', 'data-welcome-action', 'data-prompt', 'data-view-children', 'data-copy-code', 'id']) {\n if (node.hasAttribute(attribute)) return `${node.tagName}:${attribute}:${node.getAttribute(attribute)}`;\n }\n}\nfunction matches(current: Node, next: Node): boolean {\n if (current.nodeType !== next.nodeType) return false;\n if (current instanceof Element && next instanceof Element) return current.tagName === next.tagName && key(current) === key(next);\n return true;\n}\nfunction patchNodes(parent: Element, source: ParentNode): void {\n let cursor: ChildNode | null = parent.firstChild;\n for (const next of [...source.childNodes]) {\n let current = cursor;\n if (!current || !matches(current, next)) current = key(next) ? [...parent.childNodes].find(node => matches(node, next)) ?? null : null;\n if (!current) {parent.insertBefore(next, cursor); continue;}\n if (current !== cursor) parent.insertBefore(current, cursor);\n if (current instanceof HTMLElement && next instanceof HTMLElement) patchElement(current, next);\n else if (current instanceof SVGElement && next instanceof SVGElement) {patchAttributes(current, next); patchNodes(current, next);}\n else if (current instanceof Text && next instanceof Text && current.data !== next.data) {\n // Replacing only the changed span retains Range offsets in an unchanged\n // streamed prefix, unlike assigning textContent or replacing the Text.\n let prefix = 0, suffix = 0;\n while (prefix < current.length && prefix < next.length && current.data[prefix] === next.data[prefix]) prefix++;\n while (suffix < current.length - prefix && suffix < next.length - prefix && current.data[current.length - suffix - 1] === next.data[next.length - suffix - 1]) suffix++;\n current.replaceData(prefix, current.length - prefix - suffix, next.data.slice(prefix, next.length - suffix));\n }\n cursor = current.nextSibling;\n }\n while (cursor) {const next = cursor.nextSibling; cursor.remove(); cursor = next;}\n}\nfunction patchAttributes(current: Element, next: Element): void {\n for (const attribute of [...current.attributes]) {\n if (current instanceof HTMLDetailsElement && attribute.name === 'open') continue;\n if (!next.hasAttribute(attribute.name)) current.removeAttribute(attribute.name);\n }\n for (const attribute of [...next.attributes]) {\n if (current instanceof HTMLDetailsElement && attribute.name === 'open') continue;\n if (current.getAttribute(attribute.name) !== attribute.value) current.setAttribute(attribute.name, attribute.value);\n }\n}\nfunction patchElement(current: HTMLElement, next: HTMLElement): void {\n if ((current instanceof HTMLImageElement && current.dataset.imageKey && current.dataset.imageKey === next.dataset.imageKey) || (current instanceof HTMLButtonElement && current.dataset.copyPending === 'true')) return;\n const scrollTop = current.scrollTop, scrollLeft = current.scrollLeft;\n patchAttributes(current, next);\n if (!current.hasAttribute('data-view-children')) patchChildren(current, next);\n if (current.scrollTop !== scrollTop) current.scrollTop = scrollTop;\n if (current.scrollLeft !== scrollLeft) current.scrollLeft = scrollLeft;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"welcome.d.ts","sourceRoot":"","sources":["../../src/content/welcome.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"welcome.d.ts","sourceRoot":"","sources":["../../src/content/welcome.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAG1C,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AACD,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,GAAG,UAAU,GAAG,WAAW,KAAK,IAAI,CAAC;IAChE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,YAAY,CAAC,CAuCrF"}
|
package/dist/content/welcome.js
CHANGED
|
@@ -1,15 +1,21 @@
|
|
|
1
1
|
import { escape, icon } from '../dom.js';
|
|
2
|
+
import { patchChildren } from './views.js';
|
|
2
3
|
export function createWelcomeView(options = {}) {
|
|
3
4
|
const element = options.container || document.createElement('div');
|
|
4
5
|
let destroyed = false;
|
|
6
|
+
let signature = '';
|
|
5
7
|
const click = (event) => {
|
|
6
8
|
const action = event.target.closest('[data-welcome-action], [data-prompt]');
|
|
7
|
-
if (!action || !element.contains(action))
|
|
9
|
+
if (!action || !element.contains(action) || (action instanceof HTMLButtonElement && action.disabled))
|
|
8
10
|
return;
|
|
9
|
-
if (action.dataset.prompt)
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
if (action.dataset.prompt && options.onPrompt) {
|
|
12
|
+
event.stopPropagation();
|
|
13
|
+
options.onPrompt(action.dataset.prompt);
|
|
14
|
+
}
|
|
15
|
+
else if (action.dataset.welcomeAction && options.onAction) {
|
|
16
|
+
event.stopPropagation();
|
|
17
|
+
options.onAction(action.dataset.welcomeAction);
|
|
18
|
+
}
|
|
13
19
|
};
|
|
14
20
|
element.addEventListener('click', click);
|
|
15
21
|
return {
|
|
@@ -17,9 +23,14 @@ export function createWelcomeView(options = {}) {
|
|
|
17
23
|
update(state) {
|
|
18
24
|
if (destroyed)
|
|
19
25
|
return;
|
|
26
|
+
const next = JSON.stringify(state);
|
|
27
|
+
if (next === signature)
|
|
28
|
+
return;
|
|
29
|
+
signature = next;
|
|
20
30
|
const workspace = state.workspace;
|
|
21
31
|
const ready = !!workspace && state.hasApiKey;
|
|
22
|
-
|
|
32
|
+
const template = document.createElement('template');
|
|
33
|
+
template.innerHTML = `<div class="pui-welcome-mark"></div>
|
|
23
34
|
<p class="pui-eyebrow">YOUR LOCAL WORK COMPANION</p>
|
|
24
35
|
<h1>${ready ? 'What are we working on?' : 'Your work. A little more possible.'}</h1>
|
|
25
36
|
<p class="pui-welcome-description">An agent that works alongside you, with your files<br class="pui-desktop-break"> and the tools you choose.</p>
|
|
@@ -31,7 +42,8 @@ export function createWelcomeView(options = {}) {
|
|
|
31
42
|
<div class="pui-suggestions"><button type="button" data-prompt="Explore this workspace and give me a concise overview of its files.">${icon('file')}Explore my workspace</button><button type="button" data-prompt="Help me plan a task. Start by asking what I want to accomplish.">${icon('chat')}Think through a task</button><button type="button" data-prompt="I'd like help creating a document in this workspace. Ask me what it should cover.">${icon('plus')}Create something</button></div>`}
|
|
32
43
|
<div class="pui-welcome-footnote">${icon('shield')}Local workspace. Your choice of model.</div>`;
|
|
33
44
|
if (options.logo)
|
|
34
|
-
|
|
45
|
+
template.content.querySelector('.pui-welcome-mark').append(options.logo.cloneNode(true));
|
|
46
|
+
patchChildren(element, template.content);
|
|
35
47
|
},
|
|
36
48
|
destroy() {
|
|
37
49
|
if (destroyed)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"welcome.js","sourceRoot":"","sources":["../../src/content/welcome.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"welcome.js","sourceRoot":"","sources":["../../src/content/welcome.ts"],"names":[],"mappings":"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","sourcesContent":["import { escape, icon } from '../dom.js';\nimport type { UIBlock } from '../core.js';\nimport {patchChildren} from './views.js';\n\nexport interface WelcomeState {\n workspace?: { name: string; path: string };\n hasApiKey: boolean;\n hasConnections: boolean;\n modelName: string;\n}\nexport interface WelcomeOptions {\n container?: HTMLElement;\n logo?: Node;\n onAction?: (action: 'model' | 'settings' | 'workspace') => void;\n onPrompt?: (text: string) => void;\n}\n\nexport function createWelcomeView(options: WelcomeOptions = {}): UIBlock<WelcomeState> {\n const element = options.container || document.createElement('div');\n let destroyed = false; let signature = '';\n const click = (event: Event) => {\n const action = (event.target as Element).closest<HTMLElement>('[data-welcome-action], [data-prompt]');\n if (!action || !element.contains(action) || (action instanceof HTMLButtonElement && action.disabled)) return;\n if (action.dataset.prompt && options.onPrompt) {event.stopPropagation(); options.onPrompt(action.dataset.prompt);}\n else if (action.dataset.welcomeAction && options.onAction) {event.stopPropagation(); options.onAction(action.dataset.welcomeAction as 'model' | 'settings' | 'workspace');}\n };\n element.addEventListener('click', click);\n return {\n element,\n update(state): void {\n if (destroyed) return;\n const next = JSON.stringify(state); if (next === signature) return; signature = next;\n const workspace = state.workspace;\n const ready = !!workspace && state.hasApiKey;\n const template = document.createElement('template');\n template.innerHTML = `<div class=\"pui-welcome-mark\"></div>\n <p class=\"pui-eyebrow\">YOUR LOCAL WORK COMPANION</p>\n <h1>${ready ? 'What are we working on?' : 'Your work. A little more possible.'}</h1>\n <p class=\"pui-welcome-description\">An agent that works alongside you, with your files<br class=\"pui-desktop-break\"> and the tools you choose.</p>\n ${!ready ? `<div class=\"pui-setup-card\">\n <div class=\"pui-setup-card-heading\">Make yourself at home <span>Two quick steps</span></div>\n <button type=\"button\" class=\"pui-setup-step\" data-welcome-action=\"${state.hasConnections ? 'model' : 'settings'}\"><span class=\"pui-step-number ${state.hasApiKey ? 'pui-complete' : ''}\">${state.hasApiKey ? icon('check') : '1'}</span><span><strong>${state.hasApiKey ? 'Model selected' : state.hasConnections ? 'Choose a model' : 'Connect a provider'}</strong><small>${state.hasApiKey ? escape(state.modelName) : state.hasConnections ? 'Your provider connection is ready' : 'Bring your provider API key'}</small></span>${icon('chevron')}</button>\n <button type=\"button\" class=\"pui-setup-step\" data-welcome-action=\"workspace\"><span class=\"pui-step-number ${workspace ? 'pui-complete' : ''}\">${workspace ? icon('check') : '2'}</span><span><strong>${workspace ? escape(workspace.name) : 'Choose a workspace'}</strong><small>${workspace ? escape(workspace.path) : 'A folder Pith can help you work in'}</small></span>${icon('chevron')}</button>\n </div>` : `<div class=\"pui-welcome-workspace\">${icon('folder')}<span>Working in <strong>${escape(workspace.name)}</strong></span><button class=\"pui-secondary-button\" type=\"button\" data-welcome-action=\"workspace\">Change</button></div>\n <div class=\"pui-suggestions\"><button type=\"button\" data-prompt=\"Explore this workspace and give me a concise overview of its files.\">${icon('file')}Explore my workspace</button><button type=\"button\" data-prompt=\"Help me plan a task. Start by asking what I want to accomplish.\">${icon('chat')}Think through a task</button><button type=\"button\" data-prompt=\"I'd like help creating a document in this workspace. Ask me what it should cover.\">${icon('plus')}Create something</button></div>`}\n <div class=\"pui-welcome-footnote\">${icon('shield')}Local workspace. Your choice of model.</div>`;\n if (options.logo) template.content.querySelector('.pui-welcome-mark')!.append(options.logo.cloneNode(true));\n patchChildren(element, template.content);\n },\n destroy(): void {\n if (destroyed) return;\n destroyed = true;\n element.removeEventListener('click', click);\n element.replaceChildren();\n },\n };\n}\n"]}
|
package/dist/dom.js
CHANGED
|
@@ -55,7 +55,7 @@ export function setText(node, value) {
|
|
|
55
55
|
}
|
|
56
56
|
export function focusableElements(owner) {
|
|
57
57
|
return [...owner.querySelectorAll('button:not([disabled]), input:not([disabled]), textarea:not([disabled]), select:not([disabled]), a[href], [tabindex="0"]')]
|
|
58
|
-
.filter(node => !node.
|
|
58
|
+
.filter(node => node.tabIndex >= 0 && !node.matches(':disabled') && !node.closest('[hidden], [inert], [aria-hidden="true"]') && !!node.getClientRects().length && getComputedStyle(node).visibility !== 'hidden');
|
|
59
59
|
}
|
|
60
60
|
let nextId = 0;
|
|
61
61
|
export function uniqueId(prefix = 'pui') { return `${prefix}-${++nextId}`; }
|
package/dist/dom.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dom.js","sourceRoot":"","sources":["../src/dom.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"dom.js","sourceRoot":"","sources":["../src/dom.ts"],"names":[],"mappings":"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","sourcesContent":["const paths: Record<string, string> = {\n steer: '<path d=\"M4 5v7a3 3 0 0 0 3 3h13m-5-5 5 5-5 5\"/>',\n edit: '<path d=\"m16 3 5 5-12 12-6 1 1-6Z M14 5l5 5\"/>',\n trash: '<path d=\"M3 6h18M9 6V3h6v3M5 6l1 15h12l1-15M10 10v7M14 10v7\"/>',\n branch: '<path d=\"M4 12h7M11 12l9-9M14 3h6v6M11 12l9 9M14 21h6v-6\"/>',\n compress: '<path d=\"M7 3h10M12 3v6m-3-3 3 3 3-3M5 12h14M12 21v-6m-3 3 3-3 3 3M7 21h10\"/>',\n image: '<rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"3\"/><circle cx=\"8\" cy=\"8\" r=\"1.5\"/><path d=\"m3 17 6-6 4 4 3-3 5 5\"/>',\n plus: '<path d=\"M12 5v14M5 12h14\"/>',\n chat: '<path d=\"M21 11.5a8.4 8.4 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.4 8.4 0 0 1-3.8-.9L3 21l1.9-5.7A8.4 8.4 0 0 1 4 11.5a8.5 8.5 0 0 1 4.7-7.6 8.4 8.4 0 0 1 3.8-.9h.5a8.5 8.5 0 0 1 8 8v.5Z\"/>',\n folder: '<path d=\"M3 7a2 2 0 0 1 2-2h5l2 2h7a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2Z\"/>',\n settings: '<path d=\"m9.5 3-.7 2.2-2.1 1.2-2.3-.5-2.5 4.2 1.6 1.7v2.4l-1.6 1.7 2.5 4.2 2.3-.5 2.1 1.2.7 2.2h5l.7-2.2 2.1-1.2 2.3.5 2.5-4.2-1.6-1.7v-2.4l1.6-1.7-2.5-4.2-2.3.5-2.1-1.2-.7-2.2Z\"/><circle cx=\"12\" cy=\"12\" r=\"3\"/>',\n arrow: '<path d=\"M12 19V5m-6 6 6-6 6 6\"/>',\n stop: '<rect x=\"6\" y=\"6\" width=\"12\" height=\"12\" rx=\"2\"/>',\n chevron: '<path d=\"m9 5 7 7-7 7\"/>',\n down: '<path d=\"m6 9 6 6 6-6\"/>',\n close: '<path d=\"m6 6 12 12M18 6 6 18\"/>',\n check: '<path d=\"m5 12 4 4L19 6\"/>',\n shield: '<path d=\"m12 3 8 4v5c0 5-8 9-8 9s-8-4-8-9V7Z\"/><path d=\"m8 12 3 3 5-6\"/>',\n file: '<path d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8Z\"/><path d=\"M14 2v6h6M8 13h8M8 17h5\"/>',\n terminal: '<path d=\"m4 7 5 5-5 5M12 17h8\"/>',\n copy: '<rect x=\"8\" y=\"8\" width=\"12\" height=\"12\" rx=\"2\"/><path d=\"M16 8V4a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h4\"/>',\n menu: '<path d=\"M4 6h16M4 12h16M4 18h16\"/>',\n globe: '<circle cx=\"12\" cy=\"12\" r=\"9\"/><path d=\"M3 12h18M12 3a17 17 0 0 1 0 18 17 17 0 0 1 0-18Z\"/>',\n search: '<circle cx=\"10.5\" cy=\"10.5\" r=\"6.5\"/><path d=\"m16 16 5 5\"/>',\n more: '<circle cx=\"5\" cy=\"12\" r=\"1\"/><circle cx=\"12\" cy=\"12\" r=\"1\"/><circle cx=\"19\" cy=\"12\" r=\"1\"/>',\n compose: '<path d=\"M12 4H5a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2h13a2 2 0 0 0 2-2v-7\"/><path d=\"m16 3 5 5-10 10-5 1 1-5Z\"/>',\n plug: '<path d=\"M8 3v5M16 3v5M6 8h12v3a6 6 0 0 1-6 6v4M8 8V5M16 8V5\"/>',\n};\nexport const escape = (value: unknown): string => String(value ?? '').replace(/[&<>\"']/g, (char) => ({ '&': '&', '<': '<', '>': '>', '\"': '"', \"'\": ''' }[char]!));\nexport const escapeHTML = escape;\n/** Compatibility markup from a closed, trusted icon registry. */\nexport const icon = (name: string, className = '') => `<svg class=\"pui-icon ${escape(className)}\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">${paths[name] ?? paths.chat}</svg>`;\n\nexport function dialogHeading(title: string, id: string, dialogId: string, eyebrow = ''): string {\n return `<div class=\"pui-dialog-heading pui-modal-heading\"><div>${eyebrow ? `<span class=\"pui-eyebrow\">${escape(eyebrow)}</span>` : ''}<h2 id=\"${escape(id)}\">${escape(title)}</h2></div><button type=\"button\" class=\"pui-icon-button pui-quiet-icon\" data-close=\"${escape(dialogId)}\" aria-label=\"Close ${escape(title.toLowerCase())}\">${icon('close')}</button></div>`;\n}\n\nexport type DOMChild = Node | string | null | undefined;\n/** Safe DOM construction; strings are always text nodes. */\nexport function element<K extends keyof HTMLElementTagNameMap>(tag: K, className = '', ...children: DOMChild[]): HTMLElementTagNameMap[K] {\n const node = document.createElement(tag);\n if (className) node.className = className;\n for (const child of children) if (child != null) node.append(typeof child === 'string' ? document.createTextNode(child) : child);\n return node;\n}\n\nexport function iconElement(name: string): SVGSVGElement {\n const holder = document.createElement('span');\n holder.innerHTML = icon(name);\n return holder.firstElementChild as SVGSVGElement;\n}\n\nexport function setText(node: HTMLElement, value: unknown): void {\n const text = String(value ?? '');\n if (node.textContent !== text) node.textContent = text;\n}\n\nexport function focusableElements(owner: HTMLElement): HTMLElement[] {\n return [...owner.querySelectorAll<HTMLElement>('button:not([disabled]), input:not([disabled]), textarea:not([disabled]), select:not([disabled]), a[href], [tabindex=\"0\"]')]\n .filter(node => node.tabIndex >= 0 && !node.matches(':disabled') && !node.closest('[hidden], [inert], [aria-hidden=\"true\"]') && !!node.getClientRects().length && getComputedStyle(node).visibility !== 'hidden');\n}\n\nlet nextId = 0;\nexport function uniqueId(prefix = 'pui'): string { return `${prefix}-${++nextId}`; }\n\nexport function showDialogError(owner: HTMLElement, message: string): void {\n const error = owner.querySelector<HTMLElement>('[data-dialog-error]') || owner.querySelector<HTMLElement>('.pui-form-error[role=\"alert\"]');\n if (error) { error.textContent = message; error.scrollIntoView({ block: 'nearest' }); }\n}\n"]}
|
package/dist/files/panels.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ export interface FileActionOptions {
|
|
|
10
10
|
export declare function fileActionsMarkup(options: FileActionOptions): string;
|
|
11
11
|
export declare function createFileActions(options: FileActionOptions): {
|
|
12
12
|
element: HTMLElement;
|
|
13
|
+
setDisabled(disabled: boolean): void;
|
|
13
14
|
destroy(): void;
|
|
14
15
|
};
|
|
15
16
|
export interface ArtifactPanelState {
|
|
@@ -28,6 +29,7 @@ export interface ArtifactPanelOptions {
|
|
|
28
29
|
toggle: HTMLElement;
|
|
29
30
|
count: HTMLElement;
|
|
30
31
|
headingId?: string;
|
|
32
|
+
dismissExclusions?: readonly HTMLElement[];
|
|
31
33
|
}
|
|
32
34
|
export declare function createArtifactPanel(options: ArtifactPanelOptions): {
|
|
33
35
|
element: HTMLElement;
|
|
@@ -50,6 +52,7 @@ export interface ResourcesPanelState {
|
|
|
50
52
|
templates: readonly ResourceDisplayEntry[];
|
|
51
53
|
diagnostics: readonly string[];
|
|
52
54
|
createInstructions?: Node;
|
|
55
|
+
canCreateInstructions?: boolean;
|
|
53
56
|
}
|
|
54
57
|
export interface ResourcesPanelOptions {
|
|
55
58
|
container?: HTMLElement;
|
|
@@ -58,11 +61,14 @@ export interface ResourcesPanelOptions {
|
|
|
58
61
|
listId?: string;
|
|
59
62
|
errorId?: string;
|
|
60
63
|
onClose?: () => void;
|
|
64
|
+
onRefresh?: () => void;
|
|
65
|
+
onCreate?: (kind: 'instructions' | 'skill' | 'template') => void;
|
|
61
66
|
}
|
|
62
67
|
export declare function createResourcesPanel(options?: ResourcesPanelOptions): {
|
|
63
68
|
element: HTMLElement;
|
|
64
|
-
open(workspaceName: string, toolbar
|
|
69
|
+
open(workspaceName: string, toolbar?: Node): void;
|
|
65
70
|
setError(message: string): void;
|
|
71
|
+
setCreateDisabled(disabled: boolean): void;
|
|
66
72
|
update(state: Readonly<ResourcesPanelState>): void;
|
|
67
73
|
destroy(): void;
|
|
68
74
|
};
|
|
@@ -80,6 +86,7 @@ export interface FilePreviewOptions {
|
|
|
80
86
|
dialogId?: string;
|
|
81
87
|
bodyId?: string;
|
|
82
88
|
onClose?: () => void;
|
|
89
|
+
onCopyCode?: (text: string, button: HTMLButtonElement) => void;
|
|
83
90
|
}
|
|
84
91
|
export declare function createFilePreview(options?: FilePreviewOptions): {
|
|
85
92
|
element: HTMLElement;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"panels.d.ts","sourceRoot":"","sources":["../../src/files/panels.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,KAAK,WAAW,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"panels.d.ts","sourceRoot":"","sources":["../../src/files/panels.ts"],"names":[],"mappings":"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"}
|