@limetech/lime-elements 37.25.0 → 37.26.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/{dom-ee8ee17d.js → debounce-2e5f4b7e.js} +1 -31
- package/dist/cjs/debounce-2e5f4b7e.js.map +1 -0
- package/dist/cjs/dom-81eaa633.js +34 -0
- package/dist/cjs/dom-81eaa633.js.map +1 -0
- package/dist/cjs/lime-elements.cjs.js +1 -1
- package/dist/cjs/{limel-action-bar-item_2.cjs.entry.js → limel-action-bar_3.cjs.entry.js} +106 -1
- package/dist/cjs/limel-action-bar_3.cjs.entry.js.map +1 -0
- package/dist/cjs/{limel-breadcrumbs_3.cjs.entry.js → limel-breadcrumbs_4.cjs.entry.js} +519 -20
- package/dist/cjs/limel-breadcrumbs_4.cjs.entry.js.map +1 -0
- package/dist/cjs/{limel-input-field_3.cjs.entry.js → limel-dynamic-label_4.cjs.entry.js} +75 -494
- package/dist/cjs/limel-dynamic-label_4.cjs.entry.js.map +1 -0
- package/dist/cjs/limel-picker.cjs.entry.js +3 -2
- package/dist/cjs/limel-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/limel-prosemirror-adapter.cjs.entry.js +153 -116
- package/dist/cjs/limel-prosemirror-adapter.cjs.entry.js.map +1 -1
- package/dist/cjs/limel-text-editor.cjs.entry.js +4 -1
- package/dist/cjs/limel-text-editor.cjs.entry.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/text-editor/prosemirror-adapter/menu/menu-commands.js +77 -0
- package/dist/collection/components/text-editor/prosemirror-adapter/menu/menu-commands.js.map +1 -0
- package/dist/collection/components/text-editor/prosemirror-adapter/menu/menu-items.js +53 -0
- package/dist/collection/components/text-editor/prosemirror-adapter/menu/menu-items.js.map +1 -0
- package/dist/collection/components/text-editor/prosemirror-adapter/prosemirror-adapter.js +34 -9
- package/dist/collection/components/text-editor/prosemirror-adapter/prosemirror-adapter.js.map +1 -1
- package/dist/collection/components/text-editor/text-editor.css +88 -0
- package/dist/collection/components/text-editor/text-editor.js +3 -0
- package/dist/collection/components/text-editor/text-editor.js.map +1 -1
- package/dist/esm/{dom-ae531ebc.js → debounce-9a05c91c.js} +2 -31
- package/dist/esm/debounce-9a05c91c.js.map +1 -0
- package/dist/esm/dom-0b0170a0.js +32 -0
- package/dist/esm/dom-0b0170a0.js.map +1 -0
- package/dist/esm/lime-elements.js +1 -1
- package/dist/esm/{limel-action-bar-item_2.entry.js → limel-action-bar_3.entry.js} +107 -3
- package/dist/esm/limel-action-bar_3.entry.js.map +1 -0
- package/dist/esm/{limel-breadcrumbs_3.entry.js → limel-breadcrumbs_4.entry.js} +501 -3
- package/dist/esm/limel-breadcrumbs_4.entry.js.map +1 -0
- package/dist/esm/{limel-input-field_3.entry.js → limel-dynamic-label_4.entry.js} +70 -490
- package/dist/esm/limel-dynamic-label_4.entry.js.map +1 -0
- package/dist/esm/limel-picker.entry.js +2 -1
- package/dist/esm/limel-picker.entry.js.map +1 -1
- package/dist/esm/limel-prosemirror-adapter.entry.js +153 -116
- package/dist/esm/limel-prosemirror-adapter.entry.js.map +1 -1
- package/dist/esm/limel-text-editor.entry.js +4 -1
- package/dist/esm/limel-text-editor.entry.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/lime-elements/lime-elements.esm.js +1 -1
- package/dist/lime-elements/lime-elements.esm.js.map +1 -1
- package/dist/lime-elements/p-18c97232.js +2 -0
- package/dist/lime-elements/p-18c97232.js.map +1 -0
- package/dist/lime-elements/p-2bff59a1.entry.js +2 -0
- package/dist/lime-elements/p-2bff59a1.entry.js.map +1 -0
- package/dist/lime-elements/p-3ab8d3e9.entry.js +68 -0
- package/dist/lime-elements/p-3ab8d3e9.entry.js.map +1 -0
- package/dist/lime-elements/p-5e7b7b03.js +2 -0
- package/dist/lime-elements/p-5e7b7b03.js.map +1 -0
- package/dist/lime-elements/p-5fcdb9d2.entry.js +2 -0
- package/dist/lime-elements/{p-3e90be0a.entry.js.map → p-5fcdb9d2.entry.js.map} +1 -1
- package/dist/lime-elements/p-6ebde4a2.entry.js +2 -0
- package/dist/lime-elements/p-6ebde4a2.entry.js.map +1 -0
- package/dist/lime-elements/{p-60317f5c.entry.js → p-db7ce0f8.entry.js} +2 -2
- package/dist/lime-elements/p-db7ce0f8.entry.js.map +1 -0
- package/dist/lime-elements/p-e4424368.entry.js +2 -0
- package/dist/lime-elements/p-e4424368.entry.js.map +1 -0
- package/dist/types/components/text-editor/prosemirror-adapter/menu/menu-commands.d.ts +12 -0
- package/dist/types/components/text-editor/prosemirror-adapter/menu/menu-items.d.ts +4 -0
- package/dist/types/components/text-editor/prosemirror-adapter/prosemirror-adapter.d.ts +4 -1
- package/package.json +2 -2
- package/dist/cjs/dom-ee8ee17d.js.map +0 -1
- package/dist/cjs/limel-action-bar-item_2.cjs.entry.js.map +0 -1
- package/dist/cjs/limel-action-bar.cjs.entry.js +0 -113
- package/dist/cjs/limel-action-bar.cjs.entry.js.map +0 -1
- package/dist/cjs/limel-breadcrumbs_3.cjs.entry.js.map +0 -1
- package/dist/cjs/limel-dynamic-label_2.cjs.entry.js +0 -91
- package/dist/cjs/limel-dynamic-label_2.cjs.entry.js.map +0 -1
- package/dist/cjs/limel-input-field_3.cjs.entry.js.map +0 -1
- package/dist/esm/dom-ae531ebc.js.map +0 -1
- package/dist/esm/limel-action-bar-item_2.entry.js.map +0 -1
- package/dist/esm/limel-action-bar.entry.js +0 -109
- package/dist/esm/limel-action-bar.entry.js.map +0 -1
- package/dist/esm/limel-breadcrumbs_3.entry.js.map +0 -1
- package/dist/esm/limel-dynamic-label_2.entry.js +0 -86
- package/dist/esm/limel-dynamic-label_2.entry.js.map +0 -1
- package/dist/esm/limel-input-field_3.entry.js.map +0 -1
- package/dist/lime-elements/p-3e90be0a.entry.js +0 -2
- package/dist/lime-elements/p-497a0b69.entry.js +0 -68
- package/dist/lime-elements/p-497a0b69.entry.js.map +0 -1
- package/dist/lime-elements/p-60317f5c.entry.js.map +0 -1
- package/dist/lime-elements/p-6eeb61e4.entry.js +0 -2
- package/dist/lime-elements/p-6eeb61e4.entry.js.map +0 -1
- package/dist/lime-elements/p-714d6937.js +0 -2
- package/dist/lime-elements/p-714d6937.js.map +0 -1
- package/dist/lime-elements/p-a2d19673.entry.js +0 -2
- package/dist/lime-elements/p-a2d19673.entry.js.map +0 -1
- package/dist/lime-elements/p-af964180.entry.js +0 -2
- package/dist/lime-elements/p-af964180.entry.js.map +0 -1
- package/dist/lime-elements/p-da62cd3f.entry.js +0 -2
- package/dist/lime-elements/p-da62cd3f.entry.js.map +0 -1
- package/dist/lime-elements/p-f1e1f867.entry.js +0 -2
- package/dist/lime-elements/p-f1e1f867.entry.js.map +0 -1
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
const index = require('./index-d1052409.js');
|
|
6
6
|
|
|
7
|
-
const textEditorCss = "@charset \"UTF-8\";:host(limel-text-editor){display:flex;flex-direction:column;width:100
|
|
7
|
+
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 )}.lime-empty-value-for-readonly{z-index:1;position:absolute;top:0.875rem;left:1rem}.lime-looks-like-input-value{line-height:1.75rem;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:rgba(var(--contrast-1400), 1);font-size:0.875rem;font-weight:400;letter-spacing:0.009375em}.mdc-text-field--disabled .lime-looks-like-input-value{cursor:not-allowed;opacity:0.4}:host(limel-text-editor){display:flex;flex-direction:column;width:100%;position:relative}fieldset{min-width:0;min-height:0}:host(limel-text-editor[readonly]) fieldset{padding-block-start:0.75rem}: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 )}fieldset{box-sizing:border-box;transition:border-color 0.2s ease, background-color 0.2s ease;border:1px solid;border-radius:0.25rem;margin-inline-start:0;margin-inline-end:0;padding-block-start:0;padding-inline-start:0.75rem;padding-inline-end:0.75rem;padding-block-end:0.75rem}fieldset:not([disabled]){border-color:rgba(var(--contrast-700), 0.65);background-color:rgba(var(--contrast-200), 0.5)}fieldset:not([disabled]):hover{border-color:rgba(var(--contrast-700), 1);background-color:rgba(var(--contrast-200), 1)}fieldset:not([disabled]):focus-within{border-color:var(--mdc-theme-primary)}fieldset[disabled]{border-color:transparent}fieldset:has(legend){margin-top:calc((-0.75rem / 2) + (1px / 2))}legend{box-sizing:border-box;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:100%;color:rgba(var(--contrast-1200), 1);font-size:0.65rem;letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, 0.009375em);padding-inline-start:0.25rem;padding-inline-end:0.25rem}";
|
|
8
8
|
|
|
9
9
|
const TextEditor = class {
|
|
10
10
|
constructor(hostRef) {
|
|
@@ -26,6 +26,9 @@ const TextEditor = class {
|
|
|
26
26
|
return (index.h("fieldset", { disabled: this.readonly || this.disabled }, this.renderLabel(), this.renderEditor()));
|
|
27
27
|
}
|
|
28
28
|
renderEditor() {
|
|
29
|
+
if (this.readonly && !this.value) {
|
|
30
|
+
return (index.h("span", { class: "lime-empty-value-for-readonly lime-looks-like-input-value" }, "\u2013"));
|
|
31
|
+
}
|
|
29
32
|
if (this.readonly) {
|
|
30
33
|
return index.h("limel-markdown", { value: this.value });
|
|
31
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"limel-text-editor.entry.cjs.js","mappings":";;;;;;AAAA,MAAM,aAAa,GAAG,+
|
|
1
|
+
{"file":"limel-text-editor.entry.cjs.js","mappings":";;;;;;AAAA,MAAM,aAAa,GAAG,+0HAA+0H;;MCsBx1H,UAAU;;;;IAkGX,iBAAY,GAAG,MAAM,CAAC,KAA0B;MACpD,KAAK,CAAC,eAAe,EAAE,CAAC;MACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;KAClC,CAAC;;;;;;;;;EAzCK,MAAM;IACT,QACIA,sBAAU,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,IAC7C,IAAI,CAAC,WAAW,EAAE,EAClB,IAAI,CAAC,YAAY,EAAE,CACb,EACb;GACL;EAEO,YAAY;IAChB,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;MAC9B,QACIA,kBAAM,KAAK,EAAC,2DAA2D,aAEhE,EACT;KACL;IAED,IAAI,IAAI,CAAC,QAAQ,EAAE;MACf,OAAOA,4BAAgB,KAAK,EAAE,IAAI,CAAC,KAAK,GAAI,CAAC;KAChD;IAED,QACIA,uCACI,QAAQ,EAAE,IAAI,CAAC,YAAY,EAC3B,KAAK,EAAE,IAAI,CAAC,KAAK,GACnB,EACJ;GACL;EAEO,WAAW;IACf,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;MACb,OAAO;KACV;IAED,OAAOA,wBAAS,IAAI,CAAC,KAAK,CAAU,CAAC;GACxC;;;;;;","names":["h"],"sources":["./src/components/text-editor/text-editor.scss?tag=limel-text-editor&encapsulation=shadow","./src/components/text-editor/text-editor.tsx"],"sourcesContent":["@use '../../style/internal/shared_input-select-picker';\n\n@include shared_input-select-picker.lime-empty-value-for-readonly;\n@include shared_input-select-picker.lime-looks-like-input-value;\n\n:host(limel-text-editor) {\n display: flex;\n flex-direction: column;\n width: 100%;\n position: relative;\n}\n\nfieldset {\n min-width: 0;\n min-height: 0;\n\n :host(limel-text-editor[readonly]) & {\n padding-block-start: 0.75rem;\n }\n}\n\n@import '../../style/internal/fieldset.scss';\n","import { Component, Event, EventEmitter, Prop, h } from '@stencil/core';\nimport { FormComponent } from '../form/form.types';\n/**\n * A rich text editor that offers a rich text editing experience with markdown support,\n * in the sense that you can easily type markdown syntax and see the rendered\n * result as rich text in real-time. For instance, you can type `# Hello, world!`\n * and see it directly turning to a heading 1 (an `<h1>` HTML element).\n *\n * Naturally, you can use standard keyboard hotkeys such as <kbd>Ctrl</kbd> + <kbd>B</kbd>\n * to toggle bold text, <kbd>Ctrl</kbd> + <kbd>I</kbd> to toggle italic text, and so on.\n *\n * @exampleComponent limel-example-text-editor-basic\n * @exampleComponent limel-example-text-editor-as-form-component\n * @exampleComponent limel-example-text-editor-composite\n * @beta\n * @private\n */\n@Component({\n tag: 'limel-text-editor',\n shadow: true,\n styleUrl: 'text-editor.scss',\n})\nexport class TextEditor implements FormComponent<string> {\n /**\n * Set to `true` to disable the field.\n * Use `disabled` to indicate that the field can normally be interacted\n * with, but is currently disabled. This tells the user that if certain\n * requirements are met, the field may become enabled again.\n */\n @Prop({ reflect: true })\n public disabled?: boolean;\n\n /**\n * Set to `true` to make the component read-only.\n * Use `readonly` when the field is only there to present the data it holds,\n * and will not become possible for the current user to edit.\n * :::note\n * Consider that it might be better to use `limel-markdown`\n * instead of `limel-text-editor` when the goal is visualizing data.\n * :::\n */\n @Prop({ reflect: true })\n public readonly?: boolean;\n\n /**\n * Optional helper text to display below the input field when it has focus\n */\n @Prop({ reflect: true })\n public helperText?: string;\n\n /**\n * The placeholder text shown inside the input field,\n * when the field is empty.\n */\n @Prop({ reflect: true })\n public placeholder?: string;\n\n /**\n * The label of the editor\n */\n @Prop({ reflect: true })\n public label?: string;\n\n /**\n * Set to `true` to indicate that the current value of the editor is\n * invalid.\n */\n @Prop({ reflect: true })\n public invalid?: boolean;\n\n /**\n * Description of the text inside the editor as serialised HTML\n */\n @Prop({ reflect: true })\n public value: string;\n\n /**\n * Dispatched when a change is made to the editor\n */\n @Event()\n public change: EventEmitter<string>;\n\n public render() {\n return (\n <fieldset disabled={this.readonly || this.disabled}>\n {this.renderLabel()}\n {this.renderEditor()}\n </fieldset>\n );\n }\n\n private renderEditor() {\n if (this.readonly && !this.value) {\n return (\n <span class=\"lime-empty-value-for-readonly lime-looks-like-input-value\">\n –\n </span>\n );\n }\n\n if (this.readonly) {\n return <limel-markdown value={this.value} />;\n }\n\n return (\n <limel-prosemirror-adapter\n onChange={this.handleChange}\n value={this.value}\n />\n );\n }\n\n private renderLabel() {\n if (!this.label) {\n return;\n }\n\n return <legend>{this.label}</legend>;\n }\n\n private handleChange = () => (event: CustomEvent<string>) => {\n event.stopPropagation();\n this.change.emit(event.detail);\n };\n}\n"],"version":3}
|
package/dist/cjs/loader.cjs.js
CHANGED
|
@@ -14,7 +14,7 @@ const patchEsm = () => {
|
|
|
14
14
|
const defineCustomElements = (win, options) => {
|
|
15
15
|
if (typeof window === 'undefined') return Promise.resolve();
|
|
16
16
|
return patchEsm().then(() => {
|
|
17
|
-
return index.bootstrapLazy(JSON.parse("[[\"limel-action-bar.cjs\",[[1,\"limel-action-bar\",{\"actions\":[16],\"accessibleLabel\":[513,\"accessible-label\"],\"layout\":[513],\"openDirection\":[513,\"open-direction\"],\"overflowCutoff\":[32]}]]],[\"limel-split-button.cjs\",[[1,\"limel-split-button\",{\"label\":[513],\"primary\":[516],\"icon\":[513],\"disabled\":[516],\"items\":[16]}]]],[\"limel-file-viewer.cjs\",[[1,\"limel-file-viewer\",{\"url\":[513],\"filename\":[513],\"alt\":[513],\"allowFullscreen\":[516,\"allow-fullscreen\"],\"allowOpenInNewTab\":[516,\"allow-open-in-new-tab\"],\"allowDownload\":[516,\"allow-download\"],\"language\":[1],\"officeViewer\":[513,\"office-viewer\"],\"actions\":[16],\"isFullscreen\":[32],\"fileType\":[32],\"loading\":[32],\"fileUrl\":[32]}]]],[\"limel-color-picker.cjs\",[[1,\"limel-color-picker\",{\"value\":[513],\"label\":[513],\"helperText\":[513,\"helper-text\"],\"tooltipLabel\":[513,\"tooltip-label\"],\"required\":[516],\"readonly\":[516],\"isOpen\":[32]}]]],[\"limel-picker.cjs\",[[1,\"limel-picker\",{\"disabled\":[4],\"readonly\":[516],\"label\":[1],\"searchLabel\":[1,\"search-label\"],\"helperText\":[513,\"helper-text\"],\"leadingIcon\":[1,\"leading-icon\"],\"emptyResultMessage\":[1,\"empty-result-message\"],\"required\":[4],\"invalid\":[516],\"value\":[16],\"searcher\":[16],\"multiple\":[4],\"delimiter\":[513],\"actions\":[16],\"actionPosition\":[1,\"action-position\"],\"actionScrollBehavior\":[1,\"action-scroll-behavior\"],\"badgeIcons\":[516,\"badge-icons\"],\"items\":[32],\"textValue\":[32],\"loading\":[32],\"chips\":[32]}]]],[\"limel-date-picker.cjs\",[[1,\"limel-date-picker\",{\"disabled\":[516],\"readonly\":[516],\"invalid\":[516],\"label\":[513],\"placeholder\":[513],\"helperText\":[513,\"helper-text\"],\"required\":[516],\"value\":[16],\"type\":[513],\"format\":[513],\"language\":[513],\"formatter\":[16],\"formattedValue\":[32],\"internalFormat\":[32],\"showPortal\":[32]}]]],[\"limel-dock.cjs\",[[1,\"limel-dock\",{\"dockItems\":[16],\"dockFooterItems\":[16],\"accessibleLabel\":[513,\"accessible-label\"],\"expanded\":[516],\"allowResize\":[516,\"allow-resize\"],\"mobileBreakPoint\":[514,\"mobile-break-point\"],\"useMobileLayout\":[32]}]]],[\"limel-file.cjs\",[[1,\"limel-file\",{\"value\":[16],\"label\":[513],\"required\":[516],\"disabled\":[516],\"readonly\":[516],\"invalid\":[516],\"accept\":[513],\"language\":[1]}]]],[\"limel-snackbar.cjs\",[[1,\"limel-snackbar\",{\"message\":[1],\"timeout\":[2],\"actionText\":[1,\"action-text\"],\"dismissible\":[4],\"multiline\":[4],\"language\":[1],\"show\":[64]}]]],[\"limel-tab-panel.cjs\",[[1,\"limel-tab-panel\",{\"tabs\":[1040]}]]],[\"limel-select.cjs\",[[1,\"limel-select\",{\"disabled\":[516],\"readonly\":[516],\"invalid\":[516],\"required\":[516],\"label\":[513],\"helperText\":[513,\"helper-text\"],\"value\":[16],\"options\":[16],\"multiple\":[4],\"menuOpen\":[32]}]]],[\"limel-button-group.cjs\",[[1,\"limel-button-group\",{\"value\":[16],\"disabled\":[516],\"selectedButtonId\":[32]}]]],[\"limel-collapsible-section.cjs\",[[1,\"limel-collapsible-section\",{\"isOpen\":[1540,\"is-open\"],\"header\":[513],\"actions\":[16]}]]],[\"limel-help.cjs\",[[1,\"limel-help\",{\"value\":[1],\"trigger\":[1],\"readMoreLink\":[16],\"openDirection\":[513,\"open-direction\"],\"isOpen\":[32]}]]],[\"limel-table.cjs\",[[1,\"limel-table\",{\"data\":[16],\"columns\":[16],\"mode\":[1],\"layout\":[1],\"pageSize\":[2,\"page-size\"],\"totalRows\":[2,\"total-rows\"],\"sorting\":[16],\"activeRow\":[1040],\"movableColumns\":[4,\"movable-columns\"],\"loading\":[4],\"page\":[2],\"emptyMessage\":[1,\"empty-message\"],\"aggregates\":[16],\"selectable\":[4],\"selection\":[16]}]]],[\"limel-circular-progress.cjs\",[[1,\"limel-circular-progress\",{\"value\":[2],\"maxValue\":[2,\"max-value\"],\"prefix\":[513],\"suffix\":[1],\"displayPercentageColors\":[4,\"display-percentage-colors\"],\"size\":[513]}]]],[\"limel-icon.cjs\",[[1,\"limel-icon\",{\"size\":[513],\"name\":[513],\"badge\":[516]}]]],[\"limel-info-tile.cjs\",[[1,\"limel-info-tile\",{\"value\":[520],\"icon\":[1],\"label\":[513],\"prefix\":[513],\"suffix\":[513],\"disabled\":[516],\"badge\":[520],\"loading\":[516],\"link\":[16],\"progress\":[16]}]]],[\"limel-switch.cjs\",[[1,\"limel-switch\",{\"label\":[513],\"disabled\":[516],\"readonly\":[516],\"invalid\":[516],\"value\":[516],\"helperText\":[513,\"helper-text\"],\"readonlyLabels\":[16],\"fieldId\":[32]}]]],[\"limel-header.cjs\",[[1,\"limel-header\",{\"icon\":[1],\"heading\":[1],\"subheading\":[1],\"supportingText\":[1,\"supporting-text\"],\"subheadingDivider\":[1,\"subheading-divider\"]}]]],[\"limel-dialog.cjs\",[[1,\"limel-dialog\",{\"heading\":[1],\"fullscreen\":[516],\"open\":[1540],\"closingActions\":[16]}]]],[\"limel-progress-flow.cjs\",[[1,\"limel-progress-flow\",{\"flowItems\":[16],\"disabled\":[4],\"readonly\":[4]}]]],[\"limel-shortcut.cjs\",[[1,\"limel-shortcut\",{\"icon\":[513],\"label\":[513],\"disabled\":[516],\"badge\":[520],\"link\":[16]}]]],[\"limel-text-editor.cjs\",[[1,\"limel-text-editor\",{\"disabled\":[516],\"readonly\":[516],\"helperText\":[513,\"helper-text\"],\"placeholder\":[513],\"label\":[513],\"invalid\":[516],\"value\":[513]}]]],[\"limel-banner.cjs\",[[1,\"limel-banner\",{\"message\":[513],\"icon\":[513],\"isOpen\":[32],\"open\":[64],\"close\":[64]}]]],[\"limel-callout.cjs\",[[1,\"limel-callout\",{\"heading\":[513],\"icon\":[513],\"type\":[513],\"language\":[1]}]]],[\"limel-badge.cjs\",[[1,\"limel-badge\",{\"label\":[520]}]]],[\"limel-dynamic-label_2.cjs\",[[1,\"limel-dynamic-label\",{\"value\":[8],\"defaultLabel\":[16],\"labels\":[16]}],[1,\"limel-helper-line\",{\"helperText\":[513,\"helper-text\"],\"length\":[514],\"maxLength\":[514,\"max-length\"],\"invalid\":[516],\"helperTextId\":[513,\"helper-text-id\"]}]]],[\"limel-slider.cjs\",[[1,\"limel-slider\",{\"disabled\":[516],\"readonly\":[516],\"factor\":[514],\"label\":[513],\"helperText\":[513,\"helper-text\"],\"unit\":[513],\"value\":[514],\"valuemax\":[514],\"valuemin\":[514],\"step\":[514],\"percentageClass\":[32]}]]],[\"limel-code-editor.cjs\",[[1,\"limel-code-editor\",{\"value\":[1],\"language\":[1],\"readonly\":[4],\"lineNumbers\":[4,\"line-numbers\"],\"fold\":[4],\"lint\":[4],\"colorScheme\":[1,\"color-scheme\"],\"random\":[32]}]]],[\"limel-config.cjs\",[[1,\"limel-config\",{\"config\":[16]}]]],[\"limel-flex-container.cjs\",[[1,\"limel-flex-container\",{\"direction\":[513],\"justify\":[513],\"align\":[513],\"reverse\":[516]}]]],[\"limel-form.cjs\",[[1,\"limel-form\",{\"schema\":[16],\"value\":[16],\"disabled\":[4],\"propsFactory\":[16],\"transformErrors\":[16],\"errors\":[16]}]]],[\"limel-grid.cjs\",[[1,\"limel-grid\"]]],[\"limel-color-picker-palette.cjs\",[[17,\"limel-color-picker-palette\",{\"value\":[513],\"label\":[513],\"helperText\":[513,\"helper-text\"],\"required\":[516]}]]],[\"limel-dock-button.cjs\",[[0,\"limel-dock-button\",{\"item\":[16],\"expanded\":[516],\"useMobileLayout\":[516,\"use-mobile-layout\"],\"isOpen\":[32]}]]],[\"limel-icon-button.cjs\",[[1,\"limel-icon-button\",{\"icon\":[513],\"elevated\":[516],\"label\":[513],\"disabled\":[516]}]]],[\"limel-tab-bar.cjs\",[[1,\"limel-tab-bar\",{\"tabs\":[1040],\"canScrollLeft\":[32],\"canScrollRight\":[32]},[[9,\"resize\",\"handleWindowResize\"]]]]],[\"limel-checkbox.cjs\",[[1,\"limel-checkbox\",{\"disabled\":[516],\"readonly\":[516],\"invalid\":[516],\"label\":[513],\"helperText\":[513,\"helper-text\"],\"checked\":[516],\"indeterminate\":[516],\"required\":[516],\"readonlyLabels\":[16],\"modified\":[32]}]]],[\"limel-help-content.cjs\",[[1,\"limel-help-content\",{\"value\":[1],\"readMoreLink\":[16]}]]],[\"limel-progress-flow-item.cjs\",[[0,\"limel-progress-flow-item\",{\"item\":[16],\"disabled\":[4],\"readonly\":[4],\"currentStep\":[4,\"current-step\"]}]]],[\"limel-flatpickr-adapter.cjs\",[[1,\"limel-flatpickr-adapter\",{\"value\":[16],\"type\":[1],\"format\":[1],\"isOpen\":[4,\"is-open\"],\"inputElement\":[16],\"language\":[1],\"formatter\":[16]}]]],[\"limel-prosemirror-adapter.cjs\",[[1,\"limel-prosemirror-adapter\",{\"value\":[1],\"view\":[32]}]]],[\"limel-breadcrumbs_3.cjs\",[[1,\"limel-menu\",{\"items\":[16],\"disabled\":[516],\"openDirection\":[513,\"open-direction\"],\"surfaceWidth\":[513,\"surface-width\"],\"open\":[1540],\"badgeIcons\":[516,\"badge-icons\"],\"gridLayout\":[516,\"grid-layout\"],\"loading\":[516],\"currentSubMenu\":[1040],\"rootItem\":[16],\"searcher\":[16],\"emptyResultMessage\":[1,\"empty-result-message\"],\"loadingSubItems\":[32],\"searchValue\":[32],\"searchResults\":[32]}],[1,\"limel-breadcrumbs\",{\"items\":[16],\"divider\":[1]}],[1,\"limel-menu-list\",{\"items\":[16],\"badgeIcons\":[4,\"badge-icons\"],\"iconSize\":[1,\"icon-size\"],\"type\":[1],\"maxLinesSecondaryText\":[2,\"max-lines-secondary-text\"]}]]],[\"limel-action-bar-item_2.cjs\",[[0,\"limel-action-bar-overflow-menu\",{\"items\":[16],\"openDirection\":[513,\"open-direction\"]}],[0,\"limel-action-bar-item\",{\"item\":[16],\"isVisible\":[516,\"is-visible\"]}]]],[\"limel-button.cjs\",[[1,\"limel-button\",{\"label\":[513],\"primary\":[516],\"outlined\":[516],\"icon\":[513],\"disabled\":[516],\"loading\":[516],\"loadingFailed\":[516,\"loading-failed\"],\"justLoaded\":[32]}]]],[\"limel-file-dropzone_2.cjs\",[[1,\"limel-file-dropzone\",{\"accept\":[513],\"disabled\":[4],\"text\":[1],\"helperText\":[1,\"helper-text\"],\"hasFileToDrop\":[32]}],[1,\"limel-file-input\",{\"accept\":[513],\"disabled\":[516],\"multiple\":[516]}]]],[\"limel-markdown.cjs\",[[1,\"limel-markdown\",{\"value\":[1]}]]],[\"limel-linear-progress.cjs\",[[1,\"limel-linear-progress\",{\"value\":[514],\"indeterminate\":[516]}]]],[\"limel-chip_2.cjs\",[[1,\"limel-chip-set\",{\"value\":[16],\"type\":[513],\"label\":[513],\"helperText\":[513,\"helper-text\"],\"disabled\":[516],\"readonly\":[516],\"invalid\":[516],\"inputType\":[513,\"input-type\"],\"maxItems\":[514,\"max-items\"],\"required\":[516],\"searchLabel\":[513,\"search-label\"],\"emptyInputOnBlur\":[516,\"empty-input-on-blur\"],\"clearAllButton\":[4,\"clear-all-button\"],\"leadingIcon\":[513,\"leading-icon\"],\"delimiter\":[513],\"language\":[1],\"editMode\":[32],\"textValue\":[32],\"blurred\":[32],\"inputChipIndexSelected\":[32],\"selectedChipIds\":[32],\"getEditMode\":[64],\"setFocus\":[64],\"emptyInput\":[64]}],[1,\"limel-chip\",{\"language\":[513],\"text\":[513],\"icon\":[1],\"link\":[16],\"badge\":[520],\"disabled\":[516],\"readonly\":[516],\"selected\":[516],\"invalid\":[516],\"removable\":[516],\"type\":[513],\"loading\":[516],\"progress\":[514],\"identifier\":[520]}]]],[\"limel-portal_3.cjs\",[[1,\"limel-tooltip\",{\"elementId\":[513,\"element-id\"],\"label\":[513],\"helperLabel\":[513,\"helper-label\"],\"maxlength\":[514],\"openDirection\":[513,\"open-direction\"],\"open\":[32]}],[1,\"limel-tooltip-content\",{\"label\":[513],\"helperLabel\":[513,\"helper-label\"],\"maxlength\":[514]}],[1,\"limel-portal\",{\"openDirection\":[513,\"open-direction\"],\"position\":[513],\"containerId\":[513,\"container-id\"],\"containerStyle\":[16],\"parent\":[16],\"inheritParentWidth\":[516,\"inherit-parent-width\"],\"visible\":[516],\"anchor\":[16]}]]],[\"limel-popover_2.cjs\",[[1,\"limel-popover\",{\"open\":[4],\"openDirection\":[513,\"open-direction\"]}],[1,\"limel-popover-surface\",{\"contentCollection\":[16]}]]],[\"limel-spinner.cjs\",[[1,\"limel-spinner\",{\"size\":[513],\"limeBranded\":[4,\"lime-branded\"]}]]],[\"limel-input-field_3.cjs\",[[1,\"limel-input-field\",{\"disabled\":[516],\"readonly\":[516],\"invalid\":[516],\"label\":[513],\"placeholder\":[513],\"helperText\":[513,\"helper-text\"],\"prefix\":[513],\"suffix\":[513],\"required\":[516],\"value\":[513],\"trailingIcon\":[513,\"trailing-icon\"],\"leadingIcon\":[513,\"leading-icon\"],\"pattern\":[513],\"type\":[513],\"formatNumber\":[516,\"format-number\"],\"step\":[520],\"max\":[514],\"min\":[514],\"maxlength\":[514],\"minlength\":[514],\"completions\":[16],\"showLink\":[516,\"show-link\"],\"locale\":[513],\"isFocused\":[32],\"isModified\":[32],\"showCompletions\":[32]}],[1,\"limel-list\",{\"items\":[16],\"badgeIcons\":[4,\"badge-icons\"],\"iconSize\":[1,\"icon-size\"],\"type\":[1],\"maxLinesSecondaryText\":[2,\"max-lines-secondary-text\"]}],[1,\"limel-menu-surface\",{\"open\":[4],\"allowClicksElement\":[16]}]]]]"), options);
|
|
17
|
+
return index.bootstrapLazy(JSON.parse("[[\"limel-text-editor.cjs\",[[1,\"limel-text-editor\",{\"disabled\":[516],\"readonly\":[516],\"helperText\":[513,\"helper-text\"],\"placeholder\":[513],\"label\":[513],\"invalid\":[516],\"value\":[513]}]]],[\"limel-split-button.cjs\",[[1,\"limel-split-button\",{\"label\":[513],\"primary\":[516],\"icon\":[513],\"disabled\":[516],\"items\":[16]}]]],[\"limel-file-viewer.cjs\",[[1,\"limel-file-viewer\",{\"url\":[513],\"filename\":[513],\"alt\":[513],\"allowFullscreen\":[516,\"allow-fullscreen\"],\"allowOpenInNewTab\":[516,\"allow-open-in-new-tab\"],\"allowDownload\":[516,\"allow-download\"],\"language\":[1],\"officeViewer\":[513,\"office-viewer\"],\"actions\":[16],\"isFullscreen\":[32],\"fileType\":[32],\"loading\":[32],\"fileUrl\":[32]}]]],[\"limel-color-picker.cjs\",[[1,\"limel-color-picker\",{\"value\":[513],\"label\":[513],\"helperText\":[513,\"helper-text\"],\"tooltipLabel\":[513,\"tooltip-label\"],\"required\":[516],\"readonly\":[516],\"isOpen\":[32]}]]],[\"limel-picker.cjs\",[[1,\"limel-picker\",{\"disabled\":[4],\"readonly\":[516],\"label\":[1],\"searchLabel\":[1,\"search-label\"],\"helperText\":[513,\"helper-text\"],\"leadingIcon\":[1,\"leading-icon\"],\"emptyResultMessage\":[1,\"empty-result-message\"],\"required\":[4],\"invalid\":[516],\"value\":[16],\"searcher\":[16],\"multiple\":[4],\"delimiter\":[513],\"actions\":[16],\"actionPosition\":[1,\"action-position\"],\"actionScrollBehavior\":[1,\"action-scroll-behavior\"],\"badgeIcons\":[516,\"badge-icons\"],\"items\":[32],\"textValue\":[32],\"loading\":[32],\"chips\":[32]}]]],[\"limel-date-picker.cjs\",[[1,\"limel-date-picker\",{\"disabled\":[516],\"readonly\":[516],\"invalid\":[516],\"label\":[513],\"placeholder\":[513],\"helperText\":[513,\"helper-text\"],\"required\":[516],\"value\":[16],\"type\":[513],\"format\":[513],\"language\":[513],\"formatter\":[16],\"formattedValue\":[32],\"internalFormat\":[32],\"showPortal\":[32]}]]],[\"limel-dock.cjs\",[[1,\"limel-dock\",{\"dockItems\":[16],\"dockFooterItems\":[16],\"accessibleLabel\":[513,\"accessible-label\"],\"expanded\":[516],\"allowResize\":[516,\"allow-resize\"],\"mobileBreakPoint\":[514,\"mobile-break-point\"],\"useMobileLayout\":[32]}]]],[\"limel-file.cjs\",[[1,\"limel-file\",{\"value\":[16],\"label\":[513],\"required\":[516],\"disabled\":[516],\"readonly\":[516],\"invalid\":[516],\"accept\":[513],\"language\":[1]}]]],[\"limel-snackbar.cjs\",[[1,\"limel-snackbar\",{\"message\":[1],\"timeout\":[2],\"actionText\":[1,\"action-text\"],\"dismissible\":[4],\"multiline\":[4],\"language\":[1],\"show\":[64]}]]],[\"limel-tab-panel.cjs\",[[1,\"limel-tab-panel\",{\"tabs\":[1040]}]]],[\"limel-select.cjs\",[[1,\"limel-select\",{\"disabled\":[516],\"readonly\":[516],\"invalid\":[516],\"required\":[516],\"label\":[513],\"helperText\":[513,\"helper-text\"],\"value\":[16],\"options\":[16],\"multiple\":[4],\"menuOpen\":[32]}]]],[\"limel-button-group.cjs\",[[1,\"limel-button-group\",{\"value\":[16],\"disabled\":[516],\"selectedButtonId\":[32]}]]],[\"limel-collapsible-section.cjs\",[[1,\"limel-collapsible-section\",{\"isOpen\":[1540,\"is-open\"],\"header\":[513],\"actions\":[16]}]]],[\"limel-help.cjs\",[[1,\"limel-help\",{\"value\":[1],\"trigger\":[1],\"readMoreLink\":[16],\"openDirection\":[513,\"open-direction\"],\"isOpen\":[32]}]]],[\"limel-checkbox.cjs\",[[1,\"limel-checkbox\",{\"disabled\":[516],\"readonly\":[516],\"invalid\":[516],\"label\":[513],\"helperText\":[513,\"helper-text\"],\"checked\":[516],\"indeterminate\":[516],\"required\":[516],\"readonlyLabels\":[16],\"modified\":[32]}]]],[\"limel-table.cjs\",[[1,\"limel-table\",{\"data\":[16],\"columns\":[16],\"mode\":[1],\"layout\":[1],\"pageSize\":[2,\"page-size\"],\"totalRows\":[2,\"total-rows\"],\"sorting\":[16],\"activeRow\":[1040],\"movableColumns\":[4,\"movable-columns\"],\"loading\":[4],\"page\":[2],\"emptyMessage\":[1,\"empty-message\"],\"aggregates\":[16],\"selectable\":[4],\"selection\":[16]}]]],[\"limel-info-tile.cjs\",[[1,\"limel-info-tile\",{\"value\":[520],\"icon\":[1],\"label\":[513],\"prefix\":[513],\"suffix\":[513],\"disabled\":[516],\"badge\":[520],\"loading\":[516],\"link\":[16],\"progress\":[16]}]]],[\"limel-switch.cjs\",[[1,\"limel-switch\",{\"label\":[513],\"disabled\":[516],\"readonly\":[516],\"invalid\":[516],\"value\":[516],\"helperText\":[513,\"helper-text\"],\"readonlyLabels\":[16],\"fieldId\":[32]}]]],[\"limel-dialog.cjs\",[[1,\"limel-dialog\",{\"heading\":[1],\"fullscreen\":[516],\"open\":[1540],\"closingActions\":[16]}]]],[\"limel-progress-flow.cjs\",[[1,\"limel-progress-flow\",{\"flowItems\":[16],\"disabled\":[4],\"readonly\":[4]}]]],[\"limel-shortcut.cjs\",[[1,\"limel-shortcut\",{\"icon\":[513],\"label\":[513],\"disabled\":[516],\"badge\":[520],\"link\":[16]}]]],[\"limel-banner.cjs\",[[1,\"limel-banner\",{\"message\":[513],\"icon\":[513],\"isOpen\":[32],\"open\":[64],\"close\":[64]}]]],[\"limel-callout.cjs\",[[1,\"limel-callout\",{\"heading\":[513],\"icon\":[513],\"type\":[513],\"language\":[1]}]]],[\"limel-slider.cjs\",[[1,\"limel-slider\",{\"disabled\":[516],\"readonly\":[516],\"factor\":[514],\"label\":[513],\"helperText\":[513,\"helper-text\"],\"unit\":[513],\"value\":[514],\"valuemax\":[514],\"valuemin\":[514],\"step\":[514],\"percentageClass\":[32]}]]],[\"limel-code-editor.cjs\",[[1,\"limel-code-editor\",{\"value\":[1],\"language\":[1],\"readonly\":[4],\"lineNumbers\":[4,\"line-numbers\"],\"fold\":[4],\"lint\":[4],\"colorScheme\":[1,\"color-scheme\"],\"random\":[32]}]]],[\"limel-config.cjs\",[[1,\"limel-config\",{\"config\":[16]}]]],[\"limel-flex-container.cjs\",[[1,\"limel-flex-container\",{\"direction\":[513],\"justify\":[513],\"align\":[513],\"reverse\":[516]}]]],[\"limel-form.cjs\",[[1,\"limel-form\",{\"schema\":[16],\"value\":[16],\"disabled\":[4],\"propsFactory\":[16],\"transformErrors\":[16],\"errors\":[16]}]]],[\"limel-grid.cjs\",[[1,\"limel-grid\"]]],[\"limel-action-bar_3.cjs\",[[1,\"limel-action-bar\",{\"actions\":[16],\"accessibleLabel\":[513,\"accessible-label\"],\"layout\":[513],\"openDirection\":[513,\"open-direction\"],\"overflowCutoff\":[32]}],[0,\"limel-action-bar-overflow-menu\",{\"items\":[16],\"openDirection\":[513,\"open-direction\"]}],[0,\"limel-action-bar-item\",{\"item\":[16],\"isVisible\":[516,\"is-visible\"]}]]],[\"limel-prosemirror-adapter.cjs\",[[1,\"limel-prosemirror-adapter\",{\"value\":[1],\"view\":[32],\"actionBarItems\":[32]}]]],[\"limel-color-picker-palette.cjs\",[[17,\"limel-color-picker-palette\",{\"value\":[513],\"label\":[513],\"helperText\":[513,\"helper-text\"],\"required\":[516]}]]],[\"limel-dock-button.cjs\",[[0,\"limel-dock-button\",{\"item\":[16],\"expanded\":[516],\"useMobileLayout\":[516,\"use-mobile-layout\"],\"isOpen\":[32]}]]],[\"limel-tab-bar.cjs\",[[1,\"limel-tab-bar\",{\"tabs\":[1040],\"canScrollLeft\":[32],\"canScrollRight\":[32]},[[9,\"resize\",\"handleWindowResize\"]]]]],[\"limel-header.cjs\",[[1,\"limel-header\",{\"icon\":[1],\"heading\":[1],\"subheading\":[1],\"supportingText\":[1,\"supporting-text\"],\"subheadingDivider\":[1,\"subheading-divider\"]}]]],[\"limel-help-content.cjs\",[[1,\"limel-help-content\",{\"value\":[1],\"readMoreLink\":[16]}]]],[\"limel-progress-flow-item.cjs\",[[0,\"limel-progress-flow-item\",{\"item\":[16],\"disabled\":[4],\"readonly\":[4],\"currentStep\":[4,\"current-step\"]}]]],[\"limel-circular-progress.cjs\",[[1,\"limel-circular-progress\",{\"value\":[2],\"maxValue\":[2,\"max-value\"],\"prefix\":[513],\"suffix\":[1],\"displayPercentageColors\":[4,\"display-percentage-colors\"],\"size\":[513]}]]],[\"limel-flatpickr-adapter.cjs\",[[1,\"limel-flatpickr-adapter\",{\"value\":[16],\"type\":[1],\"format\":[1],\"isOpen\":[4,\"is-open\"],\"inputElement\":[16],\"language\":[1],\"formatter\":[16]}]]],[\"limel-button.cjs\",[[1,\"limel-button\",{\"label\":[513],\"primary\":[516],\"outlined\":[516],\"icon\":[513],\"disabled\":[516],\"loading\":[516],\"loadingFailed\":[516,\"loading-failed\"],\"justLoaded\":[32]}]]],[\"limel-file-dropzone_2.cjs\",[[1,\"limel-file-dropzone\",{\"accept\":[513],\"disabled\":[4],\"text\":[1],\"helperText\":[1,\"helper-text\"],\"hasFileToDrop\":[32]}],[1,\"limel-file-input\",{\"accept\":[513],\"disabled\":[516],\"multiple\":[516]}]]],[\"limel-markdown.cjs\",[[1,\"limel-markdown\",{\"value\":[1]}]]],[\"limel-icon-button.cjs\",[[1,\"limel-icon-button\",{\"icon\":[513],\"elevated\":[516],\"label\":[513],\"disabled\":[516]}]]],[\"limel-linear-progress.cjs\",[[1,\"limel-linear-progress\",{\"value\":[514],\"indeterminate\":[516]}]]],[\"limel-chip_2.cjs\",[[1,\"limel-chip-set\",{\"value\":[16],\"type\":[513],\"label\":[513],\"helperText\":[513,\"helper-text\"],\"disabled\":[516],\"readonly\":[516],\"invalid\":[516],\"inputType\":[513,\"input-type\"],\"maxItems\":[514,\"max-items\"],\"required\":[516],\"searchLabel\":[513,\"search-label\"],\"emptyInputOnBlur\":[516,\"empty-input-on-blur\"],\"clearAllButton\":[4,\"clear-all-button\"],\"leadingIcon\":[513,\"leading-icon\"],\"delimiter\":[513],\"language\":[1],\"editMode\":[32],\"textValue\":[32],\"blurred\":[32],\"inputChipIndexSelected\":[32],\"selectedChipIds\":[32],\"getEditMode\":[64],\"setFocus\":[64],\"emptyInput\":[64]}],[1,\"limel-chip\",{\"language\":[513],\"text\":[513],\"icon\":[1],\"link\":[16],\"badge\":[520],\"disabled\":[516],\"readonly\":[516],\"selected\":[516],\"invalid\":[516],\"removable\":[516],\"type\":[513],\"loading\":[516],\"progress\":[514],\"identifier\":[520]}]]],[\"limel-popover_2.cjs\",[[1,\"limel-popover\",{\"open\":[4],\"openDirection\":[513,\"open-direction\"]}],[1,\"limel-popover-surface\",{\"contentCollection\":[16]}]]],[\"limel-spinner.cjs\",[[1,\"limel-spinner\",{\"size\":[513],\"limeBranded\":[4,\"lime-branded\"]}]]],[\"limel-badge.cjs\",[[1,\"limel-badge\",{\"label\":[520]}]]],[\"limel-icon.cjs\",[[1,\"limel-icon\",{\"size\":[513],\"name\":[513],\"badge\":[516]}]]],[\"limel-dynamic-label_4.cjs\",[[1,\"limel-list\",{\"items\":[16],\"badgeIcons\":[4,\"badge-icons\"],\"iconSize\":[1,\"icon-size\"],\"type\":[1],\"maxLinesSecondaryText\":[2,\"max-lines-secondary-text\"]}],[1,\"limel-menu-surface\",{\"open\":[4],\"allowClicksElement\":[16]}],[1,\"limel-dynamic-label\",{\"value\":[8],\"defaultLabel\":[16],\"labels\":[16]}],[1,\"limel-helper-line\",{\"helperText\":[513,\"helper-text\"],\"length\":[514],\"maxLength\":[514,\"max-length\"],\"invalid\":[516],\"helperTextId\":[513,\"helper-text-id\"]}]]],[\"limel-portal_3.cjs\",[[1,\"limel-tooltip\",{\"elementId\":[513,\"element-id\"],\"label\":[513],\"helperLabel\":[513,\"helper-label\"],\"maxlength\":[514],\"openDirection\":[513,\"open-direction\"],\"open\":[32]}],[1,\"limel-tooltip-content\",{\"label\":[513],\"helperLabel\":[513,\"helper-label\"],\"maxlength\":[514]}],[1,\"limel-portal\",{\"openDirection\":[513,\"open-direction\"],\"position\":[513],\"containerId\":[513,\"container-id\"],\"containerStyle\":[16],\"parent\":[16],\"inheritParentWidth\":[516,\"inherit-parent-width\"],\"visible\":[516],\"anchor\":[16]}]]],[\"limel-breadcrumbs_4.cjs\",[[1,\"limel-menu\",{\"items\":[16],\"disabled\":[516],\"openDirection\":[513,\"open-direction\"],\"surfaceWidth\":[513,\"surface-width\"],\"open\":[1540],\"badgeIcons\":[516,\"badge-icons\"],\"gridLayout\":[516,\"grid-layout\"],\"loading\":[516],\"currentSubMenu\":[1040],\"rootItem\":[16],\"searcher\":[16],\"emptyResultMessage\":[1,\"empty-result-message\"],\"loadingSubItems\":[32],\"searchValue\":[32],\"searchResults\":[32]}],[1,\"limel-breadcrumbs\",{\"items\":[16],\"divider\":[1]}],[1,\"limel-menu-list\",{\"items\":[16],\"badgeIcons\":[4,\"badge-icons\"],\"iconSize\":[1,\"icon-size\"],\"type\":[1],\"maxLinesSecondaryText\":[2,\"max-lines-secondary-text\"]}],[1,\"limel-input-field\",{\"disabled\":[516],\"readonly\":[516],\"invalid\":[516],\"label\":[513],\"placeholder\":[513],\"helperText\":[513,\"helper-text\"],\"prefix\":[513],\"suffix\":[513],\"required\":[516],\"value\":[513],\"trailingIcon\":[513,\"trailing-icon\"],\"leadingIcon\":[513,\"leading-icon\"],\"pattern\":[513],\"type\":[513],\"formatNumber\":[516,\"format-number\"],\"step\":[520],\"max\":[514],\"min\":[514],\"maxlength\":[514],\"minlength\":[514],\"completions\":[16],\"showLink\":[516,\"show-link\"],\"locale\":[513],\"isFocused\":[32],\"isModified\":[32],\"showCompletions\":[32]}]]]]"), options);
|
|
18
18
|
});
|
|
19
19
|
};
|
|
20
20
|
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { toggleMark, setBlockType, wrapIn } from 'prosemirror-commands';
|
|
2
|
+
import { wrapInList } from 'prosemirror-schema-list';
|
|
3
|
+
export class MenuCommandFactory {
|
|
4
|
+
constructor(schema) {
|
|
5
|
+
this.markNames = {
|
|
6
|
+
bold: 'strong',
|
|
7
|
+
italic: 'em',
|
|
8
|
+
underline: 'underline',
|
|
9
|
+
blockquote: 'blockquote',
|
|
10
|
+
headerlevel1: 'headerlevel1',
|
|
11
|
+
headerlevel2: 'headerlevel2',
|
|
12
|
+
headerlevel3: 'headerlevel3',
|
|
13
|
+
addorremovelink: 'link',
|
|
14
|
+
numberedlist: 'ordered_list',
|
|
15
|
+
list: 'bullet_list',
|
|
16
|
+
};
|
|
17
|
+
this.schema = schema;
|
|
18
|
+
}
|
|
19
|
+
createCommand(mark) {
|
|
20
|
+
if (this.markNames[mark]) {
|
|
21
|
+
mark = this.markNames[mark];
|
|
22
|
+
}
|
|
23
|
+
switch (mark) {
|
|
24
|
+
case 'strong':
|
|
25
|
+
case 'em':
|
|
26
|
+
case 'underline':
|
|
27
|
+
return this.createToggleMarkCommand(mark);
|
|
28
|
+
case 'paragraph':
|
|
29
|
+
return this.createSetNodeTypeCommand(mark);
|
|
30
|
+
case 'headerlevel1':
|
|
31
|
+
case 'headerlevel2':
|
|
32
|
+
case 'headerlevel3':
|
|
33
|
+
return this.createSetNodeTypeCommand('heading', parseInt(mark[mark.length - 1], 10));
|
|
34
|
+
case 'blockquote':
|
|
35
|
+
return this.createWrapInCommand(mark);
|
|
36
|
+
case 'ordered_list':
|
|
37
|
+
case 'bullet_list':
|
|
38
|
+
return this.createListCommand(mark);
|
|
39
|
+
default:
|
|
40
|
+
throw new Error(`The Mark "${mark}" is not supported`);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
createToggleMarkCommand(markName) {
|
|
44
|
+
const markType = this.schema.marks[markName];
|
|
45
|
+
if (!markType) {
|
|
46
|
+
throw new Error(`Mark "${markName}" not found in schema`);
|
|
47
|
+
}
|
|
48
|
+
return toggleMark(markType);
|
|
49
|
+
}
|
|
50
|
+
createSetNodeTypeCommand(nodeType, level) {
|
|
51
|
+
const type = this.schema.nodes[nodeType];
|
|
52
|
+
if (!type) {
|
|
53
|
+
throw new Error(`Node type "${nodeType}" not found in schema`);
|
|
54
|
+
}
|
|
55
|
+
if (nodeType === 'heading' && level) {
|
|
56
|
+
return setBlockType(type, { level: level });
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
return setBlockType(type);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
createWrapInCommand(nodeType) {
|
|
63
|
+
const type = this.schema.nodes[nodeType];
|
|
64
|
+
if (!type) {
|
|
65
|
+
throw new Error(`Node type "${nodeType}" not found in schema`);
|
|
66
|
+
}
|
|
67
|
+
return wrapIn(type);
|
|
68
|
+
}
|
|
69
|
+
createListCommand(listType) {
|
|
70
|
+
const type = this.schema.nodes[listType];
|
|
71
|
+
if (!type) {
|
|
72
|
+
throw new Error(`List type "${listType}" not found in schema`);
|
|
73
|
+
}
|
|
74
|
+
return wrapInList(type);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=menu-commands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu-commands.js","sourceRoot":"","sources":["../../../../../src/components/text-editor/prosemirror-adapter/menu/menu-commands.ts"],"names":[],"mappings":"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","sourcesContent":["import { toggleMark, setBlockType, wrapIn } from 'prosemirror-commands';\nimport { Schema, MarkType } from 'prosemirror-model';\nimport { wrapInList } from 'prosemirror-schema-list';\n\nexport class MenuCommandFactory {\n private schema: Schema;\n\n constructor(schema: Schema) {\n this.schema = schema;\n }\n\n private markNames = {\n bold: 'strong',\n italic: 'em',\n underline: 'underline',\n blockquote: 'blockquote',\n headerlevel1: 'headerlevel1',\n headerlevel2: 'headerlevel2',\n headerlevel3: 'headerlevel3',\n addorremovelink: 'link',\n numberedlist: 'ordered_list',\n list: 'bullet_list',\n };\n\n createCommand(mark: string) {\n if (this.markNames[mark]) {\n mark = this.markNames[mark];\n }\n\n switch (mark) {\n case 'strong':\n case 'em':\n case 'underline':\n return this.createToggleMarkCommand(mark);\n case 'paragraph':\n return this.createSetNodeTypeCommand(mark);\n case 'headerlevel1':\n case 'headerlevel2':\n case 'headerlevel3':\n return this.createSetNodeTypeCommand(\n 'heading',\n parseInt(mark[mark.length - 1], 10),\n );\n case 'blockquote':\n return this.createWrapInCommand(mark);\n case 'ordered_list':\n case 'bullet_list':\n return this.createListCommand(mark);\n default:\n throw new Error(`The Mark \"${mark}\" is not supported`);\n }\n }\n\n private createToggleMarkCommand(markName: string) {\n const markType: MarkType | undefined = this.schema.marks[markName];\n if (!markType) {\n throw new Error(`Mark \"${markName}\" not found in schema`);\n }\n\n return toggleMark(markType);\n }\n\n private createSetNodeTypeCommand(nodeType: string, level?: number) {\n const type = this.schema.nodes[nodeType];\n if (!type) {\n throw new Error(`Node type \"${nodeType}\" not found in schema`);\n }\n\n if (nodeType === 'heading' && level) {\n return setBlockType(type, { level: level });\n } else {\n return setBlockType(type);\n }\n }\n\n private createWrapInCommand(nodeType: string) {\n const type = this.schema.nodes[nodeType];\n if (!type) {\n throw new Error(`Node type \"${nodeType}\" not found in schema`);\n }\n\n return wrapIn(type);\n }\n\n private createListCommand(listType: string) {\n const type = this.schema.nodes[listType];\n if (!type) {\n throw new Error(`List type \"${listType}\" not found in schema`);\n }\n\n return wrapInList(type);\n }\n}\n"]}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
export const textEditorMenuItems = [
|
|
2
|
+
{
|
|
3
|
+
text: 'Bold',
|
|
4
|
+
commandText: '⌘ B',
|
|
5
|
+
icon: 'bold',
|
|
6
|
+
iconOnly: true,
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
text: 'Italic',
|
|
10
|
+
commandText: '⌘ I',
|
|
11
|
+
icon: 'italic',
|
|
12
|
+
iconOnly: true,
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
text: 'Add or remove link',
|
|
16
|
+
commandText: '⌘ shift U',
|
|
17
|
+
icon: 'link',
|
|
18
|
+
iconOnly: true,
|
|
19
|
+
},
|
|
20
|
+
{ separator: true },
|
|
21
|
+
{
|
|
22
|
+
text: 'Header Level 1',
|
|
23
|
+
icon: 'header_1',
|
|
24
|
+
iconOnly: true,
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
text: 'Header Level 2',
|
|
28
|
+
icon: 'header_2',
|
|
29
|
+
iconOnly: true,
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
text: 'Header Level 3',
|
|
33
|
+
icon: 'header_3',
|
|
34
|
+
iconOnly: true,
|
|
35
|
+
},
|
|
36
|
+
{ separator: true },
|
|
37
|
+
{
|
|
38
|
+
text: 'List',
|
|
39
|
+
icon: 'list',
|
|
40
|
+
iconOnly: true,
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
text: 'Numbered list',
|
|
44
|
+
icon: 'numbered_list',
|
|
45
|
+
iconOnly: true,
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
text: 'Blockquote',
|
|
49
|
+
icon: 'quote_right',
|
|
50
|
+
iconOnly: true,
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
//# sourceMappingURL=menu-items.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu-items.js","sourceRoot":"","sources":["../../../../../src/components/text-editor/prosemirror-adapter/menu/menu-items.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,mBAAmB,GAAyC;EACrE;IACI,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,KAAK;IAClB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,IAAI;GACjB;EACD;IACI,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,KAAK;IAClB,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,IAAI;GACjB;EACD;IACI,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE,WAAW;IACxB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,IAAI;GACjB;EACD,EAAE,SAAS,EAAE,IAAI,EAAE;EACnB;IACI,IAAI,EAAE,gBAAgB;IACtB,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE,IAAI;GACjB;EACD;IACI,IAAI,EAAE,gBAAgB;IACtB,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE,IAAI;GACjB;EACD;IACI,IAAI,EAAE,gBAAgB;IACtB,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE,IAAI;GACjB;EACD,EAAE,SAAS,EAAE,IAAI,EAAE;EACnB;IACI,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,IAAI;GACjB;EACD;IACI,IAAI,EAAE,eAAe;IACrB,IAAI,EAAE,eAAe;IACrB,QAAQ,EAAE,IAAI;GACjB;EACD;IACI,IAAI,EAAE,YAAY;IAClB,IAAI,EAAE,aAAa;IACnB,QAAQ,EAAE,IAAI;GACjB;CACJ,CAAC","sourcesContent":["import { ActionBarItem } from 'src/components/action-bar/action-bar.types';\nimport { ListSeparator } from 'src/components/list/list-item.types';\n\nexport const textEditorMenuItems: Array<ActionBarItem | ListSeparator> = [\n {\n text: 'Bold',\n commandText: '⌘ B',\n icon: 'bold',\n iconOnly: true,\n },\n {\n text: 'Italic',\n commandText: '⌘ I',\n icon: 'italic',\n iconOnly: true,\n },\n {\n text: 'Add or remove link',\n commandText: '⌘ shift U',\n icon: 'link',\n iconOnly: true,\n },\n { separator: true },\n {\n text: 'Header Level 1',\n icon: 'header_1',\n iconOnly: true,\n },\n {\n text: 'Header Level 2',\n icon: 'header_2',\n iconOnly: true,\n },\n {\n text: 'Header Level 3',\n icon: 'header_3',\n iconOnly: true,\n },\n { separator: true },\n {\n text: 'List',\n icon: 'list',\n iconOnly: true,\n },\n {\n text: 'Numbered list',\n icon: 'numbered_list',\n iconOnly: true,\n },\n {\n text: 'Blockquote',\n icon: 'quote_right',\n iconOnly: true,\n },\n];\n"]}
|
|
@@ -5,8 +5,8 @@ import { Schema, DOMParser } from 'prosemirror-model';
|
|
|
5
5
|
import { schema } from 'prosemirror-schema-basic';
|
|
6
6
|
import { addListNodes } from 'prosemirror-schema-list';
|
|
7
7
|
import { exampleSetup } from 'prosemirror-example-setup';
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
8
|
+
import { MenuCommandFactory } from './menu/menu-commands';
|
|
9
|
+
import { textEditorMenuItems } from './menu/menu-items';
|
|
10
10
|
/**
|
|
11
11
|
* The ProseMirror adapter offers a rich text editing experience with markdown support.
|
|
12
12
|
* [Read more...](https://prosemirror.net/)
|
|
@@ -26,27 +26,37 @@ export class ProsemirrorAdapter {
|
|
|
26
26
|
return this.view.dom.innerHTML;
|
|
27
27
|
}
|
|
28
28
|
};
|
|
29
|
+
this.handleActionBarItem = (event) => {
|
|
30
|
+
event.preventDefault();
|
|
31
|
+
const { text } = event.detail;
|
|
32
|
+
const mark = text.replace(/\s/g, '').toLowerCase();
|
|
33
|
+
try {
|
|
34
|
+
const command = this.menuCommandFactory.createCommand(mark);
|
|
35
|
+
this.executeCommand(command);
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
throw new Error(`Error executing command: ${error}`);
|
|
39
|
+
}
|
|
40
|
+
};
|
|
29
41
|
this.value = undefined;
|
|
30
42
|
this.view = undefined;
|
|
43
|
+
this.actionBarItems = [];
|
|
31
44
|
}
|
|
32
|
-
componentWillLoad() { }
|
|
33
45
|
render() {
|
|
34
|
-
return h("div", { id: "editor" });
|
|
46
|
+
return (h("div", null, h("limel-action-bar", { accessibleLabel: "Toolbar", actions: this.actionBarItems, layout: "fullWidth", onItemSelected: this.handleActionBarItem }), h("div", { id: "editor" })));
|
|
35
47
|
}
|
|
36
48
|
componentDidLoad() {
|
|
49
|
+
this.actionBarItems = textEditorMenuItems;
|
|
37
50
|
const mySchema = new Schema({
|
|
38
51
|
nodes: addListNodes(schema.spec.nodes, 'paragraph block*', 'block'),
|
|
39
52
|
marks: schema.spec.marks,
|
|
40
53
|
});
|
|
41
|
-
const menu = buildFullMenu(mySchema)
|
|
42
|
-
.map((items) => getFilteredMenu(items, undefined))
|
|
43
|
-
.filter((items) => items.length);
|
|
44
54
|
this.view = new EditorView(this.host.shadowRoot.querySelector('#editor'), {
|
|
45
55
|
state: EditorState.create({
|
|
46
56
|
doc: DOMParser.fromSchema(mySchema).parse(this.host.shadowRoot.querySelector('#editor')),
|
|
47
57
|
plugins: exampleSetup({
|
|
48
58
|
schema: mySchema,
|
|
49
|
-
|
|
59
|
+
menuBar: false,
|
|
50
60
|
}),
|
|
51
61
|
}),
|
|
52
62
|
dispatchTransaction: (transaction) => {
|
|
@@ -55,10 +65,24 @@ export class ProsemirrorAdapter {
|
|
|
55
65
|
this.change.emit(this.getHTML());
|
|
56
66
|
},
|
|
57
67
|
});
|
|
68
|
+
this.menuCommandFactory = new MenuCommandFactory(mySchema);
|
|
58
69
|
if (this.value) {
|
|
59
70
|
this.view.dom.innerHTML = this.value;
|
|
60
71
|
}
|
|
61
72
|
}
|
|
73
|
+
executeCommand(command) {
|
|
74
|
+
const { state } = this.view;
|
|
75
|
+
const selection = state.selection;
|
|
76
|
+
let transaction = state.tr;
|
|
77
|
+
if (!selection.empty) {
|
|
78
|
+
transaction.setSelection(selection);
|
|
79
|
+
}
|
|
80
|
+
command(state, (tr) => {
|
|
81
|
+
transaction = tr;
|
|
82
|
+
});
|
|
83
|
+
this.view.dispatch(transaction);
|
|
84
|
+
this.view.focus();
|
|
85
|
+
}
|
|
62
86
|
static get is() { return "limel-prosemirror-adapter"; }
|
|
63
87
|
static get encapsulation() { return "shadow"; }
|
|
64
88
|
static get originalStyleUrls() {
|
|
@@ -94,7 +118,8 @@ export class ProsemirrorAdapter {
|
|
|
94
118
|
}
|
|
95
119
|
static get states() {
|
|
96
120
|
return {
|
|
97
|
-
"view": {}
|
|
121
|
+
"view": {},
|
|
122
|
+
"actionBarItems": {}
|
|
98
123
|
};
|
|
99
124
|
}
|
|
100
125
|
static get events() {
|
package/dist/collection/components/text-editor/prosemirror-adapter/prosemirror-adapter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prosemirror-adapter.js","sourceRoot":"","sources":["../../../../src/components/text-editor/prosemirror-adapter/prosemirror-adapter.tsx"],"names":[],"mappings":"AAAA,OAAO,EACH,SAAS,EACT,OAAO,EACP,KAAK,EAEL,IAAI,EACJ,KAAK,EACL,CAAC,GACJ,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"prosemirror-adapter.js","sourceRoot":"","sources":["../../../../src/components/text-editor/prosemirror-adapter/prosemirror-adapter.tsx"],"names":[],"mappings":"AAAA,OAAO,EACH,SAAS,EACT,OAAO,EACP,KAAK,EAEL,IAAI,EACJ,KAAK,EACL,CAAC,GACJ,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD;;;;;;;;GAQG;AAMH,MAAM,OAAO,kBAAkB;;IA0EnB,YAAO,GAAG,GAAW,EAAE;MAC3B,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,KAAK,EAAE,EAAE;QAClC,OAAO,EAAE,CAAC;OACb;WAAM;QACH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;OAClC;IACL,CAAC,CAAC;IAEM,wBAAmB,GAAG,CAAC,KAAiC,EAAE,EAAE;MAChE,KAAK,CAAC,cAAc,EAAE,CAAC;MAEvB,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC;MAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;MACnD,IAAI;QACA,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC5D,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;OAChC;MAAC,OAAO,KAAK,EAAE;QACZ,MAAM,IAAI,KAAK,CAAC,4BAA4B,KAAK,EAAE,CAAC,CAAC;OACxD;IACL,CAAC,CAAC;;;0BA/E6D,EAAE;;EAU1D,MAAM;IACT,OAAO,CACH;MACI,wBACI,eAAe,EAAC,SAAS,EACzB,OAAO,EAAE,IAAI,CAAC,cAAc,EAC5B,MAAM,EAAC,WAAW,EAClB,cAAc,EAAE,IAAI,CAAC,mBAAmB,GAC1C;MACF,WAAK,EAAE,EAAC,QAAQ,GAAG,CACjB,CACT,CAAC;EACN,CAAC;EAEM,gBAAgB;IACnB,IAAI,CAAC,cAAc,GAAG,mBAAmB,CAAC;IAE1C,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC;MACxB,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,kBAAkB,EAAE,OAAO,CAAC;MACnE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK;KAC3B,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,GAAG,IAAI,UAAU,CACtB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,EAC7C;MACI,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC;QACtB,GAAG,EAAE,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,KAAK,CACrC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,CAChD;QACD,OAAO,EAAE,YAAY,CAAC;UAClB,MAAM,EAAE,QAAQ;UAChB,OAAO,EAAE,KAAK;SACjB,CAAC;OACL,CAAC;MACF,mBAAmB,EAAE,CAAC,WAAW,EAAE,EAAE;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAEhC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;MACrC,CAAC;KACJ,CACJ,CAAC;IAEF,IAAI,CAAC,kBAAkB,GAAG,IAAI,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAE3D,IAAI,IAAI,CAAC,KAAK,EAAE;MACZ,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;KACxC;EACL,CAAC;EAuBO,cAAc,CAAC,OAAO;IAC1B,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;IAC5B,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IAElC,IAAI,WAAW,GAAG,KAAK,CAAC,EAAE,CAAC;IAE3B,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;MAClB,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;KACvC;IAED,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE;MAClB,WAAW,GAAG,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAEhC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;EACtB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACJ","sourcesContent":["import {\n Component,\n Element,\n Event,\n EventEmitter,\n Prop,\n State,\n h,\n} from '@stencil/core';\nimport { EditorState } from 'prosemirror-state';\nimport { EditorView } from 'prosemirror-view';\nimport { Schema, DOMParser } from 'prosemirror-model';\nimport { schema } from 'prosemirror-schema-basic';\nimport { addListNodes } from 'prosemirror-schema-list';\nimport { exampleSetup } from 'prosemirror-example-setup';\nimport { ActionBarItem } from 'src/components/action-bar/action-bar.types';\nimport { ListSeparator } from 'src/components/list/list-item.types';\nimport { MenuCommandFactory } from './menu/menu-commands';\nimport { textEditorMenuItems } from './menu/menu-items';\n\n/**\n * The ProseMirror adapter offers a rich text editing experience with markdown support.\n * [Read more...](https://prosemirror.net/)\n *\n * @exampleComponent limel-example-prosemirror-adapter-basic\n * @exampleComponent limel-example-prosemirror-adapter-with-custom-menu\n * @beta\n * @private\n */\n@Component({\n tag: 'limel-prosemirror-adapter',\n shadow: true,\n styleUrl: 'prosemirror-adapter.scss',\n})\nexport class ProsemirrorAdapter {\n /**\n * The value of the editor, expected to be serialised HTML\n */\n @Prop()\n public value: string;\n\n @Element()\n private host: HTMLLimelTextEditorElement;\n\n @State()\n private view: EditorView;\n\n @State()\n private actionBarItems: Array<ActionBarItem | ListSeparator> = [];\n\n private menuCommandFactory: MenuCommandFactory;\n\n /**\n * Dispatched when a change is made to the editor\n */\n @Event()\n private change: EventEmitter<string>;\n\n public render() {\n return (\n <div>\n <limel-action-bar\n accessibleLabel=\"Toolbar\"\n actions={this.actionBarItems}\n layout=\"fullWidth\"\n onItemSelected={this.handleActionBarItem}\n />\n <div id=\"editor\" />\n </div>\n );\n }\n\n public componentDidLoad() {\n this.actionBarItems = textEditorMenuItems;\n\n const mySchema = new Schema({\n nodes: addListNodes(schema.spec.nodes, 'paragraph block*', 'block'),\n marks: schema.spec.marks,\n });\n\n this.view = new EditorView(\n this.host.shadowRoot.querySelector('#editor'),\n {\n state: EditorState.create({\n doc: DOMParser.fromSchema(mySchema).parse(\n this.host.shadowRoot.querySelector('#editor'),\n ),\n plugins: exampleSetup({\n schema: mySchema,\n menuBar: false,\n }),\n }),\n dispatchTransaction: (transaction) => {\n const newState = this.view.state.apply(transaction);\n this.view.updateState(newState);\n\n this.change.emit(this.getHTML());\n },\n },\n );\n\n this.menuCommandFactory = new MenuCommandFactory(mySchema);\n\n if (this.value) {\n this.view.dom.innerHTML = this.value;\n }\n }\n\n private getHTML = (): string => {\n if (this.view.dom.textContent === '') {\n return '';\n } else {\n return this.view.dom.innerHTML;\n }\n };\n\n private handleActionBarItem = (event: CustomEvent<ActionBarItem>) => {\n event.preventDefault();\n\n const { text } = event.detail;\n const mark = text.replace(/\\s/g, '').toLowerCase();\n try {\n const command = this.menuCommandFactory.createCommand(mark);\n this.executeCommand(command);\n } catch (error) {\n throw new Error(`Error executing command: ${error}`);\n }\n };\n\n private executeCommand(command) {\n const { state } = this.view;\n const selection = state.selection;\n\n let transaction = state.tr;\n\n if (!selection.empty) {\n transaction.setSelection(selection);\n }\n\n command(state, (tr) => {\n transaction = tr;\n });\n this.view.dispatch(transaction);\n\n this.view.focus();\n }\n}\n"]}
|
|
@@ -1,8 +1,96 @@
|
|
|
1
1
|
@charset "UTF-8";
|
|
2
|
+
/*
|
|
3
|
+
* This file is imported into every component!
|
|
4
|
+
*
|
|
5
|
+
* Nothing in this file may output any CSS
|
|
6
|
+
* without being explicitly called by outside code.
|
|
7
|
+
*/
|
|
8
|
+
/*
|
|
9
|
+
* This file is imported into every component that uses MDC!
|
|
10
|
+
*
|
|
11
|
+
* Anything in this file that generates CSS output on its own,
|
|
12
|
+
* without being explicitly used, will output that CSS in every
|
|
13
|
+
* single component, increasing the size of the production build.
|
|
14
|
+
* Avoid that unless there's very good reason for it!
|
|
15
|
+
*/
|
|
16
|
+
/*
|
|
17
|
+
* This file is imported into every component that uses MDC!
|
|
18
|
+
*
|
|
19
|
+
* Anything in this file that generates CSS output on its own,
|
|
20
|
+
* without being explicitly used, will output that CSS in every
|
|
21
|
+
* single component, increasing the size of the production build.
|
|
22
|
+
* Avoid that unless there's very good reason for it!
|
|
23
|
+
*/
|
|
24
|
+
:host {
|
|
25
|
+
--mdc-theme-primary: var(
|
|
26
|
+
--lime-primary-color,
|
|
27
|
+
rgb(var(--color-teal-default))
|
|
28
|
+
);
|
|
29
|
+
--mdc-theme-secondary: var(
|
|
30
|
+
--lime-secondary-color,
|
|
31
|
+
rgb(var(--contrast-1100))
|
|
32
|
+
);
|
|
33
|
+
--mdc-theme-on-primary: var(
|
|
34
|
+
--lime-on-primary-color,
|
|
35
|
+
rgb(var(--contrast-100))
|
|
36
|
+
);
|
|
37
|
+
--mdc-theme-on-secondary: var(
|
|
38
|
+
--lime-on-secondary-color,
|
|
39
|
+
rgb(var(--contrast-100))
|
|
40
|
+
);
|
|
41
|
+
--mdc-theme-text-disabled-on-background: var(
|
|
42
|
+
--lime-text-disabled-on-background-color,
|
|
43
|
+
rgba(var(--contrast-1700), 0.38)
|
|
44
|
+
);
|
|
45
|
+
--mdc-theme-text-primary-on-background: var(
|
|
46
|
+
--lime-text-primary-on-background-color,
|
|
47
|
+
rgba(var(--contrast-1700), 0.87)
|
|
48
|
+
);
|
|
49
|
+
--mdc-theme-text-secondary-on-background: var(
|
|
50
|
+
--lime-text-secondary-on-background-color,
|
|
51
|
+
rgba(var(--contrast-1700), 0.54)
|
|
52
|
+
);
|
|
53
|
+
--mdc-theme-error: var(
|
|
54
|
+
--lime-error-background-color,
|
|
55
|
+
rgb(var(--color-red-dark))
|
|
56
|
+
);
|
|
57
|
+
--lime-error-text-color: rgb(var(--color-red-darker));
|
|
58
|
+
--mdc-theme-surface: var(
|
|
59
|
+
--lime-surface-background-color,
|
|
60
|
+
rgb(var(--contrast-100))
|
|
61
|
+
);
|
|
62
|
+
--mdc-theme-on-surface: var(
|
|
63
|
+
--lime-on-surface-color,
|
|
64
|
+
rgb(var(--contrast-1500))
|
|
65
|
+
);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.lime-empty-value-for-readonly {
|
|
69
|
+
z-index: 1;
|
|
70
|
+
position: absolute;
|
|
71
|
+
top: 0.875rem;
|
|
72
|
+
left: 1rem;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.lime-looks-like-input-value {
|
|
76
|
+
line-height: 1.75rem;
|
|
77
|
+
-moz-osx-font-smoothing: grayscale;
|
|
78
|
+
-webkit-font-smoothing: antialiased;
|
|
79
|
+
color: rgba(var(--contrast-1400), 1);
|
|
80
|
+
font-size: 0.875rem;
|
|
81
|
+
font-weight: 400;
|
|
82
|
+
letter-spacing: 0.009375em;
|
|
83
|
+
}
|
|
84
|
+
.mdc-text-field--disabled .lime-looks-like-input-value {
|
|
85
|
+
cursor: not-allowed;
|
|
86
|
+
opacity: 0.4;
|
|
87
|
+
}
|
|
88
|
+
|
|
2
89
|
:host(limel-text-editor) {
|
|
3
90
|
display: flex;
|
|
4
91
|
flex-direction: column;
|
|
5
92
|
width: 100%;
|
|
93
|
+
position: relative;
|
|
6
94
|
}
|
|
7
95
|
|
|
8
96
|
fieldset {
|
|
@@ -32,6 +32,9 @@ export class TextEditor {
|
|
|
32
32
|
return (h("fieldset", { disabled: this.readonly || this.disabled }, this.renderLabel(), this.renderEditor()));
|
|
33
33
|
}
|
|
34
34
|
renderEditor() {
|
|
35
|
+
if (this.readonly && !this.value) {
|
|
36
|
+
return (h("span", { class: "lime-empty-value-for-readonly lime-looks-like-input-value" }, "\u2013"));
|
|
37
|
+
}
|
|
35
38
|
if (this.readonly) {
|
|
36
39
|
return h("limel-markdown", { value: this.value });
|
|
37
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text-editor.js","sourceRoot":"","sources":["../../../src/components/text-editor/text-editor.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAgB,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAExE;;;;;;;;;;;;;;GAcG;AAMH,MAAM,OAAO,UAAU;;
|
|
1
|
+
{"version":3,"file":"text-editor.js","sourceRoot":"","sources":["../../../src/components/text-editor/text-editor.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAgB,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAExE;;;;;;;;;;;;;;GAcG;AAMH,MAAM,OAAO,UAAU;;IAkGX,iBAAY,GAAG,GAAG,EAAE,CAAC,CAAC,KAA0B,EAAE,EAAE;MACxD,KAAK,CAAC,eAAe,EAAE,CAAC;MACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC,CAAC;;;;;;;;;EAzCK,MAAM;IACT,OAAO,CACH,gBAAU,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ;MAC7C,IAAI,CAAC,WAAW,EAAE;MAClB,IAAI,CAAC,YAAY,EAAE,CACb,CACd,CAAC;EACN,CAAC;EAEO,YAAY;IAChB,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;MAC9B,OAAO,CACH,YAAM,KAAK,EAAC,2DAA2D,aAEhE,CACV,CAAC;KACL;IAED,IAAI,IAAI,CAAC,QAAQ,EAAE;MACf,OAAO,sBAAgB,KAAK,EAAE,IAAI,CAAC,KAAK,GAAI,CAAC;KAChD;IAED,OAAO,CACH,iCACI,QAAQ,EAAE,IAAI,CAAC,YAAY,EAC3B,KAAK,EAAE,IAAI,CAAC,KAAK,GACnB,CACL,CAAC;EACN,CAAC;EAEO,WAAW;IACf,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;MACb,OAAO;KACV;IAED,OAAO,kBAAS,IAAI,CAAC,KAAK,CAAU,CAAC;EACzC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMJ","sourcesContent":["import { Component, Event, EventEmitter, Prop, h } from '@stencil/core';\nimport { FormComponent } from '../form/form.types';\n/**\n * A rich text editor that offers a rich text editing experience with markdown support,\n * in the sense that you can easily type markdown syntax and see the rendered\n * result as rich text in real-time. For instance, you can type `# Hello, world!`\n * and see it directly turning to a heading 1 (an `<h1>` HTML element).\n *\n * Naturally, you can use standard keyboard hotkeys such as <kbd>Ctrl</kbd> + <kbd>B</kbd>\n * to toggle bold text, <kbd>Ctrl</kbd> + <kbd>I</kbd> to toggle italic text, and so on.\n *\n * @exampleComponent limel-example-text-editor-basic\n * @exampleComponent limel-example-text-editor-as-form-component\n * @exampleComponent limel-example-text-editor-composite\n * @beta\n * @private\n */\n@Component({\n tag: 'limel-text-editor',\n shadow: true,\n styleUrl: 'text-editor.scss',\n})\nexport class TextEditor implements FormComponent<string> {\n /**\n * Set to `true` to disable the field.\n * Use `disabled` to indicate that the field can normally be interacted\n * with, but is currently disabled. This tells the user that if certain\n * requirements are met, the field may become enabled again.\n */\n @Prop({ reflect: true })\n public disabled?: boolean;\n\n /**\n * Set to `true` to make the component read-only.\n * Use `readonly` when the field is only there to present the data it holds,\n * and will not become possible for the current user to edit.\n * :::note\n * Consider that it might be better to use `limel-markdown`\n * instead of `limel-text-editor` when the goal is visualizing data.\n * :::\n */\n @Prop({ reflect: true })\n public readonly?: boolean;\n\n /**\n * Optional helper text to display below the input field when it has focus\n */\n @Prop({ reflect: true })\n public helperText?: string;\n\n /**\n * The placeholder text shown inside the input field,\n * when the field is empty.\n */\n @Prop({ reflect: true })\n public placeholder?: string;\n\n /**\n * The label of the editor\n */\n @Prop({ reflect: true })\n public label?: string;\n\n /**\n * Set to `true` to indicate that the current value of the editor is\n * invalid.\n */\n @Prop({ reflect: true })\n public invalid?: boolean;\n\n /**\n * Description of the text inside the editor as serialised HTML\n */\n @Prop({ reflect: true })\n public value: string;\n\n /**\n * Dispatched when a change is made to the editor\n */\n @Event()\n public change: EventEmitter<string>;\n\n public render() {\n return (\n <fieldset disabled={this.readonly || this.disabled}>\n {this.renderLabel()}\n {this.renderEditor()}\n </fieldset>\n );\n }\n\n private renderEditor() {\n if (this.readonly && !this.value) {\n return (\n <span class=\"lime-empty-value-for-readonly lime-looks-like-input-value\">\n –\n </span>\n );\n }\n\n if (this.readonly) {\n return <limel-markdown value={this.value} />;\n }\n\n return (\n <limel-prosemirror-adapter\n onChange={this.handleChange}\n value={this.value}\n />\n );\n }\n\n private renderLabel() {\n if (!this.label) {\n return;\n }\n\n return <legend>{this.label}</legend>;\n }\n\n private handleChange = () => (event: CustomEvent<string>) => {\n event.stopPropagation();\n this.change.emit(event.detail);\n };\n}\n"]}
|
|
@@ -207,35 +207,6 @@ function debounce(func, wait, options) {
|
|
|
207
207
|
return debounced;
|
|
208
208
|
}
|
|
209
209
|
|
|
210
|
-
|
|
211
|
-
* Check if an element is a descendant of another, even if it is located within a shadow root
|
|
212
|
-
*
|
|
213
|
-
* @param element - The element to check
|
|
214
|
-
* @param parent - The parent element
|
|
215
|
-
* @returns True if the element is a descendant of the parent element, false otherwise
|
|
216
|
-
*/
|
|
217
|
-
function isDescendant(element, parent) {
|
|
218
|
-
if (!parent) {
|
|
219
|
-
return false;
|
|
220
|
-
}
|
|
221
|
-
if (parent.contains(element)) {
|
|
222
|
-
return true;
|
|
223
|
-
}
|
|
224
|
-
let currentNode = element;
|
|
225
|
-
let i = 0; // Just in case something weird happens, let's not crash the browser…
|
|
226
|
-
const DEPTH = 1000; // Max depth to search.
|
|
227
|
-
while (i < DEPTH &&
|
|
228
|
-
currentNode &&
|
|
229
|
-
currentNode.getRootNode().nodeName === '#document-fragment') {
|
|
230
|
-
currentNode = currentNode.getRootNode().host;
|
|
231
|
-
if (parent.contains(currentNode)) {
|
|
232
|
-
return true;
|
|
233
|
-
}
|
|
234
|
-
i += 1;
|
|
235
|
-
}
|
|
236
|
-
return parent.contains(currentNode);
|
|
237
|
-
}
|
|
238
|
-
|
|
239
|
-
export { debounce as d, isDescendant as i };
|
|
210
|
+
export { debounce as d };
|
|
240
211
|
|
|
241
|
-
//# sourceMappingURL=
|
|
212
|
+
//# sourceMappingURL=debounce-9a05c91c.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"debounce-9a05c91c.js","mappings":"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","names":[],"sources":["./node_modules/lodash-es/now.js","./node_modules/lodash-es/debounce.js"],"sourcesContent":["import root from './_root.js';\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nexport default now;\n","import isObject from './isObject.js';\nimport now from './now.js';\nimport toNumber from './toNumber.js';\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nexport default debounce;\n"],"version":3}
|