@forgedevstack/ink 1.1.0 → 1.1.1
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 +9 -0
- package/dist/components/InkEditor/InkEditor.cjs +1 -1
- package/dist/components/InkEditor/InkEditor.d.ts.map +1 -1
- package/dist/components/InkEditor/InkEditor.js +344 -331
- package/dist/components/InkEditor/components/AiPanel/AiPanel.cjs +1 -1
- package/dist/components/InkEditor/components/AiPanel/AiPanel.js +7 -6
- package/dist/components/InkEditor/components/ToolbarButton/ToolbarButton.cjs +1 -1
- package/dist/components/InkEditor/components/ToolbarButton/ToolbarButton.js +3 -2
- package/dist/constants/index.d.ts +1 -0
- package/dist/constants/index.d.ts.map +1 -1
- package/dist/constants/premium.const.cjs +1 -0
- package/dist/constants/premium.const.d.ts +8 -0
- package/dist/constants/premium.const.d.ts.map +1 -0
- package/dist/constants/premium.const.js +97 -0
- 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 +42 -29
- package/dist/styles.css +23 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/ink.types.d.ts +7 -0
- package/dist/types/ink.types.d.ts.map +1 -1
- package/dist/types/premium.types.d.ts +30 -0
- package/dist/types/premium.types.d.ts.map +1 -0
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/license.utils.cjs +1 -0
- package/dist/utils/license.utils.d.ts +2 -0
- package/dist/utils/license.utils.d.ts.map +1 -0
- package/dist/utils/license.utils.js +16 -0
- package/dist/utils/paste.utils.cjs +1 -0
- package/dist/utils/paste.utils.d.ts +4 -0
- package/dist/utils/paste.utils.d.ts.map +1 -0
- package/dist/utils/paste.utils.js +31 -0
- package/dist/utils/premium.utils.cjs +1 -0
- package/dist/utils/premium.utils.d.ts +6 -0
- package/dist/utils/premium.utils.d.ts.map +1 -0
- package/dist/utils/premium.utils.js +30 -0
- package/package.json +1 -1
|
@@ -1 +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")
|
|
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");require("../../../../utils/paste.utils.cjs");const 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(""),[r,_]=i.useState([]),[l,j]=i.useState(!1),[o,h]=i.useState(null),[H,D]=i.useState([]),[A,q]=i.useState(I.INK_TRANSLATE_LANGUAGES[1]),M=s.providerId||O.INK_AI_DEMO_PROVIDER_ID,R=((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?[...r,{id:C.createInkId("turn"),role:"user",content:u,timestamp:Date.now(),capability:t}]:r;t==="chat"&&u&&_(E);const n=await P.inkAi.runProvider(M,{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 ${R}`.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:r.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"}),"."]}):r.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=>q(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,o?e.jsxs("div",{className:"Ink-Ai__diff",children:[e.jsx("strong",{children:"Suggested change"}),e.jsx("p",{children:o.summary}),e.jsx("div",{className:"Ink-Ai__diff-preview",dangerouslySetInnerHTML:{__html:o.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(o.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;
|
|
@@ -4,9 +4,10 @@ import { INK_TRANSLATE_LANGUAGES as T, INK_QUICK_ACTIONS as G } from "../../../.
|
|
|
4
4
|
import { INK_AI_DEMO_PROVIDER_ID as P } from "../../../../constants/aiModels.const.js";
|
|
5
5
|
import { inkAi as Q } from "../../../../plugins/ai/aiPlugin.js";
|
|
6
6
|
import { createInkId as H } from "../../../../utils/id.utils.js";
|
|
7
|
-
|
|
7
|
+
import "../../../../utils/paste.utils.js";
|
|
8
|
+
const W = (D) => {
|
|
8
9
|
var N, y, E, C;
|
|
9
|
-
const { config: i, documentHtml: k, selectionHtml: v, onApplyHtml: L, onClose:
|
|
10
|
+
const { config: i, documentHtml: k, selectionHtml: v, onApplyHtml: L, onClose: p } = D, [a, x] = l("chat"), [b, 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
11
|
var w;
|
|
11
12
|
f(!0);
|
|
12
13
|
try {
|
|
@@ -46,7 +47,7 @@ const J = (D) => {
|
|
|
46
47
|
}
|
|
47
48
|
}, B = (e) => {
|
|
48
49
|
e.preventDefault();
|
|
49
|
-
const u =
|
|
50
|
+
const u = b.trim();
|
|
50
51
|
!u || o || (g(""), d("chat", void 0, u));
|
|
51
52
|
};
|
|
52
53
|
return /* @__PURE__ */ n(
|
|
@@ -63,7 +64,7 @@ const J = (D) => {
|
|
|
63
64
|
children: [
|
|
64
65
|
/* @__PURE__ */ n("div", { className: "Ink-Ai__header", children: [
|
|
65
66
|
/* @__PURE__ */ t("strong", { children: "Ink AI" }),
|
|
66
|
-
|
|
67
|
+
p ? /* @__PURE__ */ t("button", { type: "button", className: "Ink-Editor__button", onClick: p, title: "Close AI", children: "×" }) : null
|
|
67
68
|
] }),
|
|
68
69
|
/* @__PURE__ */ t("div", { className: "Ink-Ai__tabs", role: "tablist", children: ["chat", "actions", "review", "translate"].map((e) => /* @__PURE__ */ t(
|
|
69
70
|
"button",
|
|
@@ -92,7 +93,7 @@ const J = (D) => {
|
|
|
92
93
|
/* @__PURE__ */ t(
|
|
93
94
|
"input",
|
|
94
95
|
{
|
|
95
|
-
value:
|
|
96
|
+
value: b,
|
|
96
97
|
onChange: (e) => g(e.target.value),
|
|
97
98
|
placeholder: "Ask Ink AI…",
|
|
98
99
|
disabled: o
|
|
@@ -174,5 +175,5 @@ const J = (D) => {
|
|
|
174
175
|
);
|
|
175
176
|
};
|
|
176
177
|
export {
|
|
177
|
-
|
|
178
|
+
W as AiPanel
|
|
178
179
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),o=require("../../../../constants/defaults.const.cjs"),l=require("../../../../utils/cn.utils.cjs");require("../../../../utils/paste.utils.cjs");const c=r=>{const{icon:n,title:e,active:t=!1,onClick:s,disabled:i=!1}=r;return a.jsx("button",{type:"button",title:e,"aria-label":e,"aria-pressed":t,disabled:i,className:l.cn(o.INK_CLASS_BUTTON,t&&o.INK_CLASS_BUTTON_ACTIVE),onClick:s,children:n})};exports.ToolbarButton=c;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { jsx as l } from "react/jsx-runtime";
|
|
2
2
|
import { INK_CLASS_BUTTON_ACTIVE as n, INK_CLASS_BUTTON as s } from "../../../../constants/defaults.const.js";
|
|
3
3
|
import { cn as c } from "../../../../utils/cn.utils.js";
|
|
4
|
-
|
|
4
|
+
import "../../../../utils/paste.utils.js";
|
|
5
|
+
const f = (r) => {
|
|
5
6
|
const { icon: e, title: t, active: o = !1, onClick: a, disabled: i = !1 } = r;
|
|
6
7
|
return /* @__PURE__ */ l(
|
|
7
8
|
"button",
|
|
@@ -18,5 +19,5 @@ const b = (r) => {
|
|
|
18
19
|
);
|
|
19
20
|
};
|
|
20
21
|
export {
|
|
21
|
-
|
|
22
|
+
f as ToolbarButton
|
|
22
23
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t="ink_prem_",e=["icons","theme","richPaste","imageUpload","wysiwyg"],i={bold:"B",italic:"I",underline:"U",strikethrough:"S",bulletList:"•",orderedList:"1.",link:"🔗",image:"🖼",table:"▦",undo:"↶",redo:"↷",trackChanges:"±",comments:"💬",ai:"✦",clearFormat:"⌫",alignLeft:"⫷",alignCenter:"☰",alignRight:"⫸",alignJustify:"≡",indent:"→",outdent:"←",blockquote:"“",code:"</>"},n={border:"--ink-border",background:"--ink-bg",toolbar:"--ink-toolbar",text:"--ink-text",muted:"--ink-muted",accent:"--ink-accent",accentSoft:"--ink-accent-soft",shadow:"--ink-shadow",radius:"--ink-radius",fontFamily:"--ink-font-family"},o=["p","br","div","span","strong","b","em","i","u","s","strike","h1","h2","h3","h4","h5","h6","ul","ol","li","blockquote","pre","code","a","img","table","thead","tbody","tr","th","td","hr","sub","sup"],a=["href","src","alt","title","style","colspan","rowspan","width","height","target","rel"];exports.INK_DEFAULT_ICONS=i;exports.INK_PASTE_ALLOWED_ATTRS=a;exports.INK_PASTE_ALLOWED_TAGS=o;exports.INK_PREMIUM_FEATURES=e;exports.INK_PREMIUM_LICENSE_PREFIX=t;exports.INK_THEME_CSS_VARS=n;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { InkIconKey, InkPremiumFeature, InkThemeTokens } from '../types';
|
|
2
|
+
export declare const INK_PREMIUM_LICENSE_PREFIX = "ink_prem_";
|
|
3
|
+
export declare const INK_PREMIUM_FEATURES: InkPremiumFeature[];
|
|
4
|
+
export declare const INK_DEFAULT_ICONS: Record<InkIconKey, string>;
|
|
5
|
+
export declare const INK_THEME_CSS_VARS: Record<keyof InkThemeTokens, string>;
|
|
6
|
+
export declare const INK_PASTE_ALLOWED_TAGS: readonly ["p", "br", "div", "span", "strong", "b", "em", "i", "u", "s", "strike", "h1", "h2", "h3", "h4", "h5", "h6", "ul", "ol", "li", "blockquote", "pre", "code", "a", "img", "table", "thead", "tbody", "tr", "th", "td", "hr", "sub", "sup"];
|
|
7
|
+
export declare const INK_PASTE_ALLOWED_ATTRS: readonly ["href", "src", "alt", "title", "style", "colspan", "rowspan", "width", "height", "target", "rel"];
|
|
8
|
+
//# sourceMappingURL=premium.const.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"premium.const.d.ts","sourceRoot":"","sources":["../../src/constants/premium.const.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE9E,eAAO,MAAM,0BAA0B,cAAc,CAAC;AAEtD,eAAO,MAAM,oBAAoB,EAAE,iBAAiB,EAMnD,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAwBxD,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,cAAc,EAAE,MAAM,CAWnE,CAAC;AAEF,eAAO,MAAM,sBAAsB,mPAmCzB,CAAC;AAEX,eAAO,MAAM,uBAAuB,6GAY1B,CAAC"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
const t = "ink_prem_", e = [
|
|
2
|
+
"icons",
|
|
3
|
+
"theme",
|
|
4
|
+
"richPaste",
|
|
5
|
+
"imageUpload",
|
|
6
|
+
"wysiwyg"
|
|
7
|
+
], i = {
|
|
8
|
+
bold: "B",
|
|
9
|
+
italic: "I",
|
|
10
|
+
underline: "U",
|
|
11
|
+
strikethrough: "S",
|
|
12
|
+
bulletList: "•",
|
|
13
|
+
orderedList: "1.",
|
|
14
|
+
link: "🔗",
|
|
15
|
+
image: "🖼",
|
|
16
|
+
table: "▦",
|
|
17
|
+
undo: "↶",
|
|
18
|
+
redo: "↷",
|
|
19
|
+
trackChanges: "±",
|
|
20
|
+
comments: "💬",
|
|
21
|
+
ai: "✦",
|
|
22
|
+
clearFormat: "⌫",
|
|
23
|
+
alignLeft: "⫷",
|
|
24
|
+
alignCenter: "☰",
|
|
25
|
+
alignRight: "⫸",
|
|
26
|
+
alignJustify: "≡",
|
|
27
|
+
indent: "→",
|
|
28
|
+
outdent: "←",
|
|
29
|
+
blockquote: "“",
|
|
30
|
+
code: "</>"
|
|
31
|
+
}, n = {
|
|
32
|
+
border: "--ink-border",
|
|
33
|
+
background: "--ink-bg",
|
|
34
|
+
toolbar: "--ink-toolbar",
|
|
35
|
+
text: "--ink-text",
|
|
36
|
+
muted: "--ink-muted",
|
|
37
|
+
accent: "--ink-accent",
|
|
38
|
+
accentSoft: "--ink-accent-soft",
|
|
39
|
+
shadow: "--ink-shadow",
|
|
40
|
+
radius: "--ink-radius",
|
|
41
|
+
fontFamily: "--ink-font-family"
|
|
42
|
+
}, o = [
|
|
43
|
+
"p",
|
|
44
|
+
"br",
|
|
45
|
+
"div",
|
|
46
|
+
"span",
|
|
47
|
+
"strong",
|
|
48
|
+
"b",
|
|
49
|
+
"em",
|
|
50
|
+
"i",
|
|
51
|
+
"u",
|
|
52
|
+
"s",
|
|
53
|
+
"strike",
|
|
54
|
+
"h1",
|
|
55
|
+
"h2",
|
|
56
|
+
"h3",
|
|
57
|
+
"h4",
|
|
58
|
+
"h5",
|
|
59
|
+
"h6",
|
|
60
|
+
"ul",
|
|
61
|
+
"ol",
|
|
62
|
+
"li",
|
|
63
|
+
"blockquote",
|
|
64
|
+
"pre",
|
|
65
|
+
"code",
|
|
66
|
+
"a",
|
|
67
|
+
"img",
|
|
68
|
+
"table",
|
|
69
|
+
"thead",
|
|
70
|
+
"tbody",
|
|
71
|
+
"tr",
|
|
72
|
+
"th",
|
|
73
|
+
"td",
|
|
74
|
+
"hr",
|
|
75
|
+
"sub",
|
|
76
|
+
"sup"
|
|
77
|
+
], a = [
|
|
78
|
+
"href",
|
|
79
|
+
"src",
|
|
80
|
+
"alt",
|
|
81
|
+
"title",
|
|
82
|
+
"style",
|
|
83
|
+
"colspan",
|
|
84
|
+
"rowspan",
|
|
85
|
+
"width",
|
|
86
|
+
"height",
|
|
87
|
+
"target",
|
|
88
|
+
"rel"
|
|
89
|
+
];
|
|
90
|
+
export {
|
|
91
|
+
i as INK_DEFAULT_ICONS,
|
|
92
|
+
a as INK_PASTE_ALLOWED_ATTRS,
|
|
93
|
+
o as INK_PASTE_ALLOWED_TAGS,
|
|
94
|
+
e as INK_PREMIUM_FEATURES,
|
|
95
|
+
t as INK_PREMIUM_LICENSE_PREFIX,
|
|
96
|
+
n as INK_THEME_CSS_VARS
|
|
97
|
+
};
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./components/InkEditor/InkEditor.cjs"),n=require("./utils/cn.utils.cjs"),s=require("./utils/typo.utils.cjs"),A=require("./utils/id.utils.cjs"),u=require("./utils/table.utils.cjs"),o=require("./utils/trackChanges.utils.cjs"),N=require("./utils/comments.utils.cjs"),E=require("./utils/history.utils.cjs"),c=require("./constants/typos.const.cjs"),e=require("./constants/defaults.const.cjs"),I=require("./constants/aiModels.const.cjs"),t=require("./constants/premium.const.cjs"),_=require("./utils/premium.utils.cjs"),T=require("./utils/license.utils.cjs"),O=require("./utils/paste.utils.cjs"),i=require("./plugins/ai/aiPlugin.cjs");exports.InkEditor=r.InkEditor;exports.cn=n.cn;exports.applyTypoAutoFix=s.applyTypoAutoFix;exports.createInkId=A.createInkId;exports.buildTableHtml=u.buildTableHtml;exports.createTrackChange=o.createTrackChange;exports.createCommentThread=N.createCommentThread;exports.InkHistoryStack=E.InkHistoryStack;exports.TYPO_DICTIONARY=c.TYPO_DICTIONARY;exports.INK_COLLAB_TOOLBAR=e.INK_COLLAB_TOOLBAR;exports.INK_DEFAULT_FEATURES=e.INK_DEFAULT_FEATURES;exports.INK_DEFAULT_TOOLBAR=e.INK_DEFAULT_TOOLBAR;exports.INK_HEADING_OPTIONS=e.INK_HEADING_OPTIONS;exports.INK_QUICK_ACTIONS=e.INK_QUICK_ACTIONS;exports.INK_SIMPLE_TOOLBAR=e.INK_SIMPLE_TOOLBAR;exports.INK_SLASH_COMMANDS=e.INK_SLASH_COMMANDS;exports.INK_TRANSLATE_LANGUAGES=e.INK_TRANSLATE_LANGUAGES;exports.INK_AI_DEMO_MODEL_ID=I.INK_AI_DEMO_MODEL_ID;exports.INK_AI_DEMO_PROVIDER_ID=I.INK_AI_DEMO_PROVIDER_ID;exports.INK_AI_MODEL_CATALOG=I.INK_AI_MODEL_CATALOG;exports.INK_DEFAULT_ICONS=t.INK_DEFAULT_ICONS;exports.INK_PREMIUM_FEATURES=t.INK_PREMIUM_FEATURES;exports.INK_PREMIUM_LICENSE_PREFIX=t.INK_PREMIUM_LICENSE_PREFIX;exports.hasInkPremiumFeature=_.hasInkPremiumFeature;exports.isInkPremiumLicenseKey=_.isInkPremiumLicenseKey;exports.resolveInkPremium=_.resolveInkPremium;exports.themeTokensToStyle=_.themeTokensToStyle;exports.mintInkPremiumLicenseKey=T.mintInkPremiumLicenseKey;exports.sanitizePastedHtml=O.sanitizePastedHtml;exports.createInkAiPlugin=i.createInkAiPlugin;exports.inkAi=i.inkAi;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { InkEditor } from './components';
|
|
2
|
-
export { applyTypoAutoFix, cn, buildTableHtml, createInkId, createCommentThread, createTrackChange, InkHistoryStack, } from './utils';
|
|
2
|
+
export { applyTypoAutoFix, cn, buildTableHtml, createInkId, createCommentThread, createTrackChange, InkHistoryStack, resolveInkPremium, hasInkPremiumFeature, isInkPremiumLicenseKey, mintInkPremiumLicenseKey, themeTokensToStyle, sanitizePastedHtml, } from './utils';
|
|
3
3
|
export { inkAi, createInkAiPlugin } from './plugins/ai';
|
|
4
|
-
export { INK_DEFAULT_TOOLBAR, INK_SIMPLE_TOOLBAR, INK_COLLAB_TOOLBAR, INK_HEADING_OPTIONS, INK_SLASH_COMMANDS, INK_AI_MODEL_CATALOG, INK_AI_DEMO_PROVIDER_ID, INK_AI_DEMO_MODEL_ID, INK_TRANSLATE_LANGUAGES, INK_QUICK_ACTIONS, INK_DEFAULT_FEATURES, TYPO_DICTIONARY, } from './constants';
|
|
5
|
-
export type { InkEditorProps, ToolbarOption, TypoFixResult, SlashCommandItem, InkAiCapability, InkAiRequest, InkAiResponse, InkAiAgent, InkAiPlugin, InkAiChatTurn, InkAiDiffSuggestion, InkAiReviewSuggestion, InkAiContextFile, InkAiDocumentSnapshot, InkAiModelCatalogEntry, InkAiProvider, InkAiConfig, InkAiUiTheme, InkCommentReply, InkCommentThread, InkTrackChange, InkTrackChangeType, InkFeaturesConfig, InkFeatureName, InkEditorVariant, InkAiPlacement, } from './types';
|
|
4
|
+
export { INK_DEFAULT_TOOLBAR, INK_SIMPLE_TOOLBAR, INK_COLLAB_TOOLBAR, INK_HEADING_OPTIONS, INK_SLASH_COMMANDS, INK_AI_MODEL_CATALOG, INK_AI_DEMO_PROVIDER_ID, INK_AI_DEMO_MODEL_ID, INK_TRANSLATE_LANGUAGES, INK_QUICK_ACTIONS, INK_DEFAULT_FEATURES, INK_DEFAULT_ICONS, INK_PREMIUM_FEATURES, INK_PREMIUM_LICENSE_PREFIX, TYPO_DICTIONARY, } from './constants';
|
|
5
|
+
export type { InkEditorProps, ToolbarOption, TypoFixResult, SlashCommandItem, InkAiCapability, InkAiRequest, InkAiResponse, InkAiAgent, InkAiPlugin, InkAiChatTurn, InkAiDiffSuggestion, InkAiReviewSuggestion, InkAiContextFile, InkAiDocumentSnapshot, InkAiModelCatalogEntry, InkAiProvider, InkAiConfig, InkAiUiTheme, InkCommentReply, InkCommentThread, InkTrackChange, InkTrackChangeType, InkFeaturesConfig, InkFeatureName, InkEditorVariant, InkAiPlacement, InkPremiumFeature, InkPasteMode, InkIconKey, InkIconMap, InkThemeTokens, InkPremiumConfig, InkResolvedPremium, InkImageUploadHandler, } from './types';
|
|
6
6
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EACL,gBAAgB,EAChB,EAAE,EACF,cAAc,EACd,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EACL,gBAAgB,EAChB,EAAE,EACF,cAAc,EACd,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,EACtB,wBAAwB,EACxB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,uBAAuB,EACvB,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACpB,0BAA0B,EAC1B,eAAe,GAChB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,cAAc,EACd,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,aAAa,EACb,UAAU,EACV,WAAW,EACX,aAAa,EACb,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACrB,sBAAsB,EACtB,aAAa,EACb,WAAW,EACX,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,UAAU,EACV,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,SAAS,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,36 +1,49 @@
|
|
|
1
1
|
import { InkEditor as I } from "./components/InkEditor/InkEditor.js";
|
|
2
|
-
import { cn as
|
|
3
|
-
import { applyTypoAutoFix as
|
|
2
|
+
import { cn as _ } from "./utils/cn.utils.js";
|
|
3
|
+
import { applyTypoAutoFix as m } from "./utils/typo.utils.js";
|
|
4
4
|
import { createInkId as N } from "./utils/id.utils.js";
|
|
5
|
-
import { buildTableHtml as
|
|
6
|
-
import { createTrackChange as
|
|
7
|
-
import { createCommentThread as
|
|
8
|
-
import { InkHistoryStack as
|
|
9
|
-
import { TYPO_DICTIONARY as
|
|
10
|
-
import { INK_COLLAB_TOOLBAR as
|
|
11
|
-
import { INK_AI_DEMO_MODEL_ID as U, INK_AI_DEMO_PROVIDER_ID as
|
|
12
|
-
import {
|
|
5
|
+
import { buildTableHtml as T } from "./utils/table.utils.js";
|
|
6
|
+
import { createTrackChange as p } from "./utils/trackChanges.utils.js";
|
|
7
|
+
import { createCommentThread as n } from "./utils/comments.utils.js";
|
|
8
|
+
import { InkHistoryStack as x } from "./utils/history.utils.js";
|
|
9
|
+
import { TYPO_DICTIONARY as f } from "./constants/typos.const.js";
|
|
10
|
+
import { INK_COLLAB_TOOLBAR as S, INK_DEFAULT_FEATURES as D, INK_DEFAULT_TOOLBAR as P, INK_HEADING_OPTIONS as k, INK_QUICK_ACTIONS as R, INK_SIMPLE_TOOLBAR as M, INK_SLASH_COMMANDS as C, INK_TRANSLATE_LANGUAGES as c } from "./constants/defaults.const.js";
|
|
11
|
+
import { INK_AI_DEMO_MODEL_ID as U, INK_AI_DEMO_PROVIDER_ID as l, INK_AI_MODEL_CATALOG as u } from "./constants/aiModels.const.js";
|
|
12
|
+
import { INK_DEFAULT_ICONS as y, INK_PREMIUM_FEATURES as d, INK_PREMIUM_LICENSE_PREFIX as H } from "./constants/premium.const.js";
|
|
13
|
+
import { hasInkPremiumFeature as B, isInkPremiumLicenseKey as G, resolveInkPremium as b, themeTokensToStyle as g } from "./utils/premium.utils.js";
|
|
14
|
+
import { mintInkPremiumLicenseKey as v } from "./utils/license.utils.js";
|
|
15
|
+
import { sanitizePastedHtml as Q } from "./utils/paste.utils.js";
|
|
16
|
+
import { createInkAiPlugin as X, inkAi as j } from "./plugins/ai/aiPlugin.js";
|
|
13
17
|
export {
|
|
14
18
|
U as INK_AI_DEMO_MODEL_ID,
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
19
|
+
l as INK_AI_DEMO_PROVIDER_ID,
|
|
20
|
+
u as INK_AI_MODEL_CATALOG,
|
|
21
|
+
S as INK_COLLAB_TOOLBAR,
|
|
22
|
+
D as INK_DEFAULT_FEATURES,
|
|
23
|
+
y as INK_DEFAULT_ICONS,
|
|
24
|
+
P as INK_DEFAULT_TOOLBAR,
|
|
25
|
+
k as INK_HEADING_OPTIONS,
|
|
26
|
+
d as INK_PREMIUM_FEATURES,
|
|
27
|
+
H as INK_PREMIUM_LICENSE_PREFIX,
|
|
28
|
+
R as INK_QUICK_ACTIONS,
|
|
29
|
+
M as INK_SIMPLE_TOOLBAR,
|
|
30
|
+
C as INK_SLASH_COMMANDS,
|
|
31
|
+
c as INK_TRANSLATE_LANGUAGES,
|
|
25
32
|
I as InkEditor,
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
+
x as InkHistoryStack,
|
|
34
|
+
f as TYPO_DICTIONARY,
|
|
35
|
+
m as applyTypoAutoFix,
|
|
36
|
+
T as buildTableHtml,
|
|
37
|
+
_ as cn,
|
|
38
|
+
n as createCommentThread,
|
|
39
|
+
X as createInkAiPlugin,
|
|
33
40
|
N as createInkId,
|
|
34
|
-
|
|
35
|
-
|
|
41
|
+
p as createTrackChange,
|
|
42
|
+
B as hasInkPremiumFeature,
|
|
43
|
+
j as inkAi,
|
|
44
|
+
G as isInkPremiumLicenseKey,
|
|
45
|
+
v as mintInkPremiumLicenseKey,
|
|
46
|
+
b as resolveInkPremium,
|
|
47
|
+
Q as sanitizePastedHtml,
|
|
48
|
+
g as themeTokensToStyle
|
|
36
49
|
};
|
package/dist/styles.css
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
--ink-accent-soft: #ccfbf1;
|
|
9
9
|
--ink-shadow: 0 10px 40px rgb(15 23 42 / 0.08);
|
|
10
10
|
--ink-radius: 1rem;
|
|
11
|
+
--ink-font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
|
|
11
12
|
--ink-ai-accent: var(--ink-accent);
|
|
12
13
|
--ink-ai-surface: #f8fafc;
|
|
13
14
|
--ink-ai-border: var(--ink-border);
|
|
@@ -17,7 +18,28 @@
|
|
|
17
18
|
background: var(--ink-bg);
|
|
18
19
|
color: var(--ink-text);
|
|
19
20
|
box-shadow: var(--ink-shadow);
|
|
20
|
-
font-family:
|
|
21
|
+
font-family: var(--ink-font-family);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.Ink-Editor[data-wysiwyg='true'] .Ink-Editor__content {
|
|
25
|
+
font-family: inherit;
|
|
26
|
+
line-height: 1.65;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.Ink-Editor[data-wysiwyg='true'] .Ink-Editor__content img {
|
|
30
|
+
max-width: 100%;
|
|
31
|
+
height: auto;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.Ink-Editor[data-wysiwyg='true'] .Ink-Editor__content table {
|
|
35
|
+
border-collapse: collapse;
|
|
36
|
+
width: 100%;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.Ink-Editor[data-wysiwyg='true'] .Ink-Editor__content th,
|
|
40
|
+
.Ink-Editor[data-wysiwyg='true'] .Ink-Editor__content td {
|
|
41
|
+
border: 1px solid var(--ink-border);
|
|
42
|
+
padding: 0.4rem 0.6rem;
|
|
21
43
|
}
|
|
22
44
|
|
|
23
45
|
.Ink-Editor[data-variant='document'] {
|
package/dist/types/index.d.ts
CHANGED
|
@@ -3,4 +3,5 @@ export type { InkAiCapability, InkAiRequest, InkAiResponse, InkAiAgent, InkAiPlu
|
|
|
3
3
|
export type { InkCommentReply, InkCommentThread, InkCommentsChangeHandler, } from './comments.types';
|
|
4
4
|
export type { InkTrackChangeType, InkTrackChange, InkTrackChangesChangeHandler, } from './trackChanges.types';
|
|
5
5
|
export type { InkFeatureName, InkFeaturesConfig, InkEditorVariant, InkAiPlacement, } from './features.types';
|
|
6
|
+
export type { InkPremiumFeature, InkPasteMode, InkIconKey, InkIconMap, InkThemeTokens, InkPremiumConfig, InkResolvedPremium, InkImageUploadHandler, InkThemeStyle, } from './premium.types';
|
|
6
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,oBAAoB,EACpB,uBAAuB,EACvB,aAAa,EACb,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,eAAe,EACf,YAAY,EACZ,aAAa,EACb,UAAU,EACV,WAAW,EACX,aAAa,EACb,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACrB,sBAAsB,EACtB,aAAa,EACb,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,EACpB,kBAAkB,EAClB,YAAY,EACZ,WAAW,GACZ,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACV,kBAAkB,EAClB,cAAc,EACd,4BAA4B,GAC7B,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EACV,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,GACf,MAAM,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,oBAAoB,EACpB,uBAAuB,EACvB,aAAa,EACb,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,eAAe,EACf,YAAY,EACZ,aAAa,EACb,UAAU,EACV,WAAW,EACX,aAAa,EACb,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACrB,sBAAsB,EACtB,aAAa,EACb,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,EACpB,kBAAkB,EAClB,YAAY,EACZ,WAAW,GACZ,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACV,kBAAkB,EAClB,cAAc,EACd,4BAA4B,GAC7B,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EACV,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,GACf,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACV,iBAAiB,EACjB,YAAY,EACZ,UAAU,EACV,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,aAAa,GACd,MAAM,iBAAiB,CAAC"}
|
|
@@ -2,6 +2,7 @@ import { HTMLAttributes, ReactNode } from 'react';
|
|
|
2
2
|
import { InkAiConfig } from './ai.types';
|
|
3
3
|
import { InkCommentThread, InkCommentsChangeHandler } from './comments.types';
|
|
4
4
|
import { InkEditorVariant, InkFeaturesConfig } from './features.types';
|
|
5
|
+
import { InkIconMap, InkImageUploadHandler, InkPasteMode, InkPremiumConfig, InkThemeTokens } from './premium.types';
|
|
5
6
|
import { InkTrackChange, InkTrackChangesChangeHandler } from './trackChanges.types';
|
|
6
7
|
export type ToolbarOption = 'bold' | 'italic' | 'underline' | 'strikethrough' | 'heading1' | 'heading2' | 'heading3' | 'heading4' | 'heading5' | 'heading6' | 'paragraph' | 'headingDropdown' | 'bulletList' | 'orderedList' | 'blockquote' | 'code' | 'link' | 'image' | 'table' | 'undo' | 'redo' | 'trackChanges' | 'comments' | 'ai' | 'textColor' | 'highlightColor' | 'alignLeft' | 'alignCenter' | 'alignRight' | 'alignJustify' | 'indent' | 'outdent' | 'clearFormat' | 'divider';
|
|
7
8
|
export interface InkEditorProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
|
|
@@ -34,6 +35,12 @@ export interface InkEditorProps extends Omit<HTMLAttributes<HTMLDivElement>, 'on
|
|
|
34
35
|
slashCommands?: boolean;
|
|
35
36
|
tableRows?: number;
|
|
36
37
|
tableCols?: number;
|
|
38
|
+
premium?: InkPremiumConfig;
|
|
39
|
+
theme?: InkThemeTokens;
|
|
40
|
+
icons?: InkIconMap;
|
|
41
|
+
pasteMode?: InkPasteMode;
|
|
42
|
+
onImageUpload?: InkImageUploadHandler;
|
|
43
|
+
wysiwyg?: boolean;
|
|
37
44
|
}
|
|
38
45
|
export interface ToolbarButtonProps {
|
|
39
46
|
icon: ReactNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ink.types.d.ts","sourceRoot":"","sources":["../../src/types/ink.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AACnF,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AAEzF,MAAM,MAAM,aAAa,GACrB,MAAM,GACN,QAAQ,GACR,WAAW,GACX,eAAe,GACf,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,WAAW,GACX,iBAAiB,GACjB,YAAY,GACZ,aAAa,GACb,YAAY,GACZ,MAAM,GACN,MAAM,GACN,OAAO,GACP,OAAO,GACP,MAAM,GACN,MAAM,GACN,cAAc,GACd,UAAU,GACV,IAAI,GACJ,WAAW,GACX,gBAAgB,GAChB,WAAW,GACX,aAAa,GACb,YAAY,GACZ,cAAc,GACd,QAAQ,GACR,SAAS,GACT,aAAa,GACb,SAAS,CAAC;AAEd,MAAM,WAAW,cAAe,SAAQ,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC;IACtF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,cAAc,EAAE,CAAC;IAChC,oBAAoB,CAAC,EAAE,4BAA4B,CAAC;IACpD,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,2BAA2B,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACzD,QAAQ,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC9B,gBAAgB,CAAC,EAAE,wBAAwB,CAAC;IAC5C,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,yBAAyB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACpD,EAAE,CAAC,EAAE,WAAW,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"ink.types.d.ts","sourceRoot":"","sources":["../../src/types/ink.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { CSSProperties, ReactNode } from 'react';
|
|
2
|
+
import { ToolbarOption } from './ink.types';
|
|
3
|
+
export type InkPremiumFeature = 'icons' | 'theme' | 'richPaste' | 'imageUpload' | 'wysiwyg';
|
|
4
|
+
export type InkPasteMode = 'plain' | 'rich';
|
|
5
|
+
export type InkIconKey = Extract<ToolbarOption, 'bold' | 'italic' | 'underline' | 'strikethrough' | 'bulletList' | 'orderedList' | 'link' | 'image' | 'table' | 'undo' | 'redo' | 'trackChanges' | 'comments' | 'ai' | 'clearFormat' | 'alignLeft' | 'alignCenter' | 'alignRight' | 'alignJustify' | 'indent' | 'outdent' | 'blockquote' | 'code'>;
|
|
6
|
+
export type InkIconMap = Partial<Record<InkIconKey, ReactNode>>;
|
|
7
|
+
export interface InkThemeTokens {
|
|
8
|
+
border?: string;
|
|
9
|
+
background?: string;
|
|
10
|
+
toolbar?: string;
|
|
11
|
+
text?: string;
|
|
12
|
+
muted?: string;
|
|
13
|
+
accent?: string;
|
|
14
|
+
accentSoft?: string;
|
|
15
|
+
shadow?: string;
|
|
16
|
+
radius?: string;
|
|
17
|
+
fontFamily?: string;
|
|
18
|
+
}
|
|
19
|
+
export interface InkPremiumConfig {
|
|
20
|
+
enabled?: boolean;
|
|
21
|
+
licenseKey?: string;
|
|
22
|
+
features?: Partial<Record<InkPremiumFeature, boolean>>;
|
|
23
|
+
}
|
|
24
|
+
export interface InkResolvedPremium {
|
|
25
|
+
active: boolean;
|
|
26
|
+
features: Record<InkPremiumFeature, boolean>;
|
|
27
|
+
}
|
|
28
|
+
export type InkImageUploadHandler = (file: File) => Promise<string> | string;
|
|
29
|
+
export type InkThemeStyle = CSSProperties;
|
|
30
|
+
//# sourceMappingURL=premium.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"premium.types.d.ts","sourceRoot":"","sources":["../../src/types/premium.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,MAAM,iBAAiB,GACzB,OAAO,GACP,OAAO,GACP,WAAW,GACX,aAAa,GACb,SAAS,CAAC;AAEd,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,CAAC;AAE5C,MAAM,MAAM,UAAU,GAAG,OAAO,CAC9B,aAAa,EACX,MAAM,GACN,QAAQ,GACR,WAAW,GACX,eAAe,GACf,YAAY,GACZ,aAAa,GACb,MAAM,GACN,OAAO,GACP,OAAO,GACP,MAAM,GACN,MAAM,GACN,cAAc,GACd,UAAU,GACV,IAAI,GACJ,aAAa,GACb,WAAW,GACX,aAAa,GACb,YAAY,GACZ,cAAc,GACd,QAAQ,GACR,SAAS,GACT,YAAY,GACZ,MAAM,CACT,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;AAEhE,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,CAAC;CACxD;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;CAC9C;AAED,MAAM,MAAM,qBAAqB,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;AAE7E,MAAM,MAAM,aAAa,GAAG,aAAa,CAAC"}
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -7,4 +7,7 @@ export { wrapInsertHtml, wrapDeleteHtml, createTrackChange, acceptTrackChangeInH
|
|
|
7
7
|
export { createCommentThread, wrapSelectionAsComment, removeCommentMark, } from './comments.utils';
|
|
8
8
|
export { InkHistoryStack } from './history.utils';
|
|
9
9
|
export { filterSlashCommands, extractSlashQuery } from './slash.utils';
|
|
10
|
+
export { resolveInkPremium, hasInkPremiumFeature, isInkPremiumLicenseKey, themeTokensToStyle, } from './premium.utils';
|
|
11
|
+
export { mintInkPremiumLicenseKey } from './license.utils';
|
|
12
|
+
export { sanitizePastedHtml, extractClipboardHtml, extractClipboardText, } from './paste.utils';
|
|
10
13
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EACL,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EACL,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../constants/premium.const.cjs"),n="ABCDEFGHJKLMNPQRSTUVWXYZ23456789",r=4,i=4,c=()=>{const e=new Uint8Array(r);if(typeof crypto<"u"&&typeof crypto.getRandomValues=="function")crypto.getRandomValues(e);else for(let t=0;t<e.length;t+=1)e[t]=Math.floor(Math.random()*256);return Array.from(e,t=>n[t%n.length]).join("")},s=()=>{const e=Array.from({length:i},()=>c()).join("_");return`${o.INK_PREMIUM_LICENSE_PREFIX}${e}`};exports.mintInkPremiumLicenseKey=s;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"license.utils.d.ts","sourceRoot":"","sources":["../../src/utils/license.utils.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,wBAAwB,QAAO,MAG3C,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { INK_PREMIUM_LICENSE_PREFIX as e } from "../constants/premium.const.js";
|
|
2
|
+
const o = "ABCDEFGHJKLMNPQRSTUVWXYZ23456789", r = 4, E = 4, c = () => {
|
|
3
|
+
const t = new Uint8Array(r);
|
|
4
|
+
if (typeof crypto < "u" && typeof crypto.getRandomValues == "function")
|
|
5
|
+
crypto.getRandomValues(t);
|
|
6
|
+
else
|
|
7
|
+
for (let n = 0; n < t.length; n += 1)
|
|
8
|
+
t[n] = Math.floor(Math.random() * 256);
|
|
9
|
+
return Array.from(t, (n) => o[n % o.length]).join("");
|
|
10
|
+
}, s = () => {
|
|
11
|
+
const t = Array.from({ length: E }, () => c()).join("_");
|
|
12
|
+
return `${e}${t}`;
|
|
13
|
+
};
|
|
14
|
+
export {
|
|
15
|
+
s as mintInkPremiumLicenseKey
|
|
16
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("../constants/premium.const.cjs"),l=new Set(s.INK_PASTE_ALLOWED_TAGS),u=new Set(s.INK_PASTE_ALLOWED_ATTRS),c=(e,o)=>{if(e.nodeType===Node.TEXT_NODE){o.appendChild(e.cloneNode(!0));return}if(e.nodeType!==Node.ELEMENT_NODE)return;const n=e,t=n.tagName.toLowerCase();if(t==="script"||t==="style"||t==="iframe"||t==="object")return;if(!l.has(t)){Array.from(n.childNodes).forEach(r=>c(r,o));return}const i=document.createElement(t);Array.from(n.attributes).forEach(r=>{const a=r.name.toLowerCase();u.has(a)&&(a.startsWith("on")||(a==="href"||a==="src")&&r.value.trim().toLowerCase().startsWith("javascript:")||i.setAttribute(r.name,r.value))}),Array.from(n.childNodes).forEach(r=>c(r,i)),o.appendChild(i)},m=e=>{if(!e.trim())return"";const o=document.createElement("template");o.innerHTML=e;const n=document.createElement("div");return Array.from(o.content.childNodes).forEach(t=>c(t,n)),n.innerHTML},d=e=>e&&e.getData("text/html")||"",f=e=>e&&e.getData("text/plain")||"";exports.extractClipboardHtml=d;exports.extractClipboardText=f;exports.sanitizePastedHtml=m;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const sanitizePastedHtml: (html: string) => string;
|
|
2
|
+
export declare const extractClipboardHtml: (data: DataTransfer | null) => string;
|
|
3
|
+
export declare const extractClipboardText: (data: DataTransfer | null) => string;
|
|
4
|
+
//# sourceMappingURL=paste.utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paste.utils.d.ts","sourceRoot":"","sources":["../../src/utils/paste.utils.ts"],"names":[],"mappings":"AA0CA,eAAO,MAAM,kBAAkB,GAAI,MAAM,MAAM,KAAG,MAOjD,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,MAAM,YAAY,GAAG,IAAI,KAAG,MAGhE,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,MAAM,YAAY,GAAG,IAAI,KAAG,MAGhE,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { INK_PASTE_ALLOWED_TAGS as s, INK_PASTE_ALLOWED_ATTRS as m } from "../constants/premium.const.js";
|
|
2
|
+
const u = new Set(s), f = new Set(m), c = (e, o) => {
|
|
3
|
+
if (e.nodeType === Node.TEXT_NODE) {
|
|
4
|
+
o.appendChild(e.cloneNode(!0));
|
|
5
|
+
return;
|
|
6
|
+
}
|
|
7
|
+
if (e.nodeType !== Node.ELEMENT_NODE) return;
|
|
8
|
+
const n = e, t = n.tagName.toLowerCase();
|
|
9
|
+
if (t === "script" || t === "style" || t === "iframe" || t === "object")
|
|
10
|
+
return;
|
|
11
|
+
if (!u.has(t)) {
|
|
12
|
+
Array.from(n.childNodes).forEach((r) => c(r, o));
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
const i = document.createElement(t);
|
|
16
|
+
Array.from(n.attributes).forEach((r) => {
|
|
17
|
+
const a = r.name.toLowerCase();
|
|
18
|
+
f.has(a) && (a.startsWith("on") || (a === "href" || a === "src") && r.value.trim().toLowerCase().startsWith("javascript:") || i.setAttribute(r.name, r.value));
|
|
19
|
+
}), Array.from(n.childNodes).forEach((r) => c(r, i)), o.appendChild(i);
|
|
20
|
+
}, E = (e) => {
|
|
21
|
+
if (!e.trim()) return "";
|
|
22
|
+
const o = document.createElement("template");
|
|
23
|
+
o.innerHTML = e;
|
|
24
|
+
const n = document.createElement("div");
|
|
25
|
+
return Array.from(o.content.childNodes).forEach((t) => c(t, n)), n.innerHTML;
|
|
26
|
+
}, d = (e) => e && e.getData("text/html") || "", T = (e) => e && e.getData("text/plain") || "";
|
|
27
|
+
export {
|
|
28
|
+
d as extractClipboardHtml,
|
|
29
|
+
T as extractClipboardText,
|
|
30
|
+
E as sanitizePastedHtml
|
|
31
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../constants/premium.const.cjs"),E=()=>Object.fromEntries(r.INK_PREMIUM_FEATURES.map(e=>[e,!1])),n=()=>Object.fromEntries(r.INK_PREMIUM_FEATURES.map(e=>[e,!0])),l=/^[A-Z0-9]{4}(?:_[A-Z0-9]{4}){3}$/,u=e=>{if(!e)return!1;const t=e.trim();if(!t.startsWith(r.INK_PREMIUM_LICENSE_PREFIX))return!1;const s=t.slice(r.INK_PREMIUM_LICENSE_PREFIX.length);return l.test(s)},I=e=>{const t=!!(e!=null&&e.enabled||u(e==null?void 0:e.licenseKey));if(!t)return{active:!1,features:E()};const s=n();if(e!=null&&e.features)for(const a of r.INK_PREMIUM_FEATURES)e.features[a]===!1&&(s[a]=!1);return{active:t,features:s}},_=(e,t)=>e.active&&e.features[t],m=e=>{if(!e)return{};const t={};return Object.keys(r.INK_THEME_CSS_VARS).forEach(s=>{const a=e[s];a&&(t[r.INK_THEME_CSS_VARS[s]]=a)}),t};exports.hasInkPremiumFeature=_;exports.isInkPremiumLicenseKey=u;exports.resolveInkPremium=I;exports.themeTokensToStyle=m;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { InkPremiumConfig, InkPremiumFeature, InkResolvedPremium, InkThemeTokens } from '../types';
|
|
2
|
+
export declare const isInkPremiumLicenseKey: (licenseKey?: string) => boolean;
|
|
3
|
+
export declare const resolveInkPremium: (config?: InkPremiumConfig) => InkResolvedPremium;
|
|
4
|
+
export declare const hasInkPremiumFeature: (premium: InkResolvedPremium, feature: InkPremiumFeature) => boolean;
|
|
5
|
+
export declare const themeTokensToStyle: (theme?: InkThemeTokens) => Record<string, string>;
|
|
6
|
+
//# sourceMappingURL=premium.utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"premium.utils.d.ts","sourceRoot":"","sources":["../../src/utils/premium.utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACf,MAAM,UAAU,CAAC;AAqBlB,eAAO,MAAM,sBAAsB,GAAI,aAAa,MAAM,KAAG,OAM5D,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,SAAS,gBAAgB,KAAG,kBAc7D,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,SAAS,kBAAkB,EAC3B,SAAS,iBAAiB,KACzB,OAAsD,CAAC;AAE1D,eAAO,MAAM,kBAAkB,GAAI,QAAQ,cAAc,KAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAUhF,CAAC"}
|