bootstrap-rn 0.2.10 → 0.2.12

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.
@@ -5,10 +5,10 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var overlays = require('@react-native-aria/overlays');
6
6
  var reactNative = require('react-native');
7
7
  var cssToReactNative = require('css-to-react-native');
8
- var polished = require('polished');
9
8
  var React = require('react');
10
9
  var PropTypes = require('prop-types');
11
10
  var invariant = require('tiny-invariant');
11
+ var focus = require('@react-native-aria/focus');
12
12
  var reactNativeSvg = require('react-native-svg');
13
13
 
14
14
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -202,6 +202,10 @@ function _slicedToArray(arr, i) {
202
202
  return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
203
203
  }
204
204
 
205
+ function _toArray(arr) {
206
+ return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest();
207
+ }
208
+
205
209
  function _toConsumableArray(arr) {
206
210
  return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
207
211
  }
@@ -511,7 +515,7 @@ var directive = {
511
515
  }
512
516
  };
513
517
 
514
- var SELECTOR_TYPES = ['hover', 'focus', 'active'];
518
+ var SELECTOR_TYPES = ['hover', 'focus', 'focus-visible', 'active'];
515
519
  var selector = {
516
520
  locate: function locate(input) {
517
521
  return input.peek() === '&' && input.peek(1) === ':';
@@ -641,128 +645,150 @@ function parse() {
641
645
 
642
646
  var transformREMUnitRE = /([+-]+)?([\d.Ee]+)rem/g;
643
647
 
648
+ var convertRemToPx = function convertRemToPx(value) {
649
+ return reactNative.PixelRatio.getFontScale() * 16 * value;
650
+ };
651
+
644
652
  function rem(value) {
645
653
  if (reactNative.Platform.OS === 'web') {
646
654
  return value;
647
655
  }
648
656
 
649
- return value.replace(transformREMUnitRE, function (_, unary, number) {
650
- return "".concat(unary || '').concat(reactNative.PixelRatio.getFontScale() * 16 * number, "px");
657
+ return value.replace(transformREMUnitRE, function (_) {
658
+ var unary = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
659
+ var number = arguments.length > 2 ? arguments[2] : undefined;
660
+ return "".concat(unary).concat(convertRemToPx(number), "px");
651
661
  });
652
662
  }
653
663
 
654
- var valueRE = /^([+-]?(?:\d+|\d*\.\d+))([a-z]*|%)$/;
664
+ var valueRE = /^([+-]?(?:\d+|\d*\.\d+))(rem|px|%)?$/;
655
665
 
656
- var parseValue = function parseValue(value) {
657
- if (Array.isArray(value)) {
658
- return value;
659
- }
666
+ var UnitValue = /*#__PURE__*/function () {
667
+ function UnitValue(value) {
668
+ var unit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'number';
660
669
 
661
- if (typeof value === 'number') {
662
- return [value, null];
663
- }
670
+ _classCallCheck(this, UnitValue);
664
671
 
665
- var matchedValue = value.match(valueRE);
672
+ _defineProperty(this, "value", void 0);
666
673
 
667
- if (matchedValue) {
668
- return [parseFloat(value), matchedValue[2]];
674
+ _defineProperty(this, "unit", void 0);
675
+
676
+ this.value = value;
677
+ this.unit = unit;
669
678
  }
670
679
 
671
- return [value, undefined];
672
- };
680
+ _createClass(UnitValue, [{
681
+ key: "toNumber",
682
+ value: function toNumber() {
683
+ if (this.unit === 'percent') {
684
+ return this.value / 100;
685
+ }
673
686
 
674
- var getUnit = function getUnit(left, right) {
675
- if (!left && !right) {
676
- return '';
677
- }
687
+ if (this.unit === 'rem') {
688
+ return this.value * reactNative.PixelRatio.getFontScale() * 16;
689
+ }
678
690
 
679
- if (!left) {
680
- return right;
681
- }
691
+ return this.value;
692
+ }
693
+ }, {
694
+ key: "toString",
695
+ value: function toString() {
696
+ if (this.unit === 'number') {
697
+ return this.value;
698
+ }
682
699
 
683
- if (!right || left === right) {
684
- return left;
685
- }
700
+ if (this.unit === 'percent') {
701
+ return "".concat(this.value, "%");
702
+ }
686
703
 
687
- throw new Error("Different units ".concat(left, " and ").concat(right, " found for arithmetic operation."));
688
- };
704
+ return "".concat(this.value).concat(this.unit);
705
+ }
706
+ }], [{
707
+ key: "parse",
708
+ value: function parse(value) {
709
+ if (value instanceof UnitValue) {
710
+ return value;
711
+ }
712
+
713
+ if (typeof value === 'number') {
714
+ return new UnitValue(value, 'number');
715
+ }
716
+
717
+ var match = value.match(valueRE);
718
+
719
+ if (!match) {
720
+ throw new Error("Cannot parse number \"".concat(value, "\"."));
721
+ }
722
+
723
+ return new UnitValue(parseFloat(match[1]), match[2] === '%' ? 'percent' : match[2]);
724
+ }
725
+ }]);
726
+
727
+ return UnitValue;
728
+ }();
689
729
 
690
730
  var POWER = Math.pow(10, 8);
731
+ var UNIT_ORDER = ['percent', 'number', 'px', 'rem'];
691
732
 
692
733
  var fixRounding = function fixRounding(value) {
693
734
  return Math.round(value * POWER) / POWER;
694
735
  };
695
736
 
696
- var calculateValue = function calculateValue(leftValue, operator, rightValue) {
697
- if (operator === '+') {
698
- return leftValue + rightValue;
699
- }
700
-
701
- if (operator === '-') {
702
- return leftValue - rightValue;
737
+ var normalizeValue$1 = function normalizeValue(number1, number2) {
738
+ if (number1.unit === 'px' && number2.unit === 'rem') {
739
+ return number1.value / (reactNative.PixelRatio.getFontScale() * 16);
703
740
  }
704
741
 
705
- if (operator === '*') {
706
- return fixRounding(leftValue * rightValue);
742
+ if (number1.unit === 'percent' && number2.unit !== 'percent') {
743
+ return number1.value / 100;
707
744
  }
708
745
 
709
- if (operator === '/') {
710
- return fixRounding(leftValue / rightValue);
711
- }
712
-
713
- if (operator === '%') {
714
- return leftValue % rightValue;
715
- }
716
-
717
- throw new Error('Unknown operator.');
746
+ return number1.value;
718
747
  };
719
748
 
720
- function calculate(left, operator, right) {
721
- var _parseValue = parseValue(left),
722
- _parseValue2 = _slicedToArray(_parseValue, 2),
723
- leftValue = _parseValue2[0],
724
- leftUnit = _parseValue2[1];
749
+ var calculateValue = function calculateValue(number1, operator, number2) {
750
+ var value1 = normalizeValue$1(number1, number2);
751
+ var value2 = normalizeValue$1(number2, number1);
725
752
 
726
- var _parseValue3 = parseValue(right),
727
- _parseValue4 = _slicedToArray(_parseValue3, 2),
728
- rightValue = _parseValue4[0],
729
- rightUnit = _parseValue4[1];
753
+ switch (operator) {
754
+ case '+':
755
+ return value1 + value2;
730
756
 
731
- var unit = getUnit(leftUnit, rightUnit);
732
- return "".concat(calculateValue(leftValue, operator, rightValue)).concat(unit);
733
- }
757
+ case '-':
758
+ return value1 - value2;
734
759
 
735
- var convertToREM = function convertToREM(value) {
736
- var remValue = value / (reactNative.PixelRatio.getFontScale() * 16);
737
- return [remValue, 'rem'];
738
- }; // Use calculateAdvanced for mixed px/rem units.
760
+ case '*':
761
+ return fixRounding(value1 * value2);
739
762
 
763
+ case '/':
764
+ return fixRounding(value1 / value2);
740
765
 
741
- function calculateAdvanced(left, operator, right) {
742
- var parsedLeft = parseValue(left);
766
+ case '%':
767
+ return value1 % value2;
743
768
 
744
- var _parsedLeft = _slicedToArray(parsedLeft, 2),
745
- leftValue = _parsedLeft[0],
746
- leftUnit = _parsedLeft[1];
747
-
748
- var parsedRight = parseValue(right);
749
-
750
- var _parsedRight = _slicedToArray(parsedRight, 2),
751
- rightValue = _parsedRight[0],
752
- rightUnit = _parsedRight[1];
753
-
754
- if (leftUnit === 'px' && rightUnit === 'rem') {
755
- return calculate(convertToREM(leftValue), operator, parsedRight);
769
+ default:
770
+ throw new Error('Unknown operator.');
756
771
  }
772
+ };
757
773
 
758
- if (leftUnit === 'rem' && rightUnit === 'px') {
759
- return calculate(parsedLeft, operator, convertToREM(rightValue));
760
- }
774
+ var determineUnit = function determineUnit(number1, number2) {
775
+ var index1 = UNIT_ORDER.indexOf(number1.unit);
776
+ var index2 = UNIT_ORDER.indexOf(number2.unit);
777
+ return index1 > index2 ? number1.unit : number2.unit;
778
+ };
761
779
 
762
- return calculate(parsedLeft, operator, parsedRight);
780
+ function calculate(value1, operator, value2) {
781
+ var number1 = UnitValue.parse(value1);
782
+ var number2 = UnitValue.parse(value2);
783
+ var value = calculateValue(number1, operator, number2);
784
+ var unit = determineUnit(number1, number2);
785
+ return new UnitValue(value, unit).toString();
786
+ }
787
+ function normalizeNumber(value) {
788
+ return UnitValue.parse(value).toNumber();
763
789
  }
764
790
 
765
- var formulaRE = /([+-])?([\d.Ee]+)(rem|px)?\s*(\+|-|\*|%)\s*([+-])?([\d.Ee]+)(rem|px)?/g;
791
+ var formulaRE = /([+-]+)?([\d.Ee]+)(rem|px|%)?\s*(\+|-|\*|%)\s*([+-]+)?([\d.Ee]+)(rem|px|%)?/g;
766
792
 
767
793
  function formula(value) {
768
794
  // Naïve approach to calculate simple formulas.
@@ -770,22 +796,316 @@ function formula(value) {
770
796
  return value.replace(formulaRE, function (_) {
771
797
  var leftUnary = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
772
798
  var leftNumber = arguments.length > 2 ? arguments[2] : undefined;
773
- var leftUnit = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
799
+ var leftUnit = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';
774
800
  var operator = arguments.length > 4 ? arguments[4] : undefined;
775
801
  var rightUnary = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : '';
776
802
  var rightNumber = arguments.length > 6 ? arguments[6] : undefined;
777
- var rightUnit = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : null;
778
- var leftValue = [parseFloat("".concat(leftUnary).concat(leftNumber)), leftUnit];
779
- var rightValue = [parseFloat("".concat(rightUnary).concat(rightNumber)), rightUnit];
803
+ var rightUnit = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : '';
804
+ var leftValue = "".concat(leftUnary).concat(leftNumber).concat(leftUnit);
805
+ var rightValue = "".concat(rightUnary).concat(rightNumber).concat(rightUnit);
780
806
  return calculate(leftValue, operator, rightValue);
781
807
  });
782
808
  }
783
809
 
810
+ // Copied from https://github.com/styled-components/polished/blob/main/src/color/parseToRgb.js
811
+ var hexRE = /^#[a-fA-F0-9]{6}$/;
812
+ var hexRgbaRE = /^#[a-fA-F0-9]{8}$/;
813
+ var shortHexRE = /^#[a-fA-F0-9]{3}$/;
814
+ var shortRgbaHexRE = /^#[a-fA-F0-9]{4}$/;
815
+ var rgbRE = /^rgb\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*\)$/i;
816
+ var rgbaRE = /^rgb(?:a)?\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,|\/)\s*([-+]?\d*[.]?\d+[%]?)\s*\)$/i;
817
+ var hslRE = /^hsl\(\s*(\d{0,3}[.]?[0-9]+(?:deg)?)\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*\)$/i;
818
+ var hslaRE = /^hsl(?:a)?\(\s*(\d{0,3}[.]?[0-9]+(?:deg)?)\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,|\/)\s*([-+]?\d*[.]?\d+[%]?)\s*\)$/i; // Copied from https://reactnative.dev/docs/colors
819
+ // prettier-ignore
820
+
821
+ var colorNames = {
822
+ aliceblue: '#f0f8ff',
823
+ antiquewhite: '#faebd7',
824
+ aqua: '#00ffff',
825
+ aquamarine: '#7fffd4',
826
+ azure: '#f0ffff',
827
+ beige: '#f5f5dc',
828
+ bisque: '#ffe4c4',
829
+ black: '#000000',
830
+ blanchedalmond: '#ffebcd',
831
+ blue: '#0000ff',
832
+ blueviolet: '#8a2be2',
833
+ brown: '#a52a2a',
834
+ burlywood: '#deb887',
835
+ cadetblue: '#5f9ea0',
836
+ chartreuse: '#7fff00',
837
+ chocolate: '#d2691e',
838
+ coral: '#ff7f50',
839
+ cornflowerblue: '#6495ed',
840
+ cornsilk: '#fff8dc',
841
+ crimson: '#dc143c',
842
+ cyan: '#00ffff',
843
+ darkblue: '#00008b',
844
+ darkcyan: '#008b8b',
845
+ darkgoldenrod: '#b8860b',
846
+ darkgray: '#a9a9a9',
847
+ darkgreen: '#006400',
848
+ darkgrey: '#a9a9a9',
849
+ darkkhaki: '#bdb76b',
850
+ darkmagenta: '#8b008b',
851
+ darkolivegreen: '#556b2f',
852
+ darkorange: '#ff8c00',
853
+ darkorchid: '#9932cc',
854
+ darkred: '#8b0000',
855
+ darksalmon: '#e9967a',
856
+ darkseagreen: '#8fbc8f',
857
+ darkslateblue: '#483d8b',
858
+ darkslategrey: '#2f4f4f',
859
+ darkturquoise: '#00ced1',
860
+ darkviolet: '#9400d3',
861
+ deeppink: '#ff1493',
862
+ deepskyblue: '#00bfff',
863
+ dimgray: '#696969',
864
+ dimgrey: '#696969',
865
+ dodgerblue: '#1e90ff',
866
+ firebrick: '#b22222',
867
+ floralwhite: '#fffaf0',
868
+ forestgreen: '#228b22',
869
+ fuchsia: '#ff00ff',
870
+ gainsboro: '#dcdcdc',
871
+ ghostwhite: '#f8f8ff',
872
+ gold: '#ffd700',
873
+ goldenrod: '#daa520',
874
+ gray: '#808080',
875
+ green: '#008000',
876
+ greenyellow: '#adff2f',
877
+ grey: '#808080',
878
+ honeydew: '#f0fff0',
879
+ hotpink: '#ff69b4',
880
+ indianred: '#cd5c5c',
881
+ indigo: '#4b0082',
882
+ ivory: '#fffff0',
883
+ khaki: '#f0e68c',
884
+ lavender: '#e6e6fa',
885
+ lavenderblush: '#fff0f5',
886
+ lawngreen: '#7cfc00',
887
+ lemonchiffon: '#fffacd',
888
+ lightblue: '#add8e6',
889
+ lightcoral: '#f08080',
890
+ lightcyan: '#e0ffff',
891
+ lightgoldenrodyellow: '#fafad2',
892
+ lightgray: '#d3d3d3',
893
+ lightgreen: '#90ee90',
894
+ lightgrey: '#d3d3d3',
895
+ lightpink: '#ffb6c1',
896
+ lightsalmon: '#ffa07a',
897
+ lightseagreen: '#20b2aa',
898
+ lightskyblue: '#87cefa',
899
+ lightslategrey: '#778899',
900
+ lightsteelblue: '#b0c4de',
901
+ lightyellow: '#ffffe0',
902
+ lime: '#00ff00',
903
+ limegreen: '#32cd32',
904
+ linen: '#faf0e6',
905
+ magenta: '#ff00ff',
906
+ maroon: '#800000',
907
+ mediumaquamarine: '#66cdaa',
908
+ mediumblue: '#0000cd',
909
+ mediumorchid: '#ba55d3',
910
+ mediumpurple: '#9370db',
911
+ mediumseagreen: '#3cb371',
912
+ mediumslateblue: '#7b68ee',
913
+ mediumspringgreen: '#00fa9a',
914
+ mediumturquoise: '#48d1cc',
915
+ mediumvioletred: '#c71585',
916
+ midnightblue: '#191970',
917
+ mintcream: '#f5fffa',
918
+ mistyrose: '#ffe4e1',
919
+ moccasin: '#ffe4b5',
920
+ navajowhite: '#ffdead',
921
+ navy: '#000080',
922
+ oldlace: '#fdf5e6',
923
+ olive: '#808000',
924
+ olivedrab: '#6b8e23',
925
+ orange: '#ffa500',
926
+ orangered: '#ff4500',
927
+ orchid: '#da70d6',
928
+ palegoldenrod: '#eee8aa',
929
+ palegreen: '#98fb98',
930
+ paleturquoise: '#afeeee',
931
+ palevioletred: '#db7093',
932
+ papayawhip: '#ffefd5',
933
+ peachpuff: '#ffdab9',
934
+ peru: '#cd853f',
935
+ pink: '#ffc0cb',
936
+ plum: '#dda0dd',
937
+ powderblue: '#b0e0e6',
938
+ purple: '#800080',
939
+ rebeccapurple: '#663399',
940
+ red: '#ff0000',
941
+ rosybrown: '#bc8f8f',
942
+ royalblue: '#4169e1',
943
+ saddlebrown: '#8b4513',
944
+ salmon: '#fa8072',
945
+ sandybrown: '#f4a460',
946
+ seagreen: '#2e8b57',
947
+ seashell: '#fff5ee',
948
+ sienna: '#a0522d',
949
+ silver: '#c0c0c0',
950
+ skyblue: '#87ceeb',
951
+ slateblue: '#6a5acd',
952
+ slategray: '#708090',
953
+ snow: '#fffafa',
954
+ springgreen: '#00ff7f',
955
+ steelblue: '#4682b4',
956
+ tan: '#d2b48c',
957
+ teal: '#008080',
958
+ thistle: '#d8bfd8',
959
+ tomato: '#ff6347',
960
+ turquoise: '#40e0d0',
961
+ violet: '#ee82ee',
962
+ wheat: '#f5deb3',
963
+ white: '#ffffff',
964
+ whitesmoke: '#f5f5f5',
965
+ yellow: '#ffff00',
966
+ yellowgreen: '#9acd32'
967
+ };
968
+
969
+ var hslToRgb = function hslToRgb(h, s, l) {
970
+ var a = s * Math.min(l, 1 - l);
971
+
972
+ var f = function f(n) {
973
+ var k = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : (n + h / 30) % 12;
974
+ return l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);
975
+ };
976
+
977
+ return [f(0), f(8), f(4)];
978
+ };
979
+
980
+ var RgbaValue = /*#__PURE__*/function () {
981
+ function RgbaValue(red, green, blue) {
982
+ var alpha = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
983
+
984
+ _classCallCheck(this, RgbaValue);
985
+
986
+ _defineProperty(this, "red", void 0);
987
+
988
+ _defineProperty(this, "green", void 0);
989
+
990
+ _defineProperty(this, "blue", void 0);
991
+
992
+ _defineProperty(this, "alpha", void 0);
993
+
994
+ this.red = red;
995
+ this.green = green;
996
+ this.blue = blue;
997
+ this.alpha = alpha;
998
+ }
999
+
1000
+ _createClass(RgbaValue, [{
1001
+ key: "toRgb",
1002
+ value: function toRgb() {
1003
+ return [this.red, this.green, this.blue];
1004
+ }
1005
+ }, {
1006
+ key: "toRgba",
1007
+ value: function toRgba() {
1008
+ return [].concat(_toConsumableArray(this.toRgb()), [this.alpha]);
1009
+ }
1010
+ }, {
1011
+ key: "toHex",
1012
+ value: function toHex() {
1013
+ var _this$toRgb = this.toRgb(),
1014
+ _this$toRgb2 = _toArray(_this$toRgb),
1015
+ values = _this$toRgb2.slice(0);
1016
+
1017
+ if (this.alpha < 1) {
1018
+ values.push(this.alpha);
1019
+ }
1020
+
1021
+ return "#".concat(values.map(function (x) {
1022
+ var hex = x.toString(16);
1023
+ return hex.length === 1 ? "0".concat(hex) : hex;
1024
+ }).join(''));
1025
+ }
1026
+ }], [{
1027
+ key: "parse",
1028
+ value: function parse(value) {
1029
+ if (value instanceof RgbaValue) {
1030
+ return value;
1031
+ }
1032
+
1033
+ var color = colorNames[value] || value; // Handle hex value
1034
+
1035
+ var hexMatch = color.match(hexRE) || color.match(hexRgbaRE) || color.match(shortHexRE) || color.match(shortRgbaHexRE);
1036
+
1037
+ if (hexMatch) {
1038
+ var params = (hexMatch[0].length <= 4 ? hexMatch[0].match(/\w/g).map(function (x) {
1039
+ return "".concat(x).concat(x);
1040
+ }) : hexMatch[0].match(/\w\w/g)).map(function (hex, key) {
1041
+ var x = parseInt(hex, 16);
1042
+ var alpha = key === 3;
1043
+ return alpha ? (x / 255).toFixed(2) : x;
1044
+ });
1045
+ return _construct(RgbaValue, _toConsumableArray(params));
1046
+ } // Handle rgb(a) value
1047
+
1048
+
1049
+ var rgbMatch = color.match(rgbRE) || color.match(rgbaRE);
1050
+
1051
+ if (rgbMatch) {
1052
+ var _params = rgbMatch.slice(1).map(function (x, key) {
1053
+ var alpha = key === 3;
1054
+ return alpha ? parseFloat(x) : parseInt(x, 10);
1055
+ });
1056
+
1057
+ return _construct(RgbaValue, _toConsumableArray(_params));
1058
+ } // Handle hsl(a) value
1059
+
1060
+
1061
+ var hslMatch = color.match(hslRE) || color.match(hslaRE);
1062
+
1063
+ if (hslMatch) {
1064
+ var h = parseInt(hslMatch[1], 10);
1065
+ var s = parseInt(hslMatch[2], 10) / 100;
1066
+ var l = parseInt(hslMatch[3], 10) / 100;
1067
+ var alpha = hslMatch[4] && parseFloat(hslMatch[4]);
1068
+ return _construct(RgbaValue, [].concat(_toConsumableArray(hslToRgb(h, s, l)), [alpha]));
1069
+ }
1070
+
1071
+ throw new Error("Unknown color \"".concat(value, "\"."));
1072
+ }
1073
+ }]);
1074
+
1075
+ return RgbaValue;
1076
+ }();
1077
+
1078
+ function rgba$1(value, alpha) {
1079
+ var color = RgbaValue.parse(value);
1080
+ return "rgba(".concat(color.red, ",").concat(color.green, ",").concat(color.blue, ",").concat(alpha, ")");
1081
+ } // Sass equivalent
1082
+
1083
+ function opacity(value) {
1084
+ return RgbaValue.parse(value).alpha;
1085
+ } // Sass equivalent
1086
+
1087
+ function mix(color1, color2) {
1088
+ var weight = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0.5;
1089
+ var rgb1 = RgbaValue.parse(color1).toRgb();
1090
+ var rgb2 = RgbaValue.parse(color2).toRgb();
1091
+ var percentage = UnitValue.parse(weight).toNumber();
1092
+
1093
+ var _rgb1$map = rgb1.map(function (value, key) {
1094
+ return Math.round(rgb2[key] + (value - rgb2[key]) * percentage);
1095
+ }),
1096
+ _rgb1$map2 = _slicedToArray(_rgb1$map, 3),
1097
+ r = _rgb1$map2[0],
1098
+ g = _rgb1$map2[1],
1099
+ b = _rgb1$map2[2];
1100
+
1101
+ return new RgbaValue(r, g, b).toHex();
1102
+ }
1103
+
784
1104
  var transformRgbaRE = /rgba\(\s*([#0-9a-z]+)\s*,\s*([\d.Ee]+)\s*\)/g;
785
1105
 
786
1106
  function rgba(value) {
787
- return value.replace(transformRgbaRE, function (_, color, alpha) {
788
- return polished.rgba(color, Number(alpha));
1107
+ return value.replace(transformRgbaRE, function (_, hex, alpha) {
1108
+ return rgba$1(hex, alpha);
789
1109
  });
790
1110
  }
791
1111
 
@@ -1113,15 +1433,19 @@ function createStyle(definitions) {
1113
1433
  var active = platformDefinitions[key].scopes.every(function (scope) {
1114
1434
  if (scope.type === 'selector') {
1115
1435
  if (scope.name === 'hover') {
1116
- return interaction && interaction.hovered;
1436
+ return interaction && interaction.hover;
1117
1437
  }
1118
1438
 
1119
1439
  if (scope.name === 'focus') {
1120
- return interaction && interaction.focused;
1440
+ return interaction && interaction.focus;
1441
+ }
1442
+
1443
+ if (scope.name === 'focus-visible') {
1444
+ return interaction && interaction.focusVisible;
1121
1445
  }
1122
1446
 
1123
1447
  if (scope.name === 'active') {
1124
- return interaction && interaction.pressed;
1448
+ return interaction && interaction.active;
1125
1449
  }
1126
1450
  }
1127
1451
 
@@ -1224,20 +1548,16 @@ function getElementId(identifier, name) {
1224
1548
  return "".concat(identifier).concat(name ? "-".concat(name) : '');
1225
1549
  }
1226
1550
  function transformPlacement$1(placement) {
1227
- if (placement === 'left') {
1228
- return reactNative.I18nManager.isRTL ? 'end' : 'start';
1229
- }
1551
+ switch (placement) {
1552
+ case 'left':
1553
+ return reactNative.I18nManager.isRTL ? 'end' : 'start';
1230
1554
 
1231
- if (placement === 'right') {
1232
- return reactNative.I18nManager.isRTL ? 'start' : 'end';
1233
- }
1555
+ case 'right':
1556
+ return reactNative.I18nManager.isRTL ? 'start' : 'end';
1234
1557
 
1235
- return placement;
1236
- }
1237
- function convertToNumber(value) {
1238
- return parseFloat(value.replace(/([+-])?([\d.Ee]+)rem/g, function (_, unary, number) {
1239
- return "".concat(unary || '').concat(reactNative.PixelRatio.getFontScale() * 16 * number, "px");
1240
- }));
1558
+ default:
1559
+ return placement;
1560
+ }
1241
1561
  }
1242
1562
 
1243
1563
  // keys, but not the resolved values. The values are added later by the used
@@ -2113,8 +2433,7 @@ var fn = function fn(handle) {
2113
2433
 
2114
2434
  return function (t) {
2115
2435
  var input = args.map(function (arg) {
2116
- var value = typeof arg === 'function' ? arg(t) : arg;
2117
- return value;
2436
+ return typeof arg === 'function' ? arg(t) : arg;
2118
2437
  });
2119
2438
  return handle(input, t);
2120
2439
  };
@@ -2143,28 +2462,31 @@ var escapeSvg = function escapeSvg(string) {
2143
2462
  return string.startsWith('url(') ? "url(\"".concat(strReplace(string.slice(5, -2)), "\")") : strReplace(string);
2144
2463
  }; // Color contrast
2145
2464
  // A list of pre-calculated numbers of pow(divide((divide($value, 255) + .055), 1.055), 2.4). (from 0 to 255)
2465
+ // prettier-ignore
2146
2466
 
2147
2467
  var luminanceList = [0.0008, 0.001, 0.0011, 0.0013, 0.0015, 0.0017, 0.002, 0.0022, 0.0025, 0.0027, 0.003, 0.0033, 0.0037, 0.004, 0.0044, 0.0048, 0.0052, 0.0056, 0.006, 0.0065, 0.007, 0.0075, 0.008, 0.0086, 0.0091, 0.0097, 0.0103, 0.011, 0.0116, 0.0123, 0.013, 0.0137, 0.0144, 0.0152, 0.016, 0.0168, 0.0176, 0.0185, 0.0194, 0.0203, 0.0212, 0.0222, 0.0232, 0.0242, 0.0252, 0.0262, 0.0273, 0.0284, 0.0296, 0.0307, 0.0319, 0.0331, 0.0343, 0.0356, 0.0369, 0.0382, 0.0395, 0.0409, 0.0423, 0.0437, 0.0452, 0.0467, 0.0482, 0.0497, 0.0513, 0.0529, 0.0545, 0.0561, 0.0578, 0.0595, 0.0612, 0.063, 0.0648, 0.0666, 0.0685, 0.0704, 0.0723, 0.0742, 0.0762, 0.0782, 0.0802, 0.0823, 0.0844, 0.0865, 0.0887, 0.0908, 0.0931, 0.0953, 0.0976, 0.0999, 0.1022, 0.1046, 0.107, 0.1095, 0.1119, 0.1144, 0.117, 0.1195, 0.1221, 0.1248, 0.1274, 0.1301, 0.1329, 0.1356, 0.1384, 0.1413, 0.1441, 0.147, 0.15, 0.1529, 0.1559, 0.159, 0.162, 0.1651, 0.1683, 0.1714, 0.1746, 0.1779, 0.1812, 0.1845, 0.1878, 0.1912, 0.1946, 0.1981, 0.2016, 0.2051, 0.2086, 0.2122, 0.2159, 0.2195, 0.2232, 0.227, 0.2307, 0.2346, 0.2384, 0.2423, 0.2462, 0.2502, 0.2542, 0.2582, 0.2623, 0.2664, 0.2705, 0.2747, 0.2789, 0.2831, 0.2874, 0.2918, 0.2961, 0.3005, 0.305, 0.3095, 0.314, 0.3185, 0.3231, 0.3278, 0.3325, 0.3372, 0.3419, 0.3467, 0.3515, 0.3564, 0.3613, 0.3663, 0.3712, 0.3763, 0.3813, 0.3864, 0.3916, 0.3968, 0.402, 0.4072, 0.4125, 0.4179, 0.4233, 0.4287, 0.4342, 0.4397, 0.4452, 0.4508, 0.4564, 0.4621, 0.4678, 0.4735, 0.4793, 0.4851, 0.491, 0.4969, 0.5029, 0.5089, 0.5149, 0.521, 0.5271, 0.5333, 0.5395, 0.5457, 0.552, 0.5583, 0.5647, 0.5711, 0.5776, 0.5841, 0.5906, 0.5972, 0.6038, 0.6105, 0.6172, 0.624, 0.6308, 0.6376, 0.6445, 0.6514, 0.6584, 0.6654, 0.6724, 0.6795, 0.6867, 0.6939, 0.7011, 0.7084, 0.7157, 0.7231, 0.7305, 0.7379, 0.7454, 0.7529, 0.7605, 0.7682, 0.7758, 0.7835, 0.7913, 0.7991, 0.807, 0.8148, 0.8228, 0.8308, 0.8388, 0.8469, 0.855, 0.8632, 0.8714, 0.8796, 0.8879, 0.8963, 0.9047, 0.9131, 0.9216, 0.9301, 0.9387, 0.9473, 0.956, 0.9647, 0.9734, 0.9823, 0.9911, 1]; // Return WCAG2.0 relative luminance
2148
2468
  // See https://www.w3.org/WAI/GL/wiki/Relative_luminance
2149
2469
  // See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests
2150
2470
 
2151
2471
  var luminance = function luminance(color) {
2152
- var rgb = polished.parseToRgb(color);
2153
- Object.entries(rgb).forEach(function (_ref3) {
2154
- var _ref4 = _slicedToArray(_ref3, 2),
2155
- name = _ref4[0],
2156
- value = _ref4[1];
2472
+ var rgb = RgbaValue.parse(color).toRgb();
2157
2473
 
2158
- rgb[name] = value / 255 < 0.03928 ? value / 255 / 12.92 : luminanceList[value];
2159
- });
2160
- return rgb.red * 0.2126 + rgb.green * 0.7152 + rgb.blue * 0.0722;
2474
+ var _rgb$map = rgb.map(function (value) {
2475
+ return value / 255 < 0.04045 ? value / 255 / 12.92 : luminanceList[value];
2476
+ }),
2477
+ _rgb$map2 = _slicedToArray(_rgb$map, 3),
2478
+ red = _rgb$map2[0],
2479
+ green = _rgb$map2[1],
2480
+ blue = _rgb$map2[2];
2481
+
2482
+ return red * 0.2126 + green * 0.7152 + blue * 0.0722;
2161
2483
  }; // Return opaque color
2162
2484
  // opaque(#fff, rgba(0, 0, 0, .5)) => #808080
2163
2485
 
2164
2486
 
2165
2487
  var opaque = function opaque(background, foreground) {
2166
- var opacity = polished.parseToRgb(foreground).alpha || 1;
2167
- return polished.mix(opacity, polished.rgba(foreground, 1), background);
2488
+ var foregroundRgba = RgbaValue.parse(foreground);
2489
+ return mix(rgba$1(foregroundRgba, 1), background, opacity(foregroundRgba));
2168
2490
  };
2169
2491
 
2170
2492
  var contrastRatio = function contrastRatio(background, foreground) {
@@ -2173,9 +2495,9 @@ var contrastRatio = function contrastRatio(background, foreground) {
2173
2495
  return l1 > l2 ? (l1 + 0.05) / (l2 + 0.05) : (l2 + 0.05) / (l1 + 0.05);
2174
2496
  };
2175
2497
 
2176
- var colorContrast = fn(function (_ref5, t) {
2177
- var _ref6 = _slicedToArray(_ref5, 1),
2178
- background = _ref6[0];
2498
+ var colorContrast = fn(function (_ref3, t) {
2499
+ var _ref4 = _slicedToArray(_ref3, 1),
2500
+ background = _ref4[0];
2179
2501
 
2180
2502
  var foregrounds = [t['color-contrast-light'], t['color-contrast-dark'], t.white, t.black];
2181
2503
  var maxRatio = 0;
@@ -2204,34 +2526,35 @@ var colorContrast = fn(function (_ref5, t) {
2204
2526
  return maxRatioColor;
2205
2527
  }); // Tint a color: mix a color with white
2206
2528
 
2207
- var tintColor = fn(function (_ref7, t) {
2208
- var _ref8 = _slicedToArray(_ref7, 2),
2209
- weight = _ref8[0],
2210
- color = _ref8[1];
2529
+ var tintColor = fn(function (_ref5, t) {
2530
+ var _ref6 = _slicedToArray(_ref5, 2),
2531
+ color = _ref6[0],
2532
+ weight = _ref6[1];
2211
2533
 
2212
- return polished.mix(weight, t.white, color);
2534
+ return mix(t.white, color, weight);
2213
2535
  }); // Shade a color: mix a color with black
2214
2536
 
2215
- var shadeColor = fn(function (_ref9, t) {
2216
- var _ref10 = _slicedToArray(_ref9, 2),
2217
- weight = _ref10[0],
2218
- color = _ref10[1];
2537
+ var shadeColor = fn(function (_ref7, t) {
2538
+ var _ref8 = _slicedToArray(_ref7, 2),
2539
+ color = _ref8[0],
2540
+ weight = _ref8[1];
2219
2541
 
2220
- return polished.mix(weight, t.black, color);
2542
+ return mix(t.black, color, weight);
2221
2543
  }); // Shade the color if the weight is positive, else tint it
2222
2544
 
2223
- var shiftColor = fn(function (_ref11, t) {
2224
- var _ref12 = _slicedToArray(_ref11, 2),
2225
- weight = _ref12[0],
2226
- color = _ref12[1];
2545
+ var shiftColor = fn(function (_ref9, t) {
2546
+ var _ref10 = _slicedToArray(_ref9, 2),
2547
+ color = _ref10[0],
2548
+ weight = _ref10[1];
2227
2549
 
2228
- var handle = weight > 0 ? shadeColor(weight, color) : tintColor(-weight, color);
2550
+ var percentage = UnitValue.parse(weight).toNumber();
2551
+ var handle = percentage > 0 ? shadeColor(color, percentage) : tintColor(color, -percentage);
2229
2552
  return handle(t);
2230
2553
  });
2231
- var add = fn(function (_ref13) {
2232
- var _ref14 = _slicedToArray(_ref13, 2),
2233
- value1 = _ref14[0],
2234
- value2 = _ref14[1];
2554
+ var add = fn(function (_ref11) {
2555
+ var _ref12 = _slicedToArray(_ref11, 2),
2556
+ value1 = _ref12[0],
2557
+ value2 = _ref12[1];
2235
2558
 
2236
2559
  if (value1 === null) {
2237
2560
  return value2;
@@ -2241,12 +2564,12 @@ var add = fn(function (_ref13) {
2241
2564
  return value1;
2242
2565
  }
2243
2566
 
2244
- return calculateAdvanced(value1, '+', value2);
2567
+ return calculate(value1, '+', value2);
2245
2568
  });
2246
- var subtract = fn(function (_ref15) {
2247
- var _ref16 = _slicedToArray(_ref15, 2),
2248
- value1 = _ref16[0],
2249
- value2 = _ref16[1];
2569
+ var subtract = fn(function (_ref13) {
2570
+ var _ref14 = _slicedToArray(_ref13, 2),
2571
+ value1 = _ref14[0],
2572
+ value2 = _ref14[1];
2250
2573
 
2251
2574
  if (value1 === null && value2 === null) {
2252
2575
  return null;
@@ -2260,12 +2583,12 @@ var subtract = fn(function (_ref15) {
2260
2583
  return value1;
2261
2584
  }
2262
2585
 
2263
- return calculateAdvanced(value1, '-', value2);
2586
+ return calculate(value1, '-', value2);
2264
2587
  });
2265
- var divide = fn(function (_ref17) {
2266
- var _ref18 = _slicedToArray(_ref17, 2),
2267
- dividend = _ref18[0],
2268
- divisor = _ref18[1];
2588
+ var divide = fn(function (_ref15) {
2589
+ var _ref16 = _slicedToArray(_ref15, 2),
2590
+ dividend = _ref16[0],
2591
+ divisor = _ref16[1];
2269
2592
 
2270
2593
  if (Math.abs(parseFloat(dividend)) === 0) {
2271
2594
  return 0;
@@ -2275,7 +2598,7 @@ var divide = fn(function (_ref17) {
2275
2598
  throw new Error('Cannot divide by 0');
2276
2599
  }
2277
2600
 
2278
- return calculateAdvanced(dividend, '/', divisor);
2601
+ return calculate(dividend, '/', divisor);
2279
2602
  });
2280
2603
  /* eslint-enable */
2281
2604
 
@@ -2289,7 +2612,7 @@ var url = function url(val) {
2289
2612
  };
2290
2613
  };
2291
2614
 
2292
- var variables = css(_templateObject$1e || (_templateObject$1e = _taggedTemplateLiteral(["\n // Color system\n\n $white: #fff;\n $gray-100: #f8f9fa;\n $gray-200: #e9ecef;\n $gray-300: #dee2e6;\n $gray-400: #ced4da;\n $gray-500: #adb5bd;\n $gray-600: #6c757d;\n $gray-700: #495057;\n $gray-800: #343a40;\n $gray-900: #212529;\n $black: #000;\n\n $grays: ", ";\n\n $blue: #0d6efd;\n $indigo: #6610f2;\n $purple: #6f42c1;\n $pink: #d63384;\n $red: #dc3545;\n $orange: #fd7e14;\n $yellow: #ffc107;\n $green: #198754;\n $teal: #20c997;\n $cyan: #0dcaf0;\n\n $colors: ", ";\n\n $primary: $blue;\n $secondary: $gray-600;\n $success: $green;\n $info: $cyan;\n $warning: $yellow;\n $danger: $red;\n $light: $gray-100;\n $dark: $gray-900;\n\n $theme-colors: ", ";\n\n // The contrast ratio to reach against white, to determine if color changes from \"light\" to \"dark\". Acceptable values for WCAG 2.0 are 3, 4.5 and 7.\n // See https://www.w3.org/TR/WCAG20/#visual-audio-contrast-contrast\n $min-contrast-ratio: 4.5;\n\n // Customize the light and dark text colors for use in our color contrast function.\n $color-contrast-dark: $black;\n $color-contrast-light: $white;\n\n $blue-100: tint-color($blue, 80%);\n $blue-200: tint-color($blue, 60%);\n $blue-300: tint-color($blue, 40%);\n $blue-400: tint-color($blue, 20%);\n $blue-500: $blue;\n $blue-600: shade-color($blue, 20%);\n $blue-700: shade-color($blue, 40%);\n $blue-800: shade-color($blue, 60%);\n $blue-900: shade-color($blue, 80%);\n\n $indigo-100: tint-color($indigo, 80%);\n $indigo-200: tint-color($indigo, 60%);\n $indigo-300: tint-color($indigo, 40%);\n $indigo-400: tint-color($indigo, 20%);\n $indigo-500: $indigo;\n $indigo-600: shade-color($indigo, 20%);\n $indigo-700: shade-color($indigo, 40%);\n $indigo-800: shade-color($indigo, 60%);\n $indigo-900: shade-color($indigo, 80%);\n\n $purple-100: tint-color($purple, 80%);\n $purple-200: tint-color($purple, 60%);\n $purple-300: tint-color($purple, 40%);\n $purple-400: tint-color($purple, 20%);\n $purple-500: $purple;\n $purple-600: shade-color($purple, 20%);\n $purple-700: shade-color($purple, 40%);\n $purple-800: shade-color($purple, 60%);\n $purple-900: shade-color($purple, 80%);\n\n $pink-100: tint-color($pink, 80%);\n $pink-200: tint-color($pink, 60%);\n $pink-300: tint-color($pink, 40%);\n $pink-400: tint-color($pink, 20%);\n $pink-500: $pink;\n $pink-600: shade-color($pink, 20%);\n $pink-700: shade-color($pink, 40%);\n $pink-800: shade-color($pink, 60%);\n $pink-900: shade-color($pink, 80%);\n\n $red-100: tint-color($red, 80%);\n $red-200: tint-color($red, 60%);\n $red-300: tint-color($red, 40%);\n $red-400: tint-color($red, 20%);\n $red-500: $red;\n $red-600: shade-color($red, 20%);\n $red-700: shade-color($red, 40%);\n $red-800: shade-color($red, 60%);\n $red-900: shade-color($red, 80%);\n\n $orange-100: tint-color($orange, 80%);\n $orange-200: tint-color($orange, 60%);\n $orange-300: tint-color($orange, 40%);\n $orange-400: tint-color($orange, 20%);\n $orange-500: $orange;\n $orange-600: shade-color($orange, 20%);\n $orange-700: shade-color($orange, 40%);\n $orange-800: shade-color($orange, 60%);\n $orange-900: shade-color($orange, 80%);\n\n $yellow-100: tint-color($yellow, 80%);\n $yellow-200: tint-color($yellow, 60%);\n $yellow-300: tint-color($yellow, 40%);\n $yellow-400: tint-color($yellow, 20%);\n $yellow-500: $yellow;\n $yellow-600: shade-color($yellow, 20%);\n $yellow-700: shade-color($yellow, 40%);\n $yellow-800: shade-color($yellow, 60%);\n $yellow-900: shade-color($yellow, 80%);\n\n $green-100: tint-color($green, 80%);\n $green-200: tint-color($green, 60%);\n $green-300: tint-color($green, 40%);\n $green-400: tint-color($green, 20%);\n $green-500: $green;\n $green-600: shade-color($green, 20%);\n $green-700: shade-color($green, 40%);\n $green-800: shade-color($green, 60%);\n $green-900: shade-color($green, 80%);\n\n $teal-100: tint-color($teal, 80%);\n $teal-200: tint-color($teal, 60%);\n $teal-300: tint-color($teal, 40%);\n $teal-400: tint-color($teal, 20%);\n $teal-500: $teal;\n $teal-600: shade-color($teal, 20%);\n $teal-700: shade-color($teal, 40%);\n $teal-800: shade-color($teal, 60%);\n $teal-900: shade-color($teal, 80%);\n\n $cyan-100: tint-color($cyan, 80%);\n $cyan-200: tint-color($cyan, 60%);\n $cyan-300: tint-color($cyan, 40%);\n $cyan-400: tint-color($cyan, 20%);\n $cyan-500: $cyan;\n $cyan-600: shade-color($cyan, 20%);\n $cyan-700: shade-color($cyan, 40%);\n $cyan-800: shade-color($cyan, 60%);\n $cyan-900: shade-color($cyan, 80%);\n\n $blues: ", ";\n\n $indigos: ", ";\n\n $purples: ", ";\n\n $pinks: ", ";\n\n $reds: ", ";\n\n $oranges: ", ";\n\n $yellows: ", ";\n\n $greens: ", ";\n\n $teals: ", ";\n\n $cyans: ", ";\n\n // Characters which are escaped by the escape-svg function\n // $escaped characters\n\n // Options\n //\n // Quickly modify global styling by enabling or disabling optional features.\n\n // NOTE: Handled by JavaScript.\n\n // Gradient\n //\n // The gradient which is added to components if \"$enable-gradients\" is \"true\"\n // This gradient is also added to elements with \".bg-gradient\"\n $gradient: linear-gradient(180deg, rgba($white, 0.15), rgba($white, 0));\n\n // Spacing\n //\n // Control the default styling of most Bootstrap elements by modifying these\n // variables. Mostly focused on spacing.\n // You can add more entries to the $spacers map, should you need more variation.\n\n $spacer: 1rem;\n $spacers: ", ";\n\n // Position\n //\n // Define the edge positioning anchors of the position utilities.\n\n $position-values: ", ";\n\n // Placeholder\n\n $placeholder-opacity-max: 0.5;\n $placeholder-opacity-min: 0.2;\n\n // Body\n //\n // Settings for the \"<body>\" element.\n\n $body-bg: $white;\n $body-color: $gray-900;\n $body-text-align: null;\n\n // Links\n //\n // Style anchor elements.\n\n $link-color: $primary;\n $link-decoration: underline;\n $link-shade-percentage: 0.2; // 20%;\n $link-hover-color: ", ";\n $link-hover-decoration: null;\n\n $stretched-link-pseudo-element: after;\n $stretched-link-z-index: 1;\n\n // Paragraphs\n //\n // Style p element.\n\n $paragraph-margin-bottom: 1rem;\n\n // Grid breakpoints\n //\n // Define the minimum dimensions at which your layout will change,\n // adapting to different screen sizes, for use in media queries.\n\n $grid-breakpoints: ", ";\n\n // Grid containers\n //\n // Define the maximum width of \".container\" for different screen sizes.\n\n $container-max-widths: ", ";\n\n // Grid columns\n //\n // Set the number of columns and specify the width of the gutters.\n\n // $grid-columns: 12;\n $grid-gutter-width: 1.5rem;\n // $grid-row-columns: 6;\n\n // Container padding\n\n $container-padding-x: $grid-gutter-width * 0.5;\n\n // Components\n //\n // Define common padding and border radius sizes and more.\n\n $border-width: 1px;\n $border-widths: ", ";\n\n $border-color: $gray-300;\n\n $border-radius: 0.25rem;\n $border-radius-sm: 0.2rem;\n $border-radius-lg: 0.3rem;\n $border-radius-pill: 50rem;\n\n $box-shadow: 0 0.5rem 1rem rgba($black, 0.15);\n $box-shadow-sm: 0 0.125rem 0.25rem rgba($black, 0.075);\n $box-shadow-lg: 0 1rem 3rem rgba($black, 0.175);\n $box-shadow-inset: inset 0 1px 2px rgba($black, 0.075);\n\n $component-active-color: $white;\n $component-active-bg: $primary;\n\n $caret-width: 1rem * 0.3; // 0.3em;\n $caret-vertical-align: $caret-width * 0.85;\n $caret-spacing: $caret-width * 0.85;\n\n $transition-base: all 0.2s ease-in-out;\n $transition-fade: opacity 0.15s linear;\n $transition-collapse: height 0.35s ease;\n $transition-collapse-width: width 0.35s ease;\n\n $aspect-ratios: ", ";\n\n // Typography\n //\n // Font, line-height, and color for body text, headings, and more.\n\n $font-family-sans-serif: ", ";\n $font-family-monospace: ", ";\n $font-family-base: $font-family-sans-serif;\n $font-family-code: $font-family-monospace;\n\n // $font-size-root affects the value of \"rem\", which is used for as well font sizes, paddings, and margins\n // $font-size-base affects the font size of the body text\n $font-size-root: null;\n $font-size-base: 1rem; // Assumes the browser default, typically \"16px\"\n $font-size-sm: $font-size-base * 0.875;\n $font-size-lg: $font-size-base * 1.25;\n\n $font-weight-lighter: 300; // lighter;\n $font-weight-light: 300;\n $font-weight-normal: 400;\n $font-weight-bold: 700;\n $font-weight-bolder: 500; // bolder;\n\n $font-weight-base: $font-weight-normal;\n\n $line-height-base: 1.5;\n $line-height-sm: 1.25;\n $line-height-lg: 2;\n\n $h1-font-size: $font-size-base * 2.5;\n $h2-font-size: $font-size-base * 2;\n $h3-font-size: $font-size-base * 1.75;\n $h4-font-size: $font-size-base * 1.5;\n $h5-font-size: $font-size-base * 1.25;\n $h6-font-size: $font-size-base;\n\n $font-sizes: ", ";\n\n $headings-margin-bottom: $spacer * 0.5;\n $headings-font-family: null;\n $headings-font-style: null;\n $headings-font-weight: 500;\n $headings-line-height: 1.2;\n $headings-color: null;\n\n $display-font-sizes: ", ";\n\n $display-font-weight: 300;\n $display-line-height: $headings-line-height;\n\n $lead-font-size: $font-size-base * 1.25;\n $lead-font-weight: 300;\n\n $small-font-size: $font-size-base * 0.875; // 0.875em;\n\n $sub-sup-font-size: $font-size-base * 0.75; // 0.75em;\n\n $text-muted: $gray-600;\n\n $initialism-font-size: $small-font-size;\n\n $blockquote-margin-y: $spacer;\n $blockquote-font-size: $font-size-base * 1.25;\n $blockquote-footer-color: $gray-600;\n $blockquote-footer-font-size: $small-font-size;\n\n $hr-margin-y: $spacer;\n $hr-color: inherit;\n $hr-bg-color: currentColor;\n $hr-border-width: 0;\n $hr-height: $border-width;\n $hr-opacity: 0.25;\n\n $legend-margin-bottom: 0.5rem;\n $legend-font-size: 1.5rem;\n $legend-font-weight: null;\n\n $mark-padding: $font-size-base * 0.2; // 0.2em;\n\n $dt-font-weight: $font-weight-bold;\n\n $nested-kbd-font-weight: $font-weight-bold;\n\n $list-inline-padding: 0.5rem;\n\n $mark-bg: #fcf8e3;\n\n // ...\n\n // Buttons + Forms\n //\n // Shared variables that are reassigned to \"$input-\" and \"$btn-\" specific variables.\n\n $input-btn-padding-y: 0.375rem;\n $input-btn-padding-x: 0.75rem;\n $input-btn-font-family: null;\n $input-btn-font-size: $font-size-base;\n $input-btn-line-height: $line-height-base;\n\n $input-btn-focus-width: 0.25rem;\n $input-btn-focus-color-opacity: 0.25;\n $input-btn-focus-color: rgba(\n $component-active-bg,\n $input-btn-focus-color-opacity\n );\n $input-btn-focus-blur: 0;\n $input-btn-focus-box-shadow: 0 0 $input-btn-focus-blur $input-btn-focus-width\n $input-btn-focus-color;\n\n $input-btn-padding-y-sm: 0.25rem;\n $input-btn-padding-x-sm: 0.5rem;\n $input-btn-font-size-sm: $font-size-sm;\n\n $input-btn-padding-y-lg: 0.5rem;\n $input-btn-padding-x-lg: 1rem;\n $input-btn-font-size-lg: $font-size-lg;\n\n $input-btn-border-width: $border-width;\n\n // Buttons\n //\n // For each of Bootstrap's buttons, define text, background, and border color.\n\n $btn-padding-y: $input-btn-padding-y;\n $btn-padding-x: $input-btn-padding-x;\n $btn-font-family: $input-btn-font-family;\n $btn-font-size: $input-btn-font-size;\n $btn-line-height: $input-btn-line-height;\n $btn-white-space: null; // Set to \"nowrap\" to prevent text wrapping\n\n $btn-padding-y-sm: $input-btn-padding-y-sm;\n $btn-padding-x-sm: $input-btn-padding-x-sm;\n $btn-font-size-sm: $input-btn-font-size-sm;\n\n $btn-padding-y-lg: $input-btn-padding-y-lg;\n $btn-padding-x-lg: $input-btn-padding-x-lg;\n $btn-font-size-lg: $input-btn-font-size-lg;\n\n $btn-border-width: $input-btn-border-width;\n\n $btn-font-weight: $font-weight-normal;\n $btn-box-shadow: inset 0 1px 0 rgba($white, 0.15),\n 0 1px 1px rgba($black, 0.075);\n $btn-focus-width: $input-btn-focus-width;\n $btn-focus-box-shadow: $input-btn-focus-box-shadow;\n $btn-disabled-opacity: 0.65;\n $btn-active-box-shadow: inset 0 3px 5px rgba($black, 0.125);\n\n $btn-link-color: $link-color;\n $btn-link-hover-color: $link-hover-color;\n $btn-link-disabled-color: $gray-600;\n\n // Allows for customizing button radius independently from global border radius\n $btn-border-radius: $border-radius;\n $btn-border-radius-sm: $border-radius-sm;\n $btn-border-radius-lg: $border-radius-lg;\n\n $btn-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out,\n border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n\n $btn-hover-bg-shade-amount: 0.15; // 15%;\n $btn-hover-bg-tint-amount: 0.15; // 15%;\n $btn-hover-border-shade-amount: 0.2; // 20%;\n $btn-hover-border-tint-amount: 0.1; // 10%;\n $btn-active-bg-shade-amount: 0.2; // 20%;\n $btn-active-bg-tint-amount: 0.2; // 20%;\n $btn-active-border-shade-amount: 0.25; // 25%;\n $btn-active-border-tint-amount: 0.1; // 10%;\n\n // Breadcrumb\n\n $breadcrumb-font-size: $font-size-base; // null;\n $breadcrumb-padding-y: 0;\n $breadcrumb-padding-x: 0;\n $breadcrumb-item-padding-x: 0.5rem;\n $breadcrumb-margin-bottom: 1rem;\n $breadcrumb-bg: null;\n $breadcrumb-divider-color: $gray-600;\n $breadcrumb-active-color: $gray-600;\n $breadcrumb-divider: ", "; // quote('/');\n $breadcrumb-divider-flipped: $breadcrumb-divider;\n $breadcrumb-border-radius: null;\n\n // Forms\n\n $form-text-margin-top: 0.25rem;\n $form-text-font-size: $small-font-size;\n $form-text-font-style: null;\n $form-text-font-weight: null;\n $form-text-color: $text-muted;\n\n $form-label-margin-bottom: 0.5rem;\n $form-label-font-size: $font-size-base; // null;\n $form-label-font-style: null;\n $form-label-font-weight: null;\n $form-label-color: null;\n\n $input-padding-y: $input-btn-padding-y;\n $input-padding-x: $input-btn-padding-x;\n $input-font-family: $input-btn-font-family;\n $input-font-size: $input-btn-font-size;\n $input-font-weight: $font-weight-base;\n $input-line-height: $input-btn-line-height;\n\n $input-padding-y-sm: $input-btn-padding-y-sm;\n $input-padding-x-sm: $input-btn-padding-x-sm;\n $input-font-size-sm: $input-btn-font-size-sm;\n\n $input-padding-y-lg: $input-btn-padding-y-lg;\n $input-padding-x-lg: $input-btn-padding-x-lg;\n $input-font-size-lg: $input-btn-font-size-lg;\n\n $input-bg: $body-bg;\n $input-disabled-bg: $gray-200;\n $input-disabled-border-color: null;\n\n $input-color: $body-color;\n $input-border-color: $gray-400;\n $input-border-width: $input-btn-border-width;\n $input-box-shadow: $box-shadow-inset;\n\n $input-border-radius: $border-radius;\n $input-border-radius-sm: $border-radius-sm;\n $input-border-radius-lg: $border-radius-lg;\n\n $input-focus-bg: $input-bg;\n $input-focus-border-color: ", ";\n $input-focus-color: $input-color;\n $input-focus-width: $input-btn-focus-width;\n $input-focus-box-shadow: $input-btn-focus-box-shadow;\n\n $input-placeholder-color: $gray-600;\n $input-plaintext-color: $body-color;\n\n $input-height-border: $input-border-width * 2;\n\n $input-height-inner: ", ";\n $input-height-inner-half: ", ";\n $input-height-inner-quarter: ", ";\n\n $input-height: ", ";\n $input-height-sm: ", ";\n $input-height-lg: ", ";\n\n $input-transition: border-color 0.15s ease-in-out,\n box-shadow 0.15s ease-in-out;\n\n $form-color-width: 3rem;\n\n $form-check-input-width: $font-size-base * 1; // 1em;\n $form-check-min-height: $font-size-base * $line-height-base;\n $form-check-padding-start: $form-check-input-width + 0.5rem; // 0.5em;\n $form-check-margin-bottom: 0.125rem;\n $form-check-label-color: null;\n $form-check-label-cursor: null;\n $form-check-transition: null;\n\n $form-check-input-active-filter: brightness(90%);\n\n $form-check-input-bg: $input-bg;\n $form-check-input-border: 1px solid rgba($black, 0.25);\n $form-check-input-border-radius: $font-size-base * 0.25; // 0.25em;\n $form-check-radio-border-radius: 50px; // 50%;\n $form-check-input-focus-border: $input-focus-border-color;\n $form-check-input-focus-box-shadow: $input-btn-focus-box-shadow;\n\n $form-check-input-checked-color: $component-active-color;\n $form-check-input-checked-bg-color: $component-active-bg;\n $form-check-input-checked-border-color: $form-check-input-checked-bg-color;\n $form-check-input-checked-bg-image: ", ";\n $form-check-radio-checked-bg-image: ", ";\n\n $form-check-input-indeterminate-color: $component-active-color;\n $form-check-input-indeterminate-bg-color: $component-active-bg;\n $form-check-input-indeterminate-border-color: $form-check-input-indeterminate-bg-color;\n $form-check-input-indeterminate-bg-image: ", ";\n\n $form-check-input-disabled-opacity: 0.5;\n $form-check-label-disabled-opacity: $form-check-input-disabled-opacity;\n $form-check-btn-check-disabled-opacity: $btn-disabled-opacity;\n\n $form-check-inline-margin-end: 1rem;\n\n $form-switch-color: rgba($black, 0.25);\n $form-switch-width: 2rem;\n $form-switch-padding-start: $form-switch-width + 0.5rem;\n $form-switch-bg-image: ", ";\n $form-switch-border-radius: $form-switch-width;\n $form-switch-transition: background-position 0.15s ease-in-out;\n\n $form-switch-focus-color: $input-focus-border-color;\n $form-switch-focus-bg-image: ", ";\n\n $form-switch-checked-color: $component-active-color;\n $form-switch-checked-bg-image: ", ";\n $form-switch-checked-bg-position: right center;\n\n $input-group-addon-padding-y: $input-padding-y;\n $input-group-addon-padding-x: $input-padding-x;\n $input-group-addon-font-weight: $input-font-weight;\n $input-group-addon-color: $input-color;\n $input-group-addon-bg: $gray-200;\n $input-group-addon-border-color: $input-border-color;\n\n $form-select-padding-y: $input-padding-y;\n $form-select-padding-x: $input-padding-x;\n $form-select-font-family: $input-font-family;\n $form-select-font-size: $input-font-size;\n $form-select-indicator-padding: $form-select-padding-x * 3; // Extra padding for background-image\n $form-select-font-weight: $input-font-weight;\n $form-select-line-height: $input-line-height;\n $form-select-color: $input-color;\n $form-select-bg: $input-bg;\n $form-select-disabled-color: null;\n $form-select-disabled-bg: $gray-200;\n $form-select-disabled-border-color: $input-disabled-border-color;\n $form-select-bg-position: right $form-select-padding-x center;\n $form-select-bg-size: 16px 12px; // In pixels because image dimensions\n $form-select-indicator-color: $gray-800;\n $form-select-indicator: ", ";\n\n $form-select-feedback-icon-padding-end: $form-select-padding-x * 2.5 +\n $form-select-indicator-padding;\n $form-select-feedback-icon-position: center right\n $form-select-indicator-padding;\n $form-select-feedback-icon-size: $input-height-inner-half\n $input-height-inner-half;\n\n $form-select-border-width: $input-border-width;\n $form-select-border-color: $input-border-color;\n $form-select-border-radius: $input-border-radius;\n $form-select-box-shadow: $box-shadow-inset;\n\n $form-select-focus-border-color: $input-focus-border-color;\n $form-select-focus-width: $input-focus-width;\n $form-select-focus-box-shadow: 0 0 0 $form-select-focus-width\n $input-btn-focus-color;\n\n $form-select-padding-y-sm: $input-padding-y-sm;\n $form-select-padding-x-sm: $input-padding-x-sm;\n $form-select-font-size-sm: $input-font-size-sm;\n $form-select-border-radius-sm: $input-border-radius-sm;\n\n $form-select-padding-y-lg: $input-padding-y-lg;\n $form-select-padding-x-lg: $input-padding-x-lg;\n $form-select-font-size-lg: $input-font-size-lg;\n $form-select-border-radius-lg: $input-border-radius-lg;\n\n $form-select-transition: $input-transition;\n\n $form-range-track-width: 100%;\n $form-range-track-height: 0.5rem;\n $form-range-track-cursor: pointer;\n $form-range-track-bg: $gray-300;\n $form-range-track-border-radius: 1rem;\n $form-range-track-box-shadow: $box-shadow-inset;\n\n $form-range-thumb-width: 1rem;\n $form-range-thumb-height: $form-range-thumb-width;\n $form-range-thumb-bg: $component-active-bg;\n $form-range-thumb-border: 0;\n $form-range-thumb-border-radius: 1rem;\n $form-range-thumb-box-shadow: 0 0.1rem 0.25rem rgba($black, 0.1);\n $form-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg,\n $input-focus-box-shadow;\n $form-range-thumb-focus-box-shadow-width: $input-focus-width; // For focus box shadow issue in Edge\n $form-range-thumb-active-bg: tint-color($component-active-bg, 70%);\n $form-range-thumb-disabled-bg: $gray-500;\n $form-range-thumb-transition: background-color 0.15s ease-in-out,\n border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n\n $form-file-button-color: $input-color;\n $form-file-button-bg: $input-group-addon-bg;\n $form-file-button-hover-bg: shade-color($form-file-button-bg, 5%);\n\n $form-floating-height: ", ";\n $form-floating-line-height: 1.25;\n $form-floating-padding-x: $input-padding-x;\n $form-floating-padding-y: 1rem;\n $form-floating-input-padding-t: 1.625rem;\n $form-floating-input-padding-b: 0.625rem;\n $form-floating-label-opacity: 0.65;\n $form-floating-label-transform: scale(0.85) translateY(-0.5rem)\n translateX(0.15rem);\n $form-floating-transition: opacity 0.1s ease-in-out,\n transform 0.1s ease-in-out;\n\n // Form validation\n\n $form-feedback-margin-top: $form-text-margin-top;\n $form-feedback-font-size: $form-text-font-size;\n $form-feedback-font-style: $form-text-font-style;\n $form-feedback-valid-color: $success;\n $form-feedback-invalid-color: $danger;\n\n $form-feedback-icon-valid-color: $form-feedback-valid-color;\n $form-feedback-icon-valid: ", ";\n $form-feedback-icon-invalid-color: $form-feedback-invalid-color;\n $form-feedback-icon-invalid: ", ";\n\n $form-validation-states: ", ";\n\n // Z-index master list\n //\n // Warning: Avoid customizing these values. They're used for a bird's eye view\n // of components dependent on the z-axis and are designed to all work together.\n\n $zindex-dropdown: 1000;\n $zindex-sticky: 1020;\n $zindex-fixed: 1030;\n $zindex-offcanvas-backdrop: 1040;\n $zindex-offcanvas: 1045;\n $zindex-modal-backdrop: 1050;\n $zindex-modal: 1055;\n $zindex-popover: 1070;\n $zindex-tooltip: 1080;\n\n // Navs\n\n $nav-link-padding-y: 0.5rem;\n $nav-link-padding-x: 1rem;\n $nav-link-font-size: null;\n $nav-link-font-weight: null;\n $nav-link-color: $link-color;\n $nav-link-hover-color: $link-hover-color;\n $nav-link-transition: color 0.15s ease-in-out,\n background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;\n $nav-link-disabled-color: $gray-600;\n\n $nav-tabs-border-color: $gray-300;\n $nav-tabs-border-width: $border-width;\n $nav-tabs-border-radius: $border-radius;\n $nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color;\n $nav-tabs-link-active-color: $gray-700;\n $nav-tabs-link-active-bg: $body-bg;\n $nav-tabs-link-active-border-color: $gray-300 $gray-300\n $nav-tabs-link-active-bg;\n\n $nav-pills-border-radius: $border-radius;\n $nav-pills-link-active-color: $component-active-color;\n $nav-pills-link-active-bg: $component-active-bg;\n\n // Navbar\n\n $navbar-padding-y: $spacer * 0.5;\n $navbar-padding-x: null;\n\n $navbar-nav-link-padding-x: 0.5rem;\n\n $navbar-brand-font-size: $font-size-lg;\n\n $nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y *\n 2;\n $navbar-brand-height: $navbar-brand-font-size * $line-height-base;\n $navbar-brand-padding-y-intermediate-result: $nav-link-height -\n $navbar-brand-height;\n $navbar-brand-padding-y: $navbar-brand-padding-y-intermediate-result * 0.5;\n $navbar-brand-margin-end: 1rem;\n\n $navbar-toggler-padding-y: 0.25rem;\n $navbar-toggler-padding-x: 0.75rem;\n $navbar-toggler-font-size: $font-size-lg;\n $navbar-toggler-border-radius: $btn-border-radius;\n $navbar-toggler-focus-width: $btn-focus-width;\n $navbar-toggler-transition: box-shadow 0.15s ease-in-out;\n\n $navbar-dark-color: rgba($white, 0.55);\n $navbar-dark-hover-color: rgba($white, 0.75);\n $navbar-dark-active-color: $white;\n $navbar-dark-disabled-color: rgba($white, 0.25);\n $navbar-dark-toggler-icon-bg: ", ";\n $navbar-dark-toggler-border-color: rgba($white, 0.1);\n\n $navbar-light-color: rgba($black, 0.55);\n $navbar-light-hover-color: rgba($black, 0.7);\n $navbar-light-active-color: rgba($black, 0.9);\n $navbar-light-disabled-color: rgba($black, 0.3);\n $navbar-light-toggler-icon-bg: ", ";\n $navbar-light-toggler-border-color: rgba($black, 0.1);\n\n $navbar-light-brand-color: $navbar-light-active-color;\n $navbar-light-brand-hover-color: $navbar-light-active-color;\n $navbar-dark-brand-color: $navbar-dark-active-color;\n $navbar-dark-brand-hover-color: $navbar-dark-active-color;\n\n // Dropdowns\n //\n // Dropdown menu container and contents.\n\n $dropdown-min-width: 10rem;\n $dropdown-padding-x: 0;\n $dropdown-padding-y: 0.5rem;\n $dropdown-spacer: 0.125rem;\n $dropdown-font-size: $font-size-base;\n $dropdown-color: $body-color;\n $dropdown-bg: $white;\n $dropdown-border-color: rgba($black, 0.15);\n $dropdown-border-radius: $border-radius;\n $dropdown-border-width: $border-width;\n $dropdown-inner-border-radius: ", ";\n $dropdown-divider-bg: $dropdown-border-color;\n $dropdown-divider-margin-y: $spacer * 0.5;\n $dropdown-box-shadow: $box-shadow;\n\n $dropdown-link-color: $gray-900;\n\n $dropdown-link-hover-color: ", ";\n $dropdown-link-hover-bg: $gray-200;\n\n $dropdown-link-active-color: $component-active-color;\n $dropdown-link-active-bg: $component-active-bg;\n\n $dropdown-link-disabled-color: $gray-500;\n\n $dropdown-item-padding-y: $spacer * 0.25;\n $dropdown-item-padding-x: $spacer;\n\n $dropdown-header-color: $gray-600;\n $dropdown-header-padding: $dropdown-padding-y $dropdown-item-padding-x;\n\n $dropdown-dark-color: $gray-300;\n $dropdown-dark-bg: $gray-800;\n $dropdown-dark-border-color: $dropdown-border-color;\n $dropdown-dark-divider-bg: $dropdown-divider-bg;\n $dropdown-dark-box-shadow: null;\n $dropdown-dark-link-color: $dropdown-dark-color;\n $dropdown-dark-link-hover-color: $white;\n $dropdown-dark-link-hover-bg: rgba($white, 0.15);\n $dropdown-dark-link-active-color: $dropdown-link-active-color;\n $dropdown-dark-link-active-bg: $dropdown-link-active-bg;\n $dropdown-dark-link-disabled-color: $gray-500;\n $dropdown-dark-header-color: $gray-500;\n\n // ...\n\n // Cards\n\n $card-spacer-y: $spacer;\n $card-spacer-x: $spacer;\n $card-title-spacer-y: $spacer * 0.5;\n $card-border-width: $border-width;\n $card-border-color: rgba($black, 0.125);\n $card-border-radius: $border-radius;\n $card-box-shadow: null;\n $card-inner-border-radius: ", ";\n $card-cap-padding-y: $card-spacer-y * 0.5;\n $card-cap-padding-x: $card-spacer-x;\n $card-cap-bg: rgba($black, 0.03);\n $card-cap-color: null;\n $card-height: null;\n $card-color: null;\n $card-bg: $white;\n $card-img-overlay-padding: $spacer;\n $card-group-margin: $grid-gutter-width * 0.5;\n\n // ...\n\n // Tooltips\n\n $tooltip-font-size: $font-size-sm;\n $tooltip-max-width: 200px;\n $tooltip-color: $white;\n $tooltip-bg: $black;\n $tooltip-border-radius: $border-radius;\n $tooltip-opacity: 0.9;\n $tooltip-padding-y: $spacer * 0.25;\n $tooltip-padding-x: $spacer * 0.5;\n $tooltip-margin: 0;\n\n $tooltip-arrow-width: 0.8rem;\n $tooltip-arrow-height: 0.4rem;\n $tooltip-arrow-color: $tooltip-bg;\n\n // Popovers\n\n $popover-font-size: $font-size-sm;\n $popover-bg: $white;\n $popover-max-width: 276px;\n $popover-border-width: $border-width;\n $popover-border-color: rgba($black, 0.2);\n $popover-border-radius: $border-radius-lg;\n $popover-inner-border-radius: ", ";\n $popover-box-shadow: $box-shadow;\n\n $popover-header-bg: ", ";\n $popover-header-color: $headings-color;\n $popover-header-padding-y: 0.5rem;\n $popover-header-padding-x: $spacer;\n\n $popover-body-color: $body-color;\n $popover-body-padding-y: $spacer;\n $popover-body-padding-x: $spacer;\n\n $popover-arrow-width: 1rem;\n $popover-arrow-height: 0.5rem;\n $popover-arrow-color: $popover-bg;\n\n $popover-arrow-outer-color: $popover-border-color;\n\n // Toasts\n\n $toast-max-width: 350px;\n $toast-padding-x: 0.75rem;\n $toast-padding-y: 0.5rem;\n $toast-font-size: 0.875rem;\n $toast-color: null;\n $toast-background-color: rgba($white, 0.85);\n $toast-border-width: 1px;\n $toast-border-color: rgba($black, 0.1);\n $toast-border-radius: $border-radius;\n $toast-box-shadow: $box-shadow;\n $toast-spacing: $container-padding-x;\n\n $toast-header-color: $gray-600;\n $toast-header-background-color: rgba($white, 0.85);\n $toast-header-border-color: rgba($black, 0.05);\n\n // Badges\n\n $badge-font-size: $font-size-base * 0.75; // 0.75em;\n $badge-font-weight: $font-weight-bold;\n $badge-color: $white;\n $badge-padding-y: $badge-font-size * 0.35; // 0.35em;\n $badge-padding-x: $badge-font-size * 0.65; // 0.65em;\n $badge-border-radius: $border-radius;\n\n // Modals\n\n $modal-inner-padding: $spacer;\n\n $modal-footer-margin-between: 0.5rem;\n\n $modal-dialog-margin: 0.5rem;\n $modal-dialog-margin-y-sm-up: 1.75rem;\n\n $modal-title-line-height: $line-height-base;\n\n $modal-content-color: null;\n $modal-content-bg: $white;\n $modal-content-border-color: rgba($black, 0.65); // rgba($black, 0.2);\n $modal-content-border-width: $border-width;\n $modal-content-border-radius: $border-radius-lg;\n $modal-content-inner-border-radius: ", ";\n $modal-content-box-shadow-xs: $box-shadow-sm;\n $modal-content-box-shadow-sm-up: $box-shadow;\n\n $modal-backdrop-bg: $black;\n $modal-backdrop-opacity: 0.5;\n $modal-header-border-color: $border-color;\n $modal-footer-border-color: $modal-header-border-color;\n $modal-header-border-width: $modal-content-border-width;\n $modal-footer-border-width: $modal-header-border-width;\n $modal-header-padding-y: $modal-inner-padding;\n $modal-header-padding-x: $modal-inner-padding;\n $modal-header-padding: $modal-header-padding-y $modal-header-padding-x; // Keep this for backwards compatibility\n\n $modal-sm: 300px;\n $modal-md: 500px;\n $modal-lg: 800px;\n $modal-xl: 1140px;\n\n $modal-fade-transform: translate(0, -50px);\n $modal-show-transform: none;\n $modal-transition: transform 0.3s ease-out;\n $modal-scale-transform: scale(1.02);\n\n // ...\n\n // Alerts\n //\n // Define alert colors, border radius, and padding.\n\n $alert-padding-y: $spacer;\n $alert-padding-x: $spacer;\n $alert-margin-bottom: 1rem;\n $alert-border-radius: $border-radius;\n $alert-link-font-weight: $font-weight-bold;\n $alert-border-width: $border-width;\n $alert-bg-scale: -0.8; // 80%;\n $alert-border-scale: -0.7; // 70%;\n $alert-color-scale: 0.4; // 40%;\n $alert-dismissible-padding-r: $alert-padding-x * 3; // 3x covers width of x plus default padding on either side\n\n // Pagination\n\n $pagination-padding-y: 0.375rem;\n $pagination-padding-x: 0.75rem;\n $pagination-padding-y-sm: 0.25rem;\n $pagination-padding-x-sm: 0.5rem;\n $pagination-padding-y-lg: 0.75rem;\n $pagination-padding-x-lg: 1.5rem;\n\n $pagination-color: $link-color;\n $pagination-bg: $white;\n $pagination-border-width: $border-width;\n $pagination-border-radius: $border-radius;\n $pagination-margin-start: -$pagination-border-width;\n $pagination-border-color: $gray-300;\n\n $pagination-focus-color: $link-hover-color;\n $pagination-focus-bg: $gray-200;\n $pagination-focus-box-shadow: $input-btn-focus-box-shadow;\n $pagination-focus-outline: 0;\n\n $pagination-hover-color: $link-hover-color;\n $pagination-hover-bg: $gray-200;\n $pagination-hover-border-color: $gray-300;\n\n $pagination-active-color: $component-active-color;\n $pagination-active-bg: $component-active-bg;\n $pagination-active-border-color: $pagination-active-bg;\n\n $pagination-disabled-color: $gray-600;\n $pagination-disabled-bg: $white;\n $pagination-disabled-border-color: $gray-300;\n\n $pagination-transition: color 0.15s ease-in-out,\n background-color 0.15s ease-in-out, border-color 0.15s ease-in-out,\n box-shadow 0.15s ease-in-out;\n\n $pagination-border-radius-sm: $border-radius-sm;\n $pagination-border-radius-lg: $border-radius-lg;\n\n // Progress bars\n\n $progress-height: 1rem;\n $progress-font-size: $font-size-base * 0.75;\n $progress-bg: $gray-200;\n $progress-border-radius: $border-radius;\n $progress-box-shadow: $box-shadow-inset;\n $progress-bar-color: $white;\n $progress-bar-bg: $primary;\n $progress-bar-animation-timing: 1s linear infinite;\n $progress-bar-transition: width 0.6s ease;\n\n // List group\n\n $list-group-color: $gray-900;\n $list-group-bg: $white;\n $list-group-border-color: rgba($black, 0.125);\n $list-group-border-width: $border-width;\n $list-group-border-radius: $border-radius;\n\n $list-group-item-padding-y: $spacer * 0.5;\n $list-group-item-padding-x: $spacer;\n $list-group-item-bg-scale: -0.8; // 80%;\n $list-group-item-color-scale: 0.4; // 40%;\n\n $list-group-hover-bg: $gray-100;\n $list-group-active-color: $component-active-color;\n $list-group-active-bg: $component-active-bg;\n $list-group-active-border-color: $list-group-active-bg;\n\n $list-group-disabled-color: $gray-600;\n $list-group-disabled-bg: $list-group-bg;\n\n $list-group-action-color: $gray-700;\n $list-group-action-hover-color: $list-group-action-color;\n\n $list-group-action-active-color: $body-color;\n $list-group-action-active-bg: $gray-200;\n\n // ...\n\n // Spinners\n\n $spinner-width: 2rem;\n $spinner-height: $spinner-width;\n $spinner-vertical-align: $font-size-base * -0.125; // -.125em;\n $spinner-border-width: $font-size-base * 0.25; // .25em;\n $spinner-animation-speed: 0.75s;\n\n $spinner-width-sm: 1rem;\n $spinner-height-sm: $spinner-width-sm;\n $spinner-border-width-sm: $font-size-base * 0.2; // .2em;\n\n // Close\n\n $btn-close-width: $font-size-base * 1; // 1em;\n $btn-close-height: $btn-close-width;\n $btn-close-padding-x: $font-size-base * 0.25; // .25em;\n $btn-close-padding-y: $btn-close-padding-x;\n $btn-close-color: $black;\n $btn-close-bg: ", ";\n $btn-close-focus-shadow: $input-btn-focus-box-shadow;\n $btn-close-opacity: 0.5;\n $btn-close-hover-opacity: 0.75;\n $btn-close-focus-opacity: 1;\n $btn-close-disabled-opacity: 0.25;\n // $btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);\n\n // Offcanvas\n\n $offcanvas-padding-y: $modal-inner-padding;\n $offcanvas-padding-x: $modal-inner-padding;\n $offcanvas-horizontal-width: 400px;\n $offcanvas-vertical-height: 200px; // 30vh;\n $offcanvas-transition-duration: 0.3s;\n $offcanvas-border-color: $modal-content-border-color;\n $offcanvas-border-width: $modal-content-border-width;\n $offcanvas-title-line-height: $modal-title-line-height;\n $offcanvas-bg-color: $modal-content-bg;\n $offcanvas-color: $modal-content-color;\n $offcanvas-box-shadow: $modal-content-box-shadow-xs;\n $offcanvas-backdrop-bg: $modal-backdrop-bg;\n $offcanvas-backdrop-opacity: $modal-backdrop-opacity;\n\n // Code\n\n $code-font-size: $small-font-size;\n $code-color: $pink;\n\n $kbd-padding-y: 0.2rem;\n $kbd-padding-x: 0.4rem;\n $kbd-font-size: $code-font-size;\n $kbd-color: $white;\n $kbd-bg: $gray-900;\n\n $pre-color: null;\n"])), function (t) {
2615
+ var variables = css(_templateObject$1e || (_templateObject$1e = _taggedTemplateLiteral(["\n // Color system\n\n $white: #fff;\n $gray-100: #f8f9fa;\n $gray-200: #e9ecef;\n $gray-300: #dee2e6;\n $gray-400: #ced4da;\n $gray-500: #adb5bd;\n $gray-600: #6c757d;\n $gray-700: #495057;\n $gray-800: #343a40;\n $gray-900: #212529;\n $black: #000;\n\n $grays: ", ";\n\n $blue: #0d6efd;\n $indigo: #6610f2;\n $purple: #6f42c1;\n $pink: #d63384;\n $red: #dc3545;\n $orange: #fd7e14;\n $yellow: #ffc107;\n $green: #198754;\n $teal: #20c997;\n $cyan: #0dcaf0;\n\n $colors: ", ";\n\n $primary: $blue;\n $secondary: $gray-600;\n $success: $green;\n $info: $cyan;\n $warning: $yellow;\n $danger: $red;\n $light: $gray-100;\n $dark: $gray-900;\n\n $theme-colors: ", ";\n\n // The contrast ratio to reach against white, to determine if color changes from \"light\" to \"dark\". Acceptable values for WCAG 2.0 are 3, 4.5 and 7.\n // See https://www.w3.org/TR/WCAG20/#visual-audio-contrast-contrast\n $min-contrast-ratio: 4.5;\n\n // Customize the light and dark text colors for use in our color contrast function.\n $color-contrast-dark: $black;\n $color-contrast-light: $white;\n\n $blue-100: tint-color($blue, 80%);\n $blue-200: tint-color($blue, 60%);\n $blue-300: tint-color($blue, 40%);\n $blue-400: tint-color($blue, 20%);\n $blue-500: $blue;\n $blue-600: shade-color($blue, 20%);\n $blue-700: shade-color($blue, 40%);\n $blue-800: shade-color($blue, 60%);\n $blue-900: shade-color($blue, 80%);\n\n $indigo-100: tint-color($indigo, 80%);\n $indigo-200: tint-color($indigo, 60%);\n $indigo-300: tint-color($indigo, 40%);\n $indigo-400: tint-color($indigo, 20%);\n $indigo-500: $indigo;\n $indigo-600: shade-color($indigo, 20%);\n $indigo-700: shade-color($indigo, 40%);\n $indigo-800: shade-color($indigo, 60%);\n $indigo-900: shade-color($indigo, 80%);\n\n $purple-100: tint-color($purple, 80%);\n $purple-200: tint-color($purple, 60%);\n $purple-300: tint-color($purple, 40%);\n $purple-400: tint-color($purple, 20%);\n $purple-500: $purple;\n $purple-600: shade-color($purple, 20%);\n $purple-700: shade-color($purple, 40%);\n $purple-800: shade-color($purple, 60%);\n $purple-900: shade-color($purple, 80%);\n\n $pink-100: tint-color($pink, 80%);\n $pink-200: tint-color($pink, 60%);\n $pink-300: tint-color($pink, 40%);\n $pink-400: tint-color($pink, 20%);\n $pink-500: $pink;\n $pink-600: shade-color($pink, 20%);\n $pink-700: shade-color($pink, 40%);\n $pink-800: shade-color($pink, 60%);\n $pink-900: shade-color($pink, 80%);\n\n $red-100: tint-color($red, 80%);\n $red-200: tint-color($red, 60%);\n $red-300: tint-color($red, 40%);\n $red-400: tint-color($red, 20%);\n $red-500: $red;\n $red-600: shade-color($red, 20%);\n $red-700: shade-color($red, 40%);\n $red-800: shade-color($red, 60%);\n $red-900: shade-color($red, 80%);\n\n $orange-100: tint-color($orange, 80%);\n $orange-200: tint-color($orange, 60%);\n $orange-300: tint-color($orange, 40%);\n $orange-400: tint-color($orange, 20%);\n $orange-500: $orange;\n $orange-600: shade-color($orange, 20%);\n $orange-700: shade-color($orange, 40%);\n $orange-800: shade-color($orange, 60%);\n $orange-900: shade-color($orange, 80%);\n\n $yellow-100: tint-color($yellow, 80%);\n $yellow-200: tint-color($yellow, 60%);\n $yellow-300: tint-color($yellow, 40%);\n $yellow-400: tint-color($yellow, 20%);\n $yellow-500: $yellow;\n $yellow-600: shade-color($yellow, 20%);\n $yellow-700: shade-color($yellow, 40%);\n $yellow-800: shade-color($yellow, 60%);\n $yellow-900: shade-color($yellow, 80%);\n\n $green-100: tint-color($green, 80%);\n $green-200: tint-color($green, 60%);\n $green-300: tint-color($green, 40%);\n $green-400: tint-color($green, 20%);\n $green-500: $green;\n $green-600: shade-color($green, 20%);\n $green-700: shade-color($green, 40%);\n $green-800: shade-color($green, 60%);\n $green-900: shade-color($green, 80%);\n\n $teal-100: tint-color($teal, 80%);\n $teal-200: tint-color($teal, 60%);\n $teal-300: tint-color($teal, 40%);\n $teal-400: tint-color($teal, 20%);\n $teal-500: $teal;\n $teal-600: shade-color($teal, 20%);\n $teal-700: shade-color($teal, 40%);\n $teal-800: shade-color($teal, 60%);\n $teal-900: shade-color($teal, 80%);\n\n $cyan-100: tint-color($cyan, 80%);\n $cyan-200: tint-color($cyan, 60%);\n $cyan-300: tint-color($cyan, 40%);\n $cyan-400: tint-color($cyan, 20%);\n $cyan-500: $cyan;\n $cyan-600: shade-color($cyan, 20%);\n $cyan-700: shade-color($cyan, 40%);\n $cyan-800: shade-color($cyan, 60%);\n $cyan-900: shade-color($cyan, 80%);\n\n $blues: ", ";\n\n $indigos: ", ";\n\n $purples: ", ";\n\n $pinks: ", ";\n\n $reds: ", ";\n\n $oranges: ", ";\n\n $yellows: ", ";\n\n $greens: ", ";\n\n $teals: ", ";\n\n $cyans: ", ";\n\n // Characters which are escaped by the escape-svg function\n // $escaped characters\n\n // Options\n //\n // Quickly modify global styling by enabling or disabling optional features.\n\n // NOTE: Handled by JavaScript.\n\n // Gradient\n //\n // The gradient which is added to components if \"$enable-gradients\" is \"true\"\n // This gradient is also added to elements with \".bg-gradient\"\n $gradient: linear-gradient(180deg, rgba($white, 0.15), rgba($white, 0));\n\n // Spacing\n //\n // Control the default styling of most Bootstrap elements by modifying these\n // variables. Mostly focused on spacing.\n // You can add more entries to the $spacers map, should you need more variation.\n\n $spacer: 1rem;\n $spacers: ", ";\n\n // Position\n //\n // Define the edge positioning anchors of the position utilities.\n\n $position-values: ", ";\n\n // Placeholder\n\n $placeholder-opacity-max: 0.5;\n $placeholder-opacity-min: 0.2;\n\n // Body\n //\n // Settings for the \"<body>\" element.\n\n $body-bg: $white;\n $body-color: $gray-900;\n $body-text-align: null;\n\n // Links\n //\n // Style anchor elements.\n\n $link-color: $primary;\n $link-decoration: underline;\n $link-shade-percentage: 20%;\n $link-hover-color: ", ";\n $link-hover-decoration: null;\n\n $stretched-link-pseudo-element: after;\n $stretched-link-z-index: 1;\n\n // Paragraphs\n //\n // Style p element.\n\n $paragraph-margin-bottom: 1rem;\n\n // Grid breakpoints\n //\n // Define the minimum dimensions at which your layout will change,\n // adapting to different screen sizes, for use in media queries.\n\n $grid-breakpoints: ", ";\n\n // Grid containers\n //\n // Define the maximum width of \".container\" for different screen sizes.\n\n $container-max-widths: ", ";\n\n // Grid columns\n //\n // Set the number of columns and specify the width of the gutters.\n\n // $grid-columns: 12;\n $grid-gutter-width: 1.5rem;\n // $grid-row-columns: 6;\n\n // Container padding\n\n $container-padding-x: $grid-gutter-width * 0.5;\n\n // Components\n //\n // Define common padding and border radius sizes and more.\n\n $border-width: 1px;\n $border-widths: ", ";\n\n $border-color: $gray-300;\n\n $border-radius: 0.25rem;\n $border-radius-sm: 0.2rem;\n $border-radius-lg: 0.3rem;\n $border-radius-pill: 50rem;\n\n $box-shadow: 0 0.5rem 1rem rgba($black, 0.15);\n $box-shadow-sm: 0 0.125rem 0.25rem rgba($black, 0.075);\n $box-shadow-lg: 0 1rem 3rem rgba($black, 0.175);\n $box-shadow-inset: inset 0 1px 2px rgba($black, 0.075);\n\n $component-active-color: $white;\n $component-active-bg: $primary;\n\n $caret-width: 1rem * 0.3; // 0.3em;\n $caret-vertical-align: $caret-width * 0.85;\n $caret-spacing: $caret-width * 0.85;\n\n $transition-base: all 0.2s ease-in-out;\n $transition-fade: opacity 0.15s linear;\n $transition-collapse: height 0.35s ease;\n $transition-collapse-width: width 0.35s ease;\n\n $aspect-ratios: ", ";\n\n // Typography\n //\n // Font, line-height, and color for body text, headings, and more.\n\n $font-family-sans-serif: ", ";\n $font-family-monospace: ", ";\n $font-family-base: $font-family-sans-serif;\n $font-family-code: $font-family-monospace;\n\n // $font-size-root affects the value of \"rem\", which is used for as well font sizes, paddings, and margins\n // $font-size-base affects the font size of the body text\n $font-size-root: null;\n $font-size-base: 1rem; // Assumes the browser default, typically \"16px\"\n $font-size-sm: $font-size-base * 0.875;\n $font-size-lg: $font-size-base * 1.25;\n\n $font-weight-lighter: 300; // lighter;\n $font-weight-light: 300;\n $font-weight-normal: 400;\n $font-weight-bold: 700;\n $font-weight-bolder: 500; // bolder;\n\n $font-weight-base: $font-weight-normal;\n\n $line-height-base: 1.5;\n $line-height-sm: 1.25;\n $line-height-lg: 2;\n\n $h1-font-size: $font-size-base * 2.5;\n $h2-font-size: $font-size-base * 2;\n $h3-font-size: $font-size-base * 1.75;\n $h4-font-size: $font-size-base * 1.5;\n $h5-font-size: $font-size-base * 1.25;\n $h6-font-size: $font-size-base;\n\n $font-sizes: ", ";\n\n $headings-margin-bottom: $spacer * 0.5;\n $headings-font-family: null;\n $headings-font-style: null;\n $headings-font-weight: 500;\n $headings-line-height: 1.2;\n $headings-color: null;\n\n $display-font-sizes: ", ";\n\n $display-font-weight: 300;\n $display-line-height: $headings-line-height;\n\n $lead-font-size: $font-size-base * 1.25;\n $lead-font-weight: 300;\n\n $small-font-size: $font-size-base * 0.875; // 0.875em;\n\n $sub-sup-font-size: $font-size-base * 0.75; // 0.75em;\n\n $text-muted: $gray-600;\n\n $initialism-font-size: $small-font-size;\n\n $blockquote-margin-y: $spacer;\n $blockquote-font-size: $font-size-base * 1.25;\n $blockquote-footer-color: $gray-600;\n $blockquote-footer-font-size: $small-font-size;\n\n $hr-margin-y: $spacer;\n $hr-color: inherit;\n $hr-bg-color: currentColor;\n $hr-border-width: 0;\n $hr-height: $border-width;\n $hr-opacity: 0.25;\n\n $legend-margin-bottom: 0.5rem;\n $legend-font-size: 1.5rem;\n $legend-font-weight: null;\n\n $mark-padding: $font-size-base * 0.2; // 0.2em;\n\n $dt-font-weight: $font-weight-bold;\n\n $nested-kbd-font-weight: $font-weight-bold;\n\n $list-inline-padding: 0.5rem;\n\n $mark-bg: #fcf8e3;\n\n // ...\n\n // Buttons + Forms\n //\n // Shared variables that are reassigned to \"$input-\" and \"$btn-\" specific variables.\n\n $input-btn-padding-y: 0.375rem;\n $input-btn-padding-x: 0.75rem;\n $input-btn-font-family: null;\n $input-btn-font-size: $font-size-base;\n $input-btn-line-height: $line-height-base;\n\n $input-btn-focus-width: 0.25rem;\n $input-btn-focus-color-opacity: 0.25;\n $input-btn-focus-color: rgba(\n $component-active-bg,\n $input-btn-focus-color-opacity\n );\n $input-btn-focus-blur: 0;\n $input-btn-focus-box-shadow: 0 0 $input-btn-focus-blur $input-btn-focus-width\n $input-btn-focus-color;\n\n $input-btn-padding-y-sm: 0.25rem;\n $input-btn-padding-x-sm: 0.5rem;\n $input-btn-font-size-sm: $font-size-sm;\n\n $input-btn-padding-y-lg: 0.5rem;\n $input-btn-padding-x-lg: 1rem;\n $input-btn-font-size-lg: $font-size-lg;\n\n $input-btn-border-width: $border-width;\n\n // Buttons\n //\n // For each of Bootstrap's buttons, define text, background, and border color.\n\n $btn-padding-y: $input-btn-padding-y;\n $btn-padding-x: $input-btn-padding-x;\n $btn-font-family: $input-btn-font-family;\n $btn-font-size: $input-btn-font-size;\n $btn-line-height: $input-btn-line-height;\n $btn-white-space: null; // Set to \"nowrap\" to prevent text wrapping\n\n $btn-padding-y-sm: $input-btn-padding-y-sm;\n $btn-padding-x-sm: $input-btn-padding-x-sm;\n $btn-font-size-sm: $input-btn-font-size-sm;\n\n $btn-padding-y-lg: $input-btn-padding-y-lg;\n $btn-padding-x-lg: $input-btn-padding-x-lg;\n $btn-font-size-lg: $input-btn-font-size-lg;\n\n $btn-border-width: $input-btn-border-width;\n\n $btn-font-weight: $font-weight-normal;\n $btn-box-shadow: inset 0 1px 0 rgba($white, 0.15),\n 0 1px 1px rgba($black, 0.075);\n $btn-focus-width: $input-btn-focus-width;\n $btn-focus-box-shadow: $input-btn-focus-box-shadow;\n $btn-disabled-opacity: 0.65;\n $btn-active-box-shadow: inset 0 3px 5px rgba($black, 0.125);\n\n $btn-link-color: $link-color;\n $btn-link-hover-color: $link-hover-color;\n $btn-link-disabled-color: $gray-600;\n\n // Allows for customizing button radius independently from global border radius\n $btn-border-radius: $border-radius;\n $btn-border-radius-sm: $border-radius-sm;\n $btn-border-radius-lg: $border-radius-lg;\n\n $btn-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out,\n border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n\n $btn-hover-bg-shade-amount: 15%;\n $btn-hover-bg-tint-amount: 15%;\n $btn-hover-border-shade-amount: 20%;\n $btn-hover-border-tint-amount: 10%;\n $btn-active-bg-shade-amount: 20%;\n $btn-active-bg-tint-amount: 20%;\n $btn-active-border-shade-amount: 25%;\n $btn-active-border-tint-amount: 10%;\n\n // Breadcrumb\n\n $breadcrumb-font-size: $font-size-base; // null;\n $breadcrumb-padding-y: 0;\n $breadcrumb-padding-x: 0;\n $breadcrumb-item-padding-x: 0.5rem;\n $breadcrumb-margin-bottom: 1rem;\n $breadcrumb-bg: null;\n $breadcrumb-divider-color: $gray-600;\n $breadcrumb-active-color: $gray-600;\n $breadcrumb-divider: ", "; // quote('/');\n $breadcrumb-divider-flipped: $breadcrumb-divider;\n $breadcrumb-border-radius: null;\n\n // Forms\n\n $form-text-margin-top: 0.25rem;\n $form-text-font-size: $small-font-size;\n $form-text-font-style: null;\n $form-text-font-weight: null;\n $form-text-color: $text-muted;\n\n $form-label-margin-bottom: 0.5rem;\n $form-label-font-size: $font-size-base; // null;\n $form-label-font-style: null;\n $form-label-font-weight: null;\n $form-label-color: null;\n\n $input-padding-y: $input-btn-padding-y;\n $input-padding-x: $input-btn-padding-x;\n $input-font-family: $input-btn-font-family;\n $input-font-size: $input-btn-font-size;\n $input-font-weight: $font-weight-base;\n $input-line-height: $input-btn-line-height;\n\n $input-padding-y-sm: $input-btn-padding-y-sm;\n $input-padding-x-sm: $input-btn-padding-x-sm;\n $input-font-size-sm: $input-btn-font-size-sm;\n\n $input-padding-y-lg: $input-btn-padding-y-lg;\n $input-padding-x-lg: $input-btn-padding-x-lg;\n $input-font-size-lg: $input-btn-font-size-lg;\n\n $input-bg: $body-bg;\n $input-disabled-bg: $gray-200;\n $input-disabled-border-color: null;\n\n $input-color: $body-color;\n $input-border-color: $gray-400;\n $input-border-width: $input-btn-border-width;\n $input-box-shadow: $box-shadow-inset;\n\n $input-border-radius: $border-radius;\n $input-border-radius-sm: $border-radius-sm;\n $input-border-radius-lg: $border-radius-lg;\n\n $input-focus-bg: $input-bg;\n $input-focus-border-color: ", ";\n $input-focus-color: $input-color;\n $input-focus-width: $input-btn-focus-width;\n $input-focus-box-shadow: $input-btn-focus-box-shadow;\n\n $input-placeholder-color: $gray-600;\n $input-plaintext-color: $body-color;\n\n $input-height-border: $input-border-width * 2;\n\n $input-height-inner: ", ";\n $input-height-inner-half: ", ";\n $input-height-inner-quarter: ", ";\n\n $input-height: ", ";\n $input-height-sm: ", ";\n $input-height-lg: ", ";\n\n $input-transition: border-color 0.15s ease-in-out,\n box-shadow 0.15s ease-in-out;\n\n $form-color-width: 3rem;\n\n $form-check-input-width: $font-size-base * 1; // 1em;\n $form-check-min-height: $font-size-base * $line-height-base;\n $form-check-padding-start: $form-check-input-width + 0.5rem; // 0.5em;\n $form-check-margin-bottom: 0.125rem;\n $form-check-label-color: null;\n $form-check-label-cursor: null;\n $form-check-transition: null;\n\n $form-check-input-active-filter: brightness(90%);\n\n $form-check-input-bg: $input-bg;\n $form-check-input-border: 1px solid rgba($black, 0.25);\n $form-check-input-border-radius: $font-size-base * 0.25; // 0.25em;\n $form-check-radio-border-radius: 50%;\n $form-check-input-focus-border: $input-focus-border-color;\n $form-check-input-focus-box-shadow: $input-btn-focus-box-shadow;\n\n $form-check-input-checked-color: $component-active-color;\n $form-check-input-checked-bg-color: $component-active-bg;\n $form-check-input-checked-border-color: $form-check-input-checked-bg-color;\n $form-check-input-checked-bg-image: ", ";\n $form-check-radio-checked-bg-image: ", ";\n\n $form-check-input-indeterminate-color: $component-active-color;\n $form-check-input-indeterminate-bg-color: $component-active-bg;\n $form-check-input-indeterminate-border-color: $form-check-input-indeterminate-bg-color;\n $form-check-input-indeterminate-bg-image: ", ";\n\n $form-check-input-disabled-opacity: 0.5;\n $form-check-label-disabled-opacity: $form-check-input-disabled-opacity;\n $form-check-btn-check-disabled-opacity: $btn-disabled-opacity;\n\n $form-check-inline-margin-end: 1rem;\n\n $form-switch-color: rgba($black, 0.25);\n $form-switch-width: 2rem;\n $form-switch-padding-start: $form-switch-width + 0.5rem;\n $form-switch-bg-image: ", ";\n $form-switch-border-radius: $form-switch-width;\n $form-switch-transition: background-position 0.15s ease-in-out;\n\n $form-switch-focus-color: $input-focus-border-color;\n $form-switch-focus-bg-image: ", ";\n\n $form-switch-checked-color: $component-active-color;\n $form-switch-checked-bg-image: ", ";\n $form-switch-checked-bg-position: right center;\n\n $input-group-addon-padding-y: $input-padding-y;\n $input-group-addon-padding-x: $input-padding-x;\n $input-group-addon-font-weight: $input-font-weight;\n $input-group-addon-color: $input-color;\n $input-group-addon-bg: $gray-200;\n $input-group-addon-border-color: $input-border-color;\n\n $form-select-padding-y: $input-padding-y;\n $form-select-padding-x: $input-padding-x;\n $form-select-font-family: $input-font-family;\n $form-select-font-size: $input-font-size;\n $form-select-indicator-padding: $form-select-padding-x * 3; // Extra padding for background-image\n $form-select-font-weight: $input-font-weight;\n $form-select-line-height: $input-line-height;\n $form-select-color: $input-color;\n $form-select-bg: $input-bg;\n $form-select-disabled-color: null;\n $form-select-disabled-bg: $gray-200;\n $form-select-disabled-border-color: $input-disabled-border-color;\n $form-select-bg-position: right $form-select-padding-x center;\n $form-select-bg-size: 16px 12px; // In pixels because image dimensions\n $form-select-indicator-color: $gray-800;\n $form-select-indicator: ", ";\n\n $form-select-feedback-icon-padding-end: $form-select-padding-x * 2.5 +\n $form-select-indicator-padding;\n $form-select-feedback-icon-position: center right\n $form-select-indicator-padding;\n $form-select-feedback-icon-size: $input-height-inner-half\n $input-height-inner-half;\n\n $form-select-border-width: $input-border-width;\n $form-select-border-color: $input-border-color;\n $form-select-border-radius: $input-border-radius;\n $form-select-box-shadow: $box-shadow-inset;\n\n $form-select-focus-border-color: $input-focus-border-color;\n $form-select-focus-width: $input-focus-width;\n $form-select-focus-box-shadow: 0 0 0 $form-select-focus-width\n $input-btn-focus-color;\n\n $form-select-padding-y-sm: $input-padding-y-sm;\n $form-select-padding-x-sm: $input-padding-x-sm;\n $form-select-font-size-sm: $input-font-size-sm;\n $form-select-border-radius-sm: $input-border-radius-sm;\n\n $form-select-padding-y-lg: $input-padding-y-lg;\n $form-select-padding-x-lg: $input-padding-x-lg;\n $form-select-font-size-lg: $input-font-size-lg;\n $form-select-border-radius-lg: $input-border-radius-lg;\n\n $form-select-transition: $input-transition;\n\n $form-range-track-width: 100%;\n $form-range-track-height: 0.5rem;\n $form-range-track-cursor: pointer;\n $form-range-track-bg: $gray-300;\n $form-range-track-border-radius: 1rem;\n $form-range-track-box-shadow: $box-shadow-inset;\n\n $form-range-thumb-width: 1rem;\n $form-range-thumb-height: $form-range-thumb-width;\n $form-range-thumb-bg: $component-active-bg;\n $form-range-thumb-border: 0;\n $form-range-thumb-border-radius: 1rem;\n $form-range-thumb-box-shadow: 0 0.1rem 0.25rem rgba($black, 0.1);\n $form-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg,\n $input-focus-box-shadow;\n $form-range-thumb-focus-box-shadow-width: $input-focus-width; // For focus box shadow issue in Edge\n $form-range-thumb-active-bg: tint-color($component-active-bg, 70%);\n $form-range-thumb-disabled-bg: $gray-500;\n $form-range-thumb-transition: background-color 0.15s ease-in-out,\n border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n\n $form-file-button-color: $input-color;\n $form-file-button-bg: $input-group-addon-bg;\n $form-file-button-hover-bg: shade-color($form-file-button-bg, 5%);\n\n $form-floating-height: ", ";\n $form-floating-line-height: 1.25;\n $form-floating-padding-x: $input-padding-x;\n $form-floating-padding-y: 1rem;\n $form-floating-input-padding-t: 1.625rem;\n $form-floating-input-padding-b: 0.625rem;\n $form-floating-label-opacity: 0.65;\n $form-floating-label-transform: scale(0.85) translateY(-0.5rem)\n translateX(0.15rem);\n $form-floating-transition: opacity 0.1s ease-in-out,\n transform 0.1s ease-in-out;\n\n // Form validation\n\n $form-feedback-margin-top: $form-text-margin-top;\n $form-feedback-font-size: $form-text-font-size;\n $form-feedback-font-style: $form-text-font-style;\n $form-feedback-valid-color: $success;\n $form-feedback-invalid-color: $danger;\n\n $form-feedback-icon-valid-color: $form-feedback-valid-color;\n $form-feedback-icon-valid: ", ";\n $form-feedback-icon-invalid-color: $form-feedback-invalid-color;\n $form-feedback-icon-invalid: ", ";\n\n $form-validation-states: ", ";\n\n // Z-index master list\n //\n // Warning: Avoid customizing these values. They're used for a bird's eye view\n // of components dependent on the z-axis and are designed to all work together.\n\n $zindex-dropdown: 1000;\n $zindex-sticky: 1020;\n $zindex-fixed: 1030;\n $zindex-offcanvas-backdrop: 1040;\n $zindex-offcanvas: 1045;\n $zindex-modal-backdrop: 1050;\n $zindex-modal: 1055;\n $zindex-popover: 1070;\n $zindex-tooltip: 1080;\n\n // Navs\n\n $nav-link-padding-y: 0.5rem;\n $nav-link-padding-x: 1rem;\n $nav-link-font-size: null;\n $nav-link-font-weight: null;\n $nav-link-color: $link-color;\n $nav-link-hover-color: $link-hover-color;\n $nav-link-transition: color 0.15s ease-in-out,\n background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;\n $nav-link-disabled-color: $gray-600;\n\n $nav-tabs-border-color: $gray-300;\n $nav-tabs-border-width: $border-width;\n $nav-tabs-border-radius: $border-radius;\n $nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color;\n $nav-tabs-link-active-color: $gray-700;\n $nav-tabs-link-active-bg: $body-bg;\n $nav-tabs-link-active-border-color: $gray-300 $gray-300\n $nav-tabs-link-active-bg;\n\n $nav-pills-border-radius: $border-radius;\n $nav-pills-link-active-color: $component-active-color;\n $nav-pills-link-active-bg: $component-active-bg;\n\n // Navbar\n\n $navbar-padding-y: $spacer * 0.5;\n $navbar-padding-x: null;\n\n $navbar-nav-link-padding-x: 0.5rem;\n\n $navbar-brand-font-size: $font-size-lg;\n\n $nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y *\n 2;\n $navbar-brand-height: $navbar-brand-font-size * $line-height-base;\n $navbar-brand-padding-y-intermediate-result: $nav-link-height -\n $navbar-brand-height;\n $navbar-brand-padding-y: $navbar-brand-padding-y-intermediate-result * 0.5;\n $navbar-brand-margin-end: 1rem;\n\n $navbar-toggler-padding-y: 0.25rem;\n $navbar-toggler-padding-x: 0.75rem;\n $navbar-toggler-font-size: $font-size-lg;\n $navbar-toggler-border-radius: $btn-border-radius;\n $navbar-toggler-focus-width: $btn-focus-width;\n $navbar-toggler-transition: box-shadow 0.15s ease-in-out;\n\n $navbar-dark-color: rgba($white, 0.55);\n $navbar-dark-hover-color: rgba($white, 0.75);\n $navbar-dark-active-color: $white;\n $navbar-dark-disabled-color: rgba($white, 0.25);\n $navbar-dark-toggler-icon-bg: ", ";\n $navbar-dark-toggler-border-color: rgba($white, 0.1);\n\n $navbar-light-color: rgba($black, 0.55);\n $navbar-light-hover-color: rgba($black, 0.7);\n $navbar-light-active-color: rgba($black, 0.9);\n $navbar-light-disabled-color: rgba($black, 0.3);\n $navbar-light-toggler-icon-bg: ", ";\n $navbar-light-toggler-border-color: rgba($black, 0.1);\n\n $navbar-light-brand-color: $navbar-light-active-color;\n $navbar-light-brand-hover-color: $navbar-light-active-color;\n $navbar-dark-brand-color: $navbar-dark-active-color;\n $navbar-dark-brand-hover-color: $navbar-dark-active-color;\n\n // Dropdowns\n //\n // Dropdown menu container and contents.\n\n $dropdown-min-width: 10rem;\n $dropdown-padding-x: 0;\n $dropdown-padding-y: 0.5rem;\n $dropdown-spacer: 0.125rem;\n $dropdown-font-size: $font-size-base;\n $dropdown-color: $body-color;\n $dropdown-bg: $white;\n $dropdown-border-color: rgba($black, 0.15);\n $dropdown-border-radius: $border-radius;\n $dropdown-border-width: $border-width;\n $dropdown-inner-border-radius: ", ";\n $dropdown-divider-bg: $dropdown-border-color;\n $dropdown-divider-margin-y: $spacer * 0.5;\n $dropdown-box-shadow: $box-shadow;\n\n $dropdown-link-color: $gray-900;\n\n $dropdown-link-hover-color: ", ";\n $dropdown-link-hover-bg: $gray-200;\n\n $dropdown-link-active-color: $component-active-color;\n $dropdown-link-active-bg: $component-active-bg;\n\n $dropdown-link-disabled-color: $gray-500;\n\n $dropdown-item-padding-y: $spacer * 0.25;\n $dropdown-item-padding-x: $spacer;\n\n $dropdown-header-color: $gray-600;\n $dropdown-header-padding: $dropdown-padding-y $dropdown-item-padding-x;\n\n $dropdown-dark-color: $gray-300;\n $dropdown-dark-bg: $gray-800;\n $dropdown-dark-border-color: $dropdown-border-color;\n $dropdown-dark-divider-bg: $dropdown-divider-bg;\n $dropdown-dark-box-shadow: null;\n $dropdown-dark-link-color: $dropdown-dark-color;\n $dropdown-dark-link-hover-color: $white;\n $dropdown-dark-link-hover-bg: rgba($white, 0.15);\n $dropdown-dark-link-active-color: $dropdown-link-active-color;\n $dropdown-dark-link-active-bg: $dropdown-link-active-bg;\n $dropdown-dark-link-disabled-color: $gray-500;\n $dropdown-dark-header-color: $gray-500;\n\n // ...\n\n // Cards\n\n $card-spacer-y: $spacer;\n $card-spacer-x: $spacer;\n $card-title-spacer-y: $spacer * 0.5;\n $card-border-width: $border-width;\n $card-border-color: rgba($black, 0.125);\n $card-border-radius: $border-radius;\n $card-box-shadow: null;\n $card-inner-border-radius: ", ";\n $card-cap-padding-y: $card-spacer-y * 0.5;\n $card-cap-padding-x: $card-spacer-x;\n $card-cap-bg: rgba($black, 0.03);\n $card-cap-color: null;\n $card-height: null;\n $card-color: null;\n $card-bg: $white;\n $card-img-overlay-padding: $spacer;\n $card-group-margin: $grid-gutter-width * 0.5;\n\n // ...\n\n // Tooltips\n\n $tooltip-font-size: $font-size-sm;\n $tooltip-max-width: 200px;\n $tooltip-color: $white;\n $tooltip-bg: $black;\n $tooltip-border-radius: $border-radius;\n $tooltip-opacity: 0.9;\n $tooltip-padding-y: $spacer * 0.25;\n $tooltip-padding-x: $spacer * 0.5;\n $tooltip-margin: 0;\n\n $tooltip-arrow-width: 0.8rem;\n $tooltip-arrow-height: 0.4rem;\n $tooltip-arrow-color: $tooltip-bg;\n\n // Popovers\n\n $popover-font-size: $font-size-sm;\n $popover-bg: $white;\n $popover-max-width: 276px;\n $popover-border-width: $border-width;\n $popover-border-color: rgba($black, 0.2);\n $popover-border-radius: $border-radius-lg;\n $popover-inner-border-radius: ", ";\n $popover-box-shadow: $box-shadow;\n\n $popover-header-bg: ", ";\n $popover-header-color: $headings-color;\n $popover-header-padding-y: 0.5rem;\n $popover-header-padding-x: $spacer;\n\n $popover-body-color: $body-color;\n $popover-body-padding-y: $spacer;\n $popover-body-padding-x: $spacer;\n\n $popover-arrow-width: 1rem;\n $popover-arrow-height: 0.5rem;\n $popover-arrow-color: $popover-bg;\n\n $popover-arrow-outer-color: $popover-border-color;\n\n // Toasts\n\n $toast-max-width: 350px;\n $toast-padding-x: 0.75rem;\n $toast-padding-y: 0.5rem;\n $toast-font-size: 0.875rem;\n $toast-color: null;\n $toast-background-color: rgba($white, 0.85);\n $toast-border-width: 1px;\n $toast-border-color: rgba($black, 0.1);\n $toast-border-radius: $border-radius;\n $toast-box-shadow: $box-shadow;\n $toast-spacing: $container-padding-x;\n\n $toast-header-color: $gray-600;\n $toast-header-background-color: rgba($white, 0.85);\n $toast-header-border-color: rgba($black, 0.05);\n\n // Badges\n\n $badge-font-size: $font-size-base * 0.75; // 0.75em;\n $badge-font-weight: $font-weight-bold;\n $badge-color: $white;\n $badge-padding-y: $badge-font-size * 0.35; // 0.35em;\n $badge-padding-x: $badge-font-size * 0.65; // 0.65em;\n $badge-border-radius: $border-radius;\n\n // Modals\n\n $modal-inner-padding: $spacer;\n\n $modal-footer-margin-between: 0.5rem;\n\n $modal-dialog-margin: 0.5rem;\n $modal-dialog-margin-y-sm-up: 1.75rem;\n\n $modal-title-line-height: $line-height-base;\n\n $modal-content-color: null;\n $modal-content-bg: $white;\n $modal-content-border-color: rgba($black, 0.65); // rgba($black, 0.2);\n $modal-content-border-width: $border-width;\n $modal-content-border-radius: $border-radius-lg;\n $modal-content-inner-border-radius: ", ";\n $modal-content-box-shadow-xs: $box-shadow-sm;\n $modal-content-box-shadow-sm-up: $box-shadow;\n\n $modal-backdrop-bg: $black;\n $modal-backdrop-opacity: 0.5;\n $modal-header-border-color: $border-color;\n $modal-footer-border-color: $modal-header-border-color;\n $modal-header-border-width: $modal-content-border-width;\n $modal-footer-border-width: $modal-header-border-width;\n $modal-header-padding-y: $modal-inner-padding;\n $modal-header-padding-x: $modal-inner-padding;\n $modal-header-padding: $modal-header-padding-y $modal-header-padding-x; // Keep this for backwards compatibility\n\n $modal-sm: 300px;\n $modal-md: 500px;\n $modal-lg: 800px;\n $modal-xl: 1140px;\n\n $modal-fade-transform: translate(0, -50px);\n $modal-show-transform: none;\n $modal-transition: transform 0.3s ease-out;\n $modal-scale-transform: scale(1.02);\n\n // ...\n\n // Alerts\n //\n // Define alert colors, border radius, and padding.\n\n $alert-padding-y: $spacer;\n $alert-padding-x: $spacer;\n $alert-margin-bottom: 1rem;\n $alert-border-radius: $border-radius;\n $alert-link-font-weight: $font-weight-bold;\n $alert-border-width: $border-width;\n $alert-bg-scale: -80%;\n $alert-border-scale: -70%;\n $alert-color-scale: 40%;\n $alert-dismissible-padding-r: $alert-padding-x * 3; // 3x covers width of x plus default padding on either side\n\n // Pagination\n\n $pagination-padding-y: 0.375rem;\n $pagination-padding-x: 0.75rem;\n $pagination-padding-y-sm: 0.25rem;\n $pagination-padding-x-sm: 0.5rem;\n $pagination-padding-y-lg: 0.75rem;\n $pagination-padding-x-lg: 1.5rem;\n\n $pagination-color: $link-color;\n $pagination-bg: $white;\n $pagination-border-width: $border-width;\n $pagination-border-radius: $border-radius;\n $pagination-margin-start: -$pagination-border-width;\n $pagination-border-color: $gray-300;\n\n $pagination-focus-color: $link-hover-color;\n $pagination-focus-bg: $gray-200;\n $pagination-focus-box-shadow: $input-btn-focus-box-shadow;\n $pagination-focus-outline: 0;\n\n $pagination-hover-color: $link-hover-color;\n $pagination-hover-bg: $gray-200;\n $pagination-hover-border-color: $gray-300;\n\n $pagination-active-color: $component-active-color;\n $pagination-active-bg: $component-active-bg;\n $pagination-active-border-color: $pagination-active-bg;\n\n $pagination-disabled-color: $gray-600;\n $pagination-disabled-bg: $white;\n $pagination-disabled-border-color: $gray-300;\n\n $pagination-transition: color 0.15s ease-in-out,\n background-color 0.15s ease-in-out, border-color 0.15s ease-in-out,\n box-shadow 0.15s ease-in-out;\n\n $pagination-border-radius-sm: $border-radius-sm;\n $pagination-border-radius-lg: $border-radius-lg;\n\n // Progress bars\n\n $progress-height: 1rem;\n $progress-font-size: $font-size-base * 0.75;\n $progress-bg: $gray-200;\n $progress-border-radius: $border-radius;\n $progress-box-shadow: $box-shadow-inset;\n $progress-bar-color: $white;\n $progress-bar-bg: $primary;\n $progress-bar-animation-timing: 1s linear infinite;\n $progress-bar-transition: width 0.6s ease;\n\n // List group\n\n $list-group-color: $gray-900;\n $list-group-bg: $white;\n $list-group-border-color: rgba($black, 0.125);\n $list-group-border-width: $border-width;\n $list-group-border-radius: $border-radius;\n\n $list-group-item-padding-y: $spacer * 0.5;\n $list-group-item-padding-x: $spacer;\n $list-group-item-bg-scale: -80%;\n $list-group-item-color-scale: 40%;\n\n $list-group-hover-bg: $gray-100;\n $list-group-active-color: $component-active-color;\n $list-group-active-bg: $component-active-bg;\n $list-group-active-border-color: $list-group-active-bg;\n\n $list-group-disabled-color: $gray-600;\n $list-group-disabled-bg: $list-group-bg;\n\n $list-group-action-color: $gray-700;\n $list-group-action-hover-color: $list-group-action-color;\n\n $list-group-action-active-color: $body-color;\n $list-group-action-active-bg: $gray-200;\n\n // ...\n\n // Spinners\n\n $spinner-width: 2rem;\n $spinner-height: $spinner-width;\n $spinner-vertical-align: $font-size-base * -0.125; // -.125em;\n $spinner-border-width: $font-size-base * 0.25; // .25em;\n $spinner-animation-speed: 0.75s;\n\n $spinner-width-sm: 1rem;\n $spinner-height-sm: $spinner-width-sm;\n $spinner-border-width-sm: $font-size-base * 0.2; // .2em;\n\n // Close\n\n $btn-close-width: $font-size-base * 1; // 1em;\n $btn-close-height: $btn-close-width;\n $btn-close-padding-x: $font-size-base * 0.25; // .25em;\n $btn-close-padding-y: $btn-close-padding-x;\n $btn-close-color: $black;\n $btn-close-bg: ", ";\n $btn-close-focus-shadow: $input-btn-focus-box-shadow;\n $btn-close-opacity: 0.5;\n $btn-close-hover-opacity: 0.75;\n $btn-close-focus-opacity: 1;\n $btn-close-disabled-opacity: 0.25;\n // $btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);\n\n // Offcanvas\n\n $offcanvas-padding-y: $modal-inner-padding;\n $offcanvas-padding-x: $modal-inner-padding;\n $offcanvas-horizontal-width: 400px;\n $offcanvas-vertical-height: 200px; // 30vh;\n $offcanvas-transition-duration: 0.3s;\n $offcanvas-border-color: $modal-content-border-color;\n $offcanvas-border-width: $modal-content-border-width;\n $offcanvas-title-line-height: $modal-title-line-height;\n $offcanvas-bg-color: $modal-content-bg;\n $offcanvas-color: $modal-content-color;\n $offcanvas-box-shadow: $modal-content-box-shadow-xs;\n $offcanvas-backdrop-bg: $modal-backdrop-bg;\n $offcanvas-backdrop-opacity: $modal-backdrop-opacity;\n\n // Code\n\n $code-font-size: $small-font-size;\n $code-color: $pink;\n\n $kbd-padding-y: 0.2rem;\n $kbd-padding-x: 0.4rem;\n $kbd-font-size: $code-font-size;\n $kbd-color: $white;\n $kbd-bg: $gray-900;\n\n $pre-color: null;\n"])), function (t) {
2293
2616
  return {
2294
2617
  100: t['gray-100'],
2295
2618
  200: t['gray-200'],
@@ -2461,9 +2784,9 @@ var variables = css(_templateObject$1e || (_templateObject$1e = _taggedTemplateL
2461
2784
  100: '100%'
2462
2785
  };
2463
2786
  }, shiftColor(function (t) {
2464
- return t['link-shade-percentage'];
2465
- }, function (t) {
2466
2787
  return t['link-color'];
2788
+ }, function (t) {
2789
+ return t['link-shade-percentage'];
2467
2790
  }), function () {
2468
2791
  return {
2469
2792
  xs: 0,
@@ -2527,9 +2850,9 @@ var variables = css(_templateObject$1e || (_templateObject$1e = _taggedTemplateL
2527
2850
  };
2528
2851
  }, function () {
2529
2852
  return '/';
2530
- }, tintColor(0.5, function (t) {
2853
+ }, tintColor(function (t) {
2531
2854
  return t['component-active-bg'];
2532
- }), add(function (t) {
2855
+ }, 0.5), add(function (t) {
2533
2856
  return calculate(t['input-line-height'], '*', 1);
2534
2857
  }, function (t) {
2535
2858
  return calculate(t['input-padding-y'], '*', 2);
@@ -2579,9 +2902,9 @@ add(function (t) {
2579
2902
  return t['dropdown-border-radius'];
2580
2903
  }, function (t) {
2581
2904
  return t['dropdown-border-width'];
2582
- }), shadeColor(0.1, function (t) {
2905
+ }), shadeColor(function (t) {
2583
2906
  return t['dropdown-link-color'];
2584
- }), subtract(function (t) {
2907
+ }, 0.1), subtract(function (t) {
2585
2908
  return t['card-border-radius'];
2586
2909
  }, function (t) {
2587
2910
  return t['card-border-width'];
@@ -2589,9 +2912,9 @@ add(function (t) {
2589
2912
  return t['popover-border-radius'];
2590
2913
  }, function (t) {
2591
2914
  return t['popover-border-width'];
2592
- }), shadeColor(0.06, function (t) {
2915
+ }), shadeColor(function (t) {
2593
2916
  return t['popover-bg'];
2594
- }), subtract(function (t) {
2917
+ }, 0.06), subtract(function (t) {
2595
2918
  return t['modal-content-border-radius'];
2596
2919
  }, function (t) {
2597
2920
  return t['modal-content-border-width'];
@@ -2980,13 +3303,13 @@ var styles$1f = StyleSheet.create(_objectSpread2(_objectSpread2({
2980
3303
  }, each(THEME_COLORS, function (state, value) {
2981
3304
  var _ref;
2982
3305
 
2983
- return _ref = {}, _defineProperty(_ref, ".alert-".concat(state), css(_templateObject2$V || (_templateObject2$V = _taggedTemplateLiteral(["\n background-color: ", ";\n border-color: ", ";\n "])), shiftColor(function (t) {
3306
+ return _ref = {}, _defineProperty(_ref, ".alert-".concat(state), css(_templateObject2$V || (_templateObject2$V = _taggedTemplateLiteral(["\n background-color: ", ";\n border-color: ", ";\n "])), shiftColor(value, function (t) {
2984
3307
  return t['alert-bg-scale'];
2985
- }, value), shiftColor(function (t) {
3308
+ }), shiftColor(value, function (t) {
2986
3309
  return t['alert-border-scale'];
2987
- }, value))), _defineProperty(_ref, ".alert-".concat(state, " --text"), css(_templateObject3$t || (_templateObject3$t = _taggedTemplateLiteral(["\n color: ", ";\n "])), shiftColor(function (t) {
3310
+ }))), _defineProperty(_ref, ".alert-".concat(state, " --text"), css(_templateObject3$t || (_templateObject3$t = _taggedTemplateLiteral(["\n color: ", ";\n "])), shiftColor(value, function (t) {
2988
3311
  return t['alert-color-scale'];
2989
- }, value))), _ref;
3312
+ }))), _ref;
2990
3313
  })), {}, {
2991
3314
  '.alert-dismissible': {// TODO
2992
3315
  }
@@ -3344,7 +3667,7 @@ function useModifier(name, props, ref) {
3344
3667
  }
3345
3668
 
3346
3669
  var _excluded$1p = ["toggle", "dismiss"],
3347
- _excluded2$2 = ["ref"];
3670
+ _excluded2$3 = ["ref"];
3348
3671
 
3349
3672
  var getActionHook = function getActionHook(toggle, dismiss) {
3350
3673
  if (toggle) {
@@ -3375,11 +3698,89 @@ function useAction(props, ref) {
3375
3698
 
3376
3699
  var _useActionHook = useActionHook(restProps),
3377
3700
  actionRef = _useActionHook.ref,
3378
- actionProps = _objectWithoutProperties(_useActionHook, _excluded2$2);
3701
+ actionProps = _objectWithoutProperties(_useActionHook, _excluded2$3);
3379
3702
 
3380
3703
  return [actionProps, concatRefs(actionRef, ref)];
3381
3704
  }
3382
3705
 
3706
+ function useInteractionState(_ref) {
3707
+ var _ref$onFocus = _ref.onFocus,
3708
+ _onFocus = _ref$onFocus === void 0 ? function () {} : _ref$onFocus,
3709
+ _ref$onBlur = _ref.onBlur,
3710
+ _onBlur = _ref$onBlur === void 0 ? function () {} : _ref$onBlur,
3711
+ _ref$onHoverIn = _ref.onHoverIn,
3712
+ _onHoverIn = _ref$onHoverIn === void 0 ? function () {} : _ref$onHoverIn,
3713
+ _ref$onHoverOut = _ref.onHoverOut,
3714
+ _onHoverOut = _ref$onHoverOut === void 0 ? function () {} : _ref$onHoverOut,
3715
+ _ref$onPressIn = _ref.onPressIn,
3716
+ _onPressIn = _ref$onPressIn === void 0 ? function () {} : _ref$onPressIn,
3717
+ _ref$onPressOut = _ref.onPressOut,
3718
+ _onPressOut = _ref$onPressOut === void 0 ? function () {} : _ref$onPressOut,
3719
+ autoFocus = _ref.autoFocus;
3720
+
3721
+ var _useState = React.useState(false),
3722
+ _useState2 = _slicedToArray(_useState, 2),
3723
+ active = _useState2[0],
3724
+ setActive = _useState2[1];
3725
+
3726
+ var _useState3 = React.useState(false),
3727
+ _useState4 = _slicedToArray(_useState3, 2),
3728
+ hover = _useState4[0],
3729
+ setHovered = _useState4[1];
3730
+
3731
+ var _useFocusRing = focus.useFocusRing({
3732
+ autoFocus: autoFocus
3733
+ }),
3734
+ focus$1 = _useFocusRing.isFocused,
3735
+ focusVisible = _useFocusRing.isFocusVisible,
3736
+ focusProps = _useFocusRing.focusProps;
3737
+
3738
+ var interactionProps = React.useMemo(function () {
3739
+ return {
3740
+ onHoverIn: function onHoverIn(event) {
3741
+ setHovered(true);
3742
+
3743
+ _onHoverIn(event);
3744
+ },
3745
+ onHoverOut: function onHoverOut(event) {
3746
+ setHovered(false);
3747
+
3748
+ _onHoverOut(event);
3749
+ },
3750
+ onFocus: function onFocus(event) {
3751
+ focusProps.onFocus(event);
3752
+
3753
+ _onFocus(event);
3754
+ },
3755
+ onBlur: function onBlur(event) {
3756
+ focusProps.onBlur(event);
3757
+
3758
+ _onBlur(event);
3759
+ },
3760
+ onPressIn: function onPressIn(event) {
3761
+ setActive(true);
3762
+
3763
+ _onPressIn(event);
3764
+ },
3765
+ onPressOut: function onPressOut(event) {
3766
+ setActive(false);
3767
+
3768
+ _onPressOut(event);
3769
+ }
3770
+ };
3771
+ }, [_onFocus, _onBlur, _onHoverIn, _onHoverOut, _onPressIn, _onPressOut]);
3772
+ var interaction = {
3773
+ hover: hover,
3774
+ focus: focus$1,
3775
+ focusVisible: focusVisible,
3776
+ active: active
3777
+ };
3778
+ return {
3779
+ interaction: interaction,
3780
+ interactionProps: interactionProps
3781
+ };
3782
+ }
3783
+
3383
3784
  var _excluded$1o = ["color", "direction", "style"];
3384
3785
 
3385
3786
  var _templateObject$16, _templateObject2$Q, _templateObject3$q, _templateObject4$n, _templateObject5$k;
@@ -3547,34 +3948,35 @@ var Pressable = /*#__PURE__*/React__default["default"].forwardRef(function (prop
3547
3948
  var resolveActiveStyle = useStyle(active && activeStyle);
3548
3949
  var resolveTextStyle = useStyle([context && context.style, textStyle]);
3549
3950
  var resolveActiveTextStyle = useStyle(active && activeTextStyle);
3951
+
3952
+ var _useInteractionState = useInteractionState(elementProps),
3953
+ interaction = _useInteractionState.interaction,
3954
+ interactionProps = _useInteractionState.interactionProps;
3955
+
3550
3956
  var hasTextStyle = context && context.style || textStyle;
3551
3957
  var wrappedChildren = applyCaret(children, caret);
3552
- return /*#__PURE__*/React__default["default"].createElement(reactNative.Pressable, _extends({}, elementProps, {
3958
+ return /*#__PURE__*/React__default["default"].createElement(reactNative.Pressable, _extends({}, elementProps, interactionProps, {
3553
3959
  ref: actionRef,
3554
3960
  accessibilityRole: getRole$2(actionProps),
3555
- style: function style(interaction) {
3556
- return [resolveStyle({
3961
+ style: [resolveStyle({
3962
+ media: media,
3963
+ interaction: interaction
3964
+ }), resolveActiveStyle({
3965
+ media: media,
3966
+ interaction: interaction
3967
+ })]
3968
+ }), hasTextStyle ? /*#__PURE__*/React__default["default"].createElement(TextStyleContext.Provider, {
3969
+ value: {
3970
+ style: [resolveTextStyle({
3557
3971
  media: media,
3558
3972
  interaction: interaction
3559
- }), resolveActiveStyle({
3973
+ }), resolveActiveTextStyle({
3560
3974
  media: media,
3561
3975
  interaction: interaction
3562
- })];
3976
+ })],
3977
+ hasAncestor: context && context.hasTextAncestor
3563
3978
  }
3564
- }), hasTextStyle ? function (interaction) {
3565
- return /*#__PURE__*/React__default["default"].createElement(TextStyleContext.Provider, {
3566
- value: {
3567
- style: [resolveTextStyle({
3568
- media: media,
3569
- interaction: interaction
3570
- }), resolveActiveTextStyle({
3571
- media: media,
3572
- interaction: interaction
3573
- })],
3574
- hasAncestor: context && context.hasTextAncestor
3575
- }
3576
- }, wrappedChildren);
3577
- } : wrappedChildren);
3979
+ }, wrappedChildren) : wrappedChildren);
3578
3980
  });
3579
3981
  Pressable.displayName = 'Pressable';
3580
3982
  Pressable.propTypes = propTypes$1q;
@@ -3622,37 +4024,37 @@ var propTypes$1p = {
3622
4024
  activeTextStyle: PropTypes__default["default"].any
3623
4025
  };
3624
4026
  var styles$17 = StyleSheet.create(_objectSpread2(_objectSpread2({
3625
- '.btn': css(_templateObject$15 || (_templateObject$15 = _taggedTemplateLiteral(["\n flex-direction: row; // added for bootstrap-rn\n justify-content: center; // added for bootstrap-rn\n // display: inline-block;\n @include platform(web) {\n // cursor: if($enable-button-pointers, pointer, null);\n user-select: none;\n }\n background-color: transparent;\n border: $btn-border-width solid transparent;\n padding: $btn-padding-y $btn-padding-x;\n // Manually declare to provide an override to the browser default\n border-radius: $btn-border-radius;\n // @include transition($btn-transition);\n\n &:focus {\n // outline: 0;\n // box-shadow: $btn-focus-box-shadow;\n }\n\n &:active {\n // @include box-shadow($btn-active-box-shadow);\n\n &:focus {\n // @include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow);\n }\n }\n "]))),
4027
+ '.btn': css(_templateObject$15 || (_templateObject$15 = _taggedTemplateLiteral(["\n flex-direction: row; // added for bootstrap-rn\n justify-content: center; // added for bootstrap-rn\n // display: inline-block;\n @include platform(web) {\n // cursor: if($enable-button-pointers, pointer, null);\n user-select: none;\n }\n background-color: transparent;\n border: $btn-border-width solid transparent;\n padding: $btn-padding-y $btn-padding-x;\n // Manually declare to provide an override to the browser default\n border-radius: $btn-border-radius;\n // @include transition($btn-transition);\n\n &:focus-visible {\n // outline: 0;\n // box-shadow: $btn-focus-box-shadow;\n }\n\n &:active {\n // @include box-shadow($btn-active-box-shadow);\n\n &:focus-visible {\n // @include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow);\n }\n }\n "]))),
3626
4028
  '.btn --text': css(_templateObject2$P || (_templateObject2$P = _taggedTemplateLiteral(["\n font-family: $btn-font-family;\n font-weight: $btn-font-weight;\n line-height: $btn-font-size * $btn-line-height;\n color: $body-color;\n text-align: center;\n text-decoration: none; // if($link-decoration == none, null, none);\n white-space: $btn-white-space;\n // vertical-align: middle;\n font-size: $btn-font-size;\n\n &:hover {\n color: $body-color;\n text-decoration: none; // if($link-decoration == none, null, none);\n }\n "]))),
3627
4029
  '.btn.disabled': css(_templateObject3$p || (_templateObject3$p = _taggedTemplateLiteral(["\n // pointer-events: none;\n opacity: $btn-disabled-opacity;\n // @include box-shadow(none);\n "])))
3628
4030
  }, each(THEME_COLORS, function (color, value) {
3629
4031
  var _ref;
3630
4032
 
3631
- return _ref = {}, _defineProperty(_ref, ".btn-".concat(color), css(_templateObject4$m || (_templateObject4$m = _taggedTemplateLiteral(["\n background-color: ", ";\n border-color: ", ";\n // @include box-shadow($btn-box-shadow);\n\n &:hover {\n background-color: ", ";\n border-color: ", ";\n }\n\n &:focus {\n background-color: ", ";\n border-color: ", ";\n /* @if $enable-shadows {\n @include box-shadow($btn-box-shadow, 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5));\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5);\n } */\n }\n\n &:active {\n background-color: ", ";\n // Remove CSS gradients if they're enabled\n // background-image: if($enable-gradients, none, null);\n border-color: ", ";\n }\n "])), value, value, shadeColor(function (t) {
4033
+ return _ref = {}, _defineProperty(_ref, ".btn-".concat(color), css(_templateObject4$m || (_templateObject4$m = _taggedTemplateLiteral(["\n background-color: ", ";\n border-color: ", ";\n // @include box-shadow($btn-box-shadow);\n\n &:hover {\n background-color: ", ";\n border-color: ", ";\n }\n\n &:focus-visible {\n background-color: ", ";\n border-color: ", ";\n /* @if $enable-shadows {\n @include box-shadow($btn-box-shadow, 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5));\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: 0 0 0 $btn-focus-width rgba(mix($color, $border, 15%), .5);\n } */\n }\n\n &:active {\n background-color: ", ";\n // Remove CSS gradients if they're enabled\n // background-image: if($enable-gradients, none, null);\n border-color: ", ";\n }\n "])), value, value, shadeColor(value, function (t) {
3632
4034
  return t['btn-hover-bg-shade-amount'];
3633
- }, value), shadeColor(function (t) {
4035
+ }), shadeColor(value, function (t) {
3634
4036
  return t['btn-hover-border-shade-amount'];
3635
- }, value), shadeColor(function (t) {
4037
+ }), shadeColor(value, function (t) {
3636
4038
  return t['btn-hover-bg-shade-amount'];
3637
- }, value), shadeColor(function (t) {
4039
+ }), shadeColor(value, function (t) {
3638
4040
  return t['btn-hover-border-shade-amount'];
3639
- }, value), shadeColor(function (t) {
4041
+ }), shadeColor(value, function (t) {
3640
4042
  return t['btn-active-bg-shade-amount'];
3641
- }, value), shadeColor(function (t) {
4043
+ }), shadeColor(value, function (t) {
3642
4044
  return t['btn-active-border-shade-amount'];
3643
- }, value))), _defineProperty(_ref, ".btn-".concat(color, " --text"), css(_templateObject5$j || (_templateObject5$j = _taggedTemplateLiteral(["\n color: ", ";\n\n &:hover {\n color: ", ";\n }\n\n &:focus {\n color: ", ";\n }\n\n &:active {\n color: ", ";\n }\n "])), colorContrast(value), colorContrast(value), colorContrast(value), colorContrast(value))), _defineProperty(_ref, ".btn-".concat(color, ".active"), css(_templateObject6$g || (_templateObject6$g = _taggedTemplateLiteral(["\n background-color: ", ";\n // Remove CSS gradients if they're enabled\n // background-image: if($enable-gradients, none, null);\n border-color: ", ";\n "])), shadeColor(function (t) {
4045
+ }))), _defineProperty(_ref, ".btn-".concat(color, " --text"), css(_templateObject5$j || (_templateObject5$j = _taggedTemplateLiteral(["\n color: ", ";\n\n &:hover {\n color: ", ";\n }\n\n &:focus-visible {\n color: ", ";\n }\n\n &:active {\n color: ", ";\n }\n "])), colorContrast(value), colorContrast(value), colorContrast(value), colorContrast(value))), _defineProperty(_ref, ".btn-".concat(color, ".active"), css(_templateObject6$g || (_templateObject6$g = _taggedTemplateLiteral(["\n background-color: ", ";\n // Remove CSS gradients if they're enabled\n // background-image: if($enable-gradients, none, null);\n border-color: ", ";\n "])), shadeColor(value, function (t) {
3644
4046
  return t['btn-active-bg-shade-amount'];
3645
- }, value), shadeColor(function (t) {
4047
+ }), shadeColor(value, function (t) {
3646
4048
  return t['btn-active-border-shade-amount'];
3647
- }, value))), _defineProperty(_ref, ".btn-".concat(color, ".active --text"), css(_templateObject7$b || (_templateObject7$b = _taggedTemplateLiteral(["\n color: ", ";\n "])), colorContrast(value))), _defineProperty(_ref, ".btn-".concat(color, ".disabled"), css(_templateObject8$b || (_templateObject8$b = _taggedTemplateLiteral(["\n $disabled-background: ", ";\n $disabled-border: ", ";\n\n background-color: $disabled-background;\n // Remove CSS gradients if they're enabled\n // background-image: if($enable-gradients, none, null);\n border-color: $disabled-border;\n "])), value, value)), _defineProperty(_ref, ".btn-".concat(color, ".disabled --text"), css(_templateObject9$a || (_templateObject9$a = _taggedTemplateLiteral(["\n $disabled-color: ", ";\n\n color: $disabled-color;\n "])), colorContrast(value))), _defineProperty(_ref, ".btn-outline-".concat(color), css(_templateObject10$a || (_templateObject10$a = _taggedTemplateLiteral(["\n border-color: ", ";\n\n &:hover {\n background-color: ", ";\n border-color: ", ";\n }\n\n &:focus {\n // box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n\n &:active {\n background-color: ", ";\n border-color: ", ";\n\n /* &:focus {\n @if $enable-shadows {\n @include box-shadow(\n $btn-active-box-shadow,\n 0 0 0 $btn-focus-width rgba($color, 0.5)\n );\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: 0 0 0 $btn-focus-width rgba($color, 0.5);\n }\n } */\n }\n "])), value, value, value, value, value)), _defineProperty(_ref, ".btn-outline-".concat(color, " --text"), css(_templateObject11$7 || (_templateObject11$7 = _taggedTemplateLiteral(["\n color: ", ";\n\n &:hover {\n color: ", ";\n }\n\n &:active {\n color: ", ";\n }\n "])), value, colorContrast(value), colorContrast(value))), _defineProperty(_ref, ".btn-outline-".concat(color, ".disabled"), css(_templateObject12$5 || (_templateObject12$5 = _taggedTemplateLiteral(["\n background-color: transparent;\n "])))), _defineProperty(_ref, ".btn-outline-".concat(color, ".disabled --text"), css(_templateObject13$5 || (_templateObject13$5 = _taggedTemplateLiteral(["\n color: ", ";\n "])), value)), _ref;
4049
+ }))), _defineProperty(_ref, ".btn-".concat(color, ".active --text"), css(_templateObject7$b || (_templateObject7$b = _taggedTemplateLiteral(["\n color: ", ";\n "])), colorContrast(value))), _defineProperty(_ref, ".btn-".concat(color, ".disabled"), css(_templateObject8$b || (_templateObject8$b = _taggedTemplateLiteral(["\n $disabled-background: ", ";\n $disabled-border: ", ";\n\n background-color: $disabled-background;\n // Remove CSS gradients if they're enabled\n // background-image: if($enable-gradients, none, null);\n border-color: $disabled-border;\n "])), value, value)), _defineProperty(_ref, ".btn-".concat(color, ".disabled --text"), css(_templateObject9$a || (_templateObject9$a = _taggedTemplateLiteral(["\n $disabled-color: ", ";\n\n color: $disabled-color;\n "])), colorContrast(value))), _defineProperty(_ref, ".btn-outline-".concat(color), css(_templateObject10$a || (_templateObject10$a = _taggedTemplateLiteral(["\n border-color: ", ";\n\n &:hover {\n background-color: ", ";\n border-color: ", ";\n }\n\n &:focus-visible {\n // box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n\n &:active {\n background-color: ", ";\n border-color: ", ";\n\n /* &:focus {\n @if $enable-shadows {\n @include box-shadow(\n $btn-active-box-shadow,\n 0 0 0 $btn-focus-width rgba($color, 0.5)\n );\n } @else {\n // Avoid using mixin so we can pass custom focus shadow properly\n box-shadow: 0 0 0 $btn-focus-width rgba($color, 0.5);\n }\n } */\n }\n "])), value, value, value, value, value)), _defineProperty(_ref, ".btn-outline-".concat(color, " --text"), css(_templateObject11$7 || (_templateObject11$7 = _taggedTemplateLiteral(["\n color: ", ";\n\n &:hover {\n color: ", ";\n }\n\n &:active {\n color: ", ";\n }\n "])), value, colorContrast(value), colorContrast(value))), _defineProperty(_ref, ".btn-outline-".concat(color, ".disabled"), css(_templateObject12$5 || (_templateObject12$5 = _taggedTemplateLiteral(["\n background-color: transparent;\n "])))), _defineProperty(_ref, ".btn-outline-".concat(color, ".disabled --text"), css(_templateObject13$5 || (_templateObject13$5 = _taggedTemplateLiteral(["\n color: ", ";\n "])), value)), _ref;
3648
4050
  })), {}, {
3649
- '.btn-link --text': css(_templateObject14$4 || (_templateObject14$4 = _taggedTemplateLiteral(["\n font-weight: $font-weight-normal;\n color: $btn-link-color;\n text-decoration-color: $btn-link-color; // added for bootstrap-rn\n text-decoration-line: $link-decoration;\n\n &:hover {\n color: $btn-link-hover-color;\n text-decoration-color: $btn-link-hover-color; // added for bootstrap-rn\n text-decoration-line: $link-hover-decoration;\n }\n\n &:focus {\n text-decoration-line: $link-hover-decoration;\n }\n\n // No need for an active state here\n "]))),
4051
+ '.btn-link --text': css(_templateObject14$4 || (_templateObject14$4 = _taggedTemplateLiteral(["\n font-weight: $font-weight-normal;\n color: $btn-link-color;\n text-decoration-color: $btn-link-color; // added for bootstrap-rn\n text-decoration-line: $link-decoration;\n\n &:hover {\n color: $btn-link-hover-color;\n text-decoration-color: $btn-link-hover-color; // added for bootstrap-rn\n text-decoration-line: $link-hover-decoration;\n }\n\n &:focus-visible {\n text-decoration-line: $link-hover-decoration;\n }\n\n // No need for an active state here\n "]))),
3650
4052
  '.btn-link.disabled --text': css(_templateObject15$3 || (_templateObject15$3 = _taggedTemplateLiteral(["\n color: $btn-link-disabled-color;\n "]))),
3651
4053
  '.btn-lg': css(_templateObject16$1 || (_templateObject16$1 = _taggedTemplateLiteral(["\n padding: $btn-padding-y-lg $btn-padding-x-lg;\n // Manually declare to provide an override to the browser default\n border-radius: $btn-border-radius-lg;\n "]))),
3652
4054
  '.btn-lg --text': css(_templateObject17$1 || (_templateObject17$1 = _taggedTemplateLiteral(["\n line-height: $btn-font-size-lg * $btn-line-height;\n font-size: $btn-font-size-lg;\n "]))),
3653
4055
  '.btn-sm': css(_templateObject18$1 || (_templateObject18$1 = _taggedTemplateLiteral(["\n padding: $btn-padding-y-sm $btn-padding-x-sm;\n // Manually declare to provide an override to the browser default\n border-radius: $btn-border-radius-sm;\n "]))),
3654
4056
  '.btn-sm --text': css(_templateObject19$1 || (_templateObject19$1 = _taggedTemplateLiteral(["\n line-height: $btn-font-size-sm * $btn-line-height;\n font-size: $btn-font-size-sm;\n "]))),
3655
- '.btn-group > .btn': css(_templateObject20$1 || (_templateObject20$1 = _taggedTemplateLiteral(["\n position: relative;\n // flex: 1 1 auto;\n\n &:hover {\n z-index: 1;\n }\n &:focus {\n z-index: 1;\n }\n &:active {\n z-index: 1;\n }\n "]))),
4057
+ '.btn-group > .btn': css(_templateObject20$1 || (_templateObject20$1 = _taggedTemplateLiteral(["\n position: relative;\n // flex: 1 1 auto;\n\n &:hover {\n z-index: 1;\n }\n &:focus-visible {\n z-index: 1;\n }\n &:active {\n z-index: 1;\n }\n "]))),
3656
4058
  '.btn-group > .btn.active': css(_templateObject21 || (_templateObject21 = _taggedTemplateLiteral(["\n z-index: 2; // 1;\n "]))),
3657
4059
  '.btn-group > .btn:not(:first-child)': css(_templateObject22 || (_templateObject22 = _taggedTemplateLiteral(["\n margin-left: -$btn-border-width;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n "]))),
3658
4060
  '.btn-group > .btn:not(:last-child)': css(_templateObject23 || (_templateObject23 = _taggedTemplateLiteral(["\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n "])))
@@ -3763,7 +4165,7 @@ var propTypes$1n = {
3763
4165
  styleName: PropTypes__default["default"].any
3764
4166
  };
3765
4167
  var styles$15 = StyleSheet.create({
3766
- body: css(_templateObject$13 || (_templateObject$13 = _taggedTemplateLiteral(["\n background-color: $body-bg;\n flex-grow: 1; // added for bootstrap-rn\n "]))),
4168
+ body: css(_templateObject$13 || (_templateObject$13 = _taggedTemplateLiteral(["\n background-color: $body-bg;\n flex-grow: 1; // added for bootstrap-rn\n flex-shrink: 1; // added for bootstrap-rn\n "]))),
3767
4169
  'body --text': css(_templateObject2$N || (_templateObject2$N = _taggedTemplateLiteral(["\n color: $body-color;\n text-align: $body-text-align;\n "])))
3768
4170
  });
3769
4171
  var Body = /*#__PURE__*/React__default["default"].forwardRef(function (props, ref) {
@@ -4217,17 +4619,11 @@ function useBackground(style, styleName) {
4217
4619
  return useBackgroundForPlatform(style, styleName);
4218
4620
  }
4219
4621
 
4220
- var _excluded$1e = ["children", "onFocus", "onBlur", "onHoverIn", "onHoverOut", "onPressIn", "onPressOut", "disabled", "style", "textStyle", "styleName"];
4622
+ var _excluded$1e = ["children", "disabled", "style", "textStyle", "styleName"];
4221
4623
 
4222
4624
  var _templateObject$_, _templateObject2$J, _templateObject3$o, _templateObject4$l, _templateObject5$i;
4223
4625
  var propTypes$1i = {
4224
4626
  children: PropTypes__default["default"].node,
4225
- onFocus: PropTypes__default["default"].func,
4226
- onBlur: PropTypes__default["default"].func,
4227
- onHoverIn: PropTypes__default["default"].func,
4228
- onHoverOut: PropTypes__default["default"].func,
4229
- onPressIn: PropTypes__default["default"].func,
4230
- onPressOut: PropTypes__default["default"].func,
4231
4627
  disabled: PropTypes__default["default"].bool,
4232
4628
  // eslint-disable-next-line react/forbid-prop-types
4233
4629
  style: PropTypes__default["default"].any,
@@ -4249,19 +4645,7 @@ var styles$_ = StyleSheet.create({
4249
4645
  });
4250
4646
  var CloseButton = /*#__PURE__*/React__default["default"].forwardRef(function (props, ref) {
4251
4647
  props.children;
4252
- var _props$onFocus = props.onFocus,
4253
- _onFocus = _props$onFocus === void 0 ? function () {} : _props$onFocus,
4254
- _props$onBlur = props.onBlur,
4255
- _onBlur = _props$onBlur === void 0 ? function () {} : _props$onBlur,
4256
- _props$onHoverIn = props.onHoverIn,
4257
- _onHoverIn = _props$onHoverIn === void 0 ? function () {} : _props$onHoverIn,
4258
- _props$onHoverOut = props.onHoverOut,
4259
- _onHoverOut = _props$onHoverOut === void 0 ? function () {} : _props$onHoverOut,
4260
- _props$onPressIn = props.onPressIn,
4261
- _onPressIn = _props$onPressIn === void 0 ? function () {} : _props$onPressIn,
4262
- _props$onPressOut = props.onPressOut,
4263
- _onPressOut = _props$onPressOut === void 0 ? function () {} : _props$onPressOut,
4264
- _props$disabled = props.disabled,
4648
+ var _props$disabled = props.disabled,
4265
4649
  disabled = _props$disabled === void 0 ? false : _props$disabled,
4266
4650
  style = props.style,
4267
4651
  textStyle = props.textStyle,
@@ -4269,22 +4653,6 @@ var CloseButton = /*#__PURE__*/React__default["default"].forwardRef(function (pr
4269
4653
  elementProps = _objectWithoutProperties(props, _excluded$1e);
4270
4654
 
4271
4655
  var media = useMedia();
4272
-
4273
- var _useState = React.useState(false),
4274
- _useState2 = _slicedToArray(_useState, 2),
4275
- focused = _useState2[0],
4276
- setFocused = _useState2[1];
4277
-
4278
- var _useState3 = React.useState(false),
4279
- _useState4 = _slicedToArray(_useState3, 2),
4280
- hovered = _useState4[0],
4281
- setHovered = _useState4[1];
4282
-
4283
- var _useState5 = React.useState(false),
4284
- _useState6 = _slicedToArray(_useState5, 2),
4285
- pressed = _useState6[0],
4286
- setPressed = _useState6[1];
4287
-
4288
4656
  var modal = React.useContext(ModalContext);
4289
4657
  var offcanvas = React.useContext(OffcanvasContext);
4290
4658
  var classes = getStyles(styles$_, ['.btn-close', disabled && '.btn-close.disabled', // Modal styles
@@ -4292,47 +4660,18 @@ var CloseButton = /*#__PURE__*/React__default["default"].forwardRef(function (pr
4292
4660
  offcanvas && '.offcanvas-header .btn-close']);
4293
4661
  var textClasses = getStyles(styles$_, ['.btn-close --text']);
4294
4662
  var resolveStyle = useStyle([classes, style], styleName);
4663
+
4664
+ var _useInteractionState = useInteractionState(elementProps),
4665
+ interaction = _useInteractionState.interaction,
4666
+ interactionProps = _useInteractionState.interactionProps;
4667
+
4295
4668
  var background = useBackground(resolveStyle({
4296
4669
  media: media,
4297
- interaction: {
4298
- focused: focused,
4299
- hovered: hovered,
4300
- pressed: pressed
4301
- }
4670
+ interaction: interaction
4302
4671
  }));
4303
- return /*#__PURE__*/React__default["default"].createElement(Pressable, _extends({}, elementProps, {
4672
+ return /*#__PURE__*/React__default["default"].createElement(Pressable, _extends({}, elementProps, interactionProps, {
4304
4673
  component: Pressable,
4305
4674
  ref: ref,
4306
- onFocus: function onFocus() {
4307
- setFocused(true);
4308
-
4309
- _onFocus();
4310
- },
4311
- onBlur: function onBlur() {
4312
- setFocused(false);
4313
-
4314
- _onBlur();
4315
- },
4316
- onHoverIn: function onHoverIn() {
4317
- setHovered(true);
4318
-
4319
- _onHoverIn();
4320
- },
4321
- onHoverOut: function onHoverOut() {
4322
- setHovered(false);
4323
-
4324
- _onHoverOut();
4325
- },
4326
- onPressIn: function onPressIn() {
4327
- setPressed(true);
4328
-
4329
- _onPressIn();
4330
- },
4331
- onPressOut: function onPressOut() {
4332
- setPressed(false);
4333
-
4334
- _onPressOut();
4335
- },
4336
4675
  disabled: disabled,
4337
4676
  style: background.style,
4338
4677
  textStyle: [textClasses, textStyle]
@@ -4665,7 +5004,7 @@ var FormCheckInputNative = /*#__PURE__*/React__default["default"].forwardRef(fun
4665
5004
  FormCheckInputNative.displayName = 'FormCheckInputNative';
4666
5005
  FormCheckInputNative.propTypes = propTypes$1d;
4667
5006
 
4668
- var _excluded$19 = ["type", "value", "onFocus", "onBlur", "disabled", "valid", "invalid", "useNativeComponent", "style"];
5007
+ var _excluded$19 = ["type", "value", "onFocus", "onBlur", "disabled", "valid", "invalid", "useNativeComponent", "autoFocus", "style"];
4669
5008
 
4670
5009
  var _templateObject$Y, _templateObject2$H, _templateObject3$m, _templateObject4$j, _templateObject5$g, _templateObject6$e, _templateObject7$9, _templateObject8$9, _templateObject9$9, _templateObject10$9, _templateObject11$6, _templateObject12$4, _templateObject13$4, _templateObject14$3, _templateObject15$2;
4671
5010
  /* eslint-disable react/no-unused-prop-types */
@@ -4736,9 +5075,9 @@ var FormCheckInput = /*#__PURE__*/React__default["default"].forwardRef(function
4736
5075
  var type = modifierProps.type,
4737
5076
  value = modifierProps.value,
4738
5077
  _modifierProps$onFocu = modifierProps.onFocus,
4739
- onFocus = _modifierProps$onFocu === void 0 ? function () {} : _modifierProps$onFocu,
5078
+ _onFocus = _modifierProps$onFocu === void 0 ? function () {} : _modifierProps$onFocu,
4740
5079
  _modifierProps$onBlur = modifierProps.onBlur,
4741
- onBlur = _modifierProps$onBlur === void 0 ? function () {} : _modifierProps$onBlur,
5080
+ _onBlur = _modifierProps$onBlur === void 0 ? function () {} : _modifierProps$onBlur,
4742
5081
  _modifierProps$disabl = modifierProps.disabled,
4743
5082
  disabled = _modifierProps$disabl === void 0 ? context ? context.disabled : false : _modifierProps$disabl,
4744
5083
  _modifierProps$valid = modifierProps.valid,
@@ -4747,12 +5086,14 @@ var FormCheckInput = /*#__PURE__*/React__default["default"].forwardRef(function
4747
5086
  invalid = _modifierProps$invali === void 0 ? context ? context.invalid : false : _modifierProps$invali,
4748
5087
  _modifierProps$useNat = modifierProps.useNativeComponent,
4749
5088
  useNativeComponent = _modifierProps$useNat === void 0 ? false : _modifierProps$useNat,
5089
+ _modifierProps$autoFo = modifierProps.autoFocus,
5090
+ autoFocus = _modifierProps$autoFo === void 0 ? false : _modifierProps$autoFo,
4750
5091
  style = modifierProps.style,
4751
5092
  elementProps = _objectWithoutProperties(modifierProps, _excluded$19);
4752
5093
 
4753
5094
  var media = useMedia();
4754
5095
 
4755
- var _useState = React.useState(false),
5096
+ var _useState = React.useState(autoFocus),
4756
5097
  _useState2 = _slicedToArray(_useState, 2),
4757
5098
  focused = _useState2[0],
4758
5099
  setFocused = _useState2[1];
@@ -4761,29 +5102,28 @@ var FormCheckInput = /*#__PURE__*/React__default["default"].forwardRef(function
4761
5102
  valid && '.form-check-input:valid', valid && value && '.form-check-input:valid:checked', invalid && '.form-check-input:invalid', invalid && value && '.form-check-input:invalid:checked', // switch
4762
5103
  context && type === 'switch' && '.form-switch.form-check .form-check-input', (context === null || context === void 0 ? void 0 : context.reverse) && type === 'switch' && '.form-switch.form-check-reverse .form-check-input', type === 'switch' && '.form-switch .form-check-input', type === 'switch' && value && '.form-switch .form-check-input:checked']);
4763
5104
  var resolveStyle = useStyle([classes, style]);
4764
-
4765
- var handleFocus = function handleFocus() {
4766
- setFocused(true);
4767
- onFocus();
4768
- };
4769
-
4770
- var handleBlur = function handleBlur() {
4771
- setFocused(false);
4772
- onBlur();
4773
- };
4774
-
4775
5105
  var BaseFormCheckInput = reactNative.Platform.OS === 'web' && !useNativeComponent ? FormCheckInputWeb : FormCheckInputNative;
4776
5106
  return /*#__PURE__*/React__default["default"].createElement(BaseFormCheckInput, _extends({}, elementProps, {
4777
5107
  ref: modifierRef,
4778
5108
  type: type,
4779
5109
  value: value,
4780
- onFocus: handleFocus,
4781
- onBlur: handleBlur,
5110
+ onFocus: function onFocus() {
5111
+ setFocused(true);
5112
+
5113
+ _onFocus();
5114
+ },
5115
+ onBlur: function onBlur() {
5116
+ setFocused(false);
5117
+
5118
+ _onBlur();
5119
+ },
4782
5120
  disabled: disabled,
5121
+ autoFocus: autoFocus,
4783
5122
  style: resolveStyle({
4784
5123
  media: media,
4785
5124
  interaction: {
4786
- focused: focused
5125
+ focus: focused,
5126
+ focusVisible: focused
4787
5127
  }
4788
5128
  })
4789
5129
  }));
@@ -5201,7 +5541,7 @@ var DropdownMenu = /*#__PURE__*/React__default["default"].forwardRef(function (p
5201
5541
  return /*#__PURE__*/React__default["default"].createElement(overlays.OverlayContainer, null, /*#__PURE__*/React__default["default"].createElement(Overlay, {
5202
5542
  placement: transformPlacement(media, direction, center, start, end),
5203
5543
  targetRef: toggleRef,
5204
- offset: convertToNumber(StyleSheet.value('dropdown-spacer')),
5544
+ offset: normalizeNumber(StyleSheet.value('dropdown-spacer')),
5205
5545
  visible: visible
5206
5546
  }, function (overlay, overlayRef) {
5207
5547
  return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(BackdropHandler, {
@@ -5740,10 +6080,11 @@ var FormText = /*#__PURE__*/React__default["default"].forwardRef(function (props
5740
6080
  FormText.displayName = 'FormText';
5741
6081
  FormText.propTypes = propTypes$V;
5742
6082
 
5743
- var _excluded$S = ["onFocus", "onBlur", "style", "styleName"];
6083
+ var _excluded$S = ["onFocus", "onBlur", "autoFocus", "style", "styleName"];
5744
6084
  var propTypes$U = {
5745
6085
  onFocus: PropTypes__default["default"].func,
5746
6086
  onBlur: PropTypes__default["default"].func,
6087
+ autoFocus: PropTypes__default["default"].bool,
5747
6088
  // eslint-disable-next-line react/forbid-prop-types
5748
6089
  style: PropTypes__default["default"].any,
5749
6090
  // eslint-disable-next-line react/forbid-prop-types
@@ -5754,11 +6095,13 @@ var TextInput = /*#__PURE__*/React__default["default"].forwardRef(function (prop
5754
6095
  _onFocus = _props$onFocus === void 0 ? function () {} : _props$onFocus,
5755
6096
  _props$onBlur = props.onBlur,
5756
6097
  _onBlur = _props$onBlur === void 0 ? function () {} : _props$onBlur,
6098
+ _props$autoFocus = props.autoFocus,
6099
+ autoFocus = _props$autoFocus === void 0 ? false : _props$autoFocus,
5757
6100
  style = props.style,
5758
6101
  styleName = props.styleName,
5759
6102
  elementProps = _objectWithoutProperties(props, _excluded$S);
5760
6103
 
5761
- var _useState = React.useState(false),
6104
+ var _useState = React.useState(autoFocus),
5762
6105
  _useState2 = _slicedToArray(_useState, 2),
5763
6106
  focused = _useState2[0],
5764
6107
  setFocused = _useState2[1];
@@ -5767,20 +6110,22 @@ var TextInput = /*#__PURE__*/React__default["default"].forwardRef(function (prop
5767
6110
  var resolveStyle = useStyle(style, styleName);
5768
6111
  return /*#__PURE__*/React__default["default"].createElement(reactNative.TextInput, _extends({}, elementProps, {
5769
6112
  ref: ref,
5770
- onFocus: function onFocus() {
6113
+ onFocus: function onFocus(event) {
5771
6114
  setFocused(true);
5772
6115
 
5773
- _onFocus();
6116
+ _onFocus(event);
5774
6117
  },
5775
- onBlur: function onBlur() {
6118
+ onBlur: function onBlur(event) {
5776
6119
  setFocused(false);
5777
6120
 
5778
- _onBlur();
6121
+ _onBlur(event);
5779
6122
  },
6123
+ autoFocus: autoFocus,
5780
6124
  style: resolveStyle({
5781
6125
  media: media,
5782
6126
  interaction: {
5783
- focused: focused
6127
+ focus: focused,
6128
+ focusVisible: focused
5784
6129
  }
5785
6130
  })
5786
6131
  }));
@@ -6184,7 +6529,7 @@ Popover.Header = PopoverHeader;
6184
6529
  Popover.Body = PopoverBody;
6185
6530
 
6186
6531
  var _excluded$M = ["title", "content", "autoClose", "trigger", "placement"],
6187
- _excluded2$1 = ["popover"];
6532
+ _excluded2$2 = ["popover"];
6188
6533
  var propTypes$O = {
6189
6534
  popover: PropTypes__default["default"].shape(_objectSpread2({
6190
6535
  title: PropTypes__default["default"].node,
@@ -6205,7 +6550,7 @@ function injectPopover(Target) {
6205
6550
  _props$popover$placem = _props$popover.placement,
6206
6551
  placement = _props$popover$placem === void 0 ? 'right' : _props$popover$placem,
6207
6552
  tooltipProps = _objectWithoutProperties(_props$popover, _excluded$M),
6208
- elementProps = _objectWithoutProperties(props, _excluded2$1);
6553
+ elementProps = _objectWithoutProperties(props, _excluded2$2);
6209
6554
  /* eslint-enable */
6210
6555
 
6211
6556
 
@@ -6216,7 +6561,7 @@ function injectPopover(Target) {
6216
6561
  targetRef = _useTrigger.targetRef,
6217
6562
  templateProps = _useTrigger.templateProps;
6218
6563
 
6219
- var offset = convertToNumber(StyleSheet.value('popover-arrow-height'));
6564
+ var offset = normalizeNumber(StyleSheet.value('popover-arrow-height'));
6220
6565
  return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(Target, _extends({}, elementProps, targetProps)), visible && /*#__PURE__*/React__default["default"].createElement(overlays.OverlayContainer, null, /*#__PURE__*/React__default["default"].createElement(Overlay, {
6221
6566
  placement: placement,
6222
6567
  offset: offset,
@@ -6381,7 +6726,7 @@ Tooltip.Arrow = TooltipArrow;
6381
6726
  Tooltip.Inner = TooltipInner;
6382
6727
 
6383
6728
  var _excluded$I = ["title", "autoClose", "trigger", "placement"],
6384
- _excluded2 = ["tooltip"];
6729
+ _excluded2$1 = ["tooltip"];
6385
6730
  var propTypes$K = {
6386
6731
  tooltip: PropTypes__default["default"].shape(_objectSpread2({
6387
6732
  title: PropTypes__default["default"].node.isRequired,
@@ -6400,7 +6745,7 @@ function injectTooltip(Target) {
6400
6745
  _props$tooltip$placem = _props$tooltip.placement,
6401
6746
  placement = _props$tooltip$placem === void 0 ? 'top' : _props$tooltip$placem,
6402
6747
  tooltipProps = _objectWithoutProperties(_props$tooltip, _excluded$I),
6403
- elementProps = _objectWithoutProperties(props, _excluded2);
6748
+ elementProps = _objectWithoutProperties(props, _excluded2$1);
6404
6749
  /* eslint-enable */
6405
6750
 
6406
6751
 
@@ -6411,7 +6756,7 @@ function injectTooltip(Target) {
6411
6756
  targetRef = _useTrigger.targetRef,
6412
6757
  templateProps = _useTrigger.templateProps;
6413
6758
 
6414
- var offset = convertToNumber(StyleSheet.value('tooltip-arrow-height'));
6759
+ var offset = normalizeNumber(StyleSheet.value('tooltip-arrow-height'));
6415
6760
  return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(Target, _extends({}, elementProps, targetProps)), visible && /*#__PURE__*/React__default["default"].createElement(overlays.OverlayContainer, null, /*#__PURE__*/React__default["default"].createElement(Overlay, {
6416
6761
  placement: placement,
6417
6762
  targetRef: targetRef,
@@ -6522,11 +6867,11 @@ var styles$y = StyleSheet.create(_objectSpread2({
6522
6867
  }, each(THEME_COLORS, function (state, value) {
6523
6868
  var _ref;
6524
6869
 
6525
- return _ref = {}, _defineProperty(_ref, ".list-group-item-".concat(state), css(_templateObject13$2 || (_templateObject13$2 = _taggedTemplateLiteral(["\n background-color: ", ";\n "])), shiftColor(function (t) {
6870
+ return _ref = {}, _defineProperty(_ref, ".list-group-item-".concat(state), css(_templateObject13$2 || (_templateObject13$2 = _taggedTemplateLiteral(["\n background-color: ", ";\n "])), shiftColor(value, function (t) {
6526
6871
  return t['list-group-item-bg-scale'];
6527
- }, value))), _defineProperty(_ref, ".list-group-item-".concat(state, " --text"), css(_templateObject14$1 || (_templateObject14$1 = _taggedTemplateLiteral(["\n color: ", ";\n "])), shiftColor(function (t) {
6872
+ }))), _defineProperty(_ref, ".list-group-item-".concat(state, " --text"), css(_templateObject14$1 || (_templateObject14$1 = _taggedTemplateLiteral(["\n color: ", ";\n "])), shiftColor(value, function (t) {
6528
6873
  return t['list-group-item-color-scale'];
6529
- }, value))), _ref;
6874
+ }))), _ref;
6530
6875
  })));
6531
6876
  var ListGroupItem = /*#__PURE__*/React__default["default"].forwardRef(function (props, ref) {
6532
6877
  var children = props.children,
@@ -6582,19 +6927,19 @@ var actionStyles = StyleSheet.create(_objectSpread2({
6582
6927
  }, each(THEME_COLORS, function (state, value) {
6583
6928
  var _ref;
6584
6929
 
6585
- return _ref = {}, _defineProperty(_ref, ".list-group-item-".concat(state, "-action"), css(_templateObject3$b || (_templateObject3$b = _taggedTemplateLiteral(["\n &:hover {\n background-color: ", ";\n }\n\n &:focus {\n background-color: ", ";\n }\n "])), shadeColor(0.1, shiftColor(function (t) {
6930
+ return _ref = {}, _defineProperty(_ref, ".list-group-item-".concat(state, "-action"), css(_templateObject3$b || (_templateObject3$b = _taggedTemplateLiteral(["\n &:hover {\n background-color: ", ";\n }\n\n &:focus {\n background-color: ", ";\n }\n "])), shadeColor(shiftColor(value, function (t) {
6586
6931
  return t['list-group-item-bg-scale'];
6587
- }, value)), shadeColor(0.1, shiftColor(function (t) {
6932
+ }), 0.1), shadeColor(shiftColor(value, function (t) {
6588
6933
  return t['list-group-item-bg-scale'];
6589
- }, value)))), _defineProperty(_ref, ".list-group-item-".concat(state, "-action --text"), css(_templateObject4$9 || (_templateObject4$9 = _taggedTemplateLiteral(["\n &:hover {\n color: ", ";\n }\n\n &:focus {\n color: ", ";\n }\n "])), shiftColor(function (t) {
6934
+ }), 0.1))), _defineProperty(_ref, ".list-group-item-".concat(state, "-action --text"), css(_templateObject4$9 || (_templateObject4$9 = _taggedTemplateLiteral(["\n &:hover {\n color: ", ";\n }\n\n &:focus {\n color: ", ";\n }\n "])), shiftColor(value, function (t) {
6590
6935
  return t['list-group-item-color-scale'];
6591
- }, value), shiftColor(function (t) {
6936
+ }), shiftColor(value, function (t) {
6592
6937
  return t['list-group-item-color-scale'];
6593
- }, value))), _defineProperty(_ref, ".list-group-item-".concat(state, "-action.active"), css(_templateObject5$7 || (_templateObject5$7 = _taggedTemplateLiteral(["\n background-color: ", ";\n border-color: ", ";\n "])), shiftColor(function (t) {
6938
+ }))), _defineProperty(_ref, ".list-group-item-".concat(state, "-action.active"), css(_templateObject5$7 || (_templateObject5$7 = _taggedTemplateLiteral(["\n background-color: ", ";\n border-color: ", ";\n "])), shiftColor(value, function (t) {
6594
6939
  return t['list-group-item-color-scale'];
6595
- }, value), shiftColor(function (t) {
6940
+ }), shiftColor(value, function (t) {
6596
6941
  return t['list-group-item-color-scale'];
6597
- }, value))), _defineProperty(_ref, ".list-group-item-".concat(state, "-action.active --text"), css(_templateObject6$6 || (_templateObject6$6 = _taggedTemplateLiteral(["\n color: $white;\n "])))), _ref;
6942
+ }))), _defineProperty(_ref, ".list-group-item-".concat(state, "-action.active --text"), css(_templateObject6$6 || (_templateObject6$6 = _taggedTemplateLiteral(["\n color: $white;\n "])))), _ref;
6598
6943
  })));
6599
6944
  var ListGroupItemAction = /*#__PURE__*/React__default["default"].forwardRef(function (props, ref) {
6600
6945
  var _useModifier = useModifier('useTabbable', props, ref),
@@ -6693,17 +7038,14 @@ ListGroup.propTypes = propTypes$F;
6693
7038
  ListGroup.Item = ListGroupItem;
6694
7039
  ListGroup.ItemAction = ListGroupItemAction;
6695
7040
 
6696
- var _excluded$C = ["children", "onMouseEnter", "onMouseLeave", "onFocus", "onBlur", "onPressIn", "onPressOut", "style"];
7041
+ var _excluded$C = ["children", "onHoverIn", "onHoverOut", "onMouseEnter", "onMouseLeave", "style"],
7042
+ _excluded2 = ["onHoverIn", "onHoverOut"];
6697
7043
 
6698
7044
  var _templateObject$w;
6699
7045
  var propTypes$E = {
6700
7046
  children: PropTypes__default["default"].node.isRequired,
6701
7047
  onMouseEnter: PropTypes__default["default"].func,
6702
7048
  onMouseLeave: PropTypes__default["default"].func,
6703
- onFocus: PropTypes__default["default"].func,
6704
- onBlur: PropTypes__default["default"].func,
6705
- onPressIn: PropTypes__default["default"].func,
6706
- onPressOut: PropTypes__default["default"].func,
6707
7049
  // eslint-disable-next-line react/forbid-prop-types
6708
7050
  style: PropTypes__default["default"].any
6709
7051
  };
@@ -6721,82 +7063,42 @@ var Link = /*#__PURE__*/React__default["default"].forwardRef(function (props, re
6721
7063
  actionProps = _useAction2[0],
6722
7064
  actionRef = _useAction2[1];
6723
7065
 
6724
- var children = actionProps.children,
6725
- _actionProps$onMouseE = actionProps.onMouseEnter,
6726
- _onMouseEnter = _actionProps$onMouseE === void 0 ? function () {} : _actionProps$onMouseE,
7066
+ var children = actionProps.children;
7067
+ actionProps.onHoverIn;
7068
+ actionProps.onHoverOut;
7069
+ var _actionProps$onMouseE = actionProps.onMouseEnter,
7070
+ handleMouseEnter = _actionProps$onMouseE === void 0 ? function () {} : _actionProps$onMouseE,
6727
7071
  _actionProps$onMouseL = actionProps.onMouseLeave,
6728
- _onMouseLeave = _actionProps$onMouseL === void 0 ? function () {} : _actionProps$onMouseL,
6729
- _actionProps$onFocus = actionProps.onFocus,
6730
- _onFocus = _actionProps$onFocus === void 0 ? function () {} : _actionProps$onFocus,
6731
- _actionProps$onBlur = actionProps.onBlur,
6732
- _onBlur = _actionProps$onBlur === void 0 ? function () {} : _actionProps$onBlur,
6733
- _actionProps$onPressI = actionProps.onPressIn,
6734
- _onPressIn = _actionProps$onPressI === void 0 ? function () {} : _actionProps$onPressI,
6735
- _actionProps$onPressO = actionProps.onPressOut,
6736
- _onPressOut = _actionProps$onPressO === void 0 ? function () {} : _actionProps$onPressO,
7072
+ handleMouseLeave = _actionProps$onMouseL === void 0 ? function () {} : _actionProps$onMouseL,
6737
7073
  style = actionProps.style,
6738
7074
  elementProps = _objectWithoutProperties(actionProps, _excluded$C);
6739
7075
 
6740
7076
  var media = useMedia();
6741
-
6742
- var _useState = React.useState(false),
6743
- _useState2 = _slicedToArray(_useState, 2),
6744
- focused = _useState2[0],
6745
- setFocused = _useState2[1];
6746
-
6747
- var _useState3 = React.useState(false),
6748
- _useState4 = _slicedToArray(_useState3, 2),
6749
- hovered = _useState4[0],
6750
- setHovered = _useState4[1];
6751
-
6752
- var _useState5 = React.useState(false),
6753
- _useState6 = _slicedToArray(_useState5, 2),
6754
- pressed = _useState6[0],
6755
- setPressed = _useState6[1];
6756
-
6757
- var classes = getStyles(styles$w, ['link', hovered]);
7077
+ var classes = getStyles(styles$w, ['link']);
6758
7078
  var resolveStyle = useStyle([classes, style]);
6759
- return /*#__PURE__*/React__default["default"].createElement(Text, _extends({}, elementProps, {
6760
- ref: actionRef,
6761
- accessibilityRole: getRole$2(actionProps),
6762
- accessible: true,
6763
- onFocus: function onFocus(e) {
6764
- setFocused(true);
6765
7079
 
6766
- _onFocus(e);
7080
+ var _useInteractionState = useInteractionState(elementProps),
7081
+ interaction = _useInteractionState.interaction,
7082
+ _useInteractionState$ = _useInteractionState.interactionProps,
7083
+ handleMouseEnterInteraction = _useInteractionState$.onHoverIn,
7084
+ handleMouseLeaveInteraction = _useInteractionState$.onHoverOut,
7085
+ interactionProps = _objectWithoutProperties(_useInteractionState$, _excluded2);
7086
+
7087
+ return /*#__PURE__*/React__default["default"].createElement(Text, _extends({}, elementProps, interactionProps, {
7088
+ onMouseEnter: function onMouseEnter(event) {
7089
+ handleMouseEnter(event);
7090
+ handleMouseEnterInteraction(event);
6767
7091
  },
6768
- onBlur: function onBlur(e) {
6769
- setFocused(false);
6770
-
6771
- _onBlur(e);
6772
- },
6773
- onMouseEnter: function onMouseEnter(e) {
6774
- setHovered(true);
6775
-
6776
- _onMouseEnter(e);
6777
- },
6778
- onMouseLeave: function onMouseLeave(e) {
6779
- setHovered(false);
6780
-
6781
- _onMouseLeave(e);
6782
- },
6783
- onPressIn: function onPressIn(e) {
6784
- setPressed(true);
6785
-
6786
- _onPressIn(e);
6787
- },
6788
- onPressOut: function onPressOut(e) {
6789
- setPressed(false);
6790
-
6791
- _onPressOut(e);
7092
+ onMouseLeave: function onMouseLeave(event) {
7093
+ handleMouseLeave(event);
7094
+ handleMouseLeaveInteraction(event);
6792
7095
  },
7096
+ ref: actionRef,
7097
+ accessibilityRole: getRole$2(actionProps),
7098
+ accessible: true,
6793
7099
  style: resolveStyle({
6794
7100
  media: media,
6795
- interaction: {
6796
- focused: focused,
6797
- hovered: hovered,
6798
- pressed: pressed
6799
- }
7101
+ interaction: interaction
6800
7102
  })
6801
7103
  }), children);
6802
7104
  });
@@ -8062,7 +8364,7 @@ var PickerItem = /*#__PURE__*/React__default["default"].forwardRef(function (pro
8062
8364
  PickerItem.displayName = 'PickerItem';
8063
8365
  PickerItem.propTypes = propTypes$i;
8064
8366
 
8065
- var _excluded$g = ["children", "onFocus", "onBlur", "placeholderTextColor", "size", "disabled", "valid", "invalid", "useNativeComponent", "style", "styleName"];
8367
+ var _excluded$g = ["children", "onFocus", "onBlur", "placeholderTextColor", "size", "disabled", "valid", "invalid", "useNativeComponent", "autoFocus", "style", "styleName"];
8066
8368
 
8067
8369
  var _templateObject$d, _templateObject2$9, _templateObject3$3, _templateObject4$2, _templateObject5$2, _templateObject6$1;
8068
8370
  /* eslint-disable react/no-unused-prop-types */
@@ -8077,6 +8379,7 @@ var propTypes$h = {
8077
8379
  valid: PropTypes__default["default"].bool,
8078
8380
  invalid: PropTypes__default["default"].bool,
8079
8381
  useNativeComponent: PropTypes__default["default"].bool,
8382
+ autoFocus: PropTypes__default["default"].bool,
8080
8383
  // eslint-disable-next-line react/forbid-prop-types
8081
8384
  style: PropTypes__default["default"].any,
8082
8385
  // eslint-disable-next-line react/forbid-prop-types
@@ -8109,9 +8412,9 @@ var Picker = /*#__PURE__*/React__default["default"].forwardRef(function (props,
8109
8412
 
8110
8413
  var children = modifierProps.children,
8111
8414
  _modifierProps$onFocu = modifierProps.onFocus,
8112
- onFocus = _modifierProps$onFocu === void 0 ? function () {} : _modifierProps$onFocu,
8415
+ _onFocus = _modifierProps$onFocu === void 0 ? function () {} : _modifierProps$onFocu,
8113
8416
  _modifierProps$onBlur = modifierProps.onBlur,
8114
- onBlur = _modifierProps$onBlur === void 0 ? function () {} : _modifierProps$onBlur,
8417
+ _onBlur = _modifierProps$onBlur === void 0 ? function () {} : _modifierProps$onBlur,
8115
8418
  _modifierProps$placeh = modifierProps.placeholderTextColor,
8116
8419
  placeholderTextColor = _modifierProps$placeh === void 0 ? StyleSheet.value('input-placeholder-color') : _modifierProps$placeh,
8117
8420
  size = modifierProps.size,
@@ -8123,13 +8426,15 @@ var Picker = /*#__PURE__*/React__default["default"].forwardRef(function (props,
8123
8426
  invalid = _modifierProps$invali === void 0 ? false : _modifierProps$invali,
8124
8427
  _modifierProps$useNat = modifierProps.useNativeComponent,
8125
8428
  useNativeComponent = _modifierProps$useNat === void 0 ? false : _modifierProps$useNat,
8429
+ _modifierProps$autoFo = modifierProps.autoFocus,
8430
+ autoFocus = _modifierProps$autoFo === void 0 ? false : _modifierProps$autoFo,
8126
8431
  style = modifierProps.style,
8127
8432
  styleName = modifierProps.styleName,
8128
8433
  elementProps = _objectWithoutProperties(modifierProps, _excluded$g);
8129
8434
 
8130
8435
  var media = useMedia();
8131
8436
 
8132
- var _useState = React.useState(false),
8437
+ var _useState = React.useState(autoFocus),
8133
8438
  _useState2 = _slicedToArray(_useState, 2),
8134
8439
  focused = _useState2[0],
8135
8440
  setFocused = _useState2[1];
@@ -8137,17 +8442,6 @@ var Picker = /*#__PURE__*/React__default["default"].forwardRef(function (props,
8137
8442
  var classes = getStyles(styles$d, ['select', // reboot
8138
8443
  '.form-select', disabled && '.form-select.disabled', size === 'sm' && '.form-select-sm', size === 'lg' && '.form-select-lg', valid && '.form-select:valid', invalid && '.form-select:invalid']);
8139
8444
  var resolveStyle = useStyle([classes, style], styleName);
8140
-
8141
- var handleFocus = function handleFocus() {
8142
- setFocused(true);
8143
- onFocus();
8144
- };
8145
-
8146
- var handleBlur = function handleBlur() {
8147
- setFocused(false);
8148
- onBlur();
8149
- };
8150
-
8151
8445
  var BasePicker = reactNative.Platform.OS === 'web' && !useNativeComponent ? PickerWeb : PickerNative;
8152
8446
  return /*#__PURE__*/React__default["default"].createElement(PickerContext.Provider, {
8153
8447
  value: {
@@ -8156,13 +8450,23 @@ var Picker = /*#__PURE__*/React__default["default"].forwardRef(function (props,
8156
8450
  }, /*#__PURE__*/React__default["default"].createElement(BasePicker, _extends({}, elementProps, {
8157
8451
  ref: modifierRef,
8158
8452
  placeholderTextColor: placeholderTextColor,
8159
- onFocus: handleFocus,
8160
- onBlur: handleBlur,
8453
+ onFocus: function onFocus(event) {
8454
+ setFocused(true);
8455
+
8456
+ _onFocus(event);
8457
+ },
8458
+ onBlur: function onBlur(event) {
8459
+ setFocused(false);
8460
+
8461
+ _onBlur(event);
8462
+ },
8161
8463
  disabled: disabled,
8464
+ autoFocus: autoFocus,
8162
8465
  style: resolveStyle({
8163
8466
  media: media,
8164
8467
  interaction: {
8165
- focused: focused
8468
+ focus: focused,
8469
+ focusVisible: focused
8166
8470
  }
8167
8471
  })
8168
8472
  }), children));
@@ -8556,12 +8860,12 @@ var propTypes$7 = {
8556
8860
  style: PropTypes__default["default"].any
8557
8861
  };
8558
8862
  var styles$5 = StyleSheet.create(_objectSpread2(_objectSpread2(_objectSpread2({
8559
- '.spinner-border': css(_templateObject$5 || (_templateObject$5 = _taggedTemplateLiteral(["\n // display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n // vertical-align: $spinner-vertical-align;\n border-width: $spinner-border-width;\n border-style: solid;\n border-top-color: $body-color;\n border-bottom-color: $body-color;\n border-left-color: $body-color;\n // workaround for issue https://github.com/facebook/react-native/issues/34722\n border-right-color: rgba(0, 0, 0, 0.01); // transparent;\n border-radius: $spinner-width * 0.5; // 50%;\n // animation: $spinner-animation-speed linear infinite spinner-border;\n "])))
8863
+ '.spinner-border': css(_templateObject$5 || (_templateObject$5 = _taggedTemplateLiteral(["\n // display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n // vertical-align: $spinner-vertical-align;\n border-width: $spinner-border-width;\n border-style: solid;\n border-top-color: $body-color;\n border-bottom-color: $body-color;\n border-left-color: $body-color;\n // workaround for issue https://github.com/facebook/react-native/issues/34722\n border-right-color: rgba(0, 0, 0, 0.01); // transparent;\n border-radius: $spinner-width * 50%;\n // animation: $spinner-animation-speed linear infinite spinner-border;\n "])))
8560
8864
  }, each(THEME_COLORS, function (color, value) {
8561
8865
  return _defineProperty({}, ".spinner-border-".concat(color), css(_templateObject2$4 || (_templateObject2$4 = _taggedTemplateLiteral(["\n border-top-color: ", ";\n border-bottom-color: ", ";\n border-left-color: ", ";\n "])), value, value, value));
8562
8866
  })), {}, {
8563
8867
  '.spinner-border-sm': css(_templateObject3$1 || (_templateObject3$1 = _taggedTemplateLiteral(["\n width: $spinner-width-sm;\n height: $spinner-height-sm;\n border-width: $spinner-border-width-sm;\n "]))),
8564
- '.spinner-grow': css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n // display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n // vertical-align: $spinner-vertical-align;\n background-color: $body-color;\n border-radius: $spinner-width * 0.5; // 50%;\n opacity: 0;\n // animation: $spinner-animation-speed linear infinite spinner-grow;\n "])))
8868
+ '.spinner-grow': css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n // display: inline-block;\n width: $spinner-width;\n height: $spinner-height;\n // vertical-align: $spinner-vertical-align;\n background-color: $body-color;\n border-radius: $spinner-width * 50%;\n opacity: 0;\n // animation: $spinner-animation-speed linear infinite spinner-grow;\n "])))
8565
8869
  }, each(THEME_COLORS, function (color, value) {
8566
8870
  return _defineProperty({}, ".spinner-grow-".concat(color), css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n background-color: ", ";\n "])), value));
8567
8871
  })), {}, {