@promptbook/components 0.103.0-10 → 0.103.0-12

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.
@@ -15,7 +15,7 @@ export declare const BOOK_LANGUAGE_VERSION: string_semantic_version;
15
15
  export declare const PROMPTBOOK_ENGINE_VERSION: string_promptbook_version;
16
16
  /**
17
17
  * Represents the version string of the Promptbook engine.
18
- * It follows semantic versioning (e.g., `0.103.0-9`).
18
+ * It follows semantic versioning (e.g., `0.103.0-11`).
19
19
  *
20
20
  * @generated
21
21
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@promptbook/components",
3
- "version": "0.103.0-10",
3
+ "version": "0.103.0-12",
4
4
  "description": "Promptbook: Turn your company's scattered knowledge into AI ready books",
5
5
  "private": false,
6
6
  "sideEffects": false,
package/umd/index.umd.js CHANGED
@@ -25,7 +25,7 @@
25
25
  * @generated
26
26
  * @see https://github.com/webgptorg/promptbook
27
27
  */
28
- const PROMPTBOOK_ENGINE_VERSION = '0.103.0-10';
28
+ const PROMPTBOOK_ENGINE_VERSION = '0.103.0-12';
29
29
  /**
30
30
  * TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
31
31
  * Note: [💞] Ignore a discrepancy between file name and entity name
@@ -3299,7 +3299,7 @@
3299
3299
  * TODO: [🧠][🧜‍♂️] Maybe join remoteServerUrl and path into single value
3300
3300
  */
3301
3301
 
