@mirai/ui 1.0.146 → 1.0.152
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/README.md +1 -0
- package/build/components/Action/Action.js +5 -3
- package/build/components/Action/Action.js.map +1 -1
- package/build/components/Action/Action.module.css +5 -0
- package/build/components/Action/__tests__/__snapshots__/Action.test.js.snap +10 -0
- package/build/components/Button/Button.module.css +9 -10
- package/build/components/Calendar/Calendar.js +1 -1
- package/build/components/Calendar/Calendar.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -328,6 +328,7 @@ React components assembled with primitives.
|
|
|
328
328
|
|
|
329
329
|
A hyperlink component that receives the following props:
|
|
330
330
|
|
|
331
|
+
- `bold:boolean` modifying font-weight
|
|
331
332
|
- `children:node|string`
|
|
332
333
|
- `disabled:boolean` applying 'disabled' attribute
|
|
333
334
|
- `href:string` applying 'href' attribute & force `a` tag
|
|
@@ -10,7 +10,7 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
10
10
|
var _helpers = require("../../helpers");
|
|
11
11
|
var _primitives = require("../../primitives");
|
|
12
12
|
var _ActionModule = _interopRequireDefault(require("./Action.module.css"));
|
|
13
|
-
var _excluded = ["children", "disabled", "href", "inline", "large", "small", "tag", "target", "underline", "wide", "onPress"];
|
|
13
|
+
var _excluded = ["bold", "children", "disabled", "href", "inline", "large", "small", "tag", "target", "underline", "wide", "onPress"];
|
|
14
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
15
|
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; }
|
|
16
16
|
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; }
|
|
@@ -20,7 +20,8 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input ==
|
|
|
20
20
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
21
21
|
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; }
|
|
22
22
|
var Action = function Action(_ref) {
|
|
23
|
-
var
|
|
23
|
+
var bold = _ref.bold,
|
|
24
|
+
children = _ref.children,
|
|
24
25
|
disabled = _ref.disabled,
|
|
25
26
|
href = _ref.href,
|
|
26
27
|
inline = _ref.inline,
|
|
@@ -37,7 +38,7 @@ var Action = function Action(_ref) {
|
|
|
37
38
|
disabled: disabled,
|
|
38
39
|
href: href,
|
|
39
40
|
tag: href ? 'a' : tag,
|
|
40
|
-
className: (0, _helpers.styles)(_ActionModule.default.action, disabled && _ActionModule.default.disabled, inline && _ActionModule.default.inline, large && _ActionModule.default.large, small && _ActionModule.default.small, underline && _ActionModule.default.underline, wide && _ActionModule.default.wide, others.className),
|
|
41
|
+
className: (0, _helpers.styles)(_ActionModule.default.action, bold && _ActionModule.default.bold, disabled && _ActionModule.default.disabled, inline && _ActionModule.default.inline, large && _ActionModule.default.large, small && _ActionModule.default.small, underline && _ActionModule.default.underline, wide && _ActionModule.default.wide, others.className),
|
|
41
42
|
onPress: function onPress(event) {
|
|
42
43
|
_onPress && _onPress(event);
|
|
43
44
|
if (href && target) window.open(href, target);else if (href) window.location = href;
|
|
@@ -47,6 +48,7 @@ var Action = function Action(_ref) {
|
|
|
47
48
|
exports.Action = Action;
|
|
48
49
|
Action.displayName = 'Component:Action';
|
|
49
50
|
Action.propTypes = {
|
|
51
|
+
bold: _propTypes.default.bool,
|
|
50
52
|
children: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.node]),
|
|
51
53
|
disabled: _propTypes.default.bool,
|
|
52
54
|
href: _propTypes.default.string,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Action.js","names":["Action","children","disabled","href","inline","large","small","tag","target","underline","wide","onPress","others","React","createElement","Pressable","className","styles","style","action","event","window","open","location","displayName","propTypes","PropTypes","oneOfType","string","node","
|
|
1
|
+
{"version":3,"file":"Action.js","names":["Action","bold","children","disabled","href","inline","large","small","tag","target","underline","wide","onPress","others","React","createElement","Pressable","className","styles","style","action","event","window","open","location","displayName","propTypes","PropTypes","bool","oneOfType","string","node","onEnter","func","onLeave"],"sources":["../../../src/components/Action/Action.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { styles } from '../../helpers';\nimport { Pressable } from '../../primitives';\nimport style from './Action.module.css';\n\nconst Action = ({\n bold,\n children,\n disabled,\n href,\n inline,\n large,\n small,\n tag = 'button',\n target,\n underline,\n wide,\n onPress,\n ...others\n}) =>\n React.createElement(\n Pressable,\n {\n ...others,\n disabled,\n href,\n tag: href ? 'a' : tag,\n className: styles(\n style.action,\n bold && style.bold,\n disabled && style.disabled,\n inline && style.inline,\n large && style.large,\n small && style.small,\n underline && style.underline,\n wide && style.wide,\n others.className,\n ),\n onPress: (event) => {\n onPress && onPress(event);\n if (href && target) window.open(href, target);\n else if (href) window.location = href;\n },\n },\n children,\n );\n\nAction.displayName = 'Component:Action';\n\nAction.propTypes = {\n bold: PropTypes.bool,\n children: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n disabled: PropTypes.bool,\n href: PropTypes.string,\n inline: PropTypes.bool,\n large: PropTypes.bool,\n small: PropTypes.bool,\n tag: PropTypes.string,\n target: PropTypes.string,\n underline: PropTypes.bool,\n wide: PropTypes.bool,\n onEnter: PropTypes.func,\n onLeave: PropTypes.func,\n onPress: PropTypes.func,\n};\n\nexport { Action };\n"],"mappings":";;;;;;;AAAA;AACA;AAEA;AACA;AACA;AAAwC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAExC,IAAMA,MAAM,GAAG,SAATA,MAAM;EAAA,IACVC,IAAI,QAAJA,IAAI;IACJC,QAAQ,QAARA,QAAQ;IACRC,QAAQ,QAARA,QAAQ;IACRC,IAAI,QAAJA,IAAI;IACJC,MAAM,QAANA,MAAM;IACNC,KAAK,QAALA,KAAK;IACLC,KAAK,QAALA,KAAK;IAAA,gBACLC,GAAG;IAAHA,GAAG,yBAAG,QAAQ;IACdC,MAAM,QAANA,MAAM;IACNC,SAAS,QAATA,SAAS;IACTC,IAAI,QAAJA,IAAI;IACJC,QAAO,QAAPA,OAAO;IACJC,MAAM;EAAA,oBAETC,cAAK,CAACC,aAAa,CACjBC,qBAAS,kCAEJH,MAAM;IACTV,QAAQ,EAARA,QAAQ;IACRC,IAAI,EAAJA,IAAI;IACJI,GAAG,EAAEJ,IAAI,GAAG,GAAG,GAAGI,GAAG;IACrBS,SAAS,EAAE,IAAAC,eAAM,EACfC,qBAAK,CAACC,MAAM,EACZnB,IAAI,IAAIkB,qBAAK,CAAClB,IAAI,EAClBE,QAAQ,IAAIgB,qBAAK,CAAChB,QAAQ,EAC1BE,MAAM,IAAIc,qBAAK,CAACd,MAAM,EACtBC,KAAK,IAAIa,qBAAK,CAACb,KAAK,EACpBC,KAAK,IAAIY,qBAAK,CAACZ,KAAK,EACpBG,SAAS,IAAIS,qBAAK,CAACT,SAAS,EAC5BC,IAAI,IAAIQ,qBAAK,CAACR,IAAI,EAClBE,MAAM,CAACI,SAAS,CACjB;IACDL,OAAO,EAAE,iBAACS,KAAK,EAAK;MAClBT,QAAO,IAAIA,QAAO,CAACS,KAAK,CAAC;MACzB,IAAIjB,IAAI,IAAIK,MAAM,EAAEa,MAAM,CAACC,IAAI,CAACnB,IAAI,EAAEK,MAAM,CAAC,CAAC,KACzC,IAAIL,IAAI,EAAEkB,MAAM,CAACE,QAAQ,GAAGpB,IAAI;IACvC;EAAC,IAEHF,QAAQ,CACT;AAAA;AAAC;AAEJF,MAAM,CAACyB,WAAW,GAAG,kBAAkB;AAEvCzB,MAAM,CAAC0B,SAAS,GAAG;EACjBzB,IAAI,EAAE0B,kBAAS,CAACC,IAAI;EACpB1B,QAAQ,EAAEyB,kBAAS,CAACE,SAAS,CAAC,CAACF,kBAAS,CAACG,MAAM,EAAEH,kBAAS,CAACI,IAAI,CAAC,CAAC;EACjE5B,QAAQ,EAAEwB,kBAAS,CAACC,IAAI;EACxBxB,IAAI,EAAEuB,kBAAS,CAACG,MAAM;EACtBzB,MAAM,EAAEsB,kBAAS,CAACC,IAAI;EACtBtB,KAAK,EAAEqB,kBAAS,CAACC,IAAI;EACrBrB,KAAK,EAAEoB,kBAAS,CAACC,IAAI;EACrBpB,GAAG,EAAEmB,kBAAS,CAACG,MAAM;EACrBrB,MAAM,EAAEkB,kBAAS,CAACG,MAAM;EACxBpB,SAAS,EAAEiB,kBAAS,CAACC,IAAI;EACzBjB,IAAI,EAAEgB,kBAAS,CAACC,IAAI;EACpBI,OAAO,EAAEL,kBAAS,CAACM,IAAI;EACvBC,OAAO,EAAEP,kBAAS,CAACM,IAAI;EACvBrB,OAAO,EAAEe,kBAAS,CAACM;AACrB,CAAC"}
|
|
@@ -14,6 +14,11 @@
|
|
|
14
14
|
color: var(--mirai-ui-content);
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
+
.action.bold {
|
|
18
|
+
font-family: var(--mirai-ui-font-bold);
|
|
19
|
+
font-weight: var(--mirai-ui-font-bold-weight);
|
|
20
|
+
}
|
|
21
|
+
|
|
17
22
|
.action.disabled,
|
|
18
23
|
.action.disabled * {
|
|
19
24
|
color: var(--mirai-ui-action-color-disabled);
|
|
@@ -10,6 +10,16 @@ exports[`component:<Action> inherit:className 1`] = `
|
|
|
10
10
|
</DocumentFragment>
|
|
11
11
|
`;
|
|
12
12
|
|
|
13
|
+
exports[`component:<Action> prop:bold 1`] = `
|
|
14
|
+
<DocumentFragment>
|
|
15
|
+
<button
|
|
16
|
+
class="pressable action bold"
|
|
17
|
+
>
|
|
18
|
+
children
|
|
19
|
+
</button>
|
|
20
|
+
</DocumentFragment>
|
|
21
|
+
`;
|
|
22
|
+
|
|
13
23
|
exports[`component:<Action> prop:disabled 1`] = `
|
|
14
24
|
<DocumentFragment>
|
|
15
25
|
<button
|
|
@@ -94,6 +94,15 @@ button.button.busy .spinner {
|
|
|
94
94
|
transform: translateY(0%);
|
|
95
95
|
}
|
|
96
96
|
|
|
97
|
+
.button:not(:disabled).secondary:hover:not(:active) {
|
|
98
|
+
box-shadow: inset 0 0 0 var(--mirai-ui-border-width) var(--mirai-ui-button-color-hover);
|
|
99
|
+
color: var(--mirai-ui-button-color-focus);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.button:not(:disabled):not(.secondary):hover {
|
|
103
|
+
background-color: var(--mirai-ui-button-color-hover);
|
|
104
|
+
}
|
|
105
|
+
|
|
97
106
|
.busyContainer {
|
|
98
107
|
align-items: center;
|
|
99
108
|
justify-content: center;
|
|
@@ -180,13 +189,3 @@ button.button.busy .spinner {
|
|
|
180
189
|
left: calc(var(--mirai-ui-space-S) * 0.75);
|
|
181
190
|
}
|
|
182
191
|
|
|
183
|
-
@media only screen and (min-width: 600px) {
|
|
184
|
-
.button:not(:disabled).secondary:hover:not(:active) {
|
|
185
|
-
box-shadow: inset 0 0 0 var(--mirai-ui-border-width) var(--mirai-ui-button-color-hover);
|
|
186
|
-
color: var(--mirai-ui-button-color-focus);
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
.button:not(:disabled):not(.secondary):hover {
|
|
190
|
-
background-color: var(--mirai-ui-button-color-hover);
|
|
191
|
-
}
|
|
192
|
-
}
|
|
@@ -167,7 +167,7 @@ var Calendar = function Calendar(_ref) {
|
|
|
167
167
|
onChange: handleChange,
|
|
168
168
|
onFocus: isDesktop ? setFocus : undefined
|
|
169
169
|
});
|
|
170
|
-
if (isMobile && to) months = (0, _locale.dateDiff)(today, (0, _locale.parseDate)(to, format)).months;
|
|
170
|
+
if (isMobile && to) months = (0, _locale.dateDiff)(today, (0, _locale.parseDate)(to, format)).months + 1;
|
|
171
171
|
return /*#__PURE__*/_react.default.createElement(_primitives.View, {
|
|
172
172
|
className: (0, _helpers.styles)(_CalendarModule.default.container, className),
|
|
173
173
|
"data-testid": testID
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Calendar.js","names":["Calendar","autoScroll","disabledPast","format","from","locale","range","rangeMaxDays","to","value","onChange","onFocus","onNavigation","onScroll","others","useDevice","isDesktop","isMobile","useState","focus","setFocus","getFirstDateOfMonth","getToday","instance","setInstance","scrollTo","setScrollTo","scrolling","setScrolling","undefined","selected","setSelected","timestamp","setTimestamp","useEffect","date","length","dateFrom","parseDate","dateDiff","days","next","diffMonths","months","getScrollTo","UTC","handleChange","getTime","handleMonth","month","addMonths","Date","getFullYear","getMonth","handleScroll","event","now","testID","scrollEventThrottle","className","props","today","instanceTS","todayMonthTS","disabledPrevious","disabledNext","dateCalc","tooltips","styles","style","container","scrollview","Array","empty","index","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, 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 autoScroll = false,\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 [scrolling, setScrolling] = useState();\n const [selected, setSelected] = useState(range ? [] : undefined);\n const [timestamp, setTimestamp] = useState();\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 (isDesktop && (diffMonths >= months || diffMonths < 0)) setInstance(next);\n else if (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 (isMobile) setScrolling(true);\n\n onScroll(event);\n setTimestamp(Date.now());\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 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: !isMobile || !scrolling ? props.tooltips : {},\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={handleScroll}\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 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 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;AAAuE;EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEhE,IAAMA,QAAQ,GAAG,SAAXA,QAAQ,OAef;EAAA,2BAdJC,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;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,iBAAgC,IAAAC,gBAAS,GAAE;IAAnCC,SAAS,cAATA,SAAS;IAAEC,QAAQ,cAARA,QAAQ;EAE3B,gBAA0B,IAAAC,eAAQ,GAAE;IAAA;IAA7BC,KAAK;IAAEC,QAAQ;EACtB,iBAAgC,IAAAF,eAAQ,EAAC,IAAAG,6BAAmB,EAAC,IAAAC,kBAAQ,GAAE,CAAC,CAAC;IAAA;IAAlEC,QAAQ;IAAEC,WAAW;EAC5B,iBAAgC,IAAAN,eAAQ,GAAE;IAAA;IAAnCO,QAAQ;IAAEC,WAAW;EAC5B,iBAAkC,IAAAR,eAAQ,GAAE;IAAA;IAArCS,SAAS;IAAEC,YAAY;EAC9B,iBAAgC,IAAAV,eAAQ,EAACZ,KAAK,GAAG,EAAE,GAAGuB,SAAS,CAAC;IAAA;IAAzDC,QAAQ;IAAEC,WAAW;EAC5B,kBAAkC,IAAAb,eAAQ,GAAE;IAAA;IAArCc,SAAS;IAAEC,YAAY;EAE9B,IAAAC,gBAAS,EAAC,YAAM;IACd,IAAIC,IAAI,GAAG7B,KAAK,GAAI,CAAAG,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE2B,MAAM,IAAG,CAAC,GAAG3B,KAAK,CAAC,CAAC,CAAC,GAAGoB,SAAS,GAAIpB,KAAK;IAErE,IAAIL,IAAI,IAAI+B,IAAI,EAAE;MAChB,IAAME,QAAQ,GAAG,IAAAC,iBAAS,EAAClC,IAAI,EAAED,MAAM,CAAC;MACxC,gBAAiB,IAAAoC,gBAAQ,EAACF,QAAQ,EAAE,IAAAC,iBAAS,EAACH,IAAI,EAAEhC,MAAM,CAAC,CAAC;QAApDqC,IAAI,aAAJA,IAAI;MAEZ,IAAIA,IAAI,GAAG,CAAC,EAAEL,IAAI,GAAGN,SAAS;IAChC;IACA,IAAI,CAACM,IAAI,EAAE,OAAOJ,WAAW,CAACzB,KAAK,GAAG,EAAE,GAAGuB,SAAS,CAAC;IAErDM,IAAI,GAAG,IAAAG,iBAAS,EAACH,IAAI,EAAEhC,MAAM,CAAC;IAC9B,IAAKG,KAAK,KAAKwB,QAAQ,CAACM,MAAM,KAAK,CAAC,IAAI3B,KAAK,CAAC2B,MAAM,KAAK,CAAC,CAAC,IAAK,CAAC9B,KAAK,EAAE;MACtE,IAAMmC,IAAI,GAAG,IAAApB,6BAAmB,EAACc,IAAI,CAAC;MACtC,iBAA+B,IAAAI,gBAAQ,EAAChB,QAAQ,EAAEY,IAAI,CAAC;QAAvCO,UAAU,cAAlBC,MAAM;MAEd,IAAI3B,SAAS,KAAK0B,UAAU,IAAIC,MAAM,IAAID,UAAU,GAAG,CAAC,CAAC,EAAElB,WAAW,CAACiB,IAAI,CAAC,CAAC,KACxE,IAAIxB,QAAQ,EAAE;QACjBhB,UAAU,IAAIyB,WAAW,CAAC,IAAAkB,qBAAW,EAACF,UAAU,CAAC,CAAC;QAClDd,YAAY,CAAC,KAAK,CAAC;MACrB;IACF;IAEAG,WAAW,CAACzB,KAAK,GAAG,CAAC,IAAAuC,WAAG,EAACV,IAAI,CAAC,EAAE1B,KAAK,CAAC,CAAC,CAAC,GAAG,IAAAoC,WAAG,EAAC,IAAAP,iBAAS,EAAC7B,KAAK,CAAC,CAAC,CAAC,EAAEN,MAAM,CAAC,CAAC,GAAG0B,SAAS,CAAC,GAAG,IAAAgB,WAAG,EAACV,IAAI,CAAC,CAAC;IACrG;EACF,CAAC,EAAE,CAAChC,MAAM,EAAEC,IAAI,EAAEE,KAAK,EAAEG,KAAK,CAAC,CAAC;EAEhC,IAAAyB,gBAAS,EAAC,YAAM;IACd9B,IAAI,KAAK,CAACK,KAAK,IAAIA,KAAK,CAAC2B,MAAM,KAAK,CAAC,IAAI,CAAC3B,KAAK,CAAC,CAAC,CAAC,CAAC,IAAIe,WAAW,CAAC,IAAAH,6BAAmB,EAAC,IAAAiB,iBAAS,EAAClC,IAAI,EAAED,MAAM,CAAC,CAAC,CAAC;IAChH;EACF,CAAC,EAAE,CAACC,IAAI,CAAC,CAAC;EAEV,IAAA8B,gBAAS,EAAC,YAAM;IACdvB,OAAO,CAACQ,KAAK,CAAC;EAChB,CAAC,EAAE,CAACA,KAAK,EAAER,OAAO,CAAC,CAAC;EAEpB,IAAMmC,YAAY,GAAG,SAAfA,YAAY,CAAIX,IAAI,EAAK;IAC7BJ,WAAW,CAAC,YAAM;MAChB,IAAIU,IAAI;MAER,IAAI,CAACnC,KAAK,EAAE;QACVmC,IAAI,GAAGN,IAAI;MACb,CAAC,MAAM,IAAIL,QAAQ,CAAC,CAAC,CAAC,KAAKD,SAAS,IAAIM,IAAI,GAAGL,QAAQ,CAAC,CAAC,CAAC,EAAE;QAC1DW,IAAI,GAAG,CAACX,QAAQ,CAAC,CAAC,CAAC,EAAEK,IAAI,CAAC;MAC5B,CAAC,MAAM;QAAA;QACLM,IAAI,GAAG,CAAC,eAAAX,QAAQ,CAAC,CAAC,CAAC,+CAAX,WAAaiB,OAAO,EAAE,MAAKZ,IAAI,CAACY,OAAO,EAAE,GAAGlB,SAAS,GAAGM,IAAI,CAAC;QACrEf,QAAQ,CAACS,SAAS,CAAC;MACrB;MACAnB,QAAQ,CAAC+B,IAAI,CAAC;MAEd,OAAOA,IAAI;IACb,CAAC,CAAC;EACJ,CAAC;EAED,IAAMO,WAAW,GAAG,SAAdA,WAAW,CAAIC,KAAK,EAAK;IAC7BzB,WAAW,CAAC,YAAM;MAChB,IAAM0B,SAAS,GAAG5C,KAAK,IAAIG,KAAK,CAAC,CAAC,CAAC,IAAI,CAACA,KAAK,CAAC,CAAC,CAAC,GAAIwC,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAIA,KAAK;MAC/E,IAAMR,IAAI,GAAG,IAAApB,6BAAmB,EAAC,IAAI8B,IAAI,CAAC5B,QAAQ,CAAC6B,WAAW,EAAE,EAAE7B,QAAQ,CAAC8B,QAAQ,EAAE,GAAGH,SAAS,CAAC,CAAC;MAEnGtC,YAAY,CAAC6B,IAAI,CAAC;MAClB,OAAOA,IAAI;IACb,CAAC,CAAC;EACJ,CAAC;EAED,IAAMa,YAAY,GAAG,SAAfA,YAAY,CAAIC,KAAK,EAAK;IAC9B,IAAItC,QAAQ,EAAEW,YAAY,CAAC,IAAI,CAAC;IAEhCf,QAAQ,CAAC0C,KAAK,CAAC;IACftB,YAAY,CAACkB,IAAI,CAACK,GAAG,EAAE,CAAC;EAC1B,CAAC;EAED,IAAyBC,MAAM,GAA0B3C,MAAM,CAAtD,aAAa;IAAW4C,mBAAmB,GAAK5C,MAAM,CAA9B4C,mBAAmB;EACpD,IAAMC,SAAS,GAA2B7C,MAAM,CAA1C6C,SAAS;IAAA,iBAA2B7C,MAAM,CAA/B6B,MAAM;IAANA,MAAM,+BAAG,CAAC;IAAKiB,KAAK,4BAAK9C,MAAM;EAEhD,IAAM+C,KAAK,GAAG,IAAAvC,kBAAQ,GAAE;EACxB,IAAMwC,UAAU,GAAGvC,QAAQ,CAACwB,OAAO,EAAE;EACrC,IAAMgB,YAAY,GAAG,IAAA1C,6BAAmB,EAACwC,KAAK,CAAC,CAACd,OAAO,EAAE;EACzD,IAAMiB,gBAAgB,GACnB9D,YAAY,IAAI4D,UAAU,IAAIC,YAAY,IAC1C3D,IAAI,IAAI0D,UAAU,IAAI,IAAAzC,6BAAmB,EAAC,IAAAiB,iBAAS,EAAClC,IAAI,EAAED,MAAM,CAAC,CAAC,CAAC4C,OAAO,EAAG;EAEhF,IAAMkB,YAAY,GAChBzD,EAAE,IAAI,IAAA8B,iBAAS,EAAC9B,EAAE,EAAEL,MAAM,CAAC,CAAC4C,OAAO,EAAE,IAAI,IAAA1B,6BAAmB,EAAC,IAAA6C,gBAAQ,EAAC3C,QAAQ,EAAEoB,MAAM,EAAE,QAAQ,CAAC,CAAC,CAACI,OAAO,EAAE;EAE9Ga,KAAK,mCACAA,KAAK;IACR1D,YAAY,EAAZA,YAAY;IACZiB,KAAK,EAALA,KAAK;IACLhB,MAAM,EAANA,MAAM;IACNC,IAAI,EAAEA,IAAI,GAAG,IAAAkC,iBAAS,EAAClC,IAAI,EAAED,MAAM,CAAC,GAAG0B,SAAS;IAChDxB,MAAM,EAANA,MAAM;IACNC,KAAK,EAALA,KAAK;IACLwB,QAAQ,EAARA,QAAQ;IACRE,SAAS,EAATA,SAAS;IACTxB,EAAE,EACAF,KAAK,IACLC,YAAY,IACZuB,QAAQ,CAAC,CAAC,CAAC,IACX,CAACA,QAAQ,CAAC,CAAC,CAAC,KACX,CAACtB,EAAE,IAAI,IAAA0D,gBAAQ,EAACpC,QAAQ,CAAC,CAAC,CAAC,EAAEvB,YAAY,EAAE,MAAM,CAAC,GAAG,IAAA+B,iBAAS,EAAC9B,EAAE,EAAEL,MAAM,CAAC,CAAC,GACxE,IAAA+D,gBAAQ,EAACpC,QAAQ,CAAC,CAAC,CAAC,EAAEvB,YAAY,EAAE,MAAM,CAAC,GAC3CC,EAAE,GACF,IAAA8B,iBAAS,EAAC9B,EAAE,EAAEL,MAAM,CAAC,GACrB0B,SAAS;IACfsC,QAAQ,EAAE,CAAClD,QAAQ,IAAI,CAACU,SAAS,GAAGiC,KAAK,CAACO,QAAQ,GAAG,CAAC,CAAC;IACvDzD,QAAQ,EAAEoC,YAAY;IACtBnC,OAAO,EAAEK,SAAS,GAAGI,QAAQ,GAAGS;EAAS,EAC1C;EAED,IAAIZ,QAAQ,IAAIT,EAAE,EAAEmC,MAAM,GAAG,IAAAJ,gBAAQ,EAACsB,KAAK,EAAE,IAAAvB,iBAAS,EAAC9B,EAAE,EAAEL,MAAM,CAAC,CAAC,CAACwC,MAAM;EAE1E,oBACE,6BAAC,gBAAI;IAAC,SAAS,EAAE,IAAAyB,eAAM,EAACC,uBAAK,CAACC,SAAS,EAAEX,SAAS,CAAE;IAAC,eAAaF;EAAO,GACtExC,QAAQ,iBAAI,6BAAC,mBAAQ;IAAC,MAAM,EAAEZ;EAAO,EAAG,eACzC,6BAAC,sBAAU;IACT,UAAU,EAAEW,SAAU;IACtB,QAAQ,EAAES,QAAS;IACnB,SAAS,EAAE4C,uBAAK,CAACE,UAAW;IAC5B,mBAAmB,EAAEb,mBAAoB;IACzC,QAAQ,EAAEJ;EAAa,GAEtBkB,KAAK,CAACpE,IAAI,CAAC;IAAEgC,MAAM,EAAEO;EAAO,CAAC,EAAE,UAAC8B,KAAK,EAAEC,KAAK;IAAA,oBAC3C,6BAAC,eAAK;MACJ,eAAajB,MAAO;MACpB,GAAG,EAAEiB,KAAM;MACX,MAAM,EAAE1D,SAAS,IAAI0D,KAAK,KAAK/B,MAAM,GAAG,CAAC,IAAI,CAACsB,YAAY,GAAG;QAAA,OAAMjB,WAAW,CAACL,MAAM,CAAC;MAAA,IAAGd,SAAU;MACnG,UAAU,EAAEb,SAAS,IAAI0D,KAAK,KAAK,CAAC,IAAI,CAACV,gBAAgB,GAAG;QAAA,OAAMhB,WAAW,CAAC,CAACL,MAAM,CAAC;MAAA,IAAGd,SAAU;MACnG,QAAQ,EAAE,IAAIsB,IAAI,CAAC5B,QAAQ,CAAC6B,WAAW,EAAE,EAAE7B,QAAQ,CAAC8B,QAAQ,EAAE,GAAGqB,KAAK,EAAE,CAAC,CAAE,CAAC;IAAA,GACxEd,KAAK,EACT;EAAA,CACH,CAAC,CACS,CACR;AAEX,CAAC;AAAC;AAEF5D,QAAQ,CAAC2E,WAAW,GAAG,oBAAoB;AAE3C3E,QAAQ,CAAC4E,SAAS,GAAG;EACnB3E,UAAU,EAAE4E,kBAAS,CAACC,IAAI;EAC1BC,QAAQ,EAAEF,kBAAS,CAACG,KAAK,CAAC,CAAC,CAAC,CAAC;EAC7BC,aAAa,EAAEJ,kBAAS,CAACK,OAAO,CAACL,kBAAS,CAACM,MAAM,CAAC;EAClDjF,YAAY,EAAE2E,kBAAS,CAACC,IAAI;EAC5B3E,MAAM,EAAE0E,kBAAS,CAACM,MAAM;EACxB/E,IAAI,EAAEyE,kBAAS,CAACM,MAAM;EACtBC,UAAU,EAAEP,kBAAS,CAACK,OAAO,CAACL,kBAAS,CAACM,MAAM,CAAC;EAC/C9E,MAAM,EAAEwE,kBAAS,CAACM,MAAM;EACxBxC,MAAM,EAAEkC,kBAAS,CAACQ,MAAM;EACxB/E,KAAK,EAAEuE,kBAAS,CAACC,IAAI;EACrBvE,YAAY,EAAEsE,kBAAS,CAACQ,MAAM;EAC9BC,YAAY,EAAET,kBAAS,CAACQ,MAAM;EAC9B7E,EAAE,EAAEqE,kBAAS,CAACM,MAAM;EACpBhB,QAAQ,EAAEU,kBAAS,CAACG,KAAK,CAAC,CAAC,CAAC,CAAC;EAC7BvE,KAAK,EAAEoE,kBAAS,CAACU,SAAS,CAAC,CAACV,kBAAS,CAACM,MAAM,EAAEN,kBAAS,CAACK,OAAO,CAACL,kBAAS,CAACM,MAAM,CAAC,CAAC,CAAC;EACnFzE,QAAQ,EAAEmE,kBAAS,CAACW,IAAI;EACxB7E,OAAO,EAAEkE,kBAAS,CAACW,IAAI;EACvB5E,YAAY,EAAEiE,kBAAS,CAACW,IAAI;EAC5B3E,QAAQ,EAAEgE,kBAAS,CAACW;AACtB,CAAC"}
|
|
1
|
+
{"version":3,"file":"Calendar.js","names":["Calendar","autoScroll","disabledPast","format","from","locale","range","rangeMaxDays","to","value","onChange","onFocus","onNavigation","onScroll","others","useDevice","isDesktop","isMobile","useState","focus","setFocus","getFirstDateOfMonth","getToday","instance","setInstance","scrollTo","setScrollTo","scrolling","setScrolling","undefined","selected","setSelected","timestamp","setTimestamp","useEffect","date","length","dateFrom","parseDate","dateDiff","days","next","diffMonths","months","getScrollTo","UTC","handleChange","getTime","handleMonth","month","addMonths","Date","getFullYear","getMonth","handleScroll","event","now","testID","scrollEventThrottle","className","props","today","instanceTS","todayMonthTS","disabledPrevious","disabledNext","dateCalc","tooltips","styles","style","container","scrollview","Array","empty","index","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, 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 autoScroll = false,\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 [scrolling, setScrolling] = useState();\n const [selected, setSelected] = useState(range ? [] : undefined);\n const [timestamp, setTimestamp] = useState();\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 (isDesktop && (diffMonths >= months || diffMonths < 0)) setInstance(next);\n else if (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 (isMobile) setScrolling(true);\n\n onScroll(event);\n setTimestamp(Date.now());\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 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: !isMobile || !scrolling ? props.tooltips : {},\n onChange: handleChange,\n onFocus: isDesktop ? setFocus : undefined,\n };\n\n if (isMobile && to) months = dateDiff(today, parseDate(to, format)).months + 1;\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={handleScroll}\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 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 onChange: PropTypes.func,\n onFocus: PropTypes.func,\n onNavigation: PropTypes.func,\n onScroll: PropTypes.func,\n};\n"],"mappings":"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"}
|