@omegagrid/markdown 0.9.38 → 0.9.39

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.
Files changed (47) hide show
  1. package/dist/components/features/blockEdit.d.ts +1 -1
  2. package/dist/components/features/blockEdit.d.ts.map +1 -1
  3. package/dist/components/features/blockEdit.js +7 -128
  4. package/dist/components/features/blockEditMenu.d.ts +1 -1
  5. package/dist/components/features/blockEditMenu.d.ts.map +1 -1
  6. package/dist/components/features/blockEditMenu.js +5 -226
  7. package/dist/components/features/codeBlock.js +1 -135
  8. package/dist/components/features/htmlBlock.d.ts +1 -1
  9. package/dist/components/features/htmlBlock.d.ts.map +1 -1
  10. package/dist/components/features/htmlBlock.js +11 -132
  11. package/dist/components/features/index.d.ts.map +1 -1
  12. package/dist/components/features/index.js +1 -178
  13. package/dist/components/features/index.js.map +1 -1
  14. package/dist/components/features/linkEdit/component.d.ts +1 -1
  15. package/dist/components/features/linkEdit/component.d.ts.map +1 -1
  16. package/dist/components/features/linkEdit/component.js +5 -42
  17. package/dist/components/features/linkEdit/config.js +1 -64
  18. package/dist/components/features/linkEdit/index.js +1 -14
  19. package/dist/components/features/linkEdit/slices.js +1 -23
  20. package/dist/components/features/linkEdit/utils.js +1 -33
  21. package/dist/components/features/linkEdit/view.js +1 -135
  22. package/dist/components/features/placeholder.js +1 -50
  23. package/dist/components/features/toolbar.d.ts +1 -1
  24. package/dist/components/features/toolbar.d.ts.map +1 -1
  25. package/dist/components/features/toolbar.js +13 -127
  26. package/dist/components/features/utils.js +1 -64
  27. package/dist/components/index.js +1 -4
  28. package/dist/components/markdownEditor.d.ts +1 -1
  29. package/dist/components/markdownEditor.d.ts.map +1 -1
  30. package/dist/components/markdownEditor.js +2 -138
  31. package/dist/components/markdownEditor.style.js +2 -22
  32. package/dist/components/markdownView.js +1 -19
  33. package/dist/components/markdownView.style.js +2 -4
  34. package/dist/components/styles/block-edit.js +2 -4
  35. package/dist/components/styles/cursor.js +2 -4
  36. package/dist/components/styles/image-block.js +2 -4
  37. package/dist/components/styles/index.js +1 -19
  38. package/dist/components/styles/link-tooltip.js +2 -4
  39. package/dist/components/styles/list-item.js +2 -4
  40. package/dist/components/styles/placeholder.js +2 -4
  41. package/dist/components/styles/prosemirror.js +2 -4
  42. package/dist/components/styles/table.js +2 -4
  43. package/dist/constants.js +1 -5
  44. package/dist/index.js +1 -4
  45. package/dist/loader.js +1 -46
  46. package/dist/utils.js +1 -62
  47. package/package.json +6 -6
