@mirai/ui 1.0.30 → 1.0.33
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 +1 -1
- package/build/components/Calendar/Calendar.Week.js.map +1 -1
- package/build/components/Calendar/Calendar.js +4 -4
- package/build/components/Calendar/Calendar.js.map +1 -1
- package/build/components/Calendar/Calendar.module.css +5 -0
- package/build/components/Calendar/__tests__/__snapshots__/Calendar.test.jsx.snap +7348 -7200
- package/package.json +1 -1
|
@@ -144,7 +144,7 @@ var Week = function Week(_ref) {
|
|
|
144
144
|
className: textStyle
|
|
145
145
|
}, date.getDate()), captions && /*#__PURE__*/_react.default.createElement(_primitives.Text, {
|
|
146
146
|
small: true,
|
|
147
|
-
className: (0, _helpers.styles)(textStyle, _CalendarModule.default.caption, !captions[dateString] && !is.rangeLimit && _CalendarModule.default.empty)
|
|
147
|
+
className: (0, _helpers.styles)(textStyle, _CalendarModule.default.caption, !is.highlight && !is.selected && !is.rangeLimit && _CalendarModule.default.color, !captions[dateString] && !is.rangeLimit && _CalendarModule.default.empty)
|
|
148
148
|
}, !is.disabled ? captions[dateString] || '-' : '')));
|
|
149
149
|
}));
|
|
150
150
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Calendar.Week.js","names":["Week","captions","disabledDates","disabledPast","focus","locale","format","from","highlights","month","number","range","rangeMinDays","selected","to","year","onPress","onFocus","others","disabledDatesTS","map","date","getTime","firstDate","todayTS","fromTS","toTS","focusTS","rangeTS","start","end","undefined","min","filter","ts","sort","outbound","style","DAYS","day","Date","getFullYear","getMonth","getDate","dateTS","dateString","is","disabled","includes","highlight","outOfRange","minRange","rangeLimit","ranging","today","visible","textStyle","textDisabled","textSelected","textHighlight","cell","dayRange","daySelected","daySelectedStart","daySelectedEnd","dayTouchable","caption","empty","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 from 'react';\n\nimport { styles } from '../../helpers';\nimport { Pressable, Text, View } from '../../primitives';\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 to,\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 row 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 = is.disabled\n ? style.textDisabled\n : is.selected || dateTS === rangeTS.end\n ? style.textSelected\n : is.highlight && !is.range\n ? style.textHighlight\n : undefined;\n\n return (\n <Pressable\n disabled={is.disabled || !is.visible || (range && !selected[1] && (is.minRange || is.outOfRange))}\n key={day}\n tabIndex={is.visible && !is.disabled ? `${date.getMonth()}-${date.getDate()}` : undefined}\n data-testid={`${others['data-testid'] || 'calendar'}-${number}-${day}`}\n className={style.cell}\n onEnter={is.ranging ? () => onFocus(date) : undefined}\n onLeave={is.ranging ? () => onFocus() : undefined}\n onPress={() => onPress(date)}\n >\n {is.visible && (\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 small\n className={styles(textStyle, style.caption, !captions[dateString] && !is.rangeLimit && style.empty)}\n >\n {!is.disabled ? 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 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 onFocus: PropTypes.func,\n onPress: PropTypes.func,\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Calendar.Week.js","names":["Week","captions","disabledDates","disabledPast","focus","locale","format","from","highlights","month","number","range","rangeMinDays","selected","to","year","onPress","onFocus","others","disabledDatesTS","map","date","getTime","firstDate","todayTS","fromTS","toTS","focusTS","rangeTS","start","end","undefined","min","filter","ts","sort","outbound","style","DAYS","day","Date","getFullYear","getMonth","getDate","dateTS","dateString","is","disabled","includes","highlight","outOfRange","minRange","rangeLimit","ranging","today","visible","textStyle","textDisabled","textSelected","textHighlight","cell","dayRange","daySelected","daySelectedStart","daySelectedEnd","dayTouchable","caption","color","empty","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 from 'react';\n\nimport { styles } from '../../helpers';\nimport { Pressable, Text, View } from '../../primitives';\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 to,\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 row 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 = is.disabled\n ? style.textDisabled\n : is.selected || dateTS === rangeTS.end\n ? style.textSelected\n : is.highlight && !is.range\n ? style.textHighlight\n : undefined;\n\n return (\n <Pressable\n disabled={is.disabled || !is.visible || (range && !selected[1] && (is.minRange || is.outOfRange))}\n key={day}\n tabIndex={is.visible && !is.disabled ? `${date.getMonth()}-${date.getDate()}` : undefined}\n data-testid={`${others['data-testid'] || 'calendar'}-${number}-${day}`}\n className={style.cell}\n onEnter={is.ranging ? () => onFocus(date) : undefined}\n onLeave={is.ranging ? () => onFocus() : undefined}\n onPress={() => onPress(date)}\n >\n {is.visible && (\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 small\n className={styles(\n textStyle,\n style.caption,\n !is.highlight && !is.selected && !is.rangeLimit && style.color,\n !captions[dateString] && !is.rangeLimit && style.empty,\n )}\n >\n {!is.disabled ? 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 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 onFocus: PropTypes.func,\n onPress: PropTypes.func,\n};\n"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;AAEO,IAAMA,IAAI,GAAG,SAAPA,IAAO,OAmBd;EAAA,IAlBJC,QAkBI,QAlBJA,QAkBI;EAAA,8BAjBJC,aAiBI;EAAA,IAjBJA,aAiBI,mCAjBY,EAiBZ;EAAA,IAhBJC,YAgBI,QAhBJA,YAgBI;EAAA,IAfJC,KAeI,QAfJA,KAeI;EAAA,IAdJC,MAcI,QAdJA,MAcI;EAAA,IAbJC,MAaI,QAbJA,MAaI;EAAA,IAZJC,IAYI,QAZJA,IAYI;EAAA,2BAXJC,UAWI;EAAA,IAXJA,UAWI,gCAXS,EAWT;EAAA,IAVJC,KAUI,QAVJA,KAUI;EAAA,IATJC,MASI,QATJA,MASI;EAAA,IARJC,KAQI,QARJA,KAQI;EAAA,IAPJC,YAOI,QAPJA,YAOI;EAAA,IANJC,QAMI,QANJA,QAMI;EAAA,IALJC,EAKI,QALJA,EAKI;EAAA,IAJJC,IAII,QAJJA,IAII;EAAA,wBAHJC,OAGI;EAAA,IAHJA,QAGI,6BAHM,YAAM,CAAE,CAGd;EAAA,wBAFJC,OAEI;EAAA,IAFJA,OAEI,6BAFM,YAAM,CAAE,CAEd;EAAA,IADDC,MACC;;EACJ,IAAMC,eAAe,GAAGjB,aAAa,CAACkB,GAAd,CAAkB,UAACC,IAAD;IAAA,OAAU,iBAAI,uBAAUA,IAAV,EAAgBf,MAAhB,CAAJ,EAA6BgB,OAA7B,EAAV;EAAA,CAAlB,CAAxB;EACA,IAAMC,SAAS,GAAG,kCAAmBb,MAAnB,EAA2BK,IAA3B,EAAiC,iCAAkBV,MAAlB,CAAjC,CAAlB;EACA,IAAMmB,OAAO,GAAG,0BAAWF,OAAX,EAAhB;EACA,IAAMG,MAAM,GAAGlB,IAAH,aAAGA,IAAH,uBAAGA,IAAI,CAAEe,OAAN,EAAf;EACA,IAAMI,IAAI,GAAGZ,EAAH,aAAGA,EAAH,uBAAGA,EAAE,CAAEQ,OAAJ,EAAb;EACA,IAAMK,OAAO,GAAGvB,KAAH,aAAGA,KAAH,uBAAGA,KAAK,CAAEkB,OAAP,EAAhB;EAEA,IAAIM,OAAO,GAAG,EAAd;;EACA,IAAIjB,KAAJ,EAAW;IACT,+BAAqBE,QAArB;IAAA,IAAOgB,KAAP;IAAA,IAAcC,GAAd;;IACAF,OAAO,GAAG;MACRC,KAAK,EAAEA,KAAK,GAAGA,KAAK,CAACP,OAAN,EAAH,GAAqBS,SADzB;MAERD,GAAG,EAAEA,GAAG,GAAGA,GAAG,CAACR,OAAJ,EAAH,GAAmBS,SAFnB;MAGRC,GAAG,EAAEH,KAAK,IAAIjB,YAAT,GAAwB,sBAASiB,KAAT,EAAgBjB,YAAhB,EAA8B,MAA9B,EAAsCU,OAAtC,EAAxB,GAA0ES;IAHvE,CAAV;;IAMA,4BAAmBZ,eAAe,CAACc,MAAhB,CAAuB,UAACC,EAAD;MAAA,OAAQA,EAAE,GAAGN,OAAO,CAACC,KAArB;IAAA,CAAvB,EAAmDM,IAAnD,EAAnB;IAAA;IAAA,IAAOC,QAAP;;IACAR,OAAO,CAACQ,QAAR,GAAmBA,QAAQ,GAAGA,QAAQ,GAAG,CAAd,GAAkBL,SAA7C;EACD;;EAED,oBACE,6BAAC,gBAAD;IAAM,GAAG,MAAT;IAAU,SAAS,EAAE,qBAAOH,OAAO,CAACC,KAAR,KAAkBE,SAAlB,IAA+BpB,KAA/B,IAAwC0B,wBAAM1B,KAArD;EAArB,GACG2B,eAAKlB,GAAL,CAAS,UAACmB,GAAD,EAAS;IACjB,IAAMlB,IAAI,GAAG,iBAAI,IAAImB,IAAJ,CAASjB,SAAS,CAACkB,WAAV,EAAT,EAAkClB,SAAS,CAACmB,QAAV,EAAlC,EAAwDnB,SAAS,CAACoB,OAAV,KAAsBJ,GAA9E,CAAJ,CAAb;IACA,IAAMK,MAAM,GAAGvB,IAAI,CAACC,OAAL,EAAf;IACA,IAAMuB,UAAU,GAAG,wBAAWxB,IAAX,EAAiB;MAAEf,MAAM,EAANA;IAAF,CAAjB,CAAnB;IAEA,IAAMwC,EAAE,GAAG;MACTC,QAAQ,EACL5C,YAAY,IAAIyC,MAAM,GAAGpB,OAA1B,IAAsC;MACtC,CAACH,IAAI,CAACqB,QAAL,EAAD,KAAqBjC,KADrB,IAC8B;MAC9BU,eAAe,CAAC6B,QAAhB,CAAyBJ,MAAzB,CAFA,IAEoC;MACpCA,MAAM,GAAGnB,MAHT,IAGmB;MACnBmB,MAAM,GAAGlB,IANF;MAMQ;MACjBuB,SAAS,EAAEzC,UAAU,CAACwC,QAAX,CAAoBH,UAApB,CAPF;MAQTK,UAAU,EAAEN,MAAM,GAAGhB,OAAO,CAACQ,QARpB;MASTe,QAAQ,EAAEP,MAAM,GAAGhB,OAAO,CAACC,KAAjB,IAA0Be,MAAM,GAAGhB,OAAO,CAACI,GAT5C;MAUTrB,KAAK,EAAEiC,MAAM,GAAGhB,OAAO,CAACC,KAAjB,KAA2Be,MAAM,GAAGhB,OAAO,CAACE,GAAjB,IAAwBc,MAAM,GAAGhB,OAAO,CAACI,GAAzC,IAAgDY,MAAM,GAAGjB,OAApF,CAVE;MAWTyB,UAAU,EAAER,MAAM,KAAKhB,OAAO,CAACC,KAAnB,IAA4Be,MAAM,KAAKhB,OAAO,CAACE,GAXlD;MAYTuB,OAAO,EAAE1C,KAAK,KAAIE,QAAJ,aAAIA,QAAJ,uBAAIA,QAAQ,CAAG,CAAH,CAAZ,CAAL,IAA0B,CAACA,QAAQ,CAAC,CAAD,CAZnC;MAaTA,QAAQ,EACNF,KAAK,IAAIE,QAAT,GACIA,QAAQ,CAAC,CAAD,CAAR,IAAe,CAACA,QAAQ,CAAC,CAAD,CAAxB,GACE+B,MAAM,KAAK/B,QAAQ,CAAC,CAAD,CAAR,CAAYS,OAAZ,EADb,GAEET,QAAQ,CAAC,CAAD,CAAR,IAAeA,QAAQ,CAAC,CAAD,CAAvB,GACA+B,MAAM,IAAI/B,QAAQ,CAAC,CAAD,CAAR,CAAYS,OAAZ,EAAV,IAAmCsB,MAAM,IAAI/B,QAAQ,CAAC,CAAD,CAAR,CAAYS,OAAZ,EAD7C,GAEAS,SALN,GAMIa,MAAM,MAAK/B,QAAL,aAAKA,QAAL,uBAAKA,QAAQ,CAAES,OAAV,EAAL,CApBH;MAqBTgC,KAAK,EAAEV,MAAM,KAAKpB,OArBT;MAsBT+B,OAAO,EAAElC,IAAI,CAACqB,QAAL,OAAoBjC;IAtBpB,CAAX;IAyBA,IAAM+C,SAAS,GAAGV,EAAE,CAACC,QAAH,GACdV,wBAAMoB,YADQ,GAEdX,EAAE,CAACjC,QAAH,IAAe+B,MAAM,KAAKhB,OAAO,CAACE,GAAlC,GACAO,wBAAMqB,YADN,GAEAZ,EAAE,CAACG,SAAH,IAAgB,CAACH,EAAE,CAACnC,KAApB,GACA0B,wBAAMsB,aADN,GAEA5B,SANJ;IAQA,oBACE,6BAAC,qBAAD;MACE,QAAQ,EAAEe,EAAE,CAACC,QAAH,IAAe,CAACD,EAAE,CAACS,OAAnB,IAA+B5C,KAAK,IAAI,CAACE,QAAQ,CAAC,CAAD,CAAlB,KAA0BiC,EAAE,CAACK,QAAH,IAAeL,EAAE,CAACI,UAA5C,CAD3C;MAEE,GAAG,EAAEX,GAFP;MAGE,QAAQ,EAAEO,EAAE,CAACS,OAAH,IAAc,CAACT,EAAE,CAACC,QAAlB,aAAgC1B,IAAI,CAACqB,QAAL,EAAhC,cAAmDrB,IAAI,CAACsB,OAAL,EAAnD,IAAsEZ,SAHlF;MAIE,yBAAgBb,MAAM,CAAC,aAAD,CAAN,IAAyB,UAAzC,cAAuDR,MAAvD,cAAiE6B,GAAjE,CAJF;MAKE,SAAS,EAAEF,wBAAMuB,IALnB;MAME,OAAO,EAAEd,EAAE,CAACO,OAAH,GAAa;QAAA,OAAMpC,OAAO,CAACI,IAAD,CAAb;MAAA,CAAb,GAAmCU,SAN9C;MAOE,OAAO,EAAEe,EAAE,CAACO,OAAH,GAAa;QAAA,OAAMpC,OAAO,EAAb;MAAA,CAAb,GAA+Bc,SAP1C;MAQE,OAAO,EAAE;QAAA,OAAMf,QAAO,CAACK,IAAD,CAAb;MAAA;IARX,GAUGyB,EAAE,CAACS,OAAH,iBACC,6BAAC,gBAAD;MACE,SAAS,EAAE,qBACTlB,wBAAME,GADG,EAETO,EAAE,CAACnC,KAAH,IAAY,CAACmC,EAAE,CAACC,QAAhB,IAA4B,CAACD,EAAE,CAACI,UAAhC,IAA8Cb,wBAAMwB,QAF3C,EAGT,CAACf,EAAE,CAACM,UAAH,IAAkB,CAACN,EAAE,CAACnC,KAAJ,IAAamC,EAAE,CAACjC,QAAnC,KAAiDwB,wBAAMyB,WAH9C,EAIThB,EAAE,CAACM,UAAH,IAAiBR,MAAM,KAAKhB,OAAO,CAACC,KAApC,IAA6CQ,wBAAM0B,gBAJ1C,EAKTjB,EAAE,CAACM,UAAH,IAAiBR,MAAM,KAAKhB,OAAO,CAACE,GAApC,IAA2CO,wBAAM2B,cALxC,EAMT,CAAClB,EAAE,CAACjC,QAAJ,IAAgB,CAACiC,EAAE,CAACC,QAApB,IAAgC,CAACD,EAAE,CAACK,QAApC,IAAgD,CAACL,EAAE,CAACI,UAApD,IAAkEb,wBAAM4B,YAN/D;IADb,gBAUE,6BAAC,gBAAD;MAAM,IAAI,EAAEnB,EAAE,CAACQ,KAAH,IAAYR,EAAE,CAACG,SAAf,IAA6BH,EAAE,CAACjC,QAAH,IAAe,CAACiC,EAAE,CAACnC,KAA5D;MAAoE,SAAS,EAAE6C;IAA/E,GACGnC,IAAI,CAACsB,OAAL,EADH,CAVF,EAcG1C,QAAQ,iBACP,6BAAC,gBAAD;MACE,KAAK,MADP;MAEE,SAAS,EAAE,qBACTuD,SADS,EAETnB,wBAAM6B,OAFG,EAGT,CAACpB,EAAE,CAACG,SAAJ,IAAiB,CAACH,EAAE,CAACjC,QAArB,IAAiC,CAACiC,EAAE,CAACM,UAArC,IAAmDf,wBAAM8B,KAHhD,EAIT,CAAClE,QAAQ,CAAC4C,UAAD,CAAT,IAAyB,CAACC,EAAE,CAACM,UAA7B,IAA2Cf,wBAAM+B,KAJxC;IAFb,GASG,CAACtB,EAAE,CAACC,QAAJ,GAAe9C,QAAQ,CAAC4C,UAAD,CAAR,IAAwB,GAAvC,GAA6C,EAThD,CAfJ,CAXJ,CADF;EA2CD,CAjFA,CADH,CADF;AAsFD,CA9HM;;;AAgIP7C,IAAI,CAACqE,WAAL,GAAmB,yBAAnB;AAEArE,IAAI,CAACsE,SAAL,GAAiB;EACfrE,QAAQ,EAAEsE,mBAAUC,KAAV,CAAgB,EAAhB,CADK;EAEftE,aAAa,EAAEqE,mBAAUE,OAAV,CAAkBF,mBAAUG,MAA5B,CAFA;EAGfvE,YAAY,EAAEoE,mBAAUI,IAHT;EAIfvE,KAAK,EAAEmE,mBAAUK,MAJF;EAKfpE,UAAU,EAAE+D,mBAAUE,OAAV,CAAkBF,mBAAUG,MAA5B,CALG;EAMfrE,MAAM,EAAEkE,mBAAUG,MANH;EAOfpE,MAAM,EAAEiE,mBAAUG,MAPH;EAQfnE,IAAI,EAAEgE,mBAAUM,UAAV,CAAqBrC,IAArB,CARS;EASf1B,EAAE,EAAEyD,mBAAUM,UAAV,CAAqBrC,IAArB,CATW;EAUfzB,IAAI,EAAEwD,mBAAU7D,MAAV,CAAiBoE,UAVR;EAWfrE,KAAK,EAAE8D,mBAAU7D,MAAV,CAAiBoE,UAXT;EAYfpE,MAAM,EAAE6D,mBAAU7D,MAAV,CAAiBoE,UAZV;EAafnE,KAAK,EAAE4D,mBAAUI,IAbF;EAcf/D,YAAY,EAAE2D,mBAAU7D,MAdT;EAefG,QAAQ,EAAE0D,mBAAUQ,SAAV,CAAoB,CAACR,mBAAUK,MAAX,EAAmBL,mBAAUE,OAAV,CAAkBF,mBAAUK,MAA5B,CAAnB,CAApB,CAfK;EAgBf3D,OAAO,EAAEsD,mBAAUS,IAhBJ;EAiBfhE,OAAO,EAAEuD,mBAAUS;AAjBJ,CAAjB"}
|
|
@@ -116,9 +116,7 @@ var Calendar = function Calendar(_ref) {
|
|
|
116
116
|
var _dateDiff = (0, _locale.dateDiff)(instance, date),
|
|
117
117
|
diffMonths = _dateDiff.months;
|
|
118
118
|
|
|
119
|
-
|
|
120
|
-
if (!diffMonths || diffMonths >= months) setInstance(next);
|
|
121
|
-
if (isMobile) setScrollTo((0, _helpers2.getScrollTo)(diffMonths));
|
|
119
|
+
if (isDesktop && diffMonths >= months) setInstance(next);else if (isMobile) setScrollTo((0, _helpers2.getScrollTo)(diffMonths));
|
|
122
120
|
}
|
|
123
121
|
|
|
124
122
|
setSelected(range ? [(0, _locale.UTC)(date), value[1] ? (0, _locale.UTC)((0, _locale.parseDate)(value[1], format)) : undefined] : (0, _locale.UTC)(date)); // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
@@ -155,7 +153,8 @@ var Calendar = function Calendar(_ref) {
|
|
|
155
153
|
});
|
|
156
154
|
};
|
|
157
155
|
|
|
158
|
-
var testID = others['data-testid']
|
|
156
|
+
var testID = others['data-testid'],
|
|
157
|
+
scrollEventThrottle = others.scrollEventThrottle;
|
|
159
158
|
|
|
160
159
|
var className = others.className,
|
|
161
160
|
_others$months = others.months,
|
|
@@ -189,6 +188,7 @@ var Calendar = function Calendar(_ref) {
|
|
|
189
188
|
horizontal: isDesktop,
|
|
190
189
|
scrollTo: scrollTo,
|
|
191
190
|
className: _CalendarModule.default.scrollview,
|
|
191
|
+
scrollEventThrottle: scrollEventThrottle,
|
|
192
192
|
onScroll: onScroll
|
|
193
193
|
}, Array.from({
|
|
194
194
|
length: months
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Calendar.js","names":["Calendar","disabledPast","format","from","locale","range","rangeMaxDays","to","value","onChange","onFocus","onNavigation","onScroll","others","isDesktop","isMobile","focus","setFocus","instance","setInstance","scrollTo","setScrollTo","undefined","selected","setSelected","date","length","next","diffMonths","months","handleChange","getTime","handleMonth","month","Date","getFullYear","getMonth","testID","className","props","today","instanceTS","todayMonthTS","disabledPrevious","disabledNext","style","container","scrollview","Array","empty","index","displayName","propTypes","captions","PropTypes","shape","disabledDates","arrayOf","string","bool","disabledWeekends","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, 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, getScrollTo, getToday } from './helpers';\n\nexport const Calendar = ({\n disabledPast = true,\n format = 'YYYY/MM/DD',\n from,\n locale,\n range = false,\n rangeMaxDays,\n to,\n value,\n onChange = () => {},\n onFocus = () => {},\n onNavigation = () => {},\n onScroll,\n ...others\n}) => {\n const { isDesktop, isMobile } = useDevice();\n\n const [focus, setFocus] = useState();\n const [instance, setInstance] = useState(getFirstDateOfMonth(getToday()));\n const [scrollTo, setScrollTo] = useState();\n const [selected, setSelected] = useState(range ? [] : undefined);\n\n useEffect(() => {\n let date = range ? (value ? value[0] : undefined) : value;\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 setFocus(undefined);\n if (!diffMonths || diffMonths >= months) setInstance(next);\n if (isMobile) setScrollTo(getScrollTo(diffMonths));\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, range, value]);\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 next = getFirstDateOfMonth(new Date(instance.getFullYear(), instance.getMonth() + month));\n\n onNavigation(next);\n return next;\n });\n };\n\n const { ['data-testid']: testID } = 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 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 selected,\n onChange: handleChange,\n onFocus: isDesktop ? setFocus : undefined,\n };\n\n if (isMobile && to) months = dateDiff(today, parseDate(to, format)).months;\n\n return (\n <View className={styles(style.container, className)} data-testid={testID}>\n {isMobile && <Weekdays locale={locale} />}\n <ScrollView horizontal={isDesktop} scrollTo={scrollTo} className={style.scrollview} onScroll={onScroll}>\n {Array.from({ length: months }, (empty, index) => (\n <Month\n data-testid={testID}\n key={index}\n onNext={isDesktop && index === months - 1 && !disabledNext ? () => handleMonth(months) : undefined}\n onPrevious={isDesktop && index === 0 && !disabledPrevious ? () => handleMonth(-months) : undefined}\n instance={new Date(instance.getFullYear(), instance.getMonth() + index, 1)} // ! TODO: calc with mirai/locale\n {...props}\n />\n ))}\n </ScrollView>\n </View>\n );\n};\n\nCalendar.displayName = 'Component:Calendar';\n\nCalendar.propTypes = {\n captions: PropTypes.shape({}),\n disabledDates: PropTypes.arrayOf(PropTypes.string),\n disabledPast: PropTypes.bool,\n disabledWeekends: 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 value: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),\n onChange: PropTypes.func,\n onFocus: PropTypes.func,\n onNavigation: PropTypes.func,\n onScroll: PropTypes.func,\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Calendar.js","names":["Calendar","disabledPast","format","from","locale","range","rangeMaxDays","to","value","onChange","onFocus","onNavigation","onScroll","others","isDesktop","isMobile","focus","setFocus","instance","setInstance","scrollTo","setScrollTo","undefined","selected","setSelected","date","length","next","diffMonths","months","handleChange","getTime","handleMonth","month","Date","getFullYear","getMonth","testID","scrollEventThrottle","className","props","today","instanceTS","todayMonthTS","disabledPrevious","disabledNext","style","container","scrollview","Array","empty","index","displayName","propTypes","captions","PropTypes","shape","disabledDates","arrayOf","string","bool","disabledWeekends","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, 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, getScrollTo, getToday } from './helpers';\n\nexport const Calendar = ({\n disabledPast = true,\n format = 'YYYY/MM/DD',\n from,\n locale,\n range = false,\n rangeMaxDays,\n to,\n value,\n onChange = () => {},\n onFocus = () => {},\n onNavigation = () => {},\n onScroll,\n ...others\n}) => {\n const { isDesktop, isMobile } = useDevice();\n\n const [focus, setFocus] = useState();\n const [instance, setInstance] = useState(getFirstDateOfMonth(getToday()));\n const [scrollTo, setScrollTo] = useState();\n const [selected, setSelected] = useState(range ? [] : undefined);\n\n useEffect(() => {\n let date = range ? (value ? value[0] : undefined) : value;\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 (isDesktop && diffMonths >= months) setInstance(next);\n else if (isMobile) setScrollTo(getScrollTo(diffMonths));\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, range, value]);\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 next = getFirstDateOfMonth(new Date(instance.getFullYear(), instance.getMonth() + month));\n\n onNavigation(next);\n return next;\n });\n };\n\n const { ['data-testid']: 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 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 selected,\n onChange: handleChange,\n onFocus: isDesktop ? setFocus : undefined,\n };\n\n if (isMobile && to) months = dateDiff(today, parseDate(to, format)).months;\n\n return (\n <View className={styles(style.container, className)} data-testid={testID}>\n {isMobile && <Weekdays locale={locale} />}\n <ScrollView\n horizontal={isDesktop}\n scrollTo={scrollTo}\n className={style.scrollview}\n scrollEventThrottle={scrollEventThrottle}\n onScroll={onScroll}\n >\n {Array.from({ length: months }, (empty, index) => (\n <Month\n data-testid={testID}\n key={index}\n onNext={isDesktop && index === months - 1 && !disabledNext ? () => handleMonth(months) : undefined}\n onPrevious={isDesktop && index === 0 && !disabledPrevious ? () => handleMonth(-months) : undefined}\n instance={new Date(instance.getFullYear(), instance.getMonth() + index, 1)} // ! TODO: calc with mirai/locale\n {...props}\n />\n ))}\n </ScrollView>\n </View>\n );\n};\n\nCalendar.displayName = 'Component:Calendar';\n\nCalendar.propTypes = {\n captions: PropTypes.shape({}),\n disabledDates: PropTypes.arrayOf(PropTypes.string),\n disabledPast: PropTypes.bool,\n disabledWeekends: 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 value: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),\n onChange: PropTypes.func,\n onFocus: PropTypes.func,\n onNavigation: PropTypes.func,\n onScroll: PropTypes.func,\n};\n"],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
:root {
|
|
2
|
+
--mirai-ui-calendar-caption-color: var(--mirai-ui-content-light);
|
|
2
3
|
--mirai-ui-calendar-cell: var(--mirai-ui-space-XL);
|
|
3
4
|
--mirai-ui-calendar-highlight-color: var(--mirai-ui-accent);
|
|
4
5
|
--mirai-ui-calendar-padding: var(--mirai-ui-space-XS);
|
|
@@ -90,6 +91,10 @@
|
|
|
90
91
|
white-space: nowrap;
|
|
91
92
|
}
|
|
92
93
|
|
|
94
|
+
.caption.color {
|
|
95
|
+
color: var(--mirai-ui-calendar-caption-color);
|
|
96
|
+
}
|
|
97
|
+
|
|
93
98
|
.caption.empty {
|
|
94
99
|
color: var(--mirai-ui-content-border);
|
|
95
100
|
}
|