@consta/uikit 4.26.1 → 4.28.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 (158) hide show
  1. package/ChipsCanary/index.d.ts +1 -0
  2. package/ChipsCanary/index.js +1 -0
  3. package/LoaderCanary/index.d.ts +1 -0
  4. package/LoaderCanary/index.js +1 -0
  5. package/__internal__/src/components/Badge/Badge.css +1 -1
  6. package/__internal__/src/components/Badge/Badge.d.ts +1 -1
  7. package/__internal__/src/components/Badge/Badge.js +1 -1
  8. package/__internal__/src/components/Badge/Badge.js.map +1 -1
  9. package/__internal__/src/components/BadgeGroup/BadgeGroup.js +1 -1
  10. package/__internal__/src/components/BadgeGroup/BadgeGroup.js.map +1 -1
  11. package/__internal__/src/components/BadgeGroup/helper.d.ts +0 -1
  12. package/__internal__/src/components/BadgeGroup/helper.js +1 -1
  13. package/__internal__/src/components/BadgeGroup/helper.js.map +1 -1
  14. package/__internal__/src/components/Button/Button.css +1 -1
  15. package/__internal__/src/components/CheckboxGroup/CheckboxGroup.js +1 -1
  16. package/__internal__/src/components/CheckboxGroup/CheckboxGroup.js.map +1 -1
  17. package/__internal__/src/components/CheckboxGroup/helper.d.ts +3 -1
  18. package/__internal__/src/components/CheckboxGroup/helper.js +1 -1
  19. package/__internal__/src/components/CheckboxGroup/helper.js.map +1 -1
  20. package/__internal__/src/components/CheckboxGroup/types.d.ts +9 -1
  21. package/__internal__/src/components/CheckboxGroup/types.js.map +1 -1
  22. package/__internal__/src/components/ChipsCanary/Chips.css +1 -0
  23. package/__internal__/src/components/ChipsCanary/ChipsCanary.d.ts +3 -0
  24. package/__internal__/src/components/ChipsCanary/ChipsCanary.js +2 -0
  25. package/__internal__/src/components/ChipsCanary/ChipsCanary.js.map +1 -0
  26. package/__internal__/src/components/ChipsCanary/ChipsChoice/ChipsChoice.d.ts +4 -0
  27. package/__internal__/src/components/ChipsCanary/ChipsChoice/ChipsChoice.js +2 -0
  28. package/__internal__/src/components/ChipsCanary/ChipsChoice/ChipsChoice.js.map +1 -0
  29. package/__internal__/src/components/ChipsCanary/ChipsChoice/index.d.ts +2 -0
  30. package/__internal__/src/components/ChipsCanary/ChipsChoice/index.js +2 -0
  31. package/__internal__/src/components/ChipsCanary/ChipsChoice/index.js.map +1 -0
  32. package/__internal__/src/components/ChipsCanary/ChipsChoice/types.d.ts +29 -0
  33. package/__internal__/src/components/ChipsCanary/ChipsChoice/types.js +2 -0
  34. package/__internal__/src/components/ChipsCanary/ChipsChoice/types.js.map +1 -0
  35. package/__internal__/src/components/ChipsCanary/ChipsItem/ChipsItem.css +3 -0
  36. package/__internal__/src/components/ChipsCanary/ChipsItem/ChipsItem.d.ts +3 -0
  37. package/__internal__/src/components/ChipsCanary/ChipsItem/ChipsItem.js +2 -0
  38. package/__internal__/src/components/ChipsCanary/ChipsItem/ChipsItem.js.map +1 -0
  39. package/__internal__/src/components/ChipsCanary/ChipsItem/index.d.ts +1 -0
  40. package/__internal__/src/components/ChipsCanary/ChipsItem/index.js +2 -0
  41. package/__internal__/src/components/ChipsCanary/ChipsItem/index.js.map +1 -0
  42. package/__internal__/src/components/ChipsCanary/helpers.d.ts +39 -0
  43. package/__internal__/src/components/ChipsCanary/helpers.js +2 -0
  44. package/__internal__/src/components/ChipsCanary/helpers.js.map +1 -0
  45. package/__internal__/src/components/ChipsCanary/index.d.ts +4 -0
  46. package/__internal__/src/components/ChipsCanary/index.js +2 -0
  47. package/__internal__/src/components/ChipsCanary/index.js.map +1 -0
  48. package/__internal__/src/components/ChipsCanary/types.d.ts +62 -0
  49. package/__internal__/src/components/ChipsCanary/types.js +2 -0
  50. package/__internal__/src/components/ChipsCanary/types.js.map +1 -0
  51. package/__internal__/src/components/ChoiceGroup/ChoiceGroup.js +1 -1
  52. package/__internal__/src/components/ChoiceGroup/ChoiceGroup.js.map +1 -1
  53. package/__internal__/src/components/ChoiceGroup/Item/ChoiceGroup-Item.d.ts +7 -9
  54. package/__internal__/src/components/ChoiceGroup/Item/ChoiceGroup-Item.js +1 -1
  55. package/__internal__/src/components/ChoiceGroup/Item/ChoiceGroup-Item.js.map +1 -1
  56. package/__internal__/src/components/ChoiceGroup/helper.d.ts +3 -1
  57. package/__internal__/src/components/ChoiceGroup/helper.js +1 -1
  58. package/__internal__/src/components/ChoiceGroup/helper.js.map +1 -1
  59. package/__internal__/src/components/ChoiceGroup/types.d.ts +7 -1
  60. package/__internal__/src/components/ChoiceGroup/types.js.map +1 -1
  61. package/__internal__/src/components/ComboboxCanary/ComboboxCanary.js +1 -1
  62. package/__internal__/src/components/ComboboxCanary/ComboboxCanary.js.map +1 -1
  63. package/__internal__/src/components/ComboboxCanary/helpers.d.ts +4 -0
  64. package/__internal__/src/components/ComboboxCanary/helpers.js.map +1 -1
  65. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateRange/DatePickerFieldTypeDateRange.d.ts +2 -0
  66. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateRange/DatePickerFieldTypeDateRange.js +1 -1
  67. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateRange/DatePickerFieldTypeDateRange.js.map +1 -1
  68. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateRange/helpers.d.ts +3 -1
  69. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateRange/helpers.js.map +1 -1
  70. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTimeRange/DatePickerFieldTypeDateTimeRange.d.ts +2 -0
  71. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTimeRange/DatePickerFieldTypeDateTimeRange.js +1 -1
  72. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTimeRange/DatePickerFieldTypeDateTimeRange.js.map +1 -1
  73. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTimeRange/helpers.d.ts +2 -0
  74. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTimeRange/helpers.js.map +1 -1
  75. package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonthRange/DatePickerFieldTypeMonthRange.d.ts +2 -0
  76. package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonthRange/DatePickerFieldTypeMonthRange.js +1 -1
  77. package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonthRange/DatePickerFieldTypeMonthRange.js.map +1 -1
  78. package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonthRange/helpers.d.ts +2 -0
  79. package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonthRange/helpers.js.map +1 -1
  80. package/__internal__/src/components/DatePicker/DatePickerFieldTypeYearRange/DatePickerFieldTypeYearRange.d.ts +2 -0
  81. package/__internal__/src/components/DatePicker/DatePickerFieldTypeYearRange/DatePickerFieldTypeYearRange.js +1 -1
  82. package/__internal__/src/components/DatePicker/DatePickerFieldTypeYearRange/DatePickerFieldTypeYearRange.js.map +1 -1
  83. package/__internal__/src/components/DatePicker/DatePickerFieldTypeYearRange/helpers.d.ts +2 -0
  84. package/__internal__/src/components/DatePicker/DatePickerFieldTypeYearRange/helpers.js.map +1 -1
  85. package/__internal__/src/components/DatePicker/DatePickerTypeDate/DatePickerTypeDate.js +1 -1
  86. package/__internal__/src/components/DatePicker/DatePickerTypeDate/DatePickerTypeDate.js.map +1 -1
  87. package/__internal__/src/components/DatePicker/DatePickerTypeDateRange/DatePickerTypeDateRange.js +1 -1
  88. package/__internal__/src/components/DatePicker/DatePickerTypeDateRange/DatePickerTypeDateRange.js.map +1 -1
  89. package/__internal__/src/components/DatePicker/DatePickerTypeDateTime/DatePickerTypeDateTime.js +1 -1
  90. package/__internal__/src/components/DatePicker/DatePickerTypeDateTime/DatePickerTypeDateTime.js.map +1 -1
  91. package/__internal__/src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.js +1 -1
  92. package/__internal__/src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.js.map +1 -1
  93. package/__internal__/src/components/DatePicker/DatePickerTypeMonth/DatePickerTypeMonth.js +1 -1
  94. package/__internal__/src/components/DatePicker/DatePickerTypeMonth/DatePickerTypeMonth.js.map +1 -1
  95. package/__internal__/src/components/DatePicker/DatePickerTypeMonthRange/DatePickerTypeMonthRange.js +1 -1
  96. package/__internal__/src/components/DatePicker/DatePickerTypeMonthRange/DatePickerTypeMonthRange.js.map +1 -1
  97. package/__internal__/src/components/DatePicker/DatePickerTypeTime/DatePickerTypeTime.js +1 -1
  98. package/__internal__/src/components/DatePicker/DatePickerTypeTime/DatePickerTypeTime.js.map +1 -1
  99. package/__internal__/src/components/DatePicker/DatePickerTypeYear/DatePickerTypeYear.js +1 -1
  100. package/__internal__/src/components/DatePicker/DatePickerTypeYear/DatePickerTypeYear.js.map +1 -1
  101. package/__internal__/src/components/DatePicker/DatePickerTypeYearRange/DatePickerTypeYearRange.js +1 -1
  102. package/__internal__/src/components/DatePicker/DatePickerTypeYearRange/DatePickerTypeYearRange.js.map +1 -1
  103. package/__internal__/src/components/DatePicker/types.d.ts +3 -0
  104. package/__internal__/src/components/DatePicker/types.js.map +1 -1
  105. package/__internal__/src/components/DatePicker/useCalendarVisible.d.ts +13 -0
  106. package/__internal__/src/components/DatePicker/useCalendarVisible.js +2 -0
  107. package/__internal__/src/components/DatePicker/useCalendarVisible.js.map +1 -0
  108. package/__internal__/src/components/EventInterceptor/propsHandlers/useTextFieldEventsHandler.d.ts +1 -54
  109. package/__internal__/src/components/LoaderCanary/Loader.css +3 -0
  110. package/__internal__/src/components/LoaderCanary/LoaderCanary.d.ts +10 -0
  111. package/__internal__/src/components/LoaderCanary/LoaderCanary.js +2 -0
  112. package/__internal__/src/components/LoaderCanary/LoaderCanary.js.map +1 -0
  113. package/__internal__/src/components/LoaderCanary/index.d.ts +1 -0
  114. package/__internal__/src/components/LoaderCanary/index.js +2 -0
  115. package/__internal__/src/components/LoaderCanary/index.js.map +1 -0
  116. package/__internal__/src/components/LoaderCanary/types.d.ts +10 -0
  117. package/__internal__/src/components/LoaderCanary/types.js +2 -0
  118. package/__internal__/src/components/LoaderCanary/types.js.map +1 -0
  119. package/__internal__/src/components/ProgressStepBar/ProgressStepBar.js +1 -1
  120. package/__internal__/src/components/ProgressStepBar/ProgressStepBar.js.map +1 -1
  121. package/__internal__/src/components/ProgressStepBar/helpers.js +1 -1
  122. package/__internal__/src/components/ProgressStepBar/helpers.js.map +1 -1
  123. package/__internal__/src/components/SelectComponentsCanary/Select.css +1 -1
  124. package/__internal__/src/components/SelectComponentsCanary/useSelect/useSelect.d.ts +1 -0
  125. package/__internal__/src/components/SelectComponentsCanary/useSelect/useSelect.js +1 -1
  126. package/__internal__/src/components/SelectComponentsCanary/useSelect/useSelect.js.map +1 -1
  127. package/__internal__/src/components/Slider/Slider.js +1 -1
  128. package/__internal__/src/components/Slider/Slider.js.map +1 -1
  129. package/__internal__/src/components/Slider/SliderPoint/SliderPoint.js +1 -1
  130. package/__internal__/src/components/Slider/SliderPoint/SliderPoint.js.map +1 -1
  131. package/__internal__/src/components/Slider/helper.d.ts +5 -0
  132. package/__internal__/src/components/Slider/helper.js.map +1 -1
  133. package/__internal__/src/components/TextField/types.d.ts +2 -2
  134. package/__internal__/src/components/TextField/types.js.map +1 -1
  135. package/__internal__/src/hooks/useChoiceGroup/useChoiceGroup.d.ts +2 -2
  136. package/__internal__/src/hooks/useChoiceGroup/useChoiceGroup.js.map +1 -1
  137. package/__internal__/src/hooks/useGlobalKeys/useGlobalKeys.d.ts +1 -1
  138. package/__internal__/src/hooks/useGlobalKeys/useGlobalKeys.js.map +1 -1
  139. package/__internal__/src/hooks/useKeysCanary/index.d.ts +1 -0
  140. package/__internal__/src/hooks/useKeysCanary/index.js +2 -0
  141. package/__internal__/src/hooks/useKeysCanary/index.js.map +1 -0
  142. package/__internal__/src/hooks/useKeysCanary/useKeysCanary.d.ts +12 -0
  143. package/__internal__/src/hooks/useKeysCanary/useKeysCanary.js +2 -0
  144. package/__internal__/src/hooks/useKeysCanary/useKeysCanary.js.map +1 -0
  145. package/__internal__/src/hooks/useKeysRef/index.d.ts +1 -0
  146. package/__internal__/src/hooks/useKeysRef/index.js +2 -0
  147. package/__internal__/src/hooks/useKeysRef/index.js.map +1 -0
  148. package/__internal__/src/hooks/useKeysRef/useKeysRef.d.ts +14 -0
  149. package/__internal__/src/hooks/useKeysRef/useKeysRef.js +2 -0
  150. package/__internal__/src/hooks/useKeysRef/useKeysRef.js.map +1 -0
  151. package/__internal__/src/utils/stand.d.ts +1 -0
  152. package/__internal__/src/utils/stand.js +2 -0
  153. package/__internal__/src/utils/stand.js.map +1 -0
  154. package/package.json +1 -1
  155. package/useKeysCanary/index.d.ts +1 -0
  156. package/useKeysCanary/index.js +1 -0
  157. package/useKeysRef/index.d.ts +1 -0
  158. package/useKeysRef/index.js +1 -0
