@coreui/react 4.0.1 → 4.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/README.md +1 -1
  2. package/dist/components/accordion/CAccordionCollapse.d.ts +1 -1
  3. package/dist/components/collapse/CCollapse.d.ts +4 -0
  4. package/dist/components/form/CFormLabel.d.ts +2 -2
  5. package/dist/components/modal/CModal.d.ts +1 -0
  6. package/dist/components/placeholder/CPlaceholder.d.ts +51 -0
  7. package/dist/components/popover/CPopover.d.ts +2 -2
  8. package/dist/components/tooltip/CTooltip.d.ts +1 -1
  9. package/dist/index.d.ts +2 -1
  10. package/dist/index.es.js +338 -204
  11. package/dist/index.es.js.map +1 -1
  12. package/dist/index.js +338 -203
  13. package/dist/index.js.map +1 -1
  14. package/package.json +8 -8
  15. package/src/components/accordion/CAccordionCollapse.tsx +1 -1
  16. package/src/components/collapse/CCollapse.tsx +36 -3
  17. package/src/components/form/CFormLabel.tsx +2 -2
  18. package/src/components/form/__tests__/CFormLabel.spec.tsx +8 -0
  19. package/src/components/form/__tests__/__snapshots__/CFormLabel.spec.tsx.snap +11 -0
  20. package/src/components/grid/CCol.tsx +8 -8
  21. package/src/components/grid/CContainer.tsx +3 -3
  22. package/src/components/grid/CRow.tsx +6 -6
  23. package/src/components/modal/CModal.tsx +42 -19
  24. package/src/components/modal/__tests__/CModal.spec.tsx +1 -1
  25. package/src/components/modal/__tests__/__snapshots__/CModal.spec.tsx.snap +2 -10
  26. package/src/components/offcanvas/COffcanvas.tsx +15 -2
  27. package/src/components/offcanvas/__tests__/COffcanvas.spec.tsx +1 -1
  28. package/src/components/offcanvas/__tests__/__snapshots__/COffcanvas.spec.tsx.snap +2 -2
  29. package/src/components/placeholder/CPlaceholder.tsx +114 -0
  30. package/src/components/placeholder/__tests__/CPlaceholder.spec.tsx +21 -0
  31. package/src/components/placeholder/__tests__/__snapshots__/CPlaceholder.spec.tsx.snap +17 -0
  32. package/src/components/popover/CPopover.tsx +4 -4
  33. package/src/components/tooltip/CTooltip.tsx +2 -2
  34. package/src/index.ts +2 -0
  35. package/src/utils/hooks/useForkedRef.ts +5 -0
package/dist/index.js CHANGED
@@ -385,6 +385,8 @@ var ReactPropTypesSecret$3 = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
385
385
 
386
386
  var ReactPropTypesSecret_1 = ReactPropTypesSecret$3;
387
387
 
388
+ var has$2 = Function.call.bind(Object.prototype.hasOwnProperty);
389
+
388
390
  /**
389
391
  * Copyright (c) 2013-present, Facebook, Inc.
390
392
  *
@@ -397,7 +399,7 @@ var printWarning$2 = function() {};
397
399
  if (process.env.NODE_ENV !== 'production') {
398
400
  var ReactPropTypesSecret$2 = ReactPropTypesSecret_1;
399
401
  var loggedTypeFailures = {};
400
- var has$1 = Function.call.bind(Object.prototype.hasOwnProperty);
402
+ var has$1 = has$2;
401
403
 
402
404
  printWarning$2 = function(text) {
403
405
  var message = 'Warning: ' + text;
@@ -409,7 +411,7 @@ if (process.env.NODE_ENV !== 'production') {
409
411
  // This error was thrown as a convenience so that you can use this stack
410
412
  // to find the callsite that caused this warning to fire.
411
413
  throw new Error(message);
412
- } catch (x) {}
414
+ } catch (x) { /**/ }
413
415
  };
414
416
  }
415
417
 
@@ -438,7 +440,8 @@ function checkPropTypes$1(typeSpecs, values, location, componentName, getStack)
438
440
  if (typeof typeSpecs[typeSpecName] !== 'function') {
439
441
  var err = Error(
440
442
  (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +
441
- 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.'
443
+ 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +
444
+ 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'
442
445
  );
443
446
  err.name = 'Invariant Violation';
444
447
  throw err;
@@ -497,9 +500,9 @@ var ReactIs$1 = reactIs.exports;
497
500
  var assign = objectAssign;
498
501
 
499
502
  var ReactPropTypesSecret$1 = ReactPropTypesSecret_1;
503
+ var has = has$2;
500
504
  var checkPropTypes = checkPropTypes_1;
501
505
 
502
- var has = Function.call.bind(Object.prototype.hasOwnProperty);
503
506
  var printWarning$1 = function() {};
504
507
 
505
508
  if (process.env.NODE_ENV !== 'production') {
@@ -600,6 +603,7 @@ var factoryWithTypeCheckers = function(isValidElement, throwOnDirectAccess) {
600
603
  // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.
601
604
  var ReactPropTypes = {
602
605
  array: createPrimitiveTypeChecker('array'),
606
+ bigint: createPrimitiveTypeChecker('bigint'),
603
607
  bool: createPrimitiveTypeChecker('boolean'),
604
608
  func: createPrimitiveTypeChecker('function'),
605
609
  number: createPrimitiveTypeChecker('number'),
@@ -645,8 +649,9 @@ var factoryWithTypeCheckers = function(isValidElement, throwOnDirectAccess) {
645
649
  * is prohibitively expensive if they are created too often, such as what
646
650
  * happens in oneOfType() for any type before the one that matched.
647
651
  */
648
- function PropTypeError(message) {
652
+ function PropTypeError(message, data) {
649
653
  this.message = message;
654
+ this.data = data && typeof data === 'object' ? data: {};
650
655
  this.stack = '';
651
656
  }
652
657
  // Make `instanceof Error` still work for returned errors.
@@ -681,7 +686,7 @@ var factoryWithTypeCheckers = function(isValidElement, throwOnDirectAccess) {
681
686
  ) {
682
687
  printWarning$1(
683
688
  'You are manually calling a React.PropTypes validation ' +
684
- 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +
689
+ 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +
685
690
  'and will throw in the standalone `prop-types` package. ' +
686
691
  'You may be seeing this warning due to a third-party PropTypes ' +
687
692
  'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'
@@ -720,7 +725,10 @@ var factoryWithTypeCheckers = function(isValidElement, throwOnDirectAccess) {
720
725
  // 'of type `object`'.
721
726
  var preciseType = getPreciseType(propValue);
722
727
 
723
- return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));
728
+ return new PropTypeError(
729
+ 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),
730
+ {expectedType: expectedType}
731
+ );
724
732
  }
725
733
  return null;
726
734
  }
@@ -864,14 +872,19 @@ var factoryWithTypeCheckers = function(isValidElement, throwOnDirectAccess) {
864
872
  }
865
873
 
866
874
  function validate(props, propName, componentName, location, propFullName) {
875
+ var expectedTypes = [];
867
876
  for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
868
877
  var checker = arrayOfTypeCheckers[i];
869
- if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret$1) == null) {
878
+ var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret$1);
879
+ if (checkerResult == null) {
870
880
  return null;
871
881
  }
882
+ if (checkerResult.data.hasOwnProperty('expectedType')) {
883
+ expectedTypes.push(checkerResult.data.expectedType);
884
+ }
872
885
  }
873
-
874
- return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));
886
+ var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';
887
+ return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));
875
888
  }
876
889
  return createChainableTypeChecker(validate);
877
890
  }
@@ -886,6 +899,13 @@ var factoryWithTypeCheckers = function(isValidElement, throwOnDirectAccess) {
886
899
  return createChainableTypeChecker(validate);
887
900
  }
888
901
 
