ima2-gen 1.1.7 → 1.1.9

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.
Files changed (229) hide show
  1. package/README.md +56 -27
  2. package/bin/commands/annotate.js +137 -0
  3. package/bin/commands/annotate.ts +118 -0
  4. package/bin/commands/cancel.js +37 -33
  5. package/bin/commands/cancel.ts +45 -0
  6. package/bin/commands/canvas-versions.js +91 -0
  7. package/bin/commands/canvas-versions.ts +80 -0
  8. package/bin/commands/cardnews.js +293 -0
  9. package/bin/commands/cardnews.ts +248 -0
  10. package/bin/commands/comfy.js +63 -0
  11. package/bin/commands/comfy.ts +54 -0
  12. package/bin/commands/config.js +270 -0
  13. package/bin/commands/config.ts +265 -0
  14. package/bin/commands/edit.js +97 -72
  15. package/bin/commands/edit.ts +116 -0
  16. package/bin/commands/gen.js +140 -118
  17. package/bin/commands/gen.ts +176 -0
  18. package/bin/commands/history.js +164 -0
  19. package/bin/commands/history.ts +145 -0
  20. package/bin/commands/ls.js +60 -42
  21. package/bin/commands/ls.ts +60 -0
  22. package/bin/commands/metadata.js +45 -0
  23. package/bin/commands/metadata.ts +36 -0
  24. package/bin/commands/multimode.js +159 -0
  25. package/bin/commands/multimode.ts +146 -0
  26. package/bin/commands/node.js +176 -0
  27. package/bin/commands/node.ts +157 -0
  28. package/bin/commands/observability.js +201 -0
  29. package/bin/commands/observability.ts +176 -0
  30. package/bin/commands/ping.js +26 -20
  31. package/bin/commands/ping.ts +29 -0
  32. package/bin/commands/prompt.js +506 -0
  33. package/bin/commands/prompt.ts +421 -0
  34. package/bin/commands/ps.js +78 -71
  35. package/bin/commands/ps.ts +78 -0
  36. package/bin/commands/session.js +308 -0
  37. package/bin/commands/session.ts +265 -0
  38. package/bin/commands/show.js +75 -40
  39. package/bin/commands/show.ts +69 -0
  40. package/bin/ima2.js +324 -310
  41. package/bin/ima2.ts +444 -0
  42. package/bin/lib/args.js +75 -66
  43. package/bin/lib/args.ts +73 -0
  44. package/bin/lib/browser-id.js +15 -0
  45. package/bin/lib/browser-id.ts +16 -0
  46. package/bin/lib/client.js +91 -83
  47. package/bin/lib/client.ts +109 -0
  48. package/bin/lib/error-hints.js +14 -17
  49. package/bin/lib/error-hints.ts +23 -0
  50. package/bin/lib/files.js +26 -28
  51. package/bin/lib/files.ts +39 -0
  52. package/bin/lib/output.js +44 -42
  53. package/bin/lib/output.ts +58 -0
  54. package/bin/lib/platform.js +60 -56
  55. package/bin/lib/platform.ts +97 -0
  56. package/bin/lib/sse.js +73 -0
  57. package/bin/lib/sse.ts +73 -0
  58. package/bin/lib/star-prompt.js +69 -76
  59. package/bin/lib/star-prompt.ts +97 -0
  60. package/bin/lib/storage-doctor.js +34 -35
  61. package/bin/lib/storage-doctor.ts +38 -0
  62. package/config.js +147 -190
  63. package/config.ts +331 -0
  64. package/docs/API.md +48 -8
  65. package/docs/CLI.md +190 -0
  66. package/docs/FAQ.ko.md +5 -5
  67. package/docs/FAQ.md +5 -5
  68. package/docs/README.ja.md +71 -25
  69. package/docs/README.ko.md +61 -24
  70. package/docs/README.zh-CN.md +73 -27
  71. package/lib/assetLifecycle.js +130 -130
  72. package/lib/assetLifecycle.ts +142 -0
  73. package/lib/canvasVersionStore.js +135 -153
  74. package/lib/canvasVersionStore.ts +181 -0
  75. package/lib/cardNewsGenerator.js +127 -142
  76. package/lib/cardNewsGenerator.ts +162 -0
  77. package/lib/cardNewsJobStore.js +78 -84
  78. package/lib/cardNewsJobStore.ts +107 -0
  79. package/lib/cardNewsManifestStore.js +88 -93
  80. package/lib/cardNewsManifestStore.ts +112 -0
  81. package/lib/cardNewsPlanner.js +157 -152
  82. package/lib/cardNewsPlanner.ts +180 -0
  83. package/lib/cardNewsPlannerClient.js +101 -98
  84. package/lib/cardNewsPlannerClient.ts +114 -0
  85. package/lib/cardNewsPlannerPrompt.js +56 -56
  86. package/lib/cardNewsPlannerPrompt.ts +60 -0
  87. package/lib/cardNewsPlannerSchema.js +231 -223
  88. package/lib/cardNewsPlannerSchema.ts +259 -0
  89. package/lib/cardNewsRoleTemplateStore.js +39 -41
  90. package/lib/cardNewsRoleTemplateStore.ts +47 -0
  91. package/lib/cardNewsTemplateStore.js +171 -175
  92. package/lib/cardNewsTemplateStore.ts +210 -0
  93. package/lib/codexDetect.js +44 -47
  94. package/lib/codexDetect.ts +69 -0
  95. package/lib/comfyBridge.js +164 -184
  96. package/lib/comfyBridge.ts +214 -0
  97. package/lib/db.js +41 -51
  98. package/lib/db.ts +166 -0
  99. package/lib/errorClassify.js +62 -78
  100. package/lib/errorClassify.ts +100 -0
  101. package/lib/generationErrors.js +140 -103
  102. package/lib/generationErrors.ts +125 -0
  103. package/lib/historyList.js +149 -147
  104. package/lib/historyList.ts +164 -0
  105. package/lib/imageMetadata.js +86 -89
  106. package/lib/imageMetadata.ts +111 -0
  107. package/lib/imageMetadataStore.js +46 -51
  108. package/lib/imageMetadataStore.ts +67 -0
  109. package/lib/imageModels.js +38 -45
  110. package/lib/imageModels.ts +52 -0
  111. package/lib/inflight.js +131 -150
  112. package/lib/inflight.ts +204 -0
  113. package/lib/localImportStore.js +105 -0
  114. package/lib/localImportStore.ts +111 -0
  115. package/lib/logger.js +105 -112
  116. package/lib/logger.ts +150 -0
  117. package/lib/nodeStore.js +65 -64
  118. package/lib/nodeStore.ts +81 -0
  119. package/lib/oauthLauncher.js +61 -59
  120. package/lib/oauthLauncher.ts +64 -0
  121. package/lib/oauthNormalize.js +15 -19
  122. package/lib/oauthNormalize.ts +30 -0
  123. package/lib/oauthProxy.js +834 -832
  124. package/lib/oauthProxy.ts +995 -0
  125. package/lib/openDirectory.js +41 -40
  126. package/lib/openDirectory.ts +45 -0
  127. package/lib/pngInfo.js +18 -20
  128. package/lib/pngInfo.ts +26 -0
  129. package/lib/promptImport/curatedSources.js +135 -0
  130. package/lib/promptImport/curatedSources.ts +139 -0
  131. package/lib/promptImport/discoveryRegistry.js +218 -0
  132. package/lib/promptImport/discoveryRegistry.ts +236 -0
  133. package/lib/promptImport/errors.js +10 -10
  134. package/lib/promptImport/errors.ts +18 -0
  135. package/lib/promptImport/githubDiscovery.js +238 -0
  136. package/lib/promptImport/githubDiscovery.ts +248 -0
  137. package/lib/promptImport/githubFolder.js +302 -0
  138. package/lib/promptImport/githubFolder.ts +308 -0
  139. package/lib/promptImport/githubSource.js +194 -171
  140. package/lib/promptImport/githubSource.ts +239 -0
  141. package/lib/promptImport/gptImageHints.js +61 -0
  142. package/lib/promptImport/gptImageHints.ts +68 -0
  143. package/lib/promptImport/parsePromptCandidates.js +110 -112
  144. package/lib/promptImport/parsePromptCandidates.ts +153 -0
  145. package/lib/promptImport/promptIndex.js +230 -0
  146. package/lib/promptImport/promptIndex.ts +248 -0
  147. package/lib/promptImport/rankPromptCandidates.js +52 -0
  148. package/lib/promptImport/rankPromptCandidates.ts +49 -0
  149. package/lib/providerOptions.js +31 -0
  150. package/lib/providerOptions.ts +41 -0
  151. package/lib/referenceImageCompress.js +51 -62
  152. package/lib/referenceImageCompress.ts +75 -0
  153. package/lib/refs.js +93 -81
  154. package/lib/refs.ts +117 -0
  155. package/lib/requestLogger.js +32 -38
  156. package/lib/requestLogger.ts +48 -0
  157. package/lib/responsesImageAdapter.js +351 -0
  158. package/lib/responsesImageAdapter.ts +352 -0
  159. package/lib/runtimePorts.js +71 -73
  160. package/lib/runtimePorts.ts +93 -0
  161. package/lib/sessionStore.js +179 -230
  162. package/lib/sessionStore.ts +272 -0
  163. package/lib/storageMigration.js +247 -245
  164. package/lib/storageMigration.ts +284 -0
  165. package/lib/styleSheet.js +86 -90
  166. package/lib/styleSheet.ts +128 -0
  167. package/lib/systemTrash.js +18 -0
  168. package/lib/systemTrash.ts +20 -0
  169. package/package.json +26 -10
  170. package/routes/annotations.js +76 -79
  171. package/routes/annotations.ts +95 -0
  172. package/routes/canvasVersions.js +50 -54
  173. package/routes/canvasVersions.ts +64 -0
  174. package/routes/cardNews.js +158 -171
  175. package/routes/cardNews.ts +183 -0
  176. package/routes/comfy.js +23 -31
  177. package/routes/comfy.ts +39 -0
  178. package/routes/edit.js +183 -214
  179. package/routes/edit.ts +230 -0
  180. package/routes/generate.js +269 -291
  181. package/routes/generate.ts +309 -0
  182. package/routes/health.js +102 -107
  183. package/routes/health.ts +114 -0
  184. package/routes/history.js +136 -144
  185. package/routes/history.ts +153 -0
  186. package/routes/imageImport.js +33 -0
  187. package/routes/imageImport.ts +33 -0
  188. package/routes/index.js +18 -16
  189. package/routes/index.ts +35 -0
  190. package/routes/metadata.js +60 -64
  191. package/routes/metadata.ts +71 -0
  192. package/routes/multimode.js +228 -263
  193. package/routes/multimode.ts +280 -0
  194. package/routes/nodes.js +378 -424
  195. package/routes/nodes.ts +455 -0
  196. package/routes/promptImport.js +291 -152
  197. package/routes/promptImport.ts +354 -0
  198. package/routes/prompts.js +333 -360
  199. package/routes/prompts.ts +379 -0
  200. package/routes/sessions.js +277 -285
  201. package/routes/sessions.ts +292 -0
  202. package/routes/storage.js +29 -31
  203. package/routes/storage.ts +39 -0
  204. package/server.js +189 -196
  205. package/server.ts +235 -0
  206. package/ui/dist/.vite/manifest.json +101 -0
  207. package/ui/dist/assets/CardNewsWorkspace-BJOCey7Z.js +2 -0
  208. package/ui/dist/assets/NodeCanvas-BZV40eAE.css +1 -0
  209. package/ui/dist/assets/NodeCanvas-C3dzYNsk.js +7 -0
  210. package/ui/dist/assets/PromptImportDialog-Dqu1VpUh.js +2 -0
  211. package/ui/dist/assets/PromptImportDiscoverySection-Dg8T9X0L.js +1 -0
  212. package/ui/dist/assets/PromptImportFolderSection-DBaqsFO4.js +1 -0
  213. package/ui/dist/assets/PromptLibraryPanel-p5QqR97M.js +2 -0
  214. package/ui/dist/assets/SettingsWorkspace-B5bSAZ6u.js +1 -0
  215. package/ui/dist/assets/index-C9cXwiWE.js +25 -0
  216. package/ui/dist/assets/index-CGMIkZXn.css +1 -0
  217. package/ui/dist/assets/index-Cvld7dUZ.js +1 -0
  218. package/ui/dist/index.html +6 -3
  219. package/assets/screenshot.png +0 -0
  220. package/assets/screenshots/classic-generate-light.png +0 -0
  221. package/assets/screenshots/node-graph-branching.png +0 -0
  222. package/assets/screenshots/settings-oauth-generation.png +0 -0
  223. package/assets/screenshots/settings-workspace.png +0 -0
  224. package/assets/screenshots/style-sheet-editor.png +0 -0
  225. package/integrations/comfyui/ima2_gen_bridge/__pycache__/__init__.cpython-313.pyc +0 -0
  226. package/integrations/comfyui/ima2_gen_bridge/__pycache__/nodes.cpython-313.pyc +0 -0
  227. package/ui/dist/assets/index-DARPdT4Q.css +0 -1
  228. package/ui/dist/assets/index-ht80GMq4.js +0 -31
  229. package/ui/dist/assets/index-ht80GMq4.js.map +0 -1