@@ -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 defaultGetItemIconRight=function(a){return a.iconRight};export var defaultGetItemActive=function(a){return a.active};export var defaultGetItemIconLeft=function(a){return a.iconLeft};export var defaultGetItemStatus=function(a){return a.status};export var defaultGetItemLabel=function(a){return a.label};export var defaultGetItemAs=function(a){return a.as};export var defaultGetItemAttributes=function(a){return a.attributes};export var defaultGetItemRef=function(a){return a.ref};export function withDefaultGetters(a){return _objectSpread(_objectSpread({},a),{},{getItemLabel:a.getItemLabel||defaultGetItemLabel,getItemIconRight:a.getItemIconRight||defaultGetItemIconRight,getItemIconLeft:a.getItemIconLeft||defaultGetItemIconLeft,getItemStatus:a.getItemStatus||defaultGetItemStatus,getItemRef:a.getItemRef||defaultGetItemRef,getItemAs:a.getItemAs||defaultGetItemAs,getItemAttributes:a.getItemAttributes||defaultGetItemAttributes,getItemActive:a.getItemActive||defaultGetItemActive})}
2
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","names":["defaultGetItemIconRight","item","iconRight","defaultGetItemActive","active","defaultGetItemIconLeft","iconLeft","defaultGetItemStatus","status","defaultGetItemLabel","label","defaultGetItemAs","as","defaultGetItemAttributes","attributes","defaultGetItemRef","ref","withDefaultGetters","props","getItemLabel","getItemIconRight","getItemIconLeft","getItemStatus","getItemRef","getItemAs","getItemAttributes","getItemActive"],"sources":["../../../../../src/components/ChipsCanary/helpers.ts"],"sourcesContent":["import {\n ChipsDefaultItem,\n ChipsPropGetItemActive,\n ChipsPropGetItemAs,\n ChipsPropGetItemAttributes,\n ChipsPropGetItemIconLeft,\n ChipsPropGetItemIconRight,\n ChipsPropGetItemLabel,\n ChipsPropGetItemRef,\n ChipsPropGetItemStatus,\n ChipsProps,\n} from './types';\n\nexport const defaultGetItemIconRight: ChipsPropGetItemIconRight<\n ChipsDefaultItem\n> = (item) => item.iconRight;\nexport const defaultGetItemActive: ChipsPropGetItemActive<ChipsDefaultItem> = (\n item,\n) => item.active;\nexport const defaultGetItemIconLeft: ChipsPropGetItemIconLeft<\n ChipsDefaultItem\n> = (item) => item.iconLeft;\nexport const defaultGetItemStatus: ChipsPropGetItemStatus<ChipsDefaultItem> = (\n item,\n) => item.status;\nexport const defaultGetItemLabel: ChipsPropGetItemLabel<ChipsDefaultItem> = (\n item,\n) => item.label;\nexport const defaultGetItemAs: ChipsPropGetItemAs<ChipsDefaultItem> = (item) =>\n item.as;\nexport const defaultGetItemAttributes: ChipsPropGetItemAttributes<\n ChipsDefaultItem\n> = (item) => item.attributes;\nexport const defaultGetItemRef: ChipsPropGetItemRef<ChipsDefaultItem> = (\n item,\n) => item.ref;\n\nexport function withDefaultGetters<ITEM>(props: ChipsProps<ITEM>) {\n return {\n ...props,\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n getItemIconRight: props.getItemIconRight || defaultGetItemIconRight,\n getItemIconLeft: props.getItemIconLeft || defaultGetItemIconLeft,\n getItemStatus: props.getItemStatus || defaultGetItemStatus,\n getItemRef: props.getItemRef || defaultGetItemRef,\n getItemAs: props.getItemAs || defaultGetItemAs,\n getItemAttributes: props.getItemAttributes || defaultGetItemAttributes,\n getItemActive: props.getItemActive || defaultGetItemActive,\n };\n}\n"],"mappings":"qqBAaA,MAAO,IAAMA,wBAEZ,CAAG,SAACC,CAAD,QAAUA,EAAI,CAACC,SAAf,CAFG,CAGP,MAAO,IAAMC,qBAA8D,CAAG,SAC5EF,CAD4E,QAEzEA,EAAI,CAACG,MAFoE,CAAvE,CAGP,MAAO,IAAMC,uBAEZ,CAAG,SAACJ,CAAD,QAAUA,EAAI,CAACK,QAAf,CAFG,CAGP,MAAO,IAAMC,qBAA8D,CAAG,SAC5EN,CAD4E,QAEzEA,EAAI,CAACO,MAFoE,CAAvE,CAGP,MAAO,IAAMC,oBAA4D,CAAG,SAC1ER,CAD0E,QAEvEA,EAAI,CAACS,KAFkE,CAArE,CAGP,MAAO,IAAMC,iBAAsD,CAAG,SAACV,CAAD,QACpEA,EAAI,CAACW,EAD+D,CAA/D,CAEP,MAAO,IAAMC,yBAEZ,CAAG,SAACZ,CAAD,QAAUA,EAAI,CAACa,UAAf,CAFG,CAGP,MAAO,IAAMC,kBAAwD,CAAG,SACtEd,CADsE,QAEnEA,EAAI,CAACe,GAF8D,CAAjE,CAIP,MAAO,SAASC,mBAAT,CAAkCC,CAAlC,CAA2D,CAChE,sCACKA,CADL,MAEEC,YAAY,CAAED,CAAK,CAACC,YAAN,EAAsBV,mBAFtC,CAGEW,gBAAgB,CAAEF,CAAK,CAACE,gBAAN,EAA0BpB,uBAH9C,CAIEqB,eAAe,CAAEH,CAAK,CAACG,eAAN,EAAyBhB,sBAJ5C,CAKEiB,aAAa,CAAEJ,CAAK,CAACI,aAAN,EAAuBf,oBALxC,CAMEgB,UAAU,CAAEL,CAAK,CAACK,UAAN,EAAoBR,iBANlC,CAOES,SAAS,CAAEN,CAAK,CAACM,SAAN,EAAmBb,gBAPhC,CAQEc,iBAAiB,CAAEP,CAAK,CAACO,iBAAN,EAA2BZ,wBARhD,CASEa,aAAa,CAAER,CAAK,CAACQ,aAAN,EAAuBvB,oBATxC,EAWD"}
@@ -0,0 +1,4 @@
1
+ export * from './ChipsCanary';
2
+ export * from './ChipsChoice';
3
+ export * from './ChipsItem';
4
+ export * from './types';
@@ -0,0 +1,2 @@
1
+ export*from"./ChipsCanary";export*from"./ChipsChoice";export*from"./ChipsItem";export*from"./types";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../../src/components/ChipsCanary/index.ts"],"sourcesContent":["export * from './ChipsCanary';\nexport * from './ChipsChoice';\nexport * from './ChipsItem';\nexport * from './types';\n"],"mappings":"AAAA,2BACA,2BACA,yBACA"}
@@ -0,0 +1,62 @@
1
+ /// <reference types="react" />
2
+ import { IconComponent } from '@consta/icons/Icon';
3
+ import { badgePropStatus } from "../Badge";
4
+ import { PropsWithHTMLAttributesAndRef } from "../../utils/types/PropsWithHTMLAttributes";
5
+ export declare const chipsPropSize: readonly ["xs", "s", "m", "l"];
6
+ export declare type ChipsPropSize = typeof chipsPropSize[number];
7
+ export declare const chipsPropSizeDefault: ChipsPropSize;
8
+ export declare const chipsPropActiveView: readonly ["primary", "secondary"];
9
+ export declare type ChipsPropActiveView = typeof chipsPropActiveView[number];
10
+ export declare const chipsPropActiveViewDefault: ChipsPropActiveView;
11
+ export declare type ChipsPropStatus = typeof badgePropStatus[number];
12
+ export declare type ChipsItemProps = {
13
+ size?: ChipsPropSize;
14
+ activeView?: ChipsPropActiveView;
15
+ interactive?: boolean;
16
+ onRightIconClick?: React.MouseEventHandler<HTMLButtonElement>;
17
+ iconLeft?: IconComponent;
18
+ iconRight?: IconComponent;
19
+ status?: ChipsPropStatus;
20
+ label: string;
21
+ active?: boolean;
22
+ };
23
+ export declare type ChipsDefaultItem = Omit<ChipsItemProps, 'size' | 'activeView' | 'interactive' | 'onRightIconClick'> & {
24
+ attributes?: Omit<JSX.IntrinsicElements[keyof JSX.IntrinsicElements], 'children' | 'ref'>;
25
+ as?: keyof JSX.IntrinsicElements;
26
+ ref?: React.RefObject<HTMLElement>;
27
+ };
28
+ export declare type ChipsPropGetItemStatus<ITEM> = (item: ITEM) => ChipsDefaultItem['status'];
29
+ export declare type ChipsPropGetItemLabel<ITEM> = (item: ITEM) => ChipsDefaultItem['label'];
30
+ export declare type ChipsPropGetItemIconLeft<ITEM> = (item: ITEM) => ChipsDefaultItem['iconLeft'];
31
+ export declare type ChipsPropGetItemIconRight<ITEM> = (item: ITEM) => ChipsDefaultItem['iconRight'];
32
+ export declare type ChipsPropGetItemRef<ITEM> = (item: ITEM) => ChipsDefaultItem['ref'];
33
+ export declare type ChipsPropGetItemAs<ITEM> = (item: ITEM) => ChipsDefaultItem['as'];
34
+ export declare type ChipsPropGetItemAttributes<ITEM> = (item: ITEM) => ChipsDefaultItem['attributes'];
35
+ export declare type ChipsPropGetItemActive<ITEM> = (item: ITEM) => ChipsDefaultItem['active'];
36
+ export declare type ChipsPropOnItemClick<ITEM> = (item: ITEM, props: {
37
+ e: React.MouseEvent;
38
+ }) => void;
39
+ export declare type ChipsPropItemOnRightIconClick<ITEM> = (item: ITEM, props: {
40
+ e: React.MouseEvent;
41
+ }) => void;
42
+ export declare type ChipsProps<ITEM = ChipsDefaultItem> = PropsWithHTMLAttributesAndRef<{
43
+ size?: ChipsPropSize;
44
+ activeView?: ChipsPropActiveView;
45
+ items: ITEM[];
46
+ interactive?: boolean;
47
+ getItemStatus?: ChipsPropGetItemStatus<ITEM>;
48
+ getItemLabel?: ChipsPropGetItemLabel<ITEM>;
49
+ getItemIconLeft?: ChipsPropGetItemIconLeft<ITEM>;
50
+ getItemIconRight?: ChipsPropGetItemIconRight<ITEM>;
51
+ getItemRef?: ChipsPropGetItemRef<ITEM>;
52
+ getItemAs?: ChipsPropGetItemAs<ITEM>;
53
+ getItemAttributes?: ChipsPropGetItemAttributes<ITEM>;
54
+ getItemActive?: ChipsPropGetItemActive<ITEM>;
55
+ onItemClick?: ChipsPropOnItemClick<ITEM>;
56
+ onItemRightIconClick?: ChipsPropItemOnRightIconClick<ITEM>;
57
+ }, HTMLDivElement> & (ITEM extends {
58
+ label: string;
59
+ } ? {} : {
60
+ getItemLabel: ChipsPropGetItemLabel<ITEM>;
61
+ });
62
+ export declare type ChipsComponent = <ITEM = ChipsDefaultItem>(props: ChipsProps<ITEM>) => React.ReactElement | null;
@@ -0,0 +1,2 @@
1
+ export var chipsPropSize=["xs","s","m","l"];export var chipsPropSizeDefault="m";export var chipsPropActiveView=["primary","secondary"];export var chipsPropActiveViewDefault="primary";
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","names":["chipsPropSize","chipsPropSizeDefault","chipsPropActiveView","chipsPropActiveViewDefault"],"sources":["../../../../../src/components/ChipsCanary/types.ts"],"sourcesContent":["import { IconComponent } from '@consta/icons/Icon';\n\nimport { badgePropStatus } from '##/components/Badge';\nimport { PropsWithHTMLAttributesAndRef } from '##/utils/types/PropsWithHTMLAttributes';\n\nexport const chipsPropSize = ['xs', 's', 'm', 'l'] as const;\nexport type ChipsPropSize = typeof chipsPropSize[number];\nexport const chipsPropSizeDefault: ChipsPropSize = 'm';\n\nexport const chipsPropActiveView = ['primary', 'secondary'] as const;\nexport type ChipsPropActiveView = typeof chipsPropActiveView[number];\nexport const chipsPropActiveViewDefault: ChipsPropActiveView = 'primary';\n\nexport type ChipsPropStatus = typeof badgePropStatus[number];\n\nexport type ChipsItemProps = {\n size?: ChipsPropSize;\n activeView?: ChipsPropActiveView;\n interactive?: boolean;\n onRightIconClick?: React.MouseEventHandler<HTMLButtonElement>;\n iconLeft?: IconComponent;\n iconRight?: IconComponent;\n status?: ChipsPropStatus;\n label: string;\n active?: boolean;\n};\n\nexport type ChipsDefaultItem = Omit<\n ChipsItemProps,\n 'size' | 'activeView' | 'interactive' | 'onRightIconClick'\n> & {\n attributes?: Omit<\n JSX.IntrinsicElements[keyof JSX.IntrinsicElements],\n 'children' | 'ref'\n >;\n as?: keyof JSX.IntrinsicElements;\n ref?: React.RefObject<HTMLElement>;\n};\n\n// export type ChipsPropGetItemKey<ITEM> = (item: ITEM) => ChipsDefaultItem['key'];\nexport type ChipsPropGetItemStatus<ITEM> = (\n item: ITEM,\n) => ChipsDefaultItem['status'];\nexport type ChipsPropGetItemLabel<ITEM> = (\n item: ITEM,\n) => ChipsDefaultItem['label'];\nexport type ChipsPropGetItemIconLeft<ITEM> = (\n item: ITEM,\n) => ChipsDefaultItem['iconLeft'];\nexport type ChipsPropGetItemIconRight<ITEM> = (\n item: ITEM,\n) => ChipsDefaultItem['iconRight'];\nexport type ChipsPropGetItemRef<ITEM> = (item: ITEM) => ChipsDefaultItem['ref'];\nexport type ChipsPropGetItemAs<ITEM> = (item: ITEM) => ChipsDefaultItem['as'];\nexport type ChipsPropGetItemAttributes<ITEM> = (\n item: ITEM,\n) => ChipsDefaultItem['attributes'];\nexport type ChipsPropGetItemActive<ITEM> = (\n item: ITEM,\n) => ChipsDefaultItem['active'];\nexport type ChipsPropOnItemClick<ITEM> = (\n item: ITEM,\n props: { e: React.MouseEvent },\n) => void;\nexport type ChipsPropItemOnRightIconClick<ITEM> = (\n item: ITEM,\n props: { e: React.MouseEvent },\n) => void;\n\nexport type ChipsProps<ITEM = ChipsDefaultItem> = PropsWithHTMLAttributesAndRef<\n {\n size?: ChipsPropSize;\n activeView?: ChipsPropActiveView;\n items: ITEM[];\n interactive?: boolean;\n getItemStatus?: ChipsPropGetItemStatus<ITEM>;\n getItemLabel?: ChipsPropGetItemLabel<ITEM>;\n getItemIconLeft?: ChipsPropGetItemIconLeft<ITEM>;\n getItemIconRight?: ChipsPropGetItemIconRight<ITEM>;\n getItemRef?: ChipsPropGetItemRef<ITEM>;\n getItemAs?: ChipsPropGetItemAs<ITEM>;\n getItemAttributes?: ChipsPropGetItemAttributes<ITEM>;\n getItemActive?: ChipsPropGetItemActive<ITEM>;\n onItemClick?: ChipsPropOnItemClick<ITEM>;\n onItemRightIconClick?: ChipsPropItemOnRightIconClick<ITEM>;\n },\n HTMLDivElement\n> &\n (ITEM extends { label: string }\n ? {}\n : {\n getItemLabel: ChipsPropGetItemLabel<ITEM>;\n });\n\nexport type ChipsComponent = <ITEM = ChipsDefaultItem>(\n props: ChipsProps<ITEM>,\n) => React.ReactElement | null;\n"],"mappings":"AAKA,MAAO,IAAMA,cAAa,CAAG,CAAC,IAAD,CAAO,GAAP,CAAY,GAAZ,CAAiB,GAAjB,CAAtB,CAEP,MAAO,IAAMC,qBAAmC,CAAG,GAA5C,CAEP,MAAO,IAAMC,oBAAmB,CAAG,CAAC,SAAD,CAAY,WAAZ,CAA5B,CAEP,MAAO,IAAMC,2BAA+C,CAAG,SAAxD"}
@@ -1,2 +1,2 @@
1
- import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["size","form","view","width","onlyIcon","iconSize","value","multiple","items","getItemLabel","onChange","getItemIcon","name","className","disabled","getItemDisabled","truncate"];import"./ChoiceGroup.css";import React,{forwardRef}from"react";import{useChoiceGroup}from"../../hooks/useChoiceGroup/useChoiceGroup";import{cn}from"../../utils/bem";import{getByMap}from"../../utils/getByMap";import{withDefaultGetters}from"./helper";import{ChoiceGroupItem}from"./Item/ChoiceGroup-Item";import{choiceGroupDefaultForm,choiceGroupDefaultSize,choiceGroupDefaultView,choiceGroupWidthDefault}from"./types";var sizeMap={xs:"xs",s:"xs",m:"s",l:"m"};export var cnChoiceGroup=cn("ChoiceGroup");var ChoiceGroupRender=function(a,b){var c=withDefaultGetters(a),d=c.size,e=void 0===d?choiceGroupDefaultSize:d,f=c.form,g=void 0===f?choiceGroupDefaultForm:f,h=c.view,i=void 0===h?choiceGroupDefaultView:h,j=c.width,k=void 0===j?choiceGroupWidthDefault:j,l=c.onlyIcon,m=c.iconSize,n=c.value,o=void 0===n?null:n,p=c.multiple,q=void 0!==p&&p,r=c.items,s=c.getItemLabel,t=c.onChange,u=c.getItemIcon,v=c.name,w=c.className,x=c.disabled,y=void 0!==x&&x,z=c.getItemDisabled,A=c.truncate,B=_objectWithoutProperties(c,_excluded),C=useChoiceGroup({value:o,getKey:s,callBack:t,multiple:q}),D=C.getOnChange,E=C.getChecked,F=getByMap(sizeMap,e,m);return React.createElement("div",Object.assign({},B,{ref:b,className:cnChoiceGroup({size:e,form:g,view:i,width:k,onlyIcon:l,disabled:y,truncate:A},[w])}),r.map(function(a,b){var c=E(a),d=!!z&&z(a);return React.createElement(React.Fragment,{key:s(a)},0<b&&React.createElement("div",{className:cnChoiceGroup("Divider",{checked:c,disabled:d})}),React.createElement(ChoiceGroupItem,{onChange:D(a),checked:c,label:s(a).toString(),icon:u&&u(a),iconSize:F,multiple:q,onlyIcon:l,name:v,disabled:y||d}))}))};export var ChoiceGroup=forwardRef(ChoiceGroupRender);export*from"./types";
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["size","form","view","width","onlyIcon","iconSize","value","multiple","items","getItemLabel","onChange","getItemIcon","getItemAttributes","getItemRef","getItemDisabled","name","className","disabled","truncate"];import"./ChoiceGroup.css";import React,{forwardRef}from"react";import{useChoiceGroup}from"../../hooks/useChoiceGroup/useChoiceGroup";import{cn}from"../../utils/bem";import{getByMap}from"../../utils/getByMap";import{withDefaultGetters}from"./helper";import{ChoiceGroupItem}from"./Item/ChoiceGroup-Item";import{choiceGroupDefaultForm,choiceGroupDefaultSize,choiceGroupDefaultView,choiceGroupWidthDefault}from"./types";var sizeMap={xs:"xs",s:"xs",m:"s",l:"m"};export var cnChoiceGroup=cn("ChoiceGroup");var ChoiceGroupRender=function(a,b){var c=withDefaultGetters(a),d=c.size,e=void 0===d?choiceGroupDefaultSize:d,f=c.form,g=void 0===f?choiceGroupDefaultForm:f,h=c.view,i=void 0===h?choiceGroupDefaultView:h,j=c.width,k=void 0===j?choiceGroupWidthDefault:j,l=c.onlyIcon,m=c.iconSize,n=c.value,o=void 0===n?null:n,p=c.multiple,q=void 0!==p&&p,r=c.items,s=c.getItemLabel,t=c.onChange,u=c.getItemIcon,v=c.getItemAttributes,w=c.getItemRef,x=c.getItemDisabled,y=c.name,z=c.className,A=c.disabled,B=void 0!==A&&A,C=c.truncate,D=_objectWithoutProperties(c,_excluded),E=useChoiceGroup({value:o,getKey:s,callBack:t,multiple:q}),F=E.getOnChange,G=E.getChecked,H=getByMap(sizeMap,e,m);return React.createElement("div",Object.assign({},D,{ref:b,className:cnChoiceGroup({size:e,form:g,view:i,width:k,onlyIcon:l,disabled:B,truncate:C},[z])}),r.map(function(a,b){var c,d=G(a),e=!!x&&x(a),f=null!==(c=v(a))&&void 0!==c?c:{};return React.createElement(React.Fragment,{key:s(a)},0<b&&React.createElement("div",{className:cnChoiceGroup("Divider",{checked:d,disabled:e})}),React.createElement(ChoiceGroupItem,Object.assign({onChange:F(a),checked:d,label:s(a).toString(),icon:u&&u(a),iconSize:H,multiple:q,onlyIcon:l,ref:w(a),name:y,disabled:B||e},f)))}))};export var ChoiceGroup=forwardRef(ChoiceGroupRender);export*from"./types";
2
2
  //# sourceMappingURL=ChoiceGroup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChoiceGroup.js","names":["React","forwardRef","useChoiceGroup","cn","getByMap","withDefaultGetters","ChoiceGroupItem","choiceGroupDefaultForm","choiceGroupDefaultSize","choiceGroupDefaultView","choiceGroupWidthDefault","sizeMap","xs","s","m","l","cnChoiceGroup","ChoiceGroupRender","props","ref","size","form","view","width","onlyIcon","iconSizeProp","iconSize","value","multiple","items","getItemLabel","onChange","getItemIcon","name","className","disabled","getItemDisabled","truncate","otherProps","getKey","callBack","getOnChange","getChecked","map","item","idx","itemChecked","itemDisabled","checked","toString","ChoiceGroup"],"sources":["../../../../../src/components/ChoiceGroup/ChoiceGroup.tsx"],"sourcesContent":["import './ChoiceGroup.css';\n\nimport { IconPropSize } from '@consta/icons/Icon';\nimport React, { forwardRef } from 'react';\n\nimport { useChoiceGroup } from '../../hooks/useChoiceGroup/useChoiceGroup';\nimport { cn } from '../../utils/bem';\nimport { getByMap } from '../../utils/getByMap';\nimport { withDefaultGetters } from './helper';\nimport { ChoiceGroupItem } from './Item/ChoiceGroup-Item';\nimport {\n ChoiceGroupComponent,\n choiceGroupDefaultForm,\n choiceGroupDefaultSize,\n choiceGroupDefaultView,\n ChoiceGroupPropOnChange,\n ChoiceGroupProps,\n ChoiceGroupPropSize,\n choiceGroupWidthDefault,\n} from './types';\n\nconst sizeMap: Record<ChoiceGroupPropSize, IconPropSize> = {\n xs: 'xs',\n s: 'xs',\n m: 's',\n l: 'm',\n};\n\nexport const cnChoiceGroup = cn('ChoiceGroup');\n\nconst ChoiceGroupRender = (\n props: ChoiceGroupProps,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const {\n size = choiceGroupDefaultSize,\n form = choiceGroupDefaultForm,\n view = choiceGroupDefaultView,\n width = choiceGroupWidthDefault,\n onlyIcon,\n iconSize: iconSizeProp,\n value = null,\n multiple = false,\n items,\n getItemLabel,\n onChange,\n getItemIcon,\n name,\n className,\n disabled = false,\n getItemDisabled,\n truncate,\n ...otherProps\n } = withDefaultGetters(props);\n\n type Item = typeof items[number];\n\n const { getOnChange, getChecked } = useChoiceGroup<\n Item,\n React.ChangeEvent<HTMLInputElement>\n >({\n value: value as Item,\n getKey: getItemLabel,\n callBack: onChange as ChoiceGroupPropOnChange<Item, false>,\n multiple: multiple as false,\n // привел к типам из-за того что\n // TS не понимает что параметры для не Multiple и Multiple не могут прийти одновременно\n });\n\n const iconSize = getByMap(sizeMap, size, iconSizeProp);\n\n return (\n <div\n {...otherProps}\n ref={ref}\n className={cnChoiceGroup(\n { size, form, view, width, onlyIcon, disabled, truncate },\n [className],\n )}\n >\n {items.map((item, idx) => {\n const itemChecked = getChecked(item);\n const itemDisabled = !!getItemDisabled && getItemDisabled(item);\n return (\n <React.Fragment key={getItemLabel(item)}>\n {idx > 0 && (\n <div\n className={cnChoiceGroup('Divider', {\n checked: itemChecked,\n disabled: itemDisabled,\n })}\n />\n )}\n <ChoiceGroupItem\n onChange={getOnChange(item)}\n checked={itemChecked}\n label={getItemLabel(item).toString()}\n icon={getItemIcon && getItemIcon(item)}\n iconSize={iconSize}\n multiple={multiple}\n onlyIcon={onlyIcon}\n name={name}\n disabled={disabled || itemDisabled}\n />\n </React.Fragment>\n );\n })}\n </div>\n );\n};\n\nexport const ChoiceGroup = forwardRef(\n ChoiceGroupRender,\n) as ChoiceGroupComponent;\n\nexport * from './types';\n"],"mappings":"sRAAA,0BAGA,MAAOA,MAAP,EAAgBC,UAAhB,KAAkC,OAAlC,CAEA,OAASC,cAAT,iDACA,OAASC,EAAT,uBACA,OAASC,QAAT,4BACA,OAASC,kBAAT,gBACA,OAASC,eAAT,+BACA,OAEEC,sBAFF,CAGEC,sBAHF,CAIEC,sBAJF,CAQEC,uBARF,eAWA,GAAMC,QAAkD,CAAG,CACzDC,EAAE,CAAE,IADqD,CAEzDC,CAAC,CAAE,IAFsD,CAGzDC,CAAC,CAAE,GAHsD,CAIzDC,CAAC,CAAE,GAJsD,CAA3D,CAOA,MAAO,IAAMC,cAAa,CAAGb,EAAE,CAAC,aAAD,CAAxB,CAEP,GAAMc,kBAAiB,CAAG,SACxBC,CADwB,CAExBC,CAFwB,CAGrB,OAoBCd,kBAAkB,CAACa,CAAD,CApBnB,KAEDE,IAFC,CAEDA,CAFC,YAEMZ,sBAFN,OAGDa,IAHC,CAGDA,CAHC,YAGMd,sBAHN,OAIDe,IAJC,CAIDA,CAJC,YAIMb,sBAJN,OAKDc,KALC,CAKDA,CALC,YAKOb,uBALP,GAMDc,CANC,GAMDA,QANC,CAOSC,CAPT,GAODC,QAPC,KAQDC,KARC,CAQDA,CARC,YAQO,IARP,OASDC,QATC,CASDA,CATC,eAUDC,CAVC,GAUDA,KAVC,CAWDC,CAXC,GAWDA,YAXC,CAYDC,CAZC,GAYDA,QAZC,CAaDC,CAbC,GAaDA,WAbC,CAcDC,CAdC,GAcDA,IAdC,CAeDC,CAfC,GAeDA,SAfC,KAgBDC,QAhBC,CAgBDA,CAhBC,eAiBDC,CAjBC,GAiBDA,eAjBC,CAkBDC,CAlBC,GAkBDA,QAlBC,CAmBEC,CAnBF,yCAwBiCpC,cAAc,CAGhD,CACAyB,KAAK,CAAEA,CADP,CAEAY,MAAM,CAAET,CAFR,CAGAU,QAAQ,CAAET,CAHV,CAIAH,QAAQ,CAAEA,CAJV,CAHgD,CAxB/C,CAwBKa,CAxBL,GAwBKA,WAxBL,CAwBkBC,CAxBlB,GAwBkBA,UAxBlB,CAoCGhB,CAAQ,CAAGtB,QAAQ,CAACO,OAAD,CAAUS,CAAV,CAAgBK,CAAhB,CApCtB,CAsCH,MACE,4CACMa,CADN,EAEE,GAAG,CAAEnB,CAFP,CAGE,SAAS,CAAEH,aAAa,CACtB,CAAEI,IAAI,CAAJA,CAAF,CAAQC,IAAI,CAAJA,CAAR,CAAcC,IAAI,CAAJA,CAAd,CAAoBC,KAAK,CAALA,CAApB,CAA2BC,QAAQ,CAARA,CAA3B,CAAqCW,QAAQ,CAARA,CAArC,CAA+CE,QAAQ,CAARA,CAA/C,CADsB,CAEtB,CAACH,CAAD,CAFsB,CAH1B,GAQGL,CAAK,CAACc,GAAN,CAAU,SAACC,CAAD,CAAOC,CAAP,CAAe,IAClBC,EAAW,CAAGJ,CAAU,CAACE,CAAD,CADN,CAElBG,CAAY,CAAG,CAAC,CAACX,CAAF,EAAqBA,CAAe,CAACQ,CAAD,CAFjC,CAGxB,MACE,qBAAC,KAAD,CAAO,QAAP,EAAgB,GAAG,CAAEd,CAAY,CAACc,CAAD,CAAjC,EACS,CAAN,CAAAC,CAAG,EACF,2BACE,SAAS,CAAE7B,aAAa,CAAC,SAAD,CAAY,CAClCgC,OAAO,CAAEF,CADyB,CAElCX,QAAQ,CAAEY,CAFwB,CAAZ,CAD1B,EAFJ,CASE,oBAAC,eAAD,EACE,QAAQ,CAAEN,CAAW,CAACG,CAAD,CADvB,CAEE,OAAO,CAAEE,CAFX,CAGE,KAAK,CAAEhB,CAAY,CAACc,CAAD,CAAZ,CAAmBK,QAAnB,EAHT,CAIE,IAAI,CAAEjB,CAAW,EAAIA,CAAW,CAACY,CAAD,CAJlC,CAKE,QAAQ,CAAElB,CALZ,CAME,QAAQ,CAAEE,CANZ,CAOE,QAAQ,CAAEJ,CAPZ,CAQE,IAAI,CAAES,CARR,CASE,QAAQ,CAAEE,CAAQ,EAAIY,CATxB,EATF,CAsBH,CA1BA,CARH,CAqCH,CA/ED,CAiFA,MAAO,IAAMG,YAAW,CAAGjD,UAAU,CACnCgB,iBADmC,CAA9B,CAIP"}
