@mirai/ui 1.0.261 → 1.0.262
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/components/Calendar/Calendar.Week.js +7 -10
- package/build/components/Calendar/Calendar.Week.js.map +1 -1
- package/build/components/Calendar/Calendar.js +9 -1
- package/build/components/Calendar/Calendar.js.map +1 -1
- package/build/theme/theme.constants.js +3 -1
- package/build/theme/theme.constants.js.map +1 -1
- package/build/theme/theme.js +34 -11
- package/build/theme/theme.js.map +1 -1
- package/package.json +1 -1
|
@@ -14,7 +14,7 @@ var _Tooltip = require("../Tooltip");
|
|
|
14
14
|
var _Calendar = require("./Calendar.constants");
|
|
15
15
|
var _CalendarModule = _interopRequireDefault(require("./Calendar.module.css"));
|
|
16
16
|
var _helpers2 = require("./helpers");
|
|
17
|
-
var _excluded = ["captions", "
|
|
17
|
+
var _excluded = ["captions", "disabledDatesTS", "disabledPast", "focus", "locale", "format", "from", "highlights", "month", "number", "range", "rangeMinDays", "selected", "timestamp", "to", "tooltips", "year", "onPress", "onFocus"];
|
|
18
18
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
19
19
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
20
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -33,8 +33,8 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
|
|
|
33
33
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
34
34
|
var Week = function Week(_ref) {
|
|
35
35
|
var captions = _ref.captions,
|
|
36
|
-
_ref$
|
|
37
|
-
|
|
36
|
+
_ref$disabledDatesTS = _ref.disabledDatesTS,
|
|
37
|
+
disabledDatesTS = _ref$disabledDatesTS === void 0 ? [] : _ref$disabledDatesTS,
|
|
38
38
|
disabledPast = _ref.disabledPast,
|
|
39
39
|
focus = _ref.focus,
|
|
40
40
|
locale = _ref.locale,
|
|
@@ -57,9 +57,6 @@ var Week = function Week(_ref) {
|
|
|
57
57
|
_ref$onFocus = _ref.onFocus,
|
|
58
58
|
onFocus = _ref$onFocus === void 0 ? function () {} : _ref$onFocus,
|
|
59
59
|
others = _objectWithoutProperties(_ref, _excluded);
|
|
60
|
-
var disabledDatesTS = disabledDates.map(function (date) {
|
|
61
|
-
return (0, _locale.UTC)((0, _locale.parseDate)(date, format)).getTime();
|
|
62
|
-
});
|
|
63
60
|
var firstDate = (0, _helpers2.getFirstDateOfWeek)(number, year, (0, _helpers2.getFirstDayOfWeek)(locale));
|
|
64
61
|
var todayTS = (0, _helpers2.getToday)().getTime();
|
|
65
62
|
var fromTS = from === null || from === void 0 ? void 0 : from.getTime();
|
|
@@ -96,12 +93,12 @@ var Week = function Week(_ref) {
|
|
|
96
93
|
// past
|
|
97
94
|
!date.getMonth() === month ||
|
|
98
95
|
// days out of month
|
|
99
|
-
disabledDatesTS.includes(dateTS) ||
|
|
100
|
-
// disabled dates
|
|
101
96
|
dateTS < fromTS ||
|
|
102
97
|
// less than range
|
|
103
|
-
dateTS > toTS
|
|
98
|
+
dateTS > toTS ||
|
|
104
99
|
// more than range
|
|
100
|
+
disabledDatesTS.includes(dateTS),
|
|
101
|
+
// disabled dates
|
|
105
102
|
highlight: highlights.includes(dateString),
|
|
106
103
|
outOfRange: dateTS > rangeTS.outbound,
|
|
107
104
|
minRange: dateTS > rangeTS.start && dateTS < rangeTS.min,
|
|
@@ -149,7 +146,7 @@ exports.Week = Week;
|
|
|
149
146
|
Week.displayName = 'Component:Calendar:Week';
|
|
150
147
|
Week.propTypes = {
|
|
151
148
|
captions: _propTypes.default.shape({}),
|
|
152
|
-
|
|
149
|
+
disabledDatesTS: _propTypes.default.arrayOf(_propTypes.default.number),
|
|
153
150
|
disabledPast: _propTypes.default.bool,
|
|
154
151
|
focus: _propTypes.default.object,
|
|
155
152
|
highlights: _propTypes.default.arrayOf(_propTypes.default.string),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Calendar.Week.js","names":["Week","captions","disabledDates","disabledPast","focus","locale","format","from","highlights","month","number","range","rangeMinDays","selected","timestamp","to","tooltips","year","onPress","onFocus","others","disabledDatesTS","map","date","UTC","parseDate","getTime","firstDate","getFirstDateOfWeek","getFirstDayOfWeek","todayTS","getToday","fromTS","toTS","focusTS","rangeTS","start","end","undefined","min","dateCalc","filter","ts","sort","outbound","styles","style","DAYS","day","Date","getFullYear","getMonth","getDate","dateTS","dateString","dateFormat","is","disabled","includes","highlight","outOfRange","minRange","rangeLimit","ranging","today","visible","textStyle","textDisabled","textSelected","textHighlight","tooltip","cell","testId","React","createElement","Tooltip","Fragment","pressable","top","dayRange","daySelected","daySelectedStart","daySelectedEnd","dayTouchable","caption","hide","color","displayName","propTypes","PropTypes","shape","arrayOf","string","bool","object","instanceOf","isRequired","oneOfType","func"],"sources":["../../../src/components/Calendar/Calendar.Week.jsx"],"sourcesContent":["import { dateCalc, dateFormat, parseDate, UTC } from '@mirai/locale';\nimport PropTypes from 'prop-types';\nimport React, { Fragment } from 'react';\n\nimport { styles } from '../../helpers';\nimport { Pressable, Text, View } from '../../primitives';\nimport { Tooltip } from '../Tooltip';\nimport { DAYS } from './Calendar.constants';\nimport style from './Calendar.module.css';\nimport { getFirstDateOfWeek, getToday, getFirstDayOfWeek } from './helpers';\n\nexport const Week = ({\n captions,\n disabledDates = [],\n disabledPast,\n focus,\n locale,\n format,\n from,\n highlights = [],\n month,\n number,\n range,\n rangeMinDays,\n selected,\n timestamp,\n to,\n tooltips = {},\n year,\n onPress = () => {},\n onFocus = () => {},\n ...others\n}) => {\n const disabledDatesTS = disabledDates.map((date) => UTC(parseDate(date, format)).getTime());\n const firstDate = getFirstDateOfWeek(number, year, getFirstDayOfWeek(locale));\n const todayTS = getToday().getTime();\n const fromTS = from?.getTime();\n const toTS = to?.getTime();\n const focusTS = focus?.getTime();\n\n let rangeTS = {};\n if (range) {\n const [start, end] = selected;\n rangeTS = {\n start: start ? start.getTime() : undefined,\n end: end ? end.getTime() : undefined,\n min: start && rangeMinDays ? dateCalc(start, rangeMinDays, 'days').getTime() : undefined,\n };\n\n const [outbound] = disabledDatesTS.filter((ts) => ts > rangeTS.start).sort();\n rangeTS.outbound = outbound ? outbound - 1 : undefined;\n }\n\n return (\n <View forceRow className={styles(rangeTS.start !== undefined && range && style.range)}>\n {DAYS.map((day) => {\n const date = UTC(new Date(firstDate.getFullYear(), firstDate.getMonth(), firstDate.getDate() + day));\n const dateTS = date.getTime();\n const dateString = dateFormat(date, { format });\n\n const is = {\n disabled:\n (disabledPast && dateTS < todayTS) || // past\n !date.getMonth() === month || // days out of month\n disabledDatesTS.includes(dateTS) || // disabled dates\n dateTS < fromTS || // less than range\n dateTS > toTS, // more than range\n highlight: highlights.includes(dateString),\n outOfRange: dateTS > rangeTS.outbound,\n minRange: dateTS > rangeTS.start && dateTS < rangeTS.min,\n range: dateTS > rangeTS.start && (dateTS < rangeTS.end || dateTS < rangeTS.min || dateTS < focusTS),\n rangeLimit: dateTS === rangeTS.start || dateTS === rangeTS.end,\n ranging: range && selected?.[0] && !selected[1],\n selected:\n range && selected\n ? selected[0] && !selected[1]\n ? dateTS === selected[0].getTime()\n : selected[0] && selected[1]\n ? dateTS >= selected[0].getTime() && dateTS <= selected[1].getTime()\n : undefined\n : dateTS === selected?.getTime(),\n today: dateTS === todayTS,\n visible: date.getMonth() === month,\n };\n\n const textStyle =\n is.disabled || (is.ranging && is.outOfRange)\n ? style.textDisabled\n : is.selected || dateTS === rangeTS.end\n ? style.textSelected\n : is.highlight && !is.range\n ? style.textHighlight\n : undefined;\n\n const tooltip = !is.disabled && tooltips[dateString];\n\n return (\n <Pressable\n disabled={is.disabled || !is.visible || (is.ranging && (is.minRange || is.outOfRange))}\n key={day}\n tabIndex={is.visible && !is.disabled ? `${date.getMonth()}-${date.getDate()}` : undefined}\n onEnter={is.ranging ? () => onFocus(date) : undefined}\n onLeave={is.ranging ? () => onFocus() : undefined}\n onPress={() => onPress(date)}\n className={style.cell}\n testId={`${others.testId || 'calendar'}-${number}-${day}`}\n >\n {is.visible &&\n React.createElement(\n tooltip ? Tooltip : Fragment,\n tooltip ? { pressable: true, timestamp, top: true, visible: true, ...tooltip } : {},\n <View\n className={styles(\n style.day,\n is.range && !is.disabled && !is.outOfRange && style.dayRange,\n (is.rangeLimit || (!is.range && is.selected)) && style.daySelected,\n is.rangeLimit && dateTS === rangeTS.start && style.daySelectedStart,\n is.rangeLimit && dateTS === rangeTS.end && style.daySelectedEnd,\n !is.selected && !is.disabled && !is.minRange && !is.outOfRange && style.dayTouchable,\n )}\n >\n <Text bold={is.today || is.highlight || (is.selected && !is.range)} className={textStyle}>\n {date.getDate()}\n </Text>\n\n {captions && (\n <Text\n tiny\n className={styles(\n textStyle,\n style.caption,\n disabledPast && dateTS < todayTS && style.hide,\n !is.disabled && !is.highlight && !is.selected && !is.rangeLimit && !is.range && style.color,\n )}\n >\n {captions[dateString] || '-'}\n </Text>\n )}\n </View>,\n )}\n </Pressable>\n );\n })}\n </View>\n );\n};\n\nWeek.displayName = 'Component:Calendar:Week';\n\nWeek.propTypes = {\n captions: PropTypes.shape({}),\n disabledDates: PropTypes.arrayOf(PropTypes.string),\n disabledPast: PropTypes.bool,\n focus: PropTypes.object,\n highlights: PropTypes.arrayOf(PropTypes.string),\n locale: PropTypes.string,\n format: PropTypes.string,\n from: PropTypes.instanceOf(Date),\n to: PropTypes.instanceOf(Date),\n tooltips: PropTypes.shape({}),\n year: PropTypes.number.isRequired,\n month: PropTypes.number.isRequired,\n number: PropTypes.number.isRequired,\n range: PropTypes.bool,\n rangeMinDays: PropTypes.number,\n selected: PropTypes.oneOfType([PropTypes.object, PropTypes.arrayOf(PropTypes.object)]),\n timestamp: PropTypes.number,\n onFocus: PropTypes.func,\n onPress: PropTypes.func,\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Calendar.Week.js","names":["Week","captions","disabledDatesTS","disabledPast","focus","locale","format","from","highlights","month","number","range","rangeMinDays","selected","timestamp","to","tooltips","year","onPress","onFocus","others","firstDate","getFirstDateOfWeek","getFirstDayOfWeek","todayTS","getToday","getTime","fromTS","toTS","focusTS","rangeTS","start","end","undefined","min","dateCalc","filter","ts","sort","outbound","styles","style","DAYS","map","day","date","UTC","Date","getFullYear","getMonth","getDate","dateTS","dateString","dateFormat","is","disabled","includes","highlight","outOfRange","minRange","rangeLimit","ranging","today","visible","textStyle","textDisabled","textSelected","textHighlight","tooltip","cell","testId","React","createElement","Tooltip","Fragment","pressable","top","dayRange","daySelected","daySelectedStart","daySelectedEnd","dayTouchable","caption","hide","color","displayName","propTypes","PropTypes","shape","arrayOf","bool","object","string","instanceOf","isRequired","oneOfType","func"],"sources":["../../../src/components/Calendar/Calendar.Week.jsx"],"sourcesContent":["import { dateCalc, dateFormat, UTC } from '@mirai/locale';\nimport PropTypes from 'prop-types';\nimport React, { Fragment } from 'react';\n\nimport { styles } from '../../helpers';\nimport { Pressable, Text, View } from '../../primitives';\nimport { Tooltip } from '../Tooltip';\nimport { DAYS } from './Calendar.constants';\nimport style from './Calendar.module.css';\nimport { getFirstDateOfWeek, getToday, getFirstDayOfWeek } from './helpers';\n\nexport const Week = ({\n captions,\n disabledDatesTS = [],\n disabledPast,\n focus,\n locale,\n format,\n from,\n highlights = [],\n month,\n number,\n range,\n rangeMinDays,\n selected,\n timestamp,\n to,\n tooltips = {},\n year,\n onPress = () => {},\n onFocus = () => {},\n ...others\n}) => {\n const firstDate = getFirstDateOfWeek(number, year, getFirstDayOfWeek(locale));\n const todayTS = getToday().getTime();\n const fromTS = from?.getTime();\n const toTS = to?.getTime();\n const focusTS = focus?.getTime();\n\n let rangeTS = {};\n if (range) {\n const [start, end] = selected;\n rangeTS = {\n start: start ? start.getTime() : undefined,\n end: end ? end.getTime() : undefined,\n min: start && rangeMinDays ? dateCalc(start, rangeMinDays, 'days').getTime() : undefined,\n };\n\n const [outbound] = disabledDatesTS.filter((ts) => ts > rangeTS.start).sort();\n rangeTS.outbound = outbound ? outbound - 1 : undefined;\n }\n\n return (\n <View forceRow className={styles(rangeTS.start !== undefined && range && style.range)}>\n {DAYS.map((day) => {\n const date = UTC(new Date(firstDate.getFullYear(), firstDate.getMonth(), firstDate.getDate() + day));\n const dateTS = date.getTime();\n const dateString = dateFormat(date, { format });\n\n const is = {\n disabled:\n (disabledPast && dateTS < todayTS) || // past\n !date.getMonth() === month || // days out of month\n dateTS < fromTS || // less than range\n dateTS > toTS || // more than range\n disabledDatesTS.includes(dateTS), // disabled dates\n highlight: highlights.includes(dateString),\n outOfRange: dateTS > rangeTS.outbound,\n minRange: dateTS > rangeTS.start && dateTS < rangeTS.min,\n range: dateTS > rangeTS.start && (dateTS < rangeTS.end || dateTS < rangeTS.min || dateTS < focusTS),\n rangeLimit: dateTS === rangeTS.start || dateTS === rangeTS.end,\n ranging: range && selected?.[0] && !selected[1],\n selected:\n range && selected\n ? selected[0] && !selected[1]\n ? dateTS === selected[0].getTime()\n : selected[0] && selected[1]\n ? dateTS >= selected[0].getTime() && dateTS <= selected[1].getTime()\n : undefined\n : dateTS === selected?.getTime(),\n today: dateTS === todayTS,\n visible: date.getMonth() === month,\n };\n\n const textStyle =\n is.disabled || (is.ranging && is.outOfRange)\n ? style.textDisabled\n : is.selected || dateTS === rangeTS.end\n ? style.textSelected\n : is.highlight && !is.range\n ? style.textHighlight\n : undefined;\n\n const tooltip = !is.disabled && tooltips[dateString];\n\n return (\n <Pressable\n disabled={is.disabled || !is.visible || (is.ranging && (is.minRange || is.outOfRange))}\n key={day}\n tabIndex={is.visible && !is.disabled ? `${date.getMonth()}-${date.getDate()}` : undefined}\n onEnter={is.ranging ? () => onFocus(date) : undefined}\n onLeave={is.ranging ? () => onFocus() : undefined}\n onPress={() => onPress(date)}\n className={style.cell}\n testId={`${others.testId || 'calendar'}-${number}-${day}`}\n >\n {is.visible &&\n React.createElement(\n tooltip ? Tooltip : Fragment,\n tooltip ? { pressable: true, timestamp, top: true, visible: true, ...tooltip } : {},\n <View\n className={styles(\n style.day,\n is.range && !is.disabled && !is.outOfRange && style.dayRange,\n (is.rangeLimit || (!is.range && is.selected)) && style.daySelected,\n is.rangeLimit && dateTS === rangeTS.start && style.daySelectedStart,\n is.rangeLimit && dateTS === rangeTS.end && style.daySelectedEnd,\n !is.selected && !is.disabled && !is.minRange && !is.outOfRange && style.dayTouchable,\n )}\n >\n <Text bold={is.today || is.highlight || (is.selected && !is.range)} className={textStyle}>\n {date.getDate()}\n </Text>\n\n {captions && (\n <Text\n tiny\n className={styles(\n textStyle,\n style.caption,\n disabledPast && dateTS < todayTS && style.hide,\n !is.disabled && !is.highlight && !is.selected && !is.rangeLimit && !is.range && style.color,\n )}\n >\n {captions[dateString] || '-'}\n </Text>\n )}\n </View>,\n )}\n </Pressable>\n );\n })}\n </View>\n );\n};\n\nWeek.displayName = 'Component:Calendar:Week';\n\nWeek.propTypes = {\n captions: PropTypes.shape({}),\n disabledDatesTS: PropTypes.arrayOf(PropTypes.number),\n disabledPast: PropTypes.bool,\n focus: PropTypes.object,\n highlights: PropTypes.arrayOf(PropTypes.string),\n locale: PropTypes.string,\n format: PropTypes.string,\n from: PropTypes.instanceOf(Date),\n to: PropTypes.instanceOf(Date),\n tooltips: PropTypes.shape({}),\n year: PropTypes.number.isRequired,\n month: PropTypes.number.isRequired,\n number: PropTypes.number.isRequired,\n range: PropTypes.bool,\n rangeMinDays: PropTypes.number,\n selected: PropTypes.oneOfType([PropTypes.object, PropTypes.arrayOf(PropTypes.object)]),\n timestamp: PropTypes.number,\n onFocus: PropTypes.func,\n onPress: PropTypes.func,\n};\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAA4E;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAErE,IAAMA,IAAI,GAAG,SAAPA,IAAI,OAqBX;EAAA,IApBJC,QAAQ,QAARA,QAAQ;IAAA,4BACRC,eAAe;IAAfA,eAAe,qCAAG,EAAE;IACpBC,YAAY,QAAZA,YAAY;IACZC,KAAK,QAALA,KAAK;IACLC,MAAM,QAANA,MAAM;IACNC,MAAM,QAANA,MAAM;IACNC,IAAI,QAAJA,IAAI;IAAA,uBACJC,UAAU;IAAVA,UAAU,gCAAG,EAAE;IACfC,KAAK,QAALA,KAAK;IACLC,MAAM,QAANA,MAAM;IACNC,KAAK,QAALA,KAAK;IACLC,YAAY,QAAZA,YAAY;IACZC,QAAQ,QAARA,QAAQ;IACRC,SAAS,QAATA,SAAS;IACTC,EAAE,QAAFA,EAAE;IAAA,qBACFC,QAAQ;IAARA,QAAQ,8BAAG,CAAC,CAAC;IACbC,IAAI,QAAJA,IAAI;IAAA,oBACJC,OAAO;IAAPA,QAAO,6BAAG,YAAM,CAAC,CAAC;IAAA,oBAClBC,OAAO;IAAPA,OAAO,6BAAG,YAAM,CAAC,CAAC;IACfC,MAAM;EAET,IAAMC,SAAS,GAAG,IAAAC,4BAAkB,EAACZ,MAAM,EAAEO,IAAI,EAAE,IAAAM,2BAAiB,EAAClB,MAAM,CAAC,CAAC;EAC7E,IAAMmB,OAAO,GAAG,IAAAC,kBAAQ,GAAE,CAACC,OAAO,EAAE;EACpC,IAAMC,MAAM,GAAGpB,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEmB,OAAO,EAAE;EAC9B,IAAME,IAAI,GAAGb,EAAE,aAAFA,EAAE,uBAAFA,EAAE,CAAEW,OAAO,EAAE;EAC1B,IAAMG,OAAO,GAAGzB,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEsB,OAAO,EAAE;EAEhC,IAAII,OAAO,GAAG,CAAC,CAAC;EAChB,IAAInB,KAAK,EAAE;IACT,+BAAqBE,QAAQ;MAAtBkB,KAAK;MAAEC,GAAG;IACjBF,OAAO,GAAG;MACRC,KAAK,EAAEA,KAAK,GAAGA,KAAK,CAACL,OAAO,EAAE,GAAGO,SAAS;MAC1CD,GAAG,EAAEA,GAAG,GAAGA,GAAG,CAACN,OAAO,EAAE,GAAGO,SAAS;MACpCC,GAAG,EAAEH,KAAK,IAAInB,YAAY,GAAG,IAAAuB,gBAAQ,EAACJ,KAAK,EAAEnB,YAAY,EAAE,MAAM,CAAC,CAACc,OAAO,EAAE,GAAGO;IACjF,CAAC;IAED,4BAAmB/B,eAAe,CAACkC,MAAM,CAAC,UAACC,EAAE;QAAA,OAAKA,EAAE,GAAGP,OAAO,CAACC,KAAK;MAAA,EAAC,CAACO,IAAI,EAAE;MAAA;MAArEC,QAAQ;IACfT,OAAO,CAACS,QAAQ,GAAGA,QAAQ,GAAGA,QAAQ,GAAG,CAAC,GAAGN,SAAS;EACxD;EAEA,oBACE,6BAAC,gBAAI;IAAC,QAAQ;IAAC,SAAS,EAAE,IAAAO,eAAM,EAACV,OAAO,CAACC,KAAK,KAAKE,SAAS,IAAItB,KAAK,IAAI8B,uBAAK,CAAC9B,KAAK;EAAE,GACnF+B,cAAI,CAACC,GAAG,CAAC,UAACC,GAAG,EAAK;IACjB,IAAMC,IAAI,GAAG,IAAAC,WAAG,EAAC,IAAIC,IAAI,CAAC1B,SAAS,CAAC2B,WAAW,EAAE,EAAE3B,SAAS,CAAC4B,QAAQ,EAAE,EAAE5B,SAAS,CAAC6B,OAAO,EAAE,GAAGN,GAAG,CAAC,CAAC;IACpG,IAAMO,MAAM,GAAGN,IAAI,CAACnB,OAAO,EAAE;IAC7B,IAAM0B,UAAU,GAAG,IAAAC,kBAAU,EAACR,IAAI,EAAE;MAAEvC,MAAM,EAANA;IAAO,CAAC,CAAC;IAE/C,IAAMgD,EAAE,GAAG;MACTC,QAAQ,EACLpD,YAAY,IAAIgD,MAAM,GAAG3B,OAAO;MAAK;MACtC,CAACqB,IAAI,CAACI,QAAQ,EAAE,KAAKxC,KAAK;MAAI;MAC9B0C,MAAM,GAAGxB,MAAM;MAAI;MACnBwB,MAAM,GAAGvB,IAAI;MAAI;MACjB1B,eAAe,CAACsD,QAAQ,CAACL,MAAM,CAAC;MAAE;MACpCM,SAAS,EAAEjD,UAAU,CAACgD,QAAQ,CAACJ,UAAU,CAAC;MAC1CM,UAAU,EAAEP,MAAM,GAAGrB,OAAO,CAACS,QAAQ;MACrCoB,QAAQ,EAAER,MAAM,GAAGrB,OAAO,CAACC,KAAK,IAAIoB,MAAM,GAAGrB,OAAO,CAACI,GAAG;MACxDvB,KAAK,EAAEwC,MAAM,GAAGrB,OAAO,CAACC,KAAK,KAAKoB,MAAM,GAAGrB,OAAO,CAACE,GAAG,IAAImB,MAAM,GAAGrB,OAAO,CAACI,GAAG,IAAIiB,MAAM,GAAGtB,OAAO,CAAC;MACnG+B,UAAU,EAAET,MAAM,KAAKrB,OAAO,CAACC,KAAK,IAAIoB,MAAM,KAAKrB,OAAO,CAACE,GAAG;MAC9D6B,OAAO,EAAElD,KAAK,KAAIE,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAG,CAAC,CAAC,KAAI,CAACA,QAAQ,CAAC,CAAC,CAAC;MAC/CA,QAAQ,EACNF,KAAK,IAAIE,QAAQ,GACbA,QAAQ,CAAC,CAAC,CAAC,IAAI,CAACA,QAAQ,CAAC,CAAC,CAAC,GACzBsC,MAAM,KAAKtC,QAAQ,CAAC,CAAC,CAAC,CAACa,OAAO,EAAE,GAChCb,QAAQ,CAAC,CAAC,CAAC,IAAIA,QAAQ,CAAC,CAAC,CAAC,GAC1BsC,MAAM,IAAItC,QAAQ,CAAC,CAAC,CAAC,CAACa,OAAO,EAAE,IAAIyB,MAAM,IAAItC,QAAQ,CAAC,CAAC,CAAC,CAACa,OAAO,EAAE,GAClEO,SAAS,GACXkB,MAAM,MAAKtC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEa,OAAO,EAAE;MACpCoC,KAAK,EAAEX,MAAM,KAAK3B,OAAO;MACzBuC,OAAO,EAAElB,IAAI,CAACI,QAAQ,EAAE,KAAKxC;IAC/B,CAAC;IAED,IAAMuD,SAAS,GACbV,EAAE,CAACC,QAAQ,IAAKD,EAAE,CAACO,OAAO,IAAIP,EAAE,CAACI,UAAW,GACxCjB,uBAAK,CAACwB,YAAY,GAClBX,EAAE,CAACzC,QAAQ,IAAIsC,MAAM,KAAKrB,OAAO,CAACE,GAAG,GACrCS,uBAAK,CAACyB,YAAY,GAClBZ,EAAE,CAACG,SAAS,IAAI,CAACH,EAAE,CAAC3C,KAAK,GACzB8B,uBAAK,CAAC0B,aAAa,GACnBlC,SAAS;IAEf,IAAMmC,OAAO,GAAG,CAACd,EAAE,CAACC,QAAQ,IAAIvC,QAAQ,CAACoC,UAAU,CAAC;IAEpD,oBACE,6BAAC,qBAAS;MACR,QAAQ,EAAEE,EAAE,CAACC,QAAQ,IAAI,CAACD,EAAE,CAACS,OAAO,IAAKT,EAAE,CAACO,OAAO,KAAKP,EAAE,CAACK,QAAQ,IAAIL,EAAE,CAACI,UAAU,CAAG;MACvF,GAAG,EAAEd,GAAI;MACT,QAAQ,EAAEU,EAAE,CAACS,OAAO,IAAI,CAACT,EAAE,CAACC,QAAQ,aAAMV,IAAI,CAACI,QAAQ,EAAE,cAAIJ,IAAI,CAACK,OAAO,EAAE,IAAKjB,SAAU;MAC1F,OAAO,EAAEqB,EAAE,CAACO,OAAO,GAAG;QAAA,OAAM1C,OAAO,CAAC0B,IAAI,CAAC;MAAA,IAAGZ,SAAU;MACtD,OAAO,EAAEqB,EAAE,CAACO,OAAO,GAAG;QAAA,OAAM1C,OAAO,EAAE;MAAA,IAAGc,SAAU;MAClD,OAAO,EAAE;QAAA,OAAMf,QAAO,CAAC2B,IAAI,CAAC;MAAA,CAAC;MAC7B,SAAS,EAAEJ,uBAAK,CAAC4B,IAAK;MACtB,MAAM,YAAKjD,MAAM,CAACkD,MAAM,IAAI,UAAU,cAAI5D,MAAM,cAAIkC,GAAG;IAAG,GAEzDU,EAAE,CAACS,OAAO,iBACTQ,cAAK,CAACC,aAAa,CACjBJ,OAAO,GAAGK,gBAAO,GAAGC,eAAQ,EAC5BN,OAAO;MAAKO,SAAS,EAAE,IAAI;MAAE7D,SAAS,EAATA,SAAS;MAAE8D,GAAG,EAAE,IAAI;MAAEb,OAAO,EAAE;IAAI,GAAKK,OAAO,IAAK,CAAC,CAAC,eACnF,6BAAC,gBAAI;MACH,SAAS,EAAE,IAAA5B,eAAM,EACfC,uBAAK,CAACG,GAAG,EACTU,EAAE,CAAC3C,KAAK,IAAI,CAAC2C,EAAE,CAACC,QAAQ,IAAI,CAACD,EAAE,CAACI,UAAU,IAAIjB,uBAAK,CAACoC,QAAQ,EAC5D,CAACvB,EAAE,CAACM,UAAU,IAAK,CAACN,EAAE,CAAC3C,KAAK,IAAI2C,EAAE,CAACzC,QAAS,KAAK4B,uBAAK,CAACqC,WAAW,EAClExB,EAAE,CAACM,UAAU,IAAIT,MAAM,KAAKrB,OAAO,CAACC,KAAK,IAAIU,uBAAK,CAACsC,gBAAgB,EACnEzB,EAAE,CAACM,UAAU,IAAIT,MAAM,KAAKrB,OAAO,CAACE,GAAG,IAAIS,uBAAK,CAACuC,cAAc,EAC/D,CAAC1B,EAAE,CAACzC,QAAQ,IAAI,CAACyC,EAAE,CAACC,QAAQ,IAAI,CAACD,EAAE,CAACK,QAAQ,IAAI,CAACL,EAAE,CAACI,UAAU,IAAIjB,uBAAK,CAACwC,YAAY;IACpF,gBAEF,6BAAC,gBAAI;MAAC,IAAI,EAAE3B,EAAE,CAACQ,KAAK,IAAIR,EAAE,CAACG,SAAS,IAAKH,EAAE,CAACzC,QAAQ,IAAI,CAACyC,EAAE,CAAC3C,KAAO;MAAC,SAAS,EAAEqD;IAAU,GACtFnB,IAAI,CAACK,OAAO,EAAE,CACV,EAENjD,QAAQ,iBACP,6BAAC,gBAAI;MACH,IAAI;MACJ,SAAS,EAAE,IAAAuC,eAAM,EACfwB,SAAS,EACTvB,uBAAK,CAACyC,OAAO,EACb/E,YAAY,IAAIgD,MAAM,GAAG3B,OAAO,IAAIiB,uBAAK,CAAC0C,IAAI,EAC9C,CAAC7B,EAAE,CAACC,QAAQ,IAAI,CAACD,EAAE,CAACG,SAAS,IAAI,CAACH,EAAE,CAACzC,QAAQ,IAAI,CAACyC,EAAE,CAACM,UAAU,IAAI,CAACN,EAAE,CAAC3C,KAAK,IAAI8B,uBAAK,CAAC2C,KAAK;IAC3F,GAEDnF,QAAQ,CAACmD,UAAU,CAAC,IAAI,GAAG,CAE/B,CACI,CACR,CACO;EAEhB,CAAC,CAAC,CACG;AAEX,CAAC;AAAC;AAEFpD,IAAI,CAACqF,WAAW,GAAG,yBAAyB;AAE5CrF,IAAI,CAACsF,SAAS,GAAG;EACfrF,QAAQ,EAAEsF,kBAAS,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC;EAC7BtF,eAAe,EAAEqF,kBAAS,CAACE,OAAO,CAACF,kBAAS,CAAC7E,MAAM,CAAC;EACpDP,YAAY,EAAEoF,kBAAS,CAACG,IAAI;EAC5BtF,KAAK,EAAEmF,kBAAS,CAACI,MAAM;EACvBnF,UAAU,EAAE+E,kBAAS,CAACE,OAAO,CAACF,kBAAS,CAACK,MAAM,CAAC;EAC/CvF,MAAM,EAAEkF,kBAAS,CAACK,MAAM;EACxBtF,MAAM,EAAEiF,kBAAS,CAACK,MAAM;EACxBrF,IAAI,EAAEgF,kBAAS,CAACM,UAAU,CAAC9C,IAAI,CAAC;EAChChC,EAAE,EAAEwE,kBAAS,CAACM,UAAU,CAAC9C,IAAI,CAAC;EAC9B/B,QAAQ,EAAEuE,kBAAS,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC;EAC7BvE,IAAI,EAAEsE,kBAAS,CAAC7E,MAAM,CAACoF,UAAU;EACjCrF,KAAK,EAAE8E,kBAAS,CAAC7E,MAAM,CAACoF,UAAU;EAClCpF,MAAM,EAAE6E,kBAAS,CAAC7E,MAAM,CAACoF,UAAU;EACnCnF,KAAK,EAAE4E,kBAAS,CAACG,IAAI;EACrB9E,YAAY,EAAE2E,kBAAS,CAAC7E,MAAM;EAC9BG,QAAQ,EAAE0E,kBAAS,CAACQ,SAAS,CAAC,CAACR,kBAAS,CAACI,MAAM,EAAEJ,kBAAS,CAACE,OAAO,CAACF,kBAAS,CAACI,MAAM,CAAC,CAAC,CAAC;EACtF7E,SAAS,EAAEyE,kBAAS,CAAC7E,MAAM;EAC3BS,OAAO,EAAEoE,kBAAS,CAACS,IAAI;EACvB9E,OAAO,EAAEqE,kBAAS,CAACS;AACrB,CAAC"}
|
|
@@ -15,7 +15,7 @@ var _CalendarModule = _interopRequireDefault(require("./Calendar.module.css"));
|
|
|
15
15
|
var _Calendar = require("./Calendar.Month");
|
|
16
16
|
var _Calendar2 = require("./Calendar.Weekdays");
|
|
17
17
|
var _helpers2 = require("./helpers");
|
|
18
|
-
var _excluded = ["autoScroll", "disabledPast", "format", "from", "locale", "range", "rangeMaxDays", "to", "value", "vertical", "onChange", "onFocus", "onNavigation", "onScroll"],
|
|
18
|
+
var _excluded = ["autoScroll", "disabledDates", "disabledPast", "format", "from", "locale", "range", "rangeMaxDays", "to", "value", "vertical", "onChange", "onFocus", "onNavigation", "onScroll"],
|
|
19
19
|
_excluded2 = ["className", "months"];
|
|
20
20
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
21
21
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -37,6 +37,8 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
|
|
|
37
37
|
var Calendar = function Calendar(_ref) {
|
|
38
38
|
var _ref$autoScroll = _ref.autoScroll,
|
|
39
39
|
autoScroll = _ref$autoScroll === void 0 ? false : _ref$autoScroll,
|
|
40
|
+
_ref$disabledDates = _ref.disabledDates,
|
|
41
|
+
disabledDates = _ref$disabledDates === void 0 ? [] : _ref$disabledDates,
|
|
40
42
|
_ref$disabledPast = _ref.disabledPast,
|
|
41
43
|
disabledPast = _ref$disabledPast === void 0 ? true : _ref$disabledPast,
|
|
42
44
|
_ref$format = _ref.format,
|
|
@@ -175,6 +177,12 @@ var Calendar = function Calendar(_ref) {
|
|
|
175
177
|
var disabledNext = to && (0, _locale.parseDate)(to, format).getTime() <= (0, _helpers2.getFirstDateOfMonth)((0, _locale.dateCalc)(instance, months, 'months')).getTime();
|
|
176
178
|
props = _objectSpread(_objectSpread({}, props), {}, {
|
|
177
179
|
disabledPast: disabledPast,
|
|
180
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
181
|
+
disabledDatesTS: (0, _react.useMemo)(function () {
|
|
182
|
+
return disabledDates.map(function (date) {
|
|
183
|
+
return (0, _locale.parseDate)(date, format).getTime();
|
|
184
|
+
});
|
|
185
|
+
}, [disabledDates]),
|
|
178
186
|
focus: focus,
|
|
179
187
|
format: format,
|
|
180
188
|
from: from ? (0, _locale.parseDate)(from, format) : undefined,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Calendar.js","names":["Calendar","autoScroll","disabledPast","format","from","locale","range","rangeMaxDays","to","value","vertical","propVertical","onChange","onFocus","onNavigation","onScroll","others","useDevice","isMobile","useState","behavior","setBehavior","focus","setFocus","getFirstDateOfMonth","getToday","instance","setInstance","scrollTo","setScrollTo","scrolling","setScrolling","undefined","selected","setSelected","timestamp","setTimestamp","setVertical","el","useRef","useEffect","current","getScrollTo","dateDiff","parseDate","months","date","length","dateFrom","days","next","diffMonths","UTC","handleChange","getTime","handleMonth","month","addMonths","Date","getFullYear","getMonth","handleScroll","event","now","testId","scrollEventThrottle","className","props","today","instanceTS","todayMonthTS","disabledPrevious","disabledNext","dateCalc","role","tooltips","styles","style","container","scrollview","Array","_","index","getMonthRef","displayName","propTypes","PropTypes","bool","captions","shape","disabledDates","arrayOf","string","highlights","number","rangeMinDays","oneOfType","func"],"sources":["../../../src/components/Calendar/Calendar.jsx"],"sourcesContent":["import { dateCalc, dateDiff, parseDate, UTC } from '@mirai/locale';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport { styles } from '../../helpers';\nimport { useDevice } from '../../hooks';\nimport { ScrollView, View } from '../../primitives';\nimport style from './Calendar.module.css';\nimport { Month } from './Calendar.Month';\nimport { Weekdays } from './Calendar.Weekdays';\nimport { getFirstDateOfMonth, getMonthRef, getScrollTo, getToday } from './helpers';\n\nexport const Calendar = ({\n autoScroll = false,\n disabledPast = true,\n format = 'YYYY/MM/DD',\n from,\n locale,\n range = false,\n rangeMaxDays,\n to,\n value,\n vertical: propVertical = false,\n onChange = () => {},\n onFocus = () => {},\n onNavigation = () => {},\n onScroll = () => {},\n ...others\n}) => {\n const { isMobile } = useDevice();\n\n const [behavior, setBehavior] = useState();\n const [focus, setFocus] = useState();\n const [instance, setInstance] = useState(getFirstDateOfMonth(getToday()));\n const [scrollTo, setScrollTo] = useState();\n const [scrolling, setScrolling] = useState();\n const [selected, setSelected] = useState(range ? [] : undefined);\n const [timestamp, setTimestamp] = useState();\n const [vertical, setVertical] = useState(propVertical);\n\n const el = useRef();\n\n useEffect(() => {\n setVertical(propVertical || isMobile);\n }, [isMobile, propVertical]);\n\n useEffect(() => {\n if (!vertical || !el?.current || !value[0]) return;\n\n setBehavior('auto');\n setScrollTo(getScrollTo(dateDiff(instance, parseDate(value[0], format)).months));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [el?.current, vertical]);\n\n useEffect(() => {\n let date = range ? (value?.length > 0 ? value[0] : undefined) : value;\n\n if (from && date) {\n const dateFrom = parseDate(from, format);\n const { days } = dateDiff(dateFrom, parseDate(date, format));\n\n if (days < 0) date = undefined;\n }\n if (!date) return setSelected(range ? [] : undefined);\n\n date = parseDate(date, format);\n if ((range && (selected.length === 0 || value.length === 2)) || !range) {\n const next = getFirstDateOfMonth(date);\n const { months: diffMonths } = dateDiff(instance, date);\n\n if (!vertical && !isMobile && (diffMonths >= months || diffMonths < 0)) setInstance(next);\n else if (vertical || isMobile) {\n autoScroll && setScrollTo(getScrollTo(diffMonths));\n setScrolling(false);\n }\n }\n\n setSelected(range ? [UTC(date), value[1] ? UTC(parseDate(value[1], format)) : undefined] : UTC(date));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [format, from, range, value]);\n\n useEffect(() => {\n from && (!value || value.length === 0 || !value[0]) && setInstance(getFirstDateOfMonth(parseDate(from, format)));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [from]);\n\n useEffect(() => {\n onFocus(focus);\n }, [focus, onFocus]);\n\n const handleChange = (date) => {\n setSelected(() => {\n let next;\n\n if (!range) {\n next = date;\n } else if (selected[1] === undefined && date > selected[0]) {\n next = [selected[0], date];\n } else {\n next = [selected[0]?.getTime() === date.getTime() ? undefined : date];\n setFocus(undefined);\n }\n onChange(next);\n\n return next;\n });\n };\n\n const handleMonth = (month) => {\n setInstance(() => {\n const addMonths = range && value[0] && !value[1] ? (month > 0 ? 1 : -1) : month;\n const next = getFirstDateOfMonth(new Date(instance.getFullYear(), instance.getMonth() + addMonths));\n\n onNavigation(next);\n return next;\n });\n };\n\n const handleScroll = (event) => {\n if (vertical) setScrolling(true);\n\n onScroll(event);\n setBehavior();\n setTimestamp(Date.now());\n };\n\n const { testId, scrollEventThrottle } = others;\n let { className, months = 2, ...props } = others;\n\n const today = getToday();\n const instanceTS = instance.getTime();\n const todayMonthTS = getFirstDateOfMonth(today).getTime();\n const disabledPrevious =\n (disabledPast && instanceTS <= todayMonthTS) ||\n (from && instanceTS <= getFirstDateOfMonth(parseDate(from, format)).getTime());\n\n const disabledNext =\n to && parseDate(to, format).getTime() <= getFirstDateOfMonth(dateCalc(instance, months, 'months')).getTime();\n\n props = {\n ...props,\n disabledPast,\n focus,\n format,\n from: from ? parseDate(from, format) : undefined,\n locale,\n range,\n role: others.role || 'calendar',\n selected,\n timestamp,\n to:\n range &&\n rangeMaxDays &&\n selected[0] &&\n !selected[1] &&\n (!to || dateCalc(selected[0], rangeMaxDays, 'days') < parseDate(to, format))\n ? dateCalc(selected[0], rangeMaxDays, 'days')\n : to\n ? parseDate(to, format)\n : undefined,\n tooltips: !vertical || !scrolling ? props.tooltips : {},\n onChange: handleChange,\n onFocus: !isMobile ? setFocus : undefined,\n };\n\n if (vertical && to) months = dateDiff(today, parseDate(to, format)).months + 1;\n\n return (\n <View className={styles(style.container, vertical && style.vertical, className)} testId={testId}>\n {vertical && <Weekdays locale={locale} vertical={vertical} />}\n <ScrollView\n behavior={behavior}\n horizontal={!vertical}\n scrollTo={scrollTo}\n className={style.scrollview}\n scrollEventThrottle={scrollEventThrottle}\n onScroll={handleScroll}\n >\n {Array.from({ length: months }, (_, index) => (\n <Month\n instance={new Date(instance.getFullYear(), instance.getMonth() + index, 1)} // ! TODO: calc with mirai/locale\n key={index}\n ref={vertical && range ? getMonthRef({ autoScroll, el, index, instance, value }) : undefined}\n vertical={vertical}\n onNext={!vertical && index === months - 1 && !disabledNext ? () => handleMonth(months) : undefined}\n onPrevious={!vertical && index === 0 && !disabledPrevious ? () => handleMonth(-months) : undefined}\n {...props}\n testId={testId}\n />\n ))}\n </ScrollView>\n </View>\n );\n};\n\nCalendar.displayName = 'Component:Calendar';\n\nCalendar.propTypes = {\n autoScroll: PropTypes.bool,\n captions: PropTypes.shape({}),\n disabledDates: PropTypes.arrayOf(PropTypes.string),\n disabledPast: PropTypes.bool,\n format: PropTypes.string,\n from: PropTypes.string,\n highlights: PropTypes.arrayOf(PropTypes.string),\n locale: PropTypes.string,\n months: PropTypes.number,\n range: PropTypes.bool,\n rangeMaxDays: PropTypes.number,\n rangeMinDays: PropTypes.number,\n to: PropTypes.string,\n tooltips: PropTypes.shape({}),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),\n vertical: PropTypes.bool,\n onChange: PropTypes.func,\n onFocus: PropTypes.func,\n onNavigation: PropTypes.func,\n onScroll: PropTypes.func,\n};\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAoF;EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAE7E,IAAMA,QAAQ,GAAG,SAAXA,QAAQ,OAgBf;EAAA,2BAfJC,UAAU;IAAVA,UAAU,gCAAG,KAAK;IAAA,yBAClBC,YAAY;IAAZA,YAAY,kCAAG,IAAI;IAAA,mBACnBC,MAAM;IAANA,MAAM,4BAAG,YAAY;IACrBC,IAAI,QAAJA,IAAI;IACJC,MAAM,QAANA,MAAM;IAAA,kBACNC,KAAK;IAALA,KAAK,2BAAG,KAAK;IACbC,YAAY,QAAZA,YAAY;IACZC,EAAE,QAAFA,EAAE;IACFC,KAAK,QAALA,KAAK;IAAA,qBACLC,QAAQ;IAAEC,YAAY,8BAAG,KAAK;IAAA,qBAC9BC,QAAQ;IAARA,QAAQ,8BAAG,YAAM,CAAC,CAAC;IAAA,oBACnBC,OAAO;IAAPA,OAAO,6BAAG,YAAM,CAAC,CAAC;IAAA,yBAClBC,YAAY;IAAZA,YAAY,kCAAG,YAAM,CAAC,CAAC;IAAA,qBACvBC,QAAQ;IAARA,QAAQ,8BAAG,YAAM,CAAC,CAAC;IAChBC,MAAM;EAET,iBAAqB,IAAAC,gBAAS,GAAE;IAAxBC,QAAQ,cAARA,QAAQ;EAEhB,gBAAgC,IAAAC,eAAQ,GAAE;IAAA;IAAnCC,QAAQ;IAAEC,WAAW;EAC5B,iBAA0B,IAAAF,eAAQ,GAAE;IAAA;IAA7BG,KAAK;IAAEC,QAAQ;EACtB,iBAAgC,IAAAJ,eAAQ,EAAC,IAAAK,6BAAmB,EAAC,IAAAC,kBAAQ,GAAE,CAAC,CAAC;IAAA;IAAlEC,QAAQ;IAAEC,WAAW;EAC5B,iBAAgC,IAAAR,eAAQ,GAAE;IAAA;IAAnCS,QAAQ;IAAEC,WAAW;EAC5B,iBAAkC,IAAAV,eAAQ,GAAE;IAAA;IAArCW,SAAS;IAAEC,YAAY;EAC9B,kBAAgC,IAAAZ,eAAQ,EAACb,KAAK,GAAG,EAAE,GAAG0B,SAAS,CAAC;IAAA;IAAzDC,QAAQ;IAAEC,WAAW;EAC5B,kBAAkC,IAAAf,eAAQ,GAAE;IAAA;IAArCgB,SAAS;IAAEC,YAAY;EAC9B,kBAAgC,IAAAjB,eAAQ,EAACR,YAAY,CAAC;IAAA;IAA/CD,QAAQ;IAAE2B,WAAW;EAE5B,IAAMC,EAAE,GAAG,IAAAC,aAAM,GAAE;EAEnB,IAAAC,gBAAS,EAAC,YAAM;IACdH,WAAW,CAAC1B,YAAY,IAAIO,QAAQ,CAAC;EACvC,CAAC,EAAE,CAACA,QAAQ,EAAEP,YAAY,CAAC,CAAC;EAE5B,IAAA6B,gBAAS,EAAC,YAAM;IACd,IAAI,CAAC9B,QAAQ,IAAI,EAAC4B,EAAE,aAAFA,EAAE,eAAFA,EAAE,CAAEG,OAAO,KAAI,CAAChC,KAAK,CAAC,CAAC,CAAC,EAAE;IAE5CY,WAAW,CAAC,MAAM,CAAC;IACnBQ,WAAW,CAAC,IAAAa,qBAAW,EAAC,IAAAC,gBAAQ,EAACjB,QAAQ,EAAE,IAAAkB,iBAAS,EAACnC,KAAK,CAAC,CAAC,CAAC,EAAEN,MAAM,CAAC,CAAC,CAAC0C,MAAM,CAAC,CAAC;IAChF;EACF,CAAC,EAAE,CAACP,EAAE,aAAFA,EAAE,uBAAFA,EAAE,CAAEG,OAAO,EAAE/B,QAAQ,CAAC,CAAC;EAE3B,IAAA8B,gBAAS,EAAC,YAAM;IACd,IAAIM,IAAI,GAAGxC,KAAK,GAAI,CAAAG,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEsC,MAAM,IAAG,CAAC,GAAGtC,KAAK,CAAC,CAAC,CAAC,GAAGuB,SAAS,GAAIvB,KAAK;IAErE,IAAIL,IAAI,IAAI0C,IAAI,EAAE;MAChB,IAAME,QAAQ,GAAG,IAAAJ,iBAAS,EAACxC,IAAI,EAAED,MAAM,CAAC;MACxC,gBAAiB,IAAAwC,gBAAQ,EAACK,QAAQ,EAAE,IAAAJ,iBAAS,EAACE,IAAI,EAAE3C,MAAM,CAAC,CAAC;QAApD8C,IAAI,aAAJA,IAAI;MAEZ,IAAIA,IAAI,GAAG,CAAC,EAAEH,IAAI,GAAGd,SAAS;IAChC;IACA,IAAI,CAACc,IAAI,EAAE,OAAOZ,WAAW,CAAC5B,KAAK,GAAG,EAAE,GAAG0B,SAAS,CAAC;IAErDc,IAAI,GAAG,IAAAF,iBAAS,EAACE,IAAI,EAAE3C,MAAM,CAAC;IAC9B,IAAKG,KAAK,KAAK2B,QAAQ,CAACc,MAAM,KAAK,CAAC,IAAItC,KAAK,CAACsC,MAAM,KAAK,CAAC,CAAC,IAAK,CAACzC,KAAK,EAAE;MACtE,IAAM4C,IAAI,GAAG,IAAA1B,6BAAmB,EAACsB,IAAI,CAAC;MACtC,iBAA+B,IAAAH,gBAAQ,EAACjB,QAAQ,EAAEoB,IAAI,CAAC;QAAvCK,UAAU,cAAlBN,MAAM;MAEd,IAAI,CAACnC,QAAQ,IAAI,CAACQ,QAAQ,KAAKiC,UAAU,IAAIN,MAAM,IAAIM,UAAU,GAAG,CAAC,CAAC,EAAExB,WAAW,CAACuB,IAAI,CAAC,CAAC,KACrF,IAAIxC,QAAQ,IAAIQ,QAAQ,EAAE;QAC7BjB,UAAU,IAAI4B,WAAW,CAAC,IAAAa,qBAAW,EAACS,UAAU,CAAC,CAAC;QAClDpB,YAAY,CAAC,KAAK,CAAC;MACrB;IACF;IAEAG,WAAW,CAAC5B,KAAK,GAAG,CAAC,IAAA8C,WAAG,EAACN,IAAI,CAAC,EAAErC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAA2C,WAAG,EAAC,IAAAR,iBAAS,EAACnC,KAAK,CAAC,CAAC,CAAC,EAAEN,MAAM,CAAC,CAAC,GAAG6B,SAAS,CAAC,GAAG,IAAAoB,WAAG,EAACN,IAAI,CAAC,CAAC;IACrG;EACF,CAAC,EAAE,CAAC3C,MAAM,EAAEC,IAAI,EAAEE,KAAK,EAAEG,KAAK,CAAC,CAAC;EAEhC,IAAA+B,gBAAS,EAAC,YAAM;IACdpC,IAAI,KAAK,CAACK,KAAK,IAAIA,KAAK,CAACsC,MAAM,KAAK,CAAC,IAAI,CAACtC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAIkB,WAAW,CAAC,IAAAH,6BAAmB,EAAC,IAAAoB,iBAAS,EAACxC,IAAI,EAAED,MAAM,CAAC,CAAC,CAAC;IAChH;EACF,CAAC,EAAE,CAACC,IAAI,CAAC,CAAC;EAEV,IAAAoC,gBAAS,EAAC,YAAM;IACd3B,OAAO,CAACS,KAAK,CAAC;EAChB,CAAC,EAAE,CAACA,KAAK,EAAET,OAAO,CAAC,CAAC;EAEpB,IAAMwC,YAAY,GAAG,SAAfA,YAAY,CAAIP,IAAI,EAAK;IAC7BZ,WAAW,CAAC,YAAM;MAChB,IAAIgB,IAAI;MAER,IAAI,CAAC5C,KAAK,EAAE;QACV4C,IAAI,GAAGJ,IAAI;MACb,CAAC,MAAM,IAAIb,QAAQ,CAAC,CAAC,CAAC,KAAKD,SAAS,IAAIc,IAAI,GAAGb,QAAQ,CAAC,CAAC,CAAC,EAAE;QAC1DiB,IAAI,GAAG,CAACjB,QAAQ,CAAC,CAAC,CAAC,EAAEa,IAAI,CAAC;MAC5B,CAAC,MAAM;QAAA;QACLI,IAAI,GAAG,CAAC,eAAAjB,QAAQ,CAAC,CAAC,CAAC,+CAAX,WAAaqB,OAAO,EAAE,MAAKR,IAAI,CAACQ,OAAO,EAAE,GAAGtB,SAAS,GAAGc,IAAI,CAAC;QACrEvB,QAAQ,CAACS,SAAS,CAAC;MACrB;MACApB,QAAQ,CAACsC,IAAI,CAAC;MAEd,OAAOA,IAAI;IACb,CAAC,CAAC;EACJ,CAAC;EAED,IAAMK,WAAW,GAAG,SAAdA,WAAW,CAAIC,KAAK,EAAK;IAC7B7B,WAAW,CAAC,YAAM;MAChB,IAAM8B,SAAS,GAAGnD,KAAK,IAAIG,KAAK,CAAC,CAAC,CAAC,IAAI,CAACA,KAAK,CAAC,CAAC,CAAC,GAAI+C,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAIA,KAAK;MAC/E,IAAMN,IAAI,GAAG,IAAA1B,6BAAmB,EAAC,IAAIkC,IAAI,CAAChC,QAAQ,CAACiC,WAAW,EAAE,EAAEjC,QAAQ,CAACkC,QAAQ,EAAE,GAAGH,SAAS,CAAC,CAAC;MAEnG3C,YAAY,CAACoC,IAAI,CAAC;MAClB,OAAOA,IAAI;IACb,CAAC,CAAC;EACJ,CAAC;EAED,IAAMW,YAAY,GAAG,SAAfA,YAAY,CAAIC,KAAK,EAAK;IAC9B,IAAIpD,QAAQ,EAAEqB,YAAY,CAAC,IAAI,CAAC;IAEhChB,QAAQ,CAAC+C,KAAK,CAAC;IACfzC,WAAW,EAAE;IACbe,YAAY,CAACsB,IAAI,CAACK,GAAG,EAAE,CAAC;EAC1B,CAAC;EAED,IAAQC,MAAM,GAA0BhD,MAAM,CAAtCgD,MAAM;IAAEC,mBAAmB,GAAKjD,MAAM,CAA9BiD,mBAAmB;EACnC,IAAMC,SAAS,GAA2BlD,MAAM,CAA1CkD,SAAS;IAAA,iBAA2BlD,MAAM,CAA/B6B,MAAM;IAANA,MAAM,+BAAG,CAAC;IAAKsB,KAAK,4BAAKnD,MAAM;EAEhD,IAAMoD,KAAK,GAAG,IAAA3C,kBAAQ,GAAE;EACxB,IAAM4C,UAAU,GAAG3C,QAAQ,CAAC4B,OAAO,EAAE;EACrC,IAAMgB,YAAY,GAAG,IAAA9C,6BAAmB,EAAC4C,KAAK,CAAC,CAACd,OAAO,EAAE;EACzD,IAAMiB,gBAAgB,GACnBrE,YAAY,IAAImE,UAAU,IAAIC,YAAY,IAC1ClE,IAAI,IAAIiE,UAAU,IAAI,IAAA7C,6BAAmB,EAAC,IAAAoB,iBAAS,EAACxC,IAAI,EAAED,MAAM,CAAC,CAAC,CAACmD,OAAO,EAAG;EAEhF,IAAMkB,YAAY,GAChBhE,EAAE,IAAI,IAAAoC,iBAAS,EAACpC,EAAE,EAAEL,MAAM,CAAC,CAACmD,OAAO,EAAE,IAAI,IAAA9B,6BAAmB,EAAC,IAAAiD,gBAAQ,EAAC/C,QAAQ,EAAEmB,MAAM,EAAE,QAAQ,CAAC,CAAC,CAACS,OAAO,EAAE;EAE9Ga,KAAK,mCACAA,KAAK;IACRjE,YAAY,EAAZA,YAAY;IACZoB,KAAK,EAALA,KAAK;IACLnB,MAAM,EAANA,MAAM;IACNC,IAAI,EAAEA,IAAI,GAAG,IAAAwC,iBAAS,EAACxC,IAAI,EAAED,MAAM,CAAC,GAAG6B,SAAS;IAChD3B,MAAM,EAANA,MAAM;IACNC,KAAK,EAALA,KAAK;IACLoE,IAAI,EAAE1D,MAAM,CAAC0D,IAAI,IAAI,UAAU;IAC/BzC,QAAQ,EAARA,QAAQ;IACRE,SAAS,EAATA,SAAS;IACT3B,EAAE,EACAF,KAAK,IACLC,YAAY,IACZ0B,QAAQ,CAAC,CAAC,CAAC,IACX,CAACA,QAAQ,CAAC,CAAC,CAAC,KACX,CAACzB,EAAE,IAAI,IAAAiE,gBAAQ,EAACxC,QAAQ,CAAC,CAAC,CAAC,EAAE1B,YAAY,EAAE,MAAM,CAAC,GAAG,IAAAqC,iBAAS,EAACpC,EAAE,EAAEL,MAAM,CAAC,CAAC,GACxE,IAAAsE,gBAAQ,EAACxC,QAAQ,CAAC,CAAC,CAAC,EAAE1B,YAAY,EAAE,MAAM,CAAC,GAC3CC,EAAE,GACF,IAAAoC,iBAAS,EAACpC,EAAE,EAAEL,MAAM,CAAC,GACrB6B,SAAS;IACf2C,QAAQ,EAAE,CAACjE,QAAQ,IAAI,CAACoB,SAAS,GAAGqC,KAAK,CAACQ,QAAQ,GAAG,CAAC,CAAC;IACvD/D,QAAQ,EAAEyC,YAAY;IACtBxC,OAAO,EAAE,CAACK,QAAQ,GAAGK,QAAQ,GAAGS;EAAS,EAC1C;EAED,IAAItB,QAAQ,IAAIF,EAAE,EAAEqC,MAAM,GAAG,IAAAF,gBAAQ,EAACyB,KAAK,EAAE,IAAAxB,iBAAS,EAACpC,EAAE,EAAEL,MAAM,CAAC,CAAC,CAAC0C,MAAM,GAAG,CAAC;EAE9E,oBACE,6BAAC,gBAAI;IAAC,SAAS,EAAE,IAAA+B,eAAM,EAACC,uBAAK,CAACC,SAAS,EAAEpE,QAAQ,IAAImE,uBAAK,CAACnE,QAAQ,EAAEwD,SAAS,CAAE;IAAC,MAAM,EAAEF;EAAO,GAC7FtD,QAAQ,iBAAI,6BAAC,mBAAQ;IAAC,MAAM,EAAEL,MAAO;IAAC,QAAQ,EAAEK;EAAS,EAAG,eAC7D,6BAAC,sBAAU;IACT,QAAQ,EAAEU,QAAS;IACnB,UAAU,EAAE,CAACV,QAAS;IACtB,QAAQ,EAAEkB,QAAS;IACnB,SAAS,EAAEiD,uBAAK,CAACE,UAAW;IAC5B,mBAAmB,EAAEd,mBAAoB;IACzC,QAAQ,EAAEJ;EAAa,GAEtBmB,KAAK,CAAC5E,IAAI,CAAC;IAAE2C,MAAM,EAAEF;EAAO,CAAC,EAAE,UAACoC,CAAC,EAAEC,KAAK;IAAA,oBACvC,6BAAC,eAAK;MACJ,QAAQ,EAAE,IAAIxB,IAAI,CAAChC,QAAQ,CAACiC,WAAW,EAAE,EAAEjC,QAAQ,CAACkC,QAAQ,EAAE,GAAGsB,KAAK,EAAE,CAAC,CAAE,CAAC;MAAA;MAC5E,GAAG,EAAEA,KAAM;MACX,GAAG,EAAExE,QAAQ,IAAIJ,KAAK,GAAG,IAAA6E,qBAAW,EAAC;QAAElF,UAAU,EAAVA,UAAU;QAAEqC,EAAE,EAAFA,EAAE;QAAE4C,KAAK,EAALA,KAAK;QAAExD,QAAQ,EAARA,QAAQ;QAAEjB,KAAK,EAALA;MAAM,CAAC,CAAC,GAAGuB,SAAU;MAC7F,QAAQ,EAAEtB,QAAS;MACnB,MAAM,EAAE,CAACA,QAAQ,IAAIwE,KAAK,KAAKrC,MAAM,GAAG,CAAC,IAAI,CAAC2B,YAAY,GAAG;QAAA,OAAMjB,WAAW,CAACV,MAAM,CAAC;MAAA,IAAGb,SAAU;MACnG,UAAU,EAAE,CAACtB,QAAQ,IAAIwE,KAAK,KAAK,CAAC,IAAI,CAACX,gBAAgB,GAAG;QAAA,OAAMhB,WAAW,CAAC,CAACV,MAAM,CAAC;MAAA,IAAGb;IAAU,GAC/FmC,KAAK;MACT,MAAM,EAAEH;IAAO,GACf;EAAA,CACH,CAAC,CACS,CACR;AAEX,CAAC;AAAC;AAEFhE,QAAQ,CAACoF,WAAW,GAAG,oBAAoB;AAE3CpF,QAAQ,CAACqF,SAAS,GAAG;EACnBpF,UAAU,EAAEqF,kBAAS,CAACC,IAAI;EAC1BC,QAAQ,EAAEF,kBAAS,CAACG,KAAK,CAAC,CAAC,CAAC,CAAC;EAC7BC,aAAa,EAAEJ,kBAAS,CAACK,OAAO,CAACL,kBAAS,CAACM,MAAM,CAAC;EAClD1F,YAAY,EAAEoF,kBAAS,CAACC,IAAI;EAC5BpF,MAAM,EAAEmF,kBAAS,CAACM,MAAM;EACxBxF,IAAI,EAAEkF,kBAAS,CAACM,MAAM;EACtBC,UAAU,EAAEP,kBAAS,CAACK,OAAO,CAACL,kBAAS,CAACM,MAAM,CAAC;EAC/CvF,MAAM,EAAEiF,kBAAS,CAACM,MAAM;EACxB/C,MAAM,EAAEyC,kBAAS,CAACQ,MAAM;EACxBxF,KAAK,EAAEgF,kBAAS,CAACC,IAAI;EACrBhF,YAAY,EAAE+E,kBAAS,CAACQ,MAAM;EAC9BC,YAAY,EAAET,kBAAS,CAACQ,MAAM;EAC9BtF,EAAE,EAAE8E,kBAAS,CAACM,MAAM;EACpBjB,QAAQ,EAAEW,kBAAS,CAACG,KAAK,CAAC,CAAC,CAAC,CAAC;EAC7BhF,KAAK,EAAE6E,kBAAS,CAACU,SAAS,CAAC,CAACV,kBAAS,CAACM,MAAM,EAAEN,kBAAS,CAACK,OAAO,CAACL,kBAAS,CAACM,MAAM,CAAC,CAAC,CAAC;EACnFlF,QAAQ,EAAE4E,kBAAS,CAACC,IAAI;EACxB3E,QAAQ,EAAE0E,kBAAS,CAACW,IAAI;EACxBpF,OAAO,EAAEyE,kBAAS,CAACW,IAAI;EACvBnF,YAAY,EAAEwE,kBAAS,CAACW,IAAI;EAC5BlF,QAAQ,EAAEuE,kBAAS,CAACW;AACtB,CAAC"}
|
|
1
|
+
{"version":3,"file":"Calendar.js","names":["Calendar","autoScroll","disabledDates","disabledPast","format","from","locale","range","rangeMaxDays","to","value","vertical","propVertical","onChange","onFocus","onNavigation","onScroll","others","useDevice","isMobile","useState","behavior","setBehavior","focus","setFocus","getFirstDateOfMonth","getToday","instance","setInstance","scrollTo","setScrollTo","scrolling","setScrolling","undefined","selected","setSelected","timestamp","setTimestamp","setVertical","el","useRef","useEffect","current","getScrollTo","dateDiff","parseDate","months","date","length","dateFrom","days","next","diffMonths","UTC","handleChange","getTime","handleMonth","month","addMonths","Date","getFullYear","getMonth","handleScroll","event","now","testId","scrollEventThrottle","className","props","today","instanceTS","todayMonthTS","disabledPrevious","disabledNext","dateCalc","disabledDatesTS","useMemo","map","role","tooltips","styles","style","container","scrollview","Array","_","index","getMonthRef","displayName","propTypes","PropTypes","bool","captions","shape","arrayOf","string","highlights","number","rangeMinDays","oneOfType","func"],"sources":["../../../src/components/Calendar/Calendar.jsx"],"sourcesContent":["import { dateCalc, dateDiff, parseDate, UTC } from '@mirai/locale';\nimport PropTypes from 'prop-types';\nimport React, { useEffect, useMemo, useRef, useState } from 'react';\n\nimport { styles } from '../../helpers';\nimport { useDevice } from '../../hooks';\nimport { ScrollView, View } from '../../primitives';\nimport style from './Calendar.module.css';\nimport { Month } from './Calendar.Month';\nimport { Weekdays } from './Calendar.Weekdays';\nimport { getFirstDateOfMonth, getMonthRef, getScrollTo, getToday } from './helpers';\n\nexport const Calendar = ({\n autoScroll = false,\n disabledDates = [],\n disabledPast = true,\n format = 'YYYY/MM/DD',\n from,\n locale,\n range = false,\n rangeMaxDays,\n to,\n value,\n vertical: propVertical = false,\n onChange = () => {},\n onFocus = () => {},\n onNavigation = () => {},\n onScroll = () => {},\n ...others\n}) => {\n const { isMobile } = useDevice();\n\n const [behavior, setBehavior] = useState();\n const [focus, setFocus] = useState();\n const [instance, setInstance] = useState(getFirstDateOfMonth(getToday()));\n const [scrollTo, setScrollTo] = useState();\n const [scrolling, setScrolling] = useState();\n const [selected, setSelected] = useState(range ? [] : undefined);\n const [timestamp, setTimestamp] = useState();\n const [vertical, setVertical] = useState(propVertical);\n\n const el = useRef();\n\n useEffect(() => {\n setVertical(propVertical || isMobile);\n }, [isMobile, propVertical]);\n\n useEffect(() => {\n if (!vertical || !el?.current || !value[0]) return;\n\n setBehavior('auto');\n setScrollTo(getScrollTo(dateDiff(instance, parseDate(value[0], format)).months));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [el?.current, vertical]);\n\n useEffect(() => {\n let date = range ? (value?.length > 0 ? value[0] : undefined) : value;\n\n if (from && date) {\n const dateFrom = parseDate(from, format);\n const { days } = dateDiff(dateFrom, parseDate(date, format));\n\n if (days < 0) date = undefined;\n }\n if (!date) return setSelected(range ? [] : undefined);\n\n date = parseDate(date, format);\n if ((range && (selected.length === 0 || value.length === 2)) || !range) {\n const next = getFirstDateOfMonth(date);\n const { months: diffMonths } = dateDiff(instance, date);\n\n if (!vertical && !isMobile && (diffMonths >= months || diffMonths < 0)) setInstance(next);\n else if (vertical || isMobile) {\n autoScroll && setScrollTo(getScrollTo(diffMonths));\n setScrolling(false);\n }\n }\n\n setSelected(range ? [UTC(date), value[1] ? UTC(parseDate(value[1], format)) : undefined] : UTC(date));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [format, from, range, value]);\n\n useEffect(() => {\n from && (!value || value.length === 0 || !value[0]) && setInstance(getFirstDateOfMonth(parseDate(from, format)));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [from]);\n\n useEffect(() => {\n onFocus(focus);\n }, [focus, onFocus]);\n\n const handleChange = (date) => {\n setSelected(() => {\n let next;\n\n if (!range) {\n next = date;\n } else if (selected[1] === undefined && date > selected[0]) {\n next = [selected[0], date];\n } else {\n next = [selected[0]?.getTime() === date.getTime() ? undefined : date];\n setFocus(undefined);\n }\n onChange(next);\n\n return next;\n });\n };\n\n const handleMonth = (month) => {\n setInstance(() => {\n const addMonths = range && value[0] && !value[1] ? (month > 0 ? 1 : -1) : month;\n const next = getFirstDateOfMonth(new Date(instance.getFullYear(), instance.getMonth() + addMonths));\n\n onNavigation(next);\n return next;\n });\n };\n\n const handleScroll = (event) => {\n if (vertical) setScrolling(true);\n\n onScroll(event);\n setBehavior();\n setTimestamp(Date.now());\n };\n\n const { testId, scrollEventThrottle } = others;\n let { className, months = 2, ...props } = others;\n\n const today = getToday();\n const instanceTS = instance.getTime();\n const todayMonthTS = getFirstDateOfMonth(today).getTime();\n const disabledPrevious =\n (disabledPast && instanceTS <= todayMonthTS) ||\n (from && instanceTS <= getFirstDateOfMonth(parseDate(from, format)).getTime());\n\n const disabledNext =\n to && parseDate(to, format).getTime() <= getFirstDateOfMonth(dateCalc(instance, months, 'months')).getTime();\n\n props = {\n ...props,\n disabledPast,\n // eslint-disable-next-line react-hooks/exhaustive-deps\n disabledDatesTS: useMemo(() => disabledDates.map((date) => parseDate(date, format).getTime()), [disabledDates]),\n focus,\n format,\n from: from ? parseDate(from, format) : undefined,\n locale,\n range,\n role: others.role || 'calendar',\n selected,\n timestamp,\n to:\n range &&\n rangeMaxDays &&\n selected[0] &&\n !selected[1] &&\n (!to || dateCalc(selected[0], rangeMaxDays, 'days') < parseDate(to, format))\n ? dateCalc(selected[0], rangeMaxDays, 'days')\n : to\n ? parseDate(to, format)\n : undefined,\n tooltips: !vertical || !scrolling ? props.tooltips : {},\n onChange: handleChange,\n onFocus: !isMobile ? setFocus : undefined,\n };\n\n if (vertical && to) months = dateDiff(today, parseDate(to, format)).months + 1;\n\n return (\n <View className={styles(style.container, vertical && style.vertical, className)} testId={testId}>\n {vertical && <Weekdays locale={locale} vertical={vertical} />}\n <ScrollView\n behavior={behavior}\n horizontal={!vertical}\n scrollTo={scrollTo}\n className={style.scrollview}\n scrollEventThrottle={scrollEventThrottle}\n onScroll={handleScroll}\n >\n {Array.from({ length: months }, (_, index) => (\n <Month\n instance={new Date(instance.getFullYear(), instance.getMonth() + index, 1)} // ! TODO: calc with mirai/locale\n key={index}\n ref={vertical && range ? getMonthRef({ autoScroll, el, index, instance, value }) : undefined}\n vertical={vertical}\n onNext={!vertical && index === months - 1 && !disabledNext ? () => handleMonth(months) : undefined}\n onPrevious={!vertical && index === 0 && !disabledPrevious ? () => handleMonth(-months) : undefined}\n {...props}\n testId={testId}\n />\n ))}\n </ScrollView>\n </View>\n );\n};\n\nCalendar.displayName = 'Component:Calendar';\n\nCalendar.propTypes = {\n autoScroll: PropTypes.bool,\n captions: PropTypes.shape({}),\n disabledDates: PropTypes.arrayOf(PropTypes.string),\n disabledPast: PropTypes.bool,\n format: PropTypes.string,\n from: PropTypes.string,\n highlights: PropTypes.arrayOf(PropTypes.string),\n locale: PropTypes.string,\n months: PropTypes.number,\n range: PropTypes.bool,\n rangeMaxDays: PropTypes.number,\n rangeMinDays: PropTypes.number,\n to: PropTypes.string,\n tooltips: PropTypes.shape({}),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),\n vertical: PropTypes.bool,\n onChange: PropTypes.func,\n onFocus: PropTypes.func,\n onNavigation: PropTypes.func,\n onScroll: PropTypes.func,\n};\n"],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.MAGNITUDES = exports.DOMAIN = exports.DIRECTION_TYPE = exports.DIRECTION = exports.COLORS = void 0;
|
|
6
|
+
exports.MAGNITUDES = exports.DOMAIN = exports.DIRECTION_TYPE = exports.DIRECTION = exports.DEBOUNCE_TIMEOUT_CACHE = exports.COLORS = void 0;
|
|
7
7
|
var _DIRECTION;
|
|
8
8
|
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
9
9
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
@@ -11,6 +11,8 @@ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _ty
|
|
|
11
11
|
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
12
12
|
var COLORS = ['accent'];
|
|
13
13
|
exports.COLORS = COLORS;
|
|
14
|
+
var DEBOUNCE_TIMEOUT_CACHE = 2000;
|
|
15
|
+
exports.DEBOUNCE_TIMEOUT_CACHE = DEBOUNCE_TIMEOUT_CACHE;
|
|
14
16
|
var DIRECTION_TYPE = {
|
|
15
17
|
LEFT: 0,
|
|
16
18
|
RIGHT: 1
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.constants.js","names":["COLORS","DIRECTION_TYPE","LEFT","RIGHT","DIRECTION","DOMAIN","MAGNITUDES"],"sources":["../../src/theme/theme.constants.js"],"sourcesContent":["const COLORS = ['accent'];\n\nconst DIRECTION_TYPE = {\n LEFT: 0,\n RIGHT: 1,\n};\nconst DIRECTION = {\n [DIRECTION_TYPE.LEFT]: {\n 'text-align': 'left',\n 'text-direction': 'ltr',\n 'row-direction': 'row',\n },\n [DIRECTION_TYPE.RIGHT]: {\n 'text-align': 'right',\n 'text-direction': 'rtl',\n 'row-direction': 'row-reverse',\n },\n};\nconst DOMAIN = '--mirai-ui-';\n\nconst MAGNITUDES = [400, 300, 200];\n\nexport { COLORS, DIRECTION, DIRECTION_TYPE, DOMAIN, MAGNITUDES };\n"],"mappings":";;;;;;;;;;;AAAA,IAAMA,MAAM,GAAG,CAAC,QAAQ,CAAC;AAAC;AAE1B,IAAMC,cAAc,GAAG;EACrBC,IAAI,EAAE,CAAC;EACPC,KAAK,EAAE;AACT,CAAC;AAAC;AACF,IAAMC,SAAS,iDACZH,cAAc,CAACC,IAAI,EAAG;EACrB,YAAY,EAAE,MAAM;EACpB,gBAAgB,EAAE,KAAK;EACvB,eAAe,EAAE;AACnB,CAAC,+BACAD,cAAc,CAACE,KAAK,EAAG;EACtB,YAAY,EAAE,OAAO;EACrB,gBAAgB,EAAE,KAAK;EACvB,eAAe,EAAE;AACnB,CAAC,cACF;AAAC;AACF,IAAME,MAAM,GAAG,aAAa;AAAC;AAE7B,IAAMC,UAAU,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;AAAC"}
|
|
1
|
+
{"version":3,"file":"theme.constants.js","names":["COLORS","DEBOUNCE_TIMEOUT_CACHE","DIRECTION_TYPE","LEFT","RIGHT","DIRECTION","DOMAIN","MAGNITUDES"],"sources":["../../src/theme/theme.constants.js"],"sourcesContent":["const COLORS = ['accent'];\n\nconst DEBOUNCE_TIMEOUT_CACHE = 2000;\n\nconst DIRECTION_TYPE = {\n LEFT: 0,\n RIGHT: 1,\n};\nconst DIRECTION = {\n [DIRECTION_TYPE.LEFT]: {\n 'text-align': 'left',\n 'text-direction': 'ltr',\n 'row-direction': 'row',\n },\n [DIRECTION_TYPE.RIGHT]: {\n 'text-align': 'right',\n 'text-direction': 'rtl',\n 'row-direction': 'row-reverse',\n },\n};\nconst DOMAIN = '--mirai-ui-';\n\nconst MAGNITUDES = [400, 300, 200];\n\nexport { COLORS, DEBOUNCE_TIMEOUT_CACHE, DIRECTION, DIRECTION_TYPE, DOMAIN, MAGNITUDES };\n"],"mappings":";;;;;;;;;;;AAAA,IAAMA,MAAM,GAAG,CAAC,QAAQ,CAAC;AAAC;AAE1B,IAAMC,sBAAsB,GAAG,IAAI;AAAC;AAEpC,IAAMC,cAAc,GAAG;EACrBC,IAAI,EAAE,CAAC;EACPC,KAAK,EAAE;AACT,CAAC;AAAC;AACF,IAAMC,SAAS,iDACZH,cAAc,CAACC,IAAI,EAAG;EACrB,YAAY,EAAE,MAAM;EACpB,gBAAgB,EAAE,KAAK;EACvB,eAAe,EAAE;AACnB,CAAC,+BACAD,cAAc,CAACE,KAAK,EAAG;EACtB,YAAY,EAAE,OAAO;EACrB,gBAAgB,EAAE,KAAK;EACvB,eAAe,EAAE;AACnB,CAAC,cACF;AAAC;AACF,IAAME,MAAM,GAAG,aAAa;AAAC;AAE7B,IAAMC,UAAU,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;AAAC"}
|
package/build/theme/theme.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
@@ -10,6 +11,11 @@ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArra
|
|
|
10
11
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
11
12
|
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) { ; } } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
12
13
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
14
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
15
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
16
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
17
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
18
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
13
19
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
14
20
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
15
21
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
@@ -19,6 +25,11 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
|
19
25
|
var Theme = {
|
|
20
26
|
get: function get() {
|
|
21
27
|
var domain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _theme.DOMAIN;
|
|
28
|
+
var _ref = window || {},
|
|
29
|
+
_ref$Mirai = _ref.Mirai;
|
|
30
|
+
_ref$Mirai = _ref$Mirai === void 0 ? {} : _ref$Mirai;
|
|
31
|
+
var themeCache = _ref$Mirai.themeCache;
|
|
32
|
+
if (themeCache) return themeCache;
|
|
22
33
|
var style = getComputedStyle(document.querySelector(':root'));
|
|
23
34
|
var variables = {};
|
|
24
35
|
var keys = Array.from(document.styleSheets).filter(function (stylesheet) {
|
|
@@ -29,14 +40,14 @@ var Theme = {
|
|
|
29
40
|
return false;
|
|
30
41
|
}
|
|
31
42
|
}).reduce(function (stylesheet) {
|
|
32
|
-
var
|
|
33
|
-
cssRules =
|
|
43
|
+
var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
|
44
|
+
cssRules = _ref2.cssRules;
|
|
34
45
|
return [].concat(_toConsumableArray(stylesheet), _toConsumableArray(Array.from(cssRules).reduce(function (value) {
|
|
35
|
-
var
|
|
36
|
-
|
|
37
|
-
selectorText =
|
|
38
|
-
|
|
39
|
-
style =
|
|
46
|
+
var _ref3 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
|
47
|
+
_ref3$selectorText = _ref3.selectorText,
|
|
48
|
+
selectorText = _ref3$selectorText === void 0 ? '' : _ref3$selectorText,
|
|
49
|
+
_ref3$style = _ref3.style,
|
|
50
|
+
style = _ref3$style === void 0 ? [] : _ref3$style;
|
|
40
51
|
return selectorText === ':root' ? [].concat(_toConsumableArray(value), _toConsumableArray(Array.from(style).filter(function (name) {
|
|
41
52
|
return name.startsWith(domain);
|
|
42
53
|
}))) : value;
|
|
@@ -46,6 +57,12 @@ var Theme = {
|
|
|
46
57
|
var _style$getPropertyVal;
|
|
47
58
|
return variables[(0, _helpers.camelcase)(key.replace(domain, ''))] = (_style$getPropertyVal = style.getPropertyValue(key)) === null || _style$getPropertyVal === void 0 ? void 0 : _style$getPropertyVal.trim();
|
|
48
59
|
});
|
|
60
|
+
window.Mirai = _objectSpread(_objectSpread({}, window.Mirai), {}, {
|
|
61
|
+
themeCache: variables
|
|
62
|
+
});
|
|
63
|
+
setTimeout(function () {
|
|
64
|
+
return Theme.clearCache();
|
|
65
|
+
}, _theme.DEBOUNCE_TIMEOUT_CACHE);
|
|
49
66
|
return variables;
|
|
50
67
|
},
|
|
51
68
|
setVariable: function setVariable(variable, value) {
|
|
@@ -53,6 +70,7 @@ var Theme = {
|
|
|
53
70
|
var _document$querySelect = document.querySelector(':root'),
|
|
54
71
|
style = _document$querySelect.style;
|
|
55
72
|
style.setProperty("".concat(domain).concat(variable), value);
|
|
73
|
+
Theme.clearCache();
|
|
56
74
|
|
|
57
75
|
// ! TODO: Should revisit this "algo"
|
|
58
76
|
// Theme.shadeColors();
|
|
@@ -77,13 +95,18 @@ var Theme = {
|
|
|
77
95
|
var direction = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _theme.DIRECTION_TYPE.LEFT;
|
|
78
96
|
if (!Object.values(_theme.DIRECTION_TYPE).includes(direction)) return;
|
|
79
97
|
var variables = _theme.DIRECTION[direction] || {};
|
|
80
|
-
Object.entries(variables).map(function (
|
|
81
|
-
var
|
|
82
|
-
key =
|
|
83
|
-
value =
|
|
98
|
+
Object.entries(variables).map(function (_ref4) {
|
|
99
|
+
var _ref5 = _slicedToArray(_ref4, 2),
|
|
100
|
+
key = _ref5[0],
|
|
101
|
+
value = _ref5[1];
|
|
84
102
|
return Theme.setVariable(key, value);
|
|
85
103
|
});
|
|
86
104
|
return direction;
|
|
105
|
+
},
|
|
106
|
+
clearCache: function clearCache() {
|
|
107
|
+
var _window;
|
|
108
|
+
if (!((_window = window) !== null && _window !== void 0 && _window.Mirai)) return;
|
|
109
|
+
window.Mirai.themeCache = undefined;
|
|
87
110
|
}
|
|
88
111
|
};
|
|
89
112
|
exports.Theme = Theme;
|
package/build/theme/theme.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.js","names":["Theme","get","domain","DOMAIN","style","getComputedStyle","document","querySelector","variables","keys","Array","from","styleSheets","filter","stylesheet","href","startsWith","
|
|
1
|
+
{"version":3,"file":"theme.js","names":["Theme","get","domain","DOMAIN","window","Mirai","themeCache","style","getComputedStyle","document","querySelector","variables","keys","Array","from","styleSheets","filter","stylesheet","href","startsWith","location","origin","cssRules","reduce","value","selectorText","name","forEach","key","camelcase","replace","getPropertyValue","trim","setTimeout","clearCache","DEBOUNCE_TIMEOUT_CACHE","setVariable","variable","setProperty","shadeColors","theme","COLORS","color","undefined","MAGNITUDES","magnitude","colorShade","getDirection","textDirection","DIRECTION","DIRECTION_TYPE","RIGHT","LEFT","setDirection","direction","Object","values","includes","entries","map"],"sources":["../../src/theme/theme.js"],"sourcesContent":["import { camelcase, colorShade } from './helpers';\nimport { COLORS, DEBOUNCE_TIMEOUT_CACHE, DIRECTION, DIRECTION_TYPE, DOMAIN, MAGNITUDES } from './theme.constants';\n\nexport const Theme = {\n get: (domain = DOMAIN) => {\n const { Mirai: { themeCache } = {} } = window || {};\n if (themeCache) return themeCache;\n\n const style = getComputedStyle(document.querySelector(':root'));\n const variables = {};\n\n const keys = Array.from(document.styleSheets)\n .filter((stylesheet) => {\n try {\n return (\n (stylesheet.href === null || stylesheet.href.startsWith(window.location.origin)) &&\n (stylesheet.cssRules ?? {})\n );\n } catch {\n return false;\n }\n })\n .reduce(\n (stylesheet, { cssRules } = {}) => [\n ...stylesheet,\n ...Array.from(cssRules).reduce(\n (value, { selectorText = '', style = [] } = {}) =>\n selectorText === ':root'\n ? [...value, ...Array.from(style).filter((name) => name.startsWith(domain))]\n : value,\n [],\n ),\n ],\n [],\n );\n\n keys.forEach((key) => (variables[camelcase(key.replace(domain, ''))] = style.getPropertyValue(key)?.trim()));\n\n window.Mirai = { ...window.Mirai, themeCache: variables };\n setTimeout(() => Theme.clearCache(), DEBOUNCE_TIMEOUT_CACHE);\n\n return variables;\n },\n\n setVariable: (variable, value, domain = DOMAIN) => {\n const { style } = document.querySelector(':root');\n\n style.setProperty(`${domain}${variable}`, value);\n Theme.clearCache();\n\n // ! TODO: Should revisit this \"algo\"\n // Theme.shadeColors();\n },\n\n shadeColors: () => {\n const theme = Theme.get();\n\n COLORS.filter((color) => theme[color] !== undefined).forEach((color) =>\n MAGNITUDES.forEach((magnitude) =>\n Theme.setVariable(`${color}-${magnitude}`, colorShade(theme[color], magnitude)),\n ),\n );\n },\n\n getDirection: () => {\n const { textDirection } = Theme.get();\n\n return textDirection !== DIRECTION[DIRECTION_TYPE.RIGHT]['text-direction']\n ? DIRECTION_TYPE.LEFT\n : DIRECTION_TYPE.RIGHT;\n },\n\n setDirection: (direction = DIRECTION_TYPE.LEFT) => {\n if (!Object.values(DIRECTION_TYPE).includes(direction)) return;\n\n const variables = DIRECTION[direction] || {};\n Object.entries(variables).map(([key, value]) => Theme.setVariable(key, value));\n\n return direction;\n },\n\n clearCache: () => {\n if (!window?.Mirai) return;\n\n window.Mirai.themeCache = undefined;\n },\n};\n"],"mappings":"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"}
|