@limetech/lime-elements 38.2.3 → 38.3.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.
Files changed (145) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/cjs/files-c08d24d4.js +44 -0
  3. package/dist/cjs/files-c08d24d4.js.map +1 -0
  4. package/dist/cjs/index.cjs.js +9 -0
  5. package/dist/cjs/index.cjs.js.map +1 -1
  6. package/dist/cjs/limel-action-bar_2.cjs.entry.js +1 -1
  7. package/dist/cjs/limel-callout.cjs.entry.js +1 -1
  8. package/dist/cjs/limel-chart.cjs.entry.js +1 -1
  9. package/dist/cjs/limel-chip_2.cjs.entry.js +1 -1
  10. package/dist/cjs/limel-file-dropzone_2.cjs.entry.js +8 -43
  11. package/dist/cjs/limel-file-dropzone_2.cjs.entry.js.map +1 -1
  12. package/dist/cjs/limel-file-viewer.cjs.entry.js +1 -1
  13. package/dist/cjs/limel-file.cjs.entry.js +1 -1
  14. package/dist/cjs/limel-flatpickr-adapter.cjs.entry.js +1 -1
  15. package/dist/cjs/limel-linear-progress.cjs.entry.js +1 -1
  16. package/dist/cjs/limel-prosemirror-adapter.cjs.entry.js +404 -19
  17. package/dist/cjs/limel-prosemirror-adapter.cjs.entry.js.map +1 -1
  18. package/dist/cjs/limel-snackbar.cjs.entry.js +1 -1
  19. package/dist/cjs/limel-text-editor.cjs.entry.js +11 -1
  20. package/dist/cjs/limel-text-editor.cjs.entry.js.map +1 -1
  21. package/dist/cjs/text-editor.types-5e5567e2.js +13 -0
  22. package/dist/cjs/text-editor.types-5e5567e2.js.map +1 -0
  23. package/dist/cjs/{translations-0d53f9bc.js → translations-b5da5dcd.js} +55 -4
  24. package/dist/cjs/translations-b5da5dcd.js.map +1 -0
  25. package/dist/collection/components/text-editor/prosemirror-adapter/plugins/image/inserter.js +195 -0
  26. package/dist/collection/components/text-editor/prosemirror-adapter/plugins/image/inserter.js.map +1 -0
  27. package/dist/collection/components/text-editor/prosemirror-adapter/plugins/image/node.js +128 -0
  28. package/dist/collection/components/text-editor/prosemirror-adapter/plugins/image/node.js.map +1 -0
  29. package/dist/collection/components/text-editor/prosemirror-adapter/plugins/image/view.js +139 -0
  30. package/dist/collection/components/text-editor/prosemirror-adapter/plugins/image/view.js.map +1 -0
  31. package/dist/collection/components/text-editor/prosemirror-adapter/prosemirror-adapter.css +187 -0
  32. package/dist/collection/components/text-editor/prosemirror-adapter/prosemirror-adapter.js +60 -3
  33. package/dist/collection/components/text-editor/prosemirror-adapter/prosemirror-adapter.js.map +1 -1
  34. package/dist/collection/components/text-editor/text-editor.js +63 -1
  35. package/dist/collection/components/text-editor/text-editor.js.map +1 -1
  36. package/dist/collection/components/text-editor/text-editor.types.js +9 -1
  37. package/dist/collection/components/text-editor/text-editor.types.js.map +1 -1
  38. package/dist/collection/components/text-editor/utils/html-converter.js +7 -4
  39. package/dist/collection/components/text-editor/utils/html-converter.js.map +1 -1
  40. package/dist/collection/components/text-editor/utils/markdown-converter.js +8 -8
  41. package/dist/collection/components/text-editor/utils/markdown-converter.js.map +1 -1
  42. package/dist/collection/global/translations.js +9 -2
  43. package/dist/collection/global/translations.js.map +1 -1
  44. package/dist/collection/translations/da.js +6 -0
  45. package/dist/collection/translations/da.js.map +1 -1
  46. package/dist/collection/translations/de.js +5 -0
  47. package/dist/collection/translations/de.js.map +1 -1
  48. package/dist/collection/translations/en.js +5 -0
  49. package/dist/collection/translations/en.js.map +1 -1
  50. package/dist/collection/translations/fi.js +7 -1
  51. package/dist/collection/translations/fi.js.map +1 -1
  52. package/dist/collection/translations/fr.js +5 -0
  53. package/dist/collection/translations/fr.js.map +1 -1
  54. package/dist/collection/translations/nl.js +6 -0
  55. package/dist/collection/translations/nl.js.map +1 -1
  56. package/dist/collection/translations/no.js +6 -0
  57. package/dist/collection/translations/no.js.map +1 -1
  58. package/dist/collection/translations/sv.js +5 -0
  59. package/dist/collection/translations/sv.js.map +1 -1
  60. package/dist/esm/files-2be62a61.js +41 -0
  61. package/dist/esm/files-2be62a61.js.map +1 -0
  62. package/dist/esm/index.js +2 -0
  63. package/dist/esm/index.js.map +1 -1
  64. package/dist/esm/limel-action-bar_2.entry.js +1 -1
  65. package/dist/esm/limel-callout.entry.js +1 -1
  66. package/dist/esm/limel-chart.entry.js +1 -1
  67. package/dist/esm/limel-chip_2.entry.js +1 -1
  68. package/dist/esm/limel-file-dropzone_2.entry.js +2 -37
  69. package/dist/esm/limel-file-dropzone_2.entry.js.map +1 -1
  70. package/dist/esm/limel-file-viewer.entry.js +1 -1
  71. package/dist/esm/limel-file.entry.js +1 -1
  72. package/dist/esm/limel-flatpickr-adapter.entry.js +1 -1
  73. package/dist/esm/limel-linear-progress.entry.js +1 -1
  74. package/dist/esm/limel-prosemirror-adapter.entry.js +404 -19
  75. package/dist/esm/limel-prosemirror-adapter.entry.js.map +1 -1
  76. package/dist/esm/limel-snackbar.entry.js +1 -1
  77. package/dist/esm/limel-text-editor.entry.js +11 -1
  78. package/dist/esm/limel-text-editor.entry.js.map +1 -1
  79. package/dist/esm/text-editor.types-e82469d1.js +13 -0
  80. package/dist/esm/text-editor.types-e82469d1.js.map +1 -0
  81. package/dist/esm/{translations-7ad188e0.js → translations-8b7272f2.js} +55 -4
  82. package/dist/esm/translations-8b7272f2.js.map +1 -0
  83. package/dist/lime-elements/index.esm.js +1 -1
  84. package/dist/lime-elements/index.esm.js.map +1 -1
  85. package/dist/lime-elements/lime-elements.esm.js +1 -1
  86. package/dist/lime-elements/{p-fc7f9e93.entry.js → p-24a46d85.entry.js} +2 -2
  87. package/dist/lime-elements/{p-54b4a06b.entry.js → p-2ca8f253.entry.js} +2 -2
  88. package/dist/lime-elements/{p-0468e34c.entry.js → p-3479aa66.entry.js} +2 -2
  89. package/dist/lime-elements/{p-b78a9a5c.entry.js → p-54710fb8.entry.js} +2 -2
  90. package/dist/lime-elements/{p-180675a5.entry.js → p-5ac99c32.entry.js} +2 -2
  91. package/dist/lime-elements/{p-7fdab6b0.entry.js → p-62a21e92.entry.js} +2 -2
  92. package/dist/lime-elements/p-62a21e92.entry.js.map +1 -0
  93. package/dist/lime-elements/{p-28c6b698.entry.js → p-8c15a058.entry.js} +2 -2
  94. package/dist/lime-elements/p-9ca516ed.js +2 -0
  95. package/dist/lime-elements/p-9ca516ed.js.map +1 -0
  96. package/dist/lime-elements/{p-fefef194.entry.js → p-ae417884.entry.js} +2 -2
  97. package/dist/lime-elements/{p-ffe954d4.entry.js → p-bda61285.entry.js} +2 -2
  98. package/dist/lime-elements/{p-8ada443f.entry.js → p-c348740c.entry.js} +2 -2
  99. package/dist/lime-elements/p-dbcde7db.entry.js +2 -0
  100. package/dist/lime-elements/p-dbcde7db.entry.js.map +1 -0
  101. package/dist/lime-elements/p-dc3d2ee1.js +2 -0
  102. package/dist/lime-elements/p-dc3d2ee1.js.map +1 -0
  103. package/dist/lime-elements/p-e3d7aba7.js +2 -0
  104. package/dist/lime-elements/p-e3d7aba7.js.map +1 -0
  105. package/dist/lime-elements/p-f641bcb0.entry.js +2 -0
  106. package/dist/lime-elements/p-f641bcb0.entry.js.map +1 -0
  107. package/dist/types/components/text-editor/prosemirror-adapter/plugins/image/inserter.d.ts +15 -0
  108. package/dist/types/components/text-editor/prosemirror-adapter/plugins/image/node.d.ts +14 -0
  109. package/dist/types/components/text-editor/prosemirror-adapter/plugins/image/view.d.ts +4 -0
  110. package/dist/types/components/text-editor/prosemirror-adapter/prosemirror-adapter.d.ts +14 -0
  111. package/dist/types/components/text-editor/text-editor.d.ts +18 -0
  112. package/dist/types/components/text-editor/text-editor.types.d.ts +51 -0
  113. package/dist/types/components/text-editor/utils/markdown-converter.d.ts +2 -1
  114. package/dist/types/components.d.ts +34 -2
  115. package/dist/types/global/translations.d.ts +1 -1
  116. package/dist/types/translations/da.d.ts +6 -0
  117. package/dist/types/translations/de.d.ts +5 -0
  118. package/dist/types/translations/en.d.ts +5 -0
  119. package/dist/types/translations/fi.d.ts +7 -1
  120. package/dist/types/translations/fr.d.ts +5 -0
  121. package/dist/types/translations/nl.d.ts +6 -0
  122. package/dist/types/translations/no.d.ts +6 -0
  123. package/dist/types/translations/sv.d.ts +5 -0
  124. package/package.json +1 -1
  125. package/dist/cjs/translations-0d53f9bc.js.map +0 -1
  126. package/dist/collection/components/text-editor/prosemirror-adapter/plugins/image-remover-plugin.js +0 -78
  127. package/dist/collection/components/text-editor/prosemirror-adapter/plugins/image-remover-plugin.js.map +0 -1
  128. package/dist/esm/translations-7ad188e0.js.map +0 -1
  129. package/dist/lime-elements/p-7fdab6b0.entry.js.map +0 -1
  130. package/dist/lime-elements/p-ad9801f8.entry.js +0 -2
  131. package/dist/lime-elements/p-ad9801f8.entry.js.map +0 -1
  132. package/dist/lime-elements/p-e5545944.entry.js +0 -2
  133. package/dist/lime-elements/p-e5545944.entry.js.map +0 -1
  134. package/dist/lime-elements/p-efd753ba.js +0 -2
  135. package/dist/lime-elements/p-efd753ba.js.map +0 -1
  136. package/dist/types/components/text-editor/prosemirror-adapter/plugins/image-remover-plugin.d.ts +0 -4
  137. /package/dist/lime-elements/{p-fc7f9e93.entry.js.map → p-24a46d85.entry.js.map} +0 -0
  138. /package/dist/lime-elements/{p-54b4a06b.entry.js.map → p-2ca8f253.entry.js.map} +0 -0
  139. /package/dist/lime-elements/{p-0468e34c.entry.js.map → p-3479aa66.entry.js.map} +0 -0
  140. /package/dist/lime-elements/{p-b78a9a5c.entry.js.map → p-54710fb8.entry.js.map} +0 -0
  141. /package/dist/lime-elements/{p-180675a5.entry.js.map → p-5ac99c32.entry.js.map} +0 -0
  142. /package/dist/lime-elements/{p-28c6b698.entry.js.map → p-8c15a058.entry.js.map} +0 -0
  143. /package/dist/lime-elements/{p-fefef194.entry.js.map → p-ae417884.entry.js.map} +0 -0
  144. /package/dist/lime-elements/{p-ffe954d4.entry.js.map → p-bda61285.entry.js.map} +0 -0
  145. /package/dist/lime-elements/{p-8ada443f.entry.js.map → p-c348740c.entry.js.map} +0 -0
