@omegagrid/markdown 0.6.26 → 0.6.28

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 (45) 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 +128 -7
  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 +226 -5
  7. package/dist/components/features/codeBlock.js +132 -1
  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 +132 -11
  11. package/dist/components/features/index.js +178 -1
  12. package/dist/components/features/linkEdit/component.d.ts +1 -1
  13. package/dist/components/features/linkEdit/component.d.ts.map +1 -1
  14. package/dist/components/features/linkEdit/component.js +42 -5
  15. package/dist/components/features/linkEdit/config.js +64 -1
  16. package/dist/components/features/linkEdit/index.js +14 -1
  17. package/dist/components/features/linkEdit/slices.js +23 -1
  18. package/dist/components/features/linkEdit/utils.js +33 -1
  19. package/dist/components/features/linkEdit/view.js +135 -1
  20. package/dist/components/features/placeholder.js +50 -1
  21. package/dist/components/features/toolbar.d.ts +1 -1
  22. package/dist/components/features/toolbar.d.ts.map +1 -1
  23. package/dist/components/features/toolbar.js +127 -13
  24. package/dist/components/features/utils.js +64 -1
  25. package/dist/components/index.js +4 -1
  26. package/dist/components/markdownEditor.d.ts +1 -1
  27. package/dist/components/markdownEditor.d.ts.map +1 -1
  28. package/dist/components/markdownEditor.js +138 -2
  29. package/dist/components/markdownEditor.style.js +22 -2
  30. package/dist/components/markdownView.js +19 -1
  31. package/dist/components/markdownView.style.js +4 -2
  32. package/dist/components/styles/block-edit.js +4 -2
  33. package/dist/components/styles/cursor.js +4 -2
  34. package/dist/components/styles/image-block.js +4 -2
  35. package/dist/components/styles/index.js +19 -1
  36. package/dist/components/styles/link-tooltip.js +4 -2
  37. package/dist/components/styles/list-item.js +4 -2
  38. package/dist/components/styles/placeholder.js +4 -2
  39. package/dist/components/styles/prosemirror.js +4 -2
  40. package/dist/components/styles/table.js +4 -2
  41. package/dist/constants.js +5 -1
  42. package/dist/index.js +4 -1
  43. package/dist/loader.js +46 -1
  44. package/dist/utils.js +62 -1
  45. package/package.json +6 -6
@@ -1,7 +1,143 @@
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`
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 `
2
53
  <style>
3
54
  .ProseMirror.editor { max-width: ${this.maxContentWidth}px; }
4
55
  </style>
5
56
  <div id="container" spellcheck="false"></div>
6
57
  <og-slider direction="vertical"></og-slider>
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};
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
@@ -1,4 +1,23 @@
1
- import{css}from"lit";export const style=css`
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 `
2
21
  * {
3
22
  box-sizing: border-box;
4
23
  }
@@ -218,4 +237,5 @@ import{css}from"lit";export const style=css`
218
237
  background-color: color-mix(in srgb, var(--markdown-color-outline), transparent 80%);
219
238
  pointer-events: none;
220
239
  }
221
- `;
240
+ `;
241
+ //# sourceMappingURL=markdownEditor.style.js.map
@@ -1 +1,19 @@
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
+ 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,4 +1,5 @@
1
- import{css}from"lit";export const style=css`
1
+ import { css } from "lit";
2
+ export const style = css `
2
3
  * {
3
4
  box-sizing: border-box;
4
5
  }
@@ -41,4 +42,5 @@ import{css}from"lit";export const style=css`
41
42
 
42
43
 
43
44
 
44
- `;
45
+ `;
46
+ //# sourceMappingURL=markdownView.style.js.map
@@ -1,4 +1,5 @@
1
- import{css}from"lit";export const style=css`
1
+ import { css } from "lit";
2
+ export const style = css `
2
3
  milkdown-block-handle {
3
4
  transition: all 0.2s;
4
5
  position: absolute;
@@ -129,4 +130,5 @@ milkdown-block-handle {
129
130
  margin: 0 10px;
130
131
  }
131
132
 
132
- `;
133
+ `;
134
+ //# sourceMappingURL=block-edit.js.map
@@ -1,4 +1,5 @@
1
- import{css}from"lit";export const style=css`
1
+ import { css } from "lit";
2
+ export const style = css `
2
3
  .crepe-drop-cursor {
3
4
  opacity: 0.5;
4
5
  transition: all 0.2s;
@@ -9,4 +10,5 @@ import{css}from"lit";export const style=css`
9
10
  box-sizing: border-box;
10
11
  border-top: 1px solid var(--crepe-color-on-background);
11
12
  }
12
- `;
13
+ `;
14
+ //# sourceMappingURL=cursor.js.map
@@ -1,4 +1,5 @@
1
- import{css}from"lit";export const style=css`
1
+ import { css } from "lit";
2
+ export const style = css `
2
3
  milkdown-image-inline {
3
4
  outline: none;
4
5
  display: inline;
@@ -329,4 +330,5 @@ import{css}from"lit";export const style=css`
329
330
  ),
330
331
  var(--markdown-color-secondary);
331
332
  }
