@vonage/vivid 5.4.0 → 5.6.0

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 (351) hide show
  1. package/LICENSE.md +201 -0
  2. package/accordion/definition.cjs +5 -0
  3. package/accordion/definition.js +5 -0
  4. package/accordion/index.cjs +1 -1
  5. package/accordion/index.js +14 -3
  6. package/alert/definition.cjs +4 -12
  7. package/alert/definition.js +5 -13
  8. package/alert/index.cjs +11 -11
  9. package/alert/index.js +33 -37
  10. package/audio-player/definition.cjs +4 -0
  11. package/audio-player/definition.js +4 -0
  12. package/audio-player/index.cjs +1 -1
  13. package/audio-player/index.js +8 -2
  14. package/banner/definition.cjs +2 -4
  15. package/banner/definition.js +2 -4
  16. package/banner/index.cjs +2 -2
  17. package/banner/index.js +1 -1
  18. package/breadcrumb/definition.cjs +1 -0
  19. package/breadcrumb/definition.js +1 -0
  20. package/breadcrumb/index.cjs +1 -1
  21. package/breadcrumb/index.js +1 -0
  22. package/bundled/affix.js +1 -1
  23. package/bundled/anchored.cjs +1 -1
  24. package/bundled/anchored.js +6 -6
  25. package/bundled/attribute-binding-behaviour.cjs +1 -1
  26. package/bundled/attribute-binding-behaviour.js +3 -1
  27. package/bundled/base-color-picker.cjs +18 -13
  28. package/bundled/base-color-picker.js +107 -84
  29. package/bundled/base-progress.cjs +1 -1
  30. package/bundled/base-progress.js +3 -0
  31. package/bundled/button.cjs +1 -1
  32. package/bundled/button.js +14 -10
  33. package/bundled/calendar-picker.template.cjs +1 -1
  34. package/bundled/calendar-picker.template.js +4 -2
  35. package/bundled/char-count.cjs +1 -1
  36. package/bundled/char-count.js +1 -1
  37. package/bundled/definition10.cjs +7 -7
  38. package/bundled/definition10.js +29 -19
  39. package/bundled/definition11.cjs +12 -19
  40. package/bundled/definition11.js +73 -204
  41. package/bundled/definition12.cjs +19 -10
  42. package/bundled/definition12.js +218 -36
  43. package/bundled/definition13.cjs +10 -1
  44. package/bundled/definition13.js +38 -14
  45. package/bundled/definition14.cjs +1 -5
  46. package/bundled/definition14.js +15 -24
  47. package/bundled/definition15.cjs +5 -30
  48. package/bundled/definition15.js +22 -73
  49. package/bundled/definition16.cjs +30 -19
  50. package/bundled/definition16.js +74 -97
  51. package/bundled/definition17.cjs +19 -13
  52. package/bundled/definition17.js +86 -117
  53. package/bundled/definition18.cjs +13 -12
  54. package/bundled/definition18.js +125 -71
  55. package/bundled/definition19.cjs +16 -16
  56. package/bundled/definition19.js +132 -94
  57. package/bundled/definition2.cjs +8 -9
  58. package/bundled/definition2.js +89 -142
  59. package/bundled/definition22.cjs +1 -1
  60. package/bundled/definition22.js +1 -0
  61. package/bundled/definition3.cjs +1 -1
  62. package/bundled/definition3.js +2 -1
  63. package/bundled/definition5.cjs +1 -1
  64. package/bundled/definition5.js +9 -3
  65. package/bundled/definition6.cjs +1 -1
  66. package/bundled/definition6.js +1 -0
  67. package/bundled/definition7.cjs +1 -1
  68. package/bundled/definition7.js +7 -4
  69. package/bundled/definition8.cjs +1 -1
  70. package/bundled/definition8.js +1 -0
  71. package/bundled/definition9.cjs +6 -6
  72. package/bundled/definition9.js +545 -488
  73. package/bundled/delegates-aria.cjs +1 -1
  74. package/bundled/delegates-aria.js +3 -1
  75. package/bundled/form-associated.cjs +1 -1
  76. package/bundled/form-associated.js +11 -3
  77. package/bundled/host-semantics.js +4 -4
  78. package/bundled/listbox.cjs +1 -1
  79. package/bundled/listbox.js +22 -4
  80. package/bundled/localized.cjs +1 -1
  81. package/bundled/localized.js +149 -66
  82. package/bundled/mixins.cjs +4 -4
  83. package/bundled/mixins.js +11 -8
  84. package/bundled/picker-field.template.cjs +14 -14
  85. package/bundled/picker-field.template.js +36 -56
  86. package/bundled/scrollIntoView.cjs +1 -1
  87. package/bundled/scrollIntoView.js +4 -1
  88. package/bundled/text-field.cjs +1 -1
  89. package/bundled/text-field.js +1 -1
  90. package/bundled/time-selection-picker.template.cjs +12 -12
  91. package/bundled/time-selection-picker.template.js +16 -12
  92. package/bundled/trapped-focus.cjs +1 -0
  93. package/bundled/trapped-focus.js +26 -0
  94. package/bundled/vivid-element.cjs +4 -4
  95. package/bundled/vivid-element.js +529 -492
  96. package/calendar/definition.cjs +2 -0
  97. package/calendar/definition.js +2 -0
  98. package/calendar/index.cjs +13 -13
  99. package/calendar/index.js +174 -144
  100. package/checkbox/definition.cjs +1 -0
  101. package/checkbox/definition.js +1 -0
  102. package/color-picker/definition.cjs +213 -112
  103. package/color-picker/definition.js +213 -112
  104. package/color-picker/index.cjs +104 -75
  105. package/color-picker/index.js +417 -326
  106. package/combobox/definition.cjs +17 -6
  107. package/combobox/definition.js +17 -6
  108. package/combobox/index.cjs +14 -9
  109. package/combobox/index.js +54 -42
  110. package/contextual-help/index.cjs +1 -1
  111. package/contextual-help/index.js +1 -1
  112. package/custom-elements.json +6976 -484
  113. package/data-grid/definition.cjs +105 -7
  114. package/data-grid/definition.js +105 -7
  115. package/data-grid/index.cjs +52 -38
  116. package/data-grid/index.js +313 -242
  117. package/date-picker/index.cjs +1 -1
  118. package/date-picker/index.js +2 -2
  119. package/date-range-picker/definition.cjs +2 -0
  120. package/date-range-picker/definition.js +2 -0
  121. package/date-range-picker/index.cjs +1 -1
  122. package/date-range-picker/index.js +7 -3
  123. package/date-time-picker/index.cjs +1 -1
  124. package/date-time-picker/index.js +2 -2
  125. package/dial-pad/definition.cjs +148 -0
  126. package/dial-pad/definition.js +148 -0
  127. package/dial-pad/index.cjs +27 -20
  128. package/dial-pad/index.js +202 -101
  129. package/dialog/definition.cjs +1 -0
  130. package/dialog/definition.js +1 -0
  131. package/dialog/index.cjs +1 -1
  132. package/dialog/index.js +1 -0
  133. package/divider/index.cjs +1 -1
  134. package/divider/index.js +1 -1
  135. package/fab/definition.cjs +1 -0
  136. package/fab/definition.js +1 -0
  137. package/fab/index.cjs +1 -1
  138. package/fab/index.js +1 -0
  139. package/file-picker/definition.cjs +7 -2
  140. package/file-picker/definition.js +7 -2
  141. package/file-picker/index.cjs +6 -6
  142. package/file-picker/index.js +82 -73
  143. package/icon/definition.cjs +66 -41
  144. package/icon/definition.js +67 -42
  145. package/index.cjs +21 -0
  146. package/index.js +1 -1
  147. package/lib/color-picker/color-picker.d.ts +390 -12
  148. package/lib/color-picker/locale.d.ts +4 -0
  149. package/lib/data-grid/locale.d.ts +5 -0
  150. package/lib/date-picker/date-picker.d.ts +38 -38
  151. package/lib/date-range-picker/date-range-picker.d.ts +20 -20
  152. package/lib/date-time-picker/date-time-picker.d.ts +40 -40
  153. package/lib/dial-pad/dial-pad.d.ts +1 -0
  154. package/lib/icon/icon.d.ts +1 -1
  155. package/lib/menu/menu.d.ts +4 -4
  156. package/lib/rich-text-editor/definition.d.ts +3 -2
  157. package/lib/rich-text-editor/locale.d.ts +29 -3
  158. package/lib/rich-text-editor/popover.d.ts +19 -0
  159. package/lib/rich-text-editor/rich-text-editor.d.ts +16 -45
  160. package/lib/rich-text-editor/rich-text-editor.template.d.ts +2 -2
  161. package/lib/rich-text-editor/rte/config.d.ts +18 -0
  162. package/lib/rich-text-editor/rte/document.d.ts +28 -0
  163. package/lib/rich-text-editor/rte/exports.d.ts +23 -0
  164. package/lib/rich-text-editor/rte/feature.d.ts +46 -0
  165. package/lib/rich-text-editor/rte/features/internal/basic-text-blocks.d.ts +33 -0
  166. package/lib/rich-text-editor/rte/features/internal/foreign-html.d.ts +11 -0
  167. package/lib/rich-text-editor/rte/features/internal/history.d.ts +10 -0
  168. package/lib/rich-text-editor/rte/features/internal/text-style.d.ts +18 -0
  169. package/lib/rich-text-editor/rte/html-parser.d.ts +24 -0
  170. package/lib/rich-text-editor/rte/html-serializer.d.ts +30 -0
  171. package/lib/rich-text-editor/rte/instance.d.ts +57 -0
  172. package/lib/rich-text-editor/rte/utils/default-textblock.d.ts +2 -0
  173. package/lib/rich-text-editor/rte/utils/impl.d.ts +1 -0
  174. package/lib/rich-text-editor/rte/utils/textblock-attrs.d.ts +29 -0
  175. package/lib/rich-text-editor/rte/utils/textblock-marks.d.ts +10 -0
  176. package/lib/rich-text-editor/rte/utils/ui.d.ts +109 -0
  177. package/lib/simple-color-picker/simple-color-picker.d.ts +6 -5
  178. package/lib/text-area/text-area.d.ts +1 -1
  179. package/lib/text-field/text-field.d.ts +1 -1
  180. package/lib/time-picker/time-picker.d.ts +20 -20
  181. package/lib/toggletip/toggletip.d.ts +4 -4
  182. package/lib/tooltip/tooltip.d.ts +4 -4
  183. package/locales/de-DE.cjs +58 -7
  184. package/locales/de-DE.js +58 -7
  185. package/locales/en-GB.cjs +60 -9
  186. package/locales/en-GB.js +60 -9
  187. package/locales/en-US.cjs +60 -9
  188. package/locales/en-US.js +60 -9
  189. package/locales/ja-JP.cjs +59 -8
  190. package/locales/ja-JP.js +59 -8
  191. package/locales/zh-CN.cjs +58 -7
  192. package/locales/zh-CN.js +58 -7
  193. package/menu/definition.cjs +1 -0
  194. package/menu/definition.js +1 -0
  195. package/number-field/definition.cjs +5 -3
  196. package/number-field/definition.js +5 -3
  197. package/number-field/index.cjs +5 -3
  198. package/number-field/index.js +34 -32
  199. package/option/index.cjs +1 -1
  200. package/option/index.js +1 -1
  201. package/package.json +76 -62
  202. package/pagination/definition.cjs +2 -0
  203. package/pagination/definition.js +2 -0
  204. package/pagination/index.cjs +1 -1
  205. package/pagination/index.js +2 -0
  206. package/progress-ring/index.cjs +1 -1
  207. package/progress-ring/index.js +1 -1
  208. package/radio/definition.cjs +4 -0
  209. package/radio/definition.js +4 -0
  210. package/radio/index.cjs +1 -1
  211. package/radio/index.js +1 -1
  212. package/radio-group/index.cjs +1 -1
  213. package/radio-group/index.js +1 -1
  214. package/range-slider/definition.cjs +2 -1
  215. package/range-slider/definition.js +2 -1
  216. package/range-slider/index.cjs +1 -1
  217. package/range-slider/index.js +3 -1
  218. package/rich-text-editor/definition.cjs +17942 -1074
  219. package/rich-text-editor/definition.js +17926 -1079
  220. package/rich-text-editor/index.cjs +29 -130
  221. package/rich-text-editor/index.js +5565 -2474
  222. package/searchable-select/definition.cjs +6 -2
  223. package/searchable-select/definition.js +6 -2
  224. package/searchable-select/index.cjs +1 -1
  225. package/searchable-select/index.js +14 -10
  226. package/select/definition.cjs +22 -4
  227. package/select/definition.js +22 -4
  228. package/selectable-box/index.cjs +1 -1
  229. package/selectable-box/index.js +1 -1
  230. package/shared/color-picker/base-color-picker.d.ts +2 -1
  231. package/shared/patterns/anchored.d.ts +8 -8
  232. package/shared/patterns/char-count/char-count.d.ts +1 -1
  233. package/shared/patterns/localized.d.ts +386 -0
  234. package/shared/picker-field/mixins/calendar-picker.d.ts +10 -10
  235. package/shared/picker-field/mixins/calendar-picker.template.d.ts +10 -10
  236. package/shared/picker-field/mixins/min-max-calendar-picker.d.ts +20 -20
  237. package/shared/picker-field/mixins/single-date-picker.d.ts +28 -28
  238. package/shared/picker-field/mixins/single-value-picker.d.ts +8 -8
  239. package/shared/picker-field/mixins/time-selection-picker.d.ts +20 -20
  240. package/shared/picker-field/mixins/time-selection-picker.template.d.ts +20 -20
  241. package/shared/utils/promise.d.ts +7 -0
  242. package/simple-color-picker/definition.cjs +11 -6
  243. package/simple-color-picker/definition.js +11 -6
  244. package/simple-color-picker/index.cjs +6 -6
  245. package/simple-color-picker/index.js +44 -39
  246. package/slider/definition.cjs +7 -1
  247. package/slider/definition.js +7 -1
  248. package/styles/core/all.css +5 -1
  249. package/styles/core/theme.css +5 -1
  250. package/styles/core/typography.css +1 -1
  251. package/styles/tokens/theme-dark.css +4 -4
  252. package/styles/tokens/theme-light.css +4 -4
  253. package/styles/tokens/vivid-2-compat.css +1 -1
  254. package/switch/definition.cjs +1 -0
  255. package/switch/definition.js +1 -0
  256. package/switch/index.cjs +1 -1
  257. package/switch/index.js +1 -0
  258. package/tabs/definition.cjs +2 -0
  259. package/tabs/definition.js +2 -0
  260. package/tabs/index.cjs +1 -1
  261. package/tabs/index.js +2 -0
  262. package/tag/definition.cjs +34 -14
  263. package/tag/definition.js +34 -14
  264. package/tag/index.cjs +25 -12
  265. package/tag/index.js +64 -47
  266. package/tag-group/definition.cjs +1 -2
  267. package/tag-group/definition.js +1 -2
  268. package/tag-group/index.cjs +1 -1
  269. package/tag-group/index.js +11 -12
  270. package/text-area/definition.cjs +13 -7
  271. package/text-area/definition.js +13 -7
  272. package/text-area/index.cjs +6 -6
  273. package/text-area/index.js +20 -14
  274. package/text-field/definition.cjs +16 -6
  275. package/text-field/definition.js +16 -6
  276. package/time-picker/index.cjs +1 -1
  277. package/time-picker/index.js +1 -1
  278. package/toggletip/definition.cjs +5 -1
  279. package/toggletip/definition.js +5 -1
  280. package/toggletip/index.cjs +1 -1
  281. package/toggletip/index.js +1 -1
  282. package/tooltip/definition.cjs +6 -3
  283. package/tooltip/definition.js +6 -3
  284. package/tooltip/index.cjs +1 -1
  285. package/tooltip/index.js +1 -1
  286. package/tree-view/definition.cjs +28 -6
  287. package/tree-view/definition.js +28 -6
  288. package/tree-view/index.cjs +1 -1
  289. package/tree-view/index.js +28 -6
  290. package/unbundled/_commonjsHelpers.cjs +0 -26
  291. package/unbundled/_commonjsHelpers.js +1 -26
  292. package/unbundled/attribute-binding-behaviour.cjs +1 -0
  293. package/unbundled/attribute-binding-behaviour.js +1 -0
  294. package/unbundled/base-color-picker.cjs +45 -21
  295. package/unbundled/base-color-picker.js +45 -21
  296. package/unbundled/base-progress.cjs +3 -0
  297. package/unbundled/base-progress.js +3 -0
  298. package/unbundled/button.cjs +14 -10
  299. package/unbundled/button.js +14 -10
  300. package/unbundled/calendar-picker.template.cjs +3 -1
  301. package/unbundled/calendar-picker.template.js +3 -1
  302. package/unbundled/definition.cjs +1 -0
  303. package/unbundled/definition.js +1 -0
  304. package/unbundled/definition2.cjs +4 -1
  305. package/unbundled/definition2.js +4 -1
  306. package/unbundled/definition3.cjs +1 -0
  307. package/unbundled/definition3.js +1 -0
  308. package/unbundled/definition4.cjs +1 -0
  309. package/unbundled/definition4.js +1 -0
  310. package/unbundled/definition5.cjs +3 -2
  311. package/unbundled/definition5.js +4 -3
  312. package/unbundled/delegates-aria.cjs +1 -0
  313. package/unbundled/delegates-aria.js +1 -0
  314. package/unbundled/form-associated.cjs +4 -0
  315. package/unbundled/form-associated.js +4 -0
  316. package/unbundled/listbox.cjs +16 -1
  317. package/unbundled/listbox.js +16 -1
  318. package/unbundled/localized.cjs +36 -0
  319. package/unbundled/localized.js +37 -2
  320. package/unbundled/mixins.cjs +2 -0
  321. package/unbundled/mixins.js +2 -0
  322. package/unbundled/picker-field.template.cjs +3 -35
  323. package/unbundled/picker-field.template.js +3 -34
  324. package/unbundled/scrollIntoView.cjs +1 -0
  325. package/unbundled/scrollIntoView.js +1 -0
  326. package/unbundled/text-field.cjs +1 -1
  327. package/unbundled/text-field.js +1 -1
  328. package/unbundled/time-selection-picker.template.cjs +5 -1
  329. package/unbundled/time-selection-picker.template.js +5 -1
  330. package/unbundled/trapped-focus.cjs +37 -0
  331. package/unbundled/trapped-focus.js +34 -0
  332. package/unbundled/vivid-element.cjs +1 -1
  333. package/unbundled/vivid-element.js +1 -1
  334. package/video-player/definition.cjs +54 -44
  335. package/video-player/definition.js +50 -40
  336. package/video-player/index.cjs +28 -28
  337. package/video-player/index.js +1448 -1442
  338. package/visually-hidden/index.cjs +1 -1
  339. package/visually-hidden/index.js +1 -1
  340. package/vivid.api.json +6463 -6099
  341. package/bundled/_has.cjs +0 -1
  342. package/bundled/_has.js +0 -34
  343. package/lib/rich-text-editor/facades/prose-mirror-vivid.schema.d.ts +0 -4
  344. package/lib/rich-text-editor/facades/vivid-prose-mirror.facade.d.ts +0 -18
  345. package/lib/rich-text-editor/image-placeholder/definition.d.ts +0 -2
  346. package/lib/rich-text-editor/image-placeholder/image-placeholder.d.ts +0 -7
  347. package/lib/rich-text-editor/image-placeholder/image-placeholder.template.d.ts +0 -4
  348. package/lib/rich-text-editor/menubar/consts.d.ts +0 -18
  349. package/lib/rich-text-editor/menubar/definition.d.ts +0 -2
  350. package/lib/rich-text-editor/menubar/menubar.d.ts +0 -386
  351. package/lib/rich-text-editor/menubar/menubar.template.d.ts +0 -4
