bootstrap-rn 0.2.10 → 0.2.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -21,6 +21,18 @@
21
21
  }
22
22
  };
23
23
 
24
+ // @ts-ignore
25
+ // const expo = global.__expo;
26
+
27
+ const IOS_STATUS_BAR_HEIGHT = 20;
28
+ // Try to get height from expo if app is using expo env
29
+ // IOS >= 11 is handled using SafeAreaView
30
+
31
+ const APPROX_STATUSBAR_HEIGHT = reactNative.Platform.select({
32
+ android: reactNative.StatusBar.currentHeight,
33
+ ios: reactNative.Platform.Version < 11 ? IOS_STATUS_BAR_HEIGHT : 0
34
+ });
35
+
24
36
  const measureOffset = ref => new Promise(resolve => {
25
37
  if (ref.current) {
26
38
  ref.current.measureInWindow((x, y, width, height) => {
@@ -35,6 +47,8 @@
35
47
  });
36
48
 
37
49
  function useOverlayPosition(props) {
50
+ var _position$position, _position$position2;
51
+
38
52
  let {
39
53
  targetRef,
40
54
  overlayRef,
@@ -96,17 +110,25 @@
96
110
  React__default["default"].useLayoutEffect(() => {
97
111
  updatePosition();
98
112
  }, [placement, isOpen, offset, shouldFlip, crossOffset, shouldOverlapWithTrigger]);
113
+ const style = { ...position.position
114
+ };
115
+
116
+ if (position !== null && position !== void 0 && (_position$position = position.position) !== null && _position$position !== void 0 && _position$position.top || (position === null || position === void 0 ? void 0 : (_position$position2 = position.position) === null || _position$position2 === void 0 ? void 0 : _position$position2.top) === 0) {
117
+ var _position$position3;
118
+
119
+ style.top = ((position === null || position === void 0 ? void 0 : (_position$position3 = position.position) === null || _position$position3 === void 0 ? void 0 : _position$position3.top) || 0) + (APPROX_STATUSBAR_HEIGHT || 0);
120
+ }
121
+
99
122
  const returnProps = {
100
123
  rendered,
101
124
  overlayProps: {
102
- style: { ...position.position
103
- }
125
+ style
104
126
  },
105
127
  placement: position.placement,
106
128
  arrowProps: {
107
129
  style: {
108
130
  left: position.arrowOffsetLeft,
109
- top: position.arrowOffsetTop
131
+ top: ((position === null || position === void 0 ? void 0 : position.arrowOffsetTop) || 0) + (APPROX_STATUSBAR_HEIGHT || 0)
110
132
  }
111
133
  },
112
134
  updatePosition
@@ -334,7 +356,7 @@
334
356
  return PARSED_PLACEMENT_CACHE[input];
335
357
  }
336
358
 
337
- function _extends$2() { _extends$2 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$2.apply(this, arguments); }
359
+ function _extends$1() { _extends$1 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$1.apply(this, arguments); }
338
360
  const PortalContext = /*#__PURE__*/React__default["default"].createContext(null);
339
361
  let globalOverlayCounter = 0;
340
362
  function PortalProvider(props) {
@@ -350,16 +372,27 @@
350
372
  };
351
373
 
352
374
  const updateOverlayItem = (id, node) => {
353
- setItems(prev => prev.map(item => {
354
- if (item.id === id) {
355
- return {
356
- id,
375
+ setItems(prev => {
376
+ const overlayItem = prev.find(item => item.id == id);
377
+
378
+ if (!overlayItem) {
379
+ return prev.concat([{
380
+ id: id,
357
381
  node
358
- };
359
- }
382
+ }]);
383
+ } else {
384
+ return prev.map(item => {
385
+ if (item.id === id) {
386
+ return {
387
+ id,
388
+ node
389
+ };
390
+ }
360
391
 
361
- return item;
362
- }));
392
+ return item;
393
+ });
394
+ }
395
+ });
363
396
  };
364
397
 
365
398
  const removeOverlayItem = id => {
@@ -388,7 +421,7 @@
388
421
  style,
389
422
  ...props
390
423
  }) {
391
- return /*#__PURE__*/React__default["default"].createElement(reactNative.View, _extends$2({
424
+ return /*#__PURE__*/React__default["default"].createElement(reactNative.View, _extends$1({
392
425
  pointerEvents: "box-none",
393
426
  style: [reactNative.StyleSheet.absoluteFill, style],
394
427
  collapsable: false
@@ -513,8 +546,8 @@
513
546
  return obj;
514
547
  }
515
548
 
516
- function _extends$1() {
517
- _extends$1 = Object.assign || function (target) {
549
+ function _extends() {
550
+ _extends = Object.assign || function (target) {
518
551
  for (var i = 1; i < arguments.length; i++) {
519
552
  var source = arguments[i];
520
553
 
@@ -528,19 +561,19 @@
528
561
  return target;
529
562
  };
530
563
 
531
- return _extends$1.apply(this, arguments);
564
+ return _extends.apply(this, arguments);
532
565
  }
533
566
 
534
- function _setPrototypeOf$1(o, p) {
535
- _setPrototypeOf$1 = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
567
+ function _setPrototypeOf(o, p) {
568
+ _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
536
569
  o.__proto__ = p;
537
570
  return o;
538
571
  };
539
572
 
540
- return _setPrototypeOf$1(o, p);
573
+ return _setPrototypeOf(o, p);
541
574
  }
542
575
 
543
- function _isNativeReflectConstruct$1() {
576
+ function _isNativeReflectConstruct() {
544
577
  if (typeof Reflect === "undefined" || !Reflect.construct) return false;
545
578
  if (Reflect.construct.sham) return false;
546
579
  if (typeof Proxy === "function") return true;
@@ -553,21 +586,21 @@
553
586
  }
554
587
  }
555
588
 
556
- function _construct$1(Parent, args, Class) {
557
- if (_isNativeReflectConstruct$1()) {
558
- _construct$1 = Reflect.construct;
589
+ function _construct(Parent, args, Class) {
590
+ if (_isNativeReflectConstruct()) {
591
+ _construct = Reflect.construct;
559
592
  } else {
560
- _construct$1 = function _construct(Parent, args, Class) {
593
+ _construct = function _construct(Parent, args, Class) {
561
594
  var a = [null];
562
595
  a.push.apply(a, args);
563
596
  var Constructor = Function.bind.apply(Parent, a);
564
597
  var instance = new Constructor();
565
- if (Class) _setPrototypeOf$1(instance, Class.prototype);
598
+ if (Class) _setPrototypeOf(instance, Class.prototype);
566
599
  return instance;
567
600
  };
568
601
  }
569
602
 
570
- return _construct$1.apply(null, arguments);
603
+ return _construct.apply(null, arguments);
571
604
  }
572
605
 
573
606
  function _objectWithoutPropertiesLoose(source, excluded) {
@@ -622,6 +655,10 @@
622
655
  return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
623
656
  }
624
657
 
658
+ function _toArray(arr) {
659
+ return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest();
660
+ }
661
+
625
662
  function _toConsumableArray(arr) {
626
663
  return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
627
664
  }
@@ -931,7 +968,7 @@
931
968
  }
932
969
  };
933
970
 
934
- var SELECTOR_TYPES = ['hover', 'focus', 'active'];
971
+ var SELECTOR_TYPES = ['hover', 'focus', 'focus-visible', 'active'];
935
972
  var selector = {
936
973
  locate: function locate(input) {
937
974
  return input.peek() === '&' && input.peek(1) === ':';
@@ -1041,7 +1078,7 @@
1041
1078
  args[_key] = arguments[_key];
1042
1079
  }
1043
1080
 
1044
- var input = _construct$1(InputStream, args);
1081
+ var input = _construct(InputStream, args);
1045
1082
 
1046
1083
  var children = [];
1047
1084
 
@@ -2059,6 +2096,20 @@
2059
2096
  var STRING = matchString;
2060
2097
  var COLOR = matchColor;
2061
2098
  var LINE = regExpToken(/^(none|underline|line-through)$/i);
2099
+
2100
+ var aspectRatio = function aspectRatio(tokenStream) {
2101
+ var aspectRatio = tokenStream.expect(NUMBER);
2102
+
2103
+ if (tokenStream.hasTokens()) {
2104
+ tokenStream.expect(SLASH);
2105
+ aspectRatio /= tokenStream.expect(NUMBER);
2106
+ }
2107
+
2108
+ return {
2109
+ aspectRatio: aspectRatio
2110
+ };
2111
+ };
2112
+
2062
2113
  var BORDER_STYLE = regExpToken(/^(solid|dashed|dotted)$/);
2063
2114
  var defaultBorderWidth = 1;
2064
2115
  var defaultBorderColor = 'black';
@@ -2636,6 +2687,7 @@
2636
2687
  };
2637
2688
 
2638
2689
  var transforms = {
2690
+ aspectRatio: aspectRatio,
2639
2691
  background: background,
2640
2692
  border: border,
2641
2693
  borderColor: borderColor,
@@ -2836,128 +2888,150 @@
2836
2888
 
2837
2889
  var transformREMUnitRE = /([+-]+)?([\d.Ee]+)rem/g;
2838
2890
 
2891
+ var convertRemToPx = function convertRemToPx(value) {
2892
+ return reactNative.PixelRatio.getFontScale() * 16 * value;
2893
+ };
2894
+
2839
2895
  function rem(value) {
2840
2896
  if (reactNative.Platform.OS === 'web') {
2841
2897
  return value;
2842
2898
  }
2843
2899
 
2844
- return value.replace(transformREMUnitRE, function (_, unary, number) {
2845
- return "".concat(unary || '').concat(reactNative.PixelRatio.getFontScale() * 16 * number, "px");
2900
+ return value.replace(transformREMUnitRE, function (_) {
2901
+ var unary = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
2902
+ var number = arguments.length > 2 ? arguments[2] : undefined;
2903
+ return "".concat(unary).concat(convertRemToPx(number), "px");
2846
2904
  });
2847
2905
  }
2848
2906
 
2849
- var valueRE = /^([+-]?(?:\d+|\d*\.\d+))([a-z]*|%)$/;
2907
+ var valueRE = /^([+-]?(?:\d+|\d*\.\d+))(rem|px|%)?$/;
2850
2908
 
2851
- var parseValue = function parseValue(value) {
2852
- if (Array.isArray(value)) {
2853
- return value;
2854
- }
2909
+ var UnitValue = /*#__PURE__*/function () {
2910
+ function UnitValue(value) {
2911
+ var unit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'number';
2855
2912
 
2856
- if (typeof value === 'number') {
2857
- return [value, null];
2858
- }
2913
+ _classCallCheck(this, UnitValue);
2859
2914
 
2860
- var matchedValue = value.match(valueRE);
2915
+ _defineProperty(this, "value", void 0);
2861
2916
 
2862
- if (matchedValue) {
2863
- return [parseFloat(value), matchedValue[2]];
2917
+ _defineProperty(this, "unit", void 0);
2918
+
2919
+ this.value = value;
2920
+ this.unit = unit;
2864
2921
  }
2865
2922
 
2866
- return [value, undefined];
2867
- };
2923
+ _createClass(UnitValue, [{
2924
+ key: "toNumber",
2925
+ value: function toNumber() {
2926
+ if (this.unit === 'percent') {
2927
+ return this.value / 100;
2928
+ }
2868
2929
 
2869
- var getUnit = function getUnit(left, right) {
2870
- if (!left && !right) {
2871
- return '';
2872
- }
2930
+ if (this.unit === 'rem') {
2931
+ return this.value * reactNative.PixelRatio.getFontScale() * 16;
2932
+ }
2873
2933
 
2874
- if (!left) {
2875
- return right;
2876
- }
2934
+ return this.value;
2935
+ }
2936
+ }, {
2937
+ key: "toString",
2938
+ value: function toString() {
2939
+ if (this.unit === 'number') {
2940
+ return this.value;
2941
+ }
2877
2942
 
2878
- if (!right || left === right) {
2879
- return left;
2880
- }
2943
+ if (this.unit === 'percent') {
2944
+ return "".concat(this.value, "%");
2945
+ }
2881
2946
 
2882
- throw new Error("Different units ".concat(left, " and ").concat(right, " found for arithmetic operation."));
2883
- };
2947
+ return "".concat(this.value).concat(this.unit);
2948
+ }
2949
+ }], [{
2950
+ key: "parse",
2951
+ value: function parse(value) {
2952
+ if (value instanceof UnitValue) {
2953
+ return value;
2954
+ }
2955
+
2956
+ if (typeof value === 'number') {
2957
+ return new UnitValue(value, 'number');
2958
+ }
2959
+
2960
+ var match = value.match(valueRE);
2961
+
2962
+ if (!match) {
2963
+ throw new Error("Cannot parse number \"".concat(value, "\"."));
2964
+ }
2965
+
2966
+ return new UnitValue(parseFloat(match[1]), match[2] === '%' ? 'percent' : match[2]);
2967
+ }
2968
+ }]);
2969
+
2970
+ return UnitValue;
2971
+ }();
2884
2972
 
2885
2973
  var POWER = Math.pow(10, 8);
2974
+ var UNIT_ORDER = ['percent', 'number', 'px', 'rem'];
2886
2975
 
2887
2976
  var fixRounding = function fixRounding(value) {
2888
2977
  return Math.round(value * POWER) / POWER;
2889
2978
  };
2890
2979
 
2891
- var calculateValue = function calculateValue(leftValue, operator, rightValue) {
2892
- if (operator === '+') {
2893
- return leftValue + rightValue;
2980
+ var normalizeValue$1 = function normalizeValue(number1, number2) {
2981
+ if (number1.unit === 'px' && number2.unit === 'rem') {
2982
+ return number1.value / (reactNative.PixelRatio.getFontScale() * 16);
2894
2983
  }
2895
2984
 
2896
- if (operator === '-') {
2897
- return leftValue - rightValue;
2985
+ if (number1.unit === 'percent' && number2.unit !== 'percent') {
2986
+ return number1.value / 100;
2898
2987
  }
2899
2988
 
2900
- if (operator === '*') {
2901
- return fixRounding(leftValue * rightValue);
2902
- }
2903
-
2904
- if (operator === '/') {
2905
- return fixRounding(leftValue / rightValue);
2906
- }
2907
-
2908
- if (operator === '%') {
2909
- return leftValue % rightValue;
2910
- }
2911
-
2912
- throw new Error('Unknown operator.');
2989
+ return number1.value;
2913
2990
  };
2914
2991
 
2915
- function calculate(left, operator, right) {
2916
- var _parseValue = parseValue(left),
2917
- _parseValue2 = _slicedToArray(_parseValue, 2),
2918
- leftValue = _parseValue2[0],
2919
- leftUnit = _parseValue2[1];
2920
-
2921
- var _parseValue3 = parseValue(right),
2922
- _parseValue4 = _slicedToArray(_parseValue3, 2),
2923
- rightValue = _parseValue4[0],
2924
- rightUnit = _parseValue4[1];
2925
-
2926
- var unit = getUnit(leftUnit, rightUnit);
2927
- return "".concat(calculateValue(leftValue, operator, rightValue)).concat(unit);
2928
- }
2929
-
2930
- var convertToREM = function convertToREM(value) {
2931
- var remValue = value / (reactNative.PixelRatio.getFontScale() * 16);
2932
- return [remValue, 'rem'];
2933
- }; // Use calculateAdvanced for mixed px/rem units.
2992
+ var calculateValue = function calculateValue(number1, operator, number2) {
2993
+ var value1 = normalizeValue$1(number1, number2);
2994
+ var value2 = normalizeValue$1(number2, number1);
2934
2995
 
2996
+ switch (operator) {
2997
+ case '+':
2998
+ return value1 + value2;
2935
2999
 
2936
- function calculateAdvanced(left, operator, right) {
2937
- var parsedLeft = parseValue(left);
3000
+ case '-':
3001
+ return value1 - value2;
2938
3002
 
2939
- var _parsedLeft = _slicedToArray(parsedLeft, 2),
2940
- leftValue = _parsedLeft[0],
2941
- leftUnit = _parsedLeft[1];
3003
+ case '*':
3004
+ return fixRounding(value1 * value2);
2942
3005
 
2943
- var parsedRight = parseValue(right);
3006
+ case '/':
3007
+ return fixRounding(value1 / value2);
2944
3008
 
2945
- var _parsedRight = _slicedToArray(parsedRight, 2),
2946
- rightValue = _parsedRight[0],
2947
- rightUnit = _parsedRight[1];
3009
+ case '%':
3010
+ return value1 % value2;
2948
3011
 
2949
- if (leftUnit === 'px' && rightUnit === 'rem') {
2950
- return calculate(convertToREM(leftValue), operator, parsedRight);
3012
+ default:
3013
+ throw new Error('Unknown operator.');
2951
3014
  }
3015
+ };
2952
3016
 
2953
- if (leftUnit === 'rem' && rightUnit === 'px') {
2954
- return calculate(parsedLeft, operator, convertToREM(rightValue));
2955
- }
3017
+ var determineUnit = function determineUnit(number1, number2) {
3018
+ var index1 = UNIT_ORDER.indexOf(number1.unit);
3019
+ var index2 = UNIT_ORDER.indexOf(number2.unit);
3020
+ return index1 > index2 ? number1.unit : number2.unit;
3021
+ };
2956
3022
 
2957
- return calculate(parsedLeft, operator, parsedRight);
3023
+ function calculate(value1, operator, value2) {
3024
+ var number1 = UnitValue.parse(value1);
3025
+ var number2 = UnitValue.parse(value2);
3026
+ var value = calculateValue(number1, operator, number2);
3027
+ var unit = determineUnit(number1, number2);
3028
+ return new UnitValue(value, unit).toString();
3029
+ }
3030
+ function normalizeNumber(value) {
3031
+ return UnitValue.parse(value).toNumber();
2958
3032
  }
2959
3033
 
2960
- var formulaRE = /([+-])?([\d.Ee]+)(rem|px)?\s*(\+|-|\*|%)\s*([+-])?([\d.Ee]+)(rem|px)?/g;
3034
+ var formulaRE = /([+-]+)?([\d.Ee]+)(rem|px|%)?\s*(\+|-|\*|%)\s*([+-]+)?([\d.Ee]+)(rem|px|%)?/g;
2961
3035
 
2962
3036
  function formula(value) {
2963
3037
  // Naïve approach to calculate simple formulas.
@@ -2965,802 +3039,316 @@
2965
3039
  return value.replace(formulaRE, function (_) {
2966
3040
  var leftUnary = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
2967
3041
  var leftNumber = arguments.length > 2 ? arguments[2] : undefined;
2968
- var leftUnit = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
3042
+ var leftUnit = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';
2969
3043
  var operator = arguments.length > 4 ? arguments[4] : undefined;
2970
3044
  var rightUnary = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : '';
2971
3045
  var rightNumber = arguments.length > 6 ? arguments[6] : undefined;
2972
- var rightUnit = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : null;
2973
- var leftValue = [parseFloat("".concat(leftUnary).concat(leftNumber)), leftUnit];
2974
- var rightValue = [parseFloat("".concat(rightUnary).concat(rightNumber)), rightUnit];
3046
+ var rightUnit = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : '';
3047
+ var leftValue = "".concat(leftUnary).concat(leftNumber).concat(leftUnit);
3048
+ var rightValue = "".concat(rightUnary).concat(rightNumber).concat(rightUnit);
2975
3049
  return calculate(leftValue, operator, rightValue);
2976
3050
  });
2977
3051
  }
2978
3052
 
2979
- function _extends() {
2980
- _extends = Object.assign ? Object.assign.bind() : function (target) {
2981
- for (var i = 1; i < arguments.length; i++) {
2982
- var source = arguments[i];
2983
-
2984
- for (var key in source) {
2985
- if (Object.prototype.hasOwnProperty.call(source, key)) {
2986
- target[key] = source[key];
2987
- }
2988
- }
2989
- }
2990
-
2991
- return target;
3053
+ // Copied from https://github.com/styled-components/polished/blob/main/src/color/parseToRgb.js
3054
+ var hexRE = /^#[a-fA-F0-9]{6}$/;
3055
+ var hexRgbaRE = /^#[a-fA-F0-9]{8}$/;
3056
+ var shortHexRE = /^#[a-fA-F0-9]{3}$/;
3057
+ var shortRgbaHexRE = /^#[a-fA-F0-9]{4}$/;
3058
+ var rgbRE = /^rgb\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*\)$/i;
3059
+ var rgbaRE = /^rgb(?:a)?\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,|\/)\s*([-+]?\d*[.]?\d+[%]?)\s*\)$/i;
3060
+ 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;
3061
+ 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
3062
+ // prettier-ignore
3063
+
3064
+ var colorNames = {
3065
+ aliceblue: '#f0f8ff',
3066
+ antiquewhite: '#faebd7',
3067
+ aqua: '#00ffff',
3068
+ aquamarine: '#7fffd4',
3069
+ azure: '#f0ffff',
3070
+ beige: '#f5f5dc',
3071
+ bisque: '#ffe4c4',
3072
+ black: '#000000',
3073
+ blanchedalmond: '#ffebcd',
3074
+ blue: '#0000ff',
3075
+ blueviolet: '#8a2be2',
3076
+ brown: '#a52a2a',
3077
+ burlywood: '#deb887',
3078
+ cadetblue: '#5f9ea0',
3079
+ chartreuse: '#7fff00',
3080
+ chocolate: '#d2691e',
3081
+ coral: '#ff7f50',
3082
+ cornflowerblue: '#6495ed',
3083
+ cornsilk: '#fff8dc',
3084
+ crimson: '#dc143c',
3085
+ cyan: '#00ffff',
3086
+ darkblue: '#00008b',
3087
+ darkcyan: '#008b8b',
3088
+ darkgoldenrod: '#b8860b',
3089
+ darkgray: '#a9a9a9',
3090
+ darkgreen: '#006400',
3091
+ darkgrey: '#a9a9a9',
3092
+ darkkhaki: '#bdb76b',
3093
+ darkmagenta: '#8b008b',
3094
+ darkolivegreen: '#556b2f',
3095
+ darkorange: '#ff8c00',
3096
+ darkorchid: '#9932cc',
3097
+ darkred: '#8b0000',
3098
+ darksalmon: '#e9967a',
3099
+ darkseagreen: '#8fbc8f',
3100
+ darkslateblue: '#483d8b',
3101
+ darkslategrey: '#2f4f4f',
3102
+ darkturquoise: '#00ced1',
3103
+ darkviolet: '#9400d3',
3104
+ deeppink: '#ff1493',
3105
+ deepskyblue: '#00bfff',
3106
+ dimgray: '#696969',
3107
+ dimgrey: '#696969',
3108
+ dodgerblue: '#1e90ff',
3109
+ firebrick: '#b22222',
3110
+ floralwhite: '#fffaf0',
3111
+ forestgreen: '#228b22',
3112
+ fuchsia: '#ff00ff',
3113
+ gainsboro: '#dcdcdc',
3114
+ ghostwhite: '#f8f8ff',
3115
+ gold: '#ffd700',
3116
+ goldenrod: '#daa520',
3117
+ gray: '#808080',
3118
+ green: '#008000',
3119
+ greenyellow: '#adff2f',
3120
+ grey: '#808080',
3121
+ honeydew: '#f0fff0',
3122
+ hotpink: '#ff69b4',
3123
+ indianred: '#cd5c5c',
3124
+ indigo: '#4b0082',
3125
+ ivory: '#fffff0',
3126
+ khaki: '#f0e68c',
3127
+ lavender: '#e6e6fa',
3128
+ lavenderblush: '#fff0f5',
3129
+ lawngreen: '#7cfc00',
3130
+ lemonchiffon: '#fffacd',
3131
+ lightblue: '#add8e6',
3132
+ lightcoral: '#f08080',
3133
+ lightcyan: '#e0ffff',
3134
+ lightgoldenrodyellow: '#fafad2',
3135
+ lightgray: '#d3d3d3',
3136
+ lightgreen: '#90ee90',
3137
+ lightgrey: '#d3d3d3',
3138
+ lightpink: '#ffb6c1',
3139
+ lightsalmon: '#ffa07a',
3140
+ lightseagreen: '#20b2aa',
3141
+ lightskyblue: '#87cefa',
3142
+ lightslategrey: '#778899',
3143
+ lightsteelblue: '#b0c4de',
3144
+ lightyellow: '#ffffe0',
3145
+ lime: '#00ff00',
3146
+ limegreen: '#32cd32',
3147
+ linen: '#faf0e6',
3148
+ magenta: '#ff00ff',
3149
+ maroon: '#800000',
3150
+ mediumaquamarine: '#66cdaa',
3151
+ mediumblue: '#0000cd',
3152
+ mediumorchid: '#ba55d3',
3153
+ mediumpurple: '#9370db',
3154
+ mediumseagreen: '#3cb371',
3155
+ mediumslateblue: '#7b68ee',
3156
+ mediumspringgreen: '#00fa9a',
3157
+ mediumturquoise: '#48d1cc',
3158
+ mediumvioletred: '#c71585',
3159
+ midnightblue: '#191970',
3160
+ mintcream: '#f5fffa',
3161
+ mistyrose: '#ffe4e1',
3162
+ moccasin: '#ffe4b5',
3163
+ navajowhite: '#ffdead',
3164
+ navy: '#000080',
3165
+ oldlace: '#fdf5e6',
3166
+ olive: '#808000',
3167
+ olivedrab: '#6b8e23',
3168
+ orange: '#ffa500',
3169
+ orangered: '#ff4500',
3170
+ orchid: '#da70d6',
3171
+ palegoldenrod: '#eee8aa',
3172
+ palegreen: '#98fb98',
3173
+ paleturquoise: '#afeeee',
3174
+ palevioletred: '#db7093',
3175
+ papayawhip: '#ffefd5',
3176
+ peachpuff: '#ffdab9',
3177
+ peru: '#cd853f',
3178
+ pink: '#ffc0cb',
3179
+ plum: '#dda0dd',
3180
+ powderblue: '#b0e0e6',
3181
+ purple: '#800080',
3182
+ rebeccapurple: '#663399',
3183
+ red: '#ff0000',
3184
+ rosybrown: '#bc8f8f',
3185
+ royalblue: '#4169e1',
3186
+ saddlebrown: '#8b4513',
3187
+ salmon: '#fa8072',
3188
+ sandybrown: '#f4a460',
3189
+ seagreen: '#2e8b57',
3190
+ seashell: '#fff5ee',
3191
+ sienna: '#a0522d',
3192
+ silver: '#c0c0c0',
3193
+ skyblue: '#87ceeb',
3194
+ slateblue: '#6a5acd',
3195
+ slategray: '#708090',
3196
+ snow: '#fffafa',
3197
+ springgreen: '#00ff7f',
3198
+ steelblue: '#4682b4',
3199
+ tan: '#d2b48c',
3200
+ teal: '#008080',
3201
+ thistle: '#d8bfd8',
3202
+ tomato: '#ff6347',
3203
+ turquoise: '#40e0d0',
3204
+ violet: '#ee82ee',
3205
+ wheat: '#f5deb3',
3206
+ white: '#ffffff',
3207
+ whitesmoke: '#f5f5f5',
3208
+ yellow: '#ffff00',
3209
+ yellowgreen: '#9acd32'
3210
+ };
3211
+
3212
+ var hslToRgb = function hslToRgb(h, s, l) {
3213
+ var a = s * Math.min(l, 1 - l);
3214
+
3215
+ var f = function f(n) {
3216
+ var k = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : (n + h / 30) % 12;
3217
+ return l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);
2992
3218
  };
2993
- return _extends.apply(this, arguments);
2994
- }
2995
3219
 
2996
- function _assertThisInitialized(self) {
2997
- if (self === void 0) {
2998
- throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
2999
- }
3220
+ return [f(0), f(8), f(4)];
3221
+ };
3000
3222
 
3001
- return self;
3002
- }
3223
+ var RgbaValue = /*#__PURE__*/function () {
3224
+ function RgbaValue(red, green, blue) {
3225
+ var alpha = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
3003
3226
 
3004
- function _setPrototypeOf(o, p) {
3005
- _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {
3006
- o.__proto__ = p;
3007
- return o;
3008
- };
3009
- return _setPrototypeOf(o, p);
3010
- }
3227
+ _classCallCheck(this, RgbaValue);
3011
3228
 
3012
- function _inheritsLoose(subClass, superClass) {
3013
- subClass.prototype = Object.create(superClass.prototype);
3014
- subClass.prototype.constructor = subClass;
3015
- _setPrototypeOf(subClass, superClass);
3016
- }
3229
+ _defineProperty(this, "red", void 0);
3017
3230
 
3018
- function _getPrototypeOf(o) {
3019
- _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {
3020
- return o.__proto__ || Object.getPrototypeOf(o);
3021
- };
3022
- return _getPrototypeOf(o);
3023
- }
3231
+ _defineProperty(this, "green", void 0);
3024
3232
 
3025
- function _isNativeFunction(fn) {
3026
- return Function.toString.call(fn).indexOf("[native code]") !== -1;
3027
- }
3233
+ _defineProperty(this, "blue", void 0);
3028
3234
 
3029
- function _isNativeReflectConstruct() {
3030
- if (typeof Reflect === "undefined" || !Reflect.construct) return false;
3031
- if (Reflect.construct.sham) return false;
3032
- if (typeof Proxy === "function") return true;
3235
+ _defineProperty(this, "alpha", void 0);
3033
3236
 
3034
- try {
3035
- Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));
3036
- return true;
3037
- } catch (e) {
3038
- return false;
3237
+ this.red = red;
3238
+ this.green = green;
3239
+ this.blue = blue;
3240
+ this.alpha = alpha;
3039
3241
  }
3040
- }
3041
3242
 
3042
- function _construct(Parent, args, Class) {
3043
- if (_isNativeReflectConstruct()) {
3044
- _construct = Reflect.construct.bind();
3045
- } else {
3046
- _construct = function _construct(Parent, args, Class) {
3047
- var a = [null];
3048
- a.push.apply(a, args);
3049
- var Constructor = Function.bind.apply(Parent, a);
3050
- var instance = new Constructor();
3051
- if (Class) _setPrototypeOf(instance, Class.prototype);
3052
- return instance;
3053
- };
3054
- }
3055
-
3056
- return _construct.apply(null, arguments);
3057
- }
3058
-
3059
- function _wrapNativeSuper(Class) {
3060
- var _cache = typeof Map === "function" ? new Map() : undefined;
3061
-
3062
- _wrapNativeSuper = function _wrapNativeSuper(Class) {
3063
- if (Class === null || !_isNativeFunction(Class)) return Class;
3064
-
3065
- if (typeof Class !== "function") {
3066
- throw new TypeError("Super expression must either be null or a function");
3243
+ _createClass(RgbaValue, [{
3244
+ key: "toRgb",
3245
+ value: function toRgb() {
3246
+ return [this.red, this.green, this.blue];
3067
3247
  }
3068
-
3069
- if (typeof _cache !== "undefined") {
3070
- if (_cache.has(Class)) return _cache.get(Class);
3071
-
3072
- _cache.set(Class, Wrapper);
3248
+ }, {
3249
+ key: "toRgba",
3250
+ value: function toRgba() {
3251
+ return [].concat(_toConsumableArray(this.toRgb()), [this.alpha]);
3073
3252
  }
3253
+ }, {
3254
+ key: "toHex",
3255
+ value: function toHex() {
3256
+ var _this$toRgb = this.toRgb(),
3257
+ _this$toRgb2 = _toArray(_this$toRgb),
3258
+ values = _this$toRgb2.slice(0);
3259
+
3260
+ if (this.alpha < 1) {
3261
+ values.push(this.alpha);
3262
+ }
3074
3263
 
3075
- function Wrapper() {
3076
- return _construct(Class, arguments, _getPrototypeOf(this).constructor);
3264
+ return "#".concat(values.map(function (x) {
3265
+ var hex = x.toString(16);
3266
+ return hex.length === 1 ? "0".concat(hex) : hex;
3267
+ }).join(''));
3077
3268
  }
3078
-
3079
- Wrapper.prototype = Object.create(Class.prototype, {
3080
- constructor: {
3081
- value: Wrapper,
3082
- enumerable: false,
3083
- writable: true,
3084
- configurable: true
3269
+ }], [{
3270
+ key: "parse",
3271
+ value: function parse(value) {
3272
+ if (value instanceof RgbaValue) {
3273
+ return value;
3085
3274
  }
3086
- });
3087
- return _setPrototypeOf(Wrapper, Class);
3088
- };
3089
-
3090
- return _wrapNativeSuper(Class);
3091
- }
3092
3275
 
3093
- // based on https://github.com/styled-components/styled-components/blob/fcf6f3804c57a14dd7984dfab7bc06ee2edca044/src/utils/error.js
3276
+ var color = colorNames[value] || value; // Handle hex value
3094
3277
 
3095
- /**
3096
- * Parse errors.md and turn it into a simple hash of code: message
3097
- * @private
3098
- */
3099
- var ERRORS = {
3100
- "1": "Passed invalid arguments to hsl, please pass multiple numbers e.g. hsl(360, 0.75, 0.4) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75 }).\n\n",
3101
- "2": "Passed invalid arguments to hsla, please pass multiple numbers e.g. hsla(360, 0.75, 0.4, 0.7) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75, alpha: 0.7 }).\n\n",
3102
- "3": "Passed an incorrect argument to a color function, please pass a string representation of a color.\n\n",
3103
- "4": "Couldn't generate valid rgb string from %s, it returned %s.\n\n",
3104
- "5": "Couldn't parse the color string. Please provide the color as a string in hex, rgb, rgba, hsl or hsla notation.\n\n",
3105
- "6": "Passed invalid arguments to rgb, please pass multiple numbers e.g. rgb(255, 205, 100) or an object e.g. rgb({ red: 255, green: 205, blue: 100 }).\n\n",
3106
- "7": "Passed invalid arguments to rgba, please pass multiple numbers e.g. rgb(255, 205, 100, 0.75) or an object e.g. rgb({ red: 255, green: 205, blue: 100, alpha: 0.75 }).\n\n",
3107
- "8": "Passed invalid argument to toColorString, please pass a RgbColor, RgbaColor, HslColor or HslaColor object.\n\n",
3108
- "9": "Please provide a number of steps to the modularScale helper.\n\n",
3109
- "10": "Please pass a number or one of the predefined scales to the modularScale helper as the ratio.\n\n",
3110
- "11": "Invalid value passed as base to modularScale, expected number or em string but got \"%s\"\n\n",
3111
- "12": "Expected a string ending in \"px\" or a number passed as the first argument to %s(), got \"%s\" instead.\n\n",
3112
- "13": "Expected a string ending in \"px\" or a number passed as the second argument to %s(), got \"%s\" instead.\n\n",
3113
- "14": "Passed invalid pixel value (\"%s\") to %s(), please pass a value like \"12px\" or 12.\n\n",
3114
- "15": "Passed invalid base value (\"%s\") to %s(), please pass a value like \"12px\" or 12.\n\n",
3115
- "16": "You must provide a template to this method.\n\n",
3116
- "17": "You passed an unsupported selector state to this method.\n\n",
3117
- "18": "minScreen and maxScreen must be provided as stringified numbers with the same units.\n\n",
3118
- "19": "fromSize and toSize must be provided as stringified numbers with the same units.\n\n",
3119
- "20": "expects either an array of objects or a single object with the properties prop, fromSize, and toSize.\n\n",
3120
- "21": "expects the objects in the first argument array to have the properties `prop`, `fromSize`, and `toSize`.\n\n",
3121
- "22": "expects the first argument object to have the properties `prop`, `fromSize`, and `toSize`.\n\n",
3122
- "23": "fontFace expects a name of a font-family.\n\n",
3123
- "24": "fontFace expects either the path to the font file(s) or a name of a local copy.\n\n",
3124
- "25": "fontFace expects localFonts to be an array.\n\n",
3125
- "26": "fontFace expects fileFormats to be an array.\n\n",
3126
- "27": "radialGradient requries at least 2 color-stops to properly render.\n\n",
3127
- "28": "Please supply a filename to retinaImage() as the first argument.\n\n",
3128
- "29": "Passed invalid argument to triangle, please pass correct pointingDirection e.g. 'right'.\n\n",
3129
- "30": "Passed an invalid value to `height` or `width`. Please provide a pixel based unit.\n\n",
3130
- "31": "The animation shorthand only takes 8 arguments. See the specification for more information: http://mdn.io/animation\n\n",
3131
- "32": "To pass multiple animations please supply them in arrays, e.g. animation(['rotate', '2s'], ['move', '1s'])\nTo pass a single animation please supply them in simple values, e.g. animation('rotate', '2s')\n\n",
3132
- "33": "The animation shorthand arrays can only have 8 elements. See the specification for more information: http://mdn.io/animation\n\n",
3133
- "34": "borderRadius expects a radius value as a string or number as the second argument.\n\n",
3134
- "35": "borderRadius expects one of \"top\", \"bottom\", \"left\" or \"right\" as the first argument.\n\n",
3135
- "36": "Property must be a string value.\n\n",
3136
- "37": "Syntax Error at %s.\n\n",
3137
- "38": "Formula contains a function that needs parentheses at %s.\n\n",
3138
- "39": "Formula is missing closing parenthesis at %s.\n\n",
3139
- "40": "Formula has too many closing parentheses at %s.\n\n",
3140
- "41": "All values in a formula must have the same unit or be unitless.\n\n",
3141
- "42": "Please provide a number of steps to the modularScale helper.\n\n",
3142
- "43": "Please pass a number or one of the predefined scales to the modularScale helper as the ratio.\n\n",
3143
- "44": "Invalid value passed as base to modularScale, expected number or em/rem string but got %s.\n\n",
3144
- "45": "Passed invalid argument to hslToColorString, please pass a HslColor or HslaColor object.\n\n",
3145
- "46": "Passed invalid argument to rgbToColorString, please pass a RgbColor or RgbaColor object.\n\n",
3146
- "47": "minScreen and maxScreen must be provided as stringified numbers with the same units.\n\n",
3147
- "48": "fromSize and toSize must be provided as stringified numbers with the same units.\n\n",
3148
- "49": "Expects either an array of objects or a single object with the properties prop, fromSize, and toSize.\n\n",
3149
- "50": "Expects the objects in the first argument array to have the properties prop, fromSize, and toSize.\n\n",
3150
- "51": "Expects the first argument object to have the properties prop, fromSize, and toSize.\n\n",
3151
- "52": "fontFace expects either the path to the font file(s) or a name of a local copy.\n\n",
3152
- "53": "fontFace expects localFonts to be an array.\n\n",
3153
- "54": "fontFace expects fileFormats to be an array.\n\n",
3154
- "55": "fontFace expects a name of a font-family.\n\n",
3155
- "56": "linearGradient requries at least 2 color-stops to properly render.\n\n",
3156
- "57": "radialGradient requries at least 2 color-stops to properly render.\n\n",
3157
- "58": "Please supply a filename to retinaImage() as the first argument.\n\n",
3158
- "59": "Passed invalid argument to triangle, please pass correct pointingDirection e.g. 'right'.\n\n",
3159
- "60": "Passed an invalid value to `height` or `width`. Please provide a pixel based unit.\n\n",
3160
- "61": "Property must be a string value.\n\n",
3161
- "62": "borderRadius expects a radius value as a string or number as the second argument.\n\n",
3162
- "63": "borderRadius expects one of \"top\", \"bottom\", \"left\" or \"right\" as the first argument.\n\n",
3163
- "64": "The animation shorthand only takes 8 arguments. See the specification for more information: http://mdn.io/animation.\n\n",
3164
- "65": "To pass multiple animations please supply them in arrays, e.g. animation(['rotate', '2s'], ['move', '1s'])\\nTo pass a single animation please supply them in simple values, e.g. animation('rotate', '2s').\n\n",
3165
- "66": "The animation shorthand arrays can only have 8 elements. See the specification for more information: http://mdn.io/animation.\n\n",
3166
- "67": "You must provide a template to this method.\n\n",
3167
- "68": "You passed an unsupported selector state to this method.\n\n",
3168
- "69": "Expected a string ending in \"px\" or a number passed as the first argument to %s(), got %s instead.\n\n",
3169
- "70": "Expected a string ending in \"px\" or a number passed as the second argument to %s(), got %s instead.\n\n",
3170
- "71": "Passed invalid pixel value %s to %s(), please pass a value like \"12px\" or 12.\n\n",
3171
- "72": "Passed invalid base value %s to %s(), please pass a value like \"12px\" or 12.\n\n",
3172
- "73": "Please provide a valid CSS variable.\n\n",
3173
- "74": "CSS variable not found and no default was provided.\n\n",
3174
- "75": "important requires a valid style object, got a %s instead.\n\n",
3175
- "76": "fromSize and toSize must be provided as stringified numbers with the same units as minScreen and maxScreen.\n\n",
3176
- "77": "remToPx expects a value in \"rem\" but you provided it in \"%s\".\n\n",
3177
- "78": "base must be set in \"px\" or \"%\" but you set it in \"%s\".\n"
3178
- };
3179
- /**
3180
- * super basic version of sprintf
3181
- * @private
3182
- */
3278
+ var hexMatch = color.match(hexRE) || color.match(hexRgbaRE) || color.match(shortHexRE) || color.match(shortRgbaHexRE);
3183
3279
 
3184
- function format() {
3185
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
3186
- args[_key] = arguments[_key];
3187
- }
3280
+ if (hexMatch) {
3281
+ var params = (hexMatch[0].length <= 4 ? hexMatch[0].match(/\w/g).map(function (x) {
3282
+ return "".concat(x).concat(x);
3283
+ }) : hexMatch[0].match(/\w\w/g)).map(function (hex, key) {
3284
+ var x = parseInt(hex, 16);
3285
+ var alpha = key === 3;
3286
+ return alpha ? (x / 255).toFixed(2) : x;
3287
+ });
3288
+ return _construct(RgbaValue, _toConsumableArray(params));
3289
+ } // Handle rgb(a) value
3188
3290
 
3189
- var a = args[0];
3190
- var b = [];
3191
- var c;
3192
3291
 
3193
- for (c = 1; c < args.length; c += 1) {
3194
- b.push(args[c]);
3195
- }
3292
+ var rgbMatch = color.match(rgbRE) || color.match(rgbaRE);
3196
3293
 
3197
- b.forEach(function (d) {
3198
- a = a.replace(/%[a-z]/, d);
3199
- });
3200
- return a;
3201
- }
3202
- /**
3203
- * Create an error file out of errors.md for development and a simple web link to the full errors
3204
- * in production mode.
3205
- * @private
3206
- */
3294
+ if (rgbMatch) {
3295
+ var _params = rgbMatch.slice(1).map(function (x, key) {
3296
+ var alpha = key === 3;
3297
+ return alpha ? parseFloat(x) : parseInt(x, 10);
3298
+ });
3207
3299
 
3300
+ return _construct(RgbaValue, _toConsumableArray(_params));
3301
+ } // Handle hsl(a) value
3208
3302
 
3209
- var PolishedError = /*#__PURE__*/function (_Error) {
3210
- _inheritsLoose(PolishedError, _Error);
3211
3303
 
3212
- function PolishedError(code) {
3213
- var _this;
3304
+ var hslMatch = color.match(hslRE) || color.match(hslaRE);
3214
3305
 
3215
- {
3216
- for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
3217
- args[_key2 - 1] = arguments[_key2];
3306
+ if (hslMatch) {
3307
+ var h = parseInt(hslMatch[1], 10);
3308
+ var s = parseInt(hslMatch[2], 10) / 100;
3309
+ var l = parseInt(hslMatch[3], 10) / 100;
3310
+ var alpha = hslMatch[4] && parseFloat(hslMatch[4]);
3311
+ return _construct(RgbaValue, [].concat(_toConsumableArray(hslToRgb(h, s, l)), [alpha]));
3218
3312
  }
3219
3313
 
3220
- _this = _Error.call(this, format.apply(void 0, [ERRORS[code]].concat(args))) || this;
3221
- }
3222
-
3223
- return _assertThisInitialized(_this);
3224
- }
3225
-
3226
- return PolishedError;
3227
- }( /*#__PURE__*/_wrapNativeSuper(Error));
3228
-
3229
- function colorToInt(color) {
3230
- return Math.round(color * 255);
3231
- }
3232
-
3233
- function convertToInt(red, green, blue) {
3234
- return colorToInt(red) + "," + colorToInt(green) + "," + colorToInt(blue);
3235
- }
3236
-
3237
- function hslToRgb(hue, saturation, lightness, convert) {
3238
- if (convert === void 0) {
3239
- convert = convertToInt;
3240
- }
3241
-
3242
- if (saturation === 0) {
3243
- // achromatic
3244
- return convert(lightness, lightness, lightness);
3245
- } // formulae from https://en.wikipedia.org/wiki/HSL_and_HSV
3246
-
3247
-
3248
- var huePrime = (hue % 360 + 360) % 360 / 60;
3249
- var chroma = (1 - Math.abs(2 * lightness - 1)) * saturation;
3250
- var secondComponent = chroma * (1 - Math.abs(huePrime % 2 - 1));
3251
- var red = 0;
3252
- var green = 0;
3253
- var blue = 0;
3254
-
3255
- if (huePrime >= 0 && huePrime < 1) {
3256
- red = chroma;
3257
- green = secondComponent;
3258
- } else if (huePrime >= 1 && huePrime < 2) {
3259
- red = secondComponent;
3260
- green = chroma;
3261
- } else if (huePrime >= 2 && huePrime < 3) {
3262
- green = chroma;
3263
- blue = secondComponent;
3264
- } else if (huePrime >= 3 && huePrime < 4) {
3265
- green = secondComponent;
3266
- blue = chroma;
3267
- } else if (huePrime >= 4 && huePrime < 5) {
3268
- red = secondComponent;
3269
- blue = chroma;
3270
- } else if (huePrime >= 5 && huePrime < 6) {
3271
- red = chroma;
3272
- blue = secondComponent;
3273
- }
3274
-
3275
- var lightnessModification = lightness - chroma / 2;
3276
- var finalRed = red + lightnessModification;
3277
- var finalGreen = green + lightnessModification;
3278
- var finalBlue = blue + lightnessModification;
3279
- return convert(finalRed, finalGreen, finalBlue);
3280
- }
3281
-
3282
- var namedColorMap = {
3283
- aliceblue: 'f0f8ff',
3284
- antiquewhite: 'faebd7',
3285
- aqua: '00ffff',
3286
- aquamarine: '7fffd4',
3287
- azure: 'f0ffff',
3288
- beige: 'f5f5dc',
3289
- bisque: 'ffe4c4',
3290
- black: '000',
3291
- blanchedalmond: 'ffebcd',
3292
- blue: '0000ff',
3293
- blueviolet: '8a2be2',
3294
- brown: 'a52a2a',
3295
- burlywood: 'deb887',
3296
- cadetblue: '5f9ea0',
3297
- chartreuse: '7fff00',
3298
- chocolate: 'd2691e',
3299
- coral: 'ff7f50',
3300
- cornflowerblue: '6495ed',
3301
- cornsilk: 'fff8dc',
3302
- crimson: 'dc143c',
3303
- cyan: '00ffff',
3304
- darkblue: '00008b',
3305
- darkcyan: '008b8b',
3306
- darkgoldenrod: 'b8860b',
3307
- darkgray: 'a9a9a9',
3308
- darkgreen: '006400',
3309
- darkgrey: 'a9a9a9',
3310
- darkkhaki: 'bdb76b',
3311
- darkmagenta: '8b008b',
3312
- darkolivegreen: '556b2f',
3313
- darkorange: 'ff8c00',
3314
- darkorchid: '9932cc',
3315
- darkred: '8b0000',
3316
- darksalmon: 'e9967a',
3317
- darkseagreen: '8fbc8f',
3318
- darkslateblue: '483d8b',
3319
- darkslategray: '2f4f4f',
3320
- darkslategrey: '2f4f4f',
3321
- darkturquoise: '00ced1',
3322
- darkviolet: '9400d3',
3323
- deeppink: 'ff1493',
3324
- deepskyblue: '00bfff',
3325
- dimgray: '696969',
3326
- dimgrey: '696969',
3327
- dodgerblue: '1e90ff',
3328
- firebrick: 'b22222',
3329
- floralwhite: 'fffaf0',
3330
- forestgreen: '228b22',
3331
- fuchsia: 'ff00ff',
3332
- gainsboro: 'dcdcdc',
3333
- ghostwhite: 'f8f8ff',
3334
- gold: 'ffd700',
3335
- goldenrod: 'daa520',
3336
- gray: '808080',
3337
- green: '008000',
3338
- greenyellow: 'adff2f',
3339
- grey: '808080',
3340
- honeydew: 'f0fff0',
3341
- hotpink: 'ff69b4',
3342
- indianred: 'cd5c5c',
3343
- indigo: '4b0082',
3344
- ivory: 'fffff0',
3345
- khaki: 'f0e68c',
3346
- lavender: 'e6e6fa',
3347
- lavenderblush: 'fff0f5',
3348
- lawngreen: '7cfc00',
3349
- lemonchiffon: 'fffacd',
3350
- lightblue: 'add8e6',
3351
- lightcoral: 'f08080',
3352
- lightcyan: 'e0ffff',
3353
- lightgoldenrodyellow: 'fafad2',
3354
- lightgray: 'd3d3d3',
3355
- lightgreen: '90ee90',
3356
- lightgrey: 'd3d3d3',
3357
- lightpink: 'ffb6c1',
3358
- lightsalmon: 'ffa07a',
3359
- lightseagreen: '20b2aa',
3360
- lightskyblue: '87cefa',
3361
- lightslategray: '789',
3362
- lightslategrey: '789',
3363
- lightsteelblue: 'b0c4de',
3364
- lightyellow: 'ffffe0',
3365
- lime: '0f0',
3366
- limegreen: '32cd32',
3367
- linen: 'faf0e6',
3368
- magenta: 'f0f',
3369
- maroon: '800000',
3370
- mediumaquamarine: '66cdaa',
3371
- mediumblue: '0000cd',
3372
- mediumorchid: 'ba55d3',
3373
- mediumpurple: '9370db',
3374
- mediumseagreen: '3cb371',
3375
- mediumslateblue: '7b68ee',
3376
- mediumspringgreen: '00fa9a',
3377
- mediumturquoise: '48d1cc',
3378
- mediumvioletred: 'c71585',
3379
- midnightblue: '191970',
3380
- mintcream: 'f5fffa',
3381
- mistyrose: 'ffe4e1',
3382
- moccasin: 'ffe4b5',
3383
- navajowhite: 'ffdead',
3384
- navy: '000080',
3385
- oldlace: 'fdf5e6',
3386
- olive: '808000',
3387
- olivedrab: '6b8e23',
3388
- orange: 'ffa500',
3389
- orangered: 'ff4500',
3390
- orchid: 'da70d6',
3391
- palegoldenrod: 'eee8aa',
3392
- palegreen: '98fb98',
3393
- paleturquoise: 'afeeee',
3394
- palevioletred: 'db7093',
3395
- papayawhip: 'ffefd5',
3396
- peachpuff: 'ffdab9',
3397
- peru: 'cd853f',
3398
- pink: 'ffc0cb',
3399
- plum: 'dda0dd',
3400
- powderblue: 'b0e0e6',
3401
- purple: '800080',
3402
- rebeccapurple: '639',
3403
- red: 'f00',
3404
- rosybrown: 'bc8f8f',
3405
- royalblue: '4169e1',
3406
- saddlebrown: '8b4513',
3407
- salmon: 'fa8072',
3408
- sandybrown: 'f4a460',
3409
- seagreen: '2e8b57',
3410
- seashell: 'fff5ee',
3411
- sienna: 'a0522d',
3412
- silver: 'c0c0c0',
3413
- skyblue: '87ceeb',
3414
- slateblue: '6a5acd',
3415
- slategray: '708090',
3416
- slategrey: '708090',
3417
- snow: 'fffafa',
3418
- springgreen: '00ff7f',
3419
- steelblue: '4682b4',
3420
- tan: 'd2b48c',
3421
- teal: '008080',
3422
- thistle: 'd8bfd8',
3423
- tomato: 'ff6347',
3424
- turquoise: '40e0d0',
3425
- violet: 'ee82ee',
3426
- wheat: 'f5deb3',
3427
- white: 'fff',
3428
- whitesmoke: 'f5f5f5',
3429
- yellow: 'ff0',
3430
- yellowgreen: '9acd32'
3431
- };
3432
- /**
3433
- * Checks if a string is a CSS named color and returns its equivalent hex value, otherwise returns the original color.
3434
- * @private
3435
- */
3436
-
3437
- function nameToHex(color) {
3438
- if (typeof color !== 'string') return color;
3439
- var normalizedColorName = color.toLowerCase();
3440
- return namedColorMap[normalizedColorName] ? "#" + namedColorMap[normalizedColorName] : color;
3441
- }
3442
-
3443
- var hexRegex = /^#[a-fA-F0-9]{6}$/;
3444
- var hexRgbaRegex = /^#[a-fA-F0-9]{8}$/;
3445
- var reducedHexRegex = /^#[a-fA-F0-9]{3}$/;
3446
- var reducedRgbaHexRegex = /^#[a-fA-F0-9]{4}$/;
3447
- var rgbRegex = /^rgb\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*\)$/i;
3448
- var rgbaRegex = /^rgb(?:a)?\(\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,)?\s*(\d{1,3})\s*(?:,|\/)\s*([-+]?\d*[.]?\d+[%]?)\s*\)$/i;
3449
- var hslRegex = /^hsl\(\s*(\d{0,3}[.]?[0-9]+(?:deg)?)\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*(?:,)?\s*(\d{1,3}[.]?[0-9]?)%\s*\)$/i;
3450
- var hslaRegex = /^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;
3451
- /**
3452
- * Returns an RgbColor or RgbaColor object. This utility function is only useful
3453
- * if want to extract a color component. With the color util `toColorString` you
3454
- * can convert a RgbColor or RgbaColor object back to a string.
3455
- *
3456
- * @example
3457
- * // Assigns `{ red: 255, green: 0, blue: 0 }` to color1
3458
- * const color1 = parseToRgb('rgb(255, 0, 0)');
3459
- * // Assigns `{ red: 92, green: 102, blue: 112, alpha: 0.75 }` to color2
3460
- * const color2 = parseToRgb('hsla(210, 10%, 40%, 0.75)');
3461
- */
3462
-
3463
- function parseToRgb(color) {
3464
- if (typeof color !== 'string') {
3465
- throw new PolishedError(3);
3466
- }
3467
-
3468
- var normalizedColor = nameToHex(color);
3469
-
3470
- if (normalizedColor.match(hexRegex)) {
3471
- return {
3472
- red: parseInt("" + normalizedColor[1] + normalizedColor[2], 16),
3473
- green: parseInt("" + normalizedColor[3] + normalizedColor[4], 16),
3474
- blue: parseInt("" + normalizedColor[5] + normalizedColor[6], 16)
3475
- };
3476
- }
3477
-
3478
- if (normalizedColor.match(hexRgbaRegex)) {
3479
- var alpha = parseFloat((parseInt("" + normalizedColor[7] + normalizedColor[8], 16) / 255).toFixed(2));
3480
- return {
3481
- red: parseInt("" + normalizedColor[1] + normalizedColor[2], 16),
3482
- green: parseInt("" + normalizedColor[3] + normalizedColor[4], 16),
3483
- blue: parseInt("" + normalizedColor[5] + normalizedColor[6], 16),
3484
- alpha: alpha
3485
- };
3486
- }
3487
-
3488
- if (normalizedColor.match(reducedHexRegex)) {
3489
- return {
3490
- red: parseInt("" + normalizedColor[1] + normalizedColor[1], 16),
3491
- green: parseInt("" + normalizedColor[2] + normalizedColor[2], 16),
3492
- blue: parseInt("" + normalizedColor[3] + normalizedColor[3], 16)
3493
- };
3494
- }
3495
-
3496
- if (normalizedColor.match(reducedRgbaHexRegex)) {
3497
- var _alpha = parseFloat((parseInt("" + normalizedColor[4] + normalizedColor[4], 16) / 255).toFixed(2));
3498
-
3499
- return {
3500
- red: parseInt("" + normalizedColor[1] + normalizedColor[1], 16),
3501
- green: parseInt("" + normalizedColor[2] + normalizedColor[2], 16),
3502
- blue: parseInt("" + normalizedColor[3] + normalizedColor[3], 16),
3503
- alpha: _alpha
3504
- };
3505
- }
3506
-
3507
- var rgbMatched = rgbRegex.exec(normalizedColor);
3508
-
3509
- if (rgbMatched) {
3510
- return {
3511
- red: parseInt("" + rgbMatched[1], 10),
3512
- green: parseInt("" + rgbMatched[2], 10),
3513
- blue: parseInt("" + rgbMatched[3], 10)
3514
- };
3515
- }
3516
-
3517
- var rgbaMatched = rgbaRegex.exec(normalizedColor.substring(0, 50));
3518
-
3519
- if (rgbaMatched) {
3520
- return {
3521
- red: parseInt("" + rgbaMatched[1], 10),
3522
- green: parseInt("" + rgbaMatched[2], 10),
3523
- blue: parseInt("" + rgbaMatched[3], 10),
3524
- alpha: parseFloat("" + rgbaMatched[4]) > 1 ? parseFloat("" + rgbaMatched[4]) / 100 : parseFloat("" + rgbaMatched[4])
3525
- };
3526
- }
3527
-
3528
- var hslMatched = hslRegex.exec(normalizedColor);
3529
-
3530
- if (hslMatched) {
3531
- var hue = parseInt("" + hslMatched[1], 10);
3532
- var saturation = parseInt("" + hslMatched[2], 10) / 100;
3533
- var lightness = parseInt("" + hslMatched[3], 10) / 100;
3534
- var rgbColorString = "rgb(" + hslToRgb(hue, saturation, lightness) + ")";
3535
- var hslRgbMatched = rgbRegex.exec(rgbColorString);
3536
-
3537
- if (!hslRgbMatched) {
3538
- throw new PolishedError(4, normalizedColor, rgbColorString);
3539
- }
3540
-
3541
- return {
3542
- red: parseInt("" + hslRgbMatched[1], 10),
3543
- green: parseInt("" + hslRgbMatched[2], 10),
3544
- blue: parseInt("" + hslRgbMatched[3], 10)
3545
- };
3546
- }
3547
-
3548
- var hslaMatched = hslaRegex.exec(normalizedColor.substring(0, 50));
3549
-
3550
- if (hslaMatched) {
3551
- var _hue = parseInt("" + hslaMatched[1], 10);
3552
-
3553
- var _saturation = parseInt("" + hslaMatched[2], 10) / 100;
3554
-
3555
- var _lightness = parseInt("" + hslaMatched[3], 10) / 100;
3556
-
3557
- var _rgbColorString = "rgb(" + hslToRgb(_hue, _saturation, _lightness) + ")";
3558
-
3559
- var _hslRgbMatched = rgbRegex.exec(_rgbColorString);
3560
-
3561
- if (!_hslRgbMatched) {
3562
- throw new PolishedError(4, normalizedColor, _rgbColorString);
3314
+ throw new Error("Unknown color \"".concat(value, "\"."));
3563
3315
  }
3316
+ }]);
3564
3317
 
3565
- return {
3566
- red: parseInt("" + _hslRgbMatched[1], 10),
3567
- green: parseInt("" + _hslRgbMatched[2], 10),
3568
- blue: parseInt("" + _hslRgbMatched[3], 10),
3569
- alpha: parseFloat("" + hslaMatched[4]) > 1 ? parseFloat("" + hslaMatched[4]) / 100 : parseFloat("" + hslaMatched[4])
3570
- };
3571
- }
3572
-
3573
- throw new PolishedError(5);
3574
- }
3575
-
3576
- /**
3577
- * Reduces hex values if possible e.g. #ff8866 to #f86
3578
- * @private
3579
- */
3580
- var reduceHexValue = function reduceHexValue(value) {
3581
- if (value.length === 7 && value[1] === value[2] && value[3] === value[4] && value[5] === value[6]) {
3582
- return "#" + value[1] + value[3] + value[5];
3583
- }
3584
-
3585
- return value;
3586
- };
3318
+ return RgbaValue;
3319
+ }();
3587
3320
 
3588
- var reduceHexValue$1 = reduceHexValue;
3321
+ function rgba$1(value, alpha) {
3322
+ var color = RgbaValue.parse(value);
3323
+ return "rgba(".concat(color.red, ",").concat(color.green, ",").concat(color.blue, ",").concat(alpha, ")");
3324
+ } // Sass equivalent
3589
3325
 
3590
- function numberToHex(value) {
3591
- var hex = value.toString(16);
3592
- return hex.length === 1 ? "0" + hex : hex;
3593
- }
3326
+ function opacity(value) {
3327
+ return RgbaValue.parse(value).alpha;
3328
+ } // Sass equivalent
3594
3329
 
3595
- /**
3596
- * Returns a string value for the color. The returned result is the smallest possible hex notation.
3597
- *
3598
- * @example
3599
- * // Styles as object usage
3600
- * const styles = {
3601
- * background: rgb(255, 205, 100),
3602
- * background: rgb({ red: 255, green: 205, blue: 100 }),
3603
- * }
3604
- *
3605
- * // styled-components usage
3606
- * const div = styled.div`
3607
- * background: ${rgb(255, 205, 100)};
3608
- * background: ${rgb({ red: 255, green: 205, blue: 100 })};
3609
- * `
3610
- *
3611
- * // CSS in JS Output
3612
- *
3613
- * element {
3614
- * background: "#ffcd64";
3615
- * background: "#ffcd64";
3616
- * }
3617
- */
3618
- function rgb(value, green, blue) {
3619
- if (typeof value === 'number' && typeof green === 'number' && typeof blue === 'number') {
3620
- return reduceHexValue$1("#" + numberToHex(value) + numberToHex(green) + numberToHex(blue));
3621
- } else if (typeof value === 'object' && green === undefined && blue === undefined) {
3622
- return reduceHexValue$1("#" + numberToHex(value.red) + numberToHex(value.green) + numberToHex(value.blue));
3623
- }
3624
-
3625
- throw new PolishedError(6);
3626
- }
3627
-
3628
- /**
3629
- * Returns a string value for the color. The returned result is the smallest possible rgba or hex notation.
3630
- *
3631
- * Can also be used to fade a color by passing a hex value or named CSS color along with an alpha value.
3632
- *
3633
- * @example
3634
- * // Styles as object usage
3635
- * const styles = {
3636
- * background: rgba(255, 205, 100, 0.7),
3637
- * background: rgba({ red: 255, green: 205, blue: 100, alpha: 0.7 }),
3638
- * background: rgba(255, 205, 100, 1),
3639
- * background: rgba('#ffffff', 0.4),
3640
- * background: rgba('black', 0.7),
3641
- * }
3642
- *
3643
- * // styled-components usage
3644
- * const div = styled.div`
3645
- * background: ${rgba(255, 205, 100, 0.7)};
3646
- * background: ${rgba({ red: 255, green: 205, blue: 100, alpha: 0.7 })};
3647
- * background: ${rgba(255, 205, 100, 1)};
3648
- * background: ${rgba('#ffffff', 0.4)};
3649
- * background: ${rgba('black', 0.7)};
3650
- * `
3651
- *
3652
- * // CSS in JS Output
3653
- *
3654
- * element {
3655
- * background: "rgba(255,205,100,0.7)";
3656
- * background: "rgba(255,205,100,0.7)";
3657
- * background: "#ffcd64";
3658
- * background: "rgba(255,255,255,0.4)";
3659
- * background: "rgba(0,0,0,0.7)";
3660
- * }
3661
- */
3662
- function rgba$1(firstValue, secondValue, thirdValue, fourthValue) {
3663
- if (typeof firstValue === 'string' && typeof secondValue === 'number') {
3664
- var rgbValue = parseToRgb(firstValue);
3665
- return "rgba(" + rgbValue.red + "," + rgbValue.green + "," + rgbValue.blue + "," + secondValue + ")";
3666
- } else if (typeof firstValue === 'number' && typeof secondValue === 'number' && typeof thirdValue === 'number' && typeof fourthValue === 'number') {
3667
- return fourthValue >= 1 ? rgb(firstValue, secondValue, thirdValue) : "rgba(" + firstValue + "," + secondValue + "," + thirdValue + "," + fourthValue + ")";
3668
- } else if (typeof firstValue === 'object' && secondValue === undefined && thirdValue === undefined && fourthValue === undefined) {
3669
- return firstValue.alpha >= 1 ? rgb(firstValue.red, firstValue.green, firstValue.blue) : "rgba(" + firstValue.red + "," + firstValue.green + "," + firstValue.blue + "," + firstValue.alpha + ")";
3670
- }
3671
-
3672
- throw new PolishedError(7);
3673
- }
3674
-
3675
- // Type definitions taken from https://github.com/gcanti/flow-static-land/blob/master/src/Fun.js
3676
- // eslint-disable-next-line no-unused-vars
3677
- // eslint-disable-next-line no-unused-vars
3678
- // eslint-disable-next-line no-redeclare
3679
- function curried(f, length, acc) {
3680
- return function fn() {
3681
- // eslint-disable-next-line prefer-rest-params
3682
- var combined = acc.concat(Array.prototype.slice.call(arguments));
3683
- return combined.length >= length ? f.apply(this, combined) : curried(f, length, combined);
3684
- };
3685
- } // eslint-disable-next-line no-redeclare
3330
+ function mix(color1, color2) {
3331
+ var weight = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0.5;
3332
+ var rgb1 = RgbaValue.parse(color1).toRgb();
3333
+ var rgb2 = RgbaValue.parse(color2).toRgb();
3334
+ var percentage = UnitValue.parse(weight).toNumber();
3686
3335
 
3336
+ var _rgb1$map = rgb1.map(function (value, key) {
3337
+ return Math.round(rgb2[key] + (value - rgb2[key]) * percentage);
3338
+ }),
3339
+ _rgb1$map2 = _slicedToArray(_rgb1$map, 3),
3340
+ r = _rgb1$map2[0],
3341
+ g = _rgb1$map2[1],
3342
+ b = _rgb1$map2[2];
3687
3343
 
3688
- function curry(f) {
3689
- // eslint-disable-line no-redeclare
3690
- return curried(f, f.length, []);
3344
+ return new RgbaValue(r, g, b).toHex();
3691
3345
  }
3692
3346
 
3693
- /**
3694
- * Mixes the two provided colors together by calculating the average of each of the RGB components weighted to the first color by the provided weight.
3695
- *
3696
- * @example
3697
- * // Styles as object usage
3698
- * const styles = {
3699
- * background: mix(0.5, '#f00', '#00f')
3700
- * background: mix(0.25, '#f00', '#00f')
3701
- * background: mix('0.5', 'rgba(255, 0, 0, 0.5)', '#00f')
3702
- * }
3703
- *
3704
- * // styled-components usage
3705
- * const div = styled.div`
3706
- * background: ${mix(0.5, '#f00', '#00f')};
3707
- * background: ${mix(0.25, '#f00', '#00f')};
3708
- * background: ${mix('0.5', 'rgba(255, 0, 0, 0.5)', '#00f')};
3709
- * `
3710
- *
3711
- * // CSS in JS Output
3712
- *
3713
- * element {
3714
- * background: "#7f007f";
3715
- * background: "#3f00bf";
3716
- * background: "rgba(63, 0, 191, 0.75)";
3717
- * }
3718
- */
3719
-
3720
- function mix(weight, color, otherColor) {
3721
- if (color === 'transparent') return otherColor;
3722
- if (otherColor === 'transparent') return color;
3723
- if (weight === 0) return otherColor;
3724
- var parsedColor1 = parseToRgb(color);
3725
-
3726
- var color1 = _extends({}, parsedColor1, {
3727
- alpha: typeof parsedColor1.alpha === 'number' ? parsedColor1.alpha : 1
3728
- });
3729
-
3730
- var parsedColor2 = parseToRgb(otherColor);
3731
-
3732
- var color2 = _extends({}, parsedColor2, {
3733
- alpha: typeof parsedColor2.alpha === 'number' ? parsedColor2.alpha : 1
3734
- }); // The formula is copied from the original Sass implementation:
3735
- // http://sass-lang.com/documentation/Sass/Script/Functions.html#mix-instance_method
3736
-
3737
-
3738
- var alphaDelta = color1.alpha - color2.alpha;
3739
- var x = parseFloat(weight) * 2 - 1;
3740
- var y = x * alphaDelta === -1 ? x : x + alphaDelta;
3741
- var z = 1 + x * alphaDelta;
3742
- var weight1 = (y / z + 1) / 2.0;
3743
- var weight2 = 1 - weight1;
3744
- var mixedColor = {
3745
- red: Math.floor(color1.red * weight1 + color2.red * weight2),
3746
- green: Math.floor(color1.green * weight1 + color2.green * weight2),
3747
- blue: Math.floor(color1.blue * weight1 + color2.blue * weight2),
3748
- alpha: color1.alpha * parseFloat(weight) + color2.alpha * (1 - parseFloat(weight))
3749
- };
3750
- return rgba$1(mixedColor);
3751
- } // prettier-ignore
3752
-
3753
-
3754
- var curriedMix = /*#__PURE__*/curry
3755
- /* ::<number | string, string, string, string> */
3756
- (mix);
3757
- var mix$1 = curriedMix;
3758
-
3759
3347
  var transformRgbaRE = /rgba\(\s*([#0-9a-z]+)\s*,\s*([\d.Ee]+)\s*\)/g;
3760
3348
 
3761
3349
  function rgba(value) {
3762
- return value.replace(transformRgbaRE, function (_, color, alpha) {
3763
- return rgba$1(color, Number(alpha));
3350
+ return value.replace(transformRgbaRE, function (_, hex, alpha) {
3351
+ return rgba$1(hex, alpha);
3764
3352
  });
3765
3353
  }
3766
3354
 
@@ -4088,15 +3676,19 @@
4088
3676
  var active = platformDefinitions[key].scopes.every(function (scope) {
4089
3677
  if (scope.type === 'selector') {
4090
3678
  if (scope.name === 'hover') {
4091
- return interaction && interaction.hovered;
3679
+ return interaction && interaction.hover;
4092
3680
  }
4093
3681
 
4094
3682
  if (scope.name === 'focus') {
4095
- return interaction && interaction.focused;
3683
+ return interaction && interaction.focus;
3684
+ }
3685
+
3686
+ if (scope.name === 'focus-visible') {
3687
+ return interaction && interaction.focusVisible;
4096
3688
  }
4097
3689
 
4098
3690
  if (scope.name === 'active') {
4099
- return interaction && interaction.pressed;
3691
+ return interaction && interaction.active;
4100
3692
  }
4101
3693
  }
4102
3694
 
@@ -4199,20 +3791,16 @@
4199
3791
  return "".concat(identifier).concat(name ? "-".concat(name) : '');
4200
3792
  }
4201
3793
  function transformPlacement$1(placement) {
4202
- if (placement === 'left') {
4203
- return reactNative.I18nManager.isRTL ? 'end' : 'start';
4204
- }
3794
+ switch (placement) {
3795
+ case 'left':
3796
+ return reactNative.I18nManager.isRTL ? 'end' : 'start';
4205
3797
 
4206
- if (placement === 'right') {
4207
- return reactNative.I18nManager.isRTL ? 'start' : 'end';
4208
- }
3798
+ case 'right':
3799
+ return reactNative.I18nManager.isRTL ? 'start' : 'end';
4209
3800
 
4210
- return placement;
4211
- }
4212
- function convertToNumber(value) {
4213
- return parseFloat(value.replace(/([+-])?([\d.Ee]+)rem/g, function (_, unary, number) {
4214
- return "".concat(unary || '').concat(reactNative.PixelRatio.getFontScale() * 16 * number, "px");
4215
- }));
3801
+ default:
3802
+ return placement;
3803
+ }
4216
3804
  }
4217
3805
 
4218
3806
  // keys, but not the resolved values. The values are added later by the used
@@ -5088,8 +4676,7 @@
5088
4676
 
5089
4677
  return function (t) {
5090
4678
  var input = args.map(function (arg) {
5091
- var value = typeof arg === 'function' ? arg(t) : arg;
5092
- return value;
4679
+ return typeof arg === 'function' ? arg(t) : arg;
5093
4680
  });
5094
4681
  return handle(input, t);
5095
4682
  };
@@ -5118,28 +4705,31 @@
5118
4705
  return string.startsWith('url(') ? "url(\"".concat(strReplace(string.slice(5, -2)), "\")") : strReplace(string);
5119
4706
  }; // Color contrast
5120
4707
  // A list of pre-calculated numbers of pow(divide((divide($value, 255) + .055), 1.055), 2.4). (from 0 to 255)
4708
+ // prettier-ignore
5121
4709
 
5122
4710
  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
5123
4711
  // See https://www.w3.org/WAI/GL/wiki/Relative_luminance
5124
4712
  // See https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests
5125
4713
 
5126
4714
  var luminance = function luminance(color) {
5127
- var rgb = parseToRgb(color);
5128
- Object.entries(rgb).forEach(function (_ref3) {
5129
- var _ref4 = _slicedToArray(_ref3, 2),
5130
- name = _ref4[0],
5131
- value = _ref4[1];
4715
+ var rgb = RgbaValue.parse(color).toRgb();
5132
4716
 
5133
- rgb[name] = value / 255 < 0.03928 ? value / 255 / 12.92 : luminanceList[value];
5134
- });
5135
- return rgb.red * 0.2126 + rgb.green * 0.7152 + rgb.blue * 0.0722;
4717
+ var _rgb$map = rgb.map(function (value) {
4718
+ return value / 255 < 0.04045 ? value / 255 / 12.92 : luminanceList[value];
4719
+ }),
4720
+ _rgb$map2 = _slicedToArray(_rgb$map, 3),
4721
+ red = _rgb$map2[0],
4722
+ green = _rgb$map2[1],
4723
+ blue = _rgb$map2[2];
4724
+
4725
+ return red * 0.2126 + green * 0.7152 + blue * 0.0722;
5136
4726
  }; // Return opaque color
5137
4727
  // opaque(#fff, rgba(0, 0, 0, .5)) => #808080
5138
4728
 
5139
4729
 
5140
4730
  var opaque = function opaque(background, foreground) {
5141
- var opacity = parseToRgb(foreground).alpha || 1;
5142
- return mix$1(opacity, rgba$1(foreground, 1), background);
4731
+ var foregroundRgba = RgbaValue.parse(foreground);
4732
+ return mix(rgba$1(foregroundRgba, 1), background, opacity(foregroundRgba));
5143
4733
  };
5144
4734
 
5145
4735
  var contrastRatio = function contrastRatio(background, foreground) {
@@ -5148,9 +4738,9 @@
5148
4738
  return l1 > l2 ? (l1 + 0.05) / (l2 + 0.05) : (l2 + 0.05) / (l1 + 0.05);
5149
4739
  };
5150
4740
 
5151
- var colorContrast = fn(function (_ref5, t) {
5152
- var _ref6 = _slicedToArray(_ref5, 1),
5153
- background = _ref6[0];
4741
+ var colorContrast = fn(function (_ref3, t) {
4742
+ var _ref4 = _slicedToArray(_ref3, 1),
4743
+ background = _ref4[0];
5154
4744
 
5155
4745
  var foregrounds = [t['color-contrast-light'], t['color-contrast-dark'], t.white, t.black];
5156
4746
  var maxRatio = 0;
@@ -5179,34 +4769,35 @@
5179
4769
  return maxRatioColor;
5180
4770
  }); // Tint a color: mix a color with white
5181
4771
 
5182
- var tintColor = fn(function (_ref7, t) {
5183
- var _ref8 = _slicedToArray(_ref7, 2),
5184
- weight = _ref8[0],
5185
- color = _ref8[1];
4772
+ var tintColor = fn(function (_ref5, t) {
4773
+ var _ref6 = _slicedToArray(_ref5, 2),
4774
+ color = _ref6[0],
4775
+ weight = _ref6[1];
5186
4776
 
5187
- return mix$1(weight, t.white, color);
4777
+ return mix(t.white, color, weight);
5188
4778
  }); // Shade a color: mix a color with black
5189
4779
 
5190
- var shadeColor = fn(function (_ref9, t) {
5191
- var _ref10 = _slicedToArray(_ref9, 2),
5192
- weight = _ref10[0],
5193
- color = _ref10[1];
4780
+ var shadeColor = fn(function (_ref7, t) {
4781
+ var _ref8 = _slicedToArray(_ref7, 2),
4782
+ color = _ref8[0],
4783
+ weight = _ref8[1];
5194
4784
 
5195
- return mix$1(weight, t.black, color);
4785
+ return mix(t.black, color, weight);
5196
4786
  }); // Shade the color if the weight is positive, else tint it
5197
4787
 
5198
- var shiftColor = fn(function (_ref11, t) {
5199
- var _ref12 = _slicedToArray(_ref11, 2),
5200
- weight = _ref12[0],
5201
- color = _ref12[1];
4788
+ var shiftColor = fn(function (_ref9, t) {
4789
+ var _ref10 = _slicedToArray(_ref9, 2),
4790
+ color = _ref10[0],
4791
+ weight = _ref10[1];
5202
4792
 
5203
- var handle = weight > 0 ? shadeColor(weight, color) : tintColor(-weight, color);
4793
+ var percentage = UnitValue.parse(weight).toNumber();
4794
+ var handle = percentage > 0 ? shadeColor(color, percentage) : tintColor(color, -percentage);
5204
4795
  return handle(t);
5205
4796
  });
5206
- var add = fn(function (_ref13) {
5207
- var _ref14 = _slicedToArray(_ref13, 2),
5208
- value1 = _ref14[0],
5209
- value2 = _ref14[1];
4797
+ var add = fn(function (_ref11) {
4798
+ var _ref12 = _slicedToArray(_ref11, 2),
4799
+ value1 = _ref12[0],
4800
+ value2 = _ref12[1];
5210
4801
 
5211
4802
  if (value1 === null) {
5212
4803
  return value2;
@@ -5216,12 +4807,12 @@
5216
4807
  return value1;
5217
4808
  }
5218
4809
 
5219
- return calculateAdvanced(value1, '+', value2);
4810
+ return calculate(value1, '+', value2);
5220
4811
  });
5221
- var subtract = fn(function (_ref15) {
5222
- var _ref16 = _slicedToArray(_ref15, 2),
5223
- value1 = _ref16[0],
5224
- value2 = _ref16[1];
4812
+ var subtract = fn(function (_ref13) {
4813
+ var _ref14 = _slicedToArray(_ref13, 2),
4814
+ value1 = _ref14[0],
4815
+ value2 = _ref14[1];
5225
4816
 
5226
4817
  if (value1 === null && value2 === null) {
5227
4818
  return null;
@@ -5235,12 +4826,12 @@
5235
4826
  return value1;
5236
4827
  }
5237
4828
 
5238
- return calculateAdvanced(value1, '-', value2);
4829
+ return calculate(value1, '-', value2);
5239
4830
  });
5240
- var divide = fn(function (_ref17) {
5241
- var _ref18 = _slicedToArray(_ref17, 2),
5242
- dividend = _ref18[0],
5243
- divisor = _ref18[1];
4831
+ var divide = fn(function (_ref15) {
4832
+ var _ref16 = _slicedToArray(_ref15, 2),
4833
+ dividend = _ref16[0],
4834
+ divisor = _ref16[1];
5244
4835
 
5245
4836
  if (Math.abs(parseFloat(dividend)) === 0) {
5246
4837
  return 0;
@@ -5250,7 +4841,7 @@
5250
4841
  throw new Error('Cannot divide by 0');
5251
4842
  }
5252
4843
 
5253
- return calculateAdvanced(dividend, '/', divisor);
4844
+ return calculate(dividend, '/', divisor);
5254
4845
  });
5255
4846
  /* eslint-enable */
5256
4847
 
@@ -5264,7 +4855,7 @@
5264
4855
  };
5265
4856
  };
5266
4857
 
5267
- 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) {
4858
+ 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) {
5268
4859
  return {
5269
4860
  100: t['gray-100'],
5270
4861
  200: t['gray-200'],
@@ -5436,9 +5027,9 @@
5436
5027
  100: '100%'
5437
5028
  };
5438
5029
  }, shiftColor(function (t) {
5439
- return t['link-shade-percentage'];
5440
- }, function (t) {
5441
5030
  return t['link-color'];
5031
+ }, function (t) {
5032
+ return t['link-shade-percentage'];
5442
5033
  }), function () {
5443
5034
  return {
5444
5035
  xs: 0,
@@ -5502,9 +5093,9 @@
5502
5093
  };
5503
5094
  }, function () {
5504
5095
  return '/';
5505
- }, tintColor(0.5, function (t) {
5096
+ }, tintColor(function (t) {
5506
5097
  return t['component-active-bg'];
5507
- }), add(function (t) {
5098
+ }, 0.5), add(function (t) {
5508
5099
  return calculate(t['input-line-height'], '*', 1);
5509
5100
  }, function (t) {
5510
5101
  return calculate(t['input-padding-y'], '*', 2);
@@ -5554,9 +5145,9 @@
5554
5145
  return t['dropdown-border-radius'];
5555
5146
  }, function (t) {
5556
5147
  return t['dropdown-border-width'];
5557
- }), shadeColor(0.1, function (t) {
5148
+ }), shadeColor(function (t) {
5558
5149
  return t['dropdown-link-color'];
5559
- }), subtract(function (t) {
5150
+ }, 0.1), subtract(function (t) {
5560
5151
  return t['card-border-radius'];
5561
5152
  }, function (t) {
5562
5153
  return t['card-border-width'];
@@ -5564,9 +5155,9 @@
5564
5155
  return t['popover-border-radius'];
5565
5156
  }, function (t) {
5566
5157
  return t['popover-border-width'];
5567
- }), shadeColor(0.06, function (t) {
5158
+ }), shadeColor(function (t) {
5568
5159
  return t['popover-bg'];
5569
- }), subtract(function (t) {
5160
+ }, 0.06), subtract(function (t) {
5570
5161
  return t['modal-content-border-radius'];
5571
5162
  }, function (t) {
5572
5163
  return t['modal-content-border-width'];
@@ -6951,7 +6542,7 @@
6951
6542
  var resolveStyle = useStyle(style, styleName);
6952
6543
  var resolveTextStyle = useStyle([context && context.style, textStyle]);
6953
6544
  var hasTextStyle = context && context.style || textStyle;
6954
- return /*#__PURE__*/React__default["default"].createElement(reactNative.View, _extends$1({}, elementProps, {
6545
+ return /*#__PURE__*/React__default["default"].createElement(reactNative.View, _extends({}, elementProps, {
6955
6546
  ref: ref,
6956
6547
  style: resolveStyle({
6957
6548
  media: media
@@ -6985,13 +6576,13 @@
6985
6576
  }, each(THEME_COLORS, function (state, value) {
6986
6577
  var _ref;
6987
6578
 
6988
- return _ref = {}, _defineProperty(_ref, ".alert-".concat(state), css(_templateObject2$V || (_templateObject2$V = _taggedTemplateLiteral(["\n background-color: ", ";\n border-color: ", ";\n "])), shiftColor(function (t) {
6579
+ return _ref = {}, _defineProperty(_ref, ".alert-".concat(state), css(_templateObject2$V || (_templateObject2$V = _taggedTemplateLiteral(["\n background-color: ", ";\n border-color: ", ";\n "])), shiftColor(value, function (t) {
6989
6580
  return t['alert-bg-scale'];
6990
- }, value), shiftColor(function (t) {
6581
+ }), shiftColor(value, function (t) {
6991
6582
  return t['alert-border-scale'];
6992
- }, value))), _defineProperty(_ref, ".alert-".concat(state, " --text"), css(_templateObject3$t || (_templateObject3$t = _taggedTemplateLiteral(["\n color: ", ";\n "])), shiftColor(function (t) {
6583
+ }))), _defineProperty(_ref, ".alert-".concat(state, " --text"), css(_templateObject3$t || (_templateObject3$t = _taggedTemplateLiteral(["\n color: ", ";\n "])), shiftColor(value, function (t) {
6993
6584
  return t['alert-color-scale'];
6994
- }, value))), _ref;
6585
+ }))), _ref;
6995
6586
  })), {}, {
6996
6587
  '.alert-dismissible': {// TODO
6997
6588
  }
@@ -7008,7 +6599,7 @@
7008
6599
 
7009
6600
  var classes = getStyles(styles$1f, ['.alert', ".alert-".concat(color), dismissible && '.alert-dismissible']);
7010
6601
  var textClasses = getStyles(styles$1f, [".alert-".concat(color, " --text")]);
7011
- return /*#__PURE__*/React__default["default"].createElement(View, _extends$1({}, elementProps, {
6602
+ return /*#__PURE__*/React__default["default"].createElement(View, _extends({}, elementProps, {
7012
6603
  ref: ref,
7013
6604
  accessibilityRole: "alert",
7014
6605
  style: [classes, style],
@@ -7068,7 +6659,7 @@
7068
6659
  var resolveStyle = useStyle([// eslint-disable-next-line react/destructuring-assignment
7069
6660
  (!context || !context.hasTextAncestor) && styles$1e.text, // eslint-disable-next-line react/destructuring-assignment
7070
6661
  context && context.style, classes, style], getStyleName(styleName, color));
7071
- var element = /*#__PURE__*/React__default["default"].createElement(reactNative.Text, _extends$1({}, elementProps, {
6662
+ var element = /*#__PURE__*/React__default["default"].createElement(reactNative.Text, _extends({}, elementProps, {
7072
6663
  ref: ref,
7073
6664
  style: resolveStyle({
7074
6665
  media: media
@@ -7115,7 +6706,7 @@
7115
6706
  var classes = getStyles(styles$1d, ['.badge']);
7116
6707
  var textClasses = getStyles(styles$1d, ['.badge --text']); // composite component
7117
6708
 
7118
- return /*#__PURE__*/React__default["default"].createElement(View, _extends$1({}, elementProps, {
6709
+ return /*#__PURE__*/React__default["default"].createElement(View, _extends({}, elementProps, {
7119
6710
  ref: ref,
7120
6711
  style: [classes, style]
7121
6712
  }), /*#__PURE__*/React__default["default"].createElement(Text, {
@@ -7183,7 +6774,7 @@
7183
6774
  return;
7184
6775
  }
7185
6776
  var provided = typeof message === 'function' ? message() : message;
7186
- var value = provided ? prefix + ": " + provided : prefix;
6777
+ var value = provided ? "".concat(prefix, ": ").concat(provided) : prefix;
7187
6778
  throw new Error(value);
7188
6779
  }
7189
6780
 
@@ -7227,7 +6818,7 @@
7227
6818
  var textClasses = getStyles(styles$1c, [active && '.breadcrumb-item.active --text']);
7228
6819
  var dividerClasses = getStyles(styles$1c, ['.breadcrumb-item + .breadcrumb-item::before']);
7229
6820
  var role = reactNative.Platform.OS === 'web' ? 'listitem' : null;
7230
- return /*#__PURE__*/React__default["default"].createElement(View, _extends$1({}, elementProps, {
6821
+ return /*#__PURE__*/React__default["default"].createElement(View, _extends({}, elementProps, {
7231
6822
  ref: ref,
7232
6823
  accessibilityRole: role
7233
6824
  }, optional(active, {
@@ -7267,7 +6858,7 @@
7267
6858
  var classes = getStyles(styles$1b, ['.breadcrumb']);
7268
6859
  var textClasses = getStyles(styles$1b, ['.breadcrumb --text']);
7269
6860
  var role = reactNative.Platform.OS === 'web' ? 'list' : null;
7270
- return /*#__PURE__*/React__default["default"].createElement(View, _extends$1({}, elementProps, {
6861
+ return /*#__PURE__*/React__default["default"].createElement(View, _extends({}, elementProps, {
7271
6862
  ref: ref,
7272
6863
  accessibilityRole: role,
7273
6864
  style: [classes, style],
@@ -7303,7 +6894,7 @@
7303
6894
  var classes = getStyles(styles$1a, ['.btn-group']); // Accessiblity role tabpanel is only supported on web.
7304
6895
 
7305
6896
  var role = reactNative.Platform.OS === 'web' ? 'group' : null;
7306
- return /*#__PURE__*/React__default["default"].createElement(View, _extends$1({}, elementProps, {
6897
+ return /*#__PURE__*/React__default["default"].createElement(View, _extends({}, elementProps, {
7307
6898
  ref: ref,
7308
6899
  accessibilityRole: role,
7309
6900
  style: [classes, style]
@@ -7333,7 +6924,7 @@
7333
6924
  elementProps = _objectWithoutProperties(props, _excluded$1r);
7334
6925
 
7335
6926
  var classes = getStyles(styles$19, ['.btn-toolbar']);
7336
- return /*#__PURE__*/React__default["default"].createElement(View, _extends$1({}, elementProps, {
6927
+ return /*#__PURE__*/React__default["default"].createElement(View, _extends({}, elementProps, {
7337
6928
  ref: ref,
7338
6929
  accessibilityRole: "toolbar",
7339
6930
  style: [classes, style]
@@ -7359,7 +6950,7 @@
7359
6950
  }
7360
6951
 
7361
6952
  var _excluded$1p = ["toggle", "dismiss"],
7362
- _excluded2$2 = ["ref"];
6953
+ _excluded2$3 = ["ref"];
7363
6954
 
7364
6955
  var getActionHook = function getActionHook(toggle, dismiss) {
7365
6956
  if (toggle) {
@@ -7390,11 +6981,94 @@
7390
6981
 
7391
6982
  var _useActionHook = useActionHook(restProps),
7392
6983
  actionRef = _useActionHook.ref,
7393
- actionProps = _objectWithoutProperties(_useActionHook, _excluded2$2);
6984
+ actionProps = _objectWithoutProperties(_useActionHook, _excluded2$3);
7394
6985
 
7395
6986
  return [actionProps, concatRefs(actionRef, ref)];
7396
6987
  }
7397
6988
 
6989
+ const useFocusRing = () => {
6990
+ return {
6991
+ focusProps: {},
6992
+ isFocusVisible: false
6993
+ };
6994
+ };
6995
+
6996
+ function useInteractionState(_ref) {
6997
+ var _ref$onFocus = _ref.onFocus,
6998
+ _onFocus = _ref$onFocus === void 0 ? function () {} : _ref$onFocus,
6999
+ _ref$onBlur = _ref.onBlur,
7000
+ _onBlur = _ref$onBlur === void 0 ? function () {} : _ref$onBlur,
7001
+ _ref$onHoverIn = _ref.onHoverIn,
7002
+ _onHoverIn = _ref$onHoverIn === void 0 ? function () {} : _ref$onHoverIn,
7003
+ _ref$onHoverOut = _ref.onHoverOut,
7004
+ _onHoverOut = _ref$onHoverOut === void 0 ? function () {} : _ref$onHoverOut,
7005
+ _ref$onPressIn = _ref.onPressIn,
7006
+ _onPressIn = _ref$onPressIn === void 0 ? function () {} : _ref$onPressIn,
7007
+ _ref$onPressOut = _ref.onPressOut,
7008
+ _onPressOut = _ref$onPressOut === void 0 ? function () {} : _ref$onPressOut;
7009
+ _ref.autoFocus;
7010
+
7011
+ var _useState = React.useState(false),
7012
+ _useState2 = _slicedToArray(_useState, 2),
7013
+ active = _useState2[0],
7014
+ setActive = _useState2[1];
7015
+
7016
+ var _useState3 = React.useState(false),
7017
+ _useState4 = _slicedToArray(_useState3, 2),
7018
+ hover = _useState4[0],
7019
+ setHovered = _useState4[1];
7020
+
7021
+ var _useFocusRing = useFocusRing(),
7022
+ focus = _useFocusRing.isFocused,
7023
+ focusVisible = _useFocusRing.isFocusVisible,
7024
+ focusProps = _useFocusRing.focusProps;
7025
+
7026
+ var interactionProps = React.useMemo(function () {
7027
+ return {
7028
+ onHoverIn: function onHoverIn(event) {
7029
+ setHovered(true);
7030
+
7031
+ _onHoverIn(event);
7032
+ },
7033
+ onHoverOut: function onHoverOut(event) {
7034
+ setHovered(false);
7035
+
7036
+ _onHoverOut(event);
7037
+ },
7038
+ onFocus: function onFocus(event) {
7039
+ focusProps.onFocus(event);
7040
+
7041
+ _onFocus(event);
7042
+ },
7043
+ onBlur: function onBlur(event) {
7044
+ focusProps.onBlur(event);
7045
+
7046
+ _onBlur(event);
7047
+ },
7048
+ onPressIn: function onPressIn(event) {
7049
+ setActive(true);
7050
+
7051
+ _onPressIn(event);
7052
+ },
7053
+ onPressOut: function onPressOut(event) {
7054
+ setActive(false);
7055
+
7056
+ _onPressOut(event);
7057
+ }
7058
+ };
7059
+ }, [_onFocus, _onBlur, _onHoverIn, _onHoverOut, _onPressIn, _onPressOut]);
7060
+ var interaction = {
7061
+ hover: hover,
7062
+ focus: focus,
7063
+ focusVisible: focusVisible,
7064
+ active: active
7065
+ };
7066
+ return {
7067
+ interaction: interaction,
7068
+ interactionProps: interactionProps
7069
+ };
7070
+ }
7071
+
7398
7072
  var _excluded$1o = ["color", "direction", "style"];
7399
7073
 
7400
7074
  var _templateObject$16, _templateObject2$Q, _templateObject3$q, _templateObject4$n, _templateObject5$k;
@@ -7465,7 +7139,7 @@
7465
7139
 
7466
7140
  var context = React.useContext(TextStyleContext);
7467
7141
  var classes = getStyles(styles$18, ['caret', "caret-".concat(direction)]);
7468
- return /*#__PURE__*/React__default["default"].createElement(View, _extends$1({}, elementProps, {
7142
+ return /*#__PURE__*/React__default["default"].createElement(View, _extends({}, elementProps, {
7469
7143
  ref: ref,
7470
7144
  style: [classes, getBorderColorStyle(color || getColor(context), direction), style]
7471
7145
  }));
@@ -7562,34 +7236,35 @@
7562
7236
  var resolveActiveStyle = useStyle(active && activeStyle);
7563
7237
  var resolveTextStyle = useStyle([context && context.style, textStyle]);
7564
7238
  var resolveActiveTextStyle = useStyle(active && activeTextStyle);
7239
+
7240
+ var _useInteractionState = useInteractionState(elementProps),
7241
+ interaction = _useInteractionState.interaction,
7242
+ interactionProps = _useInteractionState.interactionProps;
7243
+
7565
7244
  var hasTextStyle = context && context.style || textStyle;
7566
7245
  var wrappedChildren = applyCaret(children, caret);
7567
- return /*#__PURE__*/React__default["default"].createElement(reactNative.Pressable, _extends$1({}, elementProps, {
7246
+ return /*#__PURE__*/React__default["default"].createElement(reactNative.Pressable, _extends({}, elementProps, interactionProps, {
7568
7247
  ref: actionRef,
7569
7248
  accessibilityRole: getRole$2(actionProps),
7570
- style: function style(interaction) {
7571
- return [resolveStyle({
7249
+ style: [resolveStyle({
7250
+ media: media,
7251
+ interaction: interaction
7252
+ }), resolveActiveStyle({
7253
+ media: media,
7254
+ interaction: interaction
7255
+ })]
7256
+ }), hasTextStyle ? /*#__PURE__*/React__default["default"].createElement(TextStyleContext.Provider, {
7257
+ value: {
7258
+ style: [resolveTextStyle({
7572
7259
  media: media,
7573
7260
  interaction: interaction
7574
- }), resolveActiveStyle({
7261
+ }), resolveActiveTextStyle({
7575
7262
  media: media,
7576
7263
  interaction: interaction
7577
- })];
7578
- }
7579
- }), hasTextStyle ? function (interaction) {
7580
- return /*#__PURE__*/React__default["default"].createElement(TextStyleContext.Provider, {
7581
- value: {
7582
- style: [resolveTextStyle({
7583
- media: media,
7584
- interaction: interaction
7585
- }), resolveActiveTextStyle({
7586
- media: media,
7587
- interaction: interaction
7588
- })],
7589
- hasAncestor: context && context.hasTextAncestor
7590
- }
7591
- }, wrappedChildren);
7592
- } : wrappedChildren);
7264
+ })],
7265
+ hasAncestor: context && context.hasTextAncestor
7266
+ }
7267
+ }, wrappedChildren) : wrappedChildren);
7593
7268
  });
7594
7269
  Pressable.displayName = 'Pressable';
7595
7270
  Pressable.propTypes = propTypes$1q;
@@ -7637,37 +7312,37 @@
7637
7312
  activeTextStyle: PropTypes.any
7638
7313
  };
7639
7314
  var styles$17 = StyleSheet.create(_objectSpread2(_objectSpread2({
7640
- '.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 "]))),
7315
+ '.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 "]))),
7641
7316
  '.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 "]))),
7642
7317
  '.btn.disabled': css(_templateObject3$p || (_templateObject3$p = _taggedTemplateLiteral(["\n // pointer-events: none;\n opacity: $btn-disabled-opacity;\n // @include box-shadow(none);\n "])))
7643
7318
  }, each(THEME_COLORS, function (color, value) {
7644
7319
  var _ref;
7645
7320
 
7646
- 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) {
7321
+ 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) {
7647
7322
  return t['btn-hover-bg-shade-amount'];
7648
- }, value), shadeColor(function (t) {
7323
+ }), shadeColor(value, function (t) {
7649
7324
  return t['btn-hover-border-shade-amount'];
7650
- }, value), shadeColor(function (t) {
7325
+ }), shadeColor(value, function (t) {
7651
7326
  return t['btn-hover-bg-shade-amount'];
7652
- }, value), shadeColor(function (t) {
7327
+ }), shadeColor(value, function (t) {
7653
7328
  return t['btn-hover-border-shade-amount'];
7654
- }, value), shadeColor(function (t) {
7329
+ }), shadeColor(value, function (t) {
7655
7330
  return t['btn-active-bg-shade-amount'];
7656
- }, value), shadeColor(function (t) {
7331
+ }), shadeColor(value, function (t) {
7657
7332
  return t['btn-active-border-shade-amount'];
7658
- }, 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) {
7333
+ }))), _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) {
7659
7334
  return t['btn-active-bg-shade-amount'];
7660
- }, value), shadeColor(function (t) {
7335
+ }), shadeColor(value, function (t) {
7661
7336
  return t['btn-active-border-shade-amount'];
7662
- }, 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;
7337
+ }))), _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;
7663
7338
  })), {}, {
7664
- '.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 "]))),
7339
+ '.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 "]))),
7665
7340
  '.btn-link.disabled --text': css(_templateObject15$3 || (_templateObject15$3 = _taggedTemplateLiteral(["\n color: $btn-link-disabled-color;\n "]))),
7666
7341
  '.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 "]))),
7667
7342
  '.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 "]))),
7668
7343
  '.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 "]))),
7669
7344
  '.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 "]))),
7670
- '.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 "]))),
7345
+ '.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 "]))),
7671
7346
  '.btn-group > .btn.active': css(_templateObject21 || (_templateObject21 = _taggedTemplateLiteral(["\n z-index: 2; // 1;\n "]))),
7672
7347
  '.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 "]))),
7673
7348
  '.btn-group > .btn:not(:last-child)': css(_templateObject23 || (_templateObject23 = _taggedTemplateLiteral(["\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n "])))
@@ -7717,7 +7392,7 @@
7717
7392
  var activeClasses = getStyles(styles$17, ["".concat(getVariant(color, outline), ".active")]);
7718
7393
  var textClasses = getStyles(styles$17, ['.btn --text', "".concat(getVariant(color, outline), " --text"), color === 'link' && '.btn-link --text', disabled && "".concat(getVariant(color, outline), ".disabled --text"), disabled && color === 'link' && '.btn-link.disabled --text', hasSize(size, group, 'lg') && '.btn-lg --text', hasSize(size, group, 'sm') && '.btn-sm --text']);
7719
7394
  var activeTextClasses = getStyles(styles$17, ["".concat(getVariant(color, outline), ".active --text")]);
7720
- return /*#__PURE__*/React__default["default"].createElement(Pressable, _extends$1({}, elementProps, {
7395
+ return /*#__PURE__*/React__default["default"].createElement(Pressable, _extends({}, elementProps, {
7721
7396
  ref: ref,
7722
7397
  active: active,
7723
7398
  disabled: disabled,
@@ -7755,7 +7430,7 @@
7755
7430
  var textClasses = getStyles(styles$16, ['blockquote --text']); // Accessiblity role blockquote is only supported on web.
7756
7431
 
7757
7432
  var role = reactNative.Platform.OS === 'web' ? 'blockquote' : null;
7758
- return /*#__PURE__*/React__default["default"].createElement(View, _extends$1({}, elementProps, {
7433
+ return /*#__PURE__*/React__default["default"].createElement(View, _extends({}, elementProps, {
7759
7434
  ref: ref,
7760
7435
  accessibilityRole: role,
7761
7436
  style: [classes, style],
@@ -7778,7 +7453,7 @@
7778
7453
  styleName: PropTypes.any
7779
7454
  };
7780
7455
  var styles$15 = StyleSheet.create({
7781
- body: css(_templateObject$13 || (_templateObject$13 = _taggedTemplateLiteral(["\n background-color: $body-bg;\n flex-grow: 1; // added for bootstrap-rn\n "]))),
7456
+ 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 "]))),
7782
7457
  'body --text': css(_templateObject2$N || (_templateObject2$N = _taggedTemplateLiteral(["\n color: $body-color;\n text-align: $body-text-align;\n "])))
7783
7458
  });
7784
7459
  var Body = /*#__PURE__*/React__default["default"].forwardRef(function (props, ref) {
@@ -7793,7 +7468,7 @@
7793
7468
  var media = useMedia();
7794
7469
  var resolveStyle = useStyle([classes, style], styleName);
7795
7470
  var resolveTextStyle = useStyle([textClasses, textStyle]);
7796
- return /*#__PURE__*/React__default["default"].createElement(reactNative.SafeAreaView, _extends$1({}, elementProps, {
7471
+ return /*#__PURE__*/React__default["default"].createElement(reactNative.SafeAreaView, _extends({}, elementProps, {
7797
7472
  ref: ref,
7798
7473
  style: resolveStyle({
7799
7474
  media: media
@@ -7831,7 +7506,7 @@
7831
7506
 
7832
7507
  var classes = getStyles(styles$14, ['.card-body']);
7833
7508
  var textClasses = getStyles(styles$14, [".card-body --text"]);
7834
- return /*#__PURE__*/React__default["default"].createElement(View, _extends$1({}, elementProps, {
7509
+ return /*#__PURE__*/React__default["default"].createElement(View, _extends({}, elementProps, {
7835
7510
  ref: ref,
7836
7511
  style: [classes, style],
7837
7512
  textStyle: [textClasses, textStyle]
@@ -7862,7 +7537,7 @@
7862
7537
 
7863
7538
  var classes = getStyles(styles$13, ['.card-header']);
7864
7539
  var textClasses = getStyles(styles$13, ['.card-header --text']);
7865
- return /*#__PURE__*/React__default["default"].createElement(View, _extends$1({}, elementProps, {
7540
+ return /*#__PURE__*/React__default["default"].createElement(View, _extends({}, elementProps, {
7866
7541
  ref: ref,
7867
7542
  style: [classes, style],
7868
7543
  textStyle: [textClasses, textStyle]
@@ -7893,7 +7568,7 @@
7893
7568
 
7894
7569
  var classes = getStyles(styles$12, ['.card-footer']);
7895
7570
  var textClasses = getStyles(styles$12, ['.card-footer --text']);
7896
- return /*#__PURE__*/React__default["default"].createElement(View, _extends$1({}, elementProps, {
7571
+ return /*#__PURE__*/React__default["default"].createElement(View, _extends({}, elementProps, {
7897
7572
  ref: ref,
7898
7573
  style: [classes, style],
7899
7574
  textStyle: [textClasses, textStyle]
@@ -7919,7 +7594,7 @@
7919
7594
  elementProps = _objectWithoutProperties(props, _excluded$1f);
7920
7595
 
7921
7596
  var classes = getStyles(styles$11, ['.card']);
7922
- return /*#__PURE__*/React__default["default"].createElement(View, _extends$1({}, elementProps, {
7597
+ return /*#__PURE__*/React__default["default"].createElement(View, _extends({}, elementProps, {
7923
7598
  ref: ref,
7924
7599
  style: [classes, style]
7925
7600
  }), children);
@@ -8232,17 +7907,11 @@
8232
7907
  return useBackgroundForPlatform(style, styleName);
8233
7908
  }
8234
7909
 
8235
- var _excluded$1e = ["children", "onFocus", "onBlur", "onHoverIn", "onHoverOut", "onPressIn", "onPressOut", "disabled", "style", "textStyle", "styleName"];
7910
+ var _excluded$1e = ["children", "disabled", "style", "textStyle", "styleName"];
8236
7911
 
8237
7912
  var _templateObject$_, _templateObject2$J, _templateObject3$o, _templateObject4$l, _templateObject5$i;
8238
7913
  var propTypes$1i = {
8239
7914
  children: PropTypes.node,
8240
- onFocus: PropTypes.func,
8241
- onBlur: PropTypes.func,
8242
- onHoverIn: PropTypes.func,
8243
- onHoverOut: PropTypes.func,
8244
- onPressIn: PropTypes.func,
8245
- onPressOut: PropTypes.func,
8246
7915
  disabled: PropTypes.bool,
8247
7916
  // eslint-disable-next-line react/forbid-prop-types
8248
7917
  style: PropTypes.any,
@@ -8264,19 +7933,7 @@
8264
7933
  });
8265
7934
  var CloseButton = /*#__PURE__*/React__default["default"].forwardRef(function (props, ref) {
8266
7935
  props.children;
8267
- var _props$onFocus = props.onFocus,
8268
- _onFocus = _props$onFocus === void 0 ? function () {} : _props$onFocus,
8269
- _props$onBlur = props.onBlur,
8270
- _onBlur = _props$onBlur === void 0 ? function () {} : _props$onBlur,
8271
- _props$onHoverIn = props.onHoverIn,
8272
- _onHoverIn = _props$onHoverIn === void 0 ? function () {} : _props$onHoverIn,
8273
- _props$onHoverOut = props.onHoverOut,
8274
- _onHoverOut = _props$onHoverOut === void 0 ? function () {} : _props$onHoverOut,
8275
- _props$onPressIn = props.onPressIn,
8276
- _onPressIn = _props$onPressIn === void 0 ? function () {} : _props$onPressIn,
8277
- _props$onPressOut = props.onPressOut,
8278
- _onPressOut = _props$onPressOut === void 0 ? function () {} : _props$onPressOut,
8279
- _props$disabled = props.disabled,
7936
+ var _props$disabled = props.disabled,
8280
7937
  disabled = _props$disabled === void 0 ? false : _props$disabled,
8281
7938
  style = props.style,
8282
7939
  textStyle = props.textStyle,
@@ -8284,22 +7941,6 @@
8284
7941
  elementProps = _objectWithoutProperties(props, _excluded$1e);
8285
7942
 
8286
7943
  var media = useMedia();
8287
-
8288
- var _useState = React.useState(false),
8289
- _useState2 = _slicedToArray(_useState, 2),
8290
- focused = _useState2[0],
8291
- setFocused = _useState2[1];
8292
-
8293
- var _useState3 = React.useState(false),
8294
- _useState4 = _slicedToArray(_useState3, 2),
8295
- hovered = _useState4[0],
8296
- setHovered = _useState4[1];
8297
-
8298
- var _useState5 = React.useState(false),
8299
- _useState6 = _slicedToArray(_useState5, 2),
8300
- pressed = _useState6[0],
8301
- setPressed = _useState6[1];
8302
-
8303
7944
  var modal = React.useContext(ModalContext);
8304
7945
  var offcanvas = React.useContext(OffcanvasContext);
8305
7946
  var classes = getStyles(styles$_, ['.btn-close', disabled && '.btn-close.disabled', // Modal styles
@@ -8307,47 +7948,18 @@
8307
7948
  offcanvas && '.offcanvas-header .btn-close']);
8308
7949
  var textClasses = getStyles(styles$_, ['.btn-close --text']);
8309
7950
  var resolveStyle = useStyle([classes, style], styleName);
7951
+
7952
+ var _useInteractionState = useInteractionState(elementProps),
7953
+ interaction = _useInteractionState.interaction,
7954
+ interactionProps = _useInteractionState.interactionProps;
7955
+
8310
7956
  var background = useBackground(resolveStyle({
8311
7957
  media: media,
8312
- interaction: {
8313
- focused: focused,
8314
- hovered: hovered,
8315
- pressed: pressed
8316
- }
7958
+ interaction: interaction
8317
7959
  }));
8318
- return /*#__PURE__*/React__default["default"].createElement(Pressable, _extends$1({}, elementProps, {
7960
+ return /*#__PURE__*/React__default["default"].createElement(Pressable, _extends({}, elementProps, interactionProps, {
8319
7961
  component: Pressable,
8320
7962
  ref: ref,
8321
- onFocus: function onFocus() {
8322
- setFocused(true);
8323
-
8324
- _onFocus();
8325
- },
8326
- onBlur: function onBlur() {
8327
- setFocused(false);
8328
-
8329
- _onBlur();
8330
- },
8331
- onHoverIn: function onHoverIn() {
8332
- setHovered(true);
8333
-
8334
- _onHoverIn();
8335
- },
8336
- onHoverOut: function onHoverOut() {
8337
- setHovered(false);
8338
-
8339
- _onHoverOut();
8340
- },
8341
- onPressIn: function onPressIn() {
8342
- setPressed(true);
8343
-
8344
- _onPressIn();
8345
- },
8346
- onPressOut: function onPressOut() {
8347
- setPressed(false);
8348
-
8349
- _onPressOut();
8350
- },
8351
7963
  disabled: disabled,
8352
7964
  style: background.style,
8353
7965
  textStyle: [textClasses, textStyle]
@@ -8472,7 +8084,7 @@
8472
8084
  return null;
8473
8085
  }
8474
8086
 
8475
- return /*#__PURE__*/React__default["default"].createElement(View, _extends$1({}, elementProps, {
8087
+ return /*#__PURE__*/React__default["default"].createElement(View, _extends({}, elementProps, {
8476
8088
  ref: ref,
8477
8089
  nativeID: identifier
8478
8090
  }), children);
@@ -8564,7 +8176,7 @@
8564
8176
  var classes = getStyles(styles$Z, ['.container', // Hint: Bootstrap's .container class is identical with .container-sm.
8565
8177
  fluid !== true && ".container-".concat(fluid), // Navbar styles
8566
8178
  navbar && '.navbar .container', navbar && navbar.expand && ".navbar-expand".concat(navbar.expand === true ? '' : "-".concat(navbar.expand), " .container")]);
8567
- return /*#__PURE__*/React__default["default"].createElement(View, _extends$1({}, elementProps, {
8179
+ return /*#__PURE__*/React__default["default"].createElement(View, _extends({}, elementProps, {
8568
8180
  ref: ref,
8569
8181
  style: [classes, style]
8570
8182
  }));
@@ -8680,7 +8292,7 @@
8680
8292
  FormCheckInputNative.displayName = 'FormCheckInputNative';
8681
8293
  FormCheckInputNative.propTypes = propTypes$1d;
8682
8294
 
8683
- var _excluded$19 = ["type", "value", "onFocus", "onBlur", "disabled", "valid", "invalid", "useNativeComponent", "style"];
8295
+ var _excluded$19 = ["type", "value", "onFocus", "onBlur", "disabled", "valid", "invalid", "useNativeComponent", "autoFocus", "style"];
8684
8296
 
8685
8297
  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;
8686
8298
  /* eslint-disable react/no-unused-prop-types */
@@ -8751,9 +8363,9 @@
8751
8363
  var type = modifierProps.type,
8752
8364
  value = modifierProps.value,
8753
8365
  _modifierProps$onFocu = modifierProps.onFocus,
8754
- onFocus = _modifierProps$onFocu === void 0 ? function () {} : _modifierProps$onFocu,
8366
+ _onFocus = _modifierProps$onFocu === void 0 ? function () {} : _modifierProps$onFocu,
8755
8367
  _modifierProps$onBlur = modifierProps.onBlur,
8756
- onBlur = _modifierProps$onBlur === void 0 ? function () {} : _modifierProps$onBlur,
8368
+ _onBlur = _modifierProps$onBlur === void 0 ? function () {} : _modifierProps$onBlur,
8757
8369
  _modifierProps$disabl = modifierProps.disabled,
8758
8370
  disabled = _modifierProps$disabl === void 0 ? context ? context.disabled : false : _modifierProps$disabl,
8759
8371
  _modifierProps$valid = modifierProps.valid,
@@ -8762,12 +8374,14 @@
8762
8374
  invalid = _modifierProps$invali === void 0 ? context ? context.invalid : false : _modifierProps$invali,
8763
8375
  _modifierProps$useNat = modifierProps.useNativeComponent,
8764
8376
  useNativeComponent = _modifierProps$useNat === void 0 ? false : _modifierProps$useNat,
8377
+ _modifierProps$autoFo = modifierProps.autoFocus,
8378
+ autoFocus = _modifierProps$autoFo === void 0 ? false : _modifierProps$autoFo,
8765
8379
  style = modifierProps.style,
8766
8380
  elementProps = _objectWithoutProperties(modifierProps, _excluded$19);
8767
8381
 
8768
8382
  var media = useMedia();
8769
8383
 
8770
- var _useState = React.useState(false),
8384
+ var _useState = React.useState(autoFocus),
8771
8385
  _useState2 = _slicedToArray(_useState, 2),
8772
8386
  focused = _useState2[0],
8773
8387
  setFocused = _useState2[1];
@@ -8776,29 +8390,28 @@
8776
8390
  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
8777
8391
  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']);
8778
8392
  var resolveStyle = useStyle([classes, style]);
8779
-
8780
- var handleFocus = function handleFocus() {
8781
- setFocused(true);
8782
- onFocus();
8783
- };
8784
-
8785
- var handleBlur = function handleBlur() {
8786
- setFocused(false);
8787
- onBlur();
8788
- };
8789
-
8790
8393
  var BaseFormCheckInput = reactNative.Platform.OS === 'web' && !useNativeComponent ? FormCheckInputWeb : FormCheckInputNative;
8791
- return /*#__PURE__*/React__default["default"].createElement(BaseFormCheckInput, _extends$1({}, elementProps, {
8394
+ return /*#__PURE__*/React__default["default"].createElement(BaseFormCheckInput, _extends({}, elementProps, {
8792
8395
  ref: modifierRef,
8793
8396
  type: type,
8794
8397
  value: value,
8795
- onFocus: handleFocus,
8796
- onBlur: handleBlur,
8398
+ onFocus: function onFocus() {
8399
+ setFocused(true);
8400
+
8401
+ _onFocus();
8402
+ },
8403
+ onBlur: function onBlur() {
8404
+ setFocused(false);
8405
+
8406
+ _onBlur();
8407
+ },
8797
8408
  disabled: disabled,
8409
+ autoFocus: autoFocus,
8798
8410
  style: resolveStyle({
8799
8411
  media: media,
8800
8412
  interaction: {
8801
- focused: focused
8413
+ focus: focused,
8414
+ focusVisible: focused
8802
8415
  }
8803
8416
  })
8804
8417
  }));
@@ -8807,9 +8420,9 @@
8807
8420
  FormCheckInput.propTypes = propTypes$1c;
8808
8421
 
8809
8422
  var Checkbox = /*#__PURE__*/React__default["default"].forwardRef(function (props, ref) {
8810
- var elementProps = _extends$1({}, props);
8423
+ var elementProps = _extends({}, props);
8811
8424
 
8812
- return /*#__PURE__*/React__default["default"].createElement(FormCheckInput, _extends$1({}, elementProps, {
8425
+ return /*#__PURE__*/React__default["default"].createElement(FormCheckInput, _extends({}, elementProps, {
8813
8426
  ref: ref,
8814
8427
  type: "checkbox"
8815
8428
  }));
@@ -8854,7 +8467,7 @@
8854
8467
  elementProps = _objectWithoutProperties(props, _excluded$18);
8855
8468
 
8856
8469
  var classes = getStyles(styles$W, ['*', ".col-".concat(size.toString()), sizeSm && ".col-sm-".concat(sizeSm.toString()), sizeMd && ".col-md-".concat(sizeMd.toString()), sizeLg && ".col-lg-".concat(sizeLg.toString()), sizeXl && ".col-xl-".concat(sizeXl.toString())]);
8857
- return /*#__PURE__*/React__default["default"].createElement(View, _extends$1({}, elementProps, {
8470
+ return /*#__PURE__*/React__default["default"].createElement(View, _extends({}, elementProps, {
8858
8471
  ref: ref,
8859
8472
  style: [classes, style]
8860
8473
  }), children);
@@ -8881,7 +8494,7 @@
8881
8494
  var classes = getStyles(styles$V, ['code']); // Accessiblity role code is only supported on web.
8882
8495
 
8883
8496
  var role = reactNative.Platform.OS === 'web' ? 'code' : null;
8884
- return /*#__PURE__*/React__default["default"].createElement(Text, _extends$1({}, elementProps, {
8497
+ return /*#__PURE__*/React__default["default"].createElement(Text, _extends({}, elementProps, {
8885
8498
  ref: ref,
8886
8499
  accessibilityRole: role,
8887
8500
  style: [classes, style]
@@ -9205,7 +8818,7 @@
9205
8818
  setVisible(false);
9206
8819
  },
9207
8820
  autoClose: autoClose
9208
- }), /*#__PURE__*/React__default["default"].createElement(View, _extends$1({}, elementProps, {
8821
+ }), /*#__PURE__*/React__default["default"].createElement(View, _extends({}, elementProps, {
9209
8822
  ref: concatRefs(dialogRef, ref),
9210
8823
  accessibilityLabelledBy: identifier,
9211
8824
  style: [classes, style],
@@ -9216,7 +8829,7 @@
9216
8829
  return /*#__PURE__*/React__default["default"].createElement(OverlayContainer, null, /*#__PURE__*/React__default["default"].createElement(Overlay, {
9217
8830
  placement: transformPlacement(media, direction, center, start, end),
9218
8831
  targetRef: toggleRef,
9219
- offset: convertToNumber(StyleSheet.value('dropdown-spacer')),
8832
+ offset: normalizeNumber(StyleSheet.value('dropdown-spacer')),
9220
8833
  visible: visible
9221
8834
  }, function (overlay, overlayRef) {
9222
8835
  return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(BackdropHandler, {
@@ -9226,7 +8839,7 @@
9226
8839
  setVisible(false);
9227
8840
  },
9228
8841
  autoClose: autoClose
9229
- }), /*#__PURE__*/React__default["default"].createElement(View, _extends$1({}, elementProps, {
8842
+ }), /*#__PURE__*/React__default["default"].createElement(View, _extends({}, elementProps, {
9230
8843
  ref: concatRefs(overlayRef, ref),
9231
8844
  accessibilityLabelledBy: identifier,
9232
8845
  style: [classes, overlay.overlayProps.style, {
@@ -9265,7 +8878,7 @@
9265
8878
  elementProps = _objectWithoutProperties(props, _excluded$14);
9266
8879
 
9267
8880
  var classes = getStyles(styles$S, ['heading', ".h".concat(size)]);
9268
- return /*#__PURE__*/React__default["default"].createElement(Text, _extends$1({}, elementProps, {
8881
+ return /*#__PURE__*/React__default["default"].createElement(Text, _extends({}, elementProps, {
9269
8882
  ref: ref,
9270
8883
  accessibilityRole: "header",
9271
8884
  accessibilityLevel: size,
@@ -9298,7 +8911,7 @@
9298
8911
  var classes = getStyles(styles$R, ['.dropdown-header']);
9299
8912
  var textClasses = getStyles(styles$R, ['.dropdown-header --text']); // composite component
9300
8913
 
9301
- return /*#__PURE__*/React__default["default"].createElement(View, _extends$1({}, elementProps, {
8914
+ return /*#__PURE__*/React__default["default"].createElement(View, _extends({}, elementProps, {
9302
8915
  ref: ref,
9303
8916
  style: [classes, style]
9304
8917
  }), /*#__PURE__*/React__default["default"].createElement(Heading$1, {
@@ -9345,7 +8958,7 @@
9345
8958
  var dropdown = useForcedContext(DropdownContext);
9346
8959
  var classes = getStyles(styles$Q, ['.dropdown-item', active && '.dropdown-item.active', disabled && '.dropdown-item.disabled']);
9347
8960
  var textClasses = getStyles(styles$Q, ['.dropdown-item --text', active && '.dropdown-item.active --text', disabled && '.dropdown-item.disabled --text']);
9348
- return /*#__PURE__*/React__default["default"].createElement(Pressable, _extends$1({}, elementProps, {
8961
+ return /*#__PURE__*/React__default["default"].createElement(Pressable, _extends({}, elementProps, {
9349
8962
  onPress: function onPress(event) {
9350
8963
  if (handlePress) handlePress(event);
9351
8964
 
@@ -9387,7 +9000,7 @@
9387
9000
  var classes = getStyles(styles$P, ['.dropdown-item-text']);
9388
9001
  var textClasses = getStyles(styles$P, ['.dropdown-item-text --text']); // composite component
9389
9002
 
9390
- return /*#__PURE__*/React__default["default"].createElement(View, _extends$1({}, elementProps, {
9003
+ return /*#__PURE__*/React__default["default"].createElement(View, _extends({}, elementProps, {
9391
9004
  ref: ref,
9392
9005
  style: [classes, style]
9393
9006
  }), /*#__PURE__*/React__default["default"].createElement(Text, {
@@ -9412,7 +9025,7 @@
9412
9025
  elementProps = _objectWithoutProperties(props, _excluded$10);
9413
9026
 
9414
9027
  var classes = getStyles(styles$O, ['.dropdown-divider']);
9415
- return /*#__PURE__*/React__default["default"].createElement(View, _extends$1({}, elementProps, {
9028
+ return /*#__PURE__*/React__default["default"].createElement(View, _extends({}, elementProps, {
9416
9029
  ref: ref,
9417
9030
  style: [classes, style]
9418
9031
  }));
@@ -9496,7 +9109,7 @@
9496
9109
 
9497
9110
  var dropdown = useDropdown(defaultVisible, visible, onToggle, direction, center, display, autoClose);
9498
9111
  var classes = getStyles(styles$N, ['.dropdown']);
9499
- return /*#__PURE__*/React__default["default"].createElement(View, _extends$1({}, elementProps, {
9112
+ return /*#__PURE__*/React__default["default"].createElement(View, _extends({}, elementProps, {
9500
9113
  ref: ref,
9501
9114
  style: [classes, style]
9502
9115
  }), /*#__PURE__*/React__default["default"].createElement(DropdownContext.Provider, {
@@ -9536,7 +9149,7 @@
9536
9149
  elementProps = _objectWithoutProperties(props, _excluded$Z);
9537
9150
 
9538
9151
  var classes = getStyles(styles$M, [".display-".concat(size)]);
9539
- return /*#__PURE__*/React__default["default"].createElement(Heading$1, _extends$1({}, elementProps, {
9152
+ return /*#__PURE__*/React__default["default"].createElement(Heading$1, _extends({}, elementProps, {
9540
9153
  ref: ref,
9541
9154
  size: 1,
9542
9155
  style: [classes, style]
@@ -9566,7 +9179,7 @@
9566
9179
  elementProps = _objectWithoutProperties(props, _excluded$Y);
9567
9180
 
9568
9181
  var classes = getStyles(styles$L, [".".concat(type, "-feedback")]);
9569
- return /*#__PURE__*/React__default["default"].createElement(Text, _extends$1({}, elementProps, {
9182
+ return /*#__PURE__*/React__default["default"].createElement(Text, _extends({}, elementProps, {
9570
9183
  ref: ref,
9571
9184
  style: [classes, style]
9572
9185
  }), children);
@@ -9593,7 +9206,7 @@
9593
9206
  node.setAttribute('for', htmlFor);
9594
9207
  }, []);
9595
9208
  var role = reactNative.Platform.OS === 'web' ? 'label' : null;
9596
- return /*#__PURE__*/React__default["default"].createElement(View, _extends$1({}, elementProps, {
9209
+ return /*#__PURE__*/React__default["default"].createElement(View, _extends({}, elementProps, {
9597
9210
  ref: concatRefs(forRef, ref),
9598
9211
  accessibilityRole: role
9599
9212
  }), children);
@@ -9634,7 +9247,7 @@
9634
9247
  var classes = getStyles(styles$K, [disabled && '.form-check-input:disabled ~ .form-check-label', '.form-check-label']);
9635
9248
  var textClasses = getStyles(styles$K, ['.form-check-label --text', // validation
9636
9249
  valid && '.form-check-input:valid ~ .form-check-label --text', invalid && '.form-check-input:invalid ~ .form-check-label --text']);
9637
- return /*#__PURE__*/React__default["default"].createElement(Label, _extends$1({}, elementProps, {
9250
+ return /*#__PURE__*/React__default["default"].createElement(Label, _extends({}, elementProps, {
9638
9251
  ref: ref,
9639
9252
  disabled: disabled,
9640
9253
  style: [classes, style],
@@ -9675,7 +9288,7 @@
9675
9288
  elementProps = _objectWithoutProperties(props, _excluded$V);
9676
9289
 
9677
9290
  var classes = getStyles(styles$J, ['.form-check', reverse && '.form-check-reverse']);
9678
- return /*#__PURE__*/React__default["default"].createElement(View, _extends$1({}, elementProps, {
9291
+ return /*#__PURE__*/React__default["default"].createElement(View, _extends({}, elementProps, {
9679
9292
  ref: ref,
9680
9293
  style: [classes, style]
9681
9294
  }), /*#__PURE__*/React__default["default"].createElement(FormCheckContext.Provider, {
@@ -9713,7 +9326,7 @@
9713
9326
 
9714
9327
  var classes = getStyles(styles$I, ['.form-label']);
9715
9328
  var textClasses = getStyles(styles$I, ['.form-label --text']);
9716
- return /*#__PURE__*/React__default["default"].createElement(Label, _extends$1({}, elementProps, {
9329
+ return /*#__PURE__*/React__default["default"].createElement(Label, _extends({}, elementProps, {
9717
9330
  ref: ref,
9718
9331
  style: [classes, style],
9719
9332
  textStyle: [textClasses, textStyle]
@@ -9745,7 +9358,7 @@
9745
9358
  var classes = getStyles(styles$H, ['.form-text']);
9746
9359
  var textClasses = getStyles(styles$H, ['.form-text --text']); // composite component
9747
9360
 
9748
- return /*#__PURE__*/React__default["default"].createElement(View, _extends$1({}, elementProps, {
9361
+ return /*#__PURE__*/React__default["default"].createElement(View, _extends({}, elementProps, {
9749
9362
  ref: ref,
9750
9363
  style: [classes, style]
9751
9364
  }), /*#__PURE__*/React__default["default"].createElement(Text, {
@@ -9755,10 +9368,11 @@
9755
9368
  FormText.displayName = 'FormText';
9756
9369
  FormText.propTypes = propTypes$V;
9757
9370
 
9758
- var _excluded$S = ["onFocus", "onBlur", "style", "styleName"];
9371
+ var _excluded$S = ["onFocus", "onBlur", "autoFocus", "style", "styleName"];
9759
9372
  var propTypes$U = {
9760
9373
  onFocus: PropTypes.func,
9761
9374
  onBlur: PropTypes.func,
9375
+ autoFocus: PropTypes.bool,
9762
9376
  // eslint-disable-next-line react/forbid-prop-types
9763
9377
  style: PropTypes.any,
9764
9378
  // eslint-disable-next-line react/forbid-prop-types
@@ -9769,33 +9383,37 @@
9769
9383
  _onFocus = _props$onFocus === void 0 ? function () {} : _props$onFocus,
9770
9384
  _props$onBlur = props.onBlur,
9771
9385
  _onBlur = _props$onBlur === void 0 ? function () {} : _props$onBlur,
9386
+ _props$autoFocus = props.autoFocus,
9387
+ autoFocus = _props$autoFocus === void 0 ? false : _props$autoFocus,
9772
9388
  style = props.style,
9773
9389
  styleName = props.styleName,
9774
9390
  elementProps = _objectWithoutProperties(props, _excluded$S);
9775
9391
 
9776
- var _useState = React.useState(false),
9392
+ var _useState = React.useState(autoFocus),
9777
9393
  _useState2 = _slicedToArray(_useState, 2),
9778
9394
  focused = _useState2[0],
9779
9395
  setFocused = _useState2[1];
9780
9396
 
9781
9397
  var media = useMedia();
9782
9398
  var resolveStyle = useStyle(style, styleName);
9783
- return /*#__PURE__*/React__default["default"].createElement(reactNative.TextInput, _extends$1({}, elementProps, {
9399
+ return /*#__PURE__*/React__default["default"].createElement(reactNative.TextInput, _extends({}, elementProps, {
9784
9400
  ref: ref,
9785
- onFocus: function onFocus() {
9401
+ onFocus: function onFocus(event) {
9786
9402
  setFocused(true);
9787
9403
 
9788
- _onFocus();
9404
+ _onFocus(event);
9789
9405
  },
9790
- onBlur: function onBlur() {
9406
+ onBlur: function onBlur(event) {
9791
9407
  setFocused(false);
9792
9408
 
9793
- _onBlur();
9409
+ _onBlur(event);
9794
9410
  },
9411
+ autoFocus: autoFocus,
9795
9412
  style: resolveStyle({
9796
9413
  media: media,
9797
9414
  interaction: {
9798
- focused: focused
9415
+ focus: focused,
9416
+ focusVisible: focused
9799
9417
  }
9800
9418
  })
9801
9419
  }));
@@ -9879,7 +9497,7 @@
9879
9497
  elementProps = _objectWithoutProperties(modifierProps, _excluded$R);
9880
9498
 
9881
9499
  var classes = getStyles(styles$G, ['.form-control', disabled && '.form-control.disabled', size === 'sm' && '.form-control-sm', size === 'lg' && '.form-control-lg', !multiline && '.form-control:not(textarea)', !multiline && size === 'sm' && '.form-control-sm:not(textarea)', !multiline && size === 'lg' && '.form-control-lg:not(textarea)', multiline && 'textarea.form-control', multiline && size === 'sm' && 'textarea.form-control-sm', multiline && size === 'lg' && 'textarea.form-control-lg', valid && '.form-control:valid', invalid && '.form-control:invalid']);
9882
- return /*#__PURE__*/React__default["default"].createElement(TextInput, _extends$1({}, elementProps, {
9500
+ return /*#__PURE__*/React__default["default"].createElement(TextInput, _extends({}, elementProps, {
9883
9501
  ref: modifierRef,
9884
9502
  placeholderTextColor: placeholderTextColor,
9885
9503
  multiline: multiline,
@@ -10069,7 +9687,7 @@
10069
9687
  var classes = getStyles(styles$F, ['.popover-arrow', popper && ".bs-popover-".concat(placement, " .popover-arrow")]);
10070
9688
  var beforeClasses = getStyles(styles$F, ['.popover-arrow::before', popper && ".bs-popover-".concat(placement, " .popover-arrow::before")]);
10071
9689
  var afterClasses = getStyles(styles$F, ['.popover-arrow::after', popper && ".bs-popover-".concat(placement, " .popover-arrow::after")]);
10072
- return /*#__PURE__*/React__default["default"].createElement(View, _extends$1({}, elementProps, {
9690
+ return /*#__PURE__*/React__default["default"].createElement(View, _extends({}, elementProps, {
10073
9691
  ref: ref,
10074
9692
  style: [classes, arrowStyle, style]
10075
9693
  }), /*#__PURE__*/React__default["default"].createElement(View, {
@@ -10104,7 +9722,7 @@
10104
9722
  var classes = getStyles(styles$E, ['.popover-header']);
10105
9723
  var textClasses = getStyles(styles$E, ['.popover-header --text']); // composite component
10106
9724
 
10107
- return /*#__PURE__*/React__default["default"].createElement(View, _extends$1({}, elementProps, {
9725
+ return /*#__PURE__*/React__default["default"].createElement(View, _extends({}, elementProps, {
10108
9726
  ref: ref,
10109
9727
  style: [classes, style]
10110
9728
  }), /*#__PURE__*/React__default["default"].createElement(Heading$1, {
@@ -10137,7 +9755,7 @@
10137
9755
 
10138
9756
  var classes = getStyles(styles$D, ['.popover-body']);
10139
9757
  var textClasses = getStyles(styles$D, ['.popover-body --text']);
10140
- return /*#__PURE__*/React__default["default"].createElement(View, _extends$1({}, elementProps, {
9758
+ return /*#__PURE__*/React__default["default"].createElement(View, _extends({}, elementProps, {
10141
9759
  ref: ref,
10142
9760
  style: [classes, style],
10143
9761
  textStyle: [textClasses, textStyle]
@@ -10183,7 +9801,7 @@
10183
9801
  var textClasses = getStyles(styles$C, ['.popover --text']); // Accessiblity role tooltip is only supported on web.
10184
9802
 
10185
9803
  var role = reactNative.Platform.OS === 'web' ? 'tooltip' : null;
10186
- return /*#__PURE__*/React__default["default"].createElement(View, _extends$1({}, elementProps, {
9804
+ return /*#__PURE__*/React__default["default"].createElement(View, _extends({}, elementProps, {
10187
9805
  ref: ref,
10188
9806
  accessibilityRole: role,
10189
9807
  style: [classes, style],
@@ -10199,7 +9817,7 @@
10199
9817
  Popover.Body = PopoverBody;
10200
9818
 
10201
9819
  var _excluded$M = ["title", "content", "autoClose", "trigger", "placement"],
10202
- _excluded2$1 = ["popover"];
9820
+ _excluded2$2 = ["popover"];
10203
9821
  var propTypes$O = {
10204
9822
  popover: PropTypes.shape(_objectSpread2({
10205
9823
  title: PropTypes.node,
@@ -10220,7 +9838,7 @@
10220
9838
  _props$popover$placem = _props$popover.placement,
10221
9839
  placement = _props$popover$placem === void 0 ? 'right' : _props$popover$placem,
10222
9840
  tooltipProps = _objectWithoutProperties(_props$popover, _excluded$M),
10223
- elementProps = _objectWithoutProperties(props, _excluded2$1);
9841
+ elementProps = _objectWithoutProperties(props, _excluded2$2);
10224
9842
  /* eslint-enable */
10225
9843
 
10226
9844
 
@@ -10231,8 +9849,8 @@
10231
9849
  targetRef = _useTrigger.targetRef,
10232
9850
  templateProps = _useTrigger.templateProps;
10233
9851
 
10234
- var offset = convertToNumber(StyleSheet.value('popover-arrow-height'));
10235
- return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(Target, _extends$1({}, elementProps, targetProps)), visible && /*#__PURE__*/React__default["default"].createElement(OverlayContainer, null, /*#__PURE__*/React__default["default"].createElement(Overlay, {
9852
+ var offset = normalizeNumber(StyleSheet.value('popover-arrow-height'));
9853
+ 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(OverlayContainer, null, /*#__PURE__*/React__default["default"].createElement(Overlay, {
10236
9854
  placement: placement,
10237
9855
  offset: offset,
10238
9856
  arrowOffset: offset,
@@ -10246,7 +9864,7 @@
10246
9864
  setVisible(false);
10247
9865
  },
10248
9866
  autoClose: autoClose
10249
- }), /*#__PURE__*/React__default["default"].createElement(Popover, _extends$1({}, templateProps, {
9867
+ }), /*#__PURE__*/React__default["default"].createElement(Popover, _extends({}, templateProps, {
10250
9868
  ref: overlayRef,
10251
9869
  placement: overlay.placement,
10252
9870
  popper: overlay.rendered,
@@ -10296,7 +9914,7 @@
10296
9914
 
10297
9915
  var classes = getStyles(styles$B, ['.tooltip-arrow', popper && ".bs-tooltip-".concat(placement, " .tooltip-arrow")]);
10298
9916
  var beforeClasses = getStyles(styles$B, ['.tooltip-arrow::before', popper && ".bs-tooltip-".concat(placement, " .tooltip-arrow::before")]);
10299
- return /*#__PURE__*/React__default["default"].createElement(View, _extends$1({}, elementProps, {
9917
+ return /*#__PURE__*/React__default["default"].createElement(View, _extends({}, elementProps, {
10300
9918
  ref: ref,
10301
9919
  style: [classes, arrowStyle, style]
10302
9920
  }), /*#__PURE__*/React__default["default"].createElement(View, {
@@ -10329,7 +9947,7 @@
10329
9947
  var classes = getStyles(styles$A, ['.tooltip-inner']);
10330
9948
  var textClasses = getStyles(styles$A, ['.tooltip-inner --text']); // composite component
10331
9949
 
10332
- return /*#__PURE__*/React__default["default"].createElement(View, _extends$1({}, elementProps, {
9950
+ return /*#__PURE__*/React__default["default"].createElement(View, _extends({}, elementProps, {
10333
9951
  ref: ref,
10334
9952
  style: [classes, style]
10335
9953
  }), /*#__PURE__*/React__default["default"].createElement(Text, {
@@ -10381,7 +9999,7 @@
10381
9999
  var textClasses = getStyles(styles$z, ['.tooltip --text']); // Accessiblity role tooltip is only supported on web.
10382
10000
 
10383
10001
  var role = reactNative.Platform.OS === 'web' ? 'tooltip' : null;
10384
- return /*#__PURE__*/React__default["default"].createElement(View, _extends$1({}, elementProps, {
10002
+ return /*#__PURE__*/React__default["default"].createElement(View, _extends({}, elementProps, {
10385
10003
  ref: ref,
10386
10004
  accessibilityRole: role,
10387
10005
  style: [classes, style],
@@ -10396,7 +10014,7 @@
10396
10014
  Tooltip.Inner = TooltipInner;
10397
10015
 
10398
10016
  var _excluded$I = ["title", "autoClose", "trigger", "placement"],
10399
- _excluded2 = ["tooltip"];
10017
+ _excluded2$1 = ["tooltip"];
10400
10018
  var propTypes$K = {
10401
10019
  tooltip: PropTypes.shape(_objectSpread2({
10402
10020
  title: PropTypes.node.isRequired,
@@ -10415,7 +10033,7 @@
10415
10033
  _props$tooltip$placem = _props$tooltip.placement,
10416
10034
  placement = _props$tooltip$placem === void 0 ? 'top' : _props$tooltip$placem,
10417
10035
  tooltipProps = _objectWithoutProperties(_props$tooltip, _excluded$I),
10418
- elementProps = _objectWithoutProperties(props, _excluded2);
10036
+ elementProps = _objectWithoutProperties(props, _excluded2$1);
10419
10037
  /* eslint-enable */
10420
10038
 
10421
10039
 
@@ -10426,8 +10044,8 @@
10426
10044
  targetRef = _useTrigger.targetRef,
10427
10045
  templateProps = _useTrigger.templateProps;
10428
10046
 
10429
- var offset = convertToNumber(StyleSheet.value('tooltip-arrow-height'));
10430
- return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(Target, _extends$1({}, elementProps, targetProps)), visible && /*#__PURE__*/React__default["default"].createElement(OverlayContainer, null, /*#__PURE__*/React__default["default"].createElement(Overlay, {
10047
+ var offset = normalizeNumber(StyleSheet.value('tooltip-arrow-height'));
10048
+ 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(OverlayContainer, null, /*#__PURE__*/React__default["default"].createElement(Overlay, {
10431
10049
  placement: placement,
10432
10050
  targetRef: targetRef,
10433
10051
  arrowOffset: offset,
@@ -10440,7 +10058,7 @@
10440
10058
  setVisible(false);
10441
10059
  },
10442
10060
  autoClose: autoClose
10443
- }), /*#__PURE__*/React__default["default"].createElement(Tooltip, _extends$1({}, templateProps, {
10061
+ }), /*#__PURE__*/React__default["default"].createElement(Tooltip, _extends({}, templateProps, {
10444
10062
  ref: overlayRef,
10445
10063
  placement: overlay.placement,
10446
10064
  popper: overlay.rendered,
@@ -10471,7 +10089,7 @@
10471
10089
 
10472
10090
  var media = useMedia();
10473
10091
  var resolveStyle = useStyle(style, styleName);
10474
- return /*#__PURE__*/React__default["default"].createElement(reactNative.Image, _extends$1({}, elementProps, {
10092
+ return /*#__PURE__*/React__default["default"].createElement(reactNative.Image, _extends({}, elementProps, {
10475
10093
  ref: ref,
10476
10094
  style: resolveStyle({
10477
10095
  media: media
@@ -10495,7 +10113,7 @@
10495
10113
 
10496
10114
  var media = useMedia();
10497
10115
  var resolveStyle = useStyle(style, styleName);
10498
- return /*#__PURE__*/React__default["default"].createElement(reactNative.ImageBackground, _extends$1({}, elementProps, {
10116
+ return /*#__PURE__*/React__default["default"].createElement(reactNative.ImageBackground, _extends({}, elementProps, {
10499
10117
  ref: ref,
10500
10118
  style: resolveStyle({
10501
10119
  media: media
@@ -10537,11 +10155,11 @@
10537
10155
  }, each(THEME_COLORS, function (state, value) {
10538
10156
  var _ref;
10539
10157
 
10540
- return _ref = {}, _defineProperty(_ref, ".list-group-item-".concat(state), css(_templateObject13$2 || (_templateObject13$2 = _taggedTemplateLiteral(["\n background-color: ", ";\n "])), shiftColor(function (t) {
10158
+ return _ref = {}, _defineProperty(_ref, ".list-group-item-".concat(state), css(_templateObject13$2 || (_templateObject13$2 = _taggedTemplateLiteral(["\n background-color: ", ";\n "])), shiftColor(value, function (t) {
10541
10159
  return t['list-group-item-bg-scale'];
10542
- }, value))), _defineProperty(_ref, ".list-group-item-".concat(state, " --text"), css(_templateObject14$1 || (_templateObject14$1 = _taggedTemplateLiteral(["\n color: ", ";\n "])), shiftColor(function (t) {
10160
+ }))), _defineProperty(_ref, ".list-group-item-".concat(state, " --text"), css(_templateObject14$1 || (_templateObject14$1 = _taggedTemplateLiteral(["\n color: ", ";\n "])), shiftColor(value, function (t) {
10543
10161
  return t['list-group-item-color-scale'];
10544
- }, value))), _ref;
10162
+ }))), _ref;
10545
10163
  })));
10546
10164
  var ListGroupItem = /*#__PURE__*/React__default["default"].forwardRef(function (props, ref) {
10547
10165
  var children = props.children,
@@ -10564,7 +10182,7 @@
10564
10182
  var classes = getStyles(styles$y, ['.list-group-item', first && '.list-group-item:first-child', last && '.list-group-item:last-child', active && '.list-group-item.active', disabled && '.list-group-item.disabled', !first && '.list-group-item + .list-group-item', !first && active && '.list-group-item + .list-group-item.active', flush && '.list-group-item-flush', flush && last && '.list-group-item-flush:last-child', color && ".list-group-item-".concat(color)]);
10565
10183
  var textClasses = getStyles(styles$y, ['.list-group-item --text', active && '.list-group-item.active --text', disabled && '.list-group-item.disabled --text', color && ".list-group-item-".concat(color, " --text")]);
10566
10184
  var role = reactNative.Platform.OS === 'web' ? 'listitem' : null;
10567
- return /*#__PURE__*/React__default["default"].createElement(View, _extends$1({}, elementProps, {
10185
+ return /*#__PURE__*/React__default["default"].createElement(View, _extends({}, elementProps, {
10568
10186
  ref: ref,
10569
10187
  accessibilityRole: role,
10570
10188
  style: [classes, style],
@@ -10597,19 +10215,19 @@
10597
10215
  }, each(THEME_COLORS, function (state, value) {
10598
10216
  var _ref;
10599
10217
 
10600
- 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) {
10218
+ 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) {
10601
10219
  return t['list-group-item-bg-scale'];
10602
- }, value)), shadeColor(0.1, shiftColor(function (t) {
10220
+ }), 0.1), shadeColor(shiftColor(value, function (t) {
10603
10221
  return t['list-group-item-bg-scale'];
10604
- }, 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) {
10222
+ }), 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) {
10605
10223
  return t['list-group-item-color-scale'];
10606
- }, value), shiftColor(function (t) {
10224
+ }), shiftColor(value, function (t) {
10607
10225
  return t['list-group-item-color-scale'];
10608
- }, 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) {
10226
+ }))), _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) {
10609
10227
  return t['list-group-item-color-scale'];
10610
- }, value), shiftColor(function (t) {
10228
+ }), shiftColor(value, function (t) {
10611
10229
  return t['list-group-item-color-scale'];
10612
- }, value))), _defineProperty(_ref, ".list-group-item-".concat(state, "-action.active --text"), css(_templateObject6$6 || (_templateObject6$6 = _taggedTemplateLiteral(["\n color: $white;\n "])))), _ref;
10230
+ }))), _defineProperty(_ref, ".list-group-item-".concat(state, "-action.active --text"), css(_templateObject6$6 || (_templateObject6$6 = _taggedTemplateLiteral(["\n color: $white;\n "])))), _ref;
10613
10231
  })));
10614
10232
  var ListGroupItemAction = /*#__PURE__*/React__default["default"].forwardRef(function (props, ref) {
10615
10233
  var _useModifier = useModifier('useTabbable', props, ref),
@@ -10643,7 +10261,7 @@
10643
10261
  var textClasses = getStyles(styles, ['.list-group-item --text', '.list-group-item-action --text', disabled && '.list-group-item.disabled --text', color && ".list-group-item-".concat(color, " --text"), color && ".list-group-item-".concat(color, "-action --text")]);
10644
10262
  var activeTextClasses = getStyles(styles, ['.list-group-item.active --text', color && ".list-group-item-".concat(color, "-action.active --text")]);
10645
10263
  var role = reactNative.Platform.OS === 'web' ? 'listitem' : null;
10646
- return /*#__PURE__*/React__default["default"].createElement(Pressable, _extends$1({}, elementProps, {
10264
+ return /*#__PURE__*/React__default["default"].createElement(Pressable, _extends({}, elementProps, {
10647
10265
  ref: modifierRef,
10648
10266
  accessibilityRole: role,
10649
10267
  active: active,
@@ -10693,7 +10311,7 @@
10693
10311
  var classes = getStyles(styles$x, ['.list-group', flush && '.list-group-flush']); // TODO: Implement TabContext
10694
10312
 
10695
10313
  var tabbable = false;
10696
- return /*#__PURE__*/React__default["default"].createElement(View, _extends$1({}, elementProps, {
10314
+ return /*#__PURE__*/React__default["default"].createElement(View, _extends({}, elementProps, {
10697
10315
  ref: ref,
10698
10316
  accessibilityRole: getRole$1(tabbable),
10699
10317
  style: [classes, style]
@@ -10708,17 +10326,14 @@
10708
10326
  ListGroup.Item = ListGroupItem;
10709
10327
  ListGroup.ItemAction = ListGroupItemAction;
10710
10328
 
10711
- var _excluded$C = ["children", "onMouseEnter", "onMouseLeave", "onFocus", "onBlur", "onPressIn", "onPressOut", "style"];
10329
+ var _excluded$C = ["children", "onHoverIn", "onHoverOut", "onMouseEnter", "onMouseLeave", "style"],
10330
+ _excluded2 = ["onHoverIn", "onHoverOut"];
10712
10331
 
10713
10332
  var _templateObject$w;
10714
10333
  var propTypes$E = {
10715
10334
  children: PropTypes.node.isRequired,
10716
10335
  onMouseEnter: PropTypes.func,
10717
10336
  onMouseLeave: PropTypes.func,
10718
- onFocus: PropTypes.func,
10719
- onBlur: PropTypes.func,
10720
- onPressIn: PropTypes.func,
10721
- onPressOut: PropTypes.func,
10722
10337
  // eslint-disable-next-line react/forbid-prop-types
10723
10338
  style: PropTypes.any
10724
10339
  };
@@ -10736,82 +10351,42 @@
10736
10351
  actionProps = _useAction2[0],
10737
10352
  actionRef = _useAction2[1];
10738
10353
 
10739
- var children = actionProps.children,
10740
- _actionProps$onMouseE = actionProps.onMouseEnter,
10741
- _onMouseEnter = _actionProps$onMouseE === void 0 ? function () {} : _actionProps$onMouseE,
10354
+ var children = actionProps.children;
10355
+ actionProps.onHoverIn;
10356
+ actionProps.onHoverOut;
10357
+ var _actionProps$onMouseE = actionProps.onMouseEnter,
10358
+ handleMouseEnter = _actionProps$onMouseE === void 0 ? function () {} : _actionProps$onMouseE,
10742
10359
  _actionProps$onMouseL = actionProps.onMouseLeave,
10743
- _onMouseLeave = _actionProps$onMouseL === void 0 ? function () {} : _actionProps$onMouseL,
10744
- _actionProps$onFocus = actionProps.onFocus,
10745
- _onFocus = _actionProps$onFocus === void 0 ? function () {} : _actionProps$onFocus,
10746
- _actionProps$onBlur = actionProps.onBlur,
10747
- _onBlur = _actionProps$onBlur === void 0 ? function () {} : _actionProps$onBlur,
10748
- _actionProps$onPressI = actionProps.onPressIn,
10749
- _onPressIn = _actionProps$onPressI === void 0 ? function () {} : _actionProps$onPressI,
10750
- _actionProps$onPressO = actionProps.onPressOut,
10751
- _onPressOut = _actionProps$onPressO === void 0 ? function () {} : _actionProps$onPressO,
10360
+ handleMouseLeave = _actionProps$onMouseL === void 0 ? function () {} : _actionProps$onMouseL,
10752
10361
  style = actionProps.style,
10753
10362
  elementProps = _objectWithoutProperties(actionProps, _excluded$C);
10754
10363
 
10755
10364
  var media = useMedia();
10756
-
10757
- var _useState = React.useState(false),
10758
- _useState2 = _slicedToArray(_useState, 2),
10759
- focused = _useState2[0],
10760
- setFocused = _useState2[1];
10761
-
10762
- var _useState3 = React.useState(false),
10763
- _useState4 = _slicedToArray(_useState3, 2),
10764
- hovered = _useState4[0],
10765
- setHovered = _useState4[1];
10766
-
10767
- var _useState5 = React.useState(false),
10768
- _useState6 = _slicedToArray(_useState5, 2),
10769
- pressed = _useState6[0],
10770
- setPressed = _useState6[1];
10771
-
10772
- var classes = getStyles(styles$w, ['link', hovered]);
10365
+ var classes = getStyles(styles$w, ['link']);
10773
10366
  var resolveStyle = useStyle([classes, style]);
10774
- return /*#__PURE__*/React__default["default"].createElement(Text, _extends$1({}, elementProps, {
10775
- ref: actionRef,
10776
- accessibilityRole: getRole$2(actionProps),
10777
- accessible: true,
10778
- onFocus: function onFocus(e) {
10779
- setFocused(true);
10780
-
10781
- _onFocus(e);
10782
- },
10783
- onBlur: function onBlur(e) {
10784
- setFocused(false);
10785
-
10786
- _onBlur(e);
10787
- },
10788
- onMouseEnter: function onMouseEnter(e) {
10789
- setHovered(true);
10790
-
10791
- _onMouseEnter(e);
10792
- },
10793
- onMouseLeave: function onMouseLeave(e) {
10794
- setHovered(false);
10795
-
10796
- _onMouseLeave(e);
10797
- },
10798
- onPressIn: function onPressIn(e) {
10799
- setPressed(true);
10800
10367
 
10801
- _onPressIn(e);
10368
+ var _useInteractionState = useInteractionState(elementProps),
10369
+ interaction = _useInteractionState.interaction,
10370
+ _useInteractionState$ = _useInteractionState.interactionProps,
10371
+ handleMouseEnterInteraction = _useInteractionState$.onHoverIn,
10372
+ handleMouseLeaveInteraction = _useInteractionState$.onHoverOut,
10373
+ interactionProps = _objectWithoutProperties(_useInteractionState$, _excluded2);
10374
+
10375
+ return /*#__PURE__*/React__default["default"].createElement(Text, _extends({}, elementProps, interactionProps, {
10376
+ onMouseEnter: function onMouseEnter(event) {
10377
+ handleMouseEnter(event);
10378
+ handleMouseEnterInteraction(event);
10802
10379
  },
10803
- onPressOut: function onPressOut(e) {
10804
- setPressed(false);
10805
-
10806
- _onPressOut(e);
10380
+ onMouseLeave: function onMouseLeave(event) {
10381
+ handleMouseLeave(event);
10382
+ handleMouseLeaveInteraction(event);
10807
10383
  },
10384
+ ref: actionRef,
10385
+ accessibilityRole: getRole$2(actionProps),
10386
+ accessible: true,
10808
10387
  style: resolveStyle({
10809
10388
  media: media,
10810
- interaction: {
10811
- focused: focused,
10812
- hovered: hovered,
10813
- pressed: pressed
10814
- }
10389
+ interaction: interaction
10815
10390
  })
10816
10391
  }), children);
10817
10392
  });
@@ -10844,7 +10419,7 @@
10844
10419
  var resolveStyle = useStyle(style, styleName);
10845
10420
  var resolveTextStyle = useStyle([context && context.style, textStyle]);
10846
10421
  var hasTextStyle = context && context.style || textStyle;
10847
- return /*#__PURE__*/React__default["default"].createElement(reactNative.ScrollView, _extends$1({}, elementProps, {
10422
+ return /*#__PURE__*/React__default["default"].createElement(reactNative.ScrollView, _extends({}, elementProps, {
10848
10423
  ref: ref,
10849
10424
  contentContainerStyle: resolveContentContainerStyle({
10850
10425
  media: media
@@ -10948,7 +10523,7 @@
10948
10523
  elementProps = _objectWithoutProperties(props, _excluded$A);
10949
10524
 
10950
10525
  var classes = getStyles(styles$v, ['.modal-header']);
10951
- return /*#__PURE__*/React__default["default"].createElement(View, _extends$1({}, elementProps, {
10526
+ return /*#__PURE__*/React__default["default"].createElement(View, _extends({}, elementProps, {
10952
10527
  ref: ref,
10953
10528
  style: [classes, style]
10954
10529
  }), children);
@@ -10973,7 +10548,7 @@
10973
10548
  elementProps = _objectWithoutProperties(props, _excluded$z);
10974
10549
 
10975
10550
  var classes = getStyles(styles$u, ['.modal-title']);
10976
- return /*#__PURE__*/React__default["default"].createElement(Heading$1, _extends$1({
10551
+ return /*#__PURE__*/React__default["default"].createElement(Heading$1, _extends({
10977
10552
  size: 5
10978
10553
  }, elementProps, {
10979
10554
  ref: ref,
@@ -11007,7 +10582,7 @@
11007
10582
 
11008
10583
  var classes = getStyles(styles$t, ['.modal-body']);
11009
10584
  var FlexView = scrollable ? ScrollView : View;
11010
- return /*#__PURE__*/React__default["default"].createElement(FlexView, _extends$1({}, elementProps, {
10585
+ return /*#__PURE__*/React__default["default"].createElement(FlexView, _extends({}, elementProps, {
11011
10586
  ref: ref,
11012
10587
  style: scrollable ? style : [classes, style],
11013
10588
  contentContainerStyle: scrollable ? [classes, contentContainerStyle] : undefined
@@ -11033,7 +10608,7 @@
11033
10608
  elementProps = _objectWithoutProperties(props, _excluded$x);
11034
10609
 
11035
10610
  var classes = getStyles(styles$s, ['.modal-footer']);
11036
- return /*#__PURE__*/React__default["default"].createElement(View, _extends$1({}, elementProps, {
10611
+ return /*#__PURE__*/React__default["default"].createElement(View, _extends({}, elementProps, {
11037
10612
  ref: ref,
11038
10613
  style: [classes, style]
11039
10614
  }), children);
@@ -11123,7 +10698,7 @@
11123
10698
  onRequestClose: handleToggle
11124
10699
  }, backdrop && /*#__PURE__*/React__default["default"].createElement(View, {
11125
10700
  style: backdropClasses
11126
- }), /*#__PURE__*/React__default["default"].createElement(FlexView, _extends$1({}, elementProps, {
10701
+ }), /*#__PURE__*/React__default["default"].createElement(FlexView, _extends({}, elementProps, {
11127
10702
  ref: ref,
11128
10703
  style: [classes, scrollable && centeredStyle, style],
11129
10704
  textStyle: textStyle,
@@ -11228,7 +10803,7 @@
11228
10803
  navbar && '.navbar-nav .nav-link --text', navbar && navbar.expand && ".navbar-expand".concat(infix(navbar.expand), " .navbar-nav .nav-link --text"), navbar && ".navbar-".concat(navbar.variant, " .navbar-nav .nav-link --text"), navbar && disabled && ".navbar-".concat(navbar.variant, " .navbar-nav .nav-link.disabled --text")]);
11229
10804
  var activeTextClasses = getStyles(styles$q, [variant && ".nav-".concat(variant, " .nav-link.active --text"), // Navbar styles
11230
10805
  navbar && ".navbar-".concat(navbar.variant, " .navbar-nav .nav-link.active --text")]);
11231
- return /*#__PURE__*/React__default["default"].createElement(Pressable, _extends$1({}, elementProps, {
10806
+ return /*#__PURE__*/React__default["default"].createElement(Pressable, _extends({}, elementProps, {
11232
10807
  ref: modifierRef,
11233
10808
  active: active,
11234
10809
  disabled: disabled,
@@ -11284,7 +10859,7 @@
11284
10859
  var tabbable = React.useContext(TabContext);
11285
10860
  var classes = getStyles(styles$p, [!navbar && '.nav', variant === 'tabs' && '.nav-tabs', // Navbar styles
11286
10861
  navbar && '.navbar-nav', navbar && navbar.expand && ".navbar-expand".concat(navbar.expand === true ? '' : "-".concat(navbar.expand), " .navbar-nav")]);
11287
- return /*#__PURE__*/React__default["default"].createElement(View, _extends$1({}, elementProps, {
10862
+ return /*#__PURE__*/React__default["default"].createElement(View, _extends({}, elementProps, {
11288
10863
  ref: ref,
11289
10864
  accessibilityRole: getRole(tabbable, navbar),
11290
10865
  style: [classes, style]
@@ -11326,7 +10901,7 @@
11326
10901
  var classes = getStyles(styles$o, ['.navbar-text']);
11327
10902
  var textClasses = getStyles(styles$o, [".navbar-".concat(variant, " .navbar-text --text")]); // composite component
11328
10903
 
11329
- return /*#__PURE__*/React__default["default"].createElement(View, _extends$1({}, elementProps, {
10904
+ return /*#__PURE__*/React__default["default"].createElement(View, _extends({}, elementProps, {
11330
10905
  ref: ref,
11331
10906
  style: [classes, style]
11332
10907
  }), /*#__PURE__*/React__default["default"].createElement(Text, {
@@ -11363,7 +10938,7 @@
11363
10938
 
11364
10939
  var classes = getStyles(styles$n, ['.navbar-brand']);
11365
10940
  var textClasses = getStyles(styles$n, ['.navbar-brand --text', ".navbar-".concat(variant, " .navbar-brand --text")]);
11366
- return /*#__PURE__*/React__default["default"].createElement(Pressable, _extends$1({}, elementProps, {
10941
+ return /*#__PURE__*/React__default["default"].createElement(Pressable, _extends({}, elementProps, {
11367
10942
  ref: ref,
11368
10943
  style: [classes, style],
11369
10944
  textStyle: [textClasses, textStyle]
@@ -11402,7 +10977,7 @@
11402
10977
  return null;
11403
10978
  }
11404
10979
 
11405
- return /*#__PURE__*/React__default["default"].createElement(View, _extends$1({}, elementProps, {
10980
+ return /*#__PURE__*/React__default["default"].createElement(View, _extends({}, elementProps, {
11406
10981
  ref: ref,
11407
10982
  style: [classes, style]
11408
10983
  }), children);
@@ -11479,7 +11054,7 @@
11479
11054
  var background = useBackground(resolveIconStyle({
11480
11055
  media: media
11481
11056
  }));
11482
- return /*#__PURE__*/React__default["default"].createElement(Pressable, _extends$1({}, elementProps, {
11057
+ return /*#__PURE__*/React__default["default"].createElement(Pressable, _extends({}, elementProps, {
11483
11058
  ref: ref,
11484
11059
  toggle: useToggleNavbar,
11485
11060
  style: [classes, style],
@@ -11558,7 +11133,7 @@
11558
11133
 
11559
11134
  var navbar = useNavbar(variant, defaultExpanded, expanded, onToggle, expand);
11560
11135
  var classes = getStyles(styles$k, ['.navbar', expand && ".navbar-expand".concat(expand === true ? '' : "-".concat(expand))]);
11561
- return /*#__PURE__*/React__default["default"].createElement(View, _extends$1({}, elementProps, {
11136
+ return /*#__PURE__*/React__default["default"].createElement(View, _extends({}, elementProps, {
11562
11137
  ref: ref,
11563
11138
  style: [classes, style]
11564
11139
  }), /*#__PURE__*/React__default["default"].createElement(NavbarContext.Provider, {
@@ -11600,7 +11175,7 @@
11600
11175
 
11601
11176
  var navbar = React.useContext(NavbarContext);
11602
11177
  var classes = getStyles(styles$j, ['.offcanvas-header', navbar && navbar.expand && ".navbar-expand".concat(navbar.expand === true ? '' : "-".concat(navbar.expand), " .offcanvas-header")]);
11603
- return /*#__PURE__*/React__default["default"].createElement(View, _extends$1({}, elementProps, {
11178
+ return /*#__PURE__*/React__default["default"].createElement(View, _extends({}, elementProps, {
11604
11179
  ref: ref,
11605
11180
  style: [classes, style]
11606
11181
  }), children);
@@ -11625,7 +11200,7 @@
11625
11200
  elementProps = _objectWithoutProperties(props, _excluded$l);
11626
11201
 
11627
11202
  var classes = getStyles(styles$i, ['.offcanvas-title']);
11628
- return /*#__PURE__*/React__default["default"].createElement(Heading$1, _extends$1({
11203
+ return /*#__PURE__*/React__default["default"].createElement(Heading$1, _extends({
11629
11204
  size: 5
11630
11205
  }, elementProps, {
11631
11206
  ref: ref,
@@ -11658,7 +11233,7 @@
11658
11233
 
11659
11234
  var navbar = React.useContext(NavbarContext);
11660
11235
  var contentContainerClasses = getStyles(styles$h, ['.offcanvas-body', navbar && navbar.expand && ".navbar-expand".concat(navbar.expand === true ? '' : "-".concat(navbar.expand), " .offcanvas-body")]);
11661
- return /*#__PURE__*/React__default["default"].createElement(ScrollView, _extends$1({}, elementProps, {
11236
+ return /*#__PURE__*/React__default["default"].createElement(ScrollView, _extends({}, elementProps, {
11662
11237
  ref: ref,
11663
11238
  style: style,
11664
11239
  contentContainerStyle: [contentContainerClasses, contentContainerStyle]
@@ -11738,7 +11313,7 @@
11738
11313
  var textClasses = getStyles(styles$g, ['.offcanvas-content --text']); // Render children without modal for navbar.
11739
11314
 
11740
11315
  if (navbar && navbar.expand && (navbar.expand === true || media.up(navbar.expand))) {
11741
- return /*#__PURE__*/React__default["default"].createElement(View, _extends$1({}, elementProps, {
11316
+ return /*#__PURE__*/React__default["default"].createElement(View, _extends({}, elementProps, {
11742
11317
  ref: ref,
11743
11318
  style: [classes, style],
11744
11319
  textStyle: [textClasses, textStyle]
@@ -11755,7 +11330,7 @@
11755
11330
  dialogRef: offcanvasRef,
11756
11331
  onClose: handleToggle,
11757
11332
  backdrop: backdrop
11758
- })), /*#__PURE__*/React__default["default"].createElement(View, _extends$1({}, elementProps, {
11333
+ })), /*#__PURE__*/React__default["default"].createElement(View, _extends({}, elementProps, {
11759
11334
  ref: concatRefs(offcanvasRef, ref),
11760
11335
  style: [classes, style],
11761
11336
  textStyle: [textClasses, textStyle]
@@ -11821,7 +11396,7 @@
11821
11396
 
11822
11397
  var background = useBackground(style);
11823
11398
  var showPlaceholder = selectedValue === undefined || selectedValue === null;
11824
- return /*#__PURE__*/React__default["default"].createElement(reactNative.Picker, _extends$1({}, elementProps, {
11399
+ return /*#__PURE__*/React__default["default"].createElement(reactNative.Picker, _extends({}, elementProps, {
11825
11400
  ref: ref,
11826
11401
  selectedValue: showPlaceholder ? PLACEHOLDER : selectedValue,
11827
11402
  onValueChange: onValueChange,
@@ -11957,7 +11532,7 @@
11957
11532
  setVisible(false);
11958
11533
  };
11959
11534
 
11960
- return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(Pressable, _extends$1({}, elementProps, {
11535
+ return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(Pressable, _extends({}, elementProps, {
11961
11536
  ref: ref,
11962
11537
  accessibilityRole: "combobox",
11963
11538
  onPress: function onPress() {
@@ -12077,7 +11652,7 @@
12077
11652
  PickerItem.displayName = 'PickerItem';
12078
11653
  PickerItem.propTypes = propTypes$i;
12079
11654
 
12080
- var _excluded$g = ["children", "onFocus", "onBlur", "placeholderTextColor", "size", "disabled", "valid", "invalid", "useNativeComponent", "style", "styleName"];
11655
+ var _excluded$g = ["children", "onFocus", "onBlur", "placeholderTextColor", "size", "disabled", "valid", "invalid", "useNativeComponent", "autoFocus", "style", "styleName"];
12081
11656
 
12082
11657
  var _templateObject$d, _templateObject2$9, _templateObject3$3, _templateObject4$2, _templateObject5$2, _templateObject6$1;
12083
11658
  /* eslint-disable react/no-unused-prop-types */
@@ -12092,6 +11667,7 @@
12092
11667
  valid: PropTypes.bool,
12093
11668
  invalid: PropTypes.bool,
12094
11669
  useNativeComponent: PropTypes.bool,
11670
+ autoFocus: PropTypes.bool,
12095
11671
  // eslint-disable-next-line react/forbid-prop-types
12096
11672
  style: PropTypes.any,
12097
11673
  // eslint-disable-next-line react/forbid-prop-types
@@ -12124,9 +11700,9 @@
12124
11700
 
12125
11701
  var children = modifierProps.children,
12126
11702
  _modifierProps$onFocu = modifierProps.onFocus,
12127
- onFocus = _modifierProps$onFocu === void 0 ? function () {} : _modifierProps$onFocu,
11703
+ _onFocus = _modifierProps$onFocu === void 0 ? function () {} : _modifierProps$onFocu,
12128
11704
  _modifierProps$onBlur = modifierProps.onBlur,
12129
- onBlur = _modifierProps$onBlur === void 0 ? function () {} : _modifierProps$onBlur,
11705
+ _onBlur = _modifierProps$onBlur === void 0 ? function () {} : _modifierProps$onBlur,
12130
11706
  _modifierProps$placeh = modifierProps.placeholderTextColor,
12131
11707
  placeholderTextColor = _modifierProps$placeh === void 0 ? StyleSheet.value('input-placeholder-color') : _modifierProps$placeh,
12132
11708
  size = modifierProps.size,
@@ -12138,13 +11714,15 @@
12138
11714
  invalid = _modifierProps$invali === void 0 ? false : _modifierProps$invali,
12139
11715
  _modifierProps$useNat = modifierProps.useNativeComponent,
12140
11716
  useNativeComponent = _modifierProps$useNat === void 0 ? false : _modifierProps$useNat,
11717
+ _modifierProps$autoFo = modifierProps.autoFocus,
11718
+ autoFocus = _modifierProps$autoFo === void 0 ? false : _modifierProps$autoFo,
12141
11719
  style = modifierProps.style,
12142
11720
  styleName = modifierProps.styleName,
12143
11721
  elementProps = _objectWithoutProperties(modifierProps, _excluded$g);
12144
11722
 
12145
11723
  var media = useMedia();
12146
11724
 
12147
- var _useState = React.useState(false),
11725
+ var _useState = React.useState(autoFocus),
12148
11726
  _useState2 = _slicedToArray(_useState, 2),
12149
11727
  focused = _useState2[0],
12150
11728
  setFocused = _useState2[1];
@@ -12152,32 +11730,31 @@
12152
11730
  var classes = getStyles(styles$d, ['select', // reboot
12153
11731
  '.form-select', disabled && '.form-select.disabled', size === 'sm' && '.form-select-sm', size === 'lg' && '.form-select-lg', valid && '.form-select:valid', invalid && '.form-select:invalid']);
12154
11732
  var resolveStyle = useStyle([classes, style], styleName);
12155
-
12156
- var handleFocus = function handleFocus() {
12157
- setFocused(true);
12158
- onFocus();
12159
- };
12160
-
12161
- var handleBlur = function handleBlur() {
12162
- setFocused(false);
12163
- onBlur();
12164
- };
12165
-
12166
11733
  var BasePicker = reactNative.Platform.OS === 'web' && !useNativeComponent ? PickerWeb : PickerNative;
12167
11734
  return /*#__PURE__*/React__default["default"].createElement(PickerContext.Provider, {
12168
11735
  value: {
12169
11736
  useNativeComponent: useNativeComponent
12170
11737
  }
12171
- }, /*#__PURE__*/React__default["default"].createElement(BasePicker, _extends$1({}, elementProps, {
11738
+ }, /*#__PURE__*/React__default["default"].createElement(BasePicker, _extends({}, elementProps, {
12172
11739
  ref: modifierRef,
12173
11740
  placeholderTextColor: placeholderTextColor,
12174
- onFocus: handleFocus,
12175
- onBlur: handleBlur,
11741
+ onFocus: function onFocus(event) {
11742
+ setFocused(true);
11743
+
11744
+ _onFocus(event);
11745
+ },
11746
+ onBlur: function onBlur(event) {
11747
+ setFocused(false);
11748
+
11749
+ _onBlur(event);
11750
+ },
12176
11751
  disabled: disabled,
11752
+ autoFocus: autoFocus,
12177
11753
  style: resolveStyle({
12178
11754
  media: media,
12179
11755
  interaction: {
12180
- focused: focused
11756
+ focus: focused,
11757
+ focusVisible: focused
12181
11758
  }
12182
11759
  })
12183
11760
  }), children));
@@ -12203,7 +11780,7 @@
12203
11780
  elementProps = _objectWithoutProperties(props, _excluded$f);
12204
11781
 
12205
11782
  var classes = getStyles(styles$c, ['.placeholders']);
12206
- return /*#__PURE__*/React__default["default"].createElement(View, _extends$1({}, elementProps, {
11783
+ return /*#__PURE__*/React__default["default"].createElement(View, _extends({}, elementProps, {
12207
11784
  ref: ref,
12208
11785
  style: [classes, style]
12209
11786
  }), children);
@@ -12254,7 +11831,7 @@
12254
11831
  var classes = getStyles(styles$b, ['.progress-bar']);
12255
11832
  var textClasses = getStyles(styles$b, ['.progress-bar --text']); // composite component
12256
11833
 
12257
- return /*#__PURE__*/React__default["default"].createElement(View, _extends$1({}, elementProps, {
11834
+ return /*#__PURE__*/React__default["default"].createElement(View, _extends({}, elementProps, {
12258
11835
  ref: ref,
12259
11836
  accessibilityRole: "progressbar",
12260
11837
  accessibilityValueNow: value,
@@ -12308,7 +11885,7 @@
12308
11885
  var progress = useProgress(min, max);
12309
11886
  var classes = getStyles(styles$a, ['.progress']);
12310
11887
  var textClasses = getStyles(styles$a, ['.progress --text']);
12311
- return /*#__PURE__*/React__default["default"].createElement(View, _extends$1({}, elementProps, {
11888
+ return /*#__PURE__*/React__default["default"].createElement(View, _extends({}, elementProps, {
12312
11889
  ref: ref,
12313
11890
  style: [classes, style],
12314
11891
  textStyle: [textClasses, textStyle]
@@ -12342,7 +11919,7 @@
12342
11919
  var classes = getStyles(styles$9, ['paragraph', lead && '.lead']); // Accessiblity role paragraph is only supported on web.
12343
11920
 
12344
11921
  var role = reactNative.Platform.OS === 'web' ? 'paragraph' : null;
12345
- return /*#__PURE__*/React__default["default"].createElement(Text, _extends$1({}, elementProps, {
11922
+ return /*#__PURE__*/React__default["default"].createElement(Text, _extends({}, elementProps, {
12346
11923
  ref: ref,
12347
11924
  accessibilityRole: role,
12348
11925
  style: [classes, style]
@@ -12387,7 +11964,7 @@
12387
11964
  var classes = getStyles(styles$8, ['.pagination-item', first && '.pagination-item:first-child', last && '.pagination-item:last-child', active && '.pagination-item.active', disabled && '.pagination-item.disabled']);
12388
11965
  var textClasses = getStyles(styles$8, [active && '.pagination-item.active', disabled && '.pagination-item.disabled']);
12389
11966
  var role = reactNative.Platform.OS === 'web' ? 'listitem' : null;
12390
- return /*#__PURE__*/React__default["default"].createElement(View, _extends$1({}, elementProps, {
11967
+ return /*#__PURE__*/React__default["default"].createElement(View, _extends({}, elementProps, {
12391
11968
  ref: ref,
12392
11969
  accessibilityRole: role,
12393
11970
  style: [classes, style],
@@ -12454,7 +12031,7 @@
12454
12031
  var list = useList(children);
12455
12032
  var classes = getStyles(styles$7, ['.pagination']);
12456
12033
  var role = reactNative.Platform.OS === 'web' ? 'list' : null;
12457
- return /*#__PURE__*/React__default["default"].createElement(View, _extends$1({}, elementProps, {
12034
+ return /*#__PURE__*/React__default["default"].createElement(View, _extends({}, elementProps, {
12458
12035
  ref: ref,
12459
12036
  accessibilityRole: role,
12460
12037
  style: [classes, style]
@@ -12483,7 +12060,7 @@
12483
12060
  disabled = _props$disabled === void 0 ? false : _props$disabled,
12484
12061
  elementProps = _objectWithoutProperties(props, _excluded$9);
12485
12062
 
12486
- return /*#__PURE__*/React__default["default"].createElement(View, _extends$1({}, elementProps, {
12063
+ return /*#__PURE__*/React__default["default"].createElement(View, _extends({}, elementProps, {
12487
12064
  ref: ref,
12488
12065
  accessibilityRole: "radiogroup"
12489
12066
  }), /*#__PURE__*/React__default["default"].createElement(RadioContext.Provider, {
@@ -12510,7 +12087,7 @@
12510
12087
  _onValueChange = _useForcedContext.onValueChange,
12511
12088
  disabled = _useForcedContext.disabled;
12512
12089
 
12513
- return /*#__PURE__*/React__default["default"].createElement(FormCheckInput, _extends$1({}, elementProps, {
12090
+ return /*#__PURE__*/React__default["default"].createElement(FormCheckInput, _extends({}, elementProps, {
12514
12091
  ref: ref,
12515
12092
  type: "radio",
12516
12093
  value: value === selectedValue,
@@ -12542,7 +12119,7 @@
12542
12119
  elementProps = _objectWithoutProperties(props, _excluded$7);
12543
12120
 
12544
12121
  var classes = getStyles(styles$6, ['.row']);
12545
- return /*#__PURE__*/React__default["default"].createElement(View, _extends$1({}, elementProps, {
12122
+ return /*#__PURE__*/React__default["default"].createElement(View, _extends({}, elementProps, {
12546
12123
  ref: ref,
12547
12124
  style: [classes, style]
12548
12125
  }), children);
@@ -12551,9 +12128,9 @@
12551
12128
  Row.propTypes = propTypes$8;
12552
12129
 
12553
12130
  var Switch = /*#__PURE__*/React__default["default"].forwardRef(function (props, ref) {
12554
- var elementProps = _extends$1({}, props);
12131
+ var elementProps = _extends({}, props);
12555
12132
 
12556
- return /*#__PURE__*/React__default["default"].createElement(FormCheckInput, _extends$1({}, elementProps, {
12133
+ return /*#__PURE__*/React__default["default"].createElement(FormCheckInput, _extends({}, elementProps, {
12557
12134
  ref: ref,
12558
12135
  type: "switch"
12559
12136
  }));
@@ -12571,12 +12148,12 @@
12571
12148
  style: PropTypes.any
12572
12149
  };
12573
12150
  var styles$5 = StyleSheet.create(_objectSpread2(_objectSpread2(_objectSpread2({
12574
- '.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 "])))
12151
+ '.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 "])))
12575
12152
  }, each(THEME_COLORS, function (color, value) {
12576
12153
  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));
12577
12154
  })), {}, {
12578
12155
  '.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 "]))),
12579
- '.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 "])))
12156
+ '.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 "])))
12580
12157
  }, each(THEME_COLORS, function (color, value) {
12581
12158
  return _defineProperty({}, ".spinner-grow-".concat(color), css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n background-color: ", ";\n "])), value));
12582
12159
  })), {}, {
@@ -12637,7 +12214,7 @@
12637
12214
  useNativeDriver: reactNative.Platform.OS !== 'web'
12638
12215
  })).start();
12639
12216
  }, []);
12640
- return /*#__PURE__*/React__default["default"].createElement(AnimatedView, _extends$1({}, elementProps, {
12217
+ return /*#__PURE__*/React__default["default"].createElement(AnimatedView, _extends({}, elementProps, {
12641
12218
  ref: ref,
12642
12219
  accessibilityRole: role,
12643
12220
  accessibilityHidden: true,
@@ -12689,9 +12266,9 @@
12689
12266
  children: PropTypes.node.isRequired
12690
12267
  };
12691
12268
  var TabContent = /*#__PURE__*/React__default["default"].forwardRef(function (props, ref) {
12692
- var elementProps = _extends$1({}, props);
12269
+ var elementProps = _extends({}, props);
12693
12270
 
12694
- return /*#__PURE__*/React__default["default"].createElement(View, _extends$1({}, elementProps, {
12271
+ return /*#__PURE__*/React__default["default"].createElement(View, _extends({}, elementProps, {
12695
12272
  ref: ref
12696
12273
  }));
12697
12274
  });
@@ -12721,7 +12298,7 @@
12721
12298
  var id = getElementId(tabbable.identifier, target); // Accessiblity role tabpanel is only supported on web.
12722
12299
 
12723
12300
  var role = reactNative.Platform.OS === 'web' ? 'tabpanel' : null;
12724
- return /*#__PURE__*/React__default["default"].createElement(View, _extends$1({}, elementProps, {
12301
+ return /*#__PURE__*/React__default["default"].createElement(View, _extends({}, elementProps, {
12725
12302
  ref: ref,
12726
12303
  nativeID: id,
12727
12304
  accessibilityRole: role,
@@ -12794,7 +12371,7 @@
12794
12371
 
12795
12372
  var classes = getStyles(styles$3, ['.toast-header']);
12796
12373
  var textClasses = getStyles(styles$3, ['.toast-header --text']);
12797
- return /*#__PURE__*/React__default["default"].createElement(View, _extends$1({}, elementProps, {
12374
+ return /*#__PURE__*/React__default["default"].createElement(View, _extends({}, elementProps, {
12798
12375
  ref: ref,
12799
12376
  style: [classes, style],
12800
12377
  textStyle: [textClasses, textStyle]
@@ -12825,7 +12402,7 @@
12825
12402
 
12826
12403
  var classes = getStyles(styles$2, ['.toast-body']);
12827
12404
  var textClasses = getStyles(styles$2, ['.toast-body --text']);
12828
- return /*#__PURE__*/React__default["default"].createElement(View, _extends$1({}, elementProps, {
12405
+ return /*#__PURE__*/React__default["default"].createElement(View, _extends({}, elementProps, {
12829
12406
  ref: ref,
12830
12407
  style: [classes, style],
12831
12408
  textStyle: [textClasses, textStyle]
@@ -12862,7 +12439,7 @@
12862
12439
  var container = React.useContext(ToastContainerContext);
12863
12440
  var classes = getStyles(styles$1, ['.toast', container && !listItem.last && '.toast-container > :not(:last-child)']);
12864
12441
  var textClasses = getStyles(styles$1, ['.toast --text']);
12865
- return /*#__PURE__*/React__default["default"].createElement(View, _extends$1({}, elementProps, {
12442
+ return /*#__PURE__*/React__default["default"].createElement(View, _extends({}, elementProps, {
12866
12443
  ref: ref,
12867
12444
  accessibilityRole: "alert",
12868
12445
  accessibilityLive: "assertive",
@@ -12894,7 +12471,7 @@
12894
12471
 
12895
12472
  var list = useList(children);
12896
12473
  var classes = getStyles(styles, ['.toast-container']);
12897
- return /*#__PURE__*/React__default["default"].createElement(View, _extends$1({}, elementProps, {
12474
+ return /*#__PURE__*/React__default["default"].createElement(View, _extends({}, elementProps, {
12898
12475
  ref: ref,
12899
12476
  style: [classes, style]
12900
12477
  }), /*#__PURE__*/React__default["default"].createElement(ToastContainerContext.Provider, {