@mapsindoors/map-template 1.95.1 → 1.95.2

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.
Files changed (66) hide show
  1. package/dist/{GoogleMapsMap-C5n6Bgtp.mjs → GoogleMapsMap-Dkn60-_e.mjs} +2 -2
  2. package/dist/{MapboxMap-UCqzt1AC.mjs → MapboxMap-B1oo7IUm.mjs} +2 -2
  3. package/dist/_commonjsHelpers-B85MJLTf.js +5 -0
  4. package/dist/app-globals-DQuL1Twl.js +3 -0
  5. package/dist/combo-box-item.entry.js +8 -10
  6. package/dist/icon-DT_sDkmK.js +11 -0
  7. package/dist/index-BZQHyS7V.js +1701 -0
  8. package/dist/loader.js +7 -14
  9. package/dist/mapsindoors-react.es.js +1 -1
  10. package/dist/mapsindoors-react.umd.js +175 -175
  11. package/dist/mapsindoors-webcomponent.es.js +2916 -2904
  12. package/dist/mi-card_2.entry.js +23 -18
  13. package/dist/mi-chip.entry.js +25 -16
  14. package/dist/mi-column.entry.js +47 -23
  15. package/dist/mi-combo-box.entry.js +412 -379
  16. package/dist/mi-components.js +15 -12
  17. package/dist/mi-data-table.entry.js +298 -278
  18. package/dist/mi-distance_2.entry.js +58 -56
  19. package/dist/mi-dropdown-item.entry.js +8 -10
  20. package/dist/mi-dropdown.entry.js +525 -481
  21. package/dist/mi-floor-selector.entry.js +183 -180
  22. package/dist/mi-keyboard.entry.js +207 -186
  23. package/dist/mi-list-item-category.entry.js +44 -41
  24. package/dist/mi-list-item-location.entry.js +168 -162
  25. package/dist/mi-list.entry.js +56 -48
  26. package/dist/mi-location-booking.entry.js +320 -295
  27. package/dist/mi-location-info.entry.js +61 -53
  28. package/dist/mi-map-googlemaps.entry.js +369 -324
  29. package/dist/mi-map-mapbox.entry.js +502 -439
  30. package/dist/mi-metric-card.entry.js +50 -37
  31. package/dist/mi-my-position.entry.js +2341 -874
  32. package/dist/mi-notification.entry.js +112 -102
  33. package/dist/mi-route-instructions-heading.entry.js +70 -65
  34. package/dist/mi-route-instructions-maneuver-legacy.entry.js +80 -76
  35. package/dist/mi-route-instructions-maneuver.entry.js +80 -76
  36. package/dist/mi-route-instructions-step-legacy.entry.js +296 -282
  37. package/dist/mi-route-instructions-step.entry.js +313 -292
  38. package/dist/mi-route-instructions.entry.js +167 -150
  39. package/dist/mi-scroll-buttons.entry.js +104 -98
  40. package/dist/mi-search.entry.js +366 -325
  41. package/dist/mi-share-sms.entry.js +82 -70
  42. package/dist/mi-step-switcher.entry.js +34 -25
  43. package/dist/mi-tab-panel.entry.js +18 -18
  44. package/dist/mi-tab.entry.js +5 -7
  45. package/dist/mi-tabs.entry.js +42 -40
  46. package/dist/mi-time.entry.js +49 -49
  47. package/dist/mi-variables-CDNvnTkH.js +5 -0
  48. package/dist/{reactcomponent-DQsjxRIN.mjs → reactcomponent-2Oa1vSiK.mjs} +8996 -8660
  49. package/dist/route-travel-mode.enum-BvqP1fpw.js +9 -0
  50. package/dist/sort-order.enum-jsLAbYWg.js +566 -0
  51. package/dist/{unit-system.enum-eaefb53e.js → unit-system.enum-BwPgAWqL.js} +2 -2
  52. package/dist/utils-DNHzysQ6.js +61 -0
  53. package/package.json +1 -1
  54. package/dist/_commonjsHelpers-ba3f0406.js +0 -21
  55. package/dist/icon-b8d01d6f.js +0 -24
  56. package/dist/index-7e9696f3.js +0 -1678
  57. package/dist/mi-variables-9a6c8d4d.js +0 -6
  58. package/dist/polyfills/core-js.js +0 -11
  59. package/dist/polyfills/css-shim.js +0 -1
  60. package/dist/polyfills/dom.js +0 -79
  61. package/dist/polyfills/es5-html-element.js +0 -1
  62. package/dist/polyfills/index.js +0 -34
  63. package/dist/polyfills/system.js +0 -6
  64. package/dist/route-travel-mode.enum-7f4ce9c7.js +0 -9
  65. package/dist/sort-order.enum-64ce8998.js +0 -552
  66. package/dist/utils-ae714467.js +0 -61
