@inkandswitch/patchwork-pkg-base 0.0.128 → 0.0.129
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/module-settings-url +1 -1
- package/package.json +1 -1
- package/packages/account/dist/{AccountPicker-TCOUU4YK.js → AccountPicker-SBCGXHRS.js} +13 -44
- package/packages/account/dist/AccountPicker-SBCGXHRS.js.map +7 -0
- package/packages/account/dist/{ContactAvatar-MKDWQC6G.js → ContactAvatar-IVYTJ7M4.js} +5 -2
- package/packages/account/dist/ContactAvatar-IVYTJ7M4.js.map +7 -0
- package/packages/account/dist/{ContactCursor-4FYCATG5.js → ContactCursor-2FVKF5QA.js} +5 -2
- package/packages/account/dist/ContactCursor-2FVKF5QA.js.map +7 -0
- package/packages/account/dist/chunk-L6JWPAD3.js +52 -0
- package/packages/account/dist/chunk-L6JWPAD3.js.map +7 -0
- package/packages/account/dist/index.js +3 -3
- package/packages/codemirror-base/dist/{chunk-A2WBDY3J.js → chunk-REXVGJ53.js} +27 -2
- package/packages/codemirror-base/dist/{chunk-A2WBDY3J.js.map → chunk-REXVGJ53.js.map} +2 -2
- package/packages/codemirror-base/dist/lib/codemirror.js +1 -1
- package/packages/codemirror-base/dist/tool.js +1 -1
- package/packages/codemirror-markdown/dist/extensions/markdown.js +302 -43
- package/packages/codemirror-markdown/dist/extensions/markdown.js.map +3 -3
- package/packages/theming/dist/{active-theme-6H5UANUR.js → active-theme-WA6XMDTP.js} +2 -2
- package/packages/theming/dist/{chunk-HHCCYVOT.js → chunk-4GOF67HA.js} +2 -2
- package/packages/theming/dist/{chunk-VJZ4NPK4.js → chunk-T7VWPJQG.js} +26 -1
- package/packages/theming/dist/chunk-T7VWPJQG.js.map +7 -0
- package/packages/theming/dist/main.js +4 -4
- package/packages/theming/dist/{theme-HE7ECLIW.css → theme-HV4IDVYM.css} +44 -0
- package/packages/theming/dist/{theme-editor-datatype-TJ6LYT2U.js → theme-editor-datatype-DZFQK7HV.js} +2 -2
- package/packages/theming/dist/theme-editor.js +1 -1
- package/packages/theming/dist/{theme-titlebar-UX4BND5Z.js → theme-titlebar-LG6PFBKR.js} +2 -2
- package/packages/theming/dist/{theme-tray-B477G2WR.js → theme-tray-R3PJDYCL.js} +2 -2
- package/packages/theming/dist/tool.js +1 -1
- package/packages/threepane/dist/IsolatedDocumentArea-JJMLEL4O.js +2 -0
- package/packages/threepane/dist/{PatchworkFrame-22ABHJVG.js → PatchworkFrame-HMA5KZLY.js} +2 -2
- package/packages/threepane/dist/chunk-UOTRB26X.js +846 -0
- package/packages/threepane/dist/chunk-UOTRB26X.js.map +7 -0
- package/packages/threepane/dist/index.js +1 -1
- package/plugin-registry-url +1 -1
- package/packages/account/dist/AccountPicker-TCOUU4YK.js.map +0 -7
- package/packages/account/dist/ContactAvatar-MKDWQC6G.js.map +0 -7
- package/packages/account/dist/ContactCursor-4FYCATG5.js.map +0 -7
- package/packages/theming/dist/chunk-VJZ4NPK4.js.map +0 -7
- package/packages/threepane/dist/IsolatedDocumentArea-3HGASUGM.js +0 -2
- package/packages/threepane/dist/chunk-34WWZW2V.js +0 -1215
- package/packages/threepane/dist/chunk-34WWZW2V.js.map +0 -7
- /package/packages/theming/dist/{active-theme-6H5UANUR.js.map → active-theme-WA6XMDTP.js.map} +0 -0
- /package/packages/theming/dist/{chunk-HHCCYVOT.js.map → chunk-4GOF67HA.js.map} +0 -0
- /package/packages/theming/dist/{theme-editor-datatype-TJ6LYT2U.js.map → theme-editor-datatype-DZFQK7HV.js.map} +0 -0
- /package/packages/theming/dist/{theme-titlebar-UX4BND5Z.js.map → theme-titlebar-LG6PFBKR.js.map} +0 -0
- /package/packages/theming/dist/{theme-tray-B477G2WR.js.map → theme-tray-R3PJDYCL.js.map} +0 -0
- /package/packages/threepane/dist/{IsolatedDocumentArea-3HGASUGM.js.map → IsolatedDocumentArea-JJMLEL4O.js.map} +0 -0
- /package/packages/threepane/dist/{PatchworkFrame-22ABHJVG.js.map → PatchworkFrame-HMA5KZLY.js.map} +0 -0
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/contact/ContactAvatar.ts"],
|
|
4
|
-
"sourcesContent": ["import type { AutomergeUrl, DocHandle } from \"@automerge/automerge-repo/slim\";\nimport type { ToolElement } from \"@inkandswitch/patchwork-plugins\";\nimport type { ContactDoc } from \"../types\";\nimport { createAvatar, setAvatarImage, setAvatarFallback, getInitials } from \"./Avatar\";\nimport { getImportableUrlFromAutomergeUrl } from \"@inkandswitch/patchwork-filesystem\";\nimport { subscribe } from \"@inkandswitch/patchwork-providers\";\n\ndeclare global {\n interface Window {\n accountDocHandle?: { url: AutomergeUrl };\n }\n}\n\ntype TinyPatchworkLayoutDoc = {\n contactUrl: AutomergeUrl;\n};\n\nexport function renderContactAvatar(\n handle: DocHandle<ContactDoc>,\n element: ToolElement\n) {\n const avatar = createAvatar(\"default\");\n element.appendChild(avatar);\n\n let selfName = \"me\";\n const cleanups: (() => void)[] = [];\n\n // Track presence via ephemeral messages\n const heartbeats: Record<string, number> = {};\n let presenceTimer: ReturnType<typeof setInterval>;\n\n function onEphemeralMessage(message: { senderId: string; message: unknown }) {\n // useRemoteAwareness tracks heartbeats from ephemeral messages\n if (message.senderId) {\n heartbeats[message.senderId] = Date.now();\n }\n updatePresence();\n }\n\n function updatePresence() {\n const now = Date.now();\n const timeout = 30000;\n const isPresent = Object.entries(heartbeats).some(\n ([id, ts]) => id !== selfName && now - ts < timeout\n );\n\n // The contact's chosen color; without one, the CSS fallback (neutral\n // gray) applies.\n const userColor = handle.doc()?.color;\n\n if (isPresent) {\n avatar.classList.add(\"contact-avatar--present\");\n if (userColor) {\n avatar.style.setProperty(\"--contact-presence-color\", userColor);\n } else {\n avatar.style.removeProperty(\"--contact-presence-color\");\n }\n } else {\n avatar.classList.remove(\"contact-avatar--present\");\n avatar.style.removeProperty(\"--contact-presence-color\");\n }\n }\n\n handle.on(\"ephemeral-message\", onEphemeralMessage);\n cleanups.push(() => handle.off(\"ephemeral-message\", onEphemeralMessage));\n\n // Periodically clean up stale heartbeats\n presenceTimer = setInterval(updatePresence, 5000);\n cleanups.push(() => clearInterval(presenceTimer));\n\n // Get own contact via provider subscription\n const unsubscribe = subscribe<string>(\n element,\n { type: \"patchwork:contact\" },\n (contactUrl) => {\n element.repo\n .find<ContactDoc>(contactUrl as AutomergeUrl)\n .then((selfHandle) => {\n const selfDoc = selfHandle.doc();\n if (selfDoc?.type === \"registered\") {\n selfName = selfDoc.name;\n }\n });\n }\n );\n cleanups.push(unsubscribe);\n\n // Fallback: use window.accountDocHandle\n if (window.accountDocHandle) {\n element.repo\n .find<TinyPatchworkLayoutDoc>(window.accountDocHandle.url)\n .then((accountHandle) => {\n const accountDoc = accountHandle.doc();\n if (accountDoc?.contactUrl) {\n element.repo\n .find<ContactDoc>(accountDoc.contactUrl)\n .then((selfHandle) => {\n const selfDoc = selfHandle.doc();\n if (selfDoc?.type === \"registered\") {\n selfName = selfDoc.name;\n }\n });\n }\n });\n }\n\n async function update() {\n const contact = handle.doc();\n if (!contact) {\n avatar.style.display = \"none\";\n return;\n }\n avatar.style.display = \"\";\n\n const isRegistered = contact.type === \"registered\";\n const name = isRegistered ? contact.name : \"Anonymous\";\n\n // avatar image\n let avatarImgUrl: string | undefined;\n if (isRegistered && contact.avatarUrl) {\n try {\n const avatarHandle = await element.repo.find(contact.avatarUrl);\n avatarImgUrl = getImportableUrlFromAutomergeUrl(avatarHandle.url);\n } catch {\n // ignore failed avatar lookup\n }\n }\n setAvatarImage(avatar, avatarImgUrl, name);\n\n // fallback\n if (isRegistered && name) {\n setAvatarFallback(avatar, { initials: getInitials(name) });\n } else {\n setAvatarFallback(avatar, { iconSize: 20 });\n }\n\n updatePresence();\n }\n\n handle.on(\"change\", update);\n cleanups.push(() => handle.off(\"change\", update));\n update();\n\n return () => {\n for (const cleanup of cleanups) cleanup();\n };\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/contact/ContactCursor.ts"],
|
|
4
|
-
"sourcesContent": ["import type { DocHandle } from \"@automerge/automerge-repo/slim\";\nimport type { ToolElement } from \"@inkandswitch/patchwork-plugins\";\nimport type { ContactDoc } from \"../types\";\n\n/**\n * A compact cursor token: the contact's name on a pill in their presence\n * color. Hosts that render remote cursors (text editors, canvases) mount it\n * next to their own cursor primitive (caret line, pointer arrow) via\n * `<patchwork-view doc-url={contactUrl} tool-id=\"contact-cursor\">`.\n */\nexport function renderContactCursor(\n handle: DocHandle<ContactDoc>,\n element: ToolElement\n) {\n const token = document.createElement(\"div\");\n token.className = \"contact-cursor-token\";\n element.appendChild(token);\n\n function update() {\n const contact = handle.doc();\n if (!contact) {\n token.style.display = \"none\";\n return;\n }\n token.style.display = \"\";\n const name = contact.type === \"registered\" ? contact.name : \"Anonymous\";\n // The contact's chosen color; without one, the CSS fallback (neutral\n // gray) applies.\n if (contact.color) {\n token.style.setProperty(\"--contact-cursor-color\", contact.color);\n } else {\n token.style.removeProperty(\"--contact-cursor-color\");\n }\n token.textContent = name;\n token.title = name;\n }\n\n handle.on(\"change\", update);\n update();\n\n return () => {\n handle.off(\"change\", update);\n token.remove();\n };\n}\n"],
|
|
5
|
-
"mappings": ";;;AAUO,SAAS,oBACd,QACA,SACA;AACA,QAAM,QAAQ,SAAS,cAAc,KAAK;AAC1C,QAAM,YAAY;AAClB,UAAQ,YAAY,KAAK;AAEzB,WAAS,SAAS;AAChB,UAAM,UAAU,OAAO,IAAI;AAC3B,QAAI,CAAC,SAAS;AACZ,YAAM,MAAM,UAAU;AACtB;AAAA,IACF;AACA,UAAM,MAAM,UAAU;AACtB,UAAM,OAAO,QAAQ,SAAS,eAAe,QAAQ,OAAO;AAG5D,QAAI,QAAQ,OAAO;AACjB,YAAM,MAAM,YAAY,0BAA0B,QAAQ,KAAK;AAAA,IACjE,OAAO;AACL,YAAM,MAAM,eAAe,wBAAwB;AAAA,IACrD;AACA,UAAM,cAAc;AACpB,UAAM,QAAQ;AAAA,EAChB;AAEA,SAAO,GAAG,UAAU,MAAM;AAC1B,SAAO;AAEP,SAAO,MAAM;AACX,WAAO,IAAI,UAAU,MAAM;AAC3B,UAAM,OAAO;AAAA,EACf;AACF;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/theme-editor-datatype.ts"],
|
|
4
|
-
"sourcesContent": ["export interface CustomThemeDoc {\n\tname: string\n\tmode: \"light\" | \"dark\"\n\tvariables: Record<string, string>\n\tcustomCss: string\n}\n\nexport interface EditableVariable {\n\tkey: string\n\tlabel: string\n\ttype: \"color\" | \"text\"\n\t/** shown when the field is empty. blank fields are left unset, so the\n\t theme.css default (or, for opt-in tokens, each tool's own value) applies. */\n\tplaceholder?: string\n}\n\nexport const EDITABLE_VARIABLES: {group: string; vars: EditableVariable[]}[] = [\n\t{group: \"Base\", vars: [\n\t\t{key: \"--studio-fill\", label: \"Fill (background)\", type: \"color\"},\n\t\t{key: \"--studio-line\", label: \"Line (foreground)\", type: \"color\"},\n\t]},\n\t{group: \"Accents\", vars: [\n\t\t{key: \"--studio-primary\", label: \"Primary\", type: \"color\"},\n\t\t{key: \"--studio-secondary\", label: \"Secondary\", type: \"color\"},\n\t\t{key: \"--studio-danger\", label: \"Danger\", type: \"color\"},\n\t\t{key: \"--studio-warning\", label: \"Warning\", type: \"color\"},\n\t\t{key: \"--studio-success\", label: \"Success\", type: \"text\", placeholder: \"var(--studio-added)\"},\n\t\t{key: \"--studio-info\", label: \"Info\", type: \"text\", placeholder: \"var(--studio-secondary)\"},\n\t]},\n\t{group: \"Semantic\", vars: [\n\t\t{key: \"--studio-added\", label: \"Added\", type: \"color\"},\n\t\t{key: \"--studio-deleted\", label: \"Deleted\", type: \"color\"},\n\t\t{key: \"--studio-modified\", label: \"Modified\", type: \"color\"},\n\t\t{key: \"--studio-link\", label: \"Link\", type: \"color\"},\n\t]},\n\t{group: \"Selection\", vars: [\n\t\t{key: \"--studio-selection-fill\", label: \"Selection fill\", type: \"color\"},\n\t]},\n\t{group: \"Chrome\", vars: [\n\t\t// derived by default (see theme.css); kept as text so the var() default\n\t\t// survives unless the user types a concrete value.\n\t\t{key: \"--studio-chrome-fill\", label: \"Chrome fill\", type: \"text\"},\n\t\t{key: \"--studio-chrome-line\", label: \"Chrome line\", type: \"text\"},\n\t]},\n\t{group: \"Sideboard\", vars: [\n\t\t{key: \"--sideboard-primary\", label: \"Sideboard primary\", type: \"text\"},\n\t\t{key: \"--sideboard-fill\", label: \"Sideboard fill\", type: \"text\"},\n\t]},\n\t{group: \"Typography\", vars: [\n\t\t{key: \"--studio-family-sans\", label: \"Sans font\", type: \"text\"},\n\t\t{key: \"--studio-family-code\", label: \"Code font\", type: \"text\"},\n\t\t{key: \"--studio-family\", label: \"Default font\", type: \"text\"},\n\t\t{key: \"--studio-family-ui\", label: \"UI font\", type: \"text\"},\n\t\t{key: \"--studio-family-serif\", label: \"Serif font\", type: \"text\", placeholder: \"Iowan Old Style, Palatino, Georgia, serif\"},\n\t\t{key: \"--studio-font-size\", label: \"Font size\", type: \"text\"},\n\t\t{key: \"--studio-font-weight\", label: \"Font weight\", type: \"text\", placeholder: \"400\"},\n\t\t{key: \"--studio-line-height\", label: \"Line height\", type: \"text\"},\n\t\t{key: \"--studio-letter-spacing\", label: \"Letter spacing\", type: \"text\", placeholder: \"normal (e.g. 0.01em)\"},\n\t\t{key: \"--studio-chrome-letter-spacing\", label: \"Chrome label spacing\", type: \"text\", placeholder: \"each tool's own\"},\n\t\t{key: \"--studio-font-features\", label: \"Font features\", type: \"text\", placeholder: \"normal (e.g. \\\"ss01\\\", \\\"zero\\\")\"},\n\t\t{key: \"--studio-font-variation\", label: \"Font variation\", type: \"text\", placeholder: \"normal (e.g. \\\"wght\\\" 420)\"},\n\t\t{key: \"--studio-heading-family\", label: \"Heading font\", type: \"text\", placeholder: \"each tool's own\"},\n\t\t{key: \"--studio-heading-weight\", label: \"Heading weight\", type: \"text\", placeholder: \"each tool's own\"},\n\t\t{key: \"--studio-font-scale\", label: \"Heading scale ratio\", type: \"text\", placeholder: \"each tool's own (e.g. 1.25)\"},\n\t]},\n\t{group: \"Shape & density\", vars: [\n\t\t{key: \"--studio-density\", label: \"Density\", type: \"text\", placeholder: \"1 (0.75 compact, 1.25 roomy)\"},\n\t\t{key: \"--studio-radius-scale\", label: \"Corner scale\", type: \"text\", placeholder: \"1 (0 square, 1.5 soft)\"},\n\t\t{key: \"--studio-border-width\", label: \"Border width\", type: \"text\", placeholder: \"1px\"},\n\t\t{key: \"--studio-border-style\", label: \"Border style\", type: \"text\", placeholder: \"solid (dashed, dotted)\"},\n\t]},\n\t{group: \"Depth\", vars: [\n\t\t{key: \"--studio-shadow-strength\", label: \"Shadow strength\", type: \"text\", placeholder: \"1 (0 flat, 3 heavy)\"},\n\t\t{key: \"--studio-shadow-color\", label: \"Shadow colour\", type: \"text\", placeholder: \"the line, tinted\"},\n\t\t{key: \"--studio-backdrop\", label: \"Backdrop\", type: \"text\", placeholder: \"each tool's own\"},\n\t\t{key: \"--studio-backdrop-blur\", label: \"Backdrop blur\", type: \"text\", placeholder: \"each tool's own (e.g. blur(8px))\"},\n\t]},\n\t{group: \"Motion\", vars: [\n\t\t{key: \"--studio-motion-scale\", label: \"Motion scale\", type: \"text\", placeholder: \"1 (0 off, 2 slow)\"},\n\t\t{key: \"--studio-ease\", label: \"Easing\", type: \"text\", placeholder: \"ease\"},\n\t]},\n\t{group: \"Focus & interaction\", vars: [\n\t\t{key: \"--studio-focus-ring\", label: \"Focus ring\", type: \"text\", placeholder: \"each tool's own (e.g. 3px solid hotpink)\"},\n\t\t{key: \"--studio-focus-ring-offset\", label: \"Focus ring offset\", type: \"text\", placeholder: \"each tool's own (e.g. 2px)\"},\n\t\t{key: \"--studio-hover-fill\", label: \"Hover fill\", type: \"text\", placeholder: \"each tool's own\"},\n\t\t{key: \"--studio-active-fill\", label: \"Pressed fill\", type: \"text\", placeholder: \"each tool's own\"},\n\t\t{key: \"--studio-chrome-hover-fill\", label: \"Chrome hover fill\", type: \"text\", placeholder: \"each tool's own\"},\n\t\t{key: \"--studio-chrome-active-fill\", label: \"Chrome pressed fill\", type: \"text\", placeholder: \"each tool's own\"},\n\t\t{key: \"--studio-disabled-opacity\", label: \"Disabled opacity\", type: \"text\", placeholder: \"0.5\"},\n\t]},\n\t{group: \"Cursors\", vars: [\n\t\t{key: \"--studio-cursor-default\", label: \"Default\", type: \"text\", placeholder: \"default\"},\n\t\t{key: \"--studio-cursor-pointer\", label: \"Pointer\", type: \"text\", placeholder: \"pointer (e.g. url(hand.svg) 4 0, pointer)\"},\n\t\t{key: \"--studio-cursor-text\", label: \"Text\", type: \"text\", placeholder: \"text\"},\n\t\t{key: \"--studio-cursor-grab\", label: \"Grab\", type: \"text\", placeholder: \"grab\"},\n\t]},\n\t{group: \"Scrollbars\", vars: [\n\t\t{key: \"--studio-scrollbar-color\", label: \"Scrollbar colour\", type: \"text\", placeholder: \"browser default (thumb track)\"},\n\t\t{key: \"--studio-scrollbar-width\", label: \"Scrollbar width\", type: \"text\", placeholder: \"auto (thin, none)\"},\n\t]},\n\t{group: \"Swatches\", vars: [\n\t\t{key: \"--studio-swatch-lightness\", label: \"Swatch lightness\", type: \"text\", placeholder: \"0.7\"},\n\t\t{key: \"--studio-swatch-chroma\", label: \"Swatch chroma\", type: \"text\", placeholder: \"0.15\"},\n\t]},\n]\n\nexport const DEFAULT_VALUES: Record<string, string> = {\n\t\"--studio-fill\": \"#ffffff\",\n\t\"--studio-line\": \"#000000\",\n\t\"--studio-primary\": \"#35f7ca\",\n\t\"--studio-secondary\": \"#33ccf8\",\n\t\"--studio-danger\": \"#ff6a90\",\n\t\"--studio-warning\": \"#f8c43b\",\n\t\"--studio-added\": \"#35f7ca\",\n\t\"--studio-deleted\": \"#ff6a90\",\n\t\"--studio-modified\": \"#f8c43b\",\n\t\"--studio-link\": \"#3366ee\",\n\t\"--studio-selection-fill\": \"#ffee8888\",\n\t// derived defaults \u2014 mirror the var() chains in theme.css so editing the\n\t// source (fill/primary/sans) cascades unless overridden here.\n\t\"--studio-chrome-fill\": \"var(--studio-fill-offset-10)\",\n\t\"--studio-chrome-line\": \"var(--studio-line)\",\n\t\"--sideboard-primary\": \"var(--studio-primary)\",\n\t\"--sideboard-fill\": \"var(--studio-chrome-fill)\",\n\t\"--studio-family-sans\": '\"Jost*\", \"Jost\", system-ui, -apple-system, sans-serif',\n\t\"--studio-family-code\": '\"IBM Plex Mono\", ui-monospace, monospace',\n\t\"--studio-family\": \"var(--studio-family-sans)\",\n\t\"--studio-family-ui\": \"var(--studio-family-sans)\",\n\t\"--studio-font-size\": \"16px\",\n\t\"--studio-line-height\": \"1.5\",\n}\n\nexport const CustomThemeDatatype = {\n\tinit(doc: any) {\n\t\tdoc.name = \"Custom Theme\"\n\t\tdoc.mode = \"light\"\n\t\tdoc.variables = {...DEFAULT_VALUES}\n\t\tdoc.customCss = \"\"\n\t},\n\tgetTitle(doc: any) {\n\t\treturn doc.name || \"Custom Theme\"\n\t},\n\tsetTitle(doc: any, title: string) {\n\t\tdoc.name = title\n\t},\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|