@coreui/react 4.0.0 → 4.1.1

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 +157 -0
  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/CFormCheck.d.ts +4 -0
  5. package/dist/components/form/CFormLabel.d.ts +2 -2
  6. package/dist/components/form/CFormSelect.d.ts +13 -0
  7. package/dist/components/placeholder/CPlaceholder.d.ts +51 -0
  8. package/dist/components/popover/CPopover.d.ts +2 -2
  9. package/dist/components/tooltip/CTooltip.d.ts +1 -1
  10. package/dist/index.d.ts +2 -1
  11. package/dist/index.es.js +291 -181
  12. package/dist/index.es.js.map +1 -1
  13. package/dist/index.js +291 -180
  14. package/dist/index.js.map +1 -1
  15. package/package.json +10 -10
  16. package/src/components/accordion/CAccordionCollapse.tsx +1 -1
  17. package/src/components/collapse/CCollapse.tsx +36 -3
  18. package/src/components/form/CFormCheck.tsx +30 -3
  19. package/src/components/form/CFormLabel.tsx +2 -2
  20. package/src/components/form/CFormSelect.tsx +28 -2
  21. package/src/components/form/__tests__/CFormLabel.spec.tsx +8 -0
  22. package/src/components/form/__tests__/__snapshots__/CFormLabel.spec.tsx.snap +11 -0
  23. package/src/components/grid/CCol.tsx +8 -8
  24. package/src/components/grid/CContainer.tsx +3 -3
  25. package/src/components/grid/CRow.tsx +6 -6
  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