@@ -1,143 +1,7 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
- };
12
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
13
- if (kind === "m") throw new TypeError("Private method is not writable");
14
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
15
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
16
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
17
- };
18
- var _MarkdownEditor_content, _MarkdownEditor_editor;
19
- import { dom, events } from '@omegagrid/core';
20
- import { LitElement, html } from 'lit';
21
- import { customElement, query, property } from 'lit/decorators.js';
22
- import { style } from './markdownEditor.style';
23
- import styles from './styles';
24
- import { createEditor } from '../utils';
25
- export class MarkdownLinkEvent extends Event {
26
- constructor(args) {
27
- super(`markdown.link`, { bubbles: true, composed: true, cancelable: true });
28
- Object.assign(this, args);
29
- }
30
- }
31
- let MarkdownEditor = class MarkdownEditor extends LitElement {
32
- get content() { return __classPrivateFieldGet(this, _MarkdownEditor_content, "f"); }
33
- set content(val) {
34
- __classPrivateFieldSet(this, _MarkdownEditor_content, val, "f");
35
- __classPrivateFieldGet(this, _MarkdownEditor_editor, "f")?.destroy();
36
- __classPrivateFieldSet(this, _MarkdownEditor_editor, null, "f");
37
- this.requestUpdate();
38
- }
39
- get milkdownElm() { return this.container.firstElementChild; }
40
- get editor() { return __classPrivateFieldGet(this, _MarkdownEditor_editor, "f"); }
41
- constructor() {
42
- super();
43
- _MarkdownEditor_content.set(this, void 0);
44
- this.maxContentWidth = 800;
45
- this.contentAlignment = 'left';
46
- this.readOnly = false;
47
- _MarkdownEditor_editor.set(this, void 0);
48
- this._onChange = (markdown, prevMarkdown) => {
49
- __classPrivateFieldSet(this, _MarkdownEditor_content, markdown, "f");
50
- this.dispatchEvent(new events.ChangeEvent({ value: markdown, oldValue: prevMarkdown }));
51
- };
52
- this.render = () => html `
1
+ var _MarkdownEditor_content,_MarkdownEditor_editor,__decorate=this&&this.__decorate||function(t,e,r,o){var i,n=arguments.length,d=n<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)d=Reflect.decorate(t,e,r,o);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(d=(n<3?i(d):n>3?i(e,r,d):i(e,r))||d);return n>3&&d&&Object.defineProperty(e,r,d),d},__classPrivateFieldGet=this&&this.__classPrivateFieldGet||function(t,e,r,o){if("a"===r&&!o)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!o:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?o:"a"===r?o.call(t):o?o.value:e.get(t)},__classPrivateFieldSet=this&&this.__classPrivateFieldSet||function(t,e,r,o,i){if("m"===o)throw new TypeError("Private method is not writable");if("a"===o&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===o?i.call(t,r):i?i.value=r:e.set(t,r),r};import{dom,events}from"@omegagrid/core";import{LitElement,html}from"lit";import{customElement,query,property}from"lit/decorators.js";import{style}from"./markdownEditor.style";import styles from"./styles";import{createEditor}from"../utils";export class MarkdownLinkEvent extends Event{constructor(t){super("markdown.link",{bubbles:!0,composed:!0,cancelable:!0}),Object.assign(this,t)}}let MarkdownEditor=class extends LitElement{get content(){return __classPrivateFieldGet(this,_MarkdownEditor_content,"f")}set content(t){__classPrivateFieldSet(this,_MarkdownEditor_content,t,"f"),__classPrivateFieldGet(this,_MarkdownEditor_editor,"f")?.destroy(),__classPrivateFieldSet(this,_MarkdownEditor_editor,null,"f"),this.requestUpdate()}get milkdownElm(){return this.container.firstElementChild}get editor(){return __classPrivateFieldGet(this,_MarkdownEditor_editor,"f")}constructor(){super(),_MarkdownEditor_content.set(this,void 0),this.maxContentWidth=800,this.contentAlignment="left",this.readOnly=!1,_MarkdownEditor_editor.set(this,void 0),this._onChange=(t,e)=>{__classPrivateFieldSet(this,_MarkdownEditor_content,t,"f"),this.dispatchEvent(new events.ChangeEvent({value:t,oldValue:e}))},this.render=()=>html`
53
2
  <style>
54
3
  .ProseMirror.editor { max-width: ${this.maxContentWidth}px; }
55
4
  </style>
56
5
  <div id="container" spellcheck="false"></div>
57
6
  <og-slider direction="vertical"></og-slider>
58
- `;
59
- dom.on(this, 'click', 'a', (e, a) => {
60
- const canceled = !this.dispatchEvent(new MarkdownLinkEvent({
61
- href: a.getAttribute('href'),
62
- a: a,
63
- origEvent: e
64
- }));
65
- if (canceled) {
66
- e.preventDefault();
67
- return;
68
- }
69
- const href = a.getAttribute('href');
70
- if (href && href.startsWith('#')) {
71
- e.preventDefault();
72
- this.scrollToSelector(href);
73
- }
74
- });
75
- }
76
- scrollToSelector(selector) {
77
- const elm = this.milkdownElm.querySelector(selector);
78
- if (!elm)
79
- return;
80
- this.milkdownElm.scrollTop = elm.offsetTop;
81
- this.slider.updatePosition();
82
- }
83
- connectedCallback() {
84
- super.connectedCallback();
85
- this.requestUpdate();
86
- }
87
- updateWidth() {
88
- const width = Math.min(this.maxContentWidth, this.clientWidth);
89
- this.milkdownElm.style.width = `${width}px`;
90
- }
91
- async updated() {
92
- if (__classPrivateFieldGet(this, _MarkdownEditor_editor, "f"))
93
- return;
94
- __classPrivateFieldSet(this, _MarkdownEditor_editor, await createEditor({
95
- container: this.container,
96
- content: this.content,
97
- readOnly: this.readOnly,
98
- onUpload: this.onUpload,
99
- onChange: this._onChange,
100
- modifyImageUrl: this.modifyImageUrl
101
- }), "f");
102
- this.slider.attachElement(this.milkdownElm);
103
- }
104
- disconnectedCallback() {
105
- super.disconnectedCallback();
106
- __classPrivateFieldGet(this, _MarkdownEditor_editor, "f")?.destroy();
107
- __classPrivateFieldSet(this, _MarkdownEditor_editor, null, "f");
108
- dom.empty(this.container);
109
- }
110
- layout() { }
111
- };
112
- _MarkdownEditor_content = new WeakMap();
113
- _MarkdownEditor_editor = new WeakMap();
114
- MarkdownEditor.styles = [style, ...styles];
115
- __decorate([
116
- property({ type: String })
117
- ], MarkdownEditor.prototype, "content", null);
118
- __decorate([
119
- property({ type: Number })
120
- ], MarkdownEditor.prototype, "maxContentWidth", void 0);
121
- __decorate([
122
- property({ type: String, reflect: true })
123
- ], MarkdownEditor.prototype, "contentAlignment", void 0);
124
- __decorate([
125
- property({ type: Boolean, reflect: true })
126
- ], MarkdownEditor.prototype, "readOnly", void 0);
127
- __decorate([
128
- query('#container')
129
- ], MarkdownEditor.prototype, "container", void 0);
130
- __decorate([
131
- query('og-slider')
132
- ], MarkdownEditor.prototype, "slider", void 0);
133
- __decorate([
134
- property({ type: Object })
135
- ], MarkdownEditor.prototype, "onUpload", void 0);
136
- __decorate([
137
- property({ type: Object })
138
- ], MarkdownEditor.prototype, "modifyImageUrl", void 0);
139
- MarkdownEditor = __decorate([
140
- customElement('og-markdown-editor')
141
- ], MarkdownEditor);
142
- export { MarkdownEditor };
143
- //# sourceMappingURL=markdownEditor.js.map
7
+ `,dom.on(this,"click","a",((t,e)=>{if(!this.dispatchEvent(new MarkdownLinkEvent({href:e.getAttribute("href"),a:e,origEvent:t})))return void t.preventDefault();const r=e.getAttribute("href");r&&r.startsWith("#")&&(t.preventDefault(),this.scrollToSelector(r))}))}scrollToSelector(t){const e=this.milkdownElm.querySelector(t);e&&(this.milkdownElm.scrollTop=e.offsetTop,this.slider.updatePosition())}connectedCallback(){super.connectedCallback(),this.requestUpdate()}updateWidth(){const t=Math.min(this.maxContentWidth,this.clientWidth);this.milkdownElm.style.width=`${t}px`}async updated(){__classPrivateFieldGet(this,_MarkdownEditor_editor,"f")||(__classPrivateFieldSet(this,_MarkdownEditor_editor,await createEditor({container:this.container,content:this.content,readOnly:this.readOnly,onUpload:this.onUpload,onChange:this._onChange,modifyImageUrl:this.modifyImageUrl}),"f"),this.slider.attachElement(this.milkdownElm))}disconnectedCallback(){super.disconnectedCallback(),__classPrivateFieldGet(this,_MarkdownEditor_editor,"f")?.destroy(),__classPrivateFieldSet(this,_MarkdownEditor_editor,null,"f"),dom.empty(this.container)}layout(){}};_MarkdownEditor_content=new WeakMap,_MarkdownEditor_editor=new WeakMap,MarkdownEditor.styles=[style,...styles],__decorate([property({type:String})],MarkdownEditor.prototype,"content",null),__decorate([property({type:Number})],MarkdownEditor.prototype,"maxContentWidth",void 0),__decorate([property({type:String,reflect:!0})],MarkdownEditor.prototype,"contentAlignment",void 0),__decorate([property({type:Boolean,reflect:!0})],MarkdownEditor.prototype,"readOnly",void 0),__decorate([query("#container")],MarkdownEditor.prototype,"container",void 0),__decorate([query("og-slider")],MarkdownEditor.prototype,"slider",void 0),__decorate([property({type:Object})],MarkdownEditor.prototype,"onUpload",void 0),__decorate([property({type:Object})],MarkdownEditor.prototype,"modifyImageUrl",void 0),MarkdownEditor=__decorate([customElement("og-markdown-editor")],MarkdownEditor);export{MarkdownEditor};
@@ -1,23 +1,4 @@
1
- import { css } from "lit";
2
- // --markdown-font-default
3
- // --markdown-color-on-background
4
- // --markdown-color-background
5
- // --markdown-color-selected
6
- // --markdown-color-primary
7
- // --markdown-font-title
8
- // --markdown-color-inline-code
9
- // --markdown-color-inline-area
10
- // --markdown-font-code
11
- // --markdown-color-hover
12
- // --markdown-shadow-1
13
- // --markdown-color-on-surface
14
- // --markdown-color-surface
15
- // --markdown-color-outline
16
- // --markdown-color-on-inverse
17
- // --markdown-color-inverse
18
- // --markdown-color-on-secondary
19
- // --markdown-color-secondary
20
- export const style = css `
1
+ import{css}from"lit";export const style=css`
21
2
  * {
22
3
  box-sizing: border-box;
23
4
  }
