@liquidcommercedev/rmn-sdk 1.5.0-beta.30 → 1.5.0-beta.32
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/dist/index.cjs +1952 -1430
- package/dist/index.esm.js +1952 -1430
- package/dist/types/common/helpers/extract-deep.helper.d.ts +0 -14
- package/dist/types/common/helpers/index.d.ts +1 -0
- package/dist/types/common/helpers/normalize-string.helper.d.ts +14 -0
- package/dist/types/constants/index.d.ts +1 -1
- package/dist/types/constants/special-chars-map.constant.d.ts +1 -0
- package/dist/types/modules/helper-service/localstorage.service.d.ts +6 -40
- package/dist/types/modules/monitor/monitor.service.d.ts +3 -2
- package/package.json +1 -1
- package/umd/liquidcommerce-rmn-sdk.min.js +1 -1
- package/dist/types/constants/special-char.constant.d.ts +0 -1
package/dist/index.cjs
CHANGED
@@ -6132,773 +6132,1161 @@ function getEventTypeFromRawEvent(event) {
|
|
6132
6132
|
return null;
|
6133
6133
|
}
|
6134
6134
|
|
6135
|
-
const
|
6136
|
-
|
6137
|
-
|
6138
|
-
|
6139
|
-
|
6140
|
-
|
6141
|
-
|
6142
|
-
|
6143
|
-
|
6144
|
-
|
6145
|
-
|
6146
|
-
|
6147
|
-
|
6148
|
-
|
6149
|
-
|
6150
|
-
|
6151
|
-
|
6152
|
-
|
6153
|
-
|
6154
|
-
|
6155
|
-
|
6156
|
-
|
6157
|
-
|
6158
|
-
|
6159
|
-
|
6160
|
-
|
6161
|
-
|
6162
|
-
|
6163
|
-
|
6164
|
-
|
6165
|
-
|
6166
|
-
|
6167
|
-
|
6168
|
-
|
6169
|
-
header: 'Premium Wine Collection',
|
6170
|
-
description: 'Discover our exclusive selection of vintage wines',
|
6171
|
-
ctaText: 'Shop Wines',
|
6172
|
-
textColor: '#ffffff',
|
6173
|
-
ctaTextColor: '#ffffff',
|
6174
|
-
primaryImage: 'https://placehold.co/1140x640/png?text=Wine+Collection',
|
6175
|
-
mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Wine',
|
6176
|
-
events: SPOT_EVENTS_EXAMPLE,
|
6177
|
-
productIds: [1, 2, 3],
|
6178
|
-
},
|
6179
|
-
{
|
6180
|
-
id: 'jkl012',
|
6181
|
-
spot: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_TWO_TILE,
|
6182
|
-
variant: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_TWO_TILE,
|
6183
|
-
width: 1140,
|
6184
|
-
height: 640,
|
6185
|
-
header: 'Whiskey Collection',
|
6186
|
-
description: 'Premium whiskeys from around the world',
|
6187
|
-
ctaText: 'Shop Whiskeys',
|
6188
|
-
textColor: '#ffffff',
|
6189
|
-
backgroundColor: '#2c1810',
|
6190
|
-
ctaTextColor: '#2c1810',
|
6191
|
-
primaryImage: 'https://placehold.co/1140x640/png?text=Whiskey',
|
6192
|
-
mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Whiskey',
|
6193
|
-
events: SPOT_EVENTS_EXAMPLE,
|
6194
|
-
productIds: [10, 11],
|
6195
|
-
},
|
6196
|
-
{
|
6197
|
-
id: 'stu901',
|
6198
|
-
spot: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_THREE_TILE,
|
6199
|
-
variant: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_THREE_TILE,
|
6200
|
-
width: 1140,
|
6201
|
-
height: 640,
|
6202
|
-
header: 'Summer Cocktails',
|
6203
|
-
description: 'Essential spirits for summer mixing',
|
6204
|
-
ctaText: 'Mix It Up',
|
6205
|
-
textColor: '#ffffff',
|
6206
|
-
backgroundColor: '#4d3a0a',
|
6207
|
-
ctaTextColor: '#4d3a0a',
|
6208
|
-
primaryImage: 'https://placehold.co/1140x640/png?text=Cocktails',
|
6209
|
-
secondaryImage: 'https://placehold.co/1140x640/png?text=Mixers',
|
6210
|
-
mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Cocktails',
|
6211
|
-
mobileSecondaryImage: 'https://placehold.co/640x320/png?text=Mobile+Mixers',
|
6212
|
-
events: SPOT_EVENTS_EXAMPLE,
|
6213
|
-
productIds: [16, 17, 18],
|
6214
|
-
},
|
6215
|
-
{
|
6216
|
-
id: 'def456',
|
6217
|
-
spot: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_FULL_IMAGE,
|
6218
|
-
variant: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_FULL_IMAGE,
|
6219
|
-
width: 1140,
|
6220
|
-
height: 640,
|
6221
|
-
header: 'Craft Beer Festival',
|
6222
|
-
description: 'Local breweries and exclusive releases',
|
6223
|
-
ctaText: 'Explore Beers',
|
6224
|
-
textColor: '#ffffff',
|
6225
|
-
ctaTextColor: '#ffffff',
|
6226
|
-
primaryImage: 'https://placehold.co/1140x640/png?text=Beer+Festival',
|
6227
|
-
mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Beer',
|
6228
|
-
events: SPOT_EVENTS_EXAMPLE,
|
6229
|
-
productIds: [4, 5, 6],
|
6230
|
-
},
|
6231
|
-
{
|
6232
|
-
id: 'mno345',
|
6233
|
-
spot: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_TWO_TILE,
|
6234
|
-
variant: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_TWO_TILE,
|
6235
|
-
width: 1140,
|
6236
|
-
height: 640,
|
6237
|
-
header: 'Champagne Selection',
|
6238
|
-
description: 'Finest champagnes for every occasion',
|
6239
|
-
ctaText: 'View Champagnes',
|
6240
|
-
textColor: '#ffffff',
|
6241
|
-
backgroundColor: '#1a1a1a',
|
6242
|
-
ctaTextColor: '#1a1a1a',
|
6243
|
-
primaryImage: 'https://placehold.co/1140x640/png?text=Champagne',
|
6244
|
-
mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Champagne',
|
6245
|
-
events: SPOT_EVENTS_EXAMPLE,
|
6246
|
-
productIds: [12, 13],
|
6247
|
-
},
|
6248
|
-
{
|
6249
|
-
id: 'vwx234',
|
6250
|
-
spot: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_THREE_TILE,
|
6251
|
-
variant: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_THREE_TILE,
|
6252
|
-
width: 1140,
|
6253
|
-
height: 640,
|
6254
|
-
header: 'Wine Regions',
|
6255
|
-
description: 'Explore wines from top regions',
|
6256
|
-
ctaText: 'Tour Regions',
|
6257
|
-
textColor: '#ffffff',
|
6258
|
-
backgroundColor: '#4d0a0a',
|
6259
|
-
ctaTextColor: '#4d0a0a',
|
6260
|
-
primaryImage: 'https://placehold.co/1140x640/png?text=Wine+Regions',
|
6261
|
-
secondaryImage: 'https://placehold.co/1140x640/png?text=Vineyards',
|
6262
|
-
mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Regions',
|
6263
|
-
mobileSecondaryImage: 'https://placehold.co/640x320/png?text=Mobile+Vineyards',
|
6264
|
-
events: SPOT_EVENTS_EXAMPLE,
|
6265
|
-
productIds: [19, 20, 21],
|
6266
|
-
},
|
6267
|
-
{
|
6268
|
-
id: 'ghi789',
|
6269
|
-
spot: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_FULL_IMAGE,
|
6270
|
-
variant: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_FULL_IMAGE,
|
6271
|
-
width: 1140,
|
6272
|
-
height: 640,
|
6273
|
-
header: 'Rare Spirits',
|
6274
|
-
description: 'Limited edition spirits collection',
|
6275
|
-
ctaText: 'View Collection',
|
6276
|
-
textColor: '#ffffff',
|
6277
|
-
ctaTextColor: '#ffffff',
|
6278
|
-
primaryImage: 'https://placehold.co/1140x640/png?text=Rare+Spirits',
|
6279
|
-
mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Spirits',
|
6280
|
-
events: SPOT_EVENTS_EXAMPLE,
|
6281
|
-
productIds: [7, 8, 9],
|
6282
|
-
},
|
6283
|
-
{
|
6284
|
-
id: 'pqr678',
|
6285
|
-
spot: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_TWO_TILE,
|
6286
|
-
variant: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_TWO_TILE,
|
6287
|
-
width: 1140,
|
6288
|
-
height: 640,
|
6289
|
-
header: 'Gin Collection',
|
6290
|
-
description: 'Artisanal gins and botanicals',
|
6291
|
-
ctaText: 'Explore Gins',
|
6292
|
-
textColor: '#ffffff',
|
6293
|
-
backgroundColor: '#0a4d4d',
|
6294
|
-
ctaTextColor: '#0a4d4d',
|
6295
|
-
primaryImage: 'https://placehold.co/1140x640/png?text=Gin',
|
6296
|
-
mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Gin',
|
6297
|
-
events: SPOT_EVENTS_EXAMPLE,
|
6298
|
-
productIds: [14, 15],
|
6299
|
-
},
|
6300
|
-
{
|
6301
|
-
id: 'yz5678',
|
6302
|
-
spot: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_THREE_TILE,
|
6303
|
-
variant: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_THREE_TILE,
|
6304
|
-
width: 1140,
|
6305
|
-
height: 640,
|
6306
|
-
header: 'Tequila Collection',
|
6307
|
-
description: 'Premium tequilas and mezcals',
|
6308
|
-
ctaText: 'Shop Tequila',
|
6309
|
-
textColor: '#ffffff',
|
6310
|
-
backgroundColor: '#0a4d2b',
|
6311
|
-
ctaTextColor: '#0a4d2b',
|
6312
|
-
primaryImage: 'https://placehold.co/1140x640/png?text=Tequila',
|
6313
|
-
secondaryImage: 'https://placehold.co/1140x640/png?text=Mezcal',
|
6314
|
-
mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Tequila',
|
6315
|
-
mobileSecondaryImage: 'https://placehold.co/640x320/png?text=Mobile+Mezcal',
|
6316
|
-
events: SPOT_EVENTS_EXAMPLE,
|
6317
|
-
productIds: [22, 23, 24],
|
6318
|
-
},
|
6319
|
-
],
|
6320
|
-
rbHomepageHeroFullImage: [
|
6321
|
-
{
|
6322
|
-
id: 'hjk567',
|
6323
|
-
spot: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_FULL_IMAGE,
|
6324
|
-
variant: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_FULL_IMAGE,
|
6325
|
-
width: 1140,
|
6326
|
-
height: 640,
|
6327
|
-
header: 'Holiday Gift Guide',
|
6328
|
-
description: 'Perfect spirits for every occasion',
|
6329
|
-
ctaText: 'Shop Gifts',
|
6330
|
-
textColor: '#ffffff',
|
6331
|
-
ctaTextColor: '#ffffff',
|
6332
|
-
primaryImage: 'https://placehold.co/1140x640/png?text=Gift+Guide',
|
6333
|
-
mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Gifts',
|
6334
|
-
events: SPOT_EVENTS_EXAMPLE,
|
6335
|
-
productIds: [25, 26],
|
6336
|
-
},
|
6337
|
-
{
|
6338
|
-
id: 'qwe890',
|
6339
|
-
spot: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_FULL_IMAGE,
|
6340
|
-
variant: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_FULL_IMAGE,
|
6341
|
-
width: 1140,
|
6342
|
-
height: 640,
|
6343
|
-
header: 'Summer Wine Festival',
|
6344
|
-
description: 'Refreshing wines for summer',
|
6345
|
-
ctaText: 'Shop Festival',
|
6346
|
-
textColor: '#ffffff',
|
6347
|
-
ctaTextColor: '#ffffff',
|
6348
|
-
primaryImage: 'https://placehold.co/1140x640/png?text=Wine+Festival',
|
6349
|
-
mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Festival',
|
6350
|
-
events: SPOT_EVENTS_EXAMPLE,
|
6351
|
-
productIds: [27, 28],
|
6352
|
-
},
|
6353
|
-
],
|
6354
|
-
rbHomepageHeroTwoTile: [
|
6355
|
-
{
|
6356
|
-
id: 'iop987',
|
6357
|
-
spot: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_TWO_TILE,
|
6358
|
-
variant: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_TWO_TILE,
|
6359
|
-
width: 1140,
|
6360
|
-
height: 640,
|
6361
|
-
header: 'Bourbon Selection',
|
6362
|
-
description: "Kentucky's finest bourbons",
|
6363
|
-
ctaText: 'Shop Bourbon',
|
6364
|
-
textColor: '#ffffff',
|
6365
|
-
backgroundColor: '#2c1810',
|
6366
|
-
ctaTextColor: '#2c1810',
|
6367
|
-
primaryImage: 'https://placehold.co/1140x640/png?text=Bourbon',
|
6368
|
-
mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Bourbon',
|
6369
|
-
events: SPOT_EVENTS_EXAMPLE,
|
6370
|
-
productIds: [29, 30],
|
6371
|
-
},
|
6372
|
-
{
|
6373
|
-
id: 'lkj012',
|
6374
|
-
spot: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_TWO_TILE,
|
6375
|
-
variant: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_TWO_TILE,
|
6376
|
-
width: 1140,
|
6377
|
-
height: 640,
|
6378
|
-
header: 'Vodka Collection',
|
6379
|
-
description: 'Premium vodkas from around the world',
|
6380
|
-
ctaText: 'Shop Vodka',
|
6381
|
-
textColor: '#ffffff',
|
6382
|
-
backgroundColor: '#1a1a1a',
|
6383
|
-
ctaTextColor: '#1a1a1a',
|
6384
|
-
primaryImage: 'https://placehold.co/1140x640/png?text=Vodka',
|
6385
|
-
mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Vodka',
|
6386
|
-
events: SPOT_EVENTS_EXAMPLE,
|
6387
|
-
productIds: [31, 32],
|
6388
|
-
},
|
6389
|
-
],
|
6390
|
-
rbHomepageHeroThreeTile: [
|
6391
|
-
{
|
6392
|
-
id: 'bnm345',
|
6393
|
-
spot: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_THREE_TILE,
|
6394
|
-
variant: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_THREE_TILE,
|
6395
|
-
width: 1140,
|
6396
|
-
height: 640,
|
6397
|
-
header: 'Rum Collection',
|
6398
|
-
description: 'Caribbean and craft rums',
|
6399
|
-
ctaText: 'Shop Rum',
|
6400
|
-
textColor: '#ffffff',
|
6401
|
-
backgroundColor: '#4d3a0a',
|
6402
|
-
ctaTextColor: '#4d3a0a',
|
6403
|
-
primaryImage: 'https://placehold.co/1140x640/png?text=Rum',
|
6404
|
-
secondaryImage: 'https://placehold.co/1140x640/png?text=Craft+Rum',
|
6405
|
-
mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Rum',
|
6406
|
-
mobileSecondaryImage: 'https://placehold.co/640x320/png?text=Mobile+Craft',
|
6407
|
-
events: SPOT_EVENTS_EXAMPLE,
|
6408
|
-
productIds: [33, 34],
|
6409
|
-
},
|
6410
|
-
{
|
6411
|
-
id: 'fgh678',
|
6412
|
-
spot: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_THREE_TILE,
|
6413
|
-
variant: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_THREE_TILE,
|
6414
|
-
width: 1140,
|
6415
|
-
height: 640,
|
6416
|
-
header: 'Scotch Selection',
|
6417
|
-
description: 'Single malts and blends',
|
6418
|
-
ctaText: 'Shop Scotch',
|
6419
|
-
textColor: '#ffffff',
|
6420
|
-
backgroundColor: '#4d0a0a',
|
6421
|
-
ctaTextColor: '#4d0a0a',
|
6422
|
-
primaryImage: 'https://placehold.co/1140x640/png?text=Scotch',
|
6423
|
-
secondaryImage: 'https://placehold.co/1140x640/png?text=Single+Malts',
|
6424
|
-
mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Scotch',
|
6425
|
-
mobileSecondaryImage: 'https://placehold.co/640x320/png?text=Mobile+Malts',
|
6426
|
-
events: SPOT_EVENTS_EXAMPLE,
|
6427
|
-
productIds: [35, 36],
|
6428
|
-
},
|
6429
|
-
],
|
6430
|
-
rbLargeCategoryImageTout: [
|
6431
|
-
{
|
6432
|
-
id: 'cde567',
|
6433
|
-
spot: exports.RMN_SPOT_TYPE.RB_LARGE_CATEGORY_IMAGE_TOUT,
|
6434
|
-
variant: exports.RMN_SPOT_TYPE.RB_LARGE_CATEGORY_IMAGE_TOUT,
|
6435
|
-
width: 468,
|
6436
|
-
height: 410,
|
6437
|
-
header: 'Rare & Limited Edition',
|
6438
|
-
description: 'Discover our collection of hard-to-find and limited release spirits.',
|
6439
|
-
textColor: '#ffffff',
|
6440
|
-
ctaTextColor: '#ffffff',
|
6441
|
-
primaryImage: 'https://placehold.co/468x410/png?text=Rare+Spirits',
|
6442
|
-
mobilePrimaryImage: 'https://placehold.co/468x410/png?text=Mobile+Rare+Spirits',
|
6443
|
-
ctaText: 'Shop Rare Spirits',
|
6444
|
-
events: SPOT_EVENTS_EXAMPLE,
|
6445
|
-
productIds: [37, 38, 39, 40, 41],
|
6446
|
-
},
|
6447
|
-
{
|
6448
|
-
id: 'efg789',
|
6449
|
-
spot: exports.RMN_SPOT_TYPE.RB_LARGE_CATEGORY_IMAGE_TOUT,
|
6450
|
-
variant: exports.RMN_SPOT_TYPE.RB_LARGE_CATEGORY_IMAGE_TOUT,
|
6451
|
-
width: 468,
|
6452
|
-
height: 410,
|
6453
|
-
header: 'Vintage Champagnes',
|
6454
|
-
description: 'Explore our prestigious collection of aged champagnes.',
|
6455
|
-
textColor: '#ffffff',
|
6456
|
-
ctaTextColor: '#ffffff',
|
6457
|
-
primaryImage: 'https://placehold.co/468x410/png?text=Vintage+Champagne',
|
6458
|
-
mobilePrimaryImage: 'https://placehold.co/468x410/png?text=Mobile+Champagne',
|
6459
|
-
ctaText: 'View Collection',
|
6460
|
-
events: SPOT_EVENTS_EXAMPLE,
|
6461
|
-
productIds: [42, 43, 44, 45, 46],
|
6462
|
-
},
|
6463
|
-
{
|
6464
|
-
id: 'ghi012',
|
6465
|
-
spot: exports.RMN_SPOT_TYPE.RB_LARGE_CATEGORY_IMAGE_TOUT,
|
6466
|
-
variant: exports.RMN_SPOT_TYPE.RB_LARGE_CATEGORY_IMAGE_TOUT,
|
6467
|
-
width: 468,
|
6468
|
-
height: 410,
|
6469
|
-
header: 'Small Batch Bourbon',
|
6470
|
-
description: 'Hand-selected premium bourbon from craft distilleries.',
|
6471
|
-
textColor: '#ffffff',
|
6472
|
-
ctaTextColor: '#ffffff',
|
6473
|
-
primaryImage: 'https://placehold.co/468x410/png?text=Craft+Bourbon',
|
6474
|
-
mobilePrimaryImage: 'https://placehold.co/468x410/png?text=Mobile+Bourbon',
|
6475
|
-
ctaText: 'Explore Bourbon',
|
6476
|
-
events: SPOT_EVENTS_EXAMPLE,
|
6477
|
-
productIds: [47, 48, 49, 50, 51],
|
6478
|
-
},
|
6479
|
-
],
|
6480
|
-
rbSmallDiscoverTout: [
|
6481
|
-
{
|
6482
|
-
id: 'jkl345',
|
6483
|
-
spot: exports.RMN_SPOT_TYPE.RB_SMALL_DISCOVER_TOUT,
|
6484
|
-
variant: exports.RMN_SPOT_TYPE.RB_SMALL_DISCOVER_TOUT,
|
6485
|
-
width: 224,
|
6486
|
-
height: 378,
|
6487
|
-
header: 'Château Margaux 2015 Bordeaux',
|
6488
|
-
textColor: '#ffffff',
|
6489
|
-
primaryImage: 'https://placehold.co/224x378/png?text=Château+Margaux',
|
6490
|
-
mobilePrimaryImage: 'https://placehold.co/224x378/png?text=Mobile+Château+Margaux',
|
6491
|
-
events: SPOT_EVENTS_EXAMPLE,
|
6492
|
-
productIds: [52, 53, 54, 55, 56],
|
6493
|
-
},
|
6494
|
-
{
|
6495
|
-
id: 'lmn678',
|
6496
|
-
spot: exports.RMN_SPOT_TYPE.RB_SMALL_DISCOVER_TOUT,
|
6497
|
-
variant: exports.RMN_SPOT_TYPE.RB_SMALL_DISCOVER_TOUT,
|
6498
|
-
width: 224,
|
6499
|
-
height: 378,
|
6500
|
-
header: 'Macallan 25 Year',
|
6501
|
-
textColor: '#ffffff',
|
6502
|
-
primaryImage: 'https://placehold.co/224x378/png?text=Macallan+25',
|
6503
|
-
mobilePrimaryImage: 'https://placehold.co/224x378/png?text=Mobile+Macallan',
|
6504
|
-
events: SPOT_EVENTS_EXAMPLE,
|
6505
|
-
productIds: [57, 58, 59, 60, 61],
|
6506
|
-
},
|
6507
|
-
{
|
6508
|
-
id: 'nop901',
|
6509
|
-
spot: exports.RMN_SPOT_TYPE.RB_SMALL_DISCOVER_TOUT,
|
6510
|
-
variant: exports.RMN_SPOT_TYPE.RB_SMALL_DISCOVER_TOUT,
|
6511
|
-
width: 224,
|
6512
|
-
height: 378,
|
6513
|
-
header: 'Louis XIII Cognac',
|
6514
|
-
textColor: '#ffffff',
|
6515
|
-
primaryImage: 'https://placehold.co/224x378/png?text=Louis+XIII',
|
6516
|
-
mobilePrimaryImage: 'https://placehold.co/224x378/png?text=Mobile+Louis+XIII',
|
6517
|
-
events: SPOT_EVENTS_EXAMPLE,
|
6518
|
-
productIds: [62, 63, 64, 65, 66],
|
6519
|
-
},
|
6520
|
-
],
|
6521
|
-
rbSmallCategoryImageTout: [
|
6522
|
-
{
|
6523
|
-
id: 'qrs234',
|
6524
|
-
spot: exports.RMN_SPOT_TYPE.RB_SMALL_CATEGORY_IMAGE_TOUT,
|
6525
|
-
variant: exports.RMN_SPOT_TYPE.RB_SMALL_CATEGORY_IMAGE_TOUT,
|
6526
|
-
width: 224,
|
6527
|
-
height: 410,
|
6528
|
-
header: 'Japanese Sake',
|
6529
|
-
textColor: '#ffffff',
|
6530
|
-
primaryImage: 'https://placehold.co/224x410/png?text=Japanese+Sake',
|
6531
|
-
mobilePrimaryImage: 'https://placehold.co/224x410/png?text=Mobile+Japanese+Sake',
|
6532
|
-
events: SPOT_EVENTS_EXAMPLE,
|
6533
|
-
productIds: [67, 68, 69, 70, 71],
|
6534
|
-
},
|
6535
|
-
{
|
6536
|
-
id: 'stu567',
|
6537
|
-
spot: exports.RMN_SPOT_TYPE.RB_SMALL_CATEGORY_IMAGE_TOUT,
|
6538
|
-
variant: exports.RMN_SPOT_TYPE.RB_SMALL_CATEGORY_IMAGE_TOUT,
|
6539
|
-
width: 224,
|
6540
|
-
height: 410,
|
6541
|
-
header: 'Craft Vermouth',
|
6542
|
-
textColor: '#ffffff',
|
6543
|
-
primaryImage: 'https://placehold.co/224x410/png?text=Craft+Vermouth',
|
6544
|
-
mobilePrimaryImage: 'https://placehold.co/224x410/png?text=Mobile+Vermouth',
|
6545
|
-
events: SPOT_EVENTS_EXAMPLE,
|
6546
|
-
productIds: [72, 73, 74, 75, 76],
|
6547
|
-
},
|
6548
|
-
{
|
6549
|
-
id: 'vwx890',
|
6550
|
-
spot: exports.RMN_SPOT_TYPE.RB_SMALL_CATEGORY_IMAGE_TOUT,
|
6551
|
-
variant: exports.RMN_SPOT_TYPE.RB_SMALL_CATEGORY_IMAGE_TOUT,
|
6552
|
-
width: 224,
|
6553
|
-
height: 410,
|
6554
|
-
header: 'Premium Mezcal',
|
6555
|
-
textColor: '#ffffff',
|
6556
|
-
primaryImage: 'https://placehold.co/224x410/png?text=Premium+Mezcal',
|
6557
|
-
mobilePrimaryImage: 'https://placehold.co/224x410/png?text=Mobile+Mezcal',
|
6558
|
-
events: SPOT_EVENTS_EXAMPLE,
|
6559
|
-
productIds: [77, 78, 79, 80, 81],
|
6560
|
-
},
|
6561
|
-
],
|
6562
|
-
rbCollectionBannerWithoutTextBlock: [
|
6563
|
-
{
|
6564
|
-
id: 'yz1234',
|
6565
|
-
spot: exports.RMN_SPOT_TYPE.RB_COLLECTION_BANNER_WITHOUT_TEXT_BLOCK,
|
6566
|
-
variant: exports.RMN_SPOT_TYPE.RB_COLLECTION_BANNER_WITHOUT_TEXT_BLOCK,
|
6567
|
-
width: 887,
|
6568
|
-
height: 344,
|
6569
|
-
primaryImage: 'https://placehold.co/887x344/png?text=Summer+Cocktails',
|
6570
|
-
mobilePrimaryImage: 'https://placehold.co/887x344/png?text=Mobile+Summer+Cocktails',
|
6571
|
-
events: SPOT_EVENTS_EXAMPLE,
|
6572
|
-
productIds: [82, 83, 84, 85, 86],
|
6573
|
-
},
|
6574
|
-
{
|
6575
|
-
id: 'abc567',
|
6576
|
-
spot: exports.RMN_SPOT_TYPE.RB_COLLECTION_BANNER_WITHOUT_TEXT_BLOCK,
|
6577
|
-
variant: exports.RMN_SPOT_TYPE.RB_COLLECTION_BANNER_WITHOUT_TEXT_BLOCK,
|
6578
|
-
width: 887,
|
6579
|
-
height: 344,
|
6580
|
-
primaryImage: 'https://placehold.co/887x344/png?text=Holiday+Spirits',
|
6581
|
-
mobilePrimaryImage: 'https://placehold.co/887x344/png?text=Mobile+Holiday+Spirits',
|
6582
|
-
events: SPOT_EVENTS_EXAMPLE,
|
6583
|
-
productIds: [87, 88, 89, 90, 91],
|
6584
|
-
},
|
6585
|
-
{
|
6586
|
-
id: 'def901',
|
6587
|
-
spot: exports.RMN_SPOT_TYPE.RB_COLLECTION_BANNER_WITHOUT_TEXT_BLOCK,
|
6588
|
-
variant: exports.RMN_SPOT_TYPE.RB_COLLECTION_BANNER_WITHOUT_TEXT_BLOCK,
|
6589
|
-
width: 887,
|
6590
|
-
height: 344,
|
6591
|
-
primaryImage: 'https://placehold.co/887x344/png?text=Wine+Essentials',
|
6592
|
-
mobilePrimaryImage: 'https://placehold.co/887x344/png?text=Mobile+Wine+Essentials',
|
6593
|
-
events: SPOT_EVENTS_EXAMPLE,
|
6594
|
-
productIds: [92, 93, 94, 95, 96],
|
6595
|
-
},
|
6596
|
-
],
|
6597
|
-
rbNavigationBanner: [
|
6598
|
-
{
|
6599
|
-
id: 'ghi234',
|
6600
|
-
spot: exports.RMN_SPOT_TYPE.RB_NAVIGATION_BANNER,
|
6601
|
-
variant: exports.RMN_SPOT_TYPE.RB_NAVIGATION_BANNER,
|
6602
|
-
width: 440,
|
6603
|
-
height: 220,
|
6604
|
-
header: 'Explore Tequilas',
|
6605
|
-
textColor: '#ffffff',
|
6606
|
-
primaryImage: 'https://placehold.co/440x220/png?text=Tequila+Collection',
|
6607
|
-
mobilePrimaryImage: 'https://placehold.co/440x220/png?text=Mobile+Tequila+Collection',
|
6608
|
-
events: SPOT_EVENTS_EXAMPLE,
|
6609
|
-
productIds: [97, 98, 99, 100, 101],
|
6610
|
-
},
|
6611
|
-
{
|
6612
|
-
id: 'jkl678',
|
6613
|
-
spot: exports.RMN_SPOT_TYPE.RB_NAVIGATION_BANNER,
|
6614
|
-
variant: exports.RMN_SPOT_TYPE.RB_NAVIGATION_BANNER,
|
6615
|
-
width: 440,
|
6616
|
-
height: 220,
|
6617
|
-
header: 'Craft Gin Selection',
|
6618
|
-
textColor: '#ffffff',
|
6619
|
-
primaryImage: 'https://placehold.co/440x220/png?text=Gin+Selection',
|
6620
|
-
mobilePrimaryImage: 'https://placehold.co/440x220/png?text=Mobile+Gin+Selection',
|
6621
|
-
events: SPOT_EVENTS_EXAMPLE,
|
6622
|
-
productIds: [102, 103, 104, 105, 106],
|
6623
|
-
},
|
6624
|
-
{
|
6625
|
-
id: 'mno012',
|
6626
|
-
spot: exports.RMN_SPOT_TYPE.RB_NAVIGATION_BANNER,
|
6627
|
-
variant: exports.RMN_SPOT_TYPE.RB_NAVIGATION_BANNER,
|
6628
|
-
width: 440,
|
6629
|
-
height: 220,
|
6630
|
-
header: 'Premium Vodka',
|
6631
|
-
textColor: '#ffffff',
|
6632
|
-
primaryImage: 'https://placehold.co/440x220/png?text=Vodka+Premium',
|
6633
|
-
mobilePrimaryImage: 'https://placehold.co/440x220/png?text=Mobile+Vodka+Premium',
|
6634
|
-
events: SPOT_EVENTS_EXAMPLE,
|
6635
|
-
productIds: [107, 108, 109, 110, 111],
|
6636
|
-
},
|
6637
|
-
],
|
6638
|
-
rbInText: [
|
6639
|
-
{
|
6640
|
-
id: 'mxo259',
|
6641
|
-
spot: exports.RMN_SPOT_TYPE.RB_IN_TEXT,
|
6642
|
-
variant: exports.RMN_SPOT_TYPE.RB_IN_TEXT,
|
6643
|
-
width: 1,
|
6644
|
-
height: 1,
|
6645
|
-
header: 'Premium Vodka',
|
6646
|
-
textColor: '#ffffff',
|
6647
|
-
backgroundColor: '#000000',
|
6648
|
-
events: SPOT_EVENTS_EXAMPLE,
|
6649
|
-
productIds: [107, 108, 109, 110, 111],
|
6650
|
-
},
|
6651
|
-
],
|
6652
|
-
rbVideoPlayer: [
|
6653
|
-
{
|
6654
|
-
id: 'mxo259',
|
6655
|
-
spot: exports.RMN_SPOT_TYPE.RB_VIDEO_PLAYER,
|
6656
|
-
variant: exports.RMN_SPOT_TYPE.RB_VIDEO_PLAYER,
|
6657
|
-
width: 1280,
|
6658
|
-
height: 720,
|
6659
|
-
videoUrl: 'https://www.youtube.com/watch?v=9bZkp7q19f0',
|
6660
|
-
videoOverlayImage: 'https://placehold.co/1280x720/png?text=Video+Overlay',
|
6661
|
-
videoOverlayHeader: 'Watch Our Story',
|
6662
|
-
videoOverlayDescription: 'Discover the history of our distillery',
|
6663
|
-
videoControls: true,
|
6664
|
-
videoAutoPlay: true,
|
6665
|
-
videoMute: true,
|
6666
|
-
videoLoop: true,
|
6667
|
-
events: SPOT_EVENTS_EXAMPLE,
|
6668
|
-
productIds: [107, 108, 109, 110, 111],
|
6669
|
-
},
|
6670
|
-
],
|
6671
|
-
});
|
6672
|
-
({
|
6673
|
-
banner: [],
|
6674
|
-
billboard: [
|
6675
|
-
{
|
6676
|
-
id: 'kol567',
|
6677
|
-
spot: exports.RMN_SPOT_TYPE.BILLBOARD,
|
6678
|
-
variant: `${exports.RMN_SPOT_TYPE.BILLBOARD}V2`,
|
6679
|
-
width: 1140,
|
6680
|
-
height: 640,
|
6681
|
-
header: 'Holiday Gift Guide',
|
6682
|
-
description: 'Perfect spirits for every occasion',
|
6683
|
-
ctaText: 'Shop Gifts',
|
6684
|
-
textColor: '#ffffff',
|
6685
|
-
ctaTextColor: '#ffffff',
|
6686
|
-
primaryImage: 'https://placehold.co/1140x640/png?text=Gift+Guide',
|
6687
|
-
mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Gifts',
|
6688
|
-
events: SPOT_EVENTS_EXAMPLE,
|
6689
|
-
productIds: [25, 26],
|
6690
|
-
},
|
6691
|
-
{
|
6692
|
-
id: 'hpm390',
|
6693
|
-
spot: exports.RMN_SPOT_TYPE.BILLBOARD,
|
6694
|
-
variant: `${exports.RMN_SPOT_TYPE.BILLBOARD}V2`,
|
6695
|
-
width: 1140,
|
6696
|
-
height: 640,
|
6697
|
-
header: 'Summer Wine Festival',
|
6698
|
-
description: 'Refreshing wines for summer',
|
6699
|
-
ctaText: 'Shop Festival',
|
6700
|
-
textColor: '#ffffff',
|
6701
|
-
ctaTextColor: '#ffffff',
|
6702
|
-
primaryImage: 'https://placehold.co/1140x640/png?text=Wine+Festival',
|
6703
|
-
mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Festival',
|
6704
|
-
events: SPOT_EVENTS_EXAMPLE,
|
6705
|
-
productIds: [27, 28],
|
6706
|
-
},
|
6707
|
-
],
|
6708
|
-
button2: [],
|
6709
|
-
featurePhoneLargeBanner: [],
|
6710
|
-
featurePhoneMediumBanner: [],
|
6711
|
-
featurePhoneSmallBanner: [],
|
6712
|
-
halfPage: [],
|
6713
|
-
inText: [],
|
6714
|
-
largeLeaderboard: [],
|
6715
|
-
largeRectangle: [],
|
6716
|
-
leaderboard: [],
|
6717
|
-
mediumRectangle: [],
|
6718
|
-
microBar: [],
|
6719
|
-
mobilePhoneInterstitial1: [],
|
6720
|
-
mobilePhoneInterstitial2: [],
|
6721
|
-
mobilePhoneInterstitial3: [],
|
6722
|
-
popUp: [],
|
6723
|
-
portrait: [],
|
6724
|
-
rbProductUpcs: [],
|
6725
|
-
skyscraper: [],
|
6726
|
-
smallRectangle: [],
|
6727
|
-
smallSquare: [],
|
6728
|
-
smartphoneBanner1: [],
|
6729
|
-
smartphoneBanner2: [],
|
6730
|
-
square: [],
|
6731
|
-
verticalBanner: [],
|
6732
|
-
verticalRectangle: [],
|
6733
|
-
wideSkyscraper: [],
|
6734
|
-
});
|
6735
|
-
|
6736
|
-
const SPECIAL_CHARACTER_MAPPING = {
|
6737
|
-
// Latin-1 Supplement and Latin Extended-A
|
6738
|
-
æ: 'ae',
|
6135
|
+
const LATIN_MAP = {
|
6136
|
+
À: 'A',
|
6137
|
+
Á: 'A',
|
6138
|
+
Â: 'A',
|
6139
|
+
Ã: 'A',
|
6140
|
+
Ä: 'A',
|
6141
|
+
Å: 'A',
|
6142
|
+
Æ: 'AE',
|
6143
|
+
Ç: 'C',
|
6144
|
+
È: 'E',
|
6145
|
+
É: 'E',
|
6146
|
+
Ê: 'E',
|
6147
|
+
Ë: 'E',
|
6148
|
+
Ì: 'I',
|
6149
|
+
Í: 'I',
|
6150
|
+
Î: 'I',
|
6151
|
+
Ï: 'I',
|
6152
|
+
Ð: 'D',
|
6153
|
+
Ñ: 'N',
|
6154
|
+
Ò: 'O',
|
6155
|
+
Ó: 'O',
|
6156
|
+
Ô: 'O',
|
6157
|
+
Õ: 'O',
|
6158
|
+
Ö: 'O',
|
6159
|
+
Ő: 'O',
|
6160
|
+
Ø: 'O',
|
6161
|
+
Ù: 'U',
|
6162
|
+
Ú: 'U',
|
6163
|
+
Û: 'U',
|
6164
|
+
Ü: 'U',
|
6165
|
+
Ű: 'U',
|
6166
|
+
Ý: 'Y',
|
6167
|
+
Þ: 'TH',
|
6168
|
+
Ÿ: 'Y',
|
6739
6169
|
ß: 'ss',
|
6170
|
+
à: 'a',
|
6171
|
+
á: 'a',
|
6172
|
+
â: 'a',
|
6173
|
+
ã: 'a',
|
6174
|
+
ä: 'a',
|
6175
|
+
å: 'a',
|
6176
|
+
æ: 'ae',
|
6177
|
+
ç: 'c',
|
6178
|
+
è: 'e',
|
6179
|
+
é: 'e',
|
6180
|
+
ê: 'e',
|
6181
|
+
ë: 'e',
|
6182
|
+
ì: 'i',
|
6183
|
+
í: 'i',
|
6184
|
+
î: 'i',
|
6185
|
+
ï: 'i',
|
6740
6186
|
ð: 'd',
|
6187
|
+
ñ: 'n',
|
6188
|
+
ò: 'o',
|
6189
|
+
ó: 'o',
|
6190
|
+
ô: 'o',
|
6191
|
+
õ: 'o',
|
6192
|
+
ö: 'o',
|
6193
|
+
ő: 'o',
|
6741
6194
|
ø: 'o',
|
6195
|
+
ù: 'u',
|
6196
|
+
ú: 'u',
|
6197
|
+
û: 'u',
|
6198
|
+
ü: 'u',
|
6199
|
+
ű: 'u',
|
6200
|
+
ý: 'y',
|
6742
6201
|
þ: 'th',
|
6743
|
-
|
6744
|
-
đ: 'd',
|
6745
|
-
ħ: 'h',
|
6746
|
-
ı: 'i',
|
6747
|
-
ij: 'ij',
|
6748
|
-
ŀ: 'l',
|
6749
|
-
ʼn: 'n',
|
6750
|
-
ŋ: 'n',
|
6202
|
+
ÿ: 'y',
|
6751
6203
|
œ: 'oe',
|
6752
|
-
|
6753
|
-
|
6754
|
-
|
6755
|
-
|
6756
|
-
|
6757
|
-
|
6758
|
-
|
6759
|
-
|
6760
|
-
|
6761
|
-
|
6762
|
-
|
6763
|
-
|
6764
|
-
|
6765
|
-
|
6766
|
-
|
6767
|
-
|
6768
|
-
|
6769
|
-
|
6770
|
-
|
6771
|
-
|
6772
|
-
|
6773
|
-
|
6774
|
-
|
6775
|
-
|
6776
|
-
|
6777
|
-
|
6778
|
-
|
6779
|
-
|
6780
|
-
|
6781
|
-
|
6782
|
-
|
6783
|
-
|
6784
|
-
|
6785
|
-
|
6786
|
-
|
6787
|
-
|
6788
|
-
|
6789
|
-
|
6790
|
-
|
6791
|
-
|
6792
|
-
|
6793
|
-
|
6794
|
-
|
6795
|
-
|
6796
|
-
|
6797
|
-
|
6798
|
-
|
6799
|
-
|
6800
|
-
|
6801
|
-
|
6802
|
-
|
6803
|
-
|
6804
|
-
|
6805
|
-
|
6806
|
-
|
6807
|
-
|
6808
|
-
|
6809
|
-
|
6810
|
-
|
6811
|
-
|
6812
|
-
|
6813
|
-
|
6814
|
-
|
6204
|
+
};
|
6205
|
+
const GREEK_MAP = {
|
6206
|
+
α: 'a',
|
6207
|
+
β: 'b',
|
6208
|
+
γ: 'g',
|
6209
|
+
δ: 'd',
|
6210
|
+
ε: 'e',
|
6211
|
+
ζ: 'z',
|
6212
|
+
η: 'h',
|
6213
|
+
θ: '8',
|
6214
|
+
ι: 'i',
|
6215
|
+
κ: 'k',
|
6216
|
+
λ: 'l',
|
6217
|
+
μ: 'm',
|
6218
|
+
ν: 'n',
|
6219
|
+
ξ: '3',
|
6220
|
+
ο: 'o',
|
6221
|
+
π: 'p',
|
6222
|
+
ρ: 'r',
|
6223
|
+
σ: 's',
|
6224
|
+
τ: 't',
|
6225
|
+
υ: 'y',
|
6226
|
+
φ: 'f',
|
6227
|
+
χ: 'x',
|
6228
|
+
ψ: 'ps',
|
6229
|
+
ω: 'w',
|
6230
|
+
ά: 'a',
|
6231
|
+
έ: 'e',
|
6232
|
+
ί: 'i',
|
6233
|
+
ό: 'o',
|
6234
|
+
ύ: 'y',
|
6235
|
+
ή: 'h',
|
6236
|
+
ώ: 'w',
|
6237
|
+
ς: 's',
|
6238
|
+
ϊ: 'i',
|
6239
|
+
ΰ: 'y',
|
6240
|
+
ϋ: 'y',
|
6241
|
+
ΐ: 'i',
|
6242
|
+
Α: 'A',
|
6243
|
+
Β: 'B',
|
6244
|
+
Γ: 'G',
|
6245
|
+
Δ: 'D',
|
6246
|
+
Ε: 'E',
|
6247
|
+
Ζ: 'Z',
|
6248
|
+
Η: 'H',
|
6249
|
+
Θ: '8',
|
6250
|
+
Ι: 'I',
|
6251
|
+
Κ: 'K',
|
6252
|
+
Λ: 'L',
|
6253
|
+
Μ: 'M',
|
6254
|
+
Ν: 'N',
|
6255
|
+
Ξ: '3',
|
6256
|
+
Ο: 'O',
|
6257
|
+
Π: 'P',
|
6258
|
+
Ρ: 'R',
|
6259
|
+
Σ: 'S',
|
6260
|
+
Τ: 'T',
|
6261
|
+
Υ: 'Y',
|
6262
|
+
Φ: 'F',
|
6263
|
+
Χ: 'X',
|
6264
|
+
Ψ: 'PS',
|
6265
|
+
Ω: 'W',
|
6266
|
+
Ά: 'A',
|
6267
|
+
Έ: 'E',
|
6268
|
+
Ί: 'I',
|
6269
|
+
Ό: 'O',
|
6270
|
+
Ύ: 'Y',
|
6271
|
+
Ή: 'H',
|
6272
|
+
Ώ: 'W',
|
6273
|
+
Ϊ: 'I',
|
6274
|
+
Ϋ: 'Y',
|
6275
|
+
};
|
6276
|
+
const ROMANIAN_MAP = {
|
6277
|
+
ă: 'a',
|
6278
|
+
î: 'i',
|
6815
6279
|
ș: 's',
|
6816
6280
|
ț: 't',
|
6817
|
-
|
6818
|
-
|
6819
|
-
|
6820
|
-
|
6821
|
-
|
6822
|
-
|
6823
|
-
|
6824
|
-
|
6825
|
-
|
6826
|
-
|
6827
|
-
|
6828
|
-
|
6829
|
-
|
6830
|
-
|
6831
|
-
|
6832
|
-
|
6833
|
-
|
6834
|
-
|
6835
|
-
|
6836
|
-
|
6837
|
-
|
6838
|
-
|
6839
|
-
|
6840
|
-
|
6841
|
-
|
6842
|
-
|
6843
|
-
|
6844
|
-
|
6281
|
+
â: 'a',
|
6282
|
+
Ă: 'A',
|
6283
|
+
Î: 'I',
|
6284
|
+
Ș: 'S',
|
6285
|
+
Ț: 'T',
|
6286
|
+
Â: 'A',
|
6287
|
+
};
|
6288
|
+
const GERMAN_MAP = {
|
6289
|
+
ä: 'a',
|
6290
|
+
ö: 'o',
|
6291
|
+
ü: 'u',
|
6292
|
+
ß: 'ss',
|
6293
|
+
};
|
6294
|
+
const FRENCH_MAP = {
|
6295
|
+
é: 'e',
|
6296
|
+
è: 'e',
|
6297
|
+
ê: 'e',
|
6298
|
+
ë: 'e',
|
6299
|
+
à: 'a',
|
6300
|
+
â: 'a',
|
6301
|
+
î: 'i',
|
6302
|
+
ï: 'i',
|
6303
|
+
ô: 'o',
|
6304
|
+
û: 'u',
|
6305
|
+
ù: 'u',
|
6306
|
+
ç: 'c',
|
6307
|
+
};
|
6308
|
+
const ITALIAN_MAP = {
|
6309
|
+
à: 'a',
|
6310
|
+
è: 'e',
|
6311
|
+
é: 'e',
|
6312
|
+
ì: 'i',
|
6313
|
+
ò: 'o',
|
6314
|
+
ù: 'u',
|
6315
|
+
};
|
6316
|
+
const SPANISH_MAP = {
|
6317
|
+
á: 'a',
|
6318
|
+
í: 'i',
|
6319
|
+
ó: 'o',
|
6320
|
+
ú: 'u',
|
6321
|
+
ñ: 'n',
|
6322
|
+
ü: 'u',
|
6323
|
+
};
|
6324
|
+
const PORTUGUESE_MAP = {
|
6325
|
+
ã: 'a',
|
6326
|
+
õ: 'o',
|
6327
|
+
â: 'a',
|
6328
|
+
ê: 'e',
|
6329
|
+
ô: 'o',
|
6330
|
+
};
|
6331
|
+
const NORDIC_MAP = {
|
6332
|
+
å: 'a',
|
6333
|
+
æ: 'ae',
|
6334
|
+
ø: 'o',
|
6335
|
+
ě: 'e',
|
6336
|
+
};
|
6337
|
+
const TURKISH_MAP = {
|
6338
|
+
ğ: 'g',
|
6339
|
+
ı: 'i',
|
6340
|
+
İ: 'i',
|
6341
|
+
ş: 's',
|
6342
|
+
Ş: 'S',
|
6343
|
+
ç: 'c',
|
6344
|
+
Ç: 'C',
|
6345
|
+
ü: 'u',
|
6346
|
+
Ü: 'U',
|
6347
|
+
ö: 'o',
|
6348
|
+
Ö: 'O',
|
6349
|
+
Ğ: 'G',
|
6350
|
+
};
|
6351
|
+
const HUNGARIAN_MAP = {
|
6352
|
+
ő: 'o',
|
6353
|
+
ű: 'u',
|
6354
|
+
};
|
6355
|
+
const VIETNAMESE_MAP = {
|
6356
|
+
ạ: 'a',
|
6357
|
+
ả: 'a',
|
6358
|
+
ấ: 'a',
|
6359
|
+
ầ: 'a',
|
6360
|
+
ẩ: 'a',
|
6361
|
+
ẫ: 'a',
|
6362
|
+
ậ: 'a',
|
6363
|
+
đ: 'd',
|
6364
|
+
};
|
6365
|
+
const CROATIOAN_SEERBIAN_MAP = {
|
6366
|
+
đ: 'd',
|
6367
|
+
ć: 'c',
|
6368
|
+
č: 'c',
|
6369
|
+
};
|
6370
|
+
const BALLTIC_MAP = {
|
6371
|
+
ā: 'a',
|
6372
|
+
ē: 'e',
|
6373
|
+
ģ: 'g',
|
6374
|
+
ī: 'i',
|
6375
|
+
ķ: 'k',
|
6376
|
+
ļ: 'l',
|
6377
|
+
ņ: 'n',
|
6378
|
+
ū: 'u',
|
6379
|
+
ų: 'u',
|
6380
|
+
};
|
6381
|
+
const CHINESE_JAPANESE_PUNCTUATION_MAP = {
|
6382
|
+
'。': '.',
|
6383
|
+
'、': ',',
|
6384
|
+
'?': '?',
|
6385
|
+
'!': '!',
|
6386
|
+
':': ':',
|
6387
|
+
';': ';',
|
6388
|
+
'(': '(',
|
6389
|
+
')': ')',
|
6390
|
+
'《': '<',
|
6391
|
+
'》': '>',
|
6392
|
+
};
|
6393
|
+
const RUSSIAN_MAP = {
|
6394
|
+
а: 'a',
|
6395
|
+
б: 'b',
|
6396
|
+
в: 'v',
|
6397
|
+
г: 'g',
|
6398
|
+
д: 'd',
|
6399
|
+
е: 'e',
|
6400
|
+
ё: 'yo',
|
6401
|
+
ж: 'zh',
|
6402
|
+
з: 'z',
|
6403
|
+
и: 'i',
|
6404
|
+
й: 'j',
|
6405
|
+
к: 'k',
|
6406
|
+
л: 'l',
|
6407
|
+
м: 'm',
|
6408
|
+
н: 'n',
|
6409
|
+
о: 'o',
|
6410
|
+
п: 'p',
|
6411
|
+
р: 'r',
|
6412
|
+
с: 's',
|
6413
|
+
т: 't',
|
6414
|
+
у: 'u',
|
6415
|
+
ф: 'f',
|
6416
|
+
х: 'h',
|
6417
|
+
ц: 'c',
|
6418
|
+
ч: 'ch',
|
6419
|
+
ш: 'sh',
|
6420
|
+
щ: 'sh',
|
6421
|
+
ъ: '',
|
6422
|
+
ы: 'y',
|
6423
|
+
ь: '',
|
6424
|
+
э: 'e',
|
6425
|
+
ю: 'yu',
|
6426
|
+
я: 'ya',
|
6427
|
+
А: 'A',
|
6428
|
+
Б: 'B',
|
6429
|
+
В: 'V',
|
6430
|
+
Г: 'G',
|
6431
|
+
Д: 'D',
|
6432
|
+
Е: 'E',
|
6433
|
+
Ё: 'Yo',
|
6434
|
+
Ж: 'Zh',
|
6435
|
+
З: 'Z',
|
6436
|
+
И: 'I',
|
6437
|
+
Й: 'J',
|
6438
|
+
К: 'K',
|
6439
|
+
Л: 'L',
|
6440
|
+
М: 'M',
|
6441
|
+
Н: 'N',
|
6442
|
+
О: 'O',
|
6443
|
+
П: 'P',
|
6444
|
+
Р: 'R',
|
6445
|
+
С: 'S',
|
6446
|
+
Т: 'T',
|
6447
|
+
У: 'U',
|
6448
|
+
Ф: 'F',
|
6449
|
+
Х: 'H',
|
6450
|
+
Ц: 'C',
|
6451
|
+
Ч: 'Ch',
|
6452
|
+
Ш: 'Sh',
|
6453
|
+
Щ: 'Sh',
|
6454
|
+
Ъ: '',
|
6455
|
+
Ы: 'Y',
|
6456
|
+
Ь: '',
|
6457
|
+
Э: 'E',
|
6458
|
+
Ю: 'Yu',
|
6459
|
+
Я: 'Ya',
|
6460
|
+
};
|
6461
|
+
const UKRAINIAN_MAP = {
|
6462
|
+
Є: 'Ye',
|
6463
|
+
І: 'I',
|
6464
|
+
Ї: 'Yi',
|
6465
|
+
Ґ: 'G',
|
6466
|
+
є: 'ye',
|
6467
|
+
і: 'i',
|
6468
|
+
ї: 'yi',
|
6469
|
+
ґ: 'g',
|
6470
|
+
};
|
6471
|
+
const CZECH_MAP = {
|
6472
|
+
č: 'c',
|
6473
|
+
ď: 'd',
|
6474
|
+
ě: 'e',
|
6475
|
+
ň: 'n',
|
6476
|
+
ř: 'r',
|
6477
|
+
š: 's',
|
6478
|
+
ť: 't',
|
6479
|
+
ů: 'u',
|
6480
|
+
ž: 'z',
|
6481
|
+
Č: 'C',
|
6482
|
+
Ď: 'D',
|
6483
|
+
Ě: 'E',
|
6484
|
+
Ň: 'N',
|
6485
|
+
Ř: 'R',
|
6486
|
+
Š: 'S',
|
6487
|
+
Ť: 'T',
|
6488
|
+
Ů: 'U',
|
6489
|
+
Ž: 'Z',
|
6490
|
+
};
|
6491
|
+
const SLOVAK_MAP = {
|
6492
|
+
á: 'a',
|
6493
|
+
ä: 'a',
|
6494
|
+
č: 'c',
|
6495
|
+
ď: 'd',
|
6496
|
+
é: 'e',
|
6497
|
+
í: 'i',
|
6498
|
+
ľ: 'l',
|
6499
|
+
ĺ: 'l',
|
6500
|
+
ň: 'n',
|
6501
|
+
ó: 'o',
|
6502
|
+
ô: 'o',
|
6503
|
+
ŕ: 'r',
|
6504
|
+
š: 's',
|
6505
|
+
ť: 't',
|
6506
|
+
ú: 'u',
|
6507
|
+
ý: 'y',
|
6508
|
+
ž: 'z',
|
6509
|
+
Á: 'a',
|
6510
|
+
Ä: 'A',
|
6511
|
+
Č: 'C',
|
6512
|
+
Ď: 'D',
|
6513
|
+
É: 'E',
|
6514
|
+
Í: 'I',
|
6515
|
+
Ľ: 'L',
|
6516
|
+
Ĺ: 'L',
|
6517
|
+
Ň: 'N',
|
6518
|
+
Ó: 'O',
|
6519
|
+
Ô: 'O',
|
6520
|
+
Ŕ: 'R',
|
6521
|
+
Š: 'S',
|
6522
|
+
Ť: 'T',
|
6523
|
+
Ú: 'U',
|
6524
|
+
Ý: 'Y',
|
6525
|
+
Ž: 'Z',
|
6526
|
+
};
|
6527
|
+
const POLISH_MAP = {
|
6528
|
+
ą: 'a',
|
6529
|
+
ć: 'c',
|
6530
|
+
ę: 'e',
|
6531
|
+
ł: 'l',
|
6532
|
+
ń: 'n',
|
6533
|
+
ó: 'o',
|
6534
|
+
ś: 's',
|
6535
|
+
ź: 'z',
|
6536
|
+
ż: 'z',
|
6537
|
+
Ą: 'A',
|
6538
|
+
Ć: 'C',
|
6539
|
+
Ę: 'E',
|
6540
|
+
Ł: 'L',
|
6541
|
+
Ń: 'N',
|
6542
|
+
Ó: 'O',
|
6543
|
+
Ś: 'S',
|
6544
|
+
Ź: 'Z',
|
6545
|
+
Ż: 'Z',
|
6546
|
+
};
|
6547
|
+
const LATVIAN_MAP = {
|
6548
|
+
ā: 'a',
|
6549
|
+
č: 'c',
|
6550
|
+
ē: 'e',
|
6551
|
+
ģ: 'g',
|
6552
|
+
ī: 'i',
|
6553
|
+
ķ: 'k',
|
6554
|
+
ļ: 'l',
|
6555
|
+
ņ: 'n',
|
6556
|
+
š: 's',
|
6557
|
+
ū: 'u',
|
6558
|
+
ž: 'z',
|
6559
|
+
Ā: 'A',
|
6560
|
+
Č: 'C',
|
6561
|
+
Ē: 'E',
|
6562
|
+
Ģ: 'G',
|
6563
|
+
Ī: 'I',
|
6564
|
+
Ķ: 'K',
|
6565
|
+
Ļ: 'L',
|
6566
|
+
Ņ: 'N',
|
6567
|
+
Š: 'S',
|
6568
|
+
Ū: 'U',
|
6569
|
+
Ž: 'Z',
|
6570
|
+
};
|
6571
|
+
const ARABIC_MAP = {
|
6572
|
+
أ: 'a',
|
6573
|
+
ب: 'b',
|
6574
|
+
ت: 't',
|
6575
|
+
ث: 'th',
|
6576
|
+
ج: 'g',
|
6577
|
+
ح: 'h',
|
6578
|
+
خ: 'kh',
|
6579
|
+
د: 'd',
|
6580
|
+
ذ: 'th',
|
6581
|
+
ر: 'r',
|
6582
|
+
ز: 'z',
|
6583
|
+
س: 's',
|
6584
|
+
ش: 'sh',
|
6585
|
+
ص: 's',
|
6586
|
+
ض: 'd',
|
6587
|
+
ط: 't',
|
6588
|
+
ظ: 'th',
|
6589
|
+
ع: 'aa',
|
6590
|
+
غ: 'gh',
|
6591
|
+
ف: 'f',
|
6592
|
+
ق: 'k',
|
6593
|
+
ك: 'k',
|
6594
|
+
ل: 'l',
|
6595
|
+
م: 'm',
|
6596
|
+
ن: 'n',
|
6597
|
+
ه: 'h',
|
6598
|
+
و: 'o',
|
6599
|
+
ي: 'y',
|
6600
|
+
'٠': '0',
|
6601
|
+
'١': '1',
|
6602
|
+
'٢': '2',
|
6603
|
+
'٣': '3',
|
6604
|
+
'٤': '4',
|
6605
|
+
'٥': '5',
|
6606
|
+
'٦': '6',
|
6607
|
+
'٧': '7',
|
6608
|
+
'٨': '8',
|
6609
|
+
'٩': '9',
|
6610
|
+
};
|
6611
|
+
const LITHUANIAN_MAP = {
|
6612
|
+
ą: 'a',
|
6613
|
+
č: 'c',
|
6614
|
+
ę: 'e',
|
6615
|
+
ė: 'e',
|
6616
|
+
į: 'i',
|
6617
|
+
š: 's',
|
6618
|
+
ų: 'u',
|
6619
|
+
ū: 'u',
|
6620
|
+
ž: 'z',
|
6621
|
+
Ą: 'A',
|
6622
|
+
Č: 'C',
|
6623
|
+
Ę: 'E',
|
6624
|
+
Ė: 'E',
|
6625
|
+
Į: 'I',
|
6626
|
+
Š: 'S',
|
6627
|
+
Ų: 'U',
|
6628
|
+
Ū: 'U',
|
6629
|
+
Ž: 'Z',
|
6630
|
+
};
|
6631
|
+
const SERBIAN_MAP = {
|
6632
|
+
ђ: 'dj',
|
6633
|
+
ј: 'j',
|
6634
|
+
љ: 'lj',
|
6635
|
+
њ: 'nj',
|
6636
|
+
ћ: 'c',
|
6637
|
+
џ: 'dz',
|
6638
|
+
đ: 'dj',
|
6639
|
+
Ђ: 'Dj',
|
6640
|
+
Ј: 'j',
|
6641
|
+
Љ: 'Lj',
|
6642
|
+
Њ: 'Nj',
|
6643
|
+
Ћ: 'C',
|
6644
|
+
Џ: 'Dz',
|
6645
|
+
Đ: 'Dj',
|
6646
|
+
};
|
6647
|
+
const AZERBAIJANI_MAP = {
|
6648
|
+
ç: 'c',
|
6845
6649
|
ə: 'e',
|
6846
|
-
|
6847
|
-
|
6848
|
-
|
6849
|
-
|
6850
|
-
|
6851
|
-
|
6852
|
-
|
6853
|
-
|
6854
|
-
|
6855
|
-
|
6856
|
-
|
6857
|
-
|
6858
|
-
|
6859
|
-
|
6860
|
-
|
6861
|
-
|
6862
|
-
|
6863
|
-
|
6864
|
-
|
6865
|
-
|
6866
|
-
|
6867
|
-
|
6868
|
-
|
6869
|
-
|
6870
|
-
|
6871
|
-
|
6872
|
-
|
6873
|
-
|
6874
|
-
|
6875
|
-
|
6876
|
-
|
6877
|
-
|
6878
|
-
|
6879
|
-
|
6880
|
-
|
6881
|
-
|
6882
|
-
|
6883
|
-
|
6884
|
-
|
6885
|
-
|
6886
|
-
|
6887
|
-
|
6888
|
-
|
6889
|
-
|
6890
|
-
|
6891
|
-
|
6892
|
-
|
6893
|
-
|
6894
|
-
|
6895
|
-
|
6896
|
-
|
6897
|
-
|
6898
|
-
|
6899
|
-
|
6900
|
-
|
6901
|
-
|
6650
|
+
ğ: 'g',
|
6651
|
+
ı: 'i',
|
6652
|
+
ö: 'o',
|
6653
|
+
ş: 's',
|
6654
|
+
ü: 'u',
|
6655
|
+
Ç: 'C',
|
6656
|
+
Ə: 'E',
|
6657
|
+
Ğ: 'G',
|
6658
|
+
İ: 'I',
|
6659
|
+
Ö: 'O',
|
6660
|
+
Ş: 'S',
|
6661
|
+
Ü: 'U',
|
6662
|
+
};
|
6663
|
+
const GEORGIAN_MAP = {
|
6664
|
+
ა: 'a',
|
6665
|
+
ბ: 'b',
|
6666
|
+
გ: 'g',
|
6667
|
+
დ: 'd',
|
6668
|
+
ე: 'e',
|
6669
|
+
ვ: 'v',
|
6670
|
+
ზ: 'z',
|
6671
|
+
თ: 't',
|
6672
|
+
ი: 'i',
|
6673
|
+
კ: 'k',
|
6674
|
+
ლ: 'l',
|
6675
|
+
მ: 'm',
|
6676
|
+
ნ: 'n',
|
6677
|
+
ო: 'o',
|
6678
|
+
პ: 'p',
|
6679
|
+
ჟ: 'j',
|
6680
|
+
რ: 'r',
|
6681
|
+
ს: 's',
|
6682
|
+
ტ: 't',
|
6683
|
+
უ: 'u',
|
6684
|
+
ფ: 'f',
|
6685
|
+
ქ: 'q',
|
6686
|
+
ღ: 'g',
|
6687
|
+
ყ: 'y',
|
6688
|
+
შ: 'sh',
|
6689
|
+
ჩ: 'ch',
|
6690
|
+
ც: 'c',
|
6691
|
+
ძ: 'dz',
|
6692
|
+
წ: 'w',
|
6693
|
+
ჭ: 'ch',
|
6694
|
+
ხ: 'x',
|
6695
|
+
ჯ: 'j',
|
6696
|
+
ჰ: 'h',
|
6697
|
+
};
|
6698
|
+
const SYMBOLS_MAP = {
|
6699
|
+
'©': '',
|
6700
|
+
'℗': '',
|
6701
|
+
'ⓒ': '',
|
6702
|
+
'®': '',
|
6703
|
+
'™': '',
|
6704
|
+
'℠': '',
|
6705
|
+
'℟': '',
|
6706
|
+
'№': '',
|
6707
|
+
'⚖': '',
|
6708
|
+
'†': '',
|
6709
|
+
'‡': '',
|
6710
|
+
'§': '',
|
6711
|
+
'¶': '',
|
6712
|
+
'⁂': '',
|
6713
|
+
'※': '',
|
6714
|
+
'‽': '',
|
6715
|
+
'¤': '',
|
6716
|
+
'°': '',
|
6717
|
+
'′': '',
|
6718
|
+
'″': '',
|
6719
|
+
'‴': '',
|
6720
|
+
'⁗': '',
|
6721
|
+
'•': '',
|
6722
|
+
'⁃': '',
|
6723
|
+
'◊': '',
|
6724
|
+
'⌘': '',
|
6725
|
+
'⌥': '',
|
6726
|
+
'⇧': '',
|
6727
|
+
'⌃': '',
|
6728
|
+
'⎋': '',
|
6729
|
+
'¢': '',
|
6730
|
+
'£': '',
|
6731
|
+
'€': '',
|
6732
|
+
'¥': '',
|
6733
|
+
'₹': '',
|
6734
|
+
'₽': '',
|
6735
|
+
'؋': '',
|
6736
|
+
'₮': '',
|
6737
|
+
'₩': '',
|
6738
|
+
'₪': '',
|
6739
|
+
'←': '',
|
6740
|
+
'→': '',
|
6741
|
+
'↑': '',
|
6742
|
+
'↓': '',
|
6743
|
+
'✓': '',
|
6744
|
+
'✔': '',
|
6745
|
+
'✗': '',
|
6746
|
+
'✘': '',
|
6747
|
+
'♪': '',
|
6748
|
+
'♫': '',
|
6749
|
+
'☎': '',
|
6750
|
+
'✉': '',
|
6751
|
+
'⚡': '',
|
6752
|
+
'☀': '',
|
6753
|
+
'☁': '',
|
6754
|
+
'☂': '',
|
6755
|
+
'★': '',
|
6756
|
+
'☆': '',
|
6757
|
+
'☯': '',
|
6758
|
+
'☮': '',
|
6759
|
+
'☢': '',
|
6760
|
+
'☣': '',
|
6761
|
+
'⚠': '',
|
6762
|
+
};
|
6763
|
+
const GEOMETRIC_SHAPES_MAP = {
|
6764
|
+
'■': '',
|
6765
|
+
'□': '',
|
6766
|
+
'▢': '',
|
6767
|
+
'▣': '',
|
6768
|
+
'▤': '',
|
6769
|
+
'▥': '',
|
6770
|
+
'▦': '',
|
6771
|
+
'▧': '',
|
6772
|
+
'▨': '',
|
6773
|
+
'▩': '',
|
6774
|
+
'▪': '',
|
6775
|
+
'▫': '',
|
6776
|
+
'▬': '',
|
6777
|
+
'▭': '',
|
6778
|
+
'▮': '',
|
6779
|
+
'▯': '',
|
6780
|
+
'▰': '',
|
6781
|
+
'▱': '',
|
6782
|
+
'▲': '',
|
6783
|
+
'△': '',
|
6784
|
+
'▴': '',
|
6785
|
+
'▵': '',
|
6786
|
+
'▶': '',
|
6787
|
+
'▷': '',
|
6788
|
+
'▸': '',
|
6789
|
+
'▹': '',
|
6790
|
+
'►': '',
|
6791
|
+
'▻': '',
|
6792
|
+
'▼': '',
|
6793
|
+
'▽': '',
|
6794
|
+
'▾': '',
|
6795
|
+
'▿': '',
|
6796
|
+
'◀': '',
|
6797
|
+
'◁': '',
|
6798
|
+
'◂': '',
|
6799
|
+
'◃': '',
|
6800
|
+
'◄': '',
|
6801
|
+
'◅': '',
|
6802
|
+
'◆': '',
|
6803
|
+
'◇': '',
|
6804
|
+
'◈': '',
|
6805
|
+
'◉': '',
|
6806
|
+
'◊': '',
|
6807
|
+
'○': '',
|
6808
|
+
'◌': '',
|
6809
|
+
'◍': '',
|
6810
|
+
'◎': '',
|
6811
|
+
'●': '',
|
6812
|
+
'◐': '',
|
6813
|
+
'◑': '',
|
6814
|
+
'◒': '',
|
6815
|
+
'◓': '',
|
6816
|
+
'◔': '',
|
6817
|
+
'◕': '',
|
6818
|
+
'◖': '',
|
6819
|
+
'◗': '',
|
6820
|
+
'◘': '',
|
6821
|
+
'◙': '',
|
6822
|
+
'◚': '',
|
6823
|
+
'◛': '',
|
6824
|
+
'◜': '',
|
6825
|
+
'◝': '',
|
6826
|
+
'◞': '',
|
6827
|
+
'◟': '',
|
6828
|
+
'◠': '',
|
6829
|
+
'◡': '',
|
6830
|
+
'◢': '',
|
6831
|
+
'◣': '',
|
6832
|
+
'◤': '',
|
6833
|
+
'◥': '',
|
6834
|
+
'◦': '',
|
6835
|
+
'◧': '',
|
6836
|
+
'◨': '',
|
6837
|
+
'◩': '',
|
6838
|
+
'◪': '',
|
6839
|
+
'◫': '',
|
6840
|
+
'◬': '',
|
6841
|
+
'◭': '',
|
6842
|
+
'◮': '',
|
6843
|
+
'◯': '',
|
6844
|
+
'◰': '',
|
6845
|
+
'◱': '',
|
6846
|
+
'◲': '',
|
6847
|
+
'◳': '',
|
6848
|
+
'◴': '',
|
6849
|
+
'◵': '',
|
6850
|
+
'◶': '',
|
6851
|
+
'◷': '',
|
6852
|
+
'◸': '',
|
6853
|
+
'◹': '',
|
6854
|
+
'◺': '',
|
6855
|
+
'◻': '',
|
6856
|
+
'◼': '',
|
6857
|
+
'◽': '',
|
6858
|
+
'◾': '',
|
6859
|
+
'◿': '',
|
6860
|
+
};
|
6861
|
+
const BLOCK_ELEMENTS_MAP = {
|
6862
|
+
'▀': '',
|
6863
|
+
'▁': '',
|
6864
|
+
'▂': '',
|
6865
|
+
'▃': '',
|
6866
|
+
'▄': '',
|
6867
|
+
'▅': '',
|
6868
|
+
'▆': '',
|
6869
|
+
'▇': '',
|
6870
|
+
'█': '',
|
6871
|
+
'▉': '',
|
6872
|
+
'▊': '',
|
6873
|
+
'▋': '',
|
6874
|
+
'▌': '',
|
6875
|
+
'▍': '',
|
6876
|
+
'▎': '',
|
6877
|
+
'▏': '',
|
6878
|
+
'▐': '',
|
6879
|
+
'░': '',
|
6880
|
+
'▒': '',
|
6881
|
+
'▓': '',
|
6882
|
+
'▔': '',
|
6883
|
+
'▕': '',
|
6884
|
+
'▖': '',
|
6885
|
+
'▗': '',
|
6886
|
+
'▘': '',
|
6887
|
+
'▙': '',
|
6888
|
+
'▚': '',
|
6889
|
+
'▛': '',
|
6890
|
+
'▜': '',
|
6891
|
+
'▝': '',
|
6892
|
+
'▞': '',
|
6893
|
+
'▟': '',
|
6894
|
+
};
|
6895
|
+
const BOX_DRAWING_MAP = {
|
6896
|
+
'─': '',
|
6897
|
+
'│': '',
|
6898
|
+
'┌': '',
|
6899
|
+
'┐': '',
|
6900
|
+
'└': '',
|
6901
|
+
'┘': '',
|
6902
|
+
'├': '',
|
6903
|
+
'┤': '',
|
6904
|
+
'┬': '',
|
6905
|
+
'┴': '',
|
6906
|
+
'┼': '',
|
6907
|
+
'═': '',
|
6908
|
+
'║': '',
|
6909
|
+
'╒': '',
|
6910
|
+
'╓': '',
|
6911
|
+
'╔': '',
|
6912
|
+
'╕': '',
|
6913
|
+
'╖': '',
|
6914
|
+
'╗': '',
|
6915
|
+
'╘': '',
|
6916
|
+
'╙': '',
|
6917
|
+
'╚': '',
|
6918
|
+
'╛': '',
|
6919
|
+
'╜': '',
|
6920
|
+
'╝': '',
|
6921
|
+
'╞': '',
|
6922
|
+
'╟': '',
|
6923
|
+
'╠': '',
|
6924
|
+
'╡': '',
|
6925
|
+
'╢': '',
|
6926
|
+
'╣': '',
|
6927
|
+
'╤': '',
|
6928
|
+
'╥': '',
|
6929
|
+
'╦': '',
|
6930
|
+
'╧': '',
|
6931
|
+
'╨': '',
|
6932
|
+
'╩': '',
|
6933
|
+
'╪': '',
|
6934
|
+
'╫': '',
|
6935
|
+
'╬': '',
|
6936
|
+
};
|
6937
|
+
const OPTICAL_CHARACTER_RECOGNITION_MAP = {
|
6938
|
+
'⑀': '',
|
6939
|
+
'⑁': '',
|
6940
|
+
'⑂': '',
|
6941
|
+
'⑃': '',
|
6942
|
+
'⑄': '',
|
6943
|
+
'⑅': '',
|
6944
|
+
'⑆': '',
|
6945
|
+
'⑇': '',
|
6946
|
+
'⑈': '',
|
6947
|
+
'⑉': '',
|
6948
|
+
'⑊': '',
|
6949
|
+
};
|
6950
|
+
const CONTROL_PICTURES_MAP = {
|
6951
|
+
'␀': '',
|
6952
|
+
'␁': '',
|
6953
|
+
'␂': '',
|
6954
|
+
'␃': '',
|
6955
|
+
'␄': '',
|
6956
|
+
'␅': '',
|
6957
|
+
'␆': '',
|
6958
|
+
'␇': '',
|
6959
|
+
'␈': '',
|
6960
|
+
'␉': '',
|
6961
|
+
'␊': '',
|
6962
|
+
'␋': '',
|
6963
|
+
'␌': '',
|
6964
|
+
'␍': '',
|
6965
|
+
'␎': '',
|
6966
|
+
'␏': '',
|
6967
|
+
'␐': '',
|
6968
|
+
'␑': '',
|
6969
|
+
'␒': '',
|
6970
|
+
'␓': '',
|
6971
|
+
'␔': '',
|
6972
|
+
'␕': '',
|
6973
|
+
'␖': '',
|
6974
|
+
'␗': '',
|
6975
|
+
'␘': '',
|
6976
|
+
'␙': '',
|
6977
|
+
'␚': '',
|
6978
|
+
'␛': '',
|
6979
|
+
'␜': '',
|
6980
|
+
'␝': '',
|
6981
|
+
'␞': '',
|
6982
|
+
'␟': '',
|
6983
|
+
'␠': '',
|
6984
|
+
'␡': '',
|
6985
|
+
};
|
6986
|
+
const MISCELLANEOUS_TECHNICAL_MAP = {
|
6987
|
+
'⌀': '',
|
6988
|
+
'⌁': '',
|
6989
|
+
'⌂': '',
|
6990
|
+
'⌃': '',
|
6991
|
+
'⌄': '',
|
6992
|
+
'⌅': '',
|
6993
|
+
'⌆': '',
|
6994
|
+
'⌇': '',
|
6995
|
+
'⌈': '',
|
6996
|
+
'⌉': '',
|
6997
|
+
'⌊': '',
|
6998
|
+
'⌋': '',
|
6999
|
+
'⌌': '',
|
7000
|
+
'⌍': '',
|
7001
|
+
'⌎': '',
|
7002
|
+
'⌏': '',
|
7003
|
+
'⌐': '',
|
7004
|
+
'⌑': '',
|
7005
|
+
'⌒': '',
|
7006
|
+
'⌓': '',
|
7007
|
+
'⌔': '',
|
7008
|
+
'⌕': '',
|
7009
|
+
'⌖': '',
|
7010
|
+
'⌗': '',
|
7011
|
+
'⌘': '',
|
7012
|
+
'⌙': '',
|
7013
|
+
'⌚': '',
|
7014
|
+
'⌛': '',
|
7015
|
+
'⌜': '',
|
7016
|
+
'⌝': '',
|
7017
|
+
'⌞': '',
|
7018
|
+
'⌟': '',
|
7019
|
+
'⌠': '',
|
7020
|
+
'⌡': '',
|
7021
|
+
'⌢': '',
|
7022
|
+
'⌣': '',
|
7023
|
+
'⌤': '',
|
7024
|
+
'⌥': '',
|
7025
|
+
'⌦': '',
|
7026
|
+
'⌧': '',
|
7027
|
+
'⌨': '',
|
7028
|
+
'⌫': '',
|
7029
|
+
'⌬': '',
|
7030
|
+
'⌭': '',
|
7031
|
+
'⌮': '',
|
7032
|
+
'⌯': '',
|
7033
|
+
};
|
7034
|
+
const MATHEMATICAL_OPERATORS_MAP = {
|
7035
|
+
'−': '',
|
7036
|
+
'∕': '',
|
7037
|
+
'∖': '',
|
7038
|
+
'∗': '',
|
7039
|
+
'∘': '',
|
7040
|
+
'∙': '',
|
7041
|
+
'√': '',
|
7042
|
+
'∛': '',
|
7043
|
+
'∜': '',
|
7044
|
+
'∝': '',
|
7045
|
+
'∞': '',
|
7046
|
+
'∟': '',
|
7047
|
+
'∠': '',
|
7048
|
+
'∥': '',
|
7049
|
+
'∧': '',
|
7050
|
+
'∨': '',
|
7051
|
+
'∩': '',
|
7052
|
+
'∪': '',
|
7053
|
+
'∫': '',
|
7054
|
+
'∬': '',
|
7055
|
+
'∭': '',
|
7056
|
+
'∮': '',
|
7057
|
+
'∯': '',
|
7058
|
+
'∰': '',
|
7059
|
+
'∱': '',
|
7060
|
+
'∲': '',
|
7061
|
+
'∳': '',
|
7062
|
+
'∴': '',
|
7063
|
+
'∵': '',
|
7064
|
+
'∶': '',
|
7065
|
+
'∷': '',
|
7066
|
+
'∸': '',
|
7067
|
+
'∹': '',
|
7068
|
+
'∺': '',
|
7069
|
+
'∻': '',
|
7070
|
+
'∼': '',
|
7071
|
+
'∽': '',
|
7072
|
+
'∾': '',
|
7073
|
+
'≀': '',
|
7074
|
+
'≁': '',
|
7075
|
+
'≂': '',
|
7076
|
+
'≃': '',
|
7077
|
+
'≄': '',
|
7078
|
+
'≅': '',
|
7079
|
+
π: '',
|
7080
|
+
'≆': '',
|
7081
|
+
'≇': '',
|
7082
|
+
'≈': '',
|
7083
|
+
'≉': '',
|
7084
|
+
'≊': '',
|
7085
|
+
'≋': '',
|
7086
|
+
'≌': '',
|
7087
|
+
'≍': '',
|
7088
|
+
'≎': '',
|
7089
|
+
'≏': '',
|
7090
|
+
'≐': '',
|
7091
|
+
'≑': '',
|
7092
|
+
'≒': '',
|
7093
|
+
'≓': '',
|
7094
|
+
'≔': '',
|
7095
|
+
'≕': '',
|
7096
|
+
'≖': '',
|
7097
|
+
'≙': '',
|
7098
|
+
'≚': '',
|
7099
|
+
'≛': '',
|
7100
|
+
'≜': '',
|
7101
|
+
'≝': '',
|
7102
|
+
'≞': '',
|
7103
|
+
'≟': '',
|
7104
|
+
'≠': '',
|
7105
|
+
'≡': '',
|
7106
|
+
'≢': '',
|
7107
|
+
'≣': '',
|
7108
|
+
'≤': '',
|
7109
|
+
'≥': '',
|
7110
|
+
'≦': '',
|
7111
|
+
'≧': '',
|
7112
|
+
'≨': '',
|
7113
|
+
'≩': '',
|
7114
|
+
'≪': '',
|
7115
|
+
'≫': '',
|
7116
|
+
'≬': '',
|
7117
|
+
'≭': '',
|
7118
|
+
'≮': '',
|
7119
|
+
'≯': '',
|
7120
|
+
'≰': '',
|
7121
|
+
'≱': '',
|
7122
|
+
'≲': '',
|
7123
|
+
'≳': '',
|
7124
|
+
'≴': '',
|
7125
|
+
'≵': '',
|
7126
|
+
'≶': '',
|
7127
|
+
'≷': '',
|
7128
|
+
'≸': '',
|
7129
|
+
'≹': '',
|
7130
|
+
'≺': '',
|
7131
|
+
'≻': '',
|
7132
|
+
'≼': '',
|
7133
|
+
'≽': '',
|
7134
|
+
'≾': '',
|
7135
|
+
'≿': '',
|
7136
|
+
'⊀': '',
|
7137
|
+
'⊁': '',
|
7138
|
+
'⊂': '',
|
7139
|
+
'⊃': '',
|
7140
|
+
'⊄': '',
|
7141
|
+
'⊅': '',
|
7142
|
+
'⊆': '',
|
7143
|
+
'⊇': '',
|
7144
|
+
'⊈': '',
|
7145
|
+
'⊉': '',
|
7146
|
+
'⊊': '',
|
7147
|
+
'⊋': '',
|
7148
|
+
'⊌': '',
|
7149
|
+
'⊍': '',
|
7150
|
+
'⊎': '',
|
7151
|
+
'⊏': '',
|
7152
|
+
'⊐': '',
|
7153
|
+
'⊑': '',
|
7154
|
+
'⊒': '',
|
7155
|
+
'⊓': '',
|
7156
|
+
'⊔': '',
|
7157
|
+
'⊕': '',
|
7158
|
+
'⊖': '',
|
7159
|
+
'⊗': '',
|
7160
|
+
'⊘': '',
|
7161
|
+
'⊙': '',
|
7162
|
+
'⊚': '',
|
7163
|
+
'⊛': '',
|
7164
|
+
'⊜': '',
|
7165
|
+
'⊝': '',
|
7166
|
+
'⊞': '',
|
7167
|
+
'⊟': '',
|
7168
|
+
'⊠': '',
|
7169
|
+
'⊡': '',
|
7170
|
+
};
|
7171
|
+
const SUBSCRIPTS_AND_SUPERSCRIPTS_MAP = {
|
7172
|
+
'⁰': '',
|
7173
|
+
'¹': '',
|
7174
|
+
'²': '',
|
7175
|
+
'³': '',
|
7176
|
+
'⁴': '',
|
7177
|
+
'⁵': '',
|
7178
|
+
'⁶': '',
|
7179
|
+
'⁷': '',
|
7180
|
+
'⁸': '',
|
7181
|
+
'⁹': '',
|
7182
|
+
'⁺': '',
|
7183
|
+
'⁻': '',
|
7184
|
+
'⁼': '',
|
7185
|
+
'⁽': '',
|
7186
|
+
'⁾': '',
|
7187
|
+
ⁿ: '',
|
7188
|
+
'₀': '',
|
7189
|
+
'₁': '',
|
7190
|
+
'₂': '',
|
7191
|
+
'₃': '',
|
7192
|
+
'₄': '',
|
7193
|
+
'₅': '',
|
7194
|
+
'₆': '',
|
7195
|
+
'₇': '',
|
7196
|
+
'₈': '',
|
7197
|
+
'₉': '',
|
7198
|
+
'₊': '',
|
7199
|
+
'₋': '',
|
7200
|
+
'₌': '',
|
7201
|
+
'₍': '',
|
7202
|
+
'₎': '',
|
7203
|
+
};
|
7204
|
+
const NUMBER_FORMS_MAP = {
|
7205
|
+
'⅓': '',
|
7206
|
+
'⅔': '',
|
7207
|
+
'⅕': '',
|
7208
|
+
'⅖': '',
|
7209
|
+
'⅗': '',
|
7210
|
+
'⅘': '',
|
7211
|
+
'⅙': '',
|
7212
|
+
'⅚': '',
|
7213
|
+
'⅛': '',
|
7214
|
+
'⅜': '',
|
7215
|
+
'⅝': '',
|
7216
|
+
'⅞': '',
|
7217
|
+
'⅟': '',
|
7218
|
+
};
|
7219
|
+
const LETTERLIKE_SYMBOLS_MAP = {
|
7220
|
+
'℀': '',
|
7221
|
+
'℁': '',
|
7222
|
+
'℃': '',
|
7223
|
+
'℅': '',
|
7224
|
+
'℆': '',
|
7225
|
+
'℉': '',
|
7226
|
+
'№': '',
|
7227
|
+
'℗': '',
|
7228
|
+
'℠': '',
|
7229
|
+
'℡': '',
|
7230
|
+
'™': '',
|
7231
|
+
'℮': '',
|
7232
|
+
ℯ: '',
|
7233
|
+
ℰ: '',
|
7234
|
+
ℱ: '',
|
7235
|
+
Ⅎ: '',
|
7236
|
+
ℳ: '',
|
7237
|
+
ℴ: '',
|
7238
|
+
ℵ: '',
|
7239
|
+
ℶ: '',
|
7240
|
+
ℷ: '',
|
7241
|
+
ℸ: '',
|
7242
|
+
'℘': '',
|
7243
|
+
};
|
7244
|
+
const CURRENCY_SYMBOLS_MAP = {
|
7245
|
+
'₠': '',
|
7246
|
+
'₡': '',
|
7247
|
+
'₢': '',
|
7248
|
+
'₣': '',
|
7249
|
+
'₤': '',
|
7250
|
+
'₥': '',
|
7251
|
+
'₦': '',
|
7252
|
+
'₧': '',
|
7253
|
+
'₨': '',
|
7254
|
+
'₩': '',
|
7255
|
+
'₪': '',
|
7256
|
+
'₫': '',
|
7257
|
+
'€': '',
|
7258
|
+
'₭': '',
|
7259
|
+
'₮': '',
|
7260
|
+
'₯': '',
|
7261
|
+
'₰': '',
|
7262
|
+
'₱': '',
|
7263
|
+
'₲': '',
|
7264
|
+
'₳': '',
|
7265
|
+
'₴': '',
|
7266
|
+
'₵': '',
|
7267
|
+
'₶': '',
|
7268
|
+
'₷': '',
|
7269
|
+
'₸': '',
|
7270
|
+
'₹': '',
|
7271
|
+
'₺': '',
|
7272
|
+
'₻': '',
|
7273
|
+
'₼': '',
|
7274
|
+
'₽': '',
|
7275
|
+
'₾': '',
|
7276
|
+
};
|
7277
|
+
const COMBINING_DIACRITICAL_MARKS_MAP = {
|
7278
|
+
'\n': '',
|
7279
|
+
'\t': '',
|
7280
|
+
'\r': '',
|
7281
|
+
'\r\n': '',
|
7282
|
+
'\u00A0': '',
|
7283
|
+
'\u2003': '',
|
7284
|
+
'\u2002': '',
|
7285
|
+
'\u0000': '',
|
7286
|
+
'\u001F': '',
|
7287
|
+
'\u007F': '',
|
7288
|
+
'\u0080': '',
|
7289
|
+
'\u009F': '',
|
6902
7290
|
'\u0300': '',
|
6903
7291
|
'\u0301': '',
|
6904
7292
|
'\u0302': '',
|
@@ -6979,608 +7367,131 @@ const SPECIAL_CHARACTER_MAPPING = {
|
|
6979
7367
|
'\u034D': '',
|
6980
7368
|
'\u034E': '',
|
6981
7369
|
'\u034F': '',
|
6982
|
-
|
6983
|
-
|
6984
|
-
'\
|
6985
|
-
'\
|
6986
|
-
'\
|
6987
|
-
'\
|
6988
|
-
'\
|
6989
|
-
'\
|
6990
|
-
'\
|
6991
|
-
'\
|
6992
|
-
'\
|
6993
|
-
'\
|
6994
|
-
'\
|
6995
|
-
'\
|
6996
|
-
'\
|
6997
|
-
'\
|
6998
|
-
'\
|
6999
|
-
'\
|
7000
|
-
'\
|
7001
|
-
'\
|
7002
|
-
'\
|
7003
|
-
'\
|
7004
|
-
'\
|
7005
|
-
'\
|
7006
|
-
'\
|
7007
|
-
'\
|
7008
|
-
'\
|
7009
|
-
'\
|
7010
|
-
'\
|
7011
|
-
'\
|
7012
|
-
|
7013
|
-
|
7014
|
-
|
7015
|
-
|
7016
|
-
|
7017
|
-
|
7018
|
-
|
7019
|
-
|
7020
|
-
|
7021
|
-
|
7022
|
-
|
7023
|
-
|
7024
|
-
|
7025
|
-
|
7026
|
-
|
7027
|
-
|
7028
|
-
|
7029
|
-
|
7030
|
-
|
7031
|
-
|
7032
|
-
|
7033
|
-
|
7034
|
-
|
7035
|
-
|
7036
|
-
|
7037
|
-
|
7038
|
-
|
7039
|
-
|
7040
|
-
|
7041
|
-
|
7042
|
-
|
7043
|
-
|
7044
|
-
|
7045
|
-
|
7046
|
-
|
7047
|
-
|
7048
|
-
|
7049
|
-
|
7050
|
-
|
7051
|
-
|
7052
|
-
|
7053
|
-
|
7054
|
-
|
7055
|
-
|
7056
|
-
|
7057
|
-
|
7058
|
-
|
7059
|
-
|
7060
|
-
Ⅎ: 'f',
|
7061
|
-
ℳ: 'm',
|
7062
|
-
ℴ: 'o',
|
7063
|
-
ℵ: 'a',
|
7064
|
-
ℶ: 'b',
|
7065
|
-
ℷ: 'g',
|
7066
|
-
ℸ: 'd',
|
7067
|
-
'℘': 'p',
|
7068
|
-
// Number Forms
|
7069
|
-
'⅓': '1/3',
|
7070
|
-
'⅔': '2/3',
|
7071
|
-
'⅕': '1/5',
|
7072
|
-
'⅖': '2/5',
|
7073
|
-
'⅗': '3/5',
|
7074
|
-
'⅘': '4/5',
|
7075
|
-
'⅙': '1/6',
|
7076
|
-
'⅚': '5/6',
|
7077
|
-
'⅛': '1/8',
|
7078
|
-
'⅜': '3/8',
|
7079
|
-
'⅝': '5/8',
|
7080
|
-
'⅞': '7/8',
|
7081
|
-
'⅟': '1/',
|
7082
|
-
// Superscripts and Subscripts
|
7083
|
-
'⁰': '0',
|
7084
|
-
'¹': '1',
|
7085
|
-
'²': '2',
|
7086
|
-
'³': '3',
|
7087
|
-
'⁴': '4',
|
7088
|
-
'⁵': '5',
|
7089
|
-
'⁶': '6',
|
7090
|
-
'⁷': '7',
|
7091
|
-
'⁸': '8',
|
7092
|
-
'⁹': '9',
|
7093
|
-
'⁺': '+',
|
7094
|
-
'⁻': '-',
|
7095
|
-
'⁼': '=',
|
7096
|
-
'⁽': '(',
|
7097
|
-
'⁾': ')',
|
7098
|
-
ⁿ: 'n',
|
7099
|
-
'₀': '0',
|
7100
|
-
'₁': '1',
|
7101
|
-
'₂': '2',
|
7102
|
-
'₃': '3',
|
7103
|
-
'₄': '4',
|
7104
|
-
'₅': '5',
|
7105
|
-
'₆': '6',
|
7106
|
-
'₇': '7',
|
7107
|
-
'₈': '8',
|
7108
|
-
'₉': '9',
|
7109
|
-
'₊': '+',
|
7110
|
-
'₋': '-',
|
7111
|
-
'₌': '=',
|
7112
|
-
'₍': '(',
|
7113
|
-
'₎': ')',
|
7114
|
-
// Mathematical Operators
|
7115
|
-
'−': '-',
|
7116
|
-
'∕': '/',
|
7117
|
-
'∖': '\\',
|
7118
|
-
'∗': '*',
|
7119
|
-
'∘': 'o',
|
7120
|
-
'∙': '*',
|
7121
|
-
'√': 'v',
|
7122
|
-
'∛': 'v',
|
7123
|
-
'∜': 'v',
|
7124
|
-
'∝': 'oc',
|
7125
|
-
'∞': '8',
|
7126
|
-
'∟': 'l',
|
7127
|
-
'∠': 'a',
|
7128
|
-
'∥': '||',
|
7129
|
-
'∧': 'and',
|
7130
|
-
'∨': 'or',
|
7131
|
-
'∩': 'n',
|
7132
|
-
'∪': 'u',
|
7133
|
-
'∫': 'I',
|
7134
|
-
'∬': 'II',
|
7135
|
-
'∭': 'III',
|
7136
|
-
'∮': 'O',
|
7137
|
-
'∯': 'S',
|
7138
|
-
'∰': 'S',
|
7139
|
-
'∱': 'S',
|
7140
|
-
'∲': 'S',
|
7141
|
-
'∳': 'S',
|
7142
|
-
'∴': 't',
|
7143
|
-
'∵': 'b',
|
7144
|
-
'∶': ':',
|
7145
|
-
'∷': '::',
|
7146
|
-
'∸': '-:',
|
7147
|
-
'∹': '-:',
|
7148
|
-
'∺': '-:',
|
7149
|
-
'∻': '-:',
|
7150
|
-
'∼': '~',
|
7151
|
-
'∽': '~',
|
7152
|
-
'∾': '~',
|
7153
|
-
'≀': 'o',
|
7154
|
-
'≁': '!~',
|
7155
|
-
'≂': '~',
|
7156
|
-
'≃': '~=',
|
7157
|
-
'≄': '!~=',
|
7158
|
-
'≅': '~=',
|
7159
|
-
'≆': '~=',
|
7160
|
-
'≇': '!~=',
|
7161
|
-
'≈': '~',
|
7162
|
-
'≉': '!~',
|
7163
|
-
'≊': '~=',
|
7164
|
-
'≋': '~',
|
7165
|
-
'≌': '=',
|
7166
|
-
'≍': '=',
|
7167
|
-
'≎': '=',
|
7168
|
-
'≏': '=',
|
7169
|
-
'≐': '=',
|
7170
|
-
'≑': '=',
|
7171
|
-
'≒': '=',
|
7172
|
-
'≓': '=',
|
7173
|
-
'≔': '=',
|
7174
|
-
'≕': '=',
|
7175
|
-
'≖': '=',
|
7176
|
-
'≙': '=',
|
7177
|
-
'≚': '=',
|
7178
|
-
'≛': '=',
|
7179
|
-
'≜': '=',
|
7180
|
-
'≝': '=',
|
7181
|
-
'≞': '=',
|
7182
|
-
'≟': '=',
|
7183
|
-
'≠': '!=',
|
7184
|
-
'≡': '=',
|
7185
|
-
'≢': '!=',
|
7186
|
-
'≣': '=',
|
7187
|
-
'≤': '<=',
|
7188
|
-
'≥': '>=',
|
7189
|
-
'≦': '<=',
|
7190
|
-
'≧': '>=',
|
7191
|
-
'≨': '</',
|
7192
|
-
'≩': '>/',
|
7193
|
-
'≪': '<<',
|
7194
|
-
'≫': '>>',
|
7195
|
-
'≬': '><',
|
7196
|
-
'≭': '><',
|
7197
|
-
'≮': '!<',
|
7198
|
-
'≯': '!>',
|
7199
|
-
'≰': '!<=',
|
7200
|
-
'≱': '!>=',
|
7201
|
-
'≲': '<=',
|
7202
|
-
'≳': '>=',
|
7203
|
-
'≴': '</',
|
7204
|
-
'≵': '>/',
|
7205
|
-
'≶': '><',
|
7206
|
-
'≷': '><',
|
7207
|
-
'≸': '!><',
|
7208
|
-
'≹': '!><',
|
7209
|
-
'≺': '<',
|
7210
|
-
'≻': '>',
|
7211
|
-
'≼': '<=',
|
7212
|
-
'≽': '>=',
|
7213
|
-
'≾': '<=',
|
7214
|
-
'≿': '>=',
|
7215
|
-
'⊀': '!<',
|
7216
|
-
'⊁': '!>',
|
7217
|
-
'⊂': 'c',
|
7218
|
-
'⊃': 'c',
|
7219
|
-
'⊄': '!c',
|
7220
|
-
'⊅': '!c',
|
7221
|
-
'⊆': 'c=',
|
7222
|
-
'⊇': 'c=',
|
7223
|
-
'⊈': '!c=',
|
7224
|
-
'⊉': '!c=',
|
7225
|
-
'⊊': 'c',
|
7226
|
-
'⊋': 'c',
|
7227
|
-
'⊌': 'U',
|
7228
|
-
'⊍': 'U',
|
7229
|
-
'⊎': 'U',
|
7230
|
-
'⊏': '<',
|
7231
|
-
'⊐': '>',
|
7232
|
-
'⊑': '<=',
|
7233
|
-
'⊒': '>=',
|
7234
|
-
'⊓': 'n',
|
7235
|
-
'⊔': 'u',
|
7236
|
-
'⊕': 'o+',
|
7237
|
-
'⊖': 'o-',
|
7238
|
-
'⊗': 'ox',
|
7239
|
-
'⊘': 'o/',
|
7240
|
-
'⊙': 'o.',
|
7241
|
-
'⊚': 'o',
|
7242
|
-
'⊛': 'o*',
|
7243
|
-
'⊜': 'o=',
|
7244
|
-
'⊝': 'o-',
|
7245
|
-
'⊞': '+',
|
7246
|
-
'⊟': '-',
|
7247
|
-
'⊠': 'x',
|
7248
|
-
'⊡': '[]',
|
7249
|
-
// Miscellaneous Technical
|
7250
|
-
'⌀': 'o',
|
7251
|
-
'⌁': '*',
|
7252
|
-
'⌂': '^',
|
7253
|
-
'⌃': '^',
|
7254
|
-
'⌄': 'v',
|
7255
|
-
'⌅': '[',
|
7256
|
-
'⌆': ']',
|
7257
|
-
'⌇': '|',
|
7258
|
-
'⌈': '[',
|
7259
|
-
'⌉': ']',
|
7260
|
-
'⌊': '[',
|
7261
|
-
'⌋': ']',
|
7262
|
-
'⌌': '[',
|
7263
|
-
'⌍': ']',
|
7264
|
-
'⌎': '[',
|
7265
|
-
'⌏': ']',
|
7266
|
-
'⌐': '|_',
|
7267
|
-
'⌑': '_|',
|
7268
|
-
'⌒': '~',
|
7269
|
-
'⌓': '^',
|
7270
|
-
'⌔': '[]',
|
7271
|
-
'⌕': 'o',
|
7272
|
-
'⌖': '+',
|
7273
|
-
'⌗': '#',
|
7274
|
-
'⌘': 'cmd',
|
7275
|
-
'⌙': '<',
|
7276
|
-
'⌚': 'watch',
|
7277
|
-
'⌛': 'hourglass',
|
7278
|
-
'⌜': '[',
|
7279
|
-
'⌝': ']',
|
7280
|
-
'⌞': '[',
|
7281
|
-
'⌟': ']',
|
7282
|
-
'⌠': 'I',
|
7283
|
-
'⌡': 'I',
|
7284
|
-
'⌢': 'u',
|
7285
|
-
'⌣': 'n',
|
7286
|
-
'⌤': '_|_',
|
7287
|
-
'⌥': 'alt',
|
7288
|
-
'⌦': 'del',
|
7289
|
-
'⌧': 'x',
|
7290
|
-
'⌨': 'keyboard',
|
7291
|
-
'⌫': 'backspace',
|
7292
|
-
'⌬': '^',
|
7293
|
-
'⌭': '><',
|
7294
|
-
'⌮': '><',
|
7295
|
-
'⌯': '*',
|
7296
|
-
// Control Pictures
|
7297
|
-
'␀': 'nul',
|
7298
|
-
'␁': 'soh',
|
7299
|
-
'␂': 'stx',
|
7300
|
-
'␃': 'etx',
|
7301
|
-
'␄': 'eot',
|
7302
|
-
'␅': 'enq',
|
7303
|
-
'␆': 'ack',
|
7304
|
-
'␇': 'bel',
|
7305
|
-
'␈': 'bs',
|
7306
|
-
'␉': 'ht',
|
7307
|
-
'␊': 'lf',
|
7308
|
-
'␋': 'vt',
|
7309
|
-
'␌': 'ff',
|
7310
|
-
'␍': 'cr',
|
7311
|
-
'␎': 'so',
|
7312
|
-
'␏': 'si',
|
7313
|
-
'␐': 'dle',
|
7314
|
-
'␑': 'dc1',
|
7315
|
-
'␒': 'dc2',
|
7316
|
-
'␓': 'dc3',
|
7317
|
-
'␔': 'dc4',
|
7318
|
-
'␕': 'nak',
|
7319
|
-
'␖': 'syn',
|
7320
|
-
'␗': 'etb',
|
7321
|
-
'␘': 'can',
|
7322
|
-
'␙': 'em',
|
7323
|
-
'␚': 'sub',
|
7324
|
-
'␛': 'esc',
|
7325
|
-
'␜': 'fs',
|
7326
|
-
'␝': 'gs',
|
7327
|
-
'␞': 'rs',
|
7328
|
-
'␟': 'us',
|
7329
|
-
'␠': 'sp',
|
7330
|
-
'␡': 'del',
|
7331
|
-
// Optical Character Recognition
|
7332
|
-
'⑀': 'ocr',
|
7333
|
-
'⑁': 'ocr',
|
7334
|
-
'⑂': 'ocr',
|
7335
|
-
'⑃': 'ocr',
|
7336
|
-
'⑄': 'ocr',
|
7337
|
-
'⑅': 'ocr',
|
7338
|
-
'⑆': 'ocr',
|
7339
|
-
'⑇': 'ocr',
|
7340
|
-
'⑈': 'ocr',
|
7341
|
-
'⑉': 'ocr',
|
7342
|
-
'⑊': 'ocr',
|
7343
|
-
// Enclosed Alphanumerics
|
7344
|
-
'⒜': '(a)',
|
7345
|
-
'⒝': '(b)',
|
7346
|
-
'⒞': '(c)',
|
7347
|
-
'⒟': '(d)',
|
7348
|
-
'⒠': '(e)',
|
7349
|
-
'⒡': '(f)',
|
7350
|
-
'⒢': '(g)',
|
7351
|
-
'⒣': '(h)',
|
7352
|
-
'⒤': '(i)',
|
7353
|
-
'⒥': '(j)',
|
7354
|
-
'⒦': '(k)',
|
7355
|
-
'⒧': '(l)',
|
7356
|
-
'⒨': '(m)',
|
7357
|
-
'⒩': '(n)',
|
7358
|
-
'⒪': '(o)',
|
7359
|
-
'⒫': '(p)',
|
7360
|
-
'⒬': '(q)',
|
7361
|
-
'⒭': '(r)',
|
7362
|
-
'⒮': '(s)',
|
7363
|
-
'⒯': '(t)',
|
7364
|
-
'⒰': '(u)',
|
7365
|
-
'⒱': '(v)',
|
7366
|
-
'⒲': '(w)',
|
7367
|
-
'⒳': '(x)',
|
7368
|
-
'⒴': '(y)',
|
7369
|
-
'⒵': '(z)',
|
7370
|
-
// Box Drawing
|
7371
|
-
'─': '-',
|
7372
|
-
'│': '|',
|
7373
|
-
'┌': '+',
|
7374
|
-
'┐': '+',
|
7375
|
-
'└': '+',
|
7376
|
-
'┘': '+',
|
7377
|
-
'├': '+',
|
7378
|
-
'┤': '+',
|
7379
|
-
'┬': '+',
|
7380
|
-
'┴': '+',
|
7381
|
-
'┼': '+',
|
7382
|
-
'═': '=',
|
7383
|
-
'║': '||',
|
7384
|
-
'╒': '+',
|
7385
|
-
'╓': '+',
|
7386
|
-
'╔': '+',
|
7387
|
-
'╕': '+',
|
7388
|
-
'╖': '+',
|
7389
|
-
'╗': '+',
|
7390
|
-
'╘': '+',
|
7391
|
-
'╙': '+',
|
7392
|
-
'╚': '+',
|
7393
|
-
'╛': '+',
|
7394
|
-
'╜': '+',
|
7395
|
-
'╝': '+',
|
7396
|
-
'╞': '+',
|
7397
|
-
'╟': '+',
|
7398
|
-
'╠': '+',
|
7399
|
-
'╡': '+',
|
7400
|
-
'╢': '+',
|
7401
|
-
'╣': '+',
|
7402
|
-
'╤': '+',
|
7403
|
-
'╥': '+',
|
7404
|
-
'╦': '+',
|
7405
|
-
'╧': '+',
|
7406
|
-
'╨': '+',
|
7407
|
-
'╩': '+',
|
7408
|
-
'╪': '+',
|
7409
|
-
'╫': '+',
|
7410
|
-
'╬': '+',
|
7411
|
-
// Block Elements
|
7412
|
-
'▀': 'block',
|
7413
|
-
'▁': 'block',
|
7414
|
-
'▂': 'block',
|
7415
|
-
'▃': 'block',
|
7416
|
-
'▄': 'block',
|
7417
|
-
'▅': 'block',
|
7418
|
-
'▆': 'block',
|
7419
|
-
'▇': 'block',
|
7420
|
-
'█': 'block',
|
7421
|
-
'▉': 'block',
|
7422
|
-
'▊': 'block',
|
7423
|
-
'▋': 'block',
|
7424
|
-
'▌': 'block',
|
7425
|
-
'▍': 'block',
|
7426
|
-
'▎': 'block',
|
7427
|
-
'▏': 'block',
|
7428
|
-
'▐': 'block',
|
7429
|
-
'░': 'block',
|
7430
|
-
'▒': 'block',
|
7431
|
-
'▓': 'block',
|
7432
|
-
'▔': 'block',
|
7433
|
-
'▕': 'block',
|
7434
|
-
'▖': 'block',
|
7435
|
-
'▗': 'block',
|
7436
|
-
'▘': 'block',
|
7437
|
-
'▙': 'block',
|
7438
|
-
'▚': 'block',
|
7439
|
-
'▛': 'block',
|
7440
|
-
'▜': 'block',
|
7441
|
-
'▝': 'block',
|
7442
|
-
'▞': 'block',
|
7443
|
-
'▟': 'block',
|
7444
|
-
// Geometric Shapes
|
7445
|
-
'■': 'square',
|
7446
|
-
'□': 'square',
|
7447
|
-
'▢': 'square',
|
7448
|
-
'▣': 'square',
|
7449
|
-
'▤': 'square',
|
7450
|
-
'▥': 'square',
|
7451
|
-
'▦': 'square',
|
7452
|
-
'▧': 'square',
|
7453
|
-
'▨': 'square',
|
7454
|
-
'▩': 'square',
|
7455
|
-
'▪': 'square',
|
7456
|
-
'▫': 'square',
|
7457
|
-
'▬': 'rectangle',
|
7458
|
-
'▭': 'rectangle',
|
7459
|
-
'▮': 'rectangle',
|
7460
|
-
'▯': 'rectangle',
|
7461
|
-
'▰': 'triangle',
|
7462
|
-
'▱': 'triangle',
|
7463
|
-
'▲': 'triangle',
|
7464
|
-
'△': 'triangle',
|
7465
|
-
'▴': 'triangle',
|
7466
|
-
'▵': 'triangle',
|
7467
|
-
'▶': 'triangle',
|
7468
|
-
'▷': 'triangle',
|
7469
|
-
'▸': 'triangle',
|
7470
|
-
'▹': 'triangle',
|
7471
|
-
'►': 'triangle',
|
7472
|
-
'▻': 'triangle',
|
7473
|
-
'▼': 'triangle',
|
7474
|
-
'▽': 'triangle',
|
7475
|
-
'▾': 'triangle',
|
7476
|
-
'▿': 'triangle',
|
7477
|
-
'◀': 'triangle',
|
7478
|
-
'◁': 'triangle',
|
7479
|
-
'◂': 'triangle',
|
7480
|
-
'◃': 'triangle',
|
7481
|
-
'◄': 'triangle',
|
7482
|
-
'◅': 'triangle',
|
7483
|
-
'◆': 'diamond',
|
7484
|
-
'◇': 'diamond',
|
7485
|
-
'◈': 'diamond',
|
7486
|
-
'◉': 'circle',
|
7487
|
-
'◊': 'diamond',
|
7488
|
-
'○': 'circle',
|
7489
|
-
'◌': 'circle',
|
7490
|
-
'◍': 'circle',
|
7491
|
-
'◎': 'circle',
|
7492
|
-
'●': 'circle',
|
7493
|
-
'◐': 'circle',
|
7494
|
-
'◑': 'circle',
|
7495
|
-
'◒': 'circle',
|
7496
|
-
'◓': 'circle',
|
7497
|
-
'◔': 'circle',
|
7498
|
-
'◕': 'circle',
|
7499
|
-
'◖': 'circle',
|
7500
|
-
'◗': 'circle',
|
7501
|
-
'◘': 'circle',
|
7502
|
-
'◙': 'circle',
|
7503
|
-
'◚': 'circle',
|
7504
|
-
'◛': 'circle',
|
7505
|
-
'◜': 'circle',
|
7506
|
-
'◝': 'circle',
|
7507
|
-
'◞': 'circle',
|
7508
|
-
'◟': 'circle',
|
7509
|
-
'◠': 'arc',
|
7510
|
-
'◡': 'arc',
|
7511
|
-
'◢': 'triangle',
|
7512
|
-
'◣': 'triangle',
|
7513
|
-
'◤': 'triangle',
|
7514
|
-
'◥': 'triangle',
|
7515
|
-
'◦': 'circle',
|
7516
|
-
'◧': 'square',
|
7517
|
-
'◨': 'square',
|
7518
|
-
'◩': 'square',
|
7519
|
-
'◪': 'square',
|
7520
|
-
'◫': 'square',
|
7521
|
-
'◬': 'circle',
|
7522
|
-
'◭': 'triangle',
|
7523
|
-
'◮': 'triangle',
|
7524
|
-
'◯': 'circle',
|
7525
|
-
'◰': 'square',
|
7526
|
-
'◱': 'square',
|
7527
|
-
'◲': 'square',
|
7528
|
-
'◳': 'square',
|
7529
|
-
'◴': 'circle',
|
7530
|
-
'◵': 'circle',
|
7531
|
-
'◶': 'circle',
|
7532
|
-
'◷': 'circle',
|
7533
|
-
'◸': 'triangle',
|
7534
|
-
'◹': 'triangle',
|
7535
|
-
'◺': 'triangle',
|
7536
|
-
'◻': 'square',
|
7537
|
-
'◼': 'square',
|
7538
|
-
'◽': 'square',
|
7539
|
-
'◾': 'square',
|
7540
|
-
'◿': 'triangle',
|
7370
|
+
};
|
7371
|
+
const GENERAL_PUNCTUATION_MAP = {
|
7372
|
+
'\u2013': '',
|
7373
|
+
'\u2014': '',
|
7374
|
+
'\u2018': '',
|
7375
|
+
'\u2019': '',
|
7376
|
+
'\u201C': '',
|
7377
|
+
'\u201D': '',
|
7378
|
+
'\u201E': '',
|
7379
|
+
'\u2020': '',
|
7380
|
+
'\u2021': '',
|
7381
|
+
'\u2022': '',
|
7382
|
+
'\u2025': '',
|
7383
|
+
'\u2026': '',
|
7384
|
+
'\u2030': '',
|
7385
|
+
'\u2031': '',
|
7386
|
+
'\u2032': '',
|
7387
|
+
'\u2033': '',
|
7388
|
+
'\u2034': '',
|
7389
|
+
'\u2035': '',
|
7390
|
+
'\u2036': '',
|
7391
|
+
'\u2037': '',
|
7392
|
+
'\u2039': '',
|
7393
|
+
'\u203A': '',
|
7394
|
+
'\u203C': '',
|
7395
|
+
'\u203E': '',
|
7396
|
+
'\u2044': '',
|
7397
|
+
'\u204E': '',
|
7398
|
+
'\u204F': '',
|
7399
|
+
'\u2050': '',
|
7400
|
+
'\u2057': '',
|
7401
|
+
};
|
7402
|
+
const OTHERS_MAP = {
|
7403
|
+
Nº: 'No',
|
7404
|
+
};
|
7405
|
+
const SPECIAL_CHARS_MAP = {
|
7406
|
+
...LATIN_MAP,
|
7407
|
+
...SYMBOLS_MAP,
|
7408
|
+
...GREEK_MAP,
|
7409
|
+
...TURKISH_MAP,
|
7410
|
+
...GERMAN_MAP,
|
7411
|
+
...ROMANIAN_MAP,
|
7412
|
+
...RUSSIAN_MAP,
|
7413
|
+
...UKRAINIAN_MAP,
|
7414
|
+
...CZECH_MAP,
|
7415
|
+
...GEORGIAN_MAP,
|
7416
|
+
...ITALIAN_MAP,
|
7417
|
+
...FRENCH_MAP,
|
7418
|
+
...PORTUGUESE_MAP,
|
7419
|
+
...NORDIC_MAP,
|
7420
|
+
...HUNGARIAN_MAP,
|
7421
|
+
...VIETNAMESE_MAP,
|
7422
|
+
...CROATIOAN_SEERBIAN_MAP,
|
7423
|
+
...BALLTIC_MAP,
|
7424
|
+
...CHINESE_JAPANESE_PUNCTUATION_MAP,
|
7425
|
+
...SPANISH_MAP,
|
7426
|
+
...SLOVAK_MAP,
|
7427
|
+
...POLISH_MAP,
|
7428
|
+
...LATVIAN_MAP,
|
7429
|
+
...ARABIC_MAP,
|
7430
|
+
...LITHUANIAN_MAP,
|
7431
|
+
...SERBIAN_MAP,
|
7432
|
+
...AZERBAIJANI_MAP,
|
7433
|
+
...GEORGIAN_MAP,
|
7434
|
+
...GEOMETRIC_SHAPES_MAP,
|
7435
|
+
...BLOCK_ELEMENTS_MAP,
|
7436
|
+
...BOX_DRAWING_MAP,
|
7437
|
+
...OPTICAL_CHARACTER_RECOGNITION_MAP,
|
7438
|
+
...CONTROL_PICTURES_MAP,
|
7439
|
+
...MISCELLANEOUS_TECHNICAL_MAP,
|
7440
|
+
...MATHEMATICAL_OPERATORS_MAP,
|
7441
|
+
...SUBSCRIPTS_AND_SUPERSCRIPTS_MAP,
|
7442
|
+
...NUMBER_FORMS_MAP,
|
7443
|
+
...LETTERLIKE_SYMBOLS_MAP,
|
7444
|
+
...CURRENCY_SYMBOLS_MAP,
|
7445
|
+
...COMBINING_DIACRITICAL_MARKS_MAP,
|
7446
|
+
...GENERAL_PUNCTUATION_MAP,
|
7447
|
+
...OTHERS_MAP,
|
7541
7448
|
};
|
7542
7449
|
|
7543
|
-
|
7544
|
-
|
7545
|
-
|
7546
|
-
|
7547
|
-
|
7548
|
-
|
7549
|
-
|
7550
|
-
|
7551
|
-
* @returns Array of cleaned string IDs
|
7552
|
-
*
|
7553
|
-
* @example
|
7554
|
-
* cleanProductIds(["001", " 123 ", 456, "0"]) // ["1", "123", "456", "0"]
|
7555
|
-
*/
|
7556
|
-
function cleanProductIds(ids) {
|
7557
|
-
// If the input is not an array, return an empty array
|
7558
|
-
if (!Array.isArray(ids)) {
|
7559
|
-
return [];
|
7560
|
-
}
|
7561
|
-
// Use reduce to combine mapping and filtering operations
|
7562
|
-
return ids.reduce((result, id) => {
|
7563
|
-
// If the id is null or undefined, skip it
|
7564
|
-
if (id == null) {
|
7565
|
-
return result;
|
7450
|
+
class NormalizeStringHelper {
|
7451
|
+
constructor() {
|
7452
|
+
this.characterMaps = SPECIAL_CHARS_MAP;
|
7453
|
+
this.regex = new RegExp(Object.keys(this.characterMaps).join('|'), 'g');
|
7454
|
+
}
|
7455
|
+
static getInstance() {
|
7456
|
+
if (!NormalizeStringHelper.instance) {
|
7457
|
+
NormalizeStringHelper.instance = new NormalizeStringHelper();
|
7566
7458
|
}
|
7567
|
-
|
7568
|
-
|
7569
|
-
|
7570
|
-
if (!
|
7571
|
-
return
|
7459
|
+
return NormalizeStringHelper.instance;
|
7460
|
+
}
|
7461
|
+
normalize(text) {
|
7462
|
+
if (!text)
|
7463
|
+
return '';
|
7464
|
+
// Replace special characters with their basic counterparts
|
7465
|
+
let cleaned = text.replace(this.regex, (match) => this.characterMaps[match] || match);
|
7466
|
+
// Remove all other special characters except letters, numbers and spaces
|
7467
|
+
cleaned = cleaned.replace(/[^a-zA-Z0-9\s]/g, '');
|
7468
|
+
// Convert to lowercase
|
7469
|
+
cleaned = cleaned.toLowerCase();
|
7470
|
+
// Replace multiple spaces with a single space
|
7471
|
+
cleaned = cleaned.replace(/\s+/g, ' ');
|
7472
|
+
// Trim leading and trailing spaces
|
7473
|
+
cleaned = cleaned.trim();
|
7474
|
+
// Remove leading zeros while preserving single "0"
|
7475
|
+
cleaned = this.removeLeadingZerosIfNumber(cleaned);
|
7476
|
+
return cleaned;
|
7477
|
+
}
|
7478
|
+
/**
|
7479
|
+
* Removes leading zeros from a string number unless the string is just "0"
|
7480
|
+
* @param text - The string to process
|
7481
|
+
* @returns The string without leading zeros
|
7482
|
+
*/
|
7483
|
+
removeLeadingZerosIfNumber(text) {
|
7484
|
+
// If the string is not a number, return it as is
|
7485
|
+
if (isNaN(Number(text))) {
|
7486
|
+
return text;
|
7572
7487
|
}
|
7573
|
-
//
|
7574
|
-
|
7575
|
-
|
7576
|
-
const cleanedId = noSpecialCharsString === '0' ? '0' : noSpecialCharsString.replace(/^0+/, '');
|
7577
|
-
// If the cleanedId is not empty, add it to the result array
|
7578
|
-
if (cleanedId !== '') {
|
7579
|
-
result.push(cleanedId);
|
7488
|
+
// If the string consists of only zeros, return "0"
|
7489
|
+
if (/^0+$/.test(text)) {
|
7490
|
+
return '0';
|
7580
7491
|
}
|
7581
|
-
//
|
7582
|
-
return
|
7583
|
-
}
|
7492
|
+
// Remove leading zeros
|
7493
|
+
return text.replace(/^0+/, '');
|
7494
|
+
}
|
7584
7495
|
}
|
7585
7496
|
|
7586
7497
|
class SingletonManager {
|
@@ -17196,17 +17107,17 @@ class IntersectionObserverService {
|
|
17196
17107
|
}
|
17197
17108
|
}
|
17198
17109
|
|
17199
|
-
var
|
17200
|
-
(function (
|
17201
|
-
|
17202
|
-
|
17203
|
-
|
17204
|
-
|
17205
|
-
|
17206
|
-
|
17207
|
-
|
17208
|
-
})(
|
17209
|
-
const
|
17110
|
+
var ENUM_SPOT_ARRAY_INDEX;
|
17111
|
+
(function (ENUM_SPOT_ARRAY_INDEX) {
|
17112
|
+
ENUM_SPOT_ARRAY_INDEX[ENUM_SPOT_ARRAY_INDEX["PLACEMENT_ID"] = 0] = "PLACEMENT_ID";
|
17113
|
+
ENUM_SPOT_ARRAY_INDEX[ENUM_SPOT_ARRAY_INDEX["SPOT_ID"] = 1] = "SPOT_ID";
|
17114
|
+
ENUM_SPOT_ARRAY_INDEX[ENUM_SPOT_ARRAY_INDEX["SPOT_TYPE"] = 2] = "SPOT_TYPE";
|
17115
|
+
ENUM_SPOT_ARRAY_INDEX[ENUM_SPOT_ARRAY_INDEX["EVENTS"] = 3] = "EVENTS";
|
17116
|
+
ENUM_SPOT_ARRAY_INDEX[ENUM_SPOT_ARRAY_INDEX["FIRED_EVENTS"] = 4] = "FIRED_EVENTS";
|
17117
|
+
ENUM_SPOT_ARRAY_INDEX[ENUM_SPOT_ARRAY_INDEX["PRODUCT_IDS"] = 5] = "PRODUCT_IDS";
|
17118
|
+
ENUM_SPOT_ARRAY_INDEX[ENUM_SPOT_ARRAY_INDEX["CREATED_AT"] = 6] = "CREATED_AT";
|
17119
|
+
})(ENUM_SPOT_ARRAY_INDEX || (ENUM_SPOT_ARRAY_INDEX = {}));
|
17120
|
+
const SPOT_EVENTS_ARRAY_INDEX = {
|
17210
17121
|
[exports.RMN_SPOT_EVENT.IMPRESSION]: 0,
|
17211
17122
|
[exports.RMN_SPOT_EVENT.CLICK]: 1,
|
17212
17123
|
[exports.RMN_SPOT_EVENT.PURCHASE]: 2,
|
@@ -17236,43 +17147,24 @@ class LocalStorageService {
|
|
17236
17147
|
}
|
17237
17148
|
return LocalStorageService.instance;
|
17238
17149
|
}
|
17239
|
-
syncLocalStorage() {
|
17240
|
-
const localStorageData = window.localStorage.getItem(LocalStorageService.localStorageKey);
|
17241
|
-
if (localStorageData) {
|
17242
|
-
try {
|
17243
|
-
const decryptedData = this.decryptData(localStorageData);
|
17244
|
-
const parsedData = JSON.parse(decryptedData);
|
17245
|
-
if (parsedData && typeof parsedData === 'object') {
|
17246
|
-
const data = {};
|
17247
|
-
for (const [key, value] of Object.entries(parsedData)) {
|
17248
|
-
data[key] = this.spotArrayToObject(value);
|
17249
|
-
}
|
17250
|
-
this.spots = this.objectToMap(data);
|
17251
|
-
}
|
17252
|
-
else {
|
17253
|
-
this.clearLocalStorage();
|
17254
|
-
}
|
17255
|
-
}
|
17256
|
-
catch (_a) {
|
17257
|
-
// If there is an error parsing the data, clear the local storage to prevent any issues
|
17258
|
-
this.clearLocalStorage();
|
17259
|
-
}
|
17260
|
-
}
|
17261
|
-
}
|
17262
17150
|
setSpot(spotId, data) {
|
17263
|
-
var _a, _b, _c, _d;
|
17151
|
+
var _a, _b, _c, _d, _e;
|
17264
17152
|
data.createdAt = Date.now();
|
17265
17153
|
const isExistentSpot = (_a = this.spots) === null || _a === void 0 ? void 0 : _a.has(spotId);
|
17266
17154
|
if (isExistentSpot) {
|
17267
|
-
|
17268
|
-
data.firedEvents = (_c = existingData === null || existingData === void 0 ? void 0 : existingData.firedEvents) !== null && _c !== void 0 ? _c : [];
|
17155
|
+
data.firedEvents = (_d = (_c = (_b = this.spots) === null || _b === void 0 ? void 0 : _b.get(spotId)) === null || _c === void 0 ? void 0 : _c.firedEvents) !== null && _d !== void 0 ? _d : [];
|
17269
17156
|
}
|
17270
|
-
(
|
17157
|
+
(_e = this.spots) === null || _e === void 0 ? void 0 : _e.set(spotId, data);
|
17271
17158
|
this.updateLocalStorage();
|
17272
17159
|
}
|
17273
17160
|
removeSpot(spotId) {
|
17274
|
-
var _a;
|
17275
|
-
(_a = this.spots) === null || _a === void 0 ? void 0 : _a.
|
17161
|
+
var _a, _b;
|
17162
|
+
const isExistentSpot = (_a = this.spots) === null || _a === void 0 ? void 0 : _a.has(spotId);
|
17163
|
+
if (!isExistentSpot)
|
17164
|
+
return;
|
17165
|
+
const isDeleted = (_b = this.spots) === null || _b === void 0 ? void 0 : _b.delete(spotId);
|
17166
|
+
if (!isDeleted)
|
17167
|
+
return;
|
17276
17168
|
this.updateLocalStorage();
|
17277
17169
|
}
|
17278
17170
|
getSpot(spotId) {
|
@@ -17335,16 +17227,36 @@ class LocalStorageService {
|
|
17335
17227
|
}
|
17336
17228
|
}
|
17337
17229
|
// ======================== Utility functions ======================== //
|
17230
|
+
syncLocalStorage() {
|
17231
|
+
const localStorageData = window.localStorage.getItem(LocalStorageService.localStorageKey);
|
17232
|
+
if (localStorageData) {
|
17233
|
+
try {
|
17234
|
+
const decryptedData = this.decryptData(localStorageData);
|
17235
|
+
const parsedData = JSON.parse(decryptedData);
|
17236
|
+
if (Array.isArray(parsedData)) {
|
17237
|
+
const data = Object.fromEntries(parsedData.map((spot) => [
|
17238
|
+
spot[ENUM_SPOT_ARRAY_INDEX.SPOT_ID],
|
17239
|
+
this.spotArrayToObject(spot),
|
17240
|
+
]));
|
17241
|
+
this.spots = this.objectToMap(data);
|
17242
|
+
}
|
17243
|
+
else {
|
17244
|
+
this.clearLocalStorage();
|
17245
|
+
}
|
17246
|
+
}
|
17247
|
+
catch (_a) {
|
17248
|
+
// If there is an error parsing the data, clear the local storage to prevent any issues
|
17249
|
+
this.clearLocalStorage();
|
17250
|
+
}
|
17251
|
+
}
|
17252
|
+
}
|
17338
17253
|
updateLocalStorage() {
|
17339
17254
|
if (!this.spots)
|
17340
17255
|
return undefined;
|
17341
|
-
const
|
17342
|
-
const
|
17343
|
-
for (const [key, value] of Object.entries(data)) {
|
17344
|
-
dataArray[key] = this.spotObjectToArray(value);
|
17345
|
-
}
|
17256
|
+
const spotsObj = this.mapToObject(this.spots);
|
17257
|
+
const data = Object.values(spotsObj).map((spot) => this.spotObjectToArray(spot));
|
17346
17258
|
try {
|
17347
|
-
const encryptedData = this.encryptData(JSON.stringify(
|
17259
|
+
const encryptedData = this.encryptData(JSON.stringify(data));
|
17348
17260
|
window.localStorage.setItem(LocalStorageService.localStorageKey, encryptedData);
|
17349
17261
|
}
|
17350
17262
|
catch (_a) {
|
@@ -17373,52 +17285,53 @@ class LocalStorageService {
|
|
17373
17285
|
return new Map(Object.entries(obj));
|
17374
17286
|
}
|
17375
17287
|
spotEventObjectToArray(events) {
|
17376
|
-
return Object.keys(
|
17288
|
+
return Object.keys(SPOT_EVENTS_ARRAY_INDEX).map((type) => {
|
17377
17289
|
const result = events.find((item) => item.event === type);
|
17378
17290
|
return result && result.event === type ? result.url : '';
|
17379
17291
|
});
|
17380
17292
|
}
|
17381
17293
|
spotEventArrayToObject(arr) {
|
17382
|
-
return Object.keys(
|
17294
|
+
return Object.keys(SPOT_EVENTS_ARRAY_INDEX).map((type) => ({
|
17383
17295
|
event: type,
|
17384
|
-
url: arr[
|
17296
|
+
url: arr[SPOT_EVENTS_ARRAY_INDEX[type]],
|
17385
17297
|
}));
|
17386
17298
|
}
|
17387
17299
|
/**
|
17388
17300
|
* Converts a spot object to an array.
|
17389
17301
|
*
|
17390
17302
|
* @param {ILocalStorageSpot} obj - The spot object to convert.
|
17391
|
-
* @return {
|
17303
|
+
* @return {SpotArrayType} An array representation of the spot object.
|
17392
17304
|
*/
|
17393
17305
|
spotObjectToArray(obj) {
|
17306
|
+
var _a, _b, _c;
|
17394
17307
|
return [
|
17395
17308
|
obj.placementId,
|
17396
17309
|
obj.spotId,
|
17397
17310
|
obj.spotType,
|
17398
17311
|
this.spotEventObjectToArray(obj.events),
|
17399
|
-
obj.firedEvents.map((event) => [event.productId, event.event]),
|
17312
|
+
(_b = (_a = obj.firedEvents) === null || _a === void 0 ? void 0 : _a.map((event) => [event.productId, event.event])) !== null && _b !== void 0 ? _b : [],
|
17400
17313
|
obj.productIds,
|
17401
|
-
obj.createdAt,
|
17314
|
+
(_c = obj.createdAt) !== null && _c !== void 0 ? _c : 0,
|
17402
17315
|
];
|
17403
17316
|
}
|
17404
17317
|
/**
|
17405
17318
|
* Converts an array representation of spot data into an object representation.
|
17406
17319
|
*
|
17407
|
-
* @param {
|
17320
|
+
* @param {SpotArrayType} arr - The array containing spot data.
|
17408
17321
|
* @return {ILocalStorageSpot} An object representation of the spot data.
|
17409
17322
|
*/
|
17410
17323
|
spotArrayToObject(arr) {
|
17411
17324
|
return {
|
17412
|
-
placementId: arr[
|
17413
|
-
spotId: arr[
|
17414
|
-
spotType: arr[
|
17415
|
-
events: this.spotEventArrayToObject(arr[
|
17416
|
-
firedEvents: arr[
|
17325
|
+
placementId: arr[ENUM_SPOT_ARRAY_INDEX.PLACEMENT_ID],
|
17326
|
+
spotId: arr[ENUM_SPOT_ARRAY_INDEX.SPOT_ID],
|
17327
|
+
spotType: arr[ENUM_SPOT_ARRAY_INDEX.SPOT_TYPE],
|
17328
|
+
events: this.spotEventArrayToObject(arr[ENUM_SPOT_ARRAY_INDEX.EVENTS]),
|
17329
|
+
firedEvents: arr[ENUM_SPOT_ARRAY_INDEX.FIRED_EVENTS].map((item) => ({
|
17417
17330
|
productId: item[0],
|
17418
17331
|
event: item[1],
|
17419
17332
|
})),
|
17420
|
-
productIds: arr[
|
17421
|
-
createdAt: arr[
|
17333
|
+
productIds: arr[ENUM_SPOT_ARRAY_INDEX.PRODUCT_IDS],
|
17334
|
+
createdAt: arr[ENUM_SPOT_ARRAY_INDEX.CREATED_AT],
|
17422
17335
|
};
|
17423
17336
|
}
|
17424
17337
|
/**
|
@@ -20715,12 +20628,17 @@ class DataLayerMonitor {
|
|
20715
20628
|
};
|
20716
20629
|
}
|
20717
20630
|
extractProductData(event) {
|
20718
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
20631
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
|
20719
20632
|
const items = ((_a = event === null || event === void 0 ? void 0 : event.value) === null || _a === void 0 ? void 0 : _a.items) ||
|
20720
20633
|
((_b = event === null || event === void 0 ? void 0 : event.ecommerce) === null || _b === void 0 ? void 0 : _b.items) ||
|
20721
|
-
((
|
20722
|
-
((
|
20723
|
-
((
|
20634
|
+
((_c = event === null || event === void 0 ? void 0 : event.ecommerce) === null || _c === void 0 ? void 0 : _c.products) ||
|
20635
|
+
((_e = (_d = event === null || event === void 0 ? void 0 : event.ecommerce) === null || _d === void 0 ? void 0 : _d.detail) === null || _e === void 0 ? void 0 : _e.products) ||
|
20636
|
+
((_g = (_f = event === null || event === void 0 ? void 0 : event.ecommerce) === null || _f === void 0 ? void 0 : _f.checkout) === null || _g === void 0 ? void 0 : _g.products) ||
|
20637
|
+
((_j = (_h = event === null || event === void 0 ? void 0 : event.ecommerce) === null || _h === void 0 ? void 0 : _h.purchase) === null || _j === void 0 ? void 0 : _j.products) ||
|
20638
|
+
((_l = (_k = event === null || event === void 0 ? void 0 : event.ecommerce) === null || _k === void 0 ? void 0 : _k.add) === null || _l === void 0 ? void 0 : _l.products) ||
|
20639
|
+
((_o = (_m = event === null || event === void 0 ? void 0 : event.ecommerce) === null || _m === void 0 ? void 0 : _m.remove) === null || _o === void 0 ? void 0 : _o.products) ||
|
20640
|
+
((_q = (_p = event === null || event === void 0 ? void 0 : event.ecommerce) === null || _p === void 0 ? void 0 : _p.click) === null || _q === void 0 ? void 0 : _q.products) ||
|
20641
|
+
(event === null || event === void 0 ? void 0 : event.products) ||
|
20724
20642
|
[];
|
20725
20643
|
return items.map((item) => {
|
20726
20644
|
const data = {
|
@@ -20766,6 +20684,7 @@ class MonitorService {
|
|
20766
20684
|
}
|
20767
20685
|
this.pubSubService = PubsubService.getInstance();
|
20768
20686
|
this.localStorageService = LocalStorageService.getInstance();
|
20687
|
+
this.normalizeStringHelper = NormalizeStringHelper.getInstance();
|
20769
20688
|
}
|
20770
20689
|
static getInstance() {
|
20771
20690
|
if (!MonitorService.instance) {
|
@@ -20783,7 +20702,7 @@ class MonitorService {
|
|
20783
20702
|
this.implementedMonitor.start();
|
20784
20703
|
}
|
20785
20704
|
async matchAndFireEvent(eventData, spots) {
|
20786
|
-
var _a;
|
20705
|
+
var _a, _b, _c, _d;
|
20787
20706
|
if (!spots)
|
20788
20707
|
return;
|
20789
20708
|
for (const spot of Object.values(spots)) {
|
@@ -20793,15 +20712,15 @@ class MonitorService {
|
|
20793
20712
|
if (!Object.values(exports.RMN_SPOT_EVENT).includes(eventData.event)) {
|
20794
20713
|
continue;
|
20795
20714
|
}
|
20796
|
-
const firedEvents = spot.firedEvents;
|
20797
|
-
const
|
20715
|
+
const firedEvents = spot.firedEvents || [];
|
20716
|
+
const eventProductId = (_a = this.normalizeStringHelper) === null || _a === void 0 ? void 0 : _a.normalize(String(data.id));
|
20798
20717
|
const isEventAlreadyFired = firedEvents.some((event) => event.productId === eventProductId && event.event === eventData.event);
|
20799
20718
|
if (isEventAlreadyFired) {
|
20800
20719
|
continue;
|
20801
20720
|
}
|
20802
|
-
const spotRelatedProductIdsSet = new Set(
|
20803
|
-
const
|
20804
|
-
const
|
20721
|
+
const spotRelatedProductIdsSet = new Set(spot.productIds.map((id) => { var _a; return (_a = this.normalizeStringHelper) === null || _a === void 0 ? void 0 : _a.normalize(String(id)); }));
|
20722
|
+
const eventProductBrand = (_b = this.normalizeStringHelper) === null || _b === void 0 ? void 0 : _b.normalize(String(data.brand));
|
20723
|
+
const eventVariantBrand = (_c = this.normalizeStringHelper) === null || _c === void 0 ? void 0 : _c.normalize(String(data.variant));
|
20805
20724
|
const isProductMatch = [eventProductId, eventProductBrand, eventVariantBrand].some((id) => spotRelatedProductIdsSet.has(id));
|
20806
20725
|
if (!isProductMatch) {
|
20807
20726
|
continue;
|
@@ -20812,9 +20731,12 @@ class MonitorService {
|
|
20812
20731
|
const eventUrl = spot.events[eventPosition].url;
|
20813
20732
|
let additionalQueryParams = '';
|
20814
20733
|
if (eventData.event === exports.RMN_SPOT_EVENT.PURCHASE) {
|
20815
|
-
const
|
20734
|
+
const conversionPrice = data.price && data.quantity ? data.price * data.quantity : undefined;
|
20816
20735
|
// gmv = gross merchandise value, it is calculated by multiplying the product price by the product quantity
|
20817
|
-
additionalQueryParams = objectToQueryParams({
|
20736
|
+
additionalQueryParams = objectToQueryParams({
|
20737
|
+
override: conversionPrice,
|
20738
|
+
gmv: conversionPrice,
|
20739
|
+
});
|
20818
20740
|
}
|
20819
20741
|
// Fire the event and publish it to the pubsub service
|
20820
20742
|
await this.fireAndPublishSpotEvent({
|
@@ -20829,7 +20751,7 @@ class MonitorService {
|
|
20829
20751
|
event: eventData.event,
|
20830
20752
|
});
|
20831
20753
|
// Update the spots in the local storage
|
20832
|
-
(
|
20754
|
+
(_d = this.localStorageService) === null || _d === void 0 ? void 0 : _d.setSpot(spot.spotId, {
|
20833
20755
|
placementId: spot.placementId,
|
20834
20756
|
spotId: spot.spotId,
|
20835
20757
|
spotType: spot.spotType,
|
@@ -20992,7 +20914,6 @@ class EventService {
|
|
20992
20914
|
spotType: spot.spot,
|
20993
20915
|
events: spot.events,
|
20994
20916
|
productIds: (_a = spot.productIds) !== null && _a !== void 0 ? _a : [],
|
20995
|
-
firedEvents: [],
|
20996
20917
|
});
|
20997
20918
|
}
|
20998
20919
|
async handleClickEvent({ placementId, spot }) {
|
@@ -21098,6 +21019,607 @@ class SelectionService extends BaseApi {
|
|
21098
21019
|
}
|
21099
21020
|
}
|
21100
21021
|
|
21022
|
+
const SPOT_EVENTS_EXAMPLE = [
|
21023
|
+
{
|
21024
|
+
event: exports.RMN_SPOT_EVENT.CLICK,
|
21025
|
+
url: 'https://dev.rmn.liquidcommerce.cloud/api/spots/event?e=eyJ2IjoiMS4xMiIsImF2IjozMDY1NzgzLCJhdCI6MTYzLCJidCI6MCwiY20iOjQ0MDE5MjQxOCwiY2giOjYzMTg0LCJjayI6e30sImNyIjo0ODE4NTUzNzUsImRpIjoiOWMxNGFhMGI3NWY4NDMxNTllMTAwYWQzNzA1NzQyYzMiLCJkaiI6MCwiaWkiOiIxZjU0MGM5NmQ1N2M0YmZjODFlZjRkNjhkMzFjNDVkOSIsImRtIjozLCJmYyI6NjU2NjgyNTQ5LCJmbCI6NjQzOTMxODIxLCJpcCI6IjM1LjIyMy4xOTguOTUiLCJudyI6MTE1MDAsInBjIjo1MDAwLCJvcCI6NTAwMCwibXAiOjUwMDAsImVjIjowLCJnbSI6MCwiZXAiOm51bGwsInByIjoyNDkzMTYsInJ0IjoxLCJycyI6NTAwLCJzYSI6IjU1Iiwic2IiOiJpLTA0MDI0ODg4ZDlkMWRjZWQ3Iiwic3AiOjI3MjI3Miwic3QiOjEyODcyOTYsInRyIjp0cnVlLCJ1ayI6IjNhZWRhMWMxLTZhYjItNDUwNy04Mzg5LTEwZTJmNDMxYjM5MSIsInRzIjoxNzI5MzU5MDU0OTI3LCJiZiI6dHJ1ZSwicG4iOiJyYlByb2R1Y3RVcGNzIiwiZ2MiOnRydWUsImdDIjp0cnVlLCJncyI6Im5vbmUiLCJkYyI6MSwidHoiOiJBbWVyaWNhL05ld19Zb3JrIiwidXIiOm51bGx9&s=hWz37kbxi_u95EVNn2aoQhc5Aas',
|
21026
|
+
},
|
21027
|
+
{
|
21028
|
+
event: exports.RMN_SPOT_EVENT.IMPRESSION,
|
21029
|
+
url: 'https://dev.rmn.liquidcommerce.cloud/api/spots/event?e=eyJ2IjoiMS4xMiIsImF2IjozMDY1NzgzLCJhdCI6MTYzLCJidCI6MCwiY20iOjQ0MDE5MjQxOCwiY2giOjYzMTg0LCJjayI6e30sImNyIjo0ODE4NTUzNzUsImRpIjoiOWMxNGFhMGI3NWY4NDMxNTllMTAwYWQzNzA1NzQyYzMiLCJkaiI6MCwiaWkiOiIxZjU0MGM5NmQ1N2M0YmZjODFlZjRkNjhkMzFjNDVkOSIsImRtIjozLCJmYyI6NjU2NjgyNTQ5LCJmbCI6NjQzOTMxODIxLCJpcCI6IjM1LjIyMy4xOTguOTUiLCJudyI6MTE1MDAsInBjIjo1MDAwLCJvcCI6NTAwMCwibXAiOjUwMDAsImVjIjowLCJnbSI6MCwiZXAiOm51bGwsInByIjoyNDkzMTYsInJ0IjoxLCJycyI6NTAwLCJzYSI6IjU1Iiwic2IiOiJpLTA0MDI0ODg4ZDlkMWRjZWQ3Iiwic3AiOjI3MjI3Miwic3QiOjEyODcyOTYsInRyIjp0cnVlLCJ1ayI6IjNhZWRhMWMxLTZhYjItNDUwNy04Mzg5LTEwZTJmNDMxYjM5MSIsInRzIjoxNzI5MzU5MDU0OTI3LCJiZiI6dHJ1ZSwicG4iOiJyYlByb2R1Y3RVcGNzIiwiZ2MiOnRydWUsImdDIjp0cnVlLCJncyI6Im5vbmUiLCJkYyI6MSwidHoiOiJBbWVyaWNhL05ld19Zb3JrIiwiYmEiOjEsImZxIjowfQ&s=djoysjCimurf-5T11AlNAwwLSS8',
|
21030
|
+
},
|
21031
|
+
{
|
21032
|
+
event: exports.RMN_SPOT_EVENT.PURCHASE,
|
21033
|
+
url: 'https://dev.rmn.liquidcommerce.cloud/api/spots/event?e=eyJ2IjoiMS4xMiIsImF2IjozMDY1NzgzLCJhdCI6MTYzLCJidCI6MCwiY20iOjQ0MDE5MjQxOCwiY2giOjYzMTg0LCJjayI6e30sImNyIjo0ODE4NTUzNzUsImRpIjoiOWMxNGFhMGI3NWY4NDMxNTllMTAwYWQzNzA1NzQyYzMiLCJkaiI6MCwiaWkiOiIxZjU0MGM5NmQ1N2M0YmZjODFlZjRkNjhkMzFjNDVkOSIsImRtIjozLCJmYyI6NjU2NjgyNTQ5LCJmbCI6NjQzOTMxODIxLCJpcCI6IjM1LjIyMy4xOTguOTUiLCJudyI6MTE1MDAsInBjIjo1MDAwLCJvcCI6NTAwMCwibXAiOjUwMDAsImVjIjowLCJnbSI6MCwiZXAiOm51bGwsInByIjoyNDkzMTYsInJ0IjoxLCJycyI6NTAwLCJzYSI6IjU1Iiwic2IiOiJpLTA0MDI0ODg4ZDlkMWRjZWQ3Iiwic3AiOjI3MjI3Miwic3QiOjEyODcyOTYsInRyIjp0cnVlLCJ1ayI6IjNhZWRhMWMxLTZhYjItNDUwNy04Mzg5LTEwZTJmNDMxYjM5MSIsInRzIjoxNzI5MzU5MDU0OTI3LCJiZiI6dHJ1ZSwicG4iOiJyYlByb2R1Y3RVcGNzIiwiZ2MiOnRydWUsImdDIjp0cnVlLCJncyI6Im5vbmUiLCJkYyI6MSwidHoiOiJBbWVyaWNhL05ld19Zb3JrIiwiZXQiOjU5fQ&s=AAPAw-3SfZ0JMzjEGFSwt9L-2S4',
|
21034
|
+
},
|
21035
|
+
{
|
21036
|
+
event: exports.RMN_SPOT_EVENT.ADD_TO_CART,
|
21037
|
+
url: 'https://dev.rmn.liquidcommerce.cloud/api/spots/event?e=eyJ2IjoiMS4xMiIsImF2IjozMDY1NzgzLCJhdCI6MTYzLCJidCI6MCwiY20iOjQ0MDE5MjQxOCwiY2giOjYzMTg0LCJjayI6e30sImNyIjo0ODE4NTUzNzUsImRpIjoiOWMxNGFhMGI3NWY4NDMxNTllMTAwYWQzNzA1NzQyYzMiLCJkaiI6MCwiaWkiOiIxZjU0MGM5NmQ1N2M0YmZjODFlZjRkNjhkMzFjNDVkOSIsImRtIjozLCJmYyI6NjU2NjgyNTQ5LCJmbCI6NjQzOTMxODIxLCJpcCI6IjM1LjIyMy4xOTguOTUiLCJudyI6MTE1MDAsInBjIjo1MDAwLCJvcCI6NTAwMCwibXAiOjUwMDAsImVjIjowLCJnbSI6MCwiZXAiOm51bGwsInByIjoyNDkzMTYsInJ0IjoxLCJycyI6NTAwLCJzYSI6IjU1Iiwic2IiOiJpLTA0MDI0ODg4ZDlkMWRjZWQ3Iiwic3AiOjI3MjI3Miwic3QiOjEyODcyOTYsInRyIjp0cnVlLCJ1ayI6IjNhZWRhMWMxLTZhYjItNDUwNy04Mzg5LTEwZTJmNDMxYjM5MSIsInRzIjoxNzI5MzU5MDU0OTI3LCJiZiI6dHJ1ZSwicG4iOiJyYlByb2R1Y3RVcGNzIiwiZ2MiOnRydWUsImdDIjp0cnVlLCJncyI6Im5vbmUiLCJkYyI6MSwidHoiOiJBbWVyaWNhL05ld19Zb3JrIiwiZXQiOjYwfQ&s=uzQFcjgL7m9XqUG8FvTPVN5YkZY',
|
21038
|
+
},
|
21039
|
+
{
|
21040
|
+
event: exports.RMN_SPOT_EVENT.ADD_TO_WISHLIST,
|
21041
|
+
url: 'https://dev.rmn.liquidcommerce.cloud/api/spots/event?e=eyJ2IjoiMS4xMiIsImF2IjozMDY1NzgzLCJhdCI6MTYzLCJidCI6MCwiY20iOjQ0MDE5MjQxOCwiY2giOjYzMTg0LCJjayI6e30sImNyIjo0ODE4NTUzNzUsImRpIjoiOWMxNGFhMGI3NWY4NDMxNTllMTAwYWQzNzA1NzQyYzMiLCJkaiI6MCwiaWkiOiIxZjU0MGM5NmQ1N2M0YmZjODFlZjRkNjhkMzFjNDVkOSIsImRtIjozLCJmYyI6NjU2NjgyNTQ5LCJmbCI6NjQzOTMxODIxLCJpcCI6IjM1LjIyMy4xOTguOTUiLCJudyI6MTE1MDAsInBjIjo1MDAwLCJvcCI6NTAwMCwibXAiOjUwMDAsImVjIjowLCJnbSI6MCwiZXAiOm51bGwsInByIjoyNDkzMTYsInJ0IjoxLCJycyI6NTAwLCJzYSI6IjU1Iiwic2IiOiJpLTA0MDI0ODg4ZDlkMWRjZWQ3Iiwic3AiOjI3MjI3Miwic3QiOjEyODcyOTYsInRyIjp0cnVlLCJ1ayI6IjNhZWRhMWMxLTZhYjItNDUwNy04Mzg5LTEwZTJmNDMxYjM5MSIsInRzIjoxNzI5MzU5MDU0OTI3LCJiZiI6dHJ1ZSwicG4iOiJyYlByb2R1Y3RVcGNzIiwiZ2MiOnRydWUsImdDIjp0cnVlLCJncyI6Im5vbmUiLCJkYyI6MSwidHoiOiJBbWVyaWNhL05ld19Zb3JrIiwiZXQiOjYzfQ&s=m3ISU_iIy-OFtXrTKpI6cJAEC0k',
|
21042
|
+
},
|
21043
|
+
{
|
21044
|
+
event: exports.RMN_SPOT_EVENT.BUY_NOW,
|
21045
|
+
url: 'https://dev.rmn.liquidcommerce.cloud/api/spots/event?e=eyJ2IjoiMS4xMiIsImF2IjozMDY1NzgzLCJhdCI6MTYzLCJidCI6MCwiY20iOjQ0MDE5MjQxOCwiY2giOjYzMTg0LCJjayI6e30sImNyIjo0ODE4NTUzNzUsImRpIjoiOWMxNGFhMGI3NWY4NDMxNTllMTAwYWQzNzA1NzQyYzMiLCJkaiI6MCwiaWkiOiIxZjU0MGM5NmQ1N2M0YmZjODFlZjRkNjhkMzFjNDVkOSIsImRtIjozLCJmYyI6NjU2NjgyNTQ5LCJmbCI6NjQzOTMxODIxLCJpcCI6IjM1LjIyMy4xOTguOTUiLCJudyI6MTE1MDAsInBjIjo1MDAwLCJvcCI6NTAwMCwibXAiOjUwMDAsImVjIjowLCJnbSI6MCwiZXAiOm51bGwsInByIjoyNDkzMTYsInJ0IjoxLCJycyI6NTAwLCJzYSI6IjU1Iiwic2IiOiJpLTA0MDI0ODg4ZDlkMWRjZWQ3Iiwic3AiOjI3MjI3Miwic3QiOjEyODcyOTYsInRyIjp0cnVlLCJ1ayI6IjNhZWRhMWMxLTZhYjItNDUwNy04Mzg5LTEwZTJmNDMxYjM5MSIsInRzIjoxNzI5MzU5MDU0OTI3LCJiZiI6dHJ1ZSwicG4iOiJyYlByb2R1Y3RVcGNzIiwiZ2MiOnRydWUsImdDIjp0cnVlLCJncyI6Im5vbmUiLCJkYyI6MSwidHoiOiJBbWVyaWNhL05ld19Zb3JrIiwiZXQiOjY5fQ&s=l6MOscQC-q-FkC2Ksd7w6jjySCQ',
|
21046
|
+
},
|
21047
|
+
];
|
21048
|
+
({
|
21049
|
+
rbHomepageHero: [
|
21050
|
+
{
|
21051
|
+
id: 'abc123',
|
21052
|
+
spot: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_FULL_IMAGE,
|
21053
|
+
variant: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_FULL_IMAGE,
|
21054
|
+
width: 1140,
|
21055
|
+
height: 640,
|
21056
|
+
header: 'Premium Wine Collection',
|
21057
|
+
description: 'Discover our exclusive selection of vintage wines',
|
21058
|
+
ctaText: 'Shop Wines',
|
21059
|
+
textColor: '#ffffff',
|
21060
|
+
ctaTextColor: '#ffffff',
|
21061
|
+
primaryImage: 'https://placehold.co/1140x640/png?text=Wine+Collection',
|
21062
|
+
mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Wine',
|
21063
|
+
events: SPOT_EVENTS_EXAMPLE,
|
21064
|
+
productIds: [1, 2, 3],
|
21065
|
+
},
|
21066
|
+
{
|
21067
|
+
id: 'jkl012',
|
21068
|
+
spot: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_TWO_TILE,
|
21069
|
+
variant: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_TWO_TILE,
|
21070
|
+
width: 1140,
|
21071
|
+
height: 640,
|
21072
|
+
header: 'Whiskey Collection',
|
21073
|
+
description: 'Premium whiskeys from around the world',
|
21074
|
+
ctaText: 'Shop Whiskeys',
|
21075
|
+
textColor: '#ffffff',
|
21076
|
+
backgroundColor: '#2c1810',
|
21077
|
+
ctaTextColor: '#2c1810',
|
21078
|
+
primaryImage: 'https://placehold.co/1140x640/png?text=Whiskey',
|
21079
|
+
mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Whiskey',
|
21080
|
+
events: SPOT_EVENTS_EXAMPLE,
|
21081
|
+
productIds: [10, 11],
|
21082
|
+
},
|
21083
|
+
{
|
21084
|
+
id: 'stu901',
|
21085
|
+
spot: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_THREE_TILE,
|
21086
|
+
variant: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_THREE_TILE,
|
21087
|
+
width: 1140,
|
21088
|
+
height: 640,
|
21089
|
+
header: 'Summer Cocktails',
|
21090
|
+
description: 'Essential spirits for summer mixing',
|
21091
|
+
ctaText: 'Mix It Up',
|
21092
|
+
textColor: '#ffffff',
|
21093
|
+
backgroundColor: '#4d3a0a',
|
21094
|
+
ctaTextColor: '#4d3a0a',
|
21095
|
+
primaryImage: 'https://placehold.co/1140x640/png?text=Cocktails',
|
21096
|
+
secondaryImage: 'https://placehold.co/1140x640/png?text=Mixers',
|
21097
|
+
mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Cocktails',
|
21098
|
+
mobileSecondaryImage: 'https://placehold.co/640x320/png?text=Mobile+Mixers',
|
21099
|
+
events: SPOT_EVENTS_EXAMPLE,
|
21100
|
+
productIds: [16, 17, 18],
|
21101
|
+
},
|
21102
|
+
{
|
21103
|
+
id: 'def456',
|
21104
|
+
spot: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_FULL_IMAGE,
|
21105
|
+
variant: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_FULL_IMAGE,
|
21106
|
+
width: 1140,
|
21107
|
+
height: 640,
|
21108
|
+
header: 'Craft Beer Festival',
|
21109
|
+
description: 'Local breweries and exclusive releases',
|
21110
|
+
ctaText: 'Explore Beers',
|
21111
|
+
textColor: '#ffffff',
|
21112
|
+
ctaTextColor: '#ffffff',
|
21113
|
+
primaryImage: 'https://placehold.co/1140x640/png?text=Beer+Festival',
|
21114
|
+
mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Beer',
|
21115
|
+
events: SPOT_EVENTS_EXAMPLE,
|
21116
|
+
productIds: [4, 5, 6],
|
21117
|
+
},
|
21118
|
+
{
|
21119
|
+
id: 'mno345',
|
21120
|
+
spot: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_TWO_TILE,
|
21121
|
+
variant: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_TWO_TILE,
|
21122
|
+
width: 1140,
|
21123
|
+
height: 640,
|
21124
|
+
header: 'Champagne Selection',
|
21125
|
+
description: 'Finest champagnes for every occasion',
|
21126
|
+
ctaText: 'View Champagnes',
|
21127
|
+
textColor: '#ffffff',
|
21128
|
+
backgroundColor: '#1a1a1a',
|
21129
|
+
ctaTextColor: '#1a1a1a',
|
21130
|
+
primaryImage: 'https://placehold.co/1140x640/png?text=Champagne',
|
21131
|
+
mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Champagne',
|
21132
|
+
events: SPOT_EVENTS_EXAMPLE,
|
21133
|
+
productIds: [12, 13],
|
21134
|
+
},
|
21135
|
+
{
|
21136
|
+
id: 'vwx234',
|
21137
|
+
spot: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_THREE_TILE,
|
21138
|
+
variant: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_THREE_TILE,
|
21139
|
+
width: 1140,
|
21140
|
+
height: 640,
|
21141
|
+
header: 'Wine Regions',
|
21142
|
+
description: 'Explore wines from top regions',
|
21143
|
+
ctaText: 'Tour Regions',
|
21144
|
+
textColor: '#ffffff',
|
21145
|
+
backgroundColor: '#4d0a0a',
|
21146
|
+
ctaTextColor: '#4d0a0a',
|
21147
|
+
primaryImage: 'https://placehold.co/1140x640/png?text=Wine+Regions',
|
21148
|
+
secondaryImage: 'https://placehold.co/1140x640/png?text=Vineyards',
|
21149
|
+
mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Regions',
|
21150
|
+
mobileSecondaryImage: 'https://placehold.co/640x320/png?text=Mobile+Vineyards',
|
21151
|
+
events: SPOT_EVENTS_EXAMPLE,
|
21152
|
+
productIds: [19, 20, 21],
|
21153
|
+
},
|
21154
|
+
{
|
21155
|
+
id: 'ghi789',
|
21156
|
+
spot: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_FULL_IMAGE,
|
21157
|
+
variant: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_FULL_IMAGE,
|
21158
|
+
width: 1140,
|
21159
|
+
height: 640,
|
21160
|
+
header: 'Rare Spirits',
|
21161
|
+
description: 'Limited edition spirits collection',
|
21162
|
+
ctaText: 'View Collection',
|
21163
|
+
textColor: '#ffffff',
|
21164
|
+
ctaTextColor: '#ffffff',
|
21165
|
+
primaryImage: 'https://placehold.co/1140x640/png?text=Rare+Spirits',
|
21166
|
+
mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Spirits',
|
21167
|
+
events: SPOT_EVENTS_EXAMPLE,
|
21168
|
+
productIds: [7, 8, 9],
|
21169
|
+
},
|
21170
|
+
{
|
21171
|
+
id: 'pqr678',
|
21172
|
+
spot: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_TWO_TILE,
|
21173
|
+
variant: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_TWO_TILE,
|
21174
|
+
width: 1140,
|
21175
|
+
height: 640,
|
21176
|
+
header: 'Gin Collection',
|
21177
|
+
description: 'Artisanal gins and botanicals',
|
21178
|
+
ctaText: 'Explore Gins',
|
21179
|
+
textColor: '#ffffff',
|
21180
|
+
backgroundColor: '#0a4d4d',
|
21181
|
+
ctaTextColor: '#0a4d4d',
|
21182
|
+
primaryImage: 'https://placehold.co/1140x640/png?text=Gin',
|
21183
|
+
mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Gin',
|
21184
|
+
events: SPOT_EVENTS_EXAMPLE,
|
21185
|
+
productIds: [14, 15],
|
21186
|
+
},
|
21187
|
+
{
|
21188
|
+
id: 'yz5678',
|
21189
|
+
spot: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_THREE_TILE,
|
21190
|
+
variant: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_THREE_TILE,
|
21191
|
+
width: 1140,
|
21192
|
+
height: 640,
|
21193
|
+
header: 'Tequila Collection',
|
21194
|
+
description: 'Premium tequilas and mezcals',
|
21195
|
+
ctaText: 'Shop Tequila',
|
21196
|
+
textColor: '#ffffff',
|
21197
|
+
backgroundColor: '#0a4d2b',
|
21198
|
+
ctaTextColor: '#0a4d2b',
|
21199
|
+
primaryImage: 'https://placehold.co/1140x640/png?text=Tequila',
|
21200
|
+
secondaryImage: 'https://placehold.co/1140x640/png?text=Mezcal',
|
21201
|
+
mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Tequila',
|
21202
|
+
mobileSecondaryImage: 'https://placehold.co/640x320/png?text=Mobile+Mezcal',
|
21203
|
+
events: SPOT_EVENTS_EXAMPLE,
|
21204
|
+
productIds: [22, 23, 24],
|
21205
|
+
},
|
21206
|
+
],
|
21207
|
+
rbHomepageHeroFullImage: [
|
21208
|
+
{
|
21209
|
+
id: 'hjk567',
|
21210
|
+
spot: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_FULL_IMAGE,
|
21211
|
+
variant: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_FULL_IMAGE,
|
21212
|
+
width: 1140,
|
21213
|
+
height: 640,
|
21214
|
+
header: 'Holiday Gift Guide',
|
21215
|
+
description: 'Perfect spirits for every occasion',
|
21216
|
+
ctaText: 'Shop Gifts',
|
21217
|
+
textColor: '#ffffff',
|
21218
|
+
ctaTextColor: '#ffffff',
|
21219
|
+
primaryImage: 'https://placehold.co/1140x640/png?text=Gift+Guide',
|
21220
|
+
mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Gifts',
|
21221
|
+
events: SPOT_EVENTS_EXAMPLE,
|
21222
|
+
productIds: [25, 26],
|
21223
|
+
},
|
21224
|
+
{
|
21225
|
+
id: 'qwe890',
|
21226
|
+
spot: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_FULL_IMAGE,
|
21227
|
+
variant: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_FULL_IMAGE,
|
21228
|
+
width: 1140,
|
21229
|
+
height: 640,
|
21230
|
+
header: 'Summer Wine Festival',
|
21231
|
+
description: 'Refreshing wines for summer',
|
21232
|
+
ctaText: 'Shop Festival',
|
21233
|
+
textColor: '#ffffff',
|
21234
|
+
ctaTextColor: '#ffffff',
|
21235
|
+
primaryImage: 'https://placehold.co/1140x640/png?text=Wine+Festival',
|
21236
|
+
mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Festival',
|
21237
|
+
events: SPOT_EVENTS_EXAMPLE,
|
21238
|
+
productIds: [27, 28],
|
21239
|
+
},
|
21240
|
+
],
|
21241
|
+
rbHomepageHeroTwoTile: [
|
21242
|
+
{
|
21243
|
+
id: 'iop987',
|
21244
|
+
spot: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_TWO_TILE,
|
21245
|
+
variant: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_TWO_TILE,
|
21246
|
+
width: 1140,
|
21247
|
+
height: 640,
|
21248
|
+
header: 'Bourbon Selection',
|
21249
|
+
description: "Kentucky's finest bourbons",
|
21250
|
+
ctaText: 'Shop Bourbon',
|
21251
|
+
textColor: '#ffffff',
|
21252
|
+
backgroundColor: '#2c1810',
|
21253
|
+
ctaTextColor: '#2c1810',
|
21254
|
+
primaryImage: 'https://placehold.co/1140x640/png?text=Bourbon',
|
21255
|
+
mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Bourbon',
|
21256
|
+
events: SPOT_EVENTS_EXAMPLE,
|
21257
|
+
productIds: [29, 30],
|
21258
|
+
},
|
21259
|
+
{
|
21260
|
+
id: 'lkj012',
|
21261
|
+
spot: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_TWO_TILE,
|
21262
|
+
variant: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_TWO_TILE,
|
21263
|
+
width: 1140,
|
21264
|
+
height: 640,
|
21265
|
+
header: 'Vodka Collection',
|
21266
|
+
description: 'Premium vodkas from around the world',
|
21267
|
+
ctaText: 'Shop Vodka',
|
21268
|
+
textColor: '#ffffff',
|
21269
|
+
backgroundColor: '#1a1a1a',
|
21270
|
+
ctaTextColor: '#1a1a1a',
|
21271
|
+
primaryImage: 'https://placehold.co/1140x640/png?text=Vodka',
|
21272
|
+
mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Vodka',
|
21273
|
+
events: SPOT_EVENTS_EXAMPLE,
|
21274
|
+
productIds: [31, 32],
|
21275
|
+
},
|
21276
|
+
],
|
21277
|
+
rbHomepageHeroThreeTile: [
|
21278
|
+
{
|
21279
|
+
id: 'bnm345',
|
21280
|
+
spot: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_THREE_TILE,
|
21281
|
+
variant: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_THREE_TILE,
|
21282
|
+
width: 1140,
|
21283
|
+
height: 640,
|
21284
|
+
header: 'Rum Collection',
|
21285
|
+
description: 'Caribbean and craft rums',
|
21286
|
+
ctaText: 'Shop Rum',
|
21287
|
+
textColor: '#ffffff',
|
21288
|
+
backgroundColor: '#4d3a0a',
|
21289
|
+
ctaTextColor: '#4d3a0a',
|
21290
|
+
primaryImage: 'https://placehold.co/1140x640/png?text=Rum',
|
21291
|
+
secondaryImage: 'https://placehold.co/1140x640/png?text=Craft+Rum',
|
21292
|
+
mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Rum',
|
21293
|
+
mobileSecondaryImage: 'https://placehold.co/640x320/png?text=Mobile+Craft',
|
21294
|
+
events: SPOT_EVENTS_EXAMPLE,
|
21295
|
+
productIds: [33, 34],
|
21296
|
+
},
|
21297
|
+
{
|
21298
|
+
id: 'fgh678',
|
21299
|
+
spot: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_THREE_TILE,
|
21300
|
+
variant: exports.RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_THREE_TILE,
|
21301
|
+
width: 1140,
|
21302
|
+
height: 640,
|
21303
|
+
header: 'Scotch Selection',
|
21304
|
+
description: 'Single malts and blends',
|
21305
|
+
ctaText: 'Shop Scotch',
|
21306
|
+
textColor: '#ffffff',
|
21307
|
+
backgroundColor: '#4d0a0a',
|
21308
|
+
ctaTextColor: '#4d0a0a',
|
21309
|
+
primaryImage: 'https://placehold.co/1140x640/png?text=Scotch',
|
21310
|
+
secondaryImage: 'https://placehold.co/1140x640/png?text=Single+Malts',
|
21311
|
+
mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Scotch',
|
21312
|
+
mobileSecondaryImage: 'https://placehold.co/640x320/png?text=Mobile+Malts',
|
21313
|
+
events: SPOT_EVENTS_EXAMPLE,
|
21314
|
+
productIds: [35, 36],
|
21315
|
+
},
|
21316
|
+
],
|
21317
|
+
rbLargeCategoryImageTout: [
|
21318
|
+
{
|
21319
|
+
id: 'cde567',
|
21320
|
+
spot: exports.RMN_SPOT_TYPE.RB_LARGE_CATEGORY_IMAGE_TOUT,
|
21321
|
+
variant: exports.RMN_SPOT_TYPE.RB_LARGE_CATEGORY_IMAGE_TOUT,
|
21322
|
+
width: 468,
|
21323
|
+
height: 410,
|
21324
|
+
header: 'Rare & Limited Edition',
|
21325
|
+
description: 'Discover our collection of hard-to-find and limited release spirits.',
|
21326
|
+
textColor: '#ffffff',
|
21327
|
+
ctaTextColor: '#ffffff',
|
21328
|
+
primaryImage: 'https://placehold.co/468x410/png?text=Rare+Spirits',
|
21329
|
+
mobilePrimaryImage: 'https://placehold.co/468x410/png?text=Mobile+Rare+Spirits',
|
21330
|
+
ctaText: 'Shop Rare Spirits',
|
21331
|
+
events: SPOT_EVENTS_EXAMPLE,
|
21332
|
+
productIds: [37, 38, 39, 40, 41],
|
21333
|
+
},
|
21334
|
+
{
|
21335
|
+
id: 'efg789',
|
21336
|
+
spot: exports.RMN_SPOT_TYPE.RB_LARGE_CATEGORY_IMAGE_TOUT,
|
21337
|
+
variant: exports.RMN_SPOT_TYPE.RB_LARGE_CATEGORY_IMAGE_TOUT,
|
21338
|
+
width: 468,
|
21339
|
+
height: 410,
|
21340
|
+
header: 'Vintage Champagnes',
|
21341
|
+
description: 'Explore our prestigious collection of aged champagnes.',
|
21342
|
+
textColor: '#ffffff',
|
21343
|
+
ctaTextColor: '#ffffff',
|
21344
|
+
primaryImage: 'https://placehold.co/468x410/png?text=Vintage+Champagne',
|
21345
|
+
mobilePrimaryImage: 'https://placehold.co/468x410/png?text=Mobile+Champagne',
|
21346
|
+
ctaText: 'View Collection',
|
21347
|
+
events: SPOT_EVENTS_EXAMPLE,
|
21348
|
+
productIds: [42, 43, 44, 45, 46],
|
21349
|
+
},
|
21350
|
+
{
|
21351
|
+
id: 'ghi012',
|
21352
|
+
spot: exports.RMN_SPOT_TYPE.RB_LARGE_CATEGORY_IMAGE_TOUT,
|
21353
|
+
variant: exports.RMN_SPOT_TYPE.RB_LARGE_CATEGORY_IMAGE_TOUT,
|
21354
|
+
width: 468,
|
21355
|
+
height: 410,
|
21356
|
+
header: 'Small Batch Bourbon',
|
21357
|
+
description: 'Hand-selected premium bourbon from craft distilleries.',
|
21358
|
+
textColor: '#ffffff',
|
21359
|
+
ctaTextColor: '#ffffff',
|
21360
|
+
primaryImage: 'https://placehold.co/468x410/png?text=Craft+Bourbon',
|
21361
|
+
mobilePrimaryImage: 'https://placehold.co/468x410/png?text=Mobile+Bourbon',
|
21362
|
+
ctaText: 'Explore Bourbon',
|
21363
|
+
events: SPOT_EVENTS_EXAMPLE,
|
21364
|
+
productIds: [47, 48, 49, 50, 51],
|
21365
|
+
},
|
21366
|
+
],
|
21367
|
+
rbSmallDiscoverTout: [
|
21368
|
+
{
|
21369
|
+
id: 'jkl345',
|
21370
|
+
spot: exports.RMN_SPOT_TYPE.RB_SMALL_DISCOVER_TOUT,
|
21371
|
+
variant: exports.RMN_SPOT_TYPE.RB_SMALL_DISCOVER_TOUT,
|
21372
|
+
width: 224,
|
21373
|
+
height: 378,
|
21374
|
+
header: 'Château Margaux 2015 Bordeaux',
|
21375
|
+
textColor: '#ffffff',
|
21376
|
+
primaryImage: 'https://placehold.co/224x378/png?text=Château+Margaux',
|
21377
|
+
mobilePrimaryImage: 'https://placehold.co/224x378/png?text=Mobile+Château+Margaux',
|
21378
|
+
events: SPOT_EVENTS_EXAMPLE,
|
21379
|
+
productIds: [52, 53, 54, 55, 56],
|
21380
|
+
},
|
21381
|
+
{
|
21382
|
+
id: 'lmn678',
|
21383
|
+
spot: exports.RMN_SPOT_TYPE.RB_SMALL_DISCOVER_TOUT,
|
21384
|
+
variant: exports.RMN_SPOT_TYPE.RB_SMALL_DISCOVER_TOUT,
|
21385
|
+
width: 224,
|
21386
|
+
height: 378,
|
21387
|
+
header: 'Macallan 25 Year',
|
21388
|
+
textColor: '#ffffff',
|
21389
|
+
primaryImage: 'https://placehold.co/224x378/png?text=Macallan+25',
|
21390
|
+
mobilePrimaryImage: 'https://placehold.co/224x378/png?text=Mobile+Macallan',
|
21391
|
+
events: SPOT_EVENTS_EXAMPLE,
|
21392
|
+
productIds: [57, 58, 59, 60, 61],
|
21393
|
+
},
|
21394
|
+
{
|
21395
|
+
id: 'nop901',
|
21396
|
+
spot: exports.RMN_SPOT_TYPE.RB_SMALL_DISCOVER_TOUT,
|
21397
|
+
variant: exports.RMN_SPOT_TYPE.RB_SMALL_DISCOVER_TOUT,
|
21398
|
+
width: 224,
|
21399
|
+
height: 378,
|
21400
|
+
header: 'Louis XIII Cognac',
|
21401
|
+
textColor: '#ffffff',
|
21402
|
+
primaryImage: 'https://placehold.co/224x378/png?text=Louis+XIII',
|
21403
|
+
mobilePrimaryImage: 'https://placehold.co/224x378/png?text=Mobile+Louis+XIII',
|
21404
|
+
events: SPOT_EVENTS_EXAMPLE,
|
21405
|
+
productIds: [62, 63, 64, 65, 66],
|
21406
|
+
},
|
21407
|
+
],
|
21408
|
+
rbSmallCategoryImageTout: [
|
21409
|
+
{
|
21410
|
+
id: 'qrs234',
|
21411
|
+
spot: exports.RMN_SPOT_TYPE.RB_SMALL_CATEGORY_IMAGE_TOUT,
|
21412
|
+
variant: exports.RMN_SPOT_TYPE.RB_SMALL_CATEGORY_IMAGE_TOUT,
|
21413
|
+
width: 224,
|
21414
|
+
height: 410,
|
21415
|
+
header: 'Japanese Sake',
|
21416
|
+
textColor: '#ffffff',
|
21417
|
+
primaryImage: 'https://placehold.co/224x410/png?text=Japanese+Sake',
|
21418
|
+
mobilePrimaryImage: 'https://placehold.co/224x410/png?text=Mobile+Japanese+Sake',
|
21419
|
+
events: SPOT_EVENTS_EXAMPLE,
|
21420
|
+
productIds: [67, 68, 69, 70, 71],
|
21421
|
+
},
|
21422
|
+
{
|
21423
|
+
id: 'stu567',
|
21424
|
+
spot: exports.RMN_SPOT_TYPE.RB_SMALL_CATEGORY_IMAGE_TOUT,
|
21425
|
+
variant: exports.RMN_SPOT_TYPE.RB_SMALL_CATEGORY_IMAGE_TOUT,
|
21426
|
+
width: 224,
|
21427
|
+
height: 410,
|
21428
|
+
header: 'Craft Vermouth',
|
21429
|
+
textColor: '#ffffff',
|
21430
|
+
primaryImage: 'https://placehold.co/224x410/png?text=Craft+Vermouth',
|
21431
|
+
mobilePrimaryImage: 'https://placehold.co/224x410/png?text=Mobile+Vermouth',
|
21432
|
+
events: SPOT_EVENTS_EXAMPLE,
|
21433
|
+
productIds: [72, 73, 74, 75, 76],
|
21434
|
+
},
|
21435
|
+
{
|
21436
|
+
id: 'vwx890',
|
21437
|
+
spot: exports.RMN_SPOT_TYPE.RB_SMALL_CATEGORY_IMAGE_TOUT,
|
21438
|
+
variant: exports.RMN_SPOT_TYPE.RB_SMALL_CATEGORY_IMAGE_TOUT,
|
21439
|
+
width: 224,
|
21440
|
+
height: 410,
|
21441
|
+
header: 'Premium Mezcal',
|
21442
|
+
textColor: '#ffffff',
|
21443
|
+
primaryImage: 'https://placehold.co/224x410/png?text=Premium+Mezcal',
|
21444
|
+
mobilePrimaryImage: 'https://placehold.co/224x410/png?text=Mobile+Mezcal',
|
21445
|
+
events: SPOT_EVENTS_EXAMPLE,
|
21446
|
+
productIds: [77, 78, 79, 80, 81],
|
21447
|
+
},
|
21448
|
+
],
|
21449
|
+
rbCollectionBannerWithoutTextBlock: [
|
21450
|
+
{
|
21451
|
+
id: 'yz1234',
|
21452
|
+
spot: exports.RMN_SPOT_TYPE.RB_COLLECTION_BANNER_WITHOUT_TEXT_BLOCK,
|
21453
|
+
variant: exports.RMN_SPOT_TYPE.RB_COLLECTION_BANNER_WITHOUT_TEXT_BLOCK,
|
21454
|
+
width: 887,
|
21455
|
+
height: 344,
|
21456
|
+
primaryImage: 'https://placehold.co/887x344/png?text=Summer+Cocktails',
|
21457
|
+
mobilePrimaryImage: 'https://placehold.co/887x344/png?text=Mobile+Summer+Cocktails',
|
21458
|
+
events: SPOT_EVENTS_EXAMPLE,
|
21459
|
+
productIds: [82, 83, 84, 85, 86],
|
21460
|
+
},
|
21461
|
+
{
|
21462
|
+
id: 'abc567',
|
21463
|
+
spot: exports.RMN_SPOT_TYPE.RB_COLLECTION_BANNER_WITHOUT_TEXT_BLOCK,
|
21464
|
+
variant: exports.RMN_SPOT_TYPE.RB_COLLECTION_BANNER_WITHOUT_TEXT_BLOCK,
|
21465
|
+
width: 887,
|
21466
|
+
height: 344,
|
21467
|
+
primaryImage: 'https://placehold.co/887x344/png?text=Holiday+Spirits',
|
21468
|
+
mobilePrimaryImage: 'https://placehold.co/887x344/png?text=Mobile+Holiday+Spirits',
|
21469
|
+
events: SPOT_EVENTS_EXAMPLE,
|
21470
|
+
productIds: [87, 88, 89, 90, 91],
|
21471
|
+
},
|
21472
|
+
{
|
21473
|
+
id: 'def901',
|
21474
|
+
spot: exports.RMN_SPOT_TYPE.RB_COLLECTION_BANNER_WITHOUT_TEXT_BLOCK,
|
21475
|
+
variant: exports.RMN_SPOT_TYPE.RB_COLLECTION_BANNER_WITHOUT_TEXT_BLOCK,
|
21476
|
+
width: 887,
|
21477
|
+
height: 344,
|
21478
|
+
primaryImage: 'https://placehold.co/887x344/png?text=Wine+Essentials',
|
21479
|
+
mobilePrimaryImage: 'https://placehold.co/887x344/png?text=Mobile+Wine+Essentials',
|
21480
|
+
events: SPOT_EVENTS_EXAMPLE,
|
21481
|
+
productIds: [92, 93, 94, 95, 96],
|
21482
|
+
},
|
21483
|
+
],
|
21484
|
+
rbNavigationBanner: [
|
21485
|
+
{
|
21486
|
+
id: 'ghi234',
|
21487
|
+
spot: exports.RMN_SPOT_TYPE.RB_NAVIGATION_BANNER,
|
21488
|
+
variant: exports.RMN_SPOT_TYPE.RB_NAVIGATION_BANNER,
|
21489
|
+
width: 440,
|
21490
|
+
height: 220,
|
21491
|
+
header: 'Explore Tequilas',
|
21492
|
+
textColor: '#ffffff',
|
21493
|
+
primaryImage: 'https://placehold.co/440x220/png?text=Tequila+Collection',
|
21494
|
+
mobilePrimaryImage: 'https://placehold.co/440x220/png?text=Mobile+Tequila+Collection',
|
21495
|
+
events: SPOT_EVENTS_EXAMPLE,
|
21496
|
+
productIds: [97, 98, 99, 100, 101],
|
21497
|
+
},
|
21498
|
+
{
|
21499
|
+
id: 'jkl678',
|
21500
|
+
spot: exports.RMN_SPOT_TYPE.RB_NAVIGATION_BANNER,
|
21501
|
+
variant: exports.RMN_SPOT_TYPE.RB_NAVIGATION_BANNER,
|
21502
|
+
width: 440,
|
21503
|
+
height: 220,
|
21504
|
+
header: 'Craft Gin Selection',
|
21505
|
+
textColor: '#ffffff',
|
21506
|
+
primaryImage: 'https://placehold.co/440x220/png?text=Gin+Selection',
|
21507
|
+
mobilePrimaryImage: 'https://placehold.co/440x220/png?text=Mobile+Gin+Selection',
|
21508
|
+
events: SPOT_EVENTS_EXAMPLE,
|
21509
|
+
productIds: [102, 103, 104, 105, 106],
|
21510
|
+
},
|
21511
|
+
{
|
21512
|
+
id: 'mno012',
|
21513
|
+
spot: exports.RMN_SPOT_TYPE.RB_NAVIGATION_BANNER,
|
21514
|
+
variant: exports.RMN_SPOT_TYPE.RB_NAVIGATION_BANNER,
|
21515
|
+
width: 440,
|
21516
|
+
height: 220,
|
21517
|
+
header: 'Premium Vodka',
|
21518
|
+
textColor: '#ffffff',
|
21519
|
+
primaryImage: 'https://placehold.co/440x220/png?text=Vodka+Premium',
|
21520
|
+
mobilePrimaryImage: 'https://placehold.co/440x220/png?text=Mobile+Vodka+Premium',
|
21521
|
+
events: SPOT_EVENTS_EXAMPLE,
|
21522
|
+
productIds: [107, 108, 109, 110, 111],
|
21523
|
+
},
|
21524
|
+
],
|
21525
|
+
rbInText: [
|
21526
|
+
{
|
21527
|
+
id: 'mxo259',
|
21528
|
+
spot: exports.RMN_SPOT_TYPE.RB_IN_TEXT,
|
21529
|
+
variant: exports.RMN_SPOT_TYPE.RB_IN_TEXT,
|
21530
|
+
width: 1,
|
21531
|
+
height: 1,
|
21532
|
+
header: 'Premium Vodka',
|
21533
|
+
textColor: '#ffffff',
|
21534
|
+
backgroundColor: '#000000',
|
21535
|
+
events: SPOT_EVENTS_EXAMPLE,
|
21536
|
+
productIds: [107, 108, 109, 110, 111],
|
21537
|
+
},
|
21538
|
+
],
|
21539
|
+
rbVideoPlayer: [
|
21540
|
+
{
|
21541
|
+
id: 'mxo259',
|
21542
|
+
spot: exports.RMN_SPOT_TYPE.RB_VIDEO_PLAYER,
|
21543
|
+
variant: exports.RMN_SPOT_TYPE.RB_VIDEO_PLAYER,
|
21544
|
+
width: 1280,
|
21545
|
+
height: 720,
|
21546
|
+
videoUrl: 'https://www.youtube.com/watch?v=9bZkp7q19f0',
|
21547
|
+
videoOverlayImage: 'https://placehold.co/1280x720/png?text=Video+Overlay',
|
21548
|
+
videoOverlayHeader: 'Watch Our Story',
|
21549
|
+
videoOverlayDescription: 'Discover the history of our distillery',
|
21550
|
+
videoControls: true,
|
21551
|
+
videoAutoPlay: true,
|
21552
|
+
videoMute: true,
|
21553
|
+
videoLoop: true,
|
21554
|
+
events: SPOT_EVENTS_EXAMPLE,
|
21555
|
+
productIds: [107, 108, 109, 110, 111],
|
21556
|
+
},
|
21557
|
+
],
|
21558
|
+
});
|
21559
|
+
({
|
21560
|
+
banner: [],
|
21561
|
+
billboard: [
|
21562
|
+
{
|
21563
|
+
id: 'kol567',
|
21564
|
+
spot: exports.RMN_SPOT_TYPE.BILLBOARD,
|
21565
|
+
variant: `${exports.RMN_SPOT_TYPE.BILLBOARD}V2`,
|
21566
|
+
width: 1140,
|
21567
|
+
height: 640,
|
21568
|
+
header: 'Holiday Gift Guide',
|
21569
|
+
description: 'Perfect spirits for every occasion',
|
21570
|
+
ctaText: 'Shop Gifts',
|
21571
|
+
textColor: '#ffffff',
|
21572
|
+
ctaTextColor: '#ffffff',
|
21573
|
+
primaryImage: 'https://placehold.co/1140x640/png?text=Gift+Guide',
|
21574
|
+
mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Gifts',
|
21575
|
+
events: SPOT_EVENTS_EXAMPLE,
|
21576
|
+
productIds: [25, 26],
|
21577
|
+
},
|
21578
|
+
{
|
21579
|
+
id: 'hpm390',
|
21580
|
+
spot: exports.RMN_SPOT_TYPE.BILLBOARD,
|
21581
|
+
variant: `${exports.RMN_SPOT_TYPE.BILLBOARD}V2`,
|
21582
|
+
width: 1140,
|
21583
|
+
height: 640,
|
21584
|
+
header: 'Summer Wine Festival',
|
21585
|
+
description: 'Refreshing wines for summer',
|
21586
|
+
ctaText: 'Shop Festival',
|
21587
|
+
textColor: '#ffffff',
|
21588
|
+
ctaTextColor: '#ffffff',
|
21589
|
+
primaryImage: 'https://placehold.co/1140x640/png?text=Wine+Festival',
|
21590
|
+
mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Festival',
|
21591
|
+
events: SPOT_EVENTS_EXAMPLE,
|
21592
|
+
productIds: [27, 28],
|
21593
|
+
},
|
21594
|
+
],
|
21595
|
+
button2: [],
|
21596
|
+
featurePhoneLargeBanner: [],
|
21597
|
+
featurePhoneMediumBanner: [],
|
21598
|
+
featurePhoneSmallBanner: [],
|
21599
|
+
halfPage: [],
|
21600
|
+
inText: [],
|
21601
|
+
largeLeaderboard: [],
|
21602
|
+
largeRectangle: [],
|
21603
|
+
leaderboard: [],
|
21604
|
+
mediumRectangle: [],
|
21605
|
+
microBar: [],
|
21606
|
+
mobilePhoneInterstitial1: [],
|
21607
|
+
mobilePhoneInterstitial2: [],
|
21608
|
+
mobilePhoneInterstitial3: [],
|
21609
|
+
popUp: [],
|
21610
|
+
portrait: [],
|
21611
|
+
rbProductUpcs: [],
|
21612
|
+
skyscraper: [],
|
21613
|
+
smallRectangle: [],
|
21614
|
+
smallSquare: [],
|
21615
|
+
smartphoneBanner1: [],
|
21616
|
+
smartphoneBanner2: [],
|
21617
|
+
square: [],
|
21618
|
+
verticalBanner: [],
|
21619
|
+
verticalRectangle: [],
|
21620
|
+
wideSkyscraper: [],
|
21621
|
+
});
|
21622
|
+
|
21101
21623
|
/**
|
21102
21624
|
* Checks if the current environment is a browser environment.
|
21103
21625
|
*
|