@seamly/web-ui 18.3.0-beta.1 → 19.0.0-beta.2

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 (106) hide show
  1. package/build/dist/lib/index.debug.js +348 -73
  2. package/build/dist/lib/index.debug.min.js +1 -1
  3. package/build/dist/lib/index.debug.min.js.LICENSE.txt +108 -8
  4. package/build/dist/lib/index.js +5247 -5187
  5. package/build/dist/lib/index.min.js +1 -1
  6. package/build/dist/lib/index.min.js.LICENSE.txt +1 -1
  7. package/build/dist/lib/standalone.js +2334 -2225
  8. package/build/dist/lib/standalone.min.js +1 -1
  9. package/build/dist/lib/standalone.min.js.LICENSE.txt +1 -1
  10. package/build/dist/lib/style-guide.js +1480 -796
  11. package/build/dist/lib/style-guide.min.js +1 -1
  12. package/build/dist/lib/styles.css +1 -1
  13. package/package.json +27 -28
  14. package/src/javascripts/api/index.js +25 -40
  15. package/src/javascripts/api/producer.js +3 -6
  16. package/src/javascripts/config.js +3 -3
  17. package/src/javascripts/domains/app/actions.js +24 -6
  18. package/src/javascripts/domains/app/hooks.js +6 -0
  19. package/src/javascripts/domains/app/index.js +3 -0
  20. package/src/javascripts/domains/app/reducer.js +16 -0
  21. package/src/javascripts/domains/app/selectors.js +8 -0
  22. package/src/javascripts/domains/app/utils.js +4 -0
  23. package/src/javascripts/domains/config/actions.js +1 -3
  24. package/src/javascripts/domains/config/middleware.js +0 -4
  25. package/src/javascripts/domains/config/reducer.js +2 -13
  26. package/src/javascripts/domains/config/selectors.js +3 -3
  27. package/src/javascripts/domains/config/utils.js +4 -0
  28. package/src/javascripts/domains/forms/actions.js +1 -3
  29. package/src/javascripts/domains/forms/reducer.js +1 -2
  30. package/src/javascripts/domains/forms/selectors.js +2 -2
  31. package/src/javascripts/domains/forms/utils.js +5 -0
  32. package/src/javascripts/domains/i18n/actions.js +35 -0
  33. package/src/javascripts/domains/i18n/hooks.js +38 -0
  34. package/src/javascripts/domains/i18n/index.js +5 -84
  35. package/src/javascripts/domains/i18n/reducer.js +58 -0
  36. package/src/javascripts/domains/i18n/selectors.js +15 -0
  37. package/src/javascripts/domains/i18n/utils.js +9 -0
  38. package/src/javascripts/domains/interrupt/actions.js +1 -3
  39. package/src/javascripts/domains/interrupt/reducer.js +1 -2
  40. package/src/javascripts/domains/interrupt/selectors.js +3 -2
  41. package/src/javascripts/domains/interrupt/utils.js +4 -0
  42. package/src/javascripts/domains/redux/hooks.js +1 -0
  43. package/src/javascripts/domains/store/index.js +7 -1
  44. package/src/javascripts/domains/translations/actions.js +1 -3
  45. package/src/javascripts/domains/translations/components/chat-status.js +1 -1
  46. package/src/javascripts/domains/translations/components/options-dialog/form.js +11 -6
  47. package/src/javascripts/domains/translations/index.js +1 -0
  48. package/src/javascripts/domains/translations/middleware.js +43 -0
  49. package/src/javascripts/domains/translations/reducer.js +2 -9
  50. package/src/javascripts/domains/translations/selectors.js +2 -2
  51. package/src/javascripts/domains/translations/utils.js +4 -0
  52. package/src/javascripts/index.js +3 -0
  53. package/src/javascripts/lib/engine/index.js +1 -0
  54. package/src/javascripts/lib/mutex.js +30 -0
  55. package/src/javascripts/lib/redux-helpers/index.js +11 -8
  56. package/src/javascripts/style-guide/components/app.js +7 -2
  57. package/src/javascripts/style-guide/components/static-core.js +9 -3
  58. package/src/javascripts/style-guide/states.js +8 -8
  59. package/src/javascripts/style-guide/style-guide-engine.js +14 -11
  60. package/src/javascripts/ui/components/conversation/event/divider/variants/new-translation.js +1 -1
  61. package/src/javascripts/ui/components/conversation/event/upload.js +2 -2
  62. package/src/javascripts/ui/components/core/seamly-activity-monitor.js +2 -0
  63. package/src/javascripts/ui/components/core/seamly-event-subscriber.js +2 -0
  64. package/src/javascripts/ui/components/core/seamly-instance-functions-loader.js +1 -7
  65. package/src/javascripts/ui/components/core/seamly-new-notifications.js +5 -6
  66. package/src/javascripts/ui/components/core/seamly-read-state.js +6 -4
  67. package/src/javascripts/ui/components/entry/text-entry/hooks.js +6 -4
  68. package/src/javascripts/ui/components/entry/text-entry/text-entry-form.js +10 -3
  69. package/src/javascripts/ui/components/entry/upload/file-upload-form.js +6 -3
  70. package/src/javascripts/ui/components/entry/upload/index.js +8 -3
  71. package/src/javascripts/ui/components/faq/faq.js +2 -2
  72. package/src/javascripts/ui/components/layout/app-frame.js +11 -8
  73. package/src/javascripts/ui/components/layout/interrupt.js +6 -2
  74. package/src/javascripts/ui/components/warnings/resume-conversation-prompt.js +1 -1
  75. package/src/javascripts/ui/components/widgets/upload-progress.js +1 -1
  76. package/src/javascripts/ui/hooks/seamly-api-hooks.js +0 -6
  77. package/src/javascripts/ui/hooks/seamly-entry-hooks.js +17 -21
  78. package/src/javascripts/ui/hooks/seamly-hooks.js +0 -1
  79. package/src/javascripts/ui/hooks/use-seamly-commands.js +5 -6
  80. package/src/javascripts/ui/hooks/use-seamly-visibility.js +3 -5
  81. package/src/javascripts/ui/hooks/use-single-file-upload.js +4 -1
  82. package/src/javascripts/ui/utils/general-utils.js +6 -13
  83. package/src/stylesheets/1-settings/_config.scss +2 -1
  84. package/src/stylesheets/3-app/_app.scss +3 -4
  85. package/src/stylesheets/5-components/_faq.scss +3 -8
  86. package/src/stylesheets/5-components/_modal.scss +3 -3
  87. package/webpack/config.package.js +0 -18
  88. package/webpack/config.site.js +6 -0
  89. package/webpack/defaults.js +0 -3
  90. package/CHANGELOG.md +0 -572
  91. package/build/dist/translations/de-informal.js +0 -274
  92. package/build/dist/translations/de-informal.min.js +0 -1
  93. package/build/dist/translations/en.js +0 -274
  94. package/build/dist/translations/en.min.js +0 -1
  95. package/build/dist/translations/es-informal.js +0 -280
  96. package/build/dist/translations/es-informal.min.js +0 -1
  97. package/build/dist/translations/nl-formal.js +0 -274
  98. package/build/dist/translations/nl-formal.min.js +0 -1
  99. package/build/dist/translations/nl-informal.js +0 -274
  100. package/build/dist/translations/nl-informal.min.js +0 -1
  101. package/src/javascripts/lib/i18n.js +0 -46
  102. package/translations/de-informal.js +0 -235
  103. package/translations/en.js +0 -232
  104. package/translations/es-informal.js +0 -241
  105. package/translations/nl-formal.js +0 -228
  106. package/translations/nl-informal.js +0 -228