@@ -0,0 +1,15 @@
1
+ import { Plugin, PluginKey } from 'prosemirror-state';
2
+ import { EditorView } from 'prosemirror-view';
3
+ import { FileInfo } from '../../../../../global/shared-types/file.types';
4
+ import { ImageInserter, ImageInfo } from '../../../text-editor.types';
5
+ import { Node } from 'prosemirror-model';
6
+ export declare const pluginKey: PluginKey<any>;
7
+ type ImagePastedCallback = (data: ImageInserter) => CustomEvent<ImageInserter>;
8
+ type ImageRemovedCallback = (data: ImageInfo) => CustomEvent<ImageInfo>;
9
+ type PluginState = {
10
+ insertedImages: Record<string, Node>;
11
+ };
12
+ export declare const createImageInserterPlugin: (imagePastedCallback: ImagePastedCallback, imageRemovedCallback: ImageRemovedCallback) => Plugin<PluginState>;
13
+ export declare const imageInserterFactory: (view: EditorView, base64Data: string, fileInfo: FileInfo) => ImageInserter;
14
+ export {};
15
+ //# sourceMappingURL=inserter.d.ts.map
@@ -0,0 +1,14 @@
1
+ import { NodeSpec, Node } from 'prosemirror-model';
2
+ import { MarkdownSerializerState } from 'prosemirror-markdown';
3
+ import { Languages } from '../../../../date-picker/date.types';
4
+ export declare const imageCache: Map<string, HTMLImageElement>;
5
+ type MarkdownSerializerFunction = (state: MarkdownSerializerState, node: Node) => void;
6
+ export declare function getImageNode(language: Languages): Record<string, NodeSpec>;
7
+ export declare function getImageNodeMarkdownSerializer(language: Languages): Record<string, MarkdownSerializerFunction>;
8
+ /**
9
+ * Recursively checks if a ProseMirror node or
10
+ * any of its child nodes is an image node.
11
+ */
12
+ export declare function hasImageNode(node: Node): boolean;
13
+ export {};
14
+ //# sourceMappingURL=node.d.ts.map
@@ -0,0 +1,4 @@
1
+ import { Plugin } from 'prosemirror-state';
2
+ import { Languages } from '../../../../date-picker/date.types';
3
+ export declare const createImageViewPlugin: (language: Languages) => Plugin<any>;
4
+ //# sourceMappingURL=view.d.ts.map
@@ -69,6 +69,20 @@ export declare class ProsemirrorAdapter {
69
69
  * Dispatched when a change is made to the editor
70
70
  */
71
71
  private change;
72
+ /**
73
+ * Dispatched when a image is pasted into the editor
74
+ *
75
+ * @private
76
+ * @alpha
77
+ */
78
+ private imagePasted;
79
+ /**
80
+ * Dispatched when a image is removed from the editor
81
+ *
82
+ * @private
83
+ * @alpha
84
+ */
85
+ private imageRemoved;
72
86
  constructor();
73
87
  protected watchValue(newValue: string): void;
74
88
  componentWillLoad(): void;
@@ -18,6 +18,8 @@ import { EditorUiType } from './types';
18
18
  * @exampleComponent limel-example-text-editor-with-markdown
19
19
  * @exampleComponent limel-example-text-editor-with-html
20
20
  * @exampleComponent limel-example-text-editor-with-tables
21
+ * @exampleComponent limel-example-text-editor-with-inline-images-file-storage
22
+ * @exampleComponent limel-example-text-editor-with-inline-images-base64
21
23
  * @exampleComponent limel-example-text-editor-allow-resize
22
24
  * @exampleComponent limel-example-text-editor-size
23
25
  * @exampleComponent limel-example-text-editor-ui
@@ -124,6 +126,20 @@ export declare class TextEditor implements FormComponent<string> {
124
126
  * Dispatched when a change is made to the editor
125
127
  */
126
128
  change: EventEmitter<string>;
129
+ /**
130
+ * Dispatched when a image is pasted into the editor
131
+ *
132
+ * @private
133
+ * @alpha
134
+ */
135
+ private imagePasted;
136
+ /**
137
+ * Dispatched when a image is removed from the editor
138
+ *
139
+ * @private
140
+ * @alpha
141
+ */
142
+ private imageRemoved;
127
143
  /**
128
144
  * Dispatched if a trigger character is detected.
129
145
  *
@@ -157,5 +173,7 @@ export declare class TextEditor implements FormComponent<string> {
157
173
  private renderHelperLine;
158
174
  private isInvalid;
159
175
  private handleChange;
176
+ private handleImagePasted;
177
+ private handleImageRemoved;
160
178
  }
161
179
  //# sourceMappingURL=text-editor.d.ts.map
@@ -1,4 +1,5 @@
1
1
  import { CustomElement } from '../../global/shared-types/custom-element.types';
2
+ import { FileInfo } from '../../global/shared-types/file.types';
2
3
  /**
3
4
  * Represents a trigger character and its position in the text.
4
5
  *
@@ -27,6 +28,56 @@ export type TextEditorNode = {
27
28
  */
28
29
  children?: Array<TextEditorNode | string>;
29
30
  };
31
+ /**
32
+ * @alpha
33
+ */
34
+ export interface ImageInserter {
35
+ fileInfo: FileInfo;
36
+ /**
37
+ * Method to insert a thumbnail at the cursor position.
38
+ */
39
+ insertThumbnail: () => void;
40
+ /**
41
+ * Method to insert the image at the thumbnail position.
42
+ * Thumbnail must be inserted before calling this method.
43
+ *
44
+ * @param src - The src url of the uploaded image.
45
+ * If not provided, the image will be inserted with base64 data.
46
+ *
47
+ */
48
+ insertImage: (src?: string) => void;
49
+ /**
50
+ * Method to insert a failed thumbnail at the thumbnail position.
51
+ * Thumbnail must be inserted before calling this method.
52
+ */
53
+ insertFailedThumbnail: () => void;
54
+ }
55
+ /**
56
+ * @alpha
57
+ */
58
+ export declare enum ImageState {
59
+ LOADING = "loading",
60
+ FAILED = "failed",
61
+ SUCCESS = "success"
62
+ }
63
+ /**
64
+ * @alpha
65
+ */
66
+ export interface ImageInfo {
67
+ /**
68
+ * Unique ID of the image file.
69
+ */
70
+ fileInfoId: string;
71
+ /**
72
+ * The source of the image.
73
+ * Can either be a URL pointing to the image or a base64 encoded string.
74
+ */
75
+ src: string;
76
+ /**
77
+ * The current state of the image.
78
+ */
79
+ state: ImageState;
80
+ }
30
81
  /**
31
82
  * @alpha
32
83
  */
@@ -1,13 +1,14 @@
1
1
  import { ContentTypeConverter } from './content-type-converter';
2
2
  import { EditorView } from 'prosemirror-view';
3
3
  import { CustomElementDefinition } from '../../../global/shared-types/custom-element.types';
4
+ import { Languages } from '../../date-picker/date.types';
4
5
  /**
5
6
  * @private
6
7
  */
7
8
  export declare class MarkdownConverter implements ContentTypeConverter {
8
9
  private markdownSerializer;
9
10
  private customNodes;
10
- constructor(plugins: CustomElementDefinition[]);
11
+ constructor(plugins: CustomElementDefinition[], language: Languages);
11
12
  parseAsHTML: (text: string) => Promise<string>;
12
13
  serialize: (view: EditorView) => string;
13
14
  }
@@ -39,7 +39,7 @@ import { PickerValue } from "./components/picker/value.types";
39
39
  import { Searcher } from "./components/picker/searcher.types";
40
40
  import { ActionPosition, ActionScrollBehavior } from "./components/picker/actions.types";
41
41
  import { FlowItem } from "./components/progress-flow/progress-flow.types";
42
- import { TriggerCharacter, TriggerEventDetail } from "./components/text-editor/text-editor.types";
42
+ import { ImageInfo, ImageInserter, TriggerCharacter, TriggerEventDetail } from "./components/text-editor/text-editor.types";
43
43
  import { Option } from "./components/select/option.types";
44
44
  import { SpinnerSize } from "./components/spinner/spinner.types";
45
45
  import { Tab } from "./components/tab-bar/tab.types";
@@ -81,7 +81,7 @@ export { PickerValue } from "./components/picker/value.types";
81
81
  export { Searcher } from "./components/picker/searcher.types";
82
82
  export { ActionPosition, ActionScrollBehavior } from "./components/picker/actions.types";
83
83
  export { FlowItem } from "./components/progress-flow/progress-flow.types";
84
- export { TriggerCharacter, TriggerEventDetail } from "./components/text-editor/text-editor.types";
84
+ export { ImageInfo, ImageInserter, TriggerCharacter, TriggerEventDetail } from "./components/text-editor/text-editor.types";
85
85
  export { Option } from "./components/select/option.types";
86
86
  export { SpinnerSize } from "./components/spinner/spinner.types";
87
87
  export { Tab } from "./components/tab-bar/tab.types";
@@ -2717,6 +2717,8 @@ export namespace Components {
2717
2717
  * @exampleComponent limel-example-text-editor-with-markdown
2718
2718
  * @exampleComponent limel-example-text-editor-with-html
2719
2719
  * @exampleComponent limel-example-text-editor-with-tables
2720
+ * @exampleComponent limel-example-text-editor-with-inline-images-file-storage
2721
+ * @exampleComponent limel-example-text-editor-with-inline-images-base64
2720
2722
  * @exampleComponent limel-example-text-editor-allow-resize
2721
2723
  * @exampleComponent limel-example-text-editor-size
2722
2724
  * @exampleComponent limel-example-text-editor-ui
@@ -4424,6 +4426,8 @@ declare global {
4424
4426
  * @exampleComponent limel-example-text-editor-with-markdown
4425
4427
  * @exampleComponent limel-example-text-editor-with-html
4426
4428
  * @exampleComponent limel-example-text-editor-with-tables
4429
+ * @exampleComponent limel-example-text-editor-with-inline-images-file-storage
4430
+ * @exampleComponent limel-example-text-editor-with-inline-images-base64
4427
4431
  * @exampleComponent limel-example-text-editor-allow-resize
4428
4432
  * @exampleComponent limel-example-text-editor-size
4429
4433
  * @exampleComponent limel-example-text-editor-ui
@@ -6965,6 +6969,18 @@ declare namespace LocalJSX {
6965
6969
  * Dispatched when a change is made to the editor
6966
6970
  */
6967
6971
  "onChange"?: (event: LimelProsemirrorAdapterCustomEvent<string>) => void;
6972
+ /**
6973
+ * Dispatched when a image is pasted into the editor
6974
+ * @private
6975
+ * @alpha
6976
+ */
6977
+ "onImagePasted"?: (event: LimelProsemirrorAdapterCustomEvent<ImageInserter>) => void;
6978
+ /**
6979
+ * Dispatched when a image is removed from the editor
6980
+ * @private
6981
+ * @alpha
6982
+ */
6983
+ "onImageRemoved"?: (event: LimelProsemirrorAdapterCustomEvent<ImageInfo>) => void;
6968
6984
  /**
6969
6985
  * set to private to avoid usage while under development
6970
6986
  * @private
@@ -7464,6 +7480,8 @@ declare namespace LocalJSX {
7464
7480
  * @exampleComponent limel-example-text-editor-with-markdown
7465
7481
  * @exampleComponent limel-example-text-editor-with-html
7466
7482
  * @exampleComponent limel-example-text-editor-with-tables
7483
+ * @exampleComponent limel-example-text-editor-with-inline-images-file-storage
7484
+ * @exampleComponent limel-example-text-editor-with-inline-images-base64
7467
7485
  * @exampleComponent limel-example-text-editor-allow-resize
7468
7486
  * @exampleComponent limel-example-text-editor-size
7469
7487
  * @exampleComponent limel-example-text-editor-ui
@@ -7511,6 +7529,18 @@ declare namespace LocalJSX {
7511
7529
  * Dispatched when a change is made to the editor
7512
7530
  */
7513
7531
  "onChange"?: (event: LimelTextEditorCustomEvent<string>) => void;
7532
+ /**
7533
+ * Dispatched when a image is pasted into the editor
7534
+ * @private
7535
+ * @alpha
7536
+ */
7537
+ "onImagePasted"?: (event: LimelTextEditorCustomEvent<ImageInserter>) => void;
7538
+ /**
7539
+ * Dispatched when a image is removed from the editor
7540
+ * @private
7541
+ * @alpha
7542
+ */
7543
+ "onImageRemoved"?: (event: LimelTextEditorCustomEvent<ImageInfo>) => void;
7514
7544
  /**
7515
7545
  * Dispatched if a input is changed during an active trigger.
7516
7546
  * @private
@@ -8778,6 +8808,8 @@ declare module "@stencil/core" {
8778
8808
  * @exampleComponent limel-example-text-editor-with-markdown
8779
8809
  * @exampleComponent limel-example-text-editor-with-html
8780
8810
  * @exampleComponent limel-example-text-editor-with-tables
8811
+ * @exampleComponent limel-example-text-editor-with-inline-images-file-storage
8812
+ * @exampleComponent limel-example-text-editor-with-inline-images-base64
8781
8813
  * @exampleComponent limel-example-text-editor-allow-resize
8782
8814
  * @exampleComponent limel-example-text-editor-size
8783
8815
  * @exampleComponent limel-example-text-editor-ui
@@ -1,5 +1,5 @@
1
1
  export declare class Translations {
2
- get(key: any, language?: string): any;
2
+ get(key: string, language?: string, params?: object): string;
3
3
  }
4
4
  declare const _default: Translations;
5
5
  export default _default;
@@ -14,6 +14,7 @@ declare const _default: {
14
14
  'date-picker.quarter.heading': string;
15
15
  'date-picker.year.heading': string;
16
16
  'chip-set.clear-all': string;
17
+ 'snackbar.dismiss': string;
17
18
  'file-viewer.message.unsupported-filetype': string;
18
19
  'file-viewer.download': string;
19
20
  'file-viewer.exit-fullscreen': string;
@@ -22,6 +23,7 @@ declare const _default: {
22
23
  'file-viewer.more-actions': string;
23
24
  'editor-menu.bold': string;
24
25
  'editor-menu.italic': string;
26
+ 'editor-menu.strikethrough': string;
25
27
  'editor-menu.h1': string;
26
28
  'editor-menu.h2': string;
27
29
  'editor-menu.h3': string;
@@ -33,6 +35,10 @@ declare const _default: {
33
35
  'editor-link-menu.link': string;
34
36
  'editor-menu.code-block': string;
35
37
  'editor-menu.code': string;
38
+ 'editor-image-view.loading': string;
39
+ 'editor-image-view.failed': string;
40
+ 'editor-image-view.success': string;
41
+ 'editor-image-view.resize-handle': string;
36
42
  'progress-bar': string;
37
43
  };
38
44
  export default _default;
@@ -23,6 +23,7 @@ declare const _default: {
23
23
  'file-viewer.more-actions': string;
24
24
  'editor-menu.bold': string;
25
25
  'editor-menu.italic': string;
26
+ 'editor-menu.strikethrough': string;
26
27
  'editor-menu.h1': string;
27
28
  'editor-menu.h2': string;
28
29
  'editor-menu.h3': string;
@@ -34,6 +35,10 @@ declare const _default: {
34
35
  'editor-link-menu.link': string;
35
36
  'editor-menu.code-block': string;
36
37
  'editor-menu.code': string;
38
+ 'editor-image-view.loading': string;
39
+ 'editor-image-view.failed': string;
40
+ 'editor-image-view.success': string;
41
+ 'editor-image-view.resize-handle': string;
37
42
  'progress-bar': string;
38
43
  };
39
44
  export default _default;
@@ -23,6 +23,7 @@ declare const _default: {
23
23
  'file-viewer.more-actions': string;
24
24
  'editor-menu.bold': string;
25
25
  'editor-menu.italic': string;
26
+ 'editor-menu.strikethrough': string;
26
27
  'editor-menu.h1': string;
27
28
  'editor-menu.h2': string;
28
29
  'editor-menu.h3': string;
@@ -34,6 +35,10 @@ declare const _default: {
34
35
  'editor-link-menu.link': string;
35
36
  'editor-menu.code-block': string;
36
37
  'editor-menu.code': string;
38
+ 'editor-image-view.loading': string;
39
+ 'editor-image-view.failed': string;
40
+ 'editor-image-view.success': string;
41
+ 'editor-image-view.resize-handle': string;
37
42
  'progress-bar': string;
38
43
  };
39
44
  export default _default;
@@ -1,7 +1,7 @@
1
1
  declare const _default: {
2
2
  remove: string;
3
3
  save: string;
4
- canceL: string;
4
+ cancel: string;
5
5
  loading: string;
6
6
  value: string;
7
7
  'callout.note': string;
@@ -14,6 +14,7 @@ declare const _default: {
14
14
  'date-picker.quarter.heading': string;
15
15
  'date-picker.year.heading': string;
16
16
  'chip-set.clear-all': string;
17
+ 'snackbar.dismiss': string;
17
18
  'file-viewer.message.unsupported-filetype': string;
18
19
  'file-viewer.download': string;
19
20
  'file-viewer.exit-fullscreen': string;
@@ -22,6 +23,7 @@ declare const _default: {
22
23
  'file-viewer.more-actions': string;
23
24
  'editor-menu.bold': string;
24
25
  'editor-menu.italic': string;
26
+ 'editor-menu.strikethrough': string;
25
27
  'editor-menu.h1': string;
26
28
  'editor-menu.h2': string;
27
29
  'editor-menu.h3': string;
@@ -33,6 +35,10 @@ declare const _default: {
33
35
  'editor-link-menu.link': string;
34
36
  'editor-menu.code-block': string;
35
37
  'editor-menu.code': string;
38
+ 'editor-image-view.loading': string;
39
+ 'editor-image-view.failed': string;
40
+ 'editor-image-view.success': string;
41
+ 'editor-image-view.resize-handle': string;
36
42
  'progress-bar': string;
37
43
  };
38
44
  export default _default;
@@ -23,6 +23,7 @@ declare const _default: {
23
23
  'file-viewer.more-actions': string;
24
24
  'editor-menu.bold': string;
25
25
  'editor-menu.italic': string;
26
+ 'editor-menu.strikethrough': string;
26
27
  'editor-menu.h1': string;
27
28
  'editor-menu.h2': string;
28
29
  'editor-menu.h3': string;
@@ -34,6 +35,10 @@ declare const _default: {
34
35
  'editor-link-menu.link': string;
35
36
  'editor-menu.code-block': string;
36
37
  'editor-menu.code': string;
38
+ 'editor-image-view.loading': string;
39
+ 'editor-image-view.failed': string;
40
+ 'editor-image-view.success': string;
41
+ 'editor-image-view.resize-handle': string;
37
42
  'progress-bar': string;
38
43
  };
39
44
  export default _default;
@@ -14,6 +14,7 @@ declare const _default: {
14
14
  'date-picker.quarter.heading': string;
15
15
  'date-picker.year.heading': string;
16
16
  'chip-set.clear-all': string;
17
+ 'snackbar.dismiss': string;
17
18
  'file-viewer.message.unsupported-filetype': string;
18
19
  'file-viewer.download': string;
19
20
  'file-viewer.exit-fullscreen': string;
@@ -22,6 +23,7 @@ declare const _default: {
22
23
  'file-viewer.more-actions': string;
23
24
  'editor-menu.bold': string;
24
25
  'editor-menu.italic': string;
26
+ 'editor-menu.strikethrough': string;
25
27
  'editor-menu.h1': string;
26
28
  'editor-menu.h2': string;
27
29
  'editor-menu.h3': string;
@@ -33,6 +35,10 @@ declare const _default: {
33
35
  'editor-link-menu.link': string;
34
36
  'editor-menu.code-block': string;
35
37
  'editor-menu.code': string;
38
+ 'editor-image-view.loading': string;
39
+ 'editor-image-view.failed': string;
40
+ 'editor-image-view.success': string;
41
+ 'editor-image-view.resize-handle': string;
36
42
  'progress-bar': string;
37
43
  };
38
44
  export default _default;
@@ -22,6 +22,7 @@ declare const _default: {
22
22
  'file-viewer.more-actions': string;
23
23
  'editor-menu.bold': string;
24
24
  'editor-menu.italic': string;
25
+ 'editor-menu.strikethrough': string;
25
26
  'editor-menu.h1': string;
26
27
  'editor-menu.h2': string;
27
28
  'editor-menu.h3': string;
@@ -33,7 +34,12 @@ declare const _default: {
33
34
  'editor-link-menu.link': string;
34
35
  'editor-menu.code-block': string;
35
36
  'editor-menu.code': string;
37
+ 'editor-image-view.loading': string;
38
+ 'editor-image-view.failed': string;
39
+ 'editor-image-view.success': string;
40
+ 'editor-image-view.resize-handle': string;
36
41
  'progress-bar': string;
42
+ 'snackbar.dismiss': string;
37
43
  };
38
44
  export default _default;
39
45
  //# sourceMappingURL=no.d.ts.map
@@ -23,6 +23,7 @@ declare const _default: {
23
23
  'file-viewer.more-actions': string;
24
24
  'editor-menu.bold': string;
25
25
  'editor-menu.italic': string;
26
+ 'editor-menu.strikethrough': string;
26
27
  'editor-menu.h1': string;
27
28
  'editor-menu.h2': string;
28
29
  'editor-menu.h3': string;
@@ -34,6 +35,10 @@ declare const _default: {
34
35
  'editor-link-menu.link': string;
35
36
  'editor-menu.code-block': string;
36
37
  'editor-menu.code': string;
38
+ 'editor-image-view.loading': string;
39
+ 'editor-image-view.failed': string;
40
+ 'editor-image-view.success': string;
41
+ 'editor-image-view.resize-handle': string;
37
42
  'progress-bar': string;
38
43
  };
39
44
  export default _default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@limetech/lime-elements",
3
- "version": "38.2.3",
3
+ "version": "38.3.1",
4
4
  "description": "Lime Elements",
5
5
  "author": "Lime Technologies",
6
6
  "license": "Apache-2.0",
@@ -1 +0,0 @@
1
- {"file":"translations-0d53f9bc.js","mappings":"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","names":[],"sources":["./src/translations/da.ts","./src/translations/de.ts","./src/translations/en.ts","./src/translations/fi.ts","./src/translations/fr.ts","./src/translations/nl.ts","./src/translations/no.ts","./src/translations/sv.ts","./src/global/translations.ts"],"sourcesContent":["export default {\n remove: 'Fjern',\n save: 'Gem',\n cancel: 'Annullér',\n loading: 'Indlæser…',\n value: 'Værdi',\n 'callout.note': 'Bemærk',\n 'callout.important': 'Vigtig',\n 'callout.tip': 'Tip',\n 'callout.caution': 'Advarsel',\n 'callout.warning': 'Advarsel',\n 'date-picker.today': 'Idag',\n 'date-picker.month.heading': 'Måned',\n 'date-picker.quarter.heading': 'Kvartal',\n 'date-picker.year.heading': 'År',\n 'chip-set.clear-all': 'Ryd alle',\n 'file-viewer.message.unsupported-filetype': 'Denne fil kan ikke vises!',\n 'file-viewer.download': 'Hent',\n 'file-viewer.exit-fullscreen': 'Afslut fuldskærm',\n 'file-viewer.open-in-fullscreen': 'Åbn i fuld skærm',\n 'file-viewer.open-in-new-tab': 'Åbn i en ny fane',\n 'file-viewer.more-actions': 'Mere…',\n 'editor-menu.bold': 'Fed',\n 'editor-menu.italic': 'Kursiv',\n 'editor-menu.h1': 'Overskrift 1',\n 'editor-menu.h2': 'Overskrift 2',\n 'editor-menu.h3': 'Overskrift 3',\n 'editor-menu.bulleted-list': 'Punktliste',\n 'editor-menu.numbered-list': 'Nummereret liste',\n 'editor-menu.blockquote': 'Blokcitat',\n 'editor-menu.link': 'Tilføj link',\n 'editor-link-menu.text': 'Tekst',\n 'editor-link-menu.link': 'Link',\n 'editor-menu.code-block': 'Kodeblok',\n 'editor-menu.code': 'Kode',\n 'progress-bar': 'Fremskridtsindikator',\n};\n","export default {\n remove: 'Entfernen',\n save: 'Speichern',\n cancel: 'Abbrechen',\n loading: 'Laden…',\n value: 'Wert',\n 'callout.note': 'Hinweis',\n 'callout.important': 'Wichtig',\n 'callout.tip': 'Tipp',\n 'callout.caution': 'Vorsicht',\n 'callout.warning': 'Warnung',\n 'date-picker.today': 'Heute',\n 'date-picker.month.heading': 'Monat',\n 'date-picker.quarter.heading': 'Quartal',\n 'date-picker.year.heading': 'Jahr',\n 'chip-set.clear-all': 'Alles löschen',\n 'snackbar.dismiss': 'Schließen',\n 'file-viewer.message.unsupported-filetype':\n 'Diese Datei kann nicht angezeigt werden!',\n 'file-viewer.download': 'Herunterladen',\n 'file-viewer.exit-fullscreen': 'Vollbildmodus beenden',\n 'file-viewer.open-in-fullscreen': 'Im Vollbildmodus öffnen',\n 'file-viewer.open-in-new-tab': 'In einem neuen Tab öffnen',\n 'file-viewer.more-actions': 'Mehr…',\n 'editor-menu.bold': 'Fett',\n 'editor-menu.italic': 'Kursiv',\n 'editor-menu.h1': 'Überschrift 1',\n 'editor-menu.h2': 'Überschrift 2',\n 'editor-menu.h3': 'Überschrift 3',\n 'editor-menu.bulleted-list': 'Aufzählungsliste',\n 'editor-menu.numbered-list': 'Nummerierte Liste',\n 'editor-menu.blockquote': 'Zitatblock',\n 'editor-menu.link': 'Link',\n 'editor-link-menu.text': 'Text',\n 'editor-link-menu.link': 'Link',\n 'editor-menu.code-block': 'Codeblock',\n 'editor-menu.code': 'Code',\n 'progress-bar': 'Fortschrittsbalken',\n};\n","export default {\n remove: 'Remove',\n save: 'Save',\n cancel: 'Cancel',\n loading: 'Loading…',\n value: 'Value',\n 'callout.note': 'Note',\n 'callout.important': 'Important',\n 'callout.tip': 'Tip',\n 'callout.caution': 'Caution',\n 'callout.warning': 'Warning',\n 'date-picker.today': 'Today',\n 'date-picker.month.heading': 'Month',\n 'date-picker.quarter.heading': 'Quarter',\n 'date-picker.year.heading': 'Year',\n 'chip-set.clear-all': 'Clear all',\n 'snackbar.dismiss': 'Dismiss',\n 'file-viewer.message.unsupported-filetype': 'Cannot display this file!',\n 'file-viewer.download': 'Download',\n 'file-viewer.exit-fullscreen': 'Exit fullscreen',\n 'file-viewer.open-in-fullscreen': 'Open in fullscreen',\n 'file-viewer.open-in-new-tab': 'Open in a new tab',\n 'file-viewer.more-actions': 'More…',\n 'editor-menu.bold': 'Bold',\n 'editor-menu.italic': 'Italic',\n 'editor-menu.h1': 'Heading 1',\n 'editor-menu.h2': 'Heading 2',\n 'editor-menu.h3': 'Heading 3',\n 'editor-menu.bulleted-list': 'Bulleted list',\n 'editor-menu.numbered-list': 'Numbered list',\n 'editor-menu.blockquote': 'Blockquote',\n 'editor-menu.link': 'Link',\n 'editor-link-menu.text': 'Text',\n 'editor-link-menu.link': 'Link',\n 'editor-menu.code-block': 'Code block',\n 'editor-menu.code': 'Code',\n 'progress-bar': 'Progress bar',\n};\n","export default {\n remove: 'Poista',\n save: 'Tallenna',\n canceL: 'Peruuta',\n loading: 'Ladataan…',\n value: 'Arvo',\n 'callout.note': 'Huomio',\n 'callout.important': 'Tärkeää',\n 'callout.tip': 'Vinkki',\n 'callout.caution': 'Varoitus',\n 'callout.warning': 'Varoitus',\n 'date-picker.today': 'Tänään',\n 'date-picker.month.heading': 'Kuukausi',\n 'date-picker.quarter.heading': 'Vuosineljännes',\n 'date-picker.year.heading': 'Vuosi',\n 'chip-set.clear-all': 'Tyhjennä kaikki',\n 'file-viewer.message.unsupported-filetype':\n 'Tätä tiedostoa ei voi näyttää!',\n 'file-viewer.download': 'Ladata',\n 'file-viewer.exit-fullscreen': 'Poistu koko näytöstä',\n 'file-viewer.open-in-fullscreen': 'Avaa koko näytössä',\n 'file-viewer.open-in-new-tab': 'Avaa uudella välilehdellä',\n 'file-viewer.more-actions': 'Lisää…',\n 'editor-menu.bold': 'Lihavoitu',\n 'editor-menu.italic': 'Kursivoitu',\n 'editor-menu.h1': 'Otsikkotaso 1',\n 'editor-menu.h2': 'Otsikkotaso 2',\n 'editor-menu.h3': 'Otsikkotaso 3',\n 'editor-menu.bulleted-list': 'Luettelomerkitty lista',\n 'editor-menu.numbered-list': 'Numeroitu lista',\n 'editor-menu.blockquote': 'Lohkoteksti',\n 'editor-menu.link': 'Lisää linkki',\n 'editor-link-menu.text': 'Teksti',\n 'editor-link-menu.link': 'Linkki',\n 'editor-menu.code-block': 'Koodilohko',\n 'editor-menu.code': 'Koodi',\n 'progress-bar': 'Edistymispalkki',\n};\n","export default {\n remove: 'Supprimer',\n save: 'Enregistrer',\n cancel: 'Annuler',\n loading: 'Chargement…',\n value: 'Valeur',\n 'callout.note': 'Note',\n 'callout.important': 'Important',\n 'callout.tip': 'Conseil',\n 'callout.caution': 'Prudence',\n 'callout.warning': 'Avertissement',\n 'date-picker.today': \"Aujourd'hui\",\n 'date-picker.month.heading': 'Mois',\n 'date-picker.quarter.heading': 'Trimestre',\n 'date-picker.year.heading': 'Année',\n 'chip-set.clear-all': 'Tout effacer',\n 'snackbar.dismiss': 'Fermer',\n 'file-viewer.message.unsupported-filetype':\n \"Impossible d'afficher ce fichier!\",\n 'file-viewer.download': 'Télécharger',\n 'file-viewer.exit-fullscreen': 'Quitter le mode plein écran',\n 'file-viewer.open-in-fullscreen': 'Ouvrir en plein écran',\n 'file-viewer.open-in-new-tab': 'Ouvrir dans un nouvel onglet',\n 'file-viewer.more-actions': 'Plus…',\n 'editor-menu.bold': 'Gras',\n 'editor-menu.italic': 'Italique',\n 'editor-menu.h1': 'Titre 1',\n 'editor-menu.h2': 'Titre 2',\n 'editor-menu.h3': 'Titre 3',\n 'editor-menu.bulleted-list': 'Liste à puces',\n 'editor-menu.numbered-list': 'Liste numérotée',\n 'editor-menu.blockquote': 'Bloc de citation',\n 'editor-menu.link': 'Lien',\n 'editor-link-menu.text': 'Texte',\n 'editor-link-menu.link': 'Lien',\n 'editor-menu.code-block': 'Bloc de code',\n 'editor-menu.code': 'Code',\n 'progress-bar': 'Barre de progression',\n};\n","export default {\n remove: 'Verwijder',\n save: 'Opslaan',\n cancel: 'Annuleren',\n loading: 'Laden…',\n value: 'Waarde',\n 'callout.note': 'Opmerking',\n 'callout.important': 'Belangrijk',\n 'callout.tip': 'Tip',\n 'callout.caution': 'Waarschuwing',\n 'callout.warning': 'Waarschuwing',\n 'date-picker.today': 'Vandaag',\n 'date-picker.month.heading': 'Maand',\n 'date-picker.quarter.heading': 'Kwartaal',\n 'date-picker.year.heading': 'Jaar',\n 'chip-set.clear-all': 'Alles wissen',\n 'file-viewer.message.unsupported-filetype':\n 'Kan dit bestand niet weergeven!',\n 'file-viewer.download': 'Downloaden',\n 'file-viewer.exit-fullscreen': 'Verlaat volledig scherm',\n 'file-viewer.open-in-fullscreen': 'Open in volledig scherm',\n 'file-viewer.open-in-new-tab': 'Openen op een nieuw tabblad',\n 'file-viewer.more-actions': 'Meer…',\n 'editor-menu.bold': 'Vet',\n 'editor-menu.italic': 'Cursief',\n 'editor-menu.h1': 'Kopniveau 1',\n 'editor-menu.h2': 'Kopniveau 2',\n 'editor-menu.h3': 'Kopniveau 3',\n 'editor-menu.bulleted-list': 'Opsomming',\n 'editor-menu.numbered-list': 'Genummerde lijst',\n 'editor-menu.blockquote': 'Blokcitaat',\n 'editor-menu.link': 'Link toevoegen',\n 'editor-link-menu.text': 'Tekst',\n 'editor-link-menu.link': 'Link',\n 'editor-menu.code-block': 'Codeblok',\n 'editor-menu.code': 'Code',\n 'progress-bar': 'Voortgangsbalk',\n};\n","export default {\n remove: 'Fjerne',\n save: 'Lagre',\n cancel: 'Avbryt',\n loading: 'Laster…',\n value: 'Verdi',\n 'callout.note': 'Note',\n 'callout.important': 'Viktig',\n 'callout.tip': 'Tip',\n 'callout.caution': 'Advarsel',\n 'callout.warning': 'Advarsel',\n 'date-picker.today': 'I dag',\n 'date-picker.month.heading': 'Måned',\n 'date-picker.quarter.heading': 'Kvartal',\n 'date-picker.year.heading': 'År',\n 'chip-set.clear-all': 'Fjern alle',\n 'file-viewer.message.unsupported-filetype': 'Kan ikke vise denne filen!',\n 'file-viewer.download': 'Nedlasting',\n 'file-viewer.exit-fullscreen': 'Gå ut av fullskjerm',\n 'file-viewer.open-in-fullscreen': 'Åpne i fullskjerm',\n 'file-viewer.open-in-new-tab': 'Åpne i en ny fane',\n 'file-viewer.more-actions': 'Mer…',\n 'editor-menu.bold': 'Fet',\n 'editor-menu.italic': 'Kursiv',\n 'editor-menu.h1': 'Overskrift 1',\n 'editor-menu.h2': 'Overskrift 2',\n 'editor-menu.h3': 'Overskrifts 3',\n 'editor-menu.bulleted-list': 'Punktliste',\n 'editor-menu.numbered-list': 'Nummerert liste',\n 'editor-menu.blockquote': 'Blokksitat',\n 'editor-menu.link': 'Legg til lenke',\n 'editor-link-menu.text': 'Tekst',\n 'editor-link-menu.link': 'Lenke',\n 'editor-menu.code-block': 'Kodeblokk',\n 'editor-menu.code': 'Kode',\n 'progress-bar': 'Fremdriftsindikator',\n};\n","export default {\n remove: 'Ta bort',\n save: 'Spara',\n cancel: 'Avbryt',\n loading: 'Laddar…',\n value: 'Värde',\n 'callout.note': 'Obs',\n 'callout.important': 'Viktigt',\n 'callout.tip': 'Tips',\n 'callout.caution': 'Varning',\n 'callout.warning': 'Varning',\n 'date-picker.today': 'Idag',\n 'date-picker.month.heading': 'Månad',\n 'date-picker.quarter.heading': 'Kvartal',\n 'date-picker.year.heading': 'År',\n 'chip-set.clear-all': 'Rensa alla',\n 'snackbar.dismiss': 'Stäng',\n 'file-viewer.message.unsupported-filetype': 'Kan inte visa den här filen!',\n 'file-viewer.download': 'Ladda ner',\n 'file-viewer.exit-fullscreen': 'Avsluta fullskärmsläge',\n 'file-viewer.open-in-fullscreen': 'Öppna i fullskärmsläge',\n 'file-viewer.open-in-new-tab': 'Öppna i ny flik',\n 'file-viewer.more-actions': 'Mer…',\n 'editor-menu.bold': 'Fet',\n 'editor-menu.italic': 'Kursiv',\n 'editor-menu.h1': 'Rubrik 1',\n 'editor-menu.h2': 'Rubrik 2',\n 'editor-menu.h3': 'Rubrik 3',\n 'editor-menu.bulleted-list': 'Punktlista',\n 'editor-menu.numbered-list': 'Numrerad lista',\n 'editor-menu.blockquote': 'Blockcitat',\n 'editor-menu.link': 'Lägg till länk',\n 'editor-link-menu.text': 'Text',\n 'editor-link-menu.link': 'Länk',\n 'editor-menu.code-block': 'Kodblock',\n 'editor-menu.code': 'Kod',\n 'progress-bar': 'Förloppsindikator',\n};\n","import da from '../translations/da';\nimport de from '../translations/de';\nimport en from '../translations/en';\nimport fi from '../translations/fi';\nimport fr from '../translations/fr';\nimport nl from '../translations/nl';\nimport no from '../translations/no';\nimport sv from '../translations/sv';\n\nconst allTranslations = {\n da: da,\n de: de,\n en: en,\n fi: fi,\n fr: fr,\n no: no,\n nl: nl,\n sv: sv,\n};\n\nexport class Translations {\n public get(key, language = 'en') {\n return allTranslations[language][key];\n }\n}\n\nconst translations = new Translations();\nexport default (() => {\n return translations;\n})();\n"],"version":3}
@@ -1,78 +0,0 @@
1
- import { Plugin, PluginKey } from 'prosemirror-state';
2
- import { Slice, Fragment, Node } from 'prosemirror-model';
3
- export const pluginKey = new PluginKey('imageRemoverPlugin');
4
- export const createImageRemoverPlugin = () => {
5
- return new Plugin({
6
- key: pluginKey,
7
- props: {
8
- handlePaste: (view, event, slice) => {
9
- return processPasteEvent(view, event, slice);
10
- },
11
- },
12
- });
13
- };
14
- /**
15
- * Check if a given ProseMirror node or fragment contains any image nodes.
16
- * @param node - The ProseMirror node or fragment to check.
17
- * @returns A boolean indicating whether the node contains any image nodes.
18
- */
19
- const isImageNode = (node) => {
20
- if (node instanceof Node) {
21
- if (node.type.name === 'image') {
22
- return true;
23
- }
24
- let found = false;
25
- node.content.forEach((child) => {
26
- if (isImageNode(child)) {
27
- found = true;
28
- }
29
- });
30
- return found;
31
- }
32
- else if (node instanceof Fragment) {
33
- let found = false;
34
- node.forEach((child) => {
35
- if (isImageNode(child)) {
36
- found = true;
37
- }
38
- });
39
- return found;
40
- }
41
- return false;
42
- };
43
- /**
44
- * Filter out image nodes from a ProseMirror fragment.
45
- * @param fragment - The ProseMirror fragment to filter.
46
- * @returns A new fragment with image nodes removed.
47
- */
48
- const filterImageNodes = (fragment) => {
49
- const filteredChildren = [];
50
- fragment.forEach((child) => {
51
- if (!isImageNode(child)) {
52
- if (child.content.size > 0) {
53
- const filteredContent = filterImageNodes(child.content);
54
- const newNode = child.copy(filteredContent);
55
- filteredChildren.push(newNode);
56
- }
57
- else {
58
- filteredChildren.push(child);
59
- }
60
- }
61
- });
62
- return Fragment.fromArray(filteredChildren);
63
- };
64
- const processPasteEvent = (view, event, slice) => {
65
- const clipboardData = event.clipboardData;
66
- if (!clipboardData) {
67
- return false;
68
- }
69
- const filteredSlice = new Slice(filterImageNodes(slice.content), slice.openStart, slice.openEnd);
70
- if (filteredSlice.content.childCount < slice.content.childCount) {
71
- const { state, dispatch } = view;
72
- const tr = state.tr.replaceSelection(filteredSlice);
73
- dispatch(tr);
74
- return true;
75
- }
76
- return false;
77
- };
78
- //# sourceMappingURL=image-remover-plugin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"image-remover-plugin.js","sourceRoot":"","sources":["../../../../../src/components/text-editor/prosemirror-adapter/plugins/image-remover-plugin.ts"],"names":[],"mappings":"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","sourcesContent":["import { Plugin, PluginKey } from 'prosemirror-state';\nimport { EditorView } from 'prosemirror-view';\nimport { Slice, Fragment, Node } from 'prosemirror-model';\n\nexport const pluginKey = new PluginKey('imageRemoverPlugin');\n\nexport const createImageRemoverPlugin = () => {\n return new Plugin({\n key: pluginKey,\n props: {\n handlePaste: (view, event, slice) => {\n return processPasteEvent(view, event, slice);\n },\n },\n });\n};\n\n/**\n * Check if a given ProseMirror node or fragment contains any image nodes.\n * @param node - The ProseMirror node or fragment to check.\n * @returns A boolean indicating whether the node contains any image nodes.\n */\nconst isImageNode = (node: Node | Fragment): boolean => {\n if (node instanceof Node) {\n if (node.type.name === 'image') {\n return true;\n }\n\n let found = false;\n node.content.forEach((child) => {\n if (isImageNode(child)) {\n found = true;\n }\n });\n\n return found;\n } else if (node instanceof Fragment) {\n let found = false;\n node.forEach((child) => {\n if (isImageNode(child)) {\n found = true;\n }\n });\n\n return found;\n }\n\n return false;\n};\n\n/**\n * Filter out image nodes from a ProseMirror fragment.\n * @param fragment - The ProseMirror fragment to filter.\n * @returns A new fragment with image nodes removed.\n */\nconst filterImageNodes = (fragment: Fragment): Fragment => {\n const filteredChildren: Node[] = [];\n\n fragment.forEach((child) => {\n if (!isImageNode(child)) {\n if (child.content.size > 0) {\n const filteredContent = filterImageNodes(child.content);\n const newNode = child.copy(filteredContent);\n filteredChildren.push(newNode);\n } else {\n filteredChildren.push(child);\n }\n }\n });\n\n return Fragment.fromArray(filteredChildren);\n};\n\nconst processPasteEvent = (\n view: EditorView,\n event: ClipboardEvent,\n slice: Slice,\n): boolean => {\n const clipboardData = event.clipboardData;\n if (!clipboardData) {\n return false;\n }\n\n const filteredSlice = new Slice(\n filterImageNodes(slice.content),\n slice.openStart,\n slice.openEnd,\n );\n\n if (filteredSlice.content.childCount < slice.content.childCount) {\n const { state, dispatch } = view;\n const tr = state.tr.replaceSelection(filteredSlice);\n dispatch(tr);\n\n return true;\n }\n\n return false;\n};\n"]}