Rev 846 | Rev 931 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 846 | Rev 922 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | /*! |
1 | /*! |
2 | * Bootstrap v5.2.0-beta1 (https://getbootstrap.com/) |
2 | * Bootstrap v5.2.0 (https://getbootstrap.com/) |
3 | * Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) |
3 | * Copyright 2011-2022 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) |
4 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
4 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
5 | */ |
5 | */ |
6 | (function (global, factory) { |
6 | (function (global, factory) { |
7 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : |
7 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : |
Line 9... | Line 9... | ||
9 | (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.bootstrap = factory()); |
9 | (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.bootstrap = factory()); |
10 | })(this, (function () { 'use strict'; |
10 | })(this, (function () { 'use strict'; |
11 | 11 | ||
12 | /** |
12 | /** |
13 | * -------------------------------------------------------------------------- |
13 | * -------------------------------------------------------------------------- |
14 | * Bootstrap (v5.2.0-beta1): util/index.js |
14 | * Bootstrap (v5.2.0): util/index.js |
15 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
15 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
16 | * -------------------------------------------------------------------------- |
16 | * -------------------------------------------------------------------------- |
17 | */ |
17 | */ |
18 | const MAX_UID = 1000000; |
18 | const MAX_UID = 1000000; |
19 | const MILLISECONDS_MULTIPLIER = 1000; |
19 | const MILLISECONDS_MULTIPLIER = 1000; |
20 | const TRANSITION_END = 'transitionend'; // Shoutout AngusCroll (https://goo.gl/pxwQGp) |
20 | const TRANSITION_END = 'transitionend'; // Shout-out Angus Croll (https://goo.gl/pxwQGp) |
21 | 21 | ||
22 | const toType = object => { |
22 | const toType = object => { |
23 | if (object === null || object === undefined) { |
23 | if (object === null || object === undefined) { |
24 | return `${object}`; |
24 | return `${object}`; |
25 | } |
25 | } |
Line 324... | Line 324... | ||
324 | return list[Math.max(0, Math.min(index, listLength - 1))]; |
324 | return list[Math.max(0, Math.min(index, listLength - 1))]; |
325 | }; |
325 | }; |
326 | 326 | ||
327 | /** |
327 | /** |
328 | * -------------------------------------------------------------------------- |
328 | * -------------------------------------------------------------------------- |
329 | * Bootstrap (v5.2.0-beta1): dom/event-handler.js |
329 | * Bootstrap (v5.2.0): dom/event-handler.js |
330 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
330 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
331 | * -------------------------------------------------------------------------- |
331 | * -------------------------------------------------------------------------- |
332 | */ |
332 | */ |
333 | /** |
333 | /** |
334 | * Constants |
334 | * Constants |
Line 347... | Line 347... | ||
347 | const nativeEvents = new Set(['click', 'dblclick', 'mouseup', 'mousedown', 'contextmenu', 'mousewheel', 'DOMMouseScroll', 'mouseover', 'mouseout', 'mousemove', 'selectstart', 'selectend', 'keydown', 'keypress', 'keyup', 'orientationchange', 'touchstart', 'touchmove', 'touchend', 'touchcancel', 'pointerdown', 'pointermove', 'pointerup', 'pointerleave', 'pointercancel', 'gesturestart', 'gesturechange', 'gestureend', 'focus', 'blur', 'change', 'reset', 'select', 'submit', 'focusin', 'focusout', 'load', 'unload', 'beforeunload', 'resize', 'move', 'DOMContentLoaded', 'readystatechange', 'error', 'abort', 'scroll']); |
347 | const nativeEvents = new Set(['click', 'dblclick', 'mouseup', 'mousedown', 'contextmenu', 'mousewheel', 'DOMMouseScroll', 'mouseover', 'mouseout', 'mousemove', 'selectstart', 'selectend', 'keydown', 'keypress', 'keyup', 'orientationchange', 'touchstart', 'touchmove', 'touchend', 'touchcancel', 'pointerdown', 'pointermove', 'pointerup', 'pointerleave', 'pointercancel', 'gesturestart', 'gesturechange', 'gestureend', 'focus', 'blur', 'change', 'reset', 'select', 'submit', 'focusin', 'focusout', 'load', 'unload', 'beforeunload', 'resize', 'move', 'DOMContentLoaded', 'readystatechange', 'error', 'abort', 'scroll']); |
348 | /** |
348 | /** |
349 | * Private methods |
349 | * Private methods |
350 | */ |
350 | */ |
351 | 351 | ||
352 | function getUidEvent(element, uid) { |
352 | function makeEventUid(element, uid) { |
353 | return uid && `${uid}::${uidEvent++}` || element.uidEvent || uidEvent++; |
353 | return uid && `${uid}::${uidEvent++}` || element.uidEvent || uidEvent++; |
354 | } |
354 | } |
355 | 355 | ||
356 | function getEvent(element) { |
356 | function getElementEvents(element) { |
357 | const uid = getUidEvent(element); |
357 | const uid = makeEventUid(element); |
358 | element.uidEvent = uid; |
358 | element.uidEvent = uid; |
359 | eventRegistry[uid] = eventRegistry[uid] || {}; |
359 | eventRegistry[uid] = eventRegistry[uid] || {}; |
360 | return eventRegistry[uid]; |
360 | return eventRegistry[uid]; |
361 | } |
361 | } |
362 | 362 | ||
363 | function bootstrapHandler(element, fn) { |
363 | function bootstrapHandler(element, fn) { |
364 | return function handler(event) { |
364 | return function handler(event) { |
- | 365 | hydrateObj(event, { |
|
365 | event.delegateTarget = element; |
366 | delegateTarget: element |
- | 367 | }); |
|
366 | 368 | ||
367 | if (handler.oneOff) { |
369 | if (handler.oneOff) { |
368 | EventHandler.off(element, event.type, fn); |
370 | EventHandler.off(element, event.type, fn); |
369 | } |
371 | } |
370 | 372 | ||
Line 382... | Line 384... | ||
382 | for (const domElement of domElements) { |
384 | for (const domElement of domElements) { |
383 | if (domElement !== target) { |
385 | if (domElement !== target) { |
384 | continue; |
386 | continue; |
385 | } |
387 | } |
386 | 388 | ||
- | 389 | hydrateObj(event, { |
|
387 | event.delegateTarget = target; |
390 | delegateTarget: target |
- | 391 | }); |
|
388 | 392 | ||
389 | if (handler.oneOff) { |
393 | if (handler.oneOff) { |
390 | EventHandler.off(element, event.type, selector, fn); |
394 | EventHandler.off(element, event.type, selector, fn); |
391 | } |
395 | } |
392 | 396 | ||
Line 394... | Line 398... | ||
394 | } |
398 | } |
395 | } |
399 | } |
396 | }; |
400 | }; |
397 | } |
401 | } |
398 | 402 | ||
399 | function findHandler(events, handler, delegationSelector = null) { |
403 | function findHandler(events, callable, delegationSelector = null) { |
400 | return Object.values(events).find(event => event.originalHandler === handler && event.delegationSelector === delegationSelector); |
404 | return Object.values(events).find(event => event.callable === callable && event.delegationSelector === delegationSelector); |
401 | } |
405 | } |
402 | 406 | ||
403 | function normalizeParameters(originalTypeEvent, handler, delegationFunction) { |
407 | function normalizeParameters(originalTypeEvent, handler, delegationFunction) { |
404 | const delegation = typeof handler === 'string'; |
408 | const isDelegated = typeof handler === 'string'; // todo: tooltip passes `false` instead of selector, so we need to check |
- | 409 | ||
405 | const originalHandler = delegation ? delegationFunction : handler; |
410 | const callable = isDelegated ? delegationFunction : handler || delegationFunction; |
406 | let typeEvent = getTypeEvent(originalTypeEvent); |
411 | let typeEvent = getTypeEvent(originalTypeEvent); |
407 | 412 | ||
408 | if (!nativeEvents.has(typeEvent)) { |
413 | if (!nativeEvents.has(typeEvent)) { |
409 | typeEvent = originalTypeEvent; |
414 | typeEvent = originalTypeEvent; |
410 | } |
415 | } |
411 | 416 | ||
412 | return [delegation, originalHandler, typeEvent]; |
417 | return [isDelegated, callable, typeEvent]; |
413 | } |
418 | } |
414 | 419 | ||
415 | function addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) { |
420 | function addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) { |
416 | if (typeof originalTypeEvent !== 'string' || !element) { |
421 | if (typeof originalTypeEvent !== 'string' || !element) { |
417 | return; |
422 | return; |
418 | } |
423 | } |
419 | 424 | ||
420 | if (!handler) { |
- | |
421 | handler = delegationFunction; |
- | |
422 | delegationFunction = null; |
- | |
423 | } // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position |
425 | let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction); // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position |
424 | // this prevents the handler from being dispatched the same way as mouseover or mouseout does |
426 | // this prevents the handler from being dispatched the same way as mouseover or mouseout does |
425 | 427 | ||
426 | - | ||
427 | if (originalTypeEvent in customEvents) { |
428 | if (originalTypeEvent in customEvents) { |
428 | const wrapFunction = fn => { |
429 | const wrapFunction = fn => { |
429 | return function (event) { |
430 | return function (event) { |
430 | if (!event.relatedTarget || event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget)) { |
431 | if (!event.relatedTarget || event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget)) { |
431 | return fn.call(this, event); |
432 | return fn.call(this, event); |
432 | } |
433 | } |
433 | }; |
434 | }; |
434 | }; |
435 | }; |
435 | 436 | ||
436 | if (delegationFunction) { |
- | |
437 | delegationFunction = wrapFunction(delegationFunction); |
- | |
438 | } else { |
- | |
439 | handler = wrapFunction(handler); |
437 | callable = wrapFunction(callable); |
440 | } |
- | |
441 | } |
438 | } |
442 | 439 | ||
443 | const [delegation, originalHandler, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction); |
- | |
444 | const events = getEvent(element); |
440 | const events = getElementEvents(element); |
445 | const handlers = events[typeEvent] || (events[typeEvent] = {}); |
441 | const handlers = events[typeEvent] || (events[typeEvent] = {}); |
446 | const previousFunction = findHandler(handlers, originalHandler, delegation ? handler : null); |
442 | const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null); |
447 | 443 | ||
448 | if (previousFunction) { |
444 | if (previousFunction) { |
449 | previousFunction.oneOff = previousFunction.oneOff && oneOff; |
445 | previousFunction.oneOff = previousFunction.oneOff && oneOff; |
450 | return; |
446 | return; |
451 | } |
447 | } |
452 | 448 | ||
453 | const uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, '')); |
449 | const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, '')); |
454 | const fn = delegation ? bootstrapDelegationHandler(element, handler, delegationFunction) : bootstrapHandler(element, handler); |
450 | const fn = isDelegated ? bootstrapDelegationHandler(element, handler, callable) : bootstrapHandler(element, callable); |
455 | fn.delegationSelector = delegation ? handler : null; |
451 | fn.delegationSelector = isDelegated ? handler : null; |
456 | fn.originalHandler = originalHandler; |
452 | fn.callable = callable; |
457 | fn.oneOff = oneOff; |
453 | fn.oneOff = oneOff; |
458 | fn.uidEvent = uid; |
454 | fn.uidEvent = uid; |
459 | handlers[uid] = fn; |
455 | handlers[uid] = fn; |
460 | element.addEventListener(typeEvent, fn, delegation); |
456 | element.addEventListener(typeEvent, fn, isDelegated); |
461 | } |
457 | } |
462 | 458 | ||
463 | function removeHandler(element, events, typeEvent, handler, delegationSelector) { |
459 | function removeHandler(element, events, typeEvent, handler, delegationSelector) { |
464 | const fn = findHandler(events[typeEvent], handler, delegationSelector); |
460 | const fn = findHandler(events[typeEvent], handler, delegationSelector); |
465 | 461 | ||
Line 475... | Line 471... | ||
475 | const storeElementEvent = events[typeEvent] || {}; |
471 | const storeElementEvent = events[typeEvent] || {}; |
476 | 472 | ||
477 | for (const handlerKey of Object.keys(storeElementEvent)) { |
473 | for (const handlerKey of Object.keys(storeElementEvent)) { |
478 | if (handlerKey.includes(namespace)) { |
474 | if (handlerKey.includes(namespace)) { |
479 | const event = storeElementEvent[handlerKey]; |
475 | const event = storeElementEvent[handlerKey]; |
480 | removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector); |
476 | removeHandler(element, events, typeEvent, event.callable, event.delegationSelector); |
481 | } |
477 | } |
482 | } |
478 | } |
483 | } |
479 | } |
484 | 480 | ||
485 | function getTypeEvent(event) { |
481 | function getTypeEvent(event) { |
Line 500... | Line 496... | ||
500 | off(element, originalTypeEvent, handler, delegationFunction) { |
496 | off(element, originalTypeEvent, handler, delegationFunction) { |
501 | if (typeof originalTypeEvent !== 'string' || !element) { |
497 | if (typeof originalTypeEvent !== 'string' || !element) { |
502 | return; |
498 | return; |
503 | } |
499 | } |
504 | 500 | ||
505 | const [delegation, originalHandler, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction); |
501 | const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction); |
506 | const inNamespace = typeEvent !== originalTypeEvent; |
502 | const inNamespace = typeEvent !== originalTypeEvent; |
507 | const events = getEvent(element); |
503 | const events = getElementEvents(element); |
- | 504 | const storeElementEvent = events[typeEvent] || {}; |
|
508 | const isNamespace = originalTypeEvent.startsWith('.'); |
505 | const isNamespace = originalTypeEvent.startsWith('.'); |
509 | 506 | ||
510 | if (typeof originalHandler !== 'undefined') { |
507 | if (typeof callable !== 'undefined') { |
511 | // Simplest case: handler is passed, remove that listener ONLY. |
508 | // Simplest case: handler is passed, remove that listener ONLY. |
512 | if (!events || !events[typeEvent]) { |
509 | if (!Object.keys(storeElementEvent).length) { |
513 | return; |
510 | return; |
514 | } |
511 | } |
515 | 512 | ||
516 | removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null); |
513 | removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null); |
517 | return; |
514 | return; |
518 | } |
515 | } |
519 | 516 | ||
520 | if (isNamespace) { |
517 | if (isNamespace) { |
521 | for (const elementEvent of Object.keys(events)) { |
518 | for (const elementEvent of Object.keys(events)) { |
522 | removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1)); |
519 | removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1)); |
523 | } |
520 | } |
524 | } |
521 | } |
525 | 522 | ||
526 | const storeElementEvent = events[typeEvent] || {}; |
- | |
527 | - | ||
528 | for (const keyHandlers of Object.keys(storeElementEvent)) { |
523 | for (const keyHandlers of Object.keys(storeElementEvent)) { |
529 | const handlerKey = keyHandlers.replace(stripUidRegex, ''); |
524 | const handlerKey = keyHandlers.replace(stripUidRegex, ''); |
530 | 525 | ||
531 | if (!inNamespace || originalTypeEvent.includes(handlerKey)) { |
526 | if (!inNamespace || originalTypeEvent.includes(handlerKey)) { |
532 | const event = storeElementEvent[keyHandlers]; |
527 | const event = storeElementEvent[keyHandlers]; |
533 | removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector); |
528 | removeHandler(element, events, typeEvent, event.callable, event.delegationSelector); |
534 | } |
529 | } |
535 | } |
530 | } |
536 | }, |
531 | }, |
537 | 532 | ||
538 | trigger(element, event, args) { |
533 | trigger(element, event, args) { |
Line 554... | Line 549... | ||
554 | bubbles = !jQueryEvent.isPropagationStopped(); |
549 | bubbles = !jQueryEvent.isPropagationStopped(); |
555 | nativeDispatch = !jQueryEvent.isImmediatePropagationStopped(); |
550 | nativeDispatch = !jQueryEvent.isImmediatePropagationStopped(); |
556 | defaultPrevented = jQueryEvent.isDefaultPrevented(); |
551 | defaultPrevented = jQueryEvent.isDefaultPrevented(); |
557 | } |
552 | } |
558 | 553 | ||
559 | const evt = new Event(event, { |
554 | let evt = new Event(event, { |
560 | bubbles, |
555 | bubbles, |
561 | cancelable: true |
556 | cancelable: true |
562 | }); // merge custom information in our event |
- | |
563 | - | ||
564 | if (typeof args !== 'undefined') { |
- | |
565 | for (const key of Object.keys(args)) { |
- | |
566 | Object.defineProperty(evt, key, { |
- | |
567 | get() { |
- | |
568 | return args[key]; |
- | |
569 | } |
- | |
570 | - | ||
571 | }); |
557 | }); |
572 | } |
558 | evt = hydrateObj(evt, args); |
573 | } |
- | |
574 | 559 | ||
575 | if (defaultPrevented) { |
560 | if (defaultPrevented) { |
576 | evt.preventDefault(); |
561 | evt.preventDefault(); |
577 | } |
562 | } |
578 | 563 | ||
Line 587... | Line 572... | ||
587 | return evt; |
572 | return evt; |
588 | } |
573 | } |
589 | 574 | ||
590 | }; |
575 | }; |
591 | 576 | ||
- | 577 | function hydrateObj(obj, meta) { |
|
- | 578 | for (const [key, value] of Object.entries(meta || {})) { |
|
- | 579 | try { |
|
- | 580 | obj[key] = value; |
|
- | 581 | } catch (_unused) { |
|
- | 582 | Object.defineProperty(obj, key, { |
|
- | 583 | configurable: true, |
|
- | 584 | ||
- | 585 | get() { |
|
- | 586 | return value; |
|
- | 587 | } |
|
- | 588 | ||
- | 589 | }); |
|
- | 590 | } |
|
- | 591 | } |
|
- | 592 | ||
- | 593 | return obj; |
|
- | 594 | } |
|
- | 595 | ||
592 | /** |
596 | /** |
593 | * -------------------------------------------------------------------------- |
597 | * -------------------------------------------------------------------------- |
594 | * Bootstrap (v5.2.0-beta1): dom/data.js |
598 | * Bootstrap (v5.2.0): dom/data.js |
595 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
599 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
596 | * -------------------------------------------------------------------------- |
600 | * -------------------------------------------------------------------------- |
597 | */ |
601 | */ |
598 | 602 | ||
599 | /** |
603 | /** |
Line 641... | Line 645... | ||
641 | 645 | ||
642 | }; |
646 | }; |
643 | 647 | ||
644 | /** |
648 | /** |
645 | * -------------------------------------------------------------------------- |
649 | * -------------------------------------------------------------------------- |
646 | * Bootstrap (v5.2.0-beta1): dom/manipulator.js |
650 | * Bootstrap (v5.2.0): dom/manipulator.js |
647 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
651 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
648 | * -------------------------------------------------------------------------- |
652 | * -------------------------------------------------------------------------- |
649 | */ |
653 | */ |
650 | function normalizeData(value) { |
654 | function normalizeData(value) { |
651 | if (value === 'true') { |
655 | if (value === 'true') { |
Line 711... | Line 715... | ||
711 | 715 | ||
712 | }; |
716 | }; |
713 | 717 | ||
714 | /** |
718 | /** |
715 | * -------------------------------------------------------------------------- |
719 | * -------------------------------------------------------------------------- |
716 | * Bootstrap (v5.2.0-beta1): util/config.js |
720 | * Bootstrap (v5.2.0): util/config.js |
717 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
721 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
718 | * -------------------------------------------------------------------------- |
722 | * -------------------------------------------------------------------------- |
719 | */ |
723 | */ |
720 | /** |
724 | /** |
721 | * Class definition |
725 | * Class definition |
Line 772... | Line 776... | ||
772 | 776 | ||
773 | } |
777 | } |
774 | 778 | ||
775 | /** |
779 | /** |
776 | * -------------------------------------------------------------------------- |
780 | * -------------------------------------------------------------------------- |
777 | * Bootstrap (v5.2.0-beta1): base-component.js |
781 | * Bootstrap (v5.2.0): base-component.js |
778 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
782 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
779 | * -------------------------------------------------------------------------- |
783 | * -------------------------------------------------------------------------- |
780 | */ |
784 | */ |
781 | /** |
785 | /** |
782 | * Constants |
786 | * Constants |
783 | */ |
787 | */ |
784 | 788 | ||
785 | const VERSION = '5.2.0-beta1'; |
789 | const VERSION = '5.2.0'; |
786 | /** |
790 | /** |
787 | * Class definition |
791 | * Class definition |
788 | */ |
792 | */ |
789 | 793 | ||
790 | class BaseComponent extends Config { |
794 | class BaseComponent extends Config { |
Line 851... | Line 855... | ||
851 | 855 | ||
852 | } |
856 | } |
853 | 857 | ||
854 | /** |
858 | /** |
855 | * -------------------------------------------------------------------------- |
859 | * -------------------------------------------------------------------------- |
856 | * Bootstrap (v5.2.0-beta1): util/component-functions.js |
860 | * Bootstrap (v5.2.0): util/component-functions.js |
857 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
861 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
858 | * -------------------------------------------------------------------------- |
862 | * -------------------------------------------------------------------------- |
859 | */ |
863 | */ |
860 | 864 | ||
861 | const enableDismissTrigger = (component, method = 'hide') => { |
865 | const enableDismissTrigger = (component, method = 'hide') => { |
Line 877... | Line 881... | ||
877 | }); |
881 | }); |
878 | }; |
882 | }; |
879 | 883 | ||
880 | /** |
884 | /** |
881 | * -------------------------------------------------------------------------- |
885 | * -------------------------------------------------------------------------- |
882 | * Bootstrap (v5.2.0-beta1): alert.js |
886 | * Bootstrap (v5.2.0): alert.js |
883 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
887 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
884 | * -------------------------------------------------------------------------- |
888 | * -------------------------------------------------------------------------- |
885 | */ |
889 | */ |
886 | /** |
890 | /** |
887 | * Constants |
891 | * Constants |
Line 957... | Line 961... | ||
957 | 961 | ||
958 | defineJQueryPlugin(Alert); |
962 | defineJQueryPlugin(Alert); |
959 | 963 | ||
960 | /** |
964 | /** |
961 | * -------------------------------------------------------------------------- |
965 | * -------------------------------------------------------------------------- |
962 | * Bootstrap (v5.2.0-beta1): button.js |
966 | * Bootstrap (v5.2.0): button.js |
963 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
967 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
964 | * -------------------------------------------------------------------------- |
968 | * -------------------------------------------------------------------------- |
965 | */ |
969 | */ |
966 | /** |
970 | /** |
967 | * Constants |
971 | * Constants |
Line 1019... | Line 1023... | ||
1019 | 1023 | ||
1020 | defineJQueryPlugin(Button); |
1024 | defineJQueryPlugin(Button); |
1021 | 1025 | ||
1022 | /** |
1026 | /** |
1023 | * -------------------------------------------------------------------------- |
1027 | * -------------------------------------------------------------------------- |
1024 | * Bootstrap (v5.2.0-beta1): dom/selector-engine.js |
1028 | * Bootstrap (v5.2.0): dom/selector-engine.js |
1025 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
1029 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
1026 | * -------------------------------------------------------------------------- |
1030 | * -------------------------------------------------------------------------- |
1027 | */ |
1031 | */ |
1028 | /** |
1032 | /** |
1029 | * Constants |
1033 | * Constants |
Line 1090... | Line 1094... | ||
1090 | 1094 | ||
1091 | }; |
1095 | }; |
1092 | 1096 | ||
1093 | /** |
1097 | /** |
1094 | * -------------------------------------------------------------------------- |
1098 | * -------------------------------------------------------------------------- |
1095 | * Bootstrap (v5.2.0-beta1): util/swipe.js |
1099 | * Bootstrap (v5.2.0): util/swipe.js |
1096 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
1100 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
1097 | * -------------------------------------------------------------------------- |
1101 | * -------------------------------------------------------------------------- |
1098 | */ |
1102 | */ |
1099 | /** |
1103 | /** |
1100 | * Constants |
1104 | * Constants |
Line 1110... | Line 1114... | ||
1110 | const POINTER_TYPE_TOUCH = 'touch'; |
1114 | const POINTER_TYPE_TOUCH = 'touch'; |
1111 | const POINTER_TYPE_PEN = 'pen'; |
1115 | const POINTER_TYPE_PEN = 'pen'; |
1112 | const CLASS_NAME_POINTER_EVENT = 'pointer-event'; |
1116 | const CLASS_NAME_POINTER_EVENT = 'pointer-event'; |
1113 | const SWIPE_THRESHOLD = 40; |
1117 | const SWIPE_THRESHOLD = 40; |
1114 | const Default$c = { |
1118 | const Default$c = { |
- | 1119 | endCallback: null, |
|
1115 | leftCallback: null, |
1120 | leftCallback: null, |
1116 | rightCallback: null, |
1121 | rightCallback: null |
1117 | endCallback: null |
- | |
1118 | }; |
1122 | }; |
1119 | const DefaultType$c = { |
1123 | const DefaultType$c = { |
- | 1124 | endCallback: '(function|null)', |
|
1120 | leftCallback: '(function|null)', |
1125 | leftCallback: '(function|null)', |
1121 | rightCallback: '(function|null)', |
1126 | rightCallback: '(function|null)' |
1122 | endCallback: '(function|null)' |
- | |
1123 | }; |
1127 | }; |
1124 | /** |
1128 | /** |
1125 | * Class definition |
1129 | * Class definition |
1126 | */ |
1130 | */ |
1127 | 1131 | ||
Line 1226... | Line 1230... | ||
1226 | 1230 | ||
1227 | } |
1231 | } |
1228 | 1232 | ||
1229 | /** |
1233 | /** |
1230 | * -------------------------------------------------------------------------- |
1234 | * -------------------------------------------------------------------------- |
1231 | * Bootstrap (v5.2.0-beta1): carousel.js |
1235 | * Bootstrap (v5.2.0): carousel.js |
1232 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
1236 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
1233 | * -------------------------------------------------------------------------- |
1237 | * -------------------------------------------------------------------------- |
1234 | */ |
1238 | */ |
1235 | /** |
1239 | /** |
1236 | * Constants |
1240 | * Constants |
Line 1282... | Line 1286... | ||
1282 | touch: true, |
1286 | touch: true, |
1283 | wrap: true |
1287 | wrap: true |
1284 | }; |
1288 | }; |
1285 | const DefaultType$b = { |
1289 | const DefaultType$b = { |
1286 | interval: '(number|boolean)', |
1290 | interval: '(number|boolean)', |
- | 1291 | // TODO:v6 remove boolean support |
|
1287 | keyboard: 'boolean', |
1292 | keyboard: 'boolean', |
1288 | ride: '(boolean|string)', |
- | |
1289 | pause: '(string|boolean)', |
1293 | pause: '(string|boolean)', |
- | 1294 | ride: '(boolean|string)', |
|
1290 | touch: 'boolean', |
1295 | touch: 'boolean', |
1291 | wrap: 'boolean' |
1296 | wrap: 'boolean' |
1292 | }; |
1297 | }; |
1293 | /** |
1298 | /** |
1294 | * Class definition |
1299 | * Class definition |
Line 1673... | Line 1678... | ||
1673 | 1678 | ||
1674 | defineJQueryPlugin(Carousel); |
1679 | defineJQueryPlugin(Carousel); |
1675 | 1680 | ||
1676 | /** |
1681 | /** |
1677 | * -------------------------------------------------------------------------- |
1682 | * -------------------------------------------------------------------------- |
1678 | * Bootstrap (v5.2.0-beta1): collapse.js |
1683 | * Bootstrap (v5.2.0): collapse.js |
1679 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
1684 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
1680 | * -------------------------------------------------------------------------- |
1685 | * -------------------------------------------------------------------------- |
1681 | */ |
1686 | */ |
1682 | /** |
1687 | /** |
1683 | * Constants |
1688 | * Constants |
Line 1701... | Line 1706... | ||
1701 | const WIDTH = 'width'; |
1706 | const WIDTH = 'width'; |
1702 | const HEIGHT = 'height'; |
1707 | const HEIGHT = 'height'; |
1703 | const SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'; |
1708 | const SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'; |
1704 | const SELECTOR_DATA_TOGGLE$4 = '[data-bs-toggle="collapse"]'; |
1709 | const SELECTOR_DATA_TOGGLE$4 = '[data-bs-toggle="collapse"]'; |
1705 | const Default$a = { |
1710 | const Default$a = { |
1706 | toggle: true, |
1711 | parent: null, |
1707 | parent: null |
1712 | toggle: true |
1708 | }; |
1713 | }; |
1709 | const DefaultType$a = { |
1714 | const DefaultType$a = { |
1710 | toggle: 'boolean', |
1715 | parent: '(null|element)', |
1711 | parent: '(null|element)' |
1716 | toggle: 'boolean' |
1712 | }; |
1717 | }; |
1713 | /** |
1718 | /** |
1714 | * Class definition |
1719 | * Class definition |
1715 | */ |
1720 | */ |
1716 | 1721 | ||
Line 3798... | Line 3803... | ||
3798 | preventOverflow: preventOverflow$1 |
3803 | preventOverflow: preventOverflow$1 |
3799 | }, Symbol.toStringTag, { value: 'Module' })); |
3804 | }, Symbol.toStringTag, { value: 'Module' })); |
3800 | 3805 | ||
3801 | /** |
3806 | /** |
3802 | * -------------------------------------------------------------------------- |
3807 | * -------------------------------------------------------------------------- |
3803 | * Bootstrap (v5.2.0-beta1): dropdown.js |
3808 | * Bootstrap (v5.2.0): dropdown.js |
3804 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
3809 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
3805 | * -------------------------------------------------------------------------- |
3810 | * -------------------------------------------------------------------------- |
3806 | */ |
3811 | */ |
3807 | /** |
3812 | /** |
3808 | * Constants |
3813 | * Constants |
Line 3844... | Line 3849... | ||
3844 | const PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start'; |
3849 | const PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start'; |
3845 | const PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start'; |
3850 | const PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start'; |
3846 | const PLACEMENT_TOPCENTER = 'top'; |
3851 | const PLACEMENT_TOPCENTER = 'top'; |
3847 | const PLACEMENT_BOTTOMCENTER = 'bottom'; |
3852 | const PLACEMENT_BOTTOMCENTER = 'bottom'; |
3848 | const Default$9 = { |
3853 | const Default$9 = { |
3849 | offset: [0, 2], |
3854 | autoClose: true, |
3850 | boundary: 'clippingParents', |
3855 | boundary: 'clippingParents', |
3851 | reference: 'toggle', |
- | |
3852 | display: 'dynamic', |
3856 | display: 'dynamic', |
- | 3857 | offset: [0, 2], |
|
3853 | popperConfig: null, |
3858 | popperConfig: null, |
3854 | autoClose: true |
3859 | reference: 'toggle' |
3855 | }; |
3860 | }; |
3856 | const DefaultType$9 = { |
3861 | const DefaultType$9 = { |
3857 | offset: '(array|string|function)', |
3862 | autoClose: '(boolean|string)', |
3858 | boundary: '(string|element)', |
3863 | boundary: '(string|element)', |
3859 | reference: '(string|element|object)', |
- | |
3860 | display: 'string', |
3864 | display: 'string', |
- | 3865 | offset: '(array|string|function)', |
|
3861 | popperConfig: '(null|object|function)', |
3866 | popperConfig: '(null|object|function)', |
3862 | autoClose: '(boolean|string)' |
3867 | reference: '(string|element|object)' |
3863 | }; |
3868 | }; |
3864 | /** |
3869 | /** |
3865 | * Class definition |
3870 | * Class definition |
3866 | */ |
3871 | */ |
3867 | 3872 | ||
Line 4228... | Line 4233... | ||
4228 | 4233 | ||
4229 | defineJQueryPlugin(Dropdown); |
4234 | defineJQueryPlugin(Dropdown); |
4230 | 4235 | ||
4231 | /** |
4236 | /** |
4232 | * -------------------------------------------------------------------------- |
4237 | * -------------------------------------------------------------------------- |
4233 | * Bootstrap (v5.2.0-beta1): util/scrollBar.js |
4238 | * Bootstrap (v5.2.0): util/scrollBar.js |
4234 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
4239 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
4235 | * -------------------------------------------------------------------------- |
4240 | * -------------------------------------------------------------------------- |
4236 | */ |
4241 | */ |
4237 | /** |
4242 | /** |
4238 | * Constants |
4243 | * Constants |
Line 4347... | Line 4352... | ||
4347 | 4352 | ||
4348 | } |
4353 | } |
4349 | 4354 | ||
4350 | /** |
4355 | /** |
4351 | * -------------------------------------------------------------------------- |
4356 | * -------------------------------------------------------------------------- |
4352 | * Bootstrap (v5.2.0-beta1): util/backdrop.js |
4357 | * Bootstrap (v5.2.0): util/backdrop.js |
4353 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
4358 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
4354 | * -------------------------------------------------------------------------- |
4359 | * -------------------------------------------------------------------------- |
4355 | */ |
4360 | */ |
4356 | /** |
4361 | /** |
4357 | * Constants |
4362 | * Constants |
Line 4361... | Line 4366... | ||
4361 | const CLASS_NAME_FADE$4 = 'fade'; |
4366 | const CLASS_NAME_FADE$4 = 'fade'; |
4362 | const CLASS_NAME_SHOW$5 = 'show'; |
4367 | const CLASS_NAME_SHOW$5 = 'show'; |
4363 | const EVENT_MOUSEDOWN = `mousedown.bs.${NAME$9}`; |
4368 | const EVENT_MOUSEDOWN = `mousedown.bs.${NAME$9}`; |
4364 | const Default$8 = { |
4369 | const Default$8 = { |
4365 | className: 'modal-backdrop', |
4370 | className: 'modal-backdrop', |
- | 4371 | clickCallback: null, |
|
- | 4372 | isAnimated: false, |
|
4366 | isVisible: true, |
4373 | isVisible: true, |
4367 | // if false, we use the backdrop helper without adding any element to the dom |
4374 | // if false, we use the backdrop helper without adding any element to the dom |
4368 | isAnimated: false, |
- | |
4369 | rootElement: 'body', |
- | |
4370 | // give the choice to place backdrop under different elements |
4375 | rootElement: 'body' // give the choice to place backdrop under different elements |
4371 | clickCallback: null |
- | |
- | 4376 | ||
4372 | }; |
4377 | }; |
4373 | const DefaultType$8 = { |
4378 | const DefaultType$8 = { |
4374 | className: 'string', |
4379 | className: 'string', |
4375 | isVisible: 'boolean', |
4380 | clickCallback: '(function|null)', |
4376 | isAnimated: 'boolean', |
4381 | isAnimated: 'boolean', |
4377 | rootElement: '(element|string)', |
4382 | isVisible: 'boolean', |
4378 | clickCallback: '(function|null)' |
4383 | rootElement: '(element|string)' |
4379 | }; |
4384 | }; |
4380 | /** |
4385 | /** |
4381 | * Class definition |
4386 | * Class definition |
4382 | */ |
4387 | */ |
4383 | 4388 | ||
Line 4493... | Line 4498... | ||
4493 | 4498 | ||
4494 | } |
4499 | } |
4495 | 4500 | ||
4496 | /** |
4501 | /** |
4497 | * -------------------------------------------------------------------------- |
4502 | * -------------------------------------------------------------------------- |
4498 | * Bootstrap (v5.2.0-beta1): util/focustrap.js |
4503 | * Bootstrap (v5.2.0): util/focustrap.js |
4499 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
4504 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
4500 | * -------------------------------------------------------------------------- |
4505 | * -------------------------------------------------------------------------- |
4501 | */ |
4506 | */ |
4502 | /** |
4507 | /** |
4503 | * Constants |
4508 | * Constants |
Line 4510... | Line 4515... | ||
4510 | const EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$5}`; |
4515 | const EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$5}`; |
4511 | const TAB_KEY = 'Tab'; |
4516 | const TAB_KEY = 'Tab'; |
4512 | const TAB_NAV_FORWARD = 'forward'; |
4517 | const TAB_NAV_FORWARD = 'forward'; |
4513 | const TAB_NAV_BACKWARD = 'backward'; |
4518 | const TAB_NAV_BACKWARD = 'backward'; |
4514 | const Default$7 = { |
4519 | const Default$7 = { |
4515 | trapElement: null, |
4520 | autofocus: true, |
4516 | // The element to trap focus inside of |
4521 | trapElement: null // The element to trap focus inside of |
4517 | autofocus: true |
- | |
- | 4522 | ||
4518 | }; |
4523 | }; |
4519 | const DefaultType$7 = { |
4524 | const DefaultType$7 = { |
4520 | trapElement: 'element', |
4525 | autofocus: 'boolean', |
4521 | autofocus: 'boolean' |
4526 | trapElement: 'element' |
4522 | }; |
4527 | }; |
4523 | /** |
4528 | /** |
4524 | * Class definition |
4529 | * Class definition |
4525 | */ |
4530 | */ |
4526 | 4531 | ||
Line 4602... | Line 4607... | ||
4602 | 4607 | ||
4603 | } |
4608 | } |
4604 | 4609 | ||
4605 | /** |
4610 | /** |
4606 | * -------------------------------------------------------------------------- |
4611 | * -------------------------------------------------------------------------- |
4607 | * Bootstrap (v5.2.0-beta1): modal.js |
4612 | * Bootstrap (v5.2.0): modal.js |
4608 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
4613 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
4609 | * -------------------------------------------------------------------------- |
4614 | * -------------------------------------------------------------------------- |
4610 | */ |
4615 | */ |
4611 | /** |
4616 | /** |
4612 | * Constants |
4617 | * Constants |
Line 4621... | Line 4626... | ||
4621 | const EVENT_HIDE_PREVENTED$1 = `hidePrevented${EVENT_KEY$4}`; |
4626 | const EVENT_HIDE_PREVENTED$1 = `hidePrevented${EVENT_KEY$4}`; |
4622 | const EVENT_HIDDEN$4 = `hidden${EVENT_KEY$4}`; |
4627 | const EVENT_HIDDEN$4 = `hidden${EVENT_KEY$4}`; |
4623 | const EVENT_SHOW$4 = `show${EVENT_KEY$4}`; |
4628 | const EVENT_SHOW$4 = `show${EVENT_KEY$4}`; |
4624 | const EVENT_SHOWN$4 = `shown${EVENT_KEY$4}`; |
4629 | const EVENT_SHOWN$4 = `shown${EVENT_KEY$4}`; |
4625 | const EVENT_RESIZE$1 = `resize${EVENT_KEY$4}`; |
4630 | const EVENT_RESIZE$1 = `resize${EVENT_KEY$4}`; |
4626 | const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY$4}`; |
4631 | const EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY$4}`; |
4627 | const EVENT_KEYDOWN_DISMISS$1 = `keydown.dismiss${EVENT_KEY$4}`; |
4632 | const EVENT_KEYDOWN_DISMISS$1 = `keydown.dismiss${EVENT_KEY$4}`; |
4628 | const EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$4}${DATA_API_KEY$2}`; |
4633 | const EVENT_CLICK_DATA_API$2 = `click${EVENT_KEY$4}${DATA_API_KEY$2}`; |
4629 | const CLASS_NAME_OPEN = 'modal-open'; |
4634 | const CLASS_NAME_OPEN = 'modal-open'; |
4630 | const CLASS_NAME_FADE$3 = 'fade'; |
4635 | const CLASS_NAME_FADE$3 = 'fade'; |
4631 | const CLASS_NAME_SHOW$4 = 'show'; |
4636 | const CLASS_NAME_SHOW$4 = 'show'; |
Line 4634... | Line 4639... | ||
4634 | const SELECTOR_DIALOG = '.modal-dialog'; |
4639 | const SELECTOR_DIALOG = '.modal-dialog'; |
4635 | const SELECTOR_MODAL_BODY = '.modal-body'; |
4640 | const SELECTOR_MODAL_BODY = '.modal-body'; |
4636 | const SELECTOR_DATA_TOGGLE$2 = '[data-bs-toggle="modal"]'; |
4641 | const SELECTOR_DATA_TOGGLE$2 = '[data-bs-toggle="modal"]'; |
4637 | const Default$6 = { |
4642 | const Default$6 = { |
4638 | backdrop: true, |
4643 | backdrop: true, |
4639 | keyboard: true, |
4644 | focus: true, |
4640 | focus: true |
4645 | keyboard: true |
4641 | }; |
4646 | }; |
4642 | const DefaultType$6 = { |
4647 | const DefaultType$6 = { |
4643 | backdrop: '(boolean|string)', |
4648 | backdrop: '(boolean|string)', |
4644 | keyboard: 'boolean', |
4649 | focus: 'boolean', |
4645 | focus: 'boolean' |
4650 | keyboard: 'boolean' |
4646 | }; |
4651 | }; |
4647 | /** |
4652 | /** |
4648 | * Class definition |
4653 | * Class definition |
4649 | */ |
4654 | */ |
4650 | 4655 | ||
Line 4812... | Line 4817... | ||
4812 | EventHandler.on(window, EVENT_RESIZE$1, () => { |
4817 | EventHandler.on(window, EVENT_RESIZE$1, () => { |
4813 | if (this._isShown && !this._isTransitioning) { |
4818 | if (this._isShown && !this._isTransitioning) { |
4814 | this._adjustDialog(); |
4819 | this._adjustDialog(); |
4815 | } |
4820 | } |
4816 | }); |
4821 | }); |
4817 | EventHandler.on(this._element, EVENT_CLICK_DISMISS, event => { |
4822 | EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => { |
4818 | if (event.target !== event.currentTarget) { |
4823 | if (event.target !== event.currentTarget) { |
4819 | // click is inside modal-dialog |
4824 | // click is inside modal-dialog |
4820 | return; |
4825 | return; |
4821 | } |
4826 | } |
4822 | 4827 | ||
Line 4975... | Line 4980... | ||
4975 | 4980 | ||
4976 | defineJQueryPlugin(Modal); |
4981 | defineJQueryPlugin(Modal); |
4977 | 4982 | ||
4978 | /** |
4983 | /** |
4979 | * -------------------------------------------------------------------------- |
4984 | * -------------------------------------------------------------------------- |
4980 | * Bootstrap (v5.2.0-beta1): offcanvas.js |
4985 | * Bootstrap (v5.2.0): offcanvas.js |
4981 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
4986 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
4982 | * -------------------------------------------------------------------------- |
4987 | * -------------------------------------------------------------------------- |
4983 | */ |
4988 | */ |
4984 | /** |
4989 | /** |
4985 | * Constants |
4990 | * Constants |
Line 5073... | Line 5078... | ||
5073 | this._element.setAttribute('role', 'dialog'); |
5078 | this._element.setAttribute('role', 'dialog'); |
5074 | 5079 | ||
5075 | this._element.classList.add(CLASS_NAME_SHOWING$1); |
5080 | this._element.classList.add(CLASS_NAME_SHOWING$1); |
5076 | 5081 | ||
5077 | const completeCallBack = () => { |
5082 | const completeCallBack = () => { |
5078 | if (!this._config.scroll) { |
5083 | if (!this._config.scroll || this._config.backdrop) { |
5079 | this._focustrap.activate(); |
5084 | this._focustrap.activate(); |
5080 | } |
5085 | } |
5081 | 5086 | ||
5082 | this._element.classList.add(CLASS_NAME_SHOW$3); |
5087 | this._element.classList.add(CLASS_NAME_SHOW$3); |
5083 | 5088 | ||
Line 5249... | Line 5254... | ||
5249 | 5254 | ||
5250 | defineJQueryPlugin(Offcanvas); |
5255 | defineJQueryPlugin(Offcanvas); |
5251 | 5256 | ||
5252 | /** |
5257 | /** |
5253 | * -------------------------------------------------------------------------- |
5258 | * -------------------------------------------------------------------------- |
5254 | * Bootstrap (v5.2.0-beta1): util/sanitizer.js |
5259 | * Bootstrap (v5.2.0): util/sanitizer.js |
5255 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
5260 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
5256 | * -------------------------------------------------------------------------- |
5261 | * -------------------------------------------------------------------------- |
5257 | */ |
5262 | */ |
5258 | const uriAttributes = new Set(['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href']); |
5263 | const uriAttributes = new Set(['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href']); |
5259 | const ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i; |
5264 | const ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i; |
5260 | /** |
5265 | /** |
5261 | * A pattern that recognizes a commonly useful subset of URLs that are safe. |
5266 | * A pattern that recognizes a commonly useful subset of URLs that are safe. |
5262 | * |
5267 | * |
5263 | * Shoutout to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts |
5268 | * Shout-out to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts |
5264 | */ |
5269 | */ |
5265 | 5270 | ||
5266 | const SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i; |
5271 | const SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i; |
5267 | /** |
5272 | /** |
5268 | * A pattern that matches safe data URLs. Only matches image, video and audio types. |
5273 | * A pattern that matches safe data URLs. Only matches image, video and audio types. |
5269 | * |
5274 | * |
5270 | * Shoutout to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts |
5275 | * Shout-out to Angular https://github.com/angular/angular/blob/12.2.x/packages/core/src/sanitization/url_sanitizer.ts |
5271 | */ |
5276 | */ |
5272 | 5277 | ||
5273 | const DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i; |
5278 | const DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i; |
5274 | 5279 | ||
5275 | const allowedAttribute = (attribute, allowedAttributeList) => { |
5280 | const allowedAttribute = (attribute, allowedAttributeList) => { |
Line 5354... | Line 5359... | ||
5354 | return createdDocument.body.innerHTML; |
5359 | return createdDocument.body.innerHTML; |
5355 | } |
5360 | } |
5356 | 5361 | ||
5357 | /** |
5362 | /** |
5358 | * -------------------------------------------------------------------------- |
5363 | * -------------------------------------------------------------------------- |
5359 | * Bootstrap (v5.2.0-beta1): util/template-factory.js |
5364 | * Bootstrap (v5.2.0): util/template-factory.js |
5360 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
5365 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
5361 | * -------------------------------------------------------------------------- |
5366 | * -------------------------------------------------------------------------- |
5362 | */ |
5367 | */ |
5363 | /** |
5368 | /** |
5364 | * Constants |
5369 | * Constants |
5365 | */ |
5370 | */ |
5366 | 5371 | ||
5367 | const NAME$5 = 'TemplateFactory'; |
5372 | const NAME$5 = 'TemplateFactory'; |
5368 | const Default$4 = { |
5373 | const Default$4 = { |
5369 | extraClass: '', |
- | |
5370 | template: '<div></div>', |
5374 | allowList: DefaultAllowlist, |
5371 | content: {}, |
5375 | content: {}, |
5372 | // { selector : text , selector2 : text2 , } |
5376 | // { selector : text , selector2 : text2 , } |
- | 5377 | extraClass: '', |
|
5373 | html: false, |
5378 | html: false, |
5374 | sanitize: true, |
5379 | sanitize: true, |
5375 | sanitizeFn: null, |
5380 | sanitizeFn: null, |
5376 | allowList: DefaultAllowlist |
5381 | template: '<div></div>' |
5377 | }; |
5382 | }; |
5378 | const DefaultType$4 = { |
5383 | const DefaultType$4 = { |
5379 | extraClass: '(string|function)', |
- | |
5380 | template: 'string', |
5384 | allowList: 'object', |
5381 | content: 'object', |
5385 | content: 'object', |
- | 5386 | extraClass: '(string|function)', |
|
5382 | html: 'boolean', |
5387 | html: 'boolean', |
5383 | sanitize: 'boolean', |
5388 | sanitize: 'boolean', |
5384 | sanitizeFn: '(null|function)', |
5389 | sanitizeFn: '(null|function)', |
5385 | allowList: 'object' |
5390 | template: 'string' |
5386 | }; |
5391 | }; |
5387 | const DefaultContentType = { |
5392 | const DefaultContentType = { |
5388 | selector: '(string|element)', |
5393 | entry: '(string|element|function|null)', |
5389 | entry: '(string|element|function|null)' |
5394 | selector: '(string|element)' |
5390 | }; |
5395 | }; |
5391 | /** |
5396 | /** |
5392 | * Class definition |
5397 | * Class definition |
5393 | */ |
5398 | */ |
5394 | 5399 | ||
Line 5512... | Line 5517... | ||
5512 | 5517 | ||
5513 | } |
5518 | } |
5514 | 5519 | ||
5515 | /** |
5520 | /** |
5516 | * -------------------------------------------------------------------------- |
5521 | * -------------------------------------------------------------------------- |
5517 | * Bootstrap (v5.2.0-beta1): tooltip.js |
5522 | * Bootstrap (v5.2.0): tooltip.js |
5518 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
5523 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
5519 | * -------------------------------------------------------------------------- |
5524 | * -------------------------------------------------------------------------- |
5520 | */ |
5525 | */ |
5521 | /** |
5526 | /** |
5522 | * Constants |
5527 | * Constants |
Line 5550... | Line 5555... | ||
5550 | RIGHT: isRTL() ? 'left' : 'right', |
5555 | RIGHT: isRTL() ? 'left' : 'right', |
5551 | BOTTOM: 'bottom', |
5556 | BOTTOM: 'bottom', |
5552 | LEFT: isRTL() ? 'right' : 'left' |
5557 | LEFT: isRTL() ? 'right' : 'left' |
5553 | }; |
5558 | }; |
5554 | const Default$3 = { |
5559 | const Default$3 = { |
- | 5560 | allowList: DefaultAllowlist, |
|
5555 | animation: true, |
5561 | animation: true, |
5556 | template: '<div class="tooltip" role="tooltip">' + '<div class="tooltip-arrow"></div>' + '<div class="tooltip-inner"></div>' + '</div>', |
5562 | boundary: 'clippingParents', |
5557 | trigger: 'hover focus', |
5563 | container: false, |
5558 | title: '', |
5564 | customClass: '', |
5559 | delay: 0, |
5565 | delay: 0, |
- | 5566 | fallbackPlacements: ['top', 'right', 'bottom', 'left'], |
|
5560 | html: false, |
5567 | html: false, |
5561 | selector: false, |
- | |
5562 | placement: 'top', |
- | |
5563 | offset: [0, 0], |
5568 | offset: [0, 0], |
5564 | container: false, |
5569 | placement: 'top', |
5565 | fallbackPlacements: ['top', 'right', 'bottom', 'left'], |
- | |
5566 | boundary: 'clippingParents', |
- | |
5567 | customClass: '', |
5570 | popperConfig: null, |
5568 | sanitize: true, |
5571 | sanitize: true, |
5569 | sanitizeFn: null, |
5572 | sanitizeFn: null, |
5570 | allowList: DefaultAllowlist, |
5573 | selector: false, |
- | 5574 | template: '<div class="tooltip" role="tooltip">' + '<div class="tooltip-arrow"></div>' + '<div class="tooltip-inner"></div>' + '</div>', |
|
- | 5575 | title: '', |
|
5571 | popperConfig: null |
5576 | trigger: 'hover focus' |
5572 | }; |
5577 | }; |
5573 | const DefaultType$3 = { |
5578 | const DefaultType$3 = { |
- | 5579 | allowList: 'object', |
|
5574 | animation: 'boolean', |
5580 | animation: 'boolean', |
5575 | template: 'string', |
5581 | boundary: '(string|element)', |
5576 | title: '(string|element|function)', |
5582 | container: '(string|element|boolean)', |
5577 | trigger: 'string', |
5583 | customClass: '(string|function)', |
5578 | delay: '(number|object)', |
5584 | delay: '(number|object)', |
- | 5585 | fallbackPlacements: 'array', |
|
5579 | html: 'boolean', |
5586 | html: 'boolean', |
5580 | selector: '(string|boolean)', |
- | |
5581 | placement: '(string|function)', |
- | |
5582 | offset: '(array|string|function)', |
5587 | offset: '(array|string|function)', |
5583 | container: '(string|element|boolean)', |
- | |
5584 | fallbackPlacements: 'array', |
- | |
5585 | boundary: '(string|element)', |
5588 | placement: '(string|function)', |
5586 | customClass: '(string|function)', |
5589 | popperConfig: '(null|object|function)', |
5587 | sanitize: 'boolean', |
5590 | sanitize: 'boolean', |
5588 | sanitizeFn: '(null|function)', |
5591 | sanitizeFn: '(null|function)', |
- | 5592 | selector: '(string|boolean)', |
|
5589 | allowList: 'object', |
5593 | template: 'string', |
5590 | popperConfig: '(null|object|function)' |
5594 | title: '(string|element|function)', |
- | 5595 | trigger: 'string' |
|
5591 | }; |
5596 | }; |
5592 | /** |
5597 | /** |
5593 | * Class definition |
5598 | * Class definition |
5594 | */ |
5599 | */ |
5595 | 5600 | ||
Line 5604... | Line 5609... | ||
5604 | this._isEnabled = true; |
5609 | this._isEnabled = true; |
5605 | this._timeout = 0; |
5610 | this._timeout = 0; |
5606 | this._isHovered = false; |
5611 | this._isHovered = false; |
5607 | this._activeTrigger = {}; |
5612 | this._activeTrigger = {}; |
5608 | this._popper = null; |
5613 | this._popper = null; |
- | 5614 | this._templateFactory = null; |
|
5609 | this._templateFactory = null; // Protected |
5615 | this._newContent = null; // Protected |
5610 | 5616 | ||
5611 | this.tip = null; |
5617 | this.tip = null; |
5612 | 5618 | ||
5613 | this._setListeners(); |
5619 | this._setListeners(); |
5614 | } // Getters |
5620 | } // Getters |
Line 5694... | Line 5700... | ||
5694 | 5700 | ||
5695 | const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element); |
5701 | const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element); |
5696 | 5702 | ||
5697 | if (showEvent.defaultPrevented || !isInTheDom) { |
5703 | if (showEvent.defaultPrevented || !isInTheDom) { |
5698 | return; |
5704 | return; |
- | 5705 | } // todo v6 remove this OR make it optional |
|
- | 5706 | ||
- | 5707 | ||
- | 5708 | if (this.tip) { |
|
- | 5709 | this.tip.remove(); |
|
- | 5710 | this.tip = null; |
|
5699 | } |
5711 | } |
5700 | 5712 | ||
5701 | const tip = this._getTipElement(); |
5713 | const tip = this._getTipElement(); |
5702 | 5714 | ||
5703 | this._element.setAttribute('aria-describedby', tip.getAttribute('id')); |
5715 | this._element.setAttribute('aria-describedby', tip.getAttribute('id')); |
Line 5712... | Line 5724... | ||
5712 | } |
5724 | } |
5713 | 5725 | ||
5714 | if (this._popper) { |
5726 | if (this._popper) { |
5715 | this._popper.update(); |
5727 | this._popper.update(); |
5716 | } else { |
5728 | } else { |
5717 | this._createPopper(tip); |
5729 | this._popper = this._createPopper(tip); |
5718 | } |
5730 | } |
5719 | 5731 | ||
5720 | tip.classList.add(CLASS_NAME_SHOW$2); // If this is a touch-enabled device we add extra |
5732 | tip.classList.add(CLASS_NAME_SHOW$2); // If this is a touch-enabled device we add extra |
5721 | // empty mouseover listeners to the body's immediate children; |
5733 | // empty mouseover listeners to the body's immediate children; |
5722 | // only needed because of broken event delegation on iOS |
5734 | // only needed because of broken event delegation on iOS |
Line 5798... | Line 5810... | ||
5798 | return Boolean(this._getTitle()); |
5810 | return Boolean(this._getTitle()); |
5799 | } |
5811 | } |
5800 | 5812 | ||
5801 | _getTipElement() { |
5813 | _getTipElement() { |
5802 | if (!this.tip) { |
5814 | if (!this.tip) { |
5803 | this.tip = this._createTipElement(this._getContentForTemplate()); |
5815 | this.tip = this._createTipElement(this._newContent || this._getContentForTemplate()); |
5804 | } |
5816 | } |
5805 | 5817 | ||
5806 | return this.tip; |
5818 | return this.tip; |
5807 | } |
5819 | } |
5808 | 5820 | ||
Line 5826... | Line 5838... | ||
5826 | 5838 | ||
5827 | return tip; |
5839 | return tip; |
5828 | } |
5840 | } |
5829 | 5841 | ||
5830 | setContent(content) { |
5842 | setContent(content) { |
5831 | let isShown = false; |
- | |
5832 | - | ||
5833 | if (this.tip) { |
- | |
5834 | isShown = this._isShown(); |
- | |
5835 | this.tip.remove(); |
- | |
5836 | this.tip = null; |
5843 | this._newContent = content; |
5837 | } |
- | |
5838 | 5844 | ||
- | 5845 | if (this._isShown()) { |
|
5839 | this._disposePopper(); |
5846 | this._disposePopper(); |
5840 | 5847 | ||
5841 | this.tip = this._createTipElement(content); |
- | |
5842 | - | ||
5843 | if (isShown) { |
- | |
5844 | this.show(); |
5848 | this.show(); |
5845 | } |
5849 | } |
5846 | } |
5850 | } |
5847 | 5851 | ||
5848 | _getTemplateFactory(content) { |
5852 | _getTemplateFactory(content) { |
Line 5865... | Line 5869... | ||
5865 | [SELECTOR_TOOLTIP_INNER]: this._getTitle() |
5869 | [SELECTOR_TOOLTIP_INNER]: this._getTitle() |
5866 | }; |
5870 | }; |
5867 | } |
5871 | } |
5868 | 5872 | ||
5869 | _getTitle() { |
5873 | _getTitle() { |
5870 | return this._config.title; |
5874 | return this._resolvePossibleFunction(this._config.title) || this._config.originalTitle; |
5871 | } // Private |
5875 | } // Private |
5872 | 5876 | ||
5873 | 5877 | ||
5874 | _initializeOnDelegatedTarget(event) { |
5878 | _initializeOnDelegatedTarget(event) { |
5875 | return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig()); |
5879 | return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig()); |
Line 5884... | Line 5888... | ||
5884 | } |
5888 | } |
5885 | 5889 | ||
5886 | _createPopper(tip) { |
5890 | _createPopper(tip) { |
5887 | const placement = typeof this._config.placement === 'function' ? this._config.placement.call(this, tip, this._element) : this._config.placement; |
5891 | const placement = typeof this._config.placement === 'function' ? this._config.placement.call(this, tip, this._element) : this._config.placement; |
5888 | const attachment = AttachmentMap[placement.toUpperCase()]; |
5892 | const attachment = AttachmentMap[placement.toUpperCase()]; |
5889 | this._popper = createPopper(this._element, tip, this._getPopperConfig(attachment)); |
5893 | return createPopper(this._element, tip, this._getPopperConfig(attachment)); |
5890 | } |
5894 | } |
5891 | 5895 | ||
5892 | _getOffset() { |
5896 | _getOffset() { |
5893 | const { |
5897 | const { |
5894 | offset |
5898 | offset |
Line 5997... | Line 6001... | ||
5997 | 6001 | ||
5998 | if (!title) { |
6002 | if (!title) { |
5999 | return; |
6003 | return; |
6000 | } |
6004 | } |
6001 | 6005 | ||
6002 | if (!this._element.getAttribute('aria-label') && !this._element.textContent) { |
6006 | if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) { |
6003 | this._element.setAttribute('aria-label', title); |
6007 | this._element.setAttribute('aria-label', title); |
6004 | } |
6008 | } |
6005 | 6009 | ||
6006 | this._element.removeAttribute('title'); |
6010 | this._element.removeAttribute('title'); |
6007 | } |
6011 | } |
Line 6073... | Line 6077... | ||
6073 | hide: config.delay |
6077 | hide: config.delay |
6074 | }; |
6078 | }; |
6075 | } |
6079 | } |
6076 | 6080 | ||
6077 | config.originalTitle = this._element.getAttribute('title') || ''; |
6081 | config.originalTitle = this._element.getAttribute('title') || ''; |
6078 | config.title = this._resolvePossibleFunction(config.title) || config.originalTitle; |
- | |
6079 | 6082 | ||
6080 | if (typeof config.title === 'number') { |
6083 | if (typeof config.title === 'number') { |
6081 | config.title = config.title.toString(); |
6084 | config.title = config.title.toString(); |
6082 | } |
6085 | } |
6083 | 6086 | ||
Line 6136... | Line 6139... | ||
6136 | 6139 | ||
6137 | defineJQueryPlugin(Tooltip); |
6140 | defineJQueryPlugin(Tooltip); |
6138 | 6141 | ||
6139 | /** |
6142 | /** |
6140 | * -------------------------------------------------------------------------- |
6143 | * -------------------------------------------------------------------------- |
6141 | * Bootstrap (v5.2.0-beta1): popover.js |
6144 | * Bootstrap (v5.2.0): popover.js |
6142 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
6145 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
6143 | * -------------------------------------------------------------------------- |
6146 | * -------------------------------------------------------------------------- |
6144 | */ |
6147 | */ |
6145 | /** |
6148 | /** |
6146 | * Constants |
6149 | * Constants |
Line 6148... | Line 6151... | ||
6148 | 6151 | ||
6149 | const NAME$3 = 'popover'; |
6152 | const NAME$3 = 'popover'; |
6150 | const SELECTOR_TITLE = '.popover-header'; |
6153 | const SELECTOR_TITLE = '.popover-header'; |
6151 | const SELECTOR_CONTENT = '.popover-body'; |
6154 | const SELECTOR_CONTENT = '.popover-body'; |
6152 | const Default$2 = { ...Tooltip.Default, |
6155 | const Default$2 = { ...Tooltip.Default, |
6153 | placement: 'right', |
- | |
6154 | offset: [0, 8], |
- | |
6155 | trigger: 'click', |
- | |
6156 | content: '', |
6156 | content: '', |
- | 6157 | offset: [0, 8], |
|
- | 6158 | placement: 'right', |
|
6157 | template: '<div class="popover" role="tooltip">' + '<div class="popover-arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div>' + '</div>' |
6159 | template: '<div class="popover" role="tooltip">' + '<div class="popover-arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div>' + '</div>', |
- | 6160 | trigger: 'click' |
|
6158 | }; |
6161 | }; |
6159 | const DefaultType$2 = { ...Tooltip.DefaultType, |
6162 | const DefaultType$2 = { ...Tooltip.DefaultType, |
6160 | content: '(null|string|element|function)' |
6163 | content: '(null|string|element|function)' |
6161 | }; |
6164 | }; |
6162 | /** |
6165 | /** |
Line 6219... | Line 6222... | ||
6219 | 6222 | ||
6220 | defineJQueryPlugin(Popover); |
6223 | defineJQueryPlugin(Popover); |
6221 | 6224 | ||
6222 | /** |
6225 | /** |
6223 | * -------------------------------------------------------------------------- |
6226 | * -------------------------------------------------------------------------- |
6224 | * Bootstrap (v5.2.0-beta1): scrollspy.js |
6227 | * Bootstrap (v5.2.0): scrollspy.js |
6225 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
6228 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
6226 | * -------------------------------------------------------------------------- |
6229 | * -------------------------------------------------------------------------- |
6227 | */ |
6230 | */ |
6228 | /** |
6231 | /** |
6229 | * Constants |
6232 | * Constants |
Line 6339... | Line 6342... | ||
6339 | const root = this._rootElement || window; |
6342 | const root = this._rootElement || window; |
6340 | const height = observableSection.offsetTop - this._element.offsetTop; |
6343 | const height = observableSection.offsetTop - this._element.offsetTop; |
6341 | 6344 | ||
6342 | if (root.scrollTo) { |
6345 | if (root.scrollTo) { |
6343 | root.scrollTo({ |
6346 | root.scrollTo({ |
6344 | top: height |
6347 | top: height, |
- | 6348 | behavior: 'smooth' |
|
6345 | }); |
6349 | }); |
6346 | return; |
6350 | return; |
6347 | } // Chrome 60 doesn't support `scrollTo` |
6351 | } // Chrome 60 doesn't support `scrollTo` |
6348 | 6352 | ||
6349 | 6353 | ||
Line 6505... | Line 6509... | ||
6505 | 6509 | ||
6506 | defineJQueryPlugin(ScrollSpy); |
6510 | defineJQueryPlugin(ScrollSpy); |
6507 | 6511 | ||
6508 | /** |
6512 | /** |
6509 | * -------------------------------------------------------------------------- |
6513 | * -------------------------------------------------------------------------- |
6510 | * Bootstrap (v5.2.0-beta1): tab.js |
6514 | * Bootstrap (v5.2.0): tab.js |
6511 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
6515 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
6512 | * -------------------------------------------------------------------------- |
6516 | * -------------------------------------------------------------------------- |
6513 | */ |
6517 | */ |
6514 | /** |
6518 | /** |
6515 | * Constants |
6519 | * Constants |
Line 6606... | Line 6610... | ||
6606 | element.classList.add(CLASS_NAME_ACTIVE); |
6610 | element.classList.add(CLASS_NAME_ACTIVE); |
6607 | 6611 | ||
6608 | this._activate(getElementFromSelector(element)); // Search and activate/show the proper section |
6612 | this._activate(getElementFromSelector(element)); // Search and activate/show the proper section |
6609 | 6613 | ||
6610 | 6614 | ||
6611 | const isAnimated = element.classList.contains(CLASS_NAME_FADE$1); |
- | |
6612 | - | ||
6613 | const complete = () => { |
6615 | const complete = () => { |
6614 | if (isAnimated) { |
- | |
6615 | // todo: maybe is redundant |
- | |
6616 | element.classList.add(CLASS_NAME_SHOW$1); |
- | |
6617 | } |
- | |
6618 | - | ||
6619 | if (element.getAttribute('role') !== 'tab') { |
6616 | if (element.getAttribute('role') !== 'tab') { |
- | 6617 | element.classList.add(CLASS_NAME_SHOW$1); |
|
6620 | return; |
6618 | return; |
6621 | } |
6619 | } |
6622 | 6620 | ||
6623 | element.focus(); |
6621 | element.focus(); |
6624 | element.removeAttribute('tabindex'); |
6622 | element.removeAttribute('tabindex'); |
Line 6629... | Line 6627... | ||
6629 | EventHandler.trigger(element, EVENT_SHOWN$1, { |
6627 | EventHandler.trigger(element, EVENT_SHOWN$1, { |
6630 | relatedTarget: relatedElem |
6628 | relatedTarget: relatedElem |
6631 | }); |
6629 | }); |
6632 | }; |
6630 | }; |
6633 | 6631 | ||
6634 | this._queueCallback(complete, element, isAnimated); |
6632 | this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE$1)); |
6635 | } |
6633 | } |
6636 | 6634 | ||
6637 | _deactivate(element, relatedElem) { |
6635 | _deactivate(element, relatedElem) { |
6638 | if (!element) { |
6636 | if (!element) { |
6639 | return; |
6637 | return; |
Line 6643... | Line 6641... | ||
6643 | element.blur(); |
6641 | element.blur(); |
6644 | 6642 | ||
6645 | this._deactivate(getElementFromSelector(element)); // Search and deactivate the shown section too |
6643 | this._deactivate(getElementFromSelector(element)); // Search and deactivate the shown section too |
6646 | 6644 | ||
6647 | 6645 | ||
6648 | const isAnimated = element.classList.contains(CLASS_NAME_FADE$1); |
- | |
6649 | - | ||
6650 | const complete = () => { |
6646 | const complete = () => { |
6651 | if (isAnimated) { |
- | |
6652 | // todo maybe is redundant |
- | |
6653 | element.classList.remove(CLASS_NAME_SHOW$1); |
- | |
6654 | } |
- | |
6655 | - | ||
6656 | if (element.getAttribute('role') !== 'tab') { |
6647 | if (element.getAttribute('role') !== 'tab') { |
- | 6648 | element.classList.remove(CLASS_NAME_SHOW$1); |
|
6657 | return; |
6649 | return; |
6658 | } |
6650 | } |
6659 | 6651 | ||
6660 | element.setAttribute('aria-selected', false); |
6652 | element.setAttribute('aria-selected', false); |
6661 | element.setAttribute('tabindex', '-1'); |
6653 | element.setAttribute('tabindex', '-1'); |
Line 6665... | Line 6657... | ||
6665 | EventHandler.trigger(element, EVENT_HIDDEN$1, { |
6657 | EventHandler.trigger(element, EVENT_HIDDEN$1, { |
6666 | relatedTarget: relatedElem |
6658 | relatedTarget: relatedElem |
6667 | }); |
6659 | }); |
6668 | }; |
6660 | }; |
6669 | 6661 | ||
6670 | this._queueCallback(complete, element, isAnimated); |
6662 | this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE$1)); |
6671 | } |
6663 | } |
6672 | 6664 | ||
6673 | _keydown(event) { |
6665 | _keydown(event) { |
6674 | if (![ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)) { |
6666 | if (![ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)) { |
6675 | return; |
6667 | return; |
Line 6830... | Line 6822... | ||
6830 | 6822 | ||
6831 | defineJQueryPlugin(Tab); |
6823 | defineJQueryPlugin(Tab); |
6832 | 6824 | ||
6833 | /** |
6825 | /** |
6834 | * -------------------------------------------------------------------------- |
6826 | * -------------------------------------------------------------------------- |
6835 | * Bootstrap (v5.2.0-beta1): toast.js |
6827 | * Bootstrap (v5.2.0): toast.js |
6836 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
6828 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
6837 | * -------------------------------------------------------------------------- |
6829 | * -------------------------------------------------------------------------- |
6838 | */ |
6830 | */ |
6839 | /** |
6831 | /** |
6840 | * Constants |
6832 | * Constants |
Line 7047... | Line 7039... | ||
7047 | 7039 | ||
7048 | defineJQueryPlugin(Toast); |
7040 | defineJQueryPlugin(Toast); |
7049 | 7041 | ||
7050 | /** |
7042 | /** |
7051 | * -------------------------------------------------------------------------- |
7043 | * -------------------------------------------------------------------------- |
7052 | * Bootstrap (v5.2.0-beta1): index.umd.js |
7044 | * Bootstrap (v5.2.0): index.umd.js |
7053 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
7045 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
7054 | * -------------------------------------------------------------------------- |
7046 | * -------------------------------------------------------------------------- |
7055 | */ |
7047 | */ |
7056 | const index_umd = { |
7048 | const index_umd = { |
7057 | Alert, |
7049 | Alert, |