@forgedevstack/ink 1.1.4 → 1.1.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.
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const O="toolbar-customize",_="toolbar-hide",t="Customize toolbar",o="Hide toolbar",T="show-toolbar",e="Show toolbar",L="Show toolbar",i="Show formatting toolbar",n="ink-toolbar-hidden",E="ink-toolbar-items",A="true",r="false",a="divider",R={bold:"Bold",italic:"Italic",underline:"Underline",strikethrough:"Strikethrough",heading1:"Heading 1",heading2:"Heading 2",heading3:"Heading 3",heading4:"Heading 4",heading5:"Heading 5",heading6:"Heading 6",paragraph:"Paragraph",headingDropdown:"Heading",fontDropdown:"Font",bulletList:"Bullet list",orderedList:"Numbered list",listDropdown:"List",blockquote:"Quote",code:"Code",link:"Link",image:"Image",table:"Table",signature:"Sign pad",findReplace:"Find and replace",findReplaceDropdown:"Find and replace",horizontalRule:"Horizontal rule",undo:"Undo",redo:"Redo",trackChanges:"Track changes",comments:"Comments",ai:"AI",textColor:"Text color",highlightColor:"Highlight color",directionLtr:"Left to right",directionRtl:"Right to left",superscript:"Superscript",subscript:"Subscript",alignLeft:"Align left",alignCenter:"Align center",alignRight:"Align right",alignJustify:"Justify",indent:"Indent",outdent:"Outdent",clearFormat:"Clear formatting",divider:"Divider"},l="Customize toolbar",d="Done",B="Toolbar options";exports.CONTEXT_MENU_ID_SHOW_TOOLBAR=T;exports.CONTEXT_MENU_LABEL_SHOW_TOOLBAR=e;exports.TOOLBAR_CONTEXT_MENU_ID_CUSTOMIZE=O;exports.TOOLBAR_CONTEXT_MENU_ID_HIDE=_;exports.TOOLBAR_CONTEXT_MENU_LABEL_CUSTOMIZE=t;exports.TOOLBAR_CONTEXT_MENU_LABEL_HIDE=o;exports.TOOLBAR_CUSTOMIZE_CLOSE_LABEL=d;exports.TOOLBAR_CUSTOMIZE_LIST_ARIA_LABEL=B;exports.TOOLBAR_CUSTOMIZE_TITLE=l;exports.TOOLBAR_OPTION_DIVIDER=a;exports.TOOLBAR_OPTION_LABELS=R;exports.TOOLBAR_SHOW_CONTROL_ARIA_LABEL=i;exports.TOOLBAR_SHOW_CONTROL_LABEL=L;exports.TOOLBAR_STORAGE_KEY_HIDDEN=n;exports.TOOLBAR_STORAGE_KEY_ITEMS=E;exports.TOOLBAR_STORAGE_VALUE_FALSE=r;exports.TOOLBAR_STORAGE_VALUE_TRUE=A;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const O="toolbar-customize",_="toolbar-hide",t="Customize toolbar",o="Hide toolbar",T="show-toolbar",e="Show toolbar",L="Show toolbar",E="Ask about this document or request a change…",n="Show formatting toolbar",i="ink-toolbar-hidden",A="ink-toolbar-items",r="true",a="false",R="divider",l={bold:"Bold",italic:"Italic",underline:"Underline",strikethrough:"Strikethrough",heading1:"Heading 1",heading2:"Heading 2",heading3:"Heading 3",heading4:"Heading 4",heading5:"Heading 5",heading6:"Heading 6",paragraph:"Paragraph",headingDropdown:"Heading",fontDropdown:"Font",bulletList:"Bullet list",orderedList:"Numbered list",listDropdown:"List",blockquote:"Quote",code:"Code",link:"Link",image:"Image",table:"Table",signature:"Sign pad",findReplace:"Find and replace",findReplaceDropdown:"Find and replace",horizontalRule:"Horizontal rule",undo:"Undo",redo:"Redo",trackChanges:"Track changes",comments:"Comments",ai:"AI",textColor:"Text color",highlightColor:"Highlight color",directionLtr:"Left to right",directionRtl:"Right to left",superscript:"Superscript",subscript:"Subscript",alignLeft:"Align left",alignCenter:"Align center",alignRight:"Align right",alignJustify:"Justify",indent:"Indent",outdent:"Outdent",clearFormat:"Clear formatting",divider:"Divider"},d="Customize toolbar",B="Done",s="Toolbar options";exports.AGENT_BAR_PLACEHOLDER=E;exports.CONTEXT_MENU_ID_SHOW_TOOLBAR=T;exports.CONTEXT_MENU_LABEL_SHOW_TOOLBAR=e;exports.TOOLBAR_CONTEXT_MENU_ID_CUSTOMIZE=O;exports.TOOLBAR_CONTEXT_MENU_ID_HIDE=_;exports.TOOLBAR_CONTEXT_MENU_LABEL_CUSTOMIZE=t;exports.TOOLBAR_CONTEXT_MENU_LABEL_HIDE=o;exports.TOOLBAR_CUSTOMIZE_CLOSE_LABEL=B;exports.TOOLBAR_CUSTOMIZE_LIST_ARIA_LABEL=s;exports.TOOLBAR_CUSTOMIZE_TITLE=d;exports.TOOLBAR_OPTION_DIVIDER=R;exports.TOOLBAR_OPTION_LABELS=l;exports.TOOLBAR_SHOW_CONTROL_ARIA_LABEL=n;exports.TOOLBAR_SHOW_CONTROL_LABEL=L;exports.TOOLBAR_STORAGE_KEY_HIDDEN=i;exports.TOOLBAR_STORAGE_KEY_ITEMS=A;exports.TOOLBAR_STORAGE_VALUE_FALSE=a;exports.TOOLBAR_STORAGE_VALUE_TRUE=r;
@@ -6,6 +6,7 @@ export declare const TOOLBAR_CONTEXT_MENU_LABEL_HIDE = "Hide toolbar";
6
6
  export declare const CONTEXT_MENU_ID_SHOW_TOOLBAR = "show-toolbar";
7
7
  export declare const CONTEXT_MENU_LABEL_SHOW_TOOLBAR = "Show toolbar";
8
8
  export declare const TOOLBAR_SHOW_CONTROL_LABEL = "Show toolbar";
9
+ export declare const AGENT_BAR_PLACEHOLDER = "Ask about this document or request a change\u2026";
9
10
  export declare const TOOLBAR_SHOW_CONTROL_ARIA_LABEL = "Show formatting toolbar";
10
11
  export declare const TOOLBAR_STORAGE_KEY_HIDDEN = "ink-toolbar-hidden";
11
12
  export declare const TOOLBAR_STORAGE_KEY_ITEMS = "ink-toolbar-items";
