@consta/uikit 5.28.5 → 5.29.1

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 (101) hide show
  1. package/TextAreaAutoSize/index.d.ts +1 -0
  2. package/TextAreaAutoSize/index.js +1 -0
  3. package/__internal__/src/components/AutoComplete/AutoComplete.js +1 -1
  4. package/__internal__/src/components/AutoComplete/AutoComplete.js.map +1 -1
  5. package/__internal__/src/components/AutoComplete/helpers.d.ts +1 -0
  6. package/__internal__/src/components/AutoComplete/types.d.ts +1 -0
  7. package/__internal__/src/components/AutoComplete/types.js.map +1 -1
  8. package/__internal__/src/components/AutoCompleteCanary/AutoCompleteTypeText/AutoCompleteTypeText.js +1 -1
  9. package/__internal__/src/components/AutoCompleteCanary/AutoCompleteTypeText/AutoCompleteTypeText.js.map +1 -1
  10. package/__internal__/src/components/AutoCompleteCanary/AutoCompleteTypeTextArray/AutoCompleteTypeTextArray.js +1 -1
  11. package/__internal__/src/components/AutoCompleteCanary/AutoCompleteTypeTextArray/AutoCompleteTypeTextArray.js.map +1 -1
  12. package/__internal__/src/components/AutoCompleteCanary/helpers.d.ts +1 -0
  13. package/__internal__/src/components/AutoCompleteCanary/types.d.ts +1 -0
  14. package/__internal__/src/components/AutoCompleteCanary/types.js.map +1 -1
  15. package/__internal__/src/components/Combobox/Combobox.js +1 -1
  16. package/__internal__/src/components/Combobox/Combobox.js.map +1 -1
  17. package/__internal__/src/components/Combobox/helpers.d.ts +3 -1
  18. package/__internal__/src/components/Combobox/helpers.js.map +1 -1
  19. package/__internal__/src/components/ContextMenu/ContextMenuLevel/ContextMenuLevel.js +1 -1
  20. package/__internal__/src/components/ContextMenu/ContextMenuLevel/ContextMenuLevel.js.map +1 -1
  21. package/__internal__/src/components/ContextMenu/ContextMenuLevelWrapper/ContextMenuLevelWrapper.js +1 -1
  22. package/__internal__/src/components/ContextMenu/ContextMenuLevelWrapper/ContextMenuLevelWrapper.js.map +1 -1
  23. package/__internal__/src/components/ContextMenu/helpers.d.ts +4 -2
  24. package/__internal__/src/components/ContextMenu/types.d.ts +2 -0
  25. package/__internal__/src/components/ContextMenu/types.js.map +1 -1
  26. package/__internal__/src/components/DatePicker/DatePickerDropdown/DatePickerDropdown.d.ts +1 -0
  27. package/__internal__/src/components/DatePicker/DatePickerDropdown/DatePickerDropdown.js +1 -1
  28. package/__internal__/src/components/DatePicker/DatePickerDropdown/DatePickerDropdown.js.map +1 -1
  29. package/__internal__/src/components/DatePicker/DatePickerTypeDate/DatePickerTypeDate.js +1 -1
  30. package/__internal__/src/components/DatePicker/DatePickerTypeDate/DatePickerTypeDate.js.map +1 -1
  31. package/__internal__/src/components/DatePicker/DatePickerTypeDateRange/DatePickerTypeDateRange.js +1 -1
  32. package/__internal__/src/components/DatePicker/DatePickerTypeDateRange/DatePickerTypeDateRange.js.map +1 -1
  33. package/__internal__/src/components/DatePicker/DatePickerTypeDateTime/DatePickerTypeDateTime.js +1 -1
  34. package/__internal__/src/components/DatePicker/DatePickerTypeDateTime/DatePickerTypeDateTime.js.map +1 -1
  35. package/__internal__/src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.js +1 -1
  36. package/__internal__/src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.js.map +1 -1
  37. package/__internal__/src/components/DatePicker/DatePickerTypeMonth/DatePickerTypeMonth.js +1 -1
  38. package/__internal__/src/components/DatePicker/DatePickerTypeMonth/DatePickerTypeMonth.js.map +1 -1
  39. package/__internal__/src/components/DatePicker/DatePickerTypeMonthRange/DatePickerTypeMonthRange.js +1 -1
  40. package/__internal__/src/components/DatePicker/DatePickerTypeMonthRange/DatePickerTypeMonthRange.js.map +1 -1
  41. package/__internal__/src/components/DatePicker/DatePickerTypeTime/DatePickerTypeTime.js +1 -1
  42. package/__internal__/src/components/DatePicker/DatePickerTypeTime/DatePickerTypeTime.js.map +1 -1
  43. package/__internal__/src/components/DatePicker/DatePickerTypeYear/DatePickerTypeYear.js +1 -1
  44. package/__internal__/src/components/DatePicker/DatePickerTypeYear/DatePickerTypeYear.js.map +1 -1
  45. package/__internal__/src/components/DatePicker/DatePickerTypeYearRange/DatePickerTypeYearRange.js +1 -1
  46. package/__internal__/src/components/DatePicker/DatePickerTypeYearRange/DatePickerTypeYearRange.js.map +1 -1
  47. package/__internal__/src/components/DatePicker/helpers.js +1 -1
  48. package/__internal__/src/components/DatePicker/helpers.js.map +1 -1
  49. package/__internal__/src/components/DatePicker/types.d.ts +1 -0
  50. package/__internal__/src/components/DatePicker/types.js.map +1 -1
  51. package/__internal__/src/components/FieldComponents/FieldControlLayout/FieldControlLayout.js +1 -1
  52. package/__internal__/src/components/FieldComponents/FieldControlLayout/FieldControlLayout.js.map +1 -1
  53. package/__internal__/src/components/FieldComponents/FieldControlLayout/helpers.js +1 -1
  54. package/__internal__/src/components/FieldComponents/FieldControlLayout/helpers.js.map +1 -1
  55. package/__internal__/src/components/FlatSelect/FlatSelectRoot/FlatSelectRoot.d.ts +1 -0
  56. package/__internal__/src/components/FlatSelect/FlatSelectRoot/FlatSelectRoot.js +1 -1
  57. package/__internal__/src/components/FlatSelect/FlatSelectRoot/FlatSelectRoot.js.map +1 -1
  58. package/__internal__/src/components/FlatSelect/types.d.ts +1 -0
  59. package/__internal__/src/components/FlatSelect/types.js.map +1 -1
  60. package/__internal__/src/components/Select/Select.js +1 -1
  61. package/__internal__/src/components/Select/Select.js.map +1 -1
  62. package/__internal__/src/components/Select/helpers.d.ts +3 -1
  63. package/__internal__/src/components/Select/helpers.js.map +1 -1
  64. package/__internal__/src/components/SelectCanary/SelectDropdown/SelectDropdown.d.ts +1 -0
  65. package/__internal__/src/components/SelectCanary/SelectDropdown/SelectDropdown.js.map +1 -1
  66. package/__internal__/src/components/SelectCanary/SelectMultiple/SelectMultiple.js +1 -1
  67. package/__internal__/src/components/SelectCanary/SelectMultiple/SelectMultiple.js.map +1 -1
  68. package/__internal__/src/components/SelectCanary/SelectPopover/SelectPopover.d.ts +1 -0
  69. package/__internal__/src/components/SelectCanary/SelectPopover/SelectPopover.js.map +1 -1
  70. package/__internal__/src/components/SelectCanary/SelectSingle/SelectSingle.js +1 -1
  71. package/__internal__/src/components/SelectCanary/SelectSingle/SelectSingle.js.map +1 -1
  72. package/__internal__/src/components/SelectCanary/helpers.d.ts +2 -1
  73. package/__internal__/src/components/SelectCanary/types.d.ts +1 -0
  74. package/__internal__/src/components/SelectCanary/types.js.map +1 -1
  75. package/__internal__/src/components/SelectComponents/SelectDropdown/SelectDropdown.d.ts +1 -0
  76. package/__internal__/src/components/SelectComponents/SelectDropdown/SelectDropdown.js +1 -1
  77. package/__internal__/src/components/SelectComponents/SelectDropdown/SelectDropdown.js.map +1 -1
  78. package/__internal__/src/components/TagBase/TagBase.d.ts +1 -1
  79. package/__internal__/src/components/TextAreaAutoSize/TextAreaAutoSize.css +1 -0
  80. package/__internal__/src/components/TextAreaAutoSize/TextAreaAutoSize.d.ts +11 -0
  81. package/__internal__/src/components/TextAreaAutoSize/TextAreaAutoSize.js +2 -0
  82. package/__internal__/src/components/TextAreaAutoSize/TextAreaAutoSize.js.map +1 -0
  83. package/__internal__/src/components/TextAreaAutoSize/index.d.ts +1 -0
  84. package/__internal__/src/components/TextAreaAutoSize/index.js +2 -0
  85. package/__internal__/src/components/TextAreaAutoSize/index.js.map +1 -0
  86. package/__internal__/src/components/TextField/TextField.js +1 -1
  87. package/__internal__/src/components/TextField/TextField.js.map +1 -1
  88. package/__internal__/src/components/TextFieldCanary/TextFieldTypeTextArea/TextFieldTypeTextArea.css +1 -1
  89. package/__internal__/src/components/TextFieldCanary/TextFieldTypeTextArea/TextFieldTypeTextArea.js +1 -1
  90. package/__internal__/src/components/TextFieldCanary/TextFieldTypeTextArea/TextFieldTypeTextArea.js.map +1 -1
  91. package/__internal__/src/components/UserSelect/UserSelect.js +1 -1
  92. package/__internal__/src/components/UserSelect/UserSelect.js.map +1 -1
  93. package/__internal__/src/components/UserSelect/helpers.d.ts +3 -1
  94. package/__internal__/src/components/UserSelect/helpers.js.map +1 -1
  95. package/__internal__/src/utils/objectCompare.d.ts +7 -0
  96. package/__internal__/src/utils/objectCompare.js +2 -0
  97. package/__internal__/src/utils/objectCompare.js.map +1 -0
  98. package/__internal__/src/utils/state/index.d.ts +3 -0
  99. package/__internal__/src/utils/state/index.js +1 -1
  100. package/__internal__/src/utils/state/index.js.map +1 -1
  101. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ export * from "../__internal__/src/components/TextAreaAutoSize";