@@ -237,5 +218,4 @@ export const style = css `
237
218
  background-color: color-mix(in srgb, var(--markdown-color-outline), transparent 80%);
238
219
  pointer-events: none;
239
220
  }
240
- `;
241
- //# sourceMappingURL=markdownEditor.style.js.map
221
+ `;
@@ -1,19 +1 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- import { customElement } from 'lit/decorators.js';
8
- import { MarkdownEditor } from './markdownEditor';
9
- let MarkdownView = class MarkdownView extends MarkdownEditor {
10
- constructor() {
11
- super();
12
- this.readOnly = true;
13
- }
14
- };
15
- MarkdownView = __decorate([
16
- customElement('og-markdown-view')
17
- ], MarkdownView);
18
- export { MarkdownView };
19
- //# sourceMappingURL=markdownView.js.map
1
+ var __decorate=this&&this.__decorate||function(e,t,r,o){var n,c=arguments.length,d=c<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)d=Reflect.decorate(e,t,r,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(d=(c<3?n(d):c>3?n(t,r,d):n(t,r))||d);return c>3&&d&&Object.defineProperty(t,r,d),d};import{customElement}from"lit/decorators.js";import{MarkdownEditor}from"./markdownEditor";let MarkdownView=class extends MarkdownEditor{constructor(){super(),this.readOnly=!0}};MarkdownView=__decorate([customElement("og-markdown-view")],MarkdownView);export{MarkdownView};
@@ -1,5 +1,4 @@
1
- import { css } from "lit";
2
- export const style = css `
1
+ import{css}from"lit";export const style=css`
3
2
  * {
4
3
  box-sizing: border-box;
5
4
  }
@@ -42,5 +41,4 @@ export const style = css `
42
41
 
