@limetech/lime-elements 37.26.3 → 37.26.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -0
- package/dist/cjs/limel-prosemirror-adapter.cjs.entry.js +32 -26
- package/dist/cjs/limel-prosemirror-adapter.cjs.entry.js.map +1 -1
- package/dist/cjs/limel-text-editor.cjs.entry.js +6 -3
- package/dist/cjs/limel-text-editor.cjs.entry.js.map +1 -1
- package/dist/collection/components/text-editor/prosemirror-adapter/prosemirror-adapter.css +3 -7
- package/dist/collection/components/text-editor/prosemirror-adapter/prosemirror-adapter.js +31 -25
- package/dist/collection/components/text-editor/prosemirror-adapter/prosemirror-adapter.js.map +1 -1
- package/dist/collection/components/text-editor/text-editor.css +98 -146
- package/dist/collection/components/text-editor/text-editor.js +5 -2
- package/dist/collection/components/text-editor/text-editor.js.map +1 -1
- package/dist/esm/limel-prosemirror-adapter.entry.js +32 -26
- package/dist/esm/limel-prosemirror-adapter.entry.js.map +1 -1
- package/dist/esm/limel-text-editor.entry.js +6 -3
- package/dist/esm/limel-text-editor.entry.js.map +1 -1
- package/dist/lime-elements/lime-elements.esm.js +1 -1
- package/dist/lime-elements/p-48d4564a.entry.js +2 -0
- package/dist/lime-elements/p-48d4564a.entry.js.map +1 -0
- package/dist/lime-elements/{p-e8a2ebd5.entry.js → p-71cd8be1.entry.js} +2 -2
- package/dist/lime-elements/p-71cd8be1.entry.js.map +1 -0
- package/dist/types/components/text-editor/prosemirror-adapter/prosemirror-adapter.d.ts +2 -1
- package/dist/types/components/text-editor/text-editor.d.ts +1 -1
- package/package.json +1 -1
- package/dist/lime-elements/p-a77a0fa8.entry.js +0 -2
- package/dist/lime-elements/p-a77a0fa8.entry.js.map +0 -1
- package/dist/lime-elements/p-e8a2ebd5.entry.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
## [37.26.4](https://github.com/Lundalogik/lime-elements/compare/v37.26.3...v37.26.4) (2024-05-02)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
* **text-editor:** ensure editor resizes with its container ([83a6146](https://github.com/Lundalogik/lime-elements/commit/83a614663a577da07ba6dbd6e5bd3b60c402ec2e))
|
|
8
|
+
* **text-editor:** make sure empty & readonly has a min height similar to input field ([5b9d75a](https://github.com/Lundalogik/lime-elements/commit/5b9d75a25f389cb4d7459c7d3dc1dce2f31e8200))
|
|
9
|
+
|
|
1
10
|
## [37.26.3](https://github.com/Lundalogik/lime-elements/compare/v37.26.2...v37.26.3) (2024-04-30)
|
|
2
11
|
|
|
3
12
|
|
|
@@ -16037,12 +16037,37 @@ const textEditorMenuItems = [
|
|
|
16037
16037
|
},
|
|
16038
16038
|
];
|
|
16039
16039
|
|
|
16040
|
-
const prosemirrorAdapterCss = "@charset \"UTF-8\";:host{--mdc-theme-primary:var(\n --lime-primary-color,\n rgb(var(--color-teal-default))\n );--mdc-theme-secondary:var(\n --lime-secondary-color,\n rgb(var(--contrast-1100))\n );--mdc-theme-on-primary:var(\n --lime-on-primary-color,\n rgb(var(--contrast-100))\n );--mdc-theme-on-secondary:var(\n --lime-on-secondary-color,\n rgb(var(--contrast-100))\n );--mdc-theme-text-disabled-on-background:var(\n --lime-text-disabled-on-background-color,\n rgba(var(--contrast-1700), 0.38)\n );--mdc-theme-text-primary-on-background:var(\n --lime-text-primary-on-background-color,\n rgba(var(--contrast-1700), 0.87)\n );--mdc-theme-text-secondary-on-background:var(\n --lime-text-secondary-on-background-color,\n rgba(var(--contrast-1700), 0.54)\n );--mdc-theme-error:var(\n --lime-error-background-color,\n rgb(var(--color-red-dark))\n );--lime-error-text-color:rgb(var(--color-red-darker));--mdc-theme-surface:var(\n --lime-surface-background-color,\n rgb(var(--contrast-100))\n );--mdc-theme-on-surface:var(\n --lime-on-surface-color,\n rgb(var(--contrast-1500))\n )}:host(limel-prosemirror-adapter){display:block}*{box-sizing:border-box}.ProseMirror-menubar-wrapper{display:grid;grid-template-rows:auto 1fr}.ProseMirror-textblock-dropdown{min-width:3em}.ProseMirror-tooltip .ProseMirror-menu{width:-webkit-fit-content;width:fit-content;white-space:pre}limel-action-bar{--action-bar-border-radius:0.25rem;position:sticky;z-index:1;top:
|
|
16040
|
+
const prosemirrorAdapterCss = "@charset \"UTF-8\";:host{--mdc-theme-primary:var(\n --lime-primary-color,\n rgb(var(--color-teal-default))\n );--mdc-theme-secondary:var(\n --lime-secondary-color,\n rgb(var(--contrast-1100))\n );--mdc-theme-on-primary:var(\n --lime-on-primary-color,\n rgb(var(--contrast-100))\n );--mdc-theme-on-secondary:var(\n --lime-on-secondary-color,\n rgb(var(--contrast-100))\n );--mdc-theme-text-disabled-on-background:var(\n --lime-text-disabled-on-background-color,\n rgba(var(--contrast-1700), 0.38)\n );--mdc-theme-text-primary-on-background:var(\n --lime-text-primary-on-background-color,\n rgba(var(--contrast-1700), 0.87)\n );--mdc-theme-text-secondary-on-background:var(\n --lime-text-secondary-on-background-color,\n rgba(var(--contrast-1700), 0.54)\n );--mdc-theme-error:var(\n --lime-error-background-color,\n rgb(var(--color-red-dark))\n );--lime-error-text-color:rgb(var(--color-red-darker));--mdc-theme-surface:var(\n --lime-surface-background-color,\n rgb(var(--contrast-100))\n );--mdc-theme-on-surface:var(\n --lime-on-surface-color,\n rgb(var(--contrast-1500))\n )}:host(limel-prosemirror-adapter){display:block}*{box-sizing:border-box}.ProseMirror-menubar-wrapper{display:grid;grid-template-rows:auto 1fr}.ProseMirror-textblock-dropdown{min-width:3em}.ProseMirror-tooltip .ProseMirror-menu{width:-webkit-fit-content;width:fit-content;white-space:pre}limel-action-bar{--action-bar-border-radius:0.25rem;position:sticky;z-index:1;top:1px;background-color:rgba(var(--contrast-200), 0.5);backdrop-filter:blur(0.5rem);-webkit-backdrop-filter:blur(0.5rem);margin:0 1px;width:calc(100% - 2px)}.ProseMirror{position:relative;word-wrap:break-word;white-space:pre-wrap;white-space:break-spaces;-webkit-font-variant-ligatures:none;font-variant-ligatures:none;font-feature-settings:\"liga\" 0;padding:var(--limel-text-editor-padding)}.ProseMirror [draggable][contenteditable=false]{user-select:text}.ProseMirror:focus-visible{outline:none}.ProseMirror-hideselection{caret-color:transparent}.ProseMirror-hideselection *::selection{background:transparent}.ProseMirror-hideselection *::-moz-selection{background:transparent}.ProseMirror-selectednode{outline:0.125rem solid rgb(var(--color-sky-light))}li.ProseMirror-selectednode{outline:none}li.ProseMirror-selectednode:after{content:\"\";position:absolute;left:-2rem;right:-0.125rem;top:-0.125rem;bottom:-0.125rem;border:0.125rem solid rgb(var(--color-sky-light));pointer-events:none}img.ProseMirror-separator{display:inline !important;border:none !important;margin:0 !important}blockquote{position:relative;font-weight:100;font-size:0.875rem;max-width:100%;line-height:1.4;margin:0;padding:0.5rem 1.25rem;border-radius:0.05rem 0.75rem;background-color:rgb(var(--contrast-300))}blockquote:before,blockquote:after{position:absolute;font-size:2.75rem;opacity:0.4}blockquote:before{content:\"“\";left:0;top:-0.75rem}blockquote:after{content:\"”\";right:0;bottom:-2rem}:host(limel-markdown.truncate-paragraphs) p{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}p,li{font-size:0.875rem;word-break:break-word;hyphens:auto;-webkit-hyphens:auto}a{word-break:break-all}p{margin-top:0;margin-bottom:0.5rem}p:only-child{margin-bottom:0}a{transition:color 0.2s ease;color:var(--markdown-hyperlink-color, rgb(var(--color-blue-dark)));text-decoration:none}a:hover{color:var(--markdown-hyperlink-color--hovered, rgb(var(--color-blue-default)))}hr{margin:1.75rem 0 2rem 0;border-width:0;border-top:1px solid rgb(var(--contrast-500))}dl{display:grid;grid-template-columns:1fr 2fr;grid-template-rows:1fr;margin-bottom:2rem;border:1px solid rgb(var(--contrast-400));border-radius:0.375rem;background-color:rgb(var(--contrast-200))}dl dt,dl dd{padding:0.375rem 0.5rem;font-size:0.875rem;margin:0}dl dt:nth-of-type(even),dl dd:nth-of-type(even){background-color:rgb(var(--contrast-300))}dl dt:first-child{border-top-left-radius:0.375rem}dl dt:last-child{border-bottom-left-radius:0.375rem}dl dd:first-child{border-top-right-radius:0.375rem}dl dd:last-child{border-bottom-right-radius:0.375rem}h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1.125rem}h4{font-size:1rem}h5{font-size:0.875rem}h6{font-size:0.75rem}h1,h2{margin-top:0.5rem;margin-bottom:0.5rem;letter-spacing:-0.03125rem;font-weight:500}h3,h4{margin-top:0.75rem;margin-bottom:0.25rem;font-weight:600}h5,h6{margin-top:0.5rem;margin-bottom:0.125rem;font-weight:600}h1,h2,h3,h4,h5,h6{word-break:break-word;hyphens:auto;-webkit-hyphens:auto}:not([contenteditable=true]) h1,:not([contenteditable=true]) h2,:not([contenteditable=true]) h3,:not([contenteditable=true]) h4,:not([contenteditable=true]) h5,:not([contenteditable=true]) h6{text-wrap:balance}[contenteditable=true] h1,[contenteditable=true] h2,[contenteditable=true] h3,[contenteditable=true] h4,[contenteditable=true] h5,[contenteditable=true] h6{text-wrap:initial}ul{list-style:none}ul li{position:relative;margin-left:0.75rem}ul li:before{content:\"\";position:absolute;left:-0.5rem;top:0.5rem;width:0.25rem;height:0.25rem;border-radius:50%;background-color:rgb(var(--contrast-700));display:block}ol{margin-top:0.25rem;padding-left:1rem}ul{margin-top:0.25rem;padding-left:0}ul ul,ul ol,ol ol,ol ul{margin-left:0}li{margin-bottom:0.25rem}code{font-family:ui-monospace, \"Cascadia Code\", \"Source Code Pro\", Menlo, Consolas, \"DejaVu Sans Mono\", monospace;font-size:0.8125rem;letter-spacing:-0.0125rem;color:rgb(var(--contrast-1300));-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none;display:inline-block;border-radius:0.25rem;padding:0.03125rem 0.25rem;background-color:rgb(var(--contrast-600))}pre>code{display:block;margin:0.5rem 0;padding:0.5rem 0.75rem;overflow:auto;white-space:pre-wrap}:host(limel-markdown:not(.no-table-styles)) table{table-layout:auto;min-width:100%;border-collapse:collapse;border-spacing:0;background:transparent;margin:0.75rem 0;border:1px solid rgb(var(--contrast-400))}:host(limel-markdown:not(.no-table-styles)) th,:host(limel-markdown:not(.no-table-styles)) td{text-align:left;vertical-align:top;transition:background-color 0.2s ease;font-size:0.875rem}:host(limel-markdown:not(.no-table-styles)) td{padding:0.5rem 0.375rem 0.75rem 0.375rem}:host(limel-markdown:not(.no-table-styles)) tr th{background-color:rgb(var(--contrast-400));padding:0.25rem 0.375rem;font-weight:normal}:host(limel-markdown:not(.no-table-styles)) tr th:only-child{text-align:center}:host(limel-markdown:not(.no-table-styles)) tbody tr:nth-child(odd) td{background-color:rgb(var(--contrast-200))}:host(limel-markdown:not(.no-table-styles)) tbody tr:hover td{background-color:rgb(var(--contrast-300))}";
|
|
16041
16041
|
|
|
16042
16042
|
const ProsemirrorAdapter = class {
|
|
16043
16043
|
constructor(hostRef) {
|
|
16044
16044
|
index.registerInstance(this, hostRef);
|
|
16045
16045
|
this.change = index.createEvent(this, "change", 7);
|
|
16046
|
+
this.initializeEditor = () => {
|
|
16047
|
+
this.actionBarItems = textEditorMenuItems;
|
|
16048
|
+
const mySchema = new Schema({
|
|
16049
|
+
nodes: addListNodes(schema.spec.nodes, 'paragraph block*', 'block'),
|
|
16050
|
+
marks: schema.spec.marks,
|
|
16051
|
+
});
|
|
16052
|
+
this.view = new EditorView(this.host.shadowRoot.querySelector('#editor'), {
|
|
16053
|
+
state: EditorState.create({
|
|
16054
|
+
doc: DOMParser.fromSchema(mySchema).parse(this.host.shadowRoot.querySelector('#editor')),
|
|
16055
|
+
plugins: exampleSetup({
|
|
16056
|
+
schema: mySchema,
|
|
16057
|
+
menuBar: false,
|
|
16058
|
+
}),
|
|
16059
|
+
}),
|
|
16060
|
+
dispatchTransaction: (transaction) => {
|
|
16061
|
+
const newState = this.view.state.apply(transaction);
|
|
16062
|
+
this.view.updateState(newState);
|
|
16063
|
+
this.change.emit(this.getHTML());
|
|
16064
|
+
},
|
|
16065
|
+
});
|
|
16066
|
+
this.menuCommandFactory = new MenuCommandFactory(mySchema);
|
|
16067
|
+
if (this.value) {
|
|
16068
|
+
this.view.dom.innerHTML = this.value;
|
|
16069
|
+
}
|
|
16070
|
+
};
|
|
16046
16071
|
this.getHTML = () => {
|
|
16047
16072
|
if (this.view.dom.textContent === '') {
|
|
16048
16073
|
return '';
|
|
@@ -16067,37 +16092,18 @@ const ProsemirrorAdapter = class {
|
|
|
16067
16092
|
this.view = undefined;
|
|
16068
16093
|
this.actionBarItems = [];
|
|
16069
16094
|
}
|
|
16095
|
+
componentDidLoad() {
|
|
16096
|
+
// Stencil complains loudly about triggering rerenders in
|
|
16097
|
+
// componentDidLoad, but we have to, so we're using setTimeout to
|
|
16098
|
+
// suppress the warning. /Ads
|
|
16099
|
+
setTimeout(this.initializeEditor, 0);
|
|
16100
|
+
}
|
|
16070
16101
|
render() {
|
|
16071
16102
|
return [
|
|
16072
16103
|
index.h("limel-action-bar", { accessibleLabel: "Toolbar", actions: this.actionBarItems, onItemSelected: this.handleActionBarItem }),
|
|
16073
16104
|
index.h("div", { id: "editor" }),
|
|
16074
16105
|
];
|
|
16075
16106
|
}
|
|
16076
|
-
componentDidLoad() {
|
|
16077
|
-
this.actionBarItems = textEditorMenuItems;
|
|
16078
|
-
const mySchema = new Schema({
|
|
16079
|
-
nodes: addListNodes(schema.spec.nodes, 'paragraph block*', 'block'),
|
|
16080
|
-
marks: schema.spec.marks,
|
|
16081
|
-
});
|
|
16082
|
-
this.view = new EditorView(this.host.shadowRoot.querySelector('#editor'), {
|
|
16083
|
-
state: EditorState.create({
|
|
16084
|
-
doc: DOMParser.fromSchema(mySchema).parse(this.host.shadowRoot.querySelector('#editor')),
|
|
16085
|
-
plugins: exampleSetup({
|
|
16086
|
-
schema: mySchema,
|
|
16087
|
-
menuBar: false,
|
|
16088
|
-
}),
|
|
16089
|
-
}),
|
|
16090
|
-
dispatchTransaction: (transaction) => {
|
|
16091
|
-
const newState = this.view.state.apply(transaction);
|
|
16092
|
-
this.view.updateState(newState);
|
|
16093
|
-
this.change.emit(this.getHTML());
|
|
16094
|
-
},
|
|
16095
|
-
});
|
|
16096
|
-
this.menuCommandFactory = new MenuCommandFactory(mySchema);
|
|
16097
|
-
if (this.value) {
|
|
16098
|
-
this.view.dom.innerHTML = this.value;
|
|
16099
|
-
}
|
|
16100
|
-
}
|
|
16101
16107
|
executeCommand(command) {
|
|
16102
16108
|
const { state } = this.view;
|
|
16103
16109
|
const selection = state.selection;
|