@majoo-ui/react 1.61.20-rc.3 → 1.61.20-rc.4

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 (2) hide show
  1. package/index.esm.js +149 -92
  2. package/package.json +1 -1
package/index.esm.js CHANGED
@@ -14506,48 +14506,76 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
14506
14506
  const scrollerRef = React__default.useRef(null);
14507
14507
  const isShowSelectAll = showSelectAll && !maxSelectedItem;
14508
14508
 
14509
- // Create a flat list structure for virtualization
14510
- // This includes both parent items and their children, maintaining proper indexing
14511
- const virtualizedItemsList = useMemo(() => {
14512
- const list = [];
14513
- items.forEach((item, itemIndex) => {
14509
+ // Calculate total item count efficiently without creating full array
14510
+ const totalItemCount = useMemo(() => {
14511
+ return items.reduce((count, item) => {
14514
14512
  if (item != null && item.children) {
14515
- // For option groups, add parent and all children
14516
- list.push({
14517
- type: 'group',
14518
- item,
14519
- originalIndex: itemIndex
14520
- });
14521
- item.children.forEach((child, childIndex) => {
14522
- list.push({
14523
- type: 'child',
14524
- item: child,
14525
- originalIndex: itemIndex,
14526
- childIndex
14527
- });
14528
- });
14529
- } else {
14530
- // For regular items
14531
- list.push({
14532
- type: 'item',
14533
- item,
14534
- originalIndex: itemIndex
14535
- });
14513
+ return count + 1 + item.children.length; // parent + children
14536
14514
  }
14537
- });
14538
- return list;
14515
+ return count + 1;
14516
+ }, 0);
14539
14517
  }, [items]);
14540
14518
 
14541
14519
  // Determine if virtualization should be enabled
14542
- const shouldVirtualize = virtualized && virtualizedItemsList.length >= virtualizedThreshold;
14520
+ const shouldVirtualize = virtualized && totalItemCount >= virtualizedThreshold;
14521
+
14522
+ // Lazy item lookup function - only compute when needed
14523
+ const getItemAtIndex = useCallback(index => {
14524
+ let currentIndex = 0;
14525
+ for (let i = 0; i < items.length; i++) {
14526
+ const item = items[i];
14527
+ if (item != null && item.children) {
14528
+ // Check if index is the group header
14529
+ if (currentIndex === index) {
14530
+ return {
14531
+ type: 'group',
14532
+ item,
14533
+ originalIndex: i
14534
+ };
14535
+ }
14536
+ currentIndex++;
14537
+
14538
+ // Check if index is within children
14539
+ for (let j = 0; j < item.children.length; j++) {
14540
+ if (currentIndex === index) {
14541
+ return {
14542
+ type: 'child',
14543
+ item: item.children[j],
14544
+ originalIndex: i,
14545
+ childIndex: j
14546
+ };
14547
+ }
14548
+ currentIndex++;
14549
+ }
14550
+ } else {
14551
+ // Regular item
14552
+ if (currentIndex === index) {
14553
+ return {
14554
+ type: 'item',
14555
+ item,
14556
+ originalIndex: i
14557
+ };
14558
+ }
14559
+ currentIndex++;
14560
+ }
14561
+ }
14562
+ return null;
14563
+ }, [items]);
14564
+
14565
+ // Dynamic overscan based on dataset size
14566
+ const overscanCount = useMemo(() => {
14567
+ if (totalItemCount > 10000) return 5;
14568
+ if (totalItemCount > 1000) return 8;
14569
+ return 10;
14570
+ }, [totalItemCount]);
14543
14571
 
14544
14572
  // Setup virtualization
14545
14573
  const rowVirtualizer = useVirtual({
14546
- size: virtualizedItemsList.length,
14574
+ size: totalItemCount,
14547
14575
  parentRef: scrollerRef,
14548
14576
  estimateSize: useCallback(() => 44, []),
14549
14577
  // Estimated height of each item
14550
- overscan: 10 // Number of items to render outside of the visible area
14578
+ overscan: overscanCount
14551
14579
  });
14552
14580
  useMountedLayoutEffect(() => {
14553
14581
  var _scrollerRef$current;
@@ -14671,6 +14699,17 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
14671
14699
  }
14672
14700
  }
14673
14701
  };
14702
+
14703
+ // Memoize flattened items for useCombobox to prevent recalculation on every render
14704
+ const flattenedItemsForCombobox = useMemo(() => {
14705
+ // For very large datasets, limit the flattened array to improve performance
14706
+ // useCombobox needs this for keyboard navigation, but we can optimize it
14707
+ if (totalItemCount > 10000) {
14708
+ // For huge datasets, only flatten what's visible or searched
14709
+ return items.slice(0, 100).reduce((acc, item) => [...acc, item, ...(item.children ? item.children : [])], []);
14710
+ }
14711
+ return items.reduce((acc, item) => [...acc, item, ...(item.children ? item.children : [])], []);
14712
+ }, [items, totalItemCount]);
14674
14713
  const {
14675
14714
  getToggleButtonProps,
14676
14715
  getMenuProps,
@@ -14682,7 +14721,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
14682
14721
  isOpen
14683
14722
  } = useCombobox({
14684
14723
  inputValue,
14685
- items: items.reduce((acc, item) => [...acc, item, ...(item.children ? item.children : [])], []),
14724
+ items: flattenedItemsForCombobox,
14686
14725
  selectedItem: selectedValue,
14687
14726
  itemToString: item => item ? item.name : '',
14688
14727
  onStateChange: ({
@@ -14832,8 +14871,15 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
14832
14871
  }
14833
14872
  });
14834
14873
  const memoOptions = useMemo(() => {
14874
+ // Skip expensive operations for very large datasets
14875
+ const isVeryLarge = (option == null ? void 0 : option.length) > 10000;
14876
+
14877
+ // For very large datasets, skip sorting and copying to improve performance
14878
+ if (isVeryLarge && !maxSelectedItem) {
14879
+ return option || [];
14880
+ }
14835
14881
  const optionsCopy = option ? [...option] : [];
14836
- if (sortBy === 'id') {
14882
+ if (sortBy === 'id' && !isVeryLarge) {
14837
14883
  optionsCopy.sort((a, b) => {
14838
14884
  const idA = typeof a.id === 'string' ? a.id.toUpperCase() : a.id;
14839
14885
  const idB = typeof b.id === 'string' ? b.id.toUpperCase() : b.id;
@@ -14843,7 +14889,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
14843
14889
  if (idA > idB) return 1;
14844
14890
  return 0;
14845
14891
  });
14846
- } else if (sortBy === 'name') {
14892
+ } else if (sortBy === 'name' && !isVeryLarge) {
14847
14893
  optionsCopy.sort((a, b) => {
14848
14894
  const nameA = typeof a.name === 'string' ? a.name.toUpperCase() : a.name;
14849
14895
  const nameB = typeof b.name === 'string' ? b.name.toUpperCase() : b.name;
@@ -14866,10 +14912,20 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
14866
14912
  return item;
14867
14913
  }) : optionsCopy;
14868
14914
  }, [maxSelectedItem, option, selectedValue, sortBy]);
14869
- const memoOptionsString = useMemo(() => JSON.stringify(memoOptions), [memoOptions]);
14870
- const itemsLength = items == null ? void 0 : items.reduce((acc, item) => {
14871
- return [...acc, ...(item.children ? item.children : [item])];
14872
- }, []).length;
14915
+ const memoOptionsString = useMemo(() => {
14916
+ // For very large datasets, skip JSON.stringify as it's expensive
14917
+ if ((memoOptions == null ? void 0 : memoOptions.length) > 10000) {
14918
+ return `${memoOptions.length}-${Date.now()}`;
14919
+ }
14920
+ return JSON.stringify(memoOptions);
14921
+ }, [memoOptions]);
14922
+
14923
+ // Optimize itemsLength calculation - avoid creating arrays
14924
+ const itemsLength = useMemo(() => {
14925
+ return (items == null ? void 0 : items.reduce((count, item) => {
14926
+ return count + (item.children ? item.children.length : 1);
14927
+ }, 0)) || 0;
14928
+ }, [items]);
14873
14929
  useEffect(() => {
14874
14930
  if (!inputValue || fetchData) {
14875
14931
  setItems(isShowSelectAll ? [{
@@ -14947,7 +15003,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
14947
15003
  __self: undefined,
14948
15004
  __source: {
14949
15005
  fileName: _jsxFileName$x,
14950
- lineNumber: 807,
15006
+ lineNumber: 866,
14951
15007
  columnNumber: 9
14952
15008
  }
14953
15009
  }), /*#__PURE__*/React__default.createElement(IconWrapper, {
@@ -14961,7 +15017,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
14961
15017
  __self: undefined,
14962
15018
  __source: {
14963
15019
  fileName: _jsxFileName$x,
14964
- lineNumber: 826,
15020
+ lineNumber: 885,
14965
15021
  columnNumber: 11
14966
15022
  }
14967
15023
  }, !(item != null && item.hideCheck) && (item.isDisabled ? /*#__PURE__*/React__default.createElement(CheckOutline, {
@@ -14969,7 +15025,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
14969
15025
  __self: undefined,
14970
15026
  __source: {
14971
15027
  fileName: _jsxFileName$x,
14972
- lineNumber: 838,
15028
+ lineNumber: 897,
14973
15029
  columnNumber: 17
14974
15030
  }
14975
15031
  }) : selectedValue.includes(item.id) && (item.isDisabled === false || item.isDisabled === undefined) && /*#__PURE__*/React__default.createElement(CheckOutline, {
@@ -14977,21 +15033,21 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
14977
15033
  __self: undefined,
14978
15034
  __source: {
14979
15035
  fileName: _jsxFileName$x,
14980
- lineNumber: 842,
15036
+ lineNumber: 901,
14981
15037
  columnNumber: 19
14982
15038
  }
14983
15039
  })), isShowSelectAll && (item == null ? void 0 : item.id) === '!all' && selectedValue != null && selectedValue.length && (selectedValue == null ? void 0 : selectedValue.length) < itemsLength ? /*#__PURE__*/React__default.createElement(IndeterminateFilled$1, {
14984
15040
  __self: undefined,
14985
15041
  __source: {
14986
15042
  fileName: _jsxFileName$x,
14987
- lineNumber: 846,
15043
+ lineNumber: 905,
14988
15044
  columnNumber: 15
14989
15045
  }
14990
15046
  }, "-") : /*#__PURE__*/React__default.createElement("div", {
14991
15047
  __self: undefined,
14992
15048
  __source: {
14993
15049
  fileName: _jsxFileName$x,
14994
- lineNumber: 848,
15050
+ lineNumber: 907,
14995
15051
  columnNumber: 15
14996
15052
  }
14997
15053
  })), /*#__PURE__*/React__default.createElement(Item$2, {
@@ -15002,7 +15058,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
15002
15058
  __self: undefined,
15003
15059
  __source: {
15004
15060
  fileName: _jsxFileName$x,
15005
- lineNumber: 851,
15061
+ lineNumber: 910,
15006
15062
  columnNumber: 11
15007
15063
  }
15008
15064
  }, item.render ? item.render == null ? void 0 : item.render(item.name) : item.name));
@@ -15030,7 +15086,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
15030
15086
  __self: undefined,
15031
15087
  __source: {
15032
15088
  fileName: _jsxFileName$x,
15033
- lineNumber: 867,
15089
+ lineNumber: 926,
15034
15090
  columnNumber: 13
15035
15091
  }
15036
15092
  }), /*#__PURE__*/React__default.createElement(IconWrapper, {
@@ -15043,7 +15099,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
15043
15099
  __self: undefined,
15044
15100
  __source: {
15045
15101
  fileName: _jsxFileName$x,
15046
- lineNumber: 880,
15102
+ lineNumber: 939,
15047
15103
  columnNumber: 15
15048
15104
  }
15049
15105
  }, !(item != null && item.hideCheck) && item.isDisabled ? /*#__PURE__*/React__default.createElement(CheckOutline, {
@@ -15051,7 +15107,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
15051
15107
  __self: undefined,
15052
15108
  __source: {
15053
15109
  fileName: _jsxFileName$x,
15054
- lineNumber: 890,
15110
+ lineNumber: 949,
15055
15111
  columnNumber: 19
15056
15112
  }
15057
15113
  }) : (filterSelectedChild == null ? void 0 : filterSelectedChild.length) === (item == null || (_item$children7 = item.children) == null || (_item$children7 = _item$children7.filter(e => !e.isDisabled)) == null ? void 0 : _item$children7.length) ? /*#__PURE__*/React__default.createElement(CheckOutline, {
@@ -15059,14 +15115,14 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
15059
15115
  __self: undefined,
15060
15116
  __source: {
15061
15117
  fileName: _jsxFileName$x,
15062
- lineNumber: 892,
15118
+ lineNumber: 951,
15063
15119
  columnNumber: 19
15064
15120
  }
15065
15121
  }) : (filterSelectedChild == null ? void 0 : filterSelectedChild.length) > 0 ? /*#__PURE__*/React__default.createElement(IndeterminateFilled$1, {
15066
15122
  __self: undefined,
15067
15123
  __source: {
15068
15124
  fileName: _jsxFileName$x,
15069
- lineNumber: 894,
15125
+ lineNumber: 953,
15070
15126
  columnNumber: 19
15071
15127
  }
15072
15128
  }, "-") : null), /*#__PURE__*/React__default.createElement(Item$2, {
@@ -15077,14 +15133,14 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
15077
15133
  __self: undefined,
15078
15134
  __source: {
15079
15135
  fileName: _jsxFileName$x,
15080
- lineNumber: 897,
15136
+ lineNumber: 956,
15081
15137
  columnNumber: 15
15082
15138
  }
15083
15139
  }, item.render ? item.render == null ? void 0 : item.render(item.name) : item.name)),
15084
15140
  __self: undefined,
15085
15141
  __source: {
15086
15142
  fileName: _jsxFileName$x,
15087
- lineNumber: 865,
15143
+ lineNumber: 924,
15088
15144
  columnNumber: 9
15089
15145
  }
15090
15146
  }, item == null || (_item$children8 = item.children) == null ? void 0 : _item$children8.map((optItem, optIndex) => renderOptionItem(optItem, groupIndex + optIndex + 1, true)));
@@ -15097,7 +15153,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
15097
15153
  __self: undefined,
15098
15154
  __source: {
15099
15155
  fileName: _jsxFileName$x,
15100
- lineNumber: 909,
15156
+ lineNumber: 968,
15101
15157
  columnNumber: 7
15102
15158
  }
15103
15159
  }), /*#__PURE__*/React__default.createElement(Select, {
@@ -15107,7 +15163,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
15107
15163
  __self: undefined,
15108
15164
  __source: {
15109
15165
  fileName: _jsxFileName$x,
15110
- lineNumber: 910,
15166
+ lineNumber: 969,
15111
15167
  columnNumber: 9
15112
15168
  }
15113
15169
  }, /*#__PURE__*/React__default.createElement(InputWrapper$1, _extends({}, getComboboxProps(getDropdownProps({
@@ -15122,7 +15178,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
15122
15178
  __self: undefined,
15123
15179
  __source: {
15124
15180
  fileName: _jsxFileName$x,
15125
- lineNumber: 911,
15181
+ lineNumber: 970,
15126
15182
  columnNumber: 11
15127
15183
  }
15128
15184
  }), /*#__PURE__*/React__default.createElement(Input$6, _extends({}, getInputProps({
@@ -15140,7 +15196,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
15140
15196
  __self: undefined,
15141
15197
  __source: {
15142
15198
  fileName: _jsxFileName$x,
15143
- lineNumber: 921,
15199
+ lineNumber: 980,
15144
15200
  columnNumber: 13
15145
15201
  }
15146
15202
  })), /*#__PURE__*/React__default.createElement(Button$2, _extends({}, getToggleButtonProps({
@@ -15154,7 +15210,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
15154
15210
  __self: undefined,
15155
15211
  __source: {
15156
15212
  fileName: _jsxFileName$x,
15157
- lineNumber: 928,
15213
+ lineNumber: 987,
15158
15214
  columnNumber: 13
15159
15215
  }
15160
15216
  }), (_ref2 = label != null ? label : placeholder) != null ? _ref2 : t('placeholder', 'Pilih Item'))), /*#__PURE__*/React__default.createElement(IconWrapper, _extends({}, getToggleButtonProps({
@@ -15165,7 +15221,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
15165
15221
  __self: undefined,
15166
15222
  __source: {
15167
15223
  fileName: _jsxFileName$x,
15168
- lineNumber: 939,
15224
+ lineNumber: 998,
15169
15225
  columnNumber: 11
15170
15226
  }
15171
15227
  }), /*#__PURE__*/React__default.createElement(IconCaretDown, {
@@ -15173,7 +15229,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
15173
15229
  __self: undefined,
15174
15230
  __source: {
15175
15231
  fileName: _jsxFileName$x,
15176
- lineNumber: 944,
15232
+ lineNumber: 1003,
15177
15233
  columnNumber: 13
15178
15234
  }
15179
15235
  }))), helperText && /*#__PURE__*/React__default.createElement(Paragraph, {
@@ -15186,7 +15242,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
15186
15242
  __self: undefined,
15187
15243
  __source: {
15188
15244
  fileName: _jsxFileName$x,
15189
- lineNumber: 948,
15245
+ lineNumber: 1007,
15190
15246
  columnNumber: 11
15191
15247
  }
15192
15248
  }, helperText), showSelectedTag && !showCounter && selectedItems.length !== 0 && /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(TagWrapper$2, {
@@ -15194,7 +15250,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
15194
15250
  __self: undefined,
15195
15251
  __source: {
15196
15252
  fileName: _jsxFileName$x,
15197
- lineNumber: 954,
15253
+ lineNumber: 1013,
15198
15254
  columnNumber: 13
15199
15255
  }
15200
15256
  }, isShowTagSelectAll ? /*#__PURE__*/React__default.createElement(Tag, _extends({
@@ -15215,7 +15271,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
15215
15271
  __self: undefined,
15216
15272
  __source: {
15217
15273
  fileName: _jsxFileName$x,
15218
- lineNumber: 956,
15274
+ lineNumber: 1015,
15219
15275
  columnNumber: 17
15220
15276
  }
15221
15277
  }), selectAllLabel != null ? selectAllLabel : t('selectAllLabelText', 'Pilih Semua')) : selectedItems == null || (_selectedItems$filter = selectedItems.filter(item => (item == null ? void 0 : item.id) !== '!all')) == null || (_selectedItems$filter = _selectedItems$filter.filter((_, idx) => {
@@ -15246,7 +15302,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
15246
15302
  __self: undefined,
15247
15303
  __source: {
15248
15304
  fileName: _jsxFileName$x,
15249
- lineNumber: 985,
15305
+ lineNumber: 1044,
15250
15306
  columnNumber: 21
15251
15307
  }
15252
15308
  }), selectedItem.name))), collapsible && !isShowTagSelectAll && (selectedItems == null ? void 0 : selectedItems.length) > collapsibleLimit && /*#__PURE__*/React__default.createElement(Flex$1, {
@@ -15255,7 +15311,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
15255
15311
  __self: undefined,
15256
15312
  __source: {
15257
15313
  fileName: _jsxFileName$x,
15258
- lineNumber: 1008,
15314
+ lineNumber: 1067,
15259
15315
  columnNumber: 15
15260
15316
  }
15261
15317
  }, /*#__PURE__*/React__default.createElement(Flex$1, {
@@ -15265,14 +15321,14 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
15265
15321
  __self: undefined,
15266
15322
  __source: {
15267
15323
  fileName: _jsxFileName$x,
15268
- lineNumber: 1009,
15324
+ lineNumber: 1068,
15269
15325
  columnNumber: 17
15270
15326
  }
15271
15327
  }, /*#__PURE__*/React__default.createElement(Separator$2, {
15272
15328
  __self: undefined,
15273
15329
  __source: {
15274
15330
  fileName: _jsxFileName$x,
15275
- lineNumber: 1010,
15331
+ lineNumber: 1069,
15276
15332
  columnNumber: 19
15277
15333
  }
15278
15334
  }), /*#__PURE__*/React__default.createElement(Flex$1, {
@@ -15286,7 +15342,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
15286
15342
  __self: undefined,
15287
15343
  __source: {
15288
15344
  fileName: _jsxFileName$x,
15289
- lineNumber: 1011,
15345
+ lineNumber: 1070,
15290
15346
  columnNumber: 19
15291
15347
  }
15292
15348
  }, showAllTags ? /*#__PURE__*/React__default.createElement(ChevronUpOutline, {
@@ -15294,7 +15350,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
15294
15350
  __self: undefined,
15295
15351
  __source: {
15296
15352
  fileName: _jsxFileName$x,
15297
- lineNumber: 1017,
15353
+ lineNumber: 1076,
15298
15354
  columnNumber: 23
15299
15355
  }
15300
15356
  }) : /*#__PURE__*/React__default.createElement(ChevronDownOutline, {
@@ -15302,7 +15358,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
15302
15358
  __self: undefined,
15303
15359
  __source: {
15304
15360
  fileName: _jsxFileName$x,
15305
- lineNumber: 1019,
15361
+ lineNumber: 1078,
15306
15362
  columnNumber: 23
15307
15363
  }
15308
15364
  }), /*#__PURE__*/React__default.createElement(Paragraph, {
@@ -15314,14 +15370,14 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
15314
15370
  __self: undefined,
15315
15371
  __source: {
15316
15372
  fileName: _jsxFileName$x,
15317
- lineNumber: 1021,
15373
+ lineNumber: 1080,
15318
15374
  columnNumber: 21
15319
15375
  }
15320
15376
  }, showAllTags ? t('showSomeText', 'Tampilkan Sebagian') : t('showAllText', 'Tampilkan Semua'))), /*#__PURE__*/React__default.createElement(Separator$2, {
15321
15377
  __self: undefined,
15322
15378
  __source: {
15323
15379
  fileName: _jsxFileName$x,
15324
- lineNumber: 1025,
15380
+ lineNumber: 1084,
15325
15381
  columnNumber: 19
15326
15382
  }
15327
15383
  })), showCollapsibleCounter && /*#__PURE__*/React__default.createElement(Paragraph, {
@@ -15332,7 +15388,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
15332
15388
  __self: undefined,
15333
15389
  __source: {
15334
15390
  fileName: _jsxFileName$x,
15335
- lineNumber: 1028,
15391
+ lineNumber: 1087,
15336
15392
  columnNumber: 19
15337
15393
  }
15338
15394
  }, `${totalOptions ? totalOptions : selectedItems == null || (_selectedItems$filter2 = selectedItems.filter(item => (item == null ? void 0 : item.id) !== '!all')) == null ? void 0 : _selectedItems$filter2.length} ${labelCounter || t('labelCounterText', 'Item terpilih')}`))), showCounter && !isShowTagSelectAll && Boolean(selectedItems == null ? void 0 : selectedItems.length) && /*#__PURE__*/React__default.createElement(Paragraph, {
@@ -15344,7 +15400,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
15344
15400
  __self: undefined,
15345
15401
  __source: {
15346
15402
  fileName: _jsxFileName$x,
15347
- lineNumber: 1039,
15403
+ lineNumber: 1098,
15348
15404
  columnNumber: 11
15349
15405
  }
15350
15406
  }, `${totalOptions ? totalOptions : selectedItems == null || (_selectedItems$filter3 = selectedItems.filter(item => (item == null ? void 0 : item.id) !== '!all')) == null ? void 0 : _selectedItems$filter3.length} ${labelCounter || t('labelCounterText', 'Item terpilih')}`), /*#__PURE__*/React__default.createElement(OptionWrapper$1, {
@@ -15357,7 +15413,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
15357
15413
  __self: undefined,
15358
15414
  __source: {
15359
15415
  fileName: _jsxFileName$x,
15360
- lineNumber: 1046,
15416
+ lineNumber: 1105,
15361
15417
  columnNumber: 9
15362
15418
  }
15363
15419
  }, isLoading && /*#__PURE__*/React__default.createElement(Flex$1, {
@@ -15379,7 +15435,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
15379
15435
  __self: undefined,
15380
15436
  __source: {
15381
15437
  fileName: _jsxFileName$x,
15382
- lineNumber: 1056,
15438
+ lineNumber: 1115,
15383
15439
  columnNumber: 13
15384
15440
  }
15385
15441
  }, /*#__PURE__*/React__default.createElement(Text$1, {
@@ -15387,7 +15443,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
15387
15443
  __self: undefined,
15388
15444
  __source: {
15389
15445
  fileName: _jsxFileName$x,
15390
- lineNumber: 1073,
15446
+ lineNumber: 1132,
15391
15447
  columnNumber: 15
15392
15448
  }
15393
15449
  }, "Loading....")), items.length > 0 || isLoading ? /*#__PURE__*/React__default.createElement(Option, _extends({}, getMenuProps({
@@ -15399,7 +15455,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
15399
15455
  __self: undefined,
15400
15456
  __source: {
15401
15457
  fileName: _jsxFileName$x,
15402
- lineNumber: 1078,
15458
+ lineNumber: 1137,
15403
15459
  columnNumber: 13
15404
15460
  }
15405
15461
  }), /*#__PURE__*/React__default.createElement(ConditionalWrapper, {
@@ -15422,14 +15478,14 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
15422
15478
  __self: undefined,
15423
15479
  __source: {
15424
15480
  fileName: _jsxFileName$x,
15425
- lineNumber: 1082,
15481
+ lineNumber: 1141,
15426
15482
  columnNumber: 19
15427
15483
  }
15428
15484
  }, child),
15429
15485
  __self: undefined,
15430
15486
  __source: {
15431
15487
  fileName: _jsxFileName$x,
15432
- lineNumber: 1079,
15488
+ lineNumber: 1138,
15433
15489
  columnNumber: 15
15434
15490
  }
15435
15491
  }, isOpen && shouldVirtualize ?
@@ -15444,12 +15500,13 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
15444
15500
  __self: undefined,
15445
15501
  __source: {
15446
15502
  fileName: _jsxFileName$x,
15447
- lineNumber: 1103,
15503
+ lineNumber: 1162,
15448
15504
  columnNumber: 21
15449
15505
  }
15450
15506
  }, rowVirtualizer.virtualItems.map(virtualRow => {
15451
15507
  var _item$children9, _item$children0, _item$children1;
15452
- const virtualItem = virtualizedItemsList[virtualRow.index];
15508
+ const virtualItem = getItemAtIndex(virtualRow.index);
15509
+ if (!virtualItem) return null;
15453
15510
  const {
15454
15511
  type,
15455
15512
  item
@@ -15466,7 +15523,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
15466
15523
  __self: undefined,
15467
15524
  __source: {
15468
15525
  fileName: _jsxFileName$x,
15469
- lineNumber: 1109,
15526
+ lineNumber: 1170,
15470
15527
  columnNumber: 27
15471
15528
  }
15472
15529
  }, type === 'group' ?
@@ -15486,7 +15543,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
15486
15543
  __self: undefined,
15487
15544
  __source: {
15488
15545
  fileName: _jsxFileName$x,
15489
- lineNumber: 1121,
15546
+ lineNumber: 1182,
15490
15547
  columnNumber: 31
15491
15548
  }
15492
15549
  }), /*#__PURE__*/React__default.createElement(IconWrapper, {
@@ -15499,7 +15556,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
15499
15556
  __self: undefined,
15500
15557
  __source: {
15501
15558
  fileName: _jsxFileName$x,
15502
- lineNumber: 1134,
15559
+ lineNumber: 1195,
15503
15560
  columnNumber: 33
15504
15561
  }
15505
15562
  }, !(item != null && item.hideCheck) && item.isDisabled ? /*#__PURE__*/React__default.createElement(CheckOutline, {
@@ -15507,7 +15564,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
15507
15564
  __self: undefined,
15508
15565
  __source: {
15509
15566
  fileName: _jsxFileName$x,
15510
- lineNumber: 1144,
15567
+ lineNumber: 1205,
15511
15568
  columnNumber: 37
15512
15569
  }
15513
15570
  }) : (item == null || (_item$children9 = item.children) == null || (_item$children9 = _item$children9.filter(e => selectedValue.includes(e.id) && !e.isDisabled)) == null ? void 0 : _item$children9.length) === (item == null || (_item$children0 = item.children) == null || (_item$children0 = _item$children0.filter(e => !e.isDisabled)) == null ? void 0 : _item$children0.length) ? /*#__PURE__*/React__default.createElement(CheckOutline, {
@@ -15515,14 +15572,14 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
15515
15572
  __self: undefined,
15516
15573
  __source: {
15517
15574
  fileName: _jsxFileName$x,
15518
- lineNumber: 1148,
15575
+ lineNumber: 1209,
15519
15576
  columnNumber: 39
15520
15577
  }
15521
15578
  }) : (item == null || (_item$children1 = item.children) == null || (_item$children1 = _item$children1.filter(e => selectedValue.includes(e.id) && !e.isDisabled)) == null ? void 0 : _item$children1.length) > 0 ? /*#__PURE__*/React__default.createElement(IndeterminateFilled$1, {
15522
15579
  __self: undefined,
15523
15580
  __source: {
15524
15581
  fileName: _jsxFileName$x,
15525
- lineNumber: 1150,
15582
+ lineNumber: 1211,
15526
15583
  columnNumber: 39
15527
15584
  }
15528
15585
  }, "-") : null), /*#__PURE__*/React__default.createElement(Item$2, {
@@ -15533,7 +15590,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
15533
15590
  __self: undefined,
15534
15591
  __source: {
15535
15592
  fileName: _jsxFileName$x,
15536
- lineNumber: 1154,
15593
+ lineNumber: 1215,
15537
15594
  columnNumber: 33
15538
15595
  }
15539
15596
  }, item.render ? item.render == null ? void 0 : item.render(item.name) : item.name)) :
@@ -15551,14 +15608,14 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
15551
15608
  __self: undefined,
15552
15609
  __source: {
15553
15610
  fileName: _jsxFileName$x,
15554
- lineNumber: 1177,
15611
+ lineNumber: 1238,
15555
15612
  columnNumber: 13
15556
15613
  }
15557
15614
  }), /*#__PURE__*/React__default.createElement(StyledDiv, {
15558
15615
  __self: undefined,
15559
15616
  __source: {
15560
15617
  fileName: _jsxFileName$x,
15561
- lineNumber: 1178,
15618
+ lineNumber: 1239,
15562
15619
  columnNumber: 15
15563
15620
  }
15564
15621
  }, /*#__PURE__*/React__default.createElement("div", {
@@ -15568,7 +15625,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
15568
15625
  __self: undefined,
15569
15626
  __source: {
15570
15627
  fileName: _jsxFileName$x,
15571
- lineNumber: 1179,
15628
+ lineNumber: 1240,
15572
15629
  columnNumber: 17
15573
15630
  }
15574
15631
  }, /*#__PURE__*/React__default.createElement(CircleInfoOutline, {
@@ -15580,7 +15637,7 @@ const InputSelectCheck = /*#__PURE__*/forwardRef((_ref, ref) => {
15580
15637
  __self: undefined,
15581
15638
  __source: {
15582
15639
  fileName: _jsxFileName$x,
15583
- lineNumber: 1180,
15640
+ lineNumber: 1241,
15584
15641
  columnNumber: 19
15585
15642
  }
15586
15643
  })), textEmptyItem != null ? textEmptyItem : t('emptyItemText', 'Item tidak ditemukan')))));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@majoo-ui/react",
3
- "version": "1.61.20-rc.3",
3
+ "version": "1.61.20-rc.4",
4
4
  "main": "./index.esm.js",
5
5
  "exports": {
6
6
  ".": {