@@ -0,0 +1,24 @@
1
+ import { type ParseRule, type TagParseRule } from 'prosemirror-model';
2
+ import { type RteConfig } from './config';
3
+ import type { RteDocument, RteFragment } from './document';
4
+ type ParseRules = {
5
+ nodes: {
6
+ [name: string]: TagParseRule[];
7
+ };
8
+ marks: {
9
+ [name: string]: ParseRule[];
10
+ };
11
+ };
12
+ export type RteHtmlParserOptions = {
13
+ modifyParseRules?: (rules: ParseRules) => void;
14
+ };
15
+ type ParseOptions = {
16
+ modifyDom?: (dom: DocumentFragment) => void;
17
+ };
18
+ export declare class RteHtmlParser {
19
+ constructor(config: RteConfig, options?: RteHtmlParserOptions);
20
+ parseDocument(html: string, options?: ParseOptions): RteDocument;
21
+ parseFragment(html: string, options?: ParseOptions): RteFragment;
22
+ private parseHtml;
23
+ }
24
+ export {};
@@ -0,0 +1,30 @@
1
+ import { type DOMOutputSpec, DOMSerializer, type Mark, type Node, type Schema } from 'prosemirror-model';
2
+ import type { RteConfig, RteConfigImpl } from './config';
3
+ import type { RteDocument, RteFragment } from './document';
4
+ type DomSerializers = {
5
+ nodes: {
6
+ [name: string]: (node: Node) => DOMOutputSpec;
7
+ };
8
+ marks: {
9
+ [name: string]: (mark: Mark, inline: boolean) => DOMOutputSpec;
10
+ };
11
+ };
12
+ export type RteHtmlSerializerOptions = {
13
+ serializers?: Partial<DomSerializers>;
14
+ };
15
+ type SerializeOptions = {
16
+ modifyDom?: (dom: DocumentFragment) => void;
17
+ };
18
+ export declare class RteHtmlSerializer {
19
+ constructor(config: RteConfig, options?: RteHtmlSerializerOptions);
20
+ serializeDocument(doc: RteDocument, options?: SerializeOptions): string;
21
+ serializeFragment(fragment: RteFragment, options?: SerializeOptions): string;
22
+ }
23
+ export declare class RteHtmlSerializerImpl {
24
+ protected readonly config: RteConfigImpl;
25
+ serializer: DOMSerializer;
26
+ constructor(config: RteConfigImpl, options?: RteHtmlSerializerOptions);
27
+ static domSerializersFromSchema(schema: Schema): DomSerializers;
28
+ serializeFragment(fragment: RteFragment, options?: SerializeOptions): string;
29
+ }
30
+ export {};
@@ -0,0 +1,57 @@
1
+ import { EditorState } from 'prosemirror-state';
2
+ import { Schema } from 'prosemirror-model';
3
+ import { ElementStyles } from '@microsoft/fast-element';
4
+ import { EditorView } from 'prosemirror-view';
5
+ import type { Constructor } from '../../../shared/utils/mixins';
6
+ import type { Locale } from '../../../shared/localization/Locale';
7
+ import { RteConfig, RteConfigImpl } from './config';
8
+ import { type HostState } from './features/internal/core';
9
+ import { RteFeatureImpl } from './feature';
10
+ import type { RteDocument, RteFragment } from './document';
11
+ import type { TextblockAttrs } from './utils/textblock-attrs';
12
+ import { RteHtmlParser } from './html-parser';
13
+ import { RteHtmlSerializer } from './html-serializer';
14
+ export type RteInstanceOptions = {
15
+ initialDocument?: RteDocument;
16
+ onChange?: () => void;
17
+ foreignHtmlParser?: RteHtmlParser;
18
+ foreignHtmlSerializer?: RteHtmlSerializer;
19
+ };
20
+ export declare class RteInstance {
21
+ readonly options?: RteInstanceOptions | undefined;
22
+ constructor(config: RteConfig, options?: RteInstanceOptions | undefined);
23
+ getDocument(): RteDocument;
24
+ reset(initialDocument?: RteDocument): void;
25
+ replaceSelection(content: RteFragment, options?: {
26
+ cursorPlacement?: 'end' | 'start';
27
+ selectContent?: boolean;
28
+ }): void;
29
+ replaceDocument(newDocument: RteDocument, options?: {
30
+ cursorPlacement?: 'start' | 'end';
31
+ selectContent?: boolean;
32
+ }): void;
33
+ }
34
+ export declare class RteInstanceImpl {
35
+ readonly options?: RteInstanceOptions | undefined;
36
+ state: EditorState;
37
+ readonly config: RteConfigImpl;
38
+ readonly schema: Schema;
39
+ readonly textblockAttrs: TextblockAttrs;
40
+ readonly features: RteFeatureImpl[];
41
+ readonly styles: ElementStyles;
42
+ readonly foreignHtmlParser: RteHtmlParser;
43
+ readonly foreignHtmlSerializer: RteHtmlSerializer;
44
+ getFeature<T extends RteFeatureImpl>(constr: Constructor<T>): T;
45
+ constructor(configFacade: RteConfig, options?: RteInstanceOptions | undefined);
46
+ protected initState(initialDoc?: RteDocument): void;
47
+ reset(initialDocument?: RteDocument): void;
48
+ view: EditorView | null;
49
+ createView(target: HTMLElement): void;
50
+ destroyViewIfNeeded(): void;
51
+ createComponent<T>(type: Constructor<T>): T;
52
+ getLocale(): Locale;
53
+ get tr(): import("prosemirror-state").Transaction;
54
+ dispatchTransaction: (tr: any) => EditorState;
55
+ hostState(): HostState;
56
+ updateHostState(hostState: HostState | null): void;
57
+ }
@@ -0,0 +1,2 @@
1
+ import type { ContentMatch } from 'prosemirror-model';
2
+ export declare function defaultTextblockForMatch(match: ContentMatch): import("prosemirror-model").NodeType;
@@ -0,0 +1 @@
1
+ export declare const impl: unique symbol;
@@ -0,0 +1,29 @@
1
+ import { Node } from 'prosemirror-model';
2
+ export interface TextblockAttrSpec {
3
+ name: string;
4
+ default: any;
5
+ fromDOM: (dom: HTMLElement) => any;
6
+ toStyles: (node: Node) => string[];
7
+ }
8
+ export declare class TextblockAttrs {
9
+ private specs;
10
+ attrs: {
11
+ [key: string]: {
12
+ default: any;
13
+ };
14
+ };
15
+ constructor(specs: TextblockAttrSpec[]);
16
+ fromDOM(dom: HTMLElement): any;
17
+ getStyle(node: Node): string;
18
+ getDOMAttrsProperties(node: Node): {
19
+ style?: undefined;
20
+ } | {
21
+ style: string;
22
+ };
23
+ getDOMAttrs(node: Node): ({
24
+ style?: undefined;
25
+ } | {
26
+ style: string;
27
+ })[];
28
+ extractFromNode(node: Node): any;
29
+ }
@@ -0,0 +1,10 @@
1
+ export interface TextblockMarkSpec {
2
+ markName: string;
3
+ onNodeName?: string;
4
+ }
5
+ export declare class TextblockMarks {
6
+ private specs;
7
+ constructor(specs: TextblockMarkSpec[]);
8
+ getAllowedMarksForNode(nodeName: string): string[];
9
+ getReferencedNodeNames(): Set<string>;
10
+ }
@@ -0,0 +1,109 @@
1
+ import type { EditorView } from 'prosemirror-view';
2
+ import { MarkType } from 'prosemirror-model';
3
+ import { RteInstanceImpl } from '../instance';
4
+ import { MenuItem } from '../../../menu-item/menu-item';
5
+ import { ListboxOption } from '../../../option/option';
6
+ import { Divider } from '../../../divider/divider';
7
+ import { TextField } from '../../../text-field/text-field';
8
+ type Prop<T> = T | ((ctx: UiCtx) => T);
9
+ type Props<T> = {
10
+ [P in keyof T]: Prop<T[P]>;
11
+ };
12
+ type EventBinding = [
13
+ string,
14
+ unknown,
15
+ (value: unknown) => (event: Event) => void
16
+ ];
17
+ type CtxProps = {
18
+ popupPlacement: 'top' | 'bottom';
19
+ };
20
+ export declare class UiCtx {
21
+ readonly view: EditorView;
22
+ readonly rte: RteInstanceImpl;
23
+ readonly props: Props<CtxProps>;
24
+ constructor(view: EditorView, rte: RteInstanceImpl, props: Props<CtxProps>);
25
+ evalProp<T>(prop: Prop<T>): T;
26
+ private bindings;
27
+ bindProp<T>(prop: Prop<T> | undefined, bindFn: (value: T) => void): void;
28
+ updateBindings(): void;
29
+ bindToEl<T extends Node>(target: T, props?: Partial<Props<T>>, events?: EventBinding[], children?: Array<Node>): void;
30
+ }
31
+ export declare const createDiv: (ctx: UiCtx, props: {
32
+ className?: string;
33
+ slot?: string;
34
+ children: Array<Node>;
35
+ }) => HTMLDivElement;
36
+ export declare const createAnchor: (ctx: UiCtx, props: {
37
+ href: Prop<string>;
38
+ target?: string;
39
+ rel?: string;
40
+ className?: string;
41
+ children: Array<Node>;
42
+ }) => HTMLAnchorElement;
43
+ export declare const createOptionalTooltip: (ctx: UiCtx, props: {
44
+ enabled: Prop<boolean>;
45
+ label: Prop<string>;
46
+ anchor: HTMLElement;
47
+ slot?: string;
48
+ }) => HTMLDivElement;
49
+ export declare const createButton: (ctx: UiCtx, props: {
50
+ variant?: Prop<'toolbar' | 'popover' | 'popover-primary'>;
51
+ label: Prop<string>;
52
+ icon?: Prop<string>;
53
+ noTooltip?: boolean;
54
+ autofocus?: Prop<boolean>;
55
+ slot?: string;
56
+ active?: Prop<boolean>;
57
+ disabled?: Prop<boolean>;
58
+ connotation?: Prop<'alert'>;
59
+ onClick?: () => void | boolean;
60
+ }) => HTMLDivElement;
61
+ export declare const createMenu: (ctx: UiCtx, props: {
62
+ label: Prop<string>;
63
+ trigger: HTMLElement;
64
+ children: Array<HTMLElement>;
65
+ }) => DocumentFragment;
66
+ export declare const createMenuItem: (ctx: UiCtx, props: {
67
+ text: Prop<string>;
68
+ checked: Prop<boolean>;
69
+ disabled?: Prop<boolean>;
70
+ onSelect: () => void;
71
+ }) => MenuItem;
72
+ export declare const createButtonGroup: (ctx: UiCtx, props: {
73
+ children: Array<Node>;
74
+ }) => HTMLDivElement;
75
+ export declare const createMarkToggle: (ctx: UiCtx, props: {
76
+ label: Prop<string>;
77
+ icon: string;
78
+ markType: MarkType;
79
+ }) => HTMLDivElement;
80
+ export declare const createOption: (ctx: UiCtx, props: {
81
+ text: Prop<string>;
82
+ value: string;
83
+ disabled?: Prop<boolean>;
84
+ }) => ListboxOption;
85
+ export declare const createSelect: (ctx: UiCtx, props: {
86
+ label: Prop<string>;
87
+ value: Prop<string>;
88
+ children: Array<HTMLElement>;
89
+ onSelect: (value: string) => void;
90
+ }) => HTMLDivElement;
91
+ export declare const createDivider: (ctx: UiCtx) => Divider;
92
+ export declare const createTextField: (ctx: UiCtx, props: {
93
+ label: Prop<string>;
94
+ value: Prop<string>;
95
+ placeholder?: Prop<string> | undefined;
96
+ slot?: string | undefined;
97
+ autofocus?: boolean | undefined;
98
+ type?: "url" | undefined;
99
+ onInput?: ((value: string) => void) | undefined;
100
+ }) => TextField;
101
+ export declare const createText: (ctx: UiCtx, props: {
102
+ text: Prop<string>;
103
+ }) => Text;
104
+ export declare const createSingleSlot: (ctx: UiCtx, props: {
105
+ name: string;
106
+ assignedProps: Record<string, Prop<any>>;
107
+ assignedEvents: Record<string, (e: Event) => void>;
108
+ }) => HTMLSlotElement;
109
+ export {};
@@ -7,10 +7,10 @@ declare const SimpleColorPicker_base: {
7
7
  _slottedAnchor?: HTMLElement[] | undefined;
8
8
  _slottedAnchorChanged(): void;
9
9
  _anchorEl?: HTMLElement | undefined;
10
- "__#9@#updateAnchorEl": () => void;
11
- "__#9@#observer"?: MutationObserver | undefined;
12
- "__#9@#observeMissingAnchor": (anchorId: string) => void;
13
- "__#9@#cleanupObserverIfNeeded": () => void;
10
+ "__#10@#updateAnchorEl": () => void;
11
+ "__#10@#observer"?: MutationObserver | undefined;
12
+ "__#10@#observeMissingAnchor": (anchorId: string) => void;
13
+ "__#10@#cleanupObserverIfNeeded": () => void;
14
14
  connectedCallback(): void;
15
15
  disconnectedCallback(): void;
16
16
  _vividAriaBehaviour: import("../../shared/aria/aria-mixin").VividAriaBehaviour;
@@ -392,6 +392,7 @@ declare const SimpleColorPicker_base: {
392
392
  swatches: import("../../shared/color-picker").ColorSwatch[];
393
393
  connectedCallback(): void;
394
394
  _canvasColor: string;
395
+ readonly _computedCanvasColor: string;
395
396
  _refreshCanvasColor(): void;
396
397
  _applyContrastClass(color: string, threshold?: number): boolean;
397
398
  _getRowLength(): number;
@@ -402,7 +403,7 @@ declare const SimpleColorPicker_base: {
402
403
  _getGridCells(): HTMLElement[];
403
404
  _handleCellKeydown(event: KeyboardEvent, value: string, index: number, isSaveCell?: boolean | undefined): boolean;
404
405
  _focusSwatchByIndex(index: number): void;
405
- _renderColorSwatch(iconTag: import("@microsoft/fast-element").InlineTemplateDirective): import("@microsoft/fast-element").ViewTemplate<import("../../shared/color-picker").ColorSwatch, any>;
406
+ _renderColorSwatch(iconTag: import("@microsoft/fast-element").InlineTemplateDirective, tooltipTag: import("@microsoft/fast-element").InlineTemplateDirective): import("@microsoft/fast-element").ViewTemplate<import("../../shared/color-picker").ColorSwatch, any>;
406
407
  readonly locale: import("../../shared/localization/Locale").Locale;
407
408
  _vividAriaBehaviour: import("../../shared/aria/aria-mixin").VividAriaBehaviour;
408
409
  readonly $fastController: import("@microsoft/fast-element").ElementController<HTMLElement>;
@@ -816,7 +816,7 @@ declare const TextArea_base: {
816
816
  maxlength: number;
817
817
  charCount: boolean;
818
818
  charCountRemaining: HTMLSpanElement;
819
- "__#5@#charCountTimeout": NodeJS.Timeout | null;
819
+ "__#6@#charCountTimeout": NodeJS.Timeout | null;
820
820
  _charCountDescribedBy: string;
821
821
  _renderCharCountRemaining: () => void;
822
822
  _updateCharCountRemaining: () => void;
@@ -824,7 +824,7 @@ declare const TextField_base: {
824
824
  maxlength: number;
825
825
  charCount: boolean;
826
826
  charCountRemaining: HTMLSpanElement;
827
- "__#5@#charCountTimeout": NodeJS.Timeout | null;
827
+ "__#6@#charCountTimeout": NodeJS.Timeout | null;
828
828
  _charCountDescribedBy: string;
829
829
  _renderCharCountRemaining: () => void;
830
830
  _updateCharCountRemaining: () => void;
@@ -13,12 +13,12 @@ declare const TimePicker_base: (abstract new (...args: any[]) => {
13
13
  readonly _displaySeconds: boolean;
14
14
  readonly _use12hClock: boolean;
15
15
  readonly _timePlaceholder: string;
16
- "__#23@#clockChangeHandler": {
16
+ "__#25@#clockChangeHandler": {
17
17
  handleChange: () => void;
18
18
  };
19
- "__#23@#clockChangeObserver": import("@microsoft/fast-element").ExpressionNotifier<any, any, any>;
20
- "__#23@#startObservingClockChanges"(): void;
21
- "__#23@#stopObservingClockChanges"(): void;
19
+ "__#25@#clockChangeObserver": import("@microsoft/fast-element").ExpressionNotifier<any, any, any>;
20
+ "__#25@#startObservingClockChanges"(): void;
21
+ "__#25@#stopObservingClockChanges"(): void;
22
22
  connectedCallback(): void;
23
23
  disconnectedCallback(): void;
24
24
  _onPickerButtonClick(): void;
@@ -40,20 +40,20 @@ declare const TimePicker_base: (abstract new (...args: any[]) => {
40
40
  _textFieldEl: import("../components").VwcTextFieldElement;
41
41
  _dialogEl: HTMLElement;
42
42
  _pickerButtonEl: import("../components").VwcButtonElement;
43
- "__#20@#onFocusIn": () => void;
44
- "__#20@#onFocusOut": () => void;
43
+ "__#22@#onFocusIn": () => void;
44
+ "__#22@#onFocusOut": () => void;
45
45
  proxy: HTMLInputElement;
46
46
  validate(): void;
47
47
  _getCustomValidationError(): string | null;
48
- "__#20@#localeChangeHandler": {
48
+ "__#22@#localeChangeHandler": {
49
49
  handleChange: () => void;
50
50
  };
51
- "__#20@#localeChangeObserver": import("@microsoft/fast-element").ExpressionNotifier<any, any, any>;
52
- "__#20@#startObservingLocaleChanges"(): void;
53
- "__#20@#stopObservingLocaleChanges"(): void;
51
+ "__#22@#localeChangeObserver": import("@microsoft/fast-element").ExpressionNotifier<any, any, any>;
52
+ "__#22@#startObservingLocaleChanges"(): void;
53
+ "__#22@#stopObservingLocaleChanges"(): void;
54
54
  _popupOpen: boolean;
55
- "__#20@#dismissOnClickOutside": (event: MouseEvent) => void;
56
- "__#20@#openPopupIfPossible"(): void;
55
+ "__#22@#dismissOnClickOutside": (event: MouseEvent) => void;
56
+ "__#22@#openPopupIfPossible"(): void;
57
57
  _closePopup(restoreFocusToTextField?: boolean): void;
58
58
  _onBaseKeyDown(event: KeyboardEvent): boolean;
59
59
  _focusableElsWithinDialog(): NodeListOf<HTMLElement>;
@@ -893,20 +893,20 @@ declare const TimePicker_base: (abstract new (...args: any[]) => {
893
893
  _pickerButtonEl: import("../components").VwcButtonElement;
894
894
  connectedCallback(): void;
895
895
  disconnectedCallback(): void;
896
- "__#20@#onFocusIn": () => void;
897
- "__#20@#onFocusOut": () => void;
896
+ "__#22@#onFocusIn": () => void;
897
+ "__#22@#onFocusOut": () => void;
898
898
  proxy: HTMLInputElement;
899
899
  validate(): void;
900
900
  _getCustomValidationError(): string | null;
901
- "__#20@#localeChangeHandler": {
901
+ "__#22@#localeChangeHandler": {
902
902
  handleChange: () => void;
903
903
  };
904
- "__#20@#localeChangeObserver": import("@microsoft/fast-element").ExpressionNotifier<any, any, any>;
905
- "__#20@#startObservingLocaleChanges"(): void;
906
- "__#20@#stopObservingLocaleChanges"(): void;
904
+ "__#22@#localeChangeObserver": import("@microsoft/fast-element").ExpressionNotifier<any, any, any>;
905
+ "__#22@#startObservingLocaleChanges"(): void;
906
+ "__#22@#stopObservingLocaleChanges"(): void;
907
907
  _popupOpen: boolean;
908
- "__#20@#dismissOnClickOutside": (event: MouseEvent) => void;
909
- "__#20@#openPopupIfPossible"(): void;
908
+ "__#22@#dismissOnClickOutside": (event: MouseEvent) => void;
909
+ "__#22@#openPopupIfPossible"(): void;
910
910
  _closePopup(restoreFocusToTextField?: boolean): void;
911
911
  _onBaseKeyDown(event: KeyboardEvent): boolean;
912
912
  _focusableElsWithinDialog(): NodeListOf<HTMLElement>;
@@ -384,10 +384,10 @@ declare const Toggletip_base: {
384
384
  _slottedAnchor?: HTMLElement[] | undefined;
385
385
  _slottedAnchorChanged(): void;
386
386
  _anchorEl?: HTMLElement | undefined;
387
- "__#9@#updateAnchorEl": () => void;
388
- "__#9@#observer"?: MutationObserver | undefined;
389
- "__#9@#observeMissingAnchor": (anchorId: string) => void;
390
- "__#9@#cleanupObserverIfNeeded": () => void;
387
+ "__#10@#updateAnchorEl": () => void;
388
+ "__#10@#observer"?: MutationObserver | undefined;
389
+ "__#10@#observeMissingAnchor": (anchorId: string) => void;
390
+ "__#10@#cleanupObserverIfNeeded": () => void;
391
391
  connectedCallback(): void;
392
392
  disconnectedCallback(): void;
393
393
  _vividAriaBehaviour: import("../../shared/aria/aria-mixin").VividAriaBehaviour;
@@ -7,10 +7,10 @@ declare const Tooltip_base: {
7
7
  _slottedAnchor?: HTMLElement[] | undefined;
8
8
  _slottedAnchorChanged(): void;
9
9
  _anchorEl?: HTMLElement | undefined;
10
- "__#9@#updateAnchorEl": () => void;
11
- "__#9@#observer"?: MutationObserver | undefined;
12
- "__#9@#observeMissingAnchor": (anchorId: string) => void;
13
- "__#9@#cleanupObserverIfNeeded": () => void;
10
+ "__#10@#updateAnchorEl": () => void;
11
+ "__#10@#observer"?: MutationObserver | undefined;
12
+ "__#10@#observeMissingAnchor": (anchorId: string) => void;
13
+ "__#10@#cleanupObserverIfNeeded": () => void;
14
14
  connectedCallback(): void;
15
15
  disconnectedCallback(): void;
16
16
  _vividAriaBehaviour: import("../../shared/aria/aria-mixin").VividAriaBehaviour;
package/locales/de-DE.cjs CHANGED
@@ -406,14 +406,40 @@ const deDE = {
406
406
  )
407
407
  },
408
408
  richTextEditor: {
409
- textBlockType: "Textblocktyp",
409
+ paragraphStyles: "Absatzstile",
410
410
  textSize: "Textgröße",
411
411
  bold: "Fett",
412
- italics: "Kursiv",
412
+ italic: "Kursiv",
413
413
  underline: "Unterstrichen",
414
414
  strikethrough: "Durchgestrichen",
415
415
  monospace: "Monospace",
416
- dragAndDropFilesHere: "Dateien hierher ziehen & ablegen"
416
+ textColor: "Textfarbe",
417
+ undo: "Rückgängig",
418
+ redo: "Wiederholen",
419
+ bulletList: "Aufzählung",
420
+ numberedList: "Nummerierung",
421
+ alignment: "Ausrichtung",
422
+ alignments: {
423
+ left: "Linksbündig",
424
+ center: "Zentriert",
425
+ right: "Rechtsbündig"
426
+ },
427
+ hyperlink: "Hyperlink",
428
+ linkText: "Text",
429
+ linkUrl: "URL",
430
+ linkTextPlaceholder: "Text eingeben, um Link zu erstellen",
431
+ linkUrlPlaceholder: "Link-URL einfügen",
432
+ cancel: "Abbrechen",
433
+ apply: "Anwenden",
434
+ close: "Schließen",
435
+ edit: "Bearbeiten",
436
+ delete: "Löschen",
437
+ clickHere: "Hier klicken",
438
+ imageSizes: {
439
+ small: "Klein",
440
+ fit: "Anpassen",
441
+ original: "Originalgröße"
442
+ }
417
443
  },
418
444
  button: {
419
445
  pendingLabel: "Laden..."
@@ -444,7 +470,19 @@ const deDE = {
444
470
  dataGrid: {
445
471
  cell: {
446
472
  selected: "Ausgewählt",
447
- button: "(Schaltfläche)"
473
+ button: "(Schaltfläche)",
474
+ sortStatus: {
475
+ ascending: "Aufsteigend sortiert.",
476
+ descending: "Absteigend sortiert.",
477
+ none: "Nicht sortiert.",
478
+ other: "Benutzerdefinierte Sortierung aktiv."
479
+ },
480
+ sortInstruction: {
481
+ ascending: "Zum Absteigend sortieren klicken.",
482
+ descending: "Zum Entfernen der Sortierung klicken.",
483
+ none: "Zum Aufsteigend sortieren klicken.",
484
+ other: "Zum Zurücksetzen der Sortierung klicken."
485
+ }
448
486
  }
449
487
  },
450
488
  pagination: {
@@ -482,12 +520,25 @@ const deDE = {
482
520
  },
483
521
  colorPicker: {
484
522
  popupLabel: "Farbwähler",
485
- swatchesLabel: "Gespeicherte Farben:",
486
- pickerButtonLabel: "Farbwähler öffnen",
523
+ swatchesLabel: "Gespeicherte Farben",
524
+ pickerButtonLabel: "Farbwähler",
525
+ hexInputLabel: "HEX-Farbcode",
487
526
  saveButtonLabel: "Aktuelle Farbe speichern",
488
527
  closeButtonLabel: "Farbwähler schließen",
489
528
  copyButtonLabel: "Farbe in die Zwischenablage kopieren",
490
- copyErrorText: "Kopieren fehlgeschlagen. Zugriff auf die Zwischenablage wurde blockiert. Versuchen Sie es erneut."
529
+ copyErrorText: "Kopieren fehlgeschlagen. Zugriff auf die Zwischenablage wurde blockiert. Versuchen Sie es erneut.",
530
+ copySuccessMessage: (
531
+ /* istanbul ignore next */
532
+ (value) => `Farbe ${value} in die Zwischenablage kopiert.`
533
+ ),
534
+ selectionSuccessMessage: (
535
+ /* istanbul ignore next */
536
+ (value) => `Farbe ${value} ausgewählt.`
537
+ ),
538
+ maxSwatchesMessage: (
539
+ /* istanbul ignore next */
540
+ (total, limit) => `${total} von ${limit} Farben gespeichert.`
541
+ )
491
542
  }
492
543
  };
493
544
 
package/locales/de-DE.js CHANGED
@@ -404,14 +404,40 @@ const deDE = {
404
404
  )
405
405
  },
406
406
  richTextEditor: {
407
- textBlockType: "Textblocktyp",
407
+ paragraphStyles: "Absatzstile",
408
408
  textSize: "Textgröße",
409
409
  bold: "Fett",
410
- italics: "Kursiv",
410
+ italic: "Kursiv",
411
411
  underline: "Unterstrichen",
412
412
  strikethrough: "Durchgestrichen",
413
413
  monospace: "Monospace",
414
- dragAndDropFilesHere: "Dateien hierher ziehen & ablegen"
414
+ textColor: "Textfarbe",
415
+ undo: "Rückgängig",
416
+ redo: "Wiederholen",
417
+ bulletList: "Aufzählung",
418
+ numberedList: "Nummerierung",
419
+ alignment: "Ausrichtung",
420
+ alignments: {
421
+ left: "Linksbündig",
422
+ center: "Zentriert",
423
+ right: "Rechtsbündig"
424
+ },
425
+ hyperlink: "Hyperlink",
426
+ linkText: "Text",
427
+ linkUrl: "URL",
428
+ linkTextPlaceholder: "Text eingeben, um Link zu erstellen",
429
+ linkUrlPlaceholder: "Link-URL einfügen",
430
+ cancel: "Abbrechen",
431
+ apply: "Anwenden",
432
+ close: "Schließen",
433
+ edit: "Bearbeiten",
434
+ delete: "Löschen",
435
+ clickHere: "Hier klicken",
436
+ imageSizes: {
437
+ small: "Klein",
438
+ fit: "Anpassen",
439
+ original: "Originalgröße"
440
+ }
415
441
  },
416
442
  button: {
417
443
  pendingLabel: "Laden..."
@@ -442,7 +468,19 @@ const deDE = {
442
468
  dataGrid: {
443
469
  cell: {
444
470
  selected: "Ausgewählt",
445
- button: "(Schaltfläche)"
471
+ button: "(Schaltfläche)",
472
+ sortStatus: {
473
+ ascending: "Aufsteigend sortiert.",
474
+ descending: "Absteigend sortiert.",
475
+ none: "Nicht sortiert.",
476
+ other: "Benutzerdefinierte Sortierung aktiv."
477
+ },
478
+ sortInstruction: {
479
+ ascending: "Zum Absteigend sortieren klicken.",
480
+ descending: "Zum Entfernen der Sortierung klicken.",
481
+ none: "Zum Aufsteigend sortieren klicken.",
482
+ other: "Zum Zurücksetzen der Sortierung klicken."
483
+ }
446
484
  }
447
485
  },
448
486
  pagination: {
@@ -480,12 +518,25 @@ const deDE = {
480
518
  },
481
519
  colorPicker: {
482
520
  popupLabel: "Farbwähler",
483
- swatchesLabel: "Gespeicherte Farben:",
484
- pickerButtonLabel: "Farbwähler öffnen",
521
+ swatchesLabel: "Gespeicherte Farben",
522
+ pickerButtonLabel: "Farbwähler",
523
+ hexInputLabel: "HEX-Farbcode",
485
524
  saveButtonLabel: "Aktuelle Farbe speichern",
486
525
  closeButtonLabel: "Farbwähler schließen",
487
526
  copyButtonLabel: "Farbe in die Zwischenablage kopieren",
488
- copyErrorText: "Kopieren fehlgeschlagen. Zugriff auf die Zwischenablage wurde blockiert. Versuchen Sie es erneut."
527
+ copyErrorText: "Kopieren fehlgeschlagen. Zugriff auf die Zwischenablage wurde blockiert. Versuchen Sie es erneut.",
528
+ copySuccessMessage: (
529
+ /* istanbul ignore next */
530
+ (value) => `Farbe ${value} in die Zwischenablage kopiert.`
531
+ ),
532
+ selectionSuccessMessage: (
533
+ /* istanbul ignore next */
534
+ (value) => `Farbe ${value} ausgewählt.`
535
+ ),
536
+ maxSwatchesMessage: (
537
+ /* istanbul ignore next */
538
+ (total, limit) => `${total} von ${limit} Farben gespeichert.`
539
+ )
489
540
  }
490
541
  };
491
542