@activecollab/components 2.0.208 → 2.0.209

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 (43) hide show
  1. package/dist/cjs/components/Autocomplete/Autocomplete.js +79 -211
  2. package/dist/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  3. package/dist/cjs/components/ComboBox/ComboBox.js +2 -4
  4. package/dist/cjs/components/ComboBox/ComboBox.js.map +1 -1
  5. package/dist/cjs/components/Input/InputTime.js +2 -4
  6. package/dist/cjs/components/Input/InputTime.js.map +1 -1
  7. package/dist/cjs/components/Select/OptionGroup/OptionGroup.js +16 -6
  8. package/dist/cjs/components/Select/OptionGroup/OptionGroup.js.map +1 -1
  9. package/dist/cjs/components/Select/OptionGroup/Styles.js +1 -1
  10. package/dist/cjs/components/Select/OptionGroup/Styles.js.map +1 -1
  11. package/dist/cjs/components/Select/Select.js +2 -4
  12. package/dist/cjs/components/Select/Select.js.map +1 -1
  13. package/dist/cjs/hooks/useHighlightText.js +0 -1
  14. package/dist/cjs/hooks/useHighlightText.js.map +1 -1
  15. package/dist/esm/components/Autocomplete/Autocomplete.d.ts +3 -6
  16. package/dist/esm/components/Autocomplete/Autocomplete.d.ts.map +1 -1
  17. package/dist/esm/components/Autocomplete/Autocomplete.js +58 -185
  18. package/dist/esm/components/Autocomplete/Autocomplete.js.map +1 -1
  19. package/dist/esm/components/ComboBox/ComboBox.d.ts.map +1 -1
  20. package/dist/esm/components/ComboBox/ComboBox.js +1 -3
  21. package/dist/esm/components/ComboBox/ComboBox.js.map +1 -1
  22. package/dist/esm/components/Input/InputTime.d.ts +0 -1
  23. package/dist/esm/components/Input/InputTime.d.ts.map +1 -1
  24. package/dist/esm/components/Input/InputTime.js +1 -3
  25. package/dist/esm/components/Input/InputTime.js.map +1 -1
  26. package/dist/esm/components/Select/OptionGroup/OptionGroup.d.ts.map +1 -1
  27. package/dist/esm/components/Select/OptionGroup/OptionGroup.js +10 -6
  28. package/dist/esm/components/Select/OptionGroup/OptionGroup.js.map +1 -1
  29. package/dist/esm/components/Select/OptionGroup/Styles.d.ts.map +1 -1
  30. package/dist/esm/components/Select/OptionGroup/Styles.js +1 -1
  31. package/dist/esm/components/Select/OptionGroup/Styles.js.map +1 -1
  32. package/dist/esm/components/Select/Select.d.ts +0 -1
  33. package/dist/esm/components/Select/Select.d.ts.map +1 -1
  34. package/dist/esm/components/Select/Select.js +1 -3
  35. package/dist/esm/components/Select/Select.js.map +1 -1
  36. package/dist/esm/hooks/useHighlightText.d.ts.map +1 -1
  37. package/dist/esm/hooks/useHighlightText.js +0 -1
  38. package/dist/esm/hooks/useHighlightText.js.map +1 -1
  39. package/dist/index.js +104 -234
  40. package/dist/index.js.map +1 -1
  41. package/dist/index.min.js +1 -1
  42. package/dist/index.min.js.map +1 -1
  43. package/package.json +1 -2
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react'), require('classnames'), require('styled-components'), require('resize-observer-polyfill'), require('react-focus-lock'), require('react-remove-scroll'), require('react-dom'), require('@popperjs/core'), require('react-transition-group'), require('moment'), require('date-fns'), require('react-day-picker'), require('moment-timezone'), require('@tanstack/react-virtual'), require('country-explorer'), require('compromise'), require('compromise-dates')) :
3
- typeof define === 'function' && define.amd ? define(['exports', 'react', 'classnames', 'styled-components', 'resize-observer-polyfill', 'react-focus-lock', 'react-remove-scroll', 'react-dom', '@popperjs/core', 'react-transition-group', 'moment', 'date-fns', 'react-day-picker', 'moment-timezone', '@tanstack/react-virtual', 'country-explorer', 'compromise', 'compromise-dates'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.components = {}, global.React, global.classNames, global.styled, global.ResizeObserver, global.FocusLock, global.reactRemoveScroll, global.ReactDOM, global.PopperJS, global.reactTransitionGroup, global.moment, global.DateFns, global.DayPicker, global["moment-timezone"], global.reactVirtual, global.countryExplorer, global.compromise, global.compromiseDates));
5
- })(this, (function (exports, React, classNames, styled, ResizeObserver, FocusLock, reactRemoveScroll, ReactDOM, core, reactTransitionGroup, moment, dateFns, reactDayPicker, moment$1, reactVirtual, countryExplorer, nlp, plg) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react'), require('classnames'), require('styled-components'), require('resize-observer-polyfill'), require('react-focus-lock'), require('react-remove-scroll'), require('react-dom'), require('@popperjs/core'), require('react-transition-group'), require('moment'), require('date-fns'), require('react-day-picker'), require('moment-timezone'), require('react-custom-scrollbars-2'), require('country-explorer'), require('compromise'), require('compromise-dates')) :
3
+ typeof define === 'function' && define.amd ? define(['exports', 'react', 'classnames', 'styled-components', 'resize-observer-polyfill', 'react-focus-lock', 'react-remove-scroll', 'react-dom', '@popperjs/core', 'react-transition-group', 'moment', 'date-fns', 'react-day-picker', 'moment-timezone', 'react-custom-scrollbars-2', 'country-explorer', 'compromise', 'compromise-dates'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.components = {}, global.React, global.classNames, global.styled, global.ResizeObserver, global.FocusLock, global.reactRemoveScroll, global.ReactDOM, global.PopperJS, global.reactTransitionGroup, global.moment, global.DateFns, global.DayPicker, global["moment-timezone"], global.reactCustomScrollbars, global.countryExplorer, global.compromise, global.compromiseDates));
5
+ })(this, (function (exports, React, classNames, styled, ResizeObserver, FocusLock, reactRemoveScroll, ReactDOM, core, reactTransitionGroup, moment, dateFns, reactDayPicker, moment$1, reactCustomScrollbars2, countryExplorer, nlp, plg) { 'use strict';
6
6
 
7
7
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
8
 
@@ -14970,7 +14970,6 @@
14970
14970
  var matchCase = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
14971
14971
  var textComparator = text;
14972
14972
  var searchByComparator = searchBy;
14973
- if (!text) return;
14974
14973
  if (!matchCase) {
14975
14974
  textComparator = text.toLowerCase();
14976
14975
  searchByComparator = searchBy.toLowerCase();
@@ -15020,7 +15019,7 @@
15020
15019
  var StyledOptionGroupLi = styled__default["default"].li.withConfig({
15021
15020
  displayName: "Styles__StyledOptionGroupLi",
15022
15021
  componentId: "sc-16v5afu-0"
15023
- })(["flex-direction:column;cursor:pointer;"]);
15022
+ })(["flex-direction:column;"]);
15024
15023
  var StyledOptionGroup = styled__default["default"].div.withConfig({
15025
15024
  displayName: "Styles__StyledOptionGroup",
15026
15025
  componentId: "sc-16v5afu-1"
@@ -15052,12 +15051,19 @@
15052
15051
  options = _ref.options,
15053
15052
  type = _ref.type,
15054
15053
  hover = _ref.hover,
15054
+ filter = _ref.filter,
15055
15055
  checked = _ref.checked,
15056
15056
  onChange = _ref.onChange,
15057
15057
  setHover = _ref.setHover,
15058
+ renderOptions = _ref.renderOptions,
15058
15059
  optionGroupClassName = _ref.optionGroupClassName,
15059
15060
  _ref$mixedOptions = _ref.mixedOptions,
15060
15061
  mixedOptions = _ref$mixedOptions === void 0 ? [] : _ref$mixedOptions;
15062
+ var list = React.useMemo(function () {
15063
+ return filter ? options.filter(function (v) {
15064
+ return v.name.toLowerCase().includes(filter.trim().toLowerCase());
15065
+ }) : options;
15066
+ }, [filter, options]);
15061
15067
  React.useEffect(function () {
15062
15068
  if (hover === id && type !== "single") {
15063
15069
  var _document$getElementB;
@@ -15070,11 +15076,13 @@
15070
15076
  });
15071
15077
  }, [options, checked]);
15072
15078
  var handleHover = React.useCallback(function () {
15073
- // if (options.some((option) => checked.includes(option.id))) return;
15079
+ if (options.some(function (option) {
15080
+ return checked.includes(option.id);
15081
+ })) return;
15074
15082
  if (setHover) {
15075
15083
  setHover(type === "single" ? undefined : id);
15076
15084
  }
15077
- }, [setHover, type, id]);
15085
+ }, [setHover, type, id, checked, options]);
15078
15086
  var allOptionValues = React.useMemo(function () {
15079
15087
  return options.map(function (option) {
15080
15088
  return option.id;
@@ -15089,7 +15097,6 @@
15089
15097
  }, [allOptionValues, checked, isAllOptionsChecked, mixedOptions, options]);
15090
15098
  var handleClick = React.useCallback(function (e) {
15091
15099
  e.stopPropagation();
15092
- e.preventDefault();
15093
15100
  if (onChange) {
15094
15101
  if (isAllOptionsChecked) {
15095
15102
  onChange(checked.filter(function (i) {
@@ -15106,8 +15113,7 @@
15106
15113
  }, [allOptionValues, checked, isAllOptionsChecked, onChange]);
15107
15114
  return /*#__PURE__*/React__default["default"].createElement(StyledOptionGroupLi, {
15108
15115
  key: id,
15109
- className: classNames__default["default"]("c-option-group", optionGroupClassName),
15110
- onClick: handleClick
15116
+ className: classNames__default["default"]("c-option-group", optionGroupClassName)
15111
15117
  }, /*#__PURE__*/React__default["default"].createElement(StyledOptionGroup, {
15112
15118
  key: id
15113
15119
  }, /*#__PURE__*/React__default["default"].createElement(StyledOptionGroupOption, {
@@ -15121,7 +15127,9 @@
15121
15127
  mixed: isMixed,
15122
15128
  onChange: handleClick,
15123
15129
  type: "checkbox"
15124
- })))));
15130
+ }))), /*#__PURE__*/React__default["default"].createElement(List, null, list.map(function (item, index) {
15131
+ return typeof renderOptions === "function" ? renderOptions(item, index) : item.name;
15132
+ }))));
15125
15133
  };