1
+ {"version":3,"file":"ChoiceGroup.js","names":["React","forwardRef","useChoiceGroup","cn","getByMap","withDefaultGetters","ChoiceGroupItem","choiceGroupDefaultForm","choiceGroupDefaultSize","choiceGroupDefaultView","choiceGroupWidthDefault","sizeMap","xs","s","m","l","cnChoiceGroup","ChoiceGroupRender","props","ref","size","form","view","width","onlyIcon","iconSizeProp","iconSize","value","multiple","items","getItemLabel","onChange","getItemIcon","getItemAttributes","getItemRef","getItemDisabled","name","className","disabled","truncate","otherProps","getKey","callBack","getOnChange","getChecked","map","item","idx","itemChecked","itemDisabled","attributes","checked","toString","ChoiceGroup"],"sources":["../../../../../src/components/ChoiceGroup/ChoiceGroup.tsx"],"sourcesContent":["import './ChoiceGroup.css';\n\nimport { IconPropSize } from '@consta/icons/Icon';\nimport React, { forwardRef } from 'react';\n\nimport { useChoiceGroup } from '../../hooks/useChoiceGroup/useChoiceGroup';\nimport { cn } from '../../utils/bem';\nimport { getByMap } from '../../utils/getByMap';\nimport { withDefaultGetters } from './helper';\nimport { ChoiceGroupItem } from './Item/ChoiceGroup-Item';\nimport {\n ChoiceGroupComponent,\n choiceGroupDefaultForm,\n choiceGroupDefaultSize,\n choiceGroupDefaultView,\n ChoiceGroupPropOnChange,\n ChoiceGroupProps,\n ChoiceGroupPropSize,\n choiceGroupWidthDefault,\n} from './types';\n\nconst sizeMap: Record<ChoiceGroupPropSize, IconPropSize> = {\n xs: 'xs',\n s: 'xs',\n m: 's',\n l: 'm',\n};\n\nexport const cnChoiceGroup = cn('ChoiceGroup');\n\nconst ChoiceGroupRender = (\n props: ChoiceGroupProps,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const {\n size = choiceGroupDefaultSize,\n form = choiceGroupDefaultForm,\n view = choiceGroupDefaultView,\n width = choiceGroupWidthDefault,\n onlyIcon,\n iconSize: iconSizeProp,\n value = null,\n multiple = false,\n items,\n getItemLabel,\n onChange,\n getItemIcon,\n getItemAttributes,\n getItemRef,\n getItemDisabled,\n name,\n className,\n disabled = false,\n truncate,\n ...otherProps\n } = withDefaultGetters(props);\n\n type Item = typeof items[number];\n\n const { getOnChange, getChecked } = useChoiceGroup<\n Item,\n React.ChangeEvent<HTMLInputElement>\n >({\n value: value as Item,\n getKey: getItemLabel,\n callBack: onChange as ChoiceGroupPropOnChange<Item, false>,\n multiple: multiple as false,\n // привел к типам из-за того что\n // TS не понимает что параметры для не Multiple и Multiple не могут прийти одновременно\n });\n\n const iconSize = getByMap(sizeMap, size, iconSizeProp);\n\n return (\n <div\n {...otherProps}\n ref={ref}\n className={cnChoiceGroup(\n { size, form, view, width, onlyIcon, disabled, truncate },\n [className],\n )}\n >\n {items.map((item, idx) => {\n const itemChecked = getChecked(item);\n const itemDisabled = !!getItemDisabled && getItemDisabled(item);\n const attributes = getItemAttributes(item) ?? {};\n return (\n <React.Fragment key={getItemLabel(item)}>\n {idx > 0 && (\n <div\n className={cnChoiceGroup('Divider', {\n checked: itemChecked,\n disabled: itemDisabled,\n })}\n />\n )}\n <ChoiceGroupItem\n onChange={getOnChange(item)}\n checked={itemChecked}\n label={getItemLabel(item).toString()}\n icon={getItemIcon && getItemIcon(item)}\n iconSize={iconSize}\n multiple={multiple}\n onlyIcon={onlyIcon}\n ref={getItemRef(item)}\n name={name}\n disabled={disabled || itemDisabled}\n {...attributes}\n />\n </React.Fragment>\n );\n })}\n </div>\n );\n};\n\nexport const ChoiceGroup = forwardRef(\n ChoiceGroupRender,\n) as ChoiceGroupComponent;\n\nexport * from './types';\n"],"mappings":"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"}
@@ -1,15 +1,13 @@
1
- import { IconComponent, IconPropSize } from '@consta/icons/Icon';
1
+ import { IconComponent } from '@consta/icons/Icon';
2
2
  import React from 'react';
3
- declare type Props = {
4
- icon?: IconComponent;
5
- onlyIcon?: boolean;
6
- iconSize?: IconPropSize;
3
+ export declare const ChoiceGroupItem: React.ForwardRefExoticComponent<{
4
+ icon?: IconComponent<"span"> | undefined;
5
+ onlyIcon?: boolean | undefined;
6
+ iconSize?: "m" | "s" | "xs" | "l" | undefined;
7
7
  label: string;
8
8
  name: string;
9
9
  onChange: React.ChangeEventHandler<HTMLInputElement>;
10
10
  checked: boolean;
11
11
  multiple: boolean;
12
- disabled?: boolean;
13
- };
14
- export declare const ChoiceGroupItem: React.FC<Props>;
15
- export {};
12
+ disabled?: boolean | undefined;
13
+ } & Omit<React.HTMLAttributes<HTMLLabelElement>, "css" | "onChange" | "label" | "name" | "disabled" | "checked" | "multiple" | "icon" | "iconSize" | "onlyIcon"> & React.RefAttributes<HTMLLabelElement>>;
@@ -1,2 +1,2 @@
1
- import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import React,{useState}from"react";import{cnMixFocus}from"../../../mixs/MixFocus/MixFocus";import{cnChoiceGroup}from"../ChoiceGroup";export var ChoiceGroupItem=function(a){var b=a.label,c=a.onChange,d=a.checked,e=a.multiple,f=a.icon,g=a.onlyIcon,h=a.name,i=a.iconSize,j=a.disabled,k=void 0!==j&&j,l=useState(!1),m=_slicedToArray(l,2),n=m[0],o=m[1];return React.createElement("label",{className:cnChoiceGroup("Label",{focus:n,checked:d,disabled:k},[cnMixFocus()]),title:g?b:void 0},React.createElement("input",{type:e?"checkbox":"radio",className:cnChoiceGroup("Input"),checked:d,onFocus:function handleFocus(){return o(!0)},onBlur:function handleBlur(){return o(!1)},value:"".concat(h,"-").concat(b),onChange:c,name:h,disabled:k}),f&&React.createElement(f,{className:cnChoiceGroup("Icon"),size:i}),!g&&React.createElement("span",{className:cnChoiceGroup("Text")},b))};
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["label","onChange","checked","multiple","icon","onlyIcon","name","iconSize","disabled","className"];import React,{forwardRef}from"react";import{useFlag}from"../../../hooks/useFlag";import{cnMixFocus}from"../../../mixs/MixFocus/MixFocus";import{cnChoiceGroup}from"../ChoiceGroup";export var ChoiceGroupItem=forwardRef(function(a,b){var c=a.label,d=a.onChange,e=a.checked,f=a.multiple,g=a.icon,h=a.onlyIcon,i=a.name,j=a.iconSize,k=a.disabled,l=void 0!==k&&k,m=a.className,n=_objectWithoutProperties(a,_excluded),o=useFlag(),p=_slicedToArray(o,2),q=p[0],r=p[1];return React.createElement("label",Object.assign({className:cnChoiceGroup("Label",{focus:q,checked:e,disabled:l},[cnMixFocus(),m]),title:h?c:void 0,ref:b},n),React.createElement("input",{type:f?"checkbox":"radio",className:cnChoiceGroup("Input"),checked:e,onFocus:r.on,onBlur:r.off,value:"".concat(i,"-").concat(c),onChange:d,name:i,disabled:l}),g&&React.createElement(g,{className:cnChoiceGroup("Icon"),size:j}),!h&&React.createElement("span",{className:cnChoiceGroup("Text")},c))});
2
2
  //# sourceMappingURL=ChoiceGroup-Item.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChoiceGroup-Item.js","names":["React","useState","cnMixFocus","cnChoiceGroup","ChoiceGroupItem","props","label","onChange","checked","multiple","Icon","icon","onlyIcon","name","iconSize","disabled","focus","setFocus","handleFocus","handleBlur"],"sources":["../../../../../../src/components/ChoiceGroup/Item/ChoiceGroup-Item.tsx"],"sourcesContent":["import { IconComponent, IconPropSize } from '@consta/icons/Icon';\nimport React, { useState } from 'react';\n\nimport { cnMixFocus } from '../../../mixs/MixFocus/MixFocus';\nimport { cnChoiceGroup } from '../ChoiceGroup';\n\ntype Props = {\n icon?: IconComponent;\n onlyIcon?: boolean;\n iconSize?: IconPropSize;\n label: string;\n name: string;\n onChange: React.ChangeEventHandler<HTMLInputElement>;\n checked: boolean;\n multiple: boolean;\n disabled?: boolean;\n};\n\nexport const ChoiceGroupItem: React.FC<Props> = (props) => {\n const {\n label,\n onChange,\n checked,\n multiple,\n icon: Icon,\n onlyIcon,\n name,\n iconSize,\n disabled = false,\n } = props;\n const [focus, setFocus] = useState<boolean>(false);\n\n const handleBlur = () => setFocus(false);\n const handleFocus = () => setFocus(true);\n\n return (\n <label\n className={cnChoiceGroup('Label', { focus, checked, disabled }, [\n cnMixFocus(),\n ])}\n title={onlyIcon ? label : undefined}\n >\n <input\n type={multiple ? 'checkbox' : 'radio'}\n className={cnChoiceGroup('Input')}\n checked={checked}\n onFocus={handleFocus}\n onBlur={handleBlur}\n value={`${name}-${label}`}\n onChange={onChange}\n name={name}\n disabled={disabled}\n />\n {Icon && <Icon className={cnChoiceGroup('Icon')} size={iconSize} />}\n {!onlyIcon && <span className={cnChoiceGroup('Text')}>{label}</span>}\n </label>\n );\n};\n"],"mappings":"iEACA,MAAOA,MAAP,EAAgBC,QAAhB,KAAgC,OAAhC,CAEA,OAASC,UAAT,uCACA,OAASC,aAAT,sBAcA,MAAO,IAAMC,gBAAgC,CAAG,SAACC,CAAD,CAAW,IAEvDC,EAFuD,CAWrDD,CAXqD,CAEvDC,KAFuD,CAGvDC,CAHuD,CAWrDF,CAXqD,CAGvDE,QAHuD,CAIvDC,CAJuD,CAWrDH,CAXqD,CAIvDG,OAJuD,CAKvDC,CALuD,CAWrDJ,CAXqD,CAKvDI,QALuD,CAMjDC,CANiD,CAWrDL,CAXqD,CAMvDM,IANuD,CAOvDC,CAPuD,CAWrDP,CAXqD,CAOvDO,QAPuD,CAQvDC,CARuD,CAWrDR,CAXqD,CAQvDQ,IARuD,CASvDC,CATuD,CAWrDT,CAXqD,CASvDS,QATuD,GAWrDT,CAXqD,CAUvDU,QAVuD,CAUvDA,CAVuD,iBAY/Bd,QAAQ,IAZuB,uBAYlDe,CAZkD,MAY3CC,CAZ2C,MAiBzD,MACE,8BACE,SAAS,CAAEd,aAAa,CAAC,OAAD,CAAU,CAAEa,KAAK,CAALA,CAAF,CAASR,OAAO,CAAPA,CAAT,CAAkBO,QAAQ,CAARA,CAAlB,CAAV,CAAwC,CAC9Db,UAAU,EADoD,CAAxC,CAD1B,CAIE,KAAK,CAAEU,CAAQ,CAAGN,CAAH,OAJjB,EAME,6BACE,IAAI,CAAEG,CAAQ,CAAG,UAAH,CAAgB,OADhC,CAEE,SAAS,CAAEN,aAAa,CAAC,OAAD,CAF1B,CAGE,OAAO,CAAEK,CAHX,CAIE,OAAO,CAbO,QAAdU,YAAc,SAAMD,EAAQ,IAAd,CAShB,CAKE,MAAM,CAfO,QAAbE,WAAa,SAAMF,EAAQ,IAAd,CAUf,CAME,KAAK,WAAKJ,CAAL,aAAaP,CAAb,CANP,CAOE,QAAQ,CAAEC,CAPZ,CAQE,IAAI,CAAEM,CARR,CASE,QAAQ,CAAEE,CATZ,EANF,CAiBGL,CAAI,EAAI,oBAAC,CAAD,EAAM,SAAS,CAAEP,aAAa,CAAC,MAAD,CAA9B,CAAwC,IAAI,CAAEW,CAA9C,EAjBX,CAkBG,CAACF,CAAD,EAAa,4BAAM,SAAS,CAAET,aAAa,CAAC,MAAD,CAA9B,EAAyCG,CAAzC,CAlBhB,CAqBH,CAvCM"}
