Subversion Repositories oidplus

Rev

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,