@corenel/ui-kit 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,62 @@
1
+ import React from 'react';
2
+ export declare function Section({ label, meta, children }: {
3
+ label: string;
4
+ meta?: React.ReactNode;
5
+ children?: React.ReactNode;
6
+ }): React.ReactElement;
7
+ export declare function Row({ label, tip, children }: {
8
+ label: string;
9
+ tip?: string;
10
+ children?: React.ReactNode;
11
+ }): React.ReactElement;
12
+ /** Accent-fill switch (the brand gradient is reserved — system rule). */
13
+ export declare function Toggle({ checked, onChange, ariaLabel, disabled }: {
14
+ checked: boolean;
15
+ onChange: (v: boolean) => void;
16
+ ariaLabel: string;
17
+ disabled?: boolean;
18
+ }): React.ReactElement;
19
+ /** Compact numeric input. Blank/zero/negative emit undefined — limits are
20
+ * positive or absent, never 0/NaN. */
21
+ export declare function NumField({ value, onChange, prefix, unit, placeholder, min, step, ariaLabel, fluid }: {
22
+ value: number | undefined;
23
+ onChange: (n: number | undefined) => void;
24
+ prefix?: string;
25
+ unit?: string;
26
+ placeholder?: string;
27
+ min?: number;
28
+ step?: number | string;
29
+ ariaLabel: string;
30
+ /** Fill the row (width:100%) instead of hugging its content — for full-width
31
+ * form layouts rather than the compact right-aligned property surface. */
32
+ fluid?: boolean;
33
+ }): React.ReactElement;
34
+ export interface ChipOption {
35
+ value: string;
36
+ label: string;
37
+ }
38
+ /** Single-select preset chips (radiogroup). `value: null` = no chip active. */
39
+ export declare function ChipRow({ options, value, onSelect, ariaLabel }: {
40
+ options: ChipOption[];
41
+ value: string | null;
42
+ onSelect: (v: string) => void;
43
+ ariaLabel: string;
44
+ }): React.ReactElement;
45
+ /** The value + rotating-chevron trigger for an inline menu (the drawer's ddBtn, extracted). */
46
+ export declare function MenuBtn({ value, open, onClick, ariaLabel, title }: {
47
+ value: React.ReactNode;
48
+ open: boolean;
49
+ onClick: () => void;
50
+ ariaLabel?: string;
51
+ title?: string;
52
+ }): React.ReactElement;
53
+ /** Quiet inline disclosure. `actions` renders right-aligned on the trigger line
54
+ * whether open or closed (contextual text actions live there). */
55
+ export declare function Disclosure({ label, open, onToggle, actions, children }: {
56
+ label: string;
57
+ open: boolean;
58
+ onToggle: () => void;
59
+ actions?: React.ReactNode;
60
+ children?: React.ReactNode;
61
+ }): React.ReactElement;
62
+ //# sourceMappingURL=FieldControls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FieldControls.d.ts","sourceRoot":"","sources":["../FieldControls.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { IcChevron } from './icons';
3
+ export function Section({ label, meta, children }) {
4
+ return (_jsxs("div", { style: S.section, children: [_jsxs("div", { style: S.sectionHead, children: [_jsx("span", { style: S.sectionLabel, children: label }), meta != null && _jsx("span", { style: S.sectionMeta, children: meta })] }), children] }));
5
+ }
6
+ export function Row({ label, tip, children }) {
7
+ return (_jsxs("div", { style: S.row, children: [_jsx("span", { style: { ...S.rowLabel, ...(tip ? S.rowLabelTip : null) }, title: tip, children: label }), children] }));
8
+ }
9
+ /** Accent-fill switch (the brand gradient is reserved — system rule). */
10
+ export function Toggle({ checked, onChange, ariaLabel, disabled }) {
11
+ return (_jsx("button", { type: "button", role: "switch", "aria-checked": checked, "aria-label": ariaLabel, disabled: disabled, onClick: () => onChange(!checked), style: { ...S.toggle, background: checked ? 'var(--accent)' : 'var(--surface-3)', boxShadow: checked ? 'none' : 'inset 0 0 0 1px var(--border-default)', opacity: disabled ? 0.5 : 1 }, children: _jsx("span", { style: { ...S.toggleKnob, transform: checked ? 'translateX(16px)' : 'translateX(0)' } }) }));
12
+ }
13
+ /** Compact numeric input. Blank/zero/negative emit undefined — limits are
14
+ * positive or absent, never 0/NaN. */
15
+ export function NumField({ value, onChange, prefix, unit, placeholder = '—', min, step, ariaLabel, fluid }) {
16
+ const parse = (raw) => {
17
+ const n = Number(raw);
18
+ return raw.trim() !== '' && Number.isFinite(n) && n > 0 ? n : undefined;
19
+ };
20
+ return (_jsxs("span", { style: { ...S.numWrap, ...(fluid ? S.numWrapFluid : null) }, children: [prefix && _jsx("span", { style: S.numAffix, children: prefix }), _jsx("input", { "aria-label": ariaLabel, type: "number", style: S.numInput, min: min, step: step, placeholder: placeholder, value: value ?? '', onChange: (e) => onChange(parse(e.target.value)) }), unit && _jsx("span", { style: S.numAffix, children: unit })] }));
21
+ }
22
+ /** Single-select preset chips (radiogroup). `value: null` = no chip active. */
23
+ export function ChipRow({ options, value, onSelect, ariaLabel }) {
24
+ return (_jsx("div", { role: "radiogroup", "aria-label": ariaLabel, style: S.chipRow, children: options.map((o) => {
25
+ const active = o.value === value;
26
+ return (_jsx("button", { type: "button", role: "radio", "aria-checked": active, style: { ...S.chip, ...(active ? S.chipActive : null) }, onClick: () => onSelect(o.value), children: o.label }, o.value));
27
+ }) }));
28
+ }
29
+ /** The value + rotating-chevron trigger for an inline menu (the drawer's ddBtn, extracted). */
30
+ export function MenuBtn({ value, open, onClick, ariaLabel, title }) {
31
+ return (_jsxs("button", { type: "button", style: S.menuBtn, onClick: onClick, "aria-expanded": open, "aria-label": ariaLabel, title: title, children: [_jsx("span", { style: S.menuBtnVal, children: value }), _jsx("span", { style: { display: 'inline-flex', transform: open ? 'rotate(180deg)' : 'none', transition: 'transform var(--motion-fast)' }, children: _jsx(IcChevron, { size: 12 }) })] }));
32
+ }
33
+ /** Quiet inline disclosure. `actions` renders right-aligned on the trigger line
34
+ * whether open or closed (contextual text actions live there). */
35
+ export function Disclosure({ label, open, onToggle, actions, children }) {
36
+ return (_jsxs("div", { style: S.disclosure, children: [_jsxs("div", { style: S.disclosureHead, children: [_jsxs("button", { type: "button", style: S.disclosureBtn, onClick: onToggle, "aria-expanded": open, children: [_jsx("span", { style: { display: 'inline-flex', transform: open ? 'rotate(90deg)' : 'none', transition: 'transform var(--motion-fast)' }, children: _jsx(IcChevron, { size: 11 }) }), label] }), actions != null && _jsx("span", { style: S.disclosureActions, children: actions })] }), open && _jsx("div", { style: S.disclosureBody, children: children })] }));
37
+ }
38
+ const S = {
39
+ section: { display: 'flex', flexDirection: 'column', gap: 2, padding: '8px 0 4px' },
40
+ sectionHead: { display: 'flex', alignItems: 'baseline', justifyContent: 'space-between', gap: 8, padding: '0 2px 4px' },
41
+ sectionLabel: { fontSize: 10.5, fontWeight: 600, textTransform: 'uppercase', letterSpacing: '0.08em', color: 'var(--text-tertiary)' },
42
+ sectionMeta: { fontSize: 11, color: 'var(--text-tertiary)' },
43
+ row: { display: 'flex', alignItems: 'center', justifyContent: 'space-between', gap: 8, minHeight: 28, padding: '0 2px' },
44
+ rowLabel: { fontSize: 12.5, color: 'var(--text-secondary)', flexShrink: 0 },
45
+ rowLabelTip: { textDecoration: 'underline dotted', textDecorationColor: 'var(--border-strong, var(--border-default))', textUnderlineOffset: 3, cursor: 'help' },
46
+ toggle: { width: 38, height: 22, flexShrink: 0, borderRadius: 999, border: 0, padding: 2, cursor: 'pointer', display: 'inline-flex', alignItems: 'center' },
47
+ toggleKnob: { width: 18, height: 18, borderRadius: 999, background: '#fff', boxShadow: 'var(--shadow-1)', transition: 'transform var(--motion-base)' },
48
+ numWrap: { display: 'inline-flex', alignItems: 'center', gap: 4, height: 28, padding: '0 8px', border: '1px solid var(--border-default)', borderRadius: 'var(--radius-sm)', background: 'var(--surface-2)', minWidth: 0 },
49
+ numWrapFluid: { display: 'flex', width: '100%', height: 36, background: 'var(--surface-1)' },
50
+ numAffix: { fontSize: 11.5, color: 'var(--text-tertiary)', flexShrink: 0 },
51
+ numInput: { width: '100%', minWidth: 0, border: 0, outline: 'none', background: 'transparent', color: 'var(--text-primary)', fontSize: 12.5, fontFamily: 'inherit', fontVariantNumeric: 'tabular-nums', padding: 0 },
52
+ chipRow: { display: 'flex', flexWrap: 'wrap', gap: 6, padding: '2px 2px 4px' },
53
+ // Longhand border properties: mixing the `border` shorthand with chipActive's
54
+ // `borderColor` override makes React warn about shorthand/longhand conflicts.
55
+ chip: { height: 24, padding: '0 10px', borderWidth: 1, borderStyle: 'solid', borderColor: 'var(--border-subtle)', borderRadius: 999, background: 'var(--surface-2)', color: 'var(--text-secondary)', fontSize: 12, fontWeight: 600, fontFamily: 'inherit', fontVariantNumeric: 'tabular-nums', cursor: 'pointer' },
56
+ chipActive: { background: 'var(--accent-soft)', borderColor: 'var(--accent)', color: 'var(--accent)' },
57
+ menuBtn: { display: 'inline-flex', alignItems: 'center', gap: 6, height: 28, padding: '0 9px', border: '1px solid var(--border-default)', borderRadius: 'var(--radius-sm)', background: 'var(--surface-2)', color: 'var(--text-primary)', fontSize: 12.5, fontWeight: 600, fontFamily: 'inherit', cursor: 'pointer', minWidth: 0 },
58
+ menuBtnVal: { overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap', minWidth: 0 },
59
+ disclosure: { display: 'flex', flexDirection: 'column', gap: 4, padding: '0 2px' },
60
+ disclosureHead: { display: 'flex', alignItems: 'center', justifyContent: 'space-between', gap: 8, minHeight: 24 },
61
+ disclosureBtn: { display: 'inline-flex', alignItems: 'center', gap: 5, border: 0, background: 'transparent', color: 'var(--text-secondary)', fontSize: 12, fontWeight: 600, fontFamily: 'inherit', cursor: 'pointer', padding: 0 },
62
+ disclosureActions: { display: 'inline-flex', alignItems: 'center', gap: 10 },
63
+ disclosureBody: { display: 'flex', flexDirection: 'column', gap: 8, paddingTop: 2 },
64
+ };
65
+ //# sourceMappingURL=FieldControls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FieldControls.js","sourceRoot":"","sources":["../FieldControls.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import type * as Monaco from 'monaco-editor/esm/vs/editor/editor.api';
2
+ interface Grammar {
3
+ conf: Monaco.languages.LanguageConfiguration;
4
+ language: Monaco.languages.IMonarchLanguage;
5
+ }
6
+ export interface BasicLanguage {
7
+ /** Monaco language id. */
8
+ id: string;
9
+ /** File extensions claimed (lowercase, no dot) — OUR curated set, not
10
+ * monaco's full list (e.g. ini also claims toml/env; xml claims svg). */
11
+ extensions: string[];
12
+ /** Extra fence tags beyond the id + extensions (```golang, ```c#). */
13
+ fenceAliases?: string[];
14
+ /** Lazy grammar body; null = tokens provided elsewhere (json's language
15
+ * service, registered by the host's monaco setup). */
16
+ grammar: (() => Promise<Grammar>) | null;
17
+ }
18
+ export declare const BASIC_LANGS: BasicLanguage[];
19
+ /** Resolve a code-fence tag (```tag) to a pack language id, or null. Matches
20
+ * ids, claimed extensions, and fenceAliases. */
21
+ export declare function fenceLanguageId(tag: string): string | null;
22
+ /** Publish the pack into the LanguageExtension registry (idempotent — the
23
+ * registry keys by id and ensureLanguagesRegistered installs each id once). */
24
+ export declare function registerBasicLanguages(): void;
25
+ export {};
26
+ //# sourceMappingURL=basicLanguages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basicLanguages.d.ts","sourceRoot":"","sources":["../basicLanguages.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,KAAK,MAAM,MAAM,wCAAwC,CAAC;AAGtE,UAAU,OAAO;IACf,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,qBAAqB,CAAC;IAC7C,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC;CAC7C;AAED,MAAM,WAAW,aAAa;IAC5B,0BAA0B;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX;6EACyE;IACzE,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,sEAAsE;IACtE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;0DACsD;IACtD,OAAO,EAAE,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;CAC1C;AAKD,eAAO,MAAM,WAAW,EAAE,aAAa,EAuCtC,CAAC;AAEF;gDACgD;AAChD,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAE1D;AAeD;+EAC+E;AAC/E,wBAAgB,sBAAsB,IAAI,IAAI,CAsB7C"}
@@ -0,0 +1,99 @@
1
+ import { registerLanguageExtension } from './languages';
2
+ // c and cpp share monaco's one C/C++ grammar module.
3
+ const cppGrammar = () => import('monaco-editor/esm/vs/basic-languages/cpp/cpp');
4
+ export const BASIC_LANGS = [
5
+ // Code languages.
6
+ { id: 'typescript', extensions: ['ts', 'tsx', 'mts', 'cts'], grammar: () => import('monaco-editor/esm/vs/basic-languages/typescript/typescript') },
7
+ { id: 'javascript', extensions: ['js', 'jsx', 'mjs', 'cjs'], fenceAliases: ['node'], grammar: () => import('monaco-editor/esm/vs/basic-languages/javascript/javascript') },
8
+ { id: 'html', extensions: ['html', 'htm'], grammar: () => import('monaco-editor/esm/vs/basic-languages/html/html') },
9
+ { id: 'css', extensions: ['css'], grammar: () => import('monaco-editor/esm/vs/basic-languages/css/css') },
10
+ { id: 'scss', extensions: ['scss'], fenceAliases: ['sass'], grammar: () => import('monaco-editor/esm/vs/basic-languages/scss/scss') },
11
+ { id: 'less', extensions: ['less'], grammar: () => import('monaco-editor/esm/vs/basic-languages/less/less') },
12
+ { id: 'python', extensions: ['py'], fenceAliases: ['py3'], grammar: () => import('monaco-editor/esm/vs/basic-languages/python/python') },
13
+ { id: 'c', extensions: ['c', 'h'], grammar: cppGrammar },
14
+ { id: 'cpp', extensions: ['cpp', 'cc', 'cxx', 'hpp', 'hh'], fenceAliases: ['c++'], grammar: cppGrammar },
15
+ { id: 'csharp', extensions: ['cs'], fenceAliases: ['c#'], grammar: () => import('monaco-editor/esm/vs/basic-languages/csharp/csharp') },
16
+ { id: 'java', extensions: ['java'], grammar: () => import('monaco-editor/esm/vs/basic-languages/java/java') },
17
+ { id: 'go', extensions: ['go'], fenceAliases: ['golang'], grammar: () => import('monaco-editor/esm/vs/basic-languages/go/go') },
18
+ { id: 'rust', extensions: ['rs'], grammar: () => import('monaco-editor/esm/vs/basic-languages/rust/rust') },
19
+ { id: 'php', extensions: ['php'], grammar: () => import('monaco-editor/esm/vs/basic-languages/php/php') },
20
+ { id: 'ruby', extensions: ['rb'], grammar: () => import('monaco-editor/esm/vs/basic-languages/ruby/ruby') },
21
+ { id: 'powershell', extensions: ['ps1', 'psm1'], fenceAliases: ['ps'], grammar: () => import('monaco-editor/esm/vs/basic-languages/powershell/powershell') },
22
+ { id: 'bat', extensions: ['bat', 'cmd'], fenceAliases: ['batch'], grammar: () => import('monaco-editor/esm/vs/basic-languages/bat/bat') },
23
+ { id: 'kotlin', extensions: ['kt', 'kts'], grammar: () => import('monaco-editor/esm/vs/basic-languages/kotlin/kotlin') },
24
+ { id: 'swift', extensions: ['swift'], grammar: () => import('monaco-editor/esm/vs/basic-languages/swift/swift') },
25
+ { id: 'scala', extensions: ['scala', 'sbt'], grammar: () => import('monaco-editor/esm/vs/basic-languages/scala/scala') },
26
+ { id: 'dart', extensions: ['dart'], grammar: () => import('monaco-editor/esm/vs/basic-languages/dart/dart') },
27
+ { id: 'lua', extensions: ['lua'], grammar: () => import('monaco-editor/esm/vs/basic-languages/lua/lua') },
28
+ { id: 'r', extensions: ['r'], fenceAliases: ['rlang'], grammar: () => import('monaco-editor/esm/vs/basic-languages/r/r') },
29
+ { id: 'perl', extensions: ['pl', 'pm'], grammar: () => import('monaco-editor/esm/vs/basic-languages/perl/perl') },
30
+ { id: 'graphql', extensions: ['graphql', 'gql'], grammar: () => import('monaco-editor/esm/vs/basic-languages/graphql/graphql') },
31
+ { id: 'objective-c', extensions: ['m'], fenceAliases: ['objc', 'obj-c'], grammar: () => import('monaco-editor/esm/vs/basic-languages/objective-c/objective-c') },
32
+ // Doc/config formats.
33
+ { id: 'markdown', extensions: ['md', 'markdown'], grammar: () => import('monaco-editor/esm/vs/basic-languages/markdown/markdown') },
34
+ { id: 'yaml', extensions: ['yaml', 'yml'], grammar: () => import('monaco-editor/esm/vs/basic-languages/yaml/yaml') },
35
+ { id: 'xml', extensions: ['xml', 'svg'], grammar: () => import('monaco-editor/esm/vs/basic-languages/xml/xml') },
36
+ { id: 'ini', extensions: ['ini', 'conf', 'cfg', 'toml', 'env', 'properties'], grammar: () => import('monaco-editor/esm/vs/basic-languages/ini/ini') },
37
+ { id: 'shell', extensions: ['sh', 'bash', 'zsh'], fenceAliases: ['console'], grammar: () => import('monaco-editor/esm/vs/basic-languages/shell/shell') },
38
+ { id: 'sql', extensions: ['sql'], grammar: () => import('monaco-editor/esm/vs/basic-languages/sql/sql') },
39
+ { id: 'dockerfile', extensions: ['dockerfile'], fenceAliases: ['docker'], grammar: () => import('monaco-editor/esm/vs/basic-languages/dockerfile/dockerfile') },
40
+ // json's tokens come from the full JSON language service the host registers
41
+ // (lib/monaco.ts); this entry only claims the extensions/fence tags.
42
+ { id: 'json', extensions: ['json', 'jsonc', 'pdflow', 'pdproj'], grammar: null },
43
+ ];
44
+ /** Resolve a code-fence tag (```tag) to a pack language id, or null. Matches
45
+ * ids, claimed extensions, and fenceAliases. */
46
+ export function fenceLanguageId(tag) {
47
+ return fenceMap().get(tag.trim().toLowerCase()) ?? null;
48
+ }
49
+ let fences = null;
50
+ function fenceMap() {
51
+ if (!fences) {
52
+ fences = new Map();
53
+ for (const l of BASIC_LANGS) {
54
+ fences.set(l.id, l.id);
55
+ for (const e of l.extensions)
56
+ if (!fences.has(e))
57
+ fences.set(e, l.id);
58
+ for (const a of l.fenceAliases ?? [])
59
+ if (!fences.has(a))
60
+ fences.set(a, l.id);
61
+ }
62
+ }
63
+ return fences;
64
+ }
65
+ /** Publish the pack into the LanguageExtension registry (idempotent — the
66
+ * registry keys by id and ensureLanguagesRegistered installs each id once). */
67
+ export function registerBasicLanguages() {
68
+ for (const l of BASIC_LANGS) {
69
+ registerLanguageExtension({
70
+ id: l.id,
71
+ extensions: l.extensions.map((e) => '.' + e),
72
+ fenceAliases: l.fenceAliases,
73
+ register(monaco) {
74
+ if (!monaco.languages.getLanguages().some((x) => x.id === l.id)) {
75
+ monaco.languages.register({ id: l.id, extensions: l.extensions.map((e) => '.' + e) });
76
+ }
77
+ const load = l.grammar;
78
+ if (!load)
79
+ return;
80
+ monaco.languages.registerTokensProviderFactory(l.id, {
81
+ create: async () => {
82
+ const g = await load();
83
+ monaco.languages.setLanguageConfiguration(l.id, g.conf);
84
+ return g.language;
85
+ },
86
+ });
87
+ },
88
+ });
89
+ }
90
+ }
91
+ // Self-register at import: any consumer of the registry lookups (langForPath,
92
+ // fence resolution) gets a populated table by importing this module — no
93
+ // per-consumer "remember to call registerBasicLanguages()" incantation, which
94
+ // was a silent-ordering bug waiting to happen. Idempotent (registry keys by
95
+ // id), monaco-free (grammar bodies stay lazy chunks), and safe from
96
+ // tree-shaking: neither package.json declares sideEffects, so bundlers keep
97
+ // module-scope calls.
98
+ registerBasicLanguages();
99
+ //# sourceMappingURL=basicLanguages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basicLanguages.js","sourceRoot":"","sources":["../basicLanguages.ts"],"names":[],"mappings":"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"}
package/dist/icons.d.ts CHANGED
@@ -13,6 +13,8 @@ export declare const IcSliders: (p: IcoProps) => React.JSX.Element;
13
13
  export declare const IcGit: (p: IcoProps) => React.JSX.Element;
14
14
  export declare const IcCopy: (p: IcoProps) => React.JSX.Element;
15
15
  export declare const IcCheck: (p: IcoProps) => React.JSX.Element;
16
+ /** Horizontal ellipsis — an overflow affordance (items that did not fit). */
17
+ export declare const IcMore: (p: IcoProps) => React.JSX.Element;
16
18
  export declare const IcClock: (p: IcoProps) => React.JSX.Element;
17
19
  export declare const IcZap: (p: IcoProps) => React.JSX.Element;
18
20
  export declare const IcAlert: (p: IcoProps) => React.JSX.Element;
@@ -52,6 +54,7 @@ export declare const IcSave: (p: IcoProps) => React.JSX.Element;
52
54
  export declare const IcCollapseAll: (p: IcoProps) => React.JSX.Element;
53
55
  export declare const IcExpandAll: (p: IcoProps) => React.JSX.Element;
54
56
  export declare const IcEdit: (p: IcoProps) => React.JSX.Element;
57
+ export declare const IcDatabase: (p: IcoProps) => React.JSX.Element;
55
58
  /** Branded thinking / loading indicator: the P-mark glyph spinning in place.
56
59
  * One shared spinner for every "working…" state (agent thinking, prompt run,
57
60
  * workflow run) so loading reads the same everywhere. Honors reduced-motion via
@@ -1 +1 @@
1
- {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../icons.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../icons.tsx"],"names":[],"mappings":"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"}
package/dist/icons.js CHANGED
@@ -11,6 +11,8 @@ export const IcSliders = (p) => _jsx(Ico, { ...p, d: _jsxs(_Fragment, { children
11
11
  export const IcGit = (p) => _jsx(Ico, { ...p, d: _jsxs(_Fragment, { children: [_jsx("line", { x1: "6", y1: "3", x2: "6", y2: "15" }), _jsx("circle", { cx: "18", cy: "6", r: "3" }), _jsx("circle", { cx: "6", cy: "18", r: "3" }), _jsx("path", { d: "M18 9a9 9 0 0 1-9 9" })] }) });
12
12
  export const IcCopy = (p) => _jsx(Ico, { ...p, d: _jsxs(_Fragment, { children: [_jsx("rect", { x: "9", y: "9", width: "13", height: "13", rx: "2" }), _jsx("path", { d: "M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1" })] }) });
13
13
  export const IcCheck = (p) => _jsx(Ico, { ...p, d: _jsx("polyline", { points: "20 6 9 17 4 12" }) });
14
+ /** Horizontal ellipsis — an overflow affordance (items that did not fit). */
15
+ export const IcMore = (p) => _jsx(Ico, { ...p, fill: "currentColor", d: _jsxs(_Fragment, { children: [_jsx("circle", { cx: "5", cy: "12", r: "1.6", stroke: "none" }), _jsx("circle", { cx: "12", cy: "12", r: "1.6", stroke: "none" }), _jsx("circle", { cx: "19", cy: "12", r: "1.6", stroke: "none" })] }) });
14
16
  export const IcClock = (p) => _jsx(Ico, { ...p, d: _jsxs(_Fragment, { children: [_jsx("circle", { cx: "12", cy: "12", r: "9" }), _jsx("polyline", { points: "12 7 12 12 15 14" })] }) });
15
17
  export const IcZap = (p) => _jsx(Ico, { ...p, fill: "currentColor", d: _jsx("polygon", { points: "13 2 3 14 12 14 11 22 21 10 12 10 13 2", stroke: "none" }) });
16
18
  export const IcAlert = (p) => _jsx(Ico, { ...p, d: _jsxs(_Fragment, { children: [_jsx("path", { d: "M10.29 3.86 1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0Z" }), _jsx("line", { x1: "12", y1: "9", x2: "12", y2: "13" }), _jsx("line", { x1: "12", y1: "17", x2: "12.01", y2: "17" })] }) });
@@ -52,6 +54,7 @@ export const IcSave = (p) => _jsx(Ico, { ...p, d: _jsxs(_Fragment, { children: [
52
54
  export const IcCollapseAll = (p) => _jsx(Ico, { ...p, d: _jsxs(_Fragment, { children: [_jsx("polyline", { points: "7 10 12 5 17 10" }), _jsx("polyline", { points: "7 19 12 14 17 19" })] }) });
53
55
  export const IcExpandAll = (p) => _jsx(Ico, { ...p, d: _jsxs(_Fragment, { children: [_jsx("polyline", { points: "7 14 12 19 17 14" }), _jsx("polyline", { points: "7 5 12 10 17 5" })] }) });
54
56
  export const IcEdit = (p) => _jsx(Ico, { ...p, d: _jsxs(_Fragment, { children: [_jsx("path", { d: "M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7" }), _jsx("path", { d: "M18.5 2.5a2.12 2.12 0 0 1 3 3L12 15l-4 1 1-4Z" })] }) });
57
+ export const IcDatabase = (p) => _jsx(Ico, { ...p, d: _jsxs(_Fragment, { children: [_jsx("ellipse", { cx: "12", cy: "5", rx: "9", ry: "3" }), _jsx("path", { d: "M3 5V19A9 3 0 0 0 21 19V5" }), _jsx("path", { d: "M3 12A9 3 0 0 0 21 12" })] }) });
55
58
  /* ---------- P mark (CSS mask + cursor-tracking conic gradient) ---------- */
56
59
  const P1 = 'M 271.6313,29.109924 C 456.06055,29.109924 454.60452,304.1 270.40336,304.1 L 228,304 v -47.30173 l 43.85191,0.0317 c 118.41324,0 116.08205,-178.966717 -0.82527,-178.966717 L 132.15087,77.622831 129.6,420.52 c -0.33992,0.0728 -45.968529,35.12868 -45.968529,35.12868 L 83.506489,28.866413 Z';
57
60
  const P2 = 'm 156,102 103.33423,0.32678 c 88.07508,0 87.938,129.66692 1.26051,129.66692 l -32.5414,0.0925 -0.0533,-47.08616 32.66331,-0.23913 c 27.90739,0 25.69827,-34.89447 -0.0611,-34.99087 L 204.00004,150 c 0.90517,68.30467 0.52,211.29643 0.52,211.29643 0,0 -48.54879,38.04493 -48.62668,38.05052 z';
package/dist/icons.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"icons.js","sourceRoot":"","sources":["../icons.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"icons.js","sourceRoot":"","sources":["../icons.tsx"],"names":[],"mappings":"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"}
@@ -11,6 +11,9 @@ export interface LanguageExtension {
11
11
  id: string;
12
12
  /** File extensions it claims, e.g. ['.prmd']. */
13
13
  extensions: string[];
14
+ /** Extra code-fence tags (```tag) that resolve to this language, beyond the
15
+ * id and extensions themselves, e.g. ['golang'] for go. */
16
+ fenceAliases?: string[];
14
17
  /** Install the language against the bundled Monaco (idempotent per id; the
15
18
  * registry guards against double-registration). */
16
19
  register(monaco: typeof Monaco): void;
@@ -23,6 +26,10 @@ export declare function registerLanguageExtension(ext: LanguageExtension): void;
23
26
  export declare function languageExtensions(): LanguageExtension[];
24
27
  /** The registered extension for a Monaco language id, or undefined. */
25
28
  export declare function languageExtension(id: string): LanguageExtension | undefined;
29
+ /** The language id claiming a file extension (lowercase, no leading dot), or
30
+ * undefined. Plain metadata scan — safe from monaco-free callers (langForPath,
31
+ * the file-open gate); the registry never imports monaco at runtime. */
32
+ export declare function languageIdForExtension(ext: string): string | undefined;
26
33
  /** Install every registered language extension against `monaco`, once each. */
27
34
  export declare function ensureLanguagesRegistered(monaco: typeof Monaco): void;
28
35
  //# sourceMappingURL=languages.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"languages.d.ts","sourceRoot":"","sources":["../languages.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,KAAK,MAAM,MAAM,wCAAwC,CAAC;AAEtE;;;sDAGsD;AACtD,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;CAC9D;AAED,MAAM,WAAW,iBAAiB;IAChC,uCAAuC;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,iDAAiD;IACjD,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB;uDACmD;IACnD,QAAQ,CAAC,MAAM,EAAE,OAAO,MAAM,GAAG,IAAI,CAAC;IACtC,uDAAuD;IACvD,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAKD,uFAAuF;AACvF,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI,CAEtE;AAED,0CAA0C;AAC1C,wBAAgB,kBAAkB,IAAI,iBAAiB,EAAE,CAExD;AAED,uEAAuE;AACvE,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAE3E;AAED,+EAA+E;AAC/E,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,OAAO,MAAM,GAAG,IAAI,CAMrE"}
1
+ {"version":3,"file":"languages.d.ts","sourceRoot":"","sources":["../languages.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,KAAK,MAAM,MAAM,wCAAwC,CAAC;AAEtE;;;sDAGsD;AACtD,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;CAC9D;AAED,MAAM,WAAW,iBAAiB;IAChC,uCAAuC;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,iDAAiD;IACjD,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB;+DAC2D;IAC3D,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;uDACmD;IACnD,QAAQ,CAAC,MAAM,EAAE,OAAO,MAAM,GAAG,IAAI,CAAC;IACtC,uDAAuD;IACvD,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAKD,uFAAuF;AACvF,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI,CAEtE;AAED,0CAA0C;AAC1C,wBAAgB,kBAAkB,IAAI,iBAAiB,EAAE,CAExD;AAED,uEAAuE;AACvE,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAE3E;AAED;;wEAEwE;AACxE,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQtE;AAED,+EAA+E;AAC/E,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,OAAO,MAAM,GAAG,IAAI,CAMrE"}
package/dist/languages.js CHANGED
@@ -12,6 +12,19 @@ export function languageExtensions() {
12
12
  export function languageExtension(id) {
13
13
  return registry.get(id);
14
14
  }
15
+ /** The language id claiming a file extension (lowercase, no leading dot), or
16
+ * undefined. Plain metadata scan — safe from monaco-free callers (langForPath,
17
+ * the file-open gate); the registry never imports monaco at runtime. */
18
+ export function languageIdForExtension(ext) {
19
+ const e = ext.toLowerCase();
20
+ for (const x of registry.values()) {
21
+ for (const claimed of x.extensions) {
22
+ if ((claimed.startsWith('.') ? claimed.slice(1) : claimed).toLowerCase() === e)
23
+ return x.id;
24
+ }
25
+ }
26
+ return undefined;
27
+ }
15
28
  /** Install every registered language extension against `monaco`, once each. */
16
29
  export function ensureLanguagesRegistered(monaco) {
17
30
  for (const ext of registry.values()) {
@@ -1 +1 @@
1
- {"version":3,"file":"languages.js","sourceRoot":"","sources":["../languages.ts"],"names":[],"mappings":"AA8BA,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA6B,CAAC;AACtD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;AAEpC,uFAAuF;AACvF,MAAM,UAAU,yBAAyB,CAAC,GAAsB;IAC9D,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;AAC5B,CAAC;AAED,0CAA0C;AAC1C,MAAM,UAAU,kBAAkB;IAChC,OAAO,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;AAChC,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,iBAAiB,CAAC,EAAU;IAC1C,OAAO,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC1B,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,yBAAyB,CAAC,MAAqB;IAC7D,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;QACpC,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,SAAS;QACpC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtB,IAAI,CAAC;YAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAAC,CAAC;IACnE,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"languages.js","sourceRoot":"","sources":["../languages.ts"],"names":[],"mappings":"AAiCA,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA6B,CAAC;AACtD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;AAEpC,uFAAuF;AACvF,MAAM,UAAU,yBAAyB,CAAC,GAAsB;IAC9D,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;AAC5B,CAAC;AAED,0CAA0C;AAC1C,MAAM,UAAU,kBAAkB;IAChC,OAAO,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;AAChC,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,iBAAiB,CAAC,EAAU;IAC1C,OAAO,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC1B,CAAC;AAED;;wEAEwE;AACxE,MAAM,UAAU,sBAAsB,CAAC,GAAW;IAChD,MAAM,CAAC,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IAC5B,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;QAClC,KAAK,MAAM,OAAO,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;YACnC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC;gBAAE,OAAO,CAAC,CAAC,EAAE,CAAC;QAC9F,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,yBAAyB,CAAC,MAAqB;IAC7D,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;QACpC,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,SAAS;QACpC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtB,IAAI,CAAC;YAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAAC,CAAC;IACnE,CAAC;AACH,CAAC"}
@@ -1,5 +1,4 @@
1
- /** Resolve a fence tag to a supported Monaco language id, or null if unsupported.
2
- * Supported ids are exactly the LOADERS keys (defined below; read at call time). */
1
+ /** Resolve a fence tag to a supported Monaco language id, or null if unsupported. */
3
2
  export declare function monacoLangId(lang: string): string | null;
4
3
  /** Highlight `code` as `lang` via Monaco, returning themed HTML (with `.mtkN`
5
4
  * token spans), or null when the language is unsupported or tokenization fails. */
@@ -1 +1 @@
1
- {"version":3,"file":"monacoColorize.d.ts","sourceRoot":"","sources":["../monacoColorize.ts"],"names":[],"mappings":"AA4CA;oFACoF;AACpF,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKxD;AA6ED;mFACmF;AACnF,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAYvF"}
1
+ {"version":3,"file":"monacoColorize.d.ts","sourceRoot":"","sources":["../monacoColorize.ts"],"names":[],"mappings":"AAkCA,qFAAqF;AACrF,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGxD;AAmCD;mFACmF;AACnF,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAWvF"}
@@ -2,11 +2,15 @@
2
2
  *
3
3
  * Uses monaco.editor.colorize() — the Monarch tokenizer rendered to an HTML
4
4
  * string — so code blocks highlight with the SAME engine and theme as the
5
- * document editor (no second highlighter to drift). It pulls only the lightweight
6
- * basic-language TOKENIZERS, not the heavy TS/CSS/HTML language *services* +
7
- * workers that lib/monaco.ts deliberately omits.
5
+ * document editor (no second highlighter to drift). Which languages exist and
6
+ * how fence tags resolve comes from the basic-language pack (basicLanguages.ts)
7
+ * the same single table the editor's langForPath and monaco registration
8
+ * use, so the two surfaces cannot drift. Grammar bodies stay lazy per-language
9
+ * chunks behind registerTokensProviderFactory; colorize() awaits the factory,
10
+ * so the first block of a language fetches its grammar and later ones hit the
11
+ * registry.
8
12
  *
9
- * Lazy: Monaco + the tokenizers load on the first colorize call, so a transcript
13
+ * Lazy: Monaco + the pack install on the first colorize call, so a transcript
10
14
  * with no code blocks never pulls them in. Callers keep their own synchronous
11
15
  * highlighter as the immediate render and swap in this result when it resolves
12
16
  * (progressive enhancement); unsupported languages return null and the fallback
@@ -17,73 +21,18 @@
17
21
  * `.mtkN` classes colorize() emits are styled there, not scoped to an editor.
18
22
  */
19
23
  import { getTheme } from './theme';
24
+ import { fenceLanguageId } from './basicLanguages';
25
+ import { ensureLanguagesRegistered } from './languages';
20
26
  // IMPORTANT: nothing monaco-related is imported statically. This module is reached
21
27
  // from the always-loaded chat/output renderers, so a static `monaco-editor` (or
22
28
  // prmdLanguage, which imports it) import would pull all of Monaco into the main
23
- // bundle. Every monaco import below is dynamic, inside ensureMonaco — Monaco loads
24
- // on the first colorize call and shares the editor's lazy chunk.
25
- // Fence tag -> Monaco language id. js/jsx use the javascript tokenizer, ts/tsx the
26
- // typescript one (both handle JSX/TSX syntax in their Monarch grammar).
27
- const ALIAS = {
28
- js: 'javascript', jsx: 'javascript', mjs: 'javascript', cjs: 'javascript', node: 'javascript',
29
- ts: 'typescript', tsx: 'typescript',
30
- py: 'python', py3: 'python',
31
- sh: 'shell', bash: 'shell', zsh: 'shell', console: 'shell',
32
- yml: 'yaml', md: 'markdown', markdown: 'markdown',
33
- htm: 'html', svg: 'xml',
34
- rs: 'rust', golang: 'go', kt: 'kotlin', kts: 'kotlin',
35
- cs: 'csharp', 'c#': 'csharp', 'c++': 'cpp', cc: 'cpp', cxx: 'cpp', h: 'cpp', hpp: 'cpp', c: 'cpp',
36
- rb: 'ruby', ps1: 'powershell', ps: 'powershell',
37
- docker: 'dockerfile', gql: 'graphql', objc: 'objective-c', 'obj-c': 'objective-c',
38
- rlang: 'r', pl: 'perl',
39
- };
40
- /** Resolve a fence tag to a supported Monaco language id, or null if unsupported.
41
- * Supported ids are exactly the LOADERS keys (defined below; read at call time). */
29
+ // bundle. basicLanguages/languages are runtime-monaco-free (type-only imports);
30
+ // Monaco itself loads inside ensureMonaco on the first colorize call.
31
+ /** Resolve a fence tag to a supported Monaco language id, or null if unsupported. */
42
32
  export function monacoLangId(lang) {
43
33
  const l = (lang || '').trim().toLowerCase();
44
- if (!l)
45
- return null;
46
- const id = ALIAS[l] || l;
47
- return id in LOADERS ? id : null;
34
+ return l ? fenceLanguageId(l) : null;
48
35
  }
49
- // Per-language tokenizer loaders (literal paths so Vite splits each into its own
50
- // tiny chunk). Only the language a code block actually uses is fetched — a JS
51
- // block never pulls the Rust grammar. Keys are Monaco language ids.
52
- const LOADERS = {
53
- typescript: () => import('monaco-editor/esm/vs/basic-languages/typescript/typescript.contribution'),
54
- javascript: () => import('monaco-editor/esm/vs/basic-languages/javascript/javascript.contribution'),
55
- python: () => import('monaco-editor/esm/vs/basic-languages/python/python.contribution'),
56
- css: () => import('monaco-editor/esm/vs/basic-languages/css/css.contribution'),
57
- scss: () => import('monaco-editor/esm/vs/basic-languages/scss/scss.contribution'),
58
- less: () => import('monaco-editor/esm/vs/basic-languages/less/less.contribution'),
59
- html: () => import('monaco-editor/esm/vs/basic-languages/html/html.contribution'),
60
- xml: () => import('monaco-editor/esm/vs/basic-languages/xml/xml.contribution'),
61
- shell: () => import('monaco-editor/esm/vs/basic-languages/shell/shell.contribution'),
62
- yaml: () => import('monaco-editor/esm/vs/basic-languages/yaml/yaml.contribution'),
63
- markdown: () => import('monaco-editor/esm/vs/basic-languages/markdown/markdown.contribution'),
64
- sql: () => import('monaco-editor/esm/vs/basic-languages/sql/sql.contribution'),
65
- rust: () => import('monaco-editor/esm/vs/basic-languages/rust/rust.contribution'),
66
- go: () => import('monaco-editor/esm/vs/basic-languages/go/go.contribution'),
67
- java: () => import('monaco-editor/esm/vs/basic-languages/java/java.contribution'),
68
- cpp: () => import('monaco-editor/esm/vs/basic-languages/cpp/cpp.contribution'),
69
- csharp: () => import('monaco-editor/esm/vs/basic-languages/csharp/csharp.contribution'),
70
- ruby: () => import('monaco-editor/esm/vs/basic-languages/ruby/ruby.contribution'),
71
- php: () => import('monaco-editor/esm/vs/basic-languages/php/php.contribution'),
72
- kotlin: () => import('monaco-editor/esm/vs/basic-languages/kotlin/kotlin.contribution'),
73
- swift: () => import('monaco-editor/esm/vs/basic-languages/swift/swift.contribution'),
74
- powershell: () => import('monaco-editor/esm/vs/basic-languages/powershell/powershell.contribution'),
75
- dockerfile: () => import('monaco-editor/esm/vs/basic-languages/dockerfile/dockerfile.contribution'),
76
- graphql: () => import('monaco-editor/esm/vs/basic-languages/graphql/graphql.contribution'),
77
- ini: () => import('monaco-editor/esm/vs/basic-languages/ini/ini.contribution'),
78
- lua: () => import('monaco-editor/esm/vs/basic-languages/lua/lua.contribution'),
79
- r: () => import('monaco-editor/esm/vs/basic-languages/r/r.contribution'),
80
- perl: () => import('monaco-editor/esm/vs/basic-languages/perl/perl.contribution'),
81
- scala: () => import('monaco-editor/esm/vs/basic-languages/scala/scala.contribution'),
82
- dart: () => import('monaco-editor/esm/vs/basic-languages/dart/dart.contribution'),
83
- 'objective-c': () => import('monaco-editor/esm/vs/basic-languages/objective-c/objective-c.contribution'),
84
- // json's tokenizer is already registered by lib/monaco.ts; no loader needed.
85
- json: () => Promise.resolve(),
86
- };
87
36
  let monacoP = null;
88
37
  async function ensureMonaco() {
89
38
  if (!monacoP) {
@@ -95,20 +44,15 @@ async function ensureMonaco() {
95
44
  prmd.ensurePrmdLanguage();
96
45
  themeLight = prmd.PRMD_THEME_LIGHT;
97
46
  themeDark = prmd.PRMD_THEME_DARK;
47
+ // Install the registered pack (ids + lazy grammar factories) against this
48
+ // monaco instance; idempotent alongside the editor's own install. (The
49
+ // pack itself self-registers via the fenceLanguageId import above.)
50
+ ensureLanguagesRegistered(monaco);
98
51
  return monaco;
99
52
  })();
100
53
  }
101
54
  return monacoP;
102
55
  }
103
- const langP = new Map();
104
- function ensureLanguage(id) {
105
- let p = langP.get(id);
106
- if (!p) {
107
- p = (LOADERS[id] || (() => Promise.resolve()))();
108
- langP.set(id, p);
109
- }
110
- return p;
111
- }
112
56
  // The global Monaco theme is shared with mounted editors; only push a change when
113
57
  // the app theme actually flips (avoids re-theming mounted editors per code block).
114
58
  // Theme ids are captured from prmdLanguage during ensureMonaco (defaults match its
@@ -130,7 +74,6 @@ export async function colorizeToHtml(code, lang) {
130
74
  if (!id)
131
75
  return null;
132
76
  const monaco = await ensureMonaco();
133
- await ensureLanguage(id);
134
77
  syncTheme(monaco);
135
78
  try {
136
79
  const html = await monaco.editor.colorize(code, id, { tabSize: 2 });
@@ -1 +1 @@
1
- {"version":3,"file":"monacoColorize.js","sourceRoot":"","sources":["../monacoColorize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"monacoColorize.js","sourceRoot":"","sources":["../monacoColorize.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAIxD,mFAAmF;AACnF,gFAAgF;AAChF,gFAAgF;AAChF,gFAAgF;AAChF,sEAAsE;AAEtE,qFAAqF;AACrF,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC5C,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACvC,CAAC;AAED,IAAI,OAAO,GAA8B,IAAI,CAAC;AAC9C,KAAK,UAAU,YAAY;IACzB,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,GAAG,CAAC,KAAK,IAAI,EAAE;YACpB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,wCAAwC,CAAC,CAAC;YACtE,6EAA6E;YAC7E,oEAAoE;YACpE,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;YAC5C,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC;YACnC,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC;YACjC,0EAA0E;YAC1E,uEAAuE;YACvE,oEAAoE;YACpE,yBAAyB,CAAC,MAAM,CAAC,CAAC;YAClC,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,EAAE,CAAC;IACP,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,kFAAkF;AAClF,mFAAmF;AACnF,mFAAmF;AACnF,wEAAwE;AACxE,IAAI,UAAU,GAAG,cAAc,CAAC;AAChC,IAAI,SAAS,GAAG,aAAa,CAAC;AAC9B,IAAI,YAAY,GAAG,EAAE,CAAC;AACtB,SAAS,SAAS,CAAC,MAAiB;IAClC,MAAM,EAAE,GAAG,QAAQ,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3D,IAAI,EAAE,KAAK,YAAY,EAAE,CAAC;QAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAAC,YAAY,GAAG,EAAE,CAAC;IAAC,CAAC;AAC7E,CAAC;AAED;mFACmF;AACnF,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAY,EAAE,IAAY;IAC7D,MAAM,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC;IACrB,MAAM,MAAM,GAAG,MAAM,YAAY,EAAE,CAAC;IACpC,SAAS,CAAC,MAAM,CAAC,CAAC;IAClB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QACpE,OAAO,IAAI,IAAI,IAAI,CAAC;IACtB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
package/dist/theme.d.ts CHANGED
@@ -1,6 +1,15 @@
1
+ /** Resolved palette actually applied to <html>. */
1
2
  export type Theme = 'dark' | 'light';
3
+ /** Stored user preference; 'system' follows the OS via prefers-color-scheme. */
4
+ export type ThemePref = Theme | 'system';
5
+ /** The stored preference (may be 'system'). Defaults to 'dark'. */
6
+ export declare function getThemePref(): ThemePref;
7
+ /** The resolved palette ('system' -> current OS preference). Consumers that
8
+ * paint to dark/light want this; it reacts to the prompd:theme-changed event. */
2
9
  export declare function getTheme(): Theme;
3
10
  export declare function applyTheme(t: Theme): void;
11
+ export declare function setThemePref(p: ThemePref): void;
12
+ /** @deprecated Back-compat alias for {@link setThemePref}. */
4
13
  export declare function setTheme(t: Theme): void;
5
14
  export declare function initTheme(): void;
6
15
  export type EditorControls = 'auto' | 'labels' | 'icons';
@@ -1 +1 @@
1
- {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../theme.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;AAGrC,wBAAgB,QAAQ,IAAI,KAAK,CAEhC;AACD,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAEzC;AACD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAKvC;AACD,wBAAgB,SAAS,IAAI,IAAI,CAGhC;AAKD,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AAGzD,wBAAgB,iBAAiB,IAAI,cAAc,CAKlD;AACD,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,cAAc,GAAG,IAAI,CAE3D;AACD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,cAAc,GAAG,IAAI,CAGzD;AAID,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,wBAAgB,cAAc,IAAI,eAAe,CAKhD;AACD,wBAAgB,cAAc,CAAC,CAAC,EAAE,eAAe,GAAG,IAAI,CAEvD;AAID,wBAAgB,WAAW,IAAI,OAAO,CAErC;AACD,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI,CAE5C"}
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../theme.ts"],"names":[],"mappings":"AAGA,mDAAmD;AACnD,MAAM,MAAM,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;AACrC,gFAAgF;AAChF,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,QAAQ,CAAC;AASzC,mEAAmE;AACnE,wBAAgB,YAAY,IAAI,SAAS,CAKxC;AACD;iFACiF;AACjF,wBAAgB,QAAQ,IAAI,KAAK,CAGhC;AACD,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAEzC;AACD,wBAAgB,YAAY,CAAC,CAAC,EAAE,SAAS,GAAG,IAAI,CAK/C;AACD,8DAA8D;AAC9D,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAAqB;AAC7D,wBAAgB,SAAS,IAAI,IAAI,CAWhC;AAKD,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AAGzD,wBAAgB,iBAAiB,IAAI,cAAc,CAKlD;AACD,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,cAAc,GAAG,IAAI,CAE3D;AACD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,cAAc,GAAG,IAAI,CAGzD;AAID,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,wBAAgB,cAAc,IAAI,eAAe,CAKhD;AACD,wBAAgB,cAAc,CAAC,CAAC,EAAE,eAAe,GAAG,IAAI,CAEvD;AAID,wBAAgB,WAAW,IAAI,OAAO,CAErC;AACD,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI,CAE5C"}
package/dist/theme.js CHANGED
@@ -1,29 +1,60 @@
1
1
  const LS = 'prompd.web.theme';
2
- export function getTheme() {
2
+ function systemTheme() {
3
+ try {
4
+ return typeof window !== 'undefined' && window.matchMedia('(prefers-color-scheme: light)').matches ? 'light' : 'dark';
5
+ }
6
+ catch {
7
+ return 'dark';
8
+ }
9
+ }
10
+ /** The stored preference (may be 'system'). Defaults to 'dark'. */
11
+ export function getThemePref() {
3
12
  try {
4
- return localStorage.getItem(LS) === 'light' ? 'light' : 'dark';
13
+ const v = localStorage.getItem(LS);
14
+ return v === 'light' || v === 'system' ? v : 'dark';
5
15
  }
6
16
  catch {
7
17
  return 'dark';
8
18
  }
9
19
  }
20
+ /** The resolved palette ('system' -> current OS preference). Consumers that
21
+ * paint to dark/light want this; it reacts to the prompd:theme-changed event. */
22
+ export function getTheme() {
23
+ const p = getThemePref();
24
+ return p === 'system' ? systemTheme() : p;
25
+ }
10
26
  export function applyTheme(t) {
11
27
  document.documentElement.dataset.theme = t;
12
28
  }
13
- export function setTheme(t) {
29
+ export function setThemePref(p) {
14
30
  try {
15
- localStorage.setItem(LS, t);
31
+ localStorage.setItem(LS, p);
16
32
  }
17
33
  catch { /* ignore */ }
18
- applyTheme(t);
34
+ applyTheme(getTheme());
19
35
  // Let theme-sensitive UI (e.g. the file-tree's light/dark icon variants) react.
20
36
  try {
21
37
  window.dispatchEvent(new Event('prompd:theme-changed'));
22
38
  }
23
39
  catch { /* SSR/no-window */ }
24
40
  }
41
+ /** @deprecated Back-compat alias for {@link setThemePref}. */
42
+ export function setTheme(t) { setThemePref(t); }
25
43
  export function initTheme() {
26
44
  applyTheme(getTheme());
45
+ // While the preference is 'system', track OS light/dark changes live.
46
+ try {
47
+ window.matchMedia('(prefers-color-scheme: light)').addEventListener('change', () => {
48
+ if (getThemePref() !== 'system')
49
+ return;
50
+ applyTheme(getTheme());
51
+ try {
52
+ window.dispatchEvent(new Event('prompd:theme-changed'));
53
+ }
54
+ catch { /* SSR/no-window */ }
55
+ });
56
+ }
57
+ catch { /* SSR/no-window or unsupported */ }
27
58
  applyEditorControls(getEditorControls());
28
59
  }
29
60
  const LS_EC = 'prompd.web.editorControls';
package/dist/theme.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"theme.js","sourceRoot":"","sources":["../theme.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../theme.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,14 @@
1
1
  export declare function mdToHtml(md: string): string;
2
+ /** Max chars fed to the BPE per count. estimateTokens runs on render paths (the
3
+ * context drawer counts every turn, the composer counts the draft), so a count
4
+ * must stay bounded even for multi-MB inline tool outputs: beyond the cap we
5
+ * encode a sample and extrapolate by length. Exact for anything under 64 KB. */
6
+ export declare const BPE_SAMPLE_CAP = 65536;
2
7
  export declare function estimateTokens(s: string): number;
8
+ /** Identity of the active counter (0 = chars/4 heuristic, 1 = exact BPE). Callers
9
+ * that cache counts keyed on input identity compare this to know when to re-count. */
10
+ export declare function tokenCountsVersion(): number;
11
+ /** Upgrade estimateTokens to exact BPE counts (idempotent, failure-tolerant). */
12
+ export declare function enableAccurateTokenCounts(): Promise<void>;
3
13
  export declare function highlightPrmd(source: string): string;
4
14
  //# sourceMappingURL=ui-helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ui-helpers.d.ts","sourceRoot":"","sources":["../ui-helpers.ts"],"names":[],"mappings":"AAwCA,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAwC3C;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAEhD;AAwBD,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CA6BpD"}
1
+ {"version":3,"file":"ui-helpers.d.ts","sourceRoot":"","sources":["../ui-helpers.ts"],"names":[],"mappings":"AAqDA,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CA8D3C;AAWD;;;gFAGgF;AAChF,eAAO,MAAM,cAAc,QAAQ,CAAC;AAEpC,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAUhD;AAED;sFACsF;AACtF,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAGD,iFAAiF;AACjF,wBAAgB,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC,CAKzD;AAwBD,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CA6BpD"}
@@ -16,8 +16,10 @@
16
16
  function safeHref(raw) {
17
17
  const u = raw.replace(/[\u0000-\u0020\u007F]+/g, '');
18
18
  const scheme = /^([a-z][a-z0-9+.-]*):/i.exec(u);
19
+ // `prompd:` is the in-app action scheme (e.g. prompd:new-file): safe to render —
20
+ // the browser no-ops the unknown scheme and the app intercepts the click.
19
21
  if (scheme)
20
- return /^(https?|mailto|tel)$/i.test(scheme[1]) ? u : null;
22
+ return /^(https?|mailto|tel|prompd)$/i.test(scheme[1]) ? u : null;
21
23
  return u; // no scheme -> relative path/anchor/query, safe
22
24
  }
23
25
  function inlineMd(s) {
@@ -35,12 +37,43 @@ function inlineMd(s) {
35
37
  : text;
36
38
  });
37
39
  }
40
+ /** GFM table delimiter row: `| --- | :---: | ---: |` (leading/trailing pipes
41
+ * optional, 1+ dashes per spec-in-practice). Alignment comes from the colons. */
42
+ const TABLE_DELIM_RE = /^\s*\|?\s*:?-+:?\s*(\|\s*:?-+:?\s*)*\|?\s*$/;
43
+ /** Split one table row into cells: strip the outer pipes, split on unescaped
44
+ * `|`, and unescape `\|` back to a literal pipe inside a cell. */
45
+ function tableCells(row) {
46
+ const s = row.trim().replace(/^\|/, '').replace(/(?<!\\)\|$/, '');
47
+ return s.split(/(?<!\\)\|/).map((c) => c.replace(/\\\|/g, '|').trim());
48
+ }
38
49
  export function mdToHtml(md) {
39
50
  const lines = md.split('\n');
40
51
  let html = '';
41
52
  let i = 0;
42
53
  while (i < lines.length) {
43
54
  const line = lines[i];
55
+ // GFM table: a pipe-bearing header line whose NEXT line is a delimiter row.
56
+ // Without the delimiter row, pipe lines stay ordinary paragraphs.
57
+ if (line.includes('|') && i + 1 < lines.length && lines[i + 1].includes('-') && TABLE_DELIM_RE.test(lines[i + 1])) {
58
+ const headers = tableCells(line);
59
+ const aligns = tableCells(lines[i + 1]).map((d) => {
60
+ const l = d.startsWith(':');
61
+ const r = d.endsWith(':');
62
+ return l && r ? 'center' : r ? 'right' : l ? 'left' : '';
63
+ });
64
+ const alignAttr = (col) => (aligns[col] ? ` style="text-align:${aligns[col]}"` : '');
65
+ i += 2;
66
+ let body = '';
67
+ while (i < lines.length && lines[i].includes('|') && lines[i].trim() !== '') {
68
+ const cells = tableCells(lines[i]);
69
+ body += '<tr>' + headers.map((_h, c) => `<td${alignAttr(c)}>${inlineMd(cells[c] ?? '')}</td>`).join('') + '</tr>';
70
+ i++;
71
+ }
72
+ html += '<table class="md-table"><thead><tr>'
73
+ + headers.map((h, c) => `<th${alignAttr(c)}>${inlineMd(h)}</th>`).join('')
74
+ + `</tr></thead><tbody>${body}</tbody></table>`;
75
+ continue;
76
+ }
44
77
  if (/^```/.test(line)) {
45
78
  const buf = [];
46
79
  i++;
@@ -100,8 +133,44 @@ export function mdToHtml(md) {
100
133
  }
101
134
  return html;
102
135
  }
136
+ /* ---- token estimation ----
137
+ * estimateTokens starts as the ~4 chars/token heuristic and silently upgrades to
138
+ * the real o200k_base BPE (the GPT-4o/4.1 family — the gateway's routable set)
139
+ * once the host calls enableAccurateTokenCounts(). The upgrade is an explicit,
140
+ * lazy opt-in — never triggered by estimateTokens itself — so tests and the
141
+ * strategy budget math stay deterministic, and the ~1 MB (gz) encoding chunk
142
+ * stays off the startup path. Post-run gateway usage is the ground truth. */
143
+ let bpeCount = null;
144
+ /** Max chars fed to the BPE per count. estimateTokens runs on render paths (the
145
+ * context drawer counts every turn, the composer counts the draft), so a count
146
+ * must stay bounded even for multi-MB inline tool outputs: beyond the cap we
147
+ * encode a sample and extrapolate by length. Exact for anything under 64 KB. */
148
+ export const BPE_SAMPLE_CAP = 65536;
103
149
  export function estimateTokens(s) {
104
- return Math.max(1, Math.round((s || '').length / 4));
150
+ const text = s || '';
151
+ if (bpeCount) {
152
+ try {
153
+ if (text.length <= BPE_SAMPLE_CAP)
154
+ return Math.max(1, bpeCount(text));
155
+ const sampled = bpeCount(text.slice(0, BPE_SAMPLE_CAP));
156
+ return Math.max(1, Math.round(sampled * (text.length / BPE_SAMPLE_CAP)));
157
+ }
158
+ catch { /* fall through to the heuristic */ }
159
+ }
160
+ return Math.max(1, Math.round(text.length / 4));
161
+ }
162
+ /** Identity of the active counter (0 = chars/4 heuristic, 1 = exact BPE). Callers
163
+ * that cache counts keyed on input identity compare this to know when to re-count. */
164
+ export function tokenCountsVersion() {
165
+ return bpeCount ? 1 : 0;
166
+ }
167
+ let bpeLoading = null;
168
+ /** Upgrade estimateTokens to exact BPE counts (idempotent, failure-tolerant). */
169
+ export function enableAccurateTokenCounts() {
170
+ bpeLoading ?? (bpeLoading = import('gpt-tokenizer/encoding/o200k_base')
171
+ .then((mod) => { bpeCount = (text) => mod.encode(text).length; })
172
+ .catch(() => { }));
173
+ return bpeLoading;
105
174
  }
106
175
  /* ============================================================ HIGHLIGHT */
107
176
  function esc(s) {
@@ -1 +1 @@
1
- {"version":3,"file":"ui-helpers.js","sourceRoot":"","sources":["../ui-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ui-helpers.js","sourceRoot":"","sources":["../ui-helpers.ts"],"names":[],"mappings":"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"}
package/dist/usage.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  export interface UsageRecord {
2
2
  id: string;
3
3
  ts: number;
4
- surface: 'editor' | 'agent' | 'inline' | 'workflow';
4
+ surface: 'editor' | 'agent' | 'inline' | 'workflow' | 'craft';
5
5
  provider: string;
6
6
  model: string;
7
7
  modelLabel: string;
@@ -19,6 +19,8 @@ export interface UsageTotals {
19
19
  outTok: number;
20
20
  cost: number;
21
21
  }
22
+ /** Subscribe to each new usage record as it's logged. Returns an unsubscribe. */
23
+ export declare function onUsageRecord(cb: (rec: UsageRecord) => void): () => void;
22
24
  /** Wire the "currently anonymous?" signal (App boot). */
23
25
  export declare function setAnonResolver(fn: () => boolean): void;
24
26
  /** Free anon actions consumed so far (read by the free-quota guards). */
@@ -1 +1 @@
1
- {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../usage.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC;IACpD,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,4EAA4E;IAC5E,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,WAAW;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;CAAE;AAkC3F,yDAAyD;AACzD,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,OAAO,GAAG,IAAI,CAAuB;AAC/E,yEAAyE;AACzE,wBAAgB,YAAY,IAAI,MAAM,CAAqB;AAC3D,qEAAqE;AACrE,wBAAgB,aAAa,IAAI,IAAI,CAA+F;AAMpI,sFAAsF;AACtF,wBAAgB,WAAW,IAAI,IAAI,CAA+B;AAElE,wBAAgB,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,CAMrE;AAED,wBAAgB,QAAQ,IAAI,WAAW,EAAE,CAAoB;AAE7D,wBAAgB,UAAU,IAAI,IAAI,CAIjC;AAED,wBAAgB,MAAM,CAAC,KAAK,SAAI,GAAG,WAAW,CAO7C;AAED,kFAAkF;AAClF,wBAAgB,QAAQ,IAAI;IAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IAAC,OAAO,EAAE,WAAW,CAAC;IAAC,QAAQ,EAAE,WAAW,CAAA;CAAE,CAIlG;AAED,0EAA0E;AAC1E,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAK3C;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAIxC"}
1
+ {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../usage.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;IAC9D,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,4EAA4E;IAC5E,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,WAAW;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;CAAE;AAwB3F,iFAAiF;AACjF,wBAAgB,aAAa,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,IAAI,GAAG,MAAM,IAAI,CAGxE;AAeD,yDAAyD;AACzD,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,OAAO,GAAG,IAAI,CAAuB;AAC/E,yEAAyE;AACzE,wBAAgB,YAAY,IAAI,MAAM,CAAqB;AAC3D,qEAAqE;AACrE,wBAAgB,aAAa,IAAI,IAAI,CAA+F;AAMpI,sFAAsF;AACtF,wBAAgB,WAAW,IAAI,IAAI,CAA+B;AAElE,wBAAgB,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,CAOrE;AAED,wBAAgB,QAAQ,IAAI,WAAW,EAAE,CAAoB;AAE7D,wBAAgB,UAAU,IAAI,IAAI,CAIjC;AAED,wBAAgB,MAAM,CAAC,KAAK,SAAI,GAAG,WAAW,CAO7C;AAED,kFAAkF;AAClF,wBAAgB,QAAQ,IAAI;IAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IAAC,OAAO,EAAE,WAAW,CAAC;IAAC,QAAQ,EAAE,WAAW,CAAA;CAAE,CAIlG;AAED,0EAA0E;AAC1E,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAK3C;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAIxC"}
package/dist/usage.js CHANGED
@@ -23,6 +23,14 @@ function load() {
23
23
  let records = load();
24
24
  const listeners = new Set();
25
25
  function notify() { listeners.forEach((fn) => fn()); }
26
+ // Per-record subscribers (analytics-agnostic — the ledger just exposes each new
27
+ // record; the app decides whether/where to forward it, e.g. to the analytics port).
28
+ const recordListeners = new Set();
29
+ /** Subscribe to each new usage record as it's logged. Returns an unsubscribe. */
30
+ export function onUsageRecord(cb) {
31
+ recordListeners.add(cb);
32
+ return () => recordListeners.delete(cb);
33
+ }
26
34
  function persist() {
27
35
  try {
28
36
  localStorage.setItem(LS, JSON.stringify(records));
@@ -69,6 +77,7 @@ export function recordUsage(rec) {
69
77
  maybeBumpAnon();
70
78
  persist();
71
79
  notify();
80
+ recordListeners.forEach((fn) => fn(full));
72
81
  }
73
82
  export function getUsage() { return records; }
74
83
  export function clearUsage() {
package/dist/usage.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"usage.js","sourceRoot":"","sources":["../usage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"usage.js","sourceRoot":"","sources":["../usage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function useEscape(active: boolean, onClose: () => void): void;
2
+ //# sourceMappingURL=useEscape.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useEscape.d.ts","sourceRoot":"","sources":["../useEscape.ts"],"names":[],"mappings":"AAsBA,wBAAgB,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,GAAG,IAAI,CAgBpE"}
@@ -0,0 +1,40 @@
1
+ /* Close-on-Escape for drawers/modals/popovers. Overlays register while active;
2
+ * ONE window listener fires only the TOPMOST (most recently activated) handler,
3
+ * so stacked surfaces (a modal above a drawer above a peeked panel) close one
4
+ * per keypress, top first — instead of every listener reacting to the same
5
+ * Escape. An Escape already consumed by an inner control (a completion popup,
6
+ * Monaco, a rename input — anything that called preventDefault before the event
7
+ * reached window) is ignored.
8
+ *
9
+ * This is the ONLY sanctioned Escape-close mechanism: a raw window/document
10
+ * keydown listener next to surfaces using this hook double-closes (all listeners
11
+ * on the same target fire in registration order, regardless of preventDefault). */
12
+ import { useEffect, useRef } from 'react';
13
+ const stack = [];
14
+ let bound = false;
15
+ function onKey(e) {
16
+ if (e.key !== 'Escape' || e.defaultPrevented || stack.length === 0)
17
+ return;
18
+ e.preventDefault();
19
+ stack[stack.length - 1]();
20
+ }
21
+ export function useEscape(active, onClose) {
22
+ const ref = useRef(onClose);
23
+ ref.current = onClose;
24
+ useEffect(() => {
25
+ if (!active)
26
+ return;
27
+ const fn = () => ref.current();
28
+ stack.push(fn);
29
+ if (!bound) {
30
+ window.addEventListener('keydown', onKey);
31
+ bound = true;
32
+ }
33
+ return () => {
34
+ const i = stack.lastIndexOf(fn);
35
+ if (i >= 0)
36
+ stack.splice(i, 1);
37
+ };
38
+ }, [active]);
39
+ }
40
+ //# sourceMappingURL=useEscape.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useEscape.js","sourceRoot":"","sources":["../useEscape.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;mFAUmF;AACnF,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE1C,MAAM,KAAK,GAAsB,EAAE,CAAC;AACpC,IAAI,KAAK,GAAG,KAAK,CAAC;AAElB,SAAS,KAAK,CAAC,CAAgB;IAC7B,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,CAAC,gBAAgB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAC3E,CAAC,CAAC,cAAc,EAAE,CAAC;IACnB,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,MAAe,EAAE,OAAmB;IAC5D,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC5B,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;IACtB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,MAAM,EAAE,GAAG,GAAS,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAC1C,KAAK,GAAG,IAAI,CAAC;QACf,CAAC;QACD,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC;gBAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AACf,CAAC"}
package/package.json CHANGED
@@ -1,20 +1,29 @@
1
1
  {
2
2
  "name": "@corenel/ui-kit",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "type": "module",
5
5
  "description": "Corenel shared UI primitives — icons, theme, token-usage helpers, small UI helpers, monaco colorizer. Consumed by @corenel/web-ui and the prompd app alike.",
6
6
  "exports": {
7
- ".": "./index.ts",
8
- "./*": "./*.ts",
9
- "./icons": "./icons.tsx",
10
- "./host": "./host.tsx"
11
- },
12
- "scripts": {
13
- "build": "tsc -p tsconfig.build.json",
14
- "prepublishOnly": "tsc -p tsconfig.build.json"
7
+ ".": {
8
+ "types": "./dist/index.d.ts",
9
+ "default": "./dist/index.js"
10
+ },
11
+ "./*": {
12
+ "types": "./dist/*.d.ts",
13
+ "default": "./dist/*.js"
14
+ },
15
+ "./icons": {
16
+ "types": "./dist/icons.d.ts",
17
+ "default": "./dist/icons.js"
18
+ },
19
+ "./host": {
20
+ "types": "./dist/host.d.ts",
21
+ "default": "./dist/host.js"
22
+ }
15
23
  },
16
24
  "dependencies": {
17
- "@corenel/protocol": "workspace:*"
25
+ "gpt-tokenizer": "^3.4.0",
26
+ "@corenel/protocol": "0.2.0"
18
27
  },
19
28
  "peerDependencies": {
20
29
  "monaco-editor": "*",
@@ -24,27 +33,12 @@
24
33
  "typescript": "^5.9.3"
25
34
  },
26
35
  "publishConfig": {
27
- "access": "public",
28
- "exports": {
29
- ".": {
30
- "types": "./dist/index.d.ts",
31
- "default": "./dist/index.js"
32
- },
33
- "./*": {
34
- "types": "./dist/*.d.ts",
35
- "default": "./dist/*.js"
36
- },
37
- "./icons": {
38
- "types": "./dist/icons.d.ts",
39
- "default": "./dist/icons.js"
40
- },
41
- "./host": {
42
- "types": "./dist/host.d.ts",
43
- "default": "./dist/host.js"
44
- }
45
- }
36
+ "access": "public"
46
37
  },
47
38
  "files": [
48
39
  "dist"
49
- ]
50
- }
40
+ ],
41
+ "scripts": {
42
+ "build": "tsc -p tsconfig.build.json"
43
+ }
44
+ }