@nuskin/nextgen-header 1.32.0 → 1.33.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.
@@ -87015,6 +87015,165 @@ module.exports = values;
87015
87015
 
87016
87016
  /***/ },
87017
87017
 
87018
+ /***/ 5925
87019
+ (module, __unused_webpack_exports, __webpack_require__) {
87020
+
87021
+
87022
+
87023
+ var _warn = __webpack_require__(8441);
87024
+
87025
+ var _warn2 = _interopRequireDefault(_warn);
87026
+
87027
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
87028
+
87029
+ // https://developers.google.com/tag-manager/quickstart
87030
+
87031
+ var Snippets = {
87032
+ tags: function tags(_ref) {
87033
+ var id = _ref.id,
87034
+ events = _ref.events,
87035
+ dataLayer = _ref.dataLayer,
87036
+ dataLayerName = _ref.dataLayerName,
87037
+ preview = _ref.preview,
87038
+ auth = _ref.auth;
87039
+
87040
+ var gtm_auth = '&gtm_auth=' + auth;
87041
+ var gtm_preview = '&gtm_preview=' + preview;
87042
+
87043
+ if (!id) (0, _warn2.default)('GTM Id is required');
87044
+
87045
+ var iframe = '\n <iframe src="https://www.googletagmanager.com/ns.html?id=' + id + gtm_auth + gtm_preview + '&gtm_cookies_win=x"\n height="0" width="0" style="display:none;visibility:hidden" id="tag-manager"></iframe>';
87046
+
87047
+ var script = '\n (function(w,d,s,l,i){w[l]=w[l]||[];\n w[l].push({\'gtm.start\': new Date().getTime(),event:\'gtm.js\', ' + JSON.stringify(events).slice(1, -1) + '});\n var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!=\'dataLayer\'?\'&l=\'+l:\'\';\n j.async=true;j.src=\'https://www.googletagmanager.com/gtm.js?id=\'+i+dl+\'' + gtm_auth + gtm_preview + '&gtm_cookies_win=x\';\n f.parentNode.insertBefore(j,f);\n })(window,document,\'script\',\'' + dataLayerName + '\',\'' + id + '\');';
87048
+
87049
+ var dataLayerVar = this.dataLayer(dataLayer, dataLayerName);
87050
+
87051
+ return {
87052
+ iframe: iframe,
87053
+ script: script,
87054
+ dataLayerVar: dataLayerVar
87055
+ };
87056
+ },
87057
+ dataLayer: function dataLayer(_dataLayer, dataLayerName) {
87058
+ return '\n window.' + dataLayerName + ' = window.' + dataLayerName + ' || [];\n window.' + dataLayerName + '.push(' + JSON.stringify(_dataLayer) + ')';
87059
+ }
87060
+ };
87061
+
87062
+ module.exports = Snippets;
87063
+
87064
+ /***/ },
87065
+
87066
+ /***/ 6324
87067
+ (module, __unused_webpack_exports, __webpack_require__) {
87068
+
87069
+
87070
+
87071
+ var _Snippets = __webpack_require__(5925);
87072
+
87073
+ var _Snippets2 = _interopRequireDefault(_Snippets);
87074
+
87075
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
87076
+
87077
+ var TagManager = {
87078
+ dataScript: function dataScript(dataLayer) {
87079
+ var script = document.createElement('script');
87080
+ script.innerHTML = dataLayer;
87081
+ return script;
87082
+ },
87083
+ gtm: function gtm(args) {
87084
+ var snippets = _Snippets2.default.tags(args);
87085
+
87086
+ var noScript = function noScript() {
87087
+ var noscript = document.createElement('noscript');
87088
+ noscript.innerHTML = snippets.iframe;
87089
+ return noscript;
87090
+ };
87091
+
87092
+ var script = function script() {
87093
+ var script = document.createElement('script');
87094
+ script.innerHTML = snippets.script;
87095
+ return script;
87096
+ };
87097
+
87098
+ var dataScript = this.dataScript(snippets.dataLayerVar);
87099
+
87100
+ return {
87101
+ noScript: noScript,
87102
+ script: script,
87103
+ dataScript: dataScript
87104
+ };
87105
+ },
87106
+ initialize: function initialize(_ref) {
87107
+ var gtmId = _ref.gtmId,
87108
+ _ref$events = _ref.events,
87109
+ events = _ref$events === undefined ? {} : _ref$events,
87110
+ dataLayer = _ref.dataLayer,
87111
+ _ref$dataLayerName = _ref.dataLayerName,
87112
+ dataLayerName = _ref$dataLayerName === undefined ? 'dataLayer' : _ref$dataLayerName,
87113
+ _ref$auth = _ref.auth,
87114
+ auth = _ref$auth === undefined ? '' : _ref$auth,
87115
+ _ref$preview = _ref.preview,
87116
+ preview = _ref$preview === undefined ? '' : _ref$preview;
87117
+
87118
+ var gtm = this.gtm({
87119
+ id: gtmId,
87120
+ events: events,
87121
+ dataLayer: dataLayer || undefined,
87122
+ dataLayerName: dataLayerName,
87123
+ auth: auth,
87124
+ preview: preview
87125
+ });
87126
+ if (dataLayer) document.head.appendChild(gtm.dataScript);
87127
+ document.head.insertBefore(gtm.script(), document.head.childNodes[0]);
87128
+ document.body.insertBefore(gtm.noScript(), document.body.childNodes[0]);
87129
+ },
87130
+ dataLayer: function dataLayer(_ref2) {
87131
+ var _dataLayer = _ref2.dataLayer,
87132
+ _ref2$dataLayerName = _ref2.dataLayerName,
87133
+ dataLayerName = _ref2$dataLayerName === undefined ? 'dataLayer' : _ref2$dataLayerName;
87134
+
87135
+ if (window[dataLayerName]) return window[dataLayerName].push(_dataLayer);
87136
+ var snippets = _Snippets2.default.dataLayer(_dataLayer, dataLayerName);
87137
+ var dataScript = this.dataScript(snippets);
87138
+ document.head.insertBefore(dataScript, document.head.childNodes[0]);
87139
+ }
87140
+ };
87141
+
87142
+ module.exports = TagManager;
87143
+
87144
+ /***/ },
87145
+
87146
+ /***/ 1003
87147
+ (module, __unused_webpack_exports, __webpack_require__) {
87148
+
87149
+
87150
+
87151
+ var _TagManager = __webpack_require__(6324);
87152
+
87153
+ var _TagManager2 = _interopRequireDefault(_TagManager);
87154
+
87155
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
87156
+
87157
+ module.exports = _TagManager2.default;
87158
+
87159
+ /***/ },
87160
+
87161
+ /***/ 8441
87162
+ (__unused_webpack_module, exports) {
87163
+
87164
+
87165
+
87166
+ Object.defineProperty(exports, "__esModule", ({
87167
+ value: true
87168
+ }));
87169
+ var warn = function warn(s) {
87170
+ console.warn('[react-gtm]', s);
87171
+ };
87172
+
87173
+ exports["default"] = warn;
87174
+
87175
+ /***/ },
87176
+
87018
87177
  /***/ 9223
