api_binding_ui 3.0.0 → 3.1.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.
@@ -2,7 +2,7 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/studio/BindingStudio.tsx", "../src/studio/ComponentList.tsx", "../src/studio/Collapse.tsx", "../src/studio/icons.tsx", "../src/studio/useGlide.tsx", "../src/studio/FindAnything.tsx", "../src/studio/Tip.tsx", "../src/studio/editors/ConsumeEditor.tsx", "../src/studio/ApiPicker.tsx", "../src/studio/editors/RequestInputs.tsx", "../src/studio/editors/types.ts", "../src/studio/editors/SourceSelect.tsx", "../src/studio/editors/ScopedEditor.tsx", "../src/studio/editors/TriggerEditor.tsx", "../src/studio/editors/StepCard.tsx", "../src/studio/editors/SlotSection.tsx", "../src/studio/Inspector.tsx", "../src/studio/Navigator.tsx", "../src/studio/SettingsPanel.tsx", "../src/studio/useCatalog.ts", "../src/studio/useBindings.ts", "../src/framework/store.ts"],
4
4
  "sourcesContent": [
5
- "import * as React from \"react\";\nimport type { BindingsFile, BindingsStore, ScreenId, SlotBinding } from \"../framework/contract\";\nimport { createEngine, type BindingIndex, type FrameworkData } from \"../framework/engine\";\nimport { fromFile, toFile } from \"../framework/file\";\nimport { validateRegistry } from \"../framework/validate\";\nimport { ComponentList } from \"./ComponentList\";\nimport { FindAnything } from \"./FindAnything\";\nimport { Icon } from \"./icons\";\nimport { Inspector } from \"./Inspector\";\nimport { Navigator } from \"./Navigator\";\nimport { SettingsPanel } from \"./SettingsPanel\";\nimport { useBindings, type Removed, type SaveStatus } from \"./useBindings\";\nimport { useCatalog } from \"./useCatalog\";\nimport \"./studio.css\";\n\nexport interface BindingStudioProps {\n /** Reads and writes the bindings file. */\n store: BindingsStore;\n /** Maps the file's `openapi` value (URL or path) to a URL the browser can fetch. Default: the value itself. */\n docsUrl?: (openapi: string) => string;\n /** Screen to open first. */\n initialScreen?: ScreenId;\n /** Shown in the top bar. */\n title?: string;\n /** Shows a close button in the top bar. */\n onClose?: () => void;\n}\n\nconst same = (s: string) => s;\n\nfunction SaveState({ status, onRetry }: { status: SaveStatus; onRetry: () => void }) {\n return (\n <span className={\"abs-saved is-\" + status} aria-live=\"polite\">\n {status === \"failed\" ? <button type=\"button\" onClick={onRetry}><Icon name=\"alert\" size={14} />Not saved · Retry</button>\n : status === \"saving\" ? <><Icon name=\"refresh\" size={14} className=\"abs-spin\" />Saving…</>\n : status === \"saved\" ? <><Icon name=\"check\" size={14} />Saved</> : null}\n </span>\n );\n}\n\nfunction UndoToast({ removed, label, onUndo, onDismiss }: { removed: Removed; label: string; onUndo: () => void; onDismiss: () => void }) {\n React.useEffect(() => { const t = setTimeout(onDismiss, 6000); return () => clearTimeout(t); }, [removed, onDismiss]);\n return (\n <div className=\"abs-toast\" role=\"status\">\n <span>{label} disconnected</span>\n <button type=\"button\" onClick={onUndo}>Undo</button>\n </div>\n );\n}\n\nconst EMPTY_HINT = (\n <aside className=\"abs-insp abs-insp-empty abs-enter\">\n <span className=\"abs-empty-ico\"><Icon name=\"pointer\" size={20} /></span>\n <b>Select a component</b>\n <span>Pick something from the list to connect it to an API.</span>\n </aside>\n);\n\nexport function BindingStudio({ store, docsUrl = same, initialScreen, title = \"Bind API\", onClose }: BindingStudioProps) {\n const [file, setFile] = React.useState<BindingsFile | null>(null);\n const [fileError, setFileError] = React.useState<string>();\n const latest = React.useRef<{ file: BindingsFile | null; index: BindingIndex }>({ file: null, index: {} });\n React.useEffect(() => {\n let live = true;\n store.load().then(f => { if (live) { latest.current.file = f; setFile(f); } }, e => live && setFileError(e instanceof Error ? e.message : String(e)));\n return () => { live = false; };\n }, [store]);\n\n const [catalogState, reloadCatalog, loadPasted] = useCatalog(file ? docsUrl(file.openapi) : \"\");\n const [settingsOpen, setSettingsOpen] = React.useState(false);\n const closeSettings = React.useCallback(() => setSettingsOpen(false), []);\n const catalog = catalogState.catalog;\n\n const model = React.useMemo(() => {\n if (!file || !catalog) return null;\n const { fw, index } = fromFile(file, catalog);\n // Invalid registry entries are dropped.\n return { fw: { ...fw, registry: validateRegistry(fw).registry } as FrameworkData, index };\n // The file's bindings seed the studio once; later edits live in useBindings.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [file?.kinds, file?.screens, file?.components, catalog]);\n\n const save = React.useCallback(async (index: BindingIndex) => {\n latest.current.index = index;\n if (latest.current.file) await store.save(toFile(latest.current.file, index));\n }, [store]);\n const setOpenapi = (openapi: string) => {\n const f = latest.current.file;\n if (!f) return;\n latest.current.file = { ...f, openapi };\n setFile(latest.current.file);\n void store.save(toFile(latest.current.file, Object.keys(latest.current.index).length ? latest.current.index : model?.index ?? {}));\n };\n\n const settingsButton = (\n <div className=\"abs-settings-wrap\">\n <button type=\"button\" className={\"abs-iconbtn abs-settings-btn\" + (settingsOpen ? \" is-on\" : \"\")} aria-label=\"Settings\" aria-expanded={settingsOpen}\n onClick={() => setSettingsOpen(o => !o)}>\n <Icon name=\"settings\" />\n {catalogState.status === \"error\" ? <span className=\"abs-dot-bad\" aria-hidden=\"true\" /> : null}\n </button>\n {onClose ? <button type=\"button\" className=\"abs-iconbtn\" aria-label=\"Close\" onClick={onClose}><Icon name=\"close\" /></button> : null}\n {settingsOpen && file ? (\n <SettingsPanel docsUrl={file.openapi} onDocsUrl={setOpenapi} catalog={catalogState} onReload={reloadCatalog} onPaste={loadPasted} onClose={closeSettings} />\n ) : null}\n </div>\n );\n if (!model) {\n const error = fileError ?? (catalogState.status === \"error\" ? catalogState.error : undefined);\n return (\n <div className=\"abs-root\">\n <header className=\"abs-top\"><div className=\"abs-brand\">{title}</div><span />{settingsButton}</header>\n <div className=\"abs-state-page\">\n {error ? (\n <>\n <span className=\"abs-empty-ico is-bad\"><Icon name=\"alert\" size={20} /></span>\n <b>{fileError ? \"The bindings file did not load\" : \"The API docs did not load\"}</b>\n <span>{error}</span>\n {fileError ? null : (\n <div className=\"abs-set-row\">\n <button type=\"button\" className=\"abs-btn abs-btn-primary\" onClick={reloadCatalog}><Icon name=\"refresh\" size={14} />Try again</button>\n <button type=\"button\" className=\"abs-btn\" onClick={() => setSettingsOpen(true)}>Change the URL or paste the file</button>\n </div>\n )}\n </>\n ) : (\n <><span className=\"abs-loader\" aria-hidden=\"true\" /><span aria-live=\"polite\">{file ? \"Loading API docs…\" : \"Loading bindings…\"}</span></>\n )}\n </div>\n </div>\n );\n }\n return <Workbench fw={model.fw} initial={model.index} save={save} title={title} initialScreen={initialScreen} settingsButton={settingsButton} />;\n}\n\nfunction Workbench({ fw, initial, save, title, initialScreen, settingsButton }: {\n fw: FrameworkData; initial: BindingIndex; save: (index: BindingIndex) => Promise<void>; title: string; initialScreen?: ScreenId; settingsButton: React.ReactNode;\n}) {\n const { index, loaded, status, removed, put, drop, undo, dismiss, retry } = useBindings(initial, save);\n // In memory: inside a host app the URL belongs to the host's router.\n const [place, go] = React.useState<{ screen?: ScreenId; component?: string }>({ screen: initialScreen });\n const engine = React.useMemo(() => createEngine(fw, index), [fw, index]);\n\n const screen = (place.screen && engine.SCR.get(place.screen)) || fw.registry.screens[0];\n const comp = screen && place.component ? engine.compOf(screen.id, place.component) : undefined;\n const screenId = screen?.id;\n const select = React.useCallback((component?: string) => go({ screen: screenId, component }), [go, screenId]);\n const putHere = React.useCallback((b: SlotBinding) => { if (screenId) put(screenId, b); }, [put, screenId]);\n const dropHere = React.useCallback((c: string, s: string) => { if (screenId) drop(screenId, c, s); }, [drop, screenId]);\n\n if (!screen) return <div className=\"abs-root\"><div className=\"abs-empty\">No screens are registered yet.</div></div>;\n const total = engine.tally(fw.registry.screens);\n const removedLabel = removed ? engine.compOf(removed.screen, removed.binding.component)?.label ?? removed.binding.component : \"\";\n return (\n <div className=\"abs-root\">\n <header className=\"abs-top\">\n <div className=\"abs-brand\">{title}</div>\n <FindAnything engine={engine} onGo={(s, c) => go({ screen: s, component: c })} />\n <div className=\"abs-top-meta\">\n <SaveState status={status} onRetry={retry} />\n <span className=\"abs-overall\" title={`Components connected across all ${fw.registry.screens.length} screens`}>\n <b>{total.bound}</b>/{total.total} connected\n </span>\n {settingsButton}\n </div>\n </header>\n <div className={\"abs-body\" + (comp ? \" has-insp\" : \"\")}>\n <Navigator engine={engine} current={screen.id} onPick={id => go({ screen: id })} />\n {loaded ? <ComponentList key={screen.id} engine={engine} screen={screen} selected={comp?.bindId} onSelect={select} /> : <div className=\"abs-center\" />}\n {comp ? <Inspector key={screen.id + comp.bindId} engine={engine} screen={screen} comp={comp} put={putHere} drop={dropHere} goTo={select} onClose={() => select(undefined)} />\n : loaded ? EMPTY_HINT : null}\n </div>\n {removed ? <UndoToast removed={removed} label={removedLabel} onUndo={undo} onDismiss={dismiss} /> : null}\n </div>\n );\n}\n",
5
+ "import * as React from \"react\";\nimport type { BindingsFile, BindingsStore, ScreenId, SlotBinding } from \"../framework/contract\";\nimport { createEngine, type BindingIndex, type FrameworkData } from \"../framework/engine\";\nimport { fromFile, screenOf, toFile } from \"../framework/file\";\nimport { validateRegistry } from \"../framework/validate\";\nimport { ComponentList } from \"./ComponentList\";\nimport { FindAnything } from \"./FindAnything\";\nimport { Icon } from \"./icons\";\nimport { Inspector } from \"./Inspector\";\nimport { Navigator } from \"./Navigator\";\nimport { SettingsPanel } from \"./SettingsPanel\";\nimport { useBindings, type Removed, type SaveStatus } from \"./useBindings\";\nimport { useCatalog } from \"./useCatalog\";\nimport \"./studio.css\";\n\nexport interface BindingStudioProps {\n /** Reads and writes the bindings file. */\n store: BindingsStore;\n /** Maps the file's `openapi` value (URL or path) to a URL the browser can fetch. Default: the value itself. */\n docsUrl?: (openapi: string) => string;\n /** Screen to open first. */\n initialScreen?: ScreenId;\n /** Component to open first; its screen is found from its id. */\n initialComponent?: string;\n /** Shown in the top bar. */\n title?: string;\n /** Shows a close button in the top bar. */\n onClose?: () => void;\n}\n\nconst same = (s: string) => s;\n\nfunction SaveState({ status, onRetry }: { status: SaveStatus; onRetry: () => void }) {\n return (\n <span className={\"abs-saved is-\" + status} aria-live=\"polite\">\n {status === \"failed\" ? <button type=\"button\" onClick={onRetry}><Icon name=\"alert\" size={14} />Not saved · Retry</button>\n : status === \"saving\" ? <><Icon name=\"refresh\" size={14} className=\"abs-spin\" />Saving…</>\n : status === \"saved\" ? <><Icon name=\"check\" size={14} />Saved</> : null}\n </span>\n );\n}\n\nfunction UndoToast({ removed, label, onUndo, onDismiss }: { removed: Removed; label: string; onUndo: () => void; onDismiss: () => void }) {\n React.useEffect(() => { const t = setTimeout(onDismiss, 6000); return () => clearTimeout(t); }, [removed, onDismiss]);\n return (\n <div className=\"abs-toast\" role=\"status\">\n <span>{label} disconnected</span>\n <button type=\"button\" onClick={onUndo}>Undo</button>\n </div>\n );\n}\n\nconst EMPTY_HINT = (\n <aside className=\"abs-insp abs-insp-empty abs-enter\">\n <span className=\"abs-empty-ico\"><Icon name=\"pointer\" size={20} /></span>\n <b>Select a component</b>\n <span>Pick something from the list to connect it to an API.</span>\n </aside>\n);\n\nexport function BindingStudio({ store, docsUrl = same, initialScreen, initialComponent, title = \"Bind API\", onClose }: BindingStudioProps) {\n const [file, setFile] = React.useState<BindingsFile | null>(null);\n const [fileError, setFileError] = React.useState<string>();\n const latest = React.useRef<{ file: BindingsFile | null; index: BindingIndex }>({ file: null, index: {} });\n React.useEffect(() => {\n let live = true;\n store.load().then(f => { if (live) { latest.current.file = f; setFile(f); } }, e => live && setFileError(e instanceof Error ? e.message : String(e)));\n return () => { live = false; };\n }, [store]);\n\n const [catalogState, reloadCatalog, loadPasted] = useCatalog(file ? docsUrl(file.openapi) : \"\");\n const [settingsOpen, setSettingsOpen] = React.useState(false);\n const closeSettings = React.useCallback(() => setSettingsOpen(false), []);\n const catalog = catalogState.catalog;\n\n const model = React.useMemo(() => {\n if (!file || !catalog) return null;\n const { fw, index } = fromFile(file, catalog);\n // Invalid registry entries are dropped.\n return { fw: { ...fw, registry: validateRegistry(fw).registry } as FrameworkData, index };\n // The file's bindings seed the studio once; later edits live in useBindings.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [file?.kinds, file?.screens, file?.components, catalog]);\n\n const save = React.useCallback(async (index: BindingIndex) => {\n latest.current.index = index;\n if (latest.current.file) await store.save(toFile(latest.current.file, index));\n }, [store]);\n const setOpenapi = (openapi: string) => {\n const f = latest.current.file;\n if (!f) return;\n latest.current.file = { ...f, openapi };\n setFile(latest.current.file);\n void store.save(toFile(latest.current.file, Object.keys(latest.current.index).length ? latest.current.index : model?.index ?? {}));\n };\n\n const settingsButton = (\n <div className=\"abs-settings-wrap\">\n <button type=\"button\" className={\"abs-iconbtn abs-settings-btn\" + (settingsOpen ? \" is-on\" : \"\")} aria-label=\"Settings\" aria-expanded={settingsOpen}\n onClick={() => setSettingsOpen(o => !o)}>\n <Icon name=\"settings\" />\n {catalogState.status === \"error\" ? <span className=\"abs-dot-bad\" aria-hidden=\"true\" /> : null}\n </button>\n {onClose ? <button type=\"button\" className=\"abs-iconbtn\" aria-label=\"Close\" onClick={onClose}><Icon name=\"close\" /></button> : null}\n {settingsOpen && file ? (\n <SettingsPanel docsUrl={file.openapi} onDocsUrl={setOpenapi} catalog={catalogState} onReload={reloadCatalog} onPaste={loadPasted} onClose={closeSettings} />\n ) : null}\n </div>\n );\n if (!model) {\n const error = fileError ?? (catalogState.status === \"error\" ? catalogState.error : undefined);\n return (\n <div className=\"abs-root\">\n <header className=\"abs-top\"><div className=\"abs-brand\">{title}</div><span />{settingsButton}</header>\n <div className=\"abs-state-page\">\n {error ? (\n <>\n <span className=\"abs-empty-ico is-bad\"><Icon name=\"alert\" size={20} /></span>\n <b>{fileError ? \"The bindings file did not load\" : \"The API docs did not load\"}</b>\n <span>{error}</span>\n {fileError ? null : (\n <div className=\"abs-set-row\">\n <button type=\"button\" className=\"abs-btn abs-btn-primary\" onClick={reloadCatalog}><Icon name=\"refresh\" size={14} />Try again</button>\n <button type=\"button\" className=\"abs-btn\" onClick={() => setSettingsOpen(true)}>Change the URL or paste the file</button>\n </div>\n )}\n </>\n ) : (\n <><span className=\"abs-loader\" aria-hidden=\"true\" /><span aria-live=\"polite\">{file ? \"Loading API docs…\" : \"Loading bindings…\"}</span></>\n )}\n </div>\n </div>\n );\n }\n return <Workbench fw={model.fw} initial={model.index} save={save} title={title} initialScreen={initialComponent ? screenOf(initialComponent, model.fw.registry.screens.map(s => s.id)) ?? initialScreen : initialScreen} initialComponent={initialComponent} settingsButton={settingsButton} />;\n}\n\nfunction Workbench({ fw, initial, save, title, initialScreen, initialComponent, settingsButton }: {\n fw: FrameworkData; initial: BindingIndex; save: (index: BindingIndex) => Promise<void>; title: string; initialScreen?: ScreenId; initialComponent?: string; settingsButton: React.ReactNode;\n}) {\n const { index, loaded, status, removed, put, drop, undo, dismiss, retry } = useBindings(initial, save);\n // In memory: inside a host app the URL belongs to the host's router.\n const [place, go] = React.useState<{ screen?: ScreenId; component?: string }>({ screen: initialScreen, component: initialComponent });\n const engine = React.useMemo(() => createEngine(fw, index), [fw, index]);\n\n const screen = (place.screen && engine.SCR.get(place.screen)) || fw.registry.screens[0];\n const comp = screen && place.component ? engine.compOf(screen.id, place.component) : undefined;\n const screenId = screen?.id;\n const select = React.useCallback((component?: string) => go({ screen: screenId, component }), [go, screenId]);\n const putHere = React.useCallback((b: SlotBinding) => { if (screenId) put(screenId, b); }, [put, screenId]);\n const dropHere = React.useCallback((c: string, s: string) => { if (screenId) drop(screenId, c, s); }, [drop, screenId]);\n\n if (!screen) return <div className=\"abs-root\"><div className=\"abs-empty\">No screens are registered yet.</div></div>;\n const total = engine.tally(fw.registry.screens);\n const removedLabel = removed ? engine.compOf(removed.screen, removed.binding.component)?.label ?? removed.binding.component : \"\";\n return (\n <div className=\"abs-root\">\n <header className=\"abs-top\">\n <div className=\"abs-brand\">{title}</div>\n <FindAnything engine={engine} onGo={(s, c) => go({ screen: s, component: c })} />\n <div className=\"abs-top-meta\">\n <SaveState status={status} onRetry={retry} />\n <span className=\"abs-overall\" title={`Components connected across all ${fw.registry.screens.length} screens`}>\n <b>{total.bound}</b>/{total.total} connected\n </span>\n {settingsButton}\n </div>\n </header>\n <div className={\"abs-body\" + (comp ? \" has-insp\" : \"\")}>\n <Navigator engine={engine} current={screen.id} onPick={id => go({ screen: id })} />\n {loaded ? <ComponentList key={screen.id} engine={engine} screen={screen} selected={comp?.bindId} onSelect={select} /> : <div className=\"abs-center\" />}\n {comp ? <Inspector key={screen.id + comp.bindId} engine={engine} screen={screen} comp={comp} put={putHere} drop={dropHere} goTo={select} onClose={() => select(undefined)} />\n : loaded ? EMPTY_HINT : null}\n </div>\n {removed ? <UndoToast removed={removed} label={removedLabel} onUndo={undo} onDismiss={dismiss} /> : null}\n </div>\n );\n}\n",
6
6
  "import * as React from \"react\";\nimport type { ComponentInstance, ScreenEntry } from \"../framework/contract\";\nimport type { Engine } from \"../framework/engine\";\nimport { Collapse } from \"./Collapse\";\nimport { Icon, KindIcon, Ring, StateIcon } from \"./icons\";\nimport { useGlide } from \"./useGlide\";\n\n/** A screen's components as a tree, filterable to unconnected ones. */\nexport function ComponentList({ engine, screen, selected, onSelect }: { engine: Engine; screen: ScreenEntry; selected?: string; onSelect: (id: string) => void }) {\n const [todo, setTodo] = React.useState(false);\n const [open, setOpen] = React.useState<Record<string, boolean>>({});\n const all = screen.components.filter(c => engine.bindable(engine.descOf(c)).length);\n const byParent = new Map<string, ComponentInstance[]>();\n all.forEach(c => { if (c.parent) byParent.set(c.parent, [...(byParent.get(c.parent) ?? []), c]); });\n const kids = (id: string) => byParent.get(id) ?? [];\n const t = engine.tally([screen]);\n const pending = (c: ComponentInstance) => engine.compState(screen.id, c) !== \"bound\";\n const visible = (c: ComponentInstance): boolean => !todo || pending(c) || kids(c.bindId).some(visible);\n\n const glide = useGlide<HTMLDivElement>();\n const row = (c: ComponentInstance, depth: number): React.ReactNode => {\n const ch = kids(c.bindId).filter(visible);\n const isOpen = open[c.bindId] ?? true;\n const d = engine.descOf(c)!;\n return (\n <div key={c.bindId} role=\"listitem\">\n <div data-glide className={\"abs-comp\" + (c.bindId === selected ? \" is-on\" : \"\")} style={{ paddingLeft: 8 + depth * 24 }}>\n {ch.length ? (\n <button type=\"button\" className=\"abs-iconbtn abs-twist\" onClick={() => setOpen(o => ({ ...o, [c.bindId]: !isOpen }))}\n aria-label={isOpen ? \"Collapse\" : \"Expand\"} aria-expanded={isOpen}>\n <Icon name=\"chevronRight\" size={14} className={isOpen ? \"abs-rot90\" : \"\"} />\n </button>\n ) : <span className=\"abs-twist\" />}\n <button type=\"button\" className=\"abs-comp-main\" onClick={() => onSelect(c.bindId)} aria-current={c.bindId === selected ? \"true\" : undefined}>\n <KindIcon svg={d.icon} />\n <span className=\"abs-comp-l\">{c.label}</span>\n <span className=\"abs-comp-k\">{d.label}{ch.length ? ` · ${ch.length}` : \"\"}</span>\n <StateIcon state={engine.compState(screen.id, c)} />\n </button>\n </div>\n {ch.length > 0 && <Collapse open={isOpen}>{ch.map(k => row(k, depth + 1))}</Collapse>}\n </div>\n );\n };\n const todoCount = all.filter(pending).length;\n return (\n <div className=\"abs-center abs-scroll\">\n <header className=\"abs-screen-h\">\n <div className=\"abs-screen-t\">\n <div className=\"abs-crumbs\">{[...screen.path, ...(screen.parent ? [engine.SCR.get(screen.parent)?.label] : [])].join(\" / \")}</div>\n <h1>{screen.label}</h1>\n </div>\n <div className=\"abs-progress\">\n <Ring done={t.bound} total={t.total} size={36} stroke={3.5} />\n <div><b>{t.bound}<span>/{t.total}</span></b><small>connected</small></div>\n </div>\n </header>\n <div className=\"abs-seg\" role=\"group\" aria-label=\"Show\">\n <span className=\"abs-seg-thumb\" style={{ transform: `translateX(${todo ? 100 : 0}%)` }} aria-hidden=\"true\" />\n <button type=\"button\" className={!todo ? \"is-on\" : \"\"} onClick={() => setTodo(false)} aria-pressed={!todo}><Icon name=\"list\" size={14} />All<span>{all.length}</span></button>\n <button type=\"button\" className={todo ? \"is-on\" : \"\"} onClick={() => setTodo(true)} aria-pressed={todo}><Icon name=\"todo\" size={14} />To do<span>{todoCount}</span></button>\n </div>\n <div className=\"abs-comps abs-glide-box\" role=\"list\" ref={glide.ref} {...glide.handlers}>\n {glide.indicator}\n {all.filter(c => !c.parent && visible(c)).map(c => row(c, 0))}\n {todo && !todoCount && <div className=\"abs-done\"><Icon name=\"bound\" size={24} /><b>Everything here is connected</b></div>}\n </div>\n </div>\n );\n}\n",
7
7
  "import * as React from \"react\";\n\n/** Animates height between 0 and auto without measuring: a one-row grid whose row goes 0fr → 1fr. */\nexport function Collapse({ open, children }: { open: boolean; children: React.ReactNode }) {\n return <div className={\"abs-collapse\" + (open ? \" is-open\" : \"\")} aria-hidden={!open}><div className=\"abs-collapse-in\">{children}</div></div>;\n}\n",
8
8
  "import * as React from \"react\";\n\n/* One icon family: 16-unit grid, 1.5 stroke, round caps and joins. Component kinds supply their own glyphs in the same style. */\nconst paths = {\n search: <><circle cx=\"7.25\" cy=\"7.25\" r=\"4.5\" /><path d=\"m13.5 13.5-2.9-2.9\" /></>,\n check: <path d=\"m3.5 8.25 3 3 6-6.5\" />,\n bound: <><circle cx=\"8\" cy=\"8\" r=\"6\" /><path d=\"m5.6 8.1 1.7 1.7 3.2-3.4\" /></>,\n suggested: <><circle cx=\"8\" cy=\"8\" r=\"6\" /><circle cx=\"8\" cy=\"8\" r=\"2\" fill=\"currentColor\" stroke=\"none\" /></>,\n partial: <><circle cx=\"8\" cy=\"8\" r=\"6\" /><path d=\"M8 2a6 6 0 0 1 0 12z\" fill=\"currentColor\" stroke=\"none\" /></>,\n unbound: <circle cx=\"8\" cy=\"8\" r=\"6\" strokeDasharray=\"2.2 2.4\" />,\n data: <><ellipse cx=\"8\" cy=\"4\" rx=\"5\" ry=\"1.75\" /><path d=\"M3 4v8c0 .97 2.24 1.75 5 1.75s5-.78 5-1.75V4M3 8c0 .97 2.24 1.75 5 1.75S13 8.97 13 8\" /></>,\n action: <path d=\"M8.75 1.75 3.75 9h4.5l-1 5.25 5-7.25h-4.5z\" />,\n row: <><rect x=\"2\" y=\"3\" width=\"12\" height=\"10\" rx=\"2\" /><path d=\"M2 7h12\" /></>,\n plus: <path d=\"M8 3.25v9.5M3.25 8h9.5\" />,\n chevronRight: <path d=\"m6.25 3.75 4.25 4.25-4.25 4.25\" />,\n chevronDown: <path d=\"m3.75 6.25 4.25 4.25 4.25-4.25\" />,\n close: <path d=\"m4.25 4.25 7.5 7.5M11.75 4.25l-7.5 7.5\" />,\n screen: <><rect x=\"1.75\" y=\"2.75\" width=\"12.5\" height=\"10.5\" rx=\"2\" /><path d=\"M1.75 6h12.5\" /></>,\n dialog: <><rect x=\"1.75\" y=\"2.75\" width=\"12.5\" height=\"10.5\" rx=\"2\" /><rect x=\"4.75\" y=\"6\" width=\"6.5\" height=\"4.5\" rx=\"1\" /></>,\n api: <path d=\"M5.25 4.5 1.75 8l3.5 3.5M10.75 4.5 14.25 8l-3.5 3.5M9.25 3l-2.5 10\" />,\n trash: <path d=\"M2.75 4.25h10.5M6.25 4.25v-1.5h3.5v1.5M4.25 4.25l.6 8.5a1 1 0 0 0 1 .9h4.3a1 1 0 0 0 1-.9l.6-8.5\" />,\n link: <path d=\"M6.75 9.25a2.75 2.75 0 0 0 3.9 0l2-2a2.75 2.75 0 0 0-3.9-3.9l-.6.6M9.25 6.75a2.75 2.75 0 0 0-3.9 0l-2 2a2.75 2.75 0 0 0 3.9 3.9l.6-.6\" />,\n repeat: <><path d=\"m11.25 1.75 2 2-2 2\" /><path d=\"M2.75 7.5v-.75a3 3 0 0 1 3-3h7.5M4.75 14.25l-2-2 2-2\" /><path d=\"M13.25 8.5v.75a3 3 0 0 1-3 3h-7.5\" /></>,\n arrowLeft: <path d=\"M13 8H3m4-4L3 8l4 4\" />,\n component: <rect x=\"2.5\" y=\"2.5\" width=\"11\" height=\"11\" rx=\"2\" />,\n pointer: <path d=\"m3.25 3.25 3.5 9.5 1.5-4 4-1.5zM8.75 8.75l3.5 3.5\" />,\n refresh: <path d=\"M13.25 8A5.25 5.25 0 1 1 11.7 4.3M13.25 2.5v2.75H10.5\" />,\n list: <path d=\"M5.75 4h7.5M5.75 8h7.5M5.75 12h7.5M2.75 4h.01M2.75 8h.01M2.75 12h.01\" />,\n todo: <><circle cx=\"8\" cy=\"8\" r=\"6\" strokeDasharray=\"2.2 2.4\" /><path d=\"M8 5.5V8l1.75 1.25\" /></>,\n target: <><circle cx=\"8\" cy=\"8\" r=\"6\" /><circle cx=\"8\" cy=\"8\" r=\"3\" /><circle cx=\"8\" cy=\"8\" r=\".6\" fill=\"currentColor\" /></>,\n apply: <path d=\"M12.75 3.25v3.5a2 2 0 0 1-2 2h-7.5m3-3-3 3 3 3\" />,\n info: <><circle cx=\"8\" cy=\"8\" r=\"6\" /><path d=\"M8 7.25v3.5M8 5.25h.01\" /></>,\n settings: <><path d=\"M6.6 1.75h2.8l.4 1.7 1.3.75 1.65-.55 1.4 2.43-1.25 1.17v1.5l1.25 1.17-1.4 2.43-1.65-.55-1.3.75-.4 1.7H6.6l-.4-1.7-1.3-.75-1.65.55-1.4-2.43 1.25-1.17v-1.5L1.85 6.08l1.4-2.43 1.65.55 1.3-.75z\" /><circle cx=\"8\" cy=\"8\" r=\"2\" /></>,\n download: <path d=\"M8 2.75v7.5m-3-3 3 3 3-3M2.75 11.75v.5a1 1 0 0 0 1 1h8.5a1 1 0 0 0 1-1v-.5\" />,\n upload: <path d=\"M8 10.25v-7.5m-3 3 3-3 3 3M2.75 11.75v.5a1 1 0 0 0 1 1h8.5a1 1 0 0 0 1-1v-.5\" />,\n alert: <><circle cx=\"8\" cy=\"8\" r=\"6\" /><path d=\"M8 5v3.25M8 10.75h.01\" /></>,\n} satisfies Record<string, React.ReactNode>;\n\nexport type IconName = keyof typeof paths;\n\nexport function Icon({ name, size = 16, className }: { name: IconName; size?: number; className?: string }) {\n return (\n <svg className={\"abs-ico \" + (className ?? \"\")} width={size} height={size} viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\"\n strokeWidth={1.5} strokeLinecap=\"round\" strokeLinejoin=\"round\" aria-hidden=\"true\" focusable=\"false\">\n {paths[name]}\n </svg>\n );\n}\n\n/** Descriptor SVG drawn as a CSS mask: follows currentColor and is never parsed as markup. */\nexport function KindIcon({ svg }: { svg?: string }) {\n if (svg && /^\\s*<svg[\\s>]/i.test(svg)) {\n const svgDoc = /xmlns=/.test(svg) ? svg : svg.replace(/<svg/i, '<svg xmlns=\"http://www.w3.org/2000/svg\"');\n const url = `url(\"data:image/svg+xml,${encodeURIComponent(svgDoc)}\")`;\n return <span className=\"abs-kico\" aria-hidden=\"true\"><span className=\"abs-kico-m\" style={{ maskImage: url, WebkitMaskImage: url }} /></span>;\n }\n return <span className=\"abs-kico\" aria-hidden=\"true\"><Icon name=\"component\" /></span>;\n}\n\nconst STATE_LABEL = { bound: \"Connected\", suggested: \"Needs review\", partial: \"Partly connected\", unbound: \"Not connected\" } as const;\nexport type StateName = keyof typeof STATE_LABEL;\nexport const stateLabel = (s: StateName) => STATE_LABEL[s];\n\nexport function StateIcon({ state, size = 16 }: { state: StateName; size?: number }) {\n return (\n <span className={`abs-state abs-state-${state}`} title={STATE_LABEL[state]}>\n <Icon name={state} size={size} />\n <span className=\"abs-sr\">{STATE_LABEL[state]}</span>\n </span>\n );\n}\n\n/** Circular progress. */\nexport function Ring({ done, total, size = 18, stroke = 2.5 }: { done: number; total: number; size?: number; stroke?: number }) {\n const f = total ? done / total : 0;\n if (size <= 16) {\n // Pie at small sizes; a thin arc reads as a spinner.\n const pr = size / 4 - 0.25, pc = 2 * Math.PI * pr, h = size / 2;\n return (\n <svg className={\"abs-ring abs-pie\" + (total && done === total ? \" is-done\" : \"\")} width={size} height={size} viewBox={`0 0 ${size} ${size}`} aria-hidden=\"true\">\n <circle cx={h} cy={h} r={h - 0.75} strokeWidth={1.5} className=\"abs-ring-bg\" />\n <circle cx={h} cy={h} r={pr} strokeWidth={pr * 2} className=\"abs-ring-fg\" strokeDasharray={pc} strokeDashoffset={pc * (1 - f)} transform={`rotate(-90 ${h} ${h})`} />\n </svg>\n );\n }\n const r = (size - stroke) / 2, c = 2 * Math.PI * r;\n return (\n <svg className={\"abs-ring\" + (total && done === total ? \" is-done\" : \"\")} width={size} height={size} viewBox={`0 0 ${size} ${size}`} aria-hidden=\"true\">\n <circle cx={size / 2} cy={size / 2} r={r} strokeWidth={stroke} className=\"abs-ring-bg\" />\n <circle cx={size / 2} cy={size / 2} r={r} strokeWidth={stroke} className=\"abs-ring-fg\"\n strokeDasharray={c} strokeDashoffset={c * (1 - f)} transform={`rotate(-90 ${size / 2} ${size / 2})`} />\n </svg>\n );\n}\n",
@@ -25,7 +25,7 @@
25
25
  "import * as React from \"react\";\nimport type { ScreenId, SlotBinding } from \"../framework/contract\";\nimport type { BindingIndex } from \"../framework/engine\";\nimport { dropBinding, putBinding } from \"../framework/store\";\n\nexport type SaveStatus = \"idle\" | \"saving\" | \"saved\" | \"failed\";\nexport interface Removed { screen: ScreenId; binding: SlotBinding }\n\n/**\n * Studio bindings: saved 400 ms after the last edit; the last removal can be undone.\n * `save` writes the whole index; an edit made during a save is saved by the next one.\n */\nexport function useBindings(initial: BindingIndex, save: (index: BindingIndex) => Promise<void>) {\n const [index, setIndex] = React.useState(initial);\n const [status, setStatus] = React.useState<SaveStatus>(\"idle\");\n const [removed, setRemoved] = React.useState<Removed | null>(null);\n const edits = React.useRef(0);\n const latest = React.useRef(index);\n latest.current = index;\n\n const flush = React.useCallback(async () => {\n const at = edits.current;\n if (!at) return;\n setStatus(\"saving\");\n try {\n await save(latest.current);\n if (edits.current === at) edits.current = 0;\n setStatus(edits.current ? \"saving\" : \"saved\");\n } catch {\n setStatus(\"failed\");\n }\n }, [save]);\n\n React.useEffect(() => {\n if (!edits.current) return;\n setStatus(\"saving\");\n const t = setTimeout(flush, 400);\n return () => clearTimeout(t);\n }, [index, flush]);\n // Flush on unmount; warn before closing with unsaved edits.\n React.useEffect(() => () => { void flush(); }, [flush]);\n React.useEffect(() => {\n const warn = (e: BeforeUnloadEvent) => { if (edits.current) e.preventDefault(); };\n window.addEventListener(\"beforeunload\", warn);\n return () => window.removeEventListener(\"beforeunload\", warn);\n }, []);\n\n const put = React.useCallback((screen: ScreenId, b: SlotBinding) => {\n edits.current++;\n setIndex(i => putBinding(i, screen, b));\n }, []);\n const drop = React.useCallback((screen: ScreenId, component: string, slot: string) => {\n const binding = latest.current[screen]?.find(x => x.component === component && x.slot === slot);\n if (binding) setRemoved({ screen, binding });\n edits.current++;\n setIndex(i => dropBinding(i, screen, component, slot));\n }, []);\n const undo = React.useCallback(() => {\n if (removed) put(removed.screen, removed.binding);\n setRemoved(null);\n }, [put, removed]);\n const dismiss = React.useCallback(() => setRemoved(null), []);\n\n return { index, loaded: true, status, removed, put, drop, undo, dismiss, retry: flush };\n}\n",
26
26
  "/** Pure edit helpers for the binding index: each returns a new index. */\nimport type { ScreenId, SlotBinding } from \"./contract\";\nimport type { BindingIndex } from \"./engine\";\n\nexport function putBinding(idx: BindingIndex, screen: ScreenId, b: SlotBinding): BindingIndex {\n const list = (idx[screen] ?? []).filter(x => !(x.component === b.component && x.slot === b.slot));\n return { ...idx, [screen]: [...list, b] };\n}\n\nexport function dropBinding(idx: BindingIndex, screen: ScreenId, component: string, slot: string): BindingIndex {\n return { ...idx, [screen]: (idx[screen] ?? []).filter(x => !(x.component === component && x.slot === slot)) };\n}\n"
27
27
  ],