@@ -0,0 +1 @@
1
+ export * from "../__internal__/src/components/TextAreaAutoSize";
@@ -1,2 +1,2 @@
1
- import _defineProperty from"@babel/runtime/helpers/defineProperty";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["items","groups","disabled","getItemLabel","getItemKey","isLoading","getItemGroupKey","getGroupKey","getGroupLabel","onBlur","inputRef","onFocus","dropdownRef","dropdownClassName","dropdownForm","value","form","view","size","onChange","inputContainerRef","style","renderItem","searchFunction","id","name","className","virtualScroll","onScrollToBottom","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","rows","minRows","maxRows"];function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import React,{useCallback,useRef}from"react";import{SelectDropdown}from"../SelectComponents/SelectDropdown";import{SelectItem}from"../SelectComponents/SelectItem";import{defaultPropForm,defaultPropSize,defaultPropView}from"../SelectComponentsDeprecated/types";import{TextField}from"../TextField/TextField";import{useForkRef}from"../../hooks/useForkRef";import{useMutableRef}from"../../hooks/useMutableRef";import{cn}from"../../utils/bem";import{withDefaultGetters}from"./helpers";import{useAutoComplete}from"./useAutoComplete";var cnAutoComplete=cn("AutoComplete"),AutoCompleteRender=function(a,b){var c=useRef(null),d=useRef(null),e=useRef(null),f=withDefaultGetters(a),g=f.items,h=f.groups,i=void 0===h?[]:h,j=f.disabled,k=f.getItemLabel,l=f.getItemKey,m=f.isLoading,n=f.getItemGroupKey,o=f.getGroupKey,p=f.getGroupLabel,q=f.onBlur,r=f.inputRef,s=f.onFocus,t=f.dropdownRef,u=void 0===t?c:t,v=f.dropdownClassName,w=f.dropdownForm,x=void 0===w?"default":w,y=f.value,z=f.form,A=void 0===z?defaultPropForm:z,B=f.view,C=void 0===B?defaultPropView:B,D=f.size,E=void 0===D?defaultPropSize:D,F=f.onChange,G=f.inputContainerRef,H=f.style,I=f.renderItem,J=f.searchFunction,K=f.id,L=f.name,M=f.className,N=f.virtualScroll,O=f.onScrollToBottom,P=f.onDropdownOpen,Q=f.dropdownOpen,R=f.ignoreOutsideClicksRefs,S=f.rows,T=f.minRows,U=f.maxRows,V=_objectWithoutProperties(f,_excluded),W=useMutableRef(F),X=useCallback(function(a){var b,c=a.e,d=a.value,e=_objectSpread({},c),f=d?k(d):d;null===(b=W.current)||void 0===b?void 0:b.call(W,f,{e:e,id:null===K||void 0===K?void 0:K.toString(),name:L})},[K,L]),Y=useCallback(function(a,b){var c,d=b.id,f=b.name,g=b.e;null===(c=W.current)||void 0===c?void 0:c.call(W,a,{id:null===d||void 0===d?void 0:d.toString(),name:f,e:g})},[]),Z=useAutoComplete({items:g,groups:i,onChange:X,dropdownRef:u,controlRef:d,disabled:j,searchValue:null!==y&&void 0!==y?y:"",getItemLabel:k,getItemKey:l,getItemGroupKey:n,getGroupKey:o,onBlur:q,onFocus:s,searchFunction:J,isLoading:m,onDropdownOpen:P,dropdownOpen:Q,ignoreOutsideClicksRefs:R}),$=Z.getOptionProps,_=Z.isOpen,aa=Z.getKeyProps,ba=Z.visibleItems,ca=Z.handleInputFocus,da=Z.handleInputBlur,ea=Z.inputRef,fa=Z.optionsRefs;return React.createElement(React.Fragment,null,React.createElement(TextField,Object.assign({},aa(),{form:A,view:C,id:K,className:cnAutoComplete(null,[M]),name:L,disabled:j,ref:useForkRef([d,b]),inputRef:useForkRef([r,ea]),onBlur:da,inputContainerRef:useForkRef([e,G]),onClick:ca,onChange:Y,value:y,style:H,size:E,rows:S,minRows:T,maxRows:U},V)),React.createElement(SelectDropdown,{isOpen:_,size:E,controlRef:e,getOptionProps:$,dropdownRef:u,form:x,className:cnAutoComplete("List",[v]),renderItem:I||function renderItemDefault(a){var b=a.item,c=a.active,d=a.hovered,e=a.onClick,f=a.onMouseEnter,g=a.ref;return React.createElement(SelectItem,{label:k(b),active:c,hovered:d,multiple:!1,disabled:j,size:E,indent:"round"===x?"increased":"normal",onClick:e,onMouseEnter:f,ref:g})},getGroupLabel:p,visibleItems:ba,isLoading:m,hasItems:0!==g.length,itemsRefs:fa,virtualScroll:!0,style:"number"==typeof(null===H||void 0===H?void 0:H.zIndex)?{zIndex:H.zIndex+1}:void 0,onScrollToBottom:O}))};export var AutoComplete=React.forwardRef(AutoCompleteRender);export*from"./types";
1
+ import _defineProperty from"@babel/runtime/helpers/defineProperty";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["items","groups","disabled","getItemLabel","getItemKey","isLoading","getItemGroupKey","getGroupKey","getGroupLabel","onBlur","inputRef","onFocus","dropdownRef","dropdownClassName","dropdownForm","value","form","view","size","onChange","inputContainerRef","style","renderItem","searchFunction","id","name","className","virtualScroll","onScrollToBottom","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","rows","minRows","maxRows","dropdownViewportRef"];function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import React,{useCallback,useRef}from"react";import{SelectDropdown}from"../SelectComponents/SelectDropdown";import{SelectItem}from"../SelectComponents/SelectItem";import{defaultPropForm,defaultPropSize,defaultPropView}from"../SelectComponentsDeprecated/types";import{TextField}from"../TextField/TextField";import{useForkRef}from"../../hooks/useForkRef";import{useMutableRef}from"../../hooks/useMutableRef";import{cn}from"../../utils/bem";import{withDefaultGetters}from"./helpers";import{useAutoComplete}from"./useAutoComplete";var cnAutoComplete=cn("AutoComplete"),AutoCompleteRender=function(a,b){var c=useRef(null),d=useRef(null),e=useRef(null),f=withDefaultGetters(a),g=f.items,h=f.groups,i=void 0===h?[]:h,j=f.disabled,k=f.getItemLabel,l=f.getItemKey,m=f.isLoading,n=f.getItemGroupKey,o=f.getGroupKey,p=f.getGroupLabel,q=f.onBlur,r=f.inputRef,s=f.onFocus,t=f.dropdownRef,u=void 0===t?c:t,v=f.dropdownClassName,w=f.dropdownForm,x=void 0===w?"default":w,y=f.value,z=f.form,A=void 0===z?defaultPropForm:z,B=f.view,C=void 0===B?defaultPropView:B,D=f.size,E=void 0===D?defaultPropSize:D,F=f.onChange,G=f.inputContainerRef,H=f.style,I=f.renderItem,J=f.searchFunction,K=f.id,L=f.name,M=f.className,N=f.virtualScroll,O=f.onScrollToBottom,P=f.onDropdownOpen,Q=f.dropdownOpen,R=f.ignoreOutsideClicksRefs,S=f.rows,T=f.minRows,U=f.maxRows,V=f.dropdownViewportRef,W=_objectWithoutProperties(f,_excluded),X=useMutableRef(F),Y=useCallback(function(a){var b,c=a.e,d=a.value,e=_objectSpread({},c),f=d?k(d):d;null===(b=X.current)||void 0===b?void 0:b.call(X,f,{e:e,id:null===K||void 0===K?void 0:K.toString(),name:L})},[K,L]),Z=useCallback(function(a,b){var c,d=b.id,f=b.name,g=b.e;null===(c=X.current)||void 0===c?void 0:c.call(X,a,{id:null===d||void 0===d?void 0:d.toString(),name:f,e:g})},[]),$=useAutoComplete({items:g,groups:i,onChange:Y,dropdownRef:u,controlRef:d,disabled:j,searchValue:null!==y&&void 0!==y?y:"",getItemLabel:k,getItemKey:l,getItemGroupKey:n,getGroupKey:o,onBlur:q,onFocus:s,searchFunction:J,isLoading:m,onDropdownOpen:P,dropdownOpen:Q,ignoreOutsideClicksRefs:R}),_=$.getOptionProps,aa=$.isOpen,ba=$.getKeyProps,ca=$.visibleItems,da=$.handleInputFocus,ea=$.handleInputBlur,fa=$.inputRef,ga=$.optionsRefs;return React.createElement(React.Fragment,null,React.createElement(TextField,Object.assign({},ba(),{form:A,view:C,id:K,className:cnAutoComplete(null,[M]),name:L,disabled:j,ref:useForkRef([d,b]),inputRef:useForkRef([r,fa]),onBlur:ea,inputContainerRef:useForkRef([e,G]),onClick:da,onChange:Z,value:y,style:H,size:E,rows:S,minRows:T,maxRows:U},W)),React.createElement(SelectDropdown,{viewportRef:V,isOpen:aa,size:E,controlRef:e,getOptionProps:_,dropdownRef:u,form:x,className:cnAutoComplete("List",[v]),renderItem:I||function renderItemDefault(a){var b=a.item,c=a.active,d=a.hovered,e=a.onClick,f=a.onMouseEnter,g=a.ref;return React.createElement(SelectItem,{label:k(b),active:c,hovered:d,multiple:!1,disabled:j,size:E,indent:"round"===x?"increased":"normal",onClick:e,onMouseEnter:f,ref:g})},getGroupLabel:p,visibleItems:ca,isLoading:m,hasItems:0!==g.length,itemsRefs:ga,virtualScroll:!0,style:"number"==typeof(null===H||void 0===H?void 0:H.zIndex)?{zIndex:H.zIndex+1}:void 0,onScrollToBottom:O}))};export var AutoComplete=React.forwardRef(AutoCompleteRender);export*from"./types";
2
2
  //# sourceMappingURL=AutoComplete.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AutoComplete.js","names":["React","useCallback","useRef","SelectDropdown","SelectItem","defaultPropForm","defaultPropSize","defaultPropView","TextField","useForkRef","useMutableRef","cn","withDefaultGetters","useAutoComplete","cnAutoComplete","AutoCompleteRender","props","ref","defaultDropdownRef","controlRef","containerRef","items","groups","disabled","getItemLabel","getItemKey","isLoading","getItemGroupKey","getGroupKey","getGroupLabel","onBlur","inputRef","onFocus","dropdownRef","dropdownClassName","dropdownForm","value","form","view","size","onChange","inputContainerRef","style","renderItem","searchFunction","id","name","className","virtualScroll","onScrollToBottom","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","rows","minRows","maxRows","otherProps","onChangeRef","handleSelectChange","e","copyEvent","newValue","current","toString","handleInputChange","searchValue","getOptionProps","isOpen","getKeyProps","visibleItems","handleInputFocus","handleInputBlur","inputControlRef","optionsRefs","renderItemDefault","item","active","hovered","onClick","onMouseEnter","length","zIndex","AutoComplete","forwardRef"],"sources":["../../../../../src/components/AutoComplete/AutoComplete.tsx"],"sourcesContent":["import React, { useCallback, useRef } from 'react';\n\nimport { PropRenderItem } from '##/components/Select';\nimport { SelectDropdown } from '##/components/SelectComponents/SelectDropdown';\nimport { SelectItem } from '##/components/SelectComponents/SelectItem';\nimport {\n defaultPropForm,\n defaultPropSize,\n defaultPropView,\n} from '##/components/SelectComponentsDeprecated/types';\nimport {\n TextField,\n TextFieldPropOnChange,\n} from '##/components/TextField/TextField';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { useMutableRef } from '##/hooks/useMutableRef';\nimport { cn } from '##/utils/bem';\n\nimport { withDefaultGetters } from './helpers';\nimport {\n AutoCompleteComponent,\n AutoCompleteGroupDefault,\n AutoCompleteItemDefault,\n AutoCompleteProps,\n} from './types';\nimport { useAutoComplete } from './useAutoComplete';\n\nconst cnAutoComplete = cn('AutoComplete');\n\nconst AutoCompleteRender = <\n TYPE extends string,\n ITEM = AutoCompleteItemDefault,\n GROUP = AutoCompleteGroupDefault,\n>(\n props: AutoCompleteProps<TYPE, ITEM, GROUP>,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const defaultDropdownRef = useRef<HTMLDivElement | null>(null);\n const controlRef = useRef<HTMLDivElement>(null);\n const containerRef = useRef<HTMLDivElement>(null);\n\n const {\n items,\n groups = [],\n disabled,\n getItemLabel,\n getItemKey,\n isLoading,\n getItemGroupKey,\n getGroupKey,\n getGroupLabel,\n onBlur,\n inputRef,\n onFocus,\n dropdownRef = defaultDropdownRef,\n dropdownClassName,\n dropdownForm = 'default',\n value,\n form = defaultPropForm,\n view = defaultPropView,\n size = defaultPropSize,\n onChange,\n inputContainerRef,\n style,\n renderItem,\n searchFunction,\n id,\n name,\n className,\n virtualScroll,\n onScrollToBottom,\n onDropdownOpen,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n rows,\n minRows,\n maxRows,\n ...otherProps\n } = withDefaultGetters(props);\n\n const onChangeRef = useMutableRef(onChange);\n\n const handleSelectChange = useCallback(\n ({ e, value }: { value: ITEM | null; e: React.SyntheticEvent }) => {\n const copyEvent = { ...e } as React.KeyboardEvent;\n const newValue = (value ? getItemLabel(value) : value) as string;\n onChangeRef.current?.(newValue, {\n e: copyEvent,\n id: id?.toString(),\n name,\n });\n },\n [id, name],\n );\n\n const handleInputChange: TextFieldPropOnChange = useCallback(\n (value, { id, name, e }) => {\n onChangeRef.current?.(value, { id: id?.toString(), name, e });\n },\n [],\n );\n\n const {\n getOptionProps,\n isOpen,\n getKeyProps,\n visibleItems,\n handleInputFocus,\n handleInputBlur,\n inputRef: inputControlRef,\n optionsRefs,\n } = useAutoComplete({\n items,\n groups,\n onChange: handleSelectChange,\n dropdownRef,\n controlRef,\n disabled,\n searchValue: value ?? '',\n getItemLabel,\n getItemKey,\n getItemGroupKey,\n getGroupKey,\n onBlur,\n onFocus,\n searchFunction,\n isLoading,\n onDropdownOpen,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n });\n\n const renderItemDefault: PropRenderItem<ITEM> = (props) => {\n const { item, active, hovered, onClick, onMouseEnter, ref } = props;\n\n return (\n <SelectItem\n label={getItemLabel(item)}\n active={active}\n hovered={hovered}\n multiple={false}\n disabled={disabled}\n size={size}\n indent={dropdownForm === 'round' ? 'increased' : 'normal'}\n onClick={onClick}\n onMouseEnter={onMouseEnter}\n ref={ref}\n />\n );\n };\n\n return (\n <>\n <TextField\n {...getKeyProps()}\n form={form}\n view={view}\n id={id}\n className={cnAutoComplete(null, [className])}\n name={name}\n disabled={disabled}\n ref={useForkRef([controlRef, ref])}\n inputRef={useForkRef([\n inputRef as React.RefObject<HTMLInputElement>,\n inputControlRef,\n ])}\n onBlur={handleInputBlur}\n inputContainerRef={useForkRef([containerRef, inputContainerRef])}\n onClick={handleInputFocus}\n onChange={handleInputChange}\n value={value}\n style={style}\n size={size}\n rows={rows as undefined}\n minRows={minRows as undefined}\n maxRows={maxRows as undefined}\n {...otherProps}\n />\n <SelectDropdown\n isOpen={isOpen}\n size={size}\n controlRef={containerRef}\n getOptionProps={getOptionProps}\n dropdownRef={dropdownRef}\n form={dropdownForm}\n className={cnAutoComplete('List', [dropdownClassName])}\n renderItem={renderItem || renderItemDefault}\n getGroupLabel={getGroupLabel}\n visibleItems={visibleItems}\n isLoading={isLoading}\n hasItems={items.length !== 0}\n itemsRefs={optionsRefs}\n virtualScroll\n style={\n typeof style?.zIndex === 'number'\n ? { zIndex: style.zIndex + 1 }\n : undefined\n }\n onScrollToBottom={onScrollToBottom}\n />\n </>\n );\n};\n\nexport const AutoComplete = React.forwardRef(\n AutoCompleteRender,\n) as AutoCompleteComponent;\n\nexport * from './types';\n"],"mappings":"+rCAAA,MAAOA,MAAP,EAAgBC,WAAhB,CAA6BC,MAA7B,KAA2C,OAA3C,CAGA,OAASC,cAAT,0CACA,OAASC,UAAT,sCACA,OACEC,eADF,CAEEC,eAFF,CAGEC,eAHF,2CAKA,OACEC,SADF,8BAIA,OAASC,UAAT,8BACA,OAASC,aAAT,iCACA,OAASC,EAAT,uBAEA,OAASC,kBAAT,iBAOA,OAASC,eAAT,yB,GAEMC,eAAc,CAAGH,EAAE,CAAC,cAAD,C,CAEnBI,kBAAkB,CAAG,SAKzBC,CALyB,CAMzBC,CANyB,CAOtB,IACGC,EAAkB,CAAGhB,MAAM,CAAwB,IAAxB,CAD9B,CAEGiB,CAAU,CAAGjB,MAAM,CAAiB,IAAjB,CAFtB,CAGGkB,CAAY,CAAGlB,MAAM,CAAiB,IAAjB,CAHxB,GA0CCU,kBAAkB,CAACI,CAAD,CA1CnB,CAMDK,CANC,GAMDA,KANC,KAODC,MAPC,CAODA,CAPC,YAOQ,EAPR,GAQDC,CARC,GAQDA,QARC,CASDC,CATC,GASDA,YATC,CAUDC,CAVC,GAUDA,UAVC,CAWDC,CAXC,GAWDA,SAXC,CAYDC,CAZC,GAYDA,eAZC,CAaDC,CAbC,GAaDA,WAbC,CAcDC,CAdC,GAcDA,aAdC,CAeDC,CAfC,GAeDA,MAfC,CAgBDC,CAhBC,GAgBDA,QAhBC,CAiBDC,CAjBC,GAiBDA,OAjBC,KAkBDC,WAlBC,CAkBDA,CAlBC,YAkBaf,CAlBb,GAmBDgB,CAnBC,GAmBDA,iBAnBC,KAoBDC,YApBC,CAoBDA,CApBC,YAoBc,SApBd,GAqBDC,CArBC,GAqBDA,KArBC,KAsBDC,IAtBC,CAsBDA,CAtBC,YAsBMhC,eAtBN,OAuBDiC,IAvBC,CAuBDA,CAvBC,YAuBM/B,eAvBN,OAwBDgC,IAxBC,CAwBDA,CAxBC,YAwBMjC,eAxBN,GAyBDkC,CAzBC,GAyBDA,QAzBC,CA0BDC,CA1BC,GA0BDA,iBA1BC,CA2BDC,CA3BC,GA2BDA,KA3BC,CA4BDC,CA5BC,GA4BDA,UA5BC,CA6BDC,CA7BC,GA6BDA,cA7BC,CA8BDC,CA9BC,GA8BDA,EA9BC,CA+BDC,CA/BC,GA+BDA,IA/BC,CAgCDC,CAhCC,GAgCDA,SAhCC,CAiCDC,CAjCC,GAiCDA,aAjCC,CAkCDC,CAlCC,GAkCDA,gBAlCC,CAmCDC,CAnCC,GAmCDA,cAnCC,CAoCDC,CApCC,GAoCDA,YApCC,CAqCDC,CArCC,GAqCDA,uBArCC,CAsCDC,CAtCC,GAsCDA,IAtCC,CAuCDC,CAvCC,GAuCDA,OAvCC,CAwCDC,CAxCC,GAwCDA,OAxCC,CAyCEC,CAzCF,uCA4CGC,CAAW,CAAG/C,aAAa,CAAC8B,CAAD,CA5C9B,CA8CGkB,CAAkB,CAAGzD,WAAW,CACpC,WAAmE,OAAhE0D,CAAgE,GAAhEA,CAAgE,CAA7DvB,CAA6D,GAA7DA,KAA6D,CAC3DwB,CAAS,kBAAQD,CAAR,CADkD,CAE3DE,CAAQ,CAAIzB,CAAK,CAAGZ,CAAY,CAACY,CAAD,CAAf,CAAyBA,CAFiB,WAGjEqB,CAAW,CAACK,OAHqD,qBAGjE,OAAAL,CAAW,CAAWI,CAAX,CAAqB,CAC9BF,CAAC,CAAEC,CAD2B,CAE9Bf,EAAE,QAAEA,CAAF,WAAEA,CAAF,QAAEA,CAAE,CAAEkB,QAAJ,EAF0B,CAG9BjB,IAAI,CAAJA,CAH8B,CAArB,CAKZ,CATmC,CAUpC,CAACD,CAAD,CAAKC,CAAL,CAVoC,CA9CnC,CA2DGkB,CAAwC,CAAG/D,WAAW,CAC1D,SAACmC,CAAD,GAA4B,OAAlBS,CAAkB,GAAlBA,EAAkB,CAAdC,CAAc,GAAdA,IAAc,CAARa,CAAQ,GAARA,CAAQ,WAC1BF,CAAW,CAACK,OADc,qBAC1B,OAAAL,CAAW,CAAWrB,CAAX,CAAkB,CAAES,EAAE,QAAEA,CAAF,WAAEA,CAAF,QAAEA,CAAE,CAAEkB,QAAJ,EAAN,CAAsBjB,IAAI,CAAJA,CAAtB,CAA4Ba,CAAC,CAADA,CAA5B,CAAlB,CACZ,CAHyD,CAI1D,EAJ0D,CA3DzD,GA2EC9C,eAAe,CAAC,CAClBQ,KAAK,CAALA,CADkB,CAElBC,MAAM,CAANA,CAFkB,CAGlBkB,QAAQ,CAAEkB,CAHQ,CAIlBzB,WAAW,CAAXA,CAJkB,CAKlBd,UAAU,CAAVA,CALkB,CAMlBI,QAAQ,CAARA,CANkB,CAOlB0C,WAAW,QAAE7B,CAAF,WAAEA,CAAF,CAAEA,CAAF,CAAW,EAPJ,CAQlBZ,YAAY,CAAZA,CARkB,CASlBC,UAAU,CAAVA,CATkB,CAUlBE,eAAe,CAAfA,CAVkB,CAWlBC,WAAW,CAAXA,CAXkB,CAYlBE,MAAM,CAANA,CAZkB,CAalBE,OAAO,CAAPA,CAbkB,CAclBY,cAAc,CAAdA,CAdkB,CAelBlB,SAAS,CAATA,CAfkB,CAgBlBwB,cAAc,CAAdA,CAhBkB,CAiBlBC,YAAY,CAAZA,CAjBkB,CAkBlBC,uBAAuB,CAAvBA,CAlBkB,CAAD,CA3EhB,CAmEDc,CAnEC,GAmEDA,cAnEC,CAoEDC,CApEC,GAoEDA,MApEC,CAqEDC,EArEC,GAqEDA,WArEC,CAsEDC,EAtEC,GAsEDA,YAtEC,CAuEDC,EAvEC,GAuEDA,gBAvEC,CAwEDC,EAxEC,GAwEDA,eAxEC,CAyESC,EAzET,GAyEDzC,QAzEC,CA0ED0C,EA1EC,GA0EDA,WA1EC,CAmHH,MACE,yCACE,oBAAC,SAAD,kBACML,EAAW,EADjB,EAEE,IAAI,CAAE/B,CAFR,CAGE,IAAI,CAAEC,CAHR,CAIE,EAAE,CAAEO,CAJN,CAKE,SAAS,CAAE/B,cAAc,CAAC,IAAD,CAAO,CAACiC,CAAD,CAAP,CAL3B,CAME,IAAI,CAAED,CANR,CAOE,QAAQ,CAAEvB,CAPZ,CAQE,GAAG,CAAEd,UAAU,CAAC,CAACU,CAAD,CAAaF,CAAb,CAAD,CARjB,CASE,QAAQ,CAAER,UAAU,CAAC,CACnBsB,CADmB,CAEnByC,EAFmB,CAAD,CATtB,CAaE,MAAM,CAAED,EAbV,CAcE,iBAAiB,CAAE9D,UAAU,CAAC,CAACW,CAAD,CAAeqB,CAAf,CAAD,CAd/B,CAeE,OAAO,CAAE6B,EAfX,CAgBE,QAAQ,CAAEN,CAhBZ,CAiBE,KAAK,CAAE5B,CAjBT,CAkBE,KAAK,CAAEM,CAlBT,CAmBE,IAAI,CAAEH,CAnBR,CAoBE,IAAI,CAAEc,CApBR,CAqBE,OAAO,CAAEC,CArBX,CAsBE,OAAO,CAAEC,CAtBX,EAuBMC,CAvBN,EADF,CA0BE,oBAAC,cAAD,EACE,MAAM,CAAEW,CADV,CAEE,IAAI,CAAE5B,CAFR,CAGE,UAAU,CAAEnB,CAHd,CAIE,cAAc,CAAE8C,CAJlB,CAKE,WAAW,CAAEjC,CALf,CAME,IAAI,CAAEE,CANR,CAOE,SAAS,CAAErB,cAAc,CAAC,MAAD,CAAS,CAACoB,CAAD,CAAT,CAP3B,CAQE,UAAU,CAAES,CAAU,EAtDoB,QAA1C+B,kBAA0C,CAAC1D,CAAD,CAAW,CACzD,GAAQ2D,EAAR,CAA8D3D,CAA9D,CAAQ2D,IAAR,CAAcC,CAAd,CAA8D5D,CAA9D,CAAc4D,MAAd,CAAsBC,CAAtB,CAA8D7D,CAA9D,CAAsB6D,OAAtB,CAA+BC,CAA/B,CAA8D9D,CAA9D,CAA+B8D,OAA/B,CAAwCC,CAAxC,CAA8D/D,CAA9D,CAAwC+D,YAAxC,CAAsD9D,CAAtD,CAA8DD,CAA9D,CAAsDC,GAAtD,CAEA,MACE,qBAAC,UAAD,EACE,KAAK,CAAEO,CAAY,CAACmD,CAAD,CADrB,CAEE,MAAM,CAAEC,CAFV,CAGE,OAAO,CAAEC,CAHX,CAIE,QAAQ,GAJV,CAKE,QAAQ,CAAEtD,CALZ,CAME,IAAI,CAAEgB,CANR,CAOE,MAAM,CAAmB,OAAjB,GAAAJ,CAAY,CAAe,WAAf,CAA6B,QAPnD,CAQE,OAAO,CAAE2C,CARX,CASE,YAAY,CAAEC,CAThB,CAUE,GAAG,CAAE9D,CAVP,EAaH,CA6BG,CASE,aAAa,CAAEY,CATjB,CAUE,YAAY,CAAEwC,EAVhB,CAWE,SAAS,CAAE3C,CAXb,CAYE,QAAQ,CAAmB,CAAjB,GAAAL,CAAK,CAAC2D,MAZlB,CAaE,SAAS,CAAEP,EAbb,CAcE,aAAa,GAdf,CAeE,KAAK,CACsB,QAAzB,gBAAO/B,CAAP,WAAOA,CAAP,QAAOA,CAAK,CAAEuC,MAAd,EACI,CAAEA,MAAM,CAAEvC,CAAK,CAACuC,MAAN,CAAe,CAAzB,CADJ,OAhBJ,CAoBE,gBAAgB,CAAEhC,CApBpB,EA1BF,CAkDH,C,CAED,MAAO,IAAMiC,aAAY,CAAGlF,KAAK,CAACmF,UAAN,CAC1BpE,kBAD0B,CAArB,CAIP"}