15126
15134
  OptionGroup.displayName = "OptionGroup";
15127
15135
 
@@ -15157,11 +15165,9 @@
15157
15165
  autoHeightMax = _ref$autoHeightMax === void 0 ? 340 : _ref$autoHeightMax,
15158
15166
  clearInputOnSelect = _ref.clearInputOnSelect,
15159
15167
  _ref$mixedOptions = _ref.mixedOptions,
15160
- mixedOptions = _ref$mixedOptions === void 0 ? [] : _ref$mixedOptions,
15161
- filterCriteria = _ref.filterCriteria,
15162
- disableVirtualization = _ref.disableVirtualization;
15163
- var listContainerRef = React.useRef(null);
15168
+ mixedOptions = _ref$mixedOptions === void 0 ? [] : _ref$mixedOptions;
15164
15169
  var itemRef = React.useRef(null);
15170
+ var listRef = React.useRef(null);
15165
15171
  var selectedOptions = React.useMemo(function () {
15166
15172
  if (Array.isArray(selected)) {
15167
15173
  return selected;
@@ -15203,9 +15209,9 @@
15203
15209
  } else {
15204
15210
  return opts.sort(sortOptions);
15205
15211
  }
15206
- },
15207
- // eslint-disable-next-line react-hooks/exhaustive-deps
15208
- [mixedOptions, selectedOptions]);
15212
+
15213
+ // eslint-disable-next-line react-hooks/exhaustive-deps
15214
+ }, []);
15209
15215
  var sortList = React.useCallback(function (options) {
15210
15216
  var _options$;
15211
15217
  if (disabledInternalSort) {
@@ -15229,22 +15235,20 @@
15229
15235
  return handleSort(_sortedOptions);
15230
15236
  }
15231
15237
  }, [sortDirection, disabledInternalSort, handleSort]);
