@majoo-ui/react 1.46.8-rc.1 → 1.46.8-rc.2

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 (3) hide show
  1. package/index.esm.js +119 -89
  2. package/index.umd.js +118 -88
  3. package/package.json +1 -1
package/index.esm.js CHANGED
@@ -3,7 +3,7 @@ import React__default, { useState, createContext, useContext, useEffect, useRef,
3
3
  import PropTypes from 'prop-types';
4
4
  import { createStitches, styled as styled$1 } from '@stitches/react';
5
5
  import { foundations } from '@majoo-ui/core';
6
- import { CloseOutline, UserFilled, CircleQuestionOutline, SearchOutline, CloseFilled, CircleInfoOutline, CaretDownOutline, CirclePlusOutline, ChevronDownOutline, ChevronLeftOutline, ChevronRightOutline, ChevronUpOutline, TimeOutline, CalendarOutline, ArrowLeftOutline, ArrowRightOutline, EllipsisHorizontalOutline, EyeOutline, CheckFilled, UploadOutline, ImageOutline, ChevronLgLeftOutline, ChevronUpDownOutline, RemoveOutline } from '@majoo-ui/icons';
6
+ import { CloseOutline, UserFilled, CircleQuestionOutline, SearchOutline, CloseFilled, CircleInfoOutline, CaretDownOutline, CirclePlusOutline, ChevronDownOutline, ChevronLeftOutline, ChevronRightOutline, ChevronUpOutline, TimeOutline, CalendarOutline, ArrowLeftOutline, ArrowRightOutline, EllipsisHorizontalOutline, EyeOutline, UploadOutline, ImageOutline, ChevronLgLeftOutline, ChevronUpDownOutline, CheckFilled, RemoveOutline } from '@majoo-ui/icons';
7
7
  import { Transition } from 'react-transition-group';
8
8
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
9
9
  import { Portal } from '@majoo-ui/helpers';
@@ -20498,8 +20498,8 @@ const Text = styled('p', {
20498
20498
  });
20499
20499
  const FileExtension = styled('p', {
20500
20500
  color: '#C1C1C1',
20501
- fontSize: 64,
20502
- fontWeight: 600,
20501
+ fontSize: 40,
20502
+ fontWeight: 700,
20503
20503
  fontStyle: 'normal'
20504
20504
  });
20505
20505
  const ErrorMessage = styled('p', {
@@ -20508,7 +20508,7 @@ const ErrorMessage = styled('p', {
20508
20508
  fontWeight: 400,
20509
20509
  fontStyle: 'normal',
20510
20510
  textAlign: 'center',
20511
- width: 190,
20511
+ width: 135,
20512
20512
  marginTop: '$spacing-02'
20513
20513
  });
20514
20514
  const IconCard = styled('div', {
@@ -20543,16 +20543,9 @@ const EyeIcon = styled(EyeOutline, {
20543
20543
  cursor: 'pointer',
20544
20544
  background: 'rgba(39, 42, 42, 0.6)',
20545
20545
  borderRadius: 50,
20546
- width: 40,
20547
- height: 40,
20548
- padding: '$spacing-03'
20549
- });
20550
- styled(CheckFilled, {
20551
- background: '$white',
20552
- borderRadius: 50,
20553
- width: 40,
20554
- height: 40,
20555
- padding: '$spacing-03'
20546
+ width: 32,
20547
+ height: 32,
20548
+ padding: '$spacing-02'
20556
20549
  });
20557
20550
 
20558
20551
  const IconStateFull = props => {
@@ -20573,7 +20566,7 @@ const IconStateFull = props => {
20573
20566
  __self: undefined,
20574
20567
  __source: {
20575
20568
  fileName: _jsxFileName$9,
20576
- lineNumber: 126,
20569
+ lineNumber: 118,
20577
20570
  columnNumber: 5
20578
20571
  }
20579
20572
  })) : /*#__PURE__*/React__default.createElement(EyeIcon, _extends({}, props, {
@@ -20583,7 +20576,7 @@ const IconStateFull = props => {
20583
20576
  __self: undefined,
20584
20577
  __source: {
20585
20578
  fileName: _jsxFileName$9,
20586
- lineNumber: 133,
20579
+ lineNumber: 125,
20587
20580
  columnNumber: 5
20588
20581
  }
20589
20582
  }));
@@ -20615,7 +20608,9 @@ const Upload = ({
20615
20608
  tokenKey,
20616
20609
  reqKey,
20617
20610
  resKey,
20618
- ratio
20611
+ ratio,
20612
+ disabled,
20613
+ errorMessage
20619
20614
  }) => {
20620
20615
  const isFile = listType === 'file';
20621
20616
  const imgRef = useRef(null);
@@ -20625,7 +20620,7 @@ const Upload = ({
20625
20620
  const [dragActive, setDragActive] = useState(false);
20626
20621
  const [previewImage, setPreviewImage] = useState('');
20627
20622
  const [fileState, setFileState] = useState({});
20628
- const [errorMessage, setErrorMessage] = useState(null);
20623
+ const [error, setError] = useState(null);
20629
20624
  const [crop, setCrop] = useState(null);
20630
20625
  const [completedCrop, setCompletedCrop] = useState(null);
20631
20626
  const [aspect, setAspect] = useState(ratio);
@@ -20639,6 +20634,15 @@ const Upload = ({
20639
20634
  setIsLoading(false);
20640
20635
  }
20641
20636
  }, [loading, progress]);
20637
+ useEffect(() => {
20638
+ if (errorMessage && typeof errorMessage === 'string') {
20639
+ setError(errorMessage);
20640
+ }
20641
+
20642
+ return () => {
20643
+ setError(null);
20644
+ };
20645
+ }, [errorMessage]);
20642
20646
  const ContainerUpload = styled('div', {
20643
20647
  border: '2px dashed $gray300',
20644
20648
  borderRadius: 8,
@@ -20674,6 +20678,17 @@ const Upload = ({
20674
20678
  height: height + 16,
20675
20679
  width: width + 16
20676
20680
  }
20681
+ },
20682
+ disabled: {
20683
+ true: {
20684
+ border: 'none',
20685
+ background: '$formDisable',
20686
+ cursor: 'not-allowed',
20687
+ '&:hover': {
20688
+ border: 'none',
20689
+ background: '$formDisable'
20690
+ }
20691
+ }
20677
20692
  }
20678
20693
  }
20679
20694
  });
@@ -20721,7 +20736,9 @@ const Upload = ({
20721
20736
  });
20722
20737
 
20723
20738
  function handleClick() {
20724
- hiddenFileInput.current.click();
20739
+ if (!disabled) {
20740
+ hiddenFileInput.current.click();
20741
+ }
20725
20742
  }
20726
20743
 
20727
20744
  function toggleModal() {
@@ -20771,7 +20788,7 @@ const Upload = ({
20771
20788
  file: fileProgress,
20772
20789
  indexReplace: indexReplace.current,
20773
20790
  isReplace: indexReplace.current !== null
20774
- })) === null || _onChange === void 0 ? void 0 : (_onChange$then = _onChange.then(() => setErrorMessage(null))) === null || _onChange$then === void 0 ? void 0 : _onChange$then.catch(error => setErrorMessage(error.message));
20791
+ })) === null || _onChange === void 0 ? void 0 : (_onChange$then = _onChange.then(() => setError(null))) === null || _onChange$then === void 0 ? void 0 : _onChange$then.catch(error => setError(error.message));
20775
20792
  }
20776
20793
  }).then(result => {
20777
20794
  var _onChange2, _onChange2$then;
@@ -20793,14 +20810,14 @@ const Upload = ({
20793
20810
  file: fileSuccess,
20794
20811
  indexReplace: indexReplace.current,
20795
20812
  isReplace: indexReplace.current !== null
20796
- })) === null || _onChange2 === void 0 ? void 0 : (_onChange2$then = _onChange2.then(() => setErrorMessage(null))) === null || _onChange2$then === void 0 ? void 0 : _onChange2$then.catch(error => setErrorMessage(error.message));
20813
+ })) === null || _onChange2 === void 0 ? void 0 : (_onChange2$then = _onChange2.then(() => setError(null))) === null || _onChange2$then === void 0 ? void 0 : _onChange2$then.catch(error => setError(error.message));
20797
20814
  }).catch(error => {
20798
20815
  var _onChange3, _onChange3$then;
20799
20816
 
20800
20817
  let fileError = Object.assign({}, newFile);
20801
20818
  let uid = fileError.uid;
20802
20819
  fileError.status = 'error';
20803
- fileError.errorMessage = error;
20820
+ fileError.error = error;
20804
20821
  let arrError = [...arrFile];
20805
20822
 
20806
20823
  for (let i = 0; i < arrError.length; i++) {
@@ -20814,7 +20831,7 @@ const Upload = ({
20814
20831
  file: fileError,
20815
20832
  indexReplace: indexReplace.current,
20816
20833
  isReplace: indexReplace.current !== null
20817
- })) === null || _onChange3 === void 0 ? void 0 : (_onChange3$then = _onChange3.then(() => setErrorMessage(null))) === null || _onChange3$then === void 0 ? void 0 : _onChange3$then.catch(error => setErrorMessage(error.message));
20834
+ })) === null || _onChange3 === void 0 ? void 0 : (_onChange3$then = _onChange3.then(() => setError(null))) === null || _onChange3$then === void 0 ? void 0 : _onChange3$then.catch(error => setError(error.message));
20818
20835
  });
