@seamly/web-ui 20.0.0 → 20.2.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/dist/lib/deprecated-view.css +1 -1
- package/build/dist/lib/index.debug.js +135 -135
- package/build/dist/lib/index.debug.min.js +1 -1
- package/build/dist/lib/index.js +86 -59
- package/build/dist/lib/index.min.js +1 -1
- package/build/dist/lib/standalone.js +86 -59
- package/build/dist/lib/standalone.min.js +1 -1
- package/build/dist/lib/style-guide.js +45 -31
- package/build/dist/lib/style-guide.min.js +1 -1
- package/build/dist/lib/styles-default-implementation.css +1 -1
- package/build/dist/lib/styles.css +1 -1
- package/package.json +1 -1
- package/src/javascripts/api/errors/seamly-base-error.js +1 -0
- package/src/javascripts/api/index.js +33 -21
- package/src/javascripts/api/producer.js +3 -3
- package/src/javascripts/domains/app/actions.js +12 -8
- package/src/javascripts/domains/app/hooks.js +1 -1
- package/src/javascripts/domains/app/utils.js +1 -1
- package/src/javascripts/domains/config/hooks.js +1 -1
- package/src/javascripts/domains/config/reducer.js +3 -3
- package/src/javascripts/domains/config/selectors.js +1 -1
- package/src/javascripts/domains/config/utils.js +1 -1
- package/src/javascripts/domains/errors/index.js +2 -2
- package/src/javascripts/domains/forms/hooks.js +1 -1
- package/src/javascripts/domains/forms/provider.js +5 -3
- package/src/javascripts/domains/forms/reducer.js +1 -1
- package/src/javascripts/domains/forms/selectors.js +1 -1
- package/src/javascripts/domains/forms/utils.js +1 -1
- package/src/javascripts/domains/i18n/actions.js +1 -1
- package/src/javascripts/domains/i18n/hooks.js +1 -1
- package/src/javascripts/domains/i18n/reducer.js +1 -1
- package/src/javascripts/domains/i18n/utils.js +1 -1
- package/src/javascripts/domains/interrupt/hooks.js +2 -2
- package/src/javascripts/domains/interrupt/middleware.js +6 -6
- package/src/javascripts/domains/interrupt/reducer.js +1 -1
- package/src/javascripts/domains/interrupt/utils.js +1 -1
- package/src/javascripts/domains/options/middleware.js +1 -1
- package/src/javascripts/domains/store/index.js +10 -10
- package/src/javascripts/domains/store/state-reducer.js +3 -3
- package/src/javascripts/domains/translations/components/chat-status.js +5 -5
- package/src/javascripts/domains/translations/components/options-button.js +6 -6
- package/src/javascripts/domains/translations/components/options-dialog/form.js +5 -5
- package/src/javascripts/domains/translations/components/options-dialog/index.js +7 -7
- package/src/javascripts/domains/translations/hooks.js +3 -3
- package/src/javascripts/domains/translations/middleware.js +2 -2
- package/src/javascripts/domains/translations/reducer.js +3 -3
- package/src/javascripts/domains/translations/selectors.js +1 -1
- package/src/javascripts/domains/translations/utils.js +1 -1
- package/src/javascripts/domains/visibility/actions.js +3 -3
- package/src/javascripts/domains/visibility/hooks.js +1 -1
- package/src/javascripts/domains/visibility/utils.js +1 -1
- package/src/javascripts/lib/css.js +1 -1
- package/src/javascripts/lib/engine/index.js +6 -5
- package/src/javascripts/lib/external-api/index.js +1 -1
- package/src/javascripts/lib/redux-helpers/index.js +1 -1
- package/src/javascripts/style-guide/components/app.js +1 -1
- package/src/javascripts/style-guide/components/links.js +6 -6
- package/src/javascripts/style-guide/components/static-core.js +8 -8
- package/src/javascripts/style-guide.js +2 -0
- package/src/javascripts/ui/components/app-options/index.js +4 -4
- package/src/javascripts/ui/components/chat-status/index.js +2 -2
- package/src/javascripts/ui/components/conversation/component-filter.js +1 -1
- package/src/javascripts/ui/components/conversation/conversation.js +6 -6
- package/src/javascripts/ui/components/conversation/event/card-component.js +4 -4
- package/src/javascripts/ui/components/conversation/event/card-message.js +3 -3
- package/src/javascripts/ui/components/conversation/event/carousel-component/components/controls.js +3 -3
- package/src/javascripts/ui/components/conversation/event/carousel-component/components/pagination.js +1 -1
- package/src/javascripts/ui/components/conversation/event/carousel-component/index.js +3 -3
- package/src/javascripts/ui/components/conversation/event/carousel-message/components/slide.js +3 -3
- package/src/javascripts/ui/components/conversation/event/carousel-message/index.js +3 -3
- package/src/javascripts/ui/components/conversation/event/choice-prompt.js +7 -7
- package/src/javascripts/ui/components/conversation/event/cta.js +6 -6
- package/src/javascripts/ui/components/conversation/event/divider/index.js +1 -1
- package/src/javascripts/ui/components/conversation/event/divider/variants/default.js +3 -3
- package/src/javascripts/ui/components/conversation/event/divider/variants/new-translation.js +4 -4
- package/src/javascripts/ui/components/conversation/event/divider/variants/time-indicator.js +5 -5
- package/src/javascripts/ui/components/conversation/event/event-participant.js +4 -4
- package/src/javascripts/ui/components/conversation/event/event.js +2 -2
- package/src/javascripts/ui/components/conversation/event/hooks/use-event-link-click-handler.js +2 -2
- package/src/javascripts/ui/components/conversation/event/hooks/use-formatted-date.js +3 -3
- package/src/javascripts/ui/components/conversation/event/image-lightbox.js +4 -4
- package/src/javascripts/ui/components/conversation/event/image.js +2 -2
- package/src/javascripts/ui/components/conversation/event/participant.js +4 -4
- package/src/javascripts/ui/components/conversation/event/text.js +3 -3
- package/src/javascripts/ui/components/conversation/event/translation.js +3 -3
- package/src/javascripts/ui/components/conversation/event/upload.js +18 -15
- package/src/javascripts/ui/components/conversation/event/video.js +4 -4
- package/src/javascripts/ui/components/conversation/event-divider.js +2 -2
- package/src/javascripts/ui/components/conversation/loader.js +2 -2
- package/src/javascripts/ui/components/conversation/message-container.js +4 -4
- package/src/javascripts/ui/components/core/seamly-activity-monitor.js +3 -3
- package/src/javascripts/ui/components/core/seamly-core.js +2 -2
- package/src/javascripts/ui/components/core/seamly-event-subscriber.js +8 -8
- package/src/javascripts/ui/components/core/seamly-file-upload.js +4 -4
- package/src/javascripts/ui/components/core/seamly-idle-detach-counter.js +2 -2
- package/src/javascripts/ui/components/core/seamly-initializer.js +2 -2
- package/src/javascripts/ui/components/core/seamly-instance-functions-loader.js +5 -5
- package/src/javascripts/ui/components/core/seamly-live-region.js +2 -2
- package/src/javascripts/ui/components/core/seamly-new-notifications.js +5 -5
- package/src/javascripts/ui/components/core/seamly-read-state.js +6 -6
- package/src/javascripts/ui/components/entry/deprecated-toggle-button.js +5 -5
- package/src/javascripts/ui/components/entry/entry-container.js +8 -8
- package/src/javascripts/ui/components/entry/text-entry/hooks.js +6 -6
- package/src/javascripts/ui/components/entry/text-entry/index.js +2 -2
- package/src/javascripts/ui/components/entry/text-entry/text-entry-form.js +8 -8
- package/src/javascripts/ui/components/entry/upload/file-upload-form.js +5 -5
- package/src/javascripts/ui/components/entry/upload/index.js +10 -10
- package/src/javascripts/ui/components/entry/upload-toggle.js +9 -9
- package/src/javascripts/ui/components/faq/faq.js +16 -16
- package/src/javascripts/ui/components/form-controls/error.js +2 -2
- package/src/javascripts/ui/components/form-controls/file-input.js +4 -4
- package/src/javascripts/ui/components/form-controls/form.js +2 -2
- package/src/javascripts/ui/components/form-controls/input.js +1 -1
- package/src/javascripts/ui/components/form-controls/select.js +1 -1
- package/src/javascripts/ui/components/form-controls/wrapper.js +1 -1
- package/src/javascripts/ui/components/layout/agent-info.js +6 -6
- package/src/javascripts/ui/components/layout/chat-frame.js +5 -5
- package/src/javascripts/ui/components/layout/deprecated-app-frame.js +7 -7
- package/src/javascripts/ui/components/layout/header.js +3 -3
- package/src/javascripts/ui/components/layout/icon.js +1 -1
- package/src/javascripts/ui/components/layout/interrupt.js +3 -3
- package/src/javascripts/ui/components/layout/privacy-disclaimer.js +3 -3
- package/src/javascripts/ui/components/options/options-button.js +7 -12
- package/src/javascripts/ui/components/options/options-frame.js +4 -4
- package/src/javascripts/ui/components/options/options.js +1 -1
- package/src/javascripts/ui/components/options/transcript/index.js +8 -8
- package/src/javascripts/ui/components/options/transcript/transcript-form.js +4 -4
- package/src/javascripts/ui/components/warnings/idle-detach-warning.js +6 -6
- package/src/javascripts/ui/components/warnings/prompt.js +2 -2
- package/src/javascripts/ui/components/warnings/resume-conversation-prompt.js +5 -5
- package/src/javascripts/ui/components/widgets/in-out-transition.js +3 -3
- package/src/javascripts/ui/components/widgets/lightbox.js +5 -5
- package/src/javascripts/ui/components/widgets/modal.js +2 -2
- package/src/javascripts/ui/components/widgets/upload-progress.js +4 -4
- package/src/javascripts/ui/hooks/component-helper-hooks.js +1 -1
- package/src/javascripts/ui/hooks/file-upload-hooks.js +2 -2
- package/src/javascripts/ui/hooks/focus-helper-hooks.js +2 -2
- package/src/javascripts/ui/hooks/live-region-hooks.js +2 -2
- package/src/javascripts/ui/hooks/seamly-api-hooks.js +1 -1
- package/src/javascripts/ui/hooks/seamly-entry-hooks.js +2 -2
- package/src/javascripts/ui/hooks/seamly-option-hooks.js +2 -2
- package/src/javascripts/ui/hooks/seamly-state-hooks.js +5 -5
- package/src/javascripts/ui/hooks/use-event-component-mapping.js +2 -2
- package/src/javascripts/ui/hooks/use-seamly-activity-event-handler.js +1 -1
- package/src/javascripts/ui/hooks/use-seamly-chat.js +3 -3
- package/src/javascripts/ui/hooks/use-seamly-commands.js +9 -9
- package/src/javascripts/ui/hooks/use-seamly-dispatch.js +1 -1
- package/src/javascripts/ui/hooks/use-seamly-idle-detach-countdown.js +5 -5
- package/src/javascripts/ui/hooks/use-seamly-resume-conversation-prompt.js +2 -2
- package/src/javascripts/ui/hooks/use-single-file-upload.js +2 -2
- package/src/javascripts/ui/hooks/utility-hooks.js +1 -1
- package/src/stylesheets/4-base/_formelements.scss +3 -3
- package/src/stylesheets/5-components/_buttons.scss +1 -1
- package/src/stylesheets/5-components/_chat-status.scss +4 -0
- package/src/stylesheets/5-components/_input.scss +2 -2
- package/src/stylesheets/5-components/_message-body.scss +19 -12
- package/src/stylesheets/6-default-implementation/_hover.scss +24 -12
- package/src/stylesheets/7-deprecated/4-base/_formelements.scss +4 -4
- package/src/stylesheets/7-deprecated/5-components/_buttons.scss +1 -1
- package/src/stylesheets/7-deprecated/5-components/_input.scss +1 -1
- package/src/stylesheets/7-deprecated/5-components/_message.scss +4 -3
- package/src/stylesheets/7-deprecated/5-components/_options.scss +2 -2
- package/webpack/config.common.js +5 -0
- package/webpack/config.package.js +10 -0
- package/src/.DS_Store +0 -0
|
@@ -16964,6 +16964,29 @@ const setLocale = i18n_utils_createThunk('setLocale', async (locale, {
|
|
|
16964
16964
|
return api.getTranslations(locale);
|
|
16965
16965
|
});
|
|
16966
16966
|
});
|
|
16967
|
+
;// CONCATENATED MODULE: ./src/javascripts/domains/translations/utils.js
|
|
16968
|
+
|
|
16969
|
+
const {
|
|
16970
|
+
createActions: utils_createActions,
|
|
16971
|
+
createReducer: translations_utils_createReducer,
|
|
16972
|
+
selectState: translations_utils_selectState
|
|
16973
|
+
} = createDomain('translations');
|
|
16974
|
+
;// CONCATENATED MODULE: ./src/javascripts/domains/translations/actions.js
|
|
16975
|
+
|
|
16976
|
+
const [enable, disable] = utils_createActions('translate', {
|
|
16977
|
+
enable: locale => ({
|
|
16978
|
+
locale
|
|
16979
|
+
}),
|
|
16980
|
+
disable: () => ({})
|
|
16981
|
+
});
|
|
16982
|
+
const [enableEvent, disableEvent] = utils_createActions('event', {
|
|
16983
|
+
enable: payloadId => ({
|
|
16984
|
+
payloadId
|
|
16985
|
+
}),
|
|
16986
|
+
disable: payloadId => ({
|
|
16987
|
+
payloadId
|
|
16988
|
+
})
|
|
16989
|
+
});
|
|
16967
16990
|
;// CONCATENATED MODULE: ./src/javascripts/domains/app/utils.js
|
|
16968
16991
|
|
|
16969
16992
|
const {
|
|
@@ -16982,7 +17005,7 @@ const selectUserHasResponded = createSelector(app_utils_selectState, state => st
|
|
|
16982
17005
|
|
|
16983
17006
|
const {
|
|
16984
17007
|
createAction: visibility_utils_createAction,
|
|
16985
|
-
createActions:
|
|
17008
|
+
createActions: visibility_utils_createActions,
|
|
16986
17009
|
createThunk: visibility_utils_createThunk,
|
|
16987
17010
|
createReducer: visibility_utils_createReducer,
|
|
16988
17011
|
selectState: visibility_utils_selectState
|
|
@@ -17272,6 +17295,7 @@ class SeamlyBaseError extends Error {
|
|
|
17272
17295
|
if (originalError !== null && originalError !== void 0 && originalError.payload) {
|
|
17273
17296
|
this.originalEvent = originalError;
|
|
17274
17297
|
this.originalError = originalError.payload.error;
|
|
17298
|
+
this.message = `Event of type ${originalError.payload.type} encountered`;
|
|
17275
17299
|
}
|
|
17276
17300
|
|
|
17277
17301
|
if (originalError !== null && originalError !== void 0 && originalError.error) {
|
|
@@ -17313,6 +17337,7 @@ const clear = interrupt_utils_createAction('clear');
|
|
|
17313
17337
|
|
|
17314
17338
|
|
|
17315
17339
|
|
|
17340
|
+
|
|
17316
17341
|
const setHasResponded = app_utils_createAction('setHasResponded', hasResponded => ({
|
|
17317
17342
|
hasResponded
|
|
17318
17343
|
}));
|
|
@@ -17355,7 +17380,7 @@ const app_actions_initialize = app_utils_createThunk('initialize', async (_, {
|
|
|
17355
17380
|
|
|
17356
17381
|
if (agentParticipant !== null && agentParticipant !== void 0 && agentParticipant.name) {
|
|
17357
17382
|
dispatch({
|
|
17358
|
-
type: seamlyActions.
|
|
17383
|
+
type: seamlyActions.SET_HEADER_SUB_TITLE,
|
|
17359
17384
|
title: agentParticipant.name
|
|
17360
17385
|
});
|
|
17361
17386
|
}
|
|
@@ -17364,6 +17389,8 @@ const app_actions_initialize = app_utils_createThunk('initialize', async (_, {
|
|
|
17364
17389
|
}
|
|
17365
17390
|
|
|
17366
17391
|
try {
|
|
17392
|
+
var _config$context2;
|
|
17393
|
+
|
|
17367
17394
|
if (api.hasConversation()) {
|
|
17368
17395
|
var _initialState$transla;
|
|
17369
17396
|
|
|
@@ -17377,6 +17404,9 @@ const app_actions_initialize = app_utils_createThunk('initialize', async (_, {
|
|
|
17377
17404
|
if ('userResponded' in initialState) {
|
|
17378
17405
|
dispatch(setHasResponded(initialState.userResponded));
|
|
17379
17406
|
}
|
|
17407
|
+
} else if (config !== null && config !== void 0 && (_config$context2 = config.context) !== null && _config$context2 !== void 0 && _config$context2.translationLocale) {
|
|
17408
|
+
locale = config.context.translationLocale;
|
|
17409
|
+
dispatch(enable(locale));
|
|
17380
17410
|
}
|
|
17381
17411
|
} catch (e) {
|
|
17382
17412
|
if (e instanceof SeamlySessionExpiredError) {
|
|
@@ -19741,29 +19771,6 @@ const app_reducer_initialState = {
|
|
|
19741
19771
|
|
|
19742
19772
|
|
|
19743
19773
|
|
|
19744
|
-
;// CONCATENATED MODULE: ./src/javascripts/domains/translations/utils.js
|
|
19745
|
-
|
|
19746
|
-
const {
|
|
19747
|
-
createActions: translations_utils_createActions,
|
|
19748
|
-
createReducer: translations_utils_createReducer,
|
|
19749
|
-
selectState: translations_utils_selectState
|
|
19750
|
-
} = createDomain('translations');
|
|
19751
|
-
;// CONCATENATED MODULE: ./src/javascripts/domains/translations/actions.js
|
|
19752
|
-
|
|
19753
|
-
const [enable, disable] = translations_utils_createActions('translate', {
|
|
19754
|
-
enable: locale => ({
|
|
19755
|
-
locale
|
|
19756
|
-
}),
|
|
19757
|
-
disable: () => ({})
|
|
19758
|
-
});
|
|
19759
|
-
const [enableEvent, disableEvent] = translations_utils_createActions('event', {
|
|
19760
|
-
enable: payloadId => ({
|
|
19761
|
-
payloadId
|
|
19762
|
-
}),
|
|
19763
|
-
disable: payloadId => ({
|
|
19764
|
-
payloadId
|
|
19765
|
-
})
|
|
19766
|
-
});
|
|
19767
19774
|
;// CONCATENATED MODULE: ./src/javascripts/domains/redux/utils.js
|
|
19768
19775
|
|
|
19769
19776
|
|
|
@@ -20577,10 +20584,14 @@ function FormProvider(_ref) {
|
|
|
20577
20584
|
});
|
|
20578
20585
|
}, [setExternalErrors]);
|
|
20579
20586
|
const handleSubmit = hooks_module_A(e => {
|
|
20580
|
-
|
|
20581
|
-
setIsSubmitted(true);
|
|
20587
|
+
var _e$submitter;
|
|
20582
20588
|
|
|
20583
|
-
|
|
20589
|
+
e.preventDefault(); // If the submitter is set to being aria-disabled, block the submit action
|
|
20590
|
+
|
|
20591
|
+
const ariaDisabled = ((_e$submitter = e.submitter) === null || _e$submitter === void 0 ? void 0 : _e$submitter.ariaDisabled) === 'true';
|
|
20592
|
+
setIsSubmitted(!ariaDisabled);
|
|
20593
|
+
|
|
20594
|
+
if (!ariaDisabled && validationIsValid) {
|
|
20584
20595
|
onSubmit(values, {
|
|
20585
20596
|
updateControlValue,
|
|
20586
20597
|
setError
|
|
@@ -27640,8 +27651,10 @@ const UploadContent = ({
|
|
|
27640
27651
|
href: url,
|
|
27641
27652
|
download: true,
|
|
27642
27653
|
target: target || undefined,
|
|
27654
|
+
className: css_className(['download', 'download-link']),
|
|
27643
27655
|
children: children
|
|
27644
27656
|
}) : jsxRuntime_module_e("span", {
|
|
27657
|
+
className: css_className('download'),
|
|
27645
27658
|
children: children
|
|
27646
27659
|
});
|
|
27647
27660
|
|
|
@@ -27671,22 +27684,19 @@ const Upload = _ref => {
|
|
|
27671
27684
|
event: event,
|
|
27672
27685
|
type: "upload"
|
|
27673
27686
|
}, props), {}, {
|
|
27674
|
-
children: jsxRuntime_module_e(
|
|
27675
|
-
|
|
27687
|
+
children: jsxRuntime_module_e(UploadContent, {
|
|
27688
|
+
url: url,
|
|
27689
|
+
target: !fromClient ? '_blank' : undefined,
|
|
27676
27690
|
children: [jsxRuntime_module_e(icon, {
|
|
27677
27691
|
name: "download",
|
|
27678
27692
|
size: "16"
|
|
27679
|
-
}), jsxRuntime_module_e(
|
|
27680
|
-
|
|
27681
|
-
|
|
27682
|
-
children:
|
|
27683
|
-
|
|
27684
|
-
|
|
27685
|
-
|
|
27686
|
-
}), jsxRuntime_module_e("span", {
|
|
27687
|
-
className: css_className('visually-hidden'),
|
|
27688
|
-
children: srText
|
|
27689
|
-
})]
|
|
27693
|
+
}), jsxRuntime_module_e("span", {
|
|
27694
|
+
"aria-hidden": "true",
|
|
27695
|
+
className: css_className('file-download'),
|
|
27696
|
+
children: filename
|
|
27697
|
+
}), jsxRuntime_module_e("span", {
|
|
27698
|
+
className: css_className('visually-hidden'),
|
|
27699
|
+
children: srText
|
|
27690
27700
|
})]
|
|
27691
27701
|
})
|
|
27692
27702
|
}));
|
|
@@ -28879,7 +28889,7 @@ function TextEntryForm({
|
|
|
28879
28889
|
}), jsxRuntime_module_e("button", {
|
|
28880
28890
|
className: css_className('button', 'input__submit'),
|
|
28881
28891
|
type: "submit",
|
|
28882
|
-
disabled: !hasValue || reachedCharacterLimit,
|
|
28892
|
+
"aria-disabled": !hasValue || reachedCharacterLimit ? 'true' : null,
|
|
28883
28893
|
children: jsxRuntime_module_e(icon, {
|
|
28884
28894
|
name: "send",
|
|
28885
28895
|
size: "32",
|
|
@@ -29020,9 +29030,9 @@ const UploadToggle = () => {
|
|
|
29020
29030
|
children: jsxRuntime_module_e("button", {
|
|
29021
29031
|
className: css_className(['button', 'button--secondary', 'upload-toggle']),
|
|
29022
29032
|
ref: uploadButton,
|
|
29023
|
-
disabled: !showUploadButton ? 'true' : null,
|
|
29033
|
+
"aria-disabled": !showUploadButton ? 'true' : null,
|
|
29024
29034
|
type: "button",
|
|
29025
|
-
onClick: onClickHandler,
|
|
29035
|
+
onClick: showUploadButton ? onClickHandler : null,
|
|
29026
29036
|
children: jsxRuntime_module_e(icon, {
|
|
29027
29037
|
name: "file",
|
|
29028
29038
|
size: "32",
|
|
@@ -29897,7 +29907,7 @@ const OptionsButton = () => {
|
|
|
29897
29907
|
ref: item => {
|
|
29898
29908
|
menuItemButtons.current[i] = item;
|
|
29899
29909
|
},
|
|
29900
|
-
className: css_className(['button', 'button--secondary'
|
|
29910
|
+
className: css_className(['button', 'button--secondary']),
|
|
29901
29911
|
onKeyDown: e => onMenuItemKeyDownHandler(e, i),
|
|
29902
29912
|
onKeyPress: e => onKeyPressHandler(e, i),
|
|
29903
29913
|
onClick: () => onMenuItemClickHandler(name, available),
|
|
@@ -29914,7 +29924,7 @@ const OptionsButton = () => {
|
|
|
29914
29924
|
})
|
|
29915
29925
|
}), jsxRuntime_module_e("button", {
|
|
29916
29926
|
type: "button",
|
|
29917
|
-
className: css_className(['button', 'button--secondary', 'chat__options__button', ...(!multiMenu && firstOptionName ? [`chat__options__button--${firstOptionName}`] : [])
|
|
29927
|
+
className: css_className(['button', 'button--secondary', 'chat__options__button', ...(!multiMenu && firstOptionName ? [`chat__options__button--${firstOptionName}`] : [])]),
|
|
29918
29928
|
id: id,
|
|
29919
29929
|
onClick: onClickHandler,
|
|
29920
29930
|
onKeyDown: multiMenu ? onButtonKeyDownHandler : null,
|
|
@@ -33273,15 +33283,6 @@ function getTimeZone() {
|
|
|
33273
33283
|
}
|
|
33274
33284
|
}
|
|
33275
33285
|
|
|
33276
|
-
function getEnvironment() {
|
|
33277
|
-
return {
|
|
33278
|
-
screenResolution: `${window.screen.width}x${window.screen.height}`,
|
|
33279
|
-
userAgent: navigator.userAgent,
|
|
33280
|
-
currentUrl: window.location.toString(),
|
|
33281
|
-
timezone: getTimeZone()
|
|
33282
|
-
};
|
|
33283
|
-
}
|
|
33284
|
-
|
|
33285
33286
|
class API {
|
|
33286
33287
|
/**
|
|
33287
33288
|
* Creates an instance of API.
|
|
@@ -33291,14 +33292,17 @@ class API {
|
|
|
33291
33292
|
* @param {string} config.secure Connect securely
|
|
33292
33293
|
* @param {string} config.externalId Unique visitor identifier (optional)
|
|
33293
33294
|
* @param {boolean} config.sendEnvironment
|
|
33295
|
+
* @param {string} layoutMode
|
|
33294
33296
|
* @param {string} namespace
|
|
33295
|
-
* @param {Object} [context={ channelName: undefined, variables: undefined, locale: undefined }]
|
|
33297
|
+
* @param {Object} [context={ channelName: undefined, variables: undefined, locale: undefined, translationLocale: undefined }]
|
|
33296
33298
|
* @param {string} context.channelName
|
|
33297
33299
|
* @param {object} context.variables
|
|
33298
33300
|
* @param {string} context.locale
|
|
33301
|
+
* @param {string} context.translationLocale
|
|
33299
33302
|
* @memberof API
|
|
33300
33303
|
*/
|
|
33301
33304
|
constructor({
|
|
33305
|
+
layoutMode,
|
|
33302
33306
|
namespace,
|
|
33303
33307
|
config = {},
|
|
33304
33308
|
context = {}
|
|
@@ -33320,6 +33324,7 @@ class API {
|
|
|
33320
33324
|
this.connected = false;
|
|
33321
33325
|
this.configReady = false;
|
|
33322
33326
|
this.externalId = config.externalId;
|
|
33327
|
+
this.layoutMode = layoutMode;
|
|
33323
33328
|
this.internalProducer = new EventProducer('API');
|
|
33324
33329
|
this.internal$ = xstream_default().create(this.internalProducer).flatten();
|
|
33325
33330
|
this.connection$ = filter_default()(_context = this.internal$).call(_context, event => event.type === 'connection');
|
|
@@ -33446,7 +33451,7 @@ class API {
|
|
|
33446
33451
|
v: apiVersion
|
|
33447
33452
|
}).send({
|
|
33448
33453
|
context: api_objectSpread(api_objectSpread({}, this.config.context), {}, {
|
|
33449
|
-
environment: this.config.sendEnvironment === true ? getEnvironment() : this.config.sendEnvironment
|
|
33454
|
+
environment: this.config.sendEnvironment === true ? this.getEnvironment() : this.config.sendEnvironment
|
|
33450
33455
|
})
|
|
33451
33456
|
}).then(({
|
|
33452
33457
|
body
|
|
@@ -33460,7 +33465,7 @@ class API {
|
|
|
33460
33465
|
}
|
|
33461
33466
|
|
|
33462
33467
|
if (error.status >= 500) {
|
|
33463
|
-
throw new SeamlyGeneralError();
|
|
33468
|
+
throw new SeamlyGeneralError(error);
|
|
33464
33469
|
}
|
|
33465
33470
|
|
|
33466
33471
|
throw error;
|
|
@@ -33534,7 +33539,7 @@ class API {
|
|
|
33534
33539
|
|
|
33535
33540
|
if (this.config.sendEnvironment) {
|
|
33536
33541
|
this.send('context', {
|
|
33537
|
-
environment: this.config.sendEnvironment === true ? getEnvironment() : this.config.sendEnvironment
|
|
33542
|
+
environment: this.config.sendEnvironment === true ? this.getEnvironment() : this.config.sendEnvironment
|
|
33538
33543
|
}, false);
|
|
33539
33544
|
}
|
|
33540
33545
|
|
|
@@ -33630,6 +33635,7 @@ class API {
|
|
|
33630
33635
|
sendContext(context = {}) {
|
|
33631
33636
|
const {
|
|
33632
33637
|
locale,
|
|
33638
|
+
translationLocale,
|
|
33633
33639
|
variables
|
|
33634
33640
|
} = context;
|
|
33635
33641
|
const payload = {};
|
|
@@ -33642,6 +33648,14 @@ class API {
|
|
|
33642
33648
|
payload.locale = locale;
|
|
33643
33649
|
}
|
|
33644
33650
|
|
|
33651
|
+
if (translationLocale) {
|
|
33652
|
+
if (typeof translationLocale !== 'string') {
|
|
33653
|
+
throw new Error('Translation locale must be a string');
|
|
33654
|
+
}
|
|
33655
|
+
|
|
33656
|
+
payload.translationLocale = translationLocale;
|
|
33657
|
+
}
|
|
33658
|
+
|
|
33645
33659
|
if (variables) {
|
|
33646
33660
|
if (typeof variables !== 'object') {
|
|
33647
33661
|
throw new Error('Variables must be an object');
|
|
@@ -33664,6 +33678,18 @@ class API {
|
|
|
33664
33678
|
return filter_default()(_context5 = this.internal$).call(_context5, event => event.type !== 'connection');
|
|
33665
33679
|
}
|
|
33666
33680
|
|
|
33681
|
+
getEnvironment() {
|
|
33682
|
+
return {
|
|
33683
|
+
clientName: "@seamly/web-ui",
|
|
33684
|
+
clientVariant: this.layoutMode,
|
|
33685
|
+
clientVersion: "20.2.0-alpha.1",
|
|
33686
|
+
currentUrl: window.location.toString(),
|
|
33687
|
+
screenResolution: `${window.screen.width}x${window.screen.height}`,
|
|
33688
|
+
timezone: getTimeZone(),
|
|
33689
|
+
userAgent: navigator.userAgent
|
|
33690
|
+
};
|
|
33691
|
+
}
|
|
33692
|
+
|
|
33667
33693
|
}
|
|
33668
33694
|
;// CONCATENATED MODULE: ./node_modules/redux-thunk/es/index.js
|
|
33669
33695
|
function createThunkMiddleware(extraArgument) {
|
|
@@ -33870,6 +33896,7 @@ class Engine {
|
|
|
33870
33896
|
this.parentElement = parentElement;
|
|
33871
33897
|
this.externalApi = externalApi;
|
|
33872
33898
|
this.api = new API({
|
|
33899
|
+
layoutMode: config.layoutMode,
|
|
33873
33900
|
namespace: config.namespace,
|
|
33874
33901
|
config: config.api,
|
|
33875
33902
|
context: config.context
|