43
42
 
44
43
 
45
- `;
46
- //# sourceMappingURL=markdownView.style.js.map
44
+ `;
@@ -1,5 +1,4 @@
1
- import { css } from "lit";
2
- export const style = css `
1
+ import{css}from"lit";export const style=css`
3
2
  milkdown-block-handle {
4
3
  transition: all 0.2s;
5
4
  position: absolute;
@@ -130,5 +129,4 @@ milkdown-block-handle {
130
129
  margin: 0 10px;
131
130
  }
132
131
 
133
- `;
134
- //# sourceMappingURL=block-edit.js.map
132
+ `;
@@ -1,5 +1,4 @@
1
- import { css } from "lit";
2
- export const style = css `
1
+ import{css}from"lit";export const style=css`
3
2
  .crepe-drop-cursor {
4
3
  opacity: 0.5;
5
4
  transition: all 0.2s;
@@ -10,5 +9,4 @@ export const style = css `
10
9
  box-sizing: border-box;
11
10
  border-top: 1px solid var(--crepe-color-on-background);
12
11
  }
13
- `;
14
- //# sourceMappingURL=cursor.js.map
12
+ `;
@@ -1,5 +1,4 @@
1
- import { css } from "lit";
2
- export const style = css `
1
+ import{css}from"lit";export const style=css`
3
2
  milkdown-image-inline {
4
3
  outline: none;
5
4
  display: inline;
@@ -330,5 +329,4 @@ export const style = css `
330
329
  ),
331
330
  var(--markdown-color-secondary);
332
331
  }