15232
- var _useState = React.useState(function () {
15233
- return sortList(options);
15234
- }),
15235
- _useState2 = _slicedToArray(_useState, 1),
15236
- sortedList = _useState2[0];
15237
- var _useState3 = React.useState({
15238
+ var sortedList = React.useMemo(function () {
15239
+ return sortList(options);
15240
+ }, [options, sortList]);
15241
+ var _useState = React.useState({
15238
15242
  item: undefined,
15239
15243
  by: undefined
15240
15244
  }),
15245
+ _useState2 = _slicedToArray(_useState, 2),
15246
+ hover = _useState2[0],
15247
+ setHover = _useState2[1];
15248
+ var _useState3 = React.useState(""),
15241
15249
  _useState4 = _slicedToArray(_useState3, 2),
15242
- hover = _useState4[0],
15243
- setHover = _useState4[1];
15244
- var _useState5 = React.useState(""),
15245
- _useState6 = _slicedToArray(_useState5, 2),
15246
- filter = _useState6[0],
15247
- setFilter = _useState6[1];
15250
+ filter = _useState4[0],
15251
+ setFilter = _useState4[1];
15248
15252
  var handleEmpty = React.useCallback(function (e) {
15249
15253
  if (e && e.button !== 0) {
15250
15254
  return;
@@ -15272,20 +15276,24 @@
15272
15276
  return option.name.toLowerCase() !== filter.trim().toLowerCase();
15273
15277
  }));
15274
15278
  }, [emptyValue, filter, options]);
