@swisspost/internet-header 1.8.0 → 1.8.1-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{index-1dad2dbc.js → index-5aa18735.js} +1 -1
- package/dist/cjs/{index-1dad2dbc.js.map → index-5aa18735.js.map} +1 -1
- package/dist/cjs/{language.service-bde3928b.js → language.service-2d0a1edd.js} +2 -2
- package/dist/cjs/{language.service-bde3928b.js.map → language.service-2d0a1edd.js.map} +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/loader.cjs.js.map +1 -1
- package/dist/cjs/post-klp-login-widget.cjs.entry.js +4 -4
- package/dist/cjs/post-language-switch.cjs.entry.js +5 -5
- package/dist/cjs/post-logo.cjs.entry.js +2 -2
- package/dist/cjs/post-main-navigation.cjs.entry.js +5 -5
- package/dist/cjs/post-meta-navigation.cjs.entry.js +2 -2
- package/dist/cjs/post-search.cjs.entry.js +4 -4
- package/dist/cjs/post-skiplinks.cjs.entry.js +4 -4
- package/dist/cjs/{store-28ab134c.js → store-3355e50f.js} +2 -2
- package/dist/cjs/{store-28ab134c.js.map → store-3355e50f.js.map} +1 -1
- package/dist/cjs/{svg-icon.component-feee07b0.js → svg-icon.component-74d2326c.js} +2 -2
- package/dist/cjs/{svg-icon.component-feee07b0.js.map → svg-icon.component-74d2326c.js.map} +1 -1
- package/dist/cjs/{svg-sprite.component-45439f54.js → svg-sprite.component-4fd3c959.js} +2 -2
- package/dist/cjs/{svg-sprite.component-45439f54.js.map → svg-sprite.component-4fd3c959.js.map} +1 -1
- package/dist/cjs/swisspost-internet-breadcrumbs.cjs.entry.js +49 -17
- package/dist/cjs/swisspost-internet-breadcrumbs.cjs.entry.js.map +1 -1
- package/dist/cjs/swisspost-internet-footer.cjs.entry.js +3 -3
- package/dist/cjs/swisspost-internet-header.cjs.entry.js +22 -25
- package/dist/cjs/swisspost-internet-header.cjs.entry.js.map +1 -1
- package/dist/cjs/swisspost-internet-header.cjs.js +2 -2
- package/dist/cjs/swisspost-internet-header.cjs.js.map +1 -1
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/components/store.js.map +1 -1
- package/dist/components/swisspost-internet-breadcrumbs.js +44 -12
- package/dist/components/swisspost-internet-breadcrumbs.js.map +1 -1
- package/dist/components/swisspost-internet-header.js +17 -20
- package/dist/components/swisspost-internet-header.js.map +1 -1
- package/dist/esm/{index-d01ac670.js → index-8d59532e.js} +1 -1
- package/dist/esm/{index-d01ac670.js.map → index-8d59532e.js.map} +1 -1
- package/dist/esm/{language.service-fb4baac0.js → language.service-002fec1c.js} +2 -2
- package/dist/esm/{language.service-fb4baac0.js.map → language.service-002fec1c.js.map} +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/loader.js.map +1 -1
- package/dist/esm/post-klp-login-widget.entry.js +4 -4
- package/dist/esm/post-language-switch.entry.js +5 -5
- package/dist/esm/post-logo.entry.js +2 -2
- package/dist/esm/post-main-navigation.entry.js +5 -5
- package/dist/esm/post-meta-navigation.entry.js +2 -2
- package/dist/esm/post-search.entry.js +4 -4
- package/dist/esm/post-skiplinks.entry.js +4 -4
- package/dist/esm/{store-b7ee7d0a.js → store-a6a8929c.js} +2 -2
- package/dist/esm/{store-b7ee7d0a.js.map → store-a6a8929c.js.map} +1 -1
- package/dist/esm/{svg-icon.component-556960e5.js → svg-icon.component-aff0d204.js} +2 -2
- package/dist/esm/{svg-icon.component-556960e5.js.map → svg-icon.component-aff0d204.js.map} +1 -1
- package/dist/esm/{svg-sprite.component-7b47ac16.js → svg-sprite.component-7c9a1dcd.js} +2 -2
- package/dist/esm/{svg-sprite.component-7b47ac16.js.map → svg-sprite.component-7c9a1dcd.js.map} +1 -1
- package/dist/esm/swisspost-internet-breadcrumbs.entry.js +49 -17
- package/dist/esm/swisspost-internet-breadcrumbs.entry.js.map +1 -1
- package/dist/esm/swisspost-internet-footer.entry.js +3 -3
- package/dist/esm/swisspost-internet-header.entry.js +22 -25
- package/dist/esm/swisspost-internet-header.entry.js.map +1 -1
- package/dist/esm/swisspost-internet-header.js +3 -3
- package/dist/esm/swisspost-internet-header.js.map +1 -1
- package/dist/esm-es5/{index-d01ac670.js → index-8d59532e.js} +1 -1
- package/dist/esm-es5/{index-d01ac670.js.map → index-8d59532e.js.map} +1 -1
- package/dist/esm-es5/{language.service-fb4baac0.js → language.service-002fec1c.js} +2 -2
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/loader.js.map +1 -1
- package/dist/esm-es5/post-klp-login-widget.entry.js +1 -1
- package/dist/esm-es5/post-language-switch.entry.js +1 -1
- package/dist/esm-es5/post-logo.entry.js +1 -1
- package/dist/esm-es5/post-main-navigation.entry.js +1 -1
- package/dist/esm-es5/post-meta-navigation.entry.js +1 -1
- package/dist/esm-es5/post-search.entry.js +1 -1
- package/dist/esm-es5/post-skiplinks.entry.js +1 -1
- package/dist/esm-es5/{store-b7ee7d0a.js → store-a6a8929c.js} +2 -2
- package/dist/esm-es5/{store-b7ee7d0a.js.map → store-a6a8929c.js.map} +1 -1
- package/dist/esm-es5/svg-icon.component-aff0d204.js +2 -0
- package/dist/esm-es5/{svg-sprite.component-7b47ac16.js → svg-sprite.component-7c9a1dcd.js} +2 -2
- package/dist/esm-es5/swisspost-internet-breadcrumbs.entry.js +3 -3
- package/dist/esm-es5/swisspost-internet-breadcrumbs.entry.js.map +1 -1
- package/dist/esm-es5/swisspost-internet-footer.entry.js +1 -1
- package/dist/esm-es5/swisspost-internet-header.entry.js +1 -1
- package/dist/esm-es5/swisspost-internet-header.entry.js.map +1 -1
- package/dist/esm-es5/swisspost-internet-header.js +1 -1
- package/dist/esm-es5/swisspost-internet-header.js.map +1 -1
- package/{loader → dist/loader}/cdn.js +1 -1
- package/{loader → dist/loader}/index.cjs.js +1 -1
- package/{loader → dist/loader}/index.d.ts +1 -1
- package/dist/loader/index.es2017.js +3 -0
- package/{loader → dist/loader}/index.js +2 -2
- package/dist/swisspost-internet-header/{p-7bd03c0e.entry.js → p-0cfdf8a1.entry.js} +2 -2
- package/dist/swisspost-internet-header/{p-7c5dd474.js → p-111288a2.js} +2 -2
- package/dist/swisspost-internet-header/{p-e1cd2707.entry.js → p-11b5a18f.entry.js} +2 -2
- package/dist/swisspost-internet-header/{p-89660ad0.system.js → p-266baffd.system.js} +2 -2
- package/dist/swisspost-internet-header/{p-89660ad0.system.js.map → p-266baffd.system.js.map} +1 -1
- package/dist/swisspost-internet-header/{p-6cf0efa5.entry.js → p-2ac6d85d.entry.js} +2 -2
- package/dist/swisspost-internet-header/{p-b96be594.system.js → p-35d8730c.system.js} +2 -2
- package/dist/swisspost-internet-header/{p-73dc1b8d.entry.js → p-3ab9c6ee.entry.js} +2 -2
- package/dist/swisspost-internet-header/{p-70dbaddd.system.entry.js → p-3b02cf6a.system.entry.js} +2 -2
- package/dist/swisspost-internet-header/{p-e2ebcd9e.system.entry.js → p-465c735e.system.entry.js} +2 -2
- package/dist/swisspost-internet-header/{p-bb4a21d4.system.entry.js → p-4ffdc655.system.entry.js} +2 -2
- package/dist/swisspost-internet-header/{p-17569f26.system.js → p-5ff16d8a.system.js} +2 -2
- package/dist/swisspost-internet-header/{p-17569f26.system.js.map → p-5ff16d8a.system.js.map} +1 -1
- package/dist/swisspost-internet-header/{p-277d98e5.js → p-60dfb89c.js} +1 -1
- package/dist/swisspost-internet-header/{p-277d98e5.js.map → p-60dfb89c.js.map} +1 -1
- package/dist/swisspost-internet-header/{p-04a697d8.entry.js → p-64c04714.entry.js} +2 -2
- package/dist/swisspost-internet-header/p-65cba182.entry.js +2 -0
- package/dist/swisspost-internet-header/{p-fa2fbe50.entry.js.map → p-65cba182.entry.js.map} +1 -1
- package/dist/swisspost-internet-header/{p-82ed11a2.system.js → p-74393bf7.system.js} +1 -1
- package/dist/swisspost-internet-header/{p-82ed11a2.system.js.map → p-74393bf7.system.js.map} +1 -1
- package/dist/swisspost-internet-header/{p-fbc11f39.system.entry.js → p-771e4687.system.entry.js} +2 -2
- package/dist/swisspost-internet-header/{p-23ada4b2.system.entry.js → p-77bae72c.system.entry.js} +2 -2
- package/dist/swisspost-internet-header/{p-9d66cee7.entry.js → p-7999c250.entry.js} +2 -2
- package/dist/swisspost-internet-header/{p-ce17d5d5.entry.js → p-93bb6702.entry.js} +2 -2
- package/dist/swisspost-internet-header/{p-64146100.system.entry.js → p-98fc1c18.system.entry.js} +2 -2
- package/dist/swisspost-internet-header/p-9c0dcf6a.system.entry.js +2 -0
- package/dist/swisspost-internet-header/{p-f008f2cf.system.entry.js.map → p-9c0dcf6a.system.entry.js.map} +1 -1
- package/dist/swisspost-internet-header/p-9c4b1d8c.system.entry.js +7 -0
- package/dist/swisspost-internet-header/p-9c4b1d8c.system.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-766e7efe.system.js → p-a0499b79.system.js} +2 -2
- package/dist/swisspost-internet-header/{p-40b8486f.system.entry.js → p-c2a481fb.system.entry.js} +2 -2
- package/dist/swisspost-internet-header/{p-ed24b95e.entry.js → p-c388b2d1.entry.js} +2 -2
- package/dist/swisspost-internet-header/{p-f36167f1.system.js → p-c73f6117.system.js} +2 -2
- package/dist/swisspost-internet-header/{p-5ee11538.system.entry.js → p-cf3ceaab.system.entry.js} +2 -2
- package/dist/swisspost-internet-header/{p-671daad9.js → p-d40d43be.js} +2 -2
- package/dist/swisspost-internet-header/{p-671daad9.js.map → p-d40d43be.js.map} +1 -1
- package/dist/swisspost-internet-header/p-d7fc17ac.entry.js +7 -0
- package/dist/swisspost-internet-header/p-d7fc17ac.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-9df5e826.js → p-e579c9a6.js} +2 -2
- package/dist/swisspost-internet-header/p-f6aac773.js +2 -0
- package/dist/swisspost-internet-header/swisspost-internet-header.css +1 -1
- package/dist/swisspost-internet-header/swisspost-internet-header.esm.js +1 -1
- package/dist/swisspost-internet-header/swisspost-internet-header.esm.js.map +1 -1
- package/dist/swisspost-internet-header/swisspost-internet-header.js +1 -1
- package/package.json +17 -19
- package/dist/esm-es5/svg-icon.component-556960e5.js +0 -2
- package/dist/swisspost-internet-header/p-721f7bc8.system.entry.js +0 -7
- package/dist/swisspost-internet-header/p-721f7bc8.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-efbf519d.entry.js +0 -7
- package/dist/swisspost-internet-header/p-efbf519d.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-f008f2cf.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-fa2fbe50.entry.js +0 -2
- package/dist/swisspost-internet-header/p-fab3d98b.js +0 -2
- package/loader/index.es2017.js +0 -3
- /package/dist/esm-es5/{language.service-fb4baac0.js.map → language.service-002fec1c.js.map} +0 -0
- /package/dist/esm-es5/{svg-icon.component-556960e5.js.map → svg-icon.component-aff0d204.js.map} +0 -0
- /package/dist/esm-es5/{svg-sprite.component-7b47ac16.js.map → svg-sprite.component-7c9a1dcd.js.map} +0 -0
- /package/{loader → dist/loader}/package.json +0 -0
- /package/dist/swisspost-internet-header/{p-7bd03c0e.entry.js.map → p-0cfdf8a1.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-7c5dd474.js.map → p-111288a2.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-e1cd2707.entry.js.map → p-11b5a18f.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-6cf0efa5.entry.js.map → p-2ac6d85d.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-b96be594.system.js.map → p-35d8730c.system.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-73dc1b8d.entry.js.map → p-3ab9c6ee.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-70dbaddd.system.entry.js.map → p-3b02cf6a.system.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-e2ebcd9e.system.entry.js.map → p-465c735e.system.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-bb4a21d4.system.entry.js.map → p-4ffdc655.system.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-04a697d8.entry.js.map → p-64c04714.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-fbc11f39.system.entry.js.map → p-771e4687.system.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-23ada4b2.system.entry.js.map → p-77bae72c.system.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-9d66cee7.entry.js.map → p-7999c250.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-ce17d5d5.entry.js.map → p-93bb6702.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-64146100.system.entry.js.map → p-98fc1c18.system.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-766e7efe.system.js.map → p-a0499b79.system.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-40b8486f.system.entry.js.map → p-c2a481fb.system.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-ed24b95e.entry.js.map → p-c388b2d1.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-f36167f1.system.js.map → p-c73f6117.system.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-5ee11538.system.entry.js.map → p-cf3ceaab.system.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-9df5e826.js.map → p-e579c9a6.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-fab3d98b.js.map → p-f6aac773.js.map} +0 -0
|
@@ -2,18 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
const index = require('./index-
|
|
5
|
+
const index = require('./index-5aa18735.js');
|
|
6
6
|
const index$1 = require('./index-3216e4c8.js');
|
|
7
7
|
const bodyScrollLock_esm = require('./bodyScrollLock.esm-59f17217.js');
|
|
8
|
-
const svgIcon_component = require('./svg-icon.component-
|
|
9
|
-
const store = require('./store-
|
|
8
|
+
const svgIcon_component = require('./svg-icon.component-74d2326c.js');
|
|
9
|
+
const store = require('./store-3355e50f.js');
|
|
10
10
|
const _commonjsHelpers = require('./_commonjsHelpers-537d719a.js');
|
|
11
|
-
const svgSprite_component = require('./svg-sprite.component-
|
|
12
|
-
const language_service = require('./language.service-
|
|
11
|
+
const svgSprite_component = require('./svg-sprite.component-4fd3c959.js');
|
|
12
|
+
const language_service = require('./language.service-2d0a1edd.js');
|
|
13
13
|
const utils = require('./utils-60853c5d.js');
|
|
14
14
|
|
|
15
15
|
/*!
|
|
16
|
-
* tabbable 6.
|
|
16
|
+
* tabbable 6.2.0
|
|
17
17
|
* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE
|
|
18
18
|
*/
|
|
19
19
|
// NOTE: separate `:not()` selectors has broader browser support than the newer
|
|
@@ -193,7 +193,27 @@ var getCandidatesIteratively = function getCandidatesIteratively(elements, inclu
|
|
|
193
193
|
}
|
|
194
194
|
return candidates;
|
|
195
195
|
};
|
|
196
|
-
|
|
196
|
+
|
|
197
|
+
/**
|
|
198
|
+
* @private
|
|
199
|
+
* Determines if the node has an explicitly specified `tabindex` attribute.
|
|
200
|
+
* @param {HTMLElement} node
|
|
201
|
+
* @returns {boolean} True if so; false if not.
|
|
202
|
+
*/
|
|
203
|
+
var hasTabIndex = function hasTabIndex(node) {
|
|
204
|
+
return !isNaN(parseInt(node.getAttribute('tabindex'), 10));
|
|
205
|
+
};
|
|
206
|
+
|
|
207
|
+
/**
|
|
208
|
+
* Determine the tab index of a given node.
|
|
209
|
+
* @param {HTMLElement} node
|
|
210
|
+
* @returns {number} Tab order (negative, 0, or positive number).
|
|
211
|
+
* @throws {Error} If `node` is falsy.
|
|
212
|
+
*/
|
|
213
|
+
var getTabIndex = function getTabIndex(node) {
|
|
214
|
+
if (!node) {
|
|
215
|
+
throw new Error('No node provided');
|
|
216
|
+
}
|
|
197
217
|
if (node.tabIndex < 0) {
|
|
198
218
|
// in Chrome, <details/>, <audio controls/> and <video controls/> elements get a default
|
|
199
219
|
// `tabIndex` of -1 when the 'tabindex' attribute isn't specified in the DOM,
|
|
@@ -202,16 +222,28 @@ var getTabindex = function getTabindex(node, isScope) {
|
|
|
202
222
|
// order, consider their tab index to be 0.
|
|
203
223
|
// Also browsers do not return `tabIndex` correctly for contentEditable nodes;
|
|
204
224
|
// so if they don't have a tabindex attribute specifically set, assume it's 0.
|
|
205
|
-
|
|
206
|
-
// isScope is positive for custom element with shadow root or slot that by default
|
|
207
|
-
// have tabIndex -1, but need to be sorted by document order in order for their
|
|
208
|
-
// content to be inserted in the correct position
|
|
209
|
-
if ((isScope || /^(AUDIO|VIDEO|DETAILS)$/.test(node.tagName) || isContentEditable(node)) && isNaN(parseInt(node.getAttribute('tabindex'), 10))) {
|
|
225
|
+
if ((/^(AUDIO|VIDEO|DETAILS)$/.test(node.tagName) || isContentEditable(node)) && !hasTabIndex(node)) {
|
|
210
226
|
return 0;
|
|
211
227
|
}
|
|
212
228
|
}
|
|
213
229
|
return node.tabIndex;
|
|
214
230
|
};
|
|
231
|
+
|
|
232
|
+
/**
|
|
233
|
+
* Determine the tab index of a given node __for sort order purposes__.
|
|
234
|
+
* @param {HTMLElement} node
|
|
235
|
+
* @param {boolean} [isScope] True for a custom element with shadow root or slot that, by default,
|
|
236
|
+
* has tabIndex -1, but needs to be sorted by document order in order for its content to be
|
|
237
|
+
* inserted into the correct sort position.
|
|
238
|
+
* @returns {number} Tab order (negative, 0, or positive number).
|
|
239
|
+
*/
|
|
240
|
+
var getSortOrderTabIndex = function getSortOrderTabIndex(node, isScope) {
|
|
241
|
+
var tabIndex = getTabIndex(node);
|
|
242
|
+
if (tabIndex < 0 && isScope && !hasTabIndex(node)) {
|
|
243
|
+
return 0;
|
|
244
|
+
}
|
|
245
|
+
return tabIndex;
|
|
246
|
+
};
|
|
215
247
|
var sortOrderedTabbables = function sortOrderedTabbables(a, b) {
|
|
216
248
|
return a.tabIndex === b.tabIndex ? a.documentOrder - b.documentOrder : a.tabIndex - b.tabIndex;
|
|
217
249
|
};
|
|
@@ -454,7 +486,7 @@ var isNodeMatchingSelectorFocusable = function isNodeMatchingSelectorFocusable(o
|
|
|
454
486
|
return true;
|
|
455
487
|
};
|
|
456
488
|
var isNodeMatchingSelectorTabbable = function isNodeMatchingSelectorTabbable(options, node) {
|
|
457
|
-
if (isNonTabbableRadio(node) ||
|
|
489
|
+
if (isNonTabbableRadio(node) || getTabIndex(node) < 0 || !isNodeMatchingSelectorFocusable(options, node)) {
|
|
458
490
|
return false;
|
|
459
491
|
}
|
|
460
492
|
return true;
|
|
@@ -479,7 +511,7 @@ var sortByOrder = function sortByOrder(candidates) {
|
|
|
479
511
|
candidates.forEach(function (item, i) {
|
|
480
512
|
var isScope = !!item.scopeParent;
|
|
481
513
|
var element = isScope ? item.scopeParent : item;
|
|
482
|
-
var candidateTabindex =
|
|
514
|
+
var candidateTabindex = getSortOrderTabIndex(element, isScope);
|
|
483
515
|
var elements = isScope ? sortByOrder(item.candidates) : element;
|
|
484
516
|
if (candidateTabindex === 0) {
|
|
485
517
|
isScope ? regularTabbables.push.apply(regularTabbables, elements) : regularTabbables.push(element);
|
|
@@ -498,18 +530,18 @@ var sortByOrder = function sortByOrder(candidates) {
|
|
|
498
530
|
return acc;
|
|
499
531
|
}, []).concat(regularTabbables);
|
|
500
532
|
};
|
|
501
|
-
var tabbable = function tabbable(
|
|
533
|
+
var tabbable = function tabbable(container, options) {
|
|
502
534
|
options = options || {};
|
|
503
535
|
var candidates;
|
|
504
536
|
if (options.getShadowRoot) {
|
|
505
|
-
candidates = getCandidatesIteratively([
|
|
537
|
+
candidates = getCandidatesIteratively([container], options.includeContainer, {
|
|
506
538
|
filter: isNodeMatchingSelectorTabbable.bind(null, options),
|
|
507
539
|
flatten: false,
|
|
508
540
|
getShadowRoot: options.getShadowRoot,
|
|
509
541
|
shadowRootFilter: isValidShadowRootTabbable
|
|
510
542
|
});
|
|
511
543
|
} else {
|
|
512
|
-
candidates = getCandidates(
|
|
544
|
+
candidates = getCandidates(container, options.includeContainer, isNodeMatchingSelectorTabbable.bind(null, options));
|
|
513
545
|
}
|
|
514
546
|
return sortByOrder(candidates);
|
|
515
547
|
};
|