@cashub/ui 0.21.0 → 0.22.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.
Files changed (230) hide show
  1. package/Tab/Tab.js +9 -13
  2. package/Tab/TabList.js +14 -32
  3. package/Tab/TabPanel.js +21 -58
  4. package/Tab/TabTab.js +20 -40
  5. package/Tab/index.js +2 -10
  6. package/Tab/subComponent/TabContext.js +2 -5
  7. package/animate/Collapse.js +26 -53
  8. package/animate/Loader.js +21 -26
  9. package/animate/NumberCounter.js +22 -44
  10. package/animate/PulseRing.js +9 -21
  11. package/animate/Spinner.js +2 -10
  12. package/animate/index.js +5 -11
  13. package/backdrop/BaseBackdrop.js +2 -9
  14. package/backdrop/LoadingBackdrop.js +2 -9
  15. package/backdrop/ModalBackdrop.js +2 -9
  16. package/backdrop/index.js +3 -7
  17. package/badge/Badge.js +2 -11
  18. package/badge/BadgeDot.js +2 -10
  19. package/badge/BadgeFill.js +15 -20
  20. package/badge/BadgeWithText.js +6 -13
  21. package/badge/index.js +4 -9
  22. package/billing/BarChart.js +10 -17
  23. package/billing/Grid.js +11 -15
  24. package/billing/Header2.js +6 -9
  25. package/billing/Header3.js +9 -16
  26. package/billing/Paragraph.js +8 -14
  27. package/billing/ParagraphGroup.js +6 -9
  28. package/billing/ParagraphText.js +7 -12
  29. package/billing/Section.js +13 -23
  30. package/billing/SectionBody.js +5 -8
  31. package/billing/SectionHeader.js +7 -12
  32. package/breadcrumb/Breadcrumb.js +11 -21
  33. package/breadcrumb/index.js +1 -3
  34. package/button/Button.js +41 -38
  35. package/button/ButtonGroup.js +21 -18
  36. package/button/IconButton.js +29 -29
  37. package/button/ScrollToTopButton.js +12 -39
  38. package/button/index.js +4 -9
  39. package/callout/Callout.js +13 -26
  40. package/callout/index.js +1 -3
  41. package/chart/BarChart.js +28 -53
  42. package/chart/DoughnutChart.js +23 -62
  43. package/chart/LineChart.js +33 -55
  44. package/chart/SingleBarChart.js +11 -17
  45. package/chart/index.js +5 -12
  46. package/chart/utils/customTooltip.js +26 -43
  47. package/chart/utils/htmlLegendPlugin.js +24 -30
  48. package/chart/utils/index.js +3 -7
  49. package/chart/utils/padEmptyChartBar.js +24 -22
  50. package/container/FlexContainer.js +14 -12
  51. package/container/index.js +1 -3
  52. package/cropper/Cropper.js +21 -34
  53. package/cropper/CropperModalHandler.js +15 -21
  54. package/cropper/index.js +2 -5
  55. package/cropper/subComponent/CropImageModal.js +23 -58
  56. package/datetimePicker/DatePicker.js +103 -217
  57. package/datetimePicker/DatePickerV2.js +116 -221
  58. package/datetimePicker/DatetimePicker.js +27 -48
  59. package/datetimePicker/DatetimePickerV2.js +115 -231
  60. package/datetimePicker/TimeInput.js +9 -22
  61. package/datetimePicker/TimePicker.js +94 -151
  62. package/datetimePicker/TimePickerStyle.js +2 -9
  63. package/datetimePicker/accordion/Month.js +70 -90
  64. package/datetimePicker/accordion/Year.js +91 -135
  65. package/datetimePicker/hooks/index.js +3 -7
  66. package/datetimePicker/hooks/useChangeNumber.js +14 -27
  67. package/datetimePicker/hooks/useDecrease.js +19 -35
  68. package/datetimePicker/hooks/useIncrease.js +19 -35
  69. package/datetimePicker/index.js +7 -15
  70. package/datetimePicker/provider/constant.js +2 -3
  71. package/datetimePicker/subComponent/Accordion.js +108 -158
  72. package/datetimePicker/subComponent/CustomTimeInput.js +18 -48
  73. package/datetimePicker/subComponent/DateTimePickerContext.js +2 -5
  74. package/datetimePicker/utils/GMTDate.js +3 -7
  75. package/datetimePicker/utils/pad.js +2 -6
  76. package/datetimePicker/utils/toUTC0.js +3 -6
  77. package/descriptionList/DescriptionDetail.js +5 -10
  78. package/descriptionList/DescriptionList.js +5 -10
  79. package/descriptionList/DescriptionTerm.js +2 -9
  80. package/descriptionList/index.js +3 -7
  81. package/divider/Divider.js +9 -12
  82. package/divider/index.js +1 -3
  83. package/dropdown/Dropdown.js +28 -65
  84. package/dropdown/DropdownButtonOption.js +2 -9
  85. package/dropdown/DropdownContent.js +33 -64
  86. package/dropdown/DropdownDivOption.js +2 -9
  87. package/dropdown/DropdownItem.js +10 -16
  88. package/dropdown/DropdownLinkOption.js +2 -9
  89. package/dropdown/DropdownToggle.js +18 -38
  90. package/dropdown/index.js +6 -17
  91. package/dropdown/subComponent/DropdownContext.js +2 -5
  92. package/dropzone/FileDropzone.js +148 -302
  93. package/dropzone/ImageDropzone.js +96 -171
  94. package/dropzone/index.js +2 -5
  95. package/dropzone/subComponent/Message.js +7 -14
  96. package/figure/IconFigure.js +9 -16
  97. package/figure/ImageFigure.js +11 -17
  98. package/figure/index.js +2 -5
  99. package/file/HiddenFileInput.js +5 -14
  100. package/file/index.js +1 -3
  101. package/form/Checkbox.js +34 -43
  102. package/form/FormItem.js +2 -9
  103. package/form/Input.js +18 -15
  104. package/form/Label.js +20 -13
  105. package/form/MutedText.js +5 -10
  106. package/form/RadioButton.js +20 -32
  107. package/form/Searchbox.js +21 -65
  108. package/form/Slider.js +25 -0
  109. package/form/SwitchButton.js +34 -39
  110. package/form/Textarea.js +2 -11
  111. package/form/TreeView.js +64 -0
  112. package/form/index.js +16 -19
  113. package/grid/Column.js +17 -17
  114. package/grid/Grid.js +13 -14
  115. package/grid/index.js +2 -5
  116. package/heading/Heading1.js +5 -10
  117. package/heading/Heading2.js +9 -12
  118. package/heading/Heading3.js +21 -18
  119. package/heading/index.js +3 -7
  120. package/helmet/Helmet.js +6 -9
  121. package/helmet/index.js +2 -5
  122. package/iconbox/ApplicationIconBox.js +25 -31
  123. package/iconbox/IconBox.js +11 -24
  124. package/iconbox/IconBoxV2.js +14 -26
  125. package/iconbox/index.js +3 -7
  126. package/iconbox/subComponent/IconBoxFigure.js +25 -20
  127. package/iconbox/subComponent/IconBoxImage.js +15 -18
  128. package/image/ImageFluid.js +2 -10
  129. package/image/UploadImage.js +65 -113
  130. package/image/index.js +2 -5
  131. package/index.js +44 -130
  132. package/jsoneditor/JsonEditor.js +10 -32
  133. package/jsoneditor/index.js +1 -3
  134. package/keyframe/Pulse.js +2 -7
  135. package/keyframe/Spin.js +2 -7
  136. package/link/LinkSpan.js +22 -35
  137. package/link/index.js +1 -3
  138. package/map/GoogleMap.js +122 -175
  139. package/map/GoogleReverseGeolocation.js +79 -186
  140. package/map/LeafletMap.js +78 -132
  141. package/map/LeafletReverseGeolocation.js +49 -121
  142. package/map/index.js +4 -9
  143. package/map/subComponent/BasicLeafletMap.js +8 -14
  144. package/map/subComponent/GoogleMapContainer.js +5 -10
  145. package/map/subComponent/GoogleMapPopup.js +66 -123
  146. package/map/subComponent/GoogleMapWrapper.js +13 -32
  147. package/map/subComponent/GoogleMarkerSpiderfier.js +14 -24
  148. package/map/subComponent/LeafletDrawControl.js +47 -84
  149. package/map/subComponent/LeafletMapContainer.js +5 -10
  150. package/map/subComponent/MapSearchBoxControl.js +24 -70
  151. package/modal/StateModal.js +41 -100
  152. package/modal/TitleModal.js +89 -190
  153. package/modal/index.js +2 -5
  154. package/package.json +1 -1
  155. package/paginate/Paginate.js +40 -54
  156. package/paginate/index.js +1 -3
  157. package/popover/Popover.js +39 -87
  158. package/popover/index.js +1 -3
  159. package/qrcode/QRCode.js +10 -23
  160. package/qrcode/QRCodeContainter.js +8 -16
  161. package/qrcode/index.js +2 -5
  162. package/ribbon/Ribbon.js +4 -15
  163. package/ribbon/index.js +1 -3
  164. package/section/Section.js +57 -39
  165. package/section/SectionBody.js +15 -22
  166. package/section/SectionHeader.js +27 -27
  167. package/section/SectionToolbar.js +2 -9
  168. package/section/SectionToolbarItem.js +2 -9
  169. package/section/index.js +5 -11
  170. package/select/InputSelect.js +103 -215
  171. package/select/Select.js +204 -362
  172. package/select/index.js +2 -5
  173. package/select/subComponent/ListBox.js +9 -12
  174. package/select/subComponent/Option.js +8 -16
  175. package/select/subComponent/OptionGroup.js +2 -9
  176. package/select/subComponent/Options.js +5 -11
  177. package/select/subComponent/SearchBox.js +9 -29
  178. package/select/subComponent/SelectedMultiple.js +8 -16
  179. package/select/subComponent/SelectedSingle.js +2 -9
  180. package/styles/GlobalStyle.js +169 -91
  181. package/styles/config/breakpoint.style.js +2 -3
  182. package/styles/config/header.style.js +2 -3
  183. package/styles/config/sidebar.style.js +2 -3
  184. package/styles/index.js +2 -5
  185. package/styles/mixin/backgroundColor.js +17 -14
  186. package/styles/mixin/borderColor.js +17 -14
  187. package/styles/mixin/color.js +17 -14
  188. package/styles/mixin/colorOnBackground.js +17 -14
  189. package/styles/mixin/inputPlaceholder.js +3 -9
  190. package/styles/mixin/media.js +3 -11
  191. package/styles/mixin/rounded.js +13 -12
  192. package/styles/mixin/scrollbar.js +7 -13
  193. package/styles/theme/dark.theme.js +20 -20
  194. package/styles/theme/light.theme.js +20 -20
  195. package/styles/theme/white.theme.js +20 -20
  196. package/styles/themes.js +2 -8
  197. package/table/GridTable.js +105 -143
  198. package/table/ImageBox.js +8 -18
  199. package/table/PermissionTable.js +25 -25
  200. package/table/Table.js +137 -153
  201. package/table/__mock__/columns.js +2 -3
  202. package/table/__mock__/data.js +2 -3
  203. package/table/hooks/index.js +2 -5
  204. package/table/hooks/useCalculateDataRange.js +9 -36
  205. package/table/hooks/useGenerateSort.js +6 -17
  206. package/table/index.js +4 -9
  207. package/table/subComponent/BaseTableHeadCell.js +15 -21
  208. package/table/subComponent/GridTableFooter.js +5 -10
  209. package/table/subComponent/GridTableHeadCell.js +5 -10
  210. package/table/subComponent/Resizer.js +17 -44
  211. package/table/subComponent/TableFooter.js +5 -10
  212. package/table/subComponent/TableFooterInfo.js +2 -9
  213. package/table/subComponent/TableFooterPager.js +5 -12
  214. package/table/subComponent/TableHeadCell.js +2 -9
  215. package/table/subComponent/TableSort.js +13 -19
  216. package/tagify/TagifyStyle.js +2 -9
  217. package/tagify/Tags.js +15 -37
  218. package/tagify/index.js +2 -5
  219. package/text/Paragraph.js +25 -20
  220. package/text/index.js +1 -3
  221. package/timeline/Timeline.js +28 -37
  222. package/timeline/index.js +1 -3
  223. package/toast/CustomToastContainer.js +2 -9
  224. package/toast/MessageContainer.js +9 -18
  225. package/toast/index.js +3 -8
  226. package/toast/show.js +18 -28
  227. package/tooltip/Tooltip.js +48 -97
  228. package/tooltip/index.js +1 -3
  229. package/wizard/Wizard.js +63 -133
  230. package/wizard/index.js +1 -3