1
+ {"version":3,"file":"AutoComplete.js","names":["React","useCallback","useRef","SelectDropdown","SelectItem","defaultPropForm","defaultPropSize","defaultPropView","TextField","useForkRef","useMutableRef","cn","withDefaultGetters","useAutoComplete","cnAutoComplete","AutoCompleteRender","props","ref","defaultDropdownRef","controlRef","containerRef","items","groups","disabled","getItemLabel","getItemKey","isLoading","getItemGroupKey","getGroupKey","getGroupLabel","onBlur","inputRef","onFocus","dropdownRef","dropdownClassName","dropdownForm","value","form","view","size","onChange","inputContainerRef","style","renderItem","searchFunction","id","name","className","virtualScroll","onScrollToBottom","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","rows","minRows","maxRows","dropdownViewportRef","otherProps","onChangeRef","handleSelectChange","e","copyEvent","newValue","current","toString","handleInputChange","searchValue","getOptionProps","isOpen","getKeyProps","visibleItems","handleInputFocus","handleInputBlur","inputControlRef","optionsRefs","renderItemDefault","item","active","hovered","onClick","onMouseEnter","length","zIndex","AutoComplete","forwardRef"],"sources":["../../../../../src/components/AutoComplete/AutoComplete.tsx"],"sourcesContent":["import React, { useCallback, useRef } from 'react';\n\nimport { PropRenderItem } from '##/components/Select';\nimport { SelectDropdown } from '##/components/SelectComponents/SelectDropdown';\nimport { SelectItem } from '##/components/SelectComponents/SelectItem';\nimport {\n defaultPropForm,\n defaultPropSize,\n defaultPropView,\n} from '##/components/SelectComponentsDeprecated/types';\nimport {\n TextField,\n TextFieldPropOnChange,\n} from '##/components/TextField/TextField';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { useMutableRef } from '##/hooks/useMutableRef';\nimport { cn } from '##/utils/bem';\n\nimport { withDefaultGetters } from './helpers';\nimport {\n AutoCompleteComponent,\n AutoCompleteGroupDefault,\n AutoCompleteItemDefault,\n AutoCompleteProps,\n} from './types';\nimport { useAutoComplete } from './useAutoComplete';\n\nconst cnAutoComplete = cn('AutoComplete');\n\nconst AutoCompleteRender = <\n TYPE extends string,\n ITEM = AutoCompleteItemDefault,\n GROUP = AutoCompleteGroupDefault,\n>(\n props: AutoCompleteProps<TYPE, ITEM, GROUP>,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const defaultDropdownRef = useRef<HTMLDivElement | null>(null);\n const controlRef = useRef<HTMLDivElement>(null);\n const containerRef = useRef<HTMLDivElement>(null);\n\n const {\n items,\n groups = [],\n disabled,\n getItemLabel,\n getItemKey,\n isLoading,\n getItemGroupKey,\n getGroupKey,\n getGroupLabel,\n onBlur,\n inputRef,\n onFocus,\n dropdownRef = defaultDropdownRef,\n dropdownClassName,\n dropdownForm = 'default',\n value,\n form = defaultPropForm,\n view = defaultPropView,\n size = defaultPropSize,\n onChange,\n inputContainerRef,\n style,\n renderItem,\n searchFunction,\n id,\n name,\n className,\n virtualScroll,\n onScrollToBottom,\n onDropdownOpen,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n rows,\n minRows,\n maxRows,\n dropdownViewportRef,\n ...otherProps\n } = withDefaultGetters(props);\n\n const onChangeRef = useMutableRef(onChange);\n\n const handleSelectChange = useCallback(\n ({ e, value }: { value: ITEM | null; e: React.SyntheticEvent }) => {\n const copyEvent = { ...e } as React.KeyboardEvent;\n const newValue = (value ? getItemLabel(value) : value) as string;\n onChangeRef.current?.(newValue, {\n e: copyEvent,\n id: id?.toString(),\n name,\n });\n },\n [id, name],\n );\n\n const handleInputChange: TextFieldPropOnChange = useCallback(\n (value, { id, name, e }) => {\n onChangeRef.current?.(value, { id: id?.toString(), name, e });\n },\n [],\n );\n\n const {\n getOptionProps,\n isOpen,\n getKeyProps,\n visibleItems,\n handleInputFocus,\n handleInputBlur,\n inputRef: inputControlRef,\n optionsRefs,\n } = useAutoComplete({\n items,\n groups,\n onChange: handleSelectChange,\n dropdownRef,\n controlRef,\n disabled,\n searchValue: value ?? '',\n getItemLabel,\n getItemKey,\n getItemGroupKey,\n getGroupKey,\n onBlur,\n onFocus,\n searchFunction,\n isLoading,\n onDropdownOpen,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n });\n\n const renderItemDefault: PropRenderItem<ITEM> = (props) => {\n const { item, active, hovered, onClick, onMouseEnter, ref } = props;\n\n return (\n <SelectItem\n label={getItemLabel(item)}\n active={active}\n hovered={hovered}\n multiple={false}\n disabled={disabled}\n size={size}\n indent={dropdownForm === 'round' ? 'increased' : 'normal'}\n onClick={onClick}\n onMouseEnter={onMouseEnter}\n ref={ref}\n />\n );\n };\n\n return (\n <>\n <TextField\n {...getKeyProps()}\n form={form}\n view={view}\n id={id}\n className={cnAutoComplete(null, [className])}\n name={name}\n disabled={disabled}\n ref={useForkRef([controlRef, ref])}\n inputRef={useForkRef([\n inputRef as React.RefObject<HTMLInputElement>,\n inputControlRef,\n ])}\n onBlur={handleInputBlur}\n inputContainerRef={useForkRef([containerRef, inputContainerRef])}\n onClick={handleInputFocus}\n onChange={handleInputChange}\n value={value}\n style={style}\n size={size}\n rows={rows as undefined}\n minRows={minRows as undefined}\n maxRows={maxRows as undefined}\n {...otherProps}\n />\n <SelectDropdown\n viewportRef={dropdownViewportRef}\n isOpen={isOpen}\n size={size}\n controlRef={containerRef}\n getOptionProps={getOptionProps}\n dropdownRef={dropdownRef}\n form={dropdownForm}\n className={cnAutoComplete('List', [dropdownClassName])}\n renderItem={renderItem || renderItemDefault}\n getGroupLabel={getGroupLabel}\n visibleItems={visibleItems}\n isLoading={isLoading}\n hasItems={items.length !== 0}\n itemsRefs={optionsRefs}\n virtualScroll\n style={\n typeof style?.zIndex === 'number'\n ? { zIndex: style.zIndex + 1 }\n : undefined\n }\n onScrollToBottom={onScrollToBottom}\n />\n </>\n );\n};\n\nexport const AutoComplete = React.forwardRef(\n AutoCompleteRender,\n) as AutoCompleteComponent;\n\nexport * from './types';\n"],"mappings":"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"}
@@ -23,6 +23,7 @@ export declare function withDefaultGetters<TYPE extends string, ITEM = AutoCompl
23
23
  onScrollToBottom?: (length: number) => void;
24
24
  onDropdownOpen?: (isOpen: boolean) => void;
25
25
  dropdownOpen?: boolean;
26
+ dropdownViewportRef?: React.RefObject<HTMLElement>;
26
27
  ignoreOutsideClicksRefs?: ReadonlyArray<React.RefObject<HTMLElement>>;