@@ -1,274 +0,0 @@
1
- /******/ (() => { // webpackBootstrap
2
- /******/ "use strict";
3
- /******/ // The require scope
4
- /******/ var __webpack_require__ = {};
5
- /******/
6
- /************************************************************************/
7
- /******/ /* webpack/runtime/define property getters */
8
- /******/ (() => {
9
- /******/ // define getter functions for harmony exports
10
- /******/ __webpack_require__.d = (exports, definition) => {
11
- /******/ for(var key in definition) {
12
- /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
13
- /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
14
- /******/ }
15
- /******/ }
16
- /******/ };
17
- /******/ })();
18
- /******/
19
- /******/ /* webpack/runtime/hasOwnProperty shorthand */
20
- /******/ (() => {
21
- /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
22
- /******/ })();
23
- /******/
24
- /******/ /* webpack/runtime/make namespace object */
25
- /******/ (() => {
26
- /******/ // define __esModule on exports
27
- /******/ __webpack_require__.r = (exports) => {
28
- /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
29
- /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
30
- /******/ }
31
- /******/ Object.defineProperty(exports, '__esModule', { value: true });
32
- /******/ };
33
- /******/ })();
34
- /******/
35
- /************************************************************************/
36
- var __webpack_exports__ = {};
37
- __webpack_require__.r(__webpack_exports__);
38
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
39
- /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
40
- /* harmony export */ });
41
- // Please note: All texts containing the string 'srText' are short for
42
- // Screen Reader Text. These texts are invisible on screen but broadcast
43
- // to screen readers. Avoid undue verbosity, but ensure that a user who cannot
44
- // see the screen will get both the message content as well as the context
45
- // in which the message occurred if not already clear from the current
46
- // position of the keyboard focus.
47
- // Example: An error occurs in the chat window and this error has an 'srText'
48
- // entry. Because the error could occur while the user is NOT chatting in the window,
49
- // add context such as "Something went wrong with the chat session" as just saying
50
- // "Something went wrong" would not be clear enough for users who cannot see the
51
- // source of the error on screen.
52
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
53
- 'carousel.controls.next': 'Volgende',
54
- 'carousel.controls.previous': 'Vorige',
55
- 'carousel.slide.label': ({
56
- index,
57
- total
58
- }) => `${index} van ${total}`,
59
- 'dateTime.srText': ({
60
- date,
61
- time
62
- }) => `Berichten vanaf ${date} om ${time}:`,
63
- 'dateTime.today': 'Vandaag',
64
- 'dateTime.yesterday': 'Gisteren',
65
- 'disclaimer.content': 'Deze chatsessie wordt opgeslagen ter verbetering van onze dienstverlening.',
66
- 'disclaimer.title': 'Privacy disclaimer',
67
- 'dividerKeys.newTopic': 'Nieuw onderwerp gestart.',
68
- 'errors.configError.message': 'Het spijt ons dat dit is gebeurd. Probeer het later opnieuw.',
69
- 'errors.configError.srText': 'Er vond een chat configuratiefout plaats. Onze excuses, probeer het later nogmaals.',
70
- 'errors.configError.title': 'Chat configuratiefout.',
71
- 'errors.general.buttonText': 'Herstart chat',
72
- 'errors.general.message': 'Wil je een nieuwe chatsessie starten?',
73
- 'errors.general.srText': 'Er is iets mis gegaan met de chatsessie. Je kunt de chat herstarten.',
74
- 'errors.general.title': 'Er ging iets mis...',
75
- 'errors.seamlyOffline.message': 'Er is mogelijk een probleem met je internetverbinding. De chatsessie wordt hervat als de verbinding weer beschikbaar is.',
76
- 'errors.seamlyOffline.srText': 'De chat heeft verbindingsproblemen. Er is mogelijk een probleem met je internetverbinding. De chatsessie wordt hervat als de verbinding weer beschikbaar is.',
77
- 'errors.seamlyOffline.title': 'Verbindingsproblemen',
78
- 'faq.headingText': 'Onderwerpsuggesties',
79
- 'faq.srAvailableText': 'Onderwerpsuggesties zijn beschikbaar in de chat.',
80
- 'faq.srUnavailableText': 'Onderwerpsuggesties zijn niet meer beschikbaar in de chat',
81
- 'faq.srUpdatedText': 'Er zijn nieuwe onderwerpsuggesties in de chat.',
82
- 'fileUpload.cancelButtonText': 'Uploaden annuleren',
83
- 'fileUpload.contentHint': size => `Selecteer een bestand van maximaal ${size}`,
84
- 'fileUpload.errors.general': 'Er is iets foutgegaan met het uploaden. Annuleer de upload en probeer het opnieuw.',
85
- 'fileUpload.errors.noFile': 'Kies een bestand om te uploaden',
86
- 'fileUpload.errors.tooLarge': 'Het gekozen bestand is te groot, kies een kleiner bestand',
87
- 'fileUpload.errors.unavailable': 'Bestanden uploaden is op dit moment niet mogelijk. Annuleer de upload en probeer het later opnieuw.',
88
- 'fileUpload.errors.virusFound': 'Het gekozen bestand is onveilig, kies een ander bestand.',
89
- 'fileUpload.errors.wrongType': 'Het geselecteerde bestandstype wordt niet ondersteund. Annuleer de upload en selecteer een ander bestand.',
90
- 'fileUpload.fileUnavailableText': 'Deze downloadlink is verlopen',
91
- 'fileUpload.labelText': 'Kies een bestand',
92
- 'fileUpload.selectedText': fileName => {
93
- if (fileName) {
94
- return fileName;
95
- } else {
96
- return 'Geen bestand geselecteerd';
97
- }
98
- },
99
- 'fileUpload.srAvailableText': 'Uploaden van bestanden in de chat is nu mogelijk.',
100
- 'fileUpload.srCompleteText': 'Upload voltooid.',
101
- 'fileUpload.srFileUploadedText': fileName => `Geüpload bestand ${fileName}.`,
102
- 'fileUpload.srFileDownloadText': fileName => `Download bestand ${fileName}.`,
103
- 'fileUpload.srProgressLabel': fileName => `Uploadvoortgang van ${fileName}`,
104
- 'fileUpload.srStartedText': 'Upload begonnen.',
105
- 'fileUpload.srUnavailableText': 'Uploaden van bestanden in de chat is nu niet meer mogelijk.',
106
- 'fileUpload.toggleButtonText': 'Bestanden uploaden',
107
- 'fileUpload.uploadButtonText': 'Bestand uploaden',
108
- 'header.collapseApp': 'Klap chat in',
109
- 'header.title': 'Je spreekt nu met',
110
- 'idleDetachWarning.continueButton': 'Doorgaan met gesprek',
111
- 'idleDetachWarning.countdownText': 'Het gesprek wordt beëindigd over:',
112
- 'idleDetachWarning.countdownTimer': ({
113
- minutes,
114
- seconds
115
- }) => {
116
- switch (minutes) {
117
- case 1:
118
- switch (seconds) {
119
- case 1:
120
- return '1 minuut, 1 seconde';
121
-
122
- case 0:
123
- return '1 minuut';
124
-
125
- default:
126
- return `1 minuut, ${seconds} seconden`;
127
- }
128
-
129
- case 0:
130
- switch (seconds) {
131
- case 1:
132
- return '1 seconde';
133
-
134
- case 0:
135
- default:
136
- return `${seconds} seconden`;
137
- }
138
-
139
- default:
140
- switch (seconds) {
141
- case 1:
142
- return `${minutes} minuten, 1 seconde`;
143
-
144
- case 0:
145
- return `${minutes} minuten`;
146
-
147
- default:
148
- return `${minutes} minuten, ${seconds} seconden`;
149
- }
150
-
151
- }
152
- },
153
- 'idleDetachWarning.countdownTitle': 'Ben je er nog?',
154
- 'idleDetachWarning.detachButton': 'Gesprek beëindigen',
155
- 'idleDetachWarning.notifyTransferText': 'Het gesprek wordt beëindigd.',
156
- 'idleDetachWarning.srCountDownStoppedText': 'Automatische gespreks beëindiging geannuleerd. Welkom terug!',
157
- 'info.cobrowsing.cobrowsingEnded': 'Scherm delen is beëindigd',
158
- 'info.cobrowsing.cobrowsingStarted': 'Scherm delen is nu ingeschakeld. De medewerker kan de pagina zien waarop je je momenteel bevindt',
159
- 'info.sendTranscript.accepted': ({
160
- emailAddress
161
- }) => `Het chatgesprek wordt per e-mail verstuurd naar ${emailAddress}`,
162
- 'input.inputLabel': limit => {
163
- if (limit) {
164
- return `Jouw bericht (max. ${limit} tekens)`;
165
- }
166
-
167
- return 'Jouw bericht';
168
- },
169
- 'input.inputPlaceholder': limit => {
170
- if (limit) {
171
- return `Jouw bericht (max. ${limit} tekens)`;
172
- }
173
-
174
- return 'Jouw bericht';
175
- },
176
- 'input.sendMessage': 'Stuur',
177
- 'input.srCharacterLimitText': limit => {
178
- switch (limit) {
179
- case 1:
180
- return '1 teken resterend.';
181
-
182
- case 0:
183
- default:
184
- return `${limit} tekens resterend.`;
185
- }
186
- },
187
- 'lightbox.closeLabel': 'Sluiten',
188
- 'lightbox.heading': 'Vergrote chatafbeelding',
189
- 'message.choicePrompts.cancelChooseAgain': 'Kies opnieuw annuleren',
190
- 'message.choicePrompts.chooseAgain': 'Kies opnieuw',
191
- 'message.image.srTextEnlargeButtonLabel': ({
192
- description
193
- }) => `Vergroot ${description}`,
194
- 'message.srNewEventCount': ({
195
- newCount
196
- }) => {
197
- switch (newCount) {
198
- case 1:
199
- return `Er is 1 nieuw chatbericht.`;
200
-
201
- case 0:
202
- default:
203
- return `Er zijn ${newCount} nieuwe chatberichten.`;
204
- }
205
- },
206
- 'message.srTextUnreadCount': ({
207
- unreadCount
208
- }) => {
209
- switch (unreadCount) {
210
- case 1:
211
- return `Er is 1 nieuw ongelezen chatbericht.`;
212
-
213
- case 0:
214
- default:
215
- return `Er zijn ${unreadCount} nieuwe ongelezen chatberichten.`;
216
- }
217
- },
218
- 'options.cancelButtonText': 'Annuleren',
219
- 'options.cobrowsing.cobrowsingActiveText': 'Scherm delen actief',
220
- 'options.cobrowsing.cobrowsingUnavailable': 'Het delen van je scherm is nu niet mogelijk.',
221
- 'options.cobrowsing.description': 'Dit zorgt ervoor dat de medewerker je huidige pagina kan zien. Er wordt verder niks gedeeld',
222
- 'options.cobrowsing.labelTurnOff': 'Scherm delen uitzetten',
223
- 'options.cobrowsing.labelTurnOn': 'Scherm delen aanzetten',
224
- 'options.cobrowsing.menuTitle': 'Scherm delen',
225
- 'options.cobrowsing.srCobrowsingAvailable': 'Je kan je scherm nu delen.',
226
- 'options.cobrowsing.srStartedCobrowsingText': 'Scherm delen is aangezet.',
227
- 'options.cobrowsing.srStopCobrowsingText': 'Stop scherm delen',
228
- 'options.cobrowsing.srStoppedCobrowsingText': 'Scherm delen is gestopt',
229
- 'options.cobrowsing.stopCobrowsingText': 'Stop',
230
- 'options.cobrowsing.title': 'Scherm delen',
231
- 'options.openButtonText': 'Opties',
232
- 'options.saveButtonText': 'Opslaan',
233
- 'options.sendTranscript.description': 'Voer het e-mailadres in waarop je het chatgesprek wilt ontvangen.',
234
- 'options.sendTranscript.invalidEmailText': 'Voer een geldig e-mailadres in',
235
- 'options.sendTranscript.label': 'E-mailadres',
236
- 'options.sendTranscript.menuTitle': 'Verstuur gesprek',
237
- 'options.sendTranscript.noEmailText': 'Voer een e-mailadres in',
238
- 'options.sendTranscript.sendButtonText': 'Verstuur',
239
- 'options.sendTranscript.title': 'Verstuur chatgesprek',
240
- 'options.unavailableText': 'niet beschikbaar',
241
- 'resumeConversationPrompt.continueButton': 'Doorgaan met gesprek',
242
- 'resumeConversationPrompt.detachButton': 'Stel een nieuwe vraag',
243
- 'resumeConversationPrompt.title': name => `Wil je doorgaan met het gesprek met ${name}?`,
244
- skiplinkText: 'Naar invoerbalk',
245
- 'toggleButton.resumeTitle': 'Hervat chat met',
246
- 'toggleButton.subtitle': 'Start een chat met ons',
247
- 'toggleButton.title': 'Heb je een vraag?',
248
- 'translations.divider.restartButtonText': 'Start opnieuw',
249
- 'translations.divider.startText': language => `Vertaling naar ${language}`,
250
- 'translations.divider.stopText': language => `Vertaling naar ${language} beëindigd`,
251
- 'translations.settings.cancelButtonText': 'Annuleren',
252
- 'translations.settings.currentTranslationLabel': 'Momenteel wordt vertaald naar',
253
- 'translations.settings.defaultOptionLabel': 'Kies een taal',
254
- 'translations.settings.description': 'Automatische vertalingen kunnen fouten bevatten.',
255
- 'translations.settings.endButtonText': 'Stop vertaling',
256
- 'translations.settings.inputLabel': 'Vertalen naar',
257
- 'translations.settings.noLocaleText': 'Kies een taal om naar te vertalen',
258
- 'translations.settings.openButtonText': 'Vertaling',
259
- 'translations.settings.startButtonText': 'Start vertaling',
260
- 'translations.settings.title': 'Vertaling',
261
- 'translations.status.label': language => `Vertaling naar ${language}`,
262
- 'translations.status.srStopText': 'Stop vertaling',
263
- 'translations.status.stopText': 'Stop',
264
- 'translations.toggle.hideButtonText': 'Toon origineel',
265
- 'translations.toggle.showButtonText': 'Toon vertaling',
266
- 'window.srModalLayoutLabel': 'Chatvenster',
267
- 'window.srTexts.onClose': 'De chat is gesloten.',
268
- 'window.srTexts.onHistoryLoad': 'Chat geschiedenis is geladen.',
269
- 'window.srTexts.onLoad': 'Chat is beschikbaar op deze pagina.',
270
- 'window.srTexts.onOpen': 'De chat is geopend.'
271
- });
272
- module.exports = __webpack_exports__;
273
- /******/ })()
274
- ;
@@ -1 +0,0 @@
1
- (()=>{"use strict";var e={d:(t,n)=>{for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{default:()=>n});const n={"carousel.controls.next":"Volgende","carousel.controls.previous":"Vorige","carousel.slide.label":({index:e,total:t})=>`${e} van ${t}`,"dateTime.srText":({date:e,time:t})=>`Berichten vanaf ${e} om ${t}:`,"dateTime.today":"Vandaag","dateTime.yesterday":"Gisteren","disclaimer.content":"Deze chatsessie wordt opgeslagen ter verbetering van onze dienstverlening.","disclaimer.title":"Privacy disclaimer","dividerKeys.newTopic":"Nieuw onderwerp gestart.","errors.configError.message":"Het spijt ons dat dit is gebeurd. Probeer het later opnieuw.","errors.configError.srText":"Er vond een chat configuratiefout plaats. Onze excuses, probeer het later nogmaals.","errors.configError.title":"Chat configuratiefout.","errors.general.buttonText":"Herstart chat","errors.general.message":"Wil je een nieuwe chatsessie starten?","errors.general.srText":"Er is iets mis gegaan met de chatsessie. Je kunt de chat herstarten.","errors.general.title":"Er ging iets mis...","errors.seamlyOffline.message":"Er is mogelijk een probleem met je internetverbinding. De chatsessie wordt hervat als de verbinding weer beschikbaar is.","errors.seamlyOffline.srText":"De chat heeft verbindingsproblemen. Er is mogelijk een probleem met je internetverbinding. De chatsessie wordt hervat als de verbinding weer beschikbaar is.","errors.seamlyOffline.title":"Verbindingsproblemen","faq.headingText":"Onderwerpsuggesties","faq.srAvailableText":"Onderwerpsuggesties zijn beschikbaar in de chat.","faq.srUnavailableText":"Onderwerpsuggesties zijn niet meer beschikbaar in de chat","faq.srUpdatedText":"Er zijn nieuwe onderwerpsuggesties in de chat.","fileUpload.cancelButtonText":"Uploaden annuleren","fileUpload.contentHint":e=>`Selecteer een bestand van maximaal ${e}`,"fileUpload.errors.general":"Er is iets foutgegaan met het uploaden. Annuleer de upload en probeer het opnieuw.","fileUpload.errors.noFile":"Kies een bestand om te uploaden","fileUpload.errors.tooLarge":"Het gekozen bestand is te groot, kies een kleiner bestand","fileUpload.errors.unavailable":"Bestanden uploaden is op dit moment niet mogelijk. Annuleer de upload en probeer het later opnieuw.","fileUpload.errors.virusFound":"Het gekozen bestand is onveilig, kies een ander bestand.","fileUpload.errors.wrongType":"Het geselecteerde bestandstype wordt niet ondersteund. Annuleer de upload en selecteer een ander bestand.","fileUpload.fileUnavailableText":"Deze downloadlink is verlopen","fileUpload.labelText":"Kies een bestand","fileUpload.selectedText":e=>e||"Geen bestand geselecteerd","fileUpload.srAvailableText":"Uploaden van bestanden in de chat is nu mogelijk.","fileUpload.srCompleteText":"Upload voltooid.","fileUpload.srFileUploadedText":e=>`Geüpload bestand ${e}.`,"fileUpload.srFileDownloadText":e=>`Download bestand ${e}.`,"fileUpload.srProgressLabel":e=>`Uploadvoortgang van ${e}`,"fileUpload.srStartedText":"Upload begonnen.","fileUpload.srUnavailableText":"Uploaden van bestanden in de chat is nu niet meer mogelijk.","fileUpload.toggleButtonText":"Bestanden uploaden","fileUpload.uploadButtonText":"Bestand uploaden","header.collapseApp":"Klap chat in","header.title":"Je spreekt nu met","idleDetachWarning.continueButton":"Doorgaan met gesprek","idleDetachWarning.countdownText":"Het gesprek wordt beëindigd over:","idleDetachWarning.countdownTimer":({minutes:e,seconds:t})=>{switch(e){case 1:switch(t){case 1:return"1 minuut, 1 seconde";case 0:return"1 minuut";default:return`1 minuut, ${t} seconden`}case 0:switch(t){case 1:return"1 seconde";case 0:default:return`${t} seconden`}default:switch(t){case 1:return`${e} minuten, 1 seconde`;case 0:return`${e} minuten`;default:return`${e} minuten, ${t} seconden`}}},"idleDetachWarning.countdownTitle":"Ben je er nog?","idleDetachWarning.detachButton":"Gesprek beëindigen","idleDetachWarning.notifyTransferText":"Het gesprek wordt beëindigd.","idleDetachWarning.srCountDownStoppedText":"Automatische gespreks beëindiging geannuleerd. Welkom terug!","info.cobrowsing.cobrowsingEnded":"Scherm delen is beëindigd","info.cobrowsing.cobrowsingStarted":"Scherm delen is nu ingeschakeld. De medewerker kan de pagina zien waarop je je momenteel bevindt","info.sendTranscript.accepted":({emailAddress:e})=>`Het chatgesprek wordt per e-mail verstuurd naar ${e}`,"input.inputLabel":e=>e?`Jouw bericht (max. ${e} tekens)`:"Jouw bericht","input.inputPlaceholder":e=>e?`Jouw bericht (max. ${e} tekens)`:"Jouw bericht","input.sendMessage":"Stuur","input.srCharacterLimitText":e=>{switch(e){case 1:return"1 teken resterend.";case 0:default:return`${e} tekens resterend.`}},"lightbox.closeLabel":"Sluiten","lightbox.heading":"Vergrote chatafbeelding","message.choicePrompts.cancelChooseAgain":"Kies opnieuw annuleren","message.choicePrompts.chooseAgain":"Kies opnieuw","message.image.srTextEnlargeButtonLabel":({description:e})=>`Vergroot ${e}`,"message.srNewEventCount":({newCount:e})=>{switch(e){case 1:return"Er is 1 nieuw chatbericht.";case 0:default:return`Er zijn ${e} nieuwe chatberichten.`}},"message.srTextUnreadCount":({unreadCount:e})=>{switch(e){case 1:return"Er is 1 nieuw ongelezen chatbericht.";case 0:default:return`Er zijn ${e} nieuwe ongelezen chatberichten.`}},"options.cancelButtonText":"Annuleren","options.cobrowsing.cobrowsingActiveText":"Scherm delen actief","options.cobrowsing.cobrowsingUnavailable":"Het delen van je scherm is nu niet mogelijk.","options.cobrowsing.description":"Dit zorgt ervoor dat de medewerker je huidige pagina kan zien. Er wordt verder niks gedeeld","options.cobrowsing.labelTurnOff":"Scherm delen uitzetten","options.cobrowsing.labelTurnOn":"Scherm delen aanzetten","options.cobrowsing.menuTitle":"Scherm delen","options.cobrowsing.srCobrowsingAvailable":"Je kan je scherm nu delen.","options.cobrowsing.srStartedCobrowsingText":"Scherm delen is aangezet.","options.cobrowsing.srStopCobrowsingText":"Stop scherm delen","options.cobrowsing.srStoppedCobrowsingText":"Scherm delen is gestopt","options.cobrowsing.stopCobrowsingText":"Stop","options.cobrowsing.title":"Scherm delen","options.openButtonText":"Opties","options.saveButtonText":"Opslaan","options.sendTranscript.description":"Voer het e-mailadres in waarop je het chatgesprek wilt ontvangen.","options.sendTranscript.invalidEmailText":"Voer een geldig e-mailadres in","options.sendTranscript.label":"E-mailadres","options.sendTranscript.menuTitle":"Verstuur gesprek","options.sendTranscript.noEmailText":"Voer een e-mailadres in","options.sendTranscript.sendButtonText":"Verstuur","options.sendTranscript.title":"Verstuur chatgesprek","options.unavailableText":"niet beschikbaar","resumeConversationPrompt.continueButton":"Doorgaan met gesprek","resumeConversationPrompt.detachButton":"Stel een nieuwe vraag","resumeConversationPrompt.title":e=>`Wil je doorgaan met het gesprek met ${e}?`,skiplinkText:"Naar invoerbalk","toggleButton.resumeTitle":"Hervat chat met","toggleButton.subtitle":"Start een chat met ons","toggleButton.title":"Heb je een vraag?","translations.divider.restartButtonText":"Start opnieuw","translations.divider.startText":e=>`Vertaling naar ${e}`,"translations.divider.stopText":e=>`Vertaling naar ${e} beëindigd`,"translations.settings.cancelButtonText":"Annuleren","translations.settings.currentTranslationLabel":"Momenteel wordt vertaald naar","translations.settings.defaultOptionLabel":"Kies een taal","translations.settings.description":"Automatische vertalingen kunnen fouten bevatten.","translations.settings.endButtonText":"Stop vertaling","translations.settings.inputLabel":"Vertalen naar","translations.settings.noLocaleText":"Kies een taal om naar te vertalen","translations.settings.openButtonText":"Vertaling","translations.settings.startButtonText":"Start vertaling","translations.settings.title":"Vertaling","translations.status.label":e=>`Vertaling naar ${e}`,"translations.status.srStopText":"Stop vertaling","translations.status.stopText":"Stop","translations.toggle.hideButtonText":"Toon origineel","translations.toggle.showButtonText":"Toon vertaling","window.srModalLayoutLabel":"Chatvenster","window.srTexts.onClose":"De chat is gesloten.","window.srTexts.onHistoryLoad":"Chat geschiedenis is geladen.","window.srTexts.onLoad":"Chat is beschikbaar op deze pagina.","window.srTexts.onOpen":"De chat is geopend."};module.exports=t})();
@@ -1,46 +0,0 @@
1
- import deepKeys from 'deep-keys'
2
- import en from '@seamly/web-ui/translations/en'
3
-
4
- export const translate = (translations) => {
5
- let translationSet
6
- if (translations) {
7
- const standardKeys = deepKeys(en)
8
- const customKeys = deepKeys(translations)
9
- standardKeys.forEach((key) => {
10
- if (customKeys.indexOf(key) === -1) {
11
- console.error('Seamly: Missing translation key:', key)
12
- }
13
- })
14
- translationSet = translations
15
- } else {
16
- translationSet = en
17
- }
18
-
19
- return (key, values = {}) => {
20
- let keyParts
21
-
22
- if (typeof key === 'string') {
23
- keyParts = key.split('.')
24
- } else {
25
- keyParts = key
26
- }
27
-
28
- const translation = keyParts.reduce((trs, keyPart) => {
29
- if (!trs || !trs.hasOwnProperty(keyPart)) {
30
- return null
31
- }
32
-
33
- return trs[keyPart]
34
- }, translationSet)
35
-
36
- if (!translation) {
37
- return ''
38
- }
39
-
40
- if (typeof translation === 'function') {
41
- return translation(values)
42
- } else {
43
- return translation
44
- }
45
- }
46
- }
@@ -1,235 +0,0 @@
1
- // Please note: All texts containing the string 'srText' are short for
2
- // Screen Reader Text. These texts are invisible on screen but broadcast
3
- // to screen readers. Avoid undue verbosity, but ensure that a user who cannot
4
- // see the screen will get both the message content as well as the context
5
- // in which the message occurred if not already clear from the current
6
- // position of the keyboard focus.
7
- // Example: An error occurs in the chat window and this error has an 'srText'
8
- // entry. Because the error could occur while the user is NOT chatting in the window,
9
- // add context such as "Something went wrong with the chat session" as just saying
10
- // "Something went wrong" would not be clear enough for users who cannot see the
11
- // source of the error on screen.
12
-
13
- export default {
14
- 'carousel.controls.next': 'Weiter',
15
- 'carousel.controls.previous': 'Zurück',
16
- 'carousel.slide.label': ({ index, total }) => `${index} von ${total}`,
17
- 'dateTime.srText': ({ date, time }) => `Nachrichten ab ${date} um ${time}`,
18
- 'dateTime.today': 'Heute',
19
- 'dateTime.yesterday': 'Gestern',
20
- 'disclaimer.content':
21
- 'Diese Chat Session wird von uns aufgezeichnet, um unseren Service stetig zu verbessern.',
22
- 'disclaimer.title': 'Datenschutzbestimmungen',
23
- 'dividerKeys.newTopic': 'Neues Thema gestartet',
24
- 'errors.configError.message':
25
- 'Leider ist momentan kein Aufbau möglich, bitte versuche es später noch einmal.',
26
- 'errors.configError.srText':
27
- 'Es gab einen Fehler beim Chat Aufbau. Bitte versuche es später noch einmal.',
28
- 'errors.configError.title': 'Fehler im Chat Aufbau.',
29
- 'errors.general.buttonText': 'Chat neu starten',
30
- 'errors.general.message': 'Möchtest du eine neue Chat Session starten?',
31
- 'errors.general.srText':
32
- 'Es ist etwas schief gegangen. Du kannst den Chat neu starten.',
33
- 'errors.general.title': 'Da ist etwas schief gegangen',
34
- 'errors.seamlyOffline.message':
35
- 'Es scheint ein Problem mit deiner oder unserer Verbindung zu geben. Die Chat Session kann weiter gehen, sobald wieder eine Verbindung besteht.',
36
- 'errors.seamlyOffline.srText':
37
- 'Der Chat hat Verbindungsprobleme. Es scheint ein Problem mit deiner oder unserer Verbindung zu geben. Die Chat Session kann weiter gehen, sobald wieder eine Verbindung besteht.',
38
- 'errors.seamlyOffline.title': 'Verbindungsprobleme',
39
- 'faq.headingText': 'Themenvorschläge',
40
- 'faq.srAvailableText': 'Themenvorschläge sind im Chat verfügbar.',
41
- 'faq.srUnavailableText': 'Themenvorschläge sind im Chat nicht mehr verfügbar',
42
- 'faq.srUpdatedText': 'Es gibt neue Themenvorschläge im Chat.',
43
- 'fileUpload.cancelButtonText': 'Upload abbrechen',
44
- 'fileUpload.contentHint': size => `Wähle eine Datei von maximal ${size}`,
45
- 'fileUpload.errors.general':
46
- 'Beim Hochladen ist ein Fehler aufgetreten. Brich den Upload ab und versuche es erneut.',
47
- 'fileUpload.errors.noFile': 'Wähle eine Datei zum Hochladen',
48
- 'fileUpload.errors.tooLarge':
49
- 'Die gewählte Datei ist zu groß, wähle eine kleinere Datei',
50
- 'fileUpload.errors.unavailable':
51
- 'Das Hochladen von Dateien ist derzeit nicht möglich. Brich den Upload ab und versuche es später erneut.',
52
- 'fileUpload.errors.virusFound':
53
- 'The selected file is unsafe, please upload a different file.',
54
- 'fileUpload.errors.wrongType':
55
- 'Der ausgewählte Dateityp wird nicht unterstützt. Brich den Upload ab und wähle eine andere Datei.',
56
- 'fileUpload.fileUnavailableText':
57
- 'Dieser Download-Link ist nicht mehr gültig',
58
- 'fileUpload.labelText': 'Wähle eine Datei',
59
- 'fileUpload.selectedText': fileName => {
60
- if (fileName) {
61
- return fileName
62
- } else {
63
- return 'Keine Datei ausgewählt'
64
- }
65
- },
66
- 'fileUpload.srAvailableText':
67
- 'Das Uploaden von Dateien im Chat ist jetzt möglich',
68
- 'fileUpload.srCompleteText': 'Upload abgeschlossen.',
69
- 'fileUpload.srFileUploadedText': fileName =>
70
- `Hochgeladene Datei ${fileName}.`,
71
- 'fileUpload.srFileDownloadText': fileName =>
72
- `Datei ${fileName} herunterladen.`,
73
- 'fileUpload.srProgressLabel': fileName =>
74
- `Upload-Fortschritt von ${fileName}`,
75
- 'fileUpload.srStartedText': 'Upload gestartet.',
76
- 'fileUpload.srUnavailableText':
77
- 'Das Uploaden von Dateien im Chat ist jetzt nicht mehr möglich',
78
- 'fileUpload.toggleButtonText': 'Dateien hochladen',
79
- 'fileUpload.uploadButtonText': 'Datei hochladen',
80
- 'header.collapseApp': 'Chat schliessen',
81
- 'header.title': 'Du sprichst mit',
82
- 'idleDetachWarning.continueButton': 'Gespräch fortsetzen',
83
- 'idleDetachWarning.countdownText': 'Das Gespräch wird beendet in:',
84
- 'idleDetachWarning.countdownTimer': ({ minutes, seconds }) => {
85
- switch (minutes) {
86
- case 1:
87
- switch (seconds) {
88
- case 1:
89
- return '1 Minute, 1 Sekunde'
90
- case 0:
91
- return '1 Minute'
92
- default:
93
- return `1 Minute, ${seconds} Sekunden`
94
- }
95
- case 0:
96
- switch (seconds) {
97
- case 1:
98
- return '1 Sekunde'
99
- case 0:
100
- default:
101
- return `${seconds} Sekunden`
102
- }
103
- default:
104
- switch (seconds) {
105
- case 1:
106
- return `${minutes} Minuten, 1 seconde`
107
- case 0:
108
- return `${minutes} Minuten`
109
- default:
110
- return `${minutes} Minuten, ${seconds} Sekunden`
111
- }
112
- }
113
- },
114
- 'idleDetachWarning.countdownTitle': 'Bist du noch da?',
115
- 'idleDetachWarning.detachButton': 'Gespräch beenden',
116
- 'idleDetachWarning.notifyTransferText': 'Das Gespräch wird beendet.',
117
- 'idleDetachWarning.srCountDownStoppedText':
118
- 'Automatische Beendung des Gesprächs abgebrochen. Willkommmen zurück!',
119
- 'info.cobrowsing.cobrowsingEnded': 'Die Bildschirmfreigabe ist beendet',
120
- 'info.cobrowsing.cobrowsingStarted':
121
- 'Die Bildschirmfreigabe ist jetzt aktiviert. Der Mitarbeiter kann die Seite sehen, auf der du dich gerade befindest',
122
- 'info.sendTranscript.accepted': ({ emailAddress }) =>
123
- `Das Chatgespräch wird per E-Mail an ${emailAddress} gesendet`,
124
- 'input.inputLabel': limit => {
125
- if (limit) {
126
- return `Deine Nachricht (max. ${limit} Zeichen)`
127
- }
128
- return 'Deine Nachricht'
129
- },
130
- 'input.inputPlaceholder': limit => {
131
- if (limit) {
132
- return `Deine Nachricht (max. ${limit} Zeichen)`
133
- }
134
- return 'Deine Nachricht'
135
- },
136
- 'input.sendMessage': 'Versenden',
137
- 'input.srCharacterLimitText': limit => {
138
- switch (limit) {
139
- case 1:
140
- return '1 Zeichen übrig.'
141
- case 0:
142
- default:
143
- return `${limit} Zeichen übrig.`
144
- }
145
- },
146
- 'lightbox.closeLabel': 'Schliessen.',
147
- 'lightbox.heading': 'Bild vergrössern',
148
- 'message.choicePrompts.cancelChooseAgain': 'Auswahl ändern abbrechen',
149
- 'message.choicePrompts.chooseAgain': 'Auswahl ändern',
150
- 'message.image.srTextEnlargeButtonLabel': ({ description }) =>
151
- `Enlarge ${description}`,
152
- 'message.srNewEventCount': ({ newCount }) => {
153
- switch (newCount) {
154
- case 1:
155
- return `Es gibt eine ungelesene Nachricht.`
156
- case 0:
157
- default:
158
- return `Es gibt ${newCount} ungelesene Nachrichten.`
159
- }
160
- },
161
- 'message.srTextUnreadCount': ({ unreadCount }) => {
162
- switch (unreadCount) {
163
- case 1:
164
- return `Es gibt eine ungelesene Nachricht.`
165
- case 0:
166
- default:
167
- return `Es gibt ${unreadCount} ungelesene Nachrichten.`
168
- }
169
- },
170
- 'options.cancelButtonText': 'Abbrechen',
171
- 'options.cobrowsing.cobrowsingActiveText': 'Bildschirmfreigabe aktiv',
172
- 'options.cobrowsing.cobrowsingUnavailable':
173
- 'Die Freigabe des Bildschirms ist jetzt nicht möglich.',
174
- 'options.cobrowsing.description':
175
- 'Dadurch kann der Mitarbeiter deine aktuelle Seite sehen. Nichts anderes wird geteilt.',
176
- 'options.cobrowsing.labelTurnOff': 'Bildschirmfreigabe ausschalten',
177
- 'options.cobrowsing.labelTurnOn': 'Bildschirmfreigabe einschalten',
178
- 'options.cobrowsing.menuTitle': 'Bildschirmfreigabe',
179
- 'options.cobrowsing.srCobrowsingAvailable':
180
- 'Du kannst jetzt deinen Bildschirm freigeben.',
181
- 'options.cobrowsing.srStartedCobrowsingText':
182
- 'Die Bildschirmfreigabe ist eingeschaltet',
183
- 'options.cobrowsing.srStopCobrowsingText': 'Stoppen der Bildschirmfreigabe',
184
- 'options.cobrowsing.srStoppedCobrowsingText':
185
- 'Die Bildschirmfreigabe wurde gestoppt',
186
- 'options.cobrowsing.stopCobrowsingText': 'Stoppen',
187
- 'options.cobrowsing.title': 'Bildschirmfreigabe',
188
- 'options.openButtonText': 'Optionen',
189
- 'options.saveButtonText': 'Speichern',
190
- 'options.sendTranscript.description':
191
- 'Geben Sie die E-Mail-Adresse ein, an die Sie die Chatgespräch erhalten möchten',
192
- 'options.sendTranscript.invalidEmailText':
193
- 'Bitte eine gültige E-Mail-Adresse eingeben',
194
- 'options.sendTranscript.label': 'E-Mail-Adresse',
195
- 'options.sendTranscript.menuTitle': 'Chat senden',
196
- 'options.sendTranscript.noEmailText': 'Bitte eine E-Mail-Adresse eingeben',
197
- 'options.sendTranscript.sendButtonText': 'Senden',
198
- 'options.sendTranscript.title': 'Chatgespräch senden',
199
- 'options.unavailableText': 'nicht verfügbar',
200
- 'resumeConversationPrompt.continueButton': 'Gespräch fortsetzen',
201
- 'resumeConversationPrompt.detachButton': 'Stelle eine neue Frage',
202
- 'resumeConversationPrompt.title': name =>
203
- `Möchtest du das Gespräch mit ${name} fortsetzen?`,
204
- skiplinkText: 'Zum Eingabefeld',
205
- 'toggleButton.resumeTitle': 'Gespräch fortsetzen mit',
206
- 'toggleButton.subtitle': 'Starte einen Chat mit uns',
207
- 'toggleButton.title': 'Wie können wir dir weiterhelfen?',
208
- 'translations.divider.restartButtonText': 'Neu starten',
209
- 'translations.divider.startText': language => `Übersetzung auf ${language}`,
210
- 'translations.divider.stopText': language =>
211
- `Übersetzung auf ${language} beendet`,
212
- 'translations.settings.cancelButtonText': 'Abbrechen',
213
- 'translations.settings.currentTranslationLabel':
214
- 'Es wird derzeit übersetzt in',
215
- 'translations.settings.defaultOptionLabel': 'Sprache wählen',
216
- 'translations.settings.description':
217
- 'Automatische Übersetzungen können Fehler enthalten.',
218
- 'translations.settings.endButtonText': 'Übersetzen beenden',
219
- 'translations.settings.inputLabel': 'Übersetze Chat auf',
220
- 'translations.settings.noLocaleText':
221
- 'Wähle eine Sprache, in die übersetzt werden soll',
222
- 'translations.settings.openButtonText': 'Übersetzung',
223
- 'translations.settings.startButtonText': 'Übersetzen beginnen',
224
- 'translations.settings.title': 'Übersetzung',
225
- 'translations.status.label': language => `Übersetzung auf ${language}`,
226
- 'translations.status.srStopText': 'Übersetzen beenden',
227
- 'translations.status.stopText': 'Stop',
228
- 'translations.toggle.hideButtonText': 'Original anzeigen',
229
- 'translations.toggle.showButtonText': 'Übersetzung anzeigen',
230
- 'window.srModalLayoutLabel': 'Chatfenster',
231
- 'window.srTexts.onClose': 'Der Chat wurde geschlossen.',
232
- 'window.srTexts.onHistoryLoad': 'Die Chat Historie wurde geladen.',
233
- 'window.srTexts.onLoad': 'Chat ist verfügbar.',
234
- 'window.srTexts.onOpen': 'Der Chat wurde gestartet.',
235
- }