20819
20836
  } else {
20820
20837
  var _onChange4, _onChange4$then;
@@ -20824,7 +20841,7 @@ const Upload = ({
20824
20841
  file: newFile,
20825
20842
  indexReplace: indexReplace.current,
20826
20843
  isReplace: indexReplace.current !== null
20827
- })) === null || _onChange4 === void 0 ? void 0 : (_onChange4$then = _onChange4.then(() => setErrorMessage(null))) === null || _onChange4$then === void 0 ? void 0 : _onChange4$then.catch(error => setErrorMessage(error.message));
20844
+ })) === null || _onChange4 === void 0 ? void 0 : (_onChange4$then = _onChange4.then(() => setError(null))) === null || _onChange4$then === void 0 ? void 0 : _onChange4$then.catch(error => setError(error.message));
20828
20845
  }
20829
20846
 
20830
20847
  if (indexReplace.current !== null) {
@@ -20989,7 +21006,7 @@ const Upload = ({
20989
21006
  __self: this,
20990
21007
  __source: {
20991
21008
  fileName: _jsxFileName$9,
20992
- lineNumber: 520,
21009
+ lineNumber: 537,
20993
21010
  columnNumber: 7
20994
21011
  }
20995
21012
  }, /*#__PURE__*/React__default.createElement(ButtonText, {
@@ -20999,7 +21016,7 @@ const Upload = ({
20999
21016
  __self: this,
21000
21017
  __source: {
21001
21018
  fileName: _jsxFileName$9,
21002
- lineNumber: 521,
21019
+ lineNumber: 538,
21003
21020
  columnNumber: 9
21004
21021
  }
21005
21022
  }, replaceLabel && replaceLabel.length > 0 ? replaceLabel : `Ubah ${isFile ? 'Berkas' : 'Gambar'}`));
@@ -21015,7 +21032,7 @@ const Upload = ({
21015
21032
  __self: undefined,
21016
21033
  __source: {
21017
21034
  fileName: _jsxFileName$9,
21018
- lineNumber: 531,
21035
+ lineNumber: 548,
21019
21036
  columnNumber: 16
21020
21037
  }
21021
21038
  });
@@ -21027,7 +21044,7 @@ const Upload = ({
21027
21044
  __self: undefined,
21028
21045
  __source: {
21029
21046
  fileName: _jsxFileName$9,
21030
- lineNumber: 534,
21047
+ lineNumber: 551,
21031
21048
  columnNumber: 9
21032
21049
  }
21033
21050
  }, /*#__PURE__*/React__default.createElement(Box, {
@@ -21037,7 +21054,7 @@ const Upload = ({
21037
21054
  __self: undefined,
21038
21055
  __source: {
21039
21056
  fileName: _jsxFileName$9,
21040
- lineNumber: 535,
21057
+ lineNumber: 552,
21041
21058
  columnNumber: 11
21042
21059
  }
21043
21060
  }, /*#__PURE__*/React__default.createElement(IconStateFull, {
@@ -21046,7 +21063,7 @@ const Upload = ({
21046
21063
  __self: undefined,
21047
21064
  __source: {
21048
21065
  fileName: _jsxFileName$9,
21049
- lineNumber: 536,
21066
+ lineNumber: 553,
21050
21067
  columnNumber: 13
21051
21068
  }
21052
21069
  }), /*#__PURE__*/React__default.createElement(Box, {
@@ -21059,7 +21076,7 @@ const Upload = ({
21059
21076
  __self: undefined,
21060
21077
  __source: {
21061
21078
  fileName: _jsxFileName$9,
21062
- lineNumber: 537,
21079
+ lineNumber: 554,
21063
21080
  columnNumber: 13
21064
21081
  }
21065
21082
  }, /*#__PURE__*/React__default.createElement(IconStateFull, {
@@ -21068,7 +21085,7 @@ const Upload = ({
21068
21085
  __self: undefined,
21069
21086
  __source: {
21070
21087
  fileName: _jsxFileName$9,
21071
- lineNumber: 545,
21088
+ lineNumber: 562,
21072
21089
  columnNumber: 15
21073
21090
  }
21074
21091
  })), /*#__PURE__*/React__default.createElement(Image, {
@@ -21076,7 +21093,7 @@ const Upload = ({
21076
21093
  __self: undefined,
21077
21094
  __source: {
21078
21095
  fileName: _jsxFileName$9,
21079
- lineNumber: 547,
21096
+ lineNumber: 564,
21080
21097
  columnNumber: 13
21081
21098
  }
21082
21099
  })), renderButtonReplace(index));
@@ -21095,7 +21112,7 @@ const Upload = ({
21095
21112
  __self: undefined,
21096
21113
  __source: {
21097
21114
  fileName: _jsxFileName$9,
21098
- lineNumber: 558,
21115
+ lineNumber: 575,
21099
21116
  columnNumber: 16
21100
21117
  }
21101
21118
  });
@@ -21106,7 +21123,7 @@ const Upload = ({
21106
21123
  __self: undefined,
21107
21124
  __source: {
21108
21125
  fileName: _jsxFileName$9,
21109
- lineNumber: 561,
21126
+ lineNumber: 578,
21110
21127
  columnNumber: 9
21111
21128
  }
21112
21129
  }, /*#__PURE__*/React__default.createElement(Box, {
@@ -21116,7 +21133,7 @@ const Upload = ({
21116
21133
  __self: undefined,
21117
21134
  __source: {
21118
21135
  fileName: _jsxFileName$9,
21119
- lineNumber: 562,
21136
+ lineNumber: 579,
21120
21137
  columnNumber: 11
21121
21138
  }
21122
21139
  }, /*#__PURE__*/React__default.createElement(IconStateFull, {
@@ -21125,7 +21142,7 @@ const Upload = ({
21125
21142
  __self: undefined,
21126
21143
  __source: {
21127
21144
  fileName: _jsxFileName$9,
21128
- lineNumber: 563,
21145
+ lineNumber: 580,
21129
21146
  columnNumber: 13
21130
21147
  }
21131
21148
  }), /*#__PURE__*/React__default.createElement(Box, {
@@ -21138,7 +21155,7 @@ const Upload = ({
21138
21155
  __self: undefined,
21139
21156
  __source: {
21140
21157
  fileName: _jsxFileName$9,
21141
- lineNumber: 564,
21158
+ lineNumber: 581,
21142
21159
  columnNumber: 13
21143
21160
  }
21144
21161
  }, /*#__PURE__*/React__default.createElement(Flex$1, {
@@ -21148,14 +21165,14 @@ const Upload = ({
21148
21165
  __self: undefined,
21149
21166
  __source: {
21150
21167
  fileName: _jsxFileName$9,
21151
- lineNumber: 572,
21168
+ lineNumber: 589,
21152
21169
  columnNumber: 15
21153
21170
  }
21154
21171
  }, /*#__PURE__*/React__default.createElement(FileExtension, {
21155
21172
  __self: undefined,
21156
21173
  __source: {
21157
21174
  fileName: _jsxFileName$9,
21158
- lineNumber: 573,
21175
+ lineNumber: 590,
21159
21176
  columnNumber: 17
21160
21177
  }
21161
21178
  }, ".", item === null || item === void 0 ? void 0 : (_item$name = item.name) === null || _item$name === void 0 ? void 0 : _item$name.split('.').pop()), /*#__PURE__*/React__default.createElement(Text, {
@@ -21170,7 +21187,7 @@ const Upload = ({
21170
21187
  __self: undefined,
21171
21188
  __source: {
21172
21189
  fileName: _jsxFileName$9,
21173
- lineNumber: 574,
21190
+ lineNumber: 591,
21174
21191
  columnNumber: 17
21175
21192
  }
21176
21193
  }, item.name))), /*#__PURE__*/React__default.createElement(Box, {
@@ -21183,7 +21200,7 @@ const Upload = ({
21183
21200
  __self: undefined,
21184
21201
  __source: {
21185
21202
  fileName: _jsxFileName$9,
21186
- lineNumber: 588,
21203
+ lineNumber: 605,
21187
21204
  columnNumber: 13
21188
21205
  }
21189
21206
  }, /*#__PURE__*/React__default.createElement(IconStateFull, {
@@ -21192,14 +21209,14 @@ const Upload = ({
21192
21209
  __self: undefined,
21193
21210
  __source: {
21194
21211
  fileName: _jsxFileName$9,
21195
- lineNumber: 596,
21212
+ lineNumber: 613,
21196
21213
  columnNumber: 15
21197
21214
  }
21198
21215
  })), /*#__PURE__*/React__default.createElement(Blank, {
21199
21216
  __self: undefined,
21200
21217
  __source: {
21201
21218
  fileName: _jsxFileName$9,
21202
- lineNumber: 598,
21219
+ lineNumber: 615,
21203
21220
  columnNumber: 13
21204
21221
  }
21205
21222
  })), renderButtonReplace(index));
@@ -21215,7 +21232,7 @@ const Upload = ({
21215
21232
  __self: this,
21216
21233
  __source: {
21217
21234
  fileName: _jsxFileName$9,
21218
- lineNumber: 609,
21235
+ lineNumber: 626,
21219
21236
  columnNumber: 7
21220
21237
  }
21221
21238
  }, /*#__PURE__*/React__default.createElement(Flex$1, {
@@ -21229,7 +21246,7 @@ const Upload = ({
21229
21246
  __self: this,
21230
21247
  __source: {
21231
21248
  fileName: _jsxFileName$9,
21232
- lineNumber: 610,
21249
+ lineNumber: 627,
21233
21250
  columnNumber: 9
21234
21251
  }
21235
21252
  }, /*#__PURE__*/React__default.createElement(LoadingBar, {
@@ -21255,7 +21272,7 @@ const Upload = ({
21255
21272
  __self: this,
21256
21273
  __source: {
21257
21274
  fileName: _jsxFileName$9,
21258
- lineNumber: 611,
21275
+ lineNumber: 628,
21259
21276
  columnNumber: 11
21260
21277
  }
21261
21278
  }), /*#__PURE__*/React__default.createElement(Text, {
@@ -21263,14 +21280,14 @@ const Upload = ({
21263
21280
  __self: this,
21264
21281
  __source: {
21265
21282
  fileName: _jsxFileName$9,
21266
- lineNumber: 624,
21283
+ lineNumber: 641,
21267
21284
  columnNumber: 11
21268
21285
  }
21269
21286
  }, `${progress <= 100 ? progress : 100}%`), /*#__PURE__*/React__default.createElement(Text, {
21270
21287
  __self: this,
21271
21288
  __source: {
21272
21289
  fileName: _jsxFileName$9,
21273
- lineNumber: 625,
21290
+ lineNumber: 642,
21274
21291
  columnNumber: 11
21275
21292
  }
21276
21293
  }, `${isFile ? 'Berkas' : 'Gambar'} sedang diunggah`)));
@@ -21283,12 +21300,13 @@ const Upload = ({
21283
21300
  __self: this,
21284
21301
  __source: {
21285
21302
  fileName: _jsxFileName$9,
21286
- lineNumber: 633,
21303
+ lineNumber: 650,
21287
21304
  columnNumber: 7
21288
21305
  }
21289
21306
  }, /*#__PURE__*/React__default.createElement(ContainerUpload, {
21290
21307
  hidden: max ? fileList.length >= max ? true : false : false,
21291
- showError: errorMessage !== null,
21308
+ disabled: disabled,
21309
+ showError: error !== null,
21292
21310
  onClick: handleClick,
21293
21311
  onDragEnter: handleDragEnter,
21294
21312
  onDragLeave: handleDragLeave,
@@ -21298,7 +21316,7 @@ const Upload = ({
21298
21316
  __self: this,
21299
21317
  __source: {
21300
21318
  fileName: _jsxFileName$9,
21301
- lineNumber: 634,
21319
+ lineNumber: 651,
21302
21320
  columnNumber: 9
21303
21321
  }
21304
21322
  }, /*#__PURE__*/React__default.createElement(Input$1, {
@@ -21310,55 +21328,56 @@ const Upload = ({
21310
21328
  __self: this,
21311
21329
  __source: {
21312
21330
  fileName: _jsxFileName$9,
21313
- lineNumber: 644,
21331
+ lineNumber: 662,
21314
21332
  columnNumber: 11
21315
21333
  }
21316
21334
  }), /*#__PURE__*/React__default.createElement(Children, {
21317
21335
  __self: this,
21318
21336
  __source: {
21319
21337
  fileName: _jsxFileName$9,
21320
- lineNumber: 645,
21338
+ lineNumber: 663,
21321
21339
  columnNumber: 11
21322
21340
  }
21323
21341
  }, children != null ? children : /*#__PURE__*/React__default.createElement(React__default.Fragment, {
21324
21342
  __self: this,
21325
21343
  __source: {
21326
21344
  fileName: _jsxFileName$9,
21327
- lineNumber: 647,
21345
+ lineNumber: 665,
21328
21346
  columnNumber: 15
21329
21347
  }
21330
21348
  }, /*#__PURE__*/React__default.createElement(IconCard, {
21331
21349
  __self: this,
21332
21350
  __source: {
21333
21351
  fileName: _jsxFileName$9,
21334
- lineNumber: 648,
21352
+ lineNumber: 666,
21335
21353
  columnNumber: 17
21336
21354
  }
21337
21355
  }, /*#__PURE__*/React__default.createElement(UploadOutline, {
21356
+ color: disabled ? '#C0C4C4' : '#404545',
21338
21357
  __self: this,
21339
21358
  __source: {
21340
21359
  fileName: _jsxFileName$9,
21341
- lineNumber: 649,
21360
+ lineNumber: 667,
21342
21361
  columnNumber: 19
21343
21362
  }
21344
21363
  })), /*#__PURE__*/React__default.createElement(Text, {
21345
21364
  css: {
21346
- margin: '$spacing-07 $spacing-07 0 $spacing-07'
21365
+ margin: '$spacing-04 $spacing-05 0 $spacing-05'
21347
21366
  },
21348
21367
  __self: this,
21349
21368
  __source: {
21350
21369
  fileName: _jsxFileName$9,
21351
- lineNumber: 651,
21370
+ lineNumber: 669,
21352
21371
  columnNumber: 17
21353
21372
  }
21354
- }, `Pilih atau letakkan ${isFile ? 'berkas' : 'gambar'} anda disini`)))), errorMessage && /*#__PURE__*/React__default.createElement(ErrorMessage, {
21373
+ }, `Pilih atau letakkan ${isFile ? 'berkas' : 'gambar'} di sini`)))), error && /*#__PURE__*/React__default.createElement(ErrorMessage, {
21355
21374
  __self: this,
21356
21375
  __source: {
21357
21376
  fileName: _jsxFileName$9,
21358
- lineNumber: 658,
21359
- columnNumber: 26
21377
+ lineNumber: 676,
21378
+ columnNumber: 19
21360
21379
  }
21361
- }, errorMessage));
21380
+ }, error));
21362
21381
  }
21363
21382
 
21364
21383
  function renderCropper() {
@@ -21366,7 +21385,7 @@ const Upload = ({
21366
21385
  __self: this,
21367
21386
  __source: {
21368
21387
  fileName: _jsxFileName$9,
21369
- lineNumber: 665,
21388
+ lineNumber: 683,
21370
21389
  columnNumber: 7
21371
21390
  }
21372
21391
  }, /*#__PURE__*/React__default.createElement(ModalDialogTrigger, {
@@ -21374,7 +21393,7 @@ const Upload = ({
21374
21393
  __self: this,
21375
21394
  __source: {
21376
21395
  fileName: _jsxFileName$9,
21377
- lineNumber: 666,
21396
+ lineNumber: 684,
21378
21397
  columnNumber: 9
21379
21398
  }
21380
21399
  }, /*#__PURE__*/React__default.createElement("div", {
@@ -21382,7 +21401,7 @@ const Upload = ({
21382
21401
  __self: this,
21383
21402
  __source: {
21384
21403
  fileName: _jsxFileName$9,
21385
- lineNumber: 667,
21404
+ lineNumber: 685,
21386
21405
  columnNumber: 11
21387
21406
  }
21388
21407
  })), /*#__PURE__*/React__default.createElement(ModalDialogTitle, {
@@ -21395,7 +21414,7 @@ const Upload = ({
21395
21414
  __self: this,
21396
21415
  __source: {
21397
21416
  fileName: _jsxFileName$9,
21398
- lineNumber: 669,
21417
+ lineNumber: 687,
21399
21418
  columnNumber: 9
21400
21419
  }
21401
21420
  }, cropperTitle), /*#__PURE__*/React__default.createElement(ModalDialogContent, {
@@ -21406,7 +21425,7 @@ const Upload = ({
21406
21425
  __self: this,
21407
21426
  __source: {
21408
21427
  fileName: _jsxFileName$9,
21409
- lineNumber: 672,
21428
+ lineNumber: 690,
21410
21429
  columnNumber: 9
21411
21430
  }
21412
21431
  }, /*#__PURE__*/React__default.createElement(ReactCrop, {
@@ -21417,7 +21436,7 @@ const Upload = ({
21417
21436
  __self: this,
21418
21437
  __source: {
21419
21438
  fileName: _jsxFileName$9,
21420
- lineNumber: 673,
21439
+ lineNumber: 691,
21421
21440
  columnNumber: 11
21422
21441
  }
21423
21442
  }, /*#__PURE__*/React__default.createElement(Image, {
@@ -21430,14 +21449,14 @@ const Upload = ({
21430
21449
  __self: this,
21431
21450
  __source: {
21432
21451
  fileName: _jsxFileName$9,
21433
- lineNumber: 674,
21452
+ lineNumber: 692,
21434
21453
  columnNumber: 13
21435
21454
  }
21436
21455
  }))), /*#__PURE__*/React__default.createElement(ModalDialogFooter, {
21437
21456
  __self: this,
21438
21457
  __source: {
21439
21458
  fileName: _jsxFileName$9,
21440
- lineNumber: 677,
21459
+ lineNumber: 695,
21441
21460
  columnNumber: 9
21442
21461
  }
21443
21462
  }, /*#__PURE__*/React__default.createElement(Flex$1, {
@@ -21449,7 +21468,7 @@ const Upload = ({
21449
21468
  __self: this,
21450
21469
  __source: {
21451
21470
  fileName: _jsxFileName$9,
21452
- lineNumber: 678,
21471
+ lineNumber: 696,
21453
21472
  columnNumber: 11
21454
21473
  }
21455
21474
  }, /*#__PURE__*/React__default.createElement(Tooltip, {
@@ -21457,7 +21476,7 @@ const Upload = ({
21457
21476
  __self: this,
21458
21477
  __source: {
21459
21478
  fileName: _jsxFileName$9,
21460
- lineNumber: 679,
21479
+ lineNumber: 697,
21461
21480
  columnNumber: 13
21462
21481
  }
21463
21482
  }, /*#__PURE__*/React__default.createElement(ImageOutline, {
@@ -21469,7 +21488,7 @@ const Upload = ({
21469
21488
  __self: this,
21470
21489
  __source: {
21471
21490
  fileName: _jsxFileName$9,
21472
- lineNumber: 680,
21491
+ lineNumber: 698,
21473
21492
  columnNumber: 15
21474
21493
  }
21475
21494
  })), /*#__PURE__*/React__default.createElement(Flex$1, {
@@ -21477,7 +21496,7 @@ const Upload = ({
21477
21496
  __self: this,
21478
21497
  __source: {
21479
21498
  fileName: _jsxFileName$9,
21480
- lineNumber: 686,
21499
+ lineNumber: 704,
21481
21500
  columnNumber: 13
21482
21501
  }
21483
21502
  }, /*#__PURE__*/React__default.createElement(Button$2, {
@@ -21486,7 +21505,7 @@ const Upload = ({
21486
21505
  __self: this,
21487
21506
  __source: {
21488
21507
  fileName: _jsxFileName$9,
21489
- lineNumber: 687,
21508
+ lineNumber: 705,
21490
21509
  columnNumber: 15
21491
21510
  }
21492
21511
  }, "Batal"), /*#__PURE__*/React__default.createElement(Button$2, {
@@ -21494,7 +21513,7 @@ const Upload = ({
21494
21513
  __self: this,
21495
21514
  __source: {
21496
21515
  fileName: _jsxFileName$9,
21497
- lineNumber: 690,
21516
+ lineNumber: 708,
21498
21517
  columnNumber: 15
21499
21518
  }
21500
21519
  }, `${completedCrop !== null && completedCrop !== void 0 && completedCrop.width && completedCrop !== null && completedCrop !== void 0 && completedCrop.height ? 'Potong & Simpan' : 'Simpan'}`)))));
@@ -21510,7 +21529,7 @@ const Upload = ({
21510
21529
  __self: undefined,
21511
21530
  __source: {
21512
21531
  fileName: _jsxFileName$9,
21513
- lineNumber: 701,
21532
+ lineNumber: 719,
21514
21533
  columnNumber: 5
21515
21534
  }
21516
21535
  }, !isFile && renderPicture(), isFile && renderFile(), progress || isLoading ? /*#__PURE__*/React__default.createElement(UploadProgress, {
@@ -21519,7 +21538,7 @@ const Upload = ({
21519
21538
  __self: undefined,
21520
21539
  __source: {
21521
21540
  fileName: _jsxFileName$9,
21522
- lineNumber: 704,
21541
+ lineNumber: 722,
21523
21542
  columnNumber: 32
21524
21543
  }
21525
21544
  }) : renderUpload(), showCropper && renderCropper());
@@ -21528,25 +21547,21 @@ const Upload = ({
21528
21547
  Upload.defaultProps = {
21529
21548
  listType: 'file',
21530
21549
  fileList: [],
21531
- height: 200,
21532
- width: 200,
21550
+ height: 140,
21551
+ width: 140,
21533
21552
  cropperTitle: 'Potong Gambar',
21534
21553
  showCropper: true,
21535
21554
  tokenKey: 'Token',
21536
21555
  reqKey: 'file',
21537
21556
  resKey: 'url',
21538
- ratio: 16 / 9
21557
+ ratio: 16 / 9,
21558
+ disabled: false
21539
21559
  };
21540
21560
  Upload.propTypes = {
21541
21561
  /**
21542
- Progress of upload process
21562
+ Disabled state of upload.
21543
21563
  */
21544
- progress: PropTypes.number,
21545
-
21546
- /**
21547
- Auto increment progress of upload process
21548
- */
21549
- loading: PropTypes.bool,
21564
+ disabled: PropTypes.bool,
21550
21565
 
21551
21566
  /**
21552
21567
  Built-in stylesheets, support for two types.
@@ -21646,6 +21661,21 @@ Upload.propTypes = {
21646
21661
  */
21647
21662
  ratio: PropTypes.number,
21648
21663
 
21664
+ /**
21665
+ Can set error message to the upload.
21666
+ */
21667
+ errorMessage: PropTypes.string,
21668
+
21669
+ /**
21670
+ Progress of upload process.
21671
+ */
21672
+ progress: PropTypes.number,
21673
+
21674
+ /**
21675
+ Auto increment progress of upload process.
21676
+ */
21677
+ loading: PropTypes.bool,
21678
+
21649
21679
  /**
21650
21680
  API upload url, allows components to automatically upload directly to API service.
21651
21681
  */
package/index.umd.js CHANGED
@@ -20871,8 +20871,8 @@
20871
20871
  });
20872
20872
  const FileExtension = styled('p', {
20873
20873
  color: '#C1C1C1',
20874
- fontSize: 64,
20875
- fontWeight: 600,
20874
+ fontSize: 40,
20875
+ fontWeight: 700,
20876
20876
  fontStyle: 'normal'
20877
20877
  });
20878
20878
  const ErrorMessage = styled('p', {
@@ -20881,7 +20881,7 @@
20881
20881
  fontWeight: 400,
20882
20882
  fontStyle: 'normal',
20883
20883
  textAlign: 'center',
20884
- width: 190,
20884
+ width: 135,
20885
20885
  marginTop: '$spacing-02'
20886
20886
  });
20887
20887
  const IconCard = styled('div', {
@@ -20916,16 +20916,9 @@
20916
20916
  cursor: 'pointer',
20917
20917
  background: 'rgba(39, 42, 42, 0.6)',
20918
20918
  borderRadius: 50,
20919
- width: 40,
20920
- height: 40,
20921
- padding: '$spacing-03'
20922
- });
20923
- styled(icons.CheckFilled, {
20924
- background: '$white',
20925
- borderRadius: 50,
20926
- width: 40,
20927
- height: 40,
20928
- padding: '$spacing-03'
20919
+ width: 32,
20920
+ height: 32,
20921
+ padding: '$spacing-02'
20929
20922
  });
20930
20923
 
20931
20924
  const IconStateFull = props => {
@@ -20946,7 +20939,7 @@
20946
20939
  __self: undefined,
20947
20940
  __source: {
20948
20941
  fileName: _jsxFileName$9,
20949
- lineNumber: 126,
20942
+ lineNumber: 118,
20950
20943
  columnNumber: 5
20951
20944
  }
20952
20945
  })) : /*#__PURE__*/React__default["default"].createElement(EyeIcon, _extends({}, props, {
@@ -20956,7 +20949,7 @@
20956
20949
  __self: undefined,
20957
20950
  __source: {
20958
20951
  fileName: _jsxFileName$9,
20959
- lineNumber: 133,
20952
+ lineNumber: 125,
20960
20953
  columnNumber: 5
20961
20954
  }
20962
20955
  }));
@@ -20988,7 +20981,9 @@
20988
20981
  tokenKey,
20989
20982
  reqKey,
20990
20983
  resKey,
20991
- ratio
20984
+ ratio,
20985
+ disabled,
20986
+ errorMessage
20992
20987
  }) => {
20993
20988
  const isFile = listType === 'file';
20994
20989
  const imgRef = React.useRef(null);
@@ -20998,7 +20993,7 @@
20998
20993
  const [dragActive, setDragActive] = React.useState(false);
20999
20994
  const [previewImage, setPreviewImage] = React.useState('');
21000
20995
  const [fileState, setFileState] = React.useState({});
21001
- const [errorMessage, setErrorMessage] = React.useState(null);
20996
+ const [error, setError] = React.useState(null);
21002
20997
  const [crop, setCrop] = React.useState(null);
21003
20998
  const [completedCrop, setCompletedCrop] = React.useState(null);
21004
20999
  const [aspect, setAspect] = React.useState(ratio);
@@ -21012,6 +21007,15 @@
21012
21007
  setIsLoading(false);
21013
21008
  }
21014
21009
  }, [loading, progress]);
21010
+ React.useEffect(() => {
21011
+ if (errorMessage && typeof errorMessage === 'string') {
21012
+ setError(errorMessage);
21013
+ }
21014
+
21015
+ return () => {
21016
+ setError(null);
21017
+ };
21018
+ }, [errorMessage]);
21015
21019
  const ContainerUpload = styled('div', {
21016
21020
  border: '2px dashed $gray300',
21017
21021
  borderRadius: 8,
@@ -21047,6 +21051,17 @@
21047
21051
  height: height + 16,
21048
21052
  width: width + 16
21049
21053
  }
21054
+ },
21055
+ disabled: {
21056
+ true: {
21057
+ border: 'none',
21058
+ background: '$formDisable',
21059
+ cursor: 'not-allowed',
21060
+ '&:hover': {
21061
+ border: 'none',
21062
+ background: '$formDisable'
21063
+ }
21064
+ }
21050
21065
  }
21051
21066
  }
21052
21067
  });
@@ -21094,7 +21109,9 @@
21094
21109
  });
21095
21110
 
21096
21111
  function handleClick() {
21097
- hiddenFileInput.current.click();
21112
+ if (!disabled) {
21113
+ hiddenFileInput.current.click();
21114
+ }
21098
21115
  }
21099
21116
 
21100
21117
  function toggleModal() {
@@ -21144,7 +21161,7 @@
21144
21161
  file: fileProgress,
21145
21162
  indexReplace: indexReplace.current,
21146
21163
  isReplace: indexReplace.current !== null
21147
- })) === null || _onChange === void 0 ? void 0 : (_onChange$then = _onChange.then(() => setErrorMessage(null))) === null || _onChange$then === void 0 ? void 0 : _onChange$then.catch(error => setErrorMessage(error.message));
21164
+ })) === null || _onChange === void 0 ? void 0 : (_onChange$then = _onChange.then(() => setError(null))) === null || _onChange$then === void 0 ? void 0 : _onChange$then.catch(error => setError(error.message));
21148
21165
  }
21149
21166
  }).then(result => {
21150
21167
  var _onChange2, _onChange2$then;
@@ -21166,14 +21183,14 @@
21166
21183
  file: fileSuccess,
21167
21184
  indexReplace: indexReplace.current,
21168
21185
  isReplace: indexReplace.current !== null
21169
- })) === null || _onChange2 === void 0 ? void 0 : (_onChange2$then = _onChange2.then(() => setErrorMessage(null))) === null || _onChange2$then === void 0 ? void 0 : _onChange2$then.catch(error => setErrorMessage(error.message));
21186
+ })) === null || _onChange2 === void 0 ? void 0 : (_onChange2$then = _onChange2.then(() => setError(null))) === null || _onChange2$then === void 0 ? void 0 : _onChange2$then.catch(error => setError(error.message));
21170
21187
  }).catch(error => {
21171
21188
  var _onChange3, _onChange3$then;
21172
21189
 
21173
21190
  let fileError = Object.assign({}, newFile);
21174
21191
  let uid = fileError.uid;
21175
21192
  fileError.status = 'error';
21176
- fileError.errorMessage = error;
21193
+ fileError.error = error;
21177
21194
  let arrError = [...arrFile];
21178
21195
 
21179
21196
  for (let i = 0; i < arrError.length; i++) {
@@ -21187,7 +21204,7 @@
21187
21204
  file: fileError,
21188
21205
  indexReplace: indexReplace.current,
21189
21206
  isReplace: indexReplace.current !== null
21190
- })) === null || _onChange3 === void 0 ? void 0 : (_onChange3$then = _onChange3.then(() => setErrorMessage(null))) === null || _onChange3$then === void 0 ? void 0 : _onChange3$then.catch(error => setErrorMessage(error.message));
21207
+ })) === null || _onChange3 === void 0 ? void 0 : (_onChange3$then = _onChange3.then(() => setError(null))) === null || _onChange3$then === void 0 ? void 0 : _onChange3$then.catch(error => setError(error.message));
21191
21208
  });
21192
21209
  } else {
21193
21210
  var _onChange4, _onChange4$then;
@@ -21197,7 +21214,7 @@
21197
21214
  file: newFile,
21198
21215
  indexReplace: indexReplace.current,
21199
21216
  isReplace: indexReplace.current !== null
21200
- })) === null || _onChange4 === void 0 ? void 0 : (_onChange4$then = _onChange4.then(() => setErrorMessage(null))) === null || _onChange4$then === void 0 ? void 0 : _onChange4$then.catch(error => setErrorMessage(error.message));
21217
+ })) === null || _onChange4 === void 0 ? void 0 : (_onChange4$then = _onChange4.then(() => setError(null))) === null || _onChange4$then === void 0 ? void 0 : _onChange4$then.catch(error => setError(error.message));
21201
21218
  }
21202
21219
 
21203
21220
  if (indexReplace.current !== null) {
@@ -21362,7 +21379,7 @@
21362
21379
  __self: this,
21363
21380
  __source: {
21364
21381
  fileName: _jsxFileName$9,
21365
- lineNumber: 520,
21382
+ lineNumber: 537,
21366
21383
  columnNumber: 7
21367
21384
  }
21368
21385
  }, /*#__PURE__*/React__default["default"].createElement(ButtonText, {
@@ -21372,7 +21389,7 @@
21372
21389
  __self: this,
21373
21390
  __source: {
21374
21391
  fileName: _jsxFileName$9,
21375
- lineNumber: 521,
21392
+ lineNumber: 538,
21376
21393
  columnNumber: 9
21377
21394
  }
21378
21395
  }, replaceLabel && replaceLabel.length > 0 ? replaceLabel : `Ubah ${isFile ? 'Berkas' : 'Gambar'}`));
@@ -21388,7 +21405,7 @@
21388
21405
  __self: undefined,
21389
21406
  __source: {
21390
21407
  fileName: _jsxFileName$9,
21391
- lineNumber: 531,
21408
+ lineNumber: 548,
21392
21409
  columnNumber: 16
21393
21410
  }
21394
21411
  });
@@ -21400,7 +21417,7 @@
21400
21417
  __self: undefined,
21401
21418
  __source: {
21402
21419
  fileName: _jsxFileName$9,
21403
- lineNumber: 534,
21420
+ lineNumber: 551,
21404
21421
  columnNumber: 9
21405
21422
  }
21406
21423
  }, /*#__PURE__*/React__default["default"].createElement(Box, {
@@ -21410,7 +21427,7 @@
21410
21427
  __self: undefined,
21411
21428
  __source: {
21412
21429
  fileName: _jsxFileName$9,
21413
- lineNumber: 535,
21430
+ lineNumber: 552,
21414
21431
  columnNumber: 11
21415
21432
  }
21416
21433
  }, /*#__PURE__*/React__default["default"].createElement(IconStateFull, {
@@ -21419,7 +21436,7 @@
21419
21436
  __self: undefined,
21420
21437
  __source: {
21421
21438
  fileName: _jsxFileName$9,
21422
- lineNumber: 536,
21439
+ lineNumber: 553,
21423
21440
  columnNumber: 13
21424
21441
  }
21425
21442
  }), /*#__PURE__*/React__default["default"].createElement(Box, {
@@ -21432,7 +21449,7 @@
21432
21449
  __self: undefined,
21433
21450
  __source: {
21434
21451
  fileName: _jsxFileName$9,
21435
- lineNumber: 537,
21452
+ lineNumber: 554,
21436
21453
  columnNumber: 13
21437
21454
  }
21438
21455
  }, /*#__PURE__*/React__default["default"].createElement(IconStateFull, {
@@ -21441,7 +21458,7 @@
21441
21458
  __self: undefined,
21442
21459
  __source: {
21443
21460
  fileName: _jsxFileName$9,
21444
- lineNumber: 545,
21461
+ lineNumber: 562,
21445
21462
  columnNumber: 15
21446
21463
  }
21447
21464
  })), /*#__PURE__*/React__default["default"].createElement(Image, {
@@ -21449,7 +21466,7 @@
21449
21466
  __self: undefined,
21450
21467
  __source: {
21451
21468
  fileName: _jsxFileName$9,
21452
- lineNumber: 547,
21469
+ lineNumber: 564,
21453
21470
  columnNumber: 13
21454
21471
  }
21455
21472
  })), renderButtonReplace(index));
@@ -21468,7 +21485,7 @@
21468
21485
  __self: undefined,
21469
21486
  __source: {
21470
21487
  fileName: _jsxFileName$9,
21471
- lineNumber: 558,
21488
+ lineNumber: 575,
21472
21489
  columnNumber: 16
21473
21490
  }
21474
21491
  });
@@ -21479,7 +21496,7 @@
21479
21496
  __self: undefined,
21480
21497
  __source: {
21481
21498
  fileName: _jsxFileName$9,
21482
- lineNumber: 561,
21499
+ lineNumber: 578,
21483
21500
  columnNumber: 9
21484
21501
  }
21485
21502
  }, /*#__PURE__*/React__default["default"].createElement(Box, {
@@ -21489,7 +21506,7 @@
21489
21506
  __self: undefined,
21490
21507
  __source: {
21491
21508
  fileName: _jsxFileName$9,
21492
- lineNumber: 562,
21509
+ lineNumber: 579,
21493
21510
  columnNumber: 11
21494
21511
  }
21495
21512
  }, /*#__PURE__*/React__default["default"].createElement(IconStateFull, {
@@ -21498,7 +21515,7 @@
21498
21515
  __self: undefined,
21499
21516
  __source: {
21500
21517
  fileName: _jsxFileName$9,
21501
- lineNumber: 563,
21518
+ lineNumber: 580,
21502
21519
  columnNumber: 13
21503
21520
  }
21504
21521
  }), /*#__PURE__*/React__default["default"].createElement(Box, {
@@ -21511,7 +21528,7 @@
21511
21528
  __self: undefined,
21512
21529
  __source: {
21513
21530
  fileName: _jsxFileName$9,
21514
- lineNumber: 564,
21531
+ lineNumber: 581,
21515
21532
  columnNumber: 13
21516
21533
  }
21517
21534
  }, /*#__PURE__*/React__default["default"].createElement(Flex$1, {
@@ -21521,14 +21538,14 @@
21521
21538
  __self: undefined,
21522
21539
  __source: {
21523
21540
  fileName: _jsxFileName$9,
21524
- lineNumber: 572,
21541
+ lineNumber: 589,
21525
21542
  columnNumber: 15
21526
21543
  }
21527
21544
  }, /*#__PURE__*/React__default["default"].createElement(FileExtension, {
21528
21545
  __self: undefined,
21529
21546
  __source: {
21530
21547
  fileName: _jsxFileName$9,
21531
- lineNumber: 573,
21548
+ lineNumber: 590,
21532
21549
  columnNumber: 17
21533
21550
  }
21534
21551
  }, ".", item === null || item === void 0 ? void 0 : (_item$name = item.name) === null || _item$name === void 0 ? void 0 : _item$name.split('.').pop()), /*#__PURE__*/React__default["default"].createElement(Text, {
@@ -21543,7 +21560,7 @@
21543
21560
  __self: undefined,
21544
21561
  __source: {
21545
21562
  fileName: _jsxFileName$9,
21546
- lineNumber: 574,
21563
+ lineNumber: 591,
21547
21564
  columnNumber: 17
21548
21565
  }
21549
21566
  }, item.name))), /*#__PURE__*/React__default["default"].createElement(Box, {
@@ -21556,7 +21573,7 @@
21556
21573
  __self: undefined,
21557
21574
  __source: {
21558
21575
  fileName: _jsxFileName$9,
21559
- lineNumber: 588,
21576
+ lineNumber: 605,
21560
21577
  columnNumber: 13
21561
21578
  }
21562
21579
  }, /*#__PURE__*/React__default["default"].createElement(IconStateFull, {
@@ -21565,14 +21582,14 @@
21565
21582
  __self: undefined,
21566
21583
  __source: {
21567
21584
  fileName: _jsxFileName$9,
21568
- lineNumber: 596,
21585
+ lineNumber: 613,
21569
21586
  columnNumber: 15
21570
21587
  }
21571
21588
  })), /*#__PURE__*/React__default["default"].createElement(Blank, {
21572
21589
  __self: undefined,
21573
21590
  __source: {
21574
21591
  fileName: _jsxFileName$9,
21575
- lineNumber: 598,
21592
+ lineNumber: 615,
21576
21593
  columnNumber: 13
21577
21594
  }
21578
21595
  })), renderButtonReplace(index));
@@ -21588,7 +21605,7 @@
21588
21605
  __self: this,
21589
21606
  __source: {
21590
21607
  fileName: _jsxFileName$9,
21591
- lineNumber: 609,
21608
+ lineNumber: 626,
21592
21609
  columnNumber: 7
21593
21610
  }
21594
21611
  }, /*#__PURE__*/React__default["default"].createElement(Flex$1, {
@@ -21602,7 +21619,7 @@
21602
21619
  __self: this,
21603
21620
  __source: {
21604
21621
  fileName: _jsxFileName$9,
21605
- lineNumber: 610,
21622
+ lineNumber: 627,
21606
21623
  columnNumber: 9
21607
21624
  }
21608
21625
  }, /*#__PURE__*/React__default["default"].createElement(LoadingBar, {
@@ -21628,7 +21645,7 @@
21628
21645
  __self: this,
21629
21646
  __source: {
21630
21647
  fileName: _jsxFileName$9,
21631
- lineNumber: 611,
21648
+ lineNumber: 628,
21632
21649
  columnNumber: 11
21633
21650
  }
21634
21651
  }), /*#__PURE__*/React__default["default"].createElement(Text, {
@@ -21636,14 +21653,14 @@
21636
21653
  __self: this,
21637
21654
  __source: {
21638
21655
  fileName: _jsxFileName$9,
21639
- lineNumber: 624,
21656
+ lineNumber: 641,
21640
21657
  columnNumber: 11
21641
21658
  }
21642
21659
  }, `${progress <= 100 ? progress : 100}%`), /*#__PURE__*/React__default["default"].createElement(Text, {
21643
21660
  __self: this,
21644
21661
  __source: {
21645
21662
  fileName: _jsxFileName$9,
21646
- lineNumber: 625,
21663
+ lineNumber: 642,
21647
21664
  columnNumber: 11
21648
21665
  }
21649
21666
  }, `${isFile ? 'Berkas' : 'Gambar'} sedang diunggah`)));
@@ -21656,12 +21673,13 @@
21656
21673
  __self: this,
21657
21674
  __source: {
21658
21675
  fileName: _jsxFileName$9,
21659
- lineNumber: 633,
21676
+ lineNumber: 650,
21660
21677
  columnNumber: 7
21661
21678
  }
21662
21679
  }, /*#__PURE__*/React__default["default"].createElement(ContainerUpload, {
21663
21680
  hidden: max ? fileList.length >= max ? true : false : false,
21664
- showError: errorMessage !== null,
21681
+ disabled: disabled,
21682
+ showError: error !== null,
21665
21683
  onClick: handleClick,
21666
21684
  onDragEnter: handleDragEnter,
21667
21685
  onDragLeave: handleDragLeave,
@@ -21671,7 +21689,7 @@
21671
21689
  __self: this,
21672
21690
  __source: {
21673
21691
  fileName: _jsxFileName$9,
21674
- lineNumber: 634,
21692
+ lineNumber: 651,
21675
21693
  columnNumber: 9
21676
21694
  }
21677
21695
  }, /*#__PURE__*/React__default["default"].createElement(Input$1, {
@@ -21683,55 +21701,56 @@
21683
21701
  __self: this,
21684
21702
  __source: {
21685
21703
  fileName: _jsxFileName$9,
21686
- lineNumber: 644,
21704
+ lineNumber: 662,
21687
21705
  columnNumber: 11
21688
21706
  }
21689
21707
  }), /*#__PURE__*/React__default["default"].createElement(Children, {
21690
21708
  __self: this,
21691
21709
  __source: {
21692
21710
  fileName: _jsxFileName$9,
21693
- lineNumber: 645,
21711
+ lineNumber: 663,
21694
21712
  columnNumber: 11
21695
21713
  }
21696
21714
  }, children != null ? children : /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, {
21697
21715
  __self: this,
21698
21716
  __source: {
21699
21717
  fileName: _jsxFileName$9,
21700
- lineNumber: 647,
21718
+ lineNumber: 665,
21701
21719
  columnNumber: 15
21702
21720
  }
21703
21721
  }, /*#__PURE__*/React__default["default"].createElement(IconCard, {
21704
21722
  __self: this,
21705
21723
  __source: {
21706
21724
  fileName: _jsxFileName$9,
21707
- lineNumber: 648,
21725
+ lineNumber: 666,
21708
21726
  columnNumber: 17
21709
21727
  }
21710
21728
  }, /*#__PURE__*/React__default["default"].createElement(icons.UploadOutline, {
21729
+ color: disabled ? '#C0C4C4' : '#404545',
21711
21730
  __self: this,
21712
21731
  __source: {
21713
21732
  fileName: _jsxFileName$9,
21714
- lineNumber: 649,
21733
+ lineNumber: 667,
21715
21734
  columnNumber: 19
21716
21735
  }
21717
21736
  })), /*#__PURE__*/React__default["default"].createElement(Text, {
21718
21737
  css: {
21719
- margin: '$spacing-07 $spacing-07 0 $spacing-07'
21738
+ margin: '$spacing-04 $spacing-05 0 $spacing-05'
21720
21739
  },
21721
21740
  __self: this,
21722
21741
  __source: {
21723
21742
  fileName: _jsxFileName$9,
21724
- lineNumber: 651,
21743
+ lineNumber: 669,
21725
21744
  columnNumber: 17
21726
21745
  }
21727
- }, `Pilih atau letakkan ${isFile ? 'berkas' : 'gambar'} anda disini`)))), errorMessage && /*#__PURE__*/React__default["default"].createElement(ErrorMessage, {
21746
+ }, `Pilih atau letakkan ${isFile ? 'berkas' : 'gambar'} di sini`)))), error && /*#__PURE__*/React__default["default"].createElement(ErrorMessage, {
21728
21747
  __self: this,
21729
21748
  __source: {
21730
21749
  fileName: _jsxFileName$9,
21731
- lineNumber: 658,
21732
- columnNumber: 26
21750
+ lineNumber: 676,
21751
+ columnNumber: 19
21733
21752
  }
21734
- }, errorMessage));
21753
+ }, error));
21735
21754
  }
