@seamly/web-ui 22.2.0 → 22.3.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 (61) hide show
  1. package/build/dist/lib/components.js +449 -291
  2. package/build/dist/lib/components.js.map +1 -1
  3. package/build/dist/lib/components.min.js +1 -1
  4. package/build/dist/lib/components.min.js.map +1 -1
  5. package/build/dist/lib/hooks.js +367 -177
  6. package/build/dist/lib/hooks.js.map +1 -1
  7. package/build/dist/lib/hooks.min.js +1 -1
  8. package/build/dist/lib/hooks.min.js.map +1 -1
  9. package/build/dist/lib/index.debug.js +76 -54
  10. package/build/dist/lib/index.debug.js.map +1 -1
  11. package/build/dist/lib/index.debug.min.js +1 -1
  12. package/build/dist/lib/index.debug.min.js.LICENSE.txt +16 -8
  13. package/build/dist/lib/index.debug.min.js.map +1 -1
  14. package/build/dist/lib/index.js +342 -193
  15. package/build/dist/lib/index.js.map +1 -1
  16. package/build/dist/lib/index.min.js +1 -1
  17. package/build/dist/lib/index.min.js.map +1 -1
  18. package/build/dist/lib/standalone.js +350 -194
  19. package/build/dist/lib/standalone.js.map +1 -1
  20. package/build/dist/lib/standalone.min.js +1 -1
  21. package/build/dist/lib/standalone.min.js.map +1 -1
  22. package/build/dist/lib/style-guide.js +365 -194
  23. package/build/dist/lib/style-guide.js.map +1 -1
  24. package/build/dist/lib/style-guide.min.js +1 -1
  25. package/build/dist/lib/style-guide.min.js.map +1 -1
  26. package/build/dist/lib/styles.css +1 -1
  27. package/build/dist/lib/utils.js +504 -324
  28. package/build/dist/lib/utils.js.map +1 -1
  29. package/build/dist/lib/utils.min.js +1 -1
  30. package/build/dist/lib/utils.min.js.map +1 -1
  31. package/package.json +1 -1
  32. package/src/javascripts/api/errors/seamly-api-error.ts +0 -1
  33. package/src/javascripts/api/index.ts +16 -8
  34. package/src/javascripts/domains/app/actions.ts +8 -3
  35. package/src/javascripts/domains/interrupt/selectors.ts +3 -2
  36. package/src/javascripts/domains/interrupt/slice.ts +2 -0
  37. package/src/javascripts/domains/redux/create-debounced-async-thunk.ts +109 -0
  38. package/src/javascripts/domains/redux/redux.types.ts +2 -1
  39. package/src/javascripts/domains/store/actions.ts +38 -0
  40. package/src/javascripts/domains/translations/components/options-dialog/translation-option.tsx +1 -1
  41. package/src/javascripts/domains/visibility/actions.ts +4 -1
  42. package/src/javascripts/style-guide/states.js +26 -1
  43. package/src/javascripts/ui/components/chat-status/chat-status-action.tsx +2 -2
  44. package/src/javascripts/ui/components/conversation/event/{card-component.js → card-component.tsx} +6 -4
  45. package/src/javascripts/ui/components/conversation/event/carousel-component/components/controls.js +2 -2
  46. package/src/javascripts/ui/components/conversation/event/choice-prompt.js +1 -1
  47. package/src/javascripts/ui/components/conversation/event/event-participant.js +1 -1
  48. package/src/javascripts/ui/components/conversation/event/image-lightbox.js +1 -1
  49. package/src/javascripts/ui/components/conversation/event-divider.js +6 -1
  50. package/src/javascripts/ui/components/core/seamly-event-subscriber.ts +14 -30
  51. package/src/javascripts/ui/components/form-controls/error.js +1 -1
  52. package/src/javascripts/ui/components/form-controls/file-input.js +1 -1
  53. package/src/javascripts/ui/components/layout/agent-info.js +1 -1
  54. package/src/javascripts/ui/components/layout/{icon.js → icon.tsx} +74 -37
  55. package/src/javascripts/ui/components/options/options-button.js +1 -1
  56. package/src/javascripts/ui/components/suggestions/suggestions-item.js +1 -1
  57. package/src/javascripts/ui/components/view/window-view/window-open-button.js +9 -4
  58. package/src/javascripts/ui/components/widgets/lightbox.js +1 -1
  59. package/src/javascripts/ui/hooks/use-session-expired-command.ts +31 -2
  60. package/src/stylesheets/5-components/_message-card.scss +4 -3
  61. package/src/stylesheets/5-components/_message-count.scss +11 -9
@@ -2691,20 +2691,87 @@ const defaultConfig = {
2691
2691
 
2692
2692
  /***/ }),
2693
2693
 
2694
- /***/ 9201:
2694
+ /***/ 526:
2695
2695
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2696
2696
 