902
+ function invalidValidatorError(componentName, location, propFullName, key, type) {
903
+ return new PropTypeError(
904
+ (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +
905
+ 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'
906
+ );
907
+ }
908
+
889
909
  function createShapeTypeChecker(shapeTypes) {
890
910
  function validate(props, propName, componentName, location, propFullName) {
891
911
  var propValue = props[propName];
@@ -895,8 +915,8 @@ var factoryWithTypeCheckers = function(isValidElement, throwOnDirectAccess) {
895
915
  }
896
916
  for (var key in shapeTypes) {
897
917
  var checker = shapeTypes[key];
898
- if (!checker) {
899
- continue;
918
+ if (typeof checker !== 'function') {
919
+ return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
900
920
  }
901
921
  var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret$1);
902
922
  if (error) {
@@ -915,16 +935,18 @@ var factoryWithTypeCheckers = function(isValidElement, throwOnDirectAccess) {
915
935
  if (propType !== 'object') {
916
936
  return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
917
937
  }
918
- // We need to check all keys in case some are required but missing from
919
- // props.
938
+ // We need to check all keys in case some are required but missing from props.
920
939
  var allKeys = assign({}, props[propName], shapeTypes);
921
940
  for (var key in allKeys) {
922
941
  var checker = shapeTypes[key];
942
+ if (has(shapeTypes, key) && typeof checker !== 'function') {
943
+ return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
944
+ }
923
945
  if (!checker) {
924
946
  return new PropTypeError(
925
947
  'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +
926
948
  '\nBad object: ' + JSON.stringify(props[propName], null, ' ') +
927
- '\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')
949
+ '\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')
928
950
  );
929
951
  }
930
952
  var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret$1);
@@ -1109,6 +1131,7 @@ var factoryWithThrowingShims = function() {
1109
1131
  // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.
1110
1132
  var ReactPropTypes = {
1111
1133
  array: shim,
1134
+ bigint: shim,
1112
1135
  bool: shim,
1113
1136
  func: shim,
1114
1137
  number: shim,
@@ -2387,6 +2410,7 @@ CSSTransition.propTypes = process.env.NODE_ENV !== "production" ? _extends({}, T
2387
2410
  var CSSTransition$1 = CSSTransition;
2388
2411
 
2389
2412
  // code borrowed from https://github.com/reach/reach-ui
2413
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2390
2414
  function useForkedRef() {
2391
2415
  var refs = [];
2392
2416
  for (var _i = 0; _i < arguments.length; _i++) {
@@ -2396,6 +2420,7 @@ function useForkedRef() {
2396
2420
  if (refs.every(function (ref) { return ref == null; })) {
2397
2421
  return null;
2398
2422
  }
2423
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2399
2424
  return function (node) {
2400
2425
  refs.forEach(function (ref) {
2401
2426
  assignRef(ref, node);
@@ -2403,7 +2428,10 @@ function useForkedRef() {
2403
2428
  };
2404
2429
  }, refs);
2405
2430
  }
2406
- function assignRef(ref, value) {
2431
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2432
+ function assignRef(ref,
2433
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2434
+ value) {
2407
2435
  if (ref == null)
2408
2436
  return;
2409
2437
  if (isFunction(ref)) {
@@ -2414,17 +2442,19 @@ function assignRef(ref, value) {
2414
2442
  ref.current = value;
2415
2443
  }
2416
2444
  catch (error) {
2417
- throw new Error("Cannot assign value \"" + value + "\" to ref \"" + ref + "\"");
2445
+ throw new Error("Cannot assign value \"".concat(value, "\" to ref \"").concat(ref, "\""));
2418
2446
  }
2419
2447
  }
2420
2448
  }
2449
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types
2421
2450
  function isFunction(value) {
2422
2451
  return !!(value && {}.toString.call(value) == '[object Function]');
2423
2452
  }
2424
2453
 
2425
2454
  var CCollapse = React.forwardRef(function (_a, ref) {
2426
- var children = _a.children, className = _a.className, onHide = _a.onHide, onShow = _a.onShow, visible = _a.visible, rest = __rest(_a, ["children", "className", "onHide", "onShow", "visible"]);
2455
+ var children = _a.children, className = _a.className, horizontal = _a.horizontal, onHide = _a.onHide, onShow = _a.onShow, visible = _a.visible, rest = __rest(_a, ["children", "className", "horizontal", "onHide", "onShow", "visible"]);
2427
2456
  var _b = React.useState(), height = _b[0], setHeight = _b[1];
2457
+ var _c = React.useState(), width = _c[0], setWidth = _c[1];
2428
2458
  var collapseRef = React.useRef(null);
2429
2459
  var forkedRef = useForkedRef(ref, collapseRef);
2430
2460
  var getTransitionClass = function (state) {
@@ -2438,31 +2468,55 @@ var CCollapse = React.forwardRef(function (_a, ref) {
2438
2468
  };
2439
2469
  var onEntering = function () {
2440
2470
  onShow && onShow();
2471
+ if (horizontal) {
2472
+ collapseRef.current && setWidth(collapseRef.current.scrollWidth);
2473
+ return;
2474
+ }
2441
2475
  collapseRef.current && setHeight(collapseRef.current.scrollHeight);
2442
2476
  };
2443
2477
  var onEntered = function () {
2478
+ if (horizontal) {
2479
+ setWidth(0);
2480
+ return;
2481
+ }
2444
2482
  setHeight(0);
2445
2483
  };
2446
2484
  var onExit = function () {
2485
+ if (horizontal) {
2486
+ collapseRef.current && setWidth(collapseRef.current.scrollWidth);
2487
+ return;
2488
+ }
2447
2489
  collapseRef.current && setHeight(collapseRef.current.scrollHeight);
2448
2490
  };
2449
2491
  var onExiting = function () {
2450
2492
  onHide && onHide();
2493
+ if (horizontal) {
2494
+ setWidth(0);
2495
+ return;
2496
+ }
2451
2497
  setHeight(0);
2452
2498
  };
2453
2499
  var onExited = function () {
2500
+ if (horizontal) {
2501
+ setWidth(0);
2502
+ return;
2503
+ }
2454
2504
  setHeight(0);
2455
2505
  };
2456
- var _className = classNames(className);
2506
+ var _className = classNames({
2507
+ 'collapse-horizontal': horizontal,
2508
+ }, className);
2457
2509
  return (React__default["default"].createElement(CSSTransition$1, { in: visible, onEntering: onEntering, onEntered: onEntered, onExit: onExit, onExiting: onExiting, onExited: onExited, timeout: 350 }, function (state) {
2458
2510
  var transitionClass = getTransitionClass(state);
2459
2511
  var currentHeight = height === 0 ? null : { height: height };
2460
- return (React__default["default"].createElement("div", __assign({ className: classNames(_className, transitionClass), style: __assign({}, currentHeight) }, rest, { ref: forkedRef }), children));
2512
+ var currentWidth = width === 0 ? null : { width: width };
2513
+ return (React__default["default"].createElement("div", __assign({ className: classNames(_className, transitionClass), style: __assign(__assign({}, currentHeight), currentWidth) }, rest, { ref: forkedRef }), children));
2461
2514
  }));
2462
2515
  });
2463
2516
  CCollapse.propTypes = {
2464
2517
  children: PropTypes.node,
2465
2518
  className: PropTypes.string,
2519
+ horizontal: PropTypes.bool,
2466
2520
  onHide: PropTypes.func,
2467
2521
  onShow: PropTypes.func,
2468
2522
  visible: PropTypes.bool,
@@ -2588,7 +2642,7 @@ var CAlert = React.forwardRef(function (_a, ref) {
2588
2642
  React.useEffect(function () {
2589
2643
  setVisible(visible);
2590
2644
  }, [visible]);
2591
- var _className = classNames('alert', variant === 'solid' ? "bg-" + color + " text-white" : "alert-" + color, {
2645
+ var _className = classNames('alert', variant === 'solid' ? "bg-".concat(color, " text-white") : "alert-".concat(color), {
2592
2646
  'alert-dismissible fade': dismissible,
2593
2647
  }, className);
2594
2648
  var getTransitionClass = function (state) {
@@ -2659,11 +2713,11 @@ var CAvatar = React.forwardRef(function (_a, ref) {
2659
2713
  var _b;
2660
2714
  var children = _a.children, className = _a.className, color = _a.color, shape = _a.shape, size = _a.size, src = _a.src, status = _a.status, textColor = _a.textColor, rest = __rest(_a, ["children", "className", "color", "shape", "size", "src", "status", "textColor"]);
2661
2715
  var _className = classNames('avatar', (_b = {},
2662
- _b["bg-" + color] = color,
2663
- _b["avatar-" + size] = size,
2664
- _b["text-" + textColor] = textColor,
2716
+ _b["bg-".concat(color)] = color,
2717
+ _b["avatar-".concat(size)] = size,
2718
+ _b["text-".concat(textColor)] = textColor,
2665
2719
  _b), shape, className);
2666
- var statusClassName = status && classNames('avatar-status', "bg-" + status);
2720
+ var statusClassName = status && classNames('avatar-status', "bg-".concat(status));
2667
2721
  return (React__default["default"].createElement("div", __assign({ className: _className }, rest, { ref: ref }),
2668
2722
  src ? React__default["default"].createElement("img", { src: src, className: "avatar-img" }) : children,
2669
2723
  status && React__default["default"].createElement("span", { className: statusClassName })));
@@ -2684,14 +2738,14 @@ var CBadge = React.forwardRef(function (_a, ref) {
2684
2738
  var _b;
2685
2739
  var children = _a.children, className = _a.className, color = _a.color, _c = _a.component, Component = _c === void 0 ? 'span' : _c, position = _a.position, shape = _a.shape, size = _a.size, textColor = _a.textColor, rest = __rest(_a, ["children", "className", "color", "component", "position", "shape", "size", "textColor"]);
2686
2740
  var _className = classNames('badge', (_b = {},
2687
- _b["bg-" + color] = color,
2741
+ _b["bg-".concat(color)] = color,
2688
2742
  _b['position-absolute translate-middle'] = position,
2689
2743
  _b['top-0'] = position === null || position === void 0 ? void 0 : position.includes('top'),
2690
2744
  _b['top-100'] = position === null || position === void 0 ? void 0 : position.includes('bottom'),
2691
2745
  _b['start-100'] = position === null || position === void 0 ? void 0 : position.includes('end'),
2692
2746
  _b['start-0'] = position === null || position === void 0 ? void 0 : position.includes('start'),
2693
- _b["badge-" + size] = size,
2694
- _b["text-" + textColor] = textColor,
2747
+ _b["badge-".concat(size)] = size,
2748
+ _b["text-".concat(textColor)] = textColor,
2695
2749
  _b), shape, className);
2696
2750
  return (React__default["default"].createElement(Component, __assign({ className: _className }, rest, { ref: ref }), children));
2697
2751
  });
@@ -2754,7 +2808,7 @@ CBreadcrumbItem.displayName = 'CBreadcrumbItem';
2754
2808
  var CButton = React.forwardRef(function (_a, ref) {
2755
2809
  var _b;
2756
2810
  var children = _a.children, className = _a.className, _c = _a.color, color = _c === void 0 ? 'primary' : _c, _d = _a.component, component = _d === void 0 ? 'button' : _d, shape = _a.shape, size = _a.size, _e = _a.type, type = _e === void 0 ? 'button' : _e, variant = _a.variant, rest = __rest(_a, ["children", "className", "color", "component", "shape", "size", "type", "variant"]);
2757
- var _className = classNames('btn', variant ? "btn-" + variant + "-" + color : "btn-" + color, (_b = {}, _b["btn-" + size] = size, _b), shape, className);
2811
+ var _className = classNames('btn', variant ? "btn-".concat(variant, "-").concat(color) : "btn-".concat(color), (_b = {}, _b["btn-".concat(size)] = size, _b), shape, className);
2758
2812
  return (React__default["default"].createElement(CLink, __assign({ component: rest.href ? 'a' : component, type: type, className: _className }, rest, { ref: ref }), children));
2759
2813
  });
2760
2814
  CButton.propTypes = {
@@ -2772,7 +2826,7 @@ CButton.displayName = 'CButton';
2772
2826
  var CButtonGroup = React.forwardRef(function (_a, ref) {
2773
2827
  var _b;
2774
2828
  var children = _a.children, className = _a.className, size = _a.size, vertical = _a.vertical, rest = __rest(_a, ["children", "className", "size", "vertical"]);
2775
- var _className = classNames(vertical ? 'btn-group-vertical' : 'btn-group', (_b = {}, _b["btn-group-" + size] = size, _b), className);
2829
+ var _className = classNames(vertical ? 'btn-group-vertical' : 'btn-group', (_b = {}, _b["btn-group-".concat(size)] = size, _b), className);
2776
2830
  return (React__default["default"].createElement("div", __assign({ className: _className }, rest, { ref: ref }), children));
2777
2831
  });
2778
2832
  CButtonGroup.propTypes = {
@@ -2798,7 +2852,7 @@ var CCallout = React.forwardRef(function (_a, ref) {
2798
2852
  var _b;
2799
2853
  var children = _a.children, className = _a.className, color = _a.color, rest = __rest(_a, ["children", "className", "color"]);
2800
2854
  var _className = classNames('callout', (_b = {},
2801
- _b["callout-" + color] = color,
2855
+ _b["callout-".concat(color)] = color,
2802
2856
  _b), className);
2803
2857
  return (React__default["default"].createElement("div", __assign({ className: _className }, rest, { ref: ref }), children));
2804
2858
  });
@@ -2813,8 +2867,8 @@ var CCard = React.forwardRef(function (_a, ref) {
2813
2867
  var _b;
2814
2868
  var children = _a.children, className = _a.className, color = _a.color, textColor = _a.textColor, rest = __rest(_a, ["children", "className", "color", "textColor"]);
2815
2869
  var _className = classNames('card', (_b = {},
2816
- _b["bg-" + color] = color,
2817
- _b["text-" + textColor] = textColor,
2870
+ _b["bg-".concat(color)] = color,
2871
+ _b["text-".concat(textColor)] = textColor,
2818
2872
  _b), className);
2819
2873
  return (React__default["default"].createElement("div", __assign({ className: _className }, rest, { ref: ref }), children));
2820
2874
  });
@@ -2873,7 +2927,7 @@ CCardHeader.displayName = 'CCardHeader';
2873
2927
 
2874
2928
  var CCardImage = React.forwardRef(function (_a, ref) {
2875
2929
  var children = _a.children, className = _a.className, _b = _a.component, Component = _b === void 0 ? 'img' : _b, orientation = _a.orientation, rest = __rest(_a, ["children", "className", "component", "orientation"]);
2876
- var _className = classNames(orientation ? "card-img-" + orientation : 'card-img', className);
2930
+ var _className = classNames(orientation ? "card-img-".concat(orientation) : 'card-img', className);
2877
2931
  return (React__default["default"].createElement(Component, __assign({ className: _className }, rest, { ref: ref }), children));
2878
2932
  });
2879
2933
  CCardImage.propTypes = {
@@ -3039,7 +3093,7 @@ var CCarousel = React.forwardRef(function (_a, ref) {
3039
3093
  setCustomInterval: setCustomInterval,
3040
3094
  } },
3041
3095
  indicators && (React__default["default"].createElement("ol", { className: "carousel-indicators" }, Array.from({ length: itemsNumber }, function (_, i) { return i; }).map(function (index) {
3042
- return (React__default["default"].createElement("li", { key: "indicator" + index, onClick: function () {
3096
+ return (React__default["default"].createElement("li", { key: "indicator".concat(index), onClick: function () {
3043
3097
  !animating && handleIndicatorClick(index);
3044
3098
  }, className: active === index ? 'active' : '', "data-coreui-target": "" }));
3045
3099
  }))),
@@ -3099,7 +3153,7 @@ var CCarouselItem = React.forwardRef(function (_a, ref) {
3099
3153
  if (active) {
3100
3154
  setCustomInterval(interval);
3101
3155
  if (count !== 0)
3102
- setOrderClassName("carousel-item-" + direction);
3156
+ setOrderClassName("carousel-item-".concat(direction));
3103
3157
  }
3104
3158
  if (prevActive.current && !active) {
3105
3159
  setActiveClassName('active');
@@ -3111,7 +3165,7 @@ var CCarouselItem = React.forwardRef(function (_a, ref) {
3111
3165
  // @ts-expect-error reflow is necessary to proper transition
3112
3166
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
3113
3167
  (_a = carouselItemRef.current) === null || _a === void 0 ? void 0 : _a.offsetHeight;
3114
- setDirectionClassName("carousel-item-" + (direction === 'next' ? 'start' : 'end'));
3168
+ setDirectionClassName("carousel-item-".concat(direction === 'next' ? 'start' : 'end'));
3115
3169
  }
3116
3170
  }, 0);
3117
3171
  }
@@ -3400,29 +3454,32 @@ function getBasePlacement(placement) {
3400
3454
  return placement.split('-')[0];
3401
3455
  }
3402
3456
 
3403
- // import { isHTMLElement } from './instanceOf';
3404
- function getBoundingClientRect(element, // eslint-disable-next-line unused-imports/no-unused-vars
3405
- includeScale) {
3457
+ var max = Math.max;
3458
+ var min = Math.min;
3459
+ var round = Math.round;
3460
+
3461
+ function getBoundingClientRect(element, includeScale) {
3462
+ if (includeScale === void 0) {
3463
+ includeScale = false;
3464
+ }
3406
3465
 
3407
3466
  var rect = element.getBoundingClientRect();
3408
3467
  var scaleX = 1;
3409
- var scaleY = 1; // FIXME:
3410
- // `offsetWidth` returns an integer while `getBoundingClientRect`
3411
- // returns a float. This results in `scaleX` or `scaleY` being
3412
- // non-1 when it should be for elements that aren't a full pixel in
3413
- // width or height.
3414
- // if (isHTMLElement(element) && includeScale) {
3415
- // const offsetHeight = element.offsetHeight;
3416
- // const offsetWidth = element.offsetWidth;
3417
- // // Do not attempt to divide by 0, otherwise we get `Infinity` as scale
3418
- // // Fallback to 1 in case both values are `0`
3419
- // if (offsetWidth > 0) {
3420
- // scaleX = rect.width / offsetWidth || 1;
3421
- // }
3422
- // if (offsetHeight > 0) {
3423
- // scaleY = rect.height / offsetHeight || 1;
3424
- // }
3425
- // }
3468
+ var scaleY = 1;
3469
+
3470
+ if (isHTMLElement(element) && includeScale) {
3471
+ var offsetHeight = element.offsetHeight;
3472
+ var offsetWidth = element.offsetWidth; // Do not attempt to divide by 0, otherwise we get `Infinity` as scale
3473
+ // Fallback to 1 in case both values are `0`
3474
+
3475
+ if (offsetWidth > 0) {
3476
+ scaleX = round(rect.width) / offsetWidth || 1;
3477
+ }
3478
+
3479
+ if (offsetHeight > 0) {
3480
+ scaleY = round(rect.height) / offsetHeight || 1;
3481
+ }
3482
+ }
3426
3483
 
3427
3484
  return {
3428
3485
  width: rect.width / scaleX,
@@ -3577,13 +3634,13 @@ function getMainAxisFromPlacement(placement) {
3577
3634
  return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';
3578
3635
  }
3579
3636
 
3580
- var max = Math.max;
3581
- var min = Math.min;
3582
- var round = Math.round;
3583
-
3584
3637
  function within(min$1, value, max$1) {
3585
3638
  return max(min$1, min(value, max$1));
3586
3639
  }
3640
+ function withinMaxClamp(min, value, max) {
3641
+ var v = within(min, value, max);
3642
+ return v > max ? max : v;
3643
+ }
3587
3644
 
3588
3645
  function getFreshSideObject() {
3589
3646
  return {
@@ -3715,8 +3772,8 @@ function roundOffsetsByDPR(_ref) {
3715
3772
  var win = window;
3716
3773
  var dpr = win.devicePixelRatio || 1;
3717
3774
  return {
3718
- x: round(round(x * dpr) / dpr) || 0,
3719
- y: round(round(y * dpr) / dpr) || 0
3775
+ x: round(x * dpr) / dpr || 0,
3776
+ y: round(y * dpr) / dpr || 0
3720
3777
  };
3721
3778
  }
3722
3779
 
@@ -3731,7 +3788,8 @@ function mapToStyles(_ref2) {
3731
3788
  position = _ref2.position,
3732
3789
  gpuAcceleration = _ref2.gpuAcceleration,
3733
3790
  adaptive = _ref2.adaptive,
3734
- roundOffsets = _ref2.roundOffsets;
3791
+ roundOffsets = _ref2.roundOffsets,
3792
+ isFixed = _ref2.isFixed;
3735
3793
 
3736
3794
  var _ref3 = roundOffsets === true ? roundOffsetsByDPR(offsets) : typeof roundOffsets === 'function' ? roundOffsets(offsets) : offsets,
3737
3795
  _ref3$x = _ref3.x,
@@ -3763,16 +3821,18 @@ function mapToStyles(_ref2) {
3763
3821
  offsetParent = offsetParent;
3764
3822
 
3765
3823
  if (placement === top || (placement === left || placement === right) && variation === end) {
3766
- sideY = bottom; // $FlowFixMe[prop-missing]
3767
-
3768
- y -= offsetParent[heightProp] - popperRect.height;
3824
+ sideY = bottom;
3825
+ var offsetY = isFixed && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]
3826
+ offsetParent[heightProp];
3827
+ y -= offsetY - popperRect.height;
3769
3828
  y *= gpuAcceleration ? 1 : -1;
3770
3829
  }
3771
3830
 
3772
3831
  if (placement === left || (placement === top || placement === bottom) && variation === end) {
3773
- sideX = right; // $FlowFixMe[prop-missing]
3774
-
3775
- x -= offsetParent[widthProp] - popperRect.width;
3832
+ sideX = right;
3833
+ var offsetX = isFixed && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]
3834
+ offsetParent[widthProp];
3835
+ x -= offsetX - popperRect.width;
3776
3836
  x *= gpuAcceleration ? 1 : -1;
3777
3837
  }
3778
3838
  }
@@ -3815,7 +3875,8 @@ function computeStyles(_ref4) {
3815
3875
  variation: getVariation(state.placement),
3816
3876
  popper: state.elements.popper,
3817
3877
  popperRect: state.rects.popper,
3818
- gpuAcceleration: gpuAcceleration
3878
+ gpuAcceleration: gpuAcceleration,
3879
+ isFixed: state.options.strategy === 'fixed'
3819
3880
  };
3820
3881
 
3821
3882
  if (state.modifiersData.popperOffsets != null) {
@@ -4073,7 +4134,7 @@ function getInnerBoundingClientRect(element) {
4073
4134
  }
4074
4135
 
4075
4136
  function getClientRectFromMixedType(element, clippingParent) {
4076
- return clippingParent === viewport ? rectToClientRect(getViewportRect(element)) : isHTMLElement(clippingParent) ? getInnerBoundingClientRect(clippingParent) : rectToClientRect(getDocumentRect(getDocumentElement(element)));
4137
+ return clippingParent === viewport ? rectToClientRect(getViewportRect(element)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent) : rectToClientRect(getDocumentRect(getDocumentElement(element)));
4077
4138
  } // A "clipping parent" is an overflowable container with the characteristic of
4078
4139
  // clipping (or hiding) overflowing elements with a position different from
4079
4140
  // `initial`
@@ -4090,7 +4151,7 @@ function getClippingParents(element) {
4090
4151
 
4091
4152
 
4092
4153
  return clippingParents.filter(function (clippingParent) {
4093
- return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';
4154
+ return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body' && (canEscapeClipping ? getComputedStyle$1(clippingParent).position !== 'static' : true);
4094
4155
  });
4095
4156
  } // Gets the maximum area that the element is visible in due to any number of
4096
4157
  // clipping parents
@@ -4590,6 +4651,14 @@ function preventOverflow(_ref) {
4590
4651
  var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {
4591
4652
  placement: state.placement
4592
4653
  })) : tetherOffset;
4654
+ var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {
4655
+ mainAxis: tetherOffsetValue,
4656
+ altAxis: tetherOffsetValue
4657
+ } : Object.assign({
4658
+ mainAxis: 0,
4659
+ altAxis: 0
4660
+ }, tetherOffsetValue);
4661
+ var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;
4593
4662
  var data = {
4594
4663
  x: 0,
4595
4664
  y: 0
@@ -4599,13 +4668,15 @@ function preventOverflow(_ref) {
4599
4668
  return;
4600
4669
  }
4601
4670
 
4602
- if (checkMainAxis || checkAltAxis) {
4671
+ if (checkMainAxis) {
4672
+ var _offsetModifierState$;
4673
+
4603
4674
  var mainSide = mainAxis === 'y' ? top : left;
4604
4675
  var altSide = mainAxis === 'y' ? bottom : right;
4605
4676
  var len = mainAxis === 'y' ? 'height' : 'width';
4606
4677
  var offset = popperOffsets[mainAxis];
4607
- var min$1 = popperOffsets[mainAxis] + overflow[mainSide];
4608
- var max$1 = popperOffsets[mainAxis] - overflow[altSide];
4678
+ var min$1 = offset + overflow[mainSide];
4679
+ var max$1 = offset - overflow[altSide];
4609
4680
  var additive = tether ? -popperRect[len] / 2 : 0;
4610
4681
  var minLen = variation === start ? referenceRect[len] : popperRect[len];
4611
4682
  var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go
@@ -4625,36 +4696,45 @@ function preventOverflow(_ref) {
4625
4696
  // width or height)
4626
4697
 
4627
4698
  var arrowLen = within(0, referenceRect[len], arrowRect[len]);
4628
- var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - tetherOffsetValue : minLen - arrowLen - arrowPaddingMin - tetherOffsetValue;
4629
- var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + tetherOffsetValue : maxLen + arrowLen + arrowPaddingMax + tetherOffsetValue;
4699
+ var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;
4700
+ var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;
4630
4701
  var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);
4631
4702
  var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;
4632
- var offsetModifierValue = state.modifiersData.offset ? state.modifiersData.offset[state.placement][mainAxis] : 0;
4633
- var tetherMin = popperOffsets[mainAxis] + minOffset - offsetModifierValue - clientOffset;
4634
- var tetherMax = popperOffsets[mainAxis] + maxOffset - offsetModifierValue;
4703
+ var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;
4704
+ var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;
4705
+ var tetherMax = offset + maxOffset - offsetModifierValue;
4706
+ var preventedOffset = within(tether ? min(min$1, tetherMin) : min$1, offset, tether ? max(max$1, tetherMax) : max$1);
4707
+ popperOffsets[mainAxis] = preventedOffset;
4708
+ data[mainAxis] = preventedOffset - offset;
4709
+ }
4635
4710
 
4636
- if (checkMainAxis) {
4637
- var preventedOffset = within(tether ? min(min$1, tetherMin) : min$1, offset, tether ? max(max$1, tetherMax) : max$1);
4638
- popperOffsets[mainAxis] = preventedOffset;
4639
- data[mainAxis] = preventedOffset - offset;
4640
- }
4711
+ if (checkAltAxis) {
4712
+ var _offsetModifierState$2;
4641
4713
 
4642
- if (checkAltAxis) {
4643
- var _mainSide = mainAxis === 'x' ? top : left;
4714
+ var _mainSide = mainAxis === 'x' ? top : left;
4644
4715
 
4645
- var _altSide = mainAxis === 'x' ? bottom : right;
4716
+ var _altSide = mainAxis === 'x' ? bottom : right;
4646
4717
 
4647
- var _offset = popperOffsets[altAxis];
4718
+ var _offset = popperOffsets[altAxis];
4648
4719
 
4649
- var _min = _offset + overflow[_mainSide];
4720
+ var _len = altAxis === 'y' ? 'height' : 'width';
4650
4721
 
4651
- var _max = _offset - overflow[_altSide];
4722
+ var _min = _offset + overflow[_mainSide];
4652
4723
 
4653
- var _preventedOffset = within(tether ? min(_min, tetherMin) : _min, _offset, tether ? max(_max, tetherMax) : _max);
4724
+ var _max = _offset - overflow[_altSide];
4654
4725
 
4655
- popperOffsets[altAxis] = _preventedOffset;
4656
- data[altAxis] = _preventedOffset - _offset;
4657
- }
4726
+ var isOriginSide = [top, left].indexOf(basePlacement) !== -1;
4727
+
4728
+ var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;
4729
+
4730
+ var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;
4731
+
4732
+ var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;
4733
+
4734
+ var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);
4735
+
4736
+ popperOffsets[altAxis] = _preventedOffset;
4737
+ data[altAxis] = _preventedOffset - _offset;
4658
4738
  }
4659
4739
 
4660
4740
  state.modifiersData[name] = data;
@@ -4686,8 +4766,8 @@ function getNodeScroll(node) {
4686
4766
 
4687
4767
  function isElementScaled(element) {
4688
4768
  var rect = element.getBoundingClientRect();
4689
- var scaleX = rect.width / element.offsetWidth || 1;
4690
- var scaleY = rect.height / element.offsetHeight || 1;
4769
+ var scaleX = round(rect.width) / element.offsetWidth || 1;
4770
+ var scaleY = round(rect.height) / element.offsetHeight || 1;
4691
4771
  return scaleX !== 1 || scaleY !== 1;
4692
4772
  } // Returns the composite rect of an element relative to its offsetParent.
4693
4773
  // Composite means it takes into account transforms as well as layout.
@@ -4699,9 +4779,9 @@ function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {
4699
4779
  }
4700
4780
 
4701
4781
  var isOffsetParentAnElement = isHTMLElement(offsetParent);
4702
- isHTMLElement(offsetParent) && isElementScaled(offsetParent);
4782
+ var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);
4703
4783
  var documentElement = getDocumentElement(offsetParent);
4704
- var rect = getBoundingClientRect(elementOrVirtualElement);
4784
+ var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled);
4705
4785
  var scroll = {
4706
4786
  scrollLeft: 0,
4707
4787
  scrollTop: 0
@@ -4718,7 +4798,7 @@ function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {
4718
4798
  }
4719
4799
 
4720
4800
  if (isHTMLElement(offsetParent)) {
4721
- offsets = getBoundingClientRect(offsetParent);
4801
+ offsets = getBoundingClientRect(offsetParent, true);
4722
4802
  offsets.x += offsetParent.clientLeft;
4723
4803
  offsets.y += offsetParent.clientTop;
4724
4804
  } else if (documentElement) {
@@ -5696,11 +5776,11 @@ var CDropdownMenu = function (_a) {
5696
5776
  var classNames = [];
5697
5777
  if (typeof alignment === 'object') {
5698
5778
  Object.keys(alignment).map(function (key) {
5699
- classNames.push("dropdown-menu" + (key === 'xs' ? '' : "-" + key) + "-" + alignment[key]);
5779
+ classNames.push("dropdown-menu".concat(key === 'xs' ? '' : "-".concat(key), "-").concat(alignment[key]));
5700
5780
  });
5701
5781
  }
5702
5782
  if (typeof alignment === 'string') {
5703
- classNames.push("dropdown-menu-" + alignment);
5783
+ classNames.push("dropdown-menu-".concat(alignment));
5704
5784
  }
5705
5785
  return classNames;
5706
5786
  };
@@ -5769,7 +5849,7 @@ CDropdownToggle.propTypes = {
5769
5849
  };
5770
5850
  CDropdownToggle.displayName = 'CDropdownToggle';
5771
5851
 
5772
- var BREAKPOINTS$2 = [
5852
+ var BREAKPOINTS$3 = [
5773
5853
  'xxl',
5774
5854
  'xl',
5775
5855
  'lg',
@@ -5779,33 +5859,33 @@ var BREAKPOINTS$2 = [
5779
5859
  ];
5780
5860
  var CCol = React.forwardRef(function (_a, ref) {
5781
5861
  var children = _a.children, className = _a.className, rest = __rest(_a, ["children", "className"]);
5782
- var repsonsiveCLassNames = [];
5783
- BREAKPOINTS$2.forEach(function (bp) {
5862
+ var repsonsiveClassNames = [];
5863
+ BREAKPOINTS$3.forEach(function (bp) {
5784
5864
  var breakpoint = rest[bp];
5785
5865
  delete rest[bp];
5786
- var infix = bp === 'xs' ? '' : "-" + bp;
5866
+ var infix = bp === 'xs' ? '' : "-".concat(bp);
5787
5867
  if (typeof breakpoint === 'number' || typeof breakpoint === 'string') {
5788
- repsonsiveCLassNames.push("col" + infix + "-" + breakpoint);
5868
+ repsonsiveClassNames.push("col".concat(infix, "-").concat(breakpoint));
5789
5869
  }
5790
5870
  if (typeof breakpoint === 'boolean') {
5791
- repsonsiveCLassNames.push("col" + infix);
5871
+ repsonsiveClassNames.push("col".concat(infix));
5792
5872
  }
5793
5873
  if (breakpoint && typeof breakpoint === 'object') {
5794
5874
  if (typeof breakpoint.span === 'number' || typeof breakpoint.span === 'string') {
5795
- repsonsiveCLassNames.push("col" + infix + "-" + breakpoint.span);
5875
+ repsonsiveClassNames.push("col".concat(infix, "-").concat(breakpoint.span));
5796
5876
  }
5797
5877
  if (typeof breakpoint.span === 'boolean') {
5798
- repsonsiveCLassNames.push("col" + infix);
5878
+ repsonsiveClassNames.push("col".concat(infix));
5799
5879
  }
5800
5880
  if (typeof breakpoint.order === 'number' || typeof breakpoint.order === 'string') {
5801
- repsonsiveCLassNames.push("order" + infix + "-" + breakpoint.order);
5881
+ repsonsiveClassNames.push("order".concat(infix, "-").concat(breakpoint.order));
5802
5882
  }
5803
5883
  if (typeof breakpoint.offset === 'number') {
5804
- repsonsiveCLassNames.push("offset" + infix + "-" + breakpoint.offset);
5884
+ repsonsiveClassNames.push("offset".concat(infix, "-").concat(breakpoint.offset));
5805
5885
  }
5806
5886
  }
5807
5887
  });
5808
- var _className = classNames(repsonsiveCLassNames.length ? repsonsiveCLassNames : 'col', className);
5888
+ var _className = classNames(repsonsiveClassNames.length ? repsonsiveClassNames : 'col', className);
5809
5889
  return (React__default["default"].createElement("div", __assign({ className: _className }, rest, { ref: ref }), children));
5810
5890
  });
5811
5891
  var span = PropTypes.oneOfType([
@@ -5834,7 +5914,7 @@ CCol.propTypes = {
5834
5914
  };
5835
5915
  CCol.displayName = 'CCol';
5836
5916
 
5837
- var BREAKPOINTS$1 = [
5917
+ var BREAKPOINTS$2 = [
5838
5918
  'xxl',
5839
5919
  'xl',
5840
5920
  'lg',
@@ -5844,13 +5924,13 @@ var BREAKPOINTS$1 = [
5844
5924
  ];
5845
5925
  var CContainer = React.forwardRef(function (_a, ref) {
5846
5926
  var children = _a.children, className = _a.className, rest = __rest(_a, ["children", "className"]);
5847
- var repsonsiveCLassNames = [];
5848
- BREAKPOINTS$1.forEach(function (bp) {
5927
+ var repsonsiveClassNames = [];
5928
+ BREAKPOINTS$2.forEach(function (bp) {
5849
5929
  var breakpoint = rest[bp];
5850
5930
  delete rest[bp];
5851
- breakpoint && repsonsiveCLassNames.push("container-" + bp);
5931
+ breakpoint && repsonsiveClassNames.push("container-".concat(bp));
5852
5932
  });
5853
- var _className = classNames(repsonsiveCLassNames.length ? repsonsiveCLassNames : 'container', className);
5933
+ var _className = classNames(repsonsiveClassNames.length ? repsonsiveClassNames : 'container', className);
5854
5934
  return (React__default["default"].createElement("div", __assign({ className: _className }, rest, { ref: ref }), children));
5855
5935
  });
5856
5936
  CContainer.propTypes = {
@@ -5865,7 +5945,7 @@ CContainer.propTypes = {
5865
5945
  };
5866
5946
  CContainer.displayName = 'CContainer';
5867
5947
 
5868
- var BREAKPOINTS = [
5948
+ var BREAKPOINTS$1 = [
5869
5949
  'xxl',
5870
5950
  'xl',
5871
5951
  'lg',
@@ -5875,27 +5955,27 @@ var BREAKPOINTS = [
5875
5955
  ];
5876
5956
  var CRow = React.forwardRef(function (_a, ref) {
5877
5957
  var children = _a.children, className = _a.className, rest = __rest(_a, ["children", "className"]);
5878
- var repsonsiveCLassNames = [];
5879
- BREAKPOINTS.forEach(function (bp) {
5958
+ var repsonsiveClassNames = [];
5959
+ BREAKPOINTS$1.forEach(function (bp) {
5880
5960
  var breakpoint = rest[bp];
5881
5961
  delete rest[bp];
5882
- var infix = bp === 'xs' ? '' : "-" + bp;
5962
+ var infix = bp === 'xs' ? '' : "-".concat(bp);
5883
5963
  if (typeof breakpoint === 'object') {
5884
5964
  if (breakpoint.cols) {
5885
- repsonsiveCLassNames.push("row-cols" + infix + "-" + breakpoint.cols);
5965
+ repsonsiveClassNames.push("row-cols".concat(infix, "-").concat(breakpoint.cols));
5886
5966
  }
5887
5967
  if (typeof breakpoint.gutter === 'number') {
5888
- repsonsiveCLassNames.push("g" + infix + "-" + breakpoint.gutter);
5968
+ repsonsiveClassNames.push("g".concat(infix, "-").concat(breakpoint.gutter));
5889
5969
  }
5890
5970
  if (typeof breakpoint.gutterX === 'number') {
5891
- repsonsiveCLassNames.push("gx" + infix + "-" + breakpoint.gutterX);
5971
+ repsonsiveClassNames.push("gx".concat(infix, "-").concat(breakpoint.gutterX));
5892
5972
  }
5893
5973
  if (typeof breakpoint.gutterY === 'number') {
5894
- repsonsiveCLassNames.push("gy" + infix + "-" + breakpoint.gutterY);
5974
+ repsonsiveClassNames.push("gy".concat(infix, "-").concat(breakpoint.gutterY));
5895
5975
  }
5896
5976
  }
5897
5977
  });
5898
- var _className = classNames('row', repsonsiveCLassNames, className);
5978
+ var _className = classNames('row', repsonsiveClassNames, className);
5899
5979
  return (React__default["default"].createElement("div", { className: _className, ref: ref }, children));
5900
5980
  });
5901
5981
  var bp = PropTypes.shape({
@@ -5919,7 +5999,7 @@ CRow.displayName = 'CRow';
5919
5999
  var CFooter = React.forwardRef(function (_a, ref) {
5920
6000
  var _b;
5921
6001
  var children = _a.children, className = _a.className, position = _a.position, rest = __rest(_a, ["children", "className", "position"]);
5922
- var _className = classNames('footer', (_b = {}, _b["footer-" + position] = position, _b), className);
6002
+ var _className = classNames('footer', (_b = {}, _b["footer-".concat(position)] = position, _b), className);
5923
6003
  return (React__default["default"].createElement("div", __assign({ className: _className }, rest, { ref: ref }), children));
5924
6004
  });
5925
6005
  CFooter.propTypes = {
@@ -5974,9 +6054,9 @@ var CFormCheck = React.forwardRef(function (_a, ref) {
5974
6054
  'me-2': hitArea,
5975
6055
  });
5976
6056
  var labelClassName = classNames(button
5977
- ? classNames('btn', button.variant ? "btn-" + button.variant + "-" + button.color : "btn-" + button.color, (_b = {},
5978
- _b["btn-" + button.size] = button.size,
5979
- _b), "" + button.shape)
6057
+ ? classNames('btn', button.variant ? "btn-".concat(button.variant, "-").concat(button.color) : "btn-".concat(button.color), (_b = {},
6058
+ _b["btn-".concat(button.size)] = button.size,
6059
+ _b), "".concat(button.shape))
5980
6060
  : 'form-check-label');
5981
6061
  var formControl = function () {
5982
6062
  return React__default["default"].createElement("input", __assign({ type: type, className: inputClassName, id: id }, rest, { ref: forkedRef }));
@@ -6010,8 +6090,8 @@ var CFormFeedback = React.forwardRef(function (_a, ref) {
6010
6090
  var _b;
6011
6091
  var children = _a.children, className = _a.className, _c = _a.component, Component = _c === void 0 ? 'div' : _c, invalid = _a.invalid, tooltip = _a.tooltip, valid = _a.valid, rest = __rest(_a, ["children", "className", "component", "invalid", "tooltip", "valid"]);
6012
6092
  var _className = classNames((_b = {},
6013
- _b["invalid-" + (tooltip ? 'tooltip' : 'feedback')] = invalid,
6014
- _b["valid-" + (tooltip ? 'tooltip' : 'feedback')] = valid,
6093
+ _b["invalid-".concat(tooltip ? 'tooltip' : 'feedback')] = invalid,
6094
+ _b["valid-".concat(tooltip ? 'tooltip' : 'feedback')] = valid,
6015
6095
  _b), className);
6016
6096
  return (React__default["default"].createElement(Component, __assign({ className: _className }, rest, { ref: ref }), children));
6017
6097
  });
@@ -6040,7 +6120,7 @@ var CFormInput = React.forwardRef(function (_a, ref) {
6040
6120
  var _b;
6041
6121
  var children = _a.children, className = _a.className, invalid = _a.invalid, plainText = _a.plainText, size = _a.size, _c = _a.type, type = _c === void 0 ? 'text' : _c, valid = _a.valid, rest = __rest(_a, ["children", "className", "invalid", "plainText", "size", "type", "valid"]);
6042
6122
  var _className = classNames(plainText ? 'form-control-plaintext' : 'form-control', (_b = {},
6043
- _b["form-control-" + size] = size,
6123
+ _b["form-control-".concat(size)] = size,
6044
6124
  _b['form-control-color'] = type === 'color',
6045
6125
  _b['is-invalid'] = invalid,
6046
6126
  _b['is-valid'] = valid,
@@ -6072,7 +6152,7 @@ var CFormSelect = React.forwardRef(function (_a, ref) {
6072
6152
  var _b;
6073
6153
  var children = _a.children, className = _a.className, htmlSize = _a.htmlSize, invalid = _a.invalid, options = _a.options, size = _a.size, valid = _a.valid, rest = __rest(_a, ["children", "className", "htmlSize", "invalid", "options", "size", "valid"]);
6074
6154
  var _className = classNames('form-select', (_b = {},
6075
- _b["form-select-" + size] = size,
6155
+ _b["form-select-".concat(size)] = size,
6076
6156
  _b['is-invalid'] = invalid,
6077
6157
  _b['is-valid'] = valid,
6078
6158
  _b), className);
@@ -6098,7 +6178,7 @@ var CFormSwitch = React.forwardRef(function (_a, ref) {
6098
6178
  var _b;
6099
6179
  var className = _a.className, id = _a.id, invalid = _a.invalid, label = _a.label, size = _a.size, _c = _a.type, type = _c === void 0 ? 'checkbox' : _c, valid = _a.valid, rest = __rest(_a, ["className", "id", "invalid", "label", "size", "type", "valid"]);
6100
6180
  var _className = classNames('form-check form-switch', (_b = {},
6101
- _b["form-switch-" + size] = size,
6181
+ _b["form-switch-".concat(size)] = size,
6102
6182
  _b['is-invalid'] = invalid,
6103
6183
  _b['is-valid'] = valid,
6104
6184
  _b), className);
@@ -6155,7 +6235,7 @@ var CInputGroup = React.forwardRef(function (_a, ref) {
6155
6235
  var _b;
6156
6236
  var children = _a.children, className = _a.className, size = _a.size, rest = __rest(_a, ["children", "className", "size"]);
6157
6237
  var _className = classNames('input-group', (_b = {},
6158
- _b["input-group-" + size] = size,
6238
+ _b["input-group-".concat(size)] = size,
6159
6239
  _b), className);
6160
6240
  return (React__default["default"].createElement("div", __assign({ className: _className }, rest, { ref: ref }), children));
6161
6241
  });
@@ -6181,10 +6261,10 @@ CInputGroupText.displayName = 'CInputGroupText';
6181
6261
  var CHeader = React.forwardRef(function (_a, ref) {
6182
6262
  var _b;
6183
6263
  var children = _a.children, className = _a.className, container = _a.container, position = _a.position, rest = __rest(_a, ["children", "className", "container", "position"]);
6184
- var _className = classNames('header', (_b = {}, _b["header-" + position] = position, _b), className);
6264
+ var _className = classNames('header', (_b = {}, _b["header-".concat(position)] = position, _b), className);
6185
6265
  var content;
6186
6266
  if (container) {
6187
- content = (React__default["default"].createElement("div", { className: "container" + (container !== true ? '-' + container : '') }, children));
6267
+ content = (React__default["default"].createElement("div", { className: "container".concat(container !== true ? '-' + container : '') }, children));
6188
6268
  }
6189
6269
  else {
6190
6270
  content = children;
@@ -6269,7 +6349,7 @@ var CImage = React.forwardRef(function (_a, ref) {
6269
6349
  var _b;
6270
6350
  var align = _a.align, className = _a.className, fluid = _a.fluid, rounded = _a.rounded, thumbnail = _a.thumbnail, rest = __rest(_a, ["align", "className", "fluid", "rounded", "thumbnail"]);
6271
6351
  var _className = classNames((_b = {},
6272
- _b["float-" + align] = align && (align === 'start' || align === 'end'),
6352
+ _b["float-".concat(align)] = align && (align === 'start' || align === 'end'),
6273
6353
  _b['d-block mx-auto'] = align && align === 'center',
6274
6354
  _b['img-fluid'] = fluid,
6275
6355
  _b.rounded = rounded,
@@ -6292,7 +6372,7 @@ var CListGroup = React.forwardRef(function (_a, ref) {
6292
6372
  var _className = classNames('list-group', (_b = {
6293
6373
  'list-group-flush': flush
6294
6374
  },
6295
- _b["list-group-" + layout] = layout,
6375
+ _b["list-group-".concat(layout)] = layout,
6296
6376
  _b), className);
6297
6377
  return (React__default["default"].createElement(Component, { className: _className, ref: ref }, children));
6298
6378
  });
@@ -6316,7 +6396,7 @@ var CListGroupItem = React.forwardRef(function (_a, ref) {
6316
6396
  var _b;
6317
6397
  var children = _a.children, active = _a.active, className = _a.className, disabled = _a.disabled, color = _a.color, _c = _a.component, component = _c === void 0 ? 'li' : _c, rest = __rest(_a, ["children", "active", "className", "disabled", "color", "component"]);
6318
6398
  var _className = classNames('list-group-item', (_b = {},
6319
- _b["list-group-item-" + color] = color,
6399
+ _b["list-group-item-".concat(color)] = color,
6320
6400
  _b['list-group-item-action'] = component === 'a' || component === 'button',
6321
6401
  _b.active = active,
6322
6402
  _b.disabled = disabled,
@@ -6359,9 +6439,9 @@ var CModalDialog = React.forwardRef(function (_a, ref) {
6359
6439
  },
6360
6440
  _b[typeof fullscreen === 'boolean'
6361
6441
  ? 'modal-fullscreen'
6362
- : "modal-fullscreen-" + fullscreen + "-down"] = fullscreen,
6442
+ : "modal-fullscreen-".concat(fullscreen, "-down")] = fullscreen,
6363
6443
  _b['modal-dialog-scrollable'] = scrollable,
6364
- _b["modal-" + size] = size,
6444
+ _b["modal-".concat(size)] = size,
6365
6445
  _b), className);
6366
6446
  return (React__default["default"].createElement("div", __assign({ className: _className }, rest, { ref: ref }), children));
6367
6447
  });
@@ -6380,11 +6460,12 @@ CModalDialog.displayName = 'CModalDialog';
6380
6460
 
6381
6461
  var CModalContext = React.createContext({});
6382
6462
  var CModal = React.forwardRef(function (_a, ref) {
6383
- var children = _a.children, alignment = _a.alignment, _b = _a.backdrop, backdrop = _b === void 0 ? true : _b, className = _a.className, _c = _a.duration, duration = _c === void 0 ? 150 : _c, fullscreen = _a.fullscreen, _d = _a.keyboard, keyboard = _d === void 0 ? true : _d, onClose = _a.onClose, onClosePrevented = _a.onClosePrevented, onShow = _a.onShow, _e = _a.portal, portal = _e === void 0 ? true : _e, scrollable = _a.scrollable, size = _a.size, _f = _a.transition, transition = _f === void 0 ? true : _f, visible = _a.visible;
6463
+ var children = _a.children, alignment = _a.alignment, _b = _a.backdrop, backdrop = _b === void 0 ? true : _b, className = _a.className, _c = _a.duration, duration = _c === void 0 ? 150 : _c, fullscreen = _a.fullscreen, _d = _a.keyboard, keyboard = _d === void 0 ? true : _d, onClose = _a.onClose, onClosePrevented = _a.onClosePrevented, onShow = _a.onShow, _e = _a.portal, portal = _e === void 0 ? true : _e, scrollable = _a.scrollable, size = _a.size, _f = _a.transition, transition = _f === void 0 ? true : _f, _g = _a.unmountOnClose, unmountOnClose = _g === void 0 ? true : _g, visible = _a.visible;
6384
6464
  var modalRef = React.useRef(null);
6465
+ var modalContentRef = React.useRef(null);
6385
6466
  var forkedRef = useForkedRef(ref, modalRef);
6386
- var _g = React.useState(visible), _visible = _g[0], setVisible = _g[1];
6387
- var _h = React.useState(false), staticBackdrop = _h[0], setStaticBackdrop = _h[1];
6467
+ var _h = React.useState(visible), _visible = _h[0], setVisible = _h[1];
6468
+ var _j = React.useState(false), staticBackdrop = _j[0], setStaticBackdrop = _j[1];
6388
6469
  React.useEffect(function () {
6389
6470
  setVisible(visible);
6390
6471
  }, [visible]);
@@ -6392,6 +6473,14 @@ var CModal = React.forwardRef(function (_a, ref) {
6392
6473
  visible: _visible,
6393
6474
  setVisible: setVisible,
6394
6475
  };
6476
+ React.useEffect(function () {
6477
+ modalRef.current && modalRef.current.addEventListener('click', handleClickOutside);
6478
+ modalRef.current && modalRef.current.addEventListener('keyup', handleKeyDown);
6479
+ return function () {
6480
+ modalRef.current && modalRef.current.removeEventListener('click', handleClickOutside);
6481
+ modalRef.current && modalRef.current.removeEventListener('keyup', handleKeyDown);
6482
+ };
6483
+ }, [_visible]);
6395
6484
  var handleDismiss = function () {
6396
6485
  if (backdrop === 'static') {
6397
6486
  return setStaticBackdrop(true);
@@ -6429,6 +6518,12 @@ var CModal = React.forwardRef(function (_a, ref) {
6429
6518
  }
6430
6519
  return function () { return document.body.classList.remove('modal-open'); };
6431
6520
  }, [_visible]);
6521
+ var handleClickOutside = function (event) {
6522
+ if (modalContentRef.current &&
6523
+ !modalContentRef.current.contains(event.target)) {
6524
+ handleDismiss();
6525
+ }
6526
+ };
6432
6527
  var handleKeyDown = React.useCallback(function (event) {
6433
6528
  if (event.key === 'Escape' && keyboard) {
6434
6529
  return handleDismiss();
@@ -6437,17 +6532,16 @@ var CModal = React.forwardRef(function (_a, ref) {
6437
6532
  var modal = function (ref, transitionClass) {
6438
6533
  return (React__default["default"].createElement(CModalContext.Provider, { value: contextValues },
6439
6534
  React__default["default"].createElement("div", { className: classNames(_className, transitionClass), tabIndex: -1, role: "dialog", ref: ref },
6440
- React__default["default"].createElement(CModalDialog, { alignment: alignment, fullscreen: fullscreen, scrollable: scrollable, size: size, onClick: function (event) { return event.stopPropagation(); } },
6441
- React__default["default"].createElement(CModalContent, null, children)))));
6535
+ React__default["default"].createElement(CModalDialog, { alignment: alignment, fullscreen: fullscreen, scrollable: scrollable, size: size },
6536
+ React__default["default"].createElement(CModalContent, { ref: modalContentRef }, children)))));
6442
6537
  };
6443
6538
  return (React__default["default"].createElement(React__default["default"].Fragment, null,
6444
- React__default["default"].createElement("div", { onClick: handleDismiss, onKeyDown: handleKeyDown },
6445
- React__default["default"].createElement(Transition$1, { in: _visible, mountOnEnter: true, onEnter: onShow, onExit: onClose, unmountOnExit: true, timeout: !transition ? 0 : duration }, function (state) {
6446
- var transitionClass = getTransitionClass(state);
6447
- return typeof window !== 'undefined' && portal
6448
- ? ReactDOM.createPortal(modal(forkedRef, transitionClass), document.body)
6449
- : modal(forkedRef, transitionClass);
6450
- })),
6539
+ React__default["default"].createElement(Transition$1, { in: _visible, mountOnEnter: true, onEnter: onShow, onExit: onClose, unmountOnExit: unmountOnClose, timeout: !transition ? 0 : duration }, function (state) {
6540
+ var transitionClass = getTransitionClass(state);
6541
+ return typeof window !== 'undefined' && portal
6542
+ ? ReactDOM.createPortal(modal(forkedRef, transitionClass), document.body)
6543
+ : modal(forkedRef, transitionClass);
6544
+ }),
6451
6545
  typeof window !== 'undefined' && portal
6452
6546
  ? backdrop && ReactDOM.createPortal(React__default["default"].createElement(CBackdrop, { visible: _visible }), document.body)
6453
6547
  : backdrop && React__default["default"].createElement(CBackdrop, { visible: _visible })));
@@ -6470,6 +6564,7 @@ CModal.propTypes = {
6470
6564
  scrollable: PropTypes.bool,
6471
6565
  size: PropTypes.oneOf(['sm', 'lg', 'xl']),
6472
6566
  transition: PropTypes.bool,
6567
+ unmountOnClose: PropTypes.bool,
6473
6568
  visible: PropTypes.bool,
6474
6569
  };
6475
6570
  CModal.displayName = 'CModal';
@@ -6527,8 +6622,8 @@ var CNav = React.forwardRef(function (_a, ref) {
6527
6622
  var _b;
6528
6623
  var children = _a.children, className = _a.className, _c = _a.component, Component = _c === void 0 ? 'ul' : _c, layout = _a.layout, variant = _a.variant, rest = __rest(_a, ["children", "className", "component", "layout", "variant"]);
6529
6624
  var _className = classNames('nav', (_b = {},
6530
- _b["nav-" + layout] = layout,
6531
- _b["nav-" + variant] = variant,
6625
+ _b["nav-".concat(layout)] = layout,
6626
+ _b["nav-".concat(variant)] = variant,
6532
6627
  _b), className);
6533
6628
  return (React__default["default"].createElement(Component, __assign({ className: _className, role: "navigation" }, rest, { ref: ref }), children));
6534
6629
  });
@@ -6564,7 +6659,7 @@ var CSidebarNav = React.forwardRef(function (_a, ref) {
6564
6659
  return (React__default["default"].createElement("ul", __assign({ className: classes, ref: ref }, rest),
6565
6660
  React__default["default"].createElement(CNavContext.Provider, { value: CNavContextValues }, React__default["default"].Children.map(children, function (child, index) {
6566
6661
  if (React__default["default"].isValidElement(child)) {
6567
- return React__default["default"].cloneElement(child, { key: index, idx: "" + index });
6662
+ return React__default["default"].cloneElement(child, { key: index, idx: "".concat(index) });
6568
6663
  }
6569
6664
  return;
6570
6665
  }))));
@@ -6624,7 +6719,7 @@ var CNavGroup = React.forwardRef(function (_a, ref) {
6624
6719
  compact: compact,
6625
6720
  }), style: __assign(__assign({}, style), transitionStyles[state]), ref: navItemsRef }, React__default["default"].Children.map(children, function (child, index) {
6626
6721
  if (React__default["default"].isValidElement(child)) {
6627
- return React__default["default"].cloneElement(child, { key: index, idx: idx + "." + index });
6722
+ return React__default["default"].cloneElement(child, { key: index, idx: "".concat(idx, ".").concat(index) });
6628
6723
  }
6629
6724
  return;
6630
6725
  }))); })));
@@ -6688,13 +6783,13 @@ var CNavbar = React.forwardRef(function (_a, ref) {
6688
6783
  var _b;
6689
6784
  var children = _a.children, className = _a.className, color = _a.color, colorScheme = _a.colorScheme, _c = _a.component, Component = _c === void 0 ? 'nav' : _c, container = _a.container, expand = _a.expand, placement = _a.placement, rest = __rest(_a, ["children", "className", "color", "colorScheme", "component", "container", "expand", "placement"]);
6690
6785
  var _className = classNames('navbar', (_b = {},
6691
- _b["bg-" + color] = color,
6692
- _b["navbar-" + colorScheme] = colorScheme,
6693
- _b[typeof expand === 'boolean' ? 'navbar-expand' : "navbar-expand-" + expand] = expand,
6786
+ _b["bg-".concat(color)] = color,
6787
+ _b["navbar-".concat(colorScheme)] = colorScheme,
6788
+ _b[typeof expand === 'boolean' ? 'navbar-expand' : "navbar-expand-".concat(expand)] = expand,
6694
6789
  _b), placement, className);
6695
6790
  var content;
6696
6791
  if (container) {
6697
- content = (React__default["default"].createElement("div", { className: "container" + (container !== true ? '-' + container : '') }, children));
6792
+ content = (React__default["default"].createElement("div", { className: "container".concat(container !== true ? '-' + container : '') }, children));
6698
6793
  }
6699
6794
  else {
6700
6795
  content = children;
@@ -6777,8 +6872,8 @@ var CPagination = React.forwardRef(function (_a, ref) {
6777
6872
  var _b;
6778
6873
  var children = _a.children, align = _a.align, className = _a.className, size = _a.size, rest = __rest(_a, ["children", "align", "className", "size"]);
6779
6874
  var _className = classNames('pagination', (_b = {},
6780
- _b["justify-content-" + align] = align,
6781
- _b["pagination-" + size] = size,
6875
+ _b["justify-content-".concat(align)] = align,
6876
+ _b["pagination-".concat(size)] = size,
6782
6877
  _b), className);
6783
6878
  return (React__default["default"].createElement("nav", __assign({ ref: ref }, rest),
6784
6879
  React__default["default"].createElement("ul", { className: _className }, children)));
@@ -6807,6 +6902,45 @@ CPaginationItem.propTypes = {
6807
6902
  };
6808
6903
  CPaginationItem.displayName = 'CPaginationItem';
6809
6904
 
6905
+ var BREAKPOINTS = [
6906
+ 'xxl',
6907
+ 'xl',
6908
+ 'lg',
6909
+ 'md',
6910
+ 'sm',
6911
+ 'xs',
6912
+ ];
6913
+ var CPlaceholder = React.forwardRef(function (_a, ref) {
6914
+ var _b;
6915
+ var children = _a.children, animation = _a.animation, className = _a.className, color = _a.color, _c = _a.component, Component = _c === void 0 ? 'span' : _c, size = _a.size, rest = __rest(_a, ["children", "animation", "className", "color", "component", "size"]);
6916
+ var repsonsiveClassNames = [];
6917
+ BREAKPOINTS.forEach(function (bp) {
6918
+ var breakpoint = rest[bp];
6919
+ delete rest[bp];
6920
+ var infix = bp === 'xs' ? '' : "-".concat(bp);
6921
+ if (typeof breakpoint === 'number') {
6922
+ repsonsiveClassNames.push("col".concat(infix, "-").concat(breakpoint));
6923
+ }
6924
+ if (typeof breakpoint === 'boolean') {
6925
+ repsonsiveClassNames.push("col".concat(infix));
6926
+ }
6927
+ });
6928
+ var _className = classNames(animation ? "placeholder-".concat(animation) : 'placeholder', (_b = {},
6929
+ _b["bg-".concat(color)] = color,
6930
+ _b["placeholder-".concat(size)] = size,
6931
+ _b), repsonsiveClassNames, className);
6932
+ return (React__default["default"].createElement(Component, __assign({ className: _className }, rest, { ref: ref }), children));
6933
+ });
6934
+ CPlaceholder.propTypes = {
6935
+ animation: PropTypes.oneOf(['glow', 'wave']),
6936
+ children: PropTypes.node,
6937
+ className: PropTypes.string,
6938
+ color: colorPropType,
6939
+ component: PropTypes.elementType,
6940
+ size: PropTypes.oneOf(['xs', 'sm', 'lg']),
6941
+ };
6942
+ CPlaceholder.displayName = 'CPlaceholder';
6943
+
6810
6944
  var CPopover = function (_a) {
6811
6945
  var children = _a.children, content = _a.content, _b = _a.placement, placement = _b === void 0 ? 'top' : _b, _c = _a.offset, offset = _c === void 0 ? [0, 8] : _c, onHide = _a.onHide, onShow = _a.onShow, title = _a.title, _d = _a.trigger, trigger = _d === void 0 ? 'click' : _d, visible = _a.visible, rest = __rest(_a, ["children", "content", "placement", "offset", "onHide", "onShow", "title", "trigger", "visible"]);
6812
6946
  var _e = React.useState(visible), _visible = _e[0], setVisible = _e[1];
@@ -6847,7 +6981,7 @@ var CPopover = function (_a) {
6847
6981
  },
6848
6982
  ] }, function (_a) {
6849
6983
  var arrowProps = _a.arrowProps, style = _a.style, ref = _a.ref;
6850
- return (React__default["default"].createElement("div", __assign({ className: classNames("popover bs-popover-" + (placement === 'left' ? 'start' : placement === 'right' ? 'end' : placement), transitionClass), ref: ref, role: "tooltip", style: style }, rest),
6984
+ return (React__default["default"].createElement("div", __assign({ className: classNames("popover bs-popover-".concat(placement === 'left' ? 'start' : placement === 'right' ? 'end' : placement), transitionClass), ref: ref, role: "tooltip", style: style }, rest),
6851
6985
  React__default["default"].createElement("div", __assign({ className: "popover-arrow" }, arrowProps)),
6852
6986
  React__default["default"].createElement("div", { className: "popover-header" }, title),
6853
6987
  React__default["default"].createElement("div", { className: "popover-body" }, content)));
@@ -6856,12 +6990,12 @@ var CPopover = function (_a) {
6856
6990
  };
6857
6991
  CPopover.propTypes = {
6858
6992
  children: PropTypes.any,
6859
- content: PropTypes.node,
6993
+ content: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),
6860
6994
  placement: PropTypes.oneOf(['auto', 'top', 'right', 'bottom', 'left']),
6861
6995
  offset: PropTypes.any,
6862
6996
  onHide: PropTypes.func,
6863
6997
  onShow: PropTypes.func,
6864
- title: PropTypes.string,
6998
+ title: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),
6865
6999
  trigger: triggerPropType,
6866
7000
  visible: PropTypes.bool,
6867
7001
  };
@@ -6871,11 +7005,11 @@ var CProgressBar = React.forwardRef(function (_a, ref) {
6871
7005
  var _b;
6872
7006
  var children = _a.children, animated = _a.animated, className = _a.className, color = _a.color, _c = _a.value, value = _c === void 0 ? 0 : _c, variant = _a.variant, rest = __rest(_a, ["children", "animated", "className", "color", "value", "variant"]);
6873
7007
  var _className = classNames('progress-bar', (_b = {},
6874
- _b["bg-" + color] = color,
6875
- _b["progress-bar-" + variant] = variant,
7008
+ _b["bg-".concat(color)] = color,
7009
+ _b["progress-bar-".concat(variant)] = variant,
6876
7010
  _b['progress-bar-animated'] = animated,
6877
7011
  _b), className);
6878
- return (React__default["default"].createElement("div", __assign({ className: _className, role: "progressbar", style: { width: value + "%" }, "aria-valuenow": value, "aria-valuemin": 0, "aria-valuemax": 100 }, rest, { ref: ref }), children));
7012
+ return (React__default["default"].createElement("div", __assign({ className: _className, role: "progressbar", style: { width: "".concat(value, "%") }, "aria-valuenow": value, "aria-valuemin": 0, "aria-valuemax": 100 }, rest, { ref: ref }), children));
6879
7013
  });
6880
7014
  CProgressBar.propTypes = {
6881
7015
  animated: PropTypes.bool,
@@ -6893,7 +7027,7 @@ var CProgress = React.forwardRef(function (_a, ref) {
6893
7027
  'progress-thin': thin,
6894
7028
  'progress-white': white,
6895
7029
  }, className);
6896
- return (React__default["default"].createElement("div", { className: _className, style: height ? { height: height + "px" } : {}, ref: ref }, value ? (React__default["default"].createElement(CProgressBar, __assign({ value: value }, rest), children)) : (children)));
7030
+ return (React__default["default"].createElement("div", { className: _className, style: height ? { height: "".concat(height, "px") } : {}, ref: ref }, value ? (React__default["default"].createElement(CProgressBar, __assign({ value: value }, rest), children)) : (children)));
6897
7031
  });
6898
7032
  CProgress.propTypes = {
6899
7033
  children: PropTypes.node,
@@ -6990,8 +7124,8 @@ var CSidebar = React.forwardRef(function (_a, ref) {
6990
7124
  'sidebar-narrow': narrow,
6991
7125
  'sidebar-overlaid': overlaid
6992
7126
  },
6993
- _b["sidebar-" + position] = position,
6994
- _b["sidebar-" + size] = size,
7127
+ _b["sidebar-".concat(position)] = position,
7128
+ _b["sidebar-".concat(size)] = size,
6995
7129
  _b['sidebar-narrow-unfoldable'] = unfoldable,
6996
7130
  _b.show = _visible === true && mobile,
6997
7131
  _b.hide = _visible === false && !mobile,
@@ -7040,7 +7174,7 @@ var COffcanvas = React.forwardRef(function (_a, ref) {
7040
7174
  }
7041
7175
  }, [_visible]);
7042
7176
  var _className = classNames('offcanvas', (_b = {},
7043
- _b["offcanvas-" + placement] = placement,
7177
+ _b["offcanvas-".concat(placement)] = placement,
7044
7178
  _b.show = _visible,
7045
7179
  _b), className);
7046
7180
  var transitionStyles = {
@@ -7069,8 +7203,8 @@ var COffcanvas = React.forwardRef(function (_a, ref) {
7069
7203
  }),
7070
7204
  typeof window !== 'undefined' && portal
7071
7205
  ? backdrop &&
7072
- ReactDOM.createPortal(React__default["default"].createElement(CBackdrop, { visible: _visible, onClick: handleDismiss }), document.body)
7073
- : backdrop && React__default["default"].createElement(CBackdrop, { visible: _visible, onClick: handleDismiss })));
7206
+ ReactDOM.createPortal(React__default["default"].createElement(CBackdrop, { className: "offcanvas-backdrop", onClick: handleDismiss, visible: _visible }), document.body)
7207
+ : backdrop && (React__default["default"].createElement(CBackdrop, { className: "offcanvas-backdrop", onClick: handleDismiss, visible: _visible }))));
7074
7208
  });
7075
7209
  COffcanvas.propTypes = {
7076
7210
  backdrop: PropTypes.bool,
@@ -7167,7 +7301,7 @@ CSidebarHeader.displayName = 'CSidebarHeader';
7167
7301
 
7168
7302
  var CSpinner = React.forwardRef(function (_a, ref) {
7169
7303
  var className = _a.className, color = _a.color, _b = _a.component, Component = _b === void 0 ? 'div' : _b, size = _a.size, _c = _a.variant, variant = _c === void 0 ? 'border' : _c, _d = _a.visuallyHiddenLabel, visuallyHiddenLabel = _d === void 0 ? 'Loading...' : _d, rest = __rest(_a, ["className", "color", "component", "size", "variant", "visuallyHiddenLabel"]);
7170
- var _className = classNames("spinner-" + variant, "text-" + color, size && "spinner-" + variant + "-" + size, className);
7304
+ var _className = classNames("spinner-".concat(variant), "text-".concat(color), size && "spinner-".concat(variant, "-").concat(size), className);
7171
7305
  return (React__default["default"].createElement(Component, __assign({ className: _className, role: "status" }, rest, { ref: ref }),
7172
7306
  React__default["default"].createElement("span", { className: "visually-hidden" }, visuallyHiddenLabel)));
7173
7307
  });
@@ -7185,17 +7319,17 @@ var CTable = React.forwardRef(function (_a, ref) {
7185
7319
  var _b;
7186
7320
  var children = _a.children, align = _a.align, borderColor = _a.borderColor, bordered = _a.bordered, borderless = _a.borderless, caption = _a.caption, className = _a.className, color = _a.color, hover = _a.hover, responsive = _a.responsive, small = _a.small, striped = _a.striped, rest = __rest(_a, ["children", "align", "borderColor", "bordered", "borderless", "caption", "className", "color", "hover", "responsive", "small", "striped"]);
7187
7321
  var _className = classNames('table', (_b = {},
7188
- _b["align-" + align] = align,
7189
- _b["caption-" + caption] = caption,
7190
- _b["border-" + borderColor] = borderColor,
7322
+ _b["align-".concat(align)] = align,
7323
+ _b["caption-".concat(caption)] = caption,
7324
+ _b["border-".concat(borderColor)] = borderColor,
7191
7325
  _b['table-bordered'] = bordered,
7192
7326
  _b['table-borderless'] = borderless,
7193
- _b["table-" + color] = color,
7327
+ _b["table-".concat(color)] = color,
7194
7328
  _b['table-hover'] = hover,
7195
7329
  _b['table-sm'] = small,
7196
7330
  _b['table-striped'] = striped,
7197
7331
  _b), className);
7198
- return responsive ? (React__default["default"].createElement("div", { className: typeof responsive === 'boolean' ? 'table-responsive' : "table-responsive-" + responsive },
7332
+ return responsive ? (React__default["default"].createElement("div", { className: typeof responsive === 'boolean' ? 'table-responsive' : "table-responsive-".concat(responsive) },
7199
7333
  React__default["default"].createElement("table", __assign({ className: _className ? _className : undefined }, rest, { ref: ref }), children))) : (React__default["default"].createElement("table", __assign({ className: _className ? _className : undefined }, rest, { ref: ref }), children));
7200
7334
  });
7201
7335
  CTable.propTypes = {
@@ -7221,7 +7355,7 @@ var CTableBody = React.forwardRef(function (_a, ref) {
7221
7355
  var _b;
7222
7356
  var children = _a.children, className = _a.className, color = _a.color, rest = __rest(_a, ["children", "className", "color"]);
7223
7357
  var _className = classNames((_b = {},
7224
- _b["table-" + color] = color,
7358
+ _b["table-".concat(color)] = color,
7225
7359
  _b), className);
7226
7360
  return (React__default["default"].createElement("tbody", __assign({ className: _className ? _className : undefined }, rest, { ref: ref }), children));
7227
7361
  });
@@ -7245,9 +7379,9 @@ var CTableDataCell = React.forwardRef(function (_a, ref) {
7245
7379
  var _b;
7246
7380
  var children = _a.children, active = _a.active, align = _a.align, className = _a.className, color = _a.color, rest = __rest(_a, ["children", "active", "align", "className", "color"]);
7247
7381
  var _className = classNames((_b = {},
7248
- _b["align-" + align] = align,
7382
+ _b["align-".concat(align)] = align,
7249
7383
  _b['table-active'] = active,
7250
- _b["table-" + color] = color,
7384
+ _b["table-".concat(color)] = color,
7251
7385
  _b), className);
7252
7386
  return (React__default["default"].createElement("td", __assign({ className: _className ? _className : undefined }, rest, { ref: ref }), children));
7253
7387
  });
@@ -7264,7 +7398,7 @@ var CTableFoot = React.forwardRef(function (_a, ref) {
7264
7398
  var _b;
7265
7399
  var children = _a.children, className = _a.className, color = _a.color, rest = __rest(_a, ["children", "className", "color"]);
7266
7400
  var _className = classNames((_b = {},
7267
- _b["table-" + color] = color,
7401
+ _b["table-".concat(color)] = color,
7268
7402
  _b), className);
7269
7403
  return (React__default["default"].createElement("tfoot", __assign({ className: _className ? _className : undefined }, rest, { ref: ref }), children));
7270
7404
  });
@@ -7279,7 +7413,7 @@ var CTableHead = React.forwardRef(function (_a, ref) {
7279
7413
  var _b;
7280
7414
  var children = _a.children, className = _a.className, color = _a.color, rest = __rest(_a, ["children", "className", "color"]);
7281
7415
  var _className = classNames((_b = {},
7282
- _b["table-" + color] = color,
7416
+ _b["table-".concat(color)] = color,
7283
7417
  _b), className);
7284
7418
  return (React__default["default"].createElement("thead", __assign({ className: _className ? _className : undefined }, rest, { ref: ref }), children));
7285
7419
  });
@@ -7294,7 +7428,7 @@ var CTableHeaderCell = React.forwardRef(function (_a, ref) {
7294
7428
  var _b;
7295
7429
  var children = _a.children, className = _a.className, color = _a.color, rest = __rest(_a, ["children", "className", "color"]);
7296
7430
  var _className = classNames((_b = {},
7297
- _b["table-" + color] = color,
7431
+ _b["table-".concat(color)] = color,
7298
7432
  _b), className);
7299
7433
  return (React__default["default"].createElement("th", __assign({ className: _className ? _className : undefined }, rest, { ref: ref }), children));
7300
7434
  });
@@ -7309,9 +7443,9 @@ var CTableRow = React.forwardRef(function (_a, ref) {
7309
7443
  var _b;
7310
7444
  var children = _a.children, active = _a.active, align = _a.align, className = _a.className, color = _a.color, rest = __rest(_a, ["children", "active", "align", "className", "color"]);
7311
7445
  var _className = classNames((_b = {},
7312
- _b["align-" + align] = align,
7446
+ _b["align-".concat(align)] = align,
7313
7447
  _b['table-active'] = active,
7314
- _b["table-" + color] = color,
7448
+ _b["table-".concat(color)] = color,
7315
7449
  _b), className);
7316
7450
  return (React__default["default"].createElement("tr", __assign({ className: _className ? _className : undefined }, rest, { ref: ref }), children));
7317
7451
  });
@@ -7386,7 +7520,7 @@ var CToast = React.forwardRef(function (_a, ref) {
7386
7520
  var _className = classNames('toast', (_b = {
7387
7521
  fade: animation
7388
7522
  },
7389
- _b["bg-" + color] = color,
7523
+ _b["bg-".concat(color)] = color,
7390
7524
  _b['border-0'] = color,
7391
7525
  _b), className);
7392
7526
  var getTransitionClass = function (state) {
@@ -7543,7 +7677,7 @@ var CTooltip = function (_a) {
7543
7677
  var transitionClass = getTransitionClass(state);
7544
7678
  return (React__default["default"].createElement(Popper, { placement: placement }, function (_a) {
7545
7679
  var arrowProps = _a.arrowProps, style = _a.style, ref = _a.ref;
7546
- return (React__default["default"].createElement("div", __assign({ className: classNames("tooltip bs-tooltip-" + (placement === 'left' ? 'start' : placement === 'right' ? 'end' : placement), transitionClass), ref: ref, role: "tooltip", style: style }, rest),
7680
+ return (React__default["default"].createElement("div", __assign({ className: classNames("tooltip bs-tooltip-".concat(placement === 'left' ? 'start' : placement === 'right' ? 'end' : placement), transitionClass), ref: ref, role: "tooltip", style: style }, rest),
7547
7681
  React__default["default"].createElement("div", __assign({ className: "tooltip-arrow" }, arrowProps)),
7548
7682
  React__default["default"].createElement("div", { className: "tooltip-inner" }, content)));
7549
7683
  }));
@@ -7551,7 +7685,7 @@ var CTooltip = function (_a) {
7551
7685
  };
7552
7686
  CTooltip.propTypes = {
7553
7687
  children: PropTypes.any,
7554
- content: PropTypes.node,
7688
+ content: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),
7555
7689
  placement: PropTypes.oneOf(['auto', 'top', 'right', 'bottom', 'left']),
7556
7690
  onHide: PropTypes.func,
7557
7691
  onShow: PropTypes.func,
@@ -7563,7 +7697,7 @@ CTooltip.displayName = 'CTooltip';
7563
7697
  var CWidgetStatsA = React.forwardRef(function (_a, ref) {
7564
7698
  var _b;
7565
7699
  var action = _a.action, chart = _a.chart, className = _a.className, color = _a.color, title = _a.title, value = _a.value, rest = __rest(_a, ["action", "chart", "className", "color", "title", "value"]);
7566
- var _className = classNames((_b = {}, _b["bg-" + color] = color, _b['text-high-emphasis-inverse'] = color, _b), className);
7700
+ var _className = classNames((_b = {}, _b["bg-".concat(color)] = color, _b['text-high-emphasis-inverse'] = color, _b), className);
7567
7701
  return (React__default["default"].createElement(CCard, __assign({ className: _className }, rest, { ref: ref }),
7568
7702
  React__default["default"].createElement(CCardBody, { className: "pb-0 d-flex justify-content-between align-items-start" },
7569
7703
  React__default["default"].createElement("div", null,
@@ -7606,8 +7740,8 @@ var CWidgetStatsC = React.forwardRef(function (_a, ref) {
7606
7740
  var className = _a.className, color = _a.color, icon = _a.icon, inverse = _a.inverse, progress = _a.progress, title = _a.title, value = _a.value, rest = __rest(_a, ["className", "color", "icon", "inverse", "progress", "title", "value"]);
7607
7741
  return (React__default["default"].createElement(CCard, __assign({ className: className, color: color }, (inverse && { textColor: 'high-emphasis-inverse' }), rest, { ref: ref }),
7608
7742
  React__default["default"].createElement(CCardBody, null,
7609
- icon && (React__default["default"].createElement("div", { className: "text-medium-emphasis" + (inverse ? '-inverse' : '') + " text-end mb-4" }, icon)),
7610
- value && (React__default["default"].createElement("div", { className: "text-high-emphasis" + (inverse ? '-inverse' : '') + " fs-4 fw-semibold" }, value)),
7743
+ icon && (React__default["default"].createElement("div", { className: "text-medium-emphasis".concat(inverse ? '-inverse' : '', " text-end mb-4") }, icon)),
7744
+ value && (React__default["default"].createElement("div", { className: "text-high-emphasis".concat(inverse ? '-inverse' : '', " fs-4 fw-semibold") }, value)),
7611
7745
  title && (React__default["default"].createElement("div", { className: inverse ? 'text-medium-emphasis-inverse' : 'text-medium-emphasis' }, title)),
7612
7746
  React__default["default"].createElement(CProgress, __assign({ className: "mt-3 mb-0", height: 4 }, (inverse && { white: true }), progress)))));
7613
7747
  });
@@ -7627,7 +7761,7 @@ var CWidgetStatsD = React.forwardRef(function (_a, ref) {
7627
7761
  var className = _a.className, chart = _a.chart, color = _a.color, icon = _a.icon, values = _a.values, rest = __rest(_a, ["className", "chart", "color", "icon", "values"]);
7628
7762
  var _className = classNames(className);
7629
7763
  var classNameHeader = classNames('position-relative d-flex justify-content-center align-items-center', (_b = {},
7630
- _b["bg-" + color] = color,
7764
+ _b["bg-".concat(color)] = color,
7631
7765
  _b));
7632
7766
  return (React__default["default"].createElement(CCard, __assign({ className: _className }, rest, { ref: ref }),
7633
7767
  React__default["default"].createElement(CCardHeader, { className: classNameHeader },
@@ -7673,10 +7807,10 @@ var CWidgetStatsF = React.forwardRef(function (_a, ref) {
7673
7807
  var className = _a.className, color = _a.color, footer = _a.footer, icon = _a.icon, _b = _a.padding, padding = _b === void 0 ? true : _b, title = _a.title, value = _a.value, rest = __rest(_a, ["className", "color", "footer", "icon", "padding", "title", "value"]);
7674
7808
  var _className = classNames(className);
7675
7809
  return (React__default["default"].createElement(CCard, __assign({ className: _className }, rest, { ref: ref }),
7676
- React__default["default"].createElement(CCardBody, { className: "d-flex align-items-center " + (padding === false && 'p-0') },
7677
- React__default["default"].createElement("div", { className: "me-3 text-white bg-" + color + " " + (padding ? 'p-3' : 'p-4') }, icon),
7810
+ React__default["default"].createElement(CCardBody, { className: "d-flex align-items-center ".concat(padding === false && 'p-0') },
7811
+ React__default["default"].createElement("div", { className: "me-3 text-white bg-".concat(color, " ").concat(padding ? 'p-3' : 'p-4') }, icon),
7678
7812
  React__default["default"].createElement("div", null,
7679
- React__default["default"].createElement("div", { className: "fs-6 fw-semibold text-" + color }, value),
7813
+ React__default["default"].createElement("div", { className: "fs-6 fw-semibold text-".concat(color) }, value),
7680
7814
  React__default["default"].createElement("div", { className: "text-medium-emphasis text-uppercase fw-semibold small" }, title))),
7681
7815
  footer && React__default["default"].createElement(CCardFooter, null, footer)));
7682
7816
  });
@@ -7782,6 +7916,7 @@ exports.COffcanvasHeader = COffcanvasHeader;
7782
7916
  exports.COffcanvasTitle = COffcanvasTitle;
7783
7917
  exports.CPagination = CPagination;
7784
7918
  exports.CPaginationItem = CPaginationItem;
7919
+ exports.CPlaceholder = CPlaceholder;
7785
7920
  exports.CPopover = CPopover;
7786
7921
  exports.CProgress = CProgress;
7787
7922
  exports.CProgressBar = CProgressBar;