21736
21755
 
21737
21756
  function renderCropper() {
@@ -21739,7 +21758,7 @@
21739
21758
  __self: this,
21740
21759
  __source: {
21741
21760
  fileName: _jsxFileName$9,
21742
- lineNumber: 665,
21761
+ lineNumber: 683,
21743
21762
  columnNumber: 7
21744
21763
  }
21745
21764
  }, /*#__PURE__*/React__default["default"].createElement(ModalDialogTrigger, {
@@ -21747,7 +21766,7 @@
21747
21766
  __self: this,
21748
21767
  __source: {
21749
21768
  fileName: _jsxFileName$9,
21750
- lineNumber: 666,
21769
+ lineNumber: 684,
21751
21770
  columnNumber: 9
21752
21771
  }
21753
21772
  }, /*#__PURE__*/React__default["default"].createElement("div", {
@@ -21755,7 +21774,7 @@
21755
21774
  __self: this,
21756
21775
  __source: {
21757
21776
  fileName: _jsxFileName$9,
21758
- lineNumber: 667,
21777
+ lineNumber: 685,
21759
21778
  columnNumber: 11
21760
21779
  }
21761
21780
  })), /*#__PURE__*/React__default["default"].createElement(ModalDialogTitle, {
@@ -21768,7 +21787,7 @@
21768
21787
  __self: this,
21769
21788
  __source: {
21770
21789
  fileName: _jsxFileName$9,
21771
- lineNumber: 669,
21790
+ lineNumber: 687,
21772
21791
  columnNumber: 9
21773
21792
  }
21774
21793
  }, cropperTitle), /*#__PURE__*/React__default["default"].createElement(ModalDialogContent, {
@@ -21779,7 +21798,7 @@
21779
21798
  __self: this,
21780
21799
  __source: {
21781
21800
  fileName: _jsxFileName$9,
21782
- lineNumber: 672,
21801
+ lineNumber: 690,
21783
21802
  columnNumber: 9
21784
21803
  }
21785
21804
  }, /*#__PURE__*/React__default["default"].createElement(ReactCrop__default["default"], {
@@ -21790,7 +21809,7 @@
21790
21809
  __self: this,
21791
21810
  __source: {
21792
21811
  fileName: _jsxFileName$9,
21793
- lineNumber: 673,
21812
+ lineNumber: 691,
21794
21813
  columnNumber: 11
21795
21814
  }
21796
21815
  }, /*#__PURE__*/React__default["default"].createElement(Image, {
@@ -21803,14 +21822,14 @@
21803
21822
  __self: this,
21804
21823
  __source: {
21805
21824
  fileName: _jsxFileName$9,
21806
- lineNumber: 674,
21825
+ lineNumber: 692,
21807
21826
  columnNumber: 13
21808
21827
  }
21809
21828
  }))), /*#__PURE__*/React__default["default"].createElement(ModalDialogFooter, {
21810
21829
  __self: this,
21811
21830
  __source: {
21812
21831
  fileName: _jsxFileName$9,
21813
- lineNumber: 677,
21832
+ lineNumber: 695,
21814
21833
  columnNumber: 9
21815
21834
  }
21816
21835
  }, /*#__PURE__*/React__default["default"].createElement(Flex$1, {
@@ -21822,7 +21841,7 @@
21822
21841
  __self: this,
21823
21842
  __source: {
21824
21843
  fileName: _jsxFileName$9,
21825
- lineNumber: 678,
21844
+ lineNumber: 696,
21826
21845
  columnNumber: 11
21827
21846
  }
21828
21847
  }, /*#__PURE__*/React__default["default"].createElement(Tooltip, {
@@ -21830,7 +21849,7 @@
21830
21849
  __self: this,
21831
21850
  __source: {
21832
21851
  fileName: _jsxFileName$9,
21833
- lineNumber: 679,
21852
+ lineNumber: 697,
21834
21853
  columnNumber: 13
21835
21854
  }
21836
21855
  }, /*#__PURE__*/React__default["default"].createElement(icons.ImageOutline, {
@@ -21842,7 +21861,7 @@
21842
21861
  __self: this,
21843
21862
  __source: {
21844
21863
  fileName: _jsxFileName$9,
21845
- lineNumber: 680,
21864
+ lineNumber: 698,
21846
21865
  columnNumber: 15
21847
21866
  }
21848
21867
  })), /*#__PURE__*/React__default["default"].createElement(Flex$1, {
@@ -21850,7 +21869,7 @@
21850
21869
  __self: this,
21851
21870
  __source: {
21852
21871
  fileName: _jsxFileName$9,
21853
- lineNumber: 686,
21872
+ lineNumber: 704,
21854
21873
  columnNumber: 13
21855
21874
  }
21856
21875
  }, /*#__PURE__*/React__default["default"].createElement(Button$2, {
@@ -21859,7 +21878,7 @@
21859
21878
  __self: this,
21860
21879
  __source: {
21861
21880
  fileName: _jsxFileName$9,
21862
- lineNumber: 687,
21881
+ lineNumber: 705,
21863
21882
  columnNumber: 15
21864
21883
  }
21865
21884
  }, "Batal"), /*#__PURE__*/React__default["default"].createElement(Button$2, {
@@ -21867,7 +21886,7 @@
21867
21886
  __self: this,
21868
21887
  __source: {
21869
21888
  fileName: _jsxFileName$9,
21870
- lineNumber: 690,
21889
+ lineNumber: 708,
21871
21890
  columnNumber: 15
21872
21891
  }
21873
21892
  }, `${completedCrop !== null && completedCrop !== void 0 && completedCrop.width && completedCrop !== null && completedCrop !== void 0 && completedCrop.height ? 'Potong & Simpan' : 'Simpan'}`)))));
