@limetech/lime-elements 37.17.3 → 37.19.0-dev.1
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 +16 -0
- package/dist/cjs/file-metadata-062e1135.js +58 -0
- package/dist/cjs/file-metadata-062e1135.js.map +1 -0
- package/dist/{esm/file-metadata-9a4780e2.js → cjs/icons-8ecb9740.js} +36 -50
- package/dist/cjs/icons-8ecb9740.js.map +1 -0
- package/dist/cjs/index.cjs.js +6 -0
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/limel-file-dropzone_2.cjs.entry.js +2 -1
- package/dist/cjs/limel-file-dropzone_2.cjs.entry.js.map +1 -1
- package/dist/cjs/limel-file.cjs.entry.js +2 -1
- package/dist/cjs/limel-file.cjs.entry.js.map +1 -1
- package/dist/cjs/limel-text-editor.cjs.entry.js +38 -1
- package/dist/cjs/limel-text-editor.cjs.entry.js.map +1 -1
- package/dist/collection/components/file/icon-background-colors.js +11 -0
- package/dist/collection/components/file/icon-background-colors.js.map +1 -1
- package/dist/collection/components/file/icon-fill-colors.js +11 -0
- package/dist/collection/components/file/icon-fill-colors.js.map +1 -1
- package/dist/collection/components/file/icons.js +9 -0
- package/dist/collection/components/file/icons.js.map +1 -1
- package/dist/collection/components/file/index.js +4 -0
- package/dist/collection/components/file/index.js.map +1 -0
- package/dist/collection/components/text-editor/menu/default-menu.js +35 -0
- package/dist/collection/components/text-editor/menu/default-menu.js.map +1 -0
- package/dist/collection/components/text-editor/text-editor.js +6 -1
- package/dist/collection/components/text-editor/text-editor.js.map +1 -1
- package/dist/collection/interface.js +3 -2
- package/dist/collection/interface.js.map +1 -1
- package/dist/esm/file-metadata-f5ba6228.js +53 -0
- package/dist/esm/file-metadata-f5ba6228.js.map +1 -0
- package/dist/{cjs/file-metadata-f259bba5.js → esm/icons-d4830de7.js} +33 -56
- package/dist/esm/icons-d4830de7.js.map +1 -0
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/limel-file-dropzone_2.entry.js +2 -1
- package/dist/esm/limel-file-dropzone_2.entry.js.map +1 -1
- package/dist/esm/limel-file.entry.js +2 -1
- package/dist/esm/limel-file.entry.js.map +1 -1
- package/dist/esm/limel-text-editor.entry.js +38 -1
- package/dist/esm/limel-text-editor.entry.js.map +1 -1
- package/dist/lime-elements/index.esm.js +1 -1
- package/dist/lime-elements/index.esm.js.map +1 -1
- package/dist/lime-elements/lime-elements.esm.js +1 -1
- package/dist/lime-elements/p-35e7a41b.js +2 -0
- package/dist/lime-elements/p-35e7a41b.js.map +1 -0
- package/dist/lime-elements/p-48b9449e.js +2 -0
- package/dist/lime-elements/p-48b9449e.js.map +1 -0
- package/dist/lime-elements/p-6c36f090.entry.js +2 -0
- package/dist/lime-elements/{p-fc91537a.entry.js.map → p-6c36f090.entry.js.map} +1 -1
- package/dist/lime-elements/{p-6a0eac83.entry.js → p-7968bfa0.entry.js} +2 -2
- package/dist/lime-elements/p-7968bfa0.entry.js.map +1 -0
- package/dist/lime-elements/p-a1ffb47f.entry.js +2 -0
- package/dist/lime-elements/{p-c9ffb1b4.entry.js.map → p-a1ffb47f.entry.js.map} +1 -1
- package/dist/types/components/file/icon-background-colors.d.ts +11 -0
- package/dist/types/components/file/icon-fill-colors.d.ts +11 -0
- package/dist/types/components/file/icons.d.ts +9 -0
- package/dist/types/components/file/index.d.ts +4 -0
- package/dist/types/components/text-editor/menu/default-menu.d.ts +11 -0
- package/dist/types/interface.d.ts +3 -2
- package/package.json +3 -3
- package/dist/cjs/file-metadata-f259bba5.js.map +0 -1
- package/dist/esm/file-metadata-9a4780e2.js.map +0 -1
- package/dist/lime-elements/p-6a0eac83.entry.js.map +0 -1
- package/dist/lime-elements/p-8bc1584b.js +0 -2
- package/dist/lime-elements/p-8bc1584b.js.map +0 -1
- package/dist/lime-elements/p-c9ffb1b4.entry.js +0 -2
- package/dist/lime-elements/p-fc91537a.entry.js +0 -2
|
@@ -15909,6 +15909,39 @@ function exampleSetup(options) {
|
|
|
15909
15909
|
}));
|
|
15910
15910
|
}
|
|
15911
15911
|
|
|
15912
|
+
/**
|
|
15913
|
+
* Creates the default menu for the text editor
|
|
15914
|
+
* based on the default menu already in prosemirror-example-setup
|
|
15915
|
+
* @param schema - the schema to use for the menu
|
|
15916
|
+
*
|
|
15917
|
+
* @returns the default menu for the text editor
|
|
15918
|
+
*/
|
|
15919
|
+
const buildDefaultMenu = (schema) => {
|
|
15920
|
+
const menuItems = buildMenuItems(schema);
|
|
15921
|
+
const { inlineMenu, insertHorizontalRule } = menuItems;
|
|
15922
|
+
const typeMenu = getNewMenu(menuItems.typeMenu);
|
|
15923
|
+
const newHorizontalRule = new MenuItem(Object.assign(Object.assign({}, insertHorizontalRule.spec), { label: 'hr' }));
|
|
15924
|
+
const historyButtons = menuItems.fullMenu[2];
|
|
15925
|
+
const blockMenu = getBlockMenu(menuItems.blockMenu);
|
|
15926
|
+
return [
|
|
15927
|
+
inlineMenu[0],
|
|
15928
|
+
[newHorizontalRule],
|
|
15929
|
+
...typeMenu,
|
|
15930
|
+
historyButtons,
|
|
15931
|
+
blockMenu,
|
|
15932
|
+
];
|
|
15933
|
+
};
|
|
15934
|
+
const getNewMenu = (typeMenu) => {
|
|
15935
|
+
const headingDropdown = new Dropdown(typeMenu.content[2].content, {
|
|
15936
|
+
label: 'H',
|
|
15937
|
+
});
|
|
15938
|
+
return [[typeMenu.content[0], typeMenu.content[1]], [headingDropdown]];
|
|
15939
|
+
};
|
|
15940
|
+
const getBlockMenu = (blockMenu) => {
|
|
15941
|
+
// eslint-disable-next-line no-magic-numbers
|
|
15942
|
+
return [...blockMenu[0].slice(0, 5)];
|
|
15943
|
+
};
|
|
15944
|
+
|
|
15912
15945
|
const textEditorCss = "@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-text-editor){isolation:isolate;display:block}*{box-sizing:border-box}.ProseMirror-menubar-wrapper{transition:border 0.2s ease;display:grid;grid-template-rows:auto 1fr;border-radius:0.25rem;border:1px solid;border-color:rgba(var(--contrast-700), 0.65)}.ProseMirror-menubar-wrapper:hover{border-color:rgba(var(--contrast-700), 1)}.ProseMirror-menubar-wrapper:focus-within{border-color:var(--mdc-theme-primary)}.ProseMirror-textblock-dropdown{min-width:3em}.ProseMirror-tooltip .ProseMirror-menu{width:-webkit-fit-content;width:fit-content;white-space:pre}.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;border-bottom-left-radius:0.5rem;border-bottom-right-radius:0.5rem;padding:0.5rem 1rem;background-color:rgb(var(--contrast-100))}.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}div#editor .ProseMirror-menubar{position:sticky !important;z-index:1;top:0}div#editor .ProseMirror-menubar[style*=\"position: fixed\"]{box-shadow:0 0.25rem 0.5rem -0.5rem rgb(var(--color-black), 0.8)}.ProseMirror-menubar{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:0.25rem;align-items:center;padding:0.125rem;background-color:rgb(var(--contrast-100));border-top-left-radius:0.5rem;border-top-right-radius:0.5rem}.ProseMirror-menuitem{position:relative;flex-shrink:0;display:flex;align-items:center;justify-content:center;white-space:nowrap;line-height:1;height:1.5rem;min-width:1.5rem;border-radius:0.25rem;color:rgb(var(--contrast-1100));font-size:0.8125rem}.ProseMirror-menuitem:not(:has(.ProseMirror-menu-disabled)){transition:color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease, transform 0.1s ease-out;cursor:pointer;color:var(--mdc-theme-on-surface);background-color:transparent}.ProseMirror-menuitem:not(:has(.ProseMirror-menu-disabled)):hover{color:var(--mdc-theme-on-surface);background-color:var(--lime-elevated-surface-background-color);box-shadow:var(--button-shadow-hovered)}.ProseMirror-menuitem:not(:has(.ProseMirror-menu-disabled)):active{box-shadow:var(--button-shadow-pressed);transform:translate3d(0, 0.08rem, 0)}.ProseMirror-menuitem:has(.ProseMirror-menu-active){box-shadow:var(--button-shadow-inset);color:var(--mdc-theme-primary)}.ProseMirror-menuitem:has(.ProseMirror-menu-active) svg{color:var(--mdc-theme-primary)}.ProseMirror-menuitem:has(.ProseMirror-menu-dropdown-menu){box-shadow:var(--button-shadow-inset)}.ProseMirror-menuitem svg{fill:currentColor;height:1rem;color:rgb(var(--contrast-1100))}.ProseMirror-menuseparator{border-radius:1rem;background-color:rgb(var(--contrast-600));width:0.125rem;height:1rem}.ProseMirror-menu-dropdown{position:relative;display:flex;align-items:center;gap:0.5rem;padding:0 0.5rem}.ProseMirror-menu-dropdown:after{content:\"\";border-left:0.25rem solid transparent;border-right:0.25rem solid transparent;border-top:0.25rem solid currentColor}.ProseMirror-menu-dropdown-menu,.ProseMirror-menu-submenu{box-shadow:0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12)}.ProseMirror-menu-dropdown-menu{position:absolute;top:100%;background:rgb(var(--contrast-100));border-radius:0.25rem;padding:0.125rem}.ProseMirror-menu-submenu{position:absolute;background:rgb(var(--contrast-100));border-radius:0.25rem;padding:0.125rem;display:none;min-width:4em;left:100%;top:-0.75rem}.ProseMirror-menu-dropdown-item{transition:background-color 0.2s ease;cursor:pointer;border-radius:0.375rem;min-height:2.5rem;display:flex;align-items:center;width:100%}.ProseMirror-menu-dropdown-item>div{padding:0 1rem;width:100%}.ProseMirror-menu-dropdown-item:not(:has(.ProseMirror-menu-disabled)):hover{background-color:rgb(var(--contrast-300))}.ProseMirror-menu-submenu-wrap{position:relative;margin-right:-0.25rem}.ProseMirror-menu-submenu-wrap:hover .ProseMirror-menu-submenu{display:block}.ProseMirror-menu-submenu-label{position:relative;display:flex;align-items:center;justify-content:space-between;gap:0.5rem}.ProseMirror-menu-submenu-label:after{content:\"\";border-top:0.25rem solid transparent;border-bottom:0.25rem solid transparent;border-left:0.25rem solid currentColor}.ProseMirror-menu-disabled{opacity:0.3;cursor:default}.ProseMirror-menu-submenu-wrap-active .ProseMirror-menu-submenu{display:block}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))}";
|
|
15913
15946
|
|
|
15914
15947
|
const TextEditor = class {
|
|
@@ -15926,10 +15959,14 @@ const TextEditor = class {
|
|
|
15926
15959
|
nodes: addListNodes(schema.spec.nodes, 'paragraph block*', 'block'),
|
|
15927
15960
|
marks: schema.spec.marks,
|
|
15928
15961
|
});
|
|
15962
|
+
const menu = buildDefaultMenu(mySchema);
|
|
15929
15963
|
this.view = new EditorView(this.host.shadowRoot.querySelector('#editor'), {
|
|
15930
15964
|
state: EditorState.create({
|
|
15931
15965
|
doc: DOMParser.fromSchema(mySchema).parse(this.host.shadowRoot.querySelector('#editor')),
|
|
15932
|
-
plugins: exampleSetup({
|
|
15966
|
+
plugins: exampleSetup({
|
|
15967
|
+
schema: mySchema,
|
|
15968
|
+
menuContent: menu,
|
|
15969
|
+
}),
|
|
15933
15970
|
}),
|
|
15934
15971
|
dispatchTransaction: (transaction) => {
|
|
15935
15972
|
const newState = this.view.state.apply(transaction);
|