cozy-ui 114.0.0 → 115.0.0
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/.bundlemonrc +1 -2
- package/CHANGELOG.md +21 -0
- package/package.json +2 -2
- package/react/BarContextProvider/index.spec.jsx +1 -1
- package/react/DateMonthPicker/index.jsx +3 -3
- package/react/FilePicker/FilePickerBodyItem.jsx +1 -1
- package/react/ListItem/ListItemFile/SecondaryText.jsx +1 -1
- package/react/index.js +2 -2
- package/react/providers/I18n/format.jsx +8 -5
- package/react/providers/I18n/index.spec.jsx +1 -1
- package/transpiled/react/DateMonthPicker/index.js +3 -3
- package/transpiled/react/FilePicker/FilePickerBodyItem.js +1 -1
- package/transpiled/react/ListItem/ListItemFile/SecondaryText.js +1 -1
- package/transpiled/react/index.js +2 -2
- package/transpiled/react/providers/I18n/format.js +12 -4
package/.bundlemonrc
CHANGED
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,24 @@
|
|
|
1
|
+
# [115.0.0](https://github.com/cozy/cozy-ui/compare/v114.0.1...v115.0.0) (2024-12-19)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Features
|
|
5
|
+
|
|
6
|
+
* Upgrade date-fns to 2.30.0 ([a89c524](https://github.com/cozy/cozy-ui/commit/a89c524))
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### BREAKING CHANGES
|
|
10
|
+
|
|
11
|
+
* The date formatting function (`f` from `useI18n`) changes,
|
|
12
|
+
please refer to this doc.
|
|
13
|
+
https://date-fns.org/v2.30.0/docs/format
|
|
14
|
+
|
|
15
|
+
## [114.0.1](https://github.com/cozy/cozy-ui/compare/v114.0.0...v114.0.1) (2024-12-16)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
### Bug Fixes
|
|
19
|
+
|
|
20
|
+
* **Export:** Wasn't good for Alert and I18n ([4770b0a](https://github.com/cozy/cozy-ui/commit/4770b0a))
|
|
21
|
+
|
|
1
22
|
# [114.0.0](https://github.com/cozy/cozy-ui/compare/v113.9.0...v114.0.0) (2024-12-12)
|
|
2
23
|
|
|
3
24
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cozy-ui",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "115.0.0",
|
|
4
4
|
"description": "Cozy apps UI SDK",
|
|
5
5
|
"main": "./index.js",
|
|
6
6
|
"bin": {
|
|
@@ -162,7 +162,7 @@
|
|
|
162
162
|
"chart.js": "3.7.1",
|
|
163
163
|
"classnames": "^2.2.5",
|
|
164
164
|
"cozy-interapp": "^0.5.4",
|
|
165
|
-
"date-fns": "
|
|
165
|
+
"date-fns": "2.30.0",
|
|
166
166
|
"filesize": "8.0.7",
|
|
167
167
|
"hammerjs": "^2.0.8",
|
|
168
168
|
"intersection-observer": "0.11.0",
|
|
@@ -26,7 +26,7 @@ const MonthButton = ({ monthNum, onClick, isSelected }) => {
|
|
|
26
26
|
)}
|
|
27
27
|
onClick={handleClick}
|
|
28
28
|
>
|
|
29
|
-
{f(d, '
|
|
29
|
+
{f(d, 'LLL')}
|
|
30
30
|
</button>
|
|
31
31
|
)
|
|
32
32
|
}
|
|
@@ -50,7 +50,7 @@ const DateMonthPicker = ({ initialValue, onSelect }) => {
|
|
|
50
50
|
|
|
51
51
|
const handleClickMonth = month => {
|
|
52
52
|
const d = new Date(year, month, 1)
|
|
53
|
-
onSelect(format(d, '
|
|
53
|
+
onSelect(format(d, 'yyyy-LL-dd'))
|
|
54
54
|
}
|
|
55
55
|
return (
|
|
56
56
|
<div>
|
|
@@ -93,7 +93,7 @@ const dateMonthProp = function (props, propName, componentName) {
|
|
|
93
93
|
'` supplied to' +
|
|
94
94
|
' `' +
|
|
95
95
|
componentName +
|
|
96
|
-
'`. Should be in the form
|
|
96
|
+
'`. Should be in the form yyyy-LL.'
|
|
97
97
|
)
|
|
98
98
|
}
|
|
99
99
|
}
|
|
@@ -51,7 +51,7 @@ const FilePickerBodyItem = ({
|
|
|
51
51
|
const Input = multiple ? Checkbox : Radio
|
|
52
52
|
|
|
53
53
|
const listItemSecondaryContent = isFile(item)
|
|
54
|
-
? `${f(item.updated_at, '
|
|
54
|
+
? `${f(item.updated_at, 'dd LLL yyyy')} - ${filesize(item.size, {
|
|
55
55
|
base: 10
|
|
56
56
|
})}`
|
|
57
57
|
: null
|
package/react/index.js
CHANGED
|
@@ -6,7 +6,7 @@ export { default as Banner } from './Banner'
|
|
|
6
6
|
export { default as ButtonAction } from './deprecated/ButtonAction'
|
|
7
7
|
export { default as BottomDrawer } from './deprecated/BottomDrawer'
|
|
8
8
|
export { default as BarButton } from './BarButton'
|
|
9
|
-
export { default as I18n, translate, useI18n } from './I18n'
|
|
9
|
+
export { default as I18n, translate, useI18n } from './providers/I18n'
|
|
10
10
|
export { default as Icon } from './Icon'
|
|
11
11
|
export { default as Sprite } from './Icon/Sprite'
|
|
12
12
|
export { default as Sidebar } from './Sidebar'
|
|
@@ -134,7 +134,7 @@ export { default as TimelineDot } from './TimelineDot'
|
|
|
134
134
|
export { default as TimelineItem } from './TimelineItem'
|
|
135
135
|
export { default as TimelineOppositeContent } from './TimelineOppositeContent'
|
|
136
136
|
export { default as TimelineSeparator } from './TimelineSeparator'
|
|
137
|
-
export { default as AlertProvider, useAlert } from './Alert'
|
|
137
|
+
export { default as AlertProvider, useAlert } from './providers/Alert'
|
|
138
138
|
export { default as Modal } from './Modal'
|
|
139
139
|
export { ListSkeleton, ListItemSkeleton } from './Skeletons'
|
|
140
140
|
export { default as ActionsBar } from './ActionsBar'
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import distanceInWordsToNow from 'date-fns/distance_in_words_to_now'
|
|
2
1
|
import format from 'date-fns/format'
|
|
2
|
+
import formatDistanceToNow from 'date-fns/formatDistanceToNow'
|
|
3
3
|
|
|
4
4
|
import { DEFAULT_LANG } from '.'
|
|
5
5
|
|
|
@@ -29,10 +29,13 @@ export const provideDateFnsLocale = (userLang, defaultLang = DEFAULT_LANG) => {
|
|
|
29
29
|
|
|
30
30
|
export const initFormat =
|
|
31
31
|
(userLang, defaultLang = DEFAULT_LANG) =>
|
|
32
|
-
(date, formatStr) => {
|
|
32
|
+
(date, formatStr, opts = {}) => {
|
|
33
33
|
const locale = provideDateFnsLocale(userLang, defaultLang)
|
|
34
|
-
|
|
34
|
+
const ensureDate = date && typeof date === 'string' ? new Date(date) : date
|
|
35
|
+
|
|
36
|
+
return format(ensureDate, formatStr, { locale, ...opts })
|
|
35
37
|
}
|
|
36
38
|
|
|
37
|
-
export const formatLocallyDistanceToNow = date =>
|
|
38
|
-
|
|
39
|
+
export const formatLocallyDistanceToNow = date => {
|
|
40
|
+
return formatDistanceToNow(date, { locale: locales[lang] })
|
|
41
|
+
}
|
|
@@ -36,7 +36,7 @@ var MonthButton = function MonthButton(_ref) {
|
|
|
36
36
|
return /*#__PURE__*/React.createElement("button", {
|
|
37
37
|
className: cx(styles.DateMonthPicker__MonthButton, isSelected ? styles['DateMonthPicker__MonthButton--selected'] : null),
|
|
38
38
|
onClick: handleClick
|
|
39
|
-
}, f(d, '
|
|
39
|
+
}, f(d, 'LLL'));
|
|
40
40
|
};
|
|
41
41
|
|
|
42
42
|
var useCounter = function useCounter(initialValue, min, max) {
|
|
@@ -75,7 +75,7 @@ var DateMonthPicker = function DateMonthPicker(_ref2) {
|
|
|
75
75
|
|
|
76
76
|
var handleClickMonth = function handleClickMonth(month) {
|
|
77
77
|
var d = new Date(year, month, 1);
|
|
78
|
-
onSelect(format(d, '
|
|
78
|
+
onSelect(format(d, 'yyyy-LL-dd'));
|
|
79
79
|
};
|
|
80
80
|
|
|
81
81
|
return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", {
|
|
@@ -108,7 +108,7 @@ var DateMonthPicker = function DateMonthPicker(_ref2) {
|
|
|
108
108
|
|
|
109
109
|
var dateMonthProp = function dateMonthProp(props, propName, componentName) {
|
|
110
110
|
if (!/^[0-9]{4}-[0-9]{2}$/.test(props[propName])) {
|
|
111
|
-
return new Error('Invalid prop `' + propName + '` supplied to' + ' `' + componentName + '`. Should be in the form
|
|
111
|
+
return new Error('Invalid prop `' + propName + '` supplied to' + ' `' + componentName + '`. Should be in the form yyyy-LL.');
|
|
112
112
|
}
|
|
113
113
|
};
|
|
114
114
|
|
|
@@ -50,7 +50,7 @@ var FilePickerBodyItem = function FilePickerBodyItem(_ref) {
|
|
|
50
50
|
|
|
51
51
|
var hasChoice = isValidFile(item, itemTypesAccepted) || isValidFolder(item, itemTypesAccepted);
|
|
52
52
|
var Input = multiple ? Checkbox : Radio;
|
|
53
|
-
var listItemSecondaryContent = isFile(item) ? "".concat(f(item.updated_at, '
|
|
53
|
+
var listItemSecondaryContent = isFile(item) ? "".concat(f(item.updated_at, 'dd LLL yyyy'), " - ").concat(filesize(item.size, {
|
|
54
54
|
base: 10
|
|
55
55
|
})) : null;
|
|
56
56
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(ListItem, {
|
|
@@ -14,7 +14,7 @@ var SecondaryText = function SecondaryText(_ref) {
|
|
|
14
14
|
f = _useI18n.f;
|
|
15
15
|
|
|
16
16
|
if (secondary) return secondary;
|
|
17
|
-
var date = file !== null && file !== void 0 && (_file$metadata = file.metadata) !== null && _file$metadata !== void 0 && _file$metadata.datetime ? f(file === null || file === void 0 ? void 0 : (_file$metadata2 = file.metadata) === null || _file$metadata2 === void 0 ? void 0 : _file$metadata2.datetime, '
|
|
17
|
+
var date = file !== null && file !== void 0 && (_file$metadata = file.metadata) !== null && _file$metadata !== void 0 && _file$metadata.datetime ? f(file === null || file === void 0 ? void 0 : (_file$metadata2 = file.metadata) === null || _file$metadata2 === void 0 ? void 0 : _file$metadata2.datetime, 'dd/LL/yyyy') : null;
|
|
18
18
|
return /*#__PURE__*/React.createElement(React.Fragment, null, date ? date : '', (isExpired(file) || isExpiringSoon(file)) && /*#__PURE__*/React.createElement(React.Fragment, null, date ? ' · ' : '', /*#__PURE__*/React.createElement(ExpirationAnnotation, {
|
|
19
19
|
file: file
|
|
20
20
|
})));
|
|
@@ -6,7 +6,7 @@ export { default as Banner } from './Banner';
|
|
|
6
6
|
export { default as ButtonAction } from './deprecated/ButtonAction';
|
|
7
7
|
export { default as BottomDrawer } from './deprecated/BottomDrawer';
|
|
8
8
|
export { default as BarButton } from './BarButton';
|
|
9
|
-
export { default as I18n, translate, useI18n } from './I18n';
|
|
9
|
+
export { default as I18n, translate, useI18n } from './providers/I18n';
|
|
10
10
|
export { default as Icon } from './Icon';
|
|
11
11
|
export { default as Sprite } from './Icon/Sprite';
|
|
12
12
|
export { default as Sidebar } from './Sidebar';
|
|
@@ -107,7 +107,7 @@ export { default as TimelineDot } from './TimelineDot';
|
|
|
107
107
|
export { default as TimelineItem } from './TimelineItem';
|
|
108
108
|
export { default as TimelineOppositeContent } from './TimelineOppositeContent';
|
|
109
109
|
export { default as TimelineSeparator } from './TimelineSeparator';
|
|
110
|
-
export { default as AlertProvider, useAlert } from './Alert';
|
|
110
|
+
export { default as AlertProvider, useAlert } from './providers/Alert';
|
|
111
111
|
export { default as Modal } from './Modal';
|
|
112
112
|
export { ListSkeleton, ListItemSkeleton } from './Skeletons';
|
|
113
113
|
export { default as ActionsBar } from './ActionsBar';
|
|
@@ -1,5 +1,11 @@
|
|
|
1
|
-
import
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
|
|
3
|
+
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; }
|
|
4
|
+
|
|
5
|
+
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; }
|
|
6
|
+
|
|
2
7
|
import format from 'date-fns/format';
|
|
8
|
+
import formatDistanceToNow from 'date-fns/formatDistanceToNow';
|
|
3
9
|
import { DEFAULT_LANG } from "cozy-ui/transpiled/react/providers/I18n";
|
|
4
10
|
var locales = {};
|
|
5
11
|
var lang = DEFAULT_LANG;
|
|
@@ -31,14 +37,16 @@ export var provideDateFnsLocale = function provideDateFnsLocale(userLang) {
|
|
|
31
37
|
export var initFormat = function initFormat(userLang) {
|
|
32
38
|
var defaultLang = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_LANG;
|
|
33
39
|
return function (date, formatStr) {
|
|
40
|
+
var opts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
34
41
|
var locale = provideDateFnsLocale(userLang, defaultLang);
|
|
35
|
-
|
|
42
|
+
var ensureDate = date && typeof date === 'string' ? new Date(date) : date;
|
|
43
|
+
return format(ensureDate, formatStr, _objectSpread({
|
|
36
44
|
locale: locale
|
|
37
|
-
});
|
|
45
|
+
}, opts));
|
|
38
46
|
};
|
|
39
47
|
};
|
|
40
48
|
export var formatLocallyDistanceToNow = function formatLocallyDistanceToNow(date) {
|
|
41
|
-
return
|
|
49
|
+
return formatDistanceToNow(date, {
|
|
42
50
|
locale: locales[lang]
|
|
43
51
|
});
|
|
44
52
|
};
|