332
- `;
333
+ `;
334
+ //# sourceMappingURL=image-block.js.map
@@ -1 +1,19 @@
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
+ 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,4 +1,5 @@
1
- import{css}from"lit";export const style=css`
1
+ import { css } from "lit";
2
+ export const style = css `
2
3
  milkdown-link-preview {
3
4
  position: absolute;
4
5
  height: 32px;
@@ -107,4 +108,5 @@ import{css}from"lit";export const style=css`
107
108
  milkdown-link-edit > .link-edit > .button.hidden {
108
109
  visibility: hidden;
109
110
  }
110
- `;
111
+ `;
112
+ //# sourceMappingURL=link-tooltip.js.map
@@ -1,4 +1,5 @@
1
- import{css}from"lit";export const style=css`
1
+ import { css } from "lit";
2
+ export const style = css `
2
3
  milkdown-list-item-block {
3
4
  display: block;
4
5
  padding: 0;
@@ -37,4 +38,5 @@ import{css}from"lit";export const style=css`
37
38
  milkdown-list-item-block li .label-wrapper .readonly {
38
39
  cursor: not-allowed;
39
40
  }
40
- `;
41
+ `;
42
+ //# sourceMappingURL=list-item.js.map
@@ -1,4 +1,5 @@
1
- import{css}from"lit";export const style=css`
1
+ import { css } from "lit";
2
+ export const style = css `
2
3
  .crepe-placeholder::before {
3
4
  position: absolute;
4
5
  color: var(--og-accent-color-alpha-70);
@@ -6,4 +7,5 @@ import{css}from"lit";export const style=css`
6
7
  height: 0;
7
8
  content: attr(data-placeholder);
8
9
  }
9
- `;
10
+ `;
11
+ //# sourceMappingURL=placeholder.js.map
@@ -1,4 +1,5 @@
1
- import{css}from"lit";export const style=css`
1
+ import { css } from "lit";
2
+ export const style = css `
2
3
  .ProseMirror {
3
4
  position: relative;
4
5
  }
@@ -53,4 +54,5 @@ import{css}from"lit";export const style=css`
53
54
  border: none !important;
54
55
  margin: 0 !important;
55
56
  }
56
- `;
57
+ `;
58
+ //# sourceMappingURL=prosemirror.js.map
@@ -1,4 +1,5 @@
1
- import{css}from"lit";export const style=css`
1
+ import { css } from "lit";
2
+ export const style = css `
2
3
  .ProseMirror .tableWrapper {
3
4
  overflow-x: auto;
4
5
  }
@@ -230,4 +231,5 @@ import{css}from"lit";export const style=css`
230
231
  milkdown-table-block.readonly .handle {
231
232
  display: none;
232
233
  }
233
- `;
234
+ `;
235
+ //# sourceMappingURL=table.js.map
package/dist/constants.js CHANGED
@@ -1 +1,5 @@
1
- import{constants as coreConstants}from"@omegagrid/core";export default{...coreConstants};
1
+ import { constants as coreConstants } from '@omegagrid/core';
2
+ export default {
3
+ ...coreConstants
4
+ };
5
+ //# sourceMappingURL=constants.js.map
package/dist/index.js CHANGED
@@ -1 +1,4 @@
1
- export*from"./components";export*from"./utils";export{MilkdownLoader as loader}from"./loader";
1
+ export * from './components';
2
+ export * from './utils';
3
+ export { MilkdownLoader as loader } from './loader';
4
+ //# sourceMappingURL=index.js.map
package/dist/loader.js CHANGED
@@ -1 +1,46 @@
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};
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
package/dist/utils.js CHANGED
@@ -1 +1,62 @@
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}
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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@omegagrid/markdown",
3
- "version": "0.6.26",
3
+ "version": "0.6.28",
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": "6.4.2",
31
- "@omegagrid/code": "^0.6.26",
32
- "@omegagrid/core": "^0.6.26",
33
- "@omegagrid/localize": "^0.6.26",
34
- "@omegagrid/milkdown-kit": "^0.6.26",
35
- "@omegagrid/tabs": "^0.6.26",
31
+ "@omegagrid/code": "^0.6.28",
32
+ "@omegagrid/core": "^0.6.28",
33
+ "@omegagrid/localize": "^0.6.28",
34
+ "@omegagrid/milkdown-kit": "^0.6.28",
35
+ "@omegagrid/tabs": "^0.6.28",
36
36
  "@riovir/wc-fontawesome": "^0.1.9",
37
37
  "lit": "^3.1.1",
38
38
  "markdown-it": "^14.1.0",