1
+ {"version":3,"file":"ChoiceGroup-Item.js","names":["React","forwardRef","useFlag","cnMixFocus","cnChoiceGroup","ChoiceGroupItem","props","ref","label","onChange","checked","multiple","Icon","icon","onlyIcon","name","iconSize","disabled","className","otherProps","focus","setFocus","on","off"],"sources":["../../../../../../src/components/ChoiceGroup/Item/ChoiceGroup-Item.tsx"],"sourcesContent":["import { IconComponent, IconPropSize } from '@consta/icons/Icon';\nimport React, { forwardRef } from 'react';\n\nimport { useFlag } from '##/hooks/useFlag';\nimport { PropsWithHTMLAttributes } from '##/utils/types/PropsWithHTMLAttributes';\n\nimport { cnMixFocus } from '../../../mixs/MixFocus/MixFocus';\nimport { cnChoiceGroup } from '../ChoiceGroup';\n\ntype Props = PropsWithHTMLAttributes<\n {\n icon?: IconComponent;\n onlyIcon?: boolean;\n iconSize?: IconPropSize;\n label: string;\n name: string;\n onChange: React.ChangeEventHandler<HTMLInputElement>;\n checked: boolean;\n multiple: boolean;\n disabled?: boolean;\n },\n HTMLLabelElement\n>;\n\nexport const ChoiceGroupItem = forwardRef<HTMLLabelElement, Props>(\n (props, ref) => {\n const {\n label,\n onChange,\n checked,\n multiple,\n icon: Icon,\n onlyIcon,\n name,\n iconSize,\n disabled = false,\n className,\n ...otherProps\n } = props;\n const [focus, setFocus] = useFlag();\n\n return (\n <label\n className={cnChoiceGroup('Label', { focus, checked, disabled }, [\n cnMixFocus(),\n className,\n ])}\n title={onlyIcon ? label : undefined}\n ref={ref}\n {...otherProps}\n >\n <input\n type={multiple ? 'checkbox' : 'radio'}\n className={cnChoiceGroup('Input')}\n checked={checked}\n onFocus={setFocus.on}\n onBlur={setFocus.off}\n value={`${name}-${label}`}\n onChange={onChange}\n name={name}\n disabled={disabled}\n />\n {Icon && <Icon className={cnChoiceGroup('Icon')} size={iconSize} />}\n {!onlyIcon && <span className={cnChoiceGroup('Text')}>{label}</span>}\n </label>\n );\n },\n);\n"],"mappings":"yQACA,MAAOA,MAAP,EAAgBC,UAAhB,KAAkC,OAAlC,CAEA,OAASC,OAAT,8BAGA,OAASC,UAAT,uCACA,OAASC,aAAT,sBAiBA,MAAO,IAAMC,gBAAe,CAAGJ,UAAU,CACvC,SAACK,CAAD,CAAQC,CAAR,CAAgB,IAEZC,EAFY,CAaVF,CAbU,CAEZE,KAFY,CAGZC,CAHY,CAaVH,CAbU,CAGZG,QAHY,CAIZC,CAJY,CAaVJ,CAbU,CAIZI,OAJY,CAKZC,CALY,CAaVL,CAbU,CAKZK,QALY,CAMNC,CANM,CAaVN,CAbU,CAMZO,IANY,CAOZC,CAPY,CAaVR,CAbU,CAOZQ,QAPY,CAQZC,CARY,CAaVT,CAbU,CAQZS,IARY,CASZC,CATY,CAaVV,CAbU,CASZU,QATY,GAaVV,CAbU,CAUZW,QAVY,CAUZA,CAVY,eAWZC,CAXY,CAaVZ,CAbU,CAWZY,SAXY,CAYTC,CAZS,0BAaVb,CAbU,cAcYJ,OAAO,EAdnB,uBAcPkB,CAdO,MAcAC,CAdA,MAgBd,MACE,4CACE,SAAS,CAAEjB,aAAa,CAAC,OAAD,CAAU,CAAEgB,KAAK,CAALA,CAAF,CAASV,OAAO,CAAPA,CAAT,CAAkBO,QAAQ,CAARA,CAAlB,CAAV,CAAwC,CAC9Dd,UAAU,EADoD,CAE9De,CAF8D,CAAxC,CAD1B,CAKE,KAAK,CAAEJ,CAAQ,CAAGN,CAAH,OALjB,CAME,GAAG,CAAED,CANP,EAOMY,CAPN,EASE,6BACE,IAAI,CAAER,CAAQ,CAAG,UAAH,CAAgB,OADhC,CAEE,SAAS,CAAEP,aAAa,CAAC,OAAD,CAF1B,CAGE,OAAO,CAAEM,CAHX,CAIE,OAAO,CAAEW,CAAQ,CAACC,EAJpB,CAKE,MAAM,CAAED,CAAQ,CAACE,GALnB,CAME,KAAK,WAAKR,CAAL,aAAaP,CAAb,CANP,CAOE,QAAQ,CAAEC,CAPZ,CAQE,IAAI,CAAEM,CARR,CASE,QAAQ,CAAEE,CATZ,EATF,CAoBGL,CAAI,EAAI,oBAAC,CAAD,EAAM,SAAS,CAAER,aAAa,CAAC,MAAD,CAA9B,CAAwC,IAAI,CAAEY,CAA9C,EApBX,CAqBG,CAACF,CAAD,EAAa,4BAAM,SAAS,CAAEV,aAAa,CAAC,MAAD,CAA9B,EAAyCI,CAAzC,CArBhB,CAwBH,CA1CsC,CAAlC"}
@@ -1,9 +1,11 @@
1
1
  /// <reference types="react" />
2
- import { ChoiceGroupDefaultItem, ChoiceGroupPropGetItemDisabled, ChoiceGroupPropGetItemIcon, ChoiceGroupPropGetItemLabel, ChoiceGroupProps } from './types';
2
+ import { ChoiceGroupDefaultItem, ChoiceGroupPropGetItemAttributes, ChoiceGroupPropGetItemDisabled, ChoiceGroupPropGetItemIcon, ChoiceGroupPropGetItemLabel, ChoiceGroupPropGetItemRef, ChoiceGroupProps } from './types';
3
3
  export declare const withDefaultGetters: (props: ChoiceGroupProps) => {
4
4
  getItemLabel: ChoiceGroupPropGetItemLabel<ChoiceGroupDefaultItem>;
5
5
  getItemIcon: ChoiceGroupPropGetItemIcon<ChoiceGroupDefaultItem>;
6
6
  getItemDisabled: ChoiceGroupPropGetItemDisabled<ChoiceGroupDefaultItem>;
7
+ getItemAttributes: ChoiceGroupPropGetItemAttributes<ChoiceGroupDefaultItem>;
8
+ getItemRef: ChoiceGroupPropGetItemRef<ChoiceGroupDefaultItem>;
7
9
  size?: "m" | "s" | "xs" | "l" | undefined;
8
10
  form?: "default" | "round" | "brick" | undefined;
9
11
  view?: "primary" | "ghost" | "secondary" | undefined;
@@ -1,2 +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}var defaultGetItemLabel=function(a){return a.label},defaultGetItemIcon=function(a){return a.icon},defaultGetItemDisabled=function(a){return a.disabled};export var withDefaultGetters=function(a){return _objectSpread(_objectSpread({},a),{},{getItemLabel:a.getItemLabel||defaultGetItemLabel,getItemIcon:a.getItemIcon||defaultGetItemIcon,getItemDisabled:a.getItemDisabled||defaultGetItemDisabled})};
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}var defaultGetItemLabel=function(a){return a.label},defaultGetItemIcon=function(a){return a.icon},defaultGetItemDisabled=function(a){return a.disabled},defaultGetItemAttributes=function(a){return a.attributes},defaultGetItemRef=function(a){return a.ref};export var withDefaultGetters=function(a){return _objectSpread(_objectSpread({},a),{},{getItemLabel:a.getItemLabel||defaultGetItemLabel,getItemIcon:a.getItemIcon||defaultGetItemIcon,getItemDisabled:a.getItemDisabled||defaultGetItemDisabled,getItemAttributes:a.getItemAttributes||defaultGetItemAttributes,getItemRef:a.getItemRef||defaultGetItemRef})};
2
2
  //# sourceMappingURL=helper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helper.js","names":["defaultGetItemLabel","item","label","defaultGetItemIcon","icon","defaultGetItemDisabled","disabled","withDefaultGetters","props","getItemLabel","getItemIcon","getItemDisabled"],"sources":["../../../../../src/components/ChoiceGroup/helper.ts"],"sourcesContent":["import {\n ChoiceGroupDefaultItem,\n ChoiceGroupPropGetItemDisabled,\n ChoiceGroupPropGetItemIcon,\n ChoiceGroupPropGetItemLabel,\n ChoiceGroupProps,\n} from './types';\n\nconst defaultGetItemLabel: ChoiceGroupPropGetItemLabel<\n ChoiceGroupDefaultItem\n> = (item) => item.label;\nconst defaultGetItemIcon: ChoiceGroupPropGetItemIcon<ChoiceGroupDefaultItem> = (\n item,\n) => item.icon;\nconst defaultGetItemDisabled: ChoiceGroupPropGetItemDisabled<\n ChoiceGroupDefaultItem\n> = (item) => item.disabled;\n\nexport const withDefaultGetters = (props: ChoiceGroupProps) => ({\n ...props,\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n getItemIcon: props.getItemIcon || defaultGetItemIcon,\n getItemDisabled: props.getItemDisabled || defaultGetItemDisabled,\n});\n"],"mappings":"wqBAQMA,oBAEL,CAAG,SAACC,CAAD,QAAUA,EAAI,CAACC,KAAf,C,CACEC,kBAAsE,CAAG,SAC7EF,CAD6E,QAE1EA,EAAI,CAACG,IAFqE,C,CAGzEC,sBAEL,CAAG,SAACJ,CAAD,QAAUA,EAAI,CAACK,QAAf,C,CAEJ,MAAO,IAAMC,mBAAkB,CAAG,SAACC,CAAD,wCAC7BA,CAD6B,MAEhCC,YAAY,CAAED,CAAK,CAACC,YAAN,EAAsBT,mBAFJ,CAGhCU,WAAW,CAAEF,CAAK,CAACE,WAAN,EAAqBP,kBAHF,CAIhCQ,eAAe,CAAEH,CAAK,CAACG,eAAN,EAAyBN,sBAJV,GAA3B"}
1
+ {"version":3,"file":"helper.js","names":["defaultGetItemLabel","item","label","defaultGetItemIcon","icon","defaultGetItemDisabled","disabled","defaultGetItemAttributes","attributes","defaultGetItemRef","ref","withDefaultGetters","props","getItemLabel","getItemIcon","getItemDisabled","getItemAttributes","getItemRef"],"sources":["../../../../../src/components/ChoiceGroup/helper.ts"],"sourcesContent":["import {\n ChoiceGroupDefaultItem,\n ChoiceGroupPropGetItemAttributes,\n ChoiceGroupPropGetItemDisabled,\n ChoiceGroupPropGetItemIcon,\n ChoiceGroupPropGetItemLabel,\n ChoiceGroupPropGetItemRef,\n ChoiceGroupProps,\n} from './types';\n\nconst defaultGetItemLabel: ChoiceGroupPropGetItemLabel<\n ChoiceGroupDefaultItem\n> = (item) => item.label;\nconst defaultGetItemIcon: ChoiceGroupPropGetItemIcon<ChoiceGroupDefaultItem> = (\n item,\n) => item.icon;\nconst defaultGetItemDisabled: ChoiceGroupPropGetItemDisabled<\n ChoiceGroupDefaultItem\n> = (item) => item.disabled;\nconst defaultGetItemAttributes: ChoiceGroupPropGetItemAttributes<\n ChoiceGroupDefaultItem\n> = (item) => item.attributes;\nconst defaultGetItemRef: ChoiceGroupPropGetItemRef<ChoiceGroupDefaultItem> = (\n item,\n) => item.ref;\n\nexport const withDefaultGetters = (props: ChoiceGroupProps) => ({\n ...props,\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n getItemIcon: props.getItemIcon || defaultGetItemIcon,\n getItemDisabled: props.getItemDisabled || defaultGetItemDisabled,\n getItemAttributes: props.getItemAttributes || defaultGetItemAttributes,\n getItemRef: props.getItemRef || defaultGetItemRef,\n});\n"],"mappings":"wqBAUMA,oBAEL,CAAG,SAACC,CAAD,QAAUA,EAAI,CAACC,KAAf,C,CACEC,kBAAsE,CAAG,SAC7EF,CAD6E,QAE1EA,EAAI,CAACG,IAFqE,C,CAGzEC,sBAEL,CAAG,SAACJ,CAAD,QAAUA,EAAI,CAACK,QAAf,C,CACEC,wBAEL,CAAG,SAACN,CAAD,QAAUA,EAAI,CAACO,UAAf,C,CACEC,iBAAoE,CAAG,SAC3ER,CAD2E,QAExEA,EAAI,CAACS,GAFmE,C,CAI7E,MAAO,IAAMC,mBAAkB,CAAG,SAACC,CAAD,wCAC7BA,CAD6B,MAEhCC,YAAY,CAAED,CAAK,CAACC,YAAN,EAAsBb,mBAFJ,CAGhCc,WAAW,CAAEF,CAAK,CAACE,WAAN,EAAqBX,kBAHF,CAIhCY,eAAe,CAAEH,CAAK,CAACG,eAAN,EAAyBV,sBAJV,CAKhCW,iBAAiB,CAAEJ,CAAK,CAACI,iBAAN,EAA2BT,wBALd,CAMhCU,UAAU,CAAEL,CAAK,CAACK,UAAN,EAAoBR,iBANA,GAA3B"}
@@ -1,10 +1,12 @@
1
- /// <reference types="react" />
2
1
  import { IconComponent, IconPropSize } from '@consta/icons/Icon';