@@ -21883,7 +21902,7 @@
21883
21902
  __self: undefined,
21884
21903
  __source: {
21885
21904
  fileName: _jsxFileName$9,
21886
- lineNumber: 701,
21905
+ lineNumber: 719,
21887
21906
  columnNumber: 5
21888
21907
  }
21889
21908
  }, !isFile && renderPicture(), isFile && renderFile(), progress || isLoading ? /*#__PURE__*/React__default["default"].createElement(UploadProgress, {
@@ -21892,7 +21911,7 @@
21892
21911
  __self: undefined,
21893
21912
  __source: {
21894
21913
  fileName: _jsxFileName$9,
21895
- lineNumber: 704,
21914
+ lineNumber: 722,
21896
21915
  columnNumber: 32
21897
21916
  }
21898
21917
  }) : renderUpload(), showCropper && renderCropper());
@@ -21901,25 +21920,21 @@
21901
21920
  Upload.defaultProps = {
21902
21921
  listType: 'file',
21903
21922
  fileList: [],
21904
- height: 200,
21905
- width: 200,
21923
+ height: 140,
21924
+ width: 140,
21906
21925
  cropperTitle: 'Potong Gambar',
21907
21926
  showCropper: true,
21908
21927
  tokenKey: 'Token',
21909
21928
  reqKey: 'file',
21910
21929
  resKey: 'url',
21911
- ratio: 16 / 9
21930
+ ratio: 16 / 9,
21931
+ disabled: false
21912
21932
  };
