@mirai/ui 1.0.174 → 1.0.176

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.
Files changed (35) hide show
  1. package/README.md +36 -1
  2. package/build/components/Button/Button.js +5 -2
  3. package/build/components/Button/Button.js.map +1 -1
  4. package/build/components/Button/Button.module.css +18 -3
  5. package/build/components/Button/Button.stories.js +1 -0
  6. package/build/components/Button/Button.stories.js.map +1 -1
  7. package/build/components/Button/__tests__/__snapshots__/Button.test.js.snap +32 -0
  8. package/build/components/Calendar/Calendar.Month.js +2 -2
  9. package/build/components/Calendar/Calendar.Month.js.map +1 -1
  10. package/build/components/Calendar/Calendar.Week.js +1 -1
  11. package/build/components/Calendar/Calendar.Week.js.map +1 -1
  12. package/build/components/Calendar/Calendar.js +5 -6
  13. package/build/components/Calendar/Calendar.js.map +1 -1
  14. package/build/components/Calendar/Calendar.module.css +10 -11
  15. package/build/components/Calendar/Calendar.stories.js +2 -2
  16. package/build/components/Calendar/Calendar.stories.js.map +1 -1
  17. package/build/components/Calendar/__tests__/__snapshots__/Calendar.test.jsx.snap +122 -122
  18. package/build/components/Slider/Slider.constants.js +9 -0
  19. package/build/components/Slider/Slider.constants.js.map +1 -0
  20. package/build/components/Slider/Slider.js +190 -0
  21. package/build/components/Slider/Slider.js.map +1 -0
  22. package/build/components/Slider/Slider.module.css +121 -0
  23. package/build/components/Slider/Slider.stories.js +52 -0
  24. package/build/components/Slider/Slider.stories.js.map +1 -0
  25. package/build/components/Slider/__tests__/__snapshots__/Slider.test.js.snap +816 -0
  26. package/build/components/Slider/helpers/getMotionExpand.js +15 -0
  27. package/build/components/Slider/helpers/getMotionExpand.js.map +1 -0
  28. package/build/components/Slider/helpers/index.js +17 -0
  29. package/build/components/Slider/helpers/index.js.map +1 -0
  30. package/build/components/Slider/index.js +17 -0
  31. package/build/components/Slider/index.js.map +1 -0
  32. package/build/components/Tooltip/Tooltip.js +5 -3
  33. package/build/components/Tooltip/Tooltip.js.map +1 -1
  34. package/build/theme/default.theme.css +17 -0
  35. package/package.json +1 -1
package/README.md CHANGED
@@ -415,6 +415,7 @@ A button component that receives the following props:
415
415
  - `squared:boolean` if true gives rectangular shape to the button (false by default)
416
416
  - `tag:string` html tag of resulting element ('button' by default)
417
417
  - `tooltip:string` text it will appears when hover on component.
418
+ - `transparent:bool` modifying the button appearance using a transparent _variant_.
418
419
  - `wide:bool` modifying the button to full-width
419
420
  - `onEnter:function` executed when the user hovers over
420
421
  - `onLeave:function` executed when the user hovers away
@@ -512,9 +513,10 @@ const MyComponent = props => {
512
513
 
513
514
  ```css
514
515
  --mirai-ui-calendar-caption-font-size: 10px;
515
- --mirai-ui-calendar-caption-line-height: var(--mirai-ui-calendar-caption-font-size) * 1.5;
516
+ --mirai-ui-calendar-caption-line-height: calc(var(--mirai-ui-calendar-caption-font-size) * 1.5);
516
517
  --mirai-ui-calendar-caption-color: var(--mirai-ui-content-light);
517
518
  --mirai-ui-calendar-cell: var(--mirai-ui-space-XL);
519
+ --mirai-ui-calendar-cell-border-radius: var(--mirai-ui-border-radius);
518
520
  --mirai-ui-calendar-highlight-color: var(--mirai-ui-accent);
519
521
  --mirai-ui-calendar-padding: var(--mirai-ui-space-XS);
520
522
  --mirai-ui-calendar-range-background: var(--mirai-ui-content-background);
@@ -1031,6 +1033,39 @@ const MyComponent = (props) => {
1031
1033
  --mirai-ui-progress-motion: calc(var(--mirai-ui-motion-expand) * 3);
1032
1034
  ```
1033
1035
 
1036
+ ### Slider
1037
+
1038
+ A Slider component receiving the following props:
1039
+
1040
+ - `auto:bool` if you want auto slide feature (default is false).
1041
+ - `captions:arrayOf:string` if you want show a determinate caption for a determinate image.
1042
+ - `fullScreen:boolean` if you want start in fullScreen mode.
1043
+ - `height:number` Height of component (required).
1044
+ - `images:arrayOf:string` images to show (required).
1045
+ - `index:number` If you want show a determinate image at atart.
1046
+ - `thumbnails:arrayOf:string` if you want use thumbnails of images in fullScreen mode.
1047
+ - `width:number` width of component (required).
1048
+ - `onChange:function` executed when image (index) is visible
1049
+ - `onFullScreen:function` executed when toggle fullScreen property
1050
+
1051
+ ```jsx
1052
+ import { Slider } from '@mirai/ui';
1053
+
1054
+ const MyComponent = (props) => {
1055
+
1056
+ return <Slider height={320} images={[...]} width={480} />;
1057
+ };
1058
+ ```
1059
+
1060
+ **Theming variables**
1061
+
1062
+ ```css
1063
+ --mirai-ui-slider-background: var(--mirai-ui-content-dark);
1064
+ --mirai-ui-slider-overlay: rgba(0, 0, 0, 0.66);
1065
+ --mirai-ui-slider-color: var(--mirai-ui-base);
1066
+ --mirai-ui-slider-border-radius: var(--mirai-ui-border-radius);
1067
+ ```
1068
+
1034
1069
  ### Table
1035
1070
 
1036
1071
  This component helps you to create a pure html table receiving the following props:
@@ -11,7 +11,7 @@ var _helpers = require("../../helpers");
11
11
  var _primitives = require("../../primitives");
12
12
  var _Tooltip = require("../Tooltip");
13
13
  var _ButtonModule = _interopRequireDefault(require("./Button.module.css"));
14
- var _excluded = ["busy", "children", "disabled", "large", "rounded", "secondary", "small", "squared", "tag", "tooltip", "wide", "onPress"];
14
+ var _excluded = ["busy", "children", "disabled", "large", "rounded", "secondary", "small", "squared", "tag", "transparent", "tooltip", "wide", "onPress"];
15
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
16
  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; }
