beesoft-components 0.2.7 → 0.2.8

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.
package/build/index.js CHANGED
@@ -2751,20 +2751,21 @@ var formatDistanceLocale = {
2751
2751
  other: 'almost {{count}} years'
2752
2752
  }
2753
2753
  };
2754
- function formatDistance(token, count, options) {
2755
- options = options || {};
2754
+
2755
+ var formatDistance = function (token, count, options) {
2756
2756
  var result;
2757
+ var tokenValue = formatDistanceLocale[token];
2757
2758
 
2758
- if (typeof formatDistanceLocale[token] === 'string') {
2759
- result = formatDistanceLocale[token];
2759
+ if (typeof tokenValue === 'string') {
2760
+ result = tokenValue;
2760
2761
  } else if (count === 1) {
2761
- result = formatDistanceLocale[token].one;
2762
+ result = tokenValue.one;
2762
2763
  } else {
2763
- result = formatDistanceLocale[token].other.replace('{{count}}', count);
2764
+ result = tokenValue.other.replace('{{count}}', count.toString());
2764
2765
  }
2765
2766
 
2766
- if (options.addSuffix) {
2767
- if (options.comparison > 0) {
2767
+ if (options !== null && options !== void 0 && options.addSuffix) {
2768
+ if (options.comparison && options.comparison > 0) {
2768
2769
  return 'in ' + result;
2769
2770
  } else {
2770
2771
  return result + ' ago';
@@ -2772,11 +2773,12 @@ function formatDistance(token, count, options) {
2772
2773
  }
2773
2774
 
2774
2775
  return result;
2775
- }
2776
+ };
2776
2777
 
2777
2778
  function buildFormatLongFn(args) {
2778
- return function (dirtyOptions) {
2779
- var options = dirtyOptions || {};
2779
+ return function () {
2780
+ var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2781
+ // TODO: Remove String()
2780
2782
  var width = options.width ? String(options.width) : args.defaultWidth;
2781
2783
  var format = args.formats[width] || args.formats[args.defaultWidth];
2782
2784
  return format;
@@ -2824,9 +2826,10 @@ var formatRelativeLocale = {
2824
2826
  nextWeek: "eeee 'at' p",
2825
2827
  other: 'P'
2826
2828
  };
2827
- function formatRelative(token, _date, _baseDate, _options) {
2829
+
2830
+ var formatRelative = function (token, _date, _baseDate, _options) {
2828
2831
  return formatRelativeLocale[token];
2829
- }
2832
+ };
2830
2833
 
2831
2834
  function buildLocalizeFn(args) {
2832
2835
  return function (dirtyIndex, dirtyOptions) {
@@ -2846,7 +2849,8 @@ function buildLocalizeFn(args) {
2846
2849
  valuesArray = args.values[_width] || args.values[_defaultWidth];
2847
2850
  }
2848
2851
 
2849
- var index = args.argumentCallback ? args.argumentCallback(dirtyIndex) : dirtyIndex;
2852
+ var index = args.argumentCallback ? args.argumentCallback(dirtyIndex) : dirtyIndex; // @ts-ignore: For some reason TypeScript just don't want to match it, no matter how hard we try. I challange you to try to remove it!
2853
+
2850
2854
  return valuesArray[index];
2851
2855
  };
2852
2856
  }
@@ -2859,12 +2863,12 @@ var eraValues = {
2859
2863
  var quarterValues = {
2860
2864
  narrow: ['1', '2', '3', '4'],
2861
2865
  abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],
2862
- wide: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'] // Note: in English, the names of days of the week and months are capitalized.
2863
- // If you are making a new locale based on this one, check if the same is true for the language you're working on.
2864
- // Generally, formatted dates should look like they are in the middle of a sentence,
2865
- // e.g. in Spanish language the weekdays and months should be in the lowercase.
2866
+ wide: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter']
2867
+ }; // Note: in English, the names of days of the week and months are capitalized.
2868
+ // If you are making a new locale based on this one, check if the same is true for the language you're working on.
2869
+ // Generally, formatted dates should look like they are in the middle of a sentence,
2870
+ // e.g. in Spanish language the weekdays and months should be in the lowercase.
2866
2871
 
2867
- };
2868
2872
  var monthValues = {
2869
2873
  narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],
2870
2874
  abbreviated: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
@@ -2941,16 +2945,13 @@ var formattingDayPeriodValues = {
2941
2945
  }
2942
2946
  };
2943
2947
 
2944
- function ordinalNumber(dirtyNumber, _dirtyOptions) {
2948
+ var ordinalNumber = function (dirtyNumber, _options) {
2945
2949
  var number = Number(dirtyNumber); // If ordinal numbers depend on context, for example,
2946
2950
  // if they are different for different grammatical genders,
2947
- // use `options.unit`:
2951
+ // use `options.unit`.
2948
2952
  //
2949
- // var options = dirtyOptions || {}
2950
- // var unit = String(options.unit)
2951
- //
2952
- // where `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',
2953
- // 'day', 'hour', 'minute', 'second'
2953
+ // `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',
2954
+ // 'day', 'hour', 'minute', 'second'.
2954
2955
 
2955
2956
  var rem100 = number % 100;
2956
2957
 
@@ -2968,7 +2969,7 @@ function ordinalNumber(dirtyNumber, _dirtyOptions) {
2968
2969
  }
2969
2970
 
2970
2971
  return number + 'th';
2971
- }
2972
+ };
2972
2973
 
2973
2974
  var localize = {
2974
2975
  ordinalNumber: ordinalNumber,
@@ -2980,7 +2981,7 @@ var localize = {
2980
2981
  values: quarterValues,
2981
2982
  defaultWidth: 'wide',
2982
2983
  argumentCallback: function (quarter) {
2983
- return Number(quarter) - 1;
2984
+ return quarter - 1;
2984
2985
  }
2985
2986
  }),
2986
2987
  month: buildLocalizeFn({
@@ -2999,36 +3000,9 @@ var localize = {
2999
3000
  })
3000
3001
  };
3001
3002
 
3002
- function buildMatchPatternFn(args) {
3003
- return function (dirtyString, dirtyOptions) {
3004
- var string = String(dirtyString);
3005
- var options = dirtyOptions || {};
3006
- var matchResult = string.match(args.matchPattern);
3007
-
3008
- if (!matchResult) {
3009
- return null;
3010
- }
3011
-
3012
- var matchedString = matchResult[0];
3013
- var parseResult = string.match(args.parsePattern);
3014
-
3015
- if (!parseResult) {
3016
- return null;
3017
- }
3018
-
3019
- var value = args.valueCallback ? args.valueCallback(parseResult[0]) : parseResult[0];
3020
- value = options.valueCallback ? options.valueCallback(value) : value;
3021
- return {
3022
- value: value,
3023
- rest: string.slice(matchedString.length)
3024
- };
3025
- };
3026
- }
3027
-
3028
3003
  function buildMatchFn(args) {
3029
- return function (dirtyString, dirtyOptions) {
3030
- var string = String(dirtyString);
3031
- var options = dirtyOptions || {};
3004
+ return function (string) {
3005
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
3032
3006
  var width = options.width;
3033
3007
  var matchPattern = width && args.matchPatterns[width] || args.matchPatterns[args.defaultMatchWidth];
3034
3008
  var matchResult = string.match(matchPattern);
@@ -3039,23 +3013,18 @@ function buildMatchFn(args) {
3039
3013
 
3040
3014
  var matchedString = matchResult[0];
3041
3015
  var parsePatterns = width && args.parsePatterns[width] || args.parsePatterns[args.defaultParseWidth];
3016
+ var key = Array.isArray(parsePatterns) ? findIndex(parsePatterns, function (pattern) {
3017
+ return pattern.test(matchedString);
3018
+ }) : findKey(parsePatterns, function (pattern) {
3019
+ return pattern.test(matchedString);
3020
+ });
3042
3021
  var value;
3043
-
3044
- if (Object.prototype.toString.call(parsePatterns) === '[object Array]') {
3045
- value = findIndex(parsePatterns, function (pattern) {
3046
- return pattern.test(matchedString);
3047
- });
3048
- } else {
3049
- value = findKey(parsePatterns, function (pattern) {
3050
- return pattern.test(matchedString);
3051
- });
3052
- }
3053
-
3054
- value = args.valueCallback ? args.valueCallback(value) : value;
3022
+ value = args.valueCallback ? args.valueCallback(key) : key;
3055
3023
  value = options.valueCallback ? options.valueCallback(value) : value;
3024
+ var rest = string.slice(matchedString.length);
3056
3025
  return {
3057
3026
  value: value,
3058
- rest: string.slice(matchedString.length)
3027
+ rest: rest
3059
3028
  };
3060
3029
  };
3061
3030
  }
@@ -3066,6 +3035,8 @@ function findKey(object, predicate) {
3066
3035
  return key;
3067
3036
  }
3068
3037
  }
3038
+
3039
+ return undefined;
3069
3040
  }
3070
3041
 
3071
3042
  function findIndex(array, predicate) {
@@ -3074,6 +3045,26 @@ function findIndex(array, predicate) {
3074
3045
  return key;
3075
3046
  }
3076
3047
  }
3048
+
3049
+ return undefined;
3050
+ }
3051
+
3052
+ function buildMatchPatternFn(args) {
3053
+ return function (string) {
3054
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
3055
+ var matchResult = string.match(args.matchPattern);
3056
+ if (!matchResult) return null;
3057
+ var matchedString = matchResult[0];
3058
+ var parseResult = string.match(args.parsePattern);
3059
+ if (!parseResult) return null;
3060
+ var value = args.valueCallback ? args.valueCallback(parseResult[0]) : parseResult[0];
3061
+ value = options.valueCallback ? options.valueCallback(value) : value;
3062
+ var rest = string.slice(matchedString.length);
3063
+ return {
3064
+ value: value,
3065
+ rest: rest
3066
+ };
3067
+ };
3077
3068
  }
3078
3069
 
3079
3070
  var matchOrdinalNumberPattern = /^(\d+)(th|st|nd|rd)?/i;
@@ -3181,7 +3172,6 @@ var match = {
3181
3172
  * @author Sasha Koss [@kossnocorp]{@link https://github.com/kossnocorp}
3182
3173
  * @author Lesha Koss [@leshakoss]{@link https://github.com/leshakoss}
3183
3174
  */
3184
-
3185
3175
  var locale = {
3186
3176
  code: 'en-US',
3187
3177
  formatDistance: formatDistance,
@@ -3336,7 +3326,7 @@ function assign(target, dirtyObject) {
3336
3326
  dirtyObject = dirtyObject || {};
3337
3327
 
3338
3328
  for (var property in dirtyObject) {
3339
- if (dirtyObject.hasOwnProperty(property)) {
3329
+ if (Object.prototype.hasOwnProperty.call(dirtyObject, property)) {
3340
3330
  target[property] = dirtyObject[property];
3341
3331
  }
3342
3332
  }
@@ -5304,28 +5294,28 @@ var unescapedLatinCharacterRegExp = /[a-zA-Z]/;
5304
5294
  * | Day of week (formatting) | 90 | E..EEE | Mon, Tue, Wed, ..., Sun | |
5305
5295
  * | | | EEEE | Monday, Tuesday, ..., Sunday | 2 |
5306
5296
  * | | | EEEEE | M, T, W, T, F, S, S | |
5307
- * | | | EEEEEE | Mo, Tu, We, Th, Fr, Su, Sa | |
5297
+ * | | | EEEEEE | Mo, Tu, We, Th, Fr, Sa, Su | |
5308
5298
  * | ISO day of week (formatting) | 90 | i | 1, 2, 3, ..., 7 | 5 |
5309
5299
  * | | | io | 1st, 2nd, ..., 7th | 5 |
5310
5300
  * | | | ii | 01, 02, ..., 07 | 5 |
5311
5301
  * | | | iii | Mon, Tue, Wed, ..., Sun | 5 |
5312
5302
  * | | | iiii | Monday, Tuesday, ..., Sunday | 2,5 |
5313
5303
  * | | | iiiii | M, T, W, T, F, S, S | 5 |
5314
- * | | | iiiiii | Mo, Tu, We, Th, Fr, Su, Sa | 5 |
5304
+ * | | | iiiiii | Mo, Tu, We, Th, Fr, Sa, Su | 5 |
5315
5305
  * | Local day of week (formatting) | 90 | e | 2, 3, 4, ..., 1 | |
5316
5306
  * | | | eo | 2nd, 3rd, ..., 1st | 5 |
5317
5307
  * | | | ee | 02, 03, ..., 01 | |
5318
5308
  * | | | eee | Mon, Tue, Wed, ..., Sun | |
5319
5309
  * | | | eeee | Monday, Tuesday, ..., Sunday | 2 |
5320
5310
  * | | | eeeee | M, T, W, T, F, S, S | |
5321
- * | | | eeeeee | Mo, Tu, We, Th, Fr, Su, Sa | |
5311
+ * | | | eeeeee | Mo, Tu, We, Th, Fr, Sa, Su | |
5322
5312
  * | Local day of week (stand-alone) | 90 | c | 2, 3, 4, ..., 1 | |
5323
5313
  * | | | co | 2nd, 3rd, ..., 1st | 5 |
5324
5314
  * | | | cc | 02, 03, ..., 01 | |
5325
5315
  * | | | ccc | Mon, Tue, Wed, ..., Sun | |
5326
5316
  * | | | cccc | Monday, Tuesday, ..., Sunday | 2 |
5327
5317
  * | | | ccccc | M, T, W, T, F, S, S | |
5328
- * | | | cccccc | Mo, Tu, We, Th, Fr, Su, Sa | |
5318
+ * | | | cccccc | Mo, Tu, We, Th, Fr, Sa, Su | |
5329
5319
  * | AM, PM | 80 | a..aaa | AM, PM | |
5330
5320
  * | | | aaaa | a.m., p.m. | 2 |
5331
5321
  * | | | aaaaa | a, p | |
@@ -5564,9 +5554,9 @@ function parse(dirtyDateString, dirtyFormatString, dirtyReferenceDate, dirtyOpti
5564
5554
  var subFnOptions = {
5565
5555
  firstWeekContainsDate: firstWeekContainsDate,
5566
5556
  weekStartsOn: weekStartsOn,
5567
- locale: locale$1 // If timezone isn't specified, it will be set to the system timezone
5557
+ locale: locale$1
5558
+ }; // If timezone isn't specified, it will be set to the system timezone
5568
5559
 
5569
- };
5570
5560
  var setters = [{
5571
5561
  priority: TIMEZONE_UNIT_PRIORITY,
5572
5562
  subPriority: -1,
@@ -6939,7 +6929,7 @@ function OverlayPanel(_a) {
6939
6929
  }
6940
6930
  return (jsx(BeeSoftTransition, __assign({ start: visibility, timeout: transitionDuration, showTransitionOptions: showTransitionOptions, hideTransitionOptions: hideTransitionOptions, onEntering: onEntering, onEntered: onEntered, onExit: onExit, onExited: onExited }, { children: function (_a) {
6941
6931
  var state = _a.state, defaultStyle = _a.defaultStyle, transitionStyles = _a.transitionStyles;
6942
- return (jsx("div", __assign({ className: "bsc-absolute bsc-bg-white dark:bsc-bg-gray-900 bsc-border bsc-border-solid dark:bsc-text-white dark:bsc-border-white bsc-shadow", style: __assign(__assign(__assign({}, baseStyles), defaultStyle), transitionStyles[state]), ref: function (element) { return element && onMarkupCreated(element); } }, { children: children }), void 0));
6932
+ return (jsx("div", __assign({ className: "absolute bg-white dark:bg-gray-900 border border-solid dark:text-white dark:border-white shadow", style: __assign(__assign(__assign({}, baseStyles), defaultStyle), transitionStyles[state]), ref: function (element) { return element && onMarkupCreated(element); } }, { children: children }), void 0));
6943
6933
  } }), void 0));
6944
6934
  };
6945
6935
  return ReactDOM.createPortal(createElement(), appendTo);
@@ -7546,11 +7536,11 @@ function ContentEditableInput(props, ref) {
7546
7536
  useImperativeHandle(ref, function () { return ({
7547
7537
  focus: focus,
7548
7538
  }); });
7549
- var classNames = classnames({ 'bsc-w-full ': fillContainer }, 'bsc-flex bsc-flex-row bsc-shadow-sm bsc-border bsc-border-solid bsc-border-gray-300 dark:bsc-border-white dark:bsc-bg-gray-900 dark:bsc-text-white bsc-rounded-md bsc-p-2', className);
7550
- var leftElementClasses = classnames('bsc-flex-shrink', { 'bsc-mr-2': leftElement }, leftElementClassName);
7551
- var rightElementClasses = classnames('bsc-flex-shrink', { 'bsc-ml-2': rightElement }, rightElementClassName);
7539
+ var classNames = classnames({ 'w-full ': fillContainer }, 'flex flex-row shadow-sm border border-solid border-gray-300 dark:border-white dark:bg-gray-900 dark:text-white rounded-md p-2', className);
7540
+ var leftElementClasses = classnames('flex-shrink', { 'mr-2': leftElement }, leftElementClassName);
7541
+ var rightElementClasses = classnames('flex-shrink', { 'ml-2': rightElement }, rightElementClassName);
7552
7542
  return (jsxs("div", __assign({ className: classNames, ref: function (element) { return onElementCreated(element); } }, { children: [jsx("div", __assign({ className: leftElementClasses, onClick: onLeftElementClicked }, { children: leftElement }), void 0),
7553
- jsx("div", __assign({ ref: inputRef, className: "bsc-flex-grow focus:bsc-outline-none", contentEditable: !readOnly, suppressContentEditableWarning: true, onFocus: onFocused, onInput: onInputChanged }, { children: value }), void 0),
7543
+ jsx("div", __assign({ ref: inputRef, className: "flex-grow focus:outline-none", contentEditable: !readOnly, suppressContentEditableWarning: true, onFocus: onFocused, onInput: onInputChanged }, { children: value }), void 0),
7554
7544
  jsx("div", __assign({ className: rightElementClasses, onClick: onRightElementClicked }, { children: rightElement }), void 0)] }), void 0));
7555
7545
  }
7556
7546
  var ContentEditableInput$1 = forwardRef(ContentEditableInput);
@@ -7653,32 +7643,6 @@ function subMonths(dirtyDate, dirtyAmount) {
7653
7643
  return addMonths(dirtyDate, -amount);
7654
7644
  }
7655
7645
 
7656
- function useKeyDown(keyCode) {
7657
- var _a = useState(false), keyDown = _a[0], setKeyDown = _a[1];
7658
- var keyCodes = typeof keyCode === 'string' ? [keyCode] : keyCode;
7659
- var downHandler = function (_a) {
7660
- var key = _a.key;
7661
- if (keyCodes.includes(key)) {
7662
- setKeyDown(true);
7663
- }
7664
- };
7665
- var upHandler = function (_a) {
7666
- var key = _a.key;
7667
- if (keyCodes.includes(key)) {
7668
- setKeyDown(false);
7669
- }
7670
- };
7671
- useEffect(function () {
7672
- window.addEventListener('keydown', downHandler);
7673
- window.addEventListener('keyup', upHandler);
7674
- return function () {
7675
- window.removeEventListener('keydown', downHandler);
7676
- window.removeEventListener('keyup', upHandler);
7677
- };
7678
- }, []);
7679
- return keyDown;
7680
- }
7681
-
7682
7646
  /**
7683
7647
  * @name addDays
7684
7648
  * @category Day Helpers
@@ -7720,6 +7684,36 @@ function addDays(dirtyDate, dirtyAmount) {
7720
7684
  return date;
7721
7685
  }
7722
7686
 
7687
+ /**
7688
+ * @name startOfDay
7689
+ * @category Day Helpers
7690
+ * @summary Return the start of a day for the given date.
7691
+ *
7692
+ * @description
7693
+ * Return the start of a day for the given date.
7694
+ * The result will be in the local timezone.
7695
+ *
7696
+ * ### v2.0.0 breaking changes:
7697
+ *
7698
+ * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).
7699
+ *
7700
+ * @param {Date|Number} date - the original date
7701
+ * @returns {Date} the start of a day
7702
+ * @throws {TypeError} 1 argument required
7703
+ *
7704
+ * @example
7705
+ * // The start of a day for 2 September 2014 11:55:00:
7706
+ * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))
7707
+ * //=> Tue Sep 02 2014 00:00:00
7708
+ */
7709
+
7710
+ function startOfDay(dirtyDate) {
7711
+ requiredArgs(1, arguments);
7712
+ var date = toDate(dirtyDate);
7713
+ date.setHours(0, 0, 0, 0);
7714
+ return date;
7715
+ }
7716
+
7723
7717
  /**
7724
7718
  * @name addYears
7725
7719
  * @category Year Helpers
@@ -7749,6 +7743,36 @@ function addYears(dirtyDate, dirtyAmount) {
7749
7743
  return addMonths(dirtyDate, amount * 12);
7750
7744
  }
7751
7745
 
7746
+ /**
7747
+ * @name isSameDay
7748
+ * @category Day Helpers
7749
+ * @summary Are the given dates in the same day?
7750
+ *
7751
+ * @description
7752
+ * Are the given dates in the same day?
7753
+ *
7754
+ * ### v2.0.0 breaking changes:
7755
+ *
7756
+ * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).
7757
+ *
7758
+ * @param {Date|Number} dateLeft - the first date to check
7759
+ * @param {Date|Number} dateRight - the second date to check
7760
+ * @returns {Boolean} the dates are in the same day
7761
+ * @throws {TypeError} 2 arguments required
7762
+ *
7763
+ * @example
7764
+ * // Are 4 September 06:00:00 and 4 September 18:00:00 in the same day?
7765
+ * var result = isSameDay(new Date(2014, 8, 4, 6, 0), new Date(2014, 8, 4, 18, 0))
7766
+ * //=> true
7767
+ */
7768
+
7769
+ function isSameDay(dirtyDateLeft, dirtyDateRight) {
7770
+ requiredArgs(2, arguments);
7771
+ var dateLeftStartOfDay = startOfDay(dirtyDateLeft);
7772
+ var dateRightStartOfDay = startOfDay(dirtyDateRight);
7773
+ return dateLeftStartOfDay.getTime() === dateRightStartOfDay.getTime();
7774
+ }
7775
+
7752
7776
  /**
7753
7777
  * @name eachDayOfInterval
7754
7778
  * @category Interval Helpers
@@ -7884,7 +7908,7 @@ function startOfMonth(dirtyDate) {
7884
7908
  *
7885
7909
  * @example
7886
7910
  * // Each year between 6 February 2014 and 10 August 2017:
7887
- * var result = eachYearOfInterval({
7911
+ * const result = eachYearOfInterval({
7888
7912
  * start: new Date(2014, 1, 6),
7889
7913
  * end: new Date(2017, 7, 10)
7890
7914
  * })
@@ -8043,7 +8067,37 @@ function subDays(dirtyDate, dirtyAmount) {
8043
8067
  return addDays(dirtyDate, -amount);
8044
8068
  }
8045
8069
 
8046
- var baseMap = [7, 6, 5, 4, 3, 2, 1];
8070
+ /**
8071
+ * @name isToday
8072
+ * @category Day Helpers
8073
+ * @summary Is the given date today?
8074
+ * @pure false
8075
+ *
8076
+ * @description
8077
+ * Is the given date today?
8078
+ *
8079
+ * > ⚠️ Please note that this function is not present in the FP submodule as
8080
+ * > it uses `Date.now()` internally hence impure and can't be safely curried.
8081
+ *
8082
+ * ### v2.0.0 breaking changes:
8083
+ *
8084
+ * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).
8085
+ *
8086
+ * @param {Date|Number} date - the date to check
8087
+ * @returns {Boolean} the date is today
8088
+ * @throws {TypeError} 1 argument required
8089
+ *
8090
+ * @example
8091
+ * // If today is 6 October 2014, is 6 October 14:00:00 today?
8092
+ * var result = isToday(new Date(2014, 9, 6, 14, 0))
8093
+ * //=> true
8094
+ */
8095
+
8096
+ function isToday(dirtyDate) {
8097
+ requiredArgs(1, arguments);
8098
+ return isSameDay(dirtyDate, Date.now());
8099
+ }
8100
+
8047
8101
  /**
8048
8102
  * @name nextDay
8049
8103
  * @category Weekday Helpers
@@ -8070,18 +8124,9 @@ var baseMap = [7, 6, 5, 4, 3, 2, 1];
8070
8124
 
8071
8125
  function nextDay(date, day) {
8072
8126
  requiredArgs(2, arguments);
8073
- var map = genMap(day);
8074
- return addDays(toDate(date), map[getDay(toDate(date))]);
8075
- }
8076
-
8077
- function genMap(daysToMove) {
8078
- if (daysToMove === 0) {
8079
- return baseMap;
8080
- } else {
8081
- var mapStart = baseMap.slice(-daysToMove);
8082
- var mapEnd = baseMap.slice(0, baseMap.length - daysToMove);
8083
- return mapStart.concat(mapEnd);
8084
- }
8127
+ var delta = day - getDay(date);
8128
+ if (delta <= 0) delta += 7;
8129
+ return addDays(date, delta);
8085
8130
  }
8086
8131
 
8087
8132
  /**
@@ -8188,6 +8233,32 @@ function subYears(dirtyDate, dirtyAmount) {
8188
8233
  return addYears(dirtyDate, -amount);
8189
8234
  }
8190
8235
 
8236
+ function useKeyDown(keyCode) {
8237
+ var _a = useState(false), keyDown = _a[0], setKeyDown = _a[1];
8238
+ var keyCodes = typeof keyCode === 'string' ? [keyCode] : keyCode;
8239
+ var downHandler = function (_a) {
8240
+ var key = _a.key;
8241
+ if (keyCodes.includes(key)) {
8242
+ setKeyDown(true);
8243
+ }
8244
+ };
8245
+ var upHandler = function (_a) {
8246
+ var key = _a.key;
8247
+ if (keyCodes.includes(key)) {
8248
+ setKeyDown(false);
8249
+ }
8250
+ };
8251
+ useEffect(function () {
8252
+ window.addEventListener('keydown', downHandler);
8253
+ window.addEventListener('keyup', upHandler);
8254
+ return function () {
8255
+ window.removeEventListener('keydown', downHandler);
8256
+ window.removeEventListener('keyup', upHandler);
8257
+ };
8258
+ }, []);
8259
+ return keyDown;
8260
+ }
8261
+
8191
8262
  function getMonthMatrix(matrixDate, locale, loadOtherMonths) {
8192
8263
  var _a, _b;
8193
8264
  if (loadOtherMonths === void 0) { loadOtherMonths = true; }
@@ -8327,6 +8398,14 @@ function loadLocale(localeToLoad) {
8327
8398
  .catch(function (error) { return reject(error); });
8328
8399
  });
8329
8400
  }
8401
+ function createDefaultColors() {
8402
+ return {
8403
+ inputBgColor: 'bg-white',
8404
+ readOnlyInputBgColor: 'bg-gray-200',
8405
+ selectedDateColor: 'bg-blue-100',
8406
+ todayDateColor: 'bg-green-100',
8407
+ };
8408
+ }
8330
8409
 
8331
8410
  var DateSelectionType;
8332
8411
  (function (DateSelectionType) {
@@ -8357,6 +8436,7 @@ var CalendarIconPosition;
8357
8436
  (function (CalendarIconPosition) {
8358
8437
  CalendarIconPosition[CalendarIconPosition["Right"] = 0] = "Right";
8359
8438
  CalendarIconPosition[CalendarIconPosition["Left"] = 1] = "Left";
8439
+ CalendarIconPosition[CalendarIconPosition["None"] = 2] = "None";
8360
8440
  })(CalendarIconPosition || (CalendarIconPosition = {}));
8361
8441
 
8362
8442
  var DateTimeActionType;
@@ -8523,29 +8603,32 @@ function DateTimeCalendar(_a) {
8523
8603
  isSelectedDate: isSelectedDate,
8524
8604
  isInSelectedDateRange: isInSelectedDateRange,
8525
8605
  };
8526
- var defaultTemplate = function (props, children) { return (jsx("div", __assign({ className: "bsc-w-full bc-dt-calendar" }, { children: children }), void 0)); };
8606
+ var defaultTemplate = function (props, children) { return (jsx("div", __assign({ className: "w-full bc-dt-calendar" }, { children: children }), void 0)); };
8527
8607
  var template = viewTemplate || defaultTemplate;
8528
- return (jsx(TemplateOutlet, __assign({ props: templateProps, template: template }, { children: jsxs("div", __assign({ className: "bsc-grid bsc-grid-cols-7 bsc-gap-3 bc-dt-day-row" }, { children: [(_b = weekDaysRef.current) === null || _b === void 0 ? void 0 : _b.map(function (day, index) { return (jsx("div", __assign({ className: "bsc-text-center bsc-font-bold bc-dt-day-cell" }, { children: day }), index)); }),
8608
+ return (jsx(TemplateOutlet, __assign({ props: templateProps, template: template }, { children: jsxs("div", __assign({ className: "grid grid-cols-7 gap-3 bc-dt-day-row" }, { children: [(_b = weekDaysRef.current) === null || _b === void 0 ? void 0 : _b.map(function (day, index) { return (jsx("div", __assign({ className: "text-center font-bold bc-dt-day-cell" }, { children: day }), index)); }),
8529
8609
  monthMatrix === null || monthMatrix === void 0 ? void 0 : monthMatrix.map(function (row, rIndex) {
8530
8610
  return row.map(function (column, cIndex) {
8531
- var _a, _b;
8611
+ var _a;
8612
+ var _b, _c;
8532
8613
  var isSelectable = column.dayValue !== null && (selectableDate === undefined || selectableDate(column.dayValue));
8533
- var dayStyles = classnames('bsc-text-center bsc-py-1', {
8534
- 'bsc-text-gray-400': !column.isCurrent,
8535
- 'bsc-bg-blue-100 dark:bsc-bg-white dark:bsc-text-black bsc-rounded-full': column &&
8614
+ var dayStyles = classnames('text-center py-1', (_a = {
8615
+ 'text-gray-400': !column.isCurrent
8616
+ },
8617
+ _a[(context.colors.selectedDateColor || 'bg-blue-100') + " dark:bg-white dark:text-black rounded-full"] = column &&
8536
8618
  column.dayValue &&
8537
8619
  ((selectedDateRef.current && isSelectedDate(column.dayValue)) ||
8538
8620
  (selectedStartComparison && selectedEndComparison && isInSelectedDateRange(column.dayValue))),
8539
- 'bsc-cursor-pointer': isSelectable,
8540
- 'bsc-text-red-300 bsc-cursor-not-allowed': !isSelectable,
8541
- }, 'bc-dt-date-cell');
8621
+ _a['cursor-pointer'] = isSelectable,
8622
+ _a['text-red-300 cursor-not-allowed'] = !isSelectable,
8623
+ _a[(context.colors.todayDateColor || 'bg-green-100') + " dark:text-black rounded-full"] = column.dayValue && isToday(column.dayValue) && !isSelectedDate(column.dayValue),
8624
+ _a), 'bc-dt-date-cell');
8542
8625
  return (jsx("div", __assign({ className: dayStyles, onClick: function () {
8543
8626
  return column &&
8544
8627
  column.dayValue &&
8545
8628
  isSelectable &&
8546
8629
  (isValidDate === undefined || isValidDate(column.dayValue)) &&
8547
8630
  onDateClicked(column.dayValue);
8548
- } }, { children: (_a = column.dayValue) === null || _a === void 0 ? void 0 : _a.getDate().toLocaleString((_b = loadedLocale.current) === null || _b === void 0 ? void 0 : _b.code) }), rIndex.toString() + cIndex.toString()));
8631
+ } }, { children: (_b = column.dayValue) === null || _b === void 0 ? void 0 : _b.getDate().toLocaleString((_c = loadedLocale.current) === null || _c === void 0 ? void 0 : _c.code) }), rIndex.toString() + cIndex.toString()));
8549
8632
  });
8550
8633
  })] }), void 0) }), void 0));
8551
8634
  }
@@ -8561,11 +8644,11 @@ function DateTimeScroller(_a) {
8561
8644
  onMovePrevious: onMovePrevious,
8562
8645
  onMoveNext: onMoveNext,
8563
8646
  };
8564
- var defaultTemplate = function (props, children) { return (jsx("div", __assign({ className: "bsc-w-full bsc-flex bsc-flex-row bsc-py-1 bsc-px-2 bc-dt-scroller" }, { children: children }), void 0)); };
8647
+ var defaultTemplate = function (props, children) { return (jsx("div", __assign({ className: "w-full flex flex-row py-1 px-2 bc-dt-scroller" }, { children: children }), void 0)); };
8565
8648
  var template = viewTemplate || defaultTemplate;
8566
- return (jsxs(TemplateOutlet, __assign({ props: templateProps, template: template }, { children: [jsx("div", __assign({ className: "bsc-flex-shrink bsc-cursor-pointer bc-dt-scroller-left" }, { children: jsx("button", __assign({ className: "focus:bsc-outline-none", onClick: onMovePrevious }, { children: jsx(FontAwesomeIcon, { icon: ['fas', 'angle-left'] }, void 0) }), void 0) }), void 0),
8567
- jsx("div", __assign({ className: "bsc-flex-grow bsc-text-center bsc-cursor-pointer bc-dt-scroller-title", onClick: onTitleClicked }, { children: title }), void 0),
8568
- jsx("div", __assign({ className: "bsc-flex-shrink bsc-cursor-pointer bc-dt-scroller-right" }, { children: jsx("button", __assign({ className: "focus:bsc-outline-none", onClick: onMoveNext }, { children: jsx(FontAwesomeIcon, { icon: ['fas', 'angle-right'] }, void 0) }), void 0) }), void 0)] }), void 0));
8649
+ return (jsxs(TemplateOutlet, __assign({ props: templateProps, template: template }, { children: [jsx("div", __assign({ className: "flex-shrink cursor-pointer bc-dt-scroller-left" }, { children: jsx("button", __assign({ className: "focus:outline-none", onClick: onMovePrevious }, { children: jsx(FontAwesomeIcon, { icon: ['fas', 'angle-left'] }, void 0) }), void 0) }), void 0),
8650
+ jsx("div", __assign({ className: "flex-grow text-center cursor-pointer bc-dt-scroller-title", onClick: onTitleClicked }, { children: title }), void 0),
8651
+ jsx("div", __assign({ className: "flex-shrink cursor-pointer bc-dt-scroller-right" }, { children: jsx("button", __assign({ className: "focus:outline-none", onClick: onMoveNext }, { children: jsx(FontAwesomeIcon, { icon: ['fas', 'angle-right'] }, void 0) }), void 0) }), void 0)] }), void 0));
8569
8652
  }
8570
8653
 
8571
8654
  function DateTimeDaySelector(_a) {
@@ -8605,9 +8688,9 @@ function DateTimeDaySelector(_a) {
8605
8688
  }
8606
8689
  return '';
8607
8690
  };
8608
- return (jsxs("div", __assign({ className: "bsc-p-2 bc-dt-day-selector" }, { children: [jsx(DateTimeScroller, { title: getCurrentMonthYear(), scrollerType: DateScrollerType.Day, onTitleClicked: onMonthClicked, onMovePrevious: movePreviousMonth, onMoveNext: moveNextMonth }, void 0),
8691
+ return (jsxs("div", __assign({ className: "p-2 bc-dt-day-selector" }, { children: [jsx(DateTimeScroller, { title: getCurrentMonthYear(), scrollerType: DateScrollerType.Day, onTitleClicked: onMonthClicked, onMovePrevious: movePreviousMonth, onMoveNext: moveNextMonth }, void 0),
8609
8692
  jsx(DateTimeCalendar, { viewDate: viewDate, selectedDate: selectedDate, locale: locale, selectableDate: selectableDate, isValidDate: isValidDate, dispatcher: dispatcher }, void 0),
8610
- showTimeSelector && (jsx("div", __assign({ className: "bsc-w-full bsc-flex bsc-flex-row bsc-p-2 bsc-justify-center bc-dt-time-value-wrapper" }, { children: jsx("div", __assign({ className: "bsc-p-2 bsc-cursor-pointer hover:bsc-bg-gray-300 dark:hover:bsc-bg-white dark:hover:bsc-text-black dark:bsc-text-white bc-dt-time-value", onClick: onTimeClicked }, { children: (selectedDate === null || selectedDate === void 0 ? void 0 : selectedDate.toLocaleTimeString(locale.code)) || getDefaultTime(locale) }), void 0) }), void 0))] }), void 0));
8693
+ showTimeSelector && (jsx("div", __assign({ className: "w-full flex flex-row p-2 justify-center bc-dt-time-value-wrapper" }, { children: jsx("div", __assign({ className: "p-2 cursor-pointer hover:bg-gray-300 dark:hover:bg-white dark:hover:text-black dark:text-white bc-dt-time-value", onClick: onTimeClicked }, { children: (selectedDate === null || selectedDate === void 0 ? void 0 : selectedDate.toLocaleTimeString(locale.code)) || getDefaultTime(locale) }), void 0) }), void 0))] }), void 0));
8611
8694
  }
8612
8695
 
8613
8696
  function DateTimeMonthSelector(_a) {
@@ -8643,9 +8726,9 @@ function DateTimeMonthSelector(_a) {
8643
8726
  type: DateTimeActionType.YearSelector,
8644
8727
  });
8645
8728
  };
8646
- return (jsxs("div", __assign({ className: "bsc-p-2 bc-dt-month-selector", style: { minWidth: '20rem' } }, { children: [jsx(DateTimeScroller, { title: getCurrentYear(), scrollerType: DateScrollerType.Month, onTitleClicked: onYearClicked, onMovePrevious: movePreviousYear, onMoveNext: moveNextYear }, void 0),
8647
- jsx("div", __assign({ className: "bsc-w-full bsc-grid bsc-grid-cols-4 bsc-gap-4 bc-dt-month-grid" }, { children: monthMatrix.current.map(function (row, rIndex) {
8648
- return row.map(function (column, cIndex) { return (jsx("div", __assign({ className: "bsc-text-center bsc-cursor-pointer bc-dt-month-cell", onClick: function () { return onMonthClicked(column.monthNumber); } }, { children: column.monthName }), rIndex.toString() + cIndex.toString())); });
8729
+ return (jsxs("div", __assign({ className: "p-2 bc-dt-month-selector", style: { minWidth: '20rem' } }, { children: [jsx(DateTimeScroller, { title: getCurrentYear(), scrollerType: DateScrollerType.Month, onTitleClicked: onYearClicked, onMovePrevious: movePreviousYear, onMoveNext: moveNextYear }, void 0),
8730
+ jsx("div", __assign({ className: "w-full grid grid-cols-4 gap-4 bc-dt-month-grid" }, { children: monthMatrix.current.map(function (row, rIndex) {
8731
+ return row.map(function (column, cIndex) { return (jsx("div", __assign({ className: "text-center cursor-pointer bc-dt-month-cell", onClick: function () { return onMonthClicked(column.monthNumber); } }, { children: column.monthName }), rIndex.toString() + cIndex.toString())); });
8649
8732
  }) }), void 0)] }), void 0));
8650
8733
  }
8651
8734
 
@@ -8688,9 +8771,9 @@ function DateTimeRangeSelector(_a) {
8688
8771
  });
8689
8772
  }
8690
8773
  };
8691
- return (jsxs("div", __assign({ className: "bsc-flex bsc-flex-col bc-dt-range-selector" }, { children: [jsx("div", __assign({ className: "bsc-flex-shrink bc-dt-range-scroller-wrapper" }, { children: jsx(DateTimeScroller, { title: getSelectorTitle(), scrollerType: DateScrollerType.Range, onMovePrevious: movePreviousMonth, onMoveNext: moveNextMonth }, void 0) }), void 0),
8692
- jsx("div", __assign({ className: "bsc-flex-grow" }, { children: jsxs("div", __assign({ className: "bsc-flex bsc-flex-row bsc-py-1 bsc-px-2 bc-dt-range-wrapper" }, { children: [jsx("div", __assign({ className: "bsc-border-r bsc-border-solid bsc-border-gray-400 bsc-pr-4 bc-dt-range-calendar-1" }, { children: jsx(DateTimeCalendar, { viewDate: viewDate, selectedStartDate: selectedStartDate, selectedEndDate: selectedEndDate, selectionMode: CalendarSelectionMode.Range, onDateSelected: onDateSelected, locale: locale, dispatcher: dispatcher }, void 0) }), void 0),
8693
- jsx("div", __assign({ className: "bsc-pl-4 bc-dt-range-calendar-2" }, { children: jsx(DateTimeCalendar, { viewDate: nextMonth, selectedStartDate: selectedStartDate, selectedEndDate: selectedEndDate, selectionMode: CalendarSelectionMode.Range, onDateSelected: onDateSelected, locale: locale, dispatcher: dispatcher }, void 0) }), void 0)] }), void 0) }), void 0)] }), void 0));
8774
+ return (jsxs("div", __assign({ className: "flex flex-col bc-dt-range-selector" }, { children: [jsx("div", __assign({ className: "flex-shrink bc-dt-range-scroller-wrapper" }, { children: jsx(DateTimeScroller, { title: getSelectorTitle(), scrollerType: DateScrollerType.Range, onMovePrevious: movePreviousMonth, onMoveNext: moveNextMonth }, void 0) }), void 0),
8775
+ jsx("div", __assign({ className: "flex-grow" }, { children: jsxs("div", __assign({ className: "flex flex-row py-1 px-2 bc-dt-range-wrapper" }, { children: [jsx("div", __assign({ className: "border-r border-solid border-gray-400 pr-4 bc-dt-range-calendar-1" }, { children: jsx(DateTimeCalendar, { viewDate: viewDate, selectedStartDate: selectedStartDate, selectedEndDate: selectedEndDate, selectionMode: CalendarSelectionMode.Range, onDateSelected: onDateSelected, locale: locale, dispatcher: dispatcher }, void 0) }), void 0),
8776
+ jsx("div", __assign({ className: "pl-4 bc-dt-range-calendar-2" }, { children: jsx(DateTimeCalendar, { viewDate: nextMonth, selectedStartDate: selectedStartDate, selectedEndDate: selectedEndDate, selectionMode: CalendarSelectionMode.Range, onDateSelected: onDateSelected, locale: locale, dispatcher: dispatcher }, void 0) }), void 0)] }), void 0) }), void 0)] }), void 0));
8694
8777
  }
8695
8778
 
8696
8779
  function DateTimeTimeSelector(_a) {
@@ -8757,19 +8840,19 @@ function DateTimeTimeSelector(_a) {
8757
8840
  type: DateTimeActionType.DaySelector,
8758
8841
  });
8759
8842
  };
8760
- return (jsx("div", __assign({ className: "bsc-flex bsc-flex-row bsc-justify-center bsc-p-2 bc-dt-time-selector", style: { minWidth: '15rem' } }, { children: jsxs("div", __assign({ className: "bsc-w-full bsc-grid bsc-grid-cols-4 bsc-gap-4 bc-dt-time-grid" }, { children: [showDateSelector && (jsx("div", __assign({ className: "bsc-text-center bsc-cursor-pointer hover:bsc-bg-gray-300 dark:bsc-text-white dark:hover:bsc-bg-white dark:hover:bsc-text-black bsc-col-span-4 bc-dt-time-date-value", onClick: onDateClicked }, { children: dateString.current }), void 0)),
8761
- jsx("div", __assign({ className: "bsc-text-center bsc-cursor-pointer bc-dt-time-hour-increase" }, { children: jsx("button", __assign({ className: "focus:bsc-outline-none", onClick: increaseHour }, { children: jsx(FontAwesomeIcon, { icon: ['fas', 'chevron-up'] }, void 0) }), void 0) }), void 0),
8843
+ return (jsx("div", __assign({ className: "flex flex-row justify-center p-2 bc-dt-time-selector", style: { minWidth: '15rem' } }, { children: jsxs("div", __assign({ className: "w-full grid grid-cols-4 gap-4 bc-dt-time-grid" }, { children: [showDateSelector && (jsx("div", __assign({ className: "text-center cursor-pointer hover:bg-gray-300 dark:text-white dark:hover:bg-white dark:hover:text-black col-span-4 bc-dt-time-date-value", onClick: onDateClicked }, { children: dateString.current }), void 0)),
8844
+ jsx("div", __assign({ className: "text-center cursor-pointer bc-dt-time-hour-increase" }, { children: jsx("button", __assign({ className: "focus:outline-none", onClick: increaseHour }, { children: jsx(FontAwesomeIcon, { icon: ['fas', 'chevron-up'] }, void 0) }), void 0) }), void 0),
8762
8845
  jsx("div", { children: "\u00A0" }, void 0),
8763
- jsx("div", __assign({ className: "bsc-text-center bsc-cursor-pointer bc-dt-time-minute-increase" }, { children: jsx("button", __assign({ className: "focus:bsc-outline-none", onClick: increaseMinute }, { children: jsx(FontAwesomeIcon, { icon: ['fas', 'chevron-up'] }, void 0) }), void 0) }), void 0),
8764
- jsx("div", __assign({ className: "bsc-text-center bsc-cursor-pointer bc-dt-time-meridian-increase" }, { children: jsx("button", __assign({ className: "focus:bsc-outline-none", onClick: changeMeridian }, { children: jsx(FontAwesomeIcon, { icon: ['fas', 'chevron-up'] }, void 0) }), void 0) }), void 0),
8765
- jsx("div", __assign({ className: "bsc-text-center bc-dt-time-hour-value" }, { children: hours.current[currentHour] }), void 0),
8766
- jsx("div", __assign({ className: "bsc-text-center bc-dt-time-separator" }, { children: ":" }), void 0),
8767
- jsx("div", __assign({ className: "bsc-text-center bc-dt-time-minute-value" }, { children: minutes.current[currentMinute] }), void 0),
8768
- jsx("div", __assign({ className: "bsc-text-center bc-dt-time-meridian-value" }, { children: ampm.current[currentMeridian] }), void 0),
8769
- jsx("div", __assign({ className: "bsc-text-center bsc-cursor-pointer bc-dt-time-hour-decrease" }, { children: jsx("button", __assign({ className: "focus:bsc-outline-none", onClick: decreaseHour }, { children: jsx(FontAwesomeIcon, { icon: ['fas', 'chevron-down'] }, void 0) }), void 0) }), void 0),
8846
+ jsx("div", __assign({ className: "text-center cursor-pointer bc-dt-time-minute-increase" }, { children: jsx("button", __assign({ className: "focus:outline-none", onClick: increaseMinute }, { children: jsx(FontAwesomeIcon, { icon: ['fas', 'chevron-up'] }, void 0) }), void 0) }), void 0),
8847
+ jsx("div", __assign({ className: "text-center cursor-pointer bc-dt-time-meridian-increase" }, { children: jsx("button", __assign({ className: "focus:outline-none", onClick: changeMeridian }, { children: jsx(FontAwesomeIcon, { icon: ['fas', 'chevron-up'] }, void 0) }), void 0) }), void 0),
8848
+ jsx("div", __assign({ className: "text-center bc-dt-time-hour-value" }, { children: hours.current[currentHour] }), void 0),
8849
+ jsx("div", __assign({ className: "text-center bc-dt-time-separator" }, { children: ":" }), void 0),
8850
+ jsx("div", __assign({ className: "text-center bc-dt-time-minute-value" }, { children: minutes.current[currentMinute] }), void 0),
8851
+ jsx("div", __assign({ className: "text-center bc-dt-time-meridian-value" }, { children: ampm.current[currentMeridian] }), void 0),
8852
+ jsx("div", __assign({ className: "text-center cursor-pointer bc-dt-time-hour-decrease" }, { children: jsx("button", __assign({ className: "focus:outline-none", onClick: decreaseHour }, { children: jsx(FontAwesomeIcon, { icon: ['fas', 'chevron-down'] }, void 0) }), void 0) }), void 0),
8770
8853
  jsx("div", { children: "\u00A0" }, void 0),
8771
- jsx("div", __assign({ className: "bsc-text-center bsc-cursor-pointer bc-dt-time-minute-decrease" }, { children: jsx("button", __assign({ className: "focus:bsc-outline-none", onClick: decreaseMinute }, { children: jsx(FontAwesomeIcon, { icon: ['fas', 'chevron-down'] }, void 0) }), void 0) }), void 0),
8772
- jsx("div", __assign({ className: "bsc-text-center bsc-cursor-pointer bc-dt-time-meridian-decrease" }, { children: jsx("button", __assign({ className: "focus:bsc-outline-none", onClick: changeMeridian }, { children: jsx(FontAwesomeIcon, { icon: ['fas', 'chevron-down'] }, void 0) }), void 0) }), void 0)] }), void 0) }), void 0));
8854
+ jsx("div", __assign({ className: "text-center cursor-pointer bc-dt-time-minute-decrease" }, { children: jsx("button", __assign({ className: "focus:outline-none", onClick: decreaseMinute }, { children: jsx(FontAwesomeIcon, { icon: ['fas', 'chevron-down'] }, void 0) }), void 0) }), void 0),
8855
+ jsx("div", __assign({ className: "text-center cursor-pointer bc-dt-time-meridian-decrease" }, { children: jsx("button", __assign({ className: "focus:outline-none", onClick: changeMeridian }, { children: jsx(FontAwesomeIcon, { icon: ['fas', 'chevron-down'] }, void 0) }), void 0) }), void 0)] }), void 0) }), void 0));
8773
8856
  }
8774
8857
 
8775
8858
  function DateTimeYearSelector(_a) {
@@ -8798,21 +8881,22 @@ function DateTimeYearSelector(_a) {
8798
8881
  };
8799
8882
  var getCurrentDecade = function () { return yearMatrix[0][0].toString() + " - " + yearMatrix[2][1].toString(); };
8800
8883
  return (jsxs("div", __assign({ className: "bc-dt-year-selector", style: { minWidth: '20rem' } }, { children: [jsx(DateTimeScroller, { title: getCurrentDecade(), scrollerType: DateScrollerType.Year, onMovePrevious: movePreviousDecade, onMoveNext: moveNextDecade }, void 0),
8801
- jsx("div", __assign({ className: "bsc-w-full bc-dt-year-wrapper" }, { children: jsx("div", __assign({ className: "bsc-grid bsc-grid-cols-4 bsc-gap-4 bc-dt-year-grid" }, { children: yearMatrix.map(function (row, rIndex) {
8802
- return row.map(function (column, cIndex) { return (jsx("div", __assign({ className: "bsc-text-center bsc-cursor-pointer bc-dt-year-cell", onClick: function () { return onYearClicked(column); } }, { children: column }), rIndex.toString() + cIndex.toString())); });
8884
+ jsx("div", __assign({ className: "w-full bc-dt-year-wrapper" }, { children: jsx("div", __assign({ className: "grid grid-cols-4 gap-4 bc-dt-year-grid" }, { children: yearMatrix.map(function (row, rIndex) {
8885
+ return row.map(function (column, cIndex) { return (jsx("div", __assign({ className: "text-center cursor-pointer bc-dt-year-cell", onClick: function () { return onYearClicked(column); } }, { children: column }), rIndex.toString() + cIndex.toString())); });
8803
8886
  }) }), void 0) }), void 0)] }), void 0));
8804
8887
  }
8805
8888
 
8806
8889
  function DateTime(_a) {
8807
- var value = _a.value, _b = _a.readOnly, readOnly = _b === void 0 ? false : _b, label = _a.label, _c = _a.useDefaultDateValue, useDefaultDateValue = _c === void 0 ? false : _c, locale = _a.locale, _d = _a.dateSelection, dateSelection = _d === void 0 ? DateSelectionType.DateTime : _d, dateFormat = _a.dateFormat, timeConstraints = _a.timeConstraints, icon = _a.icon, _e = _a.iconPosition, iconPosition = _e === void 0 ? CalendarIconPosition.Right : _e, inputElement = _a.inputElement, selectableDate = _a.selectableDate, isValidDate = _a.isValidDate, onChange = _a.onChange, calendarTemplate = _a.calendarTemplate, dateScrollerTemplate = _a.dateScrollerTemplate, inputTemplate = _a.inputTemplate;
8808
- var _f = useState(false), selectorOpen = _f[0], setSelectorOpen = _f[1];
8809
- var _g = useState(), dropDownTarget = _g[0], setDropDownTarget = _g[1];
8890
+ var value = _a.value, _b = _a.readOnly, readOnly = _b === void 0 ? false : _b, label = _a.label, _c = _a.useDefaultDateValue, useDefaultDateValue = _c === void 0 ? false : _c, locale = _a.locale, _d = _a.dateSelection, dateSelection = _d === void 0 ? DateSelectionType.DateTime : _d, dateFormat = _a.dateFormat, timeConstraints = _a.timeConstraints, icon = _a.icon, _e = _a.iconPosition, iconPosition = _e === void 0 ? CalendarIconPosition.Right : _e, inputElement = _a.inputElement, _f = _a.colors, colors = _f === void 0 ? createDefaultColors() : _f, selectableDate = _a.selectableDate, isValidDate = _a.isValidDate, onChange = _a.onChange, calendarTemplate = _a.calendarTemplate, dateScrollerTemplate = _a.dateScrollerTemplate, inputTemplate = _a.inputTemplate;
8891
+ var _g = useState(false), selectorOpen = _g[0], setSelectorOpen = _g[1];
8892
+ var _h = useState(), dropDownTarget = _h[0], setDropDownTarget = _h[1];
8810
8893
  var language = useRef(locale || getBrowserLanguage());
8811
8894
  var loadedLocale = useRef();
8812
8895
  var inputElementRef = useRef();
8813
8896
  var contextProps = {
8814
8897
  calendarTemplate: calendarTemplate,
8815
8898
  dateScrollerTemplate: dateScrollerTemplate,
8899
+ colors: colors,
8816
8900
  };
8817
8901
  useEffect(function () {
8818
8902
  if (language.current) {
@@ -8906,7 +8990,7 @@ function DateTime(_a) {
8906
8990
  selectedDateChanged: false,
8907
8991
  dateInitialized: false,
8908
8992
  };
8909
- var _h = useReducer(reducer, initialState), state = _h[0], dispatcher = _h[1];
8993
+ var _j = useReducer(reducer, initialState), state = _j[0], dispatcher = _j[1];
8910
8994
  var onFocus = function (event) {
8911
8995
  setDropDownElement();
8912
8996
  setSelectorOpen(true);
@@ -9023,17 +9107,19 @@ function DateTime(_a) {
9023
9107
  };
9024
9108
  var canShowDateSelectors = dateSelection === DateSelectionType.DateTime || dateSelection === DateSelectionType.DateOnly;
9025
9109
  var canShowTimeSelector = dateSelection === DateSelectionType.DateTime || dateSelection === DateSelectionType.TimeOnly;
9026
- var inputProps = iconPosition === CalendarIconPosition.Right
9027
- ? {
9028
- rightElement: icon || jsx(FontAwesomeIcon, { icon: ['far', 'calendar-alt'] }, void 0),
9029
- rightElementClassName: !readOnly ? 'bsc-cursor-pointer' : undefined,
9030
- onRightElementClick: !readOnly ? onCalendarClick : undefined,
9031
- }
9032
- : {
9033
- leftElement: icon || jsx(FontAwesomeIcon, { icon: ['far', 'calendar-alt'] }, void 0),
9034
- leftElementClassName: !readOnly ? 'bsc-cursor-pointer' : undefined,
9035
- onLeftElementClick: !readOnly ? onCalendarClick : undefined,
9036
- };
9110
+ var inputProps = iconPosition === CalendarIconPosition.None
9111
+ ? {}
9112
+ : iconPosition === CalendarIconPosition.Right
9113
+ ? {
9114
+ rightElement: icon || jsx(FontAwesomeIcon, { icon: ['far', 'calendar-alt'] }, void 0),
9115
+ rightElementClassName: !readOnly ? 'cursor-pointer' : undefined,
9116
+ onRightElementClick: !readOnly ? onCalendarClick : undefined,
9117
+ }
9118
+ : {
9119
+ leftElement: icon || jsx(FontAwesomeIcon, { icon: ['far', 'calendar-alt'] }, void 0),
9120
+ leftElementClassName: !readOnly ? 'cursor-pointer' : undefined,
9121
+ onLeftElementClick: !readOnly ? onCalendarClick : undefined,
9122
+ };
9037
9123
  var inputTemplateProps = {
9038
9124
  label: label,
9039
9125
  readOnly: readOnly,
@@ -9047,8 +9133,8 @@ function DateTime(_a) {
9047
9133
  };
9048
9134
  var defaultTemplate = function (props, children) { return (jsx(Fragment$1, { children: children }, void 0)); };
9049
9135
  var template = inputTemplate || defaultTemplate;
9050
- return (jsx(DateTimeContext.Provider, __assign({ value: contextProps }, { children: jsxs("div", __assign({ className: "bc-date-time" }, { children: [jsxs(TemplateOutlet, __assign({ props: inputTemplateProps, template: template }, { children: [label && jsx("label", __assign({ className: "dark:bsc-text-white bc-dt-label" }, { children: label }), void 0),
9051
- jsx(ContentEditableInput$1, __assign({ value: getValue(), readOnly: readOnly, className: "bsc-text-left" + (readOnly ? ' bsc-bg-gray-200' : ' bsc-bg-white') + " dark:bsc-bg-black bc-dt-input", onFocus: onFocus, onInput: onInput, onElementCreate: onInputElementCreated }, inputProps), void 0)] }), void 0),
9136
+ return (jsx(DateTimeContext.Provider, __assign({ value: contextProps }, { children: jsxs("div", __assign({ className: "bc-date-time" }, { children: [jsxs(TemplateOutlet, __assign({ props: inputTemplateProps, template: template }, { children: [label && jsx("label", __assign({ className: "dark:text-white bc-dt-label" }, { children: label }), void 0),
9137
+ jsx(ContentEditableInput$1, __assign({ value: getValue(), readOnly: readOnly, className: "text-left " + (readOnly ? (colors === null || colors === void 0 ? void 0 : colors.readOnlyInputBgColor) || 'bg-gray-200' : (colors === null || colors === void 0 ? void 0 : colors.inputBgColor) || 'bg-white') + " dark:bg-black " + (colors === null || colors === void 0 ? void 0 : colors.inputBorderColor) + " bc-dt-input", onFocus: onFocus, onInput: onInput, onElementCreate: onInputElementCreated }, inputProps), void 0)] }), void 0),
9052
9138
  jsx(OverlayPanel, __assign({ visible: selectorOpen, target: dropDownTarget, shouldTargetCloseOverlay: false, shouldScrollCloseOverlay: true, hidden: onDateTimeHidden }, { children: jsxs(Fragment$1, { children: [state.currentSelector === DateTimeActionType.DaySelector &&
9053
9139
  canShowDateSelectors &&
9054
9140
  state.dateInitialized &&
@@ -9095,7 +9181,7 @@ function styleInject(css, ref) {
9095
9181
  }
9096
9182
  }
9097
9183
 
9098
- var css_248z = "/*! tailwindcss v2.1.2 | MIT License | https://tailwindcss.com */\n\n/*! modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize */\n\n/*\nDocument\n========\n*/\n\n/**\nUse a better box model (opinionated).\n*/\n\n*,\n::before,\n::after {\n box-sizing: border-box;\n}\n\n/**\nUse a more readable tab size (opinionated).\n*/\n\nhtml {\n -moz-tab-size: 4;\n tab-size: 4;\n}\n\n/**\n1. Correct the line height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n*/\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/*\nSections\n========\n*/\n\n/**\nRemove the margin in all browsers.\n*/\n\nbody {\n margin: 0;\n}\n\n/**\nImprove consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)\n*/\n\nbody {\n font-family:\n\t\tsystem-ui,\n\t\t-apple-system, /* Firefox supports this but not yet `system-ui` */\n\t\t'Segoe UI',\n\t\tRoboto,\n\t\tHelvetica,\n\t\tArial,\n\t\tsans-serif,\n\t\t'Apple Color Emoji',\n\t\t'Segoe UI Emoji';\n}\n\n/*\nGrouping content\n================\n*/\n\n/**\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n}\n\n/*\nText-level semantics\n====================\n*/\n\n/**\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr[title] {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}\n\n/**\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)\n2. Correct the odd 'em' font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family:\n\t\tui-monospace,\n\t\tSFMono-Regular,\n\t\tConsolas,\n\t\t'Liberation Mono',\n\t\tMenlo,\n\t\tmonospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/**\nPrevent 'sub' and 'sup' elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\nTabular data\n============\n*/\n\n/**\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n}\n\n/*\nForms\n=====\n*/\n\n/**\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\nRemove the inheritance of text transform in Edge and Firefox.\n1. Remove the inheritance of text transform in Firefox.\n*/\n\nbutton,\nselect { /* 1 */\n text-transform: none;\n}\n\n/**\nCorrect the inability to style clickable types in iOS and Safari.\n*/\n\nbutton,\n[type='button'] {\n -webkit-appearance: button;\n}\n\n/**\nRemove the inner border and padding in Firefox.\n*/\n\n/**\nRestore the focus styles unset by the previous rule.\n*/\n\n/**\nRemove the additional ':invalid' styles in Firefox.\nSee: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737\n*/\n\n/**\nRemove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.\n*/\n\nlegend {\n padding: 0;\n}\n\n/**\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n/**\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n/**\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n/**\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to 'inherit' in Safari.\n*/\n\n/*\nInteractive\n===========\n*/\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/**\n * Manually forked from SUIT CSS Base: https://github.com/suitcss/base\n * A thin layer on top of normalize.css that provides a starting point more\n * suitable for web applications.\n */\n\n/**\n * Removes the default spacing and border for appropriate elements.\n */\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nbutton {\n background-color: transparent;\n background-image: none;\n}\n\n/**\n * Work around a Firefox/IE bug where the transparent `button` background\n * results in a loss of the default `button` focus styles.\n */\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nol,\nul {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/**\n * Tailwind custom reset styles\n */\n\n/**\n * 1. Use the user's configured `sans` font-family (with Tailwind's default\n * sans-serif font stack as a fallback) as a sane default.\n * 2. Use Tailwind's default \"normal\" line-height so the user isn't forced\n * to override it to ensure consistency even when using the default theme.\n */\n\nhtml {\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"; /* 1 */\n line-height: 1.5; /* 2 */\n}\n\n/**\n * Inherit font-family and line-height from `html` so users can set them as\n * a class directly on the `html` element.\n */\n\nbody {\n font-family: inherit;\n line-height: inherit;\n}\n\n/**\n * 1. Prevent padding and border from affecting element width.\n *\n * We used to set this in the html element and inherit from\n * the parent element for everything else. This caused issues\n * in shadow-dom-enhanced elements like <details> where the content\n * is wrapped by a div with box-sizing set to `content-box`.\n *\n * https://github.com/mozdevs/cssremedy/issues/4\n *\n *\n * 2. Allow adding a border to an element by just adding a border-width.\n *\n * By default, the way the browser specifies that an element should have no\n * border is by setting it's border-style to `none` in the user-agent\n * stylesheet.\n *\n * In order to easily add borders to elements by just setting the `border-width`\n * property, we change the default border-style for all elements to `solid`, and\n * use border-width to hide them instead. This way our `border` utilities only\n * need to set the `border-width` property instead of the entire `border`\n * shorthand, making our border utilities much more straightforward to compose.\n *\n * https://github.com/tailwindcss/tailwindcss/pull/116\n */\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: #e5e7eb; /* 2 */\n}\n\n/*\n * Ensure horizontal rules are visible by default\n */\n\nhr {\n border-top-width: 1px;\n}\n\n/**\n * Undo the `border-style: none` reset that Normalize applies to images so that\n * our `border-{width}` utilities have the expected effect.\n *\n * The Normalize reset is unnecessary for us since we default the border-width\n * to 0 on all elements.\n *\n * https://github.com/tailwindcss/tailwindcss/issues/362\n */\n\nimg {\n border-style: solid;\n}\n\ntextarea {\n resize: vertical;\n}\n\ninput::-webkit-input-placeholder, textarea::-webkit-input-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\n\ninput:-ms-input-placeholder, textarea:-ms-input-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\n\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1;\n color: #9ca3af;\n}\n\nbutton {\n cursor: pointer;\n}\n\ntable {\n border-collapse: collapse;\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/**\n * Reset links to optimize for opt-in styling instead of\n * opt-out.\n */\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/**\n * Reset form element properties that are easy to forget to\n * style explicitly so you don't inadvertently introduce\n * styles that deviate from your design system. These styles\n * supplement a partial reset that is already applied by\n * normalize.css.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n padding: 0;\n line-height: inherit;\n color: inherit;\n}\n\n/**\n * Use the configured 'mono' font family for elements that\n * are expected to be rendered with a monospace font, falling\n * back to the system monospace stack if there is no configured\n * 'mono' font family.\n */\n\npre,\ncode,\nkbd,\nsamp {\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n/**\n * Make replaced elements `display: block` by default as that's\n * the behavior you want almost all of the time. Inspired by\n * CSS Remedy, with `svg` added as well.\n *\n * https://github.com/mozdevs/cssremedy/issues/14\n */\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block;\n vertical-align: middle;\n}\n\n/**\n * Constrain images and videos to the parent width and preserve\n * their intrinsic aspect ratio.\n *\n * https://github.com/mozdevs/cssremedy/issues/14\n */\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n.bsc-bg-white {\n --tw-bg-opacity: 1;\n background-color: rgba(255, 255, 255, var(--tw-bg-opacity));\n}\n\n.bsc-bg-gray-200 {\n --tw-bg-opacity: 1;\n background-color: rgba(229, 231, 235, var(--tw-bg-opacity));\n}\n\n.bsc-bg-gray-900 {\n --tw-bg-opacity: 1;\n background-color: rgba(17, 24, 39, var(--tw-bg-opacity));\n}\n\n.bsc-bg-blue-100 {\n --tw-bg-opacity: 1;\n background-color: rgba(219, 234, 254, var(--tw-bg-opacity));\n}\n\n.hover\\:bsc-bg-gray-300:hover {\n --tw-bg-opacity: 1;\n background-color: rgba(209, 213, 219, var(--tw-bg-opacity));\n}\n\n.bsc-border-black {\n --tw-border-opacity: 1;\n border-color: rgba(0, 0, 0, var(--tw-border-opacity));\n}\n\n.bsc-border-gray-300 {\n --tw-border-opacity: 1;\n border-color: rgba(209, 213, 219, var(--tw-border-opacity));\n}\n\n.bsc-border-gray-400 {\n --tw-border-opacity: 1;\n border-color: rgba(156, 163, 175, var(--tw-border-opacity));\n}\n\n.bsc-border-gray-500 {\n --tw-border-opacity: 1;\n border-color: rgba(107, 114, 128, var(--tw-border-opacity));\n}\n\n.bsc-rounded-md {\n border-radius: 0.375rem;\n}\n\n.bsc-rounded-full {\n border-radius: 9999px;\n}\n\n.bsc-border-solid {\n border-style: solid;\n}\n\n.bsc-border {\n border-width: 1px;\n}\n\n.bsc-border-r {\n border-right-width: 1px;\n}\n\n.bsc-cursor-pointer {\n cursor: pointer;\n}\n\n.bsc-cursor-not-allowed {\n cursor: not-allowed;\n}\n\n.bsc-flex {\n display: -webkit-flex;\n display: flex;\n}\n\n.bsc-grid {\n display: grid;\n}\n\n.bsc-flex-row {\n -webkit-flex-direction: row;\n flex-direction: row;\n}\n\n.bsc-flex-col {\n -webkit-flex-direction: column;\n flex-direction: column;\n}\n\n.bsc-justify-center {\n -webkit-justify-content: center;\n justify-content: center;\n}\n\n.bsc-flex-grow {\n -webkit-flex-grow: 1;\n flex-grow: 1;\n}\n\n.bsc-flex-shrink {\n -webkit-flex-shrink: 1;\n flex-shrink: 1;\n}\n\n.bsc-font-bold {\n font-weight: 700;\n}\n\n.bsc-mr-2 {\n margin-right: 0.5rem;\n}\n\n.bsc-ml-2 {\n margin-left: 0.5rem;\n}\n\n.focus\\:bsc-outline-none:focus {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n\n.bsc-overflow-scroll {\n overflow: scroll;\n}\n\n.bsc-p-2 {\n padding: 0.5rem;\n}\n\n.bsc-p-4 {\n padding: 1rem;\n}\n\n.bsc-py-1 {\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n}\n\n.bsc-px-2 {\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n}\n\n.bsc-pr-4 {\n padding-right: 1rem;\n}\n\n.bsc-pl-4 {\n padding-left: 1rem;\n}\n\n.bsc-pb-8 {\n padding-bottom: 2rem;\n}\n\n.bsc-absolute {\n position: absolute;\n}\n\n* {\n --tw-shadow: 0 0 #0000;\n}\n\n.bsc-shadow-sm {\n --tw-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.bsc-shadow {\n --tw-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n* {\n --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgba(59, 130, 246, 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n}\n\n.bsc-text-center {\n text-align: center;\n}\n\n.bsc-text-gray-400 {\n --tw-text-opacity: 1;\n color: rgba(156, 163, 175, var(--tw-text-opacity));\n}\n\n.bsc-text-red-300 {\n --tw-text-opacity: 1;\n color: rgba(252, 165, 165, var(--tw-text-opacity));\n}\n\n.bsc-w-full {\n width: 100%;\n}\n\n.bsc-gap-3 {\n gap: 0.75rem;\n}\n\n.bsc-gap-4 {\n gap: 1rem;\n}\n\n.bsc-grid-cols-4 {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n}\n\n.bsc-grid-cols-7 {\n grid-template-columns: repeat(7, minmax(0, 1fr));\n}\n\n.bsc-col-span-4 {\n grid-column: span 4 / span 4;\n}\n\n@-webkit-keyframes bsc-spin {\n to {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n@keyframes bsc-spin {\n to {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n@-webkit-keyframes bsc-ping {\n 75%, 100% {\n -webkit-transform: scale(2);\n transform: scale(2);\n opacity: 0;\n }\n}\n\n@keyframes bsc-ping {\n 75%, 100% {\n -webkit-transform: scale(2);\n transform: scale(2);\n opacity: 0;\n }\n}\n\n@-webkit-keyframes bsc-pulse {\n 50% {\n opacity: .5;\n }\n}\n\n@keyframes bsc-pulse {\n 50% {\n opacity: .5;\n }\n}\n\n@-webkit-keyframes bsc-bounce {\n 0%, 100% {\n -webkit-transform: translateY(-25%);\n transform: translateY(-25%);\n -webkit-animation-timing-function: cubic-bezier(0.8,0,1,1);\n animation-timing-function: cubic-bezier(0.8,0,1,1);\n }\n\n 50% {\n -webkit-transform: none;\n transform: none;\n -webkit-animation-timing-function: cubic-bezier(0,0,0.2,1);\n animation-timing-function: cubic-bezier(0,0,0.2,1);\n }\n}\n\n@keyframes bsc-bounce {\n 0%, 100% {\n -webkit-transform: translateY(-25%);\n transform: translateY(-25%);\n -webkit-animation-timing-function: cubic-bezier(0.8,0,1,1);\n animation-timing-function: cubic-bezier(0.8,0,1,1);\n }\n\n 50% {\n -webkit-transform: none;\n transform: none;\n -webkit-animation-timing-function: cubic-bezier(0,0,0.2,1);\n animation-timing-function: cubic-bezier(0,0,0.2,1);\n }\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',\n 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',\n sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\ncode {\n font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',\n monospace;\n}\n\n@media (min-width: 640px) {\n}\n\n@media (min-width: 768px) {\n}\n\n@media (min-width: 1024px) {\n}\n\n@media (min-width: 1280px) {\n}\n\n@media (min-width: 1536px) {\n}\n";
9184
+ var css_248z = "/*! tailwindcss v2.1.2 | MIT License | https://tailwindcss.com */\n\n/*! modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize */\n\n/*\nDocument\n========\n*/\n\n/**\nUse a better box model (opinionated).\n*/\n\n*,\n::before,\n::after {\n box-sizing: border-box;\n}\n\n/**\nUse a more readable tab size (opinionated).\n*/\n\nhtml {\n -moz-tab-size: 4;\n tab-size: 4;\n}\n\n/**\n1. Correct the line height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n*/\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/*\nSections\n========\n*/\n\n/**\nRemove the margin in all browsers.\n*/\n\nbody {\n margin: 0;\n}\n\n/**\nImprove consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)\n*/\n\nbody {\n font-family:\n\t\tsystem-ui,\n\t\t-apple-system, /* Firefox supports this but not yet `system-ui` */\n\t\t'Segoe UI',\n\t\tRoboto,\n\t\tHelvetica,\n\t\tArial,\n\t\tsans-serif,\n\t\t'Apple Color Emoji',\n\t\t'Segoe UI Emoji';\n}\n\n/*\nGrouping content\n================\n*/\n\n/**\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n}\n\n/*\nText-level semantics\n====================\n*/\n\n/**\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr[title] {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}\n\n/**\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)\n2. Correct the odd 'em' font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family:\n\t\tui-monospace,\n\t\tSFMono-Regular,\n\t\tConsolas,\n\t\t'Liberation Mono',\n\t\tMenlo,\n\t\tmonospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/**\nPrevent 'sub' and 'sup' elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\nTabular data\n============\n*/\n\n/**\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n}\n\n/*\nForms\n=====\n*/\n\n/**\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\nRemove the inheritance of text transform in Edge and Firefox.\n1. Remove the inheritance of text transform in Firefox.\n*/\n\nbutton,\nselect { /* 1 */\n text-transform: none;\n}\n\n/**\nCorrect the inability to style clickable types in iOS and Safari.\n*/\n\nbutton,\n[type='button'] {\n -webkit-appearance: button;\n}\n\n/**\nRemove the inner border and padding in Firefox.\n*/\n\n/**\nRestore the focus styles unset by the previous rule.\n*/\n\n/**\nRemove the additional ':invalid' styles in Firefox.\nSee: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737\n*/\n\n/**\nRemove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.\n*/\n\nlegend {\n padding: 0;\n}\n\n/**\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n/**\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n/**\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n/**\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to 'inherit' in Safari.\n*/\n\n/*\nInteractive\n===========\n*/\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/**\n * Manually forked from SUIT CSS Base: https://github.com/suitcss/base\n * A thin layer on top of normalize.css that provides a starting point more\n * suitable for web applications.\n */\n\n/**\n * Removes the default spacing and border for appropriate elements.\n */\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nbutton {\n background-color: transparent;\n background-image: none;\n}\n\n/**\n * Work around a Firefox/IE bug where the transparent `button` background\n * results in a loss of the default `button` focus styles.\n */\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nol,\nul {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/**\n * Tailwind custom reset styles\n */\n\n/**\n * 1. Use the user's configured `sans` font-family (with Tailwind's default\n * sans-serif font stack as a fallback) as a sane default.\n * 2. Use Tailwind's default \"normal\" line-height so the user isn't forced\n * to override it to ensure consistency even when using the default theme.\n */\n\nhtml {\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"; /* 1 */\n line-height: 1.5; /* 2 */\n}\n\n/**\n * Inherit font-family and line-height from `html` so users can set them as\n * a class directly on the `html` element.\n */\n\nbody {\n font-family: inherit;\n line-height: inherit;\n}\n\n/**\n * 1. Prevent padding and border from affecting element width.\n *\n * We used to set this in the html element and inherit from\n * the parent element for everything else. This caused issues\n * in shadow-dom-enhanced elements like <details> where the content\n * is wrapped by a div with box-sizing set to `content-box`.\n *\n * https://github.com/mozdevs/cssremedy/issues/4\n *\n *\n * 2. Allow adding a border to an element by just adding a border-width.\n *\n * By default, the way the browser specifies that an element should have no\n * border is by setting it's border-style to `none` in the user-agent\n * stylesheet.\n *\n * In order to easily add borders to elements by just setting the `border-width`\n * property, we change the default border-style for all elements to `solid`, and\n * use border-width to hide them instead. This way our `border` utilities only\n * need to set the `border-width` property instead of the entire `border`\n * shorthand, making our border utilities much more straightforward to compose.\n *\n * https://github.com/tailwindcss/tailwindcss/pull/116\n */\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: #e5e7eb; /* 2 */\n}\n\n/*\n * Ensure horizontal rules are visible by default\n */\n\nhr {\n border-top-width: 1px;\n}\n\n/**\n * Undo the `border-style: none` reset that Normalize applies to images so that\n * our `border-{width}` utilities have the expected effect.\n *\n * The Normalize reset is unnecessary for us since we default the border-width\n * to 0 on all elements.\n *\n * https://github.com/tailwindcss/tailwindcss/issues/362\n */\n\nimg {\n border-style: solid;\n}\n\ntextarea {\n resize: vertical;\n}\n\ninput::-webkit-input-placeholder, textarea::-webkit-input-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\n\ninput:-ms-input-placeholder, textarea:-ms-input-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\n\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1;\n color: #9ca3af;\n}\n\nbutton {\n cursor: pointer;\n}\n\ntable {\n border-collapse: collapse;\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/**\n * Reset links to optimize for opt-in styling instead of\n * opt-out.\n */\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/**\n * Reset form element properties that are easy to forget to\n * style explicitly so you don't inadvertently introduce\n * styles that deviate from your design system. These styles\n * supplement a partial reset that is already applied by\n * normalize.css.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n padding: 0;\n line-height: inherit;\n color: inherit;\n}\n\n/**\n * Use the configured 'mono' font family for elements that\n * are expected to be rendered with a monospace font, falling\n * back to the system monospace stack if there is no configured\n * 'mono' font family.\n */\n\npre,\ncode,\nkbd,\nsamp {\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n/**\n * Make replaced elements `display: block` by default as that's\n * the behavior you want almost all of the time. Inspired by\n * CSS Remedy, with `svg` added as well.\n *\n * https://github.com/mozdevs/cssremedy/issues/14\n */\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block;\n vertical-align: middle;\n}\n\n/**\n * Constrain images and videos to the parent width and preserve\n * their intrinsic aspect ratio.\n *\n * https://github.com/mozdevs/cssremedy/issues/14\n */\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n.bg-white {\n --tw-bg-opacity: 1;\n background-color: rgba(255, 255, 255, var(--tw-bg-opacity));\n}\n\n.bg-gray-200 {\n --tw-bg-opacity: 1;\n background-color: rgba(229, 231, 235, var(--tw-bg-opacity));\n}\n\n.bg-gray-900 {\n --tw-bg-opacity: 1;\n background-color: rgba(17, 24, 39, var(--tw-bg-opacity));\n}\n\n.bg-red-500 {\n --tw-bg-opacity: 1;\n background-color: rgba(239, 68, 68, var(--tw-bg-opacity));\n}\n\n.bg-green-100 {\n --tw-bg-opacity: 1;\n background-color: rgba(209, 250, 229, var(--tw-bg-opacity));\n}\n\n.bg-blue-100 {\n --tw-bg-opacity: 1;\n background-color: rgba(219, 234, 254, var(--tw-bg-opacity));\n}\n\n.bg-blue-200 {\n --tw-bg-opacity: 1;\n background-color: rgba(191, 219, 254, var(--tw-bg-opacity));\n}\n\n.hover\\:bg-gray-300:hover {\n --tw-bg-opacity: 1;\n background-color: rgba(209, 213, 219, var(--tw-bg-opacity));\n}\n\n.dark .dark\\:bg-black {\n --tw-bg-opacity: 1;\n background-color: rgba(0, 0, 0, var(--tw-bg-opacity));\n}\n\n.dark .dark\\:bg-white {\n --tw-bg-opacity: 1;\n background-color: rgba(255, 255, 255, var(--tw-bg-opacity));\n}\n\n.dark .dark\\:bg-gray-900 {\n --tw-bg-opacity: 1;\n background-color: rgba(17, 24, 39, var(--tw-bg-opacity));\n}\n\n.dark .dark\\:hover\\:bg-white:hover {\n --tw-bg-opacity: 1;\n background-color: rgba(255, 255, 255, var(--tw-bg-opacity));\n}\n\n.border-black {\n --tw-border-opacity: 1;\n border-color: rgba(0, 0, 0, var(--tw-border-opacity));\n}\n\n.border-gray-300 {\n --tw-border-opacity: 1;\n border-color: rgba(209, 213, 219, var(--tw-border-opacity));\n}\n\n.border-gray-400 {\n --tw-border-opacity: 1;\n border-color: rgba(156, 163, 175, var(--tw-border-opacity));\n}\n\n.border-gray-500 {\n --tw-border-opacity: 1;\n border-color: rgba(107, 114, 128, var(--tw-border-opacity));\n}\n\n.dark .dark\\:border-white {\n --tw-border-opacity: 1;\n border-color: rgba(255, 255, 255, var(--tw-border-opacity));\n}\n\n.rounded-md {\n border-radius: 0.375rem;\n}\n\n.rounded-full {\n border-radius: 9999px;\n}\n\n.border-solid {\n border-style: solid;\n}\n\n.border-none {\n border-style: none;\n}\n\n.border {\n border-width: 1px;\n}\n\n.border-r {\n border-right-width: 1px;\n}\n\n.cursor-pointer {\n cursor: pointer;\n}\n\n.cursor-not-allowed {\n cursor: not-allowed;\n}\n\n.flex {\n display: -webkit-flex;\n display: flex;\n}\n\n.table {\n display: table;\n}\n\n.grid {\n display: grid;\n}\n\n.hidden {\n display: none;\n}\n\n.flex-row {\n -webkit-flex-direction: row;\n flex-direction: row;\n}\n\n.flex-col {\n -webkit-flex-direction: column;\n flex-direction: column;\n}\n\n.justify-center {\n -webkit-justify-content: center;\n justify-content: center;\n}\n\n.flex-grow {\n -webkit-flex-grow: 1;\n flex-grow: 1;\n}\n\n.flex-shrink {\n -webkit-flex-shrink: 1;\n flex-shrink: 1;\n}\n\n.font-bold {\n font-weight: 700;\n}\n\n.mr-2 {\n margin-right: 0.5rem;\n}\n\n.ml-2 {\n margin-left: 0.5rem;\n}\n\n.focus\\:outline-none:focus {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n\n.overflow-scroll {\n overflow: scroll;\n}\n\n.p-2 {\n padding: 0.5rem;\n}\n\n.p-4 {\n padding: 1rem;\n}\n\n.py-1 {\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n}\n\n.px-2 {\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n}\n\n.pr-4 {\n padding-right: 1rem;\n}\n\n.pl-4 {\n padding-left: 1rem;\n}\n\n.pb-8 {\n padding-bottom: 2rem;\n}\n\n.static {\n position: static;\n}\n\n.absolute {\n position: absolute;\n}\n\n* {\n --tw-shadow: 0 0 #0000;\n}\n\n.shadow-sm {\n --tw-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n.shadow {\n --tw-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n\n* {\n --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgba(59, 130, 246, 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n}\n\n.text-left {\n text-align: left;\n}\n\n.text-center {\n text-align: center;\n}\n\n.text-gray-400 {\n --tw-text-opacity: 1;\n color: rgba(156, 163, 175, var(--tw-text-opacity));\n}\n\n.text-red-300 {\n --tw-text-opacity: 1;\n color: rgba(252, 165, 165, var(--tw-text-opacity));\n}\n\n.dark .dark\\:text-black {\n --tw-text-opacity: 1;\n color: rgba(0, 0, 0, var(--tw-text-opacity));\n}\n\n.dark .dark\\:text-white {\n --tw-text-opacity: 1;\n color: rgba(255, 255, 255, var(--tw-text-opacity));\n}\n\n.dark .dark\\:hover\\:text-black:hover {\n --tw-text-opacity: 1;\n color: rgba(0, 0, 0, var(--tw-text-opacity));\n}\n\n.visible {\n visibility: visible;\n}\n\n.w-full {\n width: 100%;\n}\n\n.gap-3 {\n gap: 0.75rem;\n}\n\n.gap-4 {\n gap: 1rem;\n}\n\n.grid-cols-4 {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n}\n\n.grid-cols-7 {\n grid-template-columns: repeat(7, minmax(0, 1fr));\n}\n\n.col-span-4 {\n grid-column: span 4 / span 4;\n}\n\n.transition {\n transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, -webkit-transform, -webkit-filter, -webkit-backdrop-filter;\n transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\n transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-transform, -webkit-filter, -webkit-backdrop-filter;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n\n@-webkit-keyframes spin {\n to {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n@keyframes spin {\n to {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n@-webkit-keyframes ping {\n 75%, 100% {\n -webkit-transform: scale(2);\n transform: scale(2);\n opacity: 0;\n }\n}\n\n@keyframes ping {\n 75%, 100% {\n -webkit-transform: scale(2);\n transform: scale(2);\n opacity: 0;\n }\n}\n\n@-webkit-keyframes pulse {\n 50% {\n opacity: .5;\n }\n}\n\n@keyframes pulse {\n 50% {\n opacity: .5;\n }\n}\n\n@-webkit-keyframes bounce {\n 0%, 100% {\n -webkit-transform: translateY(-25%);\n transform: translateY(-25%);\n -webkit-animation-timing-function: cubic-bezier(0.8,0,1,1);\n animation-timing-function: cubic-bezier(0.8,0,1,1);\n }\n\n 50% {\n -webkit-transform: none;\n transform: none;\n -webkit-animation-timing-function: cubic-bezier(0,0,0.2,1);\n animation-timing-function: cubic-bezier(0,0,0.2,1);\n }\n}\n\n@keyframes bounce {\n 0%, 100% {\n -webkit-transform: translateY(-25%);\n transform: translateY(-25%);\n -webkit-animation-timing-function: cubic-bezier(0.8,0,1,1);\n animation-timing-function: cubic-bezier(0.8,0,1,1);\n }\n\n 50% {\n -webkit-transform: none;\n transform: none;\n -webkit-animation-timing-function: cubic-bezier(0,0,0.2,1);\n animation-timing-function: cubic-bezier(0,0,0.2,1);\n }\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',\n 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',\n sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\ncode {\n font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',\n monospace;\n}\n\n@media (min-width: 640px) {\n}\n\n@media (min-width: 768px) {\n}\n\n@media (min-width: 1024px) {\n}\n\n@media (min-width: 1280px) {\n}\n\n@media (min-width: 1536px) {\n}\n";
9099
9185
  styleInject(css_248z);
9100
9186
 
9101
9187
  /*!