21913
21933
  Upload.propTypes = {
21914
21934
  /**
21915
- Progress of upload process
21935
+ Disabled state of upload.
21916
21936
  */
21917
- progress: PropTypes__default["default"].number,
21918
-
21919
- /**
21920
- Auto increment progress of upload process
21921
- */
21922
- loading: PropTypes__default["default"].bool,
21937
+ disabled: PropTypes__default["default"].bool,
21923
21938
 
21924
21939
  /**
21925
21940
  Built-in stylesheets, support for two types.
@@ -22019,6 +22034,21 @@
22019
22034
  */
22020
22035
  ratio: PropTypes__default["default"].number,
22021
22036
 
22037
+ /**
22038
+ Can set error message to the upload.
22039
+ */
22040
+ errorMessage: PropTypes__default["default"].string,
22041
+
22042
+ /**
22043
+ Progress of upload process.
22044
+ */
22045
+ progress: PropTypes__default["default"].number,
22046
+
22047
+ /**
22048
+ Auto increment progress of upload process.
22049
+ */
22050
+ loading: PropTypes__default["default"].bool,
22051
+
22022
22052
  /**
22023
22053
  API upload url, allows components to automatically upload directly to API service.
22024
22054
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@majoo-ui/react",
3
- "version": "1.46.8-rc.1",
3
+ "version": "1.46.8-rc.2",
4
4
  "dependencies": {
5
5
  "@majoo-ui/core": "^1.31.1",
6
6
  "@majoo-ui/helpers": "^1.30.4",