@synerise/ds-format-picker 0.1.61 → 0.2.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 +32 -0
- package/dist/FomartPicker.types.js +1 -0
- package/dist/FormatPicker.js +9 -10
- package/dist/FormatSettings/FormatSettings.js +30 -43
- package/dist/FormatSettings/FormatSettings.types.js +1 -0
- package/dist/utils/valueFormatter.js +4 -4
- package/dist/utils/valueFormatter.types.js +1 -0
- package/package.json +9 -9
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,38 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [0.2.3](https://github.com/Synerise/synerise-design/compare/@synerise/ds-format-picker@0.2.2...@synerise/ds-format-picker@0.2.3) (2021-11-22)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @synerise/ds-format-picker
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## [0.2.2](https://github.com/Synerise/synerise-design/compare/@synerise/ds-format-picker@0.2.1...@synerise/ds-format-picker@0.2.2) (2021-11-16)
|
|
15
|
+
|
|
16
|
+
**Note:** Version bump only for package @synerise/ds-format-picker
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
## [0.2.1](https://github.com/Synerise/synerise-design/compare/@synerise/ds-format-picker@0.1.61...@synerise/ds-format-picker@0.2.1) (2021-11-09)
|
|
23
|
+
|
|
24
|
+
**Note:** Version bump only for package @synerise/ds-format-picker
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
# [0.2.0](https://github.com/Synerise/synerise-design/compare/@synerise/ds-format-picker@0.1.61...@synerise/ds-format-picker@0.2.0) (2021-11-09)
|
|
31
|
+
|
|
32
|
+
**Note:** Version bump only for package @synerise/ds-format-picker
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
6
38
|
## [0.1.61](https://github.com/Synerise/synerise-design/compare/@synerise/ds-format-picker@0.1.60...@synerise/ds-format-picker@0.1.61) (2021-11-05)
|
|
7
39
|
|
|
8
40
|
**Note:** Version bump only for package @synerise/ds-format-picker
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/FormatPicker.js
CHANGED
|
@@ -5,11 +5,10 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
5
5
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
6
6
|
|
|
7
7
|
import * as React from 'react';
|
|
8
|
+
import { useIntl } from 'react-intl';
|
|
8
9
|
import Button from '@synerise/ds-button';
|
|
9
10
|
import Dropdown from '@synerise/ds-dropdown';
|
|
10
|
-
import {
|
|
11
|
-
import Icon from '@synerise/ds-icon';
|
|
12
|
-
import { HashM } from '@synerise/ds-icon/dist/icons';
|
|
11
|
+
import Icon, { HashM } from '@synerise/ds-icon';
|
|
13
12
|
import FormatSettings from './FormatSettings/FormatSettings';
|
|
14
13
|
import { valueFormatter } from './utils/valueFormatter';
|
|
15
14
|
|
|
@@ -61,9 +60,9 @@ var FormatPicker = function FormatPicker(_ref) {
|
|
|
61
60
|
})
|
|
62
61
|
}, text);
|
|
63
62
|
}, [text, intl]);
|
|
64
|
-
return React.createElement(Dropdown, {
|
|
63
|
+
return /*#__PURE__*/React.createElement(Dropdown, {
|
|
65
64
|
trigger: ['click'],
|
|
66
|
-
overlay: React.createElement(FormatSettings, {
|
|
65
|
+
overlay: /*#__PURE__*/React.createElement(FormatSettings, {
|
|
67
66
|
onCurrencyChange: onCurrencyChange,
|
|
68
67
|
onFixedLengthChange: onFixedLengthChange,
|
|
69
68
|
onDataFormatChange: onDataFormatChange,
|
|
@@ -76,16 +75,16 @@ var FormatPicker = function FormatPicker(_ref) {
|
|
|
76
75
|
currenciesConfig: currenciesConfig
|
|
77
76
|
}),
|
|
78
77
|
placement: "topCenter"
|
|
79
|
-
}, React.createElement(Button, {
|
|
78
|
+
}, /*#__PURE__*/React.createElement(Button, {
|
|
80
79
|
type: "tertiary",
|
|
81
80
|
mode: "icon-label"
|
|
82
|
-
}, React.createElement(Icon, {
|
|
83
|
-
component: React.createElement(HashM, null)
|
|
84
|
-
}),
|
|
81
|
+
}, /*#__PURE__*/React.createElement(Icon, {
|
|
82
|
+
component: /*#__PURE__*/React.createElement(HashM, null)
|
|
83
|
+
}), texts.format + " " + valueFormatter({
|
|
85
84
|
value: value,
|
|
86
85
|
formatting: format,
|
|
87
86
|
intl: intl
|
|
88
|
-
})))
|
|
87
|
+
})));
|
|
89
88
|
};
|
|
90
89
|
|
|
91
90
|
export default FormatPicker;
|
|
@@ -4,24 +4,11 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
4
4
|
|
|
5
5
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
6
6
|
|
|
7
|
-
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
8
|
-
|
|
9
|
-
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
10
|
-
|
|
11
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(n); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
12
|
-
|
|
13
|
-
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }
|
|
14
|
-
|
|
15
|
-
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
16
|
-
|
|
17
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
18
|
-
|
|
19
7
|
import * as React from 'react';
|
|
20
|
-
import { AngleDownS, Coin2M, CommaDecM, CommaIncM, HashM, PercentM } from '@synerise/ds-icon
|
|
8
|
+
import Icon, { AngleDownS, Coin2M, CommaDecM, CommaIncM, HashM, PercentM } from '@synerise/ds-icon';
|
|
21
9
|
import { useIntl } from 'react-intl';
|
|
22
10
|
import { Title } from '@synerise/ds-typography';
|
|
23
11
|
import Tooltip from '@synerise/ds-tooltip';
|
|
24
|
-
import Icon from '@synerise/ds-icon';
|
|
25
12
|
import Radio from '@synerise/ds-radio';
|
|
26
13
|
import ButtonGroup from '@synerise/ds-button-group';
|
|
27
14
|
import Button from '@synerise/ds-button';
|
|
@@ -33,16 +20,16 @@ import { valueFormatter } from '../utils/valueFormatter';
|
|
|
33
20
|
var getFormattingTypes = function getFormattingTypes(intl, text) {
|
|
34
21
|
return [{
|
|
35
22
|
format: 'numeric',
|
|
36
|
-
icon: React.createElement(HashM, null),
|
|
37
|
-
tooltip: text
|
|
23
|
+
icon: /*#__PURE__*/React.createElement(HashM, null),
|
|
24
|
+
tooltip: text == null ? void 0 : text.numeric
|
|
38
25
|
}, {
|
|
39
26
|
format: 'percent',
|
|
40
|
-
icon: React.createElement(PercentM, null),
|
|
41
|
-
tooltip: text
|
|
27
|
+
icon: /*#__PURE__*/React.createElement(PercentM, null),
|
|
28
|
+
tooltip: text == null ? void 0 : text.percentage
|
|
42
29
|
}, {
|
|
43
30
|
format: 'cash',
|
|
44
|
-
icon: React.createElement(Coin2M, null),
|
|
45
|
-
tooltip: text
|
|
31
|
+
icon: /*#__PURE__*/React.createElement(Coin2M, null),
|
|
32
|
+
tooltip: text == null ? void 0 : text.cash
|
|
46
33
|
}];
|
|
47
34
|
};
|
|
48
35
|
|
|
@@ -59,7 +46,7 @@ var getCurrenciesConfig = function getCurrenciesConfig(currenciesConfig) {
|
|
|
59
46
|
}, {
|
|
60
47
|
currency: 'JPY',
|
|
61
48
|
label: 'Yen (JP)'
|
|
62
|
-
}].concat(
|
|
49
|
+
}].concat(currenciesConfig);
|
|
63
50
|
};
|
|
64
51
|
|
|
65
52
|
var FormatSettings = function FormatSettings(_ref) {
|
|
@@ -89,47 +76,47 @@ var FormatSettings = function FormatSettings(_ref) {
|
|
|
89
76
|
return currency.currency === format.currency;
|
|
90
77
|
});
|
|
91
78
|
}, [currenciesConfig, format]);
|
|
92
|
-
return React.createElement(S.FormatSettingsContainer, null, React.createElement(S.FormatSettingsWrapper, null, React.createElement(Title, {
|
|
79
|
+
return /*#__PURE__*/React.createElement(S.FormatSettingsContainer, null, /*#__PURE__*/React.createElement(S.FormatSettingsWrapper, null, /*#__PURE__*/React.createElement(Title, {
|
|
93
80
|
level: 6
|
|
94
|
-
}, text
|
|
81
|
+
}, text == null ? void 0 : text.header), /*#__PURE__*/React.createElement(S.FormatSettings, null, /*#__PURE__*/React.createElement(Radio.Group, {
|
|
95
82
|
defaultValue: format.dataFormat,
|
|
96
83
|
onChange: function onChange(e) {
|
|
97
84
|
return onDataFormatChange(e.target.value);
|
|
98
85
|
}
|
|
99
|
-
}, React.createElement(ButtonGroup, null, getFormattingTypes(intl, text).map(function (type) {
|
|
100
|
-
return React.createElement(Tooltip, {
|
|
86
|
+
}, /*#__PURE__*/React.createElement(ButtonGroup, null, getFormattingTypes(intl, text).map(function (type) {
|
|
87
|
+
return /*#__PURE__*/React.createElement(Tooltip, {
|
|
101
88
|
key: type.format,
|
|
102
89
|
trigger: ['hover'],
|
|
103
90
|
title: type.tooltip
|
|
104
|
-
}, React.createElement(Button, {
|
|
91
|
+
}, /*#__PURE__*/React.createElement(Button, {
|
|
105
92
|
type: type.format === format.dataFormat ? 'primary' : 'secondary',
|
|
106
93
|
mode: "icon",
|
|
107
94
|
onClick: function onClick() {
|
|
108
95
|
return onDataFormatChange(type.format);
|
|
109
96
|
}
|
|
110
|
-
}, React.createElement(Icon, {
|
|
97
|
+
}, /*#__PURE__*/React.createElement(Icon, {
|
|
111
98
|
component: type.icon
|
|
112
99
|
})));
|
|
113
|
-
}))), React.createElement(ButtonGroup, {
|
|
100
|
+
}))), /*#__PURE__*/React.createElement(ButtonGroup, {
|
|
114
101
|
buttonsPosition: "right"
|
|
115
|
-
}, React.createElement(S.FixedLengthButton, {
|
|
102
|
+
}, /*#__PURE__*/React.createElement(S.FixedLengthButton, {
|
|
116
103
|
type: "secondary",
|
|
117
104
|
mode: "icon",
|
|
118
105
|
onClick: handleDecreaseFixedLength
|
|
119
|
-
}, React.createElement(Icon, {
|
|
120
|
-
component: React.createElement(CommaDecM, null)
|
|
121
|
-
})), React.createElement(S.FixedLengthButton, {
|
|
106
|
+
}, /*#__PURE__*/React.createElement(Icon, {
|
|
107
|
+
component: /*#__PURE__*/React.createElement(CommaDecM, null)
|
|
108
|
+
})), /*#__PURE__*/React.createElement(S.FixedLengthButton, {
|
|
122
109
|
type: "secondary",
|
|
123
110
|
mode: "icon",
|
|
124
111
|
onClick: handleIncreaseFixedLength
|
|
125
|
-
}, React.createElement(Icon, {
|
|
126
|
-
component: React.createElement(CommaIncM, null)
|
|
127
|
-
})))), React.createElement(S.FormatOptions, null, format.dataFormat === 'cash' && React.createElement(Dropdown, {
|
|
112
|
+
}, /*#__PURE__*/React.createElement(Icon, {
|
|
113
|
+
component: /*#__PURE__*/React.createElement(CommaIncM, null)
|
|
114
|
+
})))), /*#__PURE__*/React.createElement(S.FormatOptions, null, format.dataFormat === 'cash' && /*#__PURE__*/React.createElement(Dropdown, {
|
|
128
115
|
trigger: ['click'],
|
|
129
|
-
overlay: React.createElement(S.DropdownWrapper, null, getCurrenciesConfig(currenciesConfig || []).map(function (_ref2) {
|
|
116
|
+
overlay: /*#__PURE__*/React.createElement(S.DropdownWrapper, null, getCurrenciesConfig(currenciesConfig || []).map(function (_ref2) {
|
|
130
117
|
var currency = _ref2.currency,
|
|
131
118
|
label = _ref2.label;
|
|
132
|
-
return React.createElement(S.MenuItem, {
|
|
119
|
+
return /*#__PURE__*/React.createElement(S.MenuItem, {
|
|
133
120
|
key: currency,
|
|
134
121
|
suffixel: valueFormatter({
|
|
135
122
|
value: value,
|
|
@@ -143,22 +130,22 @@ var FormatSettings = function FormatSettings(_ref) {
|
|
|
143
130
|
}
|
|
144
131
|
}, label);
|
|
145
132
|
}))
|
|
146
|
-
}, React.createElement(S.DropdownTrigger, null, React.createElement(S.DropdownValue, null, selectedCurrency
|
|
147
|
-
component: React.createElement(AngleDownS, null)
|
|
148
|
-
}))), React.createElement(Checkbox, {
|
|
133
|
+
}, /*#__PURE__*/React.createElement(S.DropdownTrigger, null, /*#__PURE__*/React.createElement(S.DropdownValue, null, selectedCurrency == null ? void 0 : selectedCurrency.label), /*#__PURE__*/React.createElement(Icon, {
|
|
134
|
+
component: /*#__PURE__*/React.createElement(AngleDownS, null)
|
|
135
|
+
}))), /*#__PURE__*/React.createElement(Checkbox, {
|
|
149
136
|
onChange: function onChange(e) {
|
|
150
137
|
return onUseSeparatorChange(e.target.checked);
|
|
151
138
|
},
|
|
152
139
|
checked: format.useSeparator
|
|
153
|
-
}, text
|
|
140
|
+
}, text == null ? void 0 : text.useSeparator), /*#__PURE__*/React.createElement(Checkbox, {
|
|
154
141
|
onChange: function onChange(e) {
|
|
155
142
|
return onCompactNumbersChange(e.target.checked);
|
|
156
143
|
},
|
|
157
144
|
checked: format.compactNumbers
|
|
158
|
-
}, text
|
|
145
|
+
}, text == null ? void 0 : text.compactNumbers))), /*#__PURE__*/React.createElement(S.FormatFooter, null, /*#__PURE__*/React.createElement(Button, {
|
|
159
146
|
type: "ghost",
|
|
160
147
|
onClick: onSetDefault
|
|
161
|
-
}, text
|
|
148
|
+
}, text == null ? void 0 : text.setDefault)));
|
|
162
149
|
};
|
|
163
150
|
|
|
164
151
|
export default FormatSettings;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -114,7 +114,7 @@ export var appendZeros = function appendZeros(fixedLength) {
|
|
|
114
114
|
return '';
|
|
115
115
|
}
|
|
116
116
|
|
|
117
|
-
return "."
|
|
117
|
+
return "." + range(0, fixedLength, 0).join('');
|
|
118
118
|
};
|
|
119
119
|
export var chooseSuffix = function chooseSuffix(compactNumbers) {
|
|
120
120
|
return compactNumbers ? 'a' : '';
|
|
@@ -123,7 +123,7 @@ export var choosePrefix = function choosePrefix(useSeparator) {
|
|
|
123
123
|
return useSeparator ? '0,0' : '0';
|
|
124
124
|
};
|
|
125
125
|
export var getFormattingFormula = function getFormattingFormula(formatting) {
|
|
126
|
-
return ""
|
|
126
|
+
return "" + choosePrefix(formatting.useSeparator) + appendZeros(formatting.fixedLength) + chooseSuffix(formatting.compactNumbers);
|
|
127
127
|
};
|
|
128
128
|
export var appendSign = function appendSign(input, intl, format, currency) {
|
|
129
129
|
switch (format) {
|
|
@@ -138,11 +138,11 @@ export var appendSign = function appendSign(input, intl, format, currency) {
|
|
|
138
138
|
currencyDisplay: 'symbol',
|
|
139
139
|
currency: currency
|
|
140
140
|
});
|
|
141
|
-
return CONTAINS_LETTERS.test(input) ? currencyFormat.replace(DIGITS,
|
|
141
|
+
return CONTAINS_LETTERS.test(input) ? currencyFormat.replace(DIGITS, input + " ") : currencyFormat.replace(DIGITS, input);
|
|
142
142
|
}
|
|
143
143
|
|
|
144
144
|
case 'percent':
|
|
145
|
-
return CONTAINS_LETTERS.test(input) ?
|
|
145
|
+
return CONTAINS_LETTERS.test(input) ? input + " %" : input + "%";
|
|
146
146
|
|
|
147
147
|
case 'numeric':
|
|
148
148
|
default:
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@synerise/ds-format-picker",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.3",
|
|
4
4
|
"description": "FormatPicker UI Component for the Synerise Design System",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"repository": "Synerise/synerise-design",
|
|
@@ -32,13 +32,13 @@
|
|
|
32
32
|
],
|
|
33
33
|
"types": "dist/index.d.ts",
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@synerise/ds-button": "^0.
|
|
36
|
-
"@synerise/ds-button-group": "^0.
|
|
37
|
-
"@synerise/ds-checkbox": "^0.
|
|
38
|
-
"@synerise/ds-dropdown": "^0.
|
|
39
|
-
"@synerise/ds-icon": "^0.
|
|
40
|
-
"@synerise/ds-menu": "^0.
|
|
41
|
-
"@synerise/ds-radio": "^0.
|
|
35
|
+
"@synerise/ds-button": "^0.16.2",
|
|
36
|
+
"@synerise/ds-button-group": "^0.6.2",
|
|
37
|
+
"@synerise/ds-checkbox": "^0.11.3",
|
|
38
|
+
"@synerise/ds-dropdown": "^0.17.3",
|
|
39
|
+
"@synerise/ds-icon": "^0.46.2",
|
|
40
|
+
"@synerise/ds-menu": "^0.11.2",
|
|
41
|
+
"@synerise/ds-radio": "^0.11.3",
|
|
42
42
|
"@types/numeral": "^0.0.28",
|
|
43
43
|
"numeral": "^2.0.6"
|
|
44
44
|
},
|
|
@@ -46,5 +46,5 @@
|
|
|
46
46
|
"@synerise/ds-core": "*",
|
|
47
47
|
"react": ">=16.9.0 < 17.0.0"
|
|
48
48
|
},
|
|
49
|
-
"gitHead": "
|
|
49
|
+
"gitHead": "2468359677783819939fb9f1ef5acc36667ecd1a"
|
|
50
50
|
}
|