@@ -0,0 +1 @@
1
+ import{b as c,h as S,i as E,u as m,j as e,c as o,k as T,l as L,T as R,I as k,W as $}from"./index-C9cXwiWE.js";function O(){const[t,r]=c.useState(null),[i,s]=c.useState(!1);return c.useEffect(()=>{let l=!1;return S().then(d=>{l||r(d)}).catch(()=>{l||s(!0)}),()=>{l=!0}},[]),{data:t,error:i}}function A(){const[t,r]=c.useState(null);return c.useEffect(()=>{let i=!1,s=null;const l=async()=>{try{const d=await E();if(i)return;r(d),d.status==="starting"&&(s=setTimeout(l,3e3))}catch{i||r(null)}};return l(),()=>{i=!0,s&&clearTimeout(s)}},[]),t}function C(t){return t==="ready"?"Ready":t==="auth_required"?"Login required":t==="starting"?"Starting":t==="offline"?"Offline":"Checking"}function I(){const{t}=m(),r=A(),{data:i,error:s}=O(),l=i?.apiKeySource==="env"||i?.apiKeySource==="config"||i?.apiKeyValid===!0,d=r?.status==="ready",u=i?.apiKeySource==="config"?t("settings.account.apiSourceConfig"):t("settings.account.apiSourceEnv"),g=i?.apiKeyValid===!0;return e.jsxs(e.Fragment,{children:[e.jsxs("article",{className:"settings-row",children:[e.jsxs("div",{className:"settings-row__copy",children:[e.jsx("p",{className:"settings-eyebrow",children:t("settings.account.primaryEyebrow")}),e.jsx("h4",{children:t("settings.account.oauthTitle")}),e.jsx("p",{children:t("settings.account.oauthBody")})]}),e.jsxs("div",{className:`settings-status${d?" is-ok":""}`,children:[e.jsx("span",{"aria-hidden":"true"}),C(r?.status)]})]}),l?e.jsxs("article",{className:"settings-row",children:[e.jsxs("div",{className:"settings-row__copy",children:[e.jsx("p",{className:"settings-eyebrow",children:u}),e.jsx("h4",{children:t("settings.account.apiTitle")}),e.jsx("p",{children:t("settings.account.apiBody")})]}),e.jsxs("div",{className:`settings-status${g?" is-ok":" is-muted"}`,children:[e.jsx("span",{"aria-hidden":"true"}),t(s?"settings.account.apiUnknown":g?"settings.account.apiReady":"settings.account.apiUnavailable")]})]}):null]})}function K(){const{t}=m(),r=o(l=>l.reasoningEffort),i=o(l=>l.setReasoningEffort),s=l=>{i(l.target.value)};return e.jsx("div",{className:"image-model-select image-model-select--settings",children:e.jsx("select",{id:"settings-reasoning-effort",value:r,onChange:s,children:T.map(l=>e.jsx("option",{value:l.value,children:t(l.fullLabelKey)},l.value))})})}const B={ko:"KO",en:"EN"};function F(){const{t,locale:r}=m(),i=o(s=>s.setLocale);return e.jsx("div",{className:"lang-toggle",role:"group","aria-label":t("language.label"),children:L.map(s=>e.jsx("button",{type:"button",className:`lang-toggle__btn ${r===s?"is-active":""}`,onClick:()=>i(s),"aria-pressed":r===s,title:t(`language.${s}`),children:e.jsx("span",{className:"lang-toggle__label",children:B[s]})},s))})}const D=["system","dark","light"];function M(){const{t}=m(),r=o(a=>a.theme),i=o(a=>a.setTheme),s=o(a=>a.themeFamily),l=o(a=>a.setThemeFamily),[d,u]=c.useState(!1),g=c.useRef(null);c.useEffect(()=>{if(!d)return;const a=x=>{g.current&&(g.current.contains(x.target)||u(!1))},h=x=>{x.key==="Escape"&&u(!1)};return document.addEventListener("mousedown",a),document.addEventListener("keydown",h),()=>{document.removeEventListener("mousedown",a),document.removeEventListener("keydown",h)}},[d]);const p=a=>t(`theme.family.${a}`);return e.jsxs("div",{className:"theme-toggle","aria-label":t("theme.label"),children:[e.jsxs("div",{className:"theme-toggle__row",children:[e.jsx("span",{className:"theme-toggle__label",id:"theme-style-label",children:t("theme.styleLabel")}),e.jsxs("div",{className:"theme-toggle__family",ref:g,children:[e.jsxs("button",{type:"button",className:"theme-toggle__family-trigger","aria-haspopup":"listbox","aria-expanded":d,"aria-labelledby":"theme-style-label",onClick:()=>u(a=>!a),children:[e.jsx("span",{className:`theme-toggle__family-dot theme-toggle__family-dot--${s}`,"aria-hidden":"true"}),e.jsx("span",{className:"theme-toggle__family-name",children:p(s)}),e.jsx("span",{className:"theme-toggle__family-caret","aria-hidden":"true",children:"▾"})]}),d?e.jsx("ul",{className:"theme-toggle__family-menu",role:"listbox","aria-labelledby":"theme-style-label",children:R.map(a=>e.jsx("li",{role:"none",children:e.jsxs("button",{type:"button",role:"option","aria-selected":s===a,className:`theme-toggle__family-option ${s===a?"is-active":""}`,onClick:()=>{l(a),u(!1)},children:[e.jsx("span",{className:`theme-toggle__family-dot theme-toggle__family-dot--${a}`,"aria-hidden":"true"}),e.jsx("span",{className:"theme-toggle__family-name",children:p(a)})]})},a))}):null]})]}),e.jsxs("div",{className:"theme-toggle__row",children:[e.jsx("span",{className:"theme-toggle__label",id:"theme-mode-label",children:t("theme.modeLabel")}),e.jsx("div",{className:"theme-toggle__mode",role:"group","aria-labelledby":"theme-mode-label",children:D.map(a=>e.jsx("button",{type:"button",className:`theme-toggle__btn ${r===a?"is-active":""}`,onClick:()=>i(a),"aria-pressed":r===a,title:t(`theme.${a}`),children:t(`theme.${a}`)},a))})]})]})}const P=["rail","horizontal","sidebar"];function G(){const{t}=m(),r=o(s=>s.historyStripLayout),i=o(s=>s.setHistoryStripLayout);return e.jsx("div",{className:"history-layout-toggle",role:"group","aria-label":t("settings.appearance.historyStripLayoutTitle"),children:P.map(s=>e.jsx("button",{type:"button",className:`history-layout-toggle__btn ${r===s?"is-active":""}`,onClick:()=>i(s),"aria-pressed":r===s,title:t(`settings.appearance.historyStripLayout.${s}`),children:t(`settings.appearance.historyStripLayout.${s}`)},s))})}const y=["account","generation","appearance","language","future"];function f({id:t,setRef:r,children:i}){const{t:s}=m();return e.jsxs("section",{id:t,ref:l=>r(t,l),className:"settings-section","aria-labelledby":`settings-section-${t}`,children:[e.jsx("header",{className:"settings-section__header",children:e.jsxs("div",{children:[e.jsx("h3",{id:`settings-section-${t}`,children:s(`settings.sections.${t}.title`)}),e.jsx("p",{children:s(`settings.sections.${t}.hint`)})]})}),e.jsx("div",{className:"settings-section__body",children:i})]})}function U(){const{t}=m(),r=o(n=>n.activeSettingsSection),i=o(n=>n.setActiveSettingsSection),s=o(n=>n.closeSettings),l=o(n=>n.galleryDefaultScope),d=o(n=>n.setGalleryDefaultScope),u=c.useRef(null),g=c.useRef(null),p=c.useRef(!1),a=c.useRef({account:null,generation:null,appearance:null,language:null,future:null}),h=(n,j)=>{a.current[n]=j},x=n=>{i(n),p.current=!0,a.current[n]?.scrollIntoView({behavior:"auto",block:"start"}),g.current!==null&&window.clearTimeout(g.current),g.current=window.setTimeout(()=>{p.current=!1,g.current=null},120)};return c.useEffect(()=>{const n=j=>{j.key==="Escape"&&s()};return window.addEventListener("keydown",n),()=>window.removeEventListener("keydown",n)},[s]),c.useEffect(()=>{const n=u.current;if(!n||typeof IntersectionObserver!="function")return;const j=new IntersectionObserver(_=>{if(p.current)return;const b=_.filter(N=>N.isIntersecting).sort((N,w)=>w.intersectionRatio-N.intersectionRatio)[0]?.target.id;b&&y.includes(b)&&i(b)},{root:n,threshold:[.35,.6]});for(const _ of y){const v=a.current[_];v&&j.observe(v)}return()=>j.disconnect()},[i]),c.useEffect(()=>()=>{g.current!==null&&window.clearTimeout(g.current)},[]),e.jsx("main",{ref:u,className:"settings-workspace","aria-labelledby":"settings-title",children:e.jsxs("div",{className:"settings-shell",children:[e.jsxs("header",{className:"settings-header",children:[e.jsxs("div",{children:[e.jsx("p",{className:"settings-eyebrow",children:t("settings.eyebrow")}),e.jsx("h2",{id:"settings-title",children:t("settings.title")}),e.jsx("p",{children:t("settings.subtitle")})]}),e.jsx("button",{type:"button",className:"settings-close",onClick:s,"aria-label":t("settings.closeAria"),title:t("settings.closeTitle"),children:"X"})]}),e.jsxs("div",{className:"settings-layout",children:[e.jsx("nav",{className:"settings-nav settings-nav--mobile","aria-label":t("settings.navAria"),children:e.jsx("select",{value:r,onChange:n=>x(n.target.value),"aria-label":t("settings.navAria"),children:y.map(n=>e.jsx("option",{value:n,children:t(`settings.sections.${n}.title`)},n))})}),e.jsx("nav",{className:"settings-nav","aria-label":t("settings.navAria"),children:y.map(n=>e.jsxs("button",{type:"button",className:`settings-nav__item${r===n?" is-active":""}`,onClick:()=>x(n),"aria-label":t("settings.jumpTo",{section:t(`settings.sections.${n}.title`)}),children:[e.jsx("span",{children:t(`settings.sections.${n}.title`)}),e.jsx("small",{children:t(`settings.sections.${n}.hint`)})]},n))}),e.jsxs("section",{className:"settings-content","aria-label":t("settings.contentAria"),children:[e.jsx(f,{id:"account",setRef:h,children:e.jsx(I,{})}),e.jsxs(f,{id:"generation",setRef:h,children:[e.jsxs("article",{className:"settings-row",children:[e.jsxs("div",{className:"settings-row__copy",children:[e.jsx("h4",{children:t("settings.imageModel.title")}),e.jsx("p",{children:t("settings.imageModel.body")}),e.jsx("p",{className:"settings-row__microcopy",children:t("settings.imageModel.unsupportedHelp")})]}),e.jsx("div",{className:"settings-row__control",children:e.jsx(k,{variant:"settings"})})]}),e.jsxs("article",{className:"settings-row",children:[e.jsxs("div",{className:"settings-row__copy",children:[e.jsx("h4",{children:t("settings.reasoning.title")}),e.jsx("p",{children:t("settings.reasoning.body")})]}),e.jsx("div",{className:"settings-row__control",children:e.jsx(K,{})})]}),e.jsxs("article",{className:"settings-row",children:[e.jsxs("div",{className:"settings-row__copy",children:[e.jsx("h4",{children:t("settings.webSearch.title")}),e.jsx("p",{children:t("settings.webSearch.body")})]}),e.jsx("div",{className:"settings-row__control",children:e.jsx($,{})})]}),e.jsxs("article",{className:"settings-row",children:[e.jsxs("div",{className:"settings-row__copy",children:[e.jsx("h4",{children:t("settings.gallery.defaultScopeTitle")}),e.jsx("p",{children:t("settings.gallery.defaultScopeBody")})]}),e.jsx("div",{className:"settings-row__control",children:e.jsxs("select",{value:l,onChange:n=>d(n.target.value),"aria-label":t("settings.gallery.defaultScopeTitle"),children:[e.jsx("option",{value:"current-session",children:t("gallery.scope.current")}),e.jsx("option",{value:"all",children:t("gallery.scope.all")})]})})]})]}),e.jsxs(f,{id:"appearance",setRef:h,children:[e.jsxs("article",{className:"settings-row",children:[e.jsxs("div",{className:"settings-row__copy",children:[e.jsx("h4",{children:t("settings.appearance.themeTitle")}),e.jsx("p",{children:t("settings.appearance.themeBody")})]}),e.jsx("div",{className:"settings-row__control",children:e.jsx(M,{})})]}),e.jsxs("article",{className:"settings-row",children:[e.jsxs("div",{className:"settings-row__copy",children:[e.jsx("h4",{children:t("settings.appearance.historyStripLayoutTitle")}),e.jsx("p",{children:t("settings.appearance.historyStripLayoutBody")})]}),e.jsx("div",{className:"settings-row__control",children:e.jsx(G,{})})]})]}),e.jsx(f,{id:"language",setRef:h,children:e.jsxs("article",{className:"settings-row",children:[e.jsxs("div",{className:"settings-row__copy",children:[e.jsx("h4",{children:t("settings.language.title")}),e.jsx("p",{children:t("settings.language.body")})]}),e.jsx("div",{className:"settings-row__control",children:e.jsx(F,{})})]})}),e.jsx(f,{id:"future",setRef:h,children:e.jsxs("article",{className:"settings-note",children:[e.jsx("h4",{children:t("settings.future.title")}),e.jsx("p",{children:t("settings.future.body")})]})})]})]})]})})}export{U as SettingsWorkspace};