2697
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2698
- /* harmony export */ Z: () => (/* binding */ initializeApp),
2699
- /* harmony export */ m: () => (/* binding */ resetApp)
2700
- /* harmony export */ });
2701
- /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(9639);
2702
- /* harmony import */ var api_errors_seamly_session_expired_error__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(6821);
2703
- /* harmony import */ var api_errors_seamly_unavailable_error__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(7265);
2704
- /* harmony import */ var ui_utils_seamly_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1149);
2705
- /* harmony import */ var domains_config_actions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(257);
2706
- /* harmony import */ var domains_i18n_actions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5409);
2707
- /* harmony import */ var domains_visibility_actions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9586);
2697
+
2698
+ // EXPORTS
2699
+ __webpack_require__.d(__webpack_exports__, {
2700
+ Z: () => (/* binding */ initializeApp),
2701
+ m: () => (/* binding */ resetApp)
2702
+ });
2703
+
2704
+ // EXTERNAL MODULE: ./node_modules/@reduxjs/toolkit/dist/redux-toolkit.esm.js + 2 modules
2705
+ var redux_toolkit_esm = __webpack_require__(9639);
2706
+ // EXTERNAL MODULE: ./src/javascripts/api/errors/seamly-session-expired-error.js
2707
+ var seamly_session_expired_error = __webpack_require__(6821);
2708
+ // EXTERNAL MODULE: ./src/javascripts/api/errors/seamly-unavailable-error.js
2709
+ var seamly_unavailable_error = __webpack_require__(7265);
2710
+ // EXTERNAL MODULE: ./src/javascripts/ui/utils/seamly-utils.ts
2711
+ var seamly_utils = __webpack_require__(1149);
2712
+ // EXTERNAL MODULE: ./src/javascripts/domains/config/actions.ts
2713
+ var actions = __webpack_require__(257);
2714
+ // EXTERNAL MODULE: ./src/javascripts/domains/i18n/actions.ts
2715
+ var i18n_actions = __webpack_require__(5409);
2716
+ ;// CONCATENATED MODULE: ./src/javascripts/domains/redux/create-debounced-async-thunk.ts
2717
+
2718
+ /**
2719
+ * A debounced analogue of the `createAsyncThunk` from `@reduxjs/toolkit`
2720
+ * @param typePrefix - a string action type value
2721
+ * @param payloadCreator - a callback function that should return a promise containing the result of some asynchronous logic
2722
+ * @param debounceOptions - the debounce options object
2723
+ */
2724
+ const createDebouncedAsyncThunk = (typePrefix, payloadCreator, debounceOptions) => {
2725
+ const {
2726
+ wait = 300,
2727
+ maxWait = 0,
2728
+ leading = false
2729
+ } = debounceOptions !== null && debounceOptions !== void 0 ? debounceOptions : {};
2730
+ let debounceTimer = null;
2731
+ let maxWaitTimer = null;
2732
+ let resolve;
2733
+ const cancel = () => {
2734
+ if (resolve) {
2735
+ resolve(false);
2736
+ resolve = undefined;
2737
+ }
2738
+ };
2739
+ const invoke = () => {
2740
+ clearTimeout(maxWaitTimer);
2741
+ maxWaitTimer = undefined;
2742
+ if (resolve) {
2743
+ resolve(true);
2744
+ resolve = undefined;
2745
+ }
2746
+ };
2747
+ const debounceExecutionCondition = () => {
2748
+ const immediate = leading && !debounceTimer;
2749
+ // Start debounced condition resolution
2750
+ clearTimeout(debounceTimer);
2751
+ debounceTimer = setTimeout(() => {
2752
+ invoke();
2753
+ debounceTimer = null;
2754
+ }, wait);
2755
+ if (immediate) {
2756
+ return true;
2757
+ }
2758
+ cancel();
2759
+ // Start max wait condition resolution
2760
+ if (maxWait && !maxWaitTimer) {
2761
+ maxWaitTimer = setTimeout(invoke, maxWait);
2762
+ }
2763
+ return new Promise(res => {
2764
+ resolve = res;
2765
+ });
2766
+ };
2767
+ return (0,redux_toolkit_esm/* createAsyncThunk */.hg)(typePrefix, payloadCreator, {
2768
+ condition: debounceExecutionCondition
2769
+ });
2770
+ };
2771
+ /* harmony default export */ const create_debounced_async_thunk = (createDebouncedAsyncThunk);
2772
+ // EXTERNAL MODULE: ./src/javascripts/domains/visibility/actions.ts
2773
+ var visibility_actions = __webpack_require__(9586);
2774
+ ;// CONCATENATED MODULE: ./src/javascripts/domains/app/actions.ts
2708
2775
  var __awaiter = undefined && undefined.__awaiter || function (thisArg, _arguments, P, generator) {
2709
2776
  function adopt(value) {
2710
2777
  return value instanceof P ? value : new P(function (resolve) {
@@ -2739,7 +2806,8 @@ var __awaiter = undefined && undefined.__awaiter || function (thisArg, _argument
2739
2806
 
2740
2807
 
2741
2808
 
2742
- const initializeApp = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_4__/* .createAsyncThunk */ .hg)('initializeApp', (_, {
2809
+
2810
+ const initializeApp = (0,redux_toolkit_esm/* createAsyncThunk */.hg)('initializeApp', (_, {
2743
2811
  extra: {
2744
2812
  api,
2745
2813
  config
@@ -2760,7 +2828,7 @@ const initializeApp = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_4__/* .create
2760
2828
  } else {
2761
2829
  if ((_c = config === null || config === void 0 ? void 0 : config.context) === null || _c === void 0 ? void 0 : _c.topic) {
2762
2830
  api.send('action', {
2763
- type: ui_utils_seamly_utils__WEBPACK_IMPORTED_MODULE_0__/* .actionTypes */ .Hp.setTopic,
2831
+ type: seamly_utils/* actionTypes */.Hp.setTopic,
2764
2832
  body: {
2765
2833
  name: config.context.topic,
2766
2834
  // Separate fallback message is not needed here. Only an attached service will use this, but none will
@@ -2772,7 +2840,7 @@ const initializeApp = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_4__/* .create
2772
2840
  if ((_d = config === null || config === void 0 ? void 0 : config.context) === null || _d === void 0 ? void 0 : _d.translationLocale) {
2773
2841
  locale = config.context.translationLocale;
2774
2842
  api.send('action', {
2775
- type: ui_utils_seamly_utils__WEBPACK_IMPORTED_MODULE_0__/* .actionTypes */ .Hp.setTranslation,
2843
+ type: seamly_utils/* actionTypes */.Hp.setTranslation,
2776
2844
  body: {
2777
2845
  enabled: true,
2778
2846
  locale
@@ -2786,8 +2854,8 @@ const initializeApp = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_4__/* .create
2786
2854
  };
2787
2855
  }
2788
2856
  } catch (e) {
2789
- if (e instanceof api_errors_seamly_session_expired_error__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z) {
2790
- const err = new api_errors_seamly_session_expired_error__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z();
2857
+ if (e instanceof seamly_session_expired_error/* default */.Z) {
2858
+ const err = new seamly_session_expired_error/* default */.Z();
2791
2859
  return rejectWithValue({
2792
2860
  name: err.name,
2793
2861
  message: err.message,
@@ -2796,7 +2864,7 @@ const initializeApp = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_4__/* .create
2796
2864
  action: err.action
2797
2865
  });
2798
2866
  }
2799
- const err = new api_errors_seamly_unavailable_error__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z();
2867
+ const err = new seamly_unavailable_error/* default */.Z();
2800
2868
  return rejectWithValue({
2801
2869
  name: err.name,
2802
2870
  message: err.message,
@@ -2804,26 +2872,29 @@ const initializeApp = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_4__/* .create
2804
2872
  });
2805
2873
  }
2806
2874
  }));
2807
- const resetApp = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_4__/* .createAsyncThunk */ .hg)('resetApp', (_, {
2875
+ const resetApp = create_debounced_async_thunk('resetApp', (_, {
2808
2876
  dispatch,
2809
2877
  extra: {
2810
2878
  api
2811
2879
  }
2812
2880
  }) => __awaiter(void 0, void 0, void 0, function* () {
2813
2881
  yield api.disconnect();
2814
- yield api.clearStore();
2815
- dispatch((0,domains_config_actions__WEBPACK_IMPORTED_MODULE_1__/* .resetConfig */ .I)());
2816
- yield dispatch((0,domains_config_actions__WEBPACK_IMPORTED_MODULE_1__/* .initializeConfig */ .t)());
2882
+ api.clearStore();
2883
+ dispatch((0,actions/* resetConfig */.I)());
2884
+ yield dispatch((0,actions/* initializeConfig */.t)());
2817
2885
  try {
2818
2886
  const {
2819
2887
  locale
2820
2888
  } = yield dispatch(initializeApp()).unwrap();
2821
- yield dispatch((0,domains_i18n_actions__WEBPACK_IMPORTED_MODULE_2__/* .setLocale */ .i)(locale));
2822
- } catch (rejectedValueOrSerializedError) {
2889
+ yield dispatch((0,i18n_actions/* setLocale */.i)(locale));
2890
+ } catch (e) {
2823
2891
  // nothing to do
2824
2892
  }
2825
- dispatch((0,domains_visibility_actions__WEBPACK_IMPORTED_MODULE_3__/* .initializeVisibility */ .Z)());
2826
- }));
2893
+ dispatch((0,visibility_actions/* initializeVisibility */.Z)());
2894
+ }), {
2895
+ wait: 2000,
2896
+ leading: true
2897
+ });
2827
2898
 
2828
2899
  /***/ }),
2829
2900
 
@@ -2851,7 +2922,7 @@ const selectUserHasResponded = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__/
2851
2922
  /* harmony export */ });
2852
2923
  /* unused harmony export appSlice */
2853
2924
  /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9639);
2854
- /* harmony import */ var domains_app_actions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9201);
2925
+ /* harmony import */ var domains_app_actions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(526);
2855
2926
 
2856
2927
 
2857
2928
  const initialState = {
@@ -3232,7 +3303,7 @@ function createErrorsMiddleware({
3232
3303
  /* harmony export */ });
3233
3304
  /* unused harmony export formsSlice */
3234
3305
  /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9639);
3235
- /* harmony import */ var domains_app_actions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9201);
3306
+ /* harmony import */ var domains_app_actions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(526);
3236
3307
 
3237
3308
 
3238
3309
  const initialFormState = {
@@ -4242,11 +4313,13 @@ const selectHasError = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__/* .creat
4242
4313
  /* harmony export */ uc: () => (/* binding */ setInterrupt)
4243
4314
  /* harmony export */ });
4244
4315
  /* unused harmony exports interruptSlice, clearInterrupt */
4245
- /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(9639);
4246
- /* harmony import */ var domains_app_actions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9201);
4316
+ /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(9639);
4317
+ /* harmony import */ var domains_app_actions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(526);
4247
4318
  /* harmony import */ var domains_config_actions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(257);
4248
4319
  /* harmony import */ var domains_i18n_actions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5409);
4249
- /* harmony import */ var domains_visibility_actions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9586);
4320
+ /* harmony import */ var domains_store_actions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2770);
4321
+ /* harmony import */ var domains_visibility_actions__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(9586);
4322
+
4250
4323
 
4251
4324
 
4252
4325
 
@@ -4255,7 +4328,7 @@ const selectHasError = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__/* .creat
4255
4328
  const initialState = {
4256
4329
  error: undefined
4257
4330
  };
4258
- const interruptSlice = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_4__/* .createSlice */ .oM)({
4331
+ const interruptSlice = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_5__/* .createSlice */ .oM)({
4259
4332
  name: 'interrupt',
4260
4333
  initialState,
4261
4334
  reducers: {
@@ -4265,7 +4338,7 @@ const interruptSlice = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_4__/* .creat
4265
4338
  clearInterrupt: () => initialState
4266
4339
  },
4267
4340
  extraReducers: builder => {
4268
- builder.addCase(domains_config_actions__WEBPACK_IMPORTED_MODULE_1__/* .initializeConfig */ .t.pending, () => initialState).addMatcher((0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_4__/* .isAnyOf */ .Q)(domains_app_actions__WEBPACK_IMPORTED_MODULE_0__/* .initializeApp */ .Z.rejected, domains_config_actions__WEBPACK_IMPORTED_MODULE_1__/* .initializeConfig */ .t.rejected, domains_i18n_actions__WEBPACK_IMPORTED_MODULE_2__/* .setLocale */ .i.rejected, domains_visibility_actions__WEBPACK_IMPORTED_MODULE_3__/* .setVisibility */ .i.rejected, domains_visibility_actions__WEBPACK_IMPORTED_MODULE_3__/* .initializeVisibility */ .Z.rejected), (state, {
4341
+ builder.addCase(domains_config_actions__WEBPACK_IMPORTED_MODULE_1__/* .initializeConfig */ .t.pending, () => initialState).addMatcher((0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_5__/* .isAnyOf */ .Q)(domains_app_actions__WEBPACK_IMPORTED_MODULE_0__/* .initializeApp */ .Z.rejected, domains_config_actions__WEBPACK_IMPORTED_MODULE_1__/* .initializeConfig */ .t.rejected, domains_i18n_actions__WEBPACK_IMPORTED_MODULE_2__/* .setLocale */ .i.rejected, domains_visibility_actions__WEBPACK_IMPORTED_MODULE_4__/* .setVisibility */ .i.rejected, domains_visibility_actions__WEBPACK_IMPORTED_MODULE_4__/* .initializeVisibility */ .Z.rejected, domains_store_actions__WEBPACK_IMPORTED_MODULE_3__/* .getConversation */ .c.rejected), (state, {
4269
4342
  payload
4270
4343
  }) => {
4271
4344
  state.error = payload;
@@ -4280,6 +4353,77 @@ const {
4280
4353
 
4281
4354
  /***/ }),
4282
4355
 
4356
+ /***/ 2770:
4357
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
4358
+
4359
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
4360
+ /* harmony export */ c: () => (/* binding */ getConversation)
4361
+ /* harmony export */ });
4362
+ /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9639);
4363
+ var __awaiter = undefined && undefined.__awaiter || function (thisArg, _arguments, P, generator) {
4364
+ function adopt(value) {
4365
+ return value instanceof P ? value : new P(function (resolve) {
4366
+ resolve(value);
4367
+ });
4368
+ }
4369
+ return new (P || (P = Promise))(function (resolve, reject) {
4370
+ function fulfilled(value) {
4371
+ try {
4372
+ step(generator.next(value));
4373
+ } catch (e) {
4374
+ reject(e);
4375
+ }
4376
+ }
4377
+ function rejected(value) {
4378
+ try {
4379
+ step(generator["throw"](value));
4380
+ } catch (e) {
4381
+ reject(e);
4382
+ }
4383
+ }
4384
+ function step(result) {
4385
+ result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
4386
+ }
4387
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
4388
+ });
4389
+ };
4390
+
4391
+ const getConversation = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__/* .createAsyncThunk */ .hg)('getConversation', (_, {
4392
+ extra: {
4393
+ api
4394
+ },
4395
+ rejectWithValue
4396
+ }) => __awaiter(void 0, void 0, void 0, function* () {
4397
+ try {
4398
+ return api.getConversation();
4399
+ } catch (error) {
4400
+ return rejectWithValue({
4401
+ name: error === null || error === void 0 ? void 0 : error.name,
4402
+ message: error === null || error === void 0 ? void 0 : error.message,
4403
+ langKey: error === null || error === void 0 ? void 0 : error.langKey,
4404
+ action: error === null || error === void 0 ? void 0 : error.action,
4405
+ originalEvent: error === null || error === void 0 ? void 0 : error.originalEvent,
4406
+ originalError: error === null || error === void 0 ? void 0 : error.originalError
4407
+ });
4408
+ }
4409
+ }), {
4410
+ condition(payload, {
4411
+ getState
4412
+ }) {
4413
+ var _a;
4414
+ const {
4415
+ state: {
4416
+ events
4417
+ }
4418
+ } = getState();
4419
+ const lastEvent = events[events.length - 1];
4420
+ const payloadLastEventId = (_a = payload === null || payload === void 0 ? void 0 : payload.lastEvent) === null || _a === void 0 ? void 0 : _a.id;
4421
+ return lastEvent && payloadLastEventId !== lastEvent.payload.id;
4422
+ }
4423
+ });
4424
+
4425
+ /***/ }),
4426
+
4283
4427
  /***/ 7271:
4284
4428
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
4285
4429
 
@@ -4303,8 +4447,8 @@ var errors = __webpack_require__(9792);
4303
4447
  var forms_slice = __webpack_require__(3939);
4304
4448
  // EXTERNAL MODULE: ./node_modules/@reduxjs/toolkit/dist/redux-toolkit.esm.js + 2 modules
4305
4449
  var redux_toolkit_esm = __webpack_require__(9639);
4306
- // EXTERNAL MODULE: ./src/javascripts/domains/app/actions.ts
4307
- var actions = __webpack_require__(9201);
4450
+ // EXTERNAL MODULE: ./src/javascripts/domains/app/actions.ts + 1 modules
4451
+ var actions = __webpack_require__(526);
4308
4452
  // EXTERNAL MODULE: ./src/javascripts/domains/config/actions.ts
4309
4453
  var config_actions = __webpack_require__(257);
4310
4454
  // EXTERNAL MODULE: ./src/javascripts/domains/i18n/actions.ts
@@ -4567,7 +4711,7 @@ const useAppDispatch = es/* useDispatch */.I0;
4567
4711
  /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(9639);
4568
4712
  /* harmony import */ var ui_utils_general_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(822);
4569
4713
  /* harmony import */ var ui_utils_seamly_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1149);
4570
- /* harmony import */ var domains_app_actions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9201);
4714
+ /* harmony import */ var domains_app_actions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(526);
4571
4715
  /* harmony import */ var domains_config_actions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(257);
4572
4716
  /* harmony import */ var lib_id__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(8527);
4573
4717
 
@@ -5400,7 +5544,7 @@ const useTranslationProposal = () => {
5400
5544
  /* harmony export */ });
5401
5545
  /* unused harmony exports translationsInitialState, translationSlice, setTranslationProposalPrompt */
5402
5546
  /* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9639);
5403
- /* harmony import */ var domains_app_actions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9201);
5547
+ /* harmony import */ var domains_app_actions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(526);
5404
5548
  /* harmony import */ var domains_config_actions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(257);
5405
5549
  /* harmony import */ var domains_store_slice__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8801);
5406
5550
 
@@ -5617,8 +5761,9 @@ const setVisibility = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_6__/* .create
5617
5761
  if (previousVisibility === calculatedVisibility) {
5618
5762
  return undefined;
5619
5763
  }
5764
+ const visibility = api.store.get(_constants__WEBPACK_IMPORTED_MODULE_4__/* .StoreKey */ .K);
5620
5765
  // Store the user-requested visibility in order to reinitialize after refresh