@@ -1 +1 @@
1
- {"version":3,"file":"toolbarMenu.const.d.ts","sourceRoot":"","sources":["../../src/constants/toolbarMenu.const.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,eAAO,MAAM,iCAAiC,sBAAsB,CAAC;AACrE,eAAO,MAAM,4BAA4B,iBAAiB,CAAC;AAC3D,eAAO,MAAM,oCAAoC,sBAAsB,CAAC;AACxE,eAAO,MAAM,+BAA+B,iBAAiB,CAAC;AAE9D,eAAO,MAAM,4BAA4B,iBAAiB,CAAC;AAC3D,eAAO,MAAM,+BAA+B,iBAAiB,CAAC;AAE9D,eAAO,MAAM,0BAA0B,iBAAiB,CAAC;AACzD,eAAO,MAAM,+BAA+B,4BAA4B,CAAC;AAEzE,eAAO,MAAM,0BAA0B,uBAAuB,CAAC;AAC/D,eAAO,MAAM,yBAAyB,sBAAsB,CAAC;AAC7D,eAAO,MAAM,0BAA0B,SAAS,CAAC;AACjD,eAAO,MAAM,2BAA2B,UAAU,CAAC;AAEnD,eAAO,MAAM,sBAAsB,EAAG,SAAkB,CAAC;AAEzD,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CA6C/D,CAAC;AAEF,eAAO,MAAM,uBAAuB,sBAAsB,CAAC;AAC3D,eAAO,MAAM,6BAA6B,SAAS,CAAC;AACpD,eAAO,MAAM,iCAAiC,oBAAoB,CAAC"}
1
+ {"version":3,"file":"toolbarMenu.const.d.ts","sourceRoot":"","sources":["../../src/constants/toolbarMenu.const.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,eAAO,MAAM,iCAAiC,sBAAsB,CAAC;AACrE,eAAO,MAAM,4BAA4B,iBAAiB,CAAC;AAC3D,eAAO,MAAM,oCAAoC,sBAAsB,CAAC;AACxE,eAAO,MAAM,+BAA+B,iBAAiB,CAAC;AAE9D,eAAO,MAAM,4BAA4B,iBAAiB,CAAC;AAC3D,eAAO,MAAM,+BAA+B,iBAAiB,CAAC;AAE9D,eAAO,MAAM,0BAA0B,iBAAiB,CAAC;AACzD,eAAO,MAAM,qBAAqB,sDAAiD,CAAC;AACpF,eAAO,MAAM,+BAA+B,4BAA4B,CAAC;AAEzE,eAAO,MAAM,0BAA0B,uBAAuB,CAAC;AAC/D,eAAO,MAAM,yBAAyB,sBAAsB,CAAC;AAC7D,eAAO,MAAM,0BAA0B,SAAS,CAAC;AACjD,eAAO,MAAM,2BAA2B,UAAU,CAAC;AAEnD,eAAO,MAAM,sBAAsB,EAAG,SAAkB,CAAC;AAEzD,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CA6C/D,CAAC;AAEF,eAAO,MAAM,uBAAuB,sBAAsB,CAAC;AAC3D,eAAO,MAAM,6BAA6B,SAAS,CAAC;AACpD,eAAO,MAAM,iCAAiC,oBAAoB,CAAC"}
@@ -1,4 +1,4 @@
1
- const o = "toolbar-customize", t = "toolbar-hide", e = "Customize toolbar", i = "Hide toolbar", n = "show-toolbar", r = "Show toolbar", a = "Show toolbar", O = "Show formatting toolbar", l = "ink-toolbar-hidden", _ = "ink-toolbar-items", d = "true", T = "false", L = "divider", s = {
1
+ const t = "toolbar-customize", o = "toolbar-hide", e = "Customize toolbar", n = "Hide toolbar", i = "show-toolbar", r = "Show toolbar", a = "Show toolbar", O = "Ask about this document or request a change…", _ = "Show formatting toolbar", l = "ink-toolbar-hidden", d = "ink-toolbar-items", T = "true", L = "false", s = "divider", E = {
2
2
  bold: "Bold",
3
3
  italic: "Italic",
4
4
  underline: "Underline",
@@ -43,23 +43,24 @@ const o = "toolbar-customize", t = "toolbar-hide", e = "Customize toolbar", i =
43
43
  outdent: "Outdent",
44
44
  clearFormat: "Clear formatting",
45
45
  divider: "Divider"
46
- }, E = "Customize toolbar", g = "Done", c = "Toolbar options";
46
+ }, A = "Customize toolbar", c = "Done", g = "Toolbar options";
47
47
  export {
48
- n as CONTEXT_MENU_ID_SHOW_TOOLBAR,
48
+ O as AGENT_BAR_PLACEHOLDER,
49
+ i as CONTEXT_MENU_ID_SHOW_TOOLBAR,
49
50
  r as CONTEXT_MENU_LABEL_SHOW_TOOLBAR,
50
- o as TOOLBAR_CONTEXT_MENU_ID_CUSTOMIZE,
51
- t as TOOLBAR_CONTEXT_MENU_ID_HIDE,
51
+ t as TOOLBAR_CONTEXT_MENU_ID_CUSTOMIZE,
52
+ o as TOOLBAR_CONTEXT_MENU_ID_HIDE,
52
53
  e as TOOLBAR_CONTEXT_MENU_LABEL_CUSTOMIZE,
53
- i as TOOLBAR_CONTEXT_MENU_LABEL_HIDE,
54
- g as TOOLBAR_CUSTOMIZE_CLOSE_LABEL,
55
- c as TOOLBAR_CUSTOMIZE_LIST_ARIA_LABEL,
56
- E as TOOLBAR_CUSTOMIZE_TITLE,
57
- L as TOOLBAR_OPTION_DIVIDER,
58
- s as TOOLBAR_OPTION_LABELS,
59
- O as TOOLBAR_SHOW_CONTROL_ARIA_LABEL,
54
+ n as TOOLBAR_CONTEXT_MENU_LABEL_HIDE,
55
+ c as TOOLBAR_CUSTOMIZE_CLOSE_LABEL,
56
+ g as TOOLBAR_CUSTOMIZE_LIST_ARIA_LABEL,
57
+ A as TOOLBAR_CUSTOMIZE_TITLE,
58
+ s as TOOLBAR_OPTION_DIVIDER,
59
+ E as TOOLBAR_OPTION_LABELS,
60
+ _ as TOOLBAR_SHOW_CONTROL_ARIA_LABEL,
60
61
  a as TOOLBAR_SHOW_CONTROL_LABEL,
61
62
  l as TOOLBAR_STORAGE_KEY_HIDDEN,
62
- _ as TOOLBAR_STORAGE_KEY_ITEMS,
63
- T as TOOLBAR_STORAGE_VALUE_FALSE,
64
- d as TOOLBAR_STORAGE_VALUE_TRUE
63
+ d as TOOLBAR_STORAGE_KEY_ITEMS,
64
+ L as TOOLBAR_STORAGE_VALUE_FALSE,
65
+ T as TOOLBAR_STORAGE_VALUE_TRUE
65
66
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("../../constants/numbers.cjs"),i=require("../../constants/aiModels.const.cjs");require("../../constants/openai.const.cjs");require("react/jsx-runtime");const s=require("../../utils/id.utils.cjs");require("../../utils/paste.utils.cjs");require("react");require("react-dom");const g=t=>new Promise(n=>{window.setTimeout(n,t)}),m=t=>t.replace(/<[^>]+>/g," ").replace(/\s+/g," ").trim(),o=t=>`<p>${t}</p>`,p=async t=>{var d,l;await g(u.INK_DEMO_AI_DELAY_MS);const n=t.selectionHtml||t.html||"",r=m(n)||"your content",c=((d=t.prompt)==null?void 0:d.trim())||"";switch(t.capability){case"chat":{const e=c?`Demo assistant: regarding “${c.slice(0,120)}”, here’s a concise take based on the current document (${r.slice(0,80)}…). Connect your own LLM provider for production answers.`:`Demo assistant ready. Ask a question about: ${r.slice(0,100)}…`;return{text:e,turns:[{id:s.createInkId("turn"),role:"assistant",content:e,timestamp:Date.now(),capability:"chat"}],meta:{provider:i.INK_AI_DEMO_PROVIDER_ID,model:i.INK_AI_DEMO_MODEL_ID}}}case"summarize":{const e=o(`Summary (demo): ${r.slice(0,160)}${r.length>160?"…":""}`);return{html:e,text:m(e),diff:{id:s.createInkId("diff"),originalHtml:n,suggestedHtml:e,summary:"Demo summary of the selection"}}}case"expand":{const e=o(`${r} Additionally, this demo expansion adds clarifying context, examples, and a short closing sentence so you can preview apply/reject flows.`);return{html:e,diff:{id:s.createInkId("diff"),originalHtml:n,suggestedHtml:e,summary:"Demo expansion"}}}case"tone":{const e=o(`In a clearer, more professional tone: ${r}`);return{html:e,diff:{id:s.createInkId("diff"),originalHtml:n,suggestedHtml:e,summary:"Demo tone adjustment"}}}case"translate":{const e=((l=t.options)==null?void 0:l.language)||"Spanish",a=o(`[${e} demo] ${r}`);return{html:a,text:m(a),diff:{id:s.createInkId("diff"),originalHtml:n,suggestedHtml:a,summary:`Demo translation to ${e}`}}}case"review":return{text:"Demo review complete",reviewSuggestions:[{id:s.createInkId("rev"),message:"Consider shortening long sentences for clarity.",severity:"info",originalText:r.slice(0,40),suggestedText:r.slice(0,40)},{id:s.createInkId("rev"),message:"Possible passive voice — prefer active constructions.",severity:"warning",originalText:"was processed",suggestedText:"the team processed"}]};case"autocomplete":return{text:(c||r).trim().length?" and continue with a clear next phrase.":"Start typing to see a demo completion.",meta:{provider:i.INK_AI_DEMO_PROVIDER_ID,model:i.INK_AI_DEMO_MODEL_ID}};case"suggestDiff":case"quickAction":case"rewrite":default:{const e=o(`Rewritten (demo): ${r}`);return{html:e,diff:{id:s.createInkId("diff"),originalHtml:n,suggestedHtml:e,summary:"Demo rewrite suggestion"}}}}},I=()=>({id:i.INK_AI_DEMO_PROVIDER_ID,name:"Ink Demo Provider",models:[{id:i.INK_AI_DEMO_MODEL_ID,provider:"demo",label:"Ink Demo (local)",family:"Demo"}],run:p});exports.createDemoAiProvider=I;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("../../constants/numbers.cjs"),o=require("../../constants/aiModels.const.cjs");require("../../constants/openai.const.cjs");require("react/jsx-runtime");const n=require("../../utils/id.utils.cjs");require("../../utils/paste.utils.cjs");require("react");require("react-dom");const g=t=>new Promise(r=>{window.setTimeout(r,t)}),m=t=>t.replace(/<[^>]+>/g," ").replace(/\s+/g," ").trim(),s=t=>`<p>${t}</p>`,D=async t=>{var l,d;await g(p.INK_DEMO_AI_DELAY_MS);const r=t.selectionHtml||t.html||"",i=m(r)||"your content",c=((l=t.prompt)==null?void 0:l.trim())||"";switch(t.capability){case"chat":{const e=c?`Demo assistant: regarding “${c.slice(0,120)}”, here’s a concise take based on the current document (${i.slice(0,80)}…). Connect your own LLM provider for production answers.`:`Demo assistant ready. Ask a question about: ${i.slice(0,100)}…`;return{text:e,turns:[{id:n.createInkId("turn"),role:"assistant",content:e,timestamp:Date.now(),capability:"chat"}],meta:{provider:o.INK_AI_DEMO_PROVIDER_ID,model:o.INK_AI_DEMO_MODEL_ID}}}case"summarize":{const e=s(`Summary (demo): ${i.slice(0,160)}${i.length>160?"…":""}`);return{html:e,text:m(e),diff:{id:n.createInkId("diff"),originalHtml:r,suggestedHtml:e,summary:"Demo summary of the selection"}}}case"expand":{const e=s(`${i} Additionally, this demo expansion adds clarifying context, examples, and a short closing sentence so you can preview apply/reject flows.`);return{html:e,diff:{id:n.createInkId("diff"),originalHtml:r,suggestedHtml:e,summary:"Demo expansion"}}}case"tone":{const e=s(`In a clearer, more professional tone: ${i}`);return{html:e,diff:{id:n.createInkId("diff"),originalHtml:r,suggestedHtml:e,summary:"Demo tone adjustment"}}}case"translate":{const e=((d=t.options)==null?void 0:d.language)||"Spanish",a=s(`[${e} demo] ${i}`);return{html:a,text:m(a),diff:{id:n.createInkId("diff"),originalHtml:r,suggestedHtml:a,summary:`Demo translation to ${e}`}}}case"review":return{text:"Demo review complete",reviewSuggestions:[{id:n.createInkId("rev"),message:"Consider shortening long sentences for clarity.",severity:"info",originalText:i.slice(0,40),suggestedText:i.slice(0,40)},{id:n.createInkId("rev"),message:"Possible passive voice — prefer active constructions.",severity:"warning",originalText:"was processed",suggestedText:"the team processed"}]};case"autocomplete":{const e=(c||i).trim(),u=[{match:/\bhi[,]?\s*how$/i,completion:" are you?"},{match:/\bhow are$/i,completion:" you today?"},{match:/\bthank$/i,completion:" you!"},{match:/\bplease$/i,completion:" review this draft."},{match:/\blet'?s$/i,completion:" continue with the next section."},{match:/\bin conclusion$/i,completion:", the key takeaway is clear."}].find(I=>I.match.test(e));return u?{text:u.completion,meta:{provider:o.INK_AI_DEMO_PROVIDER_ID,model:o.INK_AI_DEMO_MODEL_ID}}:e.length?{text:" — continue with a clear next phrase.",meta:{provider:o.INK_AI_DEMO_PROVIDER_ID,model:o.INK_AI_DEMO_MODEL_ID}}:{text:"Start typing to see a demo completion.",meta:{provider:o.INK_AI_DEMO_PROVIDER_ID,model:o.INK_AI_DEMO_MODEL_ID}}}case"suggestDiff":case"quickAction":case"rewrite":default:{const e=s(`Rewritten (demo): ${i}`);return{html:e,diff:{id:n.createInkId("diff"),originalHtml:r,suggestedHtml:e,summary:"Demo rewrite suggestion"}}}}},_=()=>({id:o.INK_AI_DEMO_PROVIDER_ID,name:"Ink Demo Provider",models:[{id:o.INK_AI_DEMO_MODEL_ID,provider:"demo",label:"Ink Demo (local)",family:"Demo"}],run:D});exports.createDemoAiProvider=_;
@@ -1 +1 @@
1
- {"version":3,"file":"demoProvider.d.ts","sourceRoot":"","sources":["../../../src/plugins/ai/demoProvider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAA+B,MAAM,aAAa,CAAC;AA2I9E,eAAO,MAAM,oBAAoB,QAAO,aAYtC,CAAC"}
1
+ {"version":3,"file":"demoProvider.d.ts","sourceRoot":"","sources":["../../../src/plugins/ai/demoProvider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAA+B,MAAM,aAAa,CAAC;AA6J9E,eAAO,MAAM,oBAAoB,QAAO,aAYtC,CAAC"}
@@ -1,20 +1,20 @@
1
- import { INK_DEMO_AI_DELAY_MS as g } from "../../constants/numbers.js";
2
- import { INK_AI_DEMO_MODEL_ID as c, INK_AI_DEMO_PROVIDER_ID as l } from "../../constants/aiModels.const.js";
1
+ import { INK_DEMO_AI_DELAY_MS as f } from "../../constants/numbers.js";
2
+ import { INK_AI_DEMO_MODEL_ID as r, INK_AI_DEMO_PROVIDER_ID as a } from "../../constants/aiModels.const.js";
3
3
  import "../../constants/openai.const.js";
4
4
  import "react/jsx-runtime";
5
5
  import { createInkId as s } from "../../utils/id.utils.js";
6
6
  import "../../utils/paste.utils.js";
7
7
  import "react";
8
8
  import "react-dom";
9
- const u = (t) => new Promise((i) => {
9
+ const h = (t) => new Promise((i) => {
10
10
  window.setTimeout(i, t);
11
- }), m = (t) => t.replace(/<[^>]+>/g, " ").replace(/\s+/g, " ").trim(), n = (t) => `<p>${t}</p>`, f = async (t) => {
11
+ }), l = (t) => t.replace(/<[^>]+>/g, " ").replace(/\s+/g, " ").trim(), n = (t) => `<p>${t}</p>`, y = async (t) => {
12
12
  var d, p;
13
- await u(g);
14
- const i = t.selectionHtml || t.html || "", o = m(i) || "your content", a = ((d = t.prompt) == null ? void 0 : d.trim()) || "";
13
+ await h(f);
14
+ const i = t.selectionHtml || t.html || "", o = l(i) || "your content", c = ((d = t.prompt) == null ? void 0 : d.trim()) || "";
15
15
  switch (t.capability) {
16
16
  case "chat": {
17
- const e = a ? `Demo assistant: regarding “${a.slice(0, 120)}”, here’s a concise take based on the current document (${o.slice(0, 80)}…). Connect your own LLM provider for production answers.` : `Demo assistant ready. Ask a question about: ${o.slice(0, 100)}…`;
17
+ const e = c ? `Demo assistant: regarding “${c.slice(0, 120)}”, here’s a concise take based on the current document (${o.slice(0, 80)}…). Connect your own LLM provider for production answers.` : `Demo assistant ready. Ask a question about: ${o.slice(0, 100)}…`;
18
18
  return {
19
19
  text: e,
20
20
  turns: [
@@ -26,14 +26,14 @@ const u = (t) => new Promise((i) => {
26
26
  capability: "chat"
27
27
  }
28
28
  ],
29
- meta: { provider: l, model: c }
29
+ meta: { provider: a, model: r }
30
30
  };
31
31
  }
32
32
  case "summarize": {
33
33
  const e = n(`Summary (demo): ${o.slice(0, 160)}${o.length > 160 ? "…" : ""}`);
34
34
  return {
35
35
  html: e,
36
- text: m(e),
36
+ text: l(e),
37
37
  diff: {
38
38
  id: s("diff"),
39
39
  originalHtml: i,
@@ -69,14 +69,14 @@ const u = (t) => new Promise((i) => {
69
69
  };
70
70
  }
71
71
  case "translate": {
72
- const e = ((p = t.options) == null ? void 0 : p.language) || "Spanish", r = n(`[${e} demo] ${o}`);
72
+ const e = ((p = t.options) == null ? void 0 : p.language) || "Spanish", m = n(`[${e} demo] ${o}`);
73
73
  return {
74
- html: r,
75
- text: m(r),
74
+ html: m,
75
+ text: l(m),
76
76
  diff: {
77
77
  id: s("diff"),
78
78
  originalHtml: i,
79
- suggestedHtml: r,
79
+ suggestedHtml: m,
80
80
  summary: `Demo translation to ${e}`
81
81
  }
82
82
  };
@@ -101,11 +101,26 @@ const u = (t) => new Promise((i) => {
101
101
  }
102
102
  ]
103
103
  };
104
- case "autocomplete":
105
- return {
106
- text: (a || o).trim().length ? " and continue with a clear next phrase." : "Start typing to see a demo completion.",
107
- meta: { provider: l, model: c }
104
+ case "autocomplete": {
105
+ const e = (c || o).trim(), u = [
106
+ { match: /\bhi[,]?\s*how$/i, completion: " are you?" },
107
+ { match: /\bhow are$/i, completion: " you today?" },
108
+ { match: /\bthank$/i, completion: " you!" },
109
+ { match: /\bplease$/i, completion: " review this draft." },
110
+ { match: /\blet'?s$/i, completion: " continue with the next section." },
111
+ { match: /\bin conclusion$/i, completion: ", the key takeaway is clear." }
112
+ ].find((g) => g.match.test(e));
113
+ return u ? {
114
+ text: u.completion,
115
+ meta: { provider: a, model: r }
116
+ } : e.length ? {
117
+ text: " — continue with a clear next phrase.",
118
+ meta: { provider: a, model: r }
119
+ } : {
120
+ text: "Start typing to see a demo completion.",
121
+ meta: { provider: a, model: r }
108
122
  };
123
+ }
109
124
  case "suggestDiff":
110
125
  case "quickAction":
111
126
  case "rewrite":
@@ -122,19 +137,19 @@ const u = (t) => new Promise((i) => {
122
137
  };
123
138
  }
124
139
  }
125
- }, $ = () => ({
126
- id: l,
140
+ }, _ = () => ({
141
+ id: a,
127
142
  name: "Ink Demo Provider",
128
143
  models: [
129
144
  {
130
- id: c,
145
+ id: r,
131
146
  provider: "demo",
132
147
  label: "Ink Demo (local)",
133
148
  family: "Demo"
134
149
  }
135
150
  ],
136
- run: f
151
+ run: y
137
152
  });
138
153
  export {
139
- $ as createDemoAiProvider
154
+ _ as createDemoAiProvider
140
155
  };
package/dist/styles.css CHANGED
@@ -1 +1 @@
1
- :root{--ink-color-border: #e5e7eb;--ink-color-bg: #ffffff;--ink-color-toolbar: #f8fafc;--ink-color-text: #0f172a;--ink-color-muted: #64748b;--ink-color-accent: #0d9488;--ink-color-accent-soft: #ccfbf1}.Ink-Button{border:0;background:rgba(0,0,0,0);color:inherit;border-radius:.45rem;cursor:pointer;min-width:2rem;height:2rem;padding:0 .4rem;font-weight:650;font-size:.85rem}.Ink-Button:hover{background:rgba(15,23,42,.05)}.Ink-Button--active{background:var(--ink-accent-soft);color:var(--ink-accent)}.Ink-Button:disabled{opacity:.45;cursor:not-allowed}.Ink-Box{display:block;box-sizing:border-box}.Ink-Field{display:flex;flex-direction:column;flex-wrap:nowrap;gap:.25rem;font-size:.875rem;color:var(--ink-muted)}.Ink-Field input{border:1px solid var(--ink-border);border-radius:.4rem;padding:.4rem .55rem;background:var(--ink-bg);color:var(--ink-text);font:inherit}.Ink-Field__label{display:block;box-sizing:border-box;font-size:.8rem;color:var(--ink-muted)}.Ink-Canvas{display:block;max-width:100%;touch-action:none;cursor:crosshair;border:1px dashed var(--ink-border);border-radius:.5rem;background:var(--ink-bg)}.Ink-ContextMenu{position:fixed;z-index:50;min-width:11rem;padding:.3rem;border:1px solid #e5e7eb;border-radius:.65rem;background:#fff;color:#0f172a;box-shadow:0 10px 40px rgba(15,23,42,.12)}.Ink-ContextMenu[data-color-mode=dark]{border-color:#3f3f46;background:#18181b;color:#f4f4f5;box-shadow:0 10px 40px rgba(0,0,0,.35)}@media(prefers-color-scheme: dark){.Ink-ContextMenu:not([data-color-mode]){border-color:#3f3f46;background:#18181b;color:#f4f4f5;box-shadow:0 10px 40px rgba(0,0,0,.35)}}.Ink-ContextMenu__item{border:0;background:rgba(0,0,0,0);color:inherit;border-radius:.45rem;cursor:pointer;min-width:2rem;height:2rem;padding:0 .4rem;font-weight:650;font-size:.85rem}.Ink-ContextMenu__item:hover{background:rgba(15,23,42,.05)}.Ink-ContextMenu__item--active{background:var(--ink-accent-soft);color:var(--ink-accent)}.Ink-ContextMenu__item:disabled{opacity:.45;cursor:not-allowed}.Ink-ContextMenu__item{display:block;width:100%;min-width:0;height:auto;padding:.45rem .6rem;text-align:left;font-weight:500}.Ink-ContextMenu__item:hover{background:var(--ink-accent-soft);color:var(--ink-accent)}.Ink-Icon{display:inline-flex;width:1rem;height:1rem;align-items:center;justify-content:center}.Ink-Icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.Ink-Icon--grip svg{fill:currentColor;stroke:none}.Ink-InlineToolbar{position:fixed;z-index:12;display:flex;align-items:center;gap:.1rem;padding:.25rem .3rem;border:1px solid rgba(15,23,42,.08);border-radius:.5rem;background:#fff;box-shadow:0 3px 15px rgba(15,23,42,.12),0 0 0 1px rgba(15,23,42,.03);color:var(--ink-text)}.Ink-InlineToolbar__item{min-width:1.85rem;height:1.85rem;padding:0 .35rem;border-radius:.35rem;font-size:.8rem;font-weight:650}.Ink-InlineToolbar__divider{width:1px;height:1.1rem;margin:0 .2rem;background:rgba(15,23,42,.12)}.Ink-Editor{--ink-border: #e5e7eb;--ink-bg: #ffffff;--ink-toolbar: #f8fafc;--ink-text: #0f172a;--ink-muted: #64748b;--ink-accent: #0d9488;--ink-accent-soft: #ccfbf1;--ink-shadow: 0 10px 40px rgba(15, 23, 42, 0.08);--ink-table-header: #f1f5f9;--ink-radius: 1rem;--ink-font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--ink-ai-accent: var(--ink-accent);--ink-ai-surface: var(--ink-toolbar);--ink-ai-border: var(--ink-border);border:1px solid var(--ink-border);border-radius:var(--ink-radius);overflow:hidden;background:var(--ink-bg);color:var(--ink-text);box-shadow:var(--ink-shadow);font-family:var(--ink-font-family)}.Ink-Editor[data-wysiwyg=true] .Ink-Editor__content{font-family:inherit;line-height:1.65}.Ink-Editor[data-wysiwyg=true] .Ink-Editor__content img{max-width:100%;height:auto}.Ink-Editor[data-wysiwyg=true] .Ink-Editor__content table{border-collapse:collapse;width:100%}.Ink-Editor[data-wysiwyg=true] .Ink-Editor__content th,.Ink-Editor[data-wysiwyg=true] .Ink-Editor__content td{border:1px solid var(--ink-border);padding:.4rem .6rem}.Ink-Editor[data-variant=document]{--ink-toolbar: #ffffff;box-shadow:0 4px 24px rgba(15,23,42,.06)}.Ink-Editor[data-disabled=true]{opacity:.6;pointer-events:none}.Ink-Editor[data-chrome=borderless]{border:none;box-shadow:none;border-radius:0}.Ink-Editor[data-chrome=borderless] .Ink-Editor__toolbar{border-bottom:none;background:rgba(0,0,0,0)}.Ink-Editor__toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.2rem;padding:.55rem .65rem;border-bottom:1px solid var(--ink-border);background:var(--ink-toolbar)}.Ink-Editor__toolbar-show{display:flex;align-items:center;padding:.35rem .65rem;border-bottom:1px solid var(--ink-border);background:var(--ink-toolbar)}.Ink-ToolbarCustomize{display:flex;flex-direction:column;flex-wrap:nowrap;gap:.5rem;padding:.75rem;border-bottom:1px solid var(--ink-border);background:var(--ink-toolbar);color:var(--ink-text)}.Ink-ToolbarCustomize__title{margin:0;font-size:.875rem;font-weight:650}.Ink-ToolbarCustomize__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem;max-height:14rem;overflow:auto}.Ink-ToolbarCustomize__item label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--ink-text);cursor:pointer}.Ink-ToolbarCustomize__actions{display:flex;flex-wrap:wrap;gap:.35rem}.Ink-Editor__button{border:0;background:rgba(0,0,0,0);color:inherit;border-radius:.45rem;cursor:pointer;min-width:2rem;height:2rem;padding:0 .4rem;font-weight:650;font-size:.85rem}.Ink-Editor__button:hover{background:rgba(15,23,42,.05)}.Ink-Editor__button--active{background:var(--ink-accent-soft);color:var(--ink-accent)}.Ink-Editor__button:disabled{opacity:.45;cursor:not-allowed}.Ink-Editor__select{border:0;background:rgba(0,0,0,0);color:inherit;border-radius:.45rem;cursor:pointer}.Ink-Editor__select:hover{background:rgba(15,23,42,.05)}.Ink-Editor__select{height:2rem;padding:0 .5rem;border:1px solid rgba(0,0,0,0)}.Ink-Editor__select:focus{outline:none;border-color:var(--ink-accent);background:#fff}.Ink-Editor__divider{width:1px;height:1.25rem;margin:0 .3rem;background:var(--ink-border)}.Ink-Editor__color{position:relative;display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;cursor:pointer}.Ink-Editor__color input{position:absolute;inset:0;opacity:0;cursor:pointer}.Ink-Editor__color-swatch{width:1rem;height:1rem;border-radius:999px;border:1px solid var(--ink-border)}.Ink-Editor__shell{position:relative;display:flex;align-items:stretch;min-height:0}.Ink-Editor__body{position:relative;flex:1 1 auto;min-width:0}.Ink-Editor__content{min-height:150px;padding:1.1rem 1.25rem 1.1rem 2.5rem;outline:none;overflow:auto;line-height:1.65}.Ink-Editor[data-variant=document] .Ink-Editor__content{padding:2rem 2.5rem 2rem 3rem;max-width:48rem;margin:0 auto}.Ink-Editor__content:empty::before{content:attr(data-placeholder);color:var(--ink-muted);pointer-events:none}.Ink-Editor__content img{max-width:100%;height:auto;border-radius:.35rem}.Ink-Editor__content h1,.Ink-Editor__content h2,.Ink-Editor__content h3,.Ink-Editor__content h4,.Ink-Editor__content h5,.Ink-Editor__content h6{margin:.85rem 0 .45rem;line-height:1.25}.Ink-Editor__content p,.Ink-Editor__content ul,.Ink-Editor__content ol,.Ink-Editor__content blockquote,.Ink-Editor__content pre{margin:.55rem 0}.Ink-Editor__content ul{list-style:disc;padding-inline-start:1.5rem}.Ink-Editor__content ol{list-style:decimal;padding-inline-start:1.5rem}.Ink-Editor__content ul.Ink-list--dash{list-style-type:"– "}.Ink-Editor__content ol.Ink-list--alpha{list-style-type:lower-alpha}.Ink-Editor__content .Ink-block--active{outline:1px solid rgba(13,148,136,.35);border-radius:.35rem;background:rgba(13,148,136,.03)}.Ink-Editor__content .Ink-block--dragging{opacity:.45}.Ink-Editor__content .Ink-block--drop-before{box-shadow:inset 0 2px 0 0 var(--ink-accent)}.Ink-Editor__content .Ink-block--drop-after{box-shadow:inset 0 -2px 0 0 var(--ink-accent)}.Ink-Editor__content .Ink-table{width:100%;border-collapse:collapse;margin:.75rem 0;font-size:.95rem}.Ink-Editor__content .Ink-table th,.Ink-Editor__content .Ink-table td{border:1px solid var(--ink-border);padding:.45rem .6rem;min-width:4rem}.Ink-Editor__content .Ink-table th{background:var(--ink-table-header, var(--ink-toolbar));color:var(--ink-text);font-weight:650;text-align:left}.Ink-Editor__content .Ink-tc-insert{background:rgba(34,197,94,.18);text-decoration:none;color:inherit}.Ink-Editor__content .Ink-tc-delete{background:rgba(239,68,68,.14);color:#991b1b}.Ink-Editor__content .Ink-comment-mark{background:#fde047;border-radius:.15rem;padding:0 .1rem}.Ink-Editor__footer{padding:.35rem .75rem;border-top:1px solid var(--ink-border);font-size:.75rem;color:var(--ink-muted);text-align:right}.Ink-BlockHandles{position:absolute;left:.2rem;z-index:2;display:flex;flex-direction:column;align-items:center;gap:.2rem}.Ink-BlockHandles__plus,.Ink-BlockHandles__grip,.Ink-BlockHandles__btn{width:1.5rem;height:1.5rem;border:0;border-radius:999px;background:#fff;box-shadow:0 1px 4px rgba(15,23,42,.14);color:var(--ink-muted);cursor:pointer;font-size:.85rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;padding:0}.Ink-BlockHandles__plus{font-weight:500;font-size:1rem}.Ink-BlockHandles__grip{cursor:grab}.Ink-BlockHandles__grip .Ink-Icon{width:.85rem;height:.85rem}.Ink-BlockHandles__grip:active{cursor:grabbing}.Ink-BlockHandles__btn{width:1.35rem;height:1.35rem;font-size:.65rem;opacity:.85}.Ink-BlockHandles__plus:hover,.Ink-BlockHandles__btn:hover,.Ink-BlockHandles__grip:hover{color:var(--ink-accent);background:var(--ink-accent-soft)}.Ink-Slash{position:absolute;z-index:5;min-width:12rem;background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:.55rem;box-shadow:0 4px 18px rgba(15,23,42,.12),0 0 0 1px rgba(15,23,42,.03);padding:.35rem}.Ink-Slash__item{display:block;width:100%;text-align:left;border:0;background:rgba(0,0,0,0);padding:.45rem .6rem;border-radius:.4rem;cursor:pointer;color:inherit}.Ink-Slash__item:hover{background:var(--ink-accent-soft);color:var(--ink-accent)}.Ink-TrackBar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.45rem .75rem;border-bottom:1px solid var(--ink-border);background:#fffbeb;font-size:.8rem}.Ink-TrackBar__label{font-weight:650;color:#92400e}.Ink-TrackBar__actions{display:flex;gap:.25rem}.Ink-TrackBar__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem;width:100%}.Ink-TrackBar__list li{display:flex;align-items:center;gap:.25rem;background:#fff;border:1px solid #fde68a;border-radius:.45rem;padding:.2rem .35rem}.Ink-Comments{width:300px;flex:0 0 300px;border-left:1px solid var(--ink-border);background:#fcfcfd;display:flex;flex-direction:column;max-height:100%}.Ink-Comments__header,.Ink-Ai__header{display:flex;align-items:center;justify-content:space-between;padding:.65rem .75rem;border-bottom:1px solid var(--ink-border);font-size:.9rem}.Ink-Comments__list{overflow:auto;padding:.65rem;display:flex;flex-direction:column;gap:.65rem}.Ink-Comments__empty,.Ink-Ai__empty,.Ink-Ai__hint{color:var(--ink-muted);font-size:.85rem;line-height:1.45}.Ink-Comments__thread{border:1px solid var(--ink-border);border-radius:.65rem;padding:.65rem;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.04)}.Ink-Comments__thread--resolved{opacity:.65}.Ink-Comments__meta{display:flex;justify-content:space-between;gap:.5rem;font-size:.72rem;color:var(--ink-muted);margin-bottom:.35rem}.Ink-Comments__body{margin:0;font-size:.88rem}.Ink-Comments__reply{margin-top:.5rem;padding-left:.65rem;border-left:2px solid var(--ink-accent-soft)}.Ink-Comments__form{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.55rem}.Ink-Comments__form input,.Ink-Ai__form input,.Ink-Ai__translate select{flex:1 1 auto;min-width:0;border:1px solid var(--ink-border);border-radius:.45rem;padding:.4rem .5rem;font:inherit}.Ink-Comments__resolved{margin:.4rem 0 0;font-size:.75rem;color:var(--ink-muted)}.Ink-Ai{width:320px;flex:0 0 320px;border-left:1px solid var(--ink-ai-border, var(--ink-border));background:var(--ink-ai-surface, #f8fafc);display:flex;flex-direction:column;max-height:100%}.Ink-Ai[data-placement=floating]{position:absolute;right:1rem;top:3.5rem;z-index:6;border:1px solid var(--ink-ai-border, var(--ink-border));border-radius:.85rem;box-shadow:0 16px 40px rgba(15,23,42,.14);max-height:min(28rem,70vh)}.Ink-Ai[data-placement=drawer]{position:absolute;inset:0 0 0 auto;z-index:6;box-shadow:-8px 0 24px rgba(15,23,42,.08)}.Ink-Ai__tabs{display:flex;flex-wrap:wrap;gap:.2rem;padding:.4rem .55rem;border-bottom:1px solid var(--ink-ai-border, var(--ink-border))}.Ink-Ai__body{flex:1 1 auto;overflow:auto;padding:.65rem;display:flex;flex-direction:column;gap:.65rem}.Ink-Ai__history{display:flex;flex-direction:column;gap:.45rem;min-height:8rem}.Ink-Ai__turn{border-radius:.55rem;padding:.5rem .6rem;background:#fff;border:1px solid var(--ink-border);font-size:.85rem}.Ink-Ai__turn span{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted);margin-bottom:.2rem}.Ink-Ai__turn p{margin:0}.Ink-Ai__turn--user{border-color:rgba(13,148,136,.35);background:rgba(13,148,136,.06)}.Ink-Ai__form,.Ink-Ai__diff-actions,.Ink-Ai__actions{display:flex;flex-wrap:wrap;gap:.35rem}.Ink-Ai__action{width:100%;justify-content:flex-start;text-align:left;background:#fff;border:1px solid var(--ink-border) !important}.Ink-Ai__suggestion{border:1px solid var(--ink-border);border-radius:.55rem;padding:.55rem;background:#fff;font-size:.85rem}.Ink-Ai__suggestion--warning{border-color:#fbbf24}.Ink-Ai__suggestion--error{border-color:#f87171}.Ink-Ai__suggestion p{margin:.25rem 0}.Ink-Ai__suggestion code{display:block;font-size:.75rem;color:var(--ink-muted)}.Ink-Ai__translate label{display:flex;flex-direction:column;gap:.3rem;font-size:.8rem;color:var(--ink-muted)}.Ink-Ai__diff{border:1px solid rgba(13,148,136,.35);border-radius:.65rem;padding:.65rem;background:#fff}.Ink-Ai__diff-preview{margin:.4rem 0;padding:.45rem;border-radius:.4rem;background:rgba(13,148,136,.06);font-size:.85rem}.Ink-Ai__footer{padding:.4rem .75rem;border-top:1px solid var(--ink-ai-border, var(--ink-border));font-size:.7rem;color:var(--ink-muted)}.Ink-AiAutocomplete{position:absolute;z-index:4;pointer-events:none;color:var(--ink-muted);font-style:italic;white-space:pre-wrap;opacity:.65;user-select:none}@media(max-width: 900px){.Ink-Editor__shell{flex-direction:column}.Ink-Comments,.Ink-Ai{width:100%;flex:none;border-left:0;border-top:1px solid var(--ink-border);max-height:16rem}.Ink-Ai[data-placement=floating],.Ink-Ai[data-placement=drawer]{position:static;box-shadow:none;max-height:16rem}}.Ink-Editor[data-color-mode=light]{--ink-border: #e5e7eb;--ink-bg: #ffffff;--ink-toolbar: #f8fafc;--ink-text: #0f172a;--ink-muted: #64748b;--ink-accent: #0d9488;--ink-accent-soft: #ccfbf1;--ink-shadow: 0 10px 40px rgba(15, 23, 42, 0.08);--ink-table-header: #f1f5f9}.Ink-Editor[data-color-mode=dark]{--ink-border: #3f3f46;--ink-bg: #18181b;--ink-toolbar: #27272a;--ink-text: #f4f4f5;--ink-muted: #a1a1aa;--ink-accent: #2dd4bf;--ink-accent-soft: rgba(45, 212, 191, 0.15);--ink-shadow: 0 10px 40px rgba(0, 0, 0, 0.35);--ink-table-header: #27272a}@media(prefers-color-scheme: dark){.Ink-Editor:not([data-color-mode]){--ink-border: #3f3f46;--ink-bg: #18181b;--ink-toolbar: #27272a;--ink-text: #f4f4f5;--ink-muted: #a1a1aa;--ink-accent: #2dd4bf;--ink-accent-soft: rgba(45, 212, 191, 0.15);--ink-shadow: 0 10px 40px rgba(0, 0, 0, 0.35);--ink-table-header: #27272a}}.ink-theme-snow .Ink-Editor,.Ink-Editor.ink-theme-snow{--ink-border: #e5e7eb;--ink-bg: #ffffff;--ink-toolbar: #f9fafb;--ink-text: #111827;--ink-muted: #6b7280;--ink-accent: #0f766e;--ink-accent-soft: #ccfbf1;border-radius:.75rem}.ink-theme-bubble .Ink-Editor,.Ink-Editor.ink-theme-bubble{--ink-border: transparent;--ink-bg: #ffffff;--ink-toolbar: #ffffff;--ink-text: #111827;--ink-muted: #6b7280;--ink-accent: #0f766e;--ink-accent-soft: #ccfbf1;box-shadow:0 4px 24px rgba(15,23,42,.1);border-radius:1rem}.ink-theme-dark .Ink-Editor,.Ink-Editor.ink-theme-dark{--ink-border: #3f3f46;--ink-bg: #18181b;--ink-toolbar: #27272a;--ink-text: #f4f4f5;--ink-muted: #a1a1aa;--ink-accent: #2dd4bf;--ink-accent-soft: rgb(45 212 191 / 0.15);--ink-table-header: #27272a}.ink-theme-minimal .Ink-Editor,.Ink-Editor.ink-theme-minimal{--ink-border: #e7e5e4;--ink-bg: #ffffff;--ink-toolbar: #ffffff;--ink-text: #1c1917;--ink-muted: #78716c;--ink-accent: #0f766e;--ink-accent-soft: #f0fdfa;box-shadow:none;border-radius:0}.ink-theme-minimal .Ink-Editor__toolbar,.ink-theme-minimal.Ink-Editor .Ink-Editor__toolbar{border-bottom:1px solid var(--ink-border)}.Ink-SignPad,.Ink-FindReplace{border-bottom-color:var(--ink-border);background:var(--ink-toolbar);color:var(--ink-text)}.Ink-SignPad__title,.Ink-FindReplace__title{color:var(--ink-text)}.Ink-SignPad__canvas{max-width:480px;height:180px;border-color:var(--ink-border);touch-action:none}.Ink-FindReplace__field{display:flex;flex-direction:column;flex-wrap:nowrap;gap:.25rem;font-size:.875rem;color:var(--ink-muted)}.Ink-FindReplace__field input{border:1px solid var(--ink-border);border-radius:.4rem;padding:.4rem .55rem;background:var(--ink-bg);color:var(--ink-text);font:inherit}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.p-3{padding:.75rem}.m-0{margin:0}.w-full{width:100%}.max-w-xl{max-width:36rem}.h-44{height:11rem}.border{border-width:1px;border-style:solid}.border-b{border-bottom-width:1px;border-bottom-style:solid}.border-dashed{border-style:dashed}.rounded-lg{border-radius:.5rem}.bg-white{background-color:#fff}.cursor-crosshair{cursor:crosshair}.text-sm{font-size:.875rem}.font-semibold{font-weight:600}
1
+ :root{--ink-color-border: #e5e7eb;--ink-color-bg: #ffffff;--ink-color-toolbar: #f8fafc;--ink-color-text: #0f172a;--ink-color-muted: #64748b;--ink-color-accent: #0d9488;--ink-color-accent-soft: #ccfbf1}.Ink-Button{border:0;background:rgba(0,0,0,0);color:inherit;border-radius:.45rem;cursor:pointer;min-width:2rem;height:2rem;padding:0 .4rem;font-weight:650;font-size:.85rem}.Ink-Button:hover{background:rgba(15,23,42,.05)}.Ink-Button--active{background:var(--ink-accent-soft);color:var(--ink-accent)}.Ink-Button:disabled{opacity:.45;cursor:not-allowed}.Ink-Box{display:block;box-sizing:border-box}.Ink-Field{display:flex;flex-direction:column;flex-wrap:nowrap;gap:.25rem;font-size:.875rem;color:var(--ink-muted)}.Ink-Field input{border:1px solid var(--ink-border);border-radius:.4rem;padding:.4rem .55rem;background:var(--ink-bg);color:var(--ink-text);font:inherit}.Ink-Field__label{display:block;box-sizing:border-box;font-size:.8rem;color:var(--ink-muted)}.Ink-Canvas{display:block;max-width:100%;touch-action:none;cursor:crosshair;border:1px dashed var(--ink-border);border-radius:.5rem;background:var(--ink-bg)}.Ink-ContextMenu{position:fixed;z-index:50;min-width:11rem;padding:.3rem;border:1px solid #e5e7eb;border-radius:.65rem;background:#fff;color:#0f172a;box-shadow:0 10px 40px rgba(15,23,42,.12)}.Ink-ContextMenu[data-color-mode=dark]{border-color:#3f3f46;background:#18181b;color:#f4f4f5;box-shadow:0 10px 40px rgba(0,0,0,.35)}@media(prefers-color-scheme: dark){.Ink-ContextMenu:not([data-color-mode]){border-color:#3f3f46;background:#18181b;color:#f4f4f5;box-shadow:0 10px 40px rgba(0,0,0,.35)}}.Ink-ContextMenu__item{border:0;background:rgba(0,0,0,0);color:inherit;border-radius:.45rem;cursor:pointer;min-width:2rem;height:2rem;padding:0 .4rem;font-weight:650;font-size:.85rem}.Ink-ContextMenu__item:hover{background:rgba(15,23,42,.05)}.Ink-ContextMenu__item--active{background:var(--ink-accent-soft);color:var(--ink-accent)}.Ink-ContextMenu__item:disabled{opacity:.45;cursor:not-allowed}.Ink-ContextMenu__item{display:block;width:100%;min-width:0;height:auto;padding:.45rem .6rem;text-align:left;font-weight:500}.Ink-ContextMenu__item:hover{background:var(--ink-accent-soft);color:var(--ink-accent)}.Ink-Icon{display:inline-flex;width:1rem;height:1rem;align-items:center;justify-content:center}.Ink-Icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.Ink-Icon--grip svg{fill:currentColor;stroke:none}.Ink-InlineToolbar{position:fixed;z-index:12;display:flex;align-items:center;gap:.1rem;padding:.25rem .3rem;border:1px solid rgba(15,23,42,.08);border-radius:.5rem;background:#fff;box-shadow:0 3px 15px rgba(15,23,42,.12),0 0 0 1px rgba(15,23,42,.03);color:var(--ink-text)}.Ink-InlineToolbar__item{min-width:1.85rem;height:1.85rem;padding:0 .35rem;border-radius:.35rem;font-size:.8rem;font-weight:650}.Ink-InlineToolbar__divider{width:1px;height:1.1rem;margin:0 .2rem;background:rgba(15,23,42,.12)}.Ink-Editor{--ink-border: #e5e7eb;--ink-bg: #ffffff;--ink-toolbar: #f8fafc;--ink-text: #0f172a;--ink-muted: #64748b;--ink-accent: #0d9488;--ink-accent-soft: #ccfbf1;--ink-shadow: 0 10px 40px rgba(15, 23, 42, 0.08);--ink-table-header: #f1f5f9;--ink-radius: 1rem;--ink-font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;--ink-ai-accent: var(--ink-accent);--ink-ai-surface: var(--ink-toolbar);--ink-ai-border: var(--ink-border);border:1px solid var(--ink-border);border-radius:var(--ink-radius);overflow:hidden;background:var(--ink-bg);color:var(--ink-text);box-shadow:var(--ink-shadow);font-family:var(--ink-font-family)}.Ink-Editor[data-wysiwyg=true] .Ink-Editor__content{font-family:inherit;line-height:1.65}.Ink-Editor[data-wysiwyg=true] .Ink-Editor__content img{max-width:100%;height:auto}.Ink-Editor[data-wysiwyg=true] .Ink-Editor__content table{border-collapse:collapse;width:100%}.Ink-Editor[data-wysiwyg=true] .Ink-Editor__content th,.Ink-Editor[data-wysiwyg=true] .Ink-Editor__content td{border:1px solid var(--ink-border);padding:.4rem .6rem}.Ink-Editor[data-variant=document],.Ink-Editor[data-variant=docx]{--ink-toolbar: #ffffff;box-shadow:0 4px 24px rgba(15,23,42,.06)}.Ink-Editor[data-variant=docx]{--ink-accent: #2b579a;border-color:#d0d7de;background:#f3f3f3}.Ink-Editor[data-variant=docx] .Ink-Editor__toolbar{background:linear-gradient(180deg, #ffffff 0%, #f0f3f7 100%);border-bottom:1px solid #c8d0d8}.Ink-Editor[data-variant=docx] .Ink-Editor__content{max-width:48rem;margin:1rem auto;min-height:22rem;background:#fff;border:1px solid #d8dee6;box-shadow:0 1px 2px rgba(15,23,42,.04);padding:2.5rem 3rem}.Ink-Editor[data-variant=simple]{--ink-toolbar: transparent;border:none;box-shadow:none;background:rgba(0,0,0,0)}.Ink-Editor[data-variant=simple] .Ink-Editor__toolbar{border-bottom:none;padding-inline:0;gap:.25rem}.Ink-Editor[data-variant=simple] .Ink-Editor__content{padding:.5rem 0;font-size:1rem}.Ink-Editor[data-variant=notion-like]{--ink-toolbar: transparent;--ink-accent: #111827;border:none;box-shadow:none;border-radius:0;background:#fff}.Ink-Editor[data-variant=notion-like] .Ink-Editor__toolbar{border-bottom:none;background:rgba(0,0,0,0);opacity:.85}.Ink-Editor[data-variant=notion-like] .Ink-Editor__content{max-width:42rem;margin-inline:auto;padding-block:2rem;font-size:1.125rem;line-height:1.75}.Ink-Editor[data-variant=agent]{--ink-toolbar: #f8fafc;--ink-accent: #0f766e;box-shadow:0 8px 28px rgba(15,23,42,.08);border-color:rgba(15,118,110,.25)}.Ink-Editor[data-variant=agent] .Ink-Editor__shell{position:relative}.Ink-Editor[data-variant=agent] .Ink-Editor__toolbar{background:linear-gradient(180deg, #f0fdfa 0%, #f8fafc 100%)}.Ink-Editor__agent-bar{display:flex;align-items:center;gap:.65rem;margin:.75rem 1rem 1rem;padding:.65rem .85rem;border:1px solid rgba(15,118,110,.25);border-radius:999px;background:linear-gradient(90deg, #ecfdf5 0%, #ffffff 55%);box-shadow:0 8px 20px rgba(15,118,110,.08);color:#0f766e;font-size:.9rem}.Ink-Editor[data-disabled=true]{opacity:.6;pointer-events:none}.Ink-Editor[data-chrome=borderless]{border:none;box-shadow:none;border-radius:0}.Ink-Editor[data-chrome=borderless] .Ink-Editor__toolbar{border-bottom:none;background:rgba(0,0,0,0)}.Ink-Editor__toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.2rem;padding:.55rem .65rem;border-bottom:1px solid var(--ink-border);background:var(--ink-toolbar)}.Ink-Editor__toolbar-show{display:flex;align-items:center;padding:.35rem .65rem;border-bottom:1px solid var(--ink-border);background:var(--ink-toolbar)}.Ink-ToolbarCustomize{display:flex;flex-direction:column;flex-wrap:nowrap;gap:.5rem;padding:.75rem;border-bottom:1px solid var(--ink-border);background:var(--ink-toolbar);color:var(--ink-text)}.Ink-ToolbarCustomize__title{margin:0;font-size:.875rem;font-weight:650}.Ink-ToolbarCustomize__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem;max-height:14rem;overflow:auto}.Ink-ToolbarCustomize__item label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--ink-text);cursor:pointer}.Ink-ToolbarCustomize__actions{display:flex;flex-wrap:wrap;gap:.35rem}.Ink-Editor__button{border:0;background:rgba(0,0,0,0);color:inherit;border-radius:.45rem;cursor:pointer;min-width:2rem;height:2rem;padding:0 .4rem;font-weight:650;font-size:.85rem}.Ink-Editor__button:hover{background:rgba(15,23,42,.05)}.Ink-Editor__button--active{background:var(--ink-accent-soft);color:var(--ink-accent)}.Ink-Editor__button:disabled{opacity:.45;cursor:not-allowed}.Ink-Editor__select{border:0;background:rgba(0,0,0,0);color:inherit;border-radius:.45rem;cursor:pointer}.Ink-Editor__select:hover{background:rgba(15,23,42,.05)}.Ink-Editor__select{height:2rem;padding:0 .5rem;border:1px solid rgba(0,0,0,0)}.Ink-Editor__select:focus{outline:none;border-color:var(--ink-accent);background:#fff}.Ink-Editor__divider{width:1px;height:1.25rem;margin:0 .3rem;background:var(--ink-border)}.Ink-Editor__color{position:relative;display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;cursor:pointer}.Ink-Editor__color input{position:absolute;inset:0;opacity:0;cursor:pointer}.Ink-Editor__color-swatch{width:1rem;height:1rem;border-radius:999px;border:1px solid var(--ink-border)}.Ink-Editor__shell{position:relative;display:flex;align-items:stretch;min-height:0}.Ink-Editor__body{position:relative;flex:1 1 auto;min-width:0}.Ink-Editor__content{min-height:150px;padding:1.1rem 1.25rem 1.1rem 2.5rem;outline:none;overflow:auto;line-height:1.65}.Ink-Editor[data-variant=document] .Ink-Editor__content{padding:2rem 2.5rem 2rem 3rem;max-width:48rem;margin:0 auto}.Ink-Editor__content:empty::before{content:attr(data-placeholder);color:var(--ink-muted);pointer-events:none}.Ink-Editor__content img{max-width:100%;height:auto;border-radius:.35rem}.Ink-Editor__content h1,.Ink-Editor__content h2,.Ink-Editor__content h3,.Ink-Editor__content h4,.Ink-Editor__content h5,.Ink-Editor__content h6{margin:.85rem 0 .45rem;line-height:1.25}.Ink-Editor__content p,.Ink-Editor__content ul,.Ink-Editor__content ol,.Ink-Editor__content blockquote,.Ink-Editor__content pre{margin:.55rem 0}.Ink-Editor__content ul{list-style:disc;padding-inline-start:1.5rem}.Ink-Editor__content ol{list-style:decimal;padding-inline-start:1.5rem}.Ink-Editor__content ul.Ink-list--dash{list-style-type:"– "}.Ink-Editor__content ol.Ink-list--alpha{list-style-type:lower-alpha}.Ink-Editor__content .Ink-block--active{outline:1px solid rgba(13,148,136,.35);border-radius:.35rem;background:rgba(13,148,136,.03)}.Ink-Editor__content .Ink-block--dragging{opacity:.45}.Ink-Editor__content .Ink-block--drop-before{box-shadow:inset 0 2px 0 0 var(--ink-accent)}.Ink-Editor__content .Ink-block--drop-after{box-shadow:inset 0 -2px 0 0 var(--ink-accent)}.Ink-Editor__content .Ink-table{width:100%;border-collapse:collapse;margin:.75rem 0;font-size:.95rem}.Ink-Editor__content .Ink-table th,.Ink-Editor__content .Ink-table td{border:1px solid var(--ink-border);padding:.45rem .6rem;min-width:4rem}.Ink-Editor__content .Ink-table th{background:var(--ink-table-header, var(--ink-toolbar));color:var(--ink-text);font-weight:650;text-align:left}.Ink-Editor__content .Ink-tc-insert{background:rgba(34,197,94,.18);text-decoration:none;color:inherit}.Ink-Editor__content .Ink-tc-delete{background:rgba(239,68,68,.14);color:#991b1b}.Ink-Editor__content .Ink-comment-mark{background:#fde047;border-radius:.15rem;padding:0 .1rem}.Ink-Editor__footer{padding:.35rem .75rem;border-top:1px solid var(--ink-border);font-size:.75rem;color:var(--ink-muted);text-align:right}.Ink-BlockHandles{position:absolute;left:.2rem;z-index:2;display:flex;flex-direction:column;align-items:center;gap:.2rem}.Ink-BlockHandles__plus,.Ink-BlockHandles__grip,.Ink-BlockHandles__btn{width:1.5rem;height:1.5rem;border:0;border-radius:999px;background:#fff;box-shadow:0 1px 4px rgba(15,23,42,.14);color:var(--ink-muted);cursor:pointer;font-size:.85rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;padding:0}.Ink-BlockHandles__plus{font-weight:500;font-size:1rem}.Ink-BlockHandles__grip{cursor:grab}.Ink-BlockHandles__grip .Ink-Icon{width:.85rem;height:.85rem}.Ink-BlockHandles__grip:active{cursor:grabbing}.Ink-BlockHandles__btn{width:1.35rem;height:1.35rem;font-size:.65rem;opacity:.85}.Ink-BlockHandles__plus:hover,.Ink-BlockHandles__btn:hover,.Ink-BlockHandles__grip:hover{color:var(--ink-accent);background:var(--ink-accent-soft)}.Ink-Slash{position:absolute;z-index:5;min-width:12rem;background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:.55rem;box-shadow:0 4px 18px rgba(15,23,42,.12),0 0 0 1px rgba(15,23,42,.03);padding:.35rem}.Ink-Slash__item{display:block;width:100%;text-align:left;border:0;background:rgba(0,0,0,0);padding:.45rem .6rem;border-radius:.4rem;cursor:pointer;color:inherit}.Ink-Slash__item:hover{background:var(--ink-accent-soft);color:var(--ink-accent)}.Ink-TrackBar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.45rem .75rem;border-bottom:1px solid var(--ink-border);background:#fffbeb;font-size:.8rem}.Ink-TrackBar__label{font-weight:650;color:#92400e}.Ink-TrackBar__actions{display:flex;gap:.25rem}.Ink-TrackBar__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem;width:100%}.Ink-TrackBar__list li{display:flex;align-items:center;gap:.25rem;background:#fff;border:1px solid #fde68a;border-radius:.45rem;padding:.2rem .35rem}.Ink-Comments{width:300px;flex:0 0 300px;border-left:1px solid var(--ink-border);background:#fcfcfd;display:flex;flex-direction:column;max-height:100%}.Ink-Comments__header,.Ink-Ai__header{display:flex;align-items:center;justify-content:space-between;padding:.65rem .75rem;border-bottom:1px solid var(--ink-border);font-size:.9rem}.Ink-Comments__list{overflow:auto;padding:.65rem;display:flex;flex-direction:column;gap:.65rem}.Ink-Comments__empty,.Ink-Ai__empty,.Ink-Ai__hint{color:var(--ink-muted);font-size:.85rem;line-height:1.45}.Ink-Comments__thread{border:1px solid var(--ink-border);border-radius:.65rem;padding:.65rem;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.04)}.Ink-Comments__thread--resolved{opacity:.65}.Ink-Comments__meta{display:flex;justify-content:space-between;gap:.5rem;font-size:.72rem;color:var(--ink-muted);margin-bottom:.35rem}.Ink-Comments__body{margin:0;font-size:.88rem}.Ink-Comments__reply{margin-top:.5rem;padding-left:.65rem;border-left:2px solid var(--ink-accent-soft)}.Ink-Comments__form{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.55rem}.Ink-Comments__form input,.Ink-Ai__form input,.Ink-Ai__translate select{flex:1 1 auto;min-width:0;border:1px solid var(--ink-border);border-radius:.45rem;padding:.4rem .5rem;font:inherit}.Ink-Comments__resolved{margin:.4rem 0 0;font-size:.75rem;color:var(--ink-muted)}.Ink-Ai{width:320px;flex:0 0 320px;border-left:1px solid var(--ink-ai-border, var(--ink-border));background:var(--ink-ai-surface, #f8fafc);display:flex;flex-direction:column;max-height:100%}.Ink-Ai[data-placement=floating]{position:absolute;right:1rem;top:3.5rem;z-index:6;border:1px solid var(--ink-ai-border, var(--ink-border));border-radius:.85rem;box-shadow:0 16px 40px rgba(15,23,42,.14);max-height:min(28rem,70vh)}.Ink-Ai[data-placement=drawer]{position:absolute;inset:0 0 0 auto;z-index:6;box-shadow:-8px 0 24px rgba(15,23,42,.08)}.Ink-Ai__tabs{display:flex;flex-wrap:wrap;gap:.2rem;padding:.4rem .55rem;border-bottom:1px solid var(--ink-ai-border, var(--ink-border))}.Ink-Ai__body{flex:1 1 auto;overflow:auto;padding:.65rem;display:flex;flex-direction:column;gap:.65rem}.Ink-Ai__history{display:flex;flex-direction:column;gap:.45rem;min-height:8rem}.Ink-Ai__turn{border-radius:.55rem;padding:.5rem .6rem;background:#fff;border:1px solid var(--ink-border);font-size:.85rem}.Ink-Ai__turn span{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted);margin-bottom:.2rem}.Ink-Ai__turn p{margin:0}.Ink-Ai__turn--user{border-color:rgba(13,148,136,.35);background:rgba(13,148,136,.06)}.Ink-Ai__form,.Ink-Ai__diff-actions,.Ink-Ai__actions{display:flex;flex-wrap:wrap;gap:.35rem}.Ink-Ai__action{width:100%;justify-content:flex-start;text-align:left;background:#fff;border:1px solid var(--ink-border) !important}.Ink-Ai__suggestion{border:1px solid var(--ink-border);border-radius:.55rem;padding:.55rem;background:#fff;font-size:.85rem}.Ink-Ai__suggestion--warning{border-color:#fbbf24}.Ink-Ai__suggestion--error{border-color:#f87171}.Ink-Ai__suggestion p{margin:.25rem 0}.Ink-Ai__suggestion code{display:block;font-size:.75rem;color:var(--ink-muted)}.Ink-Ai__translate label{display:flex;flex-direction:column;gap:.3rem;font-size:.8rem;color:var(--ink-muted)}.Ink-Ai__diff{border:1px solid rgba(13,148,136,.35);border-radius:.65rem;padding:.65rem;background:#fff}.Ink-Ai__diff-preview{margin:.4rem 0;padding:.45rem;border-radius:.4rem;background:rgba(13,148,136,.06);font-size:.85rem}.Ink-Ai__footer{padding:.4rem .75rem;border-top:1px solid var(--ink-ai-border, var(--ink-border));font-size:.7rem;color:var(--ink-muted)}.Ink-AiAutocomplete{position:absolute;z-index:4;pointer-events:none;color:var(--ink-muted);font-style:italic;white-space:pre-wrap;opacity:.65;user-select:none}@media(max-width: 900px){.Ink-Editor__shell{flex-direction:column}.Ink-Comments,.Ink-Ai{width:100%;flex:none;border-left:0;border-top:1px solid var(--ink-border);max-height:16rem}.Ink-Ai[data-placement=floating],.Ink-Ai[data-placement=drawer]{position:static;box-shadow:none;max-height:16rem}}.Ink-Editor[data-color-mode=light]{--ink-border: #e5e7eb;--ink-bg: #ffffff;--ink-toolbar: #f8fafc;--ink-text: #0f172a;--ink-muted: #64748b;--ink-accent: #0d9488;--ink-accent-soft: #ccfbf1;--ink-shadow: 0 10px 40px rgba(15, 23, 42, 0.08);--ink-table-header: #f1f5f9}.Ink-Editor[data-color-mode=dark]{--ink-border: #3f3f46;--ink-bg: #18181b;--ink-toolbar: #27272a;--ink-text: #f4f4f5;--ink-muted: #a1a1aa;--ink-accent: #2dd4bf;--ink-accent-soft: rgba(45, 212, 191, 0.15);--ink-shadow: 0 10px 40px rgba(0, 0, 0, 0.35);--ink-table-header: #27272a}@media(prefers-color-scheme: dark){.Ink-Editor:not([data-color-mode]){--ink-border: #3f3f46;--ink-bg: #18181b;--ink-toolbar: #27272a;--ink-text: #f4f4f5;--ink-muted: #a1a1aa;--ink-accent: #2dd4bf;--ink-accent-soft: rgba(45, 212, 191, 0.15);--ink-shadow: 0 10px 40px rgba(0, 0, 0, 0.35);--ink-table-header: #27272a}}.ink-theme-snow .Ink-Editor,.Ink-Editor.ink-theme-snow{--ink-border: #e5e7eb;--ink-bg: #ffffff;--ink-toolbar: #f9fafb;--ink-text: #111827;--ink-muted: #6b7280;--ink-accent: #0f766e;--ink-accent-soft: #ccfbf1;border-radius:.75rem}.ink-theme-bubble .Ink-Editor,.Ink-Editor.ink-theme-bubble{--ink-border: transparent;--ink-bg: #ffffff;--ink-toolbar: #ffffff;--ink-text: #111827;--ink-muted: #6b7280;--ink-accent: #0f766e;--ink-accent-soft: #ccfbf1;box-shadow:0 4px 24px rgba(15,23,42,.1);border-radius:1rem}.ink-theme-dark .Ink-Editor,.Ink-Editor.ink-theme-dark{--ink-border: #3f3f46;--ink-bg: #18181b;--ink-toolbar: #27272a;--ink-text: #f4f4f5;--ink-muted: #a1a1aa;--ink-accent: #2dd4bf;--ink-accent-soft: rgb(45 212 191 / 0.15);--ink-table-header: #27272a}.ink-theme-minimal .Ink-Editor,.Ink-Editor.ink-theme-minimal{--ink-border: #e7e5e4;--ink-bg: #ffffff;--ink-toolbar: #ffffff;--ink-text: #1c1917;--ink-muted: #78716c;--ink-accent: #0f766e;--ink-accent-soft: #f0fdfa;box-shadow:none;border-radius:0}.ink-theme-minimal .Ink-Editor__toolbar,.ink-theme-minimal.Ink-Editor .Ink-Editor__toolbar{border-bottom:1px solid var(--ink-border)}.Ink-SignPad,.Ink-FindReplace{border-bottom-color:var(--ink-border);background:var(--ink-toolbar);color:var(--ink-text)}.Ink-SignPad__title,.Ink-FindReplace__title{color:var(--ink-text)}.Ink-SignPad__canvas{max-width:480px;height:180px;border-color:var(--ink-border);touch-action:none}.Ink-FindReplace__field{display:flex;flex-direction:column;flex-wrap:nowrap;gap:.25rem;font-size:.875rem;color:var(--ink-muted)}.Ink-FindReplace__field input{border:1px solid var(--ink-border);border-radius:.4rem;padding:.4rem .55rem;background:var(--ink-bg);color:var(--ink-text);font:inherit}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.p-3{padding:.75rem}.m-0{margin:0}.w-full{width:100%}.max-w-xl{max-width:36rem}.h-44{height:11rem}.border{border-width:1px;border-style:solid}.border-b{border-bottom-width:1px;border-bottom-style:solid}.border-dashed{border-style:dashed}.rounded-lg{border-radius:.5rem}.bg-white{background-color:#fff}.cursor-crosshair{cursor:crosshair}.text-sm{font-size:.875rem}.font-semibold{font-weight:600}
@@ -1,6 +1,6 @@
1
1
  export type InkFeatureName = 'table' | 'trackChanges' | 'comments' | 'ai' | 'blocks' | 'slash' | 'history' | 'typoAutoFix' | 'signature' | 'findReplace' | 'horizontalRule';
2
2
  export type InkFeaturesConfig = Partial<Record<InkFeatureName, boolean>>;
3
- export type InkEditorVariant = 'classic' | 'document';
3
+ export type InkEditorVariant = 'classic' | 'document' | 'simple' | 'agent' | 'docx' | 'notion-like';
4
4
  export type InkEditorChrome = 'boxed' | 'borderless';
5
5
  export type InkColorMode = 'light' | 'dark' | 'system';
6
6
  export type InkAiPlacement = 'sidebar' | 'drawer' | 'floating';
@@ -1 +1 @@
1
- {"version":3,"file":"features.types.d.ts","sourceRoot":"","sources":["../../src/types/features.types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GACtB,OAAO,GACP,cAAc,GACd,UAAU,GACV,IAAI,GACJ,QAAQ,GACR,OAAO,GACP,SAAS,GACT,aAAa,GACb,WAAW,GACX,aAAa,GACb,gBAAgB,CAAC;AAErB,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;AAEzE,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,UAAU,CAAC;AAEtD,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,YAAY,CAAC;AAErD,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEvD,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC"}
1
+ {"version":3,"file":"features.types.d.ts","sourceRoot":"","sources":["../../src/types/features.types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GACtB,OAAO,GACP,cAAc,GACd,UAAU,GACV,IAAI,GACJ,QAAQ,GACR,OAAO,GACP,SAAS,GACT,aAAa,GACb,WAAW,GACX,aAAa,GACb,gBAAgB,CAAC;AAErB,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;AAEzE,MAAM,MAAM,gBAAgB,GACxB,SAAS,GACT,UAAU,GACV,QAAQ,GACR,OAAO,GACP,MAAM,GACN,aAAa,CAAC;AAElB,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,YAAY,CAAC;AAErD,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEvD,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forgedevstack/ink",
3
- "version": "1.1.4",
3
+ "version": "1.1.6",
4
4
  "description": "ForgeStack rich text editor for React — WYSIWYG with tables, track changes, comments, block handles, sign pad, and pluggable Ink AI (BYO LLM). The writing layer of ForgeStack.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",