87019
87178
  (__unused_webpack_module, exports, __webpack_require__) {
87020
87179
 
@@ -100176,62 +100335,73 @@ var colors = {
100176
100335
  accentHover: "#0d9488"
100177
100336
  };
100178
100337
  var HeaderRoot = /*#__PURE__*/createStyled("header", true ? {
100179
- target: "e1607tyl42"
100338
+ target: "e1607tyl45"
100180
100339
  } : 0)("box-sizing:border-box;width:100%;font-family:\"Inter\",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;color:", colors.text, ";background:", colors.surface, ";border-bottom:1px solid ", colors.borderLight, ";*,*::before,*::after{box-sizing:border-box;}button{font:inherit;cursor:pointer;}button:disabled{cursor:not-allowed;opacity:0.55;}" + ( true ? "" : 0));
100181
100340
 
100182
100341
  /** Logo (left) + utility + search (stacked right) */
100183
100342
  var TopHeaderRow = /*#__PURE__*/createStyled("div", true ? {
100184
- target: "e1607tyl41"
100343
+ target: "e1607tyl44"
100185
100344
  } : 0)( true ? {
100186
100345
  name: "1dro8oz",
100187
100346
  styles: "display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 0.5rem;padding:1rem clamp(1rem, 4vw, 2rem) 0.75rem;max-width:1440px;margin:0 auto;@media (min-width: 1025px){gap:1rem 2rem;}"
100188
100347
  } : 0);
100189
100348
  var LogoSlot = /*#__PURE__*/createStyled("div", true ? {
100190
- target: "e1607tyl40"
100349
+ target: "e1607tyl43"
100191
100350
  } : 0)("flex:0 0 auto;align-self:center;@media (max-width: 1024px){margin-right:auto;}[data-copy-loading]{display:flex;align-items:center;min-height:2.75rem;}.header-copy-placeholder{color:", colors.muted, ";letter-spacing:0.02em;}" + ( true ? "" : 0));
100192
100351
  var WordmarkButton = /*#__PURE__*/createStyled("button", true ? {
100193
- target: "e1607tyl39"
100352
+ target: "e1607tyl42"
100194
100353
  } : 0)("margin:0;padding:0.25rem 0;border:none;background:none;font-size:1.5rem;font-weight:700;letter-spacing:0.2em;color:", colors.text, ";text-transform:uppercase;line-height:1.2;transition:opacity 0.15s ease;&:hover{opacity:0.72;}" + ( true ? "" : 0));
100195
100354
 
100196
100355
  /** Utility row only (search moved to nav row) */
100197
100356
  var RightHeaderCluster = /*#__PURE__*/createStyled("div", true ? {
100198
- target: "e1607tyl38"
100357
+ target: "e1607tyl41"
100199
100358
  } : 0)( true ? {
100200
100359
  name: "qu4zte",
100201
100360
  styles: "display:none;@media (min-width: 1025px){display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:0.35rem 1rem;flex:1 1 auto;}"
100202
100361
  } : 0);
100203
100362
  var UtilityBar = /*#__PURE__*/createStyled("div", true ? {
100204
- target: "e1607tyl37"
100363
+ target: "e1607tyl40"
100205
100364
  } : 0)("display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:0.35rem 1rem;width:100%;font-size:0.8125rem;line-height:1.35;color:", colors.text, ";" + ( true ? "" : 0));
100206
100365
  var UtilityBarDivider = /*#__PURE__*/createStyled("span", true ? {
100207
- target: "e1607tyl36"
100366
+ target: "e1607tyl39"
100208
100367
  } : 0)("color:", colors.muted, ";user-select:none;" + ( true ? "" : 0));
100209
100368
  var UtilityButton = /*#__PURE__*/createStyled("button", true ? {
100210
- target: "e1607tyl35"
100369
+ target: "e1607tyl38"
100211
100370
  } : 0)( true ? {
100212
100371
  name: "1f5cjb2",
100213
100372
  styles: "display:inline-flex;align-items:center;gap:0.35rem;margin:0;padding:0.2rem 0.35rem;border:none;border-radius:4px;background:transparent;color:inherit;white-space:nowrap;transition:background 0.15s ease;&:not(:disabled):hover{background:rgba(0, 0, 0, 0.05);}svg{flex-shrink:0;opacity:0.85;}"
100214
100373
  } : 0);
100374
+ var LoyaltyPillInner = /*#__PURE__*/createStyled("span", true ? {
100375
+ target: "e1607tyl37"
100376
+ } : 0)( true ? {
100377
+ name: "99qhl1",
100378
+ styles: "display:inline-flex;align-items:center;gap:0;color:inherit;border-bottom:1px solid transparent;box-sizing:border-box"
100379
+ } : 0);
100380
+
100381
+ /** Loyalty anchor in the utility bar — pill aligned with market selector visual spec */
100382
+ var LoyaltyUtilityLink = /*#__PURE__*/createStyled("a", true ? {
100383
+ target: "e1607tyl36"
100384
+ } : 0)("appearance:none;margin:0;border:0;background:transparent;color:#5f5f5f;font-family:Lora,sans-serif;font-weight:500;font-size:16px;line-height:22px;min-height:44px;padding:11px 16px;border-radius:24px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer;&:visited{color:#5f5f5f;text-decoration:none;}&:hover{background:#efefef;color:#2f2f2f;text-decoration:none;", LoyaltyPillInner, "{border-bottom-color:currentColor;}}&:hover:visited{color:#2f2f2f;text-decoration:none;}&:focus-visible{outline:1px solid #007bff;outline-offset:1px;color:#2f2f2f;text-decoration:none;", LoyaltyPillInner, "{border-bottom-color:currentColor;}}&:active{text-decoration:none;}" + ( true ? "" : 0));
100215
100385
  var LocaleLabel = /*#__PURE__*/createStyled("span", true ? {
100216
- target: "e1607tyl34"
100386
+ target: "e1607tyl35"
100217
100387
  } : 0)( true ? {
100218
100388
  name: "101gt3q",
100219
100389
  styles: "display:inline-flex;align-items:center;gap:0.3rem"
100220
100390
  } : 0);
100221
100391
  var AccountCluster = /*#__PURE__*/createStyled("div", true ? {
100222
- target: "e1607tyl33"
100392
+ target: "e1607tyl34"
100223
100393
  } : 0)( true ? {
100224
100394
  name: "m6tz52",
100225
100395
  styles: "display:inline-flex;flex-wrap:wrap;align-items:center;gap:0.125rem 0.35rem;@media (max-width: 1024px){.account-icon{display:none;}.account-sign-up{display:none;}.account-divider{display:none;}.account-sign-in{font-size:1rem;font-weight:400;padding:0;}}"
100226
100396
  } : 0);
100227
100397
  var CartButtonInner = /*#__PURE__*/createStyled("span", true ? {
100228
- target: "e1607tyl32"
100398
+ target: "e1607tyl33"
100229
100399
  } : 0)( true ? {
100230
100400
  name: "ww3r3k",
100231
100401
  styles: "display:inline-flex;align-items:center;position:relative"
100232
100402
  } : 0);
100233
100403
  var CartBadge = /*#__PURE__*/createStyled("span", true ? {
100234
- target: "e1607tyl31"
100404
+ target: "e1607tyl32"
100235
100405
  } : 0)( true ? {
100236
100406
  name: "1sj9dvc",
100237
100407
  styles: "position:absolute;top:-8px;right:-8px;display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 4px;border-radius:50%;font-size:0.75rem;font-weight:600;line-height:1;background:#5b81a5;color:#fff;border:2px solid #fff"
@@ -100239,140 +100409,148 @@ var CartBadge = /*#__PURE__*/createStyled("span", true ? {
100239
100409
 
100240
100410
  /** Pill search: icon left, full-width field, submit control on right */
100241
100411
  var SearchSlot = /*#__PURE__*/createStyled("div", true ? {
100242
- target: "e1607tyl30"
100412
+ target: "e1607tyl31"
100243
100413
  } : 0)( true ? {
100244
100414
  name: "kuwwf0",
100245
100415
  styles: "width:100%;[data-region=\"search\"]{width:100%;}"
100246
100416
  } : 0);
100247
100417
  var SearchPillForm = /*#__PURE__*/createStyled("form", true ? {
100248
- target: "e1607tyl29"
100418
+ target: "e1607tyl30"
100249
100419
  } : 0)("display:flex;align-items:center;width:100%;min-height:2.75rem;padding:0 0.35rem 0 0.85rem;border:1px solid ", colors.border, ";border-radius:999px;background:", colors.surface, ";overflow:hidden;transition:border-color 0.15s ease,box-shadow 0.15s ease;&:focus-within{border-color:", colors.muted, ";box-shadow:0 0 0 1px rgba(17, 24, 39, 0.08);}.search-pill__icon{flex-shrink:0;margin-right:0.5rem;color:", colors.muted, ";}input{flex:1;min-width:0;padding:0.5rem 0;border:none;background:transparent;font-size:0.9375rem;outline:none;&::placeholder{color:", colors.muted, ";}}button[type=\"submit\"]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;margin:0.1rem 0.1rem 0.1rem 0.25rem;padding:0;border:none;border-radius:50%;background:", colors.text, ";color:#fff;transition:opacity 0.15s ease,transform 0.1s ease;&:hover:not(:disabled){opacity:0.88;}&:disabled{opacity:0.4;}svg{width:16px;height:16px;}}" + ( true ? "" : 0));
100250
100420
  var NavSection = /*#__PURE__*/createStyled("div", true ? {
100251
- target: "e1607tyl28"
100421
+ target: "e1607tyl29"
100252
100422
  } : 0)("display:none;background:", colors.surface, ";@media (min-width: 1025px){display:block;[role=\"tablist\"]{padding-right:calc(\n clamp(200px, 22vw, 340px) + clamp(1rem, 4vw, 2rem) + 1.5rem\n );}}", function (p) {
100253
100423
  return p.$isEditing && "display: block;";
100254
100424
  }, ";" + ( true ? "" : 0));
100255
100425
 
100256
100426
  /** Search pill anchored to the top-right of NavSection, vertically centred in the tab row (68 px tall). */
100257
100427
  var NavSectionInner = /*#__PURE__*/createStyled("div", true ? {
100258
- target: "e1607tyl27"
100428
+ target: "e1607tyl28"
100259
100429
  } : 0)( true ? {
100260
100430
  name: "15qmolt",
100261
100431
  styles: "position:relative;max-width:1440px;margin:0 auto"
100262
100432
  } : 0);
100263
100433
  var NavSearchSlot = /*#__PURE__*/createStyled("div", true ? {
100264
- target: "e1607tyl26"
100434
+ target: "e1607tyl27"
100265
100435
  } : 0)( true ? {
100266
100436
  name: "913s6b",
100267
100437
  styles: "display:none;@media (min-width: 1025px){display:flex;align-items:center;position:absolute;top:0;right:clamp(1rem, 4vw, 2rem);height:68px;width:clamp(200px, 22vw, 340px);[data-region=\"search\"]{width:100%;}}"
100268
100438
  } : 0);
100269
100439
  var PrimaryNav = /*#__PURE__*/createStyled("nav", true ? {
100270
- target: "e1607tyl25"
100440
+ target: "e1607tyl26"
100271
100441
  } : 0)("max-width:1440px;margin:0 auto;padding:0 clamp(1rem, 4vw, 2rem);ul{display:flex;flex-wrap:wrap;align-items:stretch;gap:0;margin:0;padding:0;list-style:none;}li{margin:0;}li>span,li>button{display:block;width:100%;margin:0;padding:0.95rem 0.85rem;border:none;background:none;font-size:0.9375rem;font-weight:500;text-align:left;color:", colors.text, ";border-bottom:3px solid transparent;transition:color 0.15s ease,border-color 0.15s ease;}li>button{cursor:pointer;font-family:inherit;}li:hover>span,li:hover>button{color:", colors.accent, ";}li[data-nav-active=\"true\"]>span,li[data-nav-active=\"true\"]>button{font-weight:700;border-bottom-color:", colors.navActive, ";}&[data-copy-loading] li>span{color:", colors.muted, ";}" + ( true ? "" : 0));
100272
100442
  var MegaMenuPreview = /*#__PURE__*/createStyled("section", true ? {
100273
- target: "e1607tyl24"
100443
+ target: "e1607tyl25"
100274
100444
  } : 0)("border-top:1px solid ", colors.borderLight, ";background:#f9fafb;" + ( true ? "" : 0));
100275
100445
  var MegaMenuInner = /*#__PURE__*/createStyled("div", true ? {
100276
- target: "e1607tyl23"
100446
+ target: "e1607tyl24"
100277
100447
  } : 0)( true ? {
100278
100448
  name: "1awwgt4",
100279
100449
  styles: "display:grid;grid-template-columns:minmax(11rem, 14rem) 1fr;gap:1.5rem 2.5rem;max-width:1440px;margin:0 auto;padding:1.25rem clamp(1rem, 4vw, 2rem) 1.75rem;@media (max-width: 800px){grid-template-columns:1fr;}"
100280
100450
  } : 0);
100281
100451
  var JumpToColumn = /*#__PURE__*/createStyled("div", true ? {
100282
- target: "e1607tyl22"
100452
+ target: "e1607tyl23"
100283
100453
  } : 0)("padding:1rem;border:1px solid ", colors.border, ";border-radius:6px;background:", colors.surface, ";" + ( true ? "" : 0));
100284
100454
  var JumpToTitle = /*#__PURE__*/createStyled("h3", true ? {
100285
- target: "e1607tyl21"
100455
+ target: "e1607tyl22"
100286
100456
  } : 0)("margin:0 0 0.75rem;font-size:0.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:0.04em;color:", colors.text, ";" + ( true ? "" : 0));
100287
100457
  var JumpToList = /*#__PURE__*/createStyled("ul", true ? {
100288
- target: "e1607tyl20"
100458
+ target: "e1607tyl21"
100289
100459
  } : 0)( true ? {
100290
100460
  name: "gt7hyk",
100291
100461
  styles: "display:flex;flex-direction:column;gap:0.5rem;margin:0;padding:0;list-style:none"
100292
100462
  } : 0);
100293
100463
  var JumpToPill = /*#__PURE__*/createStyled("button", true ? {
100294
- target: "e1607tyl19"
100464
+ target: "e1607tyl20"
100295
100465
  } : 0)("display:block;width:100%;margin:0;padding:0.5rem 0.85rem;border:1px solid ", colors.border, ";border-radius:999px;background:", colors.surface, ";font-size:0.8125rem;font-weight:500;text-align:left;color:", colors.text, ";transition:background 0.15s ease,border-color 0.15s ease;&:hover:not(:disabled){background:#f3f4f6;border-color:", colors.muted, ";}" + ( true ? "" : 0));
100296
100466
  var CategoriesPane = /*#__PURE__*/createStyled("div", true ? {
100297
- target: "e1607tyl18"
100467
+ target: "e1607tyl19"
100298
100468
  } : 0)("padding:1rem 1.25rem;border:1px solid ", colors.border, ";border-radius:6px;background:", colors.surface, ";" + ( true ? "" : 0));
100299
100469
  var CategoryHeaderStrip = /*#__PURE__*/createStyled("div", true ? {
100300
- target: "e1607tyl17"
100470
+ target: "e1607tyl18"
100301
100471
  } : 0)("display:flex;flex-wrap:wrap;align-items:center;gap:0.35rem 0.5rem;margin-bottom:1.25rem;padding-bottom:0.65rem;border-bottom:1px solid ", colors.borderLight, ";font-size:0.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;color:", colors.text, ";span{white-space:nowrap;}svg{flex-shrink:0;color:", colors.muted, ";}" + ( true ? "" : 0));
100302
100472
  var CategoryColumns = /*#__PURE__*/createStyled("div", true ? {
100303
- target: "e1607tyl16"
100473
+ target: "e1607tyl17"
100304
100474
  } : 0)( true ? {
100305
100475
  name: "xxda9t",
100306
100476
  styles: "display:grid;grid-template-columns:repeat(3, 1fr);gap:1.25rem 1.5rem;@media (max-width: 900px){grid-template-columns:1fr;}"
100307
100477
  } : 0);
100308
100478
  var CategoryColumn = /*#__PURE__*/(/* unused pure expression or super */ null && (_styled("div", true ? {
100309
- target: "e1607tyl15"
100479
+ target: "e1607tyl16"
100310
100480
  } : 0)( true ? "" : 0)));
100311
100481
  var CategorySubLabel = /*#__PURE__*/createStyled("p", true ? {
100312
- target: "e1607tyl14"
100482
+ target: "e1607tyl15"
100313
100483
  } : 0)("margin:0 0 0.5rem;font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:0.04em;color:", colors.muted, ";" + ( true ? "" : 0));
100314
100484
  var CategoryLinkList = /*#__PURE__*/createStyled("ul", true ? {
100315
- target: "e1607tyl13"
100485
+ target: "e1607tyl14"
100316
100486
  } : 0)("margin:0;padding:0;list-style:none;li{margin:0;padding:0;}button.link-like{display:block;width:100%;margin:0;padding:0.35rem 0;border:none;background:none;font-size:0.875rem;text-align:left;color:", colors.text, ";text-decoration:none;cursor:pointer;transition:color 0.12s ease;&:hover{color:", colors.accent, ";text-decoration:underline;}}" + ( true ? "" : 0));
100317
100487
  var MobileMenuButton = /*#__PURE__*/createStyled("button", true ? {
100318
- target: "e1607tyl12"
100488
+ target: "e1607tyl13"
100319
100489
  } : 0)("display:flex;align-items:center;justify-content:center;margin:0;padding:0.5rem;border:none;background:transparent;color:", colors.text, ";cursor:pointer;transition:background 0.15s ease;&:hover{background:rgba(0, 0, 0, 0.05);}@media (min-width: 1025px){display:none;}" + ( true ? "" : 0));
100320
100490
  var MobileUtilityBar = /*#__PURE__*/createStyled("div", true ? {
100321
- target: "e1607tyl11"
100491
+ target: "e1607tyl12"
100322
100492
  } : 0)("display:flex;align-items:center;gap:1rem;margin-left:auto;font-size:1rem;@media (min-width: 1025px){display:none;}[data-region=\"account\"] button,[data-region=\"cart\"] button{display:flex;align-items:center;padding:0;background:none;border:none;color:", colors.text, ";cursor:pointer;font-size:1rem;svg{width:24px;height:24px;}}" + ( true ? "" : 0));
100323
100493
  var MobileDrawer = /*#__PURE__*/createStyled("div", true ? {
100324
- target: "e1607tyl10"
100494
+ target: "e1607tyl11"
100325
100495
  } : 0)( true ? {
100326
100496
  name: "kxea5q",
100327
100497
  styles: "position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999;display:flex"
100328
100498
  } : 0);
100329
100499
  var MobileDrawerBackdrop = /*#__PURE__*/createStyled("div", true ? {
100330
- target: "e1607tyl9"
100500
+ target: "e1607tyl10"
100331
100501
  } : 0)( true ? {
100332
100502
  name: "eq959j",
100333
100503
  styles: "position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0, 0, 0, 0.5);cursor:pointer"
100334
100504
  } : 0);
100335
100505
  var MobileDrawerContent = /*#__PURE__*/createStyled("div", true ? {
100336
- target: "e1607tyl8"
100506
+ target: "e1607tyl9"
100337
100507
  } : 0)("position:relative;z-index:1;width:85%;max-width:375px;height:100%;background:", colors.surface, ";display:flex;flex-direction:column;gap:16px;box-shadow:2px 0 8px rgba(0, 0, 0, 0.15);" + ( true ? "" : 0));
100338
100508
  var MobileDrawerHeader = /*#__PURE__*/createStyled("div", true ? {
100339
- target: "e1607tyl7"
100509
+ target: "e1607tyl8"
100340
100510
  } : 0)( true ? {
100341
100511
  name: "dvskpv",
100342
100512
  styles: "box-sizing:border-box;width:100%;height:98px;min-height:98px;flex-shrink:0;padding:66px 0 0;background:#ffffff;opacity:1"
100343
100513
  } : 0);
100344
100514
  var MobileDrawerHeaderRow = /*#__PURE__*/createStyled("div", true ? {
100345
- target: "e1607tyl6"
100515
+ target: "e1607tyl7"
100346
100516
  } : 0)( true ? {
100347
100517
  name: "150vzce",
100348
100518
  styles: "display:flex;align-items:center;justify-content:space-between;height:32px;min-height:32px;max-height:32px;width:100%;box-sizing:border-box;padding-left:20px;padding-right:20px"
100349
100519
  } : 0);
100350
100520
  var MobileDrawerMarketTriggerSlot = /*#__PURE__*/createStyled("div", true ? {
100351
- target: "e1607tyl5"
100521
+ target: "e1607tyl6"
100352
100522
  } : 0)( true ? {
100353
100523
  name: "u09th4",
100354
100524
  styles: "flex:0 1 auto;min-width:0;height:32px;display:flex;align-items:center;justify-content:flex-end"
100355
100525
  } : 0);
100356
100526
  var MobileDrawerLogoSlot = /*#__PURE__*/createStyled("div", true ? {
100357
- target: "e1607tyl4"
100527
+ target: "e1607tyl5"
100358
100528
  } : 0)( true ? {
100359
100529
  name: "1659k0q",
100360
100530
  styles: "display:flex;align-items:center;justify-content:flex-start;min-width:0;flex:1 1 auto;height:100%;overflow:hidden"
100361
100531
  } : 0);
100362
100532
  var MobileDrawerNav = /*#__PURE__*/createStyled("nav", true ? {
100363
- target: "e1607tyl3"
100533
+ target: "e1607tyl4"
100364
100534
  } : 0)( true ? {
100365
100535
  name: "tvz3vz",
100366
100536
  styles: "flex:1;overflow-y:auto;padding:0 0 1rem;[data-drawer-top-nav]>*{max-width:none;margin:0;padding:0;width:100%;}"
100367
100537
  } : 0);
100368
100538
  var MobileDrawerNavItem = /*#__PURE__*/createStyled("div", true ? {
100369
- target: "e1607tyl2"
100539
+ target: "e1607tyl3"
100370
100540
  } : 0)( true ? "" : 0);
100371
100541
  var MobileDrawerNavButton = /*#__PURE__*/createStyled("button", true ? {
100372
- target: "e1607tyl1"
100542
+ target: "e1607tyl2"
100373
100543
  } : 0)("display:flex;align-items:center;justify-content:", function (p) {
100374
100544
  return p.$alignStart ? "flex-start" : "space-between";
100375
100545
  }, ";width:100%;margin:0;padding:1.125rem 1.5rem;border:none;background:none;font-size:1rem;font-weight:400;text-align:left;color:", colors.text, ";cursor:pointer;transition:background 0.15s ease;text-decoration:none;&:hover{background:rgba(0, 0, 0, 0.03);}svg{flex-shrink:0;color:", colors.muted, ";transition:transform 0.2s ease;}" + ( true ? "" : 0));
100546
+
100547
+ /** Nav row without trailing icon (e.g. loyalty link). */
100548
+ var MobileDrawerNavLink = /*#__PURE__*/createStyled(MobileDrawerNavButton, true ? {
100549
+ target: "e1607tyl1"
100550
+ } : 0)( true ? {
100551
+ name: "11g6mpt",
100552
+ styles: "justify-content:flex-start"
100553
+ } : 0);
100376
100554
  var MobileDrawerLocaleButton = /*#__PURE__*/createStyled("button", true ? {
100377
100555
  target: "e1607tyl0"
100378
100556
  } : 0)("display:inline-flex;align-items:center;gap:0.5rem;margin:15px 18px;padding:7px;border:1px solid ", colors.border, ";border-radius:24px;background:transparent;font-size:0.875rem;color:", colors.text, ";cursor:pointer;justify-content:center;transition:all 0.15s ease;&:hover{background:rgba(0, 0, 0, 0.03);border-color:", colors.text, ";}svg{flex-shrink:0;color:", colors.muted, ";width:16px;height:16px;}" + ( true ? "" : 0));
@@ -100442,6 +100620,19 @@ var CONTENTSTACK_API_KEY = process.env.CONTENTSTACK_API_KEY;
100442
100620
  var CONTENTSTACK_DELIVERY_TOKEN = process.env.CONTENTSTACK_DELIVERY_TOKEN;
100443
100621
  var CONTENTSTACK_ENVIRONMENT = process.env.CONTENTSTACK_ENVIRONMENT;
100444
100622
  var CONTENTSTACK_PREVIEW_TOKEN = process.env.CONTENTSTACK_PREVIEW_TOKEN;
100623
+ var GTM_TRACKING_CONFIG = {
100624
+ loyalty: {
100625
+ componentName: "Loyalty",
100626
+ impressionEvent: "header_loyalty_impression",
100627
+ impressionElement: "Impression",
100628
+ impressionTriggerType: "Element Visibility",
100629
+ clickEvent: "vb_button_cta_click",
100630
+ clickElement: "CTA Click",
100631
+ clickTriggerType: "Click - Just Links",
100632
+ // Loyalty is always an anchor (`data-gtm-loyalty`); selector works for GTM delegation.
100633
+ clickSelector: "[data-gtm-loyalty]"
100634
+ }
100635
+ };
100445
100636
 
100446
100637
  ;// ./src/utils/contentstack.js
100447
100638
  /* unused harmony import specifier */ var ContentstackLivePreview;
@@ -102419,6 +102610,12 @@ TopNavigation.defaultProps = {
102419
102610
  translations: undefined
102420
102611
  };
102421
102612
  ;// ./src/components/header/MobileHeaderDrawer.jsx
102613
+ function MobileHeaderDrawer_typeof(o) { "@babel/helpers - typeof"; return MobileHeaderDrawer_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, MobileHeaderDrawer_typeof(o); }
102614
+ function MobileHeaderDrawer_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
102615
+ function MobileHeaderDrawer_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? MobileHeaderDrawer_ownKeys(Object(t), !0).forEach(function (r) { MobileHeaderDrawer_defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : MobileHeaderDrawer_ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
102616
+ function MobileHeaderDrawer_defineProperty(e, r, t) { return (r = MobileHeaderDrawer_toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
102617
+ function MobileHeaderDrawer_toPropertyKey(t) { var i = MobileHeaderDrawer_toPrimitive(t, "string"); return "symbol" == MobileHeaderDrawer_typeof(i) ? i : i + ""; }
102618
+ function MobileHeaderDrawer_toPrimitive(t, r) { if ("object" != MobileHeaderDrawer_typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != MobileHeaderDrawer_typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
102422
102619
 
102423
102620
 
102424
102621
 
@@ -102464,13 +102661,16 @@ function MobileHeaderDrawer(_ref) {
102464
102661
  data: navigationData,
102465
102662
  locale: locale
102466
102663
  })
102467
- }), (loyaltyData === null || loyaltyData === void 0 ? void 0 : loyaltyData.link_label) && /*#__PURE__*/(0,jsx_runtime_.jsx)(MobileDrawerNavItem, {
102468
- children: /*#__PURE__*/(0,jsx_runtime_.jsx)(MobileDrawerNavButton, {
102664
+ }), (loyaltyData === null || loyaltyData === void 0 ? void 0 : loyaltyData.label) && (loyaltyData === null || loyaltyData === void 0 ? void 0 : loyaltyData.url) && /*#__PURE__*/(0,jsx_runtime_.jsx)(MobileDrawerNavItem, {
102665
+ children: /*#__PURE__*/(0,jsx_runtime_.jsx)(MobileDrawerNavLink, MobileHeaderDrawer_objectSpread(MobileHeaderDrawer_objectSpread({
102469
102666
  as: "a",
102470
- href: loyaltyData.href,
102471
- $alignStart: true,
102472
- children: loyaltyData.link_label
102473
- })
102667
+ href: loyaltyData.url
102668
+ }, loyaltyData.open_in_new_tab ? {
102669
+ target: "_blank",
102670
+ rel: "noopener noreferrer"
102671
+ } : {}), {}, {
102672
+ children: loyaltyData.label
102673
+ }))
102474
102674
  }), marketTriggerMountRef ? null : /*#__PURE__*/(0,jsx_runtime_.jsx)(MobileDrawerNavItem, {
102475
102675
  children: /*#__PURE__*/(0,jsx_runtime_.jsxs)(MobileDrawerLocaleButton, {
102476
102676
  children: [localeData.control_label, /*#__PURE__*/(0,jsx_runtime_.jsx)(IconChevronDown, {})]
@@ -102506,19 +102706,26 @@ function HeaderLoyaltyRegion_toPrimitive(t, r) { if ("object" != HeaderLoyaltyRe
102506
102706
  function HeaderLoyaltyRegion(_ref) {
102507
102707
  var _data$$;
102508
102708
  var data = _ref.data;
102509
- return /*#__PURE__*/(0,jsx_runtime_.jsx)(UtilityButton, HeaderLoyaltyRegion_objectSpread(HeaderLoyaltyRegion_objectSpread({
102510
- type: "button",
102511
- href: data === null || data === void 0 ? void 0 : data.url
102512
- }, data === null || data === void 0 || (_data$$ = data.$) === null || _data$$ === void 0 ? void 0 : _data$$.label), {}, {
102513
- children: data === null || data === void 0 ? void 0 : data.label
102709
+ var url = data === null || data === void 0 ? void 0 : data.url;
102710
+ return /*#__PURE__*/(0,jsx_runtime_.jsx)(LoyaltyUtilityLink, HeaderLoyaltyRegion_objectSpread(HeaderLoyaltyRegion_objectSpread({
102711
+ "data-gtm-loyalty": true,
102712
+ href: url
102713
+ }, data !== null && data !== void 0 && data.open_in_new_tab ? {
102714
+ target: "_blank",
102715
+ rel: "noopener noreferrer"
102716
+ } : {}), {}, {
102717
+ children: /*#__PURE__*/(0,jsx_runtime_.jsx)(LoyaltyPillInner, HeaderLoyaltyRegion_objectSpread(HeaderLoyaltyRegion_objectSpread({}, data === null || data === void 0 || (_data$$ = data.$) === null || _data$$ === void 0 ? void 0 : _data$$.label), {}, {
102718
+ children: data === null || data === void 0 ? void 0 : data.label
102719
+ }))
102514
102720
  }));
102515
102721
  }
102516
102722
  HeaderLoyaltyRegion.propTypes = {
102517
102723
  data: external_prop_types_["default"].shape({
102518
- label: external_prop_types_["default"].string.isRequired,
102519
- url: external_prop_types_["default"].string,
102724
+ label: external_prop_types_["default"].string,
102725
+ url: external_prop_types_["default"].string.isRequired,
102726
+ open_in_new_tab: external_prop_types_["default"].bool,
102520
102727
  $: external_prop_types_["default"].object
102521
- }).isRequired
102728
+ })
102522
102729
  };
102523
102730
  ;// ./src/components/signup-signin/SignUpOrSignIn.helpers.js
102524
102731
  var DEFAULT_SIGN_UP = {
@@ -107335,14 +107542,271 @@ HeaderNavigationRegion.propTypes = {
107335
107542
  locale: external_prop_types_["default"].string,
107336
107543
  translations: external_prop_types_["default"].object
107337
107544
  };
107545
+ // EXTERNAL MODULE: ./node_modules/react-gtm-module/dist/index.js
107546
+ var react_gtm_module_dist = __webpack_require__(1003);
107547
+ ;// ./src/utils/datalayer.js
107548
+ function datalayer_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
107549
+ function datalayer_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? datalayer_ownKeys(Object(t), !0).forEach(function (r) { datalayer_defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : datalayer_ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
107550
+ function datalayer_defineProperty(e, r, t) { return (r = datalayer_toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
107551
+ function datalayer_toPropertyKey(t) { var i = datalayer_toPrimitive(t, "string"); return "symbol" == datalayer_typeof(i) ? i : i + ""; }
107552
+ function datalayer_toPrimitive(t, r) { if ("object" != datalayer_typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != datalayer_typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
107553
+ function datalayer_typeof(o) { "@babel/helpers - typeof"; return datalayer_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, datalayer_typeof(o); }
107554
+
107555
+ var gtmInitialized = false;
107556
+
107557
+ /** Resets init guard — for unit tests only */
107558
+ function resetGtmInitForTesting() {
107559
+ gtmInitialized = false;
107560
+ }
107561
+ var initDataLayer = function initDataLayer() {
107562
+ if ((typeof window === "undefined" ? "undefined" : datalayer_typeof(window)) !== "object") return;
107563
+ var gtmId = process.env.REACT_APP_GTM_KEY;
107564
+ if (!gtmId || gtmInitialized) return;
107565
+ try {
107566
+ var gtmArgs = {
107567
+ gtmId: gtmId
107568
+ };
107569
+ react_gtm_module_dist.initialize(gtmArgs);
107570
+ gtmInitialized = true;
107571
+ } catch (error) {
107572
+ console.error("Error initializing GTM:", error);
107573
+ }
107574
+ };
107575
+ var pushDataLayerEvent = function pushDataLayerEvent() {
107576
+ var eventData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
107577
+ if ((typeof window === "undefined" ? "undefined" : datalayer_typeof(window)) !== "object") return;
107578
+ initDataLayer();
107579
+ var dataToTrack = datalayer_objectSpread({}, eventData);
107580
+ react_gtm_module_dist.dataLayer({
107581
+ dataLayer: dataToTrack
107582
+ });
107583
+ };
107584
+ var getDataLayer = function getDataLayer() {
107585
+ return [];
107586
+ };
107587
+ ;// ./src/utils/eventFactory.js
107588
+ function eventFactory_typeof(o) { "@babel/helpers - typeof"; return eventFactory_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, eventFactory_typeof(o); }
107589
+ var eventFactory_excluded = ["component_name", "event", "event_action", "element", "trigger_type"];
107590
+ function eventFactory_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
107591
+ function eventFactory_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? eventFactory_ownKeys(Object(t), !0).forEach(function (r) { eventFactory_defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : eventFactory_ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
107592
+ function eventFactory_defineProperty(e, r, t) { return (r = eventFactory_toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
107593
+ function eventFactory_toPropertyKey(t) { var i = eventFactory_toPrimitive(t, "string"); return "symbol" == eventFactory_typeof(i) ? i : i + ""; }
107594
+ function eventFactory_toPrimitive(t, r) { if ("object" != eventFactory_typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != eventFactory_typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
107595
+ function eventFactory_objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = eventFactory_objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
107596
+ function eventFactory_objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
107597
+
107598
+ var VB_EVENT_CONFIG = {
107599
+ view: {
107600
+ element: "Impression",
107601
+ trigger_type: "Element Visibility",
107602
+ event_category: "engagement"
107603
+ },
107604
+ click: {
107605
+ element: "CTA Click",
107606
+ trigger_type: "Click",
107607
+ event_category: "engagement"
107608
+ },
107609
+ navigate: {
107610
+ element: "Navigation",
107611
+ trigger_type: "Click",
107612
+ event_category: "engagement"
107613
+ }
107614
+ };
107615
+ var trackVisualBuilderEvent = function trackVisualBuilderEvent(_ref) {
107616
+ var component_name = _ref.component_name,
107617
+ event = _ref.event,
107618
+ event_action = _ref.event_action,
107619
+ element = _ref.element,
107620
+ trigger_type = _ref.trigger_type,
107621
+ customFields = eventFactory_objectWithoutProperties(_ref, eventFactory_excluded);
107622
+ var config = VB_EVENT_CONFIG[event_action] || VB_EVENT_CONFIG.view;
107623
+ var eventList = eventFactory_objectSpread({
107624
+ component_name: component_name,
107625
+ element: element || config.element,
107626
+ trigger_type: trigger_type || config.trigger_type,
107627
+ event: event,
107628
+ event_category: config.event_category,
107629
+ event_action: event_action
107630
+ }, customFields);
107631
+ pushDataLayerEvent(eventList);
107632
+ return eventList;
107633
+ };
107634
+ ;// ./src/components/gtm-tracker/GTMTracker.styled.js
107635
+
107636
+ function GTMTracker_styled_EMOTION_STRINGIFIED_CSS_ERROR_() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
107637
+ var GTMTrackerRoot = /*#__PURE__*/createStyled("div", true ? {
107638
+ target: "e191ba190"
107639
+ } : 0)( true ? {
107640
+ name: "13udsys",
107641
+ styles: "height:100%"
107642
+ } : 0);
107643
+ ;// ./src/components/gtm-tracker/GTMTracker.jsx
107644
+ function GTMTracker_typeof(o) { "@babel/helpers - typeof"; return GTMTracker_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, GTMTracker_typeof(o); }
107645
+ function GTMTracker_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
107646
+ function GTMTracker_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? GTMTracker_ownKeys(Object(t), !0).forEach(function (r) { GTMTracker_defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : GTMTracker_ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
107647
+ function GTMTracker_defineProperty(e, r, t) { return (r = GTMTracker_toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
107648
+ function GTMTracker_toPropertyKey(t) { var i = GTMTracker_toPrimitive(t, "string"); return "symbol" == GTMTracker_typeof(i) ? i : i + ""; }
107649
+ function GTMTracker_toPrimitive(t, r) { if ("object" != GTMTracker_typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != GTMTracker_typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
107650
+
107651
+
107652
+
107653
+
107654
+
107655
+ var isServer = typeof window === "undefined";
107656
+
107657
+ /** Stable reference — default `customFields = {}` in params creates a new object every render. */
107658
+ var EMPTY_CUSTOM_FIELDS = {};
107659
+ function pageNameFromPathname(pathname) {
107660
+ var parts = String(pathname || "").split("/").filter(Boolean);
107661
+ if (parts.length <= 2) {
107662
+ return "";
107663
+ }
107664
+ return parts.slice(2).join("/");
107665
+ }
107666
+ var GTMTracker = function GTMTracker(_ref) {
107667
+ var componentName = _ref.componentName,
107668
+ impressionEvent = _ref.impressionEvent,
107669
+ impressionElement = _ref.impressionElement,
107670
+ impressionTriggerType = _ref.impressionTriggerType,
107671
+ clickEvent = _ref.clickEvent,
107672
+ clickElement = _ref.clickElement,
107673
+ clickTriggerType = _ref.clickTriggerType,
107674
+ _ref$clickSelector = _ref.clickSelector,
107675
+ clickSelector = _ref$clickSelector === void 0 ? "a" : _ref$clickSelector,
107676
+ _ref$clickEventAction = _ref.clickEventAction,
107677
+ clickEventAction = _ref$clickEventAction === void 0 ? "click" : _ref$clickEventAction,
107678
+ customFields = _ref.customFields,
107679
+ children = _ref.children;
107680
+ // On the server, just render children — tracking is client-only.
107681
+ if (isServer) {
107682
+ return /*#__PURE__*/(0,jsx_runtime_.jsx)(GTMTrackerRoot, {
107683
+ children: children
107684
+ });
107685
+ }
107686
+ return /*#__PURE__*/(0,jsx_runtime_.jsx)(GTMTrackerClient, {
107687
+ componentName: componentName,
107688
+ impressionEvent: impressionEvent,
107689
+ impressionElement: impressionElement,
107690
+ impressionTriggerType: impressionTriggerType,
107691
+ clickEvent: clickEvent,
107692
+ clickElement: clickElement,
107693
+ clickTriggerType: clickTriggerType,
107694
+ clickSelector: clickSelector,
107695
+ clickEventAction: clickEventAction,
107696
+ customFields: customFields !== null && customFields !== void 0 ? customFields : EMPTY_CUSTOM_FIELDS,
107697
+ children: children
107698
+ });
107699
+ };
107700
+
107701
+ // Client-only component with hooks (useRef, useEffect, useLocation)
107702
+ function GTMTrackerClient(_ref2) {
107703
+ var componentName = _ref2.componentName,
107704
+ impressionEvent = _ref2.impressionEvent,
107705
+ impressionElement = _ref2.impressionElement,
107706
+ impressionTriggerType = _ref2.impressionTriggerType,
107707
+ clickEvent = _ref2.clickEvent,
107708
+ clickElement = _ref2.clickElement,
107709
+ clickTriggerType = _ref2.clickTriggerType,
107710
+ clickSelector = _ref2.clickSelector,
107711
+ clickEventAction = _ref2.clickEventAction,
107712
+ customFields = _ref2.customFields,
107713
+ children = _ref2.children;
107714
+ var componentRef = (0,external_react_.useRef)(null);
107715
+ var impressionTrackedRef = (0,external_react_.useRef)(false);
107716
+ var pageName = pageNameFromPathname(typeof window !== "undefined" ? window.location.pathname : "");
107717
+ (0,external_react_.useEffect)(function () {
107718
+ if (!impressionEvent) return;
107719
+ var observer = new IntersectionObserver(function (entries) {
107720
+ entries.forEach(function (entry) {
107721
+ if (entry.isIntersecting && !impressionTrackedRef.current) {
107722
+ impressionTrackedRef.current = true;
107723
+ trackVisualBuilderEvent(GTMTracker_objectSpread(GTMTracker_objectSpread(GTMTracker_objectSpread({
107724
+ component_name: componentName,
107725
+ event: impressionEvent,
107726
+ event_action: "view",
107727
+ page_name: pageName
107728
+ }, impressionElement && {
107729
+ element: impressionElement
107730
+ }), impressionTriggerType && {
107731
+ trigger_type: impressionTriggerType
107732
+ }), customFields));
107733
+ }
107734
+ });
107735
+ }, {
107736
+ threshold: 0.1
107737
+ });
107738
+ var el = componentRef.current;
107739
+ if (el) {
107740
+ observer.observe(el);
107741
+ }
107742
+ return function () {
107743
+ if (el) {
107744
+ observer.unobserve(el);
107745
+ }
107746
+ };
107747
+ }, [componentName, impressionEvent, customFields, pageName, impressionElement, impressionTriggerType]);
107748
+ (0,external_react_.useEffect)(function () {
107749
+ if (!clickEvent) return;
107750
+ var el = componentRef.current;
107751
+ if (!el) return;
107752
+ var handleClick = function handleClick(e) {
107753
+ var target = e.target.closest(clickSelector);
107754
+ if (target) {
107755
+ trackVisualBuilderEvent(GTMTracker_objectSpread(GTMTracker_objectSpread(GTMTracker_objectSpread({
107756
+ component_name: componentName,
107757
+ event: clickEvent,
107758
+ event_action: clickEventAction,
107759
+ page_name: pageName
107760
+ }, clickElement && {
107761
+ element: clickElement
107762
+ }), clickTriggerType && {
107763
+ trigger_type: clickTriggerType
107764
+ }), customFields));
107765
+ }
107766
+ };
107767
+ el.addEventListener("click", handleClick, true);
107768
+ return function () {
107769
+ return el.removeEventListener("click", handleClick, true);
107770
+ };
107771
+ }, [componentName, clickEvent, clickElement, clickTriggerType, clickSelector, clickEventAction, customFields, pageName]);
107772
+ return /*#__PURE__*/(0,jsx_runtime_.jsx)(GTMTrackerRoot, {
107773
+ ref: componentRef,
107774
+ children: children
107775
+ });
107776
+ }
107777
+ GTMTracker.propTypes = {
107778
+ componentName: external_prop_types_["default"].string.isRequired,
107779
+ impressionEvent: external_prop_types_["default"].string,
107780
+ impressionElement: external_prop_types_["default"].string,
107781
+ impressionTriggerType: external_prop_types_["default"].string,
107782
+ clickEvent: external_prop_types_["default"].string,
107783
+ clickElement: external_prop_types_["default"].string,
107784
+ clickTriggerType: external_prop_types_["default"].string,
107785
+ clickSelector: external_prop_types_["default"].string,
107786
+ clickEventAction: external_prop_types_["default"].string,
107787
+ customFields: external_prop_types_["default"].object,
107788
+ children: external_prop_types_["default"].node.isRequired
107789
+ };
107790
+ GTMTrackerClient.propTypes = GTMTracker.propTypes;
107791
+ /* harmony default export */ const gtm_tracker_GTMTracker = (GTMTracker);
107338
107792
  ;// ./src/utils/common.js
107793
+ function common_typeof(o) { "@babel/helpers - typeof"; return common_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, common_typeof(o); }
107794
+ function common_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
107795
+ function common_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? common_ownKeys(Object(t), !0).forEach(function (r) { common_defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : common_ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
107796
+ function common_defineProperty(e, r, t) { return (r = common_toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
107797
+ function common_toPropertyKey(t) { var i = common_toPrimitive(t, "string"); return "symbol" == common_typeof(i) ? i : i + ""; }
107798
+ function common_toPrimitive(t, r) { if ("object" != common_typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != common_typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
107339
107799
  function common_slicedToArray(r, e) { return common_arrayWithHoles(r) || common_iterableToArrayLimit(r, e) || common_unsupportedIterableToArray(r, e) || common_nonIterableRest(); }
107340
107800
  function common_nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
107341
107801
  function common_unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return common_arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? common_arrayLikeToArray(r, a) : void 0; } }
107342
107802
  function common_arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
107343
107803
  function common_iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
107344
107804
  function common_arrayWithHoles(r) { if (Array.isArray(r)) return r; }
107345
- var isServer = typeof window === "undefined";
107805
+
107806
+
107807
+
107808
+
107809
+ var common_isServer = typeof window === "undefined";
107346
107810
  var hasLocalePrefix = function hasLocalePrefix(path) {
107347
107811
  return /^\/[a-z]{2}\/[a-z]{2}(\/|$)/i.test(path);
107348
107812
  };
@@ -107485,6 +107949,17 @@ var convertToLocalizedUrl = function convertToLocalizedUrl(inputUrl) {
107485
107949
  localizedBase: localizedBase
107486
107950
  });
107487
107951
  };
107952
+ var withTracking = function withTracking(component) {
107953
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
107954
+ var componentType = options.componentType;
107955
+ var trackingConfig = GTM_TRACKING_CONFIG[componentType];
107956
+ if (!trackingConfig) {
107957
+ return component;
107958
+ }
107959
+ return /*#__PURE__*/(0,jsx_runtime_.jsx)(gtm_tracker_GTMTracker, common_objectSpread(common_objectSpread({}, trackingConfig), {}, {
107960
+ children: component
107961
+ }));
107962
+ };
107488
107963
  ;// ./src/components/top-ribbon/types.js
107489
107964
 
107490
107965
  var NavigationLinkPropTypes = external_prop_types_["default"].shape({
@@ -110145,6 +110620,7 @@ function HeaderView_arrayWithHoles(r) { if (Array.isArray(r)) return r; }
110145
110620
 
110146
110621
 
110147
110622
 
110623
+
110148
110624
  var DEFAULT_LOGO = {
110149
110625
  wordmark: "NU SKIN",
110150
110626
  home_href: "/",
@@ -110161,10 +110637,6 @@ var DEFAULT_MARKET_SELECTOR = {
110161
110637
  cancel_text: "Cancel",
110162
110638
  control_label: DEFAULT_LOCALE.control_label
110163
110639
  };
110164
- var DEFAULT_LOYALTY = {
110165
- link_label: "Nu Skin Rewards",
110166
- href: "/rewards"
110167
- };
110168
110640
  var DEFAULT_ACCOUNT = {
110169
110641
  show: true,
110170
110642
  icon: "userOutline",
@@ -110178,6 +110650,12 @@ var DEFAULT_ACCOUNT = {
110178
110650
  url: ""
110179
110651
  }
110180
110652
  };
110653
+ var DEFAULT_LOYALTY = {
110654
+ label: "Nu Skin Rewards",
110655
+ url: "/rewards",
110656
+ open_in_new_tab: true,
110657
+ show: true
110658
+ };
110181
110659
  var DEFAULT_CART = {
110182
110660
  aria_label: "Shopping cart",
110183
110661
  count: 0
@@ -110258,14 +110736,27 @@ function buildAccountParentTags(_ref2) {
110258
110736
  sign_in_url: pickTag("sign_in_url")
110259
110737
  };
110260
110738
  }
110261
- function HeaderView(_ref3) {
110262
- var _headerEntry$logo, _headerEntry$locale_s, _utilityLinksEntry$lo, _utilityLinksEntry$lo2, _headerEntry$cart, _storefrontParams$car, _headerEntry$$, _headerEntry$top_ribb, _headerEntry$market_s, _headerEntry$translat, _headerEntry$translat2, _topRibbon$top_ribbon, _headerEntry$$2, _ref4, _headerEntry$locale, _headerEntry$$3, _headerEntry$$4;
110263
- var country = _ref3.country,
110264
- language = _ref3.language,
110265
- locale = _ref3.locale,
110266
- headerEntry = _ref3.headerEntry,
110267
- searchConfig = _ref3.searchConfig,
110268
- storefrontParams = _ref3.storefrontParams;
110739
+ function LoyaltyComponent(_ref3) {
110740
+ var data = _ref3.data;
110741
+ var show = normalizeShowFlag(data === null || data === void 0 ? void 0 : data.show, true);
110742
+ if (!show) return null;
110743
+ return withTracking(/*#__PURE__*/(0,jsx_runtime_.jsx)(HeaderLoyaltyRegion, {
110744
+ data: data
110745
+ }), {
110746
+ componentType: "loyalty"
110747
+ });
110748
+ }
110749
+ LoyaltyComponent.propTypes = {
110750
+ data: external_prop_types_["default"].object
110751
+ };
110752
+ function HeaderView(_ref4) {
110753
+ var _headerEntry$logo, _headerEntry$locale_s, _utilityLinksEntry$lo, _utilityLinksEntry$lo2, _headerEntry$cart, _storefrontParams$car, _headerEntry$$, _headerEntry$top_ribb, _headerEntry$market_s, _headerEntry$translat, _headerEntry$translat2, _topRibbon$top_ribbon, _headerEntry$$2, _ref5, _headerEntry$locale, _headerEntry$$3, _headerEntry$$4;
110754
+ var country = _ref4.country,
110755
+ language = _ref4.language,
110756
+ locale = _ref4.locale,
110757
+ headerEntry = _ref4.headerEntry,
110758
+ searchConfig = _ref4.searchConfig,
110759
+ storefrontParams = _ref4.storefrontParams;
110269
110760
  var _useState = (0,external_react_.useState)(false),
110270
110761
  _useState2 = HeaderView_slicedToArray(_useState, 2),
110271
110762
  isMobileMenuOpen = _useState2[0],
@@ -110345,12 +110836,12 @@ function HeaderView(_ref3) {
110345
110836
  children: [/*#__PURE__*/(0,jsx_runtime_.jsx)(MarketSelector, {
110346
110837
  data: marketSelector,
110347
110838
  logo: logoData,
110348
- locale: String((_ref4 = (_headerEntry$locale = headerEntry === null || headerEntry === void 0 ? void 0 : headerEntry.locale) !== null && _headerEntry$locale !== void 0 ? _headerEntry$locale : locale) !== null && _ref4 !== void 0 ? _ref4 : "").trim(),
110839
+ locale: String((_ref5 = (_headerEntry$locale = headerEntry === null || headerEntry === void 0 ? void 0 : headerEntry.locale) !== null && _headerEntry$locale !== void 0 ? _headerEntry$locale : locale) !== null && _ref5 !== void 0 ? _ref5 : "").trim(),
110349
110840
  parent$: headerEntry === null || headerEntry === void 0 || (_headerEntry$$3 = headerEntry.$) === null || _headerEntry$$3 === void 0 ? void 0 : _headerEntry$$3.market_selector__0,
110350
110841
  mobileTriggerMode: "drawerPortal",
110351
110842
  drawerOpen: isMobileMenuOpen,
110352
110843
  drawerTriggerMountRef: mobileMarketTriggerMountRef
110353
- }), /*#__PURE__*/(0,jsx_runtime_.jsx)(HeaderLoyaltyRegion, {
110844
+ }), /*#__PURE__*/(0,jsx_runtime_.jsx)(LoyaltyComponent, {
110354
110845
  data: loyaltyData
110355
110846
  }), /*#__PURE__*/(0,jsx_runtime_.jsx)(HeaderAccountRegion, {
110356
110847
  data: accountData,