5621
- api.store.set(_constants__WEBPACK_IMPORTED_MODULE_4__/* .StoreKey */ .K, Object.assign(Object.assign({}, api.store.get(_constants__WEBPACK_IMPORTED_MODULE_4__/* .StoreKey */ .K) || {}), {
5766
+ api.store.set(_constants__WEBPACK_IMPORTED_MODULE_4__/* .StoreKey */ .K, Object.assign(Object.assign({}, visibility || {}), {
5622
5767
  [layoutMode]: requestedVisibility
5623
5768
  }));
5624
5769
  if (requestedVisibility) {
@@ -6065,10 +6210,17 @@ var live_region_hooks = __webpack_require__(5136);
6065
6210
  var seamly_state_hooks = __webpack_require__(2140);
6066
6211
  // EXTERNAL MODULE: ./src/javascripts/domains/interrupt/hooks.ts
6067
6212
  var interrupt_hooks = __webpack_require__(5889);
6213
+ // EXTERNAL MODULE: ./src/javascripts/domains/interrupt/slice.ts
6214
+ var slice = __webpack_require__(6160);
6215
+ // EXTERNAL MODULE: ./src/javascripts/domains/store/index.ts + 4 modules
6216
+ var store = __webpack_require__(7271);
6068
6217
  ;// CONCATENATED MODULE: ./src/javascripts/ui/hooks/use-session-expired-command.ts
6069
6218
 
6070
6219
 
6071
6220
 
6221
+
6222
+
6223
+
6072
6224
  function use_session_expired_command_useSessionExpiredCommand() {
6073
6225
  const {
6074
6226
  meta: {
@@ -6076,13 +6228,35 @@ function use_session_expired_command_useSessionExpiredCommand() {
6076
6228
  action
6077
6229
  }
6078
6230
  } = useInterrupt();
6231
+ const dispatch = useAppDispatch();
6079
6232
  const seamlyCommands = useSeamlyCommands();
6080
6233
  const isExpiredError = (originalError === null || originalError === void 0 ? void 0 : originalError.name) === 'SeamlySessionExpiredError';
6234
+ const limit = useRef(0);
6235
+ const limitTimer = useRef(null);
6081
6236
  useEffect(() => {
6082
6237
  if (isExpiredError && seamlyCommands[action]) {
6238
+ if (limit.current >= 10) {
6239
+ limitTimer.current = setTimeout(() => {
6240
+ limit.current = 0;
6241
+ }, 10000);
6242
+ const error = new SeamlyGeneralError();
6243
+ dispatch(setInterrupt({
6244
+ name: error.name,
6245
+ message: error.message,
6246
+ langKey: error.langKey,
6247
+ originalEvent: error.originalEvent,
6248
+ originalError: error.originalError,
6249
+ action: error.action
6250
+ }));
6251
+ return () => {};
6252
+ }
6253
+ limit.current += 1;
6083
6254
  seamlyCommands[action]();
6084
6255
  }
6085
- }, [action, seamlyCommands, isExpiredError]);
6256
+ return () => {
6257
+ if (limitTimer.current) clearTimeout(limitTimer.current);
6258
+ };
6259
+ }, [action, seamlyCommands, isExpiredError, dispatch]);
6086
6260
  }
6087
6261
  ;// CONCATENATED MODULE: ./src/javascripts/ui/hooks/use-seamly-chat.ts
6088
6262
  var __awaiter = undefined && undefined.__awaiter || function (thisArg, _arguments, P, generator) {
@@ -6585,7 +6759,7 @@ function randomId() {
6585
6759
  /* harmony import */ var preact_hooks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9207);
6586
6760
  /* harmony import */ var preact_hooks__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(preact_hooks__WEBPACK_IMPORTED_MODULE_1__);
6587
6761
  /* harmony import */ var ui_components_conversation_message_container__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2480);
6588
- /* harmony import */ var ui_components_layout_icon__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9016);
6762
+ /* harmony import */ var ui_components_layout_icon__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2398);
6589
6763
  /* harmony import */ var ui_hooks_seamly_hooks__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(9470);
6590
6764
  /* harmony import */ var ui_utils_seamly_utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(1149);
6591
6765
  /* harmony import */ var domains_i18n_hooks__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(5962);
@@ -6708,7 +6882,8 @@ const ChoicePrompt = ({
6708
6882
  "aria-describedby": descriptorId,
6709
6883
  children: [showOptions ? t('message.choicePrompts.cancelChooseAgain') : t('message.choicePrompts.chooseAgain'), (0,preact_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(ui_components_layout_icon__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
6710
6884
  name: "chevronDown",
6711
- size: "8"
6885
+ size: "8",
6886
+ alt: ""
6712
6887
  })]
6713
6888
  }), showOptions && (0,preact_jsx_runtime__WEBPACK_IMPORTED_MODULE_9__.jsx)(ui_components_conversation_message_container__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, {
6714
6889
  type: "choice-prompt",
@@ -6788,7 +6963,7 @@ const EventParticipant = ({
6788
6963
  })
6789
6964
  }));
6790
6965
  }