@@ -2387,6 +2387,7 @@ CSSTransition.propTypes = process.env.NODE_ENV !== "production" ? _extends({}, T
2387
2387
  var CSSTransition$1 = CSSTransition;
2388
2388
 
2389
2389
  // code borrowed from https://github.com/reach/reach-ui
2390
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2390
2391
  function useForkedRef() {
2391
2392
  var refs = [];
2392
2393
  for (var _i = 0; _i < arguments.length; _i++) {
@@ -2396,6 +2397,7 @@ function useForkedRef() {
2396
2397
  if (refs.every(function (ref) { return ref == null; })) {
2397
2398
  return null;
2398
2399
  }
2400
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2399
2401
  return function (node) {
2400
2402
  refs.forEach(function (ref) {
2401
2403
  assignRef(ref, node);
@@ -2403,7 +2405,10 @@ function useForkedRef() {
2403
2405
  };
2404
2406
  }, refs);
2405
2407
  }
2406
- function assignRef(ref, value) {
2408
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2409
+ function assignRef(ref,
2410
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2411
+ value) {
2407
2412
  if (ref == null)
2408
2413
  return;
2409
2414
  if (isFunction(ref)) {
@@ -2414,17 +2419,19 @@ function assignRef(ref, value) {
2414
2419
  ref.current = value;
2415
2420
  }
2416
2421
  catch (error) {
2417
- throw new Error("Cannot assign value \"" + value + "\" to ref \"" + ref + "\"");
2422
+ throw new Error("Cannot assign value \"".concat(value, "\" to ref \"").concat(ref, "\""));
2418
2423
  }
2419
2424
  }
2420
2425
  }
2426
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types
2421
2427
  function isFunction(value) {
2422
2428
  return !!(value && {}.toString.call(value) == '[object Function]');
2423
2429
  }
2424
2430
 
2425
2431
  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"]);
2432
+ 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
2433
  var _b = React.useState(), height = _b[0], setHeight = _b[1];
2434
+ var _c = React.useState(), width = _c[0], setWidth = _c[1];
2428
2435
  var collapseRef = React.useRef(null);
2429
2436
  var forkedRef = useForkedRef(ref, collapseRef);
2430
2437
  var getTransitionClass = function (state) {
@@ -2438,31 +2445,55 @@ var CCollapse = React.forwardRef(function (_a, ref) {
2438
2445
  };
2439
2446
  var onEntering = function () {
2440
2447
  onShow && onShow();
2448
+ if (horizontal) {
2449
+ collapseRef.current && setWidth(collapseRef.current.scrollWidth);
2450
+ return;
2451
+ }
2441
2452
  collapseRef.current && setHeight(collapseRef.current.scrollHeight);
2442
2453
  };
2443
2454
  var onEntered = function () {
2455
+ if (horizontal) {
2456
+ setWidth(0);
2457
+ return;
2458
+ }
2444
2459
  setHeight(0);
2445
2460
  };
2446
2461
  var onExit = function () {
2462
+ if (horizontal) {
2463
+ collapseRef.current && setWidth(collapseRef.current.scrollWidth);
2464
+ return;
2465
+ }
2447
2466
  collapseRef.current && setHeight(collapseRef.current.scrollHeight);
2448
2467
  };
2449
2468
  var onExiting = function () {
2450
2469
  onHide && onHide();
2470
+ if (horizontal) {
2471
+ setWidth(0);
2472
+ return;
2473
+ }
2451
2474
  setHeight(0);
2452
2475
  };
2453
2476
  var onExited = function () {
2477
+ if (horizontal) {
2478
+ setWidth(0);
2479
+ return;
2480
+ }
2454
2481
  setHeight(0);
2455
2482
  };
2456
- var _className = classNames(className);
2483
+ var _className = classNames({
2484
+ 'collapse-horizontal': horizontal,
2485
+ }, className);
2457
2486
  return (React__default["default"].createElement(CSSTransition$1, { in: visible, onEntering: onEntering, onEntered: onEntered, onExit: onExit, onExiting: onExiting, onExited: onExited, timeout: 350 }, function (state) {
2458
2487
  var transitionClass = getTransitionClass(state);
2459
2488
  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));
2489
+ var currentWidth = width === 0 ? null : { width: width };
2490
+ return (React__default["default"].createElement("div", __assign({ className: classNames(_className, transitionClass), style: __assign(__assign({}, currentHeight), currentWidth) }, rest, { ref: forkedRef }), children));
2461
2491
  }));
2462
2492
  });
2463
2493
  CCollapse.propTypes = {
2464
2494
  children: PropTypes.node,
2465
2495
  className: PropTypes.string,
2496
+ horizontal: PropTypes.bool,
2466
2497
  onHide: PropTypes.func,
2467
2498
  onShow: PropTypes.func,
2468
2499
  visible: PropTypes.bool,
@@ -2588,7 +2619,7 @@ var CAlert = React.forwardRef(function (_a, ref) {
2588
2619
  React.useEffect(function () {
2589
2620
  setVisible(visible);
2590
2621
  }, [visible]);
2591
- var _className = classNames('alert', variant === 'solid' ? "bg-" + color + " text-white" : "alert-" + color, {
2622
+ var _className = classNames('alert', variant === 'solid' ? "bg-".concat(color, " text-white") : "alert-".concat(color), {
2592
2623
  'alert-dismissible fade': dismissible,
2593
2624
  }, className);
2594
2625
  var getTransitionClass = function (state) {
@@ -2659,11 +2690,11 @@ var CAvatar = React.forwardRef(function (_a, ref) {
2659
2690
  var _b;
2660
2691
  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
2692
  var _className = classNames('avatar', (_b = {},
2662
- _b["bg-" + color] = color,
2663
- _b["avatar-" + size] = size,
2664
- _b["text-" + textColor] = textColor,
2693
+ _b["bg-".concat(color)] = color,
2694
+ _b["avatar-".concat(size)] = size,
2695
+ _b["text-".concat(textColor)] = textColor,
2665
2696
  _b), shape, className);
2666
- var statusClassName = status && classNames('avatar-status', "bg-" + status);
2697
+ var statusClassName = status && classNames('avatar-status', "bg-".concat(status));
2667
2698
  return (React__default["default"].createElement("div", __assign({ className: _className }, rest, { ref: ref }),
2668
2699
  src ? React__default["default"].createElement("img", { src: src, className: "avatar-img" }) : children,
2669
2700
  status && React__default["default"].createElement("span", { className: statusClassName })));
@@ -2684,14 +2715,14 @@ var CBadge = React.forwardRef(function (_a, ref) {
2684
2715
  var _b;
2685
2716
  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
2717
  var _className = classNames('badge', (_b = {},
2687
- _b["bg-" + color] = color,
2718
+ _b["bg-".concat(color)] = color,
2688
2719
  _b['position-absolute translate-middle'] = position,
2689
2720
  _b['top-0'] = position === null || position === void 0 ? void 0 : position.includes('top'),
2690
2721
  _b['top-100'] = position === null || position === void 0 ? void 0 : position.includes('bottom'),
2691
2722
  _b['start-100'] = position === null || position === void 0 ? void 0 : position.includes('end'),
2692
2723
  _b['start-0'] = position === null || position === void 0 ? void 0 : position.includes('start'),
2693
- _b["badge-" + size] = size,
2694
- _b["text-" + textColor] = textColor,
2724
+ _b["badge-".concat(size)] = size,
2725
+ _b["text-".concat(textColor)] = textColor,
2695
2726
  _b), shape, className);
2696
2727
  return (React__default["default"].createElement(Component, __assign({ className: _className }, rest, { ref: ref }), children));
2697
2728
  });
@@ -2754,7 +2785,7 @@ CBreadcrumbItem.displayName = 'CBreadcrumbItem';
2754
2785
  var CButton = React.forwardRef(function (_a, ref) {
2755
2786
  var _b;
2756
2787
  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);
2788
+ var _className = classNames('btn', variant ? "btn-".concat(variant, "-").concat(color) : "btn-".concat(color), (_b = {}, _b["btn-".concat(size)] = size, _b), shape, className);
2758
2789
  return (React__default["default"].createElement(CLink, __assign({ component: rest.href ? 'a' : component, type: type, className: _className }, rest, { ref: ref }), children));
2759
2790
  });
2760
2791
  CButton.propTypes = {
@@ -2772,7 +2803,7 @@ CButton.displayName = 'CButton';
2772
2803
  var CButtonGroup = React.forwardRef(function (_a, ref) {
2773
2804
  var _b;
2774
2805
  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);
2806
+ var _className = classNames(vertical ? 'btn-group-vertical' : 'btn-group', (_b = {}, _b["btn-group-".concat(size)] = size, _b), className);
2776
2807
  return (React__default["default"].createElement("div", __assign({ className: _className }, rest, { ref: ref }), children));
2777
2808
  });
2778
2809
  CButtonGroup.propTypes = {
@@ -2798,7 +2829,7 @@ var CCallout = React.forwardRef(function (_a, ref) {
2798
2829
  var _b;
2799
2830
  var children = _a.children, className = _a.className, color = _a.color, rest = __rest(_a, ["children", "className", "color"]);
2800
2831
  var _className = classNames('callout', (_b = {},
2801
- _b["callout-" + color] = color,
2832
+ _b["callout-".concat(color)] = color,
2802
2833
  _b), className);
2803
2834
  return (React__default["default"].createElement("div", __assign({ className: _className }, rest, { ref: ref }), children));
2804
2835
  });
@@ -2813,8 +2844,8 @@ var CCard = React.forwardRef(function (_a, ref) {
2813
2844
  var _b;
2814
2845
  var children = _a.children, className = _a.className, color = _a.color, textColor = _a.textColor, rest = __rest(_a, ["children", "className", "color", "textColor"]);
2815
2846
  var _className = classNames('card', (_b = {},
2816
- _b["bg-" + color] = color,
2817
- _b["text-" + textColor] = textColor,
2847
+ _b["bg-".concat(color)] = color,
2848
+ _b["text-".concat(textColor)] = textColor,
2818
2849
  _b), className);
2819
2850
  return (React__default["default"].createElement("div", __assign({ className: _className }, rest, { ref: ref }), children));
2820
2851
  });
@@ -2873,7 +2904,7 @@ CCardHeader.displayName = 'CCardHeader';
2873
2904
 
2874
2905
  var CCardImage = React.forwardRef(function (_a, ref) {
2875
2906
  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);
2907
+ var _className = classNames(orientation ? "card-img-".concat(orientation) : 'card-img', className);
2877
2908
  return (React__default["default"].createElement(Component, __assign({ className: _className }, rest, { ref: ref }), children));
2878
2909
  });
2879
2910
  CCardImage.propTypes = {
@@ -3039,7 +3070,7 @@ var CCarousel = React.forwardRef(function (_a, ref) {
3039
3070
  setCustomInterval: setCustomInterval,
3040
3071
  } },
3041
3072
  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 () {
3073
+ return (React__default["default"].createElement("li", { key: "indicator".concat(index), onClick: function () {
3043
3074
  !animating && handleIndicatorClick(index);
3044
3075
  }, className: active === index ? 'active' : '', "data-coreui-target": "" }));
3045
3076
  }))),
@@ -3099,7 +3130,7 @@ var CCarouselItem = React.forwardRef(function (_a, ref) {
3099
3130
  if (active) {
3100
3131
  setCustomInterval(interval);
3101
3132
  if (count !== 0)
3102
- setOrderClassName("carousel-item-" + direction);
3133
+ setOrderClassName("carousel-item-".concat(direction));
3103
3134
  }
3104
3135
  if (prevActive.current && !active) {
3105
3136
  setActiveClassName('active');
@@ -3111,7 +3142,7 @@ var CCarouselItem = React.forwardRef(function (_a, ref) {
3111
3142
  // @ts-expect-error reflow is necessary to proper transition
3112
3143
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
3113
3144
  (_a = carouselItemRef.current) === null || _a === void 0 ? void 0 : _a.offsetHeight;
3114
- setDirectionClassName("carousel-item-" + (direction === 'next' ? 'start' : 'end'));
3145
+ setDirectionClassName("carousel-item-".concat(direction === 'next' ? 'start' : 'end'));
3115
3146
  }
3116
3147
  }, 0);
3117
3148
  }
@@ -3400,29 +3431,32 @@ function getBasePlacement(placement) {
3400
3431
  return placement.split('-')[0];
3401
3432
  }
3402
3433
 
3403
- // import { isHTMLElement } from './instanceOf';
3404
- function getBoundingClientRect(element, // eslint-disable-next-line unused-imports/no-unused-vars
3405
- includeScale) {
3434
+ var max = Math.max;
3435
+ var min = Math.min;
3436
+ var round = Math.round;
3437
+
3438
+ function getBoundingClientRect(element, includeScale) {
3439
+ if (includeScale === void 0) {
3440
+ includeScale = false;
3441
+ }
3406
3442
 
3407
3443
  var rect = element.getBoundingClientRect();
3408
3444
  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
- // }
3445
+ var scaleY = 1;
3446
+
3447
+ if (isHTMLElement(element) && includeScale) {
3448
+ var offsetHeight = element.offsetHeight;
3449
+ var offsetWidth = element.offsetWidth; // Do not attempt to divide by 0, otherwise we get `Infinity` as scale
3450
+ // Fallback to 1 in case both values are `0`
3451
+
3452
+ if (offsetWidth > 0) {
3453
+ scaleX = round(rect.width) / offsetWidth || 1;
3454
+ }
3455
+
3456
+ if (offsetHeight > 0) {
3457
+ scaleY = round(rect.height) / offsetHeight || 1;
3458
+ }
3459
+ }
3426
3460
 
3427
3461
  return {
3428
3462
  width: rect.width / scaleX,
@@ -3577,13 +3611,13 @@ function getMainAxisFromPlacement(placement) {
3577
3611
  return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';
3578
3612
  }
3579
3613
 
3580
- var max = Math.max;
3581
- var min = Math.min;
3582
- var round = Math.round;
3583
-
3584
3614
  function within(min$1, value, max$1) {
3585
3615
  return max(min$1, min(value, max$1));
3586
3616
  }
3617
+ function withinMaxClamp(min, value, max) {
3618
+ var v = within(min, value, max);
3619
+ return v > max ? max : v;
3620
+ }
3587
3621
 
3588
3622
  function getFreshSideObject() {
3589
3623
  return {
@@ -3715,8 +3749,8 @@ function roundOffsetsByDPR(_ref) {
3715
3749
  var win = window;
3716
3750
  var dpr = win.devicePixelRatio || 1;
3717
3751
  return {
3718
- x: round(round(x * dpr) / dpr) || 0,
3719
- y: round(round(y * dpr) / dpr) || 0
3752
+ x: round(x * dpr) / dpr || 0,
3753
+ y: round(y * dpr) / dpr || 0
3720
3754
  };
3721
3755
  }
3722
3756
 
@@ -3731,7 +3765,8 @@ function mapToStyles(_ref2) {
3731
3765
  position = _ref2.position,
3732
3766
  gpuAcceleration = _ref2.gpuAcceleration,
3733
3767
  adaptive = _ref2.adaptive,
3734
- roundOffsets = _ref2.roundOffsets;
3768
+ roundOffsets = _ref2.roundOffsets,
3769
+ isFixed = _ref2.isFixed;
3735
3770
 
3736
3771
  var _ref3 = roundOffsets === true ? roundOffsetsByDPR(offsets) : typeof roundOffsets === 'function' ? roundOffsets(offsets) : offsets,
3737
3772
  _ref3$x = _ref3.x,
@@ -3763,16 +3798,18 @@ function mapToStyles(_ref2) {
3763
3798
  offsetParent = offsetParent;
3764
3799
 
3765
3800
  if (placement === top || (placement === left || placement === right) && variation === end) {
3766
- sideY = bottom; // $FlowFixMe[prop-missing]
3767
-
3768
- y -= offsetParent[heightProp] - popperRect.height;
3801
+ sideY = bottom;
3802
+ var offsetY = isFixed && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]
3803
+ offsetParent[heightProp];
3804
+ y -= offsetY - popperRect.height;
3769
3805
  y *= gpuAcceleration ? 1 : -1;
3770
3806
  }
3771
3807
 
3772
3808
  if (placement === left || (placement === top || placement === bottom) && variation === end) {
3773
- sideX = right; // $FlowFixMe[prop-missing]
3774
-
3775
- x -= offsetParent[widthProp] - popperRect.width;
3809
+ sideX = right;
3810
+ var offsetX = isFixed && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]
3811
+ offsetParent[widthProp];
3812
+ x -= offsetX - popperRect.width;
3776
3813
  x *= gpuAcceleration ? 1 : -1;
3777
3814
  }
3778
3815
  }
@@ -3815,7 +3852,8 @@ function computeStyles(_ref4) {
3815
3852
  variation: getVariation(state.placement),
3816
3853
  popper: state.elements.popper,
3817
3854
  popperRect: state.rects.popper,
3818
- gpuAcceleration: gpuAcceleration
3855
+ gpuAcceleration: gpuAcceleration,
3856
+ isFixed: state.options.strategy === 'fixed'
3819
3857
  };
3820
3858
 
3821
3859
  if (state.modifiersData.popperOffsets != null) {
@@ -4073,7 +4111,7 @@ function getInnerBoundingClientRect(element) {
4073
4111
  }
4074
4112
 
4075
4113
  function getClientRectFromMixedType(element, clippingParent) {
4076
- return clippingParent === viewport ? rectToClientRect(getViewportRect(element)) : isHTMLElement(clippingParent) ? getInnerBoundingClientRect(clippingParent) : rectToClientRect(getDocumentRect(getDocumentElement(element)));
4114
+ return clippingParent === viewport ? rectToClientRect(getViewportRect(element)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent) : rectToClientRect(getDocumentRect(getDocumentElement(element)));
4077
4115
  } // A "clipping parent" is an overflowable container with the characteristic of
4078
4116
  // clipping (or hiding) overflowing elements with a position different from
4079
4117
  // `initial`
@@ -4090,7 +4128,7 @@ function getClippingParents(element) {
4090
4128
 
4091
4129
 
4092
4130
  return clippingParents.filter(function (clippingParent) {
4093
- return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';
4131
+ return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body' && (canEscapeClipping ? getComputedStyle$1(clippingParent).position !== 'static' : true);
4094
4132
  });
4095
4133
  } // Gets the maximum area that the element is visible in due to any number of
4096
4134
  // clipping parents
@@ -4590,6 +4628,14 @@ function preventOverflow(_ref) {
4590
4628
  var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {
4591
4629
  placement: state.placement
4592
4630
  })) : tetherOffset;
4631
+ var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {
4632
+ mainAxis: tetherOffsetValue,
4633
+ altAxis: tetherOffsetValue
4634
+ } : Object.assign({
4635
+ mainAxis: 0,
4636
+ altAxis: 0
4637
+ }, tetherOffsetValue);
4638
+ var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;
4593
4639
  var data = {
4594
4640
  x: 0,
4595
4641
  y: 0
@@ -4599,13 +4645,15 @@ function preventOverflow(_ref) {
4599
4645
  return;
4600
4646
  }
4601
4647
 
4602
- if (checkMainAxis || checkAltAxis) {
4648
+ if (checkMainAxis) {
4649
+ var _offsetModifierState$;
4650
+
4603
4651
  var mainSide = mainAxis === 'y' ? top : left;
4604
4652
  var altSide = mainAxis === 'y' ? bottom : right;
4605
4653
  var len = mainAxis === 'y' ? 'height' : 'width';
4606
4654
  var offset = popperOffsets[mainAxis];
4607
- var min$1 = popperOffsets[mainAxis] + overflow[mainSide];
4608
- var max$1 = popperOffsets[mainAxis] - overflow[altSide];
4655
+ var min$1 = offset + overflow[mainSide];
4656
+ var max$1 = offset - overflow[altSide];
4609
4657
  var additive = tether ? -popperRect[len] / 2 : 0;
4610
4658
  var minLen = variation === start ? referenceRect[len] : popperRect[len];
4611
4659
  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 +4673,45 @@ function preventOverflow(_ref) {
4625
4673
  // width or height)
4626
4674
 
4627
4675
  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;
4676
+ var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;
4677
+ var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;
4630
4678
  var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);
4631
4679
  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;
4680
+ var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;
4681
+ var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;
4682
+ var tetherMax = offset + maxOffset - offsetModifierValue;
4683
+ var preventedOffset = within(tether ? min(min$1, tetherMin) : min$1, offset, tether ? max(max$1, tetherMax) : max$1);
4684
+ popperOffsets[mainAxis] = preventedOffset;
4685
+ data[mainAxis] = preventedOffset - offset;
4686
+ }
4635
4687
 
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
- }
4688
+ if (checkAltAxis) {
4689
+ var _offsetModifierState$2;
4641
4690
 
4642
- if (checkAltAxis) {
4643
- var _mainSide = mainAxis === 'x' ? top : left;
4691
+ var _mainSide = mainAxis === 'x' ? top : left;
4644
4692
 
4645
- var _altSide = mainAxis === 'x' ? bottom : right;
4693
+ var _altSide = mainAxis === 'x' ? bottom : right;
4646
4694
 
4647
- var _offset = popperOffsets[altAxis];
4695
+ var _offset = popperOffsets[altAxis];
4648
4696
 
4649
- var _min = _offset + overflow[_mainSide];
4697
+ var _len = altAxis === 'y' ? 'height' : 'width';
4650
4698
 
4651
- var _max = _offset - overflow[_altSide];
4699
+ var _min = _offset + overflow[_mainSide];
4652
4700
 
4653
- var _preventedOffset = within(tether ? min(_min, tetherMin) : _min, _offset, tether ? max(_max, tetherMax) : _max);
4701
+ var _max = _offset - overflow[_altSide];
4654
4702
 
4655
- popperOffsets[altAxis] = _preventedOffset;
4656
- data[altAxis] = _preventedOffset - _offset;
4657
- }
4703
+ var isOriginSide = [top, left].indexOf(basePlacement) !== -1;
4704
+
4705
+ var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;
4706
+
4707
+ var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;
4708
+
4709
+ var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;
4710
+
4711
+ var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);
4712
+
4713
+ popperOffsets[altAxis] = _preventedOffset;
4714
+ data[altAxis] = _preventedOffset - _offset;
4658
4715
  }
4659
4716
 
4660
4717
  state.modifiersData[name] = data;
@@ -4686,8 +4743,8 @@ function getNodeScroll(node) {
4686
4743
 
4687
4744
  function isElementScaled(element) {
4688
4745
  var rect = element.getBoundingClientRect();
4689
- var scaleX = rect.width / element.offsetWidth || 1;
4690
- var scaleY = rect.height / element.offsetHeight || 1;
4746
+ var scaleX = round(rect.width) / element.offsetWidth || 1;
4747
+ var scaleY = round(rect.height) / element.offsetHeight || 1;
4691
4748
  return scaleX !== 1 || scaleY !== 1;
4692
4749
  } // Returns the composite rect of an element relative to its offsetParent.
4693
4750
  // Composite means it takes into account transforms as well as layout.
@@ -4699,9 +4756,9 @@ function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {
4699
4756
  }
4700
4757
 
4701
4758
  var isOffsetParentAnElement = isHTMLElement(offsetParent);
4702
- isHTMLElement(offsetParent) && isElementScaled(offsetParent);
4759
+ var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);
4703
4760
  var documentElement = getDocumentElement(offsetParent);
4704
- var rect = getBoundingClientRect(elementOrVirtualElement);
4761
+ var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled);
4705
4762
  var scroll = {
4706
4763
  scrollLeft: 0,
4707
4764
  scrollTop: 0
@@ -4718,7 +4775,7 @@ function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {
4718
4775
  }
4719
4776
 
4720
4777
  if (isHTMLElement(offsetParent)) {
4721
- offsets = getBoundingClientRect(offsetParent);
4778
+ offsets = getBoundingClientRect(offsetParent, true);
4722
4779
  offsets.x += offsetParent.clientLeft;
4723
4780
  offsets.y += offsetParent.clientTop;
4724
4781
  } else if (documentElement) {
@@ -5696,11 +5753,11 @@ var CDropdownMenu = function (_a) {
5696
5753
  var classNames = [];
5697
5754
  if (typeof alignment === 'object') {
5698
5755
  Object.keys(alignment).map(function (key) {
5699
- classNames.push("dropdown-menu" + (key === 'xs' ? '' : "-" + key) + "-" + alignment[key]);
5756
+ classNames.push("dropdown-menu".concat(key === 'xs' ? '' : "-".concat(key), "-").concat(alignment[key]));
5700
5757
  });
5701
5758
  }
5702
5759
  if (typeof alignment === 'string') {
5703
- classNames.push("dropdown-menu-" + alignment);
5760
+ classNames.push("dropdown-menu-".concat(alignment));
5704
5761
  }
5705
5762
  return classNames;
5706
5763
  };
@@ -5769,7 +5826,7 @@ CDropdownToggle.propTypes = {
5769
5826
  };
5770
5827
  CDropdownToggle.displayName = 'CDropdownToggle';
5771
5828
 
5772
- var BREAKPOINTS$2 = [
5829
+ var BREAKPOINTS$3 = [
5773
5830
  'xxl',
5774
5831
  'xl',
5775
5832
  'lg',
@@ -5779,33 +5836,33 @@ var BREAKPOINTS$2 = [
5779
5836
  ];
5780
5837
  var CCol = React.forwardRef(function (_a, ref) {
5781
5838
  var children = _a.children, className = _a.className, rest = __rest(_a, ["children", "className"]);
5782
- var repsonsiveCLassNames = [];
5783
- BREAKPOINTS$2.forEach(function (bp) {
5839
+ var repsonsiveClassNames = [];
5840
+ BREAKPOINTS$3.forEach(function (bp) {
5784
5841
  var breakpoint = rest[bp];
5785
5842
  delete rest[bp];
5786
- var infix = bp === 'xs' ? '' : "-" + bp;
5843
+ var infix = bp === 'xs' ? '' : "-".concat(bp);
5787
5844
  if (typeof breakpoint === 'number' || typeof breakpoint === 'string') {
5788
- repsonsiveCLassNames.push("col" + infix + "-" + breakpoint);
5845
+ repsonsiveClassNames.push("col".concat(infix, "-").concat(breakpoint));
5789
5846
  }
5790
5847
  if (typeof breakpoint === 'boolean') {
5791
- repsonsiveCLassNames.push("col" + infix);
5848
+ repsonsiveClassNames.push("col".concat(infix));
5792
5849
  }
5793
5850
  if (breakpoint && typeof breakpoint === 'object') {
5794
5851
  if (typeof breakpoint.span === 'number' || typeof breakpoint.span === 'string') {
5795
- repsonsiveCLassNames.push("col" + infix + "-" + breakpoint.span);
5852
+ repsonsiveClassNames.push("col".concat(infix, "-").concat(breakpoint.span));
5796
5853
  }
5797
5854
  if (typeof breakpoint.span === 'boolean') {
5798
- repsonsiveCLassNames.push("col" + infix);
5855
+ repsonsiveClassNames.push("col".concat(infix));
5799
5856
  }
5800
5857
  if (typeof breakpoint.order === 'number' || typeof breakpoint.order === 'string') {
5801
- repsonsiveCLassNames.push("order" + infix + "-" + breakpoint.order);
5858
+ repsonsiveClassNames.push("order".concat(infix, "-").concat(breakpoint.order));
5802
5859
  }
5803
5860
  if (typeof breakpoint.offset === 'number') {
5804
- repsonsiveCLassNames.push("offset" + infix + "-" + breakpoint.offset);
5861
+ repsonsiveClassNames.push("offset".concat(infix, "-").concat(breakpoint.offset));
5805
5862
  }
5806
5863
  }
5807
5864
  });
5808
- var _className = classNames(repsonsiveCLassNames.length ? repsonsiveCLassNames : 'col', className);
5865
+ var _className = classNames(repsonsiveClassNames.length ? repsonsiveClassNames : 'col', className);
5809
5866
  return (React__default["default"].createElement("div", __assign({ className: _className }, rest, { ref: ref }), children));
5810
5867
  });
5811
5868
  var span = PropTypes.oneOfType([
@@ -5834,7 +5891,7 @@ CCol.propTypes = {
5834
5891
  };
5835
5892
  CCol.displayName = 'CCol';
5836
5893
 
5837
- var BREAKPOINTS$1 = [
5894
+ var BREAKPOINTS$2 = [
5838
5895
  'xxl',
5839
5896
  'xl',
5840
5897
  'lg',
@@ -5844,13 +5901,13 @@ var BREAKPOINTS$1 = [
5844
5901
  ];
5845
5902
  var CContainer = React.forwardRef(function (_a, ref) {
5846
5903
  var children = _a.children, className = _a.className, rest = __rest(_a, ["children", "className"]);
5847
- var repsonsiveCLassNames = [];
5848
- BREAKPOINTS$1.forEach(function (bp) {
5904
+ var repsonsiveClassNames = [];
5905
+ BREAKPOINTS$2.forEach(function (bp) {
5849
5906
  var breakpoint = rest[bp];
5850
5907
  delete rest[bp];
5851
- breakpoint && repsonsiveCLassNames.push("container-" + bp);
5908
+ breakpoint && repsonsiveClassNames.push("container-".concat(bp));
5852
5909
  });
5853
- var _className = classNames(repsonsiveCLassNames.length ? repsonsiveCLassNames : 'container', className);
5910
+ var _className = classNames(repsonsiveClassNames.length ? repsonsiveClassNames : 'container', className);
5854
5911
  return (React__default["default"].createElement("div", __assign({ className: _className }, rest, { ref: ref }), children));
5855
5912
  });
5856
5913
  CContainer.propTypes = {
@@ -5865,7 +5922,7 @@ CContainer.propTypes = {
5865
5922
  };
5866
5923
  CContainer.displayName = 'CContainer';
5867
5924
 
5868
- var BREAKPOINTS = [
5925
+ var BREAKPOINTS$1 = [
5869
5926
  'xxl',
5870
5927
  'xl',
5871
5928
  'lg',
@@ -5875,27 +5932,27 @@ var BREAKPOINTS = [
5875
5932
  ];
5876
5933
  var CRow = React.forwardRef(function (_a, ref) {
5877
5934
  var children = _a.children, className = _a.className, rest = __rest(_a, ["children", "className"]);
5878
- var repsonsiveCLassNames = [];
5879
- BREAKPOINTS.forEach(function (bp) {
5935
+ var repsonsiveClassNames = [];
5936
+ BREAKPOINTS$1.forEach(function (bp) {
5880
5937
  var breakpoint = rest[bp];
5881
5938
  delete rest[bp];
5882
- var infix = bp === 'xs' ? '' : "-" + bp;
5939
+ var infix = bp === 'xs' ? '' : "-".concat(bp);
5883
5940
  if (typeof breakpoint === 'object') {
5884
5941
  if (breakpoint.cols) {
5885
- repsonsiveCLassNames.push("row-cols" + infix + "-" + breakpoint.cols);
5942
+ repsonsiveClassNames.push("row-cols".concat(infix, "-").concat(breakpoint.cols));
5886
5943
  }
5887
5944
  if (typeof breakpoint.gutter === 'number') {
5888
- repsonsiveCLassNames.push("g" + infix + "-" + breakpoint.gutter);
5945
+ repsonsiveClassNames.push("g".concat(infix, "-").concat(breakpoint.gutter));
5889
5946
  }
5890
5947
  if (typeof breakpoint.gutterX === 'number') {
5891
- repsonsiveCLassNames.push("gx" + infix + "-" + breakpoint.gutterX);
5948
+ repsonsiveClassNames.push("gx".concat(infix, "-").concat(breakpoint.gutterX));
5892
5949
  }
5893
5950
  if (typeof breakpoint.gutterY === 'number') {
5894
- repsonsiveCLassNames.push("gy" + infix + "-" + breakpoint.gutterY);
5951
+ repsonsiveClassNames.push("gy".concat(infix, "-").concat(breakpoint.gutterY));
5895
5952
  }
5896
5953
  }
5897
5954
  });
5898
- var _className = classNames('row', repsonsiveCLassNames, className);
5955
+ var _className = classNames('row', repsonsiveClassNames, className);
5899
5956
  return (React__default["default"].createElement("div", { className: _className, ref: ref }, children));
5900
5957
  });
5901
5958
  var bp = PropTypes.shape({
@@ -5919,7 +5976,7 @@ CRow.displayName = 'CRow';
5919
5976
  var CFooter = React.forwardRef(function (_a, ref) {
5920
5977
  var _b;
5921
5978
  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);
5979
+ var _className = classNames('footer', (_b = {}, _b["footer-".concat(position)] = position, _b), className);
5923
5980
  return (React__default["default"].createElement("div", __assign({ className: _className }, rest, { ref: ref }), children));
5924
5981
  });
5925
5982
  CFooter.propTypes = {
@@ -5955,7 +6012,14 @@ CFormLabel.displayName = 'CFormLabel';
5955
6012
 
5956
6013
  var CFormCheck = React.forwardRef(function (_a, ref) {
5957
6014
  var _b;
5958
- var className = _a.className, button = _a.button, hitArea = _a.hitArea, id = _a.id, inline = _a.inline, invalid = _a.invalid, label = _a.label, _c = _a.type, type = _c === void 0 ? 'checkbox' : _c, valid = _a.valid, rest = __rest(_a, ["className", "button", "hitArea", "id", "inline", "invalid", "label", "type", "valid"]);
6015
+ var className = _a.className, button = _a.button, hitArea = _a.hitArea, id = _a.id, indeterminate = _a.indeterminate, inline = _a.inline, invalid = _a.invalid, label = _a.label, _c = _a.type, type = _c === void 0 ? 'checkbox' : _c, valid = _a.valid, rest = __rest(_a, ["className", "button", "hitArea", "id", "indeterminate", "inline", "invalid", "label", "type", "valid"]);
6016
+ var inputRef = React.useRef(null);
6017
+ var forkedRef = useForkedRef(ref, inputRef);
6018
+ React.useEffect(function () {
6019
+ if (inputRef.current && indeterminate) {
6020
+ inputRef.current.indeterminate = indeterminate;
6021
+ }
6022
+ }, [indeterminate]);
5959
6023
  var _className = classNames('form-check', {
5960
6024
  'form-check-inline': inline,
5961
6025
  'is-invalid': invalid,
@@ -5967,12 +6031,12 @@ var CFormCheck = React.forwardRef(function (_a, ref) {
5967
6031
  'me-2': hitArea,
5968
6032
  });
5969
6033
  var labelClassName = classNames(button
5970
- ? classNames('btn', button.variant ? "btn-" + button.variant + "-" + button.color : "btn-" + button.color, (_b = {},
5971
- _b["btn-" + button.size] = button.size,
5972
- _b), "" + button.shape)
6034
+ ? classNames('btn', button.variant ? "btn-".concat(button.variant, "-").concat(button.color) : "btn-".concat(button.color), (_b = {},
6035
+ _b["btn-".concat(button.size)] = button.size,
6036
+ _b), "".concat(button.shape))
5973
6037
  : 'form-check-label');
5974
6038
  var formControl = function () {
5975
- return React__default["default"].createElement("input", __assign({ type: type, className: inputClassName, id: id }, rest, { ref: ref }));
6039
+ return React__default["default"].createElement("input", __assign({ type: type, className: inputClassName, id: id }, rest, { ref: forkedRef }));
5976
6040
  };
5977
6041
  var formLabel = function () {
5978
6042
  return (React__default["default"].createElement(CFormLabel, __assign({ customClassName: labelClassName }, (id && { htmlFor: id })), label));
@@ -5990,6 +6054,7 @@ CFormCheck.propTypes = {
5990
6054
  className: PropTypes.string,
5991
6055
  hitArea: PropTypes.oneOf(['full']),
5992
6056
  id: PropTypes.string,
6057
+ indeterminate: PropTypes.bool,
5993
6058
  inline: PropTypes.bool,
5994
6059
  invalid: PropTypes.bool,
5995
6060
  label: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),
@@ -6002,8 +6067,8 @@ var CFormFeedback = React.forwardRef(function (_a, ref) {
6002
6067
  var _b;
6003
6068
  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"]);
6004
6069
  var _className = classNames((_b = {},
6005
- _b["invalid-" + (tooltip ? 'tooltip' : 'feedback')] = invalid,
6006
- _b["valid-" + (tooltip ? 'tooltip' : 'feedback')] = valid,
6070
+ _b["invalid-".concat(tooltip ? 'tooltip' : 'feedback')] = invalid,
6071
+ _b["valid-".concat(tooltip ? 'tooltip' : 'feedback')] = valid,
6007
6072
  _b), className);
6008
6073
  return (React__default["default"].createElement(Component, __assign({ className: _className }, rest, { ref: ref }), children));
6009
6074
  });
@@ -6032,7 +6097,7 @@ var CFormInput = React.forwardRef(function (_a, ref) {
6032
6097
  var _b;
6033
6098
  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"]);
6034
6099
  var _className = classNames(plainText ? 'form-control-plaintext' : 'form-control', (_b = {},
6035
- _b["form-control-" + size] = size,
6100
+ _b["form-control-".concat(size)] = size,
6036
6101
  _b['form-control-color'] = type === 'color',
6037
6102
  _b['is-invalid'] = invalid,
6038
6103
  _b['is-valid'] = valid,
@@ -6062,19 +6127,25 @@ CFormRange.displayName = 'CFormRange';
6062
6127
 
6063
6128
  var CFormSelect = React.forwardRef(function (_a, ref) {
6064
6129
  var _b;
6065
- var children = _a.children, className = _a.className, htmlSize = _a.htmlSize, invalid = _a.invalid, size = _a.size, valid = _a.valid, rest = __rest(_a, ["children", "className", "htmlSize", "invalid", "size", "valid"]);
6130
+ 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"]);
6066
6131
  var _className = classNames('form-select', (_b = {},
6067
- _b["form-select-" + size] = size,
6132
+ _b["form-select-".concat(size)] = size,
6068
6133
  _b['is-invalid'] = invalid,
6069
6134
  _b['is-valid'] = valid,
6070
6135
  _b), className);
6071
- return (React__default["default"].createElement("select", __assign({ className: _className, size: htmlSize }, rest, { ref: ref }), children));
6136
+ return (React__default["default"].createElement("select", __assign({ className: _className, size: htmlSize }, rest, { ref: ref }), options
6137
+ ? options.map(function (option, index) {
6138
+ return (React__default["default"].createElement("option", __assign({}, (typeof option === 'object' &&
6139
+ option.disabled && { disabled: option.disabled }), (typeof option === 'object' && option.value && { value: option.value }), { key: index }), typeof option === 'string' ? option : option.label));
6140
+ })
6141
+ : children));
6072
6142
  });
6073
6143
  CFormSelect.propTypes = {
6074
6144
  children: PropTypes.node,
6075
6145
  className: PropTypes.string,
6076
6146
  htmlSize: PropTypes.number,
6077
6147
  invalid: PropTypes.bool,
6148
+ options: PropTypes.array,
6078
6149
  size: PropTypes.oneOf(['sm', 'lg']),
6079
6150
  valid: PropTypes.bool,
6080
6151
  };
@@ -6084,7 +6155,7 @@ var CFormSwitch = React.forwardRef(function (_a, ref) {
6084
6155
  var _b;
6085
6156
  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"]);
6086
6157
  var _className = classNames('form-check form-switch', (_b = {},
6087
- _b["form-switch-" + size] = size,
6158
+ _b["form-switch-".concat(size)] = size,
6088
6159
  _b['is-invalid'] = invalid,
6089
6160
  _b['is-valid'] = valid,
6090
6161
  _b), className);
@@ -6141,7 +6212,7 @@ var CInputGroup = React.forwardRef(function (_a, ref) {
6141
6212
  var _b;
6142
6213
  var children = _a.children, className = _a.className, size = _a.size, rest = __rest(_a, ["children", "className", "size"]);
6143
6214
  var _className = classNames('input-group', (_b = {},
6144
- _b["input-group-" + size] = size,
6215
+ _b["input-group-".concat(size)] = size,
6145
6216
  _b), className);
6146
6217
  return (React__default["default"].createElement("div", __assign({ className: _className }, rest, { ref: ref }), children));
6147
6218
  });
@@ -6167,10 +6238,10 @@ CInputGroupText.displayName = 'CInputGroupText';
6167
6238
  var CHeader = React.forwardRef(function (_a, ref) {
6168
6239
  var _b;
6169
6240
  var children = _a.children, className = _a.className, container = _a.container, position = _a.position, rest = __rest(_a, ["children", "className", "container", "position"]);
6170
- var _className = classNames('header', (_b = {}, _b["header-" + position] = position, _b), className);
6241
+ var _className = classNames('header', (_b = {}, _b["header-".concat(position)] = position, _b), className);
6171
6242
  var content;
6172
6243
  if (container) {
6173
- content = (React__default["default"].createElement("div", { className: "container" + (container !== true ? '-' + container : '') }, children));
6244
+ content = (React__default["default"].createElement("div", { className: "container".concat(container !== true ? '-' + container : '') }, children));
6174
6245
  }
6175
6246
  else {
6176
6247
  content = children;
@@ -6255,7 +6326,7 @@ var CImage = React.forwardRef(function (_a, ref) {
6255
6326
  var _b;
6256
6327
  var align = _a.align, className = _a.className, fluid = _a.fluid, rounded = _a.rounded, thumbnail = _a.thumbnail, rest = __rest(_a, ["align", "className", "fluid", "rounded", "thumbnail"]);
6257
6328
  var _className = classNames((_b = {},
6258
- _b["float-" + align] = align && (align === 'start' || align === 'end'),
6329
+ _b["float-".concat(align)] = align && (align === 'start' || align === 'end'),
6259
6330
  _b['d-block mx-auto'] = align && align === 'center',
6260
6331
  _b['img-fluid'] = fluid,
6261
6332
  _b.rounded = rounded,
@@ -6278,7 +6349,7 @@ var CListGroup = React.forwardRef(function (_a, ref) {
6278
6349
  var _className = classNames('list-group', (_b = {
6279
6350
  'list-group-flush': flush
6280
6351
  },
6281
- _b["list-group-" + layout] = layout,
6352
+ _b["list-group-".concat(layout)] = layout,
6282
6353
  _b), className);
6283
6354
  return (React__default["default"].createElement(Component, { className: _className, ref: ref }, children));
6284
6355
  });
@@ -6302,7 +6373,7 @@ var CListGroupItem = React.forwardRef(function (_a, ref) {
6302
6373
  var _b;
6303
6374
  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"]);
6304
6375
  var _className = classNames('list-group-item', (_b = {},
6305
- _b["list-group-item-" + color] = color,
6376
+ _b["list-group-item-".concat(color)] = color,
6306
6377
  _b['list-group-item-action'] = component === 'a' || component === 'button',
6307
6378
  _b.active = active,
6308
6379
  _b.disabled = disabled,
@@ -6345,9 +6416,9 @@ var CModalDialog = React.forwardRef(function (_a, ref) {
6345
6416
  },
6346
6417
  _b[typeof fullscreen === 'boolean'
6347
6418
  ? 'modal-fullscreen'
6348
- : "modal-fullscreen-" + fullscreen + "-down"] = fullscreen,
6419
+ : "modal-fullscreen-".concat(fullscreen, "-down")] = fullscreen,
6349
6420
  _b['modal-dialog-scrollable'] = scrollable,
6350
- _b["modal-" + size] = size,
6421
+ _b["modal-".concat(size)] = size,
6351
6422
  _b), className);
6352
6423
  return (React__default["default"].createElement("div", __assign({ className: _className }, rest, { ref: ref }), children));
6353
6424
  });
@@ -6513,8 +6584,8 @@ var CNav = React.forwardRef(function (_a, ref) {
6513
6584
  var _b;
6514
6585
  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"]);
6515
6586
  var _className = classNames('nav', (_b = {},
6516
- _b["nav-" + layout] = layout,
6517
- _b["nav-" + variant] = variant,
6587
+ _b["nav-".concat(layout)] = layout,
6588
+ _b["nav-".concat(variant)] = variant,
6518
6589
  _b), className);
6519
6590
  return (React__default["default"].createElement(Component, __assign({ className: _className, role: "navigation" }, rest, { ref: ref }), children));
6520
6591
  });
@@ -6550,7 +6621,7 @@ var CSidebarNav = React.forwardRef(function (_a, ref) {
6550
6621
  return (React__default["default"].createElement("ul", __assign({ className: classes, ref: ref }, rest),
6551
6622
  React__default["default"].createElement(CNavContext.Provider, { value: CNavContextValues }, React__default["default"].Children.map(children, function (child, index) {
6552
6623
  if (React__default["default"].isValidElement(child)) {
6553
- return React__default["default"].cloneElement(child, { key: index, idx: "" + index });
6624
+ return React__default["default"].cloneElement(child, { key: index, idx: "".concat(index) });
6554
6625
  }
6555
6626
  return;
6556
6627
  }))));
@@ -6610,7 +6681,7 @@ var CNavGroup = React.forwardRef(function (_a, ref) {
6610
6681
  compact: compact,
6611
6682
  }), style: __assign(__assign({}, style), transitionStyles[state]), ref: navItemsRef }, React__default["default"].Children.map(children, function (child, index) {
6612
6683
  if (React__default["default"].isValidElement(child)) {
6613
- return React__default["default"].cloneElement(child, { key: index, idx: idx + "." + index });
6684
+ return React__default["default"].cloneElement(child, { key: index, idx: "".concat(idx, ".").concat(index) });
6614
6685
  }
6615
6686
  return;
6616
6687
  }))); })));
@@ -6674,13 +6745,13 @@ var CNavbar = React.forwardRef(function (_a, ref) {
6674
6745
  var _b;
6675
6746
  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"]);
6676
6747
  var _className = classNames('navbar', (_b = {},
6677
- _b["bg-" + color] = color,
6678
- _b["navbar-" + colorScheme] = colorScheme,
6679
- _b[typeof expand === 'boolean' ? 'navbar-expand' : "navbar-expand-" + expand] = expand,
6748
+ _b["bg-".concat(color)] = color,
6749
+ _b["navbar-".concat(colorScheme)] = colorScheme,
6750
+ _b[typeof expand === 'boolean' ? 'navbar-expand' : "navbar-expand-".concat(expand)] = expand,
6680
6751
  _b), placement, className);
6681
6752
  var content;
6682
6753
  if (container) {
6683
- content = (React__default["default"].createElement("div", { className: "container" + (container !== true ? '-' + container : '') }, children));
6754
+ content = (React__default["default"].createElement("div", { className: "container".concat(container !== true ? '-' + container : '') }, children));
6684
6755
  }
6685
6756
  else {
6686
6757
  content = children;
@@ -6763,8 +6834,8 @@ var CPagination = React.forwardRef(function (_a, ref) {
6763
6834
  var _b;
6764
6835
  var children = _a.children, align = _a.align, className = _a.className, size = _a.size, rest = __rest(_a, ["children", "align", "className", "size"]);
6765
6836
  var _className = classNames('pagination', (_b = {},
6766
- _b["justify-content-" + align] = align,
6767
- _b["pagination-" + size] = size,
6837
+ _b["justify-content-".concat(align)] = align,
6838
+ _b["pagination-".concat(size)] = size,
6768
6839
  _b), className);
6769
6840
  return (React__default["default"].createElement("nav", __assign({ ref: ref }, rest),
6770
6841
  React__default["default"].createElement("ul", { className: _className }, children)));
@@ -6793,6 +6864,45 @@ CPaginationItem.propTypes = {
6793
6864
  };
6794
6865
  CPaginationItem.displayName = 'CPaginationItem';
6795
6866
 
6867
+ var BREAKPOINTS = [
6868
+ 'xxl',
6869
+ 'xl',
6870
+ 'lg',
6871
+ 'md',
6872
+ 'sm',
6873
+ 'xs',
6874
+ ];
6875
+ var CPlaceholder = React.forwardRef(function (_a, ref) {
6876
+ var _b;
6877
+ 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"]);
6878
+ var repsonsiveClassNames = [];
6879
+ BREAKPOINTS.forEach(function (bp) {
6880
+ var breakpoint = rest[bp];
6881
+ delete rest[bp];
6882
+ var infix = bp === 'xs' ? '' : "-".concat(bp);
6883
+ if (typeof breakpoint === 'number') {
6884
+ repsonsiveClassNames.push("col".concat(infix, "-").concat(breakpoint));
6885
+ }
6886
+ if (typeof breakpoint === 'boolean') {
6887
+ repsonsiveClassNames.push("col".concat(infix));
6888
+ }
6889
+ });
6890
+ var _className = classNames(animation ? "placeholder-".concat(animation) : 'placeholder', (_b = {},
6891
+ _b["bg-".concat(color)] = color,
6892
+ _b["placeholder-".concat(size)] = size,
6893
+ _b), repsonsiveClassNames, className);
6894
+ return (React__default["default"].createElement(Component, __assign({ className: _className }, rest, { ref: ref }), children));
6895
+ });
6896
+ CPlaceholder.propTypes = {
6897
+ animation: PropTypes.oneOf(['glow', 'wave']),
6898
+ children: PropTypes.node,
6899
+ className: PropTypes.string,
6900
+ color: colorPropType,
6901
+ component: PropTypes.elementType,
6902
+ size: PropTypes.oneOf(['xs', 'sm', 'lg']),
6903
+ };
6904
+ CPlaceholder.displayName = 'CPlaceholder';
6905
+
6796
6906
  var CPopover = function (_a) {
6797
6907
  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"]);
6798
6908
  var _e = React.useState(visible), _visible = _e[0], setVisible = _e[1];
@@ -6833,7 +6943,7 @@ var CPopover = function (_a) {
6833
6943
  },
6834
6944
  ] }, function (_a) {
6835
6945
  var arrowProps = _a.arrowProps, style = _a.style, ref = _a.ref;
6836
- 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),
6946
+ 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),
6837
6947
  React__default["default"].createElement("div", __assign({ className: "popover-arrow" }, arrowProps)),
6838
6948
  React__default["default"].createElement("div", { className: "popover-header" }, title),
6839
6949
  React__default["default"].createElement("div", { className: "popover-body" }, content)));
@@ -6842,12 +6952,12 @@ var CPopover = function (_a) {
6842
6952
  };
6843
6953
  CPopover.propTypes = {
6844
6954
  children: PropTypes.any,
6845
- content: PropTypes.node,
6955
+ content: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),
6846
6956
  placement: PropTypes.oneOf(['auto', 'top', 'right', 'bottom', 'left']),
6847
6957
  offset: PropTypes.any,
6848
6958
  onHide: PropTypes.func,
6849
6959
  onShow: PropTypes.func,
6850
- title: PropTypes.string,
6960
+ title: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),
6851
6961
  trigger: triggerPropType,
6852
6962
  visible: PropTypes.bool,
6853
6963
  };
@@ -6857,11 +6967,11 @@ var CProgressBar = React.forwardRef(function (_a, ref) {
6857
6967
  var _b;
6858
6968
  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"]);
6859
6969
  var _className = classNames('progress-bar', (_b = {},
6860
- _b["bg-" + color] = color,
6861
- _b["progress-bar-" + variant] = variant,
6970
+ _b["bg-".concat(color)] = color,
6971
+ _b["progress-bar-".concat(variant)] = variant,
6862
6972
  _b['progress-bar-animated'] = animated,
6863
6973
  _b), className);
6864
- 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));
6974
+ 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));
6865
6975
  });
6866
6976
  CProgressBar.propTypes = {
6867
6977
  animated: PropTypes.bool,
@@ -6879,7 +6989,7 @@ var CProgress = React.forwardRef(function (_a, ref) {
6879
6989
  'progress-thin': thin,
6880
6990
  'progress-white': white,
6881
6991
  }, className);
6882
- 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)));
6992
+ 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)));
6883
6993
  });
6884
6994
  CProgress.propTypes = {
6885
6995
  children: PropTypes.node,
@@ -6976,8 +7086,8 @@ var CSidebar = React.forwardRef(function (_a, ref) {
6976
7086
  'sidebar-narrow': narrow,
6977
7087
  'sidebar-overlaid': overlaid
6978
7088
  },
6979
- _b["sidebar-" + position] = position,
6980
- _b["sidebar-" + size] = size,
7089
+ _b["sidebar-".concat(position)] = position,
7090
+ _b["sidebar-".concat(size)] = size,
6981
7091
  _b['sidebar-narrow-unfoldable'] = unfoldable,
6982
7092
  _b.show = _visible === true && mobile,
6983
7093
  _b.hide = _visible === false && !mobile,
@@ -7026,7 +7136,7 @@ var COffcanvas = React.forwardRef(function (_a, ref) {
7026
7136
  }
7027
7137
  }, [_visible]);
7028
7138
  var _className = classNames('offcanvas', (_b = {},
7029
- _b["offcanvas-" + placement] = placement,
7139
+ _b["offcanvas-".concat(placement)] = placement,
7030
7140
  _b.show = _visible,
7031
7141
  _b), className);
7032
7142
  var transitionStyles = {
@@ -7055,8 +7165,8 @@ var COffcanvas = React.forwardRef(function (_a, ref) {
7055
7165
  }),
7056
7166
  typeof window !== 'undefined' && portal
7057
7167
  ? backdrop &&
7058
- ReactDOM.createPortal(React__default["default"].createElement(CBackdrop, { visible: _visible, onClick: handleDismiss }), document.body)
7059
- : backdrop && React__default["default"].createElement(CBackdrop, { visible: _visible, onClick: handleDismiss })));
7168
+ ReactDOM.createPortal(React__default["default"].createElement(CBackdrop, { className: "offcanvas-backdrop", onClick: handleDismiss, visible: _visible }), document.body)
7169
+ : backdrop && (React__default["default"].createElement(CBackdrop, { className: "offcanvas-backdrop", onClick: handleDismiss, visible: _visible }))));
7060
7170
  });
7061
7171
  COffcanvas.propTypes = {
7062
7172
  backdrop: PropTypes.bool,
@@ -7153,7 +7263,7 @@ CSidebarHeader.displayName = 'CSidebarHeader';
7153
7263
 
7154
7264
  var CSpinner = React.forwardRef(function (_a, ref) {
7155
7265
  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"]);
7156
- var _className = classNames("spinner-" + variant, "text-" + color, size && "spinner-" + variant + "-" + size, className);
7266
+ var _className = classNames("spinner-".concat(variant), "text-".concat(color), size && "spinner-".concat(variant, "-").concat(size), className);
7157
7267
  return (React__default["default"].createElement(Component, __assign({ className: _className, role: "status" }, rest, { ref: ref }),
7158
7268
  React__default["default"].createElement("span", { className: "visually-hidden" }, visuallyHiddenLabel)));
7159
7269
  });
@@ -7171,17 +7281,17 @@ var CTable = React.forwardRef(function (_a, ref) {
7171
7281
  var _b;
7172
7282
  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"]);
7173
7283
  var _className = classNames('table', (_b = {},
7174
- _b["align-" + align] = align,
7175
- _b["caption-" + caption] = caption,
7176
- _b["border-" + borderColor] = borderColor,
7284
+ _b["align-".concat(align)] = align,
7285
+ _b["caption-".concat(caption)] = caption,
7286
+ _b["border-".concat(borderColor)] = borderColor,
7177
7287
  _b['table-bordered'] = bordered,
7178
7288
  _b['table-borderless'] = borderless,
7179
- _b["table-" + color] = color,
7289
+ _b["table-".concat(color)] = color,
7180
7290
  _b['table-hover'] = hover,
7181
7291
  _b['table-sm'] = small,
7182
7292
  _b['table-striped'] = striped,
7183
7293
  _b), className);
7184
- return responsive ? (React__default["default"].createElement("div", { className: typeof responsive === 'boolean' ? 'table-responsive' : "table-responsive-" + responsive },
7294
+ return responsive ? (React__default["default"].createElement("div", { className: typeof responsive === 'boolean' ? 'table-responsive' : "table-responsive-".concat(responsive) },
7185
7295
  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));
7186
7296
  });
7187
7297
  CTable.propTypes = {
@@ -7207,7 +7317,7 @@ var CTableBody = React.forwardRef(function (_a, ref) {
7207
7317
  var _b;
7208
7318
  var children = _a.children, className = _a.className, color = _a.color, rest = __rest(_a, ["children", "className", "color"]);
7209
7319
  var _className = classNames((_b = {},
7210
- _b["table-" + color] = color,
7320
+ _b["table-".concat(color)] = color,
7211
7321
  _b), className);
7212
7322
  return (React__default["default"].createElement("tbody", __assign({ className: _className ? _className : undefined }, rest, { ref: ref }), children));
7213
7323
  });
@@ -7231,9 +7341,9 @@ var CTableDataCell = React.forwardRef(function (_a, ref) {
7231
7341
  var _b;
7232
7342
  var children = _a.children, active = _a.active, align = _a.align, className = _a.className, color = _a.color, rest = __rest(_a, ["children", "active", "align", "className", "color"]);
7233
7343
  var _className = classNames((_b = {},
7234
- _b["align-" + align] = align,
7344
+ _b["align-".concat(align)] = align,
7235
7345
  _b['table-active'] = active,
7236
- _b["table-" + color] = color,
7346
+ _b["table-".concat(color)] = color,
7237
7347
  _b), className);
7238
7348
  return (React__default["default"].createElement("td", __assign({ className: _className ? _className : undefined }, rest, { ref: ref }), children));
7239
7349
  });
@@ -7250,7 +7360,7 @@ var CTableFoot = React.forwardRef(function (_a, ref) {
7250
7360
  var _b;
7251
7361
  var children = _a.children, className = _a.className, color = _a.color, rest = __rest(_a, ["children", "className", "color"]);
7252
7362
  var _className = classNames((_b = {},
7253
- _b["table-" + color] = color,
7363
+ _b["table-".concat(color)] = color,
7254
7364
  _b), className);
7255
7365
  return (React__default["default"].createElement("tfoot", __assign({ className: _className ? _className : undefined }, rest, { ref: ref }), children));
7256
7366
  });
@@ -7265,7 +7375,7 @@ var CTableHead = React.forwardRef(function (_a, ref) {
7265
7375
  var _b;
7266
7376
  var children = _a.children, className = _a.className, color = _a.color, rest = __rest(_a, ["children", "className", "color"]);
7267
7377
  var _className = classNames((_b = {},
7268
- _b["table-" + color] = color,
7378
+ _b["table-".concat(color)] = color,
7269
7379
  _b), className);
7270
7380
  return (React__default["default"].createElement("thead", __assign({ className: _className ? _className : undefined }, rest, { ref: ref }), children));
7271
7381
  });
@@ -7280,7 +7390,7 @@ var CTableHeaderCell = React.forwardRef(function (_a, ref) {
7280
7390
  var _b;
7281
7391
  var children = _a.children, className = _a.className, color = _a.color, rest = __rest(_a, ["children", "className", "color"]);
7282
7392
  var _className = classNames((_b = {},
7283
- _b["table-" + color] = color,
7393
+ _b["table-".concat(color)] = color,
7284
7394
  _b), className);
7285
7395
  return (React__default["default"].createElement("th", __assign({ className: _className ? _className : undefined }, rest, { ref: ref }), children));
7286
7396
  });
@@ -7295,9 +7405,9 @@ var CTableRow = React.forwardRef(function (_a, ref) {
7295
7405
  var _b;
7296
7406
  var children = _a.children, active = _a.active, align = _a.align, className = _a.className, color = _a.color, rest = __rest(_a, ["children", "active", "align", "className", "color"]);
7297
7407
  var _className = classNames((_b = {},
7298
- _b["align-" + align] = align,
7408
+ _b["align-".concat(align)] = align,
7299
7409
  _b['table-active'] = active,
7300
- _b["table-" + color] = color,
7410
+ _b["table-".concat(color)] = color,
7301
7411
  _b), className);
7302
7412
  return (React__default["default"].createElement("tr", __assign({ className: _className ? _className : undefined }, rest, { ref: ref }), children));
7303
7413
  });
@@ -7372,7 +7482,7 @@ var CToast = React.forwardRef(function (_a, ref) {
7372
7482
  var _className = classNames('toast', (_b = {
7373
7483
  fade: animation
7374
7484
  },
7375
- _b["bg-" + color] = color,
7485
+ _b["bg-".concat(color)] = color,
7376
7486
  _b['border-0'] = color,
7377
7487
  _b), className);
7378
7488
  var getTransitionClass = function (state) {
@@ -7529,7 +7639,7 @@ var CTooltip = function (_a) {
7529
7639
  var transitionClass = getTransitionClass(state);
7530
7640
  return (React__default["default"].createElement(Popper, { placement: placement }, function (_a) {
7531
7641
  var arrowProps = _a.arrowProps, style = _a.style, ref = _a.ref;
7532
- 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),
7642
+ 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),
7533
7643
  React__default["default"].createElement("div", __assign({ className: "tooltip-arrow" }, arrowProps)),
7534
7644
  React__default["default"].createElement("div", { className: "tooltip-inner" }, content)));
7535
7645
  }));
@@ -7537,7 +7647,7 @@ var CTooltip = function (_a) {
7537
7647
  };
7538
7648
  CTooltip.propTypes = {
7539
7649
  children: PropTypes.any,
7540
- content: PropTypes.node,
7650
+ content: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),
7541
7651
  placement: PropTypes.oneOf(['auto', 'top', 'right', 'bottom', 'left']),
7542
7652
  onHide: PropTypes.func,
7543
7653
  onShow: PropTypes.func,
@@ -7549,7 +7659,7 @@ CTooltip.displayName = 'CTooltip';
7549
7659
  var CWidgetStatsA = React.forwardRef(function (_a, ref) {
7550
7660
  var _b;
7551
7661
  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"]);
7552
- var _className = classNames((_b = {}, _b["bg-" + color] = color, _b['text-high-emphasis-inverse'] = color, _b), className);
7662
+ var _className = classNames((_b = {}, _b["bg-".concat(color)] = color, _b['text-high-emphasis-inverse'] = color, _b), className);
7553
7663
  return (React__default["default"].createElement(CCard, __assign({ className: _className }, rest, { ref: ref }),
7554
7664
  React__default["default"].createElement(CCardBody, { className: "pb-0 d-flex justify-content-between align-items-start" },
7555
7665
  React__default["default"].createElement("div", null,
@@ -7592,8 +7702,8 @@ var CWidgetStatsC = React.forwardRef(function (_a, ref) {
7592
7702
  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"]);
7593
7703
  return (React__default["default"].createElement(CCard, __assign({ className: className, color: color }, (inverse && { textColor: 'high-emphasis-inverse' }), rest, { ref: ref }),
7594
7704
  React__default["default"].createElement(CCardBody, null,
7595
- icon && (React__default["default"].createElement("div", { className: "text-medium-emphasis" + (inverse ? '-inverse' : '') + " text-end mb-4" }, icon)),
7596
- value && (React__default["default"].createElement("div", { className: "text-high-emphasis" + (inverse ? '-inverse' : '') + " fs-4 fw-semibold" }, value)),
7705
+ icon && (React__default["default"].createElement("div", { className: "text-medium-emphasis".concat(inverse ? '-inverse' : '', " text-end mb-4") }, icon)),
7706
+ value && (React__default["default"].createElement("div", { className: "text-high-emphasis".concat(inverse ? '-inverse' : '', " fs-4 fw-semibold") }, value)),
7597
7707
  title && (React__default["default"].createElement("div", { className: inverse ? 'text-medium-emphasis-inverse' : 'text-medium-emphasis' }, title)),
7598
7708
  React__default["default"].createElement(CProgress, __assign({ className: "mt-3 mb-0", height: 4 }, (inverse && { white: true }), progress)))));
7599
7709
  });
@@ -7613,7 +7723,7 @@ var CWidgetStatsD = React.forwardRef(function (_a, ref) {
7613
7723
  var className = _a.className, chart = _a.chart, color = _a.color, icon = _a.icon, values = _a.values, rest = __rest(_a, ["className", "chart", "color", "icon", "values"]);
7614
7724
  var _className = classNames(className);
7615
7725
  var classNameHeader = classNames('position-relative d-flex justify-content-center align-items-center', (_b = {},
7616
- _b["bg-" + color] = color,
7726
+ _b["bg-".concat(color)] = color,
7617
7727
  _b));
7618
7728
  return (React__default["default"].createElement(CCard, __assign({ className: _className }, rest, { ref: ref }),
7619
7729
  React__default["default"].createElement(CCardHeader, { className: classNameHeader },
@@ -7659,10 +7769,10 @@ var CWidgetStatsF = React.forwardRef(function (_a, ref) {
7659
7769
  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"]);
7660
7770
  var _className = classNames(className);
7661
7771
  return (React__default["default"].createElement(CCard, __assign({ className: _className }, rest, { ref: ref }),
7662
- React__default["default"].createElement(CCardBody, { className: "d-flex align-items-center " + (padding === false && 'p-0') },
7663
- React__default["default"].createElement("div", { className: "me-3 text-white bg-" + color + " " + (padding ? 'p-3' : 'p-4') }, icon),
7772
+ React__default["default"].createElement(CCardBody, { className: "d-flex align-items-center ".concat(padding === false && 'p-0') },
7773
+ React__default["default"].createElement("div", { className: "me-3 text-white bg-".concat(color, " ").concat(padding ? 'p-3' : 'p-4') }, icon),
7664
7774
  React__default["default"].createElement("div", null,
7665
- React__default["default"].createElement("div", { className: "fs-6 fw-semibold text-" + color }, value),
7775
+ React__default["default"].createElement("div", { className: "fs-6 fw-semibold text-".concat(color) }, value),
7666
7776
  React__default["default"].createElement("div", { className: "text-medium-emphasis text-uppercase fw-semibold small" }, title))),
7667
7777
  footer && React__default["default"].createElement(CCardFooter, null, footer)));
7668
7778
  });
@@ -7768,6 +7878,7 @@ exports.COffcanvasHeader = COffcanvasHeader;
7768
7878
  exports.COffcanvasTitle = COffcanvasTitle;
7769
7879
  exports.CPagination = CPagination;
7770
7880
  exports.CPaginationItem = CPaginationItem;
7881
+ exports.CPlaceholder = CPlaceholder;
7771
7882
  exports.CPopover = CPopover;
7772
7883
  exports.CProgress = CProgress;
7773
7884
  exports.CProgressBar = CProgressBar;