15279
+ var renderAddNew = React.useMemo(function () {
15280
+ return /*#__PURE__*/React__default["default"].createElement(StyledAutocompleteNewItem, {
15281
+ ref: hover.item === "addNew" ? itemRef : null,
15282
+ key: "emptyValue",
15283
+ hover: hover.item === "addNew",
15284
+ onMouseDown: handleEmpty,
15285
+ onMouseEnter: onAddNewMouseEnter
15286
+ }, emptyValue);
15287
+ }, [emptyValue, handleEmpty, hover, onAddNewMouseEnter]);
15275
15288
  var filterOptions = React.useCallback(function (options, filter) {
15276
15289
  var trimmedFilter = filter.trim();
15277
15290
  var isGrouped = options[0] && isOptionGroup(options[0]);
15278
- var matchesFilter = function matchesFilter(option) {
15279
- var nameMatch = option.name.toLowerCase().includes(trimmedFilter.toLowerCase());
15280
- if (filterCriteria && trimmedFilter) {
15281
- return nameMatch || filterCriteria(option, trimmedFilter);
15282
- }
15283
- return nameMatch;
15284
- };
15285
15291
  if (isGrouped) {
15286
15292
  var hovered = false;
15287
15293
  return options.reduce(function (acc, groupedOption) {
15288
- var filteredOptions = groupedOption.options.filter(matchesFilter);
15294
+ var filteredOptions = groupedOption.options.filter(function (v) {
15295
+ return v.name.toLowerCase().includes(trimmedFilter.toLowerCase());
15296
+ });
15289
15297
  if (filteredOptions.length > 0) {
15290
15298
  if (!hovered && filter) {
15291
15299
  setHover({
@@ -15301,7 +15309,9 @@
15301
15309
  return [...acc];
15302
15310
  }, []);
15303
15311
  } else {
15304
- var filteredOptions = options.filter(matchesFilter);
15312
+ var filteredOptions = options.filter(function (v) {
15313
+ return v.name.toLowerCase().includes(trimmedFilter.toLowerCase());
15314
+ });
15305
15315
  if (filter && filteredOptions.length > 0) {
15306
15316
  setHover({
15307
15317
  item: filteredOptions[0].id,
@@ -15316,7 +15326,7 @@
15316
15326
  }
15317
15327
  return filteredOptions;
15318
15328
  }
15319
- }, [emptyValue, filterCriteria]);
15329
+ }, [emptyValue]);
15320
15330
  var list = React.useMemo(function () {
15321
15331
  return filterOptions(sortedList, filter);
15322
15332
  }, [filter, filterOptions, sortedList]);
@@ -15332,67 +15342,6 @@
15332
15342
  }, []);
15333
15343
  return filterOptions(options, filter);
15334
15344
  }, [filter, filterOptions, list]);