6791
- if (showName) {
6966
+ if (showName && participantName) {
6792
6967
  authorInfo.push((0,preact_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("span", {
6793
6968
  className: (0,lib_css__WEBPACK_IMPORTED_MODULE_3__/* .className */ .o)('message__author-name'),
6794
6969
  children: participantName
@@ -6926,143 +7101,6 @@ const SeamlyLiveRegionContext = (0,preact__WEBPACK_IMPORTED_MODULE_0__.createCon
6926
7101
 
6927
7102
  /***/ }),
6928
7103
 
6929
- /***/ 9016:
6930
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
6931
-
6932
-
6933
- // EXPORTS
6934
- __webpack_require__.d(__webpack_exports__, {
6935
- Z: () => (/* binding */ icon)
6936
- });
6937
-
6938
- ;// CONCATENATED MODULE: ./node_modules/raw-loader/dist/cjs.js!./src/icons/avatar_bot-32.svg
6939
- /* harmony default export */ const avatar_bot_32 = ("<svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\n\t viewBox=\"0 0 32 32\" enable-background=\"new 0 0 32 32\" xml:space=\"preserve\">\n<path fill=\"#4A48C1\" d=\"M10,14.8c-1.1,0-2-0.9-2-2s0.9-2,2-2s2,0.9,2,2S11.1,14.8,10,14.8z M15.9,14.8c1.1,0,2-0.9,2-2s-0.9-2-2-2\n\ts-2,0.9-2,2S14.8,14.8,15.9,14.8z M21.8,10.8c-1.1,0-2,0.9-2,2s0.9,2,2,2s2-0.9,2-2S22.9,10.8,21.8,10.8z M21.3,18.1H10.7\n\tC11.7,23.9,20.2,23.9,21.3,18.1z\"/>\n</svg>\n");
6940
- ;// CONCATENATED MODULE: ./node_modules/raw-loader/dist/cjs.js!./src/icons/icon_arrow_left-16.svg
6941
- /* harmony default export */ const icon_arrow_left_16 = ("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Generator: Adobe Illustrator 25.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->\n<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\n\t viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\" xml:space=\"preserve\">\n<path fill=\"#5053A4\" d=\"M13.6,8c0,0.6-0.4,1-1,1h-7l2.2,2.5c0.4,0.4,0.3,1-0.1,1.4c-0.2,0.2-0.4,0.2-0.7,0.2c-0.3,0-0.6-0.1-0.8-0.3\n\tL2.6,8.6c0,0-0.1-0.1-0.1-0.2c0,0-0.1-0.1-0.1-0.1c0-0.1-0.1-0.2-0.1-0.3c0,0,0,0,0,0c0,0,0,0,0,0c0-0.1,0-0.3,0.1-0.4\n\tc0,0,0.1-0.1,0.1-0.1c0-0.1,0.1-0.1,0.1-0.2l3.7-4.1c0.4-0.4,1-0.4,1.4-0.1c0.4,0.4,0.4,1,0.1,1.4L5.6,7h7C13.2,7,13.6,7.4,13.6,8z\"\n\t/>\n</svg>\n");
6942
- ;// CONCATENATED MODULE: ./node_modules/raw-loader/dist/cjs.js!./src/icons/icon_arrow_right-16.svg
6943
- /* harmony default export */ const icon_arrow_right_16 = ("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Generator: Adobe Illustrator 25.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->\n<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\n\t viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\" xml:space=\"preserve\">\n<path fill=\"#5053A4\" d=\"M2.4,8.1c0-0.6,0.4-1,1-1h7L8.1,4.5c-0.4-0.4-0.3-1,0.1-1.4c0.2-0.2,0.4-0.2,0.7-0.2c0.3,0,0.6,0.1,0.8,0.3\n\tl3.7,4.2c0,0,0.1,0.1,0.1,0.2c0,0,0.1,0.1,0.1,0.1c0,0.1,0.1,0.2,0.1,0.3c0,0,0,0,0,0c0,0,0,0,0,0c0,0.1,0,0.3-0.1,0.4\n\tc0,0-0.1,0.1-0.1,0.1c0,0.1-0.1,0.1-0.1,0.2l-3.7,4.1c-0.4,0.4-1,0.4-1.4,0.1c-0.4-0.4-0.4-1-0.1-1.4l2.2-2.4h-7\n\tC2.8,9.1,2.4,8.6,2.4,8.1z\"/>\n</svg>\n");
6944
- ;// CONCATENATED MODULE: ./node_modules/raw-loader/dist/cjs.js!./src/icons/icon_balloon-32.svg
6945
- /* harmony default export */ const icon_balloon_32 = ("<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"32px\" height=\"32px\" x=\"0px\" y=\"0px\" viewBox=\"0 0 32 32\"><defs/><path fill=\"#4A48C1\" d=\"M24,10.824v10.375c0,1.104-0.896,2-2,2h-4.694l-4.931,3.625v-3.625H10c-1.104,0-2-0.896-2-2V10.824\tc0-1.104,0.896-2,2-2h12C23.104,8.824,24,9.719,24,10.824z\"/></svg>");
6946
- ;// CONCATENATED MODULE: ./node_modules/raw-loader/dist/cjs.js!./src/icons/icon_check-16.svg
6947
- /* harmony default export */ const icon_check_16 = ("<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16px\"\n height=\"16px\"\n x=\"0px\"\n y=\"0px\"\n viewBox=\"0 0 16 16\"\n>\n <path\n fill=\"currentColor\"\n d=\"M11.6,4.3l-5,5L4.9,7.5C4.4,7,3.7,7,3.2,7.5l0,0C2.8,8,2.8,8.7,3.2,9.2l1.7,1.7l0,0l0.8,0.8\n\tc0.5,0.5,1.2,0.5,1.7,0l0.8-0.8l5-5c0.5-0.5,0.5-1.2,0-1.7l0,0C12.8,3.8,12.1,3.8,11.6,4.3z\"\n />\n</svg>\n");
6948
- ;// CONCATENATED MODULE: ./node_modules/raw-loader/dist/cjs.js!./src/icons/icon_check-32.svg
6949
- /* harmony default export */ const icon_check_32 = ("<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"32px\"\n height=\"32px\"\n x=\"0px\"\n y=\"0px\"\n viewBox=\"0 0 32 32\"\n>\n <path\n fill=\"currentColor\"\n d=\"M22.9,9.3l-9.3,9.3l-3.2-3.2c-0.9-0.9-2.3-0.9-3.2,0l0,0c-0.9,0.9-0.9,2.3,0,3.2l3.2,3.2l0,0l1.6,1.6\n\tc0.9,0.9,2.3,0.9,3.2,0l1.6-1.6l9.3-9.3c0.9-0.9,0.9-2.3,0-3.2l0,0C25.2,8.4,23.7,8.4,22.9,9.3z\"\n />\n</svg>\n");
6950
- ;// CONCATENATED MODULE: ./node_modules/raw-loader/dist/cjs.js!./src/icons/icon_chevron_down-8.svg
6951
- /* harmony default export */ const icon_chevron_down_8 = ("<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"8px\" height=\"8px\" x=\"0px\" y=\"0px\" viewBox=\"0 0 8 8\"><defs/><path fill=\"#4A48C1\" d=\"M-0.001,2.876c0-0.247,0.091-0.494,0.273-0.688c0.38-0.401,1.013-0.418,1.414-0.039l1.938,1.834\tc0.199,0.188,0.547,0.188,0.746,0L6.31,2.15c0.401-0.379,1.034-0.362,1.414,0.04c0.379,0.401,0.361,1.034-0.04,1.414L5.745,5.437\tC4.782,6.35,3.213,6.35,2.249,5.436L0.311,3.603C0.103,3.406-0.001,3.142-0.001,2.876z\"/></svg>");
6952
- ;// CONCATENATED MODULE: ./node_modules/raw-loader/dist/cjs.js!./src/icons/icon_chevron_down-32.svg
6953
- /* harmony default export */ const icon_chevron_down_32 = ("<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"32px\" height=\"32px\" x=\"0px\" y=\"0px\" viewBox=\"0 0 32 32\"><defs/><path fill=\"#4A48C1\" d=\"M16,20.425c-0.782,0-1.563-0.291-2.159-0.874l-6.541-6.408c-0.395-0.387-0.401-1.02-0.015-1.414\tc0.387-0.394,1.021-0.4,1.414-0.015l6.541,6.408c0.42,0.409,1.102,0.409,1.52-0.001l6.541-6.407c0.396-0.386,1.028-0.38,1.414,0.015\tc0.387,0.395,0.381,1.027-0.014,1.414l-6.541,6.407C17.563,20.133,16.782,20.425,16,20.425z\"/></svg>");
6954
- ;// CONCATENATED MODULE: ./node_modules/raw-loader/dist/cjs.js!./src/icons/icon_chevron_right-8.svg
6955
- /* harmony default export */ const icon_chevron_right_8 = ("<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"8px\" height=\"8px\" x=\"0px\" y=\"0px\" viewBox=\"0 0 8 8\"><defs/><path fill=\"#4A48C1\" d=\"M2.875,7.998c-0.247,0-0.494-0.091-0.688-0.273c-0.401-0.38-0.418-1.013-0.039-1.414l1.834-1.938\tc0.188-0.199,0.188-0.547,0-0.746l-1.835-1.94c-0.379-0.401-0.362-1.034,0.04-1.414s1.034-0.361,1.414,0.04l1.834,1.939\tc0.913,0.963,0.913,2.532-0.001,3.496L3.601,7.686C3.405,7.894,3.14,7.998,2.875,7.998z\"/></svg>");
6956
- ;// CONCATENATED MODULE: ./node_modules/raw-loader/dist/cjs.js!./src/icons/icon_chevron_right-16.svg
6957
- /* harmony default export */ const icon_chevron_right_16 = ("<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16px\" height=\"16px\" x=\"0px\" y=\"0px\" viewBox=\"0 0 16 16\"><defs/><path fill=\"#4A48C1\" d=\"M6.5,13c-0.247,0-0.494-0.091-0.687-0.273c-0.401-0.38-0.419-1.013-0.04-1.414L8.22,8.727\tc0.373-0.394,0.373-1.06,0-1.454L5.773,4.687c-0.379-0.401-0.362-1.034,0.04-1.414c0.4-0.378,1.034-0.362,1.414,0.04l2.446,2.586\tc1.096,1.159,1.096,3.043,0,4.203l-2.446,2.586C7.03,12.896,6.765,13,6.5,13z\"/></svg>");
6958
- ;// CONCATENATED MODULE: ./node_modules/raw-loader/dist/cjs.js!./src/icons/icon_close-8.svg
6959
- /* harmony default export */ const icon_close_8 = ("<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"8px\" height=\"8px\" x=\"0px\" y=\"0px\" viewBox=\"0 0 8 8\"><defs/><path fill=\"#4A48C1\" d=\"M7.705,7.729C7.511,7.923,7.255,8.02,7,8.02c-0.257,0-0.514-0.099-0.709-0.295L4,5.423L1.709,7.725\tC1.513,7.921,1.257,8.02,1,8.02c-0.255,0-0.51-0.097-0.706-0.291c-0.391-0.39-0.393-1.022-0.003-1.414l2.298-2.309l-2.27-2.28\tC-0.07,1.334-0.068,0.701,0.323,0.311c0.392-0.389,1.024-0.387,1.415,0.003L4,2.587l2.263-2.274C6.653-0.077,7.287-0.079,7.677,0.31\tC8.068,0.7,8.07,1.333,7.681,1.725l-2.27,2.281l2.298,2.309C8.099,6.705,8.097,7.339,7.705,7.729z\"/></svg>");
6960
- ;// CONCATENATED MODULE: ./node_modules/raw-loader/dist/cjs.js!./src/icons/icon_close-16.svg
6961
- /* harmony default export */ const icon_close_16 = ("<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16px\" height=\"16px\" x=\"0px\" y=\"0px\" viewBox=\"0 0 16 16\"><defs/><path fill=\"#4A48C1\" d=\"M12.709,11.295L9.411,7.982l3.262-3.276c0.39-0.392,0.388-1.024-0.004-1.414\tc-0.39-0.39-1.023-0.388-1.414,0.003L8,6.564L4.746,3.295C4.357,2.904,3.724,2.903,3.332,3.292C2.94,3.682,2.939,4.315,3.329,4.707\tl3.261,3.275l-3.298,3.313c-0.39,0.391-0.388,1.024,0.003,1.414C3.49,12.903,3.745,13,4,13c0.257,0,0.513-0.099,0.708-0.295L8,9.399\tl3.291,3.306C11.486,12.901,11.743,13,12,13c0.255,0,0.511-0.097,0.705-0.291C13.097,12.319,13.099,11.686,12.709,11.295z\"/></svg>");
6962
- ;// CONCATENATED MODULE: ./node_modules/raw-loader/dist/cjs.js!./src/icons/icon_download-16.svg
6963
- /* harmony default export */ const icon_download_16 = ("<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16px\" height=\"16px\" x=\"0px\" y=\"0px\" viewBox=\"0 0 16 16\"><defs/><path fill=\"#FFF\" d=\"M3.175,7.726c-0.413-0.367-0.45-0.999-0.083-1.412c0.367-0.413,0.999-0.45,1.412-0.083L7,8.45V1.5\tc0-0.552,0.448-1,1-1c0.553,0,1,0.448,1,1v6.95l2.496-2.219c0.412-0.367,1.044-0.331,1.411,0.083\tc0.367,0.413,0.33,1.045-0.083,1.412l-4.16,3.698c-0.047,0.041-0.103,0.062-0.154,0.094c-0.047,0.028-0.089,0.064-0.141,0.085\tC8.25,11.649,8.125,11.677,8,11.677c-0.126,0-0.25-0.027-0.369-0.074c-0.05-0.021-0.09-0.055-0.136-0.083\tc-0.053-0.031-0.111-0.053-0.159-0.096L3.175,7.726z M12.018,13.5H3.983c-0.552,0-1,0.447-1,1s0.448,1,1,1h8.035\tc0.553,0,1-0.447,1-1S12.57,13.5,12.018,13.5z\"/></svg>");
6964
- ;// CONCATENATED MODULE: ./node_modules/raw-loader/dist/cjs.js!./src/icons/icon_enlarge-32.svg
6965
- /* harmony default export */ const icon_enlarge_32 = ("<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"32px\" height=\"32px\" x=\"0px\" y=\"0px\" viewBox=\"0 0 32 32\"><defs/><path fill=\"#4A48C1\" d=\"M24,9v6.5c0,0.552-0.447,1-1,1s-1-0.448-1-1v-4.086L11.414,22H15.5c0.552,0,1,0.447,1,1s-0.448,1-1,1H9\tc-0.13,0-0.26-0.026-0.382-0.077c-0.245-0.102-0.439-0.296-0.541-0.541C8.026,23.26,8,23.13,8,23v-6.5c0-0.552,0.448-1,1-1\ts1,0.448,1,1v4.085L20.586,10H16.5c-0.552,0-1-0.448-1-1s0.448-1,1-1H23c0.13,0,0.26,0.026,0.382,0.077\tc0.245,0.102,0.439,0.296,0.541,0.541C23.974,8.74,24,8.87,24,9z\"/></svg>");
6966
- ;// CONCATENATED MODULE: ./node_modules/raw-loader/dist/cjs.js!./src/icons/icon_error-16.svg
6967
- /* harmony default export */ const icon_error_16 = ("<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16px\" height=\"16px\" x=\"0px\" y=\"0px\" viewBox=\"0 0 16 16\"><defs/><path fill=\"#ad001f\" d=\"M15.744,13.104L9.097,1.47c-0.604-1.055-1.59-1.055-2.193,0L0.256,13.104\tc-0.604,1.056-0.102,1.919,1.113,1.919H14.63C15.847,15.022,16.348,14.159,15.744,13.104z M7,5.045c0-0.552,0.448-1,1-1s1,0.448,1,1\tv3.656c0,0.552-0.448,1-1,1s-1-0.448-1-1V5.045z M8,13.212c-0.748,0-1.354-0.607-1.354-1.354c0-0.748,0.606-1.354,1.354-1.354\ts1.354,0.606,1.354,1.354C9.354,12.604,8.748,13.212,8,13.212z\"/></svg>");
6968
- ;// CONCATENATED MODULE: ./node_modules/raw-loader/dist/cjs.js!./src/icons/icon_file-32.svg
6969
- /* harmony default export */ const icon_file_32 = ("<svg xmlns=\"http://www.w3.org/2000/svg\" xml:space=\"preserve\" x=\"0px\" y=\"0px\" version=\"1.1\" viewBox=\"0 0 32 32\"><path fill=\"#4A48C1\" d=\"M16,28.5c-3.6,0-6.5-3-6.5-6.6V9.6c0-0.6,0.4-1,1-1s1,0.4,1,1v12.3c0,2.5,2,4.6,4.5,4.6\tc2.5,0,4.5-2.1,4.5-4.6V8.3c0-1.5-1.2-2.8-2.7-2.8c-1.5,0-2.7,1.3-2.7,2.8v13.5c0,0.6,0.5,1.1,1,1.1c0.6,0,1-0.5,1-1.1v-10\tc0-0.6,0.4-1,1-1s1,0.4,1,1v10c0,1.7-1.4,3.1-3,3.1s-3-1.4-3-3.1V8.3c0-2.6,2.1-4.8,4.7-4.8c2.6,0,4.7,2.2,4.7,4.8v13.6\tC22.5,25.5,19.6,28.5,16,28.5z\"/></svg>");
6970
- ;// CONCATENATED MODULE: ./node_modules/raw-loader/dist/cjs.js!./src/icons/icon_newtopic-32.svg
6971
- /* harmony default export */ const icon_newtopic_32 = ("<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"32px\" height=\"32px\" x=\"0px\" y=\"0px\" viewBox=\"0 0 32 32\"><path fill=\"#4A48C1\" d=\"M16,8.593l2.407,4.573l5.093,0.876l-3.604,3.702l0.74,5.115L16,20.574l-4.634,2.285l0.739-5.115L8.5,14.042\tl5.094-0.876L16,8.593z\"/></svg>");
6972
- ;// CONCATENATED MODULE: ./node_modules/raw-loader/dist/cjs.js!./src/icons/icon_newtranslation-16.svg
6973
- /* harmony default export */ const icon_newtranslation_16 = ("<svg xmlns=\"http://www.w3.org/2000/svg\" x=\"0px\" y=\"0px\" viewBox=\"0 0 16 16\"><path fill=\"#4A48C1\" d=\"M8,0C3.6,0,0,3.6,0,8s3.6,8,8,8s8-3.6,8-8S12.4,0,8,0z M14.1,7.1h-1.4c-0.1-1.5-0.4-2.9-1-4\tC13,4,13.9,5.4,14.1,7.1z M7.1,2.1v5H5C5.2,4.7,6.1,2.9,7.1,2.1z M7.1,8.9v5c-1-0.7-1.9-2.5-2.1-5H7.1z M8.9,13.9v-5H11\tC10.8,11.3,9.9,13.2,8.9,13.9z M8.9,7.1v-5c1,0.7,1.9,2.5,2.1,5H8.9z M4.2,3.1c-0.5,1.1-0.9,2.5-1,4H1.9C2.1,5.4,3,4,4.2,3.1z M1.9,8.9h1.4c0.1,1.5,0.4,2.9,1,4C3,12,2.1,10.5,1.9,8.9z M11.8,12.9c0.5-1.1,0.9-2.5,1-4h1.4C13.9,10.5,13,12,11.8,12.9z\"/></svg>");
6974
- ;// CONCATENATED MODULE: ./node_modules/raw-loader/dist/cjs.js!./src/icons/icon_newtranslation-32.svg
6975
- /* harmony default export */ const icon_newtranslation_32 = ("<svg xmlns=\"http://www.w3.org/2000/svg\" x=\"0px\" y=\"0px\" viewBox=\"0 0 32 32\"><path fill=\"#4A48C1\" d=\"M16,7c-4.9,0-9,4.1-9,9s4.1,9,9,9s9-4.1,9-9S20.9,7,16,7z M22.9,15h-1.6c-0.1-1.7-0.5-3.3-1.1-4.5\tC21.6,11.5,22.6,13.1,22.9,15z M15,9.4V15h-2.3C12.9,12.3,13.9,10.2,15,9.4z M15,17v5.6c-1.1-0.8-2.1-2.9-2.3-5.6H15z M17,22.6V17\th2.3C19.1,19.8,18.1,21.8,17,22.6z M17,15V9.4c1.1,0.8,2.1,2.9,2.3,5.6H17z M11.8,10.4c-0.6,1.3-1,2.8-1.1,4.5H9.1\tC9.4,13.1,10.4,11.5,11.8,10.4z M9.1,17h1.6c0.1,1.7,0.5,3.3,1.1,4.5C10.4,20.5,9.4,18.9,9.1,17z M20.2,21.5c0.6-1.3,1-2.8,1.1-4.5\th1.6C22.6,18.8,21.6,20.5,20.2,21.5z\"/></svg>");
6976
- ;// CONCATENATED MODULE: ./node_modules/raw-loader/dist/cjs.js!./src/icons/icon_options-32.svg
6977
- /* harmony default export */ const icon_options_32 = ("<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"32px\" height=\"32px\" x=\"0px\" y=\"0px\" viewBox=\"0 0 32 32\"><defs/><path fill=\"#4A48C1\" d=\"M26.1,21.383c0.334-0.625,0.602-1.279,0.812-1.949L32,18.609V13.51l-5.058-0.846\tc-0.208-0.67-0.468-1.325-0.795-1.956l3.009-4.145l-3.604-3.634L21.38,5.903c-0.626-0.333-1.276-0.602-1.948-0.81L18.609,0\tl-5.098,0.001l-0.847,5.061c-0.669,0.203-1.326,0.465-1.957,0.794L6.562,2.847L2.929,6.449l2.973,4.171\tC5.569,11.247,5.3,11.9,5.091,12.569L0,13.373v5.099l5.06,0.866c0.204,0.669,0.467,1.324,0.796,1.955l-3.009,4.146l3.601,3.635\tl4.171-2.975c0.627,0.335,1.282,0.603,1.951,0.811L13.372,32h5.118l0.849-5.057c0.668-0.207,1.323-0.469,1.953-0.795l4.144,3.01\tl3.639-3.604L26.1,21.383z M19.01,19.035c-1.675,1.663-4.381,1.652-6.041-0.025c-1.662-1.675-1.649-4.381,0.024-6.042\tc1.676-1.661,4.382-1.648,6.043,0.025C20.699,14.67,20.686,17.377,19.01,19.035z\"/></svg>");
6978
- ;// CONCATENATED MODULE: ./node_modules/raw-loader/dist/cjs.js!./src/icons/icon_send-32.svg
6979
- /* harmony default export */ const icon_send_32 = ("<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"32px\" height=\"32px\" x=\"0px\" y=\"0px\" viewBox=\"0 0 32 32\"><defs/><path fill=\"#4A48C1\" d=\"M6.714,14.985l17.837-7.906c0.681-0.302,1.414,0.301,1.25,1.027L22.273,23.59\tc-0.13,0.566-0.751,0.865-1.275,0.613l-3.623-1.752l-2.334,2.287c-0.572,0.562-1.538,0.156-1.538-0.645V21.01\tc0-0.217,0.078-0.43,0.222-0.594l7.676-8.841l-10.414,7.472l-4.351-2.445C5.987,16.236,6.033,15.287,6.714,14.985L6.714,14.985z\"/></svg>");
6980
- ;// CONCATENATED MODULE: ./node_modules/raw-loader/dist/cjs.js!./src/icons/icon_upload-32.svg
6981
- /* harmony default export */ const icon_upload_32 = ("<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"32px\" height=\"32px\" x=\"0px\" y=\"0px\" viewBox=\"0 0 32 32\"><defs/><path fill=\"#4A48C1\" d=\"M9.488,13.481c-0.391-0.391-0.391-1.023,0-1.414l5.805-5.805c0.026-0.026,0.06-0.036,0.088-0.058\tc0.073-0.06,0.146-0.119,0.235-0.156c0.246-0.103,0.522-0.103,0.769,0c0.093,0.039,0.171,0.101,0.249,0.165\tc0.023,0.02,0.053,0.027,0.074,0.049l5.805,5.805c0.391,0.391,0.391,1.023,0,1.414c-0.195,0.195-0.451,0.293-0.707,0.293\ts-0.512-0.098-0.707-0.293L17,9.383V20.33c0,0.553-0.447,1-1,1c-0.552,0-1-0.447-1-1V9.383l-4.098,4.098\tC10.512,13.872,9.879,13.872,9.488,13.481z M22.819,24.031H9.181c-0.552,0-1,0.447-1,1s0.448,1,1,1h13.639c0.553,0,1-0.447,1-1\tS23.372,24.031,22.819,24.031z\"/></svg>");
6982
- // EXTERNAL MODULE: ./src/javascripts/lib/css.js
6983
- var css = __webpack_require__(2);
6984
- // EXTERNAL MODULE: external "preact/jsx-runtime"
6985
- var jsx_runtime_ = __webpack_require__(7844);
6986
- ;// CONCATENATED MODULE: ./src/javascripts/ui/components/layout/icon.js
6987
- /* eslint-disable import/no-webpack-loader-syntax */
6988
- // The eslint rules are disabled for this as otherwsise we'd need to include the loader rule in all implementations
6989
- // this can again be changed when we can import pre-built packages in implementations
6990
-
6991
-
6992
-
6993
-
6994
-
6995
-
6996
-
6997
-
6998
-
6999
-
7000
-
7001
-
7002
-
7003
-
7004
-
7005
-
7006
-
7007
-
7008
-
7009
-
7010
-
7011
-
7012
-
7013
-
7014
- /* eslint-enable import/no-webpack-loader-syntax */
7015
-
7016
-
7017
-
7018
- const ICONS = {
7019
- send32: icon_send_32,
7020
- balloon32: icon_balloon_32,
7021
- newTopic32: icon_newtopic_32,
7022
- newTranslation16: icon_newtranslation_16,
7023
- newTranslation32: icon_newtranslation_32,
7024
- avatar32: avatar_bot_32,
7025
- chevronDown8: icon_chevron_down_8,
7026
- chevronDown32: icon_chevron_down_32,
7027
- chevronRight8: icon_chevron_right_8,
7028
- chevronRight16: icon_chevron_right_16,
7029
- close8: icon_close_8,
7030
- close16: icon_close_16,
7031
- enlarge32: icon_enlarge_32,
7032
- options32: icon_options_32,
7033
- file32: icon_file_32,
7034
- upload32: icon_upload_32,
7035
- download16: icon_download_16,
7036
- error16: icon_error_16,
7037
- arrowLeft16: icon_arrow_left_16,
7038
- arrowRight16: icon_arrow_right_16,
7039
- check32: icon_check_32,
7040
- check16: icon_check_16
7041
- };
7042
- const Icon = ({
7043
- name,
7044
- size = '32',
7045
- className = undefined,
7046
- alt
7047
- }) => {
7048
- const iconName = `${name}${size}`;
7049
- return (0,jsx_runtime_.jsxs)(jsx_runtime_.Fragment, {
7050
- children: [(0,jsx_runtime_.jsx)("div", {
7051
- "aria-hidden": "true",
7052
- className: className || (0,css/* className */.o)('icon'),
7053
- dangerouslySetInnerHTML: {
7054
- __html: ICONS[iconName]
7055
- }
7056
- }), alt && (0,jsx_runtime_.jsx)("span", {
7057
- className: (0,css/* className */.o)('visually-hidden'),
7058
- children: alt
7059
- })]
7060
- });
7061
- };
7062
- /* harmony default export */ const icon = (Icon);
7063
-
7064
- /***/ }),
7065
-
7066
7104
  /***/ 7054:
7067
7105
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
7068
7106
 
@@ -7504,7 +7542,7 @@ const useSeamlyActivityEventHandler = () => (0,preact_hooks__WEBPACK_IMPORTED_MO
7504
7542
  /* harmony import */ var config__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9787);
7505
7543
  /* harmony import */ var ui_components_core_seamly_api_context__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2871);
7506
7544
  /* harmony import */ var ui_utils_seamly_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(1149);
7507
- /* harmony import */ var domains_app_actions__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(9201);
7545
+ /* harmony import */ var domains_app_actions__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(526);
7508
7546
  /* harmony import */ var domains_app_hooks__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(3423);
7509
7547
  /* harmony import */ var domains_app_slice__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(1322);
7510
7548
  /* harmony import */ var domains_config_hooks__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(6134);
@@ -9532,6 +9570,158 @@ var createStructuredSelector = function createStructuredSelector(selectors, sele
9532
9570
  return resultSelector;
9533
9571
  };
9534
9572
 
9573
+ /***/ }),
9574
+
9575
+ /***/ 2398:
9576
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
9577
+
9578
+
9579
+ // EXPORTS
9580
+ __webpack_require__.d(__webpack_exports__, {
9581
+ Z: () => (/* binding */ icon)
9582
+ });
9583
+
9584
+ // UNUSED EXPORTS: ICONS
9585
+
9586
+ // EXTERNAL MODULE: external "preact/jsx-runtime"
9587
+ var jsx_runtime_ = __webpack_require__(7844);
9588
+ ;// CONCATENATED MODULE: ./node_modules/raw-loader/dist/cjs.js!./src/icons/avatar_bot-32.svg
9589
+ /* harmony default export */ const avatar_bot_32 = ("<svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\n\t viewBox=\"0 0 32 32\" enable-background=\"new 0 0 32 32\" xml:space=\"preserve\">\n<path fill=\"#4A48C1\" d=\"M10,14.8c-1.1,0-2-0.9-2-2s0.9-2,2-2s2,0.9,2,2S11.1,14.8,10,14.8z M15.9,14.8c1.1,0,2-0.9,2-2s-0.9-2-2-2\n\ts-2,0.9-2,2S14.8,14.8,15.9,14.8z M21.8,10.8c-1.1,0-2,0.9-2,2s0.9,2,2,2s2-0.9,2-2S22.9,10.8,21.8,10.8z M21.3,18.1H10.7\n\tC11.7,23.9,20.2,23.9,21.3,18.1z\"/>\n</svg>\n");
9590
+ ;// CONCATENATED MODULE: ./node_modules/raw-loader/dist/cjs.js!./src/icons/icon_arrow_left-16.svg
9591
+ /* harmony default export */ const icon_arrow_left_16 = ("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Generator: Adobe Illustrator 25.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->\n<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\n\t viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\" xml:space=\"preserve\">\n<path fill=\"#5053A4\" d=\"M13.6,8c0,0.6-0.4,1-1,1h-7l2.2,2.5c0.4,0.4,0.3,1-0.1,1.4c-0.2,0.2-0.4,0.2-0.7,0.2c-0.3,0-0.6-0.1-0.8-0.3\n\tL2.6,8.6c0,0-0.1-0.1-0.1-0.2c0,0-0.1-0.1-0.1-0.1c0-0.1-0.1-0.2-0.1-0.3c0,0,0,0,0,0c0,0,0,0,0,0c0-0.1,0-0.3,0.1-0.4\n\tc0,0,0.1-0.1,0.1-0.1c0-0.1,0.1-0.1,0.1-0.2l3.7-4.1c0.4-0.4,1-0.4,1.4-0.1c0.4,0.4,0.4,1,0.1,1.4L5.6,7h7C13.2,7,13.6,7.4,13.6,8z\"\n\t/>\n</svg>\n");
9592
+ ;// CONCATENATED MODULE: ./node_modules/raw-loader/dist/cjs.js!./src/icons/icon_arrow_right-16.svg
9593
+ /* harmony default export */ const icon_arrow_right_16 = ("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Generator: Adobe Illustrator 25.2.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->\n<svg version=\"1.1\" id=\"Layer_1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\"\n\t viewBox=\"0 0 16 16\" enable-background=\"new 0 0 16 16\" xml:space=\"preserve\">\n<path fill=\"#5053A4\" d=\"M2.4,8.1c0-0.6,0.4-1,1-1h7L8.1,4.5c-0.4-0.4-0.3-1,0.1-1.4c0.2-0.2,0.4-0.2,0.7-0.2c0.3,0,0.6,0.1,0.8,0.3\n\tl3.7,4.2c0,0,0.1,0.1,0.1,0.2c0,0,0.1,0.1,0.1,0.1c0,0.1,0.1,0.2,0.1,0.3c0,0,0,0,0,0c0,0,0,0,0,0c0,0.1,0,0.3-0.1,0.4\n\tc0,0-0.1,0.1-0.1,0.1c0,0.1-0.1,0.1-0.1,0.2l-3.7,4.1c-0.4,0.4-1,0.4-1.4,0.1c-0.4-0.4-0.4-1-0.1-1.4l2.2-2.4h-7\n\tC2.8,9.1,2.4,8.6,2.4,8.1z\"/>\n</svg>\n");
9594
+ ;// CONCATENATED MODULE: ./node_modules/raw-loader/dist/cjs.js!./src/icons/icon_balloon-32.svg
9595
+ /* harmony default export */ const icon_balloon_32 = ("<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"32px\" height=\"32px\" x=\"0px\" y=\"0px\" viewBox=\"0 0 32 32\"><defs/><path fill=\"#4A48C1\" d=\"M24,10.824v10.375c0,1.104-0.896,2-2,2h-4.694l-4.931,3.625v-3.625H10c-1.104,0-2-0.896-2-2V10.824\tc0-1.104,0.896-2,2-2h12C23.104,8.824,24,9.719,24,10.824z\"/></svg>");
9596
+ ;// CONCATENATED MODULE: ./node_modules/raw-loader/dist/cjs.js!./src/icons/icon_check-16.svg
9597
+ /* harmony default export */ const icon_check_16 = ("<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16px\"\n height=\"16px\"\n x=\"0px\"\n y=\"0px\"\n viewBox=\"0 0 16 16\"\n>\n <path\n fill=\"currentColor\"\n d=\"M11.6,4.3l-5,5L4.9,7.5C4.4,7,3.7,7,3.2,7.5l0,0C2.8,8,2.8,8.7,3.2,9.2l1.7,1.7l0,0l0.8,0.8\n\tc0.5,0.5,1.2,0.5,1.7,0l0.8-0.8l5-5c0.5-0.5,0.5-1.2,0-1.7l0,0C12.8,3.8,12.1,3.8,11.6,4.3z\"\n />\n</svg>\n");
9598
+ ;// CONCATENATED MODULE: ./node_modules/raw-loader/dist/cjs.js!./src/icons/icon_check-32.svg
9599
+ /* harmony default export */ const icon_check_32 = ("<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"32px\"\n height=\"32px\"\n x=\"0px\"\n y=\"0px\"\n viewBox=\"0 0 32 32\"\n>\n <path\n fill=\"currentColor\"\n d=\"M22.9,9.3l-9.3,9.3l-3.2-3.2c-0.9-0.9-2.3-0.9-3.2,0l0,0c-0.9,0.9-0.9,2.3,0,3.2l3.2,3.2l0,0l1.6,1.6\n\tc0.9,0.9,2.3,0.9,3.2,0l1.6-1.6l9.3-9.3c0.9-0.9,0.9-2.3,0-3.2l0,0C25.2,8.4,23.7,8.4,22.9,9.3z\"\n />\n</svg>\n");
9600
+ ;// CONCATENATED MODULE: ./node_modules/raw-loader/dist/cjs.js!./src/icons/icon_chevron_down-8.svg
9601
+ /* harmony default export */ const icon_chevron_down_8 = ("<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"8px\" height=\"8px\" x=\"0px\" y=\"0px\" viewBox=\"0 0 8 8\"><defs/><path fill=\"#4A48C1\" d=\"M-0.001,2.876c0-0.247,0.091-0.494,0.273-0.688c0.38-0.401,1.013-0.418,1.414-0.039l1.938,1.834\tc0.199,0.188,0.547,0.188,0.746,0L6.31,2.15c0.401-0.379,1.034-0.362,1.414,0.04c0.379,0.401,0.361,1.034-0.04,1.414L5.745,5.437\tC4.782,6.35,3.213,6.35,2.249,5.436L0.311,3.603C0.103,3.406-0.001,3.142-0.001,2.876z\"/></svg>");
9602
+ ;// CONCATENATED MODULE: ./node_modules/raw-loader/dist/cjs.js!./src/icons/icon_chevron_down-32.svg
9603
+ /* harmony default export */ const icon_chevron_down_32 = ("<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"32px\" height=\"32px\" x=\"0px\" y=\"0px\" viewBox=\"0 0 32 32\"><defs/><path fill=\"#4A48C1\" d=\"M16,20.425c-0.782,0-1.563-0.291-2.159-0.874l-6.541-6.408c-0.395-0.387-0.401-1.02-0.015-1.414\tc0.387-0.394,1.021-0.4,1.414-0.015l6.541,6.408c0.42,0.409,1.102,0.409,1.52-0.001l6.541-6.407c0.396-0.386,1.028-0.38,1.414,0.015\tc0.387,0.395,0.381,1.027-0.014,1.414l-6.541,6.407C17.563,20.133,16.782,20.425,16,20.425z\"/></svg>");
9604
+ ;// CONCATENATED MODULE: ./node_modules/raw-loader/dist/cjs.js!./src/icons/icon_chevron_right-8.svg
9605
+ /* harmony default export */ const icon_chevron_right_8 = ("<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"8px\" height=\"8px\" x=\"0px\" y=\"0px\" viewBox=\"0 0 8 8\"><defs/><path fill=\"#4A48C1\" d=\"M2.875,7.998c-0.247,0-0.494-0.091-0.688-0.273c-0.401-0.38-0.418-1.013-0.039-1.414l1.834-1.938\tc0.188-0.199,0.188-0.547,0-0.746l-1.835-1.94c-0.379-0.401-0.362-1.034,0.04-1.414s1.034-0.361,1.414,0.04l1.834,1.939\tc0.913,0.963,0.913,2.532-0.001,3.496L3.601,7.686C3.405,7.894,3.14,7.998,2.875,7.998z\"/></svg>");
9606
+ ;// CONCATENATED MODULE: ./node_modules/raw-loader/dist/cjs.js!./src/icons/icon_chevron_right-16.svg
9607
+ /* harmony default export */ const icon_chevron_right_16 = ("<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16px\" height=\"16px\" x=\"0px\" y=\"0px\" viewBox=\"0 0 16 16\"><defs/><path fill=\"#4A48C1\" d=\"M6.5,13c-0.247,0-0.494-0.091-0.687-0.273c-0.401-0.38-0.419-1.013-0.04-1.414L8.22,8.727\tc0.373-0.394,0.373-1.06,0-1.454L5.773,4.687c-0.379-0.401-0.362-1.034,0.04-1.414c0.4-0.378,1.034-0.362,1.414,0.04l2.446,2.586\tc1.096,1.159,1.096,3.043,0,4.203l-2.446,2.586C7.03,12.896,6.765,13,6.5,13z\"/></svg>");
9608
+ ;// CONCATENATED MODULE: ./node_modules/raw-loader/dist/cjs.js!./src/icons/icon_close-8.svg
9609
+ /* harmony default export */ const icon_close_8 = ("<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"8px\" height=\"8px\" x=\"0px\" y=\"0px\" viewBox=\"0 0 8 8\"><defs/><path fill=\"#4A48C1\" d=\"M7.705,7.729C7.511,7.923,7.255,8.02,7,8.02c-0.257,0-0.514-0.099-0.709-0.295L4,5.423L1.709,7.725\tC1.513,7.921,1.257,8.02,1,8.02c-0.255,0-0.51-0.097-0.706-0.291c-0.391-0.39-0.393-1.022-0.003-1.414l2.298-2.309l-2.27-2.28\tC-0.07,1.334-0.068,0.701,0.323,0.311c0.392-0.389,1.024-0.387,1.415,0.003L4,2.587l2.263-2.274C6.653-0.077,7.287-0.079,7.677,0.31\tC8.068,0.7,8.07,1.333,7.681,1.725l-2.27,2.281l2.298,2.309C8.099,6.705,8.097,7.339,7.705,7.729z\"/></svg>");
9610
+ ;// CONCATENATED MODULE: ./node_modules/raw-loader/dist/cjs.js!./src/icons/icon_close-16.svg
9611
+ /* harmony default export */ const icon_close_16 = ("<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16px\" height=\"16px\" x=\"0px\" y=\"0px\" viewBox=\"0 0 16 16\"><defs/><path fill=\"#4A48C1\" d=\"M12.709,11.295L9.411,7.982l3.262-3.276c0.39-0.392,0.388-1.024-0.004-1.414\tc-0.39-0.39-1.023-0.388-1.414,0.003L8,6.564L4.746,3.295C4.357,2.904,3.724,2.903,3.332,3.292C2.94,3.682,2.939,4.315,3.329,4.707\tl3.261,3.275l-3.298,3.313c-0.39,0.391-0.388,1.024,0.003,1.414C3.49,12.903,3.745,13,4,13c0.257,0,0.513-0.099,0.708-0.295L8,9.399\tl3.291,3.306C11.486,12.901,11.743,13,12,13c0.255,0,0.511-0.097,0.705-0.291C13.097,12.319,13.099,11.686,12.709,11.295z\"/></svg>");
9612
+ ;// CONCATENATED MODULE: ./node_modules/raw-loader/dist/cjs.js!./src/icons/icon_download-16.svg
9613
+ /* harmony default export */ const icon_download_16 = ("<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16px\" height=\"16px\" x=\"0px\" y=\"0px\" viewBox=\"0 0 16 16\"><defs/><path fill=\"#FFF\" d=\"M3.175,7.726c-0.413-0.367-0.45-0.999-0.083-1.412c0.367-0.413,0.999-0.45,1.412-0.083L7,8.45V1.5\tc0-0.552,0.448-1,1-1c0.553,0,1,0.448,1,1v6.95l2.496-2.219c0.412-0.367,1.044-0.331,1.411,0.083\tc0.367,0.413,0.33,1.045-0.083,1.412l-4.16,3.698c-0.047,0.041-0.103,0.062-0.154,0.094c-0.047,0.028-0.089,0.064-0.141,0.085\tC8.25,11.649,8.125,11.677,8,11.677c-0.126,0-0.25-0.027-0.369-0.074c-0.05-0.021-0.09-0.055-0.136-0.083\tc-0.053-0.031-0.111-0.053-0.159-0.096L3.175,7.726z M12.018,13.5H3.983c-0.552,0-1,0.447-1,1s0.448,1,1,1h8.035\tc0.553,0,1-0.447,1-1S12.57,13.5,12.018,13.5z\"/></svg>");
9614
+ ;// CONCATENATED MODULE: ./node_modules/raw-loader/dist/cjs.js!./src/icons/icon_enlarge-32.svg
9615
+ /* harmony default export */ const icon_enlarge_32 = ("<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"32px\" height=\"32px\" x=\"0px\" y=\"0px\" viewBox=\"0 0 32 32\"><defs/><path fill=\"#4A48C1\" d=\"M24,9v6.5c0,0.552-0.447,1-1,1s-1-0.448-1-1v-4.086L11.414,22H15.5c0.552,0,1,0.447,1,1s-0.448,1-1,1H9\tc-0.13,0-0.26-0.026-0.382-0.077c-0.245-0.102-0.439-0.296-0.541-0.541C8.026,23.26,8,23.13,8,23v-6.5c0-0.552,0.448-1,1-1\ts1,0.448,1,1v4.085L20.586,10H16.5c-0.552,0-1-0.448-1-1s0.448-1,1-1H23c0.13,0,0.26,0.026,0.382,0.077\tc0.245,0.102,0.439,0.296,0.541,0.541C23.974,8.74,24,8.87,24,9z\"/></svg>");
9616
+ ;// CONCATENATED MODULE: ./node_modules/raw-loader/dist/cjs.js!./src/icons/icon_error-16.svg
9617
+ /* harmony default export */ const icon_error_16 = ("<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16px\" height=\"16px\" x=\"0px\" y=\"0px\" viewBox=\"0 0 16 16\"><defs/><path fill=\"#ad001f\" d=\"M15.744,13.104L9.097,1.47c-0.604-1.055-1.59-1.055-2.193,0L0.256,13.104\tc-0.604,1.056-0.102,1.919,1.113,1.919H14.63C15.847,15.022,16.348,14.159,15.744,13.104z M7,5.045c0-0.552,0.448-1,1-1s1,0.448,1,1\tv3.656c0,0.552-0.448,1-1,1s-1-0.448-1-1V5.045z M8,13.212c-0.748,0-1.354-0.607-1.354-1.354c0-0.748,0.606-1.354,1.354-1.354\ts1.354,0.606,1.354,1.354C9.354,12.604,8.748,13.212,8,13.212z\"/></svg>");
9618
+ ;// CONCATENATED MODULE: ./node_modules/raw-loader/dist/cjs.js!./src/icons/icon_file-32.svg
9619
+ /* harmony default export */ const icon_file_32 = ("<svg xmlns=\"http://www.w3.org/2000/svg\" xml:space=\"preserve\" x=\"0px\" y=\"0px\" version=\"1.1\" viewBox=\"0 0 32 32\"><path fill=\"#4A48C1\" d=\"M16,28.5c-3.6,0-6.5-3-6.5-6.6V9.6c0-0.6,0.4-1,1-1s1,0.4,1,1v12.3c0,2.5,2,4.6,4.5,4.6\tc2.5,0,4.5-2.1,4.5-4.6V8.3c0-1.5-1.2-2.8-2.7-2.8c-1.5,0-2.7,1.3-2.7,2.8v13.5c0,0.6,0.5,1.1,1,1.1c0.6,0,1-0.5,1-1.1v-10\tc0-0.6,0.4-1,1-1s1,0.4,1,1v10c0,1.7-1.4,3.1-3,3.1s-3-1.4-3-3.1V8.3c0-2.6,2.1-4.8,4.7-4.8c2.6,0,4.7,2.2,4.7,4.8v13.6\tC22.5,25.5,19.6,28.5,16,28.5z\"/></svg>");
9620
+ ;// CONCATENATED MODULE: ./node_modules/raw-loader/dist/cjs.js!./src/icons/icon_newtopic-32.svg
9621
+ /* harmony default export */ const icon_newtopic_32 = ("<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"32px\" height=\"32px\" x=\"0px\" y=\"0px\" viewBox=\"0 0 32 32\"><path fill=\"#4A48C1\" d=\"M16,8.593l2.407,4.573l5.093,0.876l-3.604,3.702l0.74,5.115L16,20.574l-4.634,2.285l0.739-5.115L8.5,14.042\tl5.094-0.876L16,8.593z\"/></svg>");
9622
+ ;// CONCATENATED MODULE: ./node_modules/raw-loader/dist/cjs.js!./src/icons/icon_newtranslation-16.svg
9623
+ /* harmony default export */ const icon_newtranslation_16 = ("<svg xmlns=\"http://www.w3.org/2000/svg\" x=\"0px\" y=\"0px\" viewBox=\"0 0 16 16\"><path fill=\"#4A48C1\" d=\"M8,0C3.6,0,0,3.6,0,8s3.6,8,8,8s8-3.6,8-8S12.4,0,8,0z M14.1,7.1h-1.4c-0.1-1.5-0.4-2.9-1-4\tC13,4,13.9,5.4,14.1,7.1z M7.1,2.1v5H5C5.2,4.7,6.1,2.9,7.1,2.1z M7.1,8.9v5c-1-0.7-1.9-2.5-2.1-5H7.1z M8.9,13.9v-5H11\tC10.8,11.3,9.9,13.2,8.9,13.9z M8.9,7.1v-5c1,0.7,1.9,2.5,2.1,5H8.9z M4.2,3.1c-0.5,1.1-0.9,2.5-1,4H1.9C2.1,5.4,3,4,4.2,3.1z M1.9,8.9h1.4c0.1,1.5,0.4,2.9,1,4C3,12,2.1,10.5,1.9,8.9z M11.8,12.9c0.5-1.1,0.9-2.5,1-4h1.4C13.9,10.5,13,12,11.8,12.9z\"/></svg>");
9624
+ ;// CONCATENATED MODULE: ./node_modules/raw-loader/dist/cjs.js!./src/icons/icon_newtranslation-32.svg
9625
+ /* harmony default export */ const icon_newtranslation_32 = ("<svg xmlns=\"http://www.w3.org/2000/svg\" x=\"0px\" y=\"0px\" viewBox=\"0 0 32 32\"><path fill=\"#4A48C1\" d=\"M16,7c-4.9,0-9,4.1-9,9s4.1,9,9,9s9-4.1,9-9S20.9,7,16,7z M22.9,15h-1.6c-0.1-1.7-0.5-3.3-1.1-4.5\tC21.6,11.5,22.6,13.1,22.9,15z M15,9.4V15h-2.3C12.9,12.3,13.9,10.2,15,9.4z M15,17v5.6c-1.1-0.8-2.1-2.9-2.3-5.6H15z M17,22.6V17\th2.3C19.1,19.8,18.1,21.8,17,22.6z M17,15V9.4c1.1,0.8,2.1,2.9,2.3,5.6H17z M11.8,10.4c-0.6,1.3-1,2.8-1.1,4.5H9.1\tC9.4,13.1,10.4,11.5,11.8,10.4z M9.1,17h1.6c0.1,1.7,0.5,3.3,1.1,4.5C10.4,20.5,9.4,18.9,9.1,17z M20.2,21.5c0.6-1.3,1-2.8,1.1-4.5\th1.6C22.6,18.8,21.6,20.5,20.2,21.5z\"/></svg>");
9626
+ ;// CONCATENATED MODULE: ./node_modules/raw-loader/dist/cjs.js!./src/icons/icon_options-32.svg
9627
+ /* harmony default export */ const icon_options_32 = ("<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"32px\" height=\"32px\" x=\"0px\" y=\"0px\" viewBox=\"0 0 32 32\"><defs/><path fill=\"#4A48C1\" d=\"M26.1,21.383c0.334-0.625,0.602-1.279,0.812-1.949L32,18.609V13.51l-5.058-0.846\tc-0.208-0.67-0.468-1.325-0.795-1.956l3.009-4.145l-3.604-3.634L21.38,5.903c-0.626-0.333-1.276-0.602-1.948-0.81L18.609,0\tl-5.098,0.001l-0.847,5.061c-0.669,0.203-1.326,0.465-1.957,0.794L6.562,2.847L2.929,6.449l2.973,4.171\tC5.569,11.247,5.3,11.9,5.091,12.569L0,13.373v5.099l5.06,0.866c0.204,0.669,0.467,1.324,0.796,1.955l-3.009,4.146l3.601,3.635\tl4.171-2.975c0.627,0.335,1.282,0.603,1.951,0.811L13.372,32h5.118l0.849-5.057c0.668-0.207,1.323-0.469,1.953-0.795l4.144,3.01\tl3.639-3.604L26.1,21.383z M19.01,19.035c-1.675,1.663-4.381,1.652-6.041-0.025c-1.662-1.675-1.649-4.381,0.024-6.042\tc1.676-1.661,4.382-1.648,6.043,0.025C20.699,14.67,20.686,17.377,19.01,19.035z\"/></svg>");
9628
+ ;// CONCATENATED MODULE: ./node_modules/raw-loader/dist/cjs.js!./src/icons/icon_send-32.svg
9629
+ /* harmony default export */ const icon_send_32 = ("<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"32px\" height=\"32px\" x=\"0px\" y=\"0px\" viewBox=\"0 0 32 32\"><defs/><path fill=\"#4A48C1\" d=\"M6.714,14.985l17.837-7.906c0.681-0.302,1.414,0.301,1.25,1.027L22.273,23.59\tc-0.13,0.566-0.751,0.865-1.275,0.613l-3.623-1.752l-2.334,2.287c-0.572,0.562-1.538,0.156-1.538-0.645V21.01\tc0-0.217,0.078-0.43,0.222-0.594l7.676-8.841l-10.414,7.472l-4.351-2.445C5.987,16.236,6.033,15.287,6.714,14.985L6.714,14.985z\"/></svg>");
9630
+ ;// CONCATENATED MODULE: ./node_modules/raw-loader/dist/cjs.js!./src/icons/icon_upload-32.svg
9631
+ /* harmony default export */ const icon_upload_32 = ("<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"32px\" height=\"32px\" x=\"0px\" y=\"0px\" viewBox=\"0 0 32 32\"><defs/><path fill=\"#4A48C1\" d=\"M9.488,13.481c-0.391-0.391-0.391-1.023,0-1.414l5.805-5.805c0.026-0.026,0.06-0.036,0.088-0.058\tc0.073-0.06,0.146-0.119,0.235-0.156c0.246-0.103,0.522-0.103,0.769,0c0.093,0.039,0.171,0.101,0.249,0.165\tc0.023,0.02,0.053,0.027,0.074,0.049l5.805,5.805c0.391,0.391,0.391,1.023,0,1.414c-0.195,0.195-0.451,0.293-0.707,0.293\ts-0.512-0.098-0.707-0.293L17,9.383V20.33c0,0.553-0.447,1-1,1c-0.552,0-1-0.447-1-1V9.383l-4.098,4.098\tC10.512,13.872,9.879,13.872,9.488,13.481z M22.819,24.031H9.181c-0.552,0-1,0.447-1,1s0.448,1,1,1h13.639c0.553,0,1-0.447,1-1\tS23.372,24.031,22.819,24.031z\"/></svg>");
9632
+ // EXTERNAL MODULE: ./src/javascripts/lib/css.js
9633
+ var css = __webpack_require__(2);
9634
+ ;// CONCATENATED MODULE: ./src/javascripts/ui/components/layout/icon.tsx
9635
+
9636
+ /* eslint-disable import/no-webpack-loader-syntax */
9637
+ // The eslint rules are disabled for this as otherwsise we'd need to include the loader rule in all implementations
9638
+ // this can again be changed when we can import pre-built packages in implementations
9639
+
9640
+
9641
+
9642
+
9643
+
9644
+
9645
+
9646
+
9647
+
9648
+
9649
+
9650
+
9651
+
9652
+
9653
+
9654
+
9655
+
9656
+
9657
+
9658
+
9659
+
9660
+
9661
+
9662
+ /* eslint-enable import/no-webpack-loader-syntax */
9663
+ const ICONS = {
9664
+ send: {
9665
+ 32: icon_send_32,
9666
+ },
9667
+ balloon: {
9668
+ 32: icon_balloon_32,
9669
+ },
9670
+ newTopic: {
9671
+ 32: icon_newtopic_32,
9672
+ },
9673
+ newTranslation: {
9674
+ 16: icon_newtranslation_16,
9675
+ 32: icon_newtranslation_32,
9676
+ },
9677
+ avatar: {
9678
+ 32: avatar_bot_32,
9679
+ },
9680
+ chevronDown: {
9681
+ 8: icon_chevron_down_8,
9682
+ 32: icon_chevron_down_32,
9683
+ },
9684
+ chevronRight: {
9685
+ 8: icon_chevron_right_8,
9686
+ 16: icon_chevron_right_16,
9687
+ },
9688
+ close: {
9689
+ 8: icon_close_8,
9690
+ 16: icon_close_16,
9691
+ },
9692
+ enlarge: {
9693
+ 32: icon_enlarge_32,
9694
+ },
9695
+ options: {
9696
+ 32: icon_options_32,
9697
+ },
9698
+ file: {
9699
+ 32: icon_file_32,
9700
+ },
9701
+ upload: {
9702
+ 32: icon_upload_32,
9703
+ },
9704
+ download: {
9705
+ 16: icon_download_16,
9706
+ },
9707
+ error: {
9708
+ 16: icon_error_16,
9709
+ },
9710
+ arrowLeft: {
9711
+ 16: icon_arrow_left_16,
9712
+ },
9713
+ arrowRight: {
9714
+ 16: icon_arrow_right_16,
9715
+ },
9716
+ check: {
9717
+ 16: icon_check_16,
9718
+ 32: icon_check_32,
9719
+ },
9720
+ };
9721
+ const Icon = ({ name, size = '32', className, alt }) => ((0,jsx_runtime_.jsxs)(jsx_runtime_.Fragment, { children: [(0,jsx_runtime_.jsx)("div", { "aria-hidden": "true", className: className || (0,css/* className */.o)('icon'), dangerouslySetInnerHTML: { __html: ICONS[name][size] } }), alt && (0,jsx_runtime_.jsx)("span", { className: (0,css/* className */.o)('visually-hidden'), children: alt })] }));
9722
+ /* harmony default export */ const icon = (Icon);
9723
+
9724
+
9535
9725
  /***/ }),
