@nuskin/product-components 3.19.0-td-1017.1 → 3.19.0

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/.releaserc CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "branches": [
3
- "master", {"name":"TD-1017", "channel":"prerelease", "prerelease":"td-1017"}
3
+ "master"
4
4
  ],
5
5
  "plugins": [
6
6
  "@semantic-release/release-notes-generator",
@@ -48,8 +48,16 @@
48
48
  <div :class="$style.offerMessaging">
49
49
  <h2 :class="$style.offerTitle">{{ localTranslations.welcome }}</h2>
50
50
  <p :class="$style.offerMessage">
51
- <span v-if="!offer.isGroupOffer">{{ offer.name }}</span>
52
- <span v-if="!offer.isGroupOffer && offer.countryCode === 'JP'">
51
+ <span v-if="!offer.isGroupOffer && !offer.isQuickShare">{{
52
+ offer.name
53
+ }}</span>
54
+ <span
55
+ v-if="
56
+ !offer.isGroupOffer &&
57
+ offer.countryCode === 'JP' &&
58
+ !offer.isQuickShare
59
+ "
60
+ >
53
61
  さん,
54
62
  </span>
55
63
  <span v-else-if="!offer.isGroupOffer && offer.countryCode !== 'JP'"
@@ -921,13 +929,15 @@ export default {
921
929
 
922
930
  if (
923
931
  availability &&
924
- availability.addToCart &&
932
+ (availability.addToCart || availability.addToAdr) &&
925
933
  Object.keys(this.products[sku].data).length >= 1 &&
926
934
  availableQuantity >= 1
927
935
  ) {
928
936
  const selectedQuantity = availability.selectedQuantity || 0;
929
937
  if (selectedQuantity > 0) {
930
- const price = availability.price || 0;
938
+ const price = availability.addToCart
939
+ ? availability.price
940
+ : availability.adrPrice || 0;
931
941
 
932
942
  totalPrice += price * selectedQuantity;
933
943
  this.totalProductQuantity += selectedQuantity;
@@ -237,10 +237,14 @@ export default {
237
237
  this.dropdownMax,
238
238
  this.dropdownMax - this.includeZero ? 0 : 1
239
239
  );
240
- setTimeout(() => {
241
- this.$refs.input.focus();
242
- this.$refs.input.select();
243
- }, 100);
240
+ this.$nextTick(() => {
241
+ if (!this.isMobileDevice()) {
242
+ this.$refs.input.focus();
243
+ this.$refs.input.select();
244
+ } else {
245
+ this.$refs.input.blur();
246
+ }
247
+ });
244
248
  } else {
245
249
  this.errorMessage = "";
246
250
  this.showCustomSelectedItem = false;
package/docs/CHANGELOG.md CHANGED
@@ -1 +1 @@
1
- # [3.19.0-td-1017.1](https://code.tls.nuskin.io/ns-am/ux/product-components/compare/v3.18.1-td-1017.1...v3.19.0-td-1017.1) (2025-05-06)
1
+ # [3.19.0](https://code.tls.nuskin.io/ns-am/ux/product-components/compare/v3.18.4...v3.19.0) (2025-10-10)
@@ -130,6 +130,10 @@ const NsProductMixin = {
130
130
  baseSku: "",
131
131
  checkedQualifications: false,
132
132
  description: "",
133
+ /**
134
+ * Reflects if a user can ship in this market
135
+ */
136
+ canUserShop: true,
133
137
  /**
134
138
  * Determines if the "Add To Cart" button is disabled
135
139
  */
@@ -349,6 +353,7 @@ const NsProductMixin = {
349
353
  this.setTranslations();
350
354
  await this.$nextTick();
351
355
 
356
+ await this.setCanUserShopInMarket();
352
357
  this.setLoyalty();
353
358
  this.setHideAdr();
354
359
  },
@@ -966,6 +971,10 @@ const NsProductMixin = {
966
971
  return this.$NsProductDataService.getAdrPriceType();
967
972
  },
968
973
 
974
+ async setCanUserShopInMarket() {
975
+ this.canUserShop = await CartService.canUserAddToCart();
976
+ },
977
+
969
978
  setHideAdr() {
970
979
  const isSkinConsult = util.isSkinConsult();
971
980
  const mySiteHideAdr = !!(
@@ -1061,6 +1070,7 @@ const NsProductMixin = {
1061
1070
  this.selectedQuantity = quantity;
1062
1071
 
1063
1072
  if (
1073
+ !this.canUserShop ||
1064
1074
  +this.selectedQuantity > this.maxQuantity ||
1065
1075
  +this.selectedQuantity < 1 ||
1066
1076
  +this.selectedQuantity % 1 !== 0
@@ -1082,7 +1092,7 @@ const NsProductMixin = {
1082
1092
  isBaseSku: this.isBaseSku,
1083
1093
  isVariantSku: this.isVariantSku,
1084
1094
  addToCart: !this.disableAddToCart,
1085
- addToAdr: !this.disableAddToCart,
1095
+ addToAdr: !this.disableAddToAdr,
1086
1096
  selectedQuantity: Number(this.selectedQuantity),
1087
1097
  maxQuantity: this.maxQuantity,
1088
1098
  originalPrice: this.originalPrice,
@@ -1320,8 +1330,9 @@ const NsProductMixin = {
1320
1330
  },
1321
1331
 
1322
1332
  checkAddToCartAndAdr() {
1323
- this.disableAddToCart = this.showAdrOnly || !this.hasOrderTypeOrder;
1324
- this.disableAddToAdr = !this.showAdr;
1333
+ this.disableAddToCart =
1334
+ !this.canUserShop || this.showAdrOnly || !this.hasOrderTypeOrder;
1335
+ this.disableAddToAdr = !this.canUserShop || !this.showAdr;
1325
1336
  },
1326
1337
 
1327
1338
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nuskin/product-components",
3
- "version": "3.19.0-td-1017.1",
3
+ "version": "3.19.0",
4
4
  "description": "Nu Skin Product Components",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -24,13 +24,13 @@
24
24
  "dependencies": {
25
25
  "@mdi/font": "3.9.97",
26
26
  "@ns/ns-contentstack-lib": "2.2.2",
27
- "@nuskin/design-components": "8.8.1",
27
+ "@nuskin/design-components": "8.9.1",
28
28
  "@nuskin/ns-common-lib": "1.4.8",
29
29
  "@nuskin/ns-core-styles": "2.12.0",
30
30
  "@nuskin/ns-icon": "2.12.1",
31
31
  "@nuskin/ns-loyalty-web": "1.5.7",
32
32
  "@nuskin/ns-product-lib": "2.20.0",
33
- "@nuskin/ns-shop": "7.5.0",
33
+ "@nuskin/ns-shop": "7.8.0",
34
34
  "@nuskin/product-recommendation": "2.0.1",
35
35
  "axios": "1.8.3",
36
36
  "lodash": "4.17.21",
@@ -162,6 +162,16 @@ const getEquinoxRequestConfiguration = async () => {
162
162
  Authorization: `Bearer ${oktaToken}`
163
163
  };
164
164
 
165
+ const shoppingContext =
166
+ window &&
167
+ window.aem &&
168
+ window.aem.ShoppingContext &&
169
+ window.aem.ShoppingContext.getShoppingContext();
170
+ if (shoppingContext && shoppingContext.overrides) {
171
+ headers.showwholesalepricing =
172
+ shoppingContext.overrides.showWholeSalePricing;
173
+ }
174
+
165
175
  return {
166
176
  marketLocale,
167
177
  storeId: config.store_id,