15335
- var showNoResultCondition = React.useMemo(function () {
15336
- return noResultText && !showAddNew && list.length < 1 && (defaultValue && filter || !defaultValue);
15337
- }, [noResultText, showAddNew, list.length, defaultValue, filter]);
15338
- var virtualItems = React.useMemo(function () {
15339
- var items = [];
15340
- if (showDefaultOption) {
15341
- items.push({
15342
- type: "default",
15343
- id: "default"
15344
- });
15345
- }
15346
- list.forEach(function (item, index) {
15347
- if (isOptionGroup(item)) {
15348
- items.push({
15349
- type: "group",
15350
- id: item.id,
15351
- item
15352
- });
15353
- item.options.forEach(function (option) {
15354
- items.push({
15355
- type: "option",
15356
- id: option.id,
15357
- item: option,
15358
- index
15359
- });
15360
- });
15361
- } else {
15362
- items.push({
15363
- type: "option",
15364
- id: item.id,
15365
- item,
15366
- index
15367
- });
15368
- }
15369
- });
15370
- if (showNoResultCondition) {
15371
- items.push({
15372
- type: "noResult",
15373
- id: "noResult"
15374
- });
15375
- }
15376
- if (showAddNew) {
15377
- items.push({
15378
- type: "addNew",
15379
- id: "addNew"
15380
- });
15381
- }
15382
- return items;
15383
- }, [list, showDefaultOption, showNoResultCondition, showAddNew]);
15384
- var shouldUseVirtualization = !disableVirtualization && virtualItems.length > 40;
15385
- var rowVirtualizer = reactVirtual.useVirtualizer({
15386
- count: virtualItems.length,
15387
- getScrollElement: function getScrollElement() {
15388
- return listContainerRef.current;
15389
- },
15390
- estimateSize: function estimateSize() {
15391
- return 28;
15392
- },
15393
- overscan: 5,
15394
- gap: 4
15395
- });
15396
15345
  var handleInputChange = React.useCallback(function (e) {
15397
15346
  if (e.target && !(e.key === "ArrowDown") && !(e.key === "ArrowUp") && !(e.key === "Enter")) {
15398
15347
  setFilter(e.target.value);
@@ -15471,7 +15420,7 @@
15471
15420
  }
15472
15421
  return /*#__PURE__*/React__default["default"].createElement(Option, {
15473
15422
  name: item.name,
15474
- ref: hover.item === item.id ? itemRef : null,
15423
+ ref: itemRef,
15475
15424
  key: index,
15476
15425
  tooltip: item.tooltip,
15477
15426
  onMouseEnter: handleMouseEnter,
@@ -15497,18 +15446,23 @@
15497
15446
  by: "mouse"
15498
15447
  });
15499
15448
  }, []);
15449
+ var handleScroll = React.useCallback(function (list, itemOffset) {
15450
+ if (list.getClientHeight() + list.getScrollTop() < itemOffset + 40) {
15451
+ return list.scrollTop(itemOffset - list.getClientHeight() + 30);
15452
+ }
15453
+ if (list.getScrollTop() > itemOffset) {
15454
+ return list.scrollTop(itemOffset);
15455
+ }
15456
+ }, []);
15500
15457
  React.useEffect(function () {
15501
15458
  if (hover.by === "keyboard" && hover.item !== undefined) {
15502
- var index = virtualItems.findIndex(function (item) {
15503
- return item.id === hover.item;
15504
- });
15505
- if (index !== -1) {
15506
- rowVirtualizer.scrollToIndex(index, {
15507
- align: "center"
15508
- });
15459
+ var item = itemRef.current;
15460
+ var _list = listRef.current;
15461
+ if (itemRef && item && _list) {
15462
+ handleScroll(_list, item.offsetTop);
15509
15463
  }
15510
15464
  }
15511
- }, [hover, rowVirtualizer, virtualItems]);
15465
+ }, [handleScroll, hover]);
15512
15466
  var handleOnKeyDown = React.useCallback(function (e) {
15513
15467
  if (e.key === "Enter") {
15514
15468
  e.preventDefault();
@@ -15551,126 +15505,48 @@
15551
15505
  return selectedOptions[0] === null || selectedOptions.length === flatOptions.length;
15552
15506
  }
15553
15507
  }, [flatOptions.length, preselectDefaultValue, selectedOptions]);