@@ -1,552 +0,0 @@
1
- import { c as createCommonjsModule, a as commonjsGlobal } from './_commonjsHelpers-ba3f0406.js';
2
-
3
- var fuzzysort = createCommonjsModule(function (module) {
4
- ((root, UMD) => {
5
- if(module.exports) module.exports = UMD();
6
- else root['fuzzysort'] = UMD();
7
- })(commonjsGlobal, _ => {
8
-
9
- var single = (search, target) => { if(search=='farzher')return {target:"farzher was here (^-^*)/",score:0,_indexes:[0]}
10
- if(!search || !target) return NULL
11
-
12
- var preparedSearch = getPreparedSearch(search);
13
- if(!isObj(target)) target = getPrepared(target);
14
-
15
- var searchBitflags = preparedSearch.bitflags;
16
- if((searchBitflags & target._bitflags) !== searchBitflags) return NULL
17
-
18
- return algorithm(preparedSearch, target)
19
- };
20
-
21
-
22
- var go = (search, targets, options) => { if(search=='farzher')return [{target:"farzher was here (^-^*)/",score:0,_indexes:[0],obj:targets?targets[0]:NULL}]
23
- if(!search) return options&&options.all ? all(search, targets, options) : noResults
24
-
25
- var preparedSearch = getPreparedSearch(search);
26
- var searchBitflags = preparedSearch.bitflags;
27
-
28
- var threshold = options&&options.threshold || INT_MIN;
29
- var limit = options&&options['limit'] || INT_MAX; // for some reason only limit breaks when minified
30
-
31
- var resultsLen = 0; var limitedCount = 0;
32
- var targetsLen = targets.length;
33
-
34
- // This code is copy/pasted 3 times for performance reasons [options.keys, options.key, no keys]
35
-
36
- // options.key
37
- if(options && options.key) {
38
- var key = options.key;
39
- for(var i = 0; i < targetsLen; ++i) { var obj = targets[i];
40
- var target = getValue(obj, key);
41
- if(!target) continue
42
- if(!isObj(target)) target = getPrepared(target);
43
-
44
- if((searchBitflags & target._bitflags) !== searchBitflags) continue
45
- var result = algorithm(preparedSearch, target);
46
- if(result === NULL) continue
47
- if(result.score < threshold) continue
48
-
49
- // have to clone result so duplicate targets from different obj can each reference the correct obj
50
- result = {target:result.target, _targetLower:'', _targetLowerCodes:NULL, _nextBeginningIndexes:NULL, _bitflags:0, score:result.score, _indexes:result._indexes, obj:obj}; // hidden
51
-
52
- if(resultsLen < limit) { q.add(result); ++resultsLen; }
53
- else {
54
- ++limitedCount;
55
- if(result.score > q.peek().score) q.replaceTop(result);
56
- }
57
- }
58
-
59
- // options.keys
60
- } else if(options && options.keys) {
61
- var scoreFn = options['scoreFn'] || defaultScoreFn;
62
- var keys = options.keys;
63
- var keysLen = keys.length;
64
- for(var i = 0; i < targetsLen; ++i) { var obj = targets[i];
65
- var objResults = new Array(keysLen);
66
- for (var keyI = 0; keyI < keysLen; ++keyI) {
67
- var key = keys[keyI];
68
- var target = getValue(obj, key);
69
- if(!target) { objResults[keyI] = NULL; continue }
70
- if(!isObj(target)) target = getPrepared(target);
71
-
72
- if((searchBitflags & target._bitflags) !== searchBitflags) objResults[keyI] = NULL;
73
- else objResults[keyI] = algorithm(preparedSearch, target);
74
- }
75
- objResults.obj = obj; // before scoreFn so scoreFn can use it
76
- var score = scoreFn(objResults);
77
- if(score === NULL) continue
78
- if(score < threshold) continue
79
- objResults.score = score;
80
- if(resultsLen < limit) { q.add(objResults); ++resultsLen; }
81
- else {
82
- ++limitedCount;
83
- if(score > q.peek().score) q.replaceTop(objResults);
84
- }
85
- }
86
-
87
- // no keys
88
- } else {
89
- for(var i = 0; i < targetsLen; ++i) { var target = targets[i];
90
- if(!target) continue
91
- if(!isObj(target)) target = getPrepared(target);
92
-
93
- if((searchBitflags & target._bitflags) !== searchBitflags) continue
94
- var result = algorithm(preparedSearch, target);
95
- if(result === NULL) continue
96
- if(result.score < threshold) continue
97
- if(resultsLen < limit) { q.add(result); ++resultsLen; }
98
- else {
99
- ++limitedCount;
100
- if(result.score > q.peek().score) q.replaceTop(result);
101
- }
102
- }
103
- }
104
-
105
- if(resultsLen === 0) return noResults
106
- var results = new Array(resultsLen);
107
- for(var i = resultsLen - 1; i >= 0; --i) results[i] = q.poll();
108
- results.total = resultsLen + limitedCount;
109
- return results
110
- };
111
-
112
-
113
- var highlight = (result, hOpen, hClose) => {
114
- if(typeof hOpen === 'function') return highlightCallback(result, hOpen)
115
- if(result === NULL) return NULL
116
- if(hOpen === undefined) hOpen = '<b>';
117
- if(hClose === undefined) hClose = '</b>';
118
- var highlighted = '';
119
- var matchesIndex = 0;
120
- var opened = false;
121
- var target = result.target;
122
- var targetLen = target.length;
123
- var indexes = result._indexes;
124
- indexes = indexes.slice(0, indexes.len).sort((a,b)=>a-b);
125
- for(var i = 0; i < targetLen; ++i) { var char = target[i];
126
- if(indexes[matchesIndex] === i) {
127
- ++matchesIndex;
128
- if(!opened) { opened = true;
129
- highlighted += hOpen;
130
- }
131
-
132
- if(matchesIndex === indexes.length) {
133
- highlighted += char + hClose + target.substr(i+1);
134
- break
135
- }
136
- } else {
137
- if(opened) { opened = false;
138
- highlighted += hClose;
139
- }
140
- }
141
- highlighted += char;
142
- }
143
-
144
- return highlighted
145
- };
146
- var highlightCallback = (result, cb) => {
147
- if(result === NULL) return NULL
148
- var target = result.target;
149
- var targetLen = target.length;
150
- var indexes = result._indexes;
151
- indexes = indexes.slice(0, indexes.len).sort((a,b)=>a-b);
152
- var highlighted = '';
153
- var matchI = 0;
154
- var indexesI = 0;
155
- var opened = false;
156
- var result = [];
157
- for(var i = 0; i < targetLen; ++i) { var char = target[i];
158
- if(indexes[indexesI] === i) {
159
- ++indexesI;
160
- if(!opened) { opened = true;
161
- result.push(highlighted); highlighted = '';
162
- }
163
-
164
- if(indexesI === indexes.length) {
165
- highlighted += char;
166
- result.push(cb(highlighted, matchI++)); highlighted = '';
167
- result.push(target.substr(i+1));
168
- break
169
- }
170
- } else {
171
- if(opened) { opened = false;
172
- result.push(cb(highlighted, matchI++)); highlighted = '';
173
- }
174
- }
175
- highlighted += char;
176
- }
177
- return result
178
- };
179
-
180
-
181
- var indexes = result => result._indexes.slice(0, result._indexes.len).sort((a,b)=>a-b);
182
-
183
-
184
- var prepare = (target) => {
185
- if(typeof target !== 'string') target = '';
186
- var info = prepareLowerInfo(target);
187
- return {'target':target, _targetLower:info._lower, _targetLowerCodes:info.lowerCodes, _nextBeginningIndexes:NULL, _bitflags:info.bitflags, 'score':NULL, _indexes:[0], 'obj':NULL} // hidden
188
- };
189
-
190
-
191
- // Below this point is only internal code
192
- // Below this point is only internal code
193
- // Below this point is only internal code
194
- // Below this point is only internal code
195
-
196
-
197
- var prepareSearch = (search) => {
198
- if(typeof search !== 'string') search = '';
199
- search = search.trim();
200
- var info = prepareLowerInfo(search);
201
-
202
- var spaceSearches = [];
203
- if(info.containsSpace) {
204
- var searches = search.split(/\s+/);
205
- searches = [...new Set(searches)]; // distinct
206
- for(var i=0; i<searches.length; i++) {
207
- if(searches[i] === '') continue
208
- var _info = prepareLowerInfo(searches[i]);
209
- spaceSearches.push({lowerCodes:_info.lowerCodes, _lower:searches[i].toLowerCase(), containsSpace:false});
210
- }
211
- }
212
-
213
- return {lowerCodes: info.lowerCodes, bitflags: info.bitflags, containsSpace: info.containsSpace, _lower: info._lower, spaceSearches: spaceSearches}
214
- };
215
-
216
-
217
-
218
- var getPrepared = (target) => {
219
- if(target.length > 999) return prepare(target) // don't cache huge targets
220
- var targetPrepared = preparedCache.get(target);
221
- if(targetPrepared !== undefined) return targetPrepared
222
- targetPrepared = prepare(target);
223
- preparedCache.set(target, targetPrepared);
224
- return targetPrepared
225
- };
226
- var getPreparedSearch = (search) => {
227
- if(search.length > 999) return prepareSearch(search) // don't cache huge searches
228
- var searchPrepared = preparedSearchCache.get(search);
229
- if(searchPrepared !== undefined) return searchPrepared
230
- searchPrepared = prepareSearch(search);
231
- preparedSearchCache.set(search, searchPrepared);
232
- return searchPrepared
233
- };
234
-
235
-
236
- var all = (search, targets, options) => {
237
- var results = []; results.total = targets.length;
238
-
239
- var limit = options && options.limit || INT_MAX;
240
-
241
- if(options && options.key) {
242
- for(var i=0;i<targets.length;i++) { var obj = targets[i];
243
- var target = getValue(obj, options.key);
244
- if(!target) continue
245
- if(!isObj(target)) target = getPrepared(target);
246
- target.score = INT_MIN;
247
- target._indexes.len = 0;
248
- var result = target;
249
- result = {target:result.target, _targetLower:'', _targetLowerCodes:NULL, _nextBeginningIndexes:NULL, _bitflags:0, score:target.score, _indexes:NULL, obj:obj}; // hidden
250
- results.push(result); if(results.length >= limit) return results
251
- }
252
- } else if(options && options.keys) {
253
- for(var i=0;i<targets.length;i++) { var obj = targets[i];
254
- var objResults = new Array(options.keys.length);
255
- for (var keyI = options.keys.length - 1; keyI >= 0; --keyI) {
256
- var target = getValue(obj, options.keys[keyI]);
257
- if(!target) { objResults[keyI] = NULL; continue }
258
- if(!isObj(target)) target = getPrepared(target);
259
- target.score = INT_MIN;
260
- target._indexes.len = 0;
261
- objResults[keyI] = target;
262
- }
263
- objResults.obj = obj;
264
- objResults.score = INT_MIN;
265
- results.push(objResults); if(results.length >= limit) return results
266
- }
267
- } else {
268
- for(var i=0;i<targets.length;i++) { var target = targets[i];
269
- if(!target) continue
270
- if(!isObj(target)) target = getPrepared(target);
271
- target.score = INT_MIN;
272
- target._indexes.len = 0;
273
- results.push(target); if(results.length >= limit) return results
274
- }
275
- }
276
-
277
- return results
278
- };
279
-
280
-
281
- var algorithm = (preparedSearch, prepared, allowSpaces=false) => {
282
- if(allowSpaces===false && preparedSearch.containsSpace) return algorithmSpaces(preparedSearch, prepared)
283
-
284
- var searchLower = preparedSearch._lower;
285
- var searchLowerCodes = preparedSearch.lowerCodes;
286
- var searchLowerCode = searchLowerCodes[0];
287
- var targetLowerCodes = prepared._targetLowerCodes;
288
- var searchLen = searchLowerCodes.length;
289
- var targetLen = targetLowerCodes.length;
290
- var searchI = 0; // where we at
291
- var targetI = 0; // where you at
292
- var matchesSimpleLen = 0;
293
-
294
- // very basic fuzzy match; to remove non-matching targets ASAP!
295
- // walk through target. find sequential matches.
296
- // if all chars aren't found then exit
297
- for(;;) {
298
- var isMatch = searchLowerCode === targetLowerCodes[targetI];
299
- if(isMatch) {
300
- matchesSimple[matchesSimpleLen++] = targetI;
301
- ++searchI; if(searchI === searchLen) break
302
- searchLowerCode = searchLowerCodes[searchI];
303
- }
304
- ++targetI; if(targetI >= targetLen) return NULL // Failed to find searchI
305
- }
306
-
307
- var searchI = 0;
308
- var successStrict = false;
309
- var matchesStrictLen = 0;
310
-
311
- var nextBeginningIndexes = prepared._nextBeginningIndexes;
312
- if(nextBeginningIndexes === NULL) nextBeginningIndexes = prepared._nextBeginningIndexes = prepareNextBeginningIndexes(prepared.target);
313
- targetI = matchesSimple[0]===0 ? 0 : nextBeginningIndexes[matchesSimple[0]-1];
314
-
315
- // Our target string successfully matched all characters in sequence!
316
- // Let's try a more advanced and strict test to improve the score
317
- // only count it as a match if it's consecutive or a beginning character!
318
- var backtrackCount = 0;
319
- if(targetI !== targetLen) for(;;) {
320
- if(targetI >= targetLen) {
321
- // We failed to find a good spot for this search char, go back to the previous search char and force it forward
322
- if(searchI <= 0) break // We failed to push chars forward for a better match
323
-
324
- ++backtrackCount; if(backtrackCount > 200) break // exponential backtracking is taking too long, just give up and return a bad match
325
-
326
- --searchI;
327
- var lastMatch = matchesStrict[--matchesStrictLen];
328
- targetI = nextBeginningIndexes[lastMatch];
329
-
330
- } else {
331
- var isMatch = searchLowerCodes[searchI] === targetLowerCodes[targetI];
332
- if(isMatch) {
333
- matchesStrict[matchesStrictLen++] = targetI;
334
- ++searchI; if(searchI === searchLen) { successStrict = true; break }
335
- ++targetI;
336
- } else {
337
- targetI = nextBeginningIndexes[targetI];
338
- }
339
- }
340
- }
341
-
342
- // check if it's a substring match
343
- var substringIndex = prepared._targetLower.indexOf(searchLower, matchesSimple[0]); // perf: this is slow
344
- var isSubstring = ~substringIndex;
345
- if(isSubstring && !successStrict) { // rewrite the indexes from basic to the substring
346
- for(var i=0; i<matchesSimpleLen; ++i) matchesSimple[i] = substringIndex+i;
347
- }
348
- var isSubstringBeginning = false;
349
- if(isSubstring) {
350
- isSubstringBeginning = prepared._nextBeginningIndexes[substringIndex-1] === substringIndex;
351
- }
352
-
353
- { // tally up the score & keep track of matches for highlighting later
354
- if(successStrict) { var matchesBest = matchesStrict; var matchesBestLen = matchesStrictLen; }
355
- else { var matchesBest = matchesSimple; var matchesBestLen = matchesSimpleLen; }
356
-
357
- var score = 0;
358
-
359
- var extraMatchGroupCount = 0;
360
- for(var i = 1; i < searchLen; ++i) {
361
- if(matchesBest[i] - matchesBest[i-1] !== 1) {score -= matchesBest[i]; ++extraMatchGroupCount;}
362
- }
363
- var unmatchedDistance = matchesBest[searchLen-1] - matchesBest[0] - (searchLen-1);
364
-
365
- score -= (12+unmatchedDistance) * extraMatchGroupCount; // penality for more groups
366
-
367
- if(matchesBest[0] !== 0) score -= matchesBest[0]*matchesBest[0]*.2; // penality for not starting near the beginning
368
-
369
- if(!successStrict) {
370
- score *= 1000;
371
- } else {
372
- // successStrict on a target with too many beginning indexes loses points for being a bad target
373
- var uniqueBeginningIndexes = 1;
374
- for(var i = nextBeginningIndexes[0]; i < targetLen; i=nextBeginningIndexes[i]) ++uniqueBeginningIndexes;
375
-
376
- if(uniqueBeginningIndexes > 24) score *= (uniqueBeginningIndexes-24)*10; // quite arbitrary numbers here ...
377
- }
378
-
379
- if(isSubstring) score /= 1+searchLen*searchLen*1; // bonus for being a full substring
380
- if(isSubstringBeginning) score /= 1+searchLen*searchLen*1; // bonus for substring starting on a beginningIndex
381
-
382
- score -= targetLen - searchLen; // penality for longer targets
383
- prepared.score = score;
384
-
385
- for(var i = 0; i < matchesBestLen; ++i) prepared._indexes[i] = matchesBest[i];
386
- prepared._indexes.len = matchesBestLen;
387
-
388
- return prepared
389
- }
390
- };
391
- var algorithmSpaces = (preparedSearch, target) => {
392
- var seen_indexes = new Set();
393
- var score = 0;
394
- var result = NULL;
395
-
396
- var first_seen_index_last_search = 0;
397
- var searches = preparedSearch.spaceSearches;
398
- for(var i=0; i<searches.length; ++i) {
399
- var search = searches[i];
400
-
401
- result = algorithm(search, target);
402
- if(result === NULL) return NULL
403
-
404
- score += result.score;
405
-
406
- // dock points based on order otherwise "c man" returns Manifest.cpp instead of CheatManager.h
407
- if(result._indexes[0] < first_seen_index_last_search) {
408
- score -= first_seen_index_last_search - result._indexes[0];
409
- }
410
- first_seen_index_last_search = result._indexes[0];
411
-
412
- for(var j=0; j<result._indexes.len; ++j) seen_indexes.add(result._indexes[j]);
413
- }
414
-
415
- // allows a search with spaces that's an exact substring to score well
416
- var allowSpacesResult = algorithm(preparedSearch, target, /*allowSpaces=*/true);
417
- if(allowSpacesResult !== NULL && allowSpacesResult.score > score) {
418
- return allowSpacesResult
419
- }
420
-
421
- result.score = score;
422
-
423
- var i = 0;
424
- for (let index of seen_indexes) result._indexes[i++] = index;
425
- result._indexes.len = i;
426
-
427
- return result
428
- };
429
-
430
-
431
- var prepareLowerInfo = (str) => {
432
- var strLen = str.length;
433
- var lower = str.toLowerCase();
434
- var lowerCodes = []; // new Array(strLen) sparse array is too slow
435
- var bitflags = 0;
436
- var containsSpace = false; // space isn't stored in bitflags because of how searching with a space works
437
-
438
- for(var i = 0; i < strLen; ++i) {
439
- var lowerCode = lowerCodes[i] = lower.charCodeAt(i);
440
-
441
- if(lowerCode === 32) {
442
- containsSpace = true;
443
- continue // it's important that we don't set any bitflags for space
444
- }
445
-
446
- var bit = lowerCode>=97&&lowerCode<=122 ? lowerCode-97 // alphabet
447
- : lowerCode>=48&&lowerCode<=57 ? 26 // numbers
448
- // 3 bits available
449
- : lowerCode<=127 ? 30 // other ascii
450
- : 31; // other utf8
451
- bitflags |= 1<<bit;
452
- }
453
-
454
- return {lowerCodes:lowerCodes, bitflags:bitflags, containsSpace:containsSpace, _lower:lower}
455
- };
456
- var prepareBeginningIndexes = (target) => {
457
- var targetLen = target.length;
458
- var beginningIndexes = []; var beginningIndexesLen = 0;
459
- var wasUpper = false;
460
- var wasAlphanum = false;
461
- for(var i = 0; i < targetLen; ++i) {
462
- var targetCode = target.charCodeAt(i);
463
- var isUpper = targetCode>=65&&targetCode<=90;
464
- var isAlphanum = isUpper || targetCode>=97&&targetCode<=122 || targetCode>=48&&targetCode<=57;
465
- var isBeginning = isUpper && !wasUpper || !wasAlphanum || !isAlphanum;
466
- wasUpper = isUpper;
467
- wasAlphanum = isAlphanum;
468
- if(isBeginning) beginningIndexes[beginningIndexesLen++] = i;
469
- }
470
- return beginningIndexes
471
- };
472
- var prepareNextBeginningIndexes = (target) => {
473
- var targetLen = target.length;
474
- var beginningIndexes = prepareBeginningIndexes(target);
475
- var nextBeginningIndexes = []; // new Array(targetLen) sparse array is too slow
476
- var lastIsBeginning = beginningIndexes[0];
477
- var lastIsBeginningI = 0;
478
- for(var i = 0; i < targetLen; ++i) {
479
- if(lastIsBeginning > i) {
480
- nextBeginningIndexes[i] = lastIsBeginning;
481
- } else {
482
- lastIsBeginning = beginningIndexes[++lastIsBeginningI];
483
- nextBeginningIndexes[i] = lastIsBeginning===undefined ? targetLen : lastIsBeginning;
484
- }
485
- }
486
- return nextBeginningIndexes
487
- };
488
-
489
-
490
- var cleanup = () => { preparedCache.clear(); preparedSearchCache.clear(); matchesSimple = []; matchesStrict = []; };
491
-
492
- var preparedCache = new Map();
493
- var preparedSearchCache = new Map();
494
- var matchesSimple = []; var matchesStrict = [];
495
-
496
-
497
- // for use with keys. just returns the maximum score
498
- var defaultScoreFn = (a) => {
499
- var max = INT_MIN;
500
- var len = a.length;
501
- for (var i = 0; i < len; ++i) {
502
- var result = a[i]; if(result === NULL) continue
503
- var score = result.score;
504
- if(score > max) max = score;
505
- }
506
- if(max === INT_MIN) return NULL
507
- return max
508
- };
509
-
510
- // prop = 'key' 2.5ms optimized for this case, seems to be about as fast as direct obj[prop]
511
- // prop = 'key1.key2' 10ms
512
- // prop = ['key1', 'key2'] 27ms
513
- var getValue = (obj, prop) => {
514
- var tmp = obj[prop]; if(tmp !== undefined) return tmp
515
- var segs = prop;
516
- if(!Array.isArray(prop)) segs = prop.split('.');
517
- var len = segs.length;
518
- var i = -1;
519
- while (obj && (++i < len)) obj = obj[segs[i]];
520
- return obj
521
- };
522
-
523
- var isObj = (x) => { return typeof x === 'object' }; // faster as a function
524
- // var INT_MAX = 9007199254740991; var INT_MIN = -INT_MAX
525
- var INT_MAX = Infinity; var INT_MIN = -INT_MAX;
526
- var noResults = []; noResults.total = 0;
527
- var NULL = null;
528
-
529
-
530
- // Hacked version of https://github.com/lemire/FastPriorityQueue.js
531
- var fastpriorityqueue=r=>{var e=[],o=0,a={},v=r=>{for(var a=0,v=e[a],c=1;c<o;){var s=c+1;a=c,s<o&&e[s].score<e[c].score&&(a=s),e[a-1>>1]=e[a],c=1+(a<<1);}for(var f=a-1>>1;a>0&&v.score<e[f].score;f=(a=f)-1>>1)e[a]=e[f];e[a]=v;};return a.add=(r=>{var a=o;e[o++]=r;for(var v=a-1>>1;a>0&&r.score<e[v].score;v=(a=v)-1>>1)e[a]=e[v];e[a]=r;}),a.poll=(r=>{if(0!==o){var a=e[0];return e[0]=e[--o],v(),a}}),a.peek=(r=>{if(0!==o)return e[0]}),a.replaceTop=(r=>{e[0]=r,v();}),a};
532
- var q = fastpriorityqueue(); // reuse this
533
-
534
-
535
- // fuzzysort is written this way for minification. all names are mangeled unless quoted
536
- return {'single':single, 'go':go, 'highlight':highlight, 'prepare':prepare, 'indexes':indexes, 'cleanup':cleanup}
537
- }); // UMD
538
-
539
- // TODO: (feature) frecency
540
- // TODO: (perf) use different sorting algo depending on the # of results?
541
- // TODO: (perf) preparedCache is a memory leak
542
- // TODO: (like sublime) backslash === forwardslash
543
- // TODO: (perf) prepareSearch seems slow
544
- });
545
-
546
- var SortOrder;
547
- (function (SortOrder) {
548
- SortOrder["Asc"] = "asc";
549
- SortOrder["Desc"] = "desc";
550
- })(SortOrder || (SortOrder = {}));
551
-
552
- export { SortOrder as S, fuzzysort as f };
@@ -1,61 +0,0 @@
1
- function isNumber(str) {
2
- return str !== null && str > '' && !isNaN(Number(str));
3
- }
4
- function formatNumber(n) {
5
- return Number(n).toLocaleString(undefined, { minimumFractionDigits: 0 });
6
- }
7
- function isNullOrUndefined(input) {
8
- return (input === null || input === undefined);
9
- }
10
- /**
11
- * Check if current browser is Internet Explorer.
12
- *
13
- * @export
14
- * @returns {boolean}
15
- */
16
- function isInternetExplorer() {
17
- return (navigator.userAgent.match(/Trident/g) || navigator.userAgent.match(/MSIE/g)) ? true : false;
18
- }
19
- /**
20
- * Check if string is a valid URL.
21
- * @param {string} urlString
22
- * @returns {boolean}
23
- */
24
- function isUrlValid(urlString) {
25
- try {
26
- new URL(urlString);
27
- return true;
28
- }
29
- catch (err) {
30
- return false;
31
- }
32
- }
33
- /**
34
- * Append query parameters to image URL hosted by MapsIndoors to request with specific size or scale depending on hostname.
35
- * @param {string} imageURL - URL for image
36
- * @param {number} iconDisplaySize - The width and height that the icon should be displayed in
37
- * @returns string
38
- */
39
- function appendMapsIndoorsImageQueryParameters(imageURL, iconDisplaySize) {
40
- if (isUrlValid(imageURL) === false) {
41
- return;
42
- }
43
- const url = new URL(imageURL);
44
- const hostname = url.hostname;
45
- if (hostname === 'image.mapsindoors.com') {
46
- // Add query parameters for image size and fitMode.
47
- const devicePixelRatio = Math.max(2, window.devicePixelRatio || 1); // Forced minimum of 2 to circumvent poor scaling quality delivered from the image API (see MIBAPI-2566)
48
- const imageRequestWidth = iconDisplaySize * devicePixelRatio;
49
- const imageRequestHeight = iconDisplaySize * devicePixelRatio;
50
- url.searchParams.set('width', imageRequestWidth.toString());
51
- url.searchParams.set('height', imageRequestHeight.toString());
52
- url.searchParams.set('fitMode', 'cover');
53
- }
54
- if (['app.mapsindoors.com', 'v2.mapsindoors.com'].includes(hostname)) {
55
- // For legacy images, add a scale parameter
56
- url.searchParams.set('scale', '2');
57
- }
58
- return url.toString();
59
- }
60
-
61
- export { isNumber as a, appendMapsIndoorsImageQueryParameters as b, isInternetExplorer as c, formatNumber as f, isNullOrUndefined as i };