package/iconbox/index.js CHANGED
@@ -5,27 +5,23 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  Object.defineProperty(exports, "ApplicationIconBox", {
7
7
  enumerable: true,
8
- get: function get() {
8
+ get: function () {
9
9
  return _ApplicationIconBox.default;
10
10
  }
11
11
  });
12
12
  Object.defineProperty(exports, "IconBox", {
13
13
  enumerable: true,
14
- get: function get() {
14
+ get: function () {
15
15
  return _IconBox.default;
16
16
  }
17
17
  });
18
18
  Object.defineProperty(exports, "IconBoxV2", {
19
19
  enumerable: true,
20
- get: function get() {
20
+ get: function () {
21
21
  return _IconBoxV.default;
22
22
  }
23
23
  });
24
-
25
24
  var _ApplicationIconBox = _interopRequireDefault(require("./ApplicationIconBox"));
26
-
27
25
  var _IconBox = _interopRequireDefault(require("./IconBox"));
28
-
29
26
  var _IconBoxV = _interopRequireDefault(require("./IconBoxV2"));
30
-
31
27
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -4,34 +4,39 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _styledComponents = _interopRequireDefault(require("styled-components"));
9
-
10
8
  var _templateObject;
11
-
12
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
14
10
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
15
-
16
- var IconBoxFigure = _styledComponents.default.figure(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n flex: 0 0 120px;\n\n ", "\n ", "\n ", "\n ", "\n\n ", "\n ", "\n"])), function (_ref) {
17
- var marginRight = _ref.marginRight;
11
+ const IconBoxFigure = _styledComponents.default.figure(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n flex: 0 0 120px;\n\n ", "\n ", "\n ", "\n ", "\n\n ", "\n ", "\n"])), _ref => {
12
+ let {
13
+ marginRight
14
+ } = _ref;
18
15
  return marginRight && 'margin-right: var(--spacing);';
19
- }, function (_ref2) {
20
- var paddingRight = _ref2.paddingRight;
16
+ }, _ref2 => {
17
+ let {
18
+ paddingRight
19
+ } = _ref2;
21
20
  return paddingRight && 'padding-right: var(--spacing);';
22
- }, function (_ref3) {
23
- var paddingRightS = _ref3.paddingRightS;
21
+ }, _ref3 => {
22
+ let {
23
+ paddingRightS
24
+ } = _ref3;
24
25
  return paddingRightS && 'padding-right: var(--spacing-s);';
25
- }, function (_ref4) {
26
- var paddingBottomS = _ref4.paddingBottomS;
26
+ }, _ref4 => {
27
+ let {
28
+ paddingBottomS
29
+ } = _ref4;
27
30
  return paddingBottomS && 'padding-bottom: var(--spacing-s);';
28
- }, function (_ref5) {
29
- var sizeS = _ref5.sizeS;
31
+ }, _ref5 => {
32
+ let {
33
+ sizeS
34
+ } = _ref5;
30
35
  return sizeS && 'flex-basis: 80px;';
31
- }, function (_ref6) {
32
- var sizeXS = _ref6.sizeXS;
36
+ }, _ref6 => {
37
+ let {
38
+ sizeXS
39
+ } = _ref6;
33
40
  return sizeXS && 'flex-basis: 40px;';
34
41
  });
35
-
36
- var _default = IconBoxFigure;
37
- exports.default = _default;
42
+ var _default = exports.default = IconBoxFigure;
@@ -4,29 +4,26 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _styledComponents = _interopRequireDefault(require("styled-components"));
9
-
10
8
  var _templateObject;
11
-
12
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
14
10
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
15
-
16
- var IconBoxImage = _styledComponents.default.img.attrs(function () {
17
- return {
18
- crossOrigin: 'anonymous'
19
- };
20
- })(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n width: 120px;\n height: 120px;\n\n ", "\n\n ", "\n\n ", "\n"])), function (_ref) {
21
- var rounded = _ref.rounded;
11
+ const IconBoxImage = _styledComponents.default.img.attrs(() => ({
12
+ crossOrigin: 'anonymous'
13
+ }))(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n width: 120px;\n height: 120px;\n\n ", "\n\n ", "\n\n ", "\n"])), _ref => {
14
+ let {
15
+ rounded
16
+ } = _ref;
22
17
  return rounded && 'border-radius: var(--border-radius);';
23
- }, function (_ref2) {
24
- var sizeS = _ref2.sizeS;
18
+ }, _ref2 => {
19
+ let {
20
+ sizeS
21
+ } = _ref2;
25
22
  return sizeS && "\n width: 80px;\n height: 80px;\n ";
26
- }, function (_ref3) {
27
- var sizeXS = _ref3.sizeXS;
23
+ }, _ref3 => {
24
+ let {
25
+ sizeXS
26
+ } = _ref3;
28
27
  return sizeXS && "\n width: 40px;\n height: 40px;\n ";
29
28
  });
30
-
31
- var _default = IconBoxImage;
32
- exports.default = _default;
29
+ var _default = exports.default = IconBoxImage;
@@ -4,18 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _styledComponents = _interopRequireDefault(require("styled-components"));
9
-
10
8
  var _rounded = _interopRequireDefault(require("../styles/mixin/rounded"));
11
-
12
9
  var _templateObject;
13
-
14
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
-
16
11
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
17
-
18
- var ImageFluid = _styledComponents.default.img(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n width: 100%;\n height: 100%;\n object-fit: cover;\n\n ", "\n"])), _rounded.default);
19
-
20
- var _default = ImageFluid;
21
- exports.default = _default;
12
+ const ImageFluid = _styledComponents.default.img(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n width: 100%;\n height: 100%;\n object-fit: cover;\n\n ", "\n"])), _rounded.default);
13
+ var _default = exports.default = ImageFluid;
@@ -4,113 +4,67 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _react = require("react");
9
-
10
8
  var _reactI18next = require("react-i18next");
11
-
12
9
  var _styledComponents = _interopRequireDefault(require("styled-components"));
13
-
14
10
  var _fa = require("react-icons/fa");
15
-
16
11
  var _md = require("react-icons/md");
17
-
18
12
  var _utils = require("@cashub/utils");
19
-
20
13
  var _toast = require("../toast");
21
-
22
14
  var _HiddenFileInput = _interopRequireDefault(require("../file/HiddenFileInput"));
23
-
24
15
  var _ImageFigure = _interopRequireDefault(require("../figure/ImageFigure"));
25
-
26
16
  var _ImageFluid = _interopRequireDefault(require("./ImageFluid"));
27
-
28
17
  var _jsxRuntime = require("react/jsx-runtime");
29
-
30
18
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
31
-
32
19
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
33
-
34
20
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
35
-
36
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
37
-
38
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
39
-
40
- 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(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
41
-
42
- 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; }
43
-
44
- function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
45
-
46
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
47
-
48
- var UploadImage = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
49
- var _ref$current, _ref$current$files;
50
-
51
- var id = _ref.id,
52
- src = _ref.src,
53
- _ref$alt = _ref.alt,
54
- alt = _ref$alt === void 0 ? 'user avatar' : _ref$alt,
55
- _ref$roundedCircle = _ref.roundedCircle,
56
- roundedCircle = _ref$roundedCircle === void 0 ? false : _ref$roundedCircle,
57
- cropperHandler = _ref.cropperHandler,
58
- onBlur = _ref.onBlur,
59
- onClear = _ref.onClear,
60
- _ref$allowClear = _ref.allowClear,
61
- allowClear = _ref$allowClear === void 0 ? false : _ref$allowClear;
62
-
63
- var _useTranslation = (0, _reactI18next.useTranslation)(),
64
- t = _useTranslation.t;
65
-
66
- var refWrapper = (0, _react.useRef)();
67
-
68
- var _useState = (0, _react.useState)(src),
69
- _useState2 = _slicedToArray(_useState, 2),
70
- currentSrc = _useState2[0],
71
- setCurrentSrc = _useState2[1];
72
-
73
- var _useState3 = (0, _react.useState)(null),
74
- _useState4 = _slicedToArray(_useState3, 2),
75
- currentFile = _useState4[0],
76
- setCurrentFile = _useState4[1];
77
-
78
- var _useState5 = (0, _react.useState)(0),
79
- _useState6 = _slicedToArray(_useState5, 2),
80
- focusCount = _useState6[0],
81
- setFocusCount = _useState6[1];
82
-
83
- var handleAvatarRemove = function handleAvatarRemove() {
21
+ const UploadImage = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
22
+ var _ref$current;
23
+ let {
24
+ id,
25
+ src,
26
+ alt = 'user avatar',
27
+ roundedCircle = false,
28
+ cropperHandler,
29
+ onBlur,
30
+ onClear,
31
+ allowClear = false
32
+ } = _ref;
33
+ const {
34
+ t
35
+ } = (0, _reactI18next.useTranslation)();
36
+ const refWrapper = (0, _react.useRef)();
37
+ const [currentSrc, setCurrentSrc] = (0, _react.useState)(src);
38
+ const [currentFile, setCurrentFile] = (0, _react.useState)(null);
39
+ const [focusCount, setFocusCount] = (0, _react.useState)(0);
40
+ const handleAvatarRemove = () => {
84
41
  setCurrentSrc(src);
85
42
  ref.current.value = '';
86
43
  setCurrentFile(null);
87
44
  };
88
-
89
- var restoreFile = (0, _react.useCallback)(function () {
45
+ const restoreFile = (0, _react.useCallback)(() => {
90
46
  if (!currentFile) return;
91
- var dataTransfer = new DataTransfer();
47
+ const dataTransfer = new DataTransfer();
92
48
  dataTransfer.items.add(currentFile);
93
49
  ref.current.files = dataTransfer.files;
94
50
  }, [ref, currentFile]);
95
- var handleImageFile = (0, _react.useCallback)(function (file, src) {
96
- var dataTransfer = new DataTransfer();
97
- var changedImageFile = (0, _utils.dataURLtoFile)(src, file.name);
51
+ const handleImageFile = (0, _react.useCallback)((file, src) => {
52
+ const dataTransfer = new DataTransfer();
53
+ const changedImageFile = (0, _utils.dataURLtoFile)(src, file.name);
98
54
  dataTransfer.items.add(changedImageFile);
99
55
  setCurrentSrc(src);
100
56
  setCurrentFile(changedImageFile);
101
57
  ref.current.files = dataTransfer.files;
102
58
  }, [ref]);
103
-
104
- var handleOnChange = function handleOnChange(files) {
59
+ const handleOnChange = files => {
105
60
  if (files.length === 0) {
106
61
  // close file selector or cancel upload file need to restore to last uploaded file
107
62
  restoreFile();
108
63
  } else {
109
- var fileType = files[0].name.slice(files[0].name.lastIndexOf('.')).toLowerCase();
110
-
64
+ const fileType = files[0].name.slice(files[0].name.lastIndexOf('.')).toLowerCase();
111
65
  if (['.jpeg', '.bmp', '.jpg', '.png'].includes(fileType)) {
112
66
  if (files[0].size < 2097152) {
113
- var srcUrl = URL.createObjectURL(files[0]);
67
+ const srcUrl = URL.createObjectURL(files[0]);
114
68
  handleCrop(srcUrl, files[0]);
115
69
  } else {
116
70
  ref.current.value = '';
@@ -132,49 +86,45 @@ var UploadImage = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
132
86
  }
133
87
  }
134
88
  };
135
-
136
- var handleCrop = (0, _react.useCallback)(function (src, file) {
89
+ const handleCrop = (0, _react.useCallback)((src, file) => {
137
90
  cropperHandler({
138
- src: src,
139
- file: file,
91
+ src,
92
+ file,
140
93
  width: 160,
141
94
  height: 160,
142
- onCrop: function onCrop(croppedSrc) {
95
+ onCrop: croppedSrc => {
143
96
  handleImageFile(file, croppedSrc);
144
97
  },
145
- onClose: function onClose() {
146
- (0, _utils.getBase64DataUrlFromFile)(file, function (dataUrl) {
98
+ onClose: () => {
99
+ (0, _utils.getBase64DataUrlFromFile)(file, dataUrl => {
147
100
  handleImageFile(file, dataUrl);
148
101
  });
149
102
  }
150
103
  });
151
104
  }, [cropperHandler, handleImageFile]);
152
-
153
- var handleFocus = function handleFocus(event) {
105
+ const handleFocus = event => {
154
106
  event.preventDefault();
155
107
  event.stopPropagation();
156
-
157
108
  if (event.target.tagName === 'BUTTON') {
158
109
  setFocusCount(focusCount + 1);
159
110
  }
160
111
  };
161
-
162
- var handleBlur = function handleBlur(event) {
112
+ const handleBlur = event => {
163
113
  event.preventDefault();
164
- event.stopPropagation(); // if click figure,after click button
114
+ event.stopPropagation();
165
115
 
116
+ // if click figure,after click button
166
117
  if (refWrapper.current.contains(event.relatedTarget)) return;
167
-
168
118
  if (event.target === refWrapper.current && onBlur) {
169
119
  onBlur();
170
120
  }
171
121
  };
172
-
173
- (0, _react.useEffect)(function () {
122
+ (0, _react.useEffect)(() => {
174
123
  setCurrentSrc(src);
175
- }, [src, ref]); // if click button icon,can focus figure element
124
+ }, [src, ref]);
176
125
 
177
- (0, _react.useEffect)(function () {
126
+ // if click button icon,can focus figure element
127
+ (0, _react.useEffect)(() => {
178
128
  if (focusCount === 2) {
179
129
  refWrapper.current.focus();
180
130
  setFocusCount(0);
@@ -196,13 +146,13 @@ var UploadImage = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
196
146
  roundedCircle: roundedCircle,
197
147
  children: [ref.current && ref.current.files && ref.current.files.length !== 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(CropButton, {
198
148
  roundedCircle: roundedCircle,
199
- onClick: function onClick() {
149
+ onClick: () => {
200
150
  handleCrop(currentSrc, ref.current.files[0]);
201
151
  },
202
152
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_md.MdCrop, {})
203
153
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(ModifyButton, {
204
154
  roundedCircle: roundedCircle,
205
- onClick: function onClick() {
155
+ onClick: () => {
206
156
  ref.current.click();
207
157
  },
208
158
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_fa.FaPen, {})
@@ -211,40 +161,42 @@ var UploadImage = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
211
161
  ref: ref && ref,
212
162
  id: id,
213
163
  accept: ".jpeg, .bmp, .jpg, .png",
214
- onChange: function onChange(event) {
215
- return handleOnChange(event.target.files);
216
- }
164
+ onChange: event => handleOnChange(event.target.files)
217
165
  }), ref && ref.current && ref.current.files && ref.current.files.length !== 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(RemoveIcon, {
218
166
  onClick: handleAvatarRemove,
219
167
  roundedCircle: roundedCircle,
220
168
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_fa.FaTimes, {})
221
- }), allowClear && src && ref && !((_ref$current = ref.current) !== null && _ref$current !== void 0 && (_ref$current$files = _ref$current.files) !== null && _ref$current$files !== void 0 && _ref$current$files.length) > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(RemoveIcon, {
169
+ }), allowClear && src && ref && !((_ref$current = ref.current) !== null && _ref$current !== void 0 && (_ref$current = _ref$current.files) !== null && _ref$current !== void 0 && _ref$current.length) > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(RemoveIcon, {
222
170
  onClick: onClear,
223
171
  roundedCircle: roundedCircle,
224
172
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_fa.FaTimes, {})
225
173
  })]
226
174
  });
227
175
  });
228
- var Wrapper = (0, _styledComponents.default)(_ImageFigure.default)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n position: relative;\n padding: var(--spacing-xs);\n"])));
229
-
230
- var ButtonGroup = _styledComponents.default.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n position: absolute;\n top: -16px;\n right: -12px;\n\n ", "\n"])), function (_ref2) {
231
- var rounded = _ref2.rounded;
176
+ const Wrapper = (0, _styledComponents.default)(_ImageFigure.default)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n position: relative;\n padding: var(--spacing-xs);\n"])));
177
+ const ButtonGroup = _styledComponents.default.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n position: absolute;\n top: -16px;\n right: -12px;\n\n ", "\n"])), _ref2 => {
178
+ let {
179
+ rounded
180
+ } = _ref2;
232
181
  return rounded && "\n top: 0;\n right: 0;\n ";
233
182
  });
234
-
235
- var ActionButton = _styledComponents.default.button(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n display: inline-flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n width: 32px;\n height: 32px;\n border: none;\n"])));
236
-
237
- var CropButton = (0, _styledComponents.default)(ActionButton)(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n color: var(--font-on-primary);\n background: var(--color-primary);\n border-radius: var(--border-radius);\n\n ", "\n"])), function (_ref3) {
238
- var roundedCircle = _ref3.roundedCircle;
183
+ const ActionButton = _styledComponents.default.button(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n display: inline-flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n width: 32px;\n height: 32px;\n border: none;\n"])));
184
+ const CropButton = (0, _styledComponents.default)(ActionButton)(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n color: var(--font-on-primary);\n background: var(--color-primary);\n border-radius: var(--border-radius);\n\n ", "\n"])), _ref3 => {
185
+ let {
186
+ roundedCircle
187
+ } = _ref3;
239
188
  return roundedCircle && "\n position: relative;\n top: -16px;\n ";
240
189
  });
241
- var ModifyButton = (0, _styledComponents.default)(ActionButton)(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n color: var(--font-on-primary);\n background: var(--color-primary);\n border-radius: var(--border-radius);\n margin-left: var(--spacing-xs);\n\n ", "\n"])), function (_ref4) {
242
- var roundedCircle = _ref4.roundedCircle;
190
+ const ModifyButton = (0, _styledComponents.default)(ActionButton)(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n color: var(--font-on-primary);\n background: var(--color-primary);\n border-radius: var(--border-radius);\n margin-left: var(--spacing-xs);\n\n ", "\n"])), _ref4 => {
191
+ let {
192
+ roundedCircle
193
+ } = _ref4;
243
194
  return roundedCircle && "\n position: relative;\n top: 4px;\n ";
244
195
  });
245
- var RemoveIcon = (0, _styledComponents.default)(ActionButton)(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n position: absolute;\n color: var(--font-on-danger);\n background: var(--color-danger);\n border-radius: var(--border-radius);\n bottom: -12px;\n right: -12px;\n\n ", "\n"])), function (_ref5) {
246
- var roundedCircle = _ref5.roundedCircle;
196
+ const RemoveIcon = (0, _styledComponents.default)(ActionButton)(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n position: absolute;\n color: var(--font-on-danger);\n background: var(--color-danger);\n border-radius: var(--border-radius);\n bottom: -12px;\n right: -12px;\n\n ", "\n"])), _ref5 => {
197
+ let {
198
+ roundedCircle
199
+ } = _ref5;
247
200
  return roundedCircle && "\n bottom: 0;\n right: 4px;\n ";
248
201
  });
249
- var _default = UploadImage;
250
- exports.default = _default;
202
+ var _default = exports.default = UploadImage;
package/image/index.js CHANGED
@@ -5,19 +5,16 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  Object.defineProperty(exports, "ImageFluid", {
7
7
  enumerable: true,
8
- get: function get() {
8
+ get: function () {
9
9
  return _ImageFluid.default;
10
10
  }
11
11
  });
12
12
  Object.defineProperty(exports, "UploadImage", {
13
13
  enumerable: true,
14
- get: function get() {
14
+ get: function () {
15
15
  return _UploadImage.default;
16
16
  }
17
17
  });
18
-
19
18
  var _ImageFluid = _interopRequireDefault(require("./ImageFluid"));
20
-
21
19
  var _UploadImage = _interopRequireDefault(require("./UploadImage"));
22
-
23
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }