@mdwrk/extension-language-pack-studio 1.0.3 → 1.0.6

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/README.md CHANGED
@@ -1,11 +1,34 @@
1
1
  # @mdwrk/extension-language-pack-studio
2
2
 
3
- Bundled language-pack studio extension for Markdown Workspace.
3
+ **Language-pack authoring extension**
4
4
 
5
- ## Capabilities
5
+ <p align="center">
6
+ <a href="https://github.com/groupsum/markdown_workspace/blob/master/packages/extensions/extension-language-pack-studio/README.md"><img alt="Hits" src="https://visitor-badge.laobi.icu/badge?page_id=groupsum.markdown_workspace.packages_extensions_extension_language_pack_studio_README&amp;left_text=hits" /></a>
7
+ <a href="https://www.npmjs.com/package/@mdwrk/extension-language-pack-studio"><img alt="Downloads" src="https://img.shields.io/npm/dm/%40mdwrk%2Fextension-language-pack-studio?label=downloads" /></a>
8
+ <a href="../../../package.json"><img alt="Node" src="https://img.shields.io/badge/node-20.x%20%7C%2021.x%20%7C%2022.x-339933?logo=node.js&amp;logoColor=white" /></a>
9
+ <a href="../../../LICENSE"><img alt="License: Apache-2.0" src="https://img.shields.io/badge/license-Apache--2.0-blue.svg" /></a>
10
+ </p>
6
11
 
7
- - pane-first language-pack management for built-in and installed packs
8
- - settings-menu summary content that opens the full workspace pane
9
- - enable / disable all language packs including built-ins
10
- - IndexedDB-backed persistence for installed packs and built-in disablement
11
- - single-pane, split-screen, and collapsible workspace-sidebar layouts
12
+ This package provides the first-party extension for inspecting and shaping language-pack data inside MdWrk hosts.
13
+
14
+ ## Why
15
+ Use it when localization authoring should remain an extension concern instead of being hard-wired into the app shell.
16
+
17
+ ## What
18
+ - Bundled extension entrypoints and language-pack helpers.
19
+ - A first-party consumer of the i18n package family and host APIs.
20
+ - A workspace authoring surface for localization-related workflows.
21
+
22
+ ## Installation
23
+ Node.js 20.x through 22.x, matching the workspace engine contract in the root package manifest.
24
+
25
+ ```bash
26
+ npm install @mdwrk/extension-language-pack-studio @mdwrk/i18n
27
+ ```
28
+
29
+ ## Usage
30
+ Load it as a bundled extension in a host with i18n and workspace capabilities.
31
+
32
+ ## Related
33
+ - [Packages index](../../README.md) - family and package navigation
34
+ - [Root README](../../../README.md) - repo overview
@@ -1 +1 @@
1
- {"version":3,"file":"LanguagePackStudioSettingsPanel.d.ts","sourceRoot":"","sources":["../../src/components/LanguagePackStudioSettingsPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAE3D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAEhE,MAAM,WAAW,oCAAoC;IACnD,QAAQ,CAAC,UAAU,EAAE,4BAA4B,CAAC;IAClD,QAAQ,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,KAAK,MAAM,CAAC;CAC7D;AAED,eAAO,MAAM,+BAA+B,EAAE,KAAK,CAAC,EAAE,CAAC,oCAAoC,CAqC1F,CAAC"}
1
+ {"version":3,"file":"LanguagePackStudioSettingsPanel.d.ts","sourceRoot":"","sources":["../../src/components/LanguagePackStudioSettingsPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAE3D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAGhE,MAAM,WAAW,oCAAoC;IACnD,QAAQ,CAAC,UAAU,EAAE,4BAA4B,CAAC;IAClD,QAAQ,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,KAAK,MAAM,CAAC;CAC7D;AAED,eAAO,MAAM,+BAA+B,EAAE,KAAK,CAAC,EAAE,CAAC,oCAAoC,CAiC1F,CAAC"}
@@ -1,10 +1,11 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import React from "react";
3
2
  import { useSyncExternalStore } from "react";
3
+ import { languagePackStudioLabels } from "../i18n.js";
4
4
  export const LanguagePackStudioSettingsPanel = ({ controller, open, formatLabel, }) => {
5
5
  const snapshot = useSyncExternalStore(controller.subscribe, controller.getSnapshot, controller.getSnapshot);
6
6
  const builtIns = snapshot.packs.filter((pack) => pack.source === "built-in").length;
7
7
  const installed = snapshot.packs.filter((pack) => pack.source === "installed").length;
8
- return (_jsx("div", { className: "settings-pane", children: _jsxs("div", { className: "settings-card settings-card-stack", children: [_jsxs("div", { style: { display: "grid", gap: 6 }, children: [_jsx("span", { className: "settings-session-label", children: formatLabel("LANGUAGE_PACK_STUDIO") }), _jsx("strong", { style: { fontSize: 13 }, children: formatLabel("Language Pack Studio") }), _jsx("p", { style: { margin: 0, fontSize: 11, color: "var(--fg-muted)", lineHeight: 1.4 }, children: formatLabel("Use the pane workspace for token audits, import/export, built-in enablement, and pack authoring.") })] }), _jsxs("div", { className: "settings-session-grid", children: [_jsxs("div", { className: "settings-session-item", children: [_jsx("span", { className: "settings-session-label", children: "PACKS" }), _jsx("span", { className: "settings-session-value", children: snapshot.packs.length })] }), _jsxs("div", { className: "settings-session-item", children: [_jsx("span", { className: "settings-session-label", children: "BUILT_IN" }), _jsx("span", { className: "settings-session-value", children: builtIns })] }), _jsxs("div", { className: "settings-session-item", children: [_jsx("span", { className: "settings-session-label", children: "INSTALLED" }), _jsx("span", { className: "settings-session-value", children: installed })] }), _jsxs("div", { className: "settings-session-item", children: [_jsx("span", { className: "settings-session-label", children: "ACTIVE" }), _jsx("span", { className: "settings-session-value", children: snapshot.activeLocale })] })] }), _jsxs("div", { className: "settings-chip-row", children: [_jsxs("span", { className: "settings-chip", children: [builtIns, " BUILT_IN"] }), _jsxs("span", { className: "settings-chip", children: [snapshot.packs.filter((pack) => pack.enabled).length, " ENABLED"] }), _jsx("span", { className: "settings-chip", children: "EN_FALLBACK" }), _jsx("span", { className: "settings-chip", children: "INDEXEDDB" })] }), _jsx("div", { className: "settings-action-row", style: { padding: 6 }, children: _jsx("button", { type: "button", className: "modal-btn modal-btn-primary", onClick: () => void open(), children: "OPEN_STUDIO" }) })] }) }));
8
+ const enabled = snapshot.packs.filter((pack) => pack.enabled).length;
9
+ return (_jsx("div", { className: "settings-pane", children: _jsxs("div", { className: "settings-card settings-card-stack", children: [_jsxs("div", { style: { display: "grid", gap: 6 }, children: [_jsx("span", { className: "settings-session-label", children: formatLabel(languagePackStudioLabels.settingsShortcutKicker) }), _jsx("strong", { style: { fontSize: 13 }, children: formatLabel(languagePackStudioLabels.settingsShortcutTitle) }), _jsx("p", { style: { margin: 0, fontSize: 11, color: "var(--fg-muted)", lineHeight: 1.4 }, children: formatLabel(languagePackStudioLabels.settingsShortcutDescription) })] }), _jsxs("div", { className: "settings-session-grid", children: [_jsxs("div", { className: "settings-session-item", children: [_jsx("span", { className: "settings-session-label", children: formatLabel(languagePackStudioLabels.settingsStatsPacks) }), _jsx("span", { className: "settings-session-value", children: snapshot.packs.length })] }), _jsxs("div", { className: "settings-session-item", children: [_jsx("span", { className: "settings-session-label", children: formatLabel(languagePackStudioLabels.settingsStatsEnabled) }), _jsx("span", { className: "settings-session-value", children: enabled })] }), _jsxs("div", { className: "settings-session-item", children: [_jsx("span", { className: "settings-session-label", children: formatLabel(languagePackStudioLabels.settingsStatsBuiltIn) }), _jsx("span", { className: "settings-session-value", children: builtIns })] }), _jsxs("div", { className: "settings-session-item", children: [_jsx("span", { className: "settings-session-label", children: formatLabel(languagePackStudioLabels.settingsStatsInstalled) }), _jsx("span", { className: "settings-session-value", children: installed })] }), _jsxs("div", { className: "settings-session-item", children: [_jsx("span", { className: "settings-session-label", children: formatLabel(languagePackStudioLabels.settingsStatsActive) }), _jsx("span", { className: "settings-session-value", children: snapshot.activeLocale })] })] }), _jsx("div", { className: "settings-action-row", style: { padding: 6 }, children: _jsx("button", { type: "button", className: "modal-btn modal-btn-primary", onClick: () => void open(), children: formatLabel(languagePackStudioLabels.settingsOpenStudio) }) })] }) }));
9
10
  };
10
11
  //# sourceMappingURL=LanguagePackStudioSettingsPanel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LanguagePackStudioSettingsPanel.js","sourceRoot":"","sources":["../../src/components/LanguagePackStudioSettingsPanel.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAS7C,MAAM,CAAC,MAAM,+BAA+B,GAAmD,CAAC,EAC9F,UAAU,EACV,IAAI,EACJ,WAAW,GACZ,EAAE,EAAE;IACH,MAAM,QAAQ,GAAG,oBAAoB,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IAC5G,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,MAAM,CAAC;IACpF,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,MAAM,CAAC;IAEtF,OAAO,CACL,cAAK,SAAS,EAAC,eAAe,YAC5B,eAAK,SAAS,EAAC,mCAAmC,aAChD,eAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,aACrC,eAAM,SAAS,EAAC,wBAAwB,YAAE,WAAW,CAAC,sBAAsB,CAAC,GAAQ,EACrF,iBAAQ,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,YAAG,WAAW,CAAC,sBAAsB,CAAC,GAAU,EAC/E,YAAG,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,GAAG,EAAE,YAC7E,WAAW,CAAC,kGAAkG,CAAC,GAC9G,IACA,EACN,eAAK,SAAS,EAAC,uBAAuB,aACpC,eAAK,SAAS,EAAC,uBAAuB,aAAC,eAAM,SAAS,EAAC,wBAAwB,sBAAa,EAAA,eAAM,SAAS,EAAC,wBAAwB,YAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAQ,IAAM,EACzK,eAAK,SAAS,EAAC,uBAAuB,aAAC,eAAM,SAAS,EAAC,wBAAwB,yBAAgB,EAAA,eAAM,SAAS,EAAC,wBAAwB,YAAE,QAAQ,GAAQ,IAAM,EAC/J,eAAK,SAAS,EAAC,uBAAuB,aAAC,eAAM,SAAS,EAAC,wBAAwB,0BAAiB,EAAA,eAAM,SAAS,EAAC,wBAAwB,YAAE,SAAS,GAAQ,IAAM,EACjK,eAAK,SAAS,EAAC,uBAAuB,aAAC,eAAM,SAAS,EAAC,wBAAwB,uBAAc,EAAA,eAAM,SAAS,EAAC,wBAAwB,YAAE,QAAQ,CAAC,YAAY,GAAQ,IAAM,IACtK,EACN,eAAK,SAAS,EAAC,mBAAmB,aAChC,gBAAM,SAAS,EAAC,eAAe,aAAE,QAAQ,iBAAiB,EAC1D,gBAAM,SAAS,EAAC,eAAe,aAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,gBAAgB,EACrG,eAAM,SAAS,EAAC,eAAe,4BAAmB,EAClD,eAAM,SAAS,EAAC,eAAe,0BAAiB,IAC5C,EACN,cAAK,SAAS,EAAC,qBAAqB,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,YACxD,iBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,6BAA6B,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,4BAAsB,GAC1G,IACF,GACF,CACP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"LanguagePackStudioSettingsPanel.js","sourceRoot":"","sources":["../../src/components/LanguagePackStudioSettingsPanel.tsx"],"names":[],"mappings":"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"}
@@ -9,6 +9,6 @@ export interface LanguagePackStudioViewProps {
9
9
  readonly onShellSidebarToggle?: (open: boolean) => void;
10
10
  readonly embedBrowserInShellSidebar?: boolean;
11
11
  }
12
- export declare const LanguagePackStudioSidebar: FC<Pick<LanguagePackStudioViewProps, "controller">>;
12
+ export declare const LanguagePackStudioSidebar: FC<Pick<LanguagePackStudioViewProps, "controller" | "formatLabel">>;
13
13
  export declare const LanguagePackStudioView: FC<LanguagePackStudioViewProps>;
14
14
  //# sourceMappingURL=LanguagePackStudioView.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LanguagePackStudioView.d.ts","sourceRoot":"","sources":["../../src/components/LanguagePackStudioView.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,EAAE,EAAwE,MAAM,OAAO,CAAC;AAC1H,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAgB3D,OAAO,KAAK,EAAE,4BAA4B,EAA8B,MAAM,aAAa,CAAC;AAuB5F,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,UAAU,EAAE,4BAA4B,CAAC;IAClD,QAAQ,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,KAAK,MAAM,CAAC;IAC5D,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACxD,QAAQ,CAAC,0BAA0B,CAAC,EAAE,OAAO,CAAC;CAC/C;AA+HD,eAAO,MAAM,yBAAyB,EAAE,EAAE,CAAC,IAAI,CAAC,2BAA2B,EAAE,YAAY,CAAC,CAGzF,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,EAAE,CAAC,2BAA2B,CA8PlE,CAAC"}
1
+ {"version":3,"file":"LanguagePackStudioView.d.ts","sourceRoot":"","sources":["../../src/components/LanguagePackStudioView.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,EAAE,EAAwE,MAAM,OAAO,CAAC;AAC1H,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAe3D,OAAO,KAAK,EAAE,4BAA4B,EAA8B,MAAM,aAAa,CAAC;AA0E5F,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,UAAU,EAAE,4BAA4B,CAAC;IAClD,QAAQ,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,KAAK,MAAM,CAAC;IAC5D,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACxD,QAAQ,CAAC,0BAA0B,CAAC,EAAE,OAAO,CAAC;CAC/C;AAiID,eAAO,MAAM,yBAAyB,EAAE,EAAE,CAAC,IAAI,CAAC,2BAA2B,EAAE,YAAY,GAAG,aAAa,CAAC,CAGzG,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,EAAE,CAAC,2BAA2B,CAmWlE,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useDeferredValue, useEffect, useMemo, useState, useSyncExternalStore } from "react";
3
- import { Columns2, Download, Languages, PackagePlus, Sidebar, SidebarOpen, Power, PowerOff, Square, SplitSquareHorizontal, Trash2, Upload, X, } from "lucide-react";
3
+ import { Columns2, Download, PackagePlus, Sidebar, SidebarOpen, Power, PowerOff, Square, SplitSquareHorizontal, Trash2, Upload, X, } from "lucide-react";
4
+ import { languagePackStudioLabels } from "../i18n.js";
4
5
  function downloadJson(filename, value) {
5
6
  const blob = new Blob([JSON.stringify(value, null, 2)], { type: "application/json" });
6
7
  const url = URL.createObjectURL(blob);
@@ -10,6 +11,11 @@ function downloadJson(filename, value) {
10
11
  link.click();
11
12
  URL.revokeObjectURL(url);
12
13
  }
14
+ function pruneMessages(messages) {
15
+ return Object.fromEntries(Object.entries(messages)
16
+ .map(([key, value]) => [key.trim(), value.trim()])
17
+ .filter(([key, value]) => key.length > 0 && value.length > 0));
18
+ }
13
19
  const denseInputStyle = {
14
20
  width: "100%",
15
21
  border: "1px solid var(--border-color)",
@@ -20,6 +26,45 @@ const denseInputStyle = {
20
26
  fontSize: 11,
21
27
  lineHeight: 1.4,
22
28
  };
29
+ const getSplitBand = (value) => {
30
+ const clamped = Math.min(80, Math.max(20, value));
31
+ return Math.round(clamped / 5) * 5;
32
+ };
33
+ function useWorkspaceModuleSplit(defaultPosition = 58) {
34
+ const [splitPos, setSplitPos] = useState(defaultPosition);
35
+ const [isDragging, setIsDragging] = useState(false);
36
+ const [splitContainer, setSplitContainer] = useState(null);
37
+ useEffect(() => {
38
+ const handleMouseMove = (event) => {
39
+ if (!isDragging || !splitContainer)
40
+ return;
41
+ const rect = splitContainer.getBoundingClientRect();
42
+ if (rect.width <= 0)
43
+ return;
44
+ setSplitPos(getSplitBand(((event.clientX - rect.left) / rect.width) * 100));
45
+ };
46
+ const handleMouseUp = () => setIsDragging(false);
47
+ if (isDragging) {
48
+ window.addEventListener("mousemove", handleMouseMove);
49
+ window.addEventListener("mouseup", handleMouseUp);
50
+ document.body.classList.add("is-resizing-pane");
51
+ }
52
+ else {
53
+ document.body.classList.remove("is-resizing-pane");
54
+ }
55
+ return () => {
56
+ window.removeEventListener("mousemove", handleMouseMove);
57
+ window.removeEventListener("mouseup", handleMouseUp);
58
+ document.body.classList.remove("is-resizing-pane");
59
+ };
60
+ }, [isDragging, splitContainer]);
61
+ return {
62
+ splitBand: getSplitBand(splitPos),
63
+ isDragging,
64
+ splitContainerRef: setSplitContainer,
65
+ startSplitDrag: () => setIsDragging(true),
66
+ };
67
+ }
23
68
  const createLanguageBrowserStore = () => {
24
69
  let state = { browserQuery: "", browserFilter: "all", selectedLocale: null };
25
70
  const listeners = new Set();
@@ -49,7 +94,7 @@ function useLanguageBrowserState(controller) {
49
94
  const state = useSyncExternalStore(store.subscribe, store.getSnapshot, store.getSnapshot);
50
95
  return { state, setState: store.setState };
51
96
  }
52
- function LanguagePackBrowserSidebar({ controller, snapshot, }) {
97
+ function LanguagePackBrowserSidebar({ controller, snapshot, formatLabel, }) {
53
98
  const { state, setState } = useLanguageBrowserState(controller);
54
99
  const deferredBrowserQuery = useDeferredValue(state.browserQuery.trim().toLowerCase());
55
100
  const builtInPackCount = snapshot.packs.filter((pack) => pack.source === "built-in").length;
@@ -66,18 +111,18 @@ function LanguagePackBrowserSidebar({ controller, snapshot, }) {
66
111
  const haystack = `${pack.locale} ${pack.label} ${pack.source} ${pack.enabled ? "enabled" : "disabled"}`.toLowerCase();
67
112
  return haystack.includes(deferredBrowserQuery);
68
113
  }), [deferredBrowserQuery, snapshot.packs, state.browserFilter]);
69
- return (_jsxs("div", { className: "workspace-panel-content", style: { display: "grid", gap: 12, padding: 12 }, children: [_jsxs("div", { className: "settings-card settings-card-stack", children: [_jsxs("div", { className: "settings-session-grid", children: [_jsxs("div", { className: "settings-session-item", children: [_jsx("span", { className: "settings-session-label", children: "PACKS" }), _jsx("span", { className: "settings-session-value", children: snapshot.packs.length })] }), _jsxs("div", { className: "settings-session-item", children: [_jsx("span", { className: "settings-session-label", children: "ENABLED" }), _jsx("span", { className: "settings-session-value", children: snapshot.packs.filter((pack) => pack.enabled).length })] }), _jsxs("div", { className: "settings-session-item", children: [_jsx("span", { className: "settings-session-label", children: "BUILT_IN" }), _jsx("span", { className: "settings-session-value", children: builtInPackCount })] }), _jsxs("div", { className: "settings-session-item", children: [_jsx("span", { className: "settings-session-label", children: "ACTIVE" }), _jsx("span", { className: "settings-session-value", children: snapshot.activeLocale })] })] }), _jsxs("div", { className: "settings-chip-row", children: [_jsx("span", { className: "settings-chip", children: "LANGUAGE_BROWSER" }), _jsx("span", { className: "settings-chip", children: "INDEXEDDB" }), _jsx("span", { className: "settings-chip", children: "BUILT_IN + INSTALLED" })] })] }), _jsxs("div", { className: "settings-card settings-card-stack", style: { gap: 8 }, children: [_jsx("input", { style: denseInputStyle, value: state.browserQuery, onChange: (event) => setState({ browserQuery: event.target.value }), placeholder: "Filter locale, label, source", "aria-label": "Filter language browser" }), _jsx("div", { className: "settings-chip-row", children: [
70
- ["all", `ALL ${snapshot.packs.length}`],
71
- ["built-in", `BUILT_IN ${builtInPackCount}`],
72
- ["installed", `INSTALLED ${installedPackCount}`],
73
- ["disabled", `DISABLED ${snapshot.packs.filter((pack) => !pack.enabled).length}`],
74
- ].map(([value, label]) => (_jsx("button", { type: "button", className: `view-toolbar-btn ${state.browserFilter === value ? "active" : ""}`, onClick: () => setState({ browserFilter: value }), children: label }, value))) }), filteredPacks.map((pack) => (_jsxs("button", { type: "button", className: `settings-sidebar-btn ${state.selectedLocale === pack.locale ? "active" : ""}`, onClick: () => setState({ selectedLocale: pack.locale }), style: { justifyContent: "space-between", gap: 10 }, children: [_jsx("span", { style: { textAlign: "left" }, children: pack.label }), _jsx("span", { className: "settings-session-label", children: pack.source === "built-in" ? "BUILT_IN" : pack.enabled ? "INSTALLED" : "DISABLED" })] }, `${pack.source}:${pack.locale}`))), filteredPacks.length === 0 && _jsx("span", { className: "text-[11px] text-[var(--fg-muted)]", children: "No language packs match the current browser filter." })] })] }));
114
+ return (_jsxs("div", { className: "workspace-panel-content", style: { display: "grid", gap: 12, padding: 12 }, children: [_jsxs("div", { className: "settings-card settings-card-stack", children: [_jsxs("div", { className: "settings-session-grid", children: [_jsxs("div", { className: "settings-session-item", children: [_jsx("span", { className: "settings-session-label", children: formatLabel(languagePackStudioLabels.settingsStatsPacks) }), _jsx("span", { className: "settings-session-value", children: snapshot.packs.length })] }), _jsxs("div", { className: "settings-session-item", children: [_jsx("span", { className: "settings-session-label", children: formatLabel(languagePackStudioLabels.settingsStatsEnabled) }), _jsx("span", { className: "settings-session-value", children: snapshot.packs.filter((pack) => pack.enabled).length })] }), _jsxs("div", { className: "settings-session-item", children: [_jsx("span", { className: "settings-session-label", children: formatLabel(languagePackStudioLabels.settingsStatsBuiltIn) }), _jsx("span", { className: "settings-session-value", children: builtInPackCount })] }), _jsxs("div", { className: "settings-session-item", children: [_jsx("span", { className: "settings-session-label", children: formatLabel(languagePackStudioLabels.settingsStatsActive) }), _jsx("span", { className: "settings-session-value", children: snapshot.activeLocale })] })] }), _jsxs("div", { className: "settings-chip-row", children: [_jsx("span", { className: "settings-chip", children: formatLabel(languagePackStudioLabels.browserChip) }), _jsx("span", { className: "settings-chip", children: formatLabel(languagePackStudioLabels.panelChipIndexedDb) }), _jsx("span", { className: "settings-chip", children: formatLabel(languagePackStudioLabels.panelChipBuiltInInstalled) })] })] }), _jsxs("div", { className: "settings-card settings-card-stack", style: { gap: 8 }, children: [_jsx("input", { style: denseInputStyle, value: state.browserQuery, onChange: (event) => setState({ browserQuery: event.target.value }), placeholder: formatLabel(languagePackStudioLabels.browserFilterPlaceholder), "aria-label": formatLabel(languagePackStudioLabels.browserFilterAria) }), _jsx("div", { className: "settings-chip-row", children: [
115
+ ["all", `${formatLabel(languagePackStudioLabels.browserFilterAll)} ${snapshot.packs.length}`],
116
+ ["built-in", `${formatLabel(languagePackStudioLabels.browserFilterBuiltIn)} ${builtInPackCount}`],
117
+ ["installed", `${formatLabel(languagePackStudioLabels.browserFilterInstalled)} ${installedPackCount}`],
118
+ ["disabled", `${formatLabel(languagePackStudioLabels.browserFilterDisabled)} ${snapshot.packs.filter((pack) => !pack.enabled).length}`],
119
+ ].map(([value, label]) => (_jsx("button", { type: "button", className: `view-toolbar-btn ${state.browserFilter === value ? "active" : ""}`, onClick: () => setState({ browserFilter: value }), children: label }, value))) }), filteredPacks.map((pack) => (_jsxs("button", { type: "button", className: `settings-sidebar-btn ${state.selectedLocale === pack.locale ? "active" : ""}`, onClick: () => setState({ selectedLocale: pack.locale }), style: { justifyContent: "space-between", gap: 10 }, children: [_jsx("span", { style: { textAlign: "left" }, children: pack.label }), _jsx("span", { className: "settings-session-label", children: pack.source === "built-in" ? formatLabel(languagePackStudioLabels.browserFilterBuiltIn) : pack.enabled ? formatLabel(languagePackStudioLabels.browserFilterInstalled) : formatLabel(languagePackStudioLabels.browserFilterDisabled) })] }, `${pack.source}:${pack.locale}`))), filteredPacks.length === 0 && _jsx("span", { className: "settings-muted-caption", children: formatLabel(languagePackStudioLabels.browserEmpty) })] })] }));
75
120
  }
76
- export const LanguagePackStudioSidebar = ({ controller }) => {
121
+ export const LanguagePackStudioSidebar = ({ controller, formatLabel }) => {
77
122
  const snapshot = useSyncExternalStore(controller.subscribe, controller.getSnapshot, controller.getSnapshot);
78
- return _jsx(LanguagePackBrowserSidebar, { controller: controller, snapshot: snapshot });
123
+ return _jsx(LanguagePackBrowserSidebar, { controller: controller, snapshot: snapshot, formatLabel: formatLabel });
79
124
  };
80
- export const LanguagePackStudioView = ({ controller, close, formatLabel: _formatLabel, shellSidebarOpen, onShellSidebarToggle, embedBrowserInShellSidebar = false, }) => {
125
+ export const LanguagePackStudioView = ({ controller, close, formatLabel, shellSidebarOpen, onShellSidebarToggle, embedBrowserInShellSidebar = false, }) => {
81
126
  const snapshot = useSyncExternalStore(controller.subscribe, controller.getSnapshot, controller.getSnapshot);
82
127
  const [importInput, setImportInput] = useState(null);
83
128
  const [error, setError] = useState(null);
@@ -86,6 +131,10 @@ export const LanguagePackStudioView = ({ controller, close, formatLabel: _format
86
131
  const [draftLocale, setDraftLocale] = useState("custom");
87
132
  const [draftLabel, setDraftLabel] = useState("Custom Language Pack");
88
133
  const [draftMessages, setDraftMessages] = useState('{\n "core.views.settings.title": "System Configuration"\n}');
134
+ const [tokenQuery, setTokenQuery] = useState("");
135
+ const [editableLabel, setEditableLabel] = useState("");
136
+ const [editableMessages, setEditableMessages] = useState({});
137
+ const { splitBand, isDragging, splitContainerRef, startSplitDrag } = useWorkspaceModuleSplit();
89
138
  const { state: browserState, setState: setBrowserState } = useLanguageBrowserState(controller);
90
139
  const effectiveSidebarOpen = embedBrowserInShellSidebar ? (shellSidebarOpen ?? true) : sidebarOpen;
91
140
  useEffect(() => {
@@ -95,12 +144,45 @@ export const LanguagePackStudioView = ({ controller, close, formatLabel: _format
95
144
  setBrowserState({ selectedLocale: snapshot.packs[0]?.locale ?? null });
96
145
  }, [browserState.selectedLocale, setBrowserState, snapshot.packs]);
97
146
  const selectedPack = snapshot.packs.find((pack) => pack.locale === browserState.selectedLocale) ?? null;
147
+ useEffect(() => {
148
+ setEditableLabel(selectedPack?.label ?? "");
149
+ setEditableMessages(selectedPack ? { ...selectedPack.messages } : {});
150
+ }, [selectedPack?.locale, selectedPack?.label, selectedPack?.messages]);
98
151
  const missingKeys = useMemo(() => {
99
152
  if (!selectedPack || selectedPack.source === "built-in") {
100
- return [];
153
+ return snapshot.tokens;
101
154
  }
102
155
  return snapshot.tokens.filter((token) => !(token.key in selectedPack.messages));
103
156
  }, [selectedPack, snapshot.tokens]);
157
+ const filteredTokens = useMemo(() => {
158
+ const query = tokenQuery.trim().toLowerCase();
159
+ if (!query)
160
+ return snapshot.tokens;
161
+ return snapshot.tokens.filter((token) => `${token.key} ${token.source} ${token.defaultMessage}`.toLowerCase().includes(query));
162
+ }, [snapshot.tokens, tokenQuery]);
163
+ const editedMessageCount = Object.keys(pruneMessages(editableMessages)).length;
164
+ const handleSaveSelectedPack = async () => {
165
+ if (!selectedPack)
166
+ return;
167
+ try {
168
+ const pack = await controller.updateArtifact(selectedPack.locale, {
169
+ label: editableLabel || selectedPack.label,
170
+ messages: pruneMessages(editableMessages),
171
+ enabled: selectedPack.enabled,
172
+ });
173
+ setBrowserState({ selectedLocale: pack.locale });
174
+ setError(null);
175
+ }
176
+ catch (nextError) {
177
+ setError(nextError instanceof Error ? nextError.message : formatLabel(languagePackStudioLabels.errorCreateFailed));
178
+ }
179
+ };
180
+ const fillDefaultMessages = () => {
181
+ setEditableMessages((current) => ({
182
+ ...Object.fromEntries(snapshot.tokens.map((token) => [token.key, token.defaultMessage])),
183
+ ...current,
184
+ }));
185
+ };
104
186
  const handleImport = async (event) => {
105
187
  const file = event.target.files?.[0];
106
188
  if (!file)
@@ -110,7 +192,7 @@ export const LanguagePackStudioView = ({ controller, close, formatLabel: _format
110
192
  setError(null);
111
193
  }
112
194
  catch (nextError) {
113
- setError(nextError instanceof Error ? nextError.message : "Failed to import language pack.");
195
+ setError(nextError instanceof Error ? nextError.message : formatLabel(languagePackStudioLabels.errorImportFailed));
114
196
  }
115
197
  finally {
116
198
  event.target.value = "";
@@ -125,16 +207,30 @@ export const LanguagePackStudioView = ({ controller, close, formatLabel: _format
125
207
  setError(null);
126
208
  }
127
209
  catch (nextError) {
128
- setError(nextError instanceof Error ? nextError.message : "Failed to create language pack.");
210
+ setError(nextError instanceof Error ? nextError.message : formatLabel(languagePackStudioLabels.errorCreateFailed));
129
211
  }
130
212
  };
131
- return (_jsxs("div", { className: "language-pack-studio-pane editor-pane-container", "data-testid": "language-pack-studio-pane", children: [_jsxs("div", { className: "view-toolbar", "aria-label": "Language Pack Studio toolbar", children: [_jsxs("div", { className: "view-toolbar-group", children: [_jsx("button", { type: "button", className: `view-toolbar-btn ${effectiveSidebarOpen ? "active" : ""}`, title: "Toggle sidebar", onClick: () => embedBrowserInShellSidebar ? onShellSidebarToggle?.(!effectiveSidebarOpen) : setSidebarOpen((current) => !current), children: effectiveSidebarOpen ? _jsx(SidebarOpen, { size: 14 }) : _jsx(Sidebar, { size: 14 }) }), _jsx("button", { type: "button", className: `view-toolbar-btn ${layoutMode === "single" ? "active" : ""}`, title: "Single pane", onClick: () => setLayoutMode("single"), children: _jsx(Square, { size: 14 }) }), _jsx("button", { type: "button", className: `view-toolbar-btn ${layoutMode === "split" ? "active" : ""}`, title: "Split screen", onClick: () => setLayoutMode("split"), children: _jsx(SplitSquareHorizontal, { size: 14 }) })] }), _jsxs("div", { className: "view-toolbar-group", children: [_jsx("span", { className: "view-toolbar-divider" }), _jsx("button", { type: "button", className: "view-toolbar-btn", title: "Import pack", onClick: () => importInput?.click(), children: _jsx(Upload, { size: 14 }) }), _jsx("button", { type: "button", className: "view-toolbar-btn", title: "Enable all packs", onClick: () => { void controller.setAllEnabled(true); }, children: _jsx(Power, { size: 14 }) }), _jsx("button", { type: "button", className: "view-toolbar-btn", title: "Disable all packs", onClick: () => { void controller.setAllEnabled(false); }, children: _jsx(PowerOff, { size: 14 }) })] }), _jsxs("div", { className: "view-toolbar-group", style: { justifyContent: "flex-end" }, children: [_jsx("span", { className: "view-toolbar-divider" }), _jsx("button", { type: "button", className: "view-toolbar-btn", title: "Close studio", onClick: () => void close(), children: _jsx(X, { size: 14 }) })] })] }), _jsxs("div", { className: "editor-pane-shell", children: [_jsx("input", { ref: setImportInput, type: "file", accept: "application/json,.json", hidden: true, onChange: handleImport }), _jsxs("div", { className: "editor-pane-body is-split", children: [!embedBrowserInShellSidebar && sidebarOpen && (_jsxs("aside", { className: `workspace-sidebar editor-pane-column ${sidebarOpen ? "" : "is-collapsed"}`, style: { width: "min(320px, 28vw)", padding: 12, gap: 12 }, children: [_jsx(LanguagePackBrowserSidebar, { controller: controller, snapshot: snapshot }), error && _jsx("p", { style: { margin: 0, fontSize: 11, color: "var(--status-error)" }, children: error })] })), _jsxs("div", { className: "editor-pane-column", style: { flex: 1, padding: 16, gap: 16 }, children: [_jsx("div", { className: "settings-card settings-card-stack", style: { gap: 10 }, children: _jsxs("div", { style: { display: "flex", justifyContent: "space-between", gap: 12, alignItems: "center", flexWrap: "wrap" }, children: [_jsxs("div", { style: { display: "grid", gap: 4 }, children: [_jsx("span", { className: "settings-session-label", children: "LANGUAGE_PACK_STUDIO" }), _jsx("strong", { style: { fontSize: 14 }, children: "Workspace language packs" }), _jsx("span", { style: { fontSize: 11, color: "var(--fg-muted)" }, children: "Built-in and installed locale packs share one high-density manager surface." })] }), _jsxs("div", { className: "settings-chip-row", children: [_jsx("span", { className: "settings-chip", children: "INDEXEDDB" }), _jsx("span", { className: "settings-chip", children: "BUILT_IN + INSTALLED" }), _jsx("span", { className: "settings-chip", children: "PANE_ONLY" })] })] }) }), selectedPack && (_jsxs("div", { style: { display: "grid", gap: 16, gridTemplateColumns: layoutMode === "split" ? "minmax(0, 1.15fr) minmax(320px, 0.85fr)" : "minmax(0, 1fr)" }, children: [_jsxs("div", { style: { display: "grid", gap: 16 }, children: [_jsxs("div", { className: "settings-card settings-card-stack", children: [_jsxs("div", { style: { display: "flex", justifyContent: "space-between", gap: 12, flexWrap: "wrap", alignItems: "center" }, children: [_jsxs("div", { children: [_jsx("strong", { style: { fontSize: 14 }, children: selectedPack.label }), _jsxs("p", { style: { margin: "6px 0 0", fontSize: 11, color: "var(--fg-muted)" }, children: [selectedPack.locale, " | ", selectedPack.source.toUpperCase()] })] }), _jsxs("div", { className: "settings-action-row", style: { padding: 8, gap: 8 }, children: [_jsxs("button", { type: "button", className: "modal-btn", onClick: () => { void controller.setEnabled(selectedPack.locale, !selectedPack.enabled); }, children: [selectedPack.enabled ? _jsx(PowerOff, { size: 14 }) : _jsx(Power, { size: 14 }), " ", selectedPack.enabled ? "DISABLE" : "ENABLE"] }), _jsx("button", { type: "button", className: "modal-btn modal-btn-primary", onClick: () => { void controller.activate(selectedPack.locale); }, disabled: !selectedPack.enabled, children: "USE" }), _jsxs("button", { type: "button", className: "modal-btn", onClick: () => {
132
- const artifact = controller.exportArtifact(selectedPack.locale);
133
- if (artifact)
134
- downloadJson(`${selectedPack.locale}.language-pack.json`, artifact);
135
- }, disabled: selectedPack.source !== "installed", children: [_jsx(Download, { size: 14 }), " EXPORT"] }), _jsxs("button", { type: "button", className: "modal-btn", onClick: () => { void controller.remove(selectedPack.locale); }, disabled: selectedPack.source !== "installed", children: [_jsx(Trash2, { size: 14 }), " REMOVE"] })] })] }), _jsxs("div", { className: "settings-session-grid", children: [_jsxs("div", { className: "settings-session-item", children: [_jsx("span", { className: "settings-session-label", children: "STATUS" }), _jsx("span", { className: "settings-session-value", children: selectedPack.enabled ? "ENABLED" : "DISABLED" })] }), _jsxs("div", { className: "settings-session-item", children: [_jsx("span", { className: "settings-session-label", children: "SOURCE" }), _jsx("span", { className: "settings-session-value", children: selectedPack.source.toUpperCase() })] }), _jsxs("div", { className: "settings-session-item", children: [_jsx("span", { className: "settings-session-label", children: "TOKENS" }), _jsx("span", { className: "settings-session-value", children: selectedPack.source === "installed" ? Object.keys(selectedPack.messages).length : "CORE" })] }), _jsxs("div", { className: "settings-session-item", children: [_jsx("span", { className: "settings-session-label", children: "MISSING" }), _jsx("span", { className: "settings-session-value", children: selectedPack.source === "installed" ? missingKeys.length : "N/A" })] })] })] }), _jsxs("div", { className: "settings-card settings-card-stack", children: [_jsx("strong", { style: { fontSize: 12, textTransform: "uppercase", letterSpacing: "0.08em" }, children: "Token Audit" }), selectedPack.source === "built-in" ? (_jsxs("div", { className: "settings-session-item", children: [_jsx("span", { className: "settings-session-label", children: "BUILT_IN_LOCALE" }), _jsx("span", { className: "settings-session-value", children: "Core shell catalogs load through the extension-aware i18n fallback chain." })] })) : snapshot.loadingTokens ? (_jsx("span", { className: "text-[11px] text-[var(--fg-muted)]", children: "Loading tokens..." })) : (_jsx("div", { style: { display: "grid", gap: 8, maxHeight: 420, overflow: "auto" }, children: snapshot.tokens.map((token) => {
136
- const missing = !(token.key in selectedPack.messages);
137
- return (_jsxs("div", { className: "settings-session-item", style: { borderColor: missing ? "var(--status-error)" : undefined }, children: [_jsxs("div", { style: { display: "grid", gap: 4 }, children: [_jsx("span", { className: "settings-session-label", children: token.key }), _jsx("span", { className: "text-[11px] text-[var(--fg-muted)]", children: token.source })] }), _jsxs("div", { style: { display: "grid", gap: 4 }, children: [_jsx("span", { className: "settings-session-value", children: missing ? "MISSING" : "PRESENT" }), _jsx("span", { className: "text-[11px] text-[var(--fg-muted)]", children: selectedPack.messages[token.key] ?? token.defaultMessage })] })] }, token.key));
138
- }) }))] })] }), layoutMode === "split" && (_jsxs("div", { className: "settings-card settings-card-stack", children: [_jsxs("div", { style: { display: "flex", alignItems: "center", gap: 8 }, children: [_jsx(Columns2, { size: 14 }), _jsx("strong", { style: { fontSize: 12, textTransform: "uppercase", letterSpacing: "0.08em" }, children: "Create Language Pack" })] }), _jsxs("div", { className: "settings-grid-2", children: [_jsxs("label", { className: "flex flex-col gap-2", children: [_jsx("span", { className: "text-[10px] font-bold text-[var(--fg-muted)] uppercase", children: "Locale" }), _jsx("input", { style: denseInputStyle, value: draftLocale, onChange: (event) => setDraftLocale(event.target.value) })] }), _jsxs("label", { className: "flex flex-col gap-2", children: [_jsx("span", { className: "text-[10px] font-bold text-[var(--fg-muted)] uppercase", children: "Label" }), _jsx("input", { style: denseInputStyle, value: draftLabel, onChange: (event) => setDraftLabel(event.target.value) })] })] }), _jsxs("label", { className: "flex flex-col gap-2", children: [_jsx("span", { className: "text-[10px] font-bold text-[var(--fg-muted)] uppercase", children: "Messages JSON" }), _jsx("textarea", { style: { ...denseInputStyle, minHeight: 220, fontFamily: "var(--font-mono, monospace)" }, value: draftMessages, onChange: (event) => setDraftMessages(event.target.value) })] }), _jsx("div", { className: "settings-action-row", style: { padding: 8 }, children: _jsxs("button", { type: "button", className: "modal-btn modal-btn-primary", onClick: () => void handleCreate(), children: [_jsx(PackagePlus, { size: 14 }), " CREATE_AND_EXPORT"] }) })] }))] })), layoutMode === "single" && (_jsxs("div", { className: "settings-card settings-card-stack", children: [_jsxs("div", { style: { display: "flex", alignItems: "center", gap: 8 }, children: [_jsx(Languages, { size: 14 }), _jsx("strong", { style: { fontSize: 12, textTransform: "uppercase", letterSpacing: "0.08em" }, children: "Create Language Pack" })] }), _jsxs("div", { className: "settings-grid-2", children: [_jsxs("label", { className: "flex flex-col gap-2", children: [_jsx("span", { className: "text-[10px] font-bold text-[var(--fg-muted)] uppercase", children: "Locale" }), _jsx("input", { style: denseInputStyle, value: draftLocale, onChange: (event) => setDraftLocale(event.target.value) })] }), _jsxs("label", { className: "flex flex-col gap-2", children: [_jsx("span", { className: "text-[10px] font-bold text-[var(--fg-muted)] uppercase", children: "Label" }), _jsx("input", { style: denseInputStyle, value: draftLabel, onChange: (event) => setDraftLabel(event.target.value) })] })] }), _jsxs("label", { className: "flex flex-col gap-2", children: [_jsx("span", { className: "text-[10px] font-bold text-[var(--fg-muted)] uppercase", children: "Messages JSON" }), _jsx("textarea", { style: { ...denseInputStyle, minHeight: 180, fontFamily: "var(--font-mono, monospace)" }, value: draftMessages, onChange: (event) => setDraftMessages(event.target.value) })] }), _jsx("div", { className: "settings-action-row", style: { padding: 8 }, children: _jsxs("button", { type: "button", className: "modal-btn modal-btn-primary", onClick: () => void handleCreate(), children: [_jsx(PackagePlus, { size: 14 }), " CREATE_AND_EXPORT"] }) })] }))] })] })] })] }));
213
+ const tokenEditor = selectedPack ? (_jsxs("div", { className: "settings-card settings-card-stack", children: [_jsxs("div", { style: { display: "flex", justifyContent: "space-between", gap: 12, alignItems: "flex-start", flexWrap: "wrap" }, children: [_jsxs("div", { style: { display: "grid", gap: 4 }, children: [_jsx("strong", { style: { fontSize: 12, textTransform: "uppercase", letterSpacing: "0.08em" }, children: formatLabel(languagePackStudioLabels.tokenEditorTitle) }), _jsx("span", { className: "settings-muted-caption", children: formatLabel(languagePackStudioLabels.tokenEditorDescription) }), selectedPack.source === "built-in" && (_jsx("span", { className: "settings-muted-caption", children: formatLabel(languagePackStudioLabels.tokenEditorBuiltInNotice) }))] }), _jsxs("div", { className: "settings-action-row", style: { padding: 8, gap: 8 }, children: [_jsx("button", { type: "button", className: "modal-btn", onClick: fillDefaultMessages, disabled: snapshot.tokens.length === 0, children: formatLabel(languagePackStudioLabels.actionFillDefaults) }), _jsx("button", { type: "button", className: "modal-btn modal-btn-primary", onClick: () => void handleSaveSelectedPack(), disabled: editedMessageCount === 0, children: selectedPack.source === "built-in" ? formatLabel(languagePackStudioLabels.actionSaveAsInstalledPack) : formatLabel(languagePackStudioLabels.actionSavePack) })] })] }), _jsxs("label", { className: "settings-field-stack", children: [_jsx("span", { className: "settings-field-label", children: formatLabel(languagePackStudioLabels.labelPackLabel) }), _jsx("input", { style: denseInputStyle, value: editableLabel, onChange: (event) => setEditableLabel(event.target.value), "aria-label": formatLabel(languagePackStudioLabels.labelPackLabel) })] }), _jsx("input", { style: denseInputStyle, value: tokenQuery, onChange: (event) => setTokenQuery(event.target.value), placeholder: formatLabel(languagePackStudioLabels.tokenSearchPlaceholder), "aria-label": formatLabel(languagePackStudioLabels.tokenSearchAria) }), snapshot.loadingTokens ? (_jsx("span", { className: "settings-muted-caption", children: formatLabel(languagePackStudioLabels.loadingTokens) })) : (_jsxs("div", { style: { display: "grid", gap: 8, maxHeight: 520, overflow: "auto" }, children: [filteredTokens.map((token) => {
214
+ const value = editableMessages[token.key] ?? "";
215
+ const saved = selectedPack.messages[token.key];
216
+ const hasEditedValue = value.trim().length > 0;
217
+ const status = hasEditedValue
218
+ ? (saved === value ? languagePackStudioLabels.labelPresent : languagePackStudioLabels.labelCustom)
219
+ : languagePackStudioLabels.labelDefault;
220
+ return (_jsxs("div", { className: "settings-session-item", style: { alignItems: "stretch", gap: 10, borderColor: hasEditedValue ? undefined : "var(--border-color)" }, children: [_jsxs("div", { style: { display: "grid", gap: 4, minWidth: 0 }, children: [_jsx("span", { className: "settings-session-label", style: { overflowWrap: "anywhere" }, children: token.key }), _jsx("span", { className: "settings-muted-caption", children: token.source }), _jsx("span", { className: "settings-muted-caption settings-break-anywhere", children: token.defaultMessage })] }), _jsxs("div", { style: { display: "grid", gap: 6, minWidth: "min(320px, 42vw)" }, children: [_jsx("span", { className: "settings-session-value", children: formatLabel(status) }), _jsx("textarea", { style: { ...denseInputStyle, minHeight: 62, resize: "vertical" }, value: value, placeholder: token.defaultMessage, "aria-label": `${formatLabel(languagePackStudioLabels.labelTokenValue)} ${token.key}`, onChange: (event) => setEditableMessages((current) => ({ ...current, [token.key]: event.target.value })) }), _jsx("button", { type: "button", className: "view-toolbar-btn", onClick: () => setEditableMessages((current) => {
221
+ const next = { ...current };
222
+ delete next[token.key];
223
+ return next;
224
+ }), disabled: !hasEditedValue, style: { justifySelf: "start" }, children: formatLabel(languagePackStudioLabels.actionResetToken) })] })] }, token.key));
225
+ }), filteredTokens.length === 0 && _jsx("span", { className: "settings-muted-caption", children: formatLabel(languagePackStudioLabels.tokenEditorEmpty) })] }))] })) : null;
226
+ const selectedPackSummary = selectedPack ? (_jsxs("div", { className: "settings-card settings-card-stack", children: [_jsx("div", { style: { display: "flex", justifyContent: "space-between", gap: 12, flexWrap: "wrap", alignItems: "center" }, children: _jsxs("div", { children: [_jsx("strong", { style: { fontSize: 14 }, children: selectedPack.label }), _jsxs("p", { style: { margin: "6px 0 0", fontSize: 11, color: "var(--fg-muted)" }, children: [selectedPack.locale, " | ", selectedPack.source.toUpperCase()] })] }) }), _jsxs("div", { className: "settings-session-grid", children: [_jsxs("div", { className: "settings-session-item", children: [_jsx("span", { className: "settings-session-label", children: formatLabel(languagePackStudioLabels.labelStatus) }), _jsx("span", { className: "settings-session-value", children: selectedPack.enabled ? formatLabel(languagePackStudioLabels.browserFilterEnabled) : formatLabel(languagePackStudioLabels.browserFilterDisabled) })] }), _jsxs("div", { className: "settings-session-item", children: [_jsx("span", { className: "settings-session-label", children: formatLabel(languagePackStudioLabels.labelSource) }), _jsx("span", { className: "settings-session-value", children: selectedPack.source.toUpperCase() })] }), _jsxs("div", { className: "settings-session-item", children: [_jsx("span", { className: "settings-session-label", children: formatLabel(languagePackStudioLabels.labelTokens) }), _jsx("span", { className: "settings-session-value", children: selectedPack.source === "installed" ? Object.keys(selectedPack.messages).length : formatLabel(languagePackStudioLabels.labelCore) })] }), _jsxs("div", { className: "settings-session-item", children: [_jsx("span", { className: "settings-session-label", children: formatLabel(languagePackStudioLabels.labelMissing) }), _jsx("span", { className: "settings-session-value", children: selectedPack.source === "installed" ? missingKeys.length : formatLabel(languagePackStudioLabels.labelNotAvailable) })] })] })] })) : null;
227
+ const selectedPackActions = selectedPack ? (_jsxs("div", { className: "settings-card settings-card-stack", children: [_jsx("strong", { style: { fontSize: 12, textTransform: "uppercase", letterSpacing: "0.08em" }, children: selectedPack.label }), _jsxs("div", { className: "settings-action-row", style: { padding: 8, gap: 8 }, children: [_jsxs("button", { type: "button", className: "modal-btn", onClick: () => { void controller.setEnabled(selectedPack.locale, !selectedPack.enabled); }, children: [selectedPack.enabled ? _jsx(PowerOff, { size: 14 }) : _jsx(Power, { size: 14 }), " ", selectedPack.enabled ? formatLabel(languagePackStudioLabels.actionDisable) : formatLabel(languagePackStudioLabels.actionEnable)] }), _jsx("button", { type: "button", className: "modal-btn modal-btn-primary", onClick: () => { void controller.activate(selectedPack.locale); }, disabled: !selectedPack.enabled, children: formatLabel(languagePackStudioLabels.actionUse) }), _jsxs("button", { type: "button", className: "modal-btn", onClick: () => {
228
+ const artifact = controller.exportArtifact(selectedPack.locale);
229
+ if (artifact)
230
+ downloadJson(`${selectedPack.locale}.language-pack.json`, artifact);
231
+ }, disabled: selectedPack.source !== "installed", children: [_jsx(Download, { size: 14 }), " ", formatLabel(languagePackStudioLabels.actionExport)] }), _jsxs("button", { type: "button", className: "modal-btn", onClick: () => { void controller.remove(selectedPack.locale); }, disabled: selectedPack.source !== "installed", children: [_jsx(Trash2, { size: 14 }), " ", formatLabel(languagePackStudioLabels.actionRemove)] })] })] })) : null;
232
+ const createPackPane = (_jsxs("div", { className: "settings-card settings-card-stack", children: [_jsxs("div", { style: { display: "flex", alignItems: "center", gap: 8 }, children: [_jsx(Columns2, { size: 14 }), _jsx("strong", { style: { fontSize: 12, textTransform: "uppercase", letterSpacing: "0.08em" }, children: formatLabel(languagePackStudioLabels.createTitle) })] }), _jsxs("div", { className: "settings-grid-2", children: [_jsxs("label", { className: "settings-field-stack", children: [_jsx("span", { className: "settings-field-label", children: formatLabel(languagePackStudioLabels.createLocale) }), _jsx("input", { style: denseInputStyle, value: draftLocale, onChange: (event) => setDraftLocale(event.target.value) })] }), _jsxs("label", { className: "settings-field-stack", children: [_jsx("span", { className: "settings-field-label", children: formatLabel(languagePackStudioLabels.createLabel) }), _jsx("input", { style: denseInputStyle, value: draftLabel, onChange: (event) => setDraftLabel(event.target.value) })] })] }), _jsxs("label", { className: "settings-field-stack", children: [_jsx("span", { className: "settings-field-label", children: formatLabel(languagePackStudioLabels.createMessagesJson) }), _jsx("textarea", { style: { ...denseInputStyle, minHeight: 220, fontFamily: "var(--font-mono, monospace)" }, value: draftMessages, onChange: (event) => setDraftMessages(event.target.value) })] }), _jsx("div", { className: "settings-action-row", style: { padding: 8 }, children: _jsxs("button", { type: "button", className: "modal-btn modal-btn-primary", onClick: () => void handleCreate(), children: [_jsx(PackagePlus, { size: 14 }), " ", formatLabel(languagePackStudioLabels.actionCreateAndExport)] }) })] }));
233
+ const authoringPane = (_jsxs("div", { style: { display: "grid", gap: 16 }, children: [selectedPackActions, createPackPane] }));
234
+ return (_jsxs("div", { className: "language-pack-studio-pane editor-pane-container", "data-testid": "language-pack-studio-pane", children: [isDragging && _jsx("div", { className: "editor-splitter-drag-shield" }), _jsxs("div", { className: "view-toolbar", "aria-label": formatLabel(languagePackStudioLabels.toolbarLabel), children: [_jsxs("div", { className: "view-toolbar-group", children: [_jsx("button", { type: "button", className: `view-toolbar-btn ${effectiveSidebarOpen ? "active" : ""}`, title: formatLabel(languagePackStudioLabels.toolbarToggleSidebar), onClick: () => embedBrowserInShellSidebar ? onShellSidebarToggle?.(!effectiveSidebarOpen) : setSidebarOpen((current) => !current), children: effectiveSidebarOpen ? _jsx(SidebarOpen, { size: 14 }) : _jsx(Sidebar, { size: 14 }) }), _jsx("button", { type: "button", className: `view-toolbar-btn ${layoutMode === "single" ? "active" : ""}`, title: formatLabel(languagePackStudioLabels.toolbarSinglePane), onClick: () => setLayoutMode("single"), children: _jsx(Square, { size: 14 }) }), _jsx("button", { type: "button", className: `view-toolbar-btn ${layoutMode === "split" ? "active" : ""}`, title: formatLabel(languagePackStudioLabels.toolbarSplitScreen), onClick: () => setLayoutMode("split"), children: _jsx(SplitSquareHorizontal, { size: 14 }) })] }), _jsxs("div", { className: "view-toolbar-group", children: [_jsx("span", { className: "view-toolbar-divider" }), _jsx("button", { type: "button", className: "view-toolbar-btn", title: formatLabel(languagePackStudioLabels.toolbarImportPack), onClick: () => importInput?.click(), children: _jsx(Upload, { size: 14 }) }), _jsx("button", { type: "button", className: "view-toolbar-btn", title: formatLabel(languagePackStudioLabels.toolbarEnableAll), onClick: () => { void controller.setAllEnabled(true); }, children: _jsx(Power, { size: 14 }) }), _jsx("button", { type: "button", className: "view-toolbar-btn", title: formatLabel(languagePackStudioLabels.toolbarDisableAll), onClick: () => { void controller.setAllEnabled(false); }, children: _jsx(PowerOff, { size: 14 }) })] }), _jsxs("div", { className: "view-toolbar-group", style: { justifyContent: "flex-end" }, children: [_jsx("span", { className: "view-toolbar-divider" }), _jsx("button", { type: "button", className: "view-toolbar-btn", title: formatLabel(languagePackStudioLabels.toolbarClose), onClick: () => void close(), children: _jsx(X, { size: 14 }) })] })] }), _jsxs("div", { className: "editor-pane-shell", children: [_jsx("input", { ref: setImportInput, type: "file", accept: "application/json,.json", hidden: true, onChange: handleImport }), _jsxs("div", { className: "editor-pane-body is-split", children: [!embedBrowserInShellSidebar && sidebarOpen && (_jsxs("aside", { className: `pane-sidebar editor-pane-column ${sidebarOpen ? "" : "is-collapsed"}`, style: { width: "min(320px, 28vw)", padding: 12, gap: 12 }, children: [_jsx(LanguagePackBrowserSidebar, { controller: controller, snapshot: snapshot, formatLabel: formatLabel }), error && _jsx("p", { style: { margin: 0, fontSize: 11, color: "var(--status-error)" }, children: error })] })), _jsxs("div", { className: "editor-pane-column", style: { flex: 1, padding: 16, gap: 16 }, children: [_jsx("div", { className: "language-pack-studio-header", children: _jsxs("div", { className: "language-pack-studio-header-main", children: [_jsxs("div", { className: "language-pack-studio-header-copy", children: [_jsx("span", { className: "settings-session-label", children: formatLabel(languagePackStudioLabels.panelKicker) }), _jsx("strong", { className: "language-pack-studio-header-title", children: formatLabel(languagePackStudioLabels.panelTitle) }), _jsx("span", { className: "settings-muted-caption", children: formatLabel(languagePackStudioLabels.panelSubtitle) })] }), _jsxs("div", { className: "settings-chip-row", children: [_jsx("span", { className: "settings-chip", children: formatLabel(languagePackStudioLabels.panelChipIndexedDb) }), _jsx("span", { className: "settings-chip", children: formatLabel(languagePackStudioLabels.panelChipBuiltInInstalled) }), _jsx("span", { className: "settings-chip", children: formatLabel(languagePackStudioLabels.panelChipPaneOnly) })] })] }) }), selectedPack && (layoutMode === "split" ? (_jsxs("div", { ref: splitContainerRef, className: "editor-pane-body is-split", style: { background: "transparent" }, children: [_jsxs("div", { className: `editor-pane-column editor-pane-column--split-left-${splitBand}`, style: { display: "grid", gap: 16, paddingRight: 12 }, children: [selectedPackSummary, tokenEditor] }), _jsx("div", { onMouseDown: startSplitDrag, className: `editor-splitter ${isDragging ? "dragging" : ""}`, role: "separator", "aria-orientation": "vertical", "aria-label": formatLabel(languagePackStudioLabels.toolbarResizePanes), children: _jsx("div", { className: "editor-splitter-handle" }) }), _jsx("div", { className: `editor-pane-column editor-pane-column--split-right-${100 - splitBand}`, style: { display: "grid", gap: 16, paddingLeft: 12 }, children: authoringPane })] })) : (_jsxs("div", { style: { display: "grid", gap: 16 }, children: [selectedPackSummary, tokenEditor, authoringPane] }))), !selectedPack && authoringPane] })] })] })] }));
139
235
  };
140
236
  //# sourceMappingURL=LanguagePackStudioView.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LanguagePackStudioView.js","sourceRoot":"","sources":["../../src/components/LanguagePackStudioView.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LanguagePackStudioView.js","sourceRoot":"","sources":["../../src/components/LanguagePackStudioView.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  export declare const LANGUAGE_PACK_STUDIO_EXTENSION_ID: "core.language-pack-studio";
2
2
  export declare const LANGUAGE_PACK_STUDIO_VIEW_ID: "core.language-pack-studio.view";
3
+ export declare const LANGUAGE_PACK_STUDIO_EXPLORER_VIEW_ID: "core.language-pack-studio.explorer";
4
+ export declare const LANGUAGE_PACK_STUDIO_MODULE_ID: "core.language-pack-studio.module";
3
5
  export declare const LANGUAGE_PACK_STUDIO_COMMAND_ID: "core.language-pack-studio.open";
4
6
  export declare const LANGUAGE_PACK_STUDIO_RAIL_ID: "core.language-pack-studio.rail";
5
7
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iCAAiC,EAAG,2BAAoC,CAAC;AACtF,eAAO,MAAM,4BAA4B,kCAAuD,CAAC;AACjG,eAAO,MAAM,+BAA+B,kCAAuD,CAAC;AACpG,eAAO,MAAM,4BAA4B,kCAAuD,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iCAAiC,EAAG,2BAAoC,CAAC;AACtF,eAAO,MAAM,4BAA4B,kCAAuD,CAAC;AACjG,eAAO,MAAM,qCAAqC,sCAA2D,CAAC;AAC9G,eAAO,MAAM,8BAA8B,oCAAyD,CAAC;AACrG,eAAO,MAAM,+BAA+B,kCAAuD,CAAC;AACpG,eAAO,MAAM,4BAA4B,kCAAuD,CAAC"}
package/dist/constants.js CHANGED
@@ -1,5 +1,7 @@
1
1
  export const LANGUAGE_PACK_STUDIO_EXTENSION_ID = "core.language-pack-studio";
2
2
  export const LANGUAGE_PACK_STUDIO_VIEW_ID = `${LANGUAGE_PACK_STUDIO_EXTENSION_ID}.view`;
3
+ export const LANGUAGE_PACK_STUDIO_EXPLORER_VIEW_ID = `${LANGUAGE_PACK_STUDIO_EXTENSION_ID}.explorer`;
4
+ export const LANGUAGE_PACK_STUDIO_MODULE_ID = `${LANGUAGE_PACK_STUDIO_EXTENSION_ID}.module`;
3
5
  export const LANGUAGE_PACK_STUDIO_COMMAND_ID = `${LANGUAGE_PACK_STUDIO_EXTENSION_ID}.open`;
4
6
  export const LANGUAGE_PACK_STUDIO_RAIL_ID = `${LANGUAGE_PACK_STUDIO_EXTENSION_ID}.rail`;
5
7
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iCAAiC,GAAG,2BAAoC,CAAC;AACtF,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAG,iCAAiC,OAAgB,CAAC;AACjG,MAAM,CAAC,MAAM,+BAA+B,GAAG,GAAG,iCAAiC,OAAgB,CAAC;AACpG,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAG,iCAAiC,OAAgB,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iCAAiC,GAAG,2BAAoC,CAAC;AACtF,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAG,iCAAiC,OAAgB,CAAC;AACjG,MAAM,CAAC,MAAM,qCAAqC,GAAG,GAAG,iCAAiC,WAAoB,CAAC;AAC9G,MAAM,CAAC,MAAM,8BAA8B,GAAG,GAAG,iCAAiC,SAAkB,CAAC;AACrG,MAAM,CAAC,MAAM,+BAA+B,GAAG,GAAG,iCAAiC,OAAgB,CAAC;AACpG,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAG,iCAAiC,OAAgB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"createLanguagePackStudioBundledEntry.d.ts","sourceRoot":"","sources":["../src/createLanguagePackStudioBundledEntry.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AAU7E,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,YAAY,CAAC;AAEjE,wBAAgB,oCAAoC,CAAC,OAAO,EAAE,8BAA8B,GAAG,4BAA4B,CAyE1H"}
1
+ {"version":3,"file":"createLanguagePackStudioBundledEntry.d.ts","sourceRoot":"","sources":["../src/createLanguagePackStudioBundledEntry.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AAU7E,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,YAAY,CAAC;AAEjE,wBAAgB,oCAAoC,CAAC,OAAO,EAAE,8BAA8B,GAAG,4BAA4B,CAoE1H"}
@@ -1,5 +1,4 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import React from "react";
3
2
  import { LanguagePackStudioSidebar, LanguagePackStudioView } from "./components/LanguagePackStudioView.js";
4
3
  import { LanguagePackStudioSettingsPanel } from "./components/LanguagePackStudioSettingsPanel.js";
5
4
  import { LANGUAGE_PACK_STUDIO_COMMAND_ID, LANGUAGE_PACK_STUDIO_RAIL_ID, LANGUAGE_PACK_STUDIO_VIEW_ID, } from "./constants.js";
@@ -24,16 +23,10 @@ export function createLanguagePackStudioBundledEntry(options) {
24
23
  await context.host.views.open(LANGUAGE_PACK_STUDIO_VIEW_ID);
25
24
  },
26
25
  });
27
- context.registerView({
28
- id: LANGUAGE_PACK_STUDIO_VIEW_ID,
29
- title: languagePackStudioLabels.viewTitle,
30
- description: languagePackStudioLabels.viewDescription,
31
- icon: { kind: "lucide", name: "Languages" },
32
- location: "main",
33
- allowMultiple: false,
34
- canBePinned: true,
26
+ context.registerWorkspaceModule({
27
+ ...languagePackStudioManifest.contributions.workspaceModules[0],
35
28
  render: (props) => (_jsx(LanguagePackStudioView, { controller: options.controller, close: () => props.close(), formatLabel: context.host.i18n.format, shellSidebarOpen: props.workspaceSidebarOpen, onShellSidebarToggle: props.setWorkspaceSidebarOpen, embedBrowserInShellSidebar: Boolean(props.setWorkspaceSidebarOpen) })),
36
- renderSidebar: () => (_jsx(LanguagePackStudioSidebar, { controller: options.controller })),
29
+ renderExplorer: () => (_jsx(LanguagePackStudioSidebar, { controller: options.controller, formatLabel: context.host.i18n.format })),
37
30
  });
38
31
  context.registerActionRailItem({
39
32
  id: LANGUAGE_PACK_STUDIO_RAIL_ID,
@@ -1 +1 @@
1
- {"version":3,"file":"createLanguagePackStudioBundledEntry.js","sourceRoot":"","sources":["../src/createLanguagePackStudioBundledEntry.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createLanguagePackStudioBundledEntry.js","sourceRoot":"","sources":["../src/createLanguagePackStudioBundledEntry.tsx"],"names":[],"mappings":"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"}
package/dist/i18n.d.ts CHANGED
@@ -11,6 +11,78 @@ export declare const languagePackStudioLabels: {
11
11
  readonly railTitle: I18nLabel;
12
12
  readonly settingsTitle: I18nLabel;
13
13
  readonly settingsDescription: I18nLabel;
14
+ readonly settingsShortcutKicker: I18nLabel;
15
+ readonly settingsShortcutTitle: I18nLabel;
16
+ readonly settingsShortcutDescription: I18nLabel;
17
+ readonly settingsStatsPacks: I18nLabel;
18
+ readonly settingsStatsBuiltIn: I18nLabel;
19
+ readonly settingsStatsInstalled: I18nLabel;
20
+ readonly settingsStatsActive: I18nLabel;
21
+ readonly settingsStatsEnabled: I18nLabel;
22
+ readonly settingsChipEnglishFallback: I18nLabel;
23
+ readonly settingsChipIndexedDb: I18nLabel;
24
+ readonly settingsOpenStudio: I18nLabel;
25
+ readonly panelKicker: I18nLabel;
26
+ readonly panelTitle: I18nLabel;
27
+ readonly panelSubtitle: I18nLabel;
28
+ readonly panelChipIndexedDb: I18nLabel;
29
+ readonly panelChipBuiltInInstalled: I18nLabel;
30
+ readonly panelChipPaneOnly: I18nLabel;
31
+ readonly browserChip: I18nLabel;
32
+ readonly browserFilterPlaceholder: I18nLabel;
33
+ readonly browserFilterAria: I18nLabel;
34
+ readonly browserFilterAll: I18nLabel;
35
+ readonly browserFilterBuiltIn: I18nLabel;
36
+ readonly browserFilterInstalled: I18nLabel;
37
+ readonly browserFilterEnabled: I18nLabel;
38
+ readonly browserFilterDisabled: I18nLabel;
39
+ readonly browserEmpty: I18nLabel;
40
+ readonly actionDisable: I18nLabel;
41
+ readonly actionEnable: I18nLabel;
42
+ readonly actionUse: I18nLabel;
43
+ readonly actionExport: I18nLabel;
44
+ readonly actionRemove: I18nLabel;
45
+ readonly actionCreateAndExport: I18nLabel;
46
+ readonly actionSavePack: I18nLabel;
47
+ readonly actionSaveAsInstalledPack: I18nLabel;
48
+ readonly actionFillDefaults: I18nLabel;
49
+ readonly actionResetToken: I18nLabel;
50
+ readonly labelStatus: I18nLabel;
51
+ readonly labelSource: I18nLabel;
52
+ readonly labelTokens: I18nLabel;
53
+ readonly labelMissing: I18nLabel;
54
+ readonly labelCore: I18nLabel;
55
+ readonly labelNotAvailable: I18nLabel;
56
+ readonly labelBuiltInLocale: I18nLabel;
57
+ readonly labelPresent: I18nLabel;
58
+ readonly labelCustom: I18nLabel;
59
+ readonly labelDefault: I18nLabel;
60
+ readonly labelTokenValue: I18nLabel;
61
+ readonly labelPackLabel: I18nLabel;
62
+ readonly tokenAuditTitle: I18nLabel;
63
+ readonly builtInLocaleDescription: I18nLabel;
64
+ readonly loadingTokens: I18nLabel;
65
+ readonly tokenEditorTitle: I18nLabel;
66
+ readonly tokenEditorDescription: I18nLabel;
67
+ readonly tokenSearchPlaceholder: I18nLabel;
68
+ readonly tokenSearchAria: I18nLabel;
69
+ readonly tokenEditorEmpty: I18nLabel;
70
+ readonly tokenEditorBuiltInNotice: I18nLabel;
71
+ readonly createTitle: I18nLabel;
72
+ readonly createLocale: I18nLabel;
73
+ readonly createLabel: I18nLabel;
74
+ readonly createMessagesJson: I18nLabel;
75
+ readonly errorImportFailed: I18nLabel;
76
+ readonly errorCreateFailed: I18nLabel;
77
+ readonly toolbarLabel: I18nLabel;
78
+ readonly toolbarToggleSidebar: I18nLabel;
79
+ readonly toolbarSinglePane: I18nLabel;
80
+ readonly toolbarSplitScreen: I18nLabel;
81
+ readonly toolbarImportPack: I18nLabel;
82
+ readonly toolbarEnableAll: I18nLabel;
83
+ readonly toolbarDisableAll: I18nLabel;
84
+ readonly toolbarClose: I18nLabel;
85
+ readonly toolbarResizePanes: I18nLabel;
14
86
  };
15
87
  export declare const languagePackStudioLocaleLoader: ExtensionLocaleCatalogLoader;
16
88
  //# sourceMappingURL=i18n.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AAG1E,eAAO,MAAM,KAAK,GAAI,QAAQ,MAAM,EAAE,gBAAgB,MAAM,KAAG,SAG7D,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;CAU3B,CAAC;AAEX,eAAO,MAAM,8BAA8B,EAAE,4BAM5C,CAAC"}
1
+ {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AAG1E,eAAO,MAAM,KAAK,GAAI,QAAQ,MAAM,EAAE,gBAAgB,MAAM,KAAG,SAG7D,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkF3B,CAAC;AAEX,eAAO,MAAM,8BAA8B,EAAE,4BAM5C,CAAC"}
package/dist/i18n.js CHANGED
@@ -5,14 +5,86 @@ export const label = (suffix, defaultMessage) => ({
5
5
  });
6
6
  export const languagePackStudioLabels = {
7
7
  manifestDisplayName: label("manifest.displayName", "Language Pack Studio"),
8
- manifestDescription: label("manifest.description", "Bundled language-pack studio for importing, exporting, enabling, disabling, activating, creating, and auditing portable language packs."),
8
+ manifestDescription: label("manifest.description", "Manage and make language packs."),
9
9
  commandOpenTitle: label("commands.open.title", "Open Language Pack Studio"),
10
- commandOpenDescription: label("commands.open.description", "Open the language-pack studio workspace pane."),
10
+ commandOpenDescription: label("commands.open.description", "Open language pack tools."),
11
11
  viewTitle: label("views.main.title", "Language Pack Studio"),
12
- viewDescription: label("views.main.description", "Browse installed language packs, inspect missing tokens, and create or export locale artifacts."),
12
+ viewDescription: label("views.main.description", "Browse, edit, and export language packs."),
13
13
  railTitle: label("rail.title", "Language Packs"),
14
14
  settingsTitle: label("settings.title", "Language Pack Studio"),
15
- settingsDescription: label("settings.description", "Language-pack inventory, enablement, token auditing, and workspace authoring shortcuts."),
15
+ settingsDescription: label("settings.description", "Language pack list and tools."),
16
+ settingsShortcutKicker: label("settings.shortcut.kicker", "Language Pack Studio"),
17
+ settingsShortcutTitle: label("settings.shortcut.title", "Language Pack Studio"),
18
+ settingsShortcutDescription: label("settings.shortcut.description", "Open language pack tools."),
19
+ settingsStatsPacks: label("settings.stats.packs", "PACKS"),
20
+ settingsStatsBuiltIn: label("settings.stats.builtIn", "Built in"),
21
+ settingsStatsInstalled: label("settings.stats.installed", "INSTALLED"),
22
+ settingsStatsActive: label("settings.stats.active", "ACTIVE"),
23
+ settingsStatsEnabled: label("settings.stats.enabled", "ENABLED"),
24
+ settingsChipEnglishFallback: label("settings.chips.englishFallback", "English fallback"),
25
+ settingsChipIndexedDb: label("settings.chips.indexeddb", "INDEXEDDB"),
26
+ settingsOpenStudio: label("settings.actions.openStudio", "Open studio"),
27
+ panelKicker: label("panel.kicker", "Language Pack Studio"),
28
+ panelTitle: label("panel.title", "Workspace language packs"),
29
+ panelSubtitle: label("panel.subtitle", "Built-in and installed packs in one view."),
30
+ panelChipIndexedDb: label("panel.chips.indexeddb", "INDEXEDDB"),
31
+ panelChipBuiltInInstalled: label("panel.chips.builtInInstalled", "Built in + installed"),
32
+ panelChipPaneOnly: label("panel.chips.paneOnly", "Pane only"),
33
+ browserChip: label("browser.chips.browser", "Language browser"),
34
+ browserFilterPlaceholder: label("browser.filter.placeholder", "Filter locale, label, source"),
35
+ browserFilterAria: label("browser.filter.aria", "Filter language browser"),
36
+ browserFilterAll: label("browser.filter.all", "ALL"),
37
+ browserFilterBuiltIn: label("browser.filter.builtIn", "Built in"),
38
+ browserFilterInstalled: label("browser.filter.installed", "INSTALLED"),
39
+ browserFilterEnabled: label("browser.filter.enabled", "ENABLED"),
40
+ browserFilterDisabled: label("browser.filter.disabled", "DISABLED"),
41
+ browserEmpty: label("browser.empty", "No language packs match the current browser filter."),
42
+ actionDisable: label("actions.disable", "DISABLE"),
43
+ actionEnable: label("actions.enable", "ENABLE"),
44
+ actionUse: label("actions.use", "USE"),
45
+ actionExport: label("actions.export", "EXPORT"),
46
+ actionRemove: label("actions.remove", "REMOVE"),
47
+ actionCreateAndExport: label("actions.createAndExport", "Create and export"),
48
+ actionSavePack: label("actions.savePack", "Save pack"),
49
+ actionSaveAsInstalledPack: label("actions.saveAsInstalledPack", "Save as installed pack"),
50
+ actionFillDefaults: label("actions.fillDefaults", "Fill defaults"),
51
+ actionResetToken: label("actions.resetToken", "Reset token"),
52
+ labelStatus: label("labels.status", "STATUS"),
53
+ labelSource: label("labels.source", "SOURCE"),
54
+ labelTokens: label("labels.tokens", "TOKENS"),
55
+ labelMissing: label("labels.missing", "MISSING"),
56
+ labelCore: label("labels.core", "CORE"),
57
+ labelNotAvailable: label("labels.notAvailable", "N/A"),
58
+ labelBuiltInLocale: label("labels.builtInLocale", "Built-in locale"),
59
+ labelPresent: label("labels.present", "PRESENT"),
60
+ labelCustom: label("labels.custom", "CUSTOM"),
61
+ labelDefault: label("labels.default", "DEFAULT"),
62
+ labelTokenValue: label("labels.tokenValue", "Token value"),
63
+ labelPackLabel: label("labels.packLabel", "Pack label"),
64
+ tokenAuditTitle: label("tokenAudit.title", "Token Audit"),
65
+ builtInLocaleDescription: label("tokenAudit.builtInLocaleDescription", "Core shell catalogs load through the extension-aware i18n fallback chain."),
66
+ loadingTokens: label("tokenAudit.loading", "Loading tokens..."),
67
+ tokenEditorTitle: label("tokenEditor.title", "Token Editor"),
68
+ tokenEditorDescription: label("tokenEditor.description", "Every known i18n variable is listed here. Blank values fall back to the default message until saved."),
69
+ tokenSearchPlaceholder: label("tokenEditor.search.placeholder", "Filter token key, source, or default message"),
70
+ tokenSearchAria: label("tokenEditor.search.aria", "Filter i18n tokens"),
71
+ tokenEditorEmpty: label("tokenEditor.empty", "No i18n variables match the current token filter."),
72
+ tokenEditorBuiltInNotice: label("tokenEditor.builtInNotice", "Saving a built-in locale creates an installed override pack for that locale."),
73
+ createTitle: label("create.title", "Create Language Pack"),
74
+ createLocale: label("create.locale", "Locale"),
75
+ createLabel: label("create.label", "Label"),
76
+ createMessagesJson: label("create.messagesJson", "Messages JSON"),
77
+ errorImportFailed: label("errors.importFailed", "Failed to import language pack."),
78
+ errorCreateFailed: label("errors.createFailed", "Failed to create language pack."),
79
+ toolbarLabel: label("toolbar.label", "Language Pack Studio toolbar"),
80
+ toolbarToggleSidebar: label("toolbar.toggleSidebar", "Toggle sidebar"),
81
+ toolbarSinglePane: label("toolbar.singlePane", "Single pane"),
82
+ toolbarSplitScreen: label("toolbar.splitScreen", "Split screen"),
83
+ toolbarImportPack: label("toolbar.importPack", "Import pack"),
84
+ toolbarEnableAll: label("toolbar.enableAll", "Enable all packs"),
85
+ toolbarDisableAll: label("toolbar.disableAll", "Disable all packs"),
86
+ toolbarClose: label("toolbar.close", "Close studio"),
87
+ toolbarResizePanes: label("toolbar.resizePanes", "Resize Language Studio panes"),
16
88
  };
17
89
  export const languagePackStudioLocaleLoader = {
18
90
  defaultLocale: "en",
package/dist/i18n.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":"AAGA,MAAM,GAAG,GAAG,CAAC,MAAc,EAAE,EAAE,CAAC,6BAA6B,MAAM,EAAE,CAAC;AACtE,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,MAAc,EAAE,cAAsB,EAAa,EAAE,CAAC,CAAC;IAC3E,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC;IAChB,cAAc;CACf,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,mBAAmB,EAAE,KAAK,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IAC1E,mBAAmB,EAAE,KAAK,CAAC,sBAAsB,EAAE,yIAAyI,CAAC;IAC7L,gBAAgB,EAAE,KAAK,CAAC,qBAAqB,EAAE,2BAA2B,CAAC;IAC3E,sBAAsB,EAAE,KAAK,CAAC,2BAA2B,EAAE,+CAA+C,CAAC;IAC3G,SAAS,EAAE,KAAK,CAAC,kBAAkB,EAAE,sBAAsB,CAAC;IAC5D,eAAe,EAAE,KAAK,CAAC,wBAAwB,EAAE,iGAAiG,CAAC;IACnJ,SAAS,EAAE,KAAK,CAAC,YAAY,EAAE,gBAAgB,CAAC;IAChD,aAAa,EAAE,KAAK,CAAC,gBAAgB,EAAE,sBAAsB,CAAC;IAC9D,mBAAmB,EAAE,KAAK,CAAC,sBAAsB,EAAE,yFAAyF,CAAC;CACrI,CAAC;AAEX,MAAM,CAAC,MAAM,8BAA8B,GAAiC;IAC1E,aAAa,EAAE,IAAI;IACnB,cAAc,EAAE,IAAI;IACpB,OAAO,EAAE;QACP,EAAE,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,2BAA2B;KAC9E;CACF,CAAC"}
1
+ {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../src/i18n.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/locales/en.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAGpE,eAAO,MAAM,2BAA2B,EAAE,sBAazC,CAAC"}
1
+ {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../src/locales/en.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAGpE,eAAO,MAAM,2BAA2B,EAAE,sBAKzC,CAAC"}
@@ -1,16 +1,6 @@
1
1
  import { languagePackStudioLabels } from "../i18n.js";
2
2
  export const languagePackStudioEnCatalog = {
3
3
  locale: "en",
4
- messages: {
5
- [languagePackStudioLabels.manifestDisplayName.key]: languagePackStudioLabels.manifestDisplayName.defaultMessage,
6
- [languagePackStudioLabels.manifestDescription.key]: languagePackStudioLabels.manifestDescription.defaultMessage,
7
- [languagePackStudioLabels.commandOpenTitle.key]: languagePackStudioLabels.commandOpenTitle.defaultMessage,
8
- [languagePackStudioLabels.commandOpenDescription.key]: languagePackStudioLabels.commandOpenDescription.defaultMessage,
9
- [languagePackStudioLabels.viewTitle.key]: languagePackStudioLabels.viewTitle.defaultMessage,
10
- [languagePackStudioLabels.viewDescription.key]: languagePackStudioLabels.viewDescription.defaultMessage,
11
- [languagePackStudioLabels.railTitle.key]: languagePackStudioLabels.railTitle.defaultMessage,
12
- [languagePackStudioLabels.settingsTitle.key]: languagePackStudioLabels.settingsTitle.defaultMessage,
13
- [languagePackStudioLabels.settingsDescription.key]: languagePackStudioLabels.settingsDescription.defaultMessage,
14
- },
4
+ messages: Object.fromEntries(Object.values(languagePackStudioLabels).map((label) => [label.key, label.defaultMessage])),
15
5
  };
16
6
  //# sourceMappingURL=en.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"en.js","sourceRoot":"","sources":["../../src/locales/en.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAEtD,MAAM,CAAC,MAAM,2BAA2B,GAA2B;IACjE,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE;QACR,CAAC,wBAAwB,CAAC,mBAAmB,CAAC,GAAI,CAAC,EAAE,wBAAwB,CAAC,mBAAmB,CAAC,cAAc;QAChH,CAAC,wBAAwB,CAAC,mBAAmB,CAAC,GAAI,CAAC,EAAE,wBAAwB,CAAC,mBAAmB,CAAC,cAAc;QAChH,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,GAAI,CAAC,EAAE,wBAAwB,CAAC,gBAAgB,CAAC,cAAc;QAC1G,CAAC,wBAAwB,CAAC,sBAAsB,CAAC,GAAI,CAAC,EAAE,wBAAwB,CAAC,sBAAsB,CAAC,cAAc;QACtH,CAAC,wBAAwB,CAAC,SAAS,CAAC,GAAI,CAAC,EAAE,wBAAwB,CAAC,SAAS,CAAC,cAAc;QAC5F,CAAC,wBAAwB,CAAC,eAAe,CAAC,GAAI,CAAC,EAAE,wBAAwB,CAAC,eAAe,CAAC,cAAc;QACxG,CAAC,wBAAwB,CAAC,SAAS,CAAC,GAAI,CAAC,EAAE,wBAAwB,CAAC,SAAS,CAAC,cAAc;QAC5F,CAAC,wBAAwB,CAAC,aAAa,CAAC,GAAI,CAAC,EAAE,wBAAwB,CAAC,aAAa,CAAC,cAAc;QACpG,CAAC,wBAAwB,CAAC,mBAAmB,CAAC,GAAI,CAAC,EAAE,wBAAwB,CAAC,mBAAmB,CAAC,cAAc;KACjH;CACF,CAAC"}
1
+ {"version":3,"file":"en.js","sourceRoot":"","sources":["../../src/locales/en.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAEtD,MAAM,CAAC,MAAM,2BAA2B,GAA2B;IACjE,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,MAAM,CAAC,WAAW,CAC1B,MAAM,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAI,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,CAC3F;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAUnE,eAAO,MAAM,0BAA0B,EAAE,iBA2ExC,CAAC"}
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAYnE,eAAO,MAAM,0BAA0B,EAAE,iBAwGxC,CAAC"}
package/dist/manifest.js CHANGED
@@ -1,4 +1,4 @@
1
- import { LANGUAGE_PACK_STUDIO_COMMAND_ID, LANGUAGE_PACK_STUDIO_EXTENSION_ID, LANGUAGE_PACK_STUDIO_RAIL_ID, LANGUAGE_PACK_STUDIO_VIEW_ID, } from "./constants.js";
1
+ import { LANGUAGE_PACK_STUDIO_COMMAND_ID, LANGUAGE_PACK_STUDIO_EXPLORER_VIEW_ID, LANGUAGE_PACK_STUDIO_EXTENSION_ID, LANGUAGE_PACK_STUDIO_MODULE_ID, LANGUAGE_PACK_STUDIO_RAIL_ID, LANGUAGE_PACK_STUDIO_VIEW_ID, } from "./constants.js";
2
2
  import { languagePackStudioLabels } from "./i18n.js";
3
3
  import { LANGUAGE_PACK_STUDIO_VERSION } from "./version.js";
4
4
  export const languagePackStudioManifest = {
@@ -11,7 +11,8 @@ export const languagePackStudioManifest = {
11
11
  kind: "bundled",
12
12
  icon: { kind: "lucide", name: "Languages" },
13
13
  enabledByDefault: true,
14
- capabilities: ["view.register", "actionRail.register"],
14
+ capabilities: ["view.register", "actionRail.register", "settings.read", "settings.write"],
15
+ capabilityPresetIds: ["workspace.module.standard"],
15
16
  compatibility: {
16
17
  manifestVersion: 1,
17
18
  hostApi: "^1.0.0",
@@ -46,9 +47,36 @@ export const languagePackStudioManifest = {
46
47
  location: "main",
47
48
  allowMultiple: false,
48
49
  canBePinned: true,
50
+ },
51
+ {
52
+ id: LANGUAGE_PACK_STUDIO_EXPLORER_VIEW_ID,
53
+ title: { defaultMessage: "Language Pack Browser" },
54
+ description: { defaultMessage: "Built-in and installed language pack browser." },
55
+ icon: { kind: "lucide", name: "Languages" },
56
+ location: "sidebar",
57
+ allowMultiple: false,
58
+ canBePinned: true,
49
59
  }
50
60
  ],
51
61
  components: [],
62
+ workspaceModules: [
63
+ {
64
+ id: LANGUAGE_PACK_STUDIO_MODULE_ID,
65
+ title: languagePackStudioLabels.viewTitle,
66
+ description: languagePackStudioLabels.viewDescription,
67
+ icon: { kind: "lucide", name: "Languages" },
68
+ primaryViewId: LANGUAGE_PACK_STUDIO_VIEW_ID,
69
+ explorerViewId: LANGUAGE_PACK_STUDIO_EXPLORER_VIEW_ID,
70
+ supportedLayouts: ["single", "left", "right", "split"],
71
+ defaultLayout: "split",
72
+ settingsSectionId: `${LANGUAGE_PACK_STUDIO_EXTENSION_ID}.settings`,
73
+ capabilityProfiles: ["workspace.module.base"],
74
+ capabilityPresetIds: ["workspace.module.standard"],
75
+ actions: [
76
+ { commandId: LANGUAGE_PACK_STUDIO_COMMAND_ID, role: "primary", order: 10 },
77
+ ],
78
+ },
79
+ ],
52
80
  actionRail: [
53
81
  {
54
82
  id: LANGUAGE_PACK_STUDIO_RAIL_ID,
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AACA,OAAO,EACL,+BAA+B,EAC/B,iCAAiC,EACjC,4BAA4B,EAC5B,4BAA4B,GAC7B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AAE5D,MAAM,CAAC,MAAM,0BAA0B,GAAsB;IAC3D,eAAe,EAAE,CAAC;IAClB,EAAE,EAAE,iCAAiC;IACrC,WAAW,EAAE,uCAAuC;IACpD,OAAO,EAAE,4BAA4B;IACrC,WAAW,EAAE,wBAAwB,CAAC,mBAAmB;IACzD,WAAW,EAAE,wBAAwB,CAAC,mBAAmB;IACzD,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE;IAC3C,gBAAgB,EAAE,IAAI;IACtB,YAAY,EAAE,CAAC,eAAe,EAAE,qBAAqB,CAAC;IACtD,aAAa,EAAE;QACb,eAAe,EAAE,CAAC;QAClB,OAAO,EAAE,QAAQ;QACjB,OAAO,EAAE,QAAQ;QACjB,GAAG,EAAE,SAAS;QACd,aAAa,EAAE,QAAQ;KACxB;IACD,KAAK,EAAE;QACL,MAAM,EAAE,YAAY;QACpB,MAAM,EAAE,sCAAsC;KAC/C;IACD,IAAI,EAAE;QACJ,aAAa,EAAE,IAAI;QACnB,gBAAgB,EAAE,CAAC,IAAI,CAAC;QACxB,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;KACtD;IACD,aAAa,EAAE;QACb,QAAQ,EAAE;YACR;gBACE,EAAE,EAAE,+BAA+B;gBACnC,KAAK,EAAE,wBAAwB,CAAC,gBAAgB;gBAChD,WAAW,EAAE,wBAAwB,CAAC,sBAAsB;gBAC5D,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE;aAC5C;SACF;QACD,KAAK,EAAE;YACL;gBACE,EAAE,EAAE,4BAA4B;gBAChC,KAAK,EAAE,wBAAwB,CAAC,SAAS;gBACzC,WAAW,EAAE,wBAAwB,CAAC,eAAe;gBACrD,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE;gBAC3C,QAAQ,EAAE,MAAM;gBAChB,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,IAAI;aAClB;SACF;QACD,UAAU,EAAE,EAAE;QACd,UAAU,EAAE;YACV;gBACE,EAAE,EAAE,4BAA4B;gBAChC,KAAK,EAAE,wBAAwB,CAAC,SAAS;gBACzC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE;gBAC3C,KAAK,EAAE,YAAY;gBACnB,KAAK,EAAE,EAAE;gBACT,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,4BAA4B,EAAE;aAC/D;SACF;QACD,gBAAgB,EAAE;YAChB;gBACE,EAAE,EAAE,GAAG,iCAAiC,WAAW;gBACnD,KAAK,EAAE,wBAAwB,CAAC,aAAa;gBAC7C,WAAW,EAAE,wBAAwB,CAAC,mBAAmB;gBACzD,KAAK,EAAE,EAAE;gBACT,UAAU,EAAE,yBAAyB;aACtC;SACF;KACF;IACD,cAAc,EAAE;QACd,OAAO,EAAE,CAAC;QACV,KAAK,EAAE,wBAAwB,CAAC,aAAa;QAC7C,WAAW,EAAE,wBAAwB,CAAC,mBAAmB;QACzD,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,EAAE;KACX;CACF,CAAC"}
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -28,6 +28,11 @@ export interface LanguagePackStudioController {
28
28
  messages: Record<string, string>;
29
29
  enabled?: boolean;
30
30
  }): Promise<LanguagePackStudioArtifact>;
31
+ updateArtifact(locale: string, input: {
32
+ label?: string;
33
+ messages: Record<string, string>;
34
+ enabled?: boolean;
35
+ }): Promise<LanguagePackStudioArtifact>;
31
36
  activate(locale: string): Promise<void>;
32
37
  remove(locale: string): Promise<void>;
33
38
  setEnabled(locale: string, enabled: boolean): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,WAAW,CAAC;CAC3C;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,SAAS,0BAA0B,EAAE,CAAC;IACtD,QAAQ,CAAC,MAAM,EAAE,SAAS,2BAA2B,EAAE,CAAC;IACxD,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,4BAA4B;IAC3C,WAAW,IAAI,0BAA0B,CAAC;IAC1C,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;IAC5C,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACrE,cAAc,CAAC,KAAK,EAAE;QACpB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,0BAA0B,GAAG,IAAI,CAAC;CACnE;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,UAAU,EAAE,4BAA4B,CAAC;CACnD"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,WAAW,CAAC;CAC3C;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE,SAAS,0BAA0B,EAAE,CAAC;IACtD,QAAQ,CAAC,MAAM,EAAE,SAAS,2BAA2B,EAAE,CAAC;IACxD,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,4BAA4B;IAC3C,WAAW,IAAI,0BAA0B,CAAC;IAC1C,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;IAC5C,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACrE,cAAc,CAAC,KAAK,EAAE;QACpB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACxC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE;QACpC,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,0BAA0B,GAAG,IAAI,CAAC;CACnE;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,UAAU,EAAE,4BAA4B,CAAC;CACnD"}
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const LANGUAGE_PACK_STUDIO_VERSION = "1.0.3";
1
+ export declare const LANGUAGE_PACK_STUDIO_VERSION = "1.0.6";
2
2
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -1,2 +1,2 @@
1
- export const LANGUAGE_PACK_STUDIO_VERSION = "1.0.3";
1
+ export const LANGUAGE_PACK_STUDIO_VERSION = "1.0.6";
2
2
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mdwrk/extension-language-pack-studio",
3
- "version": "1.0.3",
3
+ "version": "1.0.6",
4
4
  "type": "module",
5
5
  "license": "Apache-2.0",
6
6
  "publishConfig": {
@@ -16,18 +16,30 @@
16
16
  ],
17
17
  "sideEffects": false,
18
18
  "dependencies": {
19
- "@mdwrk/extension-host": "^1.0.2",
20
- "@mdwrk/extension-manifest": "^1.0.1",
19
+ "@mdwrk/extension-host": "^1.0.5",
20
+ "@mdwrk/extension-manifest": "^1.0.3",
21
21
  "lucide-react": "^0.475.0"
22
22
  },
23
23
  "peerDependencies": {
24
24
  "react": "^19.0.0",
25
25
  "react-dom": "^19.0.0"
26
26
  },
27
+ "devDependencies": {
28
+ "@mdwrk/testing": "^1.0.3",
29
+ "@testing-library/jest-dom": "^6.6.3",
30
+ "@testing-library/react": "^16.1.0",
31
+ "@types/react": "^19.0.8",
32
+ "@types/react-dom": "^19.0.3",
33
+ "jsdom": "^25.0.1",
34
+ "vitest": "^2.1.8"
35
+ },
27
36
  "scripts": {
28
37
  "build:deps": "npm run build -w @mdwrk/extension-manifest && npm run build -w @mdwrk/extension-host",
29
38
  "build": "npm run build:deps && tsc -p tsconfig.json",
30
- "typecheck": "npm run build:deps && tsc --noEmit -p tsconfig.json"
39
+ "typecheck": "npm run build:deps && tsc --noEmit -p tsconfig.json",
40
+ "lint": "npm run typecheck",
41
+ "test": "npm run build && vitest run tests/language-pack-studio-view.test.tsx --pool=forks --minWorkers=1 --maxWorkers=1",
42
+ "prepack": "npm run build"
31
43
  },
32
44
  "exports": {
33
45
  ".": {
@@ -52,5 +64,6 @@
52
64
  }
53
65
  },
54
66
  "main": "./dist/index.js",
55
- "types": "./dist/index.d.ts"
67
+ "types": "./dist/index.d.ts",
68
+ "homepage": "https://mdwrk.com"
56
69
  }