bootstrap-rn 0.2.9 → 0.2.11

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,145 @@ 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
- }
660
-
661
- if (typeof value === 'number') {
662
- return [value, null];
663
- }
666
+ var UnitValue = /*#__PURE__*/function () {
667
+ function UnitValue(value) {
668
+ var unit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'number';
664
669
 
665
- var matchedValue = value.match(valueRE);
670
+ _classCallCheck(this, UnitValue);
666
671
 
667
- if (matchedValue) {
668
- return [parseFloat(value), matchedValue[2]];
669
- }
672
+ _defineProperty(this, "value", void 0);
670
673
 
671
- return [value, undefined];
672
- };
674
+ _defineProperty(this, "unit", void 0);
673
675
 
674
- var getUnit = function getUnit(left, right) {
675
- if (!left && !right) {
676
- return '';
676
+ this.value = value;
677
+ this.unit = unit;
677
678
  }
678
679
 
679
- if (!left) {
680
- return right;
681
- }
680
+ _createClass(UnitValue, [{
681
+ key: "toPercentage",
682
+ value: function toPercentage() {
683
+ if (!['number', 'percent'].includes(this.unit)) {
684
+ throw new Error("Unexpected unit \"".concat(this.unit, "\"."));
685
+ }
682
686
 
683
- if (!right || left === right) {
684
- return left;
685
- }
687
+ if (this.unit === 'percent') {
688
+ return this.value / 100;
689
+ }
686
690
 
687
- throw new Error("Different units ".concat(left, " and ").concat(right, " found for arithmetic operation."));
688
- };
691
+ return this.value;
692
+ }
693
+ }, {
694
+ key: "toNumber",
695
+ value: function toNumber() {
696
+ if (!['number', 'px', 'rem'].includes(this.unit)) {
697
+ throw new Error("Unexpected unit \"".concat(this.unit, "\"."));
698
+ }
689
699
 
690
- var POWER = Math.pow(10, 8);
700
+ if (this.unit === 'rem') {
701
+ return this.value * reactNative.PixelRatio.getFontScale() * 16;
702
+ }
691
703
 
692
- var fixRounding = function fixRounding(value) {
693
- return Math.round(value * POWER) / POWER;
694
- };
704
+ return this.value;
705
+ }
706
+ }, {
707
+ key: "toString",
708
+ value: function toString() {
709
+ return "".concat(this.value).concat(this.unit === 'number' ? '' : this.unit);
710
+ }
711
+ }], [{
712
+ key: "parse",
713
+ value: function parse(value) {
714
+ if (value instanceof UnitValue) {
715
+ return value;
716
+ }
695
717
 
696
- var calculateValue = function calculateValue(leftValue, operator, rightValue) {
697
- if (operator === '+') {
698
- return leftValue + rightValue;
699
- }
718
+ if (typeof value === 'number') {
719
+ return new UnitValue(value, 'number');
720
+ }
700
721
 
701
- if (operator === '-') {
702
- return leftValue - rightValue;
703
- }
722
+ var match = value.match(valueRE);
704
723
 
705
- if (operator === '*') {
706
- return fixRounding(leftValue * rightValue);
707
- }
724
+ if (!match) {
725
+ throw new Error("Cannot parse number \"".concat(value, "\"."));
726
+ }
708
727
 
709
- if (operator === '/') {
710
- return fixRounding(leftValue / rightValue);
711
- }
728
+ return new UnitValue(parseFloat(match[1]), match[2] === '%' ? 'percent' : match[2]);
729
+ }
730
+ }]);
712
731
 
713
- if (operator === '%') {
714
- return leftValue % rightValue;
715
- }
732
+ return UnitValue;
733
+ }();
716
734
 
717
- throw new Error('Unknown operator.');
735
+ var POWER = Math.pow(10, 8);
736
+
737
+ var fixRounding = function fixRounding(value) {
738
+ return Math.round(value * POWER) / POWER;
718
739
  };
719
740
 
720
- function calculate(left, operator, right) {
721
- var _parseValue = parseValue(left),
722
- _parseValue2 = _slicedToArray(_parseValue, 2),
723
- leftValue = _parseValue2[0],
724
- leftUnit = _parseValue2[1];
741
+ var calculateValue = function calculateValue(value1, operator, value2) {
742
+ switch (operator) {
743
+ case '+':
744
+ return value1 + value2;
725
745
 
726
- var _parseValue3 = parseValue(right),
727
- _parseValue4 = _slicedToArray(_parseValue3, 2),
728
- rightValue = _parseValue4[0],
729
- rightUnit = _parseValue4[1];
746
+ case '-':
747
+ return value1 - value2;
730
748
 
731
- var unit = getUnit(leftUnit, rightUnit);
732
- return "".concat(calculateValue(leftValue, operator, rightValue)).concat(unit);
733
- }
749
+ case '*':
750
+ return fixRounding(value1 * value2);
734
751
 
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.
752
+ case '/':
753
+ return fixRounding(value1 / value2);
739
754
 
755
+ case '%':
756
+ return value1 % value2;
740
757
 
741
- function calculateAdvanced(left, operator, right) {
742
- var parsedLeft = parseValue(left);
743
-
744
- var _parsedLeft = _slicedToArray(parsedLeft, 2),
745
- leftValue = _parsedLeft[0],
746
- leftUnit = _parsedLeft[1];
758
+ default:
759
+ throw new Error('Unknown operator.');
760
+ }
761
+ };
747
762
 
748
- var parsedRight = parseValue(right);
763
+ var pxToRem = function pxToRem(value) {
764
+ return value / (reactNative.PixelRatio.getFontScale() * 16);
765
+ };
749
766
 
750
- var _parsedRight = _slicedToArray(parsedRight, 2),
751
- rightValue = _parsedRight[0],
752
- rightUnit = _parsedRight[1];
767
+ function calculate(value1, operator, value2) {
768
+ var number1 = UnitValue.parse(value1);
769
+ var number2 = UnitValue.parse(value2);
753
770
 
754
- if (leftUnit === 'px' && rightUnit === 'rem') {
755
- return calculate(convertToREM(leftValue), operator, parsedRight);
771
+ if (number1.unit === 'px' && number2.unit === 'rem') {
772
+ return "".concat(calculateValue(pxToRem(number1.value), operator, number2.value), "rem");
756
773
  }
757
774
 
758
- if (leftUnit === 'rem' && rightUnit === 'px') {
759
- return calculate(parsedLeft, operator, convertToREM(rightValue));
775
+ if (number1.unit === 'rem' && number2.unit === 'px') {
776
+ return "".concat(calculateValue(number1.value, operator, pxToRem(number2.value)), "rem");
760
777
  }
761
778
 
762
- return calculate(parsedLeft, operator, parsedRight);
779
+ var unit = number1.unit === 'number' ? number2.unit : number1.unit;
780
+ return "".concat(calculateValue(number1.value, operator, number2.value)).concat(unit === 'number' ? '' : unit);
781
+ }
782
+ function normalizeNumber(value) {
783
+ return UnitValue.parse(value).toNumber();
763
784
  }
764
785
 
765
- var formulaRE = /([+-])?([\d.Ee]+)(rem|px)?\s*(\+|-|\*|%)\s*([+-])?([\d.Ee]+)(rem|px)?/g;
786
+ var formulaRE = /([+-]+)?([\d.Ee]+)(rem|px|%)?\s*(\+|-|\*|%)\s*([+-]+)?([\d.Ee]+)(rem|px|%)?/g;
766
787
 
767
788
  function formula(value) {
768
789
  // Naïve approach to calculate simple formulas.
@@ -770,22 +791,316 @@ function formula(value) {
770
791
  return value.replace(formulaRE, function (_) {
771
792
  var leftUnary = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
772
793
  var leftNumber = arguments.length > 2 ? arguments[2] : undefined;
773
- var leftUnit = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
794
+ var leftUnit = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';
774
795
  var operator = arguments.length > 4 ? arguments[4] : undefined;
775
796
  var rightUnary = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : '';
776
797
  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];
798
+ var rightUnit = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : '';
799
+ var leftValue = "".concat(leftUnary).concat(leftNumber).concat(leftUnit);
800
+ var rightValue = "".concat(rightUnary).concat(rightNumber).concat(rightUnit);
780
801
  return calculate(leftValue, operator, rightValue);
781
802
  });
782
803
  }
783
804
 
805
+ // Copied from https://github.com/styled-components/polished/blob/main/src/color/parseToRgb.js
806
+ var hexRE = /^#[a-fA-F0-9]{6}$/;
807
+ var hexRgbaRE = /^#[a-fA-F0-9]{8}$/;
808
+ var shortHexRE = /^#[a-fA-F0-9]{3}$/;
809
+ var shortRgbaHexRE = /^#[a-fA-F0-9]{4}$/;
810
+ var rgbRE = /^rgb\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*\)$/i;
811
+ var rgbaRE = /^rgb(?:a)?\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,|\/)\s*([-+]?\d*[.]?\d+[%]?)\s*\)$/i;
812
+ 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;
813
+ 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
814
+ // prettier-ignore
815
+
816
+ var colorNames = {
817
+ aliceblue: '#f0f8ff',
818
+ antiquewhite: '#faebd7',
819
+ aqua: '#00ffff',
820
+ aquamarine: '#7fffd4',
821
+ azure: '#f0ffff',
822
+ beige: '#f5f5dc',
823
+ bisque: '#ffe4c4',
824
+ black: '#000000',
825
+ blanchedalmond: '#ffebcd',
826
+ blue: '#0000ff',
827
+ blueviolet: '#8a2be2',
828
+ brown: '#a52a2a',
829
+ burlywood: '#deb887',
830
+ cadetblue: '#5f9ea0',
831
+ chartreuse: '#7fff00',
832
+ chocolate: '#d2691e',
833
+ coral: '#ff7f50',
834
+ cornflowerblue: '#6495ed',
835
+ cornsilk: '#fff8dc',
836
+ crimson: '#dc143c',
837
+ cyan: '#00ffff',
838
+ darkblue: '#00008b',
839
+ darkcyan: '#008b8b',
840
+ darkgoldenrod: '#b8860b',
841
+ darkgray: '#a9a9a9',
842
+ darkgreen: '#006400',
843
+ darkgrey: '#a9a9a9',
844
+ darkkhaki: '#bdb76b',
845
+ darkmagenta: '#8b008b',
846
+ darkolivegreen: '#556b2f',
847
+ darkorange: '#ff8c00',
848
+ darkorchid: '#9932cc',
849
+ darkred: '#8b0000',
850
+ darksalmon: '#e9967a',
851
+ darkseagreen: '#8fbc8f',
852
+ darkslateblue: '#483d8b',
853
+ darkslategrey: '#2f4f4f',
854
+ darkturquoise: '#00ced1',
855
+ darkviolet: '#9400d3',
856
+ deeppink: '#ff1493',
857
+ deepskyblue: '#00bfff',
858
+ dimgray: '#696969',
859
+ dimgrey: '#696969',
860
+ dodgerblue: '#1e90ff',
861
+ firebrick: '#b22222',
862
+ floralwhite: '#fffaf0',
863
+ forestgreen: '#228b22',
864
+ fuchsia: '#ff00ff',
865
+ gainsboro: '#dcdcdc',
866
+ ghostwhite: '#f8f8ff',
867
+ gold: '#ffd700',
868
+ goldenrod: '#daa520',
869
+ gray: '#808080',
870
+ green: '#008000',
871
+ greenyellow: '#adff2f',
872
+ grey: '#808080',
873
+ honeydew: '#f0fff0',
874
+ hotpink: '#ff69b4',
875
+ indianred: '#cd5c5c',
876
+ indigo: '#4b0082',
877
+ ivory: '#fffff0',
878
+ khaki: '#f0e68c',
879
+ lavender: '#e6e6fa',
880
+ lavenderblush: '#fff0f5',
881
+ lawngreen: '#7cfc00',
882
+ lemonchiffon: '#fffacd',
883
+ lightblue: '#add8e6',
884
+ lightcoral: '#f08080',
885
+ lightcyan: '#e0ffff',
886
+ lightgoldenrodyellow: '#fafad2',
887
+ lightgray: '#d3d3d3',
888
+ lightgreen: '#90ee90',
889
+ lightgrey: '#d3d3d3',
890
+ lightpink: '#ffb6c1',
891
+ lightsalmon: '#ffa07a',
892
+ lightseagreen: '#20b2aa',
893
+ lightskyblue: '#87cefa',
894
+ lightslategrey: '#778899',
895
+ lightsteelblue: '#b0c4de',
896
+ lightyellow: '#ffffe0',
897
+ lime: '#00ff00',
898
+ limegreen: '#32cd32',
899
+ linen: '#faf0e6',
900
+ magenta: '#ff00ff',
901
+ maroon: '#800000',
902
+ mediumaquamarine: '#66cdaa',
903
+ mediumblue: '#0000cd',
904
+ mediumorchid: '#ba55d3',
905
+ mediumpurple: '#9370db',
906
+ mediumseagreen: '#3cb371',
907
+ mediumslateblue: '#7b68ee',
908
+ mediumspringgreen: '#00fa9a',
909
+ mediumturquoise: '#48d1cc',
910
+ mediumvioletred: '#c71585',
911
+ midnightblue: '#191970',
912
+ mintcream: '#f5fffa',
913
+ mistyrose: '#ffe4e1',
914
+ moccasin: '#ffe4b5',
915
+ navajowhite: '#ffdead',
916
+ navy: '#000080',
917
+ oldlace: '#fdf5e6',
918
+ olive: '#808000',
919
+ olivedrab: '#6b8e23',
920
+ orange: '#ffa500',
921
+ orangered: '#ff4500',
922
+ orchid: '#da70d6',
923
+ palegoldenrod: '#eee8aa',
924
+ palegreen: '#98fb98',
925
+ paleturquoise: '#afeeee',
926
+ palevioletred: '#db7093',
927
+ papayawhip: '#ffefd5',
928
+ peachpuff: '#ffdab9',
929
+ peru: '#cd853f',
930
+ pink: '#ffc0cb',
931
+ plum: '#dda0dd',
932
+ powderblue: '#b0e0e6',
933
+ purple: '#800080',
934
+ rebeccapurple: '#663399',
935
+ red: '#ff0000',
936
+ rosybrown: '#bc8f8f',
937
+ royalblue: '#4169e1',
938
+ saddlebrown: '#8b4513',
939
+ salmon: '#fa8072',
940
+ sandybrown: '#f4a460',
941
+ seagreen: '#2e8b57',
942
+ seashell: '#fff5ee',
943
+ sienna: '#a0522d',
944
+ silver: '#c0c0c0',
945
+ skyblue: '#87ceeb',
946
+ slateblue: '#6a5acd',
947
+ slategray: '#708090',
948
+ snow: '#fffafa',
949
+ springgreen: '#00ff7f',
950
+ steelblue: '#4682b4',
951
+ tan: '#d2b48c',
952
+ teal: '#008080',
953
+ thistle: '#d8bfd8',
954
+ tomato: '#ff6347',
955
+ turquoise: '#40e0d0',
956
+ violet: '#ee82ee',
957
+ wheat: '#f5deb3',
958
+ white: '#ffffff',
959
+ whitesmoke: '#f5f5f5',
960
+ yellow: '#ffff00',
961
+ yellowgreen: '#9acd32'
962
+ };
963
+
964
+ var hslToRgb = function hslToRgb(h, s, l) {
965
+ var a = s * Math.min(l, 1 - l);
966
+
967
+ var f = function f(n) {
968
+ var k = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : (n + h / 30) % 12;
969
+ return l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);
970
+ };
971
+
972
+ return [f(0), f(8), f(4)];
973
+ };
974
+
975
+ var RgbaValue = /*#__PURE__*/function () {
976
+ function RgbaValue(red, green, blue) {
977
+ var alpha = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
978
+
979
+ _classCallCheck(this, RgbaValue);
980
+
981
+ _defineProperty(this, "red", void 0);
982
+
983
+ _defineProperty(this, "green", void 0);
984
+
985
+ _defineProperty(this, "blue", void 0);
986
+
987
+ _defineProperty(this, "alpha", void 0);
988
+
989
+ this.red = red;
990
+ this.green = green;
991
+ this.blue = blue;
992
+ this.alpha = alpha;
993
+ }
994
+
995
+ _createClass(RgbaValue, [{
996
+ key: "toRgb",
997
+ value: function toRgb() {
998
+ return [this.red, this.green, this.blue];
999
+ }
1000
+ }, {
1001
+ key: "toRgba",
1002
+ value: function toRgba() {
1003
+ return [].concat(_toConsumableArray(this.toRgb()), [this.alpha]);
1004
+ }
1005
+ }, {
1006
+ key: "toHex",
1007
+ value: function toHex() {
1008
+ var _this$toRgb = this.toRgb(),
1009
+ _this$toRgb2 = _toArray(_this$toRgb),
1010
+ values = _this$toRgb2.slice(0);
1011
+
1012
+ if (this.alpha < 1) {
1013
+ values.push(this.alpha);
1014
+ }
1015
+
1016
+ return "#".concat(values.map(function (x) {
1017
+ var hex = x.toString(16);
1018
+ return hex.length === 1 ? "0".concat(hex) : hex;
1019
+ }).join(''));
1020
+ }
1021
+ }], [{
1022
+ key: "parse",
1023
+ value: function parse(value) {
1024
+ if (value instanceof RgbaValue) {
1025
+ return value;
1026
+ }
1027
+
1028
+ var color = colorNames[value] || value; // Handle hex value
1029
+
1030
+ var hexMatch = color.match(hexRE) || color.match(hexRgbaRE) || color.match(shortHexRE) || color.match(shortRgbaHexRE);
1031
+
1032
+ if (hexMatch) {
1033
+ var params = (hexMatch[0].length <= 4 ? hexMatch[0].match(/\w/g).map(function (x) {
1034
+ return "".concat(x).concat(x);
1035
+ }) : hexMatch[0].match(/\w\w/g)).map(function (hex, key) {
1036
+ var x = parseInt(hex, 16);
1037
+ var alpha = key === 3;
1038
+ return alpha ? (x / 255).toFixed(2) : x;
1039
+ });
1040
+ return _construct(RgbaValue, _toConsumableArray(params));
1041
+ } // Handle rgb(a) value
1042
+
1043
+
1044
+ var rgbMatch = color.match(rgbRE) || color.match(rgbaRE);
1045
+
1046
+ if (rgbMatch) {
1047
+ var _params = rgbMatch.slice(1).map(function (x, key) {
1048
+ var alpha = key === 3;
1049
+ return alpha ? parseFloat(x) : parseInt(x, 10);
1050
+ });
1051
+
1052
+ return _construct(RgbaValue, _toConsumableArray(_params));
1053
+ } // Handle hsl(a) value
1054
+
1055
+
1056
+ var hslMatch = color.match(hslRE) || color.match(hslaRE);
1057
+
1058
+ if (hslMatch) {
1059
+ var h = parseInt(hslMatch[1], 10);
1060
+ var s = parseInt(hslMatch[2], 10) / 100;
1061
+ var l = parseInt(hslMatch[3], 10) / 100;
1062
+ var alpha = hslMatch[4] && parseFloat(hslMatch[4]);
1063
+ return _construct(RgbaValue, [].concat(_toConsumableArray(hslToRgb(h, s, l)), [alpha]));
1064
+ }
1065
+
1066
+ throw new Error("Unknown color \"".concat(value, "\"."));
1067
+ }
1068
+ }]);
1069
+
1070
+ return RgbaValue;
1071
+ }();
1072
+
1073
+ function rgba$1(value, alpha) {
1074
+ var color = RgbaValue.parse(value);
1075
+ return "rgba(".concat(color.red, ",").concat(color.green, ",").concat(color.blue, ",").concat(alpha, ")");
1076
+ } // Sass equivalent
1077
+
1078
+ function opacity(value) {
1079
+ return RgbaValue.parse(value).alpha;
1080
+ } // Sass equivalent
1081
+
1082
+ function mix(color1, color2) {
1083
+ var weight = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0.5;
1084
+ var rgb1 = RgbaValue.parse(color1).toRgb();
1085
+ var rgb2 = RgbaValue.parse(color2).toRgb();
1086
+ var percentage = UnitValue.parse(weight).toPercentage();
1087
+
1088
+ var _rgb1$map = rgb1.map(function (value, key) {
1089
+ return Math.round(rgb2[key] + (value - rgb2[key]) * percentage);
1090
+ }),
1091
+ _rgb1$map2 = _slicedToArray(_rgb1$map, 3),
1092
+ r = _rgb1$map2[0],
1093
+ g = _rgb1$map2[1],
1094
+ b = _rgb1$map2[2];
1095
+
1096
+ return new RgbaValue(r, g, b).toHex();
1097
+ }
1098
+
784
1099
  var transformRgbaRE = /rgba\(\s*([#0-9a-z]+)\s*,\s*([\d.Ee]+)\s*\)/g;
785
1100
 
786
1101
  function rgba(value) {
787
- return value.replace(transformRgbaRE, function (_, color, alpha) {
788
- return polished.rgba(color, Number(alpha));
1102
+ return value.replace(transformRgbaRE, function (_, hex, alpha) {
1103
+ return rgba$1(hex, alpha);
789
1104
  });
790
1105
  }
791
1106
 
@@ -1113,15 +1428,19 @@ function createStyle(definitions) {
1113
1428
  var active = platformDefinitions[key].scopes.every(function (scope) {
1114
1429
  if (scope.type === 'selector') {
1115
1430
  if (scope.name === 'hover') {
1116
- return interaction && interaction.hovered;
1431
+ return interaction && interaction.hover;
1117
1432
  }
1118
1433
 
1119
1434
  if (scope.name === 'focus') {
1120
- return interaction && interaction.focused;
1435
+ return interaction && interaction.focus;
1436
+ }
1437
+
1438
+ if (scope.name === 'focus-visible') {
1439
+ return interaction && interaction.focusVisible;
1121
1440
  }
1122
1441
 
1123
1442
  if (scope.name === 'active') {
1124
- return interaction && interaction.pressed;
1443
+ return interaction && interaction.active;
1125
1444
  }
1126
1445
  }
1127
1446
 
@@ -1224,20 +1543,16 @@ function getElementId(identifier, name) {
1224
1543
  return "".concat(identifier).concat(name ? "-".concat(name) : '');
1225
1544
  }
1226
1545
  function transformPlacement$1(placement) {
1227
- if (placement === 'left') {
1228
- return reactNative.I18nManager.isRTL ? 'end' : 'start';
1229
- }
1546
+ switch (placement) {
1547
+ case 'left':
1548
+ return reactNative.I18nManager.isRTL ? 'end' : 'start';
1230
1549
 
1231
- if (placement === 'right') {
1232
- return reactNative.I18nManager.isRTL ? 'start' : 'end';
1233
- }
1550
+ case 'right':
1551
+ return reactNative.I18nManager.isRTL ? 'start' : 'end';
1234
1552
 
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
- }));
1553
+ default:
1554
+ return placement;
1555
+ }
1241
1556
  }
1242
1557
 
1243
1558
  // keys, but not the resolved values. The values are added later by the used
@@ -2113,8 +2428,7 @@ var fn = function fn(handle) {
2113
2428
 
2114
2429
  return function (t) {
2115
2430
  var input = args.map(function (arg) {
2116
- var value = typeof arg === 'function' ? arg(t) : arg;
2117
- return value;
2431
+ return typeof arg === 'function' ? arg(t) : arg;
2118
2432
  });
2119
2433
  return handle(input, t);
2120
2434
  };
@@ -2143,28 +2457,31 @@ var escapeSvg = function escapeSvg(string) {
2143
2457
  return string.startsWith('url(') ? "url(\"".concat(strReplace(string.slice(5, -2)), "\")") : strReplace(string);
2144
2458
  }; // Color contrast
2145
2459
  // A list of pre-calculated numbers of pow(divide((divide($value, 255) + .055), 1.055), 2.4). (from 0 to 255)
2460
+ // prettier-ignore
2146
2461
 
2147
2462
  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
2463
  // See https://www.w3.org/WAI/GL/wiki/Relative_luminance
2149
2464
  // See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests
2150
2465
 
2151
2466
  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];
2467
+ var rgb = RgbaValue.parse(color).toRgb();
2157
2468
 
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;
2469
+ var _rgb$map = rgb.map(function (value) {
2470
+ return value / 255 < 0.04045 ? value / 255 / 12.92 : luminanceList[value];
2471
+ }),
2472
+ _rgb$map2 = _slicedToArray(_rgb$map, 3),
2473
+ red = _rgb$map2[0],
2474
+ green = _rgb$map2[1],
2475
+ blue = _rgb$map2[2];
2476
+
2477
+ return red * 0.2126 + green * 0.7152 + blue * 0.0722;
2161
2478
  }; // Return opaque color
2162
2479
  // opaque(#fff, rgba(0, 0, 0, .5)) => #808080
2163
2480
 
2164
2481
 
2165
2482
  var opaque = function opaque(background, foreground) {
2166
- var opacity = polished.parseToRgb(foreground).alpha || 1;
2167
- return polished.mix(opacity, polished.rgba(foreground, 1), background);
2483
+ var foregroundRgba = RgbaValue.parse(foreground);
2484
+ return mix(rgba$1(foregroundRgba, 1), background, opacity(foregroundRgba));
2168
2485
  };
2169
2486
 
2170
2487
  var contrastRatio = function contrastRatio(background, foreground) {
@@ -2173,9 +2490,9 @@ var contrastRatio = function contrastRatio(background, foreground) {
2173
2490
  return l1 > l2 ? (l1 + 0.05) / (l2 + 0.05) : (l2 + 0.05) / (l1 + 0.05);
2174
2491
  };
2175
2492
 
2176
- var colorContrast = fn(function (_ref5, t) {
2177
- var _ref6 = _slicedToArray(_ref5, 1),
2178
- background = _ref6[0];
2493
+ var colorContrast = fn(function (_ref3, t) {
2494
+ var _ref4 = _slicedToArray(_ref3, 1),
2495
+ background = _ref4[0];
2179
2496
 
2180
2497
  var foregrounds = [t['color-contrast-light'], t['color-contrast-dark'], t.white, t.black];
2181
2498
  var maxRatio = 0;
@@ -2204,34 +2521,35 @@ var colorContrast = fn(function (_ref5, t) {
2204
2521
  return maxRatioColor;
2205
2522
  }); // Tint a color: mix a color with white
2206
2523
 
2207
- var tintColor = fn(function (_ref7, t) {
2208
- var _ref8 = _slicedToArray(_ref7, 2),
2209
- weight = _ref8[0],
2210
- color = _ref8[1];
2524
+ var tintColor = fn(function (_ref5, t) {
2525
+ var _ref6 = _slicedToArray(_ref5, 2),
2526
+ color = _ref6[0],
2527
+ weight = _ref6[1];
2211
2528
 
2212
- return polished.mix(weight, t.white, color);
2529
+ return mix(t.white, color, weight);
2213
2530
  }); // Shade a color: mix a color with black
2214
2531
 
2215
- var shadeColor = fn(function (_ref9, t) {
2216
- var _ref10 = _slicedToArray(_ref9, 2),
2217
- weight = _ref10[0],
2218
- color = _ref10[1];
2532
+ var shadeColor = fn(function (_ref7, t) {
2533
+ var _ref8 = _slicedToArray(_ref7, 2),
2534
+ color = _ref8[0],
2535
+ weight = _ref8[1];
2219
2536
 
2220
- return polished.mix(weight, t.black, color);
2537
+ return mix(t.black, color, weight);
2221
2538
  }); // Shade the color if the weight is positive, else tint it
2222
2539
 
2223
- var shiftColor = fn(function (_ref11, t) {
2224
- var _ref12 = _slicedToArray(_ref11, 2),
2225
- weight = _ref12[0],
2226
- color = _ref12[1];
2540
+ var shiftColor = fn(function (_ref9, t) {
2541
+ var _ref10 = _slicedToArray(_ref9, 2),
2542
+ color = _ref10[0],
2543
+ weight = _ref10[1];
2227
2544
 
2228
- var handle = weight > 0 ? shadeColor(weight, color) : tintColor(-weight, color);
2545
+ var percentage = UnitValue.parse(weight).toPercentage();
2546
+ var handle = percentage > 0 ? shadeColor(color, percentage) : tintColor(color, -percentage);
2229
2547
  return handle(t);
2230
2548
  });
2231
- var add = fn(function (_ref13) {
2232
- var _ref14 = _slicedToArray(_ref13, 2),
2233
- value1 = _ref14[0],
2234
- value2 = _ref14[1];
2549
+ var add = fn(function (_ref11) {
2550
+ var _ref12 = _slicedToArray(_ref11, 2),
2551
+ value1 = _ref12[0],
2552
+ value2 = _ref12[1];
2235
2553
 
2236
2554
  if (value1 === null) {
2237
2555
  return value2;
@@ -2241,12 +2559,12 @@ var add = fn(function (_ref13) {
2241
2559
  return value1;
2242
2560
  }
2243
2561
 
2244
- return calculateAdvanced(value1, '+', value2);
2562
+ return calculate(value1, '+', value2);
2245
2563
  });
2246
- var subtract = fn(function (_ref15) {
2247
- var _ref16 = _slicedToArray(_ref15, 2),
2248
- value1 = _ref16[0],
2249
- value2 = _ref16[1];
2564
+ var subtract = fn(function (_ref13) {
2565
+ var _ref14 = _slicedToArray(_ref13, 2),
2566
+ value1 = _ref14[0],
2567
+ value2 = _ref14[1];
2250
2568
 
2251
2569
  if (value1 === null && value2 === null) {
2252
2570
  return null;
@@ -2260,12 +2578,12 @@ var subtract = fn(function (_ref15) {
2260
2578
  return value1;
2261
2579
  }
2262
2580
 
2263
- return calculateAdvanced(value1, '-', value2);
2581
+ return calculate(value1, '-', value2);
2264
2582
  });
2265
- var divide = fn(function (_ref17) {
2266
- var _ref18 = _slicedToArray(_ref17, 2),
2267
- dividend = _ref18[0],
2268
- divisor = _ref18[1];
2583
+ var divide = fn(function (_ref15) {
2584
+ var _ref16 = _slicedToArray(_ref15, 2),
2585
+ dividend = _ref16[0],
2586
+ divisor = _ref16[1];
2269
2587
 
2270
2588
  if (Math.abs(parseFloat(dividend)) === 0) {
2271
2589
  return 0;
@@ -2275,7 +2593,7 @@ var divide = fn(function (_ref17) {
2275
2593
  throw new Error('Cannot divide by 0');
2276
2594
  }
2277
2595
 
2278
- return calculateAdvanced(dividend, '/', divisor);
2596
+ return calculate(dividend, '/', divisor);
2279
2597
  });
2280
2598
  /* eslint-enable */
2281
2599
 
@@ -2289,7 +2607,7 @@ var url = function url(val) {
2289
2607
  };
2290
2608
  };
2291
2609
 
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) {
2610
+ 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
2611
  return {
2294
2612
  100: t['gray-100'],
2295
2613
  200: t['gray-200'],
@@ -2461,9 +2779,9 @@ var variables = css(_templateObject$1e || (_templateObject$1e = _taggedTemplateL
2461
2779
  100: '100%'
2462
2780
  };
2463
2781
  }, shiftColor(function (t) {
2464
- return t['link-shade-percentage'];
2465
- }, function (t) {
2466
2782
  return t['link-color'];
2783
+ }, function (t) {
2784
+ return t['link-shade-percentage'];
2467
2785
  }), function () {
2468
2786
  return {
2469
2787
  xs: 0,
@@ -2527,9 +2845,9 @@ var variables = css(_templateObject$1e || (_templateObject$1e = _taggedTemplateL
2527
2845
  };
2528
2846
  }, function () {
2529
2847
  return '/';
2530
- }, tintColor(0.5, function (t) {
2848
+ }, tintColor(function (t) {
2531
2849
  return t['component-active-bg'];
2532
- }), add(function (t) {
2850
+ }, 0.5), add(function (t) {
2533
2851
  return calculate(t['input-line-height'], '*', 1);
2534
2852
  }, function (t) {
2535
2853
  return calculate(t['input-padding-y'], '*', 2);
@@ -2579,9 +2897,9 @@ add(function (t) {
2579
2897
  return t['dropdown-border-radius'];
2580
2898
  }, function (t) {
2581
2899
  return t['dropdown-border-width'];
2582
- }), shadeColor(0.1, function (t) {
2900
+ }), shadeColor(function (t) {
2583
2901
  return t['dropdown-link-color'];
2584
- }), subtract(function (t) {
2902
+ }, 0.1), subtract(function (t) {
2585
2903
  return t['card-border-radius'];
2586
2904
  }, function (t) {
2587
2905
  return t['card-border-width'];
@@ -2589,9 +2907,9 @@ add(function (t) {
2589
2907
  return t['popover-border-radius'];
2590
2908
  }, function (t) {
2591
2909
  return t['popover-border-width'];
2592
- }), shadeColor(0.06, function (t) {
2910
+ }), shadeColor(function (t) {
2593
2911
  return t['popover-bg'];
2594
- }), subtract(function (t) {
2912
+ }, 0.06), subtract(function (t) {
2595
2913
  return t['modal-content-border-radius'];
2596
2914
  }, function (t) {
2597
2915
  return t['modal-content-border-width'];
@@ -2980,13 +3298,13 @@ var styles$1f = StyleSheet.create(_objectSpread2(_objectSpread2({
2980
3298
  }, each(THEME_COLORS, function (state, value) {
2981
3299
  var _ref;
2982
3300
 
2983
- return _ref = {}, _defineProperty(_ref, ".alert-".concat(state), css(_templateObject2$V || (_templateObject2$V = _taggedTemplateLiteral(["\n background-color: ", ";\n border-color: ", ";\n "])), shiftColor(function (t) {
3301
+ 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
3302
  return t['alert-bg-scale'];
2985
- }, value), shiftColor(function (t) {
3303
+ }), shiftColor(value, function (t) {
2986
3304
  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) {
3305
+ }))), _defineProperty(_ref, ".alert-".concat(state, " --text"), css(_templateObject3$t || (_templateObject3$t = _taggedTemplateLiteral(["\n color: ", ";\n "])), shiftColor(value, function (t) {
2988
3306
  return t['alert-color-scale'];
2989
- }, value))), _ref;
3307
+ }))), _ref;
2990
3308
  })), {}, {
2991
3309
  '.alert-dismissible': {// TODO
2992
3310
  }
@@ -3380,6 +3698,84 @@ function useAction(props, ref) {
3380
3698
  return [actionProps, concatRefs(actionRef, ref)];
3381
3699
  }
3382
3700
 
3701
+ function useInteractionState(_ref) {
3702
+ var _ref$onFocus = _ref.onFocus,
3703
+ _onFocus = _ref$onFocus === void 0 ? function () {} : _ref$onFocus,
3704
+ _ref$onBlur = _ref.onBlur,
3705
+ _onBlur = _ref$onBlur === void 0 ? function () {} : _ref$onBlur,
3706
+ _ref$onHoverIn = _ref.onHoverIn,
3707
+ _onHoverIn = _ref$onHoverIn === void 0 ? function () {} : _ref$onHoverIn,
3708
+ _ref$onHoverOut = _ref.onHoverOut,
3709
+ _onHoverOut = _ref$onHoverOut === void 0 ? function () {} : _ref$onHoverOut,
3710
+ _ref$onPressIn = _ref.onPressIn,
3711
+ _onPressIn = _ref$onPressIn === void 0 ? function () {} : _ref$onPressIn,
3712
+ _ref$onPressOut = _ref.onPressOut,
3713
+ _onPressOut = _ref$onPressOut === void 0 ? function () {} : _ref$onPressOut,
3714
+ autoFocus = _ref.autoFocus;
3715
+
3716
+ var _useState = React.useState(false),
3717
+ _useState2 = _slicedToArray(_useState, 2),
3718
+ active = _useState2[0],
3719
+ setActive = _useState2[1];
3720
+
3721
+ var _useState3 = React.useState(false),
3722
+ _useState4 = _slicedToArray(_useState3, 2),
3723
+ hover = _useState4[0],
3724
+ setHovered = _useState4[1];
3725
+
3726
+ var _useFocusRing = focus.useFocusRing({
3727
+ autoFocus: autoFocus
3728
+ }),
3729
+ focus$1 = _useFocusRing.isFocused,
3730
+ focusVisible = _useFocusRing.isFocusVisible,
3731
+ focusProps = _useFocusRing.focusProps;
3732
+
3733
+ var interactionProps = React.useMemo(function () {
3734
+ return {
3735
+ onHoverIn: function onHoverIn(event) {
3736
+ setHovered(true);
3737
+
3738
+ _onHoverIn(event);
3739
+ },
3740
+ onHoverOut: function onHoverOut(event) {
3741
+ setHovered(false);
3742
+
3743
+ _onHoverOut(event);
3744
+ },
3745
+ onFocus: function onFocus(event) {
3746
+ focusProps.onFocus(event);
3747
+
3748
+ _onFocus(event);
3749
+ },
3750
+ onBlur: function onBlur(event) {
3751
+ focusProps.onBlur(event);
3752
+
3753
+ _onBlur(event);
3754
+ },
3755
+ onPressIn: function onPressIn(event) {
3756
+ setActive(true);
3757
+
3758
+ _onPressIn(event);
3759
+ },
3760
+ onPressOut: function onPressOut(event) {
3761
+ setActive(false);
3762
+
3763
+ _onPressOut(event);
3764
+ }
3765
+ };
3766
+ }, [_onFocus, _onBlur, _onHoverIn, _onHoverOut, _onPressIn, _onPressOut]);
3767
+ var interaction = {
3768
+ hover: hover,
3769
+ focus: focus$1,
3770
+ focusVisible: focusVisible,
3771
+ active: active
3772
+ };
3773
+ return {
3774
+ interaction: interaction,
3775
+ interactionProps: interactionProps
3776
+ };
3777
+ }
3778
+
3383
3779
  var _excluded$1o = ["color", "direction", "style"];
3384
3780
 
3385
3781
  var _templateObject$16, _templateObject2$Q, _templateObject3$q, _templateObject4$n, _templateObject5$k;
@@ -3547,34 +3943,35 @@ var Pressable = /*#__PURE__*/React__default["default"].forwardRef(function (prop
3547
3943
  var resolveActiveStyle = useStyle(active && activeStyle);
3548
3944
  var resolveTextStyle = useStyle([context && context.style, textStyle]);
3549
3945
  var resolveActiveTextStyle = useStyle(active && activeTextStyle);
3946
+
3947
+ var _useInteractionState = useInteractionState(elementProps),
3948
+ interaction = _useInteractionState.interaction,
3949
+ interactionProps = _useInteractionState.interactionProps;
3950
+
3550
3951
  var hasTextStyle = context && context.style || textStyle;
3551
3952
  var wrappedChildren = applyCaret(children, caret);
3552
- return /*#__PURE__*/React__default["default"].createElement(reactNative.Pressable, _extends({}, elementProps, {
3953
+ return /*#__PURE__*/React__default["default"].createElement(reactNative.Pressable, _extends({}, elementProps, interactionProps, {
3553
3954
  ref: actionRef,
3554
3955
  accessibilityRole: getRole$2(actionProps),
3555
- style: function style(interaction) {
3556
- return [resolveStyle({
3956
+ style: [resolveStyle({
3957
+ media: media,
3958
+ interaction: interaction
3959
+ }), resolveActiveStyle({
3960
+ media: media,
3961
+ interaction: interaction
3962
+ })]
3963
+ }), hasTextStyle ? /*#__PURE__*/React__default["default"].createElement(TextStyleContext.Provider, {
3964
+ value: {
3965
+ style: [resolveTextStyle({
3557
3966
  media: media,
3558
3967
  interaction: interaction
3559
- }), resolveActiveStyle({
3968
+ }), resolveActiveTextStyle({
3560
3969
  media: media,
3561
3970
  interaction: interaction
3562
- })];
3971
+ })],
3972
+ hasAncestor: context && context.hasTextAncestor
3563
3973
  }
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);
3974
+ }, wrappedChildren) : wrappedChildren);
3578
3975
  });
3579
3976
  Pressable.displayName = 'Pressable';
3580
3977
  Pressable.propTypes = propTypes$1q;
@@ -3622,37 +4019,37 @@ var propTypes$1p = {
3622
4019
  activeTextStyle: PropTypes__default["default"].any
3623
4020
  };
3624
4021
  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 "]))),
4022
+ '.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
4023
  '.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
4024
  '.btn.disabled': css(_templateObject3$p || (_templateObject3$p = _taggedTemplateLiteral(["\n // pointer-events: none;\n opacity: $btn-disabled-opacity;\n // @include box-shadow(none);\n "])))
3628
4025
  }, each(THEME_COLORS, function (color, value) {
3629
4026
  var _ref;
3630
4027
 
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) {
4028
+ 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
4029
  return t['btn-hover-bg-shade-amount'];
3633
- }, value), shadeColor(function (t) {
4030
+ }), shadeColor(value, function (t) {
3634
4031
  return t['btn-hover-border-shade-amount'];
3635
- }, value), shadeColor(function (t) {
4032
+ }), shadeColor(value, function (t) {
3636
4033
  return t['btn-hover-bg-shade-amount'];
3637
- }, value), shadeColor(function (t) {
4034
+ }), shadeColor(value, function (t) {
3638
4035
  return t['btn-hover-border-shade-amount'];
3639
- }, value), shadeColor(function (t) {
4036
+ }), shadeColor(value, function (t) {
3640
4037
  return t['btn-active-bg-shade-amount'];
3641
- }, value), shadeColor(function (t) {
4038
+ }), shadeColor(value, function (t) {
3642
4039
  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) {
4040
+ }))), _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
4041
  return t['btn-active-bg-shade-amount'];
3645
- }, value), shadeColor(function (t) {
4042
+ }), shadeColor(value, function (t) {
3646
4043
  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;
4044
+ }))), _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
4045
  })), {}, {
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 "]))),
4046
+ '.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
4047
  '.btn-link.disabled --text': css(_templateObject15$3 || (_templateObject15$3 = _taggedTemplateLiteral(["\n color: $btn-link-disabled-color;\n "]))),
3651
4048
  '.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
4049
  '.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
4050
  '.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
4051
  '.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 "]))),
4052
+ '.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
4053
  '.btn-group > .btn.active': css(_templateObject21 || (_templateObject21 = _taggedTemplateLiteral(["\n z-index: 2; // 1;\n "]))),
3657
4054
  '.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
4055
  '.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 +4160,7 @@ var propTypes$1n = {
3763
4160
  styleName: PropTypes__default["default"].any
3764
4161
  };
3765
4162
  var styles$15 = StyleSheet.create({
3766
- body: css(_templateObject$13 || (_templateObject$13 = _taggedTemplateLiteral(["\n background-color: $body-bg;\n height: 100%; // added for bootstrap-rn\n "]))),
4163
+ 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
4164
  'body --text': css(_templateObject2$N || (_templateObject2$N = _taggedTemplateLiteral(["\n color: $body-color;\n text-align: $body-text-align;\n "])))
3768
4165
  });
3769
4166
  var Body = /*#__PURE__*/React__default["default"].forwardRef(function (props, ref) {
@@ -4217,17 +4614,11 @@ function useBackground(style, styleName) {
4217
4614
  return useBackgroundForPlatform(style, styleName);
4218
4615
  }
4219
4616
 
4220
- var _excluded$1e = ["children", "onFocus", "onBlur", "onHoverIn", "onHoverOut", "onPressIn", "onPressOut", "disabled", "style", "textStyle", "styleName"];
4617
+ var _excluded$1e = ["children", "disabled", "style", "textStyle", "styleName"];
4221
4618
 
4222
4619
  var _templateObject$_, _templateObject2$J, _templateObject3$o, _templateObject4$l, _templateObject5$i;
4223
4620
  var propTypes$1i = {
4224
4621
  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
4622
  disabled: PropTypes__default["default"].bool,
4232
4623
  // eslint-disable-next-line react/forbid-prop-types
4233
4624
  style: PropTypes__default["default"].any,
@@ -4249,19 +4640,7 @@ var styles$_ = StyleSheet.create({
4249
4640
  });
4250
4641
  var CloseButton = /*#__PURE__*/React__default["default"].forwardRef(function (props, ref) {
4251
4642
  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,
4643
+ var _props$disabled = props.disabled,
4265
4644
  disabled = _props$disabled === void 0 ? false : _props$disabled,
4266
4645
  style = props.style,
4267
4646
  textStyle = props.textStyle,
@@ -4269,22 +4648,6 @@ var CloseButton = /*#__PURE__*/React__default["default"].forwardRef(function (pr
4269
4648
  elementProps = _objectWithoutProperties(props, _excluded$1e);
4270
4649
 
4271
4650
  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
4651
  var modal = React.useContext(ModalContext);
4289
4652
  var offcanvas = React.useContext(OffcanvasContext);
4290
4653
  var classes = getStyles(styles$_, ['.btn-close', disabled && '.btn-close.disabled', // Modal styles
@@ -4292,47 +4655,18 @@ var CloseButton = /*#__PURE__*/React__default["default"].forwardRef(function (pr
4292
4655
  offcanvas && '.offcanvas-header .btn-close']);
4293
4656
  var textClasses = getStyles(styles$_, ['.btn-close --text']);
4294
4657
  var resolveStyle = useStyle([classes, style], styleName);
4658
+
4659
+ var _useInteractionState = useInteractionState(elementProps),
4660
+ interaction = _useInteractionState.interaction,
4661
+ interactionProps = _useInteractionState.interactionProps;
4662
+
4295
4663
  var background = useBackground(resolveStyle({
4296
4664
  media: media,
4297
- interaction: {
4298
- focused: focused,
4299
- hovered: hovered,
4300
- pressed: pressed
4301
- }
4665
+ interaction: interaction
4302
4666
  }));
4303
- return /*#__PURE__*/React__default["default"].createElement(Pressable, _extends({}, elementProps, {
4667
+ return /*#__PURE__*/React__default["default"].createElement(Pressable, _extends({}, elementProps, interactionProps, {
4304
4668
  component: Pressable,
4305
4669
  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
4670
  disabled: disabled,
4337
4671
  style: background.style,
4338
4672
  textStyle: [textClasses, textStyle]
@@ -4665,7 +4999,7 @@ var FormCheckInputNative = /*#__PURE__*/React__default["default"].forwardRef(fun
4665
4999
  FormCheckInputNative.displayName = 'FormCheckInputNative';
4666
5000
  FormCheckInputNative.propTypes = propTypes$1d;
4667
5001
 
4668
- var _excluded$19 = ["type", "value", "onFocus", "onBlur", "disabled", "valid", "invalid", "useNativeComponent", "style"];
5002
+ var _excluded$19 = ["type", "value", "onFocus", "onBlur", "disabled", "valid", "invalid", "useNativeComponent", "autoFocus", "style"];
4669
5003
 
4670
5004
  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
5005
  /* eslint-disable react/no-unused-prop-types */
@@ -4736,9 +5070,9 @@ var FormCheckInput = /*#__PURE__*/React__default["default"].forwardRef(function
4736
5070
  var type = modifierProps.type,
4737
5071
  value = modifierProps.value,
4738
5072
  _modifierProps$onFocu = modifierProps.onFocus,
4739
- onFocus = _modifierProps$onFocu === void 0 ? function () {} : _modifierProps$onFocu,
5073
+ _onFocus = _modifierProps$onFocu === void 0 ? function () {} : _modifierProps$onFocu,
4740
5074
  _modifierProps$onBlur = modifierProps.onBlur,
4741
- onBlur = _modifierProps$onBlur === void 0 ? function () {} : _modifierProps$onBlur,
5075
+ _onBlur = _modifierProps$onBlur === void 0 ? function () {} : _modifierProps$onBlur,
4742
5076
  _modifierProps$disabl = modifierProps.disabled,
4743
5077
  disabled = _modifierProps$disabl === void 0 ? context ? context.disabled : false : _modifierProps$disabl,
4744
5078
  _modifierProps$valid = modifierProps.valid,
@@ -4747,12 +5081,14 @@ var FormCheckInput = /*#__PURE__*/React__default["default"].forwardRef(function
4747
5081
  invalid = _modifierProps$invali === void 0 ? context ? context.invalid : false : _modifierProps$invali,
4748
5082
  _modifierProps$useNat = modifierProps.useNativeComponent,
4749
5083
  useNativeComponent = _modifierProps$useNat === void 0 ? false : _modifierProps$useNat,
5084
+ _modifierProps$autoFo = modifierProps.autoFocus,
5085
+ autoFocus = _modifierProps$autoFo === void 0 ? false : _modifierProps$autoFo,
4750
5086
  style = modifierProps.style,
4751
5087
  elementProps = _objectWithoutProperties(modifierProps, _excluded$19);
4752
5088
 
4753
5089
  var media = useMedia();
4754
5090
 
4755
- var _useState = React.useState(false),
5091
+ var _useState = React.useState(autoFocus),
4756
5092
  _useState2 = _slicedToArray(_useState, 2),
4757
5093
  focused = _useState2[0],
4758
5094
  setFocused = _useState2[1];
@@ -4761,29 +5097,28 @@ var FormCheckInput = /*#__PURE__*/React__default["default"].forwardRef(function
4761
5097
  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
5098
  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
5099
  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
5100
  var BaseFormCheckInput = reactNative.Platform.OS === 'web' && !useNativeComponent ? FormCheckInputWeb : FormCheckInputNative;
4776
5101
  return /*#__PURE__*/React__default["default"].createElement(BaseFormCheckInput, _extends({}, elementProps, {
4777
5102
  ref: modifierRef,
4778
5103
  type: type,
4779
5104
  value: value,
4780
- onFocus: handleFocus,
4781
- onBlur: handleBlur,
5105
+ onFocus: function onFocus() {
5106
+ setFocused(true);
5107
+
5108
+ _onFocus();
5109
+ },
5110
+ onBlur: function onBlur() {
5111
+ setFocused(false);
5112
+
5113
+ _onBlur();
5114
+ },
4782
5115
  disabled: disabled,
5116
+ autoFocus: autoFocus,
4783
5117
  style: resolveStyle({
4784
5118
  media: media,
4785
5119
  interaction: {
4786
- focused: focused
5120
+ focus: focused,
5121
+ focusVisible: focused
4787
5122
  }
4788
5123
  })
4789
5124
  }));
@@ -5201,7 +5536,7 @@ var DropdownMenu = /*#__PURE__*/React__default["default"].forwardRef(function (p
5201
5536
  return /*#__PURE__*/React__default["default"].createElement(overlays.OverlayContainer, null, /*#__PURE__*/React__default["default"].createElement(Overlay, {
5202
5537
  placement: transformPlacement(media, direction, center, start, end),
5203
5538
  targetRef: toggleRef,
5204
- offset: convertToNumber(StyleSheet.value('dropdown-spacer')),
5539
+ offset: normalizeNumber(StyleSheet.value('dropdown-spacer')),
5205
5540
  visible: visible
5206
5541
  }, function (overlay, overlayRef) {
5207
5542
  return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(BackdropHandler, {
@@ -5740,10 +6075,11 @@ var FormText = /*#__PURE__*/React__default["default"].forwardRef(function (props
5740
6075
  FormText.displayName = 'FormText';
5741
6076
  FormText.propTypes = propTypes$V;
5742
6077
 
5743
- var _excluded$S = ["onFocus", "onBlur", "style", "styleName"];
6078
+ var _excluded$S = ["onFocus", "onBlur", "autoFocus", "style", "styleName"];
5744
6079
  var propTypes$U = {
5745
6080
  onFocus: PropTypes__default["default"].func,
5746
6081
  onBlur: PropTypes__default["default"].func,
6082
+ autoFocus: PropTypes__default["default"].bool,
5747
6083
  // eslint-disable-next-line react/forbid-prop-types
5748
6084
  style: PropTypes__default["default"].any,
5749
6085
  // eslint-disable-next-line react/forbid-prop-types
@@ -5754,11 +6090,13 @@ var TextInput = /*#__PURE__*/React__default["default"].forwardRef(function (prop
5754
6090
  _onFocus = _props$onFocus === void 0 ? function () {} : _props$onFocus,
5755
6091
  _props$onBlur = props.onBlur,
5756
6092
  _onBlur = _props$onBlur === void 0 ? function () {} : _props$onBlur,
6093
+ _props$autoFocus = props.autoFocus,
6094
+ autoFocus = _props$autoFocus === void 0 ? false : _props$autoFocus,
5757
6095
  style = props.style,
5758
6096
  styleName = props.styleName,
5759
6097
  elementProps = _objectWithoutProperties(props, _excluded$S);
5760
6098
 
5761
- var _useState = React.useState(false),
6099
+ var _useState = React.useState(autoFocus),
5762
6100
  _useState2 = _slicedToArray(_useState, 2),
5763
6101
  focused = _useState2[0],
5764
6102
  setFocused = _useState2[1];
@@ -5767,20 +6105,22 @@ var TextInput = /*#__PURE__*/React__default["default"].forwardRef(function (prop
5767
6105
  var resolveStyle = useStyle(style, styleName);
5768
6106
  return /*#__PURE__*/React__default["default"].createElement(reactNative.TextInput, _extends({}, elementProps, {
5769
6107
  ref: ref,
5770
- onFocus: function onFocus() {
6108
+ onFocus: function onFocus(event) {
5771
6109
  setFocused(true);
5772
6110
 
5773
- _onFocus();
6111
+ _onFocus(event);
5774
6112
  },
5775
- onBlur: function onBlur() {
6113
+ onBlur: function onBlur(event) {
5776
6114
  setFocused(false);
5777
6115
 
5778
- _onBlur();
6116
+ _onBlur(event);
5779
6117
  },
6118
+ autoFocus: autoFocus,
5780
6119
  style: resolveStyle({
5781
6120
  media: media,
5782
6121
  interaction: {
5783
- focused: focused
6122
+ focus: focused,
6123
+ focusVisible: focused
5784
6124
  }
5785
6125
  })
5786
6126
  }));
@@ -6216,7 +6556,7 @@ function injectPopover(Target) {
6216
6556
  targetRef = _useTrigger.targetRef,
6217
6557
  templateProps = _useTrigger.templateProps;
6218
6558
 
6219
- var offset = convertToNumber(StyleSheet.value('popover-arrow-height'));
6559
+ var offset = normalizeNumber(StyleSheet.value('popover-arrow-height'));
6220
6560
  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
6561
  placement: placement,
6222
6562
  offset: offset,
@@ -6411,7 +6751,7 @@ function injectTooltip(Target) {
6411
6751
  targetRef = _useTrigger.targetRef,
6412
6752
  templateProps = _useTrigger.templateProps;
6413
6753
 
6414
- var offset = convertToNumber(StyleSheet.value('tooltip-arrow-height'));
6754
+ var offset = normalizeNumber(StyleSheet.value('tooltip-arrow-height'));
6415
6755
  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
6756
  placement: placement,
6417
6757
  targetRef: targetRef,
@@ -6522,11 +6862,11 @@ var styles$y = StyleSheet.create(_objectSpread2({
6522
6862
  }, each(THEME_COLORS, function (state, value) {
6523
6863
  var _ref;
6524
6864
 
6525
- return _ref = {}, _defineProperty(_ref, ".list-group-item-".concat(state), css(_templateObject13$2 || (_templateObject13$2 = _taggedTemplateLiteral(["\n background-color: ", ";\n "])), shiftColor(function (t) {
6865
+ return _ref = {}, _defineProperty(_ref, ".list-group-item-".concat(state), css(_templateObject13$2 || (_templateObject13$2 = _taggedTemplateLiteral(["\n background-color: ", ";\n "])), shiftColor(value, function (t) {
6526
6866
  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) {
6867
+ }))), _defineProperty(_ref, ".list-group-item-".concat(state, " --text"), css(_templateObject14$1 || (_templateObject14$1 = _taggedTemplateLiteral(["\n color: ", ";\n "])), shiftColor(value, function (t) {
6528
6868
  return t['list-group-item-color-scale'];
6529
- }, value))), _ref;
6869
+ }))), _ref;
6530
6870
  })));
6531
6871
  var ListGroupItem = /*#__PURE__*/React__default["default"].forwardRef(function (props, ref) {
6532
6872
  var children = props.children,
@@ -6582,19 +6922,19 @@ var actionStyles = StyleSheet.create(_objectSpread2({
6582
6922
  }, each(THEME_COLORS, function (state, value) {
6583
6923
  var _ref;
6584
6924
 
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) {
6925
+ 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
6926
  return t['list-group-item-bg-scale'];
6587
- }, value)), shadeColor(0.1, shiftColor(function (t) {
6927
+ }), 0.1), shadeColor(shiftColor(value, function (t) {
6588
6928
  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) {
6929
+ }), 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
6930
  return t['list-group-item-color-scale'];
6591
- }, value), shiftColor(function (t) {
6931
+ }), shiftColor(value, function (t) {
6592
6932
  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) {
6933
+ }))), _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
6934
  return t['list-group-item-color-scale'];
6595
- }, value), shiftColor(function (t) {
6935
+ }), shiftColor(value, function (t) {
6596
6936
  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;
6937
+ }))), _defineProperty(_ref, ".list-group-item-".concat(state, "-action.active --text"), css(_templateObject6$6 || (_templateObject6$6 = _taggedTemplateLiteral(["\n color: $white;\n "])))), _ref;
6598
6938
  })));
6599
6939
  var ListGroupItemAction = /*#__PURE__*/React__default["default"].forwardRef(function (props, ref) {
6600
6940
  var _useModifier = useModifier('useTabbable', props, ref),
@@ -6693,17 +7033,11 @@ ListGroup.propTypes = propTypes$F;
6693
7033
  ListGroup.Item = ListGroupItem;
6694
7034
  ListGroup.ItemAction = ListGroupItemAction;
6695
7035
 
6696
- var _excluded$C = ["children", "onMouseEnter", "onMouseLeave", "onFocus", "onBlur", "onPressIn", "onPressOut", "style"];
7036
+ var _excluded$C = ["children", "style"];
6697
7037
 
6698
7038
  var _templateObject$w;
6699
7039
  var propTypes$E = {
6700
7040
  children: PropTypes__default["default"].node.isRequired,
6701
- onMouseEnter: PropTypes__default["default"].func,
6702
- 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
7041
  // eslint-disable-next-line react/forbid-prop-types
6708
7042
  style: PropTypes__default["default"].any
6709
7043
  };
@@ -6722,81 +7056,24 @@ var Link = /*#__PURE__*/React__default["default"].forwardRef(function (props, re
6722
7056
  actionRef = _useAction2[1];
6723
7057
 
6724
7058
  var children = actionProps.children,
6725
- _actionProps$onMouseE = actionProps.onMouseEnter,
6726
- _onMouseEnter = _actionProps$onMouseE === void 0 ? function () {} : _actionProps$onMouseE,
6727
- _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,
6737
7059
  style = actionProps.style,
6738
7060
  elementProps = _objectWithoutProperties(actionProps, _excluded$C);
6739
7061
 
6740
7062
  var media = useMedia();
7063
+ var classes = getStyles(styles$w, ['link']);
7064
+ var resolveStyle = useStyle([classes, style]);
6741
7065
 
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];
7066
+ var _useInteractionState = useInteractionState(elementProps),
7067
+ interaction = _useInteractionState.interaction,
7068
+ interactionProps = _useInteractionState.interactionProps;
6756
7069
 
6757
- var classes = getStyles(styles$w, ['link', hovered]);
6758
- var resolveStyle = useStyle([classes, style]);
6759
- return /*#__PURE__*/React__default["default"].createElement(Text, _extends({}, elementProps, {
7070
+ return /*#__PURE__*/React__default["default"].createElement(Text, _extends({}, elementProps, interactionProps, {
6760
7071
  ref: actionRef,
6761
7072
  accessibilityRole: getRole$2(actionProps),
6762
7073
  accessible: true,
6763
- onFocus: function onFocus(e) {
6764
- setFocused(true);
6765
-
6766
- _onFocus(e);
6767
- },
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);
6792
- },
6793
7074
  style: resolveStyle({
6794
7075
  media: media,
6795
- interaction: {
6796
- focused: focused,
6797
- hovered: hovered,
6798
- pressed: pressed
6799
- }
7076
+ interaction: interaction
6800
7077
  })
6801
7078
  }), children);
6802
7079
  });
@@ -8062,7 +8339,7 @@ var PickerItem = /*#__PURE__*/React__default["default"].forwardRef(function (pro
8062
8339
  PickerItem.displayName = 'PickerItem';
8063
8340
  PickerItem.propTypes = propTypes$i;
8064
8341
 
8065
- var _excluded$g = ["children", "onFocus", "onBlur", "placeholderTextColor", "size", "disabled", "valid", "invalid", "useNativeComponent", "style", "styleName"];
8342
+ var _excluded$g = ["children", "onFocus", "onBlur", "placeholderTextColor", "size", "disabled", "valid", "invalid", "useNativeComponent", "autoFocus", "style", "styleName"];
8066
8343
 
8067
8344
  var _templateObject$d, _templateObject2$9, _templateObject3$3, _templateObject4$2, _templateObject5$2, _templateObject6$1;
8068
8345
  /* eslint-disable react/no-unused-prop-types */
@@ -8077,6 +8354,7 @@ var propTypes$h = {
8077
8354
  valid: PropTypes__default["default"].bool,
8078
8355
  invalid: PropTypes__default["default"].bool,
8079
8356
  useNativeComponent: PropTypes__default["default"].bool,
8357
+ autoFocus: PropTypes__default["default"].bool,
8080
8358
  // eslint-disable-next-line react/forbid-prop-types
8081
8359
  style: PropTypes__default["default"].any,
8082
8360
  // eslint-disable-next-line react/forbid-prop-types
@@ -8109,9 +8387,9 @@ var Picker = /*#__PURE__*/React__default["default"].forwardRef(function (props,
8109
8387
 
8110
8388
  var children = modifierProps.children,
8111
8389
  _modifierProps$onFocu = modifierProps.onFocus,
8112
- onFocus = _modifierProps$onFocu === void 0 ? function () {} : _modifierProps$onFocu,
8390
+ _onFocus = _modifierProps$onFocu === void 0 ? function () {} : _modifierProps$onFocu,
8113
8391
  _modifierProps$onBlur = modifierProps.onBlur,
8114
- onBlur = _modifierProps$onBlur === void 0 ? function () {} : _modifierProps$onBlur,
8392
+ _onBlur = _modifierProps$onBlur === void 0 ? function () {} : _modifierProps$onBlur,
8115
8393
  _modifierProps$placeh = modifierProps.placeholderTextColor,
8116
8394
  placeholderTextColor = _modifierProps$placeh === void 0 ? StyleSheet.value('input-placeholder-color') : _modifierProps$placeh,
8117
8395
  size = modifierProps.size,
@@ -8123,13 +8401,15 @@ var Picker = /*#__PURE__*/React__default["default"].forwardRef(function (props,
8123
8401
  invalid = _modifierProps$invali === void 0 ? false : _modifierProps$invali,
8124
8402
  _modifierProps$useNat = modifierProps.useNativeComponent,
8125
8403
  useNativeComponent = _modifierProps$useNat === void 0 ? false : _modifierProps$useNat,
8404
+ _modifierProps$autoFo = modifierProps.autoFocus,
8405
+ autoFocus = _modifierProps$autoFo === void 0 ? false : _modifierProps$autoFo,
8126
8406
  style = modifierProps.style,
8127
8407
  styleName = modifierProps.styleName,
8128
8408
  elementProps = _objectWithoutProperties(modifierProps, _excluded$g);
8129
8409
 
8130
8410
  var media = useMedia();
8131
8411
 
8132
- var _useState = React.useState(false),
8412
+ var _useState = React.useState(autoFocus),
8133
8413
  _useState2 = _slicedToArray(_useState, 2),
8134
8414
  focused = _useState2[0],
8135
8415
  setFocused = _useState2[1];
@@ -8137,17 +8417,6 @@ var Picker = /*#__PURE__*/React__default["default"].forwardRef(function (props,
8137
8417
  var classes = getStyles(styles$d, ['select', // reboot
8138
8418
  '.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
8419
  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
8420
  var BasePicker = reactNative.Platform.OS === 'web' && !useNativeComponent ? PickerWeb : PickerNative;
8152
8421
  return /*#__PURE__*/React__default["default"].createElement(PickerContext.Provider, {
8153
8422
  value: {
@@ -8156,13 +8425,23 @@ var Picker = /*#__PURE__*/React__default["default"].forwardRef(function (props,
8156
8425
  }, /*#__PURE__*/React__default["default"].createElement(BasePicker, _extends({}, elementProps, {
8157
8426
  ref: modifierRef,
8158
8427
  placeholderTextColor: placeholderTextColor,
8159
- onFocus: handleFocus,
8160
- onBlur: handleBlur,
8428
+ onFocus: function onFocus(event) {
8429
+ setFocused(true);
8430
+
8431
+ _onFocus(event);
8432
+ },
8433
+ onBlur: function onBlur(event) {
8434
+ setFocused(false);
8435
+
8436
+ _onBlur(event);
8437
+ },
8161
8438
  disabled: disabled,
8439
+ autoFocus: autoFocus,
8162
8440
  style: resolveStyle({
8163
8441
  media: media,
8164
8442
  interaction: {
8165
- focused: focused
8443
+ focus: focused,
8444
+ focusVisible: focused
8166
8445
  }
8167
8446
  })
8168
8447
  }), children));
@@ -8556,12 +8835,12 @@ var propTypes$7 = {
8556
8835
  style: PropTypes__default["default"].any
8557
8836
  };
8558
8837
  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 "])))
8838
+ '.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
8839
  }, each(THEME_COLORS, function (color, value) {
8561
8840
  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
8841
  })), {}, {
8563
8842
  '.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 "])))
8843
+ '.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
8844
  }, each(THEME_COLORS, function (color, value) {
8566
8845
  return _defineProperty({}, ".spinner-grow-".concat(color), css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n background-color: ", ";\n "])), value));
8567
8846
  })), {}, {