28
- "mappings": "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",
29
- "debugId": "5CC922DF10302EB664756E2164756E21",
28
+ "mappings": "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",
29
+ "debugId": "033A885DE9DD742964756E2164756E21",
30
30
  "names": []
31
31
  }
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Vite plugin: the binding studio inside the app's dev server, never in a build.
3
+ *
4
+ * // vite.config.ts
5
+ * import { bindingStudio } from "api_binding_ui/vite";
6
+ * plugins: [bindingStudio()]
7
+ *
8
+ * Serves the studio under /__binding/ and injects a floating button into the app's HTML pages
9
+ * (SPA and server-rendered alike). `vite build` never runs it (apply: "serve").
10
+ */
11
+ import type { IncomingMessage, ServerResponse } from "node:http";
12
+ export interface BindingStudioOptions {
13
+ /** bindings.json, relative to the Vite root. Default "bindings.json". */
14
+ file?: string;
15
+ /** Path the studio is served under. Default "/__binding". */
16
+ base?: string;
17
+ }
18
+ type Next = (err?: unknown) => void;
19
+ /** The parts of Vite's plugin API this uses; typed here so the package does not depend on Vite. */
20
+ export interface VitePluginLike {
21
+ name: string;
22
+ apply: "serve";
23
+ configResolved: (config: {
24
+ root: string;
25
+ }) => void;
26
+ transformIndexHtml: (html: string) => string;
27
+ configureServer: (server: {
28
+ middlewares: {
29
+ use: (fn: (req: IncomingMessage, res: ServerResponse, next: Next) => void) => void;
30
+ };
31
+ }) => void;
32
+ }
33
+ /** Adds the overlay script before the last </body> of HTML chunks; leaves everything else as it is. */
34
+ export declare function injectOverlay(res: ServerResponse, tag: string): void;
35
+ export declare function bindingStudio(options?: BindingStudioOptions): VitePluginLike;
36
+ export {};
package/dist/vite.js ADDED
@@ -0,0 +1,201 @@
1
+ // src/vite/plugin.ts
2
+ import path2 from "node:path";
3
+
4
+ // src/server/handler.ts
5
+ import { promises as fs } from "node:fs";
6
+ import path from "node:path";
7
+ import { fileURLToPath } from "node:url";
8
+
9
+ // src/framework/file.ts
10
+ var BINDING_TYPES = new Set(["operation", "expression", "steps", "none"]);
11
+ function parseBindingsFile(text) {
12
+ let data;
13
+ try {
14
+ data = JSON.parse(text);
15
+ } catch {
16
+ throw new Error("The bindings file is not valid JSON.");
17
+ }
18
+ const f = data;
19
+ if (!f || typeof f !== "object")
20
+ throw new Error("The bindings file must be a JSON object.");
21
+ if (f.version !== 3)
22
+ throw new Error(`The bindings file must have "version": 3.`);
23
+ if (typeof f.openapi !== "string" || !f.openapi)
24
+ throw new Error(`The bindings file needs "openapi": the docs URL or a path.`);
25
+ for (const k of ["kinds", "screens", "components", "bindings"])
26
+ if (!Array.isArray(f[k]))
27
+ throw new Error(`"${k}" must be a list.`);
28
+ f.bindings.forEach((b, i) => {
29
+ const x = b;
30
+ if (!x || typeof x.component !== "string" || typeof x.slot !== "string" || !BINDING_TYPES.has(x.type))
31
+ throw new Error(`Binding ${i + 1} needs "component", "slot" and a known "type".`);
32
+ });
33
+ if (f.output && (typeof f.output.dir !== "string" || typeof f.output.client !== "string"))
34
+ throw new Error(`"output" needs "dir" and "client".`);
35
+ return f;
36
+ }
37
+
38
+ // src/server/handler.ts
39
+ var TYPES = { ".html": "text/html; charset=utf-8", ".js": "text/javascript", ".css": "text/css", ".svg": "image/svg+xml", ".map": "application/json", ".woff2": "font/woff2" };
40
+ var DIST = fileURLToPath(new URL(".", import.meta.url));
41
+ var APP_DIR = path.join(DIST, "app");
42
+ var OVERLAY_FILE = path.join(DIST, "overlay.js");
43
+ var isUrl = (s) => /^https?:\/\//i.test(s);
44
+ async function readDocs(src, base) {
45
+ if (isUrl(src)) {
46
+ const res = await fetch(src);
47
+ if (!res.ok)
48
+ throw new Error(`${src} returned HTTP ${res.status}.`);
49
+ return res.text();
50
+ }
51
+ if (!/\.(ya?ml|json)$/i.test(src))
52
+ throw new Error(`"${src}" is not a .yaml, .yml or .json file.`);
53
+ return fs.readFile(path.resolve(base, src), "utf8");
54
+ }
55
+ async function writeFileAtomic(file, text) {
56
+ const tmp = `${file}.${process.pid}.tmp`;
57
+ await fs.writeFile(tmp, text, "utf8");
58
+ await fs.rename(tmp, file);
59
+ }
60
+ async function readBody(req, limit = 20 * 1024 * 1024) {
61
+ const chunks = [];
62
+ let size = 0;
63
+ for await (const c of req) {
64
+ size += c.length;
65
+ if (size > limit)
66
+ throw new Error("Body too large.");
67
+ chunks.push(c);
68
+ }
69
+ return Buffer.concat(chunks).toString("utf8");
70
+ }
71
+ function send(res, status, body, type = "text/plain; charset=utf-8") {
72
+ res.writeHead(status, { "Content-Type": type, "Cache-Control": "no-store", "X-Content-Type-Options": "nosniff" }).end(body);
73
+ }
74
+ function createStudioHandler({ file, prefix, allowed }) {
75
+ const base = path.dirname(file);
76
+ return async (req, res) => {
77
+ const url = new URL(req.url ?? "/", "http://local");
78
+ if (prefix && url.pathname !== prefix && !url.pathname.startsWith(prefix + "/"))
79
+ return false;
80
+ const rel = url.pathname.slice(prefix.length) || "/";
81
+ try {
82
+ if (prefix && url.pathname === prefix) {
83
+ res.writeHead(302, { Location: prefix + "/" + url.search }).end();
84
+ return true;
85
+ }
86
+ if (rel.startsWith("/api/") && !allowed(req)) {
87
+ send(res, 403, "Forbidden.");
88
+ return true;
89
+ }
90
+ if (rel === "/api/bindings") {
91
+ if (req.method === "GET")
92
+ send(res, 200, await fs.readFile(file, "utf8"), "application/json");
93
+ else if (req.method === "PUT") {
94
+ const text = await readBody(req);
95
+ try {
96
+ parseBindingsFile(text);
97
+ } catch (e) {
98
+ send(res, 400, e.message);
99
+ return true;
100
+ }
101
+ await writeFileAtomic(file, text);
102
+ send(res, 204, "");
103
+ } else
104
+ send(res, 405, "Method not allowed.");
105
+ return true;
106
+ }
107
+ if (rel === "/api/openapi" && req.method === "GET") {
108
+ const src = url.searchParams.get("src") ?? "";
109
+ try {
110
+ send(res, 200, await readDocs(src, base), src.endsWith(".json") ? "application/json" : "text/yaml; charset=utf-8");
111
+ } catch (e) {
112
+ send(res, 502, e.message);
113
+ }
114
+ return true;
115
+ }
116
+ if (req.method !== "GET" && req.method !== "HEAD") {
117
+ send(res, 405, "Method not allowed.");
118
+ return true;
119
+ }
120
+ if (rel === "/overlay.js") {
121
+ send(res, 200, await fs.readFile(OVERLAY_FILE), TYPES[".js"]);
122
+ return true;
123
+ }
124
+ const target = path.resolve(APP_DIR, rel === "/" ? "index.html" : decodeURIComponent(rel.slice(1)));
125
+ if (!target.startsWith(APP_DIR + path.sep)) {
126
+ send(res, 404, "Not found.");
127
+ return true;
128
+ }
129
+ const data = await fs.readFile(target).catch(() => null);
130
+ if (!data) {
131
+ send(res, 404, "Not found.");
132
+ return true;
133
+ }
134
+ send(res, 200, data, TYPES[path.extname(target)] ?? "application/octet-stream");
135
+ } catch (e) {
136
+ send(res, 500, e.message);
137
+ }
138
+ return true;
139
+ };
140
+ }
141
+
142
+ // src/vite/plugin.ts
143
+ function injectOverlay(res, tag) {
144
+ let done = false;
145
+ const isHtml = () => String(res.getHeader("content-type") ?? "").includes("text/html");
146
+ const patch = (chunk) => {
147
+ if (done || !isHtml())
148
+ return chunk;
149
+ const text = typeof chunk === "string" ? chunk : chunk instanceof Uint8Array ? Buffer.from(chunk).toString("utf8") : null;
150
+ if (text === null)
151
+ return chunk;
152
+ if (text.includes(tag)) {
153
+ done = true;
154
+ return chunk;
155
+ }
156
+ const i = text.lastIndexOf("</body>");
157
+ if (i < 0)
158
+ return chunk;
159
+ done = true;
160
+ if (!res.headersSent)
161
+ res.removeHeader("content-length");
162
+ return text.slice(0, i) + tag + text.slice(i);
163
+ };
164
+ const write = res.write.bind(res);
165
+ const end = res.end.bind(res);
166
+ res.write = (chunk, ...rest) => write(patch(chunk), ...rest);
167
+ res.end = (chunk, ...rest) => chunk == null || typeof chunk === "function" ? end(chunk, ...rest) : end(patch(chunk), ...rest);
168
+ }
169
+ function bindingStudio(options = {}) {
170
+ const base = (options.base ?? "/__binding").replace(/\/+$/, "");
171
+ const tag = `<script type="module" src="${base}/overlay.js"></script>`;
172
+ let file = "";
173
+ return {
174
+ name: "api-binding-studio",
175
+ apply: "serve",
176
+ configResolved(config) {
177
+ file = path2.resolve(config.root, options.file ?? "bindings.json");
178
+ },
179
+ transformIndexHtml: (html) => html.includes(tag) ? html : html.replace(/<\/body>/i, `${tag}</body>`),
180
+ configureServer(server) {
181
+ const allowed = (req) => {
182
+ const origin = req.headers.origin;
183
+ return req.method === "GET" || !origin || new URL(origin).host === req.headers.host;
184
+ };
185
+ const handle = createStudioHandler({ file, prefix: base, allowed });
186
+ server.middlewares.use((req, res, next) => {
187
+ handle(req, res).then((handled) => {
188
+ if (handled)
189
+ return;
190
+ if ((req.headers.accept ?? "").includes("text/html"))
191
+ injectOverlay(res, tag);
192
+ next();
193
+ }, next);
194
+ });
195
+ }
196
+ };
197
+ }
198
+ export {
199
+ bindingStudio,
200
+ injectOverlay
201
+ };