3302
- var css_248z$3 = ".BookEditor-module_BookEditor__s-0PU{height:450px;width:100%}.BookEditor-module_bookEditorContainer__wLMwM{height:100%;width:100%}.BookEditor-module_bookEditorContainer__wLMwM.BookEditor-module_isVerbose__VQ6iL{background-color:rgba(0,0,0,.05);outline:1px dotted rgba(0,0,0,.5)}.BookEditor-module_isVerbose__VQ6iL{outline:2px dotted #ff7526}.BookEditor-module_bookEditorWrapper__twppD{background-color:#fff;border:1px solid rgba(209,213,219,.8);border-radius:1rem;box-shadow:0 1px 2px 0 rgba(0,0,0,.05);overflow:hidden;padding-top:10px;transition:box-shadow .2s ease-in-out}.BookEditor-module_isVerbose__VQ6iL .BookEditor-module_bookEditorWrapper__twppD{overflow:visible}.BookEditor-module_bookEditorWrapper__twppD:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.BookEditor-module_bookEditorWrapper__twppD:focus-within{box-shadow:0 0 0 3px rgba(99,102,241,.4);outline:2px solid transparent;outline-offset:2px}.BookEditor-module_bookEditorWrapper__twppD.BookEditor-module_isBorderRadiusDisabled__h1I3v{border-radius:0}.BookEditor-module_dropOverlay__xWWoX{align-items:center;background-color:rgba(0,0,0,.5);bottom:0;color:#fff;display:flex;font-size:1.5rem;justify-content:center;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:100}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkJvb2tFZGl0b3IubW9kdWxlLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxQ0FDSSxZQUFhLENBQ2IsVUFDSixDQUVBLDhDQUVJLFdBQVksQ0FEWixVQUVKLENBRUEsaUZBRUksZ0NBQXFDLENBQ3JDLGlDQUVKLENBRUEsb0NBQ0ksMEJBQ0osQ0FFQSw0Q0FLSSxxQkFBdUIsQ0FEdkIscUNBQTBDLENBRjFDLGtCQUFtQixDQUluQixzQ0FBMkMsQ0FMM0MsZUFBZ0IsQ0FFaEIsZ0JBQWlCLENBSWpCLHFDQUNKLENBQ0EsZ0ZBRUksZ0JBRUosQ0FFQSxrREFDSSx1RUFDSixDQUVBLHlEQUdJLHdDQUE2QyxDQUY3Qyw2QkFBOEIsQ0FDOUIsa0JBRUosQ0FFQSw0RkFDSSxlQUNKLENBRUEsc0NBU0ksa0JBQW1CLENBSG5CLCtCQUFvQyxDQURwQyxRQUFTLENBRVQsVUFBWSxDQUNaLFlBQWEsQ0FHYixnQkFBaUIsQ0FEakIsc0JBQXVCLENBUHZCLE1BQU8sQ0FVUCxtQkFBb0IsQ0FacEIsaUJBQWtCLENBR2xCLE9BQVEsQ0FGUixLQUFNLENBVU4sV0FFSiIsImZpbGUiOiJCb29rRWRpdG9yLm1vZHVsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuQm9va0VkaXRvciB7XG4gICAgaGVpZ2h0OiA0NTBweDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmJvb2tFZGl0b3JDb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbn1cblxuLmJvb2tFZGl0b3JDb250YWluZXIuaXNWZXJib3NlIHtcbiAgICAvKiovXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgICBvdXRsaW5lOiAxcHggZG90dGVkIHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICAvKiovXG59XG5cbi5pc1ZlcmJvc2Uge1xuICAgIG91dGxpbmU6IDJweCBkb3R0ZWQgcmdiKDI1NSAxMTcgMzgpO1xufVxuXG4uYm9va0VkaXRvcldyYXBwZXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm9yZGVyLXJhZGl1czogMXJlbTtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIwOSwgMjEzLCAyMTksIDAuOCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgYm94LXNoYWRvdzogMCAxcHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMnMgZWFzZS1pbi1vdXQ7XG59XG4uaXNWZXJib3NlIC5ib29rRWRpdG9yV3JhcHBlciB7XG4gICAgLyoqL1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIC8qKi9cbn1cblxuLmJvb2tFZGl0b3JXcmFwcGVyOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDRweCA2cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMSksIDAgMnB4IDRweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4wNik7XG59XG5cbi5ib29rRWRpdG9yV3JhcHBlcjpmb2N1cy13aXRoaW4ge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDk5LCAxMDIsIDI0MSwgMC40KTtcbn1cblxuLmJvb2tFZGl0b3JXcmFwcGVyLmlzQm9yZGVyUmFkaXVzRGlzYWJsZWQge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi5kcm9wT3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICB6LWluZGV4OiAxMDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4iXX0= */";
3302
+ var css_248z$3 = ".BookEditor-module_BookEditor__s-0PU{height:450px;width:100%}.BookEditor-module_bookEditorContainer__wLMwM{box-sizing:border-box;height:100%;padding:10px 25px 0;position:relative;width:100%}.BookEditor-module_bookEditorContainer__wLMwM.BookEditor-module_isVerbose__VQ6iL{background-color:rgba(0,0,0,.05);outline:1px dotted rgba(0,0,0,.5)}.BookEditor-module_isVerbose__VQ6iL{outline:2px dotted #ff7526}.BookEditor-module_bookEditorWrapper__twppD{background-color:#fff;border:1px solid rgba(209,213,219,.8);border-radius:1rem;box-shadow:0 1px 2px 0 rgba(0,0,0,.05);overflow:hidden;padding-top:10px;transition:box-shadow .2s ease-in-out}.BookEditor-module_isVerbose__VQ6iL .BookEditor-module_bookEditorWrapper__twppD{overflow:visible}.BookEditor-module_bookEditorWrapper__twppD:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.BookEditor-module_bookEditorWrapper__twppD.BookEditor-module_isBorderRadiusDisabled__h1I3v{border-radius:0}.BookEditor-module_dropOverlay__xWWoX{align-items:center;background-color:rgba(0,0,0,.5);bottom:0;color:#fff;display:flex;font-size:1.5rem;justify-content:center;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:100}.BookEditor-module_bookEditorContainer__wLMwM .view-line{border-bottom:1px solid #eee}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkJvb2tFZGl0b3IubW9kdWxlLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxQ0FDSSxZQUFhLENBQ2IsVUFDSixDQUVBLDhDQUtJLHFCQUFzQixDQUh0QixXQUFZLENBRVosbUJBQW9CLENBRHBCLGlCQUFrQixDQUZsQixVQUtKLENBRUEsaUZBRUksZ0NBQXFDLENBQ3JDLGlDQUVKLENBRUEsb0NBQ0ksMEJBQ0osQ0FFQSw0Q0FLSSxxQkFBdUIsQ0FEdkIscUNBQTBDLENBRjFDLGtCQUFtQixDQUluQixzQ0FBMkMsQ0FMM0MsZUFBZ0IsQ0FFaEIsZ0JBQWlCLENBSWpCLHFDQUNKLENBQ0EsZ0ZBRUksZ0JBRUosQ0FFQSxrREFDSSx1RUFDSixDQVVBLDRGQUNJLGVBQ0osQ0FFQSxzQ0FTSSxrQkFBbUIsQ0FIbkIsK0JBQW9DLENBRHBDLFFBQVMsQ0FFVCxVQUFZLENBQ1osWUFBYSxDQUdiLGdCQUFpQixDQURqQixzQkFBdUIsQ0FQdkIsTUFBTyxDQVVQLG1CQUFvQixDQVpwQixpQkFBa0IsQ0FHbEIsT0FBUSxDQUZSLEtBQU0sQ0FVTixXQUVKLENBRUEseURBQ0ksNEJBQ0oiLCJmaWxlIjoiQm9va0VkaXRvci5tb2R1bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLkJvb2tFZGl0b3Ige1xuICAgIGhlaWdodDogNDUwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5ib29rRWRpdG9yQ29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDEwcHggMjVweCAwO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5ib29rRWRpdG9yQ29udGFpbmVyLmlzVmVyYm9zZSB7XG4gICAgLyoqL1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgLyoqL1xufVxuXG4uaXNWZXJib3NlIHtcbiAgICBvdXRsaW5lOiAycHggZG90dGVkIHJnYigyNTUgMTE3IDM4KTtcbn1cblxuLmJvb2tFZGl0b3JXcmFwcGVyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMDksIDIxMywgMjE5LCAwLjgpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjJzIGVhc2UtaW4tb3V0O1xufVxuLmlzVmVyYm9zZSAuYm9va0VkaXRvcldyYXBwZXIge1xuICAgIC8qKi9cbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAvKiovXG59XG5cbi5ib29rRWRpdG9yV3JhcHBlcjpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCA0cHggNnB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjEpLCAwIDJweCA0cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMDYpO1xufVxuXG4uYm9va0VkaXRvcldyYXBwZXI6Zm9jdXMtd2l0aGluIHtcbiAgICAvKlxuICAgIG91dGxpbmU6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDk5LCAxMDIsIDI0MSwgMC40KTtcbiAgICAqL1xufVxuXG4uYm9va0VkaXRvcldyYXBwZXIuaXNCb3JkZXJSYWRpdXNEaXNhYmxlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLmRyb3BPdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmJvb2tFZGl0b3JDb250YWluZXIgOmdsb2JhbCgudmlldy1saW5lKSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWU7XG59XG4iXX0= */";
3303
3303
  var styles$2 = {"BookEditor":"BookEditor-module_BookEditor__s-0PU","bookEditorContainer":"BookEditor-module_bookEditorContainer__wLMwM","isVerbose":"BookEditor-module_isVerbose__VQ6iL","bookEditorWrapper":"BookEditor-module_bookEditorWrapper__twppD","isBorderRadiusDisabled":"BookEditor-module_isBorderRadiusDisabled__h1I3v","dropOverlay":"BookEditor-module_dropOverlay__xWWoX"};
