@coreui/react-pro 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 (42) 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/smart-table/CSmartTableBody.d.ts +3 -3
  10. package/dist/components/smart-table/CSmartTableHead.d.ts +2 -1
  11. package/dist/components/smart-table/CSmartTableInterface.d.ts +9 -6
  12. package/dist/components/tooltip/CTooltip.d.ts +1 -1
  13. package/dist/index.d.ts +2 -1
  14. package/dist/index.es.js +371 -239
  15. package/dist/index.es.js.map +1 -1
  16. package/dist/index.js +371 -238
  17. package/dist/index.js.map +1 -1
  18. package/package.json +11 -11
  19. package/src/components/accordion/CAccordionCollapse.tsx +1 -1
  20. package/src/components/collapse/CCollapse.tsx +36 -3
  21. package/src/components/form/CFormCheck.tsx +30 -3
  22. package/src/components/form/CFormLabel.tsx +2 -2
  23. package/src/components/form/CFormSelect.tsx +28 -2
  24. package/src/components/form/__tests__/CFormLabel.spec.tsx +8 -0
  25. package/src/components/form/__tests__/__snapshots__/CFormLabel.spec.tsx.snap +11 -0
  26. package/src/components/grid/CCol.tsx +8 -8
  27. package/src/components/grid/CContainer.tsx +3 -3
  28. package/src/components/grid/CRow.tsx +6 -6
  29. package/src/components/offcanvas/COffcanvas.tsx +15 -2
  30. package/src/components/offcanvas/__tests__/COffcanvas.spec.tsx +1 -1
  31. package/src/components/offcanvas/__tests__/__snapshots__/COffcanvas.spec.tsx.snap +2 -2
  32. package/src/components/placeholder/CPlaceholder.tsx +114 -0
  33. package/src/components/placeholder/__tests__/CPlaceholder.spec.tsx +21 -0
  34. package/src/components/placeholder/__tests__/__snapshots__/CPlaceholder.spec.tsx.snap +17 -0
  35. package/src/components/popover/CPopover.tsx +4 -4
  36. package/src/components/smart-table/CSmartTable.tsx +41 -45
  37. package/src/components/smart-table/CSmartTableBody.tsx +9 -4
  38. package/src/components/smart-table/CSmartTableHead.tsx +16 -3
  39. package/src/components/smart-table/CSmartTableInterface.tsx +10 -6
  40. package/src/components/tooltip/CTooltip.tsx +2 -2
  41. package/src/index.ts +2 -0
  42. package/src/utils/hooks/useForkedRef.ts +5 -0
package/dist/index.es.js CHANGED
@@ -358,6 +358,8 @@ var ReactPropTypesSecret$7 = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
358
358
 
359
359
  var ReactPropTypesSecret_1$1 = ReactPropTypesSecret$7;
360
360
 
361
+ var has$4 = Function.call.bind(Object.prototype.hasOwnProperty);
362
+
361
363
  /**
362
364
  * Copyright (c) 2013-present, Facebook, Inc.
363
365
  *
@@ -370,7 +372,7 @@ var printWarning$4 = function() {};
370
372
  if (process.env.NODE_ENV !== 'production') {
371
373
  var ReactPropTypesSecret$6 = ReactPropTypesSecret_1$1;
372
374
  var loggedTypeFailures$1 = {};
373
- var has$3 = Function.call.bind(Object.prototype.hasOwnProperty);
375
+ var has$3 = has$4;
374
376
 
375
377
  printWarning$4 = function(text) {
376
378
  var message = 'Warning: ' + text;
@@ -382,7 +384,7 @@ if (process.env.NODE_ENV !== 'production') {
382
384
  // This error was thrown as a convenience so that you can use this stack
383
385
  // to find the callsite that caused this warning to fire.
384
386
  throw new Error(message);
385
- } catch (x) {}
387
+ } catch (x) { /**/ }
386
388
  };
387
389
  }
388
390
 
@@ -411,7 +413,8 @@ function checkPropTypes$3(typeSpecs, values, location, componentName, getStack)
411
413
  if (typeof typeSpecs[typeSpecName] !== 'function') {
412
414
  var err = Error(
413
415
  (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +
414
- 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.'
416
+ 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +
417
+ 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'
415
418
  );
416
419
  err.name = 'Invariant Violation';
417
420
  throw err;
@@ -470,9 +473,9 @@ var ReactIs$3 = reactIs$1.exports;
470
473
  var assign$1 = objectAssign$1;
471
474
 
472
475
  var ReactPropTypesSecret$5 = ReactPropTypesSecret_1$1;
476
+ var has$2 = has$4;
473
477
  var checkPropTypes$2 = checkPropTypes_1$1;
474
478
 
475
- var has$2 = Function.call.bind(Object.prototype.hasOwnProperty);
476
479
  var printWarning$3 = function() {};
477
480
 
478
481
  if (process.env.NODE_ENV !== 'production') {
@@ -573,6 +576,7 @@ var factoryWithTypeCheckers$1 = function(isValidElement, throwOnDirectAccess) {
573
576
  // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.
574
577
  var ReactPropTypes = {
575
578
  array: createPrimitiveTypeChecker('array'),
579
+ bigint: createPrimitiveTypeChecker('bigint'),
576
580
  bool: createPrimitiveTypeChecker('boolean'),
577
581
  func: createPrimitiveTypeChecker('function'),
578
582
  number: createPrimitiveTypeChecker('number'),
@@ -618,8 +622,9 @@ var factoryWithTypeCheckers$1 = function(isValidElement, throwOnDirectAccess) {
618
622
  * is prohibitively expensive if they are created too often, such as what
619
623
  * happens in oneOfType() for any type before the one that matched.
620
624
  */
621
- function PropTypeError(message) {
625
+ function PropTypeError(message, data) {
622
626
  this.message = message;
627
+ this.data = data && typeof data === 'object' ? data: {};
623
628
  this.stack = '';
624
629
  }
625
630
  // Make `instanceof Error` still work for returned errors.
@@ -654,7 +659,7 @@ var factoryWithTypeCheckers$1 = function(isValidElement, throwOnDirectAccess) {
654
659
  ) {
655
660
  printWarning$3(
656
661
  'You are manually calling a React.PropTypes validation ' +
657
- 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +
662
+ 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +
658
663
  'and will throw in the standalone `prop-types` package. ' +
659
664
  'You may be seeing this warning due to a third-party PropTypes ' +
660
665
  'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'
@@ -693,7 +698,10 @@ var factoryWithTypeCheckers$1 = function(isValidElement, throwOnDirectAccess) {
693
698
  // 'of type `object`'.
694
699
  var preciseType = getPreciseType(propValue);
695
700
 
696
- return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));
701
+ return new PropTypeError(
702
+ 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),
703
+ {expectedType: expectedType}
704
+ );
697
705
  }
698
706
  return null;
699
707
  }
@@ -837,14 +845,19 @@ var factoryWithTypeCheckers$1 = function(isValidElement, throwOnDirectAccess) {
837
845
  }
838
846
 
839
847
  function validate(props, propName, componentName, location, propFullName) {
848
+ var expectedTypes = [];
840
849
  for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
841
850
  var checker = arrayOfTypeCheckers[i];
842
- if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret$5) == null) {
851
+ var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret$5);
852
+ if (checkerResult == null) {
843
853
  return null;
844
854
  }
855
+ if (checkerResult.data.hasOwnProperty('expectedType')) {
856
+ expectedTypes.push(checkerResult.data.expectedType);
857
+ }
845
858
  }
846
-
847
- return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));
859
+ var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';
860
+ return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));
848
861
  }
849
862
  return createChainableTypeChecker(validate);
850
863
  }
@@ -859,6 +872,13 @@ var factoryWithTypeCheckers$1 = function(isValidElement, throwOnDirectAccess) {
859
872
  return createChainableTypeChecker(validate);
860
873
  }
861
874
 
