@majoo-ui/react 1.61.12-rc.13 → 1.61.12-rc.15

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 +77 -55
  2. package/index.umd.js +77 -55
  3. package/package.json +1 -1
package/index.esm.js CHANGED
@@ -29224,6 +29224,10 @@ const Upload = ({
29224
29224
  });
29225
29225
  function handleClick() {
29226
29226
  if (!disabled) {
29227
+ // Ensure input is reset before clicking
29228
+ if (hiddenFileInput.current) {
29229
+ hiddenFileInput.current.value = '';
29230
+ }
29227
29231
  hiddenFileInput.current.click();
29228
29232
  }
29229
29233
  }
@@ -29403,6 +29407,13 @@ const Upload = ({
29403
29407
  };
29404
29408
  }
29405
29409
  }
29410
+ // Reset the input value to ensure onChange fires even when selecting the same file
29411
+ // Use setTimeout to ensure the reset happens after the current event loop
29412
+ setTimeout(() => {
29413
+ if (e.target && e.target.value) {
29414
+ e.target.value = '';
29415
+ }
29416
+ }, 0);
29406
29417
  }
29407
29418
  function handleCrop() {
29408
29419
  if (completedCrop != null && completedCrop.width && completedCrop != null && completedCrop.height && imgRef.current) {
@@ -29476,6 +29487,10 @@ const Upload = ({
29476
29487
  }
29477
29488
  function handleReplace(index) {
29478
29489
  indexReplace.current = index;
29490
+ // Reset the input value before clicking to ensure onChange fires
29491
+ if (hiddenFileInput.current) {
29492
+ hiddenFileInput.current.value = '';
29493
+ }
29479
29494
  handleClick();
29480
29495
  }
29481
29496
  function handlePreview(file) {
@@ -29521,11 +29536,14 @@ const Upload = ({
29521
29536
  files
29522
29537
  } = e.dataTransfer;
29523
29538
  if (files && files.length) {
29524
- handleChange({
29539
+ // Create a synthetic event object that mimics the file input change event
29540
+ const syntheticEvent = {
29525
29541
  target: {
29526
- files
29542
+ files,
29543
+ value: '' // Include value property for consistency
29527
29544
  }
29528
- });
29545
+ };
29546
+ handleChange(syntheticEvent);
29529
29547
  }
29530
29548
  }
29531
29549
  function renderButtonReplace(index) {
@@ -29538,7 +29556,7 @@ const Upload = ({
29538
29556
  __self: this,
29539
29557
  __source: {
29540
29558
  fileName: _jsxFileName$9,
29541
- lineNumber: 667,
29559
+ lineNumber: 689,
29542
29560
  columnNumber: 7
29543
29561
  }
29544
29562
  }, /*#__PURE__*/React__default.createElement(ButtonText, {
@@ -29548,7 +29566,7 @@ const Upload = ({
29548
29566
  __self: this,
29549
29567
  __source: {
29550
29568
  fileName: _jsxFileName$9,
29551
- lineNumber: 668,
29569
+ lineNumber: 690,
29552
29570
  columnNumber: 9
29553
29571
  }
29554
29572
  }, replaceLabel && replaceLabel.length > 0 ? replaceLabel : t('replaceLabel', 'Ubah Berkas')));
@@ -29563,7 +29581,7 @@ const Upload = ({
29563
29581
  __self: undefined,
29564
29582
  __source: {
29565
29583
  fileName: _jsxFileName$9,
29566
- lineNumber: 678,
29584
+ lineNumber: 700,
29567
29585
  columnNumber: 16
29568
29586
  }
29569
29587
  });
@@ -29574,7 +29592,7 @@ const Upload = ({
29574
29592
  __self: undefined,
29575
29593
  __source: {
29576
29594
  fileName: _jsxFileName$9,
29577
- lineNumber: 681,
29595
+ lineNumber: 703,
29578
29596
  columnNumber: 9
29579
29597
  }
29580
29598
  }, /*#__PURE__*/React__default.createElement(Box, {
@@ -29584,7 +29602,7 @@ const Upload = ({
29584
29602
  __self: undefined,
29585
29603
  __source: {
29586
29604
  fileName: _jsxFileName$9,
29587
- lineNumber: 682,
29605
+ lineNumber: 704,
29588
29606
  columnNumber: 11
29589
29607
  }
29590
29608
  }, !disabled && /*#__PURE__*/React__default.createElement(IconStateFull, {
@@ -29593,7 +29611,7 @@ const Upload = ({
29593
29611
  __self: undefined,
29594
29612
  __source: {
29595
29613
  fileName: _jsxFileName$9,
29596
- lineNumber: 683,
29614
+ lineNumber: 705,
29597
29615
  columnNumber: 27
29598
29616
  }
29599
29617
  }), !hiddenPreview && /*#__PURE__*/React__default.createElement(Box, {
@@ -29606,7 +29624,7 @@ const Upload = ({
29606
29624
  __self: undefined,
29607
29625
  __source: {
29608
29626
  fileName: _jsxFileName$9,
29609
- lineNumber: 685,
29627
+ lineNumber: 707,
29610
29628
  columnNumber: 15
29611
29629
  }
29612
29630
  }, /*#__PURE__*/React__default.createElement(IconStateFull, {
@@ -29622,7 +29640,7 @@ const Upload = ({
29622
29640
  __self: undefined,
29623
29641
  __source: {
29624
29642
  fileName: _jsxFileName$9,
29625
- lineNumber: 693,
29643
+ lineNumber: 715,
29626
29644
  columnNumber: 17
29627
29645
  }
29628
29646
  })), /*#__PURE__*/React__default.createElement(Image, {
@@ -29632,7 +29650,7 @@ const Upload = ({
29632
29650
  __self: undefined,
29633
29651
  __source: {
29634
29652
  fileName: _jsxFileName$9,
29635
- lineNumber: 706,
29653
+ lineNumber: 728,
29636
29654
  columnNumber: 13
29637
29655
  }
29638
29656
  })), !disabled && renderButtonReplace(index));
@@ -29649,7 +29667,7 @@ const Upload = ({
29649
29667
  __self: undefined,
29650
29668
  __source: {
29651
29669
  fileName: _jsxFileName$9,
29652
- lineNumber: 717,
29670
+ lineNumber: 739,
29653
29671
  columnNumber: 16
29654
29672
  }
29655
29673
  });
@@ -29659,7 +29677,7 @@ const Upload = ({
29659
29677
  __self: undefined,
29660
29678
  __source: {
29661
29679
  fileName: _jsxFileName$9,
29662
- lineNumber: 720,
29680
+ lineNumber: 742,
29663
29681
  columnNumber: 9
29664
29682
  }
29665
29683
  }, /*#__PURE__*/React__default.createElement(Box, {
@@ -29669,7 +29687,7 @@ const Upload = ({
29669
29687
  __self: undefined,
29670
29688
  __source: {
29671
29689
  fileName: _jsxFileName$9,
29672
- lineNumber: 721,
29690
+ lineNumber: 743,
29673
29691
  columnNumber: 11
29674
29692
  }
29675
29693
  }, !disabled && /*#__PURE__*/React__default.createElement(IconStateFull, {
@@ -29678,7 +29696,7 @@ const Upload = ({
29678
29696
  __self: undefined,
29679
29697
  __source: {
29680
29698
  fileName: _jsxFileName$9,
29681
- lineNumber: 722,
29699
+ lineNumber: 744,
29682
29700
  columnNumber: 27
29683
29701
  }
29684
29702
  }), /*#__PURE__*/React__default.createElement(Box, {
@@ -29691,7 +29709,7 @@ const Upload = ({
29691
29709
  __self: undefined,
29692
29710
  __source: {
29693
29711
  fileName: _jsxFileName$9,
29694
- lineNumber: 723,
29712
+ lineNumber: 745,
29695
29713
  columnNumber: 13
29696
29714
  }
29697
29715
  }, /*#__PURE__*/React__default.createElement(Flex$1, {
@@ -29701,14 +29719,14 @@ const Upload = ({
29701
29719
  __self: undefined,
29702
29720
  __source: {
29703
29721
  fileName: _jsxFileName$9,
29704
- lineNumber: 731,
29722
+ lineNumber: 753,
29705
29723
  columnNumber: 15
29706
29724
  }
29707
29725
  }, /*#__PURE__*/React__default.createElement(FileExtension, {
29708
29726
  __self: undefined,
29709
29727
  __source: {
29710
29728
  fileName: _jsxFileName$9,
29711
- lineNumber: 732,
29729
+ lineNumber: 754,
29712
29730
  columnNumber: 17
29713
29731
  }
29714
29732
  }, ".", item == null || (_item$name = item.name) == null ? void 0 : _item$name.split('.').pop()), /*#__PURE__*/React__default.createElement(Tooltip$1, {
@@ -29716,7 +29734,7 @@ const Upload = ({
29716
29734
  __self: undefined,
29717
29735
  __source: {
29718
29736
  fileName: _jsxFileName$9,
29719
- lineNumber: 733,
29737
+ lineNumber: 755,
29720
29738
  columnNumber: 17
29721
29739
  }
29722
29740
  }, /*#__PURE__*/React__default.createElement(Text, {
@@ -29731,7 +29749,7 @@ const Upload = ({
29731
29749
  __self: undefined,
29732
29750
  __source: {
29733
29751
  fileName: _jsxFileName$9,
29734
- lineNumber: 734,
29752
+ lineNumber: 756,
29735
29753
  columnNumber: 19
29736
29754
  }
29737
29755
  }, item.name)))), !hiddenPreview && /*#__PURE__*/React__default.createElement(Box, {
@@ -29744,7 +29762,7 @@ const Upload = ({
29744
29762
  __self: undefined,
29745
29763
  __source: {
29746
29764
  fileName: _jsxFileName$9,
29747
- lineNumber: 750,
29765
+ lineNumber: 772,
29748
29766
  columnNumber: 15
29749
29767
  }
29750
29768
  }, /*#__PURE__*/React__default.createElement(IconStateFull, {
@@ -29760,7 +29778,7 @@ const Upload = ({
29760
29778
  __self: undefined,
29761
29779
  __source: {
29762
29780
  fileName: _jsxFileName$9,
29763
- lineNumber: 758,
29781
+ lineNumber: 780,
29764
29782
  columnNumber: 17
29765
29783
  }
29766
29784
  })), /*#__PURE__*/React__default.createElement(Blank, {
@@ -29768,7 +29786,7 @@ const Upload = ({
29768
29786
  __self: undefined,
29769
29787
  __source: {
29770
29788
  fileName: _jsxFileName$9,
29771
- lineNumber: 771,
29789
+ lineNumber: 793,
29772
29790
  columnNumber: 13
29773
29791
  }
29774
29792
  })), !disabled && renderButtonReplace(index));
@@ -29783,7 +29801,7 @@ const Upload = ({
29783
29801
  __self: this,
29784
29802
  __source: {
29785
29803
  fileName: _jsxFileName$9,
29786
- lineNumber: 782,
29804
+ lineNumber: 804,
29787
29805
  columnNumber: 7
29788
29806
  }
29789
29807
  }, /*#__PURE__*/React__default.createElement(Flex$1, {
@@ -29797,7 +29815,7 @@ const Upload = ({
29797
29815
  __self: this,
29798
29816
  __source: {
29799
29817
  fileName: _jsxFileName$9,
29800
- lineNumber: 783,
29818
+ lineNumber: 805,
29801
29819
  columnNumber: 9
29802
29820
  }
29803
29821
  }, /*#__PURE__*/React__default.createElement(LoadingBar, {
@@ -29823,7 +29841,7 @@ const Upload = ({
29823
29841
  __self: this,
29824
29842
  __source: {
29825
29843
  fileName: _jsxFileName$9,
29826
- lineNumber: 784,
29844
+ lineNumber: 806,
29827
29845
  columnNumber: 11
29828
29846
  }
29829
29847
  }), /*#__PURE__*/React__default.createElement(Text, {
@@ -29831,14 +29849,14 @@ const Upload = ({
29831
29849
  __self: this,
29832
29850
  __source: {
29833
29851
  fileName: _jsxFileName$9,
29834
- lineNumber: 797,
29852
+ lineNumber: 819,
29835
29853
  columnNumber: 11
29836
29854
  }
29837
29855
  }, `${progress <= 100 ? progress : 100}%`), /*#__PURE__*/React__default.createElement(Text, {
29838
29856
  __self: this,
29839
29857
  __source: {
29840
29858
  fileName: _jsxFileName$9,
29841
- lineNumber: 798,
29859
+ lineNumber: 820,
29842
29860
  columnNumber: 11
29843
29861
  }
29844
29862
  }, t('uploadingLabel', 'Berkas sedang diunggah'))));
@@ -29850,7 +29868,7 @@ const Upload = ({
29850
29868
  __self: this,
29851
29869
  __source: {
29852
29870
  fileName: _jsxFileName$9,
29853
- lineNumber: 806,
29871
+ lineNumber: 828,
29854
29872
  columnNumber: 7
29855
29873
  }
29856
29874
  }, /*#__PURE__*/React__default.createElement(ContainerUpload, {
@@ -29866,7 +29884,7 @@ const Upload = ({
29866
29884
  __self: this,
29867
29885
  __source: {
29868
29886
  fileName: _jsxFileName$9,
29869
- lineNumber: 807,
29887
+ lineNumber: 829,
29870
29888
  columnNumber: 9
29871
29889
  }
29872
29890
  }, /*#__PURE__*/React__default.createElement(Input$2, {
@@ -29875,24 +29893,28 @@ const Upload = ({
29875
29893
  ref: hiddenFileInput,
29876
29894
  onChange: handleChange,
29877
29895
  multiple: multiple,
29896
+ onClick: e => {
29897
+ // Force reset on click to handle edge cases
29898
+ e.target.value = '';
29899
+ },
29878
29900
  __self: this,
29879
29901
  __source: {
29880
29902
  fileName: _jsxFileName$9,
29881
- lineNumber: 818,
29903
+ lineNumber: 840,
29882
29904
  columnNumber: 11
29883
29905
  }
29884
29906
  }), /*#__PURE__*/React__default.createElement(Children, {
29885
29907
  __self: this,
29886
29908
  __source: {
29887
29909
  fileName: _jsxFileName$9,
29888
- lineNumber: 819,
29910
+ lineNumber: 851,
29889
29911
  columnNumber: 11
29890
29912
  }
29891
29913
  }, children != null ? children : /*#__PURE__*/React__default.createElement(React__default.Fragment, {
29892
29914
  __self: this,
29893
29915
  __source: {
29894
29916
  fileName: _jsxFileName$9,
29895
- lineNumber: 821,
29917
+ lineNumber: 853,
29896
29918
  columnNumber: 15
29897
29919
  }
29898
29920
  }, /*#__PURE__*/React__default.createElement(IconCard, {
@@ -29901,7 +29923,7 @@ const Upload = ({
29901
29923
  __self: this,
29902
29924
  __source: {
29903
29925
  fileName: _jsxFileName$9,
29904
- lineNumber: 822,
29926
+ lineNumber: 854,
29905
29927
  columnNumber: 17
29906
29928
  }
29907
29929
  }, /*#__PURE__*/React__default.createElement(UploadOutline, {
@@ -29909,7 +29931,7 @@ const Upload = ({
29909
29931
  __self: this,
29910
29932
  __source: {
29911
29933
  fileName: _jsxFileName$9,
29912
- lineNumber: 823,
29934
+ lineNumber: 855,
29913
29935
  columnNumber: 19
29914
29936
  }
29915
29937
  })), /*#__PURE__*/React__default.createElement(Text, {
@@ -29919,7 +29941,7 @@ const Upload = ({
29919
29941
  __self: this,
29920
29942
  __source: {
29921
29943
  fileName: _jsxFileName$9,
29922
- lineNumber: 825,
29944
+ lineNumber: 857,
29923
29945
  columnNumber: 17
29924
29946
  }
29925
29947
  }, placeholder != null ? placeholder : t('uploadPlaceholder', 'Pilih atau letakkan berkas di sini'))))), error && /*#__PURE__*/React__default.createElement(ErrorMessage, {
@@ -29929,7 +29951,7 @@ const Upload = ({
29929
29951
  __self: this,
29930
29952
  __source: {
29931
29953
  fileName: _jsxFileName$9,
29932
- lineNumber: 832,
29954
+ lineNumber: 864,
29933
29955
  columnNumber: 19
29934
29956
  }
29935
29957
  }, error));
@@ -29941,7 +29963,7 @@ const Upload = ({
29941
29963
  __self: this,
29942
29964
  __source: {
29943
29965
  fileName: _jsxFileName$9,
29944
- lineNumber: 839,
29966
+ lineNumber: 871,
29945
29967
  columnNumber: 7
29946
29968
  }
29947
29969
  }, /*#__PURE__*/React__default.createElement(ModalDialogTrigger, {
@@ -29949,7 +29971,7 @@ const Upload = ({
29949
29971
  __self: this,
29950
29972
  __source: {
29951
29973
  fileName: _jsxFileName$9,
29952
- lineNumber: 840,
29974
+ lineNumber: 872,
29953
29975
  columnNumber: 9
29954
29976
  }
29955
29977
  }, /*#__PURE__*/React__default.createElement("div", {
@@ -29957,7 +29979,7 @@ const Upload = ({
29957
29979
  __self: this,
29958
29980
  __source: {
29959
29981
  fileName: _jsxFileName$9,
29960
- lineNumber: 841,
29982
+ lineNumber: 873,
29961
29983
  columnNumber: 11
29962
29984
  }
29963
29985
  })), /*#__PURE__*/React__default.createElement(ModalDialogTitle, {
@@ -29970,7 +29992,7 @@ const Upload = ({
29970
29992
  __self: this,
29971
29993
  __source: {
29972
29994
  fileName: _jsxFileName$9,
29973
- lineNumber: 843,
29995
+ lineNumber: 875,
29974
29996
  columnNumber: 9
29975
29997
  }
29976
29998
  }, cropperTitle || t('cropperTitle', 'Potong Gambar')), /*#__PURE__*/React__default.createElement(ModalDialogContent, {
@@ -29983,7 +30005,7 @@ const Upload = ({
29983
30005
  __self: this,
29984
30006
  __source: {
29985
30007
  fileName: _jsxFileName$9,
29986
- lineNumber: 846,
30008
+ lineNumber: 878,
29987
30009
  columnNumber: 9
29988
30010
  }
29989
30011
  }, /*#__PURE__*/React__default.createElement(ReactCrop, {
@@ -29994,7 +30016,7 @@ const Upload = ({
29994
30016
  __self: this,
29995
30017
  __source: {
29996
30018
  fileName: _jsxFileName$9,
29997
- lineNumber: 854,
30019
+ lineNumber: 886,
29998
30020
  columnNumber: 11
29999
30021
  }
30000
30022
  }, /*#__PURE__*/React__default.createElement(Image, {
@@ -30008,14 +30030,14 @@ const Upload = ({
30008
30030
  __self: this,
30009
30031
  __source: {
30010
30032
  fileName: _jsxFileName$9,
30011
- lineNumber: 855,
30033
+ lineNumber: 887,
30012
30034
  columnNumber: 13
30013
30035
  }
30014
30036
  }))), /*#__PURE__*/React__default.createElement(ModalDialogFooter, {
30015
30037
  __self: this,
30016
30038
  __source: {
30017
30039
  fileName: _jsxFileName$9,
30018
- lineNumber: 866,
30040
+ lineNumber: 898,
30019
30041
  columnNumber: 9
30020
30042
  }
30021
30043
  }, /*#__PURE__*/React__default.createElement(Flex$1, {
@@ -30027,14 +30049,14 @@ const Upload = ({
30027
30049
  __self: this,
30028
30050
  __source: {
30029
30051
  fileName: _jsxFileName$9,
30030
- lineNumber: 867,
30052
+ lineNumber: 899,
30031
30053
  columnNumber: 11
30032
30054
  }
30033
30055
  }, hiddenToggleAspect ? /*#__PURE__*/React__default.createElement(Box, {
30034
30056
  __self: this,
30035
30057
  __source: {
30036
30058
  fileName: _jsxFileName$9,
30037
- lineNumber: 869,
30059
+ lineNumber: 901,
30038
30060
  columnNumber: 15
30039
30061
  }
30040
30062
  }) : /*#__PURE__*/React__default.createElement(Tooltip$1, {
@@ -30042,7 +30064,7 @@ const Upload = ({
30042
30064
  __self: this,
30043
30065
  __source: {
30044
30066
  fileName: _jsxFileName$9,
30045
- lineNumber: 871,
30067
+ lineNumber: 903,
30046
30068
  columnNumber: 15
30047
30069
  }
30048
30070
  }, /*#__PURE__*/React__default.createElement(ImageOutline, {
@@ -30054,7 +30076,7 @@ const Upload = ({
30054
30076
  __self: this,
30055
30077
  __source: {
30056
30078
  fileName: _jsxFileName$9,
30057
- lineNumber: 872,
30079
+ lineNumber: 904,
30058
30080
  columnNumber: 17
30059
30081
  }
30060
30082
  })), /*#__PURE__*/React__default.createElement(Flex$1, {
@@ -30062,7 +30084,7 @@ const Upload = ({
30062
30084
  __self: this,
30063
30085
  __source: {
30064
30086
  fileName: _jsxFileName$9,
30065
- lineNumber: 879,
30087
+ lineNumber: 911,
30066
30088
  columnNumber: 13
30067
30089
  }
30068
30090
  }, /*#__PURE__*/React__default.createElement(Button$4, {
@@ -30071,7 +30093,7 @@ const Upload = ({
30071
30093
  __self: this,
30072
30094
  __source: {
30073
30095
  fileName: _jsxFileName$9,
30074
- lineNumber: 880,
30096
+ lineNumber: 912,
30075
30097
  columnNumber: 15
30076
30098
  }
30077
30099
  }, t('label.cancel', 'Batal', {
@@ -30081,7 +30103,7 @@ const Upload = ({
30081
30103
  __self: this,
30082
30104
  __source: {
30083
30105
  fileName: _jsxFileName$9,
30084
- lineNumber: 883,
30106
+ lineNumber: 915,
30085
30107
  columnNumber: 15
30086
30108
  }
30087
30109
  }, t('save', 'Simpan', {
@@ -30098,7 +30120,7 @@ const Upload = ({
30098
30120
  __self: undefined,
30099
30121
  __source: {
30100
30122
  fileName: _jsxFileName$9,
30101
- lineNumber: 892,
30123
+ lineNumber: 924,
30102
30124
  columnNumber: 5
30103
30125
  }
30104
30126
  }, !isFile && renderPicture(), isFile && renderFile(), progress || isLoading ? /*#__PURE__*/React__default.createElement(UploadProgress, {
@@ -30107,7 +30129,7 @@ const Upload = ({
30107
30129
  __self: undefined,
30108
30130
  __source: {
30109
30131
  fileName: _jsxFileName$9,
30110
- lineNumber: 895,
30132
+ lineNumber: 927,
30111
30133
  columnNumber: 32
30112
30134
  }
30113
30135
  }) : renderUpload(), showCropper && renderCropper());
package/index.umd.js CHANGED
@@ -29737,6 +29737,10 @@
29737
29737
  });
29738
29738
  function handleClick() {
29739
29739
  if (!disabled) {
29740
+ // Ensure input is reset before clicking
29741
+ if (hiddenFileInput.current) {
29742
+ hiddenFileInput.current.value = '';
29743
+ }
29740
29744
  hiddenFileInput.current.click();
29741
29745
  }
29742
29746
  }
@@ -29916,6 +29920,13 @@
29916
29920
  };
29917
29921
  }
29918
29922
  }
29923
+ // Reset the input value to ensure onChange fires even when selecting the same file
29924
+ // Use setTimeout to ensure the reset happens after the current event loop
29925
+ setTimeout(() => {
29926
+ if (e.target && e.target.value) {
29927
+ e.target.value = '';
29928
+ }
29929
+ }, 0);
29919
29930
  }
29920
29931
  function handleCrop() {
29921
29932
  if (completedCrop != null && completedCrop.width && completedCrop != null && completedCrop.height && imgRef.current) {
@@ -29989,6 +30000,10 @@
29989
30000
  }
29990
30001
  function handleReplace(index) {
29991
30002
  indexReplace.current = index;
30003
+ // Reset the input value before clicking to ensure onChange fires
30004
+ if (hiddenFileInput.current) {
30005
+ hiddenFileInput.current.value = '';
30006
+ }
29992
30007
  handleClick();
29993
30008
  }
29994
30009
  function handlePreview(file) {
@@ -30034,11 +30049,14 @@
30034
30049
  files
30035
30050
  } = e.dataTransfer;
30036
30051
  if (files && files.length) {
30037
- handleChange({
30052
+ // Create a synthetic event object that mimics the file input change event
30053
+ const syntheticEvent = {
30038
30054
  target: {
30039
- files
30055
+ files,
30056
+ value: '' // Include value property for consistency
30040
30057
  }
30041
- });
30058
+ };
30059
+ handleChange(syntheticEvent);
30042
30060
  }
30043
30061
  }
30044
30062
  function renderButtonReplace(index) {
@@ -30051,7 +30069,7 @@
30051
30069
  __self: this,
30052
30070
  __source: {
30053
30071
  fileName: _jsxFileName$9,
30054
- lineNumber: 667,
30072
+ lineNumber: 689,
30055
30073
  columnNumber: 7
30056
30074
  }
30057
30075
  }, /*#__PURE__*/React__default["default"].createElement(ButtonText, {
@@ -30061,7 +30079,7 @@
30061
30079
  __self: this,
30062
30080
  __source: {
30063
30081
  fileName: _jsxFileName$9,
30064
- lineNumber: 668,
30082
+ lineNumber: 690,
30065
30083
  columnNumber: 9
30066
30084
  }
30067
30085
  }, replaceLabel && replaceLabel.length > 0 ? replaceLabel : t('replaceLabel', 'Ubah Berkas')));
@@ -30076,7 +30094,7 @@
30076
30094
  __self: undefined,
30077
30095
  __source: {
30078
30096
  fileName: _jsxFileName$9,
30079
- lineNumber: 678,
30097
+ lineNumber: 700,
30080
30098
  columnNumber: 16
30081
30099
  }
30082
30100
  });
@@ -30087,7 +30105,7 @@
30087
30105
  __self: undefined,
30088
30106
  __source: {
30089
30107
  fileName: _jsxFileName$9,
30090
- lineNumber: 681,
30108
+ lineNumber: 703,
30091
30109
  columnNumber: 9
30092
30110
  }
30093
30111
  }, /*#__PURE__*/React__default["default"].createElement(Box, {
@@ -30097,7 +30115,7 @@
30097
30115
  __self: undefined,
30098
30116
  __source: {
30099
30117
  fileName: _jsxFileName$9,
30100
- lineNumber: 682,
30118
+ lineNumber: 704,
30101
30119
  columnNumber: 11
30102
30120
  }
30103
30121
  }, !disabled && /*#__PURE__*/React__default["default"].createElement(IconStateFull, {
@@ -30106,7 +30124,7 @@
30106
30124
  __self: undefined,
30107
30125
  __source: {
30108
30126
  fileName: _jsxFileName$9,
30109
- lineNumber: 683,
30127
+ lineNumber: 705,
30110
30128
  columnNumber: 27
30111
30129
  }
30112
30130
  }), !hiddenPreview && /*#__PURE__*/React__default["default"].createElement(Box, {
@@ -30119,7 +30137,7 @@
30119
30137
  __self: undefined,
30120
30138
  __source: {
30121
30139
  fileName: _jsxFileName$9,
30122
- lineNumber: 685,
30140
+ lineNumber: 707,
30123
30141
  columnNumber: 15
30124
30142
  }
30125
30143
  }, /*#__PURE__*/React__default["default"].createElement(IconStateFull, {
@@ -30135,7 +30153,7 @@
30135
30153
  __self: undefined,
30136
30154
  __source: {
30137
30155
  fileName: _jsxFileName$9,
30138
- lineNumber: 693,
30156
+ lineNumber: 715,
30139
30157
  columnNumber: 17
30140
30158
  }
30141
30159
  })), /*#__PURE__*/React__default["default"].createElement(Image, {
@@ -30145,7 +30163,7 @@
30145
30163
  __self: undefined,
30146
30164
  __source: {
30147
30165
  fileName: _jsxFileName$9,
30148
- lineNumber: 706,
30166
+ lineNumber: 728,
30149
30167
  columnNumber: 13
30150
30168
  }
30151
30169
  })), !disabled && renderButtonReplace(index));
@@ -30162,7 +30180,7 @@
30162
30180
  __self: undefined,
30163
30181
  __source: {
30164
30182
  fileName: _jsxFileName$9,
30165
- lineNumber: 717,
30183
+ lineNumber: 739,
30166
30184
  columnNumber: 16
30167
30185
  }
30168
30186
  });
@@ -30172,7 +30190,7 @@
30172
30190
  __self: undefined,
30173
30191
  __source: {
30174
30192
  fileName: _jsxFileName$9,
30175
- lineNumber: 720,
30193
+ lineNumber: 742,
30176
30194
  columnNumber: 9
30177
30195
  }
30178
30196
  }, /*#__PURE__*/React__default["default"].createElement(Box, {
@@ -30182,7 +30200,7 @@
30182
30200
  __self: undefined,
30183
30201
  __source: {
30184
30202
  fileName: _jsxFileName$9,
30185
- lineNumber: 721,
30203
+ lineNumber: 743,
30186
30204
  columnNumber: 11
30187
30205
  }
30188
30206
  }, !disabled && /*#__PURE__*/React__default["default"].createElement(IconStateFull, {
@@ -30191,7 +30209,7 @@
30191
30209
  __self: undefined,
30192
30210
  __source: {
30193
30211
  fileName: _jsxFileName$9,
30194
- lineNumber: 722,
30212
+ lineNumber: 744,
30195
30213
  columnNumber: 27
30196
30214
  }
30197
30215
  }), /*#__PURE__*/React__default["default"].createElement(Box, {
@@ -30204,7 +30222,7 @@
30204
30222
  __self: undefined,
30205
30223
  __source: {
30206
30224
  fileName: _jsxFileName$9,
30207
- lineNumber: 723,
30225
+ lineNumber: 745,
30208
30226
  columnNumber: 13
30209
30227
  }
30210
30228
  }, /*#__PURE__*/React__default["default"].createElement(Flex$1, {
@@ -30214,14 +30232,14 @@
30214
30232
  __self: undefined,
30215
30233
  __source: {
30216
30234
  fileName: _jsxFileName$9,
30217
- lineNumber: 731,
30235
+ lineNumber: 753,
30218
30236
  columnNumber: 15
30219
30237
  }
30220
30238
  }, /*#__PURE__*/React__default["default"].createElement(FileExtension, {
30221
30239
  __self: undefined,
30222
30240
  __source: {
30223
30241
  fileName: _jsxFileName$9,
30224
- lineNumber: 732,
30242
+ lineNumber: 754,
30225
30243
  columnNumber: 17
30226
30244
  }
30227
30245
  }, ".", item == null || (_item$name = item.name) == null ? void 0 : _item$name.split('.').pop()), /*#__PURE__*/React__default["default"].createElement(Tooltip$1, {
@@ -30229,7 +30247,7 @@
30229
30247
  __self: undefined,
30230
30248
  __source: {
30231
30249
  fileName: _jsxFileName$9,
30232
- lineNumber: 733,
30250
+ lineNumber: 755,
30233
30251
  columnNumber: 17
30234
30252
  }
30235
30253
  }, /*#__PURE__*/React__default["default"].createElement(Text, {
@@ -30244,7 +30262,7 @@
30244
30262
  __self: undefined,
30245
30263
  __source: {
30246
30264
  fileName: _jsxFileName$9,
30247
- lineNumber: 734,
30265
+ lineNumber: 756,
30248
30266
  columnNumber: 19
30249
30267
  }
30250
30268
  }, item.name)))), !hiddenPreview && /*#__PURE__*/React__default["default"].createElement(Box, {
@@ -30257,7 +30275,7 @@
30257
30275
  __self: undefined,
30258
30276
  __source: {
30259
30277
  fileName: _jsxFileName$9,
30260
- lineNumber: 750,
30278
+ lineNumber: 772,
30261
30279
  columnNumber: 15
30262
30280
  }
30263
30281
  }, /*#__PURE__*/React__default["default"].createElement(IconStateFull, {
@@ -30273,7 +30291,7 @@
30273
30291
  __self: undefined,
30274
30292
  __source: {
30275
30293
  fileName: _jsxFileName$9,
30276
- lineNumber: 758,
30294
+ lineNumber: 780,
30277
30295
  columnNumber: 17
30278
30296
  }
30279
30297
  })), /*#__PURE__*/React__default["default"].createElement(Blank, {
@@ -30281,7 +30299,7 @@
30281
30299
  __self: undefined,
30282
30300
  __source: {
30283
30301
  fileName: _jsxFileName$9,
30284
- lineNumber: 771,
30302
+ lineNumber: 793,
30285
30303
  columnNumber: 13
30286
30304
  }
30287
30305
  })), !disabled && renderButtonReplace(index));
@@ -30296,7 +30314,7 @@
30296
30314
  __self: this,
30297
30315
  __source: {
30298
30316
  fileName: _jsxFileName$9,
30299
- lineNumber: 782,
30317
+ lineNumber: 804,
30300
30318
  columnNumber: 7
30301
30319
  }
30302
30320
  }, /*#__PURE__*/React__default["default"].createElement(Flex$1, {
@@ -30310,7 +30328,7 @@
30310
30328
  __self: this,
30311
30329
  __source: {
30312
30330
  fileName: _jsxFileName$9,
30313
- lineNumber: 783,
30331
+ lineNumber: 805,
30314
30332
  columnNumber: 9
30315
30333
  }
30316
30334
  }, /*#__PURE__*/React__default["default"].createElement(LoadingBar, {
@@ -30336,7 +30354,7 @@
30336
30354
  __self: this,
30337
30355
  __source: {
30338
30356
  fileName: _jsxFileName$9,
30339
- lineNumber: 784,
30357
+ lineNumber: 806,
30340
30358
  columnNumber: 11
30341
30359
  }
30342
30360
  }), /*#__PURE__*/React__default["default"].createElement(Text, {
@@ -30344,14 +30362,14 @@
30344
30362
  __self: this,
30345
30363
  __source: {
30346
30364
  fileName: _jsxFileName$9,
30347
- lineNumber: 797,
30365
+ lineNumber: 819,
30348
30366
  columnNumber: 11
30349
30367
  }
30350
30368
  }, `${progress <= 100 ? progress : 100}%`), /*#__PURE__*/React__default["default"].createElement(Text, {
30351
30369
  __self: this,
30352
30370
  __source: {
30353
30371
  fileName: _jsxFileName$9,
30354
- lineNumber: 798,
30372
+ lineNumber: 820,
30355
30373
  columnNumber: 11
30356
30374
  }
30357
30375
  }, t('uploadingLabel', 'Berkas sedang diunggah'))));
@@ -30363,7 +30381,7 @@
30363
30381
  __self: this,
30364
30382
  __source: {
30365
30383
  fileName: _jsxFileName$9,
30366
- lineNumber: 806,
30384
+ lineNumber: 828,
30367
30385
  columnNumber: 7
30368
30386
  }
30369
30387
  }, /*#__PURE__*/React__default["default"].createElement(ContainerUpload, {
@@ -30379,7 +30397,7 @@
30379
30397
  __self: this,
30380
30398
  __source: {
30381
30399
  fileName: _jsxFileName$9,
30382
- lineNumber: 807,
30400
+ lineNumber: 829,
30383
30401
  columnNumber: 9
30384
30402
  }
30385
30403
  }, /*#__PURE__*/React__default["default"].createElement(Input$2, {
@@ -30388,24 +30406,28 @@
30388
30406
  ref: hiddenFileInput,
30389
30407
  onChange: handleChange,
30390
30408
  multiple: multiple,
30409
+ onClick: e => {
30410
+ // Force reset on click to handle edge cases
30411
+ e.target.value = '';
30412
+ },
30391
30413
  __self: this,
30392
30414
  __source: {
30393
30415
  fileName: _jsxFileName$9,
30394
- lineNumber: 818,
30416
+ lineNumber: 840,
30395
30417
  columnNumber: 11
30396
30418
  }
30397
30419
  }), /*#__PURE__*/React__default["default"].createElement(Children, {
30398
30420
  __self: this,
30399
30421
  __source: {
30400
30422
  fileName: _jsxFileName$9,
30401
- lineNumber: 819,
30423
+ lineNumber: 851,
30402
30424
  columnNumber: 11
30403
30425
  }
30404
30426
  }, children != null ? children : /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, {
30405
30427
  __self: this,
30406
30428
  __source: {
30407
30429
  fileName: _jsxFileName$9,
30408
- lineNumber: 821,
30430
+ lineNumber: 853,
30409
30431
  columnNumber: 15
30410
30432
  }
30411
30433
  }, /*#__PURE__*/React__default["default"].createElement(IconCard, {
@@ -30414,7 +30436,7 @@
30414
30436
  __self: this,
30415
30437
  __source: {
30416
30438
  fileName: _jsxFileName$9,
30417
- lineNumber: 822,
30439
+ lineNumber: 854,
30418
30440
  columnNumber: 17
30419
30441
  }
30420
30442
  }, /*#__PURE__*/React__default["default"].createElement(icons.UploadOutline, {
@@ -30422,7 +30444,7 @@
30422
30444
  __self: this,
30423
30445
  __source: {
30424
30446
  fileName: _jsxFileName$9,
30425
- lineNumber: 823,
30447
+ lineNumber: 855,
30426
30448
  columnNumber: 19
30427
30449
  }
30428
30450
  })), /*#__PURE__*/React__default["default"].createElement(Text, {
@@ -30432,7 +30454,7 @@
30432
30454
  __self: this,
30433
30455
  __source: {
30434
30456
  fileName: _jsxFileName$9,
30435
- lineNumber: 825,
30457
+ lineNumber: 857,
30436
30458
  columnNumber: 17
30437
30459
  }
30438
30460
  }, placeholder != null ? placeholder : t('uploadPlaceholder', 'Pilih atau letakkan berkas di sini'))))), error && /*#__PURE__*/React__default["default"].createElement(ErrorMessage, {
@@ -30442,7 +30464,7 @@
30442
30464
  __self: this,
30443
30465
  __source: {
30444
30466
  fileName: _jsxFileName$9,
30445
- lineNumber: 832,
30467
+ lineNumber: 864,
30446
30468
  columnNumber: 19
30447
30469
  }
30448
30470
  }, error));
@@ -30454,7 +30476,7 @@
30454
30476
  __self: this,
30455
30477
  __source: {
30456
30478
  fileName: _jsxFileName$9,
30457
- lineNumber: 839,
30479
+ lineNumber: 871,
30458
30480
  columnNumber: 7
30459
30481
  }
30460
30482
  }, /*#__PURE__*/React__default["default"].createElement(ModalDialogTrigger, {
@@ -30462,7 +30484,7 @@
30462
30484
  __self: this,
30463
30485
  __source: {
30464
30486
  fileName: _jsxFileName$9,
30465
- lineNumber: 840,
30487
+ lineNumber: 872,
30466
30488
  columnNumber: 9
30467
30489
  }
30468
30490
  }, /*#__PURE__*/React__default["default"].createElement("div", {
@@ -30470,7 +30492,7 @@
30470
30492
  __self: this,
30471
30493
  __source: {
30472
30494
  fileName: _jsxFileName$9,
30473
- lineNumber: 841,
30495
+ lineNumber: 873,
30474
30496
  columnNumber: 11
30475
30497
  }
30476
30498
  })), /*#__PURE__*/React__default["default"].createElement(ModalDialogTitle, {
@@ -30483,7 +30505,7 @@
30483
30505
  __self: this,
30484
30506
  __source: {
30485
30507
  fileName: _jsxFileName$9,
30486
- lineNumber: 843,
30508
+ lineNumber: 875,
30487
30509
  columnNumber: 9
30488
30510
  }
30489
30511
  }, cropperTitle || t('cropperTitle', 'Potong Gambar')), /*#__PURE__*/React__default["default"].createElement(ModalDialogContent, {
@@ -30496,7 +30518,7 @@
30496
30518
  __self: this,
30497
30519
  __source: {
30498
30520
  fileName: _jsxFileName$9,
30499
- lineNumber: 846,
30521
+ lineNumber: 878,
30500
30522
  columnNumber: 9
30501
30523
  }
30502
30524
  }, /*#__PURE__*/React__default["default"].createElement(ReactCrop__default["default"], {
@@ -30507,7 +30529,7 @@
30507
30529
  __self: this,
30508
30530
  __source: {
30509
30531
  fileName: _jsxFileName$9,
30510
- lineNumber: 854,
30532
+ lineNumber: 886,
30511
30533
  columnNumber: 11
30512
30534
  }
30513
30535
  }, /*#__PURE__*/React__default["default"].createElement(Image, {
@@ -30521,14 +30543,14 @@
30521
30543
  __self: this,
30522
30544
  __source: {
30523
30545
  fileName: _jsxFileName$9,
30524
- lineNumber: 855,
30546
+ lineNumber: 887,
30525
30547
  columnNumber: 13
30526
30548
  }
30527
30549
  }))), /*#__PURE__*/React__default["default"].createElement(ModalDialogFooter, {
30528
30550
  __self: this,
30529
30551
  __source: {
30530
30552
  fileName: _jsxFileName$9,
30531
- lineNumber: 866,
30553
+ lineNumber: 898,
30532
30554
  columnNumber: 9
30533
30555
  }
30534
30556
  }, /*#__PURE__*/React__default["default"].createElement(Flex$1, {
@@ -30540,14 +30562,14 @@
30540
30562
  __self: this,
30541
30563
  __source: {
30542
30564
  fileName: _jsxFileName$9,
30543
- lineNumber: 867,
30565
+ lineNumber: 899,
30544
30566
  columnNumber: 11
30545
30567
  }
30546
30568
  }, hiddenToggleAspect ? /*#__PURE__*/React__default["default"].createElement(Box, {
30547
30569
  __self: this,
30548
30570
  __source: {
30549
30571
  fileName: _jsxFileName$9,
30550
- lineNumber: 869,
30572
+ lineNumber: 901,
30551
30573
  columnNumber: 15
30552
30574
  }
30553
30575
  }) : /*#__PURE__*/React__default["default"].createElement(Tooltip$1, {
@@ -30555,7 +30577,7 @@
30555
30577
  __self: this,
30556
30578
  __source: {
30557
30579
  fileName: _jsxFileName$9,
30558
- lineNumber: 871,
30580
+ lineNumber: 903,
30559
30581
  columnNumber: 15
30560
30582
  }
30561
30583
  }, /*#__PURE__*/React__default["default"].createElement(icons.ImageOutline, {
@@ -30567,7 +30589,7 @@
30567
30589
  __self: this,
30568
30590
  __source: {
30569
30591
  fileName: _jsxFileName$9,
30570
- lineNumber: 872,
30592
+ lineNumber: 904,
30571
30593
  columnNumber: 17
30572
30594
  }
30573
30595
  })), /*#__PURE__*/React__default["default"].createElement(Flex$1, {
@@ -30575,7 +30597,7 @@
30575
30597
  __self: this,
30576
30598
  __source: {
30577
30599
  fileName: _jsxFileName$9,
30578
- lineNumber: 879,
30600
+ lineNumber: 911,
30579
30601
  columnNumber: 13
30580
30602
  }
30581
30603
  }, /*#__PURE__*/React__default["default"].createElement(Button$4, {
@@ -30584,7 +30606,7 @@
30584
30606
  __self: this,
30585
30607
  __source: {
30586
30608
  fileName: _jsxFileName$9,
30587
- lineNumber: 880,
30609
+ lineNumber: 912,
30588
30610
  columnNumber: 15
30589
30611
  }
30590
30612
  }, t('label.cancel', 'Batal', {
@@ -30594,7 +30616,7 @@
30594
30616
  __self: this,
30595
30617
  __source: {
30596
30618
  fileName: _jsxFileName$9,
30597
- lineNumber: 883,
30619
+ lineNumber: 915,
30598
30620
  columnNumber: 15
30599
30621
  }
30600
30622
  }, t('save', 'Simpan', {
@@ -30611,7 +30633,7 @@
30611
30633
  __self: undefined,
30612
30634
  __source: {
30613
30635
  fileName: _jsxFileName$9,
30614
- lineNumber: 892,
30636
+ lineNumber: 924,
30615
30637
  columnNumber: 5
30616
30638
  }
30617
30639
  }, !isFile && renderPicture(), isFile && renderFile(), progress || isLoading ? /*#__PURE__*/React__default["default"].createElement(UploadProgress, {
@@ -30620,7 +30642,7 @@
30620
30642
  __self: undefined,
30621
30643
  __source: {
30622
30644
  fileName: _jsxFileName$9,
30623
- lineNumber: 895,
30645
+ lineNumber: 927,
30624
30646
  columnNumber: 32
30625
30647
  }
30626
30648
  }) : renderUpload(), showCropper && renderCropper());
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@majoo-ui/react",
3
- "version": "1.61.12-rc.13",
3
+ "version": "1.61.12-rc.15",
4
4
  "peerDependencies": {
5
5
  "react": "17.0.2",
6
6
  "react-dom": "17.0.2",