3304
3304
  styleInject(css_248z$3);
3305
3305
 
@@ -3317,30 +3317,56 @@
3317
3317
  }
3318
3318
  // Register a new language
3319
3319
  monaco.languages.register({ id: BOOK_LANGUAGE_ID });
3320
- const commitmentTypes = getAllCommitmentDefinitions().map(({ type }) => type);
3320
+ const commitmentTypes = [...new Set(getAllCommitmentDefinitions().map(({ type }) => type))];
3321
3321
  const keywordRegex = new RegExp(`^(${commitmentTypes.join('|')})`);
3322
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
3323
+ const bookRules = [
3324
+ [/@\w+/, 'parameter'],
3325
+ [/\{[^}]+\}/, 'parameter'],
3326
+ [keywordRegex, 'keyword'],
3327
+ ];
3322
3328
  // Register a tokens provider for the language
3323
- monaco.languages.setMonarchTokensProvider(BOOK_LANGUAGE_ID, {
3329
+ const tokenProvider = monaco.languages.setMonarchTokensProvider(BOOK_LANGUAGE_ID, {
3330
+ ignoreCase: true,
3324
3331
  tokenizer: {
3325
- root: [
3326
- [/^a*$/, 'title'],
3327
- [/@\w+/, 'parameter'],
3328
- [/\{[^}]+\}/, 'parameter'],
3329
- [keywordRegex, 'keyword'],
3330
- ],
3332
+ root: [[/^.*$/, 'title', '@body']],
3333
+ body: bookRules,
3334
+ },
3335
+ });
3336
+ // Register a completion item provider for the language
3337
+ const completionProvider = monaco.languages.registerCompletionItemProvider(BOOK_LANGUAGE_ID, {
3338
+ provideCompletionItems: (model, position) => {
3339
+ const word = model.getWordUntilPosition(position);
3340
+ const range = {
3341
+ startLineNumber: position.lineNumber,
3342
+ endLineNumber: position.lineNumber,
3343
+ startColumn: word.startColumn,
3344
+ endColumn: word.endColumn,
3345
+ };
3346
+ const suggestions = commitmentTypes.map((type) => ({
3347
+ label: type,
3348
+ kind: monaco.languages.CompletionItemKind.Keyword,
3349
+ insertText: type,
3350
+ range: range,
3351
+ }));
3352
+ return { suggestions: suggestions };
3331
3353
  },
3332
3354
  });
3333
3355
  monaco.editor.defineTheme('book-theme', {
3334
3356
  base: 'vs',
3335
3357
  inherit: true,
3336
3358
  rules: [
3337
- { token: 'title', foreground: 'DA0F78', fontStyle: 'bold italic' },
3359
+ { token: 'title', foreground: '000000', fontStyle: 'bold underline' },
3338
3360
  { token: 'keyword', foreground: 'DA0F78' },
3339
3361
  { token: 'parameter', foreground: '8e44ad', fontStyle: `italic` },
3340
3362
  ],
3341
3363
  colors: {},
3342
3364
  });
3343
3365
  monaco.editor.setTheme('book-theme');
3366
+ return () => {
3367
+ tokenProvider.dispose();
3368
+ completionProvider.dispose();
3369
+ };
3344
3370
  }, [monaco]);