15554
- var renderVirtualItem = React.useCallback(function (virtualItem, index) {
15555
- switch (virtualItem.type) {
15556
- case "default":
15557
- return /*#__PURE__*/React__default["default"].createElement(Option, {
15558
- name: String(defaultValue),
15559
- ref: hover.item === null ? itemRef : null,
15560
- hover: hover.item === null,
15561
- onMouseEnter: handleMouseEnter,
15562
- onClick: function onClick(e) {
15563
- e.preventDefault();
15564
- toggleSelected(null);
15565
- },
15566
- renderOption: renderOption({
15567
- name: defaultValue,
15568
- id: null
15569
- }, {
15570
- checked: isDefaultOptionSelected(),
15571
- hover: hover.item === null,
15572
- onChange: function onChange() {
15573
- return null;
15574
- }
15575
- })
15576
- });
15577
- case "group":
15578
- if (!virtualItem.item || !isOptionGroup(virtualItem.item)) return null;
15579
- return /*#__PURE__*/React__default["default"].createElement(OptionGroup, {
15580
- checked: selectedOptions,
15581
- name: virtualItem.item.name,
15582
- tooltip: virtualItem.item.tooltip,
15583
- key: virtualItem.item.id,
15584
- setHover: handleHoverCallback,
15585
- id: virtualItem.item.id,
15586
- hover: hover.item,
15587
- options: virtualItem.item.options,
15588
- renderOptions: handleRenderOption,
15589
- type: type,
15590
- onChange: handleChange,
15591
- filter: filter,
15592
- mixedOptions: mixedOptions
15593
- });
15594
- case "option":
15595
- if (!virtualItem.item || isOptionGroup(virtualItem.item)) return null;
15596
- return /*#__PURE__*/React__default["default"].createElement(Option, {
15597
- name: virtualItem.item.name,
15598
- ref: hover.item === virtualItem.id ? itemRef : null,
15599
- key: index,
15600
- tooltip: virtualItem.item.tooltip,
15601
- onMouseEnter: function onMouseEnter() {
15602
- return handleMouseEnter(virtualItem.id);
15603
- },
15604
- onClick: handleClick,
15605
- id: virtualItem.id,
15606
- hover: virtualItem.id === hover.item,
15607
- className: optionClassName,
15608
- renderOption: renderOption(_objectSpread2(_objectSpread2({}, virtualItem.item), {}, {
15609
- name: highlightText(virtualItem.item.name, filter)
15610
- }), {
15611
- id: "option_".concat(virtualItem.id),
15612
- checked: selectedOptions && selectedOptions.includes(virtualItem.id),
15613
- hover: hover.item === virtualItem.id,
15614
- onChange: function onChange() {
15615
- return null;
15616
- }
15617
- })
15618
- });
15619
- case "noResult":
15620
- return /*#__PURE__*/React__default["default"].createElement(_StyledStyledOption, null, noResultText);
15621
- case "addNew":
15622
- return /*#__PURE__*/React__default["default"].createElement(StyledAutocompleteNewItem, {
15623
- ref: hover.item === "addNew" ? itemRef : null,
15624
- key: "emptyValue",
15625
- hover: hover.item === "addNew",
15626
- onMouseDown: handleEmpty,
15627
- onMouseEnter: onAddNewMouseEnter
15628
- }, emptyValue);
15629
- default:
15630
- return null;
15631
- }
15632
- }, [defaultValue, hover.item, handleMouseEnter, renderOption, isDefaultOptionSelected, selectedOptions, handleHoverCallback, handleRenderOption, type, handleChange, filter, mixedOptions, handleClick, optionClassName, noResultText, handleEmpty, onAddNewMouseEnter, emptyValue, toggleSelected]);
15508
+ var showNoResult = React.useMemo(function () {
15509
+ return noResultText && !showAddNew && list.length < 1 && (defaultValue && filter || !defaultValue);
15510
+ }, [noResultText, showAddNew, list.length, defaultValue, filter]);
15511
+ var renderNoResult = React.useMemo(function () {
15512
+ return /*#__PURE__*/React__default["default"].createElement(_StyledStyledOption, null, noResultText);
15513
+ }, [noResultText]);
15633
15514
  return /*#__PURE__*/React__default["default"].createElement(StyledAutocompleteScrollShadow, {
15634
15515
  className: AutocompleteClassName,
15635
15516
  $isHidden: !defaultValue && !emptyValue && !noResultText && list.length < 1
15636
15517
  }, function (_ref2) {
15637
- var _onScroll = _ref2.onScroll;
15518
+ var onScroll = _ref2.onScroll;
15638
15519
  return /*#__PURE__*/React__default["default"].createElement(StyledAutocompleteBody, {
15639
15520
  key: "body",
15640
15521
  onMouseLeave: handleOnMouseLeave
15641
- }, /*#__PURE__*/React__default["default"].createElement("div", {
15642
- ref: listContainerRef,
15643
- style: {
15644
- height: "".concat(Math.min(rowVirtualizer.getTotalSize() + 12, autoHeightMax), "px"),
15645
- overflow: "auto"
15522
+ }, /*#__PURE__*/React__default["default"].createElement(reactCustomScrollbars2.Scrollbars, {
15523
+ ref: listRef,
15524
+ key: "scrollBar",
15525
+ autoHeight: true,
15526
+ autoHeightMax: autoHeightMax,
15527
+ onScroll: onScroll
15528
+ }, defaultValue && !filter && /*#__PURE__*/React__default["default"].createElement(Option, {
15529
+ name: defaultValue,
15530
+ ref: itemRef,
15531
+ hover: hover.item === null,
15532
+ onMouseEnter: handleMouseEnter,
15533
+ onClick: function onClick(e) {
15534
+ e.preventDefault();
15535
+ toggleSelected(null);
15646
15536
  },
15647
- onScroll: function onScroll(e) {
15648
- if (_onScroll) _onScroll(e);
15649
- }
15650
- }, /*#__PURE__*/React__default["default"].createElement("div", {
15651
- style: {
15652
- height: "".concat(rowVirtualizer.getTotalSize(), "px"),
15653
- width: "100%",
15654
- position: "relative"
15655
- }
15656
- }, shouldUseVirtualization ? rowVirtualizer.getVirtualItems().map(function (virtualRow) {
15657
- var item = virtualItems[virtualRow.index];
15658
- return /*#__PURE__*/React__default["default"].createElement("div", {
15659
- key: virtualRow.index,
15660
- "data-index": virtualRow.index,
15661
- style: {
15662
- position: "absolute",
15663
- top: 0,
15664
- left: 0,
15665
- width: "100%",
15666
- transform: "translateY(".concat(virtualRow.start, "px)")
15537
+ renderOption: renderOption({
15538
+ name: defaultValue,
15539
+ id: null
15540
+ }, {
15541
+ checked: isDefaultOptionSelected(),
15542
+ hover: hover.item === null,
15543
+ onChange: function onChange() {
15544
+ return null;
15667
15545
  }
15668
- }, renderVirtualItem(item, virtualRow.index));
15669
- }) : virtualItems.map(function (item, index) {
15670
- return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, {
15671
- key: index
15672
- }, renderVirtualItem(item, index));
15673
- }))));
15546
+ })
15547
+ }), list.map(function (item, index) {
15548
+ return handleRenderOption(item, index);
15549
+ }), showNoResult && renderNoResult, showAddNew && renderAddNew));
15674
15550
  });
