@aicayzer/inkkit 0.5.0 → 0.6.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.
@@ -54959,6 +54959,14 @@ function codeControlsPlugin(visibleRect) {
54959
54959
  button.setAttribute("aria-label", labels.codeLanguage);
54960
54960
  button.setAttribute("aria-haspopup", "dialog");
54961
54961
  button.setAttribute("aria-expanded", "false");
54962
+ const chevron = document.createElementNS("http://www.w3.org/2000/svg", "svg");
54963
+ chevron.setAttribute("viewBox", "0 0 12 12");
54964
+ chevron.setAttribute("aria-hidden", "true");
54965
+ chevron.setAttribute("focusable", "false");
54966
+ const path = document.createElementNS("http://www.w3.org/2000/svg", "path");
54967
+ path.setAttribute("d", "m3 4.5 3 3 3-3");
54968
+ chevron.append(path);
54969
+ button.append(chevron);
54962
54970
  wrapper.append(button);
54963
54971
  let popup;
54964
54972
  let restore;
@@ -54971,7 +54979,7 @@ function codeControlsPlugin(visibleRect) {
54971
54979
  if (focus) button.focus();
54972
54980
  };
54973
54981
  button.addEventListener("mousedown", (event) => event.preventDefault());
54974
- button.addEventListener("click", () => {
54982
+ button.addEventListener("click", (event) => {
54975
54983
  if (popup) {
54976
54984
  close();
54977
54985
  return;
@@ -54979,6 +54987,7 @@ function codeControlsPlugin(visibleRect) {
54979
54987
  const captured = view.state.doc;
54980
54988
  popup = document.createElement("span");
54981
54989
  popup.className = "inkkit-code-language-menu";
54990
+ popup.dataset.inkkitInputModality = event.detail === 0 ? "keyboard" : "pointer";
54982
54991
  popup.setAttribute("role", "dialog");
54983
54992
  popup.setAttribute("aria-label", labels.codeLanguage);
54984
54993
  popup.contentEditable = "false";
@@ -55031,7 +55040,11 @@ function codeControlsPlugin(visibleRect) {
55031
55040
  }
55032
55041
  };
55033
55042
  search.addEventListener("input", render);
55043
+ popup.addEventListener("pointerdown", () => {
55044
+ if (popup) popup.dataset.inkkitInputModality = "pointer";
55045
+ });
55034
55046
  popup.addEventListener("keydown", (event) => {
55047
+ if (popup && (event.key === "Tab" || event.key.startsWith("Arrow") || event.key === "Home" || event.key === "End" || event.key === "Enter")) popup.dataset.inkkitInputModality = "keyboard";
55035
55048
  if (event.key === "Escape") {
55036
55049
  event.preventDefault();
55037
55050
  event.stopPropagation();
@@ -55045,7 +55058,8 @@ function codeControlsPlugin(visibleRect) {
55045
55058
  if (event.key === "ArrowUp") {
55046
55059
  event.preventDefault();
55047
55060
  const options = [...list.querySelectorAll("button")];
55048
- options[(options.indexOf(document.activeElement) - 1 + options.length) % options.length]?.focus();
55061
+ const index = options.indexOf(document.activeElement);
55062
+ options[index < 0 ? options.length - 1 : (index - 1 + options.length) % options.length]?.focus();
55049
55063
  }
55050
55064
  if (event.key === "Enter" && event.target === search) {
55051
55065
  event.preventDefault();
@@ -57219,7 +57233,7 @@ async function createMilkdownEditor(root, options, runtime) {
57219
57233
  return true;
57220
57234
  }
57221
57235
  }));
57222
- }).use(labelsCtx).use(linkSchemesCtx).use(formatInputCtx).use(richTextGuard).use(runtime.plugins.paste).use(visibleClipboard).use(runtime.plugins.suggestions).use(runtime.plugins.keymap).use(createDialect(Boolean(options.images || options.files), Boolean(options.wikiLinks), Boolean(options.files))).use(codeControlCtx).use(codeControlsPlugin(() => runtime.visibleRect())).use(tablePlugins).use(tableBlock).use(runtime.plugins.change).use(runtime.plugins.historyInput).use(history).use(clipboard).use(cursor).use(taskListPlugin((operation) => runtime.mutate(operation))).use(undoTypedRule).use(quoteBackspace).use(calloutEnter).use(literalEnter).use(literalReread).use(listItemBackspace).use(nestedItemEnter).use(rejoinLists).use(movedListItems).use(textInputPolicy).use(runtime.copy ? codeCopyPlugin((text) => runtime.copy?.(text)) : []).use(placeholderPlugin).use(options.rendering?.codeHighlighting === false ? [] : (await import("./highlight-D3LQRB1-.js")).highlightPlugin).use(options.rendering?.diagramPreview === false || !diagramsAvailable() ? [] : mermaidPreview(runtime.diagrams, (error) => runtime.report(error))).use(selectionPlugin).use($prose(() => search())).use(runtime.plugins.policy).use(options.wikiLinks ? wikiLinkView(options.wikiLinks, {
57236
+ }).use(labelsCtx).use(linkSchemesCtx).use(formatInputCtx).use(richTextGuard).use(runtime.plugins.paste).use(visibleClipboard).use(runtime.plugins.suggestions).use(runtime.plugins.keymap).use(createDialect(Boolean(options.images || options.files), Boolean(options.wikiLinks), Boolean(options.files))).use(codeControlCtx).use(codeControlsPlugin(() => runtime.visibleRect())).use(tablePlugins).use(tableBlock).use(runtime.plugins.change).use(runtime.plugins.historyInput).use(history).use(clipboard).use(cursor).use(taskListPlugin((operation) => runtime.mutate(operation))).use(undoTypedRule).use(quoteBackspace).use(calloutEnter).use(literalEnter).use(literalReread).use(listItemBackspace).use(nestedItemEnter).use(rejoinLists).use(movedListItems).use(textInputPolicy).use(runtime.copy ? codeCopyPlugin((text) => runtime.copy?.(text)) : []).use(placeholderPlugin).use(options.rendering?.codeHighlighting === false ? [] : (await import("./highlight-ByA5v5o7.js")).highlightPlugin).use(options.rendering?.diagramPreview === false || !diagramsAvailable() ? [] : mermaidPreview(runtime.diagrams, (error) => runtime.report(error))).use(selectionPlugin).use($prose(() => search())).use(runtime.plugins.policy).use(options.wikiLinks ? wikiLinkView(options.wikiLinks, {
57223
57237
  capture: () => runtime.capture(),
57224
57238
  active: () => runtime.active(),
57225
57239
  labels: {
@@ -1,4 +1,4 @@
1
- import { a as Decoration, c as PluginKey, d as __toESM, i as $prose, o as DecorationSet, s as Plugin, u as __commonJSMin } from "./core-fEBASTpF.js";
1
+ import { a as Decoration, c as PluginKey, d as __toESM, i as $prose, o as DecorationSet, s as Plugin, u as __commonJSMin } from "./core-C37056dR.js";
2
2
  //#region node_modules/.pnpm/highlight.js@11.11.2/node_modules/highlight.js/es/languages/arduino.js
3
3
  /** @type LanguageFn */
4
4
  function cPlusPlus(hljs) {
package/dist/core.js CHANGED
@@ -1,2 +1,2 @@
1
- import { r as InkKitError, t as InkKitEditor } from "./chunks/core-fEBASTpF.js";
1
+ import { r as InkKitError, t as InkKitEditor } from "./chunks/core-C37056dR.js";
2
2
  export { InkKitEditor, InkKitError };
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { n as registerDiagram, r as InkKitError, t as InkKitEditor } from "./chunks/core-fEBASTpF.js";
1
+ import { n as registerDiagram, r as InkKitError, t as InkKitEditor } from "./chunks/core-C37056dR.js";
2
2
  //#region node_modules/.pnpm/dompurify@3.4.17/node_modules/dompurify/dist/purify.es.mjs
3
3
  /*! @license DOMPurify 3.4.17 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.17/LICENSE */
4
4
  function _OverloadYield(e, d) {
package/dist/style.css CHANGED
@@ -3,6 +3,7 @@
3
3
  box-sizing: border-box;
4
4
  color-scheme: var(--inkkit-color-scheme, light dark);
5
5
  color: var(--inkkit-text-color, CanvasText);
6
+ background: var(--inkkit-background-color, transparent);
6
7
  font-family: var(
7
8
  --inkkit-font-family,
8
9
  -apple-system,
@@ -628,7 +629,7 @@
628
629
  font-size: calc(var(--_inkkit-font-size) * 0.867);
629
630
  line-height: 1.5;
630
631
  background: var(--_inkkit-code-bg);
631
- border-radius: 8px;
632
+ border-radius: var(--inkkit-code-radius, 8px);
632
633
  padding: calc(var(--_inkkit-font-size) * 0.8)
633
634
  calc(var(--_inkkit-font-size) * 0.933);
634
635
  margin: 0 0 calc(var(--_inkkit-font-size) * 0.8);
@@ -679,9 +680,27 @@
679
680
  }
680
681
 
681
682
  .inkkit-root .ProseMirror blockquote {
683
+ position: relative;
682
684
  margin: 0 0 calc(var(--_inkkit-font-size) * 0.8);
683
- padding: 2px 0 2px calc(var(--_inkkit-font-size) * 0.8);
684
- border-left: 2px solid var(--_inkkit-accent);
685
+ padding: 2px 0 2px
686
+ calc(var(--_inkkit-font-size) * 0.8 + var(--inkkit-quote-rule-width, 2px));
687
+ }
688
+
689
+ .inkkit-root .ProseMirror blockquote::before {
690
+ content: '';
691
+ position: absolute;
692
+ inset: 0 auto 0 0;
693
+ width: var(--inkkit-quote-rule-width, 2px);
694
+ border-radius: var(--inkkit-quote-rule-radius, 0px);
695
+ background: var(--inkkit-quote-rule-color, var(--_inkkit-accent));
696
+ pointer-events: none;
697
+ }
698
+
699
+ @media (forced-colors: active) {
700
+ .inkkit-root .ProseMirror blockquote::before {
701
+ background: CanvasText;
702
+ forced-color-adjust: none;
703
+ }
685
704
  }
686
705
 
687
706
  .inkkit-root .ProseMirror blockquote > :first-child {
@@ -1211,6 +1230,9 @@
1211
1230
  user-select: none;
1212
1231
  }
1213
1232
  .inkkit-root .inkkit-code-language {
1233
+ display: inline-flex;
1234
+ align-items: center;
1235
+ gap: 5px;
1214
1236
  height: 24px;
1215
1237
  padding: 0 6px;
1216
1238
  border: 0;
@@ -1220,9 +1242,15 @@
1220
1242
  font: inherit;
1221
1243
  cursor: pointer;
1222
1244
  }
1223
- .inkkit-root .inkkit-code-language::after {
1224
- content: '⌄';
1225
- margin-left: 5px;
1245
+ .inkkit-root .inkkit-code-language svg {
1246
+ flex-shrink: 0;
1247
+ width: 12px;
1248
+ height: 12px;
1249
+ fill: none;
1250
+ stroke: currentColor;
1251
+ stroke-width: 1.25;
1252
+ stroke-linecap: round;
1253
+ stroke-linejoin: round;
1226
1254
  }
1227
1255
  .inkkit-root .inkkit-code-language:hover {
1228
1256
  background: color-mix(in srgb, CanvasText 7%, transparent);
@@ -1240,7 +1268,7 @@
1240
1268
  flex-direction: column;
1241
1269
  width: 220px;
1242
1270
  max-height: min(320px, 50vh);
1243
- padding: 5px;
1271
+ padding: 6px;
1244
1272
  box-sizing: border-box;
1245
1273
  border: 1px solid color-mix(in srgb, CanvasText 15%, transparent);
1246
1274
  border-radius: 8px;
@@ -1252,10 +1280,10 @@
1252
1280
  box-sizing: border-box;
1253
1281
  min-width: 0;
1254
1282
  width: 100%;
1255
- padding: 7px;
1256
- border: 0;
1257
- border-bottom: 1px solid color-mix(in srgb, CanvasText 12%, transparent);
1258
- background: transparent;
1283
+ padding: 7px 8px;
1284
+ border: 1px solid color-mix(in srgb, CanvasText 12%, transparent);
1285
+ border-radius: 5px;
1286
+ background: color-mix(in srgb, CanvasText 3%, transparent);
1259
1287
  color: inherit;
1260
1288
  font: inherit;
1261
1289
  }
@@ -1263,7 +1291,7 @@
1263
1291
  display: flex;
1264
1292
  flex-direction: column;
1265
1293
  overflow-y: auto;
1266
- padding-top: 4px;
1294
+ padding: 4px 0 0;
1267
1295
  }
1268
1296
  .inkkit-root .inkkit-code-language-list button {
1269
1297
  flex-shrink: 0;
@@ -1277,10 +1305,40 @@
1277
1305
  cursor: pointer;
1278
1306
  }
1279
1307
  .inkkit-root .inkkit-code-language-list button:hover,
1280
- .inkkit-root .inkkit-code-language-list button:focus-visible,
1308
+ .inkkit-root
1309
+ .inkkit-code-language-menu[data-inkkit-input-modality='keyboard']
1310
+ .inkkit-code-language-list
1311
+ button:focus,
1281
1312
  .inkkit-root .inkkit-code-language-list button[aria-pressed='true'] {
1282
1313
  background: color-mix(in srgb, CanvasText 8%, transparent);
1283
1314
  }
1315
+ .inkkit-root .inkkit-code-language-menu input:focus,
1316
+ .inkkit-root .inkkit-code-language-menu button:focus {
1317
+ outline: none;
1318
+ }
1319
+ .inkkit-root
1320
+ .inkkit-code-language-menu[data-inkkit-input-modality='keyboard']
1321
+ input:focus,
1322
+ .inkkit-root
1323
+ .inkkit-code-language-menu[data-inkkit-input-modality='keyboard']
1324
+ button:focus {
1325
+ outline: var(--inkkit-focus-width, 2px) solid
1326
+ var(--inkkit-focus-color, var(--_inkkit-accent));
1327
+ outline-offset: var(--inkkit-focus-offset, -2px);
1328
+ }
1329
+ @media (forced-colors: active) {
1330
+ .inkkit-root .inkkit-code-language-menu input {
1331
+ border-color: ButtonBorder;
1332
+ }
1333
+ .inkkit-root
1334
+ .inkkit-code-language-menu[data-inkkit-input-modality='keyboard']
1335
+ input:focus,
1336
+ .inkkit-root
1337
+ .inkkit-code-language-menu[data-inkkit-input-modality='keyboard']
1338
+ button:focus {
1339
+ outline-color: Highlight;
1340
+ }
1341
+ }
1284
1342
 
1285
1343
  .inkkit-root .milkdown-drop-indicator {
1286
1344
  background: var(--inkkit-drop-indicator-color, var(--_inkkit-accent));
@@ -0,0 +1,36 @@
1
+ :where([data-inkkit-theme='calm']) {
2
+ --inkkit-font-family:
3
+ -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
4
+ --inkkit-font-size: 15px;
5
+ --inkkit-paragraph-spacing: calc(var(--inkkit-font-size) * 0.667);
6
+ --inkkit-reading-width: 100%;
7
+ --inkkit-background-color: light-dark(#ffffff, #1d2430);
8
+ --inkkit-text-color: light-dark(#252c36, #e6eaf0);
9
+ --inkkit-muted-color: light-dark(#656f7c, #a4adbb);
10
+ --inkkit-accent-color: light-dark(#3064af, #9abbf5);
11
+ --inkkit-rule-color: light-dark(#dce2e9, #434d5e);
12
+ --inkkit-checkbox-border-color: var(--inkkit-muted-color);
13
+ --inkkit-code-background: light-dark(#f3f5f8, #272e3a);
14
+ --inkkit-table-radius: 8px;
15
+ --inkkit-code-radius: 8px;
16
+ --inkkit-quote-rule-width: 3px;
17
+ --inkkit-quote-rule-radius: 2px;
18
+ --inkkit-quote-rule-color: light-dark(#a6a6a6, #777777);
19
+ --inkkit-code-comment: light-dark(#6e6e6e, #99999a);
20
+ --inkkit-code-keyword: light-dark(#a626a4, #c77bde);
21
+ --inkkit-code-string: light-dark(#3b763a, #98c379);
22
+ --inkkit-code-number: light-dark(#8d6001, #d19a66);
23
+ --inkkit-code-title: light-dark(#8d6101, #e5c07b);
24
+ --inkkit-code-attr: light-dark(#c82c1e, #e37981);
25
+ --inkkit-diagram-background: light-dark(#ffffff, #1d2430);
26
+ --inkkit-diagram-text-color: light-dark(#252c36, #e6eaf0);
27
+ --inkkit-diagram-color-strength: 35%;
28
+ --inkkit-diagram-series-1: light-dark(#4d87d5, #9abbf5);
29
+ --inkkit-diagram-series-2: light-dark(#69ad91, #a1d6bd);
30
+ --inkkit-diagram-series-3: light-dark(#9b80ce, #c4aff0);
31
+ --inkkit-diagram-series-4: light-dark(#d6a660, #edce9b);
32
+ --inkkit-diagram-series-5: light-dark(#ce819a, #eeb4c8);
33
+ --inkkit-diagram-series-6: light-dark(#65b4b1, #9edbd7);
34
+ --inkkit-diagram-series-7: light-dark(#cab85d, #e9dd99);
35
+ --inkkit-diagram-series-8: light-dark(#7ca9c5, #b1d6ed);
36
+ }
@@ -0,0 +1,36 @@
1
+ :where([data-inkkit-theme='essential']) {
2
+ --inkkit-font-family:
3
+ -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
4
+ --inkkit-font-size: 15px;
5
+ --inkkit-paragraph-spacing: calc(var(--inkkit-font-size) * 0.667);
6
+ --inkkit-reading-width: 100%;
7
+ --inkkit-background-color: light-dark(#ffffff, #1c1c1c);
8
+ --inkkit-text-color: light-dark(#262626, #e8e8e8);
9
+ --inkkit-muted-color: light-dark(#707070, #a6a6a6);
10
+ --inkkit-accent-color: light-dark(#555555, #c4c4c4);
11
+ --inkkit-rule-color: light-dark(#dddddd, #444444);
12
+ --inkkit-checkbox-border-color: var(--inkkit-muted-color);
13
+ --inkkit-code-background: light-dark(#f7f7f7, #2a2a2a);
14
+ --inkkit-table-radius: 4px;
15
+ --inkkit-code-radius: 4px;
16
+ --inkkit-quote-rule-width: 3px;
17
+ --inkkit-quote-rule-radius: 2px;
18
+ --inkkit-quote-rule-color: light-dark(#a6a6a6, #777777);
19
+ --inkkit-code-comment: light-dark(#707070, #929292);
20
+ --inkkit-code-keyword: light-dark(#333333, #eeeeee);
21
+ --inkkit-code-string: light-dark(#686868, #bbbbbb);
22
+ --inkkit-code-number: light-dark(#555555, #c8c8c8);
23
+ --inkkit-code-title: light-dark(#444444, #dddddd);
24
+ --inkkit-code-attr: light-dark(#707070, #aaaaaa);
25
+ --inkkit-diagram-background: light-dark(#ffffff, #1c1c1c);
26
+ --inkkit-diagram-text-color: light-dark(#262626, #e8e8e8);
27
+ --inkkit-diagram-color-strength: 75%;
28
+ --inkkit-diagram-series-1: light-dark(#3d3d3d, #eeeeee);
29
+ --inkkit-diagram-series-2: light-dark(#5a5a5a, #d6d6d6);
30
+ --inkkit-diagram-series-3: light-dark(#747474, #bebebe);
31
+ --inkkit-diagram-series-4: light-dark(#8b8b8b, #a6a6a6);
32
+ --inkkit-diagram-series-5: light-dark(#a0a0a0, #8e8e8e);
33
+ --inkkit-diagram-series-6: light-dark(#b4b4b4, #767676);
34
+ --inkkit-diagram-series-7: light-dark(#c6c6c6, #5e5e5e);
35
+ --inkkit-diagram-series-8: light-dark(#d7d7d7, #464646);
36
+ }
@@ -0,0 +1,39 @@
1
+ :where([data-inkkit-theme='standard']) {
2
+ --inkkit-font-family:
3
+ -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
4
+ --inkkit-font-size: 15px;
5
+ --inkkit-paragraph-spacing: calc(var(--inkkit-font-size) * 0.667);
6
+ --inkkit-reading-width: 100%;
7
+ --inkkit-background-color: light-dark(#ffffff, #1c1c1e);
8
+ --inkkit-text-color: CanvasText;
9
+ --inkkit-muted-color: light-dark(#6e6e6e, #99999a);
10
+ --inkkit-accent-color: light-dark(#0069d1, #409cff);
11
+ --inkkit-rule-color: color-mix(in srgb, CanvasText 14%, transparent);
12
+ --inkkit-checkbox-border-color: var(--inkkit-muted-color);
13
+ --inkkit-code-background: light-dark(
14
+ #f3f5f8,
15
+ color-mix(in srgb, CanvasText 8%, transparent)
16
+ );
17
+ --inkkit-table-radius: 8px;
18
+ --inkkit-code-radius: 8px;
19
+ --inkkit-quote-rule-width: 3px;
20
+ --inkkit-quote-rule-radius: 2px;
21
+ --inkkit-quote-rule-color: light-dark(#a6a6a6, #777777);
22
+ --inkkit-code-comment: light-dark(#6e6e6e, #99999a);
23
+ --inkkit-code-keyword: light-dark(#a626a4, #c77bde);
24
+ --inkkit-code-string: light-dark(#3b763a, #98c379);
25
+ --inkkit-code-number: light-dark(#8d6001, #d19a66);
26
+ --inkkit-code-title: light-dark(#8d6101, #e5c07b);
27
+ --inkkit-code-attr: light-dark(#c82c1e, #e37981);
28
+ --inkkit-diagram-background: light-dark(#ffffff, #1c1c1e);
29
+ --inkkit-diagram-text-color: light-dark(#1c1c1e, #f2f2f7);
30
+ --inkkit-diagram-color-strength: 35%;
31
+ --inkkit-diagram-series-1: light-dark(#0088ff, #0091ff);
32
+ --inkkit-diagram-series-2: light-dark(#34c759, #30d158);
33
+ --inkkit-diagram-series-3: light-dark(#6155f5, #6d7cff);
34
+ --inkkit-diagram-series-4: light-dark(#ff8d28, #ff9230);
35
+ --inkkit-diagram-series-5: light-dark(#ff383c, #ff4245);
36
+ --inkkit-diagram-series-6: light-dark(#00c8b3, #00dac3);
37
+ --inkkit-diagram-series-7: light-dark(#ffcc00, #ffd600);
38
+ --inkkit-diagram-series-8: light-dark(#00c0e8, #3cd3fe);
39
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aicayzer/inkkit",
3
- "version": "0.5.0",
3
+ "version": "0.6.0",
4
4
  "description": "A preserving Markdown editor for offline web views and the web",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -17,7 +17,10 @@
17
17
  "types": "./dist/core.d.ts",
18
18
  "import": "./dist/core.js"
19
19
  },
20
- "./style.css": "./dist/style.css"
20
+ "./style.css": "./dist/style.css",
21
+ "./themes/standard.css": "./dist/themes/standard.css",
22
+ "./themes/calm.css": "./dist/themes/calm.css",
23
+ "./themes/essential.css": "./dist/themes/essential.css"
21
24
  },
22
25
  "types": "./dist/index.d.ts",
23
26
  "files": [