@forgedevstack/ink 1.0.0 → 1.1.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.
- package/CHANGELOG.md +34 -0
- package/README.md +103 -38
- package/dist/components/InkEditor/InkEditor.cjs +1 -1
- package/dist/components/InkEditor/InkEditor.d.ts.map +1 -1
- package/dist/components/InkEditor/InkEditor.js +495 -156
- package/dist/components/InkEditor/components/AiPanel/AiPanel.cjs +1 -0
- package/dist/components/InkEditor/components/AiPanel/AiPanel.d.ts +11 -0
- package/dist/components/InkEditor/components/AiPanel/AiPanel.d.ts.map +1 -0
- package/dist/components/InkEditor/components/AiPanel/AiPanel.js +178 -0
- package/dist/components/InkEditor/components/AiPanel/index.d.ts +3 -0
- package/dist/components/InkEditor/components/AiPanel/index.d.ts.map +1 -0
- package/dist/components/InkEditor/components/BlockHandles/BlockHandles.cjs +1 -0
- package/dist/components/InkEditor/components/BlockHandles/BlockHandles.d.ts +9 -0
- package/dist/components/InkEditor/components/BlockHandles/BlockHandles.d.ts.map +1 -0
- package/dist/components/InkEditor/components/BlockHandles/BlockHandles.js +12 -0
- package/dist/components/InkEditor/components/BlockHandles/index.d.ts +3 -0
- package/dist/components/InkEditor/components/BlockHandles/index.d.ts.map +1 -0
- package/dist/components/InkEditor/components/CommentsPanel/CommentsPanel.cjs +1 -0
- package/dist/components/InkEditor/components/CommentsPanel/CommentsPanel.d.ts +11 -0
- package/dist/components/InkEditor/components/CommentsPanel/CommentsPanel.d.ts.map +1 -0
- package/dist/components/InkEditor/components/CommentsPanel/CommentsPanel.js +61 -0
- package/dist/components/InkEditor/components/CommentsPanel/index.d.ts +3 -0
- package/dist/components/InkEditor/components/CommentsPanel/index.d.ts.map +1 -0
- package/dist/components/InkEditor/components/SlashMenu/SlashMenu.cjs +1 -0
- package/dist/components/InkEditor/components/SlashMenu/SlashMenu.d.ts +10 -0
- package/dist/components/InkEditor/components/SlashMenu/SlashMenu.d.ts.map +1 -0
- package/dist/components/InkEditor/components/SlashMenu/SlashMenu.js +20 -0
- package/dist/components/InkEditor/components/SlashMenu/index.d.ts +3 -0
- package/dist/components/InkEditor/components/SlashMenu/index.d.ts.map +1 -0
- package/dist/components/InkEditor/components/TrackChangesBar/TrackChangesBar.cjs +1 -0
- package/dist/components/InkEditor/components/TrackChangesBar/TrackChangesBar.d.ts +11 -0
- package/dist/components/InkEditor/components/TrackChangesBar/TrackChangesBar.d.ts.map +1 -0
- package/dist/components/InkEditor/components/TrackChangesBar/TrackChangesBar.js +27 -0
- package/dist/components/InkEditor/components/TrackChangesBar/index.d.ts +3 -0
- package/dist/components/InkEditor/components/TrackChangesBar/index.d.ts.map +1 -0
- package/dist/components/InkEditor/components/index.d.ts +5 -0
- package/dist/components/InkEditor/components/index.d.ts.map +1 -1
- package/dist/constants/aiModels.const.cjs +1 -0
- package/dist/constants/aiModels.const.d.ts +5 -0
- package/dist/constants/aiModels.const.d.ts.map +1 -0
- package/dist/constants/aiModels.const.js +31 -0
- package/dist/constants/defaults.const.cjs +1 -1
- package/dist/constants/defaults.const.d.ts +32 -1
- package/dist/constants/defaults.const.d.ts.map +1 -1
- package/dist/constants/defaults.const.js +124 -20
- package/dist/constants/index.d.ts +1 -0
- package/dist/constants/index.d.ts.map +1 -1
- package/dist/constants/numbers.const.cjs +1 -1
- package/dist/constants/numbers.const.d.ts +13 -0
- package/dist/constants/numbers.const.d.ts.map +1 -1
- package/dist/constants/numbers.const.js +13 -3
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +32 -13
- package/dist/plugins/ai/aiPlugin.cjs +1 -1
- package/dist/plugins/ai/aiPlugin.d.ts.map +1 -1
- package/dist/plugins/ai/aiPlugin.js +40 -18
- package/dist/plugins/ai/demoProvider.cjs +1 -0
- package/dist/plugins/ai/demoProvider.d.ts +3 -0
- package/dist/plugins/ai/demoProvider.d.ts.map +1 -0
- package/dist/plugins/ai/demoProvider.js +130 -0
- package/dist/plugins/ai/index.cjs +1 -1
- package/dist/plugins/ai/index.d.ts +4 -1
- package/dist/plugins/ai/index.d.ts.map +1 -1
- package/dist/plugins/ai/index.js +15 -3
- package/dist/plugins/ai/stubs.cjs +1 -0
- package/dist/plugins/ai/stubs.d.ts +7 -0
- package/dist/plugins/ai/stubs.d.ts.map +1 -0
- package/dist/plugins/ai/stubs.js +23 -0
- package/dist/styles.css +515 -16
- package/dist/types/ai.types.d.ts +111 -2
- package/dist/types/ai.types.d.ts.map +1 -1
- package/dist/types/comments.types.d.ts +17 -0
- package/dist/types/comments.types.d.ts.map +1 -0
- package/dist/types/features.types.d.ts +5 -0
- package/dist/types/features.types.d.ts.map +1 -0
- package/dist/types/index.d.ts +5 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/ink.types.d.ts +26 -1
- package/dist/types/ink.types.d.ts.map +1 -1
- package/dist/types/trackChanges.types.d.ts +12 -0
- package/dist/types/trackChanges.types.d.ts.map +1 -0
- package/dist/utils/blocks.utils.cjs +1 -0
- package/dist/utils/blocks.utils.d.ts +4 -0
- package/dist/utils/blocks.utils.d.ts.map +1 -0
- package/dist/utils/blocks.utils.js +41 -0
- package/dist/utils/comments.utils.cjs +1 -0
- package/dist/utils/comments.utils.d.ts +5 -0
- package/dist/utils/comments.utils.d.ts.map +1 -0
- package/dist/utils/comments.utils.js +32 -0
- package/dist/utils/history.utils.cjs +1 -0
- package/dist/utils/history.utils.d.ts +13 -0
- package/dist/utils/history.utils.d.ts.map +1 -0
- package/dist/utils/history.utils.js +29 -0
- package/dist/utils/id.utils.cjs +1 -0
- package/dist/utils/id.utils.d.ts +2 -0
- package/dist/utils/id.utils.d.ts.map +1 -0
- package/dist/utils/id.utils.js +4 -0
- package/dist/utils/index.d.ts +7 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/slash.utils.cjs +1 -0
- package/dist/utils/slash.utils.d.ts +4 -0
- package/dist/utils/slash.utils.d.ts.map +1 -0
- package/dist/utils/slash.utils.js +13 -0
- package/dist/utils/table.utils.cjs +1 -0
- package/dist/utils/table.utils.d.ts +2 -0
- package/dist/utils/table.utils.d.ts.map +1 -0
- package/dist/utils/table.utils.js +13 -0
- package/dist/utils/trackChanges.utils.cjs +1 -0
- package/dist/utils/trackChanges.utils.d.ts +7 -0
- package/dist/utils/trackChanges.utils.d.ts.map +1 -0
- package/dist/utils/trackChanges.utils.js +34 -0
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),i=require("react"),I=require("../../../../constants/defaults.const.cjs"),O=require("../../../../constants/aiModels.const.cjs"),P=require("../../../../plugins/ai/aiPlugin.cjs"),C=require("../../../../utils/id.utils.cjs"),G=w=>{var p,N,f,y;const{config:s,documentHtml:k,selectionHtml:v,onApplyHtml:T,onClose:b}=w,[a,L]=i.useState("chat"),[x,g]=i.useState(""),[o,_]=i.useState([]),[l,j]=i.useState(!1),[r,h]=i.useState(null),[H,D]=i.useState([]),[A,M]=i.useState(I.INK_TRANSLATE_LANGUAGES[1]),R=s.providerId||O.INK_AI_DEMO_PROVIDER_ID,q=((p=s.uiTheme)==null?void 0:p.className)||s.className||"",c=async(t,d,u)=>{var S;j(!0);try{const E=t==="chat"&&u?[...o,{id:C.createInkId("turn"),role:"user",content:u,timestamp:Date.now(),capability:t}]:o;t==="chat"&&u&&_(E);const n=await P.inkAi.runProvider(R,{capability:t,html:k,selectionHtml:v||void 0,prompt:u,history:E,options:d,modelId:s.modelId,documentSnapshot:{html:k,selectionHtml:v||void 0}});(S=n.turns)!=null&&S.length?_(m=>[...m,...n.turns]):n.text&&t!=="chat"&&_(m=>[...m,{id:C.createInkId("turn"),role:"assistant",content:n.text||"",timestamp:Date.now(),capability:t}]),n.diff&&h(n.diff),n.reviewSuggestions&&D(n.reviewSuggestions)}finally{j(!1)}},K=t=>{t.preventDefault();const d=x.trim();!d||l||(g(""),c("chat",void 0,d))};return e.jsxs("aside",{className:`Ink-Ai ${q}`.trim(),"data-placement":s.placement||"sidebar",style:{"--ink-ai-accent":(N=s.uiTheme)==null?void 0:N.accent,"--ink-ai-surface":(f=s.uiTheme)==null?void 0:f.surface,"--ink-ai-border":(y=s.uiTheme)==null?void 0:y.border},"aria-label":"Ink AI",children:[e.jsxs("div",{className:"Ink-Ai__header",children:[e.jsx("strong",{children:"Ink AI"}),b?e.jsx("button",{type:"button",className:"Ink-Editor__button",onClick:b,title:"Close AI",children:"×"}):null]}),e.jsx("div",{className:"Ink-Ai__tabs",role:"tablist",children:["chat","actions","review","translate"].map(t=>e.jsx("button",{type:"button",role:"tab",className:`Ink-Editor__button${a===t?" Ink-Editor__button--active":""}`,"aria-selected":a===t,onClick:()=>L(t),children:t},t))}),e.jsxs("div",{className:"Ink-Ai__body",children:[a==="chat"?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"Ink-Ai__history",children:o.length===0?e.jsxs("p",{className:"Ink-Ai__empty",children:["Multi-turn chat with local demo provider. Bring your own LLM via"," ",e.jsx("code",{children:"inkAi.registerProvider"}),"."]}):o.map(t=>e.jsxs("div",{className:`Ink-Ai__turn Ink-Ai__turn--${t.role}`,children:[e.jsx("span",{children:t.role}),e.jsx("p",{children:t.content})]},t.id))}),e.jsxs("form",{className:"Ink-Ai__form",onSubmit:K,children:[e.jsx("input",{value:x,onChange:t=>g(t.target.value),placeholder:"Ask Ink AI…",disabled:l}),e.jsx("button",{type:"submit",className:"Ink-Editor__button Ink-Editor__button--active",disabled:l,children:"Send"})]})]}):null,a==="actions"?e.jsxs("div",{className:"Ink-Ai__actions",children:[e.jsx("p",{className:"Ink-Ai__hint",children:"Quick actions use the current selection (or full document)."}),I.INK_QUICK_ACTIONS.map(t=>e.jsx("button",{type:"button",className:"Ink-Editor__button Ink-Ai__action",disabled:l,onClick:()=>void c(t.capability),children:t.label},t.id))]}):null,a==="review"?e.jsxs("div",{className:"Ink-Ai__review",children:[e.jsx("button",{type:"button",className:"Ink-Editor__button Ink-Editor__button--active",disabled:l,onClick:()=>void c("review"),children:"Run grammar & style review"}),H.map(t=>e.jsxs("article",{className:`Ink-Ai__suggestion Ink-Ai__suggestion--${t.severity}`,children:[e.jsx("strong",{children:t.severity}),e.jsx("p",{children:t.message}),e.jsx("code",{children:t.suggestedText})]},t.id))]}):null,a==="translate"?e.jsxs("div",{className:"Ink-Ai__translate",children:[e.jsxs("label",{children:["Language",e.jsx("select",{value:A,onChange:t=>M(t.target.value),children:I.INK_TRANSLATE_LANGUAGES.map(t=>e.jsx("option",{value:t,children:t},t))})]}),e.jsx("button",{type:"button",className:"Ink-Editor__button Ink-Editor__button--active",disabled:l,onClick:()=>void c("translate",{language:A}),children:"Translate"})]}):null,r?e.jsxs("div",{className:"Ink-Ai__diff",children:[e.jsx("strong",{children:"Suggested change"}),e.jsx("p",{children:r.summary}),e.jsx("div",{className:"Ink-Ai__diff-preview",dangerouslySetInnerHTML:{__html:r.suggestedHtml}}),e.jsxs("div",{className:"Ink-Ai__diff-actions",children:[e.jsx("button",{type:"button",className:"Ink-Editor__button Ink-Editor__button--active",onClick:()=>{T(r.suggestedHtml),h(null)},children:"Apply"}),e.jsx("button",{type:"button",className:"Ink-Editor__button",onClick:()=>h(null),children:"Dismiss"})]})]}):null]}),e.jsx("footer",{className:"Ink-Ai__footer",children:"Demo provider · BYO LLM"})]})};exports.AiPanel=G;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { InkAiConfig } from '../../../../types';
|
|
3
|
+
export interface AiPanelProps {
|
|
4
|
+
config: InkAiConfig;
|
|
5
|
+
documentHtml: string;
|
|
6
|
+
selectionHtml: string;
|
|
7
|
+
onApplyHtml: (html: string) => void;
|
|
8
|
+
onClose?: () => void;
|
|
9
|
+
}
|
|
10
|
+
export declare const AiPanel: FC<AiPanelProps>;
|
|
11
|
+
//# sourceMappingURL=AiPanel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AiPanel.d.ts","sourceRoot":"","sources":["../../../../../src/components/InkEditor/components/AiPanel/AiPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,EAAE,EAAkB,MAAM,OAAO,CAAC;AAM1D,OAAO,KAAK,EAEV,WAAW,EAGZ,MAAM,mBAAmB,CAAC;AAI3B,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,WAAW,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAID,eAAO,MAAM,OAAO,EAAE,EAAE,CAAC,YAAY,CA6NpC,CAAC"}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import { jsxs as n, jsx as t, Fragment as j } from "react/jsx-runtime";
|
|
2
|
+
import { useState as l } from "react";
|
|
3
|
+
import { INK_TRANSLATE_LANGUAGES as T, INK_QUICK_ACTIONS as G } from "../../../../constants/defaults.const.js";
|
|
4
|
+
import { INK_AI_DEMO_PROVIDER_ID as P } from "../../../../constants/aiModels.const.js";
|
|
5
|
+
import { inkAi as Q } from "../../../../plugins/ai/aiPlugin.js";
|
|
6
|
+
import { createInkId as H } from "../../../../utils/id.utils.js";
|
|
7
|
+
const J = (D) => {
|
|
8
|
+
var N, y, E, C;
|
|
9
|
+
const { config: i, documentHtml: k, selectionHtml: v, onApplyHtml: L, onClose: b } = D, [a, x] = l("chat"), [p, g] = l(""), [r, _] = l([]), [o, f] = l(!1), [c, h] = l(null), [M, R] = l([]), [A, K] = l(T[1]), O = i.providerId || P, $ = ((N = i.uiTheme) == null ? void 0 : N.className) || i.className || "", d = async (e, u, m) => {
|
|
10
|
+
var w;
|
|
11
|
+
f(!0);
|
|
12
|
+
try {
|
|
13
|
+
const S = e === "chat" && m ? [
|
|
14
|
+
...r,
|
|
15
|
+
{
|
|
16
|
+
id: H("turn"),
|
|
17
|
+
role: "user",
|
|
18
|
+
content: m,
|
|
19
|
+
timestamp: Date.now(),
|
|
20
|
+
capability: e
|
|
21
|
+
}
|
|
22
|
+
] : r;
|
|
23
|
+
e === "chat" && m && _(S);
|
|
24
|
+
const s = await Q.runProvider(O, {
|
|
25
|
+
capability: e,
|
|
26
|
+
html: k,
|
|
27
|
+
selectionHtml: v || void 0,
|
|
28
|
+
prompt: m,
|
|
29
|
+
history: S,
|
|
30
|
+
options: u,
|
|
31
|
+
modelId: i.modelId,
|
|
32
|
+
documentSnapshot: { html: k, selectionHtml: v || void 0 }
|
|
33
|
+
});
|
|
34
|
+
(w = s.turns) != null && w.length ? _((I) => [...I, ...s.turns]) : s.text && e !== "chat" && _((I) => [
|
|
35
|
+
...I,
|
|
36
|
+
{
|
|
37
|
+
id: H("turn"),
|
|
38
|
+
role: "assistant",
|
|
39
|
+
content: s.text || "",
|
|
40
|
+
timestamp: Date.now(),
|
|
41
|
+
capability: e
|
|
42
|
+
}
|
|
43
|
+
]), s.diff && h(s.diff), s.reviewSuggestions && R(s.reviewSuggestions);
|
|
44
|
+
} finally {
|
|
45
|
+
f(!1);
|
|
46
|
+
}
|
|
47
|
+
}, B = (e) => {
|
|
48
|
+
e.preventDefault();
|
|
49
|
+
const u = p.trim();
|
|
50
|
+
!u || o || (g(""), d("chat", void 0, u));
|
|
51
|
+
};
|
|
52
|
+
return /* @__PURE__ */ n(
|
|
53
|
+
"aside",
|
|
54
|
+
{
|
|
55
|
+
className: `Ink-Ai ${$}`.trim(),
|
|
56
|
+
"data-placement": i.placement || "sidebar",
|
|
57
|
+
style: {
|
|
58
|
+
"--ink-ai-accent": (y = i.uiTheme) == null ? void 0 : y.accent,
|
|
59
|
+
"--ink-ai-surface": (E = i.uiTheme) == null ? void 0 : E.surface,
|
|
60
|
+
"--ink-ai-border": (C = i.uiTheme) == null ? void 0 : C.border
|
|
61
|
+
},
|
|
62
|
+
"aria-label": "Ink AI",
|
|
63
|
+
children: [
|
|
64
|
+
/* @__PURE__ */ n("div", { className: "Ink-Ai__header", children: [
|
|
65
|
+
/* @__PURE__ */ t("strong", { children: "Ink AI" }),
|
|
66
|
+
b ? /* @__PURE__ */ t("button", { type: "button", className: "Ink-Editor__button", onClick: b, title: "Close AI", children: "×" }) : null
|
|
67
|
+
] }),
|
|
68
|
+
/* @__PURE__ */ t("div", { className: "Ink-Ai__tabs", role: "tablist", children: ["chat", "actions", "review", "translate"].map((e) => /* @__PURE__ */ t(
|
|
69
|
+
"button",
|
|
70
|
+
{
|
|
71
|
+
type: "button",
|
|
72
|
+
role: "tab",
|
|
73
|
+
className: `Ink-Editor__button${a === e ? " Ink-Editor__button--active" : ""}`,
|
|
74
|
+
"aria-selected": a === e,
|
|
75
|
+
onClick: () => x(e),
|
|
76
|
+
children: e
|
|
77
|
+
},
|
|
78
|
+
e
|
|
79
|
+
)) }),
|
|
80
|
+
/* @__PURE__ */ n("div", { className: "Ink-Ai__body", children: [
|
|
81
|
+
a === "chat" ? /* @__PURE__ */ n(j, { children: [
|
|
82
|
+
/* @__PURE__ */ t("div", { className: "Ink-Ai__history", children: r.length === 0 ? /* @__PURE__ */ n("p", { className: "Ink-Ai__empty", children: [
|
|
83
|
+
"Multi-turn chat with local demo provider. Bring your own LLM via",
|
|
84
|
+
" ",
|
|
85
|
+
/* @__PURE__ */ t("code", { children: "inkAi.registerProvider" }),
|
|
86
|
+
"."
|
|
87
|
+
] }) : r.map((e) => /* @__PURE__ */ n("div", { className: `Ink-Ai__turn Ink-Ai__turn--${e.role}`, children: [
|
|
88
|
+
/* @__PURE__ */ t("span", { children: e.role }),
|
|
89
|
+
/* @__PURE__ */ t("p", { children: e.content })
|
|
90
|
+
] }, e.id)) }),
|
|
91
|
+
/* @__PURE__ */ n("form", { className: "Ink-Ai__form", onSubmit: B, children: [
|
|
92
|
+
/* @__PURE__ */ t(
|
|
93
|
+
"input",
|
|
94
|
+
{
|
|
95
|
+
value: p,
|
|
96
|
+
onChange: (e) => g(e.target.value),
|
|
97
|
+
placeholder: "Ask Ink AI…",
|
|
98
|
+
disabled: o
|
|
99
|
+
}
|
|
100
|
+
),
|
|
101
|
+
/* @__PURE__ */ t("button", { type: "submit", className: "Ink-Editor__button Ink-Editor__button--active", disabled: o, children: "Send" })
|
|
102
|
+
] })
|
|
103
|
+
] }) : null,
|
|
104
|
+
a === "actions" ? /* @__PURE__ */ n("div", { className: "Ink-Ai__actions", children: [
|
|
105
|
+
/* @__PURE__ */ t("p", { className: "Ink-Ai__hint", children: "Quick actions use the current selection (or full document)." }),
|
|
106
|
+
G.map((e) => /* @__PURE__ */ t(
|
|
107
|
+
"button",
|
|
108
|
+
{
|
|
109
|
+
type: "button",
|
|
110
|
+
className: "Ink-Editor__button Ink-Ai__action",
|
|
111
|
+
disabled: o,
|
|
112
|
+
onClick: () => void d(e.capability),
|
|
113
|
+
children: e.label
|
|
114
|
+
},
|
|
115
|
+
e.id
|
|
116
|
+
))
|
|
117
|
+
] }) : null,
|
|
118
|
+
a === "review" ? /* @__PURE__ */ n("div", { className: "Ink-Ai__review", children: [
|
|
119
|
+
/* @__PURE__ */ t(
|
|
120
|
+
"button",
|
|
121
|
+
{
|
|
122
|
+
type: "button",
|
|
123
|
+
className: "Ink-Editor__button Ink-Editor__button--active",
|
|
124
|
+
disabled: o,
|
|
125
|
+
onClick: () => void d("review"),
|
|
126
|
+
children: "Run grammar & style review"
|
|
127
|
+
}
|
|
128
|
+
),
|
|
129
|
+
M.map((e) => /* @__PURE__ */ n("article", { className: `Ink-Ai__suggestion Ink-Ai__suggestion--${e.severity}`, children: [
|
|
130
|
+
/* @__PURE__ */ t("strong", { children: e.severity }),
|
|
131
|
+
/* @__PURE__ */ t("p", { children: e.message }),
|
|
132
|
+
/* @__PURE__ */ t("code", { children: e.suggestedText })
|
|
133
|
+
] }, e.id))
|
|
134
|
+
] }) : null,
|
|
135
|
+
a === "translate" ? /* @__PURE__ */ n("div", { className: "Ink-Ai__translate", children: [
|
|
136
|
+
/* @__PURE__ */ n("label", { children: [
|
|
137
|
+
"Language",
|
|
138
|
+
/* @__PURE__ */ t("select", { value: A, onChange: (e) => K(e.target.value), children: T.map((e) => /* @__PURE__ */ t("option", { value: e, children: e }, e)) })
|
|
139
|
+
] }),
|
|
140
|
+
/* @__PURE__ */ t(
|
|
141
|
+
"button",
|
|
142
|
+
{
|
|
143
|
+
type: "button",
|
|
144
|
+
className: "Ink-Editor__button Ink-Editor__button--active",
|
|
145
|
+
disabled: o,
|
|
146
|
+
onClick: () => void d("translate", { language: A }),
|
|
147
|
+
children: "Translate"
|
|
148
|
+
}
|
|
149
|
+
)
|
|
150
|
+
] }) : null,
|
|
151
|
+
c ? /* @__PURE__ */ n("div", { className: "Ink-Ai__diff", children: [
|
|
152
|
+
/* @__PURE__ */ t("strong", { children: "Suggested change" }),
|
|
153
|
+
/* @__PURE__ */ t("p", { children: c.summary }),
|
|
154
|
+
/* @__PURE__ */ t("div", { className: "Ink-Ai__diff-preview", dangerouslySetInnerHTML: { __html: c.suggestedHtml } }),
|
|
155
|
+
/* @__PURE__ */ n("div", { className: "Ink-Ai__diff-actions", children: [
|
|
156
|
+
/* @__PURE__ */ t(
|
|
157
|
+
"button",
|
|
158
|
+
{
|
|
159
|
+
type: "button",
|
|
160
|
+
className: "Ink-Editor__button Ink-Editor__button--active",
|
|
161
|
+
onClick: () => {
|
|
162
|
+
L(c.suggestedHtml), h(null);
|
|
163
|
+
},
|
|
164
|
+
children: "Apply"
|
|
165
|
+
}
|
|
166
|
+
),
|
|
167
|
+
/* @__PURE__ */ t("button", { type: "button", className: "Ink-Editor__button", onClick: () => h(null), children: "Dismiss" })
|
|
168
|
+
] })
|
|
169
|
+
] }) : null
|
|
170
|
+
] }),
|
|
171
|
+
/* @__PURE__ */ t("footer", { className: "Ink-Ai__footer", children: "Demo provider · BYO LLM" })
|
|
172
|
+
]
|
|
173
|
+
}
|
|
174
|
+
);
|
|
175
|
+
};
|
|
176
|
+
export {
|
|
177
|
+
J as AiPanel
|
|
178
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/InkEditor/components/AiPanel/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),c=t=>{const{visible:n,top:l,onMoveUp:o,onMoveDown:s}=t;return n?e.jsxs("div",{className:"Ink-BlockHandles",style:{top:l},"aria-hidden":!n,children:[e.jsx("button",{type:"button",className:"Ink-BlockHandles__grip",title:"Block",tabIndex:-1,children:"⋮⋮"}),e.jsx("button",{type:"button",className:"Ink-BlockHandles__btn",title:"Move block up",onClick:o,children:"↑"}),e.jsx("button",{type:"button",className:"Ink-BlockHandles__btn",title:"Move block down",onClick:s,children:"↓"})]}):null};exports.BlockHandles=c;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BlockHandles.d.ts","sourceRoot":"","sources":["../../../../../src/components/InkEditor/components/BlockHandles/BlockHandles.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAEhC,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,iBAAiB,CAgB9C,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { jsxs as s, jsx as n } from "react/jsx-runtime";
|
|
2
|
+
const a = (e) => {
|
|
3
|
+
const { visible: t, top: l, onMoveUp: o, onMoveDown: c } = e;
|
|
4
|
+
return t ? /* @__PURE__ */ s("div", { className: "Ink-BlockHandles", style: { top: l }, "aria-hidden": !t, children: [
|
|
5
|
+
/* @__PURE__ */ n("button", { type: "button", className: "Ink-BlockHandles__grip", title: "Block", tabIndex: -1, children: "⋮⋮" }),
|
|
6
|
+
/* @__PURE__ */ n("button", { type: "button", className: "Ink-BlockHandles__btn", title: "Move block up", onClick: o, children: "↑" }),
|
|
7
|
+
/* @__PURE__ */ n("button", { type: "button", className: "Ink-BlockHandles__btn", title: "Move block down", onClick: c, children: "↓" })
|
|
8
|
+
] }) : null;
|
|
9
|
+
};
|
|
10
|
+
export {
|
|
11
|
+
a as BlockHandles
|
|
12
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/InkEditor/components/BlockHandles/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),j=require("react"),x=c=>{const{comments:o,author:r,onAddReply:d,onResolve:_,onClose:l}=c,[a,m]=j.useState({}),u=(s,n)=>{var i;s.preventDefault();const t=(i=a[n])==null?void 0:i.trim();t&&(d(n,t),m(h=>({...h,[n]:""})))};return e.jsxs("aside",{className:"Ink-Comments","aria-label":"Comments archive",children:[e.jsxs("div",{className:"Ink-Comments__header",children:[e.jsx("strong",{children:"Comments archive"}),l?e.jsx("button",{type:"button",className:"Ink-Editor__button",onClick:l,title:"Close",children:"×"}):null]}),e.jsx("div",{className:"Ink-Comments__list",children:o.length===0?e.jsx("p",{className:"Ink-Comments__empty",children:"Select text and add a comment to start a thread."}):o.map(s=>e.jsxs("article",{className:`Ink-Comments__thread${s.resolved?" Ink-Comments__thread--resolved":""}`,children:[e.jsxs("header",{className:"Ink-Comments__meta",children:[e.jsx("span",{children:s.author}),e.jsx("time",{children:new Date(s.timestamp).toLocaleString()})]}),e.jsx("p",{className:"Ink-Comments__body",children:s.body}),s.replies.map(n=>e.jsxs("div",{className:"Ink-Comments__reply",children:[e.jsxs("header",{className:"Ink-Comments__meta",children:[e.jsx("span",{children:n.author}),e.jsx("time",{children:new Date(n.timestamp).toLocaleString()})]}),e.jsx("p",{className:"Ink-Comments__body",children:n.body})]},n.id)),s.resolved?e.jsx("p",{className:"Ink-Comments__resolved",children:"Resolved"}):e.jsxs("form",{className:"Ink-Comments__form",onSubmit:n=>u(n,s.id),children:[e.jsx("input",{value:a[s.id]??"",onChange:n=>m(t=>({...t,[s.id]:n.target.value})),placeholder:`Reply as ${r}…`,"aria-label":`Reply to ${s.author}`}),e.jsx("button",{type:"submit",className:"Ink-Editor__button Ink-Editor__button--active",children:"Reply"}),e.jsx("button",{type:"button",className:"Ink-Editor__button",onClick:()=>_(s.id),children:"Resolve"})]})]},s.id))})]})};exports.CommentsPanel=x;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { InkCommentThread } from '../../../../types';
|
|
3
|
+
export interface CommentsPanelProps {
|
|
4
|
+
comments: InkCommentThread[];
|
|
5
|
+
author: string;
|
|
6
|
+
onAddReply: (threadId: string, body: string) => void;
|
|
7
|
+
onResolve: (threadId: string) => void;
|
|
8
|
+
onClose?: () => void;
|
|
9
|
+
}
|
|
10
|
+
export declare const CommentsPanel: FC<CommentsPanelProps>;
|
|
11
|
+
//# sourceMappingURL=CommentsPanel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CommentsPanel.d.ts","sourceRoot":"","sources":["../../../../../src/components/InkEditor/components/CommentsPanel/CommentsPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,EAAE,EAAkB,MAAM,OAAO,CAAC;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,kBAAkB,CA2EhD,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { jsxs as s, jsx as n } from "react/jsx-runtime";
|
|
2
|
+
import { useState as C } from "react";
|
|
3
|
+
const v = (r) => {
|
|
4
|
+
const { comments: m, author: d, onAddReply: _, onResolve: p, onClose: l } = r, [a, i] = C({}), h = (e, t) => {
|
|
5
|
+
var c;
|
|
6
|
+
e.preventDefault();
|
|
7
|
+
const o = (c = a[t]) == null ? void 0 : c.trim();
|
|
8
|
+
o && (_(t, o), i((u) => ({ ...u, [t]: "" })));
|
|
9
|
+
};
|
|
10
|
+
return /* @__PURE__ */ s("aside", { className: "Ink-Comments", "aria-label": "Comments archive", children: [
|
|
11
|
+
/* @__PURE__ */ s("div", { className: "Ink-Comments__header", children: [
|
|
12
|
+
/* @__PURE__ */ n("strong", { children: "Comments archive" }),
|
|
13
|
+
l ? /* @__PURE__ */ n("button", { type: "button", className: "Ink-Editor__button", onClick: l, title: "Close", children: "×" }) : null
|
|
14
|
+
] }),
|
|
15
|
+
/* @__PURE__ */ n("div", { className: "Ink-Comments__list", children: m.length === 0 ? /* @__PURE__ */ n("p", { className: "Ink-Comments__empty", children: "Select text and add a comment to start a thread." }) : m.map((e) => /* @__PURE__ */ s(
|
|
16
|
+
"article",
|
|
17
|
+
{
|
|
18
|
+
className: `Ink-Comments__thread${e.resolved ? " Ink-Comments__thread--resolved" : ""}`,
|
|
19
|
+
children: [
|
|
20
|
+
/* @__PURE__ */ s("header", { className: "Ink-Comments__meta", children: [
|
|
21
|
+
/* @__PURE__ */ n("span", { children: e.author }),
|
|
22
|
+
/* @__PURE__ */ n("time", { children: new Date(e.timestamp).toLocaleString() })
|
|
23
|
+
] }),
|
|
24
|
+
/* @__PURE__ */ n("p", { className: "Ink-Comments__body", children: e.body }),
|
|
25
|
+
e.replies.map((t) => /* @__PURE__ */ s("div", { className: "Ink-Comments__reply", children: [
|
|
26
|
+
/* @__PURE__ */ s("header", { className: "Ink-Comments__meta", children: [
|
|
27
|
+
/* @__PURE__ */ n("span", { children: t.author }),
|
|
28
|
+
/* @__PURE__ */ n("time", { children: new Date(t.timestamp).toLocaleString() })
|
|
29
|
+
] }),
|
|
30
|
+
/* @__PURE__ */ n("p", { className: "Ink-Comments__body", children: t.body })
|
|
31
|
+
] }, t.id)),
|
|
32
|
+
e.resolved ? /* @__PURE__ */ n("p", { className: "Ink-Comments__resolved", children: "Resolved" }) : /* @__PURE__ */ s("form", { className: "Ink-Comments__form", onSubmit: (t) => h(t, e.id), children: [
|
|
33
|
+
/* @__PURE__ */ n(
|
|
34
|
+
"input",
|
|
35
|
+
{
|
|
36
|
+
value: a[e.id] ?? "",
|
|
37
|
+
onChange: (t) => i((o) => ({ ...o, [e.id]: t.target.value })),
|
|
38
|
+
placeholder: `Reply as ${d}…`,
|
|
39
|
+
"aria-label": `Reply to ${e.author}`
|
|
40
|
+
}
|
|
41
|
+
),
|
|
42
|
+
/* @__PURE__ */ n("button", { type: "submit", className: "Ink-Editor__button Ink-Editor__button--active", children: "Reply" }),
|
|
43
|
+
/* @__PURE__ */ n(
|
|
44
|
+
"button",
|
|
45
|
+
{
|
|
46
|
+
type: "button",
|
|
47
|
+
className: "Ink-Editor__button",
|
|
48
|
+
onClick: () => p(e.id),
|
|
49
|
+
children: "Resolve"
|
|
50
|
+
}
|
|
51
|
+
)
|
|
52
|
+
] })
|
|
53
|
+
]
|
|
54
|
+
},
|
|
55
|
+
e.id
|
|
56
|
+
)) })
|
|
57
|
+
] });
|
|
58
|
+
};
|
|
59
|
+
export {
|
|
60
|
+
v as CommentsPanel
|
|
61
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/InkEditor/components/CommentsPanel/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),u=n=>{const{items:l,top:s,left:o,onSelect:a}=n;return l.length===0?null:t.jsx("div",{className:"Ink-Slash",style:{top:s,left:o},role:"listbox","aria-label":"Slash commands",children:l.map(e=>t.jsx("button",{type:"button",role:"option",className:"Ink-Slash__item",onMouseDown:r=>{r.preventDefault(),a(e)},children:e.label},e.id))})};exports.SlashMenu=u;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { SlashCommandItem } from '../../../../types';
|
|
3
|
+
export interface SlashMenuProps {
|
|
4
|
+
items: SlashCommandItem[];
|
|
5
|
+
top: number;
|
|
6
|
+
left: number;
|
|
7
|
+
onSelect: (item: SlashCommandItem) => void;
|
|
8
|
+
}
|
|
9
|
+
export declare const SlashMenu: FC<SlashMenuProps>;
|
|
10
|
+
//# sourceMappingURL=SlashMenu.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SlashMenu.d.ts","sourceRoot":"","sources":["../../../../../src/components/InkEditor/components/SlashMenu/SlashMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,IAAI,CAAC;CAC5C;AAED,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CAqBxC,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { jsx as t } from "react/jsx-runtime";
|
|
2
|
+
const c = (n) => {
|
|
3
|
+
const { items: l, top: o, left: s, onSelect: a } = n;
|
|
4
|
+
return l.length === 0 ? null : /* @__PURE__ */ t("div", { className: "Ink-Slash", style: { top: o, left: s }, role: "listbox", "aria-label": "Slash commands", children: l.map((e) => /* @__PURE__ */ t(
|
|
5
|
+
"button",
|
|
6
|
+
{
|
|
7
|
+
type: "button",
|
|
8
|
+
role: "option",
|
|
9
|
+
className: "Ink-Slash__item",
|
|
10
|
+
onMouseDown: (r) => {
|
|
11
|
+
r.preventDefault(), a(e);
|
|
12
|
+
},
|
|
13
|
+
children: e.label
|
|
14
|
+
},
|
|
15
|
+
e.id
|
|
16
|
+
)) });
|
|
17
|
+
};
|
|
18
|
+
export {
|
|
19
|
+
c as SlashMenu
|
|
20
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/InkEditor/components/SlashMenu/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),o=c=>{const{changes:l,onAccept:s,onReject:a,onAcceptAll:r,onRejectAll:i}=c,n=l.filter(e=>!e.accepted&&!e.rejected);return n.length===0?null:t.jsxs("div",{className:"Ink-TrackBar",role:"region","aria-label":"Track changes",children:[t.jsxs("span",{className:"Ink-TrackBar__label",children:[n.length," pending change",n.length===1?"":"s"]}),t.jsxs("div",{className:"Ink-TrackBar__actions",children:[t.jsx("button",{type:"button",className:"Ink-Editor__button",onClick:r,children:"Accept all"}),t.jsx("button",{type:"button",className:"Ink-Editor__button",onClick:i,children:"Reject all"})]}),t.jsx("ul",{className:"Ink-TrackBar__list",children:n.map(e=>t.jsxs("li",{children:[t.jsxs("span",{children:[e.type," · ",e.author]}),t.jsx("button",{type:"button",className:"Ink-Editor__button Ink-Editor__button--active",onClick:()=>s(e.id),children:"Accept"}),t.jsx("button",{type:"button",className:"Ink-Editor__button",onClick:()=>a(e.id),children:"Reject"})]},e.id))})]})};exports.TrackChangesBar=o;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { InkTrackChange } from '../../../../types';
|
|
3
|
+
export interface TrackChangesBarProps {
|
|
4
|
+
changes: InkTrackChange[];
|
|
5
|
+
onAccept: (id: string) => void;
|
|
6
|
+
onReject: (id: string) => void;
|
|
7
|
+
onAcceptAll: () => void;
|
|
8
|
+
onRejectAll: () => void;
|
|
9
|
+
}
|
|
10
|
+
export declare const TrackChangesBar: FC<TrackChangesBarProps>;
|
|
11
|
+
//# sourceMappingURL=TrackChangesBar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TrackChangesBar.d.ts","sourceRoot":"","sources":["../../../../../src/components/InkEditor/components/TrackChangesBar/TrackChangesBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB;AAED,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC,oBAAoB,CAgCpD,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { jsxs as n, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
const k = (l) => {
|
|
3
|
+
const { changes: a, onAccept: r, onReject: o, onAcceptAll: i, onRejectAll: s } = l, c = a.filter((t) => !t.accepted && !t.rejected);
|
|
4
|
+
return c.length === 0 ? null : /* @__PURE__ */ n("div", { className: "Ink-TrackBar", role: "region", "aria-label": "Track changes", children: [
|
|
5
|
+
/* @__PURE__ */ n("span", { className: "Ink-TrackBar__label", children: [
|
|
6
|
+
c.length,
|
|
7
|
+
" pending change",
|
|
8
|
+
c.length === 1 ? "" : "s"
|
|
9
|
+
] }),
|
|
10
|
+
/* @__PURE__ */ n("div", { className: "Ink-TrackBar__actions", children: [
|
|
11
|
+
/* @__PURE__ */ e("button", { type: "button", className: "Ink-Editor__button", onClick: i, children: "Accept all" }),
|
|
12
|
+
/* @__PURE__ */ e("button", { type: "button", className: "Ink-Editor__button", onClick: s, children: "Reject all" })
|
|
13
|
+
] }),
|
|
14
|
+
/* @__PURE__ */ e("ul", { className: "Ink-TrackBar__list", children: c.map((t) => /* @__PURE__ */ n("li", { children: [
|
|
15
|
+
/* @__PURE__ */ n("span", { children: [
|
|
16
|
+
t.type,
|
|
17
|
+
" · ",
|
|
18
|
+
t.author
|
|
19
|
+
] }),
|
|
20
|
+
/* @__PURE__ */ e("button", { type: "button", className: "Ink-Editor__button Ink-Editor__button--active", onClick: () => r(t.id), children: "Accept" }),
|
|
21
|
+
/* @__PURE__ */ e("button", { type: "button", className: "Ink-Editor__button", onClick: () => o(t.id), children: "Reject" })
|
|
22
|
+
] }, t.id)) })
|
|
23
|
+
] });
|
|
24
|
+
};
|
|
25
|
+
export {
|
|
26
|
+
k as TrackChangesBar
|
|
27
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/InkEditor/components/TrackChangesBar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
export { ToolbarButton } from './ToolbarButton';
|
|
2
2
|
export { ToolbarDropdown } from './ToolbarDropdown';
|
|
3
3
|
export { ToolbarColorPicker } from './ToolbarColorPicker';
|
|
4
|
+
export { CommentsPanel } from './CommentsPanel';
|
|
5
|
+
export { AiPanel } from './AiPanel';
|
|
6
|
+
export { BlockHandles } from './BlockHandles';
|
|
7
|
+
export { SlashMenu } from './SlashMenu';
|
|
8
|
+
export { TrackChangesBar } from './TrackChangesBar';
|
|
4
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/InkEditor/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/InkEditor/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=[{id:"claude-opus-4.8",provider:"anthropic",label:"Claude Opus 4.8",family:"Claude"},{id:"claude-fable-5",provider:"anthropic",label:"Claude Fable 5",family:"Claude"},{id:"claude-opus-4.7",provider:"anthropic",label:"Claude Opus 4.7",family:"Claude"},{id:"claude-5-sonnet",provider:"anthropic",label:"Claude 5 Sonnet",family:"Claude"},{id:"claude-4.6-sonnet",provider:"anthropic",label:"Claude 4.6 Sonnet",family:"Claude"},{id:"claude-4.5-sonnet",provider:"anthropic",label:"Claude 4.5 Sonnet",family:"Claude"},{id:"claude-4.5-haiku",provider:"anthropic",label:"Claude 4.5 Haiku",family:"Claude"},{id:"gemini-3.1-pro",provider:"google",label:"Gemini 3.1 Pro",family:"Gemini"},{id:"gemini-2.5-flash",provider:"google",label:"Gemini 2.5 Flash",family:"Gemini"},{id:"gemini-3-flash",provider:"google",label:"Gemini 3 Flash",family:"Gemini"},{id:"gemini-3.5-flash",provider:"google",label:"Gemini 3.5 Flash",family:"Gemini"},{id:"gemini-3.6-flash",provider:"google",label:"Gemini 3.6 Flash",family:"Gemini"},{id:"gpt-5.6-sol",provider:"openai",label:"GPT-5.6 Sol",family:"GPT"},{id:"gpt-5.6-terra",provider:"openai",label:"GPT-5.6 Terra",family:"GPT"},{id:"gpt-5.5",provider:"openai",label:"GPT-5.5",family:"GPT"},{id:"gpt-5.4",provider:"openai",label:"GPT-5.4",family:"GPT"},{id:"gpt-5.2",provider:"openai",label:"GPT-5.2",family:"GPT"},{id:"gpt-5.1",provider:"openai",label:"GPT-5.1",family:"GPT"},{id:"gpt-5",provider:"openai",label:"GPT-5",family:"GPT"},{id:"gpt-4.1",provider:"openai",label:"GPT-4.1",family:"GPT"},{id:"gpt-5-mini",provider:"openai",label:"GPT-5 Mini",family:"GPT"},{id:"gpt-5.4-mini",provider:"openai",label:"GPT-5.4 Mini",family:"GPT"},{id:"gpt-4.1-mini",provider:"openai",label:"GPT-4.1 Mini",family:"GPT"},{id:"ink-demo",provider:"demo",label:"Ink Demo (local)",family:"Demo"}],e="demo",l="ink-demo";exports.INK_AI_DEMO_MODEL_ID=l;exports.INK_AI_DEMO_PROVIDER_ID=e;exports.INK_AI_MODEL_CATALOG=i;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { InkAiModelCatalogEntry } from '../types';
|
|
2
|
+
export declare const INK_AI_MODEL_CATALOG: InkAiModelCatalogEntry[];
|
|
3
|
+
export declare const INK_AI_DEMO_PROVIDER_ID = "demo";
|
|
4
|
+
export declare const INK_AI_DEMO_MODEL_ID = "ink-demo";
|
|
5
|
+
//# sourceMappingURL=aiModels.const.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aiModels.const.d.ts","sourceRoot":"","sources":["../../src/constants/aiModels.const.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEvD,eAAO,MAAM,oBAAoB,EAAE,sBAAsB,EAyBxD,CAAC;AAEF,eAAO,MAAM,uBAAuB,SAAS,CAAC;AAC9C,eAAO,MAAM,oBAAoB,aAAa,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
const i = [
|
|
2
|
+
{ id: "claude-opus-4.8", provider: "anthropic", label: "Claude Opus 4.8", family: "Claude" },
|
|
3
|
+
{ id: "claude-fable-5", provider: "anthropic", label: "Claude Fable 5", family: "Claude" },
|
|
4
|
+
{ id: "claude-opus-4.7", provider: "anthropic", label: "Claude Opus 4.7", family: "Claude" },
|
|
5
|
+
{ id: "claude-5-sonnet", provider: "anthropic", label: "Claude 5 Sonnet", family: "Claude" },
|
|
6
|
+
{ id: "claude-4.6-sonnet", provider: "anthropic", label: "Claude 4.6 Sonnet", family: "Claude" },
|
|
7
|
+
{ id: "claude-4.5-sonnet", provider: "anthropic", label: "Claude 4.5 Sonnet", family: "Claude" },
|
|
8
|
+
{ id: "claude-4.5-haiku", provider: "anthropic", label: "Claude 4.5 Haiku", family: "Claude" },
|
|
9
|
+
{ id: "gemini-3.1-pro", provider: "google", label: "Gemini 3.1 Pro", family: "Gemini" },
|
|
10
|
+
{ id: "gemini-2.5-flash", provider: "google", label: "Gemini 2.5 Flash", family: "Gemini" },
|
|
11
|
+
{ id: "gemini-3-flash", provider: "google", label: "Gemini 3 Flash", family: "Gemini" },
|
|
12
|
+
{ id: "gemini-3.5-flash", provider: "google", label: "Gemini 3.5 Flash", family: "Gemini" },
|
|
13
|
+
{ id: "gemini-3.6-flash", provider: "google", label: "Gemini 3.6 Flash", family: "Gemini" },
|
|
14
|
+
{ id: "gpt-5.6-sol", provider: "openai", label: "GPT-5.6 Sol", family: "GPT" },
|
|
15
|
+
{ id: "gpt-5.6-terra", provider: "openai", label: "GPT-5.6 Terra", family: "GPT" },
|
|
16
|
+
{ id: "gpt-5.5", provider: "openai", label: "GPT-5.5", family: "GPT" },
|
|
17
|
+
{ id: "gpt-5.4", provider: "openai", label: "GPT-5.4", family: "GPT" },
|
|
18
|
+
{ id: "gpt-5.2", provider: "openai", label: "GPT-5.2", family: "GPT" },
|
|
19
|
+
{ id: "gpt-5.1", provider: "openai", label: "GPT-5.1", family: "GPT" },
|
|
20
|
+
{ id: "gpt-5", provider: "openai", label: "GPT-5", family: "GPT" },
|
|
21
|
+
{ id: "gpt-4.1", provider: "openai", label: "GPT-4.1", family: "GPT" },
|
|
22
|
+
{ id: "gpt-5-mini", provider: "openai", label: "GPT-5 Mini", family: "GPT" },
|
|
23
|
+
{ id: "gpt-5.4-mini", provider: "openai", label: "GPT-5.4 Mini", family: "GPT" },
|
|
24
|
+
{ id: "gpt-4.1-mini", provider: "openai", label: "GPT-4.1 Mini", family: "GPT" },
|
|
25
|
+
{ id: "ink-demo", provider: "demo", label: "Ink Demo (local)", family: "Demo" }
|
|
26
|
+
], e = "demo", l = "ink-demo";
|
|
27
|
+
export {
|
|
28
|
+
l as INK_AI_DEMO_MODEL_ID,
|
|
29
|
+
e as INK_AI_DEMO_PROVIDER_ID,
|
|
30
|
+
i as INK_AI_MODEL_CATALOG
|
|
31
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=["headingDropdown","divider","bold","italic","underline","strikethrough","divider","textColor","highlightColor","divider","bulletList","orderedList","divider","link","image","divider","clearFormat"],
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./numbers.const.cjs"),t=["headingDropdown","divider","bold","italic","underline","strikethrough","divider","textColor","highlightColor","divider","bulletList","orderedList","divider","link","image","table","divider","undo","redo","divider","trackChanges","comments","ai","divider","clearFormat"],i=["bold","italic","underline","divider","bulletList","orderedList"],a=["headingDropdown","divider","bold","italic","underline","divider","bulletList","orderedList","table","divider","trackChanges","comments","ai","divider","undo","redo"],l=[{value:"p",label:"Paragraph"},{value:"h1",label:"Heading 1"},{value:"h2",label:"Heading 2"},{value:"h3",label:"Heading 3"},{value:"h4",label:"Heading 4"},{value:"h5",label:"Heading 5"},{value:"h6",label:"Heading 6"}],n={bold:{title:"Bold (Ctrl+B)",command:"bold"},italic:{title:"Italic (Ctrl+I)",command:"italic"},underline:{title:"Underline (Ctrl+U)",command:"underline"},strikethrough:{title:"Strikethrough",command:"strikeThrough"},heading1:{title:"Heading 1",command:"formatBlock",value:"h1"},heading2:{title:"Heading 2",command:"formatBlock",value:"h2"},heading3:{title:"Heading 3",command:"formatBlock",value:"h3"},heading4:{title:"Heading 4",command:"formatBlock",value:"h4"},heading5:{title:"Heading 5",command:"formatBlock",value:"h5"},heading6:{title:"Heading 6",command:"formatBlock",value:"h6"},paragraph:{title:"Paragraph",command:"formatBlock",value:"p"},bulletList:{title:"Bullet list",command:"insertUnorderedList"},orderedList:{title:"Numbered list",command:"insertOrderedList"},blockquote:{title:"Quote",command:"formatBlock",value:"blockquote"},code:{title:"Code block",command:"formatBlock",value:"pre"},alignLeft:{title:"Align left",command:"justifyLeft"},alignCenter:{title:"Align center",command:"justifyCenter"},alignRight:{title:"Align right",command:"justifyRight"},alignJustify:{title:"Justify",command:"justifyFull"},indent:{title:"Indent",command:"indent"},outdent:{title:"Outdent",command:"outdent"},clearFormat:{title:"Clear formatting",command:"removeFormat"},undo:{title:"Undo",command:"undo"},redo:{title:"Redo",command:"redo"}},d=["#111827","#dc2626","#ea580c","#ca8a04","#16a34a","#2563eb","#0f766e","#db2777"],o="Start typing...",r="Ink-Editor",_="Ink-Editor__toolbar",s="Ink-Editor__content",c="Ink-Editor__divider",A="Ink-Editor__button",I="Ink-Editor__button--active",L="Ink-Editor__footer",N="Ink-Editor__shell",S="Ink-Editor__body",m="Ink-tc-insert",T="Ink-tc-delete",u="Ink-comment-mark",E="You",C="classic",O={table:!0,trackChanges:!0,comments:!0,ai:!0,blocks:!0,slash:!0,history:!0,typoAutoFix:!0},K=e.INK_DEFAULT_TABLE_ROWS,g=e.INK_DEFAULT_TABLE_COLS,b=[{id:"heading1",label:"Heading 1",keywords:["h1","title","heading"],insert:"heading1"},{id:"heading2",label:"Heading 2",keywords:["h2","subtitle","heading"],insert:"heading2"},{id:"bullet",label:"Bullet list",keywords:["ul","list","bullet"],insert:"bulletList"},{id:"ordered",label:"Numbered list",keywords:["ol","list","numbered"],insert:"orderedList"},{id:"table",label:"Table",keywords:["table","grid"],insert:"table"},{id:"ai",label:"Ask AI",keywords:["ai","assistant","chat"],insert:"ai"}],h=["English","Spanish","French","German","Chinese (Simplified)","Japanese","Russian","Portuguese","Korean","Italian"],k=[{id:"rewrite",label:"Rewrite",capability:"rewrite"},{id:"summarize",label:"Summarize",capability:"summarize"},{id:"expand",label:"Expand",capability:"expand"},{id:"tone",label:"Adjust tone",capability:"tone"}];exports.INK_BUTTON_CONFIG=n;exports.INK_CLASS_BODY=S;exports.INK_CLASS_BUTTON=A;exports.INK_CLASS_BUTTON_ACTIVE=I;exports.INK_CLASS_COMMENT_MARK=u;exports.INK_CLASS_CONTENT=s;exports.INK_CLASS_DIVIDER=c;exports.INK_CLASS_FOOTER=L;exports.INK_CLASS_ROOT=r;exports.INK_CLASS_SHELL=N;exports.INK_CLASS_TC_DELETE=T;exports.INK_CLASS_TC_INSERT=m;exports.INK_CLASS_TOOLBAR=_;exports.INK_COLLAB_TOOLBAR=a;exports.INK_COLOR_SWATCHES=d;exports.INK_DEFAULT_AUTHOR=E;exports.INK_DEFAULT_FEATURES=O;exports.INK_DEFAULT_TOOLBAR=t;exports.INK_DEFAULT_VARIANT=C;exports.INK_HEADING_OPTIONS=l;exports.INK_PLACEHOLDER_DEFAULT=o;exports.INK_QUICK_ACTIONS=k;exports.INK_SIMPLE_TOOLBAR=i;exports.INK_SLASH_COMMANDS=b;exports.INK_TABLE_DEFAULT_COLS=g;exports.INK_TABLE_DEFAULT_ROWS=K;exports.INK_TRANSLATE_LANGUAGES=h;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { DropdownOption, ToolbarOption } from '../types';
|
|
1
|
+
import { DropdownOption, SlashCommandItem, ToolbarOption, InkFeaturesConfig } from '../types';
|
|
2
2
|
export declare const INK_DEFAULT_TOOLBAR: ToolbarOption[];
|
|
3
3
|
export declare const INK_SIMPLE_TOOLBAR: ToolbarOption[];
|
|
4
|
+
export declare const INK_COLLAB_TOOLBAR: ToolbarOption[];
|
|
4
5
|
export declare const INK_HEADING_OPTIONS: DropdownOption[];
|
|
5
6
|
export declare const INK_BUTTON_CONFIG: Record<string, {
|
|
6
7
|
title: string;
|
|
@@ -16,4 +17,34 @@ export declare const INK_CLASS_DIVIDER = "Ink-Editor__divider";
|
|
|
16
17
|
export declare const INK_CLASS_BUTTON = "Ink-Editor__button";
|
|
17
18
|
export declare const INK_CLASS_BUTTON_ACTIVE = "Ink-Editor__button--active";
|
|
18
19
|
export declare const INK_CLASS_FOOTER = "Ink-Editor__footer";
|
|
20
|
+
export declare const INK_CLASS_SHELL = "Ink-Editor__shell";
|
|
21
|
+
export declare const INK_CLASS_BODY = "Ink-Editor__body";
|
|
22
|
+
export declare const INK_CLASS_BLOCK_ACTIVE = "Ink-block--active";
|
|
23
|
+
export declare const INK_CLASS_TC_INSERT = "Ink-tc-insert";
|
|
24
|
+
export declare const INK_CLASS_TC_DELETE = "Ink-tc-delete";
|
|
25
|
+
export declare const INK_CLASS_COMMENT_MARK = "Ink-comment-mark";
|
|
26
|
+
export declare const INK_DEFAULT_AUTHOR = "You";
|
|
27
|
+
export declare const INK_DEFAULT_VARIANT: "classic";
|
|
28
|
+
export declare const INK_DEFAULT_FEATURES: InkFeaturesConfig;
|
|
29
|
+
export declare const INK_TABLE_DEFAULT_ROWS = 3;
|
|
30
|
+
export declare const INK_TABLE_DEFAULT_COLS = 3;
|
|
31
|
+
export declare const INK_SLASH_COMMANDS: SlashCommandItem[];
|
|
32
|
+
export declare const INK_TRANSLATE_LANGUAGES: readonly ["English", "Spanish", "French", "German", "Chinese (Simplified)", "Japanese", "Russian", "Portuguese", "Korean", "Italian"];
|
|
33
|
+
export declare const INK_QUICK_ACTIONS: ({
|
|
34
|
+
id: string;
|
|
35
|
+
label: string;
|
|
36
|
+
capability: "rewrite";
|
|
37
|
+
} | {
|
|
38
|
+
id: string;
|
|
39
|
+
label: string;
|
|
40
|
+
capability: "summarize";
|
|
41
|
+
} | {
|
|
42
|
+
id: string;
|
|
43
|
+
label: string;
|
|
44
|
+
capability: "expand";
|
|
45
|
+
} | {
|
|
46
|
+
id: string;
|
|
47
|
+
label: string;
|
|
48
|
+
capability: "tone";
|
|
49
|
+
})[];
|
|
19
50
|
//# sourceMappingURL=defaults.const.d.ts.map
|