15675
15551
  };
15676
15552
  Autocomplete.displayName = "Autocomplete";
@@ -15679,7 +15555,7 @@
15679
15555
  componentId: "sc-9x4q7e-0"
15680
15556
  })(["cursor:auto"]);
15681
15557
 
15682
- var _excluded$M = ["type", "mode", "target", "options", "selected", "mixed", "position", "onChange", "placeholder", "emptyAction", "disableSearch", "forceCloseMenu", "selectClassName", "keepSameOptionsOrder", "onSelectOpen", "onSelectClose", "renderOption", "handleDefaultOptionChange", "preselectDefaultValue", "startAdornment", "endAdornment", "focusInput", "disableVirtualization"];
15558
+ var _excluded$M = ["type", "mode", "target", "options", "selected", "mixed", "position", "onChange", "placeholder", "emptyAction", "disableSearch", "forceCloseMenu", "selectClassName", "keepSameOptionsOrder", "onSelectOpen", "onSelectClose", "renderOption", "handleDefaultOptionChange", "preselectDefaultValue", "startAdornment", "endAdornment", "focusInput"];
15683
15559
  var Select = function Select(_ref) {
15684
15560
  var _ref$type = _ref.type,
15685
15561
  type = _ref$type === void 0 ? "single" : _ref$type,
@@ -15717,7 +15593,6 @@
15717
15593
  endAdornment = _ref.endAdornment,
15718
15594
  _ref$focusInput = _ref.focusInput,
15719
15595
  focusInput = _ref$focusInput === void 0 ? false : _ref$focusInput,
15720
- disableVirtualization = _ref.disableVirtualization,
15721
15596
  prop = _objectWithoutProperties(_ref, _excluded$M);
15722
15597
  if (disableSearch && (startAdornment || endAdornment)) {
15723
15598
  console.warn("Adornments are not visible when search bar is hidden");
@@ -15885,8 +15760,7 @@
15885
15760
  handleDefaultOptionChange: handleDefaultOptionChangeCallback,
15886
15761
  type: type,
15887
15762
  preselectDefaultValue: preselectDefaultValue,
15888
- keepSameOptionsOrder: keepSameOptionsOrder,
15889
- disableVirtualization: disableVirtualization
15763
+ keepSameOptionsOrder: keepSameOptionsOrder
15890
15764
  }))));
