@liquidcommercedev/rmn-sdk 1.5.0-beta.31 → 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.esm.js CHANGED
@@ -6130,773 +6130,1161 @@ function getEventTypeFromRawEvent(event) {
6130
6130
  return null;
6131
6131
  }
6132
6132
 
6133
- const SPOT_EVENTS_EXAMPLE = [
6134
- {
6135
- event: RMN_SPOT_EVENT.CLICK,
6136
- url: 'https://dev.rmn.liquidcommerce.cloud/api/spots/event?e=eyJ2IjoiMS4xMiIsImF2IjozMDY1NzgzLCJhdCI6MTYzLCJidCI6MCwiY20iOjQ0MDE5MjQxOCwiY2giOjYzMTg0LCJjayI6e30sImNyIjo0ODE4NTUzNzUsImRpIjoiOWMxNGFhMGI3NWY4NDMxNTllMTAwYWQzNzA1NzQyYzMiLCJkaiI6MCwiaWkiOiIxZjU0MGM5NmQ1N2M0YmZjODFlZjRkNjhkMzFjNDVkOSIsImRtIjozLCJmYyI6NjU2NjgyNTQ5LCJmbCI6NjQzOTMxODIxLCJpcCI6IjM1LjIyMy4xOTguOTUiLCJudyI6MTE1MDAsInBjIjo1MDAwLCJvcCI6NTAwMCwibXAiOjUwMDAsImVjIjowLCJnbSI6MCwiZXAiOm51bGwsInByIjoyNDkzMTYsInJ0IjoxLCJycyI6NTAwLCJzYSI6IjU1Iiwic2IiOiJpLTA0MDI0ODg4ZDlkMWRjZWQ3Iiwic3AiOjI3MjI3Miwic3QiOjEyODcyOTYsInRyIjp0cnVlLCJ1ayI6IjNhZWRhMWMxLTZhYjItNDUwNy04Mzg5LTEwZTJmNDMxYjM5MSIsInRzIjoxNzI5MzU5MDU0OTI3LCJiZiI6dHJ1ZSwicG4iOiJyYlByb2R1Y3RVcGNzIiwiZ2MiOnRydWUsImdDIjp0cnVlLCJncyI6Im5vbmUiLCJkYyI6MSwidHoiOiJBbWVyaWNhL05ld19Zb3JrIiwidXIiOm51bGx9&s=hWz37kbxi_u95EVNn2aoQhc5Aas',
6137
- },
6138
- {
6139
- event: RMN_SPOT_EVENT.IMPRESSION,
6140
- url: 'https://dev.rmn.liquidcommerce.cloud/api/spots/event?e=eyJ2IjoiMS4xMiIsImF2IjozMDY1NzgzLCJhdCI6MTYzLCJidCI6MCwiY20iOjQ0MDE5MjQxOCwiY2giOjYzMTg0LCJjayI6e30sImNyIjo0ODE4NTUzNzUsImRpIjoiOWMxNGFhMGI3NWY4NDMxNTllMTAwYWQzNzA1NzQyYzMiLCJkaiI6MCwiaWkiOiIxZjU0MGM5NmQ1N2M0YmZjODFlZjRkNjhkMzFjNDVkOSIsImRtIjozLCJmYyI6NjU2NjgyNTQ5LCJmbCI6NjQzOTMxODIxLCJpcCI6IjM1LjIyMy4xOTguOTUiLCJudyI6MTE1MDAsInBjIjo1MDAwLCJvcCI6NTAwMCwibXAiOjUwMDAsImVjIjowLCJnbSI6MCwiZXAiOm51bGwsInByIjoyNDkzMTYsInJ0IjoxLCJycyI6NTAwLCJzYSI6IjU1Iiwic2IiOiJpLTA0MDI0ODg4ZDlkMWRjZWQ3Iiwic3AiOjI3MjI3Miwic3QiOjEyODcyOTYsInRyIjp0cnVlLCJ1ayI6IjNhZWRhMWMxLTZhYjItNDUwNy04Mzg5LTEwZTJmNDMxYjM5MSIsInRzIjoxNzI5MzU5MDU0OTI3LCJiZiI6dHJ1ZSwicG4iOiJyYlByb2R1Y3RVcGNzIiwiZ2MiOnRydWUsImdDIjp0cnVlLCJncyI6Im5vbmUiLCJkYyI6MSwidHoiOiJBbWVyaWNhL05ld19Zb3JrIiwiYmEiOjEsImZxIjowfQ&s=djoysjCimurf-5T11AlNAwwLSS8',
6141
- },
6142
- {
6143
- event: RMN_SPOT_EVENT.PURCHASE,
6144
- url: 'https://dev.rmn.liquidcommerce.cloud/api/spots/event?e=eyJ2IjoiMS4xMiIsImF2IjozMDY1NzgzLCJhdCI6MTYzLCJidCI6MCwiY20iOjQ0MDE5MjQxOCwiY2giOjYzMTg0LCJjayI6e30sImNyIjo0ODE4NTUzNzUsImRpIjoiOWMxNGFhMGI3NWY4NDMxNTllMTAwYWQzNzA1NzQyYzMiLCJkaiI6MCwiaWkiOiIxZjU0MGM5NmQ1N2M0YmZjODFlZjRkNjhkMzFjNDVkOSIsImRtIjozLCJmYyI6NjU2NjgyNTQ5LCJmbCI6NjQzOTMxODIxLCJpcCI6IjM1LjIyMy4xOTguOTUiLCJudyI6MTE1MDAsInBjIjo1MDAwLCJvcCI6NTAwMCwibXAiOjUwMDAsImVjIjowLCJnbSI6MCwiZXAiOm51bGwsInByIjoyNDkzMTYsInJ0IjoxLCJycyI6NTAwLCJzYSI6IjU1Iiwic2IiOiJpLTA0MDI0ODg4ZDlkMWRjZWQ3Iiwic3AiOjI3MjI3Miwic3QiOjEyODcyOTYsInRyIjp0cnVlLCJ1ayI6IjNhZWRhMWMxLTZhYjItNDUwNy04Mzg5LTEwZTJmNDMxYjM5MSIsInRzIjoxNzI5MzU5MDU0OTI3LCJiZiI6dHJ1ZSwicG4iOiJyYlByb2R1Y3RVcGNzIiwiZ2MiOnRydWUsImdDIjp0cnVlLCJncyI6Im5vbmUiLCJkYyI6MSwidHoiOiJBbWVyaWNhL05ld19Zb3JrIiwiZXQiOjU5fQ&s=AAPAw-3SfZ0JMzjEGFSwt9L-2S4',
6145
- },
6146
- {
6147
- event: RMN_SPOT_EVENT.ADD_TO_CART,
6148
- url: 'https://dev.rmn.liquidcommerce.cloud/api/spots/event?e=eyJ2IjoiMS4xMiIsImF2IjozMDY1NzgzLCJhdCI6MTYzLCJidCI6MCwiY20iOjQ0MDE5MjQxOCwiY2giOjYzMTg0LCJjayI6e30sImNyIjo0ODE4NTUzNzUsImRpIjoiOWMxNGFhMGI3NWY4NDMxNTllMTAwYWQzNzA1NzQyYzMiLCJkaiI6MCwiaWkiOiIxZjU0MGM5NmQ1N2M0YmZjODFlZjRkNjhkMzFjNDVkOSIsImRtIjozLCJmYyI6NjU2NjgyNTQ5LCJmbCI6NjQzOTMxODIxLCJpcCI6IjM1LjIyMy4xOTguOTUiLCJudyI6MTE1MDAsInBjIjo1MDAwLCJvcCI6NTAwMCwibXAiOjUwMDAsImVjIjowLCJnbSI6MCwiZXAiOm51bGwsInByIjoyNDkzMTYsInJ0IjoxLCJycyI6NTAwLCJzYSI6IjU1Iiwic2IiOiJpLTA0MDI0ODg4ZDlkMWRjZWQ3Iiwic3AiOjI3MjI3Miwic3QiOjEyODcyOTYsInRyIjp0cnVlLCJ1ayI6IjNhZWRhMWMxLTZhYjItNDUwNy04Mzg5LTEwZTJmNDMxYjM5MSIsInRzIjoxNzI5MzU5MDU0OTI3LCJiZiI6dHJ1ZSwicG4iOiJyYlByb2R1Y3RVcGNzIiwiZ2MiOnRydWUsImdDIjp0cnVlLCJncyI6Im5vbmUiLCJkYyI6MSwidHoiOiJBbWVyaWNhL05ld19Zb3JrIiwiZXQiOjYwfQ&s=uzQFcjgL7m9XqUG8FvTPVN5YkZY',
6149
- },
6150
- {
6151
- event: RMN_SPOT_EVENT.ADD_TO_WISHLIST,
6152
- url: 'https://dev.rmn.liquidcommerce.cloud/api/spots/event?e=eyJ2IjoiMS4xMiIsImF2IjozMDY1NzgzLCJhdCI6MTYzLCJidCI6MCwiY20iOjQ0MDE5MjQxOCwiY2giOjYzMTg0LCJjayI6e30sImNyIjo0ODE4NTUzNzUsImRpIjoiOWMxNGFhMGI3NWY4NDMxNTllMTAwYWQzNzA1NzQyYzMiLCJkaiI6MCwiaWkiOiIxZjU0MGM5NmQ1N2M0YmZjODFlZjRkNjhkMzFjNDVkOSIsImRtIjozLCJmYyI6NjU2NjgyNTQ5LCJmbCI6NjQzOTMxODIxLCJpcCI6IjM1LjIyMy4xOTguOTUiLCJudyI6MTE1MDAsInBjIjo1MDAwLCJvcCI6NTAwMCwibXAiOjUwMDAsImVjIjowLCJnbSI6MCwiZXAiOm51bGwsInByIjoyNDkzMTYsInJ0IjoxLCJycyI6NTAwLCJzYSI6IjU1Iiwic2IiOiJpLTA0MDI0ODg4ZDlkMWRjZWQ3Iiwic3AiOjI3MjI3Miwic3QiOjEyODcyOTYsInRyIjp0cnVlLCJ1ayI6IjNhZWRhMWMxLTZhYjItNDUwNy04Mzg5LTEwZTJmNDMxYjM5MSIsInRzIjoxNzI5MzU5MDU0OTI3LCJiZiI6dHJ1ZSwicG4iOiJyYlByb2R1Y3RVcGNzIiwiZ2MiOnRydWUsImdDIjp0cnVlLCJncyI6Im5vbmUiLCJkYyI6MSwidHoiOiJBbWVyaWNhL05ld19Zb3JrIiwiZXQiOjYzfQ&s=m3ISU_iIy-OFtXrTKpI6cJAEC0k',
6153
- },
6154
- {
6155
- event: RMN_SPOT_EVENT.BUY_NOW,
6156
- url: 'https://dev.rmn.liquidcommerce.cloud/api/spots/event?e=eyJ2IjoiMS4xMiIsImF2IjozMDY1NzgzLCJhdCI6MTYzLCJidCI6MCwiY20iOjQ0MDE5MjQxOCwiY2giOjYzMTg0LCJjayI6e30sImNyIjo0ODE4NTUzNzUsImRpIjoiOWMxNGFhMGI3NWY4NDMxNTllMTAwYWQzNzA1NzQyYzMiLCJkaiI6MCwiaWkiOiIxZjU0MGM5NmQ1N2M0YmZjODFlZjRkNjhkMzFjNDVkOSIsImRtIjozLCJmYyI6NjU2NjgyNTQ5LCJmbCI6NjQzOTMxODIxLCJpcCI6IjM1LjIyMy4xOTguOTUiLCJudyI6MTE1MDAsInBjIjo1MDAwLCJvcCI6NTAwMCwibXAiOjUwMDAsImVjIjowLCJnbSI6MCwiZXAiOm51bGwsInByIjoyNDkzMTYsInJ0IjoxLCJycyI6NTAwLCJzYSI6IjU1Iiwic2IiOiJpLTA0MDI0ODg4ZDlkMWRjZWQ3Iiwic3AiOjI3MjI3Miwic3QiOjEyODcyOTYsInRyIjp0cnVlLCJ1ayI6IjNhZWRhMWMxLTZhYjItNDUwNy04Mzg5LTEwZTJmNDMxYjM5MSIsInRzIjoxNzI5MzU5MDU0OTI3LCJiZiI6dHJ1ZSwicG4iOiJyYlByb2R1Y3RVcGNzIiwiZ2MiOnRydWUsImdDIjp0cnVlLCJncyI6Im5vbmUiLCJkYyI6MSwidHoiOiJBbWVyaWNhL05ld19Zb3JrIiwiZXQiOjY5fQ&s=l6MOscQC-q-FkC2Ksd7w6jjySCQ',
6157
- },
6158
- ];
6159
- ({
6160
- rbHomepageHero: [
6161
- {
6162
- id: 'abc123',
6163
- spot: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_FULL_IMAGE,
6164
- variant: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_FULL_IMAGE,
6165
- width: 1140,
6166
- height: 640,
6167
- header: 'Premium Wine Collection',
6168
- description: 'Discover our exclusive selection of vintage wines',
6169
- ctaText: 'Shop Wines',
6170
- textColor: '#ffffff',
6171
- ctaTextColor: '#ffffff',
6172
- primaryImage: 'https://placehold.co/1140x640/png?text=Wine+Collection',
6173
- mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Wine',
6174
- events: SPOT_EVENTS_EXAMPLE,
6175
- productIds: [1, 2, 3],
6176
- },
6177
- {
6178
- id: 'jkl012',
6179
- spot: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_TWO_TILE,
6180
- variant: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_TWO_TILE,
6181
- width: 1140,
6182
- height: 640,
6183
- header: 'Whiskey Collection',
6184
- description: 'Premium whiskeys from around the world',
6185
- ctaText: 'Shop Whiskeys',
6186
- textColor: '#ffffff',
6187
- backgroundColor: '#2c1810',
6188
- ctaTextColor: '#2c1810',
6189
- primaryImage: 'https://placehold.co/1140x640/png?text=Whiskey',
6190
- mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Whiskey',
6191
- events: SPOT_EVENTS_EXAMPLE,
6192
- productIds: [10, 11],
6193
- },
6194
- {
6195
- id: 'stu901',
6196
- spot: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_THREE_TILE,
6197
- variant: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_THREE_TILE,
6198
- width: 1140,
6199
- height: 640,
6200
- header: 'Summer Cocktails',
6201
- description: 'Essential spirits for summer mixing',
6202
- ctaText: 'Mix It Up',
6203
- textColor: '#ffffff',
6204
- backgroundColor: '#4d3a0a',
6205
- ctaTextColor: '#4d3a0a',
6206
- primaryImage: 'https://placehold.co/1140x640/png?text=Cocktails',
6207
- secondaryImage: 'https://placehold.co/1140x640/png?text=Mixers',
6208
- mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Cocktails',
6209
- mobileSecondaryImage: 'https://placehold.co/640x320/png?text=Mobile+Mixers',
6210
- events: SPOT_EVENTS_EXAMPLE,
6211
- productIds: [16, 17, 18],
6212
- },
6213
- {
6214
- id: 'def456',
6215
- spot: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_FULL_IMAGE,
6216
- variant: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_FULL_IMAGE,
6217
- width: 1140,
6218
- height: 640,
6219
- header: 'Craft Beer Festival',
6220
- description: 'Local breweries and exclusive releases',
6221
- ctaText: 'Explore Beers',
6222
- textColor: '#ffffff',
6223
- ctaTextColor: '#ffffff',
6224
- primaryImage: 'https://placehold.co/1140x640/png?text=Beer+Festival',
6225
- mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Beer',
6226
- events: SPOT_EVENTS_EXAMPLE,
6227
- productIds: [4, 5, 6],
6228
- },
6229
- {
6230
- id: 'mno345',
6231
- spot: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_TWO_TILE,
6232
- variant: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_TWO_TILE,
6233
- width: 1140,
6234
- height: 640,
6235
- header: 'Champagne Selection',
6236
- description: 'Finest champagnes for every occasion',
6237
- ctaText: 'View Champagnes',
6238
- textColor: '#ffffff',
6239
- backgroundColor: '#1a1a1a',
6240
- ctaTextColor: '#1a1a1a',
6241
- primaryImage: 'https://placehold.co/1140x640/png?text=Champagne',
6242
- mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Champagne',
6243
- events: SPOT_EVENTS_EXAMPLE,
6244
- productIds: [12, 13],
6245
- },
6246
- {
6247
- id: 'vwx234',
6248
- spot: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_THREE_TILE,
6249
- variant: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_THREE_TILE,
6250
- width: 1140,
6251
- height: 640,
6252
- header: 'Wine Regions',
6253
- description: 'Explore wines from top regions',
6254
- ctaText: 'Tour Regions',
6255
- textColor: '#ffffff',
6256
- backgroundColor: '#4d0a0a',
6257
- ctaTextColor: '#4d0a0a',
6258
- primaryImage: 'https://placehold.co/1140x640/png?text=Wine+Regions',
6259
- secondaryImage: 'https://placehold.co/1140x640/png?text=Vineyards',
6260
- mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Regions',
6261
- mobileSecondaryImage: 'https://placehold.co/640x320/png?text=Mobile+Vineyards',
6262
- events: SPOT_EVENTS_EXAMPLE,
6263
- productIds: [19, 20, 21],
6264
- },
6265
- {
6266
- id: 'ghi789',
6267
- spot: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_FULL_IMAGE,
6268
- variant: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_FULL_IMAGE,
6269
- width: 1140,
6270
- height: 640,
6271
- header: 'Rare Spirits',
6272
- description: 'Limited edition spirits collection',
6273
- ctaText: 'View Collection',
6274
- textColor: '#ffffff',
6275
- ctaTextColor: '#ffffff',
6276
- primaryImage: 'https://placehold.co/1140x640/png?text=Rare+Spirits',
6277
- mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Spirits',
6278
- events: SPOT_EVENTS_EXAMPLE,
6279
- productIds: [7, 8, 9],
6280
- },
6281
- {
6282
- id: 'pqr678',
6283
- spot: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_TWO_TILE,
6284
- variant: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_TWO_TILE,
6285
- width: 1140,
6286
- height: 640,
6287
- header: 'Gin Collection',
6288
- description: 'Artisanal gins and botanicals',
6289
- ctaText: 'Explore Gins',
6290
- textColor: '#ffffff',
6291
- backgroundColor: '#0a4d4d',
6292
- ctaTextColor: '#0a4d4d',
6293
- primaryImage: 'https://placehold.co/1140x640/png?text=Gin',
6294
- mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Gin',
6295
- events: SPOT_EVENTS_EXAMPLE,
6296
- productIds: [14, 15],
6297
- },
6298
- {
6299
- id: 'yz5678',
6300
- spot: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_THREE_TILE,
6301
- variant: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_THREE_TILE,
6302
- width: 1140,
6303
- height: 640,
6304
- header: 'Tequila Collection',
6305
- description: 'Premium tequilas and mezcals',
6306
- ctaText: 'Shop Tequila',
6307
- textColor: '#ffffff',
6308
- backgroundColor: '#0a4d2b',
6309
- ctaTextColor: '#0a4d2b',
6310
- primaryImage: 'https://placehold.co/1140x640/png?text=Tequila',
6311
- secondaryImage: 'https://placehold.co/1140x640/png?text=Mezcal',
6312
- mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Tequila',
6313
- mobileSecondaryImage: 'https://placehold.co/640x320/png?text=Mobile+Mezcal',
6314
- events: SPOT_EVENTS_EXAMPLE,
6315
- productIds: [22, 23, 24],
6316
- },
6317
- ],
6318
- rbHomepageHeroFullImage: [
6319
- {
6320
- id: 'hjk567',
6321
- spot: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_FULL_IMAGE,
6322
- variant: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_FULL_IMAGE,
6323
- width: 1140,
6324
- height: 640,
6325
- header: 'Holiday Gift Guide',
6326
- description: 'Perfect spirits for every occasion',
6327
- ctaText: 'Shop Gifts',
6328
- textColor: '#ffffff',
6329
- ctaTextColor: '#ffffff',
6330
- primaryImage: 'https://placehold.co/1140x640/png?text=Gift+Guide',
6331
- mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Gifts',
6332
- events: SPOT_EVENTS_EXAMPLE,
6333
- productIds: [25, 26],
6334
- },
6335
- {
6336
- id: 'qwe890',
6337
- spot: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_FULL_IMAGE,
6338
- variant: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_FULL_IMAGE,
6339
- width: 1140,
6340
- height: 640,
6341
- header: 'Summer Wine Festival',
6342
- description: 'Refreshing wines for summer',
6343
- ctaText: 'Shop Festival',
6344
- textColor: '#ffffff',
6345
- ctaTextColor: '#ffffff',
6346
- primaryImage: 'https://placehold.co/1140x640/png?text=Wine+Festival',
6347
- mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Festival',
6348
- events: SPOT_EVENTS_EXAMPLE,
6349
- productIds: [27, 28],
6350
- },
6351
- ],
6352
- rbHomepageHeroTwoTile: [
6353
- {
6354
- id: 'iop987',
6355
- spot: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_TWO_TILE,
6356
- variant: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_TWO_TILE,
6357
- width: 1140,
6358
- height: 640,
6359
- header: 'Bourbon Selection',
6360
- description: "Kentucky's finest bourbons",
6361
- ctaText: 'Shop Bourbon',
6362
- textColor: '#ffffff',
6363
- backgroundColor: '#2c1810',
6364
- ctaTextColor: '#2c1810',
6365
- primaryImage: 'https://placehold.co/1140x640/png?text=Bourbon',
6366
- mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Bourbon',
6367
- events: SPOT_EVENTS_EXAMPLE,
6368
- productIds: [29, 30],
6369
- },
6370
- {
6371
- id: 'lkj012',
6372
- spot: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_TWO_TILE,
6373
- variant: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_TWO_TILE,
6374
- width: 1140,
6375
- height: 640,
6376
- header: 'Vodka Collection',
6377
- description: 'Premium vodkas from around the world',
6378
- ctaText: 'Shop Vodka',
6379
- textColor: '#ffffff',
6380
- backgroundColor: '#1a1a1a',
6381
- ctaTextColor: '#1a1a1a',
6382
- primaryImage: 'https://placehold.co/1140x640/png?text=Vodka',
6383
- mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Vodka',
6384
- events: SPOT_EVENTS_EXAMPLE,
6385
- productIds: [31, 32],
6386
- },
6387
- ],
6388
- rbHomepageHeroThreeTile: [
6389
- {
6390
- id: 'bnm345',
6391
- spot: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_THREE_TILE,
6392
- variant: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_THREE_TILE,
6393
- width: 1140,
6394
- height: 640,
6395
- header: 'Rum Collection',
6396
- description: 'Caribbean and craft rums',
6397
- ctaText: 'Shop Rum',
6398
- textColor: '#ffffff',
6399
- backgroundColor: '#4d3a0a',
6400
- ctaTextColor: '#4d3a0a',
6401
- primaryImage: 'https://placehold.co/1140x640/png?text=Rum',
6402
- secondaryImage: 'https://placehold.co/1140x640/png?text=Craft+Rum',
6403
- mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Rum',
6404
- mobileSecondaryImage: 'https://placehold.co/640x320/png?text=Mobile+Craft',
6405
- events: SPOT_EVENTS_EXAMPLE,
6406
- productIds: [33, 34],
6407
- },
6408
- {
6409
- id: 'fgh678',
6410
- spot: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_THREE_TILE,
6411
- variant: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_THREE_TILE,
6412
- width: 1140,
6413
- height: 640,
6414
- header: 'Scotch Selection',
6415
- description: 'Single malts and blends',
6416
- ctaText: 'Shop Scotch',
6417
- textColor: '#ffffff',
6418
- backgroundColor: '#4d0a0a',
6419
- ctaTextColor: '#4d0a0a',
6420
- primaryImage: 'https://placehold.co/1140x640/png?text=Scotch',
6421
- secondaryImage: 'https://placehold.co/1140x640/png?text=Single+Malts',
6422
- mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Scotch',
6423
- mobileSecondaryImage: 'https://placehold.co/640x320/png?text=Mobile+Malts',
6424
- events: SPOT_EVENTS_EXAMPLE,
6425
- productIds: [35, 36],
6426
- },
6427
- ],
6428
- rbLargeCategoryImageTout: [
6429
- {
6430
- id: 'cde567',
6431
- spot: RMN_SPOT_TYPE.RB_LARGE_CATEGORY_IMAGE_TOUT,
6432
- variant: RMN_SPOT_TYPE.RB_LARGE_CATEGORY_IMAGE_TOUT,
6433
- width: 468,
6434
- height: 410,
6435
- header: 'Rare & Limited Edition',
6436
- description: 'Discover our collection of hard-to-find and limited release spirits.',
6437
- textColor: '#ffffff',
6438
- ctaTextColor: '#ffffff',
6439
- primaryImage: 'https://placehold.co/468x410/png?text=Rare+Spirits',
6440
- mobilePrimaryImage: 'https://placehold.co/468x410/png?text=Mobile+Rare+Spirits',
6441
- ctaText: 'Shop Rare Spirits',
6442
- events: SPOT_EVENTS_EXAMPLE,
6443
- productIds: [37, 38, 39, 40, 41],
6444
- },
6445
- {
6446
- id: 'efg789',
6447
- spot: RMN_SPOT_TYPE.RB_LARGE_CATEGORY_IMAGE_TOUT,
6448
- variant: RMN_SPOT_TYPE.RB_LARGE_CATEGORY_IMAGE_TOUT,
6449
- width: 468,
6450
- height: 410,
6451
- header: 'Vintage Champagnes',
6452
- description: 'Explore our prestigious collection of aged champagnes.',
6453
- textColor: '#ffffff',
6454
- ctaTextColor: '#ffffff',
6455
- primaryImage: 'https://placehold.co/468x410/png?text=Vintage+Champagne',
6456
- mobilePrimaryImage: 'https://placehold.co/468x410/png?text=Mobile+Champagne',
6457
- ctaText: 'View Collection',
6458
- events: SPOT_EVENTS_EXAMPLE,
6459
- productIds: [42, 43, 44, 45, 46],
6460
- },
6461
- {
6462
- id: 'ghi012',
6463
- spot: RMN_SPOT_TYPE.RB_LARGE_CATEGORY_IMAGE_TOUT,
6464
- variant: RMN_SPOT_TYPE.RB_LARGE_CATEGORY_IMAGE_TOUT,
6465
- width: 468,
6466
- height: 410,
6467
- header: 'Small Batch Bourbon',
6468
- description: 'Hand-selected premium bourbon from craft distilleries.',
6469
- textColor: '#ffffff',
6470
- ctaTextColor: '#ffffff',
6471
- primaryImage: 'https://placehold.co/468x410/png?text=Craft+Bourbon',
6472
- mobilePrimaryImage: 'https://placehold.co/468x410/png?text=Mobile+Bourbon',
6473
- ctaText: 'Explore Bourbon',
6474
- events: SPOT_EVENTS_EXAMPLE,
6475
- productIds: [47, 48, 49, 50, 51],
6476
- },
6477
- ],
6478
- rbSmallDiscoverTout: [
6479
- {
6480
- id: 'jkl345',
6481
- spot: RMN_SPOT_TYPE.RB_SMALL_DISCOVER_TOUT,
6482
- variant: RMN_SPOT_TYPE.RB_SMALL_DISCOVER_TOUT,
6483
- width: 224,
6484
- height: 378,
6485
- header: 'Château Margaux 2015 Bordeaux',
6486
- textColor: '#ffffff',
6487
- primaryImage: 'https://placehold.co/224x378/png?text=Château+Margaux',
6488
- mobilePrimaryImage: 'https://placehold.co/224x378/png?text=Mobile+Château+Margaux',
6489
- events: SPOT_EVENTS_EXAMPLE,
6490
- productIds: [52, 53, 54, 55, 56],
6491
- },
6492
- {
6493
- id: 'lmn678',
6494
- spot: RMN_SPOT_TYPE.RB_SMALL_DISCOVER_TOUT,
6495
- variant: RMN_SPOT_TYPE.RB_SMALL_DISCOVER_TOUT,
6496
- width: 224,
6497
- height: 378,
6498
- header: 'Macallan 25 Year',
6499
- textColor: '#ffffff',
6500
- primaryImage: 'https://placehold.co/224x378/png?text=Macallan+25',
6501
- mobilePrimaryImage: 'https://placehold.co/224x378/png?text=Mobile+Macallan',
6502
- events: SPOT_EVENTS_EXAMPLE,
6503
- productIds: [57, 58, 59, 60, 61],
6504
- },
6505
- {
6506
- id: 'nop901',
6507
- spot: RMN_SPOT_TYPE.RB_SMALL_DISCOVER_TOUT,
6508
- variant: RMN_SPOT_TYPE.RB_SMALL_DISCOVER_TOUT,
6509
- width: 224,
6510
- height: 378,
6511
- header: 'Louis XIII Cognac',
6512
- textColor: '#ffffff',
6513
- primaryImage: 'https://placehold.co/224x378/png?text=Louis+XIII',
6514
- mobilePrimaryImage: 'https://placehold.co/224x378/png?text=Mobile+Louis+XIII',
6515
- events: SPOT_EVENTS_EXAMPLE,
6516
- productIds: [62, 63, 64, 65, 66],
6517
- },
6518
- ],
6519
- rbSmallCategoryImageTout: [
6520
- {
6521
- id: 'qrs234',
6522
- spot: RMN_SPOT_TYPE.RB_SMALL_CATEGORY_IMAGE_TOUT,
6523
- variant: RMN_SPOT_TYPE.RB_SMALL_CATEGORY_IMAGE_TOUT,
6524
- width: 224,
6525
- height: 410,
6526
- header: 'Japanese Sake',
6527
- textColor: '#ffffff',
6528
- primaryImage: 'https://placehold.co/224x410/png?text=Japanese+Sake',
6529
- mobilePrimaryImage: 'https://placehold.co/224x410/png?text=Mobile+Japanese+Sake',
6530
- events: SPOT_EVENTS_EXAMPLE,
6531
- productIds: [67, 68, 69, 70, 71],
6532
- },
6533
- {
6534
- id: 'stu567',
6535
- spot: RMN_SPOT_TYPE.RB_SMALL_CATEGORY_IMAGE_TOUT,
6536
- variant: RMN_SPOT_TYPE.RB_SMALL_CATEGORY_IMAGE_TOUT,
6537
- width: 224,
6538
- height: 410,
6539
- header: 'Craft Vermouth',
6540
- textColor: '#ffffff',
6541
- primaryImage: 'https://placehold.co/224x410/png?text=Craft+Vermouth',
6542
- mobilePrimaryImage: 'https://placehold.co/224x410/png?text=Mobile+Vermouth',
6543
- events: SPOT_EVENTS_EXAMPLE,
6544
- productIds: [72, 73, 74, 75, 76],
6545
- },
6546
- {
6547
- id: 'vwx890',
6548
- spot: RMN_SPOT_TYPE.RB_SMALL_CATEGORY_IMAGE_TOUT,
6549
- variant: RMN_SPOT_TYPE.RB_SMALL_CATEGORY_IMAGE_TOUT,
6550
- width: 224,
6551
- height: 410,
6552
- header: 'Premium Mezcal',
6553
- textColor: '#ffffff',
6554
- primaryImage: 'https://placehold.co/224x410/png?text=Premium+Mezcal',
6555
- mobilePrimaryImage: 'https://placehold.co/224x410/png?text=Mobile+Mezcal',
6556
- events: SPOT_EVENTS_EXAMPLE,
6557
- productIds: [77, 78, 79, 80, 81],
6558
- },
6559
- ],
6560
- rbCollectionBannerWithoutTextBlock: [
6561
- {
6562
- id: 'yz1234',
6563
- spot: RMN_SPOT_TYPE.RB_COLLECTION_BANNER_WITHOUT_TEXT_BLOCK,
6564
- variant: RMN_SPOT_TYPE.RB_COLLECTION_BANNER_WITHOUT_TEXT_BLOCK,
6565
- width: 887,
6566
- height: 344,
6567
- primaryImage: 'https://placehold.co/887x344/png?text=Summer+Cocktails',
6568
- mobilePrimaryImage: 'https://placehold.co/887x344/png?text=Mobile+Summer+Cocktails',
6569
- events: SPOT_EVENTS_EXAMPLE,
6570
- productIds: [82, 83, 84, 85, 86],
6571
- },
6572
- {
6573
- id: 'abc567',
6574
- spot: RMN_SPOT_TYPE.RB_COLLECTION_BANNER_WITHOUT_TEXT_BLOCK,
6575
- variant: RMN_SPOT_TYPE.RB_COLLECTION_BANNER_WITHOUT_TEXT_BLOCK,
6576
- width: 887,
6577
- height: 344,
6578
- primaryImage: 'https://placehold.co/887x344/png?text=Holiday+Spirits',
6579
- mobilePrimaryImage: 'https://placehold.co/887x344/png?text=Mobile+Holiday+Spirits',
6580
- events: SPOT_EVENTS_EXAMPLE,
6581
- productIds: [87, 88, 89, 90, 91],
6582
- },
6583
- {
6584
- id: 'def901',
6585
- spot: RMN_SPOT_TYPE.RB_COLLECTION_BANNER_WITHOUT_TEXT_BLOCK,
6586
- variant: RMN_SPOT_TYPE.RB_COLLECTION_BANNER_WITHOUT_TEXT_BLOCK,
6587
- width: 887,
6588
- height: 344,
6589
- primaryImage: 'https://placehold.co/887x344/png?text=Wine+Essentials',
6590
- mobilePrimaryImage: 'https://placehold.co/887x344/png?text=Mobile+Wine+Essentials',
6591
- events: SPOT_EVENTS_EXAMPLE,
6592
- productIds: [92, 93, 94, 95, 96],
6593
- },
6594
- ],
6595
- rbNavigationBanner: [
6596
- {
6597
- id: 'ghi234',
6598
- spot: RMN_SPOT_TYPE.RB_NAVIGATION_BANNER,
6599
- variant: RMN_SPOT_TYPE.RB_NAVIGATION_BANNER,
6600
- width: 440,
6601
- height: 220,
6602
- header: 'Explore Tequilas',
6603
- textColor: '#ffffff',
6604
- primaryImage: 'https://placehold.co/440x220/png?text=Tequila+Collection',
6605
- mobilePrimaryImage: 'https://placehold.co/440x220/png?text=Mobile+Tequila+Collection',
6606
- events: SPOT_EVENTS_EXAMPLE,
6607
- productIds: [97, 98, 99, 100, 101],
6608
- },
6609
- {
6610
- id: 'jkl678',
6611
- spot: RMN_SPOT_TYPE.RB_NAVIGATION_BANNER,
6612
- variant: RMN_SPOT_TYPE.RB_NAVIGATION_BANNER,
6613
- width: 440,
6614
- height: 220,
6615
- header: 'Craft Gin Selection',
6616
- textColor: '#ffffff',
6617
- primaryImage: 'https://placehold.co/440x220/png?text=Gin+Selection',
6618
- mobilePrimaryImage: 'https://placehold.co/440x220/png?text=Mobile+Gin+Selection',
6619
- events: SPOT_EVENTS_EXAMPLE,
6620
- productIds: [102, 103, 104, 105, 106],
6621
- },
6622
- {
6623
- id: 'mno012',
6624
- spot: RMN_SPOT_TYPE.RB_NAVIGATION_BANNER,
6625
- variant: RMN_SPOT_TYPE.RB_NAVIGATION_BANNER,
6626
- width: 440,
6627
- height: 220,
6628
- header: 'Premium Vodka',
6629
- textColor: '#ffffff',
6630
- primaryImage: 'https://placehold.co/440x220/png?text=Vodka+Premium',
6631
- mobilePrimaryImage: 'https://placehold.co/440x220/png?text=Mobile+Vodka+Premium',
6632
- events: SPOT_EVENTS_EXAMPLE,
6633
- productIds: [107, 108, 109, 110, 111],
6634
- },
6635
- ],
6636
- rbInText: [
6637
- {
6638
- id: 'mxo259',
6639
- spot: RMN_SPOT_TYPE.RB_IN_TEXT,
6640
- variant: RMN_SPOT_TYPE.RB_IN_TEXT,
6641
- width: 1,
6642
- height: 1,
6643
- header: 'Premium Vodka',
6644
- textColor: '#ffffff',
6645
- backgroundColor: '#000000',
6646
- events: SPOT_EVENTS_EXAMPLE,
6647
- productIds: [107, 108, 109, 110, 111],
6648
- },
6649
- ],
6650
- rbVideoPlayer: [
6651
- {
6652
- id: 'mxo259',
6653
- spot: RMN_SPOT_TYPE.RB_VIDEO_PLAYER,
6654
- variant: RMN_SPOT_TYPE.RB_VIDEO_PLAYER,
6655
- width: 1280,
6656
- height: 720,
6657
- videoUrl: 'https://www.youtube.com/watch?v=9bZkp7q19f0',
6658
- videoOverlayImage: 'https://placehold.co/1280x720/png?text=Video+Overlay',
6659
- videoOverlayHeader: 'Watch Our Story',
6660
- videoOverlayDescription: 'Discover the history of our distillery',
6661
- videoControls: true,
6662
- videoAutoPlay: true,
6663
- videoMute: true,
6664
- videoLoop: true,
6665
- events: SPOT_EVENTS_EXAMPLE,
6666
- productIds: [107, 108, 109, 110, 111],
6667
- },
6668
- ],
6669
- });
6670
- ({
6671
- banner: [],
6672
- billboard: [
6673
- {
6674
- id: 'kol567',
6675
- spot: RMN_SPOT_TYPE.BILLBOARD,
6676
- variant: `${RMN_SPOT_TYPE.BILLBOARD}V2`,
6677
- width: 1140,
6678
- height: 640,
6679
- header: 'Holiday Gift Guide',
6680
- description: 'Perfect spirits for every occasion',
6681
- ctaText: 'Shop Gifts',
6682
- textColor: '#ffffff',
6683
- ctaTextColor: '#ffffff',
6684
- primaryImage: 'https://placehold.co/1140x640/png?text=Gift+Guide',
6685
- mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Gifts',
6686
- events: SPOT_EVENTS_EXAMPLE,
6687
- productIds: [25, 26],
6688
- },
6689
- {
6690
- id: 'hpm390',
6691
- spot: RMN_SPOT_TYPE.BILLBOARD,
6692
- variant: `${RMN_SPOT_TYPE.BILLBOARD}V2`,
6693
- width: 1140,
6694
- height: 640,
6695
- header: 'Summer Wine Festival',
6696
- description: 'Refreshing wines for summer',
6697
- ctaText: 'Shop Festival',
6698
- textColor: '#ffffff',
6699
- ctaTextColor: '#ffffff',
6700
- primaryImage: 'https://placehold.co/1140x640/png?text=Wine+Festival',
6701
- mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Festival',
6702
- events: SPOT_EVENTS_EXAMPLE,
6703
- productIds: [27, 28],
6704
- },
6705
- ],
6706
- button2: [],
6707
- featurePhoneLargeBanner: [],
6708
- featurePhoneMediumBanner: [],
6709
- featurePhoneSmallBanner: [],
6710
- halfPage: [],
6711
- inText: [],
6712
- largeLeaderboard: [],
6713
- largeRectangle: [],
6714
- leaderboard: [],
6715
- mediumRectangle: [],
6716
- microBar: [],
6717
- mobilePhoneInterstitial1: [],
6718
- mobilePhoneInterstitial2: [],
6719
- mobilePhoneInterstitial3: [],
6720
- popUp: [],
6721
- portrait: [],
6722
- rbProductUpcs: [],
6723
- skyscraper: [],
6724
- smallRectangle: [],
6725
- smallSquare: [],
6726
- smartphoneBanner1: [],
6727
- smartphoneBanner2: [],
6728
- square: [],
6729
- verticalBanner: [],
6730
- verticalRectangle: [],
6731
- wideSkyscraper: [],
6732
- });
6733
-
6734
- const SPECIAL_CHARACTER_MAPPING = {
6735
- // Latin-1 Supplement and Latin Extended-A
6736
- æ: 'ae',
6133
+ const LATIN_MAP = {
6134
+ À: 'A',
6135
+ Á: 'A',
6136
+ Â: 'A',
6137
+ Ã: 'A',
6138
+ Ä: 'A',
6139
+ Å: 'A',
6140
+ Æ: 'AE',
6141
+ Ç: 'C',
6142
+ È: 'E',
6143
+ É: 'E',
6144
+ Ê: 'E',
6145
+ Ë: 'E',
6146
+ Ì: 'I',
6147
+ Í: 'I',
6148
+ Î: 'I',
6149
+ Ï: 'I',
6150
+ Ð: 'D',
6151
+ Ñ: 'N',
6152
+ Ò: 'O',
6153
+ Ó: 'O',
6154
+ Ô: 'O',
6155
+ Õ: 'O',
6156
+ Ö: 'O',
6157
+ Ő: 'O',
6158
+ Ø: 'O',
6159
+ Ù: 'U',
6160
+ Ú: 'U',
6161
+ Û: 'U',
6162
+ Ü: 'U',
6163
+ Ű: 'U',
6164
+ Ý: 'Y',
6165
+ Þ: 'TH',
6166
+ Ÿ: 'Y',
6737
6167
  ß: 'ss',
6168
+ à: 'a',
6169
+ á: 'a',
6170
+ â: 'a',
6171
+ ã: 'a',
6172
+ ä: 'a',
6173
+ å: 'a',
6174
+ æ: 'ae',
6175
+ ç: 'c',
6176
+ è: 'e',
6177
+ é: 'e',
6178
+ ê: 'e',
6179
+ ë: 'e',
6180
+ ì: 'i',
6181
+ í: 'i',
6182
+ î: 'i',
6183
+ ï: 'i',
6738
6184
  ð: 'd',
6185
+ ñ: 'n',
6186
+ ò: 'o',
6187
+ ó: 'o',
6188
+ ô: 'o',
6189
+ õ: 'o',
6190
+ ö: 'o',
6191
+ ő: 'o',
6739
6192
  ø: 'o',
6193
+ ù: 'u',
6194
+ ú: 'u',
6195
+ û: 'u',
6196
+ ü: 'u',
6197
+ ű: 'u',
6198
+ ý: 'y',
6740
6199
  þ: 'th',
6741
- ł: 'l',
6742
- đ: 'd',
6743
- ħ: 'h',
6744
- ı: 'i',
6745
- ij: 'ij',
6746
- ŀ: 'l',
6747
- ʼn: 'n',
6748
- ŋ: 'n',
6200
+ ÿ: 'y',
6749
6201
  œ: 'oe',
6750
- ŧ: 't',
6751
- ƀ: 'b',
6752
- ƃ: 'b',
6753
- ƅ: 'h',
6754
- ƈ: 'c',
6755
- ƌ: 'd',
6756
- ƍ: 'd',
6757
- ƒ: 'f',
6758
- ƕ: 'hv',
6759
- ƙ: 'k',
6760
- ƚ: 'l',
6761
- ƛ: 'l',
6762
- ƞ: 'n',
6763
- ơ: 'o',
6764
- ƣ: 'oi',
6765
- ƥ: 'p',
6766
- ƨ: 's',
6767
- ƭ: 't',
6768
- ư: 'u',
6769
- ƴ: 'y',
6770
- ƶ: 'z',
6771
- ƹ: 'zh',
6772
- ƽ: 'y',
6773
- dž: 'dz',
6774
- lj: 'lj',
6775
- nj: 'nj',
6776
- ǎ: 'a',
6777
- ǐ: 'i',
6778
- ǒ: 'o',
6779
- ǔ: 'u',
6780
- ǖ: 'u',
6781
- ǘ: 'u',
6782
- ǚ: 'u',
6783
- ǜ: 'u',
6784
- ǟ: 'a',
6785
- ǡ: 'a',
6786
- ǣ: 'ae',
6787
- ǥ: 'g',
6788
- ǧ: 'g',
6789
- ǩ: 'k',
6790
- ǫ: 'o',
6791
- ǭ: 'o',
6792
- ǯ: 'zh',
6793
- ǰ: 'j',
6794
- dz: 'dz',
6795
- ǵ: 'g',
6796
- ǹ: 'n',
6797
- ǻ: 'a',
6798
- ǽ: 'ae',
6799
- ǿ: 'o',
6800
- // Latin Extended-B
6801
- ȁ: 'a',
6802
- ȃ: 'a',
6803
- ȅ: 'e',
6804
- ȇ: 'e',
6805
- ȉ: 'i',
6806
- ȋ: 'i',
6807
- ȍ: 'o',
6808
- ȏ: 'o',
6809
- ȑ: 'r',
6810
- ȓ: 'r',
6811
- ȕ: 'u',
6812
- ȗ: 'u',
6202
+ };
6203
+ const GREEK_MAP = {
6204
+ α: 'a',
6205
+ β: 'b',
6206
+ γ: 'g',
6207
+ δ: 'd',
6208
+ ε: 'e',
6209
+ ζ: 'z',
6210
+ η: 'h',
6211
+ θ: '8',
6212
+ ι: 'i',
6213
+ κ: 'k',
6214
+ λ: 'l',
6215
+ μ: 'm',
6216
+ ν: 'n',
6217
+ ξ: '3',
6218
+ ο: 'o',
6219
+ π: 'p',
6220
+ ρ: 'r',
6221
+ σ: 's',
6222
+ τ: 't',
6223
+ υ: 'y',
6224
+ φ: 'f',
6225
+ χ: 'x',
6226
+ ψ: 'ps',
6227
+ ω: 'w',
6228
+ ά: 'a',
6229
+ έ: 'e',
6230
+ ί: 'i',
6231
+ ό: 'o',
6232
+ ύ: 'y',
6233
+ ή: 'h',
6234
+ ώ: 'w',
6235
+ ς: 's',
6236
+ ϊ: 'i',
6237
+ ΰ: 'y',
6238
+ ϋ: 'y',
6239
+ ΐ: 'i',
6240
+ Α: 'A',
6241
+ Β: 'B',
6242
+ Γ: 'G',
6243
+ Δ: 'D',
6244
+ Ε: 'E',
6245
+ Ζ: 'Z',
6246
+ Η: 'H',
6247
+ Θ: '8',
6248
+ Ι: 'I',
6249
+ Κ: 'K',
6250
+ Λ: 'L',
6251
+ Μ: 'M',
6252
+ Ν: 'N',
6253
+ Ξ: '3',
6254
+ Ο: 'O',
6255
+ Π: 'P',
6256
+ Ρ: 'R',
6257
+ Σ: 'S',
6258
+ Τ: 'T',
6259
+ Υ: 'Y',
6260
+ Φ: 'F',
6261
+ Χ: 'X',
6262
+ Ψ: 'PS',
6263
+ Ω: 'W',
6264
+ Ά: 'A',
6265
+ Έ: 'E',
6266
+ Ί: 'I',
6267
+ Ό: 'O',
6268
+ Ύ: 'Y',
6269
+ Ή: 'H',
6270
+ Ώ: 'W',
6271
+ Ϊ: 'I',
6272
+ Ϋ: 'Y',
6273
+ };
6274
+ const ROMANIAN_MAP = {
6275
+ ă: 'a',
6276
+ î: 'i',
6813
6277
  ș: 's',
6814
6278
  ț: 't',
6815
- ȝ: 'y',
6816
- ȟ: 'h',
6817
- ȥ: 'z',
6818
- ȧ: 'a',
6819
- ȩ: 'e',
6820
- ȫ: 'o',
6821
- ȭ: 'o',
6822
- ȯ: 'o',
6823
- ȱ: 'o',
6824
- ȳ: 'y',
6825
- ȴ: 'l',
6826
- ȵ: 'n',
6827
- ȶ: 't',
6828
- ȷ: 'j',
6829
- ȸ: 'db',
6830
- ȹ: 'qp',
6831
- ⱥ: 'a',
6832
- ⱦ: 't',
6833
- // IPA Extensions
6834
- ɐ: 'a',
6835
- ɑ: 'a',
6836
- ɒ: 'a',
6837
- ɓ: 'b',
6838
- ɔ: 'o',
6839
- ɕ: 'c',
6840
- ɖ: 'd',
6841
- ɗ: 'd',
6842
- ɘ: 'e',
6279
+ â: 'a',
6280
+ Ă: 'A',
6281
+ Î: 'I',
6282
+ Ș: 'S',
6283
+ Ț: 'T',
6284
+ Â: 'A',
6285
+ };
6286
+ const GERMAN_MAP = {
6287
+ ä: 'a',
6288
+ ö: 'o',
6289
+ ü: 'u',
6290
+ ß: 'ss',
6291
+ };
6292
+ const FRENCH_MAP = {
6293
+ é: 'e',
6294
+ è: 'e',
6295
+ ê: 'e',
6296
+ ë: 'e',
6297
+ à: 'a',
6298
+ â: 'a',
6299
+ î: 'i',
6300
+ ï: 'i',
6301
+ ô: 'o',
6302
+ û: 'u',
6303
+ ù: 'u',
6304
+ ç: 'c',
6305
+ };
6306
+ const ITALIAN_MAP = {
6307
+ à: 'a',
6308
+ è: 'e',
6309
+ é: 'e',
6310
+ ì: 'i',
6311
+ ò: 'o',
6312
+ ù: 'u',
6313
+ };
6314
+ const SPANISH_MAP = {
6315
+ á: 'a',
6316
+ í: 'i',
6317
+ ó: 'o',
6318
+ ú: 'u',
6319
+ ñ: 'n',
6320
+ ü: 'u',
6321
+ };
6322
+ const PORTUGUESE_MAP = {
6323
+ ã: 'a',
6324
+ õ: 'o',
6325
+ â: 'a',
6326
+ ê: 'e',
6327
+ ô: 'o',
6328
+ };
6329
+ const NORDIC_MAP = {
6330
+ å: 'a',
6331
+ æ: 'ae',
6332
+ ø: 'o',
6333
+ ě: 'e',
6334
+ };
6335
+ const TURKISH_MAP = {
6336
+ ğ: 'g',
6337
+ ı: 'i',
6338
+ İ: 'i',
6339
+ ş: 's',
6340
+ Ş: 'S',
6341
+ ç: 'c',
6342
+ Ç: 'C',
6343
+ ü: 'u',
6344
+ Ü: 'U',
6345
+ ö: 'o',
6346
+ Ö: 'O',
6347
+ Ğ: 'G',
6348
+ };
6349
+ const HUNGARIAN_MAP = {
6350
+ ő: 'o',
6351
+ ű: 'u',
6352
+ };
6353
+ const VIETNAMESE_MAP = {
6354
+ ạ: 'a',
6355
+ ả: 'a',
6356
+ ấ: 'a',
6357
+ ầ: 'a',
6358
+ ẩ: 'a',
6359
+ ẫ: 'a',
6360
+ ậ: 'a',
6361
+ đ: 'd',
6362
+ };
6363
+ const CROATIOAN_SEERBIAN_MAP = {
6364
+ đ: 'd',
6365
+ ć: 'c',
6366
+ č: 'c',
6367
+ };
6368
+ const BALLTIC_MAP = {
6369
+ ā: 'a',
6370
+ ē: 'e',
6371
+ ģ: 'g',
6372
+ ī: 'i',
6373
+ ķ: 'k',
6374
+ ļ: 'l',
6375
+ ņ: 'n',
6376
+ ū: 'u',
6377
+ ų: 'u',
6378
+ };
6379
+ const CHINESE_JAPANESE_PUNCTUATION_MAP = {
6380
+ '。': '.',
6381
+ '、': ',',
6382
+ '?': '?',
6383
+ '!': '!',
6384
+ ':': ':',
6385
+ ';': ';',
6386
+ '(': '(',
6387
+ ')': ')',
6388
+ '《': '<',
6389
+ '》': '>',
6390
+ };
6391
+ const RUSSIAN_MAP = {
6392
+ а: 'a',
6393
+ б: 'b',
6394
+ в: 'v',
6395
+ г: 'g',
6396
+ д: 'd',
6397
+ е: 'e',
6398
+ ё: 'yo',
6399
+ ж: 'zh',
6400
+ з: 'z',
6401
+ и: 'i',
6402
+ й: 'j',
6403
+ к: 'k',
6404
+ л: 'l',
6405
+ м: 'm',
6406
+ н: 'n',
6407
+ о: 'o',
6408
+ п: 'p',
6409
+ р: 'r',
6410
+ с: 's',
6411
+ т: 't',
6412
+ у: 'u',
6413
+ ф: 'f',
6414
+ х: 'h',
6415
+ ц: 'c',
6416
+ ч: 'ch',
6417
+ ш: 'sh',
6418
+ щ: 'sh',
6419
+ ъ: '',
6420
+ ы: 'y',
6421
+ ь: '',
6422
+ э: 'e',
6423
+ ю: 'yu',
6424
+ я: 'ya',
6425
+ А: 'A',
6426
+ Б: 'B',
6427
+ В: 'V',
6428
+ Г: 'G',
6429
+ Д: 'D',
6430
+ Е: 'E',
6431
+ Ё: 'Yo',
6432
+ Ж: 'Zh',
6433
+ З: 'Z',
6434
+ И: 'I',
6435
+ Й: 'J',
6436
+ К: 'K',
6437
+ Л: 'L',
6438
+ М: 'M',
6439
+ Н: 'N',
6440
+ О: 'O',
6441
+ П: 'P',
6442
+ Р: 'R',
6443
+ С: 'S',
6444
+ Т: 'T',
6445
+ У: 'U',
6446
+ Ф: 'F',
6447
+ Х: 'H',
6448
+ Ц: 'C',
6449
+ Ч: 'Ch',
6450
+ Ш: 'Sh',
6451
+ Щ: 'Sh',
6452
+ Ъ: '',
6453
+ Ы: 'Y',
6454
+ Ь: '',
6455
+ Э: 'E',
6456
+ Ю: 'Yu',
6457
+ Я: 'Ya',
6458
+ };
6459
+ const UKRAINIAN_MAP = {
6460
+ Є: 'Ye',
6461
+ І: 'I',
6462
+ Ї: 'Yi',
6463
+ Ґ: 'G',
6464
+ є: 'ye',
6465
+ і: 'i',
6466
+ ї: 'yi',
6467
+ ґ: 'g',
6468
+ };
6469
+ const CZECH_MAP = {
6470
+ č: 'c',
6471
+ ď: 'd',
6472
+ ě: 'e',
6473
+ ň: 'n',
6474
+ ř: 'r',
6475
+ š: 's',
6476
+ ť: 't',
6477
+ ů: 'u',
6478
+ ž: 'z',
6479
+ Č: 'C',
6480
+ Ď: 'D',
6481
+ Ě: 'E',
6482
+ Ň: 'N',
6483
+ Ř: 'R',
6484
+ Š: 'S',
6485
+ Ť: 'T',
6486
+ Ů: 'U',
6487
+ Ž: 'Z',
6488
+ };
6489
+ const SLOVAK_MAP = {
6490
+ á: 'a',
6491
+ ä: 'a',
6492
+ č: 'c',
6493
+ ď: 'd',
6494
+ é: 'e',
6495
+ í: 'i',
6496
+ ľ: 'l',
6497
+ ĺ: 'l',
6498
+ ň: 'n',
6499
+ ó: 'o',
6500
+ ô: 'o',
6501
+ ŕ: 'r',
6502
+ š: 's',
6503
+ ť: 't',
6504
+ ú: 'u',
6505
+ ý: 'y',
6506
+ ž: 'z',
6507
+ Á: 'a',
6508
+ Ä: 'A',
6509
+ Č: 'C',
6510
+ Ď: 'D',
6511
+ É: 'E',
6512
+ Í: 'I',
6513
+ Ľ: 'L',
6514
+ Ĺ: 'L',
6515
+ Ň: 'N',
6516
+ Ó: 'O',
6517
+ Ô: 'O',
6518
+ Ŕ: 'R',
6519
+ Š: 'S',
6520
+ Ť: 'T',
6521
+ Ú: 'U',
6522
+ Ý: 'Y',
6523
+ Ž: 'Z',
6524
+ };
6525
+ const POLISH_MAP = {
6526
+ ą: 'a',
6527
+ ć: 'c',
6528
+ ę: 'e',
6529
+ ł: 'l',
6530
+ ń: 'n',
6531
+ ó: 'o',
6532
+ ś: 's',
6533
+ ź: 'z',
6534
+ ż: 'z',
6535
+ Ą: 'A',
6536
+ Ć: 'C',
6537
+ Ę: 'E',
6538
+ Ł: 'L',
6539
+ Ń: 'N',
6540
+ Ó: 'O',
6541
+ Ś: 'S',
6542
+ Ź: 'Z',
6543
+ Ż: 'Z',
6544
+ };
6545
+ const LATVIAN_MAP = {
6546
+ ā: 'a',
6547
+ č: 'c',
6548
+ ē: 'e',
6549
+ ģ: 'g',
6550
+ ī: 'i',
6551
+ ķ: 'k',
6552
+ ļ: 'l',
6553
+ ņ: 'n',
6554
+ š: 's',
6555
+ ū: 'u',
6556
+ ž: 'z',
6557
+ Ā: 'A',
6558
+ Č: 'C',
6559
+ Ē: 'E',
6560
+ Ģ: 'G',
6561
+ Ī: 'I',
6562
+ Ķ: 'K',
6563
+ Ļ: 'L',
6564
+ Ņ: 'N',
6565
+ Š: 'S',
6566
+ Ū: 'U',
6567
+ Ž: 'Z',
6568
+ };
6569
+ const ARABIC_MAP = {
6570
+ أ: 'a',
6571
+ ب: 'b',
6572
+ ت: 't',
6573
+ ث: 'th',
6574
+ ج: 'g',
6575
+ ح: 'h',
6576
+ خ: 'kh',
6577
+ د: 'd',
6578
+ ذ: 'th',
6579
+ ر: 'r',
6580
+ ز: 'z',
6581
+ س: 's',
6582
+ ش: 'sh',
6583
+ ص: 's',
6584
+ ض: 'd',
6585
+ ط: 't',
6586
+ ظ: 'th',
6587
+ ع: 'aa',
6588
+ غ: 'gh',
6589
+ ف: 'f',
6590
+ ق: 'k',
6591
+ ك: 'k',
6592
+ ل: 'l',
6593
+ م: 'm',
6594
+ ن: 'n',
6595
+ ه: 'h',
6596
+ و: 'o',
6597
+ ي: 'y',
6598
+ '٠': '0',
6599
+ '١': '1',
6600
+ '٢': '2',
6601
+ '٣': '3',
6602
+ '٤': '4',
6603
+ '٥': '5',
6604
+ '٦': '6',
6605
+ '٧': '7',
6606
+ '٨': '8',
6607
+ '٩': '9',
6608
+ };
6609
+ const LITHUANIAN_MAP = {
6610
+ ą: 'a',
6611
+ č: 'c',
6612
+ ę: 'e',
6613
+ ė: 'e',
6614
+ į: 'i',
6615
+ š: 's',
6616
+ ų: 'u',
6617
+ ū: 'u',
6618
+ ž: 'z',
6619
+ Ą: 'A',
6620
+ Č: 'C',
6621
+ Ę: 'E',
6622
+ Ė: 'E',
6623
+ Į: 'I',
6624
+ Š: 'S',
6625
+ Ų: 'U',
6626
+ Ū: 'U',
6627
+ Ž: 'Z',
6628
+ };
6629
+ const SERBIAN_MAP = {
6630
+ ђ: 'dj',
6631
+ ј: 'j',
6632
+ љ: 'lj',
6633
+ њ: 'nj',
6634
+ ћ: 'c',
6635
+ џ: 'dz',
6636
+ đ: 'dj',
6637
+ Ђ: 'Dj',
6638
+ Ј: 'j',
6639
+ Љ: 'Lj',
6640
+ Њ: 'Nj',
6641
+ Ћ: 'C',
6642
+ Џ: 'Dz',
6643
+ Đ: 'Dj',
6644
+ };
6645
+ const AZERBAIJANI_MAP = {
6646
+ ç: 'c',
6843
6647
  ə: 'e',
6844
- ɚ: 'e',
6845
- ɛ: 'e',
6846
- ɜ: 'e',
6847
- ɝ: 'e',
6848
- ɞ: 'e',
6849
- ɟ: 'j',
6850
- ɠ: 'g',
6851
- ɡ: 'g',
6852
- ɢ: 'g',
6853
- ɣ: 'g',
6854
- ɤ: 'g',
6855
- ɥ: 'h',
6856
- ɦ: 'h',
6857
- ɧ: 'h',
6858
- ɨ: 'i',
6859
- ɩ: 'i',
6860
- ɪ: 'i',
6861
- ɫ: 'l',
6862
- ɬ: 'l',
6863
- ɭ: 'l',
6864
- ɮ: 'lz',
6865
- ɯ: 'm',
6866
- ɰ: 'm',
6867
- ɱ: 'm',
6868
- ɲ: 'n',
6869
- ɳ: 'n',
6870
- ɴ: 'n',
6871
- ɵ: 'o',
6872
- ɶ: 'oe',
6873
- ɷ: 'o',
6874
- ɸ: 'f',
6875
- ɹ: 'r',
6876
- ɺ: 'r',
6877
- ɻ: 'r',
6878
- ɼ: 'r',
6879
- ɽ: 'r',
6880
- ɾ: 'r',
6881
- ɿ: 'r',
6882
- // Spacing Modifier Letters
6883
- ʰ: 'h',
6884
- ʱ: 'h',
6885
- ʲ: 'j',
6886
- ʳ: 'r',
6887
- ʴ: 'r',
6888
- ʵ: 'r',
6889
- ʶ: 'r',
6890
- ʷ: 'w',
6891
- ʸ: 'y',
6892
- ʹ: "'",
6893
- ʺ: '"',
6894
- ʻ: "'",
6895
- ʼ: "'",
6896
- ʽ: "'",
6897
- ʾ: "'",
6898
- ʿ: "'",
6899
- // Combining Diacritical Marks
6648
+ ğ: 'g',
6649
+ ı: 'i',
6650
+ ö: 'o',
6651
+ ş: 's',
6652
+ ü: 'u',
6653
+ Ç: 'C',
6654
+ Ə: 'E',
6655
+ Ğ: 'G',
6656
+ İ: 'I',
6657
+ Ö: 'O',
6658
+ Ş: 'S',
6659
+ Ü: 'U',
6660
+ };
6661
+ const GEORGIAN_MAP = {
6662
+ ა: 'a',
6663
+ ბ: 'b',
6664
+ გ: 'g',
6665
+ დ: 'd',
6666
+ ე: 'e',
6667
+ ვ: 'v',
6668
+ ზ: 'z',
6669
+ თ: 't',
6670
+ ი: 'i',
6671
+ კ: 'k',
6672
+ ლ: 'l',
6673
+ მ: 'm',
6674
+ ნ: 'n',
6675
+ ო: 'o',
6676
+ პ: 'p',
6677
+ ჟ: 'j',
6678
+ რ: 'r',
6679
+ ს: 's',
6680
+ ტ: 't',
6681
+ უ: 'u',
6682
+ ფ: 'f',
6683
+ ქ: 'q',
6684
+ ღ: 'g',
6685
+ ყ: 'y',
6686
+ შ: 'sh',
6687
+ ჩ: 'ch',
6688
+ ც: 'c',
6689
+ ძ: 'dz',
6690
+ წ: 'w',
6691
+ ჭ: 'ch',
6692
+ ხ: 'x',
6693
+ ჯ: 'j',
6694
+ ჰ: 'h',
6695
+ };
6696
+ const SYMBOLS_MAP = {
6697
+ '©': '',
6698
+ '℗': '',
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
+ const GEOMETRIC_SHAPES_MAP = {
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
+ '◔': '',
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
+ const BLOCK_ELEMENTS_MAP = {
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
+ const BOX_DRAWING_MAP = {
6894
+ '─': '',
6895
+ '│': '',
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
+ const OPTICAL_CHARACTER_RECOGNITION_MAP = {
6936
+ '⑀': '',
6937
+ '⑁': '',
6938
+ '⑂': '',
6939
+ '⑃': '',
6940
+ '⑄': '',
6941
+ '⑅': '',
6942
+ '⑆': '',
6943
+ '⑇': '',
6944
+ '⑈': '',
6945
+ '⑉': '',
6946
+ '⑊': '',
6947
+ };
6948
+ const CONTROL_PICTURES_MAP = {
6949
+ '␀': '',
6950
+ '␁': '',
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
+ const MISCELLANEOUS_TECHNICAL_MAP = {
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
+ const MATHEMATICAL_OPERATORS_MAP = {
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
+ '∴': '',
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
+ const SUBSCRIPTS_AND_SUPERSCRIPTS_MAP = {
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
+ const NUMBER_FORMS_MAP = {
7203
+ '⅓': '',
7204
+ '⅔': '',
7205
+ '⅕': '',
7206
+ '⅖': '',
7207
+ '⅗': '',
7208
+ '⅘': '',
7209
+ '⅙': '',
7210
+ '⅚': '',
7211
+ '⅛': '',
7212
+ '⅜': '',
7213
+ '⅝': '',
7214
+ '⅞': '',
7215
+ '⅟': '',
7216
+ };
7217
+ const LETTERLIKE_SYMBOLS_MAP = {
7218
+ '℀': '',
7219
+ '℁': '',
7220
+ '℃': '',
7221
+ '℅': '',
7222
+ '℆': '',
7223
+ '℉': '',
7224
+ '№': '',
7225
+ '℗': '',
7226
+ '℠': '',
7227
+ '℡': '',
7228
+ '™': '',
7229
+ '℮': '',
7230
+ ℯ: '',
7231
+ ℰ: '',
7232
+ ℱ: '',
7233
+ Ⅎ: '',
7234
+ ℳ: '',
7235
+ ℴ: '',
7236
+ ℵ: '',
7237
+ ℶ: '',
7238
+ ℷ: '',
7239
+ ℸ: '',
7240
+ '℘': '',
7241
+ };
7242
+ const CURRENCY_SYMBOLS_MAP = {
7243
+ '₠': '',
7244
+ '₡': '',
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
+ const COMBINING_DIACRITICAL_MARKS_MAP = {
7276
+ '\n': '',
7277
+ '\t': '',
7278
+ '\r': '',
7279
+ '\r\n': '',
7280
+ '\u00A0': '',
7281
+ '\u2003': '',
7282
+ '\u2002': '',
7283
+ '\u0000': '',
7284
+ '\u001F': '',
7285
+ '\u007F': '',
7286
+ '\u0080': '',
7287
+ '\u009F': '',
6900
7288
  '\u0300': '',
6901
7289
  '\u0301': '',
6902
7290
  '\u0302': '',
@@ -6977,608 +7365,131 @@ const SPECIAL_CHARACTER_MAPPING = {
6977
7365
  '\u034D': '',
6978
7366
  '\u034E': '',
6979
7367
  '\u034F': '',
6980
- // General Punctuation
6981
- '\u2013': '-',
6982
- '\u2014': '-',
6983
- '\u2018': "'",
6984
- '\u2019': "'",
6985
- '\u201C': '"',
6986
- '\u201D': '"',
6987
- '\u201E': '"',
6988
- '\u2020': '+',
6989
- '\u2021': '+',
6990
- '\u2022': '*',
6991
- '\u2025': '..',
6992
- '\u2026': '...',
6993
- '\u2030': '%',
6994
- '\u2031': '%',
6995
- '\u2032': "'",
6996
- '\u2033': '"',
6997
- '\u2034': "'",
6998
- '\u2035': "'",
6999
- '\u2036': '"',
7000
- '\u2037': "'",
7001
- '\u2039': '<',
7002
- '\u203A': '>',
7003
- '\u203C': '!!',
7004
- '\u203E': '-',
7005
- '\u2044': '/',
7006
- '\u204E': '*',
7007
- '\u204F': ';',
7008
- '\u2050': ':',
7009
- '\u2057': '"',
7010
- // Currency Symbols
7011
- '₠': 'ecu',
7012
- '₡': 'c',
7013
- '₢': 'cr',
7014
- '₣': 'fr',
7015
- '₤': 'l',
7016
- '₥': 'm',
7017
- '₦': 'n',
7018
- '₧': 'pts',
7019
- '₨': 'rs',
7020
- '₩': 'w',
7021
- '₪': 'ils',
7022
- '₫': 'd',
7023
- '€': 'eur',
7024
- '₭': 'k',
7025
- '₮': 't',
7026
- '₯': 'dr',
7027
- '₰': 'pf',
7028
- '₱': 'p',
7029
- '₲': 'g',
7030
- '₳': 'a',
7031
- '₴': 'uah',
7032
- '₵': 'c',
7033
- '₶': 't',
7034
- '₷': 'n',
7035
- '₸': 't',
7036
- '₹': 'inr',
7037
- '₺': 'try',
7038
- '₻': 'n',
7039
- '₼': 'azn',
7040
- '₽': 'rub',
7041
- '₾': 'gel',
7042
- // Letterlike Symbols
7043
- '℀': 'a/c',
7044
- '℁': 'a/s',
7045
- '℃': 'c',
7046
- '℅': 'c/o',
7047
- '℆': 'c/u',
7048
- '℉': 'f',
7049
- '№': 'no',
7050
- '℗': '(p)',
7051
- '℠': 'sm',
7052
- '℡': 'tel',
7053
- '™': 'tm',
7054
- '℮': 'e',
7055
- ℯ: 'e',
7056
- ℰ: 'e',
7057
- ℱ: 'f',
7058
- Ⅎ: 'f',
7059
- ℳ: 'm',
7060
- ℴ: 'o',
7061
- ℵ: 'a',
7062
- ℶ: 'b',
7063
- ℷ: 'g',
7064
- ℸ: 'd',
7065
- '℘': 'p',
7066
- // Number Forms
7067
- '⅓': '1/3',
7068
- '⅔': '2/3',
7069
- '⅕': '1/5',
7070
- '⅖': '2/5',
7071
- '⅗': '3/5',
7072
- '⅘': '4/5',
7073
- '⅙': '1/6',
7074
- '⅚': '5/6',
7075
- '⅛': '1/8',
7076
- '⅜': '3/8',
7077
- '⅝': '5/8',
7078
- '⅞': '7/8',
7079
- '⅟': '1/',
7080
- // Superscripts and Subscripts
7081
- '⁰': '0',
7082
- '¹': '1',
7083
- '²': '2',
7084
- '³': '3',
7085
- '⁴': '4',
7086
- '⁵': '5',
7087
- '⁶': '6',
7088
- '⁷': '7',
7089
- '⁸': '8',
7090
- '⁹': '9',
7091
- '⁺': '+',
7092
- '⁻': '-',
7093
- '⁼': '=',
7094
- '⁽': '(',
7095
- '⁾': ')',
7096
- ⁿ: 'n',
7097
- '₀': '0',
7098
- '₁': '1',
7099
- '₂': '2',
7100
- '₃': '3',
7101
- '₄': '4',
7102
- '₅': '5',
7103
- '₆': '6',
7104
- '₇': '7',
7105
- '₈': '8',
7106
- '₉': '9',
7107
- '₊': '+',
7108
- '₋': '-',
7109
- '₌': '=',
7110
- '₍': '(',
7111
- '₎': ')',
7112
- // Mathematical Operators
7113
- '−': '-',
7114
- '∕': '/',
7115
- '∖': '\\',
7116
- '∗': '*',
7117
- '∘': 'o',
7118
- '∙': '*',
7119
- '√': 'v',
7120
- '∛': 'v',
7121
- '∜': 'v',
7122
- '∝': 'oc',
7123
- '∞': '8',
7124
- '∟': 'l',
7125
- '∠': 'a',
7126
- '∥': '||',
7127
- '∧': 'and',
7128
- '∨': 'or',
7129
- '∩': 'n',
7130
- '∪': 'u',
7131
- '∫': 'I',
7132
- '∬': 'II',
7133
- '∭': 'III',
7134
- '∮': 'O',
7135
- '∯': 'S',
7136
- '∰': 'S',
7137
- '∱': 'S',
7138
- '∲': 'S',
7139
- '∳': 'S',
7140
- '∴': 't',
7141
- '∵': 'b',
7142
- '∶': ':',
7143
- '∷': '::',
7144
- '∸': '-:',
7145
- '∹': '-:',
7146
- '∺': '-:',
7147
- '∻': '-:',
7148
- '∼': '~',
7149
- '∽': '~',
7150
- '∾': '~',
7151
- '≀': 'o',
7152
- '≁': '!~',
7153
- '≂': '~',
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
- '⊂': 'c',
7216
- '⊃': 'c',
7217
- '⊄': '!c',
7218
- '⊅': '!c',
7219
- '⊆': 'c=',
7220
- '⊇': 'c=',
7221
- '⊈': '!c=',
7222
- '⊉': '!c=',
7223
- '⊊': 'c',
7224
- '⊋': 'c',
7225
- '⊌': 'U',
7226
- '⊍': 'U',
7227
- '⊎': 'U',
7228
- '⊏': '<',
7229
- '⊐': '>',
7230
- '⊑': '<=',
7231
- '⊒': '>=',
7232
- '⊓': 'n',
7233
- '⊔': 'u',
7234
- '⊕': 'o+',
7235
- '⊖': 'o-',
7236
- '⊗': 'ox',
7237
- '⊘': 'o/',
7238
- '⊙': 'o.',
7239
- '⊚': 'o',
7240
- '⊛': 'o*',
7241
- '⊜': 'o=',
7242
- '⊝': 'o-',
7243
- '⊞': '+',
7244
- '⊟': '-',
7245
- '⊠': 'x',
7246
- '⊡': '[]',
7247
- // Miscellaneous Technical
7248
- '⌀': 'o',
7249
- '⌁': '*',
7250
- '⌂': '^',
7251
- '⌃': '^',
7252
- '⌄': 'v',
7253
- '⌅': '[',
7254
- '⌆': ']',
7255
- '⌇': '|',
7256
- '⌈': '[',
7257
- '⌉': ']',
7258
- '⌊': '[',
7259
- '⌋': ']',
7260
- '⌌': '[',
7261
- '⌍': ']',
7262
- '⌎': '[',
7263
- '⌏': ']',
7264
- '⌐': '|_',
7265
- '⌑': '_|',
7266
- '⌒': '~',
7267
- '⌓': '^',
7268
- '⌔': '[]',
7269
- '⌕': 'o',
7270
- '⌖': '+',
7271
- '⌗': '#',
7272
- '⌘': 'cmd',
7273
- '⌙': '<',
7274
- '⌚': 'watch',
7275
- '⌛': 'hourglass',
7276
- '⌜': '[',
7277
- '⌝': ']',
7278
- '⌞': '[',
7279
- '⌟': ']',
7280
- '⌠': 'I',
7281
- '⌡': 'I',
7282
- '⌢': 'u',
7283
- '⌣': 'n',
7284
- '⌤': '_|_',
7285
- '⌥': 'alt',
7286
- '⌦': 'del',
7287
- '⌧': 'x',
7288
- '⌨': 'keyboard',
7289
- '⌫': 'backspace',
7290
- '⌬': '^',
7291
- '⌭': '><',
7292
- '⌮': '><',
7293
- '⌯': '*',
7294
- // Control Pictures
7295
- '␀': 'nul',
7296
- '␁': 'soh',
7297
- '␂': 'stx',
7298
- '␃': 'etx',
7299
- '␄': 'eot',
7300
- '␅': 'enq',
7301
- '␆': 'ack',
7302
- '␇': 'bel',
7303
- '␈': 'bs',
7304
- '␉': 'ht',
7305
- '␊': 'lf',
7306
- '␋': 'vt',
7307
- '␌': 'ff',
7308
- '␍': 'cr',
7309
- '␎': 'so',
7310
- '␏': 'si',
7311
- '␐': 'dle',
7312
- '␑': 'dc1',
7313
- '␒': 'dc2',
7314
- '␓': 'dc3',
7315
- '␔': 'dc4',
7316
- '␕': 'nak',
7317
- '␖': 'syn',
7318
- '␗': 'etb',
7319
- '␘': 'can',
7320
- '␙': 'em',
7321
- '␚': 'sub',
7322
- '␛': 'esc',
7323
- '␜': 'fs',
7324
- '␝': 'gs',
7325
- '␞': 'rs',
7326
- '␟': 'us',
7327
- '␠': 'sp',
7328
- '␡': 'del',
7329
- // Optical Character Recognition
7330
- '⑀': 'ocr',
7331
- '⑁': 'ocr',
7332
- '⑂': 'ocr',
7333
- '⑃': 'ocr',
7334
- '⑄': 'ocr',
7335
- '⑅': 'ocr',
7336
- '⑆': 'ocr',
7337
- '⑇': 'ocr',
7338
- '⑈': 'ocr',
7339
- '⑉': 'ocr',
7340
- '⑊': 'ocr',
7341
- // Enclosed Alphanumerics
7342
- '⒜': '(a)',
7343
- '⒝': '(b)',
7344
- '⒞': '(c)',
7345
- '⒟': '(d)',
7346
- '⒠': '(e)',
7347
- '⒡': '(f)',
7348
- '⒢': '(g)',
7349
- '⒣': '(h)',
7350
- '⒤': '(i)',
7351
- '⒥': '(j)',
7352
- '⒦': '(k)',
7353
- '⒧': '(l)',
7354
- '⒨': '(m)',
7355
- '⒩': '(n)',
7356
- '⒪': '(o)',
7357
- '⒫': '(p)',
7358
- '⒬': '(q)',
7359
- '⒭': '(r)',
7360
- '⒮': '(s)',
7361
- '⒯': '(t)',
7362
- '⒰': '(u)',
7363
- '⒱': '(v)',
7364
- '⒲': '(w)',
7365
- '⒳': '(x)',
7366
- '⒴': '(y)',
7367
- '⒵': '(z)',
7368
- // Box Drawing
7369
- '─': '-',
7370
- '│': '|',
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
- // Block Elements
7410
- '▀': 'block',
7411
- '▁': 'block',
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
- // Geometric Shapes
7443
- '■': 'square',
7444
- '□': 'square',
7445
- '▢': 'square',
7446
- '▣': 'square',
7447
- '▤': 'square',
7448
- '▥': 'square',
7449
- '▦': 'square',
7450
- '▧': 'square',
7451
- '▨': 'square',
7452
- '▩': 'square',
7453
- '▪': 'square',
7454
- '▫': 'square',
7455
- '▬': 'rectangle',
7456
- '▭': 'rectangle',
7457
- '▮': 'rectangle',
7458
- '▯': 'rectangle',
7459
- '▰': 'triangle',
7460
- '▱': 'triangle',
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
- '◆': 'diamond',
7482
- '◇': 'diamond',
7483
- '◈': 'diamond',
7484
- '◉': 'circle',
7485
- '◊': 'diamond',
7486
- '○': 'circle',
7487
- '◌': 'circle',
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
- '◠': 'arc',
7508
- '◡': 'arc',
7509
- '◢': 'triangle',
7510
- '◣': 'triangle',
7511
- '◤': 'triangle',
7512
- '◥': 'triangle',
7513
- '◦': 'circle',
7514
- '◧': 'square',
7515
- '◨': 'square',
7516
- '◩': 'square',
7517
- '◪': 'square',
7518
- '◫': 'square',
7519
- '◬': 'circle',
7520
- '◭': 'triangle',
7521
- '◮': 'triangle',
7522
- '◯': 'circle',
7523
- '◰': 'square',
7524
- '◱': 'square',
7525
- '◲': 'square',
7526
- '◳': 'square',
7527
- '◴': 'circle',
7528
- '◵': 'circle',
7529
- '◶': 'circle',
7530
- '◷': 'circle',
7531
- '◸': 'triangle',
7532
- '◹': 'triangle',
7533
- '◺': 'triangle',
7534
- '◻': 'square',
7535
- '◼': 'square',
7536
- '◽': 'square',
7537
- '◾': 'square',
7538
- '◿': 'triangle',
7368
+ };
7369
+ const GENERAL_PUNCTUATION_MAP = {
7370
+ '\u2013': '',
7371
+ '\u2014': '',
7372
+ '\u2018': '',
7373
+ '\u2019': '',
7374
+ '\u201C': '',
7375
+ '\u201D': '',
7376
+ '\u201E': '',
7377
+ '\u2020': '',
7378
+ '\u2021': '',
7379
+ '\u2022': '',
7380
+ '\u2025': '',
7381
+ '\u2026': '',
7382
+ '\u2030': '',
7383
+ '\u2031': '',
7384
+ '\u2032': '',
7385
+ '\u2033': '',
7386
+ '\u2034': '',
7387
+ '\u2035': '',
7388
+ '\u2036': '',
7389
+ '\u2037': '',
7390
+ '\u2039': '',
7391
+ '\u203A': '',
7392
+ '\u203C': '',
7393
+ '\u203E': '',
7394
+ '\u2044': '',
7395
+ '\u204E': '',
7396
+ '\u204F': '',
7397
+ '\u2050': '',
7398
+ '\u2057': '',
7399
+ };
7400
+ const OTHERS_MAP = {
7401
+ Nº: 'No',
7402
+ };
7403
+ const SPECIAL_CHARS_MAP = {
7404
+ ...LATIN_MAP,
7405
+ ...SYMBOLS_MAP,
7406
+ ...GREEK_MAP,
7407
+ ...TURKISH_MAP,
7408
+ ...GERMAN_MAP,
7409
+ ...ROMANIAN_MAP,
7410
+ ...RUSSIAN_MAP,
7411
+ ...UKRAINIAN_MAP,
7412
+ ...CZECH_MAP,
7413
+ ...GEORGIAN_MAP,
7414
+ ...ITALIAN_MAP,
7415
+ ...FRENCH_MAP,
7416
+ ...PORTUGUESE_MAP,
7417
+ ...NORDIC_MAP,
7418
+ ...HUNGARIAN_MAP,
7419
+ ...VIETNAMESE_MAP,
7420
+ ...CROATIOAN_SEERBIAN_MAP,
7421
+ ...BALLTIC_MAP,
7422
+ ...CHINESE_JAPANESE_PUNCTUATION_MAP,
7423
+ ...SPANISH_MAP,
7424
+ ...SLOVAK_MAP,
7425
+ ...POLISH_MAP,
7426
+ ...LATVIAN_MAP,
7427
+ ...ARABIC_MAP,
7428
+ ...LITHUANIAN_MAP,
7429
+ ...SERBIAN_MAP,
7430
+ ...AZERBAIJANI_MAP,
7431
+ ...GEORGIAN_MAP,
7432
+ ...GEOMETRIC_SHAPES_MAP,
7433
+ ...BLOCK_ELEMENTS_MAP,
7434
+ ...BOX_DRAWING_MAP,
7435
+ ...OPTICAL_CHARACTER_RECOGNITION_MAP,
7436
+ ...CONTROL_PICTURES_MAP,
7437
+ ...MISCELLANEOUS_TECHNICAL_MAP,
7438
+ ...MATHEMATICAL_OPERATORS_MAP,
7439
+ ...SUBSCRIPTS_AND_SUPERSCRIPTS_MAP,
7440
+ ...NUMBER_FORMS_MAP,
7441
+ ...LETTERLIKE_SYMBOLS_MAP,
7442
+ ...CURRENCY_SYMBOLS_MAP,
7443
+ ...COMBINING_DIACRITICAL_MARKS_MAP,
7444
+ ...GENERAL_PUNCTUATION_MAP,
7445
+ ...OTHERS_MAP,
7539
7446
  };
7540
7447
 
7541
- /**
7542
- * Cleans and normalizes an array of product IDs by:
7543
- * 1. Converting all IDs to strings
7544
- * 2. Trimming whitespace
7545
- * 3. Removing leading zeros while preserving single "0"
7546
- * 4. Filtering out empty/invalid values
7547
- *
7548
- * @param ids - Array of product IDs that can be either strings or numbers
7549
- * @returns Array of cleaned string IDs
7550
- *
7551
- * @example
7552
- * cleanProductIds(["001", " 123 ", 456, "0"]) // ["1", "123", "456", "0"]
7553
- */
7554
- function cleanProductIds(ids) {
7555
- // If the input is not an array, return an empty array
7556
- if (!Array.isArray(ids)) {
7557
- return [];
7558
- }
7559
- // Use reduce to combine mapping and filtering operations
7560
- return ids.reduce((result, id) => {
7561
- // If the id is null or undefined, skip it
7562
- if (id == null) {
7563
- return result;
7448
+ class NormalizeStringHelper {
7449
+ constructor() {
7450
+ this.characterMaps = SPECIAL_CHARS_MAP;
7451
+ this.regex = new RegExp(Object.keys(this.characterMaps).join('|'), 'g');
7452
+ }
7453
+ static getInstance() {
7454
+ if (!NormalizeStringHelper.instance) {
7455
+ NormalizeStringHelper.instance = new NormalizeStringHelper();
7564
7456
  }
7565
- // Convert the id to a string, lowercase it, replace multiple whitespace characters with a single space, and trim it
7566
- const stringId = String(id).toLowerCase().replace(/\s+/g, ' ').trim();
7567
- // If the stringId is empty, skip it
7568
- if (!stringId) {
7569
- return result;
7457
+ return NormalizeStringHelper.instance;
7458
+ }
7459
+ normalize(text) {
7460
+ if (!text)
7461
+ return '';
7462
+ // Replace special characters with their basic counterparts
7463
+ let cleaned = text.replace(this.regex, (match) => this.characterMaps[match] || match);
7464
+ // Remove all other special characters except letters, numbers and spaces
7465
+ cleaned = cleaned.replace(/[^a-zA-Z0-9\s]/g, '');
7466
+ // Convert to lowercase
7467
+ cleaned = cleaned.toLowerCase();
7468
+ // Replace multiple spaces with a single space
7469
+ cleaned = cleaned.replace(/\s+/g, ' ');
7470
+ // Trim leading and trailing spaces
7471
+ cleaned = cleaned.trim();
7472
+ // Remove leading zeros while preserving single "0"
7473
+ cleaned = this.removeLeadingZerosIfNumber(cleaned);
7474
+ return cleaned;
7475
+ }
7476
+ /**
7477
+ * Removes leading zeros from a string number unless the string is just "0"
7478
+ * @param text - The string to process
7479
+ * @returns The string without leading zeros
7480
+ */
7481
+ removeLeadingZerosIfNumber(text) {
7482
+ // If the string is not a number, return it as is
7483
+ if (isNaN(Number(text))) {
7484
+ return text;
7570
7485
  }
7571
- // Replace special characters in the stringId based on the SPECIAL_CHARACTER_MAPPING
7572
- const noSpecialCharsString = stringId.replace(/[^a-z0-9]/g, (char) => SPECIAL_CHARACTER_MAPPING[char] || '');
7573
- // Remove leading zeros from the noSpecialCharsString, except for the single "0" case
7574
- const cleanedId = noSpecialCharsString === '0' ? '0' : noSpecialCharsString.replace(/^0+/, '');
7575
- // If the cleanedId is not empty, add it to the result array
7576
- if (cleanedId !== '') {
7577
- result.push(cleanedId);
7486
+ // If the string consists of only zeros, return "0"
7487
+ if (/^0+$/.test(text)) {
7488
+ return '0';
7578
7489
  }
7579
- // Return the result array for the next iteration
7580
- return result;
7581
- }, []); // Initialize the result array as an empty array of strings
7490
+ // Remove leading zeros
7491
+ return text.replace(/^0+/, '');
7492
+ }
7582
7493
  }
7583
7494
 
7584
7495
  class SingletonManager {
@@ -20715,12 +20626,17 @@ class DataLayerMonitor {
20715
20626
  };
20716
20627
  }
20717
20628
  extractProductData(event) {
20718
- var _a, _b, _c, _d, _e, _f, _g, _h;
20629
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
20719
20630
  const items = ((_a = event === null || event === void 0 ? void 0 : event.value) === null || _a === void 0 ? void 0 : _a.items) ||
20720
20631
  ((_b = event === null || event === void 0 ? void 0 : event.ecommerce) === null || _b === void 0 ? void 0 : _b.items) ||
20721
- ((_d = (_c = event === null || event === void 0 ? void 0 : event.ecommerce) === null || _c === void 0 ? void 0 : _c.detail) === null || _d === void 0 ? void 0 : _d.products) ||
20722
- ((_f = (_e = event === null || event === void 0 ? void 0 : event.ecommerce) === null || _e === void 0 ? void 0 : _e.checkout) === null || _f === void 0 ? void 0 : _f.products) ||
20723
- ((_h = (_g = event === null || event === void 0 ? void 0 : event.ecommerce) === null || _g === void 0 ? void 0 : _g.purchase) === null || _h === void 0 ? void 0 : _h.products) ||
20632
+ ((_c = event === null || event === void 0 ? void 0 : event.ecommerce) === null || _c === void 0 ? void 0 : _c.products) ||
20633
+ ((_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) ||
20634
+ ((_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) ||
20635
+ ((_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) ||
20636
+ ((_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) ||
20637
+ ((_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) ||
20638
+ ((_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) ||
20639
+ (event === null || event === void 0 ? void 0 : event.products) ||
20724
20640
  [];
20725
20641
  return items.map((item) => {
20726
20642
  const data = {
@@ -20766,6 +20682,7 @@ class MonitorService {
20766
20682
  }
20767
20683
  this.pubSubService = PubsubService.getInstance();
20768
20684
  this.localStorageService = LocalStorageService.getInstance();
20685
+ this.normalizeStringHelper = NormalizeStringHelper.getInstance();
20769
20686
  }
20770
20687
  static getInstance() {
20771
20688
  if (!MonitorService.instance) {
@@ -20783,7 +20700,7 @@ class MonitorService {
20783
20700
  this.implementedMonitor.start();
20784
20701
  }
20785
20702
  async matchAndFireEvent(eventData, spots) {
20786
- var _a;
20703
+ var _a, _b, _c, _d;
20787
20704
  if (!spots)
20788
20705
  return;
20789
20706
  for (const spot of Object.values(spots)) {
@@ -20794,14 +20711,14 @@ class MonitorService {
20794
20711
  continue;
20795
20712
  }
20796
20713
  const firedEvents = spot.firedEvents || [];
20797
- const [eventProductId] = cleanProductIds([data.id]);
20714
+ const eventProductId = (_a = this.normalizeStringHelper) === null || _a === void 0 ? void 0 : _a.normalize(String(data.id));
20798
20715
  const isEventAlreadyFired = firedEvents.some((event) => event.productId === eventProductId && event.event === eventData.event);
20799
20716
  if (isEventAlreadyFired) {
20800
20717
  continue;
20801
20718
  }
20802
- const spotRelatedProductIdsSet = new Set(cleanProductIds(spot.productIds));
20803
- const [eventProductBrand] = cleanProductIds([data.brand]);
20804
- const [eventVariantBrand] = cleanProductIds([data.variant]);
20719
+ const spotRelatedProductIdsSet = new Set(spot.productIds.map((id) => { var _a; return (_a = this.normalizeStringHelper) === null || _a === void 0 ? void 0 : _a.normalize(String(id)); }));
20720
+ const eventProductBrand = (_b = this.normalizeStringHelper) === null || _b === void 0 ? void 0 : _b.normalize(String(data.brand));
20721
+ const eventVariantBrand = (_c = this.normalizeStringHelper) === null || _c === void 0 ? void 0 : _c.normalize(String(data.variant));
20805
20722
  const isProductMatch = [eventProductId, eventProductBrand, eventVariantBrand].some((id) => spotRelatedProductIdsSet.has(id));
20806
20723
  if (!isProductMatch) {
20807
20724
  continue;
@@ -20832,7 +20749,7 @@ class MonitorService {
20832
20749
  event: eventData.event,
20833
20750
  });
20834
20751
  // Update the spots in the local storage
20835
- (_a = this.localStorageService) === null || _a === void 0 ? void 0 : _a.setSpot(spot.spotId, {
20752
+ (_d = this.localStorageService) === null || _d === void 0 ? void 0 : _d.setSpot(spot.spotId, {
20836
20753
  placementId: spot.placementId,
20837
20754
  spotId: spot.spotId,
20838
20755
  spotType: spot.spotType,
@@ -21100,6 +21017,607 @@ class SelectionService extends BaseApi {
21100
21017
  }
21101
21018
  }
21102
21019
 
21020
+ const SPOT_EVENTS_EXAMPLE = [
21021
+ {
21022
+ event: RMN_SPOT_EVENT.CLICK,
21023
+ url: 'https://dev.rmn.liquidcommerce.cloud/api/spots/event?e=eyJ2IjoiMS4xMiIsImF2IjozMDY1NzgzLCJhdCI6MTYzLCJidCI6MCwiY20iOjQ0MDE5MjQxOCwiY2giOjYzMTg0LCJjayI6e30sImNyIjo0ODE4NTUzNzUsImRpIjoiOWMxNGFhMGI3NWY4NDMxNTllMTAwYWQzNzA1NzQyYzMiLCJkaiI6MCwiaWkiOiIxZjU0MGM5NmQ1N2M0YmZjODFlZjRkNjhkMzFjNDVkOSIsImRtIjozLCJmYyI6NjU2NjgyNTQ5LCJmbCI6NjQzOTMxODIxLCJpcCI6IjM1LjIyMy4xOTguOTUiLCJudyI6MTE1MDAsInBjIjo1MDAwLCJvcCI6NTAwMCwibXAiOjUwMDAsImVjIjowLCJnbSI6MCwiZXAiOm51bGwsInByIjoyNDkzMTYsInJ0IjoxLCJycyI6NTAwLCJzYSI6IjU1Iiwic2IiOiJpLTA0MDI0ODg4ZDlkMWRjZWQ3Iiwic3AiOjI3MjI3Miwic3QiOjEyODcyOTYsInRyIjp0cnVlLCJ1ayI6IjNhZWRhMWMxLTZhYjItNDUwNy04Mzg5LTEwZTJmNDMxYjM5MSIsInRzIjoxNzI5MzU5MDU0OTI3LCJiZiI6dHJ1ZSwicG4iOiJyYlByb2R1Y3RVcGNzIiwiZ2MiOnRydWUsImdDIjp0cnVlLCJncyI6Im5vbmUiLCJkYyI6MSwidHoiOiJBbWVyaWNhL05ld19Zb3JrIiwidXIiOm51bGx9&s=hWz37kbxi_u95EVNn2aoQhc5Aas',
21024
+ },
21025
+ {
21026
+ event: RMN_SPOT_EVENT.IMPRESSION,
21027
+ url: 'https://dev.rmn.liquidcommerce.cloud/api/spots/event?e=eyJ2IjoiMS4xMiIsImF2IjozMDY1NzgzLCJhdCI6MTYzLCJidCI6MCwiY20iOjQ0MDE5MjQxOCwiY2giOjYzMTg0LCJjayI6e30sImNyIjo0ODE4NTUzNzUsImRpIjoiOWMxNGFhMGI3NWY4NDMxNTllMTAwYWQzNzA1NzQyYzMiLCJkaiI6MCwiaWkiOiIxZjU0MGM5NmQ1N2M0YmZjODFlZjRkNjhkMzFjNDVkOSIsImRtIjozLCJmYyI6NjU2NjgyNTQ5LCJmbCI6NjQzOTMxODIxLCJpcCI6IjM1LjIyMy4xOTguOTUiLCJudyI6MTE1MDAsInBjIjo1MDAwLCJvcCI6NTAwMCwibXAiOjUwMDAsImVjIjowLCJnbSI6MCwiZXAiOm51bGwsInByIjoyNDkzMTYsInJ0IjoxLCJycyI6NTAwLCJzYSI6IjU1Iiwic2IiOiJpLTA0MDI0ODg4ZDlkMWRjZWQ3Iiwic3AiOjI3MjI3Miwic3QiOjEyODcyOTYsInRyIjp0cnVlLCJ1ayI6IjNhZWRhMWMxLTZhYjItNDUwNy04Mzg5LTEwZTJmNDMxYjM5MSIsInRzIjoxNzI5MzU5MDU0OTI3LCJiZiI6dHJ1ZSwicG4iOiJyYlByb2R1Y3RVcGNzIiwiZ2MiOnRydWUsImdDIjp0cnVlLCJncyI6Im5vbmUiLCJkYyI6MSwidHoiOiJBbWVyaWNhL05ld19Zb3JrIiwiYmEiOjEsImZxIjowfQ&s=djoysjCimurf-5T11AlNAwwLSS8',
21028
+ },
21029
+ {
21030
+ event: RMN_SPOT_EVENT.PURCHASE,
21031
+ url: 'https://dev.rmn.liquidcommerce.cloud/api/spots/event?e=eyJ2IjoiMS4xMiIsImF2IjozMDY1NzgzLCJhdCI6MTYzLCJidCI6MCwiY20iOjQ0MDE5MjQxOCwiY2giOjYzMTg0LCJjayI6e30sImNyIjo0ODE4NTUzNzUsImRpIjoiOWMxNGFhMGI3NWY4NDMxNTllMTAwYWQzNzA1NzQyYzMiLCJkaiI6MCwiaWkiOiIxZjU0MGM5NmQ1N2M0YmZjODFlZjRkNjhkMzFjNDVkOSIsImRtIjozLCJmYyI6NjU2NjgyNTQ5LCJmbCI6NjQzOTMxODIxLCJpcCI6IjM1LjIyMy4xOTguOTUiLCJudyI6MTE1MDAsInBjIjo1MDAwLCJvcCI6NTAwMCwibXAiOjUwMDAsImVjIjowLCJnbSI6MCwiZXAiOm51bGwsInByIjoyNDkzMTYsInJ0IjoxLCJycyI6NTAwLCJzYSI6IjU1Iiwic2IiOiJpLTA0MDI0ODg4ZDlkMWRjZWQ3Iiwic3AiOjI3MjI3Miwic3QiOjEyODcyOTYsInRyIjp0cnVlLCJ1ayI6IjNhZWRhMWMxLTZhYjItNDUwNy04Mzg5LTEwZTJmNDMxYjM5MSIsInRzIjoxNzI5MzU5MDU0OTI3LCJiZiI6dHJ1ZSwicG4iOiJyYlByb2R1Y3RVcGNzIiwiZ2MiOnRydWUsImdDIjp0cnVlLCJncyI6Im5vbmUiLCJkYyI6MSwidHoiOiJBbWVyaWNhL05ld19Zb3JrIiwiZXQiOjU5fQ&s=AAPAw-3SfZ0JMzjEGFSwt9L-2S4',
21032
+ },
21033
+ {
21034
+ event: RMN_SPOT_EVENT.ADD_TO_CART,
21035
+ url: 'https://dev.rmn.liquidcommerce.cloud/api/spots/event?e=eyJ2IjoiMS4xMiIsImF2IjozMDY1NzgzLCJhdCI6MTYzLCJidCI6MCwiY20iOjQ0MDE5MjQxOCwiY2giOjYzMTg0LCJjayI6e30sImNyIjo0ODE4NTUzNzUsImRpIjoiOWMxNGFhMGI3NWY4NDMxNTllMTAwYWQzNzA1NzQyYzMiLCJkaiI6MCwiaWkiOiIxZjU0MGM5NmQ1N2M0YmZjODFlZjRkNjhkMzFjNDVkOSIsImRtIjozLCJmYyI6NjU2NjgyNTQ5LCJmbCI6NjQzOTMxODIxLCJpcCI6IjM1LjIyMy4xOTguOTUiLCJudyI6MTE1MDAsInBjIjo1MDAwLCJvcCI6NTAwMCwibXAiOjUwMDAsImVjIjowLCJnbSI6MCwiZXAiOm51bGwsInByIjoyNDkzMTYsInJ0IjoxLCJycyI6NTAwLCJzYSI6IjU1Iiwic2IiOiJpLTA0MDI0ODg4ZDlkMWRjZWQ3Iiwic3AiOjI3MjI3Miwic3QiOjEyODcyOTYsInRyIjp0cnVlLCJ1ayI6IjNhZWRhMWMxLTZhYjItNDUwNy04Mzg5LTEwZTJmNDMxYjM5MSIsInRzIjoxNzI5MzU5MDU0OTI3LCJiZiI6dHJ1ZSwicG4iOiJyYlByb2R1Y3RVcGNzIiwiZ2MiOnRydWUsImdDIjp0cnVlLCJncyI6Im5vbmUiLCJkYyI6MSwidHoiOiJBbWVyaWNhL05ld19Zb3JrIiwiZXQiOjYwfQ&s=uzQFcjgL7m9XqUG8FvTPVN5YkZY',
21036
+ },
21037
+ {
21038
+ event: RMN_SPOT_EVENT.ADD_TO_WISHLIST,
21039
+ url: 'https://dev.rmn.liquidcommerce.cloud/api/spots/event?e=eyJ2IjoiMS4xMiIsImF2IjozMDY1NzgzLCJhdCI6MTYzLCJidCI6MCwiY20iOjQ0MDE5MjQxOCwiY2giOjYzMTg0LCJjayI6e30sImNyIjo0ODE4NTUzNzUsImRpIjoiOWMxNGFhMGI3NWY4NDMxNTllMTAwYWQzNzA1NzQyYzMiLCJkaiI6MCwiaWkiOiIxZjU0MGM5NmQ1N2M0YmZjODFlZjRkNjhkMzFjNDVkOSIsImRtIjozLCJmYyI6NjU2NjgyNTQ5LCJmbCI6NjQzOTMxODIxLCJpcCI6IjM1LjIyMy4xOTguOTUiLCJudyI6MTE1MDAsInBjIjo1MDAwLCJvcCI6NTAwMCwibXAiOjUwMDAsImVjIjowLCJnbSI6MCwiZXAiOm51bGwsInByIjoyNDkzMTYsInJ0IjoxLCJycyI6NTAwLCJzYSI6IjU1Iiwic2IiOiJpLTA0MDI0ODg4ZDlkMWRjZWQ3Iiwic3AiOjI3MjI3Miwic3QiOjEyODcyOTYsInRyIjp0cnVlLCJ1ayI6IjNhZWRhMWMxLTZhYjItNDUwNy04Mzg5LTEwZTJmNDMxYjM5MSIsInRzIjoxNzI5MzU5MDU0OTI3LCJiZiI6dHJ1ZSwicG4iOiJyYlByb2R1Y3RVcGNzIiwiZ2MiOnRydWUsImdDIjp0cnVlLCJncyI6Im5vbmUiLCJkYyI6MSwidHoiOiJBbWVyaWNhL05ld19Zb3JrIiwiZXQiOjYzfQ&s=m3ISU_iIy-OFtXrTKpI6cJAEC0k',
21040
+ },
21041
+ {
21042
+ event: RMN_SPOT_EVENT.BUY_NOW,
21043
+ url: 'https://dev.rmn.liquidcommerce.cloud/api/spots/event?e=eyJ2IjoiMS4xMiIsImF2IjozMDY1NzgzLCJhdCI6MTYzLCJidCI6MCwiY20iOjQ0MDE5MjQxOCwiY2giOjYzMTg0LCJjayI6e30sImNyIjo0ODE4NTUzNzUsImRpIjoiOWMxNGFhMGI3NWY4NDMxNTllMTAwYWQzNzA1NzQyYzMiLCJkaiI6MCwiaWkiOiIxZjU0MGM5NmQ1N2M0YmZjODFlZjRkNjhkMzFjNDVkOSIsImRtIjozLCJmYyI6NjU2NjgyNTQ5LCJmbCI6NjQzOTMxODIxLCJpcCI6IjM1LjIyMy4xOTguOTUiLCJudyI6MTE1MDAsInBjIjo1MDAwLCJvcCI6NTAwMCwibXAiOjUwMDAsImVjIjowLCJnbSI6MCwiZXAiOm51bGwsInByIjoyNDkzMTYsInJ0IjoxLCJycyI6NTAwLCJzYSI6IjU1Iiwic2IiOiJpLTA0MDI0ODg4ZDlkMWRjZWQ3Iiwic3AiOjI3MjI3Miwic3QiOjEyODcyOTYsInRyIjp0cnVlLCJ1ayI6IjNhZWRhMWMxLTZhYjItNDUwNy04Mzg5LTEwZTJmNDMxYjM5MSIsInRzIjoxNzI5MzU5MDU0OTI3LCJiZiI6dHJ1ZSwicG4iOiJyYlByb2R1Y3RVcGNzIiwiZ2MiOnRydWUsImdDIjp0cnVlLCJncyI6Im5vbmUiLCJkYyI6MSwidHoiOiJBbWVyaWNhL05ld19Zb3JrIiwiZXQiOjY5fQ&s=l6MOscQC-q-FkC2Ksd7w6jjySCQ',
21044
+ },
21045
+ ];
21046
+ ({
21047
+ rbHomepageHero: [
21048
+ {
21049
+ id: 'abc123',
21050
+ spot: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_FULL_IMAGE,
21051
+ variant: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_FULL_IMAGE,
21052
+ width: 1140,
21053
+ height: 640,
21054
+ header: 'Premium Wine Collection',
21055
+ description: 'Discover our exclusive selection of vintage wines',
21056
+ ctaText: 'Shop Wines',
21057
+ textColor: '#ffffff',
21058
+ ctaTextColor: '#ffffff',
21059
+ primaryImage: 'https://placehold.co/1140x640/png?text=Wine+Collection',
21060
+ mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Wine',
21061
+ events: SPOT_EVENTS_EXAMPLE,
21062
+ productIds: [1, 2, 3],
21063
+ },
21064
+ {
21065
+ id: 'jkl012',
21066
+ spot: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_TWO_TILE,
21067
+ variant: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_TWO_TILE,
21068
+ width: 1140,
21069
+ height: 640,
21070
+ header: 'Whiskey Collection',
21071
+ description: 'Premium whiskeys from around the world',
21072
+ ctaText: 'Shop Whiskeys',
21073
+ textColor: '#ffffff',
21074
+ backgroundColor: '#2c1810',
21075
+ ctaTextColor: '#2c1810',
21076
+ primaryImage: 'https://placehold.co/1140x640/png?text=Whiskey',
21077
+ mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Whiskey',
21078
+ events: SPOT_EVENTS_EXAMPLE,
21079
+ productIds: [10, 11],
21080
+ },
21081
+ {
21082
+ id: 'stu901',
21083
+ spot: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_THREE_TILE,
21084
+ variant: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_THREE_TILE,
21085
+ width: 1140,
21086
+ height: 640,
21087
+ header: 'Summer Cocktails',
21088
+ description: 'Essential spirits for summer mixing',
21089
+ ctaText: 'Mix It Up',
21090
+ textColor: '#ffffff',
21091
+ backgroundColor: '#4d3a0a',
21092
+ ctaTextColor: '#4d3a0a',
21093
+ primaryImage: 'https://placehold.co/1140x640/png?text=Cocktails',
21094
+ secondaryImage: 'https://placehold.co/1140x640/png?text=Mixers',
21095
+ mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Cocktails',
21096
+ mobileSecondaryImage: 'https://placehold.co/640x320/png?text=Mobile+Mixers',
21097
+ events: SPOT_EVENTS_EXAMPLE,
21098
+ productIds: [16, 17, 18],
21099
+ },
21100
+ {
21101
+ id: 'def456',
21102
+ spot: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_FULL_IMAGE,
21103
+ variant: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_FULL_IMAGE,
21104
+ width: 1140,
21105
+ height: 640,
21106
+ header: 'Craft Beer Festival',
21107
+ description: 'Local breweries and exclusive releases',
21108
+ ctaText: 'Explore Beers',
21109
+ textColor: '#ffffff',
21110
+ ctaTextColor: '#ffffff',
21111
+ primaryImage: 'https://placehold.co/1140x640/png?text=Beer+Festival',
21112
+ mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Beer',
21113
+ events: SPOT_EVENTS_EXAMPLE,
21114
+ productIds: [4, 5, 6],
21115
+ },
21116
+ {
21117
+ id: 'mno345',
21118
+ spot: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_TWO_TILE,
21119
+ variant: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_TWO_TILE,
21120
+ width: 1140,
21121
+ height: 640,
21122
+ header: 'Champagne Selection',
21123
+ description: 'Finest champagnes for every occasion',
21124
+ ctaText: 'View Champagnes',
21125
+ textColor: '#ffffff',
21126
+ backgroundColor: '#1a1a1a',
21127
+ ctaTextColor: '#1a1a1a',
21128
+ primaryImage: 'https://placehold.co/1140x640/png?text=Champagne',
21129
+ mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Champagne',
21130
+ events: SPOT_EVENTS_EXAMPLE,
21131
+ productIds: [12, 13],
21132
+ },
21133
+ {
21134
+ id: 'vwx234',
21135
+ spot: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_THREE_TILE,
21136
+ variant: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_THREE_TILE,
21137
+ width: 1140,
21138
+ height: 640,
21139
+ header: 'Wine Regions',
21140
+ description: 'Explore wines from top regions',
21141
+ ctaText: 'Tour Regions',
21142
+ textColor: '#ffffff',
21143
+ backgroundColor: '#4d0a0a',
21144
+ ctaTextColor: '#4d0a0a',
21145
+ primaryImage: 'https://placehold.co/1140x640/png?text=Wine+Regions',
21146
+ secondaryImage: 'https://placehold.co/1140x640/png?text=Vineyards',
21147
+ mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Regions',
21148
+ mobileSecondaryImage: 'https://placehold.co/640x320/png?text=Mobile+Vineyards',
21149
+ events: SPOT_EVENTS_EXAMPLE,
21150
+ productIds: [19, 20, 21],
21151
+ },
21152
+ {
21153
+ id: 'ghi789',
21154
+ spot: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_FULL_IMAGE,
21155
+ variant: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_FULL_IMAGE,
21156
+ width: 1140,
21157
+ height: 640,
21158
+ header: 'Rare Spirits',
21159
+ description: 'Limited edition spirits collection',
21160
+ ctaText: 'View Collection',
21161
+ textColor: '#ffffff',
21162
+ ctaTextColor: '#ffffff',
21163
+ primaryImage: 'https://placehold.co/1140x640/png?text=Rare+Spirits',
21164
+ mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Spirits',
21165
+ events: SPOT_EVENTS_EXAMPLE,
21166
+ productIds: [7, 8, 9],
21167
+ },
21168
+ {
21169
+ id: 'pqr678',
21170
+ spot: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_TWO_TILE,
21171
+ variant: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_TWO_TILE,
21172
+ width: 1140,
21173
+ height: 640,
21174
+ header: 'Gin Collection',
21175
+ description: 'Artisanal gins and botanicals',
21176
+ ctaText: 'Explore Gins',
21177
+ textColor: '#ffffff',
21178
+ backgroundColor: '#0a4d4d',
21179
+ ctaTextColor: '#0a4d4d',
21180
+ primaryImage: 'https://placehold.co/1140x640/png?text=Gin',
21181
+ mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Gin',
21182
+ events: SPOT_EVENTS_EXAMPLE,
21183
+ productIds: [14, 15],
21184
+ },
21185
+ {
21186
+ id: 'yz5678',
21187
+ spot: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_THREE_TILE,
21188
+ variant: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_THREE_TILE,
21189
+ width: 1140,
21190
+ height: 640,
21191
+ header: 'Tequila Collection',
21192
+ description: 'Premium tequilas and mezcals',
21193
+ ctaText: 'Shop Tequila',
21194
+ textColor: '#ffffff',
21195
+ backgroundColor: '#0a4d2b',
21196
+ ctaTextColor: '#0a4d2b',
21197
+ primaryImage: 'https://placehold.co/1140x640/png?text=Tequila',
21198
+ secondaryImage: 'https://placehold.co/1140x640/png?text=Mezcal',
21199
+ mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Tequila',
21200
+ mobileSecondaryImage: 'https://placehold.co/640x320/png?text=Mobile+Mezcal',
21201
+ events: SPOT_EVENTS_EXAMPLE,
21202
+ productIds: [22, 23, 24],
21203
+ },
21204
+ ],
21205
+ rbHomepageHeroFullImage: [
21206
+ {
21207
+ id: 'hjk567',
21208
+ spot: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_FULL_IMAGE,
21209
+ variant: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_FULL_IMAGE,
21210
+ width: 1140,
21211
+ height: 640,
21212
+ header: 'Holiday Gift Guide',
21213
+ description: 'Perfect spirits for every occasion',
21214
+ ctaText: 'Shop Gifts',
21215
+ textColor: '#ffffff',
21216
+ ctaTextColor: '#ffffff',
21217
+ primaryImage: 'https://placehold.co/1140x640/png?text=Gift+Guide',
21218
+ mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Gifts',
21219
+ events: SPOT_EVENTS_EXAMPLE,
21220
+ productIds: [25, 26],
21221
+ },
21222
+ {
21223
+ id: 'qwe890',
21224
+ spot: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_FULL_IMAGE,
21225
+ variant: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_FULL_IMAGE,
21226
+ width: 1140,
21227
+ height: 640,
21228
+ header: 'Summer Wine Festival',
21229
+ description: 'Refreshing wines for summer',
21230
+ ctaText: 'Shop Festival',
21231
+ textColor: '#ffffff',
21232
+ ctaTextColor: '#ffffff',
21233
+ primaryImage: 'https://placehold.co/1140x640/png?text=Wine+Festival',
21234
+ mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Festival',
21235
+ events: SPOT_EVENTS_EXAMPLE,
21236
+ productIds: [27, 28],
21237
+ },
21238
+ ],
21239
+ rbHomepageHeroTwoTile: [
21240
+ {
21241
+ id: 'iop987',
21242
+ spot: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_TWO_TILE,
21243
+ variant: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_TWO_TILE,
21244
+ width: 1140,
21245
+ height: 640,
21246
+ header: 'Bourbon Selection',
21247
+ description: "Kentucky's finest bourbons",
21248
+ ctaText: 'Shop Bourbon',
21249
+ textColor: '#ffffff',
21250
+ backgroundColor: '#2c1810',
21251
+ ctaTextColor: '#2c1810',
21252
+ primaryImage: 'https://placehold.co/1140x640/png?text=Bourbon',
21253
+ mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Bourbon',
21254
+ events: SPOT_EVENTS_EXAMPLE,
21255
+ productIds: [29, 30],
21256
+ },
21257
+ {
21258
+ id: 'lkj012',
21259
+ spot: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_TWO_TILE,
21260
+ variant: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_TWO_TILE,
21261
+ width: 1140,
21262
+ height: 640,
21263
+ header: 'Vodka Collection',
21264
+ description: 'Premium vodkas from around the world',
21265
+ ctaText: 'Shop Vodka',
21266
+ textColor: '#ffffff',
21267
+ backgroundColor: '#1a1a1a',
21268
+ ctaTextColor: '#1a1a1a',
21269
+ primaryImage: 'https://placehold.co/1140x640/png?text=Vodka',
21270
+ mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Vodka',
21271
+ events: SPOT_EVENTS_EXAMPLE,
21272
+ productIds: [31, 32],
21273
+ },
21274
+ ],
21275
+ rbHomepageHeroThreeTile: [
21276
+ {
21277
+ id: 'bnm345',
21278
+ spot: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_THREE_TILE,
21279
+ variant: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_THREE_TILE,
21280
+ width: 1140,
21281
+ height: 640,
21282
+ header: 'Rum Collection',
21283
+ description: 'Caribbean and craft rums',
21284
+ ctaText: 'Shop Rum',
21285
+ textColor: '#ffffff',
21286
+ backgroundColor: '#4d3a0a',
21287
+ ctaTextColor: '#4d3a0a',
21288
+ primaryImage: 'https://placehold.co/1140x640/png?text=Rum',
21289
+ secondaryImage: 'https://placehold.co/1140x640/png?text=Craft+Rum',
21290
+ mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Rum',
21291
+ mobileSecondaryImage: 'https://placehold.co/640x320/png?text=Mobile+Craft',
21292
+ events: SPOT_EVENTS_EXAMPLE,
21293
+ productIds: [33, 34],
21294
+ },
21295
+ {
21296
+ id: 'fgh678',
21297
+ spot: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_THREE_TILE,
21298
+ variant: RMN_SPOT_TYPE.RB_HOMEPAGE_HERO_THREE_TILE,
21299
+ width: 1140,
21300
+ height: 640,
21301
+ header: 'Scotch Selection',
21302
+ description: 'Single malts and blends',
21303
+ ctaText: 'Shop Scotch',
21304
+ textColor: '#ffffff',
21305
+ backgroundColor: '#4d0a0a',
21306
+ ctaTextColor: '#4d0a0a',
21307
+ primaryImage: 'https://placehold.co/1140x640/png?text=Scotch',
21308
+ secondaryImage: 'https://placehold.co/1140x640/png?text=Single+Malts',
21309
+ mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Scotch',
21310
+ mobileSecondaryImage: 'https://placehold.co/640x320/png?text=Mobile+Malts',
21311
+ events: SPOT_EVENTS_EXAMPLE,
21312
+ productIds: [35, 36],
21313
+ },
21314
+ ],
21315
+ rbLargeCategoryImageTout: [
21316
+ {
21317
+ id: 'cde567',
21318
+ spot: RMN_SPOT_TYPE.RB_LARGE_CATEGORY_IMAGE_TOUT,
21319
+ variant: RMN_SPOT_TYPE.RB_LARGE_CATEGORY_IMAGE_TOUT,
21320
+ width: 468,
21321
+ height: 410,
21322
+ header: 'Rare & Limited Edition',
21323
+ description: 'Discover our collection of hard-to-find and limited release spirits.',
21324
+ textColor: '#ffffff',
21325
+ ctaTextColor: '#ffffff',
21326
+ primaryImage: 'https://placehold.co/468x410/png?text=Rare+Spirits',
21327
+ mobilePrimaryImage: 'https://placehold.co/468x410/png?text=Mobile+Rare+Spirits',
21328
+ ctaText: 'Shop Rare Spirits',
21329
+ events: SPOT_EVENTS_EXAMPLE,
21330
+ productIds: [37, 38, 39, 40, 41],
21331
+ },
21332
+ {
21333
+ id: 'efg789',
21334
+ spot: RMN_SPOT_TYPE.RB_LARGE_CATEGORY_IMAGE_TOUT,
21335
+ variant: RMN_SPOT_TYPE.RB_LARGE_CATEGORY_IMAGE_TOUT,
21336
+ width: 468,
21337
+ height: 410,
21338
+ header: 'Vintage Champagnes',
21339
+ description: 'Explore our prestigious collection of aged champagnes.',
21340
+ textColor: '#ffffff',
21341
+ ctaTextColor: '#ffffff',
21342
+ primaryImage: 'https://placehold.co/468x410/png?text=Vintage+Champagne',
21343
+ mobilePrimaryImage: 'https://placehold.co/468x410/png?text=Mobile+Champagne',
21344
+ ctaText: 'View Collection',
21345
+ events: SPOT_EVENTS_EXAMPLE,
21346
+ productIds: [42, 43, 44, 45, 46],
21347
+ },
21348
+ {
21349
+ id: 'ghi012',
21350
+ spot: RMN_SPOT_TYPE.RB_LARGE_CATEGORY_IMAGE_TOUT,
21351
+ variant: RMN_SPOT_TYPE.RB_LARGE_CATEGORY_IMAGE_TOUT,
21352
+ width: 468,
21353
+ height: 410,
21354
+ header: 'Small Batch Bourbon',
21355
+ description: 'Hand-selected premium bourbon from craft distilleries.',
21356
+ textColor: '#ffffff',
21357
+ ctaTextColor: '#ffffff',
21358
+ primaryImage: 'https://placehold.co/468x410/png?text=Craft+Bourbon',
21359
+ mobilePrimaryImage: 'https://placehold.co/468x410/png?text=Mobile+Bourbon',
21360
+ ctaText: 'Explore Bourbon',
21361
+ events: SPOT_EVENTS_EXAMPLE,
21362
+ productIds: [47, 48, 49, 50, 51],
21363
+ },
21364
+ ],
21365
+ rbSmallDiscoverTout: [
21366
+ {
21367
+ id: 'jkl345',
21368
+ spot: RMN_SPOT_TYPE.RB_SMALL_DISCOVER_TOUT,
21369
+ variant: RMN_SPOT_TYPE.RB_SMALL_DISCOVER_TOUT,
21370
+ width: 224,
21371
+ height: 378,
21372
+ header: 'Château Margaux 2015 Bordeaux',
21373
+ textColor: '#ffffff',
21374
+ primaryImage: 'https://placehold.co/224x378/png?text=Château+Margaux',
21375
+ mobilePrimaryImage: 'https://placehold.co/224x378/png?text=Mobile+Château+Margaux',
21376
+ events: SPOT_EVENTS_EXAMPLE,
21377
+ productIds: [52, 53, 54, 55, 56],
21378
+ },
21379
+ {
21380
+ id: 'lmn678',
21381
+ spot: RMN_SPOT_TYPE.RB_SMALL_DISCOVER_TOUT,
21382
+ variant: RMN_SPOT_TYPE.RB_SMALL_DISCOVER_TOUT,
21383
+ width: 224,
21384
+ height: 378,
21385
+ header: 'Macallan 25 Year',
21386
+ textColor: '#ffffff',
21387
+ primaryImage: 'https://placehold.co/224x378/png?text=Macallan+25',
21388
+ mobilePrimaryImage: 'https://placehold.co/224x378/png?text=Mobile+Macallan',
21389
+ events: SPOT_EVENTS_EXAMPLE,
21390
+ productIds: [57, 58, 59, 60, 61],
21391
+ },
21392
+ {
21393
+ id: 'nop901',
21394
+ spot: RMN_SPOT_TYPE.RB_SMALL_DISCOVER_TOUT,
21395
+ variant: RMN_SPOT_TYPE.RB_SMALL_DISCOVER_TOUT,
21396
+ width: 224,
21397
+ height: 378,
21398
+ header: 'Louis XIII Cognac',
21399
+ textColor: '#ffffff',
21400
+ primaryImage: 'https://placehold.co/224x378/png?text=Louis+XIII',
21401
+ mobilePrimaryImage: 'https://placehold.co/224x378/png?text=Mobile+Louis+XIII',
21402
+ events: SPOT_EVENTS_EXAMPLE,
21403
+ productIds: [62, 63, 64, 65, 66],
21404
+ },
21405
+ ],
21406
+ rbSmallCategoryImageTout: [
21407
+ {
21408
+ id: 'qrs234',
21409
+ spot: RMN_SPOT_TYPE.RB_SMALL_CATEGORY_IMAGE_TOUT,
21410
+ variant: RMN_SPOT_TYPE.RB_SMALL_CATEGORY_IMAGE_TOUT,
21411
+ width: 224,
21412
+ height: 410,
21413
+ header: 'Japanese Sake',
21414
+ textColor: '#ffffff',
21415
+ primaryImage: 'https://placehold.co/224x410/png?text=Japanese+Sake',
21416
+ mobilePrimaryImage: 'https://placehold.co/224x410/png?text=Mobile+Japanese+Sake',
21417
+ events: SPOT_EVENTS_EXAMPLE,
21418
+ productIds: [67, 68, 69, 70, 71],
21419
+ },
21420
+ {
21421
+ id: 'stu567',
21422
+ spot: RMN_SPOT_TYPE.RB_SMALL_CATEGORY_IMAGE_TOUT,
21423
+ variant: RMN_SPOT_TYPE.RB_SMALL_CATEGORY_IMAGE_TOUT,
21424
+ width: 224,
21425
+ height: 410,
21426
+ header: 'Craft Vermouth',
21427
+ textColor: '#ffffff',
21428
+ primaryImage: 'https://placehold.co/224x410/png?text=Craft+Vermouth',
21429
+ mobilePrimaryImage: 'https://placehold.co/224x410/png?text=Mobile+Vermouth',
21430
+ events: SPOT_EVENTS_EXAMPLE,
21431
+ productIds: [72, 73, 74, 75, 76],
21432
+ },
21433
+ {
21434
+ id: 'vwx890',
21435
+ spot: RMN_SPOT_TYPE.RB_SMALL_CATEGORY_IMAGE_TOUT,
21436
+ variant: RMN_SPOT_TYPE.RB_SMALL_CATEGORY_IMAGE_TOUT,
21437
+ width: 224,
21438
+ height: 410,
21439
+ header: 'Premium Mezcal',
21440
+ textColor: '#ffffff',
21441
+ primaryImage: 'https://placehold.co/224x410/png?text=Premium+Mezcal',
21442
+ mobilePrimaryImage: 'https://placehold.co/224x410/png?text=Mobile+Mezcal',
21443
+ events: SPOT_EVENTS_EXAMPLE,
21444
+ productIds: [77, 78, 79, 80, 81],
21445
+ },
21446
+ ],
21447
+ rbCollectionBannerWithoutTextBlock: [
21448
+ {
21449
+ id: 'yz1234',
21450
+ spot: RMN_SPOT_TYPE.RB_COLLECTION_BANNER_WITHOUT_TEXT_BLOCK,
21451
+ variant: RMN_SPOT_TYPE.RB_COLLECTION_BANNER_WITHOUT_TEXT_BLOCK,
21452
+ width: 887,
21453
+ height: 344,
21454
+ primaryImage: 'https://placehold.co/887x344/png?text=Summer+Cocktails',
21455
+ mobilePrimaryImage: 'https://placehold.co/887x344/png?text=Mobile+Summer+Cocktails',
21456
+ events: SPOT_EVENTS_EXAMPLE,
21457
+ productIds: [82, 83, 84, 85, 86],
21458
+ },
21459
+ {
21460
+ id: 'abc567',
21461
+ spot: RMN_SPOT_TYPE.RB_COLLECTION_BANNER_WITHOUT_TEXT_BLOCK,
21462
+ variant: RMN_SPOT_TYPE.RB_COLLECTION_BANNER_WITHOUT_TEXT_BLOCK,
21463
+ width: 887,
21464
+ height: 344,
21465
+ primaryImage: 'https://placehold.co/887x344/png?text=Holiday+Spirits',
21466
+ mobilePrimaryImage: 'https://placehold.co/887x344/png?text=Mobile+Holiday+Spirits',
21467
+ events: SPOT_EVENTS_EXAMPLE,
21468
+ productIds: [87, 88, 89, 90, 91],
21469
+ },
21470
+ {
21471
+ id: 'def901',
21472
+ spot: RMN_SPOT_TYPE.RB_COLLECTION_BANNER_WITHOUT_TEXT_BLOCK,
21473
+ variant: RMN_SPOT_TYPE.RB_COLLECTION_BANNER_WITHOUT_TEXT_BLOCK,
21474
+ width: 887,
21475
+ height: 344,
21476
+ primaryImage: 'https://placehold.co/887x344/png?text=Wine+Essentials',
21477
+ mobilePrimaryImage: 'https://placehold.co/887x344/png?text=Mobile+Wine+Essentials',
21478
+ events: SPOT_EVENTS_EXAMPLE,
21479
+ productIds: [92, 93, 94, 95, 96],
21480
+ },
21481
+ ],
21482
+ rbNavigationBanner: [
21483
+ {
21484
+ id: 'ghi234',
21485
+ spot: RMN_SPOT_TYPE.RB_NAVIGATION_BANNER,
21486
+ variant: RMN_SPOT_TYPE.RB_NAVIGATION_BANNER,
21487
+ width: 440,
21488
+ height: 220,
21489
+ header: 'Explore Tequilas',
21490
+ textColor: '#ffffff',
21491
+ primaryImage: 'https://placehold.co/440x220/png?text=Tequila+Collection',
21492
+ mobilePrimaryImage: 'https://placehold.co/440x220/png?text=Mobile+Tequila+Collection',
21493
+ events: SPOT_EVENTS_EXAMPLE,
21494
+ productIds: [97, 98, 99, 100, 101],
21495
+ },
21496
+ {
21497
+ id: 'jkl678',
21498
+ spot: RMN_SPOT_TYPE.RB_NAVIGATION_BANNER,
21499
+ variant: RMN_SPOT_TYPE.RB_NAVIGATION_BANNER,
21500
+ width: 440,
21501
+ height: 220,
21502
+ header: 'Craft Gin Selection',
21503
+ textColor: '#ffffff',
21504
+ primaryImage: 'https://placehold.co/440x220/png?text=Gin+Selection',
21505
+ mobilePrimaryImage: 'https://placehold.co/440x220/png?text=Mobile+Gin+Selection',
21506
+ events: SPOT_EVENTS_EXAMPLE,
21507
+ productIds: [102, 103, 104, 105, 106],
21508
+ },
21509
+ {
21510
+ id: 'mno012',
21511
+ spot: RMN_SPOT_TYPE.RB_NAVIGATION_BANNER,
21512
+ variant: RMN_SPOT_TYPE.RB_NAVIGATION_BANNER,
21513
+ width: 440,
21514
+ height: 220,
21515
+ header: 'Premium Vodka',
21516
+ textColor: '#ffffff',
21517
+ primaryImage: 'https://placehold.co/440x220/png?text=Vodka+Premium',
21518
+ mobilePrimaryImage: 'https://placehold.co/440x220/png?text=Mobile+Vodka+Premium',
21519
+ events: SPOT_EVENTS_EXAMPLE,
21520
+ productIds: [107, 108, 109, 110, 111],
21521
+ },
21522
+ ],
21523
+ rbInText: [
21524
+ {
21525
+ id: 'mxo259',
21526
+ spot: RMN_SPOT_TYPE.RB_IN_TEXT,
21527
+ variant: RMN_SPOT_TYPE.RB_IN_TEXT,
21528
+ width: 1,
21529
+ height: 1,
21530
+ header: 'Premium Vodka',
21531
+ textColor: '#ffffff',
21532
+ backgroundColor: '#000000',
21533
+ events: SPOT_EVENTS_EXAMPLE,
21534
+ productIds: [107, 108, 109, 110, 111],
21535
+ },
21536
+ ],
21537
+ rbVideoPlayer: [
21538
+ {
21539
+ id: 'mxo259',
21540
+ spot: RMN_SPOT_TYPE.RB_VIDEO_PLAYER,
21541
+ variant: RMN_SPOT_TYPE.RB_VIDEO_PLAYER,
21542
+ width: 1280,
21543
+ height: 720,
21544
+ videoUrl: 'https://www.youtube.com/watch?v=9bZkp7q19f0',
21545
+ videoOverlayImage: 'https://placehold.co/1280x720/png?text=Video+Overlay',
21546
+ videoOverlayHeader: 'Watch Our Story',
21547
+ videoOverlayDescription: 'Discover the history of our distillery',
21548
+ videoControls: true,
21549
+ videoAutoPlay: true,
21550
+ videoMute: true,
21551
+ videoLoop: true,
21552
+ events: SPOT_EVENTS_EXAMPLE,
21553
+ productIds: [107, 108, 109, 110, 111],
21554
+ },
21555
+ ],
21556
+ });
21557
+ ({
21558
+ banner: [],
21559
+ billboard: [
21560
+ {
21561
+ id: 'kol567',
21562
+ spot: RMN_SPOT_TYPE.BILLBOARD,
21563
+ variant: `${RMN_SPOT_TYPE.BILLBOARD}V2`,
21564
+ width: 1140,
21565
+ height: 640,
21566
+ header: 'Holiday Gift Guide',
21567
+ description: 'Perfect spirits for every occasion',
21568
+ ctaText: 'Shop Gifts',
21569
+ textColor: '#ffffff',
21570
+ ctaTextColor: '#ffffff',
21571
+ primaryImage: 'https://placehold.co/1140x640/png?text=Gift+Guide',
21572
+ mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Gifts',
21573
+ events: SPOT_EVENTS_EXAMPLE,
21574
+ productIds: [25, 26],
21575
+ },
21576
+ {
21577
+ id: 'hpm390',
21578
+ spot: RMN_SPOT_TYPE.BILLBOARD,
21579
+ variant: `${RMN_SPOT_TYPE.BILLBOARD}V2`,
21580
+ width: 1140,
21581
+ height: 640,
21582
+ header: 'Summer Wine Festival',
21583
+ description: 'Refreshing wines for summer',
21584
+ ctaText: 'Shop Festival',
21585
+ textColor: '#ffffff',
21586
+ ctaTextColor: '#ffffff',
21587
+ primaryImage: 'https://placehold.co/1140x640/png?text=Wine+Festival',
21588
+ mobilePrimaryImage: 'https://placehold.co/640x640/png?text=Mobile+Festival',
21589
+ events: SPOT_EVENTS_EXAMPLE,
21590
+ productIds: [27, 28],
21591
+ },
21592
+ ],
21593
+ button2: [],
21594
+ featurePhoneLargeBanner: [],
21595
+ featurePhoneMediumBanner: [],
21596
+ featurePhoneSmallBanner: [],
21597
+ halfPage: [],
21598
+ inText: [],
21599
+ largeLeaderboard: [],
21600
+ largeRectangle: [],
21601
+ leaderboard: [],
21602
+ mediumRectangle: [],
21603
+ microBar: [],
21604
+ mobilePhoneInterstitial1: [],
21605
+ mobilePhoneInterstitial2: [],
21606
+ mobilePhoneInterstitial3: [],
21607
+ popUp: [],
21608
+ portrait: [],
21609
+ rbProductUpcs: [],
21610
+ skyscraper: [],
21611
+ smallRectangle: [],
21612
+ smallSquare: [],
21613
+ smartphoneBanner1: [],
21614
+ smartphoneBanner2: [],
21615
+ square: [],
21616
+ verticalBanner: [],
21617
+ verticalRectangle: [],
21618
+ wideSkyscraper: [],
21619
+ });
21620
+
21103
21621
  /**
21104
21622
  * Checks if the current environment is a browser environment.
21105
21623
  *