17
17
  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; }
@@ -32,6 +32,8 @@ var Button = function Button(_ref) {
32
32
  squared = _ref$squared === void 0 ? false : _ref$squared,
33
33
  _ref$tag = _ref.tag,
34
34
  tag = _ref$tag === void 0 ? 'button' : _ref$tag,
35
+ _ref$transparent = _ref.transparent,
36
+ transparent = _ref$transparent === void 0 ? false : _ref$transparent,
35
37
  tooltip = _ref.tooltip,
36
38
  wide = _ref.wide,
37
39
  onPress = _ref.onPress,
@@ -43,7 +45,7 @@ var Button = function Button(_ref) {
43
45
  role: others.role || 'button',
44
46
  tag: tag,
45
47
  onPress: onPress,
46
- className: (0, _helpers.styles)(_ButtonModule.default.button, busy && !disabled && _ButtonModule.default.busy, large && _ButtonModule.default.large, small && _ButtonModule.default.small, rounded && _ButtonModule.default.rounded, squared && _ButtonModule.default.squared, secondary && !disabled && _ButtonModule.default.secondary, (disabled || busy) && _ButtonModule.default.disabled, wide && _ButtonModule.default.wide, others.className)
48
+ className: (0, _helpers.styles)(_ButtonModule.default.button, busy && !disabled && _ButtonModule.default.busy, large && _ButtonModule.default.large, small && _ButtonModule.default.small, rounded && _ButtonModule.default.rounded, squared && _ButtonModule.default.squared, secondary && !transparent && !disabled && _ButtonModule.default.secondary, transparent && _ButtonModule.default.transparent, (disabled || busy) && _ButtonModule.default.disabled, wide && _ButtonModule.default.wide, others.className)
47
49
  }), busy === undefined ? children : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_primitives.View, {
48
50
  className: (0, _helpers.styles)(_ButtonModule.default.busyContainer, busy && _ButtonModule.default.active)
49
51
  }, /*#__PURE__*/_react.default.createElement(_primitives.View, {
@@ -66,6 +68,7 @@ Button.propTypes = {
66
68
  squared: _propTypes.default.bool,
67
69
  tag: _propTypes.default.string,
68
70
  tooltip: _propTypes.default.string,
71
+ transparent: _propTypes.default.bool,
69
72
  wide: _propTypes.default.bool,
70
73
  onEnter: _propTypes.default.func,
71
74
  onLeave: _propTypes.default.func,
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","names":["Button","busy","children","disabled","large","rounded","secondary","small","squared","tag","tooltip","wide","onPress","others","React","createElement","Tooltip","Fragment","text","undefined","Pressable","role","className","styles","style","button","busyContainer","active","spinner","displayName","propTypes","PropTypes","bool","oneOfType","string","node","onEnter","func","onLeave"],"sources":["../../../src/components/Button/Button.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { styles } from '../../helpers';\nimport { Pressable, View } from '../../primitives';\nimport { Tooltip } from '../Tooltip';\nimport style from './Button.module.css';\n\nconst Button = ({\n busy,\n children,\n disabled,\n large,\n rounded,\n secondary,\n small,\n squared = false,\n tag = 'button',\n tooltip,\n wide,\n onPress,\n ...others\n}) =>\n React.createElement(\n tooltip ? Tooltip : React.Fragment,\n tooltip ? { text: tooltip } : undefined,\n React.createElement(\n Pressable,\n {\n ...others,\n disabled: disabled || busy,\n role: others.role || 'button',\n tag,\n onPress,\n className: styles(\n style.button,\n busy && !disabled && style.busy,\n large && style.large,\n small && style.small,\n rounded && style.rounded,\n squared && style.squared,\n secondary && !disabled && style.secondary,\n (disabled || busy) && style.disabled,\n wide && style.wide,\n others.className,\n ),\n },\n busy === undefined ? (\n children\n ) : (\n <>\n <View className={styles(style.busyContainer, busy && style.active)}>\n <View className={style.spinner} />\n </View>\n <View row className={style.children}>\n {children}\n </View>\n </>\n ),\n ),\n );\n\nButton.displayName = 'Component:Button';\n\nButton.propTypes = {\n busy: PropTypes.bool,\n children: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n disabled: PropTypes.bool,\n large: PropTypes.bool,\n rounded: PropTypes.bool,\n secondary: PropTypes.bool,\n small: PropTypes.bool,\n squared: PropTypes.bool,\n tag: PropTypes.string,\n tooltip: PropTypes.string,\n wide: PropTypes.bool,\n onEnter: PropTypes.func,\n onLeave: PropTypes.func,\n onPress: PropTypes.func,\n};\n\nexport { Button };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Button.js","names":["Button","busy","children","disabled","large","rounded","secondary","small","squared","tag","transparent","tooltip","wide","onPress","others","React","createElement","Tooltip","Fragment","text","undefined","Pressable","role","className","styles","style","button","busyContainer","active","spinner","displayName","propTypes","PropTypes","bool","oneOfType","string","node","onEnter","func","onLeave"],"sources":["../../../src/components/Button/Button.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { styles } from '../../helpers';\nimport { Pressable, View } from '../../primitives';\nimport { Tooltip } from '../Tooltip';\nimport style from './Button.module.css';\n\nconst Button = ({\n busy,\n children,\n disabled,\n large,\n rounded,\n secondary,\n small,\n squared = false,\n tag = 'button',\n transparent = false,\n tooltip,\n wide,\n onPress,\n ...others\n}) =>\n React.createElement(\n tooltip ? Tooltip : React.Fragment,\n tooltip ? { text: tooltip } : undefined,\n React.createElement(\n Pressable,\n {\n ...others,\n disabled: disabled || busy,\n role: others.role || 'button',\n tag,\n onPress,\n className: styles(\n style.button,\n busy && !disabled && style.busy,\n large && style.large,\n small && style.small,\n rounded && style.rounded,\n squared && style.squared,\n secondary && !transparent && !disabled && style.secondary,\n transparent && style.transparent,\n (disabled || busy) && style.disabled,\n wide && style.wide,\n others.className,\n ),\n },\n busy === undefined ? (\n children\n ) : (\n <>\n <View className={styles(style.busyContainer, busy && style.active)}>\n <View className={style.spinner} />\n </View>\n <View row className={style.children}>\n {children}\n </View>\n </>\n ),\n ),\n );\n\nButton.displayName = 'Component:Button';\n\nButton.propTypes = {\n busy: PropTypes.bool,\n children: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n disabled: PropTypes.bool,\n large: PropTypes.bool,\n rounded: PropTypes.bool,\n secondary: PropTypes.bool,\n small: PropTypes.bool,\n squared: PropTypes.bool,\n tag: PropTypes.string,\n tooltip: PropTypes.string,\n transparent: PropTypes.bool,\n wide: PropTypes.bool,\n onEnter: PropTypes.func,\n onLeave: PropTypes.func,\n onPress: PropTypes.func,\n};\n\nexport { Button };\n"],"mappings":"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"}
@@ -23,7 +23,7 @@ button.button:disabled:not(.busy) {
23
23
  color: var(--mirai-ui-button-disabled-color);
24
24
  }
25
25
 
26
- button.button:hover {
26
+ button.button:not(.transparent):hover {
27
27
  color: var(--mirai-ui-button-color);
28
28
  }
29
29
 
@@ -53,6 +53,15 @@ button.secondary.disabled:not(.busy) {
53
53
  box-shadow: none;
54
54
  }
55
55
 
56
+ button.transparent {
57
+ background-color: transparent;
58
+ color: var(--mirai-ui-content);
59
+ }
60
+
61
+ button.transparent:hover {
62
+ background-color: var(--mirai-ui-content-background);
63
+ }
64
+
56
65
  button.rounded {
57
66
  border-radius: var(--mirai-ui-space-XXL);
58
67
  }
@@ -99,7 +108,7 @@ button.button.busy .spinner {
99
108
  color: var(--mirai-ui-button-color-focus);
100
109
  }
101
110
 
102
- .button:not(:disabled):not(.secondary):hover {
111
+ .button:not(:disabled):not(.secondary):not(.transparent):hover {
103
112
  background-color: var(--mirai-ui-button-color-hover);
104
113
  }
105
114
 
@@ -159,6 +168,13 @@ button.button.busy .spinner {
159
168
  background-color: var(--mirai-ui-button-secondary-color-active);
160
169
  }
161
170
 
171
+ .transparent .spinner,
172
+ .transparent .spinner::before,
173
+ .transparent .spinner::after {
174
+ animation-name: mirai-button-transparent-busy;
175
+ background-color: var(--mirai-ui-content-border);
176
+ }
177
+
162
178
  .spinner::before,
163
179
  .spinner::after {
164
180
  content: '';
@@ -188,4 +204,3 @@ button.button.busy .spinner {
188
204
  .squared .spinner::after {
189
205
  left: calc(var(--mirai-ui-space-S) * 0.75);
190
206
  }
191
-
@@ -62,6 +62,7 @@ Story.args = {
62
62
  squared: false,
63
63
  tag: 'button',
64
64
  tooltip: 'tooltip',
65
+ transparent: false,
65
66
  wide: false,
66
67
  // inherited properties
67
68
  testId: 'test-story',
@@ -1 +1 @@
1
- {"version":3,"file":"Button.stories.js","names":["title","Story","busyProp","busy","icon","props","useState","setBusy","ICON","storyName","args","children","disabled","undefined","large","rounded","secondary","small","squared","tag","tooltip","wide","testId","style","marginBottom","argTypes","options","Object","keys","control","type","defaultValue","onEnter","action","onLeave","onPress"],"sources":["../../../src/components/Button/Button.stories.jsx"],"sourcesContent":["/* eslint-disable react/prop-types */\nimport React, { useState } from 'react';\n\nimport { Icon, ICON, View } from '../../';\nimport { Button } from './Button';\n\nexport default { title: 'Components' };\n\nexport const Story = ({ busy: busyProp, icon, ...props }) => {\n const [busy, setBusy] = useState(busyProp);\n\n return (\n <>\n <Button {...{ ...props, busy }} />\n <Button {...{ ...props, busy }}>\n <Icon value={ICON[icon]} />\n </Button>\n\n <View onClick={() => setBusy(!busy)}>Switch busy</View>\n </>\n );\n};\n\nStory.storyName = 'Button';\n\nStory.args = {\n busy: false,\n children: 'children',\n disabled: false,\n icon: undefined,\n large: false,\n rounded: false,\n secondary: false,\n small: false,\n squared: false,\n tag: 'button',\n tooltip: 'tooltip',\n wide: false,\n // inherited properties\n testId: 'test-story',\n style: { marginBottom: 'var(--mirai-ui-space-M)' },\n};\n\nStory.argTypes = {\n icon: {\n options: Object.keys(ICON),\n control: { type: 'select' },\n defaultValue: Object.keys(ICON)[0],\n },\n onEnter: { action: 'onEnter' },\n onLeave: { action: 'onLeave' },\n onPress: { action: 'onPress' },\n};\n"],"mappings":";;;;;;;AACA;AAEA;AACA;AAAkC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAEnB;EAAEA,KAAK,EAAE;AAAa,CAAC;AAAA;AAE/B,IAAMC,KAAK,GAAG,SAARA,KAAK,OAA2C;EAAA,IAA/BC,QAAQ,QAAdC,IAAI;IAAYC,IAAI,QAAJA,IAAI;IAAKC,KAAK;EACpD,gBAAwB,IAAAC,eAAQ,EAACJ,QAAQ,CAAC;IAAA;IAAnCC,IAAI;IAAEI,OAAO;EAEpB,oBACE,yEACE,6BAAC,cAAM,kCAAUF,KAAK;IAAEF,IAAI,EAAJA;EAAI,GAAM,eAClC,6BAAC,cAAM,kCAAUE,KAAK;IAAEF,IAAI,EAAJA;EAAI,iBAC1B,6BAAC,MAAI;IAAC,KAAK,EAAEK,MAAI,CAACJ,IAAI;EAAE,EAAG,CACpB,eAET,6BAAC,MAAI;IAAC,OAAO,EAAE;MAAA,OAAMG,OAAO,CAAC,CAACJ,IAAI,CAAC;IAAA;EAAC,iBAAmB,CACtD;AAEP,CAAC;AAAC;AAEFF,KAAK,CAACQ,SAAS,GAAG,QAAQ;AAE1BR,KAAK,CAACS,IAAI,GAAG;EACXP,IAAI,EAAE,KAAK;EACXQ,QAAQ,EAAE,UAAU;EACpBC,QAAQ,EAAE,KAAK;EACfR,IAAI,EAAES,SAAS;EACfC,KAAK,EAAE,KAAK;EACZC,OAAO,EAAE,KAAK;EACdC,SAAS,EAAE,KAAK;EAChBC,KAAK,EAAE,KAAK;EACZC,OAAO,EAAE,KAAK;EACdC,GAAG,EAAE,QAAQ;EACbC,OAAO,EAAE,SAAS;EAClBC,IAAI,EAAE,KAAK;EACX;EACAC,MAAM,EAAE,YAAY;EACpBC,KAAK,EAAE;IAAEC,YAAY,EAAE;EAA0B;AACnD,CAAC;AAEDvB,KAAK,CAACwB,QAAQ,GAAG;EACfrB,IAAI,EAAE;IACJsB,OAAO,EAAEC,MAAM,CAACC,IAAI,CAACpB,MAAI,CAAC;IAC1BqB,OAAO,EAAE;MAAEC,IAAI,EAAE;IAAS,CAAC;IAC3BC,YAAY,EAAEJ,MAAM,CAACC,IAAI,CAACpB,MAAI,CAAC,CAAC,CAAC;EACnC,CAAC;EACDwB,OAAO,EAAE;IAAEC,MAAM,EAAE;EAAU,CAAC;EAC9BC,OAAO,EAAE;IAAED,MAAM,EAAE;EAAU,CAAC;EAC9BE,OAAO,EAAE;IAAEF,MAAM,EAAE;EAAU;AAC/B,CAAC"}
1
+ {"version":3,"file":"Button.stories.js","names":["title","Story","busyProp","busy","icon","props","useState","setBusy","ICON","storyName","args","children","disabled","undefined","large","rounded","secondary","small","squared","tag","tooltip","transparent","wide","testId","style","marginBottom","argTypes","options","Object","keys","control","type","defaultValue","onEnter","action","onLeave","onPress"],"sources":["../../../src/components/Button/Button.stories.jsx"],"sourcesContent":["/* eslint-disable react/prop-types */\nimport React, { useState } from 'react';\n\nimport { Icon, ICON, View } from '../../';\nimport { Button } from './Button';\n\nexport default { title: 'Components' };\n\nexport const Story = ({ busy: busyProp, icon, ...props }) => {\n const [busy, setBusy] = useState(busyProp);\n\n return (\n <>\n <Button {...{ ...props, busy }} />\n <Button {...{ ...props, busy }}>\n <Icon value={ICON[icon]} />\n </Button>\n\n <View onClick={() => setBusy(!busy)}>Switch busy</View>\n </>\n );\n};\n\nStory.storyName = 'Button';\n\nStory.args = {\n busy: false,\n children: 'children',\n disabled: false,\n icon: undefined,\n large: false,\n rounded: false,\n secondary: false,\n small: false,\n squared: false,\n tag: 'button',\n tooltip: 'tooltip',\n transparent: false,\n wide: false,\n // inherited properties\n testId: 'test-story',\n style: { marginBottom: 'var(--mirai-ui-space-M)' },\n};\n\nStory.argTypes = {\n icon: {\n options: Object.keys(ICON),\n control: { type: 'select' },\n defaultValue: Object.keys(ICON)[0],\n },\n onEnter: { action: 'onEnter' },\n onLeave: { action: 'onLeave' },\n onPress: { action: 'onPress' },\n};\n"],"mappings":";;;;;;;AACA;AAEA;AACA;AAAkC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAEnB;EAAEA,KAAK,EAAE;AAAa,CAAC;AAAA;AAE/B,IAAMC,KAAK,GAAG,SAARA,KAAK,OAA2C;EAAA,IAA/BC,QAAQ,QAAdC,IAAI;IAAYC,IAAI,QAAJA,IAAI;IAAKC,KAAK;EACpD,gBAAwB,IAAAC,eAAQ,EAACJ,QAAQ,CAAC;IAAA;IAAnCC,IAAI;IAAEI,OAAO;EAEpB,oBACE,yEACE,6BAAC,cAAM,kCAAUF,KAAK;IAAEF,IAAI,EAAJA;EAAI,GAAM,eAClC,6BAAC,cAAM,kCAAUE,KAAK;IAAEF,IAAI,EAAJA;EAAI,iBAC1B,6BAAC,MAAI;IAAC,KAAK,EAAEK,MAAI,CAACJ,IAAI;EAAE,EAAG,CACpB,eAET,6BAAC,MAAI;IAAC,OAAO,EAAE;MAAA,OAAMG,OAAO,CAAC,CAACJ,IAAI,CAAC;IAAA;EAAC,iBAAmB,CACtD;AAEP,CAAC;AAAC;AAEFF,KAAK,CAACQ,SAAS,GAAG,QAAQ;AAE1BR,KAAK,CAACS,IAAI,GAAG;EACXP,IAAI,EAAE,KAAK;EACXQ,QAAQ,EAAE,UAAU;EACpBC,QAAQ,EAAE,KAAK;EACfR,IAAI,EAAES,SAAS;EACfC,KAAK,EAAE,KAAK;EACZC,OAAO,EAAE,KAAK;EACdC,SAAS,EAAE,KAAK;EAChBC,KAAK,EAAE,KAAK;EACZC,OAAO,EAAE,KAAK;EACdC,GAAG,EAAE,QAAQ;EACbC,OAAO,EAAE,SAAS;EAClBC,WAAW,EAAE,KAAK;EAClBC,IAAI,EAAE,KAAK;EACX;EACAC,MAAM,EAAE,YAAY;EACpBC,KAAK,EAAE;IAAEC,YAAY,EAAE;EAA0B;AACnD,CAAC;AAEDxB,KAAK,CAACyB,QAAQ,GAAG;EACftB,IAAI,EAAE;IACJuB,OAAO,EAAEC,MAAM,CAACC,IAAI,CAACrB,MAAI,CAAC;IAC1BsB,OAAO,EAAE;MAAEC,IAAI,EAAE;IAAS,CAAC;IAC3BC,YAAY,EAAEJ,MAAM,CAACC,IAAI,CAACrB,MAAI,CAAC,CAAC,CAAC;EACnC,CAAC;EACDyB,OAAO,EAAE;IAAEC,MAAM,EAAE;EAAU,CAAC;EAC9BC,OAAO,EAAE;IAAED,MAAM,EAAE;EAAU,CAAC;EAC9BE,OAAO,EAAE;IAAEF,MAAM,EAAE;EAAU;AAC/B,CAAC"}
@@ -75,6 +75,28 @@ exports[`component:<Button> prop:secondary && prop:busy 1`] = `
75
75
  </DocumentFragment>
76
76
  `;
77
77
 
78
+ exports[`component:<Button> prop:secondary && prop:busy 2`] = `
79
+ <DocumentFragment>
80
+ <button
81
+ class="pressable disabled button busy transparent disabled"
82
+ disabled=""
83
+ >
84
+ <div
85
+ class="view busyContainer active"
86
+ >
87
+ <div
88
+ class="view spinner"
89
+ />
90
+ </div>
91
+ <div
92
+ class="view row children"
93
+ >
94
+ children
95
+ </div>
96
+ </button>
97
+ </DocumentFragment>
98
+ `;
99
+
78
100
  exports[`component:<Button> prop:secondary 1`] = `
79
101
  <DocumentFragment>
80
102
  <button
@@ -127,6 +149,16 @@ exports[`component:<Button> prop:tooltip 1`] = `
127
149
  </DocumentFragment>
128
150
  `;
129
151
 
152
+ exports[`component:<Button> prop:transparent 1`] = `
153
+ <DocumentFragment>
154
+ <button
155
+ class="pressable button transparent"
156
+ >
157
+ children
158
+ </button>
159
+ </DocumentFragment>
160
+ `;
161
+
130
162
  exports[`component:<Button> prop:wide 1`] = `
131
163
  <DocumentFragment>
132
164
  <button
@@ -47,7 +47,7 @@ var Month = function Month(_ref) {
47
47
  onPrevious = _ref.onPrevious,
48
48
  others = _objectWithoutProperties(_ref, _excluded);
49
49
  var _useDevice = (0, _hooks.useDevice)(),
50
- isDesktop = _useDevice.isDesktop;
50
+ isMobile = _useDevice.isMobile;
51
51
  var direction = _theme.Theme.getDirection();
52
52
  var weekNumber = (0, _helpers2.getWeekNumber)(instance);
53
53
  var testId = others.testId;
@@ -71,7 +71,7 @@ var Month = function Month(_ref) {
71
71
  testId: testId ? "".concat(testId, "-next") : undefined
72
72
  }, /*#__PURE__*/_react.default.createElement(_primitives.Icon, {
73
73
  value: direction === LEFT ? _primitives.ICON.RIGHT : _primitives.ICON.LEFT
74
- }))), isDesktop && /*#__PURE__*/_react.default.createElement(_Calendar3.Weekdays, {
74
+ }))), !isMobile && /*#__PURE__*/_react.default.createElement(_Calendar3.Weekdays, {
75
75
  locale: locale
76
76
  }), _Calendar.VISIBLE_WEEKS.map(function (week) {
77
77
  return /*#__PURE__*/_react.default.createElement(_Calendar2.Week, _extends({}, _objectSpread(_objectSpread({}, others), {}, {
@@ -1 +1 @@
1
- {"version":3,"file":"Calendar.Month.js","names":["LEFT","DIRECTION_TYPE","Month","focus","instance","selected","disabledPast","format","from","locale","range","timestamp","to","onChange","onFocus","onNext","onPrevious","others","useDevice","isDesktop","direction","Theme","getDirection","weekNumber","getWeekNumber","testId","styles","style","month","className","header","undefined","ICON","RIGHT","title","getHeader","VISIBLE_WEEKS","map","week","getMonth","getFullYear","displayName","propTypes","captions","PropTypes","shape","any","disabledDates","arrayOf","string","bool","instanceOf","Date","number","tooltips","value","oneOfType","func"],"sources":["../../../src/components/Calendar/Calendar.Month.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { styles } from '../../helpers';\nimport { useDevice } from '../../hooks';\nimport { Icon, ICON, Pressable, Text, View } from '../../primitives';\nimport { DIRECTION_TYPE, Theme } from '../../theme';\nimport { VISIBLE_WEEKS } from './Calendar.constants';\nimport style from './Calendar.module.css';\nimport { Week } from './Calendar.Week';\nimport { Weekdays } from './Calendar.Weekdays';\nimport { getHeader, getWeekNumber } from './helpers';\n\nconst { LEFT } = DIRECTION_TYPE;\n\nexport const Month = ({\n focus,\n instance,\n selected,\n disabledPast,\n format,\n from,\n locale,\n range = false,\n timestamp,\n to,\n onChange = () => {},\n onFocus = () => {},\n onNext,\n onPrevious,\n ...others\n}) => {\n const { isDesktop } = useDevice();\n\n const direction = Theme.getDirection();\n const weekNumber = getWeekNumber(instance);\n const { testId } = others;\n\n return (\n <View className={styles(style.month, others.className)}>\n <View forceRow className={style.header}>\n {onPrevious && (\n <Pressable onPress={onPrevious} testId={testId ? `${testId}-previous` : undefined}>\n <Icon value={direction === LEFT ? ICON.LEFT : ICON.RIGHT} />\n </Pressable>\n )}\n <Text bold headline level={4} className={style.title}>\n {getHeader(instance, locale)}\n </Text>\n {onNext && (\n <Pressable onPress={onNext} testId={testId ? `${testId}-next` : undefined}>\n <Icon value={direction === LEFT ? ICON.RIGHT : ICON.LEFT} />\n </Pressable>\n )}\n </View>\n\n {isDesktop && <Weekdays locale={locale} />}\n\n {VISIBLE_WEEKS.map((week) => (\n <Week\n {...{\n ...others,\n disabledPast,\n focus,\n format,\n from,\n locale,\n range,\n selected,\n timestamp,\n to,\n }}\n key={week}\n month={instance.getMonth()}\n number={weekNumber + week}\n year={instance.getFullYear()}\n onFocus={onFocus}\n onPress={onChange}\n />\n ))}\n </View>\n );\n};\n\nMonth.displayName = 'Component:Calendar:Month';\n\nMonth.propTypes = {\n captions: PropTypes.shape({}),\n focus: PropTypes.any,\n instance: PropTypes.any,\n selected: PropTypes.any,\n disabledDates: PropTypes.arrayOf(PropTypes.string),\n disabledPast: PropTypes.bool,\n format: PropTypes.string,\n from: PropTypes.instanceOf(Date),\n locale: PropTypes.string,\n range: PropTypes.bool,\n timestamp: PropTypes.number,\n to: PropTypes.instanceOf(Date),\n tooltips: PropTypes.shape({}),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),\n onChange: PropTypes.func,\n onFocus: PropTypes.func,\n onNext: PropTypes.func,\n onPrevious: PropTypes.func,\n};\n"],"mappings":";;;;;;;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAqD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAErD,IAAQA,IAAI,GAAKC,qBAAc,CAAvBD,IAAI;AAEL,IAAME,KAAK,GAAG,SAARA,KAAK,OAgBZ;EAAA,IAfJC,KAAK,QAALA,KAAK;IACLC,QAAQ,QAARA,QAAQ;IACRC,QAAQ,QAARA,QAAQ;IACRC,YAAY,QAAZA,YAAY;IACZC,MAAM,QAANA,MAAM;IACNC,IAAI,QAAJA,IAAI;IACJC,MAAM,QAANA,MAAM;IAAA,kBACNC,KAAK;IAALA,KAAK,2BAAG,KAAK;IACbC,SAAS,QAATA,SAAS;IACTC,EAAE,QAAFA,EAAE;IAAA,qBACFC,QAAQ;IAARA,QAAQ,8BAAG,YAAM,CAAC,CAAC;IAAA,oBACnBC,OAAO;IAAPA,OAAO,6BAAG,YAAM,CAAC,CAAC;IAClBC,MAAM,QAANA,MAAM;IACNC,UAAU,QAAVA,UAAU;IACPC,MAAM;EAET,iBAAsB,IAAAC,gBAAS,GAAE;IAAzBC,SAAS,cAATA,SAAS;EAEjB,IAAMC,SAAS,GAAGC,YAAK,CAACC,YAAY,EAAE;EACtC,IAAMC,UAAU,GAAG,IAAAC,uBAAa,EAACpB,QAAQ,CAAC;EAC1C,IAAQqB,MAAM,GAAKR,MAAM,CAAjBQ,MAAM;EAEd,oBACE,6BAAC,gBAAI;IAAC,SAAS,EAAE,IAAAC,eAAM,EAACC,uBAAK,CAACC,KAAK,EAAEX,MAAM,CAACY,SAAS;EAAE,gBACrD,6BAAC,gBAAI;IAAC,QAAQ;IAAC,SAAS,EAAEF,uBAAK,CAACG;EAAO,GACpCd,UAAU,iBACT,6BAAC,qBAAS;IAAC,OAAO,EAAEA,UAAW;IAAC,MAAM,EAAES,MAAM,aAAMA,MAAM,iBAAcM;EAAU,gBAChF,6BAAC,gBAAI;IAAC,KAAK,EAAEX,SAAS,KAAKpB,IAAI,GAAGgC,gBAAI,CAAChC,IAAI,GAAGgC,gBAAI,CAACC;EAAM,EAAG,CAE/D,eACD,6BAAC,gBAAI;IAAC,IAAI;IAAC,QAAQ;IAAC,KAAK,EAAE,CAAE;IAAC,SAAS,EAAEN,uBAAK,CAACO;EAAM,GAClD,IAAAC,mBAAS,EAAC/B,QAAQ,EAAEK,MAAM,CAAC,CACvB,EACNM,MAAM,iBACL,6BAAC,qBAAS;IAAC,OAAO,EAAEA,MAAO;IAAC,MAAM,EAAEU,MAAM,aAAMA,MAAM,aAAUM;EAAU,gBACxE,6BAAC,gBAAI;IAAC,KAAK,EAAEX,SAAS,KAAKpB,IAAI,GAAGgC,gBAAI,CAACC,KAAK,GAAGD,gBAAI,CAAChC;EAAK,EAAG,CAE/D,CACI,EAENmB,SAAS,iBAAI,6BAAC,mBAAQ;IAAC,MAAM,EAAEV;EAAO,EAAG,EAEzC2B,uBAAa,CAACC,GAAG,CAAC,UAACC,IAAI;IAAA,oBACtB,6BAAC,eAAI,+CAEErB,MAAM;MACTX,YAAY,EAAZA,YAAY;MACZH,KAAK,EAALA,KAAK;MACLI,MAAM,EAANA,MAAM;MACNC,IAAI,EAAJA,IAAI;MACJC,MAAM,EAANA,MAAM;MACNC,KAAK,EAALA,KAAK;MACLL,QAAQ,EAARA,QAAQ;MACRM,SAAS,EAATA,SAAS;MACTC,EAAE,EAAFA;IAAE;MAEJ,GAAG,EAAE0B,IAAK;MACV,KAAK,EAAElC,QAAQ,CAACmC,QAAQ,EAAG;MAC3B,MAAM,EAAEhB,UAAU,GAAGe,IAAK;MAC1B,IAAI,EAAElC,QAAQ,CAACoC,WAAW,EAAG;MAC7B,OAAO,EAAE1B,OAAQ;MACjB,OAAO,EAAED;IAAS,GAClB;EAAA,CACH,CAAC,CACG;AAEX,CAAC;AAAC;AAEFX,KAAK,CAACuC,WAAW,GAAG,0BAA0B;AAE9CvC,KAAK,CAACwC,SAAS,GAAG;EAChBC,QAAQ,EAAEC,kBAAS,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC;EAC7B1C,KAAK,EAAEyC,kBAAS,CAACE,GAAG;EACpB1C,QAAQ,EAAEwC,kBAAS,CAACE,GAAG;EACvBzC,QAAQ,EAAEuC,kBAAS,CAACE,GAAG;EACvBC,aAAa,EAAEH,kBAAS,CAACI,OAAO,CAACJ,kBAAS,CAACK,MAAM,CAAC;EAClD3C,YAAY,EAAEsC,kBAAS,CAACM,IAAI;EAC5B3C,MAAM,EAAEqC,kBAAS,CAACK,MAAM;EACxBzC,IAAI,EAAEoC,kBAAS,CAACO,UAAU,CAACC,IAAI,CAAC;EAChC3C,MAAM,EAAEmC,kBAAS,CAACK,MAAM;EACxBvC,KAAK,EAAEkC,kBAAS,CAACM,IAAI;EACrBvC,SAAS,EAAEiC,kBAAS,CAACS,MAAM;EAC3BzC,EAAE,EAAEgC,kBAAS,CAACO,UAAU,CAACC,IAAI,CAAC;EAC9BE,QAAQ,EAAEV,kBAAS,CAACC,KAAK,CAAC,CAAC,CAAC,CAAC;EAC7BU,KAAK,EAAEX,kBAAS,CAACY,SAAS,CAAC,CAACZ,kBAAS,CAACK,MAAM,EAAEL,kBAAS,CAACI,OAAO,CAACJ,kBAAS,CAACK,MAAM,CAAC,CAAC,CAAC;EACnFpC,QAAQ,EAAE+B,kBAAS,CAACa,IAAI;EACxB3C,OAAO,EAAE8B,kBAAS,CAACa,IAAI;EACvB1C,MAAM,EAAE6B,kBAAS,CAACa,IAAI;EACtBzC,UAAU,EAAE4B,kBAAS,CAACa;AACxB,CAAC"}
1
+ {"version":3,"file":"Calendar.Month.js","names":["LEFT","DIRECTION_TYPE","Month","focus","instance","selected","disabledPast","format","from","locale","range","timestamp","to","onChange","onFocus","onNext","onPrevious","others","useDevice","isMobile","direction","Theme","getDirection","weekNumber","getWeekNumber","testId","styles","style","month","className","header","undefined","ICON","RIGHT","title","getHeader","VISIBLE_WEEKS","map","week","getMonth","getFullYear","displayName","propTypes","captions","PropTypes","shape","any","disabledDates","arrayOf","string","bool","instanceOf","Date","number","tooltips","value","oneOfType","func"],"sources":["../../../src/components/Calendar/Calendar.Month.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { styles } from '../../helpers';\nimport { useDevice } from '../../hooks';\nimport { Icon, ICON, Pressable, Text, View } from '../../primitives';\nimport { DIRECTION_TYPE, Theme } from '../../theme';\nimport { VISIBLE_WEEKS } from './Calendar.constants';\nimport style from './Calendar.module.css';\nimport { Week } from './Calendar.Week';\nimport { Weekdays } from './Calendar.Weekdays';\nimport { getHeader, getWeekNumber } from './helpers';\n\nconst { LEFT } = DIRECTION_TYPE;\n\nexport const Month = ({\n focus,\n instance,\n selected,\n disabledPast,\n format,\n from,\n locale,\n range = false,\n timestamp,\n to,\n onChange = () => {},\n onFocus = () => {},\n onNext,\n onPrevious,\n ...others\n}) => {\n const { isMobile } = useDevice();\n\n const direction = Theme.getDirection();\n const weekNumber = getWeekNumber(instance);\n const { testId } = others;\n\n return (\n <View className={styles(style.month, others.className)}>\n <View forceRow className={style.header}>\n {onPrevious && (\n <Pressable onPress={onPrevious} testId={testId ? `${testId}-previous` : undefined}>\n <Icon value={direction === LEFT ? ICON.LEFT : ICON.RIGHT} />\n </Pressable>\n )}\n <Text bold headline level={4} className={style.title}>\n {getHeader(instance, locale)}\n </Text>\n {onNext && (\n <Pressable onPress={onNext} testId={testId ? `${testId}-next` : undefined}>\n <Icon value={direction === LEFT ? ICON.RIGHT : ICON.LEFT} />\n </Pressable>\n )}\n </View>\n\n {!isMobile && <Weekdays locale={locale} />}\n\n {VISIBLE_WEEKS.map((week) => (\n <Week\n {...{\n ...others,\n disabledPast,\n focus,\n format,\n from,\n locale,\n range,\n selected,\n timestamp,\n to,\n }}\n key={week}\n month={instance.getMonth()}\n number={weekNumber + week}\n year={instance.getFullYear()}\n onFocus={onFocus}\n onPress={onChange}\n />\n ))}\n </View>\n );\n};\n\nMonth.displayName = 'Component:Calendar:Month';\n\nMonth.propTypes = {\n captions: PropTypes.shape({}),\n focus: PropTypes.any,\n instance: PropTypes.any,\n selected: PropTypes.any,\n disabledDates: PropTypes.arrayOf(PropTypes.string),\n disabledPast: PropTypes.bool,\n format: PropTypes.string,\n from: PropTypes.instanceOf(Date),\n locale: PropTypes.string,\n range: PropTypes.bool,\n timestamp: PropTypes.number,\n to: PropTypes.instanceOf(Date),\n tooltips: PropTypes.shape({}),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),\n onChange: PropTypes.func,\n onFocus: PropTypes.func,\n onNext: PropTypes.func,\n onPrevious: PropTypes.func,\n};\n"],"mappings":"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"}
@@ -141,7 +141,7 @@ var Week = function Week(_ref) {
141
141
  className: textStyle
142
142
  }, date.getDate()), captions && /*#__PURE__*/_react.default.createElement(_primitives.Text, {
143
143
  small: true,
144
- className: (0, _helpers.styles)(textStyle, _CalendarModule.default.caption, !is.highlight && !is.selected && !is.rangeLimit && _CalendarModule.default.color, (!captions[dateString] && !is.rangeLimit || is.disabled) && _CalendarModule.default.empty)
144
+ className: (0, _helpers.styles)(textStyle, _CalendarModule.default.caption, disabledPast && dateTS < todayTS && _CalendarModule.default.hide, !is.disabled && !is.highlight && !is.selected && !is.rangeLimit && !is.range && _CalendarModule.default.color)
145
145
  }, captions[dateString] || '-'))));
146
146
  }));
147
147
  };
@@ -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","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, { 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 small\n className={styles(\n textStyle,\n style.caption,\n !is.highlight && !is.selected && !is.rangeLimit && style.color,\n ((!captions[dateString] && !is.rangeLimit) || is.disabled) && style.empty,\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","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 small\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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"}
@@ -58,7 +58,6 @@ var Calendar = function Calendar(_ref) {
58
58
  onScroll = _ref$onScroll === void 0 ? function () {} : _ref$onScroll,
59
59
  others = _objectWithoutProperties(_ref, _excluded);
60
60
  var _useDevice = (0, _hooks.useDevice)(),
61
- isDesktop = _useDevice.isDesktop,
62
61
  isMobile = _useDevice.isMobile;
63
62
  var _useState = (0, _react.useState)(),
64
63
  _useState2 = _slicedToArray(_useState, 2),
@@ -98,7 +97,7 @@ var Calendar = function Calendar(_ref) {
98
97
  var next = (0, _helpers2.getFirstDateOfMonth)(date);
99
98
  var _dateDiff2 = (0, _locale.dateDiff)(instance, date),
100
99
  diffMonths = _dateDiff2.months;
101
- if (isDesktop && (diffMonths >= months || diffMonths < 0)) setInstance(next);else if (isMobile) {
100
+ if (!isMobile && (diffMonths >= months || diffMonths < 0)) setInstance(next);else if (isMobile) {
102
101
  autoScroll && setScrollTo((0, _helpers2.getScrollTo)(diffMonths));
103
102
  setScrolling(false);
104
103
  }
@@ -166,7 +165,7 @@ var Calendar = function Calendar(_ref) {
166
165
  to: range && rangeMaxDays && selected[0] && !selected[1] && (!to || (0, _locale.dateCalc)(selected[0], rangeMaxDays, 'days') < (0, _locale.parseDate)(to, format)) ? (0, _locale.dateCalc)(selected[0], rangeMaxDays, 'days') : to ? (0, _locale.parseDate)(to, format) : undefined,
167
166
  tooltips: !isMobile || !scrolling ? props.tooltips : {},
168
167
  onChange: handleChange,
169
- onFocus: isDesktop ? setFocus : undefined
168
+ onFocus: !isMobile ? setFocus : undefined
170
169
  });
171
170
  if (isMobile && to) months = (0, _locale.dateDiff)(today, (0, _locale.parseDate)(to, format)).months + 1;
172
171
  return /*#__PURE__*/_react.default.createElement(_primitives.View, {
@@ -175,7 +174,7 @@ var Calendar = function Calendar(_ref) {
175
174
  }, isMobile && /*#__PURE__*/_react.default.createElement(_Calendar2.Weekdays, {
176
175
  locale: locale
177
176
  }), /*#__PURE__*/_react.default.createElement(_primitives.ScrollView, {
178
- horizontal: isDesktop,
177
+ horizontal: !isMobile,
179
178
  scrollTo: scrollTo,
180
179
  className: _CalendarModule.default.scrollview,
181
180
  scrollEventThrottle: scrollEventThrottle,
@@ -186,10 +185,10 @@ var Calendar = function Calendar(_ref) {
186
185
  return /*#__PURE__*/_react.default.createElement(_Calendar.Month, _extends({
187
186
  testId: testId,
188
187
  key: index,
189
- onNext: isDesktop && index === months - 1 && !disabledNext ? function () {
188
+ onNext: !isMobile && index === months - 1 && !disabledNext ? function () {
190
189
  return handleMonth(months);
191
190
  } : undefined,
192
- onPrevious: isDesktop && index === 0 && !disabledPrevious ? function () {
191
+ onPrevious: !isMobile && index === 0 && !disabledPrevious ? function () {
193
192
  return handleMonth(-months);
194
193
  } : undefined,
195
194
  instance: new Date(instance.getFullYear(), instance.getMonth() + index, 1) // ! TODO: calc with mirai/locale
@@ -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","role","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 { 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: !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)} 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 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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"}
1
+ {"version":3,"file":"Calendar.js","names":["Calendar","autoScroll","disabledPast","format","from","locale","range","rangeMaxDays","to","value","onChange","onFocus","onNavigation","onScroll","others","useDevice","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","role","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 { 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 (!isMobile && (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 { 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: !isMobile || !scrolling ? props.tooltips : {},\n onChange: handleChange,\n onFocus: !isMobile ? 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)} testId={testId}>\n {isMobile && <Weekdays locale={locale} />}\n <ScrollView\n horizontal={!isMobile}\n scrollTo={scrollTo}\n className={style.scrollview}\n scrollEventThrottle={scrollEventThrottle}\n onScroll={handleScroll}\n >\n {Array.from({ length: months }, (empty, index) => (\n <Month\n testId={testId}\n key={index}\n onNext={!isMobile && index === months - 1 && !disabledNext ? () => handleMonth(months) : undefined}\n onPrevious={!isMobile && 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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"}
@@ -23,7 +23,7 @@
23
23
  .cell {
24
24
  flex: 1;
25
25
  text-align: center;
26
- overflow: hidden;
26
+ overflow: visible;
27
27
  }
28
28
 
29
29
  .cell:not(.weekday) {
@@ -52,9 +52,13 @@
52
52
  }
53
53
 
54
54
  .daySelectedStart {
55
+ border-bottom-left-radius: var(--mirai-ui-calendar-cell-border-radius);
56
+ border-top-left-radius: var(--mirai-ui-calendar-cell-border-radius);
55
57
  }
56
58
 
57
59
  .daySelectedEnd {
60
+ border-bottom-right-radius: var(--mirai-ui-calendar-cell-border-radius);
61
+ border-top-right-radius: var(--mirai-ui-calendar-cell-border-radius);
58
62
  }
59
63
 
60
64
  .textDisabled {
@@ -83,15 +87,11 @@
83
87
  color: var(--mirai-ui-calendar-caption-color);
84
88
  }
85
89
 
86
- .caption.empty {
87
- color: var(--mirai-ui-content);
88
- }
89
-
90
- .caption.textHighlight {
91
- color: var(--mirai-ui-calendar-highlight-color);
90
+ .caption.hide {
91
+ color: transparent;
92
92
  }
93
93
 
94
- @media only screen and (max-width: 768px) {
94
+ @media only screen and (max-width: 430px) {
95
95
  .container {
96
96
  max-height: calc(var(--mirai-ui-calendar-cell) * 9.75);
97
97
  }
@@ -112,7 +112,7 @@
112
112
  }
113
113
  }
114
114
 
115
- @media only screen and (min-width: 768px) {
115
+ @media only screen and (min-width: 431px) {
116
116
  .dayTouchable:hover {
117
117
  background-color: var(--mirai-ui-calendar-selected-background);
118
118
  }
@@ -132,8 +132,7 @@
132
132
  }
133
133
 
134
134
  /* -- reset defaults -------------------------------------------------------- */
135
-
136
135
  .month h4.title {
137
136
  font-size: var(--mirai-ui-font-size-headline-4);
138
137
  margin: 0;
139
- }
138
+ }
@@ -124,7 +124,7 @@ Story.args = {
124
124
  }), (0, _locale.dateFormat)((0, _locale.dateCalc)(today, 16, 'days'), {
125
125
  format: format
126
126
  })],
127
- locale: 'es-ES',
127
+ locale: 'en-US',
128
128
  months: 2,
129
129
  range: true,
130
130
  rangeMaxDays: 30,
@@ -164,7 +164,7 @@ Story.args = {
164
164
  };
165
165
  Story.argTypes = {
166
166
  locale: {
167
- options: ['es-ES', 'en-GB', 'fr-FR', 'it-IT', 'pt-PT', 'fr-BE', 'de-DE', 'ja-JA'],
167
+ options: ['es-ES', 'en-GB', 'en-US', 'fr-FR', 'it-IT', 'pt-PT', 'fr-BE', 'de-DE', 'ja-JA'],
168
168
  control: {
169
169
  type: 'select'
170
170
  },