27
28
  } & Omit<import("../TextField").TextFieldProps<TYPE>, "onChange" | "step" | "width" | "max" | "min" | "incrementButtons"> & (ITEM extends {
28
29
  label: AutoCompleteItemDefault["label"];
@@ -41,6 +41,7 @@ export type AutoCompleteProps<TYPE extends string, ITEM = AutoCompleteItemDefaul
41
41
  onScrollToBottom?: (length: number) => void;
42
42
  onDropdownOpen?: (isOpen: boolean) => void;
43
43
  dropdownOpen?: boolean;
44
+ dropdownViewportRef?: React.RefObject<HTMLElement>;
44
45
  ignoreOutsideClicksRefs?: ReadonlyArray<React.RefObject<HTMLElement>>;
45
46
  } & Omit<TextFieldProps<TYPE>, 'max' | 'min' | 'step' | 'incrementButtons' | 'onChange' | 'width'> & (ITEM extends {
46
47
  label: AutoCompleteItemDefault['label'];
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../../../src/components/AutoComplete/types.ts"],"sourcesContent":["import React from 'react';\n\nimport { PropRenderItem } from '##/components/Select';\nimport { TextFieldProps } from '##/components/TextField';\n\nexport type AutoCompleteItemDefault = {\n id: string | number;\n label: string;\n groupId?: number;\n};\n\nexport type AutoCompleteGroupDefault = {\n label: string;\n id: number | string;\n};\n\nexport type AutoCompletePropDropdownForm = 'default' | 'brick' | 'round';\n\nexport type AutoCompletePropGetItemLabel<ITEM> = (item: ITEM) => string;\nexport type AutoCompletePropGetItemKey<ITEM> = (item: ITEM) => string | number;\nexport type AutoCompletePropGetItemGroupId<ITEM> = (\n item: ITEM,\n) => number | undefined;\nexport type AutoCompletePropGetGroupLabel<GROUP> = (group: GROUP) => string;\nexport type AutoCompletePropGetGroupId<GROUP> = (\n group: GROUP,\n) => number | string;\n\nexport type AutoCompletePropSearchFunction<ITEM> = (\n item: ITEM,\n searchValue: string,\n) => boolean;\n\nexport type AutoCompletePropOnChange = (\n value: string | null,\n props: {\n e: React.ChangeEvent | React.MouseEvent | React.KeyboardEvent;\n id?: string;\n name?: string;\n },\n) => void;\n\nexport type AutoCompleteProps<\n TYPE extends string,\n ITEM = AutoCompleteItemDefault,\n GROUP = AutoCompleteGroupDefault,\n> = {\n items: ITEM[];\n groups?: GROUP[];\n renderItem?: PropRenderItem<ITEM>;\n dropdownClassName?: string;\n dropdownForm?: AutoCompletePropDropdownForm;\n isLoading?: boolean;\n searchFunction?: AutoCompletePropSearchFunction<ITEM>;\n dropdownRef?: React.RefObject<HTMLDivElement>;\n getItemLabel?: AutoCompletePropGetItemLabel<ITEM>;\n getItemKey?: AutoCompletePropGetItemKey<ITEM>;\n getItemGroupKey?: AutoCompletePropGetItemGroupId<ITEM>;\n getGroupLabel?: AutoCompletePropGetGroupLabel<GROUP>;\n getGroupKey?: AutoCompletePropGetGroupId<GROUP>;\n onChange?: AutoCompletePropOnChange;\n virtualScroll?: boolean;\n onScrollToBottom?: (length: number) => void;\n onDropdownOpen?: (isOpen: boolean) => void;\n dropdownOpen?: boolean;\n ignoreOutsideClicksRefs?: ReadonlyArray<React.RefObject<HTMLElement>>;\n} & Omit<\n TextFieldProps<TYPE>,\n 'max' | 'min' | 'step' | 'incrementButtons' | 'onChange' | 'width'\n> &\n (ITEM extends { label: AutoCompleteItemDefault['label'] }\n ? {}\n : {\n getItemLabel: AutoCompletePropGetItemLabel<ITEM>;\n }) &\n (ITEM extends { id: AutoCompleteItemDefault['id'] }\n ? {}\n : { getItemKey: AutoCompletePropGetItemKey<ITEM> }) &\n (GROUP extends { label: AutoCompleteGroupDefault['label'] }\n ? {}\n : { getGroupLabel: AutoCompletePropGetGroupLabel<GROUP> }) &\n (GROUP extends { id: AutoCompleteGroupDefault['id'] }\n ? {}\n : { getGroupKey: AutoCompletePropGetGroupId<GROUP> });\n\nexport type AutoCompleteComponent = <\n TYPE extends string,\n ITEM = AutoCompleteItemDefault,\n GROUP = AutoCompleteGroupDefault,\n>(\n props: AutoCompleteProps<TYPE, ITEM, GROUP>,\n) => React.ReactNode | null;\n"],"mappings":""}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../../../src/components/AutoComplete/types.ts"],"sourcesContent":["import React from 'react';\n\nimport { PropRenderItem } from '##/components/Select';\nimport { TextFieldProps } from '##/components/TextField';\n\nexport type AutoCompleteItemDefault = {\n id: string | number;\n label: string;\n groupId?: number;\n};\n\nexport type AutoCompleteGroupDefault = {\n label: string;\n id: number | string;\n};\n\nexport type AutoCompletePropDropdownForm = 'default' | 'brick' | 'round';\n\nexport type AutoCompletePropGetItemLabel<ITEM> = (item: ITEM) => string;\nexport type AutoCompletePropGetItemKey<ITEM> = (item: ITEM) => string | number;\nexport type AutoCompletePropGetItemGroupId<ITEM> = (\n item: ITEM,\n) => number | undefined;\nexport type AutoCompletePropGetGroupLabel<GROUP> = (group: GROUP) => string;\nexport type AutoCompletePropGetGroupId<GROUP> = (\n group: GROUP,\n) => number | string;\n\nexport type AutoCompletePropSearchFunction<ITEM> = (\n item: ITEM,\n searchValue: string,\n) => boolean;\n\nexport type AutoCompletePropOnChange = (\n value: string | null,\n props: {\n e: React.ChangeEvent | React.MouseEvent | React.KeyboardEvent;\n id?: string;\n name?: string;\n },\n) => void;\n\nexport type AutoCompleteProps<\n TYPE extends string,\n ITEM = AutoCompleteItemDefault,\n GROUP = AutoCompleteGroupDefault,\n> = {\n items: ITEM[];\n groups?: GROUP[];\n renderItem?: PropRenderItem<ITEM>;\n dropdownClassName?: string;\n dropdownForm?: AutoCompletePropDropdownForm;\n isLoading?: boolean;\n searchFunction?: AutoCompletePropSearchFunction<ITEM>;\n dropdownRef?: React.RefObject<HTMLDivElement>;\n getItemLabel?: AutoCompletePropGetItemLabel<ITEM>;\n getItemKey?: AutoCompletePropGetItemKey<ITEM>;\n getItemGroupKey?: AutoCompletePropGetItemGroupId<ITEM>;\n getGroupLabel?: AutoCompletePropGetGroupLabel<GROUP>;\n getGroupKey?: AutoCompletePropGetGroupId<GROUP>;\n onChange?: AutoCompletePropOnChange;\n virtualScroll?: boolean;\n onScrollToBottom?: (length: number) => void;\n onDropdownOpen?: (isOpen: boolean) => void;\n dropdownOpen?: boolean;\n dropdownViewportRef?: React.RefObject<HTMLElement>;\n ignoreOutsideClicksRefs?: ReadonlyArray<React.RefObject<HTMLElement>>;\n} & Omit<\n TextFieldProps<TYPE>,\n 'max' | 'min' | 'step' | 'incrementButtons' | 'onChange' | 'width'\n> &\n (ITEM extends { label: AutoCompleteItemDefault['label'] }\n ? {}\n : {\n getItemLabel: AutoCompletePropGetItemLabel<ITEM>;\n }) &\n (ITEM extends { id: AutoCompleteItemDefault['id'] }\n ? {}\n : { getItemKey: AutoCompletePropGetItemKey<ITEM> }) &\n (GROUP extends { label: AutoCompleteGroupDefault['label'] }\n ? {}\n : { getGroupLabel: AutoCompletePropGetGroupLabel<GROUP> }) &\n (GROUP extends { id: AutoCompleteGroupDefault['id'] }\n ? {}\n : { getGroupKey: AutoCompletePropGetGroupId<GROUP> });\n\nexport type AutoCompleteComponent = <\n TYPE extends string,\n ITEM = AutoCompleteItemDefault,\n GROUP = AutoCompleteGroupDefault,\n>(\n props: AutoCompleteProps<TYPE, ITEM, GROUP>,\n) => React.ReactNode | null;\n"],"mappings":""}
@@ -1,2 +1,2 @@
1
- import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["items","groups","disabled","getItemLabel","getItemKey","isLoading","getItemGroupKey","getGroupKey","getGroupLabel","inputRef","onFocus","dropdownRef","dropdownClassName","dropdownForm","value","form","view","size","onChange","style","renderItem","searchFunction","id","name","className","virtualScroll","onScrollToBottom","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","onBlur"];import React,{forwardRef,useRef}from"react";import{SelectDropdown}from"../../SelectComponents/SelectDropdown";import{defaultPropForm,defaultPropSize,defaultPropView}from"../../SelectComponentsDeprecated/types";import{TextFieldTypeText}from"../../TextFieldCanary";import{useForkRef}from"../../../hooks/useForkRef";import{withDefaultGetters}from"../helpers";import{useAutoComplete}from"../useAutoComplete";import{useRenderItemDefault}from"../useRenderItemDefault";export var AutoCompleteTypeText=forwardRef(function(a,b){var c=withDefaultGetters(a),d=c.items,e=void 0===d?[]:d,f=c.groups,g=void 0===f?[]:f,h=c.disabled,i=void 0!==h&&h,j=c.getItemLabel,k=c.getItemKey,l=c.isLoading,m=c.getItemGroupKey,n=c.getGroupKey,o=c.getGroupLabel,p=c.inputRef,q=c.onFocus,r=c.dropdownRef,s=c.dropdownClassName,t=c.dropdownForm,u=void 0===t?"default":t,v=c.value,w=c.form,x=void 0===w?defaultPropForm:w,y=c.view,z=void 0===y?defaultPropView:y,A=c.size,B=void 0===A?defaultPropSize:A,C=c.onChange,D=c.style,E=c.renderItem,F=c.searchFunction,G=c.id,H=c.name,I=c.className,J=c.virtualScroll,K=c.onScrollToBottom,L=c.onDropdownOpen,M=c.dropdownOpen,N=c.ignoreOutsideClicksRefs,O=c.onBlur,P=_objectWithoutProperties(c,_excluded),Q=useRef(null),R=useRef(null),S=useAutoComplete({items:e,groups:g,onChange:C,dropdownRef:Q,disabled:i,searchValue:v||"",getItemLabel:j,getItemKey:k,getItemGroupKey:m,getGroupKey:n,onFocus:q,onBlur:O,searchFunction:F,isLoading:l,onDropdownOpen:L,dropdownOpen:M,ignoreOutsideClicksRefs:[R].concat(_toConsumableArray(N||[]))}),T=S.getOptionProps,U=S.isOpen,V=S.getKeyProps,W=S.visibleItems,X=S.handleInputFocus,Y=S.handleInputBlur,Z=S.inputRef,$=S.optionsRefs,_=S.handleChange,aa=useRenderItemDefault(j,i,B,u);return React.createElement(React.Fragment,null,React.createElement(TextFieldTypeText,Object.assign({},V(),{form:x,view:z,id:G,className:I,name:H,disabled:i,ref:useForkRef([R,b]),inputRef:useForkRef([p,Z]),onChange:_,onFocus:X,onBlur:Y,value:v,style:D,size:B},P)),React.createElement(SelectDropdown,{isOpen:U,size:B,controlRef:R,getOptionProps:T,dropdownRef:useForkRef([Q,r]),form:u,className:s,renderItem:E||aa,getGroupLabel:o,visibleItems:W,isLoading:l,hasItems:0!==e.length,itemsRefs:$,virtualScroll:!0,style:"number"==typeof(null===D||void 0===D?void 0:D.zIndex)?{zIndex:D.zIndex+1}:void 0,onScrollToBottom:K}))});
1
+ import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["items","groups","disabled","getItemLabel","getItemKey","isLoading","getItemGroupKey","getGroupKey","getGroupLabel","inputRef","onFocus","dropdownRef","dropdownClassName","dropdownForm","value","form","view","size","onChange","style","renderItem","searchFunction","id","name","className","virtualScroll","onScrollToBottom","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","onBlur","dropdownViewportRef"];import React,{forwardRef,useRef}from"react";import{SelectDropdown}from"../../SelectComponents/SelectDropdown";import{defaultPropForm,defaultPropSize,defaultPropView}from"../../SelectComponentsDeprecated/types";import{TextFieldTypeText}from"../../TextFieldCanary";import{useForkRef}from"../../../hooks/useForkRef";import{withDefaultGetters}from"../helpers";import{useAutoComplete}from"../useAutoComplete";import{useRenderItemDefault}from"../useRenderItemDefault";export var AutoCompleteTypeText=forwardRef(function(a,b){var c=withDefaultGetters(a),d=c.items,e=void 0===d?[]:d,f=c.groups,g=void 0===f?[]:f,h=c.disabled,i=void 0!==h&&h,j=c.getItemLabel,k=c.getItemKey,l=c.isLoading,m=c.getItemGroupKey,n=c.getGroupKey,o=c.getGroupLabel,p=c.inputRef,q=c.onFocus,r=c.dropdownRef,s=c.dropdownClassName,t=c.dropdownForm,u=void 0===t?"default":t,v=c.value,w=c.form,x=void 0===w?defaultPropForm:w,y=c.view,z=void 0===y?defaultPropView:y,A=c.size,B=void 0===A?defaultPropSize:A,C=c.onChange,D=c.style,E=c.renderItem,F=c.searchFunction,G=c.id,H=c.name,I=c.className,J=c.virtualScroll,K=c.onScrollToBottom,L=c.onDropdownOpen,M=c.dropdownOpen,N=c.ignoreOutsideClicksRefs,O=c.onBlur,P=c.dropdownViewportRef,Q=_objectWithoutProperties(c,_excluded),R=useRef(null),S=useRef(null),T=useAutoComplete({items:e,groups:g,onChange:C,dropdownRef:R,disabled:i,searchValue:v||"",getItemLabel:j,getItemKey:k,getItemGroupKey:m,getGroupKey:n,onFocus:q,onBlur:O,searchFunction:F,isLoading:l,onDropdownOpen:L,dropdownOpen:M,ignoreOutsideClicksRefs:[S].concat(_toConsumableArray(N||[]))}),U=T.getOptionProps,V=T.isOpen,W=T.getKeyProps,X=T.visibleItems,Y=T.handleInputFocus,Z=T.handleInputBlur,$=T.inputRef,_=T.optionsRefs,aa=T.handleChange,ba=useRenderItemDefault(j,i,B,u);return React.createElement(React.Fragment,null,React.createElement(TextFieldTypeText,Object.assign({},W(),{form:x,view:z,id:G,className:I,name:H,disabled:i,ref:useForkRef([S,b]),inputRef:useForkRef([p,$]),onChange:aa,onFocus:Y,onBlur:Z,value:v,style:D,size:B},Q)),React.createElement(SelectDropdown,{viewportRef:P,isOpen:V,size:B,controlRef:S,getOptionProps:U,dropdownRef:useForkRef([R,r]),form:u,className:s,renderItem:E||ba,getGroupLabel:o,visibleItems:X,isLoading:l,hasItems:0!==e.length,itemsRefs:_,virtualScroll:!0,style:"number"==typeof(null===D||void 0===D?void 0:D.zIndex)?{zIndex:D.zIndex+1}:void 0,onScrollToBottom:K}))});
2
2
  //# sourceMappingURL=AutoCompleteTypeText.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AutoCompleteTypeText.js","names":["React","forwardRef","useRef","SelectDropdown","defaultPropForm","defaultPropSize","defaultPropView","TextFieldTypeText","useForkRef","withDefaultGetters","useAutoComplete","useRenderItemDefault","AutoCompleteTypeText","props","componentRef","items","groups","disabled","getItemLabel","getItemKey","isLoading","getItemGroupKey","getGroupKey","getGroupLabel","inputRef","onFocus","dropdownRefProp","dropdownRef","dropdownClassName","dropdownForm","value","form","view","size","onChange","style","renderItem","searchFunction","id","name","className","virtualScroll","onScrollToBottom","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","onBlur","otherProps","controlRef","searchValue","getOptionProps","isOpen","getKeyProps","visibleItems","handleInputFocus","handleInputBlur","inputControlRef","optionsRefs","handleChange","renderItemDefault","length","zIndex"],"sources":["../../../../../../src/components/AutoCompleteCanary/AutoCompleteTypeText/AutoCompleteTypeText.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from 'react';\n\nimport { SelectDropdown } from '##/components/SelectComponents/SelectDropdown';\nimport {\n defaultPropForm,\n defaultPropSize,\n defaultPropView,\n} from '##/components/SelectComponentsDeprecated/types';\nimport { TextFieldTypeText } from '##/components/TextFieldCanary';\nimport { useForkRef } from '##/hooks/useForkRef';\n\nimport { withDefaultGetters } from '../helpers';\nimport { AutoCompleteTypeComponent } from '../types';\nimport { useAutoComplete } from '../useAutoComplete';\nimport { useRenderItemDefault } from '../useRenderItemDefault';\n\nexport const AutoCompleteTypeText: AutoCompleteTypeComponent<string> =\n forwardRef((props, componentRef) => {\n const {\n items = [],\n groups = [],\n disabled = false,\n getItemLabel,\n getItemKey,\n isLoading,\n getItemGroupKey,\n getGroupKey,\n getGroupLabel,\n inputRef,\n onFocus,\n dropdownRef: dropdownRefProp,\n dropdownClassName,\n dropdownForm = 'default',\n value,\n form = defaultPropForm,\n view = defaultPropView,\n size = defaultPropSize,\n onChange,\n style,\n renderItem,\n searchFunction,\n id,\n name,\n className,\n virtualScroll,\n onScrollToBottom,\n onDropdownOpen,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n onBlur,\n ...otherProps\n } = withDefaultGetters(props);\n\n const dropdownRef = useRef<HTMLDivElement>(null);\n const controlRef = useRef<HTMLDivElement>(null);\n\n const {\n getOptionProps,\n isOpen,\n getKeyProps,\n visibleItems,\n handleInputFocus,\n handleInputBlur,\n inputRef: inputControlRef,\n optionsRefs,\n handleChange,\n } = useAutoComplete({\n items,\n groups,\n onChange,\n dropdownRef,\n disabled,\n searchValue: value || '',\n getItemLabel,\n getItemKey,\n getItemGroupKey,\n getGroupKey,\n onFocus,\n onBlur,\n searchFunction,\n isLoading,\n onDropdownOpen,\n dropdownOpen,\n ignoreOutsideClicksRefs: [controlRef, ...(ignoreOutsideClicksRefs || [])],\n });\n\n const renderItemDefault = useRenderItemDefault(\n getItemLabel,\n disabled,\n size,\n dropdownForm,\n );\n\n return (\n <>\n <TextFieldTypeText\n {...getKeyProps()}\n form={form}\n view={view}\n id={id}\n className={className}\n name={name}\n disabled={disabled}\n ref={useForkRef([controlRef, componentRef])}\n inputRef={useForkRef([inputRef, inputControlRef])}\n onChange={handleChange}\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n value={value}\n style={style}\n size={size}\n {...otherProps}\n />\n <SelectDropdown\n isOpen={isOpen}\n size={size}\n controlRef={controlRef}\n getOptionProps={getOptionProps}\n dropdownRef={useForkRef([dropdownRef, dropdownRefProp])}\n form={dropdownForm}\n className={dropdownClassName}\n renderItem={renderItem || renderItemDefault}\n getGroupLabel={getGroupLabel}\n visibleItems={visibleItems}\n isLoading={isLoading}\n hasItems={items.length !== 0}\n itemsRefs={optionsRefs}\n virtualScroll\n style={\n typeof style?.zIndex === 'number'\n ? { zIndex: style.zIndex + 1 }\n : undefined\n }\n onScrollToBottom={onScrollToBottom}\n />\n </>\n );\n });\n"],"mappings":"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"}
1
+ {"version":3,"file":"AutoCompleteTypeText.js","names":["React","forwardRef","useRef","SelectDropdown","defaultPropForm","defaultPropSize","defaultPropView","TextFieldTypeText","useForkRef","withDefaultGetters","useAutoComplete","useRenderItemDefault","AutoCompleteTypeText","props","componentRef","items","groups","disabled","getItemLabel","getItemKey","isLoading","getItemGroupKey","getGroupKey","getGroupLabel","inputRef","onFocus","dropdownRefProp","dropdownRef","dropdownClassName","dropdownForm","value","form","view","size","onChange","style","renderItem","searchFunction","id","name","className","virtualScroll","onScrollToBottom","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","onBlur","dropdownViewportRef","otherProps","controlRef","searchValue","getOptionProps","isOpen","getKeyProps","visibleItems","handleInputFocus","handleInputBlur","inputControlRef","optionsRefs","handleChange","renderItemDefault","length","zIndex"],"sources":["../../../../../../src/components/AutoCompleteCanary/AutoCompleteTypeText/AutoCompleteTypeText.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from 'react';\n\nimport { SelectDropdown } from '##/components/SelectComponents/SelectDropdown';\nimport {\n defaultPropForm,\n defaultPropSize,\n defaultPropView,\n} from '##/components/SelectComponentsDeprecated/types';\nimport { TextFieldTypeText } from '##/components/TextFieldCanary';\nimport { useForkRef } from '##/hooks/useForkRef';\n\nimport { withDefaultGetters } from '../helpers';\nimport { AutoCompleteTypeComponent } from '../types';\nimport { useAutoComplete } from '../useAutoComplete';\nimport { useRenderItemDefault } from '../useRenderItemDefault';\n\nexport const AutoCompleteTypeText: AutoCompleteTypeComponent<string> =\n forwardRef((props, componentRef) => {\n const {\n items = [],\n groups = [],\n disabled = false,\n getItemLabel,\n getItemKey,\n isLoading,\n getItemGroupKey,\n getGroupKey,\n getGroupLabel,\n inputRef,\n onFocus,\n dropdownRef: dropdownRefProp,\n dropdownClassName,\n dropdownForm = 'default',\n value,\n form = defaultPropForm,\n view = defaultPropView,\n size = defaultPropSize,\n onChange,\n style,\n renderItem,\n searchFunction,\n id,\n name,\n className,\n virtualScroll,\n onScrollToBottom,\n onDropdownOpen,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n onBlur,\n dropdownViewportRef,\n ...otherProps\n } = withDefaultGetters(props);\n\n const dropdownRef = useRef<HTMLDivElement>(null);\n const controlRef = useRef<HTMLDivElement>(null);\n\n const {\n getOptionProps,\n isOpen,\n getKeyProps,\n visibleItems,\n handleInputFocus,\n handleInputBlur,\n inputRef: inputControlRef,\n optionsRefs,\n handleChange,\n } = useAutoComplete({\n items,\n groups,\n onChange,\n dropdownRef,\n disabled,\n searchValue: value || '',\n getItemLabel,\n getItemKey,\n getItemGroupKey,\n getGroupKey,\n onFocus,\n onBlur,\n searchFunction,\n isLoading,\n onDropdownOpen,\n dropdownOpen,\n ignoreOutsideClicksRefs: [controlRef, ...(ignoreOutsideClicksRefs || [])],\n });\n\n const renderItemDefault = useRenderItemDefault(\n getItemLabel,\n disabled,\n size,\n dropdownForm,\n );\n\n return (\n <>\n <TextFieldTypeText\n {...getKeyProps()}\n form={form}\n view={view}\n id={id}\n className={className}\n name={name}\n disabled={disabled}\n ref={useForkRef([controlRef, componentRef])}\n inputRef={useForkRef([inputRef, inputControlRef])}\n onChange={handleChange}\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n value={value}\n style={style}\n size={size}\n {...otherProps}\n />\n <SelectDropdown\n viewportRef={dropdownViewportRef}\n isOpen={isOpen}\n size={size}\n controlRef={controlRef}\n getOptionProps={getOptionProps}\n dropdownRef={useForkRef([dropdownRef, dropdownRefProp])}\n form={dropdownForm}\n className={dropdownClassName}\n renderItem={renderItem || renderItemDefault}\n getGroupLabel={getGroupLabel}\n visibleItems={visibleItems}\n isLoading={isLoading}\n hasItems={items.length !== 0}\n itemsRefs={optionsRefs}\n virtualScroll\n style={\n typeof style?.zIndex === 'number'\n ? { zIndex: style.zIndex + 1 }\n : undefined\n }\n onScrollToBottom={onScrollToBottom}\n />\n </>\n );\n });\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["items","groups","disabled","getItemLabel","getItemKey","isLoading","getItemGroupKey","getGroupKey","getGroupLabel","inputRef","onFocus","dropdownRef","dropdownClassName","dropdownForm","value","form","view","size","onChange","style","renderItem","searchFunction","id","name","className","virtualScroll","onScrollToBottom","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","onInputChange","inputValue","onBlur"];import React,{forwardRef,useRef}from"react";import{SelectDropdown}from"../../SelectComponents/SelectDropdown";import{defaultPropForm,defaultPropSize,defaultPropView}from"../../SelectComponentsDeprecated/types";import{TextFieldTypeTextArray}from"../../TextFieldCanary";import{useForkRef}from"../../../hooks/useForkRef";import{withDefaultGetters}from"../helpers";import{useAutoComplete}from"../useAutoComplete";import{useRenderItemDefault}from"../useRenderItemDefault";export var AutoCompleteTypeTextArray=forwardRef(function(a,b){var c=withDefaultGetters(a),d=c.items,e=void 0===d?[]:d,f=c.groups,g=void 0===f?[]:f,h=c.disabled,i=void 0!==h&&h,j=c.getItemLabel,k=c.getItemKey,l=c.isLoading,m=c.getItemGroupKey,n=c.getGroupKey,o=c.getGroupLabel,p=c.inputRef,q=c.onFocus,r=c.dropdownRef,s=c.dropdownClassName,t=c.dropdownForm,u=void 0===t?"default":t,v=c.value,w=c.form,x=void 0===w?defaultPropForm:w,y=c.view,z=void 0===y?defaultPropView:y,A=c.size,B=void 0===A?defaultPropSize:A,C=c.onChange,D=c.style,E=c.renderItem,F=c.searchFunction,G=c.id,H=c.name,I=c.className,J=c.virtualScroll,K=c.onScrollToBottom,L=c.onDropdownOpen,M=c.dropdownOpen,N=c.ignoreOutsideClicksRefs,O=c.onInputChange,P=c.inputValue,Q=c.onBlur,R=_objectWithoutProperties(c,_excluded),S=useRef(null),T=useRef(null),U=useAutoComplete({items:e,groups:g,onChange:O,dropdownRef:S,disabled:i,searchValue:P||"",getItemLabel:j,getItemKey:k,getItemGroupKey:m,getGroupKey:n,onFocus:q,searchFunction:F,onBlur:Q,isLoading:l,onDropdownOpen:L,dropdownOpen:M,ignoreOutsideClicksRefs:[T].concat(_toConsumableArray(N||[]))}),V=U.getOptionProps,W=U.isOpen,X=U.getKeyProps,Y=U.visibleItems,Z=U.handleInputFocus,$=U.inputRef,_=U.optionsRefs,aa=U.handleChange,ba=U.handleInputBlur,ca=U.highlightedIndex,da=useRenderItemDefault(j,i,B,u);return React.createElement(React.Fragment,null,React.createElement(TextFieldTypeTextArray,Object.assign({},X(),{form:x,view:z,id:G,className:I,name:H,disabled:i,ref:useForkRef([T,b]),inputRef:useForkRef([p,$]),onFocus:Z,onBlur:ba,onChange:0>ca?C:void 0,onInputChange:aa,value:v,style:D,size:B,inputValue:P},R)),React.createElement(SelectDropdown,{isOpen:W,size:B,controlRef:T,getOptionProps:V,dropdownRef:useForkRef([S,r]),form:u,className:s,renderItem:E||da,getGroupLabel:o,visibleItems:Y,isLoading:l,hasItems:0!==e.length,itemsRefs:_,virtualScroll:!0,style:"number"==typeof(null===D||void 0===D?void 0:D.zIndex)?{zIndex:D.zIndex+1}:void 0,onScrollToBottom:K}))});
1
+ import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["items","groups","disabled","getItemLabel","getItemKey","isLoading","getItemGroupKey","getGroupKey","getGroupLabel","inputRef","onFocus","dropdownRef","dropdownClassName","dropdownForm","value","form","view","size","onChange","style","renderItem","searchFunction","id","name","className","virtualScroll","onScrollToBottom","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","onInputChange","inputValue","onBlur","dropdownViewportRef"];import React,{forwardRef,useRef}from"react";import{SelectDropdown}from"../../SelectComponents/SelectDropdown";import{defaultPropForm,defaultPropSize,defaultPropView}from"../../SelectComponentsDeprecated/types";import{TextFieldTypeTextArray}from"../../TextFieldCanary";import{useForkRef}from"../../../hooks/useForkRef";import{withDefaultGetters}from"../helpers";import{useAutoComplete}from"../useAutoComplete";import{useRenderItemDefault}from"../useRenderItemDefault";export var AutoCompleteTypeTextArray=forwardRef(function(a,b){var c=withDefaultGetters(a),d=c.items,e=void 0===d?[]:d,f=c.groups,g=void 0===f?[]:f,h=c.disabled,i=void 0!==h&&h,j=c.getItemLabel,k=c.getItemKey,l=c.isLoading,m=c.getItemGroupKey,n=c.getGroupKey,o=c.getGroupLabel,p=c.inputRef,q=c.onFocus,r=c.dropdownRef,s=c.dropdownClassName,t=c.dropdownForm,u=void 0===t?"default":t,v=c.value,w=c.form,x=void 0===w?defaultPropForm:w,y=c.view,z=void 0===y?defaultPropView:y,A=c.size,B=void 0===A?defaultPropSize:A,C=c.onChange,D=c.style,E=c.renderItem,F=c.searchFunction,G=c.id,H=c.name,I=c.className,J=c.virtualScroll,K=c.onScrollToBottom,L=c.onDropdownOpen,M=c.dropdownOpen,N=c.ignoreOutsideClicksRefs,O=c.onInputChange,P=c.inputValue,Q=c.onBlur,R=c.dropdownViewportRef,S=_objectWithoutProperties(c,_excluded),T=useRef(null),U=useRef(null),V=useAutoComplete({items:e,groups:g,onChange:O,dropdownRef:T,disabled:i,searchValue:P||"",getItemLabel:j,getItemKey:k,getItemGroupKey:m,getGroupKey:n,onFocus:q,searchFunction:F,onBlur:Q,isLoading:l,onDropdownOpen:L,dropdownOpen:M,ignoreOutsideClicksRefs:[U].concat(_toConsumableArray(N||[]))}),W=V.getOptionProps,X=V.isOpen,Y=V.getKeyProps,Z=V.visibleItems,$=V.handleInputFocus,_=V.inputRef,aa=V.optionsRefs,ba=V.handleChange,ca=V.handleInputBlur,da=V.highlightedIndex,ea=useRenderItemDefault(j,i,B,u);return React.createElement(React.Fragment,null,React.createElement(TextFieldTypeTextArray,Object.assign({},Y(),{form:x,view:z,id:G,className:I,name:H,disabled:i,ref:useForkRef([U,b]),inputRef:useForkRef([p,_]),onFocus:$,onBlur:ca,onChange:0>da?C:void 0,onInputChange:ba,value:v,style:D,size:B,inputValue:P},S)),React.createElement(SelectDropdown,{viewportRef:R,isOpen:X,size:B,controlRef:U,getOptionProps:W,dropdownRef:useForkRef([T,r]),form:u,className:s,renderItem:E||ea,getGroupLabel:o,visibleItems:Z,isLoading:l,hasItems:0!==e.length,itemsRefs:aa,virtualScroll:!0,style:"number"==typeof(null===D||void 0===D?void 0:D.zIndex)?{zIndex:D.zIndex+1}:void 0,onScrollToBottom:K}))});
2
2
  //# sourceMappingURL=AutoCompleteTypeTextArray.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AutoCompleteTypeTextArray.js","names":["React","forwardRef","useRef","SelectDropdown","defaultPropForm","defaultPropSize","defaultPropView","TextFieldTypeTextArray","useForkRef","withDefaultGetters","useAutoComplete","useRenderItemDefault","AutoCompleteTypeTextArray","props","componentRef","withDefaultGettersProps","items","groups","disabled","getItemLabel","getItemKey","isLoading","getItemGroupKey","getGroupKey","getGroupLabel","inputRef","onFocus","dropdownRefProp","dropdownRef","dropdownClassName","dropdownForm","value","form","view","size","onChange","style","renderItem","searchFunction","id","name","className","virtualScroll","onScrollToBottom","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","onInputChange","inputValue","onBlur","otherProps","controlRef","searchValue","getOptionProps","isOpen","getKeyProps","visibleItems","handleInputFocus","inputControlRef","optionsRefs","handleChange","handleInputBlur","highlightedIndex","renderItemDefault","length","zIndex"],"sources":["../../../../../../src/components/AutoCompleteCanary/AutoCompleteTypeTextArray/AutoCompleteTypeTextArray.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from 'react';\n\nimport { SelectDropdown } from '##/components/SelectComponents/SelectDropdown';\nimport {\n defaultPropForm,\n defaultPropSize,\n defaultPropView,\n} from '##/components/SelectComponentsDeprecated/types';\nimport { TextFieldTypeTextArray } from '##/components/TextFieldCanary';\nimport { useForkRef } from '##/hooks/useForkRef';\n\nimport { withDefaultGetters } from '../helpers';\nimport { AutoCompleteTypeComponent } from '../types';\nimport { useAutoComplete } from '../useAutoComplete';\nimport { useRenderItemDefault } from '../useRenderItemDefault';\n\nexport const AutoCompleteTypeTextArray: AutoCompleteTypeComponent<'textarray'> =\n forwardRef((props, componentRef) => {\n const withDefaultGettersProps = withDefaultGetters(props);\n const {\n items = [],\n groups = [],\n disabled = false,\n getItemLabel,\n getItemKey,\n isLoading,\n getItemGroupKey,\n getGroupKey,\n getGroupLabel,\n inputRef,\n onFocus,\n dropdownRef: dropdownRefProp,\n dropdownClassName,\n dropdownForm = 'default',\n value,\n form = defaultPropForm,\n view = defaultPropView,\n size = defaultPropSize,\n onChange,\n style,\n renderItem,\n searchFunction,\n id,\n name,\n className,\n virtualScroll,\n onScrollToBottom,\n onDropdownOpen,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n onInputChange,\n inputValue,\n onBlur,\n ...otherProps\n } = withDefaultGettersProps;\n\n const dropdownRef = useRef<HTMLDivElement | null>(null);\n const controlRef = useRef<HTMLDivElement>(null);\n\n const {\n getOptionProps,\n isOpen,\n getKeyProps,\n visibleItems,\n handleInputFocus,\n inputRef: inputControlRef,\n optionsRefs,\n handleChange,\n handleInputBlur,\n highlightedIndex,\n } = useAutoComplete({\n items,\n groups,\n onChange: onInputChange,\n dropdownRef,\n disabled,\n searchValue: inputValue || '',\n getItemLabel,\n getItemKey,\n getItemGroupKey,\n getGroupKey,\n onFocus,\n searchFunction,\n onBlur,\n isLoading,\n onDropdownOpen,\n dropdownOpen,\n ignoreOutsideClicksRefs: [controlRef, ...(ignoreOutsideClicksRefs || [])],\n });\n\n const renderItemDefault = useRenderItemDefault(\n getItemLabel,\n disabled,\n size,\n dropdownForm,\n );\n\n return (\n <>\n <TextFieldTypeTextArray\n {...getKeyProps()}\n form={form}\n view={view}\n id={id}\n className={className}\n name={name}\n disabled={disabled}\n ref={useForkRef([controlRef, componentRef])}\n inputRef={useForkRef([inputRef, inputControlRef])}\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n onChange={highlightedIndex < 0 ? onChange : undefined}\n onInputChange={handleChange}\n value={value}\n style={style}\n size={size}\n inputValue={inputValue}\n {...otherProps}\n />\n <SelectDropdown\n isOpen={isOpen}\n size={size}\n controlRef={controlRef}\n getOptionProps={getOptionProps}\n dropdownRef={useForkRef([dropdownRef, dropdownRefProp])}\n form={dropdownForm}\n className={dropdownClassName}\n renderItem={renderItem || renderItemDefault}\n getGroupLabel={getGroupLabel}\n visibleItems={visibleItems}\n isLoading={isLoading}\n hasItems={items.length !== 0}\n itemsRefs={optionsRefs}\n virtualScroll\n style={\n typeof style?.zIndex === 'number'\n ? { zIndex: style.zIndex + 1 }\n : undefined\n }\n onScrollToBottom={onScrollToBottom}\n />\n </>\n );\n });\n"],"mappings":"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"}
1
+ {"version":3,"file":"AutoCompleteTypeTextArray.js","names":["React","forwardRef","useRef","SelectDropdown","defaultPropForm","defaultPropSize","defaultPropView","TextFieldTypeTextArray","useForkRef","withDefaultGetters","useAutoComplete","useRenderItemDefault","AutoCompleteTypeTextArray","props","componentRef","withDefaultGettersProps","items","groups","disabled","getItemLabel","getItemKey","isLoading","getItemGroupKey","getGroupKey","getGroupLabel","inputRef","onFocus","dropdownRefProp","dropdownRef","dropdownClassName","dropdownForm","value","form","view","size","onChange","style","renderItem","searchFunction","id","name","className","virtualScroll","onScrollToBottom","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","onInputChange","inputValue","onBlur","dropdownViewportRef","otherProps","controlRef","searchValue","getOptionProps","isOpen","getKeyProps","visibleItems","handleInputFocus","inputControlRef","optionsRefs","handleChange","handleInputBlur","highlightedIndex","renderItemDefault","length","zIndex"],"sources":["../../../../../../src/components/AutoCompleteCanary/AutoCompleteTypeTextArray/AutoCompleteTypeTextArray.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from 'react';\n\nimport { SelectDropdown } from '##/components/SelectComponents/SelectDropdown';\nimport {\n defaultPropForm,\n defaultPropSize,\n defaultPropView,\n} from '##/components/SelectComponentsDeprecated/types';\nimport { TextFieldTypeTextArray } from '##/components/TextFieldCanary';\nimport { useForkRef } from '##/hooks/useForkRef';\n\nimport { withDefaultGetters } from '../helpers';\nimport { AutoCompleteTypeComponent } from '../types';\nimport { useAutoComplete } from '../useAutoComplete';\nimport { useRenderItemDefault } from '../useRenderItemDefault';\n\nexport const AutoCompleteTypeTextArray: AutoCompleteTypeComponent<'textarray'> =\n forwardRef((props, componentRef) => {\n const withDefaultGettersProps = withDefaultGetters(props);\n const {\n items = [],\n groups = [],\n disabled = false,\n getItemLabel,\n getItemKey,\n isLoading,\n getItemGroupKey,\n getGroupKey,\n getGroupLabel,\n inputRef,\n onFocus,\n dropdownRef: dropdownRefProp,\n dropdownClassName,\n dropdownForm = 'default',\n value,\n form = defaultPropForm,\n view = defaultPropView,\n size = defaultPropSize,\n onChange,\n style,\n renderItem,\n searchFunction,\n id,\n name,\n className,\n virtualScroll,\n onScrollToBottom,\n onDropdownOpen,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n onInputChange,\n inputValue,\n onBlur,\n dropdownViewportRef,\n ...otherProps\n } = withDefaultGettersProps;\n\n const dropdownRef = useRef<HTMLDivElement | null>(null);\n const controlRef = useRef<HTMLDivElement>(null);\n\n const {\n getOptionProps,\n isOpen,\n getKeyProps,\n visibleItems,\n handleInputFocus,\n inputRef: inputControlRef,\n optionsRefs,\n handleChange,\n handleInputBlur,\n highlightedIndex,\n } = useAutoComplete({\n items,\n groups,\n onChange: onInputChange,\n dropdownRef,\n disabled,\n searchValue: inputValue || '',\n getItemLabel,\n getItemKey,\n getItemGroupKey,\n getGroupKey,\n onFocus,\n searchFunction,\n onBlur,\n isLoading,\n onDropdownOpen,\n dropdownOpen,\n ignoreOutsideClicksRefs: [controlRef, ...(ignoreOutsideClicksRefs || [])],\n });\n\n const renderItemDefault = useRenderItemDefault(\n getItemLabel,\n disabled,\n size,\n dropdownForm,\n );\n\n return (\n <>\n <TextFieldTypeTextArray\n {...getKeyProps()}\n form={form}\n view={view}\n id={id}\n className={className}\n name={name}\n disabled={disabled}\n ref={useForkRef([controlRef, componentRef])}\n inputRef={useForkRef([inputRef, inputControlRef])}\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n onChange={highlightedIndex < 0 ? onChange : undefined}\n onInputChange={handleChange}\n value={value}\n style={style}\n size={size}\n inputValue={inputValue}\n {...otherProps}\n />\n <SelectDropdown\n viewportRef={dropdownViewportRef}\n isOpen={isOpen}\n size={size}\n controlRef={controlRef}\n getOptionProps={getOptionProps}\n dropdownRef={useForkRef([dropdownRef, dropdownRefProp])}\n form={dropdownForm}\n className={dropdownClassName}\n renderItem={renderItem || renderItemDefault}\n getGroupLabel={getGroupLabel}\n visibleItems={visibleItems}\n isLoading={isLoading}\n hasItems={items.length !== 0}\n itemsRefs={optionsRefs}\n virtualScroll\n style={\n typeof style?.zIndex === 'number'\n ? { zIndex: style.zIndex + 1 }\n : undefined\n }\n onScrollToBottom={onScrollToBottom}\n />\n </>\n );\n });\n"],"mappings":"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"}
@@ -24,6 +24,7 @@ export declare function withDefaultGetters<TYPE extends string, ITEM = AutoCompl
24
24
  onScrollToBottom?: (length: number) => void;
25
25
  onDropdownOpen?: (isOpen: boolean) => void;
26
26
  dropdownOpen?: boolean;
27
+ dropdownViewportRef?: React.RefObject<HTMLElement>;
27
28
  ignoreOutsideClicksRefs?: ReadonlyArray<React.RefObject<HTMLElement>>;
28
29
  } & (ITEM extends {
29
30
  label: AutoCompleteItemDefault["label"];
@@ -49,6 +49,7 @@ export type AutoCompleteProps<TYPE extends string, ITEM = AutoCompleteItemDefaul
49
49
  onScrollToBottom?: (length: number) => void;
50
50
  onDropdownOpen?: (isOpen: boolean) => void;
51
51
  dropdownOpen?: boolean;
52
+ dropdownViewportRef?: React.RefObject<HTMLElement>;
52
53
  ignoreOutsideClicksRefs?: ReadonlyArray<React.RefObject<HTMLElement>>;
53
54
  } & (ITEM extends {
54
55
  label: AutoCompleteItemDefault['label'];
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../../../src/components/AutoCompleteCanary/types.ts"],"sourcesContent":["import React from 'react';\n\nimport { PropRenderItem } from '##/components/Select';\nimport { TextFieldProps } from '##/components/TextFieldCanary';\n\nexport type AutoCompleteItemDefault = {\n id: string | number;\n label: string;\n groupId?: number;\n};\n\nexport type AutoCompleteGroupDefault = {\n label: string;\n id: number | string;\n};\n\nexport type AutoCompletePropDropdownForm = 'default' | 'brick' | 'round';\n\nexport type AutoCompletePropGetItemLabel<ITEM> = (item: ITEM) => string;\nexport type AutoCompletePropGetItemKey<ITEM> = (item: ITEM) => string | number;\nexport type AutoCompletePropGetItemGroupId<ITEM> = (\n item: ITEM,\n) => number | undefined;\nexport type AutoCompletePropGetGroupLabel<GROUP> = (group: GROUP) => string;\nexport type AutoCompletePropGetGroupId<GROUP> = (\n group: GROUP,\n) => number | string;\n\nexport type AutoCompletePropSearchFunction<ITEM> = (\n item: ITEM,\n searchValue: string,\n) => boolean;\n\nexport type AutoCompletePropOnChange<TYPE extends string> = (\n value: TYPE extends 'textarray' ? string[] | null : string | null,\n props: {\n e: React.ChangeEvent | React.MouseEvent | React.KeyboardEvent;\n },\n) => void;\n\nexport type AutoCompleteRenderItemProps<ITEM> = {\n item: ITEM;\n active: boolean;\n hovered: boolean;\n onClick: (e: React.MouseEvent) => void;\n onMouseEnter: (e: React.MouseEvent) => void;\n ref: React.Ref<HTMLDivElement>;\n};\n\nexport type AutoCompletePropRenderItem<ITEM> = (\n props: AutoCompleteRenderItemProps<ITEM>,\n) => React.ReactNode | null;\n\nexport type AutoCompleteProps<\n TYPE extends string,\n ITEM = AutoCompleteItemDefault,\n GROUP = AutoCompleteGroupDefault,\n> = (TYPE extends 'textarray'\n ? Omit<TextFieldProps<'textarray'>, 'onChange' | 'type'>\n : Omit<TextFieldProps<string>, 'onChange' | 'type'>) & {\n type?: TYPE;\n onChange?: AutoCompletePropOnChange<TYPE>;\n items?: ITEM[];\n groups?: GROUP[];\n renderItem?: PropRenderItem<ITEM>;\n dropdownClassName?: string;\n dropdownForm?: AutoCompletePropDropdownForm;\n isLoading?: boolean;\n searchFunction?: AutoCompletePropSearchFunction<ITEM>;\n dropdownRef?: React.RefObject<HTMLDivElement>;\n getItemLabel?: AutoCompletePropGetItemLabel<ITEM>;\n getItemKey?: AutoCompletePropGetItemKey<ITEM>;\n getItemGroupKey?: AutoCompletePropGetItemGroupId<ITEM>;\n getGroupLabel?: AutoCompletePropGetGroupLabel<GROUP>;\n getGroupKey?: AutoCompletePropGetGroupId<GROUP>;\n virtualScroll?: boolean;\n onScrollToBottom?: (length: number) => void;\n onDropdownOpen?: (isOpen: boolean) => void;\n dropdownOpen?: boolean;\n ignoreOutsideClicksRefs?: ReadonlyArray<React.RefObject<HTMLElement>>;\n} & (ITEM extends { label: AutoCompleteItemDefault['label'] }\n ? {}\n : {\n getItemLabel: AutoCompletePropGetItemLabel<ITEM>;\n }) &\n (GROUP extends { label: AutoCompleteGroupDefault['label'] }\n ? {}\n : { getGroupLabel: AutoCompletePropGetGroupLabel<GROUP> }) &\n (GROUP extends { id: AutoCompleteGroupDefault['id'] }\n ? {}\n : { getGroupKey: AutoCompletePropGetGroupId<GROUP> });\n\nexport type AutoCompleteComponent = <\n TYPE extends string,\n ITEM = AutoCompleteItemDefault,\n GROUP = AutoCompleteGroupDefault,\n>(\n props: AutoCompleteProps<TYPE, ITEM, GROUP>,\n) => React.ReactNode | null;\n\nexport type AutoCompleteTypeComponent<\n TYPE extends string = string,\n ITEM = AutoCompleteItemDefault,\n GROUP = AutoCompleteGroupDefault,\n> = (props: AutoCompleteProps<TYPE, ITEM, GROUP>) => React.ReactNode | null;\n"],"mappings":""}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../../../src/components/AutoCompleteCanary/types.ts"],"sourcesContent":["import React from 'react';\n\nimport { PropRenderItem } from '##/components/Select';\nimport { TextFieldProps } from '##/components/TextFieldCanary';\n\nexport type AutoCompleteItemDefault = {\n id: string | number;\n label: string;\n groupId?: number;\n};\n\nexport type AutoCompleteGroupDefault = {\n label: string;\n id: number | string;\n};\n\nexport type AutoCompletePropDropdownForm = 'default' | 'brick' | 'round';\n\nexport type AutoCompletePropGetItemLabel<ITEM> = (item: ITEM) => string;\nexport type AutoCompletePropGetItemKey<ITEM> = (item: ITEM) => string | number;\nexport type AutoCompletePropGetItemGroupId<ITEM> = (\n item: ITEM,\n) => number | undefined;\nexport type AutoCompletePropGetGroupLabel<GROUP> = (group: GROUP) => string;\nexport type AutoCompletePropGetGroupId<GROUP> = (\n group: GROUP,\n) => number | string;\n\nexport type AutoCompletePropSearchFunction<ITEM> = (\n item: ITEM,\n searchValue: string,\n) => boolean;\n\nexport type AutoCompletePropOnChange<TYPE extends string> = (\n value: TYPE extends 'textarray' ? string[] | null : string | null,\n props: {\n e: React.ChangeEvent | React.MouseEvent | React.KeyboardEvent;\n },\n) => void;\n\nexport type AutoCompleteRenderItemProps<ITEM> = {\n item: ITEM;\n active: boolean;\n hovered: boolean;\n onClick: (e: React.MouseEvent) => void;\n onMouseEnter: (e: React.MouseEvent) => void;\n ref: React.Ref<HTMLDivElement>;\n};\n\nexport type AutoCompletePropRenderItem<ITEM> = (\n props: AutoCompleteRenderItemProps<ITEM>,\n) => React.ReactNode | null;\n\nexport type AutoCompleteProps<\n TYPE extends string,\n ITEM = AutoCompleteItemDefault,\n GROUP = AutoCompleteGroupDefault,\n> = (TYPE extends 'textarray'\n ? Omit<TextFieldProps<'textarray'>, 'onChange' | 'type'>\n : Omit<TextFieldProps<string>, 'onChange' | 'type'>) & {\n type?: TYPE;\n onChange?: AutoCompletePropOnChange<TYPE>;\n items?: ITEM[];\n groups?: GROUP[];\n renderItem?: PropRenderItem<ITEM>;\n dropdownClassName?: string;\n dropdownForm?: AutoCompletePropDropdownForm;\n isLoading?: boolean;\n searchFunction?: AutoCompletePropSearchFunction<ITEM>;\n dropdownRef?: React.RefObject<HTMLDivElement>;\n getItemLabel?: AutoCompletePropGetItemLabel<ITEM>;\n getItemKey?: AutoCompletePropGetItemKey<ITEM>;\n getItemGroupKey?: AutoCompletePropGetItemGroupId<ITEM>;\n getGroupLabel?: AutoCompletePropGetGroupLabel<GROUP>;\n getGroupKey?: AutoCompletePropGetGroupId<GROUP>;\n virtualScroll?: boolean;\n onScrollToBottom?: (length: number) => void;\n onDropdownOpen?: (isOpen: boolean) => void;\n dropdownOpen?: boolean;\n dropdownViewportRef?: React.RefObject<HTMLElement>;\n ignoreOutsideClicksRefs?: ReadonlyArray<React.RefObject<HTMLElement>>;\n} & (ITEM extends { label: AutoCompleteItemDefault['label'] }\n ? {}\n : {\n getItemLabel: AutoCompletePropGetItemLabel<ITEM>;\n }) &\n (GROUP extends { label: AutoCompleteGroupDefault['label'] }\n ? {}\n : { getGroupLabel: AutoCompletePropGetGroupLabel<GROUP> }) &\n (GROUP extends { id: AutoCompleteGroupDefault['id'] }\n ? {}\n : { getGroupKey: AutoCompletePropGetGroupId<GROUP> });\n\nexport type AutoCompleteComponent = <\n TYPE extends string,\n ITEM = AutoCompleteItemDefault,\n GROUP = AutoCompleteGroupDefault,\n>(\n props: AutoCompleteProps<TYPE, ITEM, GROUP>,\n) => React.ReactNode | null;\n\nexport type AutoCompleteTypeComponent<\n TYPE extends string = string,\n ITEM = AutoCompleteItemDefault,\n GROUP = AutoCompleteGroupDefault,\n> = (props: AutoCompleteProps<TYPE, ITEM, GROUP>) => React.ReactNode | null;\n"],"mappings":""}
@@ -1,2 +1,2 @@
1
- import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["placeholder","onBlur","onFocus","items","onChange","value","disabled","ariaLabel","id","required","dropdownRef","form","view","size","dropdownClassName","name","groups","getItemLabel","getItemKey","getItemGroupKey","getItemDisabled","getGroupKey","getGroupLabel","renderItem","allSelectedAllLabel","searchValue","renderValue","onCreate","inputRef","labelForNotFound","labelForCreate","labelForEmptyItems","searchFunction","selectAll","isLoading","multiple","style","dropdownForm","virtualScroll","onScrollToBottom","onDropdownOpen","onSearchValueChange","dropdownOpen","ignoreOutsideClicksRefs"];import"../SelectComponents/Select.css";import{IconClear}from"@consta/icons/IconClear";import{IconSelect}from"@consta/icons/IconSelect";import React,{forwardRef,useRef}from"react";import{usePropsHandler}from"../EventInterceptor/usePropsHandler";import{cnSelect}from"../SelectComponents/cnSelect";import{defaultLabelForCreate,defaultLabelForEmptyItems,defaultLabelForNotFound,getInputWidth}from"../SelectComponents/helpers";import{SelectContainer}from"../SelectComponents/SelectContainer";import{SelectDropdown}from"../SelectComponents/SelectDropdown";import{SelectItem}from"../SelectComponents/SelectItem";import{SelectValueTag}from"../SelectComponents/SelectValueTag";import{defaultPropForm,defaultPropSize,defaultPropView}from"../SelectComponents/types";import{useSelect}from"../SelectComponents/useSelect";import{useForkRef}from"../../hooks/useForkRef";import{isNotNil}from"../../utils/type-guards";import{Text}from"../Text";import{clearSizeMap,iconSizeMap,isMultipleParams,isNotMultipleParams,withDefaultGetters}from"./helpers";export var COMPONENT_NAME="Combobox";var ComboboxRender=function(a,b){var c=useRef(null),d=useRef(null),e=useRef(null),f=useRef(null),g=usePropsHandler(COMPONENT_NAME,withDefaultGetters(a),f),h=g.placeholder,i=g.onBlur,j=g.onFocus,k=g.items,l=g.onChange,m=g.value,n=g.disabled,o=g.ariaLabel,p=g.id,q=g.required,r=g.dropdownRef,s=g.form,t=void 0===s?defaultPropForm:s,u=g.view,v=void 0===u?defaultPropView:u,w=g.size,x=void 0===w?defaultPropSize:w,y=g.dropdownClassName,z=g.name,A=g.groups,B=void 0===A?[]:A,C=g.getItemLabel,D=g.getItemKey,E=g.getItemGroupKey,F=g.getItemDisabled,G=g.getGroupKey,H=g.getGroupLabel,I=g.renderItem,J=g.allSelectedAllLabel,K=void 0===J?"\u0412\u0441\u0435":J,L=g.searchValue,M=g.renderValue,N=g.onCreate,O=g.inputRef,P=g.labelForNotFound,Q=void 0===P?defaultLabelForNotFound:P,R=g.labelForCreate,S=void 0===R?defaultLabelForCreate:R,T=g.labelForEmptyItems,U=void 0===T?defaultLabelForEmptyItems:T,V=g.searchFunction,W=g.selectAll,X=g.isLoading,Y=g.multiple,Z=void 0!==Y&&Y,$=g.style,_=g.dropdownForm,aa=void 0===_?"default":_,ba=g.virtualScroll,ca=g.onScrollToBottom,da=g.onDropdownOpen,ea=g.onSearchValueChange,fa=g.dropdownOpen,ga=g.ignoreOutsideClicksRefs,ha=_objectWithoutProperties(g,_excluded),ia=useSelect({items:k,groups:B,value:m,onChange:l,selectAll:W,dropdownRef:c,controlRef:f,disabled:n,getItemLabel:C,getItemKey:D,getGroupKey:G,searchValue:L,getItemGroupKey:E,getItemDisabled:F,multiple:Z,onBlur:i,onFocus:j,onCreate:N,searchFunction:V,onDropdownOpen:da,onSearchValueChange:ea,dropdownOpen:fa,ignoreOutsideClicksRefs:ga}),ja=ia.getKeyProps,ka=ia.getOptionProps,la=ia.isOpen,ma=ia.visibleItems,na=ia.isFocused,oa=ia.handleInputFocus,pa=ia.handleInputBlur,qa=ia.handleToggleDropdown,ra=ia.inputRef,sa=ia.handleInputClick,ta=ia.handleInputChange,ua=ia.searchValue,va=ia.clearValue,wa=ia.getHandleRemoveValue,xa=ia.notFound,ya=ia.hasItems,za=ia.optionsRefs,Aa=ia.allItemsSelected,Ba=p?"".concat(p,"-input"):p,Ca=M||(Z?function renderValueDefaultMultiple(a){var b=a.item,c=a.handleRemove;return React.createElement(SelectValueTag,{label:C(b),key:D(b),size:x,disabled:n||F(b),handleRemove:c})}:function renderValueDefaultNotMultiple(a){var b=C(a.item);return React.createElement("span",{className:cnSelect("ControlValue"),title:b},b)}),Da=useForkRef([ra,O]),Ea=function(){var b=Z?getInputWidth(d,e):void 0;return React.createElement(React.Fragment,null,isMultipleParams(a)&&Array.isArray(a.value)&&a.value.map(function(a){return Ca({item:a,handleRemove:wa(a)})}),isNotMultipleParams(a)&&isNotNil(a.value)&&Ca({item:a.value}),(!isNotNil(m)||Array.isArray(m)&&0===m.length)&&!ua&&h&&React.createElement("span",{className:cnSelect("Placeholder"),title:"placeholder"},h),React.createElement("input",Object.assign({},ja(),{type:"text",name:z,id:Ba,onFocus:oa,onBlur:pa,"aria-label":o,onChange:ta,ref:Da,className:cnSelect("Input",{size:x,hide:!Z&&isNotNil(m),multiple:Z}),value:ua,style:{width:b}})))},Fa=isMultipleParams(a)?isNotNil(a.value)&&0<a.value.length:isNotNil(a.value);return React.createElement(React.Fragment,null,React.createElement(SelectContainer,Object.assign({focused:na,disabled:n,size:x,view:v,required:q,form:t,multiple:Z,ref:b,type:"combobox",style:$,id:Ba},ha),React.createElement("div",{className:cnSelect("Control",{hasInput:!0}),ref:f,"aria-expanded":la,"aria-haspopup":"listbox",id:p},React.createElement("div",{className:cnSelect("ControlInner"),onClick:sa,role:"button",ref:d,"aria-hidden":"true"},React.createElement("div",{className:cnSelect("ControlValueContainer")},function renderValueList(){return Aa?React.createElement(Text,{view:"primary",size:x,className:cnSelect("SelectAll"),lineHeight:"m"},K):Z?React.createElement("div",{className:cnSelect("ControlValue")},Ea()):Ea()}())),React.createElement("span",{className:cnSelect("Indicators")},Fa&&React.createElement("button",{type:"button",onClick:va,tabIndex:-1,className:cnSelect("ClearIndicator")},React.createElement(IconClear,{size:clearSizeMap[x],className:cnSelect("ClearIndicatorIcon")})),React.createElement("span",{className:cnSelect("Delimiter")}),React.createElement("button",{type:"button",className:cnSelect("IndicatorsDropdown"),tabIndex:-1,onClick:qa},React.createElement(IconSelect,{size:iconSizeMap[x],className:cnSelect("DropdownIndicatorIcon")})))),React.createElement("div",{className:cnSelect("HelperInputFakeElement"),ref:e},ua)),React.createElement(SelectDropdown,{isOpen:la,size:x,controlRef:f,getOptionProps:ka,dropdownRef:useForkRef([r,c]),form:aa,className:y,renderItem:I||function renderItemDefault(a){var b=a.item,c=a.active,d=a.hovered,e=a.onClick,f=a.onMouseEnter,g=a.ref;return React.createElement(SelectItem,{label:C(b),active:c,hovered:d,multiple:Z,size:x,indent:"round"===aa?"increased":"normal",onClick:e,onMouseEnter:f,disabled:F(b),ref:g})},getGroupLabel:H,visibleItems:ma,labelForNotFound:Q,labelForCreate:S,isLoading:X,labelForEmptyItems:U,notFound:xa,hasItems:ya,itemsRefs:za,virtualScroll:ba,onScrollToBottom:ca,style:"number"==typeof(null===$||void 0===$?void 0:$.zIndex)?{zIndex:$.zIndex+1}:void 0}))};export var Combobox=forwardRef(ComboboxRender);
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["placeholder","onBlur","onFocus","items","onChange","value","disabled","ariaLabel","id","required","dropdownRef","form","view","size","dropdownClassName","name","groups","getItemLabel","getItemKey","getItemGroupKey","getItemDisabled","getGroupKey","getGroupLabel","renderItem","allSelectedAllLabel","searchValue","renderValue","onCreate","inputRef","labelForNotFound","labelForCreate","labelForEmptyItems","searchFunction","selectAll","isLoading","multiple","style","dropdownForm","virtualScroll","onScrollToBottom","onDropdownOpen","onSearchValueChange","dropdownOpen","ignoreOutsideClicksRefs","dropdownViewportRef"];import"../SelectComponents/Select.css";import{IconClear}from"@consta/icons/IconClear";import{IconSelect}from"@consta/icons/IconSelect";import React,{forwardRef,useRef}from"react";import{usePropsHandler}from"../EventInterceptor/usePropsHandler";import{cnSelect}from"../SelectComponents/cnSelect";import{defaultLabelForCreate,defaultLabelForEmptyItems,defaultLabelForNotFound,getInputWidth}from"../SelectComponents/helpers";import{SelectContainer}from"../SelectComponents/SelectContainer";import{SelectDropdown}from"../SelectComponents/SelectDropdown";import{SelectItem}from"../SelectComponents/SelectItem";import{SelectValueTag}from"../SelectComponents/SelectValueTag";import{defaultPropForm,defaultPropSize,defaultPropView}from"../SelectComponents/types";import{useSelect}from"../SelectComponents/useSelect";import{useForkRef}from"../../hooks/useForkRef";import{isNotNil}from"../../utils/type-guards";import{Text}from"../Text";import{clearSizeMap,iconSizeMap,isMultipleParams,isNotMultipleParams,withDefaultGetters}from"./helpers";export var COMPONENT_NAME="Combobox";var ComboboxRender=function(a,b){var c=useRef(null),d=useRef(null),e=useRef(null),f=useRef(null),g=usePropsHandler(COMPONENT_NAME,withDefaultGetters(a),f),h=g.placeholder,i=g.onBlur,j=g.onFocus,k=g.items,l=g.onChange,m=g.value,n=g.disabled,o=g.ariaLabel,p=g.id,q=g.required,r=g.dropdownRef,s=g.form,t=void 0===s?defaultPropForm:s,u=g.view,v=void 0===u?defaultPropView:u,w=g.size,x=void 0===w?defaultPropSize:w,y=g.dropdownClassName,z=g.name,A=g.groups,B=void 0===A?[]:A,C=g.getItemLabel,D=g.getItemKey,E=g.getItemGroupKey,F=g.getItemDisabled,G=g.getGroupKey,H=g.getGroupLabel,I=g.renderItem,J=g.allSelectedAllLabel,K=void 0===J?"\u0412\u0441\u0435":J,L=g.searchValue,M=g.renderValue,N=g.onCreate,O=g.inputRef,P=g.labelForNotFound,Q=void 0===P?defaultLabelForNotFound:P,R=g.labelForCreate,S=void 0===R?defaultLabelForCreate:R,T=g.labelForEmptyItems,U=void 0===T?defaultLabelForEmptyItems:T,V=g.searchFunction,W=g.selectAll,X=g.isLoading,Y=g.multiple,Z=void 0!==Y&&Y,$=g.style,_=g.dropdownForm,aa=void 0===_?"default":_,ba=g.virtualScroll,ca=g.onScrollToBottom,da=g.onDropdownOpen,ea=g.onSearchValueChange,fa=g.dropdownOpen,ga=g.ignoreOutsideClicksRefs,ha=g.dropdownViewportRef,ia=_objectWithoutProperties(g,_excluded),ja=useSelect({items:k,groups:B,value:m,onChange:l,selectAll:W,dropdownRef:c,controlRef:f,disabled:n,getItemLabel:C,getItemKey:D,getGroupKey:G,searchValue:L,getItemGroupKey:E,getItemDisabled:F,multiple:Z,onBlur:i,onFocus:j,onCreate:N,searchFunction:V,onDropdownOpen:da,onSearchValueChange:ea,dropdownOpen:fa,ignoreOutsideClicksRefs:ga}),ka=ja.getKeyProps,la=ja.getOptionProps,ma=ja.isOpen,na=ja.visibleItems,oa=ja.isFocused,pa=ja.handleInputFocus,qa=ja.handleInputBlur,ra=ja.handleToggleDropdown,sa=ja.inputRef,ta=ja.handleInputClick,ua=ja.handleInputChange,va=ja.searchValue,wa=ja.clearValue,xa=ja.getHandleRemoveValue,ya=ja.notFound,za=ja.hasItems,Aa=ja.optionsRefs,Ba=ja.allItemsSelected,Ca=p?"".concat(p,"-input"):p,Da=M||(Z?function renderValueDefaultMultiple(a){var b=a.item,c=a.handleRemove;return React.createElement(SelectValueTag,{label:C(b),key:D(b),size:x,disabled:n||F(b),handleRemove:c})}:function renderValueDefaultNotMultiple(a){var b=C(a.item);return React.createElement("span",{className:cnSelect("ControlValue"),title:b},b)}),Ea=useForkRef([sa,O]),Fa=function(){var b=Z?getInputWidth(d,e):void 0;return React.createElement(React.Fragment,null,isMultipleParams(a)&&Array.isArray(a.value)&&a.value.map(function(a){return Da({item:a,handleRemove:xa(a)})}),isNotMultipleParams(a)&&isNotNil(a.value)&&Da({item:a.value}),(!isNotNil(m)||Array.isArray(m)&&0===m.length)&&!va&&h&&React.createElement("span",{className:cnSelect("Placeholder"),title:"placeholder"},h),React.createElement("input",Object.assign({},ka(),{type:"text",name:z,id:Ca,onFocus:pa,onBlur:qa,"aria-label":o,onChange:ua,ref:Ea,className:cnSelect("Input",{size:x,hide:!Z&&isNotNil(m),multiple:Z}),value:va,style:{width:b}})))},Ga=isMultipleParams(a)?isNotNil(a.value)&&0<a.value.length:isNotNil(a.value);return React.createElement(React.Fragment,null,React.createElement(SelectContainer,Object.assign({focused:oa,disabled:n,size:x,view:v,required:q,form:t,multiple:Z,ref:b,type:"combobox",style:$,id:Ca},ia),React.createElement("div",{className:cnSelect("Control",{hasInput:!0}),ref:f,"aria-expanded":ma,"aria-haspopup":"listbox",id:p},React.createElement("div",{className:cnSelect("ControlInner"),onClick:ta,role:"button",ref:d,"aria-hidden":"true"},React.createElement("div",{className:cnSelect("ControlValueContainer")},function renderValueList(){return Ba?React.createElement(Text,{view:"primary",size:x,className:cnSelect("SelectAll"),lineHeight:"m"},K):Z?React.createElement("div",{className:cnSelect("ControlValue")},Fa()):Fa()}())),React.createElement("span",{className:cnSelect("Indicators")},Ga&&React.createElement("button",{type:"button",onClick:wa,tabIndex:-1,className:cnSelect("ClearIndicator")},React.createElement(IconClear,{size:clearSizeMap[x],className:cnSelect("ClearIndicatorIcon")})),React.createElement("span",{className:cnSelect("Delimiter")}),React.createElement("button",{type:"button",className:cnSelect("IndicatorsDropdown"),tabIndex:-1,onClick:ra},React.createElement(IconSelect,{size:iconSizeMap[x],className:cnSelect("DropdownIndicatorIcon")})))),React.createElement("div",{className:cnSelect("HelperInputFakeElement"),ref:e},va)),React.createElement(SelectDropdown,{viewportRef:ha,isOpen:ma,size:x,controlRef:f,getOptionProps:la,dropdownRef:useForkRef([r,c]),form:aa,className:y,renderItem:I||function renderItemDefault(a){var b=a.item,c=a.active,d=a.hovered,e=a.onClick,f=a.onMouseEnter,g=a.ref;return React.createElement(SelectItem,{label:C(b),active:c,hovered:d,multiple:Z,size:x,indent:"round"===aa?"increased":"normal",onClick:e,onMouseEnter:f,disabled:F(b),ref:g})},getGroupLabel:H,visibleItems:na,labelForNotFound:Q,labelForCreate:S,isLoading:X,labelForEmptyItems:U,notFound:ya,hasItems:za,itemsRefs:Aa,virtualScroll:ba,onScrollToBottom:ca,style:"number"==typeof(null===$||void 0===$?void 0:$.zIndex)?{zIndex:$.zIndex+1}:void 0}))};export var Combobox=forwardRef(ComboboxRender);
2
2
  //# sourceMappingURL=Combobox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Combobox.js","names":["IconClear","IconSelect","React","forwardRef","useRef","usePropsHandler","cnSelect","defaultLabelForCreate","defaultLabelForEmptyItems","defaultLabelForNotFound","getInputWidth","SelectContainer","SelectDropdown","SelectItem","SelectValueTag","defaultPropForm","defaultPropSize","defaultPropView","useSelect","useForkRef","isNotNil","Text","clearSizeMap","iconSizeMap","isMultipleParams","isNotMultipleParams","withDefaultGetters","COMPONENT_NAME","ComboboxRender","props","ref","defaultDropdownRef","controlInnerRef","helperInputFakeElement","controlRef","placeholder","onBlur","onFocus","items","onChange","value","disabled","ariaLabel","id","required","dropdownRef","form","view","size","dropdownClassName","name","groups","getItemLabel","getItemKey","getItemGroupKey","getItemDisabled","getGroupKey","getGroupLabel","renderItem","allSelectedAllLabel","searchValueProp","searchValue","renderValueProp","renderValue","onCreate","inputRefProp","inputRef","labelForNotFound","labelForCreate","labelForEmptyItems","searchFunction","selectAll","isLoading","multiple","style","dropdownForm","virtualScroll","onScrollToBottom","onDropdownOpen","onSearchValueChange","dropdownOpen","ignoreOutsideClicksRefs","otherProps","getKeyProps","getOptionProps","isOpen","visibleItems","isFocused","handleInputFocus","handleInputBlur","handleToggleDropdown","handleInputClick","handleInputChange","clearValue","getHandleRemoveValue","notFound","hasItems","optionsRefs","allItemsSelected","inputId","renderValueDefaultMultiple","item","handleRemove","renderValueDefaultNotMultiple","valueLabel","inputRefForRender","renderControlValue","width","Array","isArray","map","length","hide","isClearButtonVisible","hasInput","renderValueList","renderItemDefault","active","hovered","onClick","onMouseEnter","zIndex","Combobox"],"sources":["../../../../../src/components/Combobox/Combobox.tsx"],"sourcesContent":["import '##/components/SelectComponents/Select.css';\n\nimport { IconClear } from '@consta/icons/IconClear';\nimport { IconSelect } from '@consta/icons/IconSelect';\nimport React, { forwardRef, useRef } from 'react';\n\nimport { usePropsHandler } from '##/components/EventInterceptor/usePropsHandler';\nimport { cnSelect } from '##/components/SelectComponents/cnSelect';\nimport {\n defaultLabelForCreate,\n defaultLabelForEmptyItems,\n defaultLabelForNotFound,\n getInputWidth,\n} from '##/components/SelectComponents/helpers';\nimport { SelectContainer } from '##/components/SelectComponents/SelectContainer';\nimport { SelectDropdown } from '##/components/SelectComponents/SelectDropdown';\nimport { SelectItem } from '##/components/SelectComponents/SelectItem';\nimport { SelectValueTag } from '##/components/SelectComponents/SelectValueTag';\nimport {\n defaultPropForm,\n defaultPropSize,\n defaultPropView,\n} from '##/components/SelectComponents/types';\nimport { useSelect } from '##/components/SelectComponents/useSelect';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { isNotNil } from '##/utils/type-guards';\n\nimport { Text } from '../Text';\nimport {\n clearSizeMap,\n ComboboxComponent,\n ComboboxGroupDefault,\n ComboboxItemDefault,\n ComboboxPropRenderItem,\n ComboboxPropRenderValue,\n ComboboxProps,\n iconSizeMap,\n isMultipleParams,\n isNotMultipleParams,\n withDefaultGetters,\n} from './helpers';\n\nexport const COMPONENT_NAME = 'Combobox' as const;\n\nconst ComboboxRender = <\n ITEM = ComboboxItemDefault,\n GROUP = ComboboxGroupDefault,\n MULTIPLE extends boolean = false,\n>(\n props: ComboboxProps<ITEM, GROUP, MULTIPLE>,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const defaultDropdownRef = useRef<HTMLDivElement | null>(null);\n const controlInnerRef = useRef<HTMLDivElement>(null);\n const helperInputFakeElement = useRef<HTMLDivElement>(null);\n const controlRef = useRef<HTMLDivElement | null>(null);\n\n const {\n placeholder,\n onBlur,\n onFocus,\n items,\n onChange,\n value,\n disabled,\n ariaLabel,\n id,\n required,\n dropdownRef,\n form = defaultPropForm,\n view = defaultPropView,\n size = defaultPropSize,\n dropdownClassName,\n name,\n groups = [],\n getItemLabel,\n getItemKey,\n getItemGroupKey,\n getItemDisabled,\n getGroupKey,\n getGroupLabel,\n renderItem,\n allSelectedAllLabel = 'Все',\n searchValue: searchValueProp,\n renderValue: renderValueProp,\n onCreate,\n inputRef: inputRefProp,\n labelForNotFound = defaultLabelForNotFound,\n labelForCreate = defaultLabelForCreate,\n labelForEmptyItems = defaultLabelForEmptyItems,\n searchFunction,\n selectAll,\n isLoading,\n multiple = false,\n style,\n dropdownForm = 'default',\n virtualScroll,\n onScrollToBottom,\n onDropdownOpen,\n onSearchValueChange,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n ...otherProps\n } = usePropsHandler(COMPONENT_NAME, withDefaultGetters(props), controlRef);\n\n const {\n getKeyProps,\n getOptionProps,\n isOpen,\n visibleItems,\n isFocused,\n handleInputFocus,\n handleInputBlur,\n handleToggleDropdown,\n inputRef,\n handleInputClick,\n handleInputChange,\n searchValue,\n clearValue,\n getHandleRemoveValue,\n notFound,\n hasItems,\n optionsRefs,\n allItemsSelected,\n } = useSelect({\n items,\n groups,\n value,\n onChange,\n selectAll,\n dropdownRef: defaultDropdownRef,\n controlRef,\n disabled,\n getItemLabel,\n getItemKey,\n getGroupKey,\n searchValue: searchValueProp,\n getItemGroupKey,\n getItemDisabled,\n multiple,\n onBlur,\n onFocus,\n onCreate,\n searchFunction,\n onDropdownOpen,\n onSearchValueChange,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n });\n\n const inputId = id ? `${id}-input` : id;\n\n const renderItemDefault: ComboboxPropRenderItem<ITEM> = (props) => {\n const { item, active, hovered, onClick, onMouseEnter, ref } = props;\n\n return (\n <SelectItem\n label={getItemLabel(item)}\n active={active}\n hovered={hovered}\n multiple={multiple}\n size={size}\n indent={dropdownForm === 'round' ? 'increased' : 'normal'}\n onClick={onClick}\n onMouseEnter={onMouseEnter}\n disabled={getItemDisabled(item)}\n ref={ref}\n />\n );\n };\n\n const renderValueDefaultMultiple: ComboboxPropRenderValue<ITEM> = ({\n item,\n handleRemove,\n }) => {\n return (\n <SelectValueTag\n label={getItemLabel(item)}\n key={getItemKey(item)}\n size={size}\n disabled={disabled || getItemDisabled(item)}\n handleRemove={handleRemove}\n />\n );\n };\n\n const renderValueDefaultNotMultiple: ComboboxPropRenderValue<ITEM> = (\n props,\n ) => {\n const valueLabel = getItemLabel(props.item);\n\n return (\n <span className={cnSelect('ControlValue')} title={valueLabel}>\n {valueLabel}\n </span>\n );\n };\n\n const renderValue =\n renderValueProp ||\n (multiple ? renderValueDefaultMultiple : renderValueDefaultNotMultiple);\n\n const inputRefForRender = useForkRef([inputRef, inputRefProp]);\n\n const renderControlValue = () => {\n const width = multiple\n ? getInputWidth(controlInnerRef, helperInputFakeElement)\n : undefined;\n return (\n <>\n {isMultipleParams(props) &&\n Array.isArray(props.value) &&\n props.value.map((item) =>\n renderValue({ item, handleRemove: getHandleRemoveValue(item) }),\n )}\n {isNotMultipleParams(props) &&\n isNotNil(props.value) &&\n renderValue({ item: props.value })}\n {(!isNotNil(value) || (Array.isArray(value) && value.length === 0)) &&\n !searchValue &&\n placeholder && (\n <span className={cnSelect('Placeholder')} title=\"placeholder\">\n {placeholder}\n </span>\n )}\n <input\n {...getKeyProps()}\n type=\"text\"\n name={name}\n id={inputId}\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n aria-label={ariaLabel}\n onChange={handleInputChange}\n ref={inputRefForRender}\n className={cnSelect('Input', {\n size,\n hide: !multiple && isNotNil(value),\n multiple,\n })}\n value={searchValue}\n style={{ width }}\n />\n </>\n );\n };\n\n const renderValueList = () => {\n if (allItemsSelected) {\n return (\n <Text\n view=\"primary\"\n size={size}\n className={cnSelect('SelectAll')}\n lineHeight=\"m\"\n >\n {allSelectedAllLabel}\n </Text>\n );\n }\n if (multiple) {\n return (\n <div className={cnSelect('ControlValue')}>{renderControlValue()}</div>\n );\n }\n return renderControlValue();\n };\n\n const isClearButtonVisible = isMultipleParams(props)\n ? isNotNil(props.value) && props.value.length > 0\n : isNotNil(props.value);\n\n return (\n <>\n <SelectContainer\n focused={isFocused}\n disabled={disabled}\n size={size}\n view={view}\n required={required}\n form={form}\n multiple={multiple}\n ref={ref}\n type=\"combobox\"\n style={style}\n id={inputId}\n {...otherProps}\n >\n <div\n className={cnSelect('Control', { hasInput: true })}\n ref={controlRef}\n aria-expanded={isOpen}\n aria-haspopup=\"listbox\"\n id={id}\n >\n <div\n className={cnSelect('ControlInner')}\n onClick={handleInputClick}\n role=\"button\"\n ref={controlInnerRef}\n aria-hidden=\"true\"\n >\n <div className={cnSelect('ControlValueContainer')}>\n {renderValueList()}\n </div>\n </div>\n <span className={cnSelect('Indicators')}>\n {isClearButtonVisible && (\n <button\n type=\"button\"\n onClick={clearValue}\n tabIndex={-1}\n className={cnSelect('ClearIndicator')}\n >\n <IconClear\n size={clearSizeMap[size]}\n className={cnSelect('ClearIndicatorIcon')}\n />\n </button>\n )}\n <span className={cnSelect('Delimiter')} />\n <button\n type=\"button\"\n className={cnSelect('IndicatorsDropdown')}\n tabIndex={-1}\n onClick={handleToggleDropdown}\n >\n <IconSelect\n size={iconSizeMap[size]}\n className={cnSelect('DropdownIndicatorIcon')}\n />\n </button>\n </span>\n </div>\n <div\n className={cnSelect('HelperInputFakeElement')}\n ref={helperInputFakeElement}\n >\n {searchValue}\n </div>\n </SelectContainer>\n <SelectDropdown\n isOpen={isOpen}\n size={size}\n controlRef={controlRef}\n getOptionProps={getOptionProps}\n dropdownRef={useForkRef([dropdownRef, defaultDropdownRef])}\n form={dropdownForm}\n className={dropdownClassName}\n renderItem={renderItem || renderItemDefault}\n getGroupLabel={getGroupLabel}\n visibleItems={visibleItems}\n labelForNotFound={labelForNotFound}\n labelForCreate={labelForCreate}\n isLoading={isLoading}\n labelForEmptyItems={labelForEmptyItems}\n notFound={notFound}\n hasItems={hasItems}\n itemsRefs={optionsRefs}\n virtualScroll={virtualScroll}\n onScrollToBottom={onScrollToBottom}\n style={\n typeof style?.zIndex === 'number'\n ? { zIndex: style.zIndex + 1 }\n : undefined\n }\n />\n </>\n );\n};\n\nexport const Combobox = forwardRef(ComboboxRender) as ComboboxComponent;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Combobox.js","names":["IconClear","IconSelect","React","forwardRef","useRef","usePropsHandler","cnSelect","defaultLabelForCreate","defaultLabelForEmptyItems","defaultLabelForNotFound","getInputWidth","SelectContainer","SelectDropdown","SelectItem","SelectValueTag","defaultPropForm","defaultPropSize","defaultPropView","useSelect","useForkRef","isNotNil","Text","clearSizeMap","iconSizeMap","isMultipleParams","isNotMultipleParams","withDefaultGetters","COMPONENT_NAME","ComboboxRender","props","ref","defaultDropdownRef","controlInnerRef","helperInputFakeElement","controlRef","placeholder","onBlur","onFocus","items","onChange","value","disabled","ariaLabel","id","required","dropdownRef","form","view","size","dropdownClassName","name","groups","getItemLabel","getItemKey","getItemGroupKey","getItemDisabled","getGroupKey","getGroupLabel","renderItem","allSelectedAllLabel","searchValueProp","searchValue","renderValueProp","renderValue","onCreate","inputRefProp","inputRef","labelForNotFound","labelForCreate","labelForEmptyItems","searchFunction","selectAll","isLoading","multiple","style","dropdownForm","virtualScroll","onScrollToBottom","onDropdownOpen","onSearchValueChange","dropdownOpen","ignoreOutsideClicksRefs","dropdownViewportRef","otherProps","getKeyProps","getOptionProps","isOpen","visibleItems","isFocused","handleInputFocus","handleInputBlur","handleToggleDropdown","handleInputClick","handleInputChange","clearValue","getHandleRemoveValue","notFound","hasItems","optionsRefs","allItemsSelected","inputId","renderValueDefaultMultiple","item","handleRemove","renderValueDefaultNotMultiple","valueLabel","inputRefForRender","renderControlValue","width","Array","isArray","map","length","hide","isClearButtonVisible","hasInput","renderValueList","renderItemDefault","active","hovered","onClick","onMouseEnter","zIndex","Combobox"],"sources":["../../../../../src/components/Combobox/Combobox.tsx"],"sourcesContent":["import '##/components/SelectComponents/Select.css';\n\nimport { IconClear } from '@consta/icons/IconClear';\nimport { IconSelect } from '@consta/icons/IconSelect';\nimport React, { forwardRef, useRef } from 'react';\n\nimport { usePropsHandler } from '##/components/EventInterceptor/usePropsHandler';\nimport { cnSelect } from '##/components/SelectComponents/cnSelect';\nimport {\n defaultLabelForCreate,\n defaultLabelForEmptyItems,\n defaultLabelForNotFound,\n getInputWidth,\n} from '##/components/SelectComponents/helpers';\nimport { SelectContainer } from '##/components/SelectComponents/SelectContainer';\nimport { SelectDropdown } from '##/components/SelectComponents/SelectDropdown';\nimport { SelectItem } from '##/components/SelectComponents/SelectItem';\nimport { SelectValueTag } from '##/components/SelectComponents/SelectValueTag';\nimport {\n defaultPropForm,\n defaultPropSize,\n defaultPropView,\n} from '##/components/SelectComponents/types';\nimport { useSelect } from '##/components/SelectComponents/useSelect';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { isNotNil } from '##/utils/type-guards';\n\nimport { Text } from '../Text';\nimport {\n clearSizeMap,\n ComboboxComponent,\n ComboboxGroupDefault,\n ComboboxItemDefault,\n ComboboxPropRenderItem,\n ComboboxPropRenderValue,\n ComboboxProps,\n iconSizeMap,\n isMultipleParams,\n isNotMultipleParams,\n withDefaultGetters,\n} from './helpers';\n\nexport const COMPONENT_NAME = 'Combobox' as const;\n\nconst ComboboxRender = <\n ITEM = ComboboxItemDefault,\n GROUP = ComboboxGroupDefault,\n MULTIPLE extends boolean = false,\n>(\n props: ComboboxProps<ITEM, GROUP, MULTIPLE>,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const defaultDropdownRef = useRef<HTMLDivElement | null>(null);\n const controlInnerRef = useRef<HTMLDivElement>(null);\n const helperInputFakeElement = useRef<HTMLDivElement>(null);\n const controlRef = useRef<HTMLDivElement | null>(null);\n\n const {\n placeholder,\n onBlur,\n onFocus,\n items,\n onChange,\n value,\n disabled,\n ariaLabel,\n id,\n required,\n dropdownRef,\n form = defaultPropForm,\n view = defaultPropView,\n size = defaultPropSize,\n dropdownClassName,\n name,\n groups = [],\n getItemLabel,\n getItemKey,\n getItemGroupKey,\n getItemDisabled,\n getGroupKey,\n getGroupLabel,\n renderItem,\n allSelectedAllLabel = 'Все',\n searchValue: searchValueProp,\n renderValue: renderValueProp,\n onCreate,\n inputRef: inputRefProp,\n labelForNotFound = defaultLabelForNotFound,\n labelForCreate = defaultLabelForCreate,\n labelForEmptyItems = defaultLabelForEmptyItems,\n searchFunction,\n selectAll,\n isLoading,\n multiple = false,\n style,\n dropdownForm = 'default',\n virtualScroll,\n onScrollToBottom,\n onDropdownOpen,\n onSearchValueChange,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n dropdownViewportRef,\n ...otherProps\n } = usePropsHandler(COMPONENT_NAME, withDefaultGetters(props), controlRef);\n\n const {\n getKeyProps,\n getOptionProps,\n isOpen,\n visibleItems,\n isFocused,\n handleInputFocus,\n handleInputBlur,\n handleToggleDropdown,\n inputRef,\n handleInputClick,\n handleInputChange,\n searchValue,\n clearValue,\n getHandleRemoveValue,\n notFound,\n hasItems,\n optionsRefs,\n allItemsSelected,\n } = useSelect({\n items,\n groups,\n value,\n onChange,\n selectAll,\n dropdownRef: defaultDropdownRef,\n controlRef,\n disabled,\n getItemLabel,\n getItemKey,\n getGroupKey,\n searchValue: searchValueProp,\n getItemGroupKey,\n getItemDisabled,\n multiple,\n onBlur,\n onFocus,\n onCreate,\n searchFunction,\n onDropdownOpen,\n onSearchValueChange,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n });\n\n const inputId = id ? `${id}-input` : id;\n\n const renderItemDefault: ComboboxPropRenderItem<ITEM> = (props) => {\n const { item, active, hovered, onClick, onMouseEnter, ref } = props;\n\n return (\n <SelectItem\n label={getItemLabel(item)}\n active={active}\n hovered={hovered}\n multiple={multiple}\n size={size}\n indent={dropdownForm === 'round' ? 'increased' : 'normal'}\n onClick={onClick}\n onMouseEnter={onMouseEnter}\n disabled={getItemDisabled(item)}\n ref={ref}\n />\n );\n };\n\n const renderValueDefaultMultiple: ComboboxPropRenderValue<ITEM> = ({\n item,\n handleRemove,\n }) => {\n return (\n <SelectValueTag\n label={getItemLabel(item)}\n key={getItemKey(item)}\n size={size}\n disabled={disabled || getItemDisabled(item)}\n handleRemove={handleRemove}\n />\n );\n };\n\n const renderValueDefaultNotMultiple: ComboboxPropRenderValue<ITEM> = (\n props,\n ) => {\n const valueLabel = getItemLabel(props.item);\n\n return (\n <span className={cnSelect('ControlValue')} title={valueLabel}>\n {valueLabel}\n </span>\n );\n };\n\n const renderValue =\n renderValueProp ||\n (multiple ? renderValueDefaultMultiple : renderValueDefaultNotMultiple);\n\n const inputRefForRender = useForkRef([inputRef, inputRefProp]);\n\n const renderControlValue = () => {\n const width = multiple\n ? getInputWidth(controlInnerRef, helperInputFakeElement)\n : undefined;\n return (\n <>\n {isMultipleParams(props) &&\n Array.isArray(props.value) &&\n props.value.map((item) =>\n renderValue({ item, handleRemove: getHandleRemoveValue(item) }),\n )}\n {isNotMultipleParams(props) &&\n isNotNil(props.value) &&\n renderValue({ item: props.value })}\n {(!isNotNil(value) || (Array.isArray(value) && value.length === 0)) &&\n !searchValue &&\n placeholder && (\n <span className={cnSelect('Placeholder')} title=\"placeholder\">\n {placeholder}\n </span>\n )}\n <input\n {...getKeyProps()}\n type=\"text\"\n name={name}\n id={inputId}\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n aria-label={ariaLabel}\n onChange={handleInputChange}\n ref={inputRefForRender}\n className={cnSelect('Input', {\n size,\n hide: !multiple && isNotNil(value),\n multiple,\n })}\n value={searchValue}\n style={{ width }}\n />\n </>\n );\n };\n\n const renderValueList = () => {\n if (allItemsSelected) {\n return (\n <Text\n view=\"primary\"\n size={size}\n className={cnSelect('SelectAll')}\n lineHeight=\"m\"\n >\n {allSelectedAllLabel}\n </Text>\n );\n }\n if (multiple) {\n return (\n <div className={cnSelect('ControlValue')}>{renderControlValue()}</div>\n );\n }\n return renderControlValue();\n };\n\n const isClearButtonVisible = isMultipleParams(props)\n ? isNotNil(props.value) && props.value.length > 0\n : isNotNil(props.value);\n\n return (\n <>\n <SelectContainer\n focused={isFocused}\n disabled={disabled}\n size={size}\n view={view}\n required={required}\n form={form}\n multiple={multiple}\n ref={ref}\n type=\"combobox\"\n style={style}\n id={inputId}\n {...otherProps}\n >\n <div\n className={cnSelect('Control', { hasInput: true })}\n ref={controlRef}\n aria-expanded={isOpen}\n aria-haspopup=\"listbox\"\n id={id}\n >\n <div\n className={cnSelect('ControlInner')}\n onClick={handleInputClick}\n role=\"button\"\n ref={controlInnerRef}\n aria-hidden=\"true\"\n >\n <div className={cnSelect('ControlValueContainer')}>\n {renderValueList()}\n </div>\n </div>\n <span className={cnSelect('Indicators')}>\n {isClearButtonVisible && (\n <button\n type=\"button\"\n onClick={clearValue}\n tabIndex={-1}\n className={cnSelect('ClearIndicator')}\n >\n <IconClear\n size={clearSizeMap[size]}\n className={cnSelect('ClearIndicatorIcon')}\n />\n </button>\n )}\n <span className={cnSelect('Delimiter')} />\n <button\n type=\"button\"\n className={cnSelect('IndicatorsDropdown')}\n tabIndex={-1}\n onClick={handleToggleDropdown}\n >\n <IconSelect\n size={iconSizeMap[size]}\n className={cnSelect('DropdownIndicatorIcon')}\n />\n </button>\n </span>\n </div>\n <div\n className={cnSelect('HelperInputFakeElement')}\n ref={helperInputFakeElement}\n >\n {searchValue}\n </div>\n </SelectContainer>\n <SelectDropdown\n viewportRef={dropdownViewportRef}\n isOpen={isOpen}\n size={size}\n controlRef={controlRef}\n getOptionProps={getOptionProps}\n dropdownRef={useForkRef([dropdownRef, defaultDropdownRef])}\n form={dropdownForm}\n className={dropdownClassName}\n renderItem={renderItem || renderItemDefault}\n getGroupLabel={getGroupLabel}\n visibleItems={visibleItems}\n labelForNotFound={labelForNotFound}\n labelForCreate={labelForCreate}\n isLoading={isLoading}\n labelForEmptyItems={labelForEmptyItems}\n notFound={notFound}\n hasItems={hasItems}\n itemsRefs={optionsRefs}\n virtualScroll={virtualScroll}\n onScrollToBottom={onScrollToBottom}\n style={\n typeof style?.zIndex === 'number'\n ? { zIndex: style.zIndex + 1 }\n : undefined\n }\n />\n </>\n );\n};\n\nexport const Combobox = forwardRef(ComboboxRender) as ComboboxComponent;\n"],"mappings":"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"}
@@ -77,6 +77,7 @@ export type ComboboxProps<ITEM = ComboboxItemDefault, GROUP = ComboboxGroupDefau
77
77
  onSearchValueChange?: (value: string) => void;
78
78
  onDropdownOpen?: (isOpen: boolean) => void;
79
79
  dropdownOpen?: boolean;
80
+ dropdownViewportRef?: React.RefObject<HTMLElement>;
80
81
  ignoreOutsideClicksRefs?: ReadonlyArray<React.RefObject<HTMLElement>>;
81
82
  }, HTMLDivElement> & (MULTIPLE extends true ? {
82
83
  selectAll?: boolean;
@@ -155,8 +156,9 @@ export declare function withDefaultGetters<ITEM = ComboboxItemDefault, GROUP = C
155
156
  onSearchValueChange?: (value: string) => void;
156
157
  onDropdownOpen?: (isOpen: boolean) => void;
157
158
  dropdownOpen?: boolean;
159
+ dropdownViewportRef?: React.RefObject<HTMLElement>;
158
160
  ignoreOutsideClicksRefs?: ReadonlyArray<React.RefObject<HTMLElement>>;
159
- } & Omit<React.HTMLAttributes<HTMLDivElement>, "css" | "onFocus" | "onBlur" | "onChange" | "size" | "view" | "form" | "status" | "caption" | "label" | "name" | "disabled" | "value" | "multiple" | "placeholder" | "required" | "inputRef" | "items" | "dropdownForm" | "ariaLabel" | "dropdownClassName" | "dropdownRef" | "isLoading" | "labelForEmptyItems" | "renderItem" | "renderValue" | "groups" | "getItemLabel" | "getItemKey" | "getItemGroupKey" | "getItemDisabled" | "getGroupLabel" | "getGroupKey" | "labelIcon" | "labelPosition" | "onScrollToBottom" | "labelForCreate" | "searchFunction" | "searchValue" | "onDropdownOpen" | "onSearchValueChange" | "dropdownOpen" | "ignoreOutsideClicksRefs" | "labelForNotFound" | "virtualScroll" | "onCreate"> & React.RefAttributes<HTMLDivElement> & (MULTIPLE extends true ? {
161
+ } & Omit<React.HTMLAttributes<HTMLDivElement>, "css" | "onFocus" | "onBlur" | "onChange" | "size" | "view" | "form" | "status" | "caption" | "label" | "name" | "disabled" | "value" | "multiple" | "placeholder" | "required" | "inputRef" | "items" | "dropdownForm" | "ariaLabel" | "dropdownClassName" | "dropdownRef" | "isLoading" | "labelForEmptyItems" | "renderItem" | "renderValue" | "groups" | "getItemLabel" | "getItemKey" | "getItemGroupKey" | "getItemDisabled" | "getGroupLabel" | "getGroupKey" | "labelIcon" | "labelPosition" | "onScrollToBottom" | "labelForCreate" | "searchFunction" | "searchValue" | "onDropdownOpen" | "onSearchValueChange" | "dropdownOpen" | "ignoreOutsideClicksRefs" | "labelForNotFound" | "virtualScroll" | "dropdownViewportRef" | "onCreate"> & React.RefAttributes<HTMLDivElement> & (MULTIPLE extends true ? {
160
162
  selectAll?: boolean;
161
163
  allSelectedAllLabel?: string;
162
164
  } : {
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","names":["defaultGetItemKey","item","id","defaultGetItemLabel","label","defaultGetItemGroupKey","groupId","defaultGetItemDisabled","disabled","defaultGetGroupKey","group","defaultGetGroupLabel","isMultipleParams","params","multiple","isNotMultipleParams","withDefaultGetters","props","getItemLabel","getItemKey","getItemGroupKey","getItemDisabled","getGroupLabel","getGroupKey","clearSizeMap","xs","s","m","l","iconSizeMap"],"sources":["../../../../../src/components/Combobox/helpers.ts"],"sourcesContent":["import { IconComponent, IconPropSize } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport {\n PropForm,\n PropSize,\n PropStatus,\n PropView,\n RenderItemProps,\n} from '##/components/SelectComponents/types';\nimport { PropsWithHTMLAttributesAndRef } from '##/utils/types/PropsWithHTMLAttributes';\n\nexport type ComboboxItemDefault = {\n label: string;\n id: string | number;\n groupId?: string | number;\n disabled?: boolean;\n};\n\nexport type ComboboxGroupDefault = {\n label: string;\n id: string | number;\n};\n\ntype RenderValueProps<ITEM> = {\n item: ITEM;\n handleRemove?: (e: React.SyntheticEvent) => void;\n};\n\nexport type ComboboxPropGetItemLabel<ITEM> = (item: ITEM) => string;\nexport type ComboboxPropGetItemKey<ITEM> = (item: ITEM) => string | number;\nexport type ComboboxPropGetItemGroupKey<ITEM> = (\n item: ITEM,\n) => string | number | undefined;\nexport type ComboboxPropGetItemDisabled<ITEM> = (\n item: ITEM,\n) => boolean | undefined;\nexport type ComboboxPropGetGroupKey<GROUP> = (group: GROUP) => string | number;\nexport type ComboboxPropGetGroupLabel<GROUP> = (group: GROUP) => string;\ntype ComboboxPropSearchFunction<ITEM> = (\n item: ITEM,\n searchValue: string,\n) => boolean;\ntype ComboboxPropOnChange<ITEM, MULTIPLE extends boolean> = (\n value: (MULTIPLE extends true ? ITEM[] : ITEM) | null,\n props: {\n e: React.SyntheticEvent;\n },\n) => void;\ntype ComboboxPropValue<ITEM, MULTIPLE extends boolean> =\n | (MULTIPLE extends true ? ITEM[] : ITEM)\n | null\n | undefined;\n\nexport type ComboboxPropRenderItem<ITEM> = (\n props: RenderItemProps<ITEM>,\n) => React.ReactNode | null;\nexport type ComboboxPropRenderValue<ITEM> = (\n props: RenderValueProps<ITEM>,\n) => React.ReactNode | null;\n\ntype ComboboxPropOnCreate = (\n label: string,\n props: { e: React.SyntheticEvent },\n) => void;\n\nexport type ComboboxProps<\n ITEM = ComboboxItemDefault,\n GROUP = ComboboxGroupDefault,\n MULTIPLE extends boolean = false,\n> = PropsWithHTMLAttributesAndRef<\n {\n items: ITEM[];\n onChange: ComboboxPropOnChange<ITEM, MULTIPLE>;\n disabled?: boolean;\n form?: PropForm;\n dropdownForm?: 'default' | 'brick' | 'round';\n size?: PropSize;\n view?: PropView;\n placeholder?: string;\n ariaLabel?: string;\n status?: PropStatus;\n isLoading?: boolean;\n dropdownClassName?: string;\n dropdownRef?: React.Ref<HTMLDivElement>;\n name?: string;\n renderItem?: ComboboxPropRenderItem<ITEM>;\n renderValue?: ComboboxPropRenderValue<ITEM>;\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n onCreate?: ComboboxPropOnCreate;\n inputRef?: React.Ref<HTMLInputElement>;\n labelForNotFound?: string;\n required?: boolean;\n labelForCreate?: string;\n labelForEmptyItems?: string;\n searchFunction?: ComboboxPropSearchFunction<ITEM>;\n searchValue?: string;\n multiple?: MULTIPLE;\n value?: ComboboxPropValue<ITEM, MULTIPLE>;\n groups?: GROUP[];\n getItemLabel?: ComboboxPropGetItemLabel<ITEM>;\n getItemKey?: ComboboxPropGetItemKey<ITEM>;\n getItemGroupKey?: ComboboxPropGetItemGroupKey<ITEM>;\n getItemDisabled?: ComboboxPropGetItemDisabled<ITEM>;\n getGroupLabel?: ComboboxPropGetGroupLabel<GROUP>;\n getGroupKey?: ComboboxPropGetGroupKey<GROUP>;\n label?: string;\n labelIcon?: IconComponent;\n caption?: string;\n labelPosition?: 'top' | 'left';\n virtualScroll?: boolean;\n onScrollToBottom?: (length: number) => void;\n onSearchValueChange?: (value: string) => void;\n onDropdownOpen?: (isOpen: boolean) => void;\n dropdownOpen?: boolean;\n ignoreOutsideClicksRefs?: ReadonlyArray<React.RefObject<HTMLElement>>;\n },\n HTMLDivElement\n> &\n (MULTIPLE extends true\n ? {\n selectAll?: boolean;\n allSelectedAllLabel?: string;\n }\n : {\n selectAll?: never;\n allSelectedAllLabel?: never;\n }) &\n (ITEM extends { label: ComboboxItemDefault['label'] }\n ? {}\n : { getItemLabel: ComboboxPropGetItemLabel<ITEM> }) &\n (ITEM extends { id: ComboboxItemDefault['id'] }\n ? {}\n : { getItemKey: ComboboxPropGetItemKey<ITEM> }) &\n (GROUP extends { label: ComboboxGroupDefault['label'] }\n ? {}\n : { getGroupLabel: ComboboxPropGetGroupLabel<GROUP> }) &\n (GROUP extends { id: ComboboxGroupDefault['id'] }\n ? {}\n : { getGroupKey: ComboboxPropGetGroupKey<GROUP> });\n\nexport type ComboboxComponent = <\n ITEM = ComboboxItemDefault,\n GROUP = ComboboxGroupDefault,\n MULTIPLE extends boolean = false,\n>(\n props: ComboboxProps<ITEM, GROUP, MULTIPLE>,\n) => React.ReactNode | null;\n\nexport const defaultGetItemKey: ComboboxPropGetItemKey<ComboboxItemDefault> = (\n item,\n) => item.id;\nexport const defaultGetItemLabel: ComboboxPropGetItemLabel<\n ComboboxItemDefault\n> = (item) => item.label;\nexport const defaultGetItemGroupKey: ComboboxPropGetItemGroupKey<\n ComboboxItemDefault\n> = (item) => item.groupId;\nexport const defaultGetItemDisabled: ComboboxPropGetItemDisabled<\n ComboboxItemDefault\n> = (item) => item.disabled;\n\nexport const defaultGetGroupKey: ComboboxPropGetGroupKey<\n ComboboxGroupDefault\n> = (group) => group.id;\nexport const defaultGetGroupLabel: ComboboxPropGetGroupLabel<\n ComboboxGroupDefault\n> = (group) => group.label;\n\nexport const isMultipleParams = <ITEM, GROUP>(\n params: ComboboxProps<ITEM, GROUP, boolean>,\n): params is ComboboxProps<ITEM, GROUP, true> => {\n return !!params.multiple;\n};\n\nexport const isNotMultipleParams = <ITEM, GROUP>(\n params: ComboboxProps<ITEM, GROUP, boolean>,\n): params is ComboboxProps<ITEM, GROUP, false> => {\n return !params.multiple;\n};\n\nexport function withDefaultGetters<\n ITEM = ComboboxItemDefault,\n GROUP = ComboboxGroupDefault,\n MULTIPLE extends boolean = false,\n>(props: ComboboxProps<ITEM, GROUP, MULTIPLE>) {\n return {\n ...props,\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n getItemKey: props.getItemKey || defaultGetItemKey,\n getItemGroupKey: props.getItemGroupKey || defaultGetItemGroupKey,\n getItemDisabled: props.getItemDisabled || defaultGetItemDisabled,\n getGroupLabel: props.getGroupLabel || defaultGetGroupLabel,\n getGroupKey: props.getGroupKey || defaultGetGroupKey,\n };\n}\n\nexport const clearSizeMap: Record<PropSize, IconPropSize> = {\n xs: 'xs',\n s: 's',\n m: 's',\n l: 'm',\n};\n\nexport const iconSizeMap: Record<PropSize, IconPropSize> = {\n xs: 'xs',\n s: 's',\n m: 'm',\n l: 'm',\n};\n"],"mappings":"qqBAsJA,MAAO,IAAMA,kBAA8D,CAAG,SAC5EC,CAD4E,QAEzEA,EAAI,CAACC,EAFoE,CAAvE,CAGP,MAAO,IAAMC,oBAEZ,CAAG,SAACF,CAAD,QAAUA,EAAI,CAACG,KAAf,CAFG,CAGP,MAAO,IAAMC,uBAEZ,CAAG,SAACJ,CAAD,QAAUA,EAAI,CAACK,OAAf,CAFG,CAGP,MAAO,IAAMC,uBAEZ,CAAG,SAACN,CAAD,QAAUA,EAAI,CAACO,QAAf,CAFG,CAIP,MAAO,IAAMC,mBAEZ,CAAG,SAACC,CAAD,QAAWA,EAAK,CAACR,EAAjB,CAFG,CAGP,MAAO,IAAMS,qBAEZ,CAAG,SAACD,CAAD,QAAWA,EAAK,CAACN,KAAjB,CAFG,CAIP,MAAO,IAAMQ,iBAAgB,CAAG,SAC9BC,CAD8B,CAEiB,CAC/C,MAAO,CAAC,CAACA,CAAM,CAACC,QACjB,CAJM,CAMP,MAAO,IAAMC,oBAAmB,CAAG,SACjCF,CADiC,CAEe,CAChD,MAAO,CAACA,CAAM,CAACC,QAChB,CAJM,CAMP,MAAO,SAASE,mBAAT,CAILC,CAJK,CAIwC,CAC7C,sCACKA,CADL,MAEEC,YAAY,CAAED,CAAK,CAACC,YAAN,EAAsBf,mBAFtC,CAGEgB,UAAU,CAAEF,CAAK,CAACE,UAAN,EAAoBnB,iBAHlC,CAIEoB,eAAe,CAAEH,CAAK,CAACG,eAAN,EAAyBf,sBAJ5C,CAKEgB,eAAe,CAAEJ,CAAK,CAACI,eAAN,EAAyBd,sBAL5C,CAMEe,aAAa,CAAEL,CAAK,CAACK,aAAN,EAAuBX,oBANxC,CAOEY,WAAW,CAAEN,CAAK,CAACM,WAAN,EAAqBd,kBAPpC,EASD,CAED,MAAO,IAAMe,aAA4C,CAAG,CAC1DC,EAAE,CAAE,IADsD,CAE1DC,CAAC,CAAE,GAFuD,CAG1DC,CAAC,CAAE,GAHuD,CAI1DC,CAAC,CAAE,GAJuD,CAArD,CAOP,MAAO,IAAMC,YAA2C,CAAG,CACzDJ,EAAE,CAAE,IADqD,CAEzDC,CAAC,CAAE,GAFsD,CAGzDC,CAAC,CAAE,GAHsD,CAIzDC,CAAC,CAAE,GAJsD,CAApD"}
1
+ {"version":3,"file":"helpers.js","names":["defaultGetItemKey","item","id","defaultGetItemLabel","label","defaultGetItemGroupKey","groupId","defaultGetItemDisabled","disabled","defaultGetGroupKey","group","defaultGetGroupLabel","isMultipleParams","params","multiple","isNotMultipleParams","withDefaultGetters","props","getItemLabel","getItemKey","getItemGroupKey","getItemDisabled","getGroupLabel","getGroupKey","clearSizeMap","xs","s","m","l","iconSizeMap"],"sources":["../../../../../src/components/Combobox/helpers.ts"],"sourcesContent":["import { IconComponent, IconPropSize } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport {\n PropForm,\n PropSize,\n PropStatus,\n PropView,\n RenderItemProps,\n} from '##/components/SelectComponents/types';\nimport { PropsWithHTMLAttributesAndRef } from '##/utils/types/PropsWithHTMLAttributes';\n\nexport type ComboboxItemDefault = {\n label: string;\n id: string | number;\n groupId?: string | number;\n disabled?: boolean;\n};\n\nexport type ComboboxGroupDefault = {\n label: string;\n id: string | number;\n};\n\ntype RenderValueProps<ITEM> = {\n item: ITEM;\n handleRemove?: (e: React.SyntheticEvent) => void;\n};\n\nexport type ComboboxPropGetItemLabel<ITEM> = (item: ITEM) => string;\nexport type ComboboxPropGetItemKey<ITEM> = (item: ITEM) => string | number;\nexport type ComboboxPropGetItemGroupKey<ITEM> = (\n item: ITEM,\n) => string | number | undefined;\nexport type ComboboxPropGetItemDisabled<ITEM> = (\n item: ITEM,\n) => boolean | undefined;\nexport type ComboboxPropGetGroupKey<GROUP> = (group: GROUP) => string | number;\nexport type ComboboxPropGetGroupLabel<GROUP> = (group: GROUP) => string;\ntype ComboboxPropSearchFunction<ITEM> = (\n item: ITEM,\n searchValue: string,\n) => boolean;\ntype ComboboxPropOnChange<ITEM, MULTIPLE extends boolean> = (\n value: (MULTIPLE extends true ? ITEM[] : ITEM) | null,\n props: {\n e: React.SyntheticEvent;\n },\n) => void;\ntype ComboboxPropValue<ITEM, MULTIPLE extends boolean> =\n | (MULTIPLE extends true ? ITEM[] : ITEM)\n | null\n | undefined;\n\nexport type ComboboxPropRenderItem<ITEM> = (\n props: RenderItemProps<ITEM>,\n) => React.ReactNode | null;\nexport type ComboboxPropRenderValue<ITEM> = (\n props: RenderValueProps<ITEM>,\n) => React.ReactNode | null;\n\ntype ComboboxPropOnCreate = (\n label: string,\n props: { e: React.SyntheticEvent },\n) => void;\n\nexport type ComboboxProps<\n ITEM = ComboboxItemDefault,\n GROUP = ComboboxGroupDefault,\n MULTIPLE extends boolean = false,\n> = PropsWithHTMLAttributesAndRef<\n {\n items: ITEM[];\n onChange: ComboboxPropOnChange<ITEM, MULTIPLE>;\n disabled?: boolean;\n form?: PropForm;\n dropdownForm?: 'default' | 'brick' | 'round';\n size?: PropSize;\n view?: PropView;\n placeholder?: string;\n ariaLabel?: string;\n status?: PropStatus;\n isLoading?: boolean;\n dropdownClassName?: string;\n dropdownRef?: React.Ref<HTMLDivElement>;\n name?: string;\n renderItem?: ComboboxPropRenderItem<ITEM>;\n renderValue?: ComboboxPropRenderValue<ITEM>;\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n onCreate?: ComboboxPropOnCreate;\n inputRef?: React.Ref<HTMLInputElement>;\n labelForNotFound?: string;\n required?: boolean;\n labelForCreate?: string;\n labelForEmptyItems?: string;\n searchFunction?: ComboboxPropSearchFunction<ITEM>;\n searchValue?: string;\n multiple?: MULTIPLE;\n value?: ComboboxPropValue<ITEM, MULTIPLE>;\n groups?: GROUP[];\n getItemLabel?: ComboboxPropGetItemLabel<ITEM>;\n getItemKey?: ComboboxPropGetItemKey<ITEM>;\n getItemGroupKey?: ComboboxPropGetItemGroupKey<ITEM>;\n getItemDisabled?: ComboboxPropGetItemDisabled<ITEM>;\n getGroupLabel?: ComboboxPropGetGroupLabel<GROUP>;\n getGroupKey?: ComboboxPropGetGroupKey<GROUP>;\n label?: string;\n labelIcon?: IconComponent;\n caption?: string;\n labelPosition?: 'top' | 'left';\n virtualScroll?: boolean;\n onScrollToBottom?: (length: number) => void;\n onSearchValueChange?: (value: string) => void;\n onDropdownOpen?: (isOpen: boolean) => void;\n dropdownOpen?: boolean;\n dropdownViewportRef?: React.RefObject<HTMLElement>;\n ignoreOutsideClicksRefs?: ReadonlyArray<React.RefObject<HTMLElement>>;\n },\n HTMLDivElement\n> &\n (MULTIPLE extends true\n ? {\n selectAll?: boolean;\n allSelectedAllLabel?: string;\n }\n : {\n selectAll?: never;\n allSelectedAllLabel?: never;\n }) &\n (ITEM extends { label: ComboboxItemDefault['label'] }\n ? {}\n : { getItemLabel: ComboboxPropGetItemLabel<ITEM> }) &\n (ITEM extends { id: ComboboxItemDefault['id'] }\n ? {}\n : { getItemKey: ComboboxPropGetItemKey<ITEM> }) &\n (GROUP extends { label: ComboboxGroupDefault['label'] }\n ? {}\n : { getGroupLabel: ComboboxPropGetGroupLabel<GROUP> }) &\n (GROUP extends { id: ComboboxGroupDefault['id'] }\n ? {}\n : { getGroupKey: ComboboxPropGetGroupKey<GROUP> });\n\nexport type ComboboxComponent = <\n ITEM = ComboboxItemDefault,\n GROUP = ComboboxGroupDefault,\n MULTIPLE extends boolean = false,\n>(\n props: ComboboxProps<ITEM, GROUP, MULTIPLE>,\n) => React.ReactNode | null;\n\nexport const defaultGetItemKey: ComboboxPropGetItemKey<ComboboxItemDefault> = (\n item,\n) => item.id;\nexport const defaultGetItemLabel: ComboboxPropGetItemLabel<\n ComboboxItemDefault\n> = (item) => item.label;\nexport const defaultGetItemGroupKey: ComboboxPropGetItemGroupKey<\n ComboboxItemDefault\n> = (item) => item.groupId;\nexport const defaultGetItemDisabled: ComboboxPropGetItemDisabled<\n ComboboxItemDefault\n> = (item) => item.disabled;\n\nexport const defaultGetGroupKey: ComboboxPropGetGroupKey<\n ComboboxGroupDefault\n> = (group) => group.id;\nexport const defaultGetGroupLabel: ComboboxPropGetGroupLabel<\n ComboboxGroupDefault\n> = (group) => group.label;\n\nexport const isMultipleParams = <ITEM, GROUP>(\n params: ComboboxProps<ITEM, GROUP, boolean>,\n): params is ComboboxProps<ITEM, GROUP, true> => {\n return !!params.multiple;\n};\n\nexport const isNotMultipleParams = <ITEM, GROUP>(\n params: ComboboxProps<ITEM, GROUP, boolean>,\n): params is ComboboxProps<ITEM, GROUP, false> => {\n return !params.multiple;\n};\n\nexport function withDefaultGetters<\n ITEM = ComboboxItemDefault,\n GROUP = ComboboxGroupDefault,\n MULTIPLE extends boolean = false,\n>(props: ComboboxProps<ITEM, GROUP, MULTIPLE>) {\n return {\n ...props,\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n getItemKey: props.getItemKey || defaultGetItemKey,\n getItemGroupKey: props.getItemGroupKey || defaultGetItemGroupKey,\n getItemDisabled: props.getItemDisabled || defaultGetItemDisabled,\n getGroupLabel: props.getGroupLabel || defaultGetGroupLabel,\n getGroupKey: props.getGroupKey || defaultGetGroupKey,\n };\n}\n\nexport const clearSizeMap: Record<PropSize, IconPropSize> = {\n xs: 'xs',\n s: 's',\n m: 's',\n l: 'm',\n};\n\nexport const iconSizeMap: Record<PropSize, IconPropSize> = {\n xs: 'xs',\n s: 's',\n m: 'm',\n l: 'm',\n};\n"],"mappings":"qqBAuJA,MAAO,IAAMA,kBAA8D,CAAG,SAC5EC,CAD4E,QAEzEA,EAAI,CAACC,EAFoE,CAAvE,CAGP,MAAO,IAAMC,oBAEZ,CAAG,SAACF,CAAD,QAAUA,EAAI,CAACG,KAAf,CAFG,CAGP,MAAO,IAAMC,uBAEZ,CAAG,SAACJ,CAAD,QAAUA,EAAI,CAACK,OAAf,CAFG,CAGP,MAAO,IAAMC,uBAEZ,CAAG,SAACN,CAAD,QAAUA,EAAI,CAACO,QAAf,CAFG,CAIP,MAAO,IAAMC,mBAEZ,CAAG,SAACC,CAAD,QAAWA,EAAK,CAACR,EAAjB,CAFG,CAGP,MAAO,IAAMS,qBAEZ,CAAG,SAACD,CAAD,QAAWA,EAAK,CAACN,KAAjB,CAFG,CAIP,MAAO,IAAMQ,iBAAgB,CAAG,SAC9BC,CAD8B,CAEiB,CAC/C,MAAO,CAAC,CAACA,CAAM,CAACC,QACjB,CAJM,CAMP,MAAO,IAAMC,oBAAmB,CAAG,SACjCF,CADiC,CAEe,CAChD,MAAO,CAACA,CAAM,CAACC,QAChB,CAJM,CAMP,MAAO,SAASE,mBAAT,CAILC,CAJK,CAIwC,CAC7C,sCACKA,CADL,MAEEC,YAAY,CAAED,CAAK,CAACC,YAAN,EAAsBf,mBAFtC,CAGEgB,UAAU,CAAEF,CAAK,CAACE,UAAN,EAAoBnB,iBAHlC,CAIEoB,eAAe,CAAEH,CAAK,CAACG,eAAN,EAAyBf,sBAJ5C,CAKEgB,eAAe,CAAEJ,CAAK,CAACI,eAAN,EAAyBd,sBAL5C,CAMEe,aAAa,CAAEL,CAAK,CAACK,aAAN,EAAuBX,oBANxC,CAOEY,WAAW,CAAEN,CAAK,CAACM,WAAN,EAAqBd,kBAPpC,EASD,CAED,MAAO,IAAMe,aAA4C,CAAG,CAC1DC,EAAE,CAAE,IADsD,CAE1DC,CAAC,CAAE,GAFuD,CAG1DC,CAAC,CAAE,GAHuD,CAI1DC,CAAC,CAAE,GAJuD,CAArD,CAOP,MAAO,IAAMC,YAA2C,CAAG,CACzDJ,EAAE,CAAE,IADqD,CAEzDC,CAAC,CAAE,GAFsD,CAGzDC,CAAC,CAAE,GAHsD,CAIzDC,CAAC,CAAE,GAJsD,CAApD"}