15891
15765
  };
15892
15766
  Select.displayName = "Select";
@@ -17153,7 +17027,7 @@
17153
17027
  });
17154
17028
  Chip.displayName = "Chip";
17155
17029
 
17156
- var _excluded$C = ["options", "selected", "loading", "loadingText", "onChange", "onInputChange", "placeholder", "handleEmptyAction", "disabled", "size", "invalid", "type", "renderChip", "forceCloseMenu", "renderOption", "limitChips", "hiddenNumberText", "inPortal", "inputWrapperClassName", "scrollWrapper", "onClose", "onClear", "onDeselect", "defaultValue", "open", "onOpen", "triggerMode", "noResultText", "emptyValue", "disableVirtualization"];
17030
+ var _excluded$C = ["options", "selected", "loading", "loadingText", "onChange", "onInputChange", "placeholder", "handleEmptyAction", "disabled", "size", "invalid", "type", "renderChip", "forceCloseMenu", "renderOption", "limitChips", "hiddenNumberText", "inPortal", "inputWrapperClassName", "scrollWrapper", "onClose", "onClear", "onDeselect", "defaultValue", "open", "onOpen", "triggerMode", "noResultText", "emptyValue"];
17157
17031
  var sizeMap = {
17158
17032
  small: 18,
17159
17033
  regular: 24,
@@ -17201,7 +17075,6 @@
17201
17075
  triggerMode = _ref.triggerMode,
17202
17076
  noResultText = _ref.noResultText,
17203
17077
  emptyValue = _ref.emptyValue,
17204
- disableVirtualization = _ref.disableVirtualization,
17205
17078
  prop = _objectWithoutProperties(_ref, _excluded$C);
17206
17079
  var selectedName = React.useMemo(function () {
17207
17080
  var value = "";
@@ -17585,8 +17458,7 @@
17585
17458
  options: options,
17586
17459
  type: type,
17587
17460
  defaultValue: defaultValue,
17588
- handleEmptyAction: emptyAction,
17589
- disableVirtualization: disableVirtualization
17461
+ handleEmptyAction: emptyAction
17590
17462
  })))))) : null);
17591
17463
  };
17592
17464
  ComboBox.displayName = "ComboBox";
@@ -17621,7 +17493,7 @@
17621
17493
  componentId: "sc-uvsz9l-4"
17622
17494
  })(["display:flex;justify-content:center;"]);
17623
17495
 
17624
- var _excluded$B = ["mode", "selected", "min", "max", "onChange", "step", "size", "className", "placeholder", "triggerMode", "disabled", "invalid", "disableVirtualization"];
17496
+ var _excluded$B = ["mode", "selected", "min", "max", "onChange", "step", "size", "className", "placeholder", "triggerMode", "disabled", "invalid"];
17625
17497
  nlp__default["default"].plugin(plg__default["default"]);
17626
17498
  var StyledInputTimeWrapper = styled__default["default"].div.withConfig({
17627
17499
  displayName: "InputTime__StyledInputTimeWrapper",
@@ -17649,7 +17521,6 @@
17649
17521
  triggerMode = _ref.triggerMode,
17650
17522
  disabled = _ref.disabled,
17651
17523
  invalid = _ref.invalid,
17652
- disableVirtualization = _ref.disableVirtualization,
17653
17524
  rest = _objectWithoutProperties(_ref, _excluded$B);
17654
17525
  var _useState = React.useState(false),
17655
17526
  _useState2 = _slicedToArray(_useState, 2),
@@ -17741,8 +17612,7 @@
17741
17612
  onOpen: handleOpen,
17742
17613
  triggerMode: triggerMode,
17743
17614
  disabled: disabled,
17744
- invalid: invalid,
17745
- disableVirtualization: disableVirtualization
17615
+ invalid: invalid
17746
17616
  })));
17747
17617
  };
17748
17618