3345
3371
  const handleDrop = react.useCallback(async (event) => {
3346
3372
  event.preventDefault();
@@ -3376,30 +3402,20 @@
3376
3402
  event.preventDefault();
3377
3403
  setIsDragOver(false);
3378
3404
  }, []);
3379
- return (jsxRuntime.jsxs("div", { className: classNames(styles$2.bookEditorContainer), onDrop: handleDrop, onDragOver: handleDragOver, onDragEnter: handleDragEnter, onDragLeave: handleDragLeave, children: [isDragOver && jsxRuntime.jsx("div", { className: styles$2.dropOverlay, children: "Drop files to upload" }), jsxRuntime.jsx(Editor__default["default"], { language: BOOK_LANGUAGE_ID, value: value, onChange: (newValue) => onChange === null || onChange === void 0 ? void 0 : onChange(newValue), onMount: (editor) => {
3380
- if (!monaco) {
3381
- return;
3382
- }
3383
- const model = editor.getModel();
3384
- if (!model) {
3385
- return;
3386
- }
3387
- const firstLine = model.getLineContent(1);
3388
- editor.deltaDecorations([], [
3389
- {
3390
- range: new monaco.Range(1, 1, 1, firstLine.length + 1),
3391
- options: {
3392
- inlineClassName: 'book-title',
3393
- },
3394
- },
3395
- ]);
3396
- }, options: {
3405
+ return (jsxRuntime.jsxs("div", { className: classNames(styles$2.bookEditorContainer), onDrop: handleDrop, onDragOver: handleDragOver, onDragEnter: handleDragEnter, onDragLeave: handleDragLeave, children: [isDragOver && jsxRuntime.jsx("div", { className: styles$2.dropOverlay, children: "Drop files to upload" }), jsxRuntime.jsx(Editor__default["default"], { language: BOOK_LANGUAGE_ID, value: value, onChange: (newValue) => onChange === null || onChange === void 0 ? void 0 : onChange(newValue), options: {
3397
3406
  readOnly: isReadonly,
3398
3407
  wordWrap: 'on',
3399
3408
  minimap: { enabled: false },
3400
3409
  lineNumbers: 'off',
3401
3410
  fontSize: 20,
3402
3411
  fontFamily: `ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif`,
3412
+ lineHeight: 28,
3413
+ renderLineHighlight: 'none',
3414
+ // Note: To add little lines between each line of the book, like a notebook page
3415
+ glyphMargin: false,
3416
+ folding: false,
3417
+ lineDecorationsWidth: 0,
3418
+ lineNumbersMinChars: 0,
3403
3419
  }, loading: jsxRuntime.jsx("div", { className: styles$2.loading, children: "\uD83D\uDCD6" }) })] }));
3404
3420
  }
3405
3421