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.
@@ -2780,20 +2780,21 @@ var formatDistanceLocale = {
2780
2780
  other: 'almost {{count}} years'
2781
2781
  }
2782
2782
  };
2783
- function formatDistance(token, count, options) {
2784
- options = options || {};
2783
+
2784
+ var formatDistance = function (token, count, options) {
2785
2785
  var result;
2786
+ var tokenValue = formatDistanceLocale[token];
2786
2787
 
2787
- if (typeof formatDistanceLocale[token] === 'string') {
2788
- result = formatDistanceLocale[token];
2788
+ if (typeof tokenValue === 'string') {
2789
+ result = tokenValue;
2789
2790
  } else if (count === 1) {
2790
- result = formatDistanceLocale[token].one;
2791
+ result = tokenValue.one;
2791
2792
  } else {
2792
- result = formatDistanceLocale[token].other.replace('{{count}}', count);
2793
+ result = tokenValue.other.replace('{{count}}', count.toString());
2793
2794
  }
2794
2795
 
2795
- if (options.addSuffix) {
2796
- if (options.comparison > 0) {
2796
+ if (options !== null && options !== void 0 && options.addSuffix) {
2797
+ if (options.comparison && options.comparison > 0) {
2797
2798
  return 'in ' + result;
2798
2799
  } else {
2799
2800
  return result + ' ago';
@@ -2801,11 +2802,12 @@ function formatDistance(token, count, options) {
2801
2802
  }
2802
2803
 
2803
2804
  return result;
2804
- }
2805
+ };
2805
2806
 
2806
2807
  function buildFormatLongFn(args) {
2807
- return function (dirtyOptions) {
2808
- var options = dirtyOptions || {};
2808
+ return function () {
2809
+ var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2810
+ // TODO: Remove String()
2809
2811
  var width = options.width ? String(options.width) : args.defaultWidth;
2810
2812
  var format = args.formats[width] || args.formats[args.defaultWidth];
2811
2813
  return format;
@@ -2853,9 +2855,10 @@ var formatRelativeLocale = {
2853
2855
  nextWeek: "eeee 'at' p",
2854
2856
  other: 'P'
2855
2857
  };
2856
- function formatRelative(token, _date, _baseDate, _options) {
2858
+
2859
+ var formatRelative = function (token, _date, _baseDate, _options) {
2857
2860
  return formatRelativeLocale[token];
2858
- }
2861
+ };
2859
2862
 
2860
2863
  function buildLocalizeFn(args) {
2861
2864
  return function (dirtyIndex, dirtyOptions) {
@@ -2875,7 +2878,8 @@ function buildLocalizeFn(args) {
2875
2878
  valuesArray = args.values[_width] || args.values[_defaultWidth];
2876
2879
  }
2877
2880
 
2878
- var index = args.argumentCallback ? args.argumentCallback(dirtyIndex) : dirtyIndex;
2881
+ 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!
2882
+
2879
2883
  return valuesArray[index];
2880
2884
  };
2881
2885
  }
@@ -2888,12 +2892,12 @@ var eraValues = {
2888
2892
  var quarterValues = {
2889
2893
  narrow: ['1', '2', '3', '4'],
2890
2894
  abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],
2891
- wide: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'] // Note: in English, the names of days of the week and months are capitalized.
2892
- // If you are making a new locale based on this one, check if the same is true for the language you're working on.
2893
- // Generally, formatted dates should look like they are in the middle of a sentence,
2894
- // e.g. in Spanish language the weekdays and months should be in the lowercase.
2895
+ wide: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter']
2896
+ }; // Note: in English, the names of days of the week and months are capitalized.
2897
+ // If you are making a new locale based on this one, check if the same is true for the language you're working on.
2898
+ // Generally, formatted dates should look like they are in the middle of a sentence,
2899
+ // e.g. in Spanish language the weekdays and months should be in the lowercase.
2895
2900
 
2896
- };
2897
2901
  var monthValues = {
2898
2902
  narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],
2899
2903
  abbreviated: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
@@ -2970,16 +2974,13 @@ var formattingDayPeriodValues = {
2970
2974
  }
2971
2975
  };
2972
2976
 
2973
- function ordinalNumber(dirtyNumber, _dirtyOptions) {
2977
+ var ordinalNumber = function (dirtyNumber, _options) {
2974
2978
  var number = Number(dirtyNumber); // If ordinal numbers depend on context, for example,
2975
2979
  // if they are different for different grammatical genders,
2976
- // use `options.unit`:
2980
+ // use `options.unit`.
2977
2981
  //
2978
- // var options = dirtyOptions || {}
2979
- // var unit = String(options.unit)
2980
- //
2981
- // where `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',
2982
- // 'day', 'hour', 'minute', 'second'
2982
+ // `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',
2983
+ // 'day', 'hour', 'minute', 'second'.
2983
2984
 
2984
2985
  var rem100 = number % 100;
2985
2986
 
@@ -2997,7 +2998,7 @@ function ordinalNumber(dirtyNumber, _dirtyOptions) {
2997
2998
  }
2998
2999
 
2999
3000
  return number + 'th';
3000
- }
3001
+ };
3001
3002
 
3002
3003
  var localize = {
3003
3004
  ordinalNumber: ordinalNumber,
@@ -3009,7 +3010,7 @@ var localize = {
3009
3010
  values: quarterValues,
3010
3011
  defaultWidth: 'wide',
3011
3012
  argumentCallback: function (quarter) {
3012
- return Number(quarter) - 1;
3013
+ return quarter - 1;
3013
3014
  }
3014
3015
  }),
3015
3016
  month: buildLocalizeFn({
@@ -3028,36 +3029,9 @@ var localize = {
3028
3029
  })
3029
3030
  };
3030
3031
 
3031
- function buildMatchPatternFn(args) {
3032
- return function (dirtyString, dirtyOptions) {
3033
- var string = String(dirtyString);
3034
- var options = dirtyOptions || {};
3035
- var matchResult = string.match(args.matchPattern);
3036
-
3037
- if (!matchResult) {
3038
- return null;
3039
- }
3040
-
3041
- var matchedString = matchResult[0];
3042
- var parseResult = string.match(args.parsePattern);
3043
-
3044
- if (!parseResult) {
3045
- return null;
3046
- }
3047
-
3048
- var value = args.valueCallback ? args.valueCallback(parseResult[0]) : parseResult[0];
3049
- value = options.valueCallback ? options.valueCallback(value) : value;
3050
- return {
3051
- value: value,
3052
- rest: string.slice(matchedString.length)
3053
- };
3054
- };
3055
- }
3056
-
3057
3032
  function buildMatchFn(args) {
3058
- return function (dirtyString, dirtyOptions) {
3059
- var string = String(dirtyString);
3060
- var options = dirtyOptions || {};
3033
+ return function (string) {
3034
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
3061
3035
  var width = options.width;
3062
3036
  var matchPattern = width && args.matchPatterns[width] || args.matchPatterns[args.defaultMatchWidth];
3063
3037
  var matchResult = string.match(matchPattern);
@@ -3068,23 +3042,18 @@ function buildMatchFn(args) {
3068
3042
 
3069
3043
  var matchedString = matchResult[0];
3070
3044
  var parsePatterns = width && args.parsePatterns[width] || args.parsePatterns[args.defaultParseWidth];
3045
+ var key = Array.isArray(parsePatterns) ? findIndex(parsePatterns, function (pattern) {
3046
+ return pattern.test(matchedString);
3047
+ }) : findKey(parsePatterns, function (pattern) {
3048
+ return pattern.test(matchedString);
3049
+ });
3071
3050
  var value;
3072
-
3073
- if (Object.prototype.toString.call(parsePatterns) === '[object Array]') {
3074
- value = findIndex(parsePatterns, function (pattern) {
3075
- return pattern.test(matchedString);
3076
- });
3077
- } else {
3078
- value = findKey(parsePatterns, function (pattern) {
3079
- return pattern.test(matchedString);
3080
- });
3081
- }
3082
-
3083
- value = args.valueCallback ? args.valueCallback(value) : value;
3051
+ value = args.valueCallback ? args.valueCallback(key) : key;
3084
3052
  value = options.valueCallback ? options.valueCallback(value) : value;
3053
+ var rest = string.slice(matchedString.length);
3085
3054
  return {
3086
3055
  value: value,
3087
- rest: string.slice(matchedString.length)
3056
+ rest: rest
3088
3057
  };
3089
3058
  };
3090
3059
  }
@@ -3095,6 +3064,8 @@ function findKey(object, predicate) {
3095
3064
  return key;
3096
3065
  }
3097
3066
  }
3067
+
3068
+ return undefined;
3098
3069
  }
3099
3070
 
3100
3071
  function findIndex(array, predicate) {
@@ -3103,6 +3074,26 @@ function findIndex(array, predicate) {
3103
3074
  return key;
3104
3075
  }
3105
3076
  }
3077
+
3078
+ return undefined;
3079
+ }
3080
+
3081
+ function buildMatchPatternFn(args) {
3082
+ return function (string) {
3083
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
3084
+ var matchResult = string.match(args.matchPattern);
3085
+ if (!matchResult) return null;
3086
+ var matchedString = matchResult[0];
3087
+ var parseResult = string.match(args.parsePattern);
3088
+ if (!parseResult) return null;
3089
+ var value = args.valueCallback ? args.valueCallback(parseResult[0]) : parseResult[0];
3090
+ value = options.valueCallback ? options.valueCallback(value) : value;
3091
+ var rest = string.slice(matchedString.length);
3092
+ return {
3093
+ value: value,
3094
+ rest: rest
3095
+ };
3096
+ };
3106
3097
  }
3107
3098
 
3108
3099
  var matchOrdinalNumberPattern = /^(\d+)(th|st|nd|rd)?/i;
@@ -3210,7 +3201,6 @@ var match = {
3210
3201
  * @author Sasha Koss [@kossnocorp]{@link https://github.com/kossnocorp}
3211
3202
  * @author Lesha Koss [@leshakoss]{@link https://github.com/leshakoss}
3212
3203
  */
3213
-
3214
3204
  var locale = {
3215
3205
  code: 'en-US',
3216
3206
  formatDistance: formatDistance,
@@ -3365,7 +3355,7 @@ function assign(target, dirtyObject) {
3365
3355
  dirtyObject = dirtyObject || {};
3366
3356
 
3367
3357
  for (var property in dirtyObject) {
3368
- if (dirtyObject.hasOwnProperty(property)) {
3358
+ if (Object.prototype.hasOwnProperty.call(dirtyObject, property)) {
3369
3359
  target[property] = dirtyObject[property];
3370
3360
  }
3371
3361
  }
@@ -5333,28 +5323,28 @@ var unescapedLatinCharacterRegExp = /[a-zA-Z]/;
5333
5323
  * | Day of week (formatting) | 90 | E..EEE | Mon, Tue, Wed, ..., Sun | |
5334
5324
  * | | | EEEE | Monday, Tuesday, ..., Sunday | 2 |
5335
5325
  * | | | EEEEE | M, T, W, T, F, S, S | |
5336
- * | | | EEEEEE | Mo, Tu, We, Th, Fr, Su, Sa | |
5326
+ * | | | EEEEEE | Mo, Tu, We, Th, Fr, Sa, Su | |
5337
5327
  * | ISO day of week (formatting) | 90 | i | 1, 2, 3, ..., 7 | 5 |
5338
5328
  * | | | io | 1st, 2nd, ..., 7th | 5 |
5339
5329
  * | | | ii | 01, 02, ..., 07 | 5 |
5340
5330
  * | | | iii | Mon, Tue, Wed, ..., Sun | 5 |
5341
5331
  * | | | iiii | Monday, Tuesday, ..., Sunday | 2,5 |
5342
5332
  * | | | iiiii | M, T, W, T, F, S, S | 5 |
5343
- * | | | iiiiii | Mo, Tu, We, Th, Fr, Su, Sa | 5 |
5333
+ * | | | iiiiii | Mo, Tu, We, Th, Fr, Sa, Su | 5 |
5344
5334
  * | Local day of week (formatting) | 90 | e | 2, 3, 4, ..., 1 | |
5345
5335
  * | | | eo | 2nd, 3rd, ..., 1st | 5 |
5346
5336
  * | | | ee | 02, 03, ..., 01 | |
5347
5337
  * | | | eee | Mon, Tue, Wed, ..., Sun | |
5348
5338
  * | | | eeee | Monday, Tuesday, ..., Sunday | 2 |
5349
5339
  * | | | eeeee | M, T, W, T, F, S, S | |
5350
- * | | | eeeeee | Mo, Tu, We, Th, Fr, Su, Sa | |
5340
+ * | | | eeeeee | Mo, Tu, We, Th, Fr, Sa, Su | |
5351
5341
  * | Local day of week (stand-alone) | 90 | c | 2, 3, 4, ..., 1 | |
5352
5342
  * | | | co | 2nd, 3rd, ..., 1st | 5 |
5353
5343
  * | | | cc | 02, 03, ..., 01 | |
5354
5344
  * | | | ccc | Mon, Tue, Wed, ..., Sun | |
5355
5345
  * | | | cccc | Monday, Tuesday, ..., Sunday | 2 |
5356
5346
  * | | | ccccc | M, T, W, T, F, S, S | |
5357
- * | | | cccccc | Mo, Tu, We, Th, Fr, Su, Sa | |
5347
+ * | | | cccccc | Mo, Tu, We, Th, Fr, Sa, Su | |
5358
5348
  * | AM, PM | 80 | a..aaa | AM, PM | |
5359
5349
  * | | | aaaa | a.m., p.m. | 2 |
5360
5350
  * | | | aaaaa | a, p | |
@@ -5593,9 +5583,9 @@ function parse(dirtyDateString, dirtyFormatString, dirtyReferenceDate, dirtyOpti
5593
5583
  var subFnOptions = {
5594
5584
  firstWeekContainsDate: firstWeekContainsDate,
5595
5585
  weekStartsOn: weekStartsOn,
5596
- locale: locale$1 // If timezone isn't specified, it will be set to the system timezone
5586
+ locale: locale$1
5587
+ }; // If timezone isn't specified, it will be set to the system timezone
5597
5588
 
5598
- };
5599
5589
  var setters = [{
5600
5590
  priority: TIMEZONE_UNIT_PRIORITY,
5601
5591
  subPriority: -1,
@@ -6968,7 +6958,7 @@ function OverlayPanel(_a) {
6968
6958
  }
6969
6959
  return (jsxRuntime.jsx(BeeSoftTransition, __assign({ start: visibility, timeout: transitionDuration, showTransitionOptions: showTransitionOptions, hideTransitionOptions: hideTransitionOptions, onEntering: onEntering, onEntered: onEntered, onExit: onExit, onExited: onExited }, { children: function (_a) {
6970
6960
  var state = _a.state, defaultStyle = _a.defaultStyle, transitionStyles = _a.transitionStyles;
6971
- return (jsxRuntime.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));
6961
+ return (jsxRuntime.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));
6972
6962
  } }), void 0));
6973
6963
  };
6974
6964
  return ReactDOM__default['default'].createPortal(createElement(), appendTo);
@@ -7575,11 +7565,11 @@ function ContentEditableInput(props, ref) {
7575
7565
  React.useImperativeHandle(ref, function () { return ({
7576
7566
  focus: focus,
7577
7567
  }); });
7578
- 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);
7579
- var leftElementClasses = classnames('bsc-flex-shrink', { 'bsc-mr-2': leftElement }, leftElementClassName);
7580
- var rightElementClasses = classnames('bsc-flex-shrink', { 'bsc-ml-2': rightElement }, rightElementClassName);
7568
+ 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);
7569
+ var leftElementClasses = classnames('flex-shrink', { 'mr-2': leftElement }, leftElementClassName);
7570
+ var rightElementClasses = classnames('flex-shrink', { 'ml-2': rightElement }, rightElementClassName);
7581
7571
  return (jsxRuntime.jsxs("div", __assign({ className: classNames, ref: function (element) { return onElementCreated(element); } }, { children: [jsxRuntime.jsx("div", __assign({ className: leftElementClasses, onClick: onLeftElementClicked }, { children: leftElement }), void 0),
7582
- jsxRuntime.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),
7572
+ jsxRuntime.jsx("div", __assign({ ref: inputRef, className: "flex-grow focus:outline-none", contentEditable: !readOnly, suppressContentEditableWarning: true, onFocus: onFocused, onInput: onInputChanged }, { children: value }), void 0),
7583
7573
  jsxRuntime.jsx("div", __assign({ className: rightElementClasses, onClick: onRightElementClicked }, { children: rightElement }), void 0)] }), void 0));
7584
7574
  }
7585
7575
  var ContentEditableInput$1 = React.forwardRef(ContentEditableInput);
@@ -7682,32 +7672,6 @@ function subMonths(dirtyDate, dirtyAmount) {
7682
7672
  return addMonths(dirtyDate, -amount);
7683
7673
  }
7684
7674
 
7685
- function useKeyDown(keyCode) {
7686
- var _a = React.useState(false), keyDown = _a[0], setKeyDown = _a[1];
7687
- var keyCodes = typeof keyCode === 'string' ? [keyCode] : keyCode;
7688
- var downHandler = function (_a) {
7689
- var key = _a.key;
7690
- if (keyCodes.includes(key)) {
7691
- setKeyDown(true);
7692
- }
7693
- };
7694
- var upHandler = function (_a) {
7695
- var key = _a.key;
7696
- if (keyCodes.includes(key)) {
7697
- setKeyDown(false);
7698
- }
7699
- };
7700
- React.useEffect(function () {
7701
- window.addEventListener('keydown', downHandler);
7702
- window.addEventListener('keyup', upHandler);
7703
- return function () {
7704
- window.removeEventListener('keydown', downHandler);
7705
- window.removeEventListener('keyup', upHandler);
7706
- };
7707
- }, []);
7708
- return keyDown;
7709
- }
7710
-
7711
7675
  /**
7712
7676
  * @name addDays
7713
7677
  * @category Day Helpers
@@ -7749,6 +7713,36 @@ function addDays(dirtyDate, dirtyAmount) {
7749
7713
  return date;
7750
7714
  }
7751
7715
 
7716
+ /**
7717
+ * @name startOfDay
7718
+ * @category Day Helpers
7719
+ * @summary Return the start of a day for the given date.
7720
+ *
7721
+ * @description
7722
+ * Return the start of a day for the given date.
7723
+ * The result will be in the local timezone.
7724
+ *
7725
+ * ### v2.0.0 breaking changes:
7726
+ *
7727
+ * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).
7728
+ *
7729
+ * @param {Date|Number} date - the original date
7730
+ * @returns {Date} the start of a day
7731
+ * @throws {TypeError} 1 argument required
7732
+ *
7733
+ * @example
7734
+ * // The start of a day for 2 September 2014 11:55:00:
7735
+ * const result = startOfDay(new Date(2014, 8, 2, 11, 55, 0))
7736
+ * //=> Tue Sep 02 2014 00:00:00
7737
+ */
7738
+
7739
+ function startOfDay(dirtyDate) {
7740
+ requiredArgs(1, arguments);
7741
+ var date = toDate(dirtyDate);
7742
+ date.setHours(0, 0, 0, 0);
7743
+ return date;
7744
+ }
7745
+
7752
7746
  /**
7753
7747
  * @name addYears
7754
7748
  * @category Year Helpers
@@ -7778,6 +7772,36 @@ function addYears(dirtyDate, dirtyAmount) {
7778
7772
  return addMonths(dirtyDate, amount * 12);
7779
7773
  }
7780
7774
 
7775
+ /**
7776
+ * @name isSameDay
7777
+ * @category Day Helpers
7778
+ * @summary Are the given dates in the same day?
7779
+ *
7780
+ * @description
7781
+ * Are the given dates in the same day?
7782
+ *
7783
+ * ### v2.0.0 breaking changes:
7784
+ *
7785
+ * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).
7786
+ *
7787
+ * @param {Date|Number} dateLeft - the first date to check
7788
+ * @param {Date|Number} dateRight - the second date to check
7789
+ * @returns {Boolean} the dates are in the same day
7790
+ * @throws {TypeError} 2 arguments required
7791
+ *
7792
+ * @example
7793
+ * // Are 4 September 06:00:00 and 4 September 18:00:00 in the same day?
7794
+ * var result = isSameDay(new Date(2014, 8, 4, 6, 0), new Date(2014, 8, 4, 18, 0))
7795
+ * //=> true
7796
+ */
7797
+
7798
+ function isSameDay(dirtyDateLeft, dirtyDateRight) {
7799
+ requiredArgs(2, arguments);
7800
+ var dateLeftStartOfDay = startOfDay(dirtyDateLeft);
7801
+ var dateRightStartOfDay = startOfDay(dirtyDateRight);
7802
+ return dateLeftStartOfDay.getTime() === dateRightStartOfDay.getTime();
7803
+ }
7804
+
7781
7805
  /**
7782
7806
  * @name eachDayOfInterval
7783
7807
  * @category Interval Helpers
@@ -7913,7 +7937,7 @@ function startOfMonth(dirtyDate) {
7913
7937
  *
7914
7938
  * @example
7915
7939
  * // Each year between 6 February 2014 and 10 August 2017:
7916
- * var result = eachYearOfInterval({
7940
+ * const result = eachYearOfInterval({
7917
7941
  * start: new Date(2014, 1, 6),
7918
7942
  * end: new Date(2017, 7, 10)
7919
7943
  * })
@@ -8072,7 +8096,37 @@ function subDays(dirtyDate, dirtyAmount) {
8072
8096
  return addDays(dirtyDate, -amount);
8073
8097
  }
8074
8098
 
8075
- var baseMap = [7, 6, 5, 4, 3, 2, 1];
8099
+ /**
8100
+ * @name isToday
8101
+ * @category Day Helpers
8102
+ * @summary Is the given date today?
8103
+ * @pure false
8104
+ *
8105
+ * @description
8106
+ * Is the given date today?
8107
+ *
8108
+ * > ⚠️ Please note that this function is not present in the FP submodule as
8109
+ * > it uses `Date.now()` internally hence impure and can't be safely curried.
8110
+ *
8111
+ * ### v2.0.0 breaking changes:
8112
+ *
8113
+ * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).
8114
+ *
8115
+ * @param {Date|Number} date - the date to check
8116
+ * @returns {Boolean} the date is today
8117
+ * @throws {TypeError} 1 argument required
8118
+ *
8119
+ * @example
8120
+ * // If today is 6 October 2014, is 6 October 14:00:00 today?
8121
+ * var result = isToday(new Date(2014, 9, 6, 14, 0))
8122
+ * //=> true
8123
+ */
8124
+
8125
+ function isToday(dirtyDate) {
8126
+ requiredArgs(1, arguments);
8127
+ return isSameDay(dirtyDate, Date.now());
8128
+ }
8129
+
8076
8130
  /**
8077
8131
  * @name nextDay
8078
8132
  * @category Weekday Helpers
@@ -8099,18 +8153,9 @@ var baseMap = [7, 6, 5, 4, 3, 2, 1];
8099
8153
 
8100
8154
  function nextDay(date, day) {
8101
8155
  requiredArgs(2, arguments);
8102
- var map = genMap(day);
8103
- return addDays(toDate(date), map[getDay(toDate(date))]);
8104
- }
8105
-
8106
- function genMap(daysToMove) {
8107
- if (daysToMove === 0) {
8108
- return baseMap;
8109
- } else {
8110
- var mapStart = baseMap.slice(-daysToMove);
8111
- var mapEnd = baseMap.slice(0, baseMap.length - daysToMove);
8112
- return mapStart.concat(mapEnd);
8113
- }
8156
+ var delta = day - getDay(date);
8157
+ if (delta <= 0) delta += 7;
8158
+ return addDays(date, delta);
8114
8159
  }
8115
8160
 
8116
8161
  /**
@@ -8217,6 +8262,32 @@ function subYears(dirtyDate, dirtyAmount) {
8217
8262
  return addYears(dirtyDate, -amount);
8218
8263
  }
8219
8264
 
8265
+ function useKeyDown(keyCode) {
8266
+ var _a = React.useState(false), keyDown = _a[0], setKeyDown = _a[1];
8267
+ var keyCodes = typeof keyCode === 'string' ? [keyCode] : keyCode;
8268
+ var downHandler = function (_a) {
8269
+ var key = _a.key;
8270
+ if (keyCodes.includes(key)) {
8271
+ setKeyDown(true);
8272
+ }
8273
+ };
8274
+ var upHandler = function (_a) {
8275
+ var key = _a.key;
8276
+ if (keyCodes.includes(key)) {
8277
+ setKeyDown(false);
8278
+ }
8279
+ };
8280
+ React.useEffect(function () {
8281
+ window.addEventListener('keydown', downHandler);
8282
+ window.addEventListener('keyup', upHandler);
8283
+ return function () {
8284
+ window.removeEventListener('keydown', downHandler);
8285
+ window.removeEventListener('keyup', upHandler);
8286
+ };
8287
+ }, []);
8288
+ return keyDown;
8289
+ }
8290
+
8220
8291
  function getMonthMatrix(matrixDate, locale, loadOtherMonths) {
8221
8292
  var _a, _b;
8222
8293
  if (loadOtherMonths === void 0) { loadOtherMonths = true; }
@@ -8356,6 +8427,14 @@ function loadLocale(localeToLoad) {
8356
8427
  .catch(function (error) { return reject(error); });
8357
8428
  });
8358
8429
  }
8430
+ function createDefaultColors() {
8431
+ return {
8432
+ inputBgColor: 'bg-white',
8433
+ readOnlyInputBgColor: 'bg-gray-200',
8434
+ selectedDateColor: 'bg-blue-100',
8435
+ todayDateColor: 'bg-green-100',
8436
+ };
8437
+ }
8359
8438
 
8360
8439
  var DateSelectionType;
8361
8440
  (function (DateSelectionType) {
@@ -8386,6 +8465,7 @@ var CalendarIconPosition;
8386
8465
  (function (CalendarIconPosition) {
8387
8466
  CalendarIconPosition[CalendarIconPosition["Right"] = 0] = "Right";
8388
8467
  CalendarIconPosition[CalendarIconPosition["Left"] = 1] = "Left";
8468
+ CalendarIconPosition[CalendarIconPosition["None"] = 2] = "None";
8389
8469
  })(CalendarIconPosition || (CalendarIconPosition = {}));
8390
8470
 
8391
8471
  var DateTimeActionType;
@@ -8552,29 +8632,32 @@ function DateTimeCalendar(_a) {
8552
8632
  isSelectedDate: isSelectedDate,
8553
8633
  isInSelectedDateRange: isInSelectedDateRange,
8554
8634
  };
8555
- var defaultTemplate = function (props, children) { return (jsxRuntime.jsx("div", __assign({ className: "bsc-w-full bc-dt-calendar" }, { children: children }), void 0)); };
8635
+ var defaultTemplate = function (props, children) { return (jsxRuntime.jsx("div", __assign({ className: "w-full bc-dt-calendar" }, { children: children }), void 0)); };
8556
8636
  var template = viewTemplate || defaultTemplate;
8557
- return (jsxRuntime.jsx(TemplateOutlet, __assign({ props: templateProps, template: template }, { children: jsxRuntime.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 (jsxRuntime.jsx("div", __assign({ className: "bsc-text-center bsc-font-bold bc-dt-day-cell" }, { children: day }), index)); }),
8637
+ return (jsxRuntime.jsx(TemplateOutlet, __assign({ props: templateProps, template: template }, { children: jsxRuntime.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 (jsxRuntime.jsx("div", __assign({ className: "text-center font-bold bc-dt-day-cell" }, { children: day }), index)); }),
8558
8638
  monthMatrix === null || monthMatrix === void 0 ? void 0 : monthMatrix.map(function (row, rIndex) {
8559
8639
  return row.map(function (column, cIndex) {
8560
- var _a, _b;
8640
+ var _a;
8641
+ var _b, _c;
8561
8642
  var isSelectable = column.dayValue !== null && (selectableDate === undefined || selectableDate(column.dayValue));
8562
- var dayStyles = classnames('bsc-text-center bsc-py-1', {
8563
- 'bsc-text-gray-400': !column.isCurrent,
8564
- 'bsc-bg-blue-100 dark:bsc-bg-white dark:bsc-text-black bsc-rounded-full': column &&
8643
+ var dayStyles = classnames('text-center py-1', (_a = {
8644
+ 'text-gray-400': !column.isCurrent
8645
+ },
8646
+ _a[(context.colors.selectedDateColor || 'bg-blue-100') + " dark:bg-white dark:text-black rounded-full"] = column &&
8565
8647
  column.dayValue &&
8566
8648
  ((selectedDateRef.current && isSelectedDate(column.dayValue)) ||
8567
8649
  (selectedStartComparison && selectedEndComparison && isInSelectedDateRange(column.dayValue))),
8568
- 'bsc-cursor-pointer': isSelectable,
8569
- 'bsc-text-red-300 bsc-cursor-not-allowed': !isSelectable,
8570
- }, 'bc-dt-date-cell');
8650
+ _a['cursor-pointer'] = isSelectable,
8651
+ _a['text-red-300 cursor-not-allowed'] = !isSelectable,
8652
+ _a[(context.colors.todayDateColor || 'bg-green-100') + " dark:text-black rounded-full"] = column.dayValue && isToday(column.dayValue) && !isSelectedDate(column.dayValue),
8653
+ _a), 'bc-dt-date-cell');
8571
8654
  return (jsxRuntime.jsx("div", __assign({ className: dayStyles, onClick: function () {
8572
8655
  return column &&
8573
8656
  column.dayValue &&
8574
8657
  isSelectable &&
8575
8658
  (isValidDate === undefined || isValidDate(column.dayValue)) &&
8576
8659
  onDateClicked(column.dayValue);
8577
- } }, { 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()));
8660
+ } }, { 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()));
8578
8661
  });
8579
8662
  })] }), void 0) }), void 0));
8580
8663
  }
@@ -8590,11 +8673,11 @@ function DateTimeScroller(_a) {
8590
8673
  onMovePrevious: onMovePrevious,
8591
8674
  onMoveNext: onMoveNext,
8592
8675
  };
8593
- var defaultTemplate = function (props, children) { return (jsxRuntime.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)); };
8676
+ var defaultTemplate = function (props, children) { return (jsxRuntime.jsx("div", __assign({ className: "w-full flex flex-row py-1 px-2 bc-dt-scroller" }, { children: children }), void 0)); };
8594
8677
  var template = viewTemplate || defaultTemplate;
8595
- return (jsxRuntime.jsxs(TemplateOutlet, __assign({ props: templateProps, template: template }, { children: [jsxRuntime.jsx("div", __assign({ className: "bsc-flex-shrink bsc-cursor-pointer bc-dt-scroller-left" }, { children: jsxRuntime.jsx("button", __assign({ className: "focus:bsc-outline-none", onClick: onMovePrevious }, { children: jsxRuntime.jsx(FontAwesomeIcon, { icon: ['fas', 'angle-left'] }, void 0) }), void 0) }), void 0),
8596
- jsxRuntime.jsx("div", __assign({ className: "bsc-flex-grow bsc-text-center bsc-cursor-pointer bc-dt-scroller-title", onClick: onTitleClicked }, { children: title }), void 0),
8597
- jsxRuntime.jsx("div", __assign({ className: "bsc-flex-shrink bsc-cursor-pointer bc-dt-scroller-right" }, { children: jsxRuntime.jsx("button", __assign({ className: "focus:bsc-outline-none", onClick: onMoveNext }, { children: jsxRuntime.jsx(FontAwesomeIcon, { icon: ['fas', 'angle-right'] }, void 0) }), void 0) }), void 0)] }), void 0));
8678
+ return (jsxRuntime.jsxs(TemplateOutlet, __assign({ props: templateProps, template: template }, { children: [jsxRuntime.jsx("div", __assign({ className: "flex-shrink cursor-pointer bc-dt-scroller-left" }, { children: jsxRuntime.jsx("button", __assign({ className: "focus:outline-none", onClick: onMovePrevious }, { children: jsxRuntime.jsx(FontAwesomeIcon, { icon: ['fas', 'angle-left'] }, void 0) }), void 0) }), void 0),
8679
+ jsxRuntime.jsx("div", __assign({ className: "flex-grow text-center cursor-pointer bc-dt-scroller-title", onClick: onTitleClicked }, { children: title }), void 0),
8680
+ jsxRuntime.jsx("div", __assign({ className: "flex-shrink cursor-pointer bc-dt-scroller-right" }, { children: jsxRuntime.jsx("button", __assign({ className: "focus:outline-none", onClick: onMoveNext }, { children: jsxRuntime.jsx(FontAwesomeIcon, { icon: ['fas', 'angle-right'] }, void 0) }), void 0) }), void 0)] }), void 0));
8598
8681
  }
8599
8682
 
8600
8683
  function DateTimeDaySelector(_a) {
@@ -8634,9 +8717,9 @@ function DateTimeDaySelector(_a) {
8634
8717
  }
8635
8718
  return '';
8636
8719
  };
8637
- return (jsxRuntime.jsxs("div", __assign({ className: "bsc-p-2 bc-dt-day-selector" }, { children: [jsxRuntime.jsx(DateTimeScroller, { title: getCurrentMonthYear(), scrollerType: DateScrollerType.Day, onTitleClicked: onMonthClicked, onMovePrevious: movePreviousMonth, onMoveNext: moveNextMonth }, void 0),
8720
+ return (jsxRuntime.jsxs("div", __assign({ className: "p-2 bc-dt-day-selector" }, { children: [jsxRuntime.jsx(DateTimeScroller, { title: getCurrentMonthYear(), scrollerType: DateScrollerType.Day, onTitleClicked: onMonthClicked, onMovePrevious: movePreviousMonth, onMoveNext: moveNextMonth }, void 0),
8638
8721
  jsxRuntime.jsx(DateTimeCalendar, { viewDate: viewDate, selectedDate: selectedDate, locale: locale, selectableDate: selectableDate, isValidDate: isValidDate, dispatcher: dispatcher }, void 0),
8639
- showTimeSelector && (jsxRuntime.jsx("div", __assign({ className: "bsc-w-full bsc-flex bsc-flex-row bsc-p-2 bsc-justify-center bc-dt-time-value-wrapper" }, { children: jsxRuntime.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));
8722
+ showTimeSelector && (jsxRuntime.jsx("div", __assign({ className: "w-full flex flex-row p-2 justify-center bc-dt-time-value-wrapper" }, { children: jsxRuntime.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));
8640
8723
  }
8641
8724
 
8642
8725
  function DateTimeMonthSelector(_a) {
@@ -8672,9 +8755,9 @@ function DateTimeMonthSelector(_a) {
8672
8755
  type: DateTimeActionType.YearSelector,
8673
8756
  });
8674
8757
  };
8675
- return (jsxRuntime.jsxs("div", __assign({ className: "bsc-p-2 bc-dt-month-selector", style: { minWidth: '20rem' } }, { children: [jsxRuntime.jsx(DateTimeScroller, { title: getCurrentYear(), scrollerType: DateScrollerType.Month, onTitleClicked: onYearClicked, onMovePrevious: movePreviousYear, onMoveNext: moveNextYear }, void 0),
8676
- jsxRuntime.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) {
8677
- return row.map(function (column, cIndex) { return (jsxRuntime.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())); });
8758
+ return (jsxRuntime.jsxs("div", __assign({ className: "p-2 bc-dt-month-selector", style: { minWidth: '20rem' } }, { children: [jsxRuntime.jsx(DateTimeScroller, { title: getCurrentYear(), scrollerType: DateScrollerType.Month, onTitleClicked: onYearClicked, onMovePrevious: movePreviousYear, onMoveNext: moveNextYear }, void 0),
8759
+ jsxRuntime.jsx("div", __assign({ className: "w-full grid grid-cols-4 gap-4 bc-dt-month-grid" }, { children: monthMatrix.current.map(function (row, rIndex) {
8760
+ return row.map(function (column, cIndex) { return (jsxRuntime.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())); });
8678
8761
  }) }), void 0)] }), void 0));
8679
8762
  }
8680
8763
 
@@ -8717,9 +8800,9 @@ function DateTimeRangeSelector(_a) {
8717
8800
  });
8718
8801
  }
8719
8802
  };
8720
- return (jsxRuntime.jsxs("div", __assign({ className: "bsc-flex bsc-flex-col bc-dt-range-selector" }, { children: [jsxRuntime.jsx("div", __assign({ className: "bsc-flex-shrink bc-dt-range-scroller-wrapper" }, { children: jsxRuntime.jsx(DateTimeScroller, { title: getSelectorTitle(), scrollerType: DateScrollerType.Range, onMovePrevious: movePreviousMonth, onMoveNext: moveNextMonth }, void 0) }), void 0),
8721
- jsxRuntime.jsx("div", __assign({ className: "bsc-flex-grow" }, { children: jsxRuntime.jsxs("div", __assign({ className: "bsc-flex bsc-flex-row bsc-py-1 bsc-px-2 bc-dt-range-wrapper" }, { children: [jsxRuntime.jsx("div", __assign({ className: "bsc-border-r bsc-border-solid bsc-border-gray-400 bsc-pr-4 bc-dt-range-calendar-1" }, { children: jsxRuntime.jsx(DateTimeCalendar, { viewDate: viewDate, selectedStartDate: selectedStartDate, selectedEndDate: selectedEndDate, selectionMode: CalendarSelectionMode.Range, onDateSelected: onDateSelected, locale: locale, dispatcher: dispatcher }, void 0) }), void 0),
8722
- jsxRuntime.jsx("div", __assign({ className: "bsc-pl-4 bc-dt-range-calendar-2" }, { children: jsxRuntime.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));
8803
+ return (jsxRuntime.jsxs("div", __assign({ className: "flex flex-col bc-dt-range-selector" }, { children: [jsxRuntime.jsx("div", __assign({ className: "flex-shrink bc-dt-range-scroller-wrapper" }, { children: jsxRuntime.jsx(DateTimeScroller, { title: getSelectorTitle(), scrollerType: DateScrollerType.Range, onMovePrevious: movePreviousMonth, onMoveNext: moveNextMonth }, void 0) }), void 0),
8804
+ jsxRuntime.jsx("div", __assign({ className: "flex-grow" }, { children: jsxRuntime.jsxs("div", __assign({ className: "flex flex-row py-1 px-2 bc-dt-range-wrapper" }, { children: [jsxRuntime.jsx("div", __assign({ className: "border-r border-solid border-gray-400 pr-4 bc-dt-range-calendar-1" }, { children: jsxRuntime.jsx(DateTimeCalendar, { viewDate: viewDate, selectedStartDate: selectedStartDate, selectedEndDate: selectedEndDate, selectionMode: CalendarSelectionMode.Range, onDateSelected: onDateSelected, locale: locale, dispatcher: dispatcher }, void 0) }), void 0),
8805
+ jsxRuntime.jsx("div", __assign({ className: "pl-4 bc-dt-range-calendar-2" }, { children: jsxRuntime.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));
8723
8806
  }
8724
8807
 
8725
8808
  function DateTimeTimeSelector(_a) {
@@ -8786,19 +8869,19 @@ function DateTimeTimeSelector(_a) {
8786
8869
  type: DateTimeActionType.DaySelector,
8787
8870
  });
8788
8871
  };
8789
- return (jsxRuntime.jsx("div", __assign({ className: "bsc-flex bsc-flex-row bsc-justify-center bsc-p-2 bc-dt-time-selector", style: { minWidth: '15rem' } }, { children: jsxRuntime.jsxs("div", __assign({ className: "bsc-w-full bsc-grid bsc-grid-cols-4 bsc-gap-4 bc-dt-time-grid" }, { children: [showDateSelector && (jsxRuntime.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)),
8790
- jsxRuntime.jsx("div", __assign({ className: "bsc-text-center bsc-cursor-pointer bc-dt-time-hour-increase" }, { children: jsxRuntime.jsx("button", __assign({ className: "focus:bsc-outline-none", onClick: increaseHour }, { children: jsxRuntime.jsx(FontAwesomeIcon, { icon: ['fas', 'chevron-up'] }, void 0) }), void 0) }), void 0),
8872
+ return (jsxRuntime.jsx("div", __assign({ className: "flex flex-row justify-center p-2 bc-dt-time-selector", style: { minWidth: '15rem' } }, { children: jsxRuntime.jsxs("div", __assign({ className: "w-full grid grid-cols-4 gap-4 bc-dt-time-grid" }, { children: [showDateSelector && (jsxRuntime.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)),
8873
+ jsxRuntime.jsx("div", __assign({ className: "text-center cursor-pointer bc-dt-time-hour-increase" }, { children: jsxRuntime.jsx("button", __assign({ className: "focus:outline-none", onClick: increaseHour }, { children: jsxRuntime.jsx(FontAwesomeIcon, { icon: ['fas', 'chevron-up'] }, void 0) }), void 0) }), void 0),
8791
8874
  jsxRuntime.jsx("div", { children: "\u00A0" }, void 0),
8792
- jsxRuntime.jsx("div", __assign({ className: "bsc-text-center bsc-cursor-pointer bc-dt-time-minute-increase" }, { children: jsxRuntime.jsx("button", __assign({ className: "focus:bsc-outline-none", onClick: increaseMinute }, { children: jsxRuntime.jsx(FontAwesomeIcon, { icon: ['fas', 'chevron-up'] }, void 0) }), void 0) }), void 0),
8793
- jsxRuntime.jsx("div", __assign({ className: "bsc-text-center bsc-cursor-pointer bc-dt-time-meridian-increase" }, { children: jsxRuntime.jsx("button", __assign({ className: "focus:bsc-outline-none", onClick: changeMeridian }, { children: jsxRuntime.jsx(FontAwesomeIcon, { icon: ['fas', 'chevron-up'] }, void 0) }), void 0) }), void 0),
8794
- jsxRuntime.jsx("div", __assign({ className: "bsc-text-center bc-dt-time-hour-value" }, { children: hours.current[currentHour] }), void 0),
8795
- jsxRuntime.jsx("div", __assign({ className: "bsc-text-center bc-dt-time-separator" }, { children: ":" }), void 0),
8796
- jsxRuntime.jsx("div", __assign({ className: "bsc-text-center bc-dt-time-minute-value" }, { children: minutes.current[currentMinute] }), void 0),
8797
- jsxRuntime.jsx("div", __assign({ className: "bsc-text-center bc-dt-time-meridian-value" }, { children: ampm.current[currentMeridian] }), void 0),
8798
- jsxRuntime.jsx("div", __assign({ className: "bsc-text-center bsc-cursor-pointer bc-dt-time-hour-decrease" }, { children: jsxRuntime.jsx("button", __assign({ className: "focus:bsc-outline-none", onClick: decreaseHour }, { children: jsxRuntime.jsx(FontAwesomeIcon, { icon: ['fas', 'chevron-down'] }, void 0) }), void 0) }), void 0),
8875
+ jsxRuntime.jsx("div", __assign({ className: "text-center cursor-pointer bc-dt-time-minute-increase" }, { children: jsxRuntime.jsx("button", __assign({ className: "focus:outline-none", onClick: increaseMinute }, { children: jsxRuntime.jsx(FontAwesomeIcon, { icon: ['fas', 'chevron-up'] }, void 0) }), void 0) }), void 0),
8876
+ jsxRuntime.jsx("div", __assign({ className: "text-center cursor-pointer bc-dt-time-meridian-increase" }, { children: jsxRuntime.jsx("button", __assign({ className: "focus:outline-none", onClick: changeMeridian }, { children: jsxRuntime.jsx(FontAwesomeIcon, { icon: ['fas', 'chevron-up'] }, void 0) }), void 0) }), void 0),
8877
+ jsxRuntime.jsx("div", __assign({ className: "text-center bc-dt-time-hour-value" }, { children: hours.current[currentHour] }), void 0),
8878
+ jsxRuntime.jsx("div", __assign({ className: "text-center bc-dt-time-separator" }, { children: ":" }), void 0),
8879
+ jsxRuntime.jsx("div", __assign({ className: "text-center bc-dt-time-minute-value" }, { children: minutes.current[currentMinute] }), void 0),
8880
+ jsxRuntime.jsx("div", __assign({ className: "text-center bc-dt-time-meridian-value" }, { children: ampm.current[currentMeridian] }), void 0),
8881
+ jsxRuntime.jsx("div", __assign({ className: "text-center cursor-pointer bc-dt-time-hour-decrease" }, { children: jsxRuntime.jsx("button", __assign({ className: "focus:outline-none", onClick: decreaseHour }, { children: jsxRuntime.jsx(FontAwesomeIcon, { icon: ['fas', 'chevron-down'] }, void 0) }), void 0) }), void 0),
8799
8882
  jsxRuntime.jsx("div", { children: "\u00A0" }, void 0),
8800
- jsxRuntime.jsx("div", __assign({ className: "bsc-text-center bsc-cursor-pointer bc-dt-time-minute-decrease" }, { children: jsxRuntime.jsx("button", __assign({ className: "focus:bsc-outline-none", onClick: decreaseMinute }, { children: jsxRuntime.jsx(FontAwesomeIcon, { icon: ['fas', 'chevron-down'] }, void 0) }), void 0) }), void 0),
8801
- jsxRuntime.jsx("div", __assign({ className: "bsc-text-center bsc-cursor-pointer bc-dt-time-meridian-decrease" }, { children: jsxRuntime.jsx("button", __assign({ className: "focus:bsc-outline-none", onClick: changeMeridian }, { children: jsxRuntime.jsx(FontAwesomeIcon, { icon: ['fas', 'chevron-down'] }, void 0) }), void 0) }), void 0)] }), void 0) }), void 0));
8883
+ jsxRuntime.jsx("div", __assign({ className: "text-center cursor-pointer bc-dt-time-minute-decrease" }, { children: jsxRuntime.jsx("button", __assign({ className: "focus:outline-none", onClick: decreaseMinute }, { children: jsxRuntime.jsx(FontAwesomeIcon, { icon: ['fas', 'chevron-down'] }, void 0) }), void 0) }), void 0),
8884
+ jsxRuntime.jsx("div", __assign({ className: "text-center cursor-pointer bc-dt-time-meridian-decrease" }, { children: jsxRuntime.jsx("button", __assign({ className: "focus:outline-none", onClick: changeMeridian }, { children: jsxRuntime.jsx(FontAwesomeIcon, { icon: ['fas', 'chevron-down'] }, void 0) }), void 0) }), void 0)] }), void 0) }), void 0));
8802
8885
  }
8803
8886
 
8804
8887
  function DateTimeYearSelector(_a) {
@@ -8827,21 +8910,22 @@ function DateTimeYearSelector(_a) {
8827
8910
  };
8828
8911
  var getCurrentDecade = function () { return yearMatrix[0][0].toString() + " - " + yearMatrix[2][1].toString(); };
8829
8912
  return (jsxRuntime.jsxs("div", __assign({ className: "bc-dt-year-selector", style: { minWidth: '20rem' } }, { children: [jsxRuntime.jsx(DateTimeScroller, { title: getCurrentDecade(), scrollerType: DateScrollerType.Year, onMovePrevious: movePreviousDecade, onMoveNext: moveNextDecade }, void 0),
8830
- jsxRuntime.jsx("div", __assign({ className: "bsc-w-full bc-dt-year-wrapper" }, { children: jsxRuntime.jsx("div", __assign({ className: "bsc-grid bsc-grid-cols-4 bsc-gap-4 bc-dt-year-grid" }, { children: yearMatrix.map(function (row, rIndex) {
8831
- return row.map(function (column, cIndex) { return (jsxRuntime.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())); });
8913
+ jsxRuntime.jsx("div", __assign({ className: "w-full bc-dt-year-wrapper" }, { children: jsxRuntime.jsx("div", __assign({ className: "grid grid-cols-4 gap-4 bc-dt-year-grid" }, { children: yearMatrix.map(function (row, rIndex) {
8914
+ return row.map(function (column, cIndex) { return (jsxRuntime.jsx("div", __assign({ className: "text-center cursor-pointer bc-dt-year-cell", onClick: function () { return onYearClicked(column); } }, { children: column }), rIndex.toString() + cIndex.toString())); });
8832
8915
  }) }), void 0) }), void 0)] }), void 0));
8833
8916
  }
8834
8917
 
8835
8918
  function DateTime(_a) {
8836
- 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;
8837
- var _f = React.useState(false), selectorOpen = _f[0], setSelectorOpen = _f[1];
8838
- var _g = React.useState(), dropDownTarget = _g[0], setDropDownTarget = _g[1];
8919
+ 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;
8920
+ var _g = React.useState(false), selectorOpen = _g[0], setSelectorOpen = _g[1];
8921
+ var _h = React.useState(), dropDownTarget = _h[0], setDropDownTarget = _h[1];
8839
8922
  var language = React.useRef(locale || getBrowserLanguage());
8840
8923
  var loadedLocale = React.useRef();
8841
8924
  var inputElementRef = React.useRef();
8842
8925
  var contextProps = {
8843
8926
  calendarTemplate: calendarTemplate,
8844
8927
  dateScrollerTemplate: dateScrollerTemplate,
8928
+ colors: colors,
8845
8929
  };
8846
8930
  React.useEffect(function () {
8847
8931
  if (language.current) {
@@ -8935,7 +9019,7 @@ function DateTime(_a) {
8935
9019
  selectedDateChanged: false,
8936
9020
  dateInitialized: false,
8937
9021
  };
8938
- var _h = React.useReducer(reducer, initialState), state = _h[0], dispatcher = _h[1];
9022
+ var _j = React.useReducer(reducer, initialState), state = _j[0], dispatcher = _j[1];
8939
9023
  var onFocus = function (event) {
8940
9024
  setDropDownElement();
8941
9025
  setSelectorOpen(true);
@@ -9052,17 +9136,19 @@ function DateTime(_a) {
9052
9136
  };
9053
9137
  var canShowDateSelectors = dateSelection === DateSelectionType.DateTime || dateSelection === DateSelectionType.DateOnly;
9054
9138
  var canShowTimeSelector = dateSelection === DateSelectionType.DateTime || dateSelection === DateSelectionType.TimeOnly;
9055
- var inputProps = iconPosition === CalendarIconPosition.Right
9056
- ? {
9057
- rightElement: icon || jsxRuntime.jsx(FontAwesomeIcon, { icon: ['far', 'calendar-alt'] }, void 0),
9058
- rightElementClassName: !readOnly ? 'bsc-cursor-pointer' : undefined,
9059
- onRightElementClick: !readOnly ? onCalendarClick : undefined,
9060
- }
9061
- : {
9062
- leftElement: icon || jsxRuntime.jsx(FontAwesomeIcon, { icon: ['far', 'calendar-alt'] }, void 0),
9063
- leftElementClassName: !readOnly ? 'bsc-cursor-pointer' : undefined,
9064
- onLeftElementClick: !readOnly ? onCalendarClick : undefined,
9065
- };
9139
+ var inputProps = iconPosition === CalendarIconPosition.None
9140
+ ? {}
9141
+ : iconPosition === CalendarIconPosition.Right
9142
+ ? {
9143
+ rightElement: icon || jsxRuntime.jsx(FontAwesomeIcon, { icon: ['far', 'calendar-alt'] }, void 0),
9144
+ rightElementClassName: !readOnly ? 'cursor-pointer' : undefined,
9145
+ onRightElementClick: !readOnly ? onCalendarClick : undefined,
9146
+ }
9147
+ : {
9148
+ leftElement: icon || jsxRuntime.jsx(FontAwesomeIcon, { icon: ['far', 'calendar-alt'] }, void 0),
9149
+ leftElementClassName: !readOnly ? 'cursor-pointer' : undefined,
9150
+ onLeftElementClick: !readOnly ? onCalendarClick : undefined,
9151
+ };
9066
9152
  var inputTemplateProps = {
9067
9153
  label: label,
9068
9154
  readOnly: readOnly,
@@ -9076,8 +9162,8 @@ function DateTime(_a) {
9076
9162
  };
9077
9163
  var defaultTemplate = function (props, children) { return (jsxRuntime.jsx(jsxRuntime.Fragment, { children: children }, void 0)); };
9078
9164
  var template = inputTemplate || defaultTemplate;
9079
- return (jsxRuntime.jsx(DateTimeContext.Provider, __assign({ value: contextProps }, { children: jsxRuntime.jsxs("div", __assign({ className: "bc-date-time" }, { children: [jsxRuntime.jsxs(TemplateOutlet, __assign({ props: inputTemplateProps, template: template }, { children: [label && jsxRuntime.jsx("label", __assign({ className: "dark:bsc-text-white bc-dt-label" }, { children: label }), void 0),
9080
- jsxRuntime.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),
9165
+ return (jsxRuntime.jsx(DateTimeContext.Provider, __assign({ value: contextProps }, { children: jsxRuntime.jsxs("div", __assign({ className: "bc-date-time" }, { children: [jsxRuntime.jsxs(TemplateOutlet, __assign({ props: inputTemplateProps, template: template }, { children: [label && jsxRuntime.jsx("label", __assign({ className: "dark:text-white bc-dt-label" }, { children: label }), void 0),
9166
+ jsxRuntime.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),
9081
9167
  jsxRuntime.jsx(OverlayPanel, __assign({ visible: selectorOpen, target: dropDownTarget, shouldTargetCloseOverlay: false, shouldScrollCloseOverlay: true, hidden: onDateTimeHidden }, { children: jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [state.currentSelector === DateTimeActionType.DaySelector &&
9082
9168
  canShowDateSelectors &&
9083
9169
  state.dateInitialized &&
@@ -9124,7 +9210,7 @@ function styleInject(css, ref) {
9124
9210
  }
9125
9211
  }
9126
9212
 
9127
- 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";
9213
+ 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";
9128
9214
  styleInject(css_248z);
9129
9215
 
9130
9216
  /*!