333
- `;
334
- //# sourceMappingURL=image-block.js.map
332
+ `;
@@ -1,19 +1 @@
1
- import { style as blockEditStyle } from './block-edit';
2
- import { style as cursorStyle } from './cursor';
3
- import { style as imageStyle } from './image-block';
4
- import { style as linkTooltipStyle } from './link-tooltip';
5
- import { style as listItemStyle } from './list-item';
6
- import { style as placeholderStyle } from './placeholder';
7
- import { style as prosemirrorStyle } from './prosemirror';
8
- import { style as tableStyle } from './table';
9
- export default [
10
- blockEditStyle,
11
- cursorStyle,
12
- imageStyle,
13
- linkTooltipStyle,
14
- listItemStyle,
15
- placeholderStyle,
16
- prosemirrorStyle,
17
- tableStyle,
18
- ];
19
- //# sourceMappingURL=index.js.map
1
+ import{style as blockEditStyle}from"./block-edit";import{style as cursorStyle}from"./cursor";import{style as imageStyle}from"./image-block";import{style as linkTooltipStyle}from"./link-tooltip";import{style as listItemStyle}from"./list-item";import{style as placeholderStyle}from"./placeholder";import{style as prosemirrorStyle}from"./prosemirror";import{style as tableStyle}from"./table";export default[blockEditStyle,cursorStyle,imageStyle,linkTooltipStyle,listItemStyle,placeholderStyle,prosemirrorStyle,tableStyle];
@@ -1,5 +1,4 @@
1
- import { css } from "lit";
2
- export const style = css `
1
+ import{css}from"lit";export const style=css`
3
2
  milkdown-link-preview {
4
3
  position: absolute;
5
4
  height: 32px;
@@ -108,5 +107,4 @@ export const style = css `
108
107
  milkdown-link-edit > .link-edit > .button.hidden {
109
108
  visibility: hidden;
110
109
  }
111
- `;
112
- //# sourceMappingURL=link-tooltip.js.map
110
+ `;
@@ -1,5 +1,4 @@
1
- import { css } from "lit";
2
- export const style = css `
1
+ import{css}from"lit";export const style=css`
3
2
  milkdown-list-item-block {
4
3
  display: block;
5
4
  padding: 0;
@@ -38,5 +37,4 @@ export const style = css `
38
37
  milkdown-list-item-block li .label-wrapper .readonly {
39
38
  cursor: not-allowed;
40
39
  }
41
- `;
42
- //# sourceMappingURL=list-item.js.map
40
+ `;
@@ -1,5 +1,4 @@
1
- import { css } from "lit";
2
- export const style = css `
1
+ import{css}from"lit";export const style=css`
3
2
  .crepe-placeholder::before {
4
3
  position: absolute;
5
4
  color: var(--og-accent-color-alpha-70);
@@ -7,5 +6,4 @@ export const style = css `
7
6
  height: 0;
8
7
  content: attr(data-placeholder);
9
8
  }
10
- `;
11
- //# sourceMappingURL=placeholder.js.map
9
+ `;
@@ -1,5 +1,4 @@
1
- import { css } from "lit";
2
- export const style = css `
1
+ import{css}from"lit";export const style=css`
3
2
  .ProseMirror {
4
3
  position: relative;
5
4
  }
@@ -54,5 +53,4 @@ export const style = css `
54
53
  border: none !important;
55
54
  margin: 0 !important;
56
55
  }
57
- `;
58
- //# sourceMappingURL=prosemirror.js.map
56
+ `;
@@ -1,5 +1,4 @@
1
- import { css } from "lit";
2
- export const style = css `
1
+ import{css}from"lit";export const style=css`
3
2
  .ProseMirror .tableWrapper {
4
3
  overflow-x: auto;
5
4
  }
@@ -231,5 +230,4 @@ export const style = css `
231
230
  milkdown-table-block.readonly .handle {
232
231
  display: none;
233
232
  }
234
- `;
235
- //# sourceMappingURL=table.js.map
233
+ `;
package/dist/constants.js CHANGED
@@ -1,5 +1 @@
1
- import { constants as coreConstants } from '@omegagrid/core';
2
- export default {
3
- ...coreConstants
4
- };
5
- //# sourceMappingURL=constants.js.map
1
+ import{constants as coreConstants}from"@omegagrid/core";export default{...coreConstants};
package/dist/index.js CHANGED
@@ -1,4 +1 @@
1
- export * from './components';
2
- export * from './utils';
3
- export { MilkdownLoader as loader } from './loader';
4
- //# sourceMappingURL=index.js.map
1
+ export*from"./components";export*from"./utils";export{MilkdownLoader as loader}from"./loader";
package/dist/loader.js CHANGED
@@ -1,46 +1 @@
1
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
2
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
3
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
4
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
5
- };
6
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
7
- if (kind === "m") throw new TypeError("Private method is not writable");
8
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
9
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
10
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
11
- };
12
- var _a, _MilkdownLoader_milkdown;
13
- import { ScriptLoader } from "@omegagrid/core";
14
- export const md = {};
15
- export class MilkdownLoader {
16
- static init(path) {
17
- _a.milkdownPath = path;
18
- }
19
- static async get() {
20
- if (!__classPrivateFieldGet(this, _a, "f", _MilkdownLoader_milkdown))
21
- __classPrivateFieldSet(this, _a, await this.load(), "f", _MilkdownLoader_milkdown);
22
- Object.assign(md, __classPrivateFieldGet(this, _a, "f", _MilkdownLoader_milkdown));
23
- return __classPrivateFieldGet(this, _a, "f", _MilkdownLoader_milkdown);
24
- }
25
- static getSync() {
26
- return __classPrivateFieldGet(this, _a, "f", _MilkdownLoader_milkdown);
27
- }
28
- static async load() {
29
- if (window.Milkdown)
30
- return window.Milkdown;
31
- return new Promise((resolve, reject) => ScriptLoader.load(this.milkdownPath).then(() => {
32
- if (window.Milkdown) {
33
- resolve(window.Milkdown);
34
- }
35
- else {
36
- reject('Failed to load Milkdown');
37
- }
38
- }).catch((error) => {
39
- console.error('Failed to load Milkdown', error);
40
- reject(error);
41
- }));
42
- }
43
- }
44
- _a = MilkdownLoader;
45
- _MilkdownLoader_milkdown = { value: void 0 };
46
- //# sourceMappingURL=loader.js.map
1
+ var _a,_MilkdownLoader_milkdown,__classPrivateFieldGet=this&&this.__classPrivateFieldGet||function(e,i,t,a){if("a"===t&&!a)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof i?e!==i||!a:!i.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===t?a:"a"===t?a.call(e):a?a.value:i.get(e)},__classPrivateFieldSet=this&&this.__classPrivateFieldSet||function(e,i,t,a,o){if("m"===a)throw new TypeError("Private method is not writable");if("a"===a&&!o)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof i?e!==i||!o:!i.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===a?o.call(e,t):o?o.value=t:i.set(e,t),t};import{ScriptLoader}from"@omegagrid/core";export const md={};export class MilkdownLoader{static init(e){_a.milkdownPath=e}static async get(){return __classPrivateFieldGet(this,_a,"f",_MilkdownLoader_milkdown)||__classPrivateFieldSet(this,_a,await this.load(),"f",_MilkdownLoader_milkdown),Object.assign(md,__classPrivateFieldGet(this,_a,"f",_MilkdownLoader_milkdown)),__classPrivateFieldGet(this,_a,"f",_MilkdownLoader_milkdown)}static getSync(){return __classPrivateFieldGet(this,_a,"f",_MilkdownLoader_milkdown)}static async load(){return window.Milkdown?window.Milkdown:new Promise(((e,i)=>ScriptLoader.load(this.milkdownPath).then((()=>{window.Milkdown?e(window.Milkdown):i("Failed to load Milkdown")})).catch((e=>{console.error("Failed to load Milkdown",e),i(e)}))))}}_a=MilkdownLoader,_MilkdownLoader_milkdown={value:void 0};
package/dist/utils.js CHANGED
@@ -1,62 +1 @@
1
- import { MilkdownLoader } from "./loader";
2
- import { configureFeatures, getFeatures } from '.';
3
- export async function createEditor(options) {
4
- const milkdown = await MilkdownLoader.get();
5
- const editor = milkdown.core.Editor.make();
6
- const enabledFeatures = Array.from(getFeatures(editor, milkdown, options).entries()).filter(([_k, v]) => v.default);
7
- editor.config(configureFeatures(enabledFeatures.map(f => f[0]), milkdown))
8
- .config((ctx) => {
9
- if (options?.container)
10
- ctx.set(milkdown.core.rootCtx, options.container);
11
- if (options?.content)
12
- ctx.set(milkdown.core.defaultValueCtx, options.content);
13
- if (options?.readOnly) {
14
- ctx.update(milkdown.core.editorViewOptionsCtx, (prev) => ({ ...prev, editable: () => false }));
15
- }
16
- ctx.update(milkdown.plugins.indent.indentConfig.key, (value) => ({
17
- ...value,
18
- size: 4,
19
- }));
20
- const listener = ctx.get(milkdown.plugins.listener.listenerCtx);
21
- listener.markdownUpdated((_ctx, markdown, prevMarkdown) => {
22
- if (options?.onChange && markdown !== prevMarkdown) {
23
- options.onChange(markdown, prevMarkdown);
24
- }
25
- });
26
- // listener.mounted((ctx) => {
27
- // console.log(options.container);
28
- // });
29
- })
30
- .use(milkdown.presets.commonmark.commonmark)
31
- .use(milkdown.plugins.listener.listener)
32
- .use(milkdown.plugins.history.history)
33
- .use(milkdown.plugins.indent.indent)
34
- .use(milkdown.plugins.trailing.trailing)
35
- .use(milkdown.plugins.clipboard.clipboard)
36
- .use(milkdown.presets.gfm.gfm);
37
- enabledFeatures.forEach(f => f[1].init());
38
- await editor.create();
39
- return editor;
40
- }
41
- export async function markdownToHtml(markdown, options) {
42
- const editor = await createEditor(Object.assign({}, options, { content: markdown, readOnly: true }));
43
- const md = MilkdownLoader.getSync();
44
- const div = document.createElement('div');
45
- const schema = editor.ctx.get(md.core.schemaCtx);
46
- const view = editor.ctx.get(md.core.editorViewCtx);
47
- const fragment = md.prose.model.DOMSerializer.fromSchema(schema).serializeFragment(view.state.doc.content);
48
- for (const img of fragment.querySelectorAll('img')) {
49
- const src = img.getAttribute('src');
50
- if (src && options?.modifyImageUrl) {
51
- const url = options.modifyImageUrl(src);
52
- img.setAttribute('src', typeof url === 'string' ? url : await url);
53
- }
54
- if (img.hasAttribute('ratio')) {
55
- img.style.width = (100 * parseFloat(img.getAttribute('ratio'))) + '%';
56
- }
57
- }
58
- div.appendChild(fragment);
59
- editor.destroy();
60
- return div.innerHTML;
61
- }
62
- //# sourceMappingURL=utils.js.map
1
+ import{MilkdownLoader}from"./loader";import{configureFeatures,getFeatures}from".";export async function createEditor(e){const t=await MilkdownLoader.get(),r=t.core.Editor.make(),n=Array.from(getFeatures(r,t,e).entries()).filter((([e,t])=>t.default));return r.config(configureFeatures(n.map((e=>e[0])),t)).config((r=>{e?.container&&r.set(t.core.rootCtx,e.container),e?.content&&r.set(t.core.defaultValueCtx,e.content),e?.readOnly&&r.update(t.core.editorViewOptionsCtx,(e=>({...e,editable:()=>!1}))),r.update(t.plugins.indent.indentConfig.key,(e=>({...e,size:4}))),r.get(t.plugins.listener.listenerCtx).markdownUpdated(((t,r,n)=>{e?.onChange&&r!==n&&e.onChange(r,n)}))})).use(t.presets.commonmark.commonmark).use(t.plugins.listener.listener).use(t.plugins.history.history).use(t.plugins.indent.indent).use(t.plugins.trailing.trailing).use(t.plugins.clipboard.clipboard).use(t.presets.gfm.gfm),n.forEach((e=>e[1].init())),await r.create(),r}export async function markdownToHtml(e,t){const r=await createEditor(Object.assign({},t,{content:e,readOnly:!0})),n=MilkdownLoader.getSync(),i=document.createElement("div"),o=r.ctx.get(n.core.schemaCtx),a=r.ctx.get(n.core.editorViewCtx),s=n.prose.model.DOMSerializer.fromSchema(o).serializeFragment(a.state.doc.content);for(const e of s.querySelectorAll("img")){const r=e.getAttribute("src");if(r&&t?.modifyImageUrl){const n=t.modifyImageUrl(r);e.setAttribute("src","string"==typeof n?n:await n)}e.hasAttribute("ratio")&&(e.style.width=100*parseFloat(e.getAttribute("ratio"))+"%")}return i.appendChild(s),r.destroy(),i.innerHTML}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@omegagrid/markdown",
3
- "version": "0.9.38",
3
+ "version": "0.9.39",
4
4
  "license": "UNLICENSED",
5
5
  "description": "Markdown view webcomponent",
6
6
  "main": "./dist/index.js",
@@ -28,11 +28,11 @@
28
28
  },
29
29
  "dependencies": {
30
30
  "@fortawesome/fontawesome-svg-core": "^7.0.1",
31
- "@omegagrid/code": "^0.9.38",
32
- "@omegagrid/core": "^0.9.38",
33
- "@omegagrid/localize": "^0.9.38",
34
- "@omegagrid/milkdown-kit": "^0.9.38",
35
- "@omegagrid/tabs": "^0.9.38",
31
+ "@omegagrid/code": "^0.9.39",
32
+ "@omegagrid/core": "^0.9.39",
33
+ "@omegagrid/localize": "^0.9.39",
34
+ "@omegagrid/milkdown-kit": "^0.9.39",
35
+ "@omegagrid/tabs": "^0.9.39",
36
36
  "lit": "^3.1.1",
37
37
  "markdown-it": "^14.1.0",
38
38
  "ts-debounce": "^4.0.0"