@seamly/web-ui 20.0.0-beta.2 → 20.0.0-beta.3

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.
@@ -1553,12 +1553,12 @@ const selectEventsWithSuggestion = createSelector(seamly_state_hooks_selectState
1553
1553
  return [...events, suggestionsEvent];
1554
1554
  });
1555
1555
  const selectEvents = createSelector(selectEventsWithSuggestion, selectConfig, (events, config) => {
1556
- var _config$messages$time, _config$messages;
1556
+ var _config$messages;
1557
1557
 
1558
1558
  const {
1559
1559
  enabled,
1560
1560
  threshold
1561
- } = (_config$messages$time = config === null || config === void 0 ? void 0 : (_config$messages = config.messages) === null || _config$messages === void 0 ? void 0 : _config$messages.timeIndicator) !== null && _config$messages$time !== void 0 ? _config$messages$time : {};
1561
+ } = (config === null || config === void 0 ? void 0 : (_config$messages = config.messages) === null || _config$messages === void 0 ? void 0 : _config$messages.timeIndicator) ?? {};
1562
1562
 
1563
1563
  if (!enabled) {
1564
1564
  return events;
@@ -1940,8 +1940,8 @@ function utils_validate(values, schema = {}) {
1940
1940
  validations = [validations];
1941
1941
  }
1942
1942
 
1943
- for (let i = 0; (_ref = i < ((_validations = validations) === null || _validations === void 0 ? void 0 : _validations.length)) !== null && _ref !== void 0 ? _ref : 0; i++) {
1944
- var _ref, _validations;
1943
+ for (let i = 0; i < ((_validations = validations) === null || _validations === void 0 ? void 0 : _validations.length) ?? 0; i++) {
1944
+ var _validations;
1945
1945
 
1946
1946
  if (!validations[i].fn(values[key], validations[i].compareValue)) {
1947
1947
  errors[key] = validations[i].errorText;
@@ -2267,9 +2267,7 @@ function updateFormControl(state, formId, name, controlState) {
2267
2267
  formId,
2268
2268
  persistData
2269
2269
  }) => {
2270
- var _state$formId2;
2271
-
2272
- const formState = persistData ? (_state$formId2 = state[formId]) !== null && _state$formId2 !== void 0 ? _state$formId2 : reducer_objectSpread(reducer_objectSpread({}, initialFormState), {}, {
2270
+ const formState = persistData ? state[formId] ?? reducer_objectSpread(reducer_objectSpread({}, initialFormState), {}, {
2273
2271
  persistData
2274
2272
  }) : reducer_objectSpread(reducer_objectSpread({}, initialFormState), {}, {
2275
2273
  persistData
@@ -6812,6 +6810,7 @@ const categoryKeys = {
6812
6810
  messages: 'messages',
6813
6811
  errors: 'errors',
6814
6812
  uploads: 'uploads',
6813
+ faq: 'faq',
6815
6814
  features: 'features',
6816
6815
  options: 'options',
6817
6816
  suggestions: 'suggestions',
@@ -6836,6 +6835,10 @@ const categories = {
6836
6835
  heading: 'File uploads',
6837
6836
  description: ''
6838
6837
  },
6838
+ [categoryKeys.faq]: {
6839
+ heading: 'FAQ',
6840
+ description: ''
6841
+ },
6839
6842
  [categoryKeys.features]: {
6840
6843
  heading: 'Other features',
6841
6844
  description: ''
@@ -6911,6 +6914,142 @@ const cardTopic = {
6911
6914
  }
6912
6915
  }
6913
6916
  };
6917
+ const faq = {
6918
+ faqEmptyList: states_objectSpread(states_objectSpread({
6919
+ category: categoryKeys.faq,
6920
+ headingText: 'Empty FAQ list',
6921
+ description: ''
6922
+ }, baseState), {}, {
6923
+ config: states_objectSpread(states_objectSpread({}, baseState.config), {}, {
6924
+ showFaq: true
6925
+ }),
6926
+ serviceData: {
6927
+ suggestion: {
6928
+ body: []
6929
+ }
6930
+ }
6931
+ }),
6932
+ faqList: states_objectSpread(states_objectSpread({
6933
+ category: categoryKeys.faq,
6934
+ headingText: 'FAQ list',
6935
+ description: ''
6936
+ }, baseState), {}, {
6937
+ config: states_objectSpread(states_objectSpread({}, baseState.config), {}, {
6938
+ showFaq: true
6939
+ }),
6940
+ serviceData: {
6941
+ suggestion: {
6942
+ body: [{
6943
+ id: 1,
6944
+ question: 'Lorem ipsum dolor sit amet',
6945
+ categories: ['short']
6946
+ }, {
6947
+ id: 2,
6948
+ question: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.',
6949
+ categories: ['short']
6950
+ }, {
6951
+ id: 3,
6952
+ question: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam',
6953
+ categories: ['short']
6954
+ }]
6955
+ }
6956
+ }
6957
+ }),
6958
+ faqListLong: states_objectSpread(states_objectSpread({
6959
+ category: categoryKeys.faq,
6960
+ headingText: 'Long FAQ list',
6961
+ description: ''
6962
+ }, baseState), {}, {
6963
+ config: states_objectSpread(states_objectSpread({}, baseState.config), {}, {
6964
+ showFaq: true
6965
+ }),
6966
+ serviceData: {
6967
+ suggestion: {
6968
+ body: [{
6969
+ id: 1,
6970
+ question: 'Lorem ipsum dolor sit amet',
6971
+ categories: ['long']
6972
+ }, {
6973
+ id: 2,
6974
+ question: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.',
6975
+ categories: ['long']
6976
+ }, {
6977
+ id: 3,
6978
+ question: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam',
6979
+ categories: ['long']
6980
+ }, {
6981
+ id: 4,
6982
+ question: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed',
6983
+ categories: ['long']
6984
+ }, {
6985
+ id: 5,
6986
+ question: 'Lorem ipsum dolor sit amet',
6987
+ categories: ['long']
6988
+ }, {
6989
+ id: 6,
6990
+ question: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.',
6991
+ categories: ['long']
6992
+ }, {
6993
+ id: 7,
6994
+ question: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam',
6995
+ categories: ['long']
6996
+ }, {
6997
+ id: 8,
6998
+ question: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed',
6999
+ categories: ['long']
7000
+ }, {
7001
+ id: 9,
7002
+ question: 'Lorem ipsum dolor sit amet',
7003
+ categories: ['long']
7004
+ }, {
7005
+ id: 10,
7006
+ question: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.',
7007
+ categories: ['long']
7008
+ }, {
7009
+ id: 11,
7010
+ question: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam',
7011
+ categories: ['long']
7012
+ }, {
7013
+ id: 12,
7014
+ question: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed',
7015
+ categories: ['long']
7016
+ }, {
7017
+ id: 13,
7018
+ question: 'Lorem ipsum dolor sit amet',
7019
+ categories: ['long']
7020
+ }, {
7021
+ id: 14,
7022
+ question: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.',
7023
+ categories: ['long']
7024
+ }, {
7025
+ id: 15,
7026
+ question: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam',
7027
+ categories: ['long']
7028
+ }, {
7029
+ id: 16,
7030
+ question: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed',
7031
+ categories: ['long']
7032
+ }, {
7033
+ id: 17,
7034
+ question: 'Lorem ipsum dolor sit amet',
7035
+ categories: ['long']
7036
+ }, {
7037
+ id: 18,
7038
+ question: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.',
7039
+ categories: ['long']
7040
+ }, {
7041
+ id: 19,
7042
+ question: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam',
7043
+ categories: ['long']
7044
+ }, {
7045
+ id: 20,
7046
+ question: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed',
7047
+ categories: ['long']
7048
+ }]
7049
+ }
7050
+ }
7051
+ })
7052
+ };
6914
7053
  const standardState = {
6915
7054
  base: states_objectSpread(states_objectSpread({
6916
7055
  category: categoryKeys.unstarted,
@@ -6928,7 +7067,7 @@ const standardState = {
6928
7067
  serviceInfo: {
6929
7068
  activeServiceSessionId: '3942159e-9878-469e-9120-f44fd6be0f35'
6930
7069
  },
6931
- events: [splashMessage, participantMessage, infoMessage, shortTextMessage, states_objectSpread(states_objectSpread({}, choicePromptMessage), {}, {
7070
+ events: [participantMessage, infoMessage, shortTextMessage, states_objectSpread(states_objectSpread({}, choicePromptMessage), {}, {
6932
7071
  payload: states_objectSpread(states_objectSpread({}, choicePromptMessage.payload), {}, {
6933
7072
  id: `${choicePromptMessage.payload.id}XXX`
6934
7073
  })
@@ -7155,19 +7294,6 @@ const standardState = {
7155
7294
  }
7156
7295
  }]
7157
7296
  }),
7158
- suggestionsMessage: states_objectSpread(states_objectSpread({
7159
- category: categoryKeys.messages,
7160
- headingText: 'Suggestions message',
7161
- description: ''
7162
- }, baseState), {}, {
7163
- events: [{
7164
- type: 'service_data',
7165
- payload: {
7166
- type: 'suggestion',
7167
- body: suggestions
7168
- }
7169
- }]
7170
- }),
7171
7297
  errorWithAction: states_objectSpread(states_objectSpread({
7172
7298
  // Important: This cannot pick up the language files so the text is hard set here.
7173
7299
  category: categoryKeys.errors,
@@ -7624,9 +7750,74 @@ const inlineInterface = {
7624
7750
  })
7625
7751
  }
7626
7752
  };
7753
+ const standardWindowStates = {
7754
+ minimizedWindow: {
7755
+ category: categoryKeys.minimizedWindow,
7756
+ headingText: 'Unstarted minimized',
7757
+ description: '',
7758
+ window: states_objectSpread(states_objectSpread({}, baseState), {}, {
7759
+ config: states_objectSpread(states_objectSpread({}, baseState.config), {}, {
7760
+ layoutMode: 'window'
7761
+ }),
7762
+ visibility: states_objectSpread(states_objectSpread({}, baseState.visibility), {}, {
7763
+ visibility: web_ui_namespaceObject.visibilityStates.minimized
7764
+ })
7765
+ })
7766
+ },
7767
+ minimizedWindowStarted: {
7768
+ category: categoryKeys.minimizedWindow,
7769
+ headingText: 'Started minimized',
7770
+ description: '',
7771
+ window: states_objectSpread(states_objectSpread({}, baseState), {}, {
7772
+ config: states_objectSpread(states_objectSpread({}, baseState.config), {}, {
7773
+ layoutMode: 'window'
7774
+ }),
7775
+ visibility: states_objectSpread(states_objectSpread({}, baseState.visibility), {}, {
7776
+ visibility: web_ui_namespaceObject.visibilityStates.minimized
7777
+ }),
7778
+ participantInfo,
7779
+ headerTitles
7780
+ })
7781
+ },
7782
+ minimizedWindowStartedUnread: {
7783
+ category: categoryKeys.minimizedWindow,
7784
+ headingText: 'Minimized with unread messages',
7785
+ description: '',
7786
+ window: states_objectSpread(states_objectSpread({}, baseState), {}, {
7787
+ config: states_objectSpread(states_objectSpread({}, baseState.config), {}, {
7788
+ layoutMode: 'window'
7789
+ }),
7790
+ visibility: states_objectSpread(states_objectSpread({}, baseState.visibility), {}, {
7791
+ visibility: web_ui_namespaceObject.visibilityStates.minimized
7792
+ }),
7793
+ participantInfo,
7794
+ headerTitles,
7795
+ unreadEvents: 12
7796
+ })
7797
+ }
7798
+ };
7799
+ const newInterface = {
7800
+ suggestionsMessage: states_objectSpread(states_objectSpread({
7801
+ category: categoryKeys.messages,
7802
+ headingText: 'Suggestions message',
7803
+ description: ''
7804
+ }, baseState), {}, {
7805
+ events: [{
7806
+ type: 'service_data',
7807
+ payload: {
7808
+ type: 'suggestion',
7809
+ body: suggestions
7810
+ }
7811
+ }]
7812
+ })
7813
+ };
7627
7814
 
7628
- const buildStandardState = (layoutModes, customComponentEventBodies = []) => {
7629
- const intermediateState = states_objectSpread(states_objectSpread({}, standardState), customComponentEventBodies.reduce((acc, eventBody) => {
7815
+ const buildStandardState = (layoutModes, customComponentEventBodies = [], isNewInterface) => {
7816
+ const intermediateState = states_objectSpread(states_objectSpread(states_objectSpread({}, isNewInterface ? states_objectSpread(states_objectSpread({}, standardState), {}, {
7817
+ fullConversation: states_objectSpread(states_objectSpread({}, standardState.fullConversation), {}, {
7818
+ events: [splashMessage, ...standardState.fullConversation.events]
7819
+ })
7820
+ }) : standardState), isNewInterface ? newInterface : faq), customComponentEventBodies.reduce((acc, eventBody) => {
7630
7821
  const {
7631
7822
  key,
7632
7823
  headingText,
@@ -7670,51 +7861,8 @@ const buildStandardState = (layoutModes, customComponentEventBodies = []) => {
7670
7861
  }, {});
7671
7862
  };
7672
7863
 
7673
- const getStateObj = (layoutModes, customComponentEventBodies) => states_objectSpread(states_objectSpread(states_objectSpread({}, buildStandardState(layoutModes, customComponentEventBodies)), layoutModes.indexOf('window') !== -1 ? {
7674
- minimizedWindow: {
7675
- category: categoryKeys.minimizedWindow,
7676
- headingText: 'Unstarted minimized',
7677
- description: '',
7678
- window: states_objectSpread(states_objectSpread({}, baseState), {}, {
7679
- config: states_objectSpread(states_objectSpread({}, baseState.config), {}, {
7680
- layoutMode: 'window'
7681
- }),
7682
- visibility: states_objectSpread(states_objectSpread({}, baseState.visibility), {}, {
7683
- visibility: web_ui_namespaceObject.visibilityStates.minimized
7684
- })
7685
- })
7686
- },
7687
- minimizedWindowStarted: {
7688
- category: categoryKeys.minimizedWindow,
7689
- headingText: 'Started minimized',
7690
- description: '',
7691
- window: states_objectSpread(states_objectSpread({}, baseState), {}, {
7692
- config: states_objectSpread(states_objectSpread({}, baseState.config), {}, {
7693
- layoutMode: 'window'
7694
- }),
7695
- visibility: states_objectSpread(states_objectSpread({}, baseState.visibility), {}, {
7696
- visibility: web_ui_namespaceObject.visibilityStates.minimized
7697
- }),
7698
- participantInfo,
7699
- headerTitles
7700
- })
7701
- },
7702
- minimizedWindowStartedUnread: {
7703
- category: categoryKeys.minimizedWindow,
7704
- headingText: 'Minimized with unread messages',
7705
- description: '',
7706
- window: states_objectSpread(states_objectSpread({}, baseState), {}, {
7707
- config: states_objectSpread(states_objectSpread({}, baseState.config), {}, {
7708
- layoutMode: 'window'
7709
- }),
7710
- visibility: states_objectSpread(states_objectSpread({}, baseState.visibility), {}, {
7711
- visibility: web_ui_namespaceObject.visibilityStates.minimized
7712
- }),
7713
- participantInfo,
7714
- headerTitles,
7715
- unreadEvents: 12
7716
- })
7717
- },
7864
+ const getDeprecatedStateObj = (layoutModes, customComponentEventBodies) => states_objectSpread(states_objectSpread({}, buildStandardState(layoutModes, customComponentEventBodies)), layoutModes.indexOf('window') !== -1 ? standardWindowStates : {});
7865
+ const getStateObj = (layoutModes, customComponentEventBodies) => states_objectSpread(states_objectSpread(states_objectSpread({}, buildStandardState(layoutModes, customComponentEventBodies, true)), layoutModes.indexOf('window') !== -1 ? states_objectSpread(states_objectSpread({}, standardWindowStates), {}, {
7718
7866
  minimizedWindowPrechat: {
7719
7867
  category: categoryKeys.minimizedWindow,
7720
7868
  headingText: 'Minimized with pre-chat messages',
@@ -7731,7 +7879,7 @@ const getStateObj = (layoutModes, customComponentEventBodies) => states_objectSp
7731
7879
  headerTitles
7732
7880
  })
7733
7881
  }
7734
- } : {}), inlineInterface);
7882
+ }) : {}), inlineInterface);
7735
7883
  ;// CONCATENATED MODULE: ./src/javascripts/style-guide/components/links.js
7736
7884
  const links_excluded = ["headingText", "descriptionId", "description"];
7737
7885
 
@@ -7875,8 +8023,9 @@ const StyleGuideApp = ({
7875
8023
  stateUpdateCallback,
7876
8024
  customMessageEventBodies
7877
8025
  } = styleGuideConfig;
8026
+ const stateObjFunc = config.isDeprecated ? getDeprecatedStateObj : getStateObj;
7878
8027
  const [mainState] = (0,hooks_namespaceObject.useState)(() => {
7879
- const mainStateObj = getStateObj(styleGuideConfig.showLayoutModes || ['inline', 'window'], customMessageEventBodies);
8028
+ const mainStateObj = stateObjFunc(styleGuideConfig.showLayoutModes || ['inline', 'window'], customMessageEventBodies);
7880
8029
  return Object.keys(mainStateObj).reduce((acc, key) => app_objectSpread(app_objectSpread({}, acc), {}, {
7881
8030
  [key]: app_objectSpread(app_objectSpread({}, mainStateObj[key]), {}, {
7882
8031
  descriptionId: (0,web_ui_namespaceObject.randomId)()