@inkandswitch/patchwork-pkg-base 0.0.101 → 0.0.103
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-A2PAS5CG.js → AccountPicker-DCX77HQI.js} +7 -3
- package/packages/account/dist/AccountPicker-DCX77HQI.js.map +7 -0
- package/packages/account/dist/index.css +70 -34
- package/packages/account/dist/index.css.map +2 -2
- package/packages/account/dist/index.js +1 -1
- package/packages/account-history/dist/assets/HistoryRecorder-_3PrVW6n.js +1 -1
- package/packages/account-history/dist/assets/HistoryViewer-BmG0rAfK.js +1 -1
- package/packages/account-history/dist/assets/NotebookViewer-DZ_ZQU5x.js +37 -37
- package/packages/add-doc-to-sidebar-button/styles.css +2 -2
- package/packages/chat/dist/{ChatRoot-BYmq4SXi.js → ChatRoot-1d-658Rr.js} +2 -2
- package/packages/chat/dist/{context-tool-Bob-FZ_T.js → context-tool-iP64Oz6H.js} +2 -2
- package/packages/chat/dist/{index-wkaHcVCz.js → index-Dm_2jZcu.js} +3 -3
- package/packages/chat/dist/index.js +2 -2
- package/packages/chat/dist/{tool-DCOdh_fx.js → tool-BmNd5mrj.js} +1 -1
- package/packages/codemirror-base/dist/{chunk-QRT4ZVQ4.js → chunk-A2WBDY3J.js} +5 -5
- package/packages/codemirror-base/dist/{chunk-QRT4ZVQ4.js.map → chunk-A2WBDY3J.js.map} +1 -1
- package/packages/codemirror-base/dist/lib/codemirror.js +1 -1
- package/packages/codemirror-base/dist/tool.js +3 -3
- package/packages/codemirror-base/dist/tool.js.map +1 -1
- package/packages/codemirror-markdown/dist/extensions/embed.js +1 -1
- package/packages/codemirror-markdown/dist/extensions/embed.js.map +1 -1
- package/packages/codemirror-markdown/dist/extensions/links.js +1 -1
- package/packages/codemirror-markdown/dist/extensions/links.js.map +1 -1
- package/packages/codemirror-markdown/dist/extensions/markdown.js +6 -6
- package/packages/codemirror-markdown/dist/extensions/markdown.js.map +1 -1
- package/packages/commands/dist/main.js +1 -1
- package/packages/commands/dist/main.js.map +1 -1
- package/packages/comments-view/dist/assets/main-wSSvAVfi.js +1 -1
- package/packages/doc-openwith/doc-openwith.js +5 -5
- package/packages/doc-presence/doc-presence.js +1 -1
- package/packages/drafts/dist/assets/main-CG9HOCai.js +31 -31
- package/packages/embed/dist/assets/tool-D58NGTZ7.js +1 -1
- package/packages/file/dist/index.js +2 -2
- package/packages/file/dist/{new-file-tool-DGKllnzw.js → new-file-tool-BolBDUrL.js} +27 -27
- package/packages/file/dist/new-file-tool-BolBDUrL.js.map +1 -0
- package/packages/file/dist/{tool-UKWDK93W.js → tool-Bt8I8T2-.js} +4 -4
- package/packages/file/dist/tool-Bt8I8T2-.js.map +1 -0
- package/packages/file/dist/{typescript-language-server-BgBx0vSF.js → typescript-language-server-Db4173Y5.js} +2 -2
- package/packages/file/dist/{typescript-language-server-BgBx0vSF.js.map → typescript-language-server-Db4173Y5.js.map} +1 -1
- package/packages/folder/dist/index.js +1 -1
- package/packages/folder/dist/{tool-WAWTPB4A.js → tool-5E3YPGES.js} +2 -2
- package/packages/folder/dist/{tool-WAWTPB4A.js.map → tool-5E3YPGES.js.map} +1 -1
- package/packages/history-view/dist/assets/{HistoryTimeline-COYNGORP.js → HistoryTimeline-Bo-BTf2A.js} +6 -6
- package/packages/history-view/dist/assets/{HistoryTimeline-COYNGORP.js.map → HistoryTimeline-Bo-BTf2A.js.map} +1 -1
- package/packages/history-view/dist/assets/{index-C1gYt7m5.js → index-B5Afrk9Y.js} +2 -2
- package/packages/history-view/dist/assets/{index-C1gYt7m5.js.map → index-B5Afrk9Y.js.map} +1 -1
- package/packages/history-view/dist/index.js +1 -1
- package/packages/llm-host/dist/{LlmConfigTray-DdZHZT4F.js → LlmConfigTray-CjW04jeT.js} +108 -108
- package/packages/llm-host/dist/index.js +1 -1
- package/packages/packages/dist/index.js +46 -46
- package/packages/raw/raw-editor.js +22 -22
- package/packages/settings/dist/assets/FrameConfigurator-DVRBzIR-.js +1 -1
- package/packages/sideboard/dist/index.css +1 -1
- package/packages/sideboard/dist/index.css.map +2 -2
- package/packages/sideboard/dist/index.js +1 -1
- package/packages/sync-indicator/dist/assets/{SyncIndicator-B2ag1OoZ.js → SyncIndicator-oVMcVRXg.js} +3 -3
- package/packages/sync-indicator/dist/assets/{SyncIndicator-B2ag1OoZ.js.map → SyncIndicator-oVMcVRXg.js.map} +1 -1
- package/packages/sync-indicator/dist/index.js +1 -1
- package/packages/tasks/dist/assets/index-BbuRtBN3.js +1 -1
- package/packages/theming/dist/{active-theme-BMSIQXBV.js → active-theme-CC3CS64F.js} +2 -2
- package/packages/theming/dist/{chunk-Z3JB7ERH.js → chunk-DH4YUYFJ.js} +2 -2
- package/packages/theming/dist/chunk-VJZ4NPK4.js +136 -0
- package/packages/theming/dist/chunk-VJZ4NPK4.js.map +7 -0
- package/packages/theming/dist/main.js +4 -4
- package/packages/theming/dist/{theme-7OG2K56L.css → theme-HE7ECLIW.css} +212 -58
- package/packages/theming/dist/{theme-editor-datatype-TMYH7U2S.js → theme-editor-datatype-TJ6LYT2U.js} +2 -2
- package/packages/theming/dist/theme-editor.js +35 -25
- package/packages/theming/dist/theme-editor.js.map +2 -2
- package/packages/theming/dist/{theme-titlebar-YIFJINPJ.js → theme-titlebar-BO2Y2GRN.js} +2 -2
- package/packages/theming/dist/{theme-tray-7J247NRY.js → theme-tray-V6BEXQWR.js} +15 -15
- package/packages/theming/dist/theme-tray-V6BEXQWR.js.map +7 -0
- package/packages/theming/dist/tool.js +9 -9
- package/packages/theming/dist/tool.js.map +1 -1
- package/packages/threepane/dist/IsolatedDocumentArea-IZWZ74TV.js +2 -0
- package/packages/threepane/dist/{PatchworkFrame-GEEBBGCS.js → PatchworkFrame-UNWWAISP.js} +2 -2
- package/packages/threepane/dist/{chunk-YC5AHP5G.js → chunk-MSZ7JVNB.js} +31 -31
- package/packages/threepane/dist/{chunk-YC5AHP5G.js.map → chunk-MSZ7JVNB.js.map} +3 -3
- package/packages/threepane/dist/index.js +1 -1
- package/plugin-registry-url +1 -1
- package/packages/account/dist/AccountPicker-A2PAS5CG.js.map +0 -7
- package/packages/file/dist/new-file-tool-DGKllnzw.js.map +0 -1
- package/packages/file/dist/tool-UKWDK93W.js.map +0 -1
- package/packages/theming/dist/chunk-GIPQLUDU.js +0 -86
- package/packages/theming/dist/chunk-GIPQLUDU.js.map +0 -7
- package/packages/theming/dist/theme-tray-7J247NRY.js.map +0 -7
- package/packages/threepane/dist/IsolatedDocumentArea-G3V7KYHJ.js +0 -2
- /package/packages/theming/dist/{active-theme-BMSIQXBV.js.map → active-theme-CC3CS64F.js.map} +0 -0
- /package/packages/theming/dist/{chunk-Z3JB7ERH.js.map → chunk-DH4YUYFJ.js.map} +0 -0
- /package/packages/theming/dist/{theme-editor-datatype-TMYH7U2S.js.map → theme-editor-datatype-TJ6LYT2U.js.map} +0 -0
- /package/packages/theming/dist/{theme-titlebar-YIFJINPJ.js.map → theme-titlebar-BO2Y2GRN.js.map} +0 -0
- /package/packages/threepane/dist/{IsolatedDocumentArea-G3V7KYHJ.js.map → IsolatedDocumentArea-IZWZ74TV.js.map} +0 -0
- /package/packages/threepane/dist/{PatchworkFrame-GEEBBGCS.js.map → PatchworkFrame-UNWWAISP.js.map} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/theme-editor.tsx"],
|
|
4
|
-
"sourcesContent": ["import { template as _$template } from \"solid-js/web\";\nimport { delegateEvents as _$delegateEvents } from \"solid-js/web\";\nimport { setStyleProperty as _$setStyleProperty } from \"solid-js/web\";\nimport { setAttribute as _$setAttribute } from \"solid-js/web\";\nimport { createComponent as _$createComponent } from \"solid-js/web\";\nimport { insert as _$insert } from \"solid-js/web\";\nimport { memo as _$memo } from \"solid-js/web\";\nimport { effect as _$effect } from \"solid-js/web\";\nvar _tmpl$ = /*#__PURE__*/_$template(`<div class=group><div class=group-title>Discovered :root variables`),\n _tmpl$2 = /*#__PURE__*/_$template(`<div class=theme-editor><div class=header><input class=name-input placeholder=\"Theme name\"><div class=toolbar><button class=mode-toggle><span class=mode-icon></span></button><button class=btn></button><button class=btn>Reset</button><button class=btn>Copy CSS</button></div></div><div class=preview><div class=preview-title>Preview</div><div class=swatch-row><div class=swatch></div><div class=swatch></div><div class=swatch></div><div class=swatch></div><div class=swatch></div><div class=swatch></div><div class=swatch></div><div class=swatch></div></div><div class=preview-title style=margin-top:0.5rem>Fill offsets</div><div class=offset-strip><div></div><div></div><div></div><div></div><div></div><div></div></div><div class=preview-title>Line offsets</div><div class=offset-strip><div></div><div></div><div></div><div></div><div></div><div></div></div></div><div class=group><div class=group-title>Custom CSS</div><textarea class=css-textarea placeholder=\"/* Additional CSS rules */\\n[theme="my-theme"] .some-element \\{\\n color: red;\\n}\"></textarea></div><div class=group><div class=group-title>Generated CSS</div><pre class=export-area>`),\n _tmpl$3 = /*#__PURE__*/_$template(`<div class=group><div class=group-title>`),\n _tmpl$4 = /*#__PURE__*/_$template(`<input class=color-input type=color>`),\n _tmpl$5 = /*#__PURE__*/_$template(`<span class=hex-display>`),\n _tmpl$6 = /*#__PURE__*/_$template(`<input class=text-input type=text>`),\n _tmpl$7 = /*#__PURE__*/_$template(`<div class=var-row><span class=var-label>`),\n _tmpl$8 = /*#__PURE__*/_$template(`<button class=btn-sm>Override`),\n _tmpl$9 = /*#__PURE__*/_$template(`<div class=var-row><span class=discovered-label>`);\nimport { render } from \"solid-js/web\";\nimport { createSignal, createEffect, For, onCleanup, Show } from \"solid-js\";\nimport { EDITABLE_VARIABLES, DEFAULT_VALUES } from \"./theme-editor-datatype.ts\";\nconst FILL_OFFSET_RAMP = [[10, 0], [20, 7], [30, 18], [40, 32], [50, 50]];\nconst LINE_OFFSET_RAMP = [[10, 8], [20, 18], [30, 33], [40, 52], [50, 76]];\nexport function generateThemeCss(name, mode, vars, customCss) {\n let css = `[theme=\"${name}\"] {\n`;\n css += `\tcolor-scheme: ${mode};\n`;\n for (const [key, value] of Object.entries(vars)) {\n css += `\t${key}: ${value};\n`;\n }\n for (const [label, amount] of FILL_OFFSET_RAMP) {\n css += `\t--studio-fill-offset-${label}: color-mix(in oklch, color-mix(in oklch, var(--studio-fill), var(--studio-line) ${amount}%), var(--studio-offset-tint, var(--studio-secondary)) var(--studio-offset-tint-amount, 10%));\n`;\n }\n for (const [label, amount] of LINE_OFFSET_RAMP) {\n css += `\t--studio-line-offset-${label}: color-mix(in oklch, color-mix(in oklch, var(--studio-line), var(--studio-fill) ${amount}%), var(--studio-offset-tint, var(--studio-secondary)) var(--studio-offset-tint-amount, 10%));\n`;\n }\n css += \"}\\n\";\n if (customCss?.trim()) {\n css += `\n/* Custom CSS */\n${customCss}\n`;\n }\n return css;\n}\nfunction discoverRootVariables() {\n const knownKeys = new Set(EDITABLE_VARIABLES.flatMap(g => g.vars.map(v => v.key)));\n for (const pct of [10, 20, 30, 40, 50]) {\n knownKeys.add(`--studio-fill-offset-${pct}`);\n knownKeys.add(`--studio-line-offset-${pct}`);\n }\n const found = {};\n try {\n for (const sheet of document.styleSheets) {\n try {\n for (const rule of sheet.cssRules) {\n if (!(rule instanceof CSSStyleRule)) continue;\n if (rule.selectorText !== \":root\") continue;\n for (let i = 0; i < rule.style.length; i++) {\n const prop = rule.style[i];\n if (!prop.startsWith(\"--\")) continue;\n if (knownKeys.has(prop)) continue;\n found[prop] = rule.style.getPropertyValue(prop).trim();\n }\n }\n } catch {}\n }\n } catch {}\n return found;\n}\nfunction looksLikeColor(value) {\n const v = value.trim().toLowerCase();\n return v.startsWith(\"#\") || v.startsWith(\"rgb\") || v.startsWith(\"hsl\") || v.startsWith(\"oklch\") || v.startsWith(\"oklab\") || v.startsWith(\"lch\") || v.startsWith(\"lab\") || v.startsWith(\"color(\") || v.startsWith(\"color-mix(\");\n}\nexport function ThemeEditorTool(handle, element) {\n const [doc, setDoc] = createSignal(handle.doc());\n const onChange = () => setDoc(handle.doc());\n handle.on(\"change\", onChange);\n const [livePreview, setLivePreview] = createSignal(true);\n createEffect(() => {\n if (!livePreview()) return;\n const d = doc();\n if (!d?.variables) return;\n const root = document.documentElement;\n for (const [key, value] of Object.entries(d.variables)) {\n root.style.setProperty(key, value);\n }\n for (const [label, amount] of FILL_OFFSET_RAMP) {\n root.style.setProperty(`--studio-fill-offset-${label}`, `color-mix(in oklch, color-mix(in oklch, var(--studio-fill), var(--studio-line) ${amount}%), var(--studio-offset-tint, var(--studio-secondary)) var(--studio-offset-tint-amount, 10%))`);\n }\n for (const [label, amount] of LINE_OFFSET_RAMP) {\n root.style.setProperty(`--studio-line-offset-${label}`, `color-mix(in oklch, color-mix(in oklch, var(--studio-line), var(--studio-fill) ${amount}%), var(--studio-offset-tint, var(--studio-secondary)) var(--studio-offset-tint-amount, 10%))`);\n }\n });\n onCleanup(() => {\n const root = document.documentElement;\n const d = doc();\n if (d?.variables) {\n for (const key of Object.keys(d.variables)) {\n root.style.removeProperty(key);\n }\n for (const pct of [10, 20, 30, 40, 50]) {\n root.style.removeProperty(`--studio-fill-offset-${pct}`);\n root.style.removeProperty(`--studio-line-offset-${pct}`);\n }\n }\n });\n function setVar(key, value) {\n handle.change(d => {\n if (!d.variables) d.variables = {};\n d.variables[key] = value;\n });\n }\n function setName(name) {\n handle.change(d => {\n d.name = name;\n });\n }\n function toggleMode() {\n handle.change(d => {\n d.mode = d.mode === \"dark\" ? \"light\" : \"dark\";\n });\n }\n function setCustomCss(css) {\n handle.change(d => {\n d.customCss = css;\n });\n }\n function resetToDefaults() {\n handle.change(d => {\n d.variables = {\n ...DEFAULT_VALUES\n };\n });\n }\n const [rootVars, setRootVars] = createSignal({});\n setTimeout(() => setRootVars(discoverRootVariables()), 0);\n function exportCss() {\n const d = doc();\n return generateThemeCss(d.name?.toLowerCase().replace(/\\s+/g, \"-\") || \"custom\", d.mode || \"light\", d.variables || {}, d.customCss);\n }\n const customCssPreviewEl = document.createElement(\"style\");\n element.appendChild(customCssPreviewEl);\n createEffect(() => {\n if (!livePreview()) {\n customCssPreviewEl.textContent = \"\";\n return;\n }\n customCssPreviewEl.textContent = doc()?.customCss || \"\";\n });\n onCleanup(() => customCssPreviewEl.remove());\n function copyToClipboard() {\n navigator.clipboard.writeText(exportCss());\n }\n const style = document.createElement(\"style\");\n style.textContent = `\n\t\t.theme-editor {\n\t\t\tpadding: var(--studio-space-md, 1rem);\n\t\t\tfont-family: var(--studio-family-sans, system-ui, sans-serif);\n\t\t\tcolor: var(--studio-line, black);\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\tgap: var(--studio-space-md, 1rem);\n\t\t\theight: 100%;\n\t\t\toverflow-y: auto;\n\t\t}\n\t\t.theme-editor .header {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: space-between;\n\t\t\tgap: var(--studio-space-sm, 0.5rem);\n\t\t}\n\t\t.theme-editor .name-input {\n\t\t\tfont-size: 1.25rem;\n\t\t\tfont-weight: 600;\n\t\t\tborder: none;\n\t\t\tborder-bottom: 2px solid transparent;\n\t\t\tbackground: none;\n\t\t\tcolor: inherit;\n\t\t\tfont-family: inherit;\n\t\t\tpadding: var(--studio-space-2xs, 0.25rem) 0;\n\t\t\toutline: none;\n\t\t\tflex: 1;\n\t\t\tmin-width: 0;\n\t\t}\n\t\t.theme-editor .name-input:focus {\n\t\t\tborder-bottom-color: var(--studio-primary-line, var(--studio-primary, #35f7ca));\n\t\t}\n\t\t.theme-editor .toolbar {\n\t\t\tdisplay: flex;\n\t\t\tgap: var(--studio-space-xs, 0.375rem);\n\t\t\talign-items: center;\n\t\t}\n\t\t.theme-editor .btn {\n\t\t\tpadding: var(--studio-space-2xs, 0.25rem) var(--studio-space-sm, 0.5rem);\n\t\t\tborder-radius: var(--studio-radius-sm, 4px);\n\t\t\tborder: 1px solid color-mix(in oklch, var(--studio-line, black), transparent 80%);\n\t\t\tbackground: var(--studio-fill, white);\n\t\t\tcolor: var(--studio-line, black);\n\t\t\tfont-size: 0.8rem;\n\t\t\tfont-family: inherit;\n\t\t\tcursor: pointer;\n\t\t}\n\t\t.theme-editor .btn:hover {\n\t\t\tbackground: color-mix(in oklch, var(--studio-fill, white), var(--studio-line, black) 5%);\n\t\t}\n\t\t.theme-editor .btn[data-active] {\n\t\t\tbackground: var(--studio-primary-fill, var(--studio-primary, #35f7ca));\n\t\t\tborder-color: var(--studio-primary-line, var(--studio-primary, #35f7ca));\n\t\t\tcolor: var(--studio-primary-line, var(--studio-fill, white));\n\t\t}\n\t\t.theme-editor .mode-toggle {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tgap: var(--studio-space-2xs, 0.25rem);\n\t\t\tpadding: var(--studio-space-2xs, 0.25rem) var(--studio-space-sm, 0.5rem);\n\t\t\tborder-radius: var(--studio-radius-sm, 4px);\n\t\t\tborder: 1px solid color-mix(in oklch, var(--studio-line, black), transparent 80%);\n\t\t\tbackground: var(--studio-fill, white);\n\t\t\tcolor: var(--studio-line, black);\n\t\t\tfont-size: 0.8rem;\n\t\t\tfont-family: inherit;\n\t\t\tcursor: pointer;\n\t\t}\n\t\t.theme-editor .mode-toggle:hover {\n\t\t\tbackground: color-mix(in oklch, var(--studio-fill, white), var(--studio-line, black) 5%);\n\t\t}\n\t\t.theme-editor .mode-icon {\n\t\t\tfont-size: 1em;\n\t\t\tline-height: 1;\n\t\t}\n\t\t.theme-editor .group {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\tgap: var(--studio-space-xs, 0.375rem);\n\t\t}\n\t\t.theme-editor .group-title {\n\t\t\tfont-size: 0.75rem;\n\t\t\tfont-weight: 600;\n\t\t\ttext-transform: uppercase;\n\t\t\tletter-spacing: 0.05em;\n\t\t\tcolor: color-mix(in oklch, var(--studio-line, black), transparent 50%);\n\t\t}\n\t\t.theme-editor .var-row {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tgap: var(--studio-space-sm, 0.5rem);\n\t\t}\n\t\t.theme-editor .var-label {\n\t\t\tfont-size: 0.8rem;\n\t\t\tmin-width: 8rem;\n\t\t\tcolor: color-mix(in oklch, var(--studio-line, black), transparent 30%);\n\t\t}\n\t\t.theme-editor .color-input {\n\t\t\twidth: 2.5rem;\n\t\t\theight: 2rem;\n\t\t\tborder: 1px solid color-mix(in oklch, var(--studio-line, black), transparent 80%);\n\t\t\tborder-radius: var(--studio-radius-sm, 4px);\n\t\t\tpadding: 2px;\n\t\t\tcursor: pointer;\n\t\t\tbackground: none;\n\t\t}\n\t\t.theme-editor .text-input {\n\t\t\tflex: 1;\n\t\t\tmin-width: 0;\n\t\t\tpadding: var(--studio-space-2xs, 0.25rem) var(--studio-space-xs, 0.375rem);\n\t\t\tborder: 1px solid color-mix(in oklch, var(--studio-line, black), transparent 80%);\n\t\t\tborder-radius: var(--studio-radius-sm, 4px);\n\t\t\tbackground: var(--studio-fill, white);\n\t\t\tcolor: var(--studio-line, black);\n\t\t\tfont-size: 0.8rem;\n\t\t\tfont-family: inherit;\n\t\t}\n\t\t.theme-editor .text-input:focus {\n\t\t\toutline: 2px solid var(--studio-primary-line, var(--studio-primary, #35f7ca));\n\t\t\toutline-offset: 1px;\n\t\t}\n\t\t.theme-editor .hex-display {\n\t\t\tfont-family: var(--studio-family-code, ui-monospace, monospace);\n\t\t\tfont-size: 0.75rem;\n\t\t\tcolor: color-mix(in oklch, var(--studio-line, black), transparent 50%);\n\t\t\tmin-width: 5rem;\n\t\t}\n\t\t.theme-editor .preview {\n\t\t\tborder: 1px solid color-mix(in oklch, var(--studio-line, black), transparent 80%);\n\t\t\tborder-radius: var(--studio-radius-md, 8px);\n\t\t\tpadding: var(--studio-space-md, 1rem);\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\tgap: var(--studio-space-sm, 0.5rem);\n\t\t}\n\t\t.theme-editor .preview-title {\n\t\t\tfont-size: 0.75rem;\n\t\t\tfont-weight: 600;\n\t\t\ttext-transform: uppercase;\n\t\t\tletter-spacing: 0.05em;\n\t\t\tcolor: color-mix(in oklch, var(--studio-line, black), transparent 50%);\n\t\t\tmargin-bottom: var(--studio-space-2xs, 0.25rem);\n\t\t}\n\t\t.theme-editor .swatch-row {\n\t\t\tdisplay: flex;\n\t\t\tgap: var(--studio-space-2xs, 0.25rem);\n\t\t\tflex-wrap: wrap;\n\t\t}\n\t\t.theme-editor .swatch {\n\t\t\twidth: 2rem;\n\t\t\theight: 2rem;\n\t\t\tborder-radius: var(--studio-radius-sm, 4px);\n\t\t\tborder: 1px solid color-mix(in oklch, var(--studio-line, black), transparent 85%);\n\t\t}\n\t\t.theme-editor .offset-strip {\n\t\t\tdisplay: flex;\n\t\t\theight: 1.5rem;\n\t\t\tborder-radius: var(--studio-radius-sm, 4px);\n\t\t\toverflow: hidden;\n\t\t\tborder: 1px solid color-mix(in oklch, var(--studio-line, black), transparent 85%);\n\t\t}\n\t\t.theme-editor .offset-strip > div {\n\t\t\tflex: 1;\n\t\t}\n\t\t.theme-editor .export-area {\n\t\t\tfont-family: var(--studio-family-code, ui-monospace, monospace);\n\t\t\tfont-size: 0.7rem;\n\t\t\twhite-space: pre;\n\t\t\toverflow-x: auto;\n\t\t\tbackground: color-mix(in oklch, var(--studio-fill, white), var(--studio-line, black) 3%);\n\t\t\tborder: 1px solid color-mix(in oklch, var(--studio-line, black), transparent 85%);\n\t\t\tborder-radius: var(--studio-radius-sm, 4px);\n\t\t\tpadding: var(--studio-space-sm, 0.5rem);\n\t\t\tmax-height: 200px;\n\t\t\toverflow-y: auto;\n\t\t}\n\t\t.theme-editor .css-textarea {\n\t\t\tfont-family: var(--studio-family-code, ui-monospace, monospace);\n\t\t\tfont-size: 0.8rem;\n\t\t\tmin-height: 6rem;\n\t\t\tresize: vertical;\n\t\t\tpadding: var(--studio-space-sm, 0.5rem);\n\t\t\tborder: 1px solid color-mix(in oklch, var(--studio-line, black), transparent 80%);\n\t\t\tborder-radius: var(--studio-radius-sm, 4px);\n\t\t\tbackground: var(--studio-fill, white);\n\t\t\tcolor: var(--studio-line, black);\n\t\t\ttab-size: 2;\n\t\t\twhite-space: pre;\n\t\t\toverflow-x: auto;\n\t\t}\n\t\t.theme-editor .css-textarea:focus {\n\t\t\toutline: 2px solid var(--studio-primary-line, var(--studio-primary, #35f7ca));\n\t\t\toutline-offset: 1px;\n\t\t}\n\t\t.theme-editor .discovered-label {\n\t\t\tfont-family: var(--studio-family-code, ui-monospace, monospace);\n\t\t\tfont-size: 0.75rem;\n\t\t\tmin-width: 8rem;\n\t\t\tcolor: color-mix(in oklch, var(--studio-line, black), transparent 30%);\n\t\t\tword-break: break-all;\n\t\t}\n\t\t.theme-editor .btn-sm {\n\t\t\tpadding: 2px var(--studio-space-xs, 0.375rem);\n\t\t\tborder-radius: var(--studio-radius-sm, 4px);\n\t\t\tborder: 1px solid color-mix(in oklch, var(--studio-line, black), transparent 80%);\n\t\t\tbackground: var(--studio-fill, white);\n\t\t\tcolor: var(--studio-line, black);\n\t\t\tfont-size: 0.7rem;\n\t\t\tfont-family: inherit;\n\t\t\tcursor: pointer;\n\t\t}\n\t\t.theme-editor .btn-sm:hover {\n\t\t\tbackground: color-mix(in oklch, var(--studio-fill, white), var(--studio-line, black) 5%);\n\t\t}\n\t`;\n element.appendChild(style);\n const dispose = render(() => {\n const vars = () => doc()?.variables || {};\n return (() => {\n var _el$ = _tmpl$2(),\n _el$2 = _el$.firstChild,\n _el$3 = _el$2.firstChild,\n _el$4 = _el$3.nextSibling,\n _el$5 = _el$4.firstChild,\n _el$6 = _el$5.firstChild,\n _el$7 = _el$5.nextSibling,\n _el$8 = _el$7.nextSibling,\n _el$9 = _el$8.nextSibling,\n _el$0 = _el$2.nextSibling,\n _el$1 = _el$0.firstChild,\n _el$10 = _el$1.nextSibling,\n _el$11 = _el$10.firstChild,\n _el$12 = _el$11.nextSibling,\n _el$13 = _el$12.nextSibling,\n _el$14 = _el$13.nextSibling,\n _el$15 = _el$14.nextSibling,\n _el$16 = _el$15.nextSibling,\n _el$17 = _el$16.nextSibling,\n _el$18 = _el$17.nextSibling,\n _el$19 = _el$10.nextSibling,\n _el$20 = _el$19.nextSibling,\n _el$21 = _el$20.firstChild,\n _el$22 = _el$21.nextSibling,\n _el$23 = _el$22.nextSibling,\n _el$24 = _el$23.nextSibling,\n _el$25 = _el$24.nextSibling,\n _el$26 = _el$25.nextSibling,\n _el$27 = _el$20.nextSibling,\n _el$28 = _el$27.nextSibling,\n _el$29 = _el$28.firstChild,\n _el$30 = _el$29.nextSibling,\n _el$31 = _el$30.nextSibling,\n _el$32 = _el$31.nextSibling,\n _el$33 = _el$32.nextSibling,\n _el$34 = _el$33.nextSibling,\n _el$37 = _el$0.nextSibling,\n _el$38 = _el$37.firstChild,\n _el$39 = _el$38.nextSibling,\n _el$40 = _el$37.nextSibling,\n _el$41 = _el$40.firstChild,\n _el$42 = _el$41.nextSibling;\n _el$3.$$input = e => setName(e.currentTarget.value);\n _el$5.$$click = toggleMode;\n _$insert(_el$6, () => (doc()?.mode || \"light\") === \"dark\" ? \"\\u263E\" : \"\\u2600\");\n _$insert(_el$5, () => (doc()?.mode || \"light\") === \"dark\" ? \"Dark\" : \"Light\", null);\n _el$7.$$click = () => setLivePreview(!livePreview());\n _$insert(_el$7, () => livePreview() ? \"Live\" : \"Paused\");\n _el$8.$$click = resetToDefaults;\n _el$9.$$click = copyToClipboard;\n _$insert(_el$, _$createComponent(For, {\n each: EDITABLE_VARIABLES,\n children: group => (() => {\n var _el$43 = _tmpl$3(),\n _el$44 = _el$43.firstChild;\n _$insert(_el$44, () => group.group);\n _$insert(_el$43, _$createComponent(For, {\n get each() {\n return group.vars;\n },\n children: v => (() => {\n var _el$45 = _tmpl$7(),\n _el$46 = _el$45.firstChild;\n _$insert(_el$46, () => v.label);\n _$insert(_el$45, _$createComponent(Show, {\n get when() {\n return v.type === \"color\";\n },\n get children() {\n return [(() => {\n var _el$47 = _tmpl$4();\n _el$47.$$input = e => setVar(v.key, e.currentTarget.value);\n _$effect(() => _el$47.value = vars()[v.key] || DEFAULT_VALUES[v.key] || \"#000000\");\n return _el$47;\n })(), (() => {\n var _el$48 = _tmpl$5();\n _$insert(_el$48, () => vars()[v.key] || DEFAULT_VALUES[v.key]);\n return _el$48;\n })()];\n }\n }), null);\n _$insert(_el$45, _$createComponent(Show, {\n get when() {\n return v.type === \"text\";\n },\n get children() {\n var _el$49 = _tmpl$6();\n _el$49.$$input = e => setVar(v.key, e.currentTarget.value);\n _$effect(() => _el$49.value = vars()[v.key] || DEFAULT_VALUES[v.key] || \"\");\n return _el$49;\n }\n }), null);\n return _el$45;\n })()\n }), null);\n return _el$43;\n })()\n }), _el$37);\n _$insert(_el$, _$createComponent(Show, {\n get when() {\n return Object.keys(rootVars()).length > 0;\n },\n get children() {\n var _el$35 = _tmpl$(),\n _el$36 = _el$35.firstChild;\n _$insert(_el$35, _$createComponent(For, {\n get each() {\n return Object.entries(rootVars());\n },\n children: ([key, defaultValue]) => (() => {\n var _el$50 = _tmpl$9(),\n _el$51 = _el$50.firstChild;\n _$insert(_el$51, key);\n _$insert(_el$50, _$createComponent(Show, {\n get when() {\n return looksLikeColor(vars()[key] || defaultValue);\n },\n get children() {\n return [(() => {\n var _el$52 = _tmpl$4();\n _el$52.$$input = e => setVar(key, e.currentTarget.value);\n _$effect(() => _el$52.value = vars()[key] || defaultValue);\n return _el$52;\n })(), (() => {\n var _el$53 = _tmpl$5();\n _$insert(_el$53, () => vars()[key] || defaultValue);\n return _el$53;\n })()];\n }\n }), null);\n _$insert(_el$50, _$createComponent(Show, {\n get when() {\n return !looksLikeColor(vars()[key] || defaultValue);\n },\n get children() {\n var _el$54 = _tmpl$6();\n _el$54.$$input = e => setVar(key, e.currentTarget.value);\n _$effect(() => _el$54.value = vars()[key] || defaultValue);\n return _el$54;\n }\n }), null);\n _$insert(_el$50, _$createComponent(Show, {\n get when() {\n return !vars()[key];\n },\n get children() {\n var _el$55 = _tmpl$8();\n _el$55.$$click = () => setVar(key, defaultValue);\n return _el$55;\n }\n }), null);\n return _el$50;\n })()\n }), null);\n return _el$35;\n }\n }), _el$37);\n _el$39.$$input = e => setCustomCss(e.currentTarget.value);\n _$insert(_el$42, exportCss);\n _$effect(_p$ => {\n var _v$ = livePreview() ? \"\" : void 0,\n _v$2 = vars()[\"--studio-fill\"] || \"#fff\",\n _v$3 = vars()[\"--studio-line\"] || \"#000\",\n _v$4 = vars()[\"--studio-primary\"] || \"#35f7ca\",\n _v$5 = vars()[\"--studio-secondary\"] || \"#33ccf8\",\n _v$6 = vars()[\"--studio-danger\"] || \"#ff6a90\",\n _v$7 = vars()[\"--studio-warning\"] || \"#f8c43b\",\n _v$8 = vars()[\"--studio-added\"] || \"#35f7ca\",\n _v$9 = vars()[\"--studio-link\"] || \"#36e\",\n _v$0 = vars()[\"--studio-fill\"] || \"#fff\",\n _v$1 = `color-mix(in oklch, ${vars()[\"--studio-fill\"] || \"#fff\"}, ${vars()[\"--studio-line\"] || \"#000\"} 10%)`,\n _v$10 = `color-mix(in oklch, ${vars()[\"--studio-fill\"] || \"#fff\"}, ${vars()[\"--studio-line\"] || \"#000\"} 20%)`,\n _v$11 = `color-mix(in oklch, ${vars()[\"--studio-fill\"] || \"#fff\"}, ${vars()[\"--studio-line\"] || \"#000\"} 30%)`,\n _v$12 = `color-mix(in oklch, ${vars()[\"--studio-fill\"] || \"#fff\"}, ${vars()[\"--studio-line\"] || \"#000\"} 40%)`,\n _v$13 = `color-mix(in oklch, ${vars()[\"--studio-fill\"] || \"#fff\"}, ${vars()[\"--studio-line\"] || \"#000\"} 50%)`,\n _v$14 = vars()[\"--studio-line\"] || \"#000\",\n _v$15 = `color-mix(in oklch, ${vars()[\"--studio-line\"] || \"#000\"}, ${vars()[\"--studio-fill\"] || \"#fff\"} 10%)`,\n _v$16 = `color-mix(in oklch, ${vars()[\"--studio-line\"] || \"#000\"}, ${vars()[\"--studio-fill\"] || \"#fff\"} 20%)`,\n _v$17 = `color-mix(in oklch, ${vars()[\"--studio-line\"] || \"#000\"}, ${vars()[\"--studio-fill\"] || \"#fff\"} 30%)`,\n _v$18 = `color-mix(in oklch, ${vars()[\"--studio-line\"] || \"#000\"}, ${vars()[\"--studio-fill\"] || \"#fff\"} 40%)`,\n _v$19 = `color-mix(in oklch, ${vars()[\"--studio-line\"] || \"#000\"}, ${vars()[\"--studio-fill\"] || \"#fff\"} 50%)`;\n _v$ !== _p$.e && _$setAttribute(_el$7, \"data-active\", _p$.e = _v$);\n _v$2 !== _p$.t && _$setStyleProperty(_el$11, \"background\", _p$.t = _v$2);\n _v$3 !== _p$.a && _$setStyleProperty(_el$12, \"background\", _p$.a = _v$3);\n _v$4 !== _p$.o && _$setStyleProperty(_el$13, \"background\", _p$.o = _v$4);\n _v$5 !== _p$.i && _$setStyleProperty(_el$14, \"background\", _p$.i = _v$5);\n _v$6 !== _p$.n && _$setStyleProperty(_el$15, \"background\", _p$.n = _v$6);\n _v$7 !== _p$.s && _$setStyleProperty(_el$16, \"background\", _p$.s = _v$7);\n _v$8 !== _p$.h && _$setStyleProperty(_el$17, \"background\", _p$.h = _v$8);\n _v$9 !== _p$.r && _$setStyleProperty(_el$18, \"background\", _p$.r = _v$9);\n _v$0 !== _p$.d && _$setStyleProperty(_el$21, \"background\", _p$.d = _v$0);\n _v$1 !== _p$.l && _$setStyleProperty(_el$22, \"background\", _p$.l = _v$1);\n _v$10 !== _p$.u && _$setStyleProperty(_el$23, \"background\", _p$.u = _v$10);\n _v$11 !== _p$.c && _$setStyleProperty(_el$24, \"background\", _p$.c = _v$11);\n _v$12 !== _p$.w && _$setStyleProperty(_el$25, \"background\", _p$.w = _v$12);\n _v$13 !== _p$.m && _$setStyleProperty(_el$26, \"background\", _p$.m = _v$13);\n _v$14 !== _p$.f && _$setStyleProperty(_el$29, \"background\", _p$.f = _v$14);\n _v$15 !== _p$.y && _$setStyleProperty(_el$30, \"background\", _p$.y = _v$15);\n _v$16 !== _p$.g && _$setStyleProperty(_el$31, \"background\", _p$.g = _v$16);\n _v$17 !== _p$.p && _$setStyleProperty(_el$32, \"background\", _p$.p = _v$17);\n _v$18 !== _p$.b && _$setStyleProperty(_el$33, \"background\", _p$.b = _v$18);\n _v$19 !== _p$.T && _$setStyleProperty(_el$34, \"background\", _p$.T = _v$19);\n return _p$;\n }, {\n e: undefined,\n t: undefined,\n a: undefined,\n o: undefined,\n i: undefined,\n n: undefined,\n s: undefined,\n h: undefined,\n r: undefined,\n d: undefined,\n l: undefined,\n u: undefined,\n c: undefined,\n w: undefined,\n m: undefined,\n f: undefined,\n y: undefined,\n g: undefined,\n p: undefined,\n b: undefined,\n T: undefined\n });\n _$effect(() => _el$3.value = doc()?.name || \"\");\n _$effect(() => _el$39.value = doc()?.customCss || \"\");\n return _el$;\n })();\n }, element);\n return () => {\n handle.off(\"change\", onChange);\n const root = document.documentElement;\n const d = doc();\n if (d?.variables) {\n for (const key of Object.keys(d.variables)) {\n root.style.removeProperty(key);\n }\n for (const pct of [10, 20, 30, 40, 50]) {\n root.style.removeProperty(`--studio-fill-offset-${pct}`);\n root.style.removeProperty(`--studio-line-offset-${pct}`);\n }\n }\n dispose();\n style.remove();\n };\n}\n_$delegateEvents([\"input\", \"click\"]);"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["import { template as _$template } from \"solid-js/web\";\nimport { delegateEvents as _$delegateEvents } from \"solid-js/web\";\nimport { setStyleProperty as _$setStyleProperty } from \"solid-js/web\";\nimport { setAttribute as _$setAttribute } from \"solid-js/web\";\nimport { createComponent as _$createComponent } from \"solid-js/web\";\nimport { insert as _$insert } from \"solid-js/web\";\nimport { memo as _$memo } from \"solid-js/web\";\nimport { effect as _$effect } from \"solid-js/web\";\nvar _tmpl$ = /*#__PURE__*/_$template(`<div class=group><div class=group-title>Discovered :root variables`),\n _tmpl$2 = /*#__PURE__*/_$template(`<div class=theme-editor><div class=header><input class=name-input placeholder=\"Theme name\"><div class=toolbar><button class=mode-toggle><span class=mode-icon></span></button><button class=btn></button><button class=btn>Reset</button><button class=btn>Copy CSS</button></div></div><div class=preview><div class=preview-title>Preview</div><div class=swatch-row><div class=swatch></div><div class=swatch></div><div class=swatch></div><div class=swatch></div><div class=swatch></div><div class=swatch></div><div class=swatch></div><div class=swatch></div></div><div class=preview-title style=margin-top:0.5rem>Fill offsets</div><div class=offset-strip><div></div><div></div><div></div><div></div><div></div><div></div></div><div class=preview-title>Line offsets</div><div class=offset-strip><div></div><div></div><div></div><div></div><div></div><div></div></div></div><div class=group><div class=group-title>Custom CSS</div><textarea class=css-textarea placeholder=\"/* Additional CSS rules */\\n[theme="my-theme"] .some-element \\{\\n color: red;\\n}\"></textarea></div><div class=group><div class=group-title>Generated CSS</div><pre class=export-area>`),\n _tmpl$3 = /*#__PURE__*/_$template(`<div class=group><div class=group-title>`),\n _tmpl$4 = /*#__PURE__*/_$template(`<input class=color-input type=color>`),\n _tmpl$5 = /*#__PURE__*/_$template(`<span class=hex-display>`),\n _tmpl$6 = /*#__PURE__*/_$template(`<input class=text-input type=text>`),\n _tmpl$7 = /*#__PURE__*/_$template(`<div class=var-row><span class=var-label>`),\n _tmpl$8 = /*#__PURE__*/_$template(`<button class=btn-sm>Override`),\n _tmpl$9 = /*#__PURE__*/_$template(`<div class=var-row><span class=discovered-label>`);\nimport { render } from \"solid-js/web\";\nimport { createSignal, createEffect, For, onCleanup, Show } from \"solid-js\";\nimport { EDITABLE_VARIABLES, DEFAULT_VALUES } from \"./theme-editor-datatype.ts\";\nconst FILL_OFFSET_RAMP = [[10, 0], [20, 7], [30, 18], [40, 32], [50, 50]];\nconst LINE_OFFSET_RAMP = [[10, 8], [20, 18], [30, 33], [40, 52], [50, 76]];\nexport function generateThemeCss(name, mode, vars, customCss) {\n let css = `[theme=\"${name}\"] {\n`;\n css += `\tcolor-scheme: ${mode};\n`;\n for (const [key, value] of Object.entries(vars)) {\n if (!value?.trim()) continue;\n css += `\t${key}: ${value};\n`;\n }\n for (const [label, amount] of FILL_OFFSET_RAMP) {\n css += `\t--studio-fill-offset-${label}: color-mix(in oklch, color-mix(in oklch, var(--studio-fill), var(--studio-line) ${amount}%), var(--studio-offset-tint, var(--studio-secondary)) var(--studio-offset-tint-amount, 10%));\n`;\n }\n for (const [label, amount] of LINE_OFFSET_RAMP) {\n css += `\t--studio-line-offset-${label}: color-mix(in oklch, color-mix(in oklch, var(--studio-line), var(--studio-fill) ${amount}%), var(--studio-offset-tint, var(--studio-secondary)) var(--studio-offset-tint-amount, 10%));\n`;\n }\n css += \"}\\n\";\n if (customCss?.trim()) {\n css += `\n/* Custom CSS */\n${customCss}\n`;\n }\n return css;\n}\nfunction discoverRootVariables() {\n const knownKeys = new Set(EDITABLE_VARIABLES.flatMap(g => g.vars.map(v => v.key)));\n for (const pct of [10, 20, 30, 40, 50]) {\n knownKeys.add(`--studio-fill-offset-${pct}`);\n knownKeys.add(`--studio-line-offset-${pct}`);\n }\n const found = {};\n try {\n for (const sheet of document.styleSheets) {\n try {\n for (const rule of sheet.cssRules) {\n if (!(rule instanceof CSSStyleRule)) continue;\n if (rule.selectorText !== \":root\") continue;\n for (let i = 0; i < rule.style.length; i++) {\n const prop = rule.style[i];\n if (!prop.startsWith(\"--\")) continue;\n if (knownKeys.has(prop)) continue;\n found[prop] = rule.style.getPropertyValue(prop).trim();\n }\n }\n } catch {}\n }\n } catch {}\n return found;\n}\nfunction looksLikeColor(value) {\n const v = value.trim().toLowerCase();\n return v.startsWith(\"#\") || v.startsWith(\"rgb\") || v.startsWith(\"hsl\") || v.startsWith(\"oklch\") || v.startsWith(\"oklab\") || v.startsWith(\"lch\") || v.startsWith(\"lab\") || v.startsWith(\"color(\") || v.startsWith(\"color-mix(\");\n}\nexport function ThemeEditorTool(handle, element) {\n const [doc, setDoc] = createSignal(handle.doc());\n const onChange = () => setDoc(handle.doc());\n handle.on(\"change\", onChange);\n const [livePreview, setLivePreview] = createSignal(true);\n createEffect(() => {\n if (!livePreview()) return;\n const d = doc();\n if (!d?.variables) return;\n const root = document.documentElement;\n for (const [key, value] of Object.entries(d.variables)) {\n if (value?.trim()) root.style.setProperty(key, value);else root.style.removeProperty(key);\n }\n for (const [label, amount] of FILL_OFFSET_RAMP) {\n root.style.setProperty(`--studio-fill-offset-${label}`, `color-mix(in oklch, color-mix(in oklch, var(--studio-fill), var(--studio-line) ${amount}%), var(--studio-offset-tint, var(--studio-secondary)) var(--studio-offset-tint-amount, 10%))`);\n }\n for (const [label, amount] of LINE_OFFSET_RAMP) {\n root.style.setProperty(`--studio-line-offset-${label}`, `color-mix(in oklch, color-mix(in oklch, var(--studio-line), var(--studio-fill) ${amount}%), var(--studio-offset-tint, var(--studio-secondary)) var(--studio-offset-tint-amount, 10%))`);\n }\n });\n onCleanup(() => {\n const root = document.documentElement;\n const d = doc();\n if (d?.variables) {\n for (const key of Object.keys(d.variables)) {\n root.style.removeProperty(key);\n }\n for (const pct of [10, 20, 30, 40, 50]) {\n root.style.removeProperty(`--studio-fill-offset-${pct}`);\n root.style.removeProperty(`--studio-line-offset-${pct}`);\n }\n }\n });\n function setVar(key, value) {\n if (!value.trim()) {\n document.documentElement.style.removeProperty(key);\n handle.change(d => {\n if (d.variables) delete d.variables[key];\n });\n return;\n }\n handle.change(d => {\n if (!d.variables) d.variables = {};\n d.variables[key] = value;\n });\n }\n function setName(name) {\n handle.change(d => {\n d.name = name;\n });\n }\n function toggleMode() {\n handle.change(d => {\n d.mode = d.mode === \"dark\" ? \"light\" : \"dark\";\n });\n }\n function setCustomCss(css) {\n handle.change(d => {\n d.customCss = css;\n });\n }\n function resetToDefaults() {\n handle.change(d => {\n d.variables = {\n ...DEFAULT_VALUES\n };\n });\n }\n const [rootVars, setRootVars] = createSignal({});\n setTimeout(() => setRootVars(discoverRootVariables()), 0);\n function exportCss() {\n const d = doc();\n return generateThemeCss(d.name?.toLowerCase().replace(/\\s+/g, \"-\") || \"custom\", d.mode || \"light\", d.variables || {}, d.customCss);\n }\n const customCssPreviewEl = document.createElement(\"style\");\n element.appendChild(customCssPreviewEl);\n createEffect(() => {\n if (!livePreview()) {\n customCssPreviewEl.textContent = \"\";\n return;\n }\n customCssPreviewEl.textContent = doc()?.customCss || \"\";\n });\n onCleanup(() => customCssPreviewEl.remove());\n function copyToClipboard() {\n navigator.clipboard.writeText(exportCss());\n }\n const style = document.createElement(\"style\");\n style.textContent = `\n\t\t.theme-editor {\n\t\t\tpadding: var(--studio-space-md, 1rem);\n\t\t\tfont-family: var(--studio-family-sans, system-ui, sans-serif);\n\t\t\tcolor: var(--studio-line, black);\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\tgap: var(--studio-space-md, 1rem);\n\t\t\theight: 100%;\n\t\t\toverflow-y: auto;\n\t\t}\n\t\t.theme-editor .header {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: space-between;\n\t\t\tgap: var(--studio-space-sm, 0.5rem);\n\t\t}\n\t\t.theme-editor .name-input {\n\t\t\tfont-size: 1.25rem;\n\t\t\tfont-weight: 600;\n\t\t\tborder: none;\n\t\t\tborder-bottom: 2px solid transparent;\n\t\t\tbackground: none;\n\t\t\tcolor: inherit;\n\t\t\tfont-family: inherit;\n\t\t\tpadding: var(--studio-space-2xs, 0.25rem) 0;\n\t\t\toutline: none;\n\t\t\tflex: 1;\n\t\t\tmin-width: 0;\n\t\t}\n\t\t.theme-editor .name-input:focus {\n\t\t\tborder-bottom-color: var(--studio-primary-line, var(--studio-primary, #35f7ca));\n\t\t}\n\t\t.theme-editor .toolbar {\n\t\t\tdisplay: flex;\n\t\t\tgap: var(--studio-space-xs, 0.375rem);\n\t\t\talign-items: center;\n\t\t}\n\t\t.theme-editor .btn {\n\t\t\tpadding: var(--studio-space-2xs, 0.25rem) var(--studio-space-sm, 0.5rem);\n\t\t\tborder-radius: var(--studio-radius-sm, 4px);\n\t\t\tborder: var(--studio-border-width, 1px) var(--studio-border-style, solid) color-mix(in oklch, var(--studio-line, black), transparent 80%);\n\t\t\tbackground: var(--studio-fill, white);\n\t\t\tcolor: var(--studio-line, black);\n\t\t\tfont-size: 0.8rem;\n\t\t\tfont-family: inherit;\n\t\t\tcursor: var(--studio-cursor-pointer, pointer);\n\t\t}\n\t\t.theme-editor .btn:hover {\n\t\t\tbackground: var(--studio-hover-fill, color-mix(in oklch, var(--studio-fill, white), var(--studio-line, black) 5%));\n\t\t}\n\t\t.theme-editor .btn[data-active] {\n\t\t\tbackground: var(--studio-primary-fill, var(--studio-primary, #35f7ca));\n\t\t\tborder-color: var(--studio-primary-line, var(--studio-primary, #35f7ca));\n\t\t\tcolor: var(--studio-primary-line, var(--studio-fill, white));\n\t\t}\n\t\t.theme-editor .mode-toggle {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tgap: var(--studio-space-2xs, 0.25rem);\n\t\t\tpadding: var(--studio-space-2xs, 0.25rem) var(--studio-space-sm, 0.5rem);\n\t\t\tborder-radius: var(--studio-radius-sm, 4px);\n\t\t\tborder: var(--studio-border-width, 1px) var(--studio-border-style, solid) color-mix(in oklch, var(--studio-line, black), transparent 80%);\n\t\t\tbackground: var(--studio-fill, white);\n\t\t\tcolor: var(--studio-line, black);\n\t\t\tfont-size: 0.8rem;\n\t\t\tfont-family: inherit;\n\t\t\tcursor: var(--studio-cursor-pointer, pointer);\n\t\t}\n\t\t.theme-editor .mode-toggle:hover {\n\t\t\tbackground: var(--studio-hover-fill, color-mix(in oklch, var(--studio-fill, white), var(--studio-line, black) 5%));\n\t\t}\n\t\t.theme-editor .mode-icon {\n\t\t\tfont-size: 1em;\n\t\t\tline-height: 1;\n\t\t}\n\t\t.theme-editor .group {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\tgap: var(--studio-space-xs, 0.375rem);\n\t\t}\n\t\t.theme-editor .group-title {\n\t\t\tfont-size: 0.75rem;\n\t\t\tfont-weight: 600;\n\t\t\ttext-transform: uppercase;\n\t\t\tletter-spacing: var(--studio-chrome-letter-spacing, 0.05em);\n\t\t\tcolor: color-mix(in oklch, var(--studio-line, black), transparent 50%);\n\t\t}\n\t\t.theme-editor .var-row {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tgap: var(--studio-space-sm, 0.5rem);\n\t\t}\n\t\t.theme-editor .var-label {\n\t\t\tfont-size: 0.8rem;\n\t\t\tmin-width: 8rem;\n\t\t\tcolor: color-mix(in oklch, var(--studio-line, black), transparent 30%);\n\t\t}\n\t\t.theme-editor .color-input {\n\t\t\twidth: 2.5rem;\n\t\t\theight: 2rem;\n\t\t\tborder: var(--studio-border-width, 1px) var(--studio-border-style, solid) color-mix(in oklch, var(--studio-line, black), transparent 80%);\n\t\t\tborder-radius: var(--studio-radius-sm, 4px);\n\t\t\tpadding: 2px;\n\t\t\tcursor: var(--studio-cursor-pointer, pointer);\n\t\t\tbackground: none;\n\t\t}\n\t\t.theme-editor .text-input {\n\t\t\tflex: 1;\n\t\t\tmin-width: 0;\n\t\t\tpadding: var(--studio-space-2xs, 0.25rem) var(--studio-space-xs, 0.375rem);\n\t\t\tborder: var(--studio-border-width, 1px) var(--studio-border-style, solid) color-mix(in oklch, var(--studio-line, black), transparent 80%);\n\t\t\tborder-radius: var(--studio-radius-sm, 4px);\n\t\t\tbackground: var(--studio-fill, white);\n\t\t\tcolor: var(--studio-line, black);\n\t\t\tfont-size: 0.8rem;\n\t\t\tfont-family: inherit;\n\t\t}\n\t\t.theme-editor .text-input:focus {\n\t\t\toutline: var(--studio-focus-ring, 2px solid var(--studio-primary-line, var(--studio-primary, #35f7ca)));\n\t\t\toutline-offset: var(--studio-focus-ring-offset, 1px);\n\t\t}\n\t\t.theme-editor .hex-display {\n\t\t\tfont-family: var(--studio-family-code, ui-monospace, monospace);\n\t\t\tfont-size: 0.75rem;\n\t\t\tcolor: color-mix(in oklch, var(--studio-line, black), transparent 50%);\n\t\t\tmin-width: 5rem;\n\t\t}\n\t\t.theme-editor .preview {\n\t\t\tborder: var(--studio-border-width, 1px) var(--studio-border-style, solid) color-mix(in oklch, var(--studio-line, black), transparent 80%);\n\t\t\tborder-radius: var(--studio-radius-md, 8px);\n\t\t\tpadding: var(--studio-space-md, 1rem);\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\tgap: var(--studio-space-sm, 0.5rem);\n\t\t}\n\t\t.theme-editor .preview-title {\n\t\t\tfont-size: 0.75rem;\n\t\t\tfont-weight: 600;\n\t\t\ttext-transform: uppercase;\n\t\t\tletter-spacing: var(--studio-chrome-letter-spacing, 0.05em);\n\t\t\tcolor: color-mix(in oklch, var(--studio-line, black), transparent 50%);\n\t\t\tmargin-bottom: var(--studio-space-2xs, 0.25rem);\n\t\t}\n\t\t.theme-editor .swatch-row {\n\t\t\tdisplay: flex;\n\t\t\tgap: var(--studio-space-2xs, 0.25rem);\n\t\t\tflex-wrap: wrap;\n\t\t}\n\t\t.theme-editor .swatch {\n\t\t\twidth: 2rem;\n\t\t\theight: 2rem;\n\t\t\tborder-radius: var(--studio-radius-sm, 4px);\n\t\t\tborder: var(--studio-border-width, 1px) var(--studio-border-style, solid) color-mix(in oklch, var(--studio-line, black), transparent 85%);\n\t\t}\n\t\t.theme-editor .offset-strip {\n\t\t\tdisplay: flex;\n\t\t\theight: 1.5rem;\n\t\t\tborder-radius: var(--studio-radius-sm, 4px);\n\t\t\toverflow: hidden;\n\t\t\tborder: var(--studio-border-width, 1px) var(--studio-border-style, solid) color-mix(in oklch, var(--studio-line, black), transparent 85%);\n\t\t}\n\t\t.theme-editor .offset-strip > div {\n\t\t\tflex: 1;\n\t\t}\n\t\t.theme-editor .export-area {\n\t\t\tfont-family: var(--studio-family-code, ui-monospace, monospace);\n\t\t\tfont-size: 0.7rem;\n\t\t\twhite-space: pre;\n\t\t\toverflow-x: auto;\n\t\t\tbackground: color-mix(in oklch, var(--studio-fill, white), var(--studio-line, black) 3%);\n\t\t\tborder: var(--studio-border-width, 1px) var(--studio-border-style, solid) color-mix(in oklch, var(--studio-line, black), transparent 85%);\n\t\t\tborder-radius: var(--studio-radius-sm, 4px);\n\t\t\tpadding: var(--studio-space-sm, 0.5rem);\n\t\t\tmax-height: 200px;\n\t\t\toverflow-y: auto;\n\t\t}\n\t\t.theme-editor .css-textarea {\n\t\t\tfont-family: var(--studio-family-code, ui-monospace, monospace);\n\t\t\tfont-size: 0.8rem;\n\t\t\tmin-height: 6rem;\n\t\t\tresize: vertical;\n\t\t\tpadding: var(--studio-space-sm, 0.5rem);\n\t\t\tborder: var(--studio-border-width, 1px) var(--studio-border-style, solid) color-mix(in oklch, var(--studio-line, black), transparent 80%);\n\t\t\tborder-radius: var(--studio-radius-sm, 4px);\n\t\t\tbackground: var(--studio-fill, white);\n\t\t\tcolor: var(--studio-line, black);\n\t\t\ttab-size: 2;\n\t\t\twhite-space: pre;\n\t\t\toverflow-x: auto;\n\t\t}\n\t\t.theme-editor .css-textarea:focus {\n\t\t\toutline: var(--studio-focus-ring, 2px solid var(--studio-primary-line, var(--studio-primary, #35f7ca)));\n\t\t\toutline-offset: var(--studio-focus-ring-offset, 1px);\n\t\t}\n\t\t.theme-editor .discovered-label {\n\t\t\tfont-family: var(--studio-family-code, ui-monospace, monospace);\n\t\t\tfont-size: 0.75rem;\n\t\t\tmin-width: 8rem;\n\t\t\tcolor: color-mix(in oklch, var(--studio-line, black), transparent 30%);\n\t\t\tword-break: break-all;\n\t\t}\n\t\t.theme-editor .btn-sm {\n\t\t\tpadding: 2px var(--studio-space-xs, 0.375rem);\n\t\t\tborder-radius: var(--studio-radius-sm, 4px);\n\t\t\tborder: var(--studio-border-width, 1px) var(--studio-border-style, solid) color-mix(in oklch, var(--studio-line, black), transparent 80%);\n\t\t\tbackground: var(--studio-fill, white);\n\t\t\tcolor: var(--studio-line, black);\n\t\t\tfont-size: 0.7rem;\n\t\t\tfont-family: inherit;\n\t\t\tcursor: var(--studio-cursor-pointer, pointer);\n\t\t}\n\t\t.theme-editor .btn-sm:hover {\n\t\t\tbackground: var(--studio-hover-fill, color-mix(in oklch, var(--studio-fill, white), var(--studio-line, black) 5%));\n\t\t}\n\t`;\n element.appendChild(style);\n const dispose = render(() => {\n const vars = () => doc()?.variables || {};\n return (() => {\n var _el$ = _tmpl$2(),\n _el$2 = _el$.firstChild,\n _el$3 = _el$2.firstChild,\n _el$4 = _el$3.nextSibling,\n _el$5 = _el$4.firstChild,\n _el$6 = _el$5.firstChild,\n _el$7 = _el$5.nextSibling,\n _el$8 = _el$7.nextSibling,\n _el$9 = _el$8.nextSibling,\n _el$0 = _el$2.nextSibling,\n _el$1 = _el$0.firstChild,\n _el$10 = _el$1.nextSibling,\n _el$11 = _el$10.firstChild,\n _el$12 = _el$11.nextSibling,\n _el$13 = _el$12.nextSibling,\n _el$14 = _el$13.nextSibling,\n _el$15 = _el$14.nextSibling,\n _el$16 = _el$15.nextSibling,\n _el$17 = _el$16.nextSibling,\n _el$18 = _el$17.nextSibling,\n _el$19 = _el$10.nextSibling,\n _el$20 = _el$19.nextSibling,\n _el$21 = _el$20.firstChild,\n _el$22 = _el$21.nextSibling,\n _el$23 = _el$22.nextSibling,\n _el$24 = _el$23.nextSibling,\n _el$25 = _el$24.nextSibling,\n _el$26 = _el$25.nextSibling,\n _el$27 = _el$20.nextSibling,\n _el$28 = _el$27.nextSibling,\n _el$29 = _el$28.firstChild,\n _el$30 = _el$29.nextSibling,\n _el$31 = _el$30.nextSibling,\n _el$32 = _el$31.nextSibling,\n _el$33 = _el$32.nextSibling,\n _el$34 = _el$33.nextSibling,\n _el$37 = _el$0.nextSibling,\n _el$38 = _el$37.firstChild,\n _el$39 = _el$38.nextSibling,\n _el$40 = _el$37.nextSibling,\n _el$41 = _el$40.firstChild,\n _el$42 = _el$41.nextSibling;\n _el$3.$$input = e => setName(e.currentTarget.value);\n _el$5.$$click = toggleMode;\n _$insert(_el$6, () => (doc()?.mode || \"light\") === \"dark\" ? \"\\u263E\" : \"\\u2600\");\n _$insert(_el$5, () => (doc()?.mode || \"light\") === \"dark\" ? \"Dark\" : \"Light\", null);\n _el$7.$$click = () => setLivePreview(!livePreview());\n _$insert(_el$7, () => livePreview() ? \"Live\" : \"Paused\");\n _el$8.$$click = resetToDefaults;\n _el$9.$$click = copyToClipboard;\n _$insert(_el$, _$createComponent(For, {\n each: EDITABLE_VARIABLES,\n children: group => (() => {\n var _el$43 = _tmpl$3(),\n _el$44 = _el$43.firstChild;\n _$insert(_el$44, () => group.group);\n _$insert(_el$43, _$createComponent(For, {\n get each() {\n return group.vars;\n },\n children: v => (() => {\n var _el$45 = _tmpl$7(),\n _el$46 = _el$45.firstChild;\n _$insert(_el$46, () => v.label);\n _$insert(_el$45, _$createComponent(Show, {\n get when() {\n return v.type === \"color\";\n },\n get children() {\n return [(() => {\n var _el$47 = _tmpl$4();\n _el$47.$$input = e => setVar(v.key, e.currentTarget.value);\n _$effect(() => _el$47.value = vars()[v.key] || DEFAULT_VALUES[v.key] || \"#000000\");\n return _el$47;\n })(), (() => {\n var _el$48 = _tmpl$5();\n _$insert(_el$48, () => vars()[v.key] || DEFAULT_VALUES[v.key]);\n return _el$48;\n })()];\n }\n }), null);\n _$insert(_el$45, _$createComponent(Show, {\n get when() {\n return v.type === \"text\";\n },\n get children() {\n var _el$49 = _tmpl$6();\n _el$49.$$input = e => setVar(v.key, e.currentTarget.value);\n _$effect(() => _$setAttribute(_el$49, \"placeholder\", v.placeholder));\n _$effect(() => _el$49.value = vars()[v.key] || DEFAULT_VALUES[v.key] || \"\");\n return _el$49;\n }\n }), null);\n return _el$45;\n })()\n }), null);\n return _el$43;\n })()\n }), _el$37);\n _$insert(_el$, _$createComponent(Show, {\n get when() {\n return Object.keys(rootVars()).length > 0;\n },\n get children() {\n var _el$35 = _tmpl$(),\n _el$36 = _el$35.firstChild;\n _$insert(_el$35, _$createComponent(For, {\n get each() {\n return Object.entries(rootVars());\n },\n children: ([key, defaultValue]) => (() => {\n var _el$50 = _tmpl$9(),\n _el$51 = _el$50.firstChild;\n _$insert(_el$51, key);\n _$insert(_el$50, _$createComponent(Show, {\n get when() {\n return looksLikeColor(vars()[key] || defaultValue);\n },\n get children() {\n return [(() => {\n var _el$52 = _tmpl$4();\n _el$52.$$input = e => setVar(key, e.currentTarget.value);\n _$effect(() => _el$52.value = vars()[key] || defaultValue);\n return _el$52;\n })(), (() => {\n var _el$53 = _tmpl$5();\n _$insert(_el$53, () => vars()[key] || defaultValue);\n return _el$53;\n })()];\n }\n }), null);\n _$insert(_el$50, _$createComponent(Show, {\n get when() {\n return !looksLikeColor(vars()[key] || defaultValue);\n },\n get children() {\n var _el$54 = _tmpl$6();\n _el$54.$$input = e => setVar(key, e.currentTarget.value);\n _$effect(() => _el$54.value = vars()[key] || defaultValue);\n return _el$54;\n }\n }), null);\n _$insert(_el$50, _$createComponent(Show, {\n get when() {\n return !vars()[key];\n },\n get children() {\n var _el$55 = _tmpl$8();\n _el$55.$$click = () => setVar(key, defaultValue);\n return _el$55;\n }\n }), null);\n return _el$50;\n })()\n }), null);\n return _el$35;\n }\n }), _el$37);\n _el$39.$$input = e => setCustomCss(e.currentTarget.value);\n _$insert(_el$42, exportCss);\n _$effect(_p$ => {\n var _v$ = livePreview() ? \"\" : void 0,\n _v$2 = vars()[\"--studio-fill\"] || \"#fff\",\n _v$3 = vars()[\"--studio-line\"] || \"#000\",\n _v$4 = vars()[\"--studio-primary\"] || \"#35f7ca\",\n _v$5 = vars()[\"--studio-secondary\"] || \"#33ccf8\",\n _v$6 = vars()[\"--studio-danger\"] || \"#ff6a90\",\n _v$7 = vars()[\"--studio-warning\"] || \"#f8c43b\",\n _v$8 = vars()[\"--studio-added\"] || \"#35f7ca\",\n _v$9 = vars()[\"--studio-link\"] || \"#36e\",\n _v$0 = vars()[\"--studio-fill\"] || \"#fff\",\n _v$1 = `color-mix(in oklch, ${vars()[\"--studio-fill\"] || \"#fff\"}, ${vars()[\"--studio-line\"] || \"#000\"} 10%)`,\n _v$10 = `color-mix(in oklch, ${vars()[\"--studio-fill\"] || \"#fff\"}, ${vars()[\"--studio-line\"] || \"#000\"} 20%)`,\n _v$11 = `color-mix(in oklch, ${vars()[\"--studio-fill\"] || \"#fff\"}, ${vars()[\"--studio-line\"] || \"#000\"} 30%)`,\n _v$12 = `color-mix(in oklch, ${vars()[\"--studio-fill\"] || \"#fff\"}, ${vars()[\"--studio-line\"] || \"#000\"} 40%)`,\n _v$13 = `color-mix(in oklch, ${vars()[\"--studio-fill\"] || \"#fff\"}, ${vars()[\"--studio-line\"] || \"#000\"} 50%)`,\n _v$14 = vars()[\"--studio-line\"] || \"#000\",\n _v$15 = `color-mix(in oklch, ${vars()[\"--studio-line\"] || \"#000\"}, ${vars()[\"--studio-fill\"] || \"#fff\"} 10%)`,\n _v$16 = `color-mix(in oklch, ${vars()[\"--studio-line\"] || \"#000\"}, ${vars()[\"--studio-fill\"] || \"#fff\"} 20%)`,\n _v$17 = `color-mix(in oklch, ${vars()[\"--studio-line\"] || \"#000\"}, ${vars()[\"--studio-fill\"] || \"#fff\"} 30%)`,\n _v$18 = `color-mix(in oklch, ${vars()[\"--studio-line\"] || \"#000\"}, ${vars()[\"--studio-fill\"] || \"#fff\"} 40%)`,\n _v$19 = `color-mix(in oklch, ${vars()[\"--studio-line\"] || \"#000\"}, ${vars()[\"--studio-fill\"] || \"#fff\"} 50%)`;\n _v$ !== _p$.e && _$setAttribute(_el$7, \"data-active\", _p$.e = _v$);\n _v$2 !== _p$.t && _$setStyleProperty(_el$11, \"background\", _p$.t = _v$2);\n _v$3 !== _p$.a && _$setStyleProperty(_el$12, \"background\", _p$.a = _v$3);\n _v$4 !== _p$.o && _$setStyleProperty(_el$13, \"background\", _p$.o = _v$4);\n _v$5 !== _p$.i && _$setStyleProperty(_el$14, \"background\", _p$.i = _v$5);\n _v$6 !== _p$.n && _$setStyleProperty(_el$15, \"background\", _p$.n = _v$6);\n _v$7 !== _p$.s && _$setStyleProperty(_el$16, \"background\", _p$.s = _v$7);\n _v$8 !== _p$.h && _$setStyleProperty(_el$17, \"background\", _p$.h = _v$8);\n _v$9 !== _p$.r && _$setStyleProperty(_el$18, \"background\", _p$.r = _v$9);\n _v$0 !== _p$.d && _$setStyleProperty(_el$21, \"background\", _p$.d = _v$0);\n _v$1 !== _p$.l && _$setStyleProperty(_el$22, \"background\", _p$.l = _v$1);\n _v$10 !== _p$.u && _$setStyleProperty(_el$23, \"background\", _p$.u = _v$10);\n _v$11 !== _p$.c && _$setStyleProperty(_el$24, \"background\", _p$.c = _v$11);\n _v$12 !== _p$.w && _$setStyleProperty(_el$25, \"background\", _p$.w = _v$12);\n _v$13 !== _p$.m && _$setStyleProperty(_el$26, \"background\", _p$.m = _v$13);\n _v$14 !== _p$.f && _$setStyleProperty(_el$29, \"background\", _p$.f = _v$14);\n _v$15 !== _p$.y && _$setStyleProperty(_el$30, \"background\", _p$.y = _v$15);\n _v$16 !== _p$.g && _$setStyleProperty(_el$31, \"background\", _p$.g = _v$16);\n _v$17 !== _p$.p && _$setStyleProperty(_el$32, \"background\", _p$.p = _v$17);\n _v$18 !== _p$.b && _$setStyleProperty(_el$33, \"background\", _p$.b = _v$18);\n _v$19 !== _p$.T && _$setStyleProperty(_el$34, \"background\", _p$.T = _v$19);\n return _p$;\n }, {\n e: undefined,\n t: undefined,\n a: undefined,\n o: undefined,\n i: undefined,\n n: undefined,\n s: undefined,\n h: undefined,\n r: undefined,\n d: undefined,\n l: undefined,\n u: undefined,\n c: undefined,\n w: undefined,\n m: undefined,\n f: undefined,\n y: undefined,\n g: undefined,\n p: undefined,\n b: undefined,\n T: undefined\n });\n _$effect(() => _el$3.value = doc()?.name || \"\");\n _$effect(() => _el$39.value = doc()?.customCss || \"\");\n return _el$;\n })();\n }, element);\n return () => {\n handle.off(\"change\", onChange);\n const root = document.documentElement;\n const d = doc();\n if (d?.variables) {\n for (const key of Object.keys(d.variables)) {\n root.style.removeProperty(key);\n }\n for (const pct of [10, 20, 30, 40, 50]) {\n root.style.removeProperty(`--studio-fill-offset-${pct}`);\n root.style.removeProperty(`--studio-line-offset-${pct}`);\n }\n }\n dispose();\n style.remove();\n };\n}\n_$delegateEvents([\"input\", \"click\"]);"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
startActiveThemeFromProvider
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-DH4YUYFJ.js";
|
|
4
4
|
import "./chunk-L7WQSSFT.js";
|
|
5
5
|
|
|
6
6
|
// src/theme-titlebar.ts
|
|
@@ -18,4 +18,4 @@ function ThemeTitlebarTool(_handle, element) {
|
|
|
18
18
|
export {
|
|
19
19
|
ThemeTitlebarTool
|
|
20
20
|
};
|
|
21
|
-
//# sourceMappingURL=theme-titlebar-
|
|
21
|
+
//# sourceMappingURL=theme-titlebar-BO2Y2GRN.js.map
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
serveCurrentThemeProvider,
|
|
6
6
|
setThemeForCurrentMode,
|
|
7
7
|
startActiveTheme
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-DH4YUYFJ.js";
|
|
9
9
|
import "./chunk-L7WQSSFT.js";
|
|
10
10
|
|
|
11
11
|
// src/theme-tray.tsx
|
|
@@ -44,15 +44,15 @@ function ThemeTray(element) {
|
|
|
44
44
|
min-width: 0;
|
|
45
45
|
height: 1.75rem;
|
|
46
46
|
padding: 0 var(--studio-space-xs, 0.375rem);
|
|
47
|
-
border: 1px solid var(--studio-chrome-offset-20, var(--studio-fill-offset-20, #d4d4d4));
|
|
47
|
+
border: var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--studio-chrome-offset-20, var(--studio-fill-offset-20, #d4d4d4));
|
|
48
48
|
border-radius: var(--studio-radius-sm, 4px);
|
|
49
49
|
background: var(--studio-chrome, var(--studio-fill, white));
|
|
50
50
|
color: var(--studio-chrome-line, var(--studio-line, black));
|
|
51
51
|
font: 500 0.75rem/1 var(--studio-family-sans, system-ui, sans-serif);
|
|
52
|
-
cursor: pointer;
|
|
52
|
+
cursor: var(--studio-cursor-pointer, pointer);
|
|
53
53
|
}
|
|
54
54
|
.theme-tray-button:hover {
|
|
55
|
-
background: var(--studio-chrome-offset-10, var(--studio-fill-offset-10, #f2f2f2));
|
|
55
|
+
background: var(--studio-chrome-hover-fill, var(--studio-chrome-offset-10, var(--studio-fill-offset-10, #f2f2f2)));
|
|
56
56
|
}
|
|
57
57
|
.theme-tray-swatch {
|
|
58
58
|
width: 0.75rem;
|
|
@@ -70,12 +70,12 @@ function ThemeTray(element) {
|
|
|
70
70
|
}
|
|
71
71
|
.theme-tray-popover {
|
|
72
72
|
position: fixed;
|
|
73
|
-
z-index: 1000;
|
|
73
|
+
z-index: var(--studio-layer-popover, 1000);
|
|
74
74
|
width: 13rem;
|
|
75
75
|
max-height: min(18rem, 60vh);
|
|
76
76
|
overflow-y: auto;
|
|
77
77
|
padding: var(--studio-space-2xs, 0.25rem);
|
|
78
|
-
border: 1px solid var(--studio-chrome-offset-20, var(--studio-fill-offset-20, #d4d4d4));
|
|
78
|
+
border: var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--studio-chrome-offset-20, var(--studio-fill-offset-20, #d4d4d4));
|
|
79
79
|
border-radius: var(--studio-radius-sm, 4px);
|
|
80
80
|
background: var(--studio-chrome, var(--studio-fill, white));
|
|
81
81
|
color: var(--studio-chrome-line, var(--studio-line, black));
|
|
@@ -94,8 +94,8 @@ function ThemeTray(element) {
|
|
|
94
94
|
opacity: 1;
|
|
95
95
|
scale: 1;
|
|
96
96
|
transition:
|
|
97
|
-
opacity 150ms var(--studio-ease-out, cubic-bezier(0.23, 1, 0.32, 1)),
|
|
98
|
-
scale 150ms var(--studio-ease-out, cubic-bezier(0.23, 1, 0.32, 1));
|
|
97
|
+
opacity max(1ms, calc(150ms * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) var(--studio-ease-out, cubic-bezier(0.23, 1, 0.32, 1)),
|
|
98
|
+
scale max(1ms, calc(150ms * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) var(--studio-ease-out, cubic-bezier(0.23, 1, 0.32, 1));
|
|
99
99
|
}
|
|
100
100
|
.theme-tray-header {
|
|
101
101
|
display: flex;
|
|
@@ -107,7 +107,7 @@ function ThemeTray(element) {
|
|
|
107
107
|
.theme-tray-title {
|
|
108
108
|
font: 600 0.72rem/1 var(--studio-family-sans, system-ui, sans-serif);
|
|
109
109
|
text-transform: lowercase;
|
|
110
|
-
letter-spacing: 0.02em;
|
|
110
|
+
letter-spacing: var(--studio-chrome-letter-spacing, 0.02em);
|
|
111
111
|
opacity: 0.7;
|
|
112
112
|
}
|
|
113
113
|
.theme-tray-toggle {
|
|
@@ -116,20 +116,20 @@ function ThemeTray(element) {
|
|
|
116
116
|
gap: var(--studio-space-2xs, 0.25rem);
|
|
117
117
|
font: 500 0.68rem/1 var(--studio-family-sans, system-ui, sans-serif);
|
|
118
118
|
opacity: 0.7;
|
|
119
|
-
cursor: pointer;
|
|
119
|
+
cursor: var(--studio-cursor-pointer, pointer);
|
|
120
120
|
user-select: none;
|
|
121
121
|
}
|
|
122
122
|
.theme-tray-toggle input {
|
|
123
123
|
margin: 0;
|
|
124
124
|
accent-color: var(--studio-primary-fill, var(--studio-primary, #35f7ca));
|
|
125
|
-
cursor: pointer;
|
|
125
|
+
cursor: var(--studio-cursor-pointer, pointer);
|
|
126
126
|
}
|
|
127
127
|
.theme-tray-filter {
|
|
128
128
|
width: 100%;
|
|
129
129
|
height: 1.75rem;
|
|
130
130
|
margin-bottom: var(--studio-space-2xs, 0.25rem);
|
|
131
131
|
padding: 0 var(--studio-space-xs, 0.375rem);
|
|
132
|
-
border: 1px solid var(--studio-chrome-offset-20, var(--studio-fill-offset-20, #d4d4d4));
|
|
132
|
+
border: var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--studio-chrome-offset-20, var(--studio-fill-offset-20, #d4d4d4));
|
|
133
133
|
border-radius: var(--studio-radius-xs, 2px);
|
|
134
134
|
background: var(--studio-chrome-fill, var(--studio-fill, white));
|
|
135
135
|
color: var(--studio-chrome-line, var(--studio-line, black));
|
|
@@ -156,10 +156,10 @@ function ThemeTray(element) {
|
|
|
156
156
|
color: var(--studio-chrome-line, var(--studio-line, black));
|
|
157
157
|
font: 500 0.78rem/1 var(--studio-family-sans, system-ui, sans-serif);
|
|
158
158
|
text-align: left;
|
|
159
|
-
cursor: pointer;
|
|
159
|
+
cursor: var(--studio-cursor-pointer, pointer);
|
|
160
160
|
}
|
|
161
161
|
.theme-tray-option:hover {
|
|
162
|
-
background: var(--studio-chrome-fill-offset-20, var(--studio-fill-offset-20, #f2f2f2));
|
|
162
|
+
background: var(--studio-chrome-hover-fill, var(--studio-chrome-fill-offset-20, var(--studio-fill-offset-20, #f2f2f2)));
|
|
163
163
|
}
|
|
164
164
|
.theme-tray-option[data-selected] {
|
|
165
165
|
box-shadow: inset 0 0 0 1px var(--studio-chrome-line, var(--studio-line, black));
|
|
@@ -368,4 +368,4 @@ _$delegateEvents(["click", "input"]);
|
|
|
368
368
|
export {
|
|
369
369
|
ThemeTray
|
|
370
370
|
};
|
|
371
|
-
//# sourceMappingURL=theme-tray-
|
|
371
|
+
//# sourceMappingURL=theme-tray-V6BEXQWR.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/theme-tray.tsx"],
|
|
4
|
+
"sourcesContent": ["import { template as _$template } from \"solid-js/web\";\nimport { delegateEvents as _$delegateEvents } from \"solid-js/web\";\nimport { memo as _$memo } from \"solid-js/web\";\nimport { setStyleProperty as _$setStyleProperty } from \"solid-js/web\";\nimport { setAttribute as _$setAttribute } from \"solid-js/web\";\nimport { effect as _$effect } from \"solid-js/web\";\nimport { createComponent as _$createComponent } from \"solid-js/web\";\nimport { insert as _$insert } from \"solid-js/web\";\nimport { use as _$use } from \"solid-js/web\";\nvar _tmpl$ = /*#__PURE__*/_$template(`<span class=theme-tray-label>`),\n _tmpl$2 = /*#__PURE__*/_$template(`<div class=theme-tray-empty>No matching themes`),\n _tmpl$3 = /*#__PURE__*/_$template(`<div class=theme-tray-popover><div class=theme-tray-header><span class=theme-tray-title>theme</span><label class=theme-tray-toggle><input type=checkbox>show name</label></div><input class=theme-tray-filter type=text placeholder=\"Filter themes\u2026\">`),\n _tmpl$4 = /*#__PURE__*/_$template(`<div class=theme-tray><button class=theme-tray-button><span class=theme-tray-swatch>`),\n _tmpl$5 = /*#__PURE__*/_$template(`<span class=theme-tray-option-check>selected`),\n _tmpl$6 = /*#__PURE__*/_$template(`<button class=theme-tray-option><span class=theme-tray-option-name>`);\nimport { createEffect, createMemo, createSignal, For, onCleanup, Show } from \"solid-js\";\nimport { Portal, render } from \"solid-js/web\";\nimport { getRegistry } from \"@inkandswitch/patchwork-plugins\";\nimport { getActiveThemeState, hasThemePreferences, onActiveThemeChange, serveCurrentThemeProvider, setThemeForCurrentMode, startActiveTheme } from \"./active-theme.ts\";\nexport function ThemeTray(element) {\n startActiveTheme(element);\n const stopThemeProvider = serveCurrentThemeProvider(document.documentElement);\n const style = document.createElement(\"style\");\n style.textContent = `\n\t\t.theme-tray {\n\t\t\tposition: relative;\n\t\t\tdisplay: inline-flex;\n\t\t\talign-items: center;\n\t\t}\n\t\t.theme-tray-button {\n\t\t\tdisplay: inline-flex;\n\t\t\talign-items: center;\n\t\t\tgap: var(--studio-space-2xs, 0.25rem);\n\t\t\tmin-width: 0;\n\t\t\theight: 1.75rem;\n\t\t\tpadding: 0 var(--studio-space-xs, 0.375rem);\n\t\t\tborder: var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--studio-chrome-offset-20, var(--studio-fill-offset-20, #d4d4d4));\n\t\t\tborder-radius: var(--studio-radius-sm, 4px);\n\t\t\tbackground: var(--studio-chrome, var(--studio-fill, white));\n\t\t\tcolor: var(--studio-chrome-line, var(--studio-line, black));\n\t\t\tfont: 500 0.75rem/1 var(--studio-family-sans, system-ui, sans-serif);\n\t\t\tcursor: var(--studio-cursor-pointer, pointer);\n\t\t}\n\t\t.theme-tray-button:hover {\n\t\t\tbackground: var(--studio-chrome-hover-fill, var(--studio-chrome-offset-10, var(--studio-fill-offset-10, #f2f2f2)));\n\t\t}\n\t\t.theme-tray-swatch {\n\t\t\twidth: 0.75rem;\n\t\t\theight: 0.75rem;\n\t\t\tborder-radius: var(--studio-radius-xs, 2px);\n\t\t\tbackground: linear-gradient(135deg, var(--studio-primary-fill, var(--studio-primary, #35f7ca)) 0 50%, var(--studio-secondary-fill, var(--studio-secondary, #ec6ca7)) 50% 100%);\n\t\t\tbox-shadow: inset 0 0 0 1px color-mix(in oklch, var(--studio-line, black), transparent 75%);\n\t\t\tflex: none;\n\t\t}\n\t\t.theme-tray-label {\n\t\t\tmax-width: 9rem;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\twhite-space: nowrap;\n\t\t}\n\t\t.theme-tray-popover {\n\t\t\tposition: fixed;\n\t\t\tz-index: var(--studio-layer-popover, 1000);\n\t\t\twidth: 13rem;\n\t\t\tmax-height: min(18rem, 60vh);\n\t\t\toverflow-y: auto;\n\t\t\tpadding: var(--studio-space-2xs, 0.25rem);\n\t\t\tborder: var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--studio-chrome-offset-20, var(--studio-fill-offset-20, #d4d4d4));\n\t\t\tborder-radius: var(--studio-radius-sm, 4px);\n\t\t\tbackground: var(--studio-chrome, var(--studio-fill, white));\n\t\t\tcolor: var(--studio-chrome-line, var(--studio-line, black));\n\t\t\tbox-shadow: 0 0.5rem 1rem color-mix(in oklch, var(--studio-line, black), transparent 88%);\n\t\t\tfont-family: var(--studio-family-sans, system-ui, sans-serif);\n\t\t\t/* Grows out of the tray button once it has been measured and placed\n\t\t\t (data-placed). Closing is instant. */\n\t\t\topacity: 0;\n\t\t\tscale: 0.97;\n\t\t\ttransform-origin: top right;\n\t\t}\n\t\t.theme-tray-popover[data-side=\"above\"] {\n\t\t\ttransform-origin: bottom right;\n\t\t}\n\t\t.theme-tray-popover[data-placed] {\n\t\t\topacity: 1;\n\t\t\tscale: 1;\n\t\t\ttransition:\n\t\t\t\topacity max(1ms, calc(150ms * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) var(--studio-ease-out, cubic-bezier(0.23, 1, 0.32, 1)),\n\t\t\t\tscale max(1ms, calc(150ms * var(--studio-motion-scale, 1) * var(--studio-motion-preference, 1))) var(--studio-ease-out, cubic-bezier(0.23, 1, 0.32, 1));\n\t\t}\n\t\t.theme-tray-header {\n\t\t\tdisplay: flex;\n\t\t\talign-items: baseline;\n\t\t\tjustify-content: space-between;\n\t\t\tgap: var(--studio-space-sm, 0.5rem);\n\t\t\tpadding: var(--studio-space-2xs, 0.25rem) var(--studio-space-xs, 0.375rem);\n\t\t}\n\t\t.theme-tray-title {\n\t\t\tfont: 600 0.72rem/1 var(--studio-family-sans, system-ui, sans-serif);\n\t\t\ttext-transform: lowercase;\n\t\t\tletter-spacing: var(--studio-chrome-letter-spacing, 0.02em);\n\t\t\topacity: 0.7;\n\t\t}\n\t\t.theme-tray-toggle {\n\t\t\tdisplay: inline-flex;\n\t\t\talign-items: center;\n\t\t\tgap: var(--studio-space-2xs, 0.25rem);\n\t\t\tfont: 500 0.68rem/1 var(--studio-family-sans, system-ui, sans-serif);\n\t\t\topacity: 0.7;\n\t\t\tcursor: var(--studio-cursor-pointer, pointer);\n\t\t\tuser-select: none;\n\t\t}\n\t\t.theme-tray-toggle input {\n\t\t\tmargin: 0;\n\t\t\taccent-color: var(--studio-primary-fill, var(--studio-primary, #35f7ca));\n\t\t\tcursor: var(--studio-cursor-pointer, pointer);\n\t\t}\n\t\t.theme-tray-filter {\n\t\t\twidth: 100%;\n\t\t\theight: 1.75rem;\n\t\t\tmargin-bottom: var(--studio-space-2xs, 0.25rem);\n\t\t\tpadding: 0 var(--studio-space-xs, 0.375rem);\n\t\t\tborder: var(--studio-border-width, 1px) var(--studio-border-style, solid) var(--studio-chrome-offset-20, var(--studio-fill-offset-20, #d4d4d4));\n\t\t\tborder-radius: var(--studio-radius-xs, 2px);\n\t\t\tbackground: var(--studio-chrome-fill, var(--studio-fill, white));\n\t\t\tcolor: var(--studio-chrome-line, var(--studio-line, black));\n\t\t\tfont: 500 0.78rem/1 var(--studio-family-sans, system-ui, sans-serif);\n\t\t\tbox-sizing: border-box;\n\t\t}\n\t\t.theme-tray-empty {\n\t\t\tpadding: var(--studio-space-xs, 0.375rem);\n\t\t\tcolor: color-mix(in oklch, var(--studio-chrome-line, var(--studio-line, black)), transparent 40%);\n\t\t\tfont: 500 0.78rem/1 var(--studio-family-sans, system-ui, sans-serif);\n\t\t\ttext-align: center;\n\t\t}\n\t\t.theme-tray-option {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: space-between;\n\t\t\tgap: var(--studio-space-sm, 0.5rem);\n\t\t\twidth: 100%;\n\t\t\tmin-height: 1.75rem;\n\t\t\tpadding: 0 var(--studio-space-xs, 0.375rem);\n\t\t\tborder: 0;\n\t\t\tborder-radius: var(--studio-radius-xs, 2px);\n\t\t\tbackground: var(--studio-chrome-fill, var(--studio-fill, white));\n\t\t\tcolor: var(--studio-chrome-line, var(--studio-line, black));\n\t\t\tfont: 500 0.78rem/1 var(--studio-family-sans, system-ui, sans-serif);\n\t\t\ttext-align: left;\n\t\t\tcursor: var(--studio-cursor-pointer, pointer);\n\t\t}\n\t\t.theme-tray-option:hover {\n\t\t\tbackground: var(--studio-chrome-hover-fill, var(--studio-chrome-fill-offset-20, var(--studio-fill-offset-20, #f2f2f2)));\n\t\t}\n\t\t.theme-tray-option[data-selected] {\n\t\t\tbox-shadow: inset 0 0 0 1px var(--studio-chrome-line, var(--studio-line, black));\n\t\t}\n\t\t.theme-tray-option-name {\n\t\t\tmin-width: 0;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\twhite-space: nowrap;\n\t\t}\n\t\t.theme-tray-option-check {\n\t\t\tflex: none;\n\t\t\tfont-size: 0.72rem;\n\t\t}\n\t`;\n element.appendChild(style);\n const dispose = render(() => {\n const [state, setState] = createSignal(getActiveThemeState());\n const [open, setOpen] = createSignal(false);\n const [popoverPosition, setPopoverPosition] = createSignal();\n const [themes, setThemes] = createSignal([]);\n const [filter, setFilter] = createSignal(\"\");\n const showNameKey = \"patchwork:theme-tray:show-name\";\n const [showName, setShowName] = createSignal(localStorage.getItem(showNameKey) === \"true\");\n createEffect(() => localStorage.setItem(showNameKey, showName() ? \"true\" : \"false\"));\n const themeRegistry = getRegistry(\"patchwork:theme\");\n const unsubscribe = onActiveThemeChange(setState);\n let buttonElement;\n let popoverElement;\n let filterElement;\n const themeLabel = theme => theme.name || theme.id;\n const sortedThemes = createMemo(() => [...themes()].sort((a, b) => themeLabel(a).localeCompare(themeLabel(b), void 0, {\n sensitivity: \"base\"\n })));\n const visibleThemes = createMemo(() => {\n const query = filter().trim().toLowerCase();\n if (!query) return sortedThemes();\n return sortedThemes().filter(theme => themeLabel(theme).toLowerCase().includes(query) || theme.id.toLowerCase().includes(query));\n });\n const refreshThemes = () => setThemes(themeRegistry.all?.() || []);\n refreshThemes();\n themeRegistry.on(\"registered\", refreshThemes);\n themeRegistry.on(\"removed\", refreshThemes);\n const updatePopoverPosition = () => {\n if (!buttonElement || !popoverElement) return;\n const gap = 4;\n const margin = 8;\n const buttonRect = buttonElement.getBoundingClientRect();\n const popoverRect = popoverElement.getBoundingClientRect();\n const maxLeft = Math.max(margin, window.innerWidth - popoverRect.width - margin);\n const maxTop = Math.max(margin, window.innerHeight - popoverRect.height - margin);\n const left = Math.min(Math.max(buttonRect.right - popoverRect.width, margin), maxLeft);\n const preferredTop = buttonRect.top >= popoverRect.height + margin + gap ? buttonRect.top - popoverRect.height - gap : buttonRect.bottom + gap;\n const top = Math.min(Math.max(preferredTop, margin), maxTop);\n setPopoverPosition({\n left,\n top,\n above: top < buttonRect.top\n });\n };\n const onDocumentClick = event => {\n const target = event.target;\n if (!element.contains(target) && !popoverElement?.contains(target)) setOpen(false);\n };\n document.addEventListener(\"click\", onDocumentClick);\n const onDocumentKeyDown = event => {\n if (event.key === \"Escape\") setOpen(false);\n };\n document.addEventListener(\"keydown\", onDocumentKeyDown);\n createEffect(() => {\n if (!open()) return;\n const animationFrame = requestAnimationFrame(() => {\n updatePopoverPosition();\n filterElement?.focus();\n });\n window.addEventListener(\"resize\", updatePopoverPosition);\n window.addEventListener(\"scroll\", updatePopoverPosition, true);\n onCleanup(() => {\n cancelAnimationFrame(animationFrame);\n window.removeEventListener(\"resize\", updatePopoverPosition);\n window.removeEventListener(\"scroll\", updatePopoverPosition, true);\n setPopoverPosition(void 0);\n setFilter(\"\");\n });\n });\n onCleanup(() => {\n unsubscribe();\n themeRegistry.off?.(\"registered\", refreshThemes);\n themeRegistry.off?.(\"removed\", refreshThemes);\n document.removeEventListener(\"click\", onDocumentClick);\n document.removeEventListener(\"keydown\", onDocumentKeyDown);\n });\n function chooseTheme(id) {\n if (!hasThemePreferences()) return;\n setThemeForCurrentMode(id);\n setOpen(false);\n }\n const activeThemeId = () => state().themeId;\n return (() => {\n var _el$ = _tmpl$4(),\n _el$2 = _el$.firstChild,\n _el$3 = _el$2.firstChild;\n _el$2.$$click = event => {\n event.stopPropagation();\n setOpen(value => !value);\n };\n var _ref$ = buttonElement;\n typeof _ref$ === \"function\" ? _$use(_ref$, _el$2) : buttonElement = _el$2;\n _$insert(_el$2, _$createComponent(Show, {\n get when() {\n return showName();\n },\n get children() {\n var _el$4 = _tmpl$();\n _$insert(_el$4, activeThemeId);\n return _el$4;\n }\n }), null);\n _$insert(_el$, _$createComponent(Show, {\n get when() {\n return open();\n },\n get children() {\n return _$createComponent(Portal, {\n get mount() {\n return document.body;\n },\n get children() {\n var _el$5 = _tmpl$3(),\n _el$6 = _el$5.firstChild,\n _el$7 = _el$6.firstChild,\n _el$8 = _el$7.nextSibling,\n _el$9 = _el$8.firstChild,\n _el$0 = _el$6.nextSibling;\n _el$5.$$click = event => event.stopPropagation();\n var _ref$2 = popoverElement;\n typeof _ref$2 === \"function\" ? _$use(_ref$2, _el$5) : popoverElement = _el$5;\n _el$9.addEventListener(\"change\", event => setShowName(event.currentTarget.checked));\n _el$0.$$input = event => setFilter(event.currentTarget.value);\n var _ref$3 = filterElement;\n typeof _ref$3 === \"function\" ? _$use(_ref$3, _el$0) : filterElement = _el$0;\n _$insert(_el$5, _$createComponent(For, {\n get each() {\n return visibleThemes();\n },\n children: theme => (() => {\n var _el$10 = _tmpl$6(),\n _el$11 = _el$10.firstChild;\n _el$10.$$click = () => chooseTheme(theme.id);\n _$insert(_el$11, () => theme.name || theme.id);\n _$insert(_el$10, _$createComponent(Show, {\n get when() {\n return activeThemeId() === theme.id;\n },\n get children() {\n return _tmpl$5();\n }\n }), null);\n _$effect(_p$ => {\n var _v$6 = theme.id,\n _v$7 = activeThemeId() === theme.id ? \"\" : void 0,\n _v$8 = theme.name || theme.id;\n _v$6 !== _p$.e && _$setAttribute(_el$10, \"theme\", _p$.e = _v$6);\n _v$7 !== _p$.t && _$setAttribute(_el$10, \"data-selected\", _p$.t = _v$7);\n _v$8 !== _p$.a && _$setAttribute(_el$10, \"title\", _p$.a = _v$8);\n return _p$;\n }, {\n e: undefined,\n t: undefined,\n a: undefined\n });\n return _el$10;\n })()\n }), null);\n _$insert(_el$5, _$createComponent(Show, {\n get when() {\n return visibleThemes().length === 0;\n },\n get children() {\n return _tmpl$2();\n }\n }), null);\n _$effect(_p$ => {\n var _v$ = popoverPosition() ? \"\" : void 0,\n _v$2 = popoverPosition()?.above ? \"above\" : \"below\",\n _v$3 = `${popoverPosition()?.left ?? 0}px`,\n _v$4 = `${popoverPosition()?.top ?? 0}px`,\n _v$5 = popoverPosition() ? \"visible\" : \"hidden\";\n _v$ !== _p$.e && _$setAttribute(_el$5, \"data-placed\", _p$.e = _v$);\n _v$2 !== _p$.t && _$setAttribute(_el$5, \"data-side\", _p$.t = _v$2);\n _v$3 !== _p$.a && _$setStyleProperty(_el$5, \"left\", _p$.a = _v$3);\n _v$4 !== _p$.o && _$setStyleProperty(_el$5, \"top\", _p$.o = _v$4);\n _v$5 !== _p$.i && _$setStyleProperty(_el$5, \"visibility\", _p$.i = _v$5);\n return _p$;\n }, {\n e: undefined,\n t: undefined,\n a: undefined,\n o: undefined,\n i: undefined\n });\n _$effect(() => _el$9.checked = showName());\n _$effect(() => _el$0.value = filter());\n return _el$5;\n }\n });\n }\n }), null);\n _$effect(() => _$setAttribute(_el$2, \"title\", `Theme: ${activeThemeId()}`));\n return _el$;\n })();\n }, element);\n return () => {\n dispose();\n style.remove();\n stopThemeProvider();\n };\n}\n_$delegateEvents([\"click\", \"input\"]);"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
onActiveThemeChange,
|
|
5
5
|
setThemeForMode,
|
|
6
6
|
startActiveTheme
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-DH4YUYFJ.js";
|
|
8
8
|
import "./chunk-L7WQSSFT.js";
|
|
9
9
|
|
|
10
10
|
// src/tool.tsx
|
|
@@ -102,7 +102,7 @@ function ThemePickerTool(handle, element) {
|
|
|
102
102
|
gap: var(--studio-space-2xs, 0.375rem);
|
|
103
103
|
align-self: flex-start;
|
|
104
104
|
font-size: 0.85rem;
|
|
105
|
-
cursor: pointer;
|
|
105
|
+
cursor: var(--studio-cursor-pointer, pointer);
|
|
106
106
|
user-select: none;
|
|
107
107
|
}
|
|
108
108
|
.theme-picker-toggle input {
|
|
@@ -110,7 +110,7 @@ function ThemePickerTool(handle, element) {
|
|
|
110
110
|
width: 0.95rem;
|
|
111
111
|
height: 0.95rem;
|
|
112
112
|
accent-color: var(--studio-primary, #35f7ca);
|
|
113
|
-
cursor: pointer;
|
|
113
|
+
cursor: var(--studio-cursor-pointer, pointer);
|
|
114
114
|
}
|
|
115
115
|
.theme-picker-section {
|
|
116
116
|
display: flex;
|
|
@@ -125,7 +125,7 @@ function ThemePickerTool(handle, element) {
|
|
|
125
125
|
font-size: 0.8rem;
|
|
126
126
|
font-weight: 700;
|
|
127
127
|
text-transform: uppercase;
|
|
128
|
-
letter-spacing: 0.05em;
|
|
128
|
+
letter-spacing: var(--studio-chrome-letter-spacing, 0.05em);
|
|
129
129
|
color: color-mix(in oklch, var(--studio-line, black), transparent 45%);
|
|
130
130
|
}
|
|
131
131
|
.theme-picker-now {
|
|
@@ -136,7 +136,7 @@ function ThemePickerTool(handle, element) {
|
|
|
136
136
|
border-radius: 999px;
|
|
137
137
|
font-size: 0.62rem;
|
|
138
138
|
font-weight: 700;
|
|
139
|
-
letter-spacing: 0.03em;
|
|
139
|
+
letter-spacing: var(--studio-chrome-letter-spacing, 0.03em);
|
|
140
140
|
text-transform: none;
|
|
141
141
|
color: var(--studio-fill, white);
|
|
142
142
|
background: var(--studio-primary, #0a7);
|
|
@@ -146,7 +146,7 @@ function ThemePickerTool(handle, element) {
|
|
|
146
146
|
font-size: 0.68rem;
|
|
147
147
|
font-weight: 600;
|
|
148
148
|
text-transform: uppercase;
|
|
149
|
-
letter-spacing: 0.05em;
|
|
149
|
+
letter-spacing: var(--studio-chrome-letter-spacing, 0.05em);
|
|
150
150
|
color: color-mix(in oklch, var(--studio-line, black), transparent 55%);
|
|
151
151
|
}
|
|
152
152
|
.theme-picker-grid {
|
|
@@ -157,12 +157,12 @@ function ThemePickerTool(handle, element) {
|
|
|
157
157
|
.theme-picker-card {
|
|
158
158
|
position: relative;
|
|
159
159
|
padding: 0;
|
|
160
|
-
border: 1px solid color-mix(in oklch, var(--studio-line, black), transparent 82%);
|
|
160
|
+
border: var(--studio-border-width, 1px) var(--studio-border-style, solid) color-mix(in oklch, var(--studio-line, black), transparent 82%);
|
|
161
161
|
border-radius: var(--studio-radius-md, 8px);
|
|
162
162
|
background: none;
|
|
163
|
-
cursor: pointer;
|
|
163
|
+
cursor: var(--studio-cursor-pointer, pointer);
|
|
164
164
|
overflow: hidden;
|
|
165
|
-
transition: box-shadow 0.1s ease, border-color 0.1s ease;
|
|
165
|
+
transition: box-shadow var(--studio-transition-fast, 0.1s ease), border-color var(--studio-transition-fast, 0.1s ease);
|
|
166
166
|
}
|
|
167
167
|
.theme-picker-card:hover {
|
|
168
168
|
border-color: color-mix(in oklch, var(--studio-line, black), transparent 55%);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/tool.tsx"],
|
|
4
|
-
"sourcesContent": ["import { template as _$template } from \"solid-js/web\";\nimport { delegateEvents as _$delegateEvents } from \"solid-js/web\";\nimport { setAttribute as _$setAttribute } from \"solid-js/web\";\nimport { effect as _$effect } from \"solid-js/web\";\nimport { createComponent as _$createComponent } from \"solid-js/web\";\nimport { insert as _$insert } from \"solid-js/web\";\nimport { addEventListener as _$addEventListener } from \"solid-js/web\";\nvar _tmpl$ = /*#__PURE__*/_$template(`<span class=theme-picker-check>\u2713`),\n _tmpl$2 = /*#__PURE__*/_$template(`<button class=theme-picker-card><div class=theme-picker-preview><span class=theme-picker-preview-name></span><div class=theme-picker-dots><span class=\"theme-picker-dot theme-picker-dot--primary\"></span><span class=\"theme-picker-dot theme-picker-dot--secondary\"></span><span class=\"theme-picker-dot theme-picker-dot--fill\">`),\n _tmpl$3 = /*#__PURE__*/_$template(`<span class=theme-picker-now>showing now`),\n _tmpl$4 = /*#__PURE__*/_$template(`<p class=theme-picker-group-caption>`),\n _tmpl$5 = /*#__PURE__*/_$template(`<div class=theme-picker-grid>`),\n _tmpl$6 = /*#__PURE__*/_$template(`<section class=theme-picker-section><h3 class=theme-picker-section-title><span></span></h3><div class=theme-picker-grid>`),\n _tmpl$7 = /*#__PURE__*/_$template(`<div class=theme-picker-empty>No themes are available yet.`),\n _tmpl$8 = /*#__PURE__*/_$template(`<div class=theme-picker><div class=theme-picker-head><h2 class=theme-picker-heading>Theme</h2><p class=theme-picker-status>Your system is in <b> mode</b> right now, so <b></b> is showing.</p></div><label class=theme-picker-toggle><input type=checkbox>Use the same theme in both light and dark mode`);\nimport { render } from \"solid-js/web\";\nimport { createMemo, createSignal, For, Show } from \"solid-js\";\nimport { getRegistry } from \"@inkandswitch/patchwork-plugins\";\nimport { detectColorScheme, getActiveThemeState, onActiveThemeChange, setThemeForMode, startActiveTheme } from \"./active-theme.ts\";\nexport function ThemePickerTool(handle, element) {\n startActiveTheme(element, handle);\n const [themeState, setThemeState] = createSignal(getActiveThemeState());\n const unsubscribeThemeState = onActiveThemeChange(setThemeState);\n const [themes, setThemes] = createSignal([]);\n const [colorSchemes, setColorSchemes] = createSignal({});\n const [splitModes, setSplitModes] = createSignal(getActiveThemeState().light !== getActiveThemeState().dark);\n async function detectAll(themeList) {\n const schemes = {};\n await Promise.all(themeList.map(async t => {\n schemes[t.id] = await detectColorScheme(t);\n }));\n setColorSchemes(schemes);\n }\n const themeRegistry = getRegistry(\"patchwork:theme\");\n const refresh = () => {\n const all = themeRegistry.all?.() || [];\n setThemes(all);\n detectAll(all);\n };\n refresh();\n themeRegistry.on(\"registered\", refresh);\n themeRegistry.on(\"removed\", refresh);\n const themeLabel = theme => theme.name || theme.id;\n const nameFor = id => {\n const theme = themes().find(t => t.id === id);\n return theme ? themeLabel(theme) : id;\n };\n const sortedThemes = createMemo(() => [...themes()].sort((a, b) => themeLabel(a).localeCompare(themeLabel(b), void 0, {\n sensitivity: \"base\"\n })));\n const groupsFor = mode => {\n const schemes = colorSchemes();\n const belongs = id => mode === \"light\" ? schemes[id] !== \"dark\" : schemes[id] !== \"light\";\n return {\n primary: sortedThemes().filter(t => belongs(t.id)),\n secondary: sortedThemes().filter(t => !belongs(t.id))\n };\n };\n const style = document.createElement(\"style\");\n style.textContent = `\n\t\t.theme-picker {\n\t\t\tpadding: var(--studio-space-lg, 1.5rem);\n\t\t\tfont-family: var(--studio-family-sans, system-ui, sans-serif);\n\t\t\tcolor: var(--studio-line, black);\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\tgap: var(--studio-space-lg, 1.5rem);\n\t\t\tmax-width: 44rem;\n\t\t}\n\t\t.theme-picker-head {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\tgap: var(--studio-space-2xs, 0.25rem);\n\t\t}\n\t\t.theme-picker-heading {\n\t\t\tfont-size: 1.25rem;\n\t\t\tfont-weight: 700;\n\t\t\tmargin: 0;\n\t\t}\n\t\t.theme-picker-status {\n\t\t\tmargin: 0;\n\t\t\tfont-size: 0.9rem;\n\t\t\tline-height: 1.4;\n\t\t\tcolor: color-mix(in oklch, var(--studio-line, black), transparent 30%);\n\t\t}\n\t\t.theme-picker-status b {\n\t\t\tfont-weight: 600;\n\t\t\tcolor: var(--studio-line, black);\n\t\t}\n\t\t.theme-picker-toggle {\n\t\t\tdisplay: inline-flex;\n\t\t\talign-items: center;\n\t\t\tgap: var(--studio-space-2xs, 0.375rem);\n\t\t\talign-self: flex-start;\n\t\t\tfont-size: 0.85rem;\n\t\t\tcursor: pointer;\n\t\t\tuser-select: none;\n\t\t}\n\t\t.theme-picker-toggle input {\n\t\t\tmargin: 0;\n\t\t\twidth: 0.95rem;\n\t\t\theight: 0.95rem;\n\t\t\taccent-color: var(--studio-primary, #35f7ca);\n\t\t\tcursor: pointer;\n\t\t}\n\t\t.theme-picker-section {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\tgap: var(--studio-space-sm, 0.5rem);\n\t\t}\n\t\t.theme-picker-section-title {\n\t\t\tdisplay: flex;\n\t\t\talign-items: baseline;\n\t\t\tgap: var(--studio-space-xs, 0.4rem);\n\t\t\tmargin: 0;\n\t\t\tfont-size: 0.8rem;\n\t\t\tfont-weight: 700;\n\t\t\ttext-transform: uppercase;\n\t\t\tletter-spacing: 0.05em;\n\t\t\tcolor: color-mix(in oklch, var(--studio-line, black), transparent 45%);\n\t\t}\n\t\t.theme-picker-now {\n\t\t\tdisplay: inline-flex;\n\t\t\talign-items: center;\n\t\t\tgap: 0.25rem;\n\t\t\tpadding: 0.1rem 0.4rem;\n\t\t\tborder-radius: 999px;\n\t\t\tfont-size: 0.62rem;\n\t\t\tfont-weight: 700;\n\t\t\tletter-spacing: 0.03em;\n\t\t\ttext-transform: none;\n\t\t\tcolor: var(--studio-fill, white);\n\t\t\tbackground: var(--studio-primary, #0a7);\n\t\t}\n\t\t.theme-picker-group-caption {\n\t\t\tmargin: var(--studio-space-2xs, 0.25rem) 0 0;\n\t\t\tfont-size: 0.68rem;\n\t\t\tfont-weight: 600;\n\t\t\ttext-transform: uppercase;\n\t\t\tletter-spacing: 0.05em;\n\t\t\tcolor: color-mix(in oklch, var(--studio-line, black), transparent 55%);\n\t\t}\n\t\t.theme-picker-grid {\n\t\t\tdisplay: grid;\n\t\t\tgrid-template-columns: repeat(auto-fill, minmax(9rem, 1fr));\n\t\t\tgap: var(--studio-space-sm, 0.6rem);\n\t\t}\n\t\t.theme-picker-card {\n\t\t\tposition: relative;\n\t\t\tpadding: 0;\n\t\t\tborder: 1px solid color-mix(in oklch, var(--studio-line, black), transparent 82%);\n\t\t\tborder-radius: var(--studio-radius-md, 8px);\n\t\t\tbackground: none;\n\t\t\tcursor: pointer;\n\t\t\toverflow: hidden;\n\t\t\ttransition: box-shadow 0.1s ease, border-color 0.1s ease;\n\t\t}\n\t\t.theme-picker-card:hover {\n\t\t\tborder-color: color-mix(in oklch, var(--studio-line, black), transparent 55%);\n\t\t}\n\t\t.theme-picker-card[data-selected] {\n\t\t\tborder-color: transparent;\n\t\t\tbox-shadow: 0 0 0 2px var(--studio-line, black);\n\t\t}\n\t\t.theme-picker-preview {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\tjustify-content: space-between;\n\t\t\tgap: var(--studio-space-sm, 0.5rem);\n\t\t\tmin-height: 4.75rem;\n\t\t\tpadding: var(--studio-space-sm, 0.6rem);\n\t\t\tbackground: var(--studio-fill, white);\n\t\t\tcolor: var(--studio-line, black);\n\t\t\ttext-align: left;\n\t\t}\n\t\t.theme-picker-preview-name {\n\t\t\tfont-size: 0.85rem;\n\t\t\tfont-weight: 600;\n\t\t\tline-height: 1.1;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\twhite-space: nowrap;\n\t\t}\n\t\t.theme-picker-dots {\n\t\t\tdisplay: flex;\n\t\t\tgap: 0.3rem;\n\t\t}\n\t\t.theme-picker-dot {\n\t\t\twidth: 0.85rem;\n\t\t\theight: 0.85rem;\n\t\t\tborder-radius: 999px;\n\t\t\tbox-shadow: inset 0 0 0 1px color-mix(in oklch, var(--studio-line, black), transparent 65%);\n\t\t}\n\t\t.theme-picker-dot--fill { background: var(--studio-fill, #fff); }\n\t\t.theme-picker-dot--primary { background: var(--studio-primary, #35f7ca); }\n\t\t.theme-picker-dot--secondary { background: var(--studio-secondary, #ec6ca7); }\n\t\t.theme-picker-check {\n\t\t\tposition: absolute;\n\t\t\ttop: 0.35rem;\n\t\t\tright: 0.35rem;\n\t\t\twidth: 1.15rem;\n\t\t\theight: 1.15rem;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t\tborder-radius: 999px;\n\t\t\tfont-size: 0.7rem;\n\t\t\tcolor: var(--studio-fill, white);\n\t\t\tbackground: var(--studio-line, black);\n\t\t}\n\t\t.theme-picker-empty {\n\t\t\tpadding: var(--studio-space-md, 1rem);\n\t\t\tcolor: color-mix(in oklch, var(--studio-line, black), transparent 45%);\n\t\t\tfont-size: 0.9rem;\n\t\t}\n\t`;\n element.appendChild(style);\n const dispose = render(() => {\n const currentMode = () => themeState().mode;\n const activeThemeId = () => themeState().themeId;\n const showTwoSections = () => splitModes();\n function choose(mode, id) {\n if (mode === \"both\") {\n setThemeForMode(\"light\", id);\n setThemeForMode(\"dark\", id);\n } else {\n setThemeForMode(mode, id);\n }\n }\n function setSameForBoth(same) {\n if (same) {\n choose(\"both\", themeState().themeId);\n setSplitModes(false);\n } else {\n setSplitModes(true);\n }\n }\n function Card(props) {\n return (() => {\n var _el$ = _tmpl$2(),\n _el$2 = _el$.firstChild,\n _el$3 = _el$2.firstChild;\n _$addEventListener(_el$, \"click\", props.onChoose, true);\n _$insert(_el$3, () => themeLabel(props.theme));\n _$insert(_el$, _$createComponent(Show, {\n get when() {\n return props.selected;\n },\n get children() {\n return _tmpl$();\n }\n }), null);\n _$effect(_p$ => {\n var _v$ = props.selected ? \"\" : void 0,\n _v$2 = themeLabel(props.theme),\n _v$3 = props.theme.id;\n _v$ !== _p$.e && _$setAttribute(_el$, \"data-selected\", _p$.e = _v$);\n _v$2 !== _p$.t && _$setAttribute(_el$, \"title\", _p$.t = _v$2);\n _v$3 !== _p$.a && _$setAttribute(_el$2, \"theme\", _p$.a = _v$3);\n return _p$;\n }, {\n e: undefined,\n t: undefined,\n a: undefined\n });\n return _el$;\n })();\n }\n function Section(props) {\n const groups = () => groupsFor(props.groupMode);\n const primaryCaption = () => props.groupMode === \"light\" ? \"Light themes\" : \"Dark themes\";\n const secondaryCaption = () => props.groupMode === \"light\" ? \"Dark themes\" : \"Light themes\";\n const isNow = () => props.mode !== \"both\" && currentMode() === props.mode;\n return (() => {\n var _el$5 = _tmpl$6(),\n _el$6 = _el$5.firstChild,\n _el$7 = _el$6.firstChild,\n _el$0 = _el$6.nextSibling;\n _$insert(_el$7, () => props.label);\n _$insert(_el$6, _$createComponent(Show, {\n get when() {\n return isNow();\n },\n get children() {\n return _tmpl$3();\n }\n }), null);\n _$insert(_el$5, _$createComponent(Show, {\n get when() {\n return groups().secondary.length > 0;\n },\n get children() {\n var _el$9 = _tmpl$4();\n _$insert(_el$9, primaryCaption);\n return _el$9;\n }\n }), _el$0);\n _$insert(_el$0, _$createComponent(For, {\n get each() {\n return groups().primary;\n },\n children: theme => _$createComponent(Card, {\n theme: theme,\n get selected() {\n return props.selectedId === theme.id;\n },\n onChoose: () => choose(props.mode, theme.id)\n })\n }));\n _$insert(_el$5, _$createComponent(Show, {\n get when() {\n return groups().secondary.length > 0;\n },\n get children() {\n return [(() => {\n var _el$1 = _tmpl$4();\n _$insert(_el$1, secondaryCaption);\n return _el$1;\n })(), (() => {\n var _el$10 = _tmpl$5();\n _$insert(_el$10, _$createComponent(For, {\n get each() {\n return groups().secondary;\n },\n children: theme => _$createComponent(Card, {\n theme: theme,\n get selected() {\n return props.selectedId === theme.id;\n },\n onChoose: () => choose(props.mode, theme.id)\n })\n }));\n return _el$10;\n })()];\n }\n }), null);\n return _el$5;\n })();\n }\n return (() => {\n var _el$11 = _tmpl$8(),\n _el$12 = _el$11.firstChild,\n _el$13 = _el$12.firstChild,\n _el$14 = _el$13.nextSibling,\n _el$15 = _el$14.firstChild,\n _el$16 = _el$15.nextSibling,\n _el$17 = _el$16.firstChild,\n _el$18 = _el$16.nextSibling,\n _el$20 = _el$18.nextSibling,\n _el$21 = _el$12.nextSibling,\n _el$22 = _el$21.firstChild;\n _$insert(_el$16, currentMode, _el$17);\n _$insert(_el$20, () => nameFor(activeThemeId()));\n _el$22.addEventListener(\"change\", event => setSameForBoth(event.currentTarget.checked));\n _$insert(_el$11, _$createComponent(Show, {\n get when() {\n return themes().length === 0;\n },\n get children() {\n return _tmpl$7();\n }\n }), null);\n _$insert(_el$11, _$createComponent(Show, {\n get when() {\n return showTwoSections();\n },\n get fallback() {\n return _$createComponent(Section, {\n mode: \"both\",\n get groupMode() {\n return currentMode();\n },\n label: \"Theme\",\n get selectedId() {\n return activeThemeId();\n }\n });\n },\n get children() {\n return [_$createComponent(Section, {\n mode: \"light\",\n groupMode: \"light\",\n label: \"Light mode theme\",\n get selectedId() {\n return themeState().light;\n }\n }), _$createComponent(Section, {\n mode: \"dark\",\n groupMode: \"dark\",\n label: \"Dark mode theme\",\n get selectedId() {\n return themeState().dark;\n }\n })];\n }\n }), null);\n _$effect(() => _el$22.checked = !showTwoSections());\n return _el$11;\n })();\n }, element);\n return () => {\n unsubscribeThemeState();\n themeRegistry.off?.(\"registered\", refresh);\n themeRegistry.off?.(\"removed\", refresh);\n dispose();\n style.remove();\n };\n}\n_$delegateEvents([\"click\"]);"],
|
|
4
|
+
"sourcesContent": ["import { template as _$template } from \"solid-js/web\";\nimport { delegateEvents as _$delegateEvents } from \"solid-js/web\";\nimport { setAttribute as _$setAttribute } from \"solid-js/web\";\nimport { effect as _$effect } from \"solid-js/web\";\nimport { createComponent as _$createComponent } from \"solid-js/web\";\nimport { insert as _$insert } from \"solid-js/web\";\nimport { addEventListener as _$addEventListener } from \"solid-js/web\";\nvar _tmpl$ = /*#__PURE__*/_$template(`<span class=theme-picker-check>\u2713`),\n _tmpl$2 = /*#__PURE__*/_$template(`<button class=theme-picker-card><div class=theme-picker-preview><span class=theme-picker-preview-name></span><div class=theme-picker-dots><span class=\"theme-picker-dot theme-picker-dot--primary\"></span><span class=\"theme-picker-dot theme-picker-dot--secondary\"></span><span class=\"theme-picker-dot theme-picker-dot--fill\">`),\n _tmpl$3 = /*#__PURE__*/_$template(`<span class=theme-picker-now>showing now`),\n _tmpl$4 = /*#__PURE__*/_$template(`<p class=theme-picker-group-caption>`),\n _tmpl$5 = /*#__PURE__*/_$template(`<div class=theme-picker-grid>`),\n _tmpl$6 = /*#__PURE__*/_$template(`<section class=theme-picker-section><h3 class=theme-picker-section-title><span></span></h3><div class=theme-picker-grid>`),\n _tmpl$7 = /*#__PURE__*/_$template(`<div class=theme-picker-empty>No themes are available yet.`),\n _tmpl$8 = /*#__PURE__*/_$template(`<div class=theme-picker><div class=theme-picker-head><h2 class=theme-picker-heading>Theme</h2><p class=theme-picker-status>Your system is in <b> mode</b> right now, so <b></b> is showing.</p></div><label class=theme-picker-toggle><input type=checkbox>Use the same theme in both light and dark mode`);\nimport { render } from \"solid-js/web\";\nimport { createMemo, createSignal, For, Show } from \"solid-js\";\nimport { getRegistry } from \"@inkandswitch/patchwork-plugins\";\nimport { detectColorScheme, getActiveThemeState, onActiveThemeChange, setThemeForMode, startActiveTheme } from \"./active-theme.ts\";\nexport function ThemePickerTool(handle, element) {\n startActiveTheme(element, handle);\n const [themeState, setThemeState] = createSignal(getActiveThemeState());\n const unsubscribeThemeState = onActiveThemeChange(setThemeState);\n const [themes, setThemes] = createSignal([]);\n const [colorSchemes, setColorSchemes] = createSignal({});\n const [splitModes, setSplitModes] = createSignal(getActiveThemeState().light !== getActiveThemeState().dark);\n async function detectAll(themeList) {\n const schemes = {};\n await Promise.all(themeList.map(async t => {\n schemes[t.id] = await detectColorScheme(t);\n }));\n setColorSchemes(schemes);\n }\n const themeRegistry = getRegistry(\"patchwork:theme\");\n const refresh = () => {\n const all = themeRegistry.all?.() || [];\n setThemes(all);\n detectAll(all);\n };\n refresh();\n themeRegistry.on(\"registered\", refresh);\n themeRegistry.on(\"removed\", refresh);\n const themeLabel = theme => theme.name || theme.id;\n const nameFor = id => {\n const theme = themes().find(t => t.id === id);\n return theme ? themeLabel(theme) : id;\n };\n const sortedThemes = createMemo(() => [...themes()].sort((a, b) => themeLabel(a).localeCompare(themeLabel(b), void 0, {\n sensitivity: \"base\"\n })));\n const groupsFor = mode => {\n const schemes = colorSchemes();\n const belongs = id => mode === \"light\" ? schemes[id] !== \"dark\" : schemes[id] !== \"light\";\n return {\n primary: sortedThemes().filter(t => belongs(t.id)),\n secondary: sortedThemes().filter(t => !belongs(t.id))\n };\n };\n const style = document.createElement(\"style\");\n style.textContent = `\n\t\t.theme-picker {\n\t\t\tpadding: var(--studio-space-lg, 1.5rem);\n\t\t\tfont-family: var(--studio-family-sans, system-ui, sans-serif);\n\t\t\tcolor: var(--studio-line, black);\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\tgap: var(--studio-space-lg, 1.5rem);\n\t\t\tmax-width: 44rem;\n\t\t}\n\t\t.theme-picker-head {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\tgap: var(--studio-space-2xs, 0.25rem);\n\t\t}\n\t\t.theme-picker-heading {\n\t\t\tfont-size: 1.25rem;\n\t\t\tfont-weight: 700;\n\t\t\tmargin: 0;\n\t\t}\n\t\t.theme-picker-status {\n\t\t\tmargin: 0;\n\t\t\tfont-size: 0.9rem;\n\t\t\tline-height: 1.4;\n\t\t\tcolor: color-mix(in oklch, var(--studio-line, black), transparent 30%);\n\t\t}\n\t\t.theme-picker-status b {\n\t\t\tfont-weight: 600;\n\t\t\tcolor: var(--studio-line, black);\n\t\t}\n\t\t.theme-picker-toggle {\n\t\t\tdisplay: inline-flex;\n\t\t\talign-items: center;\n\t\t\tgap: var(--studio-space-2xs, 0.375rem);\n\t\t\talign-self: flex-start;\n\t\t\tfont-size: 0.85rem;\n\t\t\tcursor: var(--studio-cursor-pointer, pointer);\n\t\t\tuser-select: none;\n\t\t}\n\t\t.theme-picker-toggle input {\n\t\t\tmargin: 0;\n\t\t\twidth: 0.95rem;\n\t\t\theight: 0.95rem;\n\t\t\taccent-color: var(--studio-primary, #35f7ca);\n\t\t\tcursor: var(--studio-cursor-pointer, pointer);\n\t\t}\n\t\t.theme-picker-section {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\tgap: var(--studio-space-sm, 0.5rem);\n\t\t}\n\t\t.theme-picker-section-title {\n\t\t\tdisplay: flex;\n\t\t\talign-items: baseline;\n\t\t\tgap: var(--studio-space-xs, 0.4rem);\n\t\t\tmargin: 0;\n\t\t\tfont-size: 0.8rem;\n\t\t\tfont-weight: 700;\n\t\t\ttext-transform: uppercase;\n\t\t\tletter-spacing: var(--studio-chrome-letter-spacing, 0.05em);\n\t\t\tcolor: color-mix(in oklch, var(--studio-line, black), transparent 45%);\n\t\t}\n\t\t.theme-picker-now {\n\t\t\tdisplay: inline-flex;\n\t\t\talign-items: center;\n\t\t\tgap: 0.25rem;\n\t\t\tpadding: 0.1rem 0.4rem;\n\t\t\tborder-radius: 999px;\n\t\t\tfont-size: 0.62rem;\n\t\t\tfont-weight: 700;\n\t\t\tletter-spacing: var(--studio-chrome-letter-spacing, 0.03em);\n\t\t\ttext-transform: none;\n\t\t\tcolor: var(--studio-fill, white);\n\t\t\tbackground: var(--studio-primary, #0a7);\n\t\t}\n\t\t.theme-picker-group-caption {\n\t\t\tmargin: var(--studio-space-2xs, 0.25rem) 0 0;\n\t\t\tfont-size: 0.68rem;\n\t\t\tfont-weight: 600;\n\t\t\ttext-transform: uppercase;\n\t\t\tletter-spacing: var(--studio-chrome-letter-spacing, 0.05em);\n\t\t\tcolor: color-mix(in oklch, var(--studio-line, black), transparent 55%);\n\t\t}\n\t\t.theme-picker-grid {\n\t\t\tdisplay: grid;\n\t\t\tgrid-template-columns: repeat(auto-fill, minmax(9rem, 1fr));\n\t\t\tgap: var(--studio-space-sm, 0.6rem);\n\t\t}\n\t\t.theme-picker-card {\n\t\t\tposition: relative;\n\t\t\tpadding: 0;\n\t\t\tborder: var(--studio-border-width, 1px) var(--studio-border-style, solid) color-mix(in oklch, var(--studio-line, black), transparent 82%);\n\t\t\tborder-radius: var(--studio-radius-md, 8px);\n\t\t\tbackground: none;\n\t\t\tcursor: var(--studio-cursor-pointer, pointer);\n\t\t\toverflow: hidden;\n\t\t\ttransition: box-shadow var(--studio-transition-fast, 0.1s ease), border-color var(--studio-transition-fast, 0.1s ease);\n\t\t}\n\t\t.theme-picker-card:hover {\n\t\t\tborder-color: color-mix(in oklch, var(--studio-line, black), transparent 55%);\n\t\t}\n\t\t.theme-picker-card[data-selected] {\n\t\t\tborder-color: transparent;\n\t\t\tbox-shadow: 0 0 0 2px var(--studio-line, black);\n\t\t}\n\t\t.theme-picker-preview {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\tjustify-content: space-between;\n\t\t\tgap: var(--studio-space-sm, 0.5rem);\n\t\t\tmin-height: 4.75rem;\n\t\t\tpadding: var(--studio-space-sm, 0.6rem);\n\t\t\tbackground: var(--studio-fill, white);\n\t\t\tcolor: var(--studio-line, black);\n\t\t\ttext-align: left;\n\t\t}\n\t\t.theme-picker-preview-name {\n\t\t\tfont-size: 0.85rem;\n\t\t\tfont-weight: 600;\n\t\t\tline-height: 1.1;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\twhite-space: nowrap;\n\t\t}\n\t\t.theme-picker-dots {\n\t\t\tdisplay: flex;\n\t\t\tgap: 0.3rem;\n\t\t}\n\t\t.theme-picker-dot {\n\t\t\twidth: 0.85rem;\n\t\t\theight: 0.85rem;\n\t\t\tborder-radius: 999px;\n\t\t\tbox-shadow: inset 0 0 0 1px color-mix(in oklch, var(--studio-line, black), transparent 65%);\n\t\t}\n\t\t.theme-picker-dot--fill { background: var(--studio-fill, #fff); }\n\t\t.theme-picker-dot--primary { background: var(--studio-primary, #35f7ca); }\n\t\t.theme-picker-dot--secondary { background: var(--studio-secondary, #ec6ca7); }\n\t\t.theme-picker-check {\n\t\t\tposition: absolute;\n\t\t\ttop: 0.35rem;\n\t\t\tright: 0.35rem;\n\t\t\twidth: 1.15rem;\n\t\t\theight: 1.15rem;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t\tborder-radius: 999px;\n\t\t\tfont-size: 0.7rem;\n\t\t\tcolor: var(--studio-fill, white);\n\t\t\tbackground: var(--studio-line, black);\n\t\t}\n\t\t.theme-picker-empty {\n\t\t\tpadding: var(--studio-space-md, 1rem);\n\t\t\tcolor: color-mix(in oklch, var(--studio-line, black), transparent 45%);\n\t\t\tfont-size: 0.9rem;\n\t\t}\n\t`;\n element.appendChild(style);\n const dispose = render(() => {\n const currentMode = () => themeState().mode;\n const activeThemeId = () => themeState().themeId;\n const showTwoSections = () => splitModes();\n function choose(mode, id) {\n if (mode === \"both\") {\n setThemeForMode(\"light\", id);\n setThemeForMode(\"dark\", id);\n } else {\n setThemeForMode(mode, id);\n }\n }\n function setSameForBoth(same) {\n if (same) {\n choose(\"both\", themeState().themeId);\n setSplitModes(false);\n } else {\n setSplitModes(true);\n }\n }\n function Card(props) {\n return (() => {\n var _el$ = _tmpl$2(),\n _el$2 = _el$.firstChild,\n _el$3 = _el$2.firstChild;\n _$addEventListener(_el$, \"click\", props.onChoose, true);\n _$insert(_el$3, () => themeLabel(props.theme));\n _$insert(_el$, _$createComponent(Show, {\n get when() {\n return props.selected;\n },\n get children() {\n return _tmpl$();\n }\n }), null);\n _$effect(_p$ => {\n var _v$ = props.selected ? \"\" : void 0,\n _v$2 = themeLabel(props.theme),\n _v$3 = props.theme.id;\n _v$ !== _p$.e && _$setAttribute(_el$, \"data-selected\", _p$.e = _v$);\n _v$2 !== _p$.t && _$setAttribute(_el$, \"title\", _p$.t = _v$2);\n _v$3 !== _p$.a && _$setAttribute(_el$2, \"theme\", _p$.a = _v$3);\n return _p$;\n }, {\n e: undefined,\n t: undefined,\n a: undefined\n });\n return _el$;\n })();\n }\n function Section(props) {\n const groups = () => groupsFor(props.groupMode);\n const primaryCaption = () => props.groupMode === \"light\" ? \"Light themes\" : \"Dark themes\";\n const secondaryCaption = () => props.groupMode === \"light\" ? \"Dark themes\" : \"Light themes\";\n const isNow = () => props.mode !== \"both\" && currentMode() === props.mode;\n return (() => {\n var _el$5 = _tmpl$6(),\n _el$6 = _el$5.firstChild,\n _el$7 = _el$6.firstChild,\n _el$0 = _el$6.nextSibling;\n _$insert(_el$7, () => props.label);\n _$insert(_el$6, _$createComponent(Show, {\n get when() {\n return isNow();\n },\n get children() {\n return _tmpl$3();\n }\n }), null);\n _$insert(_el$5, _$createComponent(Show, {\n get when() {\n return groups().secondary.length > 0;\n },\n get children() {\n var _el$9 = _tmpl$4();\n _$insert(_el$9, primaryCaption);\n return _el$9;\n }\n }), _el$0);\n _$insert(_el$0, _$createComponent(For, {\n get each() {\n return groups().primary;\n },\n children: theme => _$createComponent(Card, {\n theme: theme,\n get selected() {\n return props.selectedId === theme.id;\n },\n onChoose: () => choose(props.mode, theme.id)\n })\n }));\n _$insert(_el$5, _$createComponent(Show, {\n get when() {\n return groups().secondary.length > 0;\n },\n get children() {\n return [(() => {\n var _el$1 = _tmpl$4();\n _$insert(_el$1, secondaryCaption);\n return _el$1;\n })(), (() => {\n var _el$10 = _tmpl$5();\n _$insert(_el$10, _$createComponent(For, {\n get each() {\n return groups().secondary;\n },\n children: theme => _$createComponent(Card, {\n theme: theme,\n get selected() {\n return props.selectedId === theme.id;\n },\n onChoose: () => choose(props.mode, theme.id)\n })\n }));\n return _el$10;\n })()];\n }\n }), null);\n return _el$5;\n })();\n }\n return (() => {\n var _el$11 = _tmpl$8(),\n _el$12 = _el$11.firstChild,\n _el$13 = _el$12.firstChild,\n _el$14 = _el$13.nextSibling,\n _el$15 = _el$14.firstChild,\n _el$16 = _el$15.nextSibling,\n _el$17 = _el$16.firstChild,\n _el$18 = _el$16.nextSibling,\n _el$20 = _el$18.nextSibling,\n _el$21 = _el$12.nextSibling,\n _el$22 = _el$21.firstChild;\n _$insert(_el$16, currentMode, _el$17);\n _$insert(_el$20, () => nameFor(activeThemeId()));\n _el$22.addEventListener(\"change\", event => setSameForBoth(event.currentTarget.checked));\n _$insert(_el$11, _$createComponent(Show, {\n get when() {\n return themes().length === 0;\n },\n get children() {\n return _tmpl$7();\n }\n }), null);\n _$insert(_el$11, _$createComponent(Show, {\n get when() {\n return showTwoSections();\n },\n get fallback() {\n return _$createComponent(Section, {\n mode: \"both\",\n get groupMode() {\n return currentMode();\n },\n label: \"Theme\",\n get selectedId() {\n return activeThemeId();\n }\n });\n },\n get children() {\n return [_$createComponent(Section, {\n mode: \"light\",\n groupMode: \"light\",\n label: \"Light mode theme\",\n get selectedId() {\n return themeState().light;\n }\n }), _$createComponent(Section, {\n mode: \"dark\",\n groupMode: \"dark\",\n label: \"Dark mode theme\",\n get selectedId() {\n return themeState().dark;\n }\n })];\n }\n }), null);\n _$effect(() => _el$22.checked = !showTwoSections());\n return _el$11;\n })();\n }, element);\n return () => {\n unsubscribeThemeState();\n themeRegistry.off?.(\"registered\", refresh);\n themeRegistry.off?.(\"removed\", refresh);\n dispose();\n style.remove();\n };\n}\n_$delegateEvents([\"click\"]);"],
|
|
5
5
|
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|