@consta/uikit 5.11.0 → 5.12.0

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 (73) hide show
  1. package/__internal__/src/components/AutoCompleteCanary/AutoComplete.d.ts +3 -0
  2. package/__internal__/src/components/AutoCompleteCanary/AutoComplete.js +2 -0
  3. package/__internal__/src/components/AutoCompleteCanary/AutoComplete.js.map +1 -0
  4. package/__internal__/src/components/AutoCompleteCanary/AutoCompleteTypeText/AutoCompleteTypeText.d.ts +2 -0
  5. package/__internal__/src/components/AutoCompleteCanary/AutoCompleteTypeText/AutoCompleteTypeText.js +2 -0
  6. package/__internal__/src/components/AutoCompleteCanary/AutoCompleteTypeText/AutoCompleteTypeText.js.map +1 -0
  7. package/__internal__/src/components/AutoCompleteCanary/AutoCompleteTypeText/index.d.ts +1 -0
  8. package/__internal__/src/components/AutoCompleteCanary/AutoCompleteTypeText/index.js +2 -0
  9. package/__internal__/src/components/AutoCompleteCanary/AutoCompleteTypeText/index.js.map +1 -0
  10. package/__internal__/src/components/AutoCompleteCanary/AutoCompleteTypeTextArray/AutoCompleteTypeTextArray.d.ts +2 -0
  11. package/__internal__/src/components/AutoCompleteCanary/AutoCompleteTypeTextArray/AutoCompleteTypeTextArray.js +2 -0
  12. package/__internal__/src/components/AutoCompleteCanary/AutoCompleteTypeTextArray/AutoCompleteTypeTextArray.js.map +1 -0
  13. package/__internal__/src/components/AutoCompleteCanary/AutoCompleteTypeTextArray/index.d.ts +1 -0
  14. package/__internal__/src/components/AutoCompleteCanary/AutoCompleteTypeTextArray/index.js +2 -0
  15. package/__internal__/src/components/AutoCompleteCanary/AutoCompleteTypeTextArray/index.js.map +1 -0
  16. package/__internal__/src/components/AutoCompleteCanary/helpers.d.ts +47 -0
  17. package/__internal__/src/components/AutoCompleteCanary/helpers.js +2 -0
  18. package/__internal__/src/components/AutoCompleteCanary/helpers.js.map +1 -0
  19. package/__internal__/src/components/AutoCompleteCanary/index.d.ts +2 -0
  20. package/__internal__/src/components/AutoCompleteCanary/index.js +2 -0
  21. package/__internal__/src/components/AutoCompleteCanary/index.js.map +1 -0
  22. package/__internal__/src/components/AutoCompleteCanary/types.d.ts +58 -0
  23. package/__internal__/src/components/AutoCompleteCanary/types.js +2 -0
  24. package/__internal__/src/components/AutoCompleteCanary/types.js.map +1 -0
  25. package/__internal__/src/components/AutoCompleteCanary/useAutoComplete.d.ts +47 -0
  26. package/__internal__/src/components/AutoCompleteCanary/useAutoComplete.js +2 -0
  27. package/__internal__/src/components/AutoCompleteCanary/useAutoComplete.js.map +1 -0
  28. package/__internal__/src/components/AutoCompleteCanary/useRenderItemDefault.d.ts +4 -0
  29. package/__internal__/src/components/AutoCompleteCanary/useRenderItemDefault.js +2 -0
  30. package/__internal__/src/components/AutoCompleteCanary/useRenderItemDefault.js.map +1 -0
  31. package/__internal__/src/components/ComboboxDeprecated/helpers.d.ts +1 -1
  32. package/__internal__/src/components/DatePicker/DatePickerDropdown/DatePickerDropdown.d.ts +2 -0
  33. package/__internal__/src/components/DatePicker/DatePickerDropdown/DatePickerDropdown.js.map +1 -1
  34. package/__internal__/src/components/DatePicker/DatePickerTypeDate/DatePickerTypeDate.js +1 -1
  35. package/__internal__/src/components/DatePicker/DatePickerTypeDate/DatePickerTypeDate.js.map +1 -1
  36. package/__internal__/src/components/DatePicker/DatePickerTypeDateRange/DatePickerTypeDateRange.js +1 -1
  37. package/__internal__/src/components/DatePicker/DatePickerTypeDateRange/DatePickerTypeDateRange.js.map +1 -1
  38. package/__internal__/src/components/DatePicker/DatePickerTypeDateTime/DatePickerTypeDateTime.js +1 -1
  39. package/__internal__/src/components/DatePicker/DatePickerTypeDateTime/DatePickerTypeDateTime.js.map +1 -1
  40. package/__internal__/src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.js +1 -1
  41. package/__internal__/src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.js.map +1 -1
  42. package/__internal__/src/components/DatePicker/DatePickerTypeMonth/DatePickerTypeMonth.js +1 -1
  43. package/__internal__/src/components/DatePicker/DatePickerTypeMonth/DatePickerTypeMonth.js.map +1 -1
  44. package/__internal__/src/components/DatePicker/DatePickerTypeMonthRange/DatePickerTypeMonthRange.js +1 -1
  45. package/__internal__/src/components/DatePicker/DatePickerTypeMonthRange/DatePickerTypeMonthRange.js.map +1 -1
  46. package/__internal__/src/components/DatePicker/DatePickerTypeTime/DatePickerTypeTime.js +1 -1
  47. package/__internal__/src/components/DatePicker/DatePickerTypeTime/DatePickerTypeTime.js.map +1 -1
  48. package/__internal__/src/components/DatePicker/DatePickerTypeYear/DatePickerTypeYear.js +1 -1
  49. package/__internal__/src/components/DatePicker/DatePickerTypeYear/DatePickerTypeYear.js.map +1 -1
  50. package/__internal__/src/components/DatePicker/DatePickerTypeYearRange/DatePickerTypeYearRange.js +1 -1
  51. package/__internal__/src/components/DatePicker/DatePickerTypeYearRange/DatePickerTypeYearRange.js.map +1 -1
  52. package/__internal__/src/components/DatePicker/types.d.ts +2 -1
  53. package/__internal__/src/components/DatePicker/types.js.map +1 -1
  54. package/__internal__/src/components/FieldComponents/FieldArrayValueInlineControl/FieldArrayValueInlineControl.js +1 -1
  55. package/__internal__/src/components/FieldComponents/FieldArrayValueInlineControl/FieldArrayValueInlineControl.js.map +1 -1
  56. package/__internal__/src/components/FieldComponents/FieldArrayValueInlineControl/types.d.ts +7 -7
  57. package/__internal__/src/components/FieldComponents/FieldArrayValueInlineControl/types.js.map +1 -1
  58. package/__internal__/src/components/SelectComponents/types.d.ts +2 -2
  59. package/__internal__/src/components/SelectComponents/types.js.map +1 -1
  60. package/__internal__/src/components/SelectComponents/useSelect/helpers.js +1 -1
  61. package/__internal__/src/components/SelectComponents/useSelect/helpers.js.map +1 -1
  62. package/__internal__/src/components/SelectComponents/useSelect/useSelect.d.ts +2 -2
  63. package/__internal__/src/components/SelectComponents/useSelect/useSelect.js.map +1 -1
  64. package/__internal__/src/components/TextFieldCanary/TextField.js +1 -1
  65. package/__internal__/src/components/TextFieldCanary/TextField.js.map +1 -1
  66. package/__internal__/src/components/TextFieldCanary/TextFieldTypeText/TextFieldTypeText.d.ts +1 -1
  67. package/__internal__/src/components/TextFieldCanary/TextFieldTypeText/TextFieldTypeText.js +1 -1
  68. package/__internal__/src/components/TextFieldCanary/TextFieldTypeText/TextFieldTypeText.js.map +1 -1
  69. package/__internal__/src/components/TextFieldCanary/TextFieldTypeTextArray/TextFieldTypeTextArray.js +1 -1
  70. package/__internal__/src/components/TextFieldCanary/TextFieldTypeTextArray/TextFieldTypeTextArray.js.map +1 -1
  71. package/__internal__/src/components/TextFieldCanary/types.d.ts +0 -1
  72. package/__internal__/src/components/TextFieldCanary/types.js.map +1 -1
  73. package/package.json +1 -1