2
+ import React from 'react';
3
3
  import { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';
4
4
  export declare type ChoiceGroupDefaultItem = {
5
5
  label: string;
6
6
  icon?: IconComponent;
7
7
  disabled?: boolean;
8
+ attributes?: Omit<JSX.IntrinsicElements['label'], 'ref' | 'onChange' | 'children'>;
9
+ ref?: React.RefObject<HTMLLabelElement>;
8
10
  };
9
11
  export declare const choiceGroupForms: readonly ["default", "brick", "round"];
10
12
  export declare type ChoiceGroupPropForm = typeof choiceGroupForms[number];
@@ -21,6 +23,8 @@ export declare const choiceGroupWidthDefault: СhoiceGroupPropWidth;
21
23
  export declare type ChoiceGroupPropGetItemLabel<ITEM> = (item: ITEM) => string | number;
22
24
  export declare type ChoiceGroupPropGetItemIcon<ITEM> = (item: ITEM) => IconComponent | undefined;
23
25
  export declare type ChoiceGroupPropGetItemDisabled<ITEM> = (item: ITEM) => boolean | undefined;
26
+ export declare type ChoiceGroupPropGetItemAttributes<ITEM> = (item: ITEM) => Omit<JSX.IntrinsicElements['label'], 'ref' | 'onChange' | 'children'> | undefined;
27
+ export declare type ChoiceGroupPropGetItemRef<ITEM> = (item: ITEM) => React.RefObject<HTMLLabelElement> | undefined;
24
28
  export declare type ChoiceGroupPropValue<ITEM, MULTIPLE extends boolean> = (MULTIPLE extends true ? ITEM[] : ITEM) | null;
25
29
  export declare type ChoiceGroupPropOnChange<ITEM, MULTIPLE extends boolean> = (props: {
26
30
  e: React.ChangeEvent<HTMLInputElement>;
@@ -36,6 +40,8 @@ export declare type ChoiceGroupProps<ITEM = ChoiceGroupDefaultItem, MULTIPLE ext
36
40
  items: ITEM[];
37
41
  getItemLabel?: ChoiceGroupPropGetItemLabel<ITEM>;
38
42
  getItemIcon?: ChoiceGroupPropGetItemIcon<ITEM>;
43
+ getItemAttributes?: ChoiceGroupPropGetItemAttributes<ITEM>;
44
+ getItemRef?: ChoiceGroupPropGetItemRef<ITEM>;
39
45
  name: string;
40
46
  disabled?: boolean;
41
47
  getItemDisabled?: ChoiceGroupPropGetItemDisabled<ITEM>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":["choiceGroupForms","choiceGroupDefaultForm","choiceGroupSizes","choiceGroupDefaultSize","choiceGroupViews","choiceGroupDefaultView","choiceGroupWidth","choiceGroupWidthDefault"],"sources":["../../../../../src/components/ChoiceGroup/types.ts"],"sourcesContent":["import { IconComponent, IconPropSize } from '@consta/icons/Icon';\n\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\n\nexport type ChoiceGroupDefaultItem = {\n label: string;\n icon?: IconComponent;\n disabled?: boolean;\n};\n\nexport const choiceGroupForms = ['default', 'brick', 'round'] as const;\nexport type ChoiceGroupPropForm = typeof choiceGroupForms[number];\nexport const choiceGroupDefaultForm: ChoiceGroupPropForm = 'default';\n\nexport const choiceGroupSizes = ['xs', 's', 'm', 'l'] as const;\nexport type ChoiceGroupPropSize = typeof choiceGroupSizes[number];\nexport const choiceGroupDefaultSize: ChoiceGroupPropSize = 'm';\n\nexport const choiceGroupViews = ['primary', 'ghost', 'secondary'] as const;\nexport type ChoiceGroupPropView = typeof choiceGroupViews[number];\nexport const choiceGroupDefaultView: ChoiceGroupPropView = 'primary';\n\nexport const choiceGroupWidth = ['default', 'full'] as const;\nexport type СhoiceGroupPropWidth = typeof choiceGroupWidth[number];\nexport const choiceGroupWidthDefault: СhoiceGroupPropWidth =\n choiceGroupWidth[0];\n\nexport type ChoiceGroupPropGetItemLabel<ITEM> = (item: ITEM) => string | number;\nexport type ChoiceGroupPropGetItemIcon<ITEM> = (\n item: ITEM,\n) => IconComponent | undefined;\nexport type ChoiceGroupPropGetItemDisabled<ITEM> = (\n item: ITEM,\n) => boolean | undefined;\n\nexport type ChoiceGroupPropValue<ITEM, MULTIPLE extends boolean> =\n | (MULTIPLE extends true ? ITEM[] : ITEM)\n | null;\n\nexport type ChoiceGroupPropOnChange<ITEM, MULTIPLE extends boolean> = (props: {\n e: React.ChangeEvent<HTMLInputElement>;\n value: MULTIPLE extends true ? ITEM[] | null : ITEM;\n}) => void;\n\nexport type ChoiceGroupProps<\n ITEM = ChoiceGroupDefaultItem,\n MULTIPLE extends boolean = false,\n> = PropsWithHTMLAttributesAndRef<\n {\n size?: ChoiceGroupPropSize;\n form?: ChoiceGroupPropForm;\n view?: ChoiceGroupPropView;\n width?: СhoiceGroupPropWidth;\n onlyIcon?: boolean;\n iconSize?: IconPropSize;\n items: ITEM[];\n getItemLabel?: ChoiceGroupPropGetItemLabel<ITEM>;\n getItemIcon?: ChoiceGroupPropGetItemIcon<ITEM>;\n name: string;\n disabled?: boolean;\n getItemDisabled?: ChoiceGroupPropGetItemDisabled<ITEM>;\n value?: ChoiceGroupPropValue<ITEM, MULTIPLE>;\n onChange?: ChoiceGroupPropOnChange<ITEM, MULTIPLE>;\n multiple?: MULTIPLE;\n truncate?: boolean;\n children?: never;\n },\n HTMLDivElement\n> &\n (ITEM extends { label: ChoiceGroupDefaultItem['label'] }\n ? {}\n : {\n getItemLabel: ChoiceGroupPropGetItemLabel<ITEM>;\n });\n\nexport type ChoiceGroupItemProps = {\n icon?: IconComponent;\n onlyIcon?: boolean;\n iconSize?: IconPropSize;\n label: string;\n name: string;\n onChange: React.ChangeEventHandler<HTMLInputElement>;\n checked: boolean;\n multiple: boolean;\n disabled?: boolean;\n};\n\nexport type ChoiceGroupComponent = <ITEM, MULTIPLE extends boolean = false>(\n props: ChoiceGroupProps<ITEM, MULTIPLE>,\n) => React.ReactElement | null;\n"],"mappings":"AAUA,MAAO,IAAMA,iBAAgB,CAAG,CAAC,SAAD,CAAY,OAAZ,CAAqB,OAArB,CAAzB,CAEP,MAAO,IAAMC,uBAA2C,CAAG,SAApD,CAEP,MAAO,IAAMC,iBAAgB,CAAG,CAAC,IAAD,CAAO,GAAP,CAAY,GAAZ,CAAiB,GAAjB,CAAzB,CAEP,MAAO,IAAMC,uBAA2C,CAAG,GAApD,CAEP,MAAO,IAAMC,iBAAgB,CAAG,CAAC,SAAD,CAAY,OAAZ,CAAqB,WAArB,CAAzB,CAEP,MAAO,IAAMC,uBAA2C,CAAG,SAApD,CAEP,MAAO,IAAMC,iBAAgB,CAAG,CAAC,SAAD,CAAY,MAAZ,CAAzB,CAEP,MAAO,IAAMC,wBAA6C,CACxDD,gBAAgB,CAAC,CAAD,CADX"}
1
+ {"version":3,"file":"types.js","names":["choiceGroupForms","choiceGroupDefaultForm","choiceGroupSizes","choiceGroupDefaultSize","choiceGroupViews","choiceGroupDefaultView","choiceGroupWidth","choiceGroupWidthDefault"],"sources":["../../../../../src/components/ChoiceGroup/types.ts"],"sourcesContent":["import { IconComponent, IconPropSize } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\n\nexport type ChoiceGroupDefaultItem = {\n label: string;\n icon?: IconComponent;\n disabled?: boolean;\n attributes?: Omit<\n JSX.IntrinsicElements['label'],\n 'ref' | 'onChange' | 'children'\n >;\n ref?: React.RefObject<HTMLLabelElement>;\n};\n\nexport const choiceGroupForms = ['default', 'brick', 'round'] as const;\nexport type ChoiceGroupPropForm = typeof choiceGroupForms[number];\nexport const choiceGroupDefaultForm: ChoiceGroupPropForm = 'default';\n\nexport const choiceGroupSizes = ['xs', 's', 'm', 'l'] as const;\nexport type ChoiceGroupPropSize = typeof choiceGroupSizes[number];\nexport const choiceGroupDefaultSize: ChoiceGroupPropSize = 'm';\n\nexport const choiceGroupViews = ['primary', 'ghost', 'secondary'] as const;\nexport type ChoiceGroupPropView = typeof choiceGroupViews[number];\nexport const choiceGroupDefaultView: ChoiceGroupPropView = 'primary';\n\nexport const choiceGroupWidth = ['default', 'full'] as const;\nexport type СhoiceGroupPropWidth = typeof choiceGroupWidth[number];\nexport const choiceGroupWidthDefault: СhoiceGroupPropWidth =\n choiceGroupWidth[0];\n\nexport type ChoiceGroupPropGetItemLabel<ITEM> = (item: ITEM) => string | number;\nexport type ChoiceGroupPropGetItemIcon<ITEM> = (\n item: ITEM,\n) => IconComponent | undefined;\nexport type ChoiceGroupPropGetItemDisabled<ITEM> = (\n item: ITEM,\n) => boolean | undefined;\nexport type ChoiceGroupPropGetItemAttributes<ITEM> = (\n item: ITEM,\n) =>\n | Omit<JSX.IntrinsicElements['label'], 'ref' | 'onChange' | 'children'>\n | undefined;\nexport type ChoiceGroupPropGetItemRef<ITEM> = (\n item: ITEM,\n) => React.RefObject<HTMLLabelElement> | undefined;\n\nexport type ChoiceGroupPropValue<ITEM, MULTIPLE extends boolean> =\n | (MULTIPLE extends true ? ITEM[] : ITEM)\n | null;\n\nexport type ChoiceGroupPropOnChange<ITEM, MULTIPLE extends boolean> = (props: {\n e: React.ChangeEvent<HTMLInputElement>;\n value: MULTIPLE extends true ? ITEM[] | null : ITEM;\n}) => void;\n\nexport type ChoiceGroupProps<\n ITEM = ChoiceGroupDefaultItem,\n MULTIPLE extends boolean = false,\n> = PropsWithHTMLAttributesAndRef<\n {\n size?: ChoiceGroupPropSize;\n form?: ChoiceGroupPropForm;\n view?: ChoiceGroupPropView;\n width?: СhoiceGroupPropWidth;\n onlyIcon?: boolean;\n iconSize?: IconPropSize;\n items: ITEM[];\n getItemLabel?: ChoiceGroupPropGetItemLabel<ITEM>;\n getItemIcon?: ChoiceGroupPropGetItemIcon<ITEM>;\n getItemAttributes?: ChoiceGroupPropGetItemAttributes<ITEM>;\n getItemRef?: ChoiceGroupPropGetItemRef<ITEM>;\n name: string;\n disabled?: boolean;\n getItemDisabled?: ChoiceGroupPropGetItemDisabled<ITEM>;\n value?: ChoiceGroupPropValue<ITEM, MULTIPLE>;\n onChange?: ChoiceGroupPropOnChange<ITEM, MULTIPLE>;\n multiple?: MULTIPLE;\n truncate?: boolean;\n children?: never;\n },\n HTMLDivElement\n> &\n (ITEM extends { label: ChoiceGroupDefaultItem['label'] }\n ? {}\n : {\n getItemLabel: ChoiceGroupPropGetItemLabel<ITEM>;\n });\n\nexport type ChoiceGroupItemProps = {\n icon?: IconComponent;\n onlyIcon?: boolean;\n iconSize?: IconPropSize;\n label: string;\n name: string;\n onChange: React.ChangeEventHandler<HTMLInputElement>;\n checked: boolean;\n multiple: boolean;\n disabled?: boolean;\n};\n\nexport type ChoiceGroupComponent = <ITEM, MULTIPLE extends boolean = false>(\n props: ChoiceGroupProps<ITEM, MULTIPLE>,\n) => React.ReactElement | null;\n"],"mappings":"AAgBA,MAAO,IAAMA,iBAAgB,CAAG,CAAC,SAAD,CAAY,OAAZ,CAAqB,OAArB,CAAzB,CAEP,MAAO,IAAMC,uBAA2C,CAAG,SAApD,CAEP,MAAO,IAAMC,iBAAgB,CAAG,CAAC,IAAD,CAAO,GAAP,CAAY,GAAZ,CAAiB,GAAjB,CAAzB,CAEP,MAAO,IAAMC,uBAA2C,CAAG,GAApD,CAEP,MAAO,IAAMC,iBAAgB,CAAG,CAAC,SAAD,CAAY,OAAZ,CAAqB,WAArB,CAAzB,CAEP,MAAO,IAAMC,uBAA2C,CAAG,SAApD,CAEP,MAAO,IAAMC,iBAAgB,CAAG,CAAC,SAAD,CAAY,MAAZ,CAAzB,CAEP,MAAO,IAAMC,wBAA6C,CACxDD,gBAAgB,CAAC,CAAD,CADX"}
@@ -1,2 +1,2 @@
1
- import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["placeholder","onBlur","onFocus","items","onChange","value","disabled","ariaLabel","id","required","dropdownRef","form","view","size","dropdownClassName","name","groups","getItemLabel","getItemKey","getItemGroupKey","getItemDisabled","getGroupKey","getGroupLabel","renderItem","searchValue","renderValue","onCreate","inputRef","labelForNotFound","labelForCreate","labelForEmptyItems","searchFunction","selectAll","isLoading","multiple","style","dropdownForm","virtualScroll","onScrollToBottom","onDropdownOpen","onSearchValueChange","dropdownOpen","ignoreOutsideClicksRefs"];import"../SelectComponents/Select.css";import{IconClose}from"@consta/icons/IconClose";import{IconSelect}from"@consta/icons/IconSelect";import React,{forwardRef,useRef}from"react";import{usePropsHandler}from"../EventInterceptor/usePropsHandler";import{cnSelect}from"../SelectComponentsCanary/cnSelect";import{defaultlabelForCreate,defaultLabelForEmptyItems,defaultlabelForNotFound,getInputWidth}from"../SelectComponentsCanary/helpers";import{SelectContainer}from"../SelectComponentsCanary/SelectContainer";import{SelectDropdown}from"../SelectComponentsCanary/SelectDropdown";import{SelectItem}from"../SelectComponentsCanary/SelectItem";import{SelectValueTag}from"../SelectComponentsCanary/SelectValueTag";import{defaultPropForm,defaultPropSize,defaultPropView}from"../SelectComponentsCanary/types";import{useSelect}from"../SelectComponentsCanary/useSelect";import{useForkRef}from"../../hooks/useForkRef";import{isMultipleParams,isNotMultipleParams,withDefaultGetters}from"./helpers";export var COMPONENT_NAME="Combobox";var ComboboxRender=function(a,b){var c=useRef(null),d=useRef(null),e=useRef(null),f=useRef(null),g=usePropsHandler(COMPONENT_NAME,withDefaultGetters(a),f),h=g.placeholder,i=g.onBlur,j=g.onFocus,k=g.items,l=g.onChange,m=g.value,n=g.disabled,o=g.ariaLabel,p=g.id,q=g.required,r=g.dropdownRef,s=g.form,t=void 0===s?defaultPropForm:s,u=g.view,v=void 0===u?defaultPropView:u,w=g.size,x=void 0===w?defaultPropSize:w,y=g.dropdownClassName,z=g.name,A=g.groups,B=void 0===A?[]:A,C=g.getItemLabel,D=g.getItemKey,E=g.getItemGroupKey,F=g.getItemDisabled,G=g.getGroupKey,H=g.getGroupLabel,I=g.renderItem,J=g.searchValue,K=g.renderValue,L=g.onCreate,M=g.inputRef,N=g.labelForNotFound,O=void 0===N?defaultlabelForNotFound:N,P=g.labelForCreate,Q=void 0===P?defaultlabelForCreate:P,R=g.labelForEmptyItems,S=void 0===R?defaultLabelForEmptyItems:R,T=g.searchFunction,U=g.selectAll,V=g.isLoading,W=g.multiple,X=void 0!==W&&W,Y=g.style,Z=g.dropdownForm,$=void 0===Z?"default":Z,_=g.virtualScroll,aa=g.onScrollToBottom,ba=g.onDropdownOpen,ca=g.onSearchValueChange,da=g.dropdownOpen,ea=g.ignoreOutsideClicksRefs,fa=_objectWithoutProperties(g,_excluded),ga=useSelect({items:k,groups:B,value:m,onChange:l,selectAll:U,dropdownRef:c,controlRef:f,disabled:n,getItemLabel:C,getItemKey:D,getGroupKey:G,searchValue:J,getItemGroupKey:E,getItemDisabled:F,multiple:X,onBlur:i,onFocus:j,onCreate:L,searchFunction:T,onDropdownOpen:ba,onSearchValueChange:ca,dropdownOpen:da,ignoreOutsideClicksRefs:ea}),ha=ga.getKeyProps,ia=ga.getOptionProps,ja=ga.isOpen,ka=ga.visibleItems,la=ga.isFocused,ma=ga.handleInputFocus,na=ga.handleInputBlur,oa=ga.handleToggleDropdown,pa=ga.inputRef,qa=ga.handleInputClick,ra=ga.handleInputChange,sa=ga.searchValue,ta=ga.clearValue,ua=ga.getHandleRemoveValue,va=ga.notFound,wa=ga.hasItems,xa=ga.optionsRefs,ya=p?"".concat(p,"-input"):p,za=K||(X?function renderValueDefaultMultiple(a){var b=a.item,c=a.handleRemove;return React.createElement(SelectValueTag,{label:C(b),key:D(b),size:x,disabled:n||F(b),handleRemove:c})}:function renderValueDefaultNotMultiple(a){var b=C(a.item);return React.createElement("span",{className:cnSelect("ControlValue"),title:b},b)}),Aa=useForkRef([pa,M]),Ba=function(){var b=X?getInputWidth(d,e):void 0;return React.createElement(React.Fragment,null,isMultipleParams(a)&&Array.isArray(a.value)&&a.value.map(function(a){return za({item:a,handleRemove:ua(a)})}),isNotMultipleParams(a)&&a.value&&za({item:a.value}),(!m||Array.isArray(m)&&0===m.length)&&!sa&&h&&React.createElement("span",{className:cnSelect("Placeholder"),title:"placeholder"},h),React.createElement("input",Object.assign({},ha(),{type:"text",name:z,id:ya,onFocus:ma,onBlur:na,"aria-label":o,onChange:ra,ref:Aa,className:cnSelect("Input",{size:x,hide:!X&&!!m,multiple:X}),value:sa,style:{width:b}})))};return React.createElement(React.Fragment,null,React.createElement(SelectContainer,Object.assign({focused:la,disabled:n,size:x,view:v,required:q,form:t,multiple:X,ref:b,type:"combobox",style:Y,id:ya},fa),React.createElement("div",{className:cnSelect("Control",{hasInput:!0}),ref:f,"aria-expanded":ja,"aria-haspopup":"listbox",id:p},React.createElement("div",{className:cnSelect("ControlInner"),onClick:qa,role:"button",ref:d,"aria-hidden":"true"},React.createElement("div",{className:cnSelect("ControlValueContainer")},X?React.createElement("div",{className:cnSelect("ControlValue")},Ba()):Ba())),React.createElement("span",{className:cnSelect("Indicators")},m&&React.createElement("button",{type:"button",onClick:ta,tabIndex:-1,className:cnSelect("ClearIndicator")},React.createElement(IconClose,{size:"xs",className:cnSelect("ClearIndicatorIcon")})),React.createElement("span",{className:cnSelect("Delimiter")}),React.createElement("button",{type:"button",className:cnSelect("IndicatorsDropdown"),tabIndex:-1,onClick:oa},React.createElement(IconSelect,{size:"xs",className:cnSelect("DropdownIndicatorIcon")})))),React.createElement("div",{className:cnSelect("HelperInputFakeElement"),ref:e},sa)),React.createElement(SelectDropdown,{isOpen:ja,size:x,controlRef:f,getOptionProps:ia,dropdownRef:useForkRef([r,c]),form:$,className:y,renderItem:I||function renderItemDefault(a){var b=a.item,c=a.active,d=a.hovered,e=a.onClick,f=a.onMouseEnter,g=a.ref;return React.createElement(SelectItem,{label:C(b),active:c,hovered:d,multiple:X,size:x,indent:"round"===$?"increased":"normal",onClick:e,onMouseEnter:f,disabled:F(b),ref:g})},getGroupLabel:H,visibleItems:ka,labelForNotFound:O,labelForCreate:Q,isLoading:V,labelForEmptyItems:S,notFound:va,hasItems:wa,itemsRefs:xa,virtualScroll:_,onScrollToBottom:aa,style:"number"==typeof(null===Y||void 0===Y?void 0:Y.zIndex)?{zIndex:Y.zIndex+1}:void 0}))};export var Combobox=forwardRef(ComboboxRender);
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["placeholder","onBlur","onFocus","items","onChange","value","disabled","ariaLabel","id","required","dropdownRef","form","view","size","dropdownClassName","name","groups","getItemLabel","getItemKey","getItemGroupKey","getItemDisabled","getGroupKey","getGroupLabel","renderItem","allSelectedAllLabel","searchValue","renderValue","onCreate","inputRef","labelForNotFound","labelForCreate","labelForEmptyItems","searchFunction","selectAll","isLoading","multiple","style","dropdownForm","virtualScroll","onScrollToBottom","onDropdownOpen","onSearchValueChange","dropdownOpen","ignoreOutsideClicksRefs"];import"../SelectComponents/Select.css";import{IconClose}from"@consta/icons/IconClose";import{IconSelect}from"@consta/icons/IconSelect";import React,{forwardRef,useRef}from"react";import{usePropsHandler}from"../EventInterceptor/usePropsHandler";import{cnSelect}from"../SelectComponentsCanary/cnSelect";import{defaultlabelForCreate,defaultLabelForEmptyItems,defaultlabelForNotFound,getInputWidth}from"../SelectComponentsCanary/helpers";import{SelectContainer}from"../SelectComponentsCanary/SelectContainer";import{SelectDropdown}from"../SelectComponentsCanary/SelectDropdown";import{SelectItem}from"../SelectComponentsCanary/SelectItem";import{SelectValueTag}from"../SelectComponentsCanary/SelectValueTag";import{defaultPropForm,defaultPropSize,defaultPropView}from"../SelectComponentsCanary/types";import{useSelect}from"../SelectComponentsCanary/useSelect";import{useForkRef}from"../../hooks/useForkRef";import{Text}from"../Text";import{isMultipleParams,isNotMultipleParams,withDefaultGetters}from"./helpers";export var COMPONENT_NAME="Combobox";var ComboboxRender=function(a,b){var c=useRef(null),d=useRef(null),e=useRef(null),f=useRef(null),g=usePropsHandler(COMPONENT_NAME,withDefaultGetters(a),f),h=g.placeholder,i=g.onBlur,j=g.onFocus,k=g.items,l=g.onChange,m=g.value,n=g.disabled,o=g.ariaLabel,p=g.id,q=g.required,r=g.dropdownRef,s=g.form,t=void 0===s?defaultPropForm:s,u=g.view,v=void 0===u?defaultPropView:u,w=g.size,x=void 0===w?defaultPropSize:w,y=g.dropdownClassName,z=g.name,A=g.groups,B=void 0===A?[]:A,C=g.getItemLabel,D=g.getItemKey,E=g.getItemGroupKey,F=g.getItemDisabled,G=g.getGroupKey,H=g.getGroupLabel,I=g.renderItem,J=g.allSelectedAllLabel,K=void 0===J?"\u0412\u0441\u0435":J,L=g.searchValue,M=g.renderValue,N=g.onCreate,O=g.inputRef,P=g.labelForNotFound,Q=void 0===P?defaultlabelForNotFound:P,R=g.labelForCreate,S=void 0===R?defaultlabelForCreate:R,T=g.labelForEmptyItems,U=void 0===T?defaultLabelForEmptyItems:T,V=g.searchFunction,W=g.selectAll,X=g.isLoading,Y=g.multiple,Z=void 0!==Y&&Y,$=g.style,_=g.dropdownForm,aa=void 0===_?"default":_,ba=g.virtualScroll,ca=g.onScrollToBottom,da=g.onDropdownOpen,ea=g.onSearchValueChange,fa=g.dropdownOpen,ga=g.ignoreOutsideClicksRefs,ha=_objectWithoutProperties(g,_excluded),ia=useSelect({items:k,groups:B,value:m,onChange:l,selectAll:W,dropdownRef:c,controlRef:f,disabled:n,getItemLabel:C,getItemKey:D,getGroupKey:G,searchValue:L,getItemGroupKey:E,getItemDisabled:F,multiple:Z,onBlur:i,onFocus:j,onCreate:N,searchFunction:V,onDropdownOpen:da,onSearchValueChange:ea,dropdownOpen:fa,ignoreOutsideClicksRefs:ga}),ja=ia.getKeyProps,ka=ia.getOptionProps,la=ia.isOpen,ma=ia.visibleItems,na=ia.isFocused,oa=ia.handleInputFocus,pa=ia.handleInputBlur,qa=ia.handleToggleDropdown,ra=ia.inputRef,sa=ia.handleInputClick,ta=ia.handleInputChange,ua=ia.searchValue,va=ia.clearValue,wa=ia.getHandleRemoveValue,xa=ia.notFound,ya=ia.hasItems,za=ia.optionsRefs,Aa=ia.allItemsSelected,Ba=p?"".concat(p,"-input"):p,Ca=M||(Z?function renderValueDefaultMultiple(a){var b=a.item,c=a.handleRemove;return React.createElement(SelectValueTag,{label:C(b),key:D(b),size:x,disabled:n||F(b),handleRemove:c})}:function renderValueDefaultNotMultiple(a){var b=C(a.item);return React.createElement("span",{className:cnSelect("ControlValue"),title:b},b)}),Da=useForkRef([ra,O]),Ea=function(){var b=Z?getInputWidth(d,e):void 0;return React.createElement(React.Fragment,null,isMultipleParams(a)&&Array.isArray(a.value)&&a.value.map(function(a){return Ca({item:a,handleRemove:wa(a)})}),isNotMultipleParams(a)&&a.value&&Ca({item:a.value}),(!m||Array.isArray(m)&&0===m.length)&&!ua&&h&&React.createElement("span",{className:cnSelect("Placeholder"),title:"placeholder"},h),React.createElement("input",Object.assign({},ja(),{type:"text",name:z,id:Ba,onFocus:oa,onBlur:pa,"aria-label":o,onChange:ta,ref:Da,className:cnSelect("Input",{size:x,hide:!Z&&!!m,multiple:Z}),value:ua,style:{width:b}})))};return React.createElement(React.Fragment,null,React.createElement(SelectContainer,Object.assign({focused:na,disabled:n,size:x,view:v,required:q,form:t,multiple:Z,ref:b,type:"combobox",style:$,id:Ba},ha),React.createElement("div",{className:cnSelect("Control",{hasInput:!0}),ref:f,"aria-expanded":la,"aria-haspopup":"listbox",id:p},React.createElement("div",{className:cnSelect("ControlInner"),onClick:sa,role:"button",ref:d,"aria-hidden":"true"},React.createElement("div",{className:cnSelect("ControlValueContainer")},function renderValueList(){return Aa?React.createElement(Text,{size:x,className:cnSelect("SelectAll")},K):Z?React.createElement("div",{className:cnSelect("ControlValue")},Ea()):Ea()}())),React.createElement("span",{className:cnSelect("Indicators")},m&&React.createElement("button",{type:"button",onClick:va,tabIndex:-1,className:cnSelect("ClearIndicator")},React.createElement(IconClose,{size:"xs",className:cnSelect("ClearIndicatorIcon")})),React.createElement("span",{className:cnSelect("Delimiter")}),React.createElement("button",{type:"button",className:cnSelect("IndicatorsDropdown"),tabIndex:-1,onClick:qa},React.createElement(IconSelect,{size:"xs",className:cnSelect("DropdownIndicatorIcon")})))),React.createElement("div",{className:cnSelect("HelperInputFakeElement"),ref:e},ua)),React.createElement(SelectDropdown,{isOpen:la,size:x,controlRef:f,getOptionProps:ka,dropdownRef:useForkRef([r,c]),form:aa,className:y,renderItem:I||function renderItemDefault(a){var b=a.item,c=a.active,d=a.hovered,e=a.onClick,f=a.onMouseEnter,g=a.ref;return React.createElement(SelectItem,{label:C(b),active:c,hovered:d,multiple:Z,size:x,indent:"round"===aa?"increased":"normal",onClick:e,onMouseEnter:f,disabled:F(b),ref:g})},getGroupLabel:H,visibleItems:ma,labelForNotFound:Q,labelForCreate:S,isLoading:X,labelForEmptyItems:U,notFound:xa,hasItems:ya,itemsRefs:za,virtualScroll:ba,onScrollToBottom:ca,style:"number"==typeof(null===$||void 0===$?void 0:$.zIndex)?{zIndex:$.zIndex+1}:void 0}))};export var Combobox=forwardRef(ComboboxRender);
2
2
  //# sourceMappingURL=ComboboxCanary.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ComboboxCanary.js","names":["IconClose","IconSelect","React","forwardRef","useRef","usePropsHandler","cnSelect","defaultlabelForCreate","defaultLabelForEmptyItems","defaultlabelForNotFound","getInputWidth","SelectContainer","SelectDropdown","SelectItem","SelectValueTag","defaultPropForm","defaultPropSize","defaultPropView","useSelect","useForkRef","isMultipleParams","isNotMultipleParams","withDefaultGetters","COMPONENT_NAME","ComboboxRender","props","ref","defaultDropdownRef","controlInnerRef","helperInputFakeElement","controlRef","placeholder","onBlur","onFocus","items","onChange","value","disabled","ariaLabel","id","required","dropdownRef","form","view","size","dropdownClassName","name","groups","getItemLabel","getItemKey","getItemGroupKey","getItemDisabled","getGroupKey","getGroupLabel","renderItem","searchValueProp","searchValue","renderValueProp","renderValue","onCreate","inputRefProp","inputRef","labelForNotFound","labelForCreate","labelForEmptyItems","searchFunction","selectAll","isLoading","multiple","style","dropdownForm","virtualScroll","onScrollToBottom","onDropdownOpen","onSearchValueChange","dropdownOpen","ignoreOutsideClicksRefs","otherProps","getKeyProps","getOptionProps","isOpen","visibleItems","isFocused","handleInputFocus","handleInputBlur","handleToggleDropdown","handleInputClick","handleInputChange","clearValue","getHandleRemoveValue","notFound","hasItems","optionsRefs","inputId","renderValueDefaultMultiple","item","handleRemove","renderValueDefaultNotMultiple","valueLable","inputRefForRender","renderControlValue","width","Array","isArray","map","length","hide","hasInput","renderItemDefault","active","hovered","onClick","onMouseEnter","zIndex","Combobox"],"sources":["../../../../../src/components/ComboboxCanary/ComboboxCanary.tsx"],"sourcesContent":["import '##/components/SelectComponents/Select.css';\n\nimport { IconClose } from '@consta/icons/IconClose';\nimport { IconSelect } from '@consta/icons/IconSelect';\nimport React, { forwardRef, useRef } from 'react';\n\nimport { usePropsHandler } from '##/components/EventInterceptor/usePropsHandler';\nimport { cnSelect } from '##/components/SelectComponentsCanary/cnSelect';\nimport {\n defaultlabelForCreate,\n defaultLabelForEmptyItems,\n defaultlabelForNotFound,\n getInputWidth,\n} from '##/components/SelectComponentsCanary/helpers';\nimport { SelectContainer } from '##/components/SelectComponentsCanary/SelectContainer';\nimport { SelectDropdown } from '##/components/SelectComponentsCanary/SelectDropdown';\nimport { SelectItem } from '##/components/SelectComponentsCanary/SelectItem';\nimport { SelectValueTag } from '##/components/SelectComponentsCanary/SelectValueTag';\nimport {\n defaultPropForm,\n defaultPropSize,\n defaultPropView,\n} from '##/components/SelectComponentsCanary/types';\nimport { useSelect } from '##/components/SelectComponentsCanary/useSelect';\nimport { useForkRef } from '##/hooks/useForkRef';\n\nimport {\n ComboboxComponent,\n ComboboxProps,\n DefaultGroup,\n DefaultItem,\n isMultipleParams,\n isNotMultipleParams,\n PropRenderItem,\n PropRenderValue,\n withDefaultGetters,\n} from './helpers';\n\nexport const COMPONENT_NAME = 'Combobox' as const;\n\nconst ComboboxRender = <\n ITEM = DefaultItem,\n GROUP = DefaultGroup,\n MULTIPLE extends boolean = false,\n>(\n props: ComboboxProps<ITEM, GROUP, MULTIPLE>,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const defaultDropdownRef = useRef<HTMLDivElement | null>(null);\n const controlInnerRef = useRef<HTMLDivElement>(null);\n const helperInputFakeElement = useRef<HTMLDivElement>(null);\n const controlRef = useRef<HTMLDivElement | null>(null);\n\n const {\n placeholder,\n onBlur,\n onFocus,\n items,\n onChange,\n value,\n disabled,\n ariaLabel,\n id,\n required,\n dropdownRef,\n form = defaultPropForm,\n view = defaultPropView,\n size = defaultPropSize,\n dropdownClassName,\n name,\n groups = [],\n getItemLabel,\n getItemKey,\n getItemGroupKey,\n getItemDisabled,\n getGroupKey,\n getGroupLabel,\n renderItem,\n searchValue: searchValueProp,\n renderValue: renderValueProp,\n onCreate,\n inputRef: inputRefProp,\n labelForNotFound = defaultlabelForNotFound,\n labelForCreate = defaultlabelForCreate,\n labelForEmptyItems = defaultLabelForEmptyItems,\n searchFunction,\n selectAll,\n isLoading,\n multiple = false,\n style,\n dropdownForm = 'default',\n virtualScroll,\n onScrollToBottom,\n onDropdownOpen,\n onSearchValueChange,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n ...otherProps\n } = usePropsHandler(COMPONENT_NAME, withDefaultGetters(props), controlRef);\n\n const {\n getKeyProps,\n getOptionProps,\n isOpen,\n visibleItems,\n isFocused,\n handleInputFocus,\n handleInputBlur,\n handleToggleDropdown,\n inputRef,\n handleInputClick,\n handleInputChange,\n searchValue,\n clearValue,\n getHandleRemoveValue,\n notFound,\n hasItems,\n optionsRefs,\n } = useSelect({\n items,\n groups,\n value,\n onChange,\n selectAll,\n dropdownRef: defaultDropdownRef,\n controlRef,\n disabled,\n getItemLabel,\n getItemKey,\n getGroupKey,\n searchValue: searchValueProp,\n getItemGroupKey,\n getItemDisabled,\n multiple,\n onBlur,\n onFocus,\n onCreate,\n searchFunction,\n onDropdownOpen,\n onSearchValueChange,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n });\n\n const inputId = id ? `${id}-input` : id;\n\n const renderItemDefault: PropRenderItem<ITEM> = (props) => {\n const { item, active, hovered, onClick, onMouseEnter, ref } = props;\n\n return (\n <SelectItem\n label={getItemLabel(item)}\n active={active}\n hovered={hovered}\n multiple={multiple}\n size={size}\n indent={dropdownForm === 'round' ? 'increased' : 'normal'}\n onClick={onClick}\n onMouseEnter={onMouseEnter}\n disabled={getItemDisabled(item)}\n ref={ref}\n />\n );\n };\n\n const renderValueDefaultMultiple: PropRenderValue<ITEM> = ({\n item,\n handleRemove,\n }) => {\n return (\n <SelectValueTag\n label={getItemLabel(item)}\n key={getItemKey(item)}\n size={size}\n disabled={disabled || getItemDisabled(item)}\n handleRemove={handleRemove}\n />\n );\n };\n\n const renderValueDefaultNotMultiple: PropRenderValue<ITEM> = (props) => {\n const valueLable = getItemLabel(props.item);\n\n return (\n <span className={cnSelect('ControlValue')} title={valueLable}>\n {valueLable}\n </span>\n );\n };\n\n const renderValue =\n renderValueProp ||\n (multiple ? renderValueDefaultMultiple : renderValueDefaultNotMultiple);\n\n const inputRefForRender = useForkRef([inputRef, inputRefProp]);\n\n const renderControlValue = () => {\n const width = multiple\n ? getInputWidth(controlInnerRef, helperInputFakeElement)\n : undefined;\n return (\n <>\n {isMultipleParams(props) &&\n Array.isArray(props.value) &&\n props.value.map((item) =>\n renderValue({ item, handleRemove: getHandleRemoveValue(item) }),\n )}\n {isNotMultipleParams(props) &&\n props.value &&\n renderValue({ item: props.value })}\n {(!value || (Array.isArray(value) && value.length === 0)) &&\n !searchValue &&\n placeholder && (\n <span className={cnSelect('Placeholder')} title=\"placeholder\">\n {placeholder}\n </span>\n )}\n <input\n {...getKeyProps()}\n type=\"text\"\n name={name}\n id={inputId}\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n aria-label={ariaLabel}\n onChange={handleInputChange}\n ref={inputRefForRender}\n className={cnSelect('Input', {\n size,\n hide: !multiple && !!value,\n multiple,\n })}\n value={searchValue}\n style={{ width }}\n />\n </>\n );\n };\n\n return (\n <>\n <SelectContainer\n focused={isFocused}\n disabled={disabled}\n size={size}\n view={view}\n required={required}\n form={form}\n multiple={multiple}\n ref={ref}\n type=\"combobox\"\n style={style}\n id={inputId}\n {...otherProps}\n >\n <div\n className={cnSelect('Control', { hasInput: true })}\n ref={controlRef}\n aria-expanded={isOpen}\n aria-haspopup=\"listbox\"\n id={id}\n >\n <div\n className={cnSelect('ControlInner')}\n onClick={handleInputClick}\n role=\"button\"\n ref={controlInnerRef}\n aria-hidden=\"true\"\n >\n <div className={cnSelect('ControlValueContainer')}>\n {multiple ? (\n <div className={cnSelect('ControlValue')}>\n {renderControlValue()}\n </div>\n ) : (\n renderControlValue()\n )}\n </div>\n </div>\n <span className={cnSelect('Indicators')}>\n {value && (\n <button\n type=\"button\"\n onClick={clearValue}\n tabIndex={-1}\n className={cnSelect('ClearIndicator')}\n >\n <IconClose\n size=\"xs\"\n className={cnSelect('ClearIndicatorIcon')}\n />\n </button>\n )}\n <span className={cnSelect('Delimiter')} />\n <button\n type=\"button\"\n className={cnSelect('IndicatorsDropdown')}\n tabIndex={-1}\n onClick={handleToggleDropdown}\n >\n <IconSelect\n size=\"xs\"\n className={cnSelect('DropdownIndicatorIcon')}\n />\n </button>\n </span>\n </div>\n <div\n className={cnSelect('HelperInputFakeElement')}\n ref={helperInputFakeElement}\n >\n {searchValue}\n </div>\n </SelectContainer>\n <SelectDropdown\n isOpen={isOpen}\n size={size}\n controlRef={controlRef}\n getOptionProps={getOptionProps}\n dropdownRef={useForkRef([dropdownRef, defaultDropdownRef])}\n form={dropdownForm}\n className={dropdownClassName}\n renderItem={renderItem || renderItemDefault}\n getGroupLabel={getGroupLabel}\n visibleItems={visibleItems}\n labelForNotFound={labelForNotFound}\n labelForCreate={labelForCreate}\n isLoading={isLoading}\n labelForEmptyItems={labelForEmptyItems}\n notFound={notFound}\n hasItems={hasItems}\n itemsRefs={optionsRefs}\n virtualScroll={virtualScroll}\n onScrollToBottom={onScrollToBottom}\n style={\n typeof style?.zIndex === 'number'\n ? { zIndex: style.zIndex + 1 }\n : undefined\n }\n />\n </>\n );\n};\n\nexport const Combobox = forwardRef(ComboboxRender) as ComboboxComponent;\n"],"mappings":"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"}
1
+ {"version":3,"file":"ComboboxCanary.js","names":["IconClose","IconSelect","React","forwardRef","useRef","usePropsHandler","cnSelect","defaultlabelForCreate","defaultLabelForEmptyItems","defaultlabelForNotFound","getInputWidth","SelectContainer","SelectDropdown","SelectItem","SelectValueTag","defaultPropForm","defaultPropSize","defaultPropView","useSelect","useForkRef","Text","isMultipleParams","isNotMultipleParams","withDefaultGetters","COMPONENT_NAME","ComboboxRender","props","ref","defaultDropdownRef","controlInnerRef","helperInputFakeElement","controlRef","placeholder","onBlur","onFocus","items","onChange","value","disabled","ariaLabel","id","required","dropdownRef","form","view","size","dropdownClassName","name","groups","getItemLabel","getItemKey","getItemGroupKey","getItemDisabled","getGroupKey","getGroupLabel","renderItem","allSelectedAllLabel","searchValueProp","searchValue","renderValueProp","renderValue","onCreate","inputRefProp","inputRef","labelForNotFound","labelForCreate","labelForEmptyItems","searchFunction","selectAll","isLoading","multiple","style","dropdownForm","virtualScroll","onScrollToBottom","onDropdownOpen","onSearchValueChange","dropdownOpen","ignoreOutsideClicksRefs","otherProps","getKeyProps","getOptionProps","isOpen","visibleItems","isFocused","handleInputFocus","handleInputBlur","handleToggleDropdown","handleInputClick","handleInputChange","clearValue","getHandleRemoveValue","notFound","hasItems","optionsRefs","allItemsSelected","inputId","renderValueDefaultMultiple","item","handleRemove","renderValueDefaultNotMultiple","valueLable","inputRefForRender","renderControlValue","width","Array","isArray","map","length","hide","hasInput","renderValueList","renderItemDefault","active","hovered","onClick","onMouseEnter","zIndex","Combobox"],"sources":["../../../../../src/components/ComboboxCanary/ComboboxCanary.tsx"],"sourcesContent":["import '##/components/SelectComponents/Select.css';\n\nimport { IconClose } from '@consta/icons/IconClose';\nimport { IconSelect } from '@consta/icons/IconSelect';\nimport React, { forwardRef, useRef } from 'react';\n\nimport { usePropsHandler } from '##/components/EventInterceptor/usePropsHandler';\nimport { cnSelect } from '##/components/SelectComponentsCanary/cnSelect';\nimport {\n defaultlabelForCreate,\n defaultLabelForEmptyItems,\n defaultlabelForNotFound,\n getInputWidth,\n} from '##/components/SelectComponentsCanary/helpers';\nimport { SelectContainer } from '##/components/SelectComponentsCanary/SelectContainer';\nimport { SelectDropdown } from '##/components/SelectComponentsCanary/SelectDropdown';\nimport { SelectItem } from '##/components/SelectComponentsCanary/SelectItem';\nimport { SelectValueTag } from '##/components/SelectComponentsCanary/SelectValueTag';\nimport {\n defaultPropForm,\n defaultPropSize,\n defaultPropView,\n} from '##/components/SelectComponentsCanary/types';\nimport { useSelect } from '##/components/SelectComponentsCanary/useSelect';\nimport { useForkRef } from '##/hooks/useForkRef';\n\nimport { Text } from '../Text';\nimport {\n ComboboxComponent,\n ComboboxProps,\n DefaultGroup,\n DefaultItem,\n isMultipleParams,\n isNotMultipleParams,\n PropRenderItem,\n PropRenderValue,\n withDefaultGetters,\n} from './helpers';\n\nexport const COMPONENT_NAME = 'Combobox' as const;\n\nconst ComboboxRender = <\n ITEM = DefaultItem,\n GROUP = DefaultGroup,\n MULTIPLE extends boolean = false,\n>(\n props: ComboboxProps<ITEM, GROUP, MULTIPLE>,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const defaultDropdownRef = useRef<HTMLDivElement | null>(null);\n const controlInnerRef = useRef<HTMLDivElement>(null);\n const helperInputFakeElement = useRef<HTMLDivElement>(null);\n const controlRef = useRef<HTMLDivElement | null>(null);\n\n const {\n placeholder,\n onBlur,\n onFocus,\n items,\n onChange,\n value,\n disabled,\n ariaLabel,\n id,\n required,\n dropdownRef,\n form = defaultPropForm,\n view = defaultPropView,\n size = defaultPropSize,\n dropdownClassName,\n name,\n groups = [],\n getItemLabel,\n getItemKey,\n getItemGroupKey,\n getItemDisabled,\n getGroupKey,\n getGroupLabel,\n renderItem,\n allSelectedAllLabel = 'Все',\n searchValue: searchValueProp,\n renderValue: renderValueProp,\n onCreate,\n inputRef: inputRefProp,\n labelForNotFound = defaultlabelForNotFound,\n labelForCreate = defaultlabelForCreate,\n labelForEmptyItems = defaultLabelForEmptyItems,\n searchFunction,\n selectAll,\n isLoading,\n multiple = false,\n style,\n dropdownForm = 'default',\n virtualScroll,\n onScrollToBottom,\n onDropdownOpen,\n onSearchValueChange,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n ...otherProps\n } = usePropsHandler(COMPONENT_NAME, withDefaultGetters(props), controlRef);\n\n const {\n getKeyProps,\n getOptionProps,\n isOpen,\n visibleItems,\n isFocused,\n handleInputFocus,\n handleInputBlur,\n handleToggleDropdown,\n inputRef,\n handleInputClick,\n handleInputChange,\n searchValue,\n clearValue,\n getHandleRemoveValue,\n notFound,\n hasItems,\n optionsRefs,\n allItemsSelected,\n } = useSelect({\n items,\n groups,\n value,\n onChange,\n selectAll,\n dropdownRef: defaultDropdownRef,\n controlRef,\n disabled,\n getItemLabel,\n getItemKey,\n getGroupKey,\n searchValue: searchValueProp,\n getItemGroupKey,\n getItemDisabled,\n multiple,\n onBlur,\n onFocus,\n onCreate,\n searchFunction,\n onDropdownOpen,\n onSearchValueChange,\n dropdownOpen,\n ignoreOutsideClicksRefs,\n });\n\n const inputId = id ? `${id}-input` : id;\n\n const renderItemDefault: PropRenderItem<ITEM> = (props) => {\n const { item, active, hovered, onClick, onMouseEnter, ref } = props;\n\n return (\n <SelectItem\n label={getItemLabel(item)}\n active={active}\n hovered={hovered}\n multiple={multiple}\n size={size}\n indent={dropdownForm === 'round' ? 'increased' : 'normal'}\n onClick={onClick}\n onMouseEnter={onMouseEnter}\n disabled={getItemDisabled(item)}\n ref={ref}\n />\n );\n };\n\n const renderValueDefaultMultiple: PropRenderValue<ITEM> = ({\n item,\n handleRemove,\n }) => {\n return (\n <SelectValueTag\n label={getItemLabel(item)}\n key={getItemKey(item)}\n size={size}\n disabled={disabled || getItemDisabled(item)}\n handleRemove={handleRemove}\n />\n );\n };\n\n const renderValueDefaultNotMultiple: PropRenderValue<ITEM> = (props) => {\n const valueLable = getItemLabel(props.item);\n\n return (\n <span className={cnSelect('ControlValue')} title={valueLable}>\n {valueLable}\n </span>\n );\n };\n\n const renderValue =\n renderValueProp ||\n (multiple ? renderValueDefaultMultiple : renderValueDefaultNotMultiple);\n\n const inputRefForRender = useForkRef([inputRef, inputRefProp]);\n\n const renderControlValue = () => {\n const width = multiple\n ? getInputWidth(controlInnerRef, helperInputFakeElement)\n : undefined;\n return (\n <>\n {isMultipleParams(props) &&\n Array.isArray(props.value) &&\n props.value.map((item) =>\n renderValue({ item, handleRemove: getHandleRemoveValue(item) }),\n )}\n {isNotMultipleParams(props) &&\n props.value &&\n renderValue({ item: props.value })}\n {(!value || (Array.isArray(value) && value.length === 0)) &&\n !searchValue &&\n placeholder && (\n <span className={cnSelect('Placeholder')} title=\"placeholder\">\n {placeholder}\n </span>\n )}\n <input\n {...getKeyProps()}\n type=\"text\"\n name={name}\n id={inputId}\n onFocus={handleInputFocus}\n onBlur={handleInputBlur}\n aria-label={ariaLabel}\n onChange={handleInputChange}\n ref={inputRefForRender}\n className={cnSelect('Input', {\n size,\n hide: !multiple && !!value,\n multiple,\n })}\n value={searchValue}\n style={{ width }}\n />\n </>\n );\n };\n\n const renderValueList = () => {\n if (allItemsSelected) {\n return (\n <Text size={size} className={cnSelect('SelectAll')}>\n {allSelectedAllLabel}\n </Text>\n );\n }\n if (multiple) {\n return (\n <div className={cnSelect('ControlValue')}>{renderControlValue()}</div>\n );\n }\n return renderControlValue();\n };\n\n return (\n <>\n <SelectContainer\n focused={isFocused}\n disabled={disabled}\n size={size}\n view={view}\n required={required}\n form={form}\n multiple={multiple}\n ref={ref}\n type=\"combobox\"\n style={style}\n id={inputId}\n {...otherProps}\n >\n <div\n className={cnSelect('Control', { hasInput: true })}\n ref={controlRef}\n aria-expanded={isOpen}\n aria-haspopup=\"listbox\"\n id={id}\n >\n <div\n className={cnSelect('ControlInner')}\n onClick={handleInputClick}\n role=\"button\"\n ref={controlInnerRef}\n aria-hidden=\"true\"\n >\n <div className={cnSelect('ControlValueContainer')}>\n {renderValueList()}\n </div>\n </div>\n <span className={cnSelect('Indicators')}>\n {value && (\n <button\n type=\"button\"\n onClick={clearValue}\n tabIndex={-1}\n className={cnSelect('ClearIndicator')}\n >\n <IconClose\n size=\"xs\"\n className={cnSelect('ClearIndicatorIcon')}\n />\n </button>\n )}\n <span className={cnSelect('Delimiter')} />\n <button\n type=\"button\"\n className={cnSelect('IndicatorsDropdown')}\n tabIndex={-1}\n onClick={handleToggleDropdown}\n >\n <IconSelect\n size=\"xs\"\n className={cnSelect('DropdownIndicatorIcon')}\n />\n </button>\n </span>\n </div>\n <div\n className={cnSelect('HelperInputFakeElement')}\n ref={helperInputFakeElement}\n >\n {searchValue}\n </div>\n </SelectContainer>\n <SelectDropdown\n isOpen={isOpen}\n size={size}\n controlRef={controlRef}\n getOptionProps={getOptionProps}\n dropdownRef={useForkRef([dropdownRef, defaultDropdownRef])}\n form={dropdownForm}\n className={dropdownClassName}\n renderItem={renderItem || renderItemDefault}\n getGroupLabel={getGroupLabel}\n visibleItems={visibleItems}\n labelForNotFound={labelForNotFound}\n labelForCreate={labelForCreate}\n isLoading={isLoading}\n labelForEmptyItems={labelForEmptyItems}\n notFound={notFound}\n hasItems={hasItems}\n itemsRefs={optionsRefs}\n virtualScroll={virtualScroll}\n onScrollToBottom={onScrollToBottom}\n style={\n typeof style?.zIndex === 'number'\n ? { zIndex: style.zIndex + 1 }\n : undefined\n }\n />\n </>\n );\n};\n\nexport const Combobox = forwardRef(ComboboxRender) as ComboboxComponent;\n"],"mappings":"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"}
@@ -79,8 +79,10 @@ export declare type ComboboxProps<ITEM = DefaultItem, GROUP = DefaultGroup, MULT
79
79
  ignoreOutsideClicksRefs?: ReadonlyArray<React.RefObject<HTMLElement>>;
80
80
  }, HTMLDivElement> & (MULTIPLE extends true ? {
81
81
  selectAll?: boolean;
82
+ allSelectedAllLabel?: string;
82
83
  } : {
83
84
  selectAll?: never;
85
+ allSelectedAllLabel?: never;
84
86
  }) & (ITEM extends {
85
87
  label: DefaultItem['label'];
86
88
  } ? {} : {
@@ -157,8 +159,10 @@ export declare function withDefaultGetters<ITEM = DefaultItem, GROUP = DefaultGr
157
159
  ignoreOutsideClicksRefs?: readonly React.RefObject<HTMLElement>[] | undefined;
158
160
  } & Omit<React.HTMLAttributes<HTMLDivElement>, "css" | "placeholder" | "onFocus" | "onBlur" | "onChange" | "size" | "caption" | "form" | "label" | "view" | "status" | "name" | "disabled" | "value" | "multiple" | "required" | "inputRef" | "items" | "dropdownForm" | "ariaLabel" | "dropdownClassName" | "dropdownRef" | "isLoading" | "labelForEmptyItems" | "renderItem" | "renderValue" | "groups" | "getItemLabel" | "getItemKey" | "getItemGroupKey" | "getItemDisabled" | "getGroupLabel" | "getGroupKey" | "labelIcon" | "labelPosition" | "onScrollToBottom" | "labelForCreate" | "searchFunction" | "searchValue" | "onDropdownOpen" | "onSearchValueChange" | "dropdownOpen" | "ignoreOutsideClicksRefs" | "labelForNotFound" | "virtualScroll" | "onCreate"> & React.RefAttributes<HTMLDivElement> & (MULTIPLE extends true ? {
159
161
  selectAll?: boolean | undefined;
162
+ allSelectedAllLabel?: string | undefined;
160
163
  } : {
161
164
  selectAll?: undefined;
165
+ allSelectedAllLabel?: undefined;
162
166
  }) & (ITEM extends {
163
167
  label: string;
164
168
  } ? {} : {
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","names":["defaultGetItemKey","item","id","defaultGetItemLabel","label","defaultGetItemGroupKey","groupId","defaultGetItemDisabled","disabled","defaultGetGroupKey","group","defaultGetGroupLabel","isMultipleParams","params","multiple","isNotMultipleParams","withDefaultGetters","props","getItemLabel","getItemKey","getItemGroupKey","getItemDisabled","getGroupLabel","getGroupKey"],"sources":["../../../../../src/components/ComboboxCanary/helpers.ts"],"sourcesContent":["import { IconComponent } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport {\n PropForm,\n PropSize,\n PropStatus,\n PropView,\n RenderItemProps,\n} from '##/components/SelectComponentsCanary/types';\nimport { PropsWithHTMLAttributesAndRef } from '##/utils/types/PropsWithHTMLAttributes';\n\nexport type DefaultItem = {\n label: string;\n id: string | number;\n groupId?: string | number;\n disabled?: boolean;\n};\n\nexport type DefaultGroup = {\n label: string;\n id: string | number;\n};\n\ntype RenderValueProps<ITEM> = {\n item: ITEM;\n handleRemove?: (e: React.SyntheticEvent) => void;\n};\n\nexport type PropGetItemLabel<ITEM> = (item: ITEM) => string;\nexport type PropGetItemKey<ITEM> = (item: ITEM) => string | number;\nexport type PropGetItemGroupKey<ITEM> = (\n item: ITEM,\n) => string | number | undefined;\nexport type PropGetItemDisabled<ITEM> = (item: ITEM) => boolean | undefined;\nexport type PropGetGroupKey<GROUP> = (group: GROUP) => string | number;\nexport type PropGetGroupLabel<GROUP> = (group: GROUP) => string;\ntype PropSearchFunction<ITEM> = (item: ITEM, searchValue: string) => boolean;\ntype PropOnChange<ITEM, MULTIPLE extends boolean> = (\n value: (MULTIPLE extends true ? ITEM[] : ITEM) | null,\n props: {\n e: React.SyntheticEvent;\n },\n) => void;\ntype PropValue<ITEM, MULTIPLE extends boolean> =\n | (MULTIPLE extends true ? ITEM[] : ITEM)\n | null\n | undefined;\n\nexport type PropRenderItem<ITEM> = (\n props: RenderItemProps<ITEM>,\n) => React.ReactElement | null;\nexport type PropRenderValue<ITEM> = (\n props: RenderValueProps<ITEM>,\n) => React.ReactElement | null;\n\nexport type ComboboxProps<\n ITEM = DefaultItem,\n GROUP = DefaultGroup,\n MULTIPLE extends boolean = false,\n> = PropsWithHTMLAttributesAndRef<\n {\n items: ITEM[];\n onChange: PropOnChange<ITEM, MULTIPLE>;\n disabled?: boolean;\n form?: PropForm;\n dropdownForm?: 'default' | 'brick' | 'round';\n size?: PropSize;\n view?: PropView;\n placeholder?: string;\n ariaLabel?: string;\n status?: PropStatus;\n isLoading?: boolean;\n dropdownClassName?: string;\n dropdownRef?: React.Ref<HTMLDivElement>;\n name?: string;\n renderItem?: PropRenderItem<ITEM>;\n renderValue?: PropRenderValue<ITEM>;\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n onCreate?: (label: string, props: { e: React.SyntheticEvent }) => void;\n inputRef?: React.Ref<HTMLInputElement>;\n labelForNotFound?: string;\n required?: boolean;\n labelForCreate?: string;\n labelForEmptyItems?: string;\n searchFunction?: PropSearchFunction<ITEM>;\n searchValue?: string;\n multiple?: MULTIPLE;\n value?: PropValue<ITEM, MULTIPLE>;\n groups?: GROUP[];\n getItemLabel?: PropGetItemLabel<ITEM>;\n getItemKey?: PropGetItemKey<ITEM>;\n getItemGroupKey?: PropGetItemGroupKey<ITEM>;\n getItemDisabled?: PropGetItemDisabled<ITEM>;\n getGroupLabel?: PropGetGroupLabel<GROUP>;\n getGroupKey?: PropGetGroupKey<GROUP>;\n label?: string;\n labelIcon?: IconComponent;\n caption?: string;\n labelPosition?: 'top' | 'left';\n virtualScroll?: boolean;\n onScrollToBottom?: () => void;\n onSearchValueChange?: (value: string) => void;\n onDropdownOpen?: (isOpen: boolean) => void;\n dropdownOpen?: boolean;\n ignoreOutsideClicksRefs?: ReadonlyArray<React.RefObject<HTMLElement>>;\n },\n HTMLDivElement\n> &\n (MULTIPLE extends true\n ? {\n selectAll?: boolean;\n }\n : {\n selectAll?: never;\n }) &\n (ITEM extends { label: DefaultItem['label'] }\n ? {}\n : { getItemLabel: PropGetItemLabel<ITEM> }) &\n (ITEM extends { id: DefaultItem['id'] }\n ? {}\n : { getItemKey: PropGetItemKey<ITEM> }) &\n (GROUP extends { label: DefaultGroup['label'] }\n ? {}\n : { getGroupLabel: PropGetGroupLabel<GROUP> }) &\n (GROUP extends { id: DefaultGroup['id'] }\n ? {}\n : { getGroupKey: PropGetGroupKey<GROUP> });\n\nexport type ComboboxComponent = <\n ITEM = DefaultItem,\n GROUP = DefaultGroup,\n MULTIPLE extends boolean = false,\n>(\n props: ComboboxProps<ITEM, GROUP, MULTIPLE>,\n) => React.ReactElement | null;\n\nexport const defaultGetItemKey: PropGetItemKey<DefaultItem> = (item) => item.id;\nexport const defaultGetItemLabel: PropGetItemLabel<DefaultItem> = (item) =>\n item.label;\nexport const defaultGetItemGroupKey: PropGetItemGroupKey<DefaultItem> = (\n item,\n) => item.groupId;\nexport const defaultGetItemDisabled: PropGetItemDisabled<DefaultItem> = (\n item,\n) => item.disabled;\n\nexport const defaultGetGroupKey: PropGetGroupKey<DefaultGroup> = (group) =>\n group.id;\nexport const defaultGetGroupLabel: PropGetGroupLabel<DefaultGroup> = (group) =>\n group.label;\n\nexport const isMultipleParams = <ITEM, GROUP>(\n params: ComboboxProps<ITEM, GROUP, boolean>,\n): params is ComboboxProps<ITEM, GROUP, true> => {\n return !!params.multiple;\n};\n\nexport const isNotMultipleParams = <ITEM, GROUP>(\n params: ComboboxProps<ITEM, GROUP, boolean>,\n): params is ComboboxProps<ITEM, GROUP, false> => {\n return !params.multiple;\n};\n\nexport function withDefaultGetters<\n ITEM = DefaultItem,\n GROUP = DefaultGroup,\n MULTIPLE extends boolean = false,\n>(props: ComboboxProps<ITEM, GROUP, MULTIPLE>) {\n return {\n ...props,\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n getItemKey: props.getItemKey || defaultGetItemKey,\n getItemGroupKey: props.getItemGroupKey || defaultGetItemGroupKey,\n getItemDisabled: props.getItemDisabled || defaultGetItemDisabled,\n getGroupLabel: props.getGroupLabel || defaultGetGroupLabel,\n getGroupKey: props.getGroupKey || defaultGetGroupKey,\n };\n}\n"],"mappings":"qqBA0IA,MAAO,IAAMA,kBAA8C,CAAG,SAACC,CAAD,QAAUA,EAAI,CAACC,EAAf,CAAvD,CACP,MAAO,IAAMC,oBAAkD,CAAG,SAACF,CAAD,QAChEA,EAAI,CAACG,KAD2D,CAA3D,CAEP,MAAO,IAAMC,uBAAwD,CAAG,SACtEJ,CADsE,QAEnEA,EAAI,CAACK,OAF8D,CAAjE,CAGP,MAAO,IAAMC,uBAAwD,CAAG,SACtEN,CADsE,QAEnEA,EAAI,CAACO,QAF8D,CAAjE,CAIP,MAAO,IAAMC,mBAAiD,CAAG,SAACC,CAAD,QAC/DA,EAAK,CAACR,EADyD,CAA1D,CAEP,MAAO,IAAMS,qBAAqD,CAAG,SAACD,CAAD,QACnEA,EAAK,CAACN,KAD6D,CAA9D,CAGP,MAAO,IAAMQ,iBAAgB,CAAG,SAC9BC,CAD8B,CAEiB,CAC/C,MAAO,CAAC,CAACA,CAAM,CAACC,QACjB,CAJM,CAMP,MAAO,IAAMC,oBAAmB,CAAG,SACjCF,CADiC,CAEe,CAChD,MAAO,CAACA,CAAM,CAACC,QAChB,CAJM,CAMP,MAAO,SAASE,mBAAT,CAILC,CAJK,CAIwC,CAC7C,sCACKA,CADL,MAEEC,YAAY,CAAED,CAAK,CAACC,YAAN,EAAsBf,mBAFtC,CAGEgB,UAAU,CAAEF,CAAK,CAACE,UAAN,EAAoBnB,iBAHlC,CAIEoB,eAAe,CAAEH,CAAK,CAACG,eAAN,EAAyBf,sBAJ5C,CAKEgB,eAAe,CAAEJ,CAAK,CAACI,eAAN,EAAyBd,sBAL5C,CAMEe,aAAa,CAAEL,CAAK,CAACK,aAAN,EAAuBX,oBANxC,CAOEY,WAAW,CAAEN,CAAK,CAACM,WAAN,EAAqBd,kBAPpC,EASD"}
1
+ {"version":3,"file":"helpers.js","names":["defaultGetItemKey","item","id","defaultGetItemLabel","label","defaultGetItemGroupKey","groupId","defaultGetItemDisabled","disabled","defaultGetGroupKey","group","defaultGetGroupLabel","isMultipleParams","params","multiple","isNotMultipleParams","withDefaultGetters","props","getItemLabel","getItemKey","getItemGroupKey","getItemDisabled","getGroupLabel","getGroupKey"],"sources":["../../../../../src/components/ComboboxCanary/helpers.ts"],"sourcesContent":["import { IconComponent } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport {\n PropForm,\n PropSize,\n PropStatus,\n PropView,\n RenderItemProps,\n} from '##/components/SelectComponentsCanary/types';\nimport { PropsWithHTMLAttributesAndRef } from '##/utils/types/PropsWithHTMLAttributes';\n\nexport type DefaultItem = {\n label: string;\n id: string | number;\n groupId?: string | number;\n disabled?: boolean;\n};\n\nexport type DefaultGroup = {\n label: string;\n id: string | number;\n};\n\ntype RenderValueProps<ITEM> = {\n item: ITEM;\n handleRemove?: (e: React.SyntheticEvent) => void;\n};\n\nexport type PropGetItemLabel<ITEM> = (item: ITEM) => string;\nexport type PropGetItemKey<ITEM> = (item: ITEM) => string | number;\nexport type PropGetItemGroupKey<ITEM> = (\n item: ITEM,\n) => string | number | undefined;\nexport type PropGetItemDisabled<ITEM> = (item: ITEM) => boolean | undefined;\nexport type PropGetGroupKey<GROUP> = (group: GROUP) => string | number;\nexport type PropGetGroupLabel<GROUP> = (group: GROUP) => string;\ntype PropSearchFunction<ITEM> = (item: ITEM, searchValue: string) => boolean;\ntype PropOnChange<ITEM, MULTIPLE extends boolean> = (\n value: (MULTIPLE extends true ? ITEM[] : ITEM) | null,\n props: {\n e: React.SyntheticEvent;\n },\n) => void;\ntype PropValue<ITEM, MULTIPLE extends boolean> =\n | (MULTIPLE extends true ? ITEM[] : ITEM)\n | null\n | undefined;\n\nexport type PropRenderItem<ITEM> = (\n props: RenderItemProps<ITEM>,\n) => React.ReactElement | null;\nexport type PropRenderValue<ITEM> = (\n props: RenderValueProps<ITEM>,\n) => React.ReactElement | null;\n\nexport type ComboboxProps<\n ITEM = DefaultItem,\n GROUP = DefaultGroup,\n MULTIPLE extends boolean = false,\n> = PropsWithHTMLAttributesAndRef<\n {\n items: ITEM[];\n onChange: PropOnChange<ITEM, MULTIPLE>;\n disabled?: boolean;\n form?: PropForm;\n dropdownForm?: 'default' | 'brick' | 'round';\n size?: PropSize;\n view?: PropView;\n placeholder?: string;\n ariaLabel?: string;\n status?: PropStatus;\n isLoading?: boolean;\n dropdownClassName?: string;\n dropdownRef?: React.Ref<HTMLDivElement>;\n name?: string;\n renderItem?: PropRenderItem<ITEM>;\n renderValue?: PropRenderValue<ITEM>;\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n onCreate?: (label: string, props: { e: React.SyntheticEvent }) => void;\n inputRef?: React.Ref<HTMLInputElement>;\n labelForNotFound?: string;\n required?: boolean;\n labelForCreate?: string;\n labelForEmptyItems?: string;\n searchFunction?: PropSearchFunction<ITEM>;\n searchValue?: string;\n multiple?: MULTIPLE;\n value?: PropValue<ITEM, MULTIPLE>;\n groups?: GROUP[];\n getItemLabel?: PropGetItemLabel<ITEM>;\n getItemKey?: PropGetItemKey<ITEM>;\n getItemGroupKey?: PropGetItemGroupKey<ITEM>;\n getItemDisabled?: PropGetItemDisabled<ITEM>;\n getGroupLabel?: PropGetGroupLabel<GROUP>;\n getGroupKey?: PropGetGroupKey<GROUP>;\n label?: string;\n labelIcon?: IconComponent;\n caption?: string;\n labelPosition?: 'top' | 'left';\n virtualScroll?: boolean;\n onScrollToBottom?: () => void;\n onSearchValueChange?: (value: string) => void;\n onDropdownOpen?: (isOpen: boolean) => void;\n dropdownOpen?: boolean;\n ignoreOutsideClicksRefs?: ReadonlyArray<React.RefObject<HTMLElement>>;\n },\n HTMLDivElement\n> &\n (MULTIPLE extends true\n ? {\n selectAll?: boolean;\n allSelectedAllLabel?: string;\n }\n : {\n selectAll?: never;\n allSelectedAllLabel?: never;\n }) &\n (ITEM extends { label: DefaultItem['label'] }\n ? {}\n : { getItemLabel: PropGetItemLabel<ITEM> }) &\n (ITEM extends { id: DefaultItem['id'] }\n ? {}\n : { getItemKey: PropGetItemKey<ITEM> }) &\n (GROUP extends { label: DefaultGroup['label'] }\n ? {}\n : { getGroupLabel: PropGetGroupLabel<GROUP> }) &\n (GROUP extends { id: DefaultGroup['id'] }\n ? {}\n : { getGroupKey: PropGetGroupKey<GROUP> });\n\nexport type ComboboxComponent = <\n ITEM = DefaultItem,\n GROUP = DefaultGroup,\n MULTIPLE extends boolean = false,\n>(\n props: ComboboxProps<ITEM, GROUP, MULTIPLE>,\n) => React.ReactElement | null;\n\nexport const defaultGetItemKey: PropGetItemKey<DefaultItem> = (item) => item.id;\nexport const defaultGetItemLabel: PropGetItemLabel<DefaultItem> = (item) =>\n item.label;\nexport const defaultGetItemGroupKey: PropGetItemGroupKey<DefaultItem> = (\n item,\n) => item.groupId;\nexport const defaultGetItemDisabled: PropGetItemDisabled<DefaultItem> = (\n item,\n) => item.disabled;\n\nexport const defaultGetGroupKey: PropGetGroupKey<DefaultGroup> = (group) =>\n group.id;\nexport const defaultGetGroupLabel: PropGetGroupLabel<DefaultGroup> = (group) =>\n group.label;\n\nexport const isMultipleParams = <ITEM, GROUP>(\n params: ComboboxProps<ITEM, GROUP, boolean>,\n): params is ComboboxProps<ITEM, GROUP, true> => {\n return !!params.multiple;\n};\n\nexport const isNotMultipleParams = <ITEM, GROUP>(\n params: ComboboxProps<ITEM, GROUP, boolean>,\n): params is ComboboxProps<ITEM, GROUP, false> => {\n return !params.multiple;\n};\n\nexport function withDefaultGetters<\n ITEM = DefaultItem,\n GROUP = DefaultGroup,\n MULTIPLE extends boolean = false,\n>(props: ComboboxProps<ITEM, GROUP, MULTIPLE>) {\n return {\n ...props,\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n getItemKey: props.getItemKey || defaultGetItemKey,\n getItemGroupKey: props.getItemGroupKey || defaultGetItemGroupKey,\n getItemDisabled: props.getItemDisabled || defaultGetItemDisabled,\n getGroupLabel: props.getGroupLabel || defaultGetGroupLabel,\n getGroupKey: props.getGroupKey || defaultGetGroupKey,\n };\n}\n"],"mappings":"qqBA4IA,MAAO,IAAMA,kBAA8C,CAAG,SAACC,CAAD,QAAUA,EAAI,CAACC,EAAf,CAAvD,CACP,MAAO,IAAMC,oBAAkD,CAAG,SAACF,CAAD,QAChEA,EAAI,CAACG,KAD2D,CAA3D,CAEP,MAAO,IAAMC,uBAAwD,CAAG,SACtEJ,CADsE,QAEnEA,EAAI,CAACK,OAF8D,CAAjE,CAGP,MAAO,IAAMC,uBAAwD,CAAG,SACtEN,CADsE,QAEnEA,EAAI,CAACO,QAF8D,CAAjE,CAIP,MAAO,IAAMC,mBAAiD,CAAG,SAACC,CAAD,QAC/DA,EAAK,CAACR,EADyD,CAA1D,CAEP,MAAO,IAAMS,qBAAqD,CAAG,SAACD,CAAD,QACnEA,EAAK,CAACN,KAD6D,CAA9D,CAGP,MAAO,IAAMQ,iBAAgB,CAAG,SAC9BC,CAD8B,CAEiB,CAC/C,MAAO,CAAC,CAACA,CAAM,CAACC,QACjB,CAJM,CAMP,MAAO,IAAMC,oBAAmB,CAAG,SACjCF,CADiC,CAEe,CAChD,MAAO,CAACA,CAAM,CAACC,QAChB,CAJM,CAMP,MAAO,SAASE,mBAAT,CAILC,CAJK,CAIwC,CAC7C,sCACKA,CADL,MAEEC,YAAY,CAAED,CAAK,CAACC,YAAN,EAAsBf,mBAFtC,CAGEgB,UAAU,CAAEF,CAAK,CAACE,UAAN,EAAoBnB,iBAHlC,CAIEoB,eAAe,CAAEH,CAAK,CAACG,eAAN,EAAyBf,sBAJ5C,CAKEgB,eAAe,CAAEJ,CAAK,CAACI,eAAN,EAAyBd,sBAL5C,CAMEe,aAAa,CAAEL,CAAK,CAACK,aAAN,EAAuBX,oBANxC,CAOEY,WAAW,CAAEN,CAAK,CAACM,WAAN,EAAqBd,kBAPpC,EASD"}
@@ -15,6 +15,8 @@ export declare const DatePickerFieldTypeDateRange: React.ForwardRefExoticCompone
15
15
  endFieldRef?: React.Ref<HTMLDivElement> | undefined;
16
16
  startFieldOnFocus?: React.FocusEventHandler<HTMLElement> | undefined;
17
17
  endFieldOnFocus?: React.FocusEventHandler<HTMLElement> | undefined;
18
+ startFieldOnClick?: React.MouseEventHandler<HTMLElement> | undefined;
19
+ endFieldOnClick?: React.MouseEventHandler<HTMLElement> | undefined;
18
20
  startFieldOnBlur?: React.FocusEventHandler<HTMLElement> | undefined;
19
21
  endFieldOnBlur?: React.FocusEventHandler<HTMLElement> | undefined;
20
22
  startFocused?: boolean | undefined;
@@ -1,2 +1,2 @@
1
- import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["className","form","startFieldInputRef","startFieldLeftSide","startFieldRightSide","endFieldInputRef","endFieldLeftSide","endFieldRightSide","value","onChange","onError","startFieldName","endFieldName","disabled","size","view","status","autoFocus","placeholder","readOnly","required","tabIndex","ariaLabel","id","iconSize","format","separator","minDate","maxDate","startFieldOnBlur","startFieldOnFocus","endFieldOnBlur","endFieldOnFocus","startFieldRef","endFieldRef","startFocused","endFocused","label","labelIcon","labelPosition","caption","width","withClearButton"];import React,{forwardRef}from"react";import{FieldCaption}from"../../FieldCaption/FieldCaption";import{FieldLabel}from"../../FieldLabel/FieldLabel";import{DatePickerFieldTypeDate}from"../DatePickerFieldTypeDate/DatePickerFieldTypeDate";import{cnDatePickerMixRangeField}from"../DatePickerMixRangeField/DatePickerMixRangeField";import{getChangeFnRange}from"../getChangeFnRange";import{getFormForEnd,getFormForStart}from"../helpers";export var DatePickerFieldTypeDateRange=forwardRef(function(a,b){var c=a.className,d=a.form,e=void 0===d?"default":d,f=a.startFieldInputRef,g=a.startFieldLeftSide,h=a.startFieldRightSide,i=a.endFieldInputRef,j=a.endFieldLeftSide,k=a.endFieldRightSide,l=a.value,m=void 0===l?[]:l,n=a.onChange,o=a.onError,p=a.startFieldName,q=a.endFieldName,r=a.disabled,s=a.size,t=a.view,u=a.status,v=a.autoFocus,w=a.placeholder,x=a.readOnly,y=a.required,z=a.tabIndex,A=a.ariaLabel,B=a.id,C=a.iconSize,D=a.format,E=a.separator,F=a.minDate,G=a.maxDate,H=a.startFieldOnBlur,I=a.startFieldOnFocus,J=a.endFieldOnBlur,K=a.endFieldOnFocus,L=a.startFieldRef,M=a.endFieldRef,N=a.startFocused,O=a.endFocused,P=a.label,Q=a.labelIcon,R=a.labelPosition,S=a.caption,T=a.width,U=a.withClearButton,V=_objectWithoutProperties(a,_excluded),W={className:cnDatePickerMixRangeField("Field"),disabled:r,onError:o,size:s,view:t,status:u,autoFocus:v,placeholder:w,readOnly:x,required:y,tabIndex:z,ariaLabel:A,iconSize:C,format:D,separator:E,minDate:F,maxDate:G,withClearButton:U},X=getChangeFnRange(n,o,m),Y=_slicedToArray(X,2),Z=Y[0],$=Y[1];return React.createElement("div",Object.assign({},V,{className:cnDatePickerMixRangeField({view:t,labelPosition:R,width:T,size:s},[c]),ref:b}),P&&React.createElement(FieldLabel,{required:y,as:"label",className:cnDatePickerMixRangeField("Label",{labelPosition:R}),size:s,htmlFor:B,icon:Q},P),React.createElement("div",{className:cnDatePickerMixRangeField("Body")},React.createElement("div",{className:cnDatePickerMixRangeField("Fields")},React.createElement(DatePickerFieldTypeDate,Object.assign({},W,{inputRef:f,ref:L,leftSide:g,rightSide:h,form:getFormForStart(e),value:null===m||void 0===m?void 0:m[0],id:B,onChange:Z,onFocus:I,onBlur:H,focused:N,name:p})),React.createElement(DatePickerFieldTypeDate,Object.assign({},W,{name:q,inputRef:i,ref:M,leftSide:j,rightSide:k,form:getFormForEnd(e),value:null===m||void 0===m?void 0:m[1],onChange:$,onFocus:K,onBlur:J,focused:O}))),S&&React.createElement(FieldCaption,{className:cnDatePickerMixRangeField("Caption"),status:u},S)))});
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["className","form","startFieldInputRef","startFieldLeftSide","startFieldRightSide","endFieldInputRef","endFieldLeftSide","endFieldRightSide","value","onChange","onError","startFieldName","endFieldName","disabled","size","view","status","autoFocus","placeholder","readOnly","required","tabIndex","ariaLabel","id","iconSize","format","separator","minDate","maxDate","startFieldOnClick","startFieldOnBlur","startFieldOnFocus","endFieldOnBlur","endFieldOnClick","endFieldOnFocus","startFieldRef","endFieldRef","startFocused","endFocused","label","labelIcon","labelPosition","caption","width","withClearButton"];import React,{forwardRef}from"react";import{FieldCaption}from"../../FieldCaption/FieldCaption";import{FieldLabel}from"../../FieldLabel/FieldLabel";import{DatePickerFieldTypeDate}from"../DatePickerFieldTypeDate/DatePickerFieldTypeDate";import{cnDatePickerMixRangeField}from"../DatePickerMixRangeField/DatePickerMixRangeField";import{getChangeFnRange}from"../getChangeFnRange";import{getFormForEnd,getFormForStart}from"../helpers";export var DatePickerFieldTypeDateRange=forwardRef(function(a,b){var c=a.className,d=a.form,e=void 0===d?"default":d,f=a.startFieldInputRef,g=a.startFieldLeftSide,h=a.startFieldRightSide,i=a.endFieldInputRef,j=a.endFieldLeftSide,k=a.endFieldRightSide,l=a.value,m=void 0===l?[]:l,n=a.onChange,o=a.onError,p=a.startFieldName,q=a.endFieldName,r=a.disabled,s=a.size,t=a.view,u=a.status,v=a.autoFocus,w=a.placeholder,x=a.readOnly,y=a.required,z=a.tabIndex,A=a.ariaLabel,B=a.id,C=a.iconSize,D=a.format,E=a.separator,F=a.minDate,G=a.maxDate,H=a.startFieldOnClick,I=a.startFieldOnBlur,J=a.startFieldOnFocus,K=a.endFieldOnBlur,L=a.endFieldOnClick,M=a.endFieldOnFocus,N=a.startFieldRef,O=a.endFieldRef,P=a.startFocused,Q=a.endFocused,R=a.label,S=a.labelIcon,T=a.labelPosition,U=a.caption,V=a.width,W=a.withClearButton,X=_objectWithoutProperties(a,_excluded),Y={className:cnDatePickerMixRangeField("Field"),disabled:r,onError:o,size:s,view:t,status:u,autoFocus:v,placeholder:w,readOnly:x,required:y,tabIndex:z,ariaLabel:A,iconSize:C,format:D,separator:E,minDate:F,maxDate:G,withClearButton:W},Z=getChangeFnRange(n,o,m),$=_slicedToArray(Z,2),_=$[0],aa=$[1];return React.createElement("div",Object.assign({},X,{className:cnDatePickerMixRangeField({view:t,labelPosition:T,width:V,size:s},[c]),ref:b}),R&&React.createElement(FieldLabel,{required:y,as:"label",className:cnDatePickerMixRangeField("Label",{labelPosition:T}),size:s,htmlFor:B,icon:S},R),React.createElement("div",{className:cnDatePickerMixRangeField("Body")},React.createElement("div",{className:cnDatePickerMixRangeField("Fields")},React.createElement(DatePickerFieldTypeDate,Object.assign({},Y,{inputRef:f,ref:N,leftSide:g,rightSide:h,form:getFormForStart(e),value:null===m||void 0===m?void 0:m[0],id:B,onClick:H,onChange:_,onFocus:J,onBlur:I,focused:P,name:p})),React.createElement(DatePickerFieldTypeDate,Object.assign({},Y,{name:q,inputRef:i,ref:O,leftSide:j,rightSide:k,form:getFormForEnd(e),value:null===m||void 0===m?void 0:m[1],onClick:L,onChange:aa,onFocus:M,onBlur:K,focused:Q}))),U&&React.createElement(FieldCaption,{className:cnDatePickerMixRangeField("Caption"),status:u},U)))});
2
2
  //# sourceMappingURL=DatePickerFieldTypeDateRange.js.map