@atlaskit/smart-card 19.0.2 → 19.0.3

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/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @atlaskit/smart-card
2
2
 
3
+ ## 19.0.3
4
+
5
+ ### Patch Changes
6
+
7
+ - [`cae40e59c49`](https://bitbucket.org/atlassian/atlassian-frontend/commits/cae40e59c49) - Show relative date for dates less then 7 days away (flexible ui)
8
+
3
9
  ## 19.0.2
4
10
 
5
11
  ### Patch Changes
@@ -33,10 +33,15 @@ var messages = (0, _reactIntlNext.defineMessages)({
33
33
  defaultMessage: 'Created by {context}',
34
34
  description: 'Indicates the person or entity that created the resource.'
35
35
  },
36
- created_on: {
37
- id: 'fabric.linking.create_on',
36
+ created_on_relative: {
37
+ id: 'fabric.linking.create_on_relative',
38
38
  defaultMessage: 'Created {context}',
39
- description: 'Indicated when entity was created'
39
+ description: 'Indicated when entity was created (relative form)'
40
+ },
41
+ created_on_absolute: {
42
+ id: 'fabric.linking.create_on_absolute',
43
+ defaultMessage: 'Created on {context}',
44
+ description: 'Indicated when entity was created (absolute form)'
40
45
  },
41
46
  delete: {
42
47
  id: 'fabric.linking.delete',
@@ -53,10 +58,15 @@ var messages = (0, _reactIntlNext.defineMessages)({
53
58
  defaultMessage: 'Modified by {context}',
54
59
  description: 'Indicates the person or entity that modified the resource.'
55
60
  },
56
- modified_on: {
57
- id: 'fabric.linking.modified_on',
61
+ modified_on_relative: {
62
+ id: 'fabric.linking.modified_on_relative',
58
63
  defaultMessage: 'Updated {context}',
59
- description: 'Indicated when entity was modified'
64
+ description: 'Indicated when entity was modified (relative form)'
65
+ },
66
+ modified_on_absolute: {
67
+ id: 'fabric.linking.modified_on_absolute',
68
+ defaultMessage: 'Updated on {context}',
69
+ description: 'Indicated when entity was modified (absolute form)'
60
70
  },
61
71
  priority_blocker: {
62
72
  id: 'fabric.linking.priority_blocker',
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/smart-card",
3
- "version": "19.0.2",
3
+ "version": "19.0.3",
4
4
  "sideEffects": false
5
5
  }
@@ -29,8 +29,14 @@ var _templateObject;
29
29
 
30
30
  var styles = (0, _core.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n color: ", ";\n font-size: 0.75rem;\n line-height: 1rem;\n ", "\n"])), _token.tokens.text, (0, _utils.getTruncateStyles)(1));
31
31
  var typeToDescriptorMap = {
32
- created: _messages.messages.created_on,
33
- modified: _messages.messages.modified_on
32
+ created: {
33
+ relative: _messages.messages.created_on_relative,
34
+ absolute: _messages.messages.created_on_absolute
35
+ },
36
+ modified: {
37
+ relative: _messages.messages.modified_on_relative,
38
+ absolute: _messages.messages.modified_on_absolute
39
+ }
34
40
  };
35
41
  /**
36
42
  * A base element that displays an ISO Timestamp in text.
@@ -48,25 +54,41 @@ var DateTime = function DateTime(_ref) {
48
54
  testId = _ref$testId === void 0 ? 'smart-element-date-time' : _ref$testId;
49
55
 
50
56
  var _useIntl = (0, _reactIntlNext.useIntl)(),
51
- formatRelativeTime = _useIntl.formatRelativeTime;
57
+ formatRelativeTime = _useIntl.formatRelativeTime,
58
+ formatDate = _useIntl.formatDate;
52
59
 
53
60
  if (!type || !date) {
54
61
  return null;
55
62
  }
56
63
 
57
- var _selectUnit = (0, _intlUtils.selectUnit)(date, Date.now()),
58
- value = _selectUnit.value,
59
- unit = _selectUnit.unit;
64
+ var isLongerThenWeek = Math.abs(date.getTime() - Date.now()) > 1000 * 60 * 60 * 24 * 7;
65
+ var context;
66
+ var typeVariant;
67
+
68
+ if (isLongerThenWeek) {
69
+ typeVariant = 'absolute';
70
+ context = formatDate(date, {
71
+ month: 'long',
72
+ day: 'numeric',
73
+ year: 'numeric'
74
+ });
75
+ } else {
76
+ var _selectUnit = (0, _intlUtils.selectUnit)(date, Date.now()),
77
+ value = _selectUnit.value,
78
+ unit = _selectUnit.unit;
79
+
80
+ typeVariant = 'relative';
81
+ context = formatRelativeTime(value, unit, {
82
+ numeric: 'auto'
83
+ });
84
+ }
60
85
 
61
- var context = formatRelativeTime(value, unit, {
62
- numeric: 'auto'
63
- });
64
86
  return (0, _core.jsx)("span", {
65
87
  css: [styles, overrideCss],
66
88
  "data-separator": true,
67
89
  "data-smart-element-date-time": true,
68
90
  "data-testid": testId
69
- }, (0, _core.jsx)(_reactIntlNext.FormattedMessage, (0, _extends2.default)({}, typeToDescriptorMap[type], {
91
+ }, (0, _core.jsx)(_reactIntlNext.FormattedMessage, (0, _extends2.default)({}, typeToDescriptorMap[type][typeVariant], {
70
92
  values: {
71
93
  context: context
72
94
  }
@@ -25,10 +25,15 @@ export const messages = defineMessages({
25
25
  defaultMessage: 'Created by {context}',
26
26
  description: 'Indicates the person or entity that created the resource.'
27
27
  },
28
- created_on: {
29
- id: 'fabric.linking.create_on',
28
+ created_on_relative: {
29
+ id: 'fabric.linking.create_on_relative',
30
30
  defaultMessage: 'Created {context}',
31
- description: 'Indicated when entity was created'
31
+ description: 'Indicated when entity was created (relative form)'
32
+ },
33
+ created_on_absolute: {
34
+ id: 'fabric.linking.create_on_absolute',
35
+ defaultMessage: 'Created on {context}',
36
+ description: 'Indicated when entity was created (absolute form)'
32
37
  },
33
38
  delete: {
34
39
  id: 'fabric.linking.delete',
@@ -45,10 +50,15 @@ export const messages = defineMessages({
45
50
  defaultMessage: 'Modified by {context}',
46
51
  description: 'Indicates the person or entity that modified the resource.'
47
52
  },
48
- modified_on: {
49
- id: 'fabric.linking.modified_on',
53
+ modified_on_relative: {
54
+ id: 'fabric.linking.modified_on_relative',
50
55
  defaultMessage: 'Updated {context}',
51
- description: 'Indicated when entity was modified'
56
+ description: 'Indicated when entity was modified (relative form)'
57
+ },
58
+ modified_on_absolute: {
59
+ id: 'fabric.linking.modified_on_absolute',
60
+ defaultMessage: 'Updated on {context}',
61
+ description: 'Indicated when entity was modified (absolute form)'
52
62
  },
53
63
  priority_blocker: {
54
64
  id: 'fabric.linking.priority_blocker',
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/smart-card",
3
- "version": "19.0.2",
3
+ "version": "19.0.3",
4
4
  "sideEffects": false
5
5
  }
@@ -15,8 +15,14 @@ const styles = css`
15
15
  ${getTruncateStyles(1)}
16
16
  `;
17
17
  const typeToDescriptorMap = {
18
- created: messages.created_on,
19
- modified: messages.modified_on
18
+ created: {
19
+ relative: messages.created_on_relative,
20
+ absolute: messages.created_on_absolute
21
+ },
22
+ modified: {
23
+ relative: messages.modified_on_relative,
24
+ absolute: messages.modified_on_absolute
25
+ }
20
26
  };
21
27
  /**
22
28
  * A base element that displays an ISO Timestamp in text.
@@ -33,26 +39,42 @@ const DateTime = ({
33
39
  testId = 'smart-element-date-time'
34
40
  }) => {
35
41
  const {
36
- formatRelativeTime
42
+ formatRelativeTime,
43
+ formatDate
37
44
  } = useIntl();
38
45
 
39
46
  if (!type || !date) {
40
47
  return null;
41
48
  }
42
49
 
43
- const {
44
- value,
45
- unit
46
- } = selectUnit(date, Date.now());
47
- const context = formatRelativeTime(value, unit, {
48
- numeric: 'auto'
49
- });
50
+ const isLongerThenWeek = Math.abs(date.getTime() - Date.now()) > 1000 * 60 * 60 * 24 * 7;
51
+ let context;
52
+ let typeVariant;
53
+
54
+ if (isLongerThenWeek) {
55
+ typeVariant = 'absolute';
56
+ context = formatDate(date, {
57
+ month: 'long',
58
+ day: 'numeric',
59
+ year: 'numeric'
60
+ });
61
+ } else {
62
+ const {
63
+ value,
64
+ unit
65
+ } = selectUnit(date, Date.now());
66
+ typeVariant = 'relative';
67
+ context = formatRelativeTime(value, unit, {
68
+ numeric: 'auto'
69
+ });
70
+ }
71
+
50
72
  return jsx("span", {
51
73
  css: [styles, overrideCss],
52
74
  "data-separator": true,
53
75
  "data-smart-element-date-time": true,
54
76
  "data-testid": testId
55
- }, jsx(FormattedMessage, _extends({}, typeToDescriptorMap[type], {
77
+ }, jsx(FormattedMessage, _extends({}, typeToDescriptorMap[type][typeVariant], {
56
78
  values: {
57
79
  context
58
80
  }
@@ -25,10 +25,15 @@ export var messages = defineMessages({
25
25
  defaultMessage: 'Created by {context}',
26
26
  description: 'Indicates the person or entity that created the resource.'
27
27
  },
28
- created_on: {
29
- id: 'fabric.linking.create_on',
28
+ created_on_relative: {
29
+ id: 'fabric.linking.create_on_relative',
30
30
  defaultMessage: 'Created {context}',
31
- description: 'Indicated when entity was created'
31
+ description: 'Indicated when entity was created (relative form)'
32
+ },
33
+ created_on_absolute: {
34
+ id: 'fabric.linking.create_on_absolute',
35
+ defaultMessage: 'Created on {context}',
36
+ description: 'Indicated when entity was created (absolute form)'
32
37
  },
33
38
  delete: {
34
39
  id: 'fabric.linking.delete',
@@ -45,10 +50,15 @@ export var messages = defineMessages({
45
50
  defaultMessage: 'Modified by {context}',
46
51
  description: 'Indicates the person or entity that modified the resource.'
47
52
  },
48
- modified_on: {
49
- id: 'fabric.linking.modified_on',
53
+ modified_on_relative: {
54
+ id: 'fabric.linking.modified_on_relative',
50
55
  defaultMessage: 'Updated {context}',
51
- description: 'Indicated when entity was modified'
56
+ description: 'Indicated when entity was modified (relative form)'
57
+ },
58
+ modified_on_absolute: {
59
+ id: 'fabric.linking.modified_on_absolute',
60
+ defaultMessage: 'Updated on {context}',
61
+ description: 'Indicated when entity was modified (absolute form)'
52
62
  },
53
63
  priority_blocker: {
54
64
  id: 'fabric.linking.priority_blocker',
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/smart-card",
3
- "version": "19.0.2",
3
+ "version": "19.0.3",
4
4
  "sideEffects": false
5
5
  }
@@ -13,8 +13,14 @@ import { selectUnit } from '@formatjs/intl-utils';
13
13
  import { messages } from '../../../../../messages';
14
14
  var styles = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n color: ", ";\n font-size: 0.75rem;\n line-height: 1rem;\n ", "\n"])), tokens.text, getTruncateStyles(1));
15
15
  var typeToDescriptorMap = {
16
- created: messages.created_on,
17
- modified: messages.modified_on
16
+ created: {
17
+ relative: messages.created_on_relative,
18
+ absolute: messages.created_on_absolute
19
+ },
20
+ modified: {
21
+ relative: messages.modified_on_relative,
22
+ absolute: messages.modified_on_absolute
23
+ }
18
24
  };
19
25
  /**
20
26
  * A base element that displays an ISO Timestamp in text.
@@ -32,25 +38,41 @@ var DateTime = function DateTime(_ref) {
32
38
  testId = _ref$testId === void 0 ? 'smart-element-date-time' : _ref$testId;
33
39
 
34
40
  var _useIntl = useIntl(),
35
- formatRelativeTime = _useIntl.formatRelativeTime;
41
+ formatRelativeTime = _useIntl.formatRelativeTime,
42
+ formatDate = _useIntl.formatDate;
36
43
 
37
44
  if (!type || !date) {
38
45
  return null;
39
46
  }
40
47
 
41
- var _selectUnit = selectUnit(date, Date.now()),
42
- value = _selectUnit.value,
43
- unit = _selectUnit.unit;
48
+ var isLongerThenWeek = Math.abs(date.getTime() - Date.now()) > 1000 * 60 * 60 * 24 * 7;
49
+ var context;
50
+ var typeVariant;
51
+
52
+ if (isLongerThenWeek) {
53
+ typeVariant = 'absolute';
54
+ context = formatDate(date, {
55
+ month: 'long',
56
+ day: 'numeric',
57
+ year: 'numeric'
58
+ });
59
+ } else {
60
+ var _selectUnit = selectUnit(date, Date.now()),
61
+ value = _selectUnit.value,
62
+ unit = _selectUnit.unit;
63
+
64
+ typeVariant = 'relative';
65
+ context = formatRelativeTime(value, unit, {
66
+ numeric: 'auto'
67
+ });
68
+ }
44
69
 
45
- var context = formatRelativeTime(value, unit, {
46
- numeric: 'auto'
47
- });
48
70
  return jsx("span", {
49
71
  css: [styles, overrideCss],
50
72
  "data-separator": true,
51
73
  "data-smart-element-date-time": true,
52
74
  "data-testid": testId
53
- }, jsx(FormattedMessage, _extends({}, typeToDescriptorMap[type], {
75
+ }, jsx(FormattedMessage, _extends({}, typeToDescriptorMap[type][typeVariant], {
54
76
  values: {
55
77
  context: context
56
78
  }
@@ -1,5 +1,5 @@
1
1
  import { MessageDescriptor } from 'react-intl-next';
2
- export declare type MessageKey = 'cannot_find_link' | 'click_to_join' | 'connect_link_account' | 'created_by' | 'created_on' | 'delete' | 'edit' | 'modified_by' | 'modified_on' | 'priority_blocker' | 'priority_critical' | 'priority_high' | 'priority_highest' | 'priority_low' | 'priority_lowest' | 'priority_major' | 'priority_medium' | 'priority_minor' | 'priority_trivial' | 'priority_undefined' | 'forbidden_access' | 'pending_request' | 'restricted_link' | 'request_access' | 'request_denied';
2
+ export declare type MessageKey = 'cannot_find_link' | 'click_to_join' | 'connect_link_account' | 'created_by' | 'created_on_relative' | 'created_on_absolute' | 'delete' | 'edit' | 'modified_by' | 'modified_on_relative' | 'modified_on_absolute' | 'priority_blocker' | 'priority_critical' | 'priority_high' | 'priority_highest' | 'priority_low' | 'priority_lowest' | 'priority_major' | 'priority_medium' | 'priority_minor' | 'priority_trivial' | 'priority_undefined' | 'forbidden_access' | 'pending_request' | 'restricted_link' | 'request_access' | 'request_denied';
3
3
  declare type Messages = {
4
4
  [K in MessageKey]: MessageDescriptor;
5
5
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/smart-card",
3
- "version": "19.0.2",
3
+ "version": "19.0.3",
4
4
  "description": "Smart card component",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"