875
+ function invalidValidatorError(componentName, location, propFullName, key, type) {
876
+ return new PropTypeError(
877
+ (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +
878
+ 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'
879
+ );
880
+ }
881
+
862
882
  function createShapeTypeChecker(shapeTypes) {
863
883
  function validate(props, propName, componentName, location, propFullName) {
864
884
  var propValue = props[propName];
@@ -868,8 +888,8 @@ var factoryWithTypeCheckers$1 = function(isValidElement, throwOnDirectAccess) {
868
888
  }
869
889
  for (var key in shapeTypes) {
870
890
  var checker = shapeTypes[key];
871
- if (!checker) {
872
- continue;
891
+ if (typeof checker !== 'function') {
892
+ return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
873
893
  }
874
894
  var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret$5);
875
895
  if (error) {
@@ -888,16 +908,18 @@ var factoryWithTypeCheckers$1 = function(isValidElement, throwOnDirectAccess) {
888
908
  if (propType !== 'object') {
889
909
  return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
890
910
  }
891
- // We need to check all keys in case some are required but missing from
892
- // props.
911
+ // We need to check all keys in case some are required but missing from props.
893
912
  var allKeys = assign$1({}, props[propName], shapeTypes);
894
913
  for (var key in allKeys) {
895
914
  var checker = shapeTypes[key];
915
+ if (has$2(shapeTypes, key) && typeof checker !== 'function') {
916
+ return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
917
+ }
896
918
  if (!checker) {
897
919
  return new PropTypeError(
898
920
  'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +
899
921
  '\nBad object: ' + JSON.stringify(props[propName], null, ' ') +
900
- '\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')
922
+ '\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')
901
923
  );
902
924
  }
903
925
  var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret$5);
@@ -1082,6 +1104,7 @@ var factoryWithThrowingShims$1 = function() {
1082
1104
  // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.
1083
1105
  var ReactPropTypes = {
1084
1106
  array: shim,
1107
+ bigint: shim,
1085
1108
  bool: shim,
1086
1109
  func: shim,
1087
1110
  number: shim,
@@ -2360,6 +2383,7 @@ CSSTransition.propTypes = process.env.NODE_ENV !== "production" ? _extends({}, T
2360
2383
  var CSSTransition$1 = CSSTransition;
2361
2384
 
2362
2385
  // code borrowed from https://github.com/reach/reach-ui
2386
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2363
2387
  function useForkedRef() {
2364
2388
  var refs = [];
2365
2389
  for (var _i = 0; _i < arguments.length; _i++) {
@@ -2369,6 +2393,7 @@ function useForkedRef() {
2369
2393
  if (refs.every(function (ref) { return ref == null; })) {
2370
2394
  return null;
2371
2395
  }
2396
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2372
2397
  return function (node) {
2373
2398
  refs.forEach(function (ref) {
2374
2399
  assignRef(ref, node);
@@ -2376,7 +2401,10 @@ function useForkedRef() {
2376
2401
  };
2377
2402
  }, refs);
2378
2403
  }
2379
- function assignRef(ref, value) {
2404
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2405
+ function assignRef(ref,
2406
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2407
+ value) {
2380
2408
  if (ref == null)
2381
2409
  return;
2382
2410
  if (isFunction(ref)) {
@@ -2387,17 +2415,19 @@ function assignRef(ref, value) {
2387
2415
  ref.current = value;
2388
2416
  }
2389
2417
  catch (error) {
2390
- throw new Error("Cannot assign value \"" + value + "\" to ref \"" + ref + "\"");
2418
+ throw new Error("Cannot assign value \"".concat(value, "\" to ref \"").concat(ref, "\""));
2391
2419
  }
2392
2420
  }
2393
2421
  }
2422
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types
2394
2423
  function isFunction(value) {
2395
2424
  return !!(value && {}.toString.call(value) == '[object Function]');
2396
2425
  }
2397
2426
 
2398
2427
  var CCollapse = forwardRef(function (_a, ref) {
2399
- var children = _a.children, className = _a.className, onHide = _a.onHide, onShow = _a.onShow, visible = _a.visible, rest = __rest$1(_a, ["children", "className", "onHide", "onShow", "visible"]);
2428
+ var children = _a.children, className = _a.className, horizontal = _a.horizontal, onHide = _a.onHide, onShow = _a.onShow, visible = _a.visible, rest = __rest$1(_a, ["children", "className", "horizontal", "onHide", "onShow", "visible"]);
2400
2429
  var _b = useState(), height = _b[0], setHeight = _b[1];
2430
+ var _c = useState(), width = _c[0], setWidth = _c[1];
2401
2431
  var collapseRef = useRef(null);
2402
2432
  var forkedRef = useForkedRef(ref, collapseRef);
2403
2433
  var getTransitionClass = function (state) {
@@ -2411,31 +2441,55 @@ var CCollapse = forwardRef(function (_a, ref) {
2411
2441
  };
2412
2442
  var onEntering = function () {
2413
2443
  onShow && onShow();
2444
+ if (horizontal) {
2445
+ collapseRef.current && setWidth(collapseRef.current.scrollWidth);
2446
+ return;
2447
+ }
2414
2448
  collapseRef.current && setHeight(collapseRef.current.scrollHeight);
2415
2449
  };
2416
2450
  var onEntered = function () {
2451
+ if (horizontal) {
2452
+ setWidth(0);
2453
+ return;
2454
+ }
2417
2455
  setHeight(0);
2418
2456
  };
2419
2457
  var onExit = function () {
2458
+ if (horizontal) {
2459
+ collapseRef.current && setWidth(collapseRef.current.scrollWidth);
2460
+ return;
2461
+ }
2420
2462
  collapseRef.current && setHeight(collapseRef.current.scrollHeight);
2421
2463
  };
2422
2464
  var onExiting = function () {
2423
2465
  onHide && onHide();
2466
+ if (horizontal) {
2467
+ setWidth(0);
2468
+ return;
2469
+ }
2424
2470
  setHeight(0);
2425
2471
  };
2426
2472
  var onExited = function () {
2473
+ if (horizontal) {
2474
+ setWidth(0);
2475
+ return;
2476
+ }
2427
2477
  setHeight(0);
2428
2478
  };
2429
- var _className = classNames$1(className);
2479
+ var _className = classNames$1({
2480
+ 'collapse-horizontal': horizontal,
2481
+ }, className);
2430
2482
  return (React__default.createElement(CSSTransition$1, { in: visible, onEntering: onEntering, onEntered: onEntered, onExit: onExit, onExiting: onExiting, onExited: onExited, timeout: 350 }, function (state) {
2431
2483
  var transitionClass = getTransitionClass(state);
2432
2484
  var currentHeight = height === 0 ? null : { height: height };
2433
- return (React__default.createElement("div", __assign$1({ className: classNames$1(_className, transitionClass), style: __assign$1({}, currentHeight) }, rest, { ref: forkedRef }), children));
2485
+ var currentWidth = width === 0 ? null : { width: width };
2486
+ return (React__default.createElement("div", __assign$1({ className: classNames$1(_className, transitionClass), style: __assign$1(__assign$1({}, currentHeight), currentWidth) }, rest, { ref: forkedRef }), children));
2434
2487
  }));
2435
2488
  });
2436
2489
  CCollapse.propTypes = {
2437
2490
  children: PropTypes$1.node,
2438
2491
  className: PropTypes$1.string,
2492
+ horizontal: PropTypes$1.bool,
2439
2493
  onHide: PropTypes$1.func,
2440
2494
  onShow: PropTypes$1.func,
2441
2495
  visible: PropTypes$1.bool,
@@ -2571,7 +2625,7 @@ var CAlert = forwardRef(function (_a, ref) {
2571
2625
  useEffect(function () {
2572
2626
  setVisible(visible);
2573
2627
  }, [visible]);
2574
- var _className = classNames$1('alert', variant === 'solid' ? "bg-" + color + " text-white" : "alert-" + color, {
2628
+ var _className = classNames$1('alert', variant === 'solid' ? "bg-".concat(color, " text-white") : "alert-".concat(color), {
2575
2629
  'alert-dismissible fade': dismissible,
2576
2630
  }, className);
2577
2631
  var getTransitionClass = function (state) {
@@ -2642,11 +2696,11 @@ var CAvatar = forwardRef(function (_a, ref) {
2642
2696
  var _b;
2643
2697
  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$1(_a, ["children", "className", "color", "shape", "size", "src", "status", "textColor"]);
2644
2698
  var _className = classNames$1('avatar', (_b = {},
2645
- _b["bg-" + color] = color,
2646
- _b["avatar-" + size] = size,
2647
- _b["text-" + textColor] = textColor,
2699
+ _b["bg-".concat(color)] = color,
2700
+ _b["avatar-".concat(size)] = size,
2701
+ _b["text-".concat(textColor)] = textColor,
2648
2702
  _b), shape, className);
2649
- var statusClassName = status && classNames$1('avatar-status', "bg-" + status);
2703
+ var statusClassName = status && classNames$1('avatar-status', "bg-".concat(status));
2650
2704
  return (React__default.createElement("div", __assign$1({ className: _className }, rest, { ref: ref }),
2651
2705
  src ? React__default.createElement("img", { src: src, className: "avatar-img" }) : children,
2652
2706
  status && React__default.createElement("span", { className: statusClassName })));
@@ -2667,14 +2721,14 @@ var CBadge = forwardRef(function (_a, ref) {
2667
2721
  var _b;
2668
2722
  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$1(_a, ["children", "className", "color", "component", "position", "shape", "size", "textColor"]);
2669
2723
  var _className = classNames$1('badge', (_b = {},
2670
- _b["bg-" + color] = color,
2724
+ _b["bg-".concat(color)] = color,
2671
2725
  _b['position-absolute translate-middle'] = position,
2672
2726
  _b['top-0'] = position === null || position === void 0 ? void 0 : position.includes('top'),
2673
2727
  _b['top-100'] = position === null || position === void 0 ? void 0 : position.includes('bottom'),
2674
2728
  _b['start-100'] = position === null || position === void 0 ? void 0 : position.includes('end'),
2675
2729
  _b['start-0'] = position === null || position === void 0 ? void 0 : position.includes('start'),
2676
- _b["badge-" + size] = size,
2677
- _b["text-" + textColor] = textColor,
2730
+ _b["badge-".concat(size)] = size,
2731
+ _b["text-".concat(textColor)] = textColor,
2678
2732
  _b), shape, className);
2679
2733
  return (React__default.createElement(Component, __assign$1({ className: _className }, rest, { ref: ref }), children));
2680
2734
  });
@@ -2737,7 +2791,7 @@ CBreadcrumbItem.displayName = 'CBreadcrumbItem';
2737
2791
  var CButton = forwardRef(function (_a, ref) {
2738
2792
  var _b;
2739
2793
  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$1(_a, ["children", "className", "color", "component", "shape", "size", "type", "variant"]);
2740
- var _className = classNames$1('btn', variant ? "btn-" + variant + "-" + color : "btn-" + color, (_b = {}, _b["btn-" + size] = size, _b), shape, className);
2794
+ var _className = classNames$1('btn', variant ? "btn-".concat(variant, "-").concat(color) : "btn-".concat(color), (_b = {}, _b["btn-".concat(size)] = size, _b), shape, className);
2741
2795
  return (React__default.createElement(CLink, __assign$1({ component: rest.href ? 'a' : component, type: type, className: _className }, rest, { ref: ref }), children));
2742
2796
  });
2743
2797
  CButton.propTypes = {
@@ -2755,7 +2809,7 @@ CButton.displayName = 'CButton';
2755
2809
  var CButtonGroup = forwardRef(function (_a, ref) {
2756
2810
  var _b;
2757
2811
  var children = _a.children, className = _a.className, size = _a.size, vertical = _a.vertical, rest = __rest$1(_a, ["children", "className", "size", "vertical"]);
2758
- var _className = classNames$1(vertical ? 'btn-group-vertical' : 'btn-group', (_b = {}, _b["btn-group-" + size] = size, _b), className);
2812
+ var _className = classNames$1(vertical ? 'btn-group-vertical' : 'btn-group', (_b = {}, _b["btn-group-".concat(size)] = size, _b), className);
2759
2813
  return (React__default.createElement("div", __assign$1({ className: _className }, rest, { ref: ref }), children));
2760
2814
  });
2761
2815
  CButtonGroup.propTypes = {
@@ -2781,7 +2835,7 @@ var CCallout = forwardRef(function (_a, ref) {
2781
2835
  var _b;
2782
2836
  var children = _a.children, className = _a.className, color = _a.color, rest = __rest$1(_a, ["children", "className", "color"]);
2783
2837
  var _className = classNames$1('callout', (_b = {},
2784
- _b["callout-" + color] = color,
2838
+ _b["callout-".concat(color)] = color,
2785
2839
  _b), className);
2786
2840
  return (React__default.createElement("div", __assign$1({ className: _className }, rest, { ref: ref }), children));
2787
2841
  });
@@ -2796,8 +2850,8 @@ var CCard = forwardRef(function (_a, ref) {
2796
2850
  var _b;
2797
2851
  var children = _a.children, className = _a.className, color = _a.color, textColor = _a.textColor, rest = __rest$1(_a, ["children", "className", "color", "textColor"]);
2798
2852
  var _className = classNames$1('card', (_b = {},
2799
- _b["bg-" + color] = color,
2800
- _b["text-" + textColor] = textColor,
2853
+ _b["bg-".concat(color)] = color,
2854
+ _b["text-".concat(textColor)] = textColor,
2801
2855
  _b), className);
2802
2856
  return (React__default.createElement("div", __assign$1({ className: _className }, rest, { ref: ref }), children));
2803
2857
  });
@@ -2856,7 +2910,7 @@ CCardHeader.displayName = 'CCardHeader';
2856
2910
 
2857
2911
  var CCardImage = forwardRef(function (_a, ref) {
2858
2912
  var children = _a.children, className = _a.className, _b = _a.component, Component = _b === void 0 ? 'img' : _b, orientation = _a.orientation, rest = __rest$1(_a, ["children", "className", "component", "orientation"]);
2859
- var _className = classNames$1(orientation ? "card-img-" + orientation : 'card-img', className);
2913
+ var _className = classNames$1(orientation ? "card-img-".concat(orientation) : 'card-img', className);
2860
2914
  return (React__default.createElement(Component, __assign$1({ className: _className }, rest, { ref: ref }), children));
2861
2915
  });
2862
2916
  CCardImage.propTypes = {
@@ -3022,7 +3076,7 @@ var CCarousel = forwardRef(function (_a, ref) {
3022
3076
  setCustomInterval: setCustomInterval,
3023
3077
  } },
3024
3078
  indicators && (React__default.createElement("ol", { className: "carousel-indicators" }, Array.from({ length: itemsNumber }, function (_, i) { return i; }).map(function (index) {
3025
- return (React__default.createElement("li", { key: "indicator" + index, onClick: function () {
3079
+ return (React__default.createElement("li", { key: "indicator".concat(index), onClick: function () {
3026
3080
  !animating && handleIndicatorClick(index);
3027
3081
  }, className: active === index ? 'active' : '', "data-coreui-target": "" }));
3028
3082
  }))),
@@ -3082,7 +3136,7 @@ var CCarouselItem = forwardRef(function (_a, ref) {
3082
3136
  if (active) {
3083
3137
  setCustomInterval(interval);
3084
3138
  if (count !== 0)
3085
- setOrderClassName("carousel-item-" + direction);
3139
+ setOrderClassName("carousel-item-".concat(direction));
3086
3140
  }
3087
3141
  if (prevActive.current && !active) {
3088
3142
  setActiveClassName('active');
@@ -3094,7 +3148,7 @@ var CCarouselItem = forwardRef(function (_a, ref) {
3094
3148
  // @ts-expect-error reflow is necessary to proper transition
3095
3149
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
3096
3150
  (_a = carouselItemRef.current) === null || _a === void 0 ? void 0 : _a.offsetHeight;
3097
- setDirectionClassName("carousel-item-" + (direction === 'next' ? 'start' : 'end'));
3151
+ setDirectionClassName("carousel-item-".concat(direction === 'next' ? 'start' : 'end'));
3098
3152
  }
3099
3153
  }, 0);
3100
3154
  }
@@ -3383,29 +3437,32 @@ function getBasePlacement(placement) {
3383
3437
  return placement.split('-')[0];
3384
3438
  }
3385
3439
 
3386
- // import { isHTMLElement } from './instanceOf';
3387
- function getBoundingClientRect(element, // eslint-disable-next-line unused-imports/no-unused-vars
3388
- includeScale) {
3440
+ var max = Math.max;
3441
+ var min = Math.min;
3442
+ var round = Math.round;
3443
+
3444
+ function getBoundingClientRect(element, includeScale) {
3445
+ if (includeScale === void 0) {
3446
+ includeScale = false;
3447
+ }
3389
3448
 
3390
3449
  var rect = element.getBoundingClientRect();
3391
3450
  var scaleX = 1;
3392
- var scaleY = 1; // FIXME:
3393
- // `offsetWidth` returns an integer while `getBoundingClientRect`
3394
- // returns a float. This results in `scaleX` or `scaleY` being
3395
- // non-1 when it should be for elements that aren't a full pixel in
3396
- // width or height.
3397
- // if (isHTMLElement(element) && includeScale) {
3398
- // const offsetHeight = element.offsetHeight;
3399
- // const offsetWidth = element.offsetWidth;
3400
- // // Do not attempt to divide by 0, otherwise we get `Infinity` as scale
3401
- // // Fallback to 1 in case both values are `0`
3402
- // if (offsetWidth > 0) {
3403
- // scaleX = rect.width / offsetWidth || 1;
3404
- // }
3405
- // if (offsetHeight > 0) {
3406
- // scaleY = rect.height / offsetHeight || 1;
3407
- // }
3408
- // }
3451
+ var scaleY = 1;
3452
+
3453
+ if (isHTMLElement(element) && includeScale) {
3454
+ var offsetHeight = element.offsetHeight;
3455
+ var offsetWidth = element.offsetWidth; // Do not attempt to divide by 0, otherwise we get `Infinity` as scale
3456
+ // Fallback to 1 in case both values are `0`
3457
+
3458
+ if (offsetWidth > 0) {
3459
+ scaleX = round(rect.width) / offsetWidth || 1;
3460
+ }
3461
+
3462
+ if (offsetHeight > 0) {
3463
+ scaleY = round(rect.height) / offsetHeight || 1;
3464
+ }
3465
+ }
3409
3466
 
3410
3467
  return {
3411
3468
  width: rect.width / scaleX,
@@ -3560,13 +3617,13 @@ function getMainAxisFromPlacement(placement) {
3560
3617
  return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';
3561
3618
  }
3562
3619
 
3563
- var max = Math.max;
3564
- var min = Math.min;
3565
- var round = Math.round;
3566
-
3567
3620
  function within(min$1, value, max$1) {
3568
3621
  return max(min$1, min(value, max$1));
3569
3622
  }
3623
+ function withinMaxClamp(min, value, max) {
3624
+ var v = within(min, value, max);
3625
+ return v > max ? max : v;
3626
+ }
3570
3627
 
3571
3628
  function getFreshSideObject() {
3572
3629
  return {
@@ -3698,8 +3755,8 @@ function roundOffsetsByDPR(_ref) {
3698
3755
  var win = window;
3699
3756
  var dpr = win.devicePixelRatio || 1;
3700
3757
  return {
3701
- x: round(round(x * dpr) / dpr) || 0,
3702
- y: round(round(y * dpr) / dpr) || 0
3758
+ x: round(x * dpr) / dpr || 0,
3759
+ y: round(y * dpr) / dpr || 0
3703
3760
  };
3704
3761
  }
3705
3762
 
@@ -3714,7 +3771,8 @@ function mapToStyles(_ref2) {
3714
3771
  position = _ref2.position,
3715
3772
  gpuAcceleration = _ref2.gpuAcceleration,
3716
3773
  adaptive = _ref2.adaptive,
3717
- roundOffsets = _ref2.roundOffsets;
3774
+ roundOffsets = _ref2.roundOffsets,
3775
+ isFixed = _ref2.isFixed;
3718
3776
 
3719
3777
  var _ref3 = roundOffsets === true ? roundOffsetsByDPR(offsets) : typeof roundOffsets === 'function' ? roundOffsets(offsets) : offsets,
3720
3778
  _ref3$x = _ref3.x,
@@ -3746,16 +3804,18 @@ function mapToStyles(_ref2) {
3746
3804
  offsetParent = offsetParent;
3747
3805
 
3748
3806
  if (placement === top || (placement === left || placement === right) && variation === end) {
3749
- sideY = bottom; // $FlowFixMe[prop-missing]
3750
-
3751
- y -= offsetParent[heightProp] - popperRect.height;
3807
+ sideY = bottom;
3808
+ var offsetY = isFixed && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]
3809
+ offsetParent[heightProp];
3810
+ y -= offsetY - popperRect.height;
3752
3811
  y *= gpuAcceleration ? 1 : -1;
3753
3812
  }
3754
3813
 
3755
3814
  if (placement === left || (placement === top || placement === bottom) && variation === end) {
3756
- sideX = right; // $FlowFixMe[prop-missing]
3757
-
3758
- x -= offsetParent[widthProp] - popperRect.width;
3815
+ sideX = right;
3816
+ var offsetX = isFixed && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]
3817
+ offsetParent[widthProp];
3818
+ x -= offsetX - popperRect.width;
3759
3819
  x *= gpuAcceleration ? 1 : -1;
3760
3820
  }
3761
3821
  }
@@ -3798,7 +3858,8 @@ function computeStyles(_ref4) {
3798
3858
  variation: getVariation(state.placement),
3799
3859
  popper: state.elements.popper,
3800
3860
  popperRect: state.rects.popper,
3801
- gpuAcceleration: gpuAcceleration
3861
+ gpuAcceleration: gpuAcceleration,
3862
+ isFixed: state.options.strategy === 'fixed'
3802
3863
  };
3803
3864
 
3804
3865
  if (state.modifiersData.popperOffsets != null) {
@@ -4056,7 +4117,7 @@ function getInnerBoundingClientRect(element) {
4056
4117
  }
4057
4118
 
4058
4119
  function getClientRectFromMixedType(element, clippingParent) {
4059
- return clippingParent === viewport ? rectToClientRect(getViewportRect(element)) : isHTMLElement(clippingParent) ? getInnerBoundingClientRect(clippingParent) : rectToClientRect(getDocumentRect(getDocumentElement(element)));
4120
+ return clippingParent === viewport ? rectToClientRect(getViewportRect(element)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent) : rectToClientRect(getDocumentRect(getDocumentElement(element)));
4060
4121
  } // A "clipping parent" is an overflowable container with the characteristic of
4061
4122
  // clipping (or hiding) overflowing elements with a position different from
4062
4123
  // `initial`
@@ -4073,7 +4134,7 @@ function getClippingParents(element) {
4073
4134
 
4074
4135
 
4075
4136
  return clippingParents.filter(function (clippingParent) {
4076
- return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';
4137
+ return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body' && (canEscapeClipping ? getComputedStyle$1(clippingParent).position !== 'static' : true);
4077
4138
  });
4078
4139
  } // Gets the maximum area that the element is visible in due to any number of
4079
4140
  // clipping parents
@@ -4573,6 +4634,14 @@ function preventOverflow(_ref) {
4573
4634
  var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {
4574
4635
  placement: state.placement
4575
4636
  })) : tetherOffset;
4637
+ var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {
4638
+ mainAxis: tetherOffsetValue,
4639
+ altAxis: tetherOffsetValue
4640
+ } : Object.assign({
4641
+ mainAxis: 0,
4642
+ altAxis: 0
4643
+ }, tetherOffsetValue);
4644
+ var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;
4576
4645
  var data = {
4577
4646
  x: 0,
4578
4647
  y: 0
@@ -4582,13 +4651,15 @@ function preventOverflow(_ref) {
4582
4651
  return;
4583
4652
  }
4584
4653
 
4585
- if (checkMainAxis || checkAltAxis) {
4654
+ if (checkMainAxis) {
4655
+ var _offsetModifierState$;
4656
+
4586
4657
  var mainSide = mainAxis === 'y' ? top : left;
4587
4658
  var altSide = mainAxis === 'y' ? bottom : right;
4588
4659
  var len = mainAxis === 'y' ? 'height' : 'width';
4589
4660
  var offset = popperOffsets[mainAxis];
4590
- var min$1 = popperOffsets[mainAxis] + overflow[mainSide];
4591
- var max$1 = popperOffsets[mainAxis] - overflow[altSide];
4661
+ var min$1 = offset + overflow[mainSide];
4662
+ var max$1 = offset - overflow[altSide];
4592
4663
  var additive = tether ? -popperRect[len] / 2 : 0;
4593
4664
  var minLen = variation === start ? referenceRect[len] : popperRect[len];
4594
4665
  var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go
@@ -4608,36 +4679,45 @@ function preventOverflow(_ref) {
4608
4679
  // width or height)
4609
4680
 
4610
4681
  var arrowLen = within(0, referenceRect[len], arrowRect[len]);
4611
- var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - tetherOffsetValue : minLen - arrowLen - arrowPaddingMin - tetherOffsetValue;
4612
- var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + tetherOffsetValue : maxLen + arrowLen + arrowPaddingMax + tetherOffsetValue;
4682
+ var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;
4683
+ var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;
4613
4684
  var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);
4614
4685
  var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;
4615
- var offsetModifierValue = state.modifiersData.offset ? state.modifiersData.offset[state.placement][mainAxis] : 0;
4616
- var tetherMin = popperOffsets[mainAxis] + minOffset - offsetModifierValue - clientOffset;
4617
- var tetherMax = popperOffsets[mainAxis] + maxOffset - offsetModifierValue;
4686
+ var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;
4687
+ var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;
4688
+ var tetherMax = offset + maxOffset - offsetModifierValue;
4689
+ var preventedOffset = within(tether ? min(min$1, tetherMin) : min$1, offset, tether ? max(max$1, tetherMax) : max$1);
4690
+ popperOffsets[mainAxis] = preventedOffset;
4691
+ data[mainAxis] = preventedOffset - offset;
4692
+ }
4618
4693
 
4619
- if (checkMainAxis) {
4620
- var preventedOffset = within(tether ? min(min$1, tetherMin) : min$1, offset, tether ? max(max$1, tetherMax) : max$1);
4621
- popperOffsets[mainAxis] = preventedOffset;
4622
- data[mainAxis] = preventedOffset - offset;
4623
- }
4694
+ if (checkAltAxis) {
4695
+ var _offsetModifierState$2;
4624
4696
 
4625
- if (checkAltAxis) {
4626
- var _mainSide = mainAxis === 'x' ? top : left;
4697
+ var _mainSide = mainAxis === 'x' ? top : left;
4627
4698
 
4628
- var _altSide = mainAxis === 'x' ? bottom : right;
4699
+ var _altSide = mainAxis === 'x' ? bottom : right;
4629
4700
 
4630
- var _offset = popperOffsets[altAxis];
4701
+ var _offset = popperOffsets[altAxis];
4631
4702
 
4632
- var _min = _offset + overflow[_mainSide];
4703
+ var _len = altAxis === 'y' ? 'height' : 'width';
4633
4704
 
4634
- var _max = _offset - overflow[_altSide];
4705
+ var _min = _offset + overflow[_mainSide];
4635
4706
 
4636
- var _preventedOffset = within(tether ? min(_min, tetherMin) : _min, _offset, tether ? max(_max, tetherMax) : _max);
4707
+ var _max = _offset - overflow[_altSide];
4637
4708
 
4638
- popperOffsets[altAxis] = _preventedOffset;
4639
- data[altAxis] = _preventedOffset - _offset;
4640
- }
4709
+ var isOriginSide = [top, left].indexOf(basePlacement) !== -1;
4710
+
4711
+ var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;
4712
+
4713
+ var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;
4714
+
4715
+ var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;
4716
+
4717
+ var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);
4718
+
4719
+ popperOffsets[altAxis] = _preventedOffset;
4720
+ data[altAxis] = _preventedOffset - _offset;
4641
4721
  }
4642
4722
 
4643
4723
  state.modifiersData[name] = data;
@@ -4669,8 +4749,8 @@ function getNodeScroll(node) {
4669
4749
 
4670
4750
  function isElementScaled(element) {
4671
4751
  var rect = element.getBoundingClientRect();
4672
- var scaleX = rect.width / element.offsetWidth || 1;
4673
- var scaleY = rect.height / element.offsetHeight || 1;
4752
+ var scaleX = round(rect.width) / element.offsetWidth || 1;
4753
+ var scaleY = round(rect.height) / element.offsetHeight || 1;
4674
4754
  return scaleX !== 1 || scaleY !== 1;
4675
4755
  } // Returns the composite rect of an element relative to its offsetParent.
4676
4756
  // Composite means it takes into account transforms as well as layout.
@@ -4682,9 +4762,9 @@ function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {
4682
4762
  }
4683
4763
 
4684
4764
  var isOffsetParentAnElement = isHTMLElement(offsetParent);
4685
- isHTMLElement(offsetParent) && isElementScaled(offsetParent);
4765
+ var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);
4686
4766
  var documentElement = getDocumentElement(offsetParent);
4687
- var rect = getBoundingClientRect(elementOrVirtualElement);
4767
+ var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled);
4688
4768
  var scroll = {
4689
4769
  scrollLeft: 0,
4690
4770
  scrollTop: 0
@@ -4701,7 +4781,7 @@ function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {
4701
4781
  }
4702
4782
 
4703
4783
  if (isHTMLElement(offsetParent)) {
4704
- offsets = getBoundingClientRect(offsetParent);
4784
+ offsets = getBoundingClientRect(offsetParent, true);
4705
4785
  offsets.x += offsetParent.clientLeft;
4706
4786
  offsets.y += offsetParent.clientTop;
4707
4787
  } else if (documentElement) {
@@ -5679,11 +5759,11 @@ var CDropdownMenu = function (_a) {
5679
5759
  var classNames = [];
5680
5760
  if (typeof alignment === 'object') {
5681
5761
  Object.keys(alignment).map(function (key) {
5682
- classNames.push("dropdown-menu" + (key === 'xs' ? '' : "-" + key) + "-" + alignment[key]);
5762
+ classNames.push("dropdown-menu".concat(key === 'xs' ? '' : "-".concat(key), "-").concat(alignment[key]));
5683
5763
  });
5684
5764
  }
5685
5765
  if (typeof alignment === 'string') {
5686
- classNames.push("dropdown-menu-" + alignment);
5766
+ classNames.push("dropdown-menu-".concat(alignment));
5687
5767
  }
5688
5768
  return classNames;
5689
5769
  };
@@ -5752,7 +5832,7 @@ CDropdownToggle.propTypes = {
5752
5832
  };
5753
5833
  CDropdownToggle.displayName = 'CDropdownToggle';
5754
5834
 
5755
- var BREAKPOINTS$2 = [
5835
+ var BREAKPOINTS$3 = [
5756
5836
  'xxl',
5757
5837
  'xl',
5758
5838
  'lg',
@@ -5762,33 +5842,33 @@ var BREAKPOINTS$2 = [
5762
5842
  ];
5763
5843
  var CCol = forwardRef(function (_a, ref) {
5764
5844
  var children = _a.children, className = _a.className, rest = __rest$1(_a, ["children", "className"]);
5765
- var repsonsiveCLassNames = [];
5766
- BREAKPOINTS$2.forEach(function (bp) {
5845
+ var repsonsiveClassNames = [];
5846
+ BREAKPOINTS$3.forEach(function (bp) {
5767
5847
  var breakpoint = rest[bp];
5768
5848
  delete rest[bp];
5769
- var infix = bp === 'xs' ? '' : "-" + bp;
5849
+ var infix = bp === 'xs' ? '' : "-".concat(bp);
5770
5850
  if (typeof breakpoint === 'number' || typeof breakpoint === 'string') {
5771
- repsonsiveCLassNames.push("col" + infix + "-" + breakpoint);
5851
+ repsonsiveClassNames.push("col".concat(infix, "-").concat(breakpoint));
5772
5852
  }
5773
5853
  if (typeof breakpoint === 'boolean') {
5774
- repsonsiveCLassNames.push("col" + infix);
5854
+ repsonsiveClassNames.push("col".concat(infix));
5775
5855
  }
5776
5856
  if (breakpoint && typeof breakpoint === 'object') {
5777
5857
  if (typeof breakpoint.span === 'number' || typeof breakpoint.span === 'string') {
5778
- repsonsiveCLassNames.push("col" + infix + "-" + breakpoint.span);
5858
+ repsonsiveClassNames.push("col".concat(infix, "-").concat(breakpoint.span));
5779
5859
  }
5780
5860
  if (typeof breakpoint.span === 'boolean') {
5781
- repsonsiveCLassNames.push("col" + infix);
5861
+ repsonsiveClassNames.push("col".concat(infix));
5782
5862
  }
5783
5863
  if (typeof breakpoint.order === 'number' || typeof breakpoint.order === 'string') {
5784
- repsonsiveCLassNames.push("order" + infix + "-" + breakpoint.order);
5864
+ repsonsiveClassNames.push("order".concat(infix, "-").concat(breakpoint.order));
5785
5865
  }
5786
5866
  if (typeof breakpoint.offset === 'number') {
5787
- repsonsiveCLassNames.push("offset" + infix + "-" + breakpoint.offset);
5867
+ repsonsiveClassNames.push("offset".concat(infix, "-").concat(breakpoint.offset));
5788
5868
  }
5789
5869
  }
5790
5870
  });
5791
- var _className = classNames$1(repsonsiveCLassNames.length ? repsonsiveCLassNames : 'col', className);
5871
+ var _className = classNames$1(repsonsiveClassNames.length ? repsonsiveClassNames : 'col', className);
5792
5872
  return (React__default.createElement("div", __assign$1({ className: _className }, rest, { ref: ref }), children));
5793
5873
  });
5794
5874
  var span = PropTypes$1.oneOfType([
@@ -5817,7 +5897,7 @@ CCol.propTypes = {
5817
5897
  };
5818
5898
  CCol.displayName = 'CCol';
5819
5899
 
5820
- var BREAKPOINTS$1 = [
5900
+ var BREAKPOINTS$2 = [
5821
5901
  'xxl',
5822
5902
  'xl',
5823
5903
  'lg',
@@ -5827,13 +5907,13 @@ var BREAKPOINTS$1 = [
5827
5907
  ];
5828
5908
  var CContainer = forwardRef(function (_a, ref) {
5829
5909
  var children = _a.children, className = _a.className, rest = __rest$1(_a, ["children", "className"]);
5830
- var repsonsiveCLassNames = [];
5831
- BREAKPOINTS$1.forEach(function (bp) {
5910
+ var repsonsiveClassNames = [];
5911
+ BREAKPOINTS$2.forEach(function (bp) {
5832
5912
  var breakpoint = rest[bp];
5833
5913
  delete rest[bp];
5834
- breakpoint && repsonsiveCLassNames.push("container-" + bp);
5914
+ breakpoint && repsonsiveClassNames.push("container-".concat(bp));
5835
5915
  });
5836
- var _className = classNames$1(repsonsiveCLassNames.length ? repsonsiveCLassNames : 'container', className);
5916
+ var _className = classNames$1(repsonsiveClassNames.length ? repsonsiveClassNames : 'container', className);
5837
5917
  return (React__default.createElement("div", __assign$1({ className: _className }, rest, { ref: ref }), children));
5838
5918
  });
5839
5919
  CContainer.propTypes = {
@@ -5848,7 +5928,7 @@ CContainer.propTypes = {
5848
5928
  };
5849
5929
  CContainer.displayName = 'CContainer';
5850
5930
 
5851
- var BREAKPOINTS = [
5931
+ var BREAKPOINTS$1 = [
5852
5932
  'xxl',
5853
5933
  'xl',
5854
5934
  'lg',
@@ -5858,27 +5938,27 @@ var BREAKPOINTS = [
5858
5938
  ];
5859
5939
  var CRow = forwardRef(function (_a, ref) {
5860
5940
  var children = _a.children, className = _a.className, rest = __rest$1(_a, ["children", "className"]);
5861
- var repsonsiveCLassNames = [];
5862
- BREAKPOINTS.forEach(function (bp) {
5941
+ var repsonsiveClassNames = [];
5942
+ BREAKPOINTS$1.forEach(function (bp) {
5863
5943
  var breakpoint = rest[bp];
5864
5944
  delete rest[bp];
5865
- var infix = bp === 'xs' ? '' : "-" + bp;
5945
+ var infix = bp === 'xs' ? '' : "-".concat(bp);
5866
5946
  if (typeof breakpoint === 'object') {
5867
5947
  if (breakpoint.cols) {
5868
- repsonsiveCLassNames.push("row-cols" + infix + "-" + breakpoint.cols);
5948
+ repsonsiveClassNames.push("row-cols".concat(infix, "-").concat(breakpoint.cols));
5869
5949
  }
5870
5950
  if (typeof breakpoint.gutter === 'number') {
5871
- repsonsiveCLassNames.push("g" + infix + "-" + breakpoint.gutter);
5951
+ repsonsiveClassNames.push("g".concat(infix, "-").concat(breakpoint.gutter));
5872
5952
  }
5873
5953
  if (typeof breakpoint.gutterX === 'number') {
5874
- repsonsiveCLassNames.push("gx" + infix + "-" + breakpoint.gutterX);
5954
+ repsonsiveClassNames.push("gx".concat(infix, "-").concat(breakpoint.gutterX));
5875
5955
  }
5876
5956
  if (typeof breakpoint.gutterY === 'number') {
5877
- repsonsiveCLassNames.push("gy" + infix + "-" + breakpoint.gutterY);
5957
+ repsonsiveClassNames.push("gy".concat(infix, "-").concat(breakpoint.gutterY));
5878
5958
  }
5879
5959
  }
5880
5960
  });
5881
- var _className = classNames$1('row', repsonsiveCLassNames, className);
5961
+ var _className = classNames$1('row', repsonsiveClassNames, className);
5882
5962
  return (React__default.createElement("div", { className: _className, ref: ref }, children));
5883
5963
  });
5884
5964
  var bp = PropTypes$1.shape({
@@ -5902,7 +5982,7 @@ CRow.displayName = 'CRow';
5902
5982
  var CFooter = forwardRef(function (_a, ref) {
5903
5983
  var _b;
5904
5984
  var children = _a.children, className = _a.className, position = _a.position, rest = __rest$1(_a, ["children", "className", "position"]);
5905
- var _className = classNames$1('footer', (_b = {}, _b["footer-" + position] = position, _b), className);
5985
+ var _className = classNames$1('footer', (_b = {}, _b["footer-".concat(position)] = position, _b), className);
5906
5986
  return (React__default.createElement("div", __assign$1({ className: _className }, rest, { ref: ref }), children));
5907
5987
  });
5908
5988
  CFooter.propTypes = {
@@ -5938,7 +6018,14 @@ CFormLabel.displayName = 'CFormLabel';
5938
6018
 
5939
6019
  var CFormCheck = forwardRef(function (_a, ref) {
5940
6020
  var _b;
5941
- 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$1(_a, ["className", "button", "hitArea", "id", "inline", "invalid", "label", "type", "valid"]);
6021
+ 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$1(_a, ["className", "button", "hitArea", "id", "indeterminate", "inline", "invalid", "label", "type", "valid"]);
6022
+ var inputRef = useRef(null);
6023
+ var forkedRef = useForkedRef(ref, inputRef);
6024
+ useEffect(function () {
6025
+ if (inputRef.current && indeterminate) {
6026
+ inputRef.current.indeterminate = indeterminate;
6027
+ }
6028
+ }, [indeterminate]);
5942
6029
  var _className = classNames$1('form-check', {
5943
6030
  'form-check-inline': inline,
5944
6031
  'is-invalid': invalid,
@@ -5950,12 +6037,12 @@ var CFormCheck = forwardRef(function (_a, ref) {
5950
6037
  'me-2': hitArea,
5951
6038
  });
5952
6039
  var labelClassName = classNames$1(button
5953
- ? classNames$1('btn', button.variant ? "btn-" + button.variant + "-" + button.color : "btn-" + button.color, (_b = {},
5954
- _b["btn-" + button.size] = button.size,
5955
- _b), "" + button.shape)
6040
+ ? classNames$1('btn', button.variant ? "btn-".concat(button.variant, "-").concat(button.color) : "btn-".concat(button.color), (_b = {},
6041
+ _b["btn-".concat(button.size)] = button.size,
6042
+ _b), "".concat(button.shape))
5956
6043
  : 'form-check-label');
5957
6044
  var formControl = function () {
5958
- return React__default.createElement("input", __assign$1({ type: type, className: inputClassName, id: id }, rest, { ref: ref }));
6045
+ return React__default.createElement("input", __assign$1({ type: type, className: inputClassName, id: id }, rest, { ref: forkedRef }));
5959
6046
  };
5960
6047
  var formLabel = function () {
5961
6048
  return (React__default.createElement(CFormLabel, __assign$1({ customClassName: labelClassName }, (id && { htmlFor: id })), label));
@@ -5973,6 +6060,7 @@ CFormCheck.propTypes = {
5973
6060
  className: PropTypes$1.string,
5974
6061
  hitArea: PropTypes$1.oneOf(['full']),
5975
6062
  id: PropTypes$1.string,
6063
+ indeterminate: PropTypes$1.bool,
5976
6064
  inline: PropTypes$1.bool,
5977
6065
  invalid: PropTypes$1.bool,
5978
6066
  label: PropTypes$1.oneOfType([PropTypes$1.string, PropTypes$1.node]),
@@ -5985,8 +6073,8 @@ var CFormFeedback = forwardRef(function (_a, ref) {
5985
6073
  var _b;
5986
6074
  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$1(_a, ["children", "className", "component", "invalid", "tooltip", "valid"]);
5987
6075
  var _className = classNames$1((_b = {},
5988
- _b["invalid-" + (tooltip ? 'tooltip' : 'feedback')] = invalid,
5989
- _b["valid-" + (tooltip ? 'tooltip' : 'feedback')] = valid,
6076
+ _b["invalid-".concat(tooltip ? 'tooltip' : 'feedback')] = invalid,
6077
+ _b["valid-".concat(tooltip ? 'tooltip' : 'feedback')] = valid,
5990
6078
  _b), className);
5991
6079
  return (React__default.createElement(Component, __assign$1({ className: _className }, rest, { ref: ref }), children));
5992
6080
  });
@@ -6015,7 +6103,7 @@ var CFormInput = forwardRef(function (_a, ref) {
6015
6103
  var _b;
6016
6104
  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$1(_a, ["children", "className", "invalid", "plainText", "size", "type", "valid"]);
6017
6105
  var _className = classNames$1(plainText ? 'form-control-plaintext' : 'form-control', (_b = {},
6018
- _b["form-control-" + size] = size,
6106
+ _b["form-control-".concat(size)] = size,
6019
6107
  _b['form-control-color'] = type === 'color',
6020
6108
  _b['is-invalid'] = invalid,
6021
6109
  _b['is-valid'] = valid,
@@ -6045,19 +6133,25 @@ CFormRange.displayName = 'CFormRange';
6045
6133
 
6046
6134
  var CFormSelect = forwardRef(function (_a, ref) {
6047
6135
  var _b;
6048
- var children = _a.children, className = _a.className, htmlSize = _a.htmlSize, invalid = _a.invalid, size = _a.size, valid = _a.valid, rest = __rest$1(_a, ["children", "className", "htmlSize", "invalid", "size", "valid"]);
6136
+ var children = _a.children, className = _a.className, htmlSize = _a.htmlSize, invalid = _a.invalid, options = _a.options, size = _a.size, valid = _a.valid, rest = __rest$1(_a, ["children", "className", "htmlSize", "invalid", "options", "size", "valid"]);
6049
6137
  var _className = classNames$1('form-select', (_b = {},
6050
- _b["form-select-" + size] = size,
6138
+ _b["form-select-".concat(size)] = size,
6051
6139
  _b['is-invalid'] = invalid,
6052
6140
  _b['is-valid'] = valid,
6053
6141
  _b), className);
6054
- return (React__default.createElement("select", __assign$1({ className: _className, size: htmlSize }, rest, { ref: ref }), children));
6142
+ return (React__default.createElement("select", __assign$1({ className: _className, size: htmlSize }, rest, { ref: ref }), options
6143
+ ? options.map(function (option, index) {
6144
+ return (React__default.createElement("option", __assign$1({}, (typeof option === 'object' &&
6145
+ option.disabled && { disabled: option.disabled }), (typeof option === 'object' && option.value && { value: option.value }), { key: index }), typeof option === 'string' ? option : option.label));
6146
+ })
6147
+ : children));
6055
6148
  });
6056
6149
  CFormSelect.propTypes = {
6057
6150
  children: PropTypes$1.node,
6058
6151
  className: PropTypes$1.string,
6059
6152
  htmlSize: PropTypes$1.number,
6060
6153
  invalid: PropTypes$1.bool,
6154
+ options: PropTypes$1.array,
6061
6155
  size: PropTypes$1.oneOf(['sm', 'lg']),
6062
6156
  valid: PropTypes$1.bool,
6063
6157
  };
@@ -6067,7 +6161,7 @@ var CFormSwitch = forwardRef(function (_a, ref) {
6067
6161
  var _b;
6068
6162
  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$1(_a, ["className", "id", "invalid", "label", "size", "type", "valid"]);
6069
6163
  var _className = classNames$1('form-check form-switch', (_b = {},
6070
- _b["form-switch-" + size] = size,
6164
+ _b["form-switch-".concat(size)] = size,
6071
6165
  _b['is-invalid'] = invalid,
6072
6166
  _b['is-valid'] = valid,
6073
6167
  _b), className);
@@ -6124,7 +6218,7 @@ var CInputGroup = forwardRef(function (_a, ref) {
6124
6218
  var _b;
6125
6219
  var children = _a.children, className = _a.className, size = _a.size, rest = __rest$1(_a, ["children", "className", "size"]);
6126
6220
  var _className = classNames$1('input-group', (_b = {},
6127
- _b["input-group-" + size] = size,
6221
+ _b["input-group-".concat(size)] = size,
6128
6222
  _b), className);
6129
6223
  return (React__default.createElement("div", __assign$1({ className: _className }, rest, { ref: ref }), children));
6130
6224
  });
@@ -6150,10 +6244,10 @@ CInputGroupText.displayName = 'CInputGroupText';
6150
6244
  var CHeader = forwardRef(function (_a, ref) {
6151
6245
  var _b;
6152
6246
  var children = _a.children, className = _a.className, container = _a.container, position = _a.position, rest = __rest$1(_a, ["children", "className", "container", "position"]);
6153
- var _className = classNames$1('header', (_b = {}, _b["header-" + position] = position, _b), className);
6247
+ var _className = classNames$1('header', (_b = {}, _b["header-".concat(position)] = position, _b), className);
6154
6248
  var content;
6155
6249
  if (container) {
6156
- content = (React__default.createElement("div", { className: "container" + (container !== true ? '-' + container : '') }, children));
6250
+ content = (React__default.createElement("div", { className: "container".concat(container !== true ? '-' + container : '') }, children));
6157
6251
  }
6158
6252
  else {
6159
6253
  content = children;
@@ -6238,7 +6332,7 @@ var CImage = forwardRef(function (_a, ref) {
6238
6332
  var _b;
6239
6333
  var align = _a.align, className = _a.className, fluid = _a.fluid, rounded = _a.rounded, thumbnail = _a.thumbnail, rest = __rest$1(_a, ["align", "className", "fluid", "rounded", "thumbnail"]);
6240
6334
  var _className = classNames$1((_b = {},
6241
- _b["float-" + align] = align && (align === 'start' || align === 'end'),
6335
+ _b["float-".concat(align)] = align && (align === 'start' || align === 'end'),
6242
6336
  _b['d-block mx-auto'] = align && align === 'center',
6243
6337
  _b['img-fluid'] = fluid,
6244
6338
  _b.rounded = rounded,
@@ -6261,7 +6355,7 @@ var CListGroup = forwardRef(function (_a, ref) {
6261
6355
  var _className = classNames$1('list-group', (_b = {
6262
6356
  'list-group-flush': flush
6263
6357
  },
6264
- _b["list-group-" + layout] = layout,
6358
+ _b["list-group-".concat(layout)] = layout,
6265
6359
  _b), className);
6266
6360
  return (React__default.createElement(Component, { className: _className, ref: ref }, children));
6267
6361
  });
@@ -6285,7 +6379,7 @@ var CListGroupItem = forwardRef(function (_a, ref) {
6285
6379
  var _b;
6286
6380
  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$1(_a, ["children", "active", "className", "disabled", "color", "component"]);
6287
6381
  var _className = classNames$1('list-group-item', (_b = {},
6288
- _b["list-group-item-" + color] = color,
6382
+ _b["list-group-item-".concat(color)] = color,
6289
6383
  _b['list-group-item-action'] = component === 'a' || component === 'button',
6290
6384
  _b.active = active,
6291
6385
  _b.disabled = disabled,
@@ -6311,7 +6405,7 @@ CListGroupItem.displayName = 'CListGroupItem';
6311
6405
 
6312
6406
  var CSpinner = forwardRef(function (_a, ref) {
6313
6407
  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$1(_a, ["className", "color", "component", "size", "variant", "visuallyHiddenLabel"]);
6314
- var _className = classNames$1("spinner-" + variant, "text-" + color, size && "spinner-" + variant + "-" + size, className);
6408
+ var _className = classNames$1("spinner-".concat(variant), "text-".concat(color), size && "spinner-".concat(variant, "-").concat(size), className);
6315
6409
  return (React__default.createElement(Component, __assign$1({ className: _className, role: "status" }, rest, { ref: ref }),
6316
6410
  React__default.createElement("span", { className: "visually-hidden" }, visuallyHiddenLabel)));
6317
6411
  });
@@ -6375,9 +6469,9 @@ var CModalDialog = forwardRef(function (_a, ref) {
6375
6469
  },
6376
6470
  _b[typeof fullscreen === 'boolean'
6377
6471
  ? 'modal-fullscreen'
6378
- : "modal-fullscreen-" + fullscreen + "-down"] = fullscreen,
6472
+ : "modal-fullscreen-".concat(fullscreen, "-down")] = fullscreen,
6379
6473
  _b['modal-dialog-scrollable'] = scrollable,
6380
- _b["modal-" + size] = size,
6474
+ _b["modal-".concat(size)] = size,
6381
6475
  _b), className);
6382
6476
  return (React__default.createElement("div", __assign$1({ className: _className }, rest, { ref: ref }), children));
6383
6477
  });
@@ -6613,7 +6707,7 @@ var CMultiSelectSelection = forwardRef(function (_a, ref) {
6613
6707
  multiple &&
6614
6708
  selectionType === 'counter' &&
6615
6709
  !search &&
6616
- selected.length + " " + selectionTypeCounterText,
6710
+ "".concat(selected.length, " ").concat(selectionTypeCounterText),
6617
6711
  multiple &&
6618
6712
  selectionType === 'tags' &&
6619
6713
  selected.map(function (option, index) {
@@ -6788,7 +6882,7 @@ var CMultiSelect = forwardRef(function (_a, ref) {
6788
6882
  multiple && cleaner && selected.length > 0 && (React__default.createElement(CMultiSelectCleaner, { onClick: function () { return handleDeselectAll(); } })),
6789
6883
  search && (React__default.createElement(CMultiSelectSearchInput, __assign$1({}, (selected.length === 0 && { placeholder: placeholder }), (selected.length &&
6790
6884
  selectionType === 'counter' && {
6791
- placeholder: selected.length + " " + selectionTypeCounterText,
6885
+ placeholder: "".concat(selected.length, " ").concat(selectionTypeCounterText),
6792
6886
  }), (selected.length &&
6793
6887
  !multiple && { placeholder: selected.map(function (option) { return option.text; })[0] }), { onChange: function (event) { return handleSearchChange(event); }, onKeyDown: function (event) { return handleSearchKeyDown(event); } }, (multiple &&
6794
6888
  selected.length &&
@@ -6820,8 +6914,8 @@ var CNav = forwardRef(function (_a, ref) {
6820
6914
  var _b;
6821
6915
  var children = _a.children, className = _a.className, _c = _a.component, Component = _c === void 0 ? 'ul' : _c, layout = _a.layout, variant = _a.variant, rest = __rest$1(_a, ["children", "className", "component", "layout", "variant"]);
6822
6916
  var _className = classNames$1('nav', (_b = {},
6823
- _b["nav-" + layout] = layout,
6824
- _b["nav-" + variant] = variant,
6917
+ _b["nav-".concat(layout)] = layout,
6918
+ _b["nav-".concat(variant)] = variant,
6825
6919
  _b), className);
6826
6920
  return (React__default.createElement(Component, __assign$1({ className: _className, role: "navigation" }, rest, { ref: ref }), children));
6827
6921
  });
@@ -6857,7 +6951,7 @@ var CSidebarNav = forwardRef(function (_a, ref) {
6857
6951
  return (React__default.createElement("ul", __assign$1({ className: classes, ref: ref }, rest),
6858
6952
  React__default.createElement(CNavContext.Provider, { value: CNavContextValues }, React__default.Children.map(children, function (child, index) {
6859
6953
  if (React__default.isValidElement(child)) {
6860
- return React__default.cloneElement(child, { key: index, idx: "" + index });
6954
+ return React__default.cloneElement(child, { key: index, idx: "".concat(index) });
6861
6955
  }
6862
6956
  return;
6863
6957
  }))));
@@ -6917,7 +7011,7 @@ var CNavGroup = forwardRef(function (_a, ref) {
6917
7011
  compact: compact,
6918
7012
  }), style: __assign$1(__assign$1({}, style), transitionStyles[state]), ref: navItemsRef }, React__default.Children.map(children, function (child, index) {
6919
7013
  if (React__default.isValidElement(child)) {
6920
- return React__default.cloneElement(child, { key: index, idx: idx + "." + index });
7014
+ return React__default.cloneElement(child, { key: index, idx: "".concat(idx, ".").concat(index) });
6921
7015
  }
6922
7016
  return;
6923
7017
  }))); })));
@@ -6981,13 +7075,13 @@ var CNavbar = forwardRef(function (_a, ref) {
6981
7075
  var _b;
6982
7076
  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$1(_a, ["children", "className", "color", "colorScheme", "component", "container", "expand", "placement"]);
6983
7077
  var _className = classNames$1('navbar', (_b = {},
6984
- _b["bg-" + color] = color,
6985
- _b["navbar-" + colorScheme] = colorScheme,
6986
- _b[typeof expand === 'boolean' ? 'navbar-expand' : "navbar-expand-" + expand] = expand,
7078
+ _b["bg-".concat(color)] = color,
7079
+ _b["navbar-".concat(colorScheme)] = colorScheme,
7080
+ _b[typeof expand === 'boolean' ? 'navbar-expand' : "navbar-expand-".concat(expand)] = expand,
6987
7081
  _b), placement, className);
6988
7082
  var content;
6989
7083
  if (container) {
6990
- content = (React__default.createElement("div", { className: "container" + (container !== true ? '-' + container : '') }, children));
7084
+ content = (React__default.createElement("div", { className: "container".concat(container !== true ? '-' + container : '') }, children));
6991
7085
  }
6992
7086
  else {
6993
7087
  content = children;
@@ -7070,8 +7164,8 @@ var CPagination = forwardRef(function (_a, ref) {
7070
7164
  var _b;
7071
7165
  var children = _a.children, align = _a.align, className = _a.className, size = _a.size, rest = __rest$1(_a, ["children", "align", "className", "size"]);
7072
7166
  var _className = classNames$1('pagination', (_b = {},
7073
- _b["justify-content-" + align] = align,
7074
- _b["pagination-" + size] = size,
7167
+ _b["justify-content-".concat(align)] = align,
7168
+ _b["pagination-".concat(size)] = size,
7075
7169
  _b), className);
7076
7170
  return (React__default.createElement("nav", __assign$1({ ref: ref }, rest),
7077
7171
  React__default.createElement("ul", { className: _className }, children)));
@@ -7105,7 +7199,7 @@ var CSmartPagination = forwardRef(function (_a, ref) {
7105
7199
  useEffect(function () {
7106
7200
  pages < activePage && onActivePageChange(pages, true);
7107
7201
  }, [pages]);
7108
- var _classNames = classNames$1("justify-content-" + align, className);
7202
+ var _classNames = classNames$1("justify-content-".concat(align), className);
7109
7203
  var showDots = (function () {
7110
7204
  return dots && limit > 4 && limit < pages;
7111
7205
  })();
@@ -7157,7 +7251,7 @@ var CSmartPagination = forwardRef(function (_a, ref) {
7157
7251
  arrows && (React__default.createElement(CPaginationItem, { onClick: function () { return setPage(activePage - 1); }, "aria-label": "Go to previous page", "aria-disabled": activePage === 1, disabled: activePage === 1 }, previousButton)),
7158
7252
  beforeDots && (React__default.createElement(CPaginationItem, { role: "separator", disabled: true }, "\u2026")),
7159
7253
  items.map(function (i) {
7160
- return (React__default.createElement(CPaginationItem, { onClick: function () { return setPage(i); }, "aria-label": activePage === i ? "Current page " + i : "Go to page " + i, active: activePage === i, key: i }, i));
7254
+ return (React__default.createElement(CPaginationItem, { onClick: function () { return setPage(i); }, "aria-label": activePage === i ? "Current page ".concat(i) : "Go to page ".concat(i), active: activePage === i, key: i }, i));
7161
7255
  }),
7162
7256
  afterDots && (React__default.createElement(CPaginationItem, { role: "separator", disabled: true }, "\u2026")),
7163
7257
  arrows && (React__default.createElement(CPaginationItem, { onClick: function () { return setPage(activePage + 1); }, "aria-label": "Go to next page", "aria-disabled": activePage === pages, disabled: activePage === pages }, nextButton)),
@@ -7181,6 +7275,45 @@ CSmartPagination.propTypes = {
7181
7275
  };
7182
7276
  CSmartPagination.displayName = 'CSmartPagination';
7183
7277
 
7278
+ var BREAKPOINTS = [
7279
+ 'xxl',
7280
+ 'xl',
7281
+ 'lg',
7282
+ 'md',
7283
+ 'sm',
7284
+ 'xs',
7285
+ ];
7286
+ var CPlaceholder = forwardRef(function (_a, ref) {
7287
+ var _b;
7288
+ 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$1(_a, ["children", "animation", "className", "color", "component", "size"]);
7289
+ var repsonsiveClassNames = [];
7290
+ BREAKPOINTS.forEach(function (bp) {
7291
+ var breakpoint = rest[bp];
7292
+ delete rest[bp];
7293
+ var infix = bp === 'xs' ? '' : "-".concat(bp);
7294
+ if (typeof breakpoint === 'number') {
7295
+ repsonsiveClassNames.push("col".concat(infix, "-").concat(breakpoint));
7296
+ }
7297
+ if (typeof breakpoint === 'boolean') {
7298
+ repsonsiveClassNames.push("col".concat(infix));
7299
+ }
7300
+ });
7301
+ var _className = classNames$1(animation ? "placeholder-".concat(animation) : 'placeholder', (_b = {},
7302
+ _b["bg-".concat(color)] = color,
7303
+ _b["placeholder-".concat(size)] = size,
7304
+ _b), repsonsiveClassNames, className);
7305
+ return (React__default.createElement(Component, __assign$1({ className: _className }, rest, { ref: ref }), children));
7306
+ });
7307
+ CPlaceholder.propTypes = {
7308
+ animation: PropTypes$1.oneOf(['glow', 'wave']),
7309
+ children: PropTypes$1.node,
7310
+ className: PropTypes$1.string,
7311
+ color: colorPropType,
7312
+ component: PropTypes$1.elementType,
7313
+ size: PropTypes$1.oneOf(['xs', 'sm', 'lg']),
7314
+ };
7315
+ CPlaceholder.displayName = 'CPlaceholder';
7316
+
7184
7317
  var CPopover = function (_a) {
7185
7318
  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$1(_a, ["children", "content", "placement", "offset", "onHide", "onShow", "title", "trigger", "visible"]);
7186
7319
  var _e = useState(visible), _visible = _e[0], setVisible = _e[1];
@@ -7221,7 +7354,7 @@ var CPopover = function (_a) {
7221
7354
  },
7222
7355
  ] }, function (_a) {
7223
7356
  var arrowProps = _a.arrowProps, style = _a.style, ref = _a.ref;
7224
- return (React__default.createElement("div", __assign$1({ className: classNames$1("popover bs-popover-" + (placement === 'left' ? 'start' : placement === 'right' ? 'end' : placement), transitionClass), ref: ref, role: "tooltip", style: style }, rest),
7357
+ return (React__default.createElement("div", __assign$1({ className: classNames$1("popover bs-popover-".concat(placement === 'left' ? 'start' : placement === 'right' ? 'end' : placement), transitionClass), ref: ref, role: "tooltip", style: style }, rest),
7225
7358
  React__default.createElement("div", __assign$1({ className: "popover-arrow" }, arrowProps)),
7226
7359
  React__default.createElement("div", { className: "popover-header" }, title),
7227
7360
  React__default.createElement("div", { className: "popover-body" }, content)));
@@ -7230,12 +7363,12 @@ var CPopover = function (_a) {
7230
7363
  };
7231
7364
  CPopover.propTypes = {
7232
7365
  children: PropTypes$1.any,
7233
- content: PropTypes$1.node,
7366
+ content: PropTypes$1.oneOfType([PropTypes$1.string, PropTypes$1.node]),
7234
7367
  placement: PropTypes$1.oneOf(['auto', 'top', 'right', 'bottom', 'left']),
7235
7368
  offset: PropTypes$1.any,
7236
7369
  onHide: PropTypes$1.func,
7237
7370
  onShow: PropTypes$1.func,
7238
- title: PropTypes$1.string,
7371
+ title: PropTypes$1.oneOfType([PropTypes$1.string, PropTypes$1.node]),
7239
7372
  trigger: triggerPropType,
7240
7373
  visible: PropTypes$1.bool,
7241
7374
  };
@@ -7245,11 +7378,11 @@ var CProgressBar = forwardRef(function (_a, ref) {
7245
7378
  var _b;
7246
7379
  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$1(_a, ["children", "animated", "className", "color", "value", "variant"]);
7247
7380
  var _className = classNames$1('progress-bar', (_b = {},
7248
- _b["bg-" + color] = color,
7249
- _b["progress-bar-" + variant] = variant,
7381
+ _b["bg-".concat(color)] = color,
7382
+ _b["progress-bar-".concat(variant)] = variant,
7250
7383
  _b['progress-bar-animated'] = animated,
7251
7384
  _b), className);
7252
- return (React__default.createElement("div", __assign$1({ className: _className, role: "progressbar", style: { width: value + "%" }, "aria-valuenow": value, "aria-valuemin": 0, "aria-valuemax": 100 }, rest, { ref: ref }), children));
7385
+ return (React__default.createElement("div", __assign$1({ className: _className, role: "progressbar", style: { width: "".concat(value, "%") }, "aria-valuenow": value, "aria-valuemin": 0, "aria-valuemax": 100 }, rest, { ref: ref }), children));
7253
7386
  });
7254
7387
  CProgressBar.propTypes = {
7255
7388
  animated: PropTypes$1.bool,
@@ -7267,7 +7400,7 @@ var CProgress = forwardRef(function (_a, ref) {
7267
7400
  'progress-thin': thin,
7268
7401
  'progress-white': white,
7269
7402
  }, className);
7270
- return (React__default.createElement("div", { className: _className, style: height ? { height: height + "px" } : {}, ref: ref }, value ? (React__default.createElement(CProgressBar, __assign$1({ value: value }, rest), children)) : (children)));
7403
+ return (React__default.createElement("div", { className: _className, style: height ? { height: "".concat(height, "px") } : {}, ref: ref }, value ? (React__default.createElement(CProgressBar, __assign$1({ value: value }, rest), children)) : (children)));
7271
7404
  });
7272
7405
  CProgress.propTypes = {
7273
7406
  children: PropTypes$1.node,
@@ -7361,12 +7494,12 @@ var CSidebar = forwardRef(function (_a, ref) {
7361
7494
  handleHide();
7362
7495
  };
7363
7496
  var _className = classNames$1('sidebar', (_b = {},
7364
- _b["sidebar-" + colorScheme] = colorScheme,
7497
+ _b["sidebar-".concat(colorScheme)] = colorScheme,
7365
7498
  _b['sidebar-narrow'] = narrow,
7366
7499
  _b['sidebar-overlaid'] = overlaid,
7367
- _b["sidebar-" + placement] = placement,
7368
- _b["sidebar-" + position] = position,
7369
- _b["sidebar-" + size] = size,
7500
+ _b["sidebar-".concat(placement)] = placement,
7501
+ _b["sidebar-".concat(position)] = position,
7502
+ _b["sidebar-".concat(size)] = size,
7370
7503
  _b['sidebar-narrow-unfoldable'] = unfoldable,
7371
7504
  _b.show = _visible === true && mobile,
7372
7505
  _b.hide = _visible === false && !mobile,
@@ -7417,7 +7550,7 @@ var COffcanvas = forwardRef(function (_a, ref) {
7417
7550
  }
7418
7551
  }, [_visible]);
7419
7552
  var _className = classNames$1('offcanvas', (_b = {},
7420
- _b["offcanvas-" + placement] = placement,
7553
+ _b["offcanvas-".concat(placement)] = placement,
7421
7554
  _b.show = _visible,
7422
7555
  _b), className);
7423
7556
  var transitionStyles = {
@@ -7446,8 +7579,8 @@ var COffcanvas = forwardRef(function (_a, ref) {
7446
7579
  }),
7447
7580
  typeof window !== 'undefined' && portal
7448
7581
  ? backdrop &&
7449
- createPortal(React__default.createElement(CBackdrop, { visible: _visible, onClick: handleDismiss }), document.body)
7450
- : backdrop && React__default.createElement(CBackdrop, { visible: _visible, onClick: handleDismiss })));
7582
+ createPortal(React__default.createElement(CBackdrop, { className: "offcanvas-backdrop", onClick: handleDismiss, visible: _visible }), document.body)
7583
+ : backdrop && (React__default.createElement(CBackdrop, { className: "offcanvas-backdrop", onClick: handleDismiss, visible: _visible }))));
7451
7584
  });
7452
7585
  COffcanvas.propTypes = {
7453
7586
  backdrop: PropTypes$1.bool,
@@ -7566,7 +7699,7 @@ var CElementCover = forwardRef(function (_a, ref) {
7566
7699
  var coords = element.getBoundingClientRect();
7567
7700
  sides.forEach(function (side) {
7568
7701
  var sideMargin = Math.abs(coords[side] - parentCoords[side]);
7569
- customBoundaries[side] = sideMargin + "px";
7702
+ customBoundaries[side] = "".concat(sideMargin, "px");
7570
7703
  });
7571
7704
  });
7572
7705
  return customBoundaries;
@@ -7577,7 +7710,7 @@ var CElementCover = forwardRef(function (_a, ref) {
7577
7710
  //render
7578
7711
  var classes = classNames$1(className);
7579
7712
  var containerCoords = __assign$1({ top: 0, left: 0, right: 0, bottom: 0 }, customBoundaries);
7580
- var coverStyles = __assign$1(__assign$1({}, containerCoords), { position: 'absolute', backgroundColor: "rgb(255,255,255," + opacity + ")" });
7713
+ var coverStyles = __assign$1(__assign$1({}, containerCoords), { position: 'absolute', backgroundColor: "rgb(255,255,255,".concat(opacity, ")") });
7581
7714
  return (React__default.createElement("div", __assign$1({ className: classes, style: coverStyles }, rest, { ref: forkedRef }), children || (React__default.createElement("div", { style: {
7582
7715
  position: 'absolute',
7583
7716
  top: '50%',
@@ -7598,17 +7731,17 @@ var CTable = forwardRef(function (_a, ref) {
7598
7731
  var _b;
7599
7732
  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$1(_a, ["children", "align", "borderColor", "bordered", "borderless", "caption", "className", "color", "hover", "responsive", "small", "striped"]);
7600
7733
  var _className = classNames$1('table', (_b = {},
7601
- _b["align-" + align] = align,
7602
- _b["caption-" + caption] = caption,
7603
- _b["border-" + borderColor] = borderColor,
7734
+ _b["align-".concat(align)] = align,
7735
+ _b["caption-".concat(caption)] = caption,
7736
+ _b["border-".concat(borderColor)] = borderColor,
7604
7737
  _b['table-bordered'] = bordered,
7605
7738
  _b['table-borderless'] = borderless,
7606
- _b["table-" + color] = color,
7739
+ _b["table-".concat(color)] = color,
7607
7740
  _b['table-hover'] = hover,
7608
7741
  _b['table-sm'] = small,
7609
7742
  _b['table-striped'] = striped,
7610
7743
  _b), className);
7611
- return responsive ? (React__default.createElement("div", { className: typeof responsive === 'boolean' ? 'table-responsive' : "table-responsive-" + responsive },
7744
+ return responsive ? (React__default.createElement("div", { className: typeof responsive === 'boolean' ? 'table-responsive' : "table-responsive-".concat(responsive) },
7612
7745
  React__default.createElement("table", __assign$1({ className: _className ? _className : undefined }, rest, { ref: ref }), children))) : (React__default.createElement("table", __assign$1({ className: _className ? _className : undefined }, rest, { ref: ref }), children));
7613
7746
  });
7614
7747
  CTable.propTypes = {
@@ -7634,7 +7767,7 @@ var CTableFoot = forwardRef(function (_a, ref) {
7634
7767
  var _b;
7635
7768
  var children = _a.children, className = _a.className, color = _a.color, rest = __rest$1(_a, ["children", "className", "color"]);
7636
7769
  var _className = classNames$1((_b = {},
7637
- _b["table-" + color] = color,
7770
+ _b["table-".concat(color)] = color,
7638
7771
  _b), className);
7639
7772
  return (React__default.createElement("tfoot", __assign$1({ className: _className ? _className : undefined }, rest, { ref: ref }), children));
7640
7773
  });
@@ -7649,7 +7782,7 @@ var CTableBody = forwardRef(function (_a, ref) {
7649
7782
  var _b;
7650
7783
  var children = _a.children, className = _a.className, color = _a.color, rest = __rest$1(_a, ["children", "className", "color"]);
7651
7784
  var _className = classNames$1((_b = {},
7652
- _b["table-" + color] = color,
7785
+ _b["table-".concat(color)] = color,
7653
7786
  _b), className);
7654
7787
  return (React__default.createElement("tbody", __assign$1({ className: _className ? _className : undefined }, rest, { ref: ref }), children));
7655
7788
  });
@@ -7664,9 +7797,9 @@ var CTableRow = forwardRef(function (_a, ref) {
7664
7797
  var _b;
7665
7798
  var children = _a.children, active = _a.active, align = _a.align, className = _a.className, color = _a.color, rest = __rest$1(_a, ["children", "active", "align", "className", "color"]);
7666
7799
  var _className = classNames$1((_b = {},
7667
- _b["align-" + align] = align,
7800
+ _b["align-".concat(align)] = align,
7668
7801
  _b['table-active'] = active,
7669
- _b["table-" + color] = color,
7802
+ _b["table-".concat(color)] = color,
7670
7803
  _b), className);
7671
7804
  return (React__default.createElement("tr", __assign$1({ className: _className ? _className : undefined }, rest, { ref: ref }), children));
7672
7805
  });
@@ -7683,9 +7816,9 @@ var CTableDataCell = forwardRef(function (_a, ref) {
7683
7816
  var _b;
7684
7817
  var children = _a.children, active = _a.active, align = _a.align, className = _a.className, color = _a.color, rest = __rest$1(_a, ["children", "active", "align", "className", "color"]);
7685
7818
  var _className = classNames$1((_b = {},
7686
- _b["align-" + align] = align,
7819
+ _b["align-".concat(align)] = align,
7687
7820
  _b['table-active'] = active,
7688
- _b["table-" + color] = color,
7821
+ _b["table-".concat(color)] = color,
7689
7822
  _b), className);
7690
7823
  return (React__default.createElement("td", __assign$1({ className: _className ? _className : undefined }, rest, { ref: ref }), children));
7691
7824
  });
@@ -7738,7 +7871,7 @@ var CSmartTableBody = forwardRef(function (_a, ref) {
7738
7871
  React__default.createElement(CTableRow, { onClick: function (event) {
7739
7872
  return onRowClick &&
7740
7873
  onRowClick(item, trIndex + firstItemOnActivePageIndex, getColumnName(event), true);
7741
- }, className: "p-0", key: "details" + trIndex },
7874
+ }, className: "p-0", key: "details".concat(trIndex) },
7742
7875
  React__default.createElement(CTableDataCell, { colSpan: colspan, className: "p-0", style: { border: 0 } }, scopedColumns.details(item, trIndex + firstItemOnActivePageIndex)))))));
7743
7876
  }),
7744
7877
  !currentItems.length && (React__default.createElement(CTableRow, null,
@@ -8965,7 +9098,7 @@ var CIcon = forwardRef(function (_a, ref) {
8965
9098
  var iconName = useMemo(function () {
8966
9099
  return _icon && typeof _icon === 'string' && _icon.includes('-') ? toCamelCase(_icon) : _icon;
8967
9100
  }, [change]);
8968
- var titleCode = title ? "<title>" + title + "</title>" : '';
9101
+ var titleCode = title ? "<title>".concat(title, "</title>") : '';
8969
9102
  var code = useMemo(function () {
8970
9103
  if (Array.isArray(_icon)) {
8971
9104
  return _icon;
@@ -8981,13 +9114,13 @@ var CIcon = forwardRef(function (_a, ref) {
8981
9114
  return Array.isArray(code) && code.length > 1 ? code[0] : '64 64';
8982
9115
  })();
8983
9116
  var viewBox = (function () {
8984
- return rest['viewBox'] || "0 0 " + scale;
9117
+ return rest['viewBox'] || "0 0 ".concat(scale);
8985
9118
  })();
8986
9119
  // render
8987
9120
  var _className = customClassName
8988
9121
  ? classNames(customClassName)
8989
9122
  : classNames('icon', (_b = {},
8990
- _b["icon-" + size] = size,
9123
+ _b["icon-".concat(size)] = size,
8991
9124
  _b["icon-custom-size"] = height || width,
8992
9125
  _b), className);
8993
9126
  return use ? (React__default.createElement("svg", __assign({ xmlns: "http://www.w3.org/2000/svg", className: _className }, (height && { height: height }), (width && { width: width }), { role: "img" }, rest, { ref: ref }),
@@ -9055,7 +9188,7 @@ var CTableHead = forwardRef(function (_a, ref) {
9055
9188
  var _b;
9056
9189
  var children = _a.children, className = _a.className, color = _a.color, rest = __rest$1(_a, ["children", "className", "color"]);
9057
9190
  var _className = classNames$1((_b = {},
9058
- _b["table-" + color] = color,
9191
+ _b["table-".concat(color)] = color,
9059
9192
  _b), className);
9060
9193
  return (React__default.createElement("thead", __assign$1({ className: _className ? _className : undefined }, rest, { ref: ref }), children));
9061
9194
  });
@@ -9070,7 +9203,7 @@ var CTableHeaderCell = forwardRef(function (_a, ref) {
9070
9203
  var _b;
9071
9204
  var children = _a.children, className = _a.className, color = _a.color, rest = __rest$1(_a, ["children", "className", "color"]);
9072
9205
  var _className = classNames$1((_b = {},
9073
- _b["table-" + color] = color,
9206
+ _b["table-".concat(color)] = color,
9074
9207
  _b), className);
9075
9208
  return (React__default.createElement("th", __assign$1({ className: _className ? _className : undefined }, rest, { ref: ref }), children));
9076
9209
  });
@@ -9082,7 +9215,7 @@ CTableHeaderCell.propTypes = {
9082
9215
  CTableHeaderCell.displayName = 'CTableHeaderCell';
9083
9216
 
9084
9217
  var CSmartTableHead = forwardRef(function (_a, ref) {
9085
- var columnFilter = _a.columnFilter, columnSorter = _a.columnSorter, _b = _a.component, Component = _b === void 0 ? CTableHead : _b, columns = _a.columns, handleFilterOnChange = _a.handleFilterOnChange, handleFilterOnInput = _a.handleFilterOnInput, handleSelectAllChecked = _a.handleSelectAllChecked, handleSort = _a.handleSort, selectable = _a.selectable, selectAll = _a.selectAll, sorterState = _a.sorterState, sortingIcon = _a.sortingIcon, sortingIconAscending = _a.sortingIconAscending, sortingIconDescending = _a.sortingIconDescending, rest = __rest$1(_a, ["columnFilter", "columnSorter", "component", "columns", "handleFilterOnChange", "handleFilterOnInput", "handleSelectAllChecked", "handleSort", "selectable", "selectAll", "sorterState", "sortingIcon", "sortingIconAscending", "sortingIconDescending"]);
9218
+ var columnFilter = _a.columnFilter, columnFilterState = _a.columnFilterState, columnSorter = _a.columnSorter, _b = _a.component, Component = _b === void 0 ? CTableHead : _b, columns = _a.columns, handleFilterOnChange = _a.handleFilterOnChange, handleFilterOnInput = _a.handleFilterOnInput, handleSelectAllChecked = _a.handleSelectAllChecked, handleSort = _a.handleSort, selectable = _a.selectable, selectAll = _a.selectAll, sorterState = _a.sorterState, sortingIcon = _a.sortingIcon, sortingIconAscending = _a.sortingIconAscending, sortingIconDescending = _a.sortingIconDescending, rest = __rest$1(_a, ["columnFilter", "columnFilterState", "columnSorter", "component", "columns", "handleFilterOnChange", "handleFilterOnInput", "handleSelectAllChecked", "handleSort", "selectable", "selectAll", "sorterState", "sortingIcon", "sortingIconAscending", "sortingIconDescending"]);
9086
9219
  var tableHeaderCellProps = function (column) {
9087
9220
  if (typeof column === 'object' && column._props) {
9088
9221
  return column._props;
@@ -9178,12 +9311,15 @@ var CSmartTableHead = forwardRef(function (_a, ref) {
9178
9311
  }, onChange: function (event) {
9179
9312
  return handleFilterOnChange &&
9180
9313
  handleFilterOnChange(key(column), event.target.value);
9181
- }, "aria-label": "column name: '" + label(column) + "' filter input" }))));
9314
+ }, value: columnFilterState && columnFilterState[key(column)]
9315
+ ? columnFilterState[key(column)]
9316
+ : '', "aria-label": "column name: '".concat(label(column), "' filter input") }))));
9182
9317
  })))));
9183
9318
  });
9184
9319
  CSmartTableHead.propTypes = {
9185
9320
  columnFilter: PropTypes$1.oneOfType([PropTypes$1.bool, PropTypes$1.object]),
9186
- columnSorter: PropTypes$1.bool,
9321
+ columnFilterState: PropTypes$1.object,
9322
+ columnSorter: PropTypes$1.oneOfType([PropTypes$1.bool, PropTypes$1.object]),
9187
9323
  component: PropTypes$1.elementType,
9188
9324
  children: PropTypes$1.node,
9189
9325
  columns: PropTypes$1.arrayOf(PropTypes$1.oneOfType([PropTypes$1.any, PropTypes$1.string])).isRequired,
@@ -9233,15 +9369,25 @@ var CSmartTable = forwardRef(function (_a, ref) {
9233
9369
  // instance data
9234
9370
  var compData = useRef({ firstRun: true, columnFiltered: 0, changeItems: 0 }).current;
9235
9371
  var previousSorterValue = useRef();
9372
+ var previousItemsValue = useRef();
9373
+ var _o = useState(activePage), _activePage = _o[0], setActivePage = _o[1];
9374
+ var _p = useState([]), _items = _p[0], setItems = _p[1];
9375
+ var _q = useState(itemsPerPage), _itemsPerPage = _q[0], setItemsPerPage = _q[1];
9376
+ var _r = useState(columnFilterValue ? columnFilterValue : {}), columnFilterState = _r[0], setColumnFilterState = _r[1];
9377
+ var _s = useState(), selectedAll = _s[0], setSelectedAll = _s[1];
9378
+ var _t = useState(previousSorterValue.current || {}), sorterState = _t[0], setSorterState = _t[1];
9379
+ var _u = useState(tableFilterValue ? tableFilterValue : ''), tableFilterState = _u[0], setTableFilterState = _u[1];
9236
9380
  useMemo(function () {
9237
9381
  if (JSON.stringify(previousSorterValue.current) !== JSON.stringify(sorterValue)) {
9238
9382
  previousSorterValue.current = sorterValue;
9383
+ setSorterState(__assign$1({}, sorterValue));
9239
9384
  }
9240
9385
  }, [sorterValue]);
9241
- var previousItemsValue = useRef();
9242
- var _o = useState([]), _items = _o[0], setItems = _o[1];
9243
9386
  useMemo(function () {
9244
9387
  if (JSON.stringify(previousItemsValue.current) !== JSON.stringify(items)) {
9388
+ if (items && items.length < _itemsPerPage * _activePage - _itemsPerPage) {
9389
+ setActivePage(1);
9390
+ }
9245
9391
  previousItemsValue.current = items;
9246
9392
  Array.isArray(items) &&
9247
9393
  setItems(items === null || items === void 0 ? void 0 : items.map(function (item, index) {
@@ -9249,12 +9395,6 @@ var CSmartTable = forwardRef(function (_a, ref) {
9249
9395
  }));
9250
9396
  }
9251
9397
  }, [items]);
9252
- var _p = useState(itemsPerPage), _itemsPerPage = _p[0], setItemsPerPage = _p[1];
9253
- var _q = useState(activePage), _activePage = _q[0], setActivePage = _q[1];
9254
- var _r = useState(), selectedAll = _r[0], setSelectedAll = _r[1];
9255
- var _s = useState(previousSorterValue.current || {}), sorterState = _s[0], setSorterState = _s[1];
9256
- var _t = useState(tableFilterValue ? tableFilterValue : ''), tableFilterState = _t[0], setTableFilterState = _t[1];
9257
- var _u = useState(columnFilterValue ? columnFilterValue : {}), columnFilterState = _u[0], setColumnFilterState = _u[1];
9258
9398
  // functions
9259
9399
  var isSortable = function (i) {
9260
9400
  var isDataColumn = itemsDataColumns.includes(rawColumnNames[i]);
@@ -9282,7 +9422,12 @@ var CSmartTable = forwardRef(function (_a, ref) {
9282
9422
  state.state = 'desc';
9283
9423
  }
9284
9424
  else {
9285
- state.state = 0;
9425
+ if (typeof columnSorter === 'object' && !columnSorter.resetable) {
9426
+ state.state = 'asc';
9427
+ }
9428
+ else {
9429
+ state.state = 0;
9430
+ }
9286
9431
  }
9287
9432
  }
9288
9433
  else {
@@ -9302,7 +9447,8 @@ var CSmartTable = forwardRef(function (_a, ref) {
9302
9447
  if ((isLazy && type === 'input') || (!isLazy && type === 'change')) {
9303
9448
  return;
9304
9449
  }
9305
- var newState = __assign$1(__assign$1({}, columnFilterState), (_a = {}, _a["" + colName] = value, _a));
9450
+ var newState = __assign$1(__assign$1({}, columnFilterState), (_a = {}, _a["".concat(colName)] = value, _a));
9451
+ setActivePage(1);
9306
9452
  setColumnFilterState(newState);
9307
9453
  };
9308
9454
  var tableFilterChange = function (value, type) {
@@ -9310,6 +9456,7 @@ var CSmartTable = forwardRef(function (_a, ref) {
9310
9456
  if ((isLazy && type === 'input') || (!isLazy && type === 'change')) {
9311
9457
  return;
9312
9458
  }
9459
+ setActivePage(1);
9313
9460
  setTableFilterState(value);
9314
9461
  };
9315
9462
  var clean = function () {
@@ -9422,21 +9569,6 @@ var CSmartTable = forwardRef(function (_a, ref) {
9422
9569
  setSorterState(__assign$1({}, sorterValue));
9423
9570
  }, [sorterValue]);
9424
9571
  useMemo(function () { return setColumnFilterState(__assign$1({}, columnFilterValue)); }, [columnFilterValue]);
9425
- //items
9426
- // useMemo(() => {
9427
- // if (
9428
- // items &&
9429
- // !compData.firstRun &&
9430
- // (items.length !== _items.length || JSON.stringify(items) !== JSON.stringify(_items))
9431
- // ) {
9432
- // setItems(
9433
- // items?.map((item: Item, index: number) => {
9434
- // return { ...item, _id: index }
9435
- // }),
9436
- // )
9437
- // compData.changeItems++
9438
- // }
9439
- // }, [items])
9440
9572
  compData.firstRun = false;
9441
9573
  var handleRowChecked = function (id, value) {
9442
9574
  var newArr = __spreadArray([], _items, true);
@@ -9457,6 +9589,7 @@ var CSmartTable = forwardRef(function (_a, ref) {
9457
9589
  useEffect(function () {
9458
9590
  if (selectable) {
9459
9591
  var selected = _items.filter(function (item) { return item._selected === true; });
9592
+ onSelectedItemsChange && onSelectedItemsChange(selected);
9460
9593
  if (selected.length === _items.length) {
9461
9594
  setSelectedAll(true);
9462
9595
  return;
@@ -9468,7 +9601,6 @@ var CSmartTable = forwardRef(function (_a, ref) {
9468
9601
  if (selected.length !== 0 && selected.length !== _items.length) {
9469
9602
  setSelectedAll('indeterminate');
9470
9603
  }
9471
- onSelectedItemsChange && onSelectedItemsChange(selected);
9472
9604
  }
9473
9605
  }, [_items]);
9474
9606
  return (React__default.createElement(React__default.Fragment, null,
@@ -9484,7 +9616,7 @@ var CSmartTable = forwardRef(function (_a, ref) {
9484
9616
  } })))))))),
9485
9617
  React__default.createElement("div", { className: "position-relative" },
9486
9618
  React__default.createElement(CTable, __assign$1({}, tableProps),
9487
- header && (React__default.createElement(CSmartTableHead, __assign$1({}, tableHeadProps, { columnFilter: columnFilter, columns: columns ? columns : rawColumnNames, columnSorter: columnSorter, selectable: selectable, selectAll: selectedAll, sorterState: sorterState, sortingIcon: sortingIcon, sortingIconAscending: sortingIconAscending, sortingIconDescending: sortingIconDescending, handleSort: function (key, index) { return sorterChange(key, index); }, handleFilterOnChange: function (key, event) { return columnFilterChange(key, event, 'change'); }, handleFilterOnInput: function (key, event) { return columnFilterChange(key, event, 'input'); }, handleSelectAllChecked: function () { return handleSelectAllChecked(); } }))),
9619
+ header && (React__default.createElement(CSmartTableHead, __assign$1({}, tableHeadProps, { columnFilter: columnFilter, columnFilterState: columnFilterState, columns: columns ? columns : rawColumnNames, columnSorter: columnSorter, selectable: selectable, selectAll: selectedAll, sorterState: sorterState, sortingIcon: sortingIcon, sortingIconAscending: sortingIconAscending, sortingIconDescending: sortingIconDescending, handleSort: function (key, index) { return sorterChange(key, index); }, handleFilterOnChange: function (key, event) { return columnFilterChange(key, event, 'change'); }, handleFilterOnInput: function (key, event) { return columnFilterChange(key, event, 'input'); }, handleSelectAllChecked: function () { return handleSelectAllChecked(); } }))),
9488
9620
  React__default.createElement(CSmartTableBody, __assign$1({ currentItems: currentItems, firstItemOnActivePageIndex: firstItemOnActivePageIndex, noItemsLabel: noItemsLabel, onRowClick: function (item, index, columnName, event) {
9489
9621
  return clickableRows && onRowClick && onRowClick(item, index, columnName, event);
9490
9622
  }, onRowChecked: function (id, value) { return handleRowChecked(id, value); }, rawColumnNames: rawColumnNames, scopedColumns: scopedColumns, selectable: selectable }, tableBodyProps)),
@@ -9494,7 +9626,7 @@ var CSmartTable = forwardRef(function (_a, ref) {
9494
9626
  { sides: ['bottom'], query: 'tbody' },
9495
9627
  ] }))),
9496
9628
  (pagination || itemsPerPageSelect) && (React__default.createElement("div", { className: "row" },
9497
- React__default.createElement("div", { className: "col-auto" }, pagination && numberOfPages > 1 && (React__default.createElement(CSmartPagination, __assign$1({}, paginationProps, { onActivePageChange: function (page) {
9629
+ React__default.createElement("div", { className: "col" }, pagination && numberOfPages > 1 && (React__default.createElement(CSmartPagination, __assign$1({}, paginationProps, { onActivePageChange: function (page) {
9498
9630
  setActivePage(page);
9499
9631
  }, pages: numberOfPages, activePage: _activePage })))),
9500
9632
  React__default.createElement("div", { className: "col-auto ms-auto" }, itemsPerPageSelect && (React__default.createElement(CSmartTableItemsPerPageSelector, { itemsPerPage: _itemsPerPage, itemsPerPageLabel: itemsPerPageLabel, itemsPerPageOptions: itemsPerPageOptions, onChange: function (event) { return itemsPerPageChange(event); } })))))));
@@ -9614,7 +9746,7 @@ var CToast = forwardRef(function (_a, ref) {
9614
9746
  var _className = classNames$1('toast', (_b = {
9615
9747
  fade: animation
9616
9748
  },
9617
- _b["bg-" + color] = color,
9749
+ _b["bg-".concat(color)] = color,
9618
9750
  _b['border-0'] = color,
9619
9751
  _b), className);
9620
9752
  var getTransitionClass = function (state) {
@@ -9771,7 +9903,7 @@ var CTooltip = function (_a) {
9771
9903
  var transitionClass = getTransitionClass(state);
9772
9904
  return (React__default.createElement(Popper, { placement: placement }, function (_a) {
9773
9905
  var arrowProps = _a.arrowProps, style = _a.style, ref = _a.ref;
9774
- return (React__default.createElement("div", __assign$1({ className: classNames$1("tooltip bs-tooltip-" + (placement === 'left' ? 'start' : placement === 'right' ? 'end' : placement), transitionClass), ref: ref, role: "tooltip", style: style }, rest),
9906
+ return (React__default.createElement("div", __assign$1({ className: classNames$1("tooltip bs-tooltip-".concat(placement === 'left' ? 'start' : placement === 'right' ? 'end' : placement), transitionClass), ref: ref, role: "tooltip", style: style }, rest),
9775
9907
  React__default.createElement("div", __assign$1({ className: "tooltip-arrow" }, arrowProps)),
9776
9908
  React__default.createElement("div", { className: "tooltip-inner" }, content)));
9777
9909
  }));
@@ -9779,7 +9911,7 @@ var CTooltip = function (_a) {
9779
9911
  };
9780
9912
  CTooltip.propTypes = {
9781
9913
  children: PropTypes$1.any,
9782
- content: PropTypes$1.node,
9914
+ content: PropTypes$1.oneOfType([PropTypes$1.string, PropTypes$1.node]),
9783
9915
  placement: PropTypes$1.oneOf(['auto', 'top', 'right', 'bottom', 'left']),
9784
9916
  onHide: PropTypes$1.func,
9785
9917
  onShow: PropTypes$1.func,
@@ -9791,7 +9923,7 @@ CTooltip.displayName = 'CTooltip';
9791
9923
  var CWidgetStatsA = forwardRef(function (_a, ref) {
9792
9924
  var _b;
9793
9925
  var action = _a.action, chart = _a.chart, className = _a.className, color = _a.color, title = _a.title, value = _a.value, rest = __rest$1(_a, ["action", "chart", "className", "color", "title", "value"]);
9794
- var _className = classNames$1((_b = {}, _b["bg-" + color] = color, _b['text-high-emphasis-inverse'] = color, _b), className);
9926
+ var _className = classNames$1((_b = {}, _b["bg-".concat(color)] = color, _b['text-high-emphasis-inverse'] = color, _b), className);
9795
9927
  return (React__default.createElement(CCard, __assign$1({ className: _className }, rest, { ref: ref }),
9796
9928
  React__default.createElement(CCardBody, { className: "pb-0 d-flex justify-content-between align-items-start" },
9797
9929
  React__default.createElement("div", null,
@@ -9834,8 +9966,8 @@ var CWidgetStatsC = forwardRef(function (_a, ref) {
9834
9966
  var className = _a.className, color = _a.color, icon = _a.icon, inverse = _a.inverse, progress = _a.progress, title = _a.title, value = _a.value, rest = __rest$1(_a, ["className", "color", "icon", "inverse", "progress", "title", "value"]);
9835
9967
  return (React__default.createElement(CCard, __assign$1({ className: className, color: color }, (inverse && { textColor: 'high-emphasis-inverse' }), rest, { ref: ref }),
9836
9968
  React__default.createElement(CCardBody, null,
9837
- icon && (React__default.createElement("div", { className: "text-medium-emphasis" + (inverse ? '-inverse' : '') + " text-end mb-4" }, icon)),
9838
- value && (React__default.createElement("div", { className: "text-high-emphasis" + (inverse ? '-inverse' : '') + " fs-4 fw-semibold" }, value)),
9969
+ icon && (React__default.createElement("div", { className: "text-medium-emphasis".concat(inverse ? '-inverse' : '', " text-end mb-4") }, icon)),
9970
+ value && (React__default.createElement("div", { className: "text-high-emphasis".concat(inverse ? '-inverse' : '', " fs-4 fw-semibold") }, value)),
9839
9971
  title && (React__default.createElement("div", { className: inverse ? 'text-medium-emphasis-inverse' : 'text-medium-emphasis' }, title)),
9840
9972
  React__default.createElement(CProgress, __assign$1({ className: "mt-3 mb-0", height: 4 }, (inverse && { white: true }), progress)))));
9841
9973
  });
@@ -9855,7 +9987,7 @@ var CWidgetStatsD = forwardRef(function (_a, ref) {
9855
9987
  var className = _a.className, chart = _a.chart, color = _a.color, icon = _a.icon, values = _a.values, rest = __rest$1(_a, ["className", "chart", "color", "icon", "values"]);
9856
9988
  var _className = classNames$1(className);
9857
9989
  var classNameHeader = classNames$1('position-relative d-flex justify-content-center align-items-center', (_b = {},
9858
- _b["bg-" + color] = color,
9990
+ _b["bg-".concat(color)] = color,
9859
9991
  _b));
9860
9992
  return (React__default.createElement(CCard, __assign$1({ className: _className }, rest, { ref: ref }),
9861
9993
  React__default.createElement(CCardHeader, { className: classNameHeader },
@@ -9901,10 +10033,10 @@ var CWidgetStatsF = forwardRef(function (_a, ref) {
9901
10033
  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$1(_a, ["className", "color", "footer", "icon", "padding", "title", "value"]);
9902
10034
  var _className = classNames$1(className);
9903
10035
  return (React__default.createElement(CCard, __assign$1({ className: _className }, rest, { ref: ref }),
9904
- React__default.createElement(CCardBody, { className: "d-flex align-items-center " + (padding === false && 'p-0') },
9905
- React__default.createElement("div", { className: "me-3 text-white bg-" + color + " " + (padding ? 'p-3' : 'p-4') }, icon),
10036
+ React__default.createElement(CCardBody, { className: "d-flex align-items-center ".concat(padding === false && 'p-0') },
10037
+ React__default.createElement("div", { className: "me-3 text-white bg-".concat(color, " ").concat(padding ? 'p-3' : 'p-4') }, icon),
9906
10038
  React__default.createElement("div", null,
9907
- React__default.createElement("div", { className: "fs-6 fw-semibold text-" + color }, value),
10039
+ React__default.createElement("div", { className: "fs-6 fw-semibold text-".concat(color) }, value),
9908
10040
  React__default.createElement("div", { className: "text-medium-emphasis text-uppercase fw-semibold small" }, title))),
9909
10041
  footer && React__default.createElement(CCardFooter, null, footer)));
9910
10042
  });
@@ -9919,5 +10051,5 @@ CWidgetStatsF.propTypes = {
9919
10051
  };
9920
10052
  CWidgetStatsF.displayName = 'CWidgetStatsF';
9921
10053
 
9922
- export { CAccordion, CAccordionBody, CAccordionButton, CAccordionCollapse, CAccordionHeader, CAccordionItem, CAlert, CAlertHeading, CAlertLink, CAvatar, CBackdrop, CBadge, CBreadcrumb, CBreadcrumbItem, CButton, CButtonGroup, CButtonToolbar, CCallout, CCard, CCardBody, CCardFooter, CCardGroup, CCardHeader, CCardImage, CCardImageOverlay, CCardLink, CCardSubtitle, CCardText, CCardTitle, CCarousel, CCarouselCaption, CCarouselItem, CCloseButton, CCol, CCollapse, CContainer, CDropdown, CDropdownDivider, CDropdownHeader, CDropdownItem, CDropdownItemPlain, CDropdownMenu, CDropdownToggle, CFooter, CForm, CFormCheck, CFormFeedback, CFormFloating, CFormInput, CFormLabel, CFormRange, CFormSelect, CFormSwitch, CFormText, CFormTextarea, CHeader, CHeaderBrand, CHeaderDivider, CHeaderNav, CHeaderText, CHeaderToggler, CImage, CInputGroup, CInputGroupText, CLink, CListGroup, CListGroupItem, CLoadingButton, CModal, CModalBody, CModalContent, CModalDialog, CModalFooter, CModalHeader, CModalTitle, CMultiSelect, CNav, CNavGroup, CNavGroupItems, CNavItem, CNavLink, CNavTitle, CNavbar, CNavbarBrand, CNavbarNav, CNavbarText, CNavbarToggler, COffcanvas, COffcanvasBody, COffcanvasHeader, COffcanvasTitle, CPagination, CPaginationItem, CPopover, CProgress, CProgressBar, CRow, CSidebar, CSidebarBrand, CSidebarFooter, CSidebarHeader, CSidebarNav, CSidebarToggler, CSmartPagination, CSmartTable, CSpinner, CTabContent, CTabPane, CTable, CTableBody, CTableCaption, CTableDataCell, CTableFoot, CTableHead, CTableHeaderCell, CTableRow, CToast, CToastBody, CToastClose, CToastHeader, CToaster, CTooltip, CWidgetStatsA, CWidgetStatsB, CWidgetStatsC, CWidgetStatsD, CWidgetStatsE, CWidgetStatsF };
10054
+ export { CAccordion, CAccordionBody, CAccordionButton, CAccordionCollapse, CAccordionHeader, CAccordionItem, CAlert, CAlertHeading, CAlertLink, CAvatar, CBackdrop, CBadge, CBreadcrumb, CBreadcrumbItem, CButton, CButtonGroup, CButtonToolbar, CCallout, CCard, CCardBody, CCardFooter, CCardGroup, CCardHeader, CCardImage, CCardImageOverlay, CCardLink, CCardSubtitle, CCardText, CCardTitle, CCarousel, CCarouselCaption, CCarouselItem, CCloseButton, CCol, CCollapse, CContainer, CDropdown, CDropdownDivider, CDropdownHeader, CDropdownItem, CDropdownItemPlain, CDropdownMenu, CDropdownToggle, CFooter, CForm, CFormCheck, CFormFeedback, CFormFloating, CFormInput, CFormLabel, CFormRange, CFormSelect, CFormSwitch, CFormText, CFormTextarea, CHeader, CHeaderBrand, CHeaderDivider, CHeaderNav, CHeaderText, CHeaderToggler, CImage, CInputGroup, CInputGroupText, CLink, CListGroup, CListGroupItem, CLoadingButton, CModal, CModalBody, CModalContent, CModalDialog, CModalFooter, CModalHeader, CModalTitle, CMultiSelect, CNav, CNavGroup, CNavGroupItems, CNavItem, CNavLink, CNavTitle, CNavbar, CNavbarBrand, CNavbarNav, CNavbarText, CNavbarToggler, COffcanvas, COffcanvasBody, COffcanvasHeader, COffcanvasTitle, CPagination, CPaginationItem, CPlaceholder, CPopover, CProgress, CProgressBar, CRow, CSidebar, CSidebarBrand, CSidebarFooter, CSidebarHeader, CSidebarNav, CSidebarToggler, CSmartPagination, CSmartTable, CSpinner, CTabContent, CTabPane, CTable, CTableBody, CTableCaption, CTableDataCell, CTableFoot, CTableHead, CTableHeaderCell, CTableRow, CToast, CToastBody, CToastClose, CToastHeader, CToaster, CTooltip, CWidgetStatsA, CWidgetStatsB, CWidgetStatsC, CWidgetStatsD, CWidgetStatsE, CWidgetStatsF };
9923
10055
  //# sourceMappingURL=index.es.js.map