9536
9726
 
9537
9727
  /***/ 3250:
@@ -10168,108 +10358,61 @@ const ComponentContext = (0,external_preact_.createContext)({});
10168
10358
  var message_container = __webpack_require__(2480);
10169
10359
  // EXTERNAL MODULE: ./src/javascripts/domains/translations/hooks.ts + 1 modules
10170
10360
  var translations_hooks = __webpack_require__(4398);
10171
- ;// CONCATENATED MODULE: ./src/javascripts/ui/components/conversation/event/card-component.js
10172
-
10361
+ ;// CONCATENATED MODULE: ./src/javascripts/ui/components/conversation/event/card-component.tsx
10173
10362
 
10174
10363
 
10175
10364
 
10176
10365
 
10177
10366
 
10178
- const CardComponent = ({
10179
- id,
10180
- action,
10181
- buttonText,
10182
- description,
10183
- hasFocus,
10184
- image,
10185
- title,
10186
- isCarouselItem
10187
- }) => {
10188
- const cardRef = (0,hooks_.useRef)(null);
10189
- const {
10190
- sendMessage,
10191
- sendAction,
10192
- emitEvent
10193
- } = (0,seamly_hooks/* useSeamlyCommands */.bs)();
10194
- const descriptionId = (0,seamly_hooks/* useGeneratedId */.I8)();
10195
- const isMounted = (0,hooks_.useRef)();
10196
- const CardActionComponent = action.type === seamly_utils/* cardTypes */.wh.navigate ? 'a' : 'button';
10197
- const emitCardEvent = (0,hooks_.useCallback)(() => emitEvent(`action.${seamly_utils/* actionTypes */.Hp.clickCard}`, {
10198
- type: seamly_utils/* actionTypes */.Hp.clickCta,
10199
- originMessage: id,
10200
- action
10201
- }), [emitEvent, id, action]);
10202
- const handleClick = (0,hooks_.useCallback)(() => {
10203
- emitCardEvent();
10204
- if (action.type === seamly_utils/* cardTypes */.wh.ask) {
10205
- sendMessage({
10206
- body: action.ask
10207
- });
10208
- } else if (action.type === seamly_utils/* cardTypes */.wh.topic) {
10209
- const {
10210
- topic: name,
10211
- fallbackMessage
10212
- } = action;
10213
- sendAction({
10214
- type: seamly_utils/* actionTypes */.Hp.setTopic,
10215
- body: {
10216
- name,
10217
- fallbackMessage
10367
+ const CardComponent = ({ id, action, buttonText, description, hasFocus, image, title, isCarouselItem, }) => {
10368
+ const cardRef = (0,hooks_.useRef)(null);
10369
+ const { sendMessage, sendAction, emitEvent } = (0,seamly_hooks/* useSeamlyCommands */.bs)();
10370
+ const descriptionId = (0,seamly_hooks/* useGeneratedId */.I8)();
10371
+ const isMounted = (0,hooks_.useRef)(false);
10372
+ const CardActionComponent = action.type === seamly_utils/* cardTypes */.wh.navigate ? 'a' : 'button';
10373
+ const emitCardEvent = (0,hooks_.useCallback)(() => emitEvent(`action.${seamly_utils/* actionTypes */.Hp.clickCard}`, {
10374
+ type: seamly_utils/* actionTypes */.Hp.clickCta,
10375
+ originMessage: id,
10376
+ action,
10377
+ }), [emitEvent, id, action]);
10378
+ const handleClick = (0,hooks_.useCallback)(() => {
10379
+ emitCardEvent();
10380
+ if (action.type === seamly_utils/* cardTypes */.wh.ask) {
10381
+ sendMessage({ body: action.ask });
10218
10382
  }
10219
- });
10220
- }
10221
- }, [sendMessage, action, sendAction, emitCardEvent]);
10222
- const actionProps = (0,hooks_.useMemo)(() => action.type === seamly_utils/* cardTypes */.wh.navigate ? {
10223
- href: action.link,
10224
- rel: 'noopener noreferrer',
10225
- target: action.newTab ? '_blank' : '_self',
10226
- onClick: emitCardEvent
10227
- } : {
10228
- onClick: handleClick
10229
- }, [action, handleClick, emitCardEvent]);
10230
- (0,hooks_.useEffect)(() => {
10231
- if (isCarouselItem) {
10232
- if (hasFocus && isMounted.current) {
10233
- window.requestAnimationFrame(() => cardRef.current.focus());
10234
- } else {
10235
- cardRef.current.blur();
10236
- }
10237
- }
10238
- isMounted.current = true;
10239
- }, [hasFocus, isCarouselItem]);
10240
- return (0,jsx_runtime_.jsxs)("div", {
10241
- className: (0,css/* className */.o)('card__wrapper'),
10242
- id: id,
10243
- tabIndex: "-1" // set tabIndex of -1 so card can be focussed
10244
- ,
10245
- ref: cardRef,
10246
- children: [(0,jsx_runtime_.jsx)("img", {
10247
- className: (0,css/* className */.o)('card__image'),
10248
- src: image,
10249
- alt: ""
10250
- }), (0,jsx_runtime_.jsxs)("div", {
10251
- className: (0,css/* className */.o)('card__content'),
10252
- id: id,
10253
- children: [title && (0,jsx_runtime_.jsx)("h2", {
10254
- className: (0,css/* className */.o)('card__title'),
10255
- children: title
10256
- }), description && (0,jsx_runtime_.jsx)("div", {
10257
- className: (0,css/* className */.o)('card__description'),
10258
- dangerouslySetInnerHTML: {
10259
- __html: description
10383
+ else if (action.type === seamly_utils/* cardTypes */.wh.topic) {
10384
+ const { topic: name, fallbackMessage } = action;
10385
+ sendAction({
10386
+ type: seamly_utils/* actionTypes */.Hp.setTopic,
10387
+ body: { name, fallbackMessage },
10388
+ });
10260
10389
  }
10261
- }), (0,jsx_runtime_.jsx)(CardActionComponent, {
10262
- tabIndex: isCarouselItem && !hasFocus ? '-1' : undefined // disable to prevent tabbing through cards
10263
- ,
10264
- className: (0,css/* className */.o)('button', 'button--primary'),
10265
- "aria-describedby": descriptionId,
10266
- ...actionProps,
10267
- children: buttonText
10268
- })]
10269
- })]
10270
- });
10390
+ }, [sendMessage, action, sendAction, emitCardEvent]);
10391
+ const actionProps = (0,hooks_.useMemo)(() => action.type === seamly_utils/* cardTypes */.wh.navigate
10392
+ ? {
10393
+ href: action.link,
10394
+ rel: 'noopener noreferrer',
10395
+ target: action.newTab ? '_blank' : '_self',
10396
+ onClick: emitCardEvent,
10397
+ }
10398
+ : {
10399
+ onClick: handleClick,
10400
+ }, [action, handleClick, emitCardEvent]);
10401
+ (0,hooks_.useEffect)(() => {
10402
+ if (isCarouselItem) {
10403
+ if (hasFocus && isMounted.current) {
10404
+ window.requestAnimationFrame(() => cardRef.current.focus());
10405
+ }
10406
+ else {
10407
+ cardRef.current.blur();
10408
+ }
10409
+ }
10410
+ isMounted.current = true;
10411
+ }, [hasFocus, isCarouselItem]);
10412
+ return ((0,jsx_runtime_.jsxs)("div", { className: (0,css/* className */.o)('card__wrapper'), id: id, tabIndex: -1, ref: cardRef, children: [image ? ((0,jsx_runtime_.jsx)("img", { className: (0,css/* className */.o)('card__image'), src: image, alt: "" })) : null, (0,jsx_runtime_.jsxs)("div", { className: (0,css/* className */.o)('card__content'), id: id, children: [title && (0,jsx_runtime_.jsx)("h2", { className: (0,css/* className */.o)('card__title'), children: title }), description && ((0,jsx_runtime_.jsx)("div", { className: (0,css/* className */.o)('card__description'), dangerouslySetInnerHTML: { __html: description } })), (0,jsx_runtime_.jsx)(CardActionComponent, Object.assign({ tabIndex: isCarouselItem && !hasFocus ? -1 : undefined, className: (0,css/* className */.o)('button', 'button--primary'), "aria-describedby": descriptionId }, actionProps, { children: buttonText }))] })] }));
10271
10413
  };
10272
10414
  /* harmony default export */ const card_component = (CardComponent);
10415
+
10273
10416
  ;// CONCATENATED MODULE: ./src/javascripts/ui/components/conversation/event/card-message.js
10274
10417
 
10275
10418
 
@@ -10324,8 +10467,8 @@ function CarouselMessageSlide({
10324
10467
  }
10325
10468
  // EXTERNAL MODULE: ./src/javascripts/ui/hooks/utility-hooks.js
10326
10469
  var utility_hooks = __webpack_require__(7750);
10327
- // EXTERNAL MODULE: ./src/javascripts/ui/components/layout/icon.js + 22 modules
10328
- var layout_icon = __webpack_require__(9016);
10470
+ // EXTERNAL MODULE: ./src/javascripts/ui/components/layout/icon.tsx + 22 modules
10471
+ var layout_icon = __webpack_require__(2398);
10329
10472
  ;// CONCATENATED MODULE: ./src/javascripts/ui/components/conversation/event/carousel-component/components/controls.js
10330
10473
 
10331
10474
 
@@ -10356,7 +10499,8 @@ function CarouselControls({
10356
10499
  onClick: handlePrevious,
10357
10500
  children: (0,jsx_runtime_.jsx)(layout_icon/* default */.Z, {
10358
10501
  name: "arrowLeft",
10359
- size: "16"
10502
+ size: "16",
10503
+ alt: ""
10360
10504
  })
10361
10505
  }), children, (0,jsx_runtime_.jsx)("button", {
10362
10506
  className: (0,css/* className */.o)('button', 'button--next'),
@@ -10364,7 +10508,8 @@ function CarouselControls({
10364
10508
  onClick: handleNext,
10365
10509
  children: (0,jsx_runtime_.jsx)(layout_icon/* default */.Z, {
10366
10510
  name: "arrowRight",
10367
- size: "16"
10511
+ size: "16",
10512
+ alt: ""
10368
10513
  })
10369
10514
  })]
10370
10515
  });
@@ -10571,7 +10716,8 @@ const SuggestionsItem = ({
10571
10716
  className: (0,css/* className */.o)('button', 'button--primary'),
10572
10717
  children: [hasIcon && (0,jsx_runtime_.jsx)(layout_icon/* default */.Z, {
10573
10718
  name: "chevronRight",
10574
- size: "8"
10719
+ size: "8",
10720
+ alt: ""
10575
10721
  }), question]
10576
10722
  })
10577
10723
  });
@@ -10805,7 +10951,8 @@ function EventDivider({
10805
10951
  children: iconName ? (0,jsx_runtime_.jsx)(layout_icon/* default */.Z, {
10806
10952
  name: iconName,
10807
10953
  size: iconSize,
10808
- className: iconClassName
10954
+ className: iconClassName,
10955
+ alt: ""
10809
10956
  }) : (0,jsx_runtime_.jsx)("img", {
10810
10957
  src: graphicSrc,
10811
10958
  className: (0,css/* className */.o)({
@@ -12695,7 +12842,8 @@ const Lightbox = ({
12695
12842
  onClick: onClose,
12696
12843
  children: [(0,jsx_runtime_.jsx)(layout_icon/* default */.Z, {
12697
12844
  name: "close",
12698
- size: "16"
12845
+ size: "16",
12846
+ alt: ""
12699
12847
  }), t('lightbox.closeLabel')]
12700
12848
  })]
12701
12849
  })
@@ -12743,7 +12891,8 @@ const ImageLightbox = ({
12743
12891
  description
12744
12892
  }), (0,jsx_runtime_.jsx)(layout_icon/* default */.Z, {
12745
12893
  name: "enlarge",
12746
- size: "32"
12894
+ size: "32",
12895
+ alt: ""
12747
12896
  })]
12748
12897
  }), showLightBox && (0,jsx_runtime_.jsx)(lightbox, {
12749
12898
  url: url,
@@ -13719,7 +13868,8 @@ function error_Error({
13719
13868
  className: (0,css/* className */.o)('error__message'),
13720
13869
  children: [(0,jsx_runtime_.jsx)(layout_icon/* default */.Z, {
13721
13870
  name: "error",
13722
- size: "16"
13871
+ size: "16",
13872
+ alt: ""
13723
13873
  }), error]
13724
13874
  })
13725
13875
  });
@@ -14045,7 +14195,8 @@ function FileInput({
14045
14195
  className: (0,css/* className */.o)('upload__label'),
14046
14196
  children: [(0,jsx_runtime_.jsx)(layout_icon/* default */.Z, {
14047
14197
  name: "upload",
14048
- size: "32"
14198
+ size: "32",
14199
+ alt: ""
14049
14200
  }), (0,jsx_runtime_.jsxs)("div", {
14050
14201
  children: [(0,jsx_runtime_.jsx)("span", {
14051
14202
  className: (0,css/* className */.o)(['upload__label--text']),
@@ -14620,7 +14771,8 @@ const AgentInfo = () => {
14620
14771
  alt: ""
14621
14772
  }) : (0,jsx_runtime_.jsx)(layout_icon/* default */.Z, {
14622
14773
  name: "avatar",
14623
- size: "32"
14774
+ size: "32",
14775
+ alt: ""
14624
14776
  }), (0,jsx_runtime_.jsx)("span", {
14625
14777
  className: (0,css/* className */.o)(classNames),
14626
14778
  "aria-hidden": "true",
@@ -15263,7 +15415,8 @@ const OptionsButton = () => {
15263
15415
  "aria-disabled": !multiMenu && !firstOption.available ? 'true' : null,
15264
15416
  children: [multiMenu && (0,jsx_runtime_.jsx)(layout_icon/* default */.Z, {
15265
15417
  name: "options",
15266
- size: "32"
15418
+ size: "32",
15419
+ alt: ""
15267
15420
  }), (0,jsx_runtime_.jsx)("span", {
15268
15421
  className: (0,css/* className */.o)('button__text'),
15269
15422
  children: multiMenu ? t('options.openButtonText') : `${firstOption.title}${!firstOption.available ? ' ' : ''}`
@@ -15286,7 +15439,7 @@ const TranslationOption = ({ label, checked, description, onChange, id, itemClas
15286
15439
  onChange();
15287
15440
  }
15288
15441
  };
15289
- return ((0,jsx_runtime_.jsxs)("li", { className: (0,css/* className */.o)([itemClassName, 'translation-options__item']), "aria-selected": checked, role: "option", tabIndex: 0, onClick: onChange, onKeyDown: onKeyDown, id: id, children: [(0,jsx_runtime_.jsx)(layout_icon/* default */.Z, { alt: "", name: "check", size: "16" }), label, " ", description && (0,jsx_runtime_.jsxs)("span", { children: ["(", description, ")"] })] }));
15442
+ return ((0,jsx_runtime_.jsxs)("li", { className: (0,css/* className */.o)([itemClassName, 'translation-options__item']), "aria-selected": checked, role: "option", tabIndex: 0, onClick: onChange, onKeyDown: onKeyDown, id: id, children: [(0,jsx_runtime_.jsx)(layout_icon/* default */.Z, { name: "check", size: "16", alt: "" }), label, " ", description && (0,jsx_runtime_.jsxs)("span", { children: ["(", description, ")"] })] }));
15290
15443
  };
15291
15444
  /* harmony default export */ const translation_option = (TranslationOption);
15292
15445
 
@@ -15985,7 +16138,8 @@ const ButtonIcon = () => {
15985
16138
  alt: ""
15986
16139
  }) : (0,jsx_runtime_.jsx)(layout_icon/* default */.Z, {
15987
16140
  name: "avatar",
15988
- size: "32"
16141
+ size: "32",
16142
+ alt: ""
15989
16143
  });
15990
16144
  };
15991
16145
  const WindowOpenButton = ({
@@ -16013,10 +16167,14 @@ const WindowOpenButton = ({
16013
16167
  "aria-label": ariaLabel,
16014
16168
  "aria-hidden": isOpen,
16015
16169
  onClick: handleClick,
16016
- children: [(0,jsx_runtime_.jsx)("span", {
16017
- className: (0,css/* className */.o)('message-count'),
16018
- "aria-hidden": "true",
16019
- children: !!count && count
16170
+ children: [(0,jsx_runtime_.jsx)(in_out_transition, {
16171
+ isActive: !!count,
16172
+ transitionStartState: transitionStartStates.notRendered,
16173
+ children: (0,jsx_runtime_.jsx)("span", {
16174
+ className: (0,css/* className */.o)('message-count'),
16175
+ "aria-hidden": "true",
16176
+ children: count
16177
+ })
16020
16178
  }), (0,jsx_runtime_.jsx)(ButtonIcon, {})]
16021
16179
  })
16022
16180
  });