@@ -0,0 +1,3 @@
1
+ import { AutoCompleteComponent } from './types';
2
+ export declare const AutoComplete: AutoCompleteComponent;
3
+ export * from './types';
@@ -0,0 +1,2 @@
1
+ import React from"react";import{AutoCompleteTypeText}from"./AutoCompleteTypeText";import{AutoCompleteTypeTextArray}from"./AutoCompleteTypeTextArray";var typeMap={text:AutoCompleteTypeText,textarray:AutoCompleteTypeTextArray},AutoCompleteRender=function(a,b){var c=typeMap[a.type||"text"]||typeMap.text;return React.createElement(c,Object.assign({ref:b},a))};export var AutoComplete=React.forwardRef(AutoCompleteRender);export*from"./types";
2
+ //# sourceMappingURL=AutoComplete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AutoComplete.js","names":["React","AutoCompleteTypeText","AutoCompleteTypeTextArray","typeMap","text","textarray","AutoCompleteRender","props","ref","Component","type","AutoComplete","forwardRef"],"sources":["../../../../../src/components/AutoCompleteCanary/AutoComplete.tsx"],"sourcesContent":["import React from 'react';\n\nimport { AutoCompleteTypeText } from './AutoCompleteTypeText';\nimport { AutoCompleteTypeTextArray } from './AutoCompleteTypeTextArray';\nimport {\n AutoCompleteComponent,\n AutoCompleteGroupDefault,\n AutoCompleteItemDefault,\n AutoCompleteProps,\n AutoCompleteTypeComponent,\n} from './types';\n\nconst typeMap: Record<\n string,\n AutoCompleteTypeComponent<string> | AutoCompleteTypeComponent<'textarray'>\n> = {\n text: AutoCompleteTypeText,\n textarray: AutoCompleteTypeTextArray,\n};\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 Component = typeMap[props.type || 'text'] || typeMap.text;\n\n return (\n <Component\n ref={ref}\n {...(props as unknown as AutoCompleteTypeComponent<TYPE, ITEM, GROUP>)}\n />\n );\n};\n\nexport const AutoComplete = React.forwardRef(\n AutoCompleteRender,\n) as AutoCompleteComponent;\n\nexport * from './types';\n"],"mappings":"AAAA,MAAOA,MAAP,KAAkB,OAAlB,CAEA,OAASC,oBAAT,8BACA,OAASC,yBAAT,mC,GASMC,QAGL,CAAG,CACFC,IAAI,CAAEH,oBADJ,CAEFI,SAAS,CAAEH,yBAFT,C,CAKEI,kBAAkB,CAAG,SAKzBC,CALyB,CAMzBC,CANyB,CAOtB,CACH,GAAMC,EAAS,CAAGN,OAAO,CAACI,CAAK,CAACG,IAAN,EAAc,MAAf,CAAP,EAAiCP,OAAO,CAACC,IAA3D,CAEA,MACE,qBAAC,CAAD,gBACE,GAAG,CAAEI,CADP,EAEOD,CAFP,EAKH,C,CAED,MAAO,IAAMI,aAAY,CAAGX,KAAK,CAACY,UAAN,CAC1BN,kBAD0B,CAArB,CAIP"}
@@ -0,0 +1,2 @@
1
+ import { AutoCompleteTypeComponent } from '../types';
2
+ export declare const AutoCompleteTypeText: AutoCompleteTypeComponent<string>;
@@ -0,0 +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"];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=_objectWithoutProperties(c,_excluded),P=useRef(null),Q=useRef(null),R=useAutoComplete({items:e,groups:g,onChange:C,dropdownRef:P,disabled:i,searchValue:v||"",getItemLabel:j,getItemKey:k,getItemGroupKey:m,getGroupKey:n,onFocus:q,searchFunction:F,isLoading:l,onDropdownOpen:L,dropdownOpen:M,ignoreOutsideClicksRefs:[Q].concat(_toConsumableArray(N||[]))}),S=R.getOptionProps,T=R.isOpen,U=R.getKeyProps,V=R.visibleItems,W=R.handleInputFocus,X=R.inputRef,Y=R.optionsRefs,Z=R.handleChange,$=useRenderItemDefault(j,i,B,u);return React.createElement(React.Fragment,null,React.createElement(TextFieldTypeText,Object.assign({},U(),{form:x,view:z,id:G,className:I,name:H,disabled:i,ref:useForkRef([Q,b]),inputRef:useForkRef([p,X]),onChange:Z,onFocus:W,value:v,style:D,size:B},O)),React.createElement(SelectDropdown,{isOpen:T,size:B,controlRef:Q,getOptionProps:S,dropdownRef:useForkRef([P,r]),form:u,className:s,renderItem:E||$,getGroupLabel:o,visibleItems:V,isLoading:l,hasItems:0!==e.length,itemsRefs:Y,virtualScroll:!0,style:"number"==typeof(null===D||void 0===D?void 0:D.zIndex)?{zIndex:D.zIndex+1}:void 0,onScrollToBottom:K}))});
2
+ //# sourceMappingURL=AutoCompleteTypeText.js.map
@@ -0,0 +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","otherProps","controlRef","searchValue","getOptionProps","isOpen","getKeyProps","visibleItems","handleInputFocus","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 ...otherProps\n } = withDefaultGetters(props);\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 } = 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 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 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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"}
@@ -0,0 +1 @@
1
+ export * from './AutoCompleteTypeText';
@@ -0,0 +1,2 @@
1
+ export*from"./AutoCompleteTypeText";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../../../src/components/AutoCompleteCanary/AutoCompleteTypeText/index.ts"],"sourcesContent":["export * from './AutoCompleteTypeText';\n"],"mappings":"AAAA"}
@@ -0,0 +1,2 @@
1
+ import { AutoCompleteTypeComponent } from '../types';
2
+ export declare const AutoCompleteTypeTextArray: AutoCompleteTypeComponent<'textarray'>;
@@ -0,0 +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"];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=_objectWithoutProperties(c,_excluded),R=useRef(null),S=useRef(null),T=useAutoComplete({items:e,groups:g,onChange:O,dropdownRef:R,disabled:i,searchValue:P||"",getItemLabel:j,getItemKey:k,getItemGroupKey:m,getGroupKey:n,onFocus:q,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.inputRef,$=T.optionsRefs,_=T.handleChange,aa=T.highlightedIndex,ba=useRenderItemDefault(j,i,B,u);return React.createElement(React.Fragment,null,React.createElement(TextFieldTypeTextArray,Object.assign({},W(),{form:x,view:z,id:G,className:I,name:H,disabled:i,ref:useForkRef([S,b]),inputRef:useForkRef([p,Z]),onFocus:Y,onChange:0>aa?C:void 0,onInputChange:_,value:v,style:D,size:B},Q)),React.createElement(SelectDropdown,{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
+ //# sourceMappingURL=AutoCompleteTypeTextArray.js.map
@@ -0,0 +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","otherProps","controlRef","searchValue","getOptionProps","isOpen","getKeyProps","visibleItems","handleInputFocus","inputControlRef","optionsRefs","handleChange","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 ...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 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 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 onChange={highlightedIndex < 0 ? onChange : undefined}\n onInputChange={handleChange}\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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"}
@@ -0,0 +1 @@
1
+ export * from './AutoCompleteTypeTextArray';
@@ -0,0 +1,2 @@
1
+ export*from"./AutoCompleteTypeTextArray";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../../../src/components/AutoCompleteCanary/AutoCompleteTypeTextArray/index.ts"],"sourcesContent":["export * from './AutoCompleteTypeTextArray';\n"],"mappings":"AAAA"}
@@ -0,0 +1,47 @@
1
+ /// <reference types="react" />
2
+ import { AutoCompleteGroupDefault, AutoCompleteItemDefault, AutoCompletePropGetGroupId, AutoCompletePropGetGroupLabel, AutoCompletePropGetItemGroupId, AutoCompletePropGetItemKey, AutoCompletePropGetItemLabel, AutoCompleteProps } from './types';
3
+ export declare const defaultGetItemKey: AutoCompletePropGetItemKey<AutoCompleteItemDefault>;
4
+ export declare const defaultGetItemLabel: AutoCompletePropGetItemLabel<AutoCompleteItemDefault>;
5
+ export declare const defaultGetItemGroupKey: AutoCompletePropGetItemGroupId<AutoCompleteItemDefault>;
6
+ export declare const defaultGetGroupKey: AutoCompletePropGetGroupId<AutoCompleteGroupDefault>;
7
+ export declare const defaultGetGroupLabel: AutoCompletePropGetGroupLabel<AutoCompleteGroupDefault>;
8
+ export declare function withDefaultGetters<TYPE extends string, ITEM = AutoCompleteItemDefault, GROUP = AutoCompleteGroupDefault>(props: AutoCompleteProps<TYPE, ITEM, GROUP>): (TYPE extends "textarray" ? Omit<import("../TextFieldCanary").TextFieldProps<"textarray">, "type" | "onChange"> : Omit<import("../TextFieldCanary").TextFieldProps<string>, "type" | "onChange">) & {
9
+ type?: TYPE | undefined;
10
+ onChange?: import("./types").AutoCompletePropOnChange<TYPE> | undefined;
11
+ items?: ITEM[] | undefined;
12
+ groups?: GROUP[] | undefined;
13
+ renderItem?: import("../Select").PropRenderItem<ITEM> | undefined;
14
+ dropdownClassName?: string | undefined;
15
+ dropdownForm?: import("./types").AutoCompletePropDropdownForm | undefined;
16
+ isLoading?: boolean | undefined;
17
+ searchFunction?: import("./types").AutoCompletePropSearchFunction<ITEM> | undefined;
18
+ dropdownRef?: import("react").RefObject<HTMLDivElement> | undefined;
19
+ getItemLabel?: AutoCompletePropGetItemLabel<ITEM> | undefined;
20
+ getItemKey?: AutoCompletePropGetItemKey<ITEM> | undefined;
21
+ getItemGroupKey?: AutoCompletePropGetItemGroupId<ITEM> | undefined;
22
+ getGroupLabel?: AutoCompletePropGetGroupLabel<GROUP> | undefined;
23
+ getGroupKey?: AutoCompletePropGetGroupId<GROUP> | undefined;
24
+ virtualScroll?: boolean | undefined;
25
+ onScrollToBottom?: ((lenght: number) => void) | undefined;
26
+ onDropdownOpen?: ((isOpen: boolean) => void) | undefined;
27
+ dropdownOpen?: boolean | undefined;
28
+ ignoreOutsideClicksRefs?: readonly import("react").RefObject<HTMLElement>[] | undefined;
29
+ } & (ITEM extends {
30
+ label: string;
31
+ } ? {} : {
32
+ getItemLabel: AutoCompletePropGetItemLabel<ITEM>;
33
+ }) & (GROUP extends {
34
+ label: string;
35
+ } ? {} : {
36
+ getGroupLabel: AutoCompletePropGetGroupLabel<GROUP>;
37
+ }) & (GROUP extends {
38
+ id: string | number;
39
+ } ? {} : {
40
+ getGroupKey: AutoCompletePropGetGroupId<GROUP>;
41
+ }) & {
42
+ getItemLabel: AutoCompletePropGetItemLabel<AutoCompleteItemDefault> | AutoCompletePropGetItemLabel<ITEM>;
43
+ getItemKey: AutoCompletePropGetItemKey<AutoCompleteItemDefault> | AutoCompletePropGetItemKey<ITEM>;
44
+ getItemGroupKey: AutoCompletePropGetItemGroupId<AutoCompleteItemDefault> | AutoCompletePropGetItemGroupId<ITEM>;
45
+ getGroupLabel: AutoCompletePropGetGroupLabel<AutoCompleteGroupDefault> | AutoCompletePropGetGroupLabel<GROUP>;
46
+ getGroupKey: AutoCompletePropGetGroupId<AutoCompleteGroupDefault> | AutoCompletePropGetGroupId<GROUP>;
47
+ };
@@ -0,0 +1,2 @@
1
+ import _defineProperty from"@babel/runtime/helpers/defineProperty";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}export var defaultGetItemKey=function(a){return a.id};export var defaultGetItemLabel=function(a){return a.label};export var defaultGetItemGroupKey=function(a){return a.groupId};export var defaultGetGroupKey=function(a){return a.id};export var defaultGetGroupLabel=function(a){return a.label};export function withDefaultGetters(a){return _objectSpread(_objectSpread({},a),{},{getItemLabel:a.getItemLabel||defaultGetItemLabel,getItemKey:a.getItemKey||defaultGetItemKey,getItemGroupKey:a.getItemGroupKey||defaultGetItemGroupKey,getGroupLabel:a.getGroupLabel||defaultGetGroupLabel,getGroupKey:a.getGroupKey||defaultGetGroupKey})}
2
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","names":["defaultGetItemKey","item","id","defaultGetItemLabel","label","defaultGetItemGroupKey","groupId","defaultGetGroupKey","group","defaultGetGroupLabel","withDefaultGetters","props","getItemLabel","getItemKey","getItemGroupKey","getGroupLabel","getGroupKey"],"sources":["../../../../../src/components/AutoCompleteCanary/helpers.ts"],"sourcesContent":["import {\n AutoCompleteGroupDefault,\n AutoCompleteItemDefault,\n AutoCompletePropGetGroupId,\n AutoCompletePropGetGroupLabel,\n AutoCompletePropGetItemGroupId,\n AutoCompletePropGetItemKey,\n AutoCompletePropGetItemLabel,\n AutoCompleteProps,\n} from './types';\n\nexport const defaultGetItemKey: AutoCompletePropGetItemKey<\n AutoCompleteItemDefault\n> = (item) => item.id;\nexport const defaultGetItemLabel: AutoCompletePropGetItemLabel<\n AutoCompleteItemDefault\n> = (item) => item.label;\nexport const defaultGetItemGroupKey: AutoCompletePropGetItemGroupId<\n AutoCompleteItemDefault\n> = (item) => item.groupId;\n\nexport const defaultGetGroupKey: AutoCompletePropGetGroupId<\n AutoCompleteGroupDefault\n> = (group) => group.id;\nexport const defaultGetGroupLabel: AutoCompletePropGetGroupLabel<\n AutoCompleteGroupDefault\n> = (group) => group.label;\n\nexport function withDefaultGetters<\n TYPE extends string,\n ITEM = AutoCompleteItemDefault,\n GROUP = AutoCompleteGroupDefault,\n>(props: AutoCompleteProps<TYPE, ITEM, GROUP>) {\n return {\n ...props,\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n getItemKey: props.getItemKey || defaultGetItemKey,\n getItemGroupKey: props.getItemGroupKey || defaultGetItemGroupKey,\n getGroupLabel: props.getGroupLabel || defaultGetGroupLabel,\n getGroupKey: props.getGroupKey || defaultGetGroupKey,\n };\n}\n"],"mappings":"qqBAWA,MAAO,IAAMA,kBAEZ,CAAG,SAACC,CAAD,QAAUA,EAAI,CAACC,EAAf,CAFG,CAGP,MAAO,IAAMC,oBAEZ,CAAG,SAACF,CAAD,QAAUA,EAAI,CAACG,KAAf,CAFG,CAGP,MAAO,IAAMC,uBAEZ,CAAG,SAACJ,CAAD,QAAUA,EAAI,CAACK,OAAf,CAFG,CAIP,MAAO,IAAMC,mBAEZ,CAAG,SAACC,CAAD,QAAWA,EAAK,CAACN,EAAjB,CAFG,CAGP,MAAO,IAAMO,qBAEZ,CAAG,SAACD,CAAD,QAAWA,EAAK,CAACJ,KAAjB,CAFG,CAIP,MAAO,SAASM,mBAAT,CAILC,CAJK,CAIwC,CAC7C,sCACKA,CADL,MAEEC,YAAY,CAAED,CAAK,CAACC,YAAN,EAAsBT,mBAFtC,CAGEU,UAAU,CAAEF,CAAK,CAACE,UAAN,EAAoBb,iBAHlC,CAIEc,eAAe,CAAEH,CAAK,CAACG,eAAN,EAAyBT,sBAJ5C,CAKEU,aAAa,CAAEJ,CAAK,CAACI,aAAN,EAAuBN,oBALxC,CAMEO,WAAW,CAAEL,CAAK,CAACK,WAAN,EAAqBT,kBANpC,EAQD"}
@@ -0,0 +1,2 @@
1
+ export * from './AutoComplete';
2
+ export * from './types';
@@ -0,0 +1,2 @@
1
+ export*from"./AutoComplete";export*from"./types";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../../src/components/AutoCompleteCanary/index.ts"],"sourcesContent":["export * from './AutoComplete';\nexport * from './types';\n"],"mappings":"AAAA,4BACA"}
@@ -0,0 +1,58 @@
1
+ import React from 'react';
2
+ import { PropRenderItem } from "../Select";
3
+ import { TextFieldProps } from "../TextFieldCanary";
4
+ export declare type AutoCompleteItemDefault = {
5
+ id: string | number;
6
+ label: string;
7
+ groupId?: number;
8
+ };
9
+ export declare type AutoCompleteGroupDefault = {
10
+ label: string;
11
+ id: number | string;
12
+ };
13
+ export declare type AutoCompletePropDropdownForm = 'default' | 'brick' | 'round';
14
+ export declare type AutoCompletePropGetItemLabel<ITEM> = (item: ITEM) => string;
15
+ export declare type AutoCompletePropGetItemKey<ITEM> = (item: ITEM) => string | number;
16
+ export declare type AutoCompletePropGetItemGroupId<ITEM> = (item: ITEM) => number | undefined;
17
+ export declare type AutoCompletePropGetGroupLabel<GROUP> = (group: GROUP) => string;
18
+ export declare type AutoCompletePropGetGroupId<GROUP> = (group: GROUP) => number | string;
19
+ export declare type AutoCompletePropSearchFunction<ITEM> = (item: ITEM, searchValue: string) => boolean;
20
+ export declare type AutoCompletePropOnChange<TYPE extends string> = (value: TYPE extends 'textarray' ? string[] | null : string | null, props: {
21
+ e: React.ChangeEvent | React.MouseEvent | React.KeyboardEvent;
22
+ }) => void;
23
+ export declare type AutoCompleteProps<TYPE extends string, ITEM = AutoCompleteItemDefault, GROUP = AutoCompleteGroupDefault> = (TYPE extends 'textarray' ? Omit<TextFieldProps<'textarray'>, 'onChange' | 'type'> : Omit<TextFieldProps<string>, 'onChange' | 'type'>) & {
24
+ type?: TYPE;
25
+ onChange?: AutoCompletePropOnChange<TYPE>;
26
+ items?: ITEM[];
27
+ groups?: GROUP[];
28
+ renderItem?: PropRenderItem<ITEM>;
29
+ dropdownClassName?: string;
30
+ dropdownForm?: AutoCompletePropDropdownForm;
31
+ isLoading?: boolean;
32
+ searchFunction?: AutoCompletePropSearchFunction<ITEM>;
33
+ dropdownRef?: React.RefObject<HTMLDivElement>;
34
+ getItemLabel?: AutoCompletePropGetItemLabel<ITEM>;
35
+ getItemKey?: AutoCompletePropGetItemKey<ITEM>;
36
+ getItemGroupKey?: AutoCompletePropGetItemGroupId<ITEM>;
37
+ getGroupLabel?: AutoCompletePropGetGroupLabel<GROUP>;
38
+ getGroupKey?: AutoCompletePropGetGroupId<GROUP>;
39
+ virtualScroll?: boolean;
40
+ onScrollToBottom?: (lenght: number) => void;
41
+ onDropdownOpen?: (isOpen: boolean) => void;
42
+ dropdownOpen?: boolean;
43
+ ignoreOutsideClicksRefs?: ReadonlyArray<React.RefObject<HTMLElement>>;
44
+ } & (ITEM extends {
45
+ label: AutoCompleteItemDefault['label'];
46
+ } ? {} : {
47
+ getItemLabel: AutoCompletePropGetItemLabel<ITEM>;
48
+ }) & (GROUP extends {
49
+ label: AutoCompleteGroupDefault['label'];
50
+ } ? {} : {
51
+ getGroupLabel: AutoCompletePropGetGroupLabel<GROUP>;
52
+ }) & (GROUP extends {
53
+ id: AutoCompleteGroupDefault['id'];
54
+ } ? {} : {
55
+ getGroupKey: AutoCompletePropGetGroupId<GROUP>;
56
+ });
57
+ export declare type AutoCompleteComponent = <TYPE extends string, ITEM = AutoCompleteItemDefault, GROUP = AutoCompleteGroupDefault>(props: AutoCompleteProps<TYPE, ITEM, GROUP>) => React.ReactElement | null;
58
+ export declare type AutoCompleteTypeComponent<TYPE extends string = string, ITEM = AutoCompleteItemDefault, GROUP = AutoCompleteGroupDefault> = (props: AutoCompleteProps<TYPE, ITEM, GROUP>) => React.ReactElement | null;
@@ -0,0 +1,2 @@
1
+ export{};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +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 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?: (lenght: 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.ReactElement | null;\n\nexport type AutoCompleteTypeComponent<\n TYPE extends string = string,\n ITEM = AutoCompleteItemDefault,\n GROUP = AutoCompleteGroupDefault,\n> = (props: AutoCompleteProps<TYPE, ITEM, GROUP>) => React.ReactElement | null;\n"],"mappings":""}
@@ -0,0 +1,47 @@
1
+ import React from 'react';
2
+ import { AutoCompletePropOnChange } from './types';
3
+ declare type GetItemGroupKey<ITEM> = (item: ITEM) => string | number | undefined;
4
+ declare type GetGroupKey<GROUP> = (item: GROUP) => string | number | undefined;
5
+ declare type UseAutoCompleteProps<ITEM, GROUP> = {
6
+ getItemGroupKey?: GetItemGroupKey<ITEM> | undefined;
7
+ getGroupKey?: GetGroupKey<GROUP>;
8
+ groups?: GROUP[];
9
+ items: ITEM[];
10
+ dropdownRef: React.MutableRefObject<HTMLDivElement | null>;
11
+ disabled?: boolean;
12
+ getItemLabel: (item: ITEM) => string;
13
+ getItemKey: (item: ITEM) => string | number;
14
+ searchFunction?: (item: ITEM, searchValue: string) => boolean;
15
+ onFocus?: React.FocusEventHandler<HTMLInputElement>;
16
+ searchValue?: string;
17
+ onChange?: AutoCompletePropOnChange<'text'>;
18
+ isLoading?: boolean;
19
+ dropdownOpen?: boolean;
20
+ onDropdownOpen?: (isOpen: boolean) => void;
21
+ ignoreOutsideClicksRefs?: ReadonlyArray<React.RefObject<HTMLElement>>;
22
+ };
23
+ declare type OptionProps<ITEM> = {
24
+ index: number;
25
+ item: ITEM;
26
+ keyPrefix: number;
27
+ };
28
+ declare type GetOptionPropsResult = {
29
+ onClick: (e: React.MouseEvent) => void;
30
+ onMouseEnter: (e: React.MouseEvent) => void;
31
+ active: boolean;
32
+ hovered: boolean;
33
+ key: string | number;
34
+ };
35
+ export declare function useAutoComplete<ITEM, GROUP>(params: UseAutoCompleteProps<ITEM, GROUP>): {
36
+ isOpen: boolean;
37
+ visibleItems: import("../../utils/getGroups").Group<ITEM, GROUP>[];
38
+ getOptionProps: ({ index, item, }: OptionProps<ITEM>) => GetOptionPropsResult;
39
+ handleInputFocus: (e: React.FocusEvent<HTMLInputElement>) => void;
40
+ inputRef: React.RefObject<HTMLInputElement>;
41
+ getKeyProps: (rest?: import("../../hooks/useKeysDepricated").KeyProps | undefined) => import("../../hooks/useKeysDepricated").KeyProps;
42
+ hasItems: boolean;
43
+ optionsRefs: React.RefObject<HTMLDivElement>[];
44
+ handleChange: AutoCompletePropOnChange<"text">;
45
+ highlightedIndex: number;
46
+ };
47
+ export {};
@@ -0,0 +1,2 @@
1
+ import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";function _createForOfIteratorHelper(a,b){var c="undefined"!=typeof Symbol&&a[Symbol.iterator]||a["@@iterator"];if(!c){if(Array.isArray(a)||(c=_unsupportedIterableToArray(a))||b&&a&&"number"==typeof a.length){c&&(a=c);var d=0,e=function(){};return{s:e,n:function n(){return d>=a.length?{done:!0}:{done:!1,value:a[d++]}},e:function(a){function b(){return a.apply(this,arguments)}return b.toString=function(){return a.toString()},b}(function(a){throw a}),f:e}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var f,g=!0,h=!1;return{s:function s(){c=c.call(a)},n:function n(){var a=c.next();return g=a.done,a},e:function(a){function b(){return a.apply(this,arguments)}return b.toString=function(){return a.toString()},b}(function(a){h=!0,f=a}),f:function f(){try{g||null==c["return"]||c["return"]()}finally{if(h)throw f}}}}function _unsupportedIterableToArray(a,b){if(a){if("string"==typeof a)return _arrayLikeToArray(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);return"Object"===c&&a.constructor&&(c=a.constructor.name),"Map"===c||"Set"===c?Array.from(a):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?_arrayLikeToArray(a,b):void 0}}function _arrayLikeToArray(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c<b;c++)d[c]=a[c];return d}import{useCallback,useEffect,useMemo,useRef,useState}from"react";import{scrollToIndex}from"../SelectComponents/useSelect/helpers";import{useClickOutside}from"../../hooks/useClickOutside";import{useFlag}from"../../hooks/useFlag";import{useKeys}from"../../hooks/useKeysDepricated";import{useRefs}from"../../hooks/useRefs";import{getGroups}from"../../utils/getGroups";export function useAutoComplete(a){var b=a.items,c=a.dropdownRef,d=a.disabled,f=void 0!==d&&d,g=a.getItemLabel,h=a.getItemKey,i=a.searchFunction,j=a.getItemGroupKey,k=a.groups,l=a.getGroupKey,m=a.onFocus,n=a.isLoading,o=a.dropdownOpen,p=a.onDropdownOpen,q=a.ignoreOutsideClicksRefs,r=a.searchValue,s=void 0===r?"":r,t=a.onChange,u=useRef(null),v=useFlag(),w=_slicedToArray(v,2),x=w[0],y=w[1],z=useState(-1),A=_slicedToArray(z,2),B=A[0],C=A[1],D=function(a,b){var c;!f&&t&&t(a,b),null===(c=u.current)||void 0===c?void 0:c.focus(),C(-1)},E=function(a,b){return!!b&&-1!==g(a).toLocaleLowerCase().indexOf(b.toLocaleLowerCase())},F=useMemo(function(){return b.filter(function(a){return i?i(a,s||""):E(a,s||"")})},[s,b]),G=useMemo(function(){var a=getGroups(F,null!==k&&void 0!==k&&k.length?j:void 0,k,l,void 0);return a},[F,k,j,l]),H=useMemo(function(){return!!G.find(function(a){return 0<a.items.length})},[G]),I=useCallback(function(a){C(Math.min(Math.max(0,"function"==typeof a?a(B):a),F.length-1))},[F,B]),J=function(a,b){f||(b.preventDefault(),y.on(),I(function(a){return a-1}))},K=function(a,b){f||(b.preventDefault(),y.on(),I(function(a){return a+1}))},L=useKeys({ArrowUp:J,ArrowDown:K,PageUp:J,PageDown:K,Home:J,End:K,Enter:function Enter(a,b){if(x){(s||F[B])&&b.preventDefault();var c=function(a){var b,c=0,d=_createForOfIteratorHelper(G);try{for(d.s();!(b=d.n()).done;){var e=b.value;if(e.items.length+c>a)return e.items[a-c];c+=e.items.length}}catch(a){d.e(a)}finally{d.f()}},d=c(B);d&&D(g(d),{e:b})}else y.on()},Escape:function Escape(){y.off()},Tab:function Tab(a,b){y.off(),x&&H&&b.preventDefault()}}),M=useRefs(F.length,[x]);return useClickOutside({isActive:x,ignoreClicksInsideRefs:[c].concat(_toConsumableArray(q||[])),handler:y.off}),useEffect(function(){if(f){var a;y.off(),null===(a=u.current)||void 0===a?void 0:a.blur()}},[f]),useEffect(function(){0<F.length&&scrollToIndex(B,c,M,function(){return I(0)}),y.on()},[B]),useEffect(function(){null===p||void 0===p?void 0:p(x),x&&C(0)},[x]),useEffect(function(){y.set(o||!1)},[o]),useEffect(function(){u.current&&(u.current.value=s)},[s]),{isOpen:!!(x&&(!!n||H)),visibleItems:G,getOptionProps:function getOptionProps(a){var b=a.index,c=a.item,d=h(c)||g(c);return{onClick:function onClick(a){D(g(c),{e:a})},onMouseEnter:function onMouseEnter(){I(b)},active:!1,hovered:b===B,key:d}},handleInputFocus:function handleInputFocus(a){f||(y.on(),"function"==typeof m&&m(a))},inputRef:u,getKeyProps:L,hasItems:H,optionsRefs:M,handleChange:D,highlightedIndex:B}}
2
+ //# sourceMappingURL=useAutoComplete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAutoComplete.js","names":["useCallback","useEffect","useMemo","useRef","useState","scrollToIndex","useClickOutside","useFlag","useKeys","useRefs","getGroups","useAutoComplete","params","items","dropdownRef","disabled","getItemLabel","getItemKey","searchFunction","getItemGroupKey","groups","getGroupKey","onFocus","isLoading","dropdownOpen","onDropdownOpen","ignoreOutsideClicksRefs","searchValue","onChange","inputRef","isOpen","setIsOpen","highlightedIndex","setHighlightedIndex","handleChange","value","props","current","focus","searchFunctionDefault","item","toLocaleLowerCase","indexOf","filteredOptions","filter","visibleItems","resultGroups","length","hasItems","find","group","highlightIndex","indexForHighlight","Math","min","max","ArrowUp","_","e","preventDefault","on","old","ArrowDown","getKeyProps","PageUp","PageDown","Home","End","Enter","getItem","index","couter","Escape","off","Tab","optionsRefs","isActive","ignoreClicksInsideRefs","handler","blur","set","getOptionProps","key","onClick","onMouseEnter","active","hovered","handleInputFocus"],"sources":["../../../../../src/components/AutoCompleteCanary/useAutoComplete.ts"],"sourcesContent":["import React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\nimport { scrollToIndex } from '##/components/SelectComponents/useSelect/helpers';\nimport { useClickOutside } from '##/hooks/useClickOutside';\nimport { useFlag } from '##/hooks/useFlag';\nimport { KeyHandler, useKeys } from '##/hooks/useKeysDepricated';\nimport { useRefs } from '##/hooks/useRefs';\nimport { getGroups } from '##/utils/getGroups';\n\nimport { AutoCompletePropOnChange } from './types';\n\ntype IndexForHighlight = number | ((oldIndex: number) => number);\n\ntype GetItemGroupKey<ITEM> = (item: ITEM) => string | number | undefined;\ntype GetGroupKey<GROUP> = (item: GROUP) => string | number | undefined;\n\ntype UseAutoCompleteProps<ITEM, GROUP> = {\n getItemGroupKey?: GetItemGroupKey<ITEM> | undefined;\n getGroupKey?: GetGroupKey<GROUP>;\n groups?: GROUP[];\n items: ITEM[];\n dropdownRef: React.MutableRefObject<HTMLDivElement | null>;\n disabled?: boolean;\n getItemLabel: (item: ITEM) => string;\n getItemKey: (item: ITEM) => string | number;\n searchFunction?: (item: ITEM, searchValue: string) => boolean;\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n searchValue?: string;\n onChange?: AutoCompletePropOnChange<'text'>;\n isLoading?: boolean;\n dropdownOpen?: boolean;\n onDropdownOpen?: (isOpen: boolean) => void;\n ignoreOutsideClicksRefs?: ReadonlyArray<React.RefObject<HTMLElement>>;\n};\n\ntype OptionProps<ITEM> = {\n index: number;\n item: ITEM;\n keyPrefix: number;\n};\n\ntype GetOptionPropsResult = {\n onClick: (e: React.MouseEvent) => void;\n onMouseEnter: (e: React.MouseEvent) => void;\n active: boolean;\n hovered: boolean;\n key: string | number;\n};\n\nexport function useAutoComplete<ITEM, GROUP>(\n params: UseAutoCompleteProps<ITEM, GROUP>,\n) {\n const {\n items,\n dropdownRef,\n disabled = false,\n getItemLabel,\n getItemKey,\n searchFunction,\n getItemGroupKey,\n groups,\n getGroupKey,\n onFocus,\n isLoading,\n dropdownOpen,\n onDropdownOpen,\n ignoreOutsideClicksRefs,\n searchValue = '',\n onChange,\n } = params;\n\n const inputRef = useRef<HTMLInputElement>(null);\n\n const [isOpen, setIsOpen] = useFlag();\n const [highlightedIndex, setHighlightedIndex] = useState<number>(-1);\n\n const handleChange: AutoCompletePropOnChange<'text'> = (value, props) => {\n if (!disabled && onChange) {\n onChange(value, props);\n }\n inputRef.current?.focus();\n setHighlightedIndex(-1);\n };\n\n const searchFunctionDefault = (item: ITEM, searchValue: string) => {\n if (!searchValue) {\n return false;\n }\n return (\n getItemLabel(item)\n .toLocaleLowerCase()\n .indexOf(searchValue.toLocaleLowerCase()) !== -1\n );\n };\n\n const filteredOptions = useMemo(\n () =>\n items.filter((item) =>\n searchFunction\n ? searchFunction(item, searchValue || '')\n : searchFunctionDefault(item, searchValue || ''),\n ),\n [searchValue, items],\n );\n\n const visibleItems = useMemo(() => {\n const resultGroups = getGroups(\n filteredOptions,\n groups?.length ? getItemGroupKey : undefined,\n groups,\n getGroupKey,\n undefined,\n );\n\n return resultGroups;\n }, [filteredOptions, groups, getItemGroupKey, getGroupKey]);\n\n const hasItems = useMemo(() => {\n return !!visibleItems.find((group) => group.items.length > 0);\n }, [visibleItems]);\n\n const highlightIndex = useCallback(\n (indexForHighlight: IndexForHighlight) => {\n setHighlightedIndex(\n Math.min(\n Math.max(\n 0,\n typeof indexForHighlight === 'function'\n ? indexForHighlight(highlightedIndex)\n : indexForHighlight,\n ),\n filteredOptions.length - 1,\n ),\n );\n },\n [filteredOptions, highlightedIndex],\n );\n\n const ArrowUp: KeyHandler = (_, e): void => {\n if (!disabled) {\n e.preventDefault();\n setIsOpen.on();\n highlightIndex((old) => old - 1);\n }\n };\n\n const ArrowDown: KeyHandler = (_, e): void => {\n if (!disabled) {\n e.preventDefault();\n setIsOpen.on();\n highlightIndex((old) => old + 1);\n }\n };\n\n const Enter: KeyHandler = (_, e): void => {\n if (isOpen) {\n if (searchValue || filteredOptions[highlightedIndex]) {\n e.preventDefault();\n }\n\n const getItem = (index: number) => {\n let couter = 0;\n for (const group of visibleItems) {\n if (group.items.length + couter > index) {\n return group.items[index - couter];\n }\n couter += group.items.length;\n }\n return undefined;\n };\n\n const item = getItem(highlightedIndex);\n\n if (item) {\n handleChange(getItemLabel(item), { e });\n }\n } else {\n setIsOpen.on();\n }\n };\n\n const Escape: KeyHandler = (): void => {\n setIsOpen.off();\n };\n\n const Tab: KeyHandler = (_, e): void => {\n setIsOpen.off();\n if (isOpen && hasItems) {\n e.preventDefault();\n }\n };\n\n const getKeyProps = useKeys({\n ArrowUp,\n ArrowDown,\n PageUp: ArrowUp,\n PageDown: ArrowDown,\n Home: ArrowUp,\n End: ArrowDown,\n Enter,\n Escape,\n Tab,\n });\n\n const getOptionProps = ({\n index,\n item,\n }: OptionProps<ITEM>): GetOptionPropsResult => {\n const key = getItemKey(item) || getItemLabel(item);\n\n return {\n onClick: (e: React.MouseEvent) => {\n handleChange(getItemLabel(item), { e });\n },\n onMouseEnter: () => {\n highlightIndex(index);\n },\n active: false,\n hovered: index === highlightedIndex,\n key,\n };\n };\n\n const optionsRefs = useRefs<HTMLDivElement>(filteredOptions.length, [isOpen]);\n\n const handleInputFocus = (e: React.FocusEvent<HTMLInputElement>): void => {\n if (!disabled) {\n setIsOpen.on();\n\n if (typeof onFocus === 'function') {\n onFocus(e);\n }\n }\n };\n\n useClickOutside({\n isActive: isOpen,\n ignoreClicksInsideRefs: [dropdownRef, ...(ignoreOutsideClicksRefs || [])],\n handler: setIsOpen.off,\n });\n\n useEffect(() => {\n if (disabled) {\n setIsOpen.off();\n inputRef.current?.blur();\n }\n }, [disabled]);\n\n useEffect(() => {\n if (filteredOptions.length > 0) {\n scrollToIndex(highlightedIndex, dropdownRef, optionsRefs, () =>\n highlightIndex(0),\n );\n }\n setIsOpen.on();\n }, [highlightedIndex]);\n\n useEffect(() => {\n onDropdownOpen?.(isOpen);\n if (isOpen) {\n setHighlightedIndex(0);\n }\n }, [isOpen]);\n\n useEffect(() => {\n setIsOpen.set(dropdownOpen || false);\n }, [dropdownOpen]);\n\n useEffect(() => {\n if (inputRef.current) {\n inputRef.current.value = searchValue;\n }\n }, [searchValue]);\n\n return {\n isOpen: Boolean(isOpen && (isLoading ? true : hasItems)),\n visibleItems,\n getOptionProps,\n handleInputFocus,\n inputRef,\n getKeyProps,\n hasItems,\n optionsRefs,\n handleChange,\n highlightedIndex,\n };\n}\n"],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { FieldPropSize } from "../FieldComponents";
2
+ import { PropRenderItem } from "../Select";
3
+ import { AutoCompleteItemDefault, AutoCompletePropDropdownForm, AutoCompletePropGetItemLabel } from './types';
4
+ export declare const useRenderItemDefault: (getItemLabel: AutoCompletePropGetItemLabel<AutoCompleteItemDefault>, disabled: boolean, size: FieldPropSize, dropdownForm: AutoCompletePropDropdownForm) => PropRenderItem<AutoCompleteItemDefault>;
@@ -0,0 +1,2 @@
1
+ import React,{useMemo}from"react";import{SelectItem}from"../SelectComponents/SelectItem";import{useMutableRef}from"../../hooks/useMutableRef";export var useRenderItemDefault=function(a,b,c,d){var e=useMutableRef(a);return useMemo(function(){return function renderItemDefault(a){var f=a.item,g=a.active,h=a.hovered,i=a.onClick,j=a.onMouseEnter,k=a.ref;return React.createElement(SelectItem,{label:e.current(f),active:g,hovered:h,multiple:!1,disabled:b,size:c,indent:"round"===d?"increased":"normal",onClick:i,onMouseEnter:j,ref:k})}},[b,c,d])};
2
+ //# sourceMappingURL=useRenderItemDefault.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRenderItemDefault.js","names":["React","useMemo","SelectItem","useMutableRef","useRenderItemDefault","getItemLabel","disabled","size","dropdownForm","getItemLabelRef","renderItemDefault","item","active","hovered","onClick","onMouseEnter","ref","current"],"sources":["../../../../../src/components/AutoCompleteCanary/useRenderItemDefault.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\n\nimport { FieldPropSize } from '##/components/FieldComponents';\nimport { PropRenderItem } from '##/components/Select';\nimport { SelectItem } from '##/components/SelectComponents/SelectItem';\nimport { useMutableRef } from '##/hooks/useMutableRef';\n\nimport {\n AutoCompleteItemDefault,\n AutoCompletePropDropdownForm,\n AutoCompletePropGetItemLabel,\n} from './types';\n\nexport const useRenderItemDefault = (\n getItemLabel: AutoCompletePropGetItemLabel<AutoCompleteItemDefault>,\n disabled: boolean,\n size: FieldPropSize,\n dropdownForm: AutoCompletePropDropdownForm,\n) => {\n const getItemLabelRef = useMutableRef(getItemLabel);\n return useMemo(() => {\n const renderItemDefault: PropRenderItem<AutoCompleteItemDefault> = ({\n item,\n active,\n hovered,\n onClick,\n onMouseEnter,\n ref,\n }) => {\n return (\n <SelectItem\n label={getItemLabelRef.current(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 renderItemDefault;\n }, [disabled, size, dropdownForm]);\n};\n"],"mappings":"AAAA,MAAOA,MAAP,EAAgBC,OAAhB,KAA+B,OAA/B,CAIA,OAASC,UAAT,sCACA,OAASC,aAAT,iCAQA,MAAO,IAAMC,qBAAoB,CAAG,SAClCC,CADkC,CAElCC,CAFkC,CAGlCC,CAHkC,CAIlCC,CAJkC,CAK/B,CACH,GAAMC,EAAe,CAAGN,aAAa,CAACE,CAAD,CAArC,CACA,MAAOJ,QAAO,CAAC,UAAM,CAyBnB,MAxBmE,SAA7DS,kBAA6D,GAO7D,IANJC,EAMI,GANJA,IAMI,CALJC,CAKI,GALJA,MAKI,CAJJC,CAII,GAJJA,OAII,CAHJC,CAGI,GAHJA,OAGI,CAFJC,CAEI,GAFJA,YAEI,CADJC,CACI,GADJA,GACI,CACJ,MACE,qBAAC,UAAD,EACE,KAAK,CAAEP,CAAe,CAACQ,OAAhB,CAAwBN,CAAxB,CADT,CAEE,MAAM,CAAEC,CAFV,CAGE,OAAO,CAAEC,CAHX,CAIE,QAAQ,GAJV,CAKE,QAAQ,CAAEP,CALZ,CAME,IAAI,CAAEC,CANR,CAOE,MAAM,CAAmB,OAAjB,GAAAC,CAAY,CAAe,WAAf,CAA6B,QAPnD,CAQE,OAAO,CAAEM,CARX,CASE,YAAY,CAAEC,CAThB,CAUE,GAAG,CAAEC,CAVP,EAaH,CAGF,CA1Ba,CA0BX,CAACV,CAAD,CAAWC,CAAX,CAAiBC,CAAjB,CA1BW,CA2Bf,CAlCM"}
@@ -149,7 +149,7 @@ export declare function withDefaultGetters<ITEM = DefaultItem, GROUP = DefaultGr
149
149
  labelIcon?: IconComponent<"span"> | undefined;
150
150
  caption?: string | undefined;
151
151
  labelPosition?: "left" | "top" | undefined;
152
- } & Omit<React.HTMLAttributes<HTMLDivElement>, "caption" | "form" | "label" | "view" | "name" | "placeholder" | "onFocus" | "onBlur" | "onChange" | "disabled" | "value" | "multiple" | "required" | "size" | "status" | "css" | "inputRef" | "items" | "dropdownForm" | "ariaLabel" | "dropdownClassName" | "dropdownRef" | "isLoading" | "labelForEmptyItems" | "renderItem" | "renderValue" | "groups" | "getItemLabel" | "getItemKey" | "getItemGroupKey" | "getItemDisabled" | "getGroupLabel" | "getGroupKey" | "labelIcon" | "labelPosition" | "labelForCreate" | "searchFunction" | "searchValue" | "labelForNotFound" | "onCreate" | "onInputChange"> & React.RefAttributes<HTMLDivElement> & (MULTIPLE extends true ? {
152
+ } & Omit<React.HTMLAttributes<HTMLDivElement>, "caption" | "form" | "label" | "view" | "name" | "placeholder" | "onFocus" | "onBlur" | "onChange" | "disabled" | "value" | "multiple" | "required" | "size" | "status" | "css" | "inputRef" | "items" | "dropdownForm" | "ariaLabel" | "dropdownClassName" | "dropdownRef" | "isLoading" | "labelForEmptyItems" | "renderItem" | "renderValue" | "groups" | "getItemLabel" | "getItemKey" | "getItemGroupKey" | "getItemDisabled" | "getGroupLabel" | "getGroupKey" | "labelIcon" | "labelPosition" | "labelForCreate" | "searchFunction" | "searchValue" | "labelForNotFound" | "onInputChange" | "onCreate"> & React.RefAttributes<HTMLDivElement> & (MULTIPLE extends true ? {
153
153
  selectAll?: boolean | undefined;
154
154
  } : {
155
155
  selectAll?: undefined;
@@ -1,6 +1,7 @@
1
1
  import './DatePickerDropdown.css';
2
2
  import React from 'react';
3
3
  import { DateTimePropOnChange, DateTimePropType } from "../../DateTime";
4
+ import { DateTimePropDisableDates } from "../../DateTime/helpers/types";
4
5
  import { DateRange } from "../../../utils/types/Date";
5
6
  import { PropsWithHTMLAttributesAndRef } from "../../../utils/types/PropsWithHTMLAttributes";
6
7
  import { DatePickerAdditionalControlRenderProp, DatePickerPropDateTimeView, DatePickerPropDropdownForm } from '../types';
@@ -26,6 +27,7 @@ export declare type DatePickerDropdownProps = PropsWithHTMLAttributesAndRef<{
26
27
  multiplicityMinutes?: number;
27
28
  multiplicityHours?: number;
28
29
  timeFor?: 'start' | 'end';
30
+ disableDates?: DateTimePropDisableDates;
29
31
  }, HTMLDivElement>;
30
32
  declare type DatePickerDropdownComponent = (props: DatePickerDropdownProps) => React.ReactElement | null;
31
33
  export declare const DatePickerDropdown: DatePickerDropdownComponent;
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerDropdown.js","names":["React","forwardRef","useCallback","useRef","useState","Transition","DateTime","Popover","useFlag","useForkRef","animateTimeout","cnMixPopoverAnimate","cn","DatePickerAdditionalControls","datePickerPropDropdownFormDefault","moveMap","cnDatePickerDropdown","DatePickerDropdown","props","componentRef","form","anchorRef","isOpen","className","zIndex","renderAdditionalControls","otherProps","rootRef","direction","setDirection","visibleAdditionalControls","setVisibleAdditionalControls","onMove","to","type","on","off","ref","animate","currentVisibleDate","view"],"sources":["../../../../../../src/components/DatePicker/DatePickerDropdown/DatePickerDropdown.tsx"],"sourcesContent":["import './DatePickerDropdown.css';\n\nimport React, { forwardRef, useCallback, useRef, useState } from 'react';\nimport { Transition } from 'react-transition-group';\n\nimport {\n DateTime,\n DateTimePropOnChange,\n DateTimePropType,\n MoveType,\n} from '##/components/DateTime';\nimport { Direction, Popover } from '##/components/Popover';\nimport { useFlag } from '##/hooks/useFlag';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { animateTimeout, cnMixPopoverAnimate } from '##/mixs/MixPopoverAnimate';\nimport { cn } from '##/utils/bem';\nimport { DateRange } from '##/utils/types/Date';\nimport { PropsWithHTMLAttributesAndRef } from '##/utils/types/PropsWithHTMLAttributes';\n\nimport { DatePickerAdditionalControls } from '../DatePickerAdditionalControls/DatePickerAdditionalControls';\nimport {\n DatePickerAdditionalControlRenderProp,\n DatePickerPropDateTimeView,\n DatePickerPropDropdownForm,\n datePickerPropDropdownFormDefault,\n} from '../types';\n\nexport type DatePickerDropdownPropOnChange = DateTimePropOnChange;\n\nexport type DatePickerDropdownProps = PropsWithHTMLAttributesAndRef<\n {\n anchorRef: React.RefObject<HTMLElement>;\n currentVisibleDate?: Date;\n type: DateTimePropType;\n value?: Date | DateRange;\n onChange?: DatePickerDropdownPropOnChange;\n minDate?: Date;\n maxDate?: Date;\n events?: Date[];\n view: DatePickerPropDateTimeView;\n locale?: Locale;\n children?: never;\n form?: DatePickerPropDropdownForm;\n isOpen?: boolean;\n onChangeCurrentVisibleDate?: (date: Date) => void;\n zIndex?: number;\n renderAdditionalControls?: DatePickerAdditionalControlRenderProp;\n multiplicitySeconds?: number;\n multiplicityMinutes?: number;\n multiplicityHours?: number;\n timeFor?: 'start' | 'end';\n },\n HTMLDivElement\n>;\n\ntype DatePickerDropdownComponent = (\n props: DatePickerDropdownProps,\n) => React.ReactElement | null;\n\nconst moveMap: Record<DateTimePropType, MoveType> = {\n 'year': 'year',\n 'month': 'month',\n 'date': 'day',\n 'time': 'time',\n 'date-time': 'day',\n};\n\nconst cnDatePickerDropdown = cn('DatePickerDropdown');\n\nexport const DatePickerDropdown: DatePickerDropdownComponent = forwardRef(\n (props, componentRef) => {\n const {\n form = datePickerPropDropdownFormDefault,\n anchorRef,\n isOpen,\n className,\n zIndex,\n renderAdditionalControls,\n ...otherProps\n } = props;\n\n const rootRef = useRef<HTMLDivElement>(null);\n const [direction, setDirection] = useState<Direction>();\n\n const [visibleAdditionalControls, setVisibleAdditionalControls] =\n useFlag(true);\n\n const onMove = useCallback(\n (to: MoveType) => {\n to === moveMap[props.type]\n ? setVisibleAdditionalControls.on()\n : setVisibleAdditionalControls.off();\n },\n [props.type],\n );\n\n const ref = useForkRef([componentRef, rootRef]);\n\n return (\n <Transition\n in={isOpen}\n unmountOnExit\n timeout={animateTimeout}\n nodeRef={rootRef}\n >\n {(animate) => {\n return (\n <Popover\n ref={ref}\n anchorRef={anchorRef}\n className={cnDatePickerDropdown({ form }, [\n className,\n cnMixPopoverAnimate({ direction, animate }),\n ])}\n direction=\"downStartLeft\"\n spareDirection=\"downStartLeft\"\n possibleDirections={[\n 'downStartLeft',\n 'upStartLeft',\n 'downStartRight',\n 'upStartRight',\n ]}\n style={{ zIndex }}\n role=\"listbox\"\n onSetDirection={setDirection}\n >\n <DateTime {...otherProps} onMove={onMove} />\n {visibleAdditionalControls && (\n <DatePickerAdditionalControls\n currentVisibleDate={props.currentVisibleDate}\n renderAdditionalControls={renderAdditionalControls}\n type={props.type}\n view={props.view}\n />\n )}\n </Popover>\n );\n }}\n </Transition>\n );\n },\n);\n"],"mappings":"kPAAA,iCAEA,MAAOA,MAAP,EAAgBC,UAAhB,CAA4BC,WAA5B,CAAyCC,MAAzC,CAAiDC,QAAjD,KAAiE,OAAjE,CACA,OAASC,UAAT,KAA2B,wBAA3B,CAEA,OACEC,QADF,sBAMA,OAAoBC,OAApB,qBACA,OAASC,OAAT,8BACA,OAASC,UAAT,iCACA,OAASC,cAAT,CAAyBC,mBAAzB,uCACA,OAASC,EAAT,0BAIA,OAASC,4BAAT,oEACA,OAIEC,iCAJF,gB,GAuCMC,QAA2C,CAAG,CAClD,KAAQ,MAD0C,CAElD,MAAS,OAFyC,CAGlD,KAAQ,KAH0C,CAIlD,KAAQ,MAJ0C,CAKlD,YAAa,KALqC,C,CAQ9CC,oBAAoB,CAAGJ,EAAE,CAAC,oBAAD,C,CAE/B,MAAO,IAAMK,mBAA+C,CAAGhB,UAAU,CACvE,SAACiB,CAAD,CAAQC,CAAR,CAAyB,OASnBD,CATmB,CAErBE,IAFqB,CAErBA,CAFqB,YAEdN,iCAFc,GAGrBO,CAHqB,CASnBH,CATmB,CAGrBG,SAHqB,CAIrBC,CAJqB,CASnBJ,CATmB,CAIrBI,MAJqB,CAKrBC,CALqB,CASnBL,CATmB,CAKrBK,SALqB,CAMrBC,CANqB,CASnBN,CATmB,CAMrBM,MANqB,CAOrBC,CAPqB,CASnBP,CATmB,CAOrBO,wBAPqB,CAQlBC,CARkB,0BASnBR,CATmB,YAWjBS,CAAO,CAAGxB,MAAM,CAAiB,IAAjB,CAXC,GAYWC,QAAQ,EAZnB,uBAYhBwB,CAZgB,MAYLC,CAZK,QAerBrB,OAAO,IAfc,uBAchBsB,CAdgB,MAcWC,CAdX,MAiBjBC,CAAM,CAAG9B,WAAW,CACxB,SAAC+B,CAAD,CAAkB,CAChBA,CAAE,GAAKlB,OAAO,CAACG,CAAK,CAACgB,IAAP,CAAd,CACIH,CAA4B,CAACI,EAA7B,EADJ,CAEIJ,CAA4B,CAACK,GAA7B,EACL,CALuB,CAMxB,CAAClB,CAAK,CAACgB,IAAP,CANwB,CAjBH,CA0BjBG,CAAG,CAAG5B,UAAU,CAAC,CAACU,CAAD,CAAeQ,CAAf,CAAD,CA1BC,CA4BvB,MACE,qBAAC,UAAD,EACE,GAAIL,CADN,CAEE,aAAa,GAFf,CAGE,OAAO,CAAEZ,cAHX,CAIE,OAAO,CAAEiB,CAJX,EAMG,SAACW,CAAD,CAAa,CACZ,MACE,qBAAC,OAAD,EACE,GAAG,CAAED,CADP,CAEE,SAAS,CAAEhB,CAFb,CAGE,SAAS,CAAEL,oBAAoB,CAAC,CAAEI,IAAI,CAAJA,CAAF,CAAD,CAAW,CACxCG,CADwC,CAExCZ,mBAAmB,CAAC,CAAEiB,SAAS,CAATA,CAAF,CAAaU,OAAO,CAAPA,CAAb,CAAD,CAFqB,CAAX,CAHjC,CAOE,SAAS,CAAC,eAPZ,CAQE,cAAc,CAAC,eARjB,CASE,kBAAkB,CAAE,CAClB,eADkB,CAElB,aAFkB,CAGlB,gBAHkB,CAIlB,cAJkB,CATtB,CAeE,KAAK,CAAE,CAAEd,MAAM,CAANA,CAAF,CAfT,CAgBE,IAAI,CAAC,SAhBP,CAiBE,cAAc,CAAEK,CAjBlB,EAmBE,oBAAC,QAAD,kBAAcH,CAAd,EAA0B,MAAM,CAAEM,CAAlC,GAnBF,CAoBGF,CAAyB,EACxB,oBAAC,4BAAD,EACE,kBAAkB,CAAEZ,CAAK,CAACqB,kBAD5B,CAEE,wBAAwB,CAAEd,CAF5B,CAGE,IAAI,CAAEP,CAAK,CAACgB,IAHd,CAIE,IAAI,CAAEhB,CAAK,CAACsB,IAJd,EArBJ,CA8BH,CAtCH,CAyCH,CAvEsE,CAAlE"}
1
+ {"version":3,"file":"DatePickerDropdown.js","names":["React","forwardRef","useCallback","useRef","useState","Transition","DateTime","Popover","useFlag","useForkRef","animateTimeout","cnMixPopoverAnimate","cn","DatePickerAdditionalControls","datePickerPropDropdownFormDefault","moveMap","cnDatePickerDropdown","DatePickerDropdown","props","componentRef","form","anchorRef","isOpen","className","zIndex","renderAdditionalControls","otherProps","rootRef","direction","setDirection","visibleAdditionalControls","setVisibleAdditionalControls","onMove","to","type","on","off","ref","animate","currentVisibleDate","view"],"sources":["../../../../../../src/components/DatePicker/DatePickerDropdown/DatePickerDropdown.tsx"],"sourcesContent":["import './DatePickerDropdown.css';\n\nimport React, { forwardRef, useCallback, useRef, useState } from 'react';\nimport { Transition } from 'react-transition-group';\n\nimport {\n DateTime,\n DateTimePropOnChange,\n DateTimePropType,\n MoveType,\n} from '##/components/DateTime';\nimport { DateTimePropDisableDates } from '##/components/DateTime/helpers/types';\nimport { Direction, Popover } from '##/components/Popover';\nimport { useFlag } from '##/hooks/useFlag';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { animateTimeout, cnMixPopoverAnimate } from '##/mixs/MixPopoverAnimate';\nimport { cn } from '##/utils/bem';\nimport { DateRange } from '##/utils/types/Date';\nimport { PropsWithHTMLAttributesAndRef } from '##/utils/types/PropsWithHTMLAttributes';\n\nimport { DatePickerAdditionalControls } from '../DatePickerAdditionalControls/DatePickerAdditionalControls';\nimport {\n DatePickerAdditionalControlRenderProp,\n DatePickerPropDateTimeView,\n DatePickerPropDropdownForm,\n datePickerPropDropdownFormDefault,\n} from '../types';\n\nexport type DatePickerDropdownPropOnChange = DateTimePropOnChange;\n\nexport type DatePickerDropdownProps = PropsWithHTMLAttributesAndRef<\n {\n anchorRef: React.RefObject<HTMLElement>;\n currentVisibleDate?: Date;\n type: DateTimePropType;\n value?: Date | DateRange;\n onChange?: DatePickerDropdownPropOnChange;\n minDate?: Date;\n maxDate?: Date;\n events?: Date[];\n view: DatePickerPropDateTimeView;\n locale?: Locale;\n children?: never;\n form?: DatePickerPropDropdownForm;\n isOpen?: boolean;\n onChangeCurrentVisibleDate?: (date: Date) => void;\n zIndex?: number;\n renderAdditionalControls?: DatePickerAdditionalControlRenderProp;\n multiplicitySeconds?: number;\n multiplicityMinutes?: number;\n multiplicityHours?: number;\n timeFor?: 'start' | 'end';\n disableDates?: DateTimePropDisableDates;\n },\n HTMLDivElement\n>;\n\ntype DatePickerDropdownComponent = (\n props: DatePickerDropdownProps,\n) => React.ReactElement | null;\n\nconst moveMap: Record<DateTimePropType, MoveType> = {\n 'year': 'year',\n 'month': 'month',\n 'date': 'day',\n 'time': 'time',\n 'date-time': 'day',\n};\n\nconst cnDatePickerDropdown = cn('DatePickerDropdown');\n\nexport const DatePickerDropdown: DatePickerDropdownComponent = forwardRef(\n (props, componentRef) => {\n const {\n form = datePickerPropDropdownFormDefault,\n anchorRef,\n isOpen,\n className,\n zIndex,\n renderAdditionalControls,\n ...otherProps\n } = props;\n\n const rootRef = useRef<HTMLDivElement>(null);\n const [direction, setDirection] = useState<Direction>();\n\n const [visibleAdditionalControls, setVisibleAdditionalControls] =\n useFlag(true);\n\n const onMove = useCallback(\n (to: MoveType) => {\n to === moveMap[props.type]\n ? setVisibleAdditionalControls.on()\n : setVisibleAdditionalControls.off();\n },\n [props.type],\n );\n\n const ref = useForkRef([componentRef, rootRef]);\n\n return (\n <Transition\n in={isOpen}\n unmountOnExit\n timeout={animateTimeout}\n nodeRef={rootRef}\n >\n {(animate) => {\n return (\n <Popover\n ref={ref}\n anchorRef={anchorRef}\n className={cnDatePickerDropdown({ form }, [\n className,\n cnMixPopoverAnimate({ direction, animate }),\n ])}\n direction=\"downStartLeft\"\n spareDirection=\"downStartLeft\"\n possibleDirections={[\n 'downStartLeft',\n 'upStartLeft',\n 'downStartRight',\n 'upStartRight',\n ]}\n style={{ zIndex }}\n role=\"listbox\"\n onSetDirection={setDirection}\n >\n <DateTime {...otherProps} onMove={onMove} />\n {visibleAdditionalControls && (\n <DatePickerAdditionalControls\n currentVisibleDate={props.currentVisibleDate}\n renderAdditionalControls={renderAdditionalControls}\n type={props.type}\n view={props.view}\n />\n )}\n </Popover>\n );\n }}\n </Transition>\n );\n },\n);\n"],"mappings":"kPAAA,iCAEA,MAAOA,MAAP,EAAgBC,UAAhB,CAA4BC,WAA5B,CAAyCC,MAAzC,CAAiDC,QAAjD,KAAiE,OAAjE,CACA,OAASC,UAAT,KAA2B,wBAA3B,CAEA,OACEC,QADF,sBAOA,OAAoBC,OAApB,qBACA,OAASC,OAAT,8BACA,OAASC,UAAT,iCACA,OAASC,cAAT,CAAyBC,mBAAzB,uCACA,OAASC,EAAT,0BAIA,OAASC,4BAAT,oEACA,OAIEC,iCAJF,gB,GAwCMC,QAA2C,CAAG,CAClD,KAAQ,MAD0C,CAElD,MAAS,OAFyC,CAGlD,KAAQ,KAH0C,CAIlD,KAAQ,MAJ0C,CAKlD,YAAa,KALqC,C,CAQ9CC,oBAAoB,CAAGJ,EAAE,CAAC,oBAAD,C,CAE/B,MAAO,IAAMK,mBAA+C,CAAGhB,UAAU,CACvE,SAACiB,CAAD,CAAQC,CAAR,CAAyB,OASnBD,CATmB,CAErBE,IAFqB,CAErBA,CAFqB,YAEdN,iCAFc,GAGrBO,CAHqB,CASnBH,CATmB,CAGrBG,SAHqB,CAIrBC,CAJqB,CASnBJ,CATmB,CAIrBI,MAJqB,CAKrBC,CALqB,CASnBL,CATmB,CAKrBK,SALqB,CAMrBC,CANqB,CASnBN,CATmB,CAMrBM,MANqB,CAOrBC,CAPqB,CASnBP,CATmB,CAOrBO,wBAPqB,CAQlBC,CARkB,0BASnBR,CATmB,YAWjBS,CAAO,CAAGxB,MAAM,CAAiB,IAAjB,CAXC,GAYWC,QAAQ,EAZnB,uBAYhBwB,CAZgB,MAYLC,CAZK,QAerBrB,OAAO,IAfc,uBAchBsB,CAdgB,MAcWC,CAdX,MAiBjBC,CAAM,CAAG9B,WAAW,CACxB,SAAC+B,CAAD,CAAkB,CAChBA,CAAE,GAAKlB,OAAO,CAACG,CAAK,CAACgB,IAAP,CAAd,CACIH,CAA4B,CAACI,EAA7B,EADJ,CAEIJ,CAA4B,CAACK,GAA7B,EACL,CALuB,CAMxB,CAAClB,CAAK,CAACgB,IAAP,CANwB,CAjBH,CA0BjBG,CAAG,CAAG5B,UAAU,CAAC,CAACU,CAAD,CAAeQ,CAAf,CAAD,CA1BC,CA4BvB,MACE,qBAAC,UAAD,EACE,GAAIL,CADN,CAEE,aAAa,GAFf,CAGE,OAAO,CAAEZ,cAHX,CAIE,OAAO,CAAEiB,CAJX,EAMG,SAACW,CAAD,CAAa,CACZ,MACE,qBAAC,OAAD,EACE,GAAG,CAAED,CADP,CAEE,SAAS,CAAEhB,CAFb,CAGE,SAAS,CAAEL,oBAAoB,CAAC,CAAEI,IAAI,CAAJA,CAAF,CAAD,CAAW,CACxCG,CADwC,CAExCZ,mBAAmB,CAAC,CAAEiB,SAAS,CAATA,CAAF,CAAaU,OAAO,CAAPA,CAAb,CAAD,CAFqB,CAAX,CAHjC,CAOE,SAAS,CAAC,eAPZ,CAQE,cAAc,CAAC,eARjB,CASE,kBAAkB,CAAE,CAClB,eADkB,CAElB,aAFkB,CAGlB,gBAHkB,CAIlB,cAJkB,CATtB,CAeE,KAAK,CAAE,CAAEd,MAAM,CAANA,CAAF,CAfT,CAgBE,IAAI,CAAC,SAhBP,CAiBE,cAAc,CAAEK,CAjBlB,EAmBE,oBAAC,QAAD,kBAAcH,CAAd,EAA0B,MAAM,CAAEM,CAAlC,GAnBF,CAoBGF,CAAyB,EACxB,oBAAC,4BAAD,EACE,kBAAkB,CAAEZ,CAAK,CAACqB,kBAD5B,CAEE,wBAAwB,CAAEd,CAF5B,CAGE,IAAI,CAAEP,CAAK,CAACgB,IAHd,CAIE,IAAI,CAAEhB,CAAK,CAACsB,IAJd,EArBJ,CA8BH,CAtCH,CAyCH,CAvEsE,CAAlE"}
@@ -1,2 +1,2 @@
1
- import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["events","dateTimeView","locale","dropdownClassName","dropdownRef","dropdownForm","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","disabled","inputRef"];import addMonths from"date-fns/addMonths";import startOfMonth from"date-fns/startOfMonth";import React,{forwardRef,useEffect,useRef}from"react";import{useClickOutside}from"../../../hooks/useClickOutside";import{useForkRef}from"../../../hooks/useForkRef";import{setRef}from"../../../utils/setRef";import{DatePickerDropdown}from"../DatePickerDropdown/DatePickerDropdown";import{DatePickerFieldTypeDate}from"../DatePickerFieldTypeDate/DatePickerFieldTypeDate";import{getDropdownZIndex}from"../helpers";import{datePickerPropDateTimeViewDefault}from"../types";import{useCalendarVisible}from"../useCalendarVisible";import{useCurrentVisibleDate}from"../useCurrentVisibleDate";export var DatePickerTypeDate=forwardRef(function(a,b){var c=a.events,d=a.dateTimeView,e=void 0===d?datePickerPropDateTimeViewDefault:d,f=a.locale,g=a.dropdownClassName,h=a.dropdownRef,i=a.dropdownForm,j=a.currentVisibleDate,k=a.onChangeCurrentVisibleDate,l=a.renderAdditionalControls,m=a.onDropdownOpen,n=a.dropdownOpen,o=a.ignoreOutsideClicksRefs,p=a.disabled,q=a.inputRef,r=_objectWithoutProperties(a,_excluded),s=useRef(null),t=useRef(null),u=useRef(null),v=useCalendarVisible({dropdownOpen:n,onDropdownOpen:m,disabled:p,startRef:u}),w=_slicedToArray(v,2),x=w[0],y=w[1],z=useCurrentVisibleDate({currentVisibleDate:j,maxDate:a.maxDate,minDate:a.minDate,value:a.value,startOfUnit:startOfMonth,onChangeCurrentVisibleDate:k,calendarVisible:x}),A=_slicedToArray(z,2),B=A[0],C=A[1];return useEffect(function(){b&&setRef(b,s.current)},[b,s]),useEffect(function(){if(a.value&&"classic"===e&&B){var b=startOfMonth(a.value);return void(b.getTime()!==B.getTime()&&C(b))}if(a.value&&"classic"!==e&&B){var c=startOfMonth(a.value);c.getTime()!==B.getTime()&&c.getTime()!==addMonths(B,1).getTime()&&C(c)}},[a.value]),useClickOutside({isActive:x,ignoreClicksInsideRefs:[s,t].concat(_toConsumableArray(null!==o&&void 0!==o?o:[])),handler:y.off}),React.createElement(React.Fragment,null,React.createElement(DatePickerFieldTypeDate,Object.assign({},r,{disabled:p,ref:s,inputRef:useForkRef([u,q]),onClick:y.on})),React.createElement(DatePickerDropdown,{ref:useForkRef([h,t]),anchorRef:s,isOpen:x,value:a.value||void 0,type:"date",view:e,events:c,locale:f,minDate:a.minDate,className:g,maxDate:a.maxDate,currentVisibleDate:B,form:i,onChange:function onChange(){for(var b,c=arguments.length,d=Array(c),e=0;e<c;e++)d[e]=arguments[e];null===(b=a.onChange)||void 0===b?void 0:b.call.apply(b,[a].concat(d)),y.off()},renderAdditionalControls:l,zIndex:getDropdownZIndex(a.style),onChangeCurrentVisibleDate:C}))});
1
+ import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["events","dateTimeView","locale","dropdownClassName","dropdownRef","dropdownForm","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","disabled","disableDates","inputRef"];import addMonths from"date-fns/addMonths";import startOfMonth from"date-fns/startOfMonth";import React,{forwardRef,useEffect,useRef}from"react";import{useClickOutside}from"../../../hooks/useClickOutside";import{useForkRef}from"../../../hooks/useForkRef";import{setRef}from"../../../utils/setRef";import{DatePickerDropdown}from"../DatePickerDropdown/DatePickerDropdown";import{DatePickerFieldTypeDate}from"../DatePickerFieldTypeDate/DatePickerFieldTypeDate";import{getDropdownZIndex}from"../helpers";import{datePickerPropDateTimeViewDefault}from"../types";import{useCalendarVisible}from"../useCalendarVisible";import{useCurrentVisibleDate}from"../useCurrentVisibleDate";export var DatePickerTypeDate=forwardRef(function(a,b){var c=a.events,d=a.dateTimeView,e=void 0===d?datePickerPropDateTimeViewDefault:d,f=a.locale,g=a.dropdownClassName,h=a.dropdownRef,i=a.dropdownForm,j=a.currentVisibleDate,k=a.onChangeCurrentVisibleDate,l=a.renderAdditionalControls,m=a.onDropdownOpen,n=a.dropdownOpen,o=a.ignoreOutsideClicksRefs,p=a.disabled,q=a.disableDates,r=a.inputRef,s=_objectWithoutProperties(a,_excluded),t=useRef(null),u=useRef(null),v=useRef(null),w=useCalendarVisible({dropdownOpen:n,onDropdownOpen:m,disabled:p,startRef:v}),x=_slicedToArray(w,2),y=x[0],z=x[1],A=useCurrentVisibleDate({currentVisibleDate:j,maxDate:a.maxDate,minDate:a.minDate,value:a.value,startOfUnit:startOfMonth,onChangeCurrentVisibleDate:k,calendarVisible:y}),B=_slicedToArray(A,2),C=B[0],D=B[1];return useEffect(function(){b&&setRef(b,t.current)},[b,t]),useEffect(function(){if(a.value&&"classic"===e&&C){var b=startOfMonth(a.value);return void(b.getTime()!==C.getTime()&&D(b))}if(a.value&&"classic"!==e&&C){var c=startOfMonth(a.value);c.getTime()!==C.getTime()&&c.getTime()!==addMonths(C,1).getTime()&&D(c)}},[a.value]),useClickOutside({isActive:y,ignoreClicksInsideRefs:[t,u].concat(_toConsumableArray(null!==o&&void 0!==o?o:[])),handler:z.off}),React.createElement(React.Fragment,null,React.createElement(DatePickerFieldTypeDate,Object.assign({},s,{disabled:p,ref:t,inputRef:useForkRef([v,r]),onClick:z.on})),React.createElement(DatePickerDropdown,{ref:useForkRef([h,u]),anchorRef:t,isOpen:y,value:a.value||void 0,type:"date",view:e,events:c,locale:f,minDate:a.minDate,className:g,maxDate:a.maxDate,currentVisibleDate:C,form:i,onChange:function onChange(){for(var b,c=arguments.length,d=Array(c),e=0;e<c;e++)d[e]=arguments[e];null===(b=a.onChange)||void 0===b?void 0:b.call.apply(b,[a].concat(d)),z.off()},renderAdditionalControls:l,zIndex:getDropdownZIndex(a.style),onChangeCurrentVisibleDate:D}))});
2
2
  //# sourceMappingURL=DatePickerTypeDate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerTypeDate.js","names":["addMonths","startOfMonth","React","forwardRef","useEffect","useRef","useClickOutside","useForkRef","setRef","DatePickerDropdown","DatePickerFieldTypeDate","getDropdownZIndex","datePickerPropDateTimeViewDefault","useCalendarVisible","useCurrentVisibleDate","DatePickerTypeDate","props","ref","events","dateTimeView","locale","dropdownClassName","dropdownRef","dropdownForm","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","disabled","inputRefProp","inputRef","otherProps","fieldRef","calendarRef","startRef","calendarVisible","setCalendarVisible","maxDate","minDate","value","startOfUnit","setCurrentVisibleDate","current","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","off","on","args","onChange","style"],"sources":["../../../../../../src/components/DatePicker/DatePickerTypeDate/DatePickerTypeDate.tsx"],"sourcesContent":["import addMonths from 'date-fns/addMonths';\nimport startOfMonth from 'date-fns/startOfMonth';\nimport React, { forwardRef, useEffect, useRef } from 'react';\n\nimport { useClickOutside } from '##/hooks/useClickOutside';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { setRef } from '##/utils/setRef';\n\nimport { DatePickerDropdown } from '../DatePickerDropdown/DatePickerDropdown';\nimport { DatePickerFieldTypeDate } from '../DatePickerFieldTypeDate/DatePickerFieldTypeDate';\nimport { getDropdownZIndex } from '../helpers';\nimport {\n datePickerPropDateTimeViewDefault,\n DatePickerTypeComponent,\n} from '../types';\nimport { useCalendarVisible } from '../useCalendarVisible';\nimport { useCurrentVisibleDate } from '../useCurrentVisibleDate';\n\nexport const DatePickerTypeDate: DatePickerTypeComponent<'date'> = forwardRef(\n (props, ref) => {\n const {\n events,\n dateTimeView = datePickerPropDateTimeViewDefault,\n locale,\n dropdownClassName,\n dropdownRef,\n dropdownForm,\n currentVisibleDate: currentVisibleDateProp,\n onChangeCurrentVisibleDate,\n renderAdditionalControls,\n onDropdownOpen,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n disabled,\n inputRef: inputRefProp,\n ...otherProps\n } = props;\n\n const fieldRef = useRef<HTMLDivElement>(null);\n const calendarRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n\n const [calendarVisible, setCalendarVisible] = useCalendarVisible({\n dropdownOpen,\n onDropdownOpen,\n disabled,\n startRef: inputRef,\n });\n\n const [currentVisibleDate, setCurrentVisibleDate] = useCurrentVisibleDate({\n currentVisibleDate: currentVisibleDateProp,\n maxDate: props.maxDate,\n minDate: props.minDate,\n value: props.value,\n startOfUnit: startOfMonth,\n onChangeCurrentVisibleDate,\n calendarVisible,\n });\n\n useEffect(() => {\n if (ref) {\n setRef(ref, fieldRef.current);\n }\n }, [ref, fieldRef]);\n\n useEffect(() => {\n if (props.value && dateTimeView === 'classic' && currentVisibleDate) {\n const newVisibleDate = startOfMonth(props.value);\n if (newVisibleDate.getTime() !== currentVisibleDate.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n return;\n }\n if (props.value && dateTimeView !== 'classic' && currentVisibleDate) {\n const newVisibleDate = startOfMonth(props.value);\n if (\n newVisibleDate.getTime() !== currentVisibleDate.getTime() &&\n newVisibleDate.getTime() !==\n addMonths(currentVisibleDate, 1).getTime()\n ) {\n setCurrentVisibleDate(newVisibleDate);\n }\n }\n }, [props.value]);\n\n useClickOutside({\n isActive: calendarVisible,\n ignoreClicksInsideRefs: [\n fieldRef,\n calendarRef,\n ...(ignoreOutsideClicksRefs ?? []),\n ],\n handler: setCalendarVisible.off,\n });\n\n return (\n <>\n <DatePickerFieldTypeDate\n {...otherProps}\n disabled={disabled}\n ref={fieldRef}\n inputRef={useForkRef([inputRef, inputRefProp])}\n onClick={setCalendarVisible.on}\n />\n <DatePickerDropdown\n ref={useForkRef([dropdownRef, calendarRef])}\n anchorRef={fieldRef}\n isOpen={calendarVisible}\n value={props.value || undefined}\n type=\"date\"\n view={dateTimeView}\n events={events}\n locale={locale}\n minDate={props.minDate}\n className={dropdownClassName}\n maxDate={props.maxDate}\n currentVisibleDate={currentVisibleDate}\n form={dropdownForm}\n onChange={(...args) => {\n props.onChange?.(...args);\n setCalendarVisible.off();\n }}\n renderAdditionalControls={renderAdditionalControls}\n zIndex={getDropdownZIndex(props.style)}\n onChangeCurrentVisibleDate={setCurrentVisibleDate}\n />\n </>\n );\n },\n);\n"],"mappings":"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"}
1
+ {"version":3,"file":"DatePickerTypeDate.js","names":["addMonths","startOfMonth","React","forwardRef","useEffect","useRef","useClickOutside","useForkRef","setRef","DatePickerDropdown","DatePickerFieldTypeDate","getDropdownZIndex","datePickerPropDateTimeViewDefault","useCalendarVisible","useCurrentVisibleDate","DatePickerTypeDate","props","ref","events","dateTimeView","locale","dropdownClassName","dropdownRef","dropdownForm","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","disabled","disableDates","inputRefProp","inputRef","otherProps","fieldRef","calendarRef","startRef","calendarVisible","setCalendarVisible","maxDate","minDate","value","startOfUnit","setCurrentVisibleDate","current","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","off","on","args","onChange","style"],"sources":["../../../../../../src/components/DatePicker/DatePickerTypeDate/DatePickerTypeDate.tsx"],"sourcesContent":["import addMonths from 'date-fns/addMonths';\nimport startOfMonth from 'date-fns/startOfMonth';\nimport React, { forwardRef, useEffect, useRef } from 'react';\n\nimport { useClickOutside } from '##/hooks/useClickOutside';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { setRef } from '##/utils/setRef';\n\nimport { DatePickerDropdown } from '../DatePickerDropdown/DatePickerDropdown';\nimport { DatePickerFieldTypeDate } from '../DatePickerFieldTypeDate/DatePickerFieldTypeDate';\nimport { getDropdownZIndex } from '../helpers';\nimport {\n datePickerPropDateTimeViewDefault,\n DatePickerTypeComponent,\n} from '../types';\nimport { useCalendarVisible } from '../useCalendarVisible';\nimport { useCurrentVisibleDate } from '../useCurrentVisibleDate';\n\nexport const DatePickerTypeDate: DatePickerTypeComponent<'date'> = forwardRef(\n (props, ref) => {\n const {\n events,\n dateTimeView = datePickerPropDateTimeViewDefault,\n locale,\n dropdownClassName,\n dropdownRef,\n dropdownForm,\n currentVisibleDate: currentVisibleDateProp,\n onChangeCurrentVisibleDate,\n renderAdditionalControls,\n onDropdownOpen,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n disabled,\n disableDates,\n inputRef: inputRefProp,\n ...otherProps\n } = props;\n\n const fieldRef = useRef<HTMLDivElement>(null);\n const calendarRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n\n const [calendarVisible, setCalendarVisible] = useCalendarVisible({\n dropdownOpen,\n onDropdownOpen,\n disabled,\n startRef: inputRef,\n });\n\n const [currentVisibleDate, setCurrentVisibleDate] = useCurrentVisibleDate({\n currentVisibleDate: currentVisibleDateProp,\n maxDate: props.maxDate,\n minDate: props.minDate,\n value: props.value,\n startOfUnit: startOfMonth,\n onChangeCurrentVisibleDate,\n calendarVisible,\n });\n\n useEffect(() => {\n if (ref) {\n setRef(ref, fieldRef.current);\n }\n }, [ref, fieldRef]);\n\n useEffect(() => {\n if (props.value && dateTimeView === 'classic' && currentVisibleDate) {\n const newVisibleDate = startOfMonth(props.value);\n if (newVisibleDate.getTime() !== currentVisibleDate.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n return;\n }\n if (props.value && dateTimeView !== 'classic' && currentVisibleDate) {\n const newVisibleDate = startOfMonth(props.value);\n if (\n newVisibleDate.getTime() !== currentVisibleDate.getTime() &&\n newVisibleDate.getTime() !==\n addMonths(currentVisibleDate, 1).getTime()\n ) {\n setCurrentVisibleDate(newVisibleDate);\n }\n }\n }, [props.value]);\n\n useClickOutside({\n isActive: calendarVisible,\n ignoreClicksInsideRefs: [\n fieldRef,\n calendarRef,\n ...(ignoreOutsideClicksRefs ?? []),\n ],\n handler: setCalendarVisible.off,\n });\n\n return (\n <>\n <DatePickerFieldTypeDate\n {...otherProps}\n disabled={disabled}\n ref={fieldRef}\n inputRef={useForkRef([inputRef, inputRefProp])}\n onClick={setCalendarVisible.on}\n />\n <DatePickerDropdown\n ref={useForkRef([dropdownRef, calendarRef])}\n anchorRef={fieldRef}\n isOpen={calendarVisible}\n value={props.value || undefined}\n type=\"date\"\n view={dateTimeView}\n events={events}\n locale={locale}\n minDate={props.minDate}\n className={dropdownClassName}\n maxDate={props.maxDate}\n currentVisibleDate={currentVisibleDate}\n form={dropdownForm}\n onChange={(...args) => {\n props.onChange?.(...args);\n setCalendarVisible.off();\n }}\n renderAdditionalControls={renderAdditionalControls}\n zIndex={getDropdownZIndex(props.style)}\n onChangeCurrentVisibleDate={setCurrentVisibleDate}\n />\n </>\n );\n },\n);\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["events","dateTimeView","locale","dropdownForm","onFocus","onBlur","leftSide","rightSide","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","dropdownClassName","dropdownRef","name","placeholder","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","disabled"];import addMonths from"date-fns/addMonths";import startOfMonth from"date-fns/startOfMonth";import React,{forwardRef,useCallback,useEffect,useRef,useState}from"react";import{useClickOutside}from"../../../hooks/useClickOutside";import{useForkRef}from"../../../hooks/useForkRef";import{DatePickerDropdown}from"../DatePickerDropdown/DatePickerDropdown";import{DatePickerFieldTypeDateRange}from"../DatePickerFieldTypeDateRange/DatePickerFieldTypeDateRange";import{getDropdownZIndex,getFieldName,normalizeRangeValue}from"../helpers";import{datePickerPropDateTimeViewDefault}from"../types";import{useCalendarVisible}from"../useCalendarVisible";import{useCurrentVisibleDate}from"../useCurrentVisibleDate";export var DatePickerTypeDateRange=forwardRef(function(a,b){var c,d,e,f,g=a.events,h=a.dateTimeView,i=void 0===h?datePickerPropDateTimeViewDefault:h,j=a.locale,k=a.dropdownForm,l=a.onFocus,m=a.onBlur,n=a.leftSide,o=a.rightSide,p=a.currentVisibleDate,q=a.onChangeCurrentVisibleDate,r=a.renderAdditionalControls,s=a.inputRef,t=a.dropdownClassName,u=a.dropdownRef,v=a.name,w=a.placeholder,x=a.onDropdownOpen,y=a.dropdownOpen,z=a.ignoreOutsideClicksRefs,A=a.disabled,B=_objectWithoutProperties(a,_excluded),C=useRef(null),D=useRef(null),E=useRef(null),F=useRef(null),G=useRef(null),H=useState(!1),I=_slicedToArray(H,2),J=I[0],K=I[1],L="start"===J,M="end"===J,N=useCalendarVisible({dropdownOpen:y,onDropdownOpen:x,disabled:A,startRef:E,endRef:F}),O=_slicedToArray(N,2),P=O[0],Q=O[1],R=useCurrentVisibleDate({currentVisibleDate:p,maxDate:a.maxDate,minDate:a.minDate,value:a.value,startOfUnit:startOfMonth,onChangeCurrentVisibleDate:q,calendarVisible:P}),S=_slicedToArray(R,2),T=S[0],U=S[1];return useEffect(function(){var b,c;if(null!==(b=a.value)&&void 0!==b&&b[0]&&"classic"===i&&L){var d=startOfMonth(a.value[0]);return void(d.getTime()!==(null===T||void 0===T?void 0:T.getTime())&&U(d))}if(null!==(c=a.value)&&void 0!==c&&c[0]&&"classic"!==i&&L){var e=startOfMonth(a.value[0]);e.getTime()!==(null===T||void 0===T?void 0:T.getTime())&&e.getTime()!==(T&&addMonths(T,1).getTime())&&U(e)}},[null===(c=a.value)||void 0===c||null===(d=c[0])||void 0===d?void 0:d.getTime(),P,L]),useEffect(function(){var b,c;if(null!==(b=a.value)&&void 0!==b&&b[1]&&"classic"===i&&M){var d=startOfMonth(a.value[1]);return void(d.getTime()!==(null===T||void 0===T?void 0:T.getTime())&&U(d))}if(null!==(c=a.value)&&void 0!==c&&c[1]&&"classic"!==i&&M){var e=startOfMonth(a.value[1]);e.getTime()!==(null===T||void 0===T?void 0:T.getTime())&&e.getTime()!==(T&&addMonths(T,1).getTime())&&U(addMonths(e,-1))}},[null===(e=a.value)||void 0===e||null===(f=e[1])||void 0===f?void 0:f.getTime(),P,M]),useClickOutside({isActive:P,ignoreClicksInsideRefs:[C,D,G].concat(_toConsumableArray(null!==z&&void 0!==z?z:[])),handler:useCallback(function(){K(!1),Q.off()},[])}),React.createElement(React.Fragment,null,React.createElement(DatePickerFieldTypeDateRange,Object.assign({},B,{ref:b,startFieldRef:C,endFieldRef:D,startFieldInputRef:useForkRef([E,null===s||void 0===s?void 0:s[0]]),endFieldInputRef:useForkRef([F,null===s||void 0===s?void 0:s[1]]),startFieldOnFocus:function startFieldOnFocusHandler(a){var b;K("start"),Array.isArray(l)?null===(b=l[0])||void 0===b?void 0:b.call(l,a):null===l||void 0===l?void 0:l(a)},endFieldOnFocus:function endFieldOnFocusHandler(a){var b;K("end"),Array.isArray(l)?null===(b=l[1])||void 0===b?void 0:b.call(l,a):null===l||void 0===l?void 0:l(a)},startFieldLeftSide:Array.isArray(n)?null===n||void 0===n?void 0:n[0]:n,startFieldRightSide:Array.isArray(o)?null===o||void 0===o?void 0:o[0]:void 0,endFieldLeftSide:Array.isArray(n)?null===n||void 0===n?void 0:n[1]:void 0,endFieldRightSide:Array.isArray(o)?null===o||void 0===o?void 0:o[1]:o,startFieldOnBlur:function startFieldOnBlurHandler(a){var b;return Array.isArray(m)?null===(b=m[0])||void 0===b?void 0:b.call(m,a):null===m||void 0===m?void 0:m(a)},startFieldOnClick:Q.on,endFieldOnClick:Q.on,endFieldOnBlur:function endFieldOnBlurHandler(a){var b;return Array.isArray(m)?null===(b=m[1])||void 0===b?void 0:b.call(m,a):null===m||void 0===m?void 0:m(a)},startFocused:L,endFocused:M,startFieldName:getFieldName(v,0),endFieldName:getFieldName(v,1),startFieldPlaceholder:Array.isArray(w)?null===w||void 0===w?void 0:w[0]:w,endFieldPlaceholder:Array.isArray(w)?null===w||void 0===w?void 0:w[1]:w,disabled:A})),React.createElement(DatePickerDropdown,{type:"date",ref:useForkRef([u,G]),anchorRef:C,className:t,isOpen:P,onChangeCurrentVisibleDate:U,currentVisibleDate:T,value:a.value||void 0,view:i,events:g,locale:j,minDate:a.minDate,maxDate:a.maxDate,form:k,onChange:function hadleChange(b,c){var d=c.e;if(L){var e,f,g=normalizeRangeValue([b,null===a||void 0===a||null===(e=a.value)||void 0===e?void 0:e[1]]);null===(f=a.onChange)||void 0===f?void 0:f.call(a,g,{e:d})}if(M){var h,i,j=normalizeRangeValue([null===a||void 0===a||null===(h=a.value)||void 0===h?void 0:h[0],b]);null===(i=a.onChange)||void 0===i?void 0:i.call(a,j,{e:d})}},renderAdditionalControls:r,zIndex:getDropdownZIndex(a.style)}))});
1
+ import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["events","dateTimeView","locale","dropdownForm","onFocus","onBlur","leftSide","rightSide","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","inputRef","dropdownClassName","dropdownRef","name","placeholder","onDropdownOpen","dropdownOpen","ignoreOutsideClicksRefs","disabled","disableDates"];import addMonths from"date-fns/addMonths";import startOfMonth from"date-fns/startOfMonth";import React,{forwardRef,useCallback,useEffect,useRef,useState}from"react";import{useClickOutside}from"../../../hooks/useClickOutside";import{useForkRef}from"../../../hooks/useForkRef";import{DatePickerDropdown}from"../DatePickerDropdown/DatePickerDropdown";import{DatePickerFieldTypeDateRange}from"../DatePickerFieldTypeDateRange/DatePickerFieldTypeDateRange";import{getDropdownZIndex,getFieldName,normalizeRangeValue}from"../helpers";import{datePickerPropDateTimeViewDefault}from"../types";import{useCalendarVisible}from"../useCalendarVisible";import{useCurrentVisibleDate}from"../useCurrentVisibleDate";export var DatePickerTypeDateRange=forwardRef(function(a,b){var c,d,e,f,g=a.events,h=a.dateTimeView,i=void 0===h?datePickerPropDateTimeViewDefault:h,j=a.locale,k=a.dropdownForm,l=a.onFocus,m=a.onBlur,n=a.leftSide,o=a.rightSide,p=a.currentVisibleDate,q=a.onChangeCurrentVisibleDate,r=a.renderAdditionalControls,s=a.inputRef,t=a.dropdownClassName,u=a.dropdownRef,v=a.name,w=a.placeholder,x=a.onDropdownOpen,y=a.dropdownOpen,z=a.ignoreOutsideClicksRefs,A=a.disabled,B=a.disableDates,C=_objectWithoutProperties(a,_excluded),D=useRef(null),E=useRef(null),F=useRef(null),G=useRef(null),H=useRef(null),I=useState(!1),J=_slicedToArray(I,2),K=J[0],L=J[1],M="start"===K,N="end"===K,O=useCalendarVisible({dropdownOpen:y,onDropdownOpen:x,disabled:A,startRef:F,endRef:G}),P=_slicedToArray(O,2),Q=P[0],R=P[1],S=useCurrentVisibleDate({currentVisibleDate:p,maxDate:a.maxDate,minDate:a.minDate,value:a.value,startOfUnit:startOfMonth,onChangeCurrentVisibleDate:q,calendarVisible:Q}),T=_slicedToArray(S,2),U=T[0],V=T[1];return useEffect(function(){var b,c;if(null!==(b=a.value)&&void 0!==b&&b[0]&&"classic"===i&&M){var d=startOfMonth(a.value[0]);return void(d.getTime()!==(null===U||void 0===U?void 0:U.getTime())&&V(d))}if(null!==(c=a.value)&&void 0!==c&&c[0]&&"classic"!==i&&M){var e=startOfMonth(a.value[0]);e.getTime()!==(null===U||void 0===U?void 0:U.getTime())&&e.getTime()!==(U&&addMonths(U,1).getTime())&&V(e)}},[null===(c=a.value)||void 0===c||null===(d=c[0])||void 0===d?void 0:d.getTime(),Q,M]),useEffect(function(){var b,c;if(null!==(b=a.value)&&void 0!==b&&b[1]&&"classic"===i&&N){var d=startOfMonth(a.value[1]);return void(d.getTime()!==(null===U||void 0===U?void 0:U.getTime())&&V(d))}if(null!==(c=a.value)&&void 0!==c&&c[1]&&"classic"!==i&&N){var e=startOfMonth(a.value[1]);e.getTime()!==(null===U||void 0===U?void 0:U.getTime())&&e.getTime()!==(U&&addMonths(U,1).getTime())&&V(addMonths(e,-1))}},[null===(e=a.value)||void 0===e||null===(f=e[1])||void 0===f?void 0:f.getTime(),Q,N]),useClickOutside({isActive:Q,ignoreClicksInsideRefs:[D,E,H].concat(_toConsumableArray(null!==z&&void 0!==z?z:[])),handler:useCallback(function(){L(!1),R.off()},[])}),React.createElement(React.Fragment,null,React.createElement(DatePickerFieldTypeDateRange,Object.assign({},C,{ref:b,startFieldRef:D,endFieldRef:E,startFieldInputRef:useForkRef([F,null===s||void 0===s?void 0:s[0]]),endFieldInputRef:useForkRef([G,null===s||void 0===s?void 0:s[1]]),startFieldOnFocus:function startFieldOnFocusHandler(a){var b;L("start"),Array.isArray(l)?null===(b=l[0])||void 0===b?void 0:b.call(l,a):null===l||void 0===l?void 0:l(a)},endFieldOnFocus:function endFieldOnFocusHandler(a){var b;L("end"),Array.isArray(l)?null===(b=l[1])||void 0===b?void 0:b.call(l,a):null===l||void 0===l?void 0:l(a)},startFieldLeftSide:Array.isArray(n)?null===n||void 0===n?void 0:n[0]:n,startFieldRightSide:Array.isArray(o)?null===o||void 0===o?void 0:o[0]:void 0,endFieldLeftSide:Array.isArray(n)?null===n||void 0===n?void 0:n[1]:void 0,endFieldRightSide:Array.isArray(o)?null===o||void 0===o?void 0:o[1]:o,startFieldOnBlur:function startFieldOnBlurHandler(a){var b;return Array.isArray(m)?null===(b=m[0])||void 0===b?void 0:b.call(m,a):null===m||void 0===m?void 0:m(a)},startFieldOnClick:R.on,endFieldOnClick:R.on,endFieldOnBlur:function endFieldOnBlurHandler(a){var b;return Array.isArray(m)?null===(b=m[1])||void 0===b?void 0:b.call(m,a):null===m||void 0===m?void 0:m(a)},startFocused:M,endFocused:N,startFieldName:getFieldName(v,0),endFieldName:getFieldName(v,1),startFieldPlaceholder:Array.isArray(w)?null===w||void 0===w?void 0:w[0]:w,endFieldPlaceholder:Array.isArray(w)?null===w||void 0===w?void 0:w[1]:w,disabled:A})),React.createElement(DatePickerDropdown,{type:"date",ref:useForkRef([u,H]),anchorRef:D,className:t,isOpen:Q,onChangeCurrentVisibleDate:V,currentVisibleDate:U,value:a.value||void 0,view:i,events:g,locale:j,minDate:a.minDate,maxDate:a.maxDate,form:k,onChange:function hadleChange(b,c){var d=c.e;if(M){var e,f,g=normalizeRangeValue([b,null===a||void 0===a||null===(e=a.value)||void 0===e?void 0:e[1]]);null===(f=a.onChange)||void 0===f?void 0:f.call(a,g,{e:d})}if(N){var h,i,j=normalizeRangeValue([null===a||void 0===a||null===(h=a.value)||void 0===h?void 0:h[0],b]);null===(i=a.onChange)||void 0===i?void 0:i.call(a,j,{e:d})}},renderAdditionalControls:r,zIndex:getDropdownZIndex(a.style),disableDates:B}))});
2
2
  //# sourceMappingURL=DatePickerTypeDateRange.js.map