@product7/product7-js 0.4.3 → 0.4.5

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.
@@ -1130,6 +1130,7 @@
1130
1130
  return {
1131
1131
  sessionToken: this.sessionToken,
1132
1132
  config: initData.config,
1133
+ widgets: initData.widgets,
1133
1134
  expiresIn: initData.expiresIn,
1134
1135
  status: initData.status,
1135
1136
  message: initData.message,
@@ -1150,8 +1151,23 @@
1150
1151
  ? response.data
1151
1152
  : response || {};
1152
1153
 
1153
- const sessionToken = payload.session_token || payload.sessionToken;
1154
- const expiresIn = Number(payload.expires_in ?? payload.expiresIn);
1154
+ const configData =
1155
+ payload.config && typeof payload.config === 'object'
1156
+ ? payload.config
1157
+ : {};
1158
+
1159
+ const sessionToken =
1160
+ payload.session_token ||
1161
+ payload.sessionToken ||
1162
+ configData.session_token ||
1163
+ configData.sessionToken;
1164
+
1165
+ const expiresIn = Number(
1166
+ payload.expires_in ??
1167
+ payload.expiresIn ??
1168
+ configData.expires_in ??
1169
+ configData.expiresIn
1170
+ );
1155
1171
 
1156
1172
  if (!sessionToken) {
1157
1173
  throw new APIError(500, 'Invalid init response: missing session_token');
@@ -1164,11 +1180,17 @@
1164
1180
  return {
1165
1181
  sessionToken,
1166
1182
  expiresIn,
1167
- config:
1168
- payload.config && typeof payload.config === 'object'
1169
- ? payload.config
1170
- : {},
1171
- configVersion: payload.config_version ?? payload.configVersion ?? null,
1183
+ config: configData,
1184
+ widgets:
1185
+ payload.widgets && typeof payload.widgets === 'object'
1186
+ ? payload.widgets
1187
+ : null,
1188
+ configVersion:
1189
+ configData.config_version ??
1190
+ configData.configVersion ??
1191
+ payload.config_version ??
1192
+ payload.configVersion ??
1193
+ null,
1172
1194
  status: response?.status ?? payload?.status ?? true,
1173
1195
  message: response?.message ?? payload?.message ?? null,
1174
1196
  };
@@ -5879,14 +5901,12 @@
5879
5901
  }
5880
5902
 
5881
5903
  .feedback-survey-nps-btn:hover {
5882
- filter: brightness(1.1);
5904
+ filter: brightness(1.12);
5883
5905
  }
5884
5906
 
5885
5907
  .feedback-survey-nps-btn.selected {
5886
- transform: scale(1.06);
5887
- z-index: 1;
5888
- position: relative;
5889
- box-shadow: 0 0 0 2px #fff, 0 0 0 4px currentColor;
5908
+ filter: brightness(0.82);
5909
+ box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.25);
5890
5910
  }
5891
5911
 
5892
5912
  .feedback-survey-nps-btn:active {
@@ -5894,10 +5914,6 @@
5894
5914
  transition-duration: 100ms;
5895
5915
  }
5896
5916
 
5897
- .feedback-survey-nps-btn.selected:active {
5898
- transform: scale(1.06) translateY(1px);
5899
- }
5900
-
5901
5917
  /* NPS score colors */
5902
5918
  .feedback-survey-nps-score-0 { background: #dc2626; border-color: #dc2626; }
5903
5919
  .feedback-survey-nps-score-1 { background: #ef4444; border-color: #ef4444; }
@@ -6028,7 +6044,10 @@
6028
6044
  background: none;
6029
6045
  border: none;
6030
6046
  cursor: pointer;
6031
- padding: 0;
6047
+ padding: 4px;
6048
+ width: 40px;
6049
+ height: 40px;
6050
+ flex-shrink: 0;
6032
6051
  line-height: 1;
6033
6052
  color: var(--color-neutral-300);
6034
6053
  transition: color var(--transition-fast), transform var(--transition-fast);
@@ -6037,6 +6056,12 @@
6037
6056
  justify-content: center;
6038
6057
  }
6039
6058
 
6059
+ .feedback-survey-star-btn iconify-icon {
6060
+ display: block;
6061
+ pointer-events: none;
6062
+ flex-shrink: 0;
6063
+ }
6064
+
6040
6065
  .feedback-survey-star-btn.filled,
6041
6066
  .feedback-survey-star-btn.hovered {
6042
6067
  color: #f59e0b;
@@ -13820,8 +13845,12 @@
13820
13845
  try {
13821
13846
  const initData = await this.apiService.init();
13822
13847
 
13823
- if (initData.config) {
13824
- this.config = deepMerge(initData.config, this.config);
13848
+ const serverConfig = initData.config ? { ...initData.config } : {};
13849
+ if (initData.widgets) {
13850
+ serverConfig.widgets = initData.widgets;
13851
+ }
13852
+ if (Object.keys(serverConfig).length > 0) {
13853
+ this.config = deepMerge(serverConfig, this.config);
13825
13854
  }
13826
13855
 
13827
13856
  this.initialized = true;
@@ -13982,6 +14011,8 @@
13982
14011
  surveyConfig.showDescription ?? surveyConfig.show_description,
13983
14012
  customQuestions: surveyConfig.customQuestions || surveyConfig.questions,
13984
14013
  pages: surveyConfig.pages,
14014
+ thankYouConfig:
14015
+ surveyConfig.thankYouConfig || surveyConfig.thank_you_config || null,
13985
14016
  enabled: surveyConfig.enabled